Index: /README
===================================================================
--- /README	(revision 2)
+++ /README	(revision 2)
@@ -0,0 +1,9 @@
+Welcome to my repository. The repository is structured based on subject (and
+possible sub-subject).
+
+= Directory layout =
+
+cv      =   curiculum vitae
+liacs   =   assigments of subjects at LIACS - Leiden University
+
+
Index: /cv/Makefile
===================================================================
--- /cv/Makefile	(revision 2)
+++ /cv/Makefile	(revision 2)
@@ -0,0 +1,11 @@
+all: rickvanderzwet-cv.pdf
+
+%.pdf: %.tex
+	pdflatex $<
+
+clean:
+	rm -f *.aux *.log *.out
+
+dist-clean: clean
+	rm -f *.pdf
+
Index: /cv/moderncv.cls
===================================================================
--- /cv/moderncv.cls	(revision 2)
+++ /cv/moderncv.cls	(revision 2)
@@ -0,0 +1,461 @@
+%% start of file `moderncv.cls'.
+%% Copyright 2007 Xavier Danaux (xdanaux@gmail.com).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+%                identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{moderncv}[2007/05/28 v0.6 modern curriculum vitae document class]
+
+
+%-------------------------------------------------------------------------------
+%                debugging
+%-------------------------------------------------------------------------------
+\newif\if@DEBUG\@DEBUGfalse
+
+
+%-------------------------------------------------------------------------------
+%                class options
+%
+% (need to be done before the external package loading, for example because
+% we need \paperwidth, \paperheight and \@ptsize to be defined before loading
+% geometry and fancyhdr)
+%-------------------------------------------------------------------------------
+% paper size option
+\DeclareOption{a4paper}{
+  \setlength\paperheight{297mm}
+  \setlength\paperwidth{210mm}}
+\DeclareOption{a5paper}{
+  \setlength\paperheight{210mm}
+  \setlength\paperwidth{148mm}}
+\DeclareOption{b5paper}{
+  \setlength\paperheight{250mm}
+  \setlength\paperwidth{176mm}}
+\DeclareOption{letterpaper}{
+  \setlength\paperheight{11in}
+  \setlength\paperwidth{8.5in}}
+\DeclareOption{legalpaper}{
+  \setlength\paperheight{14in}
+  \setlength\paperwidth{8.5in}}
+\DeclareOption{executivepaper}{
+  \setlength\paperheight{10.5in}
+  \setlength\paperwidth{7.25in}}
+\DeclareOption{landscape}{
+  \setlength\@tempdima{\paperheight}
+  \setlength\paperheight{\paperwidth}
+  \setlength\paperwidth{\@tempdima}}
+
+% font size options
+\newcommand\@ptsize{}
+\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
+\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
+\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
+
+% draft/final option
+\DeclareOption{draft}{\setlength\overfullrule{5pt}}
+\DeclareOption{final}{\setlength\overfullrule{0pt}}
+
+% nolmodern option
+\newif\if@lmodern\@lmoderntrue
+\DeclareOption{nolmodern}{\@lmodernfalse}
+
+% nocolor option
+\newif\if@color\@colortrue
+\DeclareOption{nocolor}{\@colorfalse}
+
+% execute default options
+\ExecuteOptions{a4paper,11pt,color,final}
+
+% process given options
+\ProcessOptions\relax
+\input{size1\@ptsize.clo}
+
+
+%-------------------------------------------------------------------------------
+%                required packages
+%-------------------------------------------------------------------------------
+% ifthen package
+\RequirePackage{ifthen}
+
+% ifpdf package
+\RequirePackage{ifpdf}
+
+% color package
+\ifpdf
+  \RequirePackage[pdftex]{color}
+\else
+  \RequirePackage[dvips]{color}
+\fi
+
+% fontenc package
+\RequirePackage[T1]{fontenc}
+
+% scalable Computer Modern fonts
+%\usepackage{type1cm}
+
+% latin modern fonts
+\AtEndOfClass{%
+  \if@lmodern
+    \RequirePackage{lmodern}\fi}
+
+% symbols like \Telefon, \Mobilefone, \Letter and \Email
+\RequirePackage{marvosym}
+
+% extended characters of T1 in .ps + other guillemets
+%\RequirePackage{ae,aecompl,aeguill}
+
+% page geometry
+\addtolength{\oddsidemargin}{-54pt}
+\addtolength{\textwidth}{109pt}
+\addtolength{\topmargin}{-70pt}
+\addtolength{\textheight}{122pt}
+\addtolength{\marginparsep}{-5pt}
+\addtolength{\marginparwidth}{-10pt}
+
+% hyperrefs
+\RequirePackage{url}
+\ifpdf
+  \RequirePackage[pdftex]{hyperref}
+\else
+  \RequirePackage[dvips]{hyperref}\fi
+\AtEndOfClass{%
+  \AtBeginDocument{%
+    \hypersetup{%
+      breaklinks,
+      baseurl       = http://,
+      pdfborder     = 0 0 0,
+      pdfpagemode   = None,
+      pdfstartview  = XYZ,
+      pdfstartpage  = 1,
+      pdfauthor     = \@firstname~\@familyname,%
+      pdftitle      = \@title,%
+      pdfsubject    = \@firstname~\@familyname,%
+      pdfkeywords   = \@firstname~\@familyname{} curriculum vit\ae{},%
+      pdfcreator    = \LaTeX{} with `moderncv' package,%
+      pdfproducer   = \LaTeX}}}
+\urlstyle{tt}
+
+% tables that split across multiple pages
+\RequirePackage[]{longtable}
+% spacing between sections
+\setlength{\LTpre}{\smallskipamount}
+\setlength{\LTpost}{\smallskipamount}
+\setlength{\LTleft}{0pt}
+\setlength{\LTright}{0pt}
+
+% graphics
+\ifpdf
+  \RequirePackage[pdftex]{graphicx}
+\else
+  \RequirePackage[dvips]{graphicx}\fi
+
+% headers and footers
+\usepackage{fancyhdr}
+\fancypagestyle{plain}{%
+  \renewcommand{\headrulewidth}{0pt}
+  \renewcommand{\footrulewidth}{0pt}
+  \fancyhf{}}
+\pagestyle{plain}
+
+% compatibility package with older versions of moderncv
+\RequirePackageWithOptions{moderncvcompatibility}
+
+
+%-------------------------------------------------------------------------------
+%                class definition
+%-------------------------------------------------------------------------------
+% minimal base settings
+\setlength\lineskip{1\p@}
+\setlength\normallineskip{1\p@}
+\renewcommand\baselinestretch{}
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{0pt}
+\setlength\columnsep{10\p@}
+\setlength\columnseprule{0\p@}
+\pagestyle{empty}
+\pagenumbering{arabic}
+\raggedbottom
+\onecolumn
+
+
+%-------------------------------------------------------------------------------
+%                style commands definitions
+%-------------------------------------------------------------------------------
+% symbols used 
+\providecommand*{\listitemsymbol}{\textbullet}
+\providecommand*{\addresssymbol}{}
+\providecommand*{\mobilesymbol}{\Mobilefone}
+\providecommand*{\phonesymbol}{\Telefon}
+\providecommand*{\faxsymbol}{\FAX}
+\providecommand*{\emailsymbol}{\Letter}
+
+% colors
+\definecolor{firstnamecolor}{rgb}{0,0,0}
+\definecolor{familynamecolor}{rgb}{0,0,0}
+\definecolor{titlecolor}{rgb}{0,0,0}
+\definecolor{addresscolor}{rgb}{0,0,0}
+\definecolor{quotecolor}{rgb}{0,0,0}
+\definecolor{sectionrectanglecolor}{rgb}{0,0,0}
+\definecolor{sectiontitlecolor}{rgb}{0,0,0}
+\definecolor{subsectioncolor}{rgb}{0,0,0}
+\definecolor{hintcolor}{rgb}{0,0,0}
+
+% fonts
+\providecommand*{\firstnamefont}{}
+\providecommand*{\familynamefont}{}
+\providecommand*{\titlefont}{}
+\providecommand*{\addressfont}{}
+\providecommand*{\quotefont}{}
+\providecommand*{\sectionfont}{}
+\providecommand*{\subsectionfont}{}
+\providecommand*{\hintfont}{\small\sffamily}
+
+% styles
+\providecommand*{\firstnamestyle}[1]{{\firstnamefont\color{firstnamecolor}#1}}
+\providecommand*{\familynamestyle}[1]{{\familynamefont\color{familynamecolor}#1}}
+\providecommand*{\titlestyle}[1]{{\titlefont\color{titlecolor}#1}}
+\providecommand*{\addresstyle}[1]{{\addressfont\color{addresscolor}#1}}
+\providecommand*{\quotestyle}[1]{{\quotefont\color{quotecolor}#1}}
+\providecommand*{\sectionstyle}[1]{{\sectionfont\color{sectiontitlecolor}#1}}
+\providecommand*{\subsectionstyle}[1]{{\subsectionfont\color{subsectioncolor}#1}}
+\providecommand*{\hintstyle}[1]{{\hintfont\color{hintcolor}#1}}
+
+% themes: casual (default), classic, ...
+\newcommand*{\moderncvtheme}[2][]{
+  \def\@moderncvtheme{#2}
+  \def\@moderncvthemeoptions{#1}}
+\moderncvtheme{casual}   % default theme
+\AtBeginDocument{\RequirePackage[\@moderncvthemeoptions]{moderncvtheme\@moderncvtheme}}
+
+
+%-------------------------------------------------------------------------------
+%                structure commands definitions
+%-------------------------------------------------------------------------------
+\newcommand*{\firstname}[1]{\def\@firstname{#1}}
+\newcommand*{\familyname}[1]{\def\@familyname{#1}}
+\renewcommand*{\title}[1]{\def\@title{#1}}
+\newcommand*{\address}[2]{\def\@addressstreet{#1}\def\@addresscity{#2}}
+\newcommand*{\mobile}[1]{\def\@mobile{#1}}
+\newcommand*{\phone}[1]{\def\@phone{#1}}
+\renewcommand*{\fax}[1]{\def\@fax{#1}}
+\newcommand*{\email}[1]{\def\@email{#1}}
+\newcommand*{\extrainfo}[1]{\def\@extrainfo{#1}}
+\newcommand*{\photo}[2][64pt]{\def\@photoheight{#1}\def\@photo{#2}}
+\newcommand*{\quote}[1]{\def\@quote{#1}}
+
+% length used by the moderncv layout
+% quote length
+\newlength{\quotewidth}
+% section lengths
+\newlength{\hintscolumnwidth}
+\newlength{\separatorcolumnwidth}
+\setlength{\separatorcolumnwidth}{0.025\textwidth}
+\newlength{\maincolumnwidth}
+\newcommand*{\sethintscolumnlength}[1]{
+  \setlength{\hintscolumnwidth}{#1}%
+  \setlength{\maincolumnwidth}{\textwidth}%
+  \addtolength{\maincolumnwidth}{-\separatorcolumnwidth}%
+  \addtolength{\maincolumnwidth}{-\hintscolumnwidth}}
+\newcommand*{\sethintscolumntowidth}[1]{
+  \settowidth{\hintscolumnwidth}{#1}%
+  \setlength{\maincolumnwidth}{\textwidth}%
+  \addtolength{\maincolumnwidth}{-\separatorcolumnwidth}%
+  \addtolength{\maincolumnwidth}{-\hintscolumnwidth}}
+% doubleitem lengths
+\newlength{\doubleitemmaincolumnwidth}
+% listitem lengths
+\newlength{\listitemsymbolwidth}
+\settowidth{\listitemsymbolwidth}{\listitemsymbol{}~}
+% listdoubleitem lengths
+\newlength{\listdoubleitemmaincolumnwidth}
+% recompute all the lengths that depends on the text width
+\newcommand*{\recomputelengths}{%
+  \setlength{\quotewidth}{0.65\textwidth}%
+  \sethintscolumnlength{\hintscolumnwidth}%
+  % doubleitem lengths
+  \setlength{\doubleitemmaincolumnwidth}{\maincolumnwidth}%
+  \addtolength{\doubleitemmaincolumnwidth}{-\hintscolumnwidth}%
+  \addtolength{\doubleitemmaincolumnwidth}{-\separatorcolumnwidth}%
+  \setlength{\doubleitemmaincolumnwidth}{0.5\doubleitemmaincolumnwidth}%
+  % listdoubleitem lengths
+  \setlength{\listdoubleitemmaincolumnwidth}{\maincolumnwidth}%
+  \addtolength{\listdoubleitemmaincolumnwidth}{-\listitemsymbolwidth}%
+  \setlength{\listdoubleitemmaincolumnwidth}{0.475\listdoubleitemmaincolumnwidth}%
+  % fancyhdr lengths
+  \renewcommand{\headwidth}{\textwidth}}
+\sethintscolumnlength{0.15\textwidth}
+\recomputelengths
+
+% makes the cv title
+\renewcommand*{\maketitle}{}%
+
+% draws a colored rectangle
+% usage: \colorrule[optional height]{width}
+%\newcommand*{\colorrule}[2][1ex]{{\color{sectionrectanglecolor}{\rule{#2}{#1}}}}
+
+\newif\if@sectionopen\@sectionopenfalse
+\newif\if@firstcvlineofsection\@firstcvlineofsectionfalse % bug if initially set to true...
+% usage: \closesection{} to force a section to be closed (and the tabular layout it generates)
+\newcommand*{\closesection}{%
+  \if@sectionopen%
+    \end{longtable}%
+%    \phantomsection% reset the anchor for hyperrefs
+%    \par\null%
+    \@sectionopenfalse\fi}
+\AtEndDocument{\closesection{}}
+% usage: \section{<title>}, or \emptysection{}
+\newcommand*{\section}[1]{%
+  \closesection{}%
+  \@sectionopentrue%
+  \phantomsection{}% reset the anchor for hyperrefs
+  \addcontentsline{toc}{part}{#1}%
+  \begin{longtable}[l]{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
+  {\color{sectionrectanglecolor}\rule{\hintscolumnwidth}{1ex}} &\sectionstyle{#1}\\[1ex]%
+  \@firstcvlineofsectiontrue%
+  }
+\newcommand*{\emptysection}{%
+  \closesection{}%
+  \@sectionopentrue%
+  \begin{longtable}[l]{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
+  \@firstcvlineofsectiontrue%
+  }
+
+% usage (inside section): \subsection{title}
+\newcommand*{\subsection}[1]{%
+  \cvline[0.65em]{}{\subsectionstyle{#1}}}
+
+% usage (inside section): \cvline{leftmark}{text}
+\newcommand*{\cvline}[3][.25em]{%
+  \if@firstcvlineofsection%
+    \@firstcvlineofsectionfalse%
+  \else%
+    \\[#1]\fi%
+  \raggedleft\hintfont{#2} &#3}
+
+% usage (inside section}: \cvdoubleitem{subtitle}{text}{subtitle}{text}
+\newcommand*{\cvdoubleitem}[4]{%
+ \cvline{#1}{\begin{minipage}[t]{\doubleitemmaincolumnwidth}#2\end{minipage}%
+ \hfill%
+ \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintfont{#3}\end{minipage}\hspace*{\separatorcolumnwidth}\begin{minipage}[t]{\doubleitemmaincolumnwidth}#4\end{minipage}}}
+
+% usage (inside section): \cvlistitem{point1}
+\newcommand*{\cvlistitem}[2][\listitemsymbol{}]{%
+  \cvline[0pt]{}{#1~#2}}
+
+% usage (inside section): \cvlistdoubleitem{point1}{point2}
+\newcommand*{\cvlistdoubleitem}[3][\listitemsymbol{}]{%
+  \cvline[0pt]{}{#1~\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#2\end{minipage}%
+  \hfill%
+  \ifthenelse{\equal{#3}{}}%
+    {}%
+    {#1~\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#3\end{minipage}}}}
+
+% usage : \cventry{years}{degree/job title}{institution/employer}{localization}{optionnal: grade/...}{optional: comment/job description}
+\newcommand*{\cventry}[6]{%
+  \cvline{#1}{%
+    {\bfseries#2}%
+    \ifthenelse{\equal{#3}{}}{}{, {\slshape#3}}%
+    \ifthenelse{\equal{#4}{}}{}{, #4}%
+    \ifthenelse{\equal{#5}{}}{}{, #5}%
+    .%
+    \ifthenelse{\equal{#6}{}}{}{\newline{}\small#6}
+    }}%
+%  \ifthenelse{\equal{#6}{}}{}{\cvline[0pt]{}{\small#6}}}
+
+% usage (inside 'language' cvsection environment): \cvlanguage{name}{level}{comment}
+\newcommand*{\cvlanguage}[3]{%
+  \cvline{#1}{\begin{minipage}[t]{.225\maincolumnwidth}\textbf{#2}\end{minipage}\hfill\begin{minipage}[t]{0.725\maincolumnwidth}\raggedleft\footnotesize\itshape #3\end{minipage}}}
+
+% usage (inside 'computer skills' cvsection environment): \cvcomputer{category}{programs}{category}{programs}
+\newcommand*{\cvcomputer}[4]{%
+  \cvdoubleitem{#1}{\small#2}{#3}{\small#4}}
+
+% usage: \weblink[optional text]{link}
+\newcommand*{\weblink}[2][]{%
+  \ifthenelse{\equal{#1}{}}%
+    {\def\@linktext{#2}}%
+    {\def\@linktext{#1}}%
+  \href{#2}{\@linktext{}}}
+
+% usage: \httplink[optional text]{link}
+\newcommand*{\httplink}[2][]{%
+  \ifthenelse{\equal{#1}{}}%
+    {\def\@linktext{#2}}%
+    {\def\@linktext{#1}}%
+  \href{http://#2}{\@linktext{}}}
+
+% usage: \emaillink[optional text]{link}
+\newcommand*{\emaillink}[2][]{%
+  \ifthenelse{\equal{#1}{}}%
+    {\def\@linktext{#2}}%
+    {\def\@linktext{#1}}%
+  \href{mailto:#2}{\@linktext{}}}
+
+% usage: \nopagenumbers{}
+\newif\if@displaypagenumbers\@displaypagenumberstrue
+\newcommand*{\nopagenumbers}{\@displaypagenumbersfalse}
+\AtBeginDocument{%
+  \if@displaypagenumbers%
+    \@ifundefined{r@lastpage}{}{%
+      \ifthenelse{\pageref{lastpage} > 1}{%
+      \fancypagestyle{plain}{%
+        \fancyfoot[r]{\addressfont\color{quotecolor}\footnotesize\thepage/\pageref{lastpage}}}%
+      \pagestyle{plain}}{}}%
+  \AtEndDocument{\label{lastpage}}%
+  \fi}
+
+% thebibliography environment, for use with BibTeX
+\newcommand{\refname}{Publications}
+\newlength{\bibindent}
+\setlength{\bibindent}{1.5em}
+% trick to force the previous section to close before the thebibliography environment
+\let\oldbibliography\bibliography
+\renewcommand*{\bibliography}[1]{%
+  \closesection{}%
+  \oldbibliography{#1}}
+% bibliography item label
+\newcommand*{\bibliographyitemlabel}{}% use \@biblabel{\arabic{enumiv}} for BibTeX labels
+\newenvironment{thebibliography}[1]%
+  {%
+    \section{\refname}%
+    \closesection{}%
+    \vspace*{-1.65em}%
+    \small%
+    \begin{list}{\bibliographyitemlabel}%
+      {%
+        \setlength{\topsep}{0pt}%
+        \setlength{\labelwidth}{\hintscolumnwidth}%
+        \setlength{\labelsep}{\separatorcolumnwidth}%
+        \leftmargin\labelwidth%
+        \advance\leftmargin\labelsep%
+        \@openbib@code%
+        \usecounter{enumiv}%
+        \let\p@enumiv\@empty%
+        \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+        \sloppy\clubpenalty4000\widowpenalty4000%
+%        \sfcode`\.\@m%
+%        \sfcode `\=1000\relax%
+  }%
+  {%
+    \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
+    \end{list}%
+  }
+\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
+\let\@openbib@code\@empty
+
+% the classical \today definition
+\def\today{\ifcase\month\or
+  January\or February\or March\or April\or May\or June\or
+  July\or August\or September\or October\or November\or December\fi
+  \space\number\day, \number\year}
+
+
+\endinput
+
+
+%% end of file `moderncv.cls'.
Index: /cv/moderncvthemecasual.sty
===================================================================
--- /cv/moderncvthemecasual.sty	(revision 2)
+++ /cv/moderncvthemecasual.sty	(revision 2)
@@ -0,0 +1,153 @@
+%% start of file `moderncvthemecasual.sty'.
+%% Copyright 2007 Xavier Danaux (xdanaux@gmail.com).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+%-------------------------------------------------------------------------------
+%                identification
+%-------------------------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{moderncvthemecasual}[2007/05/28 v0.6 modern curriculum vitae style: casual]
+
+
+%-------------------------------------------------------------------------------
+%                required packages
+%-------------------------------------------------------------------------------
+
+
+%-------------------------------------------------------------------------------
+%                package options
+%-------------------------------------------------------------------------------
+% color options
+% blue (default option)
+\DeclareOption{blue}{}
+% orange
+\newif\if@colororange\@colororangefalse
+\DeclareOption{orange}{\@colororangetrue}
+% green
+\newif\if@colorgreen\@colorgreenfalse
+\DeclareOption{green}{\@colorgreentrue}
+% red
+\newif\if@colorred\@colorredfalse
+\DeclareOption{red}{\@colorredtrue}
+% grey
+\newif\if@colorgrey\@colorgreyfalse
+\DeclareOption{grey}{\@colorgreytrue}
+
+% roman option
+\newif\if@roman\@romanfalse
+\DeclareOption{roman}{\@romantrue}
+
+% unused options
+\DeclareOption*{
+  \PackageWarning{moderncvthemecasual}{Unknown option â\CurrentOptionâ}}
+
+% execute default options
+\ExecuteOptions{color}
+
+% process given options
+\ProcessOptions\relax
+
+
+%-------------------------------------------------------------------------------
+%                style definition
+%-------------------------------------------------------------------------------
+% symbols used
+\renewcommand*{\listitemsymbol}{\textbullet}
+
+% colors
+\definecolor{firstnamecolor}{rgb}{0.65,0.65,0.65}
+\definecolor{familynamecolor}{rgb}{0.45,0.45,0.45}
+\definecolor{quotecolor}{rgb}{0.35,0.35,0.35}
+\definecolor{addresscolor}{rgb}{0.35,0.35,0.35}
+% default blue color
+  \definecolor{sectionrectanglecolor}{rgb}{0.25,0.50,0.75}
+  \definecolor{sectiontitlecolor}{rgb}{0.20,0.40,0.65}
+  \definecolor{subsectioncolor}{rgb}{0.20,0.40,0.65}
+  \definecolor{footersymbolcolor}{rgb}{0.25,0.50,0.75}
+\if@colororange
+  \definecolor{sectionrectanglecolor}{rgb}{1.00,0.65,0.20}
+  \definecolor{sectiontitlecolor}{rgb}{0.95,0.55,0.15}
+  \definecolor{subsectioncolor}{rgb}{0.95,0.55,0.15}
+  \definecolor{footersymbolcolor}{rgb}{0.95,0.55,0.15}\fi
+\if@colorgreen
+  \definecolor{sectionrectanglecolor}{rgb}{0.55,0.85,0.35}
+  \definecolor{sectiontitlecolor}{rgb}{0.30,0.65,0.15}
+  \definecolor{subsectioncolor}{rgb}{0.30,0.65,0.15}
+  \definecolor{footersymbolcolor}{rgb}{0.30,0.65,0.15}\fi
+\if@colorred
+  \definecolor{sectionrectanglecolor}{rgb}{1.00,0.30,0.30}
+  \definecolor{sectiontitlecolor}{rgb}{0.95,0.20,0.20}
+  \definecolor{subsectioncolor}{rgb}{0.95,0.20,0.20}
+  \definecolor{footersymbolcolor}{rgb}{0.95,0.20,0.20}\fi
+\if@colorgrey
+  \definecolor{sectionrectanglecolor}{rgb}{0.75,0.75,0.75}
+  \definecolor{sectiontitlecolor}{rgb}{0.35,0.35,0.35}
+  \definecolor{subsectioncolor}{rgb}{0.35,0.35,0.35}
+  \definecolor{footersymbolcolor}{rgb}{0.35,0.35,0.35}\fi
+
+% fonts
+\if@roman
+  \AtBeginDocument{\rmfamily}
+\else
+  \AtBeginDocument{\sffamily}\fi
+\renewcommand*{\ttdefault}{pcr}
+\renewcommand*{\firstnamefont}{\fontsize{38}{40}\sffamily\mdseries\upshape}
+\renewcommand*{\familynamefont}{\firstnamefont}
+\renewcommand*{\addressfont}{\normalsize\sffamily\mdseries\slshape}
+\renewcommand*{\quotefont}{\large\slshape}
+\renewcommand*{\sectionfont}{\Large\sffamily\mdseries\upshape}
+\renewcommand*{\subsectionfont}{\large\sffamily\mdseries\upshape}
+
+% styles
+
+% maketitle
+\renewcommand*{\maketitle}{%
+  {%
+    \ifthenelse{\isundefined{\@photo}}%
+      {}%
+      {{\color{firstnamecolor}\framebox{\includegraphics[height=\@photoheight]{\@photo}}}}%
+    \hfill%
+    \raggedleft{\firstnamestyle{\MakeLowercase{\@firstname}}\familynamestyle{\MakeLowercase{\@familyname}}}\\[-.35em]}%
+  {\color{firstnamecolor}\rule{\textwidth}{.25ex}\\[2.5em]}%
+% optional quote
+  \ifthenelse{\isundefined{\@quote}}%
+    {}%
+    {\centering{\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}}\\[2.5em]}%
+  }%
+
+% cv footer
+\newif\if@firstfooterelement\@firstfooterelementtrue
+\providecommand*{\footersymbol}{}
+\renewcommand*{\footersymbol}{%
+  \if@firstfooterelement%
+  \else%
+    { ~~\color{footersymbolcolor}\textbullet~~~}\fi}
+\providecommand*{\makefooter}{}
+\renewcommand*{\makefooter}{%
+  \fancypagestyle{plain}{%
+    \fancyfoot[c]{%
+      \parbox{0.8\textwidth}{%
+      \centering%
+      \addressfont\color{addresscolor}%
+      \ifthenelse{\isundefined{\@addressstreet}}{}{%
+        \addresssymbol~\@addressstreet%
+        \@firstfooterelementfalse%
+        \ifthenelse{\isundefined{\@addresscity}}{}{\footersymbol\@addresscity}\\\@firstfooterelementtrue}%
+      \ifthenelse{\isundefined{\@mobile}}{}{\footersymbol\mobilesymbol~\@mobile\@firstfooterelementfalse}%
+      \ifthenelse{\isundefined{\@phone}}{}{\footersymbol\phonesymbol~\@phone\@firstfooterelementfalse}%
+      \ifthenelse{\isundefined{\@fax}}{}{\footersymbol\faxsymbol~\@fax\@firstfooterelementfalse}%
+      \ifthenelse{\isundefined{\@email}}{}{\footersymbol\emailsymbol~\emaillink{\@email}\@firstfooterelementfalse}%
+      \ifthenelse{\isundefined{\@extrainfo}}{}{\footersymbol\@extrainfo\@firstfooterelementfalse}}}%
+  }%
+  \pagestyle{plain}}
+\AtBeginDocument{\makefooter}
+
+
+\endinput
+
+
+%% end of file `moderncvthemecasual.sty'.
Index: /cv/rickvanderzwet-cv.tex
===================================================================
--- /cv/rickvanderzwet-cv.tex	(revision 2)
+++ /cv/rickvanderzwet-cv.tex	(revision 2)
@@ -0,0 +1,130 @@
+%% start of file `template_en.tex'.
+%% Copyright 2007 Xavier Danaux (xdanaux@gmail.com).
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License version 1.3c,
+% available at http://www.latex-project.org/lppl/.
+
+
+\documentclass[11pt,a4paper]{moderncv}
+\usepackage{datetime}
+
+% moderncv themes
+\moderncvtheme[green]{casual}                 % optional argument are 'blue' (default), 'orange', 'red', 'green', 'grey' and 'roman' (for roman fonts, instead of sans serif fonts)
+%\moderncvtheme[green]{classic}                % idem
+
+% character encoding
+\usepackage[utf8]{inputenc}                   % replace by the encoding you are using
+
+% adjust the page margins
+\usepackage[scale=0.8]{geometry}
+\recomputelengths                             % required when changes are made to page layout lengths
+
+% personal data
+\firstname{Rick}
+\familyname{van der Zwet}
+%\title{ResumÃ© title (optional)}               % optional, remove the line if not wanted
+\address{Brahmslaan 40}{2324 AN Leiden, The Netherlands}    % optional, remove the line if not wanted
+\mobile{06-1700 2978}                    % optional, remove the line if not wanted
+\phone{071-889 3519}                      % optional, remove the line if not wanted
+%\fax{fax (optional)}                          % optional, remove the line if not wanted
+\email{info@rickvanderzwet.nl}                      % optional, remove the line if not wanted
+\extrainfo{http://rickvanderzwet.nl} % optional, remove the line if not wanted
+\photo[64pt]{rickvanderzwet}                         % '64pt' is the height the picture must be resized to and 'picture' is the name of the picture file; optional, remove the line if not wanted
+\quote{Innovation by integration}                 % optional, remove the line if not wanted
+
+%\nopagenumbers{}                             % uncomment to suppress automatic page numbering for CVs longer than one page
+
+
+%----------------------------------------------------------------------------------
+%            content
+%----------------------------------------------------------------------------------
+\begin{document}
+\maketitle
+
+\section{Education}
+\cventry{2001--current}{Computer Science}{Leiden University}{Leiden}{}{Bachelor}  % arguments 3 to 6 are optional
+\cventry{2000--2001}{Electric Engineering}{TU Delft}{Delft}{}{}  % arguments 3 to 6 are optional
+\cventry{1995--2001}{VWO}{Vlietland College}{Leiden}{}{Profile Natuur \& Techniek (Nature \& Science)}  % arguments 3 to 6 are optional
+
+
+\section{Experience}
+\subsection{Jobs}
+\cventry{2009--current}{System Administrator}{TransIP B.V.}{Leiden}{}{I am
+responsible for IT systems and hardware running FreeBSD for internal use and
+external use. Also making sure that a 240 racks datacentre is well organised
+and in control}
+
+\cventry{2008--2009}{System Administration Manager}{Joost Technologies
+B.V.}{Leiden}{}{I am responsible for internal facing IT systems and hardware
+-running various operating systems like FreeBSD, Ubuntu, Windows Server- with
+primary focus towards the user (employee) improvement, leading a team of 6
+people. Using a partial ITIL implementation I managed to get more
+user satisfaction, with regards to IT systems}
+
+\cventry{2006--2008}{System Administrator}{Joost Technologies B.V.}{Leiden}{}{I
+was responsible -together with my colleagues- for the initial setup of Joost
+internal IT support infrastructure in three offices. My focus was implementing
+mail \& web services running on FreeBSD/Ubuntu servers and network
+infrastructure. In this position I successfully managed an email migration from
+Zimbra/Exchange/Courier IMAP into Google Apps}
+
+\cventry{2005--2006}{System Administrator}{Cope IPS}{Leiden}{}{I was
+maintaining external facing web services running FreeBSD and responsible for
+the transition of the business users towards an Exchange 2003 environment. Next
+I have setup a new build environment for development}
+
+\subsection{Miscellaneous}
+\cventry{2009}{ITILv2 Foundation}{EXIN}{Utrecht}{}{}
+
+\section{Languages}
+\cvlanguage{Dutch}{excellent}{Native language}
+\cvlanguage{English}{good}{Joost' official language}
+\cvlanguage{French}{average}{Passive (listen/reading)}
+\cvlanguage{German}{average}{Passive (listen/reading)}
+
+\section{Computer skills}
+\cvcomputer{Operating Systems}{FreeBSD, Ubuntu, Mac OS X, Windows XP/Server}{Atlassian}{JIRA, Confluence, Crowd}
+\cvcomputer{Monitoring Tools}{nagios, cacti, opsview}{Office Tools}{OpenOffice.org, Office 2003, Office 2007}
+\cvcomputer{Scripting languages}{sh, Perl, Python}{Programming languages}{C, C++, Java}
+\cvcomputer{Mail}{qmail, postfix, ezmlm, mailman, spamassasssin}{Various}{isc-bind, isc-dhcp, apache, drupal, trac, moinmoin}
+
+\section{Interests}
+\cvline{Networks}{\small Networks of any kind has always fascinated me, social
+networks, wireless networks, all quite different, but fascinating}
+\cvline{Running}{\small 10km runs}
+\cvline{Open Source}{\small Developing software, maintaining projects, providing feedback}
+\cvline{Wireless Leiden}{\small I am an active developer (actually also board
+member) in Stichting Wireless Leiden, a non-profit organization which aims to
+build an open wireless network covering the city of Leiden and its surrounding
+using open source software. Running a stable FreeBSD configuration on 80
+different hardware systems on hard-to-reach locations is quite a
+challenge, but it is real fun to get it all going together with many others}
+
+
+\closesection{}                   % needed to renewcommands
+\section{Version Control}
+\renewcommand{\listitemsymbol}{-} % change the symbol for lists
+\cvline{Generated}{
+\newdateformat{mydate}{\THEDAY/\shortmonthname/\THEYEAR}
+\mydate\today~at~\currenttime}
+\cvline{Version 1.0}{\small Initial version}
+
+%\cvlistitem{Item 1}
+%\cvlistitem{Item 2}
+%\cvlistitem[+]{Item 3}            % optional other symbol
+%
+%\section{Extra 2}
+%\cvlistdoubleitem[\Neutral]{Item 1}{Item 4}
+%\cvlistdoubleitem[\Neutral]{Item 2}{Item 5}
+%\cvlistdoubleitem[\Neutral]{Item 3}{}
+%
+%% Publications from a BibTeX file
+%\nocite{*}
+%\bibliographystyle{plain}
+%\bibliography{publications}       % 'publications' is the name of a BibTeX file
+
+\end{document}
+
+
+%% end of file `template_en.tex'.
Index: /foomailer/foomail.py
===================================================================
--- /foomailer/foomail.py	(revision 2)
+++ /foomailer/foomail.py	(revision 2)
@@ -0,0 +1,197 @@
+#!/usr/bin/env python
+# Rick van der Zwet
+# TODO: May need to implement some RFC checkers
+#
+#
+import sys,smtplib,re,socket,random,string,os,getopt
+import mimetypes
+import time
+from time import gmtime,strftime
+from email.MIMEMultipart import MIMEMultipart
+from email.MIMEBase import MIMEBase
+from email.MIMEText import MIMEText
+from email.Utils import COMMASPACE, formatdate
+from email import Encoders
+
+__svnversion__ = "$Id: foomail.py 633 2008-06-12 19:29:56Z rick $"
+__author__ = "Rick van der Zwet"
+
+
+def usage():
+    print "usage %s -f <from> -r <recipient> -s <server> [--spam]" % sys.argv[0]
+    print "[--virus] [--file <size in kB>] [--message <file>]"
+    print "[--subject <string>] [--to <string>] [--cc <string>]"
+    print "[--force]"
+
+default_domain = 'example.com'
+def emailparse(email):
+    if re.compile('.*@.*').match(email):
+        return(email)
+    else:
+        return(email + '@' + default_domain)
+
+try:
+    opts, args = getopt.getopt(sys.argv[1:], "f:r:s:d",
+                 ["from=","force","recipient=","server=","spam","virus","files=","dry-run","message=","subject=","to=","cc="])
+except getopt.GetoptError:
+    usage()
+    sys.exit(128)
+
+spam = False
+virus = False
+server = False
+recipient = False
+sender = False
+files = False
+force = False
+dry = False
+message = False
+subject = False
+to = False
+cc = False
+
+tests = ""
+
+for o, a in opts:
+    if o in ("-f","--from"):
+        sender_raw = a
+        sender = emailparse(a)
+    elif o in ( "-r", "--recipient"):
+        recipient_raw = a
+        recipient = emailparse(a)
+    elif o in ("-s", "--server"):
+        server = a
+    elif o == "--spam":
+        spam = True
+        tests += " Spam"
+    elif o == "--virus":
+        virus = True
+        tests += " Virus"
+    elif o == "--files":
+        files = a
+    elif o in ("-d","--dry-run"):
+        dry = True
+    elif o in ("--message"):
+        message = a
+    elif o in ("--subject"):
+        subject = a
+    elif o in ("--to"):
+        to = a
+    elif o in ("--cc"):
+        cc = a
+    elif o in ("--force"):
+        force = True;
+
+error = False
+if not sender:
+    print "No sender defined"
+    error = True
+elif not recipient:
+    print "No recipient defined"
+    error = True
+elif not server:
+    print "No server defined"
+    error = True
+
+if error:
+    usage()
+    sys.exit(128)
+
+if force:
+    sender = sender_raw
+    recipient = recipient_raw
+
+
+#Subject here, just to keep the settings/layout a bit more constent
+if not subject:
+    subject = 'Test email send at  %a, %d %b %Y %T %z'
+subject = strftime(subject,gmtime())
+
+if not to:
+    to = 'Testing received <' + recipient + '>'
+    to = recipient
+
+email = MIMEMultipart()
+
+email['From'] = 'Testing sender <' + sender + '>'
+email['To'] = to
+if cc:
+    email['Cc'] = cc
+email['X-Server'] = server
+email['X-Hostname'] = socket.gethostname()
+email['Message-ID' ] = '<' +''.join(random.sample(string.letters +
+                       string.digits,10)) + '@' + email['X-Hostname'] + '>'
+email['Date'] = strftime('%a, %d %b %Y %T %z',gmtime())
+email['Subject'] = subject
+email['X-Version'] = __svnversion__
+email['X-Author'] = __author__
+email['X-Tests'] = tests
+#email['Reply-To'] = "Rick vd Zwet <rick@joost.com>, Wouter Simons <wouter@joost.com>"
+if spam:
+    email['X-Spam'] = 'XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X'
+
+
+def defaultmessage():
+    msg = ''
+    msg += \
+    '''
+Hi,
+
+    Sorry to bother you...
+
+Please ignore this message as it is used to test
+and verify systems to make sure everything works
+flawless.
+
+%(virus)s
+
+Technical details:\n''' % email
+    
+    for k in email.keys():
+        v = email[k]
+        msg += "* %-15s : %s\n" % (k,v)
+    
+    
+    msg = msg + \
+    '''
+Best regards,
+Your system administrator
+    '''
+    return(msg)
+
+if message:
+    f = open(message,'r')
+    msg = f.read()
+    f.close()
+else:
+    msg = defaultmessage()
+
+email.attach(MIMEText(msg))
+
+if virus:
+    part = MIMEBase('application', "octet-stream")
+    part.set_payload('X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*')
+    Encoders.encode_base64(part)
+    part.add_header('Content-Disposition', 'attachment; filename="eicar.txt"')
+    email.attach(part)
+
+if files:
+    for file in files.split(':'):
+        mimetype = mimetypes.guess_type(file)[0].split('/')
+        part = MIMEBase(mimetype[0],mimetype[1])
+        f = open(file,'r')
+        part.set_payload(f.read())
+        f.close()
+        Encoders.encode_base64(part)
+        part.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(file))
+        email.attach(part)
+
+print email.as_string()
+
+if not dry:
+    mark = time.time()
+    server = smtplib.SMTP(server)
+    server.set_debuglevel(0)
+    server.sendmail(sender, recipient, email.as_string())
+    server.quit()
+    print "Sending took sec: %.2f" % (time.time() - mark)
Index: /liacs/README
===================================================================
--- /liacs/README	(revision 2)
+++ /liacs/README	(revision 2)
@@ -0,0 +1,25 @@
+Shortcuts for subjects 
+
+alg             =   Algorimiek
+bedrijfsethiek  =   Bedrijfsethiek
+bpn             =   Biomodeling and PetriNets (master)
+ca              =   Computer Architectuur
+ccs             =   Challenges in Computer Science
+comp            =   Complexiteit
+cvp             =   Concepts of Programming languages
+da              =   DAtastructuren
+db              =   DataBases
+dbdm            =   DataBases and DataMining
+ib              =   Inleiding Bedrijfswetenschappen
+ai              =   Artificial intelligence
+la              =   Lineaire Algebra en beeldverwerking
+nc              =   Natural Computing
+net             =   Netwerken
+os              =   Operating Systems
+penc            =   Programmeren en Correctheid
+pm              =   ProgrammeerMethoden
+re              =   Requirements Engineering
+se              =   Software Engineering
+
+tools           =   Various scripts/templates for general availble for
+                    help
Index: /liacs/ai/bridge/Makefile
===================================================================
--- /liacs/ai/bridge/Makefile	(revision 2)
+++ /liacs/ai/bridge/Makefile	(revision 2)
@@ -0,0 +1,54 @@
+# Rick van der Zwet <rick@wzoeterwoude.net>
+TARGET = report
+LATEX = latex
+XDVI = xdvi
+TEX = latex -halt-on-error
+DVIPDF = dvipdf
+ASPELL = aspell
+ASPELL_ARGS = -c --mode=tex
+.SUFFIXES: .pdf
+
+EXECUTABLE=bridge
+
+help:
+	@echo "Usage Makefile <option>"
+
+all: dist-clean buildpdf program
+
+view: viewpdf
+
+viewdvi: builddvi
+	$(XDVI) $(TARGET)
+
+builddvi: $(TARGET).dvi
+
+clean:
+	rm -vf *.aux *.log *toc *.out *.bak
+
+dist-clean: clean
+	rm -vf $(TARGET).dvi $(TARGET).pdf $(PROGRAM)
+
+buildpdf: $(TARGET).pdf
+
+viewpdf: buildpdf
+	xpdf $(TARGET).pdf 3
+
+spell: spell-en
+
+spell-nl: $(TARGET).tex
+	$(ASPELL) -l nl -p ~/aspell-n.dic $(ASPELL_ARGS) $<
+
+spell-en: $(TARGET).tex
+	$(ASPELL) -l en -p ~/aspell-en.dic $(ASPELL_ARGS) $<
+
+.dvi.pdf:
+	$(DVIPDF) $? $@
+
+.tex.dvi:
+	$(TEX) $? $@
+	$(TEX) $? $@
+
+.gs.png:
+	$(GNUPLOT) $?
+
+program: $(EXECUTABLE)
Index: /liacs/ai/bridge/bridge.cc
===================================================================
--- /liacs/ai/bridge/bridge.cc	(revision 2)
+++ /liacs/ai/bridge/bridge.cc	(revision 2)
@@ -0,0 +1,571 @@
+//
+// bridge.cc
+// Eerste programmeeropgave voor AI, 28 januari 2008, Bridge
+// Walter Kosters
+//
+
+#include <iostream>
+#include <iomanip>
+#include <cstdlib>
+#include <ctime>
+using namespace std;
+
+/* Maak array verwijzingen expliciet en uniform */
+#define NOORD 0
+#define OOST  1
+#define ZUID  2
+#define WEST  3
+
+/* Kaartdefinities */
+#define KLAVEREN 0
+#define RUITEN   1
+#define HARTEN   2
+#define SCHOPPEN 3
+
+/* Contract mogelijkheden */
+#define CONTRACT_RANDOM 0 /* Agent EEN */
+#define CONTRACT_SLIM 1   /* Agent DRIE */
+
+/* Niveau's */
+#define NIVEAU_RANDOM 0 /* Agent TWEE */
+#define NIVEAU_SLIM 1 /* Agent VIER */
+
+/* Speeltype */
+#define SPEEL_KOSTER_BRIDGE 0
+
+#define VERBOSE 1
+#define SILENT  0
+
+/* Afsluit codes, teveel is positief, teweinig negetief */
+#define GEHAALD = 0
+
+//sorteer array A (met n elementen) via bubblesort
+void bubblesort (int A[ ], int n) {
+  int i, j, temp;
+  for ( j = 1; j < n; j++ )
+    for ( i = 0; i < n-j; i++ )
+      if ( A[i] > A[i+1] ) {
+        temp = A[i]; 
+  A[i] = A[i+1]; 
+  A[i+1] = temp;
+      }//if
+}//bubblesort
+
+//welke getalswaarde heeft kaart i?
+//1..13 zijn Klaver1..13, 14..26 zijn Ruiten1..13,
+//27..39 zijn Harten1..13 en 40..52 zijn Schoppen1..13
+//eigenlijk is 13 de aas, dus 1 is een 2 ;-)
+int dewaarde (int i) {
+  if ( i <= 13 )
+    return i;
+  else if ( i <= 26 )
+    return i-13;
+  else if ( i <= 39 )
+    return i-26;
+  else
+    return i-39;
+}//dewaarde
+
+//welke kleurwaarde heeft kaart i?
+char dekleurwaarde (int i) {
+  if ( i <= 13 )
+    return KLAVEREN;
+  else if ( i <= 26 )
+    return RUITEN;
+  else if ( i <= 39 )
+    return HARTEN;
+  else
+    return SCHOPPEN;
+}//dekleur
+
+//welke kleur heeft kaart i?
+char dekleur (int i) {
+    switch ( dekleurwaarde (i) ) {
+    case KLAVEREN:
+        return 'K';
+    case RUITEN:
+        return 'R';
+    case HARTEN:
+        return 'H';
+    case SCHOPPEN:
+        return 'S';
+    }
+}//dekleur
+
+
+//print kaart i netjes
+void printkaart (int i) {
+  cout << dekleur (i) << dewaarde (i);
+  if ( dewaarde (i) < 10 )
+    cout << " ";
+}//printkaart
+
+//welke speler is i?
+char despeler (int i) {
+  switch ( i ) {
+    case NOORD: return 'N';
+    case OOST: return 'O';
+    case ZUID: return 'Z';
+    case WEST: return 'W';
+  }//switch
+  return 'X';
+}//despeler
+
+//===
+
+class spel {
+  public:
+    int aantalkaarten;     //hoeveel kaarten heeft iedere speler?
+    char troef;            //KRHS
+    int hoogte;            //1..13
+    bool NZ;               //true betekent NZ, false betekent OW
+    int dekaarten[4][13];  //N:0,O:1,Z:2,W:3
+    int slagenNZ;          //aantal slagen voor NZ
+    int slagenOW;          //idem voor OW
+    int spelerniveau[3];   /* Kwaliteit van speler */
+    void schud ( );
+    void print ( );
+    void maakcontract (int hoe, bool printdetails);
+    void afspelen (int speeltype, bool printdetails);
+    int trekkaart (int hoe, char kleur, int A[ ], int aantal);
+    int uitslag (bool printdetails);
+};//spel
+
+//verdeel de kaarten, en schud ze over de 4 spelers
+void spel::schud ( ) {
+  int kaarten[52];
+  int i, j, temp;
+  aantalkaarten = 13;
+  for ( i = 0; i < 52; i++ )
+    kaarten[i]= i+1;
+  for ( i = 52-1; i > 0; i-- ) {
+    j = rand ( ) % (i+1);
+    temp = kaarten[i];
+    kaarten[i] = kaarten[j];
+    kaarten[j] = temp;
+  }//for
+  for ( i = 0; i < 13; i++ ) {
+    dekaarten[NOORD][i] = kaarten[i];
+    dekaarten[OOST][i] = kaarten[i+13];
+    dekaarten[ZUID][i] = kaarten[i+26];
+    dekaarten[WEST][i] = kaarten[i+39];
+  }//for
+  bubblesort (dekaarten[NOORD],13);
+  bubblesort (dekaarten[OOST],13);
+  bubblesort (dekaarten[ZUID],13);
+  bubblesort (dekaarten[WEST],13);
+  slagenNZ = slagenOW = 0;
+}//spel::schud
+
+//print huidige kaarten
+void spel::print ( ) {
+  int i;
+  cout << "=Kaart configuratie=" <<endl;
+  cout << endl << "Noord : ";
+  for ( i = 0; i < aantalkaarten; i++ ) {
+    printkaart (dekaarten[NOORD][i]);
+    cout << " | ";
+  }//for
+  cout << endl;
+  cout << "Oost  : ";
+  for ( i = 0; i < aantalkaarten; i++ ) {
+    printkaart (dekaarten[OOST][i]);
+    cout << " | ";
+  }//for
+  cout << endl;
+  cout << "Zuid  : ";
+  for ( i = 0; i < aantalkaarten; i++ ) {
+    printkaart (dekaarten[ZUID][i]);
+    cout << " | ";
+  }//for
+  cout << endl;
+  cout << "West  : ";
+  for ( i = 0; i < aantalkaarten; i++ ) {
+    printkaart (dekaarten[WEST][i]);
+    cout << " | ";
+  }//for
+  cout << endl;
+}//spel::print
+
+//maak een contract
+void spel::maakcontract (int hoe, bool printdetails) {
+  int spelerA, spelerB;
+  int zoekpuntA, zoekpuntB;
+  int slagen;
+  int kleurAantal[] = {0, 0, 0, 0};
+
+  /* Speler volledig random */
+  NZ = ( rand ( ) % 2 == 1 );
+
+  switch (hoe) {
+  case CONTRACT_RANDOM:
+    troef = dekleur (rand ( ) % 52);
+    hoogte = 1 + rand ( ) % 13;
+    break;
+  case CONTRACT_SLIM:
+    /* Variable om de juiste array rijen te selecteren */
+    if ( NZ ) {
+        spelerA = NOORD;
+        spelerB = ZUID;
+    } else {
+        spelerA = OOST;
+        spelerB = WEST;
+    }
+
+    /* Bepaal aantal kaarten per kleur */
+    for ( int i = 0; i < 13; i++ ) {
+        kleurAantal[dekleurwaarde (dekaarten[spelerA][i])]++;
+        kleurAantal[dekleurwaarde (dekaarten[spelerB][i])]++;
+    }
+
+    /* Troef is de meeste kaarten in handen */
+    troef = 0;
+    for ( int i = 1; i < 4; i++ )
+        if ( kleurAantal[i] > kleurAantal[i - 1] )
+            troef = i;
+
+    /* Elke troef levert een slag op */
+    hoogte = kleurAantal[troef];
+
+    /* Hoogste kaart(en) leveren ook slagen op */
+    slagen = 0;
+    /* i is de zoekkaart */
+    for (int i = 52; i >= 0;) {
+        while (zoekpuntA != -1 && dekaarten[spelerA][zoekpuntA] > i)
+            zoekpuntA--;
+        while (zoekpuntB != -1 && dekaarten[spelerB][zoekpuntB] > i)
+            zoekpuntB--;
+
+        /* Hebben we de kaart in bezit of moeten we naar een aas van
+         * een andere kleur gaan zoeken */
+        if (zoekpuntA == -1 && zoekpuntB == -1) {
+            break;
+        } else if (zoekpuntA != -1 && dekaarten[spelerA][zoekpuntA] == i) {
+            slagen++;
+            i--;
+        } else if (zoekpuntB != -1 && dekaarten[spelerB][zoekpuntB] == i) {
+            slagen++;
+            i--;
+        } else {
+            if ( i <= 13 ) {
+                /* KLAVEREN aas is niet in bezit */
+                break;
+            } else {
+                /* Spring naar de volgende aas */
+                if ((i % 13) == 0)
+                    i = i - 13;
+                else
+                    i = i - (i % 13);
+            }
+        }
+    }
+    hoogte = hoogte + slagen;
+
+    /* Set troef naar ASCII waarde om */
+    troef = dekleur ( (troef + 1) * 13);
+    break;
+  }
+
+  if (printdetails) {
+    cout << endl << "=Contract=" << endl;
+    cout << "Paar   : " << ( NZ ? "NZ " : "OW " ) << endl;
+    cout << "Slagen : " << hoogte <<endl;
+    cout << "Troef  : " << troef << endl << endl;
+  }
+}//spel::maakcontract
+
+//trek een random kaart uit A (die er aantal heeft)
+//voorkeur voor kleur, anders random
+int spel::trekkaart (int hoe, char kleur, int A[ ], int aantal) {
+  int j, i = rand ( ) % aantal, vanaf, totenmet, dekaart;
+  int hoogstekaart = 0;
+  bool heeftkleur = false;
+
+  /* Bepaal of gevraagde kleur in bezit is */
+  for ( j = 0; j < aantal; j++ ) {
+    if ( dekleur (A[j]) == kleur ) {
+      if ( heeftkleur )
+        totenmet = j;
+      else
+        totenmet = vanaf = j;
+      heeftkleur = true;
+    }//if
+  }//for
+
+  switch (hoe) {
+  case NIVEAU_RANDOM:
+    if ( heeftkleur )
+      i = vanaf + rand ( ) % ( totenmet - vanaf + 1 );
+    break;
+  case NIVEAU_SLIM:
+    /* Als eerste kiezen, levert bepaalde privileges */
+    if ( kleur == 'X' ) {
+        /* bepalen beste kaart, hoogste troef, dan hoogste andere kaart */
+        for ( j = 1; j < aantal; j++ ) {
+            if ( dewaarde (A[j])  > dewaarde (hoogstekaart) ) {
+                hoogstekaart = j;
+            } else if ( dewaarde (A[j]) == dewaarde (hoogstekaart) ) {
+                /* Troef is beter */
+                if ( dekleur (A[j]) == troef ) {
+                    hoogstekaart = j;
+                }
+            }
+        }
+        i = hoogstekaart;
+        break;
+    }
+
+    /* Troef spelen, levert aparte regels */
+    if ( kleur == troef ) {
+        /* Hoogste troef als present, anders laagste kaart */
+        if ( heeftkleur )
+            i = totenmet;
+        else
+            i = 0;
+        break;
+    }
+
+    /* Als kleur present dan meespelen met hoogste kaart */
+    if ( heeftkleur ) {
+        i = totenmet;
+        break;
+    }
+
+    /* Bij ontbreken van kleur, bepaal of troef present is  */
+    for ( j = 0; j < aantal; j++ )
+      if ( dekleur (A[j]) == troef ) {
+        if ( heeftkleur )
+          totenmet = j;
+        else
+          totenmet = vanaf = j;
+        heeftkleur = true;
+      }//if
+    /* 'Steel' het slag door kleinste troefje te spelen */
+    if ( heeftkleur ) {
+        i = vanaf;
+        break;
+    }
+
+    /* Niets kunnen betekenen hier, laagste kaart dan maar ;-) */
+    i = 0;
+    break;
+  }
+
+  /* Doe de boekhouding en werk het de eigen hand bij */
+  dekaart = A[i];
+  for ( j = i; j < aantal-1; j++ )
+    A[j] = A[j+1];
+  A[aantal-1] = 0;
+  return dekaart;
+}//spel::trekkaart
+
+//speel af; printdetails geeft meer informatie
+void spel::afspelen (int speeltype, bool printdetails) {
+  int speler, winnaar, hoogste, winkleur, vraagkleur;
+  int kaart[ ] = {0, 0, 0, 0};
+  int buurt = 1;
+
+  /* Laat random speler  beginnen */
+  speler = rand ( ) % 4; // 0123
+
+  if (printdetails) {
+    cout << "=Spel=" <<endl;
+    cout << "S = Speelt, Kx = Kaart x" << endl;
+    cout << "Noord -> Oost -> Zuid -> West -> Noord --> Oost -> Zuid" <<endl;
+    cout << "Buurt | S | K1  | K2  | K3  | K4  | Winnaar |" << endl;
+    cout << "------|---|-----|-----|-----|-----|---------|" << endl;
+  }
+
+  switch (speeltype) {
+  case SPEEL_KOSTER_BRIDGE:
+    while ( aantalkaarten > 0 ) {
+      if (printdetails) {
+        if ( buurt < 10 )
+          cout << " ";
+        cout << buurt << "    | ";
+      }
+
+      /* Initiele kaart, geen voorkeur voor kleur */
+      kaart[0] = trekkaart (spelerniveau[speler],'X',dekaarten[speler],
+                            aantalkaarten);
+      vraagkleur = dekleur (kaart[0]);
+      if ( printdetails ) {
+        cout << despeler (speler) << " | ";
+        printkaart (kaart[0]);
+        cout << " | ";
+      }//if
+
+      /* Laat de rest bijspelen */
+      for (int i = 1; i <= 3; i++) {
+        kaart[i] = trekkaart (spelerniveau[i], vraagkleur,
+                              dekaarten[(speler+i)%4],aantalkaarten);
+        if ( printdetails ) {
+          printkaart (kaart[i]);
+          cout << " | ";
+        }//if
+      }
+
+      aantalkaarten--;
+
+      /* controleer troef in het spel */
+      if ( dekleur(kaart[0]) == troef || dekleur(kaart[1]) == troef 
+           || dekleur(kaart[2]) == troef || dekleur(kaart[3]) == troef )
+      winkleur = troef;
+      else
+        winkleur = dekleur (kaart[0]);
+
+      /* bepaal de winnende spelers */
+      hoogste = -1;
+      if ( dekleur (kaart[0]) == winkleur && kaart[0] > hoogste ) {
+        winnaar = speler;
+        hoogste = kaart[0];
+      }//if
+      if ( dekleur (kaart[1]) == winkleur && kaart[1] > hoogste ) {
+        winnaar = (speler+1) % 4;
+        hoogste = kaart[1];
+      }//if
+      if ( dekleur (kaart[2]) == winkleur && kaart[2] > hoogste ) {
+        winnaar = (speler+2) % 4;
+        hoogste = kaart[2];
+      }//if
+      if ( dekleur (kaart[3]) == winkleur && kaart[3] > hoogste ) {
+        winnaar = (speler+3) % 4;
+        hoogste = kaart[3];
+      }//if
+
+      if ( printdetails ) {
+        cout << despeler (winnaar) << "       |" << endl;
+      }//if
+      if ( winnaar == 0 || winnaar == 2 )
+        slagenNZ++;
+      else
+        slagenOW++;
+      speler = winnaar;
+
+      buurt++;
+    }//while
+    break;
+  }//switch
+}//spel::afspelen
+
+//uitslag op scherm
+int spel::uitslag (bool printdetails) {
+  int slagen = ( NZ ? slagenNZ : slagenOW);
+  if (printdetails) {
+    cout << "=Uitslag=" << endl;
+    cout << "Slagen NZ       : " << slagenNZ << endl;
+    cout << "Slagen OW       : " << slagenOW << endl;
+    cout << "Contract bod    : " << hoogte << endl;
+    cout << "Contract paar   : " << ( NZ ? "NZ " : "OW " ) << endl;
+    cout << "Contact gehaald : ";
+  }
+  if ( slagen < hoogte ) {
+    if (printdetails)
+      cout << "TEKORT";
+  } else if ( slagen == hoogte ) {
+    if (printdetails)
+      cout << "CORRECT";
+  } else {
+    if (printdetails)
+      cout << "TEVEEL";
+  }
+  if (printdetails)
+    cout << " (" << slagen - hoogte << ")" << endl;
+
+  return (slagen - hoogte);
+}//spel::uitslag
+
+//===
+
+void printTotaalWaarde (string type, double waarde, double totaal) {
+    cout << setiosflags(ios::left);
+    cout << setw(10) << type << " : ";
+    cout << resetiosflags(ios::left);
+    double percent = (waarde / totaal) * 100;
+    cout.precision(8);
+    cout << setw(8) << waarde;
+    cout << " = ";
+    cout.precision(2);
+    cout << setw(7) << setiosflags(ios::fixed) << percent
+    <<resetiosflags(ios::fixed) << "%";
+    cout << endl;
+
+};
+
+int main ( ) {
+  int retcode = 0;
+  int tekort = 0;
+  int correct = 0;
+  int teveel = 0;
+  double eindscore = 0;
+  int fout, goed;
+
+  spel S;
+  int randInit;
+
+  /* Variabelen */
+  int logNiveau = SILENT; /* print niveau SILENT|VERBOSE */
+  double aantalKeer = 10000;  /* aantal rondes */
+
+  /* initialiseer random-generator, maar print seed om debugging
+   * mogelijk te maken
+   */
+  randInit = time(0);
+  /* Spelen met vaste waarde om kaarten hetzelfde te houden */
+  randInit = 1203969568;
+  cout << "RandInit getal: " << randInit << endl;
+  srand (randInit); 
+
+  /* Speel de potjes */
+  for (int i = 0; i < aantalKeer; i++) {
+    S.schud ( );
+    if (logNiveau)
+      S.print ( );
+
+    /* Niveau contract en spelers */
+    S.maakcontract (CONTRACT_SLIM, logNiveau);
+    S.spelerniveau[0] = NIVEAU_RANDOM;
+    S.spelerniveau[1] = NIVEAU_RANDOM;
+    S.spelerniveau[2] = NIVEAU_RANDOM;
+    S.spelerniveau[3] = NIVEAU_RANDOM;
+    if (logNiveau)
+        for (int i = 0; i <= 3; i++)
+            cout << "Niveau speler " << i << ":" << S.spelerniveau[i] << endl;
+
+    /* Afspelen bepaal type spel */
+    S.afspelen (SPEEL_KOSTER_BRIDGE, logNiveau);
+
+    if (logNiveau)
+      cout << endl;
+    retcode = S.uitslag (logNiveau);
+
+    /* Boekhouding, voor de eindscore berekening */
+    if (retcode > 0) {
+        teveel++;
+        /* elk punt teveel score: -10 */
+        eindscore = eindscore + retcode * -10;
+    } else if (retcode == 0) {
+        correct++;
+        /* elk goede score +20 */
+        eindscore = eindscore + 20;
+    } else {
+        tekort++;
+        /* elk punt tekort score: -20 
+         * retcode is al negatief
+         */
+        eindscore = eindscore + (retcode * 20);
+    }
+  }
+
+  /* Bereken eindresultaat */
+  fout = tekort + teveel;
+  goed = correct;
+  printTotaalWaarde("Tekort", tekort,  aantalKeer);
+  printTotaalWaarde("Correct", correct,  aantalKeer);
+  printTotaalWaarde("Teveel", teveel,  aantalKeer);
+  cout << endl;
+  printTotaalWaarde("Goed", goed,  aantalKeer);
+  printTotaalWaarde ("Fout", fout, aantalKeer);
+  printTotaalWaarde ("EindScore", eindscore, aantalKeer * 20);
+}//main
+
Index: /liacs/ai/bridge/bridge.cc.tex
===================================================================
--- /liacs/ai/bridge/bridge.cc.tex	(revision 2)
+++ /liacs/ai/bridge/bridge.cc.tex	(revision 2)
@@ -0,0 +1,572 @@
+% Generator: GNU source-highlight, by Lorenzo Bettini, http://www.gnu.org/software/src-highlite
+\noindent
+\mbox{}\texttt{001:} \textit{//} \\
+\mbox{}\texttt{002:} \textit{//\ bridge.cc} \\
+\mbox{}\texttt{003:} \textit{//\ Eerste\ programmeeropgave\ voor\ AI,\ 28\ januari\ 2008,\ Bridge} \\
+\mbox{}\texttt{004:} \textit{//\ Walter\ Kosters} \\
+\mbox{}\texttt{005:} \textit{//} \\
+\mbox{}\texttt{006:}  \\
+\mbox{}\texttt{007:} \textbf{\#include}\ \texttt{$<$iostream$>$} \\
+\mbox{}\texttt{008:} \textbf{\#include}\ \texttt{$<$iomanip$>$} \\
+\mbox{}\texttt{009:} \textbf{\#include}\ \texttt{$<$cstdlib$>$} \\
+\mbox{}\texttt{010:} \textbf{\#include}\ \texttt{$<$ctime$>$} \\
+\mbox{}\texttt{011:} \textbf{using}\ \textbf{namespace}\ std; \\
+\mbox{}\texttt{012:}  \\
+\mbox{}\texttt{013:} \textit{/*\ Maak\ array\ verwijzingen\ expliciet\ en\ uniform\ */} \\
+\mbox{}\texttt{014:} \textbf{\#define}\ NOORD\ 0 \\
+\mbox{}\texttt{015:} \textbf{\#define}\ OOST\ \ 1 \\
+\mbox{}\texttt{016:} \textbf{\#define}\ ZUID\ \ 2 \\
+\mbox{}\texttt{017:} \textbf{\#define}\ WEST\ \ 3 \\
+\mbox{}\texttt{018:}  \\
+\mbox{}\texttt{019:} \textit{/*\ Kaartdefinities\ */} \\
+\mbox{}\texttt{020:} \textbf{\#define}\ KLAVEREN\ 0 \\
+\mbox{}\texttt{021:} \textbf{\#define}\ RUITEN\ \ \ 1 \\
+\mbox{}\texttt{022:} \textbf{\#define}\ HARTEN\ \ \ 2 \\
+\mbox{}\texttt{023:} \textbf{\#define}\ SCHOPPEN\ 3 \\
+\mbox{}\texttt{024:}  \\
+\mbox{}\texttt{025:} \textit{/*\ Contract\ mogelijkheden\ */} \\
+\mbox{}\texttt{026:} \textbf{\#define}\ CONTRACT$\_$RANDOM\ 0\ \textit{/*\ Agent\ EEN\ */} \\
+\mbox{}\texttt{027:} \textbf{\#define}\ CONTRACT$\_$SLIM\ 1\ \ \ \textit{/*\ Agent\ DRIE\ */} \\
+\mbox{}\texttt{028:}  \\
+\mbox{}\texttt{029:} \textit{/*\ Niveau's\ */} \\
+\mbox{}\texttt{030:} \textbf{\#define}\ NIVEAU$\_$RANDOM\ 0\ \textit{/*\ Agent\ TWEE\ */} \\
+\mbox{}\texttt{031:} \textbf{\#define}\ NIVEAU$\_$SLIM\ 1\ \textit{/*\ Agent\ VIER\ */} \\
+\mbox{}\texttt{032:}  \\
+\mbox{}\texttt{033:} \textit{/*\ Speeltype\ */} \\
+\mbox{}\texttt{034:} \textbf{\#define}\ SPEEL$\_$KOSTER$\_$BRIDGE\ 0 \\
+\mbox{}\texttt{035:}  \\
+\mbox{}\texttt{036:} \textbf{\#define}\ VERBOSE\ 1 \\
+\mbox{}\texttt{037:} \textbf{\#define}\ SILENT\ \ 0 \\
+\mbox{}\texttt{038:}  \\
+\mbox{}\texttt{039:} \textit{/*\ Afsluit\ codes,\ teveel\ is\ positief,\ teweinig\ negetief\ */} \\
+\mbox{}\texttt{040:} \textbf{\#define}\ GEHAALD\ =\ 0 \\
+\mbox{}\texttt{041:}  \\
+\mbox{}\texttt{042:} \textit{//sorteer\ array\ A\ (met\ n\ elementen)\ via\ bubblesort} \\
+\mbox{}\texttt{043:} void\ \textbf{bubblesort\ }(int\ A[\ ],\ int\ n)\ \{ \\
+\mbox{}\texttt{044:} \ \ int\ i,\ j,\ temp; \\
+\mbox{}\texttt{045:} \ \ \textbf{for}\ (\ j\ =\ 1;\ j\ $<$\ n;\ j++\ ) \\
+\mbox{}\texttt{046:} \ \ \ \ \textbf{for}\ (\ i\ =\ 0;\ i\ $<$\ n-j;\ i++\ ) \\
+\mbox{}\texttt{047:} \ \ \ \ \ \ \textbf{if}\ (\ A[i]\ $>$\ A[i+1]\ )\ \{ \\
+\mbox{}\texttt{048:} \ \ \ \ \ \ \ \ temp\ =\ A[i];\  \\
+\mbox{}\texttt{049:} \ \ A[i]\ =\ A[i+1];\  \\
+\mbox{}\texttt{050:} \ \ A[i+1]\ =\ temp; \\
+\mbox{}\texttt{051:} \ \ \ \ \ \ \}\textit{//if} \\
+\mbox{}\texttt{052:} \}\textit{//bubblesort} \\
+\mbox{}\texttt{053:}  \\
+\mbox{}\texttt{054:} \textit{//welke\ getalswaarde\ heeft\ kaart\ i?} \\
+\mbox{}\texttt{055:} \textit{//1..13\ zijn\ Klaver1..13,\ 14..26\ zijn\ Ruiten1..13,} \\
+\mbox{}\texttt{056:} \textit{//27..39\ zijn\ Harten1..13\ en\ 40..52\ zijn\ Schoppen1..13} \\
+\mbox{}\texttt{057:} \textit{//eigenlijk\ is\ 13\ de\ aas,\ dus\ 1\ is\ een\ 2\ ;-)} \\
+\mbox{}\texttt{058:} int\ \textbf{dewaarde\ }(int\ i)\ \{ \\
+\mbox{}\texttt{059:} \ \ \textbf{if}\ (\ i\ $<$=\ 13\ ) \\
+\mbox{}\texttt{060:} \ \ \ \ \textbf{return}\ i; \\
+\mbox{}\texttt{061:} \ \ \textbf{else}\ \textbf{if}\ (\ i\ $<$=\ 26\ ) \\
+\mbox{}\texttt{062:} \ \ \ \ \textbf{return}\ i-13; \\
+\mbox{}\texttt{063:} \ \ \textbf{else}\ \textbf{if}\ (\ i\ $<$=\ 39\ ) \\
+\mbox{}\texttt{064:} \ \ \ \ \textbf{return}\ i-26; \\
+\mbox{}\texttt{065:} \ \ \textbf{else} \\
+\mbox{}\texttt{066:} \ \ \ \ \textbf{return}\ i-39; \\
+\mbox{}\texttt{067:} \}\textit{//dewaarde} \\
+\mbox{}\texttt{068:}  \\
+\mbox{}\texttt{069:} \textit{//welke\ kleurwaarde\ heeft\ kaart\ i?} \\
+\mbox{}\texttt{070:} char\ \textbf{dekleurwaarde\ }(int\ i)\ \{ \\
+\mbox{}\texttt{071:} \ \ \textbf{if}\ (\ i\ $<$=\ 13\ ) \\
+\mbox{}\texttt{072:} \ \ \ \ \textbf{return}\ KLAVEREN; \\
+\mbox{}\texttt{073:} \ \ \textbf{else}\ \textbf{if}\ (\ i\ $<$=\ 26\ ) \\
+\mbox{}\texttt{074:} \ \ \ \ \textbf{return}\ RUITEN; \\
+\mbox{}\texttt{075:} \ \ \textbf{else}\ \textbf{if}\ (\ i\ $<$=\ 39\ ) \\
+\mbox{}\texttt{076:} \ \ \ \ \textbf{return}\ HARTEN; \\
+\mbox{}\texttt{077:} \ \ \textbf{else} \\
+\mbox{}\texttt{078:} \ \ \ \ \textbf{return}\ SCHOPPEN; \\
+\mbox{}\texttt{079:} \}\textit{//dekleur} \\
+\mbox{}\texttt{080:}  \\
+\mbox{}\texttt{081:} \textit{//welke\ kleur\ heeft\ kaart\ i?} \\
+\mbox{}\texttt{082:} char\ \textbf{dekleur\ }(int\ i)\ \{ \\
+\mbox{}\texttt{083:} \ \ \ \ \textbf{switch}\ (\ \textbf{dekleurwaarde\ }(i)\ )\ \{ \\
+\mbox{}\texttt{084:} \ \ \ \ \textbf{case}\ KLAVEREN: \\
+\mbox{}\texttt{085:} \ \ \ \ \ \ \ \ \textbf{return}\ \texttt{'K'}; \\
+\mbox{}\texttt{086:} \ \ \ \ \textbf{case}\ RUITEN: \\
+\mbox{}\texttt{087:} \ \ \ \ \ \ \ \ \textbf{return}\ \texttt{'R'}; \\
+\mbox{}\texttt{088:} \ \ \ \ \textbf{case}\ HARTEN: \\
+\mbox{}\texttt{089:} \ \ \ \ \ \ \ \ \textbf{return}\ \texttt{'H'}; \\
+\mbox{}\texttt{090:} \ \ \ \ \textbf{case}\ SCHOPPEN: \\
+\mbox{}\texttt{091:} \ \ \ \ \ \ \ \ \textbf{return}\ \texttt{'S'}; \\
+\mbox{}\texttt{092:} \ \ \ \ \} \\
+\mbox{}\texttt{093:} \}\textit{//dekleur} \\
+\mbox{}\texttt{094:}  \\
+\mbox{}\texttt{095:}  \\
+\mbox{}\texttt{096:} \textit{//print\ kaart\ i\ netjes} \\
+\mbox{}\texttt{097:} void\ \textbf{printkaart\ }(int\ i)\ \{ \\
+\mbox{}\texttt{098:} \ \ cout\ $<$$<$\ \textbf{dekleur\ }(i)\ $<$$<$\ \textbf{dewaarde\ }(i); \\
+\mbox{}\texttt{099:} \ \ \textbf{if}\ (\ \textbf{dewaarde\ }(i)\ $<$\ 10\ ) \\
+\mbox{}\texttt{100:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}\ "{}}; \\
+\mbox{}\texttt{101:} \}\textit{//printkaart} \\
+\mbox{}\texttt{102:}  \\
+\mbox{}\texttt{103:} \textit{//welke\ speler\ is\ i?} \\
+\mbox{}\texttt{104:} char\ \textbf{despeler\ }(int\ i)\ \{ \\
+\mbox{}\texttt{105:} \ \ \textbf{switch}\ (\ i\ )\ \{ \\
+\mbox{}\texttt{106:} \ \ \ \ \textbf{case}\ NOORD:\ \textbf{return}\ \texttt{'N'}; \\
+\mbox{}\texttt{107:} \ \ \ \ \textbf{case}\ OOST:\ \textbf{return}\ \texttt{'O'}; \\
+\mbox{}\texttt{108:} \ \ \ \ \textbf{case}\ ZUID:\ \textbf{return}\ \texttt{'Z'}; \\
+\mbox{}\texttt{109:} \ \ \ \ \textbf{case}\ WEST:\ \textbf{return}\ \texttt{'W'}; \\
+\mbox{}\texttt{110:} \ \ \}\textit{//switch} \\
+\mbox{}\texttt{111:} \ \ \textbf{return}\ \texttt{'X'}; \\
+\mbox{}\texttt{112:} \}\textit{//despeler} \\
+\mbox{}\texttt{113:}  \\
+\mbox{}\texttt{114:} \textit{//===} \\
+\mbox{}\texttt{115:}  \\
+\mbox{}\texttt{116:} \textbf{class}\ spel\ \{ \\
+\mbox{}\texttt{117:} \ \ \textbf{public}: \\
+\mbox{}\texttt{118:} \ \ \ \ int\ aantalkaarten;\ \ \ \ \ \textit{//hoeveel\ kaarten\ heeft\ iedere\ speler?} \\
+\mbox{}\texttt{119:} \ \ \ \ char\ troef;\ \ \ \ \ \ \ \ \ \ \ \ \textit{//KRHS} \\
+\mbox{}\texttt{120:} \ \ \ \ int\ hoogte;\ \ \ \ \ \ \ \ \ \ \ \ \textit{//1..13} \\
+\mbox{}\texttt{121:} \ \ \ \ bool\ NZ;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textit{//true\ betekent\ NZ,\ false\ betekent\ OW} \\
+\mbox{}\texttt{122:} \ \ \ \ int\ dekaarten[4][13];\ \ \textit{//N:0,O:1,Z:2,W:3} \\
+\mbox{}\texttt{123:} \ \ \ \ int\ slagenNZ;\ \ \ \ \ \ \ \ \ \ \textit{//aantal\ slagen\ voor\ NZ} \\
+\mbox{}\texttt{124:} \ \ \ \ int\ slagenOW;\ \ \ \ \ \ \ \ \ \ \textit{//idem\ voor\ OW} \\
+\mbox{}\texttt{125:} \ \ \ \ int\ spelerniveau[3];\ \ \ \textit{/*\ Kwaliteit\ van\ speler\ */} \\
+\mbox{}\texttt{126:} \ \ \ \ void\ \textbf{schud\ }(\ ); \\
+\mbox{}\texttt{127:} \ \ \ \ void\ \textbf{print\ }(\ ); \\
+\mbox{}\texttt{128:} \ \ \ \ void\ \textbf{maakcontract\ }(int\ hoe,\ bool\ printdetails); \\
+\mbox{}\texttt{129:} \ \ \ \ void\ \textbf{afspelen\ }(int\ speeltype,\ bool\ printdetails); \\
+\mbox{}\texttt{130:} \ \ \ \ int\ \textbf{trekkaart\ }(int\ hoe,\ char\ kleur,\ int\ A[\ ],\ int\ aantal); \\
+\mbox{}\texttt{131:} \ \ \ \ int\ \textbf{uitslag\ }(bool\ printdetails); \\
+\mbox{}\texttt{132:} \};\textit{//spel} \\
+\mbox{}\texttt{133:}  \\
+\mbox{}\texttt{134:} \textit{//verdeel\ de\ kaarten,\ en\ schud\ ze\ over\ de\ 4\ spelers} \\
+\mbox{}\texttt{135:} void\ spel::\textbf{schud\ }(\ )\ \{ \\
+\mbox{}\texttt{136:} \ \ int\ kaarten[52]; \\
+\mbox{}\texttt{137:} \ \ int\ i,\ j,\ temp; \\
+\mbox{}\texttt{138:} \ \ aantalkaarten\ =\ 13; \\
+\mbox{}\texttt{139:} \ \ \textbf{for}\ (\ i\ =\ 0;\ i\ $<$\ 52;\ i++\ ) \\
+\mbox{}\texttt{140:} \ \ \ \ kaarten[i]=\ i+1; \\
+\mbox{}\texttt{141:} \ \ \textbf{for}\ (\ i\ =\ 52-1;\ i\ $>$\ 0;\ i-\/-\ )\ \{ \\
+\mbox{}\texttt{142:} \ \ \ \ j\ =\ \textbf{rand\ }(\ )\ \%\ (i+1); \\
+\mbox{}\texttt{143:} \ \ \ \ temp\ =\ kaarten[i]; \\
+\mbox{}\texttt{144:} \ \ \ \ kaarten[i]\ =\ kaarten[j]; \\
+\mbox{}\texttt{145:} \ \ \ \ kaarten[j]\ =\ temp; \\
+\mbox{}\texttt{146:} \ \ \}\textit{//for} \\
+\mbox{}\texttt{147:} \ \ \textbf{for}\ (\ i\ =\ 0;\ i\ $<$\ 13;\ i++\ )\ \{ \\
+\mbox{}\texttt{148:} \ \ \ \ dekaarten[NOORD][i]\ =\ kaarten[i]; \\
+\mbox{}\texttt{149:} \ \ \ \ dekaarten[OOST][i]\ =\ kaarten[i+13]; \\
+\mbox{}\texttt{150:} \ \ \ \ dekaarten[ZUID][i]\ =\ kaarten[i+26]; \\
+\mbox{}\texttt{151:} \ \ \ \ dekaarten[WEST][i]\ =\ kaarten[i+39]; \\
+\mbox{}\texttt{152:} \ \ \}\textit{//for} \\
+\mbox{}\texttt{153:} \ \ \textbf{bubblesort\ }(dekaarten[NOORD],13); \\
+\mbox{}\texttt{154:} \ \ \textbf{bubblesort\ }(dekaarten[OOST],13); \\
+\mbox{}\texttt{155:} \ \ \textbf{bubblesort\ }(dekaarten[ZUID],13); \\
+\mbox{}\texttt{156:} \ \ \textbf{bubblesort\ }(dekaarten[WEST],13); \\
+\mbox{}\texttt{157:} \ \ slagenNZ\ =\ slagenOW\ =\ 0; \\
+\mbox{}\texttt{158:} \}\textit{//spel::schud} \\
+\mbox{}\texttt{159:}  \\
+\mbox{}\texttt{160:} \textit{//print\ huidige\ kaarten} \\
+\mbox{}\texttt{161:} void\ spel::\textbf{print\ }(\ )\ \{ \\
+\mbox{}\texttt{162:} \ \ int\ i; \\
+\mbox{}\texttt{163:} \ \ cout\ $<$$<$\ \texttt{"{}=Kaart\ configuratie="{}}\ $<$$<$endl; \\
+\mbox{}\texttt{164:} \ \ cout\ $<$$<$\ endl\ $<$$<$\ \texttt{"{}Noord\ :\ "{}}; \\
+\mbox{}\texttt{165:} \ \ \textbf{for}\ (\ i\ =\ 0;\ i\ $<$\ aantalkaarten;\ i++\ )\ \{ \\
+\mbox{}\texttt{166:} \ \ \ \ \textbf{printkaart\ }(dekaarten[NOORD][i]); \\
+\mbox{}\texttt{167:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}\ $|$\ "{}}; \\
+\mbox{}\texttt{168:} \ \ \}\textit{//for} \\
+\mbox{}\texttt{169:} \ \ cout\ $<$$<$\ endl; \\
+\mbox{}\texttt{170:} \ \ cout\ $<$$<$\ \texttt{"{}Oost\ \ :\ "{}}; \\
+\mbox{}\texttt{171:} \ \ \textbf{for}\ (\ i\ =\ 0;\ i\ $<$\ aantalkaarten;\ i++\ )\ \{ \\
+\mbox{}\texttt{172:} \ \ \ \ \textbf{printkaart\ }(dekaarten[OOST][i]); \\
+\mbox{}\texttt{173:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}\ $|$\ "{}}; \\
+\mbox{}\texttt{174:} \ \ \}\textit{//for} \\
+\mbox{}\texttt{175:} \ \ cout\ $<$$<$\ endl; \\
+\mbox{}\texttt{176:} \ \ cout\ $<$$<$\ \texttt{"{}Zuid\ \ :\ "{}}; \\
+\mbox{}\texttt{177:} \ \ \textbf{for}\ (\ i\ =\ 0;\ i\ $<$\ aantalkaarten;\ i++\ )\ \{ \\
+\mbox{}\texttt{178:} \ \ \ \ \textbf{printkaart\ }(dekaarten[ZUID][i]); \\
+\mbox{}\texttt{179:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}\ $|$\ "{}}; \\
+\mbox{}\texttt{180:} \ \ \}\textit{//for} \\
+\mbox{}\texttt{181:} \ \ cout\ $<$$<$\ endl; \\
+\mbox{}\texttt{182:} \ \ cout\ $<$$<$\ \texttt{"{}West\ \ :\ "{}}; \\
+\mbox{}\texttt{183:} \ \ \textbf{for}\ (\ i\ =\ 0;\ i\ $<$\ aantalkaarten;\ i++\ )\ \{ \\
+\mbox{}\texttt{184:} \ \ \ \ \textbf{printkaart\ }(dekaarten[WEST][i]); \\
+\mbox{}\texttt{185:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}\ $|$\ "{}}; \\
+\mbox{}\texttt{186:} \ \ \}\textit{//for} \\
+\mbox{}\texttt{187:} \ \ cout\ $<$$<$\ endl; \\
+\mbox{}\texttt{188:} \}\textit{//spel::print} \\
+\mbox{}\texttt{189:}  \\
+\mbox{}\texttt{190:} \textit{//maak\ een\ contract} \\
+\mbox{}\texttt{191:} void\ spel::\textbf{maakcontract\ }(int\ hoe,\ bool\ printdetails)\ \{ \\
+\mbox{}\texttt{192:} \ \ int\ spelerA,\ spelerB; \\
+\mbox{}\texttt{193:} \ \ int\ zoekpuntA,\ zoekpuntB; \\
+\mbox{}\texttt{194:} \ \ int\ slagen; \\
+\mbox{}\texttt{195:} \ \ int\ kleurAantal[]\ =\ \{0,\ 0,\ 0,\ 0\}; \\
+\mbox{}\texttt{196:}  \\
+\mbox{}\texttt{197:} \ \ \textit{/*\ Speler\ volledig\ random\ */} \\
+\mbox{}\texttt{198:} \ \ NZ\ =\ (\ \textbf{rand\ }(\ )\ \%\ 2\ ==\ 1\ ); \\
+\mbox{}\texttt{199:}  \\
+\mbox{}\texttt{200:} \ \ \textbf{switch}\ (hoe)\ \{ \\
+\mbox{}\texttt{201:} \ \ \textbf{case}\ CONTRACT$\_$RANDOM: \\
+\mbox{}\texttt{202:} \ \ \ \ troef\ =\ \textbf{dekleur\ }(\textbf{rand\ }(\ )\ \%\ 52); \\
+\mbox{}\texttt{203:} \ \ \ \ hoogte\ =\ 1\ +\ \textbf{rand\ }(\ )\ \%\ 13; \\
+\mbox{}\texttt{204:} \ \ \ \ \textbf{break}; \\
+\mbox{}\texttt{205:} \ \ \textbf{case}\ CONTRACT$\_$SLIM: \\
+\mbox{}\texttt{206:} \ \ \ \ \textit{/*\ Variable\ om\ de\ juiste\ array\ rijen\ te\ selecteren\ */} \\
+\mbox{}\texttt{207:} \ \ \ \ \textbf{if}\ (\ NZ\ )\ \{ \\
+\mbox{}\texttt{208:} \ \ \ \ \ \ \ \ spelerA\ =\ NOORD; \\
+\mbox{}\texttt{209:} \ \ \ \ \ \ \ \ spelerB\ =\ ZUID; \\
+\mbox{}\texttt{210:} \ \ \ \ \}\ \textbf{else}\ \{ \\
+\mbox{}\texttt{211:} \ \ \ \ \ \ \ \ spelerA\ =\ OOST; \\
+\mbox{}\texttt{212:} \ \ \ \ \ \ \ \ spelerB\ =\ WEST; \\
+\mbox{}\texttt{213:} \ \ \ \ \} \\
+\mbox{}\texttt{214:}  \\
+\mbox{}\texttt{215:} \ \ \ \ \textit{/*\ Bepaal\ aantal\ kaarten\ per\ kleur\ */} \\
+\mbox{}\texttt{216:} \ \ \ \ \textbf{for}\ (\ int\ i\ =\ 0;\ i\ $<$\ 13;\ i++\ )\ \{ \\
+\mbox{}\texttt{217:} \ \ \ \ \ \ \ \ kleurAantal[\textbf{dekleurwaarde\ }(dekaarten[spelerA][i])]++; \\
+\mbox{}\texttt{218:} \ \ \ \ \ \ \ \ kleurAantal[\textbf{dekleurwaarde\ }(dekaarten[spelerB][i])]++; \\
+\mbox{}\texttt{219:} \ \ \ \ \} \\
+\mbox{}\texttt{220:}  \\
+\mbox{}\texttt{221:} \ \ \ \ \textit{/*\ Troef\ is\ de\ meeste\ kaarten\ in\ handen\ */} \\
+\mbox{}\texttt{222:} \ \ \ \ troef\ =\ 0; \\
+\mbox{}\texttt{223:} \ \ \ \ \textbf{for}\ (\ int\ i\ =\ 1;\ i\ $<$\ 4;\ i++\ ) \\
+\mbox{}\texttt{224:} \ \ \ \ \ \ \ \ \textbf{if}\ (\ kleurAantal[i]\ $>$\ kleurAantal[i\ -\ 1]\ ) \\
+\mbox{}\texttt{225:} \ \ \ \ \ \ \ \ \ \ \ \ troef\ =\ i; \\
+\mbox{}\texttt{226:}  \\
+\mbox{}\texttt{227:} \ \ \ \ \textit{/*\ Elke\ troef\ levert\ een\ slag\ op\ */} \\
+\mbox{}\texttt{228:} \ \ \ \ hoogte\ =\ kleurAantal[troef]; \\
+\mbox{}\texttt{229:}  \\
+\mbox{}\texttt{230:} \ \ \ \ \textit{/*\ Hoogste\ kaart(en)\ leveren\ ook\ slagen\ op\ */} \\
+\mbox{}\texttt{231:} \ \ \ \ slagen\ =\ 0; \\
+\mbox{}\texttt{232:} \ \ \ \ \textit{/*\ i\ is\ de\ zoekkaart\ */} \\
+\mbox{}\texttt{233:} \ \ \ \ \textbf{for}\ (int\ i\ =\ 52;\ i\ $>$=\ 0;)\ \{ \\
+\mbox{}\texttt{234:} \ \ \ \ \ \ \ \ \textbf{while}\ (zoekpuntA\ !=\ -1\ \&\&\ dekaarten[spelerA][zoekpuntA]\ $>$\ i) \\
+\mbox{}\texttt{235:} \ \ \ \ \ \ \ \ \ \ \ \ zoekpuntA-\/-; \\
+\mbox{}\texttt{236:} \ \ \ \ \ \ \ \ \textbf{while}\ (zoekpuntB\ !=\ -1\ \&\&\ dekaarten[spelerB][zoekpuntB]\ $>$\ i) \\
+\mbox{}\texttt{237:} \ \ \ \ \ \ \ \ \ \ \ \ zoekpuntB-\/-; \\
+\mbox{}\texttt{238:}  \\
+\mbox{}\texttt{239:} \ \ \ \ \ \ \ \ \textit{/*\ Hebben\ we\ de\ kaart\ in\ bezit\ of\ moeten\ we\ naar\ een\ aas\ van} \\
+\mbox{}\texttt{240:} \textit{\ \ \ \ \ \ \ \ \ *\ een\ andere\ kleur\ gaan\ zoeken\ */} \\
+\mbox{}\texttt{241:} \ \ \ \ \ \ \ \ \textbf{if}\ (zoekpuntA\ ==\ -1\ \&\&\ zoekpuntB\ ==\ -1)\ \{ \\
+\mbox{}\texttt{242:} \ \ \ \ \ \ \ \ \ \ \ \ \textbf{break}; \\
+\mbox{}\texttt{243:} \ \ \ \ \ \ \ \ \}\ \textbf{else}\ \textbf{if}\ (zoekpuntA\ !=\ -1\ \&\&\ dekaarten[spelerA][zoekpuntA]\ ==\ i)\ \{ \\
+\mbox{}\texttt{244:} \ \ \ \ \ \ \ \ \ \ \ \ slagen++; \\
+\mbox{}\texttt{245:} \ \ \ \ \ \ \ \ \ \ \ \ i-\/-; \\
+\mbox{}\texttt{246:} \ \ \ \ \ \ \ \ \}\ \textbf{else}\ \textbf{if}\ (zoekpuntB\ !=\ -1\ \&\&\ dekaarten[spelerB][zoekpuntB]\ ==\ i)\ \{ \\
+\mbox{}\texttt{247:} \ \ \ \ \ \ \ \ \ \ \ \ slagen++; \\
+\mbox{}\texttt{248:} \ \ \ \ \ \ \ \ \ \ \ \ i-\/-; \\
+\mbox{}\texttt{249:} \ \ \ \ \ \ \ \ \}\ \textbf{else}\ \{ \\
+\mbox{}\texttt{250:} \ \ \ \ \ \ \ \ \ \ \ \ \textbf{if}\ (\ i\ $<$=\ 13\ )\ \{ \\
+\mbox{}\texttt{251:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textit{/*\ KLAVEREN\ aas\ is\ niet\ in\ bezit\ */} \\
+\mbox{}\texttt{252:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textbf{break}; \\
+\mbox{}\texttt{253:} \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textbf{else}\ \{ \\
+\mbox{}\texttt{254:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textit{/*\ Spring\ naar\ de\ volgende\ aas\ */} \\
+\mbox{}\texttt{255:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textbf{if}\ ((i\ \%\ 13)\ ==\ 0) \\
+\mbox{}\texttt{256:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ i\ =\ i\ -\ 13; \\
+\mbox{}\texttt{257:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textbf{else} \\
+\mbox{}\texttt{258:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ i\ =\ i\ -\ (i\ \%\ 13); \\
+\mbox{}\texttt{259:} \ \ \ \ \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{260:} \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{261:} \ \ \ \ \} \\
+\mbox{}\texttt{262:} \ \ \ \ hoogte\ =\ hoogte\ +\ slagen; \\
+\mbox{}\texttt{263:}  \\
+\mbox{}\texttt{264:} \ \ \ \ \textit{/*\ Set\ troef\ naar\ ASCII\ waarde\ om\ */} \\
+\mbox{}\texttt{265:} \ \ \ \ troef\ =\ \textbf{dekleur\ }(\ (troef\ +\ 1)\ *\ 13); \\
+\mbox{}\texttt{266:} \ \ \ \ \textbf{break}; \\
+\mbox{}\texttt{267:} \ \ \} \\
+\mbox{}\texttt{268:}  \\
+\mbox{}\texttt{269:} \ \ \textbf{if}\ (printdetails)\ \{ \\
+\mbox{}\texttt{270:} \ \ \ \ cout\ $<$$<$\ endl\ $<$$<$\ \texttt{"{}=Contract="{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{271:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}Paar\ \ \ :\ "{}}\ $<$$<$\ (\ NZ\ ?\ \texttt{"{}NZ\ "{}}\ :\ \texttt{"{}OW\ "{}}\ )\ $<$$<$\ endl; \\
+\mbox{}\texttt{272:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}Slagen\ :\ "{}}\ $<$$<$\ hoogte\ $<$$<$endl; \\
+\mbox{}\texttt{273:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}Troef\ \ :\ "{}}\ $<$$<$\ troef\ $<$$<$\ endl\ $<$$<$\ endl; \\
+\mbox{}\texttt{274:} \ \ \} \\
+\mbox{}\texttt{275:} \}\textit{//spel::maakcontract} \\
+\mbox{}\texttt{276:}  \\
+\mbox{}\texttt{277:} \textit{//trek\ een\ random\ kaart\ uit\ A\ (die\ er\ aantal\ heeft)} \\
+\mbox{}\texttt{278:} \textit{//voorkeur\ voor\ kleur,\ anders\ random} \\
+\mbox{}\texttt{279:} int\ spel::\textbf{trekkaart\ }(int\ hoe,\ char\ kleur,\ int\ A[\ ],\ int\ aantal)\ \{ \\
+\mbox{}\texttt{280:} \ \ int\ j,\ i\ =\ \textbf{rand\ }(\ )\ \%\ aantal,\ vanaf,\ totenmet,\ dekaart; \\
+\mbox{}\texttt{281:} \ \ int\ hoogstekaart\ =\ 0; \\
+\mbox{}\texttt{282:} \ \ bool\ heeftkleur\ =\ \textbf{false}; \\
+\mbox{}\texttt{283:}  \\
+\mbox{}\texttt{284:} \ \ \textit{/*\ Bepaal\ of\ gevraagde\ kleur\ in\ bezit\ is\ */} \\
+\mbox{}\texttt{285:} \ \ \textbf{for}\ (\ j\ =\ 0;\ j\ $<$\ aantal;\ j++\ )\ \{ \\
+\mbox{}\texttt{286:} \ \ \ \ \textbf{if}\ (\ \textbf{dekleur\ }(A[j])\ ==\ kleur\ )\ \{ \\
+\mbox{}\texttt{287:} \ \ \ \ \ \ \textbf{if}\ (\ heeftkleur\ ) \\
+\mbox{}\texttt{288:} \ \ \ \ \ \ \ \ totenmet\ =\ j; \\
+\mbox{}\texttt{289:} \ \ \ \ \ \ \textbf{else} \\
+\mbox{}\texttt{290:} \ \ \ \ \ \ \ \ totenmet\ =\ vanaf\ =\ j; \\
+\mbox{}\texttt{291:} \ \ \ \ \ \ heeftkleur\ =\ \textbf{true}; \\
+\mbox{}\texttt{292:} \ \ \ \ \}\textit{//if} \\
+\mbox{}\texttt{293:} \ \ \}\textit{//for} \\
+\mbox{}\texttt{294:}  \\
+\mbox{}\texttt{295:} \ \ \textbf{switch}\ (hoe)\ \{ \\
+\mbox{}\texttt{296:} \ \ \textbf{case}\ NIVEAU$\_$RANDOM: \\
+\mbox{}\texttt{297:} \ \ \ \ \textbf{if}\ (\ heeftkleur\ ) \\
+\mbox{}\texttt{298:} \ \ \ \ \ \ i\ =\ vanaf\ +\ \textbf{rand\ }(\ )\ \%\ (\ totenmet\ -\ vanaf\ +\ 1\ ); \\
+\mbox{}\texttt{299:} \ \ \ \ \textbf{break}; \\
+\mbox{}\texttt{300:} \ \ \textbf{case}\ NIVEAU$\_$SLIM: \\
+\mbox{}\texttt{301:} \ \ \ \ \textit{/*\ Als\ eerste\ kiezen,\ levert\ bepaalde\ privileges\ */} \\
+\mbox{}\texttt{302:} \ \ \ \ \textbf{if}\ (\ kleur\ ==\ \texttt{'X'}\ )\ \{ \\
+\mbox{}\texttt{303:} \ \ \ \ \ \ \ \ \textit{/*\ bepalen\ beste\ kaart,\ hoogste\ troef,\ dan\ hoogste\ andere\ kaart\ */} \\
+\mbox{}\texttt{304:} \ \ \ \ \ \ \ \ \textbf{for}\ (\ j\ =\ 1;\ j\ $<$\ aantal;\ j++\ )\ \{ \\
+\mbox{}\texttt{305:} \ \ \ \ \ \ \ \ \ \ \ \ \textbf{if}\ (\ \textbf{dewaarde\ }(A[j])\ \ $>$\ \textbf{dewaarde\ }(hoogstekaart)\ )\ \{ \\
+\mbox{}\texttt{306:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ hoogstekaart\ =\ j; \\
+\mbox{}\texttt{307:} \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textbf{else}\ \textbf{if}\ (\ \textbf{dewaarde\ }(A[j])\ ==\ \textbf{dewaarde\ }(hoogstekaart)\ )\ \{ \\
+\mbox{}\texttt{308:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textit{/*\ Troef\ is\ beter\ */} \\
+\mbox{}\texttt{309:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textbf{if}\ (\ \textbf{dekleur\ }(A[j])\ ==\ troef\ )\ \{ \\
+\mbox{}\texttt{310:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ hoogstekaart\ =\ j; \\
+\mbox{}\texttt{311:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{312:} \ \ \ \ \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{313:} \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{314:} \ \ \ \ \ \ \ \ i\ =\ hoogstekaart; \\
+\mbox{}\texttt{315:} \ \ \ \ \ \ \ \ \textbf{break}; \\
+\mbox{}\texttt{316:} \ \ \ \ \} \\
+\mbox{}\texttt{317:}  \\
+\mbox{}\texttt{318:} \ \ \ \ \textit{/*\ Troef\ spelen,\ levert\ aparte\ regels\ */} \\
+\mbox{}\texttt{319:} \ \ \ \ \textbf{if}\ (\ kleur\ ==\ troef\ )\ \{ \\
+\mbox{}\texttt{320:} \ \ \ \ \ \ \ \ \textit{/*\ Hoogste\ troef\ als\ present,\ anders\ laagste\ kaart\ */} \\
+\mbox{}\texttt{321:} \ \ \ \ \ \ \ \ \textbf{if}\ (\ heeftkleur\ ) \\
+\mbox{}\texttt{322:} \ \ \ \ \ \ \ \ \ \ \ \ i\ =\ totenmet; \\
+\mbox{}\texttt{323:} \ \ \ \ \ \ \ \ \textbf{else} \\
+\mbox{}\texttt{324:} \ \ \ \ \ \ \ \ \ \ \ \ i\ =\ 0; \\
+\mbox{}\texttt{325:} \ \ \ \ \ \ \ \ \textbf{break}; \\
+\mbox{}\texttt{326:} \ \ \ \ \} \\
+\mbox{}\texttt{327:}  \\
+\mbox{}\texttt{328:} \ \ \ \ \textit{/*\ Als\ kleur\ present\ dan\ meespelen\ met\ hoogste\ kaart\ */} \\
+\mbox{}\texttt{329:} \ \ \ \ \textbf{if}\ (\ heeftkleur\ )\ \{ \\
+\mbox{}\texttt{330:} \ \ \ \ \ \ \ \ i\ =\ totenmet; \\
+\mbox{}\texttt{331:} \ \ \ \ \ \ \ \ \textbf{break}; \\
+\mbox{}\texttt{332:} \ \ \ \ \} \\
+\mbox{}\texttt{333:}  \\
+\mbox{}\texttt{334:} \ \ \ \ \textit{/*\ Bij\ ontbreken\ van\ kleur,\ bepaal\ of\ troef\ present\ is\ \ */} \\
+\mbox{}\texttt{335:} \ \ \ \ \textbf{for}\ (\ j\ =\ 0;\ j\ $<$\ aantal;\ j++\ ) \\
+\mbox{}\texttt{336:} \ \ \ \ \ \ \textbf{if}\ (\ \textbf{dekleur\ }(A[j])\ ==\ troef\ )\ \{ \\
+\mbox{}\texttt{337:} \ \ \ \ \ \ \ \ \textbf{if}\ (\ heeftkleur\ ) \\
+\mbox{}\texttt{338:} \ \ \ \ \ \ \ \ \ \ totenmet\ =\ j; \\
+\mbox{}\texttt{339:} \ \ \ \ \ \ \ \ \textbf{else} \\
+\mbox{}\texttt{340:} \ \ \ \ \ \ \ \ \ \ totenmet\ =\ vanaf\ =\ j; \\
+\mbox{}\texttt{341:} \ \ \ \ \ \ \ \ heeftkleur\ =\ \textbf{true}; \\
+\mbox{}\texttt{342:} \ \ \ \ \ \ \}\textit{//if} \\
+\mbox{}\texttt{343:} \ \ \ \ \textit{/*\ 'Steel'\ het\ slag\ door\ kleinste\ troefje\ te\ spelen\ */} \\
+\mbox{}\texttt{344:} \ \ \ \ \textbf{if}\ (\ heeftkleur\ )\ \{ \\
+\mbox{}\texttt{345:} \ \ \ \ \ \ \ \ i\ =\ vanaf; \\
+\mbox{}\texttt{346:} \ \ \ \ \ \ \ \ \textbf{break}; \\
+\mbox{}\texttt{347:} \ \ \ \ \} \\
+\mbox{}\texttt{348:}  \\
+\mbox{}\texttt{349:} \ \ \ \ \textit{/*\ Niets\ kunnen\ betekenen\ hier,\ laagste\ kaart\ dan\ maar\ ;-)\ */} \\
+\mbox{}\texttt{350:} \ \ \ \ i\ =\ 0; \\
+\mbox{}\texttt{351:} \ \ \ \ \textbf{break}; \\
+\mbox{}\texttt{352:} \ \ \} \\
+\mbox{}\texttt{353:}  \\
+\mbox{}\texttt{354:} \ \ \textit{/*\ Doe\ de\ boekhouding\ en\ werk\ het\ de\ eigen\ hand\ bij\ */} \\
+\mbox{}\texttt{355:} \ \ dekaart\ =\ A[i]; \\
+\mbox{}\texttt{356:} \ \ \textbf{for}\ (\ j\ =\ i;\ j\ $<$\ aantal-1;\ j++\ ) \\
+\mbox{}\texttt{357:} \ \ \ \ A[j]\ =\ A[j+1]; \\
+\mbox{}\texttt{358:} \ \ A[aantal-1]\ =\ 0; \\
+\mbox{}\texttt{359:} \ \ \textbf{return}\ dekaart; \\
+\mbox{}\texttt{360:} \}\textit{//spel::trekkaart} \\
+\mbox{}\texttt{361:}  \\
+\mbox{}\texttt{362:} \textit{//speel\ af;\ printdetails\ geeft\ meer\ informatie} \\
+\mbox{}\texttt{363:} void\ spel::\textbf{afspelen\ }(int\ speeltype,\ bool\ printdetails)\ \{ \\
+\mbox{}\texttt{364:} \ \ int\ speler,\ winnaar,\ hoogste,\ winkleur,\ vraagkleur; \\
+\mbox{}\texttt{365:} \ \ int\ kaart[\ ]\ =\ \{0,\ 0,\ 0,\ 0\}; \\
+\mbox{}\texttt{366:} \ \ int\ buurt\ =\ 1; \\
+\mbox{}\texttt{367:}  \\
+\mbox{}\texttt{368:} \ \ \textit{/*\ Laat\ random\ speler\ \ beginnen\ */} \\
+\mbox{}\texttt{369:} \ \ speler\ =\ \textbf{rand\ }(\ )\ \%\ 4;\ \textit{//\ 0123} \\
+\mbox{}\texttt{370:}  \\
+\mbox{}\texttt{371:} \ \ \textbf{if}\ (printdetails)\ \{ \\
+\mbox{}\texttt{372:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}=Spel="{}}\ $<$$<$endl; \\
+\mbox{}\texttt{373:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}S\ =\ Speelt,\ Kx\ =\ Kaart\ x"{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{374:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}Noord\ -$>$\ Oost\ -$>$\ Zuid\ -$>$\ West\ -$>$\ Noord\ -\/-$>$\ Oost\ -$>$\ Zuid"{}}\ $<$$<$endl; \\
+\mbox{}\texttt{375:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}Buurt\ $|$\ S\ $|$\ K1\ \ $|$\ K2\ \ $|$\ K3\ \ $|$\ K4\ \ $|$\ Winnaar\ $|$"{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{376:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}-\/-\/--\/-\/-$|$-\/-\/-$|$-\/-\/--\/-$|$-\/-\/--\/-$|$-\/-\/--\/-$|$-\/-\/--\/-$|$-\/-\/--\/-\/--\/-\/-$|$"{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{377:} \ \ \} \\
+\mbox{}\texttt{378:}  \\
+\mbox{}\texttt{379:} \ \ \textbf{switch}\ (speeltype)\ \{ \\
+\mbox{}\texttt{380:} \ \ \textbf{case}\ SPEEL$\_$KOSTER$\_$BRIDGE: \\
+\mbox{}\texttt{381:} \ \ \ \ \textbf{while}\ (\ aantalkaarten\ $>$\ 0\ )\ \{ \\
+\mbox{}\texttt{382:} \ \ \ \ \ \ \textbf{if}\ (printdetails)\ \{ \\
+\mbox{}\texttt{383:} \ \ \ \ \ \ \ \ \textbf{if}\ (\ buurt\ $<$\ 10\ ) \\
+\mbox{}\texttt{384:} \ \ \ \ \ \ \ \ \ \ cout\ $<$$<$\ \texttt{"{}\ "{}}; \\
+\mbox{}\texttt{385:} \ \ \ \ \ \ \ \ cout\ $<$$<$\ buurt\ $<$$<$\ \texttt{"{}\ \ \ \ $|$\ "{}}; \\
+\mbox{}\texttt{386:} \ \ \ \ \ \ \} \\
+\mbox{}\texttt{387:}  \\
+\mbox{}\texttt{388:} \ \ \ \ \ \ \textit{/*\ Initiele\ kaart,\ geen\ voorkeur\ voor\ kleur\ */} \\
+\mbox{}\texttt{389:} \ \ \ \ \ \ kaart[0]\ =\ \textbf{trekkaart\ }(spelerniveau[speler],\texttt{'X'},dekaarten[speler], \\
+\mbox{}\texttt{390:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ aantalkaarten); \\
+\mbox{}\texttt{391:} \ \ \ \ \ \ vraagkleur\ =\ \textbf{dekleur\ }(kaart[0]); \\
+\mbox{}\texttt{392:} \ \ \ \ \ \ \textbf{if}\ (\ printdetails\ )\ \{ \\
+\mbox{}\texttt{393:} \ \ \ \ \ \ \ \ cout\ $<$$<$\ \textbf{despeler\ }(speler)\ $<$$<$\ \texttt{"{}\ $|$\ "{}}; \\
+\mbox{}\texttt{394:} \ \ \ \ \ \ \ \ \textbf{printkaart\ }(kaart[0]); \\
+\mbox{}\texttt{395:} \ \ \ \ \ \ \ \ cout\ $<$$<$\ \texttt{"{}\ $|$\ "{}}; \\
+\mbox{}\texttt{396:} \ \ \ \ \ \ \}\textit{//if} \\
+\mbox{}\texttt{397:}  \\
+\mbox{}\texttt{398:} \ \ \ \ \ \ \textit{/*\ Laat\ de\ rest\ bijspelen\ */} \\
+\mbox{}\texttt{399:} \ \ \ \ \ \ \textbf{for}\ (int\ i\ =\ 1;\ i\ $<$=\ 3;\ i++)\ \{ \\
+\mbox{}\texttt{400:} \ \ \ \ \ \ \ \ kaart[i]\ =\ \textbf{trekkaart\ }(spelerniveau[i],\ vraagkleur, \\
+\mbox{}\texttt{401:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ dekaarten[(speler+i)\%4],aantalkaarten); \\
+\mbox{}\texttt{402:} \ \ \ \ \ \ \ \ \textbf{if}\ (\ printdetails\ )\ \{ \\
+\mbox{}\texttt{403:} \ \ \ \ \ \ \ \ \ \ \textbf{printkaart\ }(kaart[i]); \\
+\mbox{}\texttt{404:} \ \ \ \ \ \ \ \ \ \ cout\ $<$$<$\ \texttt{"{}\ $|$\ "{}}; \\
+\mbox{}\texttt{405:} \ \ \ \ \ \ \ \ \}\textit{//if} \\
+\mbox{}\texttt{406:} \ \ \ \ \ \ \} \\
+\mbox{}\texttt{407:}  \\
+\mbox{}\texttt{408:} \ \ \ \ \ \ aantalkaarten-\/-; \\
+\mbox{}\texttt{409:}  \\
+\mbox{}\texttt{410:} \ \ \ \ \ \ \textit{/*\ controleer\ troef\ in\ het\ spel\ */} \\
+\mbox{}\texttt{411:} \ \ \ \ \ \ \textbf{if}\ (\ \textbf{dekleur}(kaart[0])\ ==\ troef\ $|$$|$\ \textbf{dekleur}(kaart[1])\ ==\ troef\  \\
+\mbox{}\texttt{412:} \ \ \ \ \ \ \ \ \ \ \ $|$$|$\ \textbf{dekleur}(kaart[2])\ ==\ troef\ $|$$|$\ \textbf{dekleur}(kaart[3])\ ==\ troef\ ) \\
+\mbox{}\texttt{413:} \ \ \ \ \ \ winkleur\ =\ troef; \\
+\mbox{}\texttt{414:} \ \ \ \ \ \ \textbf{else} \\
+\mbox{}\texttt{415:} \ \ \ \ \ \ \ \ winkleur\ =\ \textbf{dekleur\ }(kaart[0]); \\
+\mbox{}\texttt{416:}  \\
+\mbox{}\texttt{417:} \ \ \ \ \ \ \textit{/*\ bepaal\ de\ winnende\ spelers\ */} \\
+\mbox{}\texttt{418:} \ \ \ \ \ \ hoogste\ =\ -1; \\
+\mbox{}\texttt{419:} \ \ \ \ \ \ \textbf{if}\ (\ \textbf{dekleur\ }(kaart[0])\ ==\ winkleur\ \&\&\ kaart[0]\ $>$\ hoogste\ )\ \{ \\
+\mbox{}\texttt{420:} \ \ \ \ \ \ \ \ winnaar\ =\ speler; \\
+\mbox{}\texttt{421:} \ \ \ \ \ \ \ \ hoogste\ =\ kaart[0]; \\
+\mbox{}\texttt{422:} \ \ \ \ \ \ \}\textit{//if} \\
+\mbox{}\texttt{423:} \ \ \ \ \ \ \textbf{if}\ (\ \textbf{dekleur\ }(kaart[1])\ ==\ winkleur\ \&\&\ kaart[1]\ $>$\ hoogste\ )\ \{ \\
+\mbox{}\texttt{424:} \ \ \ \ \ \ \ \ winnaar\ =\ (speler+1)\ \%\ 4; \\
+\mbox{}\texttt{425:} \ \ \ \ \ \ \ \ hoogste\ =\ kaart[1]; \\
+\mbox{}\texttt{426:} \ \ \ \ \ \ \}\textit{//if} \\
+\mbox{}\texttt{427:} \ \ \ \ \ \ \textbf{if}\ (\ \textbf{dekleur\ }(kaart[2])\ ==\ winkleur\ \&\&\ kaart[2]\ $>$\ hoogste\ )\ \{ \\
+\mbox{}\texttt{428:} \ \ \ \ \ \ \ \ winnaar\ =\ (speler+2)\ \%\ 4; \\
+\mbox{}\texttt{429:} \ \ \ \ \ \ \ \ hoogste\ =\ kaart[2]; \\
+\mbox{}\texttt{430:} \ \ \ \ \ \ \}\textit{//if} \\
+\mbox{}\texttt{431:} \ \ \ \ \ \ \textbf{if}\ (\ \textbf{dekleur\ }(kaart[3])\ ==\ winkleur\ \&\&\ kaart[3]\ $>$\ hoogste\ )\ \{ \\
+\mbox{}\texttt{432:} \ \ \ \ \ \ \ \ winnaar\ =\ (speler+3)\ \%\ 4; \\
+\mbox{}\texttt{433:} \ \ \ \ \ \ \ \ hoogste\ =\ kaart[3]; \\
+\mbox{}\texttt{434:} \ \ \ \ \ \ \}\textit{//if} \\
+\mbox{}\texttt{435:}  \\
+\mbox{}\texttt{436:} \ \ \ \ \ \ \textbf{if}\ (\ printdetails\ )\ \{ \\
+\mbox{}\texttt{437:} \ \ \ \ \ \ \ \ cout\ $<$$<$\ \textbf{despeler\ }(winnaar)\ $<$$<$\ \texttt{"{}\ \ \ \ \ \ \ $|$"{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{438:} \ \ \ \ \ \ \}\textit{//if} \\
+\mbox{}\texttt{439:} \ \ \ \ \ \ \textbf{if}\ (\ winnaar\ ==\ 0\ $|$$|$\ winnaar\ ==\ 2\ ) \\
+\mbox{}\texttt{440:} \ \ \ \ \ \ \ \ slagenNZ++; \\
+\mbox{}\texttt{441:} \ \ \ \ \ \ \textbf{else} \\
+\mbox{}\texttt{442:} \ \ \ \ \ \ \ \ slagenOW++; \\
+\mbox{}\texttt{443:} \ \ \ \ \ \ speler\ =\ winnaar; \\
+\mbox{}\texttt{444:}  \\
+\mbox{}\texttt{445:} \ \ \ \ \ \ buurt++; \\
+\mbox{}\texttt{446:} \ \ \ \ \}\textit{//while} \\
+\mbox{}\texttt{447:} \ \ \ \ \textbf{break}; \\
+\mbox{}\texttt{448:} \ \ \}\textit{//switch} \\
+\mbox{}\texttt{449:} \}\textit{//spel::afspelen} \\
+\mbox{}\texttt{450:}  \\
+\mbox{}\texttt{451:} \textit{//uitslag\ op\ scherm} \\
+\mbox{}\texttt{452:} int\ spel::\textbf{uitslag\ }(bool\ printdetails)\ \{ \\
+\mbox{}\texttt{453:} \ \ int\ slagen\ =\ (\ NZ\ ?\ slagenNZ\ :\ slagenOW); \\
+\mbox{}\texttt{454:} \ \ \textbf{if}\ (printdetails)\ \{ \\
+\mbox{}\texttt{455:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}=Uitslag="{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{456:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}Slagen\ NZ\ \ \ \ \ \ \ :\ "{}}\ $<$$<$\ slagenNZ\ $<$$<$\ endl; \\
+\mbox{}\texttt{457:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}Slagen\ OW\ \ \ \ \ \ \ :\ "{}}\ $<$$<$\ slagenOW\ $<$$<$\ endl; \\
+\mbox{}\texttt{458:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}Contract\ bod\ \ \ \ :\ "{}}\ $<$$<$\ hoogte\ $<$$<$\ endl; \\
+\mbox{}\texttt{459:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}Contract\ paar\ \ \ :\ "{}}\ $<$$<$\ (\ NZ\ ?\ \texttt{"{}NZ\ "{}}\ :\ \texttt{"{}OW\ "{}}\ )\ $<$$<$\ endl; \\
+\mbox{}\texttt{460:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}Contact\ gehaald\ :\ "{}}; \\
+\mbox{}\texttt{461:} \ \ \} \\
+\mbox{}\texttt{462:} \ \ \textbf{if}\ (\ slagen\ $<$\ hoogte\ )\ \{ \\
+\mbox{}\texttt{463:} \ \ \ \ \textbf{if}\ (printdetails) \\
+\mbox{}\texttt{464:} \ \ \ \ \ \ cout\ $<$$<$\ \texttt{"{}TEKORT"{}}; \\
+\mbox{}\texttt{465:} \ \ \}\ \textbf{else}\ \textbf{if}\ (\ slagen\ ==\ hoogte\ )\ \{ \\
+\mbox{}\texttt{466:} \ \ \ \ \textbf{if}\ (printdetails) \\
+\mbox{}\texttt{467:} \ \ \ \ \ \ cout\ $<$$<$\ \texttt{"{}CORRECT"{}}; \\
+\mbox{}\texttt{468:} \ \ \}\ \textbf{else}\ \{ \\
+\mbox{}\texttt{469:} \ \ \ \ \textbf{if}\ (printdetails) \\
+\mbox{}\texttt{470:} \ \ \ \ \ \ cout\ $<$$<$\ \texttt{"{}TEVEEL"{}}; \\
+\mbox{}\texttt{471:} \ \ \} \\
+\mbox{}\texttt{472:} \ \ \textbf{if}\ (printdetails) \\
+\mbox{}\texttt{473:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}\ ("{}}\ $<$$<$\ slagen\ -\ hoogte\ $<$$<$\ \texttt{"{})"{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{474:}  \\
+\mbox{}\texttt{475:} \ \ \textbf{return}\ (slagen\ -\ hoogte); \\
+\mbox{}\texttt{476:} \}\textit{//spel::uitslag} \\
+\mbox{}\texttt{477:}  \\
+\mbox{}\texttt{478:} \textit{//===} \\
+\mbox{}\texttt{479:}  \\
+\mbox{}\texttt{480:} void\ \textbf{printTotaalWaarde\ }(string\ type,\ double\ waarde,\ double\ totaal)\ \{ \\
+\mbox{}\texttt{481:} \ \ \ \ cout\ $<$$<$\ \textbf{setiosflags}(ios::left); \\
+\mbox{}\texttt{482:} \ \ \ \ cout\ $<$$<$\ \textbf{setw}(10)\ $<$$<$\ type\ $<$$<$\ \texttt{"{}\ :\ "{}}; \\
+\mbox{}\texttt{483:} \ \ \ \ cout\ $<$$<$\ \textbf{resetiosflags}(ios::left); \\
+\mbox{}\texttt{484:} \ \ \ \ double\ percent\ =\ (waarde\ /\ totaal)\ *\ 100; \\
+\mbox{}\texttt{485:} \ \ \ \ cout.\textbf{precision}(8); \\
+\mbox{}\texttt{486:} \ \ \ \ cout\ $<$$<$\ \textbf{setw}(8)\ $<$$<$\ waarde; \\
+\mbox{}\texttt{487:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}\ =\ "{}}; \\
+\mbox{}\texttt{488:} \ \ \ \ cout.\textbf{precision}(2); \\
+\mbox{}\texttt{489:} \ \ \ \ cout\ $<$$<$\ \textbf{setw}(7)\ $<$$<$\ \textbf{setiosflags}(ios::fixed)\ $<$$<$\ percent \\
+\mbox{}\texttt{490:} \ \ \ \ $<$$<$\textbf{resetiosflags}(ios::fixed)\ $<$$<$\ \texttt{"{}\%"{}}; \\
+\mbox{}\texttt{491:} \ \ \ \ cout\ $<$$<$\ endl; \\
+\mbox{}\texttt{492:}  \\
+\mbox{}\texttt{493:} \}; \\
+\mbox{}\texttt{494:}  \\
+\mbox{}\texttt{495:} int\ \textbf{main\ }(\ )\ \{ \\
+\mbox{}\texttt{496:} \ \ int\ retcode\ =\ 0; \\
+\mbox{}\texttt{497:} \ \ int\ tekort\ =\ 0; \\
+\mbox{}\texttt{498:} \ \ int\ correct\ =\ 0; \\
+\mbox{}\texttt{499:} \ \ int\ teveel\ =\ 0; \\
+\mbox{}\texttt{500:} \ \ double\ eindscore\ =\ 0; \\
+\mbox{}\texttt{501:} \ \ int\ fout,\ goed; \\
+\mbox{}\texttt{502:}  \\
+\mbox{}\texttt{503:} \ \ spel\ S; \\
+\mbox{}\texttt{504:} \ \ int\ randInit; \\
+\mbox{}\texttt{505:}  \\
+\mbox{}\texttt{506:} \ \ \textit{/*\ Variabelen\ */} \\
+\mbox{}\texttt{507:} \ \ int\ logNiveau\ =\ SILENT;\ \textit{/*\ print\ niveau\ SILENT$|$VERBOSE\ */} \\
+\mbox{}\texttt{508:} \ \ double\ aantalKeer\ =\ 1000;\ \ \textit{/*\ aantal\ rondes\ */} \\
+\mbox{}\texttt{509:}  \\
+\mbox{}\texttt{510:} \ \ \textit{/*\ initialiseer\ random-generator,\ maar\ print\ seed\ om\ debugging} \\
+\mbox{}\texttt{511:} \textit{\ \ \ *\ mogelijk\ te\ maken} \\
+\mbox{}\texttt{512:} \textit{\ \ \ */} \\
+\mbox{}\texttt{513:} \ \ randInit\ =\ \textbf{time}(0); \\
+\mbox{}\texttt{514:} \ \ cout\ $<$$<$\ \texttt{"{}RandInit\ getal:\ "{}}\ $<$$<$\ randInit\ $<$$<$\ endl; \\
+\mbox{}\texttt{515:} \ \ \textbf{srand\ }(randInit);\  \\
+\mbox{}\texttt{516:}  \\
+\mbox{}\texttt{517:} \ \ \textit{/*\ Speel\ de\ potjes\ */} \\
+\mbox{}\texttt{518:} \ \ \textbf{for}\ (int\ i\ =\ 0;\ i\ $<$\ aantalKeer;\ i++)\ \{ \\
+\mbox{}\texttt{519:} \ \ \ \ S.\textbf{schud\ }(\ ); \\
+\mbox{}\texttt{520:} \ \ \ \ \textbf{if}\ (logNiveau) \\
+\mbox{}\texttt{521:} \ \ \ \ \ \ S.\textbf{print\ }(\ ); \\
+\mbox{}\texttt{522:}  \\
+\mbox{}\texttt{523:} \ \ \ \ \textit{/*\ Niveau\ contract\ en\ spelers\ */} \\
+\mbox{}\texttt{524:} \ \ \ \ S.\textbf{maakcontract\ }(CONTRACT$\_$RANDOM,\ logNiveau); \\
+\mbox{}\texttt{525:} \ \ \ \ S.spelerniveau[0]\ =\ NIVEAU$\_$SLIM; \\
+\mbox{}\texttt{526:} \ \ \ \ S.spelerniveau[1]\ =\ NIVEAU$\_$RANDOM; \\
+\mbox{}\texttt{527:} \ \ \ \ S.spelerniveau[2]\ =\ NIVEAU$\_$RANDOM; \\
+\mbox{}\texttt{528:} \ \ \ \ S.spelerniveau[3]\ =\ NIVEAU$\_$RANDOM; \\
+\mbox{}\texttt{529:} \ \ \ \ \textbf{if}\ (logNiveau) \\
+\mbox{}\texttt{530:} \ \ \ \ \ \ \ \ \textbf{for}\ (int\ i\ =\ 0;\ i\ $<$=\ 3;\ i++) \\
+\mbox{}\texttt{531:} \ \ \ \ \ \ \ \ \ \ \ \ cout\ $<$$<$\ \texttt{"{}Niveau\ speler\ "{}}\ $<$$<$\ i\ $<$$<$\ \texttt{"{}:"{}}\ $<$$<$\ S.spelerniveau[i]\ $<$$<$\ endl; \\
+\mbox{}\texttt{532:}  \\
+\mbox{}\texttt{533:} \ \ \ \ \textit{/*\ Afspelen\ bepaal\ type\ spel\ */} \\
+\mbox{}\texttt{534:} \ \ \ \ S.\textbf{afspelen\ }(SPEEL$\_$KOSTER$\_$BRIDGE,\ logNiveau); \\
+\mbox{}\texttt{535:}  \\
+\mbox{}\texttt{536:} \ \ \ \ \textbf{if}\ (logNiveau) \\
+\mbox{}\texttt{537:} \ \ \ \ \ \ cout\ $<$$<$\ endl; \\
+\mbox{}\texttt{538:} \ \ \ \ retcode\ =\ S.\textbf{uitslag\ }(logNiveau); \\
+\mbox{}\texttt{539:}  \\
+\mbox{}\texttt{540:} \ \ \ \ \textit{/*\ Boekhouding,\ voor\ de\ eindscore\ berekening\ */} \\
+\mbox{}\texttt{541:} \ \ \ \ \textbf{if}\ (retcode\ $>$\ 0)\ \{ \\
+\mbox{}\texttt{542:} \ \ \ \ \ \ \ \ teveel++; \\
+\mbox{}\texttt{543:} \ \ \ \ \ \ \ \ \textit{/*\ elk\ punt\ teveel\ score:\ -10\ */} \\
+\mbox{}\texttt{544:} \ \ \ \ \ \ \ \ eindscore\ =\ eindscore\ +\ retcode\ *\ -10; \\
+\mbox{}\texttt{545:} \ \ \ \ \}\ \textbf{else}\ \textbf{if}\ (retcode\ ==\ 0)\ \{ \\
+\mbox{}\texttt{546:} \ \ \ \ \ \ \ \ correct++; \\
+\mbox{}\texttt{547:} \ \ \ \ \ \ \ \ \textit{/*\ elk\ goede\ score\ +20\ */} \\
+\mbox{}\texttt{548:} \ \ \ \ \ \ \ \ eindscore\ =\ eindscore\ +\ 20; \\
+\mbox{}\texttt{549:} \ \ \ \ \}\ \textbf{else}\ \{ \\
+\mbox{}\texttt{550:} \ \ \ \ \ \ \ \ tekort++; \\
+\mbox{}\texttt{551:} \ \ \ \ \ \ \ \ \textit{/*\ elk\ punt\ tekort\ score:\ -20\ } \\
+\mbox{}\texttt{552:} \textit{\ \ \ \ \ \ \ \ \ *\ retcode\ is\ al\ negatief} \\
+\mbox{}\texttt{553:} \textit{\ \ \ \ \ \ \ \ \ */} \\
+\mbox{}\texttt{554:} \ \ \ \ \ \ \ \ eindscore\ =\ eindscore\ +\ (retcode\ *\ 20); \\
+\mbox{}\texttt{555:} \ \ \ \ \} \\
+\mbox{}\texttt{556:} \ \ \} \\
+\mbox{}\texttt{557:}  \\
+\mbox{}\texttt{558:} \ \ \textit{/*\ Bereken\ eindresultaat\ */} \\
+\mbox{}\texttt{559:} \ \ fout\ =\ tekort\ +\ teveel; \\
+\mbox{}\texttt{560:} \ \ goed\ =\ correct; \\
+\mbox{}\texttt{561:} \ \ \textbf{printTotaalWaarde}(\texttt{"{}Tekort"{}},\ tekort,\ \ aantalKeer); \\
+\mbox{}\texttt{562:} \ \ \textbf{printTotaalWaarde}(\texttt{"{}Correct"{}},\ correct,\ \ aantalKeer); \\
+\mbox{}\texttt{563:} \ \ \textbf{printTotaalWaarde}(\texttt{"{}Teveel"{}},\ teveel,\ \ aantalKeer); \\
+\mbox{}\texttt{564:} \ \ cout\ $<$$<$\ endl; \\
+\mbox{}\texttt{565:} \ \ \textbf{printTotaalWaarde}(\texttt{"{}Goed"{}},\ goed,\ \ aantalKeer); \\
+\mbox{}\texttt{566:} \ \ \textbf{printTotaalWaarde\ }(\texttt{"{}Fout"{}},\ fout,\ aantalKeer); \\
+\mbox{}\texttt{567:} \ \ \textbf{printTotaalWaarde\ }(\texttt{"{}EindScore"{}},\ eindscore,\ aantalKeer\ *\ 20); \\
+\mbox{}\texttt{568:} \}\textit{//main} \\
+\mbox{}\texttt{569:}  \\
+
Index: /liacs/ai/bridge/report.tex
===================================================================
--- /liacs/ai/bridge/report.tex	(revision 2)
+++ /liacs/ai/bridge/report.tex	(revision 2)
@@ -0,0 +1,265 @@
+%
+% $Id: report.tex 525 2008-03-18 15:38:34Z rick $
+%
+
+\documentclass[12pt,a4paper]{article}
+
+\frenchspacing
+\usepackage[english,dutch]{babel}
+\selectlanguage{dutch}
+\usepackage{graphicx}
+\usepackage{url}
+\usepackage{multicol}
+\usepackage{fancybox}
+
+\author{Rick van der Zwet, Universiteit Leiden}
+\title{Kunstmatige Intelligentie  2008 --- opdracht 1 \\
+\large{simpleBridge}}
+\author{Rick van der Zwet\\
+  \texttt{<hvdzwet@liacs.nl>}\\
+  \\
+  LIACS\\
+  Leiden University\\
+  Niels Bohrweg 1\\
+  2333 CA Leiden\\
+  The Netherlands}
+\date{\today}
+
+\begin{document}
+
+\maketitle
+
+\section{Inleiding}
+
+Dit verslag gaat over de eerste programmeer-opgave van het vak
+kunstmatige intelligentie\cite{bridge-opdracht}. Welke als opdracht heeft het kaartspel
+\emph{simpleBridge} te onderzoeken. Tijdens dit onderzoek zal
+uitgezocht worden of met simpele regels te voorspellen is wat de uitslag
+wordt van een spelletje \emph{simpleBridge}.
+Als tweede wordt gekeken of het mogelijk is om met behulp van een aantal
+simpele regels een zeer eenvoudige reflex-agent te construeren die
+winnend speelt tegenover zijn willekeurige tegenhangers.
+
+\section{Uitleg probleem}
+
+\emph{simpleBridge} is zeer versimpelde versie bridge\footnote{Kijk voor
+de volledige spelregels van bridge op Bridge pagina van Wikipedia\cite{bridge-wiki}}
+met 4 spelers die in 2 teams tegen elkaar spelen.
+\begin{figure}[!ht]
+\begin{center}
+\includegraphics[scale=1]{speelbord}
+\end{center}
+\caption{
+Voor de duidelijkheid zijn in het verslag heten de spelers
+Noord, Oost, Zuid en West. En speelt Noord samen met Zuid in team
+\emph{NZ} en bevat team \emph{OW} de spelers Oost en West.
+}
+\end{figure}
+Er wordt gespeeld met een normaal kaartspel, dit bestaat uit 52 unieke
+kaarten, welke een kleur hebben (Schoppen, Harten, Klaveren, Ruiten) en
+een van de 13 unieke oplopende waardes. Er zijn van elke kleur dus 13
+uniek oplopende kaarten in het spel. \cite{kaartspel-wiki}
+
+Elke speler krijgt willekeurig 13 kaarten toegewezen en heeft geen zicht
+op de kaarten van de andere spelers, nu wordt er willekeurig een team
+toegewezen die de \emph{troefkleur} mag kiezen en het aantal slagen dat
+ze denken te gaan halen, dit wordt het \emph{contract} genoemd. Tijdens
+deze keuze hebben ze zicht op alle kaarten van het team, maar niet op de
+kaarten van het andere team. Na het maken van het contract wordt er
+afgespeeld, hierbij is voor elke speler niet meer bekend wat de andere
+spelers voor kaarten in handen hebben.
+
+Het \emph{afspelen} gaat als volgt:
+
+Er wordt willekeurig een speler gekozen die een kaart naar keuze
+opgegooid. De rest van de spelers gooien om de beurt (met de klok mee) een
+kaart mee, welke van dezelfde kleur is als de eerste kaart die
+opgegooid is. Als deze niet in bezit is volstaat een het willekeurige
+andere kaart.
+
+Nadat alle vier de spelers een kaart hebben gespeeld wordt er gekeken
+welke kaart de winnaar is. De hoogst gespeelde troef wint en als deze
+niet present zijn dan is de hoogste kaart van de kleur die als eerste
+kaart gespeeld is de winnaar en heeft het team van de speler die deze
+kaart gespeeld heeft een \emph{slag}
+
+De speler van de winnende kaart is nu aan de beurt en mag een kaart
+naar keuze opgooien en wordt het spel weer hetzelfde afgespeeld als
+hierboven. Dit gaat door tot alle kaarten gespeeld zijn en er dus 13
+slagen verdeeld zijn tussen de 2 teams.
+
+Het aantal verwachte slagen (het contract) wordt nu vergeleken met het
+aantal daadwerkelijk gehaalde slagen. Als deze gelijk zijn levert dit 20
+punten op, elk slag te weinig kost 20 punten en elk slag teveel kost 10
+punten.
+
+Het meeste aantal punten zijn dus te halen door het beste te bieden en
+daarop het slimste te spelen. Als extra randvoorwaarde zal er geprobeerd
+worden zoveel mogelijk slagen te halen, dit komt echter niet terug in de
+punten aantallen.
+
+\section{Theorie}
+
+Als het kiezen van het bod en het afspelen volledig willekeurig gebeurt zal
+het contract zelden behaald worden door de grote hoeveelheid kaart
+mogelijkheden. 
+
+Tijdens de keuze van het contract word gebruik gemaakt van de informatie
+die beschikbaar is en van de regels die gesteld zijn.  Er wordt niet in
+het het `geheim' het spel afgespeeld om ervoor te zorgen dat een goed
+contract gemaakt wordt. Aan ditzelfde gedrag voordoet de kaartspeel
+agent. Dit gedrag is ook te zien bij een simpele reflex agent (zie
+Figuur~\ref{fig:agent}, bron figuur
+Wikipedia~\footnote{\url{http://en.wikipedia.org/wiki/Image:IntelligentAgent-SimpleReflex.png}}).
+
+
+\begin{figure}[!ht]
+\begin{center}
+\includegraphics[height=60mm]{simple-agent.eps}
+\end{center}
+\caption{
+De simpele reflex agenten kan je vergelijken met een simpele actie en
+reactie mechanisme als het menselijke instinct. Zonder dat er bij
+nagedacht wordt over het doel/nut wordt er overgegaan tot actie na
+invoer van de buitenwereld}
+\label{fig:agent}
+\end{figure}
+
+\section{Aanpak}
+Voor zowel de contract agent en de afspeel agent zijn simpele regels
+verzonnen die respectievelijk het bieden of het afspelen proberen te
+voorspellen.
+
+\subsection{Contract agent}
+Troef levert de meeste slagen op, dus de kleur waar de meeste kaarten
+van beschikbaar zijn wordt troef en levert een slag op. Als volgende
+zijn de hoogste kaarten aan de beurt. Eerst wordt er bijvoorbeeld
+gekeken of de aas present is, dan de heer, enzovoort. Dit wordt
+gekeken per bepaalde kleur. Alle aansluitende hoge kaarten leveren ook
+een slag op.
+
+\subsection{Afspeel agent}
+De tactiek wordt om zo snel mogelijk de hoge kaarten uit het spel te
+krijgen. Dit wordt tewerkstelligd door op moment dat de speler uit mag
+komen de hoogste kaart uit zijn kaarten te spelen, bij gelijke waarden
+heeft een troef de voorkeur. Als er bijgespeeld moet worden (dus niet als
+eerste aan de beurt) dan de hoogste kaart van de kleur meespelen, of de
+laagste (troef)kaart bij het niet in handen hebben van de meespeel kleur.
+
+\section{Implementatie}
+
+Er is gekozen om als basis het aangeboden skelet
+programma\cite{bridge-skelet} te gebruiken welke in de programmeertaal
+C$\stackrel{++}{}$ versie 4.0.1 geschreven is.
+De structuur/werking van de code is niet veranderd, maar de opzet van
+bijvoorbeeld de uitvoer code wel.
+
+\section{Experimenten}
+Om de experimenten zo eerlijk mogelijk te laten verlopen is ervoor
+gekozen om de randvoorwaarden gelijk te houden. Onder de randvoorwaarden
+valt het aantal kaarten dat zichtbaar is tijdens contract keuze en het
+niet kunnen zijn van de kaarten op tafel. Verder zijn de opstellingen
+10000 keer gespeeld om uitersten te elimineren. De opstellingen speelden
+met dezelfde random begin seed om zo de kaarten die gegeven worden
+hetzelfde te laten zijn.
+
+Elke opstelling is in de code ingevoerd en daarna is de code opnieuw
+gecompileerd en uitgevoerd. Tijdelijke (object) bestanden zijn
+tussentijds weggegooid.
+
+De resultaten van de experimenten zijn te vinden in
+Tabel~\ref{tab:resultaten}.
+\begin{center}
+\begin{table}[h]
+\caption{Opstelling is gecodeerd als Noord,Oost,Zuid,West welke Random
+of Slim zijn. De contract agent is Random of Slim. Tekort, Correct en
+Teveel en Score zijn de uitkomsten na 10000 spel rondes, met random seed
+getal 1203969568. Hoe hoger de Score hoe beter}
+\begin{tabular}{l|l|l|l|l|l}
+Opstelling  & Contract agent & Tekort & Correct & Teveel & Score\\
+\hline
+$R,R,R,R$ & $R$ & $5020$ & $793 $ & $4187$ & $-545350$ \\
+$S,R,R,R$ & $R$ & $5072$ & $741 $ & $4187$ & $-554260$ \\
+$S,R,S,R$ & $R$ & $5020$ & $770 $ & $4210$ & $-551230$ \\
+$S,S,S,S$ & $R$ & $5039$ & $756 $ & $4205$ & $-567600$ \\
+$R,R,R,R$ & $S$ & $6075$ & $1751$ & $2174$ & $-297840$ \\
+$S,R,R,R$ & $S$ & $6127$ & $1686$ & $2187$ & $-307010$ \\
+$S,R,S,R$ & $S$ & $6031$ & $1651$ & $2318$ & $-319270$ \\
+$S,S,S,S$ & $S$ & $5889$ & $1497$ & $2614$ & $-339580$
+\end{tabular}
+\label{tab:resultaten}
+\end{table}
+\end{center}
+
+\section{Conclusie}
+De score is enkel afhankelijk van het type contract agent gebruikt. De
+random agent levert een score van $-56760$ t/m $-545350$, de random
+afspeel agent een betere score dan de slimme agent. De slimme agent
+levert een score van $-339580$ t/m $-297840$ en ook hier geld weer hoe
+de random afspeel agent een betere score dan de slimme agent.
+
+Nader onderzoek aan de code wijst uit dat er twee factoren aangewezen
+kunnen worden die dit gedrag kunnen verklaren. Tijdens het maken van het
+contract wordt het paar volledig random gekozen en hiervan wordt de
+score bepaald. Het kan dus zijn dat tijdens de combinatie $S,R,S,R$
+waarbij de $NZ$ dus slim spelen een contract keuze $R$ toegewezen
+krijgen. Deze mogelijkheid is onderzocht door het slimme contract altijd
+voor paar $NZ$ te laten gelden en leverde de waardes op $6215,
+1549, 2236, -342270$. De score is zelfs nog slechter.
+
+Of de slimme speler is te `dom' of het slimme contract is te hoog
+ingeschat. Dit laatste is het meest aannemelijk want tijdens het bepalen
+van het contract word er geen rekening gehouden met verschillende
+feiten. Als speler $A$ een hoge kaart heeft van een bepaalde kleur en
+speler $B$ ook. Dan zullen ze tijdens het spelen van dit slag beiden hun
+hoge kaart tegelijk moeten opgooien en zal er maar een slag gehaald
+worden. Verder wordt een hoge troefkaart twee keer geteld als slag.
+Zowel in de troef ronde als in de hoge kaarten ronde.
+
+Verder heeft de slimme speelagent geen gebruikt gemaakt van het contract
+wat geboden is in het geval van de random contract agent en zijn er in
+bijna 40\% van de gevallen teveel slagen gehaald.
+
+Als laatste is de score niet geheel betrouwbaar, omdat elk gemaakt
+contract even zwaar telt, terwijl beide agenten van het meeste aantal
+slagen uitgaan. Een score factor bij een gehaald contract van $aantal
+gehaalde slagen * 10$ zou dit beter reflecteren.
+
+\begin{thebibliography}{XX}
+
+\bibitem{bridge-opdracht}
+W.A.~Kosters, Kunstmatige intelligentie Programmeer-opgave 1 van 2008
+-- Bridge, \url{http://www.liacs.nl/~kosters/AI/bridge.html}
+
+\bibitem{bridge-skelet}
+W.A.~Kosters, Kunstmatige intelligentie Programmeer-opgave 1 van 2008
+-- Bridge -- skelet programma, \url{http://www.liacs.nl/~kosters/AI/bridge.cc}
+
+\bibitem{bridge-wiki}
+Wikipedia, the free Encyclopedia, Bridge, latest version
+\url{http://nl.wikipedia.org/wiki/Bridge}
+
+\bibitem{kaartspel-wiki}
+Wikipedia, the free Encyclopedia, Speelkaart, as of 25 Februari 2008,
+\url{http://nl.wikipedia.org/wiki/Speelkaart}
+
+\bibitem{collegeboek}
+S.J. Russell en P. Norvig, Artificial Intelligence, A Modern Approach,
+Second ediion, Prentice Hall, 2003.
+\end{thebibliography}
+
+\section*{Appendix}
+Het programma gebruikt voor de experimenten ziet er als volgt uit:
+\tiny
+\advance\textwidth by 8cm
+\advance\oddsidemargin by -3cm
+\advance\evensidemargin by -3cm
+\advance\topmargin by -2cm
+\advance\textheight by 2cm
+\advance\footskip by -2cm
+\marginparwidth 0cm
+\twocolumn
+%c++ input preformatted with `source-highlight -n -f latex bridge.cc`
+\include{bridge.cc}
+\onecolumn
+\end{document}
Index: /liacs/ai/docs/index.html
===================================================================
--- /liacs/ai/docs/index.html	(revision 2)
+++ /liacs/ai/docs/index.html	(revision 2)
@@ -0,0 +1,440 @@
+<HTML>
+
+<HEAD>
+<TITLE>Kunstmatige intelligentie</TITLE>
+</HEAD>
+
+<BODY BGCOLOR="#FFFFFF" TEXT="black" LINK="blue" VLINK="red" ALINK="green">
+
+<H1>Kunstmatige intelligentie</H1>
+<IMG ALIGN=RIGHT SRC="ul.gif" ALT="">
+Het vak <em>Kunstmatige intelligentie</em>,
+ook wel <em>AI</em> (van <em>Artificial Intelligence</em>)
+genoemd, wordt verzorgd door
+<A HREF="/home/kosters/">dr. W.A. (Walter) Kosters</A>,
+geassisteerd door
+<A HREF="/home/edegraaf/">drs. Edgar de Graaf</A>,
+en wordt in het voorjaar van 2008 gegeven.
+<P>
+<font color=red>Note that the course is in DUTCH.</font>
+<p>
+<A HREF="#college">College</A>tijden:
+dinsdagen, van 13.45 tot 15.30 uur,
+in zaal 174 van het Snellius,
+het gebouw van Wiskunde en Informatica, Niels Bohrweg 1, Leiden.
+Data: 5 februari tot en met 22 april 2008.
+<font color=red>Let op:</font> er is ook college op dinsdag 6 mei 2008,
+11.15-13.00 uur, in zaal 174.
+Direct aansluitend aan de colleges is er uitgebreid gelegenheid vragen te stellen,
+met name over de programmeeropgaven, tijdens een vragenuur.
+<br>
+Er zijn vier werkcolleges gepland:
+maandag 25 februari, maandag 17 maart,
+maandag 7 april en dinsdag 6 mei 2008,
+steeds van 13.45 tot 15.30 uur, ook in zaal 174.
+Tijdens het semester worden wellicht ook nog enkele andere werkcolleges afgesproken.
+Er wordt hier gewerkt aan
+<A HREF="#archief">tentamenopgaven</A>
+en aan de verslagen van de 
+<A HREF="#practicum">programmeeropgaven</A>.
+Onderwerpen voor deze werkcolleges:
+<ul>
+<li>maandag 25 februari 2008: ...
+<li>maandag 17 maart 2008: opgaven 1, 5, 18 en 25 van de 
+    <a href="vanalles.pdf">Compilatie 2001-2007</a>
+<li>maandag 7 april 2008: opgaven 2, 6, 8 en 10 van de 
+    <a href="vanalles.pdf">Compilatie 2001-2007</a>
+    <em>en</em> derde programmeeropgave
+<li>dinsdag 6 mei 2008: ...
+<li>...
+</ul>
+<p>
+Het vak levert 6 (zes) ECTS punten op in het nieuwe systeem (vanaf 2002/2003;
+voorheen waren dit 4 (vier) "oude" studiepunten). 
+Naast het voldoende maken van het tentamen
+is het hiervoor ook nodig het 
+<A HREF="#practicum">practicum</A> 
+voldoende te hebben.
+Het eindcijfer wordt voor 99% bepaald door het tentamencijfer,
+eventueel enigszins afgerond in de richting van het gemiddelde practicumresultaat, 
+<em>mits</em> beide voldoende zijn. Ten einde het practicum voldoende
+te maken, moeten de vier opgaven alle met minstens een 6 
+of een "OK" beoordeeld zijn.
+<BR>
+Het college is in eerste instantie bedoeld voor tweede- en hogerejaars
+studenten Informatica, maar is ook interessant voor andere
+belangstellenden; voorkennis van de programmeertaal 
+<A HREF="../pm/">C++</A>
+is sterk aan te raden.
+
+<h3>Tentamendata</h3>
+
+De tentamendata in <font color=red>2008</font> zijn:
+<ul>
+<li>woensdag 25 juni 2008, 14.00 - 17.00 uur<br>
+    vragenuur: maandag 23 juni 2008, 11.00 uur; zaal 174
+<li>hertentamen: vrijdag 15 augustus 2008, 14.00 - 17.00 uur
+</ul>
+
+<p>
+Alle cijfers (college voorjaar 2008) zijn te zijner tijd
+<A HREF="res08.txt">hier</A>
+te vinden.
+Zie ook 
+<A HREF="geschied.html">vroeger</A>.
+
+<h3>Materiaal</h3>
+<A HREF="http://aima.cs.berkeley.edu/"><IMG ALIGN=RIGHT SRC="2esmall.jpg" ALT = "BOEK RN" BORDER="0"></A>
+
+Gebruik wordt gemaakt van het boek 
+<A HREF="http://aima.cs.berkeley.edu/">Artificial intelligence, A modern approach</A> 
+van Stuart J. Russell en Peter Norvig, second edition, Prentice Hall, 2003.
+Het kost in de winkel circa 60 euro;
+soms is de versie met slappe kaft goedkoper.<BR>
+In het bijzonder worden uit dit boek
+de volgende hoofdstukken behandeld:
+1 (Introduction; lezen), 
+2 (Intelligent agents; lezen), 
+3 (Solving problems by searching; uitgebreid), 
+4 (Informed search and exploration; uitgebreid), 
+5 (Constraint satisfaction problems; uitgebreid), 
+6 (Adversarial search; uitgebreid),
+7 (Logical agents; lezen, met name Wumpus), 
+8 (First order logic; lezen, met name Wumpus), 
+14 (Probabilistic reasoning; uitgebreid; lees ook 13, Uncertainty), 
+18 (Learning from observations; uitgebreid, met name beslissingsbomen), 
+19.1 (Knowledge in learning; lezen), 
+20.5 (Statistical learning methods; uitgebreid: neurale netwerken),
+21.1,2,3 (Reinforcement learning, geillustreerd met 17.1,2; 
+uitgebreid, aangevuld met 4.3 Genetische algoritmen)
+en
+25 (Robotics; lezen, + concreet robot-programma),
+grotendeels in deze volgorde.
+Lees ook eens Hoofdstuk 26 (Philosophical foundations).
+<BR>
+Daarnaast werd in voorgaande jaren nog speciaal aandacht besteed aan het onderwerp
+<A HREF="datam.html">Data mining</A>, maar aangezien er nu een apart
+derdejaars vak is met die titel ...
+<p>
+Overige literatuur (niet kopen &mdash; tenzij je erg veel geld hebt):
+<ul>
+<li><A HREF="http://www.cs.unm.edu/~luger/">George F. Luger</A>,
+Artificial intelligence, Structures and strategies for complex problem solving, Fifth edition,
+Addison-Wesley, 2005.
+<li>R. Callan, Artificial intelligence,
+<a href="http://www.palgrave.com/">Palgrave Macmillan</a>, 2003.
+<li>Tom M. Mitchell,
+<A HREF="http://www.cs.cmu.edu/afs/cs.cmu.edu/user/mitchell/ftp/mlbook.html">Machine learning</A>,
+McGraw-Hill, 1997.
+<li>Michael Negnevitsky, 
+<A HREF="http://www.booksites.net/negnevitsky/">Artificial intelligence, A guide to intelligent systems</A>, Addison-Wesley, Second edition, 2004.
+<li>
+E. Alpaydin, 
+<a href="http://www.cmpe.boun.edu.tr/~ethem/i2ml/">Introduction to machine learning</a>,
+The MIT Press, 2004.
+</ul>
+
+<h3><A NAME="archief">Archief</A></h3>
+
+<ul>
+<li><A HREF="ten1juni.ps">tentamen 1 juni 2001</A> (in PostScript)
+met 
+<A HREF="aiuit01.ps">uitwerking</A> (in PostScript)
+<li><A HREF="ten13aug.ps">tentamen 13 augustus 2001</A> (in PostScript)
+met 
+<A HREF="aiuit201.ps">uitwerking</A> (in PostScript)
+<li><A HREF="ten5ju02.ps">tentamen 5 juni 2002</A> (in PostScript)
+<li><A HREF="te12au02.ps">tentamen 12 augustus 2002</A> (in PostScript)
+<li><A HREF="teai4603.pdf">tentamen 4 juni 2003</A> (in PDF)
+<li><A HREF="tai25603.pdf">tentamen 25 juni 2003</A> (in PDF)
+<li><A HREF="ai120803.pdf">tentamen 12 augustus 2003</A> (in PDF)
+<li><A HREF="tai40604.pdf">tentamen 4 juni 2004</A> (in PDF)
+<li><A HREF="ai3ju05.pdf">tentamen 3 juni 2005</A> (in PDF)
+<li><A HREF="tai200606.pdf">tentamen 20 juni 2006</A> (in PDF)
+<li><A HREF="tai200608.pdf">tentamen 21 augustus 2006</A> (in PDF)
+<li><A HREF="tai20071.pdf">tentamen 19 juni 2007</A> (in PDF)
+</ul>
+
+Handiger: bekijk de <a href="vanalles.pdf">Compilatie 2001-2007</a> (in PDF, 18 pagina's);
+<a href="antw.pdf">enkele antwoorden</a> (in PDF).
+<p>
+Er is meer informatie te vinden over het college
+<A HREF="geschied.html">de afgelopen jaren</A>.
+<BR>
+Let op: vanaf voorjaar 2005 hoort het onderwerp 
+Data mining niet meer bij de tentamenstof.
+<P>
+<HR>
+
+<FONT COLOR=RED>
+<H2><A NAME="practicum">Het practicum</A></H2>
+</FONT>
+
+Voor iedere practicumopgave moeten worden ingeleverd:
+een minstens drie pagina's 
+(laten we zeggen vijf pagina's, afgezien van de Appendix)
+tellend verslag in
+<A HREF="../stuva1/lshort.pdf">LaTeX</A>
+(dit is een GROTE tekst in PDF;
+zie ook <a href="latexsl.pdf">hier</a> 
+voor een zeer korte inleiding, en
+<a href="/home/hoogeboo/stuva/land-intro.pdf">daar</a>
+voor een langere;
+of een heel korte zichzelf uitleggende
+<a href="sample2e.tex">voorbeeldfile</a>;
+of een leuke, uitgebreide, Vlaamse
+<A HREF="http://endymion.ugent.be/~gaspard/latex/">handleiding</A>),
+en een werkend programma (digitaal (mailen aan de docent)
+en uitgeprint in de Appendix
+van het verslag;
+stuur geen LaTeX/PS/PDF-files en ook geen executables).
+Het verslag moet een duidelijke opbouw hebben, bijvoorbeeld:
+<ol>
+<li>Inleiding ("dit is de tweede opdracht van het college ...")
+<li>Uitleg probleem (plaatje; "de spelregels zijn ...", gebruikte definities)
+<li>Theorie ("stelling zegt dat ...")
+<li>Aanpak (plaatje; "een drielaags neuraal netwerk ...")
+<li>Implementatie ("een dubbel array"; kort)
+<li>Experimenten (tabel, grafiek)
+<li>Conclusie ("ging fout als de testopstelling niet verlicht was")
+<li>Referenties (genummerd; naar alle wordt verwezen; "handleiding Lego-robots ...", "Russell en Norvig ...")<BR>
+Een fatsoenlijke referentie ziet er uit als:<BR>
+   [1] S.J. Russell en P. Norvig, Artificial intelligence, A modern approach,
+   second edition, Prentice Hall, 2003
+<li>Appendix: het programma; 
+    tip: vervang tabs door spaties,
+    kies kleiner lettertype, en zet het tussen <tt>\begin{verbatim}</tt>
+    en <tt>\end{verbatim}</tt>;
+    liefhebbers: gebruik package <tt>verbatim</tt> en het commando
+    <tt>\verbatiminput{eigen.file}</tt>
+</ol>
+Er is een klein skelet voor de verslagen:
+<a href="verslag.tex">verslag.tex</a>,
+dat deze <a href="verslag.pdf">PDF-versie</a> op kan leveren.
+Zie ook 
+<a href="opm.pdf">diverse opmerkingen</a>.
+<P>
+De deadlines zijn strikt, overleg eventueel
+met de docent(en).
+Voor alle opdrachten geldt dat ze nog voorlopig zijn, aanvullingen
+tijdens het semester zullen zeker voorkomen.
+Eigen initiatief wordt &mdash;na overleg&mdash; op prijs gesteld.
+<BR>
+De opgaven worden per stuk als volgt beoordeeld:
+er wordt gekeken naar het verslag en het
+programma (met name werking en leesbaarheid);
+originaliteit beinvloedt de eind-afronding.
+De cijfers zijn 
+<A HREF="res08.txt">hier</A>
+te vinden. Oude cijfers: bij de docent.
+<BR>
+Het practicum bestaat zoals gezegd uit vier opgaven
+(<font color=red>Let op: dit zijn deels nog de opgaven van vorig jaar (2007)</font>):
+
+<ol>
+<li> <b>Bridge</b>; deadline <b>dinsdag 26 februari 2008</b><BR>
+ Zie verder <a href="bridge.html">hier</a>.
+ <!-- Vragensessie: dinsdag 20 februari 2007, 15.45 uur, zaal 401.-->
+  
+<li>
+<b>Robotica</b>; deadline <b>dinsdag 18 maart 2008</b><BR>
+ Maak vier robots voor het programma
+ <a href="http://www.cyty.com/robocom/">RoboCom</a>,
+ zie voor de Linux-versie verder <a href="robotour.pdf">RoboCom Linux tips</a>.
+ Tip: lees eerst deze
+ <a href="http://www.cyty.com/robocom/download/RobSci_E.html">documentatie</a>.<br>
+ Inleveren: verslag op papier (met bots in de appendix) en email
+ met de bots.
+ <!--Vragensessie: donderdag 15 maart 2007, 15.45 uur.-->
+ 
+<li>
+<b>Neuraal netwerk</b>; deadline <b>dinsdag 8 april 2008</b><BR>
+  <font color=red>VERSIE 2007</FONT>
+  Schrijf in C++ een neuraal netwerk, dat van een hit op
+  een webserver het tijdsverschil sinds de vorige hit vanaf hetzelfde
+  ip-adres voorspelt.
+  Meer informatie <a href="nn07.html">hier</a>.
+<!--  Vragensessie, gecombineerd met sommen-werkcollege:
+  donderdag 12 april 2007, 15.45 uur.-->
+
+
+<li>
+<b>Genetisch algoritme</b>; deadline <b>dinsdag 6 mei 2008</b><BR>
+  <font color=red>VERSIE 2007</FONT>
+  Schrijf in C++ een Genetisch algoritme, dat een 
+  magisch vierkant maakt.
+  Meer informatie <a href="ga07.html">hier</a>.
+<!--   Vragensessie: dinsdag 8 mei 2007, 15.45 uur.-->
+
+</ol>
+
+<HR>
+
+<FONT COLOR=RED>
+<H2><A NAME="college">De colleges</A></H2>
+</FONT>
+
+Tijdens de colleges wordt het volgende behandeld.
+Het programma is uiteraard voorlopig,
+zelfs als het semester voorbij is &mdash; op deze webpagina is steeds
+de meest actuele versie te vinden.
+Voor sheets van voorgaande jaren raadplege men 
+<A HREF="geschied.html">de oude pagina's</A>.
+Tijdens de colleges vinden ook discussies plaats
+over de genoemde hoofdstukken van Russell/Norvig.
+De sheets zijn voornamelijk gebaseerd op die van deze beide heren,
+en op sheets die vorige docenten fabriceerden.<BR>
+En voor de liefhebbers:
+<a href="totaal.pdf">alle 335 sheets</a> (in PDF, 2 MB; <font color=red>VERSIE 2007</font>).
+<BR>
+Er wordt op het
+tentamen vanzelfsprekend nog wel eens iets gevraagd wat niet (letterlijk)
+op de sheets staat ...
+<p>
+<font color=red>Let op: dit zijn deels nog de colleges van vorig jaar (2007)</font>:
+<ol>
+
+<li>dinsdag 5 februari 2008<BR>
+    Algemene introductie; het 
+    <A HREF="#practicum">practicum</A>, met name de eerste opgave.<BR>
+    Hoofdstuk 1 
+    (Introductie) in vogelvlucht, zie de sheets:
+    <BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;<a href="aieen.pdf">Introductie</a><BR>
+    Leuk leesvoer:<br>
+    &nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.loebner.net/Prizef/TuringArticle.html">Alan Turing's "Computing machinery and intelligence"</a><br>
+    &nbsp;&nbsp;&nbsp;&nbsp;<a href="hutchens96how.ps">Jason Hutchens' "How to pass the Turing test by cheating"</a>
+   
+<li>maandag 12 februari 2007<BR> 
+    Hoofdstuk 2 (Intelligente agenten), zie de sheets:<BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;    
+    <a href="agenten.pdf">Intelligente agenten</a>  
+ 
+<p><font color=red>==================== vanaf hier nog VERSIE 2007=====================</font>
+
+
+<li>maandag 19 februari 2007<BR>
+    Hoofdstuk 3 (Probleemoplossen en zoeken), zie de sheets:<BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;    
+    <a href="zoeken.pdf">Probleemoplossen en zoeken</a>
+
+<li>maandag 26 februari 2007<BR>
+    Robotica,
+    in het bijzonder 
+    <a href="http://www.cyty.com/robocom/">RoboCom</a>.
+    Lees ook Hoofdstuk 25 (Robotica) van Russell en Norvig.
+    Dit alles ten behoeve van de tweede 
+    <A HREF="#practicum">practicum</A>-opgave.
+    (Tot en met 2005 deden we
+    <A HREF="http://www.cs.uu.nl/people/markov/lego/index.html">Lego-robots</A>,
+    zie de
+    <A HREF="legotutorial.pdf">handleiding</A>
+    (288 kB, PDF; geschreven door Mark Overmars).)<BR>
+    Zie ook de sheets:<BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;    
+    <a href="robot.pdf">Robotica</a><BR>
+    Hoofdstuk 3, vervolg.<BR>
+    Leuk leesvoer:<br>
+    &nbsp;&nbsp;&nbsp;&nbsp;<a href="rodneybrooks.pdf">Rodney Brooks' "Intelligence without representation"</a>
+   
+
+<li>maandag 5 maart 2007<BR> 
+    Hoofdstuk 4 (Gericht zoeken), zie de sheets:<BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;    
+    <a href="gericht.pdf">Gericht zoeken</a>
+ 
+<li>maandag 12 maart 2007<BR>
+    Hoofdstuk 4, vervolg.<BR>
+    Hoofdstuk 5 (Constraint Satisfaction Problemen),
+    zie de sheets:<BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;    
+    <a href="csps.pdf">CSP's</a>
+
+
+<li>maandag 19 maart 2007<BR>
+    Algemene informatie over de derde 
+    <A HREF="#practicum">practicum</A>-opgave; 
+    <A HREF="perl.pdf">Perl</A>.<BR>
+    Hoofdstuk 20.5 (Neurale netwerken),
+    zie de sheets:<BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;    
+    <a href="neuraal.pdf">Neurale netwerken</a><br>
+    Denk ook aan het sommen-werkcollege op dinsdag 20 maart, 15.45 uur:
+    opgaven
+    1, 5, 18 en 25 van
+    <a href="vanalles.pdf">Compilatie 2001-2007</a> (in PDF, 18 pagina's).
+ 
+<li>maandag 26 maart 2007<BR>
+    Hoofdstuk 6 (Spel(l)en), zie de sheets:<BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;    
+    <a href="spellen.pdf">Spel(l)en</a>
+    <BR>
+    Leuk leesvoer:<br>
+    &nbsp;&nbsp;&nbsp;&nbsp;H.J. van den Herik, J.W.H.M. Uiterwijk en J. van Rijswijck,
+    Games solved: Now and in the future,<br>
+    &nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.sciencedirect.com/">Artificial Intelligence</a>
+    134 (2002) 277-311
+    (ophalen vanaf PC binnen universiteit)
+
+<li>maandag 2 april 2007<BR>
+    Hoofdstukken 7 (Logisch redenerende agenten),
+    8 (Eerste orde logica)
+    en 10.3, zie de sheets:<BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;    
+    <a href="logisch.pdf">Logische agenten</a><br>
+    Denk ook aan het sommen-werkcollege op donderdag 12 april, 15.45 uur:
+    opgaven
+    2, 8, 10 en 6 van
+    <a href="vanalles.pdf">Compilatie 2001-2007</a> (in PDF, 18 pagina's).
+ 
+<li>maandag 16 april 2007<BR>
+    Algemene informatie over de vierde 
+    <A HREF="#practicum">practicum</A>-opgave.<BR>
+    Vervolg van vorige keer.<BR>
+    Hoofdstuk 4.3 (Genetische algoritmen),
+    zie de sheets:<BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;    
+    <a href="genetisch.pdf">Genetische algoritmen</a>
+
+
+<li>maandag 23 april 2007<BR>
+    Hoofdstuk 18 (Leren van/uit observaties),
+    met name ID3, en Hoofdstuk 19.1, kort;
+    Hoofdstuk 21.1,2,3 (Reinforcement leren, geillustreerd met 17.1,2 (deels));
+    zie de sheets:<BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;    
+    <a href="leren.pdf">Leren</a>
+
+<li><font color=red>dinsdag 1 mei 2007, zaal 174</font><BR>
+    Hoofdstuk 13 (Onzekerheid; kort) en
+    Hoofdstuk 14 (Bayesiaanse netwerken),
+    zie de sheets:<BR>
+    &nbsp;&nbsp;&nbsp;&nbsp;    
+    <a href="bayesnet.pdf">Bayesiaanse netwerken</a>
+        
+<li>maandag 7 mei 2007<BR>
+    Van alles.
+    <BR>
+    Oude tentamens, zie het
+    <A HREF="#archief">archief</A>,
+    in het bijzonder opgaven
+    7, 11, 12, 17 en 20 van
+    <a href="vanalles.pdf">Compilatie 2001-2007</a> (in PDF, 18 pagina's);
+    <a href="antw.pdf">enkele antwoorden</a> (in PDF).
+</ol>
+
+Genoemde hoofdstukken komen steeds uit het boek van Russell en Norvig,
+tweede druk &mdash; met dank voor een flink gedeelte van de sheets en de meeste plaatjes.
+
+<P>
+<hr>
+<p>
+Vragen en/of opmerkingen kunnen worden gestuurd
+naar: <em><A HREF="mailto:kosters@liacs.nl">kosters@liacs.nl</A></em>.
+<p>
+12 februari 2008 &mdash; <b>http://www.liacs.nl/home/kosters/AI/index.html</b>
+
+</BODY>
+
+</HTML>
+
Index: /liacs/ai/docs/sample2e.tex
===================================================================
--- /liacs/ai/docs/sample2e.tex	(revision 2)
+++ /liacs/ai/docs/sample2e.tex	(revision 2)
@@ -0,0 +1,204 @@
+% This is a sample LaTeX input file.  (Version of 11 April 1994.)
+%
+% A '%' character causes TeX to ignore all remaining text on the line,
+% and is used for comments like this one.
+
+\documentclass{article}      % Specifies the document class
+
+                             % The preamble begins here.
+\title{An Example Document}  % Declares the document's title.
+\author{Leslie Lamport}      % Declares the author's name.
+\date{January 21, 1994}      % Deleting this command produces today's date.
+
+\newcommand{\ip}[2]{(#1, #2)}
+                             % Defines \ip{arg1}{arg2} to mean
+                             % (arg1, arg2).
+
+%\newcommand{\ip}[2]{\langle #1 | #2\rangle}
+                             % This is an alternative definition of
+                             % \ip that is commented out.
+
+\begin{document}             % End of preamble and beginning of text.
+
+\maketitle                   % Produces the title.
+
+This is an example input file.  Comparing it with
+the output it generates can show you how to
+produce a simple document of your own.
+
+\section{Ordinary Text}      % Produces section heading.  Lower-level
+                             % sections are begun with similar 
+                             % \subsection and \subsubsection commands.
+
+The ends  of words and sentences are marked 
+  by   spaces. It  doesn't matter how many 
+spaces    you type; one is as good as 100.  The
+end of   a line counts as a space.
+
+One   or more   blank lines denote the  end 
+of  a paragraph.  
+
+Since any number of consecutive spaces are treated
+like a single one, the formatting of the input
+file makes no difference to
+      \LaTeX,                % The \LaTeX command generates the LaTeX logo.
+but it makes a difference to you.  When you use
+\LaTeX, making your input file as easy to read 
+as possible will be a great help as you write 
+your document and when you change it.  This sample 
+file shows how you can add comments to your own input 
+file.
+
+Because printing is different from typewriting,
+there are a number of things that you have to do
+differently when preparing an input file than if
+you were just typing the document directly.
+Quotation marks like
+       ``this'' 
+have to be handled specially, as do quotes within
+quotes:
+       ``\,`this'            % \, separates the double and single quote.
+        is what I just 
+        wrote, not  `that'\,''.  
+
+Dashes come in three sizes: an 
+       intra-word 
+dash, a medium dash for number ranges like 
+       1--2, 
+and a punctuation 
+       dash---like 
+this.
+
+A sentence-ending space should be larger than the
+space between words within a sentence.  You
+sometimes have to type special commands in
+conjunction with punctuation characters to get
+this right, as in the following sentence.
+       Gnats, gnus, etc.\ all  % `\ ' makes an inter-word space.
+       begin with G\@.         % \@ marks end-of-sentence punctuation.
+You should check the spaces after periods when
+reading your output to make sure you haven't
+forgotten any special cases.  Generating an
+ellipsis
+       \ldots\               % `\ ' is needed after `\ldots' because TeX 
+                             % ignores spaces after command names like \ldots 
+                             % made from \ + letters.
+                             %
+                             % Note how a `%' character causes TeX to ignore 
+                             % the end of the input line, so these blank lines 
+                             % do not start a new paragraph.
+                             %
+with the right spacing around the periods requires
+a special command.
+
+\LaTeX\ interprets some common characters as
+commands, so you must type special commands to
+generate them.  These characters include the
+following:
+       \$ \& \% \# \{ and \}.
+
+In printing, text is usually emphasized with an
+       \emph{italic}  
+type style.  
+
+\begin{em}
+   A long segment of text can also be emphasized 
+   in this way.  Text within such a segment can be 
+   given \emph{additional} emphasis.
+\end{em}
+
+It is sometimes necessary to prevent \LaTeX\ from
+breaking a line where it might otherwise do so.
+This may be at a space, as between the ``Mr.'' and
+``Jones'' in
+       ``Mr.~Jones'',        % ~ produces an unbreakable interword space.
+or within a word---especially when the word is a
+symbol like
+       \mbox{\emph{itemnum}} 
+that makes little sense when hyphenated across
+lines.
+
+Footnotes\footnote{This is an example of a footnote.}
+pose no problem.
+
+\LaTeX\ is good at typesetting mathematical formulas
+like
+       \( x-3y + z = 7 \) 
+or
+       \( a_{1} > x^{2n} + y^{2n} > x' \)
+or  
+       \( \ip{A}{B} = \sum_{i} a_{i} b_{i} \).
+The spaces you type in a formula are 
+ignored.  Remember that a letter like
+       $x$                   % $ ... $  and  \( ... \)  are equivalent
+is a formula when it denotes a mathematical
+symbol, and it should be typed as one.
+
+\section{Displayed Text}
+
+Text is displayed by indenting it from the left
+margin.  Quotations are commonly displayed.  There
+are short quotations
+\begin{quote}
+   This is a short a quotation.  It consists of a 
+   single paragraph of text.  See how it is formatted.
+\end{quote}
+and longer ones.
+\begin{quotation}
+   This is a longer quotation.  It consists of two
+   paragraphs of text, neither of which are
+   particularly interesting.
+
+   This is the second paragraph of the quotation.  It
+   is just as dull as the first paragraph.
+\end{quotation}
+Another frequently-displayed structure is a list.
+The following is an example of an \emph{itemized}
+list.
+\begin{itemize}
+   \item This is the first item of an itemized list.
+         Each item in the list is marked with a ``tick''.
+         You don't have to worry about what kind of tick
+         mark is used.
+
+   \item This is the second item of the list.  It
+         contains another list nested inside it.  The inner
+         list is an \emph{enumerated} list.
+         \begin{enumerate}
+            \item This is the first item of an enumerated 
+                  list that is nested within the itemized list.
+
+            \item This is the second item of the inner list.  
+                  \LaTeX\ allows you to nest lists deeper than 
+                  you really should.
+         \end{enumerate}
+         This is the rest of the second item of the outer
+         list.  It is no more interesting than any other
+         part of the item.
+   \item This is the third item of the list.
+\end{itemize}
+You can even display poetry.
+\begin{verse}
+   There is an environment 
+    for verse \\             % The \\ command separates lines
+   Whose features some poets % within a stanza.
+   will curse.   
+
+                             % One or more blank lines separate stanzas.
+
+   For instead of making\\
+   Them do \emph{all} line breaking, \\
+   It allows them to put too many words on a line when they'd rather be 
+   forced to be terse.
+\end{verse}
+
+Mathematical formulas may also be displayed.  A
+displayed formula 
+is 
+one-line long; multiline
+formulas require special formatting instructions.
+   \[  \ip{\Gamma}{\psi'} = x'' + y^{2} + z_{i}^{n}\]
+Don't start a paragraph with a displayed equation,
+nor make one a paragraph by itself.
+
+\end{document}               % End of document.
Index: /liacs/ai/docs/verslag.tex
===================================================================
--- /liacs/ai/docs/verslag.tex	(revision 2)
+++ /liacs/ai/docs/verslag.tex	(revision 2)
@@ -0,0 +1,102 @@
+
+%
+% verslag.tex   1.2.2007
+% Voorbeeld LaTeX-file voor verslagen bij Kunstmatige Intelligentie
+% http://www.liacs.nl/home/kosters/AI/verslag.tex
+%
+% plaatje: marxbrothers.eps of marxbrothers.jpg
+%
+
+\documentclass[12pt]{article}
+
+\frenchspacing
+\usepackage[english,dutch]{babel}
+\selectlanguage{dutch}
+\usepackage{graphicx}
+
+\author{Victor Erslag, Universiteit Leiden}
+\title{Het grote probleem}
+
+\begin{document}
+
+\maketitle
+
+\section{Inleiding} 
+
+Dit \emph{veel te korte} verslag gaat over een groot probleem.
+
+\section{Uitleg probleem}
+
+Tja, wat zullen we eens zeggen?
+
+\section{Theorie}
+
+De Stelling van Puk (zie~\cite{pukkie}) zegt dat 
+kabouters doorgaans klein zijn.
+
+\section{Aanpak}
+
+We gaan als volgt te werk, zie ook Figuur~\ref{marx}.
+
+\bigskip
+
+\begin{figure}[!ht]
+\begin{center}
+\includegraphics[scale=0.15]{marxbrothers}
+\end{center}
+\caption{Zeppo, Harpo, Chico en Groucho Marx}\label{marx}
+\end{figure}
+
+\noindent
+Zoals Groucho al zei:
+``Time flies like an arrow; fruit flies like a banana.''
+
+\section{Implementatie}
+
+Er is gekozen voor de programmeertaal C$\stackrel{++}{}$.
+Verder \ldots
+
+\section{Experimenten}
+
+De resultaten van de experimenten zijn te
+vinden in onderstaande tabel:
+
+\begin{center}
+\begin{tabular}{l|l|l}
+experiment & tijd (sec) & uitslag\\
+\hline
+1 & 10 & $-7$\\
+2 & 42 & 123
+\end{tabular}
+\end{center}
+
+\section{Conclusie}
+
+Het ging fout als de testopstelling niet verlicht was.
+
+\begin{thebibliography}{XX}
+
+\bibitem{pukkie}
+P.~Puk, Kabouters in de Tweede Kamer,
+Ons Tijdschrift 42 (2006) 12--34.
+
+\end{thebibliography}
+
+\section*{Appendix}
+
+Er is gebruik gemaakt van de briljante skeletcode die te vinden is via
+de website van het college,
+\verb+www.liacs.nl/home/kosters/AI+.
+De code van het programma is als volgt:
+
+\begin{small}
+\begin{verbatim}
+#include <iostream>
+#include <cstdlib>   // voor random getallen
+using namespace std;
+
+...
+\end{verbatim}
+\end{small}
+
+\end{document}
Index: /liacs/ai/graaf/Makefile
===================================================================
--- /liacs/ai/graaf/Makefile	(revision 2)
+++ /liacs/ai/graaf/Makefile	(revision 2)
@@ -0,0 +1,52 @@
+# Makefile ga.cpp
+# Rick van der Zwet & Thomas Steenbergen
+# 0433373 / 0117544
+# AI Assigment 4
+# $Id: Makefile 612 2008-05-13 22:25:56Z rick $
+
+DVIPDF = dvipdf
+DVIPS = dvips
+DOC = report
+PROGRAM = ga
+TEX = latex -halt-on-error
+XPDF = xpdf
+XDVI = xdvi
+
+CPPFLAGS = -Wall -ggdb
+
+all: $(PROGRAM)
+
+clean: doc-clean
+	rm -vf *.o *~ core n
+
+distclean: doc-distclean
+	rm -vf $(PROGRAM)
+
+doc-clean:
+	rm -vf *.aux *.log *toc *.out *.bak *.dmakevi
+
+doc-distclean: doc-clean
+	rm -vf $(DOC).dvi $(DOC).pdf
+
+#Run twice to make sure to include proper references
+%.dvi: %.tex
+	@$(TEX) $<
+	@$(TEX) $<
+
+help:
+	@echo "Usage Makefile <option>"
+
+%.ps: %.dvi
+	$(DVIPS) -o $@ $<
+
+%.pdf: %.dvi
+	$(DVIPDF) $< $@
+
+viewdvi: $(DOC).dvi
+	$(XDVI) $(DOC).dvi
+
+viewpdf: $(DOC).pdf
+	$(XPDF) $(DOC).pdf $(PAGE)
+	
+viewps: $(DOC).ps
+	$(XPDF) $(DOC).ps
Index: /liacs/ai/graaf/README
===================================================================
--- /liacs/ai/graaf/README	(revision 2)
+++ /liacs/ai/graaf/README	(revision 2)
@@ -0,0 +1,4 @@
+Little graphviz hack, might exactly show the stuff we need as it does
+include links and length settings  :-) to call #run (using the neato
+render engine)
+$neato -Tpng -Gstart=rand ga.dot > ga.png
Index: /liacs/ai/graaf/array2dot.pl
===================================================================
--- /liacs/ai/graaf/array2dot.pl	(revision 2)
+++ /liacs/ai/graaf/array2dot.pl	(revision 2)
@@ -0,0 +1,31 @@
+#!/usr/bin/env perl
+
+@graph;
+
+if ( -r $ARGV[0] ) {
+    open INPUT, $ARGV[0];
+    @input = <INPUT>;
+    close INPUT;
+} else {
+    @input = <STDIN>;
+}
+
+print <<EOF;
+graph G { node [shape=circle,fontname="Lucida Console",margin=0,0];
+EOF
+
+$max = shift(@input);
+$max = $max - 1;
+foreach $i (0 .. $max) {
+    @graph = split(' ',shift(@input));
+    foreach $j (($i + 1) .. $max) {
+        if ($graph[$j] > 0) {
+            $graph[$j] /= 2.4;
+            print "C$i -- C$j [len=$graph[$j]];\n";
+        }
+    }
+
+    print "C$i [label=\"C$i\"];\n";
+}
+
+print "}";
Index: /liacs/ai/graaf/ga.cpp
===================================================================
--- /liacs/ai/graaf/ga.cpp	(revision 2)
+++ /liacs/ai/graaf/ga.cpp	(revision 2)
@@ -0,0 +1,623 @@
+/* File        : ga.cpp
+ * Authors     : Rick van der Zwet & Thomas Steenbergen
+ * S-number    : 0433373 / 0117544 
+ * Version     : $Id: ga.cpp 612 2008-05-13 22:25:56Z rick $
+ * Licence     : BSD
+ * Description : 4th Assignment AI 2008: Genetic Algoithm
+ */
+
+#include <iostream>
+#include <climits>
+#include <ctime>
+#include <cstdlib>
+#include <fstream>
+#include <math.h>
+#include <string>
+#include <sysexits.h>
+
+using namespace std;
+
+/*NOTE: Graph can only have this many nodes */
+#define MAX_NODES 50
+#define MAX_ARCHS 250
+
+/*NOTE: Maximum numbers of newly generated children */
+#define MAX_POP 20
+
+/*NOTE: The chance to which we mutate a given point */
+#define MUT_LEV 50
+
+/*NOTE: The maximum number of generations that the algorithm runs */
+#define DEFAULT_LOOPS 100000
+
+#define DEFAULT_FILENAME "input.txt"
+#define MAX_COORDINATES 1000
+
+
+struct arch {
+    int a, b;
+    double distance;
+
+    arch() {
+    a = -1;
+    b = -1;
+    distance = -1;
+    }
+};
+
+/* Coordinate of point in graph */
+struct point {
+    int x, y;       /* X,Y coordinates */
+    
+    point(){
+      x = -1;
+      y = -1;
+    }
+};
+
+/* Comparision between 2 points */
+bool operator==(point &a, point &b) {
+    if ( (a.x == b.x) && (a.y == b.y))
+        return true;
+    else
+        return false;
+}
+
+struct graph {
+    point nodes[MAX_NODES];   /* Location of nodes */
+    int fitness;              /* Overall fitness graph */
+    int fitnessDistance;
+    int fitnessIntersection;
+    
+    graph() {
+      fitness = -1;
+      fitnessDistance = -1;
+      fitnessIntersection = -1;
+    }
+};
+
+/*
+ * BEGIN Global variables 
+ */
+
+arch archs[MAX_ARCHS];                /* arch listing in graph */
+int num_archs = -1;                   /* Number of archs in graph */
+int num_nodes = -1;                   /* Number of nodes in graph */
+int max_cord = -1;                    /* Domain e.g. maximum coord of X, Y*/
+int lon_con = -1;                     /* Longest connection of two points */
+int distances [MAX_NODES][MAX_NODES]; /* Distances between node i and j */
+graph population[MAX_POP];            /* Graph list */
+
+/*
+ * END Global variables
+ */
+
+
+
+/* Calculates the distance between two points
+ * Distance (A,B) = d((x1,y1),(x2,y2))=SQRT((x1-x2)^2+(y1-y2)^2)
+ */
+double calcDistance(point A, point B) {
+  double dist = 0;
+  dist = sqrt(pow((A.x - B.x),2) + pow((A.y - B.y),2));
+  return dist;
+}
+
+/* How well is the scaling of the branches ofthis graph weel 
+ * versus the input graph. The more it deviates of the orginal the higher
+ * the fitness number.
+ */
+int fitnessDistance(graph& A) {
+  int i,j;
+  int org_dist = 0;  // distance between 2 points in input graph
+  double new_dist = 0;  // distance between 2 points in population graph
+  double diff_dist = 0; // absolute difference
+  int tmp_fitness = 0;
+
+  for (i=0; i< num_nodes; i++) {
+    for (j=i+1; j< num_nodes; j++) {
+      org_dist = distances[i][j];
+      if (org_dist != 0){
+        new_dist = calcDistance(A.nodes[i],A.nodes[j]);
+        diff_dist = fabs(new_dist - org_dist);
+        tmp_fitness += diff_dist;
+      }
+    }
+  }
+
+  return(tmp_fitness);
+}
+
+/* Output point itself */
+void printPoint(point &A) {
+    cerr <<  A.x << "," << A.y;
+}
+
+/* Calculates whether the line A-B crosses with line C-D and wether in
+ * domain if so a it returns the point of intersection else return point
+ * [-1,-1] All explained in:
+ * http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=geometry2
+ * http://en.wikipedia.org/wiki/Line-line_intersection
+ */
+bool calcIntersection(point A, point B, point C, point D, point& tmp) {
+  double K, L, M;
+  double S, T, R;
+  double det;
+  bool result;
+  double distance_a_b;
+
+  // rewrite line A-B into formula form: Kx + Ly = M
+  K = B.y - A.y;
+  L = A.x - B.x;
+  M = K * A.x + L * A.y;
+  
+  // rewrite line C-D into formula form: Sx + Ty = R
+  S = D.y - C.y;
+  T = C.x - D.x;
+  R = S * C.x + T * C.y;
+
+  // Now we calculate the intersection between the lines
+  det = K*T - S*L;
+
+  if(det == 0){
+    /* Lines A-B & C-D are parallel, checking wether they are on top of
+     * each other
+     */
+    tmp.x = -1;
+    tmp.y = -1;
+    result = false;
+
+    distance_a_b = calcDistance(A,B);
+    if ((calcDistance(A,C) + calcDistance(B,C) == distance_a_b)) {
+      tmp.x = C.x;
+      tmp.y = C.y;
+      result = false;
+    } else if ((calcDistance(A,D) + calcDistance(B,D) == distance_a_b)) {
+      tmp.x = D.x;
+      tmp.y = D.y;
+      result = false;
+    }
+
+  } else {
+    tmp.x = (T*M - L*R)/det;
+    tmp.y = (K*R - S*M)/det;
+    result = true;
+
+    /* Verify intersection in domain */
+    if (tmp.x < 0 || tmp.x >= max_cord || tmp.y < 0 || tmp.y >= max_cord) {
+        result = false;
+    }
+
+    /* Verify intersection not a actual end point */
+    if ((tmp == A || tmp == B) && (tmp == C || tmp == D)) {
+        result = false;
+    }
+  }
+
+  return result;
+}
+
+bool calcIntersection(point A, point B, point C, point D) {
+    point tmp;
+    return calcIntersection(A, B, C, D, tmp);
+}
+
+/*
+ * The number of intersections a graph. How more intersections the higher
+ * the fitness number.
+ */
+int fitnessIntersection(graph& A) {
+  int i,j;
+  int tmp_fitness = 0;
+
+  for (i = 0; i < num_archs; i++) {
+    for (j = i + 1; j < num_archs; j++) {
+      if ( calcIntersection(A.nodes[archs[i].a],
+                            A.nodes[archs[i].b],
+                            A.nodes[archs[j].a],
+                            A.nodes[archs[j].b])) {
+         tmp_fitness++;
+      }
+    }
+  }
+  return(tmp_fitness);
+}
+
+
+/* Calculates the fitness of every graph in the population */
+void calcFitness(graph& A) {
+    A.fitnessIntersection = fitnessIntersection(A);
+    A.fitnessDistance = fitnessDistance(A);
+    A.fitness = A.fitnessDistance + A.fitnessIntersection;
+}
+
+void crossover(graph& A, graph& B){
+    /* XXX: Find clever way to combine the different graphs to be able
+     * to make new ones. Three to expiriment with:
+     * - uniform crossover
+     * - single-point crossover
+     * - partially mapped crossover
+     * All explained in: http://www.liacs.nl/~kosters/AI/genetisch.pdf
+     */
+
+}
+
+// Combine two graphs using single point crossover
+// A single random point is chosen in a graph's node
+// array dividing it into two halves e.g. the head and the tail.
+// Then heads are swapped between parents A & B
+void crossSingle(graph& A, graph& B){
+   point tmp;
+   unsigned int cut;
+   unsigned int i;
+
+   cut = rand() % num_nodes;
+   for (i=0; i< cut;i++) {
+       tmp = A.nodes[i];
+       A.nodes[i] = B.nodes[i];
+       B.nodes[i] = tmp;
+   }
+}
+
+// Combine two graphs using uniform crossover
+// The points are swapped with a fixed probability of 0.5.
+void crossUniform(graph& A, graph& B){
+   point tmp;
+   int i, rnd;
+
+   for (i=0; i< num_nodes;i++) {
+     rnd = rand()% 2;
+     if (rnd == 1){
+       tmp.x = A.nodes[i].x;
+       A.nodes[i].x = B.nodes[i].x;
+       B.nodes[i].x = tmp.x;
+     }
+     rnd = rand()% 2;
+     if (rnd == 1){
+       tmp.y = A.nodes[i].y;
+       A.nodes[i].y = B.nodes[i].y;
+       B.nodes[i].y = tmp.y;
+     }
+   }
+}
+
+
+// Copies the contents of graph A to graph B
+void copyGraph(graph & A, graph& B){
+  int i;
+
+  for (i=0; i< num_nodes;i++) {
+    B.nodes[i] = A.nodes[i];
+  }
+  B.fitness = A.fitness;
+  B.fitnessIntersection = A.fitnessIntersection;
+  B.fitnessDistance = A.fitnessDistance;
+}
+
+/* Mutate random point in a graph and change it to random value
+ * within the domain of points
+ */
+void mutateGraph (int mutationLevel, graph& A){
+  int i,x,y;
+
+  if ((rand() % 100) > mutationLevel) {
+    return;
+  }
+
+  i = rand() % num_nodes;
+  x = (rand()% max_cord)+1;
+  y = (rand()% max_cord)+1;
+
+  A.nodes[i].x = x;
+  A.nodes[i].y = y;
+}
+
+/* To do selection we use roulettewheel selection, only we 
+ * invert adjust the regular algorithm so it prefers
+ * the lowest fitness numbers e.g. the biggest slice of
+ * piece is now the least attractive.
+ */
+int selectGraph() {
+  int i;
+  int choice = -1;
+  int combined_fitness;
+  int fitness_reverse[MAX_POP];
+  int max_fitness = INT_MIN;
+  int min_fitness = INT_MAX;
+  int total_fitness = 0;
+  int wheelnumber;
+
+  /* Find minimum/maximum */
+  min_fitness = population[0].fitness;
+  max_fitness = population[MAX_POP - 1].fitness;
+
+  /* Set balanced fitness */
+  combined_fitness = min_fitness + max_fitness;
+  for(i=0; i< MAX_POP; i++) {
+    fitness_reverse[i] = combined_fitness - population[i].fitness;
+    total_fitness += fitness_reverse[i];
+  }
+
+ /* Get random number of wheel */
+  wheelnumber = rand() % total_fitness;
+
+  /* Find matching graph */
+  total_fitness = 0;
+  for(i=0; i< MAX_POP; i++) {
+    total_fitness += fitness_reverse[i];
+    if (total_fitness > wheelnumber) {
+        choice = i;
+        break;
+    }
+  }
+
+  return (choice);
+}
+
+/* Set the values of a  given graph to random numbers
+ * In other word those graphs who aint fit enough 
+ * for the next round will be discarded. 
+ */
+void setRandGraph(graph& A) {
+  int i;
+  for (i=0; i< num_nodes;i++) {
+     A.nodes[i].x = (rand()%max_cord)+1;
+     A.nodes[i].y = (rand()%max_cord)+1;
+   }
+  
+  calcFitness(A);
+}
+
+/* Create a graph and set nodes to certain location */
+graph initGraph() {
+   graph A;
+   setRandGraph(A);
+   return A;
+}
+
+// Generates a population of MAX_POP graphs with random coordinates
+void initPopulation () {
+  int i;
+
+  for (i=0; i< MAX_POP;i++) {
+    population[i] = initGraph();
+  }
+}
+// Using bubblesort we sort the graphs in the population on fitness
+void sortPopulation () {
+ graph tmp;
+ int i, j;
+ for (j = 1; j < MAX_POP; j++ ) {
+  for (i = 0; i < MAX_POP-j; i++ ) {
+    if (population[i].fitness > population[i+1].fitness) {
+      tmp = population[i];
+      population[i] = population[i+1];
+      population[i+1] = tmp;
+    }
+  }
+ }
+}
+
+/* Opens input file with adjacency-matrix which contains data about the
+ * number of nodes (N) on the first line and the values of the
+ * connections between those nodes in a N x N matrix in the following
+ * lines
+ */
+void openFile(char * inputFile) {
+  ifstream input;
+  int i, j;
+  input.open(inputFile, ios::in);
+
+  if (input) {
+    cerr << "Opening "<< inputFile << "..." << endl;
+    input >> num_nodes;
+    if (num_nodes <= 0) {
+        input.close();
+        cerr << "Error: Invalid data format!" << endl;
+        exit(EX_DATAERR);
+    } else if (num_nodes < MAX_NODES) {
+      for (i=0; i< num_nodes; i++) {
+        for (j=0; j< num_nodes; j++) {
+          input >> distances[i][j];
+          if (input.eof()) {
+            cerr << "Error: Invalid data format!" <<endl;
+            exit(EX_DATAERR);
+          }
+          if (distances[i][j] > lon_con){
+            lon_con = distances[i][j];
+          }
+        }
+      }
+    } else {
+        input.close();
+        cerr << "Error: Number of nodes in "<< inputFile;
+        cerr << " exceeds maximum number of nodes" << endl;
+        exit(EX_DATAERR);
+    }
+  } else {
+      input.close();
+      cerr << "Error: Couldn't open file " << inputFile << endl;
+      exit(EX_NOINPUT);
+  }
+
+  /* Transform 2d structure to 1d archs to allow easy computations */
+  num_archs = 0;
+  for (i = 0; i < num_nodes; i++) {
+    for (j = i+1; j < num_nodes; j++) {
+      if (distances[i][j] > 0) {
+        archs[num_archs].a = i;
+        archs[num_archs].b = j;
+        archs[num_archs].distance = distances[i][j];
+        num_archs++;
+      }
+    }
+  }
+}
+
+// Prints the adjacency-matrix of openFile() to the screen
+void printDistances() {
+  int i, j;
+
+  cout << " " << endl;
+  for (i=0; i< num_nodes; i++) {
+    for (j=0; j< num_nodes; j++) {
+            cout << distances[i][j]<< " ";
+    }
+    cout << endl;     
+  }
+  cout << " " << endl;
+}
+
+/* Prints the coordinates of every point in a graph to the screen in
+ * graphviz compatible output
+ * cat <<EOF | neato  -Tpng -oga.png  && open ga.png
+ */
+void printGraph(graph& A) {
+  int i;
+
+  cout << "graph G { node [shape=circle,"
+       << "fontname=\"Lucida Console\",margin=0,0];" << endl;
+  for (i=0; i< num_nodes; i++) {
+     cout << "C" << i << "[pos=\"" << A.nodes[i].x * 28 << "," <<
+     A.nodes[i].y * 28 << "!\", label=\"C" << i << "\"];" << endl; 
+  }
+  for (i=0; i < num_archs; i++) {
+    cout << "C" << archs[i].a << " -- C" << archs[i].b << ";" << endl;
+  }
+  cout << "}" << endl;
+}
+
+
+// Prints every graph stored in array population
+void printPopulation () {
+  int i;
+  cerr << " " << endl;
+  for (i=0; i< MAX_POP; i++) {
+    cerr << i << " => ";
+    printGraph(population[i]);
+  }
+  cerr << " " << endl;
+}
+
+
+/* Implementation of Steady State Evolution Algorithm based on p.119 AI
+ * Book */
+int main(int argc, char * argv[]) {
+  int i,j;
+  int org_dist, new_dist;
+  int select_one, select_two;
+  int loopCounter;
+  unsigned int randomSeed;
+
+  graph min;
+  graph child_one, child_two;
+
+  // use random seed to create x,y coordinates of a point
+  randomSeed = (unsigned)time(0);
+  randomSeed = 0;
+  srand(randomSeed);
+  /* Debug static seed */
+  // srand(0);
+  
+  // Open the file that  contains data about
+  // the number odf branches and which branches are 
+  // connected with each other
+  if (argc >= 2) {
+    openFile(argv[1]);
+  } else {
+    cerr << "Usage: " << argv[0] << " <filename> <loopCount>" << endl;
+    exit(EX_USAGE);
+  }
+
+  if (argc == 3) {
+    loopCounter = atoi(argv[2]);
+  } else {
+    loopCounter = DEFAULT_LOOPS;
+  }
+
+  /* To optimize the speed of the genetic algoritm we limit the domain
+   * of the points */
+  if ((lon_con * num_nodes) < MAX_COORDINATES){
+    max_cord = lon_con * num_nodes;
+  } else {
+    max_cord = MAX_COORDINATES;
+  }
+  cerr << "Domain of points is set to "
+       << max_cord << " x " << max_cord << endl;
+  
+  // Minimum graph to store best found solution
+  min.fitness = INT_MAX;
+  
+  /* Populate population, with random values */
+  initPopulation();
+  
+  for (i=0; i< loopCounter; i++) {
+     // Sort the population of graphs so that graph
+     // with smallest fitness is placed in population[0]
+     sortPopulation();
+     
+     // Store the lowest found fitness if it is better
+     // then the fitness we already had stored
+     if (min.fitness > population[0].fitness){
+        copyGraph(population[0],min);
+     }
+          
+     // Stop if optimal is found e.g fitness equals zero
+     if(population[0].fitness == 0){
+      break;
+     }
+          
+     // Selection reproducing parents via roulette wheel
+     // fittest parents get selected 
+     select_one = selectGraph();
+     do {
+       select_two = selectGraph();
+     }while (select_one == select_two);
+               
+     // set points in children with crossover result of parents 
+     copyGraph(population[select_one], child_one);
+     copyGraph(population[select_two], child_two); 
+     
+     // Crossover the selected parents  
+     crossUniform(child_one, child_two);
+     
+     // mutate childs with small random probability usually 50%
+     mutateGraph(99, child_one);
+     mutateGraph(99, child_two);
+     
+     // Calculate fitness of both children
+     calcFitness(child_one);
+     calcFitness(child_two);
+     
+     // Least fittest graphs in population get replaced
+     copyGraph(child_one,population[MAX_POP -2]);
+     copyGraph(child_two,population[MAX_POP -1]);
+  }
+  
+  cerr << "Best found coordinates after "<< i <<
+  " epochs for given input graph: " << endl; 
+  printGraph(min);
+  
+  if(min.fitness != 0){
+    for (i=0; i< num_nodes; i++) {
+      for (j=i+1; j< num_nodes; j++) {
+        org_dist = distances[i][j];
+        if (org_dist != 0){
+          new_dist = calcDistance(min.nodes[i],min.nodes[j]);
+          cerr << "Distance between point C"<< i << " - C" << j << " = ";
+          cerr << calcDistance(min.nodes[i],min.nodes[j]) << " ";
+          if (new_dist != org_dist){
+            cerr << "SHOULD BE " << org_dist << endl;
+          } else {
+            cerr << "CORRECT" << endl;
+          }
+        }
+      }
+    }
+   }
+  cerr << "Fitness Intersection : " << min.fitnessIntersection << endl;
+  cerr << "Fitness Distance     : " << min.fitnessDistance << endl;
+  cerr << "Fitness Overall      : " << min.fitness << endl;
+  cerr << "Random seed          : " << randomSeed << endl;
+  return(EX_OK);
+}
Index: /liacs/ai/graaf/ga.cpp.tex
===================================================================
--- /liacs/ai/graaf/ga.cpp.tex	(revision 2)
+++ /liacs/ai/graaf/ga.cpp.tex	(revision 2)
@@ -0,0 +1,626 @@
+% Generator: GNU source-highlight, by Lorenzo Bettini, http://www.gnu.org/software/src-highlite
+\noindent
+\mbox{}\texttt{001:} \textit{/*\ File\ \ \ \ \ \ \ \ :\ ga.cpp} \\
+\mbox{}\texttt{002:} \textit{\ *\ Authors\ \ \ \ \ :\ Rick\ van\ der\ Zwet\ \&\ Thomas\ Steenbergen} \\
+\mbox{}\texttt{003:} \textit{\ *\ S-number\ \ \ \ :\ 0433373\ /\ 0117544\ } \\
+\mbox{}\texttt{004:} \textit{\ *\ Version\ \ \ \ \ :\ \$Id:\ ga.cpp\ 610\ 2008-05-13\ 07:25:13Z\ rick\ \$} \\
+\mbox{}\texttt{005:} \textit{\ *\ Licence\ \ \ \ \ :\ BSD} \\
+\mbox{}\texttt{006:} \textit{\ *\ Description\ :\ 4th\ Assignment\ AI\ 2008:\ Genetic\ Algoithm} \\
+\mbox{}\texttt{007:} \textit{\ */} \\
+\mbox{}\texttt{008:}  \\
+\mbox{}\texttt{009:} \textbf{\#include}\ \texttt{$<$iostream$>$} \\
+\mbox{}\texttt{010:} \textbf{\#include}\ \texttt{$<$climits$>$} \\
+\mbox{}\texttt{011:} \textbf{\#include}\ \texttt{$<$ctime$>$} \\
+\mbox{}\texttt{012:} \textbf{\#include}\ \texttt{$<$cstdlib$>$} \\
+\mbox{}\texttt{013:} \textbf{\#include}\ \texttt{$<$fstream$>$} \\
+\mbox{}\texttt{014:} \textbf{\#include}\ \texttt{$<$math.h$>$} \\
+\mbox{}\texttt{015:} \textbf{\#include}\ \texttt{$<$string$>$} \\
+\mbox{}\texttt{016:} \textbf{\#include}\ \texttt{$<$sysexits.h$>$} \\
+\mbox{}\texttt{017:}  \\
+\mbox{}\texttt{018:} \textbf{using}\ \textbf{namespace}\ std; \\
+\mbox{}\texttt{019:}  \\
+\mbox{}\texttt{020:} \textit{/*NOTE:\ Graph\ can\ only\ have\ this\ many\ nodes\ */} \\
+\mbox{}\texttt{021:} \textbf{\#define}\ MAX$\_$NODES\ 50 \\
+\mbox{}\texttt{022:} \textbf{\#define}\ MAX$\_$ARCHS\ 250 \\
+\mbox{}\texttt{023:}  \\
+\mbox{}\texttt{024:} \textit{/*NOTE:\ Maximum\ numbers\ of\ newly\ generated\ children\ */} \\
+\mbox{}\texttt{025:} \textbf{\#define}\ MAX$\_$POP\ 20 \\
+\mbox{}\texttt{026:}  \\
+\mbox{}\texttt{027:} \textit{/*NOTE:\ The\ chance\ to\ which\ we\ mutate\ a\ given\ point\ */} \\
+\mbox{}\texttt{028:} \textbf{\#define}\ MUT$\_$LEV\ 50 \\
+\mbox{}\texttt{029:}  \\
+\mbox{}\texttt{030:} \textit{/*NOTE:\ The\ maximum\ number\ of\ generations\ that\ the\ algorithm\ runs\ */} \\
+\mbox{}\texttt{031:} \textbf{\#define}\ DEFAULT$\_$LOOPS\ 100000 \\
+\mbox{}\texttt{032:}  \\
+\mbox{}\texttt{033:} \textbf{\#define}\ DEFAULT$\_$FILENAME\ \texttt{"{}input.txt"{}} \\
+\mbox{}\texttt{034:} \textbf{\#define}\ MAX$\_$COORDINATES\ 1000 \\
+\mbox{}\texttt{035:}  \\
+\mbox{}\texttt{036:}  \\
+\mbox{}\texttt{037:} \textbf{struct}\ arch\ \{ \\
+\mbox{}\texttt{038:} \ \ \ \ int\ a,\ b; \\
+\mbox{}\texttt{039:} \ \ \ \ double\ distance; \\
+\mbox{}\texttt{040:}  \\
+\mbox{}\texttt{041:} \ \ \ \ \textbf{arch}()\ \{ \\
+\mbox{}\texttt{042:} \ \ \ \ a\ =\ -1; \\
+\mbox{}\texttt{043:} \ \ \ \ b\ =\ -1; \\
+\mbox{}\texttt{044:} \ \ \ \ distance\ =\ -1; \\
+\mbox{}\texttt{045:} \ \ \ \ \} \\
+\mbox{}\texttt{046:} \}; \\
+\mbox{}\texttt{047:}  \\
+\mbox{}\texttt{048:} \textit{/*\ Coordinate\ of\ point\ in\ graph\ */} \\
+\mbox{}\texttt{049:} \textbf{struct}\ point\ \{ \\
+\mbox{}\texttt{050:} \ \ \ \ int\ x,\ y;\ \ \ \ \ \ \ \textit{/*\ X,Y\ coordinates\ */} \\
+\mbox{}\texttt{051:} \ \ \ \  \\
+\mbox{}\texttt{052:} \ \ \ \ \textbf{point}()\{ \\
+\mbox{}\texttt{053:} \ \ \ \ \ \ x\ =\ -1; \\
+\mbox{}\texttt{054:} \ \ \ \ \ \ y\ =\ -1; \\
+\mbox{}\texttt{055:} \ \ \ \ \} \\
+\mbox{}\texttt{056:} \}; \\
+\mbox{}\texttt{057:}  \\
+\mbox{}\texttt{058:} \textit{/*\ Comparision\ between\ 2\ points\ */} \\
+\mbox{}\texttt{059:} bool\ \textbf{operator}==(point\ \&a,\ point\ \&b)\ \{ \\
+\mbox{}\texttt{060:} \ \ \ \ \textbf{if}\ (\ (a.x\ ==\ b.x)\ \&\&\ (a.y\ ==\ b.y)) \\
+\mbox{}\texttt{061:} \ \ \ \ \ \ \ \ \textbf{return}\ \textbf{true}; \\
+\mbox{}\texttt{062:} \ \ \ \ \textbf{else} \\
+\mbox{}\texttt{063:} \ \ \ \ \ \ \ \ \textbf{return}\ \textbf{false}; \\
+\mbox{}\texttt{064:} \} \\
+\mbox{}\texttt{065:}  \\
+\mbox{}\texttt{066:} \textbf{struct}\ graph\ \{ \\
+\mbox{}\texttt{067:} \ \ \ \ point\ nodes[MAX$\_$NODES];\ \ \ \textit{/*\ Location\ of\ nodes\ */} \\
+\mbox{}\texttt{068:} \ \ \ \ int\ fitness;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \textit{/*\ Overall\ fitness\ graph\ */} \\
+\mbox{}\texttt{069:} \ \ \ \ int\ fitnessDistance; \\
+\mbox{}\texttt{070:} \ \ \ \ int\ fitnessIntersection; \\
+\mbox{}\texttt{071:} \ \ \ \  \\
+\mbox{}\texttt{072:} \ \ \ \ \textbf{graph}()\ \{ \\
+\mbox{}\texttt{073:} \ \ \ \ \ \ fitness\ =\ -1; \\
+\mbox{}\texttt{074:} \ \ \ \ \ \ fitnessDistance\ =\ -1; \\
+\mbox{}\texttt{075:} \ \ \ \ \ \ fitnessIntersection\ =\ -1; \\
+\mbox{}\texttt{076:} \ \ \ \ \} \\
+\mbox{}\texttt{077:} \}; \\
+\mbox{}\texttt{078:}  \\
+\mbox{}\texttt{079:} \textit{/*} \\
+\mbox{}\texttt{080:} \textit{\ *\ BEGIN\ Global\ variables\ } \\
+\mbox{}\texttt{081:} \textit{\ */} \\
+\mbox{}\texttt{082:}  \\
+\mbox{}\texttt{083:} arch\ archs[MAX$\_$ARCHS];\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textit{/*\ arch\ listing\ in\ graph\ */} \\
+\mbox{}\texttt{084:} int\ num$\_$archs\ =\ -1;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textit{/*\ Number\ of\ archs\ in\ graph\ */} \\
+\mbox{}\texttt{085:} int\ num$\_$nodes\ =\ -1;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textit{/*\ Number\ of\ nodes\ in\ graph\ */} \\
+\mbox{}\texttt{086:} int\ max$\_$cord\ =\ -1;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textit{/*\ Domain\ e.g.\ maximum\ coord\ of\ X,\ Y*/} \\
+\mbox{}\texttt{087:} int\ lon$\_$con\ =\ -1;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textit{/*\ Longest\ connection\ of\ two\ points\ */} \\
+\mbox{}\texttt{088:} int\ distances\ [MAX$\_$NODES][MAX$\_$NODES];\ \textit{/*\ Distances\ between\ node\ i\ and\ j\ */} \\
+\mbox{}\texttt{089:} graph\ population[MAX$\_$POP];\ \ \ \ \ \ \ \ \ \ \ \ \textit{/*\ Graph\ list\ */} \\
+\mbox{}\texttt{090:}  \\
+\mbox{}\texttt{091:} \textit{/*} \\
+\mbox{}\texttt{092:} \textit{\ *\ END\ Global\ variables} \\
+\mbox{}\texttt{093:} \textit{\ */} \\
+\mbox{}\texttt{094:}  \\
+\mbox{}\texttt{095:}  \\
+\mbox{}\texttt{096:}  \\
+\mbox{}\texttt{097:} \textit{/*\ Calculates\ the\ distance\ between\ two\ points} \\
+\mbox{}\texttt{098:} \textit{\ *\ Distance\ (A,B)\ =\ d((x1,y1),(x2,y2))=SQRT((x1-x2)\textasciicircum{}2+(y1-y2)\textasciicircum{}2)} \\
+\mbox{}\texttt{099:} \textit{\ */} \\
+\mbox{}\texttt{100:} double\ \textbf{calcDistance}(point\ A,\ point\ B)\ \{ \\
+\mbox{}\texttt{101:} \ \ double\ dist\ =\ 0; \\
+\mbox{}\texttt{102:} \ \ dist\ =\ \textbf{sqrt}(\textbf{pow}((A.x\ -\ B.x),2)\ +\ \textbf{pow}((A.y\ -\ B.y),2)); \\
+\mbox{}\texttt{103:} \ \ \textbf{return}\ dist; \\
+\mbox{}\texttt{104:} \} \\
+\mbox{}\texttt{105:}  \\
+\mbox{}\texttt{106:} \textit{/*\ How\ well\ is\ the\ scaling\ of\ the\ branches\ ofthis\ graph\ weel\ } \\
+\mbox{}\texttt{107:} \textit{\ *\ versus\ the\ input\ graph.\ The\ more\ it\ deviates\ of\ the\ orginal\ the\ higher} \\
+\mbox{}\texttt{108:} \textit{\ *\ the\ fitness\ number.} \\
+\mbox{}\texttt{109:} \textit{\ */} \\
+\mbox{}\texttt{110:} int\ \textbf{fitnessDistance}(graph\&\ A)\ \{ \\
+\mbox{}\texttt{111:} \ \ int\ i,j; \\
+\mbox{}\texttt{112:} \ \ int\ org$\_$dist\ =\ 0;\ \ \textit{//\ distance\ between\ 2\ points\ in\ input\ graph} \\
+\mbox{}\texttt{113:} \ \ double\ new$\_$dist\ =\ 0;\ \ \textit{//\ distance\ between\ 2\ points\ in\ population\ graph} \\
+\mbox{}\texttt{114:} \ \ double\ diff$\_$dist\ =\ 0;\ \textit{//\ absolute\ difference} \\
+\mbox{}\texttt{115:} \ \ int\ tmp$\_$fitness\ =\ 0; \\
+\mbox{}\texttt{116:}  \\
+\mbox{}\texttt{117:} \ \ \textbf{for}\ (i=0;\ i$<$\ num$\_$nodes;\ i++)\ \{ \\
+\mbox{}\texttt{118:} \ \ \ \ \textbf{for}\ (j=i+1;\ j$<$\ num$\_$nodes;\ j++)\ \{ \\
+\mbox{}\texttt{119:} \ \ \ \ \ \ org$\_$dist\ =\ distances[i][j]; \\
+\mbox{}\texttt{120:} \ \ \ \ \ \ \textbf{if}\ (org$\_$dist\ !=\ 0)\{ \\
+\mbox{}\texttt{121:} \ \ \ \ \ \ \ \ new$\_$dist\ =\ \textbf{calcDistance}(A.nodes[i],A.nodes[j]); \\
+\mbox{}\texttt{122:} \ \ \ \ \ \ \ \ diff$\_$dist\ =\ \textbf{fabs}(new$\_$dist\ -\ org$\_$dist); \\
+\mbox{}\texttt{123:} \ \ \ \ \ \ \ \ tmp$\_$fitness\ +=\ diff$\_$dist; \\
+\mbox{}\texttt{124:} \ \ \ \ \ \ \} \\
+\mbox{}\texttt{125:} \ \ \ \ \} \\
+\mbox{}\texttt{126:} \ \ \} \\
+\mbox{}\texttt{127:}  \\
+\mbox{}\texttt{128:} \ \ \textbf{return}(tmp$\_$fitness); \\
+\mbox{}\texttt{129:} \} \\
+\mbox{}\texttt{130:}  \\
+\mbox{}\texttt{131:} \textit{/*\ Output\ point\ itself\ */} \\
+\mbox{}\texttt{132:} void\ \textbf{printPoint}(point\ \&A)\ \{ \\
+\mbox{}\texttt{133:} \ \ \ \ cerr\ $<$$<$\ \ A.x\ $<$$<$\ \texttt{"{},"{}}\ $<$$<$\ A.y; \\
+\mbox{}\texttt{134:} \} \\
+\mbox{}\texttt{135:}  \\
+\mbox{}\texttt{136:} \textit{/*\ Calculates\ whether\ the\ line\ A-B\ crosses\ with\ line\ C-D\ and\ wether\ in} \\
+\mbox{}\texttt{137:} \textit{\ *\ domain\ if\ so\ a\ it\ returns\ the\ point\ of\ intersection\ else\ return\ point} \\
+\mbox{}\texttt{138:} \textit{\ *\ [-1,-1]\ All\ explained\ in:} \\
+\mbox{}\texttt{139:} \textit{\ *\ }\underline{\texttt{http://www.topcoder.com/tc}}\textit{?module=Static\&d1=tutorials\&d2=geometry2} \\
+\mbox{}\texttt{140:} \textit{\ *\ }\underline{\texttt{http://en.wikipedia.org/wiki/Line-line$\_$intersection}} \\
+\mbox{}\texttt{141:} \textit{\ */} \\
+\mbox{}\texttt{142:} bool\ \textbf{calcIntersection}(point\ A,\ point\ B,\ point\ C,\ point\ D,\ point\&\ tmp)\ \{ \\
+\mbox{}\texttt{143:} \ \ double\ K,\ L,\ M; \\
+\mbox{}\texttt{144:} \ \ double\ S,\ T,\ R; \\
+\mbox{}\texttt{145:} \ \ double\ det; \\
+\mbox{}\texttt{146:} \ \ bool\ result; \\
+\mbox{}\texttt{147:} \ \ double\ distance$\_$a$\_$b; \\
+\mbox{}\texttt{148:}  \\
+\mbox{}\texttt{149:} \ \ \textit{//\ rewrite\ line\ A-B\ into\ formula\ form:\ Kx\ +\ Ly\ =\ M} \\
+\mbox{}\texttt{150:} \ \ K\ =\ B.y\ -\ A.y; \\
+\mbox{}\texttt{151:} \ \ L\ =\ A.x\ -\ B.x; \\
+\mbox{}\texttt{152:} \ \ M\ =\ K\ *\ A.x\ +\ L\ *\ A.y; \\
+\mbox{}\texttt{153:} \ \  \\
+\mbox{}\texttt{154:} \ \ \textit{//\ rewrite\ line\ C-D\ into\ formula\ form:\ Sx\ +\ Ty\ =\ R} \\
+\mbox{}\texttt{155:} \ \ S\ =\ D.y\ -\ C.y; \\
+\mbox{}\texttt{156:} \ \ T\ =\ C.x\ -\ D.x; \\
+\mbox{}\texttt{157:} \ \ R\ =\ S\ *\ C.x\ +\ T\ *\ C.y; \\
+\mbox{}\texttt{158:}  \\
+\mbox{}\texttt{159:} \ \ \textit{//\ Now\ we\ calculate\ the\ intersection\ between\ the\ lines} \\
+\mbox{}\texttt{160:} \ \ det\ =\ K*T\ -\ S*L; \\
+\mbox{}\texttt{161:}  \\
+\mbox{}\texttt{162:} \ \ \textbf{if}(det\ ==\ 0)\{ \\
+\mbox{}\texttt{163:} \ \ \ \ \textit{/*\ Lines\ A-B\ \&\ C-D\ are\ parallel,\ checking\ wether\ they\ are\ on\ top\ of} \\
+\mbox{}\texttt{164:} \textit{\ \ \ \ \ *\ each\ other} \\
+\mbox{}\texttt{165:} \textit{\ \ \ \ \ */} \\
+\mbox{}\texttt{166:} \ \ \ \ tmp.x\ =\ -1; \\
+\mbox{}\texttt{167:} \ \ \ \ tmp.y\ =\ -1; \\
+\mbox{}\texttt{168:} \ \ \ \ result\ =\ \textbf{false}; \\
+\mbox{}\texttt{169:}  \\
+\mbox{}\texttt{170:} \ \ \ \ distance$\_$a$\_$b\ =\ \textbf{calcDistance}(A,B); \\
+\mbox{}\texttt{171:} \ \ \ \ \textbf{if}\ ((\textbf{calcDistance}(A,C)\ +\ \textbf{calcDistance}(B,C)\ ==\ distance$\_$a$\_$b))\ \{ \\
+\mbox{}\texttt{172:} \ \ \ \ \ \ tmp.x\ =\ C.x; \\
+\mbox{}\texttt{173:} \ \ \ \ \ \ tmp.y\ =\ C.y; \\
+\mbox{}\texttt{174:} \ \ \ \ \ \ result\ =\ \textbf{false}; \\
+\mbox{}\texttt{175:} \ \ \ \ \}\ \textbf{else}\ \textbf{if}\ ((\textbf{calcDistance}(A,D)\ +\ \textbf{calcDistance}(B,D)\ ==\ distance$\_$a$\_$b))\ \{ \\
+\mbox{}\texttt{176:} \ \ \ \ \ \ tmp.x\ =\ D.x; \\
+\mbox{}\texttt{177:} \ \ \ \ \ \ tmp.y\ =\ D.y; \\
+\mbox{}\texttt{178:} \ \ \ \ \ \ result\ =\ \textbf{false}; \\
+\mbox{}\texttt{179:} \ \ \ \ \} \\
+\mbox{}\texttt{180:}  \\
+\mbox{}\texttt{181:} \ \ \}\ \textbf{else}\ \{ \\
+\mbox{}\texttt{182:} \ \ \ \ tmp.x\ =\ (T*M\ -\ L*R)/det; \\
+\mbox{}\texttt{183:} \ \ \ \ tmp.y\ =\ (K*R\ -\ S*M)/det; \\
+\mbox{}\texttt{184:} \ \ \ \ result\ =\ \textbf{true}; \\
+\mbox{}\texttt{185:}  \\
+\mbox{}\texttt{186:} \ \ \ \ \textit{/*\ Verify\ intersection\ in\ domain\ */} \\
+\mbox{}\texttt{187:} \ \ \ \ \textbf{if}\ (tmp.x\ $<$\ 0\ $|$$|$\ tmp.x\ $>$=\ max$\_$cord\ $|$$|$\ tmp.y\ $<$\ 0\ $|$$|$\ tmp.y\ $>$=\ max$\_$cord)\ \{ \\
+\mbox{}\texttt{188:} \ \ \ \ \ \ \ \ result\ =\ \textbf{false}; \\
+\mbox{}\texttt{189:} \ \ \ \ \} \\
+\mbox{}\texttt{190:}  \\
+\mbox{}\texttt{191:} \ \ \ \ \textit{/*\ Verify\ intersection\ not\ a\ actual\ end\ point\ */} \\
+\mbox{}\texttt{192:} \ \ \ \ \textbf{if}\ ((tmp\ ==\ A\ $|$$|$\ tmp\ ==\ B)\ \&\&\ (tmp\ ==\ C\ $|$$|$\ tmp\ ==\ D))\ \{ \\
+\mbox{}\texttt{193:} \ \ \ \ \ \ \ \ result\ =\ \textbf{false}; \\
+\mbox{}\texttt{194:} \ \ \ \ \} \\
+\mbox{}\texttt{195:} \ \ \} \\
+\mbox{}\texttt{196:}  \\
+\mbox{}\texttt{197:} \ \ \textbf{return}\ result; \\
+\mbox{}\texttt{198:} \} \\
+\mbox{}\texttt{199:}  \\
+\mbox{}\texttt{200:} bool\ \textbf{calcIntersection}(point\ A,\ point\ B,\ point\ C,\ point\ D)\ \{ \\
+\mbox{}\texttt{201:} \ \ \ \ point\ tmp; \\
+\mbox{}\texttt{202:} \ \ \ \ \textbf{return}\ \textbf{calcIntersection}(A,\ B,\ C,\ D,\ tmp); \\
+\mbox{}\texttt{203:} \} \\
+\mbox{}\texttt{204:}  \\
+\mbox{}\texttt{205:} \textit{/*} \\
+\mbox{}\texttt{206:} \textit{\ *\ The\ number\ of\ intersections\ a\ graph.\ How\ more\ intersections\ the\ higher} \\
+\mbox{}\texttt{207:} \textit{\ *\ the\ fitness\ number.} \\
+\mbox{}\texttt{208:} \textit{\ */} \\
+\mbox{}\texttt{209:} int\ \textbf{fitnessIntersection}(graph\&\ A)\ \{ \\
+\mbox{}\texttt{210:} \ \ int\ i,j; \\
+\mbox{}\texttt{211:} \ \ int\ tmp$\_$fitness\ =\ 0; \\
+\mbox{}\texttt{212:}  \\
+\mbox{}\texttt{213:} \ \ \textbf{for}\ (i\ =\ 0;\ i\ $<$\ num$\_$archs;\ i++)\ \{ \\
+\mbox{}\texttt{214:} \ \ \ \ \textbf{for}\ (j\ =\ i\ +\ 1;\ j\ $<$\ num$\_$archs;\ j++)\ \{ \\
+\mbox{}\texttt{215:} \ \ \ \ \ \ \textbf{if}\ (\ \textbf{calcIntersection}(A.nodes[archs[i].a], \\
+\mbox{}\texttt{216:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ A.nodes[archs[i].b], \\
+\mbox{}\texttt{217:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ A.nodes[archs[j].a], \\
+\mbox{}\texttt{218:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ A.nodes[archs[j].b]))\ \{ \\
+\mbox{}\texttt{219:} \ \ \ \ \ \ \ \ \ tmp$\_$fitness++; \\
+\mbox{}\texttt{220:} \ \ \ \ \ \ \} \\
+\mbox{}\texttt{221:} \ \ \ \ \} \\
+\mbox{}\texttt{222:} \ \ \} \\
+\mbox{}\texttt{223:} \ \ \textbf{return}(tmp$\_$fitness); \\
+\mbox{}\texttt{224:} \} \\
+\mbox{}\texttt{225:}  \\
+\mbox{}\texttt{226:}  \\
+\mbox{}\texttt{227:} \textit{/*\ Calculates\ the\ fitness\ of\ every\ graph\ in\ the\ population\ */} \\
+\mbox{}\texttt{228:} void\ \textbf{calcFitness}(graph\&\ A)\ \{ \\
+\mbox{}\texttt{229:} \ \ \ \ A.fitnessIntersection\ =\ \textbf{fitnessIntersection}(A); \\
+\mbox{}\texttt{230:} \ \ \ \ A.fitnessDistance\ =\ \textbf{fitnessDistance}(A); \\
+\mbox{}\texttt{231:} \ \ \ \ A.fitness\ =\ A.fitnessDistance\ +\ A.fitnessIntersection; \\
+\mbox{}\texttt{232:} \} \\
+\mbox{}\texttt{233:}  \\
+\mbox{}\texttt{234:} void\ \textbf{crossover}(graph\&\ A,\ graph\&\ B)\{ \\
+\mbox{}\texttt{235:} \ \ \ \ \textit{/*\ XXX:\ Find\ clever\ way\ to\ combine\ the\ different\ graphs\ to\ be\ able} \\
+\mbox{}\texttt{236:} \textit{\ \ \ \ \ *\ to\ make\ new\ ones.\ Three\ to\ expiriment\ with:} \\
+\mbox{}\texttt{237:} \textit{\ \ \ \ \ *\ -\ uniform\ crossover} \\
+\mbox{}\texttt{238:} \textit{\ \ \ \ \ *\ -\ single-point\ crossover} \\
+\mbox{}\texttt{239:} \textit{\ \ \ \ \ *\ -\ partially\ mapped\ crossover} \\
+\mbox{}\texttt{240:} \textit{\ \ \ \ \ *\ All\ explained\ in:\ }\underline{\texttt{http://www.liacs.nl/}}\textit{\textasciitilde{}kosters/AI/genetisch.pdf} \\
+\mbox{}\texttt{241:} \textit{\ \ \ \ \ */} \\
+\mbox{}\texttt{242:}  \\
+\mbox{}\texttt{243:} \} \\
+\mbox{}\texttt{244:}  \\
+\mbox{}\texttt{245:} \textit{//\ Combine\ two\ graphs\ using\ single\ point\ crossover} \\
+\mbox{}\texttt{246:} \textit{//\ A\ single\ random\ point\ is\ chosen\ in\ a\ graph's\ node} \\
+\mbox{}\texttt{247:} \textit{//\ array\ dividing\ it\ into\ two\ halves\ e.g.\ the\ head\ and\ the\ tail.} \\
+\mbox{}\texttt{248:} \textit{//\ Then\ heads\ are\ swapped\ between\ parents\ A\ \&\ B} \\
+\mbox{}\texttt{249:} void\ \textbf{crossSingle}(graph\&\ A,\ graph\&\ B)\{ \\
+\mbox{}\texttt{250:} \ \ \ point\ tmp; \\
+\mbox{}\texttt{251:} \ \ \ unsigned\ int\ cut; \\
+\mbox{}\texttt{252:} \ \ \ unsigned\ int\ i; \\
+\mbox{}\texttt{253:}  \\
+\mbox{}\texttt{254:} \ \ \ cut\ =\ \textbf{rand}()\ \%\ num$\_$nodes; \\
+\mbox{}\texttt{255:} \ \ \ \textbf{for}\ (i=0;\ i$<$\ cut;i++)\ \{ \\
+\mbox{}\texttt{256:} \ \ \ \ \ \ \ tmp\ =\ A.nodes[i]; \\
+\mbox{}\texttt{257:} \ \ \ \ \ \ \ A.nodes[i]\ =\ B.nodes[i]; \\
+\mbox{}\texttt{258:} \ \ \ \ \ \ \ B.nodes[i]\ =\ tmp; \\
+\mbox{}\texttt{259:} \ \ \ \} \\
+\mbox{}\texttt{260:} \} \\
+\mbox{}\texttt{261:}  \\
+\mbox{}\texttt{262:} \textit{//\ Combine\ two\ graphs\ using\ uniform\ crossover} \\
+\mbox{}\texttt{263:} \textit{//\ The\ points\ are\ swapped\ with\ a\ fixed\ probability\ of\ 0.5.} \\
+\mbox{}\texttt{264:} void\ \textbf{crossUniform}(graph\&\ A,\ graph\&\ B)\{ \\
+\mbox{}\texttt{265:} \ \ \ point\ tmp; \\
+\mbox{}\texttt{266:} \ \ \ int\ i,\ rnd; \\
+\mbox{}\texttt{267:}  \\
+\mbox{}\texttt{268:} \ \ \ \textbf{for}\ (i=0;\ i$<$\ num$\_$nodes;i++)\ \{ \\
+\mbox{}\texttt{269:} \ \ \ \ \ rnd\ =\ \textbf{rand}()\%\ 2; \\
+\mbox{}\texttt{270:} \ \ \ \ \ \textbf{if}\ (rnd\ ==\ 1)\{ \\
+\mbox{}\texttt{271:} \ \ \ \ \ \ \ tmp.x\ =\ A.nodes[i].x; \\
+\mbox{}\texttt{272:} \ \ \ \ \ \ \ A.nodes[i].x\ =\ B.nodes[i].x; \\
+\mbox{}\texttt{273:} \ \ \ \ \ \ \ B.nodes[i].x\ =\ tmp.x; \\
+\mbox{}\texttt{274:} \ \ \ \ \ \} \\
+\mbox{}\texttt{275:} \ \ \ \ \ rnd\ =\ \textbf{rand}()\%\ 2; \\
+\mbox{}\texttt{276:} \ \ \ \ \ \textbf{if}\ (rnd\ ==\ 1)\{ \\
+\mbox{}\texttt{277:} \ \ \ \ \ \ \ tmp.y\ =\ A.nodes[i].y; \\
+\mbox{}\texttt{278:} \ \ \ \ \ \ \ A.nodes[i].y\ =\ B.nodes[i].y; \\
+\mbox{}\texttt{279:} \ \ \ \ \ \ \ B.nodes[i].y\ =\ tmp.y; \\
+\mbox{}\texttt{280:} \ \ \ \ \ \} \\
+\mbox{}\texttt{281:} \ \ \ \} \\
+\mbox{}\texttt{282:} \} \\
+\mbox{}\texttt{283:}  \\
+\mbox{}\texttt{284:}  \\
+\mbox{}\texttt{285:} \textit{//\ Copies\ the\ contents\ of\ graph\ A\ to\ graph\ B} \\
+\mbox{}\texttt{286:} void\ \textbf{copyGraph}(graph\ \&\ A,\ graph\&\ B)\{ \\
+\mbox{}\texttt{287:} \ \ int\ i; \\
+\mbox{}\texttt{288:}  \\
+\mbox{}\texttt{289:} \ \ \textbf{for}\ (i=0;\ i$<$\ num$\_$nodes;i++)\ \{ \\
+\mbox{}\texttt{290:} \ \ \ \ B.nodes[i]\ =\ A.nodes[i]; \\
+\mbox{}\texttt{291:} \ \ \} \\
+\mbox{}\texttt{292:} \ \ B.fitness\ =\ A.fitness; \\
+\mbox{}\texttt{293:} \ \ B.fitnessIntersection\ =\ A.fitnessIntersection; \\
+\mbox{}\texttt{294:} \ \ B.fitnessDistance\ =\ A.fitnessDistance; \\
+\mbox{}\texttt{295:} \} \\
+\mbox{}\texttt{296:}  \\
+\mbox{}\texttt{297:} \textit{/*\ Mutate\ random\ point\ in\ a\ graph\ and\ change\ it\ to\ random\ value} \\
+\mbox{}\texttt{298:} \textit{\ *\ within\ the\ domain\ of\ points} \\
+\mbox{}\texttt{299:} \textit{\ */} \\
+\mbox{}\texttt{300:} void\ \textbf{mutateGraph\ }(int\ mutationLevel,\ graph\&\ A)\{ \\
+\mbox{}\texttt{301:} \ \ int\ i,x,y; \\
+\mbox{}\texttt{302:}  \\
+\mbox{}\texttt{303:} \ \ \textbf{if}\ ((\textbf{rand}()\ \%\ 100)\ $>$\ mutationLevel)\ \{ \\
+\mbox{}\texttt{304:} \ \ \ \ \textbf{return}; \\
+\mbox{}\texttt{305:} \ \ \} \\
+\mbox{}\texttt{306:}  \\
+\mbox{}\texttt{307:} \ \ i\ =\ \textbf{rand}()\ \%\ num$\_$nodes; \\
+\mbox{}\texttt{308:} \ \ x\ =\ (\textbf{rand}()\%\ max$\_$cord)+1; \\
+\mbox{}\texttt{309:} \ \ y\ =\ (\textbf{rand}()\%\ max$\_$cord)+1; \\
+\mbox{}\texttt{310:}  \\
+\mbox{}\texttt{311:} \ \ A.nodes[i].x\ =\ x; \\
+\mbox{}\texttt{312:} \ \ A.nodes[i].y\ =\ y; \\
+\mbox{}\texttt{313:} \} \\
+\mbox{}\texttt{314:}  \\
+\mbox{}\texttt{315:} \textit{/*\ To\ do\ selection\ we\ use\ roulettewheel\ selection,\ only\ we\ } \\
+\mbox{}\texttt{316:} \textit{\ *\ invert\ adjust\ the\ regular\ algorithm\ so\ it\ prefers} \\
+\mbox{}\texttt{317:} \textit{\ *\ the\ lowest\ fitness\ numbers\ e.g.\ the\ biggest\ slice\ of} \\
+\mbox{}\texttt{318:} \textit{\ *\ piece\ is\ now\ the\ least\ attractive.} \\
+\mbox{}\texttt{319:} \textit{\ */} \\
+\mbox{}\texttt{320:} int\ \textbf{selectGraph}()\ \{ \\
+\mbox{}\texttt{321:} \ \ int\ i; \\
+\mbox{}\texttt{322:} \ \ int\ choice\ =\ -1; \\
+\mbox{}\texttt{323:} \ \ int\ combined$\_$fitness; \\
+\mbox{}\texttt{324:} \ \ int\ fitness$\_$reverse[MAX$\_$POP]; \\
+\mbox{}\texttt{325:} \ \ int\ max$\_$fitness\ =\ INT$\_$MIN; \\
+\mbox{}\texttt{326:} \ \ int\ min$\_$fitness\ =\ INT$\_$MAX; \\
+\mbox{}\texttt{327:} \ \ int\ total$\_$fitness\ =\ 0; \\
+\mbox{}\texttt{328:} \ \ int\ wheelnumber; \\
+\mbox{}\texttt{329:}  \\
+\mbox{}\texttt{330:} \ \ \textit{/*\ Find\ minimum/maximum\ */} \\
+\mbox{}\texttt{331:} \ \ min$\_$fitness\ =\ population[0].fitness; \\
+\mbox{}\texttt{332:} \ \ max$\_$fitness\ =\ population[MAX$\_$POP\ -\ 1].fitness; \\
+\mbox{}\texttt{333:}  \\
+\mbox{}\texttt{334:} \ \ \textit{/*\ Set\ balanced\ fitness\ */} \\
+\mbox{}\texttt{335:} \ \ combined$\_$fitness\ =\ min$\_$fitness\ +\ max$\_$fitness; \\
+\mbox{}\texttt{336:} \ \ \textbf{for}(i=0;\ i$<$\ MAX$\_$POP;\ i++)\ \{ \\
+\mbox{}\texttt{337:} \ \ \ \ fitness$\_$reverse[i]\ =\ combined$\_$fitness\ -\ population[i].fitness; \\
+\mbox{}\texttt{338:} \ \ \ \ total$\_$fitness\ +=\ fitness$\_$reverse[i]; \\
+\mbox{}\texttt{339:} \ \ \} \\
+\mbox{}\texttt{340:}  \\
+\mbox{}\texttt{341:} \ \textit{/*\ Get\ random\ number\ of\ wheel\ */} \\
+\mbox{}\texttt{342:} \ \ wheelnumber\ =\ \textbf{rand}()\ \%\ total$\_$fitness; \\
+\mbox{}\texttt{343:}  \\
+\mbox{}\texttt{344:} \ \ \textit{/*\ Find\ matching\ graph\ */} \\
+\mbox{}\texttt{345:} \ \ total$\_$fitness\ =\ 0; \\
+\mbox{}\texttt{346:} \ \ \textbf{for}(i=0;\ i$<$\ MAX$\_$POP;\ i++)\ \{ \\
+\mbox{}\texttt{347:} \ \ \ \ total$\_$fitness\ +=\ fitness$\_$reverse[i]; \\
+\mbox{}\texttt{348:} \ \ \ \ \textbf{if}\ (total$\_$fitness\ $>$\ wheelnumber)\ \{ \\
+\mbox{}\texttt{349:} \ \ \ \ \ \ \ \ choice\ =\ i; \\
+\mbox{}\texttt{350:} \ \ \ \ \ \ \ \ \textbf{break}; \\
+\mbox{}\texttt{351:} \ \ \ \ \} \\
+\mbox{}\texttt{352:} \ \ \} \\
+\mbox{}\texttt{353:}  \\
+\mbox{}\texttt{354:} \ \ \textbf{return}\ (choice); \\
+\mbox{}\texttt{355:} \} \\
+\mbox{}\texttt{356:}  \\
+\mbox{}\texttt{357:} \textit{/*\ Set\ the\ values\ of\ a\ \ given\ graph\ to\ random\ numbers} \\
+\mbox{}\texttt{358:} \textit{\ *\ In\ other\ word\ those\ graphs\ who\ aint\ fit\ enough\ } \\
+\mbox{}\texttt{359:} \textit{\ *\ for\ the\ next\ round\ will\ be\ discarded.\ } \\
+\mbox{}\texttt{360:} \textit{\ */} \\
+\mbox{}\texttt{361:} void\ \textbf{setRandGraph}(graph\&\ A)\ \{ \\
+\mbox{}\texttt{362:} \ \ int\ i; \\
+\mbox{}\texttt{363:} \ \ \textbf{for}\ (i=0;\ i$<$\ num$\_$nodes;i++)\ \{ \\
+\mbox{}\texttt{364:} \ \ \ \ \ A.nodes[i].x\ =\ (\textbf{rand}()\%max$\_$cord)+1; \\
+\mbox{}\texttt{365:} \ \ \ \ \ A.nodes[i].y\ =\ (\textbf{rand}()\%max$\_$cord)+1; \\
+\mbox{}\texttt{366:} \ \ \ \} \\
+\mbox{}\texttt{367:} \ \  \\
+\mbox{}\texttt{368:} \ \ \textbf{calcFitness}(A); \\
+\mbox{}\texttt{369:} \} \\
+\mbox{}\texttt{370:}  \\
+\mbox{}\texttt{371:} \textit{/*\ Create\ a\ graph\ and\ set\ nodes\ to\ certain\ location\ */} \\
+\mbox{}\texttt{372:} graph\ \textbf{initGraph}()\ \{ \\
+\mbox{}\texttt{373:} \ \ \ graph\ A; \\
+\mbox{}\texttt{374:} \ \ \ \textbf{setRandGraph}(A); \\
+\mbox{}\texttt{375:} \ \ \ \textbf{return}\ A; \\
+\mbox{}\texttt{376:} \} \\
+\mbox{}\texttt{377:}  \\
+\mbox{}\texttt{378:} \textit{//\ Generates\ a\ population\ of\ MAX$\_$POP\ graphs\ with\ random\ coordinates} \\
+\mbox{}\texttt{379:} void\ \textbf{initPopulation\ }()\ \{ \\
+\mbox{}\texttt{380:} \ \ int\ i; \\
+\mbox{}\texttt{381:}  \\
+\mbox{}\texttt{382:} \ \ \textbf{for}\ (i=0;\ i$<$\ MAX$\_$POP;i++)\ \{ \\
+\mbox{}\texttt{383:} \ \ \ \ population[i]\ =\ \textbf{initGraph}(); \\
+\mbox{}\texttt{384:} \ \ \} \\
+\mbox{}\texttt{385:} \} \\
+\mbox{}\texttt{386:} \textit{//\ Using\ bubblesort\ we\ sort\ the\ graphs\ in\ the\ population\ on\ fitness} \\
+\mbox{}\texttt{387:} void\ \textbf{sortPopulation\ }()\ \{ \\
+\mbox{}\texttt{388:} \ graph\ tmp; \\
+\mbox{}\texttt{389:} \ int\ i,\ j; \\
+\mbox{}\texttt{390:} \ \textbf{for}\ (j\ =\ 1;\ j\ $<$\ MAX$\_$POP;\ j++\ )\ \{ \\
+\mbox{}\texttt{391:} \ \ \textbf{for}\ (i\ =\ 0;\ i\ $<$\ MAX$\_$POP-j;\ i++\ )\ \{ \\
+\mbox{}\texttt{392:} \ \ \ \ \textbf{if}\ (population[i].fitness\ $>$\ population[i+1].fitness)\ \{ \\
+\mbox{}\texttt{393:} \ \ \ \ \ \ tmp\ =\ population[i]; \\
+\mbox{}\texttt{394:} \ \ \ \ \ \ population[i]\ =\ population[i+1]; \\
+\mbox{}\texttt{395:} \ \ \ \ \ \ population[i+1]\ =\ tmp; \\
+\mbox{}\texttt{396:} \ \ \ \ \} \\
+\mbox{}\texttt{397:} \ \ \} \\
+\mbox{}\texttt{398:} \ \} \\
+\mbox{}\texttt{399:} \} \\
+\mbox{}\texttt{400:}  \\
+\mbox{}\texttt{401:} \textit{/*\ Opens\ input\ file\ with\ adjacency-matrix\ which\ contains\ data\ about\ the} \\
+\mbox{}\texttt{402:} \textit{\ *\ number\ of\ nodes\ (N)\ on\ the\ first\ line\ and\ the\ values\ of\ the} \\
+\mbox{}\texttt{403:} \textit{\ *\ connections\ between\ those\ nodes\ in\ a\ N\ x\ N\ matrix\ in\ the\ following} \\
+\mbox{}\texttt{404:} \textit{\ *\ lines} \\
+\mbox{}\texttt{405:} \textit{\ */} \\
+\mbox{}\texttt{406:} void\ \textbf{openFile}(char\ *\ inputFile)\ \{ \\
+\mbox{}\texttt{407:} \ \ ifstream\ input; \\
+\mbox{}\texttt{408:} \ \ int\ i,\ j; \\
+\mbox{}\texttt{409:} \ \ input.\textbf{open}(inputFile,\ ios::in); \\
+\mbox{}\texttt{410:}  \\
+\mbox{}\texttt{411:} \ \ \textbf{if}\ (input)\ \{ \\
+\mbox{}\texttt{412:} \ \ \ \ cerr\ $<$$<$\ \texttt{"{}Opening\ "{}}$<$$<$\ inputFile\ $<$$<$\ \texttt{"{}..."{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{413:} \ \ \ \ input\ $>$$>$\ num$\_$nodes; \\
+\mbox{}\texttt{414:} \ \ \ \ \textbf{if}\ (num$\_$nodes\ $<$=\ 0)\ \{ \\
+\mbox{}\texttt{415:} \ \ \ \ \ \ \ \ input.\textbf{close}(); \\
+\mbox{}\texttt{416:} \ \ \ \ \ \ \ \ cerr\ $<$$<$\ \texttt{"{}Error:\ Invalid\ data\ format!"{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{417:} \ \ \ \ \ \ \ \ \textbf{exit}(EX$\_$DATAERR); \\
+\mbox{}\texttt{418:} \ \ \ \ \}\ \textbf{else}\ \textbf{if}\ (num$\_$nodes\ $<$\ MAX$\_$NODES)\ \{ \\
+\mbox{}\texttt{419:} \ \ \ \ \ \ \textbf{for}\ (i=0;\ i$<$\ num$\_$nodes;\ i++)\ \{ \\
+\mbox{}\texttt{420:} \ \ \ \ \ \ \ \ \textbf{for}\ (j=0;\ j$<$\ num$\_$nodes;\ j++)\ \{ \\
+\mbox{}\texttt{421:} \ \ \ \ \ \ \ \ \ \ input\ $>$$>$\ distances[i][j]; \\
+\mbox{}\texttt{422:} \ \ \ \ \ \ \ \ \ \ \textbf{if}\ (input.\textbf{eof}())\ \{ \\
+\mbox{}\texttt{423:} \ \ \ \ \ \ \ \ \ \ \ \ cerr\ $<$$<$\ \texttt{"{}Error:\ Invalid\ data\ format!"{}}\ $<$$<$endl; \\
+\mbox{}\texttt{424:} \ \ \ \ \ \ \ \ \ \ \ \ \textbf{exit}(EX$\_$DATAERR); \\
+\mbox{}\texttt{425:} \ \ \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{426:} \ \ \ \ \ \ \ \ \ \ \textbf{if}\ (distances[i][j]\ $>$\ lon$\_$con)\{ \\
+\mbox{}\texttt{427:} \ \ \ \ \ \ \ \ \ \ \ \ lon$\_$con\ =\ distances[i][j]; \\
+\mbox{}\texttt{428:} \ \ \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{429:} \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{430:} \ \ \ \ \ \ \} \\
+\mbox{}\texttt{431:} \ \ \ \ \}\ \textbf{else}\ \{ \\
+\mbox{}\texttt{432:} \ \ \ \ \ \ \ \ input.\textbf{close}(); \\
+\mbox{}\texttt{433:} \ \ \ \ \ \ \ \ cerr\ $<$$<$\ \texttt{"{}Error:\ Number\ of\ nodes\ in\ "{}}$<$$<$\ inputFile; \\
+\mbox{}\texttt{434:} \ \ \ \ \ \ \ \ cerr\ $<$$<$\ \texttt{"{}\ exceeds\ maximum\ number\ of\ nodes"{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{435:} \ \ \ \ \ \ \ \ \textbf{exit}(EX$\_$DATAERR); \\
+\mbox{}\texttt{436:} \ \ \ \ \} \\
+\mbox{}\texttt{437:} \ \ \}\ \textbf{else}\ \{ \\
+\mbox{}\texttt{438:} \ \ \ \ \ \ input.\textbf{close}(); \\
+\mbox{}\texttt{439:} \ \ \ \ \ \ cerr\ $<$$<$\ \texttt{"{}Error:\ Couldn't\ open\ file\ "{}}\ $<$$<$\ inputFile\ $<$$<$\ endl; \\
+\mbox{}\texttt{440:} \ \ \ \ \ \ \textbf{exit}(EX$\_$NOINPUT); \\
+\mbox{}\texttt{441:} \ \ \} \\
+\mbox{}\texttt{442:}  \\
+\mbox{}\texttt{443:} \ \ \textit{/*\ Transform\ 2d\ structure\ to\ 1d\ archs\ to\ allow\ easy\ computations\ */} \\
+\mbox{}\texttt{444:} \ \ num$\_$archs\ =\ 0; \\
+\mbox{}\texttt{445:} \ \ \textbf{for}\ (i\ =\ 0;\ i\ $<$\ num$\_$nodes;\ i++)\ \{ \\
+\mbox{}\texttt{446:} \ \ \ \ \textbf{for}\ (j\ =\ i+1;\ j\ $<$\ num$\_$nodes;\ j++)\ \{ \\
+\mbox{}\texttt{447:} \ \ \ \ \ \ \textbf{if}\ (distances[i][j]\ $>$\ 0)\ \{ \\
+\mbox{}\texttt{448:} \ \ \ \ \ \ \ \ archs[num$\_$archs].a\ =\ i; \\
+\mbox{}\texttt{449:} \ \ \ \ \ \ \ \ archs[num$\_$archs].b\ =\ j; \\
+\mbox{}\texttt{450:} \ \ \ \ \ \ \ \ archs[num$\_$archs].distance\ =\ distances[i][j]; \\
+\mbox{}\texttt{451:} \ \ \ \ \ \ \ \ num$\_$archs++; \\
+\mbox{}\texttt{452:} \ \ \ \ \ \ \} \\
+\mbox{}\texttt{453:} \ \ \ \ \} \\
+\mbox{}\texttt{454:} \ \ \} \\
+\mbox{}\texttt{455:} \} \\
+\mbox{}\texttt{456:}  \\
+\mbox{}\texttt{457:} \textit{//\ Prints\ the\ adjacency-matrix\ of\ openFile()\ to\ the\ screen} \\
+\mbox{}\texttt{458:} void\ \textbf{printDistances}()\ \{ \\
+\mbox{}\texttt{459:} \ \ int\ i,\ j; \\
+\mbox{}\texttt{460:}  \\
+\mbox{}\texttt{461:} \ \ cout\ $<$$<$\ \texttt{"{}\ "{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{462:} \ \ \textbf{for}\ (i=0;\ i$<$\ num$\_$nodes;\ i++)\ \{ \\
+\mbox{}\texttt{463:} \ \ \ \ \textbf{for}\ (j=0;\ j$<$\ num$\_$nodes;\ j++)\ \{ \\
+\mbox{}\texttt{464:} \ \ \ \ \ \ \ \ \ \ \ \ cout\ $<$$<$\ distances[i][j]$<$$<$\ \texttt{"{}\ "{}}; \\
+\mbox{}\texttt{465:} \ \ \ \ \} \\
+\mbox{}\texttt{466:} \ \ \ \ cout\ $<$$<$\ endl;\ \ \ \ \  \\
+\mbox{}\texttt{467:} \ \ \} \\
+\mbox{}\texttt{468:} \ \ cout\ $<$$<$\ \texttt{"{}\ "{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{469:} \} \\
+\mbox{}\texttt{470:}  \\
+\mbox{}\texttt{471:} \textit{/*\ Prints\ the\ coordinates\ of\ every\ point\ in\ a\ graph\ to\ the\ screen\ in} \\
+\mbox{}\texttt{472:} \textit{\ *\ graphviz\ compatible\ output} \\
+\mbox{}\texttt{473:} \textit{\ *\ cat\ $<$$<$EOF\ $|$\ neato\ \ -Tpng\ -oga.png\ \ \&\&\ open\ ga.png} \\
+\mbox{}\texttt{474:} \textit{\ */} \\
+\mbox{}\texttt{475:} void\ \textbf{printGraph}(graph\&\ A)\ \{ \\
+\mbox{}\texttt{476:} \ \ int\ i; \\
+\mbox{}\texttt{477:}  \\
+\mbox{}\texttt{478:} \ \ cout\ $<$$<$\ \texttt{"{}graph\ G\ \{\ node\ [shape=circle,"{}} \\
+\mbox{}\texttt{479:} \ \ \ \ \ \ \ $<$$<$\ \texttt{"{}fontname=}\texttt{\textbackslash{}"{}}\texttt{Lucida\ Console}\texttt{\textbackslash{}"{}}\texttt{,margin=0,0];"{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{480:} \ \ \textbf{for}\ (i=0;\ i$<$\ num$\_$nodes;\ i++)\ \{ \\
+\mbox{}\texttt{481:} \ \ \ \ \ cout\ $<$$<$\ \texttt{"{}C"{}}\ $<$$<$\ i\ $<$$<$\ \texttt{"{}[pos=}\texttt{\textbackslash{}"{}}\texttt{"{}}\ $<$$<$\ A.nodes[i].x\ *\ 28\ $<$$<$\ \texttt{"{},"{}}\ $<$$<$ \\
+\mbox{}\texttt{482:} \ \ \ \ \ A.nodes[i].y\ *\ 28\ $<$$<$\ \texttt{"{}!}\texttt{\textbackslash{}"{}}\texttt{,\ label=}\texttt{\textbackslash{}"{}}\texttt{C"{}}\ $<$$<$\ i\ $<$$<$\ \texttt{"{}}\texttt{\textbackslash{}"{}}\texttt{];"{}}\ $<$$<$\ endl;\  \\
+\mbox{}\texttt{483:} \ \ \} \\
+\mbox{}\texttt{484:} \ \ \textbf{for}\ (i=0;\ i\ $<$\ num$\_$archs;\ i++)\ \{ \\
+\mbox{}\texttt{485:} \ \ \ \ cout\ $<$$<$\ \texttt{"{}C"{}}\ $<$$<$\ archs[i].a\ $<$$<$\ \texttt{"{}\ -\/-\ C"{}}\ $<$$<$\ archs[i].b\ $<$$<$\ \texttt{"{};"{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{486:} \ \ \} \\
+\mbox{}\texttt{487:} \ \ cout\ $<$$<$\ \texttt{"{}\}"{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{488:} \} \\
+\mbox{}\texttt{489:}  \\
+\mbox{}\texttt{490:}  \\
+\mbox{}\texttt{491:} \textit{//\ Prints\ every\ graph\ stored\ in\ array\ population} \\
+\mbox{}\texttt{492:} void\ \textbf{printPopulation\ }()\ \{ \\
+\mbox{}\texttt{493:} \ \ int\ i; \\
+\mbox{}\texttt{494:} \ \ cerr\ $<$$<$\ \texttt{"{}\ "{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{495:} \ \ \textbf{for}\ (i=0;\ i$<$\ MAX$\_$POP;\ i++)\ \{ \\
+\mbox{}\texttt{496:} \ \ \ \ cerr\ $<$$<$\ i\ $<$$<$\ \texttt{"{}\ =$>$\ "{}}; \\
+\mbox{}\texttt{497:} \ \ \ \ \textbf{printGraph}(population[i]); \\
+\mbox{}\texttt{498:} \ \ \} \\
+\mbox{}\texttt{499:} \ \ cerr\ $<$$<$\ \texttt{"{}\ "{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{500:} \} \\
+\mbox{}\texttt{501:}  \\
+\mbox{}\texttt{502:}  \\
+\mbox{}\texttt{503:} \textit{/*\ Implementation\ of\ Steady\ State\ Evolution\ Algorithm\ based\ on\ p.119\ AI} \\
+\mbox{}\texttt{504:} \textit{\ *\ Book\ */} \\
+\mbox{}\texttt{505:} int\ \textbf{main}(int\ argc,\ char\ *\ argv[])\ \{ \\
+\mbox{}\texttt{506:} \ \ int\ i,j; \\
+\mbox{}\texttt{507:} \ \ int\ org$\_$dist,\ new$\_$dist; \\
+\mbox{}\texttt{508:} \ \ int\ select$\_$one,\ select$\_$two; \\
+\mbox{}\texttt{509:} \ \ int\ loopCounter; \\
+\mbox{}\texttt{510:} \ \ unsigned\ int\ randomSeed; \\
+\mbox{}\texttt{511:}  \\
+\mbox{}\texttt{512:} \ \ graph\ min; \\
+\mbox{}\texttt{513:} \ \ graph\ child$\_$one,\ child$\_$two; \\
+\mbox{}\texttt{514:}  \\
+\mbox{}\texttt{515:} \ \ \textit{//\ use\ random\ seed\ to\ create\ x,y\ coordinates\ of\ a\ point} \\
+\mbox{}\texttt{516:} \ \ randomSeed\ =\ (unsigned)\textbf{time}(0); \\
+\mbox{}\texttt{517:} \ \ randomSeed\ =\ 0; \\
+\mbox{}\texttt{518:} \ \ \textbf{srand}(randomSeed); \\
+\mbox{}\texttt{519:} \ \ \textit{/*\ Debug\ static\ seed\ */} \\
+\mbox{}\texttt{520:} \ \ \textit{//\ srand(0);} \\
+\mbox{}\texttt{521:} \ \  \\
+\mbox{}\texttt{522:} \ \ \textit{//\ Open\ the\ file\ that\ \ contains\ data\ about} \\
+\mbox{}\texttt{523:} \ \ \textit{//\ the\ number\ odf\ branches\ and\ which\ branches\ are\ } \\
+\mbox{}\texttt{524:} \ \ \textit{//\ connected\ with\ each\ other} \\
+\mbox{}\texttt{525:} \ \ \textbf{if}\ (argc\ $>$=\ 2)\ \{ \\
+\mbox{}\texttt{526:} \ \ \ \ \textbf{openFile}(argv[1]); \\
+\mbox{}\texttt{527:} \ \ \}\ \textbf{else}\ \{ \\
+\mbox{}\texttt{528:} \ \ \ \ cerr\ $<$$<$\ \texttt{"{}Usage:\ "{}}\ $<$$<$\ argv[0]\ $<$$<$\ \texttt{"{}\ $<$filename$>$\ $<$loopCount$>$"{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{529:} \ \ \ \ \textbf{exit}(EX$\_$USAGE); \\
+\mbox{}\texttt{530:} \ \ \} \\
+\mbox{}\texttt{531:}  \\
+\mbox{}\texttt{532:} \ \ \textbf{if}\ (argc\ ==\ 3)\ \{ \\
+\mbox{}\texttt{533:} \ \ \ \ loopCounter\ =\ \textbf{atoi}(argv[2]); \\
+\mbox{}\texttt{534:} \ \ \}\ \textbf{else}\ \{ \\
+\mbox{}\texttt{535:} \ \ \ \ loopCounter\ =\ DEFAULT$\_$LOOPS; \\
+\mbox{}\texttt{536:} \ \ \} \\
+\mbox{}\texttt{537:}  \\
+\mbox{}\texttt{538:} \ \ \textit{/*\ To\ optimize\ the\ speed\ of\ the\ genetic\ algoritm\ we\ limit\ the\ domain} \\
+\mbox{}\texttt{539:} \textit{\ \ \ *\ of\ the\ points\ */} \\
+\mbox{}\texttt{540:} \ \ \textbf{if}\ ((lon$\_$con\ *\ num$\_$nodes)\ $<$\ MAX$\_$COORDINATES)\{ \\
+\mbox{}\texttt{541:} \ \ \ \ max$\_$cord\ =\ lon$\_$con\ *\ num$\_$nodes; \\
+\mbox{}\texttt{542:} \ \ \}\ \textbf{else}\ \{ \\
+\mbox{}\texttt{543:} \ \ \ \ max$\_$cord\ =\ MAX$\_$COORDINATES; \\
+\mbox{}\texttt{544:} \ \ \} \\
+\mbox{}\texttt{545:} \ \ cerr\ $<$$<$\ \texttt{"{}Domain\ of\ points\ is\ set\ to\ "{}} \\
+\mbox{}\texttt{546:} \ \ \ \ \ \ \ $<$$<$\ max$\_$cord\ $<$$<$\ \texttt{"{}\ x\ "{}}\ $<$$<$\ max$\_$cord\ $<$$<$\ endl; \\
+\mbox{}\texttt{547:} \ \  \\
+\mbox{}\texttt{548:} \ \ \textit{//\ Minimum\ graph\ to\ store\ best\ found\ solution} \\
+\mbox{}\texttt{549:} \ \ min.fitness\ =\ INT$\_$MAX; \\
+\mbox{}\texttt{550:} \ \  \\
+\mbox{}\texttt{551:} \ \ \textit{/*\ Populate\ population,\ with\ random\ values\ */} \\
+\mbox{}\texttt{552:} \ \ \textbf{initPopulation}(); \\
+\mbox{}\texttt{553:} \ \  \\
+\mbox{}\texttt{554:} \ \ \textbf{for}\ (i=0;\ i$<$\ loopCounter;\ i++)\ \{ \\
+\mbox{}\texttt{555:} \ \ \ \ \ \textit{//\ Sort\ the\ population\ of\ graphs\ so\ that\ graph} \\
+\mbox{}\texttt{556:} \ \ \ \ \ \textit{//\ with\ smallest\ fitness\ is\ placed\ in\ population[0]} \\
+\mbox{}\texttt{557:} \ \ \ \ \ \textbf{sortPopulation}(); \\
+\mbox{}\texttt{558:} \ \ \ \ \  \\
+\mbox{}\texttt{559:} \ \ \ \ \ \textit{//\ Store\ the\ lowest\ found\ fitness\ if\ it\ is\ better} \\
+\mbox{}\texttt{560:} \ \ \ \ \ \textit{//\ then\ the\ fitness\ we\ already\ had\ stored} \\
+\mbox{}\texttt{561:} \ \ \ \ \ \textbf{if}\ (min.fitness\ $>$\ population[0].fitness)\{ \\
+\mbox{}\texttt{562:} \ \ \ \ \ \ \ \ \textbf{copyGraph}(population[0],min); \\
+\mbox{}\texttt{563:} \ \ \ \ \ \} \\
+\mbox{}\texttt{564:} \ \ \ \ \ \ \ \ \ \  \\
+\mbox{}\texttt{565:} \ \ \ \ \ \textit{//\ Stop\ if\ optimal\ is\ found\ e.g\ fitness\ equals\ zero} \\
+\mbox{}\texttt{566:} \ \ \ \ \ \textbf{if}(population[0].fitness\ ==\ 0)\{ \\
+\mbox{}\texttt{567:} \ \ \ \ \ \ \textbf{break}; \\
+\mbox{}\texttt{568:} \ \ \ \ \ \} \\
+\mbox{}\texttt{569:} \ \ \ \ \ \ \ \ \ \  \\
+\mbox{}\texttt{570:} \ \ \ \ \ \textit{//\ Selection\ reproducing\ parents\ via\ roulette\ wheel} \\
+\mbox{}\texttt{571:} \ \ \ \ \ \textit{//\ fittest\ parents\ get\ selected\ } \\
+\mbox{}\texttt{572:} \ \ \ \ \ select$\_$one\ =\ \textbf{selectGraph}(); \\
+\mbox{}\texttt{573:} \ \ \ \ \ \textbf{do}\ \{ \\
+\mbox{}\texttt{574:} \ \ \ \ \ \ \ select$\_$two\ =\ \textbf{selectGraph}(); \\
+\mbox{}\texttt{575:} \ \ \ \ \ \}\textbf{while}\ (select$\_$one\ ==\ select$\_$two); \\
+\mbox{}\texttt{576:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  \\
+\mbox{}\texttt{577:} \ \ \ \ \ \textit{//\ set\ points\ in\ children\ with\ crossover\ result\ of\ parents\ } \\
+\mbox{}\texttt{578:} \ \ \ \ \ \textbf{copyGraph}(population[select$\_$one],\ child$\_$one); \\
+\mbox{}\texttt{579:} \ \ \ \ \ \textbf{copyGraph}(population[select$\_$two],\ child$\_$two);\  \\
+\mbox{}\texttt{580:} \ \ \ \ \  \\
+\mbox{}\texttt{581:} \ \ \ \ \ \textit{//\ Crossover\ the\ selected\ parents\ \ } \\
+\mbox{}\texttt{582:} \ \ \ \ \ \textbf{crossUniform}(child$\_$one,\ child$\_$two); \\
+\mbox{}\texttt{583:} \ \ \ \ \  \\
+\mbox{}\texttt{584:} \ \ \ \ \ \textit{//\ mutate\ childs\ with\ small\ random\ probability\ usually\ 50\%} \\
+\mbox{}\texttt{585:} \ \ \ \ \ \textbf{mutateGraph}(99,\ child$\_$one); \\
+\mbox{}\texttt{586:} \ \ \ \ \ \textbf{mutateGraph}(99,\ child$\_$two); \\
+\mbox{}\texttt{587:} \ \ \ \ \  \\
+\mbox{}\texttt{588:} \ \ \ \ \ \textit{//\ Calculate\ fitness\ of\ both\ children} \\
+\mbox{}\texttt{589:} \ \ \ \ \ \textbf{calcFitness}(child$\_$one); \\
+\mbox{}\texttt{590:} \ \ \ \ \ \textbf{calcFitness}(child$\_$two); \\
+\mbox{}\texttt{591:} \ \ \ \ \  \\
+\mbox{}\texttt{592:} \ \ \ \ \ \textit{//\ Least\ fittest\ graphs\ in\ population\ get\ replaced} \\
+\mbox{}\texttt{593:} \ \ \ \ \ \textbf{copyGraph}(child$\_$one,population[MAX$\_$POP\ -2]); \\
+\mbox{}\texttt{594:} \ \ \ \ \ \textbf{copyGraph}(child$\_$two,population[MAX$\_$POP\ -1]); \\
+\mbox{}\texttt{595:} \ \ \} \\
+\mbox{}\texttt{596:} \ \  \\
+\mbox{}\texttt{597:} \ \ cerr\ $<$$<$\ \texttt{"{}Best\ found\ coordinates\ after\ "{}}$<$$<$\ i\ $<$$<$ \\
+\mbox{}\texttt{598:} \ \ \texttt{"{}\ epochs\ for\ given\ input\ graph:\ "{}}\ $<$$<$\ endl;\  \\
+\mbox{}\texttt{599:} \ \ \textbf{printGraph}(min); \\
+\mbox{}\texttt{600:} \ \  \\
+\mbox{}\texttt{601:} \ \ \textbf{if}(min.fitness\ !=\ 0)\{ \\
+\mbox{}\texttt{602:} \ \ \ \ \textbf{for}\ (i=0;\ i$<$\ num$\_$nodes;\ i++)\ \{ \\
+\mbox{}\texttt{603:} \ \ \ \ \ \ \textbf{for}\ (j=i+1;\ j$<$\ num$\_$nodes;\ j++)\ \{ \\
+\mbox{}\texttt{604:} \ \ \ \ \ \ \ \ org$\_$dist\ =\ distances[i][j]; \\
+\mbox{}\texttt{605:} \ \ \ \ \ \ \ \ \textbf{if}\ (org$\_$dist\ !=\ 0)\{ \\
+\mbox{}\texttt{606:} \ \ \ \ \ \ \ \ \ \ new$\_$dist\ =\ \textbf{calcDistance}(min.nodes[i],min.nodes[j]); \\
+\mbox{}\texttt{607:} \ \ \ \ \ \ \ \ \ \ cerr\ $<$$<$\ \texttt{"{}Distance\ between\ point\ C"{}}$<$$<$\ i\ $<$$<$\ \texttt{"{}\ -\ C"{}}\ $<$$<$\ j\ $<$$<$\ \texttt{"{}\ =\ "{}}; \\
+\mbox{}\texttt{608:} \ \ \ \ \ \ \ \ \ \ cerr\ $<$$<$\ \textbf{calcDistance}(min.nodes[i],min.nodes[j])\ $<$$<$\ \texttt{"{}\ "{}}; \\
+\mbox{}\texttt{609:} \ \ \ \ \ \ \ \ \ \ \textbf{if}\ (new$\_$dist\ !=\ org$\_$dist)\{ \\
+\mbox{}\texttt{610:} \ \ \ \ \ \ \ \ \ \ \ \ cerr\ $<$$<$\ \texttt{"{}SHOULD\ BE\ "{}}\ $<$$<$\ org$\_$dist\ $<$$<$\ endl; \\
+\mbox{}\texttt{611:} \ \ \ \ \ \ \ \ \ \ \}\ \textbf{else}\ \{ \\
+\mbox{}\texttt{612:} \ \ \ \ \ \ \ \ \ \ \ \ cerr\ $<$$<$\ \texttt{"{}CORRECT"{}}\ $<$$<$\ endl; \\
+\mbox{}\texttt{613:} \ \ \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{614:} \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{615:} \ \ \ \ \ \ \} \\
+\mbox{}\texttt{616:} \ \ \ \ \} \\
+\mbox{}\texttt{617:} \ \ \ \} \\
+\mbox{}\texttt{618:} \ \ cerr\ $<$$<$\ \texttt{"{}Fitness\ Intersection\ :\ "{}}\ $<$$<$\ min.fitnessIntersection\ $<$$<$\ endl; \\
+\mbox{}\texttt{619:} \ \ cerr\ $<$$<$\ \texttt{"{}Fitness\ Distance\ \ \ \ \ :\ "{}}\ $<$$<$\ min.fitnessDistance\ $<$$<$\ endl; \\
+\mbox{}\texttt{620:} \ \ cerr\ $<$$<$\ \texttt{"{}Fitness\ Overall\ \ \ \ \ \ :\ "{}}\ $<$$<$\ min.fitness\ $<$$<$\ endl; \\
+\mbox{}\texttt{621:} \ \ cerr\ $<$$<$\ \texttt{"{}Random\ seed\ \ \ \ \ \ \ \ \ \ :\ "{}}\ $<$$<$\ randomSeed\ $<$$<$\ endl; \\
+\mbox{}\texttt{622:} \ \ \textbf{return}(EX$\_$OK); \\
+\mbox{}\texttt{623:} \} \\
+
Index: /liacs/ai/graaf/input-circular.txt
===================================================================
--- /liacs/ai/graaf/input-circular.txt	(revision 2)
+++ /liacs/ai/graaf/input-circular.txt	(revision 2)
@@ -0,0 +1,11 @@
+10
+00 03 00 00 00 00 00 00 00 03
+03 00 03 00 00 00 00 00 00 00
+00 03 00 03 00 00 00 00 00 00
+00 00 03 00 03 00 00 00 00 00
+00 00 00 03 00 03 00 00 00 00
+00 00 00 00 03 00 03 00 00 00
+00 00 00 00 00 03 00 03 00 00
+00 00 00 00 00 00 03 00 03 00
+00 00 00 00 00 00 00 03 00 03
+03 00 00 00 00 00 00 00 03 00
Index: /liacs/ai/graaf/input-circular.txt.tex
===================================================================
--- /liacs/ai/graaf/input-circular.txt.tex	(revision 2)
+++ /liacs/ai/graaf/input-circular.txt.tex	(revision 2)
@@ -0,0 +1,14 @@
+% Generator: GNU source-highlight, by Lorenzo Bettini, http://www.gnu.org/software/src-highlite
+\noindent
+\mbox{}\texttt{01:} 10 \\
+\mbox{}\texttt{02:} 00\ 03\ 00\ 00\ 00\ 00\ 00\ 00\ 00\ 03 \\
+\mbox{}\texttt{03:} 03\ 00\ 03\ 00\ 00\ 00\ 00\ 00\ 00\ 00 \\
+\mbox{}\texttt{04:} 00\ 03\ 00\ 03\ 00\ 00\ 00\ 00\ 00\ 00 \\
+\mbox{}\texttt{05:} 00\ 00\ 03\ 00\ 03\ 00\ 00\ 00\ 00\ 00 \\
+\mbox{}\texttt{06:} 00\ 00\ 00\ 03\ 00\ 03\ 00\ 00\ 00\ 00 \\
+\mbox{}\texttt{07:} 00\ 00\ 00\ 00\ 03\ 00\ 03\ 00\ 00\ 00 \\
+\mbox{}\texttt{08:} 00\ 00\ 00\ 00\ 00\ 03\ 00\ 03\ 00\ 00 \\
+\mbox{}\texttt{09:} 00\ 00\ 00\ 00\ 00\ 00\ 03\ 00\ 03\ 00 \\
+\mbox{}\texttt{10:} 00\ 00\ 00\ 00\ 00\ 00\ 00\ 03\ 00\ 03 \\
+\mbox{}\texttt{11:} 03\ 00\ 00\ 00\ 00\ 00\ 00\ 00\ 03\ 00 \\
+
Index: /liacs/ai/graaf/input.txt
===================================================================
--- /liacs/ai/graaf/input.txt	(revision 2)
+++ /liacs/ai/graaf/input.txt	(revision 2)
@@ -0,0 +1,5 @@
+4
+0 8 0 3
+8 0 2 5
+0 2 0 0
+3 5 0 0
Index: /liacs/ai/graaf/input10.txt
===================================================================
--- /liacs/ai/graaf/input10.txt	(revision 2)
+++ /liacs/ai/graaf/input10.txt	(revision 2)
@@ -0,0 +1,11 @@
+10
+00 06 16 00 11 20 09 11 03 09 
+06 00 00 03 00 00 00 19 00 18 
+16 00 00 14 00 01 00 00 04 14 
+00 03 14 00 00 09 07 04 07 20 
+11 00 00 00 00 00 06 15 00 01 
+20 00 01 09 00 00 00 07 05 00 
+09 00 00 07 06 00 00 00 00 14 
+11 19 00 04 15 07 00 00 00 00 
+03 00 04 07 00 05 00 00 00 01 
+09 18 14 20 01 00 14 00 01 00 
Index: /liacs/ai/graaf/input10.txt.tex
===================================================================
--- /liacs/ai/graaf/input10.txt.tex	(revision 2)
+++ /liacs/ai/graaf/input10.txt.tex	(revision 2)
@@ -0,0 +1,14 @@
+% Generator: GNU source-highlight, by Lorenzo Bettini, http://www.gnu.org/software/src-highlite
+\noindent
+\mbox{}\texttt{01:} 10 \\
+\mbox{}\texttt{02:} 00\ 06\ 16\ 00\ 11\ 20\ 09\ 11\ 03\ 09\  \\
+\mbox{}\texttt{03:} 06\ 00\ 00\ 03\ 00\ 00\ 00\ 19\ 00\ 18\  \\
+\mbox{}\texttt{04:} 16\ 00\ 00\ 14\ 00\ 01\ 00\ 00\ 04\ 14\  \\
+\mbox{}\texttt{05:} 00\ 03\ 14\ 00\ 00\ 09\ 07\ 04\ 07\ 20\  \\
+\mbox{}\texttt{06:} 11\ 00\ 00\ 00\ 00\ 00\ 06\ 15\ 00\ 01\  \\
+\mbox{}\texttt{07:} 20\ 00\ 01\ 09\ 00\ 00\ 00\ 07\ 05\ 00\  \\
+\mbox{}\texttt{08:} 09\ 00\ 00\ 07\ 06\ 00\ 00\ 00\ 00\ 14\  \\
+\mbox{}\texttt{09:} 11\ 19\ 00\ 04\ 15\ 07\ 00\ 00\ 00\ 00\  \\
+\mbox{}\texttt{10:} 03\ 00\ 04\ 07\ 00\ 05\ 00\ 00\ 00\ 01\  \\
+\mbox{}\texttt{11:} 09\ 18\ 14\ 20\ 01\ 00\ 14\ 00\ 01\ 00\  \\
+
Index: /liacs/ai/graaf/input2picture.sh
===================================================================
--- /liacs/ai/graaf/input2picture.sh	(revision 2)
+++ /liacs/ai/graaf/input2picture.sh	(revision 2)
@@ -0,0 +1,9 @@
+#!/bin/sh
+# Soul purpose of creating some descent graphs next to eachother to
+# compare results of owen GA and Neato (graphviz) output
+
+INPUT=${1:-input.txt}
+
+./ga $INPUT > ga.dot &&  neato -n2 -Tpng -o ga.png ga.dot
+./array2dot.pl $INPUT | neato -Tpng -o neato.png
+montage -geometry +1+2 -label "Neato" neato.png -label "GA" ga.png png:final.png
Index: /liacs/ai/graaf/randgraph.pl
===================================================================
--- /liacs/ai/graaf/randgraph.pl	(revision 2)
+++ /liacs/ai/graaf/randgraph.pl	(revision 2)
@@ -0,0 +1,35 @@
+#!/usr/bin/env perl
+# Generate random graph, for the sake of testing the genetic algoritms
+# $Id: randgraph.pl 606 2008-05-12 15:37:58Z rick $
+# Rick van der Zwet
+# Licence: BSD
+
+$MAX_LENGTH=20;
+
+if ( not defined($ARGV[1]) ) {
+    print "Usage <program> <size_of_array> <CHANCE on arch>\n";
+    exit 1;
+}
+
+$NODES = $ARGV[0];
+$CHANCE = $ARGV[1];
+
+print "$NODES\n";
+foreach $i (0 .. ($NODES-1)) {
+    foreach $j (0 .. ($NODES-1)) {
+        if ($i == $j) {
+            printf  "%02i ", 0;
+        } elsif ($j < $i) {
+            printf "%02i ", $distance[$j][$i];
+        } else {
+            if (int(rand(100)) < $CHANCE) {
+                $length = int(rand($MAX_LENGTH)) + 1;
+            } else {
+                $length = 0;
+            }
+            $distance[$i][$j] = $length;
+            printf "%02i ", $length;
+        }
+    }
+    print "\n";
+}
Index: /liacs/ai/graaf/report.tex
===================================================================
--- /liacs/ai/graaf/report.tex	(revision 2)
+++ /liacs/ai/graaf/report.tex	(revision 2)
@@ -0,0 +1,364 @@
+%
+% $Id: report.tex 614 2008-05-14 11:58:06Z tsteenbe $
+%
+
+\documentclass[12pt,a4paper]{article}
+
+\frenchspacing
+\usepackage[english,dutch]{babel}
+\selectlanguage{dutch}
+\usepackage{graphicx}
+\usepackage{url}
+\usepackage{multicol}
+\usepackage{fancybox}
+\usepackage{amssymb,amsmath}
+\parindent0ex 
+
+\author{Rick van der Zwet & Thomas Steenbergen, Universiteit Leiden}
+\title{Kunstmatige Intelligentie  2008 --- opdracht 4 \\
+\large{Genetische algoritmen}}
+\author{Rick van der Zwet~~~~~Thomas Steenbergen \\
+  \texttt{hvdzwet@liacs.nl}~~~~\texttt{tsteenbe@liacs.nl}\\
+  \\
+  LIACS\\
+  Leiden University\\
+  Niels Bohrweg 1\\
+  2333 CA Leiden\\
+  The Netherlands}
+\date{\today}
+
+\begin{document}
+
+\maketitle
+
+\section{Inleiding}
+Dit verslag gaat over de vierde opdracht~\cite{assignment} voor het
+vak Kunstmatige Intelligentie~\cite{course}, welke over genetische
+algoritmen gaat als besproken in het collegeboek~\cite{aibook}.
+Een \emph{Genische Algoritme} is een zoek techniek dat gebruikt maakt
+van Darwin's evolutietheorie~\cite{darwin} om complexe problemen op te
+lossen.  Darwin's theorie stelt dat ontwikkeling van elke soort levend
+organisme op aarde word bepaald door natuurlijke selectie. Diegenen die
+zich het best aanpassen aan hun omgeving en daardoor overleven zullen
+een groter aandeel krijgen in genetische variatie van een populatie,
+simpel gezegd voor elke organisme geldt 'surival of the fittest'.  In
+het genetische algoritme van deze opdracht wordt dit mechnisme gebruikt
+om vanuit een populatie van mogelijke probleem oplossingen uiteindelijk
+te evolueren naar een correct antwoord.
+
+\section{Probleem}
+Gegeven een graaf, schrijf een genetisch algoritme dat in een
+coordinatenstelsel \emph{X, Y} de knopen van deze graaf zo plaats dat er
+zo min mogelijke kruisende takken zijn en zodat de schaal tussen de
+knopen zo goed mogelijk behouden blijft.
+
+\begin{table}
+\begin{center}
+\begin{tabular}{c c c c}
+    4 &   &   &   \\
+    0 & 8 & 0 & 3 \\
+    8 & 0 & 2 & 5 \\
+    0 & 2 & 0 & 0 \\
+    3 & 5 & 0 & 0 \\
+\end{tabular}
+\end{center}
+\caption{Voorbeeld van input graaf in adjacency-matrix representatie
+\label{tab:example-graph}}
+\end{table}
+
+\noindent
+Bovenstaand Tabel~\ref{tab:example-graph} bevat een eenvoudige representie van 
+een graaf. De eerste regel heeft het aantal knopen dat de graaf heeft,
+in dit geval $4$.
+De adjacency-matrix er onder geeft aan of er een tak tussen de knoop $i$
+en $j$ zit en wat hiervan de lengte is. $0$ betekend geen tak.  In de
+$i$-de rij / $j$-de kolom staat dat er dan een tak tussen knopen $i$ en
+$j$ is met een afstand gelijk aan het getal. 
+Tevens is er gegeven dat de graaf geen lussen bevat en dat alle
+afstanden tussen de knopen positieve gehele getallen zijn.
+
+\section{Theorie}
+%XXX: Wiskundige uitleg genetische algoritmen 
+% -> zoveel wiskunde komt er ook weer niet bij kijken
+Een genetisch algoritme is gebaseerd op de evolutie theorie en gebruikt 
+natuurlijke selectie om optimalisatie- en zoekproblemen op te lossen.
+Een genetisch algoritme doorloopt de volgende stappen generatie op generatie
+om tot een oplossing te komen of totdat het een stopconditie heeft bereikt:
+
+\subsection{Initialisatie}
+De eerste stap in elk genetisch algoritme is om een ouder generatie te
+cre\"{e}eren, welke uit een voorafgesproken grootte bestaat.
+Deze generatie bestaat in de meeste implementaties uit sets van
+willekeurige getallen waarbij elke set een mogelijke oplossing voor het
+probleem bevat.
+
+\subsection{Selectie}
+Voor elk item uit de ouder generatie wordt met behulp van een
+\emph{fitnessfunctie} bepaald hoeveel deze ouder afwijkt van de eisen
+die we aan de probleemoplossing hebben gesteld. Deze fitnessfunctie is
+te zien als maatstaf van de kwaliteit. Vervolgens worden de twee beste
+ouders geselecteerd en deze gaan na kruising of mutatie door naar
+de volgende generatie.
+
+\subsection{Kruising}
+De twee ouders worden in deze kruising of ook wel \emph{crossover} stap
+gerecombineerd zodat er twee unieke kinderen uit ontstaan. Hiervoor zijn
+verschillende crossover methodes beschikbaar, onder andere
+\emph{single-point} of \emph{two-point} of \emph{uniform} kruising
+gebruiken.  Bij \emph{single-point} of \emph{two-point} wordt elke ouder
+op respectievelijk \'{e}\'{e}n of twee plaatsen opgesplist en daarna
+worden de delen zo hergecombioneerd dat er twee nieuwe kinderen ontstaan
+met dezelfde lengte als de ouders. Bij \emph{uniform}  crossover wordt
+er per element in \'{e}\'{e}n  van de twee ouders met een bepaalde kans
+bekeken of dit element met het corresponderende element in de andere
+ouder verwisseld dient te worden.  Kruising zorgt voor meer spreiding in
+de ouder generatie, positieve eigenschappen van verschillende ouders
+komen bij elkaar.
+
+\subsection{Mutatie}
+De kinderen die ontstaan zijn uit de kruising worden gemuteerd om de diversiteit
+van de kinderen te bevorderen. De waarde van elk element in een ouder wordt met 
+een bepaald kans veranderd naar een willekeurige waarde. Om bepaalde
+positieve eigenschappen die misschien nog niet in de ouder generatie
+zaten toe te voegen aan de generatie wordt mutatie toegepast.
+
+\subsection{Stopconditie}
+In tegenstelling tot evoluatie in de natuur die oneindig voortduurt dienen bij
+genetische algoritmen het eveolutie process op een gegeven moment te stoppen om
+conclusies te kunnen trekken.
+Het is een goed moment om te stoppen als de fitness waarde gedurende een lange
+periode gelijk blijft of langzaam naar een bepaalde waarde toe convergeerd.
+Het simpelweg stoppen van de berekening na een vooraf vastgesteld aantal
+generaties is een andere stopconditie die veel wordt gebruikt vanwege
+praktische redenen, bijvoorbeeld als men een beperkte rekentijd heeft op een
+supercomputer.
+
+
+\section{Aanpak}
+%XXX: Welke keuzes zijn genomen en met welke reden, wat is de
+%achterliggende gedachte
+Er is gekozen gebruik te maken van het voorbeeld implementatie raamwerk gegeven
+in de sheet\cite{aisheet} tijdens het college kunstmatige
+intelligentie welke een pseudo beschrijving geeft voor het programmeren
+van een genetisch algoritme.
+\pagebreak
+\begin{verbatim}
+Initialiseer populatie
+Evalueer populatie
+while not klaar do
+      Selecteer ouders
+      Genereer met crossover kinderen (recombineer)
+      Muteer kinderen
+      Evalueer kinderen
+      Bepaal nieuwe populatie
+return beste element uit populatie
+\end{verbatim}
+\noindent
+Er is gekozen om te beginnen met populatie van een vooraf gedefineerde
+grootte, deze wordt tijdens de initialisatie  gevuld met grafen met
+random gekozen punten.
+
+De evaluatie van de populatie wordt gedaan met behulp van een fitness
+functie, welke de fitheid van elke graaf berekend aan de hand van twee criteria;
+het aantal kriuisende takken en de lengte van de takken ten opzichte van
+de invoer adjacency-matrix.
+Om het aantal kruisende takken te bepalen dienen we de snijpunten tussen elke
+bestaande tak in de adjency-matrix en alle andere takken uit te
+rekenen, dit wordt gedaan door de lijn vergelijkingen op te lossen en
+daarna te controleren of de gevonden oplossing in het vlak ligt welke
+bekeken wordt. Als voorbeeld implementatie is het topcoder
+artikel~\cite{line-intersect} gebruikt, welke in de opdracht als
+referentie wordt gemeld.
+
+Voor het selecteren van de ouders is \emph{roulettewheel} selectie een
+zeer geschikte methode, welke als eigenschap heeft dat een element dat
+goed is meer kans heeft op gekozen te worden, omdat het een groter deel
+van het `wiel' zal beslaan.
+
+Voor de creatie van de nieuwe populatie wordt \emph{steady state}
+gebruikt, dit houdt in dat steeds de beste van de ouders en de kinderen
+doorgaan naar de volgende ronde.
+
+
+
+\section{Implementatie}
+%XXX: Versie nummers en eventuele hulptalen
+Het genetisch algoritme is geschreven in C$\stackrel{++}{}$, gebruik
+makend van struct op een instantie van een graaf te representeren en
+dynamische arrays.
+
+Om de executie-snelheid van het genetisch algoritme te verhogen is het
+domein waarin de random punten gekozen kunnen worden te verminderen tot
+\emph{aantal knopen} x \emph{grootst gevonden lengte van een tak} mits
+dit een domein oplevert kleiner dan 1000 x 1000.
+
+\section{Experimenten}
+Tijdens de experimenten wordt er een random nummer generatie gebruikt,
+welke het onmogelijk maakt waardes van experimenten te vergelijken. Door
+een random initalisatie seed van $0$ te gebruiken kan in elke run
+dezelfde random nummers gebruikt worden om in elke run dezelfde random
+waardes te laten spelen. Er zijn 3 typen variaties in de parameters van
+het genetisch algoritmes gemodificeerd om te onderzoeken wat deze voor
+invloed hebben op de kwaliteit van de grafiek. Verder is er gebruik
+gemaakt van een special typen grafiek. De cirkel grafiek, welke slechts
+een domein heeft van 30 x 30 en 10 nodes grafiek met een domein van
+200 x 200.
+Als eerste de de loop duur gevarieerd en de tijd gemeten hoe lang het
+programma uitvoerd, welke de resultaten in tabel~\ref{tab:loops}
+oplevert.
+
+\begin{table}
+\begin{tabular}{c|c|c|c}
+Loops $10^x$ & fitness cirkel & fitness 10 nodes \\
+\hline
+4 & 17 & 260 \\
+5 &  2 & 260 \\
+6 &  2 & 146 \\
+7 &  2 & 118 \\
+\end{tabular}
+\caption{Experimenten met verschillende loop groottes \label{tab:loops}}
+\end{table}
+
+Om experimenten snel te laten verlopen is gekozen om de rest van de
+experimenten met groottes $10^6$ uit te voeren. Er wordt gebruik gemaakt
+van 2 fitness functies in het GA algoritme. De eerste is op basis van
+afstandverschillen tussen de nodes, de tweede rekend het aantal
+snijpunten uit. Om te kijken welke resultaten het oplevert als we de
+fitness getallen in verschillende houdingen bij elkaar optellen, is de
+code telkens aangepast en opnieuw gecompileerd. De resultaten hiervan
+staan in tabel~\ref{tab:verhoudingen}. 
+\begin{table}
+\begin{tabular}{c|c|c|c}
+gewicht snijpunt & gewicht afstand & fitness cirkel & fitness 10 nodes \\
+\hline
+1  &  1 & 2/0/2   & 18/128/146 \\
+1  &  0 & 26/0/0  & 213/50/50  \\
+1  &  2 & 0/15/15 & 64/117/245 \\
+1  & 10 & 0/26/26 & 17/193/363 \\
+2  &  1 & 0/0/0   & 66/77/214  \\
+10 &  1 & 0/0/0   & 159/54/699 \\
+\end{tabular}
+\caption{Experimenten met verschillende fitness berekeningen fitness
+weergegeven als fitness intersection/distance/overall 
+\label{tab:verhoudingen}}
+\end{table}
+
+\begin{table}
+\begin{tabular}{c|c|c}
+$MUT\_LEVEL$ & fitness cirkel & fitness 10 nodes \\
+\hline
+ 1 & 14/16/30 & 213/97/310 \\
+10 & 0/4/4    & 79/114/193 \\
+25 & 5/7/12   & 59/108/167 \\
+50 & 0/2/2    & 18/128/146 \\
+75 & 13/9/22  & 25/131/156 \\
+90 & 10/8/18  & 29/112/141 \\
+99 & 0/0/0    & 23/116/139 \\
+\end{tabular}
+\caption{Experimenten met verschillende mutatie niveaus weergegeven als
+fitness intersection/distance/overall \label{tab:mutaties}}
+\end{table}
+
+Het derde experiment veranderd de mutatie snelheid van het algoritme,
+dit is gedaan door de $MUT\_LEVEL$ aan te passen. \\De resultaten hiervan
+zijn te vinden in tabel~\ref{tab:mutaties}.
+
+Voor de visualisatie zijn de programma's graphviz~\cite{graphviz} en
+imagemagick~\cite{imagemagick} gebruikt. Graphviz heeft door middel
+van het subprogramma $neato$ een ingebouwd algoritme om het beste plaatje 
+te plotten en kan tevens `dom' gemaakt worden met de vlag $-n2$ zodat onze
+uitvoer geplot kan worden. \\
+Imagemagick zorgt voor het samenvoegen van de
+plaatjes en toevoegen van de labels. In figuur~\ref{fig:beste-cirkel} is de
+beste uitvoer van $input-circular.txt$ geplot.
+Figuur~\ref{fig:beste-10nodes} heeft de beste uitvoer van $input10.txt$.
+
+\begin{center}
+\begin{figure}
+\includegraphics[width=\textwidth]{beste-cirkel.ps}
+\caption{Beste uitvoer $input-circular.txt$, $fitness=0$}
+\label{fig:beste-cirkel}
+\end{figure}
+\end{center}
+
+\begin{center}
+\begin{figure}
+\includegraphics[width=\textwidth]{beste-10nodes.ps}
+\caption{Beste uitvoer $input10.txt$, $fitness=139$}
+\label{fig:beste-10nodes}
+\end{figure}
+\end{center}
+
+
+\section{Conclusies}
+De implementatie van het GA algoritme lijkt niet perfect te werken en te
+selectief te werk te gaan, vanwege de optimatisatie is het mogelijk met
+een hoger $MUT\_LEVEL$ nummer bijna alle oplossingen af te gaan waardoor
+de optimale oplossing eruit komt vallen. Het zoeken naar betere
+combinatie functies zou een oplossing kunnen bieden.
+
+Verder valt op dat de generereerde plaatjes met een bepaalde belangrijke
+eigenschap geen rekening is gehouden, namelijk om de afstand tussen elke
+node zo groot mogelijk te maken. Hierdoor vallen nodes over elkaar geen
+en is de grafische implementatie zeer slecht, terwijl de oplossing toch
+als optimaal aangeboden worden.
+
+De random seed is in alle gevallen hetzelfde gezet (namelijk $0$),
+onderzocht kan worden of het wijzigen van de seed nog invloed heeft op
+de resultaten.
+
+
+\begin{thebibliography}{XX}
+
+\bibitem{assignment}
+W.A.~Kosters, Kunstmatige intelligentie Programmeer-opgave 4 van 2008
+-- Genetische Algorithmen, \url{http://www.liacs.nl/home/kosters/AI/ga08.html}
+
+\bibitem{course}
+W.A.~Kosters, Kunstmatige intelligentie, \url{http://www.liacs.nl/home/kosters/AI.html}
+
+\bibitem{darwin}
+Darwin, Charles, On the Origin of Species by Means of Natural Selection,
+or the Preservation of Favoured Races in the Struggle for Life, John
+Murray, London, 1859,
+\url{http://www.literature.org/authors/darwin-charles/the-origin-of-species/index.html}
+
+\bibitem{aibook}
+S.J. Russell en P. Norvig, Artificial Intelligence, A Modern Approach,
+Second ediion, Prentice Hall, 2003.
+
+\bibitem{aisheet}
+W.A.~Kosters, Kunstmatige intelligentie College neurale netwerken 2008,
+\url{http://www.liacs.nl/~kosters/AI/genetisch.pdf}
+
+\bibitem{line-intersect}
+lbackstrom, Geometry Concepts: Line Intersection and its Applications,
+\url{http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=geometry2}
+
+\bibitem{graphviz}
+Graphviz, homepage, \url{http://graphviz.org}
+
+\bibitem{imagemagick}
+Imagemagick, homepage, \url{http://imagemagick.org}
+
+\end{thebibliography}
+
+\newpage
+\advance\textwidth by 8cm
+\advance\oddsidemargin by -3cm
+\advance\evensidemargin by -3cm
+\advance\topmargin by -2cm
+\advance\textheight by 4cm
+\advance\footskip by -4cm
+\marginparwidth 0cm
+\twocolumn
+\section*{Appendix}
+De GA code en de test arrays zagen er als volgt uit:
+\newline
+\tiny
+%preformatted with `source-highlight -n -f latex bridge.cc`
+\input{ga.cpp}
+\input{input-circular.txt}
+\input{input10.txt}
+\onecolumn
+\end{document}
Index: /liacs/ai/poker/Makefile
===================================================================
--- /liacs/ai/poker/Makefile	(revision 2)
+++ /liacs/ai/poker/Makefile	(revision 2)
@@ -0,0 +1,21 @@
+# Rick van der Zwet
+# 0433373
+# OS Assigment 3
+# Licence: BSD
+# $Id: Makefile 557 2008-04-08 22:57:09Z rick $
+
+include latex.mk
+
+CFLAGS+=-Wall -g
+PROGRAMS=nn
+
+all: $(PROGRAMS)
+
+clean:
+	rm -Rf $(PROGRAMS)
+
+debug:
+	@sh -c 'while [ "true" ]; do make clean && make && ./${PROGRAMS}; echo -n "Completed: "; date; sleep 5; done'
+
+ones: $(PROGRAMS)
+	@sh -c ./$(PROGRAMS)
Index: /liacs/ai/poker/README
===================================================================
--- /liacs/ai/poker/README	(revision 2)
+++ /liacs/ai/poker/README	(revision 2)
@@ -0,0 +1,35 @@
+== RUNNING ==
+# Get data set from UCI site
+# Set data sets into proper data/quality.txt data/training.txt
+  data/validate.txt locations
+# Alter nn.c to match right variables
+$ make nn
+$ ./nn
+
+== PARSING ==
+# pre-parse.pl alter file and uncomment right set required
+$ ./pre-parse.sh will set input on right location
+
+
+
+== FILES ==
+./convert-txt-to-dat.sh =   convert txt to data files to
+                            be used for gnuplot
+./data                  =   Data directory
+./data/pre-parse.pl     =   format poker data to new
+                            input format
+./data/pre-parse.sh     =   Build pre-parse working set
+./data/quality.txt      =   nn input quality checker
+./data/training.txt     =   nn input training
+./data/validate.txt     =   nn input validating (end)
+./data/xor.pl           =   XOR set builder
+./data/xor.sh           =   Build XOR working set
+./latex.mk              =   Document building Makefile
+./Makefile              =   Main Makefile
+./neuraal-netwerk.eps   =   picture neural network
+./nn.c                  =   NN source code
+./plot-learn.plt        =   gnuplot test-learn graph generator
+./plot-perceptron.plt   =   gnuplot test-perceptron graph generator
+./README.txt            =   currently reading
+./test-learn.sh         =   script to run test learn batch
+./test-perceptrons.sh   =   script to run test perceptrons batch
Index: /liacs/ai/poker/convert-txt-to-dat.sh
===================================================================
--- /liacs/ai/poker/convert-txt-to-dat.sh	(revision 2)
+++ /liacs/ai/poker/convert-txt-to-dat.sh	(revision 2)
@@ -0,0 +1,5 @@
+#!/bin/sh
+for file in `ls *.txt | grep test`; do
+awk '/Learned/ {print $2 " " $7}' $file > `basename $file .txt`.dat;
+done
+
Index: /liacs/ai/poker/data/poker-hand.names
===================================================================
--- /liacs/ai/poker/data/poker-hand.names	(revision 2)
+++ /liacs/ai/poker/data/poker-hand.names	(revision 2)
@@ -0,0 +1,151 @@
+1. Title: Poker Hand Dataset 
+
+2. Source Information
+
+a) Creators:
+
+	Robert Cattral (cattral@gmail.com)
+
+	Franz Oppacher (oppacher@scs.carleton.ca)
+	Carleton University, Department of Computer Science
+	Intelligent Systems Research Unit
+	1125 Colonel By Drive, Ottawa, Ontario, Canada, K1S5B6
+
+c) Date of release: Jan 2007
+ 
+3. Past Usage:
+    1. R. Cattral, F. Oppacher, D. Deugo. Evolutionary Data Mining
+       with Automatic Rule Generalization. Recent Advances in Computers,
+       Computing and Communications, pp.296-300, WSEAS Press, 2002.
+       - Note: This was a slightly different dataset that had more
+               classes, and was considerably more difficult.
+
+    - Predictive attribute: Poker Hand (labeled class)
+    - Found to be a challenging dataset for classification algorithms
+    - Relational learners have an advantage for some classes
+    - The ability to learn high level constructs has an advantage
+
+4. Relevant Information:
+     Each record is an example of a hand consisting of five playing
+     cards drawn from a standard deck of 52. Each card is described
+     using two attributes (suit and rank), for a total of 10 predictive
+     attributes. There is one Class attribute that describes the
+     Poker Hand. The order of cards is important, which is why there
+     are 480 possible Royal Flush hands as compared to 4 (one for each
+     suit  explained in more detail below).
+
+5. Number of Instances: 25010 training, 1,000,000 testing
+
+6. Number of Attributes: 10 predictive attributes, 1 goal attribute
+
+7. Attribute Information:
+   1) S1 Suit of card #1
+      Ordinal (1-4) representing {Hearts, Spades, Diamonds, Clubs}
+
+   2) C1 Rank of card #1
+      Numerical (1-13) representing (Ace, 2, 3, ... , Queen, King)
+
+   3) S2 Suit of card #2
+      Ordinal (1-4) representing {Hearts, Spades, Diamonds, Clubs}
+
+   4) C2 Rank of card #2
+      Numerical (1-13) representing (Ace, 2, 3, ... , Queen, King)
+
+   5) S3 Suit of card #3
+      Ordinal (1-4) representing {Hearts, Spades, Diamonds, Clubs}
+
+   6) C3 Rank of card #3
+      Numerical (1-13) representing (Ace, 2, 3, ... , Queen, King)
+
+   7) S4 Suit of card #4
+      Ordinal (1-4) representing {Hearts, Spades, Diamonds, Clubs}
+
+   8) C4 Rank of card #4
+      Numerical (1-13) representing (Ace, 2, 3, ... , Queen, King)
+
+   9) S5 Suit of card #5
+      Ordinal (1-4) representing {Hearts, Spades, Diamonds, Clubs}
+
+   10) C5 Rank of card 5
+      Numerical (1-13) representing (Ace, 2, 3, ... , Queen, King)
+
+   11) CLASS Poker Hand
+      Ordinal (0-9)
+
+      0: Nothing in hand; not a recognized poker hand 
+      1: One pair; one pair of equal ranks within five cards
+      2: Two pairs; two pairs of equal ranks within five cards
+      3: Three of a kind; three equal ranks within five cards
+      4: Straight; five cards, sequentially ranked with no gaps
+      5: Flush; five cards with the same suit
+      6: Full house; pair + different rank three of a kind
+      7: Four of a kind; four equal ranks within five cards
+      8: Straight flush; straight + flush
+      9: Royal flush; {Ace, King, Queen, Jack, Ten} + flush
+
+
+8. Missing Attribute Values: None
+
+9. Class Distribution:
+
+      The first percentage in parenthesis is the representation
+      within the training set. The second is the probability in the full domain.
+
+      Training set:
+
+      0: Nothing in hand, 12493 instances (49.95202% / 50.117739%)
+      1: One pair, 10599 instances, (42.37905% / 42.256903%)
+      2: Two pairs, 1206 instances, (4.82207% / 4.753902%)
+      3: Three of a kind, 513 instances, (2.05118% / 2.112845%)
+      4: Straight, 93 instances, (0.37185% / 0.392465%)
+      5: Flush, 54 instances, (0.21591% / 0.19654%)
+      6: Full house, 36 instances, (0.14394% / 0.144058%)
+      7: Four of a kind, 6 instances, (0.02399% / 0.02401%)
+      8: Straight flush, 5 instances, (0.01999% / 0.001385%)
+      9: Royal flush, 5 instances, (0.01999% / 0.000154%)
+
+      The Straight flush and Royal flush hands are not as representative of
+      the true domain because they have been over-sampled. The Straight flush
+      is 14.43 times more likely to occur in the training set, while the
+      Royal flush is 129.82 times more likely.
+
+      Total of 25010 instances in a domain of 311,875,200.
+
+      Testing set:
+
+	The value inside parenthesis indicates the representation within the test
+      set as compared to the entire domain. 1.0 would be perfect representation,
+      while <1.0 are under-represented and >1.0 are over-represented.
+
+      0: Nothing in hand, 501209 instances,(1.000063)
+      1: One pair, 422498 instances,(0.999832)
+      2: Two pairs, 47622 instances, (1.001746)
+      3: Three of a kind, 21121 instances, (0.999647)
+      4: Straight, 3885 instances, (0.989897)
+      5: Flush, 1996 instances, (1.015569)
+      6: Full house, 1424 instances, (0.988491)
+      7: Four of a kind, 230 instances, (0.957934)
+      8: Straight flush, 12 instances, (0.866426)
+      9: Royal flush, 3 instances, (1.948052)
+
+      Total of one million instances in a domain of 311,875,200.
+
+
+10. Statistics
+
+      Poker Hand       # of hands	Probability	# of combinations
+      Royal Flush      4		0.00000154	480
+      Straight Flush   36		0.00001385	4320
+      Four of a kind   624		0.0002401	74880
+      Full house       3744		0.00144058	449280
+      Flush            5108		0.0019654	612960
+      Straight         10200		0.00392464	1224000
+      Three of a kind  54912		0.02112845	6589440
+      Two pairs        123552		0.04753902	14826240
+      One pair         1098240	0.42256903	131788800
+      Nothing          1302540	0.50117739	156304800
+
+      Total            2598960	1.0		311875200
+
+      The number of combinations represents the number of instances in the entire domain.
+
Index: /liacs/ai/poker/data/pre-parse.pl
===================================================================
--- /liacs/ai/poker/data/pre-parse.pl	(revision 2)
+++ /liacs/ai/poker/data/pre-parse.pl	(revision 2)
@@ -0,0 +1,103 @@
+#!/usr/bin/env perl -w
+
+while ($line = <STDIN>) {
+    #Input in way more every workable format
+    @numbers = split(',',$line);
+
+    #Get the number of every colour in on every line
+    @colour = (0, 0, 0, 0, 0);
+    foreach (0,2,4,6,8) {
+        $colour[$numbers[$_]]++;
+    }
+
+    #Find pairs, triples, four
+    @cards = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+    foreach (1,3,5,7,9) {
+        $cards[$numbers[$_]]++;
+    }
+
+    ### BEGIN Specials ###
+    #triple = 1, four = 2
+    $special = 0;
+    #one pair = 1, two pair = 2
+    $pairs = 0;
+    ### END Specials ###
+
+    ### BEGIN decoded specials ###
+    $onepair = 0;
+    $twopair = 0;
+    $triple = 0;
+    $four = 0;
+    ### END decoded specials ###
+
+    foreach (1 .. 13) {
+        if ($cards[$_] == 2) {
+            $pairs++;
+            if ($pairs == 1) {
+                $onepair = 1;
+            } elsif ($pairs == 2) {
+                $twopair = 1;
+            }
+        } elsif ($cards[$_] > 2) {
+            $special = $cards[$_];
+            if ( $special == 3) {
+                $triple = 1;
+            } elsif ($special == 4) {
+                $four = 1;
+            }
+        }
+    }
+
+    #Decode into split option array
+    @output = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+    $output[$numbers[10]]++;
+
+    $pairs /= 10;
+    $special /= 10;
+    foreach (0 .. 10) {
+        $numbers[$_] /= 10;
+    }
+    foreach (0 .. 4) {
+        $colour[$_] /= 10;
+    }
+
+    # Input 10  : all cards
+    # Output 1  : decoded version of result
+    #print "@numbers[0..10]\n";
+
+    # Input 10  : all cards
+    # Output 10 : all options, one node
+    print "@numbers[0..9] @output[0..9]\n";
+
+    # Input 14  : all cards + colours
+    # Output 10 : all options, one node
+    #print "@numbers[0..9] @colour[1..4] @output[0..9]\n";
+
+    # Input 16  : all cards + specials
+    # Output 10 : all options, every has it's one node
+    #print "@numbers[0..9] @colour[1..4] $pairs $special @output[0..9]\n";
+
+    # Input 14  : all cards + decoded specials
+    # Output 10 : all options, every has it's one node
+    #print "@numbers[0..9] $onepair $twopair $triple $four @output[0..9]\n";
+
+    # Input 18  : all cards + colour + decoded specials
+    # Output 10 : all options, every has it's one node
+    #print "@numbers[0..9] @colour[1..4] $onepair $twopair $triple $four @output[0..9]\n";
+
+    # Input 10: all cards
+    # output 2: full house, four of a kind
+    #print "@numbers[0..9] $output[6] $output[7]\n";
+
+    # Input 16 : all cards + specials
+    # output 1 : full house
+    #print "@numbers[0..9] @colour[1..4] $pairs $special $output[7]\n";
+
+    # Input 2  : Calculated set
+    # output 1 : full house
+    #print "$pair $special $output[6]\n";
+
+    # Input  8  : colour + decoded specials
+    # Output 10 : all options, every has it's one node
+    #print "@colour[1..4] $onepair $twopair $triple $four @output[0..9]\n";
+}
Index: /liacs/ai/poker/data/pre-parse.pl.tex
===================================================================
--- /liacs/ai/poker/data/pre-parse.pl.tex	(revision 2)
+++ /liacs/ai/poker/data/pre-parse.pl.tex	(revision 2)
@@ -0,0 +1,106 @@
+% Generator: GNU source-highlight, by Lorenzo Bettini, http://www.gnu.org/software/src-highlite
+\noindent
+\mbox{}\texttt{001:} \#!/usr/bin/env\ perl\ -w \\
+\mbox{}\texttt{002:}  \\
+\mbox{}\texttt{003:} \textbf{while\ }(\$line\ =\ $<$STDIN$>$)\ \{ \\
+\mbox{}\texttt{004:} \ \ \ \ \#Input\ in\ way\ more\ every\ workable\ \textbf{format} \\
+\mbox{}\texttt{005:} \ \ \ \ @numbers\ =\ \textbf{split}(\texttt{','},\$line); \\
+\mbox{}\texttt{006:}  \\
+\mbox{}\texttt{007:} \ \ \ \ \#Get\ the\ number\ of\ every\ colour\ in\ on\ every\ line \\
+\mbox{}\texttt{008:} \ \ \ \ @colour\ =\ (0,\ 0,\ 0,\ 0,\ 0); \\
+\mbox{}\texttt{009:} \ \ \ \ \textbf{foreach\ }(0,2,4,6,8)\ \{ \\
+\mbox{}\texttt{010:} \ \ \ \ \ \ \ \ \$colour[\$numbers[\$$\_$]]++; \\
+\mbox{}\texttt{011:} \ \ \ \ \} \\
+\mbox{}\texttt{012:}  \\
+\mbox{}\texttt{013:} \ \ \ \ \#Find\ pairs,\ triples,\ four \\
+\mbox{}\texttt{014:} \ \ \ \ @cards\ =\ (0,\ 0,\ 0,\ 0,\ 0,\ 0,\ 0,\ 0,\ 0,\ 0,\ 0,\ 0,\ 0,\ 0,\ 0); \\
+\mbox{}\texttt{015:} \ \ \ \ \textbf{foreach\ }(1,3,5,7,9)\ \{ \\
+\mbox{}\texttt{016:} \ \ \ \ \ \ \ \ \$cards[\$numbers[\$$\_$]]++; \\
+\mbox{}\texttt{017:} \ \ \ \ \} \\
+\mbox{}\texttt{018:}  \\
+\mbox{}\texttt{019:} \ \ \ \ \#\#\#\ BEGIN\ Specials\ \#\#\# \\
+\mbox{}\texttt{020:} \ \ \ \ \#triple\ =\ 1,\ four\ =\ 2 \\
+\mbox{}\texttt{021:} \ \ \ \ \$special\ =\ 0; \\
+\mbox{}\texttt{022:} \ \ \ \ \#one\ pair\ =\ 1,\ two\ pair\ =\ 2 \\
+\mbox{}\texttt{023:} \ \ \ \ \$pairs\ =\ 0; \\
+\mbox{}\texttt{024:} \ \ \ \ \#\#\#\ END\ Specials\ \#\#\# \\
+\mbox{}\texttt{025:}  \\
+\mbox{}\texttt{026:} \ \ \ \ \#\#\#\ BEGIN\ decoded\ specials\ \#\#\# \\
+\mbox{}\texttt{027:} \ \ \ \ \$onepair\ =\ 0; \\
+\mbox{}\texttt{028:} \ \ \ \ \$twopair\ =\ 0; \\
+\mbox{}\texttt{029:} \ \ \ \ \$triple\ =\ 0; \\
+\mbox{}\texttt{030:} \ \ \ \ \$four\ =\ 0; \\
+\mbox{}\texttt{031:} \ \ \ \ \#\#\#\ END\ decoded\ specials\ \#\#\# \\
+\mbox{}\texttt{032:}  \\
+\mbox{}\texttt{033:} \ \ \ \ \textbf{foreach\ }(1\ ..\ 13)\ \{ \\
+\mbox{}\texttt{034:} \ \ \ \ \ \ \ \ \textbf{if}\ (\$cards[\$$\_$]\ ==\ 2)\ \{ \\
+\mbox{}\texttt{035:} \ \ \ \ \ \ \ \ \ \ \ \ \$pairs++; \\
+\mbox{}\texttt{036:} \ \ \ \ \ \ \ \ \ \ \ \ \textbf{if}\ (\$pairs\ ==\ 1)\ \{ \\
+\mbox{}\texttt{037:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \$onepair\ =\ 1; \\
+\mbox{}\texttt{038:} \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textbf{elsif\ }(\$pairs\ ==\ 2)\ \{ \\
+\mbox{}\texttt{039:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \$twopair\ =\ 1; \\
+\mbox{}\texttt{040:} \ \ \ \ \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{041:} \ \ \ \ \ \ \ \ \}\ \textbf{elsif\ }(\$cards[\$$\_$]\ $>$\ 2)\ \{ \\
+\mbox{}\texttt{042:} \ \ \ \ \ \ \ \ \ \ \ \ \$special\ =\ \$cards[\$$\_$]; \\
+\mbox{}\texttt{043:} \ \ \ \ \ \ \ \ \ \ \ \ \textbf{if}\ (\ \$special\ ==\ 3)\ \{ \\
+\mbox{}\texttt{044:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \$triple\ =\ 1; \\
+\mbox{}\texttt{045:} \ \ \ \ \ \ \ \ \ \ \ \ \}\ \textbf{elsif\ }(\$special\ ==\ 4)\ \{ \\
+\mbox{}\texttt{046:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \$four\ =\ 1; \\
+\mbox{}\texttt{047:} \ \ \ \ \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{048:} \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{049:} \ \ \ \ \} \\
+\mbox{}\texttt{050:}  \\
+\mbox{}\texttt{051:} \ \ \ \ \#Decode\ into\ split\ option\ array \\
+\mbox{}\texttt{052:} \ \ \ \ @output\ =\ (0,\ 0,\ 0,\ 0,\ 0,\ 0,\ 0,\ 0,\ 0,\ 0); \\
+\mbox{}\texttt{053:} \ \ \ \ \$output[\$numbers[10]]++; \\
+\mbox{}\texttt{054:}  \\
+\mbox{}\texttt{055:} \ \ \ \ \$pairs\ /=\ 10; \\
+\mbox{}\texttt{056:} \ \ \ \ \$special\ /=\ 10; \\
+\mbox{}\texttt{057:} \ \ \ \ \textbf{foreach\ }(0\ ..\ 10)\ \{ \\
+\mbox{}\texttt{058:} \ \ \ \ \ \ \ \ \$numbers[\$$\_$]\ /=\ 10; \\
+\mbox{}\texttt{059:} \ \ \ \ \} \\
+\mbox{}\texttt{060:} \ \ \ \ \textbf{foreach\ }(0\ ..\ 4)\ \{ \\
+\mbox{}\texttt{061:} \ \ \ \ \ \ \ \ \$colour[\$$\_$]\ /=\ 10; \\
+\mbox{}\texttt{062:} \ \ \ \ \} \\
+\mbox{}\texttt{063:}  \\
+\mbox{}\texttt{064:} \ \ \ \ \#\ Input\ 10\ \ :\ all\ cards \\
+\mbox{}\texttt{065:} \ \ \ \ \#\ Output\ 1\ \ :\ decoded\ version\ of\ result \\
+\mbox{}\texttt{066:} \ \ \ \ \#print\ \texttt{"{}@numbers[0..10]\textbackslash{}n"{}}; \\
+\mbox{}\texttt{067:}  \\
+\mbox{}\texttt{068:} \ \ \ \ \#\ Input\ 10\ \ :\ all\ cards \\
+\mbox{}\texttt{069:} \ \ \ \ \#\ Output\ 10\ :\ all\ options,\ one\ node \\
+\mbox{}\texttt{070:} \ \ \ \ print\ \texttt{"{}@numbers[0..9]\ @output[0..9]\textbackslash{}n"{}}; \\
+\mbox{}\texttt{071:}  \\
+\mbox{}\texttt{072:} \ \ \ \ \#\ Input\ 14\ \ :\ all\ cards\ +\ colours \\
+\mbox{}\texttt{073:} \ \ \ \ \#\ Output\ 10\ :\ all\ options,\ one\ node \\
+\mbox{}\texttt{074:} \ \ \ \ \#print\ \texttt{"{}@numbers[0..9]\ @colour[1..4]\ @output[0..9]\textbackslash{}n"{}}; \\
+\mbox{}\texttt{075:}  \\
+\mbox{}\texttt{076:} \ \ \ \ \#\ Input\ 16\ \ :\ all\ cards\ +\ specials \\
+\mbox{}\texttt{077:} \ \ \ \ \#\ Output\ 10\ :\ all\ options,\ every\ has\ it's\ one\ node \\
+\mbox{}\texttt{078:} \ \ \ \ \#print\ \texttt{"{}@numbers[0..9]\ @colour[1..4]\ \$pairs\ \$special\ @output[0..9]\textbackslash{}n"{}}; \\
+\mbox{}\texttt{079:}  \\
+\mbox{}\texttt{080:} \ \ \ \ \#\ Input\ 14\ \ :\ all\ cards\ +\ decoded\ specials \\
+\mbox{}\texttt{081:} \ \ \ \ \#\ Output\ 10\ :\ all\ options,\ every\ has\ it's\ one\ node \\
+\mbox{}\texttt{082:} \ \ \ \ \#print\ \texttt{"{}@numbers[0..9]\ \$onepair\ \$twopair\ \$triple\ \$four\ @output[0..9]\textbackslash{}n"{}}; \\
+\mbox{}\texttt{083:}  \\
+\mbox{}\texttt{084:} \ \ \ \ \#\ Input\ 18\ \ :\ all\ cards\ +\ colour\ +\ decoded\ specials \\
+\mbox{}\texttt{085:} \ \ \ \ \#\ Output\ 10\ :\ all\ options,\ every\ has\ it's\ one\ node \\
+\mbox{}\texttt{086:} \ \ \ \ \#print\ \texttt{"{}@numbers[0..9]\ @colour[1..4]\ \$onepair\ \$twopair\ \$triple\ \$four\ @output[0..9]\textbackslash{}n"{}}; \\
+\mbox{}\texttt{087:}  \\
+\mbox{}\texttt{088:} \ \ \ \ \#\ Input\ 10:\ all\ cards \\
+\mbox{}\texttt{089:} \ \ \ \ \#\ output\ 2:\ full\ house,\ four\ of\ a\ kind \\
+\mbox{}\texttt{090:} \ \ \ \ \#print\ \texttt{"{}@numbers[0..9]\ \$output[6]\ \$output[7]\textbackslash{}n"{}}; \\
+\mbox{}\texttt{091:}  \\
+\mbox{}\texttt{092:} \ \ \ \ \#\ Input\ 16\ :\ all\ cards\ +\ specials \\
+\mbox{}\texttt{093:} \ \ \ \ \#\ output\ 1\ :\ full\ house \\
+\mbox{}\texttt{094:} \ \ \ \ \#print\ \texttt{"{}@numbers[0..9]\ @colour[1..4]\ \$pairs\ \$special\ \$output[7]\textbackslash{}n"{}}; \\
+\mbox{}\texttt{095:}  \\
+\mbox{}\texttt{096:} \ \ \ \ \#\ Input\ 2\ \ :\ Calculated\ set \\
+\mbox{}\texttt{097:} \ \ \ \ \#\ output\ 1\ :\ full\ house \\
+\mbox{}\texttt{098:} \ \ \ \ \#print\ \texttt{"{}\$pair\ \$special\ \$output[6]\textbackslash{}n"{}}; \\
+\mbox{}\texttt{099:}  \\
+\mbox{}\texttt{100:} \ \ \ \ \#\ Input\ \ 8\ \ :\ colour\ +\ decoded\ specials \\
+\mbox{}\texttt{101:} \ \ \ \ \#\ Output\ 10\ :\ all\ options,\ every\ has\ it's\ one\ node \\
+\mbox{}\texttt{102:} \ \ \ \ \#print\ \texttt{"{}@colour[1..4]\ \$onepair\ \$twopair\ \$triple\ \$four\ @output[0..9]\textbackslash{}n"{}}; \\
+\mbox{}\texttt{103:} \} \\
+
Index: /liacs/ai/poker/data/pre-parse.sh
===================================================================
--- /liacs/ai/poker/data/pre-parse.sh	(revision 2)
+++ /liacs/ai/poker/data/pre-parse.sh	(revision 2)
@@ -0,0 +1,4 @@
+#!/bin/sh
+cat poker-hand-training-true.data | ./pre-parse.pl > training.txt
+cat poker-hand-testing.data | ./pre-parse.pl > validate.txt
+tail -10000 poker-hand-testing.data | ./pre-parse.pl > quality.txt
Index: /liacs/ai/poker/data/xor.pl
===================================================================
--- /liacs/ai/poker/data/xor.pl	(revision 2)
+++ /liacs/ai/poker/data/xor.pl	(revision 2)
@@ -0,0 +1,18 @@
+#!/usr/bin/env perl -w
+#$Id: xor.pl 545 2008-04-06 20:46:24Z rick $
+
+if (defined ($ARGV[0])) {
+    $MAX = $ARGV[0];
+} else {
+    $MAX = 1000;
+}
+
+
+for (0 .. $MAX) {
+    $a = int(rand(2));
+    $b = int(rand(2));
+    $c = $a ^ $b;
+    print "$a $b $c\n"
+}
+
+
Index: /liacs/ai/poker/data/xor.sh
===================================================================
--- /liacs/ai/poker/data/xor.sh	(revision 2)
+++ /liacs/ai/poker/data/xor.sh	(revision 2)
@@ -0,0 +1,12 @@
+#!/bin/sh
+# $Id: xor.sh 545 2008-04-06 20:46:24Z rick $
+
+cat <<EOF > quality.txt
+0 0 0
+1 0 1
+0 1 1
+1 1 0
+EOF
+
+./xor.pl 1000 > training.txt
+./xor.pl 200000 > validate.txt
Index: /liacs/ai/poker/latex.mk
===================================================================
--- /liacs/ai/poker/latex.mk	(revision 2)
+++ /liacs/ai/poker/latex.mk	(revision 2)
@@ -0,0 +1,50 @@
+# Rick van der Zwet <rick@wzoeterwoude.net>
+TARGET = report
+LATEX = latex
+XDVI = xdvi
+TEX = latex -halt-on-error
+DVIPDF = dvipdf
+ASPELL = aspell
+ASPELL_ARGS = -c --mode=tex
+.SUFFIXES: .pdf
+
+help:
+	@echo "Usage Makefile <option>"
+
+doc-all: doc-distclean buildpdf
+
+view: viewpdf
+
+viewdvi: builddvi
+	$(XDVI) $(TARGET)
+
+builddvi: $(TARGET).dvi
+
+doc-clean:
+	rm -vf *.aux *.log *toc *.out *.bak
+
+doc-distclean: doc-clean
+	rm -vf $(TARGET).dvi $(TARGET).pdf $(PROGRAM)
+
+buildpdf: $(TARGET).pdf
+
+viewpdf: buildpdf
+	xpdf $(TARGET).pdf
+
+spell: spell-en
+
+spell-nl: $(TARGET).tex
+	$(ASPELL) -l nl -p ~/aspell-n.dic $(ASPELL_ARGS) $<
+
+spell-en: $(TARGET).tex
+	$(ASPELL) -l en -p ~/aspell-en.dic $(ASPELL_ARGS) $<
+
+.dvi.pdf:
+	$(DVIPDF) $? $@
+
+.tex.dvi:
+	$(TEX) $? $@
+	$(TEX) $? $@
+
+.gs.png:
+	$(GNUPLOT) $?
Index: /liacs/ai/poker/nn.c
===================================================================
--- /liacs/ai/poker/nn.c	(revision 2)
+++ /liacs/ai/poker/nn.c	(revision 2)
@@ -0,0 +1,335 @@
+/*
+ * Rick van der Zwet
+ * 0433373
+ * OS Assigment 3
+ * Licence: BSD
+ * $Id: nn.c 557 2008-04-08 22:57:09Z rick $
+*/
+
+#include <sysexits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <time.h>
+
+/* NOTE: All first knobs are bias knobs or hidden stale knobs
+ * - Validation is done using rounding, please make outputs discrete or
+ * alter validation function
+ */
+
+/* Allow uniform and easy calls at functions */
+#define TRUE 1
+#define FALSE 0
+
+
+/* Network variables */
+/*NOTE: first node is 'hidden' bias knob */
+#ifndef INPUT_SIZE
+#define INPUT_SIZE 11
+#endif
+
+/*NOTE: first node is 'hidden' bias knob */
+#ifndef HIDDEN_SIZE
+#define HIDDEN_SIZE 11
+#endif
+
+/*NOTE: first node is 'hidden' 'lame' knob */
+#ifndef OUTPUT_SIZE
+#define OUTPUT_SIZE 11
+#endif
+
+/* Learn speed alpha of network */
+#ifndef LEARN_SPEED
+#define LEARN_SPEED 0.5
+#endif
+
+/* After QUALITY_ROUND trainingset check quality of network */
+#define QUALITY_ROUND 100
+
+/* Training set, to be used to train network */
+char * file_training = "data/training.txt";
+/* Validation set, to be used to test end result of network */
+char * file_validate = "data/validate.txt";
+/* Quality set, to be used to do quick testing whether network is
+ * improving
+ */
+char * file_quality = "data/quality.txt";
+
+/* Globally defined arrays, which represent the network */
+double hidden[HIDDEN_SIZE];
+double input[INPUT_SIZE];
+double output[OUTPUT_SIZE];
+double target[OUTPUT_SIZE];
+double weight_HtoO[HIDDEN_SIZE][OUTPUT_SIZE];
+double weight_ItoH[INPUT_SIZE][HIDDEN_SIZE];
+
+#define WEIGHT_NOT_USED -99999
+
+void stdInit() {
+    int i;
+    /* Should never change, been using */
+    for (i = 0; i < INPUT_SIZE; i++)
+        weight_ItoH[i][0] = WEIGHT_NOT_USED;
+    for (i = 0; i < HIDDEN_SIZE; i++)
+        weight_HtoO[i][0] = WEIGHT_NOT_USED;
+}
+
+
+/* Random init of weights */
+void randInit() {
+    int i,j;
+    
+    /* Different numbers every call */
+    srandom(time(NULL));
+
+    for (i = 0; i < INPUT_SIZE; i++)
+        for ( j = 1; j < HIDDEN_SIZE; j++) {
+            weight_ItoH[i][j] = (double)(random() % 100) / 100;
+        }
+
+    for (i = 0; i < HIDDEN_SIZE; i++)
+        for (j = 1; j < OUTPUT_SIZE; j++)
+            weight_HtoO[i][j] = (double)(random() % 100) / 100;
+
+    stdInit();
+}
+
+/* Fixed init of weights */
+void fixedInit() {
+    int i,j;
+    for (i = 0; i < INPUT_SIZE; i++)
+        for ( j = 1; j < HIDDEN_SIZE; j++) {
+            weight_ItoH[i][j] = 0.5;
+        }
+
+    for (i = 0; i < HIDDEN_SIZE; i++)
+        for (j = 1; j < OUTPUT_SIZE; j++)
+            weight_HtoO[i][j] = 0.5;
+
+    stdInit();
+}
+
+/* Define exact wights, used for debugging calculations
+ * other flags INPUT = 2, HIDDEN = 2, OUTPUT = 1
+ */
+void debugInit() {
+    stdInit();
+    weight_ItoH[0][1] = 1;
+    weight_ItoH[0][2] = 1;
+    weight_ItoH[1][1] = 0.62;
+    weight_ItoH[1][2] = 0.42;
+    weight_ItoH[2][1] = 0.55;
+    weight_ItoH[2][2] = -0.17;
+
+    weight_HtoO[0][1] = 1;
+    weight_HtoO[1][1] = 0.35;
+    weight_HtoO[2][1] = 0.81;
+}
+
+/*  calculate Aj's and Ai's (outputs) */
+void nnCalc() {
+    int i,j;
+    double total;
+    for (i = 1; i < HIDDEN_SIZE; i++) {
+        total = 0;
+        for (j = 0; j < INPUT_SIZE; j++)
+            total += weight_ItoH[j][i] * input[j];
+        hidden[i] = 1 / ( 1 + exp(total * (-1)));
+    }
+
+    for (i = 1; i < OUTPUT_SIZE; i++) {
+        total = 0;
+        for (j = 0; j < HIDDEN_SIZE; j++)
+            total += weight_HtoO[j][i] * hidden[j];
+        output[i] = 1 / ( 1 + exp(total * (-1)));
+    }
+
+}
+
+/* train network, NOTE: nnCalc needs to be called first */
+void nnTrain() {
+    int i,j;
+    double hidden_delta[HIDDEN_SIZE];
+    double output_delta[OUTPUT_SIZE];
+    double output_error[OUTPUT_SIZE];
+    double hidden_sum_delta[HIDDEN_SIZE];
+
+    for (i = 1; i < OUTPUT_SIZE; i++) {
+        output_error[i] = target[i] - output[i];
+        output_delta[i] = output_error[i] * output[i] * (1 - output[i]);
+    }
+
+    for (i = 0; i < HIDDEN_SIZE; i++) {
+        hidden_sum_delta[i] = 0;
+        for (j = 1; j < OUTPUT_SIZE; j++)
+            hidden_sum_delta[i] += weight_HtoO[i][j] * output_delta[j];
+        hidden_delta[i] = hidden[i] * (1 - hidden[i]) *
+        hidden_sum_delta[i];
+     }
+
+    for (i = 0; i < HIDDEN_SIZE; i++)
+        for (j = 1; j < OUTPUT_SIZE; j++) {
+            weight_HtoO[i][j] = weight_HtoO[i][j] + LEARN_SPEED *
+            hidden[i] * output_delta[j];
+        }
+
+    for (i = 0; i < INPUT_SIZE; i++)
+        for (j = 1; j < HIDDEN_SIZE; j++) {
+            weight_ItoH[i][j] = weight_ItoH[i][j] + LEARN_SPEED *
+            input[i] * hidden_delta[j];
+        }
+}
+
+/* Verify wether target, matches output */
+int nnValidate() {
+    int i;
+    //printf ("Rounding: %lf - %lf\n",output[1], target[1]);
+    for (i = 1; i < OUTPUT_SIZE; i++)
+        if (round(output[i]) != round(target[i]))
+            return FALSE;
+    return TRUE;
+}
+
+/* Pretty print of output */
+void nnOutput() {
+    int i;
+    for(i = 0; i < INPUT_SIZE; i++)
+        printf("%lf, ", input[i]);
+    printf("= %lf - %lf - ", output[1], target[1]);
+    if (nnValidate() == TRUE)
+        printf("OK");
+    else
+        printf("ERROR");
+    printf("\n");
+}
+
+/* Pretty print of hidden knobs */
+void nnHiddenOutput() {
+    int i;
+    for(i = 0; i < HIDDEN_SIZE; i++)
+        printf("%lf, ", hidden[i]);
+    printf(" - HIDDEN\n");
+}
+
+
+/* Pretty print of all weights */
+void nnNeuronOutput() {
+    int i,j;
+    for (i = 0; i < INPUT_SIZE; i++)
+        for(j = 0; j < HIDDEN_SIZE; j++)
+            if (weight_ItoH[i][j] != WEIGHT_NOT_USED)
+                printf("weight_ItoH[%i][%i] = %lf\n", i, j,
+                weight_ItoH[i][j]);
+    printf("---\n");
+    for (i = 0; i < HIDDEN_SIZE; i++)
+        for(j = 0; j < OUTPUT_SIZE; j++)
+            if (weight_ItoH[i][j] != WEIGHT_NOT_USED)
+                printf("weight_HtoO[%i][%i] = %lf\n", i, j,
+                weight_HtoO[i][j]);
+}
+
+int nnReadInput(FILE * handle) {
+    int i = 1;
+    double finput;
+    while (fscanf(handle, "%lf", &finput) != EOF) {
+        if (i < INPUT_SIZE)
+            input[i] = finput;
+        else if (i < (INPUT_SIZE + OUTPUT_SIZE))
+            target[i - INPUT_SIZE] = finput;
+
+        /* Calc next input */
+        i++;
+        /* Skip hidden output knob */
+        if (i == INPUT_SIZE)
+            i++;
+        if (i == (INPUT_SIZE + OUTPUT_SIZE))
+            return TRUE;
+    }
+
+    /* Input not complete */
+    return FALSE;
+}
+
+/* Verify quality of current network */
+double nnQualityCheck(char * file) {
+    double validate_total = 0;
+    double validate_ok = 0;
+    double validate_percent = 0;
+    FILE * handle;
+
+    handle = fopen(file,"r");
+    while (nnReadInput(handle) == TRUE) {
+            validate_total++;
+            nnCalc();
+            if (nnValidate() == TRUE)
+                validate_ok++;
+            //else
+            //  nnOutput();
+    }
+    fclose(handle);
+    validate_percent = (validate_ok / validate_total) * 100;
+    printf("Validating: %.0lf/%.0lf - %.2lf %%\n",
+    validate_ok,validate_total,validate_percent);
+
+    return(validate_percent);
+}
+
+/* Main program */
+int main (int argc, char * argv[]) {
+    int i,training_total, training_best;
+    double quality_max, quality;
+    FILE * handle;
+
+    /* Set the bias knob */
+    input[0] = -1;
+    hidden[0] = -1;
+ 
+    /* Init set of all wights */
+    //debugInit();
+    fixedInit();
+    //randInit();
+
+    /* Set initial quality */
+    quality_max = nnQualityCheck(file_quality);
+    training_best = 0;
+    training_total = 0;
+
+    printf("Running neural network with following parameters\n");
+    printf("Input  nodes    : %i\n", INPUT_SIZE);
+    printf("Hidden nodes    : %i\n", HIDDEN_SIZE);
+    printf("Output nodes    : %i\n", OUTPUT_SIZE);
+    printf("Learning rate   : %lf\n", LEARN_SPEED);
+    printf("Quality check   : %i\n", QUALITY_ROUND);
+    printf("Initial quality : %lf %%\n", quality_max);
+    /* Start training */
+    //nnNeuronOutput();
+    i = 1;
+    handle = fopen(file_training,"r");
+    while ( nnReadInput(handle) == TRUE) {
+        training_total++;
+        nnCalc();
+        //nnOutput();
+        //nnHiddenOutput();
+
+        if (nnValidate() == FALSE) {
+            nnTrain();
+            //nnNeuronOutput();
+        }
+
+        /* Verifiy quality, stop training when quality is going down */
+        if ((training_total % QUALITY_ROUND) == 0) {
+            printf("Learned: %i - ", training_total);
+            quality = nnQualityCheck(file_quality);
+            if (quality > quality_max) {
+                quality_max = quality;
+                training_best = training_total;
+            }
+        }
+    }
+    fclose(handle);
+    printf("Max quality: %.2lf%% at training round: %i\n", quality_max,
+        training_best);
+    quality = nnQualityCheck(file_validate);
+    return(EX_OK);
+}
+
Index: /liacs/ai/poker/nn.c.tex
===================================================================
--- /liacs/ai/poker/nn.c.tex	(revision 2)
+++ /liacs/ai/poker/nn.c.tex	(revision 2)
@@ -0,0 +1,338 @@
+% Generator: GNU source-highlight, by Lorenzo Bettini, http://www.gnu.org/software/src-highlite
+\noindent
+\mbox{}\texttt{001:} \textit{/*} \\
+\mbox{}\texttt{002:} \textit{\ *\ Rick\ van\ der\ Zwet} \\
+\mbox{}\texttt{003:} \textit{\ *\ 0433373} \\
+\mbox{}\texttt{004:} \textit{\ *\ OS\ Assigment\ 3} \\
+\mbox{}\texttt{005:} \textit{\ *\ Licence:\ BSD} \\
+\mbox{}\texttt{006:} \textit{\ *\ \$Id:\ nn.c\ 555\ 2008-04-07\ 21:59:55Z\ rick\ \$} \\
+\mbox{}\texttt{007:} \textit{*/} \\
+\mbox{}\texttt{008:}  \\
+\mbox{}\texttt{009:} \textbf{\#include}\ \texttt{$<$sysexits.h$>$} \\
+\mbox{}\texttt{010:} \textbf{\#include}\ \texttt{$<$stdio.h$>$} \\
+\mbox{}\texttt{011:} \textbf{\#include}\ \texttt{$<$stdlib.h$>$} \\
+\mbox{}\texttt{012:} \textbf{\#include}\ \texttt{$<$math.h$>$} \\
+\mbox{}\texttt{013:} \textbf{\#include}\ \texttt{$<$time.h$>$} \\
+\mbox{}\texttt{014:}  \\
+\mbox{}\texttt{015:} \textit{/*\ NOTE:\ All\ first\ knobs\ are\ bias\ knobs\ or\ hidden\ stale\ knobs} \\
+\mbox{}\texttt{016:} \textit{\ *\ -\ Validation\ is\ done\ using\ rounding,\ please\ make\ outputs\ discrete\ or} \\
+\mbox{}\texttt{017:} \textit{\ *\ alter\ validation\ function} \\
+\mbox{}\texttt{018:} \textit{\ */} \\
+\mbox{}\texttt{019:}  \\
+\mbox{}\texttt{020:} \textit{/*\ Allow\ uniform\ and\ easy\ calls\ at\ functions\ */} \\
+\mbox{}\texttt{021:} \textbf{\#define}\ TRUE\ 1 \\
+\mbox{}\texttt{022:} \textbf{\#define}\ FALSE\ 0 \\
+\mbox{}\texttt{023:}  \\
+\mbox{}\texttt{024:}  \\
+\mbox{}\texttt{025:} \textit{/*\ Network\ variables\ */} \\
+\mbox{}\texttt{026:} \textit{/*NOTE:\ first\ node\ is\ 'hidden'\ bias\ knob\ */} \\
+\mbox{}\texttt{027:} \textbf{\#ifndef}\ INPUT$\_$SIZE \\
+\mbox{}\texttt{028:} \textbf{\#define}\ INPUT$\_$SIZE\ 11 \\
+\mbox{}\texttt{029:} \textbf{\#endif} \\
+\mbox{}\texttt{030:}  \\
+\mbox{}\texttt{031:} \textit{/*NOTE:\ first\ node\ is\ 'hidden'\ bias\ knob\ */} \\
+\mbox{}\texttt{032:} \textbf{\#ifndef}\ HIDDEN$\_$SIZE \\
+\mbox{}\texttt{033:} \textbf{\#define}\ HIDDEN$\_$SIZE\ 11 \\
+\mbox{}\texttt{034:} \textbf{\#endif} \\
+\mbox{}\texttt{035:}  \\
+\mbox{}\texttt{036:} \textit{/*NOTE:\ first\ node\ is\ 'hidden'\ 'lame'\ knob\ */} \\
+\mbox{}\texttt{037:} \textbf{\#ifndef}\ OUTPUT$\_$SIZE \\
+\mbox{}\texttt{038:} \textbf{\#define}\ OUTPUT$\_$SIZE\ 11 \\
+\mbox{}\texttt{039:} \textbf{\#endif} \\
+\mbox{}\texttt{040:}  \\
+\mbox{}\texttt{041:} \textit{/*\ Learn\ speed\ alpha\ of\ network\ */} \\
+\mbox{}\texttt{042:} \textbf{\#ifndef}\ LEARN$\_$SPEED \\
+\mbox{}\texttt{043:} \textbf{\#define}\ LEARN$\_$SPEED\ 0.5 \\
+\mbox{}\texttt{044:} \textbf{\#endif} \\
+\mbox{}\texttt{045:}  \\
+\mbox{}\texttt{046:} \textit{/*\ After\ QUALITY$\_$ROUND\ trainingset\ check\ quality\ of\ network\ */} \\
+\mbox{}\texttt{047:} \textbf{\#define}\ QUALITY$\_$ROUND\ 100 \\
+\mbox{}\texttt{048:}  \\
+\mbox{}\texttt{049:} \textit{/*\ Training\ set,\ to\ be\ used\ to\ train\ network\ */} \\
+\mbox{}\texttt{050:} char\ *\ file$\_$training\ =\ \texttt{"{}data/training.txt"{}}; \\
+\mbox{}\texttt{051:} \textit{/*\ Validation\ set,\ to\ be\ used\ to\ test\ end\ result\ of\ network\ */} \\
+\mbox{}\texttt{052:} char\ *\ file$\_$validate\ =\ \texttt{"{}data/validate.txt"{}}; \\
+\mbox{}\texttt{053:} \textit{/*\ Quality\ set,\ to\ be\ used\ to\ do\ quick\ testing\ whether\ network\ is} \\
+\mbox{}\texttt{054:} \textit{\ *\ improving} \\
+\mbox{}\texttt{055:} \textit{\ */} \\
+\mbox{}\texttt{056:} char\ *\ file$\_$quality\ =\ \texttt{"{}data/quality.txt"{}}; \\
+\mbox{}\texttt{057:}  \\
+\mbox{}\texttt{058:} \textit{/*\ Globally\ defined\ arrays,\ which\ represent\ the\ network\ */} \\
+\mbox{}\texttt{059:} double\ hidden[HIDDEN$\_$SIZE]; \\
+\mbox{}\texttt{060:} double\ input[INPUT$\_$SIZE]; \\
+\mbox{}\texttt{061:} double\ output[OUTPUT$\_$SIZE]; \\
+\mbox{}\texttt{062:} double\ target[OUTPUT$\_$SIZE]; \\
+\mbox{}\texttt{063:} double\ weight$\_$HtoO[HIDDEN$\_$SIZE][OUTPUT$\_$SIZE]; \\
+\mbox{}\texttt{064:} double\ weight$\_$ItoH[INPUT$\_$SIZE][HIDDEN$\_$SIZE]; \\
+\mbox{}\texttt{065:}  \\
+\mbox{}\texttt{066:} \textbf{\#define}\ WEIGHT$\_$NOT$\_$USED\ -99999 \\
+\mbox{}\texttt{067:}  \\
+\mbox{}\texttt{068:} void\ \textbf{stdInit}()\ \{ \\
+\mbox{}\texttt{069:} \ \ \ \ int\ i; \\
+\mbox{}\texttt{070:} \ \ \ \ \textit{/*\ Should\ never\ change,\ been\ using\ */} \\
+\mbox{}\texttt{071:} \ \ \ \ \textbf{for}\ (i\ =\ 0;\ i\ $<$\ INPUT$\_$SIZE;\ i++) \\
+\mbox{}\texttt{072:} \ \ \ \ \ \ \ \ weight$\_$ItoH[i][0]\ =\ WEIGHT$\_$NOT$\_$USED; \\
+\mbox{}\texttt{073:} \ \ \ \ \textbf{for}\ (i\ =\ 0;\ i\ $<$\ HIDDEN$\_$SIZE;\ i++) \\
+\mbox{}\texttt{074:} \ \ \ \ \ \ \ \ weight$\_$HtoO[i][0]\ =\ WEIGHT$\_$NOT$\_$USED; \\
+\mbox{}\texttt{075:} \} \\
+\mbox{}\texttt{076:}  \\
+\mbox{}\texttt{077:}  \\
+\mbox{}\texttt{078:} \textit{/*\ Random\ init\ of\ weights\ */} \\
+\mbox{}\texttt{079:} void\ \textbf{randInit}()\ \{ \\
+\mbox{}\texttt{080:} \ \ \ \ int\ i,j; \\
+\mbox{}\texttt{081:} \ \ \ \  \\
+\mbox{}\texttt{082:} \ \ \ \ \textit{/*\ Different\ numbers\ every\ call\ */} \\
+\mbox{}\texttt{083:} \ \ \ \ \textbf{srandom}(\textbf{time}(NULL)); \\
+\mbox{}\texttt{084:}  \\
+\mbox{}\texttt{085:} \ \ \ \ \textbf{for}\ (i\ =\ 0;\ i\ $<$\ INPUT$\_$SIZE;\ i++) \\
+\mbox{}\texttt{086:} \ \ \ \ \ \ \ \ \textbf{for}\ (\ j\ =\ 1;\ j\ $<$\ HIDDEN$\_$SIZE;\ j++)\ \{ \\
+\mbox{}\texttt{087:} \ \ \ \ \ \ \ \ \ \ \ \ weight$\_$ItoH[i][j]\ =\ (double)(\textbf{random}()\ \%\ 100)\ /\ 100; \\
+\mbox{}\texttt{088:} \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{089:}  \\
+\mbox{}\texttt{090:} \ \ \ \ \textbf{for}\ (i\ =\ 0;\ i\ $<$\ HIDDEN$\_$SIZE;\ i++) \\
+\mbox{}\texttt{091:} \ \ \ \ \ \ \ \ \textbf{for}\ (j\ =\ 1;\ j\ $<$\ OUTPUT$\_$SIZE;\ j++) \\
+\mbox{}\texttt{092:} \ \ \ \ \ \ \ \ \ \ \ \ weight$\_$HtoO[i][j]\ =\ (double)(\textbf{random}()\ \%\ 100)\ /\ 100; \\
+\mbox{}\texttt{093:}  \\
+\mbox{}\texttt{094:} \ \ \ \ \textbf{stdInit}(); \\
+\mbox{}\texttt{095:} \} \\
+\mbox{}\texttt{096:}  \\
+\mbox{}\texttt{097:} \textit{/*\ Fixed\ init\ of\ weights\ */} \\
+\mbox{}\texttt{098:} void\ \textbf{fixedInit}()\ \{ \\
+\mbox{}\texttt{099:} \ \ \ \ int\ i,j; \\
+\mbox{}\texttt{100:} \ \ \ \ \textbf{for}\ (i\ =\ 0;\ i\ $<$\ INPUT$\_$SIZE;\ i++) \\
+\mbox{}\texttt{101:} \ \ \ \ \ \ \ \ \textbf{for}\ (\ j\ =\ 1;\ j\ $<$\ HIDDEN$\_$SIZE;\ j++)\ \{ \\
+\mbox{}\texttt{102:} \ \ \ \ \ \ \ \ \ \ \ \ weight$\_$ItoH[i][j]\ =\ 0.5; \\
+\mbox{}\texttt{103:} \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{104:}  \\
+\mbox{}\texttt{105:} \ \ \ \ \textbf{for}\ (i\ =\ 0;\ i\ $<$\ HIDDEN$\_$SIZE;\ i++) \\
+\mbox{}\texttt{106:} \ \ \ \ \ \ \ \ \textbf{for}\ (j\ =\ 1;\ j\ $<$\ OUTPUT$\_$SIZE;\ j++) \\
+\mbox{}\texttt{107:} \ \ \ \ \ \ \ \ \ \ \ \ weight$\_$HtoO[i][j]\ =\ 0.5; \\
+\mbox{}\texttt{108:}  \\
+\mbox{}\texttt{109:} \ \ \ \ \textbf{stdInit}(); \\
+\mbox{}\texttt{110:} \} \\
+\mbox{}\texttt{111:}  \\
+\mbox{}\texttt{112:} \textit{/*\ Define\ exact\ wights,\ used\ for\ debugging\ calculations} \\
+\mbox{}\texttt{113:} \textit{\ *\ other\ flags\ INPUT\ =\ 2,\ HIDDEN\ =\ 2,\ OUTPUT\ =\ 1} \\
+\mbox{}\texttt{114:} \textit{\ */} \\
+\mbox{}\texttt{115:} void\ \textbf{debugInit}()\ \{ \\
+\mbox{}\texttt{116:} \ \ \ \ \textbf{stdInit}(); \\
+\mbox{}\texttt{117:} \ \ \ \ weight$\_$ItoH[0][1]\ =\ 1; \\
+\mbox{}\texttt{118:} \ \ \ \ weight$\_$ItoH[0][2]\ =\ 1; \\
+\mbox{}\texttt{119:} \ \ \ \ weight$\_$ItoH[1][1]\ =\ 0.62; \\
+\mbox{}\texttt{120:} \ \ \ \ weight$\_$ItoH[1][2]\ =\ 0.42; \\
+\mbox{}\texttt{121:} \ \ \ \ weight$\_$ItoH[2][1]\ =\ 0.55; \\
+\mbox{}\texttt{122:} \ \ \ \ weight$\_$ItoH[2][2]\ =\ -0.17; \\
+\mbox{}\texttt{123:}  \\
+\mbox{}\texttt{124:} \ \ \ \ weight$\_$HtoO[0][1]\ =\ 1; \\
+\mbox{}\texttt{125:} \ \ \ \ weight$\_$HtoO[1][1]\ =\ 0.35; \\
+\mbox{}\texttt{126:} \ \ \ \ weight$\_$HtoO[2][1]\ =\ 0.81; \\
+\mbox{}\texttt{127:} \} \\
+\mbox{}\texttt{128:}  \\
+\mbox{}\texttt{129:} \textit{/*\ \ calculate\ Aj's\ and\ Ai's\ (outputs)\ */} \\
+\mbox{}\texttt{130:} void\ \textbf{nnCalc}()\ \{ \\
+\mbox{}\texttt{131:} \ \ \ \ int\ i,j; \\
+\mbox{}\texttt{132:} \ \ \ \ double\ total; \\
+\mbox{}\texttt{133:} \ \ \ \ \textbf{for}\ (i\ =\ 1;\ i\ $<$\ HIDDEN$\_$SIZE;\ i++)\ \{ \\
+\mbox{}\texttt{134:} \ \ \ \ \ \ \ \ total\ =\ 0; \\
+\mbox{}\texttt{135:} \ \ \ \ \ \ \ \ \textbf{for}\ (j\ =\ 0;\ j\ $<$\ INPUT$\_$SIZE;\ j++) \\
+\mbox{}\texttt{136:} \ \ \ \ \ \ \ \ \ \ \ \ total\ +=\ weight$\_$ItoH[j][i]\ *\ input[j]; \\
+\mbox{}\texttt{137:} \ \ \ \ \ \ \ \ hidden[i]\ =\ 1\ /\ (\ 1\ +\ \textbf{exp}(total\ *\ (-1))); \\
+\mbox{}\texttt{138:} \ \ \ \ \} \\
+\mbox{}\texttt{139:}  \\
+\mbox{}\texttt{140:} \ \ \ \ \textbf{for}\ (i\ =\ 1;\ i\ $<$\ OUTPUT$\_$SIZE;\ i++)\ \{ \\
+\mbox{}\texttt{141:} \ \ \ \ \ \ \ \ total\ =\ 0; \\
+\mbox{}\texttt{142:} \ \ \ \ \ \ \ \ \textbf{for}\ (j\ =\ 0;\ j\ $<$\ HIDDEN$\_$SIZE;\ j++) \\
+\mbox{}\texttt{143:} \ \ \ \ \ \ \ \ \ \ \ \ total\ +=\ weight$\_$HtoO[j][i]\ *\ hidden[j]; \\
+\mbox{}\texttt{144:} \ \ \ \ \ \ \ \ output[i]\ =\ 1\ /\ (\ 1\ +\ \textbf{exp}(total\ *\ (-1))); \\
+\mbox{}\texttt{145:} \ \ \ \ \} \\
+\mbox{}\texttt{146:}  \\
+\mbox{}\texttt{147:} \} \\
+\mbox{}\texttt{148:}  \\
+\mbox{}\texttt{149:} \textit{/*\ train\ network,\ NOTE:\ nnCalc\ needs\ to\ be\ called\ first\ */} \\
+\mbox{}\texttt{150:} void\ \textbf{nnTrain}()\ \{ \\
+\mbox{}\texttt{151:} \ \ \ \ int\ i,j; \\
+\mbox{}\texttt{152:} \ \ \ \ double\ hidden$\_$delta[HIDDEN$\_$SIZE]; \\
+\mbox{}\texttt{153:} \ \ \ \ double\ output$\_$delta[OUTPUT$\_$SIZE]; \\
+\mbox{}\texttt{154:} \ \ \ \ double\ output$\_$error[OUTPUT$\_$SIZE]; \\
+\mbox{}\texttt{155:} \ \ \ \ double\ hidden$\_$sum$\_$delta[HIDDEN$\_$SIZE]; \\
+\mbox{}\texttt{156:}  \\
+\mbox{}\texttt{157:} \ \ \ \ \textbf{for}\ (i\ =\ 1;\ i\ $<$\ OUTPUT$\_$SIZE;\ i++)\ \{ \\
+\mbox{}\texttt{158:} \ \ \ \ \ \ \ \ output$\_$error[i]\ =\ target[i]\ -\ output[i]; \\
+\mbox{}\texttt{159:} \ \ \ \ \ \ \ \ output$\_$delta[i]\ =\ output$\_$error[i]\ *\ output[i]\ *\ (1\ -\ output[i]); \\
+\mbox{}\texttt{160:} \ \ \ \ \} \\
+\mbox{}\texttt{161:}  \\
+\mbox{}\texttt{162:} \ \ \ \ \textbf{for}\ (i\ =\ 0;\ i\ $<$\ HIDDEN$\_$SIZE;\ i++)\ \{ \\
+\mbox{}\texttt{163:} \ \ \ \ \ \ \ \ hidden$\_$sum$\_$delta[i]\ =\ 0; \\
+\mbox{}\texttt{164:} \ \ \ \ \ \ \ \ \textbf{for}\ (j\ =\ 1;\ j\ $<$\ OUTPUT$\_$SIZE;\ j++) \\
+\mbox{}\texttt{165:} \ \ \ \ \ \ \ \ \ \ \ \ hidden$\_$sum$\_$delta[i]\ +=\ weight$\_$HtoO[i][j]\ *\ output$\_$delta[j]; \\
+\mbox{}\texttt{166:} \ \ \ \ \ \ \ \ hidden$\_$delta[i]\ =\ hidden[i]\ *\ (1\ -\ hidden[i])\ * \\
+\mbox{}\texttt{167:} \ \ \ \ \ \ \ \ hidden$\_$sum$\_$delta[i]; \\
+\mbox{}\texttt{168:} \ \ \ \ \ \} \\
+\mbox{}\texttt{169:}  \\
+\mbox{}\texttt{170:} \ \ \ \ \textbf{for}\ (i\ =\ 0;\ i\ $<$\ HIDDEN$\_$SIZE;\ i++) \\
+\mbox{}\texttt{171:} \ \ \ \ \ \ \ \ \textbf{for}\ (j\ =\ 1;\ j\ $<$\ OUTPUT$\_$SIZE;\ j++)\ \{ \\
+\mbox{}\texttt{172:} \ \ \ \ \ \ \ \ \ \ \ \ weight$\_$HtoO[i][j]\ =\ weight$\_$HtoO[i][j]\ +\ LEARN$\_$SPEED\ * \\
+\mbox{}\texttt{173:} \ \ \ \ \ \ \ \ \ \ \ \ hidden[i]\ *\ output$\_$delta[j]; \\
+\mbox{}\texttt{174:} \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{175:}  \\
+\mbox{}\texttt{176:} \ \ \ \ \textbf{for}\ (i\ =\ 0;\ i\ $<$\ INPUT$\_$SIZE;\ i++) \\
+\mbox{}\texttt{177:} \ \ \ \ \ \ \ \ \textbf{for}\ (j\ =\ 1;\ j\ $<$\ HIDDEN$\_$SIZE;\ j++)\ \{ \\
+\mbox{}\texttt{178:} \ \ \ \ \ \ \ \ \ \ \ \ weight$\_$ItoH[i][j]\ =\ weight$\_$ItoH[i][j]\ +\ LEARN$\_$SPEED\ * \\
+\mbox{}\texttt{179:} \ \ \ \ \ \ \ \ \ \ \ \ input[i]\ *\ hidden$\_$delta[j]; \\
+\mbox{}\texttt{180:} \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{181:} \} \\
+\mbox{}\texttt{182:}  \\
+\mbox{}\texttt{183:} \textit{/*\ Verify\ wether\ target,\ matches\ output\ */} \\
+\mbox{}\texttt{184:} int\ \textbf{nnValidate}()\ \{ \\
+\mbox{}\texttt{185:} \ \ \ \ int\ i; \\
+\mbox{}\texttt{186:} \ \ \ \ \textit{//printf\ ("{}Rounding:\ \%lf\ -\ \%lf\textbackslash{}n"{},output[1],\ target[1]);} \\
+\mbox{}\texttt{187:} \ \ \ \ \textbf{for}\ (i\ =\ 1;\ i\ $<$\ OUTPUT$\_$SIZE;\ i++) \\
+\mbox{}\texttt{188:} \ \ \ \ \ \ \ \ \textbf{if}\ (\textbf{round}(output[i])\ !=\ \textbf{round}(target[i])) \\
+\mbox{}\texttt{189:} \ \ \ \ \ \ \ \ \ \ \ \ \textbf{return}\ FALSE; \\
+\mbox{}\texttt{190:} \ \ \ \ \textbf{return}\ TRUE; \\
+\mbox{}\texttt{191:} \} \\
+\mbox{}\texttt{192:}  \\
+\mbox{}\texttt{193:} \textit{/*\ Pretty\ print\ of\ output\ */} \\
+\mbox{}\texttt{194:} void\ \textbf{nnOutput}()\ \{ \\
+\mbox{}\texttt{195:} \ \ \ \ int\ i; \\
+\mbox{}\texttt{196:} \ \ \ \ \textbf{for}(i\ =\ 0;\ i\ $<$\ INPUT$\_$SIZE;\ i++) \\
+\mbox{}\texttt{197:} \ \ \ \ \ \ \ \ \textbf{printf}(\texttt{"{}\%lf,\ "{}},\ input[i]); \\
+\mbox{}\texttt{198:} \ \ \ \ \textbf{printf}(\texttt{"{}=\ \%lf\ -\ \%lf\ -\ "{}},\ output[1],\ target[1]); \\
+\mbox{}\texttt{199:} \ \ \ \ \textbf{if}\ (\textbf{nnValidate}()\ ==\ TRUE) \\
+\mbox{}\texttt{200:} \ \ \ \ \ \ \ \ \textbf{printf}(\texttt{"{}OK"{}}); \\
+\mbox{}\texttt{201:} \ \ \ \ \textbf{else} \\
+\mbox{}\texttt{202:} \ \ \ \ \ \ \ \ \textbf{printf}(\texttt{"{}ERROR"{}}); \\
+\mbox{}\texttt{203:} \ \ \ \ \textbf{printf}(\texttt{"{}}\texttt{\textbackslash{}n}\texttt{"{}}); \\
+\mbox{}\texttt{204:} \} \\
+\mbox{}\texttt{205:}  \\
+\mbox{}\texttt{206:} \textit{/*\ Pretty\ print\ of\ hidden\ knobs\ */} \\
+\mbox{}\texttt{207:} void\ \textbf{nnHiddenOutput}()\ \{ \\
+\mbox{}\texttt{208:} \ \ \ \ int\ i; \\
+\mbox{}\texttt{209:} \ \ \ \ \textbf{for}(i\ =\ 0;\ i\ $<$\ HIDDEN$\_$SIZE;\ i++) \\
+\mbox{}\texttt{210:} \ \ \ \ \ \ \ \ \textbf{printf}(\texttt{"{}\%lf,\ "{}},\ hidden[i]); \\
+\mbox{}\texttt{211:} \ \ \ \ \textbf{printf}(\texttt{"{}\ -\ HIDDEN}\texttt{\textbackslash{}n}\texttt{"{}}); \\
+\mbox{}\texttt{212:} \} \\
+\mbox{}\texttt{213:}  \\
+\mbox{}\texttt{214:}  \\
+\mbox{}\texttt{215:} \textit{/*\ Pretty\ print\ of\ all\ weights\ */} \\
+\mbox{}\texttt{216:} void\ \textbf{nnNeuronOutput}()\ \{ \\
+\mbox{}\texttt{217:} \ \ \ \ int\ i,j; \\
+\mbox{}\texttt{218:} \ \ \ \ \textbf{for}\ (i\ =\ 0;\ i\ $<$\ INPUT$\_$SIZE;\ i++) \\
+\mbox{}\texttt{219:} \ \ \ \ \ \ \ \ \textbf{for}(j\ =\ 0;\ j\ $<$\ HIDDEN$\_$SIZE;\ j++) \\
+\mbox{}\texttt{220:} \ \ \ \ \ \ \ \ \ \ \ \ \textbf{if}\ (weight$\_$ItoH[i][j]\ !=\ WEIGHT$\_$NOT$\_$USED) \\
+\mbox{}\texttt{221:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textbf{printf}(\texttt{"{}weight$\_$ItoH[\%i][\%i]\ =\ \%lf}\texttt{\textbackslash{}n}\texttt{"{}},\ i,\ j, \\
+\mbox{}\texttt{222:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ weight$\_$ItoH[i][j]); \\
+\mbox{}\texttt{223:} \ \ \ \ \textbf{printf}(\texttt{"{}-\/-\/-}\texttt{\textbackslash{}n}\texttt{"{}}); \\
+\mbox{}\texttt{224:} \ \ \ \ \textbf{for}\ (i\ =\ 0;\ i\ $<$\ HIDDEN$\_$SIZE;\ i++) \\
+\mbox{}\texttt{225:} \ \ \ \ \ \ \ \ \textbf{for}(j\ =\ 0;\ j\ $<$\ OUTPUT$\_$SIZE;\ j++) \\
+\mbox{}\texttt{226:} \ \ \ \ \ \ \ \ \ \ \ \ \textbf{if}\ (weight$\_$ItoH[i][j]\ !=\ WEIGHT$\_$NOT$\_$USED) \\
+\mbox{}\texttt{227:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textbf{printf}(\texttt{"{}weight$\_$HtoO[\%i][\%i]\ =\ \%lf}\texttt{\textbackslash{}n}\texttt{"{}},\ i,\ j, \\
+\mbox{}\texttt{228:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ weight$\_$HtoO[i][j]); \\
+\mbox{}\texttt{229:} \} \\
+\mbox{}\texttt{230:}  \\
+\mbox{}\texttt{231:} int\ \textbf{nnReadInput}(FILE\ *\ handle)\ \{ \\
+\mbox{}\texttt{232:} \ \ \ \ int\ i\ =\ 1; \\
+\mbox{}\texttt{233:} \ \ \ \ double\ finput; \\
+\mbox{}\texttt{234:} \ \ \ \ \textbf{while}\ (\textbf{fscanf}(handle,\ \texttt{"{}\%lf"{}},\ \&finput)\ !=\ EOF)\ \{ \\
+\mbox{}\texttt{235:} \ \ \ \ \ \ \ \ \textbf{if}\ (i\ $<$\ INPUT$\_$SIZE) \\
+\mbox{}\texttt{236:} \ \ \ \ \ \ \ \ \ \ \ \ input[i]\ =\ finput; \\
+\mbox{}\texttt{237:} \ \ \ \ \ \ \ \ \textbf{else}\ \textbf{if}\ (i\ $<$\ (INPUT$\_$SIZE\ +\ OUTPUT$\_$SIZE)) \\
+\mbox{}\texttt{238:} \ \ \ \ \ \ \ \ \ \ \ \ target[i\ -\ INPUT$\_$SIZE]\ =\ finput; \\
+\mbox{}\texttt{239:}  \\
+\mbox{}\texttt{240:} \ \ \ \ \ \ \ \ \textit{/*\ Calc\ next\ input\ */} \\
+\mbox{}\texttt{241:} \ \ \ \ \ \ \ \ i++; \\
+\mbox{}\texttt{242:} \ \ \ \ \ \ \ \ \textit{/*\ Skip\ hidden\ output\ knob\ */} \\
+\mbox{}\texttt{243:} \ \ \ \ \ \ \ \ \textbf{if}\ (i\ ==\ INPUT$\_$SIZE) \\
+\mbox{}\texttt{244:} \ \ \ \ \ \ \ \ \ \ \ \ i++; \\
+\mbox{}\texttt{245:} \ \ \ \ \ \ \ \ \textbf{if}\ (i\ ==\ (INPUT$\_$SIZE\ +\ OUTPUT$\_$SIZE)) \\
+\mbox{}\texttt{246:} \ \ \ \ \ \ \ \ \ \ \ \ \textbf{return}\ TRUE; \\
+\mbox{}\texttt{247:} \ \ \ \ \} \\
+\mbox{}\texttt{248:}  \\
+\mbox{}\texttt{249:} \ \ \ \ \textit{/*\ Input\ not\ complete\ */} \\
+\mbox{}\texttt{250:} \ \ \ \ \textbf{return}\ FALSE; \\
+\mbox{}\texttt{251:} \} \\
+\mbox{}\texttt{252:}  \\
+\mbox{}\texttt{253:} \textit{/*\ Verify\ quality\ of\ current\ network\ */} \\
+\mbox{}\texttt{254:} double\ \textbf{nnQualityCheck}(char\ *\ file)\ \{ \\
+\mbox{}\texttt{255:} \ \ \ \ double\ validate$\_$total\ =\ 0; \\
+\mbox{}\texttt{256:} \ \ \ \ double\ validate$\_$ok\ =\ 0; \\
+\mbox{}\texttt{257:} \ \ \ \ double\ validate$\_$percent\ =\ 0; \\
+\mbox{}\texttt{258:} \ \ \ \ FILE\ *\ handle; \\
+\mbox{}\texttt{259:}  \\
+\mbox{}\texttt{260:} \ \ \ \ handle\ =\ \textbf{fopen}(file,\texttt{"{}r"{}}); \\
+\mbox{}\texttt{261:} \ \ \ \ \textbf{while}\ (\textbf{nnReadInput}(handle)\ ==\ TRUE)\ \{ \\
+\mbox{}\texttt{262:} \ \ \ \ \ \ \ \ \ \ \ \ validate$\_$total++; \\
+\mbox{}\texttt{263:} \ \ \ \ \ \ \ \ \ \ \ \ \textbf{nnCalc}(); \\
+\mbox{}\texttt{264:} \ \ \ \ \ \ \ \ \ \ \ \ \textbf{if}\ (\textbf{nnValidate}()\ ==\ TRUE) \\
+\mbox{}\texttt{265:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ validate$\_$ok++; \\
+\mbox{}\texttt{266:} \ \ \ \ \ \ \ \ \ \ \ \ \textit{//else} \\
+\mbox{}\texttt{267:} \ \ \ \ \ \ \ \ \ \ \ \ \textit{//\ \ nnOutput();} \\
+\mbox{}\texttt{268:} \ \ \ \ \} \\
+\mbox{}\texttt{269:} \ \ \ \ \textbf{fclose}(handle); \\
+\mbox{}\texttt{270:} \ \ \ \ validate$\_$percent\ =\ (validate$\_$ok\ /\ validate$\_$total)\ *\ 100; \\
+\mbox{}\texttt{271:} \ \ \ \ \textbf{printf}(\texttt{"{}Validating:\ \%.0lf/\%.0lf\ -\ \%.2lf\ \%\%}\texttt{\textbackslash{}n}\texttt{"{}}, \\
+\mbox{}\texttt{272:} \ \ \ \ validate$\_$ok,validate$\_$total,validate$\_$percent); \\
+\mbox{}\texttt{273:}  \\
+\mbox{}\texttt{274:} \ \ \ \ \textbf{return}(validate$\_$percent); \\
+\mbox{}\texttt{275:} \} \\
+\mbox{}\texttt{276:}  \\
+\mbox{}\texttt{277:} \textit{/*\ Main\ program\ */} \\
+\mbox{}\texttt{278:} int\ \textbf{main\ }(int\ argc,\ char\ *\ argv[])\ \{ \\
+\mbox{}\texttt{279:} \ \ \ \ int\ i,training$\_$total,\ training$\_$best; \\
+\mbox{}\texttt{280:} \ \ \ \ double\ quality$\_$max,\ quality; \\
+\mbox{}\texttt{281:} \ \ \ \ FILE\ *\ handle; \\
+\mbox{}\texttt{282:}  \\
+\mbox{}\texttt{283:} \ \ \ \ \textit{/*\ Set\ the\ bias\ knob\ */} \\
+\mbox{}\texttt{284:} \ \ \ \ input[0]\ =\ -1; \\
+\mbox{}\texttt{285:} \ \ \ \ hidden[0]\ =\ -1; \\
+\mbox{}\texttt{286:} \  \\
+\mbox{}\texttt{287:} \ \ \ \ \textit{/*\ Init\ set\ of\ all\ wights\ */} \\
+\mbox{}\texttt{288:} \ \ \ \ \textit{//debugInit();} \\
+\mbox{}\texttt{289:} \ \ \ \ \textbf{fixedInit}(); \\
+\mbox{}\texttt{290:} \ \ \ \ \textit{//randInit();} \\
+\mbox{}\texttt{291:}  \\
+\mbox{}\texttt{292:} \ \ \ \ \textit{/*\ Set\ initial\ quality\ */} \\
+\mbox{}\texttt{293:} \ \ \ \ quality$\_$max\ =\ \textbf{nnQualityCheck}(file$\_$quality); \\
+\mbox{}\texttt{294:} \ \ \ \ training$\_$best\ =\ 0; \\
+\mbox{}\texttt{295:} \ \ \ \ training$\_$total\ =\ 0; \\
+\mbox{}\texttt{296:}  \\
+\mbox{}\texttt{297:} \ \ \ \ \textbf{printf}(\texttt{"{}Running\ neural\ network\ with\ following\ parameters}\texttt{\textbackslash{}n}\texttt{"{}}); \\
+\mbox{}\texttt{298:} \ \ \ \ \textbf{printf}(\texttt{"{}Input\ \ nodes\ \ \ \ :\ \%i}\texttt{\textbackslash{}n}\texttt{"{}},\ INPUT$\_$SIZE); \\
+\mbox{}\texttt{299:} \ \ \ \ \textbf{printf}(\texttt{"{}Hidden\ nodes\ \ \ \ :\ \%i}\texttt{\textbackslash{}n}\texttt{"{}},\ HIDDEN$\_$SIZE); \\
+\mbox{}\texttt{300:} \ \ \ \ \textbf{printf}(\texttt{"{}Output\ nodes\ \ \ \ :\ \%i}\texttt{\textbackslash{}n}\texttt{"{}},\ OUTPUT$\_$SIZE); \\
+\mbox{}\texttt{301:} \ \ \ \ \textbf{printf}(\texttt{"{}Learning\ rate\ \ \ :\ \%lf}\texttt{\textbackslash{}n}\texttt{"{}},\ LEARN$\_$SPEED); \\
+\mbox{}\texttt{302:} \ \ \ \ \textbf{printf}(\texttt{"{}Quality\ check\ \ \ :\ \%i}\texttt{\textbackslash{}n}\texttt{"{}},\ QUALITY$\_$ROUND); \\
+\mbox{}\texttt{303:} \ \ \ \ \textbf{printf}(\texttt{"{}Initial\ quality\ :\ \%lf\ \%\%}\texttt{\textbackslash{}n}\texttt{"{}},\ quality$\_$max); \\
+\mbox{}\texttt{304:} \ \ \ \ \textit{/*\ Start\ training\ */} \\
+\mbox{}\texttt{305:} \ \ \ \ \textit{//nnNeuronOutput();} \\
+\mbox{}\texttt{306:} \ \ \ \ i\ =\ 1; \\
+\mbox{}\texttt{307:} \ \ \ \ handle\ =\ \textbf{fopen}(file$\_$training,\texttt{"{}r"{}}); \\
+\mbox{}\texttt{308:} \ \ \ \ \textbf{while}\ (\ \textbf{nnReadInput}(handle)\ ==\ TRUE)\ \{ \\
+\mbox{}\texttt{309:} \ \ \ \ \ \ \ \ training$\_$total++; \\
+\mbox{}\texttt{310:} \ \ \ \ \ \ \ \ \textbf{nnCalc}(); \\
+\mbox{}\texttt{311:} \ \ \ \ \ \ \ \ \textit{//nnOutput();} \\
+\mbox{}\texttt{312:} \ \ \ \ \ \ \ \ \textit{//nnHiddenOutput();} \\
+\mbox{}\texttt{313:}  \\
+\mbox{}\texttt{314:} \ \ \ \ \ \ \ \ \textbf{if}\ (\textbf{nnValidate}()\ ==\ FALSE)\ \{ \\
+\mbox{}\texttt{315:} \ \ \ \ \ \ \ \ \ \ \ \ \textbf{nnTrain}(); \\
+\mbox{}\texttt{316:} \ \ \ \ \ \ \ \ \ \ \ \ \textit{//nnNeuronOutput();} \\
+\mbox{}\texttt{317:} \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{318:}  \\
+\mbox{}\texttt{319:} \ \ \ \ \ \ \ \ \textit{/*\ Verifiy\ quality,\ stop\ training\ when\ quality\ is\ going\ down\ */} \\
+\mbox{}\texttt{320:} \ \ \ \ \ \ \ \ \textbf{if}\ ((training$\_$total\ \%\ QUALITY$\_$ROUND)\ ==\ 0)\ \{ \\
+\mbox{}\texttt{321:} \ \ \ \ \ \ \ \ \ \ \ \ \textbf{printf}(\texttt{"{}Learned:\ \%i\ -\ "{}},\ training$\_$total); \\
+\mbox{}\texttt{322:} \ \ \ \ \ \ \ \ \ \ \ \ quality\ =\ \textbf{nnQualityCheck}(file$\_$quality); \\
+\mbox{}\texttt{323:} \ \ \ \ \ \ \ \ \ \ \ \ \textbf{if}\ (quality\ $>$\ quality$\_$max)\ \{ \\
+\mbox{}\texttt{324:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ quality$\_$max\ =\ quality; \\
+\mbox{}\texttt{325:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ training$\_$best\ =\ training$\_$total; \\
+\mbox{}\texttt{326:} \ \ \ \ \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{327:} \ \ \ \ \ \ \ \ \} \\
+\mbox{}\texttt{328:} \ \ \ \ \} \\
+\mbox{}\texttt{329:} \ \ \ \ \textbf{fclose}(handle); \\
+\mbox{}\texttt{330:} \ \ \ \ \textbf{printf}(\texttt{"{}Max\ quality:\ \%.2lf\%\%\ at\ training\ round:\ \%i}\texttt{\textbackslash{}n}\texttt{"{}},\ quality$\_$max, \\
+\mbox{}\texttt{331:} \ \ \ \ \ \ \ \ training$\_$best); \\
+\mbox{}\texttt{332:} \ \ \ \ quality\ =\ \textbf{nnQualityCheck}(file$\_$validate); \\
+\mbox{}\texttt{333:} \ \ \ \ \textbf{return}(EX$\_$OK); \\
+\mbox{}\texttt{334:} \} \\
+\mbox{}\texttt{335:}  \\
+
Index: /liacs/ai/poker/nn08.html
===================================================================
--- /liacs/ai/poker/nn08.html	(revision 2)
+++ /liacs/ai/poker/nn08.html	(revision 2)
@@ -0,0 +1,141 @@
+<HTML>
+
+<HEAD>
+<TITLE>Kunstmatige intelligentie - Programmeeropgave 3 - Neurale netwerken</TITLE>
+</HEAD>
+
+<BODY BGCOLOR="#FFFFFF" TEXT="black" LINK="blue" VLINK="red" ALINK="green">
+
+<H1>Kunstmatige intelligentie<BR>Programmeeropgave 3 van 2008 &mdash; Neurale netwerken</H1>
+
+
+De derde programmeeropgave (in het voorjaar van 2008) behorende bij het vak
+<a href="index.html">Kunstmatige intelligentie</a> gaat over 
+<em>Neurale netwerken</em>.
+<br>
+Het is de bedoeling een eenvoudig Neuraal netwerk (NN)
+te programmeren met &eacute;&eacute;n verborgen laag
+dat Poker-handen kan classificeren.
+(Als je geen Poker speelt, geen zorg.)
+We gebruiken files van de 
+<a href="http://archive.ics.uci.edu/ml/">UCI Machine Learning Repository</A>,
+en wel in het bijzonder de
+<a href="http://archive.ics.uci.edu/ml/datasets/Poker+Hand">Poker Hand Data set</a>.
+We willen het soort hand te bepalen, gegeven (alle?) informatie over de kaarten.
+<p>
+Het NN heeft een twee- tot tiental invoerknopen 
+(evenveel als er kenmerken zijn),
+&eacute;&eacute;n of meer (?) uitvoerknopen, 
+en een tussen 1 en 40 in te stellen
+aantal verborgen knopen. Verder zijn er twee bias-knopen,
+&eacute;&eacute;n op invoernivo en 
+&eacute;&eacute;n op verborgen nivo.
+Gebruik <em>BackPropagation</em> als leermethode;
+redelijke waarden zijn wellicht: leersnelheid 0.1 tot 0.9,
+aantal verborgen knopen 3 en 100000 voorbeelden in totaal.
+<br>
+Test allereerst het netwerk op een paar
+&quot;eenvoudige&quot; functies van twee variabelen,
+bijvoorbeeld
+<em>XOR(x,y)</em> voor <em>x,y=0,1</em>,
+respectievelijk
+<em>f(x,y) = sin(2&pi;x)&nbsp;cos(2&pi;y)</em> voor <em>0 &#10877; x &#10877; 1</em> en <em>0 &#10877; y &#10877; 1</em>.
+Besteed hier in het verslag <em>kort</em> aandacht aan.
+Het netwerk heeft hier dus &eacute;&eacute;n uitvoerknoop.
+
+<p>
+Schrijf vervolgens zonodig een klein
+<A HREF="../introperl.html">Perl</A>-programma
+(voor Perl, zie ook
+<A HREF="/home/avdberg/perl.ppt">Arjan's PowerPoint presentatie</A>
+of 
+<A HREF="perl.pdf">acht sheets in PDF</A>)
+dat de benodigde kenmerken/attributen uit de poker-files opslaat
+in het gewenste formaat, bijvoorbeeld
+allemaal, of juist een samenspel van enkele.
+Kun je bijvoorbeeld twee combinaties van attributen maken, 
+zodat het netwerk toch goed presteert?
+Waarden tussen 0 en 1, graag, wellicht gescheiden door spaties.
+<br>
+Train daarna het netwerk hierop met BackPropagation,
+en geef resultaten van de experimenten. Denk
+aan het gebruiken van aparte training-set en test-set,
+zie de UCI-website.
+Ook een simpel statistiekje over de invoerfile doet het goed.
+En hoe doet het naieve algoritme (gok de meest voorkomende) het?
+<br>
+Het is goed genoeg om &eacute;&eacute;n uitvoerknoop te nemen,
+waarbij bijvoorbeeld 6 (full house) als 0.6 wordt
+gerepresenteerd: locaal coderen. Het is ook mogelijk
+&mdash; voor liefhebbers &mdash; om 10 knopen
+te nemen, waarbij knoop 6 staat voor full house: gedistribueerd coderen.
+<p>
+Gebruik <a href="http://www.gnuplot.info/"><tt>gnuplot</tt></a>
+om voor het verslag
+enkele grafieken te plotten, bijvoorbeeld met verschillende
+aantallen verborgen knopen, leersnelheden en
+stopcriteria. 
+<br>
+Maak een file <tt>plot.p</tt> met daarin bijvoorbeeld<br>
+<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set xrange [0:1]<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set yrange [0:1]<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set pm3d<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;splot sin(2*pi*x)*cos(2*pi*y)</tt><br>
+En laad deze file in <tt>gnuplot</tt> met <tt>gnuplot&gt; load "plot.p"</tt>.
+<br>
+Als je een netwerk hebt om deze functie te benaderen,
+kun je het beste aan het eind van je
+programma alle benodigde trio's <em>(x,y,netwerkuitvoer)</em> afdrukken in een file
+(zeg <tt>net.uit</tt>;
+&eacute;&eacute;n trio per regel),
+waarbij <em>x</em> met kleine stapjes door het interval <em>[0,1]</em> loopt,
+en <em>y</em> idem,
+terwijl <em>netwerkuitvoer</em> de bijbehorende
+uitvoer van het getrainde netwerk is.
+In 
+<tt>gnuplot</tt> kun je eenvoudig een grafiekje 
+van netuitvoer en beoogde functie maken met behulp van:<br>
+<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gnuplot&gt; splot "net.uit", sin(2*pi*x)*cos(2*pi*y)</tt>
+<br>
+Hierbij kun je zonodig PostScript-uitvoer genereren 
+met behulp van<br>
+<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gnuplot&gt; set terminal postscript eps enhanced color</tt><BR>
+<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gnuplot&gt; set output "file.ps"</tt><br>
+vlak voor het <tt>(s)plot</tt>-commando te geven
+(of <tt>enhanced monochrome</tt> voor grijswaarden-plaatjes).
+En dat allemaal in een plot-file, dan hoef je het niet steeds
+over te tikken.
+<br>
+Op internet staat alles en meer over <tt>gnuplot</tt>, bijvoorbeeld
+<a href="http://www.gnuplot.info/">hier</a> of
+<a href="http://t16web.lanl.gov/Kawano/gnuplot/index-e.html">daar</a>.
+<br>
+Kijk verder in de
+<A HREF="../stuva1/lshort.pdf">LaTeX-handleiding</A>
+(Hoofdstuk 4.1) hoe je PostScript-files in LaTeX kunt importeren.
+<p>
+Leg in het verslag ook <em>kort</em> BackPropagation uit, met de formules,
+en een referentie naar Russell en Norvig.
+<br>
+In te leveren: geprint verslag (in LaTeX gemaakt; de C++-code als Appendix,
+zie verder
+<a href="index.html#practicum">hier</a>
+voor opmerkingen over het verslag),
+en per email: C++- en Perl-code.
+Stuur svp geen emails met LaTeX/PS/PDF.
+
+<p>
+Deadline: <b>dinsdag 8 april 2008</b>.
+
+<P>
+<hr>
+<p>
+Vragen en/of opmerkingen kunnen worden gestuurd
+naar: <em><A HREF="mailto:kosters@liacs.nl">kosters@liacs.nl</A></em>.
+<p>
+17 maart 2008 &mdash; <b>http://www.liacs.nl/home/kosters/AI/nn08.html</b>
+
+</BODY>
+
+</HTML>
+
Index: /liacs/ai/poker/plot-learn.plt
===================================================================
--- /liacs/ai/poker/plot-learn.plt	(revision 2)
+++ /liacs/ai/poker/plot-learn.plt	(revision 2)
@@ -0,0 +1,16 @@
+#!/usr/bin/env gnuplot -persist
+#set term x11 enhanced color
+set terminal postscript eps enhanced color
+set output "test-learn.ps"
+set yrange [0:75]
+set xrange [100:5000]
+set ylabel "Kwaliteit in procenten"
+set xlabel "Aangeboden trainingsets"
+plot "test-learn-0.1.dat" using 1:2 title "0.1" with lines,\
+     "test-learn-0.3.dat" using 1:2 title "0.3" with lines,\
+     "test-learn-0.5.dat" using 1:2 title "0.5" with lines,\
+     "test-learn-0.7.dat" using 1:2 title "0.7" with lines,\
+     "test-learn-1.0.dat" using 1:2 title "1.0" with lines,\
+     "test-learn-1.5.dat" using 1:2 title "1.5" with lines,\
+     "test-learn-2.0.dat" using 1:2 title "2.0" with lines,\
+     "test-learn-5.0.dat" using 1:2 title "5.0" with lines
Index: /liacs/ai/poker/plot-perceptron.plt
===================================================================
--- /liacs/ai/poker/plot-perceptron.plt	(revision 2)
+++ /liacs/ai/poker/plot-perceptron.plt	(revision 2)
@@ -0,0 +1,19 @@
+#!/usr/bin/env gnuplot -persist
+#set term x11
+set terminal postscript eps enhanced color
+set output "test-perceptrons.ps"
+set yrange [0:75]
+set xrange [100:5000]
+set ylabel "Kwaliteit in procenten"
+set xlabel "Aangeboden trainingsets"
+plot "test-perceptrons-1.dat" using 1:2 title "1" with lines,\
+     "test-perceptrons-3.dat" using 1:2 title "3" with lines,\
+     "test-perceptrons-5.dat" using 1:2 title "5" with lines,\
+     "test-perceptrons-7.dat" using 1:2 title "7" with lines,\
+     "test-perceptrons-9.dat" using 1:2 title "9" with lines,\
+     "test-perceptrons-11.dat" using 1:2 title "11" with lines,\
+     "test-perceptrons-13.dat" using 1:2 title "13" with lines,\
+     "test-perceptrons-20.dat" using 1:2 title "20" with lines,\
+     "test-perceptrons-30.dat" using 1:2 title "30" with lines,\
+     "test-perceptrons-50.dat" using 1:2 title "50" with lines,\
+     "test-perceptrons-100.dat" using 1:2 title "100" with lines
Index: /liacs/ai/poker/report.tex
===================================================================
--- /liacs/ai/poker/report.tex	(revision 2)
+++ /liacs/ai/poker/report.tex	(revision 2)
@@ -0,0 +1,326 @@
+%
+% $Id: report.tex 557 2008-04-08 22:57:09Z rick $
+%
+
+\documentclass[12pt,a4paper]{article}
+
+\frenchspacing
+\usepackage[english,dutch]{babel}
+\selectlanguage{dutch}
+\usepackage{graphicx}
+\usepackage{url}
+\usepackage{multicol}
+\usepackage{fancybox}
+\usepackage{amssymb,amsmath}
+
+\author{Rick van der Zwet, Universiteit Leiden}
+\title{Kunstmatige Intelligentie  2008 --- opdracht 3 \\
+\large{Neurale netwerken}}
+\author{Rick van der Zwet\\
+  \texttt{<hvdzwet@liacs.nl>}\\
+  \\
+  LIACS\\
+  Leiden University\\
+  Niels Bohrweg 1\\
+  2333 CA Leiden\\
+  The Netherlands}
+\date{\today}
+
+\begin{document}
+
+\maketitle
+
+\section{Inleiding}
+
+Dit verslag gaat over de derde programmeer-opgave van het vak
+kunstmatige intelligentie~\cite{opdracht}. Welke als opdracht heeft om
+een neuraal netwerk te bouwen, wat met \'e\'en verborgen laag Poker
+handen kan classificeren. Dit alle met met als doel de bouw en
+werking van neurale netwerken (\emph{NN}) uit het college
+boek~\cite{collegeboek} beter te kunnen begrijpen.
+
+\section{Uitleg probleem}
+
+Om het probleem een visueel gestalte te geven is gekozen om een
+pokerhand te bepalen. Als invoer wordt er 5 kaarten uitgegeven, waarvan
+de waarde en kleur apart gecodeerd zijn in respectievelijk 13 en 4
+mogelijke waardes..  Met deze kaarten kan er een van de 10 combinaties
+van een pokerhand gevormd worden. Als er 5 willekeurige kaarten
+aangeboden worden is het de taak van het NN daar de juiste combinatie
+bij te zoeken.  Er wordt geen informatie gegeven wat de regels zijn om
+de combinaties te maken, maar er worden wel voorbeelden gegeven van
+valide combinaties.  Nadat alle voorbeelden gezien zijn worden er
+willekeurige combinaties kaarten aangeboden, de taak is om deze set zo
+goed mogelijk te clasifiseren.
+
+
+\begin{figure}[!ht]
+\begin{center}
+\includegraphics[scale=0.25]{neuraal-netwerk}
+\end{center}
+\caption{
+Voorbeeld van een 1-laags neuraal netwerk met 2 invoer nodes, 3
+verbonden perceptronen, 2 uitvoer nodes.
+}
+\label{fig:feedforward}
+\end{figure}
+
+
+\section{Theorie}
+
+Voor de menselijke beleving is het relatief makkelijk om in \'e\'en opzicht
+te zien welke pokerhand er in hand is of om dit aan te leren, door
+voorbeelden aan te bieden, waarbij dan logische regels worden afgeleid.
+Om in een algoritme hetzelfde \emph{lerende} gedrag te simuleren/cre\"eren
+zijn NN uitgevonden in verschillende smaken en stijlen. Dit verslag
+focust zich in feed-forward netwerken welke als voordeel hebben dat ze
+een van de simpelste neurale netwerken zijn, waarbij de informatie maar
+een richting op gaat.
+
+Bij een NN kan uit 3 of meerdere lagen onderscheiden worden. Als eerste
+is er de \emph{invoer} laag met zijn invoer nodes, waar de gecodeerde
+invoer op komt te staa. Bij gecodeerd wordt een waarde tussen 0 en 1
+bedoeld de reden hiervan komt later aan de orde. De \emph{verborgen}
+laag kan uit meerdere lagen bestaan, maar tijdens dit verslag zal focust
+worden op \'e\'en laag. In deze verborgen laag zitten de
+\emph{perceptronen}, welke de intelligentie zijn van het NN. In de
+\emph{uitvoer} laag zitten de uitvoer nodes, welke hun waarde weer
+tussen 0 en 1 bevinden.
+Tussen alle nodes in de invoer laag en de
+uitvoer laag zitten takken, zo ook tussen de verborgen laag en de
+uitvoer laag. Zie ook figuur~\ref{fig:feedforward}.
+
+Een perceptronen heeft de eigenschap dat het een \emph{activatie}
+functie bezit en een drempel waarde. Stel dit voor als een persoon die
+je slaat, als iemand dit zachtjes doet zal je niets zeggen, als dit een
+stuk harder is zal je 'auwch' roepen. De kracht die het nodig om je auwch te
+laten roepen is de drempelwaarde. Van binnen voelde dat dit pijn deed
+naar mate je harder werd geslagen ging je meer pijn voelen. Dit kan je
+het beste vatten in een lineaire functie. Vanwege het feit dat een NN
+een continue functie is ligt het voor de hand om een logaritmische
+functie te krijgen, waarbij de activatie functie de vorm krijgt van
+formule~\ref{eq:perceptron}. Dit verklaart tevens waarom de invoer en
+uitvoer tussen 0 en 1 moeten liggen, gezien dit ook het uitvoer bereik
+is.
+
+\begin{equation}
+uit = \frac{1}{1 + e^{in}}
+\label{eq:perceptron}
+\end{equation}
+
+De $in$ in formule~\ref{eq:perceptron} is een gewogen invoer van alle
+$inkomende takken * het gewicht van een tak$. De drempel waarde is
+echter een vervelend feit, welke makkelijker op te lossen is met een
+zogenoemde \emph{bias} knoop, de waarde op deze knoop is altijd $-1$,
+waardoor deze samen met het gewicht was tussen deze bias knoop en de
+knoop hangt zorgt voor de drempelwaarde die origineel gebruikt was nu
+de drempelwaarde $0$ gebruikt kan worden.
+
+
+De gewichten zijn het `magische' van het NN, deze gewichten kunnen
+namelijk getraind worden waardoor de uitvoer van het neurale netwerk kan
+veranderen. Deze training word \emph{backpropagation} genoemd en heeft
+een correlatie met de fout in de uitvoer, het huidige gewicht en de
+leer-snelheid en de invoer. Om deze fout in een koop te bepalen moet er
+gekeken worden naar de fout in de uitvoer en het gewicht naar tak van
+die knoop, zie formule~\ref{eq:gewicht}. Waarbij $\triangle_{uit}$
+gelijk is aan $\triangle_{j} = g'(in_j)\sum_i W_{j,i}\triangle{i}$
+Waarbij $i$ all opvolgende knopen van $j$ zijn.
+
+\begin{equation}
+W_{in,uit} = \alpha * a_{in} * \triangle_{uit}
+\label{eq:gewicht}
+\end{equation}
+
+De fouten worden dus omgekeerd berekend, eerst de fouten van de uitvoer
+laag, dan de verborgen lagen ervoor en als die zijn die van de invoer
+laag.
+
+\section{Aanpak}
+Er is gekozen gebruik te maken voorbeeld implementatie raamwerk gegeven
+in de sheet \cite{web-sheet} tijdens het college kunstmatige
+intelligentie welke een pseudo beschrijving geeft voor het programmeren
+van een neuraal netwerk.
+
+\begin{verbatim}
+herhaal
+    voor elke E in trainings set doe
+        voorzie de invoer knopen
+        bereken de waardes in de perceptronen en uitvoer-knopen
+        bereken de delta fouten van de knopen en perceptronen
+        pas de takken aan
+totdat netwerk "geconvergeerd"
+\end{verbatim}
+
+Als eerste stap is simpele Perl code gebruikt om van de training en
+validatie sets een in- en uitvoer data voor het NN te schrijven waarbij
+alle waarden tussen 0 en 1 liggen. Perl code is een stuk flexibeler als
+het gaat om tekst verwerking dan C code.
+
+Om ook eens met een kritische noot naar de invoer te kijken en de
+daadwerkelijke intelligentie van een NN, zal er extra knopen toegevoegd
+worden om te kijken hoe deze presteren. Voor de poker set zijn dit een
+paar specifieke combinaties namelijk de setjes -doubles, triples, four-
+en de aantallen kaarten van elke soort kleur.
+
+Nadat het netwerk geschreven is kan deze getest worden met een het leren
+van de zogenoemde XOR functie. Deze functie is niet lineair te scheiden,
+maar is met een NN van 2 invoer, 3 verborgen, 1 uitvoer perfect te
+berekenen/leren.
+
+\section{Implementatie}
+
+Het NN is geschreven in C, hevig hangend op globale array waar de data
+in zit en losse functies om de programma flow duidelijker te maken. De
+pre-parse is geschreven in Perl en Bourne shell code.
+
+\section{Experimenten}
+Alle testen zijn uitgevoerd met een computer, waarbij gcc 4.01 als
+compiler aanwezig was en Perl 5.8.8 als parser . Bij wijziging van de
+input knopen of uitvoer knopen, is de pre-parse aangeroepen en de code
+opnieuw gecompileerd met de nieuwe waardes.
+
+Tijdens alle simulaties het de trainingsset een grootte van 25000. De
+eind validatie set -welke de eind kwaliteit van het NN bepaald- 1
+miljoen. En de tussentijdse kwaliteit set heeft een grootte van 1000,
+welke na elke 100 training invoeren draaien.
+
+
+Tijdens de leersnelheid experiment is gebruik gemaakt van het de
+standaard poker set, met 10 invoeren, 10 uitvoeren en 10 verborgen
+perceptronen. De resultaten zijn te zien in figuur~\ref{fig:leersnelheid}.
+De verborgen perceptronen test is gedaan om dezelfde data set, hierbij is de
+leer-snelheid 0.5 gekozen, deze resultaten staan in figuur~\ref{fig:verborgen}.
+
+\begin{center}
+\begin{figure}
+\includegraphics[width=0.75\textwidth]{test-learn}
+\caption{NN training verloop bij variabele leersnelheden}
+\label{fig:leersnelheid}
+\end{figure}
+\end{center}
+
+\begin{center}
+\begin{figure}
+\includegraphics[width=0.75\textwidth]{test-perceptrons}
+\caption{NN training verloop bij variabele verborgen invoer laag grootte}
+\label{fig:verborgen}
+\end{figure}
+\end{center}
+
+Tijdens de invoer variatie is gekozen voor vijf verschillende
+combinaties, de randvoorwaarden zijn 10 uitvoer knopen, aantal verborgen
+knopen 20, leersnelheid 0.5 De standaard set hierna afgekort met
+\emph{STD} (1). STD met kleur tellingen (2), STD met paar tellingen (3),
+STD met kleur en paar tellingen (4), de paar tellingen + kleur tellingen
+(5) . Resultaten staan in tabel~\ref{tab:invoer-variatie}.
+
+\begin{center}
+\begin{table}
+\caption{Prestaties NN bij verschillende invoer data types}
+\begin{tabular}{l|r|r}
+Invoer variatie & Maximale kwaliteit in \% & Voorbeelden nodig \\
+\hline 
+1 & 49.92 & 400 \\
+2 & 49.82 & 600 \\
+3 & 92.26 & 1800 \\
+4 & 92.26 & 6800 \\
+5 & 92.26 & 600 \\
+\end{tabular}
+\label{tab:invoer-variatie}
+\end{table}
+\end{center}
+
+
+%%Resultaten
+
+\section{Conclusie}
+Er is gekeken naar verschillende aspecten van het neurale netwerk.
+Heeft toevoegen van nieuwe knopen met extra informatie invloed
+op de uitvoer?  Heeft de leer-snelheid een positief effect op het NN?
+Heeft het aantal verborgen perceptronen invloed op het netwerk?  Dit
+alle gecombineerd tot het originele probleem: Is het mogelijk goed
+poker-handen te voorspellen aan te hand van een 1-laags NN.
+
+Het vari\"eren van leer-snelheid levert geen beter kwaliteit NN
+op, als de leer-snelheid echter tussen 0 en 1 ligt zal het verloop minder
+grillig zijn en zal het NN niet `te ver' doorschieten in een bepaalde
+richting.
+
+Het vari\"eren van het aantal verborgen knopen levert een maximum op als het
+aantal verborgen knopen groter of gelijk is aan het aantal invoer
+knopen. In het kader van de efficient is het aan te raden, deze rond de
+waarde van de invoer knopen te houden om zo het aantal berekeningen dat
+uitgevoerd moet worden zo minimaal mogelijk te houden.
+
+Het grillige verloop van de grafiek in figuur~\ref{fig:leersnelheid} als
+ook in figuur~\ref{fig:verborgen} is een gedag wat niet verklaard kan
+worden. Verder onderzoek met bijvoorbeeld een andere data-set of de data
+in een andere volgorde aan te bieden zou hier misschien uitsluitsel voor
+kunnen bieden.
+
+Het vari\"eren van de invoer heeft groot effect op te effectiviteit van
+het netwerk. Bij het kiezen van de juiste data verdubbeld het netwerk
+zijn effectiviteit. Dit kan verklaard worden doordat op het moment de
+paren van te voren bepaald worden deze intelligentie niet meer door het
+systeem ontdekt hoeft te worden. Het probleem wordt dus eigenlijk
+versimpeld. Wel is het noodzakelijk relevante versimpelingen te maken.
+Het tellen van het aantal kaarten van een bepaalde kleur heeft duidelijk
+geen enkel effect in het netwerk, wat logisch is als we dichter naar de
+poker kaarten gaan kijken. Hiervoor is het enkel interessant om te weten
+of er 5 dezelfde kleuren in zitten of niet. Elke andere tussenvorm
+levert geen extra informatie op.
+
+Voor een vervolg verslag zou gekeken kunnen worden of een meer laags
+NN een beter resultaat boekt bij het ontdekken van de poker kaarten.
+Verder zouden er ook 'debug' sets ontwikkeld kunnen worden waarbij een
+willekeurig NN netwerk getest kan worden op juiste werking, gegeven alle
+randvoorwaarden. Deze optie wordt momenteel enkel voor een XOR voorbeeld
+gegeven welke enkel maar een validatie set is van een zeer beperkt
+probleem. Het is namelijk niet aan te tonen of het netwerk fout
+geimplementeerd is.
+
+\begin{thebibliography}{10}
+
+\bibitem{opdracht}
+W.A.~Kosters, Kunstmatige intelligentie Programmeer-opgave 3 van 2008
+-- Neurale netwerken, \url{http://www.liacs.nl/~kosters/AI/nn08.html}
+
+\bibitem{web-sheet}
+W.A.~Kosters, Kunstmatige intelligentie College neurale netwerken 2008,
+\url{http://www.liacs.nl/~kosters/AI/neuraal.pdf}
+
+\bibitem{collegeboek}
+S.J. Russell en P. Norvig, Artificial Intelligence, A Modern Approach,
+Second ediion, Prentice Hall, 2003.
+
+\bibitem{website}
+Asuncion, A. \& Newman, D.J. (2007). UCI Machine Learning Repository
+\url{http://www.ics.uci.edu/~mlearn/MLRepository.html}. Irvine, CA:
+University of California, School of Information and Computer Science.
+
+\bibitem{website-poker}
+Robert Cattral (cattral@gmail.com) and Franz Oppacher (oppacher@scs.carleton.ca)
+Carleton University, Department of Computer Science, Intelligent Systems Research Unit
+\url{http://archive.ics.uci.edu/ml/datasets/Poker+Hand}
+
+\end{thebibliography}
+\newpage
+\advance\textwidth by 8cm
+\advance\oddsidemargin by -3cm
+\advance\evensidemargin by -3cm
+\advance\topmargin by -2cm
+\advance\textheight by 4cm
+\advance\footskip by -4cm
+\marginparwidth 0cm
+\twocolumn
+\section*{Appendix}
+De NN code en pre-parse.pl code  zagen er als volgt uit:
+\newline
+\tiny
+%preformatted with `source-highlight -n -f latex bridge.cc`
+\input{nn.c}
+\input{data/pre-parse.pl}
+\onecolumn
+
+\end{document}
Index: /liacs/ai/poker/test-learn.sh
===================================================================
--- /liacs/ai/poker/test-learn.sh	(revision 2)
+++ /liacs/ai/poker/test-learn.sh	(revision 2)
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+for LEARN in 0.1 0.3 0.5 0.7 1.0 1.5 2.0 5.0
+do
+    export CFLAGS="-DLEARN_SPEED=$LEARN"
+    make clean
+    make nn
+    echo "Start learning $LEARN..."
+    ./nn | tee "test-learn-$LEARN.txt"
+done
+
Index: /liacs/ai/poker/test-perceptrons.sh
===================================================================
--- /liacs/ai/poker/test-perceptrons.sh	(revision 2)
+++ /liacs/ai/poker/test-perceptrons.sh	(revision 2)
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+for NODES in 1 3 5 7 9 11 13 20 30 50 100
+do
+    export CFLAGS="-DHIDDEN_SIZE=$NODES"
+    make clean
+    make nn
+    echo "Start nodes $NODES..."
+    ./nn | tee "test-perceptrons-$NODES.txt"
+done
+
Index: /liacs/ai/robocom/Makefile
===================================================================
--- /liacs/ai/robocom/Makefile	(revision 2)
+++ /liacs/ai/robocom/Makefile	(revision 2)
@@ -0,0 +1,54 @@
+# Rick van der Zwet <rick@wzoeterwoude.net>
+TARGET = report
+LATEX = latex
+XDVI = xdvi
+TEX = latex -halt-on-error
+DVIPDF = dvipdf
+ASPELL = aspell
+ASPELL_ARGS = -c --mode=tex
+.SUFFIXES: .pdf
+
+EXECUTABLE=bridge
+
+help:
+	@echo "Usage Makefile <option>"
+
+all: dist-clean buildpdf program
+
+view: viewpdf
+
+viewdvi: builddvi
+	$(XDVI) $(TARGET)
+
+builddvi: $(TARGET).dvi
+
+clean:
+	rm -vf *.aux *.log *toc *.out *.bak
+
+dist-clean: clean
+	rm -vf $(TARGET).dvi $(TARGET).pdf $(PROGRAM)
+
+buildpdf: $(TARGET).pdf
+
+viewpdf: buildpdf
+	xpdf $(TARGET).pdf 3
+
+spell: spell-en
+
+spell-nl: $(TARGET).tex
+	$(ASPELL) -l nl -p ~/aspell-n.dic $(ASPELL_ARGS) $<
+
+spell-en: $(TARGET).tex
+	$(ASPELL) -l en -p ~/aspell-en.dic $(ASPELL_ARGS) $<
+
+.dvi.pdf:
+	$(DVIPDF) $? $@
+
+.tex.dvi:
+	$(TEX) $? $@
+	$(TEX) $? $@
+
+.gs.png:
+	$(GNUPLOT) $?
+
+program: $(EXECUTABLE)
Index: /liacs/ai/robocom/fighter-defensive-1.rob
===================================================================
--- /liacs/ai/robocom/fighter-defensive-1.rob	(revision 2)
+++ /liacs/ai/robocom/fighter-defensive-1.rob	(revision 2)
@@ -0,0 +1,161 @@
+; RoboCom program
+
+Published  Name        fighter-defensive-1      ; Name of this program
+Published  Author      Rick van der Zwet        ; Name of author
+Published  EMail       hvdzwet@liacs.nl         ; Author's e-mail address
+Published  Country     The Netherlands          ; Author's home country
+Published  Comment     Part AI Course @ LIACS   ; A comment on this prog
+Secret     Password    YOUR_PASSWORD_HERE       ; Password for competitons
+
+Published  OpenSource  yes                      ; This prog is open source
+Published  Language    RC300                    ; Written in RC300 language
+Published  OptionSet   Classic                  ; Recommended OptionSet
+
+; General overview:
+; * Create really simple shield around mother bot with very simple virus,
+;   called protectors
+; * After some cycles call autodestroy on all affected bots, called
+;   kamikazes
+; * Start creating 'destroyers' with basicly kill all robots
+;
+
+; Jump bank to safer grounds 
+Bank SafeJump
+	Bjump 25,1
+
+; Bank 2-20, empty buffer banks
+Bank Bank2
+Bank Bank3
+Bank Bank4
+Bank Bank5
+Bank Bank6
+Bank Bank7
+Bank Bank8
+Bank Bank9
+Bank Bank10
+Bank Bank11
+Bank Bank12
+Bank Bank13
+Bank Bank14
+Bank Bank15
+Bank Bank16
+Bank Bank17
+Bank Bank18
+Bank Bank19
+Bank Bank20
+Bank Bank21
+Bank Bank22
+Bank Bank23
+Bank Bank24
+
+;Bank 25
+Bank MainParent
+	;Protectors build
+	@MainParentProtectorStart
+	Scan #10
+	Comp #10,0
+	Jump @MainParentExists
+	Create 1,1,0
+	@MainParentExists
+	Trans 26,1
+	Set %active,1
+	Turn 0
+	Add #1,1
+	Comp #1,50
+	Jump @MainParentProtectorStart
+	Set #1,1
+	Add #2,1
+	Comp #2,4
+	Jump @MainParentProtectorStart
+
+	;Kamikazes build	
+	Set #1,1
+	@MainParentKamikazeStart
+	Trans 27,1
+	Turn 0
+	
+	Add #1,1
+	Comp #1,30
+	Jump @MainParentKamikazeStart
+
+	;Destroyer build
+	@MainParentDestroyerStart
+	Turn 0
+	Scan #1
+	Comp #1,0
+	Jump @MainParentDestroyerStart
+	Create 2,6,0
+	Trans 28,5
+	Trans 29,4
+	Trans 28,1
+	Set %active,1
+	Jump @MainParentDestroyerStart
+	
+;Bank 26
+Bank Protectors
+	Trans 1,1
+	Trans 1,2
+	Trans 1,4
+	Turn 1
+		
+;Bank27
+Bank Kamikazes
+	Trans 1,1
+	Add #1,1
+	Turn 0
+
+;Bank28
+;SafeJump Destroyers
+Bank DestroyerJump
+Bjump 4,1
+
+;Bank29
+Bank DestroyerMain
+	@DestroyerStart
+	Turn 0
+	Scan #1
+	Comp #1,1
+	Jump @DestroyerFriendly
+	Set #2,%banks
+	@DestroyerBankwhipe
+	Trans 7,#2
+	Sub #2,1
+	Comp #2,0
+	Jump @DestroyerBankWhipe
+	Set %active, 1
+	Jump @DestroyerStart
+	@DestroyerFriendly
+	Comp #1,0
+	Jump @DestroyerStart
+	Create 2,6,0
+	Trans 4,4
+	Trans 5,5
+	Trans 5,1
+	Set %active,1
+	Jump @DestroyerStart
+
+		
+;Bank 30-50, empty buffer banks	
+Bank Bank30
+Bank Bank31
+Bank Bank32
+Bank Bank33
+Bank Bank34
+Bank Bank35
+Bank Bank36
+Bank Bank37
+Bank Bank38
+Bank Bank39
+Bank Bank40
+Bank Bank41
+Bank Bank42
+Bank Bank43
+Bank Bank44
+Bank Bank45
+Bank Bank46
+Bank Bank47
+Bank Bank48
+Bank Bank49
+Bank Bank50
+
+	
Index: /liacs/ai/robocom/fighter-defensive-1.rob.tex
===================================================================
--- /liacs/ai/robocom/fighter-defensive-1.rob.tex	(revision 2)
+++ /liacs/ai/robocom/fighter-defensive-1.rob.tex	(revision 2)
@@ -0,0 +1,164 @@
+% Generator: GNU source-highlight, by Lorenzo Bettini, http://www.gnu.org/software/src-highlite
+\noindent
+\mbox{}\texttt{001:} ;\ RoboCom\ program \\
+\mbox{}\texttt{002:}  \\
+\mbox{}\texttt{003:} Published\ \ Name\ \ \ \ \ \ \ \ fighter-defensive-1\ \ \ \ \ \ ;\ Name\ of\ this\ program \\
+\mbox{}\texttt{004:} Published\ \ Author\ \ \ \ \ \ Rick\ van\ der\ Zwet\ \ \ \ \ \ \ \ ;\ Name\ of\ author \\
+\mbox{}\texttt{005:} Published\ \ EMail\ \ \ \ \ \ \ hvdzwet@liacs.nl\ \ \ \ \ \ \ \ \ ;\ Author's\ e-mail\ address \\
+\mbox{}\texttt{006:} Published\ \ Country\ \ \ \ \ The\ Netherlands\ \ \ \ \ \ \ \ \ \ ;\ Author's\ home\ country \\
+\mbox{}\texttt{007:} Published\ \ Comment\ \ \ \ \ Part\ AI\ Course\ @\ LIACS\ \ \ ;\ A\ comment\ on\ this\ prog \\
+\mbox{}\texttt{008:} Secret\ \ \ \ \ Password\ \ \ \ YOUR$\_$PASSWORD$\_$HERE\ \ \ \ \ \ \ ;\ Password\ for\ competitons \\
+\mbox{}\texttt{009:}  \\
+\mbox{}\texttt{010:} Published\ \ OpenSource\ \ yes\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ;\ This\ prog\ is\ open\ source \\
+\mbox{}\texttt{011:} Published\ \ Language\ \ \ \ RC300\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ;\ Written\ in\ RC300\ language \\
+\mbox{}\texttt{012:} Published\ \ OptionSet\ \ \ Classic\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ;\ Recommended\ OptionSet \\
+\mbox{}\texttt{013:}  \\
+\mbox{}\texttt{014:} ;\ General\ overview: \\
+\mbox{}\texttt{015:} ;\ *\ Create\ really\ simple\ shield\ around\ mother\ bot\ with\ very\ simple\ virus, \\
+\mbox{}\texttt{016:} ;\ \ \ called\ protectors \\
+\mbox{}\texttt{017:} ;\ *\ After\ some\ cycles\ call\ autodestroy\ on\ all\ affected\ bots,\ called \\
+\mbox{}\texttt{018:} ;\ \ \ kamikazes \\
+\mbox{}\texttt{019:} ;\ *\ Start\ creating\ 'destroyers'\ with\ basicly\ kill\ all\ robots \\
+\mbox{}\texttt{020:} ; \\
+\mbox{}\texttt{021:}  \\
+\mbox{}\texttt{022:} ;\ Jump\ bank\ to\ safer\ grounds\  \\
+\mbox{}\texttt{023:} Bank\ SafeJump \\
+\mbox{}\texttt{024:} \ \ \ \ \ \ \ \ Bjump\ 25,1 \\
+\mbox{}\texttt{025:}  \\
+\mbox{}\texttt{026:} ;\ Bank\ 2-20,\ empty\ buffer\ banks \\
+\mbox{}\texttt{027:} Bank\ Bank2 \\
+\mbox{}\texttt{028:} Bank\ Bank3 \\
+\mbox{}\texttt{029:} Bank\ Bank4 \\
+\mbox{}\texttt{030:} Bank\ Bank5 \\
+\mbox{}\texttt{031:} Bank\ Bank6 \\
+\mbox{}\texttt{032:} Bank\ Bank7 \\
+\mbox{}\texttt{033:} Bank\ Bank8 \\
+\mbox{}\texttt{034:} Bank\ Bank9 \\
+\mbox{}\texttt{035:} Bank\ Bank10 \\
+\mbox{}\texttt{036:} Bank\ Bank11 \\
+\mbox{}\texttt{037:} Bank\ Bank12 \\
+\mbox{}\texttt{038:} Bank\ Bank13 \\
+\mbox{}\texttt{039:} Bank\ Bank14 \\
+\mbox{}\texttt{040:} Bank\ Bank15 \\
+\mbox{}\texttt{041:} Bank\ Bank16 \\
+\mbox{}\texttt{042:} Bank\ Bank17 \\
+\mbox{}\texttt{043:} Bank\ Bank18 \\
+\mbox{}\texttt{044:} Bank\ Bank19 \\
+\mbox{}\texttt{045:} Bank\ Bank20 \\
+\mbox{}\texttt{046:} Bank\ Bank21 \\
+\mbox{}\texttt{047:} Bank\ Bank22 \\
+\mbox{}\texttt{048:} Bank\ Bank23 \\
+\mbox{}\texttt{049:} Bank\ Bank24 \\
+\mbox{}\texttt{050:}  \\
+\mbox{}\texttt{051:} ;Bank\ 25 \\
+\mbox{}\texttt{052:} Bank\ MainParent \\
+\mbox{}\texttt{053:} \ \ \ \ \ \ \ \ ;Protectors\ build \\
+\mbox{}\texttt{054:} \ \ \ \ \ \ \ \ @MainParentProtectorStart \\
+\mbox{}\texttt{055:} \ \ \ \ \ \ \ \ Scan\ \#10 \\
+\mbox{}\texttt{056:} \ \ \ \ \ \ \ \ Comp\ \#10,0 \\
+\mbox{}\texttt{057:} \ \ \ \ \ \ \ \ Jump\ @MainParentExists \\
+\mbox{}\texttt{058:} \ \ \ \ \ \ \ \ Create\ 1,1,0 \\
+\mbox{}\texttt{059:} \ \ \ \ \ \ \ \ @MainParentExists \\
+\mbox{}\texttt{060:} \ \ \ \ \ \ \ \ Trans\ 26,1 \\
+\mbox{}\texttt{061:} \ \ \ \ \ \ \ \ Set\ \textit{\%active,1} \\
+\mbox{}\texttt{062:} \ \ \ \ \ \ \ \ Turn\ 0 \\
+\mbox{}\texttt{063:} \ \ \ \ \ \ \ \ Add\ \#1,1 \\
+\mbox{}\texttt{064:} \ \ \ \ \ \ \ \ Comp\ \#1,50 \\
+\mbox{}\texttt{065:} \ \ \ \ \ \ \ \ Jump\ @MainParentProtectorStart \\
+\mbox{}\texttt{066:} \ \ \ \ \ \ \ \ Set\ \#1,1 \\
+\mbox{}\texttt{067:} \ \ \ \ \ \ \ \ Add\ \#2,1 \\
+\mbox{}\texttt{068:} \ \ \ \ \ \ \ \ Comp\ \#2,4 \\
+\mbox{}\texttt{069:} \ \ \ \ \ \ \ \ Jump\ @MainParentProtectorStart \\
+\mbox{}\texttt{070:}  \\
+\mbox{}\texttt{071:} \ \ \ \ \ \ \ \ ;Kamikazes\ build\ \ \ \ \ \ \ \  \\
+\mbox{}\texttt{072:} \ \ \ \ \ \ \ \ Set\ \#1,1 \\
+\mbox{}\texttt{073:} \ \ \ \ \ \ \ \ @MainParentKamikazeStart \\
+\mbox{}\texttt{074:} \ \ \ \ \ \ \ \ Trans\ 27,1 \\
+\mbox{}\texttt{075:} \ \ \ \ \ \ \ \ Turn\ 0 \\
+\mbox{}\texttt{076:} \ \ \ \ \ \ \ \  \\
+\mbox{}\texttt{077:} \ \ \ \ \ \ \ \ Add\ \#1,1 \\
+\mbox{}\texttt{078:} \ \ \ \ \ \ \ \ Comp\ \#1,30 \\
+\mbox{}\texttt{079:} \ \ \ \ \ \ \ \ Jump\ @MainParentKamikazeStart \\
+\mbox{}\texttt{080:}  \\
+\mbox{}\texttt{081:} \ \ \ \ \ \ \ \ ;Destroyer\ build \\
+\mbox{}\texttt{082:} \ \ \ \ \ \ \ \ @MainParentDestroyerStart \\
+\mbox{}\texttt{083:} \ \ \ \ \ \ \ \ Turn\ 0 \\
+\mbox{}\texttt{084:} \ \ \ \ \ \ \ \ Scan\ \#1 \\
+\mbox{}\texttt{085:} \ \ \ \ \ \ \ \ Comp\ \#1,0 \\
+\mbox{}\texttt{086:} \ \ \ \ \ \ \ \ Jump\ @MainParentDestroyerStart \\
+\mbox{}\texttt{087:} \ \ \ \ \ \ \ \ Create\ 2,6,0 \\
+\mbox{}\texttt{088:} \ \ \ \ \ \ \ \ Trans\ 28,5 \\
+\mbox{}\texttt{089:} \ \ \ \ \ \ \ \ Trans\ 29,4 \\
+\mbox{}\texttt{090:} \ \ \ \ \ \ \ \ Trans\ 28,1 \\
+\mbox{}\texttt{091:} \ \ \ \ \ \ \ \ Set\ \textit{\%active,1} \\
+\mbox{}\texttt{092:} \ \ \ \ \ \ \ \ Jump\ @MainParentDestroyerStart \\
+\mbox{}\texttt{093:} \ \ \ \ \ \ \ \  \\
+\mbox{}\texttt{094:} ;Bank\ 26 \\
+\mbox{}\texttt{095:} Bank\ Protectors \\
+\mbox{}\texttt{096:} \ \ \ \ \ \ \ \ Trans\ 1,1 \\
+\mbox{}\texttt{097:} \ \ \ \ \ \ \ \ Trans\ 1,2 \\
+\mbox{}\texttt{098:} \ \ \ \ \ \ \ \ Trans\ 1,4 \\
+\mbox{}\texttt{099:} \ \ \ \ \ \ \ \ Turn\ 1 \\
+\mbox{}\texttt{100:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  \\
+\mbox{}\texttt{101:} ;Bank27 \\
+\mbox{}\texttt{102:} Bank\ Kamikazes \\
+\mbox{}\texttt{103:} \ \ \ \ \ \ \ \ Trans\ 1,1 \\
+\mbox{}\texttt{104:} \ \ \ \ \ \ \ \ Add\ \#1,1 \\
+\mbox{}\texttt{105:} \ \ \ \ \ \ \ \ Turn\ 0 \\
+\mbox{}\texttt{106:}  \\
+\mbox{}\texttt{107:} ;Bank28 \\
+\mbox{}\texttt{108:} ;SafeJump\ Destroyers \\
+\mbox{}\texttt{109:} Bank\ DestroyerJump \\
+\mbox{}\texttt{110:} Bjump\ 4,1 \\
+\mbox{}\texttt{111:}  \\
+\mbox{}\texttt{112:} ;Bank29 \\
+\mbox{}\texttt{113:} Bank\ DestroyerMain \\
+\mbox{}\texttt{114:} \ \ \ \ \ \ \ \ @DestroyerStart \\
+\mbox{}\texttt{115:} \ \ \ \ \ \ \ \ Turn\ 0 \\
+\mbox{}\texttt{116:} \ \ \ \ \ \ \ \ Scan\ \#1 \\
+\mbox{}\texttt{117:} \ \ \ \ \ \ \ \ Comp\ \#1,1 \\
+\mbox{}\texttt{118:} \ \ \ \ \ \ \ \ Jump\ @DestroyerFriendly \\
+\mbox{}\texttt{119:} \ \ \ \ \ \ \ \ Set\ \#2,\textit{\%banks} \\
+\mbox{}\texttt{120:} \ \ \ \ \ \ \ \ @DestroyerBankwhipe \\
+\mbox{}\texttt{121:} \ \ \ \ \ \ \ \ Trans\ 7,\#2 \\
+\mbox{}\texttt{122:} \ \ \ \ \ \ \ \ Sub\ \#2,1 \\
+\mbox{}\texttt{123:} \ \ \ \ \ \ \ \ Comp\ \#2,0 \\
+\mbox{}\texttt{124:} \ \ \ \ \ \ \ \ Jump\ @DestroyerBankWhipe \\
+\mbox{}\texttt{125:} \ \ \ \ \ \ \ \ Set\ \textit{\%active,\ 1} \\
+\mbox{}\texttt{126:} \ \ \ \ \ \ \ \ Jump\ @DestroyerStart \\
+\mbox{}\texttt{127:} \ \ \ \ \ \ \ \ @DestroyerFriendly \\
+\mbox{}\texttt{128:} \ \ \ \ \ \ \ \ Comp\ \#1,0 \\
+\mbox{}\texttt{129:} \ \ \ \ \ \ \ \ Jump\ @DestroyerStart \\
+\mbox{}\texttt{130:} \ \ \ \ \ \ \ \ Create\ 2,6,0 \\
+\mbox{}\texttt{131:} \ \ \ \ \ \ \ \ Trans\ 4,4 \\
+\mbox{}\texttt{132:} \ \ \ \ \ \ \ \ Trans\ 5,5 \\
+\mbox{}\texttt{133:} \ \ \ \ \ \ \ \ Trans\ 5,1 \\
+\mbox{}\texttt{134:} \ \ \ \ \ \ \ \ Set\ \textit{\%active,1} \\
+\mbox{}\texttt{135:} \ \ \ \ \ \ \ \ Jump\ @DestroyerStart \\
+\mbox{}\texttt{136:}  \\
+\mbox{}\texttt{137:} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  \\
+\mbox{}\texttt{138:} ;Bank\ 30-50,\ empty\ buffer\ banks\  \\
+\mbox{}\texttt{139:} Bank\ Bank30 \\
+\mbox{}\texttt{140:} Bank\ Bank31 \\
+\mbox{}\texttt{141:} Bank\ Bank32 \\
+\mbox{}\texttt{142:} Bank\ Bank33 \\
+\mbox{}\texttt{143:} Bank\ Bank34 \\
+\mbox{}\texttt{144:} Bank\ Bank35 \\
+\mbox{}\texttt{145:} Bank\ Bank36 \\
+\mbox{}\texttt{146:} Bank\ Bank37 \\
+\mbox{}\texttt{147:} Bank\ Bank38 \\
+\mbox{}\texttt{148:} Bank\ Bank39 \\
+\mbox{}\texttt{149:} Bank\ Bank40 \\
+\mbox{}\texttt{150:} Bank\ Bank41 \\
+\mbox{}\texttt{151:} Bank\ Bank42 \\
+\mbox{}\texttt{152:} Bank\ Bank43 \\
+\mbox{}\texttt{153:} Bank\ Bank44 \\
+\mbox{}\texttt{154:} Bank\ Bank45 \\
+\mbox{}\texttt{155:} Bank\ Bank46 \\
+\mbox{}\texttt{156:} Bank\ Bank47 \\
+\mbox{}\texttt{157:} Bank\ Bank48 \\
+\mbox{}\texttt{158:} Bank\ Bank49 \\
+\mbox{}\texttt{159:} Bank\ Bank50 \\
+\mbox{}\texttt{160:}  \\
+\mbox{}\texttt{161:} \ \ \ \ \ \ \ \  \\
+
Index: /liacs/ai/robocom/fighter-offensive-2.rob
===================================================================
--- /liacs/ai/robocom/fighter-offensive-2.rob	(revision 2)
+++ /liacs/ai/robocom/fighter-offensive-2.rob	(revision 2)
@@ -0,0 +1,111 @@
+; RoboCom program
+
+Published  Name        fighter-offensive-2      ; Name of this program
+Published  Author      Rick van der Zwet        ; Name of author
+Published  EMail       hvdzwet@liacs.nl         ; Author's e-mail address
+Published  Country     The Netherlands          ; Author's home country
+Published  Comment     Part AI Course @ LIACS   ; A comment on this prog
+Secret     Password    YOUR_PASSWORD_HERE       ; Password for competitons
+
+Published  OpenSource  yes                      ; This prog is open source
+Published  Language    RC300                    ; Written in RC300 language
+Published  OptionSet   Classic                  ; Recommended OptionSet
+
+; Jump bank to safer grounds 
+;Bank Bank1
+Bank SafeJump
+    Bjump 11,1
+
+; Bank 2-9, empty buffer banks
+Bank Bank2
+Bank Bank3
+Bank Bank4
+Bank Bank5
+Bank Bank6
+Bank Bank7
+Bank Bank8
+Bank Bank9
+
+;Bank Bank10
+Bank BigJump
+    BJump 11,1
+
+;Bank Bank11
+Bank BigMain
+    @BigStart
+    Turn 0
+    Trans 12,1
+    Scan #1
+    Comp #1,1
+    Jump @Friendly
+    
+    ;Enemy
+    Set #2,0
+    @Delete
+    Add #2,1
+    Trans 13,#2
+    Comp #2,%Banks
+    Jump @Delete
+    Set %active,1
+
+    @Friendly
+    Comp #1,2
+    Create 2,20,0
+    Comp %active,25
+    Trans 11,11
+    Trans 10,1
+    Trans 13,2
+    Trans 13,3
+    Trans 13,4
+    Set %active,25
+    Trans 10,10
+    Trans 12,12
+    Jump @BigStart
+
+;Bank Bank12
+Bank FirstVirus
+    Turn 0
+    Trans 1,1
+;Trans 1,5 Wins against cyborg
+    Trans 1,3
+
+;Bank 13-50, empty buffer banks
+Bank Bank13
+Bank Bank14
+Bank Bank15
+Bank Bank16
+Bank Bank17
+Bank Bank18
+Bank Bank19
+Bank Bank20
+Bank Bank21
+Bank Bank22
+Bank Bank23
+Bank Bank24
+Bank Bank25
+Bank Bank26
+Bank Bank27
+Bank Bank28
+Bank Bank29
+Bank Bank30
+Bank Bank31
+Bank Bank32
+Bank Bank33
+Bank Bank34
+Bank Bank35
+Bank Bank36
+Bank Bank37
+Bank Bank38
+Bank Bank39
+Bank Bank40
+Bank Bank41
+Bank Bank42
+Bank Bank43
+Bank Bank44
+Bank Bank45
+Bank Bank46
+Bank Bank47
+Bank Bank48
+Bank Bank49
+Bank Bank50
+
Index: /liacs/ai/robocom/fighter-offensive-2.rob.tex
===================================================================
--- /liacs/ai/robocom/fighter-offensive-2.rob.tex	(revision 2)
+++ /liacs/ai/robocom/fighter-offensive-2.rob.tex	(revision 2)
@@ -0,0 +1,114 @@
+% Generator: GNU source-highlight, by Lorenzo Bettini, http://www.gnu.org/software/src-highlite
+\noindent
+\mbox{}\texttt{001:} ;\ RoboCom\ program \\
+\mbox{}\texttt{002:}  \\
+\mbox{}\texttt{003:} Published\ \ Name\ \ \ \ \ \ \ \ fighter-offensive-2\ \ \ \ \ \ ;\ Name\ of\ this\ program \\
+\mbox{}\texttt{004:} Published\ \ Author\ \ \ \ \ \ Rick\ van\ der\ Zwet\ \ \ \ \ \ \ \ ;\ Name\ of\ author \\
+\mbox{}\texttt{005:} Published\ \ EMail\ \ \ \ \ \ \ hvdzwet@liacs.nl\ \ \ \ \ \ \ \ \ ;\ Author's\ e-mail\ address \\
+\mbox{}\texttt{006:} Published\ \ Country\ \ \ \ \ The\ Netherlands\ \ \ \ \ \ \ \ \ \ ;\ Author's\ home\ country \\
+\mbox{}\texttt{007:} Published\ \ Comment\ \ \ \ \ Part\ AI\ Course\ @\ LIACS\ \ \ ;\ A\ comment\ on\ this\ prog \\
+\mbox{}\texttt{008:} Secret\ \ \ \ \ Password\ \ \ \ YOUR$\_$PASSWORD$\_$HERE\ \ \ \ \ \ \ ;\ Password\ for\ competitons \\
+\mbox{}\texttt{009:}  \\
+\mbox{}\texttt{010:} Published\ \ OpenSource\ \ yes\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ;\ This\ prog\ is\ open\ source \\
+\mbox{}\texttt{011:} Published\ \ Language\ \ \ \ RC300\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ;\ Written\ in\ RC300\ language \\
+\mbox{}\texttt{012:} Published\ \ OptionSet\ \ \ Classic\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ;\ Recommended\ OptionSet \\
+\mbox{}\texttt{013:}  \\
+\mbox{}\texttt{014:} ;\ Jump\ bank\ to\ safer\ grounds\  \\
+\mbox{}\texttt{015:} ;Bank\ Bank1 \\
+\mbox{}\texttt{016:} Bank\ SafeJump \\
+\mbox{}\texttt{017:} \ \ \ \ Bjump\ 11,1 \\
+\mbox{}\texttt{018:}  \\
+\mbox{}\texttt{019:} ;\ Bank\ 2-9,\ empty\ buffer\ banks \\
+\mbox{}\texttt{020:} Bank\ Bank2 \\
+\mbox{}\texttt{021:} Bank\ Bank3 \\
+\mbox{}\texttt{022:} Bank\ Bank4 \\
+\mbox{}\texttt{023:} Bank\ Bank5 \\
+\mbox{}\texttt{024:} Bank\ Bank6 \\
+\mbox{}\texttt{025:} Bank\ Bank7 \\
+\mbox{}\texttt{026:} Bank\ Bank8 \\
+\mbox{}\texttt{027:} Bank\ Bank9 \\
+\mbox{}\texttt{028:}  \\
+\mbox{}\texttt{029:} ;Bank\ Bank10 \\
+\mbox{}\texttt{030:} Bank\ BigJump \\
+\mbox{}\texttt{031:} \ \ \ \ BJump\ 11,1 \\
+\mbox{}\texttt{032:}  \\
+\mbox{}\texttt{033:} ;Bank\ Bank11 \\
+\mbox{}\texttt{034:} Bank\ BigMain \\
+\mbox{}\texttt{035:} \ \ \ \ @BigStart \\
+\mbox{}\texttt{036:} \ \ \ \ Turn\ 0 \\
+\mbox{}\texttt{037:} \ \ \ \ Trans\ 12,1 \\
+\mbox{}\texttt{038:} \ \ \ \ Scan\ \#1 \\
+\mbox{}\texttt{039:} \ \ \ \ Comp\ \#1,1 \\
+\mbox{}\texttt{040:} \ \ \ \ Jump\ @Friendly \\
+\mbox{}\texttt{041:} \ \ \ \  \\
+\mbox{}\texttt{042:} \ \ \ \ ;Enemy \\
+\mbox{}\texttt{043:} \ \ \ \ Set\ \#2,0 \\
+\mbox{}\texttt{044:} \ \ \ \ @Delete \\
+\mbox{}\texttt{045:} \ \ \ \ Add\ \#2,1 \\
+\mbox{}\texttt{046:} \ \ \ \ Trans\ 13,\#2 \\
+\mbox{}\texttt{047:} \ \ \ \ Comp\ \#2,\textit{\%Banks} \\
+\mbox{}\texttt{048:} \ \ \ \ Jump\ @Delete \\
+\mbox{}\texttt{049:} \ \ \ \ Set\ \textit{\%active,1} \\
+\mbox{}\texttt{050:}  \\
+\mbox{}\texttt{051:} \ \ \ \ @Friendly \\
+\mbox{}\texttt{052:} \ \ \ \ Comp\ \#1,2 \\
+\mbox{}\texttt{053:} \ \ \ \ Create\ 2,20,0 \\
+\mbox{}\texttt{054:} \ \ \ \ Comp\ \textit{\%active,25} \\
+\mbox{}\texttt{055:} \ \ \ \ Trans\ 11,11 \\
+\mbox{}\texttt{056:} \ \ \ \ Trans\ 10,1 \\
+\mbox{}\texttt{057:} \ \ \ \ Trans\ 13,2 \\
+\mbox{}\texttt{058:} \ \ \ \ Trans\ 13,3 \\
+\mbox{}\texttt{059:} \ \ \ \ Trans\ 13,4 \\
+\mbox{}\texttt{060:} \ \ \ \ Set\ \textit{\%active,25} \\
+\mbox{}\texttt{061:} \ \ \ \ Trans\ 10,10 \\
+\mbox{}\texttt{062:} \ \ \ \ Trans\ 12,12 \\
+\mbox{}\texttt{063:} \ \ \ \ Jump\ @BigStart \\
+\mbox{}\texttt{064:}  \\
+\mbox{}\texttt{065:} ;Bank\ Bank12 \\
+\mbox{}\texttt{066:} Bank\ FirstVirus \\
+\mbox{}\texttt{067:} \ \ \ \ Turn\ 0 \\
+\mbox{}\texttt{068:} \ \ \ \ Trans\ 1,1 \\
+\mbox{}\texttt{069:} ;Trans\ 1,5\ Wins\ against\ cyborg \\
+\mbox{}\texttt{070:} \ \ \ \ Trans\ 1,3 \\
+\mbox{}\texttt{071:}  \\
+\mbox{}\texttt{072:} ;Bank\ 13-50,\ empty\ buffer\ banks \\
+\mbox{}\texttt{073:} Bank\ Bank13 \\
+\mbox{}\texttt{074:} Bank\ Bank14 \\
+\mbox{}\texttt{075:} Bank\ Bank15 \\
+\mbox{}\texttt{076:} Bank\ Bank16 \\
+\mbox{}\texttt{077:} Bank\ Bank17 \\
+\mbox{}\texttt{078:} Bank\ Bank18 \\
+\mbox{}\texttt{079:} Bank\ Bank19 \\
+\mbox{}\texttt{080:} Bank\ Bank20 \\
+\mbox{}\texttt{081:} Bank\ Bank21 \\
+\mbox{}\texttt{082:} Bank\ Bank22 \\
+\mbox{}\texttt{083:} Bank\ Bank23 \\
+\mbox{}\texttt{084:} Bank\ Bank24 \\
+\mbox{}\texttt{085:} Bank\ Bank25 \\
+\mbox{}\texttt{086:} Bank\ Bank26 \\
+\mbox{}\texttt{087:} Bank\ Bank27 \\
+\mbox{}\texttt{088:} Bank\ Bank28 \\
+\mbox{}\texttt{089:} Bank\ Bank29 \\
+\mbox{}\texttt{090:} Bank\ Bank30 \\
+\mbox{}\texttt{091:} Bank\ Bank31 \\
+\mbox{}\texttt{092:} Bank\ Bank32 \\
+\mbox{}\texttt{093:} Bank\ Bank33 \\
+\mbox{}\texttt{094:} Bank\ Bank34 \\
+\mbox{}\texttt{095:} Bank\ Bank35 \\
+\mbox{}\texttt{096:} Bank\ Bank36 \\
+\mbox{}\texttt{097:} Bank\ Bank37 \\
+\mbox{}\texttt{098:} Bank\ Bank38 \\
+\mbox{}\texttt{099:} Bank\ Bank39 \\
+\mbox{}\texttt{100:} Bank\ Bank40 \\
+\mbox{}\texttt{101:} Bank\ Bank41 \\
+\mbox{}\texttt{102:} Bank\ Bank42 \\
+\mbox{}\texttt{103:} Bank\ Bank43 \\
+\mbox{}\texttt{104:} Bank\ Bank44 \\
+\mbox{}\texttt{105:} Bank\ Bank45 \\
+\mbox{}\texttt{106:} Bank\ Bank46 \\
+\mbox{}\texttt{107:} Bank\ Bank47 \\
+\mbox{}\texttt{108:} Bank\ Bank48 \\
+\mbox{}\texttt{109:} Bank\ Bank49 \\
+\mbox{}\texttt{110:} Bank\ Bank50 \\
+\mbox{}\texttt{111:}  \\
+
Index: /liacs/ai/robocom/figure-flag-v2.rob
===================================================================
--- /liacs/ai/robocom/figure-flag-v2.rob	(revision 2)
+++ /liacs/ai/robocom/figure-flag-v2.rob	(revision 2)
@@ -0,0 +1,79 @@
+; RoboCom program
+
+; Instead of having to change all the values below with every new program,
+; it's suggested that you adjust the template header to your needs once
+; in the Prefs->Editor dialog. You can also remove these comments.
+; See documentation for the meaning of these and more header fields.
+
+Published  Name        figure-flag-v2           ; Name of this program
+Published  Author      Rick van der Zwet        ; Name of author
+Published  EMail       hvdzwet@liacs.nl         ; Author's e-mail address
+Published  Country     The Netherlands          ; Author's home country
+Published  Comment     Part AI Course @ LIACS   ; A comment on this prog
+Secret     Password    YOUR_PASSWORD_HERE       ; Password for competitons
+
+Published  OpenSource  yes                      ; This prog is open source
+Published  Language    RC300                    ; Written in RC300 language
+Published  OptionSet   Classic                  ; Recommended OptionSet
+
+Bank Flag
+   @Start
+   ;Indentify field
+   Scan #1
+   Comp #1,0
+   Jump @FieldBusy
+   
+   ;New robot
+   Create 2,1,0
+   Scan #1
+   Comp #1,2
+   Jump @EnemyBot
+   Trans 1,1
+   Set %active,#active
+   Jump @ScanForDieMode
+   
+   ;Indentify enemy or friendly
+   @FieldBusy
+   Comp #1,2
+   Jump @EnemyBot
+   
+   ;We completed the tail, let's check whether
+   ;we are next to some other friend
+        
+   @FriendlyBot
+   Turn 0
+   Scan #1
+   Turn 0
+   Turn 0
+   Scan #2
+   Turn 0
+   
+   Comp #1,0
+   Jump @ScanForDieMode
+   Comp #2,0
+   Jump @ScanForDieMode
+   Comp #active,1
+   Jump @EnemyBot
+   Set #active,2
+   Turn 0
+   Jump @Start
+      
+   ;Start looking whether we need to kill ourself
+   @ScanForDieMode
+   Comp %active,3
+   Jump @ScanForDieMode
+   Set #active,3
+   ;Delay to allow 'message' to pass trough
+   Turn 0
+   Turn 0
+   Turn 0
+   Die
+   
+   ;If enemy bot, start looking which direction we are in
+   @EnemyBot
+   Set #active,3 ; enable destruction of tail
+   ;Delay to allow 'message' to pass trough
+   Turn 0
+   Turn 0
+   Turn 0
+   Set #active,1
Index: /liacs/ai/robocom/figure-flag-v2.rob.tex
===================================================================
--- /liacs/ai/robocom/figure-flag-v2.rob.tex	(revision 2)
+++ /liacs/ai/robocom/figure-flag-v2.rob.tex	(revision 2)
@@ -0,0 +1,81 @@
+% Generator: GNU source-highlight, by Lorenzo Bettini, http://www.gnu.org/software/src-highlite
+\noindent
+\mbox{}\texttt{01:} ;\ RoboCom\ program \\
+\mbox{}\texttt{02:}  \\
+\mbox{}\texttt{03:} ;\ Instead\ of\ having\ to\ change\ all\ the\ values\ below\ with\ every\ new\ program, \\
+\mbox{}\texttt{04:} ;\ it's\ suggested\ that\ you\ adjust\ the\ template\ header\ to\ your\ needs\ once \\
+\mbox{}\texttt{05:} ;\ in\ the\ Prefs-$>$Editor\ dialog.\ You\ can\ also\ remove\ these\ comments. \\
+\mbox{}\texttt{06:} ;\ See\ documentation\ for\ the\ meaning\ of\ these\ and\ more\ header\ fields. \\
+\mbox{}\texttt{07:}  \\
+\mbox{}\texttt{08:} Published\ \ Name\ \ \ \ \ \ \ \ figure-flag-v2\ \ \ \ \ \ \ \ \ \ \ ;\ Name\ of\ this\ program \\
+\mbox{}\texttt{09:} Published\ \ Author\ \ \ \ \ \ Rick\ van\ der\ Zwet\ \ \ \ \ \ \ \ ;\ Name\ of\ author \\
+\mbox{}\texttt{10:} Published\ \ EMail\ \ \ \ \ \ \ hvdzwet@liacs.nl\ \ \ \ \ \ \ \ \ ;\ Author's\ e-mail\ address \\
+\mbox{}\texttt{11:} Published\ \ Country\ \ \ \ \ The\ Netherlands\ \ \ \ \ \ \ \ \ \ ;\ Author's\ home\ country \\
+\mbox{}\texttt{12:} Published\ \ Comment\ \ \ \ \ Part\ AI\ Course\ @\ LIACS\ \ \ ;\ A\ comment\ on\ this\ prog \\
+\mbox{}\texttt{13:} Secret\ \ \ \ \ Password\ \ \ \ YOUR$\_$PASSWORD$\_$HERE\ \ \ \ \ \ \ ;\ Password\ for\ competitons \\
+\mbox{}\texttt{14:}  \\
+\mbox{}\texttt{15:} Published\ \ OpenSource\ \ yes\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ;\ This\ prog\ is\ open\ source \\
+\mbox{}\texttt{16:} Published\ \ Language\ \ \ \ RC300\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ;\ Written\ in\ RC300\ language \\
+\mbox{}\texttt{17:} Published\ \ OptionSet\ \ \ Classic\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ;\ Recommended\ OptionSet \\
+\mbox{}\texttt{18:}  \\
+\mbox{}\texttt{19:} Bank\ Flag \\
+\mbox{}\texttt{20:} \ \ \ @Start \\
+\mbox{}\texttt{21:} \ \ \ ;Indentify\ field \\
+\mbox{}\texttt{22:} \ \ \ Scan\ \#1 \\
+\mbox{}\texttt{23:} \ \ \ Comp\ \#1,0 \\
+\mbox{}\texttt{24:} \ \ \ Jump\ @FieldBusy \\
+\mbox{}\texttt{25:} \ \ \  \\
+\mbox{}\texttt{26:} \ \ \ ;New\ robot \\
+\mbox{}\texttt{27:} \ \ \ Create\ 2,1,0 \\
+\mbox{}\texttt{28:} \ \ \ Scan\ \#1 \\
+\mbox{}\texttt{29:} \ \ \ Comp\ \#1,2 \\
+\mbox{}\texttt{30:} \ \ \ Jump\ @EnemyBot \\
+\mbox{}\texttt{31:} \ \ \ Trans\ 1,1 \\
+\mbox{}\texttt{32:} \ \ \ Set\ \textit{\%active,\#active} \\
+\mbox{}\texttt{33:} \ \ \ Jump\ @ScanForDieMode \\
+\mbox{}\texttt{34:} \ \ \  \\
+\mbox{}\texttt{35:} \ \ \ ;Indentify\ enemy\ or\ friendly \\
+\mbox{}\texttt{36:} \ \ \ @FieldBusy \\
+\mbox{}\texttt{37:} \ \ \ Comp\ \#1,2 \\
+\mbox{}\texttt{38:} \ \ \ Jump\ @EnemyBot \\
+\mbox{}\texttt{39:} \ \ \  \\
+\mbox{}\texttt{40:} \ \ \ ;We\ completed\ the\ tail,\ let's\ check\ whether \\
+\mbox{}\texttt{41:} \ \ \ ;we\ are\ next\ to\ some\ other\ friend \\
+\mbox{}\texttt{42:} \ \ \ \ \ \ \ \  \\
+\mbox{}\texttt{43:} \ \ \ @FriendlyBot \\
+\mbox{}\texttt{44:} \ \ \ Turn\ 0 \\
+\mbox{}\texttt{45:} \ \ \ Scan\ \#1 \\
+\mbox{}\texttt{46:} \ \ \ Turn\ 0 \\
+\mbox{}\texttt{47:} \ \ \ Turn\ 0 \\
+\mbox{}\texttt{48:} \ \ \ Scan\ \#2 \\
+\mbox{}\texttt{49:} \ \ \ Turn\ 0 \\
+\mbox{}\texttt{50:} \ \ \  \\
+\mbox{}\texttt{51:} \ \ \ Comp\ \#1,0 \\
+\mbox{}\texttt{52:} \ \ \ Jump\ @ScanForDieMode \\
+\mbox{}\texttt{53:} \ \ \ Comp\ \#2,0 \\
+\mbox{}\texttt{54:} \ \ \ Jump\ @ScanForDieMode \\
+\mbox{}\texttt{55:} \ \ \ Comp\ \#active,1 \\
+\mbox{}\texttt{56:} \ \ \ Jump\ @EnemyBot \\
+\mbox{}\texttt{57:} \ \ \ Set\ \#active,2 \\
+\mbox{}\texttt{58:} \ \ \ Turn\ 0 \\
+\mbox{}\texttt{59:} \ \ \ Jump\ @Start \\
+\mbox{}\texttt{60:} \ \ \ \ \ \  \\
+\mbox{}\texttt{61:} \ \ \ ;Start\ looking\ whether\ we\ need\ to\ kill\ ourself \\
+\mbox{}\texttt{62:} \ \ \ @ScanForDieMode \\
+\mbox{}\texttt{63:} \ \ \ Comp\ \textit{\%active,3} \\
+\mbox{}\texttt{64:} \ \ \ Jump\ @ScanForDieMode \\
+\mbox{}\texttt{65:} \ \ \ Set\ \#active,3 \\
+\mbox{}\texttt{66:} \ \ \ ;Delay\ to\ allow\ 'message'\ to\ pass\ trough \\
+\mbox{}\texttt{67:} \ \ \ Turn\ 0 \\
+\mbox{}\texttt{68:} \ \ \ Turn\ 0 \\
+\mbox{}\texttt{69:} \ \ \ Turn\ 0 \\
+\mbox{}\texttt{70:} \ \ \ Die \\
+\mbox{}\texttt{71:} \ \ \  \\
+\mbox{}\texttt{72:} \ \ \ ;If\ enemy\ bot,\ start\ looking\ which\ direction\ we\ are\ in \\
+\mbox{}\texttt{73:} \ \ \ @EnemyBot \\
+\mbox{}\texttt{74:} \ \ \ Set\ \#active,3\ ;\ enable\ destruction\ of\ tail \\
+\mbox{}\texttt{75:} \ \ \ ;Delay\ to\ allow\ 'message'\ to\ pass\ trough \\
+\mbox{}\texttt{76:} \ \ \ Turn\ 0 \\
+\mbox{}\texttt{77:} \ \ \ Turn\ 0 \\
+\mbox{}\texttt{78:} \ \ \ Turn\ 0 \\
+\mbox{}\texttt{79:} \ \ \ Set\ \#active,1
Index: /liacs/ai/robocom/report.tex
===================================================================
--- /liacs/ai/robocom/report.tex	(revision 2)
+++ /liacs/ai/robocom/report.tex	(revision 2)
@@ -0,0 +1,387 @@
+%
+% $Id: report.tex 523 2008-03-18 11:09:00Z rick $
+%
+
+\documentclass[12pt,a4paper]{article}
+
+\frenchspacing
+\usepackage[english,dutch]{babel}
+\selectlanguage{dutch}
+\usepackage{graphicx}
+\usepackage{url}
+\usepackage{multicol}
+\usepackage{fancybox}
+
+\author{Rick van der Zwet, Universiteit Leiden}
+\title{Kunstmatige Intelligentie  2008 --- opdracht 2 \\
+\large{RoboCom}}
+\author{Rick van der Zwet\\
+  \texttt{<hvdzwet@liacs.nl>}\\
+  \\
+  LIACS\\
+  Leiden University\\
+  Niels Bohrweg 1\\
+  2333 CA Leiden\\
+  The Netherlands}
+\date{\today}
+
+\begin{document}
+
+\maketitle
+
+\section{Inleiding}
+
+Dit verslag gaat over de tweede programmeer-opgave van het vak
+kunstmatige intelligentie\cite{opdracht}. Welke als opdracht heeft om
+softbots te bouwen, die tijdens een simulatie met elkaar samenwerken om
+een vlag te construeren of tegen andere softbots ten strijden trekken,
+met als doel als enigste over te blijven. Dit allen als doel om de
+\emph{PEAS} beschrijving uit het college boek~\cite{collegeboek} beter te
+kunnen begrijpen.
+\section{Uitleg probleem}
+
+\emph{RoboCom} is computerprogramma welke een simulatie omgeving bied
+waarmee met assembly achtige programma code een programma wordt gemaakt
+welke een software robot kan aansturen een zogenaamde \emph{softbot}.
+Deze softbots kunnen simpele commando's zoals vermenigvuldigen, omgeving
+afzoeken, code kopiÃ«ren en andere acties
+\footnote{http://www.cyty.com/robocom/help/instr1.html}.  Al deze acties
+kosten \emph{tikken}, waarbij er verschillende gradaties gemaakt worden
+aan de voorwaarden te scheppen aan de aan de omgeving waar de softbots in
+gaan `leven'. Buiten de verschillende gradaties in tikken kan er ook nog
+onderscheidt gemaakt worden via  limitatie in de instructieset. Tijdens
+deze opdracht is deze gelimiteerd tot \emph{Classic}
+\footnote{http://www.cyty.com/robocom/help/instrall.html} welke de set
+is waarmee het spel origineel mee ontworpen is.
+
+Het speelbord is vierkant in representatie, maar is werkelijkheid een
+bol. De onderste rij grenst aan de bovenste rij en hetzelfde geldt voor
+de meest linker en meest rechtse column. Het bord heeft in totaal 256
+vakjes welke allen een softbot kunnen bevallen of leeg zijn. Een softbot op
+zijn beurt bestaat uit maximaal 50 \emph{banken} welke op hun beurt weer
+1000 regels code kunnen bevatten.
+
+Een softbot kan actief zijn of niet. In de actieve stand is hij bezig met
+het uitvoeren van code. Waarbij begonnen wordt bij regel 1 in bank 1 en
+zo verder. Als hij bij het einde van een bank komt dan springt hij terug
+naar het begin (bank 1,regel 1). Als hij geen code kan vinden in bank 1
+dan gaat hij dood, wat ook wel \emph{data-hunger} genoemd wordt. Tijdens
+de niet actieve stand zal hij de lopende instructie stoppen en wachten
+tot hij weer geactiveerd wordt. Dit kan hij zelf niet doen.
+
+
+\begin{figure}[!ht]
+\begin{center}
+\includegraphics[scale=0.25]{speelbord}
+\end{center}
+\caption{
+Impressie van de grafische representatie van het speelbord, elk team
+krijgt een eigen kleur.  Een kruis door de softbot als deze niet actief is
+(niet weergegeven). Een driehoekje geeft de richting aan in welke hij
+'kijkt'. De kleur van het driehoekje geeft aan van wie de instructie
+bank welke hij op het moment aan het uitvoeren is.
+}
+\end{figure}
+
+Hieronder volgt een paar regels voorbeeld programma assembly code:
+\begin{verbatim}
+Bank Main         ; Daddy Tutorminator's program
+  @Loop
+  Turn 0            ; turn around, that's cool
+  Create 1, 2, 1    ; build a mobile child with 2 banks
+  Trans 2, 1        ; transfer RunAround into the first bank
+                    ; the second bank is left empty
+  Set %active, 1    ; activate our baby
+  Jump @Loop        ; ...and start over
+\end{verbatim}
+
+
+\section{Theorie}
+
+Over de softbots kan een PEAS beschrijving gegeven worden.
+\textbf{P}restatie maat is het winnen van een simulatie. Als extra
+punt zo daar eventueel aan toegevoegd kunnen worden dat dit in een zo
+kort mogelijke tijd gedaan moet worden. \textbf{E}nvironment is het
+speelbord en de andere softbots in het spel. \textbf{A}ctuatoren van de
+softbot zijn de verschillende vragen die de softbot aan de omgeving
+kan stellen. Dit zijn alle verschillende types van scannen.
+\textbf{S}ensoren zijn de acties die de softbot op de omgeving kan doen.
+Hieronder vallen acties als kopiÃ«ren, creÃ«ren, activeren.
+
+De reeds beschikbare documentatie~\cite{website-help} beschrijft
+uitvoering enkele theorieÃ«n die gebruikt kunnen worden de softbots te
+schrijven. In het kort komt het neer op de verschillende punten waar
+rekening gehouden mee moet worden. Probeer het programma zo simpel
+mogelijk te houden, een heleboel regels en/of banken kosten veel tijd om
+te dupliceren en/of uit te voeren waardoor je softbot kwetsbaarder is
+tegen simpele programma's. Gebruik simpele programma's in het begin,
+deze worden ook wel virussen genoemd, om de vijand zo veel mogelijk te
+'pesten' in de ontwikkeling van zijn softbots. Maak gebruik van meerdere
+type softbots en beperk je niet tot een tactiek. Ga bijvoorbeeld eerst met
+een simpel virus aan de slag en gebruik daarna ingewikkelde en sterkere
+softbots om het karwei af te maken.
+
+Als laatste in dit korte rijtje, zorg dat de softbots geen hinder
+ondervinden van hun eigen tactieken en let op dat de vijand dezelfde
+tactiek zal gebruiken, dus wapen je ertegen.
+
+
+\section{Aanpak}
+Bij het maken van de vlag is gebruik gemaakt van het coÃ¶peratie element
+in het spel. Tijdens het maken van de twee vecht softbots is zowel het
+competitie element gebruikt als het coÃ¶peratie element.
+
+\subsection{Vlag softbot}
+Bij een vlag cruciaal is dat de softbots netjes naast elkaar komen te
+lopen is dat de voornaamste uitdaging. Het uit programmeren hierna is
+triviaal. Om te zorgen dat de verschillende softbots elkaar kunnen
+ontmoeten wordt er gebruik maakt van het feit dat als je twee haak
+op elkaar staande lijnen trekt deze altijd ergens in een enkele lijn
+snijdt. Het algoritme in pseudo-code
+\begin{verbatim}
+while begin
+    scan vakje voor de softbot
+    switch begin
+        case leeg vakje
+            maak kloon aan
+            blijf naar kloon kijken tot deze signaal doodgaan gegeven
+            heeft ga dood
+        case bot andere kleur
+            geef signaal doodgaan aan 'staart'
+            ga rechtsom
+            continue
+        case bot eigen kleur
+            als links of recht van je een 'vijand' bot staat dan
+                klaar doe niets meer
+            anders
+            ga rechtsom
+            continue
+    end
+end
+\end{verbatim}
+
+\subsection{Defensieve softbot}
+Bij het schrijven van de eerste vechtende softbot is gekozen voor een
+defensieve tactiek, met een soort van drie meertrapsraket methode. Als eerste
+komt er een zeer simpel schild om moederbot heen welke een verlammend
+verspreidend virus infecteert aan alle softbots die in de buurt komen. Na
+een zekere tijd wordt er een nog simpeler virus geÃ¯njecteerd dat alle
+softbots vermoord. Hierna worden ingewikkelder softbots gemaakt genaamd
+slopers welke het bord opruimen. Voordeel hierbij is dat simpele
+virussen geen vat op deze softbots hebben, want de moederbot is geschreven
+om hier immuun voor te zijn. Nadeel is echter dat er geen tot weinig
+ontwikkeling plaatsvind in de softbots, waardoor in de laatste fase van
+het spel misschien te weinig softbots dood gaan om te zorgen dat rustig de
+slopers gemaakt kunnen worden.
+
+
+\subsection{Offensieve softbot}
+De aanvallende softbot heeft een heel andere tactiek. Deze maakt gelijk
+ingewikkende softbots. Deze ingewikkende softbots infecteren de vijand met
+een simpel virus en laten dit even verspreiden. Nadien vernietigd hij
+deze softbot en maakt hij een kloon van zichzelf aan. Deze tactiek zorgt
+ervoor dat de softbots niet vatbaar zijn voor de simpele virussen, maar
+heeft als nadeel dat de softbots veel meer tijd kosten om te bouwen en dan
+kwetsbaarder kunnen zijn.
+
+
+
+
+\section{Implementatie}
+
+Er is gekozen om geen gebruik te maken voorbeeld implementaties van
+andere softbots in de eigen code. De voorbeelden in de handleidingen
+zijn wel overgenomen. De softbot code is in de RoboCom taal geschreven.
+
+\section{Experimenten}
+Alle testen zijn uitgevoerd met het programma RoboCom Workshop
+v3.10\cite{website-programma} gedraaid op een Microsoft Windows XP
+computer. Gebruikt instructie set is Classic.
+
+\subsection{Vlag}
+Tijdens het testen van het succesvol vormen van de vlag is gebruik
+gemaakt van 2 type simulaties. Als eerste is 20 keer de softbots op
+willekeurige plekken neergezet en gekeken of er een vlag uitkomt. Als
+tweede zijn de softbots 20 keer op elke keer dezelfde plek gezet en
+gekeken of deze dezelfde vlag vormen.De resultaten zijn te vinden in
+tabel~\ref{tab:vlag}
+
+\begin{center}
+\begin{table}[h]
+\caption{Resultaten plaatsingen van vlag, bij goed staat de vlag of
+horizontaal, bij matig verticaal, bij fout is erna 80000 tikken nog geen
+uitslag. De vaste plaatsing is op posities (X,Y,richting) $8,10,2$,
+$14,14,0$, $3,9,1$ }
+\begin{tabular}{l|r|r|r}
+Type                   & Goed & Matig & Fout \\
+\hline
+Willekeurige plaatsing &  9   &  9    & 2  \\
+Vaste plaatsing        &  4   &  12   & 4  \\
+\end{tabular}
+\label{tab:vlag}
+\end{table}
+\end{center}
+
+\subsection{Vechters}
+Door het programma RoboCom wordt een set softbots meegeleverd die gelabeld
+zijn als `classic legends'. De twee softbots hebben in een tegen een
+gevechten tegen al deze classic legends gespeeld. Elke een tegen een
+gevecht is 20 keer uitgevoerd.  De resultaten staan hieronder in de
+tabel~\ref{tab:defensive} voor de defensieve softbot.
+Tabel~\ref{tab:offensive} levert de resultaten voor de offensieve
+softbot.
+
+\begin{center}
+\begin{table}[h]
+\caption{Resulaten defensieve softbot na 80000 tikken, bij score telt een
+gelijkspel voor 1 punt en winst voor 3 punten en verlies niets.  }
+\begin{tabular}{l|r|r|r|r}
+Tegenstander & Winst & Verlies & Gelijkspel & Score\\
+\hline
+(Cy)Borg 004c83a8n           &  3 & 0 & 7  & 16\\
+Advanced Speedix 2004        &  2 & 1 & 7  & 13\\
+Africa                       &  2 & 0 & 8  & 14\\
+Alien v5.13d                 &  1 & 0 & 9  & 12\\
+Bright Star Three            &  0 & 5 & 5  & 5\\
+Comes the Wuss 2             & 10 & 0 & 0  & 30\\
+CopyBot                      &  1 & 1 & 8  & 11\\
+Delusion 5                   & 10 & 0 & 0  & 30\\
+DJ Combat - Deep Strike      & 10 & 0 & 0  & 30\\
+DJ CoNTiNUuM                 &  0 & 2 & 8  & 8\\
+Fungus 0.2a                  &  0 & 0 & 10 & 10\\
+HotBot V2                    & 10 & 0 & 0  & 30\\
+Hurricane6                   & 10 & 0 & 0  & 30\\
+Immer mit der Ruhe! XXXVI    &  9 & 0 & 1  & 28\\
+JÃ¶rg's Bisexa                &  0 & 0 & 10 & 10\\
+Kreuziger V2.03q anti Killer & 10 & 0 & 0  & 30\\
+Malignant Tumor              &  0 & 1 & 9  & 9\\
+Outer Limits                 & 10 & 0 & 0  & 30\\
+Speed Slug                   &  7 & 0 & 3  & 24\\
+SpiceGirls                   & 10 & 0 & 0  & 30\\
+Spy vs. Spy                  &  0 & 7 & 3  & 3\\
+\hline
+fighter-defensive-1          &17 &105 & 88 & 139
+\end{tabular}
+\label{tab:defensive}
+\end{table}
+\end{center}
+
+\begin{center}
+\begin{table}[h]
+\caption{Resulaten offensieve softbot na 80000 tikken, bij score telt een
+gelijkspel voor 1 punt en winst voor 3 punten en verlies niets.  }
+\begin{tabular}{l|r|r|r|r}
+Tegenstander & Winst & Verlies & Gelijkspel & Score\\
+\hline
+(Cy)Borg 004c83a8n           & 10 & 0 & 0  & 30\\
+Advanced Speedix 2004        & 10 & 0 & 0  & 30\\
+Africa                       &  4 & 0 & 6  & 18\\
+Alien v5.13d                 &  8 & 1 & 1  & 25\\
+Bright Star Three            &  4 & 3 & 3  & 15\\
+Comes the Wuss 2             &  4 & 5 & 1  & 13\\
+CopyBot                      &  9 & 1 & 0  & 27\\
+Delusion 5                   &  7 & 1 & 2  & 23\\
+DJ Combat - Deep Strike      & 10 & 0 & 0  & 30\\
+DJ CoNTiNUuM                 &  3 & 4 & 3  & 12\\
+Fungus 0.2a                  &  0 & 1 & 9  &  9\\
+HotBot V2                    &  0 & 0 & 10 & 10\\
+Hurricane6                   & 10 & 0 & 0  & 30\\
+Immer mit der Ruhe! XXXVI    & 10 & 0 & 0  & 30\\
+Jorg's Bisexa x              &  0 &10 & 0  & 0 \\
+Kreuziger V2.03q anti Killer & 10 & 0 & 0  & 30\\
+Malignant Tumor              &  3 & 7 & 0  & 9\\
+Outer Limits                 & 10 & 0 & 0  & 30\\
+Speed Slug                   &  9 & 0 & 1  & 28\\
+SpiceGirls                   & 10 & 0 & 0  & 30\\
+Spy vs. Spy                  &  1 & 0 & 9  & 12\\
+\hline
+fighter-offensive-2          &33 &132 & 45 & 144
+\end{tabular}
+\label{tab:offensive}
+\end{table}
+\end{center}
+
+\section{Conclusie}
+\subsection{Vlag}
+Bij het willikeurig neerzetten van de softbots gaan er slechts 2
+gevallen fout, nader onderzoek blijkt uit dat er een fout in de code is
+geslopen waardoor situaties waarbij een volledig `kruis' gemaakt word door
+een enkele softbot niet afgevangen word. Waardoor deze in een deadloop
+beland.
+Een vaste uitgangspositie levert echter heel vreemde resultaten op. De
+verwachting was dat er altijd dezelfde situatie uit zal komen, dit is
+echter totaal niet het geval, 4 gevallen worden zelfs niet opgelost. De
+oorzaak hiervan ligt niet in de softbots, maar in de implementatie van het
+programma. Het aantal softbots lijkt niet te kloppen en nader analyse
+blijkt dat er 'spook softbots' op  het bord staan. Verder zijn de
+grensgevallen niet bekend. Zoals wat er bijvoorbeeld gebeurt op het
+moment dat 2 softbots op precies hetzelfde moment een instructie op de
+softbot plaatsen. Er lijkt willekeurig een keuze gedaan te worden,
+waardoor het spelverloop ernstig verstoord kan worden.
+
+Voor verder onderzoek is het aan te raden contact op te nemen met de
+ontwikkelaars om de fouten uit de simulatie te halen en dan de kijken
+hoe het geval van het `kruis' opgelost kan worden.
+
+
+\subsection{Vechters}
+Beide vechtende softbots hebben ongeveer dezelfde score, maar halen wel op
+verschillende gebieden hun punten binnen. De defensieve weet er in 41\%
+van de gevallen gelijkspel uit te slepen en is in 9\% zelfs winnend,
+waarbij dus voor 50\% van de gevallen de softbot goed presteert. Hij
+presteer slecht tegen softbots die gebruik maken van verschillende
+tactieken en meer effectieve opruim methodes hebben.
+
+De offensieve is effectief in het opruimen tegen verschillende type
+softbots waarbij de defensieve nog met een gelijkspel genoegen moet nemen,
+maar houdt het een stuk minder uit tegen de `grote jongens'.
+
+Voor verder onderzoek zou gekeken moeten worden of een combinatie van de
+vechters een goede opstelling is. Een analyse van alle verschillende
+tactieken van de tegenstanders zou ook aan te raden zijn. Door een softbot
+zo veel mogelijk te storen in zijn ontwikkeling is de beste methode
+omdat niet veel softbot bouwers rekening hebben gehouden met bijvoorbeeld
+een situatie waar alle softbots niet meer in controle zijn van de bouwer.
+
+\begin{thebibliography}{XX}
+
+\bibitem{opdracht}
+W.A.~Kosters, Kunstmatige intelligentie Programmeer-opgave 2 van 2008
+-- Bridge, \url{http://www.liacs.nl/~kosters/AI/robot.html}
+
+\bibitem{collegeboek}
+S.J. Russell en P. Norvig, Artificial Intelligence, A Modern Approach,
+Second ediion, Prentice Hall, 2003.
+
+\bibitem{website}
+Robocom, official website, latest version
+\url{http://cyty.com/robocom/}
+
+\bibitem{website-help}
+Robocom help, official website, latest version
+\url{http://www.cyty.com/robocom/?area=help}
+
+\bibitem{website-programma}
+Robocom Workshop, official website, latest version
+\url{http://www.cyty.com/robocom/?area=d\_rcws}
+
+\end{thebibliography}
+
+\section*{Appendix}
+De obot programma's zagen er als volgt uit:
+\tiny
+\advance\textwidth by 8cm
+\advance\oddsidemargin by -3cm
+\advance\evensidemargin by -3cm
+\advance\topmargin by -2cm
+\advance\textheight by 2cm
+\advance\footskip by -2cm
+\marginparwidth 0cm
+\twocolumn
+%c++ input preformatted with `source-highlight -n -f latex bridge.cc`
+\include{figure-flag-v2.rob}
+\include{fighter-defensive-1.rob}
+\include{fighter-offensive-2.rob}
+\onecolumn
+
+\end{document}
Index: /liacs/ai/sudoku/Makefile
===================================================================
--- /liacs/ai/sudoku/Makefile	(revision 2)
+++ /liacs/ai/sudoku/Makefile	(revision 2)
@@ -0,0 +1,31 @@
+#program: shell example
+#file Makefile
+#Rick van der Zwet 0433373
+#Operation Systems Ex 2, Part B
+
+
+ifdef DEBUG
+CXXFLAGS = -Wall -g -DDEBUG=$(DEBUG)
+endif
+
+EXECFILE = sudoku
+OBJECTS = $(EXECFILE).o
+
+all: $(OBJECTS)
+	$(CXX) $(CXXFLAGS) $(OBJECTS) -o $(EXECFILE)
+
+build:
+	$(MAKE) all
+	test -x $(EXECFILE) && ./$(EXECFILE) -f puzzel
+
+clean:
+	rm -f $(OBJECTS) *.core $(EXECFILE)
+
+debug: $(OBJECTS)
+	$(CXX) $(CXXFLAGS) -DDEBUG $(OBJECTS) -o $(EXECFILE)
+
+help: README
+	cat README
+
+.cpp.o:
+	$(CXX) $(CXXFLAGS) -c $<
Index: /liacs/ai/sudoku/README
===================================================================
--- /liacs/ai/sudoku/README	(revision 2)
+++ /liacs/ai/sudoku/README	(revision 2)
@@ -0,0 +1,11 @@
+Rick van der Zwet
+latex/
+ latex source
+puzzles
+  sample puzzles
+
+
+BUILD
+Just a normal `make`
+DEBUG
+Build with `make DEBUG=<debuglevel>`
Index: /liacs/ai/sudoku/latex/sudoku.aux
===================================================================
--- /liacs/ai/sudoku/latex/sudoku.aux	(revision 2)
+++ /liacs/ai/sudoku/latex/sudoku.aux	(revision 2)
@@ -0,0 +1,39 @@
+\relax 
+\citation{wikipedia}
+\select@language{english}
+\@writefile{toc}{\select@language{english}}
+\@writefile{lof}{\select@language{english}}
+\@writefile{lot}{\select@language{english}}
+\select@language{english}
+\@writefile{toc}{\select@language{english}}
+\@writefile{lof}{\select@language{english}}
+\@writefile{lot}{\select@language{english}}
+\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}History}{1}}
+\citation{wikipedia}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Gameplay}{2}}
+\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Sample sudoku}}{2}}
+\@writefile{toc}{\contentsline {section}{\numberline {2}Problem}{2}}
+\citation{wikipedia}
+\citation{wikipedia}
+\@writefile{toc}{\contentsline {section}{\numberline {3}Solution finding theories}{3}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Marking up}{3}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Candidates for each empty cell have been entered. Some cells have only one candidate once obvious invalids have been excluded. Also, some mark with dots instead of numbers, simply using the position of the dot within the cell to distinguish them.\cite  {wikipedia}}}{3}}
+\newlabel{marking_up}{{2}{3}}
+\citation{wikipedia}
+\citation{wikipedia}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Scanning}{4}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces The 3Ã3 region in the top-left corner. The solver can eliminate all of the empty cells in the top-right corner which cannot contain a 5. This leaves only one possible cell (highlighted in green).\cite  {wikipedia}}}{4}}
+\newlabel{scanning}{{3}{4}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Analysis}{5}}
+\newlabel{cplusplus}{{3.3}{5}}
+\@writefile{toc}{\contentsline {section}{\numberline {4}Implementation}{5}}
+\citation{gordon}
+\@writefile{toc}{\contentsline {section}{\numberline {5}Creating soduku's}{6}}
+\@writefile{toc}{\contentsline {section}{\numberline {6}Experiments}{6}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Solver}{6}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Generator}{6}}
+\bibcite{wikipedia}{1}
+\bibcite{gordon}{2}
+\@writefile{toc}{\contentsline {section}{\numberline {7}Conclusion}{7}}
+\citation{gordon}
Index: /liacs/ai/sudoku/latex/sudoku.log
===================================================================
--- /liacs/ai/sudoku/latex/sudoku.log	(revision 2)
+++ /liacs/ai/sudoku/latex/sudoku.log	(revision 2)
@@ -0,0 +1,958 @@
+This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) (format=pdflatex 2006.3.1)  13 MAR 2006 13:29
+entering extended mode
+**sudoku.tex
+(./sudoku.tex
+LaTeX2e <2003/12/01>
+Babel <v3.8d> and hyphenation patterns for american, french, german, ngerman, b
+ahasa, basque, bulgarian, catalan, croatian, czech, danish, dutch, esperanto, e
+stonian, finnish, greek, icelandic, irish, italian, latin, magyar, norsk, polis
+h, portuges, romanian, russian, serbian, slovak, slovene, spanish, swedish, tur
+kish, ukrainian, nohyphenation, loaded.
+(/usr/share/texmf-tetex/tex/latex/base/article.cls
+Document Class: article 2004/02/16 v1.4f Standard LaTeX document class
+(/usr/share/texmf-tetex/tex/latex/base/size12.clo
+File: size12.clo 2004/02/16 v1.4f Standard LaTeX file (size option)
+)
+\c@part=\count79
+\c@section=\count80
+\c@subsection=\count81
+\c@subsubsection=\count82
+\c@paragraph=\count83
+\c@subparagraph=\count84
+\c@figure=\count85
+\c@table=\count86
+\abovecaptionskip=\skip41
+\belowcaptionskip=\skip42
+\bibindent=\dimen102
+)
+(/usr/share/texmf-tetex/tex/generic/babel/babel.sty
+Package: babel 2004/11/20 v3.8d The Babel package
+
+(/usr/share/texmf-tetex/tex/generic/babel/english.ldf
+Language: english 2004/06/14 v3.3o English support from the babel system
+
+(/usr/share/texmf-tetex/tex/generic/babel/babel.def
+File: babel.def 2004/11/20 v3.8d Babel common definitions
+\babel@savecnt=\count87
+\U@D=\dimen103
+)
+\l@british = a dialect from \language\l@english 
+\l@UKenglish = a dialect from \language\l@english 
+\l@canadian = a dialect from \language\l@american 
+\l@australian = a dialect from \language\l@british 
+\l@newzealand = a dialect from \language\l@british 
+))
+(/usr/share/texmf-tetex/tex/latex/graphics/graphicx.sty
+Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
+
+(/usr/share/texmf-tetex/tex/latex/graphics/keyval.sty
+Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
+\KV@toks@=\toks14
+)
+(/usr/share/texmf-tetex/tex/latex/graphics/graphics.sty
+Package: graphics 2001/07/07 v1.0n Standard LaTeX Graphics (DPC,SPQR)
+
+(/usr/share/texmf-tetex/tex/latex/graphics/trig.sty
+Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
+)
+(/usr/share/texmf-tetex/tex/latex/graphics/graphics.cfg
+File: graphics.cfg 2005/02/03 v1.3 graphics configuration of teTeX/TeXLive
+)
+Package graphics Info: Driver file: pdftex.def on input line 80.
+
+(/usr/share/texmf-tetex/tex/latex/graphics/pdftex.def
+File: pdftex.def 2002/06/19 v0.03k graphics/color for pdftex
+\Gread@gobject=\count88
+))
+\Gin@req@height=\dimen104
+\Gin@req@width=\dimen105
+)
+(/usr/share/texmf-tetex/tex/latex/wrapfig/wrapfig.sty
+\wrapoverhang=\dimen106
+\WF@size=\dimen107
+\c@WF@wrappedlines=\count89
+\WF@box=\box26
+\WF@everypar=\toks15
+Package: wrapfig 2003/01/31  v 3.6
+) (./sudoku.aux)
+\openout1 = `sudoku.aux'.
+
+LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 17.
+LaTeX Font Info:    ... okay on input line 17.
+LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 17.
+LaTeX Font Info:    ... okay on input line 17.
+LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 17.
+LaTeX Font Info:    ... okay on input line 17.
+LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 17.
+LaTeX Font Info:    ... okay on input line 17.
+LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 17.
+LaTeX Font Info:    ... okay on input line 17.
+LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 17.
+LaTeX Font Info:    ... okay on input line 17.
+
+(/usr/share/texmf-tetex/tex/context/base/supp-pdf.tex
+(/usr/share/texmf-tetex/tex/context/base/supp-mis.tex
+loading : Context Support Macros / Miscellaneous (2004.10.26)
+\protectiondepth=\count90
+\scratchcounter=\count91
+\scratchtoks=\toks16
+\scratchdimen=\dimen108
+\scratchskip=\skip43
+\scratchmuskip=\muskip10
+\scratchbox=\box27
+\scratchread=\read1
+\scratchwrite=\write3
+\zeropoint=\dimen109
+\onepoint=\dimen110
+\onebasepoint=\dimen111
+\minusone=\count92
+\thousandpoint=\dimen112
+\onerealpoint=\dimen113
+\emptytoks=\toks17
+\nextbox=\box28
+\nextdepth=\dimen114
+\everyline=\toks18
+\!!counta=\count93
+\!!countb=\count94
+\recursecounter=\count95
+)
+loading : Context Support Macros / PDF (2004.03.26)
+\nofMPsegments=\count96
+\nofMParguments=\count97
+\MPscratchCnt=\count98
+\MPscratchDim=\dimen115
+\MPnumerator=\count99
+\everyMPtoPDFconversion=\toks19
+)
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <14.4> on input line 18.
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <7> on input line 18.
+ [1
+
+{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
+
+! LaTeX Error: Unknown graphics extension: .eps.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type  H <return>  for immediate help.
+ ...                                              
+                                                  
+l.32     \includegraphics[scale=0.5]{sudoku.eps}
+                                                
+Try typing  <return>  to proceed.
+If that doesn't work, type  X <return>  to quit.
+
+Missing character: There is no Ã in font cmr12!
+Missing character: There is no  in font cmr12!
+Missing character: There is no Ã in font cmr12!
+Missing character: There is no  in font cmr12!
+Missing character: There is no Ã in font cmr12!
+Missing character: There is no  in font cmr12!
+Missing character: There is no â in font cmr12!
+Missing character: There is no  in font cmr12!
+Missing character: There is no  in font cmr12!
+[2]
+
+! LaTeX Error: Unknown graphics extension: .eps.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type  H <return>  for immediate help.
+ ...                                              
+                                                  
+l.52     \includegraphics{marking_up.eps}
+                                         
+Try typing  <return>  to proceed.
+If that doesn't work, type  X <return>  to quit.
+
+[3]
+
+! LaTeX Error: Unknown graphics extension: .eps.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type  H <return>  for immediate help.
+ ...                                              
+                                                  
+l.65     \includegraphics{scanning.eps}
+                                       
+Try typing  <return>  to proceed.
+If that doesn't work, type  X <return>  to quit.
+
+Missing character: There is no Ã in font cmr12!
+Missing character: There is no  in font cmr12!
+Missing character: There is no Ã in font cmr12!
+Missing character: There is no  in font cmr12!
+[4]
+
+! LaTeX Error: Unknown graphics extension: .eps.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type  H <return>  for immediate help.
+ ...                                              
+                                                  
+l.82     \includegraphics{cplusplus.eps}
+                                        
+Try typing  <return>  to proceed.
+If that doesn't work, type  X <return>  to quit.
+
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <12> on input line 89.
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <8> on input line 89.
+LaTeX Font Info:    External font `cmex10' loaded for size
+(Font)              <6> on input line 89.
+[5]
+Overfull \hbox (3.75146pt too wide) in paragraph at lines 98--99
+[]\OT1/cmr/m/n/12 ''Cleaning'' first gen-er-ate a com-plete su-doku. Then get y
+our wipercleaner
+ []
+
+
+Overfull \hbox (66.8068pt too wide) in paragraph at lines 111--120
+ [] 
+ []
+
+[6]
+Overfull \hbox (48.76907pt too wide) in paragraph at lines 132--134
+[]\OT1/cmr/m/n/12 G. Royle, Min-i-mum Su-doku http://www.csse.uwa.edu.au/~gordo
+n/sudokumin.php 
+ []
+
+[7] [8]
+Overfull \hbox (236.60696pt too wide) in paragraph at lines 1015--1015
+[]        \OT1/cmtt/m/n/10.95 void printNice(const int boldRow = -1, const int 
+boldCol = -1, const char emptcolSpace = EMPTY_SPOT);[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1015--1015
+[]        \OT1/cmtt/m/n/10.95 void _updatePossibleList(const int row, const int
+ col, const int number);[] 
+ []
+
+[9]
+Overfull \hbox (18.15683pt too wide) in paragraph at lines 1015--1015
+[]                     \OT1/cmtt/m/n/10.95 printf("%c%s%i%c%s ",esc, bold, _sud
+oku[row][col],[] 
+ []
+
+[10] [11]
+Overfull \hbox (69.89502pt too wide) in paragraph at lines 1015--1015
+[]\OT1/cmtt/m/n/10.95 void Sudoku::_updatePossibleList(const int row, const int
+ col, const int number)[] 
+ []
+
+
+Overfull \hbox (0.91077pt too wide) in paragraph at lines 1015--1015
+[]        \OT1/cmtt/m/n/10.95 for (blockCol = tmpCol; blockCol < (tmpCol + 3); 
+blockCol++)[] 
+ []
+
+[12]
+Overfull \hbox (35.4029pt too wide) in paragraph at lines 1015--1015
+[]    \OT1/cmtt/m/n/10.95 if (debug(1)) { fprintf(DEBUGPLACE, "Will insert %i a
+t [%i,%i]: %i\n",[] 
+ []
+
+
+Overfull \hbox (29.6542pt too wide) in paragraph at lines 1015--1015
+[]                    \OT1/cmtt/m/n/10.95 number, row, col, _possible[row][col]
+[number - 1]); }[] 
+ []
+
+[13]
+Overfull \hbox (0.91077pt too wide) in paragraph at lines 1015--1015
+[]               \OT1/cmtt/m/n/10.95 for (c = 0; c < MAX_XYZ; c++ ) { numberdon
+e[c] = 0; }[] 
+ []
+
+
+Overfull \hbox (161.87402pt too wide) in paragraph at lines 1015--1015
+[]                    \OT1/cmtt/m/n/10.95 randomnumber = 1 + (int) ( (double)MA
+X_XYZ * (random() / (RAND_MAX + 1.0)));[] 
+ []
+
+
+Overfull \hbox (133.13058pt too wide) in paragraph at lines 1015--1015
+[]                 \OT1/cmtt/m/n/10.95 if (debug(2)) { fprintf(DEBUGPLACE, "Ran
+dom check number %i at [%i,%i]\n",[] 
+ []
+
+[14]
+Overfull \hbox (58.39764pt too wide) in paragraph at lines 1015--1015
+[]\OT1/cmtt/m/n/10.95 /* Use Basic technique of finding places with just one nu
+mber left to place */[] 
+ []
+
+[15]
+Overfull \hbox (41.15158pt too wide) in paragraph at lines 1015--1015
+[]                \OT1/cmtt/m/n/10.95 for (tmpPossible = 0; tmpPossible < MAX_X
+YZ; tmpPossible++)[] 
+ []
+
+
+Overfull \hbox (29.6542pt too wide) in paragraph at lines 1015--1015
+[]                    \OT1/cmtt/m/n/10.95 if (_possible[tmpRow][tmpCol][tmpPoss
+ible] == true &&[] 
+ []
+
+
+Overfull \hbox (58.39764pt too wide) in paragraph at lines 1015--1015
+[]                    \OT1/cmtt/m/n/10.95 else if (_possible[tmpRow][tmpCol][tm
+pPossible] == true &&[] 
+ []
+
+[16]
+Overfull \hbox (115.88452pt too wide) in paragraph at lines 1015--1015
+[]\OT1/cmtt/m/n/10.95 /* Check if number can onlcol be placed somewhere, if not
+ able to place anywhere else */[] 
+ []
+
+
+Overfull \hbox (46.90027pt too wide) in paragraph at lines 1015--1015
+[]\OT1/cmtt/m/n/10.95 /* FIXME: Should be more modular, to reduce line length a
+nd readabilitcol */[] 
+ []
+
+
+Overfull \hbox (41.15158pt too wide) in paragraph at lines 1015--1015
+[]                \OT1/cmtt/m/n/10.95 for (tmpPossible = 0; tmpPossible < MAX_X
+YZ; tmpPossible++)[] 
+ []
+
+
+Overfull \hbox (18.15683pt too wide) in paragraph at lines 1015--1015
+[]                    \OT1/cmtt/m/n/10.95 if (_possible[tmpRow][tmpCol][tmpPoss
+ible] == true)[] 
+ []
+
+
+Overfull \hbox (92.88977pt too wide) in paragraph at lines 1015--1015
+[]                                   \OT1/cmtt/m/n/10.95 "DEBUG SOL 2: Checking
+ [%i,%i], number: %i...\n",[] 
+ []
+
+
+Overfull \hbox (52.64896pt too wide) in paragraph at lines 1015--1015
+[]                        \OT1/cmtt/m/n/10.95 for (tmpNumber = 0; tmpNumber < M
+AX_XYZ; tmpNumber++)[] 
+ []
+
+
+Overfull \hbox (92.88977pt too wide) in paragraph at lines 1015--1015
+[]                            \OT1/cmtt/m/n/10.95 if (_possible[tmpNumber][tmpC
+ol][tmpPossible] == true &&[] 
+ []
+
+[17]
+Overfull \hbox (156.12534pt too wide) in paragraph at lines 1015--1015
+[]                                            \OT1/cmtt/m/n/10.95 "DEBUG SOL 2:
+ ..failed at Rowcheck bcol [%i,%i]\n",[] 
+ []
+
+
+Overfull \hbox (230.85828pt too wide) in paragraph at lines 1015--1015
+[]                            \OT1/cmtt/m/n/10.95 if (debug(3)) { fprintf(DEBUG
+PLACE,"DEBUG SOL 2: ..succesfull at Rowcheck\n"); }[] 
+ []
+
+
+Overfull \hbox (52.64896pt too wide) in paragraph at lines 1015--1015
+[]                        \OT1/cmtt/m/n/10.95 for (tmpNumber = 0; tmpNumber < M
+AX_XYZ; tmpNumber++)[] 
+ []
+
+
+Overfull \hbox (92.88977pt too wide) in paragraph at lines 1015--1015
+[]                            \OT1/cmtt/m/n/10.95 if (_possible[tmpRow][tmpNumb
+er][tmpPossible] == true &&[] 
+ []
+
+
+Overfull \hbox (156.12534pt too wide) in paragraph at lines 1015--1015
+[]                                            \OT1/cmtt/m/n/10.95 "DEBUG SOL 2:
+ ..failed at Cowcheck bcol [%i,%i]\n",[] 
+ []
+
+
+Overfull \hbox (230.85828pt too wide) in paragraph at lines 1015--1015
+[]                            \OT1/cmtt/m/n/10.95 if (debug(3)) { fprintf(DEBUG
+PLACE,"DEBUG SOL 2: ..succesfull at Cowcheck\n"); }[] 
+ []
+
+[18]
+Overfull \hbox (23.90552pt too wide) in paragraph at lines 1015--1015
+[]                        \OT1/cmtt/m/n/10.95 blockTmpRow = tmpRow - (tmpRow % 
+(MAX_XYZ / 3));[] 
+ []
+
+
+Overfull \hbox (23.90552pt too wide) in paragraph at lines 1015--1015
+[]                        \OT1/cmtt/m/n/10.95 blockTmpCol = tmpCol - (tmpCol % 
+(MAX_XYZ / 3));[] 
+ []
+
+
+Overfull \hbox (150.37665pt too wide) in paragraph at lines 1015--1015
+[]                        \OT1/cmtt/m/n/10.95 for (blockRow = blockTmpRow; bloc
+kRow < (blockTmpRow + 3); blockRow++)[] 
+ []
+
+
+Overfull \hbox (173.3714pt too wide) in paragraph at lines 1015--1015
+[]                            \OT1/cmtt/m/n/10.95 for (blockCol = blockTmpCol; 
+blockCol < (blockTmpCol + 3); blockCol++)[] 
+ []
+
+
+Overfull \hbox (236.60696pt too wide) in paragraph at lines 1015--1015
+[]                                   \OT1/cmtt/m/n/10.95 fprintf(DEBUGPLACE,"DE
+BUG SOL 2: ..checking [%i,%i]\n",blockRow,blockCol);[] 
+ []
+
+
+Overfull \hbox (110.13583pt too wide) in paragraph at lines 1015--1015
+[]                               \OT1/cmtt/m/n/10.95 if(_possible[blockRow][blo
+ckCol][tmpPossible] == true &&[] 
+ []
+
+
+Overfull \hbox (92.88977pt too wide) in paragraph at lines 1015--1015
+[]                                  \OT1/cmtt/m/n/10.95 (not (tmpRow == blockRo
+w && tmpCol == blockCol)) )[] 
+ []
+
+
+Overfull \hbox (259.60172pt too wide) in paragraph at lines 1015--1015
+[]                                    \OT1/cmtt/m/n/10.95 if (debug(4)) { fprin
+tf(DEBUGPLACE,"DEBUG SOL 2: ...will cause failure\n"); }[] 
+ []
+
+
+Overfull \hbox (219.3609pt too wide) in paragraph at lines 1015--1015
+[]                                \OT1/cmtt/m/n/10.95 if (debug(4)) { fprintf(D
+EBUGPLACE,"DEBUG SOL 2: ...will be no harm\n"); }[] 
+ []
+
+
+Overfull \hbox (242.35565pt too wide) in paragraph at lines 1015--1015
+[]                            \OT1/cmtt/m/n/10.95 if (debug(3)) { fprintf(DEBUG
+PLACE,"DEBUG SOL 2: ..succesfull at Blockcheck\n"); }[] 
+ []
+
+[19]
+Overfull \hbox (46.90027pt too wide) in paragraph at lines 1015--1015
+[]\OT1/cmtt/m/n/10.95 /* FIXME: Should be more modular, to reduce line length a
+nd readabilitcol */[] 
+ []
+
+
+Overfull \hbox (190.61746pt too wide) in paragraph at lines 1015--1015
+[]            \OT1/cmtt/m/n/10.95 if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3a DE
+BUG Checking [%i,%i]...\n",tmpRow,tmpCol); }[] 
+ []
+
+
+Overfull \hbox (41.15158pt too wide) in paragraph at lines 1015--1015
+[]                \OT1/cmtt/m/n/10.95 for (tmpPossible = 0; tmpPossible < MAX_X
+YZ; tmpPossible++)[] 
+ []
+
+
+Overfull \hbox (18.15683pt too wide) in paragraph at lines 1015--1015
+[]                    \OT1/cmtt/m/n/10.95 if (_possible[tmpRow][tmpCol][tmpPoss
+ible] == true)[] 
+ []
+
+[20]
+Overfull \hbox (121.63321pt too wide) in paragraph at lines 1015--1015
+[]                \OT1/cmtt/m/n/10.95 if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3
+a DEBUG %i\n", tmpAllNumbers); }[] 
+ []
+
+
+Overfull \hbox (81.3924pt too wide) in paragraph at lines 1015--1015
+[]                    \OT1/cmtt/m/n/10.95 for (tmpColNumber = 0; tmpColNumber <
+ MAX_XYZ; tmpColNumber++)[] 
+ []
+
+
+Overfull \hbox (121.63321pt too wide) in paragraph at lines 1015--1015
+[]                        \OT1/cmtt/m/n/10.95 if (_sudoku[tmpRow][tmpColNumber]
+ == 0 && tmpColNumber != tmpCol)[] 
+ []
+
+
+Overfull \hbox (127.3819pt too wide) in paragraph at lines 1015--1015
+[]                            \OT1/cmtt/m/n/10.95 for (tmpPossible2 = 0; tmpPos
+sible2 < MAX_XYZ; tmpPossible2++)[] 
+ []
+
+
+Overfull \hbox (144.62796pt too wide) in paragraph at lines 1015--1015
+[]                                \OT1/cmtt/m/n/10.95 if ( _possible[tmpRow][tm
+pColNumber][tmpPossible2] == true &&[] 
+ []
+
+
+Overfull \hbox (110.13583pt too wide) in paragraph at lines 1015--1015
+[]                                      \OT1/cmtt/m/n/10.95 _possible[tmpRow][t
+mpCol][tmpPossible2] == false)[] 
+ []
+
+
+Overfull \hbox (167.62271pt too wide) in paragraph at lines 1015--1015
+[]                                        \OT1/cmtt/m/n/10.95 fprintf(DEBUGPLAC
+E,"SOL 3a DEBUG [%i,%i] failed at %i\n",[] 
+ []
+
+
+Overfull \hbox (98.63846pt too wide) in paragraph at lines 1015--1015
+[]                                                \OT1/cmtt/m/n/10.95 tmpRow, t
+mpColNumber,tmpPossible2+1);[] 
+ []
+
+
+Overfull \hbox (150.37665pt too wide) in paragraph at lines 1015--1015
+[]                                    \OT1/cmtt/m/n/10.95 fprintf(DEBUGPLACE,"S
+OL 3a DEBUG [%i,%i] will increase\n",[] 
+ []
+
+
+Overfull \hbox (150.37665pt too wide) in paragraph at lines 1015--1015
+[]                                \OT1/cmtt/m/n/10.95 for (tmpPossible2 = 0; tm
+pPossible2 < MAX_XYZ; tmpPossible2++)[] 
+ []
+
+
+Overfull \hbox (150.37665pt too wide) in paragraph at lines 1015--1015
+[]                                    \OT1/cmtt/m/n/10.95 if (_possible[tmpRow]
+[tmpColNumber][tmpPossible2] == true)[] 
+ []
+
+
+Overfull \hbox (41.15158pt too wide) in paragraph at lines 1015--1015
+[]                                        \OT1/cmtt/m/n/10.95 if (debug(3)) { f
+printf(DEBUGPLACE,[] 
+ []
+
+
+Overfull \hbox (213.61221pt too wide) in paragraph at lines 1015--1015
+[]                                                \OT1/cmtt/m/n/10.95 "SOL 3a D
+EBUG [%i,%i] will increase possible %i to %i\n",[] 
+ []
+
+
+Overfull \hbox (282.59647pt too wide) in paragraph at lines 1015--1015
+[]                                                \OT1/cmtt/m/n/10.95 tmpRow, t
+mpColNumber, tmpPossible2 + 1, tmpNumber[tmpPossible2] + 1);[] 
+ []
+
+[21]
+Overfull \hbox (98.63846pt too wide) in paragraph at lines 1015--1015
+[]                                        \OT1/cmtt/m/n/10.95 if (tmpNumber[tmp
+Possible2] == tmpAllNumbers)[] 
+ []
+
+
+Overfull \hbox (12.40814pt too wide) in paragraph at lines 1015--1015
+[]                                            \OT1/cmtt/m/n/10.95 tmpNumber[tmp
+Possible2]++;[] 
+ []
+
+
+Overfull \hbox (64.14633pt too wide) in paragraph at lines 1015--1015
+[]                    \OT1/cmtt/m/n/10.95 for (tmpPossible = 0; tmpPossible < M
+AX_XYZ; tmpPossible++)[] 
+ []
+
+
+Overfull \hbox (0.91077pt too wide) in paragraph at lines 1015--1015
+[]                        \OT1/cmtt/m/n/10.95 if (tmpNumber[tmpPossible] == tmp
+AllNumbers)[] 
+ []
+
+
+Overfull \hbox (115.88452pt too wide) in paragraph at lines 1015--1015
+[]                                        \OT1/cmtt/m/n/10.95 "SOL 3b DEBUG %i 
+reduced tmpAllNumbers to %i\n",[] 
+ []
+
+
+Overfull \hbox (23.90552pt too wide) in paragraph at lines 1015--1015
+[]                                        \OT1/cmtt/m/n/10.95 tmpPossible + 1, 
+tmpAllNumbers);[] 
+ []
+
+
+Overfull \hbox (87.14108pt too wide) in paragraph at lines 1015--1015
+[]                        \OT1/cmtt/m/n/10.95 for (tmpPossible = 0; tmpPossible
+ < MAX_XYZ; tmpPossible++)[] 
+ []
+
+[22]
+Overfull \hbox (115.88452pt too wide) in paragraph at lines 1015--1015
+[]        \OT1/cmtt/m/n/10.95 if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3c DEBUG 
+no failed solution found\n"); }[] 
+ []
+
+
+Overfull \hbox (46.90027pt too wide) in paragraph at lines 1015--1015
+[]\OT1/cmtt/m/n/10.95 /* FIXME: Should be more modular, to reduce line length a
+nd readabilitcol */[] 
+ []
+
+
+Overfull \hbox (190.61746pt too wide) in paragraph at lines 1015--1015
+[]            \OT1/cmtt/m/n/10.95 if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3b DE
+BUG Checking [%i,%i]...\n",tmpRow,tmpCol); }[] 
+ []
+
+
+Overfull \hbox (41.15158pt too wide) in paragraph at lines 1015--1015
+[]                \OT1/cmtt/m/n/10.95 for (tmpPossible = 0; tmpPossible < MAX_X
+YZ; tmpPossible++)[] 
+ []
+
+
+Overfull \hbox (18.15683pt too wide) in paragraph at lines 1015--1015
+[]                    \OT1/cmtt/m/n/10.95 if (_possible[tmpRow][tmpCol][tmpPoss
+ible] == true)[] 
+ []
+
+[23]
+Overfull \hbox (121.63321pt too wide) in paragraph at lines 1015--1015
+[]                \OT1/cmtt/m/n/10.95 if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3
+b DEBUG %i\n", tmpAllNumbers); }[] 
+ []
+
+
+Overfull \hbox (81.3924pt too wide) in paragraph at lines 1015--1015
+[]                    \OT1/cmtt/m/n/10.95 for (tmpRowNumber = 0; tmpRowNumber <
+ MAX_XYZ; tmpRowNumber++)[] 
+ []
+
+
+Overfull \hbox (121.63321pt too wide) in paragraph at lines 1015--1015
+[]                        \OT1/cmtt/m/n/10.95 if (_sudoku[tmpRowNumber][tmpCol]
+ == 0 && tmpRowNumber != tmpRow)[] 
+ []
+
+
+Overfull \hbox (127.3819pt too wide) in paragraph at lines 1015--1015
+[]                            \OT1/cmtt/m/n/10.95 for (tmpPossible2 = 0; tmpPos
+sible2 < MAX_XYZ; tmpPossible2++)[] 
+ []
+
+
+Overfull \hbox (144.62796pt too wide) in paragraph at lines 1015--1015
+[]                                \OT1/cmtt/m/n/10.95 if ( _possible[tmpRowNumb
+er][tmpCol][tmpPossible2] == true &&[] 
+ []
+
+
+Overfull \hbox (110.13583pt too wide) in paragraph at lines 1015--1015
+[]                                      \OT1/cmtt/m/n/10.95 _possible[tmpRow][t
+mpCol][tmpPossible2] == false)[] 
+ []
+
+
+Overfull \hbox (104.38715pt too wide) in paragraph at lines 1015--1015
+[]                                                \OT1/cmtt/m/n/10.95 "SOL 3b D
+EBUG [%i,%i] failed at %i\n",[] 
+ []
+
+
+Overfull \hbox (98.63846pt too wide) in paragraph at lines 1015--1015
+[]                                                \OT1/cmtt/m/n/10.95 tmpRowNum
+ber, tmpCol,tmpPossible2+1);[] 
+ []
+
+
+Overfull \hbox (64.14633pt too wide) in paragraph at lines 1015--1015
+[]                                        \OT1/cmtt/m/n/10.95 "SOL 3b DEBUG [%i
+,%i] will increase\n",[] 
+ []
+
+
+Overfull \hbox (150.37665pt too wide) in paragraph at lines 1015--1015
+[]                                \OT1/cmtt/m/n/10.95 for (tmpPossible2 = 0; tm
+pPossible2 < MAX_XYZ; tmpPossible2++)[] 
+ []
+
+
+Overfull \hbox (150.37665pt too wide) in paragraph at lines 1015--1015
+[]                                    \OT1/cmtt/m/n/10.95 if (_possible[tmpRowN
+umber][tmpCol][tmpPossible2] == true)[] 
+ []
+
+[24]
+Overfull \hbox (236.60696pt too wide) in paragraph at lines 1015--1015
+[]                                                    \OT1/cmtt/m/n/10.95 "SOL 
+3b DEBUG [%i,%i] will increase possible %i to %i\n",[] 
+ []
+
+
+Overfull \hbox (133.13058pt too wide) in paragraph at lines 1015--1015
+[]                                                    \OT1/cmtt/m/n/10.95 tmpRo
+wNumber, tmpCol, tmpPossible2 + 1,[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1015--1015
+[]                                                    \OT1/cmtt/m/n/10.95 tmpNu
+mber[tmpPossible2] + 1);[] 
+ []
+
+
+Overfull \hbox (98.63846pt too wide) in paragraph at lines 1015--1015
+[]                                        \OT1/cmtt/m/n/10.95 if (tmpNumber[tmp
+Possible2] == tmpAllNumbers)[] 
+ []
+
+
+Overfull \hbox (12.40814pt too wide) in paragraph at lines 1015--1015
+[]                                            \OT1/cmtt/m/n/10.95 tmpNumber[tmp
+Possible2]++;[] 
+ []
+
+
+Overfull \hbox (64.14633pt too wide) in paragraph at lines 1015--1015
+[]                    \OT1/cmtt/m/n/10.95 for (tmpPossible = 0; tmpPossible < M
+AX_XYZ; tmpPossible++)[] 
+ []
+
+
+Overfull \hbox (0.91077pt too wide) in paragraph at lines 1015--1015
+[]                        \OT1/cmtt/m/n/10.95 if (tmpNumber[tmpPossible] == tmp
+AllNumbers)[] 
+ []
+
+
+Overfull \hbox (92.88977pt too wide) in paragraph at lines 1015--1015
+[]                                    \OT1/cmtt/m/n/10.95 "SOL 3b DEBUG %i redu
+ced tmpAllNumbers to %i\n",[] 
+ []
+
+
+Overfull \hbox (0.91077pt too wide) in paragraph at lines 1015--1015
+[]                                    \OT1/cmtt/m/n/10.95 tmpPossible + 1, tmpA
+llNumbers);[] 
+ []
+
+[25]
+Overfull \hbox (87.14108pt too wide) in paragraph at lines 1015--1015
+[]                        \OT1/cmtt/m/n/10.95 for (tmpPossible = 0; tmpPossible
+ < MAX_XYZ; tmpPossible++)[] 
+ []
+
+
+Overfull \hbox (138.87927pt too wide) in paragraph at lines 1015--1015
+[]            \OT1/cmtt/m/n/10.95 if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3b DE
+BUG no failed solution found\n"); }[] 
+ []
+
+[26]
+Overfull \hbox (202.11484pt too wide) in paragraph at lines 1015--1015
+[]            \OT1/cmtt/m/n/10.95 printf("Filled in %i at [%i,%i] found with fi
+nder %i\n", number, row, col, solutionNumber);[] 
+ []
+
+[27]
+Overfull \hbox (46.90027pt too wide) in paragraph at lines 1015--1015
+[]            \OT1/cmtt/m/n/10.95 if (debug(1)) { fprintf(DEBUGPLACE, "Reading 
+from 'stdin'\n"); }[] 
+ []
+
+
+Overfull \hbox (64.14633pt too wide) in paragraph at lines 1015--1015
+[]            \OT1/cmtt/m/n/10.95 if (debug(1)) { fprintf(DEBUGPLACE, "Reading 
+from %s\n",argv[2]); }[] 
+ []
+
+
+Overfull \hbox (46.90027pt too wide) in paragraph at lines 1015--1015
+[]            \OT1/cmtt/m/n/10.95 printf("Finding Solution failed, error code: 
+%i\n", returnCode);[] 
+ []
+
+[28]
+Overfull \hbox (179.12009pt too wide) in paragraph at lines 1015--1015
+[]                \OT1/cmtt/m/n/10.95 fprintf(DEBUGPLACE, "Failed to created th
+e puzzel at the %i round\n", timesFailed);[] 
+ []
+
+
+Overfull \hbox (87.14108pt too wide) in paragraph at lines 1015--1015
+[]        \OT1/cmtt/m/n/10.95 fprintf(DEBUGPLACE, "\nResult, (NOTE(!): puzzle m
+ight not be solveble)\n");[] 
+ []
+
+
+Overfull \hbox (58.39764pt too wide) in paragraph at lines 1015--1015
+[]        \OT1/cmtt/m/n/10.95 printf("NOTE 1: No error checking done, valid inp
+ut puzzel will be ");[] 
+ []
+
+
+Overfull \hbox (29.6542pt too wide) in paragraph at lines 1015--1015
+[]        \OT1/cmtt/m/n/10.95 printf("NOTE 2: if <filename> = -, stdin will be 
+used as input");[] 
+ []
+
+
+Overfull \hbox (69.89502pt too wide) in paragraph at lines 1015--1015
+[]        \OT1/cmtt/m/n/10.95 printf("Usage %s -c <percent filled> To create a 
+new puzzle\n",argv[0]);[] 
+ []
+
+
+Overfull \hbox (12.40814pt too wide) in paragraph at lines 1015--1015
+[]        \OT1/cmtt/m/n/10.95 printf("NOTE 1: Above 60%% it will be a bit hard 
+to create ");[] 
+ []
+
+
+Overfull \hbox (29.6542pt too wide) in paragraph at lines 1015--1015
+[]        \OT1/cmtt/m/n/10.95 printf("NOTE 2: Puzzle generated will not always 
+be solveble\n");[] 
+ []
+
+[29]
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000010400000000020000000000050407008000300001090000300
+400200050100000000806000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000010400000000020000000000050604008000300001090000300
+400200050100000000807000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000012000035000000600070700000300000400800100000000000
+120000080000040050000600[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000012003600000000007000410020000000500300700000600280
+000040000300500000000000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000012008030000000000040120500000000004700060000000507
+000300000620000000100000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000012040050000000009000070600400000100000000000050000
+087500601000300200000000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000012050400000000000030700600400001000000000080000920
+000800000510700000003000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000012300000060000040000900000500000001070020000000000
+350400001400800060000000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000012400090000000000050070200000600000400000108000018
+000000000030700502000000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000012500008000000700000600120000700000450000030000030
+000800000500700020000000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000012700060000000000050080200000600000400000109000019
+000000000030800502000000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000012800040000000000060090200000700000400000501000015
+000000000030900602000000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000013000500070000802000000400900107000000000000200890
+000050040000600000010000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000013000700060000508000000400800106000000000000200740
+000050020000400000010000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000013000700060000509000000400900106000000000000200740
+000050080000400000010000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000013000800070000502000000400900107000000000000200890
+000050040000600000010000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000013020500000000000000103000070000802000004000000000
+340500670000200000010000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000013040000080200060000609000400000800000000300000030
+100500000040706000000000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000013040000080200060000906000400000800000000300000030
+100500000040706000000000[] 
+ []
+
+
+Overfull \hbox (75.6437pt too wide) in paragraph at lines 1045--1045
+[]\OT1/cmtt/m/n/10.95 000000013040000090200070000607000400000300000000900000030
+100500000060807000000000[] 
+ []
+
+[30] [31] (./sudoku.aux) ) 
+Here is how much of TeX's memory you used:
+ 1287 strings out of 94500
+ 15385 string characters out of 1175789
+ 88657 words of memory out of 1000000
+ 4486 multiletter control sequences out of 10000+50000
+ 8969 words of font info for 32 fonts, out of 500000 for 2000
+ 580 hyphenation exceptions out of 8191
+ 25i,6n,19p,707b,271s stack positions out of 1500i,500n,5000p,200000b,5000s
+PDF statistics:
+ 114 PDF objects out of 300000
+ 0 named destinations out of 131072
+ 1 words of extra memory for PDF output out of 65536
+</usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmtt10
+.pfb></usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmr8.pfb></usr/share/texmf-
+tetex/fonts/type1/bluesky/cm/cmbx12.pfb></usr/share/texmf-tetex/fonts/type1/blu
+esky/cm/cmr12.pfb></usr/share/texmf-tetex/fonts/type1/bluesky/cm/cmr17.pfb>
+Output written on sudoku.pdf (31 pages, 82558 bytes).
Index: /liacs/ai/sudoku/latex/sudoku.tex
===================================================================
--- /liacs/ai/sudoku/latex/sudoku.tex	(revision 2)
+++ /liacs/ai/sudoku/latex/sudoku.tex	(revision 2)
@@ -0,0 +1,1086 @@
+%
+% verslag.tex   9.2.2006
+% Sudoku verslag 
+%
+
+\documentclass[12pt]{article}
+
+\frenchspacing
+\usepackage[english]{babel}
+\selectlanguage{english}
+\usepackage{graphicx}
+\usepackage{wrapfig}
+
+\author{Rick van der Zwet, Leiden University  \\ Leiden Institute of Advanced Computer Science}
+\title{Creating and solving sudoku's}
+
+\begin{document}
+\maketitle
+\section{Introduction}
+\subsection{History}
+\begin{quote}
+The name Sudoku is the Japanese abbreviation of a longer phrase, ''suuji wa dokushin ni kagiru'' meaning ''the digits must remain single''; it is a trademark of puzzle publisher Nikoli Co. Ltd in Japan. 
+
+The numerals in Sudoku puzzles are used for convenience; arithmetic relationships between numerals are absolutely irrelevant. Any set of distinct symbols will do; letters, shapes, or colours may be used without altering the rules (Penny Press' Scramblets and Knight Features Syndicate's Sudoku Word both use letters). Dell Magazines, the puzzle's originator, has been using numerals for Number Place in its magazines since they first published it in 1979. Numerals are used throughout this article.
+
+The attraction of the puzzle is that the completion rules are simple, yet the line of reasoning required to reach the completion may be complex. Sudoku is recommended by some teachers as an exercise in logical reasoning. The level of difficulty of the puzzles can be selected to suit the audience. The puzzles are often available free from published sources and also may be custom-generated using software.\cite{wikipedia}
+\end{quote}
+
+\newpage
+\subsection{Gameplay}
+\begin{wrapfigure}{r}{50mm}
+    \includegraphics[scale=0.5]{sudoku.eps}
+    \caption{Sample sudoku}
+\end{wrapfigure}
+The puzzle is most frequently a 9Ã9 grid, made up of 3Ã3 subgrids called ''regions'' (other terms include ''boxes'', ''blocks'', and the like when referring to the standard variation; even ''quadrant'' is sometimes used, despite this being an inaccurate term for a 9Ã9 grid). Some cells already contain numerals, known as ''givens'' (or sometimes as ''clues''). The goal is to fill in the empty cells, one numeral in each, so that each column, row, and region contains the numerals 1â9 exactly once. Each numeral in the solution therefore occurs only once in each of three ''directions'' or ''scopes'', hence the ''single numbers'' implied by the puzzle's name.\cite{wikipedia}
+
+\section{Problem}
+
+Not every combination of a board, is going to be succesfull and there is no algoritm who can predict whether a generated board is valid without completely solving the puzzle. So there has to be some other way to generate valid puzzles. First, there need to be a perfect solver writtento test whether a puzzle has got only one solution.
+The second way to generate a valid puzzle is by creating a completely solved valid puzzle and delete a ew spots, by checking if the puzzle still has got 1 unique solution. We are able to generate soduku's too.
+
+\newpage
+\section{Solution finding theories}
+
+There are currently 3 solutions know (by me) about solving the soduku somehow.
+
+\subsection{Marking up}
+By deleting the non-available spots at every location, the remaining possibilities will become clear, you will notice at certain points only one option will be left, so this will be the number to be filled in.  As can be showed by figure \ref{marking_up}.
+
+\begin{figure}[!ht]
+\begin{center}
+    \includegraphics{marking_up.eps}
+\end{center}
+    \caption{Candidates for each empty cell have been entered. Some cells have only one candidate once obvious invalids have been excluded. Also, some mark with dots instead of numbers, simply using the position of the dot within the cell to distinguish them.\cite{wikipedia}}
+    \label{marking_up}
+\end{figure}
+
+
+\newpage
+\subsection{Scanning}
+Scanning will be a easy solution too to be used by humans, computers however need slight more code to accomplish the same result. With scanning you can "force" certain numbers into their spot. See figure \ref{scanning} for a example.
+
+\begin{figure}[!ht]
+    \begin{center}
+    \includegraphics{scanning.eps}
+    \end{center} 
+    \caption{The 3Ã3 region in the top-left corner. The solver can eliminate all of the empty cells in the top-right corner which cannot contain a 5. This leaves only one possible cell (highlighted in green).\cite{wikipedia}}
+    \label{scanning}
+\end{figure}
+
+\newpage
+\subsection{Analysis}
+Analysis will be even more complex. It can consist many methods to logically gain a solution. There is one pointed out (and implemented). Let's pretend we have a row in which are 3 spot's still to be filled. 
+
+Options to spot A: 1, 2 ,3
+Options to spot B: 2, 3
+Options to spot C: 2, 3
+
+B and C together will use number 2 and 3, so A has to be 1. It's just an other ''simple solution'', but implementing it it's a bit hard.
+\begin{figure}[!ht]
+    \begin{center}
+    \includegraphics{cplusplus.eps}
+    \end{center} 
+    \label{cplusplus}
+\end{figure}
+
+\section{Implementation}
+
+The solver and create program are both written in C$\stackrel{++}{}$. It uses a 2d array to impement the sudoku board and  a 3d array  to implement the current available choices at the board.
+
+\newpage
+\section{Creating soduku's}
+
+There are 3 main ways to create sudoku's
+\begin{enumerate}
+\item Randomizing stupid, just push for example 17 random numbers inside the sudoku and hope none of them will interference.
+\item Randoming smart, push for example 17 random numbers inside the sudoku and be sure none of them will be a violation of the structure.
+\item ''Cleaning'' first generate a complete sudoku. Then get your wiper\/cleaner and delete some numbers. This solution is a bit difficult and will use a lot of math to generate a full puzzle and you are not sure if the puzzle has got only one solution.
+\end{enumerate}
+
+\section{Experiments}
+
+\subsection{Solver}
+First we will test the solver. The website of G.~Royle\cite{gordon} has got plenty solveble 17 sudoku's. A few of them are placed at Appendix C. There is a small shell script written (Appendix B) to test the result. By trying to solve 1000 puzzles, the program managed to complete 547, the other puzzles requires some more logic implemented to solve them.
+
+
+\subsection{Generator}
+The generator will generate of puzzle of class 2 (Random and not very stupid), the solver will try to fix this puzzle. No checks for unique solutions will be made. Table below will point out the results by running the test 10000 times.
+
+\begin{center}
+\begin{tabular}{l|l|l}
+Percent sudoku filled initially & Solutions found 1st round & Solutions found 2nd round\\
+\hline
+10\% &0 &0\\
+20\% &0 &0\\
+30\% &160 &0\\
+40\% &0 &0\\
+50\% &0 &0\\
+\end{tabular}
+\end{center}
+
+
+\section{Conclusion}
+
+The solver ain't good enough yet, he should fix every puzzle and not 50\%, need to program some aditional logic. The creator isn't very good either, only 30\% will generate some solveble puzzles, It properly have something to do with the very bad random generator, the random seed if filled with the unix time in which in 100 occured process will be the same. The creator needs method 3 to be implemented to validate this assumption or a rewrite of the code.
+
+\begin{thebibliography}{1}
+\bibitem{wikipedia}
+Wikipedia Foundation Inc,
+http://en.wikipedia.org/wiki/Sudoku
+\bibitem{gordon}
+G.~Royle, Minimum Sudoku
+http://www.csse.uwa.edu.au/\~{}gordon/sudokumin.php
+\end{thebibliography}
+
+\newpage
+\section*{Appendix A: sudoku.cpp}
+The following  C$\stackrel{++}{}$ has been used to solve the puzzles
+
+\begin{small}
+\begin{verbatim}
+
+/* file: sudoku.c
+ * author: rick van der Zwet 0433373, 2006
+ * University Leiden, LIACS
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <signal.h>
+
+#define MAX_XYZ 9
+#define EMPTY_SPOT '_'
+
+
+#define bold "[1m"
+#define normal "[0m"
+
+#define DEBUGPLACE stderr
+const char esc = 27;            /* escape character */
+
+
+int debug(const int level = 0)
+{
+#if DEBUG
+    if (level <= DEBUG)
+    {
+        return(1);
+    }
+    else
+    {
+        return(0);
+    }
+#else
+    return(0);
+#endif
+}
+
+class Sudoku {
+    public:
+        Sudoku();
+        void printNice(const int boldRow = -1, const int boldCol = -1, const char emptcolSpace = EMPTY_SPOT);
+        void printRaw();
+        void printPossible();
+        void printPossibleAtNumber(const int row, const int col);
+        void reset();
+        int randomNumbers(const double chance);
+        int fromFile(FILE *handle);
+        int insert(const int row, const int col, const int number);
+        int solutionFinder();
+    private:
+        int _sudoku[MAX_XYZ][MAX_XYZ];
+        bool _possible[MAX_XYZ][MAX_XYZ][MAX_XYZ];
+        int _numbersFilled;
+        void _updatePossibleList(const int row, const int col, const int number);
+        bool _solution1(int &row, int &col, int &number);
+        bool _solution2(int &row, int &col, int &number);
+        bool _solution3a(int &row, int &col, int &number);
+        bool _solution3b(int &row, int &col, int &number);
+};
+
+Sudoku::Sudoku()
+{
+    reset();
+}
+
+
+void Sudoku::printRaw()
+{
+    int row,col;
+    for (row = 0; row < MAX_XYZ ; row++)
+    {
+        for (col = 0; col < MAX_XYZ; col++)
+        {
+            printf("%i ", _sudoku[row][col]);
+        }
+        printf("\n");
+    }
+}
+void Sudoku::printNice(const int boldRow, const int boldCol,
+                       const char emptcolSpace)
+{
+   int row,col;
+   int tmpRow;
+   const int maxRow = (MAX_XYZ + (MAX_XYZ / 3)) * 2 + 1;
+   for(tmpRow = 0; tmpRow < maxRow; tmpRow++)
+   {
+       if ((tmpRow%8) == 0) { printf("+"); }else {printf("-");} 
+   }
+   printf("\n");
+   for (row = 0; row < MAX_XYZ ; row++)
+   {
+       printf("| ");
+       for (col = 0; col < MAX_XYZ; col++)
+       {
+            if ( _sudoku[row][col] == 0)
+            {
+                printf("%c ",emptcolSpace);
+            }
+            else
+            {
+                if (row == boldRow && col == boldCol)
+                {
+                     printf("%c%s%i%c%s ",esc, bold, _sudoku[row][col],
+                                          esc, normal);
+                }
+                else
+                {
+                    printf("%i ", _sudoku[row][col]);
+                }
+            }
+            if ( ((col - 2) % 3) == 0 )
+            {
+                printf("| ");
+            }
+        }
+       printf("\n");
+       if ( ((row - 2) % 3) == 0 )
+       {
+            for(tmpRow = 0; tmpRow < maxRow; tmpRow++) 
+            {
+                if ((tmpRow%8) == 0)
+                {
+                    printf("+");
+                }
+                else 
+                {
+                    printf("-");
+                } 
+            }
+            printf("\n");
+       }
+    }
+        printf("\n\n");
+}
+
+void Sudoku::printPossibleAtNumber(const int row, const int col)
+{
+    if (debug(3))
+    {
+        int tmpPossible;
+        fprintf(DEBUGPLACE, "Possible at [%i,%i]: ", row, col);
+        for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+        {
+            if (_possible[row][col][tmpPossible] == true)
+            {
+                fprintf(DEBUGPLACE,"%i ", tmpPossible + 1);
+            }
+        }
+        fprintf(DEBUGPLACE, "\n");
+    }
+}
+
+void Sudoku::printPossible()
+{
+   int row,col;
+   if (debug(3))
+   {
+        for (row = 0; row < MAX_XYZ ; row++)
+        {
+            for (col = 0; col < MAX_XYZ; col++)
+            {
+                if(_sudoku[row][col] == 0)
+                {
+                    printPossibleAtNumber(row,col);
+                }
+            }
+        }
+    }
+}
+
+
+void Sudoku::_updatePossibleList(const int row, const int col, const int number)
+{
+    int tmpRow;
+    int tmpCol;
+    int blockRow;
+    int blockCol;
+    int c;
+
+
+    /* Row and Col and Number own */
+    for (c = 0; c < MAX_XYZ; c++)
+    {
+        _possible[row][col][c] = false;
+        _possible[row][c][number - 1] = false;
+        _possible[c][col][number - 1] = false;
+    }
+
+    /* Block */
+    tmpRow = row - (row % (MAX_XYZ / 3));
+    tmpCol = col - (col % (MAX_XYZ / 3));
+    for (blockRow = tmpRow; blockRow < (tmpRow + 3); blockRow++)
+    {
+        for (blockCol = tmpCol; blockCol < (tmpCol + 3); blockCol++)
+        {
+            _possible[blockRow][blockCol][number - 1] = false;
+        }
+    }
+}
+
+int Sudoku::insert(const int row, const int col, const int number)
+{
+    if (debug(1)) { fprintf(DEBUGPLACE, "Will insert %i at [%i,%i]: %i\n", 
+                    number, row, col, _possible[row][col][number - 1]); }
+
+    if (_possible[row][col][number - 1] == true)
+    {
+        _updatePossibleList(row, col, number);
+        _sudoku[row][col] = number;
+        _numbersFilled++;
+        return(0);
+    }
+    else
+    {
+        return(1);
+    }
+}
+
+int Sudoku::randomNumbers(const double chance)
+{
+   if (debug(1)) { fprintf(DEBUGPLACE, "Running createsudoku\n"); }
+   int row;
+   int col;
+   int c;
+   int randomnumber;
+   int numberdone[MAX_XYZ];
+   int numbertried;
+
+   srand( (unsigned)time( NULL ) );
+
+   for (row = 0; row < MAX_XYZ; row++)
+   {
+       for (col = 0; col < MAX_XYZ; col++)
+       {
+           if (rand() < (RAND_MAX * (chance / 100)))
+           {
+               numbertried = 0;
+               for (c = 0; c < MAX_XYZ; c++ ) { numberdone[c] = 0; }
+               do
+               {
+                   if (numbertried == 9)
+                   {
+                       return(1);
+                   }
+                   else
+                   {
+                       numbertried++;
+                   }
+                 do
+                 {
+                    randomnumber = 1 + (int) ( (double)MAX_XYZ * (random() / (RAND_MAX + 1.0)));
+                 } while (numberdone[randomnumber - 1] == 1);
+                 numberdone[randomnumber - 1] = 1;
+                 if (debug(2)) { fprintf(DEBUGPLACE, "Random check number %i at [%i,%i]\n",
+                         randomnumber, row,col); }
+               } while ( insert(row, col, randomnumber) == 1);
+            }
+            else
+            {
+                _sudoku[row][col] = 0;
+            }
+        }
+    }
+    return(0);
+}
+
+void Sudoku::reset()
+{
+    //temp counters
+    int row;
+    int col;
+    int z;
+
+    _numbersFilled = 0;
+    for (row = 0; row < MAX_XYZ; row++)
+    {
+        for (col = 0; col < MAX_XYZ; col++)
+        {
+            _sudoku[row][col] = 0;
+            for (z = 0; z < MAX_XYZ; z++)
+            {
+                _possible[row][col][z] = true;
+            }
+        }
+    }
+}
+
+int Sudoku::fromFile(FILE *handle)
+{
+        int row;
+        int col;
+        int tmpInt;
+        for (row = 0; row < MAX_XYZ; row++)
+        {
+            for (col = 0; col < MAX_XYZ; col++)
+            {
+                fscanf(handle, "%1i", &tmpInt);
+                if (tmpInt != 0)
+                {
+                    insert(row, col, tmpInt);
+                }
+            }
+        }
+        fclose(handle);
+        return(0);
+}
+
+/* Use Basic technique of finding places with just one number left to place */
+bool Sudoku::_solution1(int &row, int &col, int &number)
+{
+    #define NOTHING_FOUND 0
+    #define ONE_FOUND 1
+    #define MORE_THEN_ONE_FOUND 2
+    int tmpRow;
+    int tmpCol;
+    int tmpPossible;
+    int tmpNumber;
+    int searchState;
+
+    for (tmpRow = 0; tmpRow < MAX_XYZ; tmpRow++)
+    {
+        for (tmpCol = 0; tmpCol < MAX_XYZ; tmpCol++)
+        {
+            if (_sudoku[tmpRow][tmpCol] == 0)
+            {
+                tmpNumber = 0;
+                searchState = NOTHING_FOUND;
+                for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                {
+                    if (_possible[tmpRow][tmpCol][tmpPossible] == true &&
+                        searchState == ONE_FOUND)
+                    {
+                        searchState = MORE_THEN_ONE_FOUND;
+                        break;
+                    }
+                    else if (_possible[tmpRow][tmpCol][tmpPossible] == true &&
+                             searchState == NOTHING_FOUND)
+                    {
+                        tmpNumber = tmpPossible + 1;
+                        searchState = ONE_FOUND;
+                    }
+                }
+                if (searchState == ONE_FOUND)
+                {
+                    row = tmpRow;
+                    col = tmpCol;
+                    number = tmpNumber;
+                    return(true);
+                }
+            }
+        }
+    }
+
+    return(false);
+}
+
+/* Check if number can onlcol be placed somewhere, if not able to place anywhere else */
+/* FIXME: Should be more modular, to reduce line length and readabilitcol */
+/* FIXME: find nice solution for goto's */
+bool Sudoku::_solution2(int &row, int &col, int &number)
+{
+    int tmpRow;
+    int tmpCol;
+    int tmpPossible;
+    int tmpNumber;
+
+    int blockRow;
+    int blockTmpRow;
+    int blockCol;
+    int blockTmpCol;
+    bool result;
+
+    for (tmpRow = 0; tmpRow < MAX_XYZ; tmpRow++)
+    {
+        for (tmpCol = 0; tmpCol < MAX_XYZ; tmpCol++)
+        {
+            if (_sudoku[tmpRow][tmpCol] == 0)
+            {
+                for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                {
+                    if (_possible[tmpRow][tmpCol][tmpPossible] == true)
+                    {
+                       if (debug(3))
+                       {
+                           fprintf(DEBUGPLACE,
+                                   "DEBUG SOL 2: Checking [%i,%i], number: %i...\n",
+                                   tmpRow,tmpCol,(tmpPossible +1)); 
+                       }
+                        /* checkRow */
+                        result = true;
+                        for (tmpNumber = 0; tmpNumber < MAX_XYZ; tmpNumber++)
+                        {
+                            if (_possible[tmpNumber][tmpCol][tmpPossible] == true &&
+                                tmpRow != tmpNumber)
+                            {
+                                if (debug(3))
+                                {
+                                    fprintf(DEBUGPLACE,
+                                            "DEBUG SOL 2: ..failed at Rowcheck bcol [%i,%i]\n",
+                                            tmpNumber,tmpCol);
+                                }
+                                result = false;
+                                break;
+                            }
+                        }
+                        if (result == true)
+                        {
+                            if (debug(3)) { fprintf(DEBUGPLACE,"DEBUG SOL 2: ..succesfull at Rowcheck\n"); }
+                            goto solutionFound;
+                        }
+
+                        /* checkCol */
+                        result = true;
+                        for (tmpNumber = 0; tmpNumber < MAX_XYZ; tmpNumber++)
+                        {
+                            if (_possible[tmpRow][tmpNumber][tmpPossible] == true &&
+                                tmpCol != tmpNumber)
+                            {
+                                if (debug(3))
+                                {
+                                    fprintf(
+                                            DEBUGPLACE,
+                                            "DEBUG SOL 2: ..failed at Cowcheck bcol [%i,%i]\n",
+                                            tmpRow,tmpNumber);
+                                }
+                                result = false;
+                                break;
+                            }
+                        }
+                        if (result == true)
+                        {
+                            if (debug(3)) { fprintf(DEBUGPLACE,"DEBUG SOL 2: ..succesfull at Cowcheck\n"); }
+                            goto solutionFound;
+                        }
+
+                        /* checkBlock */
+                        result = true;
+                        blockTmpRow = tmpRow - (tmpRow % (MAX_XYZ / 3));
+                        blockTmpCol = tmpCol - (tmpCol % (MAX_XYZ / 3));
+                        for (blockRow = blockTmpRow; blockRow < (blockTmpRow + 3); blockRow++)
+                        {
+                            for (blockCol = blockTmpCol; blockCol < (blockTmpCol + 3); blockCol++)
+                            {
+                               if (debug(4))
+                               {
+                                   fprintf(DEBUGPLACE,"DEBUG SOL 2: ..checking [%i,%i]\n",blockRow,blockCol);
+                               }
+                               if(_possible[blockRow][blockCol][tmpPossible] == true &&
+                                  (not (tmpRow == blockRow && tmpCol == blockCol)) )
+                               {
+                                    if (debug(4)) { fprintf(DEBUGPLACE,"DEBUG SOL 2: ...will cause failure\n"); }
+                                    result = false;
+                                    goto blockCheckFailed;
+                               }
+                               else
+                               {
+                                if (debug(4)) { fprintf(DEBUGPLACE,"DEBUG SOL 2: ...will be no harm\n"); }
+                               }
+                            }
+                        }
+blockCheckFailed:
+                        if (result == true)
+                        {
+                            if (debug(3)) { fprintf(DEBUGPLACE,"DEBUG SOL 2: ..succesfull at Blockcheck\n"); }
+                            goto solutionFound;
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    return(false);
+
+solutionFound:
+    row = tmpRow;
+    col = tmpCol;
+    number = tmpPossible + 1;
+    return(true);
+}
+
+/* available striper, row based */
+/* FIXME: Should be more modular, to reduce line length and readabilitcol */
+bool Sudoku::_solution3a(int &row, int &col, int &number)
+{
+    int tmpRow;
+    int tmpCol;
+    int tmpPossible;
+    int tmpPossible2;
+    int tmpColNumber;
+    int tmpNumber[MAX_XYZ];
+    int tmpAllNumbers;
+    int tmpAllNumbersFound;
+
+    bool result;
+
+    for (tmpRow = 0; tmpRow < MAX_XYZ; tmpRow++)
+    {
+        for (tmpCol = 0; tmpCol < MAX_XYZ; tmpCol++)
+        {
+            if (_sudoku[tmpRow][tmpCol] == 0)
+            {
+            if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3a DEBUG Checking [%i,%i]...\n",tmpRow,tmpCol); }
+                /* Set all numbers */
+                tmpAllNumbers = 0;
+                for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                {
+                    if (_possible[tmpRow][tmpCol][tmpPossible] == true)
+                    {
+                        tmpNumber[tmpPossible] = 1;
+                        tmpAllNumbers++;
+                    }
+                    else
+                    {
+                        tmpNumber[tmpPossible] = 0;
+                    }
+                }
+                if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3a DEBUG %i\n", tmpAllNumbers); }
+                if (tmpAllNumbers != 0)
+                {
+                    for (tmpColNumber = 0; tmpColNumber < MAX_XYZ; tmpColNumber++)
+                    {
+                        if (_sudoku[tmpRow][tmpColNumber] == 0 && tmpColNumber != tmpCol)
+                        {
+                            result = true;
+                            for (tmpPossible2 = 0; tmpPossible2 < MAX_XYZ; tmpPossible2++)
+                            {
+                                if ( _possible[tmpRow][tmpColNumber][tmpPossible2] == true &&
+                                      _possible[tmpRow][tmpCol][tmpPossible2] == false)
+                                {
+                                    if (debug(3))
+                                    {
+                                        fprintf(DEBUGPLACE,"SOL 3a DEBUG [%i,%i] failed at %i\n", 
+                                                tmpRow, tmpColNumber,tmpPossible2+1);
+                                    }
+                                    result = false;
+                                    break;
+                                }
+                            }
+                            if (result == true)
+                            {
+                                if (debug(3))
+                                {
+                                    fprintf(DEBUGPLACE,"SOL 3a DEBUG [%i,%i] will increase\n",
+                                            tmpRow, tmpColNumber);
+                                }
+                                for (tmpPossible2 = 0; tmpPossible2 < MAX_XYZ; tmpPossible2++)
+                                {
+                                    if (_possible[tmpRow][tmpColNumber][tmpPossible2] == true)
+                                    {
+                                        if (debug(3)) { fprintf(DEBUGPLACE,
+                                                "SOL 3a DEBUG [%i,%i] will increase possible %i to %i\n",
+                                                tmpRow, tmpColNumber, tmpPossible2 + 1, tmpNumber[tmpPossible2] + 1);
+                                        }
+                                    
+                                        if (tmpNumber[tmpPossible2] == tmpAllNumbers)
+                                        {
+                                            goto colCheckFailed;
+                                        }
+                                        else
+                                        {
+                                            tmpNumber[tmpPossible2]++;
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    /* calculate if result found */
+                    tmpAllNumbersFound = 1;
+                    for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                    {
+                        if (tmpNumber[tmpPossible] == tmpAllNumbers)
+                        {
+                            tmpAllNumbersFound++;
+                            if (debug(3))
+                            {
+                                fprintf(DEBUGPLACE,
+                                        "SOL 3b DEBUG %i reduced tmpAllNumbers to %i\n",
+                                        tmpPossible + 1, tmpAllNumbers);
+                            }
+                        }
+                    }
+
+                    if (tmpAllNumbersFound == tmpAllNumbers)
+                    {
+                        for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                        {
+                            if (tmpNumber[tmpPossible] == 1)
+                            {
+                                row = tmpRow;
+                                col = tmpCol;
+                                number = tmpPossible + 1;
+                                return(true);
+                            }
+                        }
+                    }
+                }
+            } //end if
+colCheckFailed:
+        if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3c DEBUG no failed solution found\n"); }
+        }
+    }
+    return(false);
+}
+
+/* available striper, col based, note row number will change ;-) */
+/* FIXME: Should be more modular, to reduce line length and readabilitcol */
+bool Sudoku::_solution3b(int &row, int &col, int &number)
+{
+    int tmpRow;
+    int tmpCol;
+    int tmpPossible;
+    int tmpPossible2;
+    int tmpRowNumber;
+    int tmpNumber[MAX_XYZ];
+    int tmpAllNumbers;
+    int tmpAllNumbersFound;
+
+    bool result;
+
+    for (tmpRow = 0; tmpRow < MAX_XYZ; tmpRow++)
+    {
+        for (tmpCol = 0; tmpCol < MAX_XYZ; tmpCol++)
+        {
+            if (_sudoku[tmpRow][tmpCol] == 0)
+            {
+            if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3b DEBUG Checking [%i,%i]...\n",tmpRow,tmpCol); }
+                /* Set all numbers */
+                tmpAllNumbers = 0;
+                for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                {
+                    if (_possible[tmpRow][tmpCol][tmpPossible] == true)
+                    {
+                        tmpNumber[tmpPossible] = 1;
+                        tmpAllNumbers++;
+                    }
+                    else
+                    {
+                        tmpNumber[tmpPossible] = 0;
+                    }
+                }
+                if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3b DEBUG %i\n", tmpAllNumbers); }
+                if (tmpAllNumbers != 0)
+                {
+                    for (tmpRowNumber = 0; tmpRowNumber < MAX_XYZ; tmpRowNumber++)
+                    {
+                        if (_sudoku[tmpRowNumber][tmpCol] == 0 && tmpRowNumber != tmpRow)
+                        {
+                            result = true;
+                            for (tmpPossible2 = 0; tmpPossible2 < MAX_XYZ; tmpPossible2++)
+                            {
+                                if ( _possible[tmpRowNumber][tmpCol][tmpPossible2] == true &&
+                                      _possible[tmpRow][tmpCol][tmpPossible2] == false)
+                                {
+                                    if (debug(3))
+                                    {
+                                        fprintf(DEBUGPLACE,
+                                                "SOL 3b DEBUG [%i,%i] failed at %i\n",
+                                                tmpRowNumber, tmpCol,tmpPossible2+1);
+                                    }
+                                    result = false;
+                                    break;
+                                }
+                            }
+                            if (result == true)
+                            {
+                                if (debug(3)) { fprintf(DEBUGPLACE,
+                                        "SOL 3b DEBUG [%i,%i] will increase\n",
+                                        tmpRowNumber, tmpCol);
+                                }
+                                for (tmpPossible2 = 0; tmpPossible2 < MAX_XYZ; tmpPossible2++)
+                                {
+                                    if (_possible[tmpRowNumber][tmpCol][tmpPossible2] == true)
+                                    {
+                                        if (debug(3))
+                                        {
+                                            fprintf(DEBUGPLACE,
+                                                    "SOL 3b DEBUG [%i,%i] will increase possible %i to %i\n",
+                                                    tmpRowNumber, tmpCol, tmpPossible2 + 1,
+                                                    tmpNumber[tmpPossible2] + 1);
+                                        }
+                                    
+                                        if (tmpNumber[tmpPossible2] == tmpAllNumbers)
+                                        {
+                                            goto rowCheckFailed;
+                                        }
+                                        else
+                                        {
+                                            tmpNumber[tmpPossible2]++;
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    /* calculate if result found */
+                    tmpAllNumbersFound = 1;
+                    for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                    {
+                        if (tmpNumber[tmpPossible] == tmpAllNumbers)
+                        {
+                            tmpAllNumbersFound++;
+                            if (debug(3))
+                            {
+                                fprintf(DEBUGPLACE,
+                                    "SOL 3b DEBUG %i reduced tmpAllNumbers to %i\n",
+                                    tmpPossible + 1, tmpAllNumbers);
+                            }
+                        }
+                    }
+
+                    if (tmpAllNumbersFound == tmpAllNumbers)
+                    {
+                        for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                        {
+                            if (tmpNumber[tmpPossible] == 1)
+                            {
+                                row = tmpRow;
+                                col = tmpCol;
+                                number = tmpPossible + 1;
+                                return(true);
+                            }
+                        }
+                    }
+                }
+            } //end if
+rowCheckFailed:
+            if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3b DEBUG no failed solution found\n"); }
+        }
+    }
+    return(false);
+}
+int Sudoku::solutionFinder()
+{
+    #define NO_SOLUTION 0
+    #define SOLUTION_1 1
+    #define SOLUTION_2 2
+    #define SOLUTION_3a 3
+    #define SOLUTION_3b 4
+    #define SOLUTION_3c 5
+    int row;
+    int col;
+    int number;
+
+    bool gameAnalcolzed;
+    int returnCode;
+    int solutionNumber;
+
+    gameAnalcolzed = false;
+
+    while( gameAnalcolzed == false )
+    {
+        solutionNumber = NO_SOLUTION;
+        if (_numbersFilled == MAX_XYZ * MAX_XYZ)
+        {
+            gameAnalcolzed = true;
+            returnCode = 0;
+        }
+        else
+        {
+            if (_solution1(row, col, number) == true)
+            {
+                solutionNumber = SOLUTION_1;
+            }
+            else if(_solution2(row, col, number) == true)
+            {
+                solutionNumber = SOLUTION_2;
+            }
+            else if(_solution3a(row, col, number) == true)
+            {
+                solutionNumber = SOLUTION_3a;
+            }
+            else if(_solution3b(row, col, number) == true)
+            {
+                solutionNumber = SOLUTION_3b;
+            }
+            else
+            {
+                gameAnalcolzed = true;
+                returnCode = 1;
+            }
+        }
+
+        if (solutionNumber != NO_SOLUTION)
+        {
+            insert(row, col, number);
+            printf("Filled in %i at [%i,%i] found with finder %i\n", number, row, col, solutionNumber);
+            printf("Total Numbers filled %i\n", _numbersFilled);
+            printNice(row, col);
+            getchar();
+        }
+
+    }
+    return(returnCode);
+}
+
+int main(int argc, char *argv[])
+{
+    Sudoku puzzel;
+    int timesFailed;
+    int returnCode;
+
+    returnCode = 0;
+
+    if (argc == 3 && strcmp(argv[1], "-f") == 0)
+    {
+        if (strcmp(argv[2], "-") == 0)
+        {
+            if (debug(1)) { fprintf(DEBUGPLACE, "Reading from 'stdin'\n"); }
+            puzzel.fromFile(stdin);
+        }
+        else
+        {
+            if (debug(1)) { fprintf(DEBUGPLACE, "Reading from %s\n",argv[2]); }
+            puzzel.fromFile(fopen(argv[2], "r"));
+        }
+        printf("I have read this puzzle\n");
+        puzzel.printNice();
+        returnCode = puzzel.solutionFinder();
+        if (returnCode == 0)
+        {
+            printf("I Guess this will be the final solution\n");
+            puzzel.printNice();
+        }
+        else
+        {
+            printf("Finding Solution failed, error code: %i\n", returnCode);
+            printf("Failed at puzzle\n");
+            puzzel.printNice();
+            puzzel.printPossible();
+        }
+    }
+    else if (argc == 3 && strcmp(argv[1], "-c") == 0)
+    {
+        fprintf(DEBUGPLACE,"Please wait will generating puzzle");
+        timesFailed = 0;
+        while (puzzel.randomNumbers(strtod(argv[2], NULL)) == 1 )
+        {
+            timesFailed++;
+            if (debug(1))
+            {
+                fprintf(DEBUGPLACE, "Failed to created the puzzel at the %i round\n", timesFailed);
+            }
+            else
+            {
+                fprintf(DEBUGPLACE,".");
+            }
+            puzzel.reset();
+        }
+        fprintf(DEBUGPLACE, "\nResult, (NOTE(!): puzzle might not be solveble)\n");
+        puzzel.printRaw();
+    }
+    else
+    {
+        printf("Usage %s -f <filename>\n",argv[0]);
+        printf("NOTE 1: No error checking done, valid input puzzel will be ");
+        printf("generated the -c flags\n");
+        printf("NOTE 2: if <filename> = -, stdin will be used as input");
+        printf("Usage %s -c <percent filled> To create a new puzzle\n",argv[0]);
+        printf("NOTE 1: Above 60%% it will be a bit hard to create ");
+        printf("a puzzle\n");
+        printf("NOTE 2: Puzzle generated will not always be solveble\n");
+        returnCode = 128;
+    }
+    return(returnCode);
+}
+
+
+\end{verbatim}
+\end{small}
+
+\newpage
+\section*{Appendix B: sudoku.cpp}
+Sample of 17-clue puzzles found at Minimum Sudoku\cite{gordon}. Input Row based.
+
+\begin{small}
+\begin{verbatim}
+000000010400000000020000000000050407008000300001090000300400200050100000000806000
+000000010400000000020000000000050604008000300001090000300400200050100000000807000
+000000012000035000000600070700000300000400800100000000000120000080000040050000600
+000000012003600000000007000410020000000500300700000600280000040000300500000000000
+000000012008030000000000040120500000000004700060000000507000300000620000000100000
+000000012040050000000009000070600400000100000000000050000087500601000300200000000
+000000012050400000000000030700600400001000000000080000920000800000510700000003000
+000000012300000060000040000900000500000001070020000000000350400001400800060000000
+000000012400090000000000050070200000600000400000108000018000000000030700502000000
+000000012500008000000700000600120000700000450000030000030000800000500700020000000
+000000012700060000000000050080200000600000400000109000019000000000030800502000000
+000000012800040000000000060090200000700000400000501000015000000000030900602000000
+000000013000500070000802000000400900107000000000000200890000050040000600000010000
+000000013000700060000508000000400800106000000000000200740000050020000400000010000
+000000013000700060000509000000400900106000000000000200740000050080000400000010000
+000000013000800070000502000000400900107000000000000200890000050040000600000010000
+000000013020500000000000000103000070000802000004000000000340500670000200000010000
+000000013040000080200060000609000400000800000000300000030100500000040706000000000
+000000013040000080200060000906000400000800000000300000030100500000040706000000000
+000000013040000090200070000607000400000300000000900000030100500000060807000000000
+...
+\end{verbatim}
+\end{small}
+
+\newpage
+\section*{Appendix C: sudoku.cpp}
+The following  Shell code has been used to generate the test results
+
+\begin{small}
+\begin{verbatim}
+#!/bin/sh
+# file: testcase.sh
+# author: Rick van der Zwet, 0433373
+# University Leiden, LIACS
+timesPlayed=0
+timesWon=0
+timesLost=0
+if [ "x$1" == "x" ]; then
+    totalNumber=100
+else
+    totalNumber=$1
+fi
+
+for puzzle in `cat puzzles17`
+do
+    let "timesPlayed+=1"
+    echo "${puzzle}" | ./sudoku -f - >/dev/null
+    if [ "x$?" == "x0" ]; then
+        let "timesWon+=1"
+    else
+        let "timesLost+=1"
+    fi
+    echo "Played: ${timesPlayed}"
+    echo "won   : ${timesWon}"
+    echo "lost  : ${timesLost}"
+    if [ "x${timesPlayed}" == "x${totalNumber}" ]; then
+        break
+    fi
+done
+\end{verbatim}
+\end{small}
+
+\end{document}
Index: /liacs/ai/sudoku/latex/sudoku.tex.bak
===================================================================
--- /liacs/ai/sudoku/latex/sudoku.tex.bak	(revision 2)
+++ /liacs/ai/sudoku/latex/sudoku.tex.bak	(revision 2)
@@ -0,0 +1,1086 @@
+%
+% verslag.tex   9.2.2006
+% Sudoku verslag 
+%
+
+\documentclass[12pt]{article}
+
+\frenchspacing
+\usepackage[english]{babel}
+\selectlanguage{english}
+\usepackage{graphicx}
+\usepackage{wrapfig}
+
+\author{Rick van der Zwet, Leiden University  \\ Leiden Institute of Advanced Computer Science}
+\title{Creating and solving Sudoku's}
+
+\begin{document}
+\maketitle
+\section{Introduction}
+\subsection{History}
+\begin{quote}
+The name Sudoku is the Japanese abbreviation of a longer phrase, ''suuji wa dokushin ni kagiru'' meaning ''the digits must remain single''; it is a trademark of puzzle publisher Nikoli Co. Ltd in Japan. 
+
+The numerals in Sudoku puzzles are used for convenience; arithmetic relationships between numerals are absolutely irrelevant. Any set of distinct symbols will do; letters, shapes, or colors may be used without altering the rules (Penny Press' Scramblets and Knight Features Syndicate's Sudoku Word both use letters). Dell Magazines, the puzzle's originator, has been using numerals for Number Place in its magazines since they first published it in 1979. Numerals are used throughout this article.
+
+The attraction of the puzzle is that the completion rules are simple, yet the line of reasoning required to reach the completion may be complex. Sudoku is recommended by some teachers as an exercise in logical reasoning. The level of difficulty of the puzzles can be selected to suit the audience. The puzzles are often available free from published sources and also may be custom-generated using software.\cite{wikipedia}
+\end{quote}
+
+\newpage
+\subsection{Game-play}
+\begin{wrapfigure}{r}{50mm}
+    \includegraphics[scale=0.5]{sudoku.eps}
+    \caption{Sample sudoku}
+\end{wrapfigure}
+The puzzle is most frequently a 9Ã9 grid, made up of 3Ã3 sub-grids called ''regions'' (other terms include ''boxes'', ''blocks'', and the like when referring to the standard variation; even ''quadrant'' is sometimes used, despite this being an inaccurate term for a 9Ã9 grid). Some cells already contain numerals, known as ''givens'' (or sometimes as ''clues''). The goal is to fill in the empty cells, one numeral in each, so that each column, row, and region contains the numerals 1â9 exactly once. Each numeral in the solution therefore occurs only once in each of three ''directions'' or ''scopes'', hence the ''single numbers'' implied by the puzzle's name.\cite{wikipedia}
+
+\section{Problem}
+
+Not every combination of a board, is going to be successful and there is no algorithm who can predict whether a generated board is valid without completely solving the puzzle. So there has to be some other way to generate valid puzzles. First, there need to be a perfect solver written to test whether a puzzle has got only one solution.
+The second way to generate a valid puzzle is by creating a completely solved valid puzzle and delete a few spots, by checking if the puzzle still has got 1 unique solution. We are able to generate Sudoku's too.
+
+\newpage
+\section{Solution finding theories}
+
+There are currently 3 solutions know (by me) about solving the Soduku somehow.
+
+\subsection{Marking up}
+By deleting the non-available spots at every location, the remaining possibilities will become clear, you will notice at certain points only one option will be left, so this will be the number to be filled in.  As can be showed by figure \ref{marking_up}.
+
+\begin{figure}[!ht]
+\begin{center}
+    \includegraphics{marking_up.eps}
+\end{center}
+    \caption{Candidates for each empty cell have been entered. Some cells have only one candidate once obvious invalids have been excluded. Also, some mark with dots instead of numbers, simply using the position of the dot within the cell to distinguish them.\cite{wikipedia}}
+    \label{marking_up}
+\end{figure}
+
+
+\newpage
+\subsection{Scanning}
+Scanning will be a easy solution too to be used by humans, computers however need slight more code to accomplish the same result. With scanning you can "force" certain numbers into their spot. See figure \ref{scanning} for a example.
+
+\begin{figure}[!ht]
+    \begin{center}
+    \includegraphics{scanning.eps}
+    \end{center} 
+    \caption{The 3Ã3 region in the top-left corner. The solver can eliminate all of the empty cells in the top-right corner which cannot contain a 5. This leaves only one possible cell (highlighted in green).\cite{wikipedia}}
+    \label{scanning}
+\end{figure}
+
+\newpage
+\subsection{Analysis}
+Analysis will be even more complex. It can consist many methods to logically gain a solution. There is one pointed out (and implemented). Let's pretend we have a row in which are 3 spot's still to be filled. 
+
+Options to spot A: 1, 2 ,3
+Options to spot B: 2, 3
+Options to spot C: 2, 3
+
+B and C together will use number 2 and 3, so A has to be 1. It's just an other ''simple solution'', but implementing it it's a bit hard.
+\begin{figure}[!ht]
+    \begin{center}
+    \includegraphics{cplusplus.eps}
+    \end{center} 
+    \label{cplusplus}
+\end{figure}
+
+\section{Implementation}
+
+The solver and create program are both written in C$\stackrel{++}{}$. It uses a 2d array to implement the sudoku board and  a 3d array  to implement the current available choices at the board.
+
+\newpage
+\section{Creating Sudoku's}
+
+There are 3 main ways to create Sudoku's
+\begin{enumerate}
+\item Randomizing stupid, just push for example 17 random numbers inside the sudoku and hope none of them will interference.
+\item Randomizing smart, push for example 17 random numbers inside the sudoku and be sure none of them will be a violation of the structure.
+\item ''Cleaning'' first generate a complete sudoku. Then get your wiper\/cleaner and delete some numbers. This solution is a bit difficult and will use a lot of math to generate a full puzzle and you are not sure if the puzzle has got only one solution.
+\end{enumerate}
+
+\section{Experiments}
+
+\subsection{Solver}
+First we will test the solver. The website of G.~Royle\cite{gordon} has got plenty solvable 17 Sudoku's. A few of them are placed at Appendix C. There is a small shell script written (Appendix B) to test the result. By trying to solve 1000 puzzles, the program managed to complete 547, the other puzzles requires some more logic implemented to solve them.
+
+
+\subsection{Generator}
+The generator will generate of puzzle of class 2 (Random and not very stupid), the solver will try to fix this puzzle. No checks for unique solutions will be made. Table below will point out the results by running the test 10000 times.
+
+\begin{center}
+\begin{tabular}{l|l|l}
+Percent sudoku filled initially & Solutions found 1st round & Solutions found 2nd round\\
+\hline
+10\% &0 &0\\
+20\% &0 &0\\
+30\% &160 &0\\
+40\% &0 &0\\
+50\% &0 &0\\
+\end{tabular}
+\end{center}
+
+
+\section{Conclusion}
+
+The solver ain't good enough yet, he should fix every puzzle and not 50\%, need to program some additional logic. The creator isn't very good either, only 30\% will generate some solvable puzzles, It properly have something to do with the very bad random generator, the random seed if filled with the Unix time in which in 100 occurred process will be the same. The creator needs method 3 to be implemented to validate this assumption or a rewrite of the code.
+
+\begin{thebibliography}{1}
+\bibitem{wikipedia}
+Wikipedia Foundation Inc,
+http://en.wikipedia.org/wiki/Sudoku
+\bibitem{gordon}
+G.~Royle, Minimum Sudoku
+http://www.csse.uwa.edu.au/\~{}Gordon/sudokumin.php
+\end{thebibliography}
+
+\newpage
+\section*{Appendix A: sudoku.cpp}
+The following  C$\stackrel{++}{}$ has been used to solve the puzzles
+
+\begin{small}
+\begin{verbatim}
+
+/* file: sudoku.c
+ * author: rick van der Zwet 0433373, 2006
+ * University Leiden, LIACS
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <signal.h>
+
+#define MAX_XYZ 9
+#define EMPTY_SPOT '_'
+
+
+#define bold "[1m"
+#define normal "[0m"
+
+#define DEBUGPLACE stderr
+const char esc = 27;            /* escape character */
+
+
+int debug(const int level = 0)
+{
+#if DEBUG
+    if (level <= DEBUG)
+    {
+        return(1);
+    }
+    else
+    {
+        return(0);
+    }
+#else
+    return(0);
+#endif
+}
+
+class Sudoku {
+    public:
+        Sudoku();
+        void printNice(const int boldRow = -1, const int boldCol = -1, const char emptcolSpace = EMPTY_SPOT);
+        void printRaw();
+        void printPossible();
+        void printPossibleAtNumber(const int row, const int col);
+        void reset();
+        int randomNumbers(const double chance);
+        int fromFile(FILE *handle);
+        int insert(const int row, const int col, const int number);
+        int solutionFinder();
+    private:
+        int _sudoku[MAX_XYZ][MAX_XYZ];
+        bool _possible[MAX_XYZ][MAX_XYZ][MAX_XYZ];
+        int _numbersFilled;
+        void _updatePossibleList(const int row, const int col, const int number);
+        bool _solution1(int &row, int &col, int &number);
+        bool _solution2(int &row, int &col, int &number);
+        bool _solution3a(int &row, int &col, int &number);
+        bool _solution3b(int &row, int &col, int &number);
+};
+
+Sudoku::Sudoku()
+{
+    reset();
+}
+
+
+void Sudoku::printRaw()
+{
+    int row,col;
+    for (row = 0; row < MAX_XYZ ; row++)
+    {
+        for (col = 0; col < MAX_XYZ; col++)
+        {
+            printf("%i ", _sudoku[row][col]);
+        }
+        printf("\n");
+    }
+}
+void Sudoku::printNice(const int boldRow, const int boldCol,
+                       const char emptcolSpace)
+{
+   int row,col;
+   int tmpRow;
+   const int maxRow = (MAX_XYZ + (MAX_XYZ / 3)) * 2 + 1;
+   for(tmpRow = 0; tmpRow < maxRow; tmpRow++)
+   {
+       if ((tmpRow%8) == 0) { printf("+"); }else {printf("-");} 
+   }
+   printf("\n");
+   for (row = 0; row < MAX_XYZ ; row++)
+   {
+       printf("| ");
+       for (col = 0; col < MAX_XYZ; col++)
+       {
+            if ( _sudoku[row][col] == 0)
+            {
+                printf("%c ",emptcolSpace);
+            }
+            else
+            {
+                if (row == boldRow && col == boldCol)
+                {
+                     printf("%c%s%i%c%s ",esc, bold, _sudoku[row][col],
+                                          esc, normal);
+                }
+                else
+                {
+                    printf("%i ", _sudoku[row][col]);
+                }
+            }
+            if ( ((col - 2) % 3) == 0 )
+            {
+                printf("| ");
+            }
+        }
+       printf("\n");
+       if ( ((row - 2) % 3) == 0 )
+       {
+            for(tmpRow = 0; tmpRow < maxRow; tmpRow++) 
+            {
+                if ((tmpRow%8) == 0)
+                {
+                    printf("+");
+                }
+                else 
+                {
+                    printf("-");
+                } 
+            }
+            printf("\n");
+       }
+    }
+        printf("\n\n");
+}
+
+void Sudoku::printPossibleAtNumber(const int row, const int col)
+{
+    if (debug(3))
+    {
+        int tmpPossible;
+        fprintf(DEBUGPLACE, "Possible at [%i,%i]: ", row, col);
+        for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+        {
+            if (_possible[row][col][tmpPossible] == true)
+            {
+                fprintf(DEBUGPLACE,"%i ", tmpPossible + 1);
+            }
+        }
+        fprintf(DEBUGPLACE, "\n");
+    }
+}
+
+void Sudoku::printPossible()
+{
+   int row,col;
+   if (debug(3))
+   {
+        for (row = 0; row < MAX_XYZ ; row++)
+        {
+            for (col = 0; col < MAX_XYZ; col++)
+            {
+                if(_sudoku[row][col] == 0)
+                {
+                    printPossibleAtNumber(row,col);
+                }
+            }
+        }
+    }
+}
+
+
+void Sudoku::_updatePossibleList(const int row, const int col, const int number)
+{
+    int tmpRow;
+    int tmpCol;
+    int blockRow;
+    int blockCol;
+    int c;
+
+
+    /* Row and Col and Number own */
+    for (c = 0; c < MAX_XYZ; c++)
+    {
+        _possible[row][col][c] = false;
+        _possible[row][c][number - 1] = false;
+        _possible[c][col][number - 1] = false;
+    }
+
+    /* Block */
+    tmpRow = row - (row % (MAX_XYZ / 3));
+    tmpCol = col - (col % (MAX_XYZ / 3));
+    for (blockRow = tmpRow; blockRow < (tmpRow + 3); blockRow++)
+    {
+        for (blockCol = tmpCol; blockCol < (tmpCol + 3); blockCol++)
+        {
+            _possible[blockRow][blockCol][number - 1] = false;
+        }
+    }
+}
+
+int Sudoku::insert(const int row, const int col, const int number)
+{
+    if (debug(1)) { fprintf(DEBUGPLACE, "Will insert %i at [%i,%i]: %i\n", 
+                    number, row, col, _possible[row][col][number - 1]); }
+
+    if (_possible[row][col][number - 1] == true)
+    {
+        _updatePossibleList(row, col, number);
+        _sudoku[row][col] = number;
+        _numbersFilled++;
+        return(0);
+    }
+    else
+    {
+        return(1);
+    }
+}
+
+int Sudoku::randomNumbers(const double chance)
+{
+   if (debug(1)) { fprintf(DEBUGPLACE, "Running createsudoku\n"); }
+   int row;
+   int col;
+   int c;
+   int randomnumber;
+   int numberdone[MAX_XYZ];
+   int numbertried;
+
+   srand( (unsigned)time( NULL ) );
+
+   for (row = 0; row < MAX_XYZ; row++)
+   {
+       for (col = 0; col < MAX_XYZ; col++)
+       {
+           if (rand() < (RAND_MAX * (chance / 100)))
+           {
+               numbertried = 0;
+               for (c = 0; c < MAX_XYZ; c++ ) { numberdone[c] = 0; }
+               do
+               {
+                   if (numbertried == 9)
+                   {
+                       return(1);
+                   }
+                   else
+                   {
+                       numbertried++;
+                   }
+                 do
+                 {
+                    randomnumber = 1 + (int) ( (double)MAX_XYZ * (random() / (RAND_MAX + 1.0)));
+                 } while (numberdone[randomnumber - 1] == 1);
+                 numberdone[randomnumber - 1] = 1;
+                 if (debug(2)) { fprintf(DEBUGPLACE, "Random check number %i at [%i,%i]\n",
+                         randomnumber, row,col); }
+               } while ( insert(row, col, randomnumber) == 1);
+            }
+            else
+            {
+                _sudoku[row][col] = 0;
+            }
+        }
+    }
+    return(0);
+}
+
+void Sudoku::reset()
+{
+    //temp counters
+    int row;
+    int col;
+    int z;
+
+    _numbersFilled = 0;
+    for (row = 0; row < MAX_XYZ; row++)
+    {
+        for (col = 0; col < MAX_XYZ; col++)
+        {
+            _sudoku[row][col] = 0;
+            for (z = 0; z < MAX_XYZ; z++)
+            {
+                _possible[row][col][z] = true;
+            }
+        }
+    }
+}
+
+int Sudoku::fromFile(FILE *handle)
+{
+        int row;
+        int col;
+        int tmpInt;
+        for (row = 0; row < MAX_XYZ; row++)
+        {
+            for (col = 0; col < MAX_XYZ; col++)
+            {
+                fscanf(handle, "%1i", &tmpInt);
+                if (tmpInt != 0)
+                {
+                    insert(row, col, tmpInt);
+                }
+            }
+        }
+        fclose(handle);
+        return(0);
+}
+
+/* Use Basic technique of finding places with just one number left to place */
+bool Sudoku::_solution1(int &row, int &col, int &number)
+{
+    #define NOTHING_FOUND 0
+    #define ONE_FOUND 1
+    #define MORE_THEN_ONE_FOUND 2
+    int tmpRow;
+    int tmpCol;
+    int tmpPossible;
+    int tmpNumber;
+    int searchState;
+
+    for (tmpRow = 0; tmpRow < MAX_XYZ; tmpRow++)
+    {
+        for (tmpCol = 0; tmpCol < MAX_XYZ; tmpCol++)
+        {
+            if (_sudoku[tmpRow][tmpCol] == 0)
+            {
+                tmpNumber = 0;
+                searchState = NOTHING_FOUND;
+                for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                {
+                    if (_possible[tmpRow][tmpCol][tmpPossible] == true &&
+                        searchState == ONE_FOUND)
+                    {
+                        searchState = MORE_THEN_ONE_FOUND;
+                        break;
+                    }
+                    else if (_possible[tmpRow][tmpCol][tmpPossible] == true &&
+                             searchState == NOTHING_FOUND)
+                    {
+                        tmpNumber = tmpPossible + 1;
+                        searchState = ONE_FOUND;
+                    }
+                }
+                if (searchState == ONE_FOUND)
+                {
+                    row = tmpRow;
+                    col = tmpCol;
+                    number = tmpNumber;
+                    return(true);
+                }
+            }
+        }
+    }
+
+    return(false);
+}
+
+/* Check if number can onlcol be placed somewhere, if not able to place anywhere else */
+/* FIXME: Should be more modular, to reduce line length and readabilitcol */
+/* FIXME: find nice solution for goto's */
+bool Sudoku::_solution2(int &row, int &col, int &number)
+{
+    int tmpRow;
+    int tmpCol;
+    int tmpPossible;
+    int tmpNumber;
+
+    int blockRow;
+    int blockTmpRow;
+    int blockCol;
+    int blockTmpCol;
+    bool result;
+
+    for (tmpRow = 0; tmpRow < MAX_XYZ; tmpRow++)
+    {
+        for (tmpCol = 0; tmpCol < MAX_XYZ; tmpCol++)
+        {
+            if (_sudoku[tmpRow][tmpCol] == 0)
+            {
+                for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                {
+                    if (_possible[tmpRow][tmpCol][tmpPossible] == true)
+                    {
+                       if (debug(3))
+                       {
+                           fprintf(DEBUGPLACE,
+                                   "DEBUG SOL 2: Checking [%i,%i], number: %i...\n",
+                                   tmpRow,tmpCol,(tmpPossible +1)); 
+                       }
+                        /* checkRow */
+                        result = true;
+                        for (tmpNumber = 0; tmpNumber < MAX_XYZ; tmpNumber++)
+                        {
+                            if (_possible[tmpNumber][tmpCol][tmpPossible] == true &&
+                                tmpRow != tmpNumber)
+                            {
+                                if (debug(3))
+                                {
+                                    fprintf(DEBUGPLACE,
+                                            "DEBUG SOL 2: ..failed at Rowcheck bcol [%i,%i]\n",
+                                            tmpNumber,tmpCol);
+                                }
+                                result = false;
+                                break;
+                            }
+                        }
+                        if (result == true)
+                        {
+                            if (debug(3)) { fprintf(DEBUGPLACE,"DEBUG SOL 2: ..succesfull at Rowcheck\n"); }
+                            goto solutionFound;
+                        }
+
+                        /* checkCol */
+                        result = true;
+                        for (tmpNumber = 0; tmpNumber < MAX_XYZ; tmpNumber++)
+                        {
+                            if (_possible[tmpRow][tmpNumber][tmpPossible] == true &&
+                                tmpCol != tmpNumber)
+                            {
+                                if (debug(3))
+                                {
+                                    fprintf(
+                                            DEBUGPLACE,
+                                            "DEBUG SOL 2: ..failed at Cowcheck bcol [%i,%i]\n",
+                                            tmpRow,tmpNumber);
+                                }
+                                result = false;
+                                break;
+                            }
+                        }
+                        if (result == true)
+                        {
+                            if (debug(3)) { fprintf(DEBUGPLACE,"DEBUG SOL 2: ..succesfull at Cowcheck\n"); }
+                            goto solutionFound;
+                        }
+
+                        /* checkBlock */
+                        result = true;
+                        blockTmpRow = tmpRow - (tmpRow % (MAX_XYZ / 3));
+                        blockTmpCol = tmpCol - (tmpCol % (MAX_XYZ / 3));
+                        for (blockRow = blockTmpRow; blockRow < (blockTmpRow + 3); blockRow++)
+                        {
+                            for (blockCol = blockTmpCol; blockCol < (blockTmpCol + 3); blockCol++)
+                            {
+                               if (debug(4))
+                               {
+                                   fprintf(DEBUGPLACE,"DEBUG SOL 2: ..checking [%i,%i]\n",blockRow,blockCol);
+                               }
+                               if(_possible[blockRow][blockCol][tmpPossible] == true &&
+                                  (not (tmpRow == blockRow && tmpCol == blockCol)) )
+                               {
+                                    if (debug(4)) { fprintf(DEBUGPLACE,"DEBUG SOL 2: ...will cause failure\n"); }
+                                    result = false;
+                                    goto blockCheckFailed;
+                               }
+                               else
+                               {
+                                if (debug(4)) { fprintf(DEBUGPLACE,"DEBUG SOL 2: ...will be no harm\n"); }
+                               }
+                            }
+                        }
+blockCheckFailed:
+                        if (result == true)
+                        {
+                            if (debug(3)) { fprintf(DEBUGPLACE,"DEBUG SOL 2: ..succesfull at Blockcheck\n"); }
+                            goto solutionFound;
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    return(false);
+
+solutionFound:
+    row = tmpRow;
+    col = tmpCol;
+    number = tmpPossible + 1;
+    return(true);
+}
+
+/* available striper, row based */
+/* FIXME: Should be more modular, to reduce line length and readabilitcol */
+bool Sudoku::_solution3a(int &row, int &col, int &number)
+{
+    int tmpRow;
+    int tmpCol;
+    int tmpPossible;
+    int tmpPossible2;
+    int tmpColNumber;
+    int tmpNumber[MAX_XYZ];
+    int tmpAllNumbers;
+    int tmpAllNumbersFound;
+
+    bool result;
+
+    for (tmpRow = 0; tmpRow < MAX_XYZ; tmpRow++)
+    {
+        for (tmpCol = 0; tmpCol < MAX_XYZ; tmpCol++)
+        {
+            if (_sudoku[tmpRow][tmpCol] == 0)
+            {
+            if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3a DEBUG Checking [%i,%i]...\n",tmpRow,tmpCol); }
+                /* Set all numbers */
+                tmpAllNumbers = 0;
+                for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                {
+                    if (_possible[tmpRow][tmpCol][tmpPossible] == true)
+                    {
+                        tmpNumber[tmpPossible] = 1;
+                        tmpAllNumbers++;
+                    }
+                    else
+                    {
+                        tmpNumber[tmpPossible] = 0;
+                    }
+                }
+                if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3a DEBUG %i\n", tmpAllNumbers); }
+                if (tmpAllNumbers != 0)
+                {
+                    for (tmpColNumber = 0; tmpColNumber < MAX_XYZ; tmpColNumber++)
+                    {
+                        if (_sudoku[tmpRow][tmpColNumber] == 0 && tmpColNumber != tmpCol)
+                        {
+                            result = true;
+                            for (tmpPossible2 = 0; tmpPossible2 < MAX_XYZ; tmpPossible2++)
+                            {
+                                if ( _possible[tmpRow][tmpColNumber][tmpPossible2] == true &&
+                                      _possible[tmpRow][tmpCol][tmpPossible2] == false)
+                                {
+                                    if (debug(3))
+                                    {
+                                        fprintf(DEBUGPLACE,"SOL 3a DEBUG [%i,%i] failed at %i\n", 
+                                                tmpRow, tmpColNumber,tmpPossible2+1);
+                                    }
+                                    result = false;
+                                    break;
+                                }
+                            }
+                            if (result == true)
+                            {
+                                if (debug(3))
+                                {
+                                    fprintf(DEBUGPLACE,"SOL 3a DEBUG [%i,%i] will increase\n",
+                                            tmpRow, tmpColNumber);
+                                }
+                                for (tmpPossible2 = 0; tmpPossible2 < MAX_XYZ; tmpPossible2++)
+                                {
+                                    if (_possible[tmpRow][tmpColNumber][tmpPossible2] == true)
+                                    {
+                                        if (debug(3)) { fprintf(DEBUGPLACE,
+                                                "SOL 3a DEBUG [%i,%i] will increase possible %i to %i\n",
+                                                tmpRow, tmpColNumber, tmpPossible2 + 1, tmpNumber[tmpPossible2] + 1);
+                                        }
+                                    
+                                        if (tmpNumber[tmpPossible2] == tmpAllNumbers)
+                                        {
+                                            goto colCheckFailed;
+                                        }
+                                        else
+                                        {
+                                            tmpNumber[tmpPossible2]++;
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    /* calculate if result found */
+                    tmpAllNumbersFound = 1;
+                    for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                    {
+                        if (tmpNumber[tmpPossible] == tmpAllNumbers)
+                        {
+                            tmpAllNumbersFound++;
+                            if (debug(3))
+                            {
+                                fprintf(DEBUGPLACE,
+                                        "SOL 3b DEBUG %i reduced tmpAllNumbers to %i\n",
+                                        tmpPossible + 1, tmpAllNumbers);
+                            }
+                        }
+                    }
+
+                    if (tmpAllNumbersFound == tmpAllNumbers)
+                    {
+                        for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                        {
+                            if (tmpNumber[tmpPossible] == 1)
+                            {
+                                row = tmpRow;
+                                col = tmpCol;
+                                number = tmpPossible + 1;
+                                return(true);
+                            }
+                        }
+                    }
+                }
+            } //end if
+colCheckFailed:
+        if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3c DEBUG no failed solution found\n"); }
+        }
+    }
+    return(false);
+}
+
+/* available striper, col based, note row number will change ;-) */
+/* FIXME: Should be more modular, to reduce line length and readabilitcol */
+bool Sudoku::_solution3b(int &row, int &col, int &number)
+{
+    int tmpRow;
+    int tmpCol;
+    int tmpPossible;
+    int tmpPossible2;
+    int tmpRowNumber;
+    int tmpNumber[MAX_XYZ];
+    int tmpAllNumbers;
+    int tmpAllNumbersFound;
+
+    bool result;
+
+    for (tmpRow = 0; tmpRow < MAX_XYZ; tmpRow++)
+    {
+        for (tmpCol = 0; tmpCol < MAX_XYZ; tmpCol++)
+        {
+            if (_sudoku[tmpRow][tmpCol] == 0)
+            {
+            if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3b DEBUG Checking [%i,%i]...\n",tmpRow,tmpCol); }
+                /* Set all numbers */
+                tmpAllNumbers = 0;
+                for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                {
+                    if (_possible[tmpRow][tmpCol][tmpPossible] == true)
+                    {
+                        tmpNumber[tmpPossible] = 1;
+                        tmpAllNumbers++;
+                    }
+                    else
+                    {
+                        tmpNumber[tmpPossible] = 0;
+                    }
+                }
+                if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3b DEBUG %i\n", tmpAllNumbers); }
+                if (tmpAllNumbers != 0)
+                {
+                    for (tmpRowNumber = 0; tmpRowNumber < MAX_XYZ; tmpRowNumber++)
+                    {
+                        if (_sudoku[tmpRowNumber][tmpCol] == 0 && tmpRowNumber != tmpRow)
+                        {
+                            result = true;
+                            for (tmpPossible2 = 0; tmpPossible2 < MAX_XYZ; tmpPossible2++)
+                            {
+                                if ( _possible[tmpRowNumber][tmpCol][tmpPossible2] == true &&
+                                      _possible[tmpRow][tmpCol][tmpPossible2] == false)
+                                {
+                                    if (debug(3))
+                                    {
+                                        fprintf(DEBUGPLACE,
+                                                "SOL 3b DEBUG [%i,%i] failed at %i\n",
+                                                tmpRowNumber, tmpCol,tmpPossible2+1);
+                                    }
+                                    result = false;
+                                    break;
+                                }
+                            }
+                            if (result == true)
+                            {
+                                if (debug(3)) { fprintf(DEBUGPLACE,
+                                        "SOL 3b DEBUG [%i,%i] will increase\n",
+                                        tmpRowNumber, tmpCol);
+                                }
+                                for (tmpPossible2 = 0; tmpPossible2 < MAX_XYZ; tmpPossible2++)
+                                {
+                                    if (_possible[tmpRowNumber][tmpCol][tmpPossible2] == true)
+                                    {
+                                        if (debug(3))
+                                        {
+                                            fprintf(DEBUGPLACE,
+                                                    "SOL 3b DEBUG [%i,%i] will increase possible %i to %i\n",
+                                                    tmpRowNumber, tmpCol, tmpPossible2 + 1,
+                                                    tmpNumber[tmpPossible2] + 1);
+                                        }
+                                    
+                                        if (tmpNumber[tmpPossible2] == tmpAllNumbers)
+                                        {
+                                            goto rowCheckFailed;
+                                        }
+                                        else
+                                        {
+                                            tmpNumber[tmpPossible2]++;
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    /* calculate if result found */
+                    tmpAllNumbersFound = 1;
+                    for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                    {
+                        if (tmpNumber[tmpPossible] == tmpAllNumbers)
+                        {
+                            tmpAllNumbersFound++;
+                            if (debug(3))
+                            {
+                                fprintf(DEBUGPLACE,
+                                    "SOL 3b DEBUG %i reduced tmpAllNumbers to %i\n",
+                                    tmpPossible + 1, tmpAllNumbers);
+                            }
+                        }
+                    }
+
+                    if (tmpAllNumbersFound == tmpAllNumbers)
+                    {
+                        for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                        {
+                            if (tmpNumber[tmpPossible] == 1)
+                            {
+                                row = tmpRow;
+                                col = tmpCol;
+                                number = tmpPossible + 1;
+                                return(true);
+                            }
+                        }
+                    }
+                }
+            } //end if
+rowCheckFailed:
+            if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3b DEBUG no failed solution found\n"); }
+        }
+    }
+    return(false);
+}
+int Sudoku::solutionFinder()
+{
+    #define NO_SOLUTION 0
+    #define SOLUTION_1 1
+    #define SOLUTION_2 2
+    #define SOLUTION_3a 3
+    #define SOLUTION_3b 4
+    #define SOLUTION_3c 5
+    int row;
+    int col;
+    int number;
+
+    bool gameAnalcolzed;
+    int returnCode;
+    int solutionNumber;
+
+    gameAnalcolzed = false;
+
+    while( gameAnalcolzed == false )
+    {
+        solutionNumber = NO_SOLUTION;
+        if (_numbersFilled == MAX_XYZ * MAX_XYZ)
+        {
+            gameAnalcolzed = true;
+            returnCode = 0;
+        }
+        else
+        {
+            if (_solution1(row, col, number) == true)
+            {
+                solutionNumber = SOLUTION_1;
+            }
+            else if(_solution2(row, col, number) == true)
+            {
+                solutionNumber = SOLUTION_2;
+            }
+            else if(_solution3a(row, col, number) == true)
+            {
+                solutionNumber = SOLUTION_3a;
+            }
+            else if(_solution3b(row, col, number) == true)
+            {
+                solutionNumber = SOLUTION_3b;
+            }
+            else
+            {
+                gameAnalcolzed = true;
+                returnCode = 1;
+            }
+        }
+
+        if (solutionNumber != NO_SOLUTION)
+        {
+            insert(row, col, number);
+            printf("Filled in %i at [%i,%i] found with finder %i\n", number, row, col, solutionNumber);
+            printf("Total Numbers filled %i\n", _numbersFilled);
+            printNice(row, col);
+            getchar();
+        }
+
+    }
+    return(returnCode);
+}
+
+int main(int argc, char *argv[])
+{
+    Sudoku puzzel;
+    int timesFailed;
+    int returnCode;
+
+    returnCode = 0;
+
+    if (argc == 3 && strcmp(argv[1], "-f") == 0)
+    {
+        if (strcmp(argv[2], "-") == 0)
+        {
+            if (debug(1)) { fprintf(DEBUGPLACE, "Reading from 'stdin'\n"); }
+            puzzel.fromFile(stdin);
+        }
+        else
+        {
+            if (debug(1)) { fprintf(DEBUGPLACE, "Reading from %s\n",argv[2]); }
+            puzzel.fromFile(fopen(argv[2], "r"));
+        }
+        printf("I have read this puzzle\n");
+        puzzel.printNice();
+        returnCode = puzzel.solutionFinder();
+        if (returnCode == 0)
+        {
+            printf("I Guess this will be the final solution\n");
+            puzzel.printNice();
+        }
+        else
+        {
+            printf("Finding Solution failed, error code: %i\n", returnCode);
+            printf("Failed at puzzle\n");
+            puzzel.printNice();
+            puzzel.printPossible();
+        }
+    }
+    else if (argc == 3 && strcmp(argv[1], "-c") == 0)
+    {
+        fprintf(DEBUGPLACE,"Please wait will generating puzzle");
+        timesFailed = 0;
+        while (puzzel.randomNumbers(strtod(argv[2], NULL)) == 1 )
+        {
+            timesFailed++;
+            if (debug(1))
+            {
+                fprintf(DEBUGPLACE, "Failed to created the puzzel at the %i round\n", timesFailed);
+            }
+            else
+            {
+                fprintf(DEBUGPLACE,".");
+            }
+            puzzel.reset();
+        }
+        fprintf(DEBUGPLACE, "\nResult, (NOTE(!): puzzle might not be solveble)\n");
+        puzzel.printRaw();
+    }
+    else
+    {
+        printf("Usage %s -f <filename>\n",argv[0]);
+        printf("NOTE 1: No error checking done, valid input puzzel will be ");
+        printf("generated the -c flags\n");
+        printf("NOTE 2: if <filename> = -, stdin will be used as input");
+        printf("Usage %s -c <percent filled> To create a new puzzle\n",argv[0]);
+        printf("NOTE 1: Above 60%% it will be a bit hard to create ");
+        printf("a puzzle\n");
+        printf("NOTE 2: Puzzle generated will not always be solveble\n");
+        returnCode = 128;
+    }
+    return(returnCode);
+}
+
+
+\end{verbatim}
+\end{small}
+
+\newpage
+\section*{Appendix B: sudoku.cpp}
+Sample of 17-clue puzzles found at Minimum Sudoku\cite{gordon}. Input Row based.
+
+\begin{small}
+\begin{verbatim}
+000000010400000000020000000000050407008000300001090000300400200050100000000806000
+000000010400000000020000000000050604008000300001090000300400200050100000000807000
+000000012000035000000600070700000300000400800100000000000120000080000040050000600
+000000012003600000000007000410020000000500300700000600280000040000300500000000000
+000000012008030000000000040120500000000004700060000000507000300000620000000100000
+000000012040050000000009000070600400000100000000000050000087500601000300200000000
+000000012050400000000000030700600400001000000000080000920000800000510700000003000
+000000012300000060000040000900000500000001070020000000000350400001400800060000000
+000000012400090000000000050070200000600000400000108000018000000000030700502000000
+000000012500008000000700000600120000700000450000030000030000800000500700020000000
+000000012700060000000000050080200000600000400000109000019000000000030800502000000
+000000012800040000000000060090200000700000400000501000015000000000030900602000000
+000000013000500070000802000000400900107000000000000200890000050040000600000010000
+000000013000700060000508000000400800106000000000000200740000050020000400000010000
+000000013000700060000509000000400900106000000000000200740000050080000400000010000
+000000013000800070000502000000400900107000000000000200890000050040000600000010000
+000000013020500000000000000103000070000802000004000000000340500670000200000010000
+000000013040000080200060000609000400000800000000300000030100500000040706000000000
+000000013040000080200060000906000400000800000000300000030100500000040706000000000
+000000013040000090200070000607000400000300000000900000030100500000060807000000000
+...
+\end{verbatim}
+\end{small}
+
+\newpage
+\section*{Appendix C: sudoku.cpp}
+The following  Shell code has been used to generate the test results
+
+\begin{small}
+\begin{verbatim}
+#!/bin/sh
+# file: testcase.sh
+# author: Rick van der Zwet, 0433373
+# University Leiden, LIACS
+timesPlayed=0
+timesWon=0
+timesLost=0
+if [ "x$1" == "x" ]; then
+    totalNumber=100
+else
+    totalNumber=$1
+fi
+
+for puzzle in `cat puzzles17`
+do
+    let "timesPlayed+=1"
+    echo "${puzzle}" | ./sudoku -f - >/dev/null
+    if [ "x$?" == "x0" ]; then
+        let "timesWon+=1"
+    else
+        let "timesLost+=1"
+    fi
+    echo "Played: ${timesPlayed}"
+    echo "won   : ${timesWon}"
+    echo "lost  : ${timesLost}"
+    if [ "x${timesPlayed}" == "x${totalNumber}" ]; then
+        break
+    fi
+done
+\end{verbatim}
+\end{small}
+
+\end{document}
Index: /liacs/ai/sudoku/puzzles/evil
===================================================================
--- /liacs/ai/sudoku/puzzles/evil	(revision 2)
+++ /liacs/ai/sudoku/puzzles/evil	(revision 2)
@@ -0,0 +1,9 @@
+2 0 0 0 0 3 0 0 0 
+0 5 0 8 0 6 0 2 3 
+0 0 1 0 0 0 0 8 0 
+0 0 0 1 9 0 0 5 0 
+0 0 2 6 0 8 7 0 0 
+0 3 0 0 2 5 0 0 0 
+0 7 0 0 0 0 5 0 0 
+6 2 0 5 0 1 0 9 0 
+0 0 0 4 0 0 0 0 6 
Index: /liacs/ai/sudoku/puzzles/not_solv
===================================================================
--- /liacs/ai/sudoku/puzzles/not_solv	(revision 2)
+++ /liacs/ai/sudoku/puzzles/not_solv	(revision 2)
@@ -0,0 +1,9 @@
+4 0 0 0 6 8 2 0 3 
+0 0 0 0 0 0 0 0 0 
+0 6 0 3 0 0 0 0 0 
+5 0 0 0 0 0 7 0 0 
+0 7 0 0 0 0 0 0 0 
+1 3 0 0 0 0 0 5 9 
+0 5 0 0 4 0 0 0 7 
+0 0 0 0 0 6 0 0 5 
+6 2 0 0 0 5 0 0 0 
Index: /liacs/ai/sudoku/puzzles/telegraaf
===================================================================
--- /liacs/ai/sudoku/puzzles/telegraaf	(revision 2)
+++ /liacs/ai/sudoku/puzzles/telegraaf	(revision 2)
@@ -0,0 +1,9 @@
+4 0 0 0 9 8 0 0 0 
+7 0 6 0 0 0 0 0 9 
+0 2 9 0 4 0 0 7 0 
+0 0 0 0 8 0 0 0 7 
+0 8 0 3 2 1 0 5 0 
+1 0 0 0 7 0 0 6 0 
+0 5 0 0 6 0 1 9 0 
+3 0 0 0 0 0 6 0 5 
+0 0 0 4 3 0 0 0 8 
Index: /liacs/ai/sudoku/sudoku.cpp
===================================================================
--- /liacs/ai/sudoku/sudoku.cpp	(revision 2)
+++ /liacs/ai/sudoku/sudoku.cpp	(revision 2)
@@ -0,0 +1,872 @@
+/* file: sudoku.c
+ * author: rick van der Zwet 0433373, 2006
+ * University Leiden, LIACS
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <signal.h>
+
+#define MAX_XYZ 9
+#define EMPTY_SPOT '_'
+
+
+#define bold "[1m"
+#define normal "[0m"
+
+#define DEBUGPLACE stderr
+const char esc = 27;            /* escape character */
+
+
+int debug(const int level = 0)
+{
+#if DEBUG
+    if (level <= DEBUG)
+    {
+        return(1);
+    }
+    else
+    {
+        return(0);
+    }
+#else
+    return(0);
+#endif
+}
+
+class Sudoku {
+    public:
+        Sudoku();
+        void printNice(const int boldRow = -1, const int boldCol = -1, const char emptcolSpace = EMPTY_SPOT);
+        void printRaw();
+        void printPossible();
+        void printPossibleAtNumber(const int row, const int col);
+        void reset();
+        int randomNumbers(const double chance);
+        int fromFile(FILE *handle);
+        int insert(const int row, const int col, const int number);
+        int solutionFinder();
+    private:
+        int _sudoku[MAX_XYZ][MAX_XYZ];
+        bool _possible[MAX_XYZ][MAX_XYZ][MAX_XYZ];
+        int _numbersFilled;
+        void _updatePossibleList(const int row, const int col, const int number);
+        bool _solution1(int &row, int &col, int &number);
+        bool _solution2(int &row, int &col, int &number);
+        bool _solution3a(int &row, int &col, int &number);
+        bool _solution3b(int &row, int &col, int &number);
+};
+
+Sudoku::Sudoku()
+{
+    reset();
+}
+
+
+void Sudoku::printRaw()
+{
+    int row,col;
+    for (row = 0; row < MAX_XYZ ; row++)
+    {
+        for (col = 0; col < MAX_XYZ; col++)
+        {
+            printf("%i ", _sudoku[row][col]);
+        }
+        printf("\n");
+    }
+}
+void Sudoku::printNice(const int boldRow, const int boldCol,
+                       const char emptcolSpace)
+{
+   int row,col;
+   int tmpRow;
+   const int maxRow = (MAX_XYZ + (MAX_XYZ / 3)) * 2 + 1;
+   for(tmpRow = 0; tmpRow < maxRow; tmpRow++)
+   {
+       if ((tmpRow%8) == 0) { printf("+"); }else {printf("-");} 
+   }
+   printf("\n");
+   for (row = 0; row < MAX_XYZ ; row++)
+   {
+       printf("| ");
+       for (col = 0; col < MAX_XYZ; col++)
+       {
+            if ( _sudoku[row][col] == 0)
+            {
+                printf("%c ",emptcolSpace);
+            }
+            else
+            {
+                if (row == boldRow && col == boldCol)
+                {
+                     printf("%c%s%i%c%s ",esc, bold, _sudoku[row][col],
+                                          esc, normal);
+                }
+                else
+                {
+                    printf("%i ", _sudoku[row][col]);
+                }
+            }
+            if ( ((col - 2) % 3) == 0 )
+            {
+                printf("| ");
+            }
+        }
+       printf("\n");
+       if ( ((row - 2) % 3) == 0 )
+       {
+            for(tmpRow = 0; tmpRow < maxRow; tmpRow++) 
+            {
+                if ((tmpRow%8) == 0)
+                {
+                    printf("+");
+                }
+                else 
+                {
+                    printf("-");
+                } 
+            }
+            printf("\n");
+       }
+    }
+        printf("\n\n");
+}
+
+void Sudoku::printPossibleAtNumber(const int row, const int col)
+{
+    if (debug(3))
+    {
+        int tmpPossible;
+        fprintf(DEBUGPLACE, "Possible at [%i,%i]: ", row, col);
+        for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+        {
+            if (_possible[row][col][tmpPossible] == true)
+            {
+                fprintf(DEBUGPLACE,"%i ", tmpPossible + 1);
+            }
+        }
+        fprintf(DEBUGPLACE, "\n");
+    }
+}
+
+void Sudoku::printPossible()
+{
+   int row,col;
+   if (debug(3))
+   {
+        for (row = 0; row < MAX_XYZ ; row++)
+        {
+            for (col = 0; col < MAX_XYZ; col++)
+            {
+                if(_sudoku[row][col] == 0)
+                {
+                    printPossibleAtNumber(row,col);
+                }
+            }
+        }
+    }
+}
+
+
+void Sudoku::_updatePossibleList(const int row, const int col, const int number)
+{
+    int tmpRow;
+    int tmpCol;
+    int blockRow;
+    int blockCol;
+    int c;
+
+
+    /* Row and Col and Number own */
+    for (c = 0; c < MAX_XYZ; c++)
+    {
+        _possible[row][col][c] = false;
+        _possible[row][c][number - 1] = false;
+        _possible[c][col][number - 1] = false;
+    }
+
+    /* Block */
+    tmpRow = row - (row % (MAX_XYZ / 3));
+    tmpCol = col - (col % (MAX_XYZ / 3));
+    for (blockRow = tmpRow; blockRow < (tmpRow + 3); blockRow++)
+    {
+        for (blockCol = tmpCol; blockCol < (tmpCol + 3); blockCol++)
+        {
+            _possible[blockRow][blockCol][number - 1] = false;
+        }
+    }
+}
+
+int Sudoku::insert(const int row, const int col, const int number)
+{
+    if (debug(1)) { fprintf(DEBUGPLACE, "Will insert %i at [%i,%i]: %i\n", 
+                    number, row, col, _possible[row][col][number - 1]); }
+
+    if (_possible[row][col][number - 1] == true)
+    {
+        _updatePossibleList(row, col, number);
+        _sudoku[row][col] = number;
+        _numbersFilled++;
+        return(0);
+    }
+    else
+    {
+        return(1);
+    }
+}
+
+int Sudoku::randomNumbers(const double chance)
+{
+   if (debug(1)) { fprintf(DEBUGPLACE, "Running createsudoku\n"); }
+   int row;
+   int col;
+   int c;
+   int randomnumber;
+   int numberdone[MAX_XYZ];
+   int numbertried;
+
+   srand( (unsigned)time( NULL ) );
+
+   for (row = 0; row < MAX_XYZ; row++)
+   {
+       for (col = 0; col < MAX_XYZ; col++)
+       {
+           if (rand() < (RAND_MAX * (chance / 100)))
+           {
+               numbertried = 0;
+               for (c = 0; c < MAX_XYZ; c++ ) { numberdone[c] = 0; }
+               do
+               {
+                   if (numbertried == 9)
+                   {
+                       return(1);
+                   }
+                   else
+                   {
+                       numbertried++;
+                   }
+                 do
+                 {
+                    randomnumber = 1 + (int) ( (double)MAX_XYZ * (random() / (RAND_MAX + 1.0)));
+                 } while (numberdone[randomnumber - 1] == 1);
+                 numberdone[randomnumber - 1] = 1;
+                 if (debug(2)) { fprintf(DEBUGPLACE, "Random check number %i at [%i,%i]\n",
+                         randomnumber, row,col); }
+               } while ( insert(row, col, randomnumber) == 1);
+            }
+            else
+            {
+                _sudoku[row][col] = 0;
+            }
+        }
+    }
+    return(0);
+}
+
+void Sudoku::reset()
+{
+    //temp counters
+    int row;
+    int col;
+    int z;
+
+    _numbersFilled = 0;
+    for (row = 0; row < MAX_XYZ; row++)
+    {
+        for (col = 0; col < MAX_XYZ; col++)
+        {
+            _sudoku[row][col] = 0;
+            for (z = 0; z < MAX_XYZ; z++)
+            {
+                _possible[row][col][z] = true;
+            }
+        }
+    }
+}
+
+int Sudoku::fromFile(FILE *handle)
+{
+        int row;
+        int col;
+        int tmpInt;
+        for (row = 0; row < MAX_XYZ; row++)
+        {
+            for (col = 0; col < MAX_XYZ; col++)
+            {
+                fscanf(handle, "%1i", &tmpInt);
+                if (tmpInt != 0)
+                {
+                    insert(row, col, tmpInt);
+                }
+            }
+        }
+        fclose(handle);
+        return(0);
+}
+
+/* Use Basic technique of finding places with just one number left to place */
+bool Sudoku::_solution1(int &row, int &col, int &number)
+{
+    #define NOTHING_FOUND 0
+    #define ONE_FOUND 1
+    #define MORE_THEN_ONE_FOUND 2
+    int tmpRow;
+    int tmpCol;
+    int tmpPossible;
+    int tmpNumber;
+    int searchState;
+
+    for (tmpRow = 0; tmpRow < MAX_XYZ; tmpRow++)
+    {
+        for (tmpCol = 0; tmpCol < MAX_XYZ; tmpCol++)
+        {
+            if (_sudoku[tmpRow][tmpCol] == 0)
+            {
+                tmpNumber = 0;
+                searchState = NOTHING_FOUND;
+                for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                {
+                    if (_possible[tmpRow][tmpCol][tmpPossible] == true &&
+                        searchState == ONE_FOUND)
+                    {
+                        searchState = MORE_THEN_ONE_FOUND;
+                        break;
+                    }
+                    else if (_possible[tmpRow][tmpCol][tmpPossible] == true &&
+                             searchState == NOTHING_FOUND)
+                    {
+                        tmpNumber = tmpPossible + 1;
+                        searchState = ONE_FOUND;
+                    }
+                }
+                if (searchState == ONE_FOUND)
+                {
+                    row = tmpRow;
+                    col = tmpCol;
+                    number = tmpNumber;
+                    return(true);
+                }
+            }
+        }
+    }
+
+    return(false);
+}
+
+/* Check if number can onlcol be placed somewhere, if not able to place anywhere else */
+/* FIXME: Should be more modular, to reduce line length and readabilitcol */
+/* FIXME: find nice solution for goto's */
+bool Sudoku::_solution2(int &row, int &col, int &number)
+{
+    int tmpRow;
+    int tmpCol;
+    int tmpPossible;
+    int tmpNumber;
+
+    int blockRow;
+    int blockTmpRow;
+    int blockCol;
+    int blockTmpCol;
+    bool result;
+
+    for (tmpRow = 0; tmpRow < MAX_XYZ; tmpRow++)
+    {
+        for (tmpCol = 0; tmpCol < MAX_XYZ; tmpCol++)
+        {
+            if (_sudoku[tmpRow][tmpCol] == 0)
+            {
+                for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                {
+                    if (_possible[tmpRow][tmpCol][tmpPossible] == true)
+                    {
+                       if (debug(3))
+                       {
+                           fprintf(DEBUGPLACE,
+                                   "DEBUG SOL 2: Checking [%i,%i], number: %i...\n",
+                                   tmpRow,tmpCol,(tmpPossible +1)); 
+                       }
+                        /* checkRow */
+                        result = true;
+                        for (tmpNumber = 0; tmpNumber < MAX_XYZ; tmpNumber++)
+                        {
+                            if (_possible[tmpNumber][tmpCol][tmpPossible] == true &&
+                                tmpRow != tmpNumber)
+                            {
+                                if (debug(3))
+                                {
+                                    fprintf(DEBUGPLACE,
+                                            "DEBUG SOL 2: ..failed at Rowcheck bcol [%i,%i]\n",
+                                            tmpNumber,tmpCol);
+                                }
+                                result = false;
+                                break;
+                            }
+                        }
+                        if (result == true)
+                        {
+                            if (debug(3)) { fprintf(DEBUGPLACE,"DEBUG SOL 2: ..succesfull at Rowcheck\n"); }
+                            goto solutionFound;
+                        }
+
+                        /* checkCol */
+                        result = true;
+                        for (tmpNumber = 0; tmpNumber < MAX_XYZ; tmpNumber++)
+                        {
+                            if (_possible[tmpRow][tmpNumber][tmpPossible] == true &&
+                                tmpCol != tmpNumber)
+                            {
+                                if (debug(3))
+                                {
+                                    fprintf(
+                                            DEBUGPLACE,
+                                            "DEBUG SOL 2: ..failed at Cowcheck bcol [%i,%i]\n",
+                                            tmpRow,tmpNumber);
+                                }
+                                result = false;
+                                break;
+                            }
+                        }
+                        if (result == true)
+                        {
+                            if (debug(3)) { fprintf(DEBUGPLACE,"DEBUG SOL 2: ..succesfull at Cowcheck\n"); }
+                            goto solutionFound;
+                        }
+
+                        /* checkBlock */
+                        result = true;
+                        blockTmpRow = tmpRow - (tmpRow % (MAX_XYZ / 3));
+                        blockTmpCol = tmpCol - (tmpCol % (MAX_XYZ / 3));
+                        for (blockRow = blockTmpRow; blockRow < (blockTmpRow + 3); blockRow++)
+                        {
+                            for (blockCol = blockTmpCol; blockCol < (blockTmpCol + 3); blockCol++)
+                            {
+                               if (debug(4))
+                               {
+                                   fprintf(DEBUGPLACE,"DEBUG SOL 2: ..checking [%i,%i]\n",blockRow,blockCol);
+                               }
+                               if(_possible[blockRow][blockCol][tmpPossible] == true &&
+                                  (not (tmpRow == blockRow && tmpCol == blockCol)) )
+                               {
+                                    if (debug(4)) { fprintf(DEBUGPLACE,"DEBUG SOL 2: ...will cause failure\n"); }
+                                    result = false;
+                                    goto blockCheckFailed;
+                               }
+                               else
+                               {
+                                if (debug(4)) { fprintf(DEBUGPLACE,"DEBUG SOL 2: ...will be no harm\n"); }
+                               }
+                            }
+                        }
+blockCheckFailed:
+                        if (result == true)
+                        {
+                            if (debug(3)) { fprintf(DEBUGPLACE,"DEBUG SOL 2: ..succesfull at Blockcheck\n"); }
+                            goto solutionFound;
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    return(false);
+
+solutionFound:
+    row = tmpRow;
+    col = tmpCol;
+    number = tmpPossible + 1;
+    return(true);
+}
+
+/* available striper, row based */
+/* FIXME: Should be more modular, to reduce line length and readabilitcol */
+bool Sudoku::_solution3a(int &row, int &col, int &number)
+{
+    int tmpRow;
+    int tmpCol;
+    int tmpPossible;
+    int tmpPossible2;
+    int tmpColNumber;
+    int tmpNumber[MAX_XYZ];
+    int tmpAllNumbers;
+    int tmpAllNumbersFound;
+
+    bool result;
+
+    for (tmpRow = 0; tmpRow < MAX_XYZ; tmpRow++)
+    {
+        for (tmpCol = 0; tmpCol < MAX_XYZ; tmpCol++)
+        {
+            if (_sudoku[tmpRow][tmpCol] == 0)
+            {
+            if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3a DEBUG Checking [%i,%i]...\n",tmpRow,tmpCol); }
+                /* Set all numbers */
+                tmpAllNumbers = 0;
+                for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                {
+                    if (_possible[tmpRow][tmpCol][tmpPossible] == true)
+                    {
+                        tmpNumber[tmpPossible] = 1;
+                        tmpAllNumbers++;
+                    }
+                    else
+                    {
+                        tmpNumber[tmpPossible] = 0;
+                    }
+                }
+                if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3a DEBUG %i\n", tmpAllNumbers); }
+                if (tmpAllNumbers != 0)
+                {
+                    for (tmpColNumber = 0; tmpColNumber < MAX_XYZ; tmpColNumber++)
+                    {
+                        if (_sudoku[tmpRow][tmpColNumber] == 0 && tmpColNumber != tmpCol)
+                        {
+                            result = true;
+                            for (tmpPossible2 = 0; tmpPossible2 < MAX_XYZ; tmpPossible2++)
+                            {
+                                if ( _possible[tmpRow][tmpColNumber][tmpPossible2] == true &&
+                                      _possible[tmpRow][tmpCol][tmpPossible2] == false)
+                                {
+                                    if (debug(3))
+                                    {
+                                        fprintf(DEBUGPLACE,"SOL 3a DEBUG [%i,%i] failed at %i\n", 
+                                                tmpRow, tmpColNumber,tmpPossible2+1);
+                                    }
+                                    result = false;
+                                    break;
+                                }
+                            }
+                            if (result == true)
+                            {
+                                if (debug(3))
+                                {
+                                    fprintf(DEBUGPLACE,"SOL 3a DEBUG [%i,%i] will increase\n",
+                                            tmpRow, tmpColNumber);
+                                }
+                                for (tmpPossible2 = 0; tmpPossible2 < MAX_XYZ; tmpPossible2++)
+                                {
+                                    if (_possible[tmpRow][tmpColNumber][tmpPossible2] == true)
+                                    {
+                                        if (debug(3)) { fprintf(DEBUGPLACE,
+                                                "SOL 3a DEBUG [%i,%i] will increase possible %i to %i\n",
+                                                tmpRow, tmpColNumber, tmpPossible2 + 1, tmpNumber[tmpPossible2] + 1);
+                                        }
+                                    
+                                        if (tmpNumber[tmpPossible2] == tmpAllNumbers)
+                                        {
+                                            goto colCheckFailed;
+                                        }
+                                        else
+                                        {
+                                            tmpNumber[tmpPossible2]++;
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    /* calculate if result found */
+                    tmpAllNumbersFound = 1;
+                    for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                    {
+                        if (tmpNumber[tmpPossible] == tmpAllNumbers)
+                        {
+                            tmpAllNumbersFound++;
+                            if (debug(3))
+                            {
+                                fprintf(DEBUGPLACE,
+                                        "SOL 3b DEBUG %i reduced tmpAllNumbers to %i\n",
+                                        tmpPossible + 1, tmpAllNumbers);
+                            }
+                        }
+                    }
+
+                    if (tmpAllNumbersFound == tmpAllNumbers)
+                    {
+                        for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                        {
+                            if (tmpNumber[tmpPossible] == 1)
+                            {
+                                row = tmpRow;
+                                col = tmpCol;
+                                number = tmpPossible + 1;
+                                return(true);
+                            }
+                        }
+                    }
+                }
+            } //end if
+colCheckFailed:
+        if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3c DEBUG no failed solution found\n"); }
+        }
+    }
+    return(false);
+}
+
+/* available striper, col based, note row number will change ;-) */
+/* FIXME: Should be more modular, to reduce line length and readabilitcol */
+bool Sudoku::_solution3b(int &row, int &col, int &number)
+{
+    int tmpRow;
+    int tmpCol;
+    int tmpPossible;
+    int tmpPossible2;
+    int tmpRowNumber;
+    int tmpNumber[MAX_XYZ];
+    int tmpAllNumbers;
+    int tmpAllNumbersFound;
+
+    bool result;
+
+    for (tmpRow = 0; tmpRow < MAX_XYZ; tmpRow++)
+    {
+        for (tmpCol = 0; tmpCol < MAX_XYZ; tmpCol++)
+        {
+            if (_sudoku[tmpRow][tmpCol] == 0)
+            {
+            if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3b DEBUG Checking [%i,%i]...\n",tmpRow,tmpCol); }
+                /* Set all numbers */
+                tmpAllNumbers = 0;
+                for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                {
+                    if (_possible[tmpRow][tmpCol][tmpPossible] == true)
+                    {
+                        tmpNumber[tmpPossible] = 1;
+                        tmpAllNumbers++;
+                    }
+                    else
+                    {
+                        tmpNumber[tmpPossible] = 0;
+                    }
+                }
+                if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3b DEBUG %i\n", tmpAllNumbers); }
+                if (tmpAllNumbers != 0)
+                {
+                    for (tmpRowNumber = 0; tmpRowNumber < MAX_XYZ; tmpRowNumber++)
+                    {
+                        if (_sudoku[tmpRowNumber][tmpCol] == 0 && tmpRowNumber != tmpRow)
+                        {
+                            result = true;
+                            for (tmpPossible2 = 0; tmpPossible2 < MAX_XYZ; tmpPossible2++)
+                            {
+                                if ( _possible[tmpRowNumber][tmpCol][tmpPossible2] == true &&
+                                      _possible[tmpRow][tmpCol][tmpPossible2] == false)
+                                {
+                                    if (debug(3))
+                                    {
+                                        fprintf(DEBUGPLACE,
+                                                "SOL 3b DEBUG [%i,%i] failed at %i\n",
+                                                tmpRowNumber, tmpCol,tmpPossible2+1);
+                                    }
+                                    result = false;
+                                    break;
+                                }
+                            }
+                            if (result == true)
+                            {
+                                if (debug(3)) { fprintf(DEBUGPLACE,
+                                        "SOL 3b DEBUG [%i,%i] will increase\n",
+                                        tmpRowNumber, tmpCol);
+                                }
+                                for (tmpPossible2 = 0; tmpPossible2 < MAX_XYZ; tmpPossible2++)
+                                {
+                                    if (_possible[tmpRowNumber][tmpCol][tmpPossible2] == true)
+                                    {
+                                        if (debug(3))
+                                        {
+                                            fprintf(DEBUGPLACE,
+                                                    "SOL 3b DEBUG [%i,%i] will increase possible %i to %i\n",
+                                                    tmpRowNumber, tmpCol, tmpPossible2 + 1,
+                                                    tmpNumber[tmpPossible2] + 1);
+                                        }
+                                    
+                                        if (tmpNumber[tmpPossible2] == tmpAllNumbers)
+                                        {
+                                            goto rowCheckFailed;
+                                        }
+                                        else
+                                        {
+                                            tmpNumber[tmpPossible2]++;
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    /* calculate if result found */
+                    tmpAllNumbersFound = 1;
+                    for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                    {
+                        if (tmpNumber[tmpPossible] == tmpAllNumbers)
+                        {
+                            tmpAllNumbersFound++;
+                            if (debug(3))
+                            {
+                                fprintf(DEBUGPLACE,
+                                    "SOL 3b DEBUG %i reduced tmpAllNumbers to %i\n",
+                                    tmpPossible + 1, tmpAllNumbers);
+                            }
+                        }
+                    }
+
+                    if (tmpAllNumbersFound == tmpAllNumbers)
+                    {
+                        for (tmpPossible = 0; tmpPossible < MAX_XYZ; tmpPossible++)
+                        {
+                            if (tmpNumber[tmpPossible] == 1)
+                            {
+                                row = tmpRow;
+                                col = tmpCol;
+                                number = tmpPossible + 1;
+                                return(true);
+                            }
+                        }
+                    }
+                }
+            } //end if
+rowCheckFailed:
+            if (debug(3)) { fprintf(DEBUGPLACE,"SOL 3b DEBUG no failed solution found\n"); }
+        }
+    }
+    return(false);
+}
+int Sudoku::solutionFinder()
+{
+    #define NO_SOLUTION 0
+    #define SOLUTION_1 1
+    #define SOLUTION_2 2
+    #define SOLUTION_3a 3
+    #define SOLUTION_3b 4
+    #define SOLUTION_3c 5
+    int row;
+    int col;
+    int number;
+
+    bool gameAnalcolzed;
+    int returnCode;
+    int solutionNumber;
+
+    gameAnalcolzed = false;
+
+    while( gameAnalcolzed == false )
+    {
+        solutionNumber = NO_SOLUTION;
+        if (_numbersFilled == MAX_XYZ * MAX_XYZ)
+        {
+            gameAnalcolzed = true;
+            returnCode = 0;
+        }
+        else
+        {
+            if (_solution1(row, col, number) == true)
+            {
+                solutionNumber = SOLUTION_1;
+            }
+            else if(_solution2(row, col, number) == true)
+            {
+                solutionNumber = SOLUTION_2;
+            }
+            else if(_solution3a(row, col, number) == true)
+            {
+                solutionNumber = SOLUTION_3a;
+            }
+            else if(_solution3b(row, col, number) == true)
+            {
+                solutionNumber = SOLUTION_3b;
+            }
+            else
+            {
+                gameAnalcolzed = true;
+                returnCode = 1;
+            }
+        }
+
+        if (solutionNumber != NO_SOLUTION)
+        {
+            insert(row, col, number);
+            printf("Filled in %i at [%i,%i] found with finder %i\n", number, row, col, solutionNumber);
+            printf("Total Numbers filled %i\n", _numbersFilled);
+            printNice(row, col);
+            getchar();
+        }
+
+    }
+    return(returnCode);
+}
+
+int main(int argc, char *argv[])
+{
+    Sudoku puzzel;
+    int timesFailed;
+    int returnCode;
+
+    returnCode = 0;
+
+    if (argc == 3 && strcmp(argv[1], "-f") == 0)
+    {
+        if (strcmp(argv[2], "-") == 0)
+        {
+            if (debug(1)) { fprintf(DEBUGPLACE, "Reading from 'stdin'\n"); }
+            puzzel.fromFile(stdin);
+        }
+        else
+        {
+            if (debug(1)) { fprintf(DEBUGPLACE, "Reading from %s\n",argv[2]); }
+            puzzel.fromFile(fopen(argv[2], "r"));
+        }
+        printf("I have read this puzzle\n");
+        puzzel.printNice();
+        returnCode = puzzel.solutionFinder();
+        if (returnCode == 0)
+        {
+            printf("I Guess this will be the final solution\n");
+            puzzel.printNice();
+        }
+        else
+        {
+            printf("Finding Solution failed, error code: %i\n", returnCode);
+            printf("Failed at puzzle\n");
+            puzzel.printNice();
+            puzzel.printPossible();
+        }
+    }
+    else if (argc == 3 && strcmp(argv[1], "-c") == 0)
+    {
+        fprintf(DEBUGPLACE,"Please wait will generating puzzle");
+        timesFailed = 0;
+        while (puzzel.randomNumbers(strtod(argv[2], NULL)) == 1 )
+        {
+            timesFailed++;
+            if (debug(1))
+            {
+                fprintf(DEBUGPLACE, "Failed to created the puzzel at the %i round\n", timesFailed);
+            }
+            else
+            {
+                fprintf(DEBUGPLACE,".");
+            }
+            puzzel.reset();
+        }
+        fprintf(DEBUGPLACE, "\nResult, (NOTE(!): puzzle might not be solveble)\n");
+        puzzel.printRaw();
+    }
+    else
+    {
+        printf("Usage %s -f <filename>\n",argv[0]);
+        printf("NOTE 1: No error checking done, valid input puzzel will be ");
+        printf("generated the -c flags\n");
+        printf("NOTE 2: if <filename> = -, stdin will be used as input");
+        printf("Usage %s -c <percent filled> To create a new puzzle\n",argv[0]);
+        printf("NOTE 1: Above 60%% it will be a bit hard to create ");
+        printf("a puzzle\n");
+        printf("NOTE 2: Puzzle generated will not always be solveble\n");
+        returnCode = 128;
+    }
+    return(returnCode);
+}
+
+
Index: /liacs/ai/sudoku/testcase.sh
===================================================================
--- /liacs/ai/sudoku/testcase.sh	(revision 2)
+++ /liacs/ai/sudoku/testcase.sh	(revision 2)
@@ -0,0 +1,32 @@
+#!/bin/sh
+# file: testcase.sh
+# author: Rick van der Zwet, 0433373
+# University Leiden, LIACS
+timesPlayed=0
+timesWon=0
+timesLost=0
+if [ "x$1" == "x" ]; then
+    totalNumber=100
+else
+    totalNumber=$1
+fi
+
+for puzzle in `cat puzzles17`
+do
+    let "timesPlayed+=1"
+    sleep 1
+    ./sudoku -c $2 | ./sudoku -f - >/dev/null
+    if [ "x$?" == "x0" ]; then
+        let "timesWon+=1"
+    else
+        let "timesLost+=1"
+    fi
+    echo "Played: ${timesPlayed}"
+    echo "won   : ${timesWon}"
+    echo "lost  : ${timesLost}"
+    if [ "x${timesPlayed}" == "x${totalNumber}" ]; then
+        break
+    fi
+done
+
+
Index: /liacs/alg/bantumi/branches/README
===================================================================
--- /liacs/alg/bantumi/branches/README	(revision 2)
+++ /liacs/alg/bantumi/branches/README	(revision 2)
@@ -0,0 +1,19 @@
+BANTUMI 	Algoritmiek 2005
+
+Rick van der Zwet
+stuid: 0433373
+
+Joppe Kroon
+stuid: 0457817
+
+Dmv van `make all` alle borden bouwen
+De executables bantumi[1-3] zijn de functies van de verschillende spelletjes
+
+De verschillende spelsituaties worden binnen een for-loop recursief afgelopen.
+Terugzetten wordt gedaan door terugrekenen naar de vorige situatie.
+
+Er is voornamelijk gewerkt met g++ op linux om het programma te compileren. Het programma is daarnaast ook 
+getest op Windows met Dev-C++, mits er aan het eind wel een optie mee wordt gegeven om het venster open te houden
+
+
+
Index: /liacs/alg/bantumi/branches/makefile
===================================================================
--- /liacs/alg/bantumi/branches/makefile	(revision 2)
+++ /liacs/alg/bantumi/branches/makefile	(revision 2)
@@ -0,0 +1,16 @@
+all: spel1 spel2 spel3
+	cat README 
+spel1: spel1.o
+	g++ -Wall spel1.o -o bantumi1
+spel2: spel2.o
+	g++ -Wall spel2.o -o bantumi2
+spel3: spel3.o
+	g++ -Wall spel3.o -o bantumi3
+spel1.o:
+	g++ -Wall -c spel1.cc
+spel2.o:
+	g++ -Wall -c spel2.cc
+spel3.o:
+	g++ -Wall -c spel3.cc
+clean:
+	rm -f *.o *.core bantumi[0-9]
Index: /liacs/alg/bantumi/branches/spel1.cc
===================================================================
--- /liacs/alg/bantumi/branches/spel1.cc	(revision 2)
+++ /liacs/alg/bantumi/branches/spel1.cc	(revision 2)
@@ -0,0 +1,244 @@
+#include <iostream>
+
+using namespace std;
+
+float Zetten = 0;
+// het aantal vakjes dat een veld moet beslaan, hier zit de bank
+//***niet*** bij inbegrepen
+
+//Bord 1
+const int speelVakjes = 3;
+int spelerLaag[speelVakjes + 1] = {3, 3, 3, 0 };
+int spelerHoog[speelVakjes + 1] = {3, 3, 3, 0 };
+
+//Bord2
+//const int speelVakjes = 4;
+//int spelerLaag[speelVakjes + 1] = {3, 2, 2, 2, 0 };
+//int spelerHoog[speelVakjes + 1] = {3, 2, 2, 2, 0 };
+
+//Bord3
+//const int speelVakjes = 4;
+//int spelerLaag[speelVakjes + 1] = {2, 2, 2, 2, 0 };
+//int spelerHoog[speelVakjes + 1] = {2, 2, 2, 2, 0 };
+
+const int totaalAantalVakjes = (speelVakjes + 1) * 2;
+
+// een vakje bevat de gegevens van zijn buren, en van de overkant.
+// en de inhoud natuurlijk
+class vakje {
+  public:
+    vakje * volgende;
+    vakje * vorige;
+    vakje * overkant;
+    int inhoud;
+};
+
+//vakjesarray globaal gedifineerd om zo recursie mogelijk te maken
+//voorbeeld, bij speelVakjes = 4;
+//0,1,2,3 zijn de normale vakjes, 4 is de bank
+//Speler 1 = arraySpeler[0]
+//Speler 2 = arraySpeler[1]
+vakje * arraySpeler[2][speelVakjes + 1];
+
+//score
+int winstMax = 0;
+int winstMin = 10000;
+int gelijkMax = 0;
+int gelijkMin = 10000;
+
+//het creeren van het speelveld.
+//de bank staat op positie speelVakjes
+void createfield() {
+  vakje * huidigeLaag = new vakje;
+  vakje * huidigeHoog = new vakje;
+
+//vakjes maken
+  for( int vakNummer = 0; vakNummer < speelVakjes; vakNummer++ ) {
+    arraySpeler[0][vakNummer] = huidigeLaag;
+    huidigeLaag->inhoud = spelerLaag[vakNummer];
+    huidigeLaag->volgende = new vakje;
+    huidigeLaag->volgende->vorige = huidigeLaag;
+    huidigeLaag = huidigeLaag->volgende;
+    
+    arraySpeler[1][vakNummer] = huidigeHoog;
+    huidigeHoog->inhoud = spelerHoog[vakNummer];
+    huidigeHoog->volgende = new vakje;
+    huidigeHoog->volgende->vorige = huidigeHoog;
+    huidigeHoog = huidigeHoog->volgende;
+  };
+
+//overkant pointer aanmaken
+  for( int vakNummer = 0; vakNummer < speelVakjes; vakNummer++ ) {
+    arraySpeler[0][vakNummer]->overkant = arraySpeler[1][speelVakjes-1-vakNummer];
+    arraySpeler[1][speelVakjes-1-vakNummer]->overkant = arraySpeler[0][vakNummer];
+  };
+  
+//banken aanmaken
+    arraySpeler[0][speelVakjes] = huidigeLaag;
+    arraySpeler[0][speelVakjes]->inhoud = spelerLaag[speelVakjes];
+    arraySpeler[0][speelVakjes]->volgende = arraySpeler[1][0];
+    arraySpeler[0][speelVakjes]->overkant = NULL;
+    arraySpeler[1][0]->vorige = arraySpeler[0][speelVakjes];
+    
+    arraySpeler[1][speelVakjes] = huidigeHoog;
+    arraySpeler[1][speelVakjes]->inhoud = spelerHoog[speelVakjes];
+    arraySpeler[1][speelVakjes]->volgende = arraySpeler[0][0];
+    arraySpeler[1][speelVakjes]->overkant = NULL;
+    arraySpeler[0][0]->vorige = arraySpeler[1][speelVakjes];
+}
+
+
+//-met een pointer het spelletje verwerken.
+//-dmv van een modulo trucje ernaar kijken of een zet in de eigen vakjes
+//eindigd
+//geef terug of de speler nog een keertje mag.
+vakje * doeZet( bool & tmpSpeler, const int begin, const int aantal,
+                int & overkant ) {
+  int tmpInt = (begin + aantal) % (totaalAantalVakjes);
+  vakje * tmpPointer = arraySpeler[tmpSpeler][begin];
+  
+  //doen van de echte zetten
+  tmpPointer->inhoud = 0;
+  for( int i = 0; i < aantal; i++ ) {
+    tmpPointer = tmpPointer->volgende;
+    tmpPointer->inhoud++;
+  };
+  
+  //controleren bank, dan mag de speler nog een keer
+  if( tmpPointer == arraySpeler[tmpSpeler][speelVakjes] ) {
+  }
+  else {
+    //controleren of inhoud 1 is (bestemmingsvakje was dan 0)
+    if( tmpPointer->inhoud == 1 ) {
+      //controleren of vakje in het eigen domein ligt, zo ja stelen ;-)
+      if((0 <= tmpInt) and (tmpInt < speelVakjes)) {
+        overkant = tmpPointer->overkant->inhoud;
+        tmpPointer->overkant->inhoud = 0;
+        tmpPointer->inhoud = 0;
+        arraySpeler[tmpSpeler][speelVakjes]->inhoud += (overkant + 1);
+      }
+    }
+    tmpSpeler = not(tmpSpeler);
+  }
+  return(tmpPointer);
+}
+
+
+
+//het terugzetten van een zet
+//tmpPointer is de pointer naar eind die langzaam terugloopt
+void zetTerug(const bool speler, vakje * tmpPointer, const int aantal,
+const int overkantAantal ) {
+//  //controleren of we met een overkant zet te maken hadden
+  if( tmpPointer->inhoud == 0 ) {
+    tmpPointer->inhoud++;
+    tmpPointer->overkant->inhoud = overkantAantal;
+    arraySpeler[speler][speelVakjes]->inhoud -= (overkantAantal + 1);
+  }
+  //netjes de steentjes in tegengestelde richting terug leggen
+  for( int i = 0; i < aantal; i++ ) {
+    tmpPointer->inhoud--;
+    tmpPointer = tmpPointer->vorige;
+  }
+  //orspronkelijke aantal weer op het begin vakje leggen
+  tmpPointer->inhoud = aantal;
+}
+
+
+// print het eind resultaat
+void resultaat( ) {
+cout << "-------------------------------" << endl;
+cout << "Min Winst : " << winstMin <<endl;
+cout << "Min Gelijk: " << gelijkMin <<endl;
+cout << "Max Winst : " << winstMax <<endl;
+cout << "Max Gelijk: " << gelijkMax <<endl;
+cout << "-------------------------------" << endl;
+cout << endl;
+}
+
+
+//kijken of wat de eindsituatie opleverd
+void checkScore( const int zetten ) {
+  Zetten++;
+  int scoreSpelerEEN = arraySpeler[0][speelVakjes]->inhoud;
+  int scoreSpelerTWEE = arraySpeler[1][speelVakjes]->inhoud;
+  for( int i = 0; i < speelVakjes; i++ ) {
+    scoreSpelerEEN += arraySpeler[0][i]->inhoud;
+    scoreSpelerTWEE += arraySpeler[1][i]->inhoud;
+  }
+  if( scoreSpelerEEN == scoreSpelerTWEE ) {
+    if( zetten < gelijkMin ) {
+      gelijkMin = zetten;
+    }
+    if( zetten > gelijkMax ) {
+      gelijkMax = zetten;
+    }
+  }
+  else {
+   if( zetten < winstMin ) {
+    winstMin = zetten;
+    }
+    if( zetten > winstMax ) {
+      winstMax = zetten;
+    }
+  }
+}
+
+
+//controleer of het spel afgelopen is voor een speler
+bool checkEnd_speler( const bool speler ) {
+  for( int i = 0; i < speelVakjes; i++ ) {
+    if( arraySpeler[speler][i]->inhoud != 0 ) {
+      return(false);
+    }
+  }
+  return(true);
+}
+
+
+//controleer of het spel afgelopen is. Controleer dit eerst voor speler
+//0, als deze nog niet afgelopen is controleer dan speler 1
+bool checkEnd( ) {
+  if( checkEnd_speler(0) ) {
+    return(true);
+  }
+  else {
+    return(checkEnd_speler(1));
+  }
+}
+
+
+//Lets play a game
+//eerst wijst de tmpPointer het begin vakje aan, dan wordt ie
+//getransformeerd naar het eind vakje (beginvakje voor terugzetten)
+void runGame(const bool spelerAanZet, int zetNummer ) {
+  //controleer of het afgelopen is
+  if( checkEnd( ) ) {
+    checkScore( zetNummer );
+    return;
+  }
+  else {
+    int aantal;
+    int overkantAantal = 0;
+    vakje * tmpPointer;
+    bool volgendeSpeler;
+    zetNummer++;
+    for( int huidigeVakje = 0; huidigeVakje < speelVakjes; huidigeVakje++ ) {
+      if( arraySpeler[spelerAanZet][huidigeVakje]->inhoud != 0 ) {
+        volgendeSpeler = spelerAanZet;  
+        aantal = arraySpeler[spelerAanZet][huidigeVakje]->inhoud;
+        tmpPointer = doeZet(volgendeSpeler, huidigeVakje, aantal, overkantAantal );
+          runGame( volgendeSpeler, zetNummer );
+        zetTerug( spelerAanZet, tmpPointer, aantal, overkantAantal );
+      }
+    }
+  }
+}
+
+
+
+int main ( ) {
+  createfield( );
+  runGame( 0, 0 );
+  resultaat( );
+}
Index: /liacs/alg/bantumi/branches/spel2.cc
===================================================================
--- /liacs/alg/bantumi/branches/spel2.cc	(revision 2)
+++ /liacs/alg/bantumi/branches/spel2.cc	(revision 2)
@@ -0,0 +1,244 @@
+#include <iostream>
+
+using namespace std;
+
+float Zetten = 0;
+// het aantal vakjes dat een veld moet beslaan, hier zit de bank
+//***niet*** bij inbegrepen
+
+//Bord 1
+//const int speelVakjes = 3;
+//int spelerLaag[speelVakjes + 1] = {3, 3, 3, 0 };
+//int spelerHoog[speelVakjes + 1] = {3, 3, 3, 0 };
+
+//Bord2
+const int speelVakjes = 4;
+int spelerLaag[speelVakjes + 1] = {3, 2, 2, 2, 0 };
+int spelerHoog[speelVakjes + 1] = {3, 2, 2, 2, 0 };
+
+//Bord3
+//const int speelVakjes = 4;
+//int spelerLaag[speelVakjes + 1] = {2, 2, 2, 2, 0 };
+//int spelerHoog[speelVakjes + 1] = {2, 2, 2, 2, 0 };
+
+const int totaalAantalVakjes = (speelVakjes + 1) * 2;
+
+// een vakje bevat de gegevens van zijn buren, en van de overkant.
+// en de inhoud natuurlijk
+class vakje {
+  public:
+    vakje * volgende;
+    vakje * vorige;
+    vakje * overkant;
+    int inhoud;
+};
+
+//vakjesarray globaal gedifineerd om zo recursie mogelijk te maken
+//voorbeeld, bij speelVakjes = 4;
+//0,1,2,3 zijn de normale vakjes, 4 is de bank
+//Speler 1 = arraySpeler[0]
+//Speler 2 = arraySpeler[1]
+vakje * arraySpeler[2][speelVakjes + 1];
+
+//score
+int winstMax = 0;
+int winstMin = 10000;
+int gelijkMax = 0;
+int gelijkMin = 10000;
+
+//het creeren van het speelveld.
+//de bank staat op positie speelVakjes
+void createfield() {
+  vakje * huidigeLaag = new vakje;
+  vakje * huidigeHoog = new vakje;
+
+//vakjes maken
+  for( int vakNummer = 0; vakNummer < speelVakjes; vakNummer++ ) {
+    arraySpeler[0][vakNummer] = huidigeLaag;
+    huidigeLaag->inhoud = spelerLaag[vakNummer];
+    huidigeLaag->volgende = new vakje;
+    huidigeLaag->volgende->vorige = huidigeLaag;
+    huidigeLaag = huidigeLaag->volgende;
+    
+    arraySpeler[1][vakNummer] = huidigeHoog;
+    huidigeHoog->inhoud = spelerHoog[vakNummer];
+    huidigeHoog->volgende = new vakje;
+    huidigeHoog->volgende->vorige = huidigeHoog;
+    huidigeHoog = huidigeHoog->volgende;
+  };
+
+//overkant pointer aanmaken
+  for( int vakNummer = 0; vakNummer < speelVakjes; vakNummer++ ) {
+    arraySpeler[0][vakNummer]->overkant = arraySpeler[1][speelVakjes-1-vakNummer];
+    arraySpeler[1][speelVakjes-1-vakNummer]->overkant = arraySpeler[0][vakNummer];
+  };
+  
+//banken aanmaken
+    arraySpeler[0][speelVakjes] = huidigeLaag;
+    arraySpeler[0][speelVakjes]->inhoud = spelerLaag[speelVakjes];
+    arraySpeler[0][speelVakjes]->volgende = arraySpeler[1][0];
+    arraySpeler[0][speelVakjes]->overkant = NULL;
+    arraySpeler[1][0]->vorige = arraySpeler[0][speelVakjes];
+    
+    arraySpeler[1][speelVakjes] = huidigeHoog;
+    arraySpeler[1][speelVakjes]->inhoud = spelerHoog[speelVakjes];
+    arraySpeler[1][speelVakjes]->volgende = arraySpeler[0][0];
+    arraySpeler[1][speelVakjes]->overkant = NULL;
+    arraySpeler[0][0]->vorige = arraySpeler[1][speelVakjes];
+}
+
+
+//-met een pointer het spelletje verwerken.
+//-dmv van een modulo trucje ernaar kijken of een zet in de eigen vakjes
+//eindigd
+//geef terug of de speler nog een keertje mag.
+vakje * doeZet( bool & tmpSpeler, const int begin, const int aantal,
+                int & overkant ) {
+  int tmpInt = (begin + aantal) % (totaalAantalVakjes);
+  vakje * tmpPointer = arraySpeler[tmpSpeler][begin];
+  
+  //doen van de echte zetten
+  tmpPointer->inhoud = 0;
+  for( int i = 0; i < aantal; i++ ) {
+    tmpPointer = tmpPointer->volgende;
+    tmpPointer->inhoud++;
+  };
+  
+  //controleren bank, dan mag de speler nog een keer
+  if( tmpPointer == arraySpeler[tmpSpeler][speelVakjes] ) {
+  }
+  else {
+    //controleren of inhoud 1 is (bestemmingsvakje was dan 0)
+    if( tmpPointer->inhoud == 1 ) {
+      //controleren of vakje in het eigen domein ligt, zo ja stelen ;-)
+      if((0 <= tmpInt) and (tmpInt < speelVakjes)) {
+        overkant = tmpPointer->overkant->inhoud;
+        tmpPointer->overkant->inhoud = 0;
+        tmpPointer->inhoud = 0;
+        arraySpeler[tmpSpeler][speelVakjes]->inhoud += (overkant + 1);
+      }
+    }
+    tmpSpeler = not(tmpSpeler);
+  }
+  return(tmpPointer);
+}
+
+
+
+//het terugzetten van een zet
+//tmpPointer is de pointer naar eind die langzaam terugloopt
+void zetTerug(const bool speler, vakje * tmpPointer, const int aantal,
+const int overkantAantal ) {
+//  //controleren of we met een overkant zet te maken hadden
+  if( tmpPointer->inhoud == 0 ) {
+    tmpPointer->inhoud++;
+    tmpPointer->overkant->inhoud = overkantAantal;
+    arraySpeler[speler][speelVakjes]->inhoud -= (overkantAantal + 1);
+  }
+  //netjes de steentjes in tegengestelde richting terug leggen
+  for( int i = 0; i < aantal; i++ ) {
+    tmpPointer->inhoud--;
+    tmpPointer = tmpPointer->vorige;
+  }
+  //orspronkelijke aantal weer op het begin vakje leggen
+  tmpPointer->inhoud = aantal;
+}
+
+
+// print het eind resultaat
+void resultaat( ) {
+cout << "-------------------------------" << endl;
+cout << "Min Winst : " << winstMin <<endl;
+cout << "Min Gelijk: " << gelijkMin <<endl;
+cout << "Max Winst : " << winstMax <<endl;
+cout << "Max Gelijk: " << gelijkMax <<endl;
+cout << "-------------------------------" << endl;
+cout << endl;
+}
+
+
+//kijken of wat de eindsituatie opleverd
+void checkScore( const int zetten ) {
+  Zetten++;
+  int scoreSpelerEEN = arraySpeler[0][speelVakjes]->inhoud;
+  int scoreSpelerTWEE = arraySpeler[1][speelVakjes]->inhoud;
+  for( int i = 0; i < speelVakjes; i++ ) {
+    scoreSpelerEEN += arraySpeler[0][i]->inhoud;
+    scoreSpelerTWEE += arraySpeler[1][i]->inhoud;
+  }
+  if( scoreSpelerEEN == scoreSpelerTWEE ) {
+    if( zetten < gelijkMin ) {
+      gelijkMin = zetten;
+    }
+    if( zetten > gelijkMax ) {
+      gelijkMax = zetten;
+    }
+  }
+  else {
+   if( zetten < winstMin ) {
+    winstMin = zetten;
+    }
+    if( zetten > winstMax ) {
+      winstMax = zetten;
+    }
+  }
+}
+
+
+//controleer of het spel afgelopen is voor een speler
+bool checkEnd_speler( const bool speler ) {
+  for( int i = 0; i < speelVakjes; i++ ) {
+    if( arraySpeler[speler][i]->inhoud != 0 ) {
+      return(false);
+    }
+  }
+  return(true);
+}
+
+
+//controleer of het spel afgelopen is. Controleer dit eerst voor speler
+//0, als deze nog niet afgelopen is controleer dan speler 1
+bool checkEnd( ) {
+  if( checkEnd_speler(0) ) {
+    return(true);
+  }
+  else {
+    return(checkEnd_speler(1));
+  }
+}
+
+
+//Lets play a game
+//eerst wijst de tmpPointer het begin vakje aan, dan wordt ie
+//getransformeerd naar het eind vakje (beginvakje voor terugzetten)
+void runGame(const bool spelerAanZet, int zetNummer ) {
+  //controleer of het afgelopen is
+  if( checkEnd( ) ) {
+    checkScore( zetNummer );
+    return;
+  }
+  else {
+    int aantal;
+    int overkantAantal = 0;
+    vakje * tmpPointer;
+    bool volgendeSpeler;
+    zetNummer++;
+    for( int huidigeVakje = 0; huidigeVakje < speelVakjes; huidigeVakje++ ) {
+      if( arraySpeler[spelerAanZet][huidigeVakje]->inhoud != 0 ) {
+        volgendeSpeler = spelerAanZet;  
+        aantal = arraySpeler[spelerAanZet][huidigeVakje]->inhoud;
+        tmpPointer = doeZet(volgendeSpeler, huidigeVakje, aantal, overkantAantal );
+          runGame( volgendeSpeler, zetNummer );
+        zetTerug( spelerAanZet, tmpPointer, aantal, overkantAantal );
+      }
+    }
+  }
+}
+
+
+
+int main ( ) {
+  createfield( );
+  runGame( 0, 0 );
+  resultaat( );
+}
Index: /liacs/alg/bantumi/branches/spel3.cc
===================================================================
--- /liacs/alg/bantumi/branches/spel3.cc	(revision 2)
+++ /liacs/alg/bantumi/branches/spel3.cc	(revision 2)
@@ -0,0 +1,244 @@
+#include <iostream>
+
+using namespace std;
+
+float Zetten = 0;
+// het aantal vakjes dat een veld moet beslaan, hier zit de bank
+//***niet*** bij inbegrepen
+
+//Bord 1
+//const int speelVakjes = 3;
+//int spelerLaag[speelVakjes + 1] = {3, 3, 3, 0 };
+//int spelerHoog[speelVakjes + 1] = {3, 3, 3, 0 };
+
+//Bord2
+//const int speelVakjes = 4;
+//int spelerLaag[speelVakjes + 1] = {3, 2, 2, 2, 0 };
+//int spelerHoog[speelVakjes + 1] = {3, 2, 2, 2, 0 };
+
+//Bord3
+const int speelVakjes = 4;
+int spelerLaag[speelVakjes + 1] = {2, 2, 2, 2, 0 };
+int spelerHoog[speelVakjes + 1] = {2, 2, 2, 2, 0 };
+
+const int totaalAantalVakjes = (speelVakjes + 1) * 2;
+
+// een vakje bevat de gegevens van zijn buren, en van de overkant.
+// en de inhoud natuurlijk
+class vakje {
+  public:
+    vakje * volgende;
+    vakje * vorige;
+    vakje * overkant;
+    int inhoud;
+};
+
+//vakjesarray globaal gedifineerd om zo recursie mogelijk te maken
+//voorbeeld, bij speelVakjes = 4;
+//0,1,2,3 zijn de normale vakjes, 4 is de bank
+//Speler 1 = arraySpeler[0]
+//Speler 2 = arraySpeler[1]
+vakje * arraySpeler[2][speelVakjes + 1];
+
+//score
+int winstMax = 0;
+int winstMin = 10000;
+int gelijkMax = 0;
+int gelijkMin = 10000;
+
+//het creeren van het speelveld.
+//de bank staat op positie speelVakjes
+void createfield() {
+  vakje * huidigeLaag = new vakje;
+  vakje * huidigeHoog = new vakje;
+
+//vakjes maken
+  for( int vakNummer = 0; vakNummer < speelVakjes; vakNummer++ ) {
+    arraySpeler[0][vakNummer] = huidigeLaag;
+    huidigeLaag->inhoud = spelerLaag[vakNummer];
+    huidigeLaag->volgende = new vakje;
+    huidigeLaag->volgende->vorige = huidigeLaag;
+    huidigeLaag = huidigeLaag->volgende;
+    
+    arraySpeler[1][vakNummer] = huidigeHoog;
+    huidigeHoog->inhoud = spelerHoog[vakNummer];
+    huidigeHoog->volgende = new vakje;
+    huidigeHoog->volgende->vorige = huidigeHoog;
+    huidigeHoog = huidigeHoog->volgende;
+  };
+
+//overkant pointer aanmaken
+  for( int vakNummer = 0; vakNummer < speelVakjes; vakNummer++ ) {
+    arraySpeler[0][vakNummer]->overkant = arraySpeler[1][speelVakjes-1-vakNummer];
+    arraySpeler[1][speelVakjes-1-vakNummer]->overkant = arraySpeler[0][vakNummer];
+  };
+  
+//banken aanmaken
+    arraySpeler[0][speelVakjes] = huidigeLaag;
+    arraySpeler[0][speelVakjes]->inhoud = spelerLaag[speelVakjes];
+    arraySpeler[0][speelVakjes]->volgende = arraySpeler[1][0];
+    arraySpeler[0][speelVakjes]->overkant = NULL;
+    arraySpeler[1][0]->vorige = arraySpeler[0][speelVakjes];
+    
+    arraySpeler[1][speelVakjes] = huidigeHoog;
+    arraySpeler[1][speelVakjes]->inhoud = spelerHoog[speelVakjes];
+    arraySpeler[1][speelVakjes]->volgende = arraySpeler[0][0];
+    arraySpeler[1][speelVakjes]->overkant = NULL;
+    arraySpeler[0][0]->vorige = arraySpeler[1][speelVakjes];
+}
+
+
+//-met een pointer het spelletje verwerken.
+//-dmv van een modulo trucje ernaar kijken of een zet in de eigen vakjes
+//eindigd
+//geef terug of de speler nog een keertje mag.
+vakje * doeZet( bool & tmpSpeler, const int begin, const int aantal,
+                int & overkant ) {
+  int tmpInt = (begin + aantal) % (totaalAantalVakjes);
+  vakje * tmpPointer = arraySpeler[tmpSpeler][begin];
+  
+  //doen van de echte zetten
+  tmpPointer->inhoud = 0;
+  for( int i = 0; i < aantal; i++ ) {
+    tmpPointer = tmpPointer->volgende;
+    tmpPointer->inhoud++;
+  };
+  
+  //controleren bank, dan mag de speler nog een keer
+  if( tmpPointer == arraySpeler[tmpSpeler][speelVakjes] ) {
+  }
+  else {
+    //controleren of inhoud 1 is (bestemmingsvakje was dan 0)
+    if( tmpPointer->inhoud == 1 ) {
+      //controleren of vakje in het eigen domein ligt, zo ja stelen ;-)
+      if((0 <= tmpInt) and (tmpInt < speelVakjes)) {
+        overkant = tmpPointer->overkant->inhoud;
+        tmpPointer->overkant->inhoud = 0;
+        tmpPointer->inhoud = 0;
+        arraySpeler[tmpSpeler][speelVakjes]->inhoud += (overkant + 1);
+      }
+    }
+    tmpSpeler = not(tmpSpeler);
+  }
+  return(tmpPointer);
+}
+
+
+
+//het terugzetten van een zet
+//tmpPointer is de pointer naar eind die langzaam terugloopt
+void zetTerug(const bool speler, vakje * tmpPointer, const int aantal,
+const int overkantAantal ) {
+//  //controleren of we met een overkant zet te maken hadden
+  if( tmpPointer->inhoud == 0 ) {
+    tmpPointer->inhoud++;
+    tmpPointer->overkant->inhoud = overkantAantal;
+    arraySpeler[speler][speelVakjes]->inhoud -= (overkantAantal + 1);
+  }
+  //netjes de steentjes in tegengestelde richting terug leggen
+  for( int i = 0; i < aantal; i++ ) {
+    tmpPointer->inhoud--;
+    tmpPointer = tmpPointer->vorige;
+  }
+  //orspronkelijke aantal weer op het begin vakje leggen
+  tmpPointer->inhoud = aantal;
+}
+
+
+// print het eind resultaat
+void resultaat( ) {
+cout << "-------------------------------" << endl;
+cout << "Min Winst : " << winstMin <<endl;
+cout << "Min Gelijk: " << gelijkMin <<endl;
+cout << "Max Winst : " << winstMax <<endl;
+cout << "Max Gelijk: " << gelijkMax <<endl;
+cout << "-------------------------------" << endl;
+cout << endl;
+}
+
+
+//kijken of wat de eindsituatie opleverd
+void checkScore( const int zetten ) {
+  Zetten++;
+  int scoreSpelerEEN = arraySpeler[0][speelVakjes]->inhoud;
+  int scoreSpelerTWEE = arraySpeler[1][speelVakjes]->inhoud;
+  for( int i = 0; i < speelVakjes; i++ ) {
+    scoreSpelerEEN += arraySpeler[0][i]->inhoud;
+    scoreSpelerTWEE += arraySpeler[1][i]->inhoud;
+  }
+  if( scoreSpelerEEN == scoreSpelerTWEE ) {
+    if( zetten < gelijkMin ) {
+      gelijkMin = zetten;
+    }
+    if( zetten > gelijkMax ) {
+      gelijkMax = zetten;
+    }
+  }
+  else {
+   if( zetten < winstMin ) {
+    winstMin = zetten;
+    }
+    if( zetten > winstMax ) {
+      winstMax = zetten;
+    }
+  }
+}
+
+
+//controleer of het spel afgelopen is voor een speler
+bool checkEnd_speler( const bool speler ) {
+  for( int i = 0; i < speelVakjes; i++ ) {
+    if( arraySpeler[speler][i]->inhoud != 0 ) {
+      return(false);
+    }
+  }
+  return(true);
+}
+
+
+//controleer of het spel afgelopen is. Controleer dit eerst voor speler
+//0, als deze nog niet afgelopen is controleer dan speler 1
+bool checkEnd( ) {
+  if( checkEnd_speler(0) ) {
+    return(true);
+  }
+  else {
+    return(checkEnd_speler(1));
+  }
+}
+
+
+//Lets play a game
+//eerst wijst de tmpPointer het begin vakje aan, dan wordt ie
+//getransformeerd naar het eind vakje (beginvakje voor terugzetten)
+void runGame(const bool spelerAanZet, int zetNummer ) {
+  //controleer of het afgelopen is
+  if( checkEnd( ) ) {
+    checkScore( zetNummer );
+    return;
+  }
+  else {
+    int aantal;
+    int overkantAantal = 0;
+    vakje * tmpPointer;
+    bool volgendeSpeler;
+    zetNummer++;
+    for( int huidigeVakje = 0; huidigeVakje < speelVakjes; huidigeVakje++ ) {
+      if( arraySpeler[spelerAanZet][huidigeVakje]->inhoud != 0 ) {
+        volgendeSpeler = spelerAanZet;  
+        aantal = arraySpeler[spelerAanZet][huidigeVakje]->inhoud;
+        tmpPointer = doeZet(volgendeSpeler, huidigeVakje, aantal, overkantAantal );
+          runGame( volgendeSpeler, zetNummer );
+        zetTerug( spelerAanZet, tmpPointer, aantal, overkantAantal );
+      }
+    }
+  }
+}
+
+
+
+int main ( ) {
+  createfield( );
+  runGame( 0, 0 );
+  resultaat( );
+}
Index: /liacs/alg/bantumi/trunk/main.cc
===================================================================
--- /liacs/alg/bantumi/trunk/main.cc	(revision 2)
+++ /liacs/alg/bantumi/trunk/main.cc	(revision 2)
@@ -0,0 +1,47 @@
+//
+// Bantumi main module
+//
+//LET OP!!!! Bantumi zetten gaan tegen de klok in
+//
+// op plaats hoog[0] en laag[0] symboliseren de banken
+
+
+#include <iostream>
+
+using namespace std;
+
+const int LENGTH = 4;
+
+int aantalInArray( int testje[] ) {
+  int tmpAantal = 0;
+  for( int tmp = 1; tmp < LENGTH; tmp++ ) {
+    tmpAantal += testje[tmp];
+  }
+  return( tmpAantal );
+}
+
+bool afgelopen(int stapel[], int stapel2[] ) {
+  if( ( aantalInArray(stapel) == 0 ) or
+      ( aantalInArray(stapel2) == 0 ) ) {
+    return( true );
+  }
+  return( false );
+}
+
+
+//stapel2 is de stapel van de tegenstander
+void doeZet(int stapel[], int stapel2[], int & stapelNummer, 
+            bool laagAanBeurt ) {
+  if(laagAanBeurt) {
+
+  }
+  else {
+
+  }
+}
+
+int main( ) {
+  int spel1_hoog[LENGTH]= { 0, 3, 3, 3 };
+  int spel1_laag[LENGTH]= { 0, 3, 3, 3 };
+  doeZet
+}
Index: /liacs/alg/solitaire/Makefile
===================================================================
--- /liacs/alg/solitaire/Makefile	(revision 2)
+++ /liacs/alg/solitaire/Makefile	(revision 2)
@@ -0,0 +1,7 @@
+all:  main.o
+	g++ -g -Wall main.o -o solitaire
+main.o:
+	g++ -g -Wall -c main.cc
+clean:
+	rm *.core *.o solitaire
+
Index: /liacs/alg/solitaire/crc/Tst_crc.c
===================================================================
--- /liacs/alg/solitaire/crc/Tst_crc.c	(revision 2)
+++ /liacs/alg/solitaire/crc/Tst_crc.c	(revision 2)
@@ -0,0 +1,238 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "lib_crc.h"
+
+
+
+    /*******************************************************************\
+    *                                                                   *
+    *   Library         : lib_crc                                       *
+    *   File            : tst_crc.c                                     *
+    *   Author          : Lammert Bies  1999-2005                       *
+    *   E-mail          : info@lammertbies.nl                           *
+    *   Language        : ANSI C                                        *
+    *                                                                   *
+    *                                                                   *
+    *   Description                                                     *
+    *   ===========                                                     *
+    *                                                                   *
+    *   The file tst_crc.c contains a small  sample  program  which     *
+    *   demonstrates  the  use of the functions for calculating the     *
+    *   CRC-CCITT, CRC-16 and CRC-32 values of data. The file  cal-     *
+    *   culates  the three different CRC's for a file who's name is     *
+    *   either provided at the command  line,  or  typed  in  right     *
+    *   after the program has started.                                  *
+    *                                                                   *
+    *                                                                   *
+    *   Dependencies                                                    *
+    *   ============                                                    *
+    *                                                                   *
+    *   lib_crc.h       CRC definitions and prototypes                  *
+    *   lib_crc.c       CRC routines                                    *
+    *                                                                   *
+    *                                                                   *
+    *   Modification history                                            *
+    *   ====================                                            *
+    *                                                                   *
+    *   Date        Version Comment                                     *
+    *                                                                   *
+    *   2005-02-14  1.12    Added CRC-CCITT with initial value 0.       *
+    *                                                                   *
+    *   2005-02-05  1.11    Fixed post processing bug in CRC-DNP.       *
+    *                                                                   *
+    *   2005-02-04  1.10    Added the CRC calculation for  DNP 3.0,     *
+    *                       a protocol used  in  the  communication     *
+    *                       between remote units and masters in the     *
+    *                       electric utility industry.  The  method     *
+    *                       of  calculation  is the same as CRC-16,     *
+    *                       but with a different polynomial.            *
+    *                                                                   *
+    *   2005-01-07  1.02    Changed way program  is  used.  When  a     *
+    *                       commandline  parameter  is present, the     *
+    *                       program assumes it is a file, but  when     *
+    *                       invoked without a parameter the entered     *
+    *                       string is used to calculate the CRC.        *
+    *                                                                   *
+    *                       CRC's are now  printed  in  hexadecimal     *
+    *                       decimal format.                             *
+    *                                                                   *
+    *                       Let  CRC-CCITT  calculation  start with     *
+    *                       0xffff as this is used in  most  imple-     *
+    *                       mentations.                                 *
+    *                                                                   *
+    *   1999-02-21  1.01    none                                        *
+    *                                                                   *
+    *   1999-01-22  1.00    Initial source                              *
+    *                                                                   *
+    \*******************************************************************/
+
+#define MAX_STRING_SIZE	2048
+
+
+
+int  main( int argc, char *argv[] ) {
+
+    char input_string[MAX_STRING_SIZE];
+    char *ptr, *dest, hex_val;
+    unsigned short crc_16, crc_ccitt_ffff, crc_ccitt_0000, crc_dnp, low_byte, high_byte;
+    unsigned long crc_32;
+    int a, ch, do_ascii, do_hex;
+    FILE *fp;
+
+    do_ascii = FALSE;
+    do_hex   = FALSE;
+
+    printf( "\nCRC algorithm sample program\nLammert Bies,  Version " CRC_VERSION "\n\n" );
+
+    if ( argc < 2 ) {
+
+        printf( "Usage: tst_crc [-a|-x] file1 ...\n\n" );
+        printf( "    -a Program asks for ASCII input. Following parameters ignored.\n" );
+        printf( "    -x Program asks for hexadecimal input. Following parameters ignored.\n" );
+        printf( "       All other parameters are treated like filenames. The CRC values\n" );
+        printf( "       for each separate file will be calculated.\n" );
+
+        exit( 0 );
+    }
+
+    if ( ! strcmp( argv[1], "-a" )  ||  ! strcmp( argv[1], "-A" ) ) do_ascii = TRUE;
+    if ( ! strcmp( argv[1], "-x" )  ||  ! strcmp( argv[1], "-X" ) ) do_hex   = TRUE;
+
+    if ( do_ascii  ||  do_hex ) {
+
+        printf( "Input: " );
+        fgets( input_string, MAX_STRING_SIZE-1, stdin );
+    }
+
+    if ( do_ascii ) {
+
+        ptr = input_string;
+        while ( *ptr  &&  *ptr != '\r'  &&  *ptr != '\n' ) ptr++;
+        *ptr = 0;
+    }
+
+    if ( do_hex ) {
+
+        ptr  = input_string;
+        dest = input_string;
+
+        while( *ptr  &&  *ptr != '\r'  &&  *ptr != '\n' ) {
+
+            if ( *ptr >= '0'  &&  *ptr <= '9' ) *dest++ = (char) ( (*ptr) - '0'      );
+            if ( *ptr >= 'A'  &&  *ptr <= 'F' ) *dest++ = (char) ( (*ptr) - 'A' + 10 );
+            if ( *ptr >= 'a'  &&  *ptr <= 'f' ) *dest++ = (char) ( (*ptr) - 'a' + 10 );
+
+            ptr++;
+	}
+
+        * dest    = '\x80';
+        *(dest+1) = '\x80';
+    }
+
+
+
+    a = 1;
+
+    do {
+
+        crc_16         = 0;
+        crc_dnp        = 0;
+        crc_ccitt_0000 = 0;
+        crc_ccitt_ffff = 0xffff;
+        crc_32         = 0xffffffffL;
+
+
+
+        if ( do_ascii ) {
+
+            ptr = input_string;
+
+            while ( *ptr ) {
+      
+                crc_16         = update_crc_16(    crc_16,         *ptr );
+                crc_dnp        = update_crc_dnp(   crc_dnp,        *ptr );
+                crc_ccitt_0000 = update_crc_ccitt( crc_ccitt_0000, *ptr );
+                crc_ccitt_ffff = update_crc_ccitt( crc_ccitt_ffff, *ptr );
+                crc_32         = update_crc_32(    crc_32,         *ptr );
+
+                ptr++;
+            }
+        }
+
+
+
+        else if ( do_hex ) {
+
+            ptr = input_string;
+
+            while ( *ptr != '\x80' ) {
+
+                hex_val  = (char) ( ( * ptr     &  '\x0f' ) << 4 );
+                hex_val |= (char) ( ( *(ptr+1)  &  '\x0f' )      );
+
+                crc_16         = update_crc_16(    crc_16,         hex_val );
+                crc_dnp        = update_crc_dnp(   crc_dnp,        hex_val );
+                crc_ccitt_0000 = update_crc_ccitt( crc_ccitt_0000, hex_val );
+                crc_ccitt_ffff = update_crc_ccitt( crc_ccitt_ffff, hex_val );
+                crc_32         = update_crc_32(    crc_32,         hex_val );
+
+                ptr += 2;
+            }
+
+            input_string[0] = 0;
+        }
+
+
+
+        else {
+
+            fp = fopen( argv[a], "rb" );
+
+            if ( fp != NULL ) {
+
+                while( ( ch=fgetc( fp ) ) != EOF ) {
+
+                    crc_16         = update_crc_16(    crc_16,         (char) ch );
+                    crc_dnp        = update_crc_dnp(   crc_dnp,        (char) ch );
+                    crc_ccitt_0000 = update_crc_ccitt( crc_ccitt_0000, (char) ch );
+                    crc_ccitt_ffff = update_crc_ccitt( crc_ccitt_ffff, (char) ch );
+                    crc_32         = update_crc_32(    crc_32,         (char) ch );
+                }
+
+                fclose( fp );
+            }
+
+            else printf( "%s : cannot open file\n", argv[a] );
+        }
+
+
+
+        crc_32 ^= 0xffffffffL;
+
+        crc_dnp   = ~crc_dnp;
+        low_byte  = (crc_dnp & 0xff00) >> 8;
+        high_byte = (crc_dnp & 0x00ff) << 8;
+        crc_dnp   = low_byte | high_byte;
+
+
+        printf( "%s%s%s :\nCRC16              = 0x%04X      /  %u\n"
+                          "CRC-CCITT (0x0000) = 0x%04X      /  %u\n"
+                          "CRC-CCITT (0xffff) = 0x%04X      /  %u\n"
+                          "CRC-DNP            = 0x%04X      /  %u\n"
+                          "CRC32              = 0x%08lX  /  %lu\n"
+                    , (   do_ascii  ||    do_hex ) ? "\""    : ""
+                    , ( ! do_ascii  &&  ! do_hex ) ? argv[a] : input_string
+                    , (   do_ascii  ||    do_hex ) ? "\""    : ""
+                    , crc_16,         crc_16
+                    , crc_ccitt_0000, crc_ccitt_0000
+                    , crc_ccitt_ffff, crc_ccitt_ffff
+                    , crc_dnp,        crc_dnp
+                    , crc_32,         crc_32     );
+
+        a++;
+
+    } while ( a < argc );
+
+}  /* main (tst_crc.c) */
Index: /liacs/alg/solitaire/crc/lib_crc.c
===================================================================
--- /liacs/alg/solitaire/crc/lib_crc.c	(revision 2)
+++ /liacs/alg/solitaire/crc/lib_crc.c	(revision 2)
@@ -0,0 +1,67 @@
+#include "lib_crc.h"
+#define                 P_32        0xEDB88320L
+
+static int              crc_tab32_init          = FALSE;
+
+static unsigned long    crc_tab32[256];
+
+
+static void             init_crc32_tab( void );
+
+
+    /*******************************************************************\
+    *                                                                   *
+    *   unsigned long update_crc_32( unsigned long crc, char c );       *
+    *                                                                   *
+    *   The function update_crc_32 calculates a  new  CRC-32  value     *
+    *   based  on  the  previous value of the CRC and the next byte     *
+    *   of the data to be checked.                                      *
+    *                                                                   *
+    \*******************************************************************/
+
+unsigned long update_crc_32( unsigned long crc, char c ) {
+
+    unsigned long tmp, long_c;
+
+    long_c = 0x000000ffL & (unsigned long) c;
+
+    if ( ! crc_tab32_init ) init_crc32_tab();
+
+    tmp = crc ^ long_c;
+    crc = (crc >> 8) ^ crc_tab32[ tmp & 0xff ];
+
+    return crc;
+
+}  /* update_crc_32 */
+
+
+    /*******************************************************************\
+    *                                                                   *
+    *   static void init_crc32_tab( void );                             *
+    *                                                                   *
+    *   The function init_crc32_tab() is used  to  fill  the  array     *
+    *   for calculation of the CRC-32 with values.                      *
+    *                                                                   *
+    \*******************************************************************/
+
+static void init_crc32_tab( void ) {
+
+    int i, j;
+    unsigned long crc;
+
+    for (i=0; i<256; i++) {
+
+        crc = (unsigned long) i;
+
+        for (j=0; j<8; j++) {
+
+            if ( crc & 0x00000001L ) crc = ( crc >> 1 ) ^ P_32;
+            else                     crc =   crc >> 1;
+        }
+
+        crc_tab32[i] = crc;
+    }
+
+    crc_tab32_init = TRUE;
+
+}  /* init_crc32_tab */
Index: /liacs/alg/solitaire/crc/lib_crc.h
===================================================================
--- /liacs/alg/solitaire/crc/lib_crc.h	(revision 2)
+++ /liacs/alg/solitaire/crc/lib_crc.h	(revision 2)
@@ -0,0 +1,9 @@
+
+
+
+#define FALSE           0
+#define TRUE            1
+
+
+
+unsigned long           update_crc_32(    unsigned long  crc, char c );
Index: /liacs/alg/solitaire/crc/lib_crc.txt
===================================================================
--- /liacs/alg/solitaire/crc/lib_crc.txt	(revision 2)
+++ /liacs/alg/solitaire/crc/lib_crc.txt	(revision 2)
@@ -0,0 +1,95 @@
+
+
+
+   File      : lib_crc.txt
+   Date      : 2005-02-05
+   Author    : Lammert Bies
+   E-mail    : info@lammertbies.nl
+   Version   : 1.11
+
+   Contents  : Documentation for the CRC functions in lib_crc.c
+
+
+
+   The file lib_crc.c contains source code for functions to calculate
+   four commonly used CRC values: CRC-16, CRC-32, CRC-DNP and CRC-CCITT.
+   The functions can be freely used.
+
+   To calculate a CRC, the following three steps must be followed:
+
+   1. Initialize the CRC value. For CRC-16 and CRC-DNP the initial value
+      of the CRC is 0. For CRC-CCITT the value 0xffff is used. CRC-32
+      starts with an initial value of 0xffffffffL.
+
+   2. For each byte of the data starting with the first byte, call the
+      function update_crc_16(), update_crc_32(), update_crc_dnp() or
+      update_crc_ccitt() to recalculate the value of the CRC.
+
+   3. Only for CRC-32: When all bytes have been processed, take the
+      one's complement of the obtained CRC value.
+
+   4. Only for CRC-DNP: After all input processing, the one's complement
+      of the CRC is calcluated and the two bytes of the CRC are swapped.
+
+
+
+   An example of this calculation process can be found in the tst_crc.c
+   sample program. The program and other CRC implementations can be
+   tested with the test string "123456789" without the quotes. The
+   results should be:
+
+   CRC16     : BB3D
+   CRC-CCITT : 29B1
+   CRC-DNP   : 82EA
+   CRC32     : CBF43926
+
+
+
+   The example program tst_crc.exe can be invoked in three ways:
+
+   tst_crc -a
+
+      The program will prompt for an input string. All characters in the
+      input string are used for the CRC calculation, based on their ASCII
+      value.
+
+      Example input string: ABC
+         CRC16     = 0x4521
+         CRC-CCITT = 0xF508
+         CRC-DNP   = 0x5AD3
+         CRC32     = 0xA3830348
+
+   tst_crc -x
+
+      The program will prompt for an input string. All characters will
+      be filtered out, except for 0..9, a..f and A..F. The remaining characters
+      will be paired, and every pair of two characters represent the hexadecimal
+      value to be used for one byte in the CRC calculation. The result if an
+      od number of valud characters is provided is undefined.
+
+      Example input string: 41 42 43
+         CRC16     = 0x4521
+         CRC-CCITT = 0xF508
+         CRC-DNP   = 0x5AD3
+         CRC32     = 0xA3830348
+
+      You see, that the result is the same as for the ASCII input "ABC". This
+      is, because A, B and C are represented in ASCII by the hexadecimal
+      values 41, 42 and 43. So it is obvious that the result should be
+      the same in both cases.
+
+   tst_crc file1 file2 ...
+
+      If neither the -a, nor the -x parameter is used, the test program
+      assumes that the parameters are file names. Each file is opened and
+      the CRC values are calculated.
+
+
+
+   The newest version of these files can be found at:
+
+        http://www.lammertbies.nl/download/lib_crc.zip
+
+   On-line CRC calculations of strings can be performed at:
+
+        http://www.lammertbies.nl/comm/info/crc-calculation.html
Index: /liacs/alg/solitaire/crc/rick_crc.c
===================================================================
--- /liacs/alg/solitaire/crc/rick_crc.c	(revision 2)
+++ /liacs/alg/solitaire/crc/rick_crc.c	(revision 2)
@@ -0,0 +1,42 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "lib_crc.h"
+
+#define MAX_STRING_SIZE	2048
+
+
+
+int  main( int argc, char *argv[] ) {
+
+    char input_string[MAX_STRING_SIZE];
+    char *ptr, *dest, hex_val;
+    unsigned long crc_32;
+    int a, ch, do_ascii, do_hex;
+    FILE *fp;
+
+    do_ascii = TRUE;
+    ptr = "10101010";
+
+
+        crc_32         = 0xffffffffL;
+
+        if ( do_ascii ) {
+            ptr = input_string;
+
+            while ( *ptr ) {
+      
+                crc_32         = update_crc_32(    crc_32,         *ptr );
+
+                ptr++;
+            }
+        }
+
+
+
+        crc_32 ^= 0xffffffffL;
+
+        printf("Uitvoer: %s", crc_32); 
+        
+}  /* main (tst_crc.c) */
Index: /liacs/alg/solitaire/main.cc
===================================================================
--- /liacs/alg/solitaire/main.cc	(revision 2)
+++ /liacs/alg/solitaire/main.cc	(revision 2)
@@ -0,0 +1,220 @@
+#include <iostream>
+using namespace std;
+
+/* 
+
+Een veld
+3,3,7,7,7,3,3
+33 vakjes
+
+Vakje:
+    3
+    |
+2---V---0
+    |
+    1
+*/
+
+const int maxRij = 7;
+const int maxKolom = 7;
+const int maxAantal = 33;
+
+const int hulp[maxRij][2] = {
+ { 2, 3 },
+ { 2, 3 },
+ { 0, 7 },
+ { 0, 7 },
+ { 0, 7 },
+ { 2, 3 },
+ { 2, 3 }
+};
+
+int AantalZetten = 0;
+
+//omdat buren priemgetallen zijn, kan je ze bij elkaar optellen voor een
+//uniek getal
+const bool buurLinks[maxRij][maxKolom] = {
+ { 0, 0, 0, 1, 1, 0, 0 },
+ { 0, 0, 0, 1, 1, 0, 0 },
+ { 0, 1, 1, 1, 1, 1, 1 },
+ { 0, 1, 1, 1, 1, 1, 1 },
+ { 0, 1, 1, 1, 1, 1, 1 },
+ { 0, 0, 0, 1, 1, 0, 0 },
+ { 0, 0, 0, 1, 1, 0, 0 },
+};
+const bool buurRechts[maxRij][maxKolom] = {
+ { 0, 0, 1, 1, 0, 0, 0 },
+ { 0, 0, 1, 1, 0, 0, 0 },
+ { 1, 1, 1, 1, 1, 1, 0 },
+ { 1, 1, 1, 1, 1, 1, 0 },
+ { 1, 1, 1, 1, 1, 1, 0 },
+ { 0, 0, 1, 1, 0, 0, 0 },
+ { 0, 0, 1, 1, 0, 0, 0 },
+};
+const bool buurBoven[maxRij][maxKolom] = {
+ { 0, 0, 0, 0, 0, 0, 0 },
+ { 0, 0, 1, 1, 1, 0, 0 },
+ { 0, 0, 1, 1, 1, 0, 0 },
+ { 1, 1, 1, 1, 1, 1, 1 },
+ { 1, 1, 1, 1, 1, 1, 1 },
+ { 0, 0, 1, 1, 1, 0, 0 },
+ { 0, 0, 1, 1, 1, 0, 0 },
+};
+const bool buurBeneden[maxRij][maxKolom] = {
+ { 0, 0, 1, 1, 1, 0, 0 },
+ { 0, 0, 1, 1, 1, 0, 0 },
+ { 1, 1, 1, 1, 1, 1, 1 },
+ { 1, 1, 1, 1, 1, 1, 1 },
+ { 0, 0, 1, 1, 1, 0, 0 },
+ { 0, 0, 1, 1, 1, 0, 0 },
+ { 0, 0, 0, 0, 0, 0, 0 },
+};
+
+class vakje {
+  public:
+    vakje(void) { 
+      gevuld = true;
+      buur[0] = NULL;
+      buur[1] = NULL;
+      buur[2] = NULL;
+      buur[3] = NULL;
+    }
+    vakje * buur[4];
+    bool gevuld;
+};
+
+vakje * spelarray[maxRij][maxKolom];
+vakje * VakjesList[maxAantal];
+
+
+void maakVeld() {
+  vakje * tmpVakje = NULL;
+  for( int i = 0; i < maxRij; i++ ) {
+    for( int j = 0; j < maxKolom; j++ ) {
+      tmpVakje = new vakje;
+      spelarray[i][j] = tmpVakje;
+    };
+  };
+}
+
+void maakBuren() {
+  for( int i = 0; i < maxRij; i++ ) {
+    for( int j = 0; j < maxKolom; j++ ) {
+      if( buurRechts[i][j] ) {
+        spelarray[i][j]->buur[0] = spelarray[i][j+1];
+      }
+      if( buurBeneden[i][j] ) {
+        spelarray[i][j]->buur[1] = spelarray[i-1][j];
+      };
+      if( buurLinks[i][j] ) {
+        spelarray[i][j]->buur[2] = spelarray[i][j-1];
+      };
+      if( buurBoven[i][j] ) {
+        spelarray[i][j]->buur[3] = spelarray[i+1][j];
+      };
+    };
+  };
+}
+
+void initSpeelVelden() {
+  int tmpNummer = 0;
+  for( int i = 0; i < maxRij; i++ ) {
+    for( int j = hulp[i][0]; j <  (hulp[i][0] + hulp[i][1]); j++ ) {
+      VakjesList[tmpNummer] = spelarray[i][j];
+      tmpNummer++;
+    };
+  };
+}
+
+void initSpel() {
+  spelarray[3][3]->gevuld = 0;
+}
+
+void printVeld() {
+  int tmpKolom = 0;
+  for( int i = 0; i < maxRij; i++ ) {
+    tmpKolom = 0;
+    for( int j = 0; j < hulp[i][0]; j++ ) {
+      cout << " ";
+      tmpKolom++;
+    };
+    for( int j = 0; j < hulp[i][1]; j++ ) {
+      cout << spelarray[i][tmpKolom]->gevuld;
+      tmpKolom++;
+    };
+    for( int j = 0; j < (maxKolom - hulp[i][0]); j++ ) {
+      cout << " ";
+    };
+    cout << endl;
+  };
+  cout << endl;
+}
+
+bool spelOnmogelijk() {
+  if( (spelarray[0][2]->gevuld == 1) and
+      (spelarray[0][3]->gevuld == 1) and
+      (spelarray[0][4]->gevuld == 1) and
+      (spelarray[1][2]->gevuld == 0) and
+      (spelarray[1][3]->gevuld == 0) and
+      (spelarray[1][4]->gevuld == 0) ) {
+    return(true);
+  }
+  else {
+    return(false);
+  };
+};
+
+long totaal = 0;
+bool afgelopen = false;
+
+void doeZet() {
+  if( spelOnmogelijk() ) {
+    //cout << "Spel onmogelijk" << endl;
+    return;
+  }
+  else if( AantalZetten == 23 ) {
+    cout << "Test " << totaal << endl;
+    printVeld();
+    //afgelopen = true;
+  return;
+  }
+  else {
+    for(int i = 0; i < maxAantal; i++) {
+      for(int zet = 0; zet < 4; zet++) {
+        if( VakjesList[i]->gevuld == 1 ) {
+          if( VakjesList[i]->buur[zet] != NULL ) {
+            if( VakjesList[i]->buur[zet]->gevuld == 1 ) {
+              if( VakjesList[i]->buur[zet]->buur[zet] != NULL ) {
+                if( VakjesList[i]->buur[zet]->buur[zet]->gevuld == 0 ) {
+                  VakjesList[i]->buur[zet]->buur[zet]->gevuld = 1;
+                  VakjesList[i]->buur[zet]->gevuld = 0;
+                  VakjesList[i]->gevuld = 0;
+                  AantalZetten++;
+                  totaal++;
+                  doeZet();
+                  AantalZetten--;
+                  VakjesList[i]->buur[zet]->buur[zet]->gevuld = 0;
+                  VakjesList[i]->buur[zet]->gevuld = 1;
+                  VakjesList[i]->gevuld = 1;
+                  if( afgelopen ) {
+                    return;
+                  };
+                };
+              };
+            };
+          };
+        };
+      };
+    };
+  };
+}
+
+int main () {
+  maakVeld();
+  maakBuren();
+  initSpeelVelden();
+  initSpel();
+  doeZet();
+  return 0;
+}
+
Index: /liacs/bpn/paper-review.txt
===================================================================
--- /liacs/bpn/paper-review.txt	(revision 2)
+++ /liacs/bpn/paper-review.txt	(revision 2)
@@ -0,0 +1,83 @@
+Rick van der Zwet - 0433373
+Petri-Nets and Bio-modeling (fall 2009)
+
+
+
+= Petri Net Representations in Metabolic Pathways =
+
+Living cells are composed of a wide array of compounds, and chemical reactions that occur simultaneously. A complete understanding of the behavior of these reactions is possible only through complete analysis. Qualitative analysis of the behavior of these reactions constitutes the qualitative study of metabolic pathways.
+
+A Metabolic pathway within an organism, is a series of enzymatic reactions consuming certain metabolites and producing others. often these metabolites participate in more than one metabolic pathway. Verification, interpretation and representations are often difficult processes, PNs could assist in this.
+
+places would represent compounds (such as metabolites, enzymes, cofactors etc.) participating in a bio-reaction. transitions to represent individual reactions or a series of forward reactions when the intermediary compounds are not of primary interest. Some important properties of PNs applies as well:  
+  - Liveness; ability to fire any transition in the net, from the starting point on), 
+  - Reachability; whether some transition is ever going to be fired, 
+  - Reversibility; if initial marking is reachable from all other possible markings (reachable from the initial marking), 
+  - Fairness; ether  the firing sequence if finite or every transaction occurs infinitely often, 
+  - Structural reduction; substitution of certain combinations of places and transitions with smaller units without sacrificing the original properties of the net.
+
+
+
+= Petri net modelling of biological networks =
+
+Quantitative models are based on systems of ordinary differential equations, they require accurate kinetic data, which are often lacking. Most of the results are obtained by numerical integration methods. It is therefore difficult to apprehend or prove general properties of the models under study. Quantitative approaches are more suitable to induce dynamical properties of complex systems (when few data are accessible) 
+
+P-invariants are sets of places for which the  weighted sum of tokens is constant independently of the sequence of firings; biological terms (BT): In metabolic networks, these sets correspond to conservation relations).
+T-invariants are firing sequences, which reproduce a marking; BT: cyclical behaviors to the elementary modes of the Metabolic Control Theory.
+Reachability of a marking M asserts that there exists  an evolution (a sequence of firings) from the initial marking to the marking M; BT: it ensures the existence of a trajectory leading the system from an initial state to a desired state.
+Liveness insures that it is always possible to ultimately fire any transition; BT: a reaction 
+for example) can eventually occur. 
+
+Coloured Petri Nets (CPNs) assign data values to the tokens (defining colour sets), and expressions are attached to the arcs, hereby the definition and manipulation of data types.
+HPNs provide a convenient way to represent protein concentration dynamics being coupled with discrete switches. Some examples of usage: CPNs to simulate enzymatic reaction chains,T-invariants correspond to elementary modes in structural pathway analysis,HPN modelling of gene regulatory networks, Regulated metabolic pathways have been modelled and simulated using HFPNs, standard PNs to signalling pathways. 
+
+PNs are not meant to represent spatial properties. bridges might be defined between other modelling formalisms and PNs. 
+
+
+
+= Qualitatively modelling and analysing genetic regulatory networks: a Petri net approach =
+
+Qualitatively modeling and analysing genetic regulatory networks, by modeling Boolean networks using Petri nets, by going trough this phases. 1) update decisions. 2) synchronous state update.
+Inconsistent and incomplete data to be tackled by PNs, which are a non-deterministic modelling formalism which are able to represent conï¬icting choices and unknown behaviour by incorporating all possible next state transitions.
+
+Standard markup used PNML (Petri net markup language) to a wide range of existing Petri net tools to be simulated and analysed. 
+
+
+= What Is a Petri Net? =
+
+Petri nets have a nice graphical representation using only very few diï¬erent types of elements, which is a good basis for an easy understandability of a model and for the learnability of the language it also has a precise mathematical notion often the mathematics, and particularly its presentation, is the reason to consider Petri nets diï¬cult for users.
+
+Petri nets are suggested for a formal semantics of activity diagrams â this notion has evolved to a standard without having any ï¬xed semantics by now. Petri nets are a graphical notion and at the same time Petri nets is described by their executability, their semantics, their behavior or the like.
+
+Two Petri nets are isomorphic if there are bijections  between their respective sets of ob jects (places and transitions)  which are respected by all annotations, relations and mappings that belong to the syntactical deï¬nition. 
+
+Principle of Distributiveness; States are associated to places and thus distributed. A global state is constituted by all local states. 
+
+Principle of Locality; 1) The conditions for enabling a transition, in a certain mode if applicable, only depend on local states of (some) places in its immediate vicinity. 2) The occurrence of an enabled transition only changes the local state of (some) places in its immediate vicinity.
+
+The Token Flow Paradigm; Tokens ï¬ow with inï¬nite speed from place to place, sometimes they mutate, join or split in transitions. 
+
+The behavior of a net is a net; Runs of Petri nets consist of events and pre- and post-conditions that generate a (partial) order. Runs can always be represented by nets.
+
+An occurrence sequence describes a sequential view on a single run, wile a process net is a Petri net representing all events of a run and their mutual 
+causal dependencies.
+
+place invariants, siphons and traps can be used very elegantly for 
+proving that a desirable property holds.
+
+
+
+= Modeling biological systems using Petri nets =
+
+It's hard to model spatial information with PNs. Abstractions levels needs to model various models using PNs. Quantitative models represent the system in a detailed way, producing quantitative results. dynamical properties of complex systems.  Classical PNs are built up from four different building blocks; places, transitions, arcs and tokens and is deterministic. 
+
+Stochastic Petri nets (SPN) allow adding probabilities to PNs, hence loosing it's deterministic characteristic, used for example to model enzyme  reactions. 
+
+Continuous Petri nets (CPN), model continuous behavior in PNs by using continuous places instead of discrete places and have the transitions contain a continuous transition which has a firing quantity (amount that passes through the transition simultaneously, using real number taken from a continuous interval).
+
+Hybrid Petri nets (HPN) is a combination of both a discrete and a continuous Petri net. To model both the continuous behavior, but also allow   probability included. For example water flowing trough a pump (continuous behavior) and including a change the pump will break down (probability behavior)
+
+Self-modifying and Functional Petri nets (SFPn) allows to model behavior of non-modifying dependencies (catalysts) make the weight of an arc dependent on catalyst available.
+
+Hybrid Functional Petri nets (HFPn)  is an enhancement of HPN as it adds the possibility of building hierarchies in the network structure, which makes it useful for describing complex network structures. Using two new types of arcs. Test arcs and Inhibitory arcs. Which test the content of an input place and allow firing based upon the result (conditional firing rules). Note that they only enable firing transitions, they do not consume. 
+
Index: /liacs/bpn/presentation/presentation.txt
===================================================================
--- /liacs/bpn/presentation/presentation.txt	(revision 2)
+++ /liacs/bpn/presentation/presentation.txt	(revision 2)
@@ -0,0 +1,26 @@
+The metabolism between sucrose and starch in the potato tuber is of great research interest. 
+
+Even if the metabolism is one of the best studied in sink organs,
+it is not yet fully understood. *WHY?*
+
+kinetic models based on differential equations are able to simulate networks quantitatively, there are clear limitations to such models, so long as the data are incomplete. ... the detailed kinetic laws and constants are often incomplete or entirely missing.
+WORKAROUND: Nearest neightboor used, estimated
+
+ The conversion of sucrose through hexose phosphates to starch is the major  version of sucrose through hexose phosphates to starch is the major ï¬ux in potato tuber metabolism.
+
+Phosphorylation turns many protein enzymes on and off, causing or preventing the mechanisms of diseases such as cancer and diabetes.
+
+Hexokinases have been found in every organism checked, ranging from bacteria, yeast, and plants to humans and other vertebrates. They are categorized as actin fold proteins, sharing a common ATP binding site core surrounded by more variable sequences that determine substrate affinities and other properties. Several hexokinase isoforms or isozymes providing different functions can occur in a single species.
+
+ In biological models, groups of certain metabolites, such as
+adenylates (AMP+ADT+ATP) or uridylates (UMP+UDP+UTP) often form P-invariants.
+
+According to the ï¬ring rule, transitions without pre-places are always enabled, so they can always ï¬re. Thus, in the model it is assumed that sucrose is always available, and that produced starch can be consumed by or deposited in the cell.
+
+Invariant A: UDPglc, UTP, UDP.
+Invariant B: ATP, AMP, ADP. 
+Invariant C: G6P, F6P, G1P, UTP, ATP(2), ADP, S6P, Pi ,PP(2). 
+ Invariant C represents the set of all compounds, which provide directly or indirectly a phosphate group.
+
+Invariants A and B comprise the metabolites containing uridine or
+adenosine residues, respectively.   
Index: /liacs/ca/README
===================================================================
--- /liacs/ca/README	(revision 2)
+++ /liacs/ca/README	(revision 2)
@@ -0,0 +1,4 @@
+opdr1   =  workout assignment-1.pdf
+opdr2a  =  workout of assignment-2.pdf (part A)
+opdr2b  =  workout of assignment-2.pdf (part B), which contains the
+           corrections of opdr2a
Index: /liacs/ca/index.html
===================================================================
--- /liacs/ca/index.html	(revision 2)
+++ /liacs/ca/index.html	(revision 2)
@@ -0,0 +1,175 @@
+<HTML>
+<HEAD><TITLE>Computer Architecture 2007/2008</TITLE></HEAD>
+<BODY BACKGROUND="#FFFFFF">
+
+<A NAME="TOP"></A>
+<H1><A NAME="Inhoud">Computer Architecture 2007/2008</A></H1>
+<HR><BR>
+<A HREF="http://books.elsevier.com/uk/mk/uk/subindex.asp?isbn=9780123704900">
+<IMG ALIGN="TOP" ALT="[Book]" SRC="HP.jpg" WIDTH=243 HEIGHT=300></A>
+<BR><BR><BR>
+
+<!-- Website Contents -->
+<H3>
+<OL>
+   <LI> <A HREF="#News">News</A>
+   <LI> <A HREF="#Introduction">Introduction</A>
+   <LI> <A HREF="#Documents">Documents</A>
+   <LI> <A HREF="#Assignment">Assignment</A>
+</OL>
+</H3>
+<BR>
+
+<!-- Latest News -->
+<H2><A NAME="News" HREF="#TOP">News</A></H2>
+<P DIR="ltr" STYLE="margin-left: 20px; margin-right: 0px">
+<UL>
+   <LI> no news yet
+</UL>
+</P>
+<BR>
+
+<!-- Computer Architecture Introduction -->
+<H2><A NAME="Introduction" HREF="#TOP">Introduction</A></H2>
+<P DIR="ltr" STYLE="margin-left: 20px; margin-right: 0px">
+<TABLE BORDER="1" WIDTH="700">
+<TR>
+   <TH> Course Info
+   <TD> Computer Architecture 
+   <TD> lectures: Sep 5, 2007 - Dec 5, 2007 (except Oct 3)<BR>
+        every Wednesday at 11.15-13.00h, room 402
+</TR>
+<TR>
+   <TH> Lecturer
+   <TD> <A HREF="mailto:llexx__at__liacs.nl">Lex Wolters</A>
+   <TD> room 154
+</TR>
+<TR>
+   <TH> Assignment Leader
+   <TD> <A HREF="mailto:hvdspek__at__liacs.nl">Harmen van der Spek</A>
+   <TD> room 137
+</TR>
+<TR>
+   <TH> Assistant
+   <TD> <A HREF="mailto:vtvu__at__liacs.nl">Van Thieu Vu</A>
+   <TD> Mon 15.30-16.30h, room 306
+</TR>
+<TR>
+   <TH rowspan="2">Student Assistants
+   <TD> <A HREF="mailto:ehalm__at__liacs.nl">Eyal Halm</A> 
+   <TD> Wed 13.45-15.30h & Thu 15.30-16.30h, room 306
+</TR>
+<TR>
+   <TD> <A HREF="mailto:jhuizer__at__liacs.nl">Joris Huizer</A>
+   <TD> Tue 15.30-16.30h & Wed 13:45-15:30h, room 306
+</TR>
+</TABLE>
+<BR>
+<UL>
+   <LI> The course is composed of a theoretical written exam (3 EC) and 
+        a practical assignment (4 EC).
+   <LI> The exam will take place on ..... <I>(to be determined)</I>
+   <LI> In case you have technical questions, contact the student 
+        assistants first so they can help you as soon as possible.
+</UL>
+</P>
+<BR>
+
+<!-- Documents -->
+<H2><A NAME="Documents" HREF="#TOP">Documents</A></H2>
+<P DIR="ltr" STYLE="margin-left: 20px; margin-right: 0px">
+<UL>
+   <LI> Lecture slides
+      <UL>
+         <LI> <I>to be provided</I>
+      </UL><BR>
+   <LI> Sample exams (all in Dutch)
+      <UL>
+         <LI> <A HREF="website/exams/t150107.pdf"> tentamen 15 jan 2007 </A>
+         <LI> <A HREF="website/exams/t040805.pdf"> tentamen 4 aug 2005 </A>
+         <LI> <A HREF="website/exams/t100105.pdf"> tentamen 10 jan 2005 </A>
+      </UL><BR>
+   <LI> Supplementary documents for the practical assignment
+      <UL>
+         <LI> Assignment 1: Optimization of Assembly
+            <UL>
+               <LI> The "MIPS instruction set manual" which is refered 
+                    to in the assignment can be found
+                    <A HREF="website/assignments-en/MIPSPro_Ass._Lang_Vol2.pdf">
+                    here</A>.
+               <LI> The SPIM manual can be found 
+                    <A HREF="website/assignments-en/spim_documentation.pdf">
+                    here</A>
+            </UL>
+      </UL><BR>
+      <UL>
+         <LI> Assignment 2: CPU Design and Simulator
+            <UL>
+               <LI> <A HREF="website/instructions/DLX_design.pdf">
+                    DLX_Design</A>
+               <LI> <A HREF="website/instructions/Datapath_and_microprogrammed_control.pdf">
+                    Datapath and microprogrammed control</A>
+               <LI> <A HREF="website/instructions/Instruction_Notations.pdf">
+                    Instruction Notations</A>
+            </UL>
+      </UL>
+</UL>
+</P>
+<BR>
+
+<!-- Assignments -->
+<H2><A NAME="Assignment" HREF="#TOP">Assignment</A></H2>
+<P DIR="ltr" STYLE="margin-left: 20px; margin-right: 0px">
+<UL>
+   <LI> The practical assignment is divided into four parts.
+   <LI> Each part must be delivered before its deadline.
+        In case of any delay, please <A HREF="#Introduction">contact us</A> 
+        as soon as possible.
+   <LI> All assignments <I>must</I> be written in <I>English</I>.
+</UL>
+<P DIR="ltr" STYLE="margin-left: 20px; margin-right: 0px">
+<TABLE BORDER="1" WIDTH="600">
+<TR ALIGN="center">
+   <TH> Part </TH>
+   <TH> Description </TH>
+   <TH> Deadline </TH>
+   <TH> Weight </TH>
+</TR>
+<TR ALIGN="center">
+   <TD> 1 </TD>
+   <TD> <A HREF="website/assignments-en/assignment-1.pdf"> 
+        Optimization of Assembly </A></TD>
+   <TD> Mon Sep 24, 2007 at noon </TD>
+   <TD> 10% </TD>
+</TR>
+<TR ALIGN="center">
+   <TD> 2a </TD>
+   <TD> <A HREF="website/assignments-en/assignment-2.pdf"> 
+        CPU Design </A></TD>
+   <TD> Mon Oct 29, 2007 at noon </TD>
+   <TD> 30% </TD>
+</TR>
+<TR ALIGN="center">
+   <TD> 2b </TD>
+   <TD> <A HREF="website/assignments-en/assignment-2.pdf">
+        CPU Simulator </A></TD>
+   <TD> Mon Dec 3, 2007 at noon </TD>
+   <TD> 30% </TD>
+</TR>
+<TR ALIGN="center">
+   <TD> 3 </TD>
+   <TD> <A HREF="website/assignments-en/assignment-3.pdf">
+        Cache and Memory </A></TD>
+   <TD> Mon Dec 24, 2007 at noon </TD>
+   <TD> 30% </TD>
+</TR>
+</TABLE>
+</P>
+<BR>
+
+<BR>
+<A HREF="#TOP">Top</A>
+<BR>
+<HR>
+Last change: Aug 28, 2007.
+</BODY></HTML>
Index: /liacs/ca/opdr1/README
===================================================================
--- /liacs/ca/opdr1/README	(revision 2)
+++ /liacs/ca/opdr1/README	(revision 2)
@@ -0,0 +1,84 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: README.txt 217 2007-09-10 19:35:36Z rick $
+ * Copyright : FreeBSD Licence
+ */
+
+=Assignment 1=
+==Static instructions==
+We could define static instructions into groups:
+* Loop 1                    : 18
+* Loop 2                    : 30
+-------------------------------------------------
+TOTAL                       : 58
+
+==Dynamic instructions==
+Dynatic instructions into groups
+* Initial intructions       : 0
+* Intructions loop 1 init   : 2
+* Intructions loop 1 main   : (3 + 13) * 20 + 4
+** *20 cause 20 times loop
+** +4 cause of the last compare (including jump)
+* Intructions loop 2 init   : 4
+* Intructions loop 2 main   : (3 + 22) * 20 + 4
+** *20 cause 20 times loop
+** +4 cause of the last compare (including jump)
+-------------------------------------------------
+TOTAL                       : 834
+
+==Data accesses==
+* Loop 1                    : 1 + 1 * 21 + 5 * 20
+* init, compare, inner loop
+* Loop 2                    : 2 + 1 * 21 + 8 * 20
+* init, compare, inner loop
+-------------------------------------------------
+TOTAL                       : 305
+
+
+=Optimalisation=
+
+The most easy way to kill all dynamic instructions will be calculating
+the final result and write the results into the memory and registery
+directly, meaning at the end
+for i = 1 .. 20
+B[i] = i
+A[i] = B[i-1] + C
+C = 42
+i = 20
+$2 = 20 (last value of i, last loop compare)
+$3 = 0 (last loop compare)
+$4 = 42
+
+==Static intructions==
+* Number of intructions will be: 84
+
+==Dynamic instructions==
+* Dynamic intructions eq to static intructions  as we define all
+  results directly: 84
+
+==Data accesses==
+* Cause we also have some references to the registery not all calls are
+  data accesses, the count stops at: 
+  * B =   19
+  * A1 =   2
+  * A =   18
+  * C =    1
+  * i =    1
+  ----------
+  TOTAL = 41
+
+==Speedup==
+Dynamic count old: 834
+Dynamic count new: 84
+Speedup in execution time: 1 / (84/834) = 9.93
+quote Van Thieu Vu, why we do not use the Amdahl law over here
+Here we calculate the performance gain of an optimized program while the 
+Amdahl's law which you mentioned is used to calculate the performance gain 
+of an improved computer.  In your case, the speedup is 1/(84/834).
+
+
+
+
+
+
+
Index: /liacs/ca/opdr1/myprog-optimized.s
===================================================================
--- /liacs/ca/opdr1/myprog-optimized.s	(revision 2)
+++ /liacs/ca/opdr1/myprog-optimized.s	(revision 2)
@@ -0,0 +1,148 @@
+#/* Author    : Rick van der Zwet
+# * S-number  : 0433373
+# * Version   : $Id: myprog-optimized.s 237 2007-09-19 13:19:08Z rick $
+# * Copyright : FreeBSD Licence 
+# */
+# space declaration to be used for the printf statement
+ .data
+	.align 4
+space:  .asciiz	 "  "
+ 	.align 4
+# array A reservation 80/4 means a 20 in size
+A:	.space	80
+        .align i
+# array B, same size as array A
+B:	.space	80
+        .align 4
+# declaration of integer C
+C:	.word C
+	.align 4
+# declaration of integer i
+i:	.word i
+	.text
+	.align	4
+ 	.ent	main
+main:
+# init of C
+	li	$4,0x0000002a		# 42
+	sw	$4,C
+
+
+#Define B[1] - B[19]
+la $2,B
+li $3,0x00000001 # 1
+sw $3,4($2)
+li $3,0x00000002
+sw $3,8($2)
+li $3,0x00000003
+sw $3,12($2)
+li $3,0x00000004
+sw $3,16($2)
+li $3,0x00000005
+sw $3,20($2)
+li $3,0x00000006
+sw $3,24($2)
+li $3,0x00000007
+sw $3,28($2)
+li $3,0x00000008
+sw $3,32($2)
+li $3,0x00000009
+sw $3,36($2)
+li $3,0x0000000a #10
+sw $3,40($2)
+li $3,0x0000000b
+sw $3,44($2)
+li $3,0x0000000c
+sw $3,48($2)
+li $3,0x0000000d
+sw $3,52($2)
+li $3,0x0000000e
+sw $3,56($2)
+li $3,0x0000000f
+sw $3,60($2)
+li $3,0x00000010
+sw $3,64($2)
+li $3,0x00000011
+sw $3,68($2)
+li $3,0x00000012
+sw $3,72($2)
+li $3,0x00000013
+sw $3,76($2)
+
+#Special hack for A[1], cause B[0] is not defined
+lw $3,0($2)
+addu $3,$3,$4
+la $2,A
+sw $3,4($2)
+
+#Define A[2] - A[19]
+li $3,0x0000002b # 42 + 1 = 43
+sw $3,8($2)
+li $3,0x0000002c # 44
+sw $3,12($2)
+li $3,0x0000002d # 45
+sw $3,16($2)
+li $3,0x0000002e # 46
+sw $3,20($2)
+li $3,0x0000002f # 47
+sw $3,24($2)
+li $3,0x00000030 # 48
+sw $3,28($2)
+li $3,0x00000031 # 49
+sw $3,32($2)
+li $3,0x00000032 # 50
+sw $3,36($2)
+li $3,0x00000033 # 51
+sw $3,40($2)
+li $3,0x00000034 # 52
+sw $3,44($2)
+li $3,0x00000035 # 53
+sw $3,48($2)
+li $3,0x00000036 # 54
+sw $3,52($2)
+li $3,0x00000037 # 55
+sw $3,56($2)
+li $3,0x00000038 # 56
+sw $3,60($2)
+li $3,0x00000039 # 57
+sw $3,64($2)
+li $3,0x0000003a # 58
+sw $3,68($2)
+li $3,0x0000003b # 59
+sw $3,72($2)
+li $3,0x0000003c # 60
+sw $3,76($2)
+
+# set the end registers to the end values
+#(last value of i, last loop compare)
+li $2,0x00000014 # 20
+sw $2, i
+# (last loop compare)
+li $3,0x00000000 # 0
+
+# Required output "60 19 20"
+# the print statements
+	li	$v0,1
+	la	$3,A
+	lw	$a0,76($3)
+	syscall		#print A[19]	
+
+	li $v0, 4        # system call code for print_str
+        la $a0, space    # address of string to print
+        syscall          # print the string "  "
+
+	li $v0, 1
+        la	$3,B
+	lw	$a0,76($3)
+	syscall		#print B[19]
+
+	li $v0, 4        # 
+        la $a0, space    # 
+        syscall          # print the string "  "
+
+	li	$v0,1
+	la	$3,i
+	lw	$a0,0($3)
+	syscall		#print i
+$L1:
+	.end	main
Index: /liacs/ca/opdr1/myprog.c
===================================================================
--- /liacs/ca/opdr1/myprog.c	(revision 2)
+++ /liacs/ca/opdr1/myprog.c	(revision 2)
@@ -0,0 +1,22 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: myprog.c 214 2007-09-05 13:29:25Z rick $
+ * Copyright : FreeBSD Licence
+ */
+int A[20], B[20], C, i;
+
+main()
+{
+    for (i=1; i<=19; i++)
+    {
+        B[i] = i;
+    }
+    C = 42;
+    for (i=1; i<=19; i++)
+    {
+        A[i] = B[i-1] + C;
+    }
+
+    printf("%i %i %i", A[19], B[19], i);
+
+}
Index: /liacs/ca/opdr1/myprog.s
===================================================================
--- /liacs/ca/opdr1/myprog.s	(revision 2)
+++ /liacs/ca/opdr1/myprog.s	(revision 2)
@@ -0,0 +1,131 @@
+#/* Author    : Rick van der Zwet
+# * S-number  : 0433373
+# * Version   : $Id: myprog.s 237 2007-09-19 13:19:08Z rick $
+# * Copyright : FreeBSD Licence 
+# */
+# space declaration to be used for the printf statement
+ .data
+	.align 4
+space:  .asciiz	 "  "
+ 	.align 4
+# array A reservation 80/4 means a 20 in size
+A:	.space	80
+        .align i
+# array B, same size as array A
+B:	.space	80
+        .align 4
+# declaration of integer C
+C:	.word C
+	.align 4
+# declaration of integer i
+i:	.word i
+	.text
+	.align	4
+ 	.ent	main
+main:
+# store the content of 1 into the memory location i
+	li	$2,0x00000001		# 1
+	sw	$2,i
+$L2:
+# initiation of the first for loop
+	lw	$2,i
+# the i<=19 condition check
+	slt	$3,$2,20
+# jump to L5 when not done or else exit loop to to L3
+	bne	$3,$0,$L5
+	j	$L3
+$L5:
+#inner part of loop 1
+	lw	$2,i
+#copy the value of $2 -> $3, by using an addition with 0
+	addi	$3,$2,0
+#multiple the value of i by 4 to find the offset address 
+# where the value in array B will be stored
+	sll	$2,$3,2
+#load B (begin array) and add the offset of the array to find the
+#location it needs to be stored
+	la	$3,B
+	addu	$2,$2,$3
+	addi	$3,$2,0
+#store the value of i into the the correct location in the B array
+	lw	$2,i
+	sw	$2,0($3)
+$L4:
+# raise the value of i by 1 (by using a tmp value) and jump 
+# to the begin of the loop
+	lw	$3,i
+	addu	$2,$3,1
+	move	$3,$2
+	sw	$3,i
+	j	$L2
+$L3:
+# init of C and i (counter for loop)
+	li	$2,0x0000002a		# 42
+	sw	$2,C
+	li	$2,0x00000001		# 1
+	sw	$2,i
+$L6:
+# inner of loop 2, the for loop condition check, jump to L7 when done
+# else exec L9
+	lw	$2,i
+	slt	$3,$2,20 
+	bne	$3,$0,$L9
+	j	$L7
+$L9:
+#calculate the offset for array A
+	lw	$2,i
+	move	$3,$2
+	sll	$2,$3,2
+#set the array of storage in A into $2
+	la	$4,A
+	addu	$3,$2,$4
+	move	$2,$3
+#calculate offset of B
+	lw	$3,i
+	move	$4,$3
+	sll	$3,$4,2
+#set initial start to -4 to accomplish i-1
+	la	$4,B    	
+	addi	$4,$4,-4	
+	addu	$3,$3,$4
+	move	$4,$3
+#load value of B and C, compare and store in location in array A
+	lw	$3,0($4)
+	lw	$4,C
+	addu	$3,$3,$4
+	sw	$3,0($2)
+$L8:
+# same as L4, except the jump goes to L6
+# raise the value of i by 1 (by using a tmp value) and jump 
+# to the begin of the loop
+	lw	$3,i
+	addu	$2,$3,1
+	move	$3,$2
+	sw	$3,i
+	j	$L6
+$L7:
+# the print statements
+	li	$v0,1
+	la	$3,A
+	lw	$a0,76($3)
+	syscall		#print A[19]	
+
+	li $v0, 4        # system call code for print_str
+        la $a0, space    # address of string to print
+        syscall          # print the string "  "
+
+	li $v0, 1
+        la	$3,B
+	lw	$a0,76($3)
+	syscall		#print B[19]
+
+	li $v0, 4        # 
+        la $a0, space    # 
+        syscall          # print the string "  "
+
+	li	$v0,1
+	la	$3,i
+	lw	$a0,0($3)
+	syscall		#print i
+$L1:
+	.end	main
Index: /liacs/ca/opdr2a/DLX_design.svg
===================================================================
--- /liacs/ca/opdr2a/DLX_design.svg	(revision 2)
+++ /liacs/ca/opdr2a/DLX_design.svg	(revision 2)
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg version="1.1" viewBox="0 0 21000 29700" preserveAspectRatio="xMidYMid" fill-rule="evenodd" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><font id="EmbeddedFont_1" horiz-adv-x="2048"><font-face font-family="Arial embedded" units-per-em="2048" ascent="1879" descent="423"/><missing-glyph horiz-adv-x="2048"><path style="fill:none;stroke:black;stroke-width:33" d="M 0,2048 L 2047,2048 2047,1 0,1 0,2048 Z"/></missing-glyph><glyph unicode=" " horiz-adv-x="1032"/><glyph unicode="1" horiz-adv-x="530"><path d="M 763,1471 C 763,1471 763,1471 763,0 763,0 763,0 583,0 583,0 583,0 583,1146 540,1105 483,1063 413,1022 342,981 279,950 223,929 223,929 223,929 223,1103 324,1150 412,1208 487,1275 562,1342 616,1408 647,1471 647,1471 647,1471 763,1471 Z"/></glyph><glyph unicode="2" horiz-adv-x="953"><path d="M 312,172 C 312,172 312,172 1031,172 1031,172 1031,172 1031,0 1031,0 1031,0 62,0 61,42 68,84 83,124 108,190 147,255 202,319 256,383 334,457 437,541 596,671 704,775 760,851 816,928 844,1000 844,1068 844,1139 819,1200 768,1249 717,1298 650,1322 568,1322 481,1322 412,1296 360,1244 308,1192 282,1120 281,1028 281,1028 281,1028 96,1047 109,1185 156,1290 239,1363 322,1435 433,1471 572,1471 713,1471 824,1432 906,1354 988,1276 1029,1179 1029,1064 1029,1005 1017,948 993,891 969,834 929,775 874,712 818,649 725,563 596,454 488,363 419,302 388,270 358,237 332,205 312,172 Z"/></glyph><glyph unicode="A" horiz-adv-x="1376"><path d="M 203,0 L -1,0 562,1465 770,1465 1370,0 1149,0 978,443 364,443 203,0 Z M 582,1031 C 582,1031 582,1031 420,601 420,601 420,601 917,601 917,601 917,601 764,1007 717,1130 683,1232 661,1311 642,1217 616,1123 582,1031 Z"/></glyph><glyph unicode="B" horiz-adv-x="1113"><path d="M 709,0 C 709,0 709,0 150,0 150,0 150,0 150,1465 150,1465 150,1465 700,1465 812,1465 902,1450 970,1421 1037,1391 1090,1345 1129,1284 1167,1222 1186,1157 1186,1090 1186,1027 1169,968 1135,913 1101,858 1050,813 981,779 1070,753 1138,709 1186,646 1233,583 1257,509 1257,424 1257,355 1243,292 1214,233 1185,174 1149,128 1106,96 1063,64 1010,40 946,24 881,7 802,0 709,0 Z M 344,1292 C 344,1292 344,1292 344,849 344,849 344,849 661,849 747,849 809,855 846,866 895,881 933,905 958,939 983,973 995,1016 995,1067 995,1116 983,1159 960,1196 937,1233 903,1258 860,1272 817,1285 742,1292 637,1292 637,1292 637,1292 344,1292 Z M 344,676 C 344,676 344,676 344,172 344,172 344,172 710,172 772,172 816,174 842,179 886,187 924,200 954,219 984,238 1009,265 1028,301 1047,336 1057,377 1057,424 1057,479 1043,526 1015,567 986,607 947,635 898,652 848,668 776,676 683,676 683,676 683,676 344,676 Z"/></glyph><glyph unicode="C" horiz-adv-x="1298"><path d="M 1204,513 C 1204,513 1204,513 1398,464 1357,305 1284,183 1179,100 1073,16 944,-25 791,-25 633,-25 505,6 406,71 307,135 231,228 180,350 128,472 102,603 102,744 102,896 131,1030 190,1143 248,1257 331,1343 439,1402 546,1461 665,1491 794,1491 941,1491 1064,1454 1164,1379 1264,1304 1334,1199 1373,1064 1373,1064 1373,1064 1182,1019 1148,1125 1099,1203 1034,1252 969,1301 888,1325 790,1325 677,1325 583,1298 508,1244 432,1190 379,1117 348,1026 317,935 302,841 302,745 302,620 320,511 357,418 393,325 449,255 526,209 603,163 686,140 775,140 884,140 976,171 1051,234 1126,297 1177,390 1204,513 Z"/></glyph><glyph unicode="D" horiz-adv-x="1218"><path d="M 687,0 C 687,0 687,0 158,0 158,0 158,0 158,1465 158,1465 158,1465 663,1465 777,1465 864,1458 924,1444 1008,1425 1080,1390 1139,1339 1216,1274 1274,1190 1313,1089 1351,987 1370,871 1370,740 1370,629 1357,530 1331,444 1305,358 1272,287 1231,231 1190,174 1146,130 1098,98 1049,65 991,41 923,24 854,7 776,0 687,0 Z M 352,1292 C 352,1292 352,1292 352,172 352,172 352,172 665,172 762,172 838,181 893,199 948,217 991,242 1024,275 1070,321 1106,383 1132,461 1157,538 1170,632 1170,743 1170,896 1145,1014 1095,1097 1044,1179 983,1234 911,1262 859,1282 775,1292 660,1292 660,1292 660,1292 352,1292 Z"/></glyph><glyph unicode="I" horiz-adv-x="186"><path d="M 385,0 L 191,0 191,1465 385,1465 385,0 Z"/></glyph><glyph unicode="L" horiz-adv-x="927"><path d="M 1066,0 L 150,0 150,1465 344,1465 344,172 1066,172 1066,0 Z"/></glyph><glyph unicode="M" horiz-adv-x="1404"><path d="M 339,0 C 339,0 339,0 152,0 152,0 152,0 152,1465 152,1465 152,1465 444,1465 444,1465 444,1465 791,427 823,330 847,258 862,210 878,263 904,342 940,445 940,445 940,445 1292,1465 1292,1465 1292,1465 1553,1465 1553,1465 1553,1465 1553,0 1553,0 1553,0 1366,0 1366,0 1366,0 1366,1226 1366,1226 1366,1226 938,0 938,0 938,0 764,0 764,0 764,0 339,1247 339,1247 339,1247 339,0 Z"/></glyph><glyph unicode="P" horiz-adv-x="1139"><path d="M 352,0 C 352,0 352,0 158,0 158,0 158,0 158,1465 158,1465 158,1465 711,1465 808,1465 883,1460 934,1451 1006,1439 1066,1416 1115,1383 1164,1349 1203,1302 1233,1241 1262,1180 1277,1114 1277,1041 1277,916 1237,811 1158,725 1079,638 935,595 728,595 728,595 728,595 352,595 352,595 352,595 352,0 Z M 352,1292 C 352,1292 352,1292 352,768 352,768 352,768 731,768 856,768 945,791 998,838 1051,885 1077,950 1077,1035 1077,1096 1062,1149 1031,1193 1000,1236 959,1265 908,1279 875,1288 815,1292 727,1292 727,1292 727,1292 352,1292 Z"/></glyph><glyph unicode="R" horiz-adv-x="1271"><path d="M 355,0 C 355,0 355,0 161,0 161,0 161,0 161,1465 161,1465 161,1465 811,1465 942,1465 1041,1452 1109,1426 1177,1399 1231,1353 1272,1286 1313,1219 1333,1146 1333,1065 1333,961 1299,873 1232,802 1165,731 1061,685 920,666 971,641 1010,617 1037,593 1094,541 1147,476 1198,398 1198,398 1198,398 1453,0 1453,0 1453,0 1209,0 1209,0 1209,0 1015,304 958,392 912,459 875,506 838,553 806,585 777,604 748,623 718,636 688,643 666,648 630,650 580,650 580,650 580,650 355,650 355,650 355,650 355,0 Z M 355,1303 C 355,1303 355,1303 355,818 355,818 355,818 772,818 861,818 930,827 980,846 1030,864 1068,893 1094,934 1120,974 1133,1018 1133,1065 1133,1134 1108,1191 1058,1236 1007,1281 928,1303 819,1303 819,1303 819,1303 355,1303 Z"/></glyph><glyph unicode="S" horiz-adv-x="1166"><path d="M 93,470 C 93,470 93,470 276,486 285,412 305,352 336,305 368,258 417,220 484,191 550,162 625,147 708,147 782,147 848,158 904,180 961,202 1003,232 1031,271 1058,309 1072,351 1072,397 1072,443 1059,483 1032,517 1005,552 961,580 900,604 861,619 774,643 639,675 504,708 410,738 356,767 286,804 234,849 200,904 165,958 148,1019 148,1086 148,1161 169,1230 211,1294 253,1359 314,1408 395,1441 476,1474 565,1491 664,1491 773,1491 869,1474 952,1439 1035,1404 1098,1352 1143,1284 1188,1216 1212,1139 1215,1053 1215,1053 1215,1053 1029,1039 1019,1132 985,1202 928,1249 870,1296 785,1320 672,1320 555,1320 469,1298 416,1255 362,1212 335,1160 335,1100 335,1047 354,1003 392,969 429,935 527,900 685,865 842,829 950,798 1009,771 1094,732 1157,682 1198,622 1239,561 1259,492 1259,413 1259,335 1237,262 1192,193 1147,124 1083,70 1000,32 916,-6 822,-25 717,-25 585,-25 474,-6 384,32 295,71 224,129 173,207 122,284 96,372 93,470 Z"/></glyph><glyph unicode="T" horiz-adv-x="1166"><path d="M 725,0 L 531,0 531,1292 48,1292 48,1465 1210,1465 1210,1292 725,1292 725,0 Z"/></glyph><glyph unicode="U" horiz-adv-x="1138"><path d="M 1120,619 C 1120,619 1120,619 1120,1465 1120,1465 1120,1465 1314,1465 1314,1465 1314,1465 1314,618 1314,471 1297,354 1264,267 1231,180 1171,110 1084,56 997,1 882,-25 741,-25 604,-25 491,-1 404,45 317,92 254,161 217,251 180,340 161,463 161,618 161,618 161,618 161,1465 161,1465 161,1465 355,1465 355,1465 355,1465 355,619 355,492 367,398 391,338 414,277 455,231 513,198 570,165 641,149 724,149 867,149 968,181 1029,246 1090,311 1120,435 1120,619 Z"/></glyph><glyph unicode="X" horiz-adv-x="1324"><path d="M 242,0 C 242,0 242,0 9,0 9,0 9,0 576,759 576,759 576,759 76,1465 76,1465 76,1465 308,1465 308,1465 308,1465 575,1090 631,1013 670,952 693,909 725,962 764,1017 808,1075 808,1075 808,1075 1103,1465 1103,1465 1103,1465 1314,1465 1314,1465 1314,1465 805,769 805,769 805,769 1354,0 1354,0 1354,0 1114,0 1114,0 1114,0 744,522 723,552 703,582 683,613 651,562 628,527 614,507 614,507 614,507 242,0 Z"/></glyph><glyph unicode="a" horiz-adv-x="980"><path d="M 828,130 C 761,73 697,33 636,10 574,-12 508,-24 437,-24 320,-24 231,4 168,61 105,118 74,190 74,279 74,331 86,379 110,422 133,465 164,499 203,525 241,551 284,571 332,584 367,593 421,602 492,611 637,628 744,649 813,673 814,698 814,713 814,720 814,793 797,845 763,875 717,916 649,936 558,936 473,936 411,921 371,892 330,862 300,809 281,734 281,734 281,734 105,758 121,833 147,894 184,941 221,987 274,1023 343,1048 412,1073 493,1085 584,1085 675,1085 748,1074 805,1053 862,1032 903,1005 930,973 957,940 975,899 986,850 992,819 995,764 995,684 995,684 995,684 995,444 995,277 999,171 1007,127 1014,82 1029,40 1052,0 1052,0 1052,0 864,0 845,36 833,80 828,130 Z M 813,466 C 813,466 813,466 813,532 748,505 650,483 519,464 445,453 393,441 362,428 331,415 308,395 291,370 274,344 266,315 266,284 266,236 284,196 321,164 357,132 410,116 480,116 549,116 611,131 665,162 719,192 759,233 784,286 803,327 813,387 813,466 Z"/></glyph><glyph unicode="b" horiz-adv-x="901"><path d="M 301,132 C 301,132 301,132 301,0 301,0 301,0 134,0 134,0 134,0 134,1465 134,1465 134,1465 314,1465 314,1465 314,1465 314,942 390,1037 487,1085 605,1085 670,1085 732,1072 791,1046 849,1019 897,982 935,935 972,887 1002,829 1023,762 1044,695 1055,623 1055,546 1055,364 1010,223 920,124 830,25 722,-24 596,-24 471,-24 372,27 301,132 Z M 299,538 C 299,411 316,319 351,262 407,169 484,123 581,123 659,123 727,157 784,226 841,294 870,396 870,531 870,670 843,772 788,838 733,904 666,937 589,937 510,937 442,903 385,835 328,766 299,667 299,538 Z"/></glyph><glyph unicode="c" horiz-adv-x="901"><path d="M 828,388 C 828,388 828,388 1005,364 986,242 936,147 857,78 777,9 679,-24 563,-24 418,-24 301,23 213,118 124,213 80,349 80,526 80,641 99,741 137,827 175,913 233,978 311,1021 388,1064 473,1085 564,1085 679,1085 774,1056 847,998 920,939 967,856 988,749 988,749 988,749 813,722 796,793 767,847 725,883 682,919 631,937 571,937 480,937 407,905 350,840 293,775 265,672 265,531 265,388 292,285 347,220 402,155 473,123 561,123 632,123 691,145 738,188 785,231 815,298 828,388 Z"/></glyph><glyph unicode="d" horiz-adv-x="927"><path d="M 990,0 C 990,0 990,0 823,0 823,0 823,0 823,133 756,28 657,-24 526,-24 441,-24 364,-1 293,45 222,92 167,157 128,241 89,324 69,420 69,529 69,635 87,731 122,818 157,904 210,970 281,1016 351,1062 430,1085 517,1085 581,1085 638,1072 688,1045 738,1018 779,982 810,939 810,939 810,939 810,1465 810,1465 810,1465 990,1465 990,1465 990,1465 990,0 Z M 254,529 C 254,393 283,291 340,224 397,157 465,123 543,123 622,123 689,155 744,220 799,284 826,382 826,514 826,659 798,766 742,834 686,902 617,936 535,936 455,936 388,903 335,838 281,773 254,670 254,529 Z"/></glyph><glyph unicode="e" horiz-adv-x="980"><path d="M 862,342 C 862,342 862,342 1048,318 1019,209 964,125 885,65 806,5 704,-24 581,-24 426,-24 303,23 212,119 121,214 75,348 75,521 75,700 121,838 213,937 305,1036 424,1085 571,1085 713,1085 829,1037 919,940 1009,843 1054,707 1054,532 1054,521 1054,505 1053,484 1053,484 1053,484 260,484 267,367 300,278 359,216 419,154 493,123 582,123 648,123 704,140 751,175 798,210 835,266 862,342 Z M 270,632 C 270,632 270,632 864,632 856,721 833,788 796,833 738,902 664,937 573,937 490,937 420,909 364,854 307,799 276,725 270,632 Z"/></glyph><glyph unicode="f" horiz-adv-x="636"><path d="M 358,0 C 358,0 358,0 178,0 178,0 178,0 178,921 178,921 178,921 19,921 19,921 19,921 19,1061 19,1061 19,1061 178,1061 178,1061 178,1061 178,1174 178,1245 184,1298 197,1333 214,1380 245,1418 289,1447 332,1476 393,1490 472,1490 523,1490 579,1484 640,1472 640,1472 640,1472 613,1315 576,1322 540,1325 507,1325 452,1325 414,1313 391,1290 368,1267 357,1223 357,1159 357,1159 357,1159 357,1061 357,1061 357,1061 564,1061 564,1061 564,1061 564,921 564,921 564,921 358,921 358,921 358,921 358,0 Z"/></glyph><glyph unicode="g" horiz-adv-x="927"><path d="M 102,-88 C 102,-88 102,-88 277,-114 284,-168 305,-207 338,-232 383,-265 444,-282 521,-282 604,-282 669,-265 714,-232 759,-199 790,-152 806,-92 815,-55 820,21 819,138 740,45 642,0 525,0 379,0 266,52 186,157 106,262 66,389 66,536 66,637 84,731 121,817 158,902 211,968 281,1015 350,1062 432,1085 526,1085 651,1085 755,1034 836,933 836,933 836,933 836,1061 836,1061 836,1061 1002,1061 1002,1061 1002,1061 1002,143 1002,-21 985,-139 952,-208 918,-277 865,-331 792,-371 719,-411 629,-431 522,-431 395,-431 293,-403 215,-346 137,-289 99,-203 102,-88 Z M 251,549 C 251,410 279,308 334,244 389,180 459,148 542,148 625,148 694,180 750,244 806,307 834,407 834,543 834,673 805,771 748,837 690,903 620,936 539,936 459,936 391,904 335,839 279,774 251,677 251,549 Z"/></glyph><glyph unicode="h" horiz-adv-x="848"><path d="M 315,0 C 315,0 315,0 135,0 135,0 135,0 135,1465 135,1465 135,1465 315,1465 315,1465 315,1465 315,939 399,1036 505,1085 633,1085 712,1085 780,1070 838,1039 896,1008 938,965 963,910 988,855 1000,776 1000,672 1000,672 1000,672 1000,0 1000,0 1000,0 820,0 820,0 820,0 820,672 820,762 801,828 762,869 723,910 667,930 596,930 543,930 493,916 446,889 399,861 365,823 345,776 325,729 315,663 315,580 315,580 315,580 315,0 Z"/></glyph><glyph unicode="i" horiz-adv-x="160"><path d="M 316,1258 L 136,1258 136,1465 316,1465 316,1258 Z M 316,0 L 136,0 136,1061 316,1061 316,0 Z"/></glyph><glyph unicode="l" horiz-adv-x="186"><path d="M 311,0 L 131,0 131,1465 311,1465 311,0 Z"/></glyph><glyph unicode="m" horiz-adv-x="1430"><path d="M 315,0 C 315,0 315,0 135,0 135,0 135,0 135,1061 135,1061 135,1061 296,1061 296,1061 296,1061 296,912 329,964 374,1006 429,1038 484,1069 547,1085 618,1085 697,1085 761,1069 812,1036 862,1003 897,958 918,899 1002,1023 1112,1085 1247,1085 1352,1085 1433,1056 1490,998 1547,939 1575,849 1575,728 1575,728 1575,728 1575,0 1575,0 1575,0 1395,0 1395,0 1395,0 1395,668 1395,740 1389,792 1378,824 1366,855 1345,881 1314,900 1283,919 1247,929 1206,929 1131,929 1069,904 1020,855 971,805 946,725 946,616 946,616 946,616 946,0 946,0 946,0 766,0 766,0 766,0 766,689 766,769 751,829 722,869 693,909 645,929 578,929 527,929 481,916 438,889 395,862 363,823 344,772 325,721 315,647 315,550 315,550 315,550 315,0 Z"/></glyph><glyph unicode="n" horiz-adv-x="848"><path d="M 315,0 C 315,0 315,0 135,0 135,0 135,0 135,1061 135,1061 135,1061 297,1061 297,1061 297,1061 297,910 375,1027 488,1085 635,1085 699,1085 758,1074 812,1051 865,1028 905,997 932,960 959,923 977,878 988,827 995,794 998,735 998,652 998,652 998,652 998,0 998,0 998,0 818,0 818,0 818,0 818,645 818,718 811,773 797,810 783,846 758,875 723,897 687,918 645,929 597,929 520,929 454,905 399,856 343,807 315,715 315,579 315,579 315,579 315,0 Z"/></glyph><glyph unicode="o" horiz-adv-x="980"><path d="M 68,530 C 68,727 123,872 232,967 323,1046 435,1085 566,1085 712,1085 831,1037 924,942 1017,846 1063,714 1063,545 1063,408 1043,301 1002,223 961,144 901,83 823,40 744,-2 659,-24 566,-24 417,-24 297,23 206,118 114,213 68,351 68,530 Z M 253,530 C 253,394 283,292 342,225 401,157 476,123 566,123 655,123 730,157 789,225 848,293 878,397 878,536 878,667 848,767 789,835 729,902 655,936 566,936 476,936 401,902 342,835 283,768 253,666 253,530 Z"/></glyph><glyph unicode="p" horiz-adv-x="901"><path d="M 315,-407 C 315,-407 315,-407 135,-407 135,-407 135,-407 135,1061 135,1061 135,1061 299,1061 299,1061 299,1061 299,923 338,977 381,1018 430,1045 479,1072 538,1085 607,1085 698,1085 778,1062 847,1015 916,968 969,903 1004,818 1039,733 1057,639 1057,538 1057,429 1038,332 999,245 960,158 903,91 829,45 754,-1 676,-24 594,-24 534,-24 480,-11 433,13 385,38 346,70 315,109 315,109 315,109 315,-407 Z M 298,524 C 298,387 326,286 381,221 436,156 503,123 582,123 661,123 730,157 787,225 844,292 872,397 872,539 872,674 844,776 789,843 733,910 667,944 590,944 513,944 445,908 386,837 327,765 298,661 298,524 Z"/></glyph><glyph unicode="r" horiz-adv-x="557"><path d="M 313,0 C 313,0 313,0 133,0 133,0 133,0 133,1061 133,1061 133,1061 295,1061 295,1061 295,1061 295,900 336,975 375,1025 410,1049 445,1073 483,1085 525,1085 586,1085 647,1066 710,1027 710,1027 710,1027 648,860 604,886 560,899 516,899 477,899 441,887 410,864 379,840 356,807 343,765 323,701 313,631 313,555 313,555 313,555 313,0 Z"/></glyph><glyph unicode="s" horiz-adv-x="874"><path d="M 63,316 C 63,316 63,316 241,344 251,273 279,218 325,180 370,142 434,123 517,123 599,123 661,140 701,174 741,207 761,247 761,292 761,333 743,365 708,388 683,404 622,424 524,449 391,482 300,511 249,536 198,560 159,594 133,637 106,680 93,727 93,779 93,826 104,870 126,911 147,951 177,984 214,1011 242,1032 280,1049 329,1064 377,1078 429,1085 484,1085 568,1085 641,1073 704,1049 767,1025 814,993 844,952 874,911 895,856 906,787 906,787 906,787 730,763 722,818 699,860 660,891 622,922 568,937 498,937 415,937 356,923 320,896 285,869 267,837 267,800 267,777 274,756 289,737 304,718 327,702 358,689 376,682 429,667 518,643 645,609 734,581 784,560 835,538 874,506 903,465 932,424 946,372 946,311 946,251 928,195 893,142 858,89 808,48 742,19 676,-10 601,-24 518,-24 379,-24 274,4 202,61 129,118 83,203 63,316 Z"/></glyph><glyph unicode="t" horiz-adv-x="504"><path d="M 528,160 C 528,160 528,160 554,1 503,-9 458,-14 418,-14 353,-14 302,-4 266,16 230,37 205,64 190,98 175,131 168,202 168,310 168,310 168,310 168,921 168,921 168,921 35,921 35,921 35,921 35,1061 35,1061 35,1061 168,1061 168,1061 168,1061 168,1324 168,1324 168,1324 348,1432 348,1432 348,1432 348,1061 348,1061 348,1061 528,1061 528,1061 528,1061 528,921 528,921 528,921 348,921 348,921 348,921 348,300 348,249 351,216 357,201 364,186 374,175 388,166 403,157 423,153 449,153 469,153 496,155 528,160 Z"/></glyph><glyph unicode="u" horiz-adv-x="874"><path d="M 992,0 C 992,0 992,0 831,0 831,0 831,0 831,155 748,35 636,-24 494,-24 431,-24 373,-12 319,11 264,35 224,65 198,102 171,138 153,182 142,235 135,270 131,326 131,403 131,403 131,403 131,1061 131,1061 131,1061 311,1061 311,1061 311,1061 311,472 311,378 315,315 322,282 333,235 357,198 394,171 431,144 476,130 530,130 584,130 635,144 682,172 729,199 763,237 783,285 802,332 812,401 812,492 812,492 812,492 812,1061 812,1061 812,1061 992,1061 992,1061 992,1061 992,0 Z"/></glyph><glyph unicode="y" horiz-adv-x="954"><path d="M 127,-409 C 127,-409 127,-409 107,-240 146,-251 181,-256 210,-256 250,-256 282,-249 306,-236 330,-223 350,-204 365,-180 376,-162 395,-117 420,-46 423,-36 429,-21 436,-2 436,-2 436,-2 33,1061 33,1061 33,1061 227,1061 227,1061 227,1061 448,447 477,369 502,287 525,201 546,283 571,363 599,442 599,442 599,442 827,1061 827,1061 827,1061 1007,1061 1007,1061 1007,1061 603,-18 559,-135 526,-215 502,-259 470,-318 433,-362 391,-389 350,-417 301,-431 243,-431 208,-431 170,-424 127,-409 Z"/></glyph></font></defs><g visibility="visible" id="Default"><desc>Master slide</desc></g><g visibility="visible" id="page1"><desc>Slide</desc><g><desc>Drawing</desc><g><g style="stroke:rgb(192,192,192);fill:none"><path style="fill:none" d="M 12695,22431 L 6927,22431 6927,2375 18463,2375 18463,22431 12695,22431"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:rgb(192,192,192);fill:none"><path style="fill:none" d="M 10472,23119 L 1635,23119 1635,1635 19309,1635 19309,23119 10472,23119"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(128,128,128)"><path d="M 2708,3398 L 5894,3398 5894,22655 2708,22655 2708,3398 Z"/></g><g style="stroke:rgb(128,128,128);fill:none"><path style="fill:none" d="M 4301,22655 L 2708,22655 2708,3398 5894,3398 5894,22655 4301,22655"/></g><g style="stroke:none;fill:rgb(255,255,255)"><path d="M 2403,3093 L 5589,3093 5589,22350 2403,22350 2403,3093 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 3996,22350 L 2403,22350 2403,3093 5589,3093 5589,22350 3996,22350"/></g><g><g style="font-family:Arial embedded;font-size:635;font-weight:400"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="2964 3421 3773 4124 4302 4513 4865 " y="12933">Control</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(128,128,128)"><path d="M 3178,21085 L 5189,21085 5189,21977 3178,21977 3178,21085 Z"/></g><g style="stroke:rgb(128,128,128);fill:none"><path style="fill:none" d="M 4183,21977 L 3178,21977 3178,21085 5189,21085 5189,21977 4183,21977"/></g><g style="stroke:none;fill:rgb(255,255,255)"><path d="M 2878,20785 L 4889,20785 4889,21677 2878,21677 2878,20785 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 3883,21677 L 2878,21677 2878,20785 4889,20785 4889,21677 3883,21677"/></g><g><g style="font-family:Arial embedded;font-size:635;font-weight:400"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="3554 3732 " y="21444">IR</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(128,128,128)"><path d="M 9936,24022 L 16136,24022 16136,26909 9936,26909 9936,24022 Z"/></g><g style="stroke:rgb(128,128,128);fill:none"><path style="fill:none" d="M 13036,26909 L 9936,26909 9936,24022 16136,24022 16136,26909 13036,26909"/></g><g style="stroke:none;fill:rgb(255,255,255)"><path d="M 9631,23717 L 15831,23717 15831,26604 9631,26604 9631,23717 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 12731,26604 L 9631,26604 9631,23717 15831,23717 15831,26604 12731,26604"/></g><g><g style="font-family:Arial embedded;font-size:635;font-weight:400"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="11574 12103 12455 12984 13335 13547 " y="25382">Memory</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(128,128,128)"><path d="M 11677,8538 L 14403,8538 14403,12245 11677,12245 11677,8538 Z"/></g><g style="stroke:rgb(128,128,128);fill:none"><path style="fill:none" d="M 13040,12245 L 11677,12245 11677,8538 14403,8538 14403,12245 13040,12245"/></g><g style="stroke:none;fill:rgb(255,255,255)"><path d="M 11372,8233 L 14098,8233 14098,11940 11372,11940 11372,8233 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 12735,11940 L 11372,11940 11372,8233 14098,8233 14098,11940 12735,11940"/></g><g><g style="font-family:Arial embedded;font-size:635;font-weight:400"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="11478 11935 12287 12638 12778 13095 13273 13624 " y="9951">Register</tspan></text><text><tspan x="" y="9951"/></text><text><tspan x="12342 12520 12660 12799 " y="10666">file</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(128,128,128)"><path d="M 10396,8802 L 10846,8802 10846,9748 10396,9748 10396,8802 Z"/></g><g style="stroke:rgb(128,128,128);fill:none"><path style="fill:none" d="M 10621,9748 L 10396,9748 10396,8802 10846,8802 10846,9748 10621,9748"/></g><g style="stroke:none;fill:rgb(255,255,255)"><path d="M 10091,8497 L 10541,8497 10541,9443 10091,9443 10091,8497 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 10316,9443 L 10091,9443 10091,8497 10541,8497 10541,9443 10316,9443"/></g><g><g style="font-family:Arial embedded;font-size:635;font-weight:400"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="10117 " y="9183">A</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(128,128,128)"><path d="M 10406,10792 L 10845,10792 10845,11752 10406,11752 10406,10792 Z"/></g><g style="stroke:rgb(128,128,128);fill:none"><path style="fill:none" d="M 10625,11752 L 10406,11752 10406,10792 10845,10792 10845,11752 10625,11752"/></g><g style="stroke:none;fill:rgb(255,255,255)"><path d="M 10101,10487 L 10540,10487 10540,11447 10101,11447 10101,10487 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 10320,11447 L 10101,11447 10101,10487 10540,10487 10540,11447 10320,11447"/></g><g><g style="font-family:Arial embedded;font-size:635;font-weight:400"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="10101 " y="11199">B</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(128,128,128)"><path d="M 15182,9930 L 15607,9930 15607,10843 15182,10843 15182,9930 Z"/></g><g style="stroke:rgb(128,128,128);fill:none"><path style="fill:none" d="M 15394,10843 L 15182,10843 15182,9930 15607,9930 15607,10843 15394,10843"/></g><g style="stroke:none;fill:rgb(255,255,255)"><path d="M 14877,9625 L 15302,9625 15302,10538 14877,10538 14877,9625 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 15089,10538 L 14877,10538 14877,9625 15302,9625 15302,10538 15089,10538"/></g><g><g style="font-family:Arial embedded;font-size:635;font-weight:400"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="14861 " y="10311">C</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(128,128,128)"><path d="M 13040,4778 L 14402,6144 13040,7510 11679,6144 13040,4778 13040,4778 Z"/></g><g style="stroke:rgb(128,128,128);fill:none"><path style="fill:none" d="M 13040,4778 L 14402,6144 13040,7510 11679,6144 13040,4778"/></g><g style="stroke:none;fill:rgb(255,255,255)"><path d="M 12735,4473 L 14097,5839 12735,7205 11374,5839 12735,4473 12735,4473 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 12735,4473 L 14097,5839 12735,7205 11374,5839 12735,4473"/></g><g><g style="font-family:Arial embedded;font-size:635;font-weight:400"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="12115 12538 12890 " y="6058">ALU</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(128,128,128)"><path d="M 12047,13130 L 14010,13130 14010,14018 12047,14018 12047,13130 Z"/></g><g style="stroke:rgb(128,128,128);fill:none"><path style="fill:none" d="M 13028,14018 L 12047,14018 12047,13130 14010,13130 14010,14018 13028,14018"/></g><g style="stroke:none;fill:rgb(255,255,255)"><path d="M 11742,12825 L 13705,12825 13705,13713 11742,13713 11742,12825 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 12723,13713 L 11742,13713 11742,12825 13705,12825 13705,13713 12723,13713"/></g><g><g style="font-family:Arial embedded;font-size:635;font-weight:400"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="11954 12272 12623 13152 " y="13484">Temp</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(128,128,128)"><path d="M 12034,14933 L 14005,14933 14005,15817 12034,15817 12034,14933 Z"/></g><g style="stroke:rgb(128,128,128);fill:none"><path style="fill:none" d="M 13019,15817 L 12034,15817 12034,14933 14005,14933 14005,15817 13019,15817"/></g><g style="stroke:none;fill:rgb(255,255,255)"><path d="M 11729,14628 L 13700,14628 13700,15512 11729,15512 11729,14628 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 12714,15512 L 11729,15512 11729,14628 13700,14628 13700,15512 12714,15512"/></g><g><g style="font-family:Arial embedded;font-size:635;font-weight:400"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="12262 12685 " y="15287">PC</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(128,128,128)"><path d="M 12060,16750 L 14005,16750 14005,17647 12060,17647 12060,16750 Z"/></g><g style="stroke:rgb(128,128,128);fill:none"><path style="fill:none" d="M 13032,17647 L 12060,17647 12060,16750 14005,16750 14005,17647 13032,17647"/></g><g style="stroke:none;fill:rgb(255,255,255)"><path d="M 11755,16445 L 13700,16445 13700,17342 11755,17342 11755,16445 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 12727,17342 L 11755,17342 11755,16445 13700,16445 13700,17342 12727,17342"/></g><g><g style="font-family:Arial embedded;font-size:635;font-weight:400"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="12187 12365 12788 " y="17104">IAR</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(128,128,128)"><path d="M 14742,20367 L 16199,20367 16199,21276 14742,21276 14742,20367 Z"/></g><g style="stroke:rgb(128,128,128);fill:none"><path style="fill:none" d="M 15470,21276 L 14742,21276 14742,20367 16199,20367 16199,21276 15470,21276"/></g><g style="stroke:none;fill:rgb(255,255,255)"><path d="M 14437,20062 L 15894,20062 15894,20971 14437,20971 14437,20062 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 15165,20971 L 14437,20971 14437,20062 15894,20062 15894,20971 15165,20971"/></g><g><g style="font-family:Arial embedded;font-size:635;font-weight:400"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="14463 14992 15449 " y="20748">MUX</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(128,128,128)"><path d="M 12060,18543 L 14005,18543 14005,19463 12060,19463 12060,18543 Z"/></g><g style="stroke:rgb(128,128,128);fill:none"><path style="fill:none" d="M 13032,19463 L 12060,19463 12060,18543 14005,18543 14005,19463 13032,19463"/></g><g style="stroke:none;fill:rgb(255,255,255)"><path d="M 11755,18238 L 13700,18238 13700,19158 11755,19158 11755,18238 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 12727,19158 L 11755,19158 11755,18238 13700,18238 13700,19158 12727,19158"/></g><g><g style="font-family:Arial embedded;font-size:635;font-weight:400"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="12011 12540 12964 " y="18924">MAR</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(128,128,128)"><path d="M 12061,20365 L 13993,20365 13993,21281 12061,21281 12061,20365 Z"/></g><g style="stroke:rgb(128,128,128);fill:none"><path style="fill:none" d="M 13027,21281 L 12061,21281 12061,20365 13993,20365 13993,21281 13027,21281"/></g><g style="stroke:none;fill:rgb(255,255,255)"><path d="M 11756,20060 L 13688,20060 13688,20976 11756,20976 11756,20060 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 12722,20976 L 11756,20976 11756,20060 13688,20060 13688,20976 12722,20976"/></g><g><g style="font-family:Arial embedded;font-size:635;font-weight:400"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="11994 12523 12980 " y="20746">MDR</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 13688,20518 L 13993,20417 13993,20620 13688,20518 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 14438,20517 L 14215,20517 14215,20518 13932,20518"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 16916,20380 L 16893,4164"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 15895,20517 L 16200,20416 16200,20619 15895,20517 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 16904,20380 L 16904,20517 16139,20517"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 15303,10082 L 15608,9981 15608,10184 15303,10082 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 16903,10090 L 16250,10090 16250,10082 15547,10082"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 7836,4192 L 7840,21148"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 9115,4194 L 9110,21452"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 7838,21148 L 7538,21263 7529,21060 7838,21148 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 4875,21160 L 6365,21160 6365,21161 7607,21161"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 7841,20696 L 8146,20595 8146,20798 7841,20696 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 11756,20723 L 9549,20723 9549,20696 8085,20696"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 9115,20326 L 9420,20225 9420,20428 9115,20326 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 11756,20328 L 11796,20328 11796,20326 9359,20326"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 9522,20856 L 9494,20848 9467,20834 9443,20815 9424,20791 9410,20764 9402,20736 9399,20709 9402,20682 9410,20653 9424,20626 9443,20603 9467,20584 9494,20570 9522,20561 9550,20559 9576,20561 9605,20570 9631,20584 9655,20603 9674,20626 9688,20653 9696,20682 9699,20709 9696,20736 9688,20764 9674,20791 9655,20815 9631,20834 9605,20848 9576,20856 9550,20859 9522,20856 Z"/><path d="M 12731,23718 L 12630,23414 12833,23414 12731,23718 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 9549,20829 L 9549,22067 12731,22067 12731,23474"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 14098,10087 L 14403,9986 14403,10189 14098,10087 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 14878,10082 L 14632,10082 14632,10087 14342,10087"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 2410,21399 L 2106,21501 2106,21298 2410,21399 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 1940,27405 L 1939,27405 1939,21399 2166,21399"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 7841,18885 L 8146,18784 8146,18987 7841,18885 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 11756,18899 L 8569,18899 8569,18885 8085,18885"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 9115,18514 L 9420,18413 9420,18616 9115,18514 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 11770,18516 L 10435,18516 10435,18514 9359,18514"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 7840,17071 L 8145,16970 8145,17173 7840,17071 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 11756,17072 L 9798,17072 9798,17071 8084,17071"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 9115,16702 L 9420,16601 9420,16804 9115,16702 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 11783,16704 L 11743,16704 11743,16702 9359,16702"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 7840,15260 L 8145,15159 8145,15362 7840,15260 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 11730,15260 L 8084,15260"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 9115,14902 L 9420,14801 9420,15004 9115,14902 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 11730,14905 L 11716,14905 11716,14902 9359,14902"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 7840,13448 L 8145,13347 8145,13550 7840,13448 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 11743,13448 L 8084,13448"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 9115,13076 L 9420,12975 9420,13178 9115,13076 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 11743,13079 L 11743,13076 9359,13076"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 9115,10963 L 9420,10862 9420,11065 9115,10963 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 10102,10967 L 9608,10967 9608,10963 9359,10963"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 7840,8979 L 8145,8878 8145,9081 7840,8979 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 10091,8970 L 8966,8970 8966,8979 8084,8979"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 10541,8970 L 10846,8869 10846,9072 10541,8970 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 11372,8965 L 11109,8965 11109,8970 10785,8970"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 10541,10967 L 10846,10866 10846,11069 10541,10967 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 11372,10961 L 11109,10961 11109,10967 10785,10967"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 16915,5843 L 16610,5944 16611,5741 16915,5843 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 14096,5838 L 16671,5843"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 9239,5046 L 9233,5069 9221,5092 9205,5113 9184,5129 9161,5141 9138,5147 9115,5150 9092,5147 9068,5141 9045,5129 9025,5113 9009,5092 8998,5069 8990,5046 8988,5022 8990,5000 8998,4976 9009,4954 9025,4933 9045,4917 9068,4905 9092,4899 9115,4896 9138,4899 9161,4905 9184,4917 9205,4933 9221,4954 9233,4976 9239,5000 9242,5022 9239,5046 Z"/><path d="M 12233,5023 L 11929,5125 11929,4922 12233,5023 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 9217,5023 L 11989,5023"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 7983,6676 L 7975,6703 7961,6731 7942,6755 7918,6774 7891,6788 7863,6796 7836,6799 7809,6796 7780,6788 7753,6774 7730,6755 7711,6731 7697,6704 7688,6676 7686,6648 7688,6622 7697,6593 7711,6567 7730,6543 7753,6524 7780,6510 7809,6502 7836,6499 7863,6502 7890,6510 7918,6524 7942,6543 7961,6567 7975,6593 7983,6622 7986,6648 7983,6676 Z"/><path d="M 12207,6648 L 11903,6750 11902,6547 12207,6648 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 7956,6649 L 11963,6648"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 13706,13269 L 14156,13118 14156,13418 13706,13269 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 16903,13262 L 14066,13268"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 13701,15070 L 14006,14969 14005,15172 13701,15070 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 16903,15075 L 13945,15070"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 13701,16894 L 14005,16792 14006,16995 13701,16894 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 16915,16887 L 13945,16893"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 13701,18698 L 14006,18597 14006,18800 13701,18698 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 16894,18698 L 13945,18698"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 12734,4473 L 12633,4169 12836,4169 12734,4473 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 5589,3277 L 5640,3277"/><path style="fill:none" d="M 5691,3277 L 5742,3277"/><path style="fill:none" d="M 5793,3277 L 5844,3277"/><path style="fill:none" d="M 5895,3277 L 5946,3277"/><path style="fill:none" d="M 5997,3277 L 6048,3277"/><path style="fill:none" d="M 6099,3277 L 6150,3277"/><path style="fill:none" d="M 6201,3277 L 6252,3277"/><path style="fill:none" d="M 6303,3277 L 6354,3277"/><path style="fill:none" d="M 6405,3277 L 6456,3277"/><path style="fill:none" d="M 6507,3277 L 6558,3277"/><path style="fill:none" d="M 6609,3277 L 6660,3277"/><path style="fill:none" d="M 6711,3277 L 6762,3277"/><path style="fill:none" d="M 6813,3277 L 6864,3277"/><path style="fill:none" d="M 6915,3277 L 6966,3277"/><path style="fill:none" d="M 7017,3277 L 7068,3277"/><path style="fill:none" d="M 7119,3277 L 7170,3277"/><path style="fill:none" d="M 7221,3277 L 7272,3277"/><path style="fill:none" d="M 7323,3277 L 7374,3277"/><path style="fill:none" d="M 7425,3277 L 7476,3277"/><path style="fill:none" d="M 7527,3277 L 7578,3277"/><path style="fill:none" d="M 7629,3277 L 7680,3277"/><path style="fill:none" d="M 7731,3277 L 7782,3277"/><path style="fill:none" d="M 7833,3277 L 7884,3277"/><path style="fill:none" d="M 7935,3277 L 7986,3277"/><path style="fill:none" d="M 8037,3277 L 8088,3277"/><path style="fill:none" d="M 8139,3277 L 8190,3277"/><path style="fill:none" d="M 8241,3277 L 8292,3277"/><path style="fill:none" d="M 8343,3277 L 8394,3277"/><path style="fill:none" d="M 8445,3277 L 8496,3277"/><path style="fill:none" d="M 8547,3277 L 8598,3277"/><path style="fill:none" d="M 8649,3277 L 8700,3277"/><path style="fill:none" d="M 8751,3277 L 8802,3277"/><path style="fill:none" d="M 8853,3277 L 8904,3277"/><path style="fill:none" d="M 8955,3277 L 9006,3277"/><path style="fill:none" d="M 9057,3277 L 9108,3277"/><path style="fill:none" d="M 9159,3277 L 9210,3277"/><path style="fill:none" d="M 9261,3277 L 9312,3277"/><path style="fill:none" d="M 9363,3277 L 9414,3277"/><path style="fill:none" d="M 9465,3277 L 9516,3277"/><path style="fill:none" d="M 9567,3277 L 9618,3277"/><path style="fill:none" d="M 9669,3277 L 9720,3277"/><path style="fill:none" d="M 9771,3277 L 9822,3277"/><path style="fill:none" d="M 9873,3277 L 9924,3277"/><path style="fill:none" d="M 9975,3277 L 10026,3277"/><path style="fill:none" d="M 10077,3277 L 10128,3277"/><path style="fill:none" d="M 10179,3277 L 10230,3277"/><path style="fill:none" d="M 10281,3277 L 10332,3277"/><path style="fill:none" d="M 10383,3277 L 10434,3277"/><path style="fill:none" d="M 10485,3277 L 10536,3277"/><path style="fill:none" d="M 10587,3277 L 10638,3277"/><path style="fill:none" d="M 10689,3277 L 10740,3277"/><path style="fill:none" d="M 10791,3277 L 10842,3277"/><path style="fill:none" d="M 10893,3277 L 10944,3277"/><path style="fill:none" d="M 10995,3277 L 11046,3277"/><path style="fill:none" d="M 11097,3277 L 11148,3277"/><path style="fill:none" d="M 11199,3277 L 11250,3277"/><path style="fill:none" d="M 11301,3277 L 11352,3277"/><path style="fill:none" d="M 11403,3277 L 11454,3277"/><path style="fill:none" d="M 11505,3277 L 11556,3277"/><path style="fill:none" d="M 11607,3277 L 11658,3277"/><path style="fill:none" d="M 11709,3277 L 11760,3277"/><path style="fill:none" d="M 11811,3277 L 11862,3277"/><path style="fill:none" d="M 11913,3277 L 11964,3277"/><path style="fill:none" d="M 12015,3277 L 12066,3277"/><path style="fill:none" d="M 12117,3277 L 12168,3277"/><path style="fill:none" d="M 12219,3277 L 12270,3277"/><path style="fill:none" d="M 12321,3277 L 12372,3277"/><path style="fill:none" d="M 12423,3277 L 12474,3277"/><path style="fill:none" d="M 12525,3277 L 12576,3277"/><path style="fill:none" d="M 12627,3277 L 12678,3277"/><path style="fill:none" d="M 12729,3277 L 12734,3277 12734,3323"/><path style="fill:none" d="M 12734,3374 L 12734,3425"/><path style="fill:none" d="M 12734,3476 L 12734,3527"/><path style="fill:none" d="M 12734,3578 L 12734,3629"/><path style="fill:none" d="M 12734,3680 L 12734,3731"/><path style="fill:none" d="M 12734,3782 L 12734,3833"/><path style="fill:none" d="M 12734,3884 L 12734,3935"/><path style="fill:none" d="M 12734,3986 L 12734,4037"/><path style="fill:none" d="M 12734,4088 L 12734,4139"/><path style="fill:none" d="M 12734,4190 L 12734,4229"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 8569,18892 L 8569,25161 9631,25161"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 8542,19039 L 8514,19031 8487,19017 8463,18998 8444,18974 8430,18947 8422,18919 8419,18892 8422,18865 8430,18836 8444,18809 8463,18786 8487,18767 8514,18753 8542,18744 8570,18742 8596,18744 8625,18753 8651,18767 8675,18786 8694,18809 8708,18836 8716,18865 8719,18892 8716,18919 8708,18947 8694,18974 8675,18998 8651,19017 8625,19031 8596,19039 8570,19042 8542,19039 Z"/><path d="M 9631,25161 L 9327,25263 9327,25060 9631,25161 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 8569,19012 L 8569,25161 9387,25161"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 1940,27405 L 16915,27405"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 12734,27405 L 12629,27102 12832,27100 12734,27405 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 12731,26605 L 12731,27127 12734,27127 12734,27161"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 15882,20869 L 16187,20768 16187,20971 15882,20869 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 16915,27405 L 16915,20869 16126,20869"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 9667,24046 L 9363,24148 9363,23945 9667,24046 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 5577,21967 L 5628,21967"/><path style="fill:none" d="M 5679,21967 L 5730,21967"/><path style="fill:none" d="M 5781,21967 L 5832,21967"/><path style="fill:none" d="M 5883,21967 L 5934,21967"/><path style="fill:none" d="M 5985,21967 L 6036,21967"/><path style="fill:none" d="M 6087,21967 L 6138,21967"/><path style="fill:none" d="M 6189,21967 L 6240,21967"/><path style="fill:none" d="M 6291,21967 L 6342,21967"/><path style="fill:none" d="M 6393,21967 L 6444,21967"/><path style="fill:none" d="M 6493,21969 L 6493,22020"/><path style="fill:none" d="M 6493,22071 L 6493,22122"/><path style="fill:none" d="M 6493,22173 L 6493,22224"/><path style="fill:none" d="M 6493,22275 L 6493,22326"/><path style="fill:none" d="M 6493,22377 L 6493,22428"/><path style="fill:none" d="M 6493,22479 L 6493,22530"/><path style="fill:none" d="M 6493,22581 L 6493,22632"/><path style="fill:none" d="M 6493,22683 L 6493,22734"/><path style="fill:none" d="M 6493,22785 L 6493,22836"/><path style="fill:none" d="M 6493,22887 L 6493,22938"/><path style="fill:none" d="M 6493,22989 L 6493,23040"/><path style="fill:none" d="M 6493,23091 L 6493,23142"/><path style="fill:none" d="M 6493,23193 L 6493,23244"/><path style="fill:none" d="M 6493,23295 L 6493,23346"/><path style="fill:none" d="M 6493,23397 L 6493,23448"/><path style="fill:none" d="M 6493,23499 L 6493,23550"/><path style="fill:none" d="M 6493,23601 L 6493,23652"/><path style="fill:none" d="M 6493,23703 L 6493,23754"/><path style="fill:none" d="M 6493,23805 L 6493,23856"/><path style="fill:none" d="M 6493,23907 L 6493,23958"/><path style="fill:none" d="M 6493,24009 L 6493,24046 6507,24046"/><path style="fill:none" d="M 6558,24046 L 6609,24046"/><path style="fill:none" d="M 6660,24046 L 6711,24046"/><path style="fill:none" d="M 6762,24046 L 6813,24046"/><path style="fill:none" d="M 6864,24046 L 6915,24046"/><path style="fill:none" d="M 6966,24046 L 7017,24046"/><path style="fill:none" d="M 7068,24046 L 7119,24046"/><path style="fill:none" d="M 7170,24046 L 7221,24046"/><path style="fill:none" d="M 7272,24046 L 7323,24046"/><path style="fill:none" d="M 7374,24046 L 7425,24046"/><path style="fill:none" d="M 7476,24046 L 7527,24046"/><path style="fill:none" d="M 7578,24046 L 7629,24046"/><path style="fill:none" d="M 7680,24046 L 7731,24046"/><path style="fill:none" d="M 7782,24046 L 7833,24046"/><path style="fill:none" d="M 7884,24046 L 7935,24046"/><path style="fill:none" d="M 7986,24046 L 8037,24046"/><path style="fill:none" d="M 8088,24046 L 8139,24046"/><path style="fill:none" d="M 8190,24046 L 8241,24046"/><path style="fill:none" d="M 8292,24046 L 8343,24046"/><path style="fill:none" d="M 8394,24046 L 8445,24046"/><path style="fill:none" d="M 8496,24046 L 8547,24046"/><path style="fill:none" d="M 8598,24046 L 8649,24046"/><path style="fill:none" d="M 8700,24046 L 8751,24046"/><path style="fill:none" d="M 8802,24046 L 8853,24046"/><path style="fill:none" d="M 8904,24046 L 8955,24046"/><path style="fill:none" d="M 9006,24046 L 9057,24046"/><path style="fill:none" d="M 9108,24046 L 9159,24046"/><path style="fill:none" d="M 9210,24046 L 9261,24046"/><path style="fill:none" d="M 9312,24046 L 9363,24046"/><path style="fill:none" d="M 9414,24046 L 9423,24046"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 12728,18238 L 12627,17934 12830,17934 12728,18238 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 5577,17892 L 5628,17892"/><path style="fill:none" d="M 5679,17892 L 5730,17892"/><path style="fill:none" d="M 5781,17892 L 5832,17892"/><path style="fill:none" d="M 5883,17892 L 5934,17892"/><path style="fill:none" d="M 5985,17892 L 6036,17892"/><path style="fill:none" d="M 6087,17892 L 6138,17892"/><path style="fill:none" d="M 6189,17892 L 6240,17892"/><path style="fill:none" d="M 6291,17892 L 6342,17892"/><path style="fill:none" d="M 6393,17892 L 6444,17892"/><path style="fill:none" d="M 6495,17892 L 6546,17892"/><path style="fill:none" d="M 6597,17892 L 6648,17892"/><path style="fill:none" d="M 6699,17892 L 6750,17892"/><path style="fill:none" d="M 6801,17892 L 6852,17892"/><path style="fill:none" d="M 6903,17892 L 6954,17892"/><path style="fill:none" d="M 7005,17892 L 7056,17892"/><path style="fill:none" d="M 7107,17892 L 7158,17892"/><path style="fill:none" d="M 7209,17892 L 7260,17892"/><path style="fill:none" d="M 7311,17892 L 7362,17892"/><path style="fill:none" d="M 7413,17892 L 7464,17892"/><path style="fill:none" d="M 7515,17892 L 7566,17892"/><path style="fill:none" d="M 7617,17892 L 7668,17892"/><path style="fill:none" d="M 7719,17892 L 7770,17892"/><path style="fill:none" d="M 7821,17892 L 7872,17892"/><path style="fill:none" d="M 7923,17892 L 7974,17892"/><path style="fill:none" d="M 8025,17892 L 8076,17892"/><path style="fill:none" d="M 8127,17892 L 8178,17892"/><path style="fill:none" d="M 8229,17892 L 8280,17892"/><path style="fill:none" d="M 8331,17892 L 8382,17892"/><path style="fill:none" d="M 8433,17892 L 8484,17892"/><path style="fill:none" d="M 8535,17892 L 8586,17892"/><path style="fill:none" d="M 8637,17892 L 8688,17892"/><path style="fill:none" d="M 8739,17892 L 8790,17892"/><path style="fill:none" d="M 8841,17892 L 8892,17892"/><path style="fill:none" d="M 8943,17892 L 8994,17892"/><path style="fill:none" d="M 9045,17892 L 9096,17892"/><path style="fill:none" d="M 9147,17892 L 9198,17892"/><path style="fill:none" d="M 9249,17892 L 9272,17892 9272,17880 9288,17880"/><path style="fill:none" d="M 9339,17880 L 9390,17880"/><path style="fill:none" d="M 9441,17880 L 9492,17880"/><path style="fill:none" d="M 9543,17880 L 9594,17880"/><path style="fill:none" d="M 9645,17880 L 9696,17880"/><path style="fill:none" d="M 9747,17880 L 9798,17880"/><path style="fill:none" d="M 9849,17880 L 9900,17880"/><path style="fill:none" d="M 9951,17880 L 10002,17880"/><path style="fill:none" d="M 10053,17880 L 10104,17880"/><path style="fill:none" d="M 10155,17880 L 10206,17880"/><path style="fill:none" d="M 10257,17880 L 10308,17880"/><path style="fill:none" d="M 10359,17880 L 10410,17880"/><path style="fill:none" d="M 10461,17880 L 10512,17880"/><path style="fill:none" d="M 10563,17880 L 10614,17880"/><path style="fill:none" d="M 10665,17880 L 10716,17880"/><path style="fill:none" d="M 10767,17880 L 10818,17880"/><path style="fill:none" d="M 10869,17880 L 10920,17880"/><path style="fill:none" d="M 10971,17880 L 11022,17880"/><path style="fill:none" d="M 11073,17880 L 11124,17880"/><path style="fill:none" d="M 11175,17880 L 11226,17880"/><path style="fill:none" d="M 11277,17880 L 11328,17880"/><path style="fill:none" d="M 11379,17880 L 11430,17880"/><path style="fill:none" d="M 11481,17880 L 11532,17880"/><path style="fill:none" d="M 11583,17880 L 11634,17880"/><path style="fill:none" d="M 11685,17880 L 11736,17880"/><path style="fill:none" d="M 11787,17880 L 11838,17880"/><path style="fill:none" d="M 11889,17880 L 11940,17880"/><path style="fill:none" d="M 11991,17880 L 12042,17880"/><path style="fill:none" d="M 12093,17880 L 12144,17880"/><path style="fill:none" d="M 12195,17880 L 12246,17880"/><path style="fill:none" d="M 12297,17880 L 12348,17880"/><path style="fill:none" d="M 12399,17880 L 12450,17880"/><path style="fill:none" d="M 12501,17880 L 12552,17880"/><path style="fill:none" d="M 12603,17880 L 12654,17880"/><path style="fill:none" d="M 12705,17880 L 12728,17880 12728,17908"/><path style="fill:none" d="M 12728,17959 L 12728,17994"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 12728,16446 L 12627,16142 12830,16142 12728,16446 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 5577,16080 L 5628,16080"/><path style="fill:none" d="M 5679,16080 L 5730,16080"/><path style="fill:none" d="M 5781,16080 L 5832,16080"/><path style="fill:none" d="M 5883,16080 L 5934,16080"/><path style="fill:none" d="M 5985,16080 L 6036,16080"/><path style="fill:none" d="M 6087,16080 L 6138,16080"/><path style="fill:none" d="M 6189,16080 L 6240,16080"/><path style="fill:none" d="M 6291,16080 L 6342,16080"/><path style="fill:none" d="M 6393,16080 L 6444,16080"/><path style="fill:none" d="M 6495,16080 L 6546,16080"/><path style="fill:none" d="M 6597,16080 L 6648,16080"/><path style="fill:none" d="M 6699,16080 L 6750,16080"/><path style="fill:none" d="M 6801,16080 L 6852,16080"/><path style="fill:none" d="M 6903,16080 L 6954,16080"/><path style="fill:none" d="M 7005,16080 L 7056,16080"/><path style="fill:none" d="M 7107,16080 L 7158,16080"/><path style="fill:none" d="M 7209,16080 L 7260,16080"/><path style="fill:none" d="M 7311,16080 L 7362,16080"/><path style="fill:none" d="M 7413,16080 L 7464,16080"/><path style="fill:none" d="M 7515,16080 L 7566,16080"/><path style="fill:none" d="M 7617,16080 L 7668,16080"/><path style="fill:none" d="M 7719,16080 L 7770,16080"/><path style="fill:none" d="M 7821,16080 L 7872,16080"/><path style="fill:none" d="M 7923,16080 L 7974,16080"/><path style="fill:none" d="M 8025,16080 L 8076,16080"/><path style="fill:none" d="M 8127,16080 L 8178,16080"/><path style="fill:none" d="M 8229,16080 L 8280,16080"/><path style="fill:none" d="M 8331,16080 L 8382,16080"/><path style="fill:none" d="M 8433,16080 L 8484,16080"/><path style="fill:none" d="M 8535,16080 L 8586,16080"/><path style="fill:none" d="M 8637,16080 L 8688,16080"/><path style="fill:none" d="M 8739,16080 L 8790,16080"/><path style="fill:none" d="M 8840,16081 L 8891,16081"/><path style="fill:none" d="M 8942,16081 L 8993,16081"/><path style="fill:none" d="M 9044,16081 L 9095,16081"/><path style="fill:none" d="M 9146,16081 L 9197,16081"/><path style="fill:none" d="M 9248,16081 L 9299,16081"/><path style="fill:none" d="M 9350,16081 L 9401,16081"/><path style="fill:none" d="M 9452,16081 L 9503,16081"/><path style="fill:none" d="M 9554,16081 L 9605,16081"/><path style="fill:none" d="M 9656,16081 L 9707,16081"/><path style="fill:none" d="M 9758,16081 L 9809,16081"/><path style="fill:none" d="M 9860,16081 L 9911,16081"/><path style="fill:none" d="M 9962,16081 L 10013,16081"/><path style="fill:none" d="M 10064,16081 L 10115,16081"/><path style="fill:none" d="M 10166,16081 L 10217,16081"/><path style="fill:none" d="M 10268,16081 L 10319,16081"/><path style="fill:none" d="M 10370,16081 L 10421,16081"/><path style="fill:none" d="M 10472,16081 L 10523,16081"/><path style="fill:none" d="M 10574,16081 L 10625,16081"/><path style="fill:none" d="M 10676,16081 L 10727,16081"/><path style="fill:none" d="M 10778,16081 L 10829,16081"/><path style="fill:none" d="M 10880,16081 L 10931,16081"/><path style="fill:none" d="M 10982,16081 L 11033,16081"/><path style="fill:none" d="M 11084,16081 L 11135,16081"/><path style="fill:none" d="M 11186,16081 L 11237,16081"/><path style="fill:none" d="M 11288,16081 L 11339,16081"/><path style="fill:none" d="M 11390,16081 L 11441,16081"/><path style="fill:none" d="M 11492,16081 L 11543,16081"/><path style="fill:none" d="M 11594,16081 L 11645,16081"/><path style="fill:none" d="M 11696,16081 L 11747,16081"/><path style="fill:none" d="M 11798,16081 L 11849,16081"/><path style="fill:none" d="M 11900,16081 L 11951,16081"/><path style="fill:none" d="M 12002,16081 L 12053,16081"/><path style="fill:none" d="M 12104,16081 L 12155,16081"/><path style="fill:none" d="M 12206,16081 L 12257,16081"/><path style="fill:none" d="M 12308,16081 L 12359,16081"/><path style="fill:none" d="M 12410,16081 L 12461,16081"/><path style="fill:none" d="M 12512,16081 L 12563,16081"/><path style="fill:none" d="M 12614,16081 L 12665,16081"/><path style="fill:none" d="M 12716,16081 L 12728,16081 12728,16120"/><path style="fill:none" d="M 12728,16171 L 12728,16202"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 12715,14628 L 12614,14324 12817,14324 12715,14628 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 5577,14254 L 5628,14254"/><path style="fill:none" d="M 5679,14254 L 5730,14254"/><path style="fill:none" d="M 5781,14254 L 5832,14254"/><path style="fill:none" d="M 5883,14254 L 5934,14254"/><path style="fill:none" d="M 5985,14254 L 6036,14254"/><path style="fill:none" d="M 6087,14254 L 6138,14254"/><path style="fill:none" d="M 6189,14254 L 6240,14254"/><path style="fill:none" d="M 6291,14254 L 6342,14254"/><path style="fill:none" d="M 6393,14254 L 6444,14254"/><path style="fill:none" d="M 6495,14254 L 6546,14254"/><path style="fill:none" d="M 6597,14254 L 6648,14254"/><path style="fill:none" d="M 6699,14254 L 6750,14254"/><path style="fill:none" d="M 6801,14254 L 6852,14254"/><path style="fill:none" d="M 6903,14254 L 6954,14254"/><path style="fill:none" d="M 7005,14254 L 7056,14254"/><path style="fill:none" d="M 7107,14254 L 7158,14254"/><path style="fill:none" d="M 7209,14254 L 7260,14254"/><path style="fill:none" d="M 7311,14254 L 7362,14254"/><path style="fill:none" d="M 7413,14254 L 7464,14254"/><path style="fill:none" d="M 7515,14254 L 7566,14254"/><path style="fill:none" d="M 7617,14254 L 7668,14254"/><path style="fill:none" d="M 7719,14254 L 7770,14254"/><path style="fill:none" d="M 7821,14254 L 7872,14254"/><path style="fill:none" d="M 7923,14254 L 7974,14254"/><path style="fill:none" d="M 8025,14254 L 8076,14254"/><path style="fill:none" d="M 8127,14254 L 8178,14254"/><path style="fill:none" d="M 8229,14254 L 8280,14254"/><path style="fill:none" d="M 8331,14254 L 8382,14254"/><path style="fill:none" d="M 8433,14254 L 8484,14254"/><path style="fill:none" d="M 8535,14254 L 8586,14254"/><path style="fill:none" d="M 8637,14254 L 8688,14254"/><path style="fill:none" d="M 8739,14254 L 8790,14254"/><path style="fill:none" d="M 8841,14254 L 8892,14254"/><path style="fill:none" d="M 8943,14254 L 8994,14254"/><path style="fill:none" d="M 9045,14254 L 9096,14254"/><path style="fill:none" d="M 9147,14254 L 9198,14254"/><path style="fill:none" d="M 9249,14254 L 9300,14254"/><path style="fill:none" d="M 9351,14254 L 9402,14254"/><path style="fill:none" d="M 9453,14254 L 9504,14254"/><path style="fill:none" d="M 9555,14254 L 9599,14254 9599,14256 9604,14256"/><path style="fill:none" d="M 9655,14256 L 9706,14256"/><path style="fill:none" d="M 9757,14256 L 9808,14256"/><path style="fill:none" d="M 9859,14256 L 9910,14256"/><path style="fill:none" d="M 9961,14256 L 10012,14256"/><path style="fill:none" d="M 10063,14256 L 10114,14256"/><path style="fill:none" d="M 10165,14256 L 10216,14256"/><path style="fill:none" d="M 10267,14256 L 10318,14256"/><path style="fill:none" d="M 10369,14256 L 10420,14256"/><path style="fill:none" d="M 10471,14256 L 10522,14256"/><path style="fill:none" d="M 10573,14256 L 10624,14256"/><path style="fill:none" d="M 10675,14256 L 10726,14256"/><path style="fill:none" d="M 10777,14256 L 10828,14256"/><path style="fill:none" d="M 10879,14256 L 10930,14256"/><path style="fill:none" d="M 10981,14256 L 11032,14256"/><path style="fill:none" d="M 11083,14256 L 11134,14256"/><path style="fill:none" d="M 11185,14256 L 11236,14256"/><path style="fill:none" d="M 11287,14256 L 11338,14256"/><path style="fill:none" d="M 11389,14256 L 11440,14256"/><path style="fill:none" d="M 11491,14256 L 11542,14256"/><path style="fill:none" d="M 11593,14256 L 11644,14256"/><path style="fill:none" d="M 11695,14256 L 11746,14256"/><path style="fill:none" d="M 11797,14256 L 11848,14256"/><path style="fill:none" d="M 11899,14256 L 11950,14256"/><path style="fill:none" d="M 12001,14256 L 12052,14256"/><path style="fill:none" d="M 12103,14256 L 12154,14256"/><path style="fill:none" d="M 12205,14256 L 12256,14256"/><path style="fill:none" d="M 12307,14256 L 12358,14256"/><path style="fill:none" d="M 12409,14256 L 12460,14256"/><path style="fill:none" d="M 12511,14256 L 12562,14256"/><path style="fill:none" d="M 12613,14256 L 12664,14256"/><path style="fill:none" d="M 12715,14256 L 12715,14307"/><path style="fill:none" d="M 12715,14358 L 12715,14384"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 12724,12825 L 12606,12526 12809,12516 12724,12825 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 5577,12538 L 5628,12538"/><path style="fill:none" d="M 5679,12538 L 5730,12538"/><path style="fill:none" d="M 5781,12538 L 5832,12538"/><path style="fill:none" d="M 5883,12538 L 5934,12538"/><path style="fill:none" d="M 5985,12538 L 6036,12538"/><path style="fill:none" d="M 6087,12538 L 6138,12538"/><path style="fill:none" d="M 6189,12538 L 6240,12538"/><path style="fill:none" d="M 6291,12538 L 6342,12538"/><path style="fill:none" d="M 6393,12538 L 6444,12538"/><path style="fill:none" d="M 6495,12538 L 6546,12538"/><path style="fill:none" d="M 6597,12538 L 6648,12538"/><path style="fill:none" d="M 6699,12538 L 6750,12538"/><path style="fill:none" d="M 6801,12538 L 6852,12538"/><path style="fill:none" d="M 6903,12538 L 6954,12538"/><path style="fill:none" d="M 7005,12538 L 7056,12538"/><path style="fill:none" d="M 7107,12538 L 7158,12538"/><path style="fill:none" d="M 7209,12538 L 7260,12538"/><path style="fill:none" d="M 7311,12538 L 7362,12538"/><path style="fill:none" d="M 7413,12538 L 7464,12538"/><path style="fill:none" d="M 7515,12538 L 7566,12538"/><path style="fill:none" d="M 7617,12538 L 7668,12538"/><path style="fill:none" d="M 7719,12538 L 7770,12538"/><path style="fill:none" d="M 7821,12538 L 7872,12538"/><path style="fill:none" d="M 7923,12538 L 7974,12538"/><path style="fill:none" d="M 8025,12538 L 8076,12538"/><path style="fill:none" d="M 8127,12538 L 8178,12538"/><path style="fill:none" d="M 8229,12538 L 8280,12538"/><path style="fill:none" d="M 8331,12538 L 8382,12538"/><path style="fill:none" d="M 8433,12538 L 8484,12538"/><path style="fill:none" d="M 8535,12538 L 8586,12538"/><path style="fill:none" d="M 8637,12538 L 8688,12538"/><path style="fill:none" d="M 8739,12538 L 8790,12538"/><path style="fill:none" d="M 8839,12536 L 8890,12536"/><path style="fill:none" d="M 8941,12536 L 8992,12536"/><path style="fill:none" d="M 9043,12536 L 9094,12536"/><path style="fill:none" d="M 9145,12536 L 9196,12536"/><path style="fill:none" d="M 9247,12536 L 9298,12536"/><path style="fill:none" d="M 9349,12536 L 9400,12536"/><path style="fill:none" d="M 9451,12536 L 9502,12536"/><path style="fill:none" d="M 9553,12536 L 9604,12536"/><path style="fill:none" d="M 9655,12536 L 9706,12536"/><path style="fill:none" d="M 9757,12536 L 9808,12536"/><path style="fill:none" d="M 9859,12536 L 9910,12536"/><path style="fill:none" d="M 9961,12536 L 10012,12536"/><path style="fill:none" d="M 10063,12536 L 10114,12536"/><path style="fill:none" d="M 10165,12536 L 10216,12536"/><path style="fill:none" d="M 10267,12536 L 10318,12536"/><path style="fill:none" d="M 10369,12536 L 10420,12536"/><path style="fill:none" d="M 10471,12536 L 10522,12536"/><path style="fill:none" d="M 10573,12536 L 10624,12536"/><path style="fill:none" d="M 10675,12536 L 10726,12536"/><path style="fill:none" d="M 10777,12536 L 10828,12536"/><path style="fill:none" d="M 10879,12536 L 10930,12536"/><path style="fill:none" d="M 10981,12536 L 11032,12536"/><path style="fill:none" d="M 11083,12536 L 11134,12536"/><path style="fill:none" d="M 11185,12536 L 11236,12536"/><path style="fill:none" d="M 11287,12536 L 11338,12536"/><path style="fill:none" d="M 11389,12536 L 11440,12536"/><path style="fill:none" d="M 11491,12536 L 11542,12536"/><path style="fill:none" d="M 11593,12536 L 11644,12536"/><path style="fill:none" d="M 11695,12536 L 11746,12536"/><path style="fill:none" d="M 11797,12536 L 11848,12536"/><path style="fill:none" d="M 11899,12536 L 11950,12536"/><path style="fill:none" d="M 12001,12536 L 12052,12536"/><path style="fill:none" d="M 12103,12536 L 12154,12536"/><path style="fill:none" d="M 12205,12536 L 12256,12536"/><path style="fill:none" d="M 12307,12536 L 12358,12536"/><path style="fill:none" d="M 12409,12536 L 12460,12536"/><path style="fill:none" d="M 12511,12536 L 12562,12536"/><path style="fill:none" d="M 12613,12536 L 12664,12536"/><path style="fill:none" d="M 12715,12536 L 12724,12536 12724,12578"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 10321,10487 L 10220,10183 10423,10183 10321,10487 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 5577,9957 L 5628,9957"/><path style="fill:none" d="M 5679,9957 L 5730,9957"/><path style="fill:none" d="M 5781,9957 L 5832,9957"/><path style="fill:none" d="M 5883,9957 L 5934,9957"/><path style="fill:none" d="M 5985,9957 L 6036,9957"/><path style="fill:none" d="M 6087,9957 L 6138,9957"/><path style="fill:none" d="M 6189,9957 L 6240,9957"/><path style="fill:none" d="M 6291,9957 L 6342,9957"/><path style="fill:none" d="M 6393,9957 L 6444,9957"/><path style="fill:none" d="M 6495,9957 L 6546,9957"/><path style="fill:none" d="M 6597,9957 L 6648,9957"/><path style="fill:none" d="M 6699,9957 L 6750,9957"/><path style="fill:none" d="M 6801,9957 L 6852,9957"/><path style="fill:none" d="M 6903,9957 L 6954,9957"/><path style="fill:none" d="M 7005,9957 L 7056,9957"/><path style="fill:none" d="M 7107,9957 L 7158,9957"/><path style="fill:none" d="M 7209,9957 L 7260,9957"/><path style="fill:none" d="M 7311,9957 L 7362,9957"/><path style="fill:none" d="M 7413,9957 L 7464,9957"/><path style="fill:none" d="M 7515,9957 L 7566,9957"/><path style="fill:none" d="M 7617,9957 L 7668,9957"/><path style="fill:none" d="M 7719,9957 L 7770,9957"/><path style="fill:none" d="M 7821,9957 L 7872,9957"/><path style="fill:none" d="M 7923,9957 L 7974,9957"/><path style="fill:none" d="M 8025,9957 L 8076,9957"/><path style="fill:none" d="M 8127,9957 L 8178,9957"/><path style="fill:none" d="M 8229,9957 L 8280,9957"/><path style="fill:none" d="M 8331,9957 L 8382,9957"/><path style="fill:none" d="M 8433,9957 L 8484,9957"/><path style="fill:none" d="M 8535,9957 L 8586,9957"/><path style="fill:none" d="M 8637,9957 L 8688,9957"/><path style="fill:none" d="M 8739,9957 L 8790,9957"/><path style="fill:none" d="M 8841,9957 L 8892,9957"/><path style="fill:none" d="M 8943,9957 L 8994,9957"/><path style="fill:none" d="M 9045,9957 L 9096,9957"/><path style="fill:none" d="M 9147,9957 L 9198,9957"/><path style="fill:none" d="M 9249,9957 L 9300,9957"/><path style="fill:none" d="M 9351,9957 L 9402,9957"/><path style="fill:none" d="M 9453,9957 L 9504,9957"/><path style="fill:none" d="M 9555,9957 L 9606,9957"/><path style="fill:none" d="M 9657,9957 L 9708,9957"/><path style="fill:none" d="M 9759,9957 L 9810,9957"/><path style="fill:none" d="M 9861,9957 L 9912,9957"/><path style="fill:none" d="M 9963,9957 L 10014,9957"/><path style="fill:none" d="M 10065,9957 L 10116,9957"/><path style="fill:none" d="M 10167,9957 L 10218,9957"/><path style="fill:none" d="M 10269,9957 L 10320,9957"/><path style="fill:none" d="M 10321,10007 L 10321,10058"/><path style="fill:none" d="M 10321,10109 L 10321,10160"/><path style="fill:none" d="M 10321,10211 L 10321,10243"/></g><g/></g></g><g><desc>Drawing</desc><g><g/></g></g><g><desc>Drawing</desc><g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 5564,7509 L 5615,7509"/><path style="fill:none" d="M 5666,7509 L 5717,7509"/><path style="fill:none" d="M 5768,7509 L 5819,7509"/><path style="fill:none" d="M 5870,7509 L 5921,7509"/><path style="fill:none" d="M 5972,7509 L 6023,7509"/><path style="fill:none" d="M 6074,7509 L 6125,7509"/><path style="fill:none" d="M 6176,7509 L 6227,7509"/><path style="fill:none" d="M 6278,7509 L 6329,7509"/><path style="fill:none" d="M 6380,7509 L 6431,7509"/><path style="fill:none" d="M 6482,7509 L 6533,7509"/><path style="fill:none" d="M 6584,7509 L 6635,7509"/><path style="fill:none" d="M 6686,7509 L 6737,7509"/><path style="fill:none" d="M 6788,7509 L 6839,7509"/><path style="fill:none" d="M 6890,7509 L 6941,7509"/><path style="fill:none" d="M 6992,7509 L 7043,7509"/><path style="fill:none" d="M 7094,7509 L 7145,7509"/><path style="fill:none" d="M 7196,7509 L 7247,7509"/><path style="fill:none" d="M 7298,7509 L 7349,7509"/><path style="fill:none" d="M 7400,7509 L 7451,7509"/><path style="fill:none" d="M 7502,7509 L 7553,7509"/><path style="fill:none" d="M 7604,7509 L 7655,7509"/><path style="fill:none" d="M 7706,7509 L 7757,7509"/><path style="fill:none" d="M 7808,7509 L 7859,7509"/><path style="fill:none" d="M 7910,7509 L 7961,7509"/><path style="fill:none" d="M 8012,7509 L 8063,7509"/><path style="fill:none" d="M 8114,7509 L 8165,7509"/><path style="fill:none" d="M 8216,7509 L 8267,7509"/><path style="fill:none" d="M 8318,7509 L 8369,7509"/><path style="fill:none" d="M 8420,7509 L 8471,7509"/><path style="fill:none" d="M 8522,7509 L 8573,7509"/><path style="fill:none" d="M 8624,7509 L 8675,7509"/><path style="fill:none" d="M 8726,7509 L 8777,7509"/><path style="fill:none" d="M 8828,7509 L 8879,7509"/><path style="fill:none" d="M 8930,7509 L 8981,7509"/><path style="fill:none" d="M 9032,7509 L 9083,7509"/><path style="fill:none" d="M 9134,7509 L 9185,7509"/><path style="fill:none" d="M 9236,7509 L 9287,7509"/><path style="fill:none" d="M 9338,7509 L 9389,7509"/><path style="fill:none" d="M 9440,7509 L 9491,7509"/><path style="fill:none" d="M 9542,7509 L 9593,7509"/><path style="fill:none" d="M 9644,7509 L 9695,7509"/><path style="fill:none" d="M 9746,7509 L 9797,7509"/><path style="fill:none" d="M 9848,7509 L 9899,7509"/><path style="fill:none" d="M 9950,7509 L 10001,7509"/><path style="fill:none" d="M 10052,7509 L 10103,7509"/><path style="fill:none" d="M 10154,7509 L 10205,7509"/><path style="fill:none" d="M 10256,7509 L 10307,7509"/><path style="fill:none" d="M 10358,7509 L 10409,7509"/><path style="fill:none" d="M 10460,7509 L 10511,7509"/><path style="fill:none" d="M 10562,7509 L 10613,7509"/><path style="fill:none" d="M 10664,7509 L 10715,7509"/><path style="fill:none" d="M 10766,7509 L 10817,7509"/><path style="fill:none" d="M 10868,7509 L 10919,7509"/><path style="fill:none" d="M 10970,7509 L 11021,7509"/><path style="fill:none" d="M 11072,7509 L 11123,7509"/><path style="fill:none" d="M 11174,7509 L 11225,7509"/><path style="fill:none" d="M 11276,7509 L 11327,7509"/><path style="fill:none" d="M 11378,7509 L 11429,7509"/><path style="fill:none" d="M 11480,7509 L 11531,7509"/><path style="fill:none" d="M 11582,7509 L 11633,7509"/><path style="fill:none" d="M 11684,7509 L 11735,7509"/><path style="fill:none" d="M 11786,7509 L 11837,7509"/><path style="fill:none" d="M 11888,7509 L 11939,7509"/><path style="fill:none" d="M 11990,7509 L 12041,7509"/><path style="fill:none" d="M 12092,7509 L 12143,7509"/><path style="fill:none" d="M 12194,7509 L 12245,7509"/><path style="fill:none" d="M 12296,7509 L 12347,7509"/><path style="fill:none" d="M 12398,7509 L 12449,7509"/><path style="fill:none" d="M 12500,7509 L 12551,7509"/><path style="fill:none" d="M 12602,7509 L 12653,7509"/><path style="fill:none" d="M 12704,7509 L 12755,7509"/><path style="fill:none" d="M 12806,7509 L 12857,7509"/><path style="fill:none" d="M 12908,7509 L 12959,7509"/><path style="fill:none" d="M 13010,7509 L 13061,7509"/><path style="fill:none" d="M 13112,7509 L 13163,7509"/><path style="fill:none" d="M 13214,7509 L 13265,7509"/><path style="fill:none" d="M 13316,7509 L 13367,7509"/><path style="fill:none" d="M 13418,7509 L 13469,7509"/><path style="fill:none" d="M 13520,7509 L 13571,7509"/><path style="fill:none" d="M 13622,7509 L 13673,7509"/><path style="fill:none" d="M 13724,7509 L 13775,7509"/><path style="fill:none" d="M 13826,7509 L 13877,7509"/><path style="fill:none" d="M 13928,7509 L 13979,7509"/><path style="fill:none" d="M 14030,7509 L 14081,7509"/><path style="fill:none" d="M 14132,7509 L 14183,7509"/><path style="fill:none" d="M 14234,7509 L 14285,7509"/><path style="fill:none" d="M 14336,7509 L 14387,7509"/><path style="fill:none" d="M 14438,7509 L 14489,7509"/><path style="fill:none" d="M 14540,7509 L 14591,7509"/><path style="fill:none" d="M 14642,7509 L 14693,7509"/><path style="fill:none" d="M 14744,7509 L 14795,7509"/><path style="fill:none" d="M 14846,7509 L 14897,7509"/><path style="fill:none" d="M 14948,7509 L 14999,7509"/><path style="fill:none" d="M 15050,7509 L 15063,7509"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 5578,19693 L 5629,19693"/><path style="fill:none" d="M 5680,19693 L 5731,19693"/><path style="fill:none" d="M 5782,19693 L 5833,19693"/><path style="fill:none" d="M 5884,19693 L 5935,19693"/><path style="fill:none" d="M 5986,19693 L 6037,19693"/><path style="fill:none" d="M 6088,19693 L 6139,19693"/><path style="fill:none" d="M 6190,19693 L 6241,19693"/><path style="fill:none" d="M 6292,19693 L 6343,19693"/><path style="fill:none" d="M 6394,19693 L 6445,19693"/><path style="fill:none" d="M 6496,19693 L 6547,19693"/><path style="fill:none" d="M 6598,19693 L 6649,19693"/><path style="fill:none" d="M 6700,19693 L 6751,19693"/><path style="fill:none" d="M 6802,19693 L 6853,19693"/><path style="fill:none" d="M 6904,19693 L 6955,19693"/><path style="fill:none" d="M 7006,19693 L 7057,19693"/><path style="fill:none" d="M 7108,19693 L 7159,19693"/><path style="fill:none" d="M 7210,19693 L 7261,19693"/><path style="fill:none" d="M 7312,19693 L 7363,19693"/><path style="fill:none" d="M 7414,19693 L 7465,19693"/><path style="fill:none" d="M 7516,19693 L 7567,19693"/><path style="fill:none" d="M 7618,19693 L 7669,19693"/><path style="fill:none" d="M 7720,19693 L 7771,19693"/><path style="fill:none" d="M 7822,19693 L 7873,19693"/><path style="fill:none" d="M 7924,19693 L 7975,19693"/><path style="fill:none" d="M 8026,19693 L 8077,19693"/><path style="fill:none" d="M 8128,19693 L 8179,19693"/><path style="fill:none" d="M 8230,19693 L 8281,19693"/><path style="fill:none" d="M 8332,19693 L 8383,19693"/><path style="fill:none" d="M 8434,19693 L 8485,19693"/><path style="fill:none" d="M 8536,19693 L 8587,19693"/><path style="fill:none" d="M 8638,19693 L 8689,19693"/><path style="fill:none" d="M 8740,19693 L 8791,19693"/><path style="fill:none" d="M 8842,19693 L 8893,19693"/><path style="fill:none" d="M 8944,19693 L 8995,19693"/><path style="fill:none" d="M 9046,19693 L 9097,19693"/><path style="fill:none" d="M 9148,19693 L 9199,19693"/><path style="fill:none" d="M 9250,19693 L 9301,19693"/><path style="fill:none" d="M 9352,19693 L 9403,19693"/><path style="fill:none" d="M 9454,19693 L 9505,19693"/><path style="fill:none" d="M 9556,19693 L 9607,19693"/><path style="fill:none" d="M 9658,19693 L 9709,19693"/><path style="fill:none" d="M 9760,19693 L 9811,19693"/><path style="fill:none" d="M 9862,19693 L 9913,19693"/><path style="fill:none" d="M 9964,19693 L 10015,19693"/><path style="fill:none" d="M 10066,19693 L 10117,19693"/><path style="fill:none" d="M 10168,19693 L 10219,19693"/><path style="fill:none" d="M 10270,19693 L 10321,19693"/><path style="fill:none" d="M 10372,19693 L 10423,19693"/><path style="fill:none" d="M 10474,19693 L 10525,19693"/><path style="fill:none" d="M 10576,19693 L 10627,19693"/><path style="fill:none" d="M 10678,19693 L 10729,19693"/><path style="fill:none" d="M 10780,19693 L 10831,19693"/><path style="fill:none" d="M 10882,19693 L 10933,19693"/><path style="fill:none" d="M 10984,19693 L 11035,19693"/><path style="fill:none" d="M 11086,19693 L 11137,19693"/><path style="fill:none" d="M 11188,19693 L 11239,19693"/><path style="fill:none" d="M 11290,19693 L 11341,19693"/><path style="fill:none" d="M 11392,19693 L 11443,19693"/><path style="fill:none" d="M 11494,19693 L 11545,19693"/><path style="fill:none" d="M 11596,19693 L 11647,19693"/><path style="fill:none" d="M 11698,19693 L 11749,19693"/><path style="fill:none" d="M 11800,19693 L 11851,19693"/><path style="fill:none" d="M 11902,19693 L 11953,19693"/><path style="fill:none" d="M 12004,19693 L 12055,19693"/><path style="fill:none" d="M 12106,19693 L 12157,19693"/><path style="fill:none" d="M 12208,19693 L 12259,19693"/><path style="fill:none" d="M 12310,19693 L 12361,19693"/><path style="fill:none" d="M 12412,19693 L 12463,19693"/><path style="fill:none" d="M 12514,19693 L 12565,19693"/><path style="fill:none" d="M 12616,19693 L 12667,19693"/><path style="fill:none" d="M 12718,19693 L 12769,19693"/><path style="fill:none" d="M 12820,19693 L 12871,19693"/><path style="fill:none" d="M 12922,19693 L 12973,19693"/><path style="fill:none" d="M 13024,19693 L 13075,19693"/><path style="fill:none" d="M 13126,19693 L 13177,19693"/><path style="fill:none" d="M 13228,19693 L 13279,19693"/><path style="fill:none" d="M 13330,19693 L 13381,19693"/><path style="fill:none" d="M 13432,19693 L 13483,19693"/><path style="fill:none" d="M 13534,19693 L 13585,19693"/><path style="fill:none" d="M 13636,19693 L 13687,19693"/><path style="fill:none" d="M 13738,19693 L 13789,19693"/><path style="fill:none" d="M 13840,19693 L 13891,19693"/><path style="fill:none" d="M 13942,19693 L 13993,19693"/><path style="fill:none" d="M 14044,19693 L 14095,19693"/><path style="fill:none" d="M 14146,19693 L 14197,19693"/><path style="fill:none" d="M 14248,19693 L 14299,19693"/><path style="fill:none" d="M 14350,19693 L 14401,19693"/><path style="fill:none" d="M 14452,19693 L 14503,19693"/><path style="fill:none" d="M 14554,19693 L 14605,19693"/><path style="fill:none" d="M 14656,19693 L 14707,19693"/><path style="fill:none" d="M 14758,19693 L 14809,19693"/><path style="fill:none" d="M 14860,19693 L 14911,19693"/><path style="fill:none" d="M 14962,19693 L 15013,19693"/><path style="fill:none" d="M 15064,19693 L 15115,19693"/><path style="fill:none" d="M 15166,19693 L 15195,19693"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 15166,20063 L 15089,19751 15291,19767 15166,20063 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 15195,19693 L 15185,19820"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 15090,9626 L 14985,9323 15188,9320 15090,9626 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 15063,7509 L 15064,7560"/><path style="fill:none" d="M 15064,7611 L 15065,7662"/><path style="fill:none" d="M 15066,7713 L 15066,7764"/><path style="fill:none" d="M 15067,7815 L 15068,7866"/><path style="fill:none" d="M 15068,7917 L 15069,7968"/><path style="fill:none" d="M 15070,8019 L 15070,8070"/><path style="fill:none" d="M 15071,8121 L 15071,8172"/><path style="fill:none" d="M 15072,8223 L 15073,8274"/><path style="fill:none" d="M 15073,8325 L 15074,8376"/><path style="fill:none" d="M 15075,8427 L 15075,8478"/><path style="fill:none" d="M 15076,8529 L 15077,8580"/><path style="fill:none" d="M 15077,8631 L 15078,8682"/><path style="fill:none" d="M 15079,8733 L 15079,8784"/><path style="fill:none" d="M 15080,8835 L 15081,8886"/><path style="fill:none" d="M 15081,8937 L 15082,8988"/><path style="fill:none" d="M 15083,9039 L 15083,9090"/><path style="fill:none" d="M 15084,9141 L 15084,9192"/><path style="fill:none" d="M 15085,9243 L 15086,9294"/><path style="fill:none" d="M 15086,9345 L 15087,9382"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 12735,8234 L 12633,7930 12836,7929 12735,8234 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 12734,7509 L 12734,7560"/><path style="fill:none" d="M 12734,7611 L 12734,7662"/><path style="fill:none" d="M 12734,7713 L 12734,7764"/><path style="fill:none" d="M 12734,7815 L 12734,7866"/><path style="fill:none" d="M 12735,7917 L 12735,7968"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 10316,8497 L 10218,8191 10421,8194 10316,8497 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 10326,7509 L 10325,7560"/><path style="fill:none" d="M 10325,7611 L 10324,7662"/><path style="fill:none" d="M 10324,7713 L 10323,7764"/><path style="fill:none" d="M 10323,7815 L 10322,7866"/><path style="fill:none" d="M 10322,7917 L 10321,7968"/><path style="fill:none" d="M 10321,8019 L 10320,8070"/><path style="fill:none" d="M 10320,8121 L 10319,8172"/><path style="fill:none" d="M 10319,8223 L 10318,8253"/></g><g/></g></g><g><desc>Drawing</desc><g><g><g style="font-family:Arial embedded;font-size:282;font-weight:700"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="16174 16377 16534 16690 16784 16864 17038 17211 " y="4026">Dest bus</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g><g style="font-family:Arial embedded;font-size:282;font-weight:700"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="7311 7502 7658 7739 7912 8086 " y="4067">S1 bus</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g><g style="font-family:Arial embedded;font-size:282;font-weight:700"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="8634 8825 8981 9062 9235 9409 " y="4068">S2 bus</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g><g style="font-family:Arial embedded;font-size:282;font-weight:700"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="9905 10096 10206 10379 10536 10692 10849 11006 11179 " y="2032">Processor</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g><g style="font-family:Arial embedded;font-size:282;font-weight:700"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="12063 12266 12423 12516 12673 12846 13003 13096 " y="2774">Datapath</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 9112,21452 L 8796,21508 8825,21307 9112,21452 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 4889,21412 L 7150,21412 7150,21413 8907,21413"/></g><g/></g></g><g><desc>Drawing</desc><g><g style="stroke:none;fill:rgb(0,0,0)"><path d="M 12722,20060 L 12631,19752 12833,19759 12722,20060 Z"/></g><g style="stroke:rgb(0,0,0);fill:none"><path style="fill:none" d="M 12734,19693 L 12730,19817"/></g><g/></g></g><g><desc>Drawing</desc><g><g><g style="font-family:Arial embedded;font-size:282;font-weight:700"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="9766 9969 10143 10316 10426 10583 10740 " y="25260">Address</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g><g style="font-family:Arial embedded;font-size:282;font-weight:700"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="12227 12430 12587 12680 12837 12917 12997 " y="24150">Data in</tspan></text></g></g></g></g></g><g><desc>Drawing</desc><g><g><g style="font-family:Arial embedded;font-size:282;font-weight:700"><g style="stroke:none;fill:rgb(0,0,0)"><text><tspan x="12147 12350 12507 12600 12757 12837 13011 13184 " y="26452">Data out</tspan></text></g></g></g></g></g></g></svg>
Index: /liacs/ca/opdr2a/README
===================================================================
--- /liacs/ca/opdr2a/README	(revision 2)
+++ /liacs/ca/opdr2a/README	(revision 2)
@@ -0,0 +1,19 @@
+/* $Id: README.txt 296 2007-11-07 13:55:52Z rick $
+ * Rick van der zwet
+ * Student ID 0433373
+ * Computer Architecture - assignment 2a
+ * BSD Licence
+ */
+
+!!!NOTE: Final versions exists at opdr2b!!!
+
+Files:
+DLX_design.odg      = OpenOffice Draw of DLX design
+DLX_design.png      = PNG export OpenOffice Draw DLX
+DLX_design.svg      = SVG export OpenOffice Draw DLX
+Datapath.ods        = OpenOffice Calc of Datapath and control, main
+                      paper
+Datapath.pdf        = PDF export OpenOffice Calc
+MIPS_design.odg     = OpenOffice Draw of MIPS design
+MIPS_design.png     = PNG export OpenOffice Draw MIPS
+README.txt          = Reading right now :-)
Index: /liacs/ca/opdr2b/src/Makefile
===================================================================
--- /liacs/ca/opdr2b/src/Makefile	(revision 2)
+++ /liacs/ca/opdr2b/src/Makefile	(revision 2)
@@ -0,0 +1,44 @@
+#IMPORTANT:
+# This Makefile does not work with /bin/make, only with
+# /usr/local/gnu/bin/make.
+# Change your path if needed.
+#
+# Compiler and options:
+CC = gcc
+BINARY = simulator
+CPPFLAGS = -g -Wall
+CFLAGS =
+# Sources:
+CFILES := $(wildcard *.c)
+OFILES := $(patsubst %.c,%.o,$(CFILES))
+# Make automatic dependency files (*.d):
+%.d: %.c
+	$(SHELL) -ec 'gcc -MM $(CPPFLAGS) $< | sed '\''s/$*\.o/& $@/'\'' > $@'
+$(BINARY): $(OFILES)
+	gcc -o $(BINARY) $(OFILES)
+include $(CFILES:.c=.d)
+
+all: $(BINARY)
+
+run: all
+	./$(BINARY) < ./rfac.i
+
+clean:
+	-rm -f *.o $(BINARY)
+
+dist-clean: clean
+	-rm -f *.d
+
+help:
+	@echo "Usage:"
+	@echo "make clean = remove binary files"
+	@echo "make dist-clean = remove build files as well"
+	@echo "make run = build, run simulator"
+
+report:
+	@rm -f opdr2b.ps*
+	@a2ps --footer="Rick van der Zwet - CA assigment2b - 0433373" -P \
+	file  --highlight-level=normal --toc --output=opdr2b.ps --sides=1 \
+	Makefile README.txt alu.h constant.h control.h datapath.h imm.h \
+	memory.h sim.h alu.c constant.c control.c datapath.c imm.c memory.c \
+	sim.c rfac.i rfac.s
Index: /liacs/ca/opdr2b/src/README
===================================================================
--- /liacs/ca/opdr2b/src/README	(revision 2)
+++ /liacs/ca/opdr2b/src/README	(revision 2)
@@ -0,0 +1,59 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: README.txt 365 2007-12-03 08:54:04Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : MIPS simulator. Main module
+ */
+
+= Note =
+* The delivered C program does compile, but does _not_ deliver a answer,
+  the memory handlers is catching a exception, but I cannot find the
+  problem. I will need to write a number of different use cases in order
+  to track the problem, cause I cannot find it using global search :-(
+
+= Intro =
+* I choose to write the code with the FreeBSD style guide in mind
+* I choose global variables where ever possible to limit the calls
+  between the functions and make live a bit more easy
+* Most of the data is implemented dynamic, but the decode tables do have
+  some limitations due fact we are masking and not full matching
+* I change between hexidecimal and decimal assignments to make the
+  meaning of the code more clear
+* enum and stucts are used to make the code readable
+* the code is not optimized on space
+* Output is written as same way as input
+
+
+= Structure =
++ sim
+++ datapath
++++ memory
++++ constant
++++ alu
++++ imm
+++ control
+
+
+= Differences between normal implementation =
+I choose to have a constant and imm component, both are really easy to
+implement do the fact that they are just functions and not buffer like
+types.
+
+
+= Files =
+Makefile        =       Enhanced version `make help` will show options
+README.txt      =       Reading right now
+alu.c           =       Component ALU
+alu.h           =       --header
+constant.c      =       Component Constant
+constant.h      =       --header
+control.c       =       Microprogram control
+control.h       =       --header
+datapath.c      =       Datapath (like buffers)
+datapath.h      =       --header
+imm.c           =       Component IMM
+imm.h           =       --header
+memory.c        =       Component Memory
+memory.h        =       --header
+sim.c           =       Main simulator
+sim.h           =       --header (contains general declarations)
Index: /liacs/ca/opdr2b/src/alu.c
===================================================================
--- /liacs/ca/opdr2b/src/alu.c	(revision 2)
+++ /liacs/ca/opdr2b/src/alu.c	(revision 2)
@@ -0,0 +1,85 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: alu.c 364 2007-12-03 07:23:37Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : ALU unit
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <sysexits.h>
+#include "alu.h"
+
+word
+alu_sra(const word in1, const word in2)
+{
+    word out = 0;
+    out = in1 >> in2;
+    /* Find out wether high order bit was set */
+    if (in1 >> (BITSIZE(out) - 1) == 0x1) {
+        /* Set bit in2 till high-order to 1 */
+        int i = BITSIZE(out) - in2;
+        for (; i < BITSIZE(out); i++)
+            out = out | (1 << i);
+    }
+    return (out);
+}
+
+word
+alu(word in1, word in2, alu_control_t action)
+{
+    word out = 0;
+    switch (action) {
+    case ADD:
+        out = in1 + in2;
+        break;
+    case AND:
+        out = in1 & in2;
+        break;
+    case NOR:
+        out = ~(in1 | in2);
+        break;
+    case OR:
+        out = in1 | in2;
+        break;
+    case PassS1:
+        out = in1;
+        break;
+    case PassS2:
+        out = in2;
+        break;
+    case SLL:
+        out = in1 << in2;
+        break;
+    case SRA:
+        out = alu_sra(in1, in2);
+        break;
+    case SRL:
+        out = in1 >> in2;
+        break;
+    case SUB:
+        out = in1 - in2;
+        break;
+    case XOR:
+        out = in1 ^ in2;
+        break;
+    default:
+        fprintf(stderr,"Requested alu-action not implemented\n");
+        exit(EX_SOFTWARE);
+        break;
+    };
+
+    /* Set signals */
+    if (out < 0) {
+        zero = FALSE;
+        negative = TRUE;
+    } else if (out == 0) {
+        zero = TRUE;
+        negative = FALSE;
+    } else {
+        zero = FALSE;
+        negative = FALSE;
+    }
+
+    return(out);
+}
Index: /liacs/ca/opdr2b/src/alu.h
===================================================================
--- /liacs/ca/opdr2b/src/alu.h	(revision 2)
+++ /liacs/ca/opdr2b/src/alu.h	(revision 2)
@@ -0,0 +1,35 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: alu.h 365 2007-12-03 08:54:04Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : ALU unit header
+ */
+
+#ifndef ALU_H
+#define ALU_H
+
+#include "sim.h"
+
+/* Signals */
+boolean zero;
+boolean negative;
+
+typedef enum {
+        ALU_STALLED,
+        ADD,
+        AND,
+        NOR,
+        OR,
+        PassS1,
+        PassS2,
+        SLL,
+        SRA,
+        SRL,
+        SUB,
+        XOR
+} alu_control_t;
+
+word alu_sra(const word in1, const word in2);
+word alu(word in1, word in2, alu_control_t action);
+
+#endif
Index: /liacs/ca/opdr2b/src/constant.c
===================================================================
--- /liacs/ca/opdr2b/src/constant.c	(revision 2)
+++ /liacs/ca/opdr2b/src/constant.c	(revision 2)
@@ -0,0 +1,68 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: constant.c 361 2007-12-03 04:27:55Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : MIPS simulator. Main module
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <sysexits.h>
+#include "sim.h"
+#include "constant.h"
+
+word
+constant_call(const const_control_t action)
+{
+    word out = 0;
+    switch (action) {
+    case C0:
+        out = 0;
+        break;
+    case C1:
+        out = 1;
+        break;
+    case C2:
+        out = 2;
+        break;
+    case C3:
+        out = 3;
+        break;
+    case C4:
+        out = 4;
+        break;
+    case C5:
+        out = 8;
+        break;
+    case C6:
+        out = 16;
+        break;
+    case C7:
+        out = 24;
+        break;
+    case C8:
+        out = 31;
+        break;
+    case C9:
+        /* 11110000 00000000 00000000 00000000 */
+        out = 0x1E000000;
+        break;
+    case C10:
+        /* 00000000 00000000 11111111 11111111 */
+        out = 0x0000FFFF;
+        break;
+    case C11:
+        /* 00000000 11111111 11111111 11111111 */
+        out = 0x00FFFFFF;
+        break;
+    case C12:
+        /* 11111111 11111111 11111111 11111100 */
+        out = 0xFFFFFFFC;
+        break;
+    default:
+        fprintf(stderr, "Constant action not implemented\n");
+        exit(EX_SOFTWARE);
+        break;
+    }
+    return (out);
+}
Index: /liacs/ca/opdr2b/src/constant.h
===================================================================
--- /liacs/ca/opdr2b/src/constant.h	(revision 2)
+++ /liacs/ca/opdr2b/src/constant.h	(revision 2)
@@ -0,0 +1,14 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: constant.h 360 2007-12-03 02:04:17Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : MIPS simulator. Header
+ */
+#ifndef CONSTANT_H
+#define CONSTANT_H
+
+typedef enum { C0, C1, C2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 }
+               const_control_t;
+
+word constant_call (const_control_t action);
+#endif
Index: /liacs/ca/opdr2b/src/control.c
===================================================================
--- /liacs/ca/opdr2b/src/control.c	(revision 2)
+++ /liacs/ca/opdr2b/src/control.c	(revision 2)
@@ -0,0 +1,276 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: control.c 366 2007-12-04 18:29:07Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : Memory unit
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <sysexits.h>
+#include "control.h"
+#include "memory.h"
+#include "datapath.h"
+
+/* fcode, ocode, target */
+#define DECODE2_SIZE 17
+const decode_t decode2[DECODE2_SIZE] = {
+    { 8, 0, 18}, /*  ADDI    */
+    { 9, 0, 18}, /*  ADDIU   */
+    {10, 0, 39}, /*  SLTI    */
+    {11, 0, 39}, /*  SLTIU   */
+    {12, 0, 19}, /*  ANDI    */
+    {13, 0, 21}, /*  ORI     */
+    {14, 0, 23}, /*  XORI    */
+    {15, 0, 36}, /*  LUI     */
+    {32, 0, 59}, /*  LB      */
+    {33, 0, 65}, /*  LH      */
+    {35, 0, 71}, /*  LW      */
+    {36, 0, 62}, /*  LBU     */
+    {37, 0, 68}, /*  LHU     */
+    {40, 0, 44}, /*  SB      */
+    {41, 0, 50}, /*  SH      */
+    {43, 0, 56}, /*  SW      */
+};
+
+/* fcode, ocode, target */
+#define DECODE3_SIZE 20
+const decode_t decode3[DECODE3_SIZE] = {
+    { 0,  0, 27}, /*  SLL    */
+    { 2,  0, 28}, /*  SRL    */
+    { 3,  0, 29}, /*  SRA    */
+    { 4,  0, 30}, /*  SLLV   */
+    { 6,  0, 32}, /*  SRLV   */
+    { 7,  0, 34}, /*  SRAV   */
+    { 8,  0, 42}, /*  JR     */
+    { 9,  0, 37}, /*  JALR   */
+    {13,  0, 43}, /*  BREAK  */
+    {32,  0, 18}, /*  ADD    */
+    {33,  0, 18}, /*  ADDU   */
+    {34,  0, 26}, /*  SUB    */
+    {35,  0, 26}, /*  SUBU   */
+    {36,  0, 20}, /*  AND    */
+    {37,  0, 22}, /*  OR     */
+    {38,  0, 24}, /*  XOR    */
+    {39,  0, 25}, /*  NOR    */
+    {42,  0, 39}, /*  SLT    */
+    {43,  0, 39}, /*  SLTU   */
+};
+
+/*
+ * address, s1, s2, mux, constant, imm, alu, memory, a, b, c, temp, temp2, pc,
+ * mar, mdr, ir, reg, register_address_a, register_address_b, 
+ * register_address_c, cond, jump
+ * XXX: Needs more pretty writing, the enums defined should be used
+ * XXX: More flexible input
+ */
+microcode_t microprogram[75] = {
+ { 0, {5, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0}, 2, 0},
+ { 1, {5, 8, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0}, 3, 0},
+ { 2, {1, 9, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, 0, 0},
+ { 3, {6, 8, 0, 3, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ { 4, {6, 8, 0,12, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, 0, 0},
+ { 5, {0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, 2, 5},
+ { 6, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 4, 0},
+ { 7, {1, 2, 0, 0, 0,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 6,10},
+ { 8, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1, 0},
+ { 9, {1, 2, 0, 0, 0,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 6, 0},
+ {10, {5, 9, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, 1, 0},
+ {11, {5, 8, 0, 5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {12, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,31}, 0, 0},
+ {13, {5, 8, 0, 9, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {14, {9, 8, 0, 2, 3, 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {15, {5, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, 1, 0},
+ {16, {0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 5, 0},
+ {17, {0, 9, 0, 0, 1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 4, 0},
+ {18, {3, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {19, {0, 9, 0, 0, 4, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {20, {1, 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {21, {0, 9, 0, 0, 4, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {22, {1, 3, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {23, {0, 9, 0, 0, 4, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {24, {1, 3, 0, 0, 0,11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {25, {1, 3, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {26, {1, 3, 0, 0, 0,10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {27, {3, 9, 0, 0, 2, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {28, {3, 9, 0, 0, 2, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {29, {3, 9, 0, 0, 2, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {30, {1, 8, 0, 8, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {31, {3, 4, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {32, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {33, {3, 4, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {34, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {35, {3, 4, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {36, {3, 8, 0, 6, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {37, {5, 8, 0, 5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {38, {1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {39, {1, 3, 0, 0, 0,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 7,41},
+ {40, {0, 8, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {41, {0, 8, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {42, {1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0}, 1, 0},
+ {43, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,43},
+ {44, {3, 8, 0, 3, 0, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {45, {2, 8, 0, 7, 0, 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {46, {3, 4, 0, 0, 0, 9, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {47, {8, 4, 0,11, 0, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {48, {7, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, 0, 0},
+ {49, {3, 7, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, 1,57},
+ {50, {3, 8, 0, 3, 0, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {51, {2, 8, 0, 6, 0, 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {52, {3, 4, 0, 0, 0, 9, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {53, {8, 4, 0,10, 0, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {54, {7, 4, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, 0, 0},
+ {55, {3, 7, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, 1,57},
+ {56, {2, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, 0, 0},
+ {57, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 2,57},
+ {58, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1, 0},
+ {59, {3, 8, 0, 3, 0, 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {60, {7, 3, 0, 0, 0, 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {61, {3, 8, 0, 7, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {62, {3, 8, 0, 3, 0, 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {63, {7, 3, 0, 0, 0, 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {64, {3, 8, 0, 7, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {65, {3, 8, 0, 3, 0, 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {66, {7, 3, 0, 0, 0, 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {67, {3, 8, 0, 6, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {68, {3, 8, 0, 3, 0, 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {69, {7, 3, 0, 0, 0, 7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {70, {3, 8, 0, 6, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 1,72},
+ {71, {7, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0},
+ {72, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 8,74},
+ {73, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0}, 1, 0},
+ {74, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0}, 1, 0},
+};
+
+void
+control_init()
+{
+    int i = 0; /* Loop counter */
+    mpc = 0;
+    a = 0;
+    b = 0;
+    c = 0;
+    temp = 0;
+    temp2 = 0;
+    pc = 0;
+    mar = 0;
+    mdr = 0;
+    ir = 0;
+    imm = 0;
+    constant = 0;
+    for (i = 0; i < 32; i++)
+        reg[i] = 0;
+}
+
+
+void
+find_new_mPC()
+{
+    word tcode = 0;
+    int i; /* Loop counter */
+    micro_address_t next_mpc;
+    switch (microprogram[mpc].cond) {
+    case NEXT:
+        next_mpc = mpc + 1;
+        break;
+    case UNCOND:
+        next_mpc = microprogram[mpc].jump;
+        break;
+    case MEMBUSY:
+        if (mem_busy == FALSE)
+            next_mpc = mpc + 1;
+        else
+            next_mpc = microprogram[mpc].jump;
+        break;
+    case DECODE1:
+        /* XXX: Hardcoded, need something better */
+        tcode = ir >> 26;           /* O-code */
+        if (tcode >= 32)            /* MEM */
+            next_mpc = 2;
+        else if (tcode >= 8)        /* IMM */
+            next_mpc = 17;
+        else if (tcode == 5)         /* BNQ */
+            next_mpc = 9;
+        else if (tcode == 4)         /* BEQ */
+            next_mpc = 7;
+        else if (tcode == 3)         /* JAL */
+            next_mpc = 11;
+        else if (tcode == 2)         /* J   */
+            next_mpc = 13;
+        else if (tcode == 0)        /* REG */
+            next_mpc = 16;
+        break;
+    case DECODE2:
+        tcode = ir >> 26; /* O-code */
+        for (i = 0; i < DECODE2_SIZE; i++) {
+            if (decode2[i].ocode == tcode) {
+                next_mpc = decode2[i].target;
+                break;
+            }
+        }
+        break;
+    case DECODE3:
+        tcode = (ir << 26) >> 26; /* F-code */
+        for (i = 0; i < DECODE3_SIZE; i++) {
+            if (decode3[i].fcode == tcode) {
+                next_mpc = decode2[i].target;
+                break;
+            }
+        }
+        break;
+    case ZEROVALUE:
+        if (zero == TRUE)
+            next_mpc = microprogram[mpc].jump;
+        else
+            next_mpc = mpc + 1;
+        break;
+    case NEGVALUE:
+        if (negative == TRUE)
+            next_mpc = microprogram[mpc].jump;
+        else
+            next_mpc = mpc + 1;
+        break;
+    case RTYPEIR:
+        if ((ir >> 26) == 0)
+            next_mpc = microprogram[mpc].jump;
+        else
+            next_mpc = mpc + 1;
+        break;
+    default:
+        fprintf(stderr, "Control action '%i' not implemented\n",
+                         microprogram[mpc].cond);
+        exit(EX_SOFTWARE);
+        break;
+    };
+
+    mpc = next_mpc;
+}
+
+
+void
+set_signals()
+{
+    /*
+     *  XXX: Something like memory_busy or something like it 
+     *  XXX: Dirty hacking, we better off creating a sperate control
+     *  struct which we 'feed' to datapath
+     */
+    
+    switch (mpc) {
+        case 1:
+            mem_busy = TRUE;
+            microprogram[mpc].control.register_address_a = (ir << 6) >> 26;
+            microprogram[mpc].control.register_address_b = (ir << 11) >> 26;
+            break;
+        case 12:
+            microprogram[mpc].control.register_address_c = 31;
+            break;
+        case 73:
+            microprogram[mpc].control.register_address_c = (ir << 11) >> 26;
+            break;
+        case 74:
+            microprogram[mpc].control.register_address_c = (ir << 16) >> 26;
+            break;
+    }
+    update_state(microprogram[mpc].control);
+}
Index: /liacs/ca/opdr2b/src/control.h
===================================================================
--- /liacs/ca/opdr2b/src/control.h	(revision 2)
+++ /liacs/ca/opdr2b/src/control.h	(revision 2)
@@ -0,0 +1,43 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: control.h 363 2007-12-03 06:07:31Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : Memory unit header
+ */
+
+#ifndef CONTROL_H
+#define CONTROL_H
+
+#include "sim.h"
+#include "alu.h"
+#include "memory.h"
+#include "imm.h"
+#include "constant.h"
+#include "datapath.h"
+
+
+typedef enum { NEXT, UNCOND, MEMBUSY, DECODE1, DECODE2, DECODE3,
+               ZEROVALUE, NEGVALUE, RTYPEIR } control_cond_t;
+
+
+/* XXX: Not that effient, might be the use of bitfields */
+typedef struct {
+    address_t address;
+    control_t control;
+    control_cond_t cond;
+    micro_address_t jump;
+} microcode_t;
+
+typedef struct {
+    uint8_t ocode;
+    uint8_t fcode;
+    micro_address_t target;
+} decode_t;
+
+
+micro_address_t mpc;
+void set_signals();
+void find_new_mPC();
+void control_init();
+
+#endif
Index: /liacs/ca/opdr2b/src/datapath.c
===================================================================
--- /liacs/ca/opdr2b/src/datapath.c	(revision 2)
+++ /liacs/ca/opdr2b/src/datapath.c	(revision 2)
@@ -0,0 +1,119 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: datapath.c 365 2007-12-03 08:54:04Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : Memory unit
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <sysexits.h>
+#include "datapath.h"
+#include "imm.h"
+#include "constant.h"
+#include "memory.h"
+
+word
+select_sx(const sx_control_t control)
+{
+    word out=0;
+    switch (control)
+    {
+    case NO_COMPONENT:
+        out = 0;
+        break;
+    case A:
+        out = a;
+        break;
+    case B:
+        out = b;
+        break;
+    case TEMP:
+        out = temp;
+        break;
+    case TEMP2:
+        out = temp2;
+        break;
+    case PC:
+        out = pc;
+        break;
+    case MAR:
+        out = mar;
+        break;
+    case MDR:
+        out = mdr;
+        break;
+    case CONST:
+        out = constant;
+        break;
+    case IMM:
+        out = imm;
+        break;
+    default:
+        fprintf(stderr, "Switch '%i' not implemented\n", control);
+        exit(EX_SOFTWARE);
+        break;
+    };
+    return (out);
+}
+
+void
+update_state(control_t control)
+{
+    word temp_destbus;
+    word temp_mem;
+
+    constant = constant_call(control.constant);
+    imm = imm_call(ir, control.ir);
+
+    /* Going to ALU if activated */
+    word in1 = 0;
+    word in2 = 0;
+    if (control.alu_unit == ALU_STALLED) {
+        temp_destbus = 0;
+    } else {
+        in1 = select_sx(control.s1);
+        in2 = select_sx(control.s2);
+        temp_destbus = alu(in1, in2, control.alu_unit);
+    }
+
+    if (control.c == WRITE)
+        c = temp_destbus;
+    if (control.temp == WRITE)
+        temp = temp_destbus;
+    if (control.temp2 == WRITE)
+        temp2 = temp_destbus;
+    if (control.pc == WRITE)
+        pc = temp_destbus;
+    if (control.mar == WRITE)
+        mar = temp_destbus;
+    if (control.mdr == WRITE) {
+        if (control.mux == DATAPATH)
+            mdr = temp_destbus;
+        else if (control.mux == MEMORY)
+            mdr = temp_mem;
+        else {
+            fprintf(stderr, "Mux control not defined\n");
+            exit(EX_SOFTWARE);
+        }
+    }
+
+    /* Memory actions */
+    if (control.memory != MEM_STALLED) {
+        mem_busy = TRUE;
+        temp_mem = mem_operation(mar, mdr, control.memory);
+        if (control.ir == WRITE)
+            ir = temp_mem;
+        if (control.mdr == WRITE && control.mux == MEMORY)
+                mdr = temp_mem;
+    }
+
+
+    /* Register actions */
+    if (control.a == WRITE && ((control.reg & 1) != 0))
+        a = reg[control.register_address_a];
+    if (control.b == WRITE && ((control.reg & 2) != 0))
+        b = reg[control.register_address_b];
+    if ((control.reg & 4) != 0)
+        reg[control.register_address_c] = c;
+}
Index: /liacs/ca/opdr2b/src/datapath.h
===================================================================
--- /liacs/ca/opdr2b/src/datapath.h	(revision 2)
+++ /liacs/ca/opdr2b/src/datapath.h	(revision 2)
@@ -0,0 +1,65 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: datapath.h 366 2007-12-04 18:29:07Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : Memory unit header
+ */
+
+#ifndef DATAPATH_H
+#define DATAPATH_H
+
+#include "sim.h"
+#include "alu.h"
+#include "constant.h"
+#include "imm.h"
+#include "memory.h"
+
+
+typedef enum { NO_COMPONENT, A, B, TEMP, TEMP2, PC, MAR, MDR, CONST, 
+               IMM } sx_control_t;
+typedef enum { DATAPATH, MEMORY } mux_control_t;
+typedef enum { READONLY, WRITE } buffer_control_t;
+typedef enum { R_A=1, R_B, R_AB, W_C, R_AxW_C, R_BxW_C, 
+               R_ABxW_C } register_control_t;
+
+/* XXX: Not that effient, might be the use of bitfields */
+typedef struct {
+    sx_control_t s1;
+    sx_control_t s2;
+    mux_control_t mux;
+    const_control_t constant;
+    imm_control_t imm;
+    alu_control_t alu_unit;
+    mem_control_t memory;
+    buffer_control_t a;
+    buffer_control_t b;
+    buffer_control_t c;
+    buffer_control_t temp;
+    buffer_control_t temp2;
+    buffer_control_t pc;
+    buffer_control_t mar;
+    buffer_control_t mdr;
+    buffer_control_t ir;
+    register_control_t reg;
+    address_t register_address_a;
+    address_t register_address_b;
+    address_t register_address_c;
+} control_t;
+
+word a;
+word b;
+word c;
+word temp;
+word temp2;
+word pc;
+word mar;
+word mdr;
+word ir;
+word imm;
+word constant;
+
+word reg[32];
+word select_sx(const sx_control_t control);
+void update_state(control_t control);
+
+#endif
Index: /liacs/ca/opdr2b/src/imm.c
===================================================================
--- /liacs/ca/opdr2b/src/imm.c	(revision 2)
+++ /liacs/ca/opdr2b/src/imm.c	(revision 2)
@@ -0,0 +1,42 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: imm.c 365 2007-12-03 08:54:04Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : MIPS simulator. Main module
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <sysexits.h>
+#include "sim.h"
+#include "imm.h"
+#include "alu.h"
+
+word
+imm_call(const word in, const imm_control_t action)
+{
+    word out = 0;
+    switch (action)
+    {
+    case S16:
+        out = alu_sra(in << 16, 16);
+        break;
+    case SSA:
+        out = alu_sra(in << 21, 27);
+        break;
+    case U26:
+        out = in & 0x03FFFFFF;
+        break;
+    case Z16:
+        out = in & 0x0000FFFF;
+        break;
+    case S16x4:
+        out = alu_sra(in << 16, 14);
+        break;
+    default:
+        fprintf(stderr, "IMM action '%i' not implmented\n", action);
+        exit(EX_SOFTWARE);
+        break;
+    };
+    return (out);
+}
Index: /liacs/ca/opdr2b/src/imm.h
===================================================================
--- /liacs/ca/opdr2b/src/imm.h	(revision 2)
+++ /liacs/ca/opdr2b/src/imm.h	(revision 2)
@@ -0,0 +1,13 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: imm.h 360 2007-12-03 02:04:17Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : MIPS simulator. Header
+ */
+#ifndef IMM_H
+#define IMM_H
+
+typedef enum { S16, SSA, U26, Z16, S16x4 } imm_control_t;
+
+word imm_call (const word in, const imm_control_t action);
+#endif
Index: /liacs/ca/opdr2b/src/memory.c
===================================================================
--- /liacs/ca/opdr2b/src/memory.c	(revision 2)
+++ /liacs/ca/opdr2b/src/memory.c	(revision 2)
@@ -0,0 +1,102 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: memory.c 365 2007-12-03 08:54:04Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : Memory unit
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <sysexits.h>
+#include "memory.h"
+
+/* Initial value */
+boolean mem_busy = FALSE;
+
+
+void
+readmem()
+{
+    int address = 0;
+    uint32_t input = 0;
+
+    //read 4-byte integer numbers in hexadecimal from input
+    while (scanf("%x", &input) != EOF) {
+        mem_operation(address * 4, input, WRITE_WORD);
+        address++;
+    }
+    //zero the end
+    for (; address < 1024; address++)
+        mem_operation(address * 4, 0, WRITE_WORD);
+}
+
+
+void
+writemem()
+{
+    int zeros = 0;
+    int address = 0;
+    word value = 0;
+    for (address = 0; address < 1024; address++) {
+        value = mem_operation(address * 4, 0, READ);
+        if (value == 0)
+            zeros++;
+        else {
+            for (; zeros > 0; zeros--)
+                printf("%#010x\n", 0);
+            printf("%#010x\n", value);
+        }
+    }
+}
+
+
+word
+mem_operation(const word address, const word value,
+              const mem_control_t action)
+{
+    static union memword_t memory[1024];
+
+    int coreAddress = address / 4;
+    int8_t offset = address % 4;
+
+    if (coreAddress > 1024) {
+        fprintf(stderr, "Memory which is greater than 1024 word, '%i'\n",
+                         coreAddress);
+        exit(EX_SOFTWARE);
+    }
+
+    switch (action) {
+    case READ:
+        if (offset != 0) {
+            fprintf(stderr, "Read needs mod 4 bytes alligned\n");
+            exit(EX_SOFTWARE);
+        } else {
+            mem_busy = FALSE;
+            return(memory[coreAddress].fullword);
+        }
+        break;
+    case WRITE_BYTE:
+        memory[coreAddress].byte[offset] = (byte)value;
+        break;
+    case WRITE_HALFWORD:
+        if ((offset % 2) != 0) {
+            fprintf(stderr, "Halfword need mod 16 bits alligned\n");
+            exit(EX_SOFTWARE);
+        }
+        memory[coreAddress].halfword[offset / 2] = (halfword)value;
+        break;
+    case WRITE_WORD:
+        if (offset != 0) {
+            fprintf(stderr, "Write needs mod 4 bytes alligned\n");
+            exit(EX_SOFTWARE);
+        }
+        memory[coreAddress].fullword = value;
+        break;
+    default:
+        fprintf(stderr, "Memory control '%i' not implemented\n", action);
+        exit(EX_SOFTWARE);
+        break;
+    };
+    mem_busy = FALSE;
+    return(0);
+}
Index: /liacs/ca/opdr2b/src/memory.h
===================================================================
--- /liacs/ca/opdr2b/src/memory.h	(revision 2)
+++ /liacs/ca/opdr2b/src/memory.h	(revision 2)
@@ -0,0 +1,35 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: memory.h 363 2007-12-03 06:07:31Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : Memory unit header
+ */
+
+#ifndef MEMORY_H
+#define MEMORY_H
+
+#include "sim.h"
+
+/* Signal */
+boolean mem_busy;
+
+union memword_t {
+    byte byte[4];
+    halfword halfword[2];
+    word fullword;
+};
+
+/* Control signal */
+typedef enum {
+    MEM_STALLED,
+    READ,
+    WRITE_BYTE,
+    WRITE_HALFWORD,
+    WRITE_WORD
+} mem_control_t;
+
+void readmem();
+void writemem();
+word mem_operation(const word address, const word value,
+                   const mem_control_t action);
+#endif
Index: /liacs/ca/opdr2b/src/rfac.i
===================================================================
--- /liacs/ca/opdr2b/src/rfac.i	(revision 2)
+++ /liacs/ca/opdr2b/src/rfac.i	(revision 2)
@@ -0,0 +1,21 @@
+0x20070001
+0x200500c8
+0xa4a70000
+0x00000025
+0x20040002
+0x84a70000
+0x00000025
+0x00001020
+0x00001820
+0x00471020
+0x20630001
+0x0064502a
+0x140afffc
+0x00000025
+0xa4a20002
+0x20840001
+0x20a50002
+0x28aa00d4
+0x140afff2
+0x00000025
+0x0000000d
Index: /liacs/ca/opdr2b/src/rfac.s
===================================================================
--- /liacs/ca/opdr2b/src/rfac.s	(revision 2)
+++ /liacs/ca/opdr2b/src/rfac.s	(revision 2)
@@ -0,0 +1,31 @@
+# Dit programma berekent fac(x) voor x=1,...,6, en plaatst de resultaten
+# in mem[200],...,mem[212]. fac(x) = 1.2. ... .x, fac(3)=1.2.3=6.
+
+main:
+	addi $7,$0,1			# fac(1) = 1
+	addi $5,$0,200			# init base data adress
+	sh $7,0($5)			# init fac(1) in mem
+	nop
+	addi $4,$0,2			# init x=2
+
+loop:
+	lh $7,0($5)			# fac(x-1)
+	nop
+	add $2,$0,$0			# clear
+	add $3,$0,$0			# init mult teller op 0
+IL:
+	add $2,$2,$7			# fac(x) := fac(x) + fac(x-1)
+	addi $3,$3,1			# mult := mult + 1
+	slt $10,$3,$4			# if mult=x then fac(x) is 
+        bne $0,$10, IL			# calculated
+	nop
+
+	sh $2,2($5)			# store fac(x) in mem
+
+	addi $4,$4,1			# inc(x)
+	addi $5,$5,2
+	slti $10,$5,212
+	bne $0,$10, loop		# if not yet all fac(.) calculated
+	nop				# then loop
+
+	break 0
Index: /liacs/ca/opdr2b/src/sim.c
===================================================================
--- /liacs/ca/opdr2b/src/sim.c	(revision 2)
+++ /liacs/ca/opdr2b/src/sim.c	(revision 2)
@@ -0,0 +1,69 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: sim.c 365 2007-12-03 08:54:04Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : MIPS simulator. Main module
+ */
+
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <sysexits.h>
+#include "sim.h"
+#include "alu.h"
+#include "memory.h"
+#include "control.h"
+#include "constant.h"
+
+
+/* Allow printing of diagnostics */
+void
+_print_diag(const int round)
+{
+    fprintf(stderr, "===TAG ROUND %i====\n", round);
+    fprintf(stderr, "a        : %u\n", a);
+    fprintf(stderr, "b        : %u\n", b);
+    fprintf(stderr, "c        : %u\n", c);
+    fprintf(stderr, "temp     : %u\n", temp);
+    fprintf(stderr, "temp2    : %u\n", temp2);
+    fprintf(stderr, "pc       : %u\n", pc);
+    fprintf(stderr, "mar      : %u\n", mar);
+    fprintf(stderr, "mdr      : %u\n", mdr);
+    fprintf(stderr, "ir       : %u\n", ir);
+    fprintf(stderr, "imm      : %u\n", imm);
+    fprintf(stderr, "constant : %u\n", constant);
+    fprintf(stderr, "mpc      : %u\n", mpc);
+}
+
+int main ()
+{
+    fprintf(stderr, "===SIMULATION===\n");
+    fprintf(stderr, "===INIT===\n");
+    /* Initiate control */
+    control_init();
+    /* Read memory from stdin */
+    readmem();
+
+    /* Limit calls to 10000 to make debugging possible */
+    int cycles = 0;
+    for (;cycles < 10000; cycles++)
+    {
+        if (mpc == 43) /* Break line, means end */
+            break;
+        /* Disable if you do not want the verbose outpt */
+         _print_diag(cycles);
+        /* execute command */
+        set_signals();
+        find_new_mPC();
+    }
+
+    /* Dump memory and print diag */
+    fprintf(stderr, "===BEGIN MEMORYDUMP===\n");
+    writemem();
+    fprintf(stderr, "====END MEMORYDUMP====\n");
+    fprintf(stderr, "Number of microinstructions : %i\n", cycles);
+    fprintf(stderr, "Student: Rick van der Zwet\n");
+    fprintf(stderr, "StudentNumber: 0433373\n");
+    fprintf(stderr, "===END===\n");
+    return(EX_OK);
+}
Index: /liacs/ca/opdr2b/src/sim.h
===================================================================
--- /liacs/ca/opdr2b/src/sim.h	(revision 2)
+++ /liacs/ca/opdr2b/src/sim.h	(revision 2)
@@ -0,0 +1,21 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: sim.h 361 2007-12-03 04:27:55Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : MIPS simulator. Header
+ */
+#ifndef SIM_H
+#define SIM_H
+
+typedef uint32_t word;
+typedef uint16_t halfword;
+typedef uint8_t byte;
+
+typedef uint8_t micro_address_t;
+typedef uint8_t address_t;
+
+typedef enum { FALSE, TRUE } boolean;
+
+#define BITSIZE(x) (sizeof(x) * 8)
+
+#endif
Index: /liacs/ca/opdr3/Makefile
===================================================================
--- /liacs/ca/opdr3/Makefile	(revision 2)
+++ /liacs/ca/opdr3/Makefile	(revision 2)
@@ -0,0 +1,25 @@
+PROGS = compu grep-bus2
+
+CFLAGS = -Wall -g
+
+
+all: $(PROGS)
+
+compu: compu.c memory_std.o memory_bank.o memory_dram.o common.o
+
+grep-bus2: grep-bus2.c
+
+clean:
+	rm -f *.o $(PROGS)
+
+dist-clean: clean
+	rm -f bus2-*.txt res-*.txt opdr3.tar.gz
+
+run: all
+	sh calculate.sh
+	cat res-1a.txt
+
+package:
+	rm -f assignment3.tar.gz
+	gnutar -ncvzf opdr3.tar.gz Makefile README.txt *.c *.h *.sh \
+	docs/dineroIII.txt docs/docsIII.h
Index: /liacs/ca/opdr3/README
===================================================================
--- /liacs/ca/opdr3/README	(revision 2)
+++ /liacs/ca/opdr3/README	(revision 2)
@@ -0,0 +1,180 @@
+#/* Author      : Rick van der Zwet
+# * S-number    : 0433373
+# * Version     : $Id: README.txt 438 2007-12-28 02:53:47Z rick $
+# * Copyright   : FreeBSD Licence
+# * Description : Assignment documentation
+# */
+
+= Index =
+* Preface
+* Methodology
+* Design decisions
+* Directory stucture
+* Programs structure
+* Definitions
+* Configurations
+** Memory
+** Cache
+* BUS2 Output
+* Usage / Running
+* Conclusion
+* Recommendationn
+
+
+= Preface =
+Over here you will find the results of assigment 3 -internally also
+called assignment 4- of Computer architicture. The main purpose of the
+assignment where to determine what the bank conflicts and memory
+bandwith where in certain configurations. Cache simulation is done by
+using dinero. To calculate the result several C programs had to be
+written.
+
+= Methodology =
+The only need of the dinero output will be the the BUS2 (-o2) output ,
+no need anything else. As perl, awk, grep and others are not allowed, a
+small custom C program called grep-bus2 is written. Shell calculate.sh
+will determine the correct cache options variables and will call the
+proper compu with the memory configuration.
+
+= Design decisions =
+* As we are working in 'debugging' a standard program I assume every call
+  to the memory will fetch 32 bits (4bytes)
+* No cache will be simulated in dinero using 1 word cache, which might
+  fake results while accessing multiple times the same memory cell
+  (highly unlikely however)
+* Shell script will allow output to set benchmark file
+
+
+= Directory structure =
+Makefile              = GNU Make config file
+compu.c               = calculate bandwidth and bank conflicts
+common.[ch]           = Common functions
+memory_std.[ch]       = Standard memory
+memory_bank.[ch]      = Bank memory
+memory_dram.[ch]      = DRAM memory
+calculate.sh          = Shell script to generate results of combinations
+develop.sh            = Very simple script to keep running will coding to
+                        ensure continues feedback
+data                  = directory of the traces
+data/lisp.002.din     = provided input
+data/spic.002.din     = provided input
+docs                  = Some additional documentation
+docs/dineroIII.txt    = man page
+src/dineroIII.tar.gz  = dineroIII source
+
+= Programs structure =
+compu.c will be the logic of choosing the correct memory module to use.
+All memory implementations are defined in memory_<type>.[ch]. To avoid double
+coding a 'interface' common.c is defined which includes the common
+functions mainly outputs.
+
+
+= Definitions =
+The bandwidth of a cache/memory-system is the total number of bytes send
+between CPU and cache divided by the number of cycles. We assume here
+that memory activity is the bottleneck for the enire system in other
+words: that the cache is continuously busy processing requests.
+
+A bankconflict is defined as follows:
+
+For normal memory, a bankconflict is a request that is sent to a bank
+that is still busy handling the previous request (either in the access
+phase or in the bus transfer phase). The first memory acces incurs no
+conflict.
+
+In page-mode DRAM we do not use multiple banks, so the above definition
+is not so useful. In the case interpret the following as a bankconflict:
+a request for a page (=column) in which the previous request was not for
+the same page. The first access here also does not incur a conflict.
+
+= Configurations =
+
+== Memory ==
+1)  standard memory with random access time of 8 clock cycles
+2)  4-bank word-interleaved memory with random access time of 8 clock
+    cycles
+3)  8-bank word-interleaved memory with random access time of 8 clock
+    cycles
+4)  page-mode DRAM with a page-size of 64 words, a random access time of
+    8 clock cycles and a 'next access time' of 3 clock cycles.
+5)  page-mode DRAM with a page-size of 1024 words, a random access time
+    of 8 clock cycles and a 'next access time' of 2 clock cycles.
+
+
+== Cache ==
+a)  no cache, a write buffer of 1 word deep
+b)  a 64 KB, unified, direct-mapped, write-through, no write-allocate
+    cache with 4 word blocks and a 1 word write buffer
+c)  a 64 KB, unified, direct-mapped, write-back, write-allocate cache
+    with 4 word blocks and a 1 word write buffer
+
+= Assumptions =
+== Given ==
+*   All adddresses in this assignment are word-aligned and all
+    data-accesses to the cache are 1 word.
+*   Per clock cycl, 1 request for 1 word can be handled, but requests
+    should remain in order.
+*   The time for submitting the requests does not have to be taken into
+    consideration
+*   If a memory access is requested to the same bank or row of a busy
+    memory part it is implied to be to adifferent address
+*   When accessing memory, the same 'checking' cycle will be used as
+    initial memory call cycle
+*   DRAM memory will also have RAS time of 1, all memory will have a bus
+    and no need to disticts between all of them
+*   Calculating Byte transfer between memory and cache is trivial,
+    number of lines * bytes every line
+*   Both read and writes are treaded the same, no optimizations are made
+    to ensure simplicity
+*   Code is not build to be optimized, but to be clear instead, which
+    will result in 'dumb' loops
+*   With DRAM worst case senario is used, meaning a call to a locked
+*   memory adress or diffent page will block for RAS seconds
+
+
+= BUS2 Output =
+BUS2 <type> <size> <adddress> <reference_count> <instruction_count>
+*   BUS2 are four literal characters to start bus record access is the access
+*   type ( r for a bus-read, w for a bus-write, p for a bus-prefetch, s for
+    snoop activity (output style 3 only).
+*   size is the transfer size in bytes
+*   address is a hexadecimal byte-address between 0 and ffffffff
+    inclusively
+*   reference_count is the number of demand references since the
+    last bus transfer (i.e. cache misses)
+*   instruction_count is the number of demand instruction fetches
+    since the last bus transfer
+
+= Usage / Running =
+# Alter calculate.sh to speficy the right dinero binary path
+# Build binaries
+$ make
+# Call calculate.sh with proper argument for datafile
+$ sh calculate.sh <path-to-datafile>
+# Result will be posted to stderr and to the files res-xx.txt
+# Rerun will simplely overwrite all the old data
+
+
+= Conclusion =
+  It really does depend which type of cache and memory to use. A lot of
+  assumptions where made and many generalisations where made. In order
+  to have the systems work better with eachother the system must need to
+  have good kownleage of the underlaying implementation in hardware. It
+  seems that the output traces lisp and spic has been optimized for the
+  use of class C cause and type word memory. It's also pretty clear that
+  without any cause the system will not preform at all and will just
+  suffer from the really slow memory.
+
+
+= Recommendations =
+*   As the input is text and only simple calculations are beeing used, allowing
+    to use a interperted like perl, python or else would be pretty handy
+*   /usr/local/edu/data does not exists this should be ~csca/edu/data
+*   The 'large files' are tar gzipped 100k, 300k ;-)
+*   Please specify which version of dinero to use and were the program needs to
+    run on
+*   dineroIII does not exists online anymore and has been replaced by dineroIV,
+    compiling also fails for dineroIII on more modern systems, quick and dirty
+    fix patch: http://rickvanderzwet.nl/svn/data/liacs/ca/opdr3/src/
+*   Submit does not include an email where to submit to
+*   Translate 'Het gaat om' part Assignment
Index: /liacs/ca/opdr3/calculate.sh
===================================================================
--- /liacs/ca/opdr3/calculate.sh	(revision 2)
+++ /liacs/ca/opdr3/calculate.sh	(revision 2)
@@ -0,0 +1,58 @@
+#!/bin/sh
+
+#/* Author      : Rick van der Zwet
+# * S-number    : 0433373
+# * Version     : $Id: memory.h 363 2007-12-03 06:07:31Z rick $
+# * Copyright   : FreeBSD Licence
+# * Description : Generate results of 15 combinations
+# */
+
+DATAFILE=${1:-./data/lisp.002.din}
+DINERO='./data/dinero'
+BUS2='./grep-bus2'
+COMPU='./compu'
+RESULT_PRE="./res-"
+RESULT_SUFFIX=".txt"
+RESULT_BUS2="./bus2-"
+MEM_SETTINGS="1 2 3 4 5"
+CACHE_SETTINGS="a b c"
+
+DINERO_ARGS_a="-b1 -u1"
+DINERO_ARGS_b="-b128 -a1 -ww -An -u64k"
+DINERO_ARGS_c="-b128 -a1 -wc -Aw -u64k"
+
+if [ ! -x $DINERO ]; then
+    echo "$DINERO binary not found" 1>&2
+    echo "Please alter $0 to specifify right constants" 1>&2
+    exit 128;
+fi
+
+if [ ! -r $DATAFILE ]; then
+    echo "$DATAFILE file not found" 1>&2
+    echo "Please alter $0 to specifify right constants or" 1>&2
+    echo "Usage $0 <datafile>" 1>&2
+    exit 128;
+fi
+
+echo "Using datafile $DATAFILE" 1>&2
+for mem_setting in $MEM_SETTINGS
+do
+    for cache_setting in $CACHE_SETTINGS
+    do
+        (
+        eval DINERO_ARGS=\$DINERO_ARGS_$cache_setting
+        echo "==============================================="
+        echo "Generated       : `date`"
+        echo "Input data     : $DATAFILE"
+        echo "Memory setting : $mem_setting"
+        echo "Cache setting  : $cache_setting"
+        echo "Dinero args    : $DINERO_ARGS"
+        cat $DATAFILE | $DINERO -o2 $DINERO_ARGS |\
+        $BUS2 |\
+        tee -i $RESULT_BUS2$mem_setting$cache_setting$RESULT_SUFFIX |\
+        $COMPU $mem_setting
+        echo "==============================================="
+        ) | tee -i $RESULT_PRE$mem_setting$cache_setting$RESULT_SUFFIX 1>&2
+    done
+done
+
Index: /liacs/ca/opdr3/common.c
===================================================================
--- /liacs/ca/opdr3/common.c	(revision 2)
+++ /liacs/ca/opdr3/common.c	(revision 2)
@@ -0,0 +1,62 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: memory.h 363 2007-12-03 06:07:31Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : Small libary to include most common functions
+ *               cycles
+ */
+#include <stdio.h>
+#include "common.h"
+
+
+/* Print of struct bus2_t mainly for debugging purposes */
+void
+fprintfbus2(FILE * output, struct bus2_t * line)
+{
+        fprintf(output, "type: %c, ", line->type);
+        fprintf(output, "size: %i, ", line->size);
+        fprintf(output, "address: %12i, ", line->address);
+        fprintf(output, "rcount: %i, ", line->rcount);
+        fprintf(output, "icount: %i, ", line->icount);
+        fprintf(output, "\n");
+}
+
+/* Push the bus2 lines into a bus2 struct */
+int
+fscanfbus2(struct bus2_t * line)
+{
+    return fscanf(stdin, "BUS2 %c %i %x %i %i\n",
+        &line->type,
+        &line->size,
+        &line->address,
+        &line->rcount,
+        &line->icount);
+}
+
+
+
+void
+setstats(struct bus2_t * line, struct result_t * output) {
+    /* Both calls are 'in cache calls' */
+    output->incache += line->rcount;
+    output->incache += line->icount;
+    /* Minus one, cause the current call is also included */
+    output->incache--;
+
+    /* Raise the cache miss counter */
+    output->misses++;
+}
+
+void
+printfresult(FILE * output, struct result_t * result)
+{
+    long bytes = result->incache * 4;
+    float bandwidth = (float)bytes / result->cycles;
+    fprintf(output, "Total cycles  : %li\n", result->cycles);
+    fprintf(output, "Cache misses  : %li\n", result->misses);
+    fprintf(output, "Cache bytes   : %li\n", bytes);
+    fprintf(output, "Bandwidth [1] : %.2f\n", bandwidth);
+    fprintf(output, "Bankconflicts : %li\n", result->conflicts);
+    fprintf(output, "---\n");
+    fprintf(output, "[1] Bytes/cycle CPU <> Cache\n");
+}
Index: /liacs/ca/opdr3/common.h
===================================================================
--- /liacs/ca/opdr3/common.h	(revision 2)
+++ /liacs/ca/opdr3/common.h	(revision 2)
@@ -0,0 +1,48 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: memory.h 363 2007-12-03 06:07:31Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : Small libary to include most common functions
+ *               cycles, header
+ */
+#ifndef COMMON_H
+#define COMMON_H
+
+#define FALSE 0
+#define TRUE 1
+
+/* Memory transfer time in cycles */
+#define TRANSFER 1
+
+/* BUS2 output captured in a struct */
+struct bus2_t
+{
+    unsigned char type;      /* Read/Write */
+    unsigned int size;       /* Number of words requested */
+    unsigned int address;    /* Memory location */
+    unsigned int rcount;     /* Number of registers accessed meanwhile */
+    unsigned int icount;     /* Number of instructions accessed meanwhile */
+};
+
+/* Made a struct for the results to make it more general */
+struct result_t
+{
+    long int cycles;    /* Total needed cycles */
+    long int incache;   /* Total words fetched from cache */
+    long int misses;    /* Cache misses */
+    long int conflicts; /* Bank conflics occured */
+};
+
+/* Print of struct bus2_t mainly for debugging purposes */
+void fprintfbus2(FILE * output, struct bus2_t * line);
+
+/* Push the bus2 lines into a bus2 struct */
+int fscanfbus2(struct bus2_t * line);
+
+/* Set statictics of input to output */
+void setstats(struct bus2_t * line, struct result_t * output);
+
+/* Result printer */
+void printfresult(FILE * output, struct result_t * result);
+
+#endif /* COMMON_H */
Index: /liacs/ca/opdr3/compu.c
===================================================================
--- /liacs/ca/opdr3/compu.c	(revision 2)
+++ /liacs/ca/opdr3/compu.c	(revision 2)
@@ -0,0 +1,56 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: memory.h 363 2007-12-03 06:07:31Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : Computation main
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sysexits.h>
+#include <string.h>
+
+#include "memory_std.h"
+#include "memory_bank.h"
+#include "memory_dram.h"
+
+void
+usage(char *argv[])
+{
+    fprintf(stderr, "%s <mem_combination>\n", argv[0]);
+    fprintf(stderr, "<mem_combination> = [12345]\n");
+
+    exit(EX_USAGE);
+}
+
+
+int
+main(int argc, char *argv[])
+{
+
+    if (argc < 2)
+        usage(argv);
+
+    switch (argv[1][0]) {
+        case '1':
+            memory_std(8);
+            break;
+        case '2':
+            memory_bank(4, 8);
+            break;
+        case '3':
+            memory_bank(8, 8);
+            break;
+        case '4':
+            memory_dram(64, 3, 8);
+            break;
+        case '5':
+            memory_dram(1024, 2, 8);
+            break;
+        default:
+            fprintf(stderr, "Argument invalid: '%s'\n", argv[1]);
+            usage(argv);
+    }
+
+    exit(EX_OK);
+}
Index: /liacs/ca/opdr3/data/testfile
===================================================================
--- /liacs/ca/opdr3/data/testfile	(revision 2)
+++ /liacs/ca/opdr3/data/testfile	(revision 2)
@@ -0,0 +1,1000 @@
+0 49a278
+2 3634
+0 70f60874
+0 70f60878
+0 70f6087c
+0 70f60880
+0 70f60884
+0 70f60888
+2 2cb4
+1 70f60890
+1 70f6088c
+1 70f60888
+1 70f60884
+1 70f60880
+2 1368
+2 136c
+0 200
+1 280
+2 1374
+2 1378
+1 284
+2 137c
+1 70f60874
+1 70f60870
+2 1380
+1 70f6086c
+2 1384
+1 70f60868
+2 1388
+1 70f60868
+1 70f60864
+1 70f60860
+1 70f6085c
+1 70f60858
+1 70f60854
+1 70f60850
+1 70f6084c
+1 70f60848
+1 70f60844
+1 70f60840
+1 70f6083c
+1 70f60838
+1 70f60834
+1 70f60830
+2 70fee020
+2 70fee024
+1 70f60820
+1 70f60824
+1 70f60828
+2 8000fe08
+0 70fe7df4
+2 8000fe0c
+1 70fe7df4
+2 8000fe10
+2 8000fe14
+1 70fe7df0
+0 80010010
+2 8000fe18
+2 8000fe1c
+1 70fe7dec
+2 8000fe24
+1 70fe7de4
+1 70fe7de8
+2 8000fe28
+0 70f60864
+0 70f60878
+2 8000fe2c
+2 8000fe30
+0 70f60864
+2 8000fe34
+2 8000fe38
+0 800021f8
+2 8000fe3c
+0 8000fe70
+2 800097a4
+2 800097a8
+0 70f6086c
+2 800097ac
+2 800097b0
+0 8010f650
+2 800097b4
+0 70f60868
+1 70fe7de0
+2 800097b8
+1 70fe7ddc
+2 8000b254
+2 8000b258
+1 70fe7dd8
+2 8000b214
+2 8000b218
+2 8000b21c
+2 8000b220
+2 8000b224
+2 8000b228
+2 8000b22c
+2 8000b230
+0 70fe7dd8
+2 8000b258
+2 8000b25c
+2 8000b260
+2 8000b264
+0 70fe7ddc
+2 800097b8
+1 70fe7ddc
+2 80009828
+2 8000982c
+2 80009830
+0 280
+0 288
+2 80009834
+2 80009838
+0 70fe7ddc
+1 70fe7ddc
+2 800097bc
+0 70f60874
+2 800097c0
+0 70f60870
+2 800097c4
+2 800097c8
+2 800097cc
+2 800097d0
+0 8010f670
+2 800097d4
+0 8016f0a4
+2 800097d8
+2 800097dc
+0 70fe7ddc
+1 70fe7ddc
+2 80009838
+1 70fe7dd8
+2 8000a834
+2 8000a838
+1 70fe7dd4
+2 8000a83c
+1 70fe7dd0
+2 8000a840
+1 70fe7dcc
+2 8000a844
+1 70fe7dc8
+2 8000a848
+1 70fe7dc4
+2 8000a900
+2 8000a908
+2 8000a90c
+0 80002a68
+2 8000a910
+2 8000a974
+2 8000a978
+0 80002a74
+2 8000a97c
+2 8000a980
+2 8000a984
+2 8000a988
+0 80002a6c
+0 801a48f8
+0 801a48fc
+2 8000a990
+2 8000a994
+0 70fe7dc4
+2 8000a848
+0 70fe7dcc
+0 70fe7dd0
+2 8000a84c
+1 801a4908
+2 8000a850
+2 8000a854
+0 70fe7dd4
+1 801a4908
+2 8000a858
+2 8000a85c
+2 8000a860
+0 70fe7dd8
+2 8000983c
+1 801a4920
+1 801a4924
+2 80009840
+2 80009844
+1 801a4908
+2 80009848
+1 801a490c
+2 8000984c
+2 80009850
+0 8010f650
+1 801a492c
+0 280
+0 284
+2 80009854
+2 80009858
+0 80002b40
+0 80002b44
+2 8000985c
+2 80009860
+2 80009864
+0 801a4908
+1 801a4908
+1 801a4908
+2 80009868
+2 8000986c
+2 80009870
+2 80009874
+0 801a4908
+2 80009878
+2 8000987c
+2 8000988c
+2 80009890
+2 80009894
+0 70fe7ddc
+1 70fe7ddc
+2 800097dc
+2 800097e0
+0 8010f670
+2 800097e4
+0 8016f0a4
+1 8016f0a4
+1 800097e4
+2 800097e8
+1 801a4928
+2 800097ec
+2 800097f0
+1 801a4910
+2 800097f8
+2 800097fc
+1 801a4914
+2 80009800
+0 70fe7de0
+1 801a4928
+2 80009804
+0 70fe7ddc
+2 80009890
+2 80009894
+1 70fe7ddc
+2 80008a78
+1 801a4918
+1 801a491c
+2 80008a7c
+2 80008a80
+2 80008a84
+0 80002b5c
+2 80008a88
+2 80008a8c
+2 80008a90
+0 80002ba4
+2 80008a84
+0 80002b8c
+2 80008a88
+2 80008a8c
+2 80008a90
+0 801a70dc
+2 80008a84
+0 801a70c4
+2 80008a88
+2 80008a8c
+2 80008a90
+0 801a73dc
+2 80008a94
+2 80008a84
+0 801a73c4
+2 80008a88
+2 80008a8c
+2 80008a90
+0 801a6e9c
+2 80008a84
+0 801a6e84
+2 80008a88
+2 80008a8c
+2 80008a90
+0 801a1c7c
+2 80008a94
+2 80008a98
+0 801a1c78
+2 80008a9c
+0 801a1c60
+1 801a1c60
+1 801a4900
+1 801a4904
+2 80008aa0
+0 70fe7ddc
+2 80009894
+2 80009898
+2 800098a4
+2 800098a8
+0 70fe7de4
+0 70fe7de8
+0 70fe7dec
+0 70fe7df0
+0 70fe7df4
+0 70fe7df8
+2 8000fdcc
+2 8000fdd0
+0 70fe7df8
+0 70fe7dfc
+2 70fee024
+2 70fee028
+0 70f6082c
+0 70f60830
+0 70f60834
+0 70f60838
+0 70f6083c
+0 70f60840
+2 138c
+2 1390
+1 27c
+2 1394
+0 27c
+1 70f60874
+2 13c0
+1 70f60874
+1 70f60870
+1 70f6086c
+1 70f60868
+1 70f60864
+1 70f60860
+1 70f6085c
+1 70f60858
+1 70f60854
+1 70f60850
+2 70fee078
+2 70fee07c
+1 70f60840
+1 70f60844
+1 70f60848
+2 8000fe08
+0 70fe7df4
+2 8000fe0c
+1 70fe7df4
+2 8000fe10
+2 8000fe14
+1 70fe7df0
+0 80010018
+2 8000fe18
+2 8000fe1c
+1 70fe7dec
+2 8000fe24
+1 70fe7de4
+1 70fe7de8
+2 8000fe28
+0 70f60870
+0 70f60878
+2 8000fe2c
+2 8000fe30
+0 70f60870
+2 8000fe34
+2 8000fe38
+0 800021f8
+2 8000fe3c
+0 8000fe78
+2 8000b61c
+1 8000b61c
+2 8000b620
+1 70f60874
+0 70f60874
+2 8000b624
+0 70f60874
+2 8000b628
+2 8000b62c
+2 8000b630
+2 8000b634
+1 8010f61c
+2 8000b638
+2 8000b63c
+2 8000b640
+2 8000b664
+2 8000b668
+2 8000b66c
+0 8010f640
+2 8000b670
+2 8000b680
+1 8010f614
+2 8000b688
+1 8010f63c
+2 8000b68c
+0 70fe7df0
+2 8000b690
+2 8000b694
+0 70fe7df8
+1 70fe7df8
+1 70fe7df8
+2 8000b698
+0 800021ac
+1 800021ac
+0 800021a4
+1 800021a4
+1 8010f5f0
+1 8010f5f4
+2 8000b69c
+2 8000b6a0
+0 800021ac
+1 8010f61c
+2 8000b6a4
+0 8010f65c
+2 8000b6a8
+0 80003cc0
+2 8000b6ac
+2 8000b6b0
+0 801d4c3c
+1 801d4c3c
+1 801d4c3c
+2 8000b6b4
+0 801d4d00
+1 801d4d00
+1 801d4d00
+2 8000b6b8
+0 80002b38
+1 8010f708
+2 8000b6bc
+2 8000b6c0
+0 801d4ccc
+2 8000b6c4
+2 8000b6c8
+2 8000a6c8
+2 8000a6cc
+0 800021fc
+0 80002200
+2 8000a6d4
+2 8000a6d8
+2 8000a6e0
+2 8000a6e4
+0 80002034
+0 80111fc8
+0 80111fcc
+2 8000a6e8
+2 8000a6ec
+2 8000a6f0
+0 80111fd8
+2 8000a6f4
+2 8000a6f8
+1 80111ffc
+1 800021f8
+2 8000a700
+2 8000a704
+0 80111ffc
+0 80111fd8
+2 8000a708
+2 8000a70c
+0 80111fd8
+1 80111fd8
+2 8000a710
+0 80111fd8
+1 80002244
+2 8000a714
+2 8000a718
+0 80111fe8
+0 1496c78
+2 8000a71c
+0 71f6084c
+0 71f60850
+2 80009d90
+1 71fe7df4
+1 71fe7df0
+2 80009d94
+1 71fe7dec
+1 71fe7de8
+2 80009d98
+1 71fe7de4
+1 71fe7de0
+2 80009d9c
+2 80009da0
+0 800021f8
+2 80009da4
+0 80111fe0
+0 801727a8
+0 801727ac
+2 80009da8
+2 80009dac
+2 80009db0
+1 71fe7ddc
+2 80009db4
+2 80009db8
+0 801727c8
+2 80004f5c
+0 801727d8
+2 80004f60
+2 80004f64
+0 71fefe88
+2 80004f68
+2 80004f6c
+0 71fd5858
+1 71fd5858
+2 80004f70
+0 80003354
+1 80003354
+2 80004f74
+2 80004f78
+2 80004f94
+2 80004f98
+0 801727d8
+2 80004f9c
+0 71feff38
+2 80004fa0
+2 80004fa4
+0 71fd57a8
+1 71fd57a8
+2 80004fa8
+0 71fd57ac
+2 80004fac
+2 80004fb8
+2 80004fbc
+0 801727d4
+2 80004fc0
+0 801727b8
+2 80004fc4
+2 80004fc8
+1 71fc0934
+1 71fc093c
+2 80004fcc
+2 80004fd0
+0 801727e8
+0 801727ec
+1 71fc0934
+1 71fc0938
+2 8000ec38
+2 8000ec3c
+0 801727bc
+1 8000ec3c
+2 8000ec40
+0 801727d0
+2 8000ec44
+2 8000ec48
+2 8000ec4c
+2 8000ec54
+2 8000ec58
+2 80004fd8
+2 80004fdc
+2 80004fe0
+1 80004fdc
+2 80009f68
+0 801727bc
+2 80009f6c
+1 71fe7dd8
+2 80009f70
+2 80009f74
+0 80002988
+0 801028e8
+2 80009f78
+2 80009f7c
+0 801727bc
+0 80112030
+2 80009f80
+1 80009f7c
+2 80009f84
+0 80111fe0
+1 80111fe0
+1 801727b0
+1 801727b4
+2 80009f88
+0 801727b8
+2 80009f8c
+0 801727b8
+2 80009f90
+2 80009f94
+0 8011203c
+2 80009f98
+2 80009f9c
+1 802250cc
+2 80009fa0
+0 800021f8
+2 80009fac
+2 80009fb0
+2 80009fb4
+2 80009fa8
+2 80009fac
+0 71fe7dd8
+2 80009fb0
+0 71fe7ddc
+2 80009d9c
+2 80009da0
+0 800021f8
+2 80009da4
+0 80111fe0
+0 801727a8
+0 801727ac
+2 80009da8
+2 80009dd4
+2 80009dd8
+1 80009dd4
+0 801727b8
+2 80009ddc
+2 80009de0
+0 71fe7dfc
+2 80009de4
+2 80009de8
+2 80009dec
+2 80009df0
+2 80009df4
+2 80009df8
+0 8011203c
+2 80009dfc
+1 802250cc
+2 80009e00
+2 80009e04
+0 80112008
+1 80112008
+2 80009e08
+2 80009e0c
+2 80009e10
+2 80009e78
+2 80009e7c
+2 80009e80
+2 80009e64
+2 80009e68
+2 80009e6c
+2 80009e70
+2 80009e74
+2 80009e80
+2 80009e84
+1 71fe9de8
+1 71fe9e00
+2 80009e88
+0 71fe7df8
+0 71fe7dfc
+2 80009e8c
+0 71fe7de0
+0 71fe7de4
+2 80009e90
+0 71fe7df8
+2 80009e94
+2 80009e98
+2 80009e9c
+0 801727c4
+2 80009ea0
+2 80009ea4
+0 801727c0
+1 71fe7de4
+2 80009ea8
+2 80009eac
+1 71fe7df8
+2 80009eb0
+2 80009eb4
+1 71fe7dfc
+2 80009eb8
+0 801727b8
+2 80009ebc
+2 80009ec0
+1 71fe7de0
+2 8000a9f8
+0 801727b8
+2 8000a9fc
+2 8000aa00
+2 8000aa04
+0 801727b8
+2 8000aa08
+2 8000aa0c
+0 80002a7c
+2 8000aa10
+2 8000aa14
+2 8000aa1c
+2 8000aa20
+0 80002c1c
+2 8000aa24
+0 80002a5c
+0 80173e70
+1 80173e70
+1 801727b0
+1 801727b4
+2 8000aa28
+2 8000aa2c
+2 8000aa30
+0 71fe7de0
+2 80009ec0
+0 71fe7de4
+0 71fe7de8
+2 80009ec4
+0 71fe7dec
+0 71fe7df0
+2 80009ec8
+0 71fe7df4
+0 71f6084c
+0 71f60850
+2 80009e58
+2 80009e5c
+1 71fe9de8
+1 71fe9de4
+1 71fe9de0
+1 71fe9ddc
+1 71fe9dd8
+1 71fe9dd4
+1 71fe9dd0
+1 71fe9dcc
+1 71fe9dc8
+1 71fe9dc4
+1 71fe9dc0
+1 71fe9dbc
+1 71fe9db8
+1 71fe9db4
+1 71fe9db0
+2 80043410
+2 80043414
+1 71fe9da8
+2 800434b0
+0 71fe9dec
+2 800434b4
+2 800434bc
+0 71fc0930
+2 800434c0
+2 800434c8
+0 71fe9da8
+2 80043414
+2 80043418
+0 71fc0940
+2 8004341c
+0 71fe0704
+1 71fe0704
+2 80043420
+2 80043424
+2 80043428
+0 71fc093c
+2 8004342c
+2 80043430
+0 71fc1740
+2 80043434
+2 80043438
+0 71fc175c
+2 8004343c
+0 71fc1760
+0 71fc1764
+0 71fc1768
+0 71fc176c
+2 80043440
+1 71fe025c
+2 80043444
+2 80043448
+0 71fc1770
+1 71fe9d98
+0 71fc1774
+1 71fe9d9c
+0 71fc1778
+1 71fe9da0
+0 71fc177c
+1 71fe9da4
+0 71fc1780
+1 71fe9da8
+2 8004344c
+0 71fe0248
+1 71fe0248
+1 71fe0248
+2 80043450
+0 71fc0930
+2 80043460
+0 71fc0880
+2 80043464
+2 80043468
+0 71fc0930
+0 71fc0930
+1 15113c8
+1 151140c
+2 80043474
+2 80043478
+0 15113c8
+2 80043488
+0 71fe9d98
+0 71fe9d9c
+2 8004348c
+0 71fc0934
+2 80043490
+0 71fe9da0
+2 80047894
+0 71fe9da4
+2 80047898
+0 71fc09a0
+1 71fc09a0
+1 71fc09a0
+2 8004789c
+0 71fe9da8
+2 80047450
+2 80047454
+2 80047460
+2 80047464
+0 71fc0938
+1 15113d4
+2 80047468
+2 8004746c
+1 15113d8
+1 15113dc
+2 80047470
+2 800440d4
+2 800440d8
+0 71fc0930
+0 71fc0880
+2 800440e0
+2 800440e8
+2 800440ec
+2 80044104
+2 80044108
+0 71fc0940
+2 8004410c
+2 80044110
+0 71fc0930
+0 71fc0930
+2 80044118
+2 8004413c
+2 80044140
+2 80044144
+1 15113d0
+1 71fe9da8
+2 80041c68
+2 80041c6c
+0 15113c8
+2 80041c70
+2 80041c7c
+0 1511408
+2 80041c80
+2 80041c9c
+0 71fe9da8
+2 80044148
+2 8004414c
+0 71f6a8a4
+0 71f6a8a4
+2 80044150
+0 71f6a8a4
+2 80044154
+2 80044198
+2 8004419c
+2 800441a0
+2 800441b0
+2 800441b4
+1 71fc0930
+2 800441b8
+0 71fc0930
+0 71fe0248
+2 800441dc
+2 800441e0
+0 71fe0210
+1 71fe0210
+1 71fe0210
+2 800441e4
+2 800441e8
+0 71fe9db0
+0 71fe9db4
+0 71fe9db8
+0 71fe9dbc
+0 71fe9dc0
+0 71fe9dc4
+2 80009e5c
+2 80009e60
+1 71fe9db8
+1 71fe9dbc
+1 71fe9dc0
+2 8000fe08
+0 71fe7df4
+2 8000fe0c
+2 8000fd90
+0 71fe7dfc
+2 8000fd94
+1 71fe7df4
+2 8000fd98
+1 71fe7df0
+2 8000fd9c
+0 800021f8
+2 8000fda0
+2 8000fda4
+2 8000fda8
+1 71fe7dec
+2 8000a004
+2 8000a008
+2 8000a00c
+1 71fe7de8
+2 8000a010
+1 8000a010
+2 8000a014
+0 80111fe0
+2 8000a018
+2 8000a034
+2 8000a038
+2 8000a024
+2 8000a028
+0 8011203c
+2 8000a02c
+1 802250cc
+2 8000a030
+0 71fe7de8
+2 8000a034
+0 71fe7dec
+2 8000fdac
+0 71fe7df0
+2 8000fdb0
+0 71fe7df4
+0 71fe9dc4
+0 71fe9dc8
+2 80009e60
+2 80009e64
+0 71fe9df0
+0 71fe9df4
+2 80009e68
+0 71fe9dc4
+0 71fe9dc8
+2 71fee130
+0 15113c8
+0 15113c8
+2 71fee134
+2 71fee138
+2 71fee13c
+0 15113d0
+2 71fee140
+0 15113c8
+1 15113c8
+1 15113c8
+2 71fee144
+0 71f6a864
+0 71f6a868
+0 71f6a86c
+0 71f6a870
+0 71f6a874
+0 71f6a878
+2 14e3394
+2 14e3398
+0 15113c4
+2 14e33a0
+2 14e33a4
+0 15113a8
+1 15113a8
+2 14e33a8
+0 15113b4
+1 1511378
+2 14e33ac
+0 1511398
+2 14e33b0
+0 15113b4
+1 151137c
+2 14e33b4
+0 71f6a8ac
+2 14e4530
+2 14e4534
+0 1511378
+1 1511384
+2 14e4538
+0 1511378
+1 1511388
+2 14e453c
+0 1511358
+1 1511358
+1 1511358
+2 14e4540
+0 71f6a8b0
+2 14e2e78
+2 14e2e7c
+0 1511334
+2 14e2e80
+2 14e2e88
+2 14e2e8c
+1 71f6a8b0
+2 14e2438
+2 14e243c
+0 151138c
+1 71f6a8ac
+2 14e2440
+0 151130c
+1 14e8000
+2 14e2448
+2 14e244c
+0 1511334
+2 14e2464
+2 14e2470
+0 71f6a8ac
+2 14e2488
+1 14e2488
+2 14e248c
+0 71f6a8b0
+2 14e2e90
+2 14e2e94
+0 71f6a8b8
+0 71f6a8bc
+0 71f6a8c0
+0 71f6a8c4
+0 71f6a8c8
+0 71f6a8cc
+2 14d0198
+2 14d019c
+0 100ecc4
+2 14d01a0
+2 14d01a4
+2 14d01a8
+2 14d01ac
+2 14d01b0
+1 100ece0
+2 14d01b4
+1 100ecd8
+2 14d01b8
+0 14dfeec
+1 71f6a8f0
+1 71f6a8ec
+1 71f6a8e8
+1 71f6a8e4
+1 71f6a8e0
+1 71f6a8dc
+1 71f6a8d8
+1 71f6a8d4
+1 71f6a8d0
+1 71f6a8cc
+1 71f6a8c8
+1 71f6a8c4
+1 71f6a8c0
+1 71f6a8bc
+2 14f0f78
+2 14f0f7c
+2 14ff1b0
+2 14ff1b4
+2 14ff1b8
+2 14ff1bc
+0 100ed6c
+2 14ff1c0
Index: /liacs/ca/opdr3/develop.sh
===================================================================
--- /liacs/ca/opdr3/develop.sh	(revision 2)
+++ /liacs/ca/opdr3/develop.sh	(revision 2)
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+#Initial input
+make clean
+
+# Loop, loop, loop, debugging
+while [ "true" ];
+do
+    #Only needs to run when any updates did occur
+    make -q
+    if [ $? -ne 0 ]; then
+        echo "#"
+        echo "# Build: `date`"
+        echo "#"
+        make &&  sleep 1 && sh calculate.sh
+    fi
+    sleep 10
+done
Index: /liacs/ca/opdr3/docs/dineroIII.txt
===================================================================
--- /liacs/ca/opdr3/docs/dineroIII.txt	(revision 2)
+++ /liacs/ca/opdr3/docs/dineroIII.txt	(revision 2)
@@ -0,0 +1,239 @@
+DINEROIII()                                                        DINEROIII()
+
+
+
+NNAAMMEE
+       dineroIII - cache simulator, version III
+
+SSYYNNOOPPSSIISS
+       ddiinneerrooIIIIII -b block_size -u unified_cache_size -i instruction_cache_size
+       -d data_cache_size [ other_options ]
+
+DDEESSCCRRIIPPTTIIOONN
+       _d_i_n_e_r_o_I_I_I is a trace-driven cache  simulator  that  supports  sub-block
+       placement.   Simulation  results  are determined by the input trace and
+       the cache parameters.  A trace is a finite sequence  of  memory  refer-
+       ences  usually  obtained  by the interpretive execution of a program or
+       set of programs.  Trace input is read by the simulator  in  _d_i_n  format
+       (described  later).   Cache parameters, e.g. block size and associativ-
+       ity,  are  set  with  command  line  options  (also  described  later).
+       _d_i_n_e_r_o_I_I_I uses the priority stack method of memory hierarchy simulation
+       to increase flexibility and improve  simulator  performance  in  highly
+       associative  caches.   One  can simulate either a unified cache (mixed,
+       data and instructions cached together) or separate instruction and data
+       caches.   This  version  of  _d_i_n_e_r_o_I_I_I does not permit the simultaneous
+       simulation of multiple alternative caches.
+
+       _d_i_n_e_r_o_I_I_I differs from most other cache simulators because it  supports
+       sub-block  placement  (also known as sector placement) in which address
+       tags are still associated with cache blocks but data is transferred  to
+       and  from  the cache in smaller sub-blocks.  This organization is espe-
+       cially useful for on-chip microprocessor caches which have to load data
+       on  cache  misses  over a limited number of pins.  In traditional cache
+       design, this constraint leads to small blocks.  Unfortunately, a  cache
+       with  small  block  devotes  much more on-chip RAM to address tags than
+       does one with large blocks.  Sub-block placement allows a cache to have
+       small  sub-blocks  for fast data transfer and large blocks to associate
+       with address tags for efficient use of on-chip RAM.
+
+       Trace-driven simulation is frequently used to evaluating memory hierar-
+       chy  performance.   These  simulations  are  repeatable and allow cache
+       design parameters to be varied so that effects can be  isolated.   They
+       are  cheaper  than  hardware monitoring and do not require access to or
+       the existence of the machine being studied.  Simulation results can  be
+       obtained   in  many  situations  where  analytic  model  solutions  are
+       intractable without  questionable  simplifying  assumptions.   Further,
+       there does not currently exist any generally accepted model for program
+       behavior, let alone one that is suitable for  cache  evaluation;  work-
+       loads  in  trace-driven  simulation  are represented by samples of real
+       workloads and contain  complex  embedded  correlations  that  synthetic
+       workloads  often lack.  Lastly, a trace-driven simulation is guaranteed
+       to be representative of at least one program in execution.
+
+       _d_i_n_e_r_o_I_I_I reads trace input in _d_i_n format from _s_t_d_i_n.  A _d_i_n record  is
+       two-tuple  _l_a_b_e_l _a_d_d_r_e_s_s.  Each line of the trace file must contain one
+       _d_i_n record.  The rest of the line is ignored so that  comments  can  be
+       included in the trace file.
+
+       The _l_a_b_e_l gives the access type of a reference.
+
+           0  read data.
+           1  write data.
+           2  instruction fetch.
+           3  escape record (treated as unknown access type).
+           4  escape record (causes cache flush).
+
+       The _a_d_d_r_e_s_s is a hexadecimal byte-address between 0 and ffffffff inclu-
+       sively.
+
+       Cache  parameters  are  set  by  command  line   options.    Parameters
+       _b_l_o_c_k___s_i_z_e  and  either  _u_n_i_f_i_e_d___c_a_c_h_e___s_i_z_e or both _d_a_t_a___c_a_c_h_e___s_i_z_e and
+       _i_n_s_t_r_u_c_t_i_o_n___c_a_c_h_e___s_i_z_e  must  be  specified.   Other   parameters   are
+       optional.  The suffixes _K, _M and _G multiply numbers by 1024, 1024^2 and
+       1024^3, respectively.
+
+       The following command line options are available:
+
+       --bb _b_l_o_c_k___s_i_z_e
+              sets the cache block size in  bytes.   Must  be  explicitly  set
+              (e.g. -b16).
+
+       --uu _u_n_i_f_i_e_d___c_a_c_h_e___s_i_z_e
+              sets  the  unified cache size in bytes (e.g., -u16K).  A unified
+              cache, also called a mixed cache, caches both data and  instruc-
+              tions.    If   _u_n_i_f_i_e_d___c_a_c_h_e___s_i_z_e  is  positive,  both  _i_n_s_t_r_u_c_-
+              _t_i_o_n___c_a_c_h_e___s_i_z_e and _d_a_t_a___c_a_c_h_e___s_i_z_e  must  be  zero.   If  zero,
+              implying separate instruction and data caches will be simulated,
+              both _i_n_s_t_r_u_c_t_i_o_n___c_a_c_h_e___s_i_z_e and _d_a_t_a___c_a_c_h_e___s_i_z_e must be  set  to
+              positive values.  Defaults to 0.
+
+       --ii _i_n_s_t_r_u_c_t_i_o_n___c_a_c_h_e___s_i_z_e
+              sets  the  instruction  cache  size  in  bytes  (e.g.  -i16384).
+              Defaults to 0 indicating a unified cache simulation.   If  posi-
+              tive, the _d_a_t_a___c_a_c_h_e___s_i_z_e must be positive as well.
+
+       --dd _d_a_t_a___c_a_c_h_e___s_i_z_e
+              sets  the  data  cache size in bytes (e.g. -d1M).  Defaults to 0
+              indicating  a  unified  cache  simulation.   If  positive,   the
+              _i_n_s_t_r_u_c_t_i_o_n___c_a_c_h_e___s_i_z_e must be positive as well.
+
+       --SS _s_u_b_b_l_o_c_k___s_i_z_e
+              sets  the cache sub-block size in bytes.  Defaults to 0 indicat-
+              ing that sub-block placement is not being used (i.e. -S0).
+
+       --aa _a_s_s_o_c_i_a_t_i_v_i_t_y
+              sets the cache associativity.  A direct-mapped cache  has  asso-
+              ciativity  1.  A two-way set-associative cache has associativity
+              2.    A    fully    associative    cache    has    associativity
+              _d_a_t_a___c_a_c_h_e___s_i_z_e_/_b_l_o_c_k___s_i_z_e.  Defaults to direct-mapped placement
+              (i.e. -a1).
+
+       --rr _r_e_p_l_a_c_e_m_e_n_t___p_o_l_i_c_y
+              sets the cache replacement policy.  Valid  replacement  policies
+              are  _l  (LRU),  _f (FIFO), and _r (RANDOM).  Defaults to LRU (i.e.
+              -rl).
+
+       --ff _f_e_t_c_h___p_o_l_i_c_y
+              sets the cache fetch policy.  Demand-fetch  (_d),  which  fetches
+              blocks that are needed to service a cache reference, is the most
+              common fetch policy.  All other fetch policies  are  methods  of
+              prefetching.   Prefetching  is  never  done  after  writes.  The
+              prefetch target is determined by the --pp option and whether  sub-
+              block placement is enabled.
+
+                  d  demand-fetch which never prefetches.
+                  a   always-prefetch which prefetches after every demand ref-
+              erence.
+                  m  miss-prefetch which prefetches after every demand miss.
+                  t  tagged-prefetch which prefetches after the  first  demand
+              miss  to a (sub)-block.  The next two prefetch options work only
+              with sub-block placement.
+                  l  load-forward-prefetch (sub-block  placement  only)  works
+              like  prefetch-always within a block, but it will not attempt to
+              prefetch sub-blocks in other blocks.
+                  S  sub-block-prefetch (sub-block placement only) works  like
+              prefetch-always  within  a block except when references near the
+              end of a block.  At this point  sub-block-prefetches  references
+              will wrap around within the current block.
+
+              Defaults to demand-fetch (i.e. -fd).
+
+       --pp _p_r_e_f_e_t_c_h___d_i_s_t_a_n_c_e
+              sets  the prefetch distance in sub-blocks if sub-block placement
+              is enabled or in blocks if it is not.  A prefetch_distance of  1
+              means that the next sequential (sub)-block is the potential tar-
+              get of a prefetch.  Defaults to 1 (i.e. -p1).
+
+       --PP _a_b_o_r_t___p_r_e_f_e_t_c_h___p_e_r_c_e_n_t
+              sets the percentage of prefetches that are aborted.  This can be
+              used to examine the effects of data references blocking prefetch
+              references  from  reaching  a  shared  cache.   Defaults  to  no
+              prefetches aborted (i.e. -P0).
+
+       --ww _w_r_i_t_e___p_o_l_i_c_y
+              selects  one of two the cache write policies.  Write-through (_w)
+              updates main memory on all writes.  Copy-back (_c)  updates  main
+              memory  only  when  a  dirty  block  is replaced or the cache is
+              flushed.  Defaults to copy-back (i.e. -wc)
+
+       --AA _w_r_i_t_e___a_l_l_o_c_a_t_i_o_n___p_o_l_i_c_y
+              selects whether a (sub)-block is loaded on  a  write  reference.
+              Write-allocate  (_w) causes (sub)-blocks to be loaded on all ref-
+              erences that miss.  Non-write-allocate (_n)  causes  (sub)-blocks
+              to  be  loaded only on non-write references that miss.  Defaults
+              to write-allocate (i.e. -Aw).
+
+       --DD _d_e_b_u_g___f_l_a_g
+              used by implementor to debug simulator.  A debug_flag of _0  dis-
+              ables debugging; _1 prints the priority stacks after every refer-
+              ence;  and _2 prints the priority stacks and performance  metrics
+              after  every  reference.  Debugging information may be useful to
+              the user to understand the precise meaning  of all cache parame-
+              ter settings.  Defaults to no-debug (i.e. -D0).
+
+       --oo _o_u_t_p_u_t___s_t_y_l_e
+              sets  the output style.  Terse-output (_0) prints results only at
+              the end  of  the  simulation  run.   Verbose-output  (_1)  prints
+              results  at  half-million reference increments and at the end of
+              the simulation run.  Bus-output (_2) prints an output record  for
+              every  memory  bus transfer.  Bus_and_snoop-output (_3) prints an
+              output record for every memory bus transfer and clean  sub-block
+              that  is  replaced.   Defaults  to terse-output (i.e. -o0).  For
+              bus-output, each bus record is a six-tuple:
+
+              _B_U_S_2 are four literal characters to start bus record
+              _a_c_c_e_s_s is the access type ( _r for a bus-read, _w for a bus-write,
+              _p  for  a  bus-prefetch,  _s  for  snoop activity (output style 3
+              only).
+              _s_i_z_e is the transfer size in bytes
+              _a_d_d_r_e_s_s is a hexadecimal byte-address  between  0  and  ffffffff
+              inclusively
+              _r_e_f_e_r_e_n_c_e___c_o_u_n_t  is  the  number  of demand references since the
+              last bus transfer
+              _i_n_s_t_r_u_c_t_i_o_n___c_o_u_n_t is the number of  demand  instruction  fetches
+              since the last bus transfer
+
+       --ZZ _s_k_i_p___c_o_u_n_t
+              sets  the number of trace references to be skipped before begin-
+              ning cache simulation.  Defaults to none (i.e. -Z0).
+
+       --zz _m_a_x_i_m_u_m___c_o_u_n_t
+              sets the maximum number of  trace  references  to  be  processed
+              after  skipping  the  trace references specified by _s_k_i_p___c_o_u_n_t _.
+              Note, references generated by the simulator not  read  from  the
+              trace (e.g. prefetch references) are not included in this count.
+              Defaults to 10 million (i.e. -z10000000).
+
+       --QQ _f_l_u_s_h___c_o_u_n_t
+              sets the number of references between  cache  flushes.   Can  be
+              used  to  crudely  simulate  multiprogramming.   Defaults  to no
+              flushing (i.e. -Q0).
+
+FFIILLEESS
+       _d_o_c_._h contains additional programmer documentation.
+
+SSEEEE AALLSSOO
+       Mark D. Hill and Alan Jay Smith,  _E_x_p_e_r_i_m_e_n_t_a_l  _E_v_a_l_u_a_t_i_o_n  _o_f  _O_n_-_C_h_i_p
+       _M_i_c_r_o_p_r_o_c_e_s_s_o_r  _C_a_c_h_e  _M_e_m_o_r_i_e_s, _P_r_o_c_. _E_l_e_v_e_n_t_h _I_n_t_e_r_n_a_t_i_o_n_a_l _S_y_m_p_o_s_i_u_m
+       _o_n _C_o_m_p_u_t_e_r _A_r_c_h_i_t_e_c_t_u_r_e, June 1984, Ann Arbor, MI.
+
+       Alan Jay Smith, _C_a_c_h_e  _M_e_m_o_r_i_e_s,  _C_o_m_p_u_t_i_n_g  _S_u_r_v_e_y_s,  14-3,  September
+       1982.
+
+BBUUGGSS
+       Not all combination of options have been thoroughly tested.
+
+AAUUTTHHOORR
+       Mark D. Hill
+       Computer Sciences Dept.
+       1210 West Dayton St.
+       Univ. of Wisconsin
+       Madison, WI 53706
+
+       markhill@cs.wisc.edu
+
+
+
+
+
+4th Berkeley Distribution                                          DINEROIII()
Index: /liacs/ca/opdr3/docs/docsIII.h
===================================================================
--- /liacs/ca/opdr3/docs/docsIII.h	(revision 2)
+++ /liacs/ca/opdr3/docs/docsIII.h	(revision 2)
@@ -0,0 +1,337 @@
+/************************************************************************
+**
+**	Dinero III Cache Simulator 
+**	$Header: /var/home/markhill/DistributeDineroIII/RCS/doc.h,v 3.3 89/05/04 09:55:31 markhill Exp $
+**	Similar to Version 3.1, Released 8/7/85
+**
+**	Mark D. Hill
+**	Computer Sciences Dept.
+**	Univ. of Wisconsin
+**	Madison, WI 53706
+**	markhill@cs.wisc.edu
+**
+**	Developed DineroIII While Affiliated With:
+**
+**	Computer Science Division
+**	University of California
+**	Berkeley, California 94720
+**
+**	Source File:	doc.h
+**
+************************************************************************/
+
+/* 
+**  Copyright 1985, 1989 Mark D. Hill
+**
+**  Permission to use, copy, modify, and distribute this
+**  software and its documentation for any purpose and without
+**  fee is hereby granted, provided that the above copyright
+**  notice appear in all copies.  Mark D. Hill makes no
+**  representations about the suitability of this software
+**  for any purpose.  It is provided "as is" without expressed
+**  or implied warranty.
+*/  
+
+/* 
+**  INPUT FORMAT:
+**
+**	Read in ASCII from standard input 
+**	Expect ONE LABEL and ADDRESS in hex per line.
+**	Rest of data input line is ignored so it may
+**	be used for comments.
+**
+**	LABEL =	0	read data
+**		1	write data
+**		2	instruction fetch
+**		3	escape record (treated as unknown access type)
+**		4	escape record (causes cache flush)
+**
+**	0x0 <= ADDRESS <= 0xffffffff
+**
+**  E.G.:
+**	0	0		read data from addr 0x0.
+**	2	ffffffff	instruction fetch from 0xffffffff.
+**	4	12		flush cache and record miss type UNK
+**	1 123
+**	     1 2
+**
+**  NOT OK:
+**	<blank line>
+**	0x0 0x1
+**	0  
+**	1  comment
+**
+** ------------------------------------------------------------
+**  WARNING: If more than one tuple is put on a line,
+**	all but the first tuple will be ignored.
+** ------------------------------------------------------------
+*/
+/* **********************************************************************
+**
+**  COMMAND LINE OPTIONS
+**
+**	J  + {0,1,2,...}
+**	J+ = {1,2,3,...}
+**	P+ = {2^x | x is an element of J}
+**
+**
+**  -x	NAME		VARIABLE		OPTIONS(* ==> default)	
+**  --------		--------		----------------------
+**  -b	blocksize	cachep->blocksize	J+ (no default)
+**	in bytes
+**
+**  -S	sub-block size	cachep->subblocksize	J (default: 0 (no sub-blocks))
+**	in bytes
+**
+**  -u  unified cache size cachep->Dsize	J * blocksize (default: 0
+**	in bytes				(no unifed cache))
+**  
+**  -d  data cache size	cachep->Dsize		J * blocksize (default: 0
+**	in bytes				(no data cache))
+**  
+**  -i  instruction cache size	cachep->Isize	J * blocksize (default: 0
+**	in bytes				(no instruction cache))
+**						Note either -u or both
+**						-i and -d must be positive.
+**  
+**  -a  associativity	cachep->assoc		J+ (default: 1 (direct-mapped))
+**
+**-----------------------------------------------------------------------
+**
+**  -r	replacement	policyp->replacement	LRU* ('l'),
+**						FIFO ('f'),
+**						RANDOM ('r').
+**
+**  -f	fetch		policyp->fetch		DEMAND* ('d'),
+** 						ALWAYSPREFETCH ('a'),
+** 						MISSPREFETCH ('m'),
+** 						TAGGEDPREFETCH ('t'),
+** 						LOADFORWARDPREFETCH ('l'),
+**					(don't prefetch into next block)
+** 						SUBBLOCKPREFETCH ('S'),
+**					(wrap around w/i current block)
+**
+**
+**  -p prefetch distance policyp->prefetchdist	J+ (default: 1 (sub)-block)
+**     in (sub)-blocks
+**
+**  -P abort prefetch 	policyp->abortprefetchpercent  0<= J <= 100
+**     percent					(default: 0, no prefetches
+**						aborted)
+**
+**  -w	write		policyp->write		COPYBACK* ('c'),
+**						WRITETHROUGH ('w').
+**
+**  -A	writeallocate	policyp->writeallocate	WRITEALLOCATE* ('w'),
+**						NOWRITEALLOCATE ('n').
+**
+**-----------------------------------------------------------------------
+**
+**  -D	debug flag	ctrlp->debug		0 ==> NODEBUG*,
+**						1 ==> DEBUG1 (dumps stacks),
+**						2 ==> DEBUG2 (dumps addrs, 
+**						      stacks, and metrics).
+**
+**  -o 	output length	ctrlp->output		0 ==> TERSE*,
+**						1 ==> VERBOSE (dumps stats
+**						      every 0.5M addrs), 
+**						2 ==> BUS (see below for
+**						documentation on bus records).
+**						3 ==> BUS_SNOOP (see below for
+**						documentation on bus records).
+**
+**  -Z	skip count	ctrlp->skipcount	J (default: 0 ==> do not skip
+**						  		any addresses)
+**
+**  -z	maximum count	ctrlp->maxcount		J+ (default: 10**7)
+**
+**  -Q	mean inter-task	ctrlp->Q		J (default: 0 ==> no flushing)
+** 	switch time for flush
+**
+**  for 370 port:
+370
+370	Filename option for 370 only; Unix versions use stdin. We will
+370	read in first word of file name and append "DIN." Thus "-F X"
+370	will cause input to be read from "X DIN." Whereas "-F X DIN"
+370	will abend because "DIN" is not a legal parameter.
+370
+**  -F  filename	ctrlp->infilename	1 to 80 non-blank characters
+**						(default: TRACE)
+**
+** ******************************************************************* */
+
+
+
+
+
+
+/* ******************************************************************* **
+**
+**  BUS RECORD format generated by output option 2 or 3 (-o2 or -o3) 
+**  used by packbus.c and other programs (ascii, all numbers in hex).
+**
+**	BUS2 Access Size Address Rcount Icount 
+**
+**	where:
+**
+**	BUS2 	is a literal character string; all lines that do not
+**		start with BUS2 are ignored.
+**
+**	Access	is a access code (r==BUSREAD, w==BUSWRITE, p==BUSPREFETCH,
+**		and s==BUSSNOOP (-o3 only)).
+**
+**		In COPYBACK, misses can cause dirty blocks to be written
+**		back. When this happens, a bus read followed by a bus
+**		write is reported (as if the cache has write buffers). 
+**		The bus write follows the bus read with a Rcount and 
+**		an Icount of 0.
+**
+**	Address	(hex) is address of bus transfer (0 <= Address <= 0xffffffff).
+**
+**	Size	(deciaml) is the transfer size in bytes.
+**
+**	Rcount	(decimal) is count of all references since the last miss
+**		including the current reference. E.g., the second of
+**		two consecutive misses will have an Rcount of 1.
+**
+**	Icount	(decimal) is count of instruction fetches since the last miss
+**		including the current reference. E.g., the second of
+**		two consecutive instruction fetch misses will have an 
+**		Icount of 1.
+**
+** ******************************************************************* */
+
+
+
+/* END OF USER DOCUMENTATION */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/* *******************************************************************
+
+File Hierarchy:
+
+
+      doc.h			main.c			global.h
+				  |
+				  |
+	+---------------+---------+---------+---------------+
+	|		|	 	    |		    |
+     init.c	     fetch.c		 state.c	 output.c
+	|
+	|
+    cmdargs.c
+
+
+
+******************************************************************* */
+
+
+
+
+
+/* *******************************************************************
+
+Cross Reference:
+
+
+doc.h		Global documentation
+
+global.h	Type and constant definitions 
+
+main.c		Executive and main loop
+		main, mainloop
+
+init.c		Initialize
+		init, initmisc, initstacks, initmetric
+
+cmdargs.c	Process command line
+		getcmdargs, errormessage, echocmdargs
+
+fetch.c		Get next addresses; organize prefetch
+		fetch, prefetch, readfrominputstream, breakupaddr, flushcache,
+		init_addrstack, push_addrstack, pop_addrstack, print_addrstack,
+		sscanxx
+
+state.c		Manage priority stacks
+		update, stackupdate, push, remove, movetotop, swap, find, 
+		findnth, putonfreelist, makenode, copybackstack, busupdate,
+		replacesubblocks, bustraffic
+
+output.c	All output routines
+		outputmetric, dumpaddr, dumpstate, dumpmetric
+
+******************************************************************* */
+
+/* *******************************************************************
+
+Organizational Chart:
+
+                               main
+                                |
+           +--------------------+----+-----------------+
+           |                         |                 |
+         init                     mainloop        outputmetric
+           |                         |
+      +----+-+---+    +-------+------+---+-----------------+
+      |      |   |    |       |          |                 |
+echocmdargs, |   |  fetch     |       update            dumpaddr,
+initmetric,  |   |    |       |          |              dumpstate
+initstacks   |   |   ++-+--+  |          |
+             |   |   |  |  |  |          +-------+----+-----------+----+
+      getcmdargs |   |  | flushcache     |       |    |           |    |
+             |   |   |  |       |    stackupdate | prefetch  findnth   |
+    errormessage |   |  |      [1]       |       |      |              |
+                 |   |  |            makenode,   | push_addrstack     find
+           initmisc  | breakupaddr   movetotop,  |                     |
+            |    |   |               push,swap   |           +-[1]-+   |
+init_addrstack   |   |                           |           |     |   |
+                 |   |                    busupdate  copybackstack |   |
+    readfrominputstream                    |     |       |     |   |   |
+          |        |                       |  replacesubblocks |   |   |
+  pop_addrstack  sscanxx                   |         |         |   |   |
+					   +---------+---------+   |   |
+						     |             |   |
+						bustraffic    putonfreelist
+
+
+******************************************************************* */
+
+/* *******************************************************************
+
+Porting Information:
+
+DineroIII runs on Unix 4.2 BSD systems.  I have used it on the
+VAX and SUN-1 architectures.  DineroIII runs with some modifications
+on CMS system with the Waterloo CMS/VM C Compiler.  Setting "IBM370" 
+and resetting "NOTIBM370" in file global.h will cause "ifdef's" to 
+make changes necessary for CMS/VM port. 
+
+DineroIII uses a fast C-function called "sscanxx" to interpret
+input characters instead of the library function "sscanf"
+because a profile showed that dineroIII was spending 35% to 50%
+of this time in sscanf.  The function "sscanxx" runs about 6
+times faster than "sscanf."  The function "sscanxx" is selected
+by the compile-time flag FAST_BUT_DANGEROUS_INPUT in global.h.
+DineroIII with sscanxx should run in 60 to 70% of the time of
+dineroIII with sscanf.
+
+******************************************************************* */
+
Index: /liacs/ca/opdr3/grep-bus2.c
===================================================================
--- /liacs/ca/opdr3/grep-bus2.c	(revision 2)
+++ /liacs/ca/opdr3/grep-bus2.c	(revision 2)
@@ -0,0 +1,27 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: memory.h 363 2007-12-03 06:07:31Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : C sub of grep -e '^BUS2 '
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sysexits.h>
+#include <string.h>
+
+
+int
+main(int argc, char *argv[])
+{
+    const int MAX_LINE = 128;
+    char line[MAX_LINE];
+
+    /* Fetch line from stdin */
+    while (fgets(line, MAX_LINE, stdin) != NULL) {
+        /* Compare wether first part matches */
+        if ((strncmp(line, "BUS2 ", 5) ) == 0)
+            printf("%s",line);
+    }
+    exit(EX_OK);
+}
Index: /liacs/ca/opdr3/memory_bank.c
===================================================================
--- /liacs/ca/opdr3/memory_bank.c	(revision 2)
+++ /liacs/ca/opdr3/memory_bank.c	(revision 2)
@@ -0,0 +1,93 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: memory.h 363 2007-12-03 06:07:31Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : BANKS-bank word-interleaved memory with random access time
+ *               of RAS clock cycles
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "common.h"
+
+void
+memory_bank(const int BANKS, const int RAS)
+{
+    struct bus2_t line;
+    struct result_t output = {0, 0, 0, 0};
+
+    int bankneeded;
+    int i,j; /* Temp counter */
+    int t; /* Temp variable to hold condition */
+
+    /* BANKS bank memory, so BANKS places which could be busy 
+     * by convention 0 means not busy else busy
+     */
+    int * bankbusy = (int *)malloc(sizeof(int) * BANKS);
+
+    /* Init all banks to be available in the beginning */
+    for (i = 0; i < BANKS; i++)
+        bankbusy[i] = FALSE;
+
+    while (fscanfbus2(&line) != EOF) {
+        /* Process the counts */
+        setstats(&line, &output);
+
+        /* New request means new cycle as well */
+        output.cycles++;
+
+        /* Find proper bank */
+        bankneeded = line.address % BANKS;
+
+        /* Determine whether the bank is busy, if so this will result
+         * in waiting for completion of this bank . It is not allowed
+         * for next calls to memory to complete before this one
+         */
+        if (bankbusy[bankneeded] != FALSE) {
+            output.conflicts++;
+
+            /* Lower memory count till memory bank  is free */
+            t = bankbusy[bankneeded];
+            for (i = 0; i < t; i++) {
+                for (j = 0; j < BANKS; j++) {
+                    if (bankbusy[j] != FALSE)
+                        bankbusy[j]--;
+                }
+                output.cycles++;
+            }
+        }
+
+        /* Set bank to be busy */
+        bankbusy[bankneeded] = RAS + TRANSFER;
+
+        /* Process all banks to lower cycle count by one */
+        for (i = 0; i < BANKS; i++) {
+            if (bankbusy[i] != FALSE)
+                bankbusy[i]--;
+        }
+    }
+
+    /* Make sure remaining data leaves memory safely */
+    /* 'Abuse' t to be identifier wether some bank was lowered */
+    for (i = 0; i < RAS; i++) {
+        t = FALSE;
+        for (j = 0; j < BANKS; j++) {
+            if (bankbusy[j] != FALSE) {
+                bankbusy[j]--;
+                t = TRUE;
+            }
+        }
+        /* Check if something was changed */
+        if (t == FALSE)
+            break;
+
+        output.cycles++;
+    }
+
+
+    /* delete allocated memory */
+    free(bankbusy);
+
+    printfresult(stdout, &output);
+}
Index: /liacs/ca/opdr3/memory_bank.h
===================================================================
--- /liacs/ca/opdr3/memory_bank.h	(revision 2)
+++ /liacs/ca/opdr3/memory_bank.h	(revision 2)
@@ -0,0 +1,11 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: memory.h 363 2007-12-03 06:07:31Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : BANKS-bank word-interleaved memory with random access time
+ *               of RAS clock cycles - header
+ */
+
+void
+memory_bank(const int BANKS, const int RAS);
+
Index: /liacs/ca/opdr3/memory_dram.c
===================================================================
--- /liacs/ca/opdr3/memory_dram.c	(revision 2)
+++ /liacs/ca/opdr3/memory_dram.c	(revision 2)
@@ -0,0 +1,98 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: memory.h 363 2007-12-03 06:07:31Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : page-mode DRAM with a page-size of PAGESIZE words, a
+ *               random access time of RAS clock cycles and a 'next
+ *               access time' of NAT clock cycles.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "common.h"
+
+void
+memory_dram(const int PAGESIZE, const int NAT, const int RAS)
+{
+    struct bus2_t line;
+    struct result_t output = {0, 0, 0, 0};
+
+    /* Keep track of which page memory is, cause switching means a lot of
+     * extra work/cycles in terms of empty memory, moving to new bank
+     */
+    int current_page = 0;
+
+    /* Page location needed by new request */
+    int page_needed = 0;
+
+    /* Part of page needed by new request */
+    int part_needed = 0;
+
+    /* Every page has got 64 entries which all can be busy,
+     * by convention 0 means not busy else busy
+     */
+    int * partbusy = (int *)malloc(sizeof(int) * PAGESIZE);
+
+    int i; /* Temp counter */
+
+    /* Init all parts to be available in the beginning */
+    memset(partbusy, FALSE, sizeof(int) * PAGESIZE);
+
+    while (fscanfbus2(&line) != EOF) {
+        /* Process the counts */
+        setstats(&line, &output);
+
+        /* New request means new cycle as well */
+        output.cycles++;
+
+        /* Find proper page, do not take advantage of C div operator on
+         * int which is rounding directly, but use more safe/portable
+         * approch */
+        part_needed = line.address % PAGESIZE;
+        page_needed = (line.address - part_needed) / PAGESIZE;
+
+        /* Determine wether we did hit the right page or not */
+        if (page_needed == current_page) {
+            /* Check whether part is busy, which will result in waiting
+             * till part access is granted
+             */
+            if (partbusy[part_needed] != FALSE) {
+                /* Worst case senario on refresh */
+                output.cycles += RAS;
+                memset(partbusy, FALSE, sizeof(int) * PAGESIZE);
+            }
+        } else {
+            /* Wait till all pending calls in current page are completed
+             * 'Abuse' t to be identifier wether some bank was lowered
+             */
+            /* Worst case senario on refresh */
+            output.cycles += RAS;
+            memset(partbusy, FALSE, sizeof(int) * PAGESIZE);
+
+            /* Switch to new page */
+            current_page = page_needed;
+            output.cycles += NAT;
+            output.conflicts++;
+        }
+
+        /* Set new memory access */
+        partbusy[part_needed] = RAS + TRANSFER;
+
+        /* Process all parts to lower cycle count by one */
+        for (i = 0; i < PAGESIZE; i++) {
+            if (partbusy[i] != FALSE)
+                partbusy[i]--;
+        }
+    }
+
+    /* Make sure remaining data leaves memory safely */
+
+    /* Worst case senario on refresh */
+    output.cycles += RAS;
+
+    /* Delete allocated memory */
+    free(partbusy);
+
+    printfresult(stdout, &output);
+}
Index: /liacs/ca/opdr3/memory_dram.h
===================================================================
--- /liacs/ca/opdr3/memory_dram.h	(revision 2)
+++ /liacs/ca/opdr3/memory_dram.h	(revision 2)
@@ -0,0 +1,11 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: memory.h 363 2007-12-03 06:07:31Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : page-mode DRAM with a page-size of PAGESIZE words, a
+ *               random access time of RAs clock cycles and a 'next
+ *               access time' of NAT clock cycles. - header
+ */
+
+void memory_dram(const int PAGESIZE, const int NAT, const int RAS);
+
Index: /liacs/ca/opdr3/memory_std.c
===================================================================
--- /liacs/ca/opdr3/memory_std.c	(revision 2)
+++ /liacs/ca/opdr3/memory_std.c	(revision 2)
@@ -0,0 +1,42 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: memory.h 363 2007-12-03 06:07:31Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : standard memory with random access time of RAS clock
+ *               cycles
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "common.h"
+
+void
+memory_std(const int RAS)
+{
+    struct bus2_t line;
+    struct result_t output = {0, 0, 0, 0};
+
+    while (fscanfbus2(&line) != EOF) {
+        /* Process the counts */
+        setstats(&line, &output);
+
+        /* fprintfbus2(stderr, &line);
+         * Every request will need a call to memory and as all
+         * is simple, every call will be a blocking one and
+         * request will need to wait for previous request to
+         * memory to be ready. We could simple say every
+         * request to memory will be 9 cycles (8 memory, 1
+         * bus transfer)
+         */
+         output.cycles += RAS + TRANSFER;
+         output.conflicts++;
+
+    }
+
+    /* Compensation, cause first call is not a actual conflict */
+    output.conflicts--;
+    output.misses--;
+
+    printfresult(stdout, &output);
+}
Index: /liacs/ca/opdr3/memory_std.h
===================================================================
--- /liacs/ca/opdr3/memory_std.h	(revision 2)
+++ /liacs/ca/opdr3/memory_std.h	(revision 2)
@@ -0,0 +1,10 @@
+/* Author      : Rick van der Zwet
+ * S-number    : 0433373
+ * Version     : $Id: memory.h 363 2007-12-03 06:07:31Z rick $
+ * Copyright   : FreeBSD Licence
+ * Description : standard memory with random access time of RAS clock
+ *               cycles - header
+ */
+
+void memory_std(const int RAS);
+
Index: /liacs/ca/opdr3/src/dinero.diff
===================================================================
--- /liacs/ca/opdr3/src/dinero.diff	(revision 2)
+++ /liacs/ca/opdr3/src/dinero.diff	(revision 2)
@@ -0,0 +1,120 @@
+diff -ur orig/dinero/src/Makefile dinero/src/Makefile
+--- orig/dinero/src/Makefile	1992-01-20 15:56:51.000000000 +0100
++++ dinero/src/Makefile	2007-12-22 17:36:25.000000000 +0100
+@@ -1,3 +1,5 @@
++CFLAGS	      = -g
++
+ DEST	      = ../bin
+ 
+ EXTHDRS	      = /usr/include/stdio.h
+@@ -63,4 +65,4 @@
+ init.o: global.h /usr/include/stdio.h
+ main.o: global.h /usr/include/stdio.h
+ output.o: global.h /usr/include/stdio.h
+-state.o: global.h /usr/include/stdio.h
++state.o: global.h
+diff -ur orig/dinero/src/cmdargs.c dinero/src/cmdargs.c
+--- orig/dinero/src/cmdargs.c	1989-07-07 21:17:24.000000000 +0200
++++ dinero/src/cmdargs.c	2007-12-22 17:37:55.000000000 +0100
+@@ -33,6 +33,7 @@
+ */  
+ 
+ #include "global.h"
++#include <stdio.h>
+ 
+ getcmdargs(argc,argv,		/* Analyze command line arguments. */
+ 		  cachep,policyp,ctrlp)
+Binary files orig/dinero/src/cmdargs.o and dinero/src/cmdargs.o differ
+Binary files orig/dinero/src/dinero and dinero/src/dinero differ
+diff -ur orig/dinero/src/fetch.c dinero/src/fetch.c
+--- orig/dinero/src/fetch.c	1989-07-07 21:17:25.000000000 +0200
++++ dinero/src/fetch.c	2007-12-22 17:38:12.000000000 +0100
+@@ -33,6 +33,7 @@
+ */  
+ 
+ #include "global.h"
++#include <stdio.h>
+ 
+ fetch(					/* Get addr from input stream & decode*/
+ 	cachep,ctrlp,metricp,dap)	
+Binary files orig/dinero/src/fetch.o and dinero/src/fetch.o differ
+diff -ur orig/dinero/src/global.h dinero/src/global.h
+--- orig/dinero/src/global.h	1989-07-07 21:17:25.000000000 +0200
++++ dinero/src/global.h	2007-12-22 17:37:11.000000000 +0100
+@@ -46,7 +46,7 @@
+ */
+ #define FAST_BUT_DANGEROUS_INPUT
+ 
+-#include <stdio.h>
++// #include <stdio.h>
+ 
+ /*
+ **	Make global variables declarations just "extern" declarations
+diff -ur orig/dinero/src/init.c dinero/src/init.c
+--- orig/dinero/src/init.c	1989-07-07 21:17:26.000000000 +0200
++++ dinero/src/init.c	2007-12-22 17:38:24.000000000 +0100
+@@ -33,6 +33,7 @@
+ */  
+ 
+ #include "global.h"
++#include <stdio.h>
+ 
+ init(argc,argv,			/* Initialize. */
+ 		cachep,policyp,ctrlp,metricp)
+Binary files orig/dinero/src/init.o and dinero/src/init.o differ
+Binary files orig/dinero/src/local.o and dinero/src/local.o differ
+diff -ur orig/dinero/src/main.c dinero/src/main.c
+--- orig/dinero/src/main.c	1989-07-07 21:17:27.000000000 +0200
++++ dinero/src/main.c	2007-12-22 17:38:49.000000000 +0100
+@@ -34,6 +34,7 @@
+ 
+ #define PUBLIC
+ #include "global.h"
++#include <stdio.h>
+ 
+ main(argc,argv)			/* Dinero III Cache Simulator (see doc.h). */
+ int argc;		/* < */
+Binary files orig/dinero/src/main.o and dinero/src/main.o differ
+diff -ur orig/dinero/src/output.c dinero/src/output.c
+--- orig/dinero/src/output.c	1989-07-07 21:17:27.000000000 +0200
++++ dinero/src/output.c	2007-12-22 17:39:05.000000000 +0100
+@@ -33,6 +33,7 @@
+ */  
+ 
+ #include "global.h"
++#include <stdio.h>
+ 
+ /*
+ **	Used so that "numerator / NONZERO(denomenator)" will
+Binary files orig/dinero/src/output.o and dinero/src/output.o differ
+diff -ur orig/dinero/src/state.c dinero/src/state.c
+--- orig/dinero/src/state.c	1989-07-07 21:17:30.000000000 +0200
++++ dinero/src/state.c	2007-12-22 17:48:52.000000000 +0100
+@@ -33,6 +33,8 @@
+ */  
+ 
+ #include  "global.h"
++#include <stdlib.h>
++#include <stdio.h>
+ 
+ update(				/* Update */
+ 		cachep,policyp,ctrlp,metricp,dap)
+@@ -300,7 +302,7 @@
+ 
+ 
+ 
+-remove(preptr,ptr,stacknum)  	/* Remove node from a priority stack  */
++nremove(preptr,ptr,stacknum)  	/* Remove node from a priority stack  */
+ STACKNODETYPE *preptr;		/* < ptr to node preceeding the one to be
+ 				   removed */
+ STACKNODETYPE *ptr;		/* < ptr to node to be removed */
+@@ -496,7 +498,7 @@
+ static STACKNODETYPE *buffer;
+ extern int bufferindex;		/* global index to buffer */
+ extern STACKNODETYPE freelist;	/* List head for free list */
+-extern char *calloc();
++//extern char *calloc();
+ extern int numnodes;		/* Count on storage allocated */
+ STACKNODETYPE *ptr;
+ /*
+Binary files orig/dinero/src/state.o and dinero/src/state.o differ
Index: /liacs/ccs/op1/Makefile
===================================================================
--- /liacs/ccs/op1/Makefile	(revision 2)
+++ /liacs/ccs/op1/Makefile	(revision 2)
@@ -0,0 +1,47 @@
+# Rick van der Zwet <rick@wzoeterwoude.net>
+TARGET = report
+LATEX = latex
+XDVI = xdvi
+TEX = latex -halt-on-error
+DVIPDF = dvipdf
+ASPELL = aspell
+ASPELL_ARGS = -c --mode=tex
+.SUFFIXES: .pdf
+
+help:
+	@echo "Usage Makefile <option>"
+
+all: clean view
+
+view: viewdvi
+
+viewdvi: builddvi
+	$(XDVI) $(TARGET)
+
+builddvi: $(TARGET).dvi
+
+buildclean:
+	rm -vf *.aux *.dvi *.log *toc *.out
+
+clean: buildclean
+	rm -vf *.pdf
+
+viewpdf: $(TARGET).pdf
+	open $?
+
+buildpdf: $(TARGET).pdf
+
+spell: spell-nl
+
+spell-nl: $(TARGET).tex
+	$(ASPELL) -l nl -p ~/aspell-n.dic $(ASPELL_ARGS) $<
+
+spell-en: $(TARGET).tex
+	$(ASPELL) -l en -p ~/aspell-en.dic $(ASPELL_ARGS) $<
+
+.dvi.pdf:
+	$(DVIPDF) $? $@
+
+.tex.dvi:
+	$(TEX) $? $@
+	$(TEX) $? $@
Index: /liacs/ccs/op1/report.tex
===================================================================
--- /liacs/ccs/op1/report.tex	(revision 2)
+++ /liacs/ccs/op1/report.tex	(revision 2)
@@ -0,0 +1,95 @@
+% hello.tex - Our first Latex example!
+\documentclass[a4paper,12pt]{report}
+\usepackage{hyperref}
+\usepackage{a4wide}
+%\usepackage{indentfirst}
+\usepackage[dutch]{babel}
+
+
+\title{ Challenges in Computer Science \\
+\large{Opdracht 1}}
+\author{Rick van der Zwet\\
+  \texttt{<hvdzwet@liacs.nl>}\\
+  \\
+  LIACS\\
+  Leiden Universiteit\\
+  Niels Bohrweg 1\\
+  2333 CA Leiden\\
+  Nederland}
+\date{\today}
+\begin{document}
+\maketitle
+\tableofcontents
+\chapter{Introductie}
+De opdracht gegeven in het college van 4 februari 2007 is het
+defin\"{e}ren van een onderzoeksvraag. Het uitzoeken op welke manieren
+er gerapporteerd kan worden en waar deze voor gebruikt worden is de
+2de opdracht. \\
+Eerst zal ik mijn onderzoeksvraag defin\"{e}ren, waarna ik een uiteenzetting
+zal geven van de verschillende onderzoeksmethoden.
+
+\chapter{Onderzoeksvraag}
+Mijn interesses liggen vooral in het gebied van de toegepaste
+informatica, om met een combinatie van bestaande systemen een probleem
+op te lossen, wat op eerste gezicht/indruk onmogelijk lijkt. \\
+Het in stukjes hakken van het probleem en hiervoor een toepassing vind
+ik een van de leukere dingen om te doen \\
+\\
+In die context het in gekozen voor een probleem waar ik zelf elke keer
+tegen aan loop. Gegevens van servers en andere machines worden vaak
+gemonitord door middel van SNMP (Service Network Message Protocol).
+Waarmee de gebruiker op een goedkope en veilige manier gegevens uit zijn
+machine kunt halen, zoals bijvoorbeeld de status van een inktpatroon of
+het aantal verzonden data pakketjes. \\
+Het nadeel is dat een hoop cijfers erg onoverzichtelijk is en je niet
+gemakkelijk conclusies kan trekken. Gelukkig Tobias Oetiker heeft een
+prachtige grafiek generator ontworpen op basis van een round-robin
+database genaamd \htmladdnormallinkfoot{RRDtool}{http://oss.oetiker.ch/rrdtool/}
+Hiermee zijn diverse (web)applicaties ontworpen die gegevens grafisch
+weergeven:
+\begin{itemize}
+\item \htmladdnormallinkfoot{Nagios}{http://nagios.org}, een host/service monitoring
+en alarm applicatie
+\item \htmladdnormallinkfoot{Cacti}{http://cacti.net}, het verzamelen en in detail
+weergeven van SNMP data.
+\item \htmladdnormallinkfoot{MRTG}{http://oss.oetiker.ch/mrtg/} is gespecialiseerd
+in het weergeven in netwerk data stromen
+\item en nog vele meer \htmladdnormallinkfoot{...}{http://oss.oetiker.ch/rrdtool/rrdworld/index.en.html}
+\end{itemize}
+Helaas zijn dit allemaal web-gebaseerde oplossingen en zijn ze niet echt
+makkelijk te configureren/installeren en te gebruiken zijn. Tevens zijn de
+configuratie files niet uitwisselbaar met andere programma's en is er
+bijna geen interactie mogelijk.\\
+\newpage
+Hieruit komt de volgende onderzoeksvraag:
+\begin{quote}
+Kan een andere type opbouw van het systeem en een andere soort
+configuratie bestanden ervoor zorgen dat het een stuk flexibeler wordt?
+\end{quote}
+
+\chapter{Rapportage types}
+De hoofdpunten van een \htmladdnormallinkfoot{uitgebreid
+document}{http://studion.fss.uu.nl/Bouwstenenonline/5arapportagevormen.doc}
+van de Universiteit Utrecht zijn hier betrokken. Een rapportage kan je
+vinden in veel verschillende verschijningsvormen en opzetten. Van
+informeel/informereerd tot een
+formele publicatie. In de wetenschappelijke wereld zijn een aantal
+vormen overheersend.
+\begin{itemize}
+\item publicatie, een artikel in een (wetenschappelijk) vakblad.
+Wordt gebruikt om een samenvatting van de resultaten van een onderzoek
+te geven met als bedoeling een theorie te bewijzen/een discussie op gang
+te zetten
+\item presentatie, een mondelinge toelichting vaak ge\"{i}llusteerd met
+figuren/animaties met als doel een verdieping/samenvatting of
+illustratie aan te bieden bij een onderzoek
+\item rapport, Een schrijven die als doel dient om een onderzoek zo
+nauwkeurig mogelijk te documenteren. Aan de hand van het rapport moeten
+de testcases gereproduceerd kunnen worden en de bronnen gecontroleerd
+worden. Een rapport geeft andere onderzoekers de mogelijkheid het als
+referentiebron te gebruiken.
+\end{itemize}
+
+
+\end{document}
+
Index: /liacs/ccs/op2/Makefile
===================================================================
--- /liacs/ccs/op2/Makefile	(revision 2)
+++ /liacs/ccs/op2/Makefile	(revision 2)
@@ -0,0 +1,50 @@
+# Rick van der Zwet <rick@wzoeterwoude.net>
+TARGET = report
+LATEX = latex
+XDVI = xdvi
+TEX = latex -halt-on-error
+DVIPDF = dvipdf
+ASPELL = aspell
+ASPELL_ARGS = -c --mode=tex
+.SUFFIXES: .pdf
+
+help:
+	@echo "Usage Makefile <option>"
+
+all: clean view
+
+view: viewdvi
+
+viewdvi: builddvi
+	$(XDVI) $(TARGET)
+
+builddvi: $(TARGET).dvi
+
+clean:
+	rm -vf *.aux *.dvi *.log *toc *.out *.bak
+
+distclean: clean
+	rm -vf *.pdf
+
+buildpdf: $(TARGET).pdf
+
+viewpdf: buildpdf
+	open $(TARGET).pdf
+
+spell: spell-nl
+
+spell-nl: $(TARGET).tex
+	$(ASPELL) -l nl -p ~/aspell-n.dic $(ASPELL_ARGS) $<
+
+spell-en: $(TARGET).tex
+	$(ASPELL) -l en -p ~/aspell-en.dic $(ASPELL_ARGS) $<
+
+.dvi.pdf:
+	$(DVIPDF) $? $@
+
+.tex.dvi:
+	$(TEX) $? $@
+	$(TEX) $? $@
+
+.gs.png:
+	$(GNUPLOT) $?
Index: /liacs/ccs/op2/gen_image.sh
===================================================================
--- /liacs/ccs/op2/gen_image.sh	(revision 2)
+++ /liacs/ccs/op2/gen_image.sh	(revision 2)
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+IMAGE=${1-pareto}
+echo "Generate image $IMAGE"
+perl $IMAGE.pl > $IMAGE.dat
+gnuplot $IMAGE.gp
Index: /liacs/ccs/op2/pareto.gp
===================================================================
--- /liacs/ccs/op2/pareto.gp	(revision 2)
+++ /liacs/ccs/op2/pareto.gp	(revision 2)
@@ -0,0 +1,28 @@
+set terminal postscript eps color
+set output "pareto.eps"
+set format xy "%g"
+set notitle
+set xlabel "surface area"
+set ylabel 'volume in liters'
+set noautoscale
+set xrange [0:400]
+set yrange [0:400]
+unset key
+set parametric
+set bmargin 3
+set rmargin 0
+set lmargin 8
+set tmargin 0
+#set size square
+set style line 1 lt -1 lw 1 pt 1
+set style line 2 lt 1 lw 2 pt 1
+set style line 3 lt 3 lw 4 pt 1
+set grid lw 5
+set label "Pareto front" at 290,390 center tc lt 3
+plot [0:2*pi] \
+              sin(t) * 100,400 - cos(t) * 100 ls 1, \
+              sin(t) * 150,400 - cos(t) * 150 ls 1, \
+              sin(t) * 200,400 - cos(t) * 200 ls 1, \
+              sin(t) * 250,400 - cos(t) * 250 ls 1, \
+              sin(t) * 285,400 - cos(t) * 285 ls 3, \
+              "test.dat" using 2:3 with points ls 2
Index: /liacs/ccs/op2/pareto.pl
===================================================================
--- /liacs/ccs/op2/pareto.pl	(revision 2)
+++ /liacs/ccs/op2/pareto.pl	(revision 2)
@@ -0,0 +1,23 @@
+#!/usr/bin/env perl
+#
+# Small script to calculate the box area and volume
+
+foreach (1 .. 300) {
+    $w = $_;
+    foreach ( 1 .. 300) {
+        $l = $_;
+
+        $h = 2 / 3 * $l;
+        $v = $w * $l * $h;
+        $a = 2 * ($w * $h + $w * $l + $l * $h);
+
+        if ( $v >= 60 and $v < 300 ) {
+            $f = sqrt((400 - $v) ** 2 + $a ** 2);
+            $v = int($v);
+            $a = int($a);
+            $f = int($f);
+            print "$f $a $v\n";
+        }
+    }
+}
+
Index: /liacs/ccs/op2/report.tex
===================================================================
--- /liacs/ccs/op2/report.tex	(revision 2)
+++ /liacs/ccs/op2/report.tex	(revision 2)
@@ -0,0 +1,111 @@
+\documentclass[a4paper,12pt]{report}
+\usepackage{hyperref}
+\usepackage{a4wide}
+%\usepackage{indentfirst}
+\usepackage[english]{babel}
+\usepackage{graphics}
+%\usepackage[pdftex]{graphicx}
+\usepackage{latexsym}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+
+\pagestyle{fancyplain}
+\newcommand{\tstamp}{\today}
+\newcommand{\id}{$ $Id: report.tex 162 2007-05-12 15:45:10Z rick $ $}
+\lfoot[\fancyplain{\tstamp}{\tstamp}]   {\fancyplain{\tstamp}{\tstamp}}
+\cfoot[\fancyplain{\id}{\id}]           {\fancyplain{\id}{\id}}
+\rfoot[\fancyplain{\thepage}{\thepage}] {\fancyplain{\thepage}{\thepage}}
+
+
+\title{ Challenges in Computer Science \\
+\large{Assignment 2 - multi-objective question}}
+\author{Rick van der Zwet\\
+  \texttt{<hvdzwet@liacs.nl>}\\
+  \\
+  LIACS\\
+  Leiden Universiteit\\
+  Niels Bohrweg 1\\
+  2333 CA Leiden\\
+  Nederland}
+\date{\today}
+\begin{document}
+\maketitle
+\tableofcontents
+\chapter{Introduction}
+\label{foo}
+The assignment -given during the college of 23 April 2007- defined 3
+multi-objective questions. One of them needs further investigation:
+\begin{quote}
+Your task is to design a fish tank. The width, height, and length of
+the box-shaped tank are your decision variables. The volume has to be
+maximized, while the surface area has to be minimized {\small{because it is
+directly proportional to the cost of the tank.}} Moreover, for aesthetical
+reasons, the ratio between the height and length should be 2/3.  Another
+constraint: the volume is not to exceed 300 liters and has to be more or
+equal to 60 liters.
+\end{quote}
+
+\chapter{Assumptions}
+\begin{itemize}
+\item The box is 'closed', the surface area of a fish tank will be the sum of
+all (6) areas of the box.
+\item No surface area  will be used to attach the sides to each other.
+\item Both decision variables equal, a weight factor of $1$.
+\end{itemize}
+The surface area of a fish tank will be
+\begin{equation}
+a = 2 * w * h + 2 * w * l + 2 * h * l
+\end{equation}
+or more simplified
+\begin{equation}
+a = 2 * ( w * h + w * l + h * l)
+\label{eq:sa}
+\end{equation}
+The volume will be
+\begin{equation}
+v = w * h * l
+\label{eq:v}
+\end{equation}
+
+
+\chapter{Strategy}
+We could very easy reduce the problem from 3 unknown factors to 2
+unknown factors.  The ratio between the height and length should be
+$2/3$ which makes the height linear dependant of the width. Substitution
+in Eq. \ref{eq:sa} leads to
+\begin{equation}
+a = 2 * ( w * ( 2/3 * l) + w * l + (2/3 * l ) * l)
+\end{equation}
+After substitution in Eq. \ref{eq:v} the volume will become $v = w * l *
+(2/3 * l)$.  With 2 unknown factors it will be perfect to use a Pareto
+front. We will map $(w,l) => (v,a)$, with respect of the limitation $60
+\leq v < 300$.
+\chapter{Model}
+
+\begin{figure}[ht]
+\begin{center}
+\resizebox{\columnwidth}{!}{\includegraphics{pareto}}
+\end{center}
+\caption{
+    Pareto-front of fish-box
+}
+\label{fig:pareto}
+\end{figure}
+
+Fig. \ref{fig:pareto} has be generated by calculating many values -with
+respect to the limitations- and plot them into the figure.
+As we are optimising for the smallest surface area and the largest
+volume the vectors will originate from the left-top bottom of the graph
+($(400,0)$). Both decision variables are as important, so the
+pareto-lines will be circles. The shorter the length of the vector the
+better the solution. The blue dashed line will be the first line which
+intersect a few points, so these point are the optimal solutions.
+
+\appendix
+\fvset{numbers=left}
+\chapter{pareto.pl}
+\VerbatimInput{pareto.pl}
+\chapter{pareto.gp}
+\VerbatimInput{pareto.gp}
+\end{document}
+
Index: /liacs/ccs/op3/Makefile
===================================================================
--- /liacs/ccs/op3/Makefile	(revision 2)
+++ /liacs/ccs/op3/Makefile	(revision 2)
@@ -0,0 +1,50 @@
+# Rick van der Zwet <rick@wzoeterwoude.net>
+TARGET = report
+LATEX = latex
+XDVI = xdvi
+TEX = latex -halt-on-error
+DVIPDF = dvipdf
+ASPELL = aspell
+ASPELL_ARGS = -c --mode=tex
+.SUFFIXES: .pdf
+
+help:
+	@echo "Usage Makefile <option>"
+
+all: clean view
+
+view: viewdvi
+
+viewdvi: builddvi
+	$(XDVI) $(TARGET)
+
+builddvi: $(TARGET).dvi
+
+clean:
+	rm -vf *.aux *.dvi *.log *toc *.out *.bak
+
+distclean: clean
+	rm -vf $(TARGET).pdf
+
+buildpdf: $(TARGET).pdf
+
+viewpdf: buildpdf
+	open $(TARGET).pdf
+
+spell: spell-nl
+
+spell-nl: $(TARGET).tex
+	$(ASPELL) -l nl -p ~/aspell-n.dic $(ASPELL_ARGS) $<
+
+spell-en: $(TARGET).tex
+	$(ASPELL) -l en -p ~/aspell-en.dic $(ASPELL_ARGS) $<
+
+.dvi.pdf:
+	$(DVIPDF) $? $@
+
+.tex.dvi:
+	$(TEX) $? $@
+	$(TEX) $? $@
+
+.gs.png:
+	$(GNUPLOT) $?
Index: /liacs/ccs/op3/bandwidth.pl
===================================================================
--- /liacs/ccs/op3/bandwidth.pl	(revision 2)
+++ /liacs/ccs/op3/bandwidth.pl	(revision 2)
@@ -0,0 +1,36 @@
+#!/usr/bin/env perl
+do "common.pl";
+
+%bandwidth;
+
+open(FILE,$file);
+while(<FILE>) {
+    /\S*\ \S*\ \S*\ \S*\ \S*\ \S*\ (\S*)\ \S*\ \S*\ (\S*)/;
+    $url = $1;
+    $size= $2;
+    if ( $size eq "-" ) { $size = 0 };
+    $bandwidth{$url} =+ $size;
+
+}
+close(FILE);
+
+$total;
+@tmp;
+@toplisting;
+
+foreach $url (sort { $bandwidth{$b} <=> $bandwidth{$a}; } keys %bandwidth) {
+    push(@toplisting, $url);
+    $total = $total + $bandwidth{$url};
+# Manual search remaining agents
+#    else {
+#        print $agent;
+#    }
+}
+
+print "Total Bandwidth (bytes): $total\n";
+print "top 10 bandwidth\n";
+foreach $i (0 .. 9 ) {
+    print $i + 1, ": $toplisting[$i] \[$bandwidth{$toplisting[$i]} ",
+    percent($bandwidth{$toplisting[$i]},$total) ,"\]\n";
+}
+exit(0);
Index: /liacs/ccs/op3/common.pl
===================================================================
--- /liacs/ccs/op3/common.pl	(revision 2)
+++ /liacs/ccs/op3/common.pl	(revision 2)
@@ -0,0 +1,12 @@
+$file="$ARGV[0]";
+if (! -r $file ) {
+    print STDERR "Usage <program> <file>";
+    exit(128);
+}
+
+sub percent {
+    my ($number, $total) = @_;
+    $percent = $number/$total * 100;
+    return "(", int($percent), "%)";
+}
+
Index: /liacs/ccs/op3/exists.pl
===================================================================
--- /liacs/ccs/op3/exists.pl	(revision 2)
+++ /liacs/ccs/op3/exists.pl	(revision 2)
@@ -0,0 +1,31 @@
+#!/usr/bin/env perl
+do "common.pl";
+
+@code_404;
+@hits;
+%seen;
+
+open(FILE,$file);
+while(<FILE>) {
+    /\S*\ \S*\ \S*\ \S*\ \S*\ \S*\ (\S*)\ \S*\ (\S*)\ /;
+    $url = $1;
+    $status = $2;
+    $hits[$status]++;
+    if ( $status == 404 ) {
+        if ( not exists $seen{$url} ) {
+            $seen{$url} = $status;
+            push(@code_404, $url);
+        }
+    };
+    $status_code{$url} = $status;
+}
+close(FILE);
+
+$total_hits = 0;
+($total_hits+= $_ ) for @hits;
+
+print "404/total hits: $hits[404]/$total_hits ",
+percent($hits[404],$total_hits), "\n";
+print "Different 404 url's: ", scalar(@code_404), " ",
+percent(scalar(@code_404),$hits[404]), "\n";
+exit(0);
Index: /liacs/ccs/op3/nat-proxy.pl
===================================================================
--- /liacs/ccs/op3/nat-proxy.pl	(revision 2)
+++ /liacs/ccs/op3/nat-proxy.pl	(revision 2)
@@ -0,0 +1,28 @@
+#!/usr/bin/env perl
+do "common.pl";
+
+%user_agent;
+%proxy;
+
+open(FILE,$file);
+while(<FILE>) {
+    /(\S*)\ \S*\ \S*\ \S*\ \S*\ \S*\ \S*\ \S*\ \S* \S*\ ".*"\ (.*)$/;
+    $host = $1;
+    $agent = $2;
+    if (  exists $user_agent{$host} ) {
+        if ( $user_agent{$host} ne $agent ) {
+            $proxy{$host} = "YES";
+        }
+    }
+    else {
+        $user_agent{$host} = $agent;
+    }
+
+}
+close(FILE);
+
+$total = scalar(keys %user_agent);
+$proxies = scalar(keys %proxy);
+print "proxy/others hosts: $proxies/$total ",
+      percent($proxies,$total), "\n";
+exit(0);
Index: /liacs/ccs/op3/report.tex
===================================================================
--- /liacs/ccs/op3/report.tex	(revision 2)
+++ /liacs/ccs/op3/report.tex	(revision 2)
@@ -0,0 +1,220 @@
+\documentclass[a4paper,12pt]{article}
+\usepackage{hyperref}
+\usepackage{a4wide}
+%\usepackage{indentfirst}
+\usepackage[english]{babel}
+\usepackage{graphics}
+%\usepackage[pdftex]{graphicx}
+\usepackage{latexsym}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+
+\pagestyle{fancyplain}
+\newcommand{\tstamp}{\today}
+\newcommand{\id}{$ $Id: report.tex 166 2007-05-14 08:08:58Z rick $ $}
+\lfoot[\fancyplain{\tstamp}{\tstamp}]   {\fancyplain{\tstamp}{\tstamp}}
+\cfoot[\fancyplain{\id}{\id}]           {\fancyplain{\id}{\id}}
+\rfoot[\fancyplain{\thepage}{\thepage}] {\fancyplain{\thepage}{\thepage}}
+
+
+\title{ Challenges in Computer Science \\
+\large{Assignment 3 - accesslog}}
+\author{Rick van der Zwet\\
+  \texttt{<hvdzwet@liacs.nl>}\\
+  \\
+  LIACS\\
+  Leiden Universiteit\\
+  Niels Bohrweg 1\\
+  2333 CA Leiden\\
+  Nederland}
+\date{\today}
+\begin{document}
+\maketitle
+\section{Introduction}
+\label{foo}
+    The assignment will be the following
+\begin{quote}
+Analyse a web server accesslog -using Perl- and find something
+'interesting'. Write a three pages article out your finding.
+\end{quote}
+
+\section{Problem}
+Direct relations are not visible inside the web server accesslog, there
+will be a need to process the data and find useful 'connections'. Not
+all data will be available all times.
+
+\section{Theory}
+\subsection{Apache httpd accesslog}
+We are processing an accesslog of Apache httpd server
+\footnote{http://httpd.apache.org/} which has a predefined formats
+\footnote{http://httpd.apache.org/docs/1.3/logs.html}. The format we
+will analyze will be the \textsl{combined log format}. Combined log
+format will contains the most information compared to others. An
+accesslog line is formatted as below.
+\begin{verbatim}
+66.196.90.99 - - [01/Jun/2004:04:04:06 +0200] "GET
+/~kmakhija/daily/16thJun HTTP/1.0" 304 - "-" "Mozilla/5.0 (compatibl
+e; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slu rp)"
+\end{verbatim}
+Detailed explanation\footnote{http://httpd.apache.org/docs/1.3/logs.html\#combined}:
+\begin{description}
+\item[66.196.90.99] This is the IP address of the client (remote host) which
+made the request to the server, if a proxy server exists between the user and
+the server, this address will be the address of the proxy, rather than the
+originating machine.
+\item[-] The "hyphen" in the output indicates that the requested piece of
+information is not available. In this case, the information that is not
+available is the RFC 1413 identity of the client determined by identd on the
+clients machine. This information is highly unreliable and should almost never
+be used except on tightly controlled internal networks. 
+\item[-] This is the
+userid of the person requesting the document as determined by HTTP
+authentication. The same value is typically provided to CGI scripts in the
+REMOTE\_USER environment variable. If the status code for the request (see
+below) is 401, then this value should not be trusted because the user is not
+yet authenticated. If the document is not password protected, this entry will
+be "-" just like the previous one.  
+\item[01/Jun/2004:04:04:06 +0200] The time
+that the server finished processing the request. The format is:
+\begin{verbatim}
+[day/month/year:hour:minute:second zone]
+day = 2*digit
+month = 3*letter
+year = 4*digit
+hour = 2*digit
+minute = 2*digit
+second = 2*digit
+zone = (`+' | `-') 4*digit
+\end{verbatim}
+\item["GET /~kmakhija/daily/16thJun HTTP/1.0"] The request line from the
+client is given in double quotes. The request line contains a great deal of
+useful information. First, the method used by the client is \textsl{GET}.
+Second, the client requested the resource \textsl{/~kmakhija/daily/16thJun},
+and third, the client used the protocol \textsl{HTTP/1.0}.
+\item[304] This is the status code that the server sends back to the client.
+This information is very valuable, because it reveals whether the request
+resulted in a successful response (codes beginning in 2), a redirection (codes
+beginning in 3), an error caused by the client (codes beginning in 4), or an
+error in the server (codes beginning in 5). The full list of possible status
+codes can be found in the HTTP specification (RFC2616 section
+10).\footnote{http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html}
+\item[-] The last entry indicates the size of the object returned to the
+client, not including the response headers. If no content was returned to the
+client, this value will be "-".
+\item["-"] The "Referer" (sic) HTTP request header. This gives the site that
+the client reports having been referred from. (This should be the page that
+links to or includes the page requested).
+\item["Mozilla/5.0 (compatible; Yahoo! Slurp;
+http://help.yahoo.com/help/us/ysearch/slurp)"] The User-Agent HTTP request
+header. This is the identifying information that the client browser reports
+about itself.
+\end{description}
+
+\subsection{References}
+Looking at the information available, there will be a very big ammount of
+things able to check (or crossmatch). It will far to difficult to have a
+program itself find interconnections, so we will need to define a few and check
+them (by using a program)
+
+\section{Implementation}
+Perl will be the most easy way to accomplish this goal, cause it's
+plain text processing based in the first place.
+
+\section{Experiments}
+
+Results of the experiments are outputs of test file input
+\textsl{/scratch/wwwlog/www.access\_log.8}
+
+\subsection{Which ratio/number of pages are requested but don't exists
+(anymore)?}  Check every URL and check their status code. A 404 will be
+marked unknown.
+Perl code at Appendix~\ref{exists.pl}.
+\begin{verbatim}
+404/total hits: 63774/987696 (6%)
+Different 404 url's: 7590 (11%)
+\end{verbatim}
+
+\subsection{What will be the ratio human/robot?}
+Find type of User-Agents, mark them robot if the string contains
+\textsl{bot, spider ,slurp ,search ,crawler ,checker ,downloader ,worm}
+Perl code at Appendix~\ref{robot.pl}.
+\begin{verbatim}
+robot/others user-agent: 186/7711 (2%)
+\end{verbatim}
+
+\subsection{Which documents generated the most bandwidth}?
+Collect the number of hits on a certain page and multiply by the size of
+the page.
+Perl code at Appendix~\ref{bandwidth.pl}.
+\begin{verbatim}
+Total Bandwidth (bytes): 2504223027
+top 10 bandwidth
+1: /~dlf/reisfotos04/foto's.zip [143839972 (5%)]
+2: /%7Ehvdspek/cgi-bin/fetchlog.cgi [103325194 (4%)]
+3: /~moosten/quackknoppen.zip [19990886 (0%)]
+4: /~swolff/Maradonna.mpg [19955712 (0%)]
+5: /~phaazebr/weblog [15061021 (0%)]
+6: /home/dlf/klr/download/inaug2004.ppt [10070836 (0%)]
+7: /~dlf/klr/download/inaug2004.ppt [10064996 (0%)]
+8: /~sgroot/londen-small.wmv [9017829 (0%)]
+9: /~eras045/serious/final_report.ps [8845382 (0%)]
+10:
+/~erwin/SR2002/SpeechRecognition2002/Student%20Projects/Recognition_Algorithms_II/timing%20RES.xls
+[8744448 (0%)]
+\end{verbatim}
+
+\subsection{Will a certain IP use multiple user-agents?}
+Check whether there are multiple User-agents at IP.
+Perl code at Appendix~\ref{nat-proxy.pl}.
+\begin{verbatim}
+proxy/others hosts: 5086/71214 (7%)
+\end{verbatim}
+
+\subsection{Which IP ranges access the web server?}
+Collect every IP address and try to put them into ranges. We will ignore
+hostnames cause the their IP might be changed a few times already.
+
+This will need some more logic like knowledge of the IP subnets. Will
+skip this one.
+
+
+\section{Conclusion}
+Simple relations like statistics are easy to find, but the more
+sophisticated ones has to be thought out and designed. Finding good
+relations will take a lot of time and will be very hard to automate.
+
+Using Perl will be a quick way to process small amounts of data, when
+processing more data I recommend writing a small (wrapper) binary program to
+(pre)process data.
+
+%\begin{thebibliography}{XX}
+%
+%\end{thebibliography}
+
+\section*{Appendix}
+
+\subsection{common.pl}
+\label{common.pl}
+\VerbatimInput{common.pl}
+\newpage
+
+\subsection{robot.pl}
+\label{robot.pl}
+\VerbatimInput{robot.pl}
+\newpage
+
+\subsection{bandwidth.pl}
+\label{bandwidth.pl}
+\VerbatimInput{bandwidth.pl}
+\newpage
+
+\subsection{exists.pl}
+\label{exists.pl}
+\VerbatimInput{exists.pl}
+\newpage
+
+\subsection{nat-proxy.pl}
+\label{nat-proxy.pl}
+\VerbatimInput{nat-proxy.pl}
+\end{document}
+
Index: /liacs/ccs/op3/robot.pl
===================================================================
--- /liacs/ccs/op3/robot.pl	(revision 2)
+++ /liacs/ccs/op3/robot.pl	(revision 2)
@@ -0,0 +1,32 @@
+#!/usr/bin/env perl
+do "common.pl";
+
+%user_agent;
+
+open(FILE,$file);
+while(<FILE>) {
+    /\S*\ \S*\ \S*\ \S*\ \S*\ (\S*)\ \S*\ \S*\ \S* \S*\ ".*"\ (.*)$/;
+    $url = $1;
+    $agent = $2;
+    if ( not exists $user_agent{$agent} ) {
+        $user_agent{$agent} = "UN";
+    }
+}
+close(FILE);
+
+
+$robot;
+foreach $agent (sort keys %user_agent) {
+    if ( $agent =~ /(?:bot|spider|slurp|search|crawler|checker|downloader|worm)/i ) {
+        $robot++;
+    }
+# Manual search remaining agents
+#    else {
+#        print $agent;
+#    }
+}
+
+$total = scalar(keys %user_agent);
+print "robot/others user-agent: $robot/$total ",
+      percent($robot,$total), "\n";
+exit(0);
Index: /liacs/ccs/op3/verslag.tex
===================================================================
--- /liacs/ccs/op3/verslag.tex	(revision 2)
+++ /liacs/ccs/op3/verslag.tex	(revision 2)
@@ -0,0 +1,102 @@
+
+%
+% verslag.tex   1.2.2007
+% Voorbeeld LaTeX-file voor verslagen bij Kunstmatige Intelligentie
+% http://www.liacs.nl/home/kosters/AI/verslag.tex
+%
+% plaatje: marxbrothers.eps of marxbrothers.jpg
+%
+
+\documentclass[12pt]{article}
+
+\frenchspacing
+\usepackage[english,dutch]{babel}
+\selectlanguage{dutch}
+\usepackage{graphicx}
+
+\author{Victor Erslag, Universiteit Leiden}
+\title{Het grote probleem}
+
+\begin{document}
+
+\maketitle
+
+\section{Inleiding} 
+
+Dit \emph{veel te korte} verslag gaat over een groot probleem.
+
+\section{Uitleg probleem}
+
+Tja, wat zullen we eens zeggen?
+
+\section{Theorie}
+
+De Stelling van Puk (zie~\cite{pukkie}) zegt dat 
+kabouters doorgaans klein zijn.
+
+\section{Aanpak}
+
+We gaan als volgt te werk, zie ook Figuur~\ref{marx}.
+
+\bigskip
+
+\begin{figure}[!ht]
+\begin{center}
+\includegraphics[scale=0.15]{marxbrothers}
+\end{center}
+\caption{Zeppo, Harpo, Chico en Groucho Marx}\label{marx}
+\end{figure}
+
+\noindent
+Zoals Groucho al zei:
+``Time flies like an arrow; fruit flies like a banana.''
+
+\section{Implementatie}
+
+Er is gekozen voor de programmeertaal C$\stackrel{++}{}$.
+Verder \ldots
+
+\section{Experimenten}
+
+De resultaten van de experimenten zijn te
+vinden in onderstaande tabel:
+
+\begin{center}
+\begin{tabular}{l|l|l}
+experiment & tijd (sec) & uitslag\\
+\hline
+1 & 10 & $-7$\\
+2 & 42 & 123
+\end{tabular}
+\end{center}
+
+\section{Conclusie}
+
+Het ging fout als de testopstelling niet verlicht was.
+
+\begin{thebibliography}{XX}
+
+\bibitem{pukkie}
+P.~Puk, Kabouters in de Tweede Kamer,
+Ons Tijdschrift 42 (2006) 12--34.
+
+\end{thebibliography}
+
+\section*{Appendix}
+
+Er is gebruik gemaakt van de briljante skeletcode die te vinden is via
+de website van het college,
+\verb+www.liacs.nl/home/kosters/AI+.
+De code van het programma is als volgt:
+
+\begin{small}
+\begin{verbatim}
+#include <iostream>
+#include <cstdlib>   // voor random getallen
+using namespace std;
+
+...
+\end{verbatim}
+\end{small}
+
+\end{document}
Index: /liacs/ccs/op4/Makefile
===================================================================
--- /liacs/ccs/op4/Makefile	(revision 2)
+++ /liacs/ccs/op4/Makefile	(revision 2)
@@ -0,0 +1,50 @@
+# Rick van der Zwet <rick@wzoeterwoude.net>
+TARGET = report
+LATEX = latex
+XDVI = xdvi
+TEX = latex -halt-on-error
+DVIPDF = dvipdf
+ASPELL = aspell
+ASPELL_ARGS = -c --mode=tex
+.SUFFIXES: .pdf
+
+help:
+	@echo "Usage Makefile <option>"
+
+all: clean view
+
+view: viewdvi
+
+viewdvi: builddvi
+	$(XDVI) $(TARGET)
+
+builddvi: $(TARGET).dvi
+
+clean:
+	rm -vf *.aux *.dvi *.log *toc *.out *.bak
+
+distclean: clean
+	rm -vf $(TARGET).pdf
+
+buildpdf: $(TARGET).pdf
+
+viewpdf: buildpdf
+	open $(TARGET).pdf
+
+spell: spell-nl
+
+spell-nl: $(TARGET).tex
+	$(ASPELL) -l nl -p ~/aspell-n.dic $(ASPELL_ARGS) $<
+
+spell-en: $(TARGET).tex
+	$(ASPELL) -l en -p ~/aspell-en.dic $(ASPELL_ARGS) $<
+
+.dvi.pdf:
+	$(DVIPDF) $? $@
+
+.tex.dvi:
+	$(TEX) $? $@
+	$(TEX) $? $@
+
+.gs.png:
+	$(GNUPLOT) $?
Index: /liacs/ccs/op4/aanwijzingen.txt
===================================================================
--- /liacs/ccs/op4/aanwijzingen.txt	(revision 2)
+++ /liacs/ccs/op4/aanwijzingen.txt	(revision 2)
@@ -0,0 +1,40 @@
+== Aanwijzing K.M. Wong ==
+In exerciseThomas.pdf staat een objective function die gemaximaliseerd moet
+worden. De functie neemt als input een vector van n groot (vector y dus) die
+bestaat uit de waarden -1 en +1. Bijvoorbeeld y={-1,+1,+1,-1}, waar n=4.
+
+Voor deze opdracht moet je voor een gegeven lengte n een string zoeken met de
+hoogste output waarde. Je begint met het random genereren van een aantal
+strings. Hiervan kies je de beste strings, waarmee je weer een nieuwe populatie
+(hopelijk) betere strings gaat genereren mbv. crossover en/of mutaties. In
+Table 1 staan de beste output waarden die zijn gevonden voor de gegeven string
+lengtes n. Je hoeft voor deze opdracht die waarden niet te overtreffen (dat zou
+te moeilijk zijn).
+
+De functie in de matlab code (de marit function) is niks anders dan een
+implementatie van de objective function. Voor deze opdracht hoef je niet
+perse matlab te gebruiken. De objective functie kan makkelijk in C of
+C++ geimplementeerd worden. 
+
+
+== Aanwijzing J.K Vis ==
+Je moet ongeveer het volgende maken:
+1. Een evaluatiefunctie die volgens de gegeven 'maximal objective function' een
+   waarde toekent aan een string over het alfabet {-1, 1}.
+2. Een mutatiefunctie die tenminste een element uit zo'n string verandert in
+   zijn tegengestelde.
+3. Een 'crossoverfunctie' die tenminste een combinatie maakt van twee strings
+   waarbij het resultaat is dat het eerste deel van de eerste string wordt
+   aangevuld met het tweede deel van de tweede string en het eerste deel van de
+   tweede string wordt aangevuld met het tweede deel van de eerste string.
+4. Een evolutionair algoritme: verzin iets dat gebruik maakt van de
+   bovenstaande functies op ongeveer de volgende manier:
+   a. Initialiseer een populatie (een aantal strings) (random?).
+   b. Evalueer de populatie (maak gebruik van de evaluatiefunctie).
+   c. Indien er een string goed genoeg is (> 7?): stoppen.
+   d. Selecteer het 'beste' deel van de populatie (zijn verschillende manieren
+      mogelijk).
+   e. Vul het geselecteerde deel van de strings aan met gemuteerde (mutatie en
+      crossover) strings uit dat deel tot dat je weer de originele populatiegrootte
+      hebt.
+      Ga naar stap b.
Index: /liacs/ccs/op4/merit.m
===================================================================
--- /liacs/ccs/op4/merit.m	(revision 2)
+++ /liacs/ccs/op4/merit.m	(revision 2)
@@ -0,0 +1,24 @@
+%An objective function for the low-autocorrelation problem.
+%Author: Ofer M. Shir, 2004; oshir@liacs.nl.
+%-----------------------------------------------------------------------
+function [f] = merit (pop)
+% Given a population of binary sequences, this function calculates 
+% the merit function according to the formula specified in the exercise
+% description. The input pop is the given matrix.
+% The output f is the merit factor calculated (row vector).
+
+n = size(pop,1)
+m = size(pop,2)
+E = zeros(1,m)
+%Calculated efficiently in a matrix-notation; auxilary matrices - Y1,Y2
+%- are initialized in every iteration. They are shifted form of the
+%original y vectors. The diaganol of the dot-squared Y2*Y1 matrix is
+%exactly the inner sum of merit function.
+for k=1:n-1
+    Y1=pop(1:n-k,:)
+    Y2=pop(k+1:n,:)'
+    E=E+((diag(Y2*Y1)).^2)'
+end
+
+%The output:
+f = (n*n*ones(1,m))./(2*E)
Index: /liacs/ccs/op4/merit.pl
===================================================================
--- /liacs/ccs/op4/merit.pl	(revision 2)
+++ /liacs/ccs/op4/merit.pl	(revision 2)
@@ -0,0 +1,524 @@
+#!/usr/bin/env perl
+
+use strict;
+
+our $debug = 0;
+our %taken;
+
+our $length = 0;
+our $round_size = 100;
+our $maxstack =  150;
+our $working_mfactor = 0;
+our $best_mfactor = 0;
+our $best_vector;
+our $refill = 0;
+our $maxrounds = 20;
+our @winners;
+our $winnercompare = 10;
+
+our $total = 0;
+
+sub message {
+    our $debug;
+    my $level = shift;
+    my $message = shift;
+    if ( $level => $debug ) {
+        print "DEBUG [$level]: $message\n";
+    }
+}
+
+sub merit {
+    my $y = shift;
+    our $length;
+    my $e = 0;
+    my $f;
+    my $t;
+
+    foreach my $k (1 .. ($length - 1)) {
+        $t = 0;
+        for my $i (0 .. ($length - 1 - $k)) {
+            $t += $$y[$i] * $$y[$i+$k];
+        }
+        $e += $t ** 2;
+        }
+    
+    $f = ($length ** 2) / ( 2 * $e);
+    printer('DEBUG merit', $f, $y) if $debug > 5;
+    return($f);
+}
+
+sub randarray {
+    our $debug;
+    my @output = ();
+    my ($i,$v);
+    message(1,"New randarray of length $length");
+    foreach $i ( 0 .. ($length - 1)) {
+        $v = int(rand() + 0.5);
+        $output[$i] = ( $v ) ? 1 : -1;
+    }
+    return(\@output);
+}
+
+sub flip {
+  my $rref = shift;
+  my $number = shift;
+  my $v = $$rref[$number];
+  $v = ($v == 1) ? -1 : 1;
+  $$rref[$number] = $v;
+}
+
+sub try_merit {
+    our @stack;
+    our %taken;
+    our $best_mfactor;
+    our $best_vector;
+    our $working_mfactor;
+
+    my $try_array = shift;
+    my $new_mfactor;
+    my $result = 0;
+    my $array2string = join('',@{$try_array});
+
+    if ( not exists ($taken{$array2string}) ) {
+        $new_mfactor = merit($try_array);
+        $taken{$array2string} = $new_mfactor;
+
+        if ($new_mfactor > $best_mfactor) {
+           $best_mfactor = $new_mfactor;
+           $best_vector = $try_array;
+           $result = 1;
+           unshift(@stack,$try_array);
+        }
+    }
+    if ( $debug == 5 ) {
+        print "==== " . scalar(@stack) . "====\n";
+        print join("\n",@stack) . "\n";
+    }
+    return($result);
+}
+
+sub combine {
+    our $length;
+    our $debug;
+    message(1,"Working on combine");
+
+    my $result = 0;
+    my $loop;
+    my $input = shift;
+    my $input2 = shift;
+    my @result_l;
+    my @result_r;
+
+
+    my $middle = int($length / 2);
+    @result_l = (@{$input}[0 .. $middle],
+                 @{$input2}[ $middle + 1 ..  ($length-1) ]);
+    @result_r = (@{$input2}[0 .. $middle],
+                 @{$input}[ $middle + 1 ..  ($length-1) ]);
+
+    if ($debug > 3) {
+        print "Orig l: ";
+        print @{$input};
+        print "\n";
+        print "Orig 2: ";
+        print @{$input2};
+        print "\n";
+        print "Combine l: ";
+        print @result_l;
+        print "\n";
+        print "Combine r: ";
+        print @result_r;
+        print "\n";
+    }
+    message(1,"DEBUG: Done on combine");
+    return(\@result_l,\@result_r);
+}
+
+sub crossover {
+    my $input = shift;
+    my $rev_array = shift;
+    my $result = 0;
+    my ($try_array_l,$try_array_r)  = combine($input,$rev_array);
+
+    if ( try_merit($try_array_l) ) {
+        $result = 1;
+    }
+
+    if ( try_merit($try_array_r) ) {
+        $result = 1;
+    }
+    return($result);
+}
+
+
+sub mutations {
+    our $length;
+
+    my @try_array;
+    my $result = 0;
+    my @test_array = @_;
+
+    message(1,"Working on mutations");
+
+    foreach my $i ( 0 .. ($length - 1) ) {
+        my @try_array = ();
+        @try_array = @test_array;
+        flip(\@try_array, $i);
+        
+        if ( try_merit(\@try_array) ) {
+            $result = 1;
+        }
+    }
+    message(1,"Done on mutations");
+    return($result) ;
+}
+
+
+sub crossovers {
+    our $length;
+
+    my @try_array;
+    my $result = 0;
+    my @test_array = @_;
+
+    my $i;
+    my $j;
+
+    message(1,"Working on crossovers");
+    foreach $i ( 0 .. ($length - 1) ) {
+        my @try_array = ();
+        @try_array = @test_array;
+        foreach $j ( $i .. ($length - 1) ) {
+            flip(\@try_array, $j);
+        }
+
+        if ( try_merit(\@try_array) ) {
+            $result = 1;
+        }
+    }
+    message(1,"Done on crossovers");
+    return($result);
+}
+
+
+
+
+sub randmutate {
+    our $length;
+    my $switchtimes = shift;
+    my $switchnumbers = shift;
+    my @test_array = @_;
+    my $result = 0;
+    my @try_array;
+    my $i;
+    my $j;
+    my $n;
+    my @flipped;
+
+    message(1,"Working on randmutate");
+
+    foreach $i ( 0 .. $switchtimes ) {
+        my @try_array = ();
+        @try_array = @test_array;
+        @flipped = ();
+        foreach $j ( 0 .. $switchnumbers ) {
+            $n = int(rand($length - 1));
+            if ( not exists $flipped[$n] ) {
+                flip(\@try_array,$n);
+                $flipped[$n] = 1;
+            }
+        }
+
+        if ( try_merit(\@try_array) ) {
+            $result = 1;
+        }
+    }
+    return($result);
+}
+
+sub printer {
+    my $message = shift;
+    my $mfactor = shift;
+    my $input = shift;
+    return("Message : $message \n" .
+           "Vector  : " . join(',',array2string($input) . "\n" .
+           "mfactor : $mfactor \n" .
+           "--\n");
+}
+
+
+
+our @stack = ();
+our $best_mfactor = 0;
+our $best_vector;
+
+sub array2string {
+    my $input = shift;
+    my @result = ();
+    my $n = 1;
+    foreach my $i (1 .. $#$input) {
+        if ($$input[$i] != $$input[$i - 1]) {
+            push(@result,$n);
+            $n = 1;
+        }
+        else {
+            $n++;
+        }
+    }
+    push(@result,$n);
+    return(@result);
+}
+
+sub string2array {
+    my @output = ();
+    my $input = shift;
+    $input = split(//,$input);
+    my $c = 0;
+    my $v = 1;
+
+    my ($n,$i);
+
+    for $n ( 0 .. length($input) - 1) {
+        for $i ( 1 .. @{$input}[$n] ) {
+            $output[$c] = $v;
+            $c++;
+        }
+        $v = ( $v == 1) ? -1 : 1;
+    }
+
+    return(@output);
+}
+
+
+#
+# Vul de stack met een random arrays
+sub init {
+    our $length = shift;
+    our @stack;
+    our $best_mfactor;
+
+    my ($n,$y);
+
+    @stack = ();
+    $best_mfactor = 0;
+
+    foreach $n ( 1 .. 75 ) {
+        $y = randarray();
+        push(@stack,$y);
+    }
+
+}
+
+sub reinit {
+    our $refill;
+    our $winnercompare;
+    our $length;
+    our @winners;
+    our %taken;
+    our @stack;
+    our $best_vector;
+    our $best_mfactor;
+    
+    my $maxwinners = 5;
+
+    my ($result_l,$result_r);
+    my ($i,$j);
+    my ($n,$y);
+    my ($r);
+
+    %taken = ();
+    @stack = ();
+
+    $refill++;
+    #push best array on good place
+    $i = merit($best_vector);
+    print printer("Round best vector",$i,$best_vector);
+    my $ws = $#winners - 1;
+    my $done = 0;
+    foreach $n ( 0 .. $ws )  {
+        $j = merit($winners[$n]);
+        if ( $i > $j ) {
+            foreach $r ($ws .. ($n + 1)) {
+                $winners[$r] = $winners[$r-1];
+            }
+            $winners[$n] = $best_vector;
+            $done = 1;
+            last;
+        }
+    }
+    if ( ($done == 0) && ($ws < $maxwinners) ) {
+        push(@winners,$best_vector);
+    }
+    print printer("Current best vector",merit($winners[0]),$winners[0]);
+
+    if ( $refill == $winnercompare ) {
+        push(@stack,@winners);
+        $refill = 0;
+        $r = scalar(@stack) - 1;
+        foreach $i ( 0 .. ($r - 1)) {
+            foreach $j ( ($i) .. $r ) {
+                ($result_l,$result_r) = combine($stack[$i],$stack[$j]);
+                push(@stack,$result_l);
+                push(@stack,$result_r);
+            }
+        }
+        $best_mfactor = merit($winners[0]);
+    }
+    else {
+        foreach $n ( 1 .. 75 ) {
+            $y = randarray();
+            push(@stack,$y);
+        }
+        $best_mfactor = 0;
+    }
+}
+
+sub main {
+    our $working_mfactor;
+    our $round_number;
+    our $maxstack;
+    our $maxrounds;
+
+    my $rounds = 0;
+    my $number = 0;
+    my $improvement = 0;
+    my $result;
+    my $stacksize;
+    my ($i,$j,$r,$y);
+
+    while ( 'true' )
+    {
+        $total++;
+    
+        $number = ($improvement) ? 0 : $number + 1;
+        print "Number: $number\n" if $debug;
+    
+        $working_mfactor = merit(@stack[$number]);
+        if ( $debug > 1 ) {
+            message(1,
+            printer("Working vector",$working_mfactor,@stack[$number]));
+        }
+
+        message(1,"\n" . $number . " of " . $stacksize );
+        $improvement = 0;
+
+        $result = try_merit(@stack[$number]);
+        if ($result > 0 ) {
+            message(1,
+            printer("better array", $best_mfactor,@stack[$number]));
+            $improvement = 1;
+        }
+
+        my @rev = reverse(@{$stack[$number]});
+        $result = crossover($stack[$number],\@rev);
+        if ($result > 0 ) {
+            message(1,
+            printer("better combine", $best_mfactor,@stack[$number]));
+            $improvement = 1;
+        }
+    
+        $result = mutations(@{$stack[$number]});
+        if ($result > 0 ) {
+            message(1,
+            printer("better mutation", $best_mfactor,@stack[$number]));
+            $improvement = 1;
+        }
+
+# Experimental 'crossover make'
+        $result = crossovers(@{$stack[$number]});
+        if ($result > 0 ) {
+            message(1,
+            printer("better crossovers", $best_mfactor,@stack[$number]));
+            $improvement = 1;
+        }
+
+# Not very usefull, not value added
+#        $result = randmutate($length, $length / 3,@{$stack[0]});
+#        if ($result > 0 ) {
+#            printer("better randmutate", $best_mfactor,@stack[0]);
+#            next;
+#        }
+    
+        if ( $improvement ) {
+            print "Stack size: " . scalar(@stack) . "\n";
+            print "best max mfactor " . $best_mfactor . "\n";
+            print "total done " . $total . "\n";
+            print "round " . $rounds;
+            print "\n---\n";
+        }
+    
+        if ( ($total % $round_size) == 0 ) {
+            print "===============================\n";
+            print "=== Completed Round $rounds ===\n";
+            print "===============================\n";
+            $rounds++;
+            reinit();
+            if ( $rounds == $maxrounds ) {
+                last;
+            }
+            $r = <> if $debug > 3;
+            $improvement = 1;
+            print "===============================\n";
+            print "=== New       Round $rounds ===\n";
+            print "===============================\n";
+            next;
+        }
+    
+        $stacksize = scalar(@stack);
+        if ( $stacksize > $maxstack ) {
+            while ( scalar(@stack) >= 5 ) {
+                pop(@stack);
+            }
+        }
+        message(1,"$number of " . scalar(@stack) . "\n");;
+        $stacksize = scalar(@stack);
+        if ( (($number +2) > $stacksize) ) {
+            message(1,"Start EVOLVING");
+            $number = 0;
+            while ( scalar(@stack) > 5 ) {
+                pop(@stack);
+            }
+    
+            foreach ( 5 .. 9 ) {
+                $y = randarray();
+                push(@stack,$y);
+            }
+    
+            foreach $i ( 0 .. 4) {
+                foreach $j ( 5 .. 9 ) {
+                    my ($result_l,$result_r) = combine($stack[$i],$stack[$j]);
+                    push(@stack,$result_l);
+                    push(@stack,$result_r);
+                }
+            }
+            message(1,"Done EVOLVING");
+        }
+
+        #pause during debugging
+        $r = <> if $debug > 4;
+    }
+}
+
+$debug = 0;
+$round_size = 100;
+$maxstack = 150;
+$maxrounds = 20;
+$winnercompare = 5;
+init($ARGV[0]);
+main();
+
+print "\n\n\n";
+
+print "===============================\n";
+print "=== Results                 ===\n";
+print "===============================\n";
+
+$best_vector = $winners[0];
+$best_mfactor = merit($best_vector);
+print printer("Final", $best_mfactor,$best_vector);
+print "Total parents : $total\n";
+print "Total rounds  : $maxrounds\n";
+print "Round parents : $round_size\n";
+print "Winner compare: $winnercompare\n";
+print "Max stack     : $winnercompare\n";
+print "Vector size   : $length\n";
Index: /liacs/ccs/op4/merit.py
===================================================================
--- /liacs/ccs/op4/merit.py	(revision 2)
+++ /liacs/ccs/op4/merit.py	(revision 2)
@@ -0,0 +1,20 @@
+#!/usr/bin/env perl
+from decimal import *
+
+# yi = 2xi - 1
+def merit(y):
+    n = len(y)
+    
+    
+    e = Decimal(0)
+    for k in range(1,n):
+        t = 0
+        for i in range(0,n-k):
+            t += y[i] * y[i+k]
+        e += t ** 2
+    f = (n ** 2) / ( 2 * e)
+    return(f)
+
+y = [1,-1,1,-1]
+print merit(y)
+
Index: /liacs/ccs/op4/report.tex
===================================================================
--- /liacs/ccs/op4/report.tex	(revision 2)
+++ /liacs/ccs/op4/report.tex	(revision 2)
@@ -0,0 +1,208 @@
+\documentclass[a4paper,12pt]{article}
+\usepackage{hyperref}
+\usepackage{a4wide}
+%\usepackage{indentfirst}
+\usepackage[english]{babel}
+\usepackage{graphics}
+%\usepackage[pdftex]{graphicx}
+\usepackage{latexsym}
+\usepackage{fancyhdr}
+\usepackage{fancyvrb}
+
+\pagestyle{fancyplain}
+\newcommand{\tstamp}{\today}
+\newcommand{\id}{$ $Id: report.tex 195 2007-05-30 01:04:25Z rick $ $}
+\lfoot[\fancyplain{\tstamp}{\tstamp}]   {\fancyplain{\tstamp}{\tstamp}}
+\cfoot[\fancyplain{\id}{\id}]           {\fancyplain{\id}{\id}}
+\rfoot[\fancyplain{\thepage}{\thepage}] {\fancyplain{\thepage}{\thepage}}
+
+
+\title{ Challenges in Computer Science \\
+\large{Assignment 4 - genetic search algorithm}}
+\author{Rick van der Zwet\\
+  \texttt{<hvdzwet@liacs.nl>}\\
+  \\
+  LIACS\\
+  Leiden Universiteit\\
+  Niels Bohrweg 1\\
+  2333 CA Leiden\\
+  The Netherlands}
+\date{\today}
+\begin{document}
+\maketitle
+\section{Introduction}
+The assignment given out during the seminar of Natural Computing
+Group of LIACS\footnote{http://natcomp.liacs.nl/}  will have the
+following context:
+\begin{quote}
+You are required to implement an Evolutionary Algorithm for tacking the
+low-autocorrelation problem. Given your implementation, run your
+algorithm on strings of the lengths given the table, and report your
+results. A MATLAB code for the objective function is given to you in the
+following location:
+\texttt{http://www.liacs.nl/home/oshir/code/merit.m} (Backup at
+Appendix~\ref{file:merit.m})
+Its documentation:
+\texttt{http://www.liacs.nl/home/oshir/code/autocorr.pdf}
+\end{quote}
+
+\section{Problem}
+The given problem, the so-called \textsl{low-autocorrelation problem of
+binary sequences} is subject to actual research and is of big interest
+for industrial applications, e.g. communications and electrical
+engineering. Its description follows.\\
+\textbf{Feasible Solutions:} Binary Sequences
+$\overrightarrow{y} \in \{-1,+1\}^n$ \\
+\textbf{Objective Function:}
+\begin{equation}
+\displaystyle 
+f(\overrightarrow{y}) =
+      \frac{n^2}{2 \cdot E\overrightarrow{y}} \longrightarrow maximization
+\end{equation}
+s.t.
+\begin{equation}
+\displaystyle 
+E(\overrightarrow{y}) = \sum_{k=1}^{n-1}
+\left(
+      \sum_{i=1}^{n-k} y_i \cdot y_{i+k}
+\right) ^2
+\end{equation}
+
+Find a way using genetic algorithm to get the optional solutions
+
+\section{Theory}
+A genetic algorithm will use 'evolution' to get the best possible
+results. It will normally be executed in the following order
+
+\begin{enumerate}
+\item Generate N number of random parents
+\item Determine best parents
+\item start generating offspring \label{again}
+\item Determine best offspring
+\item Combine the best parents and offspring to number of N new parents
+\item Check if end condition is matched else go-to \ref{again} again
+\end{enumerate}
+
+There are a few well known mutations to generate new nodes
+\begin{itemize}
+\item Crossover: Combine 2 parts of 2 nodes to a new node. Example (using crossover point 3):
+\begin{verbatim}
+    A = 0 1 0 | 1 1 0
+    B = 1 1 1 | 0 0 0
+    A' = 0 1 0  0 0 0
+    B' = 1 1 1  1 1 0
+\end{verbatim}
+\item Mutation: Change a few values in a node. Example using mutation
+point 3.
+\begin{verbatim}
+    A = 0 1 0 1 1 0
+    A' = 0 1 1 1 1 0
+\end{verbatim}
+\end{itemize}
+
+\subsection{Algorithm}
+I have introduced one new mutation way, cross-flip. It will flip all
+values starting from a certain point. Example, using point 3
+\begin{verbatim}
+    A = 0 1 0 1 1 0
+    A' = 0 1 1 0 0 1
+\end{verbatim}
+
+This will be my algorithm
+\begin{verbatim}
+01: Generate N random nodes on stack @A
+02: for n in 0 to size A
+03:     exit loop if run for $round_size times
+04:     check mutation(n) children are better and unshift to stack @A
+05:     check cross-flip(n) children are better and unshift to stack @A
+06:     check crossover(n) children are better and unshift to stack @A
+07:     if n on end of the stack then remove all but A[0:5], add 5 random
+08:        strings and do crossover on all variants.
+09:     if improvement then set n to beginning
+10: add best result (@A[0]) to the @W array but keep the array sorted and
+    not longer then 10
+11: check if we have been here $maxround times, exit and give result
+12: check if we have been here such that ($times % $winnercompare) == 0
+       start generating special results  by combining the best results of @W
+       into @A and go-to 02;
+13: start putting 75 random strings into @A and go-to 02:
+\end{verbatim}
+
+\section{Implementation}
+I wrote my implementation in Perl code, with a stack
+implementation and used as much references as possible.
+
+\section{Experiments}
+I ran all tests 5 times and will display the best merit factor and
+corresponding string. Vectors are written in run-length notation: each
+figure indicates the number of consecutive elements with the same 
+sign. 
+
+\begin{table}[h]
+\caption{Experiment results}
+\begin{tabular}{l || l | l}
+Size & m-factor & vector \\
+\hline
+  3 &  4.5 & 2,1\\
+  4 &  4.0 & 1,3\\
+  5 &  6.5 & 3,1,1\\
+ 10 & 10.0 & 3,3,1,2,1,1\\
+ 15 &  7.5 & 3,3,1,3,1,2,1,1\\
+ 20 &  7.7 & 5,1,1,3,1,1,2,3,2,1\\
+ 30 &  6.7 & 4,2,5,1,2,3,1,2,1,1,1,1,3,1,1,1\\
+ 50 &  5.0 & 1,1,1,1,1,1,1,2,2,3,4,1,7,2,2,2,1,2,1,1,5,4,1,1,2\\
+ 75 &  4.7 & 1,1,4,5,2,1,1,2,4,4,1,3,3,2,1,1,1,1,1,2,2,3,1,4,2,2,1,3,1,1,2,1,4,1,3,1,2\\
+\end{tabular}
+\end{table}
+
+\section{Conclusion}
+The algorithm works pretty well on the small size numbers. The big
+numbers (n > 20) are not scoring good, cause the script/program is
+causing time problems.
+
+Writing the implementation in Perl is too slow. It's not generation
+the bigger rates at a decent speed\footnotemark, cause the Perl code is not optional
+yet. When looking at the profiler output (Appendix~\ref{text:profiler}), the merit
+function could be optimised to get a higher throughput.
+
+\footnotetext{one round of n = 100 takes at a dual
+core Pentium 4 3Ghz and 2GB RAM about 2 minutes}
+%\begin{thebibliography}{XX}
+%
+%\end{thebibliography}
+
+\section{Appendix}
+
+\subsection{merit.m}
+\label{file:merit.m}
+\VerbatimInput{merit.m}
+%\newpage
+\subsection{merit.pl}
+\label{file:merit.pl}
+\VerbatimInput{merit.pl}
+%\newpage
+\subsection{profiler output}
+\label{text:profiler}
+\begin{verbatim}
+Total Elapsed Time = 33.07120 Seconds
+  User+System Time = 32.94120 Seconds
+Exclusive Times
+%Time ExclSec CumulS #Calls sec/call Csec/c  Name
+ 85.9   28.31 28.312  99474   0.0003 0.0003  main::merit
+ 6.00   1.975  1.975 990000   0.0000 0.0000  main::flip
+ 5.22   1.718 17.022   2000   0.0009 0.0085  main::crossovers
+ 3.26   1.073 15.030   2000   0.0005 0.0075  main::mutations
+ 2.84   0.935 28.587 126000   0.0000 0.0002  main::try_merit
+ 0.50   0.166  0.163   2529   0.0001 0.0001  main::combine
+ 0.25   0.083  0.164     20   0.0042 0.0082  main::reinit
+ 0.22   0.074 34.493      1   0.0736 34.492  main::main
+ 0.16   0.054  1.075   2000   0.0000 0.0005  main::crossover
+ 0.15   0.048  0.042   1365   0.0000 0.0000  main::randarray
+ 0.08   0.027  0.027  18532   0.0000 0.0000  main::message
+ 0.06   0.019  0.019    134   0.0001 0.0001  main::array2string
+ 0.03   0.009  0.028    134   0.0001 0.0002  main::printer
+ 0.00       - -0.000      1        -      -  strict::bits
+ 0.00       - -0.000      1        -      -  strict::import
+\end{verbatim}
+
+\end{document}
Index: /liacs/coco/assignment1/LICENCE.txt
===================================================================
--- /liacs/coco/assignment1/LICENCE.txt	(revision 2)
+++ /liacs/coco/assignment1/LICENCE.txt	(revision 2)
@@ -0,0 +1,27 @@
+Copyright (c) 2008, Johan Ijsveld, Rick van der Zwet
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice,
+  this list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+
+ * Neither the name of the Liacs University nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Index: /liacs/coco/assignment1/Makefile
===================================================================
--- /liacs/coco/assignment1/Makefile	(revision 2)
+++ /liacs/coco/assignment1/Makefile	(revision 2)
@@ -0,0 +1,50 @@
+CC		= gcc
+LEX		= flex
+YACC		= bison --yacc
+SHELL		= /bin/sh
+
+WARNINGS	= -Wall -ansi
+OTHERS		= -g 
+DEFINES		= -DDEBUG
+
+CFLAGS		= $(WARNINGS) $(OTHERS) $(DEFINES)
+LFLAGS		= 
+YFLAGS		= --defines --debug --verbose
+LDFLAGS		= -g
+LOADLIBS	= -lfl -lm
+
+IMPORTANT	= calc.[hly] \
+		  Makefile
+
+all: calc
+
+# To be executed before the very first build
+first: dirs
+
+# Dependency stuff
+calc: gen/y.tab.o gen/lex.yy.o
+	$(CC) $(LDFLAGS) -o $@ $^ $(LOADLIBS)
+
+gen/y.tab.h gen/y.tab.c: calc.y 
+	$(YACC) $(YFLAGS) $< -o gen/y.tab.c
+
+gen/lex.yy.c: calc.l 
+	$(LEX) $(LFLAGS) -o$@ $<
+
+clean:	
+	rm -f gen/{lex.yy.c,y.tab.*,y.output,*.o} calc \
+	    `find . -name core -o -name \*\.bak`
+
+backup:
+	tar cfz ../CoCo-`date +'%y%m%d-%H%M'`.tar.gz $(IMPORTANT)
+
+dirs:
+	mkdir gen
+
+# Show dependencies between .c files
+showdeps:
+	$(CC) -MM *.c
+
+# Dependency stuff
+gen/lex.yy.o: gen/lex.yy.c gen/y.tab.h
+gen/y.tab.o: gen/y.tab.c
Index: /liacs/coco/assignment1/TODO.txt
===================================================================
--- /liacs/coco/assignment1/TODO.txt	(revision 2)
+++ /liacs/coco/assignment1/TODO.txt	(revision 2)
@@ -0,0 +1,13 @@
+Rick:
+[DONE] Substraction x - y
+[DONE] Multiplication x * y
+[DONE] Division x / y 
+[DONE] Support for parentheses
+
+Johan:
+[DONE] Modulo x % y 
+[DONE] Exponentiation x ** y 
+[DONE] Factorial x! 
+[DONE] Extend the calc.l file such that the sequence âPIâ
+[DONE] Absolute value of an expression
+
Index: /liacs/coco/assignment1/calc.l
===================================================================
--- /liacs/coco/assignment1/calc.l	(revision 2)
+++ /liacs/coco/assignment1/calc.l	(revision 2)
@@ -0,0 +1,50 @@
+/* C declarations */
+/* vi: set et ts=4: */
+%{
+ 
+#include <stdio.h>
+#include "y.tab.h"
+
+/* extern C declarations */
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+/* should be defined in stdio.h */
+extern int fileno(FILE *);
+
+#if defined(__cplusplus)
+}
+#endif
+
+
+int c;
+extern int yylval;
+
+%}
+
+%option nounput
+
+
+/* Patterns */
+%%
+
+" "       ;
+"PI"      { return PI; }
+"("       { return OPEN_PAREN; }
+")"       { return CLOSE_PAREN; }
+"**"      { return EXPONENT; }
+[0-9]     {
+            c = yytext[0];
+            yylval = c - '0';
+            return DIGIT;
+          }
+
+
+[^0-9\b]  {
+            c = yytext[0];
+            return c;
+          }
+
+%%
+
Index: /liacs/coco/assignment1/calc.y
===================================================================
--- /liacs/coco/assignment1/calc.y	(revision 2)
+++ /liacs/coco/assignment1/calc.y	(revision 2)
@@ -0,0 +1,187 @@
+/* C declarations */
+/* vi: set et ts=4: */
+
+%{
+
+#include <stdio.h>
+#include <math.h>
+
+int base = 10;
+
+/* Prototypes */
+static void yyerror(const char *);
+static int fac(int x);
+
+/* import from spascal.l */
+extern int lineno;
+extern int yylex(void);
+
+%}
+
+
+/* Start symbol */
+%start line
+
+/* Tokens */
+%token DIGIT
+%token PI
+%token OPEN_PAREN CLOSE_PAREN
+%token '|'
+
+/* Tokens with precedence assigned */
+/* The sooner the operator is defined, the lower its precedence */
+%left '-' '+'
+%left '*' '/' '%'
+%left UMINUS
+%left '!'
+%right EXPONENT
+
+
+
+/* Rules */
+%%
+
+line:
+         |
+         
+         line stmt '\n'
+         
+         |
+         
+         line error '\n'
+         {
+           yyerrok;
+         }
+         ;
+
+
+stmt:   
+        expr
+        {
+          printf("%d\n",$1);
+        }
+        ;
+
+
+expr:   
+         OPEN_PAREN expr CLOSE_PAREN
+         {
+            $$ = $2;
+         }
+	 
+	 |
+	 
+	 '|' expr '|'
+	 {
+	    $$ = (int)fabs((double)$2);
+	 }
+	 
+         |
+
+         expr '*' expr
+         {
+           $$ = $1 * $3;
+         }
+
+         |
+         
+         expr '/' expr
+         {
+           $$ = $1 / $3;
+         }
+
+         |
+         
+         expr '%' expr
+         {
+           $$ = $1 % $3;
+         }
+
+         |
+         
+         expr '-' expr
+         {
+           $$ = $1 - $3;
+         }
+         
+         |
+         
+         expr '+' expr
+         {
+           $$ = $1 + $3;
+         }
+         
+         |
+         
+	 expr '!'
+	 {
+	    if ($1 < 0) {
+	       fprintf(stderr, "Negative values for faculty are undefined.\n");
+	       YYERROR;
+	    }
+	    $$ = fac($1);
+	 }
+         
+	 |
+	 
+	 expr EXPONENT expr
+	 {
+	    $$ = (int)pow((double)$1, (double)$3);
+	 }
+	 
+         |
+	 
+         '-' expr %prec UMINUS
+         {
+           $$ = -$2;
+         }
+         
+         |
+         
+         number
+         ;
+
+
+number:  
+         PI
+         {
+           $$ = 3;
+         }
+         
+         |
+         
+         DIGIT
+         {
+           $$ = $1;
+         }
+         
+         |
+         
+         number DIGIT
+         {
+           $$ = base * $1 + $2;
+         }
+         ;
+%%
+/* End of rules, more C code will follow now */
+
+
+int main()
+{
+  return yyparse();
+}
+
+static void yyerror(const char *s)
+{
+  fprintf(stderr, "%s\n",s);
+}
+
+int yywrap()
+{
+  return(1);
+}
+
+int fac(int x)
+{
+  return (x > 1) ? x*fac(x-1) : 1;
+}
Index: /liacs/coco/assignment1/gen/lex.yy.c
===================================================================
--- /liacs/coco/assignment1/gen/lex.yy.c	(revision 2)
+++ /liacs/coco/assignment1/gen/lex.yy.c	(revision 2)
@@ -0,0 +1,1722 @@
+#line 2 "gen/lex.yy.c"
+
+#line 4 "gen/lex.yy.c"
+
+#define  YY_INT_ALIGNED short int
+
+/* A lexical scanner generated by flex */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+#define YY_FLEX_SUBMINOR_VERSION 33
+#if YY_FLEX_SUBMINOR_VERSION > 0
+#define FLEX_BETA
+#endif
+
+/* First, we deal with  platform-specific or compiler-specific issues. */
+
+/* begin standard C headers. */
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+
+/* end standard C headers. */
+
+/* flex integer type definitions */
+
+#ifndef FLEXINT_H
+#define FLEXINT_H
+
+/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
+
+#if __STDC_VERSION__ >= 199901L
+
+/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
+ * if you want the limit (max/min) macros for int types. 
+ */
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+
+#include <inttypes.h>
+typedef int8_t flex_int8_t;
+typedef uint8_t flex_uint8_t;
+typedef int16_t flex_int16_t;
+typedef uint16_t flex_uint16_t;
+typedef int32_t flex_int32_t;
+typedef uint32_t flex_uint32_t;
+#else
+typedef signed char flex_int8_t;
+typedef short int flex_int16_t;
+typedef int flex_int32_t;
+typedef unsigned char flex_uint8_t; 
+typedef unsigned short int flex_uint16_t;
+typedef unsigned int flex_uint32_t;
+#endif /* ! C99 */
+
+/* Limits of integral types. */
+#ifndef INT8_MIN
+#define INT8_MIN               (-128)
+#endif
+#ifndef INT16_MIN
+#define INT16_MIN              (-32767-1)
+#endif
+#ifndef INT32_MIN
+#define INT32_MIN              (-2147483647-1)
+#endif
+#ifndef INT8_MAX
+#define INT8_MAX               (127)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX              (32767)
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX              (2147483647)
+#endif
+#ifndef UINT8_MAX
+#define UINT8_MAX              (255U)
+#endif
+#ifndef UINT16_MAX
+#define UINT16_MAX             (65535U)
+#endif
+#ifndef UINT32_MAX
+#define UINT32_MAX             (4294967295U)
+#endif
+
+#endif /* ! FLEXINT_H */
+
+#ifdef __cplusplus
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else	/* ! __cplusplus */
+
+#if __STDC__
+
+#define YY_USE_CONST
+
+#endif	/* __STDC__ */
+#endif	/* ! __cplusplus */
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index.  If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition.  This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN (yy_start) = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state.  The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START (((yy_start) - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE yyrestart(yyin  )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#ifndef YY_BUF_SIZE
+#define YY_BUF_SIZE 16384
+#endif
+
+/* The state buf must be large enough to hold one state per character in the main buffer.
+ */
+#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
+
+#ifndef YY_TYPEDEF_YY_BUFFER_STATE
+#define YY_TYPEDEF_YY_BUFFER_STATE
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+#endif
+
+extern int yyleng;
+
+extern FILE *yyin, *yyout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+    #define YY_LESS_LINENO(n)
+    
+/* Return all but the first "n" matched characters back to the input stream. */
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up yytext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		*yy_cp = (yy_hold_char); \
+		YY_RESTORE_YY_MORE_OFFSET \
+		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
+		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+		} \
+	while ( 0 )
+
+#define unput(c) yyunput( c, (yytext_ptr)  )
+
+/* The following is because we cannot portably get our hands on size_t
+ * (without autoconf's help, which isn't available because we want
+ * flex-generated scanners to compile on their own).
+ */
+
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef unsigned int yy_size_t;
+#endif
+
+#ifndef YY_STRUCT_YY_BUFFER_STATE
+#define YY_STRUCT_YY_BUFFER_STATE
+struct yy_buffer_state
+	{
+	FILE *yy_input_file;
+
+	char *yy_ch_buf;		/* input buffer */
+	char *yy_buf_pos;		/* current position in input buffer */
+
+	/* Size of input buffer in bytes, not including room for EOB
+	 * characters.
+	 */
+	yy_size_t yy_buf_size;
+
+	/* Number of characters read into yy_ch_buf, not including EOB
+	 * characters.
+	 */
+	int yy_n_chars;
+
+	/* Whether we "own" the buffer - i.e., we know we created it,
+	 * and can realloc() it to grow it, and should free() it to
+	 * delete it.
+	 */
+	int yy_is_our_buffer;
+
+	/* Whether this is an "interactive" input source; if so, and
+	 * if we're using stdio for input, then we want to use getc()
+	 * instead of fread(), to make sure we stop fetching input after
+	 * each newline.
+	 */
+	int yy_is_interactive;
+
+	/* Whether we're considered to be at the beginning of a line.
+	 * If so, '^' rules will be active on the next match, otherwise
+	 * not.
+	 */
+	int yy_at_bol;
+
+    int yy_bs_lineno; /**< The line count. */
+    int yy_bs_column; /**< The column count. */
+    
+	/* Whether to try to fill the input buffer when we reach the
+	 * end of it.
+	 */
+	int yy_fill_buffer;
+
+	int yy_buffer_status;
+
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+	/* When an EOF's been seen but there's still some text to process
+	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+	 * shouldn't try reading from the input source any more.  We might
+	 * still have a bunch of tokens to match, though, because of
+	 * possible backing-up.
+	 *
+	 * When we actually see the EOF, we change the status to "new"
+	 * (via yyrestart()), so that the user can continue scanning by
+	 * just pointing yyin at a new input file.
+	 */
+#define YY_BUFFER_EOF_PENDING 2
+
+	};
+#endif /* !YY_STRUCT_YY_BUFFER_STATE */
+
+/* Stack of input buffers. */
+static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
+static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
+static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ *
+ * Returns the top of the stack, or NULL.
+ */
+#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+                          : NULL)
+
+/* Same as previous macro, but useful when we know that the buffer stack is not
+ * NULL or when we need an lvalue. For internal use only.
+ */
+#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
+
+/* yy_hold_char holds the character lost when yytext is formed. */
+static char yy_hold_char;
+static int yy_n_chars;		/* number of characters read into yy_ch_buf */
+int yyleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 0;		/* whether we need to initialize */
+static int yy_start = 0;	/* start state number */
+
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin.  A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void yyrestart (FILE *input_file  );
+void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
+YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
+void yy_delete_buffer (YY_BUFFER_STATE b  );
+void yy_flush_buffer (YY_BUFFER_STATE b  );
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
+void yypop_buffer_state (void );
+
+static void yyensure_buffer_stack (void );
+static void yy_load_buffer_state (void );
+static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
+
+#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
+
+YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
+YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
+YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len  );
+
+void *yyalloc (yy_size_t  );
+void *yyrealloc (void *,yy_size_t  );
+void yyfree (void *  );
+
+#define yy_new_buffer yy_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){ \
+        yyensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            yy_create_buffer(yyin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+	}
+
+#define yy_set_bol(at_bol) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){\
+        yyensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            yy_create_buffer(yyin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+	}
+
+#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
+
+/* Begin user sect3 */
+
+typedef unsigned char YY_CHAR;
+
+FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+
+typedef int yy_state_type;
+
+extern int yylineno;
+
+int yylineno = 1;
+
+extern char *yytext;
+#define yytext_ptr yytext
+
+static yy_state_type yy_get_previous_state (void );
+static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
+static int yy_get_next_buffer (void );
+static void yy_fatal_error (yyconst char msg[]  );
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+#define YY_DO_BEFORE_ACTION \
+	(yytext_ptr) = yy_bp; \
+	yyleng = (size_t) (yy_cp - yy_bp); \
+	(yy_hold_char) = *yy_cp; \
+	*yy_cp = '\0'; \
+	(yy_c_buf_p) = yy_cp;
+
+#define YY_NUM_RULES 8
+#define YY_END_OF_BUFFER 9
+/* This struct is not used in this scanner,
+   but its presence is necessary. */
+struct yy_trans_info
+	{
+	flex_int32_t yy_verify;
+	flex_int32_t yy_nxt;
+	};
+static yyconst flex_int16_t yy_accept[15] =
+    {   0,
+        0,    0,    9,    7,    8,    1,    3,    4,    7,    6,
+        7,    5,    2,    0
+    } ;
+
+static yyconst flex_int32_t yy_ec[256] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    2,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    3,    1,    1,    1,    1,    1,    1,    1,    4,
+        5,    6,    1,    1,    1,    1,    1,    7,    7,    7,
+        7,    7,    7,    7,    7,    7,    7,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    8,    1,    1,    1,    1,    1,    1,    9,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1
+    } ;
+
+static yyconst flex_int32_t yy_meta[10] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    1
+    } ;
+
+static yyconst flex_int16_t yy_base[15] =
+    {   0,
+        0,    0,   12,   13,   13,   13,   13,   13,    5,   13,
+        2,   13,   13,   13
+    } ;
+
+static yyconst flex_int16_t yy_def[15] =
+    {   0,
+       14,    1,   14,   14,   14,   14,   14,   14,   14,   14,
+       14,   14,   14,    0
+    } ;
+
+static yyconst flex_int16_t yy_nxt[23] =
+    {   0,
+        4,    5,    6,    7,    8,    9,   10,    4,   11,   13,
+       12,   14,    3,   14,   14,   14,   14,   14,   14,   14,
+       14,   14
+    } ;
+
+static yyconst flex_int16_t yy_chk[23] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,   11,
+        9,    3,   14,   14,   14,   14,   14,   14,   14,   14,
+       14,   14
+    } ;
+
+static yy_state_type yy_last_accepting_state;
+static char *yy_last_accepting_cpos;
+
+extern int yy_flex_debug;
+int yy_flex_debug = 0;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *yytext;
+#line 1 "calc.l"
+/* C declarations */
+/* vi: set et ts=4: */
+#line 4 "calc.l"
+ 
+#include <stdio.h>
+#include "y.tab.h"
+
+/* extern C declarations */
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+/* should be defined in stdio.h */
+extern int fileno(FILE *);
+
+#if defined(__cplusplus)
+}
+#endif
+
+
+int c;
+extern int yylval;
+
+/* Patterns */
+#line 485 "gen/lex.yy.c"
+
+#define INITIAL 0
+
+#ifndef YY_NO_UNISTD_H
+/* Special case for "unistd.h", since it is non-ANSI. We include it way
+ * down here because we want the user's section 1 to have been scanned first.
+ * The user has a chance to override it with an option.
+ */
+#include <unistd.h>
+#endif
+
+#ifndef YY_EXTRA_TYPE
+#define YY_EXTRA_TYPE void *
+#endif
+
+static int yy_init_globals (void );
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap (void );
+#else
+extern int yywrap (void );
+#endif
+#endif
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char *,yyconst char *,int );
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * );
+#endif
+
+#ifndef YY_NO_INPUT
+
+#ifdef __cplusplus
+static int yyinput (void );
+#else
+static int input (void );
+#endif
+
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#endif
+
+/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
+		{ \
+		int c = '*'; \
+		size_t n; \
+		for ( n = 0; n < max_size && \
+			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+			buf[n] = (char) c; \
+		if ( c == '\n' ) \
+			buf[n++] = (char) c; \
+		if ( c == EOF && ferror( yyin ) ) \
+			YY_FATAL_ERROR( "input in flex scanner failed" ); \
+		result = n; \
+		} \
+	else \
+		{ \
+		errno=0; \
+		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
+			{ \
+			if( errno != EINTR) \
+				{ \
+				YY_FATAL_ERROR( "input in flex scanner failed" ); \
+				break; \
+				} \
+			errno=0; \
+			clearerr(yyin); \
+			} \
+		}\
+\
+
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* end tables serialization structures and prototypes */
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL_IS_OURS 1
+
+extern int yylex (void);
+
+#define YY_DECL int yylex (void)
+#endif /* !YY_DECL */
+
+/* Code executed at the beginning of each rule, after yytext and yyleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+	YY_USER_ACTION
+
+/** The main scanner function which does all the work.
+ */
+YY_DECL
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp, *yy_bp;
+	register int yy_act;
+    
+#line 30 "calc.l"
+
+
+#line 639 "gen/lex.yy.c"
+
+	if ( !(yy_init) )
+		{
+		(yy_init) = 1;
+
+#ifdef YY_USER_INIT
+		YY_USER_INIT;
+#endif
+
+		if ( ! (yy_start) )
+			(yy_start) = 1;	/* first start state */
+
+		if ( ! yyin )
+			yyin = stdin;
+
+		if ( ! yyout )
+			yyout = stdout;
+
+		if ( ! YY_CURRENT_BUFFER ) {
+			yyensure_buffer_stack ();
+			YY_CURRENT_BUFFER_LVALUE =
+				yy_create_buffer(yyin,YY_BUF_SIZE );
+		}
+
+		yy_load_buffer_state( );
+		}
+
+	while ( 1 )		/* loops until end-of-file is reached */
+		{
+		yy_cp = (yy_c_buf_p);
+
+		/* Support of yytext. */
+		*yy_cp = (yy_hold_char);
+
+		/* yy_bp points to the position in yy_ch_buf of the start of
+		 * the current run.
+		 */
+		yy_bp = yy_cp;
+
+		yy_current_state = (yy_start);
+yy_match:
+		do
+			{
+			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+			if ( yy_accept[yy_current_state] )
+				{
+				(yy_last_accepting_state) = yy_current_state;
+				(yy_last_accepting_cpos) = yy_cp;
+				}
+			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+				{
+				yy_current_state = (int) yy_def[yy_current_state];
+				if ( yy_current_state >= 15 )
+					yy_c = yy_meta[(unsigned int) yy_c];
+				}
+			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+			++yy_cp;
+			}
+		while ( yy_base[yy_current_state] != 13 );
+
+yy_find_action:
+		yy_act = yy_accept[yy_current_state];
+		if ( yy_act == 0 )
+			{ /* have to back up */
+			yy_cp = (yy_last_accepting_cpos);
+			yy_current_state = (yy_last_accepting_state);
+			yy_act = yy_accept[yy_current_state];
+			}
+
+		YY_DO_BEFORE_ACTION;
+
+do_action:	/* This label is used only to access EOF actions. */
+
+		switch ( yy_act )
+	{ /* beginning of action switch */
+			case 0: /* must back up */
+			/* undo the effects of YY_DO_BEFORE_ACTION */
+			*yy_cp = (yy_hold_char);
+			yy_cp = (yy_last_accepting_cpos);
+			yy_current_state = (yy_last_accepting_state);
+			goto yy_find_action;
+
+case 1:
+YY_RULE_SETUP
+#line 32 "calc.l"
+;
+	YY_BREAK
+case 2:
+YY_RULE_SETUP
+#line 33 "calc.l"
+{ return PI; }
+	YY_BREAK
+case 3:
+YY_RULE_SETUP
+#line 34 "calc.l"
+{ return OPEN_PAREN; }
+	YY_BREAK
+case 4:
+YY_RULE_SETUP
+#line 35 "calc.l"
+{ return CLOSE_PAREN; }
+	YY_BREAK
+case 5:
+YY_RULE_SETUP
+#line 36 "calc.l"
+{ return EXPONENT; }
+	YY_BREAK
+case 6:
+YY_RULE_SETUP
+#line 37 "calc.l"
+{
+            c = yytext[0];
+            yylval = c - '0';
+            return DIGIT;
+          }
+	YY_BREAK
+case 7:
+/* rule 7 can match eol */
+YY_RULE_SETUP
+#line 44 "calc.l"
+{
+            c = yytext[0];
+            return c;
+          }
+	YY_BREAK
+case 8:
+YY_RULE_SETUP
+#line 49 "calc.l"
+ECHO;
+	YY_BREAK
+#line 770 "gen/lex.yy.c"
+case YY_STATE_EOF(INITIAL):
+	yyterminate();
+
+	case YY_END_OF_BUFFER:
+		{
+		/* Amount of text matched not including the EOB char. */
+		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
+
+		/* Undo the effects of YY_DO_BEFORE_ACTION. */
+		*yy_cp = (yy_hold_char);
+		YY_RESTORE_YY_MORE_OFFSET
+
+		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
+			{
+			/* We're scanning a new file or input source.  It's
+			 * possible that this happened because the user
+			 * just pointed yyin at a new source and called
+			 * yylex().  If so, then we have to assure
+			 * consistency between YY_CURRENT_BUFFER and our
+			 * globals.  Here is the right place to do so, because
+			 * this is the first action (other than possibly a
+			 * back-up) that will match for the new input source.
+			 */
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
+			}
+
+		/* Note that here we test for yy_c_buf_p "<=" to the position
+		 * of the first EOB in the buffer, since yy_c_buf_p will
+		 * already have been incremented past the NUL character
+		 * (since all states make transitions on EOB to the
+		 * end-of-buffer state).  Contrast this with the test
+		 * in input().
+		 */
+		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			{ /* This was really a NUL. */
+			yy_state_type yy_next_state;
+
+			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
+
+			yy_current_state = yy_get_previous_state(  );
+
+			/* Okay, we're now positioned to make the NUL
+			 * transition.  We couldn't have
+			 * yy_get_previous_state() go ahead and do it
+			 * for us because it doesn't know how to deal
+			 * with the possibility of jamming (and we don't
+			 * want to build jamming into it because then it
+			 * will run more slowly).
+			 */
+
+			yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+
+			if ( yy_next_state )
+				{
+				/* Consume the NUL. */
+				yy_cp = ++(yy_c_buf_p);
+				yy_current_state = yy_next_state;
+				goto yy_match;
+				}
+
+			else
+				{
+				yy_cp = (yy_c_buf_p);
+				goto yy_find_action;
+				}
+			}
+
+		else switch ( yy_get_next_buffer(  ) )
+			{
+			case EOB_ACT_END_OF_FILE:
+				{
+				(yy_did_buffer_switch_on_eof) = 0;
+
+				if ( yywrap( ) )
+					{
+					/* Note: because we've taken care in
+					 * yy_get_next_buffer() to have set up
+					 * yytext, we can now set up
+					 * yy_c_buf_p so that if some total
+					 * hoser (like flex itself) wants to
+					 * call the scanner after we return the
+					 * YY_NULL, it'll still work - another
+					 * YY_NULL will get returned.
+					 */
+					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
+
+					yy_act = YY_STATE_EOF(YY_START);
+					goto do_action;
+					}
+
+				else
+					{
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+					}
+				break;
+				}
+
+			case EOB_ACT_CONTINUE_SCAN:
+				(yy_c_buf_p) =
+					(yytext_ptr) + yy_amount_of_matched_text;
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_match;
+
+			case EOB_ACT_LAST_MATCH:
+				(yy_c_buf_p) =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_find_action;
+			}
+		break;
+		}
+
+	default:
+		YY_FATAL_ERROR(
+			"fatal flex scanner internal error--no action found" );
+	} /* end of action switch */
+		} /* end of scanning one token */
+} /* end of yylex */
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ *	EOB_ACT_LAST_MATCH -
+ *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ *	EOB_ACT_END_OF_FILE - end of file
+ */
+static int yy_get_next_buffer (void)
+{
+    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+	register char *source = (yytext_ptr);
+	register int number_to_move, i;
+	int ret_val;
+
+	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
+		YY_FATAL_ERROR(
+		"fatal flex scanner internal error--end of buffer missed" );
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
+		{ /* Don't try to fill the buffer, so this is an EOF. */
+		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
+			{
+			/* We matched a single character, the EOB, so
+			 * treat this as a final EOF.
+			 */
+			return EOB_ACT_END_OF_FILE;
+			}
+
+		else
+			{
+			/* We matched some text prior to the EOB, first
+			 * process it.
+			 */
+			return EOB_ACT_LAST_MATCH;
+			}
+		}
+
+	/* Try to read more data. */
+
+	/* First move last chars to start of buffer. */
+	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
+
+	for ( i = 0; i < number_to_move; ++i )
+		*(dest++) = *(source++);
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+		/* don't do the read, it's not guaranteed to return an EOF,
+		 * just force an EOF
+		 */
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
+
+	else
+		{
+			int num_to_read =
+			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+
+		while ( num_to_read <= 0 )
+			{ /* Not enough room in the buffer - grow it. */
+
+			/* just a shorter name for the current buffer */
+			YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
+
+			int yy_c_buf_p_offset =
+				(int) ((yy_c_buf_p) - b->yy_ch_buf);
+
+			if ( b->yy_is_our_buffer )
+				{
+				int new_size = b->yy_buf_size * 2;
+
+				if ( new_size <= 0 )
+					b->yy_buf_size += b->yy_buf_size / 8;
+				else
+					b->yy_buf_size *= 2;
+
+				b->yy_ch_buf = (char *)
+					/* Include room in for 2 EOB chars. */
+					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
+				}
+			else
+				/* Can't grow it, we don't own it. */
+				b->yy_ch_buf = 0;
+
+			if ( ! b->yy_ch_buf )
+				YY_FATAL_ERROR(
+				"fatal error - scanner input buffer overflow" );
+
+			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+						number_to_move - 1;
+
+			}
+
+		if ( num_to_read > YY_READ_BUF_SIZE )
+			num_to_read = YY_READ_BUF_SIZE;
+
+		/* Read in more data. */
+		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+			(yy_n_chars), num_to_read );
+
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	if ( (yy_n_chars) == 0 )
+		{
+		if ( number_to_move == YY_MORE_ADJ )
+			{
+			ret_val = EOB_ACT_END_OF_FILE;
+			yyrestart(yyin  );
+			}
+
+		else
+			{
+			ret_val = EOB_ACT_LAST_MATCH;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
+				YY_BUFFER_EOF_PENDING;
+			}
+		}
+
+	else
+		ret_val = EOB_ACT_CONTINUE_SCAN;
+
+	(yy_n_chars) += number_to_move;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
+
+	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
+
+	return ret_val;
+}
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+    static yy_state_type yy_get_previous_state (void)
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp;
+    
+	yy_current_state = (yy_start);
+
+	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
+		{
+		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+		if ( yy_accept[yy_current_state] )
+			{
+			(yy_last_accepting_state) = yy_current_state;
+			(yy_last_accepting_cpos) = yy_cp;
+			}
+		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+			{
+			yy_current_state = (int) yy_def[yy_current_state];
+			if ( yy_current_state >= 15 )
+				yy_c = yy_meta[(unsigned int) yy_c];
+			}
+		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+		}
+
+	return yy_current_state;
+}
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ *	next_state = yy_try_NUL_trans( current_state );
+ */
+    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
+{
+	register int yy_is_jam;
+    	register char *yy_cp = (yy_c_buf_p);
+
+	register YY_CHAR yy_c = 1;
+	if ( yy_accept[yy_current_state] )
+		{
+		(yy_last_accepting_state) = yy_current_state;
+		(yy_last_accepting_cpos) = yy_cp;
+		}
+	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+		{
+		yy_current_state = (int) yy_def[yy_current_state];
+		if ( yy_current_state >= 15 )
+			yy_c = yy_meta[(unsigned int) yy_c];
+		}
+	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+	yy_is_jam = (yy_current_state == 14);
+
+	return yy_is_jam ? 0 : yy_current_state;
+}
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+    static int yyinput (void)
+#else
+    static int input  (void)
+#endif
+
+{
+	int c;
+    
+	*(yy_c_buf_p) = (yy_hold_char);
+
+	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
+		{
+		/* yy_c_buf_p now points to the character we want to return.
+		 * If this occurs *before* the EOB characters, then it's a
+		 * valid NUL; if not, then we've hit the end of the buffer.
+		 */
+		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			/* This was really a NUL. */
+			*(yy_c_buf_p) = '\0';
+
+		else
+			{ /* need more input */
+			int offset = (yy_c_buf_p) - (yytext_ptr);
+			++(yy_c_buf_p);
+
+			switch ( yy_get_next_buffer(  ) )
+				{
+				case EOB_ACT_LAST_MATCH:
+					/* This happens because yy_g_n_b()
+					 * sees that we've accumulated a
+					 * token and flags that we need to
+					 * try matching the token before
+					 * proceeding.  But for input(),
+					 * there's no matching to consider.
+					 * So convert the EOB_ACT_LAST_MATCH
+					 * to EOB_ACT_END_OF_FILE.
+					 */
+
+					/* Reset buffer status. */
+					yyrestart(yyin );
+
+					/*FALLTHROUGH*/
+
+				case EOB_ACT_END_OF_FILE:
+					{
+					if ( yywrap( ) )
+						return 0;
+
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+#ifdef __cplusplus
+					return yyinput();
+#else
+					return input();
+#endif
+					}
+
+				case EOB_ACT_CONTINUE_SCAN:
+					(yy_c_buf_p) = (yytext_ptr) + offset;
+					break;
+				}
+			}
+		}
+
+	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
+	*(yy_c_buf_p) = '\0';	/* preserve yytext */
+	(yy_hold_char) = *++(yy_c_buf_p);
+
+	return c;
+}
+#endif	/* ifndef YY_NO_INPUT */
+
+/** Immediately switch to a different input stream.
+ * @param input_file A readable stream.
+ * 
+ * @note This function does not reset the start condition to @c INITIAL .
+ */
+    void yyrestart  (FILE * input_file )
+{
+    
+	if ( ! YY_CURRENT_BUFFER ){
+        yyensure_buffer_stack ();
+		YY_CURRENT_BUFFER_LVALUE =
+            yy_create_buffer(yyin,YY_BUF_SIZE );
+	}
+
+	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
+	yy_load_buffer_state( );
+}
+
+/** Switch to a different input buffer.
+ * @param new_buffer The new input buffer.
+ * 
+ */
+    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
+{
+    
+	/* TODO. We should be able to replace this entire function body
+	 * with
+	 *		yypop_buffer_state();
+	 *		yypush_buffer_state(new_buffer);
+     */
+	yyensure_buffer_stack ();
+	if ( YY_CURRENT_BUFFER == new_buffer )
+		return;
+
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+	yy_load_buffer_state( );
+
+	/* We don't actually know whether we did this switch during
+	 * EOF (yywrap()) processing, but the only time this flag
+	 * is looked at is after yywrap() is called, so it's safe
+	 * to go ahead and always set it.
+	 */
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+static void yy_load_buffer_state  (void)
+{
+    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
+	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+	(yy_hold_char) = *(yy_c_buf_p);
+}
+
+/** Allocate and initialize an input buffer state.
+ * @param file A readable stream.
+ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ * 
+ * @return the allocated buffer state.
+ */
+    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
+{
+	YY_BUFFER_STATE b;
+    
+	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+	b->yy_buf_size = size;
+
+	/* yy_ch_buf has to be 2 characters longer than the size given because
+	 * we need to put in 2 end-of-buffer characters.
+	 */
+	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
+	if ( ! b->yy_ch_buf )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+	b->yy_is_our_buffer = 1;
+
+	yy_init_buffer(b,file );
+
+	return b;
+}
+
+/** Destroy the buffer.
+ * @param b a buffer created with yy_create_buffer()
+ * 
+ */
+    void yy_delete_buffer (YY_BUFFER_STATE  b )
+{
+    
+	if ( ! b )
+		return;
+
+	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
+		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
+
+	if ( b->yy_is_our_buffer )
+		yyfree((void *) b->yy_ch_buf  );
+
+	yyfree((void *) b  );
+}
+
+#ifndef __cplusplus
+extern int isatty (int );
+#endif /* __cplusplus */
+    
+/* Initializes or reinitializes a buffer.
+ * This function is sometimes called more than once on the same buffer,
+ * such as during a yyrestart() or at EOF.
+ */
+    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
+
+{
+	int oerrno = errno;
+    
+	yy_flush_buffer(b );
+
+	b->yy_input_file = file;
+	b->yy_fill_buffer = 1;
+
+    /* If b is the current buffer, then yy_init_buffer was _probably_
+     * called from yyrestart() or through yy_get_next_buffer.
+     * In that case, we don't want to reset the lineno or column.
+     */
+    if (b != YY_CURRENT_BUFFER){
+        b->yy_bs_lineno = 1;
+        b->yy_bs_column = 0;
+    }
+
+        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+    
+	errno = oerrno;
+}
+
+/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ * 
+ */
+    void yy_flush_buffer (YY_BUFFER_STATE  b )
+{
+    	if ( ! b )
+		return;
+
+	b->yy_n_chars = 0;
+
+	/* We always need two end-of-buffer characters.  The first causes
+	 * a transition to the end-of-buffer state.  The second causes
+	 * a jam in that state.
+	 */
+	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+	b->yy_buf_pos = &b->yy_ch_buf[0];
+
+	b->yy_at_bol = 1;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	if ( b == YY_CURRENT_BUFFER )
+		yy_load_buffer_state( );
+}
+
+/** Pushes the new state onto the stack. The new state becomes
+ *  the current state. This function will allocate the stack
+ *  if necessary.
+ *  @param new_buffer The new state.
+ *  
+ */
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
+{
+    	if (new_buffer == NULL)
+		return;
+
+	yyensure_buffer_stack();
+
+	/* This block is copied from yy_switch_to_buffer. */
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	/* Only push if top exists. Otherwise, replace top. */
+	if (YY_CURRENT_BUFFER)
+		(yy_buffer_stack_top)++;
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+	/* copied from yy_switch_to_buffer. */
+	yy_load_buffer_state( );
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+/** Removes and deletes the top of the stack, if present.
+ *  The next element becomes the new top.
+ *  
+ */
+void yypop_buffer_state (void)
+{
+    	if (!YY_CURRENT_BUFFER)
+		return;
+
+	yy_delete_buffer(YY_CURRENT_BUFFER );
+	YY_CURRENT_BUFFER_LVALUE = NULL;
+	if ((yy_buffer_stack_top) > 0)
+		--(yy_buffer_stack_top);
+
+	if (YY_CURRENT_BUFFER) {
+		yy_load_buffer_state( );
+		(yy_did_buffer_switch_on_eof) = 1;
+	}
+}
+
+/* Allocates the stack if it does not exist.
+ *  Guarantees space for at least one push.
+ */
+static void yyensure_buffer_stack (void)
+{
+	int num_to_alloc;
+    
+	if (!(yy_buffer_stack)) {
+
+		/* First allocation is just for 2 elements, since we don't know if this
+		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
+		 * immediate realloc on the next call.
+         */
+		num_to_alloc = 1;
+		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
+								(num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		
+		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+				
+		(yy_buffer_stack_max) = num_to_alloc;
+		(yy_buffer_stack_top) = 0;
+		return;
+	}
+
+	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+
+		/* Increase the buffer to prepare for a possible push. */
+		int grow_size = 8 /* arbitrary grow size */;
+
+		num_to_alloc = (yy_buffer_stack_max) + grow_size;
+		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
+								((yy_buffer_stack),
+								num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+
+		/* zero only the new slots.*/
+		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
+		(yy_buffer_stack_max) = num_to_alloc;
+	}
+}
+
+/** Setup the input buffer state to scan directly from a user-specified character buffer.
+ * @param base the character buffer
+ * @param size the size in bytes of the character buffer
+ * 
+ * @return the newly allocated buffer state object. 
+ */
+YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
+{
+	YY_BUFFER_STATE b;
+    
+	if ( size < 2 ||
+	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
+	     base[size-1] != YY_END_OF_BUFFER_CHAR )
+		/* They forgot to leave room for the EOB's. */
+		return 0;
+
+	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
+	b->yy_buf_pos = b->yy_ch_buf = base;
+	b->yy_is_our_buffer = 0;
+	b->yy_input_file = 0;
+	b->yy_n_chars = b->yy_buf_size;
+	b->yy_is_interactive = 0;
+	b->yy_at_bol = 1;
+	b->yy_fill_buffer = 0;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	yy_switch_to_buffer(b  );
+
+	return b;
+}
+
+/** Setup the input buffer state to scan a string. The next call to yylex() will
+ * scan from a @e copy of @a str.
+ * @param str a NUL-terminated string to scan
+ * 
+ * @return the newly allocated buffer state object.
+ * @note If you want to scan bytes that may contain NUL values, then use
+ *       yy_scan_bytes() instead.
+ */
+YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
+{
+    
+	return yy_scan_bytes(yystr,strlen(yystr) );
+}
+
+/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
+ * scan from a @e copy of @a bytes.
+ * @param bytes the byte buffer to scan
+ * @param len the number of bytes in the buffer pointed to by @a bytes.
+ * 
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
+{
+	YY_BUFFER_STATE b;
+	char *buf;
+	yy_size_t n;
+	int i;
+    
+	/* Get memory for full buffer, including space for trailing EOB's. */
+	n = _yybytes_len + 2;
+	buf = (char *) yyalloc(n  );
+	if ( ! buf )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+	for ( i = 0; i < _yybytes_len; ++i )
+		buf[i] = yybytes[i];
+
+	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
+
+	b = yy_scan_buffer(buf,n );
+	if ( ! b )
+		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+	/* It's okay to grow etc. this buffer, and we should throw it
+	 * away when we're done.
+	 */
+	b->yy_is_our_buffer = 1;
+
+	return b;
+}
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+static void yy_fatal_error (yyconst char* msg )
+{
+    	(void) fprintf( stderr, "%s\n", msg );
+	exit( YY_EXIT_FAILURE );
+}
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up yytext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		yytext[yyleng] = (yy_hold_char); \
+		(yy_c_buf_p) = yytext + yyless_macro_arg; \
+		(yy_hold_char) = *(yy_c_buf_p); \
+		*(yy_c_buf_p) = '\0'; \
+		yyleng = yyless_macro_arg; \
+		} \
+	while ( 0 )
+
+/* Accessor  methods (get/set functions) to struct members. */
+
+/** Get the current line number.
+ * 
+ */
+int yyget_lineno  (void)
+{
+        
+    return yylineno;
+}
+
+/** Get the input stream.
+ * 
+ */
+FILE *yyget_in  (void)
+{
+        return yyin;
+}
+
+/** Get the output stream.
+ * 
+ */
+FILE *yyget_out  (void)
+{
+        return yyout;
+}
+
+/** Get the length of the current token.
+ * 
+ */
+int yyget_leng  (void)
+{
+        return yyleng;
+}
+
+/** Get the current token.
+ * 
+ */
+
+char *yyget_text  (void)
+{
+        return yytext;
+}
+
+/** Set the current line number.
+ * @param line_number
+ * 
+ */
+void yyset_lineno (int  line_number )
+{
+    
+    yylineno = line_number;
+}
+
+/** Set the input stream. This does not discard the current
+ * input buffer.
+ * @param in_str A readable stream.
+ * 
+ * @see yy_switch_to_buffer
+ */
+void yyset_in (FILE *  in_str )
+{
+        yyin = in_str ;
+}
+
+void yyset_out (FILE *  out_str )
+{
+        yyout = out_str ;
+}
+
+int yyget_debug  (void)
+{
+        return yy_flex_debug;
+}
+
+void yyset_debug (int  bdebug )
+{
+        yy_flex_debug = bdebug ;
+}
+
+static int yy_init_globals (void)
+{
+        /* Initialization is the same as for the non-reentrant scanner.
+     * This function is called from yylex_destroy(), so don't allocate here.
+     */
+
+    (yy_buffer_stack) = 0;
+    (yy_buffer_stack_top) = 0;
+    (yy_buffer_stack_max) = 0;
+    (yy_c_buf_p) = (char *) 0;
+    (yy_init) = 0;
+    (yy_start) = 0;
+
+/* Defined in main.c */
+#ifdef YY_STDINIT
+    yyin = stdin;
+    yyout = stdout;
+#else
+    yyin = (FILE *) 0;
+    yyout = (FILE *) 0;
+#endif
+
+    /* For future reference: Set errno on error, since we are called by
+     * yylex_init()
+     */
+    return 0;
+}
+
+/* yylex_destroy is for both reentrant and non-reentrant scanners. */
+int yylex_destroy  (void)
+{
+    
+    /* Pop the buffer stack, destroying each element. */
+	while(YY_CURRENT_BUFFER){
+		yy_delete_buffer(YY_CURRENT_BUFFER  );
+		YY_CURRENT_BUFFER_LVALUE = NULL;
+		yypop_buffer_state();
+	}
+
+	/* Destroy the stack itself. */
+	yyfree((yy_buffer_stack) );
+	(yy_buffer_stack) = NULL;
+
+    /* Reset the globals. This is important in a non-reentrant scanner so the next time
+     * yylex() is called, initialization will occur. */
+    yy_init_globals( );
+
+    return 0;
+}
+
+/*
+ * Internal utility routines.
+ */
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+{
+	register int i;
+	for ( i = 0; i < n; ++i )
+		s1[i] = s2[i];
+}
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * s )
+{
+	register int n;
+	for ( n = 0; s[n]; ++n )
+		;
+
+	return n;
+}
+#endif
+
+void *yyalloc (yy_size_t  size )
+{
+	return (void *) malloc( size );
+}
+
+void *yyrealloc  (void * ptr, yy_size_t  size )
+{
+	/* The cast to (char *) in the following accommodates both
+	 * implementations that use char* generic pointers, and those
+	 * that use void* generic pointers.  It works with the latter
+	 * because both ANSI C and C++ allow castless assignment from
+	 * any pointer type to void*, and deal with argument conversions
+	 * as though doing an assignment.
+	 */
+	return (void *) realloc( (char *) ptr, size );
+}
+
+void yyfree (void * ptr )
+{
+	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
+}
+
+#define YYTABLES_NAME "yytables"
+
+#line 49 "calc.l"
+
+
+
+
Index: /liacs/coco/assignment1/gen/y.output
===================================================================
--- /liacs/coco/assignment1/gen/y.output	(revision 2)
+++ /liacs/coco/assignment1/gen/y.output	(revision 2)
@@ -0,0 +1,489 @@
+Grammar
+
+    0 $accept: line $end
+
+    1 line: /* empty */
+    2     | line stmt '\n'
+    3     | line error '\n'
+
+    4 stmt: expr
+
+    5 expr: OPEN_PAREN expr CLOSE_PAREN
+    6     | '|' expr '|'
+    7     | expr '*' expr
+    8     | expr '/' expr
+    9     | expr '%' expr
+   10     | expr '-' expr
+   11     | expr '+' expr
+   12     | expr '!'
+   13     | expr EXPONENT expr
+   14     | '-' expr
+   15     | number
+
+   16 number: PI
+   17       | DIGIT
+   18       | number DIGIT
+
+
+Terminals, with rules where they appear
+
+$end (0) 0
+'\n' (10) 2 3
+'!' (33) 12
+'%' (37) 9
+'*' (42) 7
+'+' (43) 11
+'-' (45) 10 14
+'/' (47) 8
+'|' (124) 6
+error (256) 3
+DIGIT (258) 17 18
+PI (259) 16
+OPEN_PAREN (260) 5
+CLOSE_PAREN (261) 5
+UMINUS (262)
+EXPONENT (263) 13
+
+
+Nonterminals, with rules where they appear
+
+$accept (17)
+    on left: 0
+line (18)
+    on left: 1 2 3, on right: 0 2 3
+stmt (19)
+    on left: 4, on right: 2
+expr (20)
+    on left: 5 6 7 8 9 10 11 12 13 14 15, on right: 4 5 6 7 8 9 10
+    11 12 13 14
+number (21)
+    on left: 16 17 18, on right: 15 18
+
+
+state 0
+
+    0 $accept: . line $end
+
+    $default  reduce using rule 1 (line)
+
+    line  go to state 1
+
+
+state 1
+
+    0 $accept: line . $end
+    2 line: line . stmt '\n'
+    3     | line . error '\n'
+
+    $end        shift, and go to state 2
+    error       shift, and go to state 3
+    DIGIT       shift, and go to state 4
+    PI          shift, and go to state 5
+    OPEN_PAREN  shift, and go to state 6
+    '|'         shift, and go to state 7
+    '-'         shift, and go to state 8
+
+    stmt    go to state 9
+    expr    go to state 10
+    number  go to state 11
+
+
+state 2
+
+    0 $accept: line $end .
+
+    $default  accept
+
+
+state 3
+
+    3 line: line error . '\n'
+
+    '\n'  shift, and go to state 12
+
+
+state 4
+
+   17 number: DIGIT .
+
+    $default  reduce using rule 17 (number)
+
+
+state 5
+
+   16 number: PI .
+
+    $default  reduce using rule 16 (number)
+
+
+state 6
+
+    5 expr: OPEN_PAREN . expr CLOSE_PAREN
+
+    DIGIT       shift, and go to state 4
+    PI          shift, and go to state 5
+    OPEN_PAREN  shift, and go to state 6
+    '|'         shift, and go to state 7
+    '-'         shift, and go to state 8
+
+    expr    go to state 13
+    number  go to state 11
+
+
+state 7
+
+    6 expr: '|' . expr '|'
+
+    DIGIT       shift, and go to state 4
+    PI          shift, and go to state 5
+    OPEN_PAREN  shift, and go to state 6
+    '|'         shift, and go to state 7
+    '-'         shift, and go to state 8
+
+    expr    go to state 14
+    number  go to state 11
+
+
+state 8
+
+   14 expr: '-' . expr
+
+    DIGIT       shift, and go to state 4
+    PI          shift, and go to state 5
+    OPEN_PAREN  shift, and go to state 6
+    '|'         shift, and go to state 7
+    '-'         shift, and go to state 8
+
+    expr    go to state 15
+    number  go to state 11
+
+
+state 9
+
+    2 line: line stmt . '\n'
+
+    '\n'  shift, and go to state 16
+
+
+state 10
+
+    4 stmt: expr .
+    7 expr: expr . '*' expr
+    8     | expr . '/' expr
+    9     | expr . '%' expr
+   10     | expr . '-' expr
+   11     | expr . '+' expr
+   12     | expr . '!'
+   13     | expr . EXPONENT expr
+
+    '-'       shift, and go to state 17
+    '+'       shift, and go to state 18
+    '*'       shift, and go to state 19
+    '/'       shift, and go to state 20
+    '%'       shift, and go to state 21
+    '!'       shift, and go to state 22
+    EXPONENT  shift, and go to state 23
+
+    $default  reduce using rule 4 (stmt)
+
+
+state 11
+
+   15 expr: number .
+   18 number: number . DIGIT
+
+    DIGIT  shift, and go to state 24
+
+    $default  reduce using rule 15 (expr)
+
+
+state 12
+
+    3 line: line error '\n' .
+
+    $default  reduce using rule 3 (line)
+
+
+state 13
+
+    5 expr: OPEN_PAREN expr . CLOSE_PAREN
+    7     | expr . '*' expr
+    8     | expr . '/' expr
+    9     | expr . '%' expr
+   10     | expr . '-' expr
+   11     | expr . '+' expr
+   12     | expr . '!'
+   13     | expr . EXPONENT expr
+
+    CLOSE_PAREN  shift, and go to state 25
+    '-'          shift, and go to state 17
+    '+'          shift, and go to state 18
+    '*'          shift, and go to state 19
+    '/'          shift, and go to state 20
+    '%'          shift, and go to state 21
+    '!'          shift, and go to state 22
+    EXPONENT     shift, and go to state 23
+
+
+state 14
+
+    6 expr: '|' expr . '|'
+    7     | expr . '*' expr
+    8     | expr . '/' expr
+    9     | expr . '%' expr
+   10     | expr . '-' expr
+   11     | expr . '+' expr
+   12     | expr . '!'
+   13     | expr . EXPONENT expr
+
+    '|'       shift, and go to state 26
+    '-'       shift, and go to state 17
+    '+'       shift, and go to state 18
+    '*'       shift, and go to state 19
+    '/'       shift, and go to state 20
+    '%'       shift, and go to state 21
+    '!'       shift, and go to state 22
+    EXPONENT  shift, and go to state 23
+
+
+state 15
+
+    7 expr: expr . '*' expr
+    8     | expr . '/' expr
+    9     | expr . '%' expr
+   10     | expr . '-' expr
+   11     | expr . '+' expr
+   12     | expr . '!'
+   13     | expr . EXPONENT expr
+   14     | '-' expr .
+
+    '!'       shift, and go to state 22
+    EXPONENT  shift, and go to state 23
+
+    $default  reduce using rule 14 (expr)
+
+
+state 16
+
+    2 line: line stmt '\n' .
+
+    $default  reduce using rule 2 (line)
+
+
+state 17
+
+   10 expr: expr '-' . expr
+
+    DIGIT       shift, and go to state 4
+    PI          shift, and go to state 5
+    OPEN_PAREN  shift, and go to state 6
+    '|'         shift, and go to state 7
+    '-'         shift, and go to state 8
+
+    expr    go to state 27
+    number  go to state 11
+
+
+state 18
+
+   11 expr: expr '+' . expr
+
+    DIGIT       shift, and go to state 4
+    PI          shift, and go to state 5
+    OPEN_PAREN  shift, and go to state 6
+    '|'         shift, and go to state 7
+    '-'         shift, and go to state 8
+
+    expr    go to state 28
+    number  go to state 11
+
+
+state 19
+
+    7 expr: expr '*' . expr
+
+    DIGIT       shift, and go to state 4
+    PI          shift, and go to state 5
+    OPEN_PAREN  shift, and go to state 6
+    '|'         shift, and go to state 7
+    '-'         shift, and go to state 8
+
+    expr    go to state 29
+    number  go to state 11
+
+
+state 20
+
+    8 expr: expr '/' . expr
+
+    DIGIT       shift, and go to state 4
+    PI          shift, and go to state 5
+    OPEN_PAREN  shift, and go to state 6
+    '|'         shift, and go to state 7
+    '-'         shift, and go to state 8
+
+    expr    go to state 30
+    number  go to state 11
+
+
+state 21
+
+    9 expr: expr '%' . expr
+
+    DIGIT       shift, and go to state 4
+    PI          shift, and go to state 5
+    OPEN_PAREN  shift, and go to state 6
+    '|'         shift, and go to state 7
+    '-'         shift, and go to state 8
+
+    expr    go to state 31
+    number  go to state 11
+
+
+state 22
+
+   12 expr: expr '!' .
+
+    $default  reduce using rule 12 (expr)
+
+
+state 23
+
+   13 expr: expr EXPONENT . expr
+
+    DIGIT       shift, and go to state 4
+    PI          shift, and go to state 5
+    OPEN_PAREN  shift, and go to state 6
+    '|'         shift, and go to state 7
+    '-'         shift, and go to state 8
+
+    expr    go to state 32
+    number  go to state 11
+
+
+state 24
+
+   18 number: number DIGIT .
+
+    $default  reduce using rule 18 (number)
+
+
+state 25
+
+    5 expr: OPEN_PAREN expr CLOSE_PAREN .
+
+    $default  reduce using rule 5 (expr)
+
+
+state 26
+
+    6 expr: '|' expr '|' .
+
+    $default  reduce using rule 6 (expr)
+
+
+state 27
+
+    7 expr: expr . '*' expr
+    8     | expr . '/' expr
+    9     | expr . '%' expr
+   10     | expr . '-' expr
+   10     | expr '-' expr .
+   11     | expr . '+' expr
+   12     | expr . '!'
+   13     | expr . EXPONENT expr
+
+    '*'       shift, and go to state 19
+    '/'       shift, and go to state 20
+    '%'       shift, and go to state 21
+    '!'       shift, and go to state 22
+    EXPONENT  shift, and go to state 23
+
+    $default  reduce using rule 10 (expr)
+
+
+state 28
+
+    7 expr: expr . '*' expr
+    8     | expr . '/' expr
+    9     | expr . '%' expr
+   10     | expr . '-' expr
+   11     | expr . '+' expr
+   11     | expr '+' expr .
+   12     | expr . '!'
+   13     | expr . EXPONENT expr
+
+    '*'       shift, and go to state 19
+    '/'       shift, and go to state 20
+    '%'       shift, and go to state 21
+    '!'       shift, and go to state 22
+    EXPONENT  shift, and go to state 23
+
+    $default  reduce using rule 11 (expr)
+
+
+state 29
+
+    7 expr: expr . '*' expr
+    7     | expr '*' expr .
+    8     | expr . '/' expr
+    9     | expr . '%' expr
+   10     | expr . '-' expr
+   11     | expr . '+' expr
+   12     | expr . '!'
+   13     | expr . EXPONENT expr
+
+    '!'       shift, and go to state 22
+    EXPONENT  shift, and go to state 23
+
+    $default  reduce using rule 7 (expr)
+
+
+state 30
+
+    7 expr: expr . '*' expr
+    8     | expr . '/' expr
+    8     | expr '/' expr .
+    9     | expr . '%' expr
+   10     | expr . '-' expr
+   11     | expr . '+' expr
+   12     | expr . '!'
+   13     | expr . EXPONENT expr
+
+    '!'       shift, and go to state 22
+    EXPONENT  shift, and go to state 23
+
+    $default  reduce using rule 8 (expr)
+
+
+state 31
+
+    7 expr: expr . '*' expr
+    8     | expr . '/' expr
+    9     | expr . '%' expr
+    9     | expr '%' expr .
+   10     | expr . '-' expr
+   11     | expr . '+' expr
+   12     | expr . '!'
+   13     | expr . EXPONENT expr
+
+    '!'       shift, and go to state 22
+    EXPONENT  shift, and go to state 23
+
+    $default  reduce using rule 9 (expr)
+
+
+state 32
+
+    7 expr: expr . '*' expr
+    8     | expr . '/' expr
+    9     | expr . '%' expr
+   10     | expr . '-' expr
+   11     | expr . '+' expr
+   12     | expr . '!'
+   13     | expr . EXPONENT expr
+   13     | expr EXPONENT expr .
+
+    EXPONENT  shift, and go to state 23
+
+    $default  reduce using rule 13 (expr)
Index: /liacs/coco/assignment1/gen/y.tab.c
===================================================================
--- /liacs/coco/assignment1/gen/y.tab.c	(revision 2)
+++ /liacs/coco/assignment1/gen/y.tab.c	(revision 2)
@@ -0,0 +1,1699 @@
+/* A Bison parser, made by GNU Bison 2.3.  */
+
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+   Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+   simplifying the original so-called "semantic" parser.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Bison version.  */
+#define YYBISON_VERSION "2.3"
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     DIGIT = 258,
+     PI = 259,
+     OPEN_PAREN = 260,
+     CLOSE_PAREN = 261,
+     UMINUS = 262,
+     EXPONENT = 263
+   };
+#endif
+/* Tokens.  */
+#define DIGIT 258
+#define PI 259
+#define OPEN_PAREN 260
+#define CLOSE_PAREN 261
+#define UMINUS 262
+#define EXPONENT 263
+
+
+
+
+/* Copy the first part of user declarations.  */
+#line 4 "calc.y"
+
+
+#include <stdio.h>
+#include <math.h>
+
+int base = 10;
+
+/* Prototypes */
+static void yyerror(const char *);
+static int fac(int x);
+
+/* import from spascal.l */
+extern int lineno;
+extern int yylex(void);
+
+
+
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 1
+#endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* Enabling the token table.  */
+#ifndef YYTOKEN_TABLE
+# define YYTOKEN_TABLE 0
+#endif
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations.  */
+
+
+/* Line 216 of yacc.c.  */
+#line 139 "gen/y.tab.c"
+
+#ifdef short
+# undef short
+#endif
+
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
+#else
+typedef unsigned char yytype_uint8;
+#endif
+
+#ifdef YYTYPE_INT8
+typedef YYTYPE_INT8 yytype_int8;
+#elif (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+typedef signed char yytype_int8;
+#else
+typedef short int yytype_int8;
+#endif
+
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
+#else
+typedef unsigned short int yytype_uint16;
+#endif
+
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+#  define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+#  define YYSIZE_T size_t
+# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# else
+#  define YYSIZE_T unsigned int
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+
+#ifndef YY_
+# if defined YYENABLE_NLS && YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+#   define YY_(msgid) dgettext ("bison-runtime", msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(msgid) msgid
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E.  */
+#if ! defined lint || defined __GNUC__
+# define YYUSE(e) ((void) (e))
+#else
+# define YYUSE(e) /* empty */
+#endif
+
+/* Identity function, used to suppress warnings about constant conditions.  */
+#ifndef lint
+# define YYID(n) (n)
+#else
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static int
+YYID (int i)
+#else
+static int
+YYID (i)
+    int i;
+#endif
+{
+  return i;
+}
+#endif
+
+#if ! defined yyoverflow || YYERROR_VERBOSE
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   elif defined __BUILTIN_VA_ARG_INCR
+#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+#   elif defined _AIX
+#    define YYSTACK_ALLOC __alloca
+#   elif defined _MSC_VER
+#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+#    define alloca _alloca
+#   else
+#    define YYSTACK_ALLOC alloca
+#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#     ifndef _STDLIB_H
+#      define _STDLIB_H 1
+#     endif
+#    endif
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+    /* The OS might guarantee only one guard page at the bottom of the stack,
+       and a page size can be as small as 4096 bytes.  So we cannot safely
+       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
+       to allow for a few compiler-allocated temporary stack slots.  */
+#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+#  endif
+# else
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+#  endif
+#  if (defined __cplusplus && ! defined _STDLIB_H \
+       && ! ((defined YYMALLOC || defined malloc) \
+	     && (defined YYFREE || defined free)))
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   ifndef _STDLIB_H
+#    define _STDLIB_H 1
+#   endif
+#  endif
+#  ifndef YYMALLOC
+#   define YYMALLOC malloc
+#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+#  ifndef YYFREE
+#   define YYFREE free
+#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+# endif
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+
+
+#if (! defined yyoverflow \
+     && (! defined __cplusplus \
+	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  yytype_int16 yyss;
+  YYSTYPE yyvs;
+  };
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+      + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined __GNUC__ && 1 < __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)		\
+      do					\
+	{					\
+	  YYSIZE_T yyi;				\
+	  for (yyi = 0; yyi < (Count); yyi++)	\
+	    (To)[yyi] = (From)[yyi];		\
+	}					\
+      while (YYID (0))
+#  endif
+# endif
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack)					\
+    do									\
+      {									\
+	YYSIZE_T yynewbytes;						\
+	YYCOPY (&yyptr->Stack, Stack, yysize);				\
+	Stack = &yyptr->Stack;						\
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+	yyptr += yynewbytes / sizeof (*yyptr);				\
+      }									\
+    while (YYID (0))
+
+#endif
+
+/* YYFINAL -- State number of the termination state.  */
+#define YYFINAL  2
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   57
+
+/* YYNTOKENS -- Number of terminals.  */
+#define YYNTOKENS  17
+/* YYNNTS -- Number of nonterminals.  */
+#define YYNNTS  5
+/* YYNRULES -- Number of rules.  */
+#define YYNRULES  19
+/* YYNRULES -- Number of states.  */
+#define YYNSTATES  33
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   263
+
+#define YYTRANSLATE(YYX)						\
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const yytype_uint8 yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+      16,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,    14,     2,     2,     2,    12,     2,     2,
+       2,     2,    10,     9,     2,     8,     2,    11,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     7,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,    13,    15
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const yytype_uint8 yyprhs[] =
+{
+       0,     0,     3,     4,     8,    12,    14,    18,    22,    26,
+      30,    34,    38,    42,    45,    49,    52,    54,    56,    58
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
+static const yytype_int8 yyrhs[] =
+{
+      18,     0,    -1,    -1,    18,    19,    16,    -1,    18,     1,
+      16,    -1,    20,    -1,     5,    20,     6,    -1,     7,    20,
+       7,    -1,    20,    10,    20,    -1,    20,    11,    20,    -1,
+      20,    12,    20,    -1,    20,     8,    20,    -1,    20,     9,
+      20,    -1,    20,    14,    -1,    20,    15,    20,    -1,     8,
+      20,    -1,    21,    -1,     4,    -1,     3,    -1,    21,     3,
+      -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const yytype_uint8 yyrline[] =
+{
+       0,    44,    44,    47,    51,    59,    67,    74,    81,    88,
+      95,   102,   109,   116,   127,   134,   141,   146,   153,   160
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
+static const char *const yytname[] =
+{
+  "$end", "error", "$undefined", "DIGIT", "PI", "OPEN_PAREN",
+  "CLOSE_PAREN", "'|'", "'-'", "'+'", "'*'", "'/'", "'%'", "UMINUS", "'!'",
+  "EXPONENT", "'\\n'", "$accept", "line", "stmt", "expr", "number", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const yytype_uint16 yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   124,    45,    43,
+      42,    47,    37,   262,    33,   263,    10
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const yytype_uint8 yyr1[] =
+{
+       0,    17,    18,    18,    18,    19,    20,    20,    20,    20,
+      20,    20,    20,    20,    20,    20,    20,    21,    21,    21
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const yytype_uint8 yyr2[] =
+{
+       0,     2,     0,     3,     3,     1,     3,     3,     3,     3,
+       3,     3,     3,     2,     3,     2,     1,     1,     1,     2
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
+   means the default is an error.  */
+static const yytype_uint8 yydefact[] =
+{
+       2,     0,     1,     0,    18,    17,     0,     0,     0,     0,
+       5,    16,     4,     0,     0,    15,     3,     0,     0,     0,
+       0,     0,    13,     0,    19,     6,     7,    11,    12,     8,
+       9,    10,    14
+};
+
+/* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int8 yydefgoto[] =
+{
+      -1,     1,     9,    10,    11
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -9
+static const yytype_int8 yypact[] =
+{
+      -9,    35,    -9,    -8,    -9,    -9,    41,    41,    41,     7,
+      -5,    29,    -9,    10,    19,    42,    -9,    41,    41,    41,
+      41,    41,    -9,    41,    -9,    -9,    -9,    40,    40,    42,
+      42,    42,    22
+};
+
+/* YYPGOTO[NTERM-NUM].  */
+static const yytype_int8 yypgoto[] =
+{
+      -9,    -9,    -9,    -6,    -9
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If zero, do what YYDEFACT says.
+   If YYTABLE_NINF, syntax error.  */
+#define YYTABLE_NINF -1
+static const yytype_uint8 yytable[] =
+{
+      13,    14,    15,    17,    18,    19,    20,    21,    12,    22,
+      23,    27,    28,    29,    30,    31,    25,    32,    17,    18,
+      19,    20,    21,    16,    22,    23,    26,    17,    18,    19,
+      20,    21,    24,    22,    23,     2,     3,    23,     4,     5,
+       6,     0,     7,     8,     4,     5,     6,     0,     7,     8,
+      19,    20,    21,     0,    22,    23,    22,    23
+};
+
+static const yytype_int8 yycheck[] =
+{
+       6,     7,     8,     8,     9,    10,    11,    12,    16,    14,
+      15,    17,    18,    19,    20,    21,     6,    23,     8,     9,
+      10,    11,    12,    16,    14,    15,     7,     8,     9,    10,
+      11,    12,     3,    14,    15,     0,     1,    15,     3,     4,
+       5,    -1,     7,     8,     3,     4,     5,    -1,     7,     8,
+      10,    11,    12,    -1,    14,    15,    14,    15
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const yytype_uint8 yystos[] =
+{
+       0,    18,     0,     1,     3,     4,     5,     7,     8,    19,
+      20,    21,    16,    20,    20,    20,    16,     8,     9,    10,
+      11,    12,    14,    15,     3,     6,     7,    20,    20,    20,
+      20,    20,    20
+};
+
+#define yyerrok		(yyerrstatus = 0)
+#define yyclearin	(yychar = YYEMPTY)
+#define YYEMPTY		(-2)
+#define YYEOF		0
+
+#define YYACCEPT	goto yyacceptlab
+#define YYABORT		goto yyabortlab
+#define YYERROR		goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
+   Once GCC version 2 has supplanted version 1, this can go.  */
+
+#define YYFAIL		goto yyerrlab
+
+#define YYRECOVERING()  (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value)					\
+do								\
+  if (yychar == YYEMPTY && yylen == 1)				\
+    {								\
+      yychar = (Token);						\
+      yylval = (Value);						\
+      yytoken = YYTRANSLATE (yychar);				\
+      YYPOPSTACK (1);						\
+      goto yybackup;						\
+    }								\
+  else								\
+    {								\
+      yyerror (YY_("syntax error: cannot back up")); \
+      YYERROR;							\
+    }								\
+while (YYID (0))
+
+
+#define YYTERROR	1
+#define YYERRCODE	256
+
+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+   If N is 0, then set CURRENT to the empty location which ends
+   the previous symbol: RHS[0] (always defined).  */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)				\
+    do									\
+      if (YYID (N))                                                    \
+	{								\
+	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
+	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
+	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
+	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
+	}								\
+      else								\
+	{								\
+	  (Current).first_line   = (Current).last_line   =		\
+	    YYRHSLOC (Rhs, 0).last_line;				\
+	  (Current).first_column = (Current).last_column =		\
+	    YYRHSLOC (Rhs, 0).last_column;				\
+	}								\
+    while (YYID (0))
+#endif
+
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+   This macro was not mandated originally: define only if we know
+   we won't break user code: when these are the locations we know.  */
+
+#ifndef YY_LOCATION_PRINT
+# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
+#  define YY_LOCATION_PRINT(File, Loc)			\
+     fprintf (File, "%d.%d-%d.%d",			\
+	      (Loc).first_line, (Loc).first_column,	\
+	      (Loc).last_line,  (Loc).last_column)
+# else
+#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
+#endif
+
+
+/* YYLEX -- calling `yylex' with the right arguments.  */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (YYLEX_PARAM)
+#else
+# define YYLEX yylex ()
+#endif
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)			\
+do {						\
+  if (yydebug)					\
+    YYFPRINTF Args;				\
+} while (YYID (0))
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
+do {									  \
+  if (yydebug)								  \
+    {									  \
+      YYFPRINTF (stderr, "%s ", Title);					  \
+      yy_symbol_print (stderr,						  \
+		  Type, Value); \
+      YYFPRINTF (stderr, "\n");						  \
+    }									  \
+} while (YYID (0))
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (!yyvaluep)
+    return;
+# ifdef YYPRINT
+  if (yytype < YYNTOKENS)
+    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# else
+  YYUSE (yyoutput);
+# endif
+  switch (yytype)
+    {
+      default:
+	break;
+    }
+}
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (yytype < YYNTOKENS)
+    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+  else
+    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+  YYFPRINTF (yyoutput, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+#else
+static void
+yy_stack_print (bottom, top)
+    yytype_int16 *bottom;
+    yytype_int16 *top;
+#endif
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (; bottom <= top; ++bottom)
+    YYFPRINTF (stderr, " %d", *bottom);
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)				\
+do {								\
+  if (yydebug)							\
+    yy_stack_print ((Bottom), (Top));				\
+} while (YYID (0))
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
+#else
+static void
+yy_reduce_print (yyvsp, yyrule)
+    YYSTYPE *yyvsp;
+    int yyrule;
+#endif
+{
+  int yynrhs = yyr2[yyrule];
+  int yyi;
+  unsigned long int yylno = yyrline[yyrule];
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+	     yyrule - 1, yylno);
+  /* The symbols being reduced.  */
+  for (yyi = 0; yyi < yynrhs; yyi++)
+    {
+      fprintf (stderr, "   $%d = ", yyi + 1);
+      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+		       &(yyvsp[(yyi + 1) - (yynrhs)])
+		       		       );
+      fprintf (stderr, "\n");
+    }
+}
+
+# define YY_REDUCE_PRINT(Rule)		\
+do {					\
+  if (yydebug)				\
+    yy_reduce_print (yyvsp, Rule); \
+} while (YYID (0))
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
+#ifndef	YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+#  if defined __GLIBC__ && defined _STRING_H
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static YYSIZE_T
+yystrlen (const char *yystr)
+#else
+static YYSIZE_T
+yystrlen (yystr)
+    const char *yystr;
+#endif
+{
+  YYSIZE_T yylen;
+  for (yylen = 0; yystr[yylen]; yylen++)
+    continue;
+  return yylen;
+}
+#  endif
+# endif
+
+# ifndef yystpcpy
+#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static char *
+yystpcpy (char *yydest, const char *yysrc)
+#else
+static char *
+yystpcpy (yydest, yysrc)
+    char *yydest;
+    const char *yysrc;
+#endif
+{
+  char *yyd = yydest;
+  const char *yys = yysrc;
+
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
+}
+#  endif
+# endif
+
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+   quotes and backslashes, so that it's suitable for yyerror.  The
+   heuristic is that double-quoting is unnecessary unless the string
+   contains an apostrophe, a comma, or backslash (other than
+   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
+   null, do not copy; instead, return the length of what the result
+   would have been.  */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
+{
+  if (*yystr == '"')
+    {
+      YYSIZE_T yyn = 0;
+      char const *yyp = yystr;
+
+      for (;;)
+	switch (*++yyp)
+	  {
+	  case '\'':
+	  case ',':
+	    goto do_not_strip_quotes;
+
+	  case '\\':
+	    if (*++yyp != '\\')
+	      goto do_not_strip_quotes;
+	    /* Fall through.  */
+	  default:
+	    if (yyres)
+	      yyres[yyn] = *yyp;
+	    yyn++;
+	    break;
+
+	  case '"':
+	    if (yyres)
+	      yyres[yyn] = '\0';
+	    return yyn;
+	  }
+    do_not_strip_quotes: ;
+    }
+
+  if (! yyres)
+    return yystrlen (yystr);
+
+  return yystpcpy (yyres, yystr) - yyres;
+}
+# endif
+
+/* Copy into YYRESULT an error message about the unexpected token
+   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
+   including the terminating null byte.  If YYRESULT is null, do not
+   copy anything; just return the number of bytes that would be
+   copied.  As a special case, return 0 if an ordinary "syntax error"
+   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
+   size calculation.  */
+static YYSIZE_T
+yysyntax_error (char *yyresult, int yystate, int yychar)
+{
+  int yyn = yypact[yystate];
+
+  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
+    return 0;
+  else
+    {
+      int yytype = YYTRANSLATE (yychar);
+      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
+      YYSIZE_T yysize = yysize0;
+      YYSIZE_T yysize1;
+      int yysize_overflow = 0;
+      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+      int yyx;
+
+# if 0
+      /* This is so xgettext sees the translatable formats that are
+	 constructed on the fly.  */
+      YY_("syntax error, unexpected %s");
+      YY_("syntax error, unexpected %s, expecting %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+# endif
+      char *yyfmt;
+      char const *yyf;
+      static char const yyunexpected[] = "syntax error, unexpected %s";
+      static char const yyexpecting[] = ", expecting %s";
+      static char const yyor[] = " or %s";
+      char yyformat[sizeof yyunexpected
+		    + sizeof yyexpecting - 1
+		    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+		       * (sizeof yyor - 1))];
+      char const *yyprefix = yyexpecting;
+
+      /* Start YYX at -YYN if negative to avoid negative indexes in
+	 YYCHECK.  */
+      int yyxbegin = yyn < 0 ? -yyn : 0;
+
+      /* Stay within bounds of both yycheck and yytname.  */
+      int yychecklim = YYLAST - yyn + 1;
+      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+      int yycount = 1;
+
+      yyarg[0] = yytname[yytype];
+      yyfmt = yystpcpy (yyformat, yyunexpected);
+
+      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+	if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+	  {
+	    if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+	      {
+		yycount = 1;
+		yysize = yysize0;
+		yyformat[sizeof yyunexpected - 1] = '\0';
+		break;
+	      }
+	    yyarg[yycount++] = yytname[yyx];
+	    yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+	    yysize_overflow |= (yysize1 < yysize);
+	    yysize = yysize1;
+	    yyfmt = yystpcpy (yyfmt, yyprefix);
+	    yyprefix = yyor;
+	  }
+
+      yyf = YY_(yyformat);
+      yysize1 = yysize + yystrlen (yyf);
+      yysize_overflow |= (yysize1 < yysize);
+      yysize = yysize1;
+
+      if (yysize_overflow)
+	return YYSIZE_MAXIMUM;
+
+      if (yyresult)
+	{
+	  /* Avoid sprintf, as that infringes on the user's name space.
+	     Don't have undefined behavior even if the translation
+	     produced a string with the wrong number of "%s"s.  */
+	  char *yyp = yyresult;
+	  int yyi = 0;
+	  while ((*yyp = *yyf) != '\0')
+	    {
+	      if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
+		{
+		  yyp += yytnamerr (yyp, yyarg[yyi++]);
+		  yyf += 2;
+		}
+	      else
+		{
+		  yyp++;
+		  yyf++;
+		}
+	    }
+	}
+      return yysize;
+    }
+}
+#endif /* YYERROR_VERBOSE */
+
+
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yymsg, yytype, yyvaluep)
+    const char *yymsg;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
+{
+  YYUSE (yyvaluep);
+
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+  switch (yytype)
+    {
+
+      default:
+	break;
+    }
+}
+
+
+
+/* Prevent warnings from -Wmissing-prototypes.  */
+
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+/* The look-ahead symbol.  */
+int yychar;
+
+/* The semantic value of the look-ahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+/*----------.
+| yyparse.  |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void *YYPARSE_PARAM)
+#else
+int
+yyparse (YYPARSE_PARAM)
+    void *YYPARSE_PARAM;
+#endif
+#else /* ! YYPARSE_PARAM */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+  
+  int yystate;
+  int yyn;
+  int yyresult;
+  /* Number of tokens to shift before error messages enabled.  */
+  int yyerrstatus;
+  /* Look-ahead token as an internal (translated) token number.  */
+  int yytoken = 0;
+#if YYERROR_VERBOSE
+  /* Buffer for error messages, and its allocated size.  */
+  char yymsgbuf[128];
+  char *yymsg = yymsgbuf;
+  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+  /* Three stacks and their tools:
+     `yyss': related to states,
+     `yyvs': related to semantic values,
+     `yyls': related to locations.
+
+     Refer to the stacks thru separate pointers, to allow yyoverflow
+     to reallocate them elsewhere.  */
+
+  /* The state stack.  */
+  yytype_int16 yyssa[YYINITDEPTH];
+  yytype_int16 *yyss = yyssa;
+  yytype_int16 *yyssp;
+
+  /* The semantic value stack.  */
+  YYSTYPE yyvsa[YYINITDEPTH];
+  YYSTYPE *yyvs = yyvsa;
+  YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
+
+  YYSIZE_T yystacksize = YYINITDEPTH;
+
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
+
+
+  /* The number of symbols on the RHS of the reduced rule.
+     Keep to zero when no symbol should be popped.  */
+  int yylen = 0;
+
+  YYDPRINTF ((stderr, "Starting parse\n"));
+
+  yystate = 0;
+  yyerrstatus = 0;
+  yynerrs = 0;
+  yychar = YYEMPTY;		/* Cause a token to be read.  */
+
+  /* Initialize stack pointers.
+     Waste one element of value and location stack
+     so that they stay on the same level as the state stack.
+     The wasted elements are never initialized.  */
+
+  yyssp = yyss;
+  yyvsp = yyvs;
+
+  goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed.  So pushing a state here evens the stacks.  */
+  yyssp++;
+
+ yysetstate:
+  *yyssp = yystate;
+
+  if (yyss + yystacksize - 1 <= yyssp)
+    {
+      /* Get the current used size of the three stacks, in elements.  */
+      YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+      {
+	/* Give user a chance to reallocate the stack.  Use copies of
+	   these so that the &'s don't force the real ones into
+	   memory.  */
+	YYSTYPE *yyvs1 = yyvs;
+	yytype_int16 *yyss1 = yyss;
+
+
+	/* Each stack pointer address is followed by the size of the
+	   data in use in that stack, in bytes.  This used to be a
+	   conditional around just the two extra args, but that might
+	   be undefined if yyoverflow is a macro.  */
+	yyoverflow (YY_("memory exhausted"),
+		    &yyss1, yysize * sizeof (*yyssp),
+		    &yyvs1, yysize * sizeof (*yyvsp),
+
+		    &yystacksize);
+
+	yyss = yyss1;
+	yyvs = yyvs1;
+      }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyexhaustedlab;
+# else
+      /* Extend the stack our own way.  */
+      if (YYMAXDEPTH <= yystacksize)
+	goto yyexhaustedlab;
+      yystacksize *= 2;
+      if (YYMAXDEPTH < yystacksize)
+	yystacksize = YYMAXDEPTH;
+
+      {
+	yytype_int16 *yyss1 = yyss;
+	union yyalloc *yyptr =
+	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+	if (! yyptr)
+	  goto yyexhaustedlab;
+	YYSTACK_RELOCATE (yyss);
+	YYSTACK_RELOCATE (yyvs);
+
+#  undef YYSTACK_RELOCATE
+	if (yyss1 != yyssa)
+	  YYSTACK_FREE (yyss1);
+      }
+# endif
+#endif /* no yyoverflow */
+
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
+
+
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+		  (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 <= yyssp)
+	YYABORT;
+    }
+
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+  goto yybackup;
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
+
+  /* Do appropriate processing given the current state.  Read a
+     look-ahead token if we need one and don't already have one.  */
+
+  /* First try to decide what to do without reference to look-ahead token.  */
+  yyn = yypact[yystate];
+  if (yyn == YYPACT_NINF)
+    goto yydefault;
+
+  /* Not known => get a look-ahead token if don't already have one.  */
+
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
+  if (yychar == YYEMPTY)
+    {
+      YYDPRINTF ((stderr, "Reading a token: "));
+      yychar = YYLEX;
+    }
+
+  if (yychar <= YYEOF)
+    {
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
+    }
+  else
+    {
+      yytoken = YYTRANSLATE (yychar);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+    }
+
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+    goto yydefault;
+  yyn = yytable[yyn];
+  if (yyn <= 0)
+    {
+      if (yyn == 0 || yyn == YYTABLE_NINF)
+	goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
+
+  /* Shift the look-ahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+  /* Discard the shifted token unless it is eof.  */
+  if (yychar != YYEOF)
+    yychar = YYEMPTY;
+
+  yystate = yyn;
+  *++yyvsp = yylval;
+
+  goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+  goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
+yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
+  yylen = yyr2[yyn];
+
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+        case 4:
+#line 52 "calc.y"
+    {
+           yyerrok;
+         }
+    break;
+
+  case 5:
+#line 60 "calc.y"
+    {
+          printf("%d\n",(yyvsp[(1) - (1)]));
+        }
+    break;
+
+  case 6:
+#line 68 "calc.y"
+    {
+            (yyval) = (yyvsp[(2) - (3)]);
+         }
+    break;
+
+  case 7:
+#line 75 "calc.y"
+    {
+	    (yyval) = (int)fabs((double)(yyvsp[(2) - (3)]));
+	 }
+    break;
+
+  case 8:
+#line 82 "calc.y"
+    {
+           (yyval) = (yyvsp[(1) - (3)]) * (yyvsp[(3) - (3)]);
+         }
+    break;
+
+  case 9:
+#line 89 "calc.y"
+    {
+           (yyval) = (yyvsp[(1) - (3)]) / (yyvsp[(3) - (3)]);
+         }
+    break;
+
+  case 10:
+#line 96 "calc.y"
+    {
+           (yyval) = (yyvsp[(1) - (3)]) % (yyvsp[(3) - (3)]);
+         }
+    break;
+
+  case 11:
+#line 103 "calc.y"
+    {
+           (yyval) = (yyvsp[(1) - (3)]) - (yyvsp[(3) - (3)]);
+         }
+    break;
+
+  case 12:
+#line 110 "calc.y"
+    {
+           (yyval) = (yyvsp[(1) - (3)]) + (yyvsp[(3) - (3)]);
+         }
+    break;
+
+  case 13:
+#line 117 "calc.y"
+    {
+	    if ((yyvsp[(1) - (2)]) < 0) {
+	       fprintf(stderr, "Negative values for faculty are undefined.\n");
+	       YYERROR;
+	    }
+	    (yyval) = fac((yyvsp[(1) - (2)]));
+	 }
+    break;
+
+  case 14:
+#line 128 "calc.y"
+    {
+	    (yyval) = (int)pow((double)(yyvsp[(1) - (3)]), (double)(yyvsp[(3) - (3)]));
+	 }
+    break;
+
+  case 15:
+#line 135 "calc.y"
+    {
+           (yyval) = -(yyvsp[(2) - (2)]);
+         }
+    break;
+
+  case 17:
+#line 147 "calc.y"
+    {
+           (yyval) = 3;
+         }
+    break;
+
+  case 18:
+#line 154 "calc.y"
+    {
+           (yyval) = (yyvsp[(1) - (1)]);
+         }
+    break;
+
+  case 19:
+#line 161 "calc.y"
+    {
+           (yyval) = base * (yyvsp[(1) - (2)]) + (yyvsp[(2) - (2)]);
+         }
+    break;
+
+
+/* Line 1267 of yacc.c.  */
+#line 1459 "gen/y.tab.c"
+      default: break;
+    }
+  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+
+  *++yyvsp = yyval;
+
+
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
+
+  yyn = yyr1[yyn];
+
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+    yystate = yytable[yystate];
+  else
+    yystate = yydefgoto[yyn - YYNTOKENS];
+
+  goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
+    {
+      ++yynerrs;
+#if ! YYERROR_VERBOSE
+      yyerror (YY_("syntax error"));
+#else
+      {
+	YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
+	if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
+	  {
+	    YYSIZE_T yyalloc = 2 * yysize;
+	    if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
+	      yyalloc = YYSTACK_ALLOC_MAXIMUM;
+	    if (yymsg != yymsgbuf)
+	      YYSTACK_FREE (yymsg);
+	    yymsg = (char *) YYSTACK_ALLOC (yyalloc);
+	    if (yymsg)
+	      yymsg_alloc = yyalloc;
+	    else
+	      {
+		yymsg = yymsgbuf;
+		yymsg_alloc = sizeof yymsgbuf;
+	      }
+	  }
+
+	if (0 < yysize && yysize <= yymsg_alloc)
+	  {
+	    (void) yysyntax_error (yymsg, yystate, yychar);
+	    yyerror (yymsg);
+	  }
+	else
+	  {
+	    yyerror (YY_("syntax error"));
+	    if (yysize != 0)
+	      goto yyexhaustedlab;
+	  }
+      }
+#endif
+    }
+
+
+
+  if (yyerrstatus == 3)
+    {
+      /* If just tried and failed to reuse look-ahead token after an
+	 error, discard it.  */
+
+      if (yychar <= YYEOF)
+	{
+	  /* Return failure if at end of input.  */
+	  if (yychar == YYEOF)
+	    YYABORT;
+	}
+      else
+	{
+	  yydestruct ("Error: discarding",
+		      yytoken, &yylval);
+	  yychar = YYEMPTY;
+	}
+    }
+
+  /* Else will try to reuse look-ahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
+
+  /* Pacify compilers like GCC when the user code never invokes
+     YYERROR and the label yyerrorlab therefore never appears in user
+     code.  */
+  if (/*CONSTCOND*/ 0)
+     goto yyerrorlab;
+
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYERROR.  */
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+  yystate = *yyssp;
+  goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
+
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (yyn != YYPACT_NINF)
+	{
+	  yyn += YYTERROR;
+	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+	    {
+	      yyn = yytable[yyn];
+	      if (0 < yyn)
+		break;
+	    }
+	}
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+	YYABORT;
+
+
+      yydestruct ("Error: popping",
+		  yystos[yystate], yyvsp);
+      YYPOPSTACK (1);
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
+    }
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+  *++yyvsp = yylval;
+
+
+  /* Shift the error token.  */
+  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#ifndef yyoverflow
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here.  |
+`-------------------------------------------------*/
+yyexhaustedlab:
+  yyerror (YY_("memory exhausted"));
+  yyresult = 2;
+  /* Fall through.  */
+#endif
+
+yyreturn:
+  if (yychar != YYEOF && yychar != YYEMPTY)
+     yydestruct ("Cleanup: discarding lookahead",
+		 yytoken, &yylval);
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYABORT or YYACCEPT.  */
+  YYPOPSTACK (yylen);
+  YY_STACK_PRINT (yyss, yyssp);
+  while (yyssp != yyss)
+    {
+      yydestruct ("Cleanup: popping",
+		  yystos[*yyssp], yyvsp);
+      YYPOPSTACK (1);
+    }
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+#if YYERROR_VERBOSE
+  if (yymsg != yymsgbuf)
+    YYSTACK_FREE (yymsg);
+#endif
+  /* Make sure YYID is used.  */
+  return YYID (yyresult);
+}
+
+
+#line 165 "calc.y"
+
+/* End of rules, more C code will follow now */
+
+
+int main()
+{
+  return yyparse();
+}
+
+static void yyerror(const char *s)
+{
+  fprintf(stderr, "%s\n",s);
+}
+
+int yywrap()
+{
+  return(1);
+}
+
+int fac(int x)
+{
+  return (x > 1) ? x*fac(x-1) : 1;
+}
+
Index: /liacs/coco/assignment1/gen/y.tab.h
===================================================================
--- /liacs/coco/assignment1/gen/y.tab.h	(revision 2)
+++ /liacs/coco/assignment1/gen/y.tab.h	(revision 2)
@@ -0,0 +1,69 @@
+/* A Bison parser, made by GNU Bison 2.3.  */
+
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+   Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     DIGIT = 258,
+     PI = 259,
+     OPEN_PAREN = 260,
+     CLOSE_PAREN = 261,
+     UMINUS = 262,
+     EXPONENT = 263
+   };
+#endif
+/* Tokens.  */
+#define DIGIT 258
+#define PI 259
+#define OPEN_PAREN 260
+#define CLOSE_PAREN 261
+#define UMINUS 262
+#define EXPONENT 263
+
+
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef int YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+extern YYSTYPE yylval;
+
Index: /liacs/coco/assignment1/input8
===================================================================
--- /liacs/coco/assignment1/input8	(revision 2)
+++ /liacs/coco/assignment1/input8	(revision 2)
@@ -0,0 +1,8 @@
+1**1**1**1+1-1*1/1%(1+((1+1)-1))*1!
+-2**2/-2
+(5+89-32*2)/10
+256/4/2**2/|-4|
+3+25%20*5/5-PI
+(2**3**2-500)/2
+(3!!*2!!!!!!!-40)/200
+-1*(-3!+-2!)
Index: /liacs/coco/assignment2/DOCUMENTATION.TXT
===================================================================
--- /liacs/coco/assignment2/DOCUMENTATION.TXT	(revision 2)
+++ /liacs/coco/assignment2/DOCUMENTATION.TXT	(revision 2)
@@ -0,0 +1,63 @@
+= INTRODUCTION =
+
+Welcome reader,
+
+You will find our solution on assignment 2 of Compiler Constructions 2008
+giving at LIACS University. First we will you a grand overview of the files
+altered, next we will bullet point the most important design decisions.
+
+And the grand finale will show the usage of the program.
+
+Enjoy!
+Johan and Rick <hvdzwet@liacs.nl>
+
+
+= FILES EDITED/ADDED =
+A coercion.cc         = Coercion and checking module C++ code
+A coercion.h          = Coercion and checking module C++ header
+E comp.l              = Main program lexer flex code
+E comp.y              = Main program parser bison code
+E debug.c             = Debug printing module C++ code
+E debug.h             = Debug printing module C++ header
+A debug.sh            = Debug cycle on single test file
+A DOCUMENTATION.TXT   = Reading right know :-)
+A messages.cc         = Messaging module C++ code
+A messages.h          = Messaging module C++ header
+
+= DESIGN DECISIONS =
+* lastOP : Allowing to differentiate without altering the grammar of the language,
+  required the notion of storing the current RELOP and MULOP into lastOP, allowing
+  it to be read later on by the parser, to identity the proper NODE_*
+
+* Separate files for the use of Messaging, Coercion, Debug to keep code
+  readable and more understandable
+
+* For the sake of simplicity not all calls within the Parser are of type Node,
+  some are Symbol, to clearly define we are only using partial information out
+  of it.
+
+* Split calls for recognising the current ID, as the parser could traverse some
+  steps deep, allowing to change the lastID while the corresponding code has
+  not been called. A 'temporary' node will be created and passed along down below
+
+* Parameter listings will first have a unknown return value and made to a
+  linked list right away, ones the return value has found it recursively get
+  added to it pre-assessors
+
+* Creating a new node and type checking will done 'on the fly' e.g. a function
+  is called with a specific node -> conversion/coercion fails/warnings/errors
+  -> specific node or dummy value returned
+
+
+= USAGE =
+# Compile
+$ make first
+$ make
+# Full blown debugging stack
+$ ./comp -w -vvvv <testfile
+# Lexer debugging only
+$ ./comp -w -vvv <testfile
+# All quiet
+$ ./comp -n -qqqq <testfile
+# Normal usage
+$ ./comp <testfile
Index: /liacs/coco/assignment2/Makefile
===================================================================
--- /liacs/coco/assignment2/Makefile	(revision 2)
+++ /liacs/coco/assignment2/Makefile	(revision 2)
@@ -0,0 +1,76 @@
+#
+# Makefile for assignment 2 of the Compiler Construction course.
+# Fall 2007, LIACS, Leiden University.
+#
+
+CC		= g++
+LEX		= flex
+YACC		= bison --yacc
+
+WARNINGS	= -Wall -ansi
+OTHERS		= -m32 -g
+DEFINES		= -DDEBUG
+IDIRS		= -I.
+
+CFLAGS		= $(WARNINGS) $(OTHERS) $(DEFINES) $(IDIRS)
+LFLAGS		=
+YFLAGS		= --defines --debug --verbose
+LDFLAGS		= -m32 -g
+LOADLIBS	= -lfl -lm
+
+#
+# If you want to add another C/C++ file to the compiler, add the name of the
+# corresponding .o file to the OBJFILES macro below:
+#
+OBJFILES	= debug.o messages.o coercion.o lookup.o
+OBJDIR		= gen/
+OBJS		  = $(addprefix $(OBJDIR),$(OBJFILES))
+
+# Precompiled object files
+POBJFILES = types.o SyntaxTree.o Node.o Symbol.o SymbolTable.o Scope.o
+POBJDIR   = obj/
+POBJS     = $(addprefix $(POBJDIR),$(POBJFILES))
+
+IMPORTANT	= comp.[hly] *.h *.c *.cc \
+		  Makefile
+
+.PHONY: all first clean backup dirs showdeps
+
+all: comp
+
+# To be executed before the very first build
+first: dirs
+
+# Dependency stuff
+comp: $(OBJDIR)y.tab.o $(OBJDIR)lex.yy.o $(OBJS) $(POBJS)
+	$(CC) $(LDFLAGS) -o $@ $^ $(LOADLIBS)
+
+$(OBJDIR)y.tab.h $(OBJDIR)y.tab.c: comp.y
+	$(YACC) $(YFLAGS) $< -o $(OBJDIR)y.tab.c
+
+$(OBJDIR)lex.yy.c: comp.l
+	$(LEX) $(LFLAGS) -o$@ $<
+
+clean:
+	rm -f $(OBJDIR){lex.yy.c,y.tab.*,y.output,*.o} *~ comp \
+	    `find . -name core -o -name \*\.bak`
+
+backup:
+	tar cfz ../CoCo-`date +'%y%m%d-%H%M'`.tar.gz $(IMPORTANT)
+
+dirs:
+	mkdir gen
+
+# Show dependencies between .c files
+showdeps:
+	$(CC) -MM *.c *.cc
+
+# Dependency stuff
+$(OBJDIR)lex.yy.o: $(OBJDIR)lex.yy.c $(OBJDIR)y.tab.h
+$(OBJDIR)y.tab.o: $(OBJDIR)y.tab.c
+
+$(OBJDIR)%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $<
+
+$(OBJDIR)%.o: %.cc
+	$(CC) $(CFLAGS) -c -o $@ $<
Index: /liacs/coco/assignment2/Node.h
===================================================================
--- /liacs/coco/assignment2/Node.h	(revision 2)
+++ /liacs/coco/assignment2/Node.h	(revision 2)
@@ -0,0 +1,214 @@
+/*
+ * Node.h
+ * 
+ * This file contains the declaration of the "Node" structure. It is part of
+ * the assignment for the Compiler Construction course at the Leiden Institute
+ * of Advanced Computer Science (LIACS), Leiden University.
+ *
+ * Note: when a Node is deleted, is does _not_ delete its children. Also the
+ *       Symbol of a Node_Symbol object is preserved.
+ */
+
+#ifndef _NODE_H_
+#define _NODE_H_
+
+#include <cstdlib>
+#include <cstdio>
+#include "types.h"
+#include "Symbol.h"
+
+// ----------------------------------------------------------------------------
+// N O D E   ( B A S E )
+// ----------------------------------------------------------------------------
+
+class Node {
+	
+  public:
+
+    // constructor
+    Node (void);
+  
+    // destructor
+    virtual ~Node (void);
+  
+    // gets the node type
+    NodeType GetNodeType (void);
+    
+    // sets the node type
+    void SetNodeType (NodeType nodeType);
+    
+    // gets the return type
+    ReturnType GetReturnType (void);
+    
+    // sets the return type
+    void SetReturnType (ReturnType returnType);
+    
+    // dumps the node data
+    virtual void Dump (FILE * file, int indent);
+    
+    // (empty) virtuals
+    virtual Node * GetChild (void);
+    virtual void SetChild (Node * node);
+    virtual Node * GetLeftChild (void);
+    virtual void SetLeftChild (Node * node);
+    virtual Node * GetRightChild (void);
+    virtual void SetRightChild (Node * node);
+    
+    virtual int GetIntValue (void);
+    virtual void SetIntValue (int newvalue);
+    virtual float GetRealValue (void);
+    virtual void SetRealValue (float newvalue);
+    virtual Symbol * GetSymbol (void);
+    virtual void SetSymbol (Symbol * newsym);
+    
+  private:
+    
+    NodeType myNodeType;
+    ReturnType myReturnType;
+    
+};
+
+
+
+// ----------------------------------------------------------------------------
+// N O D E   U N A R Y
+// [ unary minus, "not x", etc.]
+// ----------------------------------------------------------------------------
+class Node_Unary: public Node {
+
+  public:
+  
+    // constructor
+    Node_Unary (void);
+
+    // destructor
+    ~Node_Unary (void);
+  
+    // gets the child
+    Node * GetChild (void);
+    
+    // sets the child
+    void SetChild (Node * node);
+    
+    // dumps the node data
+    void Dump(FILE * file, int indent);
+    
+  private:
+    
+    Node * Child;
+    
+};
+
+
+
+// ----------------------------------------------------------------------------
+// N O D E   B I N A R Y
+// ["while L do R", "A ; B", "4 * 3", etc.]
+// ----------------------------------------------------------------------------
+class Node_Binary: public Node {
+
+  public:
+
+    // constructor
+    Node_Binary (void);
+    
+    // destructor
+    ~Node_Binary (void);
+  
+    // gets the left child
+    Node * GetLeftChild (void);
+    
+    // sets the left child
+    void SetLeftChild (Node * node);
+    
+    // gets the right child
+    Node * GetRightChild (void);
+    
+    // sets the right child
+    void SetRightChild (Node * node);
+    
+    // dumps the node data
+    void Dump (FILE * file, int indent);
+    
+  private:
+    
+    Node * leftChild;
+    Node * rightChild;
+
+};
+
+
+
+// ----------------------------------------------------------------------------
+// N O D E   I N T E G E R
+// ----------------------------------------------------------------------------
+class Node_Integer: public Node {
+	
+  public:
+	  
+    // gets the integer value
+    int GetIntValue (void);
+  
+    // sets the integer value
+    void SetIntValue (int value);
+    
+    // dumps the node data
+    void Dump (FILE * file, int indent);
+    
+  private:
+    
+    int myValue;
+    
+};
+
+
+
+// ----------------------------------------------------------------------------
+// N O D E   R E A L
+// ----------------------------------------------------------------------------
+class Node_Real: public Node {
+
+  public:
+
+    // gets the real value
+    float GetRealValue (void);
+  
+    // sets the real value
+    void SetRealValue (float value);
+    
+    // dumps the node data
+    void Dump (FILE * file, int indent);
+    
+  private:
+    
+    float myValue;
+    
+};
+
+
+
+// ----------------------------------------------------------------------------
+// N O D E   S Y M B O L
+// ----------------------------------------------------------------------------
+// symbol leaf
+class Node_Symbol: public Node {
+
+  public:
+
+    // gets the symbol pointer
+    Symbol * GetSymbol (void);
+  
+    // sets the symbol pointer
+    void SetSymbol (Symbol * symbol);
+    
+    // dumps the node data
+    void Dump (FILE * file, int indent);
+    
+  private:
+    
+    Symbol * mySymbol;
+    
+};
+
+#endif
+
Index: /liacs/coco/assignment2/Scope.h
===================================================================
--- /liacs/coco/assignment2/Scope.h	(revision 2)
+++ /liacs/coco/assignment2/Scope.h	(revision 2)
@@ -0,0 +1,61 @@
+/*
+ * Scope.h
+ *
+ * This file contains the declaration of the "Scope" structure.
+ * It is part of the assignment for the Compiler Construction course at the
+ * Leiden Institute of Advanced Computer Science (LIACS), Leiden University.
+ *
+ * Note: when a Scope object is deleted, all Symbol objects contained in that
+ *       Scope are also deleted.
+ */
+
+#ifndef _SCOPE_H_
+#define _SCOPE_H_
+
+#include <cstdio>
+#include <string>
+#include <vector>
+
+#include "Symbol.h"
+
+using namespace std;
+
+// Class representing a scope
+class Scope {
+  public:
+    // Constructor
+    Scope (string scope);
+
+    // Destructor: deletes all Symbols contained in this Scope
+    ~Scope ();
+
+    // Sets the name of the scope
+    void SetName(string name);
+
+    // Gets the name of the scope
+    string GetName ();
+
+    // Adds the given symbol to this scope
+    // Returns -1 if the symbol could not be added
+    int AddSymbol (Symbol * symbol);
+
+    // Returns the symbol identified by <name> in this scope.
+    // Returns NULL if the symbol cannot be found.
+    Symbol * GetSymbol (string name);
+
+    // Returns the i-th symbol of this scope.
+    Symbol * GetSymbol (unsigned int i);
+
+    // Returns the number of symbols in this scope
+    unsigned int GetNumberOfSymbols ();
+
+    // Dumps the contents of this scope
+    void Dump (FILE * file, int indent);
+
+  private:
+    string myName;
+    vector<Symbol *> mySymbols;
+};//Scope
+
+#endif
+
Index: /liacs/coco/assignment2/Symbol.h
===================================================================
--- /liacs/coco/assignment2/Symbol.h	(revision 2)
+++ /liacs/coco/assignment2/Symbol.h	(revision 2)
@@ -0,0 +1,99 @@
+/*
+ * Symbol.h
+ * 
+ * This file contains the declaration of the "Symbol" abstract
+ * data structure. It is part of the assignment for the Compiler Construction
+ * course at the Leiden Institute of Advanced Computer Science (LIACS), Leiden
+ * University.
+ */
+
+#ifndef _SYMBOL_H_
+#define _SYMBOL_H_
+
+#include <string>
+#include <vector>
+#include <cstdio>
+
+#include "types.h"
+
+using namespace std;
+
+// The base class for Symbols
+class Symbol {
+  public:
+    // Constructor/Destructor
+    Symbol (void);
+    virtual ~Symbol (void);
+
+    // Set the identifier text
+    void SetName (string name);
+
+    // Get the identifier text
+    string GetName (void);
+
+    // Set declaration line
+    void SetLine (int line);
+
+    // Get declaration line
+    int GetLine (void);
+
+    // Set return type
+    void SetReturnType (ReturnType type);
+
+    // Get return type
+    ReturnType GetReturnType (void);
+
+    // Set symbol type
+    void SetSymbolType (SymbolType type);
+
+    // Get symbol type
+    SymbolType GetSymbolType (void);
+
+    // Get offset (used during code generation)
+    int GetOffset();
+    
+    // Set offset (used during code generation)
+    void SetOffset(int offset);
+    
+    // Dump the contents
+    virtual void Dump (FILE * file, int indent);
+
+    // Virtuals (empty for this base class)
+    virtual void AddParameter (Symbol * symbol);
+    virtual int GetParameterCount (void);
+    virtual Symbol * GetParameter (unsigned int num);
+
+  private:
+    string myName;
+    int myLine;
+    ReturnType myReturnType;
+    SymbolType mySymbolType;
+    int myOffset;
+};//Symbol
+
+
+
+// Extended symbol class for functions and procedures
+class Symbol_Subprogram : public Symbol {
+  public:
+    // Destructor
+    ~Symbol_Subprogram (void);
+
+    // Add a parameter to the end of the parameter list
+    void AddParameter (Symbol * symbol);
+
+    // Get number of parameters
+    int GetParameterCount (void);
+
+    // Get the num-th argument
+    Symbol * GetParameter (unsigned int num);
+
+    // Dump
+    void Dump (FILE * file, int indent);
+
+  private:
+    vector<Symbol *> parameters;
+};//Symbol_Subprogram
+
+#endif
+
Index: /liacs/coco/assignment2/SymbolTable.h
===================================================================
--- /liacs/coco/assignment2/SymbolTable.h	(revision 2)
+++ /liacs/coco/assignment2/SymbolTable.h	(revision 2)
@@ -0,0 +1,76 @@
+/*
+ * SymbolTable.h
+ *
+ * This file contains the declaration of the "SymbolTable" structure.
+ * It is part of the assignment for the Compiler Construction course at the
+ * Leiden Institute of Advanced Computer Science (LIACS), Leiden University.
+ *
+ * Note: when a SymbolTable is deleted, all Scope objects contained in that
+ *       SymbolTable are also deleted.
+ */
+
+#ifndef _SYMBOLTABLE_H_
+#define _SYMBOLTABLE_H_
+
+#include <cstdio>
+#include <string>
+#include <vector>
+
+#include "Scope.h"
+#include "Symbol.h"
+
+using namespace std;
+
+class SymbolTable {
+  public:
+    // Constructor
+    SymbolTable ();
+
+    // Destructor: deletes all Scopes contained in this SymbolTable
+    ~SymbolTable ();
+
+    // Creates a new Scope with the given name and sets it as current scope.
+    // Returns NULL if the name is already used.
+    Scope * AddScope (string scope);
+
+    // Returns a pointer to the Scope object with the given name
+    Scope * GetScope (string scope);
+
+    // Returns a pointer to the root scope
+    Scope * GetRootScope ();
+
+    // Set the current scope
+    // Returns -1 on error
+    int SetCurrentScope (string scope);
+
+    // Get the current scope name
+    string GetCurrentScopeName ();
+
+    // Adds a symbol to the current scope
+    // Returns -1 on error
+    int AddSymbol (Symbol * symbol);
+
+    // Adds a symbol to the given scope
+    // Returns -1 on error
+    int AddSymbol (string scope, Symbol * symbol);
+
+    // Find a symbol in the current scope, or look in the parent scope, if it
+    // cannot be found in the current one.
+    // Returns NULL if the symbol cannot be found anywhere.
+    Symbol * GetSymbol (string name);
+
+    // Find a symbol in the given scope; optionally look in the parent scope,
+    // if it cannot be found in the given one.
+    // Returns NULL if the symbol cannot be found.
+    Symbol * GetSymbol (string scope, string name, bool lookInParentScope);
+
+    // Dump the contents of the symbol table
+    void Dump (FILE * file);
+
+  private:
+    int myCurrentScope;
+    vector<Scope *> myScopes;
+};//SymbolTable
+
+#endif
+
Index: /liacs/coco/assignment2/SyntaxTree.h
===================================================================
--- /liacs/coco/assignment2/SyntaxTree.h	(revision 2)
+++ /liacs/coco/assignment2/SyntaxTree.h	(revision 2)
@@ -0,0 +1,96 @@
+/*
+ * SyntaxTree.h
+ * 
+ * This file contains the declaration of the "Syntax Tree", an abstract
+ * data structure. It is part of the assignment for the Compiler Construction
+ * course at the Leiden Institute of Advanced Computer Science (LIACS), Leiden
+ * University.
+ */
+
+#ifndef _SYNTAXTREE_H_
+#define _SYNTAXTREE_H_
+
+#include <cstdlib>
+#include <string>
+#include <vector>
+#include <map>
+#include "Node.h"
+
+using namespace std;
+
+// ----------------------------------------------------------------------------
+// S Y N T A X   T R E E
+// ----------------------------------------------------------------------------
+class SyntaxTree {
+
+  public:
+
+    // constructor
+    SyntaxTree (void);
+  
+    // destructor
+    ~SyntaxTree (void);
+    
+    // gets the program name
+    string GetProgramName (void);
+    
+    // sets the program name
+    void SetProgramName (string name);
+    
+    // gets the root node of the program body
+    Node * GetProgramBody (void);
+    
+    // sets the root node of the program body
+    void SetProgramBody (Node * root);
+    
+    // gets the number of subprograms
+    int GetSubprogramCount (void);
+    
+    // gets the root node of the i-th subprogram
+    // 0 <= i < number of subprograms
+    Node * GetSubprogram (unsigned int i);
+
+    // gets the name of the i-th subprogram
+    string GetSubprogramName (unsigned int i);
+    
+    // adds a subprogram
+    void AddSubprogram (string name, Node * root);
+    
+    // creates an unary parent node
+    Node * CreateParentNode (NodeType nodeType,
+                             ReturnType returnType,
+                             Node * child);
+    
+    // creates a binary parent node
+    Node * CreateParentNode (NodeType nodeType,
+                             ReturnType ret,
+                             Node * leftChild,
+                             Node * rightChild);
+
+    // creates an integer leaf with node type NODE_NUM_INT
+    Node * CreateLeaf (int value);
+    
+    // creates a real leaf with node type NODE_NUM_REAL
+    Node * CreateLeaf (float value);
+    
+    // creates a symbol leaf with node type NODE_ID
+    Node * CreateLeaf (Symbol * symbol);
+    
+    // creates a leaf with node type NODE_EMPTY
+    Node * CreateLeaf ();
+
+    // dumps the syntax tree
+    void Dump (FILE * file);
+    
+  private:
+    
+    string programName;
+    Node * programBody;
+    vector<string> subprogramNames;
+    vector<Node *> subprograms;
+    void DeleteTree (Node * root);
+
+};
+
+#endif
+
Index: /liacs/coco/assignment2/coercion.cc
===================================================================
--- /liacs/coco/assignment2/coercion.cc	(revision 2)
+++ /liacs/coco/assignment2/coercion.cc	(revision 2)
@@ -0,0 +1,116 @@
+#include "coercion.h"
+#include "messages.h"
+#include "types.h"
+#include "Node.h"
+#include "SyntaxTree.h"
+#include "Symbol.h"
+#include <assert.h>
+
+extern int lineno; // declared in comp.l
+extern SyntaxTree *tree; // declared in comp.y
+extern Messages messages; // declared in comp.y
+
+ReturnType minimumtype(ReturnType lhs, ReturnType rhs)
+{
+    if (lhs == RT_REAL || rhs == RT_REAL) {
+        return RT_REAL;
+    } else {
+        return RT_INT;
+    }
+}
+
+void checkType(ReturnType expected, ReturnType actual) {
+    if (actual != expected) {
+        messages.TypeError(lineno, expected, actual);
+    }
+}
+
+void checkType(ReturnType expected, Node *expression) {
+    checkType(expected, expression->GetReturnType());
+}
+
+Node *coerce(ReturnType to, Node *expression)
+{
+    if (to == RT_ERROR) {
+        /* ignore coercions to error type */
+        return expression;
+    }
+
+    assert(expression != NULL);
+    ReturnType from = expression->GetReturnType();
+
+    if (from == to) {
+        /* no coercion needed */
+        return expression;
+    }
+
+    if (from == RT_ERROR) {
+        /* always coerce error type */
+        return tree->CreateParentNode(NODE_COERCION, to, expression);
+    }
+
+    if (from == RT_INT && to == RT_REAL) {
+        /* coerce integer to real */
+        messages.CoercionWarning(lineno, to, from);
+        return tree->CreateParentNode(NODE_COERCION, to, expression);
+    }
+
+  if (from == RT_INT && to == RT_BOOL) {
+  /* coerce integer to bool */
+    messages.CoercionWarning(lineno, to, from);
+    return tree->CreateParentNode(NODE_COERCION, to, expression);
+  }
+
+  if (from == RT_BOOL && to == RT_INT) {
+  /* ../tests/varia/bitwise.p0: coerce bool to integer */
+    messages.CoercionWarning(lineno, to, from);
+    return tree->CreateParentNode(NODE_COERCION, to, expression);
+  }
+
+    /* no coercion possible */
+    messages.TypeError(lineno, to, from);
+    return expression;
+}
+
+void check_parameters(Node *call_node)
+{
+    assert(call_node != NULL);
+    assert(call_node->GetNodeType() == NODE_PROCCALL ||
+           call_node->GetNodeType() == NODE_FUNCTIONCALL);
+
+    Node *expression_list = call_node->GetRightChild();
+    assert(expression_list->GetNodeType() == NODE_EXPRLIST ||
+           expression_list->GetNodeType() == NODE_EMPTY);
+
+    Node *node_id = call_node->GetLeftChild();
+    assert(node_id->GetNodeType() == NODE_ID);
+
+    Symbol *symbol = node_id->GetSymbol();
+    assert(symbol->GetSymbolType() == ST_PROCEDURE ||
+           symbol->GetSymbolType() == ST_FUNCTION);
+    if (symbol->GetReturnType() == RT_ERROR) {
+        return;
+    }
+
+    /* Go through parameters */
+    int parametercount = 0;
+    while (expression_list->GetNodeType() != NODE_EMPTY) {
+        ++parametercount;
+        if (parametercount > symbol->GetParameterCount()) {
+            break;
+        }
+
+        /* Check parameter and add coercion if necessary */
+        ReturnType wanted = symbol->GetParameter(parametercount-1)->GetReturnType();
+        Node *coerced_node = coerce(wanted, expression_list->GetLeftChild());
+        expression_list->SetLeftChild(coerced_node);
+
+        /* Next parameter */
+        expression_list = expression_list->GetRightChild();
+        assert(expression_list->GetNodeType() == NODE_EXPRLIST || 
+               expression_list->GetNodeType() == NODE_EMPTY);
+    }
+    if (parametercount != symbol->GetParameterCount()) {
+        messages.ParamCountError(lineno, parametercount, symbol);
+    }
+}
Index: /liacs/coco/assignment2/coercion.h
===================================================================
--- /liacs/coco/assignment2/coercion.h	(revision 2)
+++ /liacs/coco/assignment2/coercion.h	(revision 2)
@@ -0,0 +1,32 @@
+#ifndef COERCION_H
+#define COERCION_H
+
+#include "types.h"
+#include "Node.h"
+#include "SyntaxTree.h"
+
+/* Gives the ReturnType that is at least needed for binary operators
+ * based on the return types of the left and right hand sides. 
+ */
+ReturnType minimumtype(ReturnType lhs, ReturnType rhs);
+
+/* Check whether type is of expected type 
+ */
+void checkType(ReturnType expected, ReturnType actual);
+void checkType(ReturnType expected, Node *expression);
+
+
+/* Coerces the expression node if necessary.
+ * Returns either a coercion node or expression itself.
+ */
+Node *coerce(ReturnType to, Node *expression);
+
+/* Checks if the number and type of the arguments to the call are correct
+ * and coerces arguments if necessary.
+ * It gives an error message if it is incorrect.
+ * call_node must be a valid NodeType of either NODE_FUNCTIONCALL or
+ * NODE_PROCCALL
+ */
+void check_parameters(Node *call_node);
+
+#endif /* COERCION_H */
Index: /liacs/coco/assignment2/comp.l
===================================================================
--- /liacs/coco/assignment2/comp.l	(revision 2)
+++ /liacs/coco/assignment2/comp.l	(revision 2)
@@ -0,0 +1,177 @@
+/* C declarations */
+%{
+ 
+#include <stdio.h>
+#include <string>
+#include "debug.h"
+#include "Node.h"
+#include "y.tab.h"
+#include "types.h"
+
+/* extern C declarations */
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+/* should be defined in stdio.h */
+extern int fileno(FILE *);
+
+#if defined(__cplusplus)
+}
+#endif
+
+
+int lineno = 1;
+string lastID;
+string lastNUM;
+string lastOP;
+
+%}
+
+%option nounput
+
+LETTER  [a-zA-Z]
+DIGIT   [0-9]
+ID      {LETTER}({LETTER}|{DIGIT})*
+DIGITS  {DIGIT}{DIGIT}*
+
+OPTIONAL_FRACTION       ("."{DIGITS})?
+OPTIONAL_EXPONENT       (("E"("+"|"-")?{DIGITS}))?
+NUM     {DIGITS}{OPTIONAL_FRACTION}{OPTIONAL_EXPONENT} 
+
+
+/* Patterns */
+%%
+
+{NUM}           {
+                  pmesg(90, "Lexer: NUM: %s\n", yytext);
+                  lastNUM = (string) yytext;
+                  return NUM;
+                }
+
+program         {
+                  pmesg(90, "Lexer: PROGRAM: %s\n", yytext);
+                  return PROGRAM;
+                }
+
+if              {
+                  pmesg(90, "Lexer: IF: %s\n", yytext);
+                  return IF;
+                }
+
+then            {
+                  pmesg(90, "Lexer: THEN: %s\n", yytext);
+                  return THEN;
+                }
+
+else            {
+                  pmesg(90, "Lexer: ELSE: %s\n", yytext);
+                  return ELSE;
+                }
+
+while           {
+                  pmesg(90, "Lexer: WHILE: %s\n", yytext);
+                  return WHILE;
+                }
+
+do              {
+                  pmesg(90, "Lexer: DO: %s\n", yytext);
+                  return DO;
+                }
+
+begin           {
+                  pmesg(90, "Lexer: PASCALBEGIN: %s\n", yytext);
+                  return PASCALBEGIN;
+                }
+
+end             {
+                  pmesg(90, "Lexer: END: %s\n", yytext);
+                  return END;
+                }
+
+procedure       {
+                  pmesg(90, "Lexer: PROCEDURE: %s\n", yytext);
+                  return PROCEDURE;
+                }
+
+function        {
+                  pmesg(90, "Lexer: FUNCTION: %s\n", yytext);
+                  return FUNCTION;
+                }
+
+var             {
+                  pmesg(90, "Lexer: VAR: %s\n", yytext);
+                  return VAR;
+                }
+
+integer         {
+                  pmesg(90, "Lexer: INTEGER: %s\n", yytext);
+                  return INTEGER;
+                }
+
+real            {
+                  pmesg(90, "Lexer: REAL: %s\n", yytext);
+                  return REAL;
+                }
+":="            {
+                  pmesg(90, "Lexer: ASSIGNOP: %s\n", yytext);
+                  return ASSIGNOP;
+                }
+
+"="|"<"|">"|"<="|">="|"<>"      {
+                  pmesg(90, "Lexer: RELOP: %s\n", yytext);
+                  lastOP = (string)yytext;
+                  return RELOP;
+                }
+
+"or"            { /* "-" cannot be returned as ADDOP, since it can also 
+                     be UMINUS; we can't distinguish these at the lex 
+                     level */
+                  pmesg(90, "Lexer: ADDOP: %s\n", yytext);
+                  return ADDOP;
+                }
+
+"*"|"/"|"div"|"mod"|"and"   {
+                pmesg(90, "Lexer: MULOP: %s\n", yytext);
+                lastOP = (string)yytext;
+                return MULOP;
+                }
+
+"not"           {
+                  pmesg(90, "Lexer: NOT: %s\n", yytext);
+                  return NOT;
+                }
+
+{ID}            {
+                  pmesg(90, "Lexer: ID: %s\n", yytext);
+                  lastID = (string) yytext;
+                  return ID;
+                }
+
+"{"[^{}]*"}"    { /* Eat comments */
+                  int cnt;
+                  pmesg(90, "Lexer: Yummie\n");
+                  for(cnt = 0; yytext[cnt] != '\0'; cnt++) {
+                    if (yytext[cnt] == '\n') {
+                      lineno++;
+                    }
+                  }
+                  /* no return */
+                }
+
+\n              {
+                  lineno++;
+                  pmesg(90, "Lexer: lineno == %i\n", lineno);
+                  /* no return */
+                }
+
+[ \t]+          {  /* eat up whitespace */
+                  /* no return */
+                }
+
+.               {
+                  pmesg(90, "Lexer: Single non-identifier character: %s\n", yytext ); 
+                  return(yytext[0]);
+                }
+
+%%
Index: /liacs/coco/assignment2/comp.y
===================================================================
--- /liacs/coco/assignment2/comp.y	(revision 2)
+++ /liacs/coco/assignment2/comp.y	(revision 2)
@@ -0,0 +1,869 @@
+/* C declarations */
+%{
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <math.h>
+#include <assert.h>
+#include <sysexits.h>
+#include "debug.h"
+#include "SyntaxTree.h"
+#include "SymbolTable.h"
+#include "Node.h"
+#include "messages.h"
+#include "coercion.h"
+#include "lookup.h"
+
+/* Prototypes */
+static void yyerror(const char *);
+
+/* Import from comp.l */
+extern int yylex(void);   /* Lexer function */
+extern int lineno;        /* Current line number */
+extern string lastID;     /* The most recently read ID */
+extern string lastNUM;    /* The most recently read value expression */
+extern string lastOP;     /* The most recently read MULOP or RELOP */
+
+/* Other declarations */
+SyntaxTree * tree;        /* The syntax tree */
+SymbolTable * symtab;     /* The symbol table */
+string mainScopeName;     /* The name of the main scope */
+Messages messages;        /* Keeps track of warning/error messages */
+
+#ifdef DEBUG
+int msglevel = 90; /* higher = more debugging messages */
+#else
+int msglevel = 0;   /* don't bother sensitive souls */
+#endif
+
+/* Macro to allow pretty display of parser tree calling stack debug print calls */
+#define pdebug(x) pmesg(100, "Parser: '"); pmesg(100, x); pmesg(100, "'\n")
+
+%}
+
+/* Start symbol */
+%start program
+
+/* Tokens */
+%token PROGRAM ID VAR NUM INTEGER REAL FUNCTION PROCEDURE
+%token PASCALBEGIN /* BEGIN is used internally by flex :-( */
+%token END ADDOP ASSIGNOP IF THEN ELSE WHILE DO RELOP
+%token MULOP NOT PROG_PARAMETER IRRELEVANT
+%token UMINUS /* unary minus */
+
+/* We wish to pass Node, Symbols and ReturnType pointers between the rules and
+ * actions
+ */
+%union {
+  Node *node;
+  ReturnType returntype;
+  Symbol *symbol;
+}
+
+%expect 1  /* shift/reduce conflict: dangling ELSE */
+%%
+
+/* GRAMMAR RULES AND ACTIONS */
+
+program:        PROGRAM ID {
+                  pdebug("program: PROGRAM ID");
+                  /* The program name has just been read; save it */
+                  mainScopeName = lastID;
+
+                  /* Put the program name into the syntax tree */
+                  tree->SetProgramName (mainScopeName);
+
+                  /* Create a new scope in the symbol table */
+                  symtab->AddScope (mainScopeName);
+
+                  /* Add builtin functions and procedures */
+
+                  /* function readinteger() : integer; */
+                  Symbol * freshFunction = new Symbol_Subprogram();
+                  freshFunction->SetName("readinteger");
+                  freshFunction->SetReturnType(RT_INT);
+                  freshFunction->SetSymbolType(ST_FUNCTION);
+                  freshFunction->SetLine(0);
+                  symtab->AddSymbol(freshFunction);
+
+                  /* procedure writeinteger(i: integer); */
+                  freshFunction = new Symbol_Subprogram();
+                  freshFunction->SetName("writeinteger");
+                  freshFunction->SetReturnType(RT_VOID);
+                  freshFunction->SetSymbolType(ST_PROCEDURE);
+                  freshFunction->SetLine(0);
+
+                  Symbol * freshParam = new Symbol();
+                  freshParam->SetReturnType(RT_INT);
+                  freshParam->SetName("i");
+                  freshFunction->AddParameter(freshParam);
+
+                  symtab->AddSymbol(freshFunction);
+
+                  /* function readreal() : real; */
+                  freshFunction = new Symbol_Subprogram();
+                  freshFunction->SetName("readreal");
+                  freshFunction->SetReturnType(RT_REAL);
+                  freshFunction->SetSymbolType(ST_FUNCTION);
+                  freshFunction->SetLine(0);
+                  symtab->AddSymbol(freshFunction);
+
+                  /* procedure writereal(r: real); */
+                  freshFunction = new Symbol_Subprogram();
+                  freshFunction->SetName("writereal");
+                  freshFunction->SetReturnType(RT_VOID);
+                  freshFunction->SetSymbolType(ST_PROCEDURE);
+                  freshFunction->SetLine(0);
+
+                  freshParam = new Symbol();
+                  freshParam->SetReturnType(RT_REAL);
+                  freshParam->SetName("r");
+                  freshFunction->AddParameter(freshParam);
+
+                  symtab->AddSymbol(freshFunction);
+
+                }
+                ';' declarations subprogram_declarations compound_statement '.' {
+                  tree->SetProgramBody($<node>7);
+                }
+                ;
+
+
+type_identifier_list:
+                ',' ID {
+                  /* Create new symbol */
+                  check_id(lastID);
+                  Symbol * freshVar = new Symbol();
+                  symtab->AddSymbol(freshVar);
+                  /* Fill with yet known values */
+                  freshVar->SetSymbolType(ST_UNKNOWN);
+                  freshVar->SetName(lastID);
+                  freshVar->SetLine(lineno);
+                  $<node>$ = tree->CreateLeaf(freshVar);
+
+                  } type_identifier_list {
+                  pdebug("type_identifier_list: ',' ID type_identifier_list");
+                  $<node>3->GetSymbol()->SetReturnType($<node>4->GetReturnType());
+
+                  /* Create list out of it */
+                  $<node>$ = tree->CreateParentNode(NODE_ID, $<node>4->GetReturnType(),
+                                                      $<node>3, $<node>4); //XXX: Check: NODE_ID that's not a leaf?
+                }
+                | ':' type {
+                  pdebug("type_identifier_list: ':' type");
+                  /* Closing of list is a Node of type NODE_EMPTY */
+                  Node * freshNode = tree->CreateLeaf();
+                  freshNode->SetReturnType($<returntype>2);
+                  $<node>$ = freshNode;
+                }
+                ;
+
+
+declarations:   /* In declarations the VAR-variables are listed for the
+                   program as well as for the procedures and functions. */
+
+                declarations VAR ID {
+                  pdebug("declarations: declarations VAR ID");
+                  /* Create new symbol */
+                  check_id(lastID);
+                  Symbol * freshVar = new Symbol();
+                  symtab->AddSymbol(freshVar);
+
+                  /* Fill with yet known values */
+                  freshVar->SetSymbolType(ST_UNKNOWN);
+                  freshVar->SetName(lastID);
+                  freshVar->SetLine(lineno);
+                  /* Temporary fill first Node with leaf value, as official value is not yet known */
+                  $<node>$ = tree->CreateParentNode(NODE_ID, RT_UNKNOWN, tree->CreateLeaf(freshVar), tree->CreateLeaf());
+                }
+                type_identifier_list ';' {
+                  pdebug("declarations: type_identifier_list ';'");
+                  /* Fix temporary node */
+                  Node * ptrNode  = $<node>4;
+                  ptrNode->SetReturnType($<node>5->GetReturnType());
+                  ptrNode->GetLeftChild()->GetSymbol()->SetReturnType($<node>5->GetReturnType());
+                  ptrNode->SetRightChild($<node>5);
+
+                  /* Set all symbols to be parameters */
+                  while ( ptrNode->GetNodeType() != NODE_EMPTY ) {
+                    ptrNode->GetLeftChild()->GetSymbol()->SetSymbolType(ST_VARIABLE);
+                    ptrNode = ptrNode->GetRightChild();
+                  }
+                  $<node>$ = $<node>4;
+                }
+                | /* lambda */ {
+                  pdebug("declarations: <lambda>");
+                  $<node>$ = tree->CreateLeaf()  ;
+                }
+                ;
+
+
+type:           standard_type {
+                  pdebug("type: standard_type");
+                  $<returntype>$ = $<returntype>1;
+                }
+                ;
+
+
+standard_type:  INTEGER {
+                  pdebug("standard_type: INTEGER");
+                  $<returntype>$ = RT_INT;
+                }
+
+
+                | REAL {
+                  pdebug("standard_type: REAL");
+                  $<returntype>$ = RT_REAL;
+                }
+                ;
+
+
+subprogram_declarations:
+                subprogram_declarations subprogram_declaration ';' {
+                  pdebug("subprogram_declaration: subprogram_declarations subprogram_declarations ';'");
+                  /* Empty, no actions required */
+                }
+                | /* lambda */ {
+                  pdebug("subprogram_declarations: <lambda>");
+                  /* Empty, no actions required */
+                }
+                ;
+
+
+subprogram_declaration:
+                subprogram_head declarations compound_statement {
+                  pdebug("subprogram_declaration: subprogram_head declarations compound_statement");
+                  tree->AddSubprogram($<symbol>1->GetName(), $<node>3);
+                  // leave subprogram scope
+                  symtab->SetCurrentScope(symtab->GetRootScope()->GetName());
+                }
+                ;
+
+
+subprogram_head:
+                FUNCTION ID {
+                  pdebug("subprogram_head: FUNCTION ID");
+                  check_id(lastID);
+                  /* Create New subprogram */
+                  Symbol * freshProgram = new Symbol_Subprogram();
+                  freshProgram->SetLine(lineno);
+                  freshProgram->SetName(lastID);
+                  freshProgram->SetSymbolType(ST_FUNCTION);
+                  symtab->AddSymbol(freshProgram);
+
+                  /* Subprogram means new scope */
+                  symtab->AddScope(lastID);
+                  symtab->SetCurrentScope(lastID);
+                  Node * freshNode = tree->CreateLeaf(freshProgram);
+                  /* Push fresh function into passing variable */
+                  $<node>$ = freshNode;
+                }
+                arguments ':' standard_type ';' {
+                  pdebug("subprogram_head: arguments ':' standard_type ';'");
+                  /* Set returntype of new function */
+                  Node * ptrNode = $<node>3;
+                  Symbol * ptrSymbol = ptrNode->GetSymbol();
+                  ptrNode->SetReturnType($<returntype>6);
+                  ptrSymbol->SetReturnType($<returntype>6);
+
+                  /* Add parameters to new function */
+                  Node * ptrNodeParam;
+                  ptrNode = $<node>4;
+                  while (ptrNode->GetNodeType() != NODE_EMPTY) {
+                    ptrNodeParam = ptrNode->GetLeftChild();
+                    while (ptrNodeParam->GetNodeType() != NODE_EMPTY) {
+                      ptrSymbol->AddParameter(ptrNodeParam->GetLeftChild()->GetSymbol());
+                      ptrNodeParam = ptrNodeParam->GetRightChild();
+                    }
+                    ptrNode = ptrNode->GetRightChild();
+                  }
+
+                  $<symbol>$ = $<node>3->GetSymbol();
+                }
+                | PROCEDURE ID {
+                  pdebug("subprogram_head: PROCEDURE ID");
+                  /* Looks a bit like a FUNCTION ID clone, but got subtle
+                   * differences in arguments and return values
+                   */
+                  check_id(lastID);
+
+                  /* Procedure mean new subprogram */
+                  Symbol * freshProgram = new Symbol_Subprogram();
+                  freshProgram->SetLine(lineno);
+                  freshProgram->SetName(lastID);
+                  freshProgram->SetSymbolType(ST_PROCEDURE);
+                  freshProgram->SetReturnType(RT_VOID);
+                  symtab->AddSymbol(freshProgram);
+
+                  /* Procedure mean new scope */
+                  symtab->AddScope(lastID);
+                  symtab->SetCurrentScope(lastID);
+                  Node * freshNode = tree->CreateLeaf(freshProgram);
+                  freshNode->SetReturnType(RT_VOID);
+                  $<node>$ = freshNode;
+
+                }
+                arguments ';' {
+                  pdebug("subprogram_head: arguments ';'");
+                  /* Add parameters to procedure */
+                  Node * ptrNode = $<node>4;
+                  Node * ptrNodeParam;
+                  Symbol * ptrSymbol = $<node>3->GetSymbol();
+                  while (ptrNode->GetNodeType() != NODE_EMPTY) {
+                    ptrNodeParam = ptrNode->GetLeftChild();
+                    while (ptrNodeParam->GetNodeType() != NODE_EMPTY) {
+                      ptrSymbol->AddParameter(ptrNodeParam->GetLeftChild()->GetSymbol());
+                      ptrNodeParam = ptrNodeParam->GetRightChild();
+                    }
+                    ptrNode = ptrNode->GetRightChild();
+                  }
+                  $<symbol>$ = $<node>3->GetSymbol();
+                }
+                ;
+
+
+arguments:      '(' parameter_lists ')' {
+                  pdebug("arguments: '(' parameter_lists ')'");
+                  $<node>$ = $<node>2;
+                }
+                | /* lambda */ {
+                  pdebug("arguments: <lambda>");
+                  $<node>$ = tree->CreateLeaf();
+                }
+                ;
+
+
+parameter_lists: parameter_list ';' parameter_lists {
+                  pdebug("parameter_lists: parameter_lists ';' parameter_lists");
+                  $<node>$ = tree->CreateParentNode(NODE_UNKNOWN, RT_VOID, $<node>1, $<node>3);
+                }
+                | parameter_list {
+                  pdebug("parameter_lists: parameter_list");
+                  $<node>$ = tree->CreateParentNode(NODE_UNKNOWN, RT_VOID, $<node>1, tree->CreateLeaf());
+                }
+                ;
+
+
+parameter_list: ID {
+                  pdebug("parameter_list: ID");
+                  /* Create new symbol */
+                  check_id(lastID);
+                  Symbol * freshVar = new Symbol();
+                  symtab->AddSymbol(freshVar);
+
+                  /* Fill with yet known values */
+                  freshVar->SetSymbolType(ST_UNKNOWN);
+                  freshVar->SetName(lastID);
+                  freshVar->SetLine(lineno);
+
+                  /* Temporary add leaf as end node, not yet fully fillable */
+                  $<node>$ = tree->CreateParentNode(NODE_ID, RT_UNKNOWN, tree->CreateLeaf(freshVar), tree->CreateLeaf());
+                }
+                type_identifier_list {
+                  pdebug("parameter_list: type_identifier_list");
+                  /* Fill missing (returnType) information */
+                  Node * ptrNode  = $<node>2;
+                  ptrNode->SetReturnType($<node>3->GetReturnType());
+                  ptrNode->GetLeftChild()->GetSymbol()->SetReturnType($<node>3->GetReturnType());
+                  ptrNode->SetRightChild($<node>3);
+
+                  /* Set all symbols to be parameters */
+                  while ( ptrNode->GetNodeType() != NODE_EMPTY ) {
+                    ptrNode->GetLeftChild()->GetSymbol()->SetSymbolType(ST_PARAMETER);
+                    ptrNode = ptrNode->GetRightChild();
+                  }
+                  $<node>$ = $<node>2;
+                }
+                ;
+
+
+compound_statement:
+                PASCALBEGIN optional_statements END {
+                  pdebug("compound_statement: PASCALBEGIN optional_statements END");
+                  $<node>$ = $<node>2;
+                }
+                ;
+
+
+optional_statements:
+                statement_list {
+                  pdebug("optional_statements: statement_list");
+                  $<node>$ = $<node>1;
+                }
+                | /* lambda */ {
+                  pdebug("optional_statements: <lambda>");
+                  $<node>$ = tree->CreateLeaf();
+                }
+                ;
+
+
+statement_list: statement {
+                  pdebug("statement_list: statement");
+                  $<node>$ = tree->CreateParentNode(NODE_STATEMENT_LIST, RT_VOID,
+                                                    $<node>1, tree->CreateLeaf());
+                }
+                | statement_list ';' statement {
+                  pdebug("statement_list: statement_list ';' statement");
+                  /* Make sure statements, get appended the right way e.g.
+                   * always rightmost of the list
+                   */
+
+                  /* Find the last statement list */
+                  Node *statement_list = $<node>1;
+                  while (statement_list->GetRightChild()->GetNodeType() != NODE_EMPTY) {
+                    statement_list = statement_list->GetRightChild();
+                  }
+                  /* Replace empty node with new statement list */
+                  Node *new_statement_list = tree->CreateParentNode(NODE_STATEMENT_LIST, RT_VOID,
+                                                                    $<node>3, statement_list->GetRightChild());
+                  statement_list->SetRightChild(new_statement_list);
+                  $<node>$ = $<node>1;
+                }
+                ;
+
+
+statement:      variable ASSIGNOP expression {
+                  pdebug("statement: variable ASSIGNOP expression");
+                  ReturnType returntype = $<node>1->GetReturnType();
+                  $<node>$ = tree->CreateParentNode(NODE_ASSIGNMENT, returntype, $<node>1, coerce(returntype, $<node>3));
+                }
+                | procedure_statement {
+                  pdebug("statement: procedure_statement");
+                  $<node>$ = $<node>1;
+                }
+                | compound_statement {
+                  pdebug("statement: compound_statement");
+                  $<node>$ = $<node>1;
+                }
+                | IF boollikeexp THEN statement optional_else_statement {
+                  pdebug("statement: IF boollikeexp THEN statement optional_else_statement");
+                  if ($<node>5->GetNodeType() == NODE_EMPTY) {
+                    /* No ELSE part */
+                    $<node>$ = tree->CreateParentNode(NODE_IF, RT_VOID, $<node>2, $<node>4);
+                  } else {
+                    $<node>$ = tree->CreateParentNode(NODE_IF, RT_VOID, $<node>2,
+                      tree->CreateParentNode(NODE_IF_TARGETS, RT_VOID, $<node>4, $<node>5));
+                  }
+                }
+                | WHILE boollikeexp DO statement {
+                  pdebug("statement: WHILE boollikeexp DO statement");
+                  $<node>$ = tree->CreateParentNode(NODE_WHILE, RT_VOID, $<node>2, $<node>4);
+                }
+                ;
+
+
+optional_else_statement:
+                ELSE statement {
+                  pdebug("optional_else_statement: ELSE statement");
+                  $<node>$ = $<node>2;
+                }
+
+                | /* lambda */ {
+                  pdebug("optional_else_statement: <lambda>");
+                  $<node>$ = tree->CreateLeaf();
+                }
+                ;
+
+
+variable:
+                ID {
+                  pdebug("variable: ID");
+                  /* Find ID in symbol table */
+                  Symbol *symbol = lookup(lastID, ST_VARIABLE);
+
+                  /* symbol found: make sure it is a variable or a function return value */
+                  SymbolType symboltype = symbol->GetSymbolType();
+                  bool isvariable = (symboltype == ST_VARIABLE || symboltype == ST_PARAMETER);
+                  bool isfuncretval = (symboltype == ST_FUNCTION && symtab->GetCurrentScopeName() == lastID);
+                  if ( !isvariable && !isfuncretval ) {
+                    messages.LValueError(lineno, lastID);
+                  }
+                  $<node>$ = tree->CreateLeaf(symbol);
+                }
+                ;
+
+
+procedure_statement:
+                ID {
+                  pdebug("procedure_statement: ID");
+                  /* Lookup ID */
+                  Symbol *symbol = lookup(lastID, ST_PROCEDURE);
+
+                  /* check the type of the symbol */
+                  Node *node = NULL;
+                  switch (symbol->GetSymbolType()) {
+                    case ST_FUNCTION:
+                      node = tree->CreateParentNode(NODE_FUNCTIONCALL, symbol->GetReturnType(),
+                                                        tree->CreateLeaf(symbol), tree->CreateLeaf());
+                      messages.ReturnValueError(lineno, lastID, symbol->GetReturnType());
+                      check_parameters(node);
+                      break;
+                    case ST_PROCEDURE:
+                      node = tree->CreateParentNode(NODE_PROCCALL, RT_VOID,
+                                                        tree->CreateLeaf(symbol), tree->CreateLeaf());
+                      check_parameters(node);
+                      break;
+                    case ST_VARIABLE: /* fall through */
+                    case ST_PARAMETER:
+                    case ST_UNKNOWN:
+                    case ST_ERROR:
+                    case ST_PROGRAM:
+                    case ST_TEMPVAR:
+                    case ST_LABEL:
+                    default:
+                      messages.CallError(lineno, lastID, symbol->GetSymbolType());
+                      /* return dummy NODE_EMPTY, to avoid freeze/crashing tree */
+                      node = tree->CreateLeaf();
+                  }
+                  assert(node != NULL);
+                  $<node>$ = node;
+                }
+                | ID {
+                  /* Lookup ID */
+                  $<symbol>$ = lookup(lastID, ST_PROCEDURE);
+                }
+                '(' expression_list ')' {
+                  pdebug("procedure_statement: ID '(' expression_list ')'");
+                  /* check the type of the symbol */
+                  Symbol *symbol = $<symbol>2;
+                  Node *node = NULL;
+                  switch (symbol->GetSymbolType()) {
+                    case ST_FUNCTION:
+                      node = tree->CreateParentNode(NODE_FUNCTIONCALL, symbol->GetReturnType(),
+                                                        tree->CreateLeaf(symbol), $<node>4);
+                      messages.ReturnValueError(lineno, lastID, symbol->GetReturnType());
+                      check_parameters(node);
+                      break;
+                    case ST_PROCEDURE:
+                      node = tree->CreateParentNode(NODE_PROCCALL, symbol->GetReturnType(),
+                                                        tree->CreateLeaf(symbol), $<node>4);
+                      check_parameters(node);
+                      break;
+                    case ST_VARIABLE: /* fall through */
+                    case ST_PARAMETER:
+                    case ST_UNKNOWN:
+                    case ST_ERROR:
+                    case ST_PROGRAM:
+                    case ST_TEMPVAR:
+                    case ST_LABEL:
+                    default:
+                      messages.CallError(lineno, symbol->GetName(), symbol->GetSymbolType());
+                      /* return dummy NODE_EMPTY, to avoid freeze/crashing tree */
+                      node = tree->CreateLeaf();
+                  }
+                  assert(node != NULL);
+                  $<node>$ = node;
+                }
+                ;
+
+expression_list:
+                expression {
+                  pdebug("expression_list: expression");
+                  $<node>$ = tree->CreateParentNode(NODE_EXPRLIST, RT_VOID, $<node>1, tree->CreateLeaf());
+                }
+                | expression ',' expression_list {
+                  pdebug("expression_list: expression ',' expression_list");
+                  $<node>$ = tree->CreateParentNode(NODE_EXPRLIST, RT_VOID, $<node>1, $<node>3);
+                }
+                ;
+
+boollikeexp:    expression RELOP expression {
+                  pdebug("boollikeexp: expression RELOP expression");
+                  ReturnType returnType = minimumtype($<node>1->GetReturnType(), $<node>3->GetReturnType());
+                  Node *node_relop = NULL;
+                  /* Find proper nodeType = mapping lastOP 1:1 NODE_* */
+                  NodeType nodeType = NODE_UNKNOWN;
+                  if (lastOP == "=") {
+                    nodeType = NODE_REL_EQUAL;
+                  } else if (lastOP == "<") {
+                    nodeType = NODE_REL_LT;
+                  } else if (lastOP == ">") {
+                    nodeType = NODE_REL_GT;
+                  } else if (lastOP == "<=") {
+                    nodeType = NODE_REL_LTE;
+                  } else if (lastOP == ">=") {
+                    nodeType = NODE_REL_GTE;
+                  } else if (lastOP == "<>") {
+                    nodeType = NODE_REL_NOTEQUAL;
+                  }
+                  node_relop = tree->CreateParentNode(nodeType, RT_BOOL, coerce(returnType, $<node>1), 
+                                                      coerce(returnType, $<node>3));
+                  $<node>$ = tree->CreateParentNode(NODE_BOOLEXPR, RT_BOOL, node_relop);
+                }
+                | '(' boollikeexp ')' {
+                  pdebug("boollikeexp: '(' boollikeexp ')'");
+                   /* to allow stuff like "if (a > 3) then" */
+                  $<node>$ = $<node>2;
+                }
+                ;
+
+
+expression:     simple_expression {
+                  pdebug("expression: simple_expression");
+                  $<node>$ = $<node>1;
+                }
+                ;
+
+
+simple_expression:
+                term {
+                  pdebug("simple_expression: term");
+                  $<node>$ = $<node>1;
+                }
+                | signplus term {
+                  pdebug("simple_expression: signplus term");
+                  $<node>$ = tree->CreateParentNode(NODE_SIGNMINUS, $<node>2->GetReturnType(), $<node>2);
+                }
+                | signminus term {
+                  pdebug("simple_expression: signminus term");
+                  $<node>$ = tree->CreateParentNode(NODE_SIGNPLUS, $<node>2->GetReturnType(), $<node>2);
+                }
+                | simple_expression '+' term {
+                  pdebug("simple_expression: simple_expression '+' term");
+                  ReturnType returnType = minimumtype($<node>1->GetReturnType(), $<node>3->GetReturnType());
+                  $<node>$ = tree->CreateParentNode(NODE_ADD, returnType, coerce(returnType, $<node>1), 
+                                                    coerce(returnType, $<node>3));
+                }
+
+                | simple_expression '-' term {
+                  pdebug("simple_expression: simple_expression '-' term");
+                  ReturnType returnType = minimumtype($<node>1->GetReturnType(), $<node>3->GetReturnType());
+                  $<node>$ = tree->CreateParentNode(NODE_SUB, returnType, coerce(returnType, $<node>1), 
+                                                    coerce(returnType, $<node>3));
+                }
+                | simple_expression ADDOP term {
+                  pdebug("simple_expression: simple_expression ADDOP term");
+                  /* According to ../tests/varia/no_real_in_boolean_expr.p1 no
+                   * reals allowed in boolean expressions, so set returnType and coerce will TypeError
+                   */
+                  ReturnType returnType = RT_INT;
+                  $<node>$ = tree->CreateParentNode(NODE_OR, returnType, coerce(returnType, $<node>1), 
+                                                    coerce(returnType, $<node>3));
+                }
+                ;
+
+
+term:           factor {
+                  pdebug("term: factor");
+                  $<node>$ = $<node>1;
+                }
+                | term MULOP factor {
+                  pdebug("term: term MULOP factor");
+                  ReturnType returnType = minimumtype($<node>1->GetReturnType(), $<node>3->GetReturnType());
+                  if (lastOP == "*") {
+                    $<node>$ = tree->CreateParentNode(NODE_MUL, returnType, coerce(returnType, $<node>1),
+                                                      coerce(returnType, $<node>3));
+                  } else if (lastOP == "/") {
+                    // real division operator always returns real
+                    $<node>$ = tree->CreateParentNode(NODE_DIV, RT_REAL, coerce(RT_REAL, $<node>1),
+                                                      coerce(RT_REAL, $<node>3));
+                  } else if (lastOP == "div") {
+                    // integer division operator always returns integer
+                    $<node>$ = tree->CreateParentNode(NODE_IDIV, RT_INT, coerce(RT_INT, $<node>1),
+                                                      coerce(RT_INT, $<node>3));
+                  } else if (lastOP == "mod") {
+                    // only works on integers
+                    $<node>$ = tree->CreateParentNode(NODE_MOD, RT_INT, coerce(RT_INT, $<node>1),
+                                                      coerce(RT_INT, $<node>3));
+                  } else if (lastOP == "and") {
+                    /* Bitwise operator, not allowed on reals, coerce will TypeError */
+                    returnType = RT_INT;
+                    $<node>$ = tree->CreateParentNode(NODE_AND, returnType, coerce(returnType, $<node>1), 
+                                                      coerce(returnType, $<node>3));
+                  }
+                }
+                ;
+
+
+factor:         ID {
+                  pdebug("factor: ID");
+                  /* Lookup ID */
+                  Symbol *symbol = lookup(lastID, ST_VARIABLE);
+
+                  /* check the type of the symbol */
+                  Node *node = NULL;
+                  switch (symbol->GetSymbolType()) {
+                    case ST_VARIABLE: /* fall through */
+                    case ST_PARAMETER:
+                      node = tree->CreateLeaf(symbol);
+                      break;
+                    case ST_FUNCTION:
+                      node = tree->CreateParentNode(NODE_FUNCTIONCALL, symbol->GetReturnType(),
+                                                        tree->CreateLeaf(symbol), tree->CreateLeaf());
+                      check_parameters(node);
+                      break;
+                    case ST_PROCEDURE: /* fall through */
+                    case ST_UNKNOWN:
+                    case ST_ERROR:
+                    case ST_PROGRAM:
+                    case ST_TEMPVAR:
+                    case ST_LABEL:
+                    default:
+                      messages.RValueError(lineno, lastID, symbol->GetSymbolType());
+                      /* return dummy NODE_EMPTY, to avoid crashing/freezing tree */
+                      node = tree->CreateLeaf();
+                  }
+                  assert(node != NULL);
+                  $<node>$ = node;
+                }
+                | ID {
+                  /* Lookup ID */
+                  $<symbol>$ = lookup(lastID, ST_FUNCTION);
+                }
+                '(' expression_list ')' {
+                  pdebug("factor: ID '(' expression_list ')'");
+                  /* check the type of the symbol */
+                  Node *node = NULL;
+                  Symbol *symbol = $<symbol>2;
+                  switch (symbol->GetSymbolType()) {
+                    case ST_FUNCTION:
+                      node = tree->CreateParentNode(NODE_FUNCTIONCALL, symbol->GetReturnType(),
+                                                        tree->CreateLeaf(symbol), $<node>4);
+                      check_parameters(node);
+                      break;
+                    case ST_PROCEDURE:
+                      node = tree->CreateParentNode(NODE_PROCCALL, symbol->GetReturnType(),
+                                                        tree->CreateLeaf(symbol), $<node>4);
+                      check_parameters(node);
+                      break;
+                    case ST_VARIABLE: /* fall through */
+                    case ST_PARAMETER:
+                    case ST_UNKNOWN:
+                    case ST_ERROR:
+                    case ST_PROGRAM:
+                    case ST_TEMPVAR:
+                    case ST_LABEL:
+                    default:
+                      messages.CallError(lineno, symbol->GetName(), symbol->GetSymbolType());
+                      /* return dummy NODE_EMPTY, to avoid crashing/freezing tree */
+                      node = tree->CreateLeaf();
+                  }
+                  assert(node != NULL);
+                  $<node>$ = node;
+                }
+                | NUM {
+                  pdebug("factor: NUM");
+                  /* XXX: Hack to find out whether value is set to be real or
+                   * integer, should really be something which needs to be done
+                   * by the lexer, but we are not allowed to alter the language
+                   * during this assignment
+                   */
+                  if (lastNUM.find_first_of(".E") != string::npos) {
+                    /* found real */
+                    float value = atof(lastNUM.c_str());
+                    $<node>$ = tree->CreateLeaf(value);
+                  } else {
+                    /* found integer */
+                    int value = atoi(lastNUM.c_str());
+                    $<node>$ = tree->CreateLeaf(value);
+                  }
+                }
+                | '(' expression ')' {
+                  pdebug("factor: '(' expression ')'");
+                  $<node>$ = $<node>2;
+                }
+                | NOT factor {
+                   pdebug("factor: NOT factor");
+                   /* Bitwise operator, no real allowed, coerce will TypeError */
+                   ReturnType returnType = RT_INT;
+                   $<node>$ = tree->CreateParentNode(NODE_NOT, returnType, coerce(returnType, $<node>2));
+                }
+                ;
+
+
+signplus:       '+' {
+                  pdebug("signplus: '+'");
+                }
+                ;
+
+signminus:      '-' %prec UMINUS {
+                  pdebug("signminus: '-' \%prec UMINUS");
+                }
+                ;
+
+%%
+
+/* End of rules, more C code will follow now */
+
+void initialize()
+{
+  /* Create & initialize the abstract data structures */
+  tree = new SyntaxTree;
+  symtab = new SymbolTable;
+}
+
+void cleanup()
+{
+  /* Free objects */
+  delete tree;
+  delete symtab;
+}
+
+/* Nice usage warning, for the ones in need */
+void usage()
+{
+  fprintf(stderr, "Arguments:\n");
+  fprintf(stderr, "-v[vv] = more verbose output\n");
+  fprintf(stderr, "-q[qq] = less verbose output\n");
+  fprintf(stderr, "-w = turn on warning messages\n");
+  fprintf(stderr, "-n = turn off warning messages\n");
+  fprintf(stderr, "-h = usage\n");
+  exit(EX_USAGE);
+}
+
+int main(int argc, char * argv[])
+{
+  int parseResult;
+  int ch;
+
+  /* Set trace settings */
+  while ((ch = getopt(argc, argv, "hnqvw")) != -1) {
+    switch (ch) {
+    case 'v':
+        msglevel += 30;
+        break;
+    case 'q':
+        msglevel -= 30;
+        break;
+    case 'w':
+        messages.EnableWarnings();
+        break;
+    case 'n':
+        messages.DisableWarnings();
+        break;
+    case 'h':
+    default:
+      usage();
+    }
+  }
+
+  initialize();
+
+  /* Start the parsing procedure */
+  parseResult = yyparse();
+  messages.ShowNumbers();
+
+  /* Dump the syntax tree & symbol table */
+  tree->Dump (stdout);
+  printf("\n");
+  symtab->Dump (stdout);
+
+  cleanup();
+
+  /* Return the exit code. Note that the exit code does not depend on
+   * parseResult only, but also on the result of your semantic checks
+   */
+  return (parseResult == 0 && messages.GetErrors() == 0) ? 0 : 1;
+}
+
+
+static void yyerror(const char *s)
+{
+  fprintf(stderr, "line %d: %s\n", lineno, s);
+}
+
+int yywrap()
+{
+  return(1);
+}
Index: /liacs/coco/assignment2/debug.c
===================================================================
--- /liacs/coco/assignment2/debug.c	(revision 2)
+++ /liacs/coco/assignment2/debug.c	(revision 2)
@@ -0,0 +1,22 @@
+#include "debug.h"
+#include "types.h"
+
+extern int msglevel; /* the higher, the more messages... */
+
+void pmesg(int level, const char* format, ...) {
+  va_list args;
+
+  if (level <= msglevel) {
+    va_start(args, format);
+    vfprintf(stderr, format, args);
+    va_end(args);
+  }
+}
+
+void pmesg_node(int level, const Node& n)
+{
+	Node &node = const_cast<Node&>(n);
+	const char * const node_type_str = NodeTypeToString(node.GetNodeType());
+	const char * const return_type_str = ReturnTypeToString(node.GetReturnType());
+	pmesg(level, "Parser: Node: %s; Type: %s;\n", node_type_str, return_type_str);
+}
Index: /liacs/coco/assignment2/debug.h
===================================================================
--- /liacs/coco/assignment2/debug.h	(revision 2)
+++ /liacs/coco/assignment2/debug.h	(revision 2)
@@ -0,0 +1,18 @@
+#ifndef _DEBUG_H
+#define _DEBUG_H
+#include <stdio.h>
+#include <stdarg.h>
+#include "Node.h"
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+void pmesg(int level, const char *format, ...);
+void pmesg_node(int level, const Node& node);
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif
Index: /liacs/coco/assignment2/debug.sh
===================================================================
--- /liacs/coco/assignment2/debug.sh	(revision 2)
+++ /liacs/coco/assignment2/debug.sh	(revision 2)
@@ -0,0 +1,9 @@
+#!/bin/sh
+#
+# Trivial debug script, display test case, compile and run, and display
+# testcase again
+
+TESTFILE=${1-../tests/simple/correct1.p0}
+cat -n $TESTFILE
+make && ./comp -vvvv -w  < $TESTFILE
+cat -n $TESTFILE
Index: /liacs/coco/assignment2/dotests
===================================================================
--- /liacs/coco/assignment2/dotests	(revision 2)
+++ /liacs/coco/assignment2/dotests	(revision 2)
@@ -0,0 +1,80 @@
+#!/usr/bin/perl -w
+use strict; no strict 'vars';
+
+########################################################################
+# Configuration options.
+
+# Your compiler
+$compiler = './comp';
+
+# Name of the log file.
+$log = 'test-runs-log';
+
+# Verbose log (includes output for succesful runs)?
+$verbose = 0;
+
+# List of tops of directory trees with tests.
+$testdir = '../tests/';
+$dirfile = $testdir.'dirs';
+
+########################################################################
+
+
+$me = `whoami`;
+chomp($me);
+$templog = '/tmp/' . $me . '-log';
+
+system("rm -f $log");
+
+if (! -x $compiler) {
+  die ("Cannot execute \"$compiler\"");
+}
+
+$success = 0;
+$failure = 0;
+
+$| = 1;
+open(TESTS, "find `cat $dirfile` -type f -name '*.p?'  2> /dev/null |") or die;
+undef $/;
+$_ = <TESTS>;
+@test = split;
+close(TESTS);
+
+foreach $test (@test) {
+  if (! -r $test) {
+    print STDERR "Skipping unreadable test $test\n";
+  }
+
+  print STDERR "Doing test $test\n";
+  system("echo Doing test $test >> $log");
+
+  $test =~ m/^.*\.p([01])$/;
+  $expected = $1;
+
+  # Call the compiler; all output to $templog
+  system("$compiler < $test 2> $templog > $templog");
+
+  $exitval = $? >> 8;
+  if ($exitval == $expected) {
+    $success++;
+    system("echo Succeeded >> $log");
+    if ($verbose) {
+      system("cat $templog >> $log");
+    }
+  } else {
+    print "Failed test \"$test\" with exitcode $exitval \n";
+    system("cat $templog >> $log");
+    system("echo Failed test $test with exitcode $exitval >> $log");
+    $failure++;
+  }
+}
+
+open(RES, "| tee -a $log");
+print RES "\n\n";
+print RES "#tests: ", $success + $failure, "\n";
+print RES "#successes: $success\n";
+print RES "#failures: $failure\n";
+printf RES "Success rate: %3.2f %%\n", (100 * $success / ($success + $failure));
+close(RES);
+
+exit ($failure == 0);
Index: /liacs/coco/assignment2/gen/lex.yy.c
===================================================================
--- /liacs/coco/assignment2/gen/lex.yy.c	(revision 2)
+++ /liacs/coco/assignment2/gen/lex.yy.c	(revision 2)
@@ -0,0 +1,1946 @@
+#line 2 "gen/lex.yy.c"
+
+#line 4 "gen/lex.yy.c"
+
+#define  YY_INT_ALIGNED short int
+
+/* A lexical scanner generated by flex */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+#define YY_FLEX_SUBMINOR_VERSION 33
+#if YY_FLEX_SUBMINOR_VERSION > 0
+#define FLEX_BETA
+#endif
+
+/* First, we deal with  platform-specific or compiler-specific issues. */
+
+/* begin standard C headers. */
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+
+/* end standard C headers. */
+
+/* flex integer type definitions */
+
+#ifndef FLEXINT_H
+#define FLEXINT_H
+
+/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
+
+#if __STDC_VERSION__ >= 199901L
+
+/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
+ * if you want the limit (max/min) macros for int types. 
+ */
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+
+#include <inttypes.h>
+typedef int8_t flex_int8_t;
+typedef uint8_t flex_uint8_t;
+typedef int16_t flex_int16_t;
+typedef uint16_t flex_uint16_t;
+typedef int32_t flex_int32_t;
+typedef uint32_t flex_uint32_t;
+#else
+typedef signed char flex_int8_t;
+typedef short int flex_int16_t;
+typedef int flex_int32_t;
+typedef unsigned char flex_uint8_t; 
+typedef unsigned short int flex_uint16_t;
+typedef unsigned int flex_uint32_t;
+#endif /* ! C99 */
+
+/* Limits of integral types. */
+#ifndef INT8_MIN
+#define INT8_MIN               (-128)
+#endif
+#ifndef INT16_MIN
+#define INT16_MIN              (-32767-1)
+#endif
+#ifndef INT32_MIN
+#define INT32_MIN              (-2147483647-1)
+#endif
+#ifndef INT8_MAX
+#define INT8_MAX               (127)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX              (32767)
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX              (2147483647)
+#endif
+#ifndef UINT8_MAX
+#define UINT8_MAX              (255U)
+#endif
+#ifndef UINT16_MAX
+#define UINT16_MAX             (65535U)
+#endif
+#ifndef UINT32_MAX
+#define UINT32_MAX             (4294967295U)
+#endif
+
+#endif /* ! FLEXINT_H */
+
+#ifdef __cplusplus
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else	/* ! __cplusplus */
+
+#if __STDC__
+
+#define YY_USE_CONST
+
+#endif	/* __STDC__ */
+#endif	/* ! __cplusplus */
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index.  If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition.  This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN (yy_start) = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state.  The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START (((yy_start) - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE yyrestart(yyin  )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#ifndef YY_BUF_SIZE
+#define YY_BUF_SIZE 16384
+#endif
+
+/* The state buf must be large enough to hold one state per character in the main buffer.
+ */
+#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
+
+#ifndef YY_TYPEDEF_YY_BUFFER_STATE
+#define YY_TYPEDEF_YY_BUFFER_STATE
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+#endif
+
+extern int yyleng;
+
+extern FILE *yyin, *yyout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+    #define YY_LESS_LINENO(n)
+    
+/* Return all but the first "n" matched characters back to the input stream. */
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up yytext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		*yy_cp = (yy_hold_char); \
+		YY_RESTORE_YY_MORE_OFFSET \
+		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
+		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+		} \
+	while ( 0 )
+
+#define unput(c) yyunput( c, (yytext_ptr)  )
+
+/* The following is because we cannot portably get our hands on size_t
+ * (without autoconf's help, which isn't available because we want
+ * flex-generated scanners to compile on their own).
+ */
+
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef unsigned int yy_size_t;
+#endif
+
+#ifndef YY_STRUCT_YY_BUFFER_STATE
+#define YY_STRUCT_YY_BUFFER_STATE
+struct yy_buffer_state
+	{
+	FILE *yy_input_file;
+
+	char *yy_ch_buf;		/* input buffer */
+	char *yy_buf_pos;		/* current position in input buffer */
+
+	/* Size of input buffer in bytes, not including room for EOB
+	 * characters.
+	 */
+	yy_size_t yy_buf_size;
+
+	/* Number of characters read into yy_ch_buf, not including EOB
+	 * characters.
+	 */
+	int yy_n_chars;
+
+	/* Whether we "own" the buffer - i.e., we know we created it,
+	 * and can realloc() it to grow it, and should free() it to
+	 * delete it.
+	 */
+	int yy_is_our_buffer;
+
+	/* Whether this is an "interactive" input source; if so, and
+	 * if we're using stdio for input, then we want to use getc()
+	 * instead of fread(), to make sure we stop fetching input after
+	 * each newline.
+	 */
+	int yy_is_interactive;
+
+	/* Whether we're considered to be at the beginning of a line.
+	 * If so, '^' rules will be active on the next match, otherwise
+	 * not.
+	 */
+	int yy_at_bol;
+
+    int yy_bs_lineno; /**< The line count. */
+    int yy_bs_column; /**< The column count. */
+    
+	/* Whether to try to fill the input buffer when we reach the
+	 * end of it.
+	 */
+	int yy_fill_buffer;
+
+	int yy_buffer_status;
+
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+	/* When an EOF's been seen but there's still some text to process
+	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+	 * shouldn't try reading from the input source any more.  We might
+	 * still have a bunch of tokens to match, though, because of
+	 * possible backing-up.
+	 *
+	 * When we actually see the EOF, we change the status to "new"
+	 * (via yyrestart()), so that the user can continue scanning by
+	 * just pointing yyin at a new input file.
+	 */
+#define YY_BUFFER_EOF_PENDING 2
+
+	};
+#endif /* !YY_STRUCT_YY_BUFFER_STATE */
+
+/* Stack of input buffers. */
+static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
+static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
+static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ *
+ * Returns the top of the stack, or NULL.
+ */
+#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+                          : NULL)
+
+/* Same as previous macro, but useful when we know that the buffer stack is not
+ * NULL or when we need an lvalue. For internal use only.
+ */
+#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
+
+/* yy_hold_char holds the character lost when yytext is formed. */
+static char yy_hold_char;
+static int yy_n_chars;		/* number of characters read into yy_ch_buf */
+int yyleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 0;		/* whether we need to initialize */
+static int yy_start = 0;	/* start state number */
+
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin.  A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void yyrestart (FILE *input_file  );
+void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
+YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
+void yy_delete_buffer (YY_BUFFER_STATE b  );
+void yy_flush_buffer (YY_BUFFER_STATE b  );
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
+void yypop_buffer_state (void );
+
+static void yyensure_buffer_stack (void );
+static void yy_load_buffer_state (void );
+static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
+
+#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
+
+YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
+YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
+YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len  );
+
+void *yyalloc (yy_size_t  );
+void *yyrealloc (void *,yy_size_t  );
+void yyfree (void *  );
+
+#define yy_new_buffer yy_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){ \
+        yyensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            yy_create_buffer(yyin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+	}
+
+#define yy_set_bol(at_bol) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){\
+        yyensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            yy_create_buffer(yyin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+	}
+
+#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
+
+/* Begin user sect3 */
+
+typedef unsigned char YY_CHAR;
+
+FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+
+typedef int yy_state_type;
+
+extern int yylineno;
+
+int yylineno = 1;
+
+extern char *yytext;
+#define yytext_ptr yytext
+
+static yy_state_type yy_get_previous_state (void );
+static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
+static int yy_get_next_buffer (void );
+static void yy_fatal_error (yyconst char msg[]  );
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+#define YY_DO_BEFORE_ACTION \
+	(yytext_ptr) = yy_bp; \
+	yyleng = (size_t) (yy_cp - yy_bp); \
+	(yy_hold_char) = *yy_cp; \
+	*yy_cp = '\0'; \
+	(yy_c_buf_p) = yy_cp;
+
+#define YY_NUM_RULES 25
+#define YY_END_OF_BUFFER 26
+/* This struct is not used in this scanner,
+   but its presence is necessary. */
+struct yy_trans_info
+	{
+	flex_int32_t yy_verify;
+	flex_int32_t yy_nxt;
+	};
+static yyconst flex_int16_t yy_accept[99] =
+    {   0,
+        0,    0,   26,   24,   23,   22,   18,    1,   24,   16,
+       16,   16,   20,   20,   20,   20,   20,   20,   20,   20,
+       20,   20,   20,   20,   20,   20,   20,   24,   23,    0,
+        1,    0,   15,   16,   20,   20,   20,   20,    7,   20,
+       20,   20,    3,   20,   20,   20,   17,   20,   20,   20,
+       20,   20,    0,   21,    1,    0,    1,   18,   20,   20,
+        9,   20,   20,   19,   20,   20,   20,   12,   20,    1,
+        1,   20,    5,   20,   20,   20,   20,   14,    4,   20,
+        8,   20,   20,   20,   20,    6,   20,   20,   20,   20,
+       20,   13,   20,    2,   11,   20,   10,    0
+
+    } ;
+
+static yyconst flex_int32_t yy_ec[256] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    2,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    4,    5,    1,    6,    7,    8,    9,    9,    9,
+        9,    9,    9,    9,    9,    9,    9,   10,    1,   11,
+       12,   13,    1,    1,   14,   14,   14,   14,   15,   14,
+       14,   14,   14,   14,   14,   14,   14,   14,   14,   14,
+       14,   14,   14,   14,   14,   14,   14,   14,   14,   14,
+        1,    1,    1,    1,    1,    1,   16,   17,   18,   19,
+
+       20,   21,   22,   23,   24,   14,   14,   25,   26,   27,
+       28,   29,   14,   30,   31,   32,   33,   34,   35,   14,
+       14,   14,   36,    1,   37,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1
+    } ;
+
+static yyconst flex_int32_t yy_meta[38] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    2,    1,
+        1,    1,    1,    2,    2,    2,    2,    2,    2,    2,
+        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
+        2,    2,    2,    2,    2,    3,    1
+    } ;
+
+static yyconst flex_int16_t yy_base[101] =
+    {   0,
+        0,    0,  123,  124,  120,  124,  124,   31,  109,   29,
+      124,  108,    0,   92,   98,   15,   20,   84,   23,   88,
+       87,   84,   83,   92,   88,   94,   86,   71,  105,   97,
+       42,   47,  124,  124,    0,   86,   82,   69,    0,   71,
+       82,   73,    0,   67,   79,   65,    0,   68,   79,   74,
+       63,   68,   54,  124,   39,   81,   80,    0,   64,   67,
+        0,   68,   65,    0,   37,   59,   56,    0,   57,   49,
+       72,   53,    0,   47,   56,   57,   46,    0,    0,   55,
+        0,   50,   53,   53,   55,    0,   42,   39,   35,   41,
+       36,    0,   32,    0,    0,   41,    0,  124,   58,   64
+
+    } ;
+
+static yyconst flex_int16_t yy_def[101] =
+    {   0,
+       98,    1,   98,   98,   98,   98,   98,   98,   98,   98,
+       98,   98,   99,   99,   99,   99,   99,   99,   99,   99,
+       99,   99,   99,   99,   99,   99,   99,  100,   98,   98,
+       98,   98,   98,   98,   99,   99,   99,   99,   99,   99,
+       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
+       99,   99,  100,   98,   98,   98,   98,   99,   99,   99,
+       99,   99,   99,   99,   99,   99,   99,   99,   99,   98,
+       98,   99,   99,   99,   99,   99,   99,   99,   99,   99,
+       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
+       99,   99,   99,   99,   99,   99,   99,    0,   98,   98
+
+    } ;
+
+static yyconst flex_int16_t yy_nxt[162] =
+    {   0,
+        4,    5,    6,    7,    4,    4,    4,    7,    8,    9,
+       10,   11,   12,   13,   13,   14,   15,   13,   16,   17,
+       18,   13,   13,   19,   13,   20,   21,   22,   23,   24,
+       13,   25,   13,   26,   27,   28,    4,   30,   38,   31,
+       34,   34,   39,   43,   40,   32,   41,   70,   30,   44,
+       31,   56,   56,   32,   76,   57,   32,   70,   77,   35,
+       97,   96,   95,   32,   53,   53,   94,   93,   92,   91,
+       90,   89,   88,   87,   86,   85,   84,   83,   82,   81,
+       71,   80,   79,   78,   75,   74,   73,   72,   71,   57,
+       54,   69,   68,   67,   66,   65,   64,   58,   63,   62,
+
+       61,   60,   58,   59,   58,   55,   29,   54,   52,   51,
+       50,   49,   48,   47,   46,   45,   42,   37,   36,   34,
+       33,   29,   98,    3,   98,   98,   98,   98,   98,   98,
+       98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
+       98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
+       98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
+       98
+    } ;
+
+static yyconst flex_int16_t yy_chk[162] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    8,   16,    8,
+       10,   10,   16,   19,   17,    8,   17,   55,   31,   19,
+       31,   32,   32,   55,   65,   32,   31,   70,   65,   99,
+       96,   93,   91,   70,  100,  100,   90,   89,   88,   87,
+       85,   84,   83,   82,   80,   77,   76,   75,   74,   72,
+       71,   69,   67,   66,   63,   62,   60,   59,   57,   56,
+       53,   52,   51,   50,   49,   48,   46,   45,   44,   42,
+
+       41,   40,   38,   37,   36,   30,   29,   28,   27,   26,
+       25,   24,   23,   22,   21,   20,   18,   15,   14,   12,
+        9,    5,    3,   98,   98,   98,   98,   98,   98,   98,
+       98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
+       98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
+       98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
+       98
+    } ;
+
+static yy_state_type yy_last_accepting_state;
+static char *yy_last_accepting_cpos;
+
+extern int yy_flex_debug;
+int yy_flex_debug = 0;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *yytext;
+#line 1 "comp.l"
+/* C declarations */
+#line 3 "comp.l"
+ 
+#include <stdio.h>
+#include <string>
+#include "debug.h"
+#include "Node.h"
+#include "y.tab.h"
+#include "types.h"
+
+/* extern C declarations */
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+/* should be defined in stdio.h */
+extern int fileno(FILE *);
+
+#if defined(__cplusplus)
+}
+#endif
+
+
+int lineno = 1;
+string lastID;
+string lastNUM;
+
+/* Patterns */
+#line 549 "gen/lex.yy.c"
+
+#define INITIAL 0
+
+#ifndef YY_NO_UNISTD_H
+/* Special case for "unistd.h", since it is non-ANSI. We include it way
+ * down here because we want the user's section 1 to have been scanned first.
+ * The user has a chance to override it with an option.
+ */
+#include <unistd.h>
+#endif
+
+#ifndef YY_EXTRA_TYPE
+#define YY_EXTRA_TYPE void *
+#endif
+
+static int yy_init_globals (void );
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap (void );
+#else
+extern int yywrap (void );
+#endif
+#endif
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char *,yyconst char *,int );
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * );
+#endif
+
+#ifndef YY_NO_INPUT
+
+#ifdef __cplusplus
+static int yyinput (void );
+#else
+static int input (void );
+#endif
+
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
+#endif
+
+/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
+		{ \
+		int c = '*'; \
+		size_t n; \
+		for ( n = 0; n < max_size && \
+			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+			buf[n] = (char) c; \
+		if ( c == '\n' ) \
+			buf[n++] = (char) c; \
+		if ( c == EOF && ferror( yyin ) ) \
+			YY_FATAL_ERROR( "input in flex scanner failed" ); \
+		result = n; \
+		} \
+	else \
+		{ \
+		errno=0; \
+		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
+			{ \
+			if( errno != EINTR) \
+				{ \
+				YY_FATAL_ERROR( "input in flex scanner failed" ); \
+				break; \
+				} \
+			errno=0; \
+			clearerr(yyin); \
+			} \
+		}\
+\
+
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* end tables serialization structures and prototypes */
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL_IS_OURS 1
+
+extern int yylex (void);
+
+#define YY_DECL int yylex (void)
+#endif /* !YY_DECL */
+
+/* Code executed at the beginning of each rule, after yytext and yyleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+	YY_USER_ACTION
+
+/** The main scanner function which does all the work.
+ */
+YY_DECL
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp, *yy_bp;
+	register int yy_act;
+    
+#line 43 "comp.l"
+
+
+#line 703 "gen/lex.yy.c"
+
+	if ( !(yy_init) )
+		{
+		(yy_init) = 1;
+
+#ifdef YY_USER_INIT
+		YY_USER_INIT;
+#endif
+
+		if ( ! (yy_start) )
+			(yy_start) = 1;	/* first start state */
+
+		if ( ! yyin )
+			yyin = stdin;
+
+		if ( ! yyout )
+			yyout = stdout;
+
+		if ( ! YY_CURRENT_BUFFER ) {
+			yyensure_buffer_stack ();
+			YY_CURRENT_BUFFER_LVALUE =
+				yy_create_buffer(yyin,YY_BUF_SIZE );
+		}
+
+		yy_load_buffer_state( );
+		}
+
+	while ( 1 )		/* loops until end-of-file is reached */
+		{
+		yy_cp = (yy_c_buf_p);
+
+		/* Support of yytext. */
+		*yy_cp = (yy_hold_char);
+
+		/* yy_bp points to the position in yy_ch_buf of the start of
+		 * the current run.
+		 */
+		yy_bp = yy_cp;
+
+		yy_current_state = (yy_start);
+yy_match:
+		do
+			{
+			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+			if ( yy_accept[yy_current_state] )
+				{
+				(yy_last_accepting_state) = yy_current_state;
+				(yy_last_accepting_cpos) = yy_cp;
+				}
+			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+				{
+				yy_current_state = (int) yy_def[yy_current_state];
+				if ( yy_current_state >= 99 )
+					yy_c = yy_meta[(unsigned int) yy_c];
+				}
+			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+			++yy_cp;
+			}
+		while ( yy_base[yy_current_state] != 124 );
+
+yy_find_action:
+		yy_act = yy_accept[yy_current_state];
+		if ( yy_act == 0 )
+			{ /* have to back up */
+			yy_cp = (yy_last_accepting_cpos);
+			yy_current_state = (yy_last_accepting_state);
+			yy_act = yy_accept[yy_current_state];
+			}
+
+		YY_DO_BEFORE_ACTION;
+
+do_action:	/* This label is used only to access EOF actions. */
+
+		switch ( yy_act )
+	{ /* beginning of action switch */
+			case 0: /* must back up */
+			/* undo the effects of YY_DO_BEFORE_ACTION */
+			*yy_cp = (yy_hold_char);
+			yy_cp = (yy_last_accepting_cpos);
+			yy_current_state = (yy_last_accepting_state);
+			goto yy_find_action;
+
+case 1:
+YY_RULE_SETUP
+#line 45 "comp.l"
+{
+                  pmesg(90, "Lexer: NUM: %s\n", yytext);
+                  lastNUM = (string) yytext;
+                  return NUM;
+                }
+	YY_BREAK
+case 2:
+YY_RULE_SETUP
+#line 51 "comp.l"
+{
+                  pmesg(90, "Lexer: PROGRAM: %s\n", yytext);
+                  return PROGRAM;
+                }
+	YY_BREAK
+case 3:
+YY_RULE_SETUP
+#line 56 "comp.l"
+{
+                  pmesg(90, "Lexer: IF: %s\n", yytext);
+                  return IF;
+                }
+	YY_BREAK
+case 4:
+YY_RULE_SETUP
+#line 61 "comp.l"
+{
+                  pmesg(90, "Lexer: THEN: %s\n", yytext);
+                  return THEN;
+                }
+	YY_BREAK
+case 5:
+YY_RULE_SETUP
+#line 66 "comp.l"
+{
+                  pmesg(90, "Lexer: ELSE: %s\n", yytext);
+                  return ELSE;
+                }
+	YY_BREAK
+case 6:
+YY_RULE_SETUP
+#line 71 "comp.l"
+{
+                  pmesg(90, "Lexer: WHILE: %s\n", yytext);
+                  return WHILE;
+                }
+	YY_BREAK
+case 7:
+YY_RULE_SETUP
+#line 76 "comp.l"
+{
+                  pmesg(90, "Lexer: DO: %s\n", yytext);
+                  return DO;
+                }
+	YY_BREAK
+case 8:
+YY_RULE_SETUP
+#line 81 "comp.l"
+{
+                  pmesg(90, "Lexer: PASCALBEGIN: %s\n", yytext);
+                  return PASCALBEGIN;
+                }
+	YY_BREAK
+case 9:
+YY_RULE_SETUP
+#line 86 "comp.l"
+{
+                  pmesg(90, "Lexer: END: %s\n", yytext);
+                  return END;
+                }
+	YY_BREAK
+case 10:
+YY_RULE_SETUP
+#line 91 "comp.l"
+{
+                  pmesg(90, "Lexer: PROCEDURE: %s\n", yytext);
+                  return PROCEDURE;
+                }
+	YY_BREAK
+case 11:
+YY_RULE_SETUP
+#line 96 "comp.l"
+{
+                  pmesg(90, "Lexer: FUNCTION: %s\n", yytext);
+                  return FUNCTION;
+                }
+	YY_BREAK
+case 12:
+YY_RULE_SETUP
+#line 101 "comp.l"
+{
+                  pmesg(90, "Lexer: VAR: %s\n", yytext);
+                  return VAR;
+                }
+	YY_BREAK
+case 13:
+YY_RULE_SETUP
+#line 106 "comp.l"
+{
+                  pmesg(90, "Lexer: INTEGER: %s\n", yytext);
+                  return INTEGER;
+                }
+	YY_BREAK
+case 14:
+YY_RULE_SETUP
+#line 111 "comp.l"
+{
+                  pmesg(90, "Lexer: REAL: %s\n", yytext);
+                  return REAL;
+                }
+	YY_BREAK
+case 15:
+YY_RULE_SETUP
+#line 115 "comp.l"
+{
+                  pmesg(90, "Lexer: ASSIGNOP: %s\n", yytext);
+                  return ASSIGNOP;
+                }
+	YY_BREAK
+case 16:
+YY_RULE_SETUP
+#line 120 "comp.l"
+{
+                  pmesg(90, "Lexer: RELOP: %s\n", yytext);
+                  return RELOP;
+                }
+	YY_BREAK
+case 17:
+YY_RULE_SETUP
+#line 125 "comp.l"
+{ /* "-" cannot be returned as ADDOP, since it can also 
+                     be UMINUS; we can't distinguish these at the lex 
+                     level */
+                  pmesg(90, "Lexer: ADDOP: %s\n", yytext);
+                  return ADDOP;
+                }
+	YY_BREAK
+case 18:
+YY_RULE_SETUP
+#line 132 "comp.l"
+{
+                pmesg(90, "Lexer: MULOP: %s\n", yytext);
+                return MULOP;
+                }
+	YY_BREAK
+case 19:
+YY_RULE_SETUP
+#line 137 "comp.l"
+{
+                  pmesg(90, "Lexer: NOT: %s\n", yytext);
+                  return NOT;
+                }
+	YY_BREAK
+case 20:
+YY_RULE_SETUP
+#line 142 "comp.l"
+{ 
+                  pmesg(90, "Lexer: ID: %s\n", yytext);
+                  lastID = (string) yytext;
+                  return ID;
+                }
+	YY_BREAK
+case 21:
+/* rule 21 can match eol */
+YY_RULE_SETUP
+#line 148 "comp.l"
+{ /* Eat comments */ 
+                  int cnt;
+                  pmesg(90, "Lexer: Yummie\n");
+                  for(cnt = 0; yytext[cnt] != '\0'; cnt++) {
+                    if (yytext[cnt] == '\n') {
+                      lineno++;
+                    }
+                  }
+                  /* no return */
+                }
+	YY_BREAK
+case 22:
+/* rule 22 can match eol */
+YY_RULE_SETUP
+#line 159 "comp.l"
+{
+                  lineno++;
+                  pmesg(90, "Lexer: lineno == %i\n", lineno);
+                  /* no return */
+                }
+	YY_BREAK
+case 23:
+YY_RULE_SETUP
+#line 165 "comp.l"
+{  /* eat up whitespace */
+                  /* no return */
+                }
+	YY_BREAK
+case 24:
+YY_RULE_SETUP
+#line 169 "comp.l"
+{
+                  pmesg(90, "Lexer: Single non-identifier character: %s\n", yytext ); 
+                  return(yytext[0]);
+                }
+	YY_BREAK
+case 25:
+YY_RULE_SETUP
+#line 174 "comp.l"
+ECHO;
+	YY_BREAK
+#line 995 "gen/lex.yy.c"
+case YY_STATE_EOF(INITIAL):
+	yyterminate();
+
+	case YY_END_OF_BUFFER:
+		{
+		/* Amount of text matched not including the EOB char. */
+		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
+
+		/* Undo the effects of YY_DO_BEFORE_ACTION. */
+		*yy_cp = (yy_hold_char);
+		YY_RESTORE_YY_MORE_OFFSET
+
+		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
+			{
+			/* We're scanning a new file or input source.  It's
+			 * possible that this happened because the user
+			 * just pointed yyin at a new source and called
+			 * yylex().  If so, then we have to assure
+			 * consistency between YY_CURRENT_BUFFER and our
+			 * globals.  Here is the right place to do so, because
+			 * this is the first action (other than possibly a
+			 * back-up) that will match for the new input source.
+			 */
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
+			}
+
+		/* Note that here we test for yy_c_buf_p "<=" to the position
+		 * of the first EOB in the buffer, since yy_c_buf_p will
+		 * already have been incremented past the NUL character
+		 * (since all states make transitions on EOB to the
+		 * end-of-buffer state).  Contrast this with the test
+		 * in input().
+		 */
+		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			{ /* This was really a NUL. */
+			yy_state_type yy_next_state;
+
+			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
+
+			yy_current_state = yy_get_previous_state(  );
+
+			/* Okay, we're now positioned to make the NUL
+			 * transition.  We couldn't have
+			 * yy_get_previous_state() go ahead and do it
+			 * for us because it doesn't know how to deal
+			 * with the possibility of jamming (and we don't
+			 * want to build jamming into it because then it
+			 * will run more slowly).
+			 */
+
+			yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+
+			if ( yy_next_state )
+				{
+				/* Consume the NUL. */
+				yy_cp = ++(yy_c_buf_p);
+				yy_current_state = yy_next_state;
+				goto yy_match;
+				}
+
+			else
+				{
+				yy_cp = (yy_c_buf_p);
+				goto yy_find_action;
+				}
+			}
+
+		else switch ( yy_get_next_buffer(  ) )
+			{
+			case EOB_ACT_END_OF_FILE:
+				{
+				(yy_did_buffer_switch_on_eof) = 0;
+
+				if ( yywrap( ) )
+					{
+					/* Note: because we've taken care in
+					 * yy_get_next_buffer() to have set up
+					 * yytext, we can now set up
+					 * yy_c_buf_p so that if some total
+					 * hoser (like flex itself) wants to
+					 * call the scanner after we return the
+					 * YY_NULL, it'll still work - another
+					 * YY_NULL will get returned.
+					 */
+					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
+
+					yy_act = YY_STATE_EOF(YY_START);
+					goto do_action;
+					}
+
+				else
+					{
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+					}
+				break;
+				}
+
+			case EOB_ACT_CONTINUE_SCAN:
+				(yy_c_buf_p) =
+					(yytext_ptr) + yy_amount_of_matched_text;
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_match;
+
+			case EOB_ACT_LAST_MATCH:
+				(yy_c_buf_p) =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_find_action;
+			}
+		break;
+		}
+
+	default:
+		YY_FATAL_ERROR(
+			"fatal flex scanner internal error--no action found" );
+	} /* end of action switch */
+		} /* end of scanning one token */
+} /* end of yylex */
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ *	EOB_ACT_LAST_MATCH -
+ *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ *	EOB_ACT_END_OF_FILE - end of file
+ */
+static int yy_get_next_buffer (void)
+{
+    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+	register char *source = (yytext_ptr);
+	register int number_to_move, i;
+	int ret_val;
+
+	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
+		YY_FATAL_ERROR(
+		"fatal flex scanner internal error--end of buffer missed" );
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
+		{ /* Don't try to fill the buffer, so this is an EOF. */
+		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
+			{
+			/* We matched a single character, the EOB, so
+			 * treat this as a final EOF.
+			 */
+			return EOB_ACT_END_OF_FILE;
+			}
+
+		else
+			{
+			/* We matched some text prior to the EOB, first
+			 * process it.
+			 */
+			return EOB_ACT_LAST_MATCH;
+			}
+		}
+
+	/* Try to read more data. */
+
+	/* First move last chars to start of buffer. */
+	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
+
+	for ( i = 0; i < number_to_move; ++i )
+		*(dest++) = *(source++);
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+		/* don't do the read, it's not guaranteed to return an EOF,
+		 * just force an EOF
+		 */
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
+
+	else
+		{
+			int num_to_read =
+			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+
+		while ( num_to_read <= 0 )
+			{ /* Not enough room in the buffer - grow it. */
+
+			/* just a shorter name for the current buffer */
+			YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
+
+			int yy_c_buf_p_offset =
+				(int) ((yy_c_buf_p) - b->yy_ch_buf);
+
+			if ( b->yy_is_our_buffer )
+				{
+				int new_size = b->yy_buf_size * 2;
+
+				if ( new_size <= 0 )
+					b->yy_buf_size += b->yy_buf_size / 8;
+				else
+					b->yy_buf_size *= 2;
+
+				b->yy_ch_buf = (char *)
+					/* Include room in for 2 EOB chars. */
+					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
+				}
+			else
+				/* Can't grow it, we don't own it. */
+				b->yy_ch_buf = 0;
+
+			if ( ! b->yy_ch_buf )
+				YY_FATAL_ERROR(
+				"fatal error - scanner input buffer overflow" );
+
+			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+						number_to_move - 1;
+
+			}
+
+		if ( num_to_read > YY_READ_BUF_SIZE )
+			num_to_read = YY_READ_BUF_SIZE;
+
+		/* Read in more data. */
+		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+			(yy_n_chars), num_to_read );
+
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	if ( (yy_n_chars) == 0 )
+		{
+		if ( number_to_move == YY_MORE_ADJ )
+			{
+			ret_val = EOB_ACT_END_OF_FILE;
+			yyrestart(yyin  );
+			}
+
+		else
+			{
+			ret_val = EOB_ACT_LAST_MATCH;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
+				YY_BUFFER_EOF_PENDING;
+			}
+		}
+
+	else
+		ret_val = EOB_ACT_CONTINUE_SCAN;
+
+	(yy_n_chars) += number_to_move;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
+
+	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
+
+	return ret_val;
+}
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+    static yy_state_type yy_get_previous_state (void)
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp;
+    
+	yy_current_state = (yy_start);
+
+	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
+		{
+		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+		if ( yy_accept[yy_current_state] )
+			{
+			(yy_last_accepting_state) = yy_current_state;
+			(yy_last_accepting_cpos) = yy_cp;
+			}
+		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+			{
+			yy_current_state = (int) yy_def[yy_current_state];
+			if ( yy_current_state >= 99 )
+				yy_c = yy_meta[(unsigned int) yy_c];
+			}
+		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+		}
+
+	return yy_current_state;
+}
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ *	next_state = yy_try_NUL_trans( current_state );
+ */
+    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
+{
+	register int yy_is_jam;
+    	register char *yy_cp = (yy_c_buf_p);
+
+	register YY_CHAR yy_c = 1;
+	if ( yy_accept[yy_current_state] )
+		{
+		(yy_last_accepting_state) = yy_current_state;
+		(yy_last_accepting_cpos) = yy_cp;
+		}
+	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+		{
+		yy_current_state = (int) yy_def[yy_current_state];
+		if ( yy_current_state >= 99 )
+			yy_c = yy_meta[(unsigned int) yy_c];
+		}
+	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+	yy_is_jam = (yy_current_state == 98);
+
+	return yy_is_jam ? 0 : yy_current_state;
+}
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+    static int yyinput (void)
+#else
+    static int input  (void)
+#endif
+
+{
+	int c;
+    
+	*(yy_c_buf_p) = (yy_hold_char);
+
+	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
+		{
+		/* yy_c_buf_p now points to the character we want to return.
+		 * If this occurs *before* the EOB characters, then it's a
+		 * valid NUL; if not, then we've hit the end of the buffer.
+		 */
+		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			/* This was really a NUL. */
+			*(yy_c_buf_p) = '\0';
+
+		else
+			{ /* need more input */
+			int offset = (yy_c_buf_p) - (yytext_ptr);
+			++(yy_c_buf_p);
+
+			switch ( yy_get_next_buffer(  ) )
+				{
+				case EOB_ACT_LAST_MATCH:
+					/* This happens because yy_g_n_b()
+					 * sees that we've accumulated a
+					 * token and flags that we need to
+					 * try matching the token before
+					 * proceeding.  But for input(),
+					 * there's no matching to consider.
+					 * So convert the EOB_ACT_LAST_MATCH
+					 * to EOB_ACT_END_OF_FILE.
+					 */
+
+					/* Reset buffer status. */
+					yyrestart(yyin );
+
+					/*FALLTHROUGH*/
+
+				case EOB_ACT_END_OF_FILE:
+					{
+					if ( yywrap( ) )
+						return 0;
+
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+#ifdef __cplusplus
+					return yyinput();
+#else
+					return input();
+#endif
+					}
+
+				case EOB_ACT_CONTINUE_SCAN:
+					(yy_c_buf_p) = (yytext_ptr) + offset;
+					break;
+				}
+			}
+		}
+
+	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
+	*(yy_c_buf_p) = '\0';	/* preserve yytext */
+	(yy_hold_char) = *++(yy_c_buf_p);
+
+	return c;
+}
+#endif	/* ifndef YY_NO_INPUT */
+
+/** Immediately switch to a different input stream.
+ * @param input_file A readable stream.
+ * 
+ * @note This function does not reset the start condition to @c INITIAL .
+ */
+    void yyrestart  (FILE * input_file )
+{
+    
+	if ( ! YY_CURRENT_BUFFER ){
+        yyensure_buffer_stack ();
+		YY_CURRENT_BUFFER_LVALUE =
+            yy_create_buffer(yyin,YY_BUF_SIZE );
+	}
+
+	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
+	yy_load_buffer_state( );
+}
+
+/** Switch to a different input buffer.
+ * @param new_buffer The new input buffer.
+ * 
+ */
+    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
+{
+    
+	/* TODO. We should be able to replace this entire function body
+	 * with
+	 *		yypop_buffer_state();
+	 *		yypush_buffer_state(new_buffer);
+     */
+	yyensure_buffer_stack ();
+	if ( YY_CURRENT_BUFFER == new_buffer )
+		return;
+
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+	yy_load_buffer_state( );
+
+	/* We don't actually know whether we did this switch during
+	 * EOF (yywrap()) processing, but the only time this flag
+	 * is looked at is after yywrap() is called, so it's safe
+	 * to go ahead and always set it.
+	 */
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+static void yy_load_buffer_state  (void)
+{
+    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
+	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+	(yy_hold_char) = *(yy_c_buf_p);
+}
+
+/** Allocate and initialize an input buffer state.
+ * @param file A readable stream.
+ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ * 
+ * @return the allocated buffer state.
+ */
+    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
+{
+	YY_BUFFER_STATE b;
+    
+	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+	b->yy_buf_size = size;
+
+	/* yy_ch_buf has to be 2 characters longer than the size given because
+	 * we need to put in 2 end-of-buffer characters.
+	 */
+	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
+	if ( ! b->yy_ch_buf )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+	b->yy_is_our_buffer = 1;
+
+	yy_init_buffer(b,file );
+
+	return b;
+}
+
+/** Destroy the buffer.
+ * @param b a buffer created with yy_create_buffer()
+ * 
+ */
+    void yy_delete_buffer (YY_BUFFER_STATE  b )
+{
+    
+	if ( ! b )
+		return;
+
+	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
+		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
+
+	if ( b->yy_is_our_buffer )
+		yyfree((void *) b->yy_ch_buf  );
+
+	yyfree((void *) b  );
+}
+
+#ifndef __cplusplus
+extern int isatty (int );
+#endif /* __cplusplus */
+    
+/* Initializes or reinitializes a buffer.
+ * This function is sometimes called more than once on the same buffer,
+ * such as during a yyrestart() or at EOF.
+ */
+    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
+
+{
+	int oerrno = errno;
+    
+	yy_flush_buffer(b );
+
+	b->yy_input_file = file;
+	b->yy_fill_buffer = 1;
+
+    /* If b is the current buffer, then yy_init_buffer was _probably_
+     * called from yyrestart() or through yy_get_next_buffer.
+     * In that case, we don't want to reset the lineno or column.
+     */
+    if (b != YY_CURRENT_BUFFER){
+        b->yy_bs_lineno = 1;
+        b->yy_bs_column = 0;
+    }
+
+        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+    
+	errno = oerrno;
+}
+
+/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ * 
+ */
+    void yy_flush_buffer (YY_BUFFER_STATE  b )
+{
+    	if ( ! b )
+		return;
+
+	b->yy_n_chars = 0;
+
+	/* We always need two end-of-buffer characters.  The first causes
+	 * a transition to the end-of-buffer state.  The second causes
+	 * a jam in that state.
+	 */
+	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+	b->yy_buf_pos = &b->yy_ch_buf[0];
+
+	b->yy_at_bol = 1;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	if ( b == YY_CURRENT_BUFFER )
+		yy_load_buffer_state( );
+}
+
+/** Pushes the new state onto the stack. The new state becomes
+ *  the current state. This function will allocate the stack
+ *  if necessary.
+ *  @param new_buffer The new state.
+ *  
+ */
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
+{
+    	if (new_buffer == NULL)
+		return;
+
+	yyensure_buffer_stack();
+
+	/* This block is copied from yy_switch_to_buffer. */
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	/* Only push if top exists. Otherwise, replace top. */
+	if (YY_CURRENT_BUFFER)
+		(yy_buffer_stack_top)++;
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+	/* copied from yy_switch_to_buffer. */
+	yy_load_buffer_state( );
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+/** Removes and deletes the top of the stack, if present.
+ *  The next element becomes the new top.
+ *  
+ */
+void yypop_buffer_state (void)
+{
+    	if (!YY_CURRENT_BUFFER)
+		return;
+
+	yy_delete_buffer(YY_CURRENT_BUFFER );
+	YY_CURRENT_BUFFER_LVALUE = NULL;
+	if ((yy_buffer_stack_top) > 0)
+		--(yy_buffer_stack_top);
+
+	if (YY_CURRENT_BUFFER) {
+		yy_load_buffer_state( );
+		(yy_did_buffer_switch_on_eof) = 1;
+	}
+}
+
+/* Allocates the stack if it does not exist.
+ *  Guarantees space for at least one push.
+ */
+static void yyensure_buffer_stack (void)
+{
+	int num_to_alloc;
+    
+	if (!(yy_buffer_stack)) {
+
+		/* First allocation is just for 2 elements, since we don't know if this
+		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
+		 * immediate realloc on the next call.
+         */
+		num_to_alloc = 1;
+		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
+								(num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		
+		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+				
+		(yy_buffer_stack_max) = num_to_alloc;
+		(yy_buffer_stack_top) = 0;
+		return;
+	}
+
+	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+
+		/* Increase the buffer to prepare for a possible push. */
+		int grow_size = 8 /* arbitrary grow size */;
+
+		num_to_alloc = (yy_buffer_stack_max) + grow_size;
+		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
+								((yy_buffer_stack),
+								num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+
+		/* zero only the new slots.*/
+		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
+		(yy_buffer_stack_max) = num_to_alloc;
+	}
+}
+
+/** Setup the input buffer state to scan directly from a user-specified character buffer.
+ * @param base the character buffer
+ * @param size the size in bytes of the character buffer
+ * 
+ * @return the newly allocated buffer state object. 
+ */
+YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
+{
+	YY_BUFFER_STATE b;
+    
+	if ( size < 2 ||
+	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
+	     base[size-1] != YY_END_OF_BUFFER_CHAR )
+		/* They forgot to leave room for the EOB's. */
+		return 0;
+
+	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
+	b->yy_buf_pos = b->yy_ch_buf = base;
+	b->yy_is_our_buffer = 0;
+	b->yy_input_file = 0;
+	b->yy_n_chars = b->yy_buf_size;
+	b->yy_is_interactive = 0;
+	b->yy_at_bol = 1;
+	b->yy_fill_buffer = 0;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	yy_switch_to_buffer(b  );
+
+	return b;
+}
+
+/** Setup the input buffer state to scan a string. The next call to yylex() will
+ * scan from a @e copy of @a str.
+ * @param str a NUL-terminated string to scan
+ * 
+ * @return the newly allocated buffer state object.
+ * @note If you want to scan bytes that may contain NUL values, then use
+ *       yy_scan_bytes() instead.
+ */
+YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
+{
+    
+	return yy_scan_bytes(yystr,strlen(yystr) );
+}
+
+/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
+ * scan from a @e copy of @a bytes.
+ * @param bytes the byte buffer to scan
+ * @param len the number of bytes in the buffer pointed to by @a bytes.
+ * 
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
+{
+	YY_BUFFER_STATE b;
+	char *buf;
+	yy_size_t n;
+	int i;
+    
+	/* Get memory for full buffer, including space for trailing EOB's. */
+	n = _yybytes_len + 2;
+	buf = (char *) yyalloc(n  );
+	if ( ! buf )
+		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+	for ( i = 0; i < _yybytes_len; ++i )
+		buf[i] = yybytes[i];
+
+	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
+
+	b = yy_scan_buffer(buf,n );
+	if ( ! b )
+		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+	/* It's okay to grow etc. this buffer, and we should throw it
+	 * away when we're done.
+	 */
+	b->yy_is_our_buffer = 1;
+
+	return b;
+}
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+static void yy_fatal_error (yyconst char* msg )
+{
+    	(void) fprintf( stderr, "%s\n", msg );
+	exit( YY_EXIT_FAILURE );
+}
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up yytext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		yytext[yyleng] = (yy_hold_char); \
+		(yy_c_buf_p) = yytext + yyless_macro_arg; \
+		(yy_hold_char) = *(yy_c_buf_p); \
+		*(yy_c_buf_p) = '\0'; \
+		yyleng = yyless_macro_arg; \
+		} \
+	while ( 0 )
+
+/* Accessor  methods (get/set functions) to struct members. */
+
+/** Get the current line number.
+ * 
+ */
+int yyget_lineno  (void)
+{
+        
+    return yylineno;
+}
+
+/** Get the input stream.
+ * 
+ */
+FILE *yyget_in  (void)
+{
+        return yyin;
+}
+
+/** Get the output stream.
+ * 
+ */
+FILE *yyget_out  (void)
+{
+        return yyout;
+}
+
+/** Get the length of the current token.
+ * 
+ */
+int yyget_leng  (void)
+{
+        return yyleng;
+}
+
+/** Get the current token.
+ * 
+ */
+
+char *yyget_text  (void)
+{
+        return yytext;
+}
+
+/** Set the current line number.
+ * @param line_number
+ * 
+ */
+void yyset_lineno (int  line_number )
+{
+    
+    yylineno = line_number;
+}
+
+/** Set the input stream. This does not discard the current
+ * input buffer.
+ * @param in_str A readable stream.
+ * 
+ * @see yy_switch_to_buffer
+ */
+void yyset_in (FILE *  in_str )
+{
+        yyin = in_str ;
+}
+
+void yyset_out (FILE *  out_str )
+{
+        yyout = out_str ;
+}
+
+int yyget_debug  (void)
+{
+        return yy_flex_debug;
+}
+
+void yyset_debug (int  bdebug )
+{
+        yy_flex_debug = bdebug ;
+}
+
+static int yy_init_globals (void)
+{
+        /* Initialization is the same as for the non-reentrant scanner.
+     * This function is called from yylex_destroy(), so don't allocate here.
+     */
+
+    (yy_buffer_stack) = 0;
+    (yy_buffer_stack_top) = 0;
+    (yy_buffer_stack_max) = 0;
+    (yy_c_buf_p) = (char *) 0;
+    (yy_init) = 0;
+    (yy_start) = 0;
+
+/* Defined in main.c */
+#ifdef YY_STDINIT
+    yyin = stdin;
+    yyout = stdout;
+#else
+    yyin = (FILE *) 0;
+    yyout = (FILE *) 0;
+#endif
+
+    /* For future reference: Set errno on error, since we are called by
+     * yylex_init()
+     */
+    return 0;
+}
+
+/* yylex_destroy is for both reentrant and non-reentrant scanners. */
+int yylex_destroy  (void)
+{
+    
+    /* Pop the buffer stack, destroying each element. */
+	while(YY_CURRENT_BUFFER){
+		yy_delete_buffer(YY_CURRENT_BUFFER  );
+		YY_CURRENT_BUFFER_LVALUE = NULL;
+		yypop_buffer_state();
+	}
+
+	/* Destroy the stack itself. */
+	yyfree((yy_buffer_stack) );
+	(yy_buffer_stack) = NULL;
+
+    /* Reset the globals. This is important in a non-reentrant scanner so the next time
+     * yylex() is called, initialization will occur. */
+    yy_init_globals( );
+
+    return 0;
+}
+
+/*
+ * Internal utility routines.
+ */
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+{
+	register int i;
+	for ( i = 0; i < n; ++i )
+		s1[i] = s2[i];
+}
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * s )
+{
+	register int n;
+	for ( n = 0; s[n]; ++n )
+		;
+
+	return n;
+}
+#endif
+
+void *yyalloc (yy_size_t  size )
+{
+	return (void *) malloc( size );
+}
+
+void *yyrealloc  (void * ptr, yy_size_t  size )
+{
+	/* The cast to (char *) in the following accommodates both
+	 * implementations that use char* generic pointers, and those
+	 * that use void* generic pointers.  It works with the latter
+	 * because both ANSI C and C++ allow castless assignment from
+	 * any pointer type to void*, and deal with argument conversions
+	 * as though doing an assignment.
+	 */
+	return (void *) realloc( (char *) ptr, size );
+}
+
+void yyfree (void * ptr )
+{
+	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
+}
+
+#define YYTABLES_NAME "yytables"
+
+#line 174 "comp.l"
+
+
+
Index: /liacs/coco/assignment2/gen/y.output
===================================================================
--- /liacs/coco/assignment2/gen/y.output	(revision 2)
+++ /liacs/coco/assignment2/gen/y.output	(revision 2)
@@ -0,0 +1,1262 @@
+Terminals which are not used
+
+   PROG_PARAMETER
+   IRRELEVANT
+
+
+State 96 conflicts: 1 shift/reduce
+
+
+Grammar
+
+    0 $accept: program $end
+
+    1 @1: /* empty */
+
+    2 program: PROGRAM ID @1 ';' declarations subprogram_declarations compound_statement '.'
+
+    3 type_identifier_list: ',' ID type_identifier_list
+    4                     | ':' type
+
+    5 declarations: declarations VAR ID type_identifier_list ';'
+    6             | /* empty */
+
+    7 type: standard_type
+
+    8 standard_type: INTEGER
+    9              | REAL
+
+   10 subprogram_declarations: subprogram_declarations subprogram_declaration ';'
+   11                        | /* empty */
+
+   12 subprogram_declaration: subprogram_head declarations compound_statement
+
+   13 subprogram_head: FUNCTION ID arguments ':' standard_type ';'
+   14                | PROCEDURE ID arguments ';'
+
+   15 arguments: '(' parameter_lists ')'
+   16          | /* empty */
+
+   17 parameter_lists: parameter_list ';' parameter_lists
+   18                | parameter_list
+
+   19 parameter_list: ID type_identifier_list
+
+   20 compound_statement: PASCALBEGIN optional_statements END
+
+   21 optional_statements: statement_list
+   22                    | /* empty */
+
+   23 statement_list: statement
+   24               | statement_list ';' statement
+
+   25 statement: variable ASSIGNOP expression
+   26          | procedure_statement
+   27          | compound_statement
+   28          | IF boollikeexp THEN statement optional_else_statement
+   29          | WHILE boollikeexp DO statement
+
+   30 optional_else_statement: ELSE statement
+   31                        | /* empty */
+
+   32 variable: ID
+
+   33 procedure_statement: ID
+   34                    | ID '(' expression_list ')'
+
+   35 expression_list: expression
+   36                | expression ',' expression_list
+
+   37 boollikeexp: expression RELOP expression
+   38            | '(' boollikeexp ')'
+
+   39 expression: simple_expression
+
+   40 simple_expression: term
+   41                  | signplus term
+   42                  | signminus term
+   43                  | simple_expression '+' term
+   44                  | simple_expression '-' term
+   45                  | simple_expression ADDOP term
+
+   46 term: factor
+   47     | term MULOP factor
+
+   48 factor: ID
+   49       | ID '(' expression_list ')'
+   50       | NUM
+   51       | '(' expression ')'
+   52       | NOT factor
+
+   53 signplus: '+'
+
+   54 signminus: '-'
+
+
+Terminals, with rules where they appear
+
+$end (0) 0
+'(' (40) 15 34 38 49 51
+')' (41) 15 34 38 49 51
+'+' (43) 43 53
+',' (44) 3 36
+'-' (45) 44 54
+'.' (46) 2
+':' (58) 4 13
+';' (59) 2 5 10 13 14 17 24
+error (256)
+PROGRAM (258) 2
+ID (259) 2 3 5 13 14 19 32 33 34 48 49
+VAR (260) 5
+NUM (261) 50
+INTEGER (262) 8
+REAL (263) 9
+FUNCTION (264) 13
+PROCEDURE (265) 14
+PASCALBEGIN (266) 20
+END (267) 20
+ADDOP (268) 45
+ASSIGNOP (269) 25
+IF (270) 28
+THEN (271) 28
+ELSE (272) 30
+WHILE (273) 29
+DO (274) 29
+RELOP (275) 37
+MULOP (276) 47
+NOT (277) 52
+PROG_PARAMETER (278)
+IRRELEVANT (279)
+UMINUS (280)
+
+
+Nonterminals, with rules where they appear
+
+$accept (34)
+    on left: 0
+program (35)
+    on left: 2, on right: 0
+@1 (36)
+    on left: 1, on right: 2
+type_identifier_list (37)
+    on left: 3 4, on right: 3 5 19
+declarations (38)
+    on left: 5 6, on right: 2 5 12
+type (39)
+    on left: 7, on right: 4
+standard_type (40)
+    on left: 8 9, on right: 7 13
+subprogram_declarations (41)
+    on left: 10 11, on right: 2 10
+subprogram_declaration (42)
+    on left: 12, on right: 10
+subprogram_head (43)
+    on left: 13 14, on right: 12
+arguments (44)
+    on left: 15 16, on right: 13 14
+parameter_lists (45)
+    on left: 17 18, on right: 15 17
+parameter_list (46)
+    on left: 19, on right: 17 18
+compound_statement (47)
+    on left: 20, on right: 2 12 27
+optional_statements (48)
+    on left: 21 22, on right: 20
+statement_list (49)
+    on left: 23 24, on right: 21 24
+statement (50)
+    on left: 25 26 27 28 29, on right: 23 24 28 29 30
+optional_else_statement (51)
+    on left: 30 31, on right: 28
+variable (52)
+    on left: 32, on right: 25
+procedure_statement (53)
+    on left: 33 34, on right: 26
+expression_list (54)
+    on left: 35 36, on right: 34 36 49
+boollikeexp (55)
+    on left: 37 38, on right: 28 29 38
+expression (56)
+    on left: 39, on right: 25 35 36 37 51
+simple_expression (57)
+    on left: 40 41 42 43 44 45, on right: 39 43 44 45
+term (58)
+    on left: 46 47, on right: 40 41 42 43 44 45 47
+factor (59)
+    on left: 48 49 50 51 52, on right: 46 47 52
+signplus (60)
+    on left: 53, on right: 41
+signminus (61)
+    on left: 54, on right: 42
+
+
+state 0
+
+    0 $accept: . program $end
+
+    PROGRAM  shift, and go to state 1
+
+    program  go to state 2
+
+
+state 1
+
+    2 program: PROGRAM . ID @1 ';' declarations subprogram_declarations compound_statement '.'
+
+    ID  shift, and go to state 3
+
+
+state 2
+
+    0 $accept: program . $end
+
+    $end  shift, and go to state 4
+
+
+state 3
+
+    2 program: PROGRAM ID . @1 ';' declarations subprogram_declarations compound_statement '.'
+
+    $default  reduce using rule 1 (@1)
+
+    @1  go to state 5
+
+
+state 4
+
+    0 $accept: program $end .
+
+    $default  accept
+
+
+state 5
+
+    2 program: PROGRAM ID @1 . ';' declarations subprogram_declarations compound_statement '.'
+
+    ';'  shift, and go to state 6
+
+
+state 6
+
+    2 program: PROGRAM ID @1 ';' . declarations subprogram_declarations compound_statement '.'
+
+    $default  reduce using rule 6 (declarations)
+
+    declarations  go to state 7
+
+
+state 7
+
+    2 program: PROGRAM ID @1 ';' declarations . subprogram_declarations compound_statement '.'
+    5 declarations: declarations . VAR ID type_identifier_list ';'
+
+    VAR  shift, and go to state 8
+
+    $default  reduce using rule 11 (subprogram_declarations)
+
+    subprogram_declarations  go to state 9
+
+
+state 8
+
+    5 declarations: declarations VAR . ID type_identifier_list ';'
+
+    ID  shift, and go to state 10
+
+
+state 9
+
+    2 program: PROGRAM ID @1 ';' declarations subprogram_declarations . compound_statement '.'
+   10 subprogram_declarations: subprogram_declarations . subprogram_declaration ';'
+
+    FUNCTION     shift, and go to state 11
+    PROCEDURE    shift, and go to state 12
+    PASCALBEGIN  shift, and go to state 13
+
+    subprogram_declaration  go to state 14
+    subprogram_head         go to state 15
+    compound_statement      go to state 16
+
+
+state 10
+
+    5 declarations: declarations VAR ID . type_identifier_list ';'
+
+    ','  shift, and go to state 17
+    ':'  shift, and go to state 18
+
+    type_identifier_list  go to state 19
+
+
+state 11
+
+   13 subprogram_head: FUNCTION . ID arguments ':' standard_type ';'
+
+    ID  shift, and go to state 20
+
+
+state 12
+
+   14 subprogram_head: PROCEDURE . ID arguments ';'
+
+    ID  shift, and go to state 21
+
+
+state 13
+
+   20 compound_statement: PASCALBEGIN . optional_statements END
+
+    ID           shift, and go to state 22
+    PASCALBEGIN  shift, and go to state 13
+    IF           shift, and go to state 23
+    WHILE        shift, and go to state 24
+
+    $default  reduce using rule 22 (optional_statements)
+
+    compound_statement   go to state 25
+    optional_statements  go to state 26
+    statement_list       go to state 27
+    statement            go to state 28
+    variable             go to state 29
+    procedure_statement  go to state 30
+
+
+state 14
+
+   10 subprogram_declarations: subprogram_declarations subprogram_declaration . ';'
+
+    ';'  shift, and go to state 31
+
+
+state 15
+
+   12 subprogram_declaration: subprogram_head . declarations compound_statement
+
+    $default  reduce using rule 6 (declarations)
+
+    declarations  go to state 32
+
+
+state 16
+
+    2 program: PROGRAM ID @1 ';' declarations subprogram_declarations compound_statement . '.'
+
+    '.'  shift, and go to state 33
+
+
+state 17
+
+    3 type_identifier_list: ',' . ID type_identifier_list
+
+    ID  shift, and go to state 34
+
+
+state 18
+
+    4 type_identifier_list: ':' . type
+
+    INTEGER  shift, and go to state 35
+    REAL     shift, and go to state 36
+
+    type           go to state 37
+    standard_type  go to state 38
+
+
+state 19
+
+    5 declarations: declarations VAR ID type_identifier_list . ';'
+
+    ';'  shift, and go to state 39
+
+
+state 20
+
+   13 subprogram_head: FUNCTION ID . arguments ':' standard_type ';'
+
+    '('  shift, and go to state 40
+
+    $default  reduce using rule 16 (arguments)
+
+    arguments  go to state 41
+
+
+state 21
+
+   14 subprogram_head: PROCEDURE ID . arguments ';'
+
+    '('  shift, and go to state 40
+
+    $default  reduce using rule 16 (arguments)
+
+    arguments  go to state 42
+
+
+state 22
+
+   32 variable: ID .
+   33 procedure_statement: ID .
+   34                    | ID . '(' expression_list ')'
+
+    '('  shift, and go to state 43
+
+    ASSIGNOP  reduce using rule 32 (variable)
+    $default  reduce using rule 33 (procedure_statement)
+
+
+state 23
+
+   28 statement: IF . boollikeexp THEN statement optional_else_statement
+
+    ID   shift, and go to state 44
+    NUM  shift, and go to state 45
+    NOT  shift, and go to state 46
+    '('  shift, and go to state 47
+    '+'  shift, and go to state 48
+    '-'  shift, and go to state 49
+
+    boollikeexp        go to state 50
+    expression         go to state 51
+    simple_expression  go to state 52
+    term               go to state 53
+    factor             go to state 54
+    signplus           go to state 55
+    signminus          go to state 56
+
+
+state 24
+
+   29 statement: WHILE . boollikeexp DO statement
+
+    ID   shift, and go to state 44
+    NUM  shift, and go to state 45
+    NOT  shift, and go to state 46
+    '('  shift, and go to state 47
+    '+'  shift, and go to state 48
+    '-'  shift, and go to state 49
+
+    boollikeexp        go to state 57
+    expression         go to state 51
+    simple_expression  go to state 52
+    term               go to state 53
+    factor             go to state 54
+    signplus           go to state 55
+    signminus          go to state 56
+
+
+state 25
+
+   27 statement: compound_statement .
+
+    $default  reduce using rule 27 (statement)
+
+
+state 26
+
+   20 compound_statement: PASCALBEGIN optional_statements . END
+
+    END  shift, and go to state 58
+
+
+state 27
+
+   21 optional_statements: statement_list .
+   24 statement_list: statement_list . ';' statement
+
+    ';'  shift, and go to state 59
+
+    $default  reduce using rule 21 (optional_statements)
+
+
+state 28
+
+   23 statement_list: statement .
+
+    $default  reduce using rule 23 (statement_list)
+
+
+state 29
+
+   25 statement: variable . ASSIGNOP expression
+
+    ASSIGNOP  shift, and go to state 60
+
+
+state 30
+
+   26 statement: procedure_statement .
+
+    $default  reduce using rule 26 (statement)
+
+
+state 31
+
+   10 subprogram_declarations: subprogram_declarations subprogram_declaration ';' .
+
+    $default  reduce using rule 10 (subprogram_declarations)
+
+
+state 32
+
+    5 declarations: declarations . VAR ID type_identifier_list ';'
+   12 subprogram_declaration: subprogram_head declarations . compound_statement
+
+    VAR          shift, and go to state 8
+    PASCALBEGIN  shift, and go to state 13
+
+    compound_statement  go to state 61
+
+
+state 33
+
+    2 program: PROGRAM ID @1 ';' declarations subprogram_declarations compound_statement '.' .
+
+    $default  reduce using rule 2 (program)
+
+
+state 34
+
+    3 type_identifier_list: ',' ID . type_identifier_list
+
+    ','  shift, and go to state 17
+    ':'  shift, and go to state 18
+
+    type_identifier_list  go to state 62
+
+
+state 35
+
+    8 standard_type: INTEGER .
+
+    $default  reduce using rule 8 (standard_type)
+
+
+state 36
+
+    9 standard_type: REAL .
+
+    $default  reduce using rule 9 (standard_type)
+
+
+state 37
+
+    4 type_identifier_list: ':' type .
+
+    $default  reduce using rule 4 (type_identifier_list)
+
+
+state 38
+
+    7 type: standard_type .
+
+    $default  reduce using rule 7 (type)
+
+
+state 39
+
+    5 declarations: declarations VAR ID type_identifier_list ';' .
+
+    $default  reduce using rule 5 (declarations)
+
+
+state 40
+
+   15 arguments: '(' . parameter_lists ')'
+
+    ID  shift, and go to state 63
+
+    parameter_lists  go to state 64
+    parameter_list   go to state 65
+
+
+state 41
+
+   13 subprogram_head: FUNCTION ID arguments . ':' standard_type ';'
+
+    ':'  shift, and go to state 66
+
+
+state 42
+
+   14 subprogram_head: PROCEDURE ID arguments . ';'
+
+    ';'  shift, and go to state 67
+
+
+state 43
+
+   34 procedure_statement: ID '(' . expression_list ')'
+
+    ID   shift, and go to state 44
+    NUM  shift, and go to state 45
+    NOT  shift, and go to state 46
+    '('  shift, and go to state 68
+    '+'  shift, and go to state 48
+    '-'  shift, and go to state 49
+
+    expression_list    go to state 69
+    expression         go to state 70
+    simple_expression  go to state 52
+    term               go to state 53
+    factor             go to state 54
+    signplus           go to state 55
+    signminus          go to state 56
+
+
+state 44
+
+   48 factor: ID .
+   49       | ID . '(' expression_list ')'
+
+    '('  shift, and go to state 71
+
+    $default  reduce using rule 48 (factor)
+
+
+state 45
+
+   50 factor: NUM .
+
+    $default  reduce using rule 50 (factor)
+
+
+state 46
+
+   52 factor: NOT . factor
+
+    ID   shift, and go to state 44
+    NUM  shift, and go to state 45
+    NOT  shift, and go to state 46
+    '('  shift, and go to state 68
+
+    factor  go to state 72
+
+
+state 47
+
+   38 boollikeexp: '(' . boollikeexp ')'
+   51 factor: '(' . expression ')'
+
+    ID   shift, and go to state 44
+    NUM  shift, and go to state 45
+    NOT  shift, and go to state 46
+    '('  shift, and go to state 47
+    '+'  shift, and go to state 48
+    '-'  shift, and go to state 49
+
+    boollikeexp        go to state 73
+    expression         go to state 74
+    simple_expression  go to state 52
+    term               go to state 53
+    factor             go to state 54
+    signplus           go to state 55
+    signminus          go to state 56
+
+
+state 48
+
+   53 signplus: '+' .
+
+    $default  reduce using rule 53 (signplus)
+
+
+state 49
+
+   54 signminus: '-' .
+
+    $default  reduce using rule 54 (signminus)
+
+
+state 50
+
+   28 statement: IF boollikeexp . THEN statement optional_else_statement
+
+    THEN  shift, and go to state 75
+
+
+state 51
+
+   37 boollikeexp: expression . RELOP expression
+
+    RELOP  shift, and go to state 76
+
+
+state 52
+
+   39 expression: simple_expression .
+   43 simple_expression: simple_expression . '+' term
+   44                  | simple_expression . '-' term
+   45                  | simple_expression . ADDOP term
+
+    ADDOP  shift, and go to state 77
+    '+'    shift, and go to state 78
+    '-'    shift, and go to state 79
+
+    $default  reduce using rule 39 (expression)
+
+
+state 53
+
+   40 simple_expression: term .
+   47 term: term . MULOP factor
+
+    MULOP  shift, and go to state 80
+
+    $default  reduce using rule 40 (simple_expression)
+
+
+state 54
+
+   46 term: factor .
+
+    $default  reduce using rule 46 (term)
+
+
+state 55
+
+   41 simple_expression: signplus . term
+
+    ID   shift, and go to state 44
+    NUM  shift, and go to state 45
+    NOT  shift, and go to state 46
+    '('  shift, and go to state 68
+
+    term    go to state 81
+    factor  go to state 54
+
+
+state 56
+
+   42 simple_expression: signminus . term
+
+    ID   shift, and go to state 44
+    NUM  shift, and go to state 45
+    NOT  shift, and go to state 46
+    '('  shift, and go to state 68
+
+    term    go to state 82
+    factor  go to state 54
+
+
+state 57
+
+   29 statement: WHILE boollikeexp . DO statement
+
+    DO  shift, and go to state 83
+
+
+state 58
+
+   20 compound_statement: PASCALBEGIN optional_statements END .
+
+    $default  reduce using rule 20 (compound_statement)
+
+
+state 59
+
+   24 statement_list: statement_list ';' . statement
+
+    ID           shift, and go to state 22
+    PASCALBEGIN  shift, and go to state 13
+    IF           shift, and go to state 23
+    WHILE        shift, and go to state 24
+
+    compound_statement   go to state 25
+    statement            go to state 84
+    variable             go to state 29
+    procedure_statement  go to state 30
+
+
+state 60
+
+   25 statement: variable ASSIGNOP . expression
+
+    ID   shift, and go to state 44
+    NUM  shift, and go to state 45
+    NOT  shift, and go to state 46
+    '('  shift, and go to state 68
+    '+'  shift, and go to state 48
+    '-'  shift, and go to state 49
+
+    expression         go to state 85
+    simple_expression  go to state 52
+    term               go to state 53
+    factor             go to state 54
+    signplus           go to state 55
+    signminus          go to state 56
+
+
+state 61
+
+   12 subprogram_declaration: subprogram_head declarations compound_statement .
+
+    $default  reduce using rule 12 (subprogram_declaration)
+
+
+state 62
+
+    3 type_identifier_list: ',' ID type_identifier_list .
+
+    $default  reduce using rule 3 (type_identifier_list)
+
+
+state 63
+
+   19 parameter_list: ID . type_identifier_list
+
+    ','  shift, and go to state 17
+    ':'  shift, and go to state 18
+
+    type_identifier_list  go to state 86
+
+
+state 64
+
+   15 arguments: '(' parameter_lists . ')'
+
+    ')'  shift, and go to state 87
+
+
+state 65
+
+   17 parameter_lists: parameter_list . ';' parameter_lists
+   18                | parameter_list .
+
+    ';'  shift, and go to state 88
+
+    $default  reduce using rule 18 (parameter_lists)
+
+
+state 66
+
+   13 subprogram_head: FUNCTION ID arguments ':' . standard_type ';'
+
+    INTEGER  shift, and go to state 35
+    REAL     shift, and go to state 36
+
+    standard_type  go to state 89
+
+
+state 67
+
+   14 subprogram_head: PROCEDURE ID arguments ';' .
+
+    $default  reduce using rule 14 (subprogram_head)
+
+
+state 68
+
+   51 factor: '(' . expression ')'
+
+    ID   shift, and go to state 44
+    NUM  shift, and go to state 45
+    NOT  shift, and go to state 46
+    '('  shift, and go to state 68
+    '+'  shift, and go to state 48
+    '-'  shift, and go to state 49
+
+    expression         go to state 90
+    simple_expression  go to state 52
+    term               go to state 53
+    factor             go to state 54
+    signplus           go to state 55
+    signminus          go to state 56
+
+
+state 69
+
+   34 procedure_statement: ID '(' expression_list . ')'
+
+    ')'  shift, and go to state 91
+
+
+state 70
+
+   35 expression_list: expression .
+   36                | expression . ',' expression_list
+
+    ','  shift, and go to state 92
+
+    $default  reduce using rule 35 (expression_list)
+
+
+state 71
+
+   49 factor: ID '(' . expression_list ')'
+
+    ID   shift, and go to state 44
+    NUM  shift, and go to state 45
+    NOT  shift, and go to state 46
+    '('  shift, and go to state 68
+    '+'  shift, and go to state 48
+    '-'  shift, and go to state 49
+
+    expression_list    go to state 93
+    expression         go to state 70
+    simple_expression  go to state 52
+    term               go to state 53
+    factor             go to state 54
+    signplus           go to state 55
+    signminus          go to state 56
+
+
+state 72
+
+   52 factor: NOT factor .
+
+    $default  reduce using rule 52 (factor)
+
+
+state 73
+
+   38 boollikeexp: '(' boollikeexp . ')'
+
+    ')'  shift, and go to state 94
+
+
+state 74
+
+   37 boollikeexp: expression . RELOP expression
+   51 factor: '(' expression . ')'
+
+    RELOP  shift, and go to state 76
+    ')'    shift, and go to state 95
+
+
+state 75
+
+   28 statement: IF boollikeexp THEN . statement optional_else_statement
+
+    ID           shift, and go to state 22
+    PASCALBEGIN  shift, and go to state 13
+    IF           shift, and go to state 23
+    WHILE        shift, and go to state 24
+
+    compound_statement   go to state 25
+    statement            go to state 96
+    variable             go to state 29
+    procedure_statement  go to state 30
+
+
+state 76
+
+   37 boollikeexp: expression RELOP . expression
+
+    ID   shift, and go to state 44
+    NUM  shift, and go to state 45
+    NOT  shift, and go to state 46
+    '('  shift, and go to state 68
+    '+'  shift, and go to state 48
+    '-'  shift, and go to state 49
+
+    expression         go to state 97
+    simple_expression  go to state 52
+    term               go to state 53
+    factor             go to state 54
+    signplus           go to state 55
+    signminus          go to state 56
+
+
+state 77
+
+   45 simple_expression: simple_expression ADDOP . term
+
+    ID   shift, and go to state 44
+    NUM  shift, and go to state 45
+    NOT  shift, and go to state 46
+    '('  shift, and go to state 68
+
+    term    go to state 98
+    factor  go to state 54
+
+
+state 78
+
+   43 simple_expression: simple_expression '+' . term
+
+    ID   shift, and go to state 44
+    NUM  shift, and go to state 45
+    NOT  shift, and go to state 46
+    '('  shift, and go to state 68
+
+    term    go to state 99
+    factor  go to state 54
+
+
+state 79
+
+   44 simple_expression: simple_expression '-' . term
+
+    ID   shift, and go to state 44
+    NUM  shift, and go to state 45
+    NOT  shift, and go to state 46
+    '('  shift, and go to state 68
+
+    term    go to state 100
+    factor  go to state 54
+
+
+state 80
+
+   47 term: term MULOP . factor
+
+    ID   shift, and go to state 44
+    NUM  shift, and go to state 45
+    NOT  shift, and go to state 46
+    '('  shift, and go to state 68
+
+    factor  go to state 101
+
+
+state 81
+
+   41 simple_expression: signplus term .
+   47 term: term . MULOP factor
+
+    MULOP  shift, and go to state 80
+
+    $default  reduce using rule 41 (simple_expression)
+
+
+state 82
+
+   42 simple_expression: signminus term .
+   47 term: term . MULOP factor
+
+    MULOP  shift, and go to state 80
+
+    $default  reduce using rule 42 (simple_expression)
+
+
+state 83
+
+   29 statement: WHILE boollikeexp DO . statement
+
+    ID           shift, and go to state 22
+    PASCALBEGIN  shift, and go to state 13
+    IF           shift, and go to state 23
+    WHILE        shift, and go to state 24
+
+    compound_statement   go to state 25
+    statement            go to state 102
+    variable             go to state 29
+    procedure_statement  go to state 30
+
+
+state 84
+
+   24 statement_list: statement_list ';' statement .
+
+    $default  reduce using rule 24 (statement_list)
+
+
+state 85
+
+   25 statement: variable ASSIGNOP expression .
+
+    $default  reduce using rule 25 (statement)
+
+
+state 86
+
+   19 parameter_list: ID type_identifier_list .
+
+    $default  reduce using rule 19 (parameter_list)
+
+
+state 87
+
+   15 arguments: '(' parameter_lists ')' .
+
+    $default  reduce using rule 15 (arguments)
+
+
+state 88
+
+   17 parameter_lists: parameter_list ';' . parameter_lists
+
+    ID  shift, and go to state 63
+
+    parameter_lists  go to state 103
+    parameter_list   go to state 65
+
+
+state 89
+
+   13 subprogram_head: FUNCTION ID arguments ':' standard_type . ';'
+
+    ';'  shift, and go to state 104
+
+
+state 90
+
+   51 factor: '(' expression . ')'
+
+    ')'  shift, and go to state 95
+
+
+state 91
+
+   34 procedure_statement: ID '(' expression_list ')' .
+
+    $default  reduce using rule 34 (procedure_statement)
+
+
+state 92
+
+   36 expression_list: expression ',' . expression_list
+
+    ID   shift, and go to state 44
+    NUM  shift, and go to state 45
+    NOT  shift, and go to state 46
+    '('  shift, and go to state 68
+    '+'  shift, and go to state 48
+    '-'  shift, and go to state 49
+
+    expression_list    go to state 105
+    expression         go to state 70
+    simple_expression  go to state 52
+    term               go to state 53
+    factor             go to state 54
+    signplus           go to state 55
+    signminus          go to state 56
+
+
+state 93
+
+   49 factor: ID '(' expression_list . ')'
+
+    ')'  shift, and go to state 106
+
+
+state 94
+
+   38 boollikeexp: '(' boollikeexp ')' .
+
+    $default  reduce using rule 38 (boollikeexp)
+
+
+state 95
+
+   51 factor: '(' expression ')' .
+
+    $default  reduce using rule 51 (factor)
+
+
+state 96
+
+   28 statement: IF boollikeexp THEN statement . optional_else_statement
+
+    ELSE  shift, and go to state 107
+
+    ELSE      [reduce using rule 31 (optional_else_statement)]
+    $default  reduce using rule 31 (optional_else_statement)
+
+    optional_else_statement  go to state 108
+
+
+state 97
+
+   37 boollikeexp: expression RELOP expression .
+
+    $default  reduce using rule 37 (boollikeexp)
+
+
+state 98
+
+   45 simple_expression: simple_expression ADDOP term .
+   47 term: term . MULOP factor
+
+    MULOP  shift, and go to state 80
+
+    $default  reduce using rule 45 (simple_expression)
+
+
+state 99
+
+   43 simple_expression: simple_expression '+' term .
+   47 term: term . MULOP factor
+
+    MULOP  shift, and go to state 80
+
+    $default  reduce using rule 43 (simple_expression)
+
+
+state 100
+
+   44 simple_expression: simple_expression '-' term .
+   47 term: term . MULOP factor
+
+    MULOP  shift, and go to state 80
+
+    $default  reduce using rule 44 (simple_expression)
+
+
+state 101
+
+   47 term: term MULOP factor .
+
+    $default  reduce using rule 47 (term)
+
+
+state 102
+
+   29 statement: WHILE boollikeexp DO statement .
+
+    $default  reduce using rule 29 (statement)
+
+
+state 103
+
+   17 parameter_lists: parameter_list ';' parameter_lists .
+
+    $default  reduce using rule 17 (parameter_lists)
+
+
+state 104
+
+   13 subprogram_head: FUNCTION ID arguments ':' standard_type ';' .
+
+    $default  reduce using rule 13 (subprogram_head)
+
+
+state 105
+
+   36 expression_list: expression ',' expression_list .
+
+    $default  reduce using rule 36 (expression_list)
+
+
+state 106
+
+   49 factor: ID '(' expression_list ')' .
+
+    $default  reduce using rule 49 (factor)
+
+
+state 107
+
+   30 optional_else_statement: ELSE . statement
+
+    ID           shift, and go to state 22
+    PASCALBEGIN  shift, and go to state 13
+    IF           shift, and go to state 23
+    WHILE        shift, and go to state 24
+
+    compound_statement   go to state 25
+    statement            go to state 109
+    variable             go to state 29
+    procedure_statement  go to state 30
+
+
+state 108
+
+   28 statement: IF boollikeexp THEN statement optional_else_statement .
+
+    $default  reduce using rule 28 (statement)
+
+
+state 109
+
+   30 optional_else_statement: ELSE statement .
+
+    $default  reduce using rule 30 (optional_else_statement)
Index: /liacs/coco/assignment2/gen/y.tab.c
===================================================================
--- /liacs/coco/assignment2/gen/y.tab.c	(revision 2)
+++ /liacs/coco/assignment2/gen/y.tab.c	(revision 2)
@@ -0,0 +1,1787 @@
+/* A Bison parser, made by GNU Bison 2.3.  */
+
+/* Skeleton implementation for Bison's Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+   Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+   simplifying the original so-called "semantic" parser.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Bison version.  */
+#define YYBISON_VERSION "2.3"
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     PROGRAM = 258,
+     ID = 259,
+     VAR = 260,
+     NUM = 261,
+     INTEGER = 262,
+     REAL = 263,
+     FUNCTION = 264,
+     PROCEDURE = 265,
+     PASCALBEGIN = 266,
+     END = 267,
+     ADDOP = 268,
+     ASSIGNOP = 269,
+     IF = 270,
+     THEN = 271,
+     ELSE = 272,
+     WHILE = 273,
+     DO = 274,
+     RELOP = 275,
+     MULOP = 276,
+     NOT = 277,
+     PROG_PARAMETER = 278,
+     IRRELEVANT = 279,
+     UMINUS = 280
+   };
+#endif
+/* Tokens.  */
+#define PROGRAM 258
+#define ID 259
+#define VAR 260
+#define NUM 261
+#define INTEGER 262
+#define REAL 263
+#define FUNCTION 264
+#define PROCEDURE 265
+#define PASCALBEGIN 266
+#define END 267
+#define ADDOP 268
+#define ASSIGNOP 269
+#define IF 270
+#define THEN 271
+#define ELSE 272
+#define WHILE 273
+#define DO 274
+#define RELOP 275
+#define MULOP 276
+#define NOT 277
+#define PROG_PARAMETER 278
+#define IRRELEVANT 279
+#define UMINUS 280
+
+
+
+
+/* Copy the first part of user declarations.  */
+#line 2 "comp.y"
+
+
+#include <stdio.h>
+#include <math.h>
+#include "debug.h"
+#include "SyntaxTree.h"
+#include "SymbolTable.h"
+#include "Node.h"
+
+
+/* Prototypes */
+static void yyerror(const char *);
+
+
+/* Import from comp.l */
+extern int yylex(void);   /* Lexer function */
+extern int lineno;        /* Current line number */
+extern string lastID;     /* The most recently read ID */
+extern string lastNUM;    /* The most recently read value expression */
+
+
+/* Other declarations */
+SyntaxTree * tree;        /* The syntax tree */
+SymbolTable * symtab;     /* The symbol table */
+string mainScopeName;     /* The name of the main scope */
+
+
+#ifdef DEBUG
+int msglevel = 90; /* higher = more debugging messages */
+#else
+int msglevel = 0;   /* don't bother sensitive souls */
+#endif
+
+
+
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 1
+#endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* Enabling the token table.  */
+#ifndef YYTOKEN_TABLE
+# define YYTOKEN_TABLE 0
+#endif
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+#line 48 "comp.y"
+{
+  Node *node;
+}
+/* Line 193 of yacc.c.  */
+#line 185 "gen/y.tab.c"
+	YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations.  */
+
+
+/* Line 216 of yacc.c.  */
+#line 198 "gen/y.tab.c"
+
+#ifdef short
+# undef short
+#endif
+
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
+#else
+typedef unsigned char yytype_uint8;
+#endif
+
+#ifdef YYTYPE_INT8
+typedef YYTYPE_INT8 yytype_int8;
+#elif (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+typedef signed char yytype_int8;
+#else
+typedef short int yytype_int8;
+#endif
+
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
+#else
+typedef unsigned short int yytype_uint16;
+#endif
+
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+#  define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+#  define YYSIZE_T size_t
+# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# else
+#  define YYSIZE_T unsigned int
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+
+#ifndef YY_
+# if defined YYENABLE_NLS && YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+#   define YY_(msgid) dgettext ("bison-runtime", msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(msgid) msgid
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E.  */
+#if ! defined lint || defined __GNUC__
+# define YYUSE(e) ((void) (e))
+#else
+# define YYUSE(e) /* empty */
+#endif
+
+/* Identity function, used to suppress warnings about constant conditions.  */
+#ifndef lint
+# define YYID(n) (n)
+#else
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static int
+YYID (int i)
+#else
+static int
+YYID (i)
+    int i;
+#endif
+{
+  return i;
+}
+#endif
+
+#if ! defined yyoverflow || YYERROR_VERBOSE
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   elif defined __BUILTIN_VA_ARG_INCR
+#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+#   elif defined _AIX
+#    define YYSTACK_ALLOC __alloca
+#   elif defined _MSC_VER
+#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+#    define alloca _alloca
+#   else
+#    define YYSTACK_ALLOC alloca
+#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#     ifndef _STDLIB_H
+#      define _STDLIB_H 1
+#     endif
+#    endif
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+    /* The OS might guarantee only one guard page at the bottom of the stack,
+       and a page size can be as small as 4096 bytes.  So we cannot safely
+       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
+       to allow for a few compiler-allocated temporary stack slots.  */
+#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+#  endif
+# else
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+#  endif
+#  if (defined __cplusplus && ! defined _STDLIB_H \
+       && ! ((defined YYMALLOC || defined malloc) \
+	     && (defined YYFREE || defined free)))
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   ifndef _STDLIB_H
+#    define _STDLIB_H 1
+#   endif
+#  endif
+#  ifndef YYMALLOC
+#   define YYMALLOC malloc
+#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+#  ifndef YYFREE
+#   define YYFREE free
+#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+# endif
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+
+
+#if (! defined yyoverflow \
+     && (! defined __cplusplus \
+	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  yytype_int16 yyss;
+  YYSTYPE yyvs;
+  };
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+      + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined __GNUC__ && 1 < __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)		\
+      do					\
+	{					\
+	  YYSIZE_T yyi;				\
+	  for (yyi = 0; yyi < (Count); yyi++)	\
+	    (To)[yyi] = (From)[yyi];		\
+	}					\
+      while (YYID (0))
+#  endif
+# endif
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack)					\
+    do									\
+      {									\
+	YYSIZE_T yynewbytes;						\
+	YYCOPY (&yyptr->Stack, Stack, yysize);				\
+	Stack = &yyptr->Stack;						\
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+	yyptr += yynewbytes / sizeof (*yyptr);				\
+      }									\
+    while (YYID (0))
+
+#endif
+
+/* YYFINAL -- State number of the termination state.  */
+#define YYFINAL  4
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   104
+
+/* YYNTOKENS -- Number of terminals.  */
+#define YYNTOKENS  34
+/* YYNNTS -- Number of nonterminals.  */
+#define YYNNTS  28
+/* YYNRULES -- Number of rules.  */
+#define YYNRULES  55
+/* YYNRULES -- Number of states.  */
+#define YYNSTATES  110
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   280
+
+#define YYTRANSLATE(YYX)						\
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const yytype_uint8 yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+      30,    31,     2,    32,    28,    33,    27,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,    29,    26,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const yytype_uint8 yyprhs[] =
+{
+       0,     0,     3,     4,    13,    17,    20,    26,    27,    29,
+      31,    33,    37,    38,    42,    49,    54,    58,    59,    63,
+      65,    68,    72,    74,    75,    77,    81,    85,    87,    89,
+      95,   100,   103,   104,   106,   108,   113,   115,   119,   123,
+     127,   129,   131,   134,   137,   141,   145,   149,   151,   155,
+     157,   162,   164,   168,   171,   173
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
+static const yytype_int8 yyrhs[] =
+{
+      35,     0,    -1,    -1,     3,     4,    36,    26,    38,    41,
+      47,    27,    -1,    28,     4,    37,    -1,    29,    39,    -1,
+      38,     5,     4,    37,    26,    -1,    -1,    40,    -1,     7,
+      -1,     8,    -1,    41,    42,    26,    -1,    -1,    43,    38,
+      47,    -1,     9,     4,    44,    29,    40,    26,    -1,    10,
+       4,    44,    26,    -1,    30,    45,    31,    -1,    -1,    46,
+      26,    45,    -1,    46,    -1,     4,    37,    -1,    11,    48,
+      12,    -1,    49,    -1,    -1,    50,    -1,    49,    26,    50,
+      -1,    52,    14,    56,    -1,    53,    -1,    47,    -1,    15,
+      55,    16,    50,    51,    -1,    18,    55,    19,    50,    -1,
+      17,    50,    -1,    -1,     4,    -1,     4,    -1,     4,    30,
+      54,    31,    -1,    56,    -1,    56,    28,    54,    -1,    56,
+      20,    56,    -1,    30,    55,    31,    -1,    57,    -1,    58,
+      -1,    60,    58,    -1,    61,    58,    -1,    57,    32,    58,
+      -1,    57,    33,    58,    -1,    57,    13,    58,    -1,    59,
+      -1,    58,    21,    59,    -1,     4,    -1,     4,    30,    54,
+      31,    -1,     6,    -1,    30,    56,    31,    -1,    22,    59,
+      -1,    32,    -1,    33,    -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const yytype_uint16 yyrline[] =
+{
+       0,    57,    57,    57,    73,    75,    82,    86,    90,    95,
+      97,   102,   104,   109,   114,   116,   120,   122,   126,   128,
+     132,   137,   142,   144,   148,   150,   154,   156,   158,   160,
+     162,   167,   169,   174,   180,   182,   188,   190,   193,   195,
+     199,   204,   206,   208,   210,   228,   230,   234,   236,   240,
+     242,   244,   246,   248,   253,   256
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
+static const char *const yytname[] =
+{
+  "$end", "error", "$undefined", "PROGRAM", "ID", "VAR", "NUM", "INTEGER",
+  "REAL", "FUNCTION", "PROCEDURE", "PASCALBEGIN", "END", "ADDOP",
+  "ASSIGNOP", "IF", "THEN", "ELSE", "WHILE", "DO", "RELOP", "MULOP", "NOT",
+  "PROG_PARAMETER", "IRRELEVANT", "UMINUS", "';'", "'.'", "','", "':'",
+  "'('", "')'", "'+'", "'-'", "$accept", "program", "@1",
+  "type_identifier_list", "declarations", "type", "standard_type",
+  "subprogram_declarations", "subprogram_declaration", "subprogram_head",
+  "arguments", "parameter_lists", "parameter_list", "compound_statement",
+  "optional_statements", "statement_list", "statement",
+  "optional_else_statement", "variable", "procedure_statement",
+  "expression_list", "boollikeexp", "expression", "simple_expression",
+  "term", "factor", "signplus", "signminus", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const yytype_uint16 yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,    59,    46,    44,    58,
+      40,    41,    43,    45
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const yytype_uint8 yyr1[] =
+{
+       0,    34,    36,    35,    37,    37,    38,    38,    39,    40,
+      40,    41,    41,    42,    43,    43,    44,    44,    45,    45,
+      46,    47,    48,    48,    49,    49,    50,    50,    50,    50,
+      50,    51,    51,    52,    53,    53,    54,    54,    55,    55,
+      56,    57,    57,    57,    57,    57,    57,    58,    58,    59,
+      59,    59,    59,    59,    60,    61
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const yytype_uint8 yyr2[] =
+{
+       0,     2,     0,     8,     3,     2,     5,     0,     1,     1,
+       1,     3,     0,     3,     6,     4,     3,     0,     3,     1,
+       2,     3,     1,     0,     1,     3,     3,     1,     1,     5,
+       4,     2,     0,     1,     1,     4,     1,     3,     3,     3,
+       1,     1,     2,     2,     3,     3,     3,     1,     3,     1,
+       4,     1,     3,     2,     1,     1
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
+   means the default is an error.  */
+static const yytype_uint8 yydefact[] =
+{
+       0,     0,     0,     2,     1,     0,     7,    12,     0,     0,
+       0,     0,     0,    23,     0,     7,     0,     0,     0,     0,
+      17,    17,    34,     0,     0,    28,     0,    22,    24,     0,
+      27,    11,     0,     3,     0,     9,    10,     5,     8,     6,
+       0,     0,     0,     0,    49,    51,     0,     0,    54,    55,
+       0,     0,    40,    41,    47,     0,     0,     0,    21,     0,
+       0,    13,     4,     0,     0,    19,     0,    15,     0,     0,
+      36,     0,    53,     0,     0,     0,     0,     0,     0,     0,
+       0,    42,    43,     0,    25,    26,    20,    16,     0,     0,
+       0,    35,     0,     0,    39,    52,    32,    38,    46,    44,
+      45,    48,    30,    18,    14,    37,    50,     0,    29,    31
+};
+
+/* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int8 yydefgoto[] =
+{
+      -1,     2,     5,    19,     7,    37,    38,     9,    14,    15,
+      41,    64,    65,    25,    26,    27,    28,   108,    29,    30,
+      69,    50,    70,    52,    53,    54,    55,    56
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -66
+static const yytype_int8 yypact[] =
+{
+       5,    43,    58,   -66,   -66,    34,   -66,    56,    62,     4,
+      23,    63,    64,    44,    45,   -66,    42,    66,    49,    46,
+      47,    47,    35,    -1,    -1,   -66,    61,    48,   -66,    65,
+     -66,   -66,    11,   -66,    23,   -66,   -66,   -66,   -66,   -66,
+      71,    51,    50,     3,    52,   -66,    24,    -1,   -66,   -66,
+      67,    68,    31,    57,   -66,    24,    24,    70,   -66,    44,
+       3,   -66,   -66,    23,    53,    55,    49,   -66,     3,    54,
+      59,     3,   -66,    60,    -8,    44,     3,    24,    24,    24,
+      24,    57,    57,    44,   -66,   -66,   -66,   -66,    71,    69,
+      72,   -66,     3,    73,   -66,   -66,    75,   -66,    57,    57,
+      57,   -66,   -66,   -66,   -66,   -66,   -66,    44,   -66,   -66
+};
+
+/* YYPGOTO[NTERM-NUM].  */
+static const yytype_int8 yypgoto[] =
+{
+     -66,   -66,   -66,   -24,    78,   -66,    20,   -66,   -66,   -66,
+      76,     6,   -66,     2,   -66,   -66,   -57,   -66,   -66,   -66,
+     -65,    -7,   -23,   -66,   -36,   -42,   -66,   -66
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If zero, do what YYDEFACT says.
+   If YYTABLE_NINF, syntax error.  */
+#define YYTABLE_NINF -34
+static const yytype_int8 yytable[] =
+{
+      51,    51,    84,    44,    72,    45,    93,    44,     1,    45,
+      62,    16,    76,    11,    12,    13,     8,    57,    96,    81,
+      82,    46,    13,    95,    74,    46,   102,   105,    44,    47,
+      45,    48,    49,    68,    61,    48,    49,    85,   101,    86,
+      73,    98,    99,   100,    77,    90,    46,     3,    22,   -33,
+     109,    17,    18,    97,    68,    13,    35,    36,     4,    23,
+       6,     8,    24,    78,    79,    43,    10,    20,    21,    33,
+      34,    31,    39,    58,    59,    63,    67,    40,    80,    60,
+      66,    88,    71,    75,    87,    91,    89,    92,    76,    83,
+       0,    94,   107,    32,   103,   104,     0,    42,     0,     0,
+       0,     0,     0,    95,   106
+};
+
+static const yytype_int8 yycheck[] =
+{
+      23,    24,    59,     4,    46,     6,    71,     4,     3,     6,
+      34,     9,    20,     9,    10,    11,     5,    24,    75,    55,
+      56,    22,    11,    31,    47,    22,    83,    92,     4,    30,
+       6,    32,    33,    30,    32,    32,    33,    60,    80,    63,
+      47,    77,    78,    79,    13,    68,    22,     4,     4,    14,
+     107,    28,    29,    76,    30,    11,     7,     8,     0,    15,
+      26,     5,    18,    32,    33,    30,     4,     4,     4,    27,
+       4,    26,    26,    12,    26,     4,    26,    30,    21,    14,
+      29,    26,    30,    16,    31,    31,    66,    28,    20,    19,
+      -1,    31,    17,    15,    88,    26,    -1,    21,    -1,    -1,
+      -1,    -1,    -1,    31,    31
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const yytype_uint8 yystos[] =
+{
+       0,     3,    35,     4,     0,    36,    26,    38,     5,    41,
+       4,     9,    10,    11,    42,    43,    47,    28,    29,    37,
+       4,     4,     4,    15,    18,    47,    48,    49,    50,    52,
+      53,    26,    38,    27,     4,     7,     8,    39,    40,    26,
+      30,    44,    44,    30,     4,     6,    22,    30,    32,    33,
+      55,    56,    57,    58,    59,    60,    61,    55,    12,    26,
+      14,    47,    37,     4,    45,    46,    29,    26,    30,    54,
+      56,    30,    59,    55,    56,    16,    20,    13,    32,    33,
+      21,    58,    58,    19,    50,    56,    37,    31,    26,    40,
+      56,    31,    28,    54,    31,    31,    50,    56,    58,    58,
+      58,    59,    50,    45,    26,    54,    31,    17,    51,    50
+};
+
+#define yyerrok		(yyerrstatus = 0)
+#define yyclearin	(yychar = YYEMPTY)
+#define YYEMPTY		(-2)
+#define YYEOF		0
+
+#define YYACCEPT	goto yyacceptlab
+#define YYABORT		goto yyabortlab
+#define YYERROR		goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
+   Once GCC version 2 has supplanted version 1, this can go.  */
+
+#define YYFAIL		goto yyerrlab
+
+#define YYRECOVERING()  (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value)					\
+do								\
+  if (yychar == YYEMPTY && yylen == 1)				\
+    {								\
+      yychar = (Token);						\
+      yylval = (Value);						\
+      yytoken = YYTRANSLATE (yychar);				\
+      YYPOPSTACK (1);						\
+      goto yybackup;						\
+    }								\
+  else								\
+    {								\
+      yyerror (YY_("syntax error: cannot back up")); \
+      YYERROR;							\
+    }								\
+while (YYID (0))
+
+
+#define YYTERROR	1
+#define YYERRCODE	256
+
+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+   If N is 0, then set CURRENT to the empty location which ends
+   the previous symbol: RHS[0] (always defined).  */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)				\
+    do									\
+      if (YYID (N))                                                    \
+	{								\
+	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
+	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
+	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
+	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
+	}								\
+      else								\
+	{								\
+	  (Current).first_line   = (Current).last_line   =		\
+	    YYRHSLOC (Rhs, 0).last_line;				\
+	  (Current).first_column = (Current).last_column =		\
+	    YYRHSLOC (Rhs, 0).last_column;				\
+	}								\
+    while (YYID (0))
+#endif
+
+
+/* YY_LOCATION_PRINT -- Print the location on the stream.
+   This macro was not mandated originally: define only if we know
+   we won't break user code: when these are the locations we know.  */
+
+#ifndef YY_LOCATION_PRINT
+# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
+#  define YY_LOCATION_PRINT(File, Loc)			\
+     fprintf (File, "%d.%d-%d.%d",			\
+	      (Loc).first_line, (Loc).first_column,	\
+	      (Loc).last_line,  (Loc).last_column)
+# else
+#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+# endif
+#endif
+
+
+/* YYLEX -- calling `yylex' with the right arguments.  */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (YYLEX_PARAM)
+#else
+# define YYLEX yylex ()
+#endif
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)			\
+do {						\
+  if (yydebug)					\
+    YYFPRINTF Args;				\
+} while (YYID (0))
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
+do {									  \
+  if (yydebug)								  \
+    {									  \
+      YYFPRINTF (stderr, "%s ", Title);					  \
+      yy_symbol_print (stderr,						  \
+		  Type, Value); \
+      YYFPRINTF (stderr, "\n");						  \
+    }									  \
+} while (YYID (0))
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (!yyvaluep)
+    return;
+# ifdef YYPRINT
+  if (yytype < YYNTOKENS)
+    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# else
+  YYUSE (yyoutput);
+# endif
+  switch (yytype)
+    {
+      default:
+	break;
+    }
+}
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (yytype < YYNTOKENS)
+    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+  else
+    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+  YYFPRINTF (yyoutput, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+#else
+static void
+yy_stack_print (bottom, top)
+    yytype_int16 *bottom;
+    yytype_int16 *top;
+#endif
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (; bottom <= top; ++bottom)
+    YYFPRINTF (stderr, " %d", *bottom);
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)				\
+do {								\
+  if (yydebug)							\
+    yy_stack_print ((Bottom), (Top));				\
+} while (YYID (0))
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
+#else
+static void
+yy_reduce_print (yyvsp, yyrule)
+    YYSTYPE *yyvsp;
+    int yyrule;
+#endif
+{
+  int yynrhs = yyr2[yyrule];
+  int yyi;
+  unsigned long int yylno = yyrline[yyrule];
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+	     yyrule - 1, yylno);
+  /* The symbols being reduced.  */
+  for (yyi = 0; yyi < yynrhs; yyi++)
+    {
+      fprintf (stderr, "   $%d = ", yyi + 1);
+      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+		       &(yyvsp[(yyi + 1) - (yynrhs)])
+		       		       );
+      fprintf (stderr, "\n");
+    }
+}
+
+# define YY_REDUCE_PRINT(Rule)		\
+do {					\
+  if (yydebug)				\
+    yy_reduce_print (yyvsp, Rule); \
+} while (YYID (0))
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
+#ifndef	YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+#  if defined __GLIBC__ && defined _STRING_H
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static YYSIZE_T
+yystrlen (const char *yystr)
+#else
+static YYSIZE_T
+yystrlen (yystr)
+    const char *yystr;
+#endif
+{
+  YYSIZE_T yylen;
+  for (yylen = 0; yystr[yylen]; yylen++)
+    continue;
+  return yylen;
+}
+#  endif
+# endif
+
+# ifndef yystpcpy
+#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static char *
+yystpcpy (char *yydest, const char *yysrc)
+#else
+static char *
+yystpcpy (yydest, yysrc)
+    char *yydest;
+    const char *yysrc;
+#endif
+{
+  char *yyd = yydest;
+  const char *yys = yysrc;
+
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
+}
+#  endif
+# endif
+
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+   quotes and backslashes, so that it's suitable for yyerror.  The
+   heuristic is that double-quoting is unnecessary unless the string
+   contains an apostrophe, a comma, or backslash (other than
+   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
+   null, do not copy; instead, return the length of what the result
+   would have been.  */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
+{
+  if (*yystr == '"')
+    {
+      YYSIZE_T yyn = 0;
+      char const *yyp = yystr;
+
+      for (;;)
+	switch (*++yyp)
+	  {
+	  case '\'':
+	  case ',':
+	    goto do_not_strip_quotes;
+
+	  case '\\':
+	    if (*++yyp != '\\')
+	      goto do_not_strip_quotes;
+	    /* Fall through.  */
+	  default:
+	    if (yyres)
+	      yyres[yyn] = *yyp;
+	    yyn++;
+	    break;
+
+	  case '"':
+	    if (yyres)
+	      yyres[yyn] = '\0';
+	    return yyn;
+	  }
+    do_not_strip_quotes: ;
+    }
+
+  if (! yyres)
+    return yystrlen (yystr);
+
+  return yystpcpy (yyres, yystr) - yyres;
+}
+# endif
+
+/* Copy into YYRESULT an error message about the unexpected token
+   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
+   including the terminating null byte.  If YYRESULT is null, do not
+   copy anything; just return the number of bytes that would be
+   copied.  As a special case, return 0 if an ordinary "syntax error"
+   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
+   size calculation.  */
+static YYSIZE_T
+yysyntax_error (char *yyresult, int yystate, int yychar)
+{
+  int yyn = yypact[yystate];
+
+  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
+    return 0;
+  else
+    {
+      int yytype = YYTRANSLATE (yychar);
+      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
+      YYSIZE_T yysize = yysize0;
+      YYSIZE_T yysize1;
+      int yysize_overflow = 0;
+      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+      int yyx;
+
+# if 0
+      /* This is so xgettext sees the translatable formats that are
+	 constructed on the fly.  */
+      YY_("syntax error, unexpected %s");
+      YY_("syntax error, unexpected %s, expecting %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
+      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
+# endif
+      char *yyfmt;
+      char const *yyf;
+      static char const yyunexpected[] = "syntax error, unexpected %s";
+      static char const yyexpecting[] = ", expecting %s";
+      static char const yyor[] = " or %s";
+      char yyformat[sizeof yyunexpected
+		    + sizeof yyexpecting - 1
+		    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
+		       * (sizeof yyor - 1))];
+      char const *yyprefix = yyexpecting;
+
+      /* Start YYX at -YYN if negative to avoid negative indexes in
+	 YYCHECK.  */
+      int yyxbegin = yyn < 0 ? -yyn : 0;
+
+      /* Stay within bounds of both yycheck and yytname.  */
+      int yychecklim = YYLAST - yyn + 1;
+      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+      int yycount = 1;
+
+      yyarg[0] = yytname[yytype];
+      yyfmt = yystpcpy (yyformat, yyunexpected);
+
+      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+	if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+	  {
+	    if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+	      {
+		yycount = 1;
+		yysize = yysize0;
+		yyformat[sizeof yyunexpected - 1] = '\0';
+		break;
+	      }
+	    yyarg[yycount++] = yytname[yyx];
+	    yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+	    yysize_overflow |= (yysize1 < yysize);
+	    yysize = yysize1;
+	    yyfmt = yystpcpy (yyfmt, yyprefix);
+	    yyprefix = yyor;
+	  }
+
+      yyf = YY_(yyformat);
+      yysize1 = yysize + yystrlen (yyf);
+      yysize_overflow |= (yysize1 < yysize);
+      yysize = yysize1;
+
+      if (yysize_overflow)
+	return YYSIZE_MAXIMUM;
+
+      if (yyresult)
+	{
+	  /* Avoid sprintf, as that infringes on the user's name space.
+	     Don't have undefined behavior even if the translation
+	     produced a string with the wrong number of "%s"s.  */
+	  char *yyp = yyresult;
+	  int yyi = 0;
+	  while ((*yyp = *yyf) != '\0')
+	    {
+	      if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
+		{
+		  yyp += yytnamerr (yyp, yyarg[yyi++]);
+		  yyf += 2;
+		}
+	      else
+		{
+		  yyp++;
+		  yyf++;
+		}
+	    }
+	}
+      return yysize;
+    }
+}
+#endif /* YYERROR_VERBOSE */
+
+
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yymsg, yytype, yyvaluep)
+    const char *yymsg;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
+{
+  YYUSE (yyvaluep);
+
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+  switch (yytype)
+    {
+
+      default:
+	break;
+    }
+}
+
+
+
+/* Prevent warnings from -Wmissing-prototypes.  */
+
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+/* The look-ahead symbol.  */
+int yychar;
+
+/* The semantic value of the look-ahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+/*----------.
+| yyparse.  |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void *YYPARSE_PARAM)
+#else
+int
+yyparse (YYPARSE_PARAM)
+    void *YYPARSE_PARAM;
+#endif
+#else /* ! YYPARSE_PARAM */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+  
+  int yystate;
+  int yyn;
+  int yyresult;
+  /* Number of tokens to shift before error messages enabled.  */
+  int yyerrstatus;
+  /* Look-ahead token as an internal (translated) token number.  */
+  int yytoken = 0;
+#if YYERROR_VERBOSE
+  /* Buffer for error messages, and its allocated size.  */
+  char yymsgbuf[128];
+  char *yymsg = yymsgbuf;
+  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+  /* Three stacks and their tools:
+     `yyss': related to states,
+     `yyvs': related to semantic values,
+     `yyls': related to locations.
+
+     Refer to the stacks thru separate pointers, to allow yyoverflow
+     to reallocate them elsewhere.  */
+
+  /* The state stack.  */
+  yytype_int16 yyssa[YYINITDEPTH];
+  yytype_int16 *yyss = yyssa;
+  yytype_int16 *yyssp;
+
+  /* The semantic value stack.  */
+  YYSTYPE yyvsa[YYINITDEPTH];
+  YYSTYPE *yyvs = yyvsa;
+  YYSTYPE *yyvsp;
+
+
+
+#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
+
+  YYSIZE_T yystacksize = YYINITDEPTH;
+
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
+
+
+  /* The number of symbols on the RHS of the reduced rule.
+     Keep to zero when no symbol should be popped.  */
+  int yylen = 0;
+
+  YYDPRINTF ((stderr, "Starting parse\n"));
+
+  yystate = 0;
+  yyerrstatus = 0;
+  yynerrs = 0;
+  yychar = YYEMPTY;		/* Cause a token to be read.  */
+
+  /* Initialize stack pointers.
+     Waste one element of value and location stack
+     so that they stay on the same level as the state stack.
+     The wasted elements are never initialized.  */
+
+  yyssp = yyss;
+  yyvsp = yyvs;
+
+  goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed.  So pushing a state here evens the stacks.  */
+  yyssp++;
+
+ yysetstate:
+  *yyssp = yystate;
+
+  if (yyss + yystacksize - 1 <= yyssp)
+    {
+      /* Get the current used size of the three stacks, in elements.  */
+      YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+      {
+	/* Give user a chance to reallocate the stack.  Use copies of
+	   these so that the &'s don't force the real ones into
+	   memory.  */
+	YYSTYPE *yyvs1 = yyvs;
+	yytype_int16 *yyss1 = yyss;
+
+
+	/* Each stack pointer address is followed by the size of the
+	   data in use in that stack, in bytes.  This used to be a
+	   conditional around just the two extra args, but that might
+	   be undefined if yyoverflow is a macro.  */
+	yyoverflow (YY_("memory exhausted"),
+		    &yyss1, yysize * sizeof (*yyssp),
+		    &yyvs1, yysize * sizeof (*yyvsp),
+
+		    &yystacksize);
+
+	yyss = yyss1;
+	yyvs = yyvs1;
+      }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyexhaustedlab;
+# else
+      /* Extend the stack our own way.  */
+      if (YYMAXDEPTH <= yystacksize)
+	goto yyexhaustedlab;
+      yystacksize *= 2;
+      if (YYMAXDEPTH < yystacksize)
+	yystacksize = YYMAXDEPTH;
+
+      {
+	yytype_int16 *yyss1 = yyss;
+	union yyalloc *yyptr =
+	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+	if (! yyptr)
+	  goto yyexhaustedlab;
+	YYSTACK_RELOCATE (yyss);
+	YYSTACK_RELOCATE (yyvs);
+
+#  undef YYSTACK_RELOCATE
+	if (yyss1 != yyssa)
+	  YYSTACK_FREE (yyss1);
+      }
+# endif
+#endif /* no yyoverflow */
+
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
+
+
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+		  (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 <= yyssp)
+	YYABORT;
+    }
+
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+  goto yybackup;
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
+
+  /* Do appropriate processing given the current state.  Read a
+     look-ahead token if we need one and don't already have one.  */
+
+  /* First try to decide what to do without reference to look-ahead token.  */
+  yyn = yypact[yystate];
+  if (yyn == YYPACT_NINF)
+    goto yydefault;
+
+  /* Not known => get a look-ahead token if don't already have one.  */
+
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
+  if (yychar == YYEMPTY)
+    {
+      YYDPRINTF ((stderr, "Reading a token: "));
+      yychar = YYLEX;
+    }
+
+  if (yychar <= YYEOF)
+    {
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
+    }
+  else
+    {
+      yytoken = YYTRANSLATE (yychar);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+    }
+
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+    goto yydefault;
+  yyn = yytable[yyn];
+  if (yyn <= 0)
+    {
+      if (yyn == 0 || yyn == YYTABLE_NINF)
+	goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
+
+  /* Shift the look-ahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+  /* Discard the shifted token unless it is eof.  */
+  if (yychar != YYEOF)
+    yychar = YYEMPTY;
+
+  yystate = yyn;
+  *++yyvsp = yylval;
+
+  goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+  goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
+yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
+  yylen = yyr2[yyn];
+
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+        case 2:
+#line 57 "comp.y"
+    {
+                  /* The program name has just been read; save it */
+                  mainScopeName = lastID;
+                  
+                  /* Put the program name into the syntax tree */
+                  tree->SetProgramName (mainScopeName);
+                  
+                  /* Create a new scope in the symbol table */
+                  symtab->AddScope (mainScopeName);
+                }
+    break;
+
+  case 44:
+#line 210 "comp.y"
+    {
+                  /*
+                  This is an example on how to work with the syntax tree construction routines:
+                  
+                  ReturnType returnType = ...
+                  $<node>$ = tree->CreateParentNode(NODE_ADD, returnType, $<node>1, $<node>3);
+                  
+                  Using this invocation, we construct a parent node of type NODE_ADD,
+                  with child nodes $<node>1 and $<node>3 (these refer to 'simple_expression'
+                  resp. 'term'). The return type of this node should be based on that of its
+                  child nodes.
+                  Using the assignment to $<node>$, the newly created node is passed to a
+                  grammar rule at a higher level, where the subtree should be inserted into a
+                  larger tree using a similar approach.
+                  
+                  */
+                }
+    break;
+
+
+/* Line 1267 of yacc.c.  */
+#line 1519 "gen/y.tab.c"
+      default: break;
+    }
+  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+
+  *++yyvsp = yyval;
+
+
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
+
+  yyn = yyr1[yyn];
+
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+    yystate = yytable[yystate];
+  else
+    yystate = yydefgoto[yyn - YYNTOKENS];
+
+  goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
+    {
+      ++yynerrs;
+#if ! YYERROR_VERBOSE
+      yyerror (YY_("syntax error"));
+#else
+      {
+	YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
+	if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
+	  {
+	    YYSIZE_T yyalloc = 2 * yysize;
+	    if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
+	      yyalloc = YYSTACK_ALLOC_MAXIMUM;
+	    if (yymsg != yymsgbuf)
+	      YYSTACK_FREE (yymsg);
+	    yymsg = (char *) YYSTACK_ALLOC (yyalloc);
+	    if (yymsg)
+	      yymsg_alloc = yyalloc;
+	    else
+	      {
+		yymsg = yymsgbuf;
+		yymsg_alloc = sizeof yymsgbuf;
+	      }
+	  }
+
+	if (0 < yysize && yysize <= yymsg_alloc)
+	  {
+	    (void) yysyntax_error (yymsg, yystate, yychar);
+	    yyerror (yymsg);
+	  }
+	else
+	  {
+	    yyerror (YY_("syntax error"));
+	    if (yysize != 0)
+	      goto yyexhaustedlab;
+	  }
+      }
+#endif
+    }
+
+
+
+  if (yyerrstatus == 3)
+    {
+      /* If just tried and failed to reuse look-ahead token after an
+	 error, discard it.  */
+
+      if (yychar <= YYEOF)
+	{
+	  /* Return failure if at end of input.  */
+	  if (yychar == YYEOF)
+	    YYABORT;
+	}
+      else
+	{
+	  yydestruct ("Error: discarding",
+		      yytoken, &yylval);
+	  yychar = YYEMPTY;
+	}
+    }
+
+  /* Else will try to reuse look-ahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
+
+  /* Pacify compilers like GCC when the user code never invokes
+     YYERROR and the label yyerrorlab therefore never appears in user
+     code.  */
+  if (/*CONSTCOND*/ 0)
+     goto yyerrorlab;
+
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYERROR.  */
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+  yystate = *yyssp;
+  goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
+
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (yyn != YYPACT_NINF)
+	{
+	  yyn += YYTERROR;
+	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+	    {
+	      yyn = yytable[yyn];
+	      if (0 < yyn)
+		break;
+	    }
+	}
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+	YYABORT;
+
+
+      yydestruct ("Error: popping",
+		  yystos[yystate], yyvsp);
+      YYPOPSTACK (1);
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
+    }
+
+  if (yyn == YYFINAL)
+    YYACCEPT;
+
+  *++yyvsp = yylval;
+
+
+  /* Shift the error token.  */
+  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#ifndef yyoverflow
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here.  |
+`-------------------------------------------------*/
+yyexhaustedlab:
+  yyerror (YY_("memory exhausted"));
+  yyresult = 2;
+  /* Fall through.  */
+#endif
+
+yyreturn:
+  if (yychar != YYEOF && yychar != YYEMPTY)
+     yydestruct ("Cleanup: discarding lookahead",
+		 yytoken, &yylval);
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYABORT or YYACCEPT.  */
+  YYPOPSTACK (yylen);
+  YY_STACK_PRINT (yyss, yyssp);
+  while (yyssp != yyss)
+    {
+      yydestruct ("Cleanup: popping",
+		  yystos[*yyssp], yyvsp);
+      YYPOPSTACK (1);
+    }
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+#if YYERROR_VERBOSE
+  if (yymsg != yymsgbuf)
+    YYSTACK_FREE (yymsg);
+#endif
+  /* Make sure YYID is used.  */
+  return YYID (yyresult);
+}
+
+
+#line 259 "comp.y"
+
+
+/* End of rules, more C code will follow now */
+
+void initialize()
+{
+  /* Create & initialize the abstract data structures */
+  tree = new SyntaxTree;
+  symtab = new SymbolTable;
+}
+
+
+void cleanup()
+{
+  /* Free objects */
+  delete tree;
+  delete symtab; 
+}
+
+
+int main()
+{
+  int parseResult;
+  
+  initialize();
+
+  /* Start the parsing procedure */
+  parseResult = yyparse();
+  
+  /* Dump the syntax tree & symbol table */
+  tree->Dump (stdout);
+  printf("\n");
+  symtab->Dump (stdout);
+  
+  cleanup();
+  
+  /* Return the exit code. Note that the exit code does not depend on
+     parseResult only, but also on the result of your semantic checks */
+  return parseResult;
+}
+
+
+static void yyerror(const char *s)
+{
+  fprintf(stderr, "line %d: %s\n", lineno, s);
+}
+
+int yywrap()
+{
+  return(1);
+}
+
Index: /liacs/coco/assignment2/gen/y.tab.h
===================================================================
--- /liacs/coco/assignment2/gen/y.tab.h	(revision 2)
+++ /liacs/coco/assignment2/gen/y.tab.h	(revision 2)
@@ -0,0 +1,110 @@
+/* A Bison parser, made by GNU Bison 2.3.  */
+
+/* Skeleton interface for Bison's Yacc-like parsers in C
+
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+   Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     PROGRAM = 258,
+     ID = 259,
+     VAR = 260,
+     NUM = 261,
+     INTEGER = 262,
+     REAL = 263,
+     FUNCTION = 264,
+     PROCEDURE = 265,
+     PASCALBEGIN = 266,
+     END = 267,
+     ADDOP = 268,
+     ASSIGNOP = 269,
+     IF = 270,
+     THEN = 271,
+     ELSE = 272,
+     WHILE = 273,
+     DO = 274,
+     RELOP = 275,
+     MULOP = 276,
+     NOT = 277,
+     PROG_PARAMETER = 278,
+     IRRELEVANT = 279,
+     UMINUS = 280
+   };
+#endif
+/* Tokens.  */
+#define PROGRAM 258
+#define ID 259
+#define VAR 260
+#define NUM 261
+#define INTEGER 262
+#define REAL 263
+#define FUNCTION 264
+#define PROCEDURE 265
+#define PASCALBEGIN 266
+#define END 267
+#define ADDOP 268
+#define ASSIGNOP 269
+#define IF 270
+#define THEN 271
+#define ELSE 272
+#define WHILE 273
+#define DO 274
+#define RELOP 275
+#define MULOP 276
+#define NOT 277
+#define PROG_PARAMETER 278
+#define IRRELEVANT 279
+#define UMINUS 280
+
+
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+#line 48 "comp.y"
+{
+  Node *node;
+}
+/* Line 1529 of yacc.c.  */
+#line 103 "gen/y.tab.h"
+	YYSTYPE;
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+extern YYSTYPE yylval;
+
Index: /liacs/coco/assignment2/lookup.cc
===================================================================
--- /liacs/coco/assignment2/lookup.cc	(revision 2)
+++ /liacs/coco/assignment2/lookup.cc	(revision 2)
@@ -0,0 +1,61 @@
+#include "lookup.h"
+#include "messages.h"
+#include "types.h"
+#include "Node.h"
+#include "SyntaxTree.h"
+#include "Symbol.h"
+#include "SymbolTable.h"
+#include <assert.h>
+
+/* declared in comp.l */
+extern int lineno;
+
+/* declared in comp.y */
+extern SyntaxTree *tree;
+extern SymbolTable *symtab;
+extern Messages messages;
+extern string mainScopeName;
+
+Symbol *lookup(const string& id, SymbolType default_type)
+{
+    /* Lookup ID */
+    Symbol *symbol = symtab->GetSymbol(id);
+    if (symbol == NULL) {
+        /* Symbol not found */
+        messages.UndeclaredIdError(lineno, id);
+
+        /* Add ID with return type error to avoid triggering error again */
+        symbol = new Symbol();
+        symbol->SetSymbolType(default_type);
+        symbol->SetName(id);
+        symbol->SetLine(lineno);
+        symbol->SetReturnType(RT_ERROR);
+        symtab->AddSymbol(symbol);
+    }
+    return symbol;
+}
+
+/* Checks if the id already exists and gives an error if it does */
+void check_id(const string& id)
+{
+    /* check for program name */
+    if (id == mainScopeName) {
+        messages.DeclaredIdError(lineno, id, 0);
+        return;
+    }
+    /* check for local identifiers */
+    Symbol *symbol = symtab->GetSymbol(symtab->GetCurrentScopeName(), id, false);
+    if (symbol != NULL) {
+        messages.DeclaredIdError(lineno, id, symbol->GetLine());
+        return;
+    }
+    /* check for global identifiers */
+    symbol = symtab->GetSymbol(id);
+    if (symbol != NULL) {
+        SymbolType symboltype = symbol->GetSymbolType();
+        if (symboltype == ST_FUNCTION || symboltype == ST_PROCEDURE) {
+            messages.DeclaredIdError(lineno, id, symbol->GetLine());
+            return;
+        }
+    }
+}
Index: /liacs/coco/assignment2/lookup.h
===================================================================
--- /liacs/coco/assignment2/lookup.h	(revision 2)
+++ /liacs/coco/assignment2/lookup.h	(revision 2)
@@ -0,0 +1,17 @@
+#ifndef LOOKUP_H
+#define LOOKUP_H
+
+#include "types.h"
+#include "Symbol.h"
+#include <string>
+
+/* Lookup id in the symbol table and return it.
+ * If symbol can't be found, a new symbol is created with symbol type
+ * default_type and added to the symbol table and returned.
+ */
+Symbol *lookup(const std::string& id, SymbolType default_type);
+
+/* Checks if the id already exists and gives an error if it does */
+void check_id(const std::string& id);
+
+#endif /* LOOKUP_H */
Index: /liacs/coco/assignment2/messages.cc
===================================================================
--- /liacs/coco/assignment2/messages.cc	(revision 2)
+++ /liacs/coco/assignment2/messages.cc	(revision 2)
@@ -0,0 +1,135 @@
+#include <cstdio>
+#include <cstdarg>
+#include "messages.h"
+#include "Symbol.h"
+#include "types.h"
+
+using namespace std;
+
+Messages::Messages()
+    /* Default settings */
+    : show_warnings(true), warnings(0), suppressed(0), errors(0)
+{}
+
+void Messages::EnableWarnings()
+{
+    show_warnings = true;
+}
+
+void Messages::DisableWarnings()
+{
+    show_warnings = false;
+}
+
+void Messages::Warning(int lineno, const char *msg, ...)
+{
+    if (show_warnings) {
+        ++warnings;
+        fprintf(stderr, "Warning: %d: ", lineno);
+        va_list args;
+        va_start(args, msg);
+        vfprintf(stderr, msg, args);
+        va_end(args);
+    } else {
+        ++suppressed;
+    }
+}
+
+void Messages::Error(int lineno, const char *msg, ...)
+{
+    ++errors;
+    fprintf(stderr, "Error: %d: ", lineno);
+    va_list args;
+    va_start(args, msg);
+    vfprintf(stderr, msg, args);
+    va_end(args);
+}
+
+void Messages::CoercionWarning(int lineno, ReturnType to, ReturnType from)
+{
+    Warning(lineno, "Type coerced from %s to %s.\n",
+        ReturnTypeToString(from), ReturnTypeToString(to));
+}
+
+void Messages::ReturnValueError(int lineno, const string& id, ReturnType type)
+{
+    Error(lineno, "Return value of type %s from function %s discarded.\n",
+            ReturnTypeToString(type), id.c_str());
+}
+
+void Messages::TypeError(int lineno, ReturnType expected, ReturnType received)
+{
+    Error(lineno, "Expected type %s, got type %s.\n",
+          ReturnTypeToString(expected), ReturnTypeToString(received));
+}
+
+void Messages::UndeclaredIdError(int lineno, const string& id)
+{
+    Error(lineno, "Identifier \'%s\' undeclared.\n", id.c_str());
+}
+
+void Messages::DeclaredIdError(int lineno, const string& id, int prev_lineno)
+{
+    Error(lineno, "Identifier \'%s\' was already previously declared on line %d.\n",
+          id.c_str(), prev_lineno);
+}
+
+void Messages::LValueError(int lineno, const string& id)
+{
+    Error(lineno, "Identifier \'%s\' is not a lvalue.\n", id.c_str());
+}
+
+void Messages::RValueError(int lineno, const string& id, SymbolType symbol_type)
+{
+    Error(lineno, "Identifier \'%s\' is a %s and can't be used here.\n",
+          id.c_str(), SymbolTypeToString(symbol_type));
+}
+
+void Messages::CallError(int lineno, const string& id, SymbolType symbol_type)
+{
+    Error(lineno, "Identifier \'%s\' is a %s, was expecting a function or procedure.\n",
+          id.c_str(), SymbolTypeToString(symbol_type));
+}
+
+void Messages::ParamCountError(int lineno, int paramcount, Symbol *symbol)
+{
+    Error(lineno, "%s parameters in call to %s.\n",
+          ((paramcount > symbol->GetParameterCount())? "Too many" : "Too few"),
+          SignatureString(symbol).c_str());
+}
+
+void Messages::ShowNumbers() const
+{
+    fprintf(stderr, "%d warning%s(%d suppressed) and %d error%s.\n",
+            warnings, ((warnings == 1) ? "" : "s"), suppressed,
+            errors, ((errors == 1) ? "" : "s"));
+}
+
+int Messages::GetErrors() const
+{
+    return errors;
+}
+
+int Messages::GetWarnings() const
+{
+    return warnings + suppressed;
+}
+
+string Messages::SignatureString(Symbol *symbol)
+{
+    string signature = "";
+    signature += SymbolTypeToString(symbol->GetSymbolType());
+    signature += " ";
+    signature += symbol->GetName();
+    signature += "(";
+    const int parametercount = symbol->GetParameterCount();
+    for (int i = 0; i < parametercount; ++i) {
+        Symbol *param = symbol->GetParameter(i);
+        signature += param->GetName();
+        signature += ": ";
+        signature += ReturnTypeToString(param->GetReturnType());
+        signature += ((i == parametercount) ? "): " : ", ");
+    }
+    signature += ReturnTypeToString(symbol->GetReturnType());
+    return signature;
+}
Index: /liacs/coco/assignment2/messages.h
===================================================================
--- /liacs/coco/assignment2/messages.h	(revision 2)
+++ /liacs/coco/assignment2/messages.h	(revision 2)
@@ -0,0 +1,67 @@
+#ifndef MESSAGES_H
+#define MESSAGES_H
+
+#include "types.h"
+#include "Symbol.h"
+#include <string>
+
+/* Keeps track of and shows, warning and error messages */
+class Messages {
+public:
+    /* ctor */
+    Messages();
+
+    /* Show warnings messages */
+    void EnableWarnings();
+    /* Do not show warning message */
+    void DisableWarnings();
+
+    /* Give warning on line number lineno in source file */
+    void Warning(int lineno, const char *msg, ...);
+    /* Give error on line number lineno in source file */
+    void Error(int lineno, const char *msg, ...);
+
+    /* Give warning for a coercion */
+    void CoercionWarning(int lineno, ReturnType to, ReturnType from);
+
+    /* Give error for using a function as a procedure */
+    void ReturnValueError(int lineno, const string& id, ReturnType type);
+
+    /* Give error for a type mismatch */
+    void TypeError(int lineno, ReturnType expected, ReturnType received);
+
+    /* Give error for undeclared identifier */
+    void UndeclaredIdError(int lineno, const std::string& id);
+
+    /* Give error for an identifier that is declared multiple times */
+    void DeclaredIdError(int lineno, const std::string& id, int prev_lineno);
+
+    /* Give error for identifier that is not a lvalue */
+    void LValueError(int lineno, const std::string& id);
+
+    /* Give error for using an identifier that is not a rvalue */
+    void RValueError(int lineno, const std::string& id, SymbolType symbol_type);
+
+    /* Give error for using id as function/procedure when it's not */
+    void CallError(int lineno, const std::string& id, SymbolType symbol_type);
+
+    /* Give error for incorrect number of parameters in function/procedure call */
+    void ParamCountError(int lineno, int paramcount, Symbol *symbol);
+
+    /* Show how many warnings and errors there were */
+    void ShowNumbers() const;
+
+    /* Returns the number of errors */
+    int GetErrors() const;
+
+    /* Returns the number of warnings */
+    int GetWarnings() const;
+private:
+    std::string SignatureString(Symbol *symbol);
+    bool show_warnings;
+    int warnings;
+    int suppressed;
+    int errors;
+};
+
+#endif /* MESSAGES_H */
Index: /liacs/coco/assignment2/obj/CVS/Entries
===================================================================
--- /liacs/coco/assignment2/obj/CVS/Entries	(revision 2)
+++ /liacs/coco/assignment2/obj/CVS/Entries	(revision 2)
@@ -0,0 +1,7 @@
+/Node.o/1.1/Fri Oct  3 12:09:16 2008//
+/Scope.o/1.1/Fri Oct  3 12:09:16 2008//
+/Symbol.o/1.1/Fri Oct  3 12:09:16 2008//
+/SymbolTable.o/1.1/Fri Oct  3 12:09:16 2008//
+/SyntaxTree.o/1.1/Fri Oct  3 12:09:16 2008//
+/types.o/1.1/Fri Oct  3 12:09:16 2008//
+D
Index: /liacs/coco/assignment2/obj/CVS/Repository
===================================================================
--- /liacs/coco/assignment2/obj/CVS/Repository	(revision 2)
+++ /liacs/coco/assignment2/obj/CVS/Repository	(revision 2)
@@ -0,0 +1,1 @@
+assignment2/obj
Index: /liacs/coco/assignment2/obj/CVS/Root
===================================================================
--- /liacs/coco/assignment2/obj/CVS/Root	(revision 2)
+++ /liacs/coco/assignment2/obj/CVS/Root	(revision 2)
@@ -0,0 +1,1 @@
+:pserver:hvdzwet@cvs.liacs.nl:/cvs/coco08/group6
Index: /liacs/coco/assignment2/types.h
===================================================================
--- /liacs/coco/assignment2/types.h	(revision 2)
+++ /liacs/coco/assignment2/types.h	(revision 2)
@@ -0,0 +1,139 @@
+/*
+ * types.h - Various type definitions
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ */
+
+#ifndef _TYPES_H_
+#define _TYPES_H_
+
+#include <string>
+
+using namespace std;
+
+// Return type of a node
+typedef enum __returntype {
+  RT_UNKNOWN,               // Not (yet) known
+  RT_ERROR,                 // Error
+  RT_VOID,                  // Void
+  RT_INT,                   // Integer
+  RT_REAL,                  // Floating point
+  RT_BOOL                   // Boolean expression
+} ReturnType;
+
+
+// Type of a symbol
+typedef enum __symboltype {
+  ST_UNKNOWN,               // Unknown (yet)
+  ST_ERROR,                 // Error
+  ST_VARIABLE,              // Variable
+  ST_PARAMETER,             // Function/Procedure parameter
+  ST_PROCEDURE,             // Procedure
+  ST_FUNCTION,              // Function
+  ST_PROGRAM,               // Program body
+  ST_TEMPVAR,               // Temporary variable (not used before assignment 3)
+  ST_LABEL                  // Label (not used before assignment 3)
+} SymbolType;
+
+
+// Type of a node in the syntax tree
+typedef enum __nodetype {
+  /* Meta */
+  NODE_UNKNOWN,             // Unknown (yet)
+  NODE_ERROR,               // Error
+  
+  /* Statement list
+     left child     One of: NODE_ASSIGNMENT, NODE_IF, NODE_WHILE,
+                    NODE_PROCCALL, NODE_FUNCTIONCALL, NODE_STATEMENT_LIST.
+     right child    One of: NODE_ASSIGNMENT, NODE_IF, NODE_WHILE,
+                    NODE_PROCCALL, NODE_FUNCTIONCALL, NODE_STATEMENT_LIST, or
+                    NODE_EMPTY if no more statements follow. */
+  NODE_STATEMENT_LIST,
+
+  /* Assignment
+     left child     A NODE_ID that identifies the destination variable
+     right child    A subtree representing an expression */
+  NODE_ASSIGNMENT,
+
+  /* If statement
+     left child     A NODE_BOOLEXPR that provides the if condition
+     right child    A NODE_IF_TARGETS subtree (if there is an else clause) or
+                    a subtree consisting of statements (if there's no else) */
+  NODE_IF,
+
+  /* Targets of an if-else-statement
+     left child     The statements that have to be executed when the condition
+                    of the parent if-statement is true.
+     right child    The statements that have to be executed when the condition
+                    of the parent if-statement is false, that is, the else
+                    part. */
+  NODE_IF_TARGETS,
+
+  /* While loop
+     left child     A NODE_BOOLEXPR that provides the loop condition
+     right child    A subtree consisting of statements */
+  NODE_WHILE,
+
+  /* Subprogram calls
+     left child     A NODE_ID that identifies the called function/procedure
+     right child    A NODE_EXPRLIST that specifies the actual arguments, or
+                    NODE_EMPTY if no arguments required. */
+  NODE_PROCCALL,
+  NODE_FUNCTIONCALL,
+
+  /* Expression list
+     left child     A subtree representing an expression
+     right child    A subtree representing an expression, another
+                    NODE_EXPRLIST, or NODE_EMPTY if no more expressions follow
+                    in the expression list. */
+  NODE_EXPRLIST,
+
+  /* Boolean-like expression
+     child          A subtree with any NODE_REL_ node as parent */
+  NODE_BOOLEXPR,
+
+  /* Relational operators
+     left child     Left-hand side of the comparison
+     right child    Right-hand side of the comparison */
+  NODE_REL_EQUAL,           //  = operator
+  NODE_REL_LT,              //  < operator
+  NODE_REL_GT,              //  > operator
+  NODE_REL_LTE,             //  <= operator
+  NODE_REL_GTE,             //  >= operator
+  NODE_REL_NOTEQUAL,        //  <> operator
+
+  /* Binary arithmetic & logic operations
+     left child     Left-hand side of the operation
+     right child    Right-hand side of the operation */
+  NODE_ADD,                 // Add
+  NODE_SUB,                 // Substract
+  NODE_OR,                  // OR operation
+  NODE_MUL,                 // Multiply
+  NODE_DIV,                 // Divide
+  NODE_IDIV,                // Integer division
+  NODE_MOD,                 // Modulo
+  NODE_AND,                 // AND operation
+
+  /* Leafs
+     these nodes have no child nodes */
+  NODE_NUM_INT,             // Integer number
+  NODE_NUM_REAL,            // Real number
+  NODE_ID,                  // Identifier
+  NODE_EMPTY,               // Empty leaf (terminates lists etc.)
+
+  /* Unary nodes
+     child          The subtree to which the operation has to be applied */
+  NODE_NOT,                 // NOT operation
+  NODE_SIGNPLUS,            // Unary plus
+  NODE_SIGNMINUS,           // Unary minus
+  NODE_COERCION             // Int to Real coercion
+} NodeType;
+
+
+/* Prototypes */
+char * ReturnTypeToString (ReturnType returntype);
+char * SymbolTypeToString (SymbolType symboltype);
+char * NodeTypeToString (NodeType nodetype);
+
+#endif
Index: /liacs/coco/assignment3/CVS/Entries
===================================================================
--- /liacs/coco/assignment3/CVS/Entries	(revision 2)
+++ /liacs/coco/assignment3/CVS/Entries	(revision 2)
@@ -0,0 +1,20 @@
+/IOperand.h/1.1/Thu Oct 23 07:54:02 2008//
+/IOperator.h/1.1/Thu Oct 23 07:54:02 2008//
+/IStatement.h/1.1/Thu Oct 23 07:54:02 2008//
+/IntermediateCode.h/1.1/Thu Oct 23 07:54:02 2008//
+/Node.h/1.1/Thu Oct 23 11:58:24 2008//
+/Scope.h/1.1/Thu Oct 23 11:58:24 2008//
+/Symbol.h/1.1/Thu Oct 23 11:58:24 2008//
+/SymbolTable.h/1.1/Thu Oct 23 11:58:24 2008//
+/SyntaxTree.h/1.1/Thu Oct 23 11:58:24 2008//
+/debug.c/1.1/Thu Oct 23 11:58:24 2008//
+/debug.h/1.1/Thu Oct 23 11:58:24 2008//
+/dotests/1.1/Thu Oct 23 11:58:24 2008//
+/types.h/1.1/Thu Oct 23 11:58:24 2008//
+D/obj////
+/DOCUMENTATION.TXT/1.5/Thu Nov  6 15:24:53 2008//
+/ICGenerator.cc/1.43/Thu Nov  6 15:27:06 2008//
+/Makefile/1.3/Thu Nov  6 15:27:06 2008//
+/debug.sh/1.4/Thu Nov  6 15:27:06 2008//
+/main.cc/1.5/Thu Nov  6 15:27:06 2008//
+/ICGenerator.h/1.10/Thu Nov  6 15:27:06 2008//
Index: /liacs/coco/assignment3/CVS/Repository
===================================================================
--- /liacs/coco/assignment3/CVS/Repository	(revision 2)
+++ /liacs/coco/assignment3/CVS/Repository	(revision 2)
@@ -0,0 +1,1 @@
+assignment3
Index: /liacs/coco/assignment3/CVS/Root
===================================================================
--- /liacs/coco/assignment3/CVS/Root	(revision 2)
+++ /liacs/coco/assignment3/CVS/Root	(revision 2)
@@ -0,0 +1,1 @@
+:pserver:hvdzwet@cvs.liacs.nl:/cvs/coco08/group6
Index: /liacs/coco/assignment3/DOCUMENTATION.TXT
===================================================================
--- /liacs/coco/assignment3/DOCUMENTATION.TXT	(revision 2)
+++ /liacs/coco/assignment3/DOCUMENTATION.TXT	(revision 2)
@@ -0,0 +1,99 @@
+= INTRODUCTION =
+
+Welcome reader,
+
+You will find our solution on assignment 5 of Compiler Constructions 2008
+giving at LIACS University. First we will you a grand overview of the files
+altered, next we will bullet point the most important design decisions.
+
+And the grand finale will show the usage of the program.
+
+Enjoy!
+Johan and Rick <hvdzwet@liacs.nl>
+
+
+= FILES EDITED/ADDED =
+E ICGenerator.cc      = Intermidiate code generator C++ source
+E ICGenerator.h       = Intermidiate code generator C++ source
+E main.cc             = Main program function, argument parsing
+
+= DESIGN DECISIONS =
+* Constants are evaluated upfront, also nested ones. Optimalisations are
+  included into the tree and generated on the fly
+
+* In order to keep the code readable human-readable tests are defined like
+  IsZero, IsConstant.
+
+* Made icode, symtab global to avoid calling the Treewalk with a whole lot of
+  arguments every time.
+
+* Recursive walking of Tree using Treewalk allowing us to generate code on the
+  fly on three different 'location' e.g. first encounter, midle pass, last visit.
+
+* Tried various optimatisations on PostProcess, by changing variable names,
+  removing assignments, but yet all led to race conditions.
+
+* Wrote some theoritical tests PostProcess which could be implemented.
+
+* Constants in multiple additions (e.g. 10 + a + 20 + b) will be simplified 30 + a + b
+
+* Constants in multiple combinations of additions and substractions will be
+  simplyfied  (e.g. 10 + a - 20 + b) will be simplified -10 + a + b
+
+* In order to allow the full folding, NODE_ADD and NODE_SUB are evaluated
+  differently, Like first right child, then left child.
+
+* Full constant folding on NODE_MUL has not been implemented, but will goes
+  more and less the same as the code at NODE_ADD
+
+= SAMPLE GENERATED CODE =
+C01) program example;
+C02) 
+C03) var x, y, z: integer;
+C04) function foo(a,b: integer): integer;
+C05) begin
+C06)   foo := 1
+C07) end;
+C08) 
+C09) begin
+C10)     x := readinteger;
+C11)     y := 20;
+C12)     z := x + 20;
+C13)     z := z + foo(0,0)
+C14) end.
+
+Program: example
+  #   operator      | operand1          | operand2          | result
+  ------------------+-------------------+-------------------+-------------------
+  0:  CALL FUNC     | sym: readinteger  |                   | sym: t1          
+  1:  ASSIGN_I      | sym: t1           |                   | sym: x           
+  2:  ASSIGN_I      | int: 20           |                   | sym: y           
+  3:  ADD_I         | sym: x            | int: 20           | sym: t2          
+  4:  ASSIGN_I      | sym: t2           |                   | sym: z           
+  5:  PARAM_I       | int: 0            |                   | 
+  6:  PARAM_I       | int: 0            |                   | 
+  7:  CALL FUNC     | sym: foo          |                   | sym: t3          
+  8:  ADD_I         | sym: z            | sym: t3           | sym: t4          
+  9:  ASSIGN_I      | sym: t4           |                   | sym: z           
+ 10:  RETURN        |                   |                   | 
+
+ 11:  SUBPROG       | sym: foo          |                   | 
+ 12:  ASSIGN_I      | int: 1            |                   | sym: foo         
+ 13:  RETURN_I      | sym: foo          |                   | 
+
+  ------------------+-------------------+-------------------+-------------------
+
+Line 0,1 will be line C10. Direct assignments like line C11 will only use one
+line 3.  When calling functions (C13), first the parameters will be set on
+place at line 5,6 then the function itself will be caled at line 7.
+
+Some book keeping could be found at line 13 (return)
+
+= USAGE =
+# Compile
+$ make dirs
+$ make
+# Call without optimalisation
+$ ./comp -w -00 <testfile
+# Call with optimalisation
+$ ./comp -w -01 <testfile
Index: /liacs/coco/assignment3/ICGenerator.cc
===================================================================
--- /liacs/coco/assignment3/ICGenerator.cc	(revision 2)
+++ /liacs/coco/assignment3/ICGenerator.cc	(revision 2)
@@ -0,0 +1,1065 @@
+/*
+ * ICGenerator.cc - Implementation of the ICGenerator class
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ *
+ * This file will contain most of your work for assignment 3.
+ */
+
+#include "ICGenerator.h"
+
+#include <sstream>
+#include <cassert>
+#include <list>
+#include <iostream>
+
+extern bool bOptimize1;
+extern IntermediateCode *icode;
+extern SymbolTable *symtab;
+
+/* Macro to allow pretty display of parser tree calling stack debug print calls */
+#define picg(x) pmesg(100, "Parser: '"); pmesg(100, x); pmesg(100, "'\n")
+
+// Constructor
+ICGenerator::ICGenerator() {
+}
+
+
+// Destructor
+ICGenerator::~ICGenerator() {
+}
+
+
+// Preprocesses the syntax tree; this method is called before
+// GenerateIntermediateCode() if optimizations are enabled
+void ICGenerator::Preprocess (SyntaxTree * tree, SymbolTable * symtab) {
+}
+
+
+// Takes a SyntaxTree and converts it into an IntermediateCode structure
+IntermediateCode * ICGenerator::GenerateIntermediateCode (SyntaxTree * inputTree, SymbolTable * symtab) {
+  IStatement * istmt;
+
+  icode = new IntermediateCode;
+
+  /* Process program body */
+  /* Make sure temponary generated variables are added to the right scope */
+  symtab->SetCurrentScope(inputTree->GetProgramName());
+  icode->SetProgramName(inputTree->GetProgramName());
+  delete Treewalk(inputTree->GetProgramBody());
+
+  /* Indicate end of program body */
+  istmt = new IStatement (IOP_RETURN);
+  icode->AppendStatement(istmt);
+
+  /* Now walk through the list of subprograms, and process them one by one */
+  for (int i = 0; i < inputTree->GetSubprogramCount(); i++) {
+    // add subprogram code
+    Symbol *subprogram = symtab->GetSymbol(inputTree->GetSubprogramName(i));
+    /* Make sure temponary generated variables are added to the right scope */
+    symtab->SetCurrentScope(inputTree->GetSubprogramName(i));
+    icode->AppendStatement(new IStatement(IOP_SUBPROG, new IOperand_Symbol(subprogram), NULL, NULL));
+
+    // add subprogram body code
+    delete Treewalk(inputTree->GetSubprogram(i));
+
+    // add code for return value
+    IOperator op;
+    switch (subprogram->GetReturnType()) {
+      case RT_INT:
+        op = IOP_RETURN_I;
+        break;
+      case RT_REAL:
+        op = IOP_RETURN_R;
+        break;
+      case RT_VOID:
+        op = IOP_RETURN;
+        break;
+      default:
+        assert(0); // can't happen
+    }
+    icode->AppendStatement(new IStatement(op, (op == IOP_RETURN) ? NULL : new IOperand_Symbol(subprogram), NULL, NULL));
+  }
+
+  return icode;
+}
+
+
+// Postprocesses the intermediate code; this method is called after
+// GenerateIntermediateCode() if optimizations are enabled
+void ICGenerator::Postprocess (IntermediateCode * code, SymbolTable * symtab) {
+  /* Some trivial optimalisations which could be implemented */
+
+  /* 1) LABEL X
+   * 2) GOTO :Y
+   * Alter GOTO :X to GOTO :Y directly
+   */
+
+  /* 1) LABEL X
+   * 2) RETURN tX
+   * Alter GOTO :X to RETURN tX directly
+   */
+
+  /* 1) ASSIGN foo tX
+   * ... no use of tX, in the meantime ...
+   * X) ASSIGN bar tX
+   * Delete line 1)
+   */
+
+  /* Less trivials optimalisations which could be implemented*/
+
+  /* Unfold small for loops */
+
+  /* Delete/mangle branching code if TEST expression to always to be evaluated TRUE of FALSE */
+
+  /* Detect and remove useless IOP_ASSIGN_[IR] statements */
+
+  /* When parameters of function are not used, do not assign */
+
+  /* 1) ASSIGN int(1) tX
+   * 2) ASSIGN int(2) tY
+   * 3) ADD_I tX tY tZ
+   * Convert line 3) to ASSIGN int(3) tZ
+   */
+
+  /* 1) LABEL L_1
+   * 2) LABEL L_2
+   * Convert all GOTO L_2 to GOTO L_1 and delete L_2
+   */
+}
+
+
+// Generate a temporary symbol
+Symbol * ICGenerator::GenerateTempVar(ReturnType type) {
+  /* Keep track of variables given out, make all generated unique for the sake
+   * of debugging
+   */
+  static int count = 0;
+  count++;
+
+  Symbol *symbol = new Symbol();
+  symbol->SetSymbolType(ST_TEMPVAR);
+  symbol->SetReturnType(type);
+  std::stringstream ss;
+  ss << "t" << count;
+  symbol->SetName(ss.str());
+
+  /* Make sure to add it to the symbol table */
+  symtab->AddSymbol(symbol);
+  return symbol;
+}
+
+
+// Generates a Symbol for a label
+Symbol * ICGenerator::GenerateLabel() {
+  /* Keep track of variables given out, make all generated unique for the sake
+   * of debugging
+   */
+  static int count = 0;
+  count++;
+
+  Symbol *symbol = new Symbol();
+  symbol->SetSymbolType(ST_LABEL);
+  std::stringstream ss;
+  ss << "L_" << count;
+  symbol->SetName(ss.str());
+
+  /* Make sure to add it to the symbol table */
+  symtab->AddSymbol(symbol);
+  return symbol;
+}
+
+IOperand *ICGenerator::Treewalk (Node * node, IOperand *dest, IOperand *constant)
+{
+  switch (node->GetNodeType ())
+    {
+    case NODE_UNKNOWN:		// Unknown (yet)
+      assert (0);		// can't happen
+      break;
+    case NODE_ERROR:		// Error
+      assert (0);		// can't happen
+      break;
+
+      /*
+       * Statement list
+       * left child     One of, NODE_ASSIGNMENT, NODE_IF, NODE_WHILE,
+       * NODE_PROCCALL, NODE_FUNCTIONCALL, NODE_STATEMENT_LIST.
+       * right child    One of, NODE_ASSIGNMENT, NODE_IF, NODE_WHILE,
+       * NODE_PROCCALL, NODE_FUNCTIONCALL, NODE_STATEMENT_LIST, or
+       * NODE_EMPTY if no more statements follow.
+       */
+    case NODE_STATEMENT_LIST:
+      {
+        delete Treewalk(node->GetLeftChild());
+        delete Treewalk(node->GetRightChild());
+        return NULL;
+      }
+      break;
+
+      /*
+       * Assignment
+       * left child     A NODE_ID that identifies the destination variable
+       * right child    A subtree representing an expression
+       */
+    case NODE_ASSIGNMENT:
+      {
+        IOperand *result = Treewalk(node->GetLeftChild());
+        IOperand *operand = Treewalk(node->GetRightChild(), bOptimize1 ? result : NULL);
+        if (operand != result) {
+          IOperator op = ( (node->GetLeftChild()->GetReturnType() == RT_REAL) ? IOP_ASSIGN_R : IOP_ASSIGN_I );
+          icode->AppendStatement(new IStatement(op, operand, NULL, result));
+        }
+        return NULL;
+      }
+      break;
+
+      /*
+       * If statement
+       * left child     A NODE_BOOLEXPR that provides the if condition
+       * right child    A NODE_IF_TARGETS subtree (if there is an else clause) or
+       * a subtree consisting of statements (if there's no else)
+       */
+    case NODE_IF:
+      {
+        // generate labels
+        Symbol *false_label = GenerateLabel();
+        Symbol *end_label = GenerateLabel();
+
+        // add evaluation code
+        IOperand *evaluation = Treewalk(node->GetLeftChild());
+        icode->AppendStatement(new IStatement(IOP_BEQ_I, evaluation, new IOperand_Int(0), new IOperand_Symbol(false_label)));
+
+        // add code for true case
+        Node *rightchild = node->GetRightChild();
+        if (rightchild->GetNodeType() == NODE_IF_TARGETS) {
+                delete Treewalk(rightchild->GetLeftChild());
+                // there is a else part so skip over it
+                icode->AppendStatement(new IStatement(IOP_GOTO, new IOperand_Symbol(end_label), NULL, NULL));
+        } else {
+                delete Treewalk(rightchild);
+        }
+
+        // add label for false part
+        icode->AppendStatement(new IStatement(IOP_LABEL, new IOperand_Symbol(false_label), NULL, NULL));
+
+        // add code for false/else case if any
+        if (rightchild->GetNodeType() == NODE_IF_TARGETS) {
+                delete Treewalk(rightchild->GetRightChild ());
+               // add end label
+                icode->AppendStatement(new IStatement(IOP_LABEL, new IOperand_Symbol(end_label), NULL, NULL));
+        }
+
+        return NULL;
+      }
+      break;
+
+      /*
+       * Targets of an if-else-statement
+       * left child     The statements that have to be executed when the condition
+       * of the parent if-statement is true.
+       * right child    The statements that have to be executed when the condition
+       * of the parent if-statement is false: that is: the else
+       * part.
+       */
+    case NODE_IF_TARGETS:
+      assert(0);        // handled in NODE_IF
+      break;
+
+      /*
+       * While loop
+       * left child     A NODE_BOOLEXPR that provides the loop condition
+       * right child    A subtree consisting of statements
+       */
+    case NODE_WHILE:
+      {
+        /* Method while tree
+         * :START
+         * if <expr> = 0 GOTO END
+         * <body>
+         * GOTO START
+         * :END
+         */
+        // generate labels
+        Symbol *start_label = GenerateLabel();
+        Symbol *end_label = GenerateLabel();
+
+        // add start label
+        icode->AppendStatement(new IStatement(IOP_LABEL, new IOperand_Symbol(start_label), NULL, NULL));
+
+        // add evaluation code
+        IOperand *evaluation = Treewalk(node->GetLeftChild());
+        icode->AppendStatement(new IStatement(IOP_BEQ_I, evaluation, new IOperand_Int(0), new IOperand_Symbol(end_label)));
+
+        // add code
+        delete Treewalk(node->GetLeftChild());
+
+        // add jump back to start
+        icode->AppendStatement(new IStatement(IOP_GOTO, new IOperand_Symbol(start_label), NULL, NULL));
+
+        // add end label
+        icode->AppendStatement(new IStatement(IOP_LABEL, new IOperand_Symbol(end_label), NULL, NULL));
+
+        return NULL;
+      }
+      break;
+
+      /*
+       * Subprogram calls
+       * left child     A NODE_ID that identifies the called function/procedure
+       * right child    A NODE_EXPRLIST that specifies the actual arguments: or
+       * NODE_EMPTY if no arguments required.
+       */
+    case NODE_PROCCALL:
+      {
+        // pass parameters
+        delete Treewalk(node->GetRightChild());
+
+        // add call statement
+        IOperand *id = Treewalk(node->GetLeftChild());
+        icode->AppendStatement(new IStatement(IOP_PROCCALL, id, NULL, NULL));
+
+        return NULL;
+      }
+      break;
+    case NODE_FUNCTIONCALL:
+      {
+        // pass parameters
+        delete Treewalk(node->GetRightChild());
+
+        // add call statement
+        IOperand *id = Treewalk(node->GetLeftChild());
+        IOperand *result = (dest != NULL) ? dest : new IOperand_Symbol(GenerateTempVar(node->GetReturnType()));
+        icode->AppendStatement(new IStatement(IOP_FUNCCALL, id, NULL, result));
+
+        return (dest != NULL) ? dest : result->Clone();
+      }
+      break;
+
+      /*
+       * Expression list
+       * left child     A subtree representing an expression
+       * right child    A subtree representing an expression: another
+       * NODE_EXPRLIST: or NODE_EMPTY if no more expressions follow
+       * in the expression list.
+       */
+    case NODE_EXPRLIST:
+      {
+        // pass parameter
+        IOperand *parameter = Treewalk(node->GetLeftChild());
+        ReturnType type = node->GetLeftChild()->GetReturnType();
+        IOperator op = ( (type == RT_REAL) ? IOP_PARAM_R : IOP_PARAM_I );
+        icode->AppendStatement(new IStatement(op, parameter, NULL, NULL));
+
+        // pass any other parameters
+        delete Treewalk(node->GetRightChild());
+
+        return NULL;
+      }
+      break;
+
+      /*
+       * Boolean-like expression
+       * child          A subtree with any NODE_REL_ node as parent
+       */
+    case NODE_BOOLEXPR:
+      {
+        return Treewalk(node->GetChild());
+      }
+      break;
+
+      /*
+       * Relational operators
+       * left child     Left-hand side of the comparison
+       * right child    Right-hand side of the comparison
+       */
+    case NODE_REL_EQUAL:	//  = operator
+      {
+        ReturnType type = node->GetLeftChild()->GetReturnType();
+        IOperator op = ((type == RT_INT) ? IOP_BEQ_I : IOP_BEQ_R);
+        return GenerateRelopCode(op, node);
+      }
+      break;
+    case NODE_REL_LT:		//  < operator
+      {
+        ReturnType type = node->GetLeftChild()->GetReturnType();
+        IOperator op = ((type == RT_INT) ? IOP_BLT_I : IOP_BLT_R);
+        return GenerateRelopCode(op, node);
+      }
+      break;
+    case NODE_REL_GT:		//  > operator
+      {
+        ReturnType type = node->GetLeftChild()->GetReturnType();
+        IOperator op = ((type == RT_INT) ? IOP_BGT_I : IOP_BGT_R);
+        return GenerateRelopCode(op, node);
+      }
+      break;
+    case NODE_REL_LTE:		//  <= operator
+      {
+        ReturnType type = node->GetLeftChild()->GetReturnType();
+        IOperator op = ((type == RT_INT) ? IOP_BLE_I : IOP_BLE_R);
+        return GenerateRelopCode(op, node);
+      }
+      break;
+    case NODE_REL_GTE:		//  >= operator
+      {
+        ReturnType type = node->GetLeftChild()->GetReturnType();
+        IOperator op = ((type == RT_INT) ? IOP_BGE_I : IOP_BGE_R);
+        return GenerateRelopCode(op, node);
+      }
+      break;
+    case NODE_REL_NOTEQUAL:	//  <> operator
+      {
+        ReturnType type = node->GetLeftChild()->GetReturnType();
+        IOperator op = ((type == RT_INT) ? IOP_BNE_I : IOP_BNE_R);
+        return GenerateRelopCode(op, node);
+      }
+      break;
+
+      /*
+       * Binary arithmetic & logic operations
+       * left child     Left-hand side of the operation
+       * right child    Right-hand side of the operation
+       */
+    case NODE_ADD:		// Add
+      {
+        IOperand *lhs = NULL;
+        IOperand *rhs = NULL;
+
+        // attempt optimizations
+        if (bOptimize1) {
+          /* reverse evaluation of operands, due to the fact the tree is always
+           * set to be on the left and we like to fold constants where ever
+           * possible
+           */
+          rhs = Treewalk(node->GetRightChild());
+          // check if we need to push any constant down the tree
+          if (node->GetLeftChild()->GetNodeType() == NODE_ADD ||
+              node->GetLeftChild()->GetNodeType() == NODE_SUB ) {
+            if (IsConstant(rhs)) {
+              // right hand side is also constant
+              if (constant != NULL) {
+                if (IsInt(rhs)) {
+                  rhs->SetIntValue(rhs->GetIntValue() + constant->GetIntValue());
+                } else {
+                  rhs->SetRealValue(rhs->GetRealValue() + constant->GetRealValue());
+                }
+              }
+              // evaluate left hand side passing constant value
+              lhs = Treewalk(node->GetLeftChild(), dest, rhs);
+              return lhs;
+            } else {
+              // generate add instruction for the right hand side
+              IOperator op = ( (node->GetReturnType() == RT_INT) ? IOP_ADD_I : IOP_ADD_R );
+              lhs = Treewalk(node->GetLeftChild(), NULL, constant);
+              IOperand *result = (dest != NULL) ? dest : new IOperand_Symbol(GenerateTempVar(node->GetReturnType()));
+              icode->AppendStatement(new IStatement(op, lhs, rhs, result));
+              return (dest != NULL) ? dest : result->Clone(); 
+            }
+          } else {
+            // can't push down constant
+            lhs = Treewalk(node->GetLeftChild());
+          }
+
+          // try to add the constant, if any, to any constant lhs or rhs
+          if (constant != NULL) {
+            if (IsConstant(lhs)) {
+              if (IsInt(lhs)) {
+                lhs->SetIntValue(lhs->GetIntValue() + constant->GetIntValue());
+              } else {
+                lhs->SetRealValue(lhs->GetRealValue() + constant->GetRealValue());
+              }
+              delete constant;
+              constant = NULL;
+            } else if (IsConstant(rhs)) {
+              if (IsInt(rhs)) {
+                rhs->SetIntValue(rhs->GetIntValue() + constant->GetIntValue());
+              } else {
+                rhs->SetRealValue(rhs->GetRealValue() + constant->GetRealValue());
+              }
+              delete constant;
+              constant = NULL;
+            }
+          }
+
+          // algebraic identity
+          if (IsZero(lhs)) {
+            delete lhs;
+            return rhs;
+          }
+          if (IsZero(rhs)) {
+            delete rhs;
+            return lhs;
+          }
+
+          // constant folding
+          if (IsConstant(lhs) && IsConstant(rhs)) {
+            IOperand *result = NULL;
+            if (IsInt(lhs)) {
+              result = new IOperand_Int(lhs->GetIntValue() + rhs->GetIntValue() + ((constant==NULL) ? 0 : constant->GetIntValue()));
+            } else {
+              result = new IOperand_Real(lhs->GetRealValue() + rhs->GetRealValue() + ((constant==NULL) ? 0 : constant->GetRealValue()));
+            }
+            delete lhs;
+            delete rhs;
+            return result;
+          }
+        } else {
+
+          // calculate operands for unoptimized case
+          lhs = Treewalk(node->GetLeftChild());
+          rhs = Treewalk(node->GetRightChild());
+        }
+
+        // generate add code
+        IOperand *result = (dest != NULL) ? dest : new IOperand_Symbol(GenerateTempVar(node->GetReturnType()));
+        IOperator op = ( (node->GetReturnType() == RT_INT) ? IOP_ADD_I : IOP_ADD_R );
+        if (constant == NULL) {
+          icode->AppendStatement(new IStatement(op, lhs, rhs, result));
+        } else {
+          IOperand *temp = new IOperand_Symbol(GenerateTempVar(node->GetReturnType()));
+          icode->AppendStatement(new IStatement(op, lhs, rhs, temp));
+          icode->AppendStatement(new IStatement(op, temp->Clone(), constant, result));
+        }
+        return (dest != NULL) ? dest : result->Clone();
+      }
+      break;
+    case NODE_SUB:		// Substract
+      {
+        // calculate operands
+        IOperand *lhs = NULL;
+        IOperand *rhs = NULL;
+
+        // attempt optimizations
+        if (bOptimize1) {
+          /* reverse evaluation of operands, due to the fact the tree is always
+           * set to be on the left and we like to fold constants where ever
+           * possible
+           */
+          rhs = Treewalk(node->GetRightChild());
+          // check if we need to push any constant down the tree
+          if (node->GetLeftChild()->GetNodeType() == NODE_ADD ||
+              node->GetLeftChild()->GetNodeType() == NODE_SUB ) {
+            if (IsConstant(rhs)) {
+              // right hand side is also constant
+              if (constant != NULL) {
+                if (IsInt(rhs)) {
+                  rhs->SetIntValue((rhs->GetIntValue() * -1) + constant->GetIntValue());
+                } else {
+                  rhs->SetRealValue((rhs->GetRealValue() * -1) + constant->GetRealValue());
+                }
+              } else {
+                /* Negate fresh new minus knob, if it is gonna be the first constant */
+                if (IsInt(rhs)) {
+                  rhs->SetIntValue(rhs->GetIntValue() * -1);
+                } else {
+                  rhs->SetRealValue(rhs->GetRealValue() * -1);
+                }
+              }
+
+              // evaluate left hand side passing constant value
+              lhs = Treewalk(node->GetLeftChild(), dest, rhs);
+              return lhs;
+            } else {
+              // generate add instruction for the right hand side
+              IOperator op = ( (node->GetReturnType() == RT_INT) ? IOP_SUB_I : IOP_SUB_R );
+              lhs = Treewalk(node->GetLeftChild(), NULL, constant);
+              IOperand *result = (dest != NULL) ? dest : new IOperand_Symbol(GenerateTempVar(node->GetReturnType()));
+              icode->AppendStatement(new IStatement(op, lhs, rhs, result));
+              return (dest != NULL) ? dest : result->Clone(); 
+            }
+          } else {
+            // can't push down constant
+            lhs = Treewalk(node->GetLeftChild());
+          }
+
+          // try to sub the constant, if any, to any constant lhs or rhs
+          if (constant != NULL) {
+            if (IsConstant(lhs)) {
+              if (IsInt(lhs)) {
+                lhs->SetIntValue(lhs->GetIntValue() + constant->GetIntValue());
+              } else {
+                lhs->SetRealValue(lhs->GetRealValue() + constant->GetRealValue());
+              }
+              delete constant;
+              constant = NULL;
+            } else if (IsConstant(rhs)) {
+              /* Negate right side as it is going to be negative constant value */
+              if (IsInt(rhs)) {
+                rhs->SetIntValue((rhs->GetIntValue() * -1) + constant->GetIntValue());
+              } else {
+                rhs->SetRealValue((rhs->GetRealValue() * -1) + constant->GetRealValue());
+              }
+              delete constant;
+              constant = NULL;
+            }
+          }
+
+          // algebraic identity right side
+          if (IsZero(rhs)) {
+            delete rhs;
+            return lhs;
+          }
+
+          // constant folding
+          if (IsConstant(lhs) && IsConstant(rhs)) {
+            IOperand *result = NULL;
+            if (IsInt(lhs)) {
+              result = new IOperand_Int(lhs->GetIntValue() - rhs->GetIntValue());
+            } else {
+              result = new IOperand_Real(lhs->GetRealValue() - rhs->GetRealValue());
+            }
+            delete lhs;
+            delete rhs;
+            return result;
+          }
+
+          // algebraic identity left side
+          if (IsZero(lhs)) {
+            delete lhs;
+
+            // generate unary minus code
+            IOperand *result = (dest != NULL) ? dest : new IOperand_Symbol(GenerateTempVar(node->GetReturnType()));
+            IOperator op = ( (node->GetReturnType() == RT_INT) ? IOP_UNARY_MINUS_I : IOP_UNARY_MINUS_R );
+            icode->AppendStatement(new IStatement(op, rhs, NULL, result));
+            return (dest != NULL) ? dest : result->Clone();
+          }
+        } else {
+
+          // calculate operands for unoptimized case
+          lhs = Treewalk(node->GetLeftChild());
+          rhs = Treewalk(node->GetRightChild());
+        }
+
+        // generate subtraction code
+        IOperand *result = (dest != NULL) ? dest : new IOperand_Symbol(GenerateTempVar(node->GetReturnType()));
+        IOperator op = ( (node->GetReturnType() == RT_INT) ? IOP_SUB_I : IOP_SUB_R );
+        if (constant == NULL) {
+          icode->AppendStatement(new IStatement(op, lhs, rhs, result));
+        } else {
+          IOperand *temp = new IOperand_Symbol(GenerateTempVar(node->GetReturnType()));
+          icode->AppendStatement(new IStatement(op, lhs, rhs, temp));
+          /* Constant could be negative, so always all value */
+          IOperator op = ( (node->GetReturnType() == RT_INT) ? IOP_ADD_I : IOP_ADD_R );
+          icode->AppendStatement(new IStatement(op, temp->Clone(), constant, result));
+        }
+
+        return (dest != NULL) ? dest : result->Clone();
+      }
+      break;
+    case NODE_OR:		// Bitwise OR operation
+      {
+        // calculate operands
+        IOperand *lhs = Treewalk(node->GetLeftChild());
+        IOperand *rhs = Treewalk(node->GetRightChild());
+
+        // attempt optimizations
+        if (bOptimize1) {
+          // 0 or X will always evaluate to X
+          if (IsZero(lhs)) {
+            delete lhs;
+            return rhs;
+          }
+
+          // X or 0 will always evaluate to X
+          if (IsZero(rhs)) {
+            delete rhs;
+            return lhs;
+          }
+
+          // constant folding
+          if (IsConstant(lhs) && IsConstant(rhs)) {
+            IOperand *result = new IOperand_Int(lhs->GetIntValue() | rhs->GetIntValue());
+            delete lhs;
+            delete rhs;
+            return result;
+          }
+        }
+
+        // generate bitwise or code
+        IOperand *result = (dest != NULL) ? dest : new IOperand_Symbol(GenerateTempVar(RT_INT));
+        icode->AppendStatement(new IStatement(IOP_OR, lhs, rhs, result));
+        return (dest != NULL) ? dest : result->Clone();
+      }
+      break;
+    case NODE_MUL:		// Multiply
+      {
+        // calculate operands
+        IOperand *lhs = Treewalk(node->GetLeftChild());
+        IOperand *rhs = Treewalk(node->GetRightChild());
+
+        // attempt optimizations
+        if (bOptimize1) {
+          // zero product
+          if (IsZero(lhs) || IsZero(rhs)) {
+            delete lhs;
+            delete rhs;
+            return new IOperand_Int(0);
+          }
+
+          // algebraic identity
+          if (IsOne(lhs)) {
+            delete lhs;
+            return rhs;
+          }
+          if (IsOne(rhs)) {
+            delete rhs;
+            return lhs;
+          }
+
+          // constant folding
+          if (IsConstant(lhs) && IsConstant(rhs)) {
+            IOperand *result = NULL;
+            if (IsInt(lhs)) {
+              result = new IOperand_Int(lhs->GetIntValue() * rhs->GetIntValue());
+            } else {
+              result = new IOperand_Real(lhs->GetRealValue() * rhs->GetRealValue());
+            }
+            delete lhs;
+            delete rhs;
+            return result;
+          }
+        }
+
+        // generate multiply code
+        IOperand *result = (dest != NULL) ? dest : new IOperand_Symbol(GenerateTempVar(node->GetReturnType()));
+        IOperator op = ( (node->GetReturnType() == RT_INT) ? IOP_MUL_I : IOP_MUL_R );
+        icode->AppendStatement(new IStatement(op, lhs, rhs, result));
+        return (dest != NULL) ? dest : result->Clone();
+      }
+      break;
+    case NODE_DIV:		// Divide
+      {
+        // calculate operands
+        IOperand *lhs = Treewalk(node->GetLeftChild());
+        IOperand *rhs = Treewalk(node->GetRightChild());
+
+        // attempt optimizations
+        if (bOptimize1) {
+          // 0 / X  will always evaluate to zero
+          if (IsZero(lhs)) {
+            delete lhs;
+            delete rhs;
+            return new IOperand_Real(0);
+          }
+
+          // X / 1 will always evuluate to X
+          if (IsOne(rhs)) {
+            delete rhs;
+            return lhs;
+          }
+
+          // XXX: How to act on X / 0, which should not be possible
+
+          // constant folding
+          if (IsConstant(lhs) && IsConstant(rhs)) {
+            IOperand *result = NULL;
+            result = new IOperand_Real(lhs->GetRealValue() / rhs->GetRealValue());
+            delete lhs;
+            delete rhs;
+            return result;
+          }
+        }
+
+        // generate division code
+        IOperand *result = (dest != NULL) ? dest : new IOperand_Symbol(GenerateTempVar(node->GetReturnType()));
+        icode->AppendStatement(new IStatement(IOP_DIV_R, lhs, rhs, result));
+        return (dest != NULL) ? dest : result->Clone();
+      }
+      break;
+    case NODE_IDIV:		// Integer division
+      {
+        // calculate operands
+        IOperand *lhs = Treewalk(node->GetLeftChild());
+        IOperand *rhs = Treewalk(node->GetRightChild());
+
+        // attempt optimizations
+        if (bOptimize1) {
+          // 0 / X  will always evaluate to zero
+          if (IsZero(lhs)) {
+            delete lhs;
+            delete rhs;
+            return new IOperand_Int(0);
+          }
+
+          // X / 1 will always evuluate to X
+          if (IsOne(rhs)) {
+            delete rhs;
+            return lhs;
+          }
+
+          // XXX: How to act on X / 0, which should not be possible
+
+          // constant folding
+          if (IsConstant(lhs) && IsConstant(rhs)) {
+            IOperand *result = NULL;
+            result = new IOperand_Int(lhs->GetIntValue() / rhs->GetIntValue());
+            delete lhs;
+            delete rhs;
+            return result;
+          }
+        }
+
+        // generate division code
+        IOperand *result = (dest != NULL) ? dest : new IOperand_Symbol(GenerateTempVar(node->GetReturnType()));
+        icode->AppendStatement(new IStatement(IOP_DIV_I, lhs, rhs, result));
+        return (dest != NULL) ? dest : result->Clone();
+      }
+      break;
+    case NODE_MOD:		// Modulo
+      {
+        // calculate operands
+        IOperand *lhs = Treewalk (node->GetLeftChild ());
+        IOperand *rhs = Treewalk (node->GetRightChild ());
+
+        // attempt optimizations
+        if (bOptimize1) {
+            // 0 mod X will always evaluate to zero
+            if (IsZero (lhs)) {
+                delete lhs;
+                delete rhs;
+                return new IOperand_Int (0);
+              }
+
+            // X mod 1 will always evaluate to zero
+            if (IsOne (rhs)) {
+                delete lhs;
+                delete rhs;
+                return new IOperand_Int (0);
+            }
+            // X mod -1 will always evaluate to zero
+            if (IsMinusOne (rhs)) {
+                delete lhs;
+                delete rhs;
+                return new IOperand_Int (0);
+            }
+          }
+
+        // generate modulus code
+        IOperand *result = (dest != NULL) ? dest : new IOperand_Symbol(GenerateTempVar(node->GetReturnType()));
+        icode->AppendStatement (new IStatement (IOP_MOD, lhs, rhs, result));
+        return (dest != NULL) ? dest : result->Clone();
+      }
+      break;
+    case NODE_AND:		// Bitwise AND operation
+      {
+        // calculate operands
+        IOperand *lhs = Treewalk (node->GetLeftChild ());
+        IOperand *rhs = Treewalk (node->GetRightChild ());
+
+        // attempt optimizations
+        if (bOptimize1) {
+            // X and 0 will always evaluate to zero
+            if (IsZero (lhs) || IsZero (rhs)) {
+                delete lhs;
+                delete rhs;
+                return new IOperand_Int (0);
+              }
+          }
+
+        // generate bitwise and code
+        IOperand *result = (dest != NULL) ? dest : new IOperand_Symbol(GenerateTempVar(node->GetReturnType()));
+        icode->AppendStatement (new IStatement (IOP_AND, lhs, rhs, result));
+        return (dest != NULL) ? dest : result->Clone();
+      }
+      break;
+
+      /*
+       * Leafs
+       * these nodes have no child nodes
+       */
+    case NODE_NUM_INT:		// Integer number
+      {
+        /* return the integer value */
+        return new IOperand_Int(node->GetIntValue());
+      }
+      break;
+    case NODE_NUM_REAL:		// Real number
+      {
+        /* return the real value */
+        return new IOperand_Real(node->GetRealValue());
+      }
+      break;
+    case NODE_ID:		// Identifier
+      {
+        /* ID requires returning its symbol */
+        return new IOperand_Symbol(node->GetSymbol());
+      }
+      break;
+    case NODE_EMPTY:		// Empty leaf (terminates lists etc.)
+      {
+        return (NULL);
+      }
+      break;
+
+      /*
+       * Unary nodes
+       * child          The subtree to which the operation has to be applied
+       */
+    case NODE_NOT:		// NOT operation
+      {
+        IOperand *operand = ICGenerator::Treewalk (node->GetChild ());
+
+        // attempt optimizations
+        if (bOptimize1) {
+          // constant folding
+          if (IsConstant(operand)) {
+            IOperand *result = new IOperand_Int(~operand->GetIntValue());
+            delete operand;
+            return result;
+          }
+        }
+
+        IOperand *result = (dest != NULL) ? dest : new IOperand_Symbol(GenerateTempVar(node->GetReturnType()));
+        icode->AppendStatement (new IStatement (IOP_NOT, operand, NULL, result));
+
+        return (dest != NULL) ? dest : result->Clone();
+      }
+      break;
+    case NODE_SIGNPLUS:	// Unary plus
+      {
+        /* Unary plus does not require any work, direct pass trough */
+        IOperand *operand = ICGenerator::Treewalk (node->GetChild ());
+        return (operand);
+      }
+      break;
+    case NODE_SIGNMINUS:	// Unary minus
+      {
+        IOperand *operand = ICGenerator::Treewalk (node->GetChild ());
+
+        // attempt optimizations
+        if (bOptimize1) {
+          // constant folding
+          if (IsConstant(operand)) {
+            IOperand *result = NULL;
+            if (IsInt(operand)) {
+              result = new IOperand_Int(-operand->GetIntValue());
+            } else {
+              result = new IOperand_Real(-operand->GetRealValue());
+            }
+            delete operand;
+            return result;
+          }
+        }
+
+        ReturnType type = node->GetReturnType();
+        IOperator op = ( (type == RT_REAL) ? IOP_UNARY_MINUS_R : IOP_UNARY_MINUS_I );
+        IOperand *result = (dest != NULL) ? dest : new IOperand_Symbol(GenerateTempVar(type));
+        icode->AppendStatement (new IStatement (op, operand, NULL, result));
+        return (dest != NULL) ? dest : result->Clone();
+      }
+      break;
+    case NODE_COERCION:	// Int to Real coercion
+      {
+        IOperand *operand = ICGenerator::Treewalk (node->GetChild ());
+
+        // attempt optimizations
+        if (bOptimize1) {
+          // constant folding
+          if (IsConstant(operand)) {
+            IOperand *result = new IOperand_Real(operand->GetIntValue());
+            delete operand;
+            return result;
+          }
+        }
+
+        IOperand *result = (dest != NULL) ? dest : new IOperand_Symbol(GenerateTempVar(RT_REAL));
+        icode->AppendStatement (new IStatement (IOP_INT_TO_REAL, operand, NULL, result));
+        return (dest != NULL) ? dest : result->Clone();
+      }
+      break;
+    default:
+      assert (0);		// can't happen
+
+    }
+    return NULL;                // silences warning
+}
+
+IOperand * ICGenerator::GenerateRelopCode(IOperator op, Node *node)
+{
+  // generate labels
+  Symbol *true_label = GenerateLabel();
+
+  // get operands
+  IOperand *lhs = Treewalk(node->GetLeftChild());
+  IOperand *rhs = Treewalk(node->GetRightChild());
+
+  // attempt optimizations
+  if (bOptimize1) {
+    // constant folding
+    if (IsConstant(lhs) && IsConstant(rhs)) {
+      int value;
+      switch (op) {
+        case IOP_BEQ_I: value = lhs->GetIntValue() == rhs->GetIntValue(); break;
+        case IOP_BLT_I: value = lhs->GetIntValue() < rhs->GetIntValue(); break;
+        case IOP_BGT_I: value = lhs->GetIntValue() > rhs->GetIntValue(); break;
+        case IOP_BLE_I: value = lhs->GetIntValue() <= rhs->GetIntValue(); break;
+        case IOP_BGE_I: value = lhs->GetIntValue() >= rhs->GetIntValue(); break;
+        case IOP_BNE_I: value = lhs->GetIntValue() != rhs->GetIntValue(); break;
+        case IOP_BEQ_R: value = lhs->GetRealValue() == rhs->GetRealValue(); break;
+        case IOP_BLT_R: value = lhs->GetRealValue() < rhs->GetRealValue(); break;
+        case IOP_BGT_R: value = lhs->GetRealValue() > rhs->GetRealValue(); break;
+        case IOP_BLE_R: value = lhs->GetRealValue() <= rhs->GetRealValue(); break;
+        case IOP_BGE_R: value = lhs->GetRealValue() >= rhs->GetRealValue(); break;
+        case IOP_BNE_R: value = lhs->GetRealValue() != rhs->GetRealValue(); break;
+        default:
+          assert(0); // can't happen
+      }
+      IOperand *result = new IOperand_Int(value);
+      delete lhs;
+      delete rhs;
+      return result;
+    }
+  }
+
+  /* generate code */
+  /* Methode 1          |   Methode 2
+   * -------------------------------------
+   * b = 0 goto TRUE    |   ret = 1
+   * ret = 0            |   b = 0 GOTO TRUE
+   * goto END           |   ret = 0
+   * :TRUE              |   :TRUE
+   * ret = 1            |
+   * :END               |
+   */
+  /* Method 2 used */
+  IOperand *result = new IOperand_Symbol(GenerateTempVar(RT_INT));
+  icode->AppendStatement(new IStatement(IOP_ASSIGN_I, new IOperand_Int(1), NULL, result));
+  icode->AppendStatement(new IStatement(op, lhs, rhs, new IOperand_Symbol(true_label)));
+  icode->AppendStatement(new IStatement(IOP_ASSIGN_I, new IOperand_Int(0), NULL, result->Clone()));
+  icode->AppendStatement(new IStatement(IOP_LABEL, new IOperand_Symbol(true_label), NULL, NULL));
+  return result->Clone();
+}
+
+bool ICGenerator::IsZero(IOperand *operand) const
+{
+  return (IsInt(operand) && operand->GetIntValue() == 0) ||
+         (IsReal(operand) && operand->GetRealValue() == 0.0);
+}
+
+bool ICGenerator::IsOne(IOperand *operand) const
+{
+  return (IsInt(operand) && operand->GetIntValue() == 1) ||
+         (IsReal(operand) && operand->GetRealValue() == 1.0);
+}
+
+bool ICGenerator::IsMinusOne(IOperand *operand) const
+{
+  return (IsInt(operand) && operand->GetIntValue() == -1) ||
+         (IsReal(operand) && operand->GetRealValue() == -1.0);
+}
+
+bool ICGenerator::IsConstant(IOperand *operand) const
+{
+  return IsInt(operand) || IsReal(operand);
+}
+
+bool ICGenerator::IsInt(IOperand *operand) const
+{
+  return operand->GetOperandType() == OT_INT;
+}
+
+bool ICGenerator::IsReal(IOperand *operand) const
+{
+  return operand->GetOperandType() == OT_REAL;
+}
Index: /liacs/coco/assignment3/ICGenerator.h
===================================================================
--- /liacs/coco/assignment3/ICGenerator.h	(revision 2)
+++ /liacs/coco/assignment3/ICGenerator.h	(revision 2)
@@ -0,0 +1,74 @@
+/*
+ * ICGenerator.h - Declaration of the ICGenerator class
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ */
+
+#ifndef _ICGENERATOR_H_
+#define _ICGENERATOR_H_
+
+#include "debug.h"
+#include "SyntaxTree.h"
+#include "SymbolTable.h"
+#include "types.h"
+#include "IntermediateCode.h"
+#include "IOperand.h"
+
+
+// This class handles the intermediate code generation. Extend it to your own
+// needs.
+class ICGenerator {
+  public:
+    // Constructor
+    ICGenerator();
+
+    // Destructor
+    ~ICGenerator();
+
+    // Preprocesses the syntax tree; this method is called before
+    // GenerateIntermediateCode() if optimizations are enabled
+    void Preprocess (SyntaxTree * tree, SymbolTable * symtab);
+
+    // Takes a SyntaxTree and converts it into an IntermediateCode structure
+    IntermediateCode * GenerateIntermediateCode (SyntaxTree * inputTree, SymbolTable * symtab);
+
+    // Postprocesses the intermediate code; this method is called after
+    // GenerateIntermediateCode() if optimizations are enabled
+    void Postprocess (IntermediateCode * code, SymbolTable * symtab);
+
+  private:
+    // Generates a temporary symbol
+    Symbol * GenerateTempVar(ReturnType type);
+
+    // Generates a Symbol for a label
+    Symbol * GenerateLabel();
+
+    // Goes recursively through the syntax tree while appending intermediate code
+    // Returns a new IOperand, allocated on the heap, with the result of the subtree
+    // or returns NULL if there is no operand
+    // dest is an optional destination operand, if used returns dest
+    // constant is an optional constant operand
+    // dest and constant are always NULL if not optimizing
+    IOperand * Treewalk (Node * node, IOperand *dest = NULL, IOperand *constant = NULL);
+
+    // Generates code for the NODE_RELOP_* nodes.
+    // op is one of the IOP_B??_? operators and node is the relop node.
+    // Returns a new copy of the result operand.
+    IOperand * GenerateRelopCode(IOperator op, Node *node);
+
+    // returns true if operand is a constant zero
+    bool IsZero(IOperand *operand) const;
+    // returns true if operand is a constant one
+    bool IsOne(IOperand *operand) const;
+    // returns true if operand is a constant negative one
+    bool IsMinusOne(IOperand *operand) const;
+    // returns true if operand is a constant
+    bool IsConstant(IOperand *operand) const;
+    // returns true if operand is a constant integer
+    bool IsInt(IOperand *operand) const;
+    // returns true if operand is a constant real
+    bool IsReal(IOperand *operand) const;
+};
+
+#endif
Index: /liacs/coco/assignment3/IOperand.h
===================================================================
--- /liacs/coco/assignment3/IOperand.h	(revision 2)
+++ /liacs/coco/assignment3/IOperand.h	(revision 2)
@@ -0,0 +1,139 @@
+/*
+ * IOperand.h - Declaration of the IOperand abstract data structure
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ *
+ * This file provides three different objects:
+ *   - IOperand_Int
+ *   - IOperand_Real
+ *   - IOperand_Symbol
+ * You can instantiate these objects using a constructor, for example:
+ *   IOperand * myOperand = new IOperand_Int(42);
+ * This creates an IOperand_Int object containing the value 42.
+ *
+ * Note that deleting an IOperand_Symbol does not lead to a deletion of its
+ * Symbol object.
+ */
+
+#ifndef _IOPERAND_H_
+#define _IOPERAND_H_
+
+#include "Symbol.h"
+
+// The type of an operand
+typedef enum __ioperandtype {
+  OT_UNKNOWN,               // Unknown (yet)
+  OT_INT,                   // Integer immediate
+  OT_REAL,                  // Real immediate
+  OT_SYMBOL                 // Symbol object
+} IOperandType;
+
+
+
+// Operand of an IStatement
+class IOperand {
+  public:
+    // Constructor/destructor
+    IOperand();
+    virtual ~IOperand();
+    virtual IOperand * Clone() =0;
+    
+    // Get operand type
+    IOperandType GetOperandType();
+    
+    // Set operand type
+    void SetOperandType(IOperandType type);
+    
+    // Empty virtuals
+    virtual int GetIntValue();
+    virtual void SetIntValue(int newvalue);
+    virtual float GetRealValue();
+    virtual void SetRealValue(float newvalue);
+    virtual Symbol *GetSymbol();
+    virtual void SetSymbol(Symbol *sym);
+    
+    // Dump
+    virtual void Dump(FILE *file)               =0;
+   
+  private:
+    IOperandType optype;
+};
+
+
+// Integer operand
+class IOperand_Int: public IOperand {
+  public:
+    // Constructor/destructor
+    IOperand_Int();
+    IOperand_Int(int newvalue);
+    ~IOperand_Int();
+    
+    // Clone
+    virtual IOperand_Int * Clone();
+    
+    // Get the integer value
+    int GetIntValue();
+  
+    // Set the integer value
+    void SetIntValue(int newvalue);
+    
+    // Dump
+    void Dump(FILE *file);
+    
+  private:
+    int value;
+};
+
+
+// Real operand
+class IOperand_Real: public IOperand {
+  public:
+    // Constructor/destructor
+    IOperand_Real();
+    IOperand_Real(float newvalue);
+    ~IOperand_Real();
+    
+    // Clone
+    virtual IOperand_Real * Clone();
+    
+    // Get the float value
+    float GetRealValue();
+  
+    // Set the float value
+    void SetRealValue(float newvalue);
+    
+    // Dump
+    void Dump(FILE *file);
+    
+  private:
+    float value;
+};
+
+
+// Symbol operand
+class IOperand_Symbol: public IOperand {
+  public:
+    // Constructor/destructor
+    IOperand_Symbol();
+    IOperand_Symbol(Symbol * newsym);
+    ~IOperand_Symbol();
+    
+    // Clone
+    virtual IOperand_Symbol * Clone();
+    
+    // Get the Symbol object
+    Symbol *GetSymbol();
+  
+    // Set the Symbol object
+    void SetSymbol(Symbol *sym);
+    
+    // Dump
+    void Dump(FILE *file);
+    
+  private:
+    Symbol *symbol;
+};
+
+
+#endif
Index: /liacs/coco/assignment3/IOperator.h
===================================================================
--- /liacs/coco/assignment3/IOperator.h	(revision 2)
+++ /liacs/coco/assignment3/IOperator.h	(revision 2)
@@ -0,0 +1,113 @@
+/*
+ * IOperator.h - Declaration of the IOperator enum type
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ */
+
+#ifndef _IOPERATOR_H_
+#define _IOPERATOR_H_
+
+// Operator of an IStatement
+// Several conventions are used. First, operators that deal with integers have
+// a _I suffix. Operators that deal with reals have a _R suffix. When there is
+// no real-type equivalent for a certain operator (e.g., the modulo operator),
+// no suffix is added.
+// Second, each IOperator has a signature, which is specified between brackets,
+// e.g. [1-r] or [12r]. This signature indicates which of the operand1,
+// operand2 and result fields have to be filled in. For each (class of)
+// IOperators, a more elaborate description about what has to be filled in is
+// given below.
+
+typedef enum __ioperator {
+  /* Meta */
+  IOP_UNKNOWN,             // [---] (yet) Unknown operation
+  
+  /* Subprogram entry
+     operand1  should refer to the corresponding Symbol_Subprogram object */
+  IOP_SUBPROG,             // [1--] Subprogram
+   
+  /* Subprogram return
+     operand1  should contain the value that has to be returned */
+  IOP_RETURN,              // [---] Procedure return
+  IOP_RETURN_I,            // [1--] Integer function return
+  IOP_RETURN_R,            // [1--] Real function return
+  
+  /* Parameter passing (caller side)
+     operand1  actual parameter value or Symbol object */
+  IOP_PARAM_I,             // [1--] Integer parameter
+  IOP_PARAM_R,             // [1--] Real parameter
+  
+  /* Subprogram call
+     operand1  should refer to the corresponding Symbol object
+     result    receives the result of a function call */
+  IOP_PROCCALL,            // [1--] Procedure call
+  IOP_FUNCCALL,            // [1-r] Function call
+  
+  /* Label
+     operand1  should refer to the corresponding Symbol object */
+  IOP_LABEL,               // [1--] Label
+  
+  /* Goto
+     operand1  should refer to the corresponding Symbol object; note that
+               the Symbol pointed to should be of type ST_LABEL */
+  IOP_GOTO,                // [1--] Goto a label
+  
+  /* Variable assignment (copy value)
+     operand1  the source operand
+     result    the destination operand (pointer to a Symbol object) */
+  IOP_ASSIGN_I,            // [1-r] Integer assignment
+  IOP_ASSIGN_R,            // [1-r] Real assignment
+  
+  /* Branching
+     operand1  the first source operand
+     operand2  the second source operand
+     result    should refer to the target Symbol object; note that
+               the Symbol pointed to must be of type ST_LABEL */
+  IOP_BEQ_I,               // [12r] = operator for integers
+  IOP_BLT_I,               // [12r] < operator for integers
+  IOP_BGT_I,               // [12r] > operator for integers
+  IOP_BLE_I,               // [12r] <= operator for integers
+  IOP_BGE_I,               // [12r] >= operator for integers
+  IOP_BNE_I,               // [12r] <> operator for integers
+  IOP_BEQ_R,               // [12r] = operator for reals
+  IOP_BLT_R,               // [12r] < operator for reals
+  IOP_BGT_R,               // [12r] > operator for reals
+  IOP_BLE_R,               // [12r] <= operator for reals
+  IOP_BGE_R,               // [12r] >= operator for reals
+  IOP_BNE_R,               // [12r] <> operator for reals
+  
+  /* Binary arithmetic operators
+     operand1  the first source operand
+     operand2  the second source operand
+     result    the destination operand (refers to a Symbol object) */
+  IOP_ADD_I,               // [12r] Integer addition
+  IOP_ADD_R,               // [12r] Real addition
+  IOP_SUB_I,               // [12r] Integer substraction
+  IOP_SUB_R,               // [12r] Real substraction
+  IOP_MUL_I,               // [12r] Integer multiplication
+  IOP_MUL_R,               // [12r] Real multiplication
+  IOP_DIV_I,               // [12r] Integer division
+  IOP_DIV_R,               // [12r] Real division
+  IOP_MOD,                 // [12r] Modulo
+  IOP_AND,                 // [12r] AND operation
+  IOP_OR,                  // [12r] OR operation
+  
+  /* Unary arithmetic operators
+     operand1  the source operand
+     result    the destination operand (refers to a Symbol object) */
+  IOP_NOT,                 // [1-r] NOT operation
+  IOP_UNARY_MINUS_I,       // [1-r] Unary integer minus
+  IOP_UNARY_MINUS_R,       // [1-r] Unary real minus
+  
+  /* Coercion
+     operand1  the source operand
+     result    the destination operand (refers to a Symbol object) */
+  IOP_INT_TO_REAL          // [1-r] Int to Real coercion
+} IOperator;
+
+
+char *IOperatorToString(IOperator op);
+
+
+#endif
Index: /liacs/coco/assignment3/IStatement.h
===================================================================
--- /liacs/coco/assignment3/IStatement.h	(revision 2)
+++ /liacs/coco/assignment3/IStatement.h	(revision 2)
@@ -0,0 +1,63 @@
+/*
+ * IStatement.h - Declaration of the IStatement abstract data structure
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ *
+ * Note that deleting an IStatement object will also delete the IOperand
+ * objects associated to it.
+ */
+
+#ifndef _ISTATEMENT_H_
+#define _ISTATEMENT_H_
+
+#include <cstdio>
+#include "IOperator.h"
+#include "IOperand.h"
+
+// A statement in the intermediate code (quadruple)
+class IStatement {
+  public:
+    // Constructors/destructor
+    IStatement();
+    IStatement(IOperator op);
+    IStatement(IOperator op, IOperand *opnd1, IOperand *opnd2, IOperand *res);
+    ~IStatement();
+    
+    // Get operator
+    IOperator GetOperator();
+    
+    // Set operator
+    void SetOperator(IOperator op);
+    
+    // Get operand 1
+    IOperand *GetOperand1();
+    
+    // Set operand 1
+    void SetOperand1(IOperand *operand);
+    
+    // Get operand 2
+    IOperand *GetOperand2();
+
+    // Set operand 2
+    void SetOperand2(IOperand *operand);
+    
+    // Get result operand
+    IOperand *GetResult();
+
+    // Set result operand
+    void SetResult(IOperand *operand);
+    
+    // Dump
+    void Dump(FILE *file, int indent);
+    
+  private:
+    IOperator ioperator;
+    IOperand *operand1;
+    IOperand *operand2;
+    IOperand *result;
+};
+
+
+
+#endif
Index: /liacs/coco/assignment3/IntermediateCode.h
===================================================================
--- /liacs/coco/assignment3/IntermediateCode.h	(revision 2)
+++ /liacs/coco/assignment3/IntermediateCode.h	(revision 2)
@@ -0,0 +1,61 @@
+/*
+ * IntermediateCode.h - Declaration of the IntermediateCode abstract data structure
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ *
+ * Note that deleting an IntermediateCode object will also delete all
+ * IStatement objects associated to it.
+ */
+
+#ifndef _INTERMEDIATECODE_H_
+#define _INTERMEDIATECODE_H_
+
+#include <cstdio>
+#include <vector>
+#include "IStatement.h"
+
+
+using namespace std;
+
+// This class stores a linear list of intermediate statements and provides
+// operations to modify that list.
+class IntermediateCode {
+  public:
+    // Constructor/destructor
+    IntermediateCode();
+    ~IntermediateCode();
+
+    // Gets the program name
+    string GetProgramName();
+
+    // Sets the program name
+    void SetProgramName(string name);
+
+    // Returns the number of statements
+    unsigned int GetStatementCount();
+
+    // Gets the i-th statement
+    IStatement *GetStatement(unsigned int i);
+
+    // Appends a statement
+    void AppendStatement(IStatement *stmt);
+
+    // Inserts a statement before the i-th statement
+    void InsertStatement(IStatement *stmt, unsigned int i);
+
+    // Removes the i-th statement
+    void RemoveStatement(unsigned int i);
+
+    // Checks if the intermediate code statisfies the specification
+    bool CheckStructure();
+    
+    // Dump
+    void Dump(FILE *file);
+
+  private:
+    string programName;
+    vector<IStatement*> statements;
+};
+
+#endif
Index: /liacs/coco/assignment3/Makefile
===================================================================
--- /liacs/coco/assignment3/Makefile	(revision 2)
+++ /liacs/coco/assignment3/Makefile	(revision 2)
@@ -0,0 +1,66 @@
+#
+# Makefile for assignment 3 of the Compiler Construction course.
+# Fall 2008, LIACS, Leiden University.
+#
+
+CC		= g++
+LEX		= flex
+YACC		= bison --yacc
+
+WARNINGS	= -Wall -ansi
+OTHERS		= -m32 -g
+DEFINES		= -DDEBUG
+IDIRS		= -I.
+
+CFLAGS		= $(WARNINGS) $(OTHERS) $(DEFINES) $(IDIRS)
+LFLAGS		= 
+YFLAGS		= --defines --debug --verbose
+LDFLAGS		= -m32 -g
+LOADLIBS	= -lfl -lm
+
+# If you want to add another C/C++ file to the compiler, add the name of the
+# corresponding .o file to the OBJFILES macro below:
+OBJFILES	= debug.o main.o ICGenerator.o
+OBJDIR		= gen/
+OBJS		= $(addprefix $(OBJDIR),$(OBJFILES))
+
+# Precompiled object files
+POBJFILES = types.o SyntaxTree.o Node.o Symbol.o SymbolTable.o Scope.o \
+            IntermediateCode.o IStatement.o IOperand.o IOperator.o
+POBJDIR   = obj/
+POBJS     = $(addprefix $(POBJDIR),$(POBJFILES))
+
+IMPORTANT	= comp.[hly] *.h *.c *.cc \
+		  Makefile
+
+.PHONY: all first clean backup dirs showdeps
+
+all: comp
+
+# To be executed before the very first build
+first: dirs
+
+# Dependency stuff
+comp: $(POBJDIR)y.tab.o $(POBJDIR)lex.yy.o $(OBJS) $(POBJS)
+	$(CC) $(LDFLAGS) -o $@ $^ $(LOADLIBS)
+
+clean:	
+	rm -f $(OBJDIR)*.o comp \
+	    `find . -name core -o -name \*\.bak`
+
+backup:
+	tar cfz ../CoCo-`date +'%y%m%d-%H%M'`.tar.gz $(IMPORTANT)
+
+dirs:
+	mkdir gen
+
+# Show dependencies between .c files
+showdeps:
+	$(CC) -MM *.c *.cc
+
+# Dependency stuff
+$(OBJDIR)%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $<
+
+$(OBJDIR)%.o: %.cc
+	$(CC) $(CFLAGS) -c -o $@ $<
Index: /liacs/coco/assignment3/Node.h
===================================================================
--- /liacs/coco/assignment3/Node.h	(revision 2)
+++ /liacs/coco/assignment3/Node.h	(revision 2)
@@ -0,0 +1,214 @@
+/*
+ * Node.h
+ * 
+ * This file contains the declaration of the "Node" structure. It is part of
+ * the assignment for the Compiler Construction course at the Leiden Institute
+ * of Advanced Computer Science (LIACS), Leiden University.
+ *
+ * Note: when a Node is deleted, is does _not_ delete its children. Also the
+ *       Symbol of a Node_Symbol object is preserved.
+ */
+
+#ifndef _NODE_H_
+#define _NODE_H_
+
+#include <cstdlib>
+#include <cstdio>
+#include "types.h"
+#include "Symbol.h"
+
+// ----------------------------------------------------------------------------
+// N O D E   ( B A S E )
+// ----------------------------------------------------------------------------
+
+class Node {
+	
+  public:
+
+    // constructor
+    Node (void);
+  
+    // destructor
+    virtual ~Node (void);
+  
+    // gets the node type
+    NodeType GetNodeType (void);
+    
+    // sets the node type
+    void SetNodeType (NodeType nodeType);
+    
+    // gets the return type
+    ReturnType GetReturnType (void);
+    
+    // sets the return type
+    void SetReturnType (ReturnType returnType);
+    
+    // dumps the node data
+    virtual void Dump (FILE * file, int indent);
+    
+    // (empty) virtuals
+    virtual Node * GetChild (void);
+    virtual void SetChild (Node * node);
+    virtual Node * GetLeftChild (void);
+    virtual void SetLeftChild (Node * node);
+    virtual Node * GetRightChild (void);
+    virtual void SetRightChild (Node * node);
+    
+    virtual int GetIntValue (void);
+    virtual void SetIntValue (int newvalue);
+    virtual float GetRealValue (void);
+    virtual void SetRealValue (float newvalue);
+    virtual Symbol * GetSymbol (void);
+    virtual void SetSymbol (Symbol * newsym);
+    
+  private:
+    
+    NodeType myNodeType;
+    ReturnType myReturnType;
+    
+};
+
+
+
+// ----------------------------------------------------------------------------
+// N O D E   U N A R Y
+// [ unary minus, "not x", etc.]
+// ----------------------------------------------------------------------------
+class Node_Unary: public Node {
+
+  public:
+  
+    // constructor
+    Node_Unary (void);
+
+    // destructor
+    ~Node_Unary (void);
+  
+    // gets the child
+    Node * GetChild (void);
+    
+    // sets the child
+    void SetChild (Node * node);
+    
+    // dumps the node data
+    void Dump(FILE * file, int indent);
+    
+  private:
+    
+    Node * Child;
+    
+};
+
+
+
+// ----------------------------------------------------------------------------
+// N O D E   B I N A R Y
+// ["while L do R", "A ; B", "4 * 3", etc.]
+// ----------------------------------------------------------------------------
+class Node_Binary: public Node {
+
+  public:
+
+    // constructor
+    Node_Binary (void);
+    
+    // destructor
+    ~Node_Binary (void);
+  
+    // gets the left child
+    Node * GetLeftChild (void);
+    
+    // sets the left child
+    void SetLeftChild (Node * node);
+    
+    // gets the right child
+    Node * GetRightChild (void);
+    
+    // sets the right child
+    void SetRightChild (Node * node);
+    
+    // dumps the node data
+    void Dump (FILE * file, int indent);
+    
+  private:
+    
+    Node * leftChild;
+    Node * rightChild;
+
+};
+
+
+
+// ----------------------------------------------------------------------------
+// N O D E   I N T E G E R
+// ----------------------------------------------------------------------------
+class Node_Integer: public Node {
+	
+  public:
+	  
+    // gets the integer value
+    int GetIntValue (void);
+  
+    // sets the integer value
+    void SetIntValue (int value);
+    
+    // dumps the node data
+    void Dump (FILE * file, int indent);
+    
+  private:
+    
+    int myValue;
+    
+};
+
+
+
+// ----------------------------------------------------------------------------
+// N O D E   R E A L
+// ----------------------------------------------------------------------------
+class Node_Real: public Node {
+
+  public:
+
+    // gets the real value
+    float GetRealValue (void);
+  
+    // sets the real value
+    void SetRealValue (float value);
+    
+    // dumps the node data
+    void Dump (FILE * file, int indent);
+    
+  private:
+    
+    float myValue;
+    
+};
+
+
+
+// ----------------------------------------------------------------------------
+// N O D E   S Y M B O L
+// ----------------------------------------------------------------------------
+// symbol leaf
+class Node_Symbol: public Node {
+
+  public:
+
+    // gets the symbol pointer
+    Symbol * GetSymbol (void);
+  
+    // sets the symbol pointer
+    void SetSymbol (Symbol * symbol);
+    
+    // dumps the node data
+    void Dump (FILE * file, int indent);
+    
+  private:
+    
+    Symbol * mySymbol;
+    
+};
+
+#endif
+
Index: /liacs/coco/assignment3/Scope.h
===================================================================
--- /liacs/coco/assignment3/Scope.h	(revision 2)
+++ /liacs/coco/assignment3/Scope.h	(revision 2)
@@ -0,0 +1,61 @@
+/*
+ * Scope.h
+ *
+ * This file contains the declaration of the "Scope" structure.
+ * It is part of the assignment for the Compiler Construction course at the
+ * Leiden Institute of Advanced Computer Science (LIACS), Leiden University.
+ *
+ * Note: when a Scope object is deleted, all Symbol objects contained in that
+ *       Scope are also deleted.
+ */
+
+#ifndef _SCOPE_H_
+#define _SCOPE_H_
+
+#include <cstdio>
+#include <string>
+#include <vector>
+
+#include "Symbol.h"
+
+using namespace std;
+
+// Class representing a scope
+class Scope {
+  public:
+    // Constructor
+    Scope (string scope);
+
+    // Destructor: deletes all Symbols contained in this Scope
+    ~Scope ();
+
+    // Sets the name of the scope
+    void SetName(string name);
+
+    // Gets the name of the scope
+    string GetName ();
+
+    // Adds the given symbol to this scope
+    // Returns -1 if the symbol could not be added
+    int AddSymbol (Symbol * symbol);
+
+    // Returns the symbol identified by <name> in this scope.
+    // Returns NULL if the symbol cannot be found.
+    Symbol * GetSymbol (string name);
+
+    // Returns the i-th symbol of this scope.
+    Symbol * GetSymbol (unsigned int i);
+
+    // Returns the number of symbols in this scope
+    unsigned int GetNumberOfSymbols ();
+
+    // Dumps the contents of this scope
+    void Dump (FILE * file, int indent);
+
+  private:
+    string myName;
+    vector<Symbol *> mySymbols;
+};//Scope
+
+#endif
+
Index: /liacs/coco/assignment3/Symbol.h
===================================================================
--- /liacs/coco/assignment3/Symbol.h	(revision 2)
+++ /liacs/coco/assignment3/Symbol.h	(revision 2)
@@ -0,0 +1,99 @@
+/*
+ * Symbol.h
+ * 
+ * This file contains the declaration of the "Symbol" abstract
+ * data structure. It is part of the assignment for the Compiler Construction
+ * course at the Leiden Institute of Advanced Computer Science (LIACS), Leiden
+ * University.
+ */
+
+#ifndef _SYMBOL_H_
+#define _SYMBOL_H_
+
+#include <string>
+#include <vector>
+#include <cstdio>
+
+#include "types.h"
+
+using namespace std;
+
+// The base class for Symbols
+class Symbol {
+  public:
+    // Constructor/Destructor
+    Symbol (void);
+    virtual ~Symbol (void);
+
+    // Set the identifier text
+    void SetName (string name);
+
+    // Get the identifier text
+    string GetName (void);
+
+    // Set declaration line
+    void SetLine (int line);
+
+    // Get declaration line
+    int GetLine (void);
+
+    // Set return type
+    void SetReturnType (ReturnType type);
+
+    // Get return type
+    ReturnType GetReturnType (void);
+
+    // Set symbol type
+    void SetSymbolType (SymbolType type);
+
+    // Get symbol type
+    SymbolType GetSymbolType (void);
+
+    // Get offset (used during code generation)
+    int GetOffset();
+    
+    // Set offset (used during code generation)
+    void SetOffset(int offset);
+    
+    // Dump the contents
+    virtual void Dump (FILE * file, int indent);
+
+    // Virtuals (empty for this base class)
+    virtual void AddParameter (Symbol * symbol);
+    virtual int GetParameterCount (void);
+    virtual Symbol * GetParameter (unsigned int num);
+
+  private:
+    string myName;
+    int myLine;
+    ReturnType myReturnType;
+    SymbolType mySymbolType;
+    int myOffset;
+};//Symbol
+
+
+
+// Extended symbol class for functions and procedures
+class Symbol_Subprogram : public Symbol {
+  public:
+    // Destructor
+    ~Symbol_Subprogram (void);
+
+    // Add a parameter to the end of the parameter list
+    void AddParameter (Symbol * symbol);
+
+    // Get number of parameters
+    int GetParameterCount (void);
+
+    // Get the num-th argument
+    Symbol * GetParameter (unsigned int num);
+
+    // Dump
+    void Dump (FILE * file, int indent);
+
+  private:
+    vector<Symbol *> parameters;
+};//Symbol_Subprogram
+
+#endif
+
Index: /liacs/coco/assignment3/SymbolTable.h
===================================================================
--- /liacs/coco/assignment3/SymbolTable.h	(revision 2)
+++ /liacs/coco/assignment3/SymbolTable.h	(revision 2)
@@ -0,0 +1,76 @@
+/*
+ * SymbolTable.h
+ *
+ * This file contains the declaration of the "SymbolTable" structure.
+ * It is part of the assignment for the Compiler Construction course at the
+ * Leiden Institute of Advanced Computer Science (LIACS), Leiden University.
+ *
+ * Note: when a SymbolTable is deleted, all Scope objects contained in that
+ *       SymbolTable are also deleted.
+ */
+
+#ifndef _SYMBOLTABLE_H_
+#define _SYMBOLTABLE_H_
+
+#include <cstdio>
+#include <string>
+#include <vector>
+
+#include "Scope.h"
+#include "Symbol.h"
+
+using namespace std;
+
+class SymbolTable {
+  public:
+    // Constructor
+    SymbolTable ();
+
+    // Destructor: deletes all Scopes contained in this SymbolTable
+    ~SymbolTable ();
+
+    // Creates a new Scope with the given name and sets it as current scope.
+    // Returns NULL if the name is already used.
+    Scope * AddScope (string scope);
+
+    // Returns a pointer to the Scope object with the given name
+    Scope * GetScope (string scope);
+
+    // Returns a pointer to the root scope
+    Scope * GetRootScope ();
+
+    // Set the current scope
+    // Returns -1 on error
+    int SetCurrentScope (string scope);
+
+    // Get the current scope name
+    string GetCurrentScopeName ();
+
+    // Adds a symbol to the current scope
+    // Returns -1 on error
+    int AddSymbol (Symbol * symbol);
+
+    // Adds a symbol to the given scope
+    // Returns -1 on error
+    int AddSymbol (string scope, Symbol * symbol);
+
+    // Find a symbol in the current scope, or look in the parent scope, if it
+    // cannot be found in the current one.
+    // Returns NULL if the symbol cannot be found anywhere.
+    Symbol * GetSymbol (string name);
+
+    // Find a symbol in the given scope; optionally look in the parent scope,
+    // if it cannot be found in the given one.
+    // Returns NULL if the symbol cannot be found.
+    Symbol * GetSymbol (string scope, string name, bool lookInParentScope);
+
+    // Dump the contents of the symbol table
+    void Dump (FILE * file);
+
+  private:
+    int myCurrentScope;
+    vector<Scope *> myScopes;
+};//SymbolTable
+
+#endif
+
Index: /liacs/coco/assignment3/SyntaxTree.h
===================================================================
--- /liacs/coco/assignment3/SyntaxTree.h	(revision 2)
+++ /liacs/coco/assignment3/SyntaxTree.h	(revision 2)
@@ -0,0 +1,96 @@
+/*
+ * SyntaxTree.h
+ * 
+ * This file contains the declaration of the "Syntax Tree", an abstract
+ * data structure. It is part of the assignment for the Compiler Construction
+ * course at the Leiden Institute of Advanced Computer Science (LIACS), Leiden
+ * University.
+ */
+
+#ifndef _SYNTAXTREE_H_
+#define _SYNTAXTREE_H_
+
+#include <cstdlib>
+#include <string>
+#include <vector>
+#include <map>
+#include "Node.h"
+
+using namespace std;
+
+// ----------------------------------------------------------------------------
+// S Y N T A X   T R E E
+// ----------------------------------------------------------------------------
+class SyntaxTree {
+
+  public:
+
+    // constructor
+    SyntaxTree (void);
+  
+    // destructor
+    ~SyntaxTree (void);
+    
+    // gets the program name
+    string GetProgramName (void);
+    
+    // sets the program name
+    void SetProgramName (string name);
+    
+    // gets the root node of the program body
+    Node * GetProgramBody (void);
+    
+    // sets the root node of the program body
+    void SetProgramBody (Node * root);
+    
+    // gets the number of subprograms
+    int GetSubprogramCount (void);
+    
+    // gets the root node of the i-th subprogram
+    // 0 <= i < number of subprograms
+    Node * GetSubprogram (unsigned int i);
+
+    // gets the name of the i-th subprogram
+    string GetSubprogramName (unsigned int i);
+    
+    // adds a subprogram
+    void AddSubprogram (string name, Node * root);
+    
+    // creates an unary parent node
+    Node * CreateParentNode (NodeType nodeType,
+                             ReturnType returnType,
+                             Node * child);
+    
+    // creates a binary parent node
+    Node * CreateParentNode (NodeType nodeType,
+                             ReturnType ret,
+                             Node * leftChild,
+                             Node * rightChild);
+
+    // creates an integer leaf with node type NODE_NUM_INT
+    Node * CreateLeaf (int value);
+    
+    // creates a real leaf with node type NODE_NUM_REAL
+    Node * CreateLeaf (float value);
+    
+    // creates a symbol leaf with node type NODE_ID
+    Node * CreateLeaf (Symbol * symbol);
+    
+    // creates a leaf with node type NODE_EMPTY
+    Node * CreateLeaf ();
+
+    // dumps the syntax tree
+    void Dump (FILE * file);
+    
+  private:
+    
+    string programName;
+    Node * programBody;
+    vector<string> subprogramNames;
+    vector<Node *> subprograms;
+    void DeleteTree (Node * root);
+
+};
+
+#endif
+
Index: /liacs/coco/assignment3/debug.c
===================================================================
--- /liacs/coco/assignment3/debug.c	(revision 2)
+++ /liacs/coco/assignment3/debug.c	(revision 2)
@@ -0,0 +1,13 @@
+#include "debug.h"
+
+extern int msglevel; /* the higher, the more messages... */
+
+void pmesg(int level, char* format, ...) {
+  va_list args;
+
+  if (level <= msglevel) {
+    va_start(args, format);
+    vfprintf(stderr, format, args);
+    va_end(args);
+  }
+}
Index: /liacs/coco/assignment3/debug.h
===================================================================
--- /liacs/coco/assignment3/debug.h	(revision 2)
+++ /liacs/coco/assignment3/debug.h	(revision 2)
@@ -0,0 +1,16 @@
+#ifndef _DEBUG_H
+#define _DEBUG_H
+#include <stdio.h>
+#include <stdarg.h>
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+void pmesg(int level, char *format, ...);
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif
Index: /liacs/coco/assignment3/debug.sh
===================================================================
--- /liacs/coco/assignment3/debug.sh	(revision 2)
+++ /liacs/coco/assignment3/debug.sh	(revision 2)
@@ -0,0 +1,19 @@
+#!/bin/sh
+#
+# Trivial debug script, display test case, compile and run, and display
+# testcase again
+
+TESTFILE=${1-../tests/simple/correct1.p0}
+PROG="./comp"
+make
+if [ $? -eq 0 ]; then
+	cat -n $TESTFILE
+	ARGS=" -w -O0 "
+	echo "===BEGIN Command: $PROG $ARGS < $TESTFILE==="
+	$PROG $ARGS < $TESTFILE
+	echo "===END Command: $PROG $ARGS < $TESTFILE==="
+	ARGS=" -w -O1 "
+	echo "===BEGIN Command: $PROG $ARGS < $TESTFILE==="
+	$PROG $ARGS < $TESTFILE
+	echo "===END Command: $PROG $ARGS < $TESTFILE==="
+fi
Index: /liacs/coco/assignment3/dotests
===================================================================
--- /liacs/coco/assignment3/dotests	(revision 2)
+++ /liacs/coco/assignment3/dotests	(revision 2)
@@ -0,0 +1,80 @@
+#!/usr/bin/perl -w
+use strict; no strict 'vars';
+
+########################################################################
+# Configuration options.
+
+# Your compiler
+$compiler = './comp';
+
+# Name of the log file.
+$log = 'test-runs-log';
+
+# Verbose log (includes output for succesful runs)?
+$verbose = 0;
+
+# List of tops of directory trees with tests.
+$testdir = '../tests/';
+$dirfile = $testdir.'dirs';
+
+########################################################################
+
+
+$me = `whoami`;
+chomp($me);
+$templog = '/tmp/' . $me . '-log';
+
+system("rm -f $log");
+
+if (! -x $compiler) {
+  die ("Cannot execute \"$compiler\"");
+}
+
+$success = 0;
+$failure = 0;
+
+$| = 1;
+open(TESTS, "find `cat $dirfile` -type f -name '*.p?'  2> /dev/null |") or die;
+undef $/;
+$_ = <TESTS>;
+@test = split;
+close(TESTS);
+
+foreach $test (@test) {
+  if (! -r $test) {
+    print STDERR "Skipping unreadable test $test\n";
+  }
+
+  print STDERR "Doing test $test\n";
+  system("echo Doing test $test >> $log");
+
+  $test =~ m/^.*\.p([01])$/;
+  $expected = $1;
+
+  # Call the compiler; all output to $templog
+  system("$compiler < $test 2> $templog > $templog");
+
+  $exitval = $? >> 8;
+  if ($exitval == $expected) {
+    $success++;
+    system("echo Succeeded >> $log");
+    if ($verbose) {
+      system("cat $templog >> $log");
+    }
+  } else {
+    print "Failed test \"$test\" with exitcode $exitval \n";
+    system("cat $templog >> $log");
+    system("echo Failed test $test with exitcode $exitval >> $log");
+    $failure++;
+  }
+}
+
+open(RES, "| tee -a $log");
+print RES "\n\n";
+print RES "#tests: ", $success + $failure, "\n";
+print RES "#successes: $success\n";
+print RES "#failures: $failure\n";
+printf RES "Success rate: %3.2f %%\n", (100 * $success / ($success + $failure));
+close(RES);
+
+exit ($failure == 0);
Index: /liacs/coco/assignment3/main.cc
===================================================================
--- /liacs/coco/assignment3/main.cc	(revision 2)
+++ /liacs/coco/assignment3/main.cc	(revision 2)
@@ -0,0 +1,160 @@
+/*
+ * main.cc
+ * 
+ * This file contains some generic functions. It is part of
+ * the assignment for the Compiler Construction course at the Leiden Institute
+ * of Advanced Computer Science (LIACS), Leiden University.
+ */
+
+#include "ICGenerator.h"
+#include "SymbolTable.h"
+#include "debug.h"
+
+/* Globals */
+ICGenerator * icg;
+IntermediateCode * icode;
+bool bWarnings = true;
+bool bOptimize1 = false;
+bool extraDump = false;
+
+
+/* Extern functions */
+int yyparse();
+
+
+/* Extern variables */
+extern int lineno;
+extern SyntaxTree * tree;
+extern SymbolTable * symtab;
+extern int gErrorCount;
+extern int gWarningCount;
+extern int msglevel;
+
+
+
+
+void PrintError (char * msg) {
+  fprintf (stderr, "Error on line %d: %s\n", lineno, msg);
+  gErrorCount++;
+}//PrintError
+
+
+void PrintWarning (char * msg) {
+  if (bWarnings) {
+    fprintf (stderr, "Warning on line %d: %s\n", lineno, msg);
+    gWarningCount++;
+  }
+}//PrintWarning
+
+void usage(char * argv0) {
+    fprintf (stderr, "Usage: %s [OPTION]\n", argv0);
+    fprintf (stderr, "Defaults: %s -w -O0\n", argv0);
+    fprintf (stderr, "-h  = Reading right now ;-)\n");
+    fprintf (stderr, "-w  = Enable warnings\n");
+    fprintf (stderr, "-O0 = No optimalisation\n");
+    fprintf (stderr, "-O1 = Use otimalisation\n");
+    fprintf (stderr, "-g = Debug, more flags higher level\n");
+    fprintf (stderr, "-s = Dump symbolTable after ICG\n");
+}
+
+/* Parse the command line */
+int ParseCommandline(int argc, char ** argv)
+{
+  for (int i = 1; i < argc; i++) {
+    if (strcmp(argv[i], "-w") == 0) {
+      bWarnings = false;
+    }
+    else if (strcmp(argv[i], "-O0") == 0) {
+      bOptimize1 = false;
+    }
+    else if (strcmp(argv[i], "-O1") == 0) {
+      bOptimize1 = true;
+    }
+    else if (strcmp(argv[i], "-h") == 0) {
+        usage(argv[0]);
+        return 1;
+    }
+    else if (strcmp(argv[i], "-g") == 0) {
+        msglevel += 30;
+    }
+    else if (strcmp(argv[i], "-s") == 0) {
+        extraDump = true;
+    }
+    else {
+      fprintf(stderr, "Error: unrecognized command line option '%s'\n", argv[i]);
+      usage(argv[0]);
+      return 1;
+    }
+  }
+
+  return 0;
+}
+
+
+void initialize()
+{
+  /* Create & initialize the abstract data structures */
+  tree = new SyntaxTree;
+  symtab = new SymbolTable;
+  icg = new ICGenerator;
+  icode = NULL;
+
+  gErrorCount = 0;
+  gWarningCount = 0;
+}
+
+
+void cleanup()
+{
+  /* Free objects */
+  delete icg;
+  delete tree;
+  delete symtab;
+  if (icode) delete icode;
+}
+
+
+int main(int argc, char ** argv)
+{
+  int parseResult;
+  
+  if (ParseCommandline(argc, argv) == 1) {
+    return 1;
+  }
+
+  initialize();
+  
+  /* Start the parsing procedure */
+  parseResult = yyparse();
+  
+  /* Dump the syntax tree & symbol table */
+  tree->Dump (stdout);
+  printf("\n");
+  symtab->Dump (stdout);
+
+  /* Generate intermediate code, if everything is still ok */
+  if (!(parseResult || gErrorCount)) {
+    if (bOptimize1) {
+      icg->Preprocess(tree, symtab);
+      tree->Dump (stdout);
+    }
+    icode = icg->GenerateIntermediateCode(tree, symtab);
+    if (bOptimize1) {
+      icg->Postprocess(icode, symtab);
+    }
+    icode->Dump (stdout);
+
+    /* Dump Extra symbol table at the end, to view edited variables on the symbol table */
+    if (extraDump) {
+      printf("\n");
+      symtab->Dump (stdout);
+    }
+  }
+
+  printf("%d error(s), %d warning(s)\n", gErrorCount + parseResult, gWarningCount);
+  
+  cleanup();
+  
+  return (parseResult || gErrorCount);
+
+}
Index: /liacs/coco/assignment3/obj/CVS/Entries
===================================================================
--- /liacs/coco/assignment3/obj/CVS/Entries	(revision 2)
+++ /liacs/coco/assignment3/obj/CVS/Entries	(revision 2)
@@ -0,0 +1,13 @@
+/IOperand.o/1.1/Thu Oct 23 07:54:02 2008/-kb/
+/IOperator.o/1.1/Thu Oct 23 07:54:02 2008/-kb/
+/IStatement.o/1.1/Thu Oct 23 07:54:02 2008/-kb/
+/Node.o/1.1/Thu Oct 23 07:54:02 2008/-kb/
+/Scope.o/1.1/Thu Oct 23 07:54:02 2008/-kb/
+/Symbol.o/1.1/Thu Oct 23 07:54:02 2008/-kb/
+/SymbolTable.o/1.1/Thu Oct 23 07:54:02 2008/-kb/
+/SyntaxTree.o/1.1/Thu Oct 23 07:54:02 2008/-kb/
+/lex.yy.o/1.1/Thu Oct 23 07:54:02 2008/-kb/
+/types.o/1.1/Thu Oct 23 07:54:02 2008/-kb/
+/IntermediateCode.o/1.2/Wed Oct 29 11:10:54 2008/-kb/
+/y.tab.o/1.2/Wed Oct 29 11:10:54 2008/-kb/
+D
Index: /liacs/coco/assignment3/obj/CVS/Repository
===================================================================
--- /liacs/coco/assignment3/obj/CVS/Repository	(revision 2)
+++ /liacs/coco/assignment3/obj/CVS/Repository	(revision 2)
@@ -0,0 +1,1 @@
+assignment3/obj
Index: /liacs/coco/assignment3/obj/CVS/Root
===================================================================
--- /liacs/coco/assignment3/obj/CVS/Root	(revision 2)
+++ /liacs/coco/assignment3/obj/CVS/Root	(revision 2)
@@ -0,0 +1,1 @@
+:pserver:hvdzwet@cvs.liacs.nl:/cvs/coco08/group6
Index: /liacs/coco/assignment3/types.h
===================================================================
--- /liacs/coco/assignment3/types.h	(revision 2)
+++ /liacs/coco/assignment3/types.h	(revision 2)
@@ -0,0 +1,139 @@
+/*
+ * types.h - Various type definitions
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ */
+
+#ifndef _TYPES_H_
+#define _TYPES_H_
+
+#include <string>
+
+using namespace std;
+
+// Return type of a node
+typedef enum __returntype {
+  RT_UNKNOWN,               // Not (yet) known
+  RT_ERROR,                 // Error
+  RT_VOID,                  // Void
+  RT_INT,                   // Integer
+  RT_REAL,                  // Floating point
+  RT_BOOL                   // Boolean expression
+} ReturnType;
+
+
+// Type of a symbol
+typedef enum __symboltype {
+  ST_UNKNOWN,               // Unknown (yet)
+  ST_ERROR,                 // Error
+  ST_VARIABLE,              // Variable
+  ST_PARAMETER,             // Function/Procedure parameter
+  ST_PROCEDURE,             // Procedure
+  ST_FUNCTION,              // Function
+  ST_PROGRAM,               // Program body
+  ST_TEMPVAR,               // Temporary variable (not used before assignment 3)
+  ST_LABEL                  // Label (not used before assignment 3)
+} SymbolType;
+
+
+// Type of a node in the syntax tree
+typedef enum __nodetype {
+  /* Meta */
+  NODE_UNKNOWN,             // Unknown (yet)
+  NODE_ERROR,               // Error
+  
+  /* Statement list
+     left child     One of: NODE_ASSIGNMENT, NODE_IF, NODE_WHILE,
+                    NODE_PROCCALL, NODE_FUNCTIONCALL, NODE_STATEMENT_LIST.
+     right child    One of: NODE_ASSIGNMENT, NODE_IF, NODE_WHILE,
+                    NODE_PROCCALL, NODE_FUNCTIONCALL, NODE_STATEMENT_LIST, or
+                    NODE_EMPTY if no more statements follow. */
+  NODE_STATEMENT_LIST,
+
+  /* Assignment
+     left child     A NODE_ID that identifies the destination variable
+     right child    A subtree representing an expression */
+  NODE_ASSIGNMENT,
+
+  /* If statement
+     left child     A NODE_BOOLEXPR that provides the if condition
+     right child    A NODE_IF_TARGETS subtree (if there is an else clause) or
+                    a subtree consisting of statements (if there's no else) */
+  NODE_IF,
+
+  /* Targets of an if-else-statement
+     left child     The statements that have to be executed when the condition
+                    of the parent if-statement is true.
+     right child    The statements that have to be executed when the condition
+                    of the parent if-statement is false, that is, the else
+                    part. */
+  NODE_IF_TARGETS,
+
+  /* While loop
+     left child     A NODE_BOOLEXPR that provides the loop condition
+     right child    A subtree consisting of statements */
+  NODE_WHILE,
+
+  /* Subprogram calls
+     left child     A NODE_ID that identifies the called function/procedure
+     right child    A NODE_EXPRLIST that specifies the actual arguments, or
+                    NODE_EMPTY if no arguments required. */
+  NODE_PROCCALL,
+  NODE_FUNCTIONCALL,
+
+  /* Expression list
+     left child     A subtree representing an expression
+     right child    A subtree representing an expression, another
+                    NODE_EXPRLIST, or NODE_EMPTY if no more expressions follow
+                    in the expression list. */
+  NODE_EXPRLIST,
+
+  /* Boolean-like expression
+     child          A subtree with any NODE_REL_ node as parent */
+  NODE_BOOLEXPR,
+
+  /* Relational operators
+     left child     Left-hand side of the comparison
+     right child    Right-hand side of the comparison */
+  NODE_REL_EQUAL,           //  = operator
+  NODE_REL_LT,              //  < operator
+  NODE_REL_GT,              //  > operator
+  NODE_REL_LTE,             //  <= operator
+  NODE_REL_GTE,             //  >= operator
+  NODE_REL_NOTEQUAL,        //  <> operator
+
+  /* Binary arithmetic & logic operations
+     left child     Left-hand side of the operation
+     right child    Right-hand side of the operation */
+  NODE_ADD,                 // Add
+  NODE_SUB,                 // Substract
+  NODE_OR,                  // OR operation
+  NODE_MUL,                 // Multiply
+  NODE_DIV,                 // Divide
+  NODE_IDIV,                // Integer division
+  NODE_MOD,                 // Modulo
+  NODE_AND,                 // AND operation
+
+  /* Leafs
+     these nodes have no child nodes */
+  NODE_NUM_INT,             // Integer number
+  NODE_NUM_REAL,            // Real number
+  NODE_ID,                  // Identifier
+  NODE_EMPTY,               // Empty leaf (terminates lists etc.)
+
+  /* Unary nodes
+     child          The subtree to which the operation has to be applied */
+  NODE_NOT,                 // NOT operation
+  NODE_SIGNPLUS,            // Unary plus
+  NODE_SIGNMINUS,           // Unary minus
+  NODE_COERCION             // Int to Real coercion
+} NodeType;
+
+
+/* Prototypes */
+char * ReturnTypeToString (ReturnType returntype);
+char * SymbolTypeToString (SymbolType symboltype);
+char * NodeTypeToString (NodeType nodetype);
+
+#endif
Index: /liacs/coco/assignment4/.cvsignore
===================================================================
--- /liacs/coco/assignment4/.cvsignore	(revision 2)
+++ /liacs/coco/assignment4/.cvsignore	(revision 2)
@@ -0,0 +1,1 @@
+.svn
Index: /liacs/coco/assignment4/AssemblerCode.cc
===================================================================
--- /liacs/coco/assignment4/AssemblerCode.cc	(revision 2)
+++ /liacs/coco/assignment4/AssemblerCode.cc	(revision 2)
@@ -0,0 +1,221 @@
+/*
+ * File
+ */
+
+#include <sstream>
+#include <cstdio>
+#include <string>
+#include "AssemblerCode.h"
+#include "debug.h"
+
+extern int msglevel;
+
+using namespace std;
+
+AssemblerCode::AssemblerCode() {
+}
+
+AssemblerCode::~AssemblerCode() {
+}
+
+unsigned int AssemblerCode::GetStatementCount() const {
+  return (statements.size());
+}
+
+MStatement *AssemblerCode::GetStatement(unsigned int i) {
+  return (statements.at(i));
+}
+
+// Appends a statement
+
+void AssemblerCode::AppendStatement(MStatement *stmt) {
+  statements.push_back(stmt);
+}
+
+// Inserts a statement before the i-th statement
+
+void AssemblerCode::InsertStatement(MStatement *stmt, unsigned int i) {
+  statements.insert(statements.begin() + i, stmt);
+}
+// Removes the i-th statement
+
+void AssemblerCode::RemoveStatement(unsigned int i) {
+  statements.erase(statements.begin() + i);
+}
+
+// Dump
+
+void AssemblerCode::Dump(FILE *file) {
+  msglevel = 100;
+  for (unsigned int i = 0; i < GetStatementCount(); ++i) {
+    MStatement *stmt = GetStatement(i);
+
+    /* Always valid values */
+    const char *opcode = MOperatorToString(stmt->GetOperator());
+
+    const char *hash = "\t# ";
+    const char *comment = stmt->GetComment();
+    if (comment == NULL) {
+      comment = "";
+      hash = "";
+    }
+
+    string label = stmt->GetLabel();
+    if (label.empty()) {
+      label = "";
+    }
+
+    if (stmt->GetOperator() == MOP_LABEL) {
+      pmesg(100, "===MStatement MOP_LABEL ===\n");
+      fprintf(file, "%s:\t%s%s\n", label.c_str(), hash, comment);
+      continue;
+    }
+
+    pmesg(100, "=== MStatement ===\n");
+    if (stmt->GetOperand1() == NULL) {
+      fprintf(file, "%s\t%s\t%s%s\n", label.c_str(), opcode, hash, comment);
+      continue;
+    }
+
+    string op1 = MOperandToString(stmt->GetOperand1());
+    if (stmt->GetOperand2() == NULL) {
+      fprintf(file, "%s\t%s\t%s\t%s%s\n", label.c_str(), opcode, op1.c_str(),
+              hash, comment);
+      continue;
+    }
+
+    string op2 = MOperandToString(stmt->GetOperand2());
+    if (stmt->GetOperand3() == NULL) {
+      fprintf(file, "%s\t%s\t%s, %s\t%s%s\n", label.c_str(), opcode, op1.c_str(),
+              op2.c_str(), hash, comment);
+      continue;
+    }
+
+    string op3 = MOperandToString(stmt->GetOperand3());
+    fprintf(file, "%s\t%s\t%s, %s, %s\t%s%s\n", label.c_str(), opcode, op1.c_str(),
+            op2.c_str(), op3.c_str(), hash, comment);
+  }
+}
+
+string AssemblerCode::MOperandToString(MOperand *operand) {
+  stringstream ss;
+  pmesg(100, "Operand Type: ");
+  switch (operand->GetOperandType()) {
+    case MT_INT: // Integer immediate
+    {
+      pmesg(100, "MT_INT");
+      ss << operand->GetIntValue();
+      break;
+    }
+    case MT_REAL: // Real immediate
+    {
+      pmesg(100, "MT_REAL");
+
+      ss << showpoint << operand->GetRealValue();
+      break;
+    }
+    case MT_OFFSET:
+    {
+      pmesg(100, "MT_OFFSET");
+      int offset = operand->GetOffset();
+      const char *regstr = MRegisterTypeToString(operand->GetRegisterType());
+      ss << offset << '(' << regstr << ')';
+      break;
+
+    }
+    case MT_REGISTER: // Integer Register
+    {
+      pmesg(100, "MT_REGISTER");
+      const char *regstr = MRegisterTypeToString(operand->GetRegisterType());
+      ss << regstr;
+      break;
+    }
+    case MT_ADDRESS: // Address operand
+    {
+      pmesg(100, "MT_REGISTER");
+      ss << operand->GetAddress();
+      break;
+    }
+    case MT_LABEL:
+    {
+      pmesg(100, "MT_LABEL");
+
+      ss << operand->GetLabel();
+      break;
+    }
+    default:
+      return "?";
+  }
+  pmesg(100, ": %s\n", ss.str().c_str());
+  return (ss.str());
+}
+
+const char *AssemblerCode::MRegisterTypeToString(MRegisterType op) {
+  const char *registertype_str[] = {
+    "$0", // ZERO 0
+    "$at",
+    "$v0",
+    "$v1",
+    "$a0",
+    "$a1",
+    "$a2",
+    "$a3",
+    "$t0",
+    "$t1",
+    "$t2",
+    "$t3",
+    "$t4",
+    "$t5",
+    "$t6",
+    "$t7",
+    "$s0",
+    "$s1",
+    "$s2",
+    "$s3",
+    "$s4",
+    "$s5",
+    "$s6",
+    "$s7",
+    "$t8",
+    "$t9",
+    "$k0",
+    "$k1",
+    "$gp",
+    "$sp",
+    "$fp",
+    "$ra",
+    "$f0",
+    "$f1",
+    "$f2",
+    "$f3",
+    "$f4",
+    "$f5",
+    "$f6",
+    "$f7",
+    "$f8",
+    "$f9",
+    "$f10",
+    "$f11",
+    "$f12",
+    "$f13",
+    "$f14",
+    "$f15",
+    "$f16",
+    "$f17",
+    "$f18",
+    "$f19",
+    "$f20",
+    "$f21",
+    "$f22",
+    "$f23",
+    "$f24",
+    "$f25",
+    "$f26",
+    "$f27",
+    "$f28",
+    "$f29",
+    "$f30",
+    "$f31"
+  };
+  return registertype_str[op];
+}
Index: /liacs/coco/assignment4/AssemblerCode.h
===================================================================
--- /liacs/coco/assignment4/AssemblerCode.h	(revision 2)
+++ /liacs/coco/assignment4/AssemblerCode.h	(revision 2)
@@ -0,0 +1,52 @@
+/*
+ * File:   AssemblerCode.h
+ * Author: rick
+ *
+ * Created on November 19, 2008, 1:20 AM
+ */
+
+#ifndef _ASSEMBLERCODE_H
+#define	_ASSEMBLERCODE_H
+
+#include <cstdio>
+#include <vector>
+#include "MStatement.h"
+
+
+using namespace std;
+
+// This class stores a linear list of assember statements and provides
+// operations to modify that list.
+class AssemblerCode {
+  public:
+    // Constructor/destructor
+    AssemblerCode();
+    ~AssemblerCode();
+
+
+    // Returns the number of statements
+    unsigned int GetStatementCount() const;
+
+    // Gets the i-th statement
+    MStatement *GetStatement(unsigned int i);
+
+    // Appends a statement
+    void AppendStatement(MStatement *stmt);
+
+    // Inserts a statement before the i-th statement
+    void InsertStatement(MStatement *stmt, unsigned int i);
+
+    // Removes the i-th statement
+    void RemoveStatement(unsigned int i);
+
+    // Dump
+    void Dump(FILE *file);
+
+  private:
+    vector<MStatement*> statements;
+    string MOperandToString(MOperand *operand);
+    const char *MRegisterTypeToString(MRegisterType op);
+};
+
+#endif	/* _ASSEMBLERCODE_H */
+
Index: /liacs/coco/assignment4/CVS/Entries
===================================================================
--- /liacs/coco/assignment4/CVS/Entries	(revision 2)
+++ /liacs/coco/assignment4/CVS/Entries	(revision 2)
@@ -0,0 +1,40 @@
+/ICGenerator.cc/1.1/Thu Nov  6 10:06:41 2008//
+/ICGenerator.h/1.1/Thu Nov  6 10:06:41 2008//
+/IOperand.h/1.1/Thu Nov  6 10:06:41 2008//
+/IOperator.h/1.1/Thu Nov  6 10:06:41 2008//
+/IStatement.h/1.1/Thu Nov  6 10:06:41 2008//
+/IntermediateCode.h/1.1/Thu Nov  6 10:06:41 2008//
+/Node.h/1.1/Thu Nov  6 10:06:41 2008//
+/Scope.h/1.1/Thu Nov  6 10:06:41 2008//
+/Symbol.h/1.1/Thu Nov  6 10:06:41 2008//
+/SymbolTable.h/1.1/Thu Nov  6 10:06:41 2008//
+/SyntaxTree.h/1.1/Thu Nov  6 10:06:41 2008//
+/dotests/1.1/Thu Nov  6 10:06:41 2008//
+/trap.handler/1.1/Thu Nov  6 10:06:41 2008//
+/types.h/1.1/Thu Nov  6 10:06:41 2008//
+/xspim/1.1/Thu Nov  6 10:06:41 2008/-kb/
+D/obj////
+/AssemblerCode.cc/1.18/Sun Nov 23 15:45:25 2008//
+/AssemblerCode.h/1.7/Thu Nov 20 09:43:19 2008//
+/CodeGenerator.cc/1.55/Thu Nov 27 13:49:11 2008//
+/CodeGenerator.h/1.15/Thu Nov 27 13:49:11 2008//
+/DOCUMENTATION.txt/1.9/Thu Nov 27 13:29:22 2008//
+/MOperand.cc/1.13/Thu Nov 20 12:28:06 2008//
+/MOperand.h/1.12/Thu Nov 20 12:28:06 2008//
+/MOperator.cc/1.10/Wed Nov 26 01:27:46 2008//
+/MOperator.h/1.17/Wed Nov 26 01:27:46 2008//
+/MStatement.cc/1.11/Thu Nov 20 11:19:53 2008//
+/MStatement.h/1.11/Thu Nov 20 11:19:53 2008//
+/Makefile/1.5/Thu Nov 27 13:49:11 2008//
+/RegisterManager.cc/1.22/Wed Nov 26 13:11:12 2008//
+/RegisterManager.h/1.12/Wed Nov 26 01:39:51 2008//
+/StackFrameManager.cc/1.17/Thu Nov 27 13:49:11 2008//
+/StackFrameManager.h/1.6/Thu Nov 27 13:49:11 2008//
+/debug.c/1.2/Thu Nov 27 13:49:11 2008//
+/debug.h/1.2/Thu Nov 27 13:49:11 2008//
+/debug.s/1.8/Thu Nov 20 21:59:37 2008//
+/debug.sh/1.2/Thu Nov 27 13:49:11 2008//
+/gdb.script/1.2/Wed Nov 19 19:16:08 2008//
+/globals.h/1.6/Thu Nov 20 11:33:13 2008//
+/main.cc/1.8/Thu Nov 27 13:49:11 2008//
+/testall.sh/1.4/Wed Nov 26 01:39:51 2008//
Index: /liacs/coco/assignment4/CVS/Entries.Log
===================================================================
--- /liacs/coco/assignment4/CVS/Entries.Log	(revision 2)
+++ /liacs/coco/assignment4/CVS/Entries.Log	(revision 2)
@@ -0,0 +1,1 @@
+A D/obj////
Index: /liacs/coco/assignment4/CVS/Repository
===================================================================
--- /liacs/coco/assignment4/CVS/Repository	(revision 2)
+++ /liacs/coco/assignment4/CVS/Repository	(revision 2)
@@ -0,0 +1,1 @@
+assignment4
Index: /liacs/coco/assignment4/CVS/Root
===================================================================
--- /liacs/coco/assignment4/CVS/Root	(revision 2)
+++ /liacs/coco/assignment4/CVS/Root	(revision 2)
@@ -0,0 +1,1 @@
+:pserver:hvdzwet@cvs.liacs.nl:/cvs/coco08/group6
Index: /liacs/coco/assignment4/CodeGenerator.cc
===================================================================
--- /liacs/coco/assignment4/CodeGenerator.cc	(revision 2)
+++ /liacs/coco/assignment4/CodeGenerator.cc	(revision 2)
@@ -0,0 +1,762 @@
+/*
+ * CodeGenerator.cc - Implementation of the CodeGenerator class
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ */
+
+#include "IStatement.h"
+#include "AssemblerCode.h"
+#include "MStatement.h"
+
+
+#include "CodeGenerator.h"
+#include "globals.h"
+#include <time.h>
+#include <unistd.h>
+#include <cassert>
+
+using namespace std;
+
+bool IsGlobal(Symbol * sym); // Is the specified symbol a global variable?
+
+#define SP_ALTER(offset) fprintf(out, "\taddi\t$sp, $sp, %d\n", offset)
+#define OP1_NAME_C_STR(stmt) stmt->GetOperand1()->GetSymbol()->GetName().c_str()
+#define OP1_NAME_STR(stmt) string(SYMBOL_PREFIX) + stmt->GetOperand1()->GetSymbol()->GetName()
+#define OP2_NAME_C_STR(stmt) stmt->GetOperand2()->GetSymbol()->GetName().c_str()
+#define RESULT_NAME_C_STR(stmt) stmt->GetResult()->GetSymbol()->GetName().c_str()
+
+
+// Constructor
+
+CodeGenerator::CodeGenerator()
+: mCode(), currentFrame(mCode), rManager(currentFrame, mCode) {
+}
+
+
+// Destructor
+
+CodeGenerator::~CodeGenerator() {
+}
+
+
+// Generates a header
+
+void CodeGenerator::GenerateHeader(FILE * out) {
+  time_t rawtime;
+  struct tm * timeinfo;
+
+  time(&rawtime);
+  timeinfo = localtime(&rawtime);
+  char hostname[20];
+  gethostname(hostname, 20);
+
+  fprintf(out, "## Output generated by ./comp @ %s\n", hostname);
+  fprintf(out, "## %s\n", asctime(timeinfo));
+  fprintf(out, "## Compiler Construction Course - Leiden University - LIACS\n");
+  fprintf(out, "## Johan IJsveld - Rick van der Zwet\n");
+  fprintf(out, "## BSD Licenced\n");
+
+}
+
+
+// Generates the declarations for the global variables
+
+void CodeGenerator::GenerateGlobalDecls(FILE *, SymbolTable * symtab) {
+  Scope * globalScope;
+  Symbol * sym;
+
+  mCode.AppendStatement(new MStatement(MOP_DATA, "Global data section"));
+  mCode.AppendStatement(new MStatement(MOP_ALIGN, new MOperand(MT_INT, 4)));
+
+  globalScope = symtab->GetRootScope();
+
+  // Here we iterate over all global variables in the symbol table and
+  // generate a declaration.
+  for (unsigned int i = 0; i < globalScope->GetNumberOfSymbols(); i++) {
+    sym = globalScope->GetSymbol(i);
+    if (IsGlobal(sym)) {
+      MStatement *stmt = new MStatement(MOP_LABEL);
+      stmt->SetLabel(string(SYMBOL_PREFIX) + sym->GetName());
+      mCode.AppendStatement(stmt);
+      if (sym->GetReturnType() == RT_INT) {
+        mCode.AppendStatement(new MStatement(MOP_WORD, new MOperand(MT_INT, 0)));
+      } else {
+        mCode.AppendStatement(new MStatement(MOP_FLOAT, new MOperand(MT_REAL, 0.0f)));
+      }
+    }
+  }
+
+}
+
+
+// Takes an IntermediateCode object and emits MIPS assembly instructions
+
+void CodeGenerator::GenerateCode(FILE *out, SymbolTable * symtab, IntermediateCode * inputCode) {
+  IStatement * stmt;
+
+  // Generate a general 'stub'.
+  mCode.AppendStatement(new MStatement(MOP_TEXT, "Code section"));
+  mCode.AppendStatement(new MStatement(MOP_ALIGN, new MOperand(MT_INT, 4)));
+  mCode.AppendStatement(new MStatement(MOP_GLOBL, new MOperand(MT_LABEL, "main")));
+  mCode.AppendStatement(new MStatement(MOP_ENT, new MOperand(MT_LABEL, "main")));
+  MStatement *mstmt = new MStatement(MOP_LABEL);
+  mstmt->SetLabel("main");
+  mCode.AppendStatement(mstmt);
+  mCode.AppendStatement(StackPointerChange(-4));
+  mCode.AppendStatement(new MStatement(MOP_JAL, new MOperand(MT_LABEL, string(SYMBOL_PREFIX) + inputCode->GetProgramName()), "Jump to program body"));
+  mCode.AppendStatement(StackPointerChange(4));
+  mCode.AppendStatement(new MStatement(MOP_ADDI, new MOperand(MT_REGISTER, R_V0), new MOperand(MT_REGISTER, R_ZERO), new MOperand(MT_INT, 10), "Exit system call"));
+  mCode.AppendStatement(new MStatement(MOP_SYSCALL));
+  mCode.AppendStatement(new MStatement(MOP_END, new MOperand(MT_LABEL, "main")));
+
+  // Here we step through the intermediate code and output assembly instructions
+  for (unsigned int i = 0; i < inputCode->GetStatementCount(); i++) {
+    stmt = inputCode->GetStatement(i);
+
+    switch (stmt->GetOperator()) {
+        /* Subprogram entry
+           operand1  should refer to the corresponding Symbol_Subprogram object */
+      case IOP_SUBPROG: // [1--] Subprogram
+      {
+        // The start of a subprogram: analyze it, and generate the prologue.
+        currentFrame.AnalyzeSubprogram(symtab, stmt->GetOperand1()->GetSymbol());
+        currentFrame.GeneratePrologue(out);
+        break;
+      }
+        /* Subprogram return
+           operand1  should contain the value that has to be returned */
+      case IOP_RETURN: // [---] Procedure return
+      {
+        // The end of a subprogram:
+        // write back all registers
+        rManager.SpillAll();
+
+        // generate the epilogue
+        currentFrame.GenerateEpilogue(out);
+        break;
+      }
+      case IOP_RETURN_I: // [1--] Integer function return
+      {
+        // The end of a subprogram:
+        // write back all registers
+        rManager.SpillAll();
+
+        // put result in $v0
+        if (stmt->GetOperand1()->GetOperandType() == OT_INT) {
+          mCode.AppendStatement(new MStatement(MOP_ADDI,
+                  new MOperand(MT_REGISTER, R_V0),
+                  new MOperand(MT_REGISTER, R_ZERO),
+                  new MOperand(MT_INT, stmt->GetOperand1()->GetIntValue()),
+                  "Store constant integer return value"));
+        } else {
+          MRegisterType result_reg = rManager.GetIntRegister(stmt->GetOperand1()->GetSymbol());
+          mCode.AppendStatement(new MStatement(MOP_MOVE,
+                  new MOperand(MT_REGISTER, R_V0),
+                  new MOperand(MT_REGISTER, result_reg),
+                  "Store integer return value"));
+        }
+
+        // generate the epilogue
+        currentFrame.GenerateEpilogue(out);
+        break;
+      }
+      case IOP_RETURN_R: // [1--] Real function return
+      {
+        // The end of a subprogram:
+        // write back all registers
+        rManager.SpillAll();
+
+        // put result in $f0
+        if (stmt->GetOperand1()->GetOperandType() == OT_REAL) {
+          mCode.AppendStatement(new MStatement(MOP_LI_S,
+                  new MOperand(MT_REGISTER, R_F0),
+                  new MOperand(MT_REAL, stmt->GetOperand1()->GetRealValue()),
+                  "Store constant real return value"));
+        } else if (stmt->GetOperand1()->GetOperandType() == OT_REAL) {
+          // XXX: is this needed?
+          mCode.AppendStatement(new MStatement(MOP_LI_S,
+                  new MOperand(MT_REGISTER, R_F0),
+                  new MOperand(MT_INT, stmt->GetOperand1()->GetRealValue()),
+                  "Store real (casted from int) return value"));
+        } else {
+          MRegisterType result_reg = rManager.GetFloatRegister(stmt->GetOperand1()->GetSymbol());
+          mCode.AppendStatement(new MStatement(MOP_MOV_S,
+                  new MOperand(MT_REGISTER, R_F0),
+                  new MOperand(MT_REGISTER, result_reg),
+                  "Store real return value"));
+        }
+
+        // generate the epilogue
+        currentFrame.GenerateEpilogue(out);
+        break;
+      }
+        /* Meta */
+      case IOP_UNKNOWN: // [---] (yet) Unknown operation
+      {
+        assert(0); // can't happen
+        break;
+      }
+        /* Parameter passing (caller side)
+           operand1  actual parameter value or Symbol object */
+      case IOP_PARAM_I: // [1--] Integer parameter
+      {
+        if (stmt->GetOperand1()->GetOperandType() == OT_INT) {
+          mCode.AppendStatement(new MStatement(MOP_ADDI,
+                  new MOperand(MT_REGISTER, R_V1),
+                  new MOperand(MT_REGISTER, R_ZERO),
+                  new MOperand(MT_INT, stmt->GetOperand1()->GetIntValue()),
+                  "Push constant integer parameter"));
+
+        } else {
+          // find/associate operand symbol to a register
+          MRegisterType operand_reg = rManager.GetIntRegister(stmt->GetOperand1()->GetSymbol());
+          mCode.AppendStatement(new MStatement(MOP_MOVE,
+                  new MOperand(MT_REGISTER, R_V1),
+                  new MOperand(MT_REGISTER, operand_reg),
+                  "Push integer parameter"));
+        }
+
+        mCode.AppendStatement(new MStatement(MOP_SW,
+                new MOperand(MT_REGISTER, R_V1),
+                new MOperand(MT_OFFSET, R_SP, 0)));
+
+        mCode.AppendStatement(StackPointerChange(-4));
+        break;
+      }
+      case IOP_PARAM_R: // [1--] Real parameter
+      {
+        if (stmt->GetOperand1()->GetOperandType() == OT_REAL) {
+          mCode.AppendStatement(new MStatement(MOP_LI_S,
+                  new MOperand(MT_REGISTER, R_F0),
+                  new MOperand(MT_REAL, stmt->GetOperand1()->GetRealValue()),
+                  "Push constant real parameter"));
+
+        } else {
+          // find/associate operand symbol to a register
+          MRegisterType operand_reg = rManager.GetFloatRegister(stmt->GetOperand1()->GetSymbol());
+          mCode.AppendStatement(new MStatement(MOP_MOV_S,
+                  new MOperand(MT_REGISTER, R_F0),
+                  new MOperand(MT_REGISTER, operand_reg),
+                  "Push real parameter"));
+        }
+
+        mCode.AppendStatement(new MStatement(MOP_S_S,
+                new MOperand(MT_REGISTER, R_F0),
+                new MOperand(MT_OFFSET, R_SP, 0)));
+
+        mCode.AppendStatement(StackPointerChange(-4));
+        break;
+      }
+
+        /* Subprogram call
+           operand1  should refer to the corresponding Symbol object
+           result    receives the result of a function call */
+      case IOP_PROCCALL: // [1--] Procedure call
+      {
+        /* making a procedure call so write back all registers */
+        rManager.SpillAll();
+        /* make procedure call */
+        mCode.AppendStatement(new MStatement(MOP_JAL,
+                new MOperand(MT_LABEL, string(SYMBOL_PREFIX) + OP1_NAME_C_STR(stmt))));
+        break;
+      }
+      case IOP_FUNCCALL: // [1-r] Function call
+      {
+        /* making a function call so write back all registers */
+        rManager.SpillAll();
+
+        /* Function call requires a call and then storage of returned data */
+        mCode.AppendStatement(new MStatement(MOP_JAL,
+                new MOperand(MT_LABEL, string(SYMBOL_PREFIX) + OP1_NAME_C_STR(stmt))));
+
+        /* find/associate a register and put the result in there */
+        Symbol *result_symbol = stmt->GetResult()->GetSymbol();
+        if (result_symbol->GetReturnType() == RT_INT) {
+          MRegisterType result_reg = rManager.GetIntRegister(result_symbol);
+          mCode.AppendStatement(new MStatement(MOP_MOVE,
+                  new MOperand(MT_REGISTER, result_reg),
+                  new MOperand(MT_REGISTER, R_V0),
+                  "Store integer function result"));
+        } else {
+          MRegisterType result_reg = rManager.GetFloatRegister(result_symbol);
+          mCode.AppendStatement(new MStatement(MOP_MOV_S,
+                  new MOperand(MT_REGISTER, result_reg),
+                  new MOperand(MT_REGISTER, R_F0),
+                  "Store real function result"));
+        }
+        break;
+      }
+        /* Label
+           operand1  should refer to the corresponding Symbol object */
+      case IOP_LABEL: // [1--] Label
+      {
+        MStatement *mstmt = new MStatement(MOP_LABEL);
+        mstmt->SetLabel(OP1_NAME_C_STR(stmt));
+        mCode.AppendStatement(mstmt);
+        break;
+      }
+        /* Goto
+           operand1  should refer to the corresponding Symbol object; note that
+                     the Symbol pointed to should be of type ST_LABEL */
+      case IOP_GOTO: // [1--] Goto a label
+      {
+        /* changing control flow so write back all registers */
+        rManager.SpillAll();
+
+        mCode.AppendStatement(new MStatement(MOP_J, new MOperand(MT_LABEL, OP1_NAME_C_STR(stmt))));
+        break;
+      }
+        /* Variable assignment (copy value)
+           operand1  the source operand
+           result    the destination operand (pointer to a Symbol object) */
+      case IOP_ASSIGN_I: // [1-r] Integer assignment
+      {
+        // find/associate result symbol to a register
+        MRegisterType result_reg = rManager.GetIntRegister(stmt->GetResult()->GetSymbol());
+
+        if (stmt->GetOperand1()->GetOperandType() == OT_INT) {
+          mCode.AppendStatement(new MStatement(MOP_ADDI,
+                  new MOperand(MT_REGISTER, result_reg),
+                  new MOperand(MT_REGISTER, R_ZERO),
+                  new MOperand(MT_INT, stmt->GetOperand1()->GetIntValue()),
+                  "Assign constant integer"));
+        } else {
+          // find/associate operand symbol to a register
+          MRegisterType operand_reg = rManager.GetIntRegister(stmt->GetOperand1()->GetSymbol());
+          mCode.AppendStatement(new MStatement(MOP_MOVE,
+                  new MOperand(MT_REGISTER, result_reg),
+                  new MOperand(MT_REGISTER, operand_reg),
+                  "Assign integer"));
+        }
+        break;
+      }
+      case IOP_ASSIGN_R: // [1-r] Real assignment
+      {
+        // find/associate result symbol to a register
+        MRegisterType result_reg = rManager.GetFloatRegister(stmt->GetResult()->GetSymbol());
+
+        if (stmt->GetOperand1()->GetOperandType() == OT_REAL) {
+          mCode.AppendStatement(new MStatement(MOP_LI_S,
+                  new MOperand(MT_REGISTER, result_reg),
+                  new MOperand(MT_REAL, stmt->GetOperand1()->GetRealValue()),
+                  "Assign constant real"));
+        } else {
+          // find/associate operand symbol to a register
+          MRegisterType operand_reg = rManager.GetFloatRegister(stmt->GetOperand1()->GetSymbol());
+          mCode.AppendStatement(new MStatement(MOP_MOV_S,
+                  new MOperand(MT_REGISTER, result_reg),
+                  new MOperand(MT_REGISTER, operand_reg),
+                  "Assign real"));
+        }
+        break;
+
+      }
+        /* Branching
+          operand1  the first source operand
+          operand2  the second source operand
+          result    should refer to the target Symbol object; note that
+                    the Symbol pointed to must be of type ST_LABEL */
+      case IOP_BEQ_I: // [12r] = operator for integers
+      {
+        mCode.AppendStatement(BranchInstruction(MOP_BEQ, stmt));
+        break;
+      }
+      case IOP_BLT_I: // [12r] < operator for integers
+      {
+        mCode.AppendStatement(BranchInstruction(MOP_BLT, stmt));
+        break;
+      }
+      case IOP_BGT_I: // [12r] > operator for integers
+      {
+        mCode.AppendStatement(BranchInstruction(MOP_BGT, stmt));
+        break;
+      }
+      case IOP_BLE_I: // [12r] <= operator for integers
+      {
+        mCode.AppendStatement(BranchInstruction(MOP_BLE, stmt));
+        break;
+      }
+      case IOP_BGE_I: // [12r] >= operator for integers
+      {
+        mCode.AppendStatement(BranchInstruction(MOP_BGE, stmt));
+        break;
+      }
+      case IOP_BNE_I: // [12r] <> operator for integers
+      {
+        mCode.AppendStatement(BranchInstruction(MOP_BNE, stmt));
+        break;
+      }
+      case IOP_BEQ_R: // [12r] = operator for reals
+      {
+        mCode.AppendStatement(BranchInstructionReal(MOP_C_EQ_S, stmt));
+        mCode.AppendStatement(new MStatement(MOP_BCZT,
+                new MOperand(MT_LABEL, RESULT_NAME_C_STR(stmt))));
+        break;
+      }
+      case IOP_BLT_R: // [12r] < operator for reals
+      {
+        mCode.AppendStatement(BranchInstructionReal(MOP_C_LT_S, stmt));
+        mCode.AppendStatement(new MStatement(MOP_BCZT,
+                new MOperand(MT_LABEL, RESULT_NAME_C_STR(stmt))));
+        break;
+      }
+      case IOP_BGT_R: // [12r] > operator for reals
+      {
+        /* Use reverse style not (<=) */
+        mCode.AppendStatement(BranchInstructionReal(MOP_C_LT_S, stmt, true));
+        mCode.AppendStatement(new MStatement(MOP_BCZT,
+                new MOperand(MT_LABEL, RESULT_NAME_C_STR(stmt))));
+        break;
+      }
+      case IOP_BLE_R: // [12r] <= operator for reals
+      {
+        mCode.AppendStatement(BranchInstructionReal(MOP_C_LE_S, stmt));
+        mCode.AppendStatement(new MStatement(MOP_BCZT,
+                new MOperand(MT_LABEL, RESULT_NAME_C_STR(stmt))));
+        break;
+      }
+      case IOP_BGE_R: // [12r] >= operator for reals
+      {
+        mCode.AppendStatement(BranchInstructionReal(MOP_C_LE_S, stmt, true));
+        mCode.AppendStatement(new MStatement(MOP_BCZF,
+                new MOperand(MT_LABEL, RESULT_NAME_C_STR(stmt))));
+        break;
+      }
+      case IOP_BNE_R: // [12r] <> operator for reals
+      {
+        mCode.AppendStatement(BranchInstructionReal(MOP_C_EQ_S, stmt));
+        mCode.AppendStatement(new MStatement(MOP_BCZF,
+                new MOperand(MT_LABEL, RESULT_NAME_C_STR(stmt))));
+        break;
+      }
+
+        /* Binary arithmetic operators
+           operand1  the first source operand
+           operand2  the second source operand
+           result    the destination operand (refers to a Symbol object) */
+      case IOP_ADD_I: // [12r] Integer addition
+      {
+        mCode.AppendStatement(BinaryArithmetic(MOP_ADD, stmt, "Add integers"));
+        break;
+      }
+      case IOP_ADD_R: // [12r] Real addition
+      {
+        mCode.AppendStatement(BinaryArithmetic(MOP_ADD_S, stmt, "Add reals"));
+        break;
+      }
+      case IOP_SUB_I: // [12r] Integer substraction
+      {
+        mCode.AppendStatement(BinaryArithmetic(MOP_SUB, stmt, "Subtract integer"));
+        break;
+      }
+      case IOP_SUB_R: // [12r] Real substraction
+      {
+        mCode.AppendStatement(BinaryArithmetic(MOP_SUB_S, stmt, "Subtract reals"));
+        break;
+      }
+      case IOP_MUL_I: // [12r] Integer multiplication
+      {
+        mCode.AppendStatement(BinaryArithmetic(MOP_MUL, stmt, "Multiply integers"));
+        break;
+      }
+      case IOP_MUL_R: // [12r] Real multiplication
+      {
+        mCode.AppendStatement(BinaryArithmetic(MOP_MUL_S, stmt, "Multiply reals"));
+        break;
+      }
+      case IOP_DIV_I: // [12r] Integer division
+      {
+        mCode.AppendStatement(BinaryArithmetic(MOP_DIV, stmt, "Divide integers"));
+        break;
+      }
+      case IOP_DIV_R: // [12r] Real division
+      {
+        mCode.AppendStatement(BinaryArithmetic(MOP_DIV_S, stmt, "Divide reals"));
+        break;
+      }
+      case IOP_MOD: // [12r] Modulo
+      {
+        mCode.AppendStatement(BinaryArithmetic(MOP_REM, stmt, "Remainder"));
+        break;
+      }
+      case IOP_AND: // [12r] AND operation
+      {
+        mCode.AppendStatement(BinaryArithmetic(MOP_AND, stmt, "Bitwise and"));
+        break;
+      }
+      case IOP_OR: // [12r] OR operation
+      {
+        mCode.AppendStatement(BinaryArithmetic(MOP_OR, stmt, "Bitwise or"));
+        break;
+      }
+
+        /* Unary arithmetic operators
+           operand1  the source operand
+           result    the destination operand (refers to a Symbol object) */
+      case IOP_NOT: // [1-r] NOT operation
+      {
+        mCode.AppendStatement(UnaryArithmetic(MOP_NOT, stmt, "Bitwise not"));
+        break;
+      }
+      case IOP_UNARY_MINUS_I: // [1-r] Unary integer minus
+      {
+        mCode.AppendStatement(UnaryArithmetic(MOP_NEG, stmt, "Negate integer"));
+        break;
+      }
+      case IOP_UNARY_MINUS_R: // [1-r] Unary real minus
+      {
+        mCode.AppendStatement(UnaryArithmetic(MOP_NEG_S, stmt, "Negate real"));
+        break;
+      }
+        /* Coercion
+           operand1  the source operand
+           result    the destination operand (refers to a Symbol object) */
+      case IOP_INT_TO_REAL: // [1-r] Int to Real coercion
+      {
+        MRegisterType dest_reg = rManager.GetFloatRegister(stmt->GetResult()->GetSymbol());
+        if (stmt->GetOperand1()->GetOperandType() == OT_INT) {
+          // just add constant
+          float value = stmt->GetOperand1()->GetIntValue();
+          mCode.AppendStatement(new MStatement(MOP_LI_S,
+                  new MOperand(MT_REGISTER, dest_reg),
+                  new MOperand(MT_REAL, value),
+                  "Coerce constant from int to real"));
+        } else {
+          // load integer into register and load it into floating point register
+          MRegisterType source_reg = rManager.GetIntRegister(stmt->GetOperand1()->GetSymbol());
+          mCode.AppendStatement(new MStatement(MOP_MTC1,
+                  new MOperand(MT_REGISTER, source_reg),
+                  new MOperand(MT_REGISTER, dest_reg),
+                  "Coerce from int to real"));
+          // convert integer to float
+          mCode.AppendStatement(new MStatement(MOP_CVT_S_W,
+                  new MOperand(MT_REGISTER, dest_reg),
+                  new MOperand(MT_REGISTER, dest_reg)));
+        }
+        break;
+      }
+      default:
+        fprintf(stderr,
+                "[CodeGenerator::GenerateCode()] Unhandled intermediate operator '%s'\n",
+                IOperatorToString(stmt->GetOperator())
+                );
+    }
+  }
+}
+
+MOperand * CodeGenerator::IOperand2MOperand(IOperand * opnd) {
+  MOperand *retVal;
+  MRegisterType freeRegister;
+  switch (opnd->GetOperandType()) {
+    case OT_SYMBOL:
+    {
+      MRegisterType tmpReg = rManager.GetRegister(opnd->GetSymbol());
+      retVal = new MOperand(MT_REGISTER, tmpReg);
+      break;
+    }
+    case OT_INT:
+    {
+      freeRegister = rManager.GetTempRegister();
+      mCode.AppendStatement(new MStatement(MOP_ADDI,
+              new MOperand(MT_REGISTER, freeRegister),
+              new MOperand(MT_REGISTER, R_ZERO),
+              new MOperand(MT_INT, opnd->GetIntValue())));
+
+      retVal = new MOperand(MT_REGISTER, freeRegister);
+      break;
+    }
+    case OT_REAL:
+    {
+      freeRegister = rManager.GetTempRegister();
+      mCode.AppendStatement(new MStatement(MOP_LI_S,
+              new MOperand(MT_REGISTER, freeRegister),
+              new MOperand(MT_REAL, opnd->GetRealValue())));
+
+      retVal = new MOperand(MT_REGISTER, freeRegister);
+      break;
+    }
+    default:
+      /* XXX: Should not happen */
+      break;
+  }
+  return (retVal);
+}
+
+// Generates a trailer
+
+/* Stack Pointer template */
+MStatement * CodeGenerator::StackPointerChange(int offset,
+        const char * comment) {
+  MOperand *mop1 = new MOperand(MT_REGISTER, R_SP);
+  MOperand *mop2 = new MOperand(MT_REGISTER, R_SP);
+  MOperand *mop3 = new MOperand(MT_INT, offset);
+  return (new MStatement(MOP_ADDI, mop1, mop2, mop3, comment));
+}
+
+/* Unary Artithmetic template */
+MStatement * CodeGenerator::UnaryArithmetic(MOperator opcode, IStatement *stmt,
+        const char * comment) {
+  MOperand *mop1 = IOperand2MOperand(stmt->GetResult());
+  MOperand *mop2 = IOperand2MOperand(stmt->GetOperand1());
+
+  return (new MStatement(opcode, mop1, mop2, comment));
+}
+
+/* Binary Artithmetic template */
+MStatement * CodeGenerator::BinaryArithmetic(MOperator opcode, IStatement *stmt,
+        const char * comment) {
+  MOperand *mop1 = IOperand2MOperand(stmt->GetResult());
+  MOperand *mop2 = IOperand2MOperand(stmt->GetOperand1());
+  MOperand *mop3 = IOperand2MOperand(stmt->GetOperand2());
+
+  return (new MStatement(opcode, mop1, mop2, mop3, comment));
+
+}
+
+/* Branch Instruction with Int values template */
+MStatement * CodeGenerator::BranchInstruction(MOperator opcode, IStatement *stmt,
+        bool swap, const char * comment) {
+  MOperand *mop1 = IOperand2MOperand(stmt->GetOperand1());
+  MOperand *mop2 = IOperand2MOperand(stmt->GetOperand2());
+  MOperand *mop3 = new MOperand(MT_LABEL, stmt->GetResult()->GetSymbol()->GetName());
+
+  /* changing control flow so write back all registers */
+  rManager.SpillAll();
+
+  if (swap)
+    return (new MStatement(opcode, mop1, mop2, mop3, comment));
+  else
+    return (new MStatement(opcode, mop2, mop1, mop3, comment));
+}
+
+/* Branch Instruction with Real values temlate */
+MStatement * CodeGenerator::BranchInstructionReal(MOperator opcode, IStatement *stmt,
+        bool swap, const char * comment) {
+  MOperand *mop1 = IOperand2MOperand(stmt->GetOperand1());
+  MOperand *mop2 = IOperand2MOperand(stmt->GetOperand2());
+  if (swap)
+    return (new MStatement(opcode, mop1, mop2, comment));
+  else
+    return (new MStatement(opcode, mop2, mop1, comment));
+}
+
+void CodeGenerator::Dump(FILE * out) {
+  mCode.Dump(out);
+  fprintf(out, "\n");
+}
+
+void CodeGenerator::GenerateTrailer(FILE *) {
+  /* readinteger: syscall code 5, integer in $v0
+   * General idea: init, set syscall value, call syscall, save value
+   */
+  {
+    mCode.AppendStatement(new MStatement(MOP_ENT,
+            new MOperand(MT_LABEL, string(SYMBOL_PREFIX) + string("readinteger")),
+            "Start of builtin functions and procedures"));
+
+    MStatement *stmt = new MStatement(MOP_LABEL);
+    stmt->SetLabel(string(SYMBOL_PREFIX) + string("readinteger"));
+    mCode.AppendStatement(stmt);
+
+    mCode.AppendStatement(new MStatement(MOP_ADDI,
+            new MOperand(MT_REGISTER, R_V0),
+            new MOperand(MT_REGISTER, R_ZERO),
+            new MOperand(MT_INT, 5)));
+
+    mCode.AppendStatement(new MStatement(MOP_SYSCALL));
+
+    mCode.AppendStatement(new MStatement(MOP_JR,
+            new MOperand(MT_REGISTER, R_RA)));
+
+    mCode.AppendStatement(new MStatement(MOP_END,
+            new MOperand(MT_LABEL, string(SYMBOL_PREFIX) + string("readinteger"))));
+  }
+
+  /* writeinteger: syscall code 1, integer in $a0
+   * General idea: init, set syscall value, ,set value, call syscall
+   */
+  {
+    mCode.AppendStatement(new MStatement(MOP_ENT,
+          new MOperand(MT_LABEL, string(SYMBOL_PREFIX) + string("writeinteger"))));
+
+    MStatement *stmt = new MStatement(MOP_LABEL);
+    stmt->SetLabel(string(SYMBOL_PREFIX) + string("writeinteger"));
+    mCode.AppendStatement(stmt);
+
+    mCode.AppendStatement(new MStatement(MOP_LW,
+            new MOperand(MT_REGISTER, R_A0),
+            new MOperand(MT_OFFSET, R_SP, 4)));
+
+    mCode.AppendStatement(new MStatement(MOP_ADDI,
+            new MOperand(MT_REGISTER, R_V0),
+            new MOperand(MT_REGISTER, R_ZERO),
+            new MOperand(MT_INT, 1)));
+
+    mCode.AppendStatement(new MStatement(MOP_SYSCALL));
+
+    mCode.AppendStatement(StackPointerChange(4));
+
+    mCode.AppendStatement(new MStatement(MOP_JR,
+            new MOperand(MT_REGISTER, R_RA)));
+
+    mCode.AppendStatement(new MStatement(MOP_END,
+            new MOperand(MT_LABEL, string(SYMBOL_PREFIX) + string("writeinteger"))));
+  }
+
+  /* readreal: syscall code 6, float in $f0
+   * General idea: init, set syscall value, call syscall, save value
+   */
+  {
+    mCode.AppendStatement(new MStatement(MOP_ENT,
+            new MOperand(MT_LABEL, string(SYMBOL_PREFIX) + string("readreal"))));
+
+    MStatement *stmt = new MStatement(MOP_LABEL);
+    stmt->SetLabel(string(SYMBOL_PREFIX) + string("readreal"));
+    mCode.AppendStatement(stmt);
+
+    mCode.AppendStatement(new MStatement(MOP_ADDI,
+            new MOperand(MT_REGISTER, R_V0),
+            new MOperand(MT_REGISTER, R_ZERO),
+            new MOperand(MT_INT, 6)));
+
+    mCode.AppendStatement(new MStatement(MOP_SYSCALL));
+
+    mCode.AppendStatement(new MStatement(MOP_JR,
+            new MOperand(MT_REGISTER, R_RA)));
+
+    mCode.AppendStatement(new MStatement(MOP_END,
+            new MOperand(MT_LABEL, string(SYMBOL_PREFIX) + string("readreal"))));
+  }
+
+  /* writereal: syscall code 2, float in $f12
+   * General idea: init, set syscall value, ,set value, call syscall
+   */
+  {
+    mCode.AppendStatement(new MStatement(MOP_ENT,
+          new MOperand(MT_LABEL, string(SYMBOL_PREFIX) + string("writereal"))));
+
+    MStatement *stmt = new MStatement(MOP_LABEL);
+    stmt->SetLabel(string(SYMBOL_PREFIX) + string("writereal"));
+    mCode.AppendStatement(stmt);
+
+    mCode.AppendStatement(new MStatement(MOP_L_S,
+            new MOperand(MT_REGISTER, R_F12),
+            new MOperand(MT_OFFSET, R_SP, 4)));
+
+    mCode.AppendStatement(new MStatement(MOP_ADDI,
+            new MOperand(MT_REGISTER, R_V0),
+            new MOperand(MT_REGISTER, R_ZERO),
+            new MOperand(MT_INT, 2)));
+
+    mCode.AppendStatement(new MStatement(MOP_SYSCALL));
+
+    mCode.AppendStatement(StackPointerChange(4));
+
+    mCode.AppendStatement(new MStatement(MOP_JR,
+            new MOperand(MT_REGISTER, R_RA)));
+
+    mCode.AppendStatement(new MStatement(MOP_END,
+            new MOperand(MT_LABEL, string(SYMBOL_PREFIX) + string("writereal"))));
+  }
+}
Index: /liacs/coco/assignment4/CodeGenerator.h
===================================================================
--- /liacs/coco/assignment4/CodeGenerator.h	(revision 2)
+++ /liacs/coco/assignment4/CodeGenerator.h	(revision 2)
@@ -0,0 +1,60 @@
+/*
+ * CodeGenerator.h - Declaration of the CodeGenerator class
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ */
+
+#ifndef _CODEGENERATOR_H_
+#define _CODEGENERATOR_H_
+
+#include <cstdio>
+#include "SymbolTable.h"
+#include "IntermediateCode.h"
+#include "StackFrameManager.h"
+#include "RegisterManager.h"
+// This class handles the assembly code generation. Extend it to your own
+// needs.
+class CodeGenerator {
+public:
+  // Constructor
+  CodeGenerator();
+
+  // Destructor
+  ~CodeGenerator();
+
+  // Dump generated output
+  void Dump(FILE * out);
+
+  // Generates a header
+  void GenerateHeader(FILE * out);
+
+  // Generates the declarations for the global variables
+  void GenerateGlobalDecls(FILE * out, SymbolTable * symtab);
+
+  // Takes an IntermediateCode object and emits MIPS assembly instructions
+  void GenerateCode(FILE * out, SymbolTable * symtab, IntermediateCode * inputCode);
+
+  // Generates a trailer
+  void GenerateTrailer(FILE * out);
+
+private:
+  MOperand *IOperand2MOperand(IOperand *opnd);
+  MStatement *BinaryArithmetic(MOperator opcode, IStatement *stmt,
+          const char * comment = "Binary Arithmetic");
+  MStatement *BranchInstruction(MOperator opcode, IStatement *stmt,
+          bool swap  = false, const char * comment = "Branch Instruction Int");
+  MStatement *BranchInstructionReal(MOperator opcode, IStatement *stmt,
+          bool swap  = false, const char * comment = "Branch Instruction Real");
+  MStatement *UnaryArithmetic(MOperator opcode, IStatement *stmt,
+          const char * comment = "UnaryArithmetic");
+  MStatement *StackPointerChange(int offset, const char * comment = NULL);
+
+
+  // The current stack frame:
+  AssemblerCode mCode;
+  StackFrameManager currentFrame;
+  RegisterManager rManager;
+};
+
+#endif
Index: /liacs/coco/assignment4/DOCUMENTATION.txt
===================================================================
--- /liacs/coco/assignment4/DOCUMENTATION.txt	(revision 2)
+++ /liacs/coco/assignment4/DOCUMENTATION.txt	(revision 2)
@@ -0,0 +1,225 @@
+= INTRODUCTION =
+
+Welcome reader,
+
+You will find our solution on assignment 4 of Compiler Constructions 2008
+given at LIACS University. First we will give you a grand overview of the files
+altered, next we will bullet point the most important design decisions. After that
+an example is shown.
+
+And the grand finale will show the usage of the program.
+
+Enjoy!
+Johan and Rick <hvdzwet@liacs.nl>
+
+= FILES EDITED/ADDED =
+A globals.h            = Some global definitions
+A MOperand.cc          = Represents a operand for a MIPS statement
+A MOperator.cc         = Represents a MIPS operator/opcode
+A MStatement.cc        = Represents MIPS statements
+E StackFrameManager.cc = Manages the stack frame
+A RegisterManager.cc
+E CodeGenerator.cc
+E main.cc              = Main program function, argument parsing
+
+= DESIGN DECISIONS =
+*  Added a register manager to keep track of what symbols are associated with what
+   registers. The register manager also loads the register if it's new and writes
+   it back to memory.
+
+* The current implementation for spilling a register is to select a random one. Also
+  all registers are written back before a function call, before the end of a
+  function and before jumps and branches. This can be optimized in the next assignment.
+
+* We prefix all the symbol names with "__" to prevent name clashes with MIPS
+  assembly instructions.
+
+* Register $V0 is used for integer function return values and $f0 for real
+  return values.
+
+* Register $V1 is used for expressions
+
+* Registers $A0, $A1, $A2 and $A3 do not have to be gotten through the RegisterManager
+  and can thus be used as temporaries inside a known code block while generating code.
+
+* The stack pointer $sp points to the last used word on the stack. We generate code
+  that assumes it's pointing to the first free word. Therefore the stack is increased
+  by one word in main before calling the program body.
+
+* The stack frame layout is as follows:
+        ^                ^
+        |                |
+  $fp + 8         second parameter
+  $fp + 4         first parameter
+  $fp + 0         return address
+  $fp - 4         previous frame pointer
+  $fp - 8         return value
+  $fp - 12        first local variable
+  $fp - 16        second local variable
+        |                |
+        v                v
+
+* We created a framework for Assembly code, model-ed after the intermediate code
+  framework. This was done to separate the generation of the output file from
+  generation of the code. It can also later be used to implement further
+  optimizations on the MIPS assembly code.
+
+= SAMPLE GENERATED CODE =
+C01) program example;
+C02)
+C03) var x, y, z: integer;
+C04) function foo(a,b: integer): integer;
+C05) begin
+C06)   foo := 1
+C07) end;
+C08)
+C09) begin
+C10)     x := readinteger;
+C11)     y := 20;
+C12)     z := x + 20;
+C13)     z := z + foo(0,0)
+C14) end.
+
+     1  ## Output generated by ./comp @ kubuntu-desktop
+     2  ## Thu Nov 20 14:30:48 2008
+     3
+     4  ## Compiler Construction Course - Leiden University - LIACS
+     5  ## Johan IJsveld - Rick van der Zwet
+     6  ## BSD Licenced
+     7
+     8          .data           # Global data section
+     9          .align  4
+    10  __x:
+    11          .word   0
+    12  __y:
+    13          .word   0
+    14  __z:
+    15          .word   0
+    16
+    17          .text           # Code section
+    18          .align  4
+    19          .globl  main
+    20
+    21          .ent    main
+    22  main:
+    23          addi    $sp, $sp, -4
+    24          jal     __example               # Jump to program body
+    25          addi    $sp, $sp, 4
+    26          addi    $v0, $0, 10             # Exit system call
+    27          syscall
+    28          .end    main
+    29
+    30          .ent    __example
+    31  __example:
+    32          sw      $ra, 0($sp)             # Set up stack frame
+    33          sw      $fp, -4($sp)
+    34          move    $fp, $sp
+    35          addi    $sp, $sp, -28
+    36          jal     __readinteger
+    37          lw      $t0, -12($fp)           # Load integer Register
+    38          move    $t0, $v0                # Store integer function result
+    39          lw      $t1, __x                # Load integer Register
+    40          move    $t1, $t0                # Assign integer
+    41          lw      $t2, __y                # Load integer Register
+    42          addi    $t2, $0, 20             # Assign constant integer
+    43          lw      $t3, -16($fp)           # Load integer Register
+    44          addi    $a0, $0, 20
+    45          add     $t3, $t1, $a0           # Add integers
+    46          lw      $t4, __z                # Load integer Register
+    47          move    $t4, $t3                # Assign integer
+    48          addi    $v1, $0, 0              # Push constant integer parameter
+    49          sw      $v1, 0($sp)
+    50          addi    $sp, $sp, -4
+    51          addi    $v1, $0, 0              # Push constant integer parameter
+    52          sw      $v1, 0($sp)
+    53          addi    $sp, $sp, -4
+    54          sw      $t0, -12($fp)           # Write back integer register
+    55          sw      $t1, __x                # Write back integer register
+    56          sw      $t2, __y                # Write back integer register
+    57          sw      $t3, -16($fp)           # Write back integer register
+    58          sw      $t4, __z                # Write back integer register
+    59          jal     __foo
+    60          lw      $t0, -20($fp)           # Load integer Register
+    61          move    $t0, $v0                # Store integer function result
+    62          lw      $t1, -24($fp)           # Load integer Register
+    63          lw      $t2, __z                # Load integer Register
+    64          add     $t1, $t2, $t0           # Add integers
+    65          move    $t2, $t1                # Assign integer
+    66          sw      $t0, -20($fp)           # Write back integer register
+    67          sw      $t1, -24($fp)           # Write back integer register
+    68          sw      $t2, __z                # Write back integer register
+    69          lw      $ra, 0($fp)             # Return from call
+    70          lw      $fp, -4($fp)
+    71          addi    $sp, $sp, 28
+    72          jr      $ra
+    73          .end    __example
+    74
+    75          .ent    __foo
+    76  __foo:
+    77          sw      $ra, 0($sp)             # Set up stack frame
+    78          sw      $fp, -4($sp)
+    79          move    $fp, $sp
+    80          addi    $sp, $sp, -12
+    81          lw      $t0, -8($fp)            # Load integer Register
+    82          addi    $t0, $0, 1              # Assign constant integer
+    83          sw      $t0, -8($fp)            # Write back integer register
+    84          lw      $t0, -8($fp)            # Load integer Register
+    85          move    $v0, $t0                # Store integer return value
+    86          lw      $ra, 0($fp)             # Return from call
+    87          lw      $fp, -4($fp)
+    88          addi    $sp, $sp, 20
+    89          jr      $ra
+    90          .end    __foo
+    91
+    92          .ent    __readinteger           # Start of builtin functions and procedures
+    93  __readinteger:
+    94          addi    $v0, $0, 5
+    95          syscall
+    96          jr      $ra
+    97          .end    __readinteger
+    98
+    99          .ent    __writeinteger
+   100  __writeinteger:
+   101          lw      $a0, 4($sp)
+   102          addi    $v0, $0, 1
+   103          syscall
+   104          addi    $sp, $sp, 4
+   105          jr      $ra
+   106          .end    __writeinteger
+   107
+   108          .ent    __readreal
+   109  __readreal:
+   110          addi    $v0, $0, 6
+   111          syscall
+   112          jr      $ra
+   113          .end    __readreal
+   114
+   115          .ent    __writereal
+   116  __writereal:
+   117          l.s     $f12, 4($sp)
+   118          addi    $v0, $0, 2
+   119          syscall
+   120          addi    $sp, $sp, 4
+   121          jr      $ra
+   122          .end    __writereal
+   123
+
+Lines 8 through 16 shows the space for globals being reserved.
+Lines 21 through 28 is the main function calling the program body and doing a syscall to exit.
+Lines 30 through 73 is the program body code.
+Lines 75 through 90 is the function foo, where on lines 77 through 80 the stack
+frame is set up. In lines 81 through 85 the return value 1 is stored on the stack
+and then put in the return register $v0.
+On line 86 and line 87, $ra and the old $fp are restored. The stack is shrunk back again,
+including parameters, on line 88 and on line 89 is the jump back from where the call was made.
+After line 92 are the builtin functions.
+
+= USAGE =
+# Compile
+$ make first
+$ make
+# Call without optimalisation
+$ ./comp -w -00 <testfile
+# Call with optimalisation
+$ ./comp -w -01 <testfile
+The resultant MIPS assembly is stored in the file "out.s".
Index: /liacs/coco/assignment4/ICGenerator.cc
===================================================================
--- /liacs/coco/assignment4/ICGenerator.cc	(revision 2)
+++ /liacs/coco/assignment4/ICGenerator.cc	(revision 2)
@@ -0,0 +1,48 @@
+/*
+ * ICGenerator.cc - Implementation of the ICGenerator class
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ */
+
+#include <sstream>
+#include "ICGenerator.h"
+
+// Constructor
+ICGenerator::ICGenerator() {
+  tempvarIndex = 0;
+  labelIndex = 0;
+  symtab = NULL;
+  tree = NULL;
+}
+
+
+// Destructor
+ICGenerator::~ICGenerator() {
+}
+
+
+// Preprocesses the syntax tree; this method is called before
+// GenerateIntermediateCode() if optimizations are enabled
+void ICGenerator::Preprocess (SyntaxTree * tree, SymbolTable * symtab) {
+  this->symtab = symtab;
+  this->tree = tree;
+  
+  // For assignment 5, this function might be a suitable point where you can
+  // apply some optimizations to the syntax tree. For example, you can insert
+  // the optimization code you wrote for assignment 3.
+}
+
+
+
+// Postprocesses the intermediate code; this method is called after
+// GenerateIntermediateCode() if optimizations are enabled
+void ICGenerator::Postprocess (IntermediateCode * code, SymbolTable * symtab) {
+  this->symtab = symtab;
+  
+  // For assignment 5, this function might be a suitable point where you can
+  // apply some optimizations to the syntax tree. For example, you can insert
+  // the optimization code you wrote for assignment 3.
+}
+
+
Index: /liacs/coco/assignment4/ICGenerator.h
===================================================================
--- /liacs/coco/assignment4/ICGenerator.h	(revision 2)
+++ /liacs/coco/assignment4/ICGenerator.h	(revision 2)
@@ -0,0 +1,62 @@
+/*
+ * ICGenerator.h - Declaration of the ICGenerator class
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ */
+
+#ifndef _ICGENERATOR_H_
+#define _ICGENERATOR_H_
+
+#include "SyntaxTree.h"
+#include "SymbolTable.h"
+#include "IntermediateCode.h"
+
+
+// This class handles the intermediate code generation. Extend it to your own
+// needs. Do not remove any of the predefined methods or members.
+class ICGenerator {
+  public:
+    // Constructor
+    ICGenerator();
+
+    // Destructor
+    ~ICGenerator();
+
+    // Preprocesses the syntax tree; this method is called before
+    // GenerateIntermediateCode() if optimizations are enabled
+    void Preprocess (SyntaxTree * tree, SymbolTable * symtab);
+
+    // Takes a SyntaxTree and converts it into an IntermediateCode structure
+    IntermediateCode * GenerateIntermediateCode (SyntaxTree * inputTree, SymbolTable * symtab);
+
+    // Postprocesses the intermediate code; this method is called after
+    // GenerateIntermediateCode() if optimizations are enabled
+    void Postprocess (IntermediateCode * code, SymbolTable * symtab);
+
+  private:
+
+    // Internal functions
+    IOperand*ProcessTree(IntermediateCode*,Node*);
+    void ProcessParamlist(IntermediateCode*,Node*);
+    IStatement*ProcessBoolExpr(IntermediateCode*,Node*,Symbol*);
+    void ReverseBranchCondition(IStatement*);
+    Symbol*GenerateTempVar(ReturnType);
+    Symbol*GenerateLabelSymbol();
+    IStatement*GenerateLabel(IntermediateCode*,Symbol*);
+
+    // Internal variables
+    unsigned int tempvarIndex;
+    unsigned int labelIndex;
+
+    // Pointer to the symbol table
+    SymbolTable * symtab;
+
+    // Pointer to the tree
+    SyntaxTree * tree;
+
+    // <insert your own private members and methods>
+
+};
+
+#endif
Index: /liacs/coco/assignment4/IOperand.h
===================================================================
--- /liacs/coco/assignment4/IOperand.h	(revision 2)
+++ /liacs/coco/assignment4/IOperand.h	(revision 2)
@@ -0,0 +1,139 @@
+/*
+ * IOperand.h - Declaration of the IOperand abstract data structure
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ *
+ * This file provides three different objects:
+ *   - IOperand_Int
+ *   - IOperand_Real
+ *   - IOperand_Symbol
+ * You can instantiate these objects using a constructor, for example:
+ *   IOperand * myOperand = new IOperand_Int(42);
+ * This creates an IOperand_Int object containing the value 42.
+ *
+ * Note that deleting an IOperand_Symbol does not lead to a deletion of its
+ * Symbol object.
+ */
+
+#ifndef _IOPERAND_H_
+#define _IOPERAND_H_
+
+#include "Symbol.h"
+
+// The type of an operand
+typedef enum __ioperandtype {
+  OT_UNKNOWN,               // Unknown (yet)
+  OT_INT,                   // Integer immediate
+  OT_REAL,                  // Real immediate
+  OT_SYMBOL                 // Symbol object
+} IOperandType;
+
+
+
+// Operand of an IStatement
+class IOperand {
+  public:
+    // Constructor/destructor
+    IOperand();
+    virtual ~IOperand();
+    virtual IOperand * Clone() =0;
+    
+    // Get operand type
+    IOperandType GetOperandType();
+    
+    // Set operand type
+    void SetOperandType(IOperandType type);
+    
+    // Empty virtuals
+    virtual int GetIntValue();
+    virtual void SetIntValue(int newvalue);
+    virtual float GetRealValue();
+    virtual void SetRealValue(float newvalue);
+    virtual Symbol *GetSymbol();
+    virtual void SetSymbol(Symbol *sym);
+    
+    // Dump
+    virtual void Dump(FILE *file)               =0;
+   
+  private:
+    IOperandType optype;
+};
+
+
+// Integer operand
+class IOperand_Int: public IOperand {
+  public:
+    // Constructor/destructor
+    IOperand_Int();
+    IOperand_Int(int newvalue);
+    ~IOperand_Int();
+    
+    // Clone
+    virtual IOperand_Int * Clone();
+    
+    // Get the integer value
+    int GetIntValue();
+  
+    // Set the integer value
+    void SetIntValue(int newvalue);
+    
+    // Dump
+    void Dump(FILE *file);
+    
+  private:
+    int value;
+};
+
+
+// Real operand
+class IOperand_Real: public IOperand {
+  public:
+    // Constructor/destructor
+    IOperand_Real();
+    IOperand_Real(float newvalue);
+    ~IOperand_Real();
+    
+    // Clone
+    virtual IOperand_Real * Clone();
+    
+    // Get the float value
+    float GetRealValue();
+  
+    // Set the float value
+    void SetRealValue(float newvalue);
+    
+    // Dump
+    void Dump(FILE *file);
+    
+  private:
+    float value;
+};
+
+
+// Symbol operand
+class IOperand_Symbol: public IOperand {
+  public:
+    // Constructor/destructor
+    IOperand_Symbol();
+    IOperand_Symbol(Symbol * newsym);
+    ~IOperand_Symbol();
+    
+    // Clone
+    virtual IOperand_Symbol * Clone();
+    
+    // Get the Symbol object
+    Symbol *GetSymbol();
+  
+    // Set the Symbol object
+    void SetSymbol(Symbol *sym);
+    
+    // Dump
+    void Dump(FILE *file);
+    
+  private:
+    Symbol *symbol;
+};
+
+
+#endif
Index: /liacs/coco/assignment4/IOperator.h
===================================================================
--- /liacs/coco/assignment4/IOperator.h	(revision 2)
+++ /liacs/coco/assignment4/IOperator.h	(revision 2)
@@ -0,0 +1,113 @@
+/*
+ * IOperator.h - Declaration of the IOperator enum type
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ */
+
+#ifndef _IOPERATOR_H_
+#define _IOPERATOR_H_
+
+// Operator of an IStatement
+// Several conventions are used. First, operators that deal with integers have
+// a _I suffix. Operators that deal with reals have a _R suffix. When there is
+// no real-type equivalent for a certain operator (e.g., the modulo operator),
+// no suffix is added.
+// Second, each IOperator has a signature, which is specified between brackets,
+// e.g. [1-r] or [12r]. This signature indicates which of the operand1,
+// operand2 and result fields have to be filled in. For each (class of)
+// IOperators, a more elaborate description about what has to be filled in is
+// given below.
+
+typedef enum __ioperator {
+  /* Meta */
+  IOP_UNKNOWN,             // [---] (yet) Unknown operation
+  
+  /* Subprogram entry
+     operand1  should refer to the corresponding Symbol_Subprogram object */
+  IOP_SUBPROG,             // [1--] Subprogram
+   
+  /* Subprogram return
+     operand1  should contain the value that has to be returned */
+  IOP_RETURN,              // [---] Procedure return
+  IOP_RETURN_I,            // [1--] Integer function return
+  IOP_RETURN_R,            // [1--] Real function return
+  
+  /* Parameter passing (caller side)
+     operand1  actual parameter value or Symbol object */
+  IOP_PARAM_I,             // [1--] Integer parameter
+  IOP_PARAM_R,             // [1--] Real parameter
+  
+  /* Subprogram call
+     operand1  should refer to the corresponding Symbol object
+     result    receives the result of a function call */
+  IOP_PROCCALL,            // [1--] Procedure call
+  IOP_FUNCCALL,            // [1-r] Function call
+  
+  /* Label
+     operand1  should refer to the corresponding Symbol object */
+  IOP_LABEL,               // [1--] Label
+  
+  /* Goto
+     operand1  should refer to the corresponding Symbol object; note that
+               the Symbol pointed to should be of type ST_LABEL */
+  IOP_GOTO,                // [1--] Goto a label
+  
+  /* Variable assignment (copy value)
+     operand1  the source operand
+     result    the destination operand (pointer to a Symbol object) */
+  IOP_ASSIGN_I,            // [1-r] Integer assignment
+  IOP_ASSIGN_R,            // [1-r] Real assignment
+  
+  /* Branching
+     operand1  the first source operand
+     operand2  the second source operand
+     result    should refer to the target Symbol object; note that
+               the Symbol pointed to must be of type ST_LABEL */
+  IOP_BEQ_I,               // [12r] = operator for integers
+  IOP_BLT_I,               // [12r] < operator for integers
+  IOP_BGT_I,               // [12r] > operator for integers
+  IOP_BLE_I,               // [12r] <= operator for integers
+  IOP_BGE_I,               // [12r] >= operator for integers
+  IOP_BNE_I,               // [12r] <> operator for integers
+  IOP_BEQ_R,               // [12r] = operator for reals
+  IOP_BLT_R,               // [12r] < operator for reals
+  IOP_BGT_R,               // [12r] > operator for reals
+  IOP_BLE_R,               // [12r] <= operator for reals
+  IOP_BGE_R,               // [12r] >= operator for reals
+  IOP_BNE_R,               // [12r] <> operator for reals
+  
+  /* Binary arithmetic operators
+     operand1  the first source operand
+     operand2  the second source operand
+     result    the destination operand (refers to a Symbol object) */
+  IOP_ADD_I,               // [12r] Integer addition
+  IOP_ADD_R,               // [12r] Real addition
+  IOP_SUB_I,               // [12r] Integer substraction
+  IOP_SUB_R,               // [12r] Real substraction
+  IOP_MUL_I,               // [12r] Integer multiplication
+  IOP_MUL_R,               // [12r] Real multiplication
+  IOP_DIV_I,               // [12r] Integer division
+  IOP_DIV_R,               // [12r] Real division
+  IOP_MOD,                 // [12r] Modulo
+  IOP_AND,                 // [12r] AND operation
+  IOP_OR,                  // [12r] OR operation
+  
+  /* Unary arithmetic operators
+     operand1  the source operand
+     result    the destination operand (refers to a Symbol object) */
+  IOP_NOT,                 // [1-r] NOT operation
+  IOP_UNARY_MINUS_I,       // [1-r] Unary integer minus
+  IOP_UNARY_MINUS_R,       // [1-r] Unary real minus
+  
+  /* Coercion
+     operand1  the source operand
+     result    the destination operand (refers to a Symbol object) */
+  IOP_INT_TO_REAL          // [1-r] Int to Real coercion
+} IOperator;
+
+
+char *IOperatorToString(IOperator op);
+
+
+#endif
Index: /liacs/coco/assignment4/IStatement.h
===================================================================
--- /liacs/coco/assignment4/IStatement.h	(revision 2)
+++ /liacs/coco/assignment4/IStatement.h	(revision 2)
@@ -0,0 +1,63 @@
+/*
+ * IStatement.h - Declaration of the IStatement abstract data structure
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ *
+ * Note that deleting an IStatement object will also delete the IOperand
+ * objects associated to it.
+ */
+
+#ifndef _ISTATEMENT_H_
+#define _ISTATEMENT_H_
+
+#include <cstdio>
+#include "IOperator.h"
+#include "IOperand.h"
+
+// A statement in the intermediate code (quadruple)
+class IStatement {
+  public:
+    // Constructors/destructor
+    IStatement();
+    IStatement(IOperator op);
+    IStatement(IOperator op, IOperand *opnd1, IOperand *opnd2, IOperand *res);
+    ~IStatement();
+    
+    // Get operator
+    IOperator GetOperator();
+    
+    // Set operator
+    void SetOperator(IOperator op);
+    
+    // Get operand 1
+    IOperand *GetOperand1();
+    
+    // Set operand 1
+    void SetOperand1(IOperand *operand);
+    
+    // Get operand 2
+    IOperand *GetOperand2();
+
+    // Set operand 2
+    void SetOperand2(IOperand *operand);
+    
+    // Get result operand
+    IOperand *GetResult();
+
+    // Set result operand
+    void SetResult(IOperand *operand);
+    
+    // Dump
+    void Dump(FILE *file, int indent);
+    
+  private:
+    IOperator ioperator;
+    IOperand *operand1;
+    IOperand *operand2;
+    IOperand *result;
+};
+
+
+
+#endif
Index: /liacs/coco/assignment4/IntermediateCode.h
===================================================================
--- /liacs/coco/assignment4/IntermediateCode.h	(revision 2)
+++ /liacs/coco/assignment4/IntermediateCode.h	(revision 2)
@@ -0,0 +1,58 @@
+/*
+ * IntermediateCode.h - Declaration of the IntermediateCode abstract data structure
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ *
+ * Note that deleting an IntermediateCode object will also delete all
+ * IStatement objects associated to it.
+ */
+
+#ifndef _INTERMEDIATECODE_H_
+#define _INTERMEDIATECODE_H_
+
+#include <cstdio>
+#include <vector>
+#include "IStatement.h"
+
+
+using namespace std;
+
+// This class stores a linear list of intermediate statements and provides
+// operations to modify that list.
+class IntermediateCode {
+  public:
+    // Constructor/destructor
+    IntermediateCode();
+    ~IntermediateCode();
+
+    // Gets the program name
+    string GetProgramName();
+
+    // Sets the program name
+    void SetProgramName(string name);
+
+    // Returns the number of statements
+    unsigned int GetStatementCount();
+   
+    // Gets the i-th statement
+    IStatement *GetStatement(unsigned int i);
+    
+    // Appends a statement
+    void AppendStatement(IStatement *stmt);
+    
+    // Inserts a statement before the i-th statement
+    void InsertStatement(IStatement *stmt, unsigned int i);
+    
+    // Removes the i-th statement
+    void RemoveStatement(unsigned int i);
+  
+    // Dump
+    void Dump(FILE *file);
+    
+  private:
+    string programName;
+    vector<IStatement*> statements;
+};
+
+#endif
Index: /liacs/coco/assignment4/MOperand.cc
===================================================================
--- /liacs/coco/assignment4/MOperand.cc	(revision 2)
+++ /liacs/coco/assignment4/MOperand.cc	(revision 2)
@@ -0,0 +1,114 @@
+#include "MOperand.h"
+
+using namespace std;
+
+MOperand::MOperand(MOperandType mtype, int value) {
+  MOperand::SetOperandType(mtype);
+  MOperand::SetIntValue(value);
+  MOperand::SetOffset(NO_OFFSET);
+}
+
+MOperand::MOperand(MOperandType mtype, float value) {
+  MOperand::SetOperandType(mtype);
+  MOperand::SetRealValue(value);
+  MOperand::SetOffset(NO_OFFSET);
+}
+
+MOperand::MOperand(MOperandType mtype, MRegisterType value) {
+  MOperand::SetOperandType(mtype);
+  MOperand::SetRegisterType(value);
+  MOperand::SetOffset(NO_OFFSET);
+}
+
+MOperand::MOperand(MOperandType mtype, string newLabel) {
+  MOperand::SetOperandType(mtype);
+  MOperand::SetOffset(NO_OFFSET);
+  label = newLabel;
+}
+
+MOperand::MOperand(MOperandType mtype, MRegisterType reg, int offset) {
+  MOperand::SetOperandType(mtype);
+  MOperand::SetRegisterType(reg);
+  MOperand::SetOffset(offset);
+}
+
+// Set operand type handling
+void MOperand::SetOperandType(MOperandType type) {
+  mType = type;
+}
+
+MOperandType MOperand::GetOperandType() const {
+  return (mType);
+}
+
+
+// constant value based
+
+int MOperand::GetIntValue() const {
+  return (iValue);
+}
+
+void MOperand::SetIntValue(int value) {
+  iValue = value;
+}
+
+float MOperand::GetRealValue() const {
+  return (rValue);
+}
+
+void MOperand::SetRealValue(float value) {
+  rValue = value;
+}
+
+// register entries
+
+void MOperand::SetRegisterNumber(int value) {
+  registerNumber = value;
+}
+
+int MOperand::GetRegisterNumber() const {
+  return registerNumber;
+}
+
+void MOperand::SetRegisterType(MRegisterType value) {
+  registerNumber = (int) value;
+}
+
+MRegisterType MOperand::GetRegisterType() const {
+  return ((MRegisterType) registerNumber);
+}
+
+void MOperand::SetOffset(int value) {
+  offset = value;
+
+}
+
+int MOperand::GetOffset() const {
+  return (offset);
+}
+
+void MOperand::SetAddress(int reg) {
+  address = reg;
+}
+
+void MOperand::SetAddress(MRegisterType reg) {
+  address = (int) reg;
+}
+
+int MOperand::GetAddress() const {
+  return (address);
+}
+
+void MOperand::SetLabel(string newLabel) {
+  label = newLabel;
+}
+
+string MOperand::GetLabel() const {
+  return (label);
+}
+
+// Dump
+
+void MOperand::Dump(FILE *file) {
+
+}
Index: /liacs/coco/assignment4/MOperand.h
===================================================================
--- /liacs/coco/assignment4/MOperand.h	(revision 2)
+++ /liacs/coco/assignment4/MOperand.h	(revision 2)
@@ -0,0 +1,86 @@
+/*
+ * File:   MOperand.h
+ * Author: rick
+ *
+ * Created on November 19, 2008, 1:17 AM
+ */
+
+#ifndef _MOPERAND_H
+#define	_MOPERAND_H
+
+#include <cstdio>
+#include "IOperand.h"
+#include "globals.h"
+#include <string>
+
+#define NO_OFFSET INT_MIN
+
+using namespace std;
+
+// The type of an operand
+typedef enum __moperandtype {
+    MT_UNKNOWN,               // Unknown (yet)
+    MT_INT,                   // Integer immediate
+    MT_REAL,                  // Real immediate
+    MT_LABEL,                 // Label name e.k.a. string
+    MT_REGISTER,              // Integer Register
+    MT_ADDRESS,               // Address operand
+    MT_OFFSET                 // Register + offset address
+} MOperandType;
+
+/* Do not use virtuals, just one mapping will do */
+class MOperand {
+   public:
+    // Constructor/destructor
+    MOperand(MOperandType mtype, int value);
+    MOperand(MOperandType mtype, float value);
+    MOperand(MOperandType mtype, MRegisterType value);
+    MOperand(MOperandType mtype, string newLabel);
+    MOperand(MOperandType mtype, MRegisterType reg, int offset);
+    ~MOperand();
+
+
+    // Set operand type handling
+    void SetOperandType(MOperandType type);
+    MOperandType GetOperandType() const;
+
+
+    // constant value based
+    int GetIntValue() const;
+    void SetIntValue(int value);
+    float GetRealValue() const;
+    void SetRealValue(float value);
+
+    // register entries
+    void SetRegisterNumber(int value);
+    int GetRegisterNumber() const;
+    void SetRegisterType(MRegisterType value);
+    MRegisterType GetRegisterType() const;
+
+
+    void SetOffset(int value);
+    int GetOffset() const;
+
+    void SetAddress(int value);
+    void SetAddress(MRegisterType value);
+
+    int GetAddress() const;
+
+    void SetLabel(string newLabel);
+    string GetLabel() const;
+
+    // Dump
+    void Dump(FILE *file);
+
+  private:
+    int iValue;
+    float rValue;
+    int registerNumber;
+    string label;
+    int offset;
+    int address;
+    MOperandType mType;
+ };
+
+#endif	/* _MOPERAND_H */
+
Index: /liacs/coco/assignment4/MOperator.cc
===================================================================
--- /liacs/coco/assignment4/MOperator.cc	(revision 2)
+++ /liacs/coco/assignment4/MOperator.cc	(revision 2)
@@ -0,0 +1,161 @@
+#include "MOperator.h"
+
+static const char * const operator_str[MOP_NOPERATORS] = {
+  "\n\t.ent",
+  ".end",
+  ".align",
+  ".ascii",
+  ".asciiz",
+  ".byte",
+  "\n\t.data",
+  ".double",
+  ".extern",
+  ".float",
+  ".globl",
+  ".half",
+  "\n\t.kdata",
+  "\n\t.ktext",
+  ".space",
+  "\n\t.text",
+  ".word",
+  "abs",
+  "add",
+  "addi",
+  "addu",
+  "addiu",
+  "and",
+  "andi",
+  "div2",
+  "div2u",
+  "div",
+  "divu",
+  "mul",
+  "mulo",
+  "mulou",
+  "mult",
+  "multu",
+  "neg",
+  "negu",
+  "nor",
+  "not",
+  "or",
+  "ori",
+  "rem",
+  "remu",
+  "rol",
+  "ror",
+  "sll",
+  "sllv",
+  "sra",
+  "srl",
+  "srlv",
+  "sub",
+  "subu",
+  "xor",
+  "xori",
+  "li",
+  "lui",
+  "seq",
+  "sge",
+  "sgeu",
+  "sgt",
+  "sgtu",
+  "sle",
+  "sleu",
+  "slt",
+  "slti",
+  "sltu",
+  "sltiu",
+  "sne",
+  "b",
+  "bczt",
+  "bczf",
+  "beq",
+  "beqz",
+  "bge",
+  "bgeu",
+  "bgez",
+  "bgezal",
+  "bgt",
+  "bgtu",
+  "bgtz",
+  "ble",
+  "bleu",
+  "blez",
+  "bltzal",
+  "blt",
+  "bltu",
+  "bltz",
+  "bne",
+  "bnez",
+  "j",
+  "jal",
+  "jr",
+  "la",
+  "lb",
+  "lbu",
+  "ld",
+  "lh",
+  "lhu",
+  "lw",
+  "lwcz",
+  "lwl",
+  "lwr",
+  "ulh",
+  "ulhu",
+  "ulw",
+  "sb",
+  "sd",
+  "sh",
+  "sw",
+  "swcz",
+  "swl",
+  "swr",
+  "ush",
+  "usw",
+  "move",
+  "mfhi",
+  "mtlo",
+  "mfc1",
+  "mfc1.d",
+  "mtc1",
+  "abs.d",
+  "abs.s",
+  "add.d",
+  "add.s",
+  "c.eq.d",
+  "c.eq.s",
+  "c.le.d",
+  "c.le.s",
+  "c.lt.d",
+  "c.lt.s",
+  "cvt.d.s",
+  "cvt.d.w",
+  "cvt.s.d",
+  "cvt.s.w",
+  "cvt.w.d",
+  "cvt.w.s",
+  "div.d",
+  "div.s",
+  "l.d",
+  "l.s",
+  "mov.d",
+  "mov.s",
+  "mul.d",
+  "mul.s",
+  "neg.d",
+  "neg.s",
+  "s.d",
+  "s.s",
+  "sub.d",
+  "sub.s",
+  "li.s",
+  "rfe",
+  "syscall",
+  "break",
+  "nop"
+};
+
+const char *MOperatorToString(MOperator op) {
+  return operator_str[op];
+}
Index: /liacs/coco/assignment4/MOperator.h
===================================================================
--- /liacs/coco/assignment4/MOperator.h	(revision 2)
+++ /liacs/coco/assignment4/MOperator.h	(revision 2)
@@ -0,0 +1,256 @@
+/*
+ * File:   MOperator.h
+ * Author: rick
+ *
+ * Created on November 19, 2008, 1:24 AM
+ */
+
+#ifndef _MOPERATOR_H
+#define	_MOPERATOR_H
+
+/* Needs including all available instruction types */
+typedef enum __moperator {
+  /* ASM directives */
+  MOP_ENT,
+  MOP_END,
+  MOP_ALIGN,
+  MOP_ASCII,
+  MOP_ASCIIZ,
+  MOP_BYTE,
+  MOP_DATA,
+  MOP_DOUBLE,
+  MOP_EXTERN,
+  MOP_FLOAT,
+  MOP_GLOBL,
+  MOP_HALF,
+  MOP_KDATA,
+  MOP_KTEXT,
+  MOP_SPACE,
+  MOP_TEXT,
+  MOP_WORD,
+
+  /* Arithmetic operators */
+
+  /* Absolute value     - abs Rdest, Rsrc
+     Put the absolute value of the integer from register Rsrc in register Rdest. */
+  MOP_ABS,
+  /* Addition with overflow                     - add Rdest, Rsrc1, Src2
+     Addition Immediate with overflow           - addi Rdest, Rsrc1, Imm
+     Addition with overflow                     - add Rdest, Rsrc1, Src2
+     Addition Immediate without overflow        - addi Rdest, Rsrc1, Imm
+     Put the sum of the integers from register Rscr1 and Src2 (or Imm) into register Rdest. */
+  MOP_ADD,
+  MOP_ADDI,
+  MOP_ADDU,
+  MOP_ADDIU,
+  /* and                - and Rdest, Rsrc1, Src2
+     and immediate      - andi Rdest, Rsrc1, Imm
+     Put the logical AND of the integers from register Rscr1and Sr2( or Imm) into register Rdest. */
+  MOP_AND,
+  MOP_ANDI,
+  /* Divide signed      - div Rsrc1, Rscr2
+     Divide unsigned    - divu Rscr1, Rscr2
+     Divide the contents of the two registers. Leave quotient in register lo and the remainder in register hi. */
+  MOP_DIV2,
+  MOP_DIV2U,
+  /* Divide signed      - div Rdest, Rsrc1, Rscr2
+     Divide unsigned    - divu Rdest, Rscr1, Rscr2
+     Divide the contents of the two registers. Leave quotient in register Rdest. */
+  MOP_DIV,
+  MOP_DIVU,
+  /* Multiply without overflow          - mul Rdest, Rsrc1, Rsrc2
+     Multiply with overflow             - mulo Rdest, Rsrc1, Rsrc2
+     Unsigned multiply with overflow    - mulou Rdest, Rsrc1, Rsrc2
+     Put the product of the integers from register Rscr1 and Rscr2 into register Rdest. */
+  MOP_MUL,
+  MOP_MULO,
+  MOP_MULOU,
+  /* Multiply           - mult Rsrc1, Rsrc2
+     Unsigned multiply  - multu Rsrc1, Rsrc2
+     Multiply the contents of the two registers. Leave the low-order word of the product in register lo an the high-word in register hi. */
+  MOP_MULT,
+  MOP_MULTU,
+  /* Negate value with overflow         - neg Rdest, Rsrc
+     Negate value without overflow      - negu Rdest, Rsrc
+     Put the negative of the integer from register Rsrc into Rdest. */
+  MOP_NEG,
+  MOP_NEGU,
+  /* NOR        - nor Rdest, Rsrc1, Rsrc2
+     Put the logical NOR of the integers from register Rsrc1 and Rscr2 into register Rdes. */
+  MOP_NOR,
+  /* NOT        - not Rdest, Rsrc
+     Put the bitwise logical negation of the integer from register Rscr into register Rdest. */
+  MOP_NOT,
+  /* OR                 - or Rdest, Rsrc1, Rsrc2
+     OR Immediate       - ori Rdest, Rsrc1, Imm
+     Put the logical OR of the integer from registe rRsrc1 and Rsrc2(or Imm) into register Rdest. */
+  MOP_OR,
+  MOP_ORI,
+  /* Remainder          - rem Rdest, Rsrc1, Rsrc2
+     Unsigned remainder - remu Rdest, Rsrc1, Rsrc2
+     Put the remainder from dividing Rsrc1 with the integer Rsrc2 into Rdest.
+     If an operand is negative the remainder is unspecified. */
+  MOP_REM,
+  MOP_REMU,
+  /* Rotate left        - rol Rdest, Rscr1, Src2
+     Rotate right       - ror Rdest, Rsrc1, Src2
+     Rotate the contents of register Rsrc by the distance indicated by Src2 and store in Rdest. */
+  MOP_ROL,
+  MOP_ROR,
+  /* Shift left logical                 - sll Rdest, Rsrc1, Src2
+     Shift left logical variable        - sllv Rdest, Rsrc1, Rsrc2
+     Shift right arithmetic             - sra Rdest, Rsrc1, src2
+     Shift right logical                - srl Rdest, Rsrc1, src2
+     Shift right variable               - srlv Rdest, Rsrc1, Rsrc2
+     Shift the contents of Rsrc1 by the distance in Src2 and put the result in Rdest. */
+  MOP_SLL,
+  MOP_SLLV,
+  MOP_SRA,
+  MOP_SRL,
+  MOP_SRLV,
+  /* Subtract with overflow             - sub Rdest Rsrc, Src2
+     Subtract without overflow          - subu Rdest, Rsrc, Src2
+     Put the difference of the integers from register Rssrc1 and Src2 into Rdest */
+  MOP_SUB,
+  MOP_SUBU,
+  /* XOR                - xor Rdest, Rsrc1, Src2
+     XOR immediate      - xori Rdest, Rsrc1, Imm
+     Put the logiacal xor of the integer from register Rscr1 and Src2 (or Imm) into register Rdest. */
+  MOP_XOR,
+  MOP_XORI,
+  /* Load immediate - li Rdest, imm
+     Move the immediate imm into register Rdest. */
+  MOP_LI,
+  /* Load upper immediate -lui Rdest, imm
+     Load the lower halfword of the immediate imm into the upper halfword of register Rdest . The lower bits of the resgister are set to 0. */
+  MOP_LUI,
+
+  /* Comparison operators */
+  /* Set equal - seq Rdest, Rsrc1, Src2
+     Set register Rdest to 1 if register Rsrc1 equals Src2 and to 0 otherwise. */
+  MOP_SEQ,
+  MOP_SGE,
+  MOP_SGEU,
+  MOP_SGT,
+  MOP_SGTU,
+  MOP_SLE,
+  MOP_SLEU,
+  MOP_SLT,
+  MOP_SLTI,
+  MOP_SLTU,
+  MOP_SLTIU,
+  MOP_SNE,
+
+  /* Branching operators */
+  MOP_B,
+  MOP_BCZT,
+  MOP_BCZF,
+  MOP_BEQ,
+  MOP_BEQZ,
+  MOP_BGE,
+  MOP_BGEU,
+  MOP_BGEZ,
+  MOP_BGEZAL,
+  MOP_BGT,
+  MOP_BGTU,
+  MOP_BGTZ,
+  MOP_BLE,
+  MOP_BLEU,
+  MOP_BLEZ,
+  MOP_BLTZAL,
+  MOP_BLT,
+  MOP_BLTU,
+  MOP_BLTZ,
+  MOP_BNE,
+  MOP_BNEZ,
+
+  /* Jump operators */
+  MOP_J,
+  MOP_JAL,
+  MOP_JR,
+
+  /* Load operators */
+  MOP_LA,
+  MOP_LB,
+  MOP_LBU,
+  MOP_LD,
+  MOP_LH,
+  MOP_LHU,
+  MOP_LW,
+  MOP_LWCZ,
+  MOP_LWL,
+  MOP_LWR,
+  MOP_ULH,
+  MOP_ULHU,
+  MOP_ULW,
+
+  /* Store operators */
+  MOP_SB,
+  MOP_SD,
+  MOP_SH,
+  MOP_SW,
+  MOP_SWCZ,
+  MOP_SWL,
+  MOP_SWR,
+  MOP_USH,
+  MOP_USW,
+
+  /* Copy operators */
+  MOP_MOVE,
+  MOP_MFHI,
+  MOP_MTLO,
+  MOP_MFC1,
+  MOP_MFC1_D,
+  MOP_MTC1,
+
+  /* Floating point operators */
+  MOP_ABS_D,
+  MOP_ABS_S,
+  MOP_ADD_D,
+  MOP_ADD_S,
+  MOP_C_EQ_D,
+  MOP_C_EQ_S,
+  MOP_C_LE_D,
+  MOP_C_LE_S,
+  MOP_C_LT_D,
+  MOP_C_LT_S,
+  MOP_CVT_D_S,
+  MOP_CVT_D_W,
+  MOP_CVT_S_D,
+  MOP_CVT_S_W,
+  MOP_CVT_W_D,
+  MOP_CVT_W_S,
+  MOP_DIV_D,
+  MOP_DIV_S,
+  MOP_L_D,
+  MOP_L_S,
+  MOP_MOV_D,
+  MOP_MOV_S,
+  MOP_MUL_D,
+  MOP_MUL_S,
+  MOP_NEG_D,
+  MOP_NEG_S,
+  MOP_S_D,
+  MOP_S_S,
+  MOP_SUB_D,
+  MOP_SUB_S,
+  /* Hidden features, pseudo instructions ;-) */
+  MOP_LI_S,
+
+  /* Exceptions and trap instructions */
+  MOP_RFE,
+  MOP_SYSCALL,
+  MOP_BREAK,
+  MOP_NOP,
+
+  /* Special labels, for processing only */
+  MOP_LABEL,
+  MOP_NOPERATORS
+} MOperator;
+
+
+const char *MOperatorToString(MOperator op);
+
+
+#endif	/* _MOPERATOR_H */
+
Index: /liacs/coco/assignment4/MStatement.cc
===================================================================
--- /liacs/coco/assignment4/MStatement.cc	(revision 2)
+++ /liacs/coco/assignment4/MStatement.cc	(revision 2)
@@ -0,0 +1,96 @@
+
+#include "MOperator.h"
+#include "MStatement.h"
+#include <string>
+
+using namespace std;
+
+MStatement::MStatement(MOperator op, const char *comment) {
+  MStatement::SetOperator(op);
+  MStatement::SetOperand1(NULL);
+  MStatement::SetOperand2(NULL);
+  MStatement::SetOperand3(NULL);
+  MStatement::SetComment(comment);
+}
+
+MStatement::MStatement(MOperator op, MOperand *opnd1, const char *comment) {
+  MStatement::SetOperator(op);
+  MStatement::SetOperand1(opnd1);
+  MStatement::SetOperand2(NULL);
+  MStatement::SetOperand3(NULL);
+  MStatement::SetComment(comment);
+}
+
+MStatement::MStatement(MOperator op, MOperand *opnd1,  MOperand *opnd2,
+        const char *comment) {
+  MStatement::SetOperator(op);
+  MStatement::SetOperand1(opnd1);
+  MStatement::SetOperand2(opnd2);
+  MStatement::SetOperand3(NULL);
+  MStatement::SetComment(comment);
+}
+
+MStatement::MStatement(MOperator op, MOperand *opnd1, MOperand *opnd2,
+        MOperand *opnd3, const char *comment) {
+  MStatement::SetOperator(op);
+  MStatement::SetOperand1(opnd1);
+  MStatement::SetOperand2(opnd2);
+  MStatement::SetOperand3(opnd3);
+  MStatement::SetComment(comment);
+}
+
+MStatement::~MStatement() {
+  delete comment;
+}
+
+MOperator MStatement::GetOperator() const {
+  return moperator;
+}
+
+void MStatement::SetOperator(MOperator op) {
+  moperator = op;
+}
+
+MOperand *MStatement::GetOperand1() const {
+  return operand1;
+}
+
+void MStatement::SetOperand1(MOperand *operand) {
+  operand1 = operand;
+}
+
+MOperand *MStatement::GetOperand2() const {
+  return operand2;
+}
+
+void MStatement::SetOperand2(MOperand *operand) {
+  operand2 = operand;
+}
+
+MOperand *MStatement::GetOperand3() const {
+  return  operand3;
+}
+
+void MStatement::SetOperand3(MOperand *operand) {
+  operand3 = operand;
+}
+
+void MStatement::Dump(FILE *file, int indent) {
+  //XXX: Dump operand, operators # Comment
+}
+
+const char *MStatement::GetComment() const {
+  return (comment);
+}
+
+void MStatement::SetComment(const char *value) {
+  comment = value;
+}
+
+string MStatement::GetLabel() const {
+  return label;
+}
+
+void MStatement::SetLabel(string value) {
+  label = value;
+}
Index: /liacs/coco/assignment4/MStatement.h
===================================================================
--- /liacs/coco/assignment4/MStatement.h	(revision 2)
+++ /liacs/coco/assignment4/MStatement.h	(revision 2)
@@ -0,0 +1,70 @@
+/*
+ * File:   MStatement.h
+ * Author: rick
+ *
+ * Created on November 19, 2008, 1:14 AM
+ */
+
+#ifndef _MSTATEMENT_H
+#define	_MSTATEMENT_H
+
+#include "MOperator.h"
+#include "MOperand.h"
+#include "Symbol.h"
+#include <string>
+
+using namespace std;
+
+class MStatement {
+public:
+  // Constructors/destructor
+
+  /* No operators */
+  MStatement(MOperator op, const char *comment = NULL);
+  /* One operator */
+  MStatement(MOperator op, MOperand *opnd1, const char *comment = NULL);
+  /* Two operators */
+  MStatement(MOperator op, MOperand *opnd1, MOperand *opnd2,
+          const char * comment = NULL);
+  /* Tree operators */
+  MStatement(MOperator op, MOperand *opnd1, MOperand *opnd2,
+          MOperand *opnd3, const char *comment = NULL);
+  ~MStatement();
+
+  // Get/Set operator
+  MOperator GetOperator() const;
+  void SetOperator(MOperator op);
+
+  // Get operand 1
+  MOperand *GetOperand1() const;
+  void SetOperand1(MOperand *operand);
+
+  // Get/Set operand 2
+  MOperand *GetOperand2() const;
+  void SetOperand2(MOperand *operand);
+
+  // Get/Set operand 3
+  MOperand *GetOperand3() const;
+  void SetOperand3(MOperand *operand);
+
+  // Dump
+  void Dump(FILE *file, int indent);
+
+  // Comment handler
+  void SetComment(const char *value);
+  const char *GetComment() const;
+
+  string GetLabel() const;
+  void SetLabel(string value);
+
+private:
+  MOperator moperator;
+  MOperand *operand1;
+  MOperand *operand2;
+  MOperand *operand3;
+  const char *comment;
+  string label;
+};
+
+#endif	/* _MSTATEMENT_H */
+
Index: /liacs/coco/assignment4/Makefile
===================================================================
--- /liacs/coco/assignment4/Makefile	(revision 2)
+++ /liacs/coco/assignment4/Makefile	(revision 2)
@@ -0,0 +1,73 @@
+#
+# Makefile for assignment 4 (and 5) of the Compiler Construction course.
+# Fall 2007, LIACS, Leiden University.
+#
+
+CC		= g++
+LEX		= flex
+YACC		= bison --yacc
+
+WARNINGS	= -Wall -ansi
+OTHERS		= -m32 -g
+DEFINES		= -DDEBUG
+IDIRS		= -I.
+
+CFLAGS		= $(WARNINGS) $(OTHERS) $(DEFINES) $(IDIRS)
+LFLAGS		= 
+YFLAGS		= --defines --debug --verbose
+LDFLAGS		= -m32 -g
+LOADLIBS	= -lfl -lm
+
+# If you want to add another C/C++ file to the compiler, add the name of the
+# corresponding .o file to the OBJFILES macro below:
+OBJFILES	= debug.o main.o ICGenerator.o \
+            StackFrameManager.o CodeGenerator.o MStatement.o MOperand.o \
+            MOperator.o AssemblerCode.o StackFrameManager.o CodeGenerator.o \
+            RegisterManager.o
+OBJDIR		= gen/
+OBJS		= $(addprefix $(OBJDIR),$(OBJFILES))
+
+# Precompiled object files
+POBJFILES = types.o SyntaxTree.o Node.o Symbol.o SymbolTable.o Scope.o \
+            IntermediateCode.o IStatement.o IOperand.o IOperator.o \
+            ICGenerator0.o
+POBJDIR   = obj/
+POBJS     = $(addprefix $(POBJDIR),$(POBJFILES))
+
+IMPORTANT	= comp.[hly] *.h *.c *.cc \
+		  Makefile
+
+.PHONY: all first clean backup dirs showdeps
+
+all: comp
+
+# To be executed before the very first build
+first: dirs
+
+# Dependency stuff
+comp: $(POBJDIR)y.tab.o $(POBJDIR)lex.yy.o $(OBJS) $(POBJS)
+	$(CC) $(LDFLAGS) -o $@ $^ $(LOADLIBS)
+
+clean:	
+	rm -f $(OBJDIR)*.o comp \
+	    `find . -name core -o -name \*\.bak`
+
+backup:
+	tar cfz ../CoCo-`date +'%y%m%d-%H%M'`.tar.gz $(IMPORTANT)
+
+dirs:
+	mkdir gen
+
+# Show dependencies between .c files
+showdeps:
+	$(CC) -MM *.c *.cc
+
+# Dependency stuff
+$(OBJDIR)%.o: %.c
+	$(CC) $(CFLAGS) -c -o $@ $<
+
+$(OBJDIR)%.o: %.cc
+	$(CC) $(CFLAGS) -c -o $@ $<
+
+bt: all
+	gdb -x gdb.script ./comp
Index: /liacs/coco/assignment4/Node.h
===================================================================
--- /liacs/coco/assignment4/Node.h	(revision 2)
+++ /liacs/coco/assignment4/Node.h	(revision 2)
@@ -0,0 +1,214 @@
+/*
+ * Node.h
+ * 
+ * This file contains the declaration of the "Node" structure. It is part of
+ * the assignment for the Compiler Construction course at the Leiden Institute
+ * of Advanced Computer Science (LIACS), Leiden University.
+ *
+ * Note: when a Node is deleted, is does _not_ delete its children. Also the
+ *       Symbol of a Node_Symbol object is preserved.
+ */
+
+#ifndef _NODE_H_
+#define _NODE_H_
+
+#include <cstdlib>
+#include <cstdio>
+#include "types.h"
+#include "Symbol.h"
+
+// ----------------------------------------------------------------------------
+// N O D E   ( B A S E )
+// ----------------------------------------------------------------------------
+
+class Node {
+	
+  public:
+
+    // constructor
+    Node (void);
+  
+    // destructor
+    virtual ~Node (void);
+  
+    // gets the node type
+    NodeType GetNodeType (void);
+    
+    // sets the node type
+    void SetNodeType (NodeType nodeType);
+    
+    // gets the return type
+    ReturnType GetReturnType (void);
+    
+    // sets the return type
+    void SetReturnType (ReturnType returnType);
+    
+    // dumps the node data
+    virtual void Dump (FILE * file, int indent);
+    
+    // (empty) virtuals
+    virtual Node * GetChild (void);
+    virtual void SetChild (Node * node);
+    virtual Node * GetLeftChild (void);
+    virtual void SetLeftChild (Node * node);
+    virtual Node * GetRightChild (void);
+    virtual void SetRightChild (Node * node);
+    
+    virtual int GetIntValue (void);
+    virtual void SetIntValue (int newvalue);
+    virtual float GetRealValue (void);
+    virtual void SetRealValue (float newvalue);
+    virtual Symbol * GetSymbol (void);
+    virtual void SetSymbol (Symbol * newsym);
+    
+  private:
+    
+    NodeType myNodeType;
+    ReturnType myReturnType;
+    
+};
+
+
+
+// ----------------------------------------------------------------------------
+// N O D E   U N A R Y
+// [ unary minus, "not x", etc.]
+// ----------------------------------------------------------------------------
+class Node_Unary: public Node {
+
+  public:
+  
+    // constructor
+    Node_Unary (void);
+
+    // destructor
+    ~Node_Unary (void);
+  
+    // gets the child
+    Node * GetChild (void);
+    
+    // sets the child
+    void SetChild (Node * node);
+    
+    // dumps the node data
+    void Dump(FILE * file, int indent);
+    
+  private:
+    
+    Node * Child;
+    
+};
+
+
+
+// ----------------------------------------------------------------------------
+// N O D E   B I N A R Y
+// ["while L do R", "A ; B", "4 * 3", etc.]
+// ----------------------------------------------------------------------------
+class Node_Binary: public Node {
+
+  public:
+
+    // constructor
+    Node_Binary (void);
+    
+    // destructor
+    ~Node_Binary (void);
+  
+    // gets the left child
+    Node * GetLeftChild (void);
+    
+    // sets the left child
+    void SetLeftChild (Node * node);
+    
+    // gets the right child
+    Node * GetRightChild (void);
+    
+    // sets the right child
+    void SetRightChild (Node * node);
+    
+    // dumps the node data
+    void Dump (FILE * file, int indent);
+    
+  private:
+    
+    Node * leftChild;
+    Node * rightChild;
+
+};
+
+
+
+// ----------------------------------------------------------------------------
+// N O D E   I N T E G E R
+// ----------------------------------------------------------------------------
+class Node_Integer: public Node {
+	
+  public:
+	  
+    // gets the integer value
+    int GetIntValue (void);
+  
+    // sets the integer value
+    void SetIntValue (int value);
+    
+    // dumps the node data
+    void Dump (FILE * file, int indent);
+    
+  private:
+    
+    int myValue;
+    
+};
+
+
+
+// ----------------------------------------------------------------------------
+// N O D E   R E A L
+// ----------------------------------------------------------------------------
+class Node_Real: public Node {
+
+  public:
+
+    // gets the real value
+    float GetRealValue (void);
+  
+    // sets the real value
+    void SetRealValue (float value);
+    
+    // dumps the node data
+    void Dump (FILE * file, int indent);
+    
+  private:
+    
+    float myValue;
+    
+};
+
+
+
+// ----------------------------------------------------------------------------
+// N O D E   S Y M B O L
+// ----------------------------------------------------------------------------
+// symbol leaf
+class Node_Symbol: public Node {
+
+  public:
+
+    // gets the symbol pointer
+    Symbol * GetSymbol (void);
+  
+    // sets the symbol pointer
+    void SetSymbol (Symbol * symbol);
+    
+    // dumps the node data
+    void Dump (FILE * file, int indent);
+    
+  private:
+    
+    Symbol * mySymbol;
+    
+};
+
+#endif
+
Index: /liacs/coco/assignment4/RegisterManager.cc
===================================================================
--- /liacs/coco/assignment4/RegisterManager.cc	(revision 2)
+++ /liacs/coco/assignment4/RegisterManager.cc	(revision 2)
@@ -0,0 +1,250 @@
+#include "RegisterManager.h"
+
+#include "Symbol.h"
+#include "StackFrameManager.h"
+#include "types.h"
+#include "debug.h"
+#include <cassert>
+
+using namespace std;
+
+bool IsGlobal(Symbol * sym); // Is the specified symbol a global variable?
+
+MRegisterType RegisterManager::int_registers[int_reg_size] = {
+  R_T0,
+  R_T1,
+  R_T2,
+  R_T3,
+  R_T4,
+  R_T5,
+  R_T6,
+  R_T7,
+  R_S0,
+  R_S1,
+  R_S2,
+  R_S3,
+  R_S4,
+  R_S5,
+  R_S6,
+  R_S7,
+  R_T8,
+  R_T9
+};
+
+// According to the spim documentation all floating point operations use only
+// even registers, as doubles require two. Even for operations on singles.
+MRegisterType RegisterManager::float_registers[float_reg_size] = {
+// R_FO, /* Claimed for temporary use within code */
+  R_F2,
+  R_F4,
+  R_F6,
+  R_F8,
+  R_F10,
+  R_F12,
+  R_F14,
+  R_F16,
+  R_F18,
+  R_F20,
+  R_F22,
+  R_F24,
+  R_F26,
+  R_F28,
+  R_F30
+};
+
+MRegisterType RegisterManager::tmp_registers[tmp_reg_size] = {
+  R_A0,
+  R_A1,
+  R_A2,
+  R_A3
+};
+
+RegisterManager::RegisterManager(StackFrameManager& sfm, AssemblerCode& ac)
+: sfm(sfm), ac(ac), int_symbols(), float_symbols() {
+}
+
+MRegisterType RegisterManager::GetRegister(Symbol *symbol) {
+  if (symbol->GetReturnType() == RT_REAL) {
+    return GetFloatRegister(symbol);
+  }
+  return GetIntRegister(symbol);
+}
+
+MRegisterType RegisterManager::GetIntRegister(Symbol *symbol) {
+  int idx = FindSymbol(int_symbols, int_reg_size, symbol);
+  if (idx != -1) {
+    return int_registers[idx];
+  }
+  // symbol not yet used
+  idx = FindUnused(int_symbols, int_reg_size);
+  if (idx == -1) {
+    // no more unused registers
+    idx = PickSpillRegister(int_registers, int_reg_size);
+    SpillIntRegister(idx);
+  }
+  GenerateIntLoadCode(int_registers[idx], symbol);
+  int_symbols[idx] = symbol;
+  return int_registers[idx];
+}
+
+MRegisterType RegisterManager::GetFloatRegister(Symbol *symbol) {
+  int idx = FindSymbol(float_symbols, float_reg_size, symbol);
+  if (idx != -1) {
+    return float_registers[idx];
+  }
+  // symbol not yet used
+  idx = FindUnused(float_symbols, float_reg_size);
+  if (idx == -1) {
+    // no more unused registers
+    idx = PickSpillRegister(float_registers, float_reg_size);
+    SpillFloatRegister(idx);
+  }
+  GenerateFloatLoadCode(float_registers[idx], symbol);
+  float_symbols[idx] = symbol;
+  return float_registers[idx];
+}
+
+void RegisterManager::SpillAll() {
+  for (int i = 0; i < int_reg_size; ++i) {
+    if (int_symbols[i] != NULL) {
+      SpillIntRegister(i);
+    }
+  }
+  for (int i = 0; i < float_reg_size; ++i) {
+    if (float_symbols[i] != NULL) {
+      SpillFloatRegister(i);
+    }
+  }
+}
+
+int RegisterManager::FindSymbol(Symbol *symbols[], int size, Symbol *symbol) const {
+  for (int i = 0; i < size; ++i) {
+    if (symbols[i] != NULL && symbols[i]->GetName() == symbol->GetName()) {
+      return i;
+    }
+  }
+  return -1;
+}
+
+int RegisterManager::FindUnused(Symbol *symbols[], int size) const {
+  for (int i = 0; i < size; ++i) {
+    if (symbols[i] == NULL) {
+      return i;
+    }
+  }
+  return -1;
+}
+
+int RegisterManager::PickSpillRegister(MRegisterType [], int size) const {
+  return rand() % size;
+}
+
+void RegisterManager::SpillIntRegister(int idx) {
+  GenerateIntSpillCode(int_registers[idx], int_symbols[idx]);
+  int_symbols[idx] = NULL;
+}
+
+void RegisterManager::SpillFloatRegister(int idx) {
+  GenerateFloatSpillCode(float_registers[idx], float_symbols[idx]);
+  float_symbols[idx] = NULL;
+}
+
+void RegisterManager::GenerateIntSpillCode(MRegisterType reg, Symbol *symbol) {
+  if (IsGlobal(symbol)) {
+    string name = SYMBOL_PREFIX;
+    name += symbol->GetName();
+    MOperator instr;
+    MOperand *mop1, *mop2;
+
+    instr = MOP_SW;
+    mop1 = new MOperand(MT_REGISTER, reg);
+    mop2 = new MOperand(MT_LABEL, name);
+    ac.AppendStatement(new MStatement(instr, mop1, mop2, "Write back integer register"));
+  } else {
+    int offset = symbol->GetOffset();
+    MOperator instr;
+    MOperand *mop1, *mop2;
+
+    instr = MOP_SW;
+    mop1 = new MOperand(MT_REGISTER, reg);
+    mop2 = new MOperand(MT_OFFSET, R_FP, offset);
+    ac.AppendStatement(new MStatement(instr, mop1, mop2, "Write back integer register"));
+  }
+}
+
+void RegisterManager::GenerateFloatSpillCode(MRegisterType reg, Symbol *symbol) {
+  if (IsGlobal(symbol)) {
+    string name = SYMBOL_PREFIX;
+    name += symbol->GetName();
+    MOperator instr;
+    MOperand *mop1, *mop2;
+
+    instr = MOP_S_S;
+    mop1 = new MOperand(MT_REGISTER, reg);
+    mop2 = new MOperand(MT_LABEL, name);
+    ac.AppendStatement(new MStatement(instr, mop1, mop2, "Write back float register"));
+  } else {
+    int offset = symbol->GetOffset();
+    MOperator instr;
+    MOperand *mop1, *mop2;
+
+    instr = MOP_S_S;
+    mop1 = new MOperand(MT_REGISTER, reg);
+    mop2 = new MOperand(MT_OFFSET, R_FP, offset);
+    ac.AppendStatement(new MStatement(instr, mop1, mop2, "Write back float register"));
+  }
+}
+
+void RegisterManager::GenerateIntLoadCode(MRegisterType reg, Symbol *symbol) {
+  if (IsGlobal(symbol)) {
+    string name = SYMBOL_PREFIX;
+    name += symbol->GetName();
+    MOperator instr;
+    MOperand *mop1, *mop2;
+
+    instr = MOP_LW;
+    mop1 = new MOperand(MT_REGISTER, reg);
+    mop2 = new MOperand(MT_LABEL, name);
+    ac.AppendStatement(new MStatement(instr, mop1, mop2, "Load integer Register"));
+  } else {
+    int offset = symbol->GetOffset();
+    MOperator instr;
+    MOperand *mop1, *mop2;
+
+    instr = MOP_LW;
+    mop1 = new MOperand(MT_REGISTER, reg);
+    mop2 = new MOperand(MT_OFFSET, R_FP, offset);
+    ac.AppendStatement(new MStatement(instr, mop1, mop2, "Load integer Register"));
+  }
+}
+
+void RegisterManager::GenerateFloatLoadCode(MRegisterType reg, Symbol *symbol) {
+  if (IsGlobal(symbol)) {
+    string name = SYMBOL_PREFIX;
+    name += symbol->GetName();
+    MOperator instr;
+    MOperand *mop1, *mop2;
+
+    instr = MOP_L_S;
+    mop1 = new MOperand(MT_REGISTER, reg);
+    mop2 = new MOperand(MT_LABEL, name);
+    ac.AppendStatement(new MStatement(instr, mop1, mop2, "Load float Register"));
+  } else {
+    int offset = symbol->GetOffset();
+    MOperator instr;
+    MOperand *mop1, *mop2;
+
+    instr = MOP_L_S;
+    mop1 = new MOperand(MT_REGISTER, reg);
+    mop2 = new MOperand(MT_OFFSET, R_FP, offset);
+    ac.AppendStatement(new MStatement(instr, mop1, mop2, "Load float Register"));
+  }
+}
+
+MRegisterType RegisterManager::GetTempRegister(){
+ /* Ping pong between two active registers as temporary storage */
+  static int currentRegister = -1;
+  currentRegister = (currentRegister == 4) ? 0 : currentRegister+1;
+  pmesg(100, "DEBUG: %i\n", currentRegister);
+  return(tmp_registers[currentRegister]);
+}
Index: /liacs/coco/assignment4/RegisterManager.h
===================================================================
--- /liacs/coco/assignment4/RegisterManager.h	(revision 2)
+++ /liacs/coco/assignment4/RegisterManager.h	(revision 2)
@@ -0,0 +1,71 @@
+#ifndef REGISTERMANAGER_H
+#define REGISTERMANAGER_H
+
+#include "Symbol.h"
+#include "globals.h"
+#include "StackFrameManager.h"
+#include "AssemblerCode.h"
+
+/* Keeps track of what registers are associated with symbols.
+   Loads the appropriate registers and generates spill code if needed.
+*/
+class RegisterManager {
+public:
+  // constructor
+  RegisterManager(StackFrameManager& sfm, AssemblerCode& ac);
+
+  // Get the register associated with symbol.
+  // Register is of same type as the return type of the symbol.
+  // Generates loading code if needed.
+  MRegisterType GetRegister(Symbol *symbol);
+
+  // Gets an integer register associated with symbol.
+  // Generates loading code if needed.
+  MRegisterType GetIntRegister(Symbol *symbol);
+
+  // Gets a float register associated with symbol.
+  // Generates loading code if needed.
+  MRegisterType GetFloatRegister(Symbol *symbol);
+
+  // Get temponary register, which rotates
+  MRegisterType GetTempRegister();
+
+  // Write back all registers and unassociate all symbols.
+  void SpillAll();
+private:
+  StackFrameManager& sfm;
+  AssemblerCode& ac;
+
+  // Find the register associated with symbol and return its index
+  // Returns -1 if not found
+  int FindSymbol(Symbol *symbols[], int size, Symbol *symbol) const;
+
+  // Find an unused register and returns its index
+  // Returns -1 if not found
+  int FindUnused(Symbol *symbols[], int size) const;
+
+  int PickSpillRegister(MRegisterType registers[], int size) const;
+
+  // Clears the symbol associated with the register and generates spill code
+  void SpillIntRegister(int idx);
+  void SpillFloatRegister(int idx);
+
+  void GenerateIntSpillCode(MRegisterType reg, Symbol *symbol);
+  void GenerateFloatSpillCode(MRegisterType reg, Symbol *symbol);
+
+  void GenerateIntLoadCode(MRegisterType reg, Symbol *symbol);
+  void GenerateFloatLoadCode(MRegisterType reg, Symbol *symbol);
+
+  static const int int_reg_size = 18; // number of integer registers
+  static MRegisterType int_registers[int_reg_size]; // the integer registers that can be used
+  Symbol *int_symbols[int_reg_size]; // symbols associated with integer registers
+
+  static const int float_reg_size = 15; // number of float registers
+  static MRegisterType float_registers[float_reg_size]; // the float registers that can be used
+  Symbol *float_symbols[float_reg_size]; // symbols associated with integer registers
+
+  static const int tmp_reg_size = 4;
+  static MRegisterType tmp_registers[tmp_reg_size];
+};
+
+#endif /* REGISTERMANAGER_H */
Index: /liacs/coco/assignment4/Scope.h
===================================================================
--- /liacs/coco/assignment4/Scope.h	(revision 2)
+++ /liacs/coco/assignment4/Scope.h	(revision 2)
@@ -0,0 +1,61 @@
+/*
+ * Scope.h
+ *
+ * This file contains the declaration of the "Scope" structure.
+ * It is part of the assignment for the Compiler Construction course at the
+ * Leiden Institute of Advanced Computer Science (LIACS), Leiden University.
+ *
+ * Note: when a Scope object is deleted, all Symbol objects contained in that
+ *       Scope are also deleted.
+ */
+
+#ifndef _SCOPE_H_
+#define _SCOPE_H_
+
+#include <cstdio>
+#include <string>
+#include <vector>
+
+#include "Symbol.h"
+
+using namespace std;
+
+// Class representing a scope
+class Scope {
+  public:
+    // Constructor
+    Scope (string scope);
+
+    // Destructor: deletes all Symbols contained in this Scope
+    ~Scope ();
+
+    // Sets the name of the scope
+    void SetName(string name);
+
+    // Gets the name of the scope
+    string GetName ();
+
+    // Adds the given symbol to this scope
+    // Returns -1 if the symbol could not be added
+    int AddSymbol (Symbol * symbol);
+
+    // Returns the symbol identified by <name> in this scope.
+    // Returns NULL if the symbol cannot be found.
+    Symbol * GetSymbol (string name);
+
+    // Returns the i-th symbol of this scope.
+    Symbol * GetSymbol (unsigned int i);
+
+    // Returns the number of symbols in this scope
+    unsigned int GetNumberOfSymbols ();
+
+    // Dumps the contents of this scope
+    void Dump (FILE * file, int indent);
+
+  private:
+    string myName;
+    vector<Symbol *> mySymbols;
+};//Scope
+
+#endif
+
Index: /liacs/coco/assignment4/StackFrameManager.cc
===================================================================
--- /liacs/coco/assignment4/StackFrameManager.cc	(revision 2)
+++ /liacs/coco/assignment4/StackFrameManager.cc	(revision 2)
@@ -0,0 +1,134 @@
+/*
+ * StackFrameManager.cc - Implementation of the StackFrameManager class
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ */
+
+#include "StackFrameManager.h"
+#include "globals.h"
+#include "MOperator.h"
+#include "MOperand.h"
+#include "AssemblerCode.h"
+#include "assert.h"
+
+// Constructor:
+StackFrameManager::StackFrameManager(AssemblerCode& ac)
+  : currentSubprogram(NULL), ac(ac),
+    frameSize(12), localFrameSize(12),
+    raOffset(0), fpOffset(-4), rvOffset(-8)
+{
+}
+
+
+// Destructor:
+StackFrameManager::~StackFrameManager() {
+}
+
+
+// Analyzes a subprogram and computes the stack frame layout.
+// This function should always be called once for a subprogram before
+// calls to GeneratePrologue/Epilogue or GenerateLocalAddress are made.
+void StackFrameManager::AnalyzeSubprogram(SymbolTable * symtab, Symbol * subprogram) {
+  bool isProgramBody = false;
+
+  currentSubprogram = subprogram;
+
+  if (subprogram->GetSymbolType() == ST_PROGRAM) {
+    isProgramBody = true;
+  }
+
+  frameSize = 12; // 12 for return address, old frame pointer and return value
+  localFrameSize = frameSize;
+
+  // set return value offset
+  subprogram->SetOffset(rvOffset);
+
+  if (!isProgramBody) {
+
+    // set parameter offsets and count frameSize
+    int offset = 4;
+    for (int i = 0; i < subprogram->GetParameterCount(); ++i) {
+      Symbol *symbol = subprogram->GetParameter(i);
+      symbol->SetOffset(offset);
+      offset += 4;
+      frameSize += 4;
+    }
+      // count and set offsets for local variables and temporary variables
+    Scope *scope = symtab->GetScope(subprogram->GetName());
+    offset = -12;
+    for (unsigned int i = 0; i < scope->GetNumberOfSymbols(); ++i) {
+      Symbol *symbol = scope->GetSymbol(i);
+      if (symbol->GetSymbolType() == ST_VARIABLE || symbol->GetSymbolType() == ST_TEMPVAR) {
+        symbol->SetOffset(offset);
+        offset -= 4;
+        frameSize += 4;
+        localFrameSize += 4;
+      }
+    }
+  } else {
+    // for main program body only set temporary variable offsets
+    Scope *scope = symtab->GetScope(subprogram->GetName());
+    int offset = -12;
+    for (unsigned int i = 0; i < scope->GetNumberOfSymbols(); ++i) {
+      assert(offset != 0);
+      Symbol *symbol = scope->GetSymbol(i);
+      if (symbol->GetSymbolType() == ST_TEMPVAR) {
+        symbol->SetOffset(offset);
+        offset -= 4;
+        frameSize += 4;
+        localFrameSize += 4;
+      }
+    }
+  }
+
+}
+
+
+// Generates the code that sets up the stack frame at the entry point of a
+// subprogram.
+void StackFrameManager::GeneratePrologue(FILE *) {
+  // Indicate the beginning of a new subprogram:
+  ac.AppendStatement(new MStatement(MOP_ENT, new MOperand(MT_LABEL, string(SYMBOL_PREFIX) + currentSubprogram->GetName() )));
+  MStatement *stmt = new MStatement(MOP_LABEL);
+  stmt->SetLabel(string(SYMBOL_PREFIX) + currentSubprogram->GetName());
+  ac.AppendStatement(stmt);
+
+  // Save the return address on the stack
+  ac.AppendStatement(new MStatement(MOP_SW, new MOperand(MT_REGISTER, R_RA), new MOperand(MT_OFFSET, R_SP, raOffset), "Set up stack frame"));
+  // Save the old frame pointer on the stack
+  ac.AppendStatement(new MStatement(MOP_SW, new MOperand(MT_REGISTER, R_FP), new MOperand(MT_OFFSET, R_SP, fpOffset)));
+  // Setting the new frame pointer value
+  ac.AppendStatement(new MStatement(MOP_MOVE, new MOperand(MT_REGISTER, R_FP), new MOperand(MT_REGISTER, R_SP)));
+  // Setting the new stack pointer value
+  ac.AppendStatement(new MStatement(MOP_ADDI, new MOperand(MT_REGISTER, R_SP), new MOperand(MT_REGISTER, R_SP), new MOperand(MT_INT, -localFrameSize)));
+}
+
+
+// Generates the code that discards the stack frame at the leaving point of
+// a subprogram.
+void StackFrameManager::GenerateEpilogue(FILE *) {
+  // Restore the return address
+  ac.AppendStatement(new MStatement(MOP_LW, new MOperand(MT_REGISTER, R_RA), new MOperand(MT_OFFSET, R_FP, raOffset), "Return from call"));
+  // Restore the old frame pointer
+  ac.AppendStatement(new MStatement(MOP_LW, new MOperand(MT_REGISTER, R_FP), new MOperand(MT_OFFSET, R_FP, fpOffset)));
+  // Set the new stack pointer value
+  ac.AppendStatement(new MStatement(MOP_ADDI, new MOperand(MT_REGISTER, R_SP), new MOperand(MT_REGISTER, R_SP), new MOperand(MT_INT, frameSize)));
+  // Jump back to the return address
+  ac.AppendStatement(new MStatement(MOP_JR, new MOperand(MT_REGISTER, R_RA)));
+
+  // Indicate the end of this subprogram:
+  ac.AppendStatement(new MStatement(MOP_END, new MOperand(MT_LABEL, string(SYMBOL_PREFIX) + currentSubprogram->GetName() )));
+}
+
+
+// Generates a $fp-relative address for a local variable or parameter.
+// The output can be used directly as an operand for load/store instructions.
+void StackFrameManager::GenerateLocalAddress(FILE * out, Symbol * sym) {
+  int offset = 0;
+
+  offset = sym->GetOffset();
+
+  // Now write the address to the output file:
+  fprintf(out, "%d($fp)", offset);
+}
Index: /liacs/coco/assignment4/StackFrameManager.h
===================================================================
--- /liacs/coco/assignment4/StackFrameManager.h	(revision 2)
+++ /liacs/coco/assignment4/StackFrameManager.h	(revision 2)
@@ -0,0 +1,60 @@
+/*
+ * StackFrameManager.h - Declaration of the StackFrameManager class
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ */
+
+#ifndef _STACKFRAMEMANAGER_H_
+#define _STACKFRAMEMANAGER_H_
+
+#include <cstdio>
+#include "SymbolTable.h"
+#include "AssemblerCode.h"
+
+// This class gathers information about the stack frame (also known as
+// an activation record) of a subprogram and provides methods to generate
+// code based on the gathered information.
+class StackFrameManager {
+  public:
+    // Constructor:
+    StackFrameManager(AssemblerCode& ac);
+
+    // Destructor:
+    ~StackFrameManager();
+
+    // Analyzes a subprogram and computes the stack frame layout.
+    // This function should always be called once for a subprogram before
+    // calls to GeneratePrologue/Epilogue or GenerateLocalAddress are made.
+    void AnalyzeSubprogram(SymbolTable * symtab, Symbol * subprogram);
+
+    // Generates the code that sets up the stack frame at the entry point of a
+    // subprogram.
+    void GeneratePrologue(FILE * out);
+
+    // Generates the code that discards the stack frame at the leaving point of
+    // a subprogram.
+    void GenerateEpilogue(FILE * out);
+
+    // Generates a $fp-relative address for a local variable or parameter.
+    // The output can be used directly as an operand for load/store instructions.
+    void GenerateLocalAddress(FILE * out, Symbol * sym);
+
+    // ... your own public members and methods ...
+
+  private:
+
+    // The current subprogram
+    Symbol * currentSubprogram;
+
+    AssemblerCode& ac;
+
+    int frameSize; // the size of the stack frame for this subprogram
+    int localFrameSize; // the size of stack frame without parameters
+    int raOffset; // the offset on the stack frame for the return address
+    int fpOffset; // the offset on the stack frame for the old frame pointer
+    int rvOffset; // the offset on the stack frame for the return value
+};
+
+
+#endif
Index: /liacs/coco/assignment4/Symbol.h
===================================================================
--- /liacs/coco/assignment4/Symbol.h	(revision 2)
+++ /liacs/coco/assignment4/Symbol.h	(revision 2)
@@ -0,0 +1,99 @@
+/*
+ * Symbol.h
+ * 
+ * This file contains the declaration of the "Symbol" abstract
+ * data structure. It is part of the assignment for the Compiler Construction
+ * course at the Leiden Institute of Advanced Computer Science (LIACS), Leiden
+ * University.
+ */
+
+#ifndef _SYMBOL_H_
+#define _SYMBOL_H_
+
+#include <string>
+#include <vector>
+#include <cstdio>
+
+#include "types.h"
+
+using namespace std;
+
+// The base class for Symbols
+class Symbol {
+  public:
+    // Constructor/Destructor
+    Symbol (void);
+    virtual ~Symbol (void);
+
+    // Set the identifier text
+    void SetName (string name);
+
+    // Get the identifier text
+    string GetName (void);
+
+    // Set declaration line
+    void SetLine (int line);
+
+    // Get declaration line
+    int GetLine (void);
+
+    // Set return type
+    void SetReturnType (ReturnType type);
+
+    // Get return type
+    ReturnType GetReturnType (void);
+
+    // Set symbol type
+    void SetSymbolType (SymbolType type);
+
+    // Get symbol type
+    SymbolType GetSymbolType (void);
+
+    // Get offset (used during code generation)
+    int GetOffset();
+    
+    // Set offset (used during code generation)
+    void SetOffset(int offset);
+    
+    // Dump the contents
+    virtual void Dump (FILE * file, int indent);
+
+    // Virtuals (empty for this base class)
+    virtual void AddParameter (Symbol * symbol);
+    virtual int GetParameterCount (void);
+    virtual Symbol * GetParameter (unsigned int num);
+
+  private:
+    string myName;
+    int myLine;
+    ReturnType myReturnType;
+    SymbolType mySymbolType;
+    int myOffset;
+};//Symbol
+
+
+
+// Extended symbol class for functions and procedures
+class Symbol_Subprogram : public Symbol {
+  public:
+    // Destructor
+    ~Symbol_Subprogram (void);
+
+    // Add a parameter to the end of the parameter list
+    void AddParameter (Symbol * symbol);
+
+    // Get number of parameters
+    int GetParameterCount (void);
+
+    // Get the num-th argument
+    Symbol * GetParameter (unsigned int num);
+
+    // Dump
+    void Dump (FILE * file, int indent);
+
+  private:
+    vector<Symbol *> parameters;
+};//Symbol_Subprogram
+
+#endif
+
Index: /liacs/coco/assignment4/SymbolTable.h
===================================================================
--- /liacs/coco/assignment4/SymbolTable.h	(revision 2)
+++ /liacs/coco/assignment4/SymbolTable.h	(revision 2)
@@ -0,0 +1,76 @@
+/*
+ * SymbolTable.h
+ *
+ * This file contains the declaration of the "SymbolTable" structure.
+ * It is part of the assignment for the Compiler Construction course at the
+ * Leiden Institute of Advanced Computer Science (LIACS), Leiden University.
+ *
+ * Note: when a SymbolTable is deleted, all Scope objects contained in that
+ *       SymbolTable are also deleted.
+ */
+
+#ifndef _SYMBOLTABLE_H_
+#define _SYMBOLTABLE_H_
+
+#include <cstdio>
+#include <string>
+#include <vector>
+
+#include "Scope.h"
+#include "Symbol.h"
+
+using namespace std;
+
+class SymbolTable {
+  public:
+    // Constructor
+    SymbolTable ();
+
+    // Destructor: deletes all Scopes contained in this SymbolTable
+    ~SymbolTable ();
+
+    // Creates a new Scope with the given name and sets it as current scope.
+    // Returns NULL if the name is already used.
+    Scope * AddScope (string scope);
+
+    // Returns a pointer to the Scope object with the given name
+    Scope * GetScope (string scope);
+
+    // Returns a pointer to the root scope
+    Scope * GetRootScope ();
+
+    // Set the current scope
+    // Returns -1 on error
+    int SetCurrentScope (string scope);
+
+    // Get the current scope name
+    string GetCurrentScopeName ();
+
+    // Adds a symbol to the current scope
+    // Returns -1 on error
+    int AddSymbol (Symbol * symbol);
+
+    // Adds a symbol to the given scope
+    // Returns -1 on error
+    int AddSymbol (string scope, Symbol * symbol);
+
+    // Find a symbol in the current scope, or look in the parent scope, if it
+    // cannot be found in the current one.
+    // Returns NULL if the symbol cannot be found anywhere.
+    Symbol * GetSymbol (string name);
+
+    // Find a symbol in the given scope; optionally look in the parent scope,
+    // if it cannot be found in the given one.
+    // Returns NULL if the symbol cannot be found.
+    Symbol * GetSymbol (string scope, string name, bool lookInParentScope);
+
+    // Dump the contents of the symbol table
+    void Dump (FILE * file);
+
+  private:
+    int myCurrentScope;
+    vector<Scope *> myScopes;
+};//SymbolTable
+
+#endif
+
Index: /liacs/coco/assignment4/SyntaxTree.h
===================================================================
--- /liacs/coco/assignment4/SyntaxTree.h	(revision 2)
+++ /liacs/coco/assignment4/SyntaxTree.h	(revision 2)
@@ -0,0 +1,96 @@
+/*
+ * SyntaxTree.h
+ * 
+ * This file contains the declaration of the "Syntax Tree", an abstract
+ * data structure. It is part of the assignment for the Compiler Construction
+ * course at the Leiden Institute of Advanced Computer Science (LIACS), Leiden
+ * University.
+ */
+
+#ifndef _SYNTAXTREE_H_
+#define _SYNTAXTREE_H_
+
+#include <cstdlib>
+#include <string>
+#include <vector>
+#include <map>
+#include "Node.h"
+
+using namespace std;
+
+// ----------------------------------------------------------------------------
+// S Y N T A X   T R E E
+// ----------------------------------------------------------------------------
+class SyntaxTree {
+
+  public:
+
+    // constructor
+    SyntaxTree (void);
+  
+    // destructor
+    ~SyntaxTree (void);
+    
+    // gets the program name
+    string GetProgramName (void);
+    
+    // sets the program name
+    void SetProgramName (string name);
+    
+    // gets the root node of the program body
+    Node * GetProgramBody (void);
+    
+    // sets the root node of the program body
+    void SetProgramBody (Node * root);
+    
+    // gets the number of subprograms
+    int GetSubprogramCount (void);
+    
+    // gets the root node of the i-th subprogram
+    // 0 <= i < number of subprograms
+    Node * GetSubprogram (unsigned int i);
+
+    // gets the name of the i-th subprogram
+    string GetSubprogramName (unsigned int i);
+    
+    // adds a subprogram
+    void AddSubprogram (string name, Node * root);
+    
+    // creates an unary parent node
+    Node * CreateParentNode (NodeType nodeType,
+                             ReturnType returnType,
+                             Node * child);
+    
+    // creates a binary parent node
+    Node * CreateParentNode (NodeType nodeType,
+                             ReturnType ret,
+                             Node * leftChild,
+                             Node * rightChild);
+
+    // creates an integer leaf with node type NODE_NUM_INT
+    Node * CreateLeaf (int value);
+    
+    // creates a real leaf with node type NODE_NUM_REAL
+    Node * CreateLeaf (float value);
+    
+    // creates a symbol leaf with node type NODE_ID
+    Node * CreateLeaf (Symbol * symbol);
+    
+    // creates a leaf with node type NODE_EMPTY
+    Node * CreateLeaf ();
+
+    // dumps the syntax tree
+    void Dump (FILE * file);
+    
+  private:
+    
+    string programName;
+    Node * programBody;
+    vector<string> subprogramNames;
+    vector<Node *> subprograms;
+    void DeleteTree (Node * root);
+
+};
+
+#endif
+
Index: /liacs/coco/assignment4/debug.c
===================================================================
--- /liacs/coco/assignment4/debug.c	(revision 2)
+++ /liacs/coco/assignment4/debug.c	(revision 2)
@@ -0,0 +1,13 @@
+#include "debug.h"
+
+extern int msglevel; /* the higher, the more messages... */
+
+void pmesg(int level, const char* format, ...) {
+  va_list args;
+
+  if (level <= msglevel) {
+    va_start(args, format);
+    vfprintf(stderr, format, args);
+    va_end(args);
+  }
+}
Index: /liacs/coco/assignment4/debug.h
===================================================================
--- /liacs/coco/assignment4/debug.h	(revision 2)
+++ /liacs/coco/assignment4/debug.h	(revision 2)
@@ -0,0 +1,15 @@
+#ifndef _DEBUG_H
+#define _DEBUG_H
+#include <stdio.h>
+#include <stdarg.h>
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+void pmesg(int level, const char *format, ...);
+#if defined(__cplusplus)
+}
+#endif
+
+#endif
Index: /liacs/coco/assignment4/debug.s
===================================================================
--- /liacs/coco/assignment4/debug.s	(revision 2)
+++ /liacs/coco/assignment4/debug.s	(revision 2)
@@ -0,0 +1,127 @@
+## Output generated by ./comp @ ubuntu8041
+## Wed Nov 19 17:50:55 2008
+
+## Compiler Construction Course - Leiden University - LIACS
+## Johan IJsveld - Rick van der Zwet
+## BSD Licenced
+	
+	.data		# Global data section
+	.align	4	
+__x:	
+	.word	0	
+__y:	
+	.word	0	
+	
+	.text		# Code section
+	.align	4	
+	.globl	main	
+	
+	.ent	main	
+main:	
+	addi	$sp, $sp, -4	
+	jal	__example		# Jump to program body
+	addi	$v0, $0, 10		# Exit system call
+	syscall	
+	.end	main	
+	
+	.ent	__example	
+__example:	
+	sw	$ra, 0($sp)		# Set up stack frame
+	sw	$fp, -4($sp)	
+	move	$fp, $sp	
+	addi	$sp, $sp, -12	
+	jal	__readinteger	
+	lw	$t0, 0($fp)		# Load integer Register
+	move	$t0, $v0	
+	lw	$t1, __x		# Load integer Register
+	move	$t1, $t0	
+	sw	$t0, 0($fp)		# Write back integer register
+	sw	$t1, __x		# Write back integer register
+	jal	__readinteger	
+	lw	$t0, 0($fp)		# Load integer Register
+	move	$t0, $v0	
+	lw	$t1, __y		# Load integer Register
+	move	$t1, $t0	
+	move	$v1, $t1	
+	sw	$v1, 0($sp)	
+	addi	$sp, $sp, -4	
+	lw	$t2, __x		# Load integer Register
+	move	$v1, $t2	
+	sw	$v1, 0($sp)	
+	addi	$sp, $sp, -4	
+	sw	$t0, 0($fp)		# Write back integer register
+	sw	$t1, __y		# Write back integer register
+	sw	$t2, __x		# Write back integer register
+	jal	__gcd	
+	lw	$t0, 0($fp)		# Load integer Register
+	move	$t0, $v0	
+	move	$v1, $t0	
+	sw	$v1, 0($sp)	
+	addi	$sp, $sp, -4	
+	sw	$t0, 0($fp)		# Write back integer register
+	jal	__writeinteger	
+	lw	$ra, 0($fp)		# Return from call
+	lw	$fp, -4($fp)	
+	addi	$sp, $sp, 12	
+	jr	$ra	
+	.end	__example	
+	
+	.ent	__gcd	
+__gcd:	
+	sw	$ra, 0($sp)		# Set up stack frame
+	sw	$fp, -4($sp)	
+	move	$fp, $sp	
+	addi	$sp, $sp, -36	
+	lw	$t0, -4($fp)		# Load integer Register
+	addi	$a0, $0, 0	
+	bne	$a0, $t0, _L1		# Branch Instruction Int
+	lw	$t1, -8($fp)		# Load integer Register
+	lw	$t2, 0($fp)		# Load integer Register
+	move	$t1, $t2	
+	j	_L0	
+_L1:	
+	lw	$t3, -16($fp)		# Load integer Register
+	mul	$t3, $t2, $t0		# Binary Arithmetic
+	move	$v1, $t3	
+	sw	$v1, 0($sp)	
+	addi	$sp, $sp, -4	
+	move	$v1, $t0	
+	sw	$v1, 0($sp)	
+	addi	$sp, $sp, -4	
+	sw	$t0, -4($fp)		# Write back integer register
+	sw	$t1, -8($fp)		# Write back integer register
+	sw	$t2, 0($fp)		# Write back integer register
+	sw	$t3, -16($fp)		# Write back integer register
+	jal	__gcd	
+	lw	$t0, -20($fp)		# Load integer Register
+	move	$t0, $v0	
+	lw	$t1, -8($fp)		# Load integer Register
+	move	$t1, $t0	
+_L0:	
+	sw	$t0, -20($fp)		# Write back integer register
+	sw	$t1, -8($fp)		# Write back integer register
+	lw	$t0, -8($fp)		# Load integer Register
+	move	$v0, $t0		# Store integer return value
+	lw	$ra, 0($fp)		# Return from call
+	lw	$fp, -4($fp)	
+	addi	$sp, $sp, 44	
+	jr	$ra	
+	.end	__gcd	
+	
+	.ent	__readinteger		# Start of builtin functions and procedures
+__readinteger:	
+	addi	$v0, $0, 5	
+	syscall	
+	addi	$sp, $sp, 4	
+	jr	$ra	
+	.end	__readinteger	
+	
+	.ent	__writeinteger	
+__writeinteger:	
+	lw	$a0, 4($sp)	
+	addi	$v0, $0, 1	
+	syscall	
+	addi	$sp, $sp, 4	
+	jr	$ra	
+	.end	__writeinteger	
+
Index: /liacs/coco/assignment4/debug.sh
===================================================================
--- /liacs/coco/assignment4/debug.sh	(revision 2)
+++ /liacs/coco/assignment4/debug.sh	(revision 2)
@@ -0,0 +1,16 @@
+#!/bin/sh
+#
+# Trivial debug script, display test case, compile and run, and display
+# testcase again
+
+TESTFILE=${1-../tests/simple/correct1.p0}
+PROG="./comp"
+make all
+if [ $? -eq 0 ]; then
+	cat -n $TESTFILE
+	ARGS=" -w -O0 "
+	echo "===BEGIN Command: $PROG $ARGS < $TESTFILE==="
+	$PROG $ARGS < $TESTFILE
+	echo "===END Command: $PROG $ARGS < $TESTFILE==="
+	cat ./out.s
+fi
Index: /liacs/coco/assignment4/dotests
===================================================================
--- /liacs/coco/assignment4/dotests	(revision 2)
+++ /liacs/coco/assignment4/dotests	(revision 2)
@@ -0,0 +1,80 @@
+#!/usr/bin/perl -w
+use strict; no strict 'vars';
+
+########################################################################
+# Configuration options.
+
+# Your compiler
+$compiler = './comp';
+
+# Name of the log file.
+$log = 'test-runs-log';
+
+# Verbose log (includes output for succesful runs)?
+$verbose = 0;
+
+# List of tops of directory trees with tests.
+$testdir = '../tests/';
+$dirfile = $testdir.'dirs';
+
+########################################################################
+
+
+$me = `whoami`;
+chomp($me);
+$templog = '/tmp/' . $me . '-log';
+
+system("rm -f $log");
+
+if (! -x $compiler) {
+  die ("Cannot execute \"$compiler\"");
+}
+
+$success = 0;
+$failure = 0;
+
+$| = 1;
+open(TESTS, "find `cat $dirfile` -type f -name '*.p?'  2> /dev/null |") or die;
+undef $/;
+$_ = <TESTS>;
+@test = split;
+close(TESTS);
+
+foreach $test (@test) {
+  if (! -r $test) {
+    print STDERR "Skipping unreadable test $test\n";
+  }
+
+  print STDERR "Doing test $test\n";
+  system("echo Doing test $test >> $log");
+
+  $test =~ m/^.*\.p([01])$/;
+  $expected = $1;
+
+  # Call the compiler; all output to $templog
+  system("$compiler < $test 2> $templog > $templog");
+
+  $exitval = $? >> 8;
+  if ($exitval == $expected) {
+    $success++;
+    system("echo Succeeded >> $log");
+    if ($verbose) {
+      system("cat $templog >> $log");
+    }
+  } else {
+    print "Failed test \"$test\" with exitcode $exitval \n";
+    system("cat $templog >> $log");
+    system("echo Failed test $test with exitcode $exitval >> $log");
+    $failure++;
+  }
+}
+
+open(RES, "| tee -a $log");
+print RES "\n\n";
+print RES "#tests: ", $success + $failure, "\n";
+print RES "#successes: $success\n";
+print RES "#failures: $failure\n";
+printf RES "Success rate: %3.2f %%\n", (100 * $success / ($success + $failure));
+close(RES);
+
+exit ($failure == 0);
Index: /liacs/coco/assignment4/gdb.script
===================================================================
--- /liacs/coco/assignment4/gdb.script	(revision 2)
+++ /liacs/coco/assignment4/gdb.script	(revision 2)
@@ -0,0 +1,2 @@
+run -w -O0  < ../tests/simple/correct1.p0
+bt
Index: /liacs/coco/assignment4/globals.h
===================================================================
--- /liacs/coco/assignment4/globals.h	(revision 2)
+++ /liacs/coco/assignment4/globals.h	(revision 2)
@@ -0,0 +1,85 @@
+/*
+ * File:   globals.h
+ * Author: rick
+ *
+ * Created on November 19, 2008, 1:29 AM
+ */
+
+#ifndef _GLOBALS_H
+#define	_GLOBALS_H
+
+/* prefix used for user declared identifiers to prevent name clashes with mips
+ * assembly
+ */
+#define SYMBOL_PREFIX "__"
+
+/* The name of the register used, not all yet defined */
+typedef enum __mregistername {
+  R_ZERO = 0,
+  R_AT = 1,
+  R_V0 = 2,
+  R_V1 = 3,
+  R_A0 = 4,
+  R_A1 = 5,
+  R_A2 = 6,
+  R_A3 = 7,
+  R_T0 = 8,
+  R_T1 = 9,
+  R_T2 = 10,
+  R_T3 = 11,
+  R_T4 = 12,
+  R_T5 = 13,
+  R_T6 = 14,
+  R_T7 = 15,
+  R_S0 = 16,
+  R_S1 = 17,
+  R_S2 = 18,
+  R_S3 = 19,
+  R_S4 = 20,
+  R_S5 = 21,
+  R_S6 = 22,
+  R_S7 = 23,
+  R_T8 = 24,
+  R_T9 = 25,
+  R_K0 = 26,
+  R_K1 = 27,
+  R_GP = 28,
+  R_SP = 29,
+  R_FP = 30,
+  R_RA = 31,
+  R_F0 = 32,
+  R_F1,
+  R_F2,
+  R_F3,
+  R_F4,
+  R_F5,
+  R_F6,
+  R_F7,
+  R_F8,
+  R_F9,
+  R_F10,
+  R_F11,
+  R_F12,
+  R_F13,
+  R_F14,
+  R_F15,
+  R_F16,
+  R_F17,
+  R_F18,
+  R_F19,
+  R_F20,
+  R_F21,
+  R_F22,
+  R_F23,
+  R_F24,
+  R_F25,
+  R_F26,
+  R_F27,
+  R_F28,
+  R_F29,
+  R_F30,
+  R_F31
+} MRegisterType;
+
+
+#endif	/* _GLOBALS_H */
Index: /liacs/coco/assignment4/main.cc
===================================================================
--- /liacs/coco/assignment4/main.cc	(revision 2)
+++ /liacs/coco/assignment4/main.cc	(revision 2)
@@ -0,0 +1,145 @@
+/*
+ * main.cc
+ *
+ * This file contains some generic functions. It is part of
+ * the assignment for the Compiler Construction course at the Leiden Institute
+ * of Advanced Computer Science (LIACS), Leiden University.
+ */
+
+#include "SymbolTable.h"
+#include "ICGenerator.h"
+#include "CodeGenerator.h"
+
+/* Globals */
+ICGenerator * icg;
+IntermediateCode * icode;
+CodeGenerator * cg;
+bool bWarnings = true;
+bool bOptimize1 = false;
+
+
+/* Extern functions */
+int yyparse();                // The parser
+bool IsGlobal(Symbol * sym);  // Is the specified symbol a global variable?
+
+
+/* Extern variables */
+extern int lineno;
+extern SyntaxTree * tree;
+extern SymbolTable * symtab;
+extern int gErrorCount;
+extern int gWarningCount;
+
+
+
+void PrintError (char * msg) {
+  fprintf (stderr, "Error on line %d: %s\n", lineno, msg);
+  gErrorCount++;
+}//PrintError
+
+
+void PrintWarning (char * msg) {
+  if (bWarnings) {
+    fprintf (stderr, "Warning on line %d: %s\n", lineno, msg);
+    gWarningCount++;
+  }
+}//PrintWarning
+
+
+/* Parse the command line */
+int ParseCommandline(int argc, char ** argv)
+{
+  for (int i = 1; i < argc; i++) {
+    if (strcmp(argv[i], "-w") == 0) {
+      bWarnings = false;
+    }
+    else if (strcmp(argv[i], "-O0") == 0) {
+      bOptimize1 = false;
+    }
+    else if (strcmp(argv[i], "-O1") == 0) {
+      bOptimize1 = true;
+    }
+    else {
+      fprintf(stderr, "Error: unrecognized command line option '%s'\n", argv[i]);
+      return 1;
+    }
+  }
+
+  return 0;
+}
+
+
+void initialize()
+{
+  /* Create & initialize the abstract data structures */
+  tree = new SyntaxTree;
+  symtab = new SymbolTable;
+  icg = new ICGenerator;
+  cg = new CodeGenerator;
+  icode = NULL;
+
+  gErrorCount = 0;
+  gWarningCount = 0;
+}
+
+
+void cleanup()
+{
+  /* Free objects */
+  delete cg;
+  delete icg;
+  delete tree;
+  delete symtab;
+  if (icode) delete icode;
+}
+
+
+int main(int argc, char ** argv)
+{
+  FILE * outfile;
+  const char * outfilename = "out.s";
+  int parseResult;
+
+  if (ParseCommandline(argc, argv) == 1) {
+    return 1;
+  }
+
+  initialize();
+
+  /* Start the parsing procedure */
+  parseResult = yyparse();
+
+  /* Dump the syntax tree & symbol table */
+  tree->Dump (stdout);
+  printf("\n");
+  symtab->Dump (stdout);
+
+  /* Generate intermediate code, if everything is still ok */
+  if (!(parseResult || gErrorCount)) {
+    if (bOptimize1) {
+      icg->Preprocess(tree, symtab);
+    }
+    icode = icg->GenerateIntermediateCode(tree, symtab);
+    icode->Dump(stdout);
+    if (bOptimize1) {
+      icg->Postprocess(icode, symtab);
+    }
+
+    /* Now generate the final assembly */
+    outfile = fopen(outfilename, "w+");
+    cg->GenerateHeader(outfile);
+    cg->GenerateGlobalDecls(outfile, symtab);
+    cg->GenerateCode(outfile, symtab, icode);
+    cg->GenerateTrailer(outfile);
+    cg->Dump(outfile);
+    fclose(outfile);
+    printf("Output has been written to \"%s\".\n", outfilename);
+  }
+
+  printf("%d error(s), %d warning(s)\n", gErrorCount + parseResult, gWarningCount);
+
+  cleanup();
+
+  return (parseResult || gErrorCount);
+
+}
Index: /liacs/coco/assignment4/obj/.cvsignore
===================================================================
--- /liacs/coco/assignment4/obj/.cvsignore	(revision 2)
+++ /liacs/coco/assignment4/obj/.cvsignore	(revision 2)
@@ -0,0 +1,1 @@
+.svn
Index: /liacs/coco/assignment4/obj/CVS/Entries
===================================================================
--- /liacs/coco/assignment4/obj/CVS/Entries	(revision 2)
+++ /liacs/coco/assignment4/obj/CVS/Entries	(revision 2)
@@ -0,0 +1,14 @@
+/ICGenerator0.o/1.1/Thu Nov  6 10:06:41 2008/-kb/
+/IOperand.o/1.1/Thu Nov  6 10:06:41 2008/-kb/
+/IOperator.o/1.1/Thu Nov  6 10:06:41 2008/-kb/
+/IStatement.o/1.1/Thu Nov  6 10:06:41 2008/-kb/
+/IntermediateCode.o/1.1/Thu Nov  6 10:06:41 2008/-kb/
+/Node.o/1.1/Thu Nov  6 10:06:41 2008/-kb/
+/Scope.o/1.1/Thu Nov  6 10:06:41 2008/-kb/
+/Symbol.o/1.1/Thu Nov  6 10:06:41 2008/-kb/
+/SymbolTable.o/1.1/Thu Nov  6 10:06:41 2008/-kb/
+/SyntaxTree.o/1.1/Thu Nov  6 10:06:41 2008/-kb/
+/lex.yy.o/1.1/Thu Nov  6 10:06:41 2008/-kb/
+/types.o/1.1/Thu Nov  6 10:06:41 2008/-kb/
+/y.tab.o/1.1/Thu Nov  6 10:06:41 2008/-kb/
+D
Index: /liacs/coco/assignment4/obj/CVS/Repository
===================================================================
--- /liacs/coco/assignment4/obj/CVS/Repository	(revision 2)
+++ /liacs/coco/assignment4/obj/CVS/Repository	(revision 2)
@@ -0,0 +1,1 @@
+assignment4/obj
Index: /liacs/coco/assignment4/obj/CVS/Root
===================================================================
--- /liacs/coco/assignment4/obj/CVS/Root	(revision 2)
+++ /liacs/coco/assignment4/obj/CVS/Root	(revision 2)
@@ -0,0 +1,1 @@
+:pserver:hvdzwet@cvs.liacs.nl:/cvs/coco08/group6
Index: /liacs/coco/assignment4/testall.sh
===================================================================
--- /liacs/coco/assignment4/testall.sh	(revision 2)
+++ /liacs/coco/assignment4/testall.sh	(revision 2)
@@ -0,0 +1,32 @@
+#!/bin/sh
+#
+# Trivial debug script, display test case, compile and run, and display
+# testcase again
+
+PROG="./comp"
+ASMFILE="./out.s"
+TMPFILE=`mktemp -t $(basename $0).XXXXXX`
+
+trap "rm $TMPFILE" 1 0
+
+make all
+if [ $? -eq 0 ]; then
+	for TESTFILE in `find  ../tests/ -type f -regex ".*\.p[01]"`; do
+		ARGS=" -O0"
+		echo "Testing: $TESTFILE"
+		$PROG $ARGS < $TESTFILE 2>/dev/null 1>/dev/null
+		(echo 2; echo 3) | spim -f $ASMFILE 2>$TMPFILE 1>/dev/null
+		grep -q -e 'syntax error' $TMPFILE
+		if [ $? -eq 0 ]; then
+			cat $TMPFILE
+			echo "File processing: $TESTFILE"
+			echo "===BEGIN CODE ==="
+			cat $TESTFILE
+			echo "===END CODE ==="
+			echo "=== ASSEMBLY CODE =="
+			cat $ASMFILE
+			echo "=== END ASSEMBLY CODE ==="
+			exit 1
+		fi
+	done
+fi
Index: /liacs/coco/assignment4/trap.handler
===================================================================
--- /liacs/coco/assignment4/trap.handler	(revision 2)
+++ /liacs/coco/assignment4/trap.handler	(revision 2)
@@ -0,0 +1,112 @@
+# SPIM S20 MIPS simulator.
+# The default trap handler for spim.
+#
+# Copyright (C) 1990-2000 James Larus, larus@cs.wisc.edu.
+# ALL RIGHTS RESERVED.
+#
+# SPIM is distributed under the following conditions:
+#
+# You may make copies of SPIM for your own use and modify those copies.
+#
+# All copies of SPIM must retain my name and copyright notice.
+#
+# You may not sell SPIM or distributed SPIM in conjunction with a commerical
+# product or service without the expressed written consent of James Larus.
+#
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE.
+#
+
+# $Header: /cvs/coco08/group6/assignment4/trap.handler,v 1.1 2008/11/06 10:06:41 svhaastr Exp $
+
+
+# Define the exception handling code.  This must go first!
+
+	.kdata
+__m1_:	.asciiz "  Exception "
+__m2_:	.asciiz " occurred and ignored\n"
+__e0_:	.asciiz "  [Interrupt] "
+__e1_:	.asciiz	""
+__e2_:	.asciiz	""
+__e3_:	.asciiz	""
+__e4_:	.asciiz	"  [Unaligned address in inst/data fetch] "
+__e5_:	.asciiz	"  [Unaligned address in store] "
+__e6_:	.asciiz	"  [Bad address in text read] "
+__e7_:	.asciiz	"  [Bad address in data/stack read] "
+__e8_:	.asciiz	"  [Error in syscall] "
+__e9_:	.asciiz	"  [Breakpoint] "
+__e10_:	.asciiz	"  [Reserved instruction] "
+__e11_:	.asciiz	""
+__e12_:	.asciiz	"  [Arithmetic overflow] "
+__e13_:	.asciiz	"  [Inexact floating point result] "
+__e14_:	.asciiz	"  [Invalid floating point result] "
+__e15_:	.asciiz	"  [Divide by 0] "
+__e16_:	.asciiz	"  [Floating point overflow] "
+__e17_:	.asciiz	"  [Floating point underflow] "
+__excp:	.word __e0_,__e1_,__e2_,__e3_,__e4_,__e5_,__e6_,__e7_,__e8_,__e9_
+	.word __e10_,__e11_,__e12_,__e13_,__e14_,__e15_,__e16_,__e17_
+s1:	.word 0
+s2:	.word 0
+
+	.ktext 0x80000080
+	.set noat
+	# Because we are running in the kernel, we can use $k0/$k1 without
+	# saving their old values.
+	move $k1 $at	# Save $at
+	.set at
+	sw $v0 s1	# Not re-entrent and we can't trust $sp
+	sw $a0 s2
+	mfc0 $k0 $13	# Cause
+        sgt $v0 $k0 0x44 # ignore interrupt exceptions
+        bgtz $v0 ret
+        addu $0 $0 0
+	li $v0 4	# syscall 4 (print_str)
+	la $a0 __m1_
+	syscall
+	li $v0 1	# syscall 1 (print_int)
+        srl $a0 $k0 2	# shift Cause reg
+	syscall
+	li $v0 4	# syscall 4 (print_str)
+	lw $a0 __excp($k0)
+	syscall
+	bne $k0 0x18 ok_pc # Bad PC requires special checks
+	mfc0 $a0, $14	# EPC
+	and $a0, $a0, 0x3 # Is EPC word-aligned?
+	beq $a0, 0, ok_pc
+	li $v0 10	# Exit on really bad PC (out of text)
+	syscall
+
+ok_pc:
+	li $v0 4	# syscall 4 (print_str)
+	la $a0 __m2_
+	syscall
+	mtc0 $0, $13	# Clear Cause register
+ret:	lw $v0 s1
+	lw $a0 s2
+	mfc0 $k0 $14	# EPC
+	.set noat
+	move $at $k1	# Restore $at
+	.set at
+	rfe		# Return from exception handler
+	addiu $k0 $k0 4 # Return to next instruction
+	jr $k0
+
+
+# Standard startup code.  Invoke the routine main with no arguments.
+
+	.text
+	.globl __start
+__start:
+	lw $a0, 0($sp)	# argc
+	addiu $a1, $sp, 4 # argv
+	addiu $a2, $a1, 4 # envp
+	sll $v0, $a0, 2
+	addu $a2, $a2, $v0
+	jal main
+	li $v0 10
+	syscall		# syscall 10 (exit)
+
+	.globl __eoth
+__eoth:
Index: /liacs/coco/assignment4/types.h
===================================================================
--- /liacs/coco/assignment4/types.h	(revision 2)
+++ /liacs/coco/assignment4/types.h	(revision 2)
@@ -0,0 +1,139 @@
+/*
+ * types.h - Various type definitions
+ *
+ * Part of the assignment of the Compiler Construction course
+ * LIACS, Leiden University
+ */
+
+#ifndef _TYPES_H_
+#define _TYPES_H_
+
+#include <string>
+
+using namespace std;
+
+// Return type of a node
+typedef enum __returntype {
+  RT_UNKNOWN,               // Not (yet) known
+  RT_ERROR,                 // Error
+  RT_VOID,                  // Void
+  RT_INT,                   // Integer
+  RT_REAL,                  // Floating point
+  RT_BOOL                   // Boolean expression
+} ReturnType;
+
+
+// Type of a symbol
+typedef enum __symboltype {
+  ST_UNKNOWN,               // Unknown (yet)
+  ST_ERROR,                 // Error
+  ST_VARIABLE,              // Variable
+  ST_PARAMETER,             // Function/Procedure parameter
+  ST_PROCEDURE,             // Procedure
+  ST_FUNCTION,              // Function
+  ST_PROGRAM,               // Program body
+  ST_TEMPVAR,               // Temporary variable (not used before assignment 3)
+  ST_LABEL                  // Label (not used before assignment 3)
+} SymbolType;
+
+
+// Type of a node in the syntax tree
+typedef enum __nodetype {
+  /* Meta */
+  NODE_UNKNOWN,             // Unknown (yet)
+  NODE_ERROR,               // Error
+  
+  /* Statement list
+     left child     One of: NODE_ASSIGNMENT, NODE_IF, NODE_WHILE,
+                    NODE_PROCCALL, NODE_FUNCTIONCALL, NODE_STATEMENT_LIST.
+     right child    One of: NODE_ASSIGNMENT, NODE_IF, NODE_WHILE,
+                    NODE_PROCCALL, NODE_FUNCTIONCALL, NODE_STATEMENT_LIST, or
+                    NODE_EMPTY if no more statements follow. */
+  NODE_STATEMENT_LIST,
+
+  /* Assignment
+     left child     A NODE_ID that identifies the destination variable
+     right child    A subtree representing an expression */
+  NODE_ASSIGNMENT,
+
+  /* If statement
+     left child     A NODE_BOOLEXPR that provides the if condition
+     right child    A NODE_IF_TARGETS subtree (if there is an else clause) or
+                    a subtree consisting of statements (if there's no else) */
+  NODE_IF,
+
+  /* Targets of an if-else-statement
+     left child     The statements that have to be executed when the condition
+                    of the parent if-statement is true.
+     right child    The statements that have to be executed when the condition
+                    of the parent if-statement is false, that is, the else
+                    part. */
+  NODE_IF_TARGETS,
+
+  /* While loop
+     left child     A NODE_BOOLEXPR that provides the loop condition
+     right child    A subtree consisting of statements */
+  NODE_WHILE,
+
+  /* Subprogram calls
+     left child     A NODE_ID that identifies the called function/procedure
+     right child    A NODE_EXPRLIST that specifies the actual arguments, or
+                    NODE_EMPTY if no arguments required. */
+  NODE_PROCCALL,
+  NODE_FUNCTIONCALL,
+
+  /* Expression list
+     left child     A subtree representing an expression
+     right child    A subtree representing an expression, another
+                    NODE_EXPRLIST, or NODE_EMPTY if no more expressions follow
+                    in the expression list. */
+  NODE_EXPRLIST,
+
+  /* Boolean-like expression
+     child          A subtree with any NODE_REL_ node as parent */
+  NODE_BOOLEXPR,
+
+  /* Relational operators
+     left child     Left-hand side of the comparison
+     right child    Right-hand side of the comparison */
+  NODE_REL_EQUAL,           //  = operator
+  NODE_REL_LT,              //  < operator
+  NODE_REL_GT,              //  > operator
+  NODE_REL_LTE,             //  <= operator
+  NODE_REL_GTE,             //  >= operator
+  NODE_REL_NOTEQUAL,        //  <> operator
+
+  /* Binary arithmetic & logic operations
+     left child     Left-hand side of the operation
+     right child    Right-hand side of the operation */
+  NODE_ADD,                 // Add
+  NODE_SUB,                 // Substract
+  NODE_OR,                  // OR operation
+  NODE_MUL,                 // Multiply
+  NODE_DIV,                 // Divide
+  NODE_IDIV,                // Integer division
+  NODE_MOD,                 // Modulo
+  NODE_AND,                 // AND operation
+
+  /* Leafs
+     these nodes have no child nodes */
+  NODE_NUM_INT,             // Integer number
+  NODE_NUM_REAL,            // Real number
+  NODE_ID,                  // Identifier
+  NODE_EMPTY,               // Empty leaf (terminates lists etc.)
+
+  /* Unary nodes
+     child          The subtree to which the operation has to be applied */
+  NODE_NOT,                 // NOT operation
+  NODE_SIGNPLUS,            // Unary plus
+  NODE_SIGNMINUS,           // Unary minus
+  NODE_COERCION             // Int to Real coercion
+} NodeType;
+
+
+/* Prototypes */
+char * ReturnTypeToString (ReturnType returntype);
+char * SymbolTypeToString (SymbolType symboltype);
+char * NodeTypeToString (NodeType nodetype);
+
+#endif
Index: /liacs/coco/assignment5/trap.handler
===================================================================
--- /liacs/coco/assignment5/trap.handler	(revision 2)
+++ /liacs/coco/assignment5/trap.handler	(revision 2)
@@ -0,0 +1,112 @@
+# SPIM S20 MIPS simulator.
+# The default trap handler for spim.
+#
+# Copyright (C) 1990-2000 James Larus, larus@cs.wisc.edu.
+# ALL RIGHTS RESERVED.
+#
+# SPIM is distributed under the following conditions:
+#
+# You may make copies of SPIM for your own use and modify those copies.
+#
+# All copies of SPIM must retain my name and copyright notice.
+#
+# You may not sell SPIM or distributed SPIM in conjunction with a commerical
+# product or service without the expressed written consent of James Larus.
+#
+# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE.
+#
+
+# $Header: /cvs/coco08/group6/assignment5/trap.handler,v 1.1 2008/11/13 13:44:15 svhaastr Exp $
+
+
+# Define the exception handling code.  This must go first!
+
+	.kdata
+__m1_:	.asciiz "  Exception "
+__m2_:	.asciiz " occurred and ignored\n"
+__e0_:	.asciiz "  [Interrupt] "
+__e1_:	.asciiz	""
+__e2_:	.asciiz	""
+__e3_:	.asciiz	""
+__e4_:	.asciiz	"  [Unaligned address in inst/data fetch] "
+__e5_:	.asciiz	"  [Unaligned address in store] "
+__e6_:	.asciiz	"  [Bad address in text read] "
+__e7_:	.asciiz	"  [Bad address in data/stack read] "
+__e8_:	.asciiz	"  [Error in syscall] "
+__e9_:	.asciiz	"  [Breakpoint] "
+__e10_:	.asciiz	"  [Reserved instruction] "
+__e11_:	.asciiz	""
+__e12_:	.asciiz	"  [Arithmetic overflow] "
+__e13_:	.asciiz	"  [Inexact floating point result] "
+__e14_:	.asciiz	"  [Invalid floating point result] "
+__e15_:	.asciiz	"  [Divide by 0] "
+__e16_:	.asciiz	"  [Floating point overflow] "
+__e17_:	.asciiz	"  [Floating point underflow] "
+__excp:	.word __e0_,__e1_,__e2_,__e3_,__e4_,__e5_,__e6_,__e7_,__e8_,__e9_
+	.word __e10_,__e11_,__e12_,__e13_,__e14_,__e15_,__e16_,__e17_
+s1:	.word 0
+s2:	.word 0
+
+	.ktext 0x80000080
+	.set noat
+	# Because we are running in the kernel, we can use $k0/$k1 without
+	# saving their old values.
+	move $k1 $at	# Save $at
+	.set at
+	sw $v0 s1	# Not re-entrent and we can't trust $sp
+	sw $a0 s2
+	mfc0 $k0 $13	# Cause
+        sgt $v0 $k0 0x44 # ignore interrupt exceptions
+        bgtz $v0 ret
+        addu $0 $0 0
+	li $v0 4	# syscall 4 (print_str)
+	la $a0 __m1_
+	syscall
+	li $v0 1	# syscall 1 (print_int)
+        srl $a0 $k0 2	# shift Cause reg
+	syscall
+	li $v0 4	# syscall 4 (print_str)
+	lw $a0 __excp($k0)
+	syscall
+	bne $k0 0x18 ok_pc # Bad PC requires special checks
+	mfc0 $a0, $14	# EPC
+	and $a0, $a0, 0x3 # Is EPC word-aligned?
+	beq $a0, 0, ok_pc
+	li $v0 10	# Exit on really bad PC (out of text)
+	syscall
+
+ok_pc:
+	li $v0 4	# syscall 4 (print_str)
+	la $a0 __m2_
+	syscall
+	mtc0 $0, $13	# Clear Cause register
+ret:	lw $v0 s1
+	lw $a0 s2
+	mfc0 $k0 $14	# EPC
+	.set noat
+	move $at $k1	# Restore $at
+	.set at
+	rfe		# Return from exception handler
+	addiu $k0 $k0 4 # Return to next instruction
+	jr $k0
+
+
+# Standard startup code.  Invoke the routine main with no arguments.
+
+	.text
+	.globl __start
+__start:
+	lw $a0, 0($sp)	# argc
+	addiu $a1, $sp, 4 # argv
+	addiu $a2, $a1, 4 # envp
+	sll $v0, $a0, 2
+	addu $a2, $a2, $v0
+	jal main
+	li $v0 10
+	syscall		# syscall 10 (exit)
+
+	.globl __eoth
+__eoth:
Index: /liacs/coco/import2svn.sh
===================================================================
--- /liacs/coco/import2svn.sh	(revision 2)
+++ /liacs/coco/import2svn.sh	(revision 2)
@@ -0,0 +1,4 @@
+#!/bin/sh
+# CoCo uses CVS, this onliner allows importing the files back into my
+# subversion as well
+svn add `svn status | grep -v 'CVS' | awk '/^\? / {print $2}'`
Index: /liacs/coco/tests/README.dotests
===================================================================
--- /liacs/coco/tests/README.dotests	(revision 2)
+++ /liacs/coco/tests/README.dotests	(revision 2)
@@ -0,0 +1,19 @@
+The 'dotests' script is a Perl script. Therefore you need to have Perl
+installed. In case of failure, make sure that the path to the Perl binary is
+correct (which can be found in the first line of the script).
+
+Inside the script are some variables that control the behaviour of the script.
+
+The script is preconfigured to run in the directory in which you build
+your compiler binary. The 'tests' directory with all other files needs
+to be placed one level above that build directory.
+
+The script expects a return value of the compiler:
+  0 for a correct program
+  1 for an incorrect program
+Other values are considered as a failure. For example, a segmentation fault 
+will always result in a non-zero value.
+
+
+(original text by Paul van der Mark,
+translated & adapted by Sven van Haastregt)
Index: /liacs/coco/tests/calls/correct_call.p0
===================================================================
--- /liacs/coco/tests/calls/correct_call.p0	(revision 2)
+++ /liacs/coco/tests/calls/correct_call.p0	(revision 2)
@@ -0,0 +1,18 @@
+program towel;
+
+var
+  zaphod,
+  breeblebox: integer;
+var
+  mice: real;
+
+function guide(arthur, ford: integer): real;
+
+begin
+  guide := arthur + ford
+end;
+
+begin
+  { correct function call }
+  mice := guide(zaphod, breeblebox)
+end.
Index: /liacs/coco/tests/calls/not_enough_parameters.p1
===================================================================
--- /liacs/coco/tests/calls/not_enough_parameters.p1	(revision 2)
+++ /liacs/coco/tests/calls/not_enough_parameters.p1	(revision 2)
@@ -0,0 +1,18 @@
+program towel;
+
+var
+  zaphod,
+  breeblebox: integer;
+
+function guide(arthur, ford: integer): integer;
+
+begin
+  guide := arthur + ford
+end;
+
+begin
+  { error: not enough parameters
+    guide: integer x integer -> integer
+    call: integer -> integer }
+  breeblebox := guide(zaphod)
+end.
Index: /liacs/coco/tests/calls/procedure_is_no_function.p1
===================================================================
--- /liacs/coco/tests/calls/procedure_is_no_function.p1	(revision 2)
+++ /liacs/coco/tests/calls/procedure_is_no_function.p1	(revision 2)
@@ -0,0 +1,13 @@
+program snafu;
+
+var foo: integer;
+
+procedure proc(a: integer);
+
+begin
+  a := 3
+end;
+
+begin
+  foo := proc(42)
+end.
Index: /liacs/coco/tests/calls/result_discarded.p1
===================================================================
--- /liacs/coco/tests/calls/result_discarded.p1	(revision 2)
+++ /liacs/coco/tests/calls/result_discarded.p1	(revision 2)
@@ -0,0 +1,14 @@
+{ in C the result of function can be discarded (e.g. often used with printf),
+  this is not allowed in pascal } 
+
+program snafu;
+
+function fun(a: integer): integer;
+
+begin
+  a := 3
+end;
+
+begin
+  fun(42)
+end.
Index: /liacs/coco/tests/calls/too_many_parameters1.p1
===================================================================
--- /liacs/coco/tests/calls/too_many_parameters1.p1	(revision 2)
+++ /liacs/coco/tests/calls/too_many_parameters1.p1	(revision 2)
@@ -0,0 +1,19 @@
+program towel;
+
+var
+  zaphod,
+  breeblebox,
+  adams: integer;
+
+function guide(arthur, ford: integer): integer;
+
+begin
+  guide := arthur + ford
+end;
+
+begin
+  { Error: 
+    guide: integer x integer -> integer
+    call:  integer x integer x integer -> integer }
+  zaphod := guide(zaphod, breeblebox, adams)
+end.
Index: /liacs/coco/tests/calls/too_many_parameters2.p1
===================================================================
--- /liacs/coco/tests/calls/too_many_parameters2.p1	(revision 2)
+++ /liacs/coco/tests/calls/too_many_parameters2.p1	(revision 2)
@@ -0,0 +1,19 @@
+program om;
+
+var 
+  a, b, c: integer;
+var
+  d, e: real;
+
+procedure junk(foo, bar, baz, qux: integer);
+
+begin
+  bar := foo
+end;
+
+begin
+  { error
+    junk: integer x integer x integer x integer -> void
+    call: integer -> void }
+  junk(a)
+end.
Index: /liacs/coco/tests/calls/too_many_parameters3.p1
===================================================================
--- /liacs/coco/tests/calls/too_many_parameters3.p1	(revision 2)
+++ /liacs/coco/tests/calls/too_many_parameters3.p1	(revision 2)
@@ -0,0 +1,19 @@
+program om;
+
+var 
+  a, b, c: integer;
+var
+  d, e: real;
+
+procedure junk(foo, bar: integer);
+
+begin
+  bar := foo
+end;
+
+begin
+  { error
+    junk: integer x integer -> void
+    call: integer x integer x integer -> void }
+  junk(a, b, c)
+end.
Index: /liacs/coco/tests/calls/too_many_parameters4.p1
===================================================================
--- /liacs/coco/tests/calls/too_many_parameters4.p1	(revision 2)
+++ /liacs/coco/tests/calls/too_many_parameters4.p1	(revision 2)
@@ -0,0 +1,19 @@
+program towel;
+
+var
+  zaphod,
+  breeblebox,
+  adams: integer;
+
+function guide(arthur, ford: integer): integer;
+
+begin
+  guide := arthur + ford
+end;
+
+begin
+  { error
+    guide: integer x integer -> integer
+    call: integer x integer x integer x integer -> integer }
+  zaphod := guide(zaphod, breeblebox, adams, adams)
+end.
Index: /liacs/coco/tests/calls/type_problem_with_result.p1
===================================================================
--- /liacs/coco/tests/calls/type_problem_with_result.p1	(revision 2)
+++ /liacs/coco/tests/calls/type_problem_with_result.p1	(revision 2)
@@ -0,0 +1,20 @@
+program towel;
+
+var
+  zaphod,
+  breeblebox: real;
+var
+  mice: integer;
+
+function guide(arthur, ford: real): real;
+
+begin
+  guide := arthur + ford
+end;
+
+begin
+  { error
+    guide: real x real -> real
+    call: real x real -> integer }
+  mice := guide(zaphod, breeblebox)
+end.
Index: /liacs/coco/tests/calls/wrong_types1.p1
===================================================================
--- /liacs/coco/tests/calls/wrong_types1.p1	(revision 2)
+++ /liacs/coco/tests/calls/wrong_types1.p1	(revision 2)
@@ -0,0 +1,18 @@
+program towel;
+
+var
+  zaphod,
+  breeblebox,
+  gurble: real;
+
+function guide(arthur, ford: integer): integer;
+
+begin
+  guide := arthur + ford
+end;
+
+begin
+  { error: guide is of type   integer x integer -> integer,
+    not   real x real -> real }
+  gurble := guide(zaphod, breeblebox)
+end.
Index: /liacs/coco/tests/calls/wrong_types2.p1
===================================================================
--- /liacs/coco/tests/calls/wrong_types2.p1	(revision 2)
+++ /liacs/coco/tests/calls/wrong_types2.p1	(revision 2)
@@ -0,0 +1,19 @@
+program om;
+
+var 
+  a, b, c: integer;
+var
+  d, e: real;
+
+procedure junk(foo, bar: integer);
+
+begin
+  bar := foo
+end;
+
+begin
+  { error
+    junk: integer x integer -> void
+    call: real x real -> void }
+  junk(d, e)
+end.
Index: /liacs/coco/tests/code-generation/beuh.p0
===================================================================
--- /liacs/coco/tests/code-generation/beuh.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/beuh.p0	(revision 2)
@@ -0,0 +1,15 @@
+program demo;
+
+function drieentwintig(i : integer): integer;
+
+begin
+  drieentwintig := 23
+end;
+
+begin
+  writeinteger(drieentwintig(42));
+  writeinteger(7 div 3);
+  writeinteger(7 mod 3);
+  if (10/5 = 20/10) then
+    writeinteger(666)
+end.
Index: /liacs/coco/tests/code-generation/factest.p0
===================================================================
--- /liacs/coco/tests/code-generation/factest.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/factest.p0	(revision 2)
@@ -0,0 +1,32 @@
+program hoop;
+
+var
+  a: integer;
+
+function plus(a, b: integer): integer;
+
+begin
+  plus := a + b
+end;
+
+function fac(i: integer): integer;
+
+var
+  hlp: integer;
+
+begin
+  if (i = 0) then
+    fac := 1
+  else 
+  begin
+    hlp := fac(i-1);
+    writeinteger(i);
+    writeinteger(hlp);
+    fac := i * hlp
+  end
+end;
+
+begin
+  a := fac(plus(3,2));
+  writeinteger(a)
+end.
Index: /liacs/coco/tests/code-generation/fibo.p0
===================================================================
--- /liacs/coco/tests/code-generation/fibo.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/fibo.p0	(revision 2)
@@ -0,0 +1,48 @@
+program fibonee;
+
+var
+  hlp: integer;
+
+function fibo(i: integer): integer;
+
+begin
+  writeinteger(i);
+  if (i <= 1) then
+    fibo := 1
+  else
+    fibo := fibo(i-1) + fibo(i-2)
+end;
+
+function plus(i: integer): integer;
+
+begin
+  plus := i + 1
+end;
+
+function geennaam(i: integer): integer;
+
+begin
+  if (i > 0) then
+    geennaam := 1 + geennaam(i-1)
+  else
+    geennaam := 0
+end;
+
+function dubbeltest(i: integer): integer;
+
+begin
+  if (i = 0) then
+    dubbeltest := 23
+  else
+    dubbeltest := dubbeltest(0) + dubbeltest(0)
+end;
+
+
+begin
+  hlp := fibo(4);
+  writereal(3.5); 
+  writeinteger(hlp);
+  writeinteger(plus(4));
+  writeinteger(geennaam(6));
+  writeinteger(dubbeltest(666))
+end.
Index: /liacs/coco/tests/code-generation/fibo2.p0
===================================================================
--- /liacs/coco/tests/code-generation/fibo2.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/fibo2.p0	(revision 2)
@@ -0,0 +1,30 @@
+program fibonee;
+
+var
+  hlp: integer;
+
+function fibo(i: integer): integer;
+
+var hlp1, hlp2: integer;
+
+begin
+  writeinteger(i);
+  if (i <= 1) then
+  begin
+    { writeinteger(-1); }
+    fibo := 1
+  end
+  else
+  begin
+    hlp1 := fibo(i-1);
+    hlp2 := fibo(i-2);
+    { writeinteger(-(hlp1+hlp2)); }   
+    fibo := hlp1 + hlp2
+  end
+end;
+
+
+begin
+  hlp := fibo(12);
+  writeinteger(hlp)
+end.
Index: /liacs/coco/tests/code-generation/fibo3.p0
===================================================================
--- /liacs/coco/tests/code-generation/fibo3.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/fibo3.p0	(revision 2)
@@ -0,0 +1,19 @@
+program fibonee;
+
+var
+  hlp: integer;
+
+function fibo(i: integer): integer;
+
+begin
+  writeinteger(i);
+  if (i <= 1) then
+    fibo := 1
+  else
+    fibo := fibo(i-1) + fibo(i-2)
+end;
+
+begin
+  hlp := fibo(4);
+  writeinteger(hlp) 
+end.
Index: /liacs/coco/tests/code-generation/plus.p0
===================================================================
--- /liacs/coco/tests/code-generation/plus.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/plus.p0	(revision 2)
@@ -0,0 +1,19 @@
+program calculatortje;
+
+var
+  foo,
+  bar: integer;
+ 
+function plusi(a, b: integer): integer;
+
+begin
+  plusi := a + b
+end;
+
+begin
+  foo := readinteger;
+  writeinteger(foo);
+  bar := readinteger;
+  writeinteger(bar);
+  writeinteger(plusi(foo,bar))
+end.
Index: /liacs/coco/tests/code-generation/plus2.p0
===================================================================
--- /liacs/coco/tests/code-generation/plus2.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/plus2.p0	(revision 2)
@@ -0,0 +1,19 @@
+program calculatortje;
+
+var
+  fred,
+  barney: real;
+
+function plusr(wilma, betty: real): real;
+
+begin
+  plusr := wilma + betty
+end;
+
+begin
+  fred := readreal;
+  barney := readreal;
+  writereal(fred);
+  writereal(barney);
+  writereal(plusr(fred, barney))
+end.
Index: /liacs/coco/tests/code-generation/plus3.p0
===================================================================
--- /liacs/coco/tests/code-generation/plus3.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/plus3.p0	(revision 2)
@@ -0,0 +1,18 @@
+program calculatortje;
+
+var
+  a, a1, a2: integer;
+
+function plus(a, b: integer): integer;
+
+begin
+  plus := a + b
+end;
+
+begin
+  a1 := readinteger;
+  a2 := readinteger;
+  writeinteger(a1);
+  writeinteger(a2);
+  writeinteger(plus(a1,a2))
+end.
Index: /liacs/coco/tests/code-generation/tempnames.p0
===================================================================
--- /liacs/coco/tests/code-generation/tempnames.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/tempnames.p0	(revision 2)
@@ -0,0 +1,16 @@
+program tempnamesmess;
+
+function temp(i: integer): integer;
+
+var temp1, t1, tmp1, t: integer;
+begin
+  temp1 := 42;
+  t1 := temp1 + temp1;
+  tmp1 := t1 div i;
+  writeinteger(t);
+  temp := t
+end;
+
+begin
+  writeinteger(temp(2))
+end.
Index: /liacs/coco/tests/code-generation/temps1.p0
===================================================================
--- /liacs/coco/tests/code-generation/temps1.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/temps1.p0	(revision 2)
@@ -0,0 +1,25 @@
+program k;
+
+function test(i: integer): integer;
+
+var hlp1, hlp2: integer;
+begin
+  writeinteger(i);
+  if (i > 1) then
+  begin
+    hlp1 := test(i-1);
+    hlp2 := test(i-1);
+    writeinteger(-hlp1);
+    writeinteger(-hlp2);
+    test := hlp1 + hlp2
+  end
+  else
+  begin
+    writeinteger(-1);
+    test := 1
+  end
+end;
+
+begin
+  writeinteger(test(4))
+end.
Index: /liacs/coco/tests/code-generation/temps2.p0
===================================================================
--- /liacs/coco/tests/code-generation/temps2.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/temps2.p0	(revision 2)
@@ -0,0 +1,20 @@
+program k;
+
+function test(i: integer): integer;
+
+var hlp1, hlp2: integer;
+begin
+  writeinteger(i);
+  if (i > 1) then
+  begin
+    test := (test(i-1) + test(i-1))
+  end
+  else
+  begin
+    test := 1
+  end
+end;
+
+begin
+  writeinteger(test(6))
+end.
Index: /liacs/coco/tests/code-generation/test1.p0
===================================================================
--- /liacs/coco/tests/code-generation/test1.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/test1.p0	(revision 2)
@@ -0,0 +1,17 @@
+program serieus;
+
+var
+  algol: integer;
+
+function achtenvijftig: integer;
+
+begin
+  achtenvijftig := 58
+end;
+
+begin
+  algol := achtenvijftig;
+  writeinteger(algol);
+  algol := algol + 2;
+  writeinteger(algol)
+end.
Index: /liacs/coco/tests/code-generation/test2.p0
===================================================================
--- /liacs/coco/tests/code-generation/test2.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/test2.p0	(revision 2)
@@ -0,0 +1,16 @@
+program blaah;
+
+var
+  glob: integer;
+
+procedure proc;
+var loc: integer;
+begin
+  loc := 23;
+  glob := loc
+end;
+
+begin
+  proc;
+  writeinteger(glob)
+end.
Index: /liacs/coco/tests/code-generation/test3.p0
===================================================================
--- /liacs/coco/tests/code-generation/test3.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/test3.p0	(revision 2)
@@ -0,0 +1,21 @@
+program diep;
+
+var
+  c: integer;
+
+procedure proc2;
+
+begin
+ c := 64
+end;
+
+procedure proc1;
+
+begin
+  proc2
+end;
+
+begin
+ proc1;
+ writeinteger(c)
+end.
Index: /liacs/coco/tests/code-generation/test4.p0
===================================================================
--- /liacs/coco/tests/code-generation/test4.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/test4.p0	(revision 2)
@@ -0,0 +1,19 @@
+program hoop;
+
+var
+  a: integer;
+
+function fac(i: integer): integer;
+
+begin
+  writeinteger(i);
+  if (i = 0) then
+    fac := 1
+  else 
+    fac := i * fac(i-1)
+end;
+
+begin
+  a := fac(5);
+  writeinteger(a)
+end.
Index: /liacs/coco/tests/code-generation/test5.p0
===================================================================
--- /liacs/coco/tests/code-generation/test5.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/test5.p0	(revision 2)
@@ -0,0 +1,14 @@
+program diep;
+
+var
+  c: integer;
+
+procedure proc1(parm: integer);
+
+begin
+  c := parm + 1
+end;
+
+begin
+  proc1(64)
+end.
Index: /liacs/coco/tests/code-generation/test6.p0
===================================================================
--- /liacs/coco/tests/code-generation/test6.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/test6.p0	(revision 2)
@@ -0,0 +1,13 @@
+program testif;
+
+var 
+  foo, bar: integer;
+
+begin
+  foo := 42;
+  if (foo <> 42) then 
+    bar := 255
+  else
+    bar := 256;
+  writeinteger(bar)
+end.
Index: /liacs/coco/tests/code-generation/test7.p0
===================================================================
--- /liacs/coco/tests/code-generation/test7.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/test7.p0	(revision 2)
@@ -0,0 +1,12 @@
+program weil;
+
+var 
+  johny: integer;
+ 
+begin
+  johny := 10;
+  while (johny > 0) do
+  begin
+    johny := johny - 1
+  end
+end.
Index: /liacs/coco/tests/code-generation/testio1.p0
===================================================================
--- /liacs/coco/tests/code-generation/testio1.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/testio1.p0	(revision 2)
@@ -0,0 +1,14 @@
+program testio;
+
+var
+  fnord: integer;
+var
+  cat: real;
+
+begin
+  fnord := readinteger;
+  writeinteger(fnord);
+
+  cat := readreal;
+  writereal(cat)
+end.
Index: /liacs/coco/tests/code-generation/vlug.p0
===================================================================
--- /liacs/coco/tests/code-generation/vlug.p0	(revision 2)
+++ /liacs/coco/tests/code-generation/vlug.p0	(revision 2)
@@ -0,0 +1,5 @@
+program vlug;
+
+begin
+  writereal(23)
+end.
Index: /liacs/coco/tests/declarations/builtins1.p1
===================================================================
--- /liacs/coco/tests/declarations/builtins1.p1	(revision 2)
+++ /liacs/coco/tests/declarations/builtins1.p1	(revision 2)
@@ -0,0 +1,19 @@
+{ This program is correct wrt the context-free grammar;
+  however, it should reject the variable name 'readreal'.
+}
+
+program builtins;
+
+var
+  r,i : integer;
+var
+  readreal : real;
+
+begin
+  r := 42;
+  i := 21;
+  readreal := -1.5
+end
+
+
+.
Index: /liacs/coco/tests/declarations/builtins2.p1
===================================================================
--- /liacs/coco/tests/declarations/builtins2.p1	(revision 2)
+++ /liacs/coco/tests/declarations/builtins2.p1	(revision 2)
@@ -0,0 +1,23 @@
+{ This program is correct wrt the context-free grammar;
+  however, it should reject the function name 'readreal'.
+}
+
+program builtins;
+
+var
+  r,i : integer;
+
+function readreal: real;
+  var d : real;
+begin
+  readreal := 42.0
+end;
+
+begin
+  r := 42;
+  i := 21;
+  r := readreal
+end
+
+
+.
Index: /liacs/coco/tests/declarations/lookup.p0
===================================================================
--- /liacs/coco/tests/declarations/lookup.p0	(revision 2)
+++ /liacs/coco/tests/declarations/lookup.p0	(revision 2)
@@ -0,0 +1,18 @@
+program a;
+
+var
+  x: integer;
+
+procedure foo(y: integer);
+
+begin
+  if (x>y) then
+    writeinteger(x)
+  else
+    writeinteger(y)
+end;
+
+begin
+  x := 4;
+  foo(3)
+end.
Index: /liacs/coco/tests/declarations/program_is_procedure_name.p1
===================================================================
--- /liacs/coco/tests/declarations/program_is_procedure_name.p1	(revision 2)
+++ /liacs/coco/tests/declarations/program_is_procedure_name.p1	(revision 2)
@@ -0,0 +1,20 @@
+{ In dit programma is er een procedure met dezelfde naam als het
+  programma zelf: controle of dat wordt toegestaan (mag niet)   }
+
+program prgisprocname;
+
+var j : integer;
+
+
+{***************************************************}
+procedure prgisprocname(i: integer);
+
+begin
+  i := 5
+end;
+
+
+{Hoofdprogramma}
+begin
+  prgisprocname(j)
+end.
Index: /liacs/coco/tests/declarations/redeclaration1.p1
===================================================================
--- /liacs/coco/tests/declarations/redeclaration1.p1	(revision 2)
+++ /liacs/coco/tests/declarations/redeclaration1.p1	(revision 2)
@@ -0,0 +1,20 @@
+{ This program is correct wrt the context-free grammar;
+  in the context-sensitive grammar it is incorrect.
+}
+
+program rontest;
+
+var
+	rontest,   { declared earlier ? }
+	ray	:	integer;
+var	raytest,
+	rontest	:	real;      { definitely declared earlier }
+
+begin
+	ray := 35;
+	ray := 33;
+	rontest := -1.5
+end
+
+
+.
Index: /liacs/coco/tests/declarations/redeclaration2.p1
===================================================================
--- /liacs/coco/tests/declarations/redeclaration2.p1	(revision 2)
+++ /liacs/coco/tests/declarations/redeclaration2.p1	(revision 2)
@@ -0,0 +1,18 @@
+{ This program is correct wrt the CF grammar. }
+
+program example;
+
+var x, y, x: integer; { x is redeclared within one var statement }
+function gcd(a,b: integer): integer;
+var c: integer; 
+var d,e,f: integer;
+var c: integer; { c is redeclared }
+begin
+    if b = 0 then gcd := a
+    else gcd := gcd(b, a mod b)
+end;
+
+begin
+    x := readinteger; y := readinteger;
+    writeinteger(gcd(x, y))
+end.
Index: /liacs/coco/tests/declarations/redeclaration3.p1
===================================================================
--- /liacs/coco/tests/declarations/redeclaration3.p1	(revision 2)
+++ /liacs/coco/tests/declarations/redeclaration3.p1	(revision 2)
@@ -0,0 +1,19 @@
+{ This program is correct wrt the CF grammar }
+
+program yetanothertest;
+
+var
+  a: real;
+
+procedure foo(c,b: integer);
+var
+  b: real; { b is already declared as a parameter }
+var
+  c: integer; { c is already declared as a parameter }
+begin
+  writeinteger(b)
+end;
+
+begin
+  a := 0
+end.
Index: /liacs/coco/tests/declarations/redeclaration4.p1
===================================================================
--- /liacs/coco/tests/declarations/redeclaration4.p1	(revision 2)
+++ /liacs/coco/tests/declarations/redeclaration4.p1	(revision 2)
@@ -0,0 +1,10 @@
+{ This program is correct wrt the CF grammar }
+
+program a;
+
+var
+  a: real; { Already defined }
+
+begin
+  a := 0
+end.
Index: /liacs/coco/tests/declarations/redeclaration5.p1
===================================================================
--- /liacs/coco/tests/declarations/redeclaration5.p1	(revision 2)
+++ /liacs/coco/tests/declarations/redeclaration5.p1	(revision 2)
@@ -0,0 +1,19 @@
+{ This program is correct wrt the context-free grammar;
+  in the context-sensitive grammar it is incorrect.
+}
+
+program rontest;
+
+var
+	rontest,
+	ray	:	integer;
+var	raytest	:	real;
+var	rontest	:	real;      { declared earlier }
+
+begin
+	ray := 35;
+	ray := 33;
+	rontest := -1.5
+end
+
+.
Index: /liacs/coco/tests/declarations/redeclaration6.p1
===================================================================
--- /liacs/coco/tests/declarations/redeclaration6.p1	(revision 2)
+++ /liacs/coco/tests/declarations/redeclaration6.p1	(revision 2)
@@ -0,0 +1,17 @@
+{ This program is correct wrt the CF grammar }
+
+program yetanothertest;
+
+var
+  a: real;
+
+function foo(c,b: integer): integer;
+var
+  foo: integer; { foo is already declared as a function }
+begin
+  foo := readinteger
+end;
+
+begin
+  a := 0
+end.
Index: /liacs/coco/tests/declarations/undeclared1.p1
===================================================================
--- /liacs/coco/tests/declarations/undeclared1.p1	(revision 2)
+++ /liacs/coco/tests/declarations/undeclared1.p1	(revision 2)
@@ -0,0 +1,27 @@
+{ This program is correct wrt the context-free grammar; it tests
+  for correct scanning of numerals }
+
+program example;
+
+var x, y: integer;
+function gcd(a,b: integer): integer;
+begin
+    if b <> 0 then gcd := a
+    else gcd := gcd(b, a mod b)
+end;
+
+begin
+    x := readinteger; y := readinteger;
+    writeinteger(gcd(x, y));
+    a := 3;
+    a := 3.5;
+    a := 3E3;
+    a := 2.563E776;
+    a := 1E1;
+    a := 0.150E30;
+    a := -1.3E+13;
+    a := 3.2534E-035;
+    a := -0.02E-30;
+    a := 35E-5;
+    a := a
+end.
Index: /liacs/coco/tests/declarations/undeclared2.p1
===================================================================
--- /liacs/coco/tests/declarations/undeclared2.p1	(revision 2)
+++ /liacs/coco/tests/declarations/undeclared2.p1	(revision 2)
@@ -0,0 +1,11 @@
+program a;
+
+procedure b(c,d: integer);
+
+begin
+  writeinteger(e)
+end;
+
+begin
+  writeinteger(3)
+end.
Index: /liacs/coco/tests/declarations/undeclared3.p1
===================================================================
--- /liacs/coco/tests/declarations/undeclared3.p1	(revision 2)
+++ /liacs/coco/tests/declarations/undeclared3.p1	(revision 2)
@@ -0,0 +1,5 @@
+program ikweetgeentitelmeer;
+
+begin
+  writeinteger(a)
+end.
Index: /liacs/coco/tests/dirs
===================================================================
--- /liacs/coco/tests/dirs	(revision 2)
+++ /liacs/coco/tests/dirs	(revision 2)
@@ -0,0 +1,8 @@
+../tests/calls/
+../tests/declarations/
+../tests/semantic-checks/
+../tests/varia/
+../tests/code-generation/
+../tests/simple/
+../tests/wrongsyntax/
+../tests/optimize/
Index: /liacs/coco/tests/dotests
===================================================================
--- /liacs/coco/tests/dotests	(revision 2)
+++ /liacs/coco/tests/dotests	(revision 2)
@@ -0,0 +1,80 @@
+#!/usr/bin/perl -w
+use strict; no strict 'vars';
+
+########################################################################
+# Configuration options.
+
+# Your compiler
+$compiler = './comp';
+
+# Name of the log file.
+$log = 'test-runs-log';
+
+# Verbose log (includes output for succesful runs)?
+$verbose = 0;
+
+# List of tops of directory trees with tests.
+$testdir = '../tests/';
+$dirfile = $testdir.'dirs';
+
+########################################################################
+
+
+$me = `whoami`;
+chomp($me);
+$templog = '/tmp/' . $me . '-log';
+
+system("rm -f $log");
+
+if (! -x $compiler) {
+  die ("Cannot execute \"$compiler\"");
+}
+
+$success = 0;
+$failure = 0;
+
+$| = 1;
+open(TESTS, "find `cat $dirfile` -type f -name '*.p?'  2> /dev/null |") or die;
+undef $/;
+$_ = <TESTS>;
+@test = split;
+close(TESTS);
+
+foreach $test (@test) {
+  if (! -r $test) {
+    print STDERR "Skipping unreadable test $test\n";
+  }
+
+  print STDERR "Doing test $test\n";
+  system("echo Doing test $test >> $log");
+
+  $test =~ m/^.*\.p([01])$/;
+  $expected = $1;
+
+  # Call the compiler; all output to $templog
+  system("$compiler < $test 2> $templog > $templog");
+
+  $exitval = $? >> 8;
+  if ($exitval == $expected) {
+    $success++;
+    system("echo Succeeded >> $log");
+    if ($verbose) {
+      system("cat $templog >> $log");
+    }
+  } else {
+    print "Failed test \"$test\" with exitcode $exitval \n";
+    system("cat $templog >> $log");
+    system("echo Failed test $test with exitcode $exitval >> $log");
+    $failure++;
+  }
+}
+
+open(RES, "| tee -a $log");
+print RES "\n\n";
+print RES "#tests: ", $success + $failure, "\n";
+print RES "#successes: $success\n";
+print RES "#failures: $failure\n";
+printf RES "Success rate: %3.2f %%\n", (100 * $success / ($success + $failure));
+close(RES);
+
+exit ($failure == 0);
Index: /liacs/coco/tests/optimize/commonsubexpr.p0
===================================================================
--- /liacs/coco/tests/optimize/commonsubexpr.p0	(revision 2)
+++ /liacs/coco/tests/optimize/commonsubexpr.p0	(revision 2)
@@ -0,0 +1,14 @@
+program commonsubexpr;
+
+var a : integer;
+
+function calc(a,b,c: integer; d,e,f: real): real;
+
+begin
+	calc := ((a+b+c)*(a+b+c)+((a*d)+(a*d)*(e * f))+(a+b+c))/((a*d)+(a+b+c)) 
+end;
+
+begin
+	a := readinteger;
+	writereal(calc(a,2,3,1.0,2.0,3.0))
+end.
Index: /liacs/coco/tests/optimize/deadcode.p0
===================================================================
--- /liacs/coco/tests/optimize/deadcode.p0	(revision 2)
+++ /liacs/coco/tests/optimize/deadcode.p0	(revision 2)
@@ -0,0 +1,15 @@
+program deadcode;
+
+var
+  test,a,b,t: integer;
+ 
+begin
+  test := 0;
+  a := 4;
+  if (test = 1) then
+  begin
+	a := 1;
+	b := 5
+  end;
+  writeinteger(a)
+end.
Index: /liacs/coco/tests/optimize/register.p0
===================================================================
--- /liacs/coco/tests/optimize/register.p0	(revision 2)
+++ /liacs/coco/tests/optimize/register.p0	(revision 2)
@@ -0,0 +1,78 @@
+{ De procedure foo is een leaf-functie, alle lokale parameters kunnen daarom
+  in registers worden gestopt. Vanwege de vrij korte levensduur van de meeste
+  hoeven dit niet eens veel registers te zijn. Dit is echter een pittige 
+  optimalisatie, verspil dus niet te veel tijd hierop }
+program register;
+
+
+function sum(a,b : integer) : integer;
+begin
+	sum := a + b
+end;
+
+procedure foo;
+var
+        totaal,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z : integer;
+begin
+	totaal := sum(0,0);
+	a := 1;
+	totaal := sum(totaal,a);
+	b := 2;
+	totaal := sum(totaal,b);
+	c := 3;
+	totaal := sum(totaal,c);
+	d := 4;
+	totaal := sum(totaal,d);
+	e := 5;
+	totaal := sum(totaal,e);
+	f := 6;
+	totaal := sum(totaal,f);
+	g := 7;
+	totaal := sum(totaal,g);
+	h := 8;
+	totaal := sum(totaal,h);
+	i := 9;
+	totaal := sum(totaal,i);
+	j := 10;
+	totaal := sum(totaal,j);
+	k := 12;
+	totaal := sum(totaal,k);
+	l := 14;
+	totaal := sum(totaal,l);
+        m := 16;
+        totaal := sum(totaal,m);
+        n := 18;
+        totaal := sum(totaal,n);
+        o := 22;
+        totaal := sum(totaal,o);
+        p := 23;
+        totaal := sum(totaal,p);
+        q := 24;
+        totaal := sum(totaal,q);
+        r := 25;
+        totaal := sum(totaal,r);
+        s := 26;
+        totaal := sum(totaal,s);
+        t := 27;
+        totaal := sum(totaal,t);
+        u := 28;
+        totaal := sum(totaal,u);
+        v := 29;
+        totaal := sum(totaal,v);
+        w := 30;
+        totaal := sum(totaal,w);
+        x := 40;
+        totaal := sum(totaal,x);
+        y := 42;
+        totaal := sum(totaal,y);
+        z := 44;
+        totaal := sum(totaal,z);
+	totaal := sum(totaal,a);
+	totaal := sum(totaal,k);
+
+	writeinteger(totaal)	
+end;
+
+begin
+	foo
+end.
Index: /liacs/coco/tests/optimize/strength.p0
===================================================================
--- /liacs/coco/tests/optimize/strength.p0	(revision 2)
+++ /liacs/coco/tests/optimize/strength.p0	(revision 2)
@@ -0,0 +1,11 @@
+program strength;
+
+var
+	a,b,c : integer;
+ 
+begin
+	a := 5 * 0;
+	b := 1 * 1 * 1 * 1 * 1;
+	c := a * b;
+	writeinteger(c)
+end.
Index: /liacs/coco/tests/semantic-checks/dirty.p1
===================================================================
--- /liacs/coco/tests/semantic-checks/dirty.p1	(revision 2)
+++ /liacs/coco/tests/semantic-checks/dirty.p1	(revision 2)
@@ -0,0 +1,35 @@
+program fibonee;
+
+var
+  hlp: integer;
+
+function fibo(i: integer): integer;
+
+begin
+  if (i <= 1) then
+    fibo := 1
+  else
+    fibo := fibo(i-1) + fibo(i-2)
+end;
+
+function plus(i: integer): integer;
+
+begin
+  plus := i + 1
+end;
+
+function geennaam(i: integer): integer;
+
+begin
+  if (geennaam > 0) then { geennaam is used as function call without parameter}
+    geennaam := 1 + geennaam(i-1)
+  else
+    geennaam := 0
+end;
+
+begin
+  hlp := fibo(7);
+  writeinteger(hlp);
+  writeinteger(plus(4));
+  writeinteger(geennaam(6))
+end.
Index: /liacs/coco/tests/semantic-checks/function_assignment_not_allowed.p1
===================================================================
--- /liacs/coco/tests/semantic-checks/function_assignment_not_allowed.p1	(revision 2)
+++ /liacs/coco/tests/semantic-checks/function_assignment_not_allowed.p1	(revision 2)
@@ -0,0 +1,23 @@
+program a;
+
+var
+  b: integer;
+
+function fac(c: integer): integer;
+
+begin
+  if (c = 0) then 
+    fac := 1 
+  else
+    fac := fac(c-1) * c
+end;
+
+function plus(d,e: integer): integer;
+
+begin
+  fac := d+e
+end;
+
+begin
+  b := 3
+end.
Index: /liacs/coco/tests/semantic-checks/proc_as_function.p1
===================================================================
--- /liacs/coco/tests/semantic-checks/proc_as_function.p1	(revision 2)
+++ /liacs/coco/tests/semantic-checks/proc_as_function.p1	(revision 2)
@@ -0,0 +1,14 @@
+program a;
+
+var
+  een: integer;
+
+procedure twee;
+
+begin
+  writeinteger(1)
+end;
+
+begin
+  een := twee
+end.
Index: /liacs/coco/tests/semantic-checks/read_assign.p1
===================================================================
--- /liacs/coco/tests/semantic-checks/read_assign.p1	(revision 2)
+++ /liacs/coco/tests/semantic-checks/read_assign.p1	(revision 2)
@@ -0,0 +1,15 @@
+program rontest;
+
+var a,b : integer;
+var c,d : real;
+
+
+begin
+  a := 4;
+  b := 6;
+  c := 3.5;
+
+  while c < 10 do
+    c := c+1;
+  readinteger := c
+end.
Index: /liacs/coco/tests/semantic-checks/typemismatch1.p1
===================================================================
--- /liacs/coco/tests/semantic-checks/typemismatch1.p1	(revision 2)
+++ /liacs/coco/tests/semantic-checks/typemismatch1.p1	(revision 2)
@@ -0,0 +1,10 @@
+{ This program is correct wrt the context-sensitive grammar;
+  it should fail the semantic tests }
+program blaah;
+
+var 
+  a: integer;
+
+begin
+  a := 3.5
+end.
Index: /liacs/coco/tests/semantic-checks/typemismatch2.p1
===================================================================
--- /liacs/coco/tests/semantic-checks/typemismatch2.p1	(revision 2)
+++ /liacs/coco/tests/semantic-checks/typemismatch2.p1	(revision 2)
@@ -0,0 +1,8 @@
+program realwordtint;
+
+var a : integer;
+var b : real;
+
+begin
+  a := b
+end.
Index: /liacs/coco/tests/semantic-checks/typemismatch3.p1
===================================================================
--- /liacs/coco/tests/semantic-checks/typemismatch3.p1	(revision 2)
+++ /liacs/coco/tests/semantic-checks/typemismatch3.p1	(revision 2)
@@ -0,0 +1,10 @@
+program a;
+
+var
+  blaah: integer;
+var
+  bleuh: real;
+
+begin
+  blaah := bleuh + blaah
+end.
Index: /liacs/coco/tests/semantic-checks/typemismatch4.p1
===================================================================
--- /liacs/coco/tests/semantic-checks/typemismatch4.p1	(revision 2)
+++ /liacs/coco/tests/semantic-checks/typemismatch4.p1	(revision 2)
@@ -0,0 +1,14 @@
+program a;
+
+var
+  b: integer;
+
+function blaah: real;
+
+begin
+  blaah := 3.5
+end;
+
+begin
+  b := blaah
+end.
Index: /liacs/coco/tests/simple/correct1.p0
===================================================================
--- /liacs/coco/tests/simple/correct1.p0	(revision 2)
+++ /liacs/coco/tests/simple/correct1.p0	(revision 2)
@@ -0,0 +1,17 @@
+{ This is the example given in the Dragon book }
+program example;
+
+var x, y: integer;
+
+
+function gcd(a,b: integer): integer;
+begin
+    if b = 0 then gcd := a
+    else gcd := gcd(b, a mod b)
+end;
+
+begin
+    x := readinteger;
+    y := readinteger;
+    writeinteger(gcd(x, y))
+end.
Index: /liacs/coco/tests/simple/correct2.p0
===================================================================
--- /liacs/coco/tests/simple/correct2.p0	(revision 2)
+++ /liacs/coco/tests/simple/correct2.p0	(revision 2)
@@ -0,0 +1,17 @@
+{This is a correct program; it is intended to test that the lexical 
+ analyzer correctly skips comment}
+
+program example;
+
+var x, y: integer;
+function gcd(a,b: {Yabadabbadooh!} integer): integer;
+begin
+    if b = 0 then{tokensep}gcd := a
+    else gcd := gcd(b, a mod b {Viva Euclid})
+end;
+
+begin
+    x := readinteger;
+    y := readinteger;
+    writeinteger(gcd(x, y))
+end.
Index: /liacs/coco/tests/simple/correct3.p0
===================================================================
--- /liacs/coco/tests/simple/correct3.p0	(revision 2)
+++ /liacs/coco/tests/simple/correct3.p0	(revision 2)
@@ -0,0 +1,17 @@
+{ This program is correct }
+
+program yetanothertest;
+
+var
+  a: real;
+
+procedure foo(b: integer);
+var
+  a: integer;
+begin
+  writeinteger(b)
+end;
+
+begin
+  a := 0
+end.
Index: /liacs/coco/tests/simple/correct4.p0
===================================================================
--- /liacs/coco/tests/simple/correct4.p0	(revision 2)
+++ /liacs/coco/tests/simple/correct4.p0	(revision 2)
@@ -0,0 +1,15 @@
+{ Stupid program to test line
+   numbers.
+
+
+}
+program queenrulez;
+  {
+     snafu
+  }
+
+var
+  get: real; { Line 12 }
+
+begin
+end.
Index: /liacs/coco/tests/simple/correct5.p0
===================================================================
--- /liacs/coco/tests/simple/correct5.p0	(revision 2)
+++ /liacs/coco/tests/simple/correct5.p0	(revision 2)
@@ -0,0 +1,8 @@
+program puppetmasters;
+
+var
+  big, big2: real;
+
+begin
+  writereal(big+big2)
+end.
Index: /liacs/coco/tests/simple/correct6.p0
===================================================================
--- /liacs/coco/tests/simple/correct6.p0	(revision 2)
+++ /liacs/coco/tests/simple/correct6.p0	(revision 2)
@@ -0,0 +1,9 @@
+program assignment;
+
+var r : integer;
+var b : real;
+
+begin
+  r := 28;
+  b := 12
+end.
Index: /liacs/coco/tests/simple/correct7.p0
===================================================================
--- /liacs/coco/tests/simple/correct7.p0	(revision 2)
+++ /liacs/coco/tests/simple/correct7.p0	(revision 2)
@@ -0,0 +1,13 @@
+program simpleiftest;
+
+var
+  a,b: integer;
+
+begin
+  a := 3;
+  b := 2;
+  if (a > b) then
+    writeinteger(3)
+  else
+    writeinteger(4) 
+end.
Index: /liacs/coco/tests/simple/correct8.p0
===================================================================
--- /liacs/coco/tests/simple/correct8.p0	(revision 2)
+++ /liacs/coco/tests/simple/correct8.p0	(revision 2)
@@ -0,0 +1,18 @@
+program smerig;
+
+function plus(a, b: integer): integer;
+begin
+  plus := a+b
+end;
+
+function fac(a: integer): integer;
+begin
+  if (a = 0) then
+    fac := 1
+  else
+    fac := a*fac(a- 1)
+end;
+
+begin
+  writeinteger(fac(plus(3,2)))
+end.
Index: /liacs/coco/tests/simple/correct9.p0
===================================================================
--- /liacs/coco/tests/simple/correct9.p0	(revision 2)
+++ /liacs/coco/tests/simple/correct9.p0	(revision 2)
@@ -0,0 +1,14 @@
+program donald;
+
+var
+  fred, barney: integer;
+
+procedure kwak(katrien: real; dagobert: integer);
+
+begin
+end;
+
+begin
+  { integer to real coercion }
+  kwak(fred,barney)
+end.
Index: /liacs/coco/tests/varia/bitwise.p0
===================================================================
--- /liacs/coco/tests/varia/bitwise.p0	(revision 2)
+++ /liacs/coco/tests/varia/bitwise.p0	(revision 2)
@@ -0,0 +1,11 @@
+program bits;
+
+var
+ a: integer;
+
+begin
+    a := not 4;
+    a := a and 3;
+    a := a or 1;
+    writeinteger (a)
+end.
Index: /liacs/coco/tests/varia/boolean_condition.p0
===================================================================
--- /liacs/coco/tests/varia/boolean_condition.p0	(revision 2)
+++ /liacs/coco/tests/varia/boolean_condition.p0	(revision 2)
@@ -0,0 +1,9 @@
+program weeh;
+
+var
+ a: integer;
+
+begin
+  if (a + 3) > 4 then
+    a := 4
+end.
Index: /liacs/coco/tests/varia/call_and_write.p0
===================================================================
--- /liacs/coco/tests/varia/call_and_write.p0	(revision 2)
+++ /liacs/coco/tests/varia/call_and_write.p0	(revision 2)
@@ -0,0 +1,12 @@
+program a;
+
+procedure foo(bar: integer; baz: real; qux, quux, fred, barny: integer);
+
+begin
+  writeinteger(bar);
+  writereal(baz)
+end;
+
+begin
+  foo(3, 3.5, 1, 2,3,4)
+end.
Index: /liacs/coco/tests/varia/expressions.p0
===================================================================
--- /liacs/coco/tests/varia/expressions.p0	(revision 2)
+++ /liacs/coco/tests/varia/expressions.p0	(revision 2)
@@ -0,0 +1,13 @@
+program unarplus;
+
+var a,b,c,d,e :integer;
+var f,g,h,i,j :real;
+
+begin
+  a := a - (- a);
+  e := c or b;
+
+  f := g*h;
+  i := a div b; { div on reals }
+  f := b/c { no type problem: coercion }
+end.
Index: /liacs/coco/tests/varia/many_locals.p0
===================================================================
--- /liacs/coco/tests/varia/many_locals.p0	(revision 2)
+++ /liacs/coco/tests/varia/many_locals.p0	(revision 2)
@@ -0,0 +1,33 @@
+program bokmal;
+
+procedure noe;
+var
+  en, to, tre, fire, fem, seks, sju, atte, ni, ti, elleve, tolv, tretten, fjorten, femten: integer;
+var
+  mange: real;
+
+begin
+  en := 1;
+  to := 2;
+  tre := 3;
+  fire := 4;
+  fem := 5;
+  seks := 6;
+  sju := 7;
+  atte := 8;
+  ni := 9;
+  ti := 10;
+  elleve := 11;
+  tolv := 12;
+  tretten := 13;
+  fjorten := 14;
+  femten := 15;
+
+	mange := en + to + tre + fire + fem + seks + sju + atte + ni + ti + elleve + tolv + tretten + fjorten + femten;
+
+	writereal(mange)	
+end;
+
+begin
+	noe
+end.
Index: /liacs/coco/tests/varia/no_real_in_boolean_expr.p1
===================================================================
--- /liacs/coco/tests/varia/no_real_in_boolean_expr.p1	(revision 2)
+++ /liacs/coco/tests/varia/no_real_in_boolean_expr.p1	(revision 2)
@@ -0,0 +1,8 @@
+program a;
+
+var
+  b, c, d: real;
+
+begin
+  d := b or c
+end.
Index: /liacs/coco/tests/varia/sign2.p0
===================================================================
--- /liacs/coco/tests/varia/sign2.p0	(revision 2)
+++ /liacs/coco/tests/varia/sign2.p0	(revision 2)
@@ -0,0 +1,11 @@
+program a;
+
+var
+  foo,bar,i: integer;
+
+begin
+  if (foo > -3) then
+    writeinteger(foo)
+  else
+    writeinteger(bar)
+end.
Index: /liacs/coco/tests/varia/var_is_not_procedure.p1
===================================================================
--- /liacs/coco/tests/varia/var_is_not_procedure.p1	(revision 2)
+++ /liacs/coco/tests/varia/var_is_not_procedure.p1	(revision 2)
@@ -0,0 +1,8 @@
+program yeck;
+
+var
+  blaah: integer;
+
+begin
+  blaah(1.1, 2.2, 3, 4.4)
+end.
Index: /liacs/coco/tests/varia/veelvariabelen.p0
===================================================================
--- /liacs/coco/tests/varia/veelvariabelen.p0	(revision 2)
+++ /liacs/coco/tests/varia/veelvariabelen.p0	(revision 2)
@@ -0,0 +1,9 @@
+program veelvariabelen;
+
+var
+  ron, is, aan, het, testen : integer;
+
+begin
+  ron := is;
+  aan := testen
+end.
Index: /liacs/coco/tests/varia/writes.p0
===================================================================
--- /liacs/coco/tests/varia/writes.p0	(revision 2)
+++ /liacs/coco/tests/varia/writes.p0	(revision 2)
@@ -0,0 +1,12 @@
+program a;
+
+procedure foo(bar: integer; baz: real);
+
+begin
+  writeinteger(bar);
+  writereal(baz)
+end;
+
+begin
+  foo(3, 3.5)
+end.
Index: /liacs/coco/tests/varia/yet_another_call.p0
===================================================================
--- /liacs/coco/tests/varia/yet_another_call.p0	(revision 2)
+++ /liacs/coco/tests/varia/yet_another_call.p0	(revision 2)
@@ -0,0 +1,11 @@
+program yeck;
+
+procedure blaah(a,b: real; c: integer; d: real);
+
+begin
+  a := a + b + c
+end;
+
+begin
+  blaah(1.1, 2.2, 3, 4.4)
+end.
Index: /liacs/coco/tests/wrongsyntax/notboollike1.p1
===================================================================
--- /liacs/coco/tests/wrongsyntax/notboollike1.p1	(revision 2)
+++ /liacs/coco/tests/wrongsyntax/notboollike1.p1	(revision 2)
@@ -0,0 +1,11 @@
+program blaah;
+
+var
+  a, b: integer;
+
+begin
+  if a + b then
+    writeinteger(3)
+  else 
+    writeinteger(4)
+end.
Index: /liacs/coco/tests/wrongsyntax/notboollike2.p1
===================================================================
--- /liacs/coco/tests/wrongsyntax/notboollike2.p1	(revision 2)
+++ /liacs/coco/tests/wrongsyntax/notboollike2.p1	(revision 2)
@@ -0,0 +1,12 @@
+program yabt;
+
+var
+  ach,
+  weeh: integer;
+
+begin
+  if ach then
+    writeinteger(ach)
+  else
+    writeinteger(weeh)
+end.
Index: /liacs/comp/Makefile
===================================================================
--- /liacs/comp/Makefile	(revision 2)
+++ /liacs/comp/Makefile	(revision 2)
@@ -0,0 +1,21 @@
+# Rick van der Zwet
+# 0433373
+# XXX Assignment XXX
+# Licence: BSD
+# $Id: Makefile 571 2008-04-20 17:31:04Z rick $
+
+include latex.mk
+
+CFLAGS+=-Wall -g
+PROGRAMS=XXX
+
+all: $(PROGRAMS)
+
+clean:
+	rm -Rf $(PROGRAMS)
+
+debug:
+	@sh -c 'while [ "true" ]; do make clean && make && ./${PROGRAMS}; echo -n "Completed: "; date; sleep 5; done'
+
+ones: $(PROGRAMS)
+	@sh -c ./$(PROGRAMS)
Index: /liacs/comp/latex.mk
===================================================================
--- /liacs/comp/latex.mk	(revision 2)
+++ /liacs/comp/latex.mk	(revision 2)
@@ -0,0 +1,54 @@
+# Rick van der Zwet <rick@wzoeterwoude.net>
+# Licence: BSD
+# Descrip: LaTex file parser
+# $Id: latex.mk 571 2008-04-20 17:31:04Z rick $
+
+TARGET = report
+LATEX = latex
+XDVI = xdvi
+TEX = latex -halt-on-error
+DVIPDF = dvipdf
+ASPELL = aspell
+ASPELL_ARGS = -c --mode=tex
+.SUFFIXES: .pdf
+
+help:
+	@echo "Usage Makefile <option>"
+
+doc-all: doc-distclean buildpdf
+
+view: viewpdf
+
+viewdvi: builddvi
+	$(XDVI) $(TARGET)
+
+builddvi: $(TARGET).dvi
+
+doc-clean:
+	rm -vf *.aux *.log *toc *.out *.bak
+
+doc-distclean: doc-clean
+	rm -vf $(TARGET).dvi $(TARGET).pdf $(PROGRAM)
+
+buildpdf: $(TARGET).pdf
+
+viewpdf: buildpdf
+	xpdf $(TARGET).pdf
+
+spell: spell-en
+
+spell-nl: $(TARGET).tex
+	$(ASPELL) -l nl -p ~/aspell-n.dic $(ASPELL_ARGS) $<
+
+spell-en: $(TARGET).tex
+	$(ASPELL) -l en -p ~/aspell-en.dic $(ASPELL_ARGS) $<
+
+.dvi.pdf:
+	$(DVIPDF) $? $@
+
+.tex.dvi:
+	$(TEX) $? $@
+	$(TEX) $? $@
+
+.gs.png:
+	$(GNUPLOT) $?
Index: /liacs/comp/opdracht-1.txt
===================================================================
--- /liacs/comp/opdracht-1.txt	(revision 2)
+++ /liacs/comp/opdracht-1.txt	(revision 2)
@@ -0,0 +1,86 @@
+Rick van der Zwet, Universiteit Leiden
+StudentID: 0433373
+Version: $Id: opdracht-1.txt 561 2008-04-12 13:55:24Z rick $
+Complexiteit 2008 --- opdracht 1
+
+a. Ga na hoe het algoritme werkt voor het array 5,6,1,2,3,4. Laat zien
+hoe het array eruit ziet _elke_ keer nadat regel (10) is uitgevoerd.
+N.B: Buurt 0 is de beginstand
+
+B:       Array      -   Indexgetal
+0:   5.6.1.2.3.4    -   6
+1:   5.6.1.4.3.2    -   6
+2:   5.2.1.4.3.6    -   6
+3:   5.2.1.4.3.6    -   6
+4:   5.2.3.4.1.6    -   5
+5:   1.2.3.4.5.6    -   5
+6:   1.2.3.4.5.6    -   5
+7:   1.2.3.4.5.6    -   4
+8:   1.2.3.4.5.6    -   3
+9:   1.2.3.4.5.6    -   2
+
+
+
+b. Toon aan dat vergelijken van array-elementen in regel (7) een goede
+basisoperatie is ,als n >= 0, in orde van grootte.
+
+#08 <= #07
+#09 == #07
+#06 == #07 + 1
+#05 <= #06
+#10 <= #06
+#11 == #10
+#12 <= #11
+#04 == #05 + 1
+#03 <= #04
+#13 <= #04
+#12 == #13 + 1
+#01  == 1
+
+
+
+c. Regel (10) kan maximaal 2n - 2 keer worden uitgevoerd. Leg uit
+waarom. Gebruik dit resultaat om een redelijke bovengrens te bepalen
+voor het aantal vergelijkingen tussen array elementen (regel (7)).
+
+Voor het goede resultaat zal eerst de worst case bepaald moeten worden
+als gekeken wordt naar regel (10). Hierbij is het verwisselingen dat toe
+moet passen als alle getallen verkeerd staan n - 1 (het laatste getal
+staat automatisch goed). Verder moet er nog n - 1 gewisseld worden,
+hierbij gaat het echter om de 'controle' wissel en zal deze wissel
+wezelijk dus niets veranderen het rijtje. Bij elkaar opgeteld is 2n - 2
+dus de eindscore.
+
+Om dit resultaat naar het aantal array vergelijkingen te vertalen is het
+slechte geval het meest aantrekkelijk. Hierbij worden in de 'eerste'
+index getal (n) de verwisselingen gedaan, dit levert dan telkens n - 1
+verwisselingen op, subtotaal n^2 - n De controle verwisselingen kosten telkens 1 minder en
+leveren zo de reeks (n - 1) + (n - 2) +  ... + (n - (n -1)) + (n - n) =
+0.5n^2 - 0.5n
+Dit gesommeerd levert op 1.5n^2 - 1.5n
+
+
+
+d. Best case, met in het antwoord aantal vergelijkingen
+
+De best case is een oplopend gesorteerd rijtje, alle getallen staan al
+op de goede plek,  welke enkele de controle vergelijkingen nodig heeft.
+Dit is 0.5n^2 - 0.5n (zie c.). Tijdens n = 1 worden er 0 vergelijkingen
+uitgevoerd.
+
+
+
+e. Worst case, met in het antwoord aantal vergelijkingen
+
+De worst case is een rijtje waarbij in de grootste index alle
+verwisselen gedaan moeten worden (en dus allen verkeerd staan). Zoeen
+rijtje heeft bijvoorbeeld de vorm 6.0.1.2.3.4.5. Aantal vergelijkingen
+dat gedaan moet worden is 1.5n^2 - 1.5n (zie e)
+
+
+
+
+
+
+
+
Index: /liacs/comp/opdracht-2.txt
===================================================================
--- /liacs/comp/opdracht-2.txt	(revision 2)
+++ /liacs/comp/opdracht-2.txt	(revision 2)
@@ -0,0 +1,130 @@
+Rick van der Zwet, Universiteit Leiden
+StudentID: 0433373
+Version: $Id: opdracht-2.txt 561 2008-04-12 13:55:24Z rick $
+Complexiteit 2008 --- opdracht 1
+
+a) Bewijs met behulp van een beslissingsboomargument dat elk algoritme
+dat van n verschillende waarden de grootste en de op een na grootste
+waarde bepaalt met behulp van arrayvergelijkingen, ten minste 2
+[lg(n-1)] vergelijkingen moet doen in de worst case.
+
+Volgens de stelling van beslissingsbomen (pagina 4. sheet
+comp-2008-04.pdf) is elk algaritme dat de grootste cq de kleinste
+beplaald uit een array met n elementen, met uitsluitend gebaseerd op
+array vergelijkingen doet ten minste floor(lg n) vergelijkingen in worst
+case.
+
+In dit geval moet er dus eerst floor(lg n) verstookt worden om de
+grootste te vinden. Nadien wordt deze uit het array gehaald en wordt met
+floor(lg(n-1)) stappen de een naar grootste gevonden, dit bij elkaar
+opgetelt levert op ceil(lg n) + ceil(lg(n-1)) = 2 * ceil(lg(n-1))
+
+
+=== BEGIN Uitstapje toernooi methode ==
+A B C D E F G H
+\ / \ / \ / \ /
+ *   *   *   *
+ \   /   \   /
+   *       *
+   \      /
+     -* -
+
+Om slim de hoogste bepalen zullen alle elementen bekeken moeten worden,
+waarbij dit via een boom structuur het snelste gedaan moet worden,
+waarbij in elke knoop de grootste van de 2 gekozen worden. De knop op
+de grootste diepte heeft dan uiteindelijk de grootste waarde.
+De een na grootste (ENG) heeft het tijdens dit process moeten afleggen
+tegen de grootste knoop. Als we het 'winnende' pad dus terugvolgen en
+uit alle verliezende knopen de grootste zoeken zullen we de ENG vinden.
+=== END Uitstapje toernooi methode ===
+
+
+b) Leg duidelijk ut waarom W(n) voldoet aan de volgende recurrente
+betrekking:
+W(n) = 3    n=3
+W(n) = 3 * W(n/3) + 4 n>3, n=3^k
+in het algoritme waarbij recursief de grootste en de ENG, uit de eerste
+n/3, de middelste en de laaste n/3 array-elementen. Daarna door de 6
+gevonden waardes handig met elkaar te vergelijken, de grootste en ENG
+uit het array. W(n) het aantal arravergelijkingen (in de worst case).
+
+In het basis geval is het simpel, als je drie waardes het A, B, C kan je
+met 3 vergelijkingen de hoogste en ENG bepalen. Door eerst A > B te
+doen, de grootste hiervan met C te vergelijken en deze als grootste
+voordragen. En daarna tussen beiden verliezen de grootste kiezen en deze
+als ENG voordragen.
+In de recursie stap kost het je 3 * W(n/3) stappen omdat het array in 3
+delen is verdeeld. Nadat je deze 6 waarden hebt gevonden kost het 4
+stappen om hierin de grooste en de ENG te vinden, door gebruik te maken
+van dit systeem. er zijn 2 vergelijkingen nodig om de grootste uit 3 te
+bepalen, door eerst 2 te vergelijken en de grootste met de overgebleven
+waarde 2 controleren. Aangezien dit zowel voor de 3 grootste als voor de
+3 ENG gedaan moet worden zijn er 4 stappen nodig.
+
+
+c) Los de recurrente betrekking uit b. op door deze herhaald in zichzelf
+in te vullen en bewijs daarna mbv volledige inductie dat de aldus
+gevonden oplossing (uitgedrukt in n) inderdaad voldoet.
+
+hulpformule = sum(i=0,l-1,3^i) = 1/2 * (3^l -1)
+n=3^k
+
+W(n) = 3 * W(n/3) + 4
+W(n) = 3 * (3 * W(n/9) + 4) + 4 = 3^2 * W(n/9) + 4 + 4*3
+W(n) = 3 * 3 * (3 * W(n/27) + 4) + 4 + 4*3 = 3^3 * W(n/27) + 4 + 4*3 + 4*3^2
+W(n) = 3^k + 2 ( 3^(k-1) - 1)
+
+Bewijs volledige inductie:
+W(3) = 3^1 + 2 ( 3^(1-1) - 1) = 3 + 2 * (1 - 1) = 3
+W(n+3) = 3 * W(n) + 4 = 3 * (3^(k-1) + 2 (3^(k-2) - 1)) + 4 = 3^k + 2 (
+         3^(k-1) - 3) + 4 = 3^k + 2(3^(k-1) -1)
+
+
+d) Kun je alleen op grond van hetgeen je in a. bewezen hebt, concluderen
+dat deze methode niet optimaal is?
+
+Er is aangetoond de worst case ten minste 2 * ceil(lg(n-1)) stappen moet doen
+in het slechtste geval, het algotitme bij c. zit daar boven boven.
+Hierdoor kan gezegd worden dat dit algoritme niet optimaal is.
+
+De tweede methode bepaalt eerst recursief de grootste en de ENG waarde
+van de n - 3 elementen. Daarna wordt van deze waardes en de laatste 3
+elementen de grootste en ENG berekend.
+e) Laat zien dat deze laatste stap met 5 array-vergelijkingen kan worden
+gedaan en stel eer recurrente betrekking op voor het aantal
+vergelijkingen V(n) dat dit algoritme doet in het worst case geval.
+
+Er zijn A B C D E, waarbij A>B. de volgende vijf stappen zullen dat de
+hoogste en een naar hoogste naar boven halen.
+1) C>D - Maak C de hoogste van het paar C,D -> stap 2
+2) C>E - Maak C de hoogste van het paar C,E -> stap 3
+3) D>E - Maak D de hoogste van het paar D,E -> stap 4
+4) A,C - Kijk of C de hoger is als de hoogste, zoja dat is C de hoogste
+         stap 5, zoniet A de hoogste en naar stap 6
+5) A,D - Kijk of D hoger is als A, zoja D is ENG, anders A is ENG
+6) B,C - Kijk of C hoger is als B, zoja C is ENG, anders B is ENG
+
+Recurrente betrekking let op, n = k * 3 + 2
+V(n) = 1            ,n=2
+V(n) = V(n-3) + 5   ,n>2
+
+
+f. Los de recurrente betrekking van e. op.
+V(n) = V(n-3) + 5
+V(n) = (V(n-6) + 5) + 5
+V(n) = ((V(n-9) + 5) + 5) + 5
+V(n) = ((n-2)/3) * 5  + 1
+
+
+g. Is deze tweede methode optimaal?
+
+Deze 2de methode is wederom niet optimaal, kijk bijvoorbeeld naar het
+n=11. Hierbij is cleil(2 * lg(11 -1)) = 7, tewijl de methode ((11 -
+2)/3) * 5 + 1 = 16 nodig heeft.
+
+
+
+
+
+
+
Index: /liacs/comp/opdracht-3.tex
===================================================================
--- /liacs/comp/opdracht-3.tex	(revision 2)
+++ /liacs/comp/opdracht-3.tex	(revision 2)
@@ -0,0 +1,150 @@
+%
+% $Id: report.tex 571 2008-04-20 17:31:04Z rick $
+%
+
+\documentclass[12pt,a4paper]{article}
+
+\frenchspacing
+\usepackage[english,dutch]{babel}
+\usepackage{amssymb,amsmath,amsthm}
+\selectlanguage{dutch}
+
+\author{Rick van der Zwet, Universiteit Leiden}
+\title{Complexiteit\\
+\large{Derde huiswerkopgave}}
+\author{Rick van der Zwet\\
+  \texttt{<hvdzwet@liacs.nl>}\\
+  \\
+  LIACS\\
+  Leiden University\\
+  Niels Bohrweg 1\\
+  2333 CA Leiden\\
+  The Netherlands}
+\date{\today}
+
+
+\begin{document}
+\appendix
+\maketitle
+\section*{Inleiding}
+Het doel van deze huiswerkopgave is het begrijpen en toepassen van
+niet-deterministische algoritmen en kennis maken met de begrippen
+$NP$-compleet en $NP$-volledig. Deze kennis wordt opgedaan door te
+kijken naar 2 verschillende problemen:
+
+\theoremstyle{definition} \newtheorem{sat}{SAT}
+\newtheorem{mcis}{MaxColorIndependentSet (MCIS)}
+
+\begin{description}
+\item[SAT] Gegeven is een logische expressie $\phi$ in de variablen
+$x_1, x_2,..., x_n$ in CNF (dus een AND van clausules waarbij elke
+clausule de OR van een willekeurig aantal literals is; een literal is
+een $x_1$ of een $\neg x_1$). \\
+Vraag: is er een waardering (waarheidstoekenning) van de $x_i$'s zodanig
+dat $\phi$ wordt waargemaakt, dat wil zeggen dat per clausule minstens
+\'e\'en literal waar is?
+\item[MaxColorIndependentSet (MCIS)] Gegeven een ongerichte graaf
+$G=V(,E)$, waarbij de knopen wit of zwart gekleurd zijn. $V$ bevat dus
+de knopen m\`et hun kleur. \\ 
+Vraag: bestaat er een maximaal onafhankelijke knoopverzameling $I (I
+\subseteq V)$ die alleen zwarte knopen bevat? \\
+Een deelverzameling $J$ van de knopen $V$ heet \emph{onafhankelijk} als
+geldt: voor alle $i,j \in J$ is er \emph{geen} tak tussen $i$ en $j$.
+Zo'n onafhankelijke verzameling is \emph{maximaal} als er geen knopen
+meer aan kunnen worden toegevoegd zonder dat de
+onafhankelijkheidseigenschap verloren gaat.
+\end{description}
+
+
+\section{\normalsize Laat zien dat MCIS $\in NP$ door een \emph{niet-deterministisch
+polynomiaal} algoritme voor MCIS te geven.}
+Het algoritme bestaat uit drie fases:
+\begin{description}
+\item[Fase 1 (gokfase)]
+Genereer een random string $s$ gehele getallen welke als de volgende
+syntax wordt geinterpeteerd $knoopnummer;kleur;lid MCIS;buren;$
+\item[Fase 2 (verificatiefase)]
+Er wordt gecontroleerd of $s$ daarwerkelijk een MCIS is:
+\begin{enumerate}
+\item controleer dat er precies $n$ knopen in staan: $O(\left|s\right|)$
+\item controleer of kleurcode wit/zwart (1/0) is: $O(\left|s\right|)$
+\item controleer of elke knoop tussen 0 en $n$ ligt: $O(\left|s\right|)$
+\item controleer of alle knopen verschillend zijn: $O({\left|s\right|}^2)$
+\item controleer of alle buren geldig zijn: $O({\left|s\right|}^2)$
+\item controleer of knop welke lid is, zwart is: $O(\left|s\right|)$
+\item controleer of alle buren van zwarte `lid' knoop niet lid zijn:
+    $O({\left|s\right|}^2)$
+\item controleer of alle niet `lid' knopen, buren zijn van een `lid'
+knoop: $O({\left|s\right|}^2)$
+\end{enumerate}
+Stap 1 t/m 5 zijn eigenlijk simpele controle stapjes om te kijken of de
+invoer string voldoet aan de eisen die gesteld worden. De daadwerkelijke
+intelligentie zit in de laatste stappen, welke kijkt of de eisen van de
+zwarte MCIS voldaan worden. Dat wil zeggen zoveel mogelijk knopen die
+geen buurtjes van elkaar zijn en geen witte knopen in de `leden' kring.
+
+\item[Fase 3]
+Als Fase 2 True opleverd (e.g. alle punten goed doorlopen) wordt ``ja''
+uitgevoerd, anders geen uitvoer.
+\end{description}
+
+In de meeste stappen van het algoritme volstaat een keer doorlopen van
+$s$ als voldoende, bijvoorbeeld bij controle kleur invoer. Bij het de
+buren controle echter moet per item in $s$ de string nog een keer extra
+worden doorlopen om te kijken of deze knoop daarwerkelijk voorkomt. Maar
+in het totaal is $O({\left|s\right|}^2)$ voldoende.
+
+\section{\normalsize Laat zien dat de transformatie $T$ in polynomiaal begrensde
+tijd uitgevoerd kan worden}
+$T$ is hierbij de transformatie van SAT naar MCIS, waarbij $\phi$ een
+logische expressie in de variablen $x_1, x_2,..., x_n$ in conjunctieve
+normaalvorm (CNF). Daaruit wordt een een ongerichte graag $G_\phi$
+geconstrueerd, waarvan de knopen zwart of wit gekleurd zijn. Maak 2$n$
+zwarte knopen, corresponderd met de $n$ voorkomende variablen en hun
+negaties (alle mogelijke literals dus). Voor elke in $\phi$ voorkomende
+clausule komt een witte knoop. Elke witte knoop wordt verbonden met de
+(zwarte) knopen die corresponderen met de in de betreffende clausule
+voorkomende literals ($x_i$ and $\neg x_i$). Defineer nu $T(\phi) =
+G_\phi$
+
+De stappen noodzakelijk zijn:
+\begin{enumerate}
+\item Alle clausulen tellen en witte knopen maken voor elke clausule:
+$O(\phi)$
+\item Door de clausulen lopen en zwarte knopen maken en hun negaties:
+$O(\phi)$
+\item Clausule knoop met literal knopen verbinden: $O(\phi)$
+\item Tak aanleggen tussen aanwezige complementaire literals $O({\phi}^2)$
+\end{enumerate}
+
+Dit allen is dus uit te voeren in $O({\phi}^2)$
+
+\section{\normalsize Bewijs: als er een waardering $w$ van de $x_i$ bestaat die
+$\phi$ waarmaakt, dan heeft $G_\phi$ een maximale onafhankelijke
+knoopverzameling die alleen uit zwarte knopen bestaat}
+
+Als $w$ waar is dan geld dat voor elke clausule $C_r$ een literal heeft die
+minimal waargemaakt moet worden wil $\phi$ True worden. Alle
+$l_i^r$ hebben een corresponderende knoop $v_i^r$ in $G_\phi$. Echter de
+literals (zwarte knopen) kunnen niet met elkaar verbonden zijn, vanwege
+de complementaire eigenschap. Dit betekend dat van een paar $l_i^r$ en
+$\neg l_i^r$ slecht een enkele actief kan zijn.
+Het maximale eigenschap wordt bereikt doordat knopen binnen dezelfde
+clausule van elkaar gescheiden zijn van een $C$ (witte clausule) knoop.
+
+
+\section{\normalsize Bewijs: als $G_\phi$ een maximale onafhankelijke
+knoopverzameling $J$ heeft die alleen uit zwarte knopen bestaat, dat is
+er een waardering $w$ van de $x_i$ die $\phi$ waarmaakt}
+
+Kies $w$ van de in $\phi$ voorkomende logische variablen die precies
+True oplevert op litterals correspondered met de knopen in $G_\phi$. In
+$w$ zullen $m$ clausulen voorkomen. Deze $m$ witte knopen zullen altijd
+verbonden zijn met een knoop $\in J$.Doordat elke cluasule waar moet
+zijn zal er altijd een knoop bevinden tussen de witte cluasule knopen en
+minstens \'e\'en van de literals.
+
+
+
+
+\end{document}
Index: /liacs/cvp/assignments/lecture1.txt
===================================================================
--- /liacs/cvp/assignments/lecture1.txt	(revision 2)
+++ /liacs/cvp/assignments/lecture1.txt	(revision 2)
@@ -0,0 +1,90 @@
+# Rick van der Zwet
+# StudentID: 0433373
+# Lecture 1
+# $Id: lecture1.txt 246 2007-09-28 07:36:04Z rick $
+
+All quotes are based on the 7th edition of Concepts of programming
+languages from Robert W. Sebesta, cause the 8th edition has not come in
+yet
+
+***Chapter 1 Review Questions***
+7)
+Q: What is the disadvantage of having to many features in a language?
+A: "If a language ... bizarre results" pg. 15 section 1.3.2.1
+
+8)
+Q: How can user-defined operator overloading harm the readability of a
+   program?
+A: "Because the usual ... the program's readers" pg. 9
+
+9)
+Q: What is one example of a lack of orthogonality in the design of C?
+A: "As examples of the lack ... affects its meaning" pg. 11
+
+10)
+Q: What language used orthogonality as a primary design criterion?
+A: "Perhaps the most orthogonal programming language is ALGOL 68" pg. 11
+
+11)
+Q: What primitive control statement is used to build more complicated 
+   control statements in languages that lack them?
+A: "reaction to the poor readability ... goto statements severely
+   reduces program readability" pg 12
+
+12)
+Q: What construct of a programming language provides process
+   abstraction?
+A: "A simple example ... use of a subprogram" pg 16
+
+14)
+Q: Why is type checking the parameters of a subprogram important?
+A: "Type checking is an important ... the required repairs" pg 16-17
+
+15)
+Q: What is aliasing?
+A: "Loosely defined, aliasing ... same memory cell" pg. 17 sect 1.3.3.3
+
+16)
+Q: What is exception handling?
+A: "The ability of ... aid to reliability" pg. 17 sect 1.3.3.2
+
+
+***Chapter 1 Problem Sets***
+6)
+Q: What common programming language statement, in your opinion, is most
+   detrimental to readability?
+A: "I believe the use of statements like goto and return in the middle
+    of a program, which greatly reduce the reability"
+
+10)
+Q: What are the arguments for writing efficients programs even though
+   hardware is relatively inexpensive?
+A: * Hardware might be inexpensive, but not powerfull looking to
+     embedded devices
+   * A function might get called many times, making the overall program
+     really slow
+
+***Chapter 2 Review Questions***
+11)
+Q: What control flow statements were added to Fortran IV to get Fortran
+   77?
+A: "Fortran 77 retained most ... optional Else clause" pg. 59 sect. 2.3.5
+
+12)
+Q: Which version of Fortran was the first to have any soft of dynamic
+   variables?
+A: "Fortran 90 ... This is a radical ... only static data" pg 49 sec.
+   2.3.5
+
+20)
+Q: What missing language element of ALGOL 60 damaged its changes for 
+   widespread use?
+A: "Most important amoung ... too machine dependent" pg. 61 sect. 2.5.6
+
+30)
+Q: What features of SIMULA 67 are now important parts of some object
+oriented languages?
+A: "The primary goal was ... classes and inheritance" pg. 101 sec.
+   2.16.1
+
+
Index: /liacs/cvp/assignments/lecture2.txt
===================================================================
--- /liacs/cvp/assignments/lecture2.txt	(revision 2)
+++ /liacs/cvp/assignments/lecture2.txt	(revision 2)
@@ -0,0 +1,88 @@
+# Rick van der Zwet
+# StudentID: 0433373
+# $Id: lecture2.txt 248 2007-10-04 19:37:40Z rick $
+
+All quotes are based on the 7th edition of Concepts of programming
+languages from Robert W. Sebesta, cause the 8th edition has not come in
+yet
+
+*** Chapter 3 Review Questions ***
+
+2)
+Q: Who are language descriptions for?
+A: "One of the problems ... about a language" pg. 124 sect. 3.1
+
+3)
+Q: Describe the operation of a general language generator
+A: "A language generator ... it is pushed" pg. 126 sect. 3.2.2
+
+6)
+Q: Define a left recursive grammar rule.
+A: "In this derivation ... leftmost drivations" pg 130
+   Example: <stmt> => <stmt> , <id>
+                   |  <id>
+            <id> => A | B | C
+
+8)
+Q: Distinguish between static and dynamic semantics.
+A: "Static semantics is .. at compile time" pg. 142 sec. 3.4.1
+
+9) 
+Q: What purpose do predicates service in an attribute grammer?
+A: "Predicates functions, which .. with grammar rules." pg. 142. sec.  3.4.2
+
+10)
+Q: What is the difference between a synthensized and an inherited
+   attribute?
+A: "Synthesized attributes are ... across a tree" pg. 143 sect. 3.4.3
+
+13)
+Q: What is the problem with using a software pure interpreter for
+   operation semantics?
+A: "First, the copmlexities ... configured computer." pg. 149
+
+*** Chapter 3 Problem Set ***
+19) Compute the weakest precondition for each of the following
+    assignment statements and postconditions:
+
+19a)
+Q: a = 2 * (b - 1) - 1 {a > 0}
+A: 2 * (b - 1) - 1 > 0
+A  b > 1.5
+
+19b)
+Q: b = (c + 10) / 3 {b > 6}
+A: (c + 10) / 3 > 6
+   c > 8
+
+19c)
+Q: a = a + 2 * b - 1 {a > 1}
+A: a + 2 * b - 1 > 1
+   b > 0.5a + 1
+
+19d)
+Q: x = 2 * y + x - 1 {x > 11}
+A: 2 * y + x - 1 > 11
+   y > 6 - 0.5x
+
+20) Compute the weakest precondition for each of the following
+    assignment statements and postconditions:
+
+20a)
+Q: a = 2 * b + 1;
+   b = a - 3
+   {b < 0}
+A: a - 3 < 0
+   {a < 3}
+   2 * b + 1 < 3
+   {b < 1}
+
+20b)
+Q: a = 3 * (2 * b + a);
+   b = 3 * a - 1
+   {b > 5}
+A: 3 * a - 1 > 5
+   {a > 2}
+   6 * 3b + 3a > 2
+   18b + 3a > 2
+   18b > 2 - 3a
Index: /liacs/cvp/assignments/lecture3.txt
===================================================================
--- /liacs/cvp/assignments/lecture3.txt	(revision 2)
+++ /liacs/cvp/assignments/lecture3.txt	(revision 2)
@@ -0,0 +1,102 @@
+# Rick van der Zwet
+# StudentID: 0433373
+# $Id: lecture3.txt 248 2007-10-04 19:37:40Z rick $
+
+All quotes are based on the 7th edition of Concepts of programming
+languages from Robert W. Sebesta, cause the 8th edition has not come in
+yet
+
+*** Chapter 3 Problem Set ***
+
+24)
+Q: Write an attribute grammar whose base BNF is that of Example 3.2 and
+   whose type rules are the same as for the assignment statement examples
+   of Section 3.4.5.
+
+A:
+Syntax Rule: <assign> -> <id> = <expr>
+Semantic Rule: <expr>.expected_type <- <id>.actual_type
+
+Syntax Rule: <id> -> A | B | C
+Semantic Rule: <id>.actual_type <- look-up(<id>.string)
+
+Syntax Rule: <expr> -> <id>[2] + <expr>[3]
+Semantic Rule: <expr>.actual_type <- 
+                    if (<id>[2].actual_type = int) and
+                       (<expr[3].actual_type = int)
+                       than int
+                    else real
+                    end if
+                <expr>[3].expected_type <-
+                    if (<id>[2].actual_type = int) and
+                       (<expr>.expected_type = int)
+                       than int
+                    else real
+                    end if
+Predicate: <expr>.actual_type == <expr>.expected_type
+
+Syntax Rule: <expr> -> <id>[2] * <expr>[3]
+Semantic Rule: <expr>.actual_type <- 
+                    if (<id>[2].actual_type = int) and
+                       (<expr[3].actual_type = int)
+                       than int
+                    else real
+                    end if
+                <expr>[3].expected_type <-
+                    if (<id>[2].actual_type = int) and
+                       (<expr>.expected_type = int
+                       than int
+                    else real
+                    end if
+Predicate: <expr>.actual_type == <expr>.expected_type
+
+Syntax Rule: <expr> -> ( <expr>[2] )
+Semantic Rule: <expr>.actual_type <- <expr>[2].actual_type
+               <expr>[2].expected_type <- <expr>.expected_type
+Predicate: <expr>.actual_type == <expr>.expected_type
+
+Syntax Rule: <expr> -> <id>
+Semantic Rule: <expr>.actual_type <- <id>.actual_type
+Predicate: <expr>.actual_type == <expr>.expected_type
+
+
+
+25)
+Q: Prove the following program is correct:
+    {n > 0}
+    count = n;
+    sum = 0;
+    while count <> 0 do
+        sum = sum + count;
+        count = count - 1;
+    end
+    {sum = 1 + 2 + ... + n}
+A: (with some help from http://www.cs.unb.ca/profs/wdu/cs4613/a5ans.htm
+   cause I was looking at the wrong I)
+* First step is linear,
+  {n > 0} count = n {Q}
+  Q: {n > 0 AND count = n}
+* Second as well
+  {n > 0 AND count = n} sum = 0 {Q}
+  Q: {n > 0 AND count = n AND sum = 0}
+
+* Loop invariant vality checks:
+A) P => I
+B) {I and B} S {I}
+C) {I and not(B)} => Q
+D) Check is loops terminates
+ * count is liniary decreased with 1 and starts with a number than 0.
+   logically it will always becomes 0, which ends the loop
+ 
+
+
+
+
+
+
+
+
+
+
+
+
Index: /liacs/cvp/assignments/lecture4.txt
===================================================================
--- /liacs/cvp/assignments/lecture4.txt	(revision 2)
+++ /liacs/cvp/assignments/lecture4.txt	(revision 2)
@@ -0,0 +1,254 @@
+# Rick van der Zwet
+# StudentID: 0433373
+# $Id: lecture4.txt 301 2007-11-09 09:21:48Z rick $
+
+All quotes are based on the 8th edition of Concepts of programming
+languages from Robert W. Sebesta
+
+*** Chapter 5 Review Questions ***
+3, 4, 6, 8, 9, 12, 13, 14
+
+3)
+Q: In what way are reserved words better than keywords?
+A: A reserved word ... can be confusing pg 205
+
+4)
+Q: What is an alias?
+A: When more than ... are called aliases pg 206
+
+6)
+Q: What is the l-value of a variable? What is the r-value?
+A: The address of ... called its l-value pg 206
+   A variable its value ... called its r-value pg 207
+
+8)
+Q: After language design and implemntation, what are the four times
+   bindings can take place in a program?
+A: Binding can take ... or run time pg 208
+
+9)
+Q: Define static binding and dynamic binding.
+A: A binding is ... is called dynamic pg 208
+
+12)
+Q: Define static, stack-dynamic, explicit heap-dynamic and implicit
+   heap-dynamic variables. What are the advantages and disadvantages of
+   these?
+A: All descibed in detail at 5.43 pg 215-219
+
+13)
+Q: Define coercion, type error, type checking and strong typing.
+A: Coercion      : A compatible type ... is called coercion pg 219
+   Type error    : A type error ... an inappropriate type pg 219
+   Type checking : Type checking is . of compatible types pg 219
+   Stong typing  : A proramming language ... are always detected pg
+                    219-220
+
+14)
+Q: Define name type compatibility and structure type compatibility. What
+   are the relative merits of these two?
+A: Name type equivalence ... have identical structures. pg 221
+
+*** Chapter 5 Problem Set ***
+8, 9, 12, 14
+
+8)
+Q: Consider the following Ada skeletal program:
+   <pg 241>
+   Assume that the execution of this program is in the following unit
+   order: Main -> Sub1 -> Sub2 -> Sub3 (-> means Calls)
+   a) Assuming static scoping/dynamic in the following which declaration of X is
+   the correct one for a reference to X?
+A: Part | Dynamic | Static |
+   -------------------------
+   Sub1 | Sub1    | Sub1   |
+   Sub2 | Sub1    | Sub1   |
+   Sub3 | Sub1    | Main   |
+
+9)
+Q: Assume Ada program compiled, what vlue of X is printed in procedure
+   Sub1?
+A: Static-scoping  : 5
+   Dynamic-scoping : 10
+
+12)
+Q: Consider the following C program, for earch of the four marked
+   points in the functin, list each visible variable, along with the
+   number of the definition statement that define it.
+A: Marker   |   Def 1   |   Def 2   |   Def 3   |
+   ----------------------------------------------
+    1       |  A        |   BCD     |   -       |
+    2       |  A        |   B       |   CDE     |
+    3       |  A        |   BCD     |   -       |
+    4       |  ABC      |   -       |   -       |
+
+14)
+Q: Consider the following program:
+   Give the following calling sequences and assuming that dynamic scoping
+   is used.
+A: Part | Main |  Sub 1 | Sub 2 | Sub 3 |
+   --------------------------------------
+    a   |  -   |   Y    |  BZ   |  AXW  |
+    b   |  -   |   YZ   |  -    |  AXW  |
+    c   |  -   |  AYZ   |  B    |   XW  |
+    d   |  -   |  AYZ   |  -    |   XW  |
+    e   |  -   |   Y    | ABZ   |   XW  |
+    f   |  -   |  AYZ   |  B    |   XW  |
+
+
+*** Chapter 6 Review Questions ***
+9, 10, 11, 14, 19
+
+9)
+Q: Define static, fixed stack-dynamic, stick,-dynamic and heap-dynamic
+   arrays. What are the advantages of each?
+A: A static array ... for space changes pg 265-266
+
+10)
+Q: What is a heterogeneous array?
+A: A heterogeneous array ... of the same type pg 267
+
+11)
+Q: What happends when a nonexistent element of an array is referenced in
+   Perl?
+A: A reference to ... Perl yields _undef_, but no error is reported pg
+   265
+
+14)
+Q: What languages support array slices with stepsizes?
+A: Fortran 95, Python, Perl pg 272
+
+19)
+Q: Define row major order and column major order.
+A: In row major .. and so forth pg 274
+   In column major ... and so forth pg 274-275
+
+*** Chapter 6 Problem Set ***
+4, 11, 12, 13
+
+4)
+Q: Compare the tombstone and lock-and-key methods of avaiding dangling
+   pointers, from the points of veiw of safety and implementation cost.
+A: Tombstones are safe, the pointer is never pointing to a wrong value,
+   but costly and space ineffient, because tombstones are kept forevert
+   and every call needs to follow yet another pointer.
+   Lock-and-keys requires more book keeping in terms of space and
+   comparisons, but will clean up the 'junk' nicely. Its not clear to me
+   wether the key and dispose value will always be unique and not
+   possible to be faked. This will be a possible security risk.
+
+11)
+Q: In the Burroughs Extended ALGOL language, matrices are stored as a
+   single-dimentioned array of pointers to the rows of the matrix, which
+   are treated as single-dimentioned arrays of values. What are the
+   advantages and disadvantages of such a scheme?
+A: Row opererations -like adding,removing,looping are fast-, but column
+   operations are costly.
+
+12)
+Q: Analyze and write a comparison of C's malloc and free functions with
+   C++'s new and delete operators. Use safety as primary consideration in
+   the comparison.
+A: new and delete are type safe (no need for casts), malloc and free are
+   not. Also malloc returns a void* which then has to be cast to the 
+   appropriate pointer type. new returns the correct pointer type itself; 
+   type safety.  malloc requires you to tell the number of bytes to allocate, 
+   new figures it out itself.
+   source: http://www.velocityreviews.com/forums/\
+   t284406-differences-between-newdelete-and-mallocfree.html
+
+13)
+Q: Analyse and write a comparision of using C++ pointers and Java
+   references variables to refer to fixed heap-dynamic variables. Use
+   safety and convenience as the primary considerations in the comparison
+A: Java fixed the problem by disallowing to mess around with pointers
+   completely. This will make writing code much more clear and remove
+   the security problem of the pointers.
+
+*** Chapter 7 Problem Set ***
+7, 8, 9, 10, 11, 13
+
+7)
+Q: Describe a situation in which the add operator in a programming
+   language would not be commutative.
+A: Take a look at "foo" + "bar" = "foobar" this could not be turned
+   around
+
+8)
+Q: Descibe a situation in which the add operator in a programming
+   language would not be associative.
+A: We use 16 bit signed integers namely -32768, 32767, and 1.
+   * (-32768 + 32767) + 1 = (-1) + 1 = 0.
+   * -32768 + (32767 + 1) = -32767 + <error overflow> = <error overflow>
+
+9)
+Q: Assume the following rules of associativity and precedence for
+   expressions, show the order using parenthesizes. and subscript to
+   determine the order
+   Precedence Highest - Lowest
+   *,/,not
+   +,-,&,mod
+   - (unary)
+   =,/=,<,<=,>=,>
+   and
+   or,xor
+   Associativity: Left to right
+A:  a :: (((a * b)^1 - 1)^2 + c)^3
+    b :: (((a * (b - 1)^1)^2 / c)^3 mod d)^4
+    c :: (((a - b)^1 / c)^2 & (((d * e)^3 / a)^4 - 3)^5)^6
+    d :: ((-a)^1 or ((c = d)^2 and e)^3)^4
+    e :: (((a > b)^1 xor c)^3 or (d <= 17)^2)^4
+    f :: (-(a + b)^1)^2
+
+10)
+Q: Show the order of evaluation of the expression of Problem 9, assuming
+   that there are no precedence rules and all operators associate right to
+   left
+A:  a :: (a * (b - (1 + c)^1)^2)^3
+    b :: (a * ((b - 1)^2 / (c mod d)^1)^3)^4
+    c :: ((a - b)^5 / (c & (d * (e / (a - 3)^1)^2)^3)^4)^6
+    d :: (-(a or (c = (d and e)^1)^2)^3)^4
+    e :: (a > (b xor (c or (d <= 17)^1)^2)^3)^4
+    f :: (-(a + b)^1)^2
+
+11)
+Q: Write a BNF description of the precendence and associate rules
+   defined for the expressions in Problem 9. Assume the only operands are
+   the names a,b,c,d and e
+A: Least important ones last:
+    <stmt>  -> <stmt> * <stmt>
+            |  <stmt> / <stmt>
+            |  <stmt> not <stmt>
+            |  <stmt> + <stmt>
+            |  <stmt> - <stmt>
+            |  <stmt> & <stmt>
+            |  <stmt> mod <stmt>
+            |  - <stmt>
+            |  <stmt> = <stmt>
+            |  <stmt> /= <stmt>
+            |  <stmt> < <stmt>
+            |  <stmt> <= <stmt>
+            |  <stmt> >= <stmt>
+            |  <stmt> > <stmt>
+            |  <stmt> and <stmt>
+            |  <stmt> or <stmt>
+            |  <stmt> xor <stmt>
+            | <oper>
+    <oper>  -> "a" | "b" | "c" | "d" | "e"
+
+
+13)
+Q: Let the function fun be defined as:
+   <<page 240>>
+   Suppose fun is used in a program as follows:
+   <<page 240>>
+   What are the values of sum and sum2:
+   a) if the operands in the expressions are evaluated left to right?
+   b) if the operands in the expressions are evaluated right to left?
+A: Problem subanswers also given
+   a)   * sum1 = undef, sum2  = undef
+        * sum1 = (10 / 2) + (3 * 14 - 1) =  5 + 41 = 46
+        * sum2 = (3 * 14 - 1)  + (14 / 2) = 41 + 7 = 48
+   b)   * sum1 = undef, sum2 = undef
+        * sum1 = (14 / 2) + (3 * (14 - 1)) = 7 + 39 = 46
+        * sum2 = (3 * (14 -1)) + (10 / 2) = 39 + 5 = 44
Index: /liacs/cvp/assignments/lecture6.txt
===================================================================
--- /liacs/cvp/assignments/lecture6.txt	(revision 2)
+++ /liacs/cvp/assignments/lecture6.txt	(revision 2)
@@ -0,0 +1,69 @@
+# Rick van der Zwet
+# StudentID: 0433373
+# $Id: lecture6.txt 339 2007-11-29 22:01:09Z rick $
+
+All quotes are based on the 8th edition of Concepts of programming
+languages from Robert W. Sebesta
+
+*** Chapter 15 Review Questions ***
+Problem Set 6,7
+
+6)
+Q: What does the following Scheme function do?
+(define (y s lis)
+    (cond
+    ((null? lis) '() )
+    ((equal? s (car lis)) lis)
+    (else (y s (cdr lis)))
+A: It will remove the head of the list till it find s, if none found
+   '() is the result
+
+7)
+Q: What does the following Scheme function do?
+(define (x lis)
+    (cond
+        ((null? lis) 0)
+        ((not (list? (car list)))
+            (cond
+                ((eq? (car lis) nil) (x (cdr lis)))
+                ((else (+ 1 (x (cdr list))))))
+        (else (+ (x (car list)) (x cdr lis))))
+))
+A: It will traverse the lis and count the number of atoms in there
+
+
+Problem Excercises 4,5,6
+4)
+Q: Write Scheme function that returns the number of zeros in a given
+   simple list of numbers.
+A:
+(define (x lis)
+    (cond
+        ((null? lis) 0)
+        ((eq? 0 (car lis)) (+ 1 (x (cdr lis)))
+        (else (+ 0 (x (cdr lis)))
+    )
+)
+
+5)
+Q: Write a Scheme function that deletes all top-level instances of an
+   given atom from a given list
+A:
+(define (x atom lis)
+    (cond
+        ((null? lis) '() )
+        ((eq? atom lis) (x atom cdr(lis)))
+        ((else (cons car(atom) (x atom cdr(lis)))))
+    )
+)
+
+6)
+Q: Write a Scheme function that removes the last element from a given
+   list
+(define (x list)
+    (cond
+        ((null? cdr(list) '() ))
+        ((else (cons car(list) (x cdr(list)))))
+    )
+)
+
Index: /liacs/cvp/assignments/lecture7.txt
===================================================================
--- /liacs/cvp/assignments/lecture7.txt	(revision 2)
+++ /liacs/cvp/assignments/lecture7.txt	(revision 2)
@@ -0,0 +1,49 @@
+# Rick van der Zwet
+# StudentID: 0433373
+# $Id: lecture7.txt 380 2007-12-14 19:15:01Z rick $
+
+All quotes are based on the 8th edition of Concepts of programming
+languages from Robert W. Sebesta
+
+*** Chapter 13 Questions ***
+Problem Set 3, 5, 6, 9
+
+3)
+Q: Busy waiting is a method whereby a task waits for a given event by
+continuously checking for that event to occur. What is the main problem
+with this approach?
+A: Deadlocks could occurs, where all processes are waiting on each-other
+
+5)
+Q: From a book on assembly language programming for a computer that uses
+an Intel Pentium processor determine what instructions are provided to
+support the construction of semaphores?
+A: According to http://jsimlo.sk/docs/cpu/index.php/lock.html, Intel
+processors uses for example F0 (LOCK) to create lock signal or the XCHG
+which automatically includes/sets the lock signal
+
+6)
+Q: Suppose two tasks A and B must use the shared variable Buf_Size. Task
+A adds 2 to Buf_Size and task B subtracts 1 from it. Assume that such
+arithmetic operations are done by the three-step process of fetching the
+current value, performing the arithmetic, and putting the new value back.
+In the absence of competition synchronization, what sequences of events
+are possible and what values result from these operations? Assume the
+initial value of Buf_Size is 6?
+A: We use the symantic of <task>R(ead), <task>O(peration), <task>W(rite)
+Peforming the operation is no problem and will not lead to problems if
+execuded before a read or write;
+* AR - AW - BR - BW = 7
+* AR - BR - AW - BW = 5
+* AR - BR - BW - AW = 8
+* BR - AR - AW - BW = 8
+* BR - AR - BW - AW = 5
+* BR - BW - AR - AW = 7
+
+9)
+Q: What happens if a monitor procedure calls another procedure in the
+same monitor?
+A: The first procedure (A) will suspend till the second (B) is ready,
+both A and B do have access to the same dataspace.
+
+
Index: /liacs/cvp/comments.txt
===================================================================
--- /liacs/cvp/comments.txt	(revision 2)
+++ /liacs/cvp/comments.txt	(revision 2)
@@ -0,0 +1,36 @@
+Here are my comments on the programming assignments and the last two
+homework assignments.
+
+Greetings,
+
+Thijs <thijsvanommen@gmail.com>
+
+Java, first part:
+- release_writelock() in ReadProcess should be release_readlock()
+- && in get_writelock() should be ||
+- writer does only a simple notify() when releasing its lock, while
+there might be many readers waiting that could go in at the same time
+Java, second part:
+- writerequest should be an int, not a boolean, as there can be many
+writers waiting to get a lock (you identified this problem in your
+report)
+- both notify()'s should now be notifyAll()'s: currently, a if either
+notify() happens to wake up a reader while a writer is also waiting
+for a lock, your program freezes
+
+Prolog, part 1c:
+- your paths don't include the first and last points, which do belong to
+  it
+  - path(a,c,[[a,b],[b,c],[c,b]],[b,c,b]) is satisfied, but the path
+  clearly isn't semi-acyclic
+  Prolog, part 2:
+  - comparisons should be strict
+  - "min/max" constants limit functionality
+
+  Scheme: GRADE 7,5
+  - late
+  - you don't relate the difference in programs to a possible difference
+  in paradigms
+  - substitute doesn't handle the empty list as its first parameter
+  - while you treat the strings recursively, they don't fully reflect
+  the nature of recursive lists, being stored linearly
Index: /liacs/cvp/java/BEER_DRINKERS/Beer_Drinkers.java
===================================================================
--- /liacs/cvp/java/BEER_DRINKERS/Beer_Drinkers.java	(revision 2)
+++ /liacs/cvp/java/BEER_DRINKERS/Beer_Drinkers.java	(revision 2)
@@ -0,0 +1,140 @@
+/*
+
+Juan Guillen Scholten.
+Leiden University.
+
+An example of monitor use in Java.
+
+There are N drinkers drinking beer in a pub. After a while some of them want to 
+go to the toilet, unfortunately there is just one available. So only 
+one drinker can enjoy the toilet at the same time and the rest must wait.
+
+*/
+
+//
+// The monitor class.
+//
+class Toilet 
+{
+  private boolean occupied = false; 
+   
+  Toilet () {};  // constructor
+  
+  //
+  // Try to enter the toilet. If occupied then 
+  // drinker has to wait, else drinker can enter.
+  //
+  synchronized void try_to_enter ()
+  {
+     while (occupied)
+     {
+        try { wait(); } catch (InterruptedException e) 
+	{
+	   //
+	   // In Java you always have to catch an exception 
+	   // when doing a wait. 
+	   //
+	   System.out.println("interruptedException caught");
+	}
+     }
+     occupied = true;
+  }// try_to_enter 
+  
+  //
+  // Leave the toilet. Do a notify for if somebody else 
+  // is waiting. 
+  // 
+  synchronized void leave_toilet ()
+  {
+     occupied = false;
+     notify();         // same as signal
+  }// leave_toilet  
+}// Toilet 
+
+class Drinker extends Thread
+{
+   int id;
+   private Toilet toilet;
+   
+   Drinker (int number, Toilet a)
+   {
+      super ("Drinker"+number);
+      this.id = number;
+      toilet = a;
+   }// constructor 
+
+   public void run ()
+   {
+      int times;
+      int index = 0;
+      int sleeptime;
+
+      times = (int) (Math.random () * 20); // number of times 
+                                           // going to the toilet
+      while ( index < times )
+      {
+         //
+	 // Drinking beer.
+	 //
+	 sleeptime = (int) (Math.random () * 2000); // 2000 = 2 sec. 
+	 try {sleep (sleeptime);} catch (Exception e) {}
+	 
+	 //
+	 // Trying to enter the toilet.
+	 //
+	 System.out.println("Drinker "+ id +" wants to go to the toilet.");
+	 toilet.try_to_enter();
+         
+	 //
+	 // Using the toilet.
+	 // 
+	 System.out.println("Drinker "+ id +" enters the toilet.");
+	 sleeptime = (int) (Math.random () * 2000); 
+	 try {sleep (sleeptime);} catch (Exception e) {}
+         
+         //
+	 // Leaving the toilet.
+	 // 
+	 System.out.println("Drinker "+ id +" leaves the toilet and says: NEXT!");
+	 System.out.println(" ");
+	 toilet.leave_toilet();
+         index++;
+	 
+      }
+      System.out.println("Drinker "+ id + " goes home.");
+      System.out.println(" ");
+   }// run
+}// Drinker 
+
+public class Beer_Drinkers
+{
+   public static void main (String args[])
+   {
+      Toilet toilet;
+      int N = 4;            // number of drinkers
+      int i;
+      System.out.println("Amount of drinkers : "+ N + ".");
+      System.out.println(" ");
+      toilet = new Toilet();
+      Drinker [] drinker = new Drinker [N];
+      
+      //
+      // Creating the drinkers.
+      //
+      for (i = 0; i < N; i++)
+      {
+         drinker[i] = new Drinker (i, toilet);
+      }
+     
+      //
+      // Starting the drinkers.
+      //
+      for (i = 0; i < N; i++)
+      {
+         drinker[i].start();
+      } 
+      
+    }// main 
+}// Beer_Drinkers
+
+
Index: /liacs/cvp/java/BEER_DRINKERS/Makefile
===================================================================
--- /liacs/cvp/java/BEER_DRINKERS/Makefile	(revision 2)
+++ /liacs/cvp/java/BEER_DRINKERS/Makefile	(revision 2)
@@ -0,0 +1,14 @@
+OBJECTS = 	Beer_Drinkers.class
+
+%.class: %.java
+	javac $(FLAGS) $<
+
+all:	$(OBJECTS)
+
+clean:
+	rm *.class
+
+run:
+	java Beer_Drinkers 
+
+
Index: /liacs/cvp/java/eyes/Makefile
===================================================================
--- /liacs/cvp/java/eyes/Makefile	(revision 2)
+++ /liacs/cvp/java/eyes/Makefile	(revision 2)
@@ -0,0 +1,12 @@
+OBJECTS = 	Ogen.class
+
+%.class: %.java
+	javac $(FLAGS) $<
+
+all:	$(OBJECTS)
+
+clean:
+	rm *.class
+
+run:
+	appletviewer Ogen.html
Index: /liacs/cvp/java/eyes/Ogen.html
===================================================================
--- /liacs/cvp/java/eyes/Ogen.html	(revision 2)
+++ /liacs/cvp/java/eyes/Ogen.html	(revision 2)
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<TITLE>Voorbeeldprogramma Java</TITLE>
+</HEAD>
+<BODY>
+
+Een eerste Java-programma:
+<hr>
+
+<APPLET CODE="Ogen.class" WIDTH=800 HEIGHT=500></APPLET>
+
+<hr>
+
+</BODY>
+</HTML>
Index: /liacs/cvp/java/eyes/Ogen.java
===================================================================
--- /liacs/cvp/java/eyes/Ogen.java	(revision 2)
+++ /liacs/cvp/java/eyes/Ogen.java	(revision 2)
@@ -0,0 +1,62 @@
+
+import java.awt.*;
+
+public class Ogen
+    extends java.applet.Applet{
+    
+    //blx holds previous x-value of of left eye, etc...
+    double blx,bly,brx,bry;
+    //new values of eyes
+    double lx=150, ly=150, rx=260, ry=150;
+    
+    public boolean mouseMove(Event evt,int x,int y)
+    {
+        //move to corner of window and calc schale
+        double k = schaallengte(x-150,y-150);
+        lx = k * (double)(x-150) + 150;
+        ly = k * (double)(y-150) + 150;
+        //move to corner of window and calc scale
+        k  = schaallengte(x-260,y-150);
+        rx = k * (double)(x-260) + 260;
+        ry = k * (double)(y-150) + 150;
+        repaint();  // call to update
+        return true;
+    }
+    
+    //get the scale factor to make sure the eyeballs remains in the eye
+    //itself, by the concept of Inversive geometry, see:
+	//http://en.wikipedia.org/wiki/Inversive_geometry
+    public double schaallengte(int x,int y)
+    {
+        return (double)(38) / Math.sqrt((double)(x*x+y*y+1444));
+    }
+    
+    public void paint(Graphics g)
+    {
+        //out black circle of eyes (solid)
+        g.setColor(Color.black);
+        g.fillOval(100,100,100,100);
+        g.fillOval(210,100,100,100);
+        //put white circle in there to make the circle non-solid
+        g.setColor(Color.white);
+        g.fillOval(104,104,92,92);
+        g.fillOval(214,104,92,92);
+        //draw eyes, calling update might be more handy
+        g.setColor(Color.black);
+        g.fillOval((int)(blx=lx-8),(int)(bly=ly-8),16,16);
+        g.fillOval((int)(brx=rx-8),(int)(bry=ry-8),16,16);
+    }
+    
+    public void update(Graphics g)
+    {
+        // delete old eyes by painting them white again
+        g.setColor(Color.white);
+        g.fillOval((int)blx,(int)bly,16,16);
+        g.fillOval((int)brx,(int)bry,16,16);
+        // set new eyes, the minus 8 will make it a good center, else it
+		// will pass the border and whipe the eyeball
+        g.setColor(Color.black);
+        g.fillOval((int)(blx=lx-8),(int)(bly=ly-8),16,16);
+        g.fillOval((int)(brx=rx-8),(int)(bry=ry-8),16,16);
+    }
+}
Index: /liacs/cvp/java/first/Database.java
===================================================================
--- /liacs/cvp/java/first/Database.java	(revision 2)
+++ /liacs/cvp/java/first/Database.java	(revision 2)
@@ -0,0 +1,66 @@
+/*
+ * Rick van der Zwet
+ * 0433373
+ * Java programming assigment 1.2
+ * Licence: BSD
+ * $Id: Database.java 270 2007-10-13 13:45:29Z rick $
+ */
+
+class Database
+{
+// Read lock, call next person
+// Write lock, call next person when done
+    private int readlock = 0;
+    private boolean  writelock = false;
+
+    private String value = new String("INIT");
+
+    Database () {}; // constructor
+
+    synchronized void get_readlock ()
+    {
+        while (writelock)
+        {
+            try { wait(); } catch (InterruptedException e)
+            {
+                System.out.println("interruptedException caught");
+            }
+        }
+        readlock++;
+    }
+
+    synchronized String read ()
+    {
+        return (value);
+    }
+
+    synchronized void release_readlock ()
+    {
+        readlock--;
+        notify();
+    }
+
+    synchronized void get_writelock()
+    {
+        while (writelock && readlock > 0)
+        {
+            try { wait(); } catch (InterruptedException e)
+            {
+                System.out.println("interruptedException caught");
+            }
+        }
+        writelock = true;
+    }
+
+    synchronized void write (String text)
+    {
+        value = value + ":" + text;
+    }
+
+    synchronized void release_writelock()
+    {
+        writelock = false;
+        notify();
+    }
+}
+
Index: /liacs/cvp/java/first/Makefile
===================================================================
--- /liacs/cvp/java/first/Makefile	(revision 2)
+++ /liacs/cvp/java/first/Makefile	(revision 2)
@@ -0,0 +1,14 @@
+OBJECTS = 	RWProblem.class
+
+%.class: %.java
+	javac $(FLAGS) $<
+
+all:	$(OBJECTS)
+
+clean:
+	rm *.class
+
+run:
+	java RWProblem
+
+
Index: /liacs/cvp/java/first/RWProblem.java
===================================================================
--- /liacs/cvp/java/first/RWProblem.java	(revision 2)
+++ /liacs/cvp/java/first/RWProblem.java	(revision 2)
@@ -0,0 +1,100 @@
+/*
+ * Rick van der Zwet
+ * 0433373
+ * Java programming assigment 1.2
+ * Licence: BSD
+ * $Id: RWProblem.java 270 2007-10-13 13:45:29Z rick $
+ */
+import java.util.Random;
+
+
+class ReadProcess extends Process
+{
+    public ReadProcess(int number, Database database)
+    {
+        super(number, database);
+    }
+
+    public void run ()
+    {
+        message("Started as READ");
+        database.get_readlock();
+        message("Read: " + database.read());
+        sleep();
+        database.release_writelock();
+        message("Ended");
+    }
+}
+
+class WriteProcess extends Process
+{
+    public WriteProcess(int number, Database database)
+    {
+        super(number, database);
+    }
+
+    public void run ()
+    {
+        message("Started as WRITE");
+        database.get_writelock();
+        database.write(Integer.toString(id));
+        sleep();
+        message("Wrote his Id");
+        database.release_writelock();
+        message("Ended");
+    }
+}
+
+class Process extends Thread
+{
+    protected int id;
+    protected Database database;
+
+    Process (int number, Database d)
+    {
+        this.id = number;
+        database = d;
+    }
+
+    protected void sleep ()
+    {
+        int sleeptime;
+        sleeptime = (int) (Math.random () * 1000);
+        try
+        {
+            Thread.sleep( sleeptime );
+        }
+        catch ( InterruptedException e) { }
+    }
+
+    protected void message (String text)
+    {
+        System.out.println("[" + id + "] " + text);
+    }
+}
+
+public class RWProblem
+{
+    public static void main (String args[])
+    {
+        Database database;
+        int N = 100; //processes
+        int i; //loop counter
+        Random write = new Random();
+
+        database = new Database();
+        Process [] process = new Process [N];
+
+        for( i = 0; i < N; i++)
+        {
+            if (write.nextBoolean())
+            {
+                process[i] = new WriteProcess (i, database);
+            }
+            else {
+                process[i] = new ReadProcess (i, database);
+            }
+            process[i].start();
+        }
+    }
+}
Index: /liacs/cvp/java/report/Makefile
===================================================================
--- /liacs/cvp/java/report/Makefile	(revision 2)
+++ /liacs/cvp/java/report/Makefile	(revision 2)
@@ -0,0 +1,50 @@
+# Rick van der Zwet <rick@wzoeterwoude.net>
+TARGET = report
+LATEX = latex
+XDVI = xdvi
+TEX = latex -halt-on-error
+DVIPDF = dvipdf
+ASPELL = aspell
+ASPELL_ARGS = -c --mode=tex
+.SUFFIXES: .pdf
+
+help:
+	@echo "Usage Makefile <option>"
+
+all: clean view
+
+view: viewdvi
+
+viewdvi: builddvi
+	$(XDVI) $(TARGET)
+
+builddvi: $(TARGET).dvi
+
+clean:
+	rm -vf *.aux *.dvi *.log *toc *.out *.bak
+
+distclean: clean
+	rm -vf $(TARGET).pdf
+
+buildpdf: $(TARGET).pdf
+
+viewpdf: buildpdf
+	open $(TARGET).pdf
+
+spell: spell-nl
+
+spell-nl: $(TARGET).tex
+	$(ASPELL) -l nl -p ~/aspell-n.dic $(ASPELL_ARGS) $<
+
+spell-en: $(TARGET).tex
+	$(ASPELL) -l en -p ~/aspell-en.dic $(ASPELL_ARGS) $<
+
+.dvi.pdf:
+	$(DVIPDF) $? $@
+
+.tex.dvi:
+	$(TEX) $? $@
+	$(TEX) $? $@
+
+.gs.png:
+	$(GNUPLOT) $?
Index: /liacs/cvp/java/report/report.tex
===================================================================
--- /liacs/cvp/java/report/report.tex	(revision 2)
+++ /liacs/cvp/java/report/report.tex	(revision 2)
@@ -0,0 +1,167 @@
+\documentclass[a4paper,12pt]{article}
+\usepackage{hyperref}
+\usepackage{a4wide}
+%\usepackage{indentfirst}
+\usepackage[english]{babel}
+\usepackage{graphics}
+%\usepackage[pdftex]{graphicx}
+\usepackage{latexsym}
+\usepackage{fancyhdr}
+\usepackage{fancyvrb}
+
+\parindent=0cm
+
+\pagestyle{fancyplain}
+\newcommand{\tstamp}{\today}
+\newcommand{\id}{$ $Id: report.tex 195 2007-05-30 01:04:25Z rick $ $}
+\lfoot[\fancyplain{\tstamp}{\tstamp}]   {\fancyplain{\tstamp}{\tstamp}}
+\cfoot[\fancyplain{\id}{\id}]           {\fancyplain{\id}{\id}}
+\rfoot[\fancyplain{\thepage}{\thepage}] {\fancyplain{\thepage}{\thepage}}
+
+
+\title{ Concepts of programming languages \\
+\large{Assignment 1 - Java}}
+\author{Rick van der Zwet\\
+  \texttt{<hvdzwet@liacs.nl>}\\
+  \\
+  LIACS\\
+  Leiden Universiteit\\
+  Niels Bohrweg 1\\
+  2333 CA Leiden\\
+  The Netherlands}
+\date{\today}
+\begin{document}
+\maketitle
+\section{Introduction}
+Analyse on Java program Write two Java programs to get some experience
+implementing concurrent programs in Java. 
+
+\section{Analyse Eyes.java}
+Compiling and execution of the program is pretty staight forward
+\begin{verbatim}
+$ javac Eyes.class Eyes.java
+\end{verbatim}
+A detailed explanation of the program code is found in the Appendix -
+Ogen.java \ref{file:Ogen.java}
+
+\section{The Readers/Writer Problem}
+\subsection{Problem}
+\label{rwproblem}
+Two kind processes -readers and writers- share a database. Writers
+execute transactions than update the database; reader transactions
+access the database without modifying it. The database is assumed
+initially to be in a consistend state (i.e one in which relations
+between data are meaningfull). Each transaction, if executed in
+isolation, transforms the database from one consistent state to another.
+To preclude interference between transactions, a writer process must
+have exclusive access to the database. Assuming no writer is accessing
+the database, any number of readers my concurrently execute
+transactions.
+\\
+To tackle this problem we first have to indentify the main states and
+summerize the conditions:
+\begin{enumerate}
+\item No processes is reading/writing the database \\
+Both new read/write processes are allowed to start right away
+\item X processes are reading the database \\
+A new read process is allowed to start right away, a write process needs to
+wait
+\item 1 process is writing the database \\
+Both new read/write processes need to wait
+\end{enumerate}
+
+\subsection{Implementation}
+\label{rw-implentation}
+To implement this problem we keep track how many processes are reading
+the database by using an counter (called Readers), which is incremented
+when an reader starts reading and decremented when done. Writing to the
+datebase will be locked by a flag (called WriteLocked) stating we are
+busy and released when done.
+\\\\
+When a reader process tries to access the database, it will check
+whether the WriteLocked is set free and then increment the Writers, and
+decrement the Writers when done else it will wait
+\\\\
+When a writer process tries to access the database, it will check wether
+the WriteLocked is set free, else it will wait. If the WriteLocked is
+set free and there are no Readers (e.g Readers = 0), it will lock it
+WriteLocked and release when done.
+\\\\
+The java implemetation is found at first/Database.java~\ref{file:Database.java}
+
+\subsection{Test Suite}
+\label{rw-test-suite}
+In order to test this implemtation a test program is created. In short
+it will create X number of readers and writers using threads to make
+them recurrent and have them all access the database
+\\\\
+The java implemetation is found at RWProblem.java~\ref{file:RWProblem.java}
+
+
+\section{The Readers/Writer Problem enhanced}
+\subsection{Problem}
+Implement the Readers/Writers problem (described at~\ref{rwproblem})
+giving priority to the writers: i.e. if a writer wants to enter the
+database but has to wait then no reader may enter, and of course the
+writer still has to wait for current readers in the database to be
+finished
+\\\\
+The main states defined in~\ref{rwproblem} still exists, but the
+state 2 is slightly changed
+\begin{enumerate}
+\item No processes is reading/writing the database \\
+Both new read/write processes are allowed to start right away
+\item X processes are reading the database \\
+A new read process is allowed to start if no writer process is waiting,
+a write process needs to wait
+\item 1 process is writing the database \\
+Both new read/write processes need to wait
+\end{enumerate}
+
+\subsection{Implementation}
+As the actions are slightly changed, the implementation needs to be
+changed a slight little bit as well from the implementation at~
+\ref{rw-implentation}. The flag WriterWaiting will indentify wether a
+Writer is waiting. A Reader which tries to access the database will now
+check wheter both WriteLocked and WriterWaiting are false before reading
+is done.
+A Writer which try to access the database and find the database locked
+by WriteLocked will now set WriterWaiting and start waiting, when a
+Writer find WriteLocked to be false it will start running (setting
+WriteLocked to be true) and set WriterWaiting to be false.
+\\\\
+Using this implementation there is only one caveat -which only occurs
+when the stack grow that big that not all processes database attemps
+are checked during the time of one write- . Take a look at the following
+stack order: W(rite), R(ead), R, R, R, W, R, R. and assume the current state
+is 1 (no-one reading/writing). Process 1 will set the WriteWaiting flag
+to be false, if the write of Process completed, before the next Write is
+checked (and the flag WriteWaiting is set again). The read processes are
+allowed to start even there is a Write process waiting in the queue
+\\\\
+The java implemetation is found at second/Database.java~
+\ref{file:secondDatabase.java}
+
+\subsection{Test Suite}
+Used the same test tool as defined in~\ref{rw-test-suite}
+
+\section{Appendix}
+
+\subsection{Ogen.java}
+\label{file:Ogen.java}
+\VerbatimInput{../eyes/Ogen.java}
+%Newpage
+\subsection{first/Database.java}
+\label{file:Database.java}
+\VerbatimInput{../first/Database.java}
+%Newpage
+\subsection{second/Database.java}
+\label{file:secondDatabase.java}
+\VerbatimInput{../second/Database.java}
+%Newpage
+\subsection{RWProblem.java}
+\label{file:RWProblem.java}
+\VerbatimInput{../first/RWProblem.java}
+%Newpage
+
+\end{document}
Index: /liacs/cvp/java/second/Database.java
===================================================================
--- /liacs/cvp/java/second/Database.java	(revision 2)
+++ /liacs/cvp/java/second/Database.java	(revision 2)
@@ -0,0 +1,69 @@
+/*
+ * Rick van der Zwet
+ * 0433373
+ * Java programming assigment 1.2
+ * Licence: BSD
+ * $Id: Database.java 270 2007-10-13 13:45:29Z rick $
+ */
+
+class Database
+{
+// Read lock, call next person
+// Write lock, call next person when done
+    private int readlock = 0;
+    private boolean  writelock = false;
+    private boolean writerequest = false;
+
+    private String value = new String("INIT");
+
+    Database () {}; // constructor
+
+    synchronized void get_readlock ()
+    {
+        while (writelock || writerequest)
+        {
+            try { wait(); } catch (InterruptedException e)
+            {
+                System.out.println("interruptedException caught");
+            }
+        }
+        readlock++;
+    }
+
+    synchronized String read ()
+    {
+        return (value);
+    }
+
+    synchronized void release_readlock ()
+    {
+        readlock--;
+        notify();
+    }
+
+    synchronized void get_writelock()
+    {
+        writerequest = true;
+        while (writelock && readlock > 0)
+        {
+            try { wait(); } catch (InterruptedException e)
+            {
+                System.out.println("interruptedException caught");
+            }
+        }
+        writelock = true;
+        writerequest = false;
+    }
+
+    synchronized void write (String text)
+    {
+        value = value + ":" + text;
+    }
+
+    synchronized void release_writelock()
+    {
+        writelock = false;
+        notify();
+    }
+}
+
Index: /liacs/cvp/java/second/Makefile
===================================================================
--- /liacs/cvp/java/second/Makefile	(revision 2)
+++ /liacs/cvp/java/second/Makefile	(revision 2)
@@ -0,0 +1,14 @@
+OBJECTS = 	RWProblem.class
+
+%.class: %.java
+	javac $(FLAGS) $<
+
+all:	$(OBJECTS)
+
+clean:
+	rm *.class
+
+run:
+	java RWProblem
+
+
Index: /liacs/cvp/java/second/RWProblem.java
===================================================================
--- /liacs/cvp/java/second/RWProblem.java	(revision 2)
+++ /liacs/cvp/java/second/RWProblem.java	(revision 2)
@@ -0,0 +1,101 @@
+/*
+ * Rick van der Zwet
+ * 0433373
+ * Java programming assigment 1.2
+ * Licence: BSD
+ * $Id: RWProblem.java 270 2007-10-13 13:45:29Z rick $
+ */
+import java.util.Random;
+
+
+
+class ReadProcess extends Process
+{
+    public ReadProcess(int number, Database database)
+    {
+        super(number, database);
+    }
+
+    public void run ()
+    {
+        message("Started as READ");
+        database.get_readlock();
+        message("Read: " + database.read());
+        sleep();
+        database.release_writelock();
+        message("Ended");
+    }
+}
+
+class WriteProcess extends Process
+{
+    public WriteProcess(int number, Database database)
+    {
+        super(number, database);
+    }
+
+    public void run ()
+    {
+        message("Started as WRITE");
+        database.get_writelock();
+        database.write(Integer.toString(id));
+        sleep();
+        message("Wrote his Id");
+        database.release_writelock();
+        message("Ended");
+    }
+}
+
+class Process extends Thread
+{
+    protected int id;
+    protected Database database;
+
+    Process (int number, Database d)
+    {
+        this.id = number;
+        database = d;
+    }
+
+    protected void sleep ()
+    {
+        int sleeptime;
+        sleeptime = (int) (Math.random () * 1000);
+        try
+        {
+            Thread.sleep( sleeptime );
+        }
+        catch ( InterruptedException e) { }
+    }
+
+    protected void message (String text)
+    {
+        System.out.println("[" + id + "] " + text);
+    }
+}
+
+public class RWProblem
+{
+    public static void main (String args[])
+    {
+        Database database;
+        int N = 100; //processes
+        int i; //loop counter
+        Random write = new Random();
+
+        database = new Database();
+        Process [] process = new Process [N];
+
+        for( i = 0; i < N; i++)
+        {
+            if (write.nextBoolean())
+            {
+                process[i] = new WriteProcess (i, database);
+            }
+            else {
+                process[i] = new ReadProcess (i, database);
+            }
+            process[i].start();
+        }
+    }
+}
Index: /liacs/cvp/prolog/README
===================================================================
--- /liacs/cvp/prolog/README	(revision 2)
+++ /liacs/cvp/prolog/README	(revision 2)
@@ -0,0 +1,14 @@
+/*
+ * Rick van der Zwet
+ * 0433373
+ * Prolog programming assigment 2
+ * Licence: BSD
+ * $Id: README.txt 299 2007-11-08 00:10:31Z rick $
+ */
+
+assignment1.pro = First exercise: Finite directed Graphs
+assignment1.pro = Second Exercise: Binary Search Trees
+
+Both programs has got inline comments which explains the code, I used
+some sequential like coding in assignment2 -for example the 'once/call'- cause it made
+programs far more understandable for me
Index: /liacs/cvp/prolog/assignment1.pro
===================================================================
--- /liacs/cvp/prolog/assignment1.pro	(revision 2)
+++ /liacs/cvp/prolog/assignment1.pro	(revision 2)
@@ -0,0 +1,47 @@
+#!/usr/bin/env swipl -s
+
+/*
+ * Rick van der Zwet
+ * 0433373
+ * Prolog programming assigment 1
+ * Licence: BSD
+ * $Id: assignment1.pro 299 2007-11-08 00:10:31Z rick $
+ */
+
+/* final call, [X,Y] member of Graph */
+trans_dag(X, Y, Graph) :-
+    member([X,Y], Graph).
+
+/* Find all nodes which are findable from X */
+trans_dag(X, Y, Graph) :-
+    member([X,Z], Graph),
+    trans_dag(Z, Y, Graph).
+
+/* final call, [X,Y] member of Graph, do note initial path is set []
+ * over here */
+trans(X, Y, Graph, _, []) :-
+    member([X,Y], Graph).
+
+/* Find all nodes which are findable from X, but where
+ * passed node is not member of Avoid, to avoid cycles
+ * Path is constructed just the other way around
+ */
+trans(X, Y, Graph, Avoid, Path) :-
+    not(member(X, Avoid)),
+    member([X,Z], Graph),
+    Path=[Z|PathTail],
+    AvoidAdded=[X|Avoid],
+    trans(Z, Y, Graph, AvoidAdded, PathTail).
+
+/* init trans to trans 'system' call, which just ignored the Path and
+ * makes the Avoid list starting []
+ */
+trans(X, Y, Graph) :-
+    trans(X, Y, Graph, [], _).
+
+
+/* init trans to path 'system' call
+ * makes the Avoid list starting []
+ */
+path(X, Y, Graph, Path) :-
+    trans(X, Y, Graph, [], Path).
Index: /liacs/cvp/prolog/assignment2.pro
===================================================================
--- /liacs/cvp/prolog/assignment2.pro	(revision 2)
+++ /liacs/cvp/prolog/assignment2.pro	(revision 2)
@@ -0,0 +1,70 @@
+#!/usr/bin/env swipl -s
+
+/*
+ * Rick van der Zwet
+ * 0433373
+ * Prolog programming assigment 2
+ * Licence: BSD
+ * $Id: assignment2.pro 299 2007-11-08 00:10:31Z rick $
+ *
+ * We shall consider binary trees whose nodes are (labelled with)
+ * natural numbers, and use the term void to denote the empty tree, and
+ * the term tree(x, left, right). to denote the tree with root x, left
+ * subtree left and right subtree right. For example, the term tree(1,
+ * tree(2, void, void), tree(3, void, void)) represents the tree with
+ * root 1 and children 2 and 3
+ *  We call a binary tree tree(x, left, right) nice if:
+ * 1. if left is not empty then x is greater than all the elements in
+ *    left
+ * 2. if right is not empty then x is less than all the elements in
+ *    right.
+ *
+ * A binary tree is called a search tree if every subtree of it is nice.
+ * Write a program which tests whether a ground term is a search tree.
+ *
+ * Hint: Use the following predicate is_search_tree(T) in the definition
+ * of search tree:
+ * is_search_tree(void).
+ * is_search_tree(T) :- is_search_tree(T, Min, Max).
+ *  where Min and Max are the minimum and maximum element of the tree T.
+ *  Then implement the predicate is_search_tree(T, Min, Max).
+ */
+
+
+/* Make a call to a void/2 fail to make the once(call( fail when calling
+ * the void X X
+ */
+void(_, _) :-
+    fail.
+
+/* Calculate wether leaf is valid */
+tree(X, void, void, Min, Max) :-
+    X =< Max,
+    X >= Min.
+
+/* Only Left set, make the call */
+tree(X, Left, void, Min, _) :-
+    once(call(Left, Min, X)).
+
+/* Only Right set, make the call */
+tree(X, void, Right, _, Max) :-
+    once(call(Right, X, Max)).
+
+/* Both set, make the call */
+tree(X, Left, Right, Min, Max) :-
+    once(call(Left,  Min, X)),
+    once(call(Right, X, Max)).
+
+/* Initial values */
+tree(X, Left, Right) :-
+    tree(X, Left, Right, -32768, 32768).
+
+/* Exception single tree node */
+tree(_, void, void) :-
+    true.
+
+/* Exception no node */
+is_search_tree(void).
+
+is_search_tree(T) :-
+    once(call(T)).
Index: /liacs/cvp/scheme/README
===================================================================
--- /liacs/cvp/scheme/README	(revision 2)
+++ /liacs/cvp/scheme/README	(revision 2)
@@ -0,0 +1,31 @@
+/*
+ * Rick van der Zwet
+ * 0433373
+ * Scheme programming assigment 1a
+ * Licence: BSD
+ * $Id: README.txt 379 2007-12-11 16:18:01Z rick $
+ */
+
+1)
+Scheme implemented/documented in exercise1a.scm
+C++ implemented/documented in exercise1b.scm
+
+The main differences between programming in C++ and scheme are caused
+due the fact that that input in scheme actually means something on which
+operations could be preformed. In C++ the input is just treated as a
+normal string and their needs to be an whole lot of logic around it to
+make it meaningfull.
+
+It just seems of writing the scheme core code for a particular
+application, which requires a whole lot of thinking
+
+2)
+Scheme implemented/documented in exercise2.scm
+In order to have this implemented you will need take close watch of the
+internal data representation, we could see and distigust serveral
+things:
+* () = empty leaf
+* (a) = leaf
+
+In order to breadth depth we need to add the remains of an found tree to
+the end.
Index: /liacs/cvp/scheme/exercise1a.scm
===================================================================
--- /liacs/cvp/scheme/exercise1a.scm	(revision 2)
+++ /liacs/cvp/scheme/exercise1a.scm	(revision 2)
@@ -0,0 +1,52 @@
+#!/usr/bin/env guile -s
+!#
+
+
+; * Rick van der Zwet
+; * 0433373
+; * Scheme programming assigment 1a
+; * Licence: BSD
+; * $Id: exercise1a.scm 374 2007-12-10 20:18:45Z rick $
+
+; replace find and replace
+(define sub_atom
+    (lambda (atom sub)
+        ;write down replacement else procede to next of the list
+        (cond
+            ((null? sub) atom)
+            ((eq? (caar sub) atom) (cadar sub))
+            (else (sub_atom atom (cdr sub)))
+        )
+    )
+)
+
+(define substitute
+    (lambda (lijst sub)
+        ;if element a return sub if found else element using adding pair (a
+        ; a) to replace sub
+        (if (list? lijst)
+            ;if list and both head and tail recurse both
+            ;else recurse single
+            (if (null? (cdr lijst))
+                (list (substitute (car lijst) sub))
+                (cons (substitute (car lijst) sub)
+                       (substitute (cdr lijst) sub))
+            )
+            ; try to do the replacement
+            (sub_atom lijst sub)
+        )
+    )
+)
+
+
+
+
+(display
+    (equal?
+        (substitute
+            '((a (b c) d) a (f b))
+            '((a z) (b y))
+        )
+        '((z (y c) d) z (f y))
+    )
+)
Index: /liacs/cvp/scheme/exercise1b.cc
===================================================================
--- /liacs/cvp/scheme/exercise1b.cc	(revision 2)
+++ /liacs/cvp/scheme/exercise1b.cc	(revision 2)
@@ -0,0 +1,87 @@
+/*
+ * Rick van der Zwet
+ * 0433373
+ * Scheme programming assigment 1a
+ * Licence: BSD
+ * $Id: exercise1b.cc 375 2007-12-10 23:02:34Z rick $
+ */
+#include <stdio.h>
+#include <sysexits.h>
+#include <iostream>
+#include <string>
+
+using namespace std;
+
+/* Make good use of the predifined input of replace string */
+string
+sub_atoms (string input, const string rstring)
+{
+    size_t bi, ri;
+
+    for (bi = 0; bi < input.length(); bi++) {
+        if (input.at(bi) != ' ') {
+            for (ri = 2; ri < rstring.length(); ri++) {
+                if (input.at(bi) == rstring.at(ri)) {
+                    input.replace(bi, 1, rstring, ri + 2, 1);
+                    break;
+                }
+            }
+        }
+    }
+    return(input);
+}
+
+string
+substritute (string input, const string rstring)
+{
+    size_t cii;
+    int brackets = 1;
+    int start;
+    string output;
+
+    // Debug: cout << "Input: " << input << endl;
+
+    /* Find the first bracket */
+    start = input.find('(');
+
+    /* Cool list has only atoms left start replacing */
+    if (start == -1)
+    return(sub_atoms(input, rstring));
+
+    start++;
+    /* Find closing bracket */
+    for (cii = start; cii != input.length(); cii++) {
+        if (input.at(cii) == '(')
+            brackets++;
+        else if (input.at(cii) == ')')
+            brackets--;
+
+        if (brackets == 0)
+            break;
+    }
+
+    /* ... <start - 1=(> ... <cii=)> ... */
+    // Debug: cout << "Output: " << input.substr(start, cii - start)  << endl;
+    // Debug: cout << "start: " << start << " cii: " << cii << endl;
+
+    /* Call recursive the front, the sub itself and the tail if found */
+    if (start > 1)
+        output += substritute(input.substr(0, start - 1), rstring);
+    output += "(";
+    output += substritute(input.substr(start, cii - start), rstring);
+    output += ")";
+    if (cii <= input.length())
+        output += substritute(input.substr(cii + 1), rstring);
+
+    return(output);
+}
+
+int
+main (int argv, char * argc[])
+{
+    cout << "Expected: ((z (y c) d) z (f y))" << endl;
+    cout << "Actual  : ";
+    cout << substritute("((a (b c) d) a (f b))", "((a z) (b y))");
+    cout << endl;
+    return (EX_OK);
+}
Index: /liacs/cvp/scheme/exercise2.scm
===================================================================
--- /liacs/cvp/scheme/exercise2.scm	(revision 2)
+++ /liacs/cvp/scheme/exercise2.scm	(revision 2)
@@ -0,0 +1,78 @@
+#!/usr/bin/env guile --debug -ds
+!#
+
+; * Rick van der Zwet
+; * 0433373
+; * Scheme programming assigment 1a
+; * Licence: BSD
+; * $Id: exercise2.scm 378 2007-12-11 16:14:47Z rick $
+
+;infix order (<left-tree> <node> <right-tree>), in breadth first order
+;just seems to see the fact we are 'pushing' the node and then
+;traversing the tree
+
+(define treewalking
+    (lambda (tree)
+;        (display "Debug  : ")
+;        (display tree)
+;        (newline)
+;        (display "Length : ")
+;        (display (length tree))
+;        (newline)
+        ;when nothing left on the stack bail out
+        (if (null? tree) tree
+            (cond
+                ;emtry branch, continue
+                ((null? (car tree))
+                    (treewalking (cdr tree))
+                )
+                ;leaf, add and continue
+                ((symbol? (caar tree))
+                    (cons
+                        (caar tree)
+                        (treewalking (cdr tree))
+                    )
+                )
+                (else
+                    ; fetch the node
+                    ; check wether we still have an tail
+                    (if (null? (cdr tree))
+                        (cons
+                            (cadar tree)
+                            ; recurse with left, right
+                            (treewalking (cons (caar tree)
+                                               (cddar tree)
+                                         )
+                            )
+                        )
+                        (cons
+                            (cadar tree)
+                            ; recurse with tail, left, right
+                            (treewalking (append (cdr tree)
+                                               (cons (caar tree)
+                                                     (cddar tree)
+                                               )
+                                         )
+                            )
+                        )
+                    )
+                )
+            )
+        )
+    )
+)
+
+(define treewalk
+    (lambda (tree)
+        (treewalking (list tree))
+    )
+)
+
+(display
+    (equal?
+        (treewalk
+            '( (b) a ( ((f) d (g)) c (() e (h)) ) )
+        )
+        '(a b c d e f g h)
+    )
+)
Index: /liacs/da/fibo_queue/Makefile1
===================================================================
--- /liacs/da/fibo_queue/Makefile1	(revision 2)
+++ /liacs/da/fibo_queue/Makefile1	(revision 2)
@@ -0,0 +1,18 @@
+CC = g++
+
+CompileParms = -c -Wall
+
+OBJS = showlist.o fiboqueue.o test.o
+
+Opdr: $(OBJS)
+	$(CC) -o Test $(OBJS)
+
+showlist.o: showlist.h showlist.cc
+	$(CC) $(CompileParms)  showlist.cc
+
+fiboqueue.o: showlist.h fiboqueue.h fiboqueue.cc
+	$(CC) $(CompileParms)  fiboqueue.cc
+
+test.o: fiboqueue.h test.cc
+	$(CC) $(CompileParms)  test.cc
+
Index: /liacs/da/fibo_queue/Makefile2
===================================================================
--- /liacs/da/fibo_queue/Makefile2	(revision 2)
+++ /liacs/da/fibo_queue/Makefile2	(revision 2)
@@ -0,0 +1,30 @@
+CC = g++
+
+CompileParms = -c -Wall
+
+OBJS = showlist.o fiboqueue.o storelist.o leestekst.o standaard.o communiceer.o test2.o
+
+Opdr: $(OBJS)
+	$(CC) -o Test $(OBJS)
+
+showlist.o: showlist.h showlist.cc
+	$(CC) $(CompileParms)  showlist.cc
+
+fiboqueue.o: showlist.h fiboqueue.h fiboqueue.cc
+	$(CC) $(CompileParms)  fiboqueue.cc
+
+storelist.o: fiboqueue.h storelist.h storelist.cc
+	$(CC) $(CompileParms)  storelist.cc
+
+standaard.o: standaard.h standaard.cc
+	$(CC) $(CompileParms)  standaard.cc
+
+leestekst.o: leestekst.h leestekst.cc
+	$(CC) $(CompileParms)  leestekst.cc
+
+communiceer.o: standaard.h leestekst.h communiceer.h communiceer.cc
+	$(CC) $(CompileParms)  communiceer.cc
+
+test2.o: fiboqueue.h storelist.h standaard.h leestekst.h communiceer.h test2.cc
+	$(CC) $(CompileParms)  test2.cc
+
Index: /liacs/da/fibo_queue/communiceer.cc
===================================================================
--- /liacs/da/fibo_queue/communiceer.cc	(revision 2)
+++ /liacs/da/fibo_queue/communiceer.cc	(revision 2)
@@ -0,0 +1,22 @@
+#include "communiceer.h"
+void sf23(ofstream&sv66,int sv67,char*sv68,char*sv69){sv66<<sv67;
+sv66<<sv68<<sv69;sv66<<EOL;}int sf28(bool sv14,
+ifstream&sv42,ofstream&sv41,ofstream&sv412,char*sv60,char sv71,char*sv70){int N;
+do{cout<<EOL;cout<<sv60<<" ("<<sv71<<"): ";if(sv14)cin>>N;else{sv42>>N;
+sf22(sv42);cout<<N<<EOL;sf23(sv41,N,"","");}if(N<0){cout<<EOL;
+cout<<sv71<<" mag niet negatief zijn.\n";}}while(N<0);return N;}
+int sf21(bool sv14,ifstream&sv42,ofstream&sv41,ofstream&sv412,
+char*sv60,char sv71,int sv72,int sv100,char*sv70){int N,sv29,sv73;do{cout<<EOL;
+cout<<sv60;sv29=strlen(sv60);if(sv71!=Spatie){cout<<" ("<<sv71<<")";sv29+=4;}
+cout<<",";sv29++;sv73=4+GetalLengte(sv72)+7+GetalLengte(sv100)+3+
+GrootsteGetal(GetalLengte(sv72),GetalLengte(sv100));if(sv29+sv73>80)cout<<EOL;
+cout<<" >= "<<sv72<<" en <= "<<sv100<<" : ";if(sv14)cin>>N;else{sv42>>N;
+sf22(sv42);cout<<N<<EOL;sf23(sv41,N,"","");}if((N<sv72)||(N>sv100)){cout<<EOL;
+cout<<"Verkeerde waarde.\n";}}while((N<sv72)||(N>sv100));return N;}
+int sf29(char c){if(HoofdLetter(c)=='J')return 1;else if(HoofdLetter(c)=='N')
+return 0;else return-1;}char sf30(bool sv14,
+ifstream&sv42,ofstream&sv41,ofstream&sv412,bool sv114,char*sv60){char sv61;do
+{cout<<sv60<<",  j/n: ";if(sv14)cin>>sv61;else{sv42>>sv61;sf22(sv42);
+cout<<sv61<<EOL;sf23(sv41,sf29(sv61),"","");}sv61=HoofdLetter(sv61);
+if((sv61!='J')&&(sv61!='N')){cout<<"Verkeerd antwoord.\n";cout<<EOL;}
+}while((sv61!='J')&&(sv61!='N'));return sv61;}
Index: /liacs/da/fibo_queue/communiceer.h
===================================================================
--- /liacs/da/fibo_queue/communiceer.h	(revision 2)
+++ /liacs/da/fibo_queue/communiceer.h	(revision 2)
@@ -0,0 +1,14 @@
+#ifndef sv113
+#define sv113
+#include<iostream>
+#include<fstream>
+using namespace std;
+#include "standaard.h"
+#include "leestekst.h"
+void sf23(ofstream&sv66,int sv67,char*sv68,char*sv69);int sf28(bool sv14,
+ifstream&sv42,ofstream&sv41,ofstream&sv412,char*sv60,char sv71,char*sv70);
+int sf21(bool sv14,ifstream&sv42,ofstream&sv41,ofstream&sv412,
+char*sv60,char sv71,int sv72,int sv100,char*sv70);int sf29(char c);
+char sf30(bool sv14,ifstream&sv42,ofstream&sv41,ofstream&sv412,bool sv114,
+char*sv60);
+#endif
Index: /liacs/da/fibo_queue/examples/fibo.con
===================================================================
--- /liacs/da/fibo_queue/examples/fibo.con	(revision 2)
+++ /liacs/da/fibo_queue/examples/fibo.con	(revision 2)
@@ -0,0 +1,500 @@
+ 1   0
+ 2   40
+ 3   68
+ 4   93
+ 5   131
+ 6   158
+ 7   190
+ 8   214
+ 9   250
+ 10   278
+ 11   313
+ 12   341
+ 13   374
+ 14   403
+ 15   433
+ 16   462
+ 17   488
+ 18   518
+ 19   552
+ 20   581
+ 21   615
+ 22   643
+ 23   673
+ 24   696
+ 25   732
+ 26   756
+ 27   791
+ 28   822
+ 29   851
+ 30   881
+ 31   31
+ 32   254
+ 33   315
+ 34   339
+ 35   407
+ 36   429
+ 37   467
+ 38   590
+ 39   735
+ 40   840
+ 41   869
+ 42   899
+ 43   69
+ 44   128
+ 45   156
+ 46   241
+ 47   294
+ 48   359
+ 49   416
+ 50   500
+ 51   536
+ 52   714
+ 53   779
+ 54   867
+ 55   895
+ 56   97
+ 57   115
+ 58   201
+ 59   427
+ 60   565
+ 61   597
+ 62   629
+ 63   685
+ 64   759
+ 65   846
+ 66   877
+ 67   904
+ 68   129
+ 69   227
+ 70   472
+ 71   497
+ 72   544
+ 73   694
+ 74   803
+ 75   895
+ 76   923
+ 77   160
+ 78   198
+ 79   238
+ 80   253
+ 81   315
+ 82   351
+ 83   445
+ 84   472
+ 85   680
+ 86   712
+ 87   797
+ 88   843
+ 89   895
+ 90   186
+ 91   227
+ 92   252
+ 93   288
+ 94   326
+ 95   455
+ 96   483
+ 97   625
+ 98   730
+ 99   761
+ 100   918
+ 101   214
+ 102   243
+ 103   394
+ 104   477
+ 105   502
+ 106   580
+ 107   650
+ 108   714
+ 109   735
+ 110   800
+ 111   899
+ 112   934
+ 113   966
+ 114   246
+ 115   266
+ 116   275
+ 117   291
+ 118   429
+ 119   437
+ 120   458
+ 121   518
+ 122   547
+ 123   623
+ 124   646
+ 125   667
+ 126   691
+ 127   778
+ 128   803
+ 129   277
+ 130   286
+ 131   305
+ 132   322
+ 133   448
+ 134   478
+ 135   500
+ 136   525
+ 137   643
+ 138   674
+ 139   705
+ 140   728
+ 141   794
+ 142   869
+ 143   991
+ 144   306
+ 145   311
+ 146   349
+ 147   373
+ 148   403
+ 149   425
+ 150   483
+ 151   561
+ 152   589
+ 153   621
+ 154   763
+ 155   776
+ 156   800
+ 157   921
+ 158   1005
+ 159   334
+ 160   346
+ 161   422
+ 162   576
+ 163   714
+ 164   779
+ 165   801
+ 166   825
+ 167   366
+ 168   488
+ 169   519
+ 170   542
+ 171   563
+ 172   600
+ 173   630
+ 174   669
+ 175   694
+ 176   761
+ 177   790
+ 178   819
+ 179   985
+ 180   1014
+ 181   397
+ 182   454
+ 183   491
+ 184   570
+ 185   653
+ 186   739
+ 187   800
+ 188   830
+ 189   858
+ 190   423
+ 191   480
+ 192   519
+ 193   519
+ 194   581
+ 195   684
+ 196   699
+ 197   813
+ 198   825
+ 199   924
+ 200   1005
+ 201   1068
+ 202   455
+ 203   468
+ 204   513
+ 205   540
+ 206   546
+ 207   570
+ 208   648
+ 209   682
+ 210   714
+ 211   729
+ 212   740
+ 213   794
+ 214   827
+ 215   882
+ 216   1030
+ 217   488
+ 218   571
+ 219   583
+ 220   687
+ 221   718
+ 222   752
+ 223   781
+ 224   817
+ 225   867
+ 226   921
+ 227   1005
+ 228   1063
+ 229   517
+ 230   612
+ 231   811
+ 232   854
+ 233   887
+ 234   942
+ 235   1025
+ 236   1071
+ 237   543
+ 238   554
+ 239   593
+ 240   616
+ 241   660
+ 242   682
+ 243   739
+ 244   830
+ 245   863
+ 246   889
+ 247   1009
+ 248   1068
+ 249   1114
+ 250   575
+ 251   587
+ 252   664
+ 253   678
+ 254   772
+ 255   824
+ 256   910
+ 257   935
+ 258   966
+ 259   1004
+ 260   1056
+ 261   1119
+ 262   604
+ 263   614
+ 264   681
+ 265   700
+ 266   728
+ 267   737
+ 268   848
+ 269   867
+ 270   969
+ 271   1043
+ 272   1099
+ 273   1125
+ 274   1153
+ 275   632
+ 276   651
+ 277   691
+ 278   710
+ 279   727
+ 280   770
+ 281   847
+ 282   883
+ 283   936
+ 284   1054
+ 285   1079
+ 286   1082
+ 287   1145
+ 288   662
+ 289   696
+ 290   688
+ 291   714
+ 292   761
+ 293   769
+ 294   780
+ 295   882
+ 296   953
+ 297   1003
+ 298   1030
+ 299   1119
+ 300   1153
+ 301   1183
+ 302   695
+ 303   717
+ 304   754
+ 305   772
+ 306   808
+ 307   897
+ 308   897
+ 309   928
+ 310   1020
+ 311   1043
+ 312   1148
+ 313   1206
+ 314   723
+ 315   759
+ 316   739
+ 317   829
+ 318   929
+ 319   967
+ 320   1028
+ 321   1072
+ 322   1160
+ 323   1188
+ 324   1224
+ 325   755
+ 326   763
+ 327   803
+ 328   819
+ 329   869
+ 330   863
+ 331   871
+ 332   886
+ 333   905
+ 334   934
+ 335   1013
+ 336   1031
+ 337   1054
+ 338   1075
+ 339   1133
+ 340   1173
+ 341   782
+ 342   820
+ 343   805
+ 344   893
+ 345   914
+ 346   965
+ 347   1090
+ 348   1116
+ 349   1165
+ 350   1196
+ 351   812
+ 352   850
+ 353   862
+ 354   921
+ 355   978
+ 356   1002
+ 357   1058
+ 358   1150
+ 359   1184
+ 360   852
+ 361   878
+ 362   891
+ 363   942
+ 364   1022
+ 365   1079
+ 366   1149
+ 367   1187
+ 368   1266
+ 369   874
+ 370   897
+ 371   903
+ 372   924
+ 373   929
+ 374   947
+ 375   989
+ 376   1011
+ 377   1036
+ 378   1064
+ 379   1127
+ 380   1141
+ 381   1283
+ 382   907
+ 383   936
+ 384   933
+ 385   966
+ 386   983
+ 387   1024
+ 388   1037
+ 389   1071
+ 390   1086
+ 391   1108
+ 392   1169
+ 393   941
+ 394   970
+ 395   994
+ 396   1013
+ 397   995
+ 398   1013
+ 399   1072
+ 400   1079
+ 401   1146
+ 402   1153
+ 403   1272
+ 404   1337
+ 405   1365
+ 406   964
+ 407   1032
+ 408   1021
+ 409   1093
+ 410   1096
+ 411   1169
+ 412   1271
+ 413   1311
+ 414   1335
+ 415   1361
+ 416   999
+ 417   1013
+ 418   1036
+ 419   1050
+ 420   1054
+ 421   1084
+ 422   1116
+ 423   1180
+ 424   1211
+ 425   1239
+ 426   1284
+ 427   1302
+ 428   1324
+ 429   1339
+ 430   1368
+ 431   1393
+ 432   1410
+ 433   1031
+ 434   1039
+ 435   1080
+ 436   1158
+ 437   1240
+ 438   1254
+ 439   1299
+ 440   1367
+ 441   1368
+ 442   1062
+ 443   1079
+ 444   1096
+ 445   1120
+ 446   1126
+ 447   1130
+ 448   1155
+ 449   1244
+ 450   1282
+ 451   1422
+ 452   1088
+ 453   1087
+ 454   1107
+ 455   1124
+ 456   1161
+ 457   1176
+ 458   1228
+ 459   1292
+ 460   1318
+ 461   1324
+ 462   1371
+ 463   1410
+ 464   1433
+ 465   1455
+ 466   1118
+ 467   1146
+ 468   1166
+ 469   1173
+ 470   1209
+ 471   1241
+ 472   1265
+ 473   1300
+ 474   1353
+ 475   1384
+ 476   1476
+ 477   1145
+ 478   1156
+ 479   1189
+ 480   1220
+ 481   1199
+ 482   1216
+ 483   1277
+ 484   1295
+ 485   1306
+ 486   1313
+ 487   1455
+ 488   1508
+ 489   1523
+ 490   1176
+ 491   1204
+ 492   1230
+ 493   1233
+ 494   1340
+ 495   1358
+ 496   1369
+ 497   1388
+ 498   1466
+ 499   1496
+ 500   1551
Index: /liacs/da/fibo_queue/examples/fibo.grf
===================================================================
--- /liacs/da/fibo_queue/examples/fibo.grf	(revision 2)
+++ /liacs/da/fibo_queue/examples/fibo.grf	(revision 2)
@@ -0,0 +1,2395 @@
+% oefening dijkstra
+% symmetrische graaf
+% aantal knopen
+500
+% takken (van, naar, gewicht )
+     1	   2	  40
+     1	  31	  31
+     2	   3	  28
+     2	   1	  40
+     2	  31	  45
+     3	   6	  90
+     3	  31	  72
+     3	   2	  28
+     3	  45	  88
+     3	  44	  60
+     3	   5	  63
+     3	   4	  25
+     4	   5	  38
+     4	   3	  25
+     5	   6	  27
+     5	   4	  38
+     5	   3	  63
+     6	  82	 193
+     6	  69	 120
+     6	  58	  94
+     6	  32	  96
+     6	   3	  90
+     6	   5	  27
+     6	  94	 191
+     6	  81	 159
+     6	  80	 146
+     6	  46	  83
+     6	  45	  66
+     6	   8	  56
+     6	   7	  32
+     7	   8	  24
+     7	   6	  32
+     8	   9	  36
+     8	   7	  24
+     8	   6	  56
+     9	  10	  28
+     9	   8	  36
+     9	  32	  38
+    10	  11	  35
+    10	   9	  28
+    10	  32	  40
+    11	  12	  28
+    11	  10	  35
+    11	  33	  27
+    12	  13	  33
+    12	  11	  28
+    12	  34	  26
+    13	  14	  29
+    13	  12	  33
+    13	  34	  47
+    14	  15	  30
+    14	  13	  29
+    14	  35	  33
+    15	  16	  29
+    15	  14	  30
+    15	  36	  26
+    16	  17	  26
+    16	  15	  29
+    16	  37	  32
+    17	  37	  43
+    17	  18	  30
+    17	  16	  26
+    17	  50	  58
+    18	  19	  34
+    18	  17	  30
+    18	  51	  63
+    19	  38	  38
+    19	  20	  29
+    19	  18	  34
+    19	  51	  66
+    20	  21	  34
+    20	  19	  29
+    20	  38	  32
+    21	  39	 120
+    21	  38	  47
+    21	  20	  34
+    21	  52	 106
+    21	  51	 112
+    21	  24	  81
+    21	  23	  58
+    21	  22	  28
+    22	  23	  30
+    22	  21	  28
+    23	  24	  23
+    23	  22	  30
+    23	  21	  58
+    24	  25	  36
+    24	  23	  23
+    24	  21	  81
+    25	  26	  24
+    25	  24	  36
+    25	  39	  30
+    26	  39	  42
+    26	  27	  35
+    26	  25	  24
+    26	  53	  59
+    27	  40	  49
+    27	  28	  31
+    27	  26	  35
+    27	  53	  67
+    28	  29	  29
+    28	  27	  31
+    28	  40	  30
+    29	  30	  30
+    29	  28	  29
+    29	  41	  32
+    30	  29	  30
+    30	  42	  28
+    31	   3	  72
+    31	  43	  38
+    31	   2	  45
+    31	   1	  31
+    32	  33	  61
+    32	   6	  96
+    32	  47	  40
+    32	  46	  44
+    32	  10	  40
+    32	   9	  38
+    33	  34	  24
+    33	  32	  61
+    33	  47	  48
+    33	  11	  27
+    34	  59	  91
+    34	  49	  77
+    34	  35	  68
+    34	  33	  24
+    34	  46	 124
+    34	  48	  37
+    34	  13	  47
+    34	  12	  26
+    35	  36	  22
+    35	  34	  68
+    35	  49	  33
+    35	  14	  33
+    36	  37	  38
+    36	  35	  22
+    36	  49	  43
+    36	  15	  26
+    37	  17	  43
+    37	  36	  38
+    37	  49	  66
+    37	  16	  32
+    38	  21	  47
+    38	  19	  38
+    38	  51	  66
+    38	  20	  32
+    39	  53	  44
+    39	  52	  36
+    39	  26	  42
+    39	  21	 120
+    39	  64	  59
+    39	  25	  30
+    40	  41	  29
+    40	  27	  49
+    40	  53	  65
+    40	  28	  30
+    41	  42	  30
+    41	  40	  29
+    41	  54	  25
+    41	  29	  32
+    42	  41	  30
+    42	  55	  29
+    42	  30	  28
+    43	  44	  61
+    43	  57	  46
+    43	  56	  28
+    43	  31	  38
+    44	  69	 112
+    44	  58	 101
+    44	  43	  61
+    44	  79	 115
+    44	  78	 103
+    44	  57	  39
+    44	  45	  65
+    44	   3	  60
+    45	  58	  45
+    45	  44	  65
+    45	   6	  66
+    45	   3	  88
+    46	 121	 277
+    46	 120	 218
+    46	  95	 214
+    46	  83	 204
+    46	  59	 186
+    46	 136	 284
+    46	 135	 259
+    46	 104	 236
+    46	  94	 121
+    46	  82	 110
+    46	  34	 124
+    46	  48	 126
+    46	  47	  61
+    46	  32	  44
+    46	   6	  83
+    47	  48	  65
+    47	  46	  61
+    47	  33	  48
+    47	  32	  40
+    48	  47	  65
+    48	  46	 126
+    48	  34	  37
+    49	  60	 149
+    49	  34	  77
+    49	  72	 128
+    49	  71	  81
+    49	  51	 120
+    49	  50	  84
+    49	  59	  27
+    49	  37	  66
+    49	  36	  43
+    49	  35	  33
+    50	  51	  36
+    50	  49	  84
+    50	  17	  58
+    51	  73	 158
+    51	  52	 178
+    51	  50	  36
+    51	  85	 144
+    51	  63	 149
+    51	  62	  96
+    51	  61	  65
+    51	  60	  37
+    51	  49	 120
+    51	  21	 112
+    51	  38	  66
+    51	  19	  66
+    51	  18	  63
+    52	  87	 102
+    52	  86	  97
+    52	  73	  71
+    52	  64	  45
+    52	  63	  49
+    52	  39	  36
+    52	  51	 178
+    52	  99	 125
+    52	  21	 106
+    53	  64	  47
+    53	  54	  88
+    53	  39	  44
+    53	  74	  63
+    53	  65	  67
+    53	  40	  65
+    53	  27	  67
+    53	  26	  59
+    54	  55	  28
+    54	  53	  88
+    54	  66	  31
+    54	  41	  25
+    55	  54	  28
+    55	  67	  31
+    55	  42	  29
+    56	  57	  30
+    56	  68	  32
+    56	  43	  28
+    57	 102	 128
+    57	  91	 112
+    57	  90	  97
+    57	  78	  83
+    57	  77	  75
+    57	  68	  49
+    57	  56	  30
+    57	 115	 151
+    57	 101	 125
+    57	  44	  39
+    57	  43	  46
+    58	   6	  94
+    58	  44	 101
+    58	  69	  26
+    58	  45	  45
+    59	  46	 186
+    59	  34	  91
+    59	  83	  59
+    59	  70	  45
+    59	  49	  27
+    60	  61	  32
+    60	  49	 149
+    60	  72	  47
+    60	  51	  37
+    61	  62	  32
+    61	  60	  32
+    61	  72	  72
+    61	  51	  65
+    62	  85	  60
+    62	  72	  99
+    62	  61	  32
+    62	  97	  89
+    62	  51	  96
+    63	  52	  49
+    63	  73	  27
+    63	  51	 149
+    64	  74	  44
+    64	  53	  47
+    64	  52	  45
+    64	  87	  63
+    64	  39	  59
+    65	  66	  31
+    65	  74	  68
+    65	  53	  67
+    66	  67	  27
+    66	  65	  31
+    66	  75	  33
+    66	  54	  31
+    67	  66	  27
+    67	  76	  32
+    67	  55	  31
+    68	  57	  49
+    68	  77	  31
+    68	  56	  32
+    69	   6	 120
+    69	  44	 112
+    69	  80	  26
+    69	  58	  26
+    70	  71	  31
+    70	  84	  28
+    70	  59	  45
+    71	 107	 153
+    71	 105	  99
+    71	  96	  72
+    71	  84	  47
+    71	  70	  31
+    71	 124	 149
+    71	 123	 134
+    71	 122	 126
+    71	 106	  95
+    71	  72	  56
+    71	  49	  81
+    72	  62	  99
+    72	  97	  81
+    72	  71	  56
+    72	  61	  72
+    72	  60	  47
+    72	  49	 128
+    73	  52	  71
+    73	  51	 158
+    73	  86	  28
+    73	  63	  27
+    74	  89	  92
+    74	  75	  92
+    74	  64	  44
+    74	  88	  40
+    74	  87	  47
+    74	  65	  68
+    74	  53	  63
+    75	  76	  28
+    75	  74	  92
+    75	  89	  28
+    75	  66	  33
+    76	  75	  28
+    76	  89	  40
+    76	  67	  32
+    77	  57	  75
+    77	  90	  26
+    77	  68	  31
+    78	  79	  40
+    78	  57	  83
+    78	  91	  30
+    78	  44	 103
+    79	  80	  21
+    79	  78	  40
+    79	  92	  29
+    79	  44	 115
+    80	  94	  73
+    80	  81	  62
+    80	  79	  21
+    80	  93	  37
+    80	   6	 146
+    80	  69	  26
+    81	  80	  62
+    81	  94	  34
+    81	   6	 159
+    82	   6	 193
+    82	  94	  73
+    82	  46	 110
+    83	  84	  27
+    83	  46	 204
+    83	  95	  28
+    83	  59	  59
+    84	  71	  47
+    84	  83	  27
+    84	  96	  29
+    84	  70	  28
+    85	  98	  50
+    85	  97	  67
+    85	  86	  32
+    85	  62	  60
+    85	 108	  62
+    85	  51	 144
+    86	  52	  97
+    86	  85	  32
+    86	  98	  36
+    86	  73	  28
+    87	 110	  56
+    87	 100	 121
+    87	  52	 102
+    87	 128	  85
+    87	 111	 104
+    87	  88	  61
+    87	  99	  36
+    87	  74	  47
+    87	  64	  63
+    88	  87	  61
+    88	  74	  40
+    89	  74	  92
+    89	 113	  74
+    89	 100	  33
+    89	  76	  40
+    89	  75	  28
+    90	  57	  97
+    90	 101	  28
+    90	  77	  26
+    91	  92	  25
+    91	  57	 112
+    91	 102	  23
+    91	  78	  30
+    92	  93	  36
+    92	  91	  25
+    92	 102	  44
+    92	  79	  29
+    93	 102	  71
+    93	  92	  36
+    93	 117	  69
+    93	  94	  57
+    93	  80	  37
+    94	  80	  73
+    94	 120	 132
+    94	 119	 111
+    94	 117	 109
+    94	 103	  68
+    94	  93	  57
+    94	  46	 121
+    94	  82	  73
+    94	   6	 191
+    94	  81	  34
+    95	  96	  28
+    95	  46	 214
+    95	 104	  30
+    95	  83	  28
+    96	  71	  72
+    96	  95	  28
+    96	 105	  31
+    96	  84	  29
+    97	  85	  67
+    97	 107	  39
+    97	  62	  89
+    97	  72	  81
+    98	  99	  31
+    98	  85	  50
+    98	 109	  30
+    98	  86	  36
+    99	  98	  31
+    99	 110	  39
+    99	 109	  50
+    99	  87	  36
+    99	  52	 125
+   100	  87	 121
+   100	 112	  29
+   100	  89	  33
+   101	 115	  69
+   101	 130	  72
+   101	 114	  32
+   101	  57	 125
+   101	  90	  28
+   102	  93	  71
+   102	  57	 128
+   102	 117	  48
+   102	 116	  32
+   102	  92	  44
+   102	  91	  23
+   103	 118	  35
+   103	  94	  68
+   104	 105	  25
+   104	  46	 236
+   104	  95	  30
+   105	  71	  99
+   105	 104	  25
+   105	 121	  25
+   105	  96	  31
+   106	 137	  63
+   106	 121	  62
+   106	 123	  43
+   106	 122	  45
+   106	 153	  90
+   106	  71	  95
+   107	 108	  64
+   107	  71	 153
+   107	 126	  41
+   107	 125	  22
+   107	  97	  39
+   108	 109	  21
+   108	 107	  64
+   108	 126	  43
+   108	  85	  62
+   109	 126	  59
+   109	 110	  65
+   109	 108	  21
+   109	 140	  61
+   109	 127	  43
+   109	  99	  50
+   109	  98	  30
+   110	  87	  56
+   110	 109	  65
+   110	 128	  29
+   110	  99	  39
+   111	 157	  94
+   111	 128	  96
+   111	 180	 162
+   111	 179	 157
+   111	 158	 106
+   111	 143	  92
+   111	 142	  63
+   111	 113	  67
+   111	 112	  35
+   111	  87	 104
+   112	 113	  32
+   112	 111	  35
+   112	 100	  29
+   113	 112	  32
+   113	 111	  67
+   113	  89	  74
+   114	 129	  31
+   114	 101	  32
+   115	 116	  31
+   115	 101	  69
+   115	 131	  39
+   115	  57	 151
+   116	 117	  24
+   116	 115	  31
+   116	 131	  54
+   116	 102	  32
+   117	 161	 131
+   117	 146	  58
+   117	 133	 157
+   117	 118	 149
+   117	 116	  24
+   117	 160	 129
+   117	 149	 134
+   117	 148	 112
+   117	 147	  82
+   117	 132	  31
+   117	  94	 109
+   117	  93	  69
+   117	 102	  48
+   118	 119	  35
+   118	 117	 149
+   118	 133	  25
+   118	 103	  35
+   119	 134	  41
+   119	 133	  38
+   119	 120	  24
+   119	 118	  35
+   119	 150	  58
+   119	  94	 111
+   120	  46	 218
+   120	 119	  24
+   120	 134	  27
+   120	  94	 132
+   121	 106	  62
+   121	 136	  47
+   121	  46	 277
+   121	 152	  71
+   121	 151	  64
+   121	 122	  29
+   121	 105	  25
+   122	 106	  45
+   122	 121	  29
+   122	  71	 126
+   123	 124	  36
+   123	 106	  43
+   123	 137	  26
+   123	  71	 134
+   124	 125	  21
+   124	 123	  36
+   124	 138	  31
+   124	  71	 149
+   125	 126	  37
+   125	 124	  21
+   125	 139	  38
+   125	 107	  22
+   126	 109	  59
+   126	 125	  37
+   126	 140	  37
+   126	 139	  50
+   126	 108	  43
+   126	 107	  41
+   127	 128	  25
+   127	 141	  27
+   127	 109	  43
+   128	 200	 202
+   128	 189	 149
+   128	 157	 118
+   128	 166	  95
+   128	 156	  66
+   128	 141	  35
+   128	 111	  96
+   128	 127	  25
+   128	 215	 215
+   128	 199	 183
+   128	 178	 132
+   128	 142	  66
+   128	  87	  85
+   128	 110	  29
+   129	 130	  28
+   129	 144	  29
+   129	 114	  31
+   130	 131	  25
+   130	 129	  28
+   130	 145	  25
+   130	 101	  72
+   131	 146	  67
+   131	 145	  38
+   131	 132	  65
+   131	 130	  25
+   131	 160	  65
+   131	 116	  54
+   131	 115	  39
+   132	 131	  65
+   132	 146	  27
+   132	 117	  31
+   133	 119	  38
+   133	 117	 157
+   133	 149	  42
+   133	 118	  25
+   134	 135	  27
+   134	 119	  41
+   134	 150	  49
+   134	 120	  27
+   135	 136	  34
+   135	 134	  27
+   135	 150	  72
+   135	  46	 259
+   136	 151	  36
+   136	 150	 100
+   136	 121	  47
+   136	 135	  34
+   136	 162	  51
+   136	  46	 284
+   137	 138	  31
+   137	 106	  63
+   137	 153	  41
+   137	 123	  26
+   138	 139	  31
+   138	 137	  31
+   138	 153	  64
+   138	 124	  31
+   139	 154	  70
+   139	 153	  88
+   139	 140	  60
+   139	 138	  31
+   139	 163	  58
+   139	 126	  50
+   139	 125	  38
+   140	 141	  66
+   140	 139	  60
+   140	 155	  48
+   140	 154	  35
+   140	 109	  61
+   140	 126	  37
+   141	 128	  35
+   141	 140	  66
+   141	 156	  34
+   141	 127	  27
+   142	 157	  54
+   142	 111	  63
+   142	 128	  66
+   143	 158	  28
+   143	 111	  92
+   144	 145	  23
+   144	 159	  28
+   144	 129	  29
+   145	 131	  38
+   145	 144	  23
+   145	 160	  35
+   145	 130	  25
+   146	 117	  58
+   146	 131	  67
+   146	 160	  98
+   146	 132	  27
+   147	 148	  37
+   147	 117	  82
+   148	 149	  27
+   148	 147	  37
+   148	 161	  33
+   148	 117	 112
+   149	 150	  58
+   149	 148	  27
+   149	 168	  71
+   149	 161	  47
+   149	 133	  42
+   149	 117	 134
+   150	 162	  97
+   150	 136	 100
+   150	 149	  58
+   150	 171	  80
+   150	 170	  67
+   150	 169	  53
+   150	 135	  72
+   150	 134	  49
+   150	 119	  58
+   151	 195	 123
+   151	 185	  92
+   151	 172	  68
+   151	 162	  38
+   151	 136	  36
+   151	 209	 146
+   151	 174	 108
+   151	 173	  69
+   151	 153	  62
+   151	 152	  30
+   151	 121	  64
+   152	 153	  32
+   152	 151	  30
+   152	 121	  71
+   153	 163	  93
+   153	 139	  88
+   153	 152	  32
+   153	 175	  79
+   153	 151	  62
+   153	 138	  64
+   153	 137	  41
+   153	 106	  90
+   154	 155	  31
+   154	 139	  70
+   154	 164	  28
+   154	 140	  35
+   155	 156	  24
+   155	 154	  31
+   155	 165	  25
+   155	 140	  48
+   156	 128	  66
+   156	 155	  24
+   156	 166	  32
+   156	 141	  34
+   157	 179	  64
+   157	 128	 118
+   157	 111	  94
+   157	 200	 115
+   157	 142	  54
+   158	 111	 106
+   158	 143	  28
+   159	 160	  22
+   159	 167	  32
+   159	 144	  28
+   160	 161	 186
+   160	 167	  39
+   160	 159	  22
+   160	 192	 178
+   160	 191	 134
+   160	 182	 108
+   160	 181	  63
+   160	 117	 129
+   160	 146	  98
+   160	 131	  65
+   160	 145	  35
+   161	 193	  97
+   161	 192	  97
+   161	 168	  66
+   161	 160	 186
+   161	 117	 131
+   161	 205	 118
+   161	 183	  69
+   161	 149	  47
+   161	 148	  33
+   162	 151	  38
+   162	 150	  97
+   162	 172	  37
+   162	 136	  51
+   163	 164	  65
+   163	 153	  93
+   163	 176	  47
+   163	 175	  43
+   163	 139	  58
+   164	 165	  30
+   164	 163	  65
+   164	 177	  29
+   164	 154	  28
+   165	 166	  24
+   165	 164	  30
+   165	 178	  34
+   165	 155	  25
+   166	 128	  95
+   166	 165	  24
+   166	 178	  40
+   166	 156	  32
+   167	 160	  39
+   167	 181	  31
+   167	 159	  32
+   168	 169	  31
+   168	 161	  66
+   168	 183	  45
+   168	 149	  71
+   169	 170	  23
+   169	 168	  31
+   169	 183	  71
+   169	 150	  53
+   170	 171	  34
+   170	 169	  23
+   170	 184	  28
+   170	 150	  67
+   171	 172	  37
+   171	 170	  34
+   171	 184	  43
+   171	 150	  80
+   172	 194	  88
+   172	 184	  67
+   172	 151	  68
+   172	 171	  37
+   172	 208	  92
+   172	 162	  37
+   173	 174	  61
+   173	 185	  24
+   173	 151	  69
+   174	 186	  70
+   174	 185	  65
+   174	 173	  61
+   174	 196	  71
+   174	 175	  25
+   174	 151	 108
+   175	 176	  67
+   175	 186	  50
+   175	 174	  25
+   175	 163	  43
+   175	 153	  79
+   176	 187	  39
+   176	 186	  42
+   176	 177	  29
+   176	 175	  67
+   176	 197	  52
+   176	 163	  47
+   177	 178	  29
+   177	 176	  29
+   177	 187	  33
+   177	 164	  29
+   178	 177	  29
+   178	 189	  39
+   178	 188	  29
+   178	 128	 132
+   178	 166	  40
+   178	 165	  34
+   179	 180	  29
+   179	 157	  64
+   179	 200	  63
+   179	 111	 157
+   180	 179	  29
+   180	 201	  56
+   180	 111	 162
+   181	 191	 127
+   181	 182	 119
+   181	 203	  71
+   181	 190	  26
+   181	 160	  63
+   181	 167	  31
+   182	 181	 119
+   182	 191	  39
+   182	 160	 108
+   183	 194	  90
+   183	 184	  90
+   183	 207	  79
+   183	 193	  31
+   183	 169	  71
+   183	 168	  45
+   183	 161	  69
+   184	 172	  67
+   184	 183	  90
+   184	 194	  31
+   184	 171	  43
+   184	 170	  28
+   185	 174	  65
+   185	 151	  92
+   185	 196	  46
+   185	 195	  31
+   185	 173	  24
+   186	 176	  42
+   186	 174	  70
+   186	 196	  96
+   186	 175	  50
+   187	 188	  30
+   187	 176	  39
+   187	 198	  25
+   187	 177	  33
+   188	 198	  42
+   188	 187	  30
+   188	 215	  59
+   188	 189	  29
+   188	 178	  29
+   189	 199	  66
+   189	 128	 149
+   189	 215	  68
+   189	 188	  29
+   189	 178	  39
+   190	 203	  51
+   190	 202	  32
+   190	 181	  26
+   191	 192	  56
+   191	 181	 127
+   191	 204	  33
+   191	 203	  94
+   191	 160	 134
+   191	 182	  39
+   192	 205	  43
+   192	 161	  97
+   192	 191	  56
+   192	 204	  39
+   192	 160	 178
+   193	 207	  61
+   193	 161	  97
+   193	 219	  64
+   193	 206	  27
+   193	 183	  31
+   194	 208	  67
+   194	 172	  88
+   194	 183	  90
+   194	 230	 110
+   194	 207	  42
+   194	 184	  31
+   195	 196	  26
+   195	 151	 123
+   195	 210	  33
+   195	 185	  31
+   196	 197	 120
+   196	 195	  26
+   196	 213	  95
+   196	 212	  41
+   196	 211	  30
+   196	 186	  96
+   196	 174	  71
+   196	 185	  46
+   197	 198	  29
+   197	 196	 120
+   197	 214	  33
+   197	 176	  52
+   198	 188	  42
+   198	 197	  29
+   198	 214	  41
+   198	 187	  25
+   199	 189	  66
+   199	 215	  90
+   199	 128	 183
+   200	 128	 202
+   200	 236	  96
+   200	 228	  64
+   200	 201	  63
+   200	 216	  31
+   200	 179	  63
+   200	 157	 115
+   201	 200	  63
+   201	 180	  56
+   202	 203	  33
+   202	 217	  33
+   202	 190	  32
+   203	 229	  68
+   203	 217	  44
+   203	 204	 113
+   203	 202	  33
+   203	 263	 146
+   203	 239	 125
+   203	 238	  86
+   203	 191	  94
+   203	 181	  71
+   203	 190	  51
+   204	 241	 184
+   204	 203	 113
+   204	 264	 168
+   204	 252	 151
+   204	 239	  97
+   204	 230	 136
+   204	 240	 103
+   204	 218	  98
+   204	 205	  65
+   204	 192	  39
+   204	 191	  33
+   205	 206	  28
+   205	 192	  43
+   205	 204	  65
+   205	 161	 118
+   206	 205	  28
+   206	 218	  25
+   206	 193	  27
+   207	 219	  43
+   207	 193	  61
+   207	 230	  69
+   207	 194	  42
+   207	 183	  79
+   208	 220	  39
+   208	 209	  34
+   208	 194	  67
+   208	 230	 134
+   208	 172	  92
+   209	 210	  32
+   209	 208	  34
+   209	 220	  36
+   209	 151	 146
+   210	 211	  28
+   210	 209	  32
+   210	 221	  35
+   210	 195	  33
+   211	 212	  25
+   211	 210	  28
+   211	 222	  27
+   211	 196	  30
+   212	 213	  66
+   212	 211	  25
+   212	 223	  41
+   212	 222	  35
+   212	 196	  41
+   213	 214	  33
+   213	 212	  66
+   213	 224	  31
+   213	 196	  95
+   214	 224	  43
+   214	 215	  55
+   214	 213	  33
+   214	 232	  56
+   214	 225	  40
+   214	 198	  41
+   214	 197	  33
+   215	 225	  44
+   215	 216	 148
+   215	 214	  55
+   215	 233	  66
+   215	 227	 123
+   215	 226	  39
+   215	 128	 215
+   215	 199	  90
+   215	 189	  68
+   215	 188	  59
+   216	 215	 148
+   216	 227	  40
+   216	 200	  31
+   217	 203	  44
+   217	 229	  29
+   217	 202	  33
+   218	 219	  32
+   218	 204	  98
+   218	 206	  25
+   219	 207	  43
+   219	 218	  32
+   219	 230	  29
+   219	 193	  64
+   220	 221	  31
+   220	 208	  39
+   220	 230	 152
+   220	 209	  36
+   221	 244	 112
+   221	 231	  93
+   221	 230	 182
+   221	 220	  31
+   221	 255	 106
+   221	 254	  90
+   221	 222	  34
+   221	 210	  35
+   222	 223	  58
+   222	 221	  34
+   222	 212	  35
+   222	 211	  27
+   223	 224	  36
+   223	 222	  58
+   223	 231	  33
+   223	 212	  41
+   224	 232	  37
+   224	 231	  50
+   224	 214	  43
+   224	 223	  36
+   224	 245	  58
+   224	 213	  31
+   225	 215	  44
+   225	 233	  28
+   225	 214	  40
+   226	 233	  60
+   226	 235	 104
+   226	 259	 102
+   226	 247	  88
+   226	 234	  32
+   226	 215	  39
+   227	 236	  66
+   227	 228	  58
+   227	 248	  66
+   227	 235	  34
+   227	 216	  40
+   227	 215	 123
+   228	 227	  58
+   228	 236	  34
+   228	 200	  64
+   229	 203	  68
+   229	 237	  26
+   229	 217	  29
+   230	 253	  66
+   230	 221	 182
+   230	 267	 125
+   230	 254	 160
+   230	 243	 127
+   230	 242	  70
+   230	 241	  48
+   230	 204	 136
+   230	 220	 152
+   230	 208	 134
+   230	 194	 110
+   230	 207	  69
+   230	 219	  29
+   231	 224	  50
+   231	 221	  93
+   231	 244	  32
+   231	 223	  33
+   232	 233	  33
+   232	 224	  37
+   232	 246	  35
+   232	 214	  56
+   233	 257	  62
+   233	 226	  60
+   233	 232	  33
+   233	 270	  93
+   233	 258	  79
+   233	 234	  55
+   233	 246	  47
+   233	 215	  66
+   233	 225	  28
+   234	 233	  55
+   234	 226	  32
+   235	 226	 104
+   235	 247	  44
+   235	 227	  34
+   236	 248	  38
+   236	 227	  66
+   236	 261	  58
+   236	 249	  43
+   236	 200	  96
+   236	 228	  34
+   237	 238	  32
+   237	 250	  32
+   237	 229	  26
+   238	 237	  32
+   238	 263	  67
+   238	 251	  33
+   238	 203	  86
+   239	 264	 108
+   239	 277	  98
+   239	 263	  83
+   239	 240	  54
+   239	 204	  97
+   239	 203	 125
+   240	 239	  54
+   240	 204	 103
+   241	 242	  25
+   241	 204	 184
+   241	 253	  31
+   241	 230	  48
+   242	 241	  25
+   242	 253	  44
+   242	 230	  70
+   243	 280	  89
+   243	 267	  59
+   243	 254	  35
+   243	 265	 156
+   243	 230	 127
+   244	 245	  33
+   244	 221	 112
+   244	 255	  35
+   244	 231	  32
+   245	 256	  47
+   245	 255	  65
+   245	 246	  27
+   245	 244	  33
+   245	 269	  69
+   245	 224	  58
+   246	 245	  27
+   246	 257	  46
+   246	 256	  33
+   246	 233	  47
+   246	 232	  35
+   247	 259	  40
+   247	 248	  59
+   247	 271	  58
+   247	 260	  47
+   247	 235	  44
+   247	 226	  88
+   248	 236	  38
+   248	 247	  59
+   248	 260	  48
+   248	 227	  66
+   249	 261	  41
+   249	 274	  60
+   249	 236	  43
+   250	 251	  31
+   250	 262	  29
+   250	 237	  32
+   251	 250	  31
+   251	 262	  40
+   251	 238	  33
+   252	 253	  59
+   252	 265	  36
+   252	 204	 151
+   253	 230	  66
+   253	 252	  59
+   253	 266	  50
+   253	 265	  61
+   253	 242	  44
+   253	 241	  31
+   254	 295	 110
+   254	 255	  98
+   254	 243	  35
+   254	 308	 125
+   254	 307	 125
+   254	 281	  75
+   254	 268	  76
+   254	 221	  90
+   254	 230	 160
+   255	 268	  45
+   255	 245	  65
+   255	 254	  98
+   255	 282	  59
+   255	 269	  43
+   255	 244	  35
+   255	 221	 106
+   256	 270	  59
+   256	 269	  69
+   256	 245	  47
+   256	 283	  59
+   256	 257	  30
+   256	 246	  33
+   257	 233	  62
+   257	 256	  30
+   257	 246	  46
+   258	 259	  38
+   258	 270	  42
+   258	 233	  79
+   259	 271	  39
+   259	 270	  73
+   259	 247	  40
+   259	 258	  38
+   259	 284	  63
+   259	 226	 102
+   260	 261	  63
+   260	 272	  43
+   260	 271	  33
+   260	 248	  48
+   260	 247	  47
+   261	 249	  41
+   261	 260	  63
+   261	 273	  36
+   261	 236	  58
+   262	 263	  67
+   262	 276	  47
+   262	 275	  28
+   262	 251	  40
+   262	 250	  29
+   263	 262	  67
+   263	 290	  74
+   263	 277	  97
+   263	 276	  46
+   263	 239	  83
+   263	 203	 146
+   263	 238	  67
+   264	 265	  32
+   264	 239	 108
+   264	 278	  29
+   264	 204	 168
+   265	 318	 234
+   265	 317	 129
+   265	 264	  32
+   265	 334	 234
+   265	 333	 205
+   265	 332	 186
+   265	 331	 171
+   265	 307	 201
+   265	 243	 156
+   265	 280	 118
+   265	 294	  80
+   265	 266	  90
+   265	 279	  27
+   265	 253	  61
+   265	 252	  36
+   266	 267	  26
+   266	 265	  90
+   266	 253	  50
+   267	 243	  59
+   267	 266	  26
+   267	 280	  33
+   267	 230	 125
+   268	 282	  36
+   268	 281	  44
+   268	 255	  45
+   268	 295	  57
+   268	 254	  76
+   269	 296	  86
+   269	 295	  84
+   269	 283	  69
+   269	 282	  40
+   269	 256	  69
+   269	 309	  94
+   269	 245	  69
+   269	 255	  43
+   270	 259	  73
+   270	 256	  59
+   270	 283	  66
+   270	 258	  42
+   270	 233	  93
+   271	 272	  60
+   271	 259	  39
+   271	 286	  39
+   271	 285	  36
+   271	 260	  33
+   271	 247	  58
+   272	 273	  26
+   272	 271	  60
+   272	 286	  46
+   272	 260	  43
+   273	 274	  28
+   273	 272	  26
+   273	 287	  29
+   273	 261	  36
+   274	 287	  44
+   274	 273	  28
+   274	 301	  65
+   274	 249	  60
+   275	 276	  32
+   275	 288	  30
+   275	 262	  28
+   276	 275	  32
+   276	 290	  69
+   276	 289	  45
+   276	 288	  40
+   276	 263	  46
+   276	 262	  47
+   277	 292	  92
+   277	 305	  81
+   277	 304	  63
+   277	 278	  54
+   277	 291	  23
+   277	 239	  98
+   277	 263	  97
+   278	 279	  30
+   278	 277	  54
+   278	 264	  29
+   279	 278	  30
+   279	 293	  42
+   279	 292	  34
+   279	 265	  27
+   280	 243	  89
+   280	 265	 118
+   280	 267	  33
+   281	 268	  44
+   281	 254	  75
+   282	 269	  40
+   282	 268	  36
+   282	 295	  45
+   282	 255	  59
+   283	 310	  84
+   283	 284	 118
+   283	 269	  69
+   283	 320	  92
+   283	 298	  94
+   283	 297	  67
+   283	 296	  29
+   283	 270	  66
+   283	 256	  59
+   284	 285	  28
+   284	 283	 118
+   284	 298	  43
+   284	 259	  63
+   285	 286	  30
+   285	 284	  28
+   285	 298	  67
+   285	 271	  36
+   286	 300	  71
+   286	 287	  63
+   286	 285	  30
+   286	 312	  66
+   286	 299	  37
+   286	 272	  46
+   286	 271	  39
+   287	 274	  44
+   287	 286	  63
+   287	 300	  29
+   287	 273	  29
+   288	 289	  62
+   288	 302	  33
+   288	 276	  40
+   288	 275	  30
+   289	 290	  29
+   289	 288	  62
+   289	 302	  70
+   289	 276	  45
+   290	 291	  57
+   290	 289	  29
+   290	 303	  29
+   290	 263	  74
+   290	 276	  69
+   291	 304	  47
+   291	 303	  64
+   291	 290	  57
+   291	 327	  97
+   291	 277	  23
+   292	 293	  26
+   292	 277	  92
+   292	 305	  40
+   292	 279	  34
+   293	 294	  33
+   293	 292	  26
+   293	 306	  39
+   293	 279	  42
+   294	 306	  41
+   294	 293	  33
+   294	 317	  55
+   294	 265	  80
+   295	 269	  84
+   295	 254	 110
+   295	 309	  46
+   295	 308	  45
+   295	 282	  45
+   295	 268	  57
+   296	 309	  91
+   296	 269	  86
+   296	 319	  85
+   296	 283	  29
+   297	 298	  27
+   297	 310	  31
+   297	 283	  67
+   298	 359	 154
+   298	 350	 166
+   298	 349	 135
+   298	 340	 143
+   298	 338	  88
+   298	 322	 130
+   298	 321	  56
+   298	 312	 118
+   298	 297	  27
+   298	 367	 181
+   298	 348	 116
+   298	 339	 103
+   298	 299	  89
+   298	 311	  27
+   298	 285	  67
+   298	 284	  43
+   298	 283	  94
+   299	 298	  89
+   299	 286	  37
+   300	 301	  30
+   300	 286	  71
+   300	 312	  42
+   300	 287	  29
+   301	 300	  30
+   301	 313	  23
+   301	 274	  65
+   302	 303	  98
+   302	 326	  68
+   302	 315	  73
+   302	 314	  28
+   302	 289	  70
+   302	 288	  33
+   303	 327	  86
+   303	 315	  42
+   303	 291	  64
+   303	 302	  98
+   303	 343	  88
+   303	 316	  22
+   303	 290	  29
+   304	 306	  93
+   304	 291	  47
+   304	 327	  70
+   304	 328	  65
+   304	 305	  30
+   304	 277	  63
+   305	 306	  63
+   305	 304	  30
+   305	 292	  40
+   305	 277	  81
+   306	 317	  37
+   306	 304	  93
+   306	 294	  41
+   306	 305	  63
+   306	 329	  61
+   306	 293	  39
+   307	 308	  24
+   307	 265	 201
+   307	 254	 125
+   308	 309	  65
+   308	 307	  24
+   308	 318	  32
+   308	 295	  45
+   308	 254	 125
+   309	 296	  91
+   309	 308	  65
+   309	 319	  39
+   309	 318	  74
+   309	 269	  94
+   309	 295	  46
+   310	 311	  23
+   310	 283	  84
+   310	 320	  50
+   310	 297	  31
+   311	 310	  23
+   311	 321	  29
+   311	 298	  27
+   312	 313	  60
+   312	 298	 118
+   312	 323	  45
+   312	 322	  32
+   312	 300	  42
+   312	 286	  66
+   313	 312	  60
+   313	 324	  37
+   313	 301	  23
+   314	 325	  32
+   314	 302	  28
+   315	 343	  82
+   315	 303	  42
+   315	 326	  44
+   315	 361	 119
+   315	 342	  61
+   315	 316	  28
+   315	 302	  73
+   316	 315	  28
+   316	 303	  22
+   317	 265	 129
+   317	 306	  37
+   317	 330	  34
+   317	 294	  55
+   318	 403	 345
+   318	 334	  37
+   318	 265	 234
+   318	 412	 342
+   318	 402	 230
+   318	 358	 264
+   318	 380	 212
+   318	 366	 220
+   318	 365	 150
+   318	 338	 221
+   318	 347	 194
+   318	 357	 129
+   318	 336	 153
+   318	 335	 131
+   318	 346	  65
+   318	 319	  92
+   318	 309	  74
+   318	 308	  32
+   319	 320	  88
+   319	 336	  64
+   319	 335	  46
+   319	 318	  92
+   319	 296	  85
+   319	 309	  39
+   320	 321	  65
+   320	 319	  88
+   320	 338	  47
+   320	 337	  26
+   320	 310	  50
+   320	 283	  92
+   321	 298	  56
+   321	 320	  65
+   321	 338	  38
+   321	 311	  29
+   322	 323	  28
+   322	 298	 130
+   322	 340	  28
+   322	 312	  32
+   323	 381	 154
+   323	 350	  64
+   323	 340	  40
+   323	 322	  28
+   323	 405	 216
+   323	 368	 122
+   323	 324	  36
+   323	 312	  45
+   324	 323	  36
+   324	 313	  37
+   325	 326	  25
+   325	 341	  27
+   325	 314	  32
+   326	 315	  44
+   326	 325	  25
+   326	 341	  40
+   326	 302	  68
+   327	 354	 156
+   327	 344	 145
+   327	 343	  40
+   327	 303	  86
+   327	 363	 139
+   327	 353	  59
+   327	 352	  55
+   327	 329	 118
+   327	 328	  59
+   327	 304	  70
+   327	 291	  97
+   328	 329	  61
+   328	 327	  59
+   328	 304	  65
+   329	 330	  27
+   329	 328	  61
+   329	 327	 118
+   329	 306	  61
+   330	 331	  28
+   330	 329	  27
+   330	 344	  30
+   330	 317	  34
+   331	 363	 106
+   331	 354	  63
+   331	 345	  43
+   331	 344	  42
+   331	 332	  33
+   331	 330	  28
+   331	 375	 124
+   331	 265	 171
+   332	 333	  25
+   332	 331	  33
+   332	 345	  30
+   332	 265	 186
+   333	 334	  38
+   333	 332	  25
+   333	 345	  37
+   333	 265	 205
+   334	 318	  37
+   334	 333	  38
+   334	 346	  31
+   334	 265	 234
+   335	 336	  22
+   335	 318	 131
+   335	 319	  46
+   336	 337	  34
+   336	 335	  22
+   336	 318	 153
+   336	 319	  64
+   337	 338	  34
+   337	 336	  34
+   337	 347	  36
+   337	 320	  26
+   338	 347	  49
+   338	 298	  88
+   338	 337	  34
+   338	 318	 221
+   338	 348	  41
+   338	 321	  38
+   338	 320	  47
+   339	 349	  38
+   339	 298	 103
+   340	 323	  40
+   340	 298	 143
+   340	 350	  31
+   340	 322	  28
+   341	 342	  60
+   341	 351	  30
+   341	 326	  40
+   341	 325	  27
+   342	 351	  61
+   342	 341	  60
+   342	 361	  58
+   342	 315	  61
+   343	 362	  86
+   343	 361	  86
+   343	 327	  40
+   343	 315	  82
+   343	 371	  98
+   343	 352	  45
+   343	 303	  88
+   344	 331	  42
+   344	 327	 145
+   344	 354	  28
+   344	 330	  30
+   345	 375	 112
+   345	 355	  64
+   345	 346	  63
+   345	 331	  43
+   345	 388	 123
+   345	 376	  97
+   345	 333	  37
+   345	 332	  30
+   346	 365	 127
+   346	 364	  61
+   346	 357	 121
+   346	 345	  63
+   346	 378	 102
+   346	 356	  37
+   346	 355	  26
+   346	 318	  65
+   346	 334	  31
+   347	 338	  49
+   347	 318	 194
+   347	 337	  36
+   348	 349	  61
+   348	 358	  34
+   348	 298	 116
+   348	 338	  41
+   349	 298	 135
+   349	 348	  61
+   349	 359	  22
+   349	 339	  38
+   350	 368	  70
+   350	 367	 114
+   350	 323	  64
+   350	 298	 166
+   350	 381	  93
+   350	 340	  31
+   351	 342	  61
+   351	 360	  40
+   351	 341	  30
+   352	 353	  30
+   352	 343	  45
+   352	 327	  55
+   353	 363	  90
+   353	 352	  30
+   353	 374	  85
+   353	 373	  67
+   353	 362	  29
+   353	 327	  59
+   354	 331	  63
+   354	 327	 156
+   354	 363	  46
+   354	 344	  28
+   355	 364	  44
+   355	 356	  32
+   355	 345	  64
+   355	 377	  58
+   355	 346	  26
+   356	 355	  32
+   356	 364	  29
+   356	 346	  37
+   357	 346	 121
+   357	 365	  36
+   357	 318	 129
+   358	 359	  57
+   358	 413	 161
+   358	 403	 122
+   358	 318	 264
+   358	 367	  37
+   358	 348	  34
+   359	 298	 154
+   359	 358	  57
+   359	 367	  50
+   359	 349	  22
+   360	 361	  67
+   360	 370	  45
+   360	 369	  22
+   360	 351	  40
+   361	 370	  47
+   361	 343	  86
+   361	 360	  67
+   361	 383	  58
+   361	 371	  37
+   361	 315	 119
+   361	 342	  58
+   362	 343	  86
+   362	 372	  33
+   362	 353	  29
+   363	 331	 106
+   363	 353	  90
+   363	 375	  47
+   363	 374	  40
+   363	 354	  46
+   363	 327	 139
+   364	 378	  42
+   364	 377	  38
+   364	 346	  61
+   364	 355	  44
+   364	 390	  64
+   364	 356	  29
+   365	 378	  62
+   365	 346	 127
+   365	 391	  60
+   365	 379	  48
+   365	 318	 150
+   365	 357	  36
+   366	 392	  65
+   366	 380	  40
+   366	 402	 127
+   366	 318	 220
+   367	 404	 150
+   367	 350	 114
+   367	 414	 148
+   367	 413	 126
+   367	 381	  96
+   367	 298	 181
+   367	 359	  50
+   367	 358	  37
+   368	 350	  70
+   368	 381	  42
+   368	 323	 122
+   369	 370	  33
+   369	 382	  33
+   369	 360	  22
+   370	 361	  47
+   370	 369	  33
+   370	 382	  38
+   370	 360	  45
+   371	 385	 130
+   371	 396	 110
+   371	 395	  91
+   371	 372	  97
+   371	 384	  30
+   371	 343	  98
+   371	 361	  37
+   372	 373	  28
+   372	 371	  97
+   372	 362	  33
+   373	 374	  30
+   373	 372	  28
+   373	 385	  37
+   373	 353	  67
+   374	 375	  59
+   374	 373	  30
+   374	 386	  36
+   374	 363	  40
+   374	 353	  85
+   375	 345	 112
+   375	 374	  59
+   375	 387	  35
+   375	 386	  70
+   375	 331	 124
+   375	 363	  47
+   376	 377	  35
+   376	 388	  38
+   376	 345	  97
+   377	 364	  38
+   377	 376	  35
+   377	 389	  35
+   377	 355	  58
+   378	 365	  62
+   378	 364	  42
+   378	 391	  44
+   378	 390	  47
+   378	 346	 102
+   379	 392	  42
+   379	 391	  66
+   379	 380	  27
+   379	 402	  67
+   379	 365	  48
+   380	 366	  40
+   380	 379	  27
+   380	 392	  34
+   380	 318	 212
+   381	 323	 154
+   381	 404	  67
+   381	 367	  96
+   381	 368	  42
+   381	 350	  93
+   382	 442	 155
+   382	 434	 132
+   382	 433	 124
+   382	 416	  92
+   382	 395	 152
+   382	 406	  57
+   382	 383	  59
+   382	 453	 180
+   382	 419	 143
+   382	 418	 129
+   382	 417	 106
+   382	 394	  63
+   382	 393	  34
+   382	 370	  38
+   382	 369	  33
+   383	 384	  27
+   383	 382	  59
+   383	 394	  34
+   383	 361	  58
+   384	 383	  27
+   384	 394	  46
+   384	 371	  30
+   385	 386	  27
+   385	 371	 130
+   385	 397	  29
+   385	 373	  37
+   386	 399	 125
+   386	 385	  27
+   386	 409	 110
+   386	 408	  62
+   386	 387	  88
+   386	 398	  30
+   386	 375	  70
+   386	 374	  36
+   387	 388	  39
+   387	 386	  88
+   387	 375	  35
+   388	 389	  54
+   388	 387	  39
+   388	 400	  42
+   388	 399	  35
+   388	 376	  38
+   388	 345	 123
+   389	 495	 287
+   389	 494	 271
+   389	 486	 242
+   389	 459	 221
+   389	 436	 144
+   389	 411	 107
+   389	 410	  83
+   389	 401	  98
+   389	 400	  45
+   389	 388	  54
+   389	 473	 229
+   389	 472	 207
+   389	 449	 173
+   389	 423	 109
+   389	 390	  29
+   389	 377	  35
+   390	 391	  65
+   390	 389	  29
+   390	 378	  47
+   390	 364	  64
+   391	 379	  66
+   391	 390	  65
+   391	 402	  45
+   391	 401	  38
+   391	 365	  60
+   391	 378	  44
+   392	 366	  65
+   392	 379	  42
+   392	 402	  70
+   392	 380	  34
+   393	 406	  23
+   393	 382	  34
+   394	 395	  94
+   394	 382	  63
+   394	 384	  46
+   394	 383	  34
+   395	 407	  38
+   395	 382	 152
+   395	 396	  29
+   395	 394	  94
+   395	 419	  64
+   395	 371	  91
+   396	 397	  32
+   396	 395	  29
+   396	 407	  34
+   396	 371	 110
+   397	 398	  31
+   397	 396	  32
+   397	 408	  26
+   397	 385	  29
+   398	 397	  31
+   398	 408	  41
+   398	 386	  30
+   399	 400	  31
+   399	 386	 125
+   399	 410	  24
+   399	 388	  35
+   400	 389	  45
+   400	 399	  31
+   400	 410	  38
+   400	 388	  42
+   401	 402	  31
+   401	 389	  98
+   401	 411	  23
+   401	 391	  38
+   402	 439	 146
+   402	 412	 150
+   402	 411	  43
+   402	 401	  31
+   402	 461	 171
+   402	 426	 131
+   402	 425	  86
+   402	 424	  58
+   402	 318	 230
+   402	 366	 127
+   402	 392	  70
+   402	 379	  67
+   402	 391	  45
+   403	 413	  46
+   403	 412	  42
+   403	 318	 345
+   403	 428	  59
+   403	 358	 122
+   404	 405	  28
+   404	 367	 150
+   404	 415	  31
+   404	 381	  67
+   405	 404	  28
+   405	 415	  41
+   405	 323	 216
+   406	 382	  57
+   406	 416	  35
+   406	 393	  23
+   407	 420	  43
+   407	 408	  32
+   407	 395	  38
+   407	 419	  66
+   407	 396	  34
+   408	 447	 109
+   408	 409	 121
+   408	 407	  32
+   408	 435	  59
+   408	 422	  95
+   408	 421	  63
+   408	 420	  33
+   408	 386	  62
+   408	 398	  41
+   408	 397	  26
+   409	 410	  31
+   409	 408	 121
+   409	 422	  45
+   409	 386	 110
+   410	 389	  83
+   410	 409	  31
+   410	 436	  64
+   410	 422	  73
+   410	 400	  38
+   410	 399	  24
+   411	 424	  44
+   411	 402	  43
+   411	 389	 107
+   411	 423	  40
+   411	 401	  23
+   412	 403	  42
+   412	 402	 150
+   412	 427	  31
+   412	 318	 342
+   413	 430	  65
+   413	 414	  57
+   413	 403	  46
+   413	 441	  57
+   413	 429	  28
+   413	 367	 126
+   413	 358	 161
+   414	 415	  26
+   414	 413	  57
+   414	 430	  33
+   414	 367	 148
+   415	 414	  26
+   415	 432	  49
+   415	 431	  32
+   415	 405	  41
+   415	 404	  31
+   416	 382	  92
+   416	 433	  32
+   416	 406	  35
+   417	 418	  34
+   417	 434	  28
+   417	 382	 106
+   418	 434	  40
+   418	 417	  34
+   418	 444	  60
+   418	 443	  56
+   418	 419	  21
+   418	 382	 129
+   419	 435	 104
+   419	 446	  88
+   419	 445	  70
+   419	 407	  66
+   419	 418	  21
+   419	 395	  64
+   419	 382	 143
+   420	 407	  43
+   420	 435	  28
+   420	 408	  33
+   421	 422	  32
+   421	 447	  62
+   421	 408	  63
+   422	 421	  32
+   422	 448	  60
+   422	 436	  42
+   422	 410	  73
+   422	 409	  45
+   422	 408	  95
+   423	 437	  61
+   423	 449	  64
+   423	 411	  40
+   423	 389	 109
+   424	 425	  64
+   424	 411	  44
+   424	 438	  43
+   424	 437	  29
+   424	 402	  58
+   425	 450	  66
+   425	 438	  46
+   425	 424	  64
+   425	 460	 100
+   425	 402	  86
+   426	 427	  36
+   426	 439	  26
+   426	 402	 131
+   427	 428	  22
+   427	 426	  36
+   427	 439	  42
+   427	 412	  31
+   428	 429	  34
+   428	 427	  22
+   428	 439	  62
+   428	 403	  59
+   429	 428	  34
+   429	 440	  28
+   429	 413	  28
+   430	 431	  30
+   430	 413	  65
+   430	 441	  44
+   430	 414	  33
+   431	 432	  33
+   431	 430	  30
+   431	 441	  70
+   431	 415	  32
+   432	 431	  33
+   432	 441	 102
+   432	 415	  49
+   433	 382	 124
+   433	 442	  31
+   433	 416	  32
+   434	 443	  40
+   434	 418	  40
+   434	 382	 132
+   434	 454	  68
+   434	 417	  28
+   435	 456	  81
+   435	 445	  70
+   435	 446	  46
+   435	 419	 104
+   435	 481	 119
+   435	 469	  93
+   435	 408	  59
+   435	 420	  28
+   436	 458	  72
+   436	 389	 144
+   436	 472	 107
+   436	 448	  52
+   436	 410	  64
+   436	 422	  42
+   437	 450	  47
+   437	 449	  40
+   437	 438	  31
+   437	 423	  61
+   437	 459	  65
+   437	 424	  29
+   438	 425	  46
+   438	 437	  31
+   438	 450	  28
+   438	 424	  43
+   439	 463	 111
+   439	 461	  67
+   439	 440	  87
+   439	 402	 146
+   439	 475	  89
+   439	 462	  72
+   439	 428	  62
+   439	 427	  42
+   439	 426	  26
+   440	 451	  77
+   440	 439	  87
+   440	 464	  66
+   440	 463	  57
+   440	 441	  30
+   440	 429	  28
+   441	 465	  87
+   441	 432	 102
+   441	 451	  54
+   441	 440	  30
+   441	 431	  70
+   441	 430	  44
+   441	 413	  57
+   442	 382	 155
+   442	 452	  26
+   442	 433	  31
+   443	 455	  45
+   443	 454	  48
+   443	 444	  29
+   443	 434	  40
+   443	 467	  67
+   443	 418	  56
+   444	 445	  31
+   444	 443	  29
+   444	 455	  36
+   444	 418	  60
+   445	 435	  70
+   445	 455	  47
+   445	 444	  31
+   445	 480	 101
+   445	 468	  59
+   445	 446	  28
+   445	 419	  70
+   446	 435	  46
+   446	 445	  28
+   446	 419	  88
+   447	 448	  25
+   447	 408	 109
+   447	 456	  31
+   447	 421	  62
+   448	 471	  86
+   448	 470	  59
+   448	 447	  25
+   448	 482	  93
+   448	 458	  73
+   448	 457	  21
+   448	 436	  52
+   448	 422	  60
+   449	 437	  40
+   449	 389	 173
+   449	 423	  64
+   450	 425	  66
+   450	 437	  47
+   450	 460	  36
+   450	 438	  28
+   451	 440	  77
+   451	 464	  43
+   451	 441	  54
+   452	 453	  30
+   452	 466	  30
+   452	 442	  26
+   453	 490	  92
+   453	 477	  64
+   453	 467	  77
+   453	 466	  38
+   453	 452	  30
+   453	 478	  69
+   453	 454	  36
+   453	 382	 180
+   454	 443	  48
+   454	 453	  36
+   454	 434	  68
+   455	 479	  65
+   455	 478	  82
+   455	 468	  42
+   455	 467	  40
+   455	 445	  47
+   455	 443	  45
+   455	 491	  97
+   455	 444	  36
+   456	 470	  48
+   456	 469	  41
+   456	 457	  31
+   456	 435	  81
+   456	 482	  64
+   456	 447	  31
+   457	 456	  31
+   457	 470	  38
+   457	 448	  21
+   458	 436	  72
+   458	 471	  25
+   458	 448	  73
+   459	 460	  26
+   459	 389	 221
+   459	 473	  40
+   459	 437	  65
+   460	 461	  60
+   460	 459	  26
+   460	 473	  61
+   460	 425	 100
+   460	 450	  36
+   461	 439	  67
+   461	 460	  60
+   461	 474	  29
+   461	 402	 171
+   462	 476	 117
+   462	 498	  95
+   462	 475	  40
+   462	 487	  84
+   462	 464	  87
+   462	 463	  61
+   462	 439	  72
+   463	 464	  26
+   463	 439	 111
+   463	 462	  61
+   463	 440	  57
+   464	 465	  58
+   464	 463	  26
+   464	 476	  43
+   464	 462	  87
+   464	 451	  43
+   464	 440	  66
+   465	 476	  45
+   465	 464	  58
+   465	 489	  68
+   465	 488	  69
+   465	 441	  87
+   466	 453	  38
+   466	 477	  27
+   466	 452	  30
+   467	 455	  40
+   467	 453	  77
+   467	 478	  43
+   467	 443	  67
+   468	 455	  42
+   468	 479	  31
+   468	 445	  59
+   469	 493	  72
+   469	 482	  43
+   469	 481	  40
+   469	 456	  41
+   469	 435	  93
+   470	 448	  59
+   470	 456	  48
+   470	 482	  47
+   470	 457	  38
+   471	 472	  28
+   471	 448	  86
+   471	 483	  36
+   471	 458	  25
+   472	 471	  28
+   472	 486	  66
+   472	 485	  41
+   472	 484	  30
+   472	 389	 207
+   472	 436	 107
+   473	 474	 116
+   473	 497	  88
+   473	 496	  69
+   473	 495	  63
+   473	 460	  61
+   473	 459	  40
+   473	 389	 229
+   474	 497	  87
+   474	 475	  31
+   474	 473	 116
+   474	 461	  29
+   475	 498	  89
+   475	 474	  31
+   475	 462	  40
+   475	 439	  89
+   476	 465	  45
+   476	 462	 117
+   476	 488	  32
+   476	 464	  43
+   477	 453	  64
+   477	 490	  31
+   477	 466	  27
+   478	 455	  82
+   478	 491	  48
+   478	 467	  43
+   478	 453	  69
+   479	 492	  41
+   479	 491	  71
+   479	 480	  31
+   479	 455	  65
+   479	 468	  31
+   480	 481	  33
+   480	 479	  31
+   480	 492	  23
+   480	 445	 101
+   481	 469	  40
+   481	 480	  33
+   481	 493	  34
+   481	 435	 119
+   482	 483	  96
+   482	 469	  43
+   482	 448	  93
+   482	 470	  47
+   482	 456	  64
+   483	 484	  31
+   483	 482	  96
+   483	 471	  36
+   484	 494	  48
+   484	 485	  25
+   484	 483	  31
+   484	 472	  30
+   485	 486	  32
+   485	 484	  25
+   485	 494	  34
+   485	 472	  41
+   486	 389	 242
+   486	 485	  32
+   486	 494	  40
+   486	 472	  66
+   487	 498	  37
+   487	 488	  62
+   487	 499	  41
+   487	 462	  84
+   488	 489	  60
+   488	 487	  62
+   488	 500	  43
+   488	 499	  43
+   488	 465	  69
+   488	 476	  32
+   489	 500	  39
+   489	 488	  60
+   489	 465	  68
+   490	 453	  92
+   490	 477	  31
+   491	 479	  71
+   491	 455	  97
+   491	 478	  48
+   492	 493	  25
+   492	 479	  41
+   492	 480	  23
+   493	 469	  72
+   493	 492	  25
+   493	 481	  34
+   494	 389	 271
+   494	 484	  48
+   494	 486	  40
+   494	 485	  34
+   495	 496	  30
+   495	 389	 287
+   495	 473	  63
+   496	 497	  32
+   496	 495	  30
+   496	 473	  69
+   497	 474	  87
+   497	 496	  32
+   497	 473	  88
+   498	 487	  37
+   498	 475	  89
+   498	 462	  95
+   499	 500	  66
+   499	 488	  43
+   499	 487	  41
+   500	 489	  39
+   500	 499	  66
+   500	 488	  43
Index: /liacs/da/fibo_queue/examples/readme05.txt
===================================================================
--- /liacs/da/fibo_queue/examples/readme05.txt	(revision 2)
+++ /liacs/da/fibo_queue/examples/readme05.txt	(revision 2)
@@ -0,0 +1,229 @@
+
+Beste allemaal,
+
+Bij de tweede opgave Datastructuren najaar 2005 (implementeer een Fibonacci
+rij) hebben jullie al een hele beschrijving op papier gekregen. Toch valt er
+nog meer te zeggen en dat wil ik bij deze doen. Eerst zal ik ingaan op deel A)
+van de opgave, dan kort op deel B) en ten slotte heb ik nog enkele algemene
+mededelingen.
+
+********************************************************************************
+******
+2A:  *
+******
+Voor opdracht 2A) krijgen jullie een aantal bestanden cadeau, die het (goed)
+maken van de opgave moeten vergemakkelijken. Ik zal eerst uitleggen waar deze
+bestanden voor dienen, vervolgens geef ik nog enkele algemene aanwijzingen
+voor bij het programmeren.
+
+* Voor deel A) van de opgave hoef je alleen bestanden `fiboqueue.cc'
+  en `fiboqueue.h' te maken die de Fibonacci rij implementeren. Om te kunnen
+  testen of die een beetje doen wat je mag verwachten, is een eerste
+  testprogramma `test.cc' bijgeleverd. Jullie wordt aangeraden om ook het
+  commentaar bovenin dat programma te lezen.
+* Tijdens het testen van het programma is het prettig als je de boom die
+  je in de loop van de tijd hebt opgebouwd kunt afbeelden op het scherm.
+  Daarvoor is een methode `Show' voor de klasse `FiboQueue' geschreven,
+  samen met enkele bijbehorende functies. Deze functies vind je in
+  de bestanden `fiboqueue.cc' en `fiboqueue.h' (dat wil zeggen: ik heb
+  deze bestanden voor de zekerheid maar even `fiboqueue0.cc' en `fiboqueue0.h'
+  genoemd; stel namelijk dat je zelf al met het implementeren van de
+  Fibonacci rij was begonnen in eigen bestanden `fiboqueue.cc' en
+  `fiboqueue.h', dan worden die niet meteen overschreven door mijn bestanden).
+  Het is dus de bedoeling dat je deze functies in je eigen implementatie
+  kopieert.
+  De functies maken gebruik van een datastructuur die in `showlist.cc' en
+  `showlist.h' is ge-implementeerd. Daarom moet je `showlist.h' in je eigen
+  `fiboqueue.h' include-n.
+
+  Om de werking van de methode `Show' te demonstreren, bekijk de volgende
+  uitvoer:
+  124                 363  225
+  171  176  308       969  491  274
+       514  533  698            385
+                 943
+  Deze Fibonacci rij bestaat uit drie bomen, een met wortel 124, een met
+  wortel 363 en een met wortel 225. De wortels staan dus op het bovenste
+  niveau. De eerst genoemde wortel is het minimum van de Fibonacci rij.
+
+  De kinderen van een knoop x0 staan een niveau lager dan x0 zelf.
+  Het eerste kind staat onmiddellijk onder x0; het tweede kind staat daar
+  rechts van, het derde kind daar weer rechts van, enz. totdat je voorbij
+  de broer van x0 loopt. De kinderen van 124 in ons voorbeeld zijn 171, 176
+  en 308. Knoop 969 is het enige kind van 363. Knoop 225 heeft weer twee
+  kinderen: 491 en 274.
+
+  Om het allemaal van de andere kant te bekijken: 943 is een kind van 698,
+  698 is een kind van 308 en 308 is een kind van 124.
+
+  Uiteraard is deze vorm van presenteren slechts overzichtelijk bij een
+  beperkt aantal knopen. Als je te veel knopen hebt, kan een niveau meerdere
+  regels beslaan en is het niet meer eenvoudig na te gaan hoe de vader-kind
+  relaties lopen.
+* Om `test.cc' te compileren is er `Makefile1'. Deze moet je even naar
+  `Makefile' copyeren, waarna met het commando `make' het compileren begint.
+  Vervolgens kun je het testprogramma aanroepen met `Test'
+
+
+Door met de bovenstaande programma's te testen, kun je denken dat je
+implementatie van de Fibonacci rij correct is. Juich echter niet te vroeg.
+Voordat je de bestanden `fiboqueue.cc' en `fiboqueue.h' inlevert, is het
+verstandig om ze eerst ook te testen met het tweede testprogramma. Dit kan
+teleurstellingen voorkomen. Voor de tweede test zijn meegestuurd:
+* Negen C++ bestanden (`storelist.h', `storelist.cc', `standaard.h',
+  `standaard.cc', `leestekst.h', `leestekst.cc', `communiceer.h',
+  `communiceer.cc' en `test2.cc').
+* Om deze bestanden samen met je implementatie van de Fibonacci rij te
+  compileren, is er `Makefile2'. Even naar `Makefile' kopieren en je kunt
+  compileren. Ook nu kun je het testprogramma aanroepen met `Test'.
+  /***********/
+  /* LET OP: */
+  /***********/
+  - Om een succesvolle compilering uit te kunnen voeren, moet het veld
+    `Min' van de klasse `FiboQueue' (de wijzer naar de FiboNode met de
+    laagste waarde) publiek gedeclareerd zijn. Dit is weliswaar strijdig
+    met het concept van informatie-verhulling, maar dat moet dan maar.
+  - Verder dient het bestand `fiboqueue.h' omgeven te zijn door een `ifndef'-
+    constructie. Anders wordt het namelijk dubbel ge-include in `test2.cc'
+    en krijg je een foutmelding.
+    Zo'n constructie ziet er als volgt uit
+
+      ifndef FiboQueueVar
+      #define FiboQueueVar
+
+        // de normale code
+
+      #endif
+  
+  Om het jullie gemakkelijk te maken, is met deze twee zaken al rekening
+  gehouden in het meegeleverde bestand `fiboqueue0.h'
+* Het testprogramma leest enkele parameters uit het bestand `test.dat'.
+  - Als de parameter `InterActief=1', verwacht het programma invoer van de
+    gebruiker. Het is aan te raden om dat eerst een paar keer te proberen.
+  - Met `InterActief=0', wordt de invoer uit een bestand gelezen, in het
+    bijzonder uit het bestand dat op de volgende regel staat (in principe is
+    dat `test1.inv'). In dat geval wordt de uitvoer behalve naar het scherm
+    ook naar een bestand `test1.uit' geschreven.
+  - Als dan de parameter `Controleren=0', gebeurt er niets met dit
+    uitvoerbestand.
+  - Met `Controleren=1' wordt echter gekeken of het uitvoerbestand gelijk is
+    aan het controlebestand `test1.con'. Zo ja, dan wordt er `GELIJK' op
+    het scherm afgedrukt. Zo nee, dan wordt aangegeven waar het verschil zit.
+
+Het tweede testprogramma heeft de volgende werking: 
+  er worden twee Fibonacci rijen tegelijkertijd bijgehouden. Op ieder moment
+  is een van de twee actief.
+  - Met behulp van `Switch' uit het menu kun je de andere rij actief maken.
+  - De optie `Merge' zorgt ervoor dat de niet-actieve Fibonacci rij bij de
+    actieve Fibonacci rij gevoegd wordt.
+  - Met `Reset' kun je opnieuw beginnen, met twee nieuwe, lege Fibonacci
+    rijen.
+  - Ten slotte is er de optie `Empty'. Die is een beetje listig. In hoofdzaak
+    bestaat die eruit dat de actieve Fibonacci rij element voor element wordt
+    leeggemaakt. Er gebeuren echter ook nog wat andere dingen. Wat precies,
+    dat merk je wel bij het testen.
+
+
+Het is mogelijk dat je implementatie van de Fibonacci rij niet door deze
+test heenkomt. Wellicht kunnen de volgende aanwijzingen dan nog wat helpen:
+- houd bij de methodes van de Fibonacci rij die je implementeert rekening met
+  randgevallen. Zo kan een Fibonacci rij waarop of waarmee je een operatie
+  wilt uitvoeren, leeg zijn. In dat geval kun je (bijvoorbeeld) niet zomaar
+  de inhoud van de `Min'-pointer inspecteren.
+  Misschien dat dit door het meegeleverde testprogramma `test.cc' al keurig
+  werd afgevangen, maar van `test2.cc' kan ik dat niet beloven ...
+- op blz. 3 van de specificatie staat als uitleg bij de methode `Merge':
+  "Verplaatst alle elementen van *Fqptr naar de huidige queue."
+  Dat betekent dus dat de Fibonacci rij aangeduid met Fqptr, leeg wordt.
+- controleer of je overal waar nodig de velden `Mark' en `Degree' aanpast.
+  Door de fixatie op de pointer structuur van de Fibonacci rij, zou je deze
+  velden namelijk gemakkelijk over het hoofd kunnen zien.
+
+Los van de testprogramma's is er nog een andere, veelgemaakte fout.
+Die bestaat eruit dat je geheugen reserveert met `new', maar dat je het niet
+(op tijd) weer vrijgeeft met `delete'. Hierdoor zou het geheugen van de
+computer vol kunnen lopen.
+
+Je zult merken dat veel van de meegeleverde programma's enigszins
+versleuteld zijn. De reden hiervoor is dat het eigenlijk niet de bedoeling
+is dat je je in die bestanden gaat verdiepen, laat staan dat je ze gaat
+wijzigen. De uitvoer die de bestanden produceren, zou voldoende moeten zijn.
+
+Wanneer je implementatie van de Fibonacci rij de tweede test overleeft,
+heb je een goede kans dat ie goed is, hoewel ik het niet bij voorbaat wil
+garanderen. Het is dan wel de moeite om de bestanden `fiboqueue.cc' en
+`fiboqueue.h' in te leveren. Je kunt dit doen met behulp van het commando:
+
+tar cvzf - fiboqueue.cc fiboqueue.h | uuencode opdracht2A.gz |
+  elm -s 'opdracht2A' svhaastr@liacs.nl
+(dit alles op een regel)
+
+Een print van de programma's is niet nodig.
+Stuur alsjeblieft geen executables of zelfs maar object-bestanden mee !!!!!
+
+********************************************************************************
+******
+2B:  *
+******
+
+Jullie zullen merken dat jullie oplossing voor deel A) van de opdracht
+aan hoge eisen moet voldoen, wil die door het tweede testprogramma
+heenkomen, wat toch wel een vereiste lijkt voor goedkeuring.
+
+Bij deel B) zullen we minder streng zijn bij de beoordeling. Hoewel we het
+leuk zou vinden als jullie oplossing voor deel B) met alle mogelijke
+invoerbestanden (grafen, die aan de opgegeven specificatie voldoen) rekening
+houdt, zullen we haar niet afkeuren als ze op een randgeval faalt.
+Het is echter wel de bedoeling dat jullie het algoritme van Dijkstra op een
+fatsoenlijk manier implementeren.
+
+Bij dit onderdeel krijg je twee hulpbestanden mee:
+* `fibo.grf', dat een graaf van 500 knopen bevat
+* `fibo.con', de gewenste uitvoer bij `fibo.grf' (uitgaande van beginknoop 1)
+Hiermee kun je je implementatie van het algoritme van Dijkstra een beetje
+testen. Bedenk echter dat de nakijker de beschikking heeft over nog veel
+meer testinstanties. Dus als je programma de juiste uitvoer geeft voor
+`fibo.grf', zou het nog best verkeerd kunnen werken voor een andere
+instantie.
+
+In te leveren: alle bestanden die je nodig hebt om het programma te kunnen
+draaien.  Testinstanties zijn echter niet nodig. Zoals gezegd, die hebben we
+zelf genoeg.
+Zorg ervoor dat je een directory hebt waarin alle benodigde bestanden staan
+en ga in deze directory staan. Stel dat je alleen `.cc' en `.h' bestanden
+en een Makefile nodig hebt, dan kun je met de volgende opdracht alles
+naar de corrector sturen:
+
+tar cvzf - *.cc *.h Makefile | uuencode opdracht2B.gz |
+  elm -s 'opdracht2B' svhaastr@liacs.nl
+
+Ook nu is een print van de programma's niet nodig en stuur ook nu geen
+executables en object-bestanden mee !!!
+
+********************************************************************************
+
+Ten slotte: niemand is verplicht de opdrachten op de universiteit te maken.
+Het is echter wel de bedoeling dat jullie oplossingen gecompileerd kunnen
+worden (en werken) met g++ op de `beast' of op een Linux-pc in de
+computerzalen beneden. Dan hoeft de nakijker niet eerst het meest geschikte
+C++ platform uit te zoeken.
+Daarom, voordat jullie iets inleveren, kijk even of het hier op de `beast'
+of op een Linux-pc net zo goed werkt als (eventueel) thuis.
+
+Omdat opdracht 2B) voortbouwt op 2A) is het aan te raden om eerst 2A)
+netjes af te ronden en in te leveren (als je denkt dat ie goed is) en
+dan pas aan 2B) te beginnen.  Als er namelijk fouten in de implementatie
+van de kale Fibonacci rij zitten, hoef je die niet dubbel te verbeteren.
+
+********************************************************************************
+
+Mochten jullie na deze uitleg nog vragen hebben, dan kun je die uiteraard
+altijd stellen. Voor vragen over de bedoeling van de opdracht (of over deze
+uitleg zelf), kun je je wenden tot mij, Robert Brijder (kamer 156a,
+telefoonnummer 071-527 7143, rbrijder@liacs.nl). Voor vragen over je eigen
+programma, kun je je wenden tot Sven van Haastregt.
+
+Succes
+
+         Robert Brijder
+
Index: /liacs/da/fibo_queue/fiboqueue.cc
===================================================================
--- /liacs/da/fibo_queue/fiboqueue.cc	(revision 2)
+++ /liacs/da/fibo_queue/fiboqueue.cc	(revision 2)
@@ -0,0 +1,19 @@
+#include<iostream>
+#include<iomanip>
+using namespace std;
+#include "fiboqueue.h"
+void FiboQueue::BouwShowListOp(FiboNode*sv91,List*sv92,int&sv93){scl3*sv94;
+List*sv95;FiboNode*sv96,*sv97;sv96=sv91;do{
+sv94=new scl3(sv96->Value,sv96->Mark,sv93);if(sv92->sf34()==NULL)
+{sv92->sf34(sv94);sv92->sf35(sv94);}else{sv92->sf35()->sf20(sv94);
+sv92->sf35(sv94);}sv97=sv96->Child;if(sv97!=NULL){if(sv92->sf20()==NULL)
+{sv95=new List();sv92->sf20(sv95);}BouwShowListOp(sv97,sv92->sf20(),sv93);}
+sv96=sv96->Right;sv93++;}while(sv96!=sv91);sv93--;}
+void FiboQueue::ShowList(List*sv98){List*sv92;scl3*sv94;int sv93,sv99;sv92=sv98;
+do{sv94=sv92->sf34();sv93=0;do{sv99=sv94->sf33();while(sv93<sv99-1)
+{cout<<"     ";sv93++;}cout<<setw(4)<<sv94->Value();if(sv94->Mark())cout<<'*';
+else cout<<' ';sv93++;sv94=sv94->sf20();}while(sv94!=NULL);cout<<'\n';
+sv92=sv92->sf20();}while(sv92!=NULL);}void FiboQueue::Show(){List*sv100;
+int sv93;cout<<"De Fibonacci rij ziet er als volgt uit:\n";if(!IsEmpty())
+{sv100=new List();sv93=1;BouwShowListOp(Min,sv100,sv93);ShowList(sv100);
+delete sv100;}}
Index: /liacs/da/fibo_queue/fiboqueue.h
===================================================================
--- /liacs/da/fibo_queue/fiboqueue.h	(revision 2)
+++ /liacs/da/fibo_queue/fiboqueue.h	(revision 2)
@@ -0,0 +1,27 @@
+
+#ifndef FiboQueueVar
+#define FiboQueueVar
+
+#ifndef NULL
+  #define NULL 0
+#endif
+
+#include "showlist.h"
+
+class FiboQueue
+{
+  public:
+      // beeld de Fibonacci rij, niveau voor niveau, af op het beeldscherm;
+    void Show ();
+    FiboNode   *Min;   // wijst naar het minimum element van de Fibonacci rij
+                         // niet private!
+
+  private:
+    void       BouwShowListOp (FiboNode *Deze, List *LPtr, int& Positie);
+    void       ShowList (List *Wortel);
+
+};
+
+
+#endif  // van de ifndef
+
Index: /liacs/da/fibo_queue/leestekst.cc
===================================================================
--- /liacs/da/fibo_queue/leestekst.cc	(revision 2)
+++ /liacs/da/fibo_queue/leestekst.cc	(revision 2)
@@ -0,0 +1,35 @@
+#include "leestekst.h"
+bool sf36(ifstream&sv23,char*sv35,int sv101){int sv82;char sv26;sv82=0;
+sv26=sv23.get();while((!sv23.eof())&&(sv82<sv101-1)&&(sv26!=EOL))
+{sv35[sv82]=sv26;sv82++;sv26=sv23.get();}sv35[sv82]=EOS;
+if((sv82>0)||(!sv23.eof()))return true;else return false;}
+bool sf37(char*sv102,int sv103,char*sv35,int&sv104){int sv109,pos;bool sv53,
+sv110;sv109=strlen(sv35);sv53=false;while(!sv53&&(sv104<=sv109-sv103)){
+sv110=true;pos=0;while(sv110&&(pos<sv103)){if(sv102[pos]==sv35[sv104+pos])pos++;
+else sv110=false;}if(sv110)sv53=true;else sv104++;}return sv53;}
+int sf38(ifstream&sv23,char*sv102,int sv103,char*sv35,
+int sv101,int&sv105,int&sv104){bool sv53,sv65;sv53=sf37(sv102,sv103,sv35,sv104);
+while(!sv53&&(sv65=sf36(sv23,sv35,sv101))){sv105++;sv104=0;
+sv53=sf37(sv102,sv103,sv35,sv104);}return sv53;}bool sf39(char*sv106)
+{ifstream sv23;bool sv111;char sv26;sv23.open(sv106);if(sv23){sv26=sv23.get();
+if(!sv23.eof())sv111=true;else sv111=false;sv23.close();}else sv111=false;
+return sv111;}bool sf40(char*sv107,char*sv108){ifstream sv23;ofstream sv66;
+char sv26;sv23.open(sv108);if(sv23){sv66.open(sv107);sv26=sv23.get();
+while(!sv23.eof()){sv66.put(sv26);sv26=sv23.get();}sv66.close();sv23.close();
+return true;}else return false;}void sf41(char*sv106){ofstream sv66;
+sv66.open(sv106);sv66.close();}void sf22(ifstream&sv23){char sv26=' ';
+while((!sv23.eof())&&(sv26!=EOL))sv26=sv23.get();}
+void sf2(ifstream&sv23,char*sv28){int sv29,i;char sv27;sv29=strlen(sv28);
+for(i=0;i<sv29;i++)if((sv28[i]!=' ')&&(sv28[i]!='\t')&&(sv28[i]!='\r')&&
+(sv28[i]!='\n'))sv23>>sv27;}bool sf27(char*sv24,char*sv25){bool sv43;int sv112,
+sv36,sv37;ifstream sv38,sv39;sv38.open(sv24,ios::in);sv39.open(sv25,ios::in);
+if(!sv38){cout<<"We konden "<<sv24<<" bij de controle niet openen\n";cout<<EOL;
+sv43=false;}else if(!sv39)
+{cout<<"We konden "<<sv25<<" bij de controle niet openen\n";cout<<EOL;
+sv43=false;}else{sv43=true;sv112=1;sv38>>sv36;sv39>>sv37;sf22(sv38);sf22(sv39);
+while((!sv38.eof())&&(!sv39.eof())&&sv43){if(sv36!=sv37)sv43=false;else{sv112++;
+sv38>>sv36;sv39>>sv37;sf22(sv38);sf22(sv39);}}if(!sv43)
+cout<<"Verschil in regel "<<sv112<<EOL;else if(!sv38.eof())
+{cout<<"Het uitvoerbestand is langer dan het controlebestand\n";sv43=false;}else
+if(!sv39.eof()){cout<<"Het controlebestand is langer dan het uitvoerbestand\n";
+sv43=false;}}if(sv38)sv38.close();if(sv39)sv39.close();return sv43;}
Index: /liacs/da/fibo_queue/leestekst.h
===================================================================
--- /liacs/da/fibo_queue/leestekst.h	(revision 2)
+++ /liacs/da/fibo_queue/leestekst.h	(revision 2)
@@ -0,0 +1,18 @@
+#ifndef LeesTekstH
+#define LeesTekstH
+#include<iostream>
+#include<string>
+#include<fstream>
+using namespace std;
+#ifndef EOS
+#define EOS '\0'
+#endif
+#ifndef EOL
+#define EOL '\n'
+#endif
+bool sf36(ifstream&sv23,char*sv35,int sv101);bool sf37(char*sv102,int sv103,
+char*sv35,int&sv104);int sf38(ifstream&sv23,char*sv102,int sv103,char*sv35,
+int sv101,int&sv105,int&sv104);bool sf39(char*sv106);
+bool sf40(char*sv107,char*sv108);void sf41(char*sv106);void sf22(ifstream&sv23);
+void sf2(ifstream&sv23,char*sv28);bool sf27(char*sv24,char*sv25);
+#endif
Index: /liacs/da/fibo_queue/showlist.cc
===================================================================
--- /liacs/da/fibo_queue/showlist.cc	(revision 2)
+++ /liacs/da/fibo_queue/showlist.cc	(revision 2)
@@ -0,0 +1,5 @@
+#include "showlist.h"
+scl3::scl3(QValueTp sv77,bool sv78,int sv79){sv80=sv77;sv81=sv78;sv82=sv79;
+sv83=NULL;}List::List(){Fi=sv88=NULL;sv83=NULL;}List::~List(){scl3*sv89,*sv90;
+if(sv83!=NULL)delete(sv83);sv89=Fi;while(sv89!=NULL){sv90=sv89->sf20();
+delete(sv89);sv89=sv90;}}
Index: /liacs/da/fibo_queue/showlist.h
===================================================================
--- /liacs/da/fibo_queue/showlist.h	(revision 2)
+++ /liacs/da/fibo_queue/showlist.h	(revision 2)
@@ -0,0 +1,16 @@
+#ifndef sv76
+#define sv76
+typedef int QValueTp;
+#ifndef NULL
+#define NULL 0
+#endif
+class scl3{public:scl3(QValueTp sv77,bool sv78,int sv79);
+QValueTp Value(){return sv80;};bool Mark(){return sv81;};
+int sf33(){return sv82;};scl3*sf20(){return sv83;};
+void sf20(scl3*sv84){sv83=sv84;};private:QValueTp sv80;bool sv81;int sv82;
+scl3*sv83;};class List{public:List();List(scl3*sv85,scl3*sv86);~List();
+scl3*sf34(){return Fi;};void sf34(scl3*sv85){Fi=sv85;};
+scl3*sf35(){return sv88;};void sf35(scl3*sv86){sv88=sv86;};
+List*sf20(){return sv83;};void sf20(List*sv84){sv83=sv84;};private:scl3*Fi,
+*sv88;List*sv83;};
+#endif
Index: /liacs/da/fibo_queue/standaard.cc
===================================================================
--- /liacs/da/fibo_queue/standaard.cc	(revision 2)
+++ /liacs/da/fibo_queue/standaard.cc	(revision 2)
@@ -0,0 +1,135 @@
+// Enkele standaard functies op variabelen van type `char', `int' of `bool'.
+//
+// Ook de functies `Cijfer' en `Letter' kennen we nu.
+//           Rudy van Vliet                    14 december 2004
+
+//****************************************************************************
+
+#include "standaard.h"
+
+//****************************************************************************
+
+int KleinsteGetal (int i, int j)
+ // geef het minimum van de twee getallen i en j
+{
+  if (i<=j)
+    return i;
+  else
+    return j;
+    
+}  // KleinsteGetal
+
+//****************************************************************************
+
+int GrootsteGetal (int i, int j)
+ // geef het maximum van de twee getallen i en j
+{
+  if (i>=j)
+    return i;
+  else
+    return j;
+    
+}  // GrootsteGetal
+
+//****************************************************************************
+
+int GetalLengte (int Waarde)
+ // retourneer de lengte (in karakters) van het getal Waarde
+ // werkt ook als Waarde negatief is
+{ int WLengte;
+
+  if (Waarde < 0)
+  { WLengte = 1;
+    Waarde = - Waarde;
+  }
+  else
+    WLengte = 0;
+
+  do
+  { WLengte ++;
+    Waarde = Waarde / 10;
+  } while (Waarde != 0);
+
+  return WLengte;
+
+}  // GetalLengte
+
+//****************************************************************************
+
+bool Cijfer (char k)
+ // kijk of het karakter `k' een cijfer is of niet
+{
+  if ((k>='0') && (k<='9'))
+    return true;
+  else
+    return false;
+
+}  // Cijfer
+
+//****************************************************************************
+
+bool Letter (char k)
+ // kijk of het karakter `k' een letter is of niet
+{
+  if (   ((k>='A') && (k<='Z'))   // een hoofdletter
+      || ((k>='a') && (k<='z')) ) // een kleine letter
+    return true;
+  else
+    return false;
+
+}  // Letter
+
+//****************************************************************************
+
+char HoofdLetter (char c)
+ // als c een kleine letter is, retourneer de bijbehorende hoofdletter;
+ // anders retourneer gewoon c
+{
+  if ((c>='a') && (c<='z'))
+    return ((char) c - 32);
+  else
+    return c;
+
+}  // HoofdLetter
+
+//****************************************************************************
+
+char *ItoA (int Waarde)
+ // transformeer het getal Waarde tot een character-string
+{ int  WLengte;  // de lengte (in karakters) van Waarde
+  char *GStr;
+
+  WLengte = GetalLengte (Waarde);
+  GStr = new char[WLengte+1];
+
+  if (Waarde<0)
+  { GStr[0] = '-';
+    Waarde = - Waarde;
+  }
+
+  GStr [WLengte] = EOS;
+  WLengte --;
+
+  do
+  { GStr[WLengte] = (char) (Waarde%10 + 48);
+    WLengte --;
+    Waarde = Waarde/10;
+  } while (Waarde!=0);
+
+  return GStr;
+
+}  // ItoA
+
+//****************************************************************************
+
+int BtoI (bool b)
+ // zet de boolean b om in een integer (true <-> 1,  false <-> 0)
+{
+  if (b)
+    return 1;
+  else
+    return 0;
+
+}  // BtoI
+
+//****************************************************************************
Index: /liacs/da/fibo_queue/standaard.h
===================================================================
--- /liacs/da/fibo_queue/standaard.h	(revision 2)
+++ /liacs/da/fibo_queue/standaard.h	(revision 2)
@@ -0,0 +1,77 @@
+// Prototypes van enkele standaard functies op variabelen van type `int',
+// `char' of `bool'.
+//
+// Ook de functies `Cijfer' en `Letter' kennen we nu.
+//           Rudy van Vliet                    14 december 2004
+
+#ifndef StandaardH
+#define StandaardH
+
+#ifndef EOL
+  #define EOL '\n'
+#endif
+#ifndef EOS
+  #define EOS '\0'
+#endif
+#ifndef Spatie
+  #define Spatie ' '
+#endif
+#ifndef Tab
+  #define Tab '\t'
+#endif
+#ifndef Punt
+  #define Punt  '.'
+#endif
+#ifndef Komma
+  #define Komma ','
+#endif
+#ifndef MinKar
+  #define MinKar   '-'
+#endif
+
+//****************************************************************************
+
+int KleinsteGetal (int i, int j);
+ // geef het minimum van de twee getallen i en j
+
+//****************************************************************************
+
+int GrootsteGetal (int i, int j);
+ // geef het maximum van de twee getallen i en j
+
+//****************************************************************************
+
+int GetalLengte (int Waarde);
+ // retourneer de lengte (in karakters) van het getal Waarde
+ // werkt ook als Waarde negatief is
+
+//****************************************************************************
+
+bool Cijfer (char k);
+ // kijk of het karakter `k' een cijfer is of niet
+
+//****************************************************************************
+
+bool Letter (char k);
+ // kijk of het karakter `k' een letter is of niet
+
+//****************************************************************************
+
+char HoofdLetter (char c);
+ // als c een kleine letter is, retourneer de bijbehorende hoofdletter;
+ // anders retourneer gewoon c
+
+//****************************************************************************
+
+char *ItoA (int Waarde);
+ // transformeer het getal Waarde tot een character-string
+
+//****************************************************************************
+
+int BtoI (bool b);
+ // zet de boolean b om in een integer (true <-> 1,  false <-> 0)
+
+//****************************************************************************
+
+#endif
+
Index: /liacs/da/fibo_queue/storelist.cc
===================================================================
--- /liacs/da/fibo_queue/storelist.cc	(revision 2)
+++ /liacs/da/fibo_queue/storelist.cc	(revision 2)
@@ -0,0 +1,22 @@
+#include "storelist.h"
+scl1::scl1(FiboNode*sv46){sv47=sv46;sv83=NULL;}scl2::scl2(int sv44,int sv45)
+{int w;Min=sv44;sv10=sv45;A=new sdf1[sv10-Min+1];for(w=0;w<=sv10-Min;w++)
+A[w]=NULL;}scl2::~scl2(){int w;sdf1 sv48,sv49;for(w=0;w<=sv10-Min;w++)
+{sv48=A[w];while(sv48!=NULL){sv49=sv48;sv48=sv48->sf20();delete sv49;}}
+delete[]A;}void scl2::Merge(scl2*sv50){int w;sdf1 sv49,sv48;
+for(w=0;w<=sv10-Min;w++)if(sv50->A[w]!=NULL){if(A[w]==NULL)A[w]=sv50->A[w];else
+{sv49=NULL;sv48=A[w];do{sv49=sv48;sv48=sv48->sf20();}while(sv48!=NULL);
+sv49->sf20(sv50->A[w]);}sv50->A[w]=NULL;}}bool scl2::sf16(QValueTp sv5){
+if((sv5>=Min)&&(sv5<=sv10))return true;else return false;}
+void scl2::sf24(QValueTp sv5,FiboNode*sv12){int w;sdf1 sv51;if(sf16(sv5))
+{sv51=new scl1(sv12);w=sv5-Min;sv51->sf20(A[w]);A[w]=sv51;}}
+bool scl2::sf17(QValueTp sv5){int w;if(sf16(sv5)){w=sv5-Min;return(A[w]!=NULL);}
+else return false;}FiboNode*scl2::sf18(QValueTp sv5){int w;sdf1 sv52;
+FiboNode*sv12;if(sf16(sv5)){w=sv5-Min;sv52=A[w];if(sv52!=NULL)
+{A[w]=sv52->sf20();sv12=sv52->sf19();delete sv52;return sv12;}else return NULL;}
+else return NULL;}void scl2::sf18(QValueTp sv5,FiboNode*sv12){int w;
+sdf1 sv48,sv49;bool sv53,sv56;if(sf16(sv5)){w=sv5-Min;sv48=A[w];sv49=NULL;
+sv53=false;sv56=true;while(sv56)if(sv48==NULL)sv56=false;else
+if(sv48->sf19()==sv12){sv53=true;sv56=false;}else{sv49=sv48;sv48=sv48->sf20();}
+if(sv53){if(sv49==NULL)A[w]=sv48->sf20();else sv49->sf20(sv48->sf20());
+delete sv48;}}}
Index: /liacs/da/fibo_queue/storelist.h
===================================================================
--- /liacs/da/fibo_queue/storelist.h	(revision 2)
+++ /liacs/da/fibo_queue/storelist.h	(revision 2)
@@ -0,0 +1,14 @@
+#ifndef sv75
+#define sv75
+#ifndef NULL
+#define NULL 0
+#endif
+#include "fiboqueue.h"
+class scl1;typedef scl1*sdf1;class scl1{public:scl1(FiboNode*sv46);
+FiboNode*sf19(){return sv47;};sdf1 sf20(){return sv83;};
+void sf20(sdf1 sv55){sv83=sv55;};private:FiboNode*sv47;sdf1 sv83;};class scl2
+{public:scl2(int sv44,int sv45);~scl2();void Merge(scl2*sv50);
+void sf24(QValueTp sv5,FiboNode*sv12);bool sf17(QValueTp sv5);
+FiboNode*sf18(QValueTp sv5);void sf18(QValueTp sv5,FiboNode*sv12);private:
+int Min,sv10;sdf1*A;bool sf16(QValueTp sv5);};
+#endif
Index: /liacs/da/fibo_queue/test.cc
===================================================================
--- /liacs/da/fibo_queue/test.cc	(revision 2)
+++ /liacs/da/fibo_queue/test.cc	(revision 2)
@@ -0,0 +1,265 @@
+// Dit programma biedt de gebruiker een menustructuur om met Fibonacci rijen
+// te werken. Het dient om de oplossingen van onderdeel A van de tweede
+// opgave Datastructuren, najaar 2005, enigszins uit te proberen.
+//
+// Het is echter geen ultieme correctheidstest. Zo laat dit programma niet
+// toe dat een getal meerdere malen in de Fibonacci rij voorkomt, terwijl dat
+// in principe wel mogelijk is.
+//
+// Bij het toevoegen van getallen heeft de gebruiker de gelegenheid om deze
+// getallen random te laten generen. Zo kan hij/zij lekker snel een grote
+// Fibonacci rij creeren.
+// Tevens bevat het programma de mogelijkheid om de Fibonacci rij op het
+// scherm af te beelden. Dit is een aparte optie in de menustructuur en wordt
+// niet automatisch na iedere operatie op de Fibonacci rij uitgevoerd. De
+// reden hiervoor is dat dit in het geval van een volle Fibonacci rij zoveel
+// regels op het beeldscherm zou kosten, dat eventuele foutmeldingen van het
+// scherm af zouden schieten.
+// Overigens heeft het sowieso niet zo heel veel zin om deze afbeeldfunctie
+// voor een volle Fibonacci rij aan te roepen, omdat de breedte van een
+// venster (window) op een beeldscherm toch al gauw te klein is om alle
+// getallen en spaties te bevatten die naast elkaar afgedrukt dienen te worden.
+
+// Indien je meer toelichting nodig hebt over de opdracht of over de werking
+// van dit programma, kom dan langs bij Robert Brijder, kamer 143.
+// Ook als je fouten of inconsistenties (afgezien van de keuze voor Engels,
+// respectievelijk Nederlands) in de code of het commentaar ontdekt, houdt
+// Robert zich van harte aanbevolen.
+
+// Heb je vragen over je eigen programma, wend je dan tot Sven van Haastregt:
+// svhaastr@liacs.nl
+
+
+#include <iostream>
+#include <cstdlib>   // om random getallen te kunnen genereren
+using namespace std;
+#include "fiboqueue.h"
+#define  MaxWaarde 999
+
+int RandomRij [MaxWaarde+1],      // een rij randomgetallen
+    RandomPositie [MaxWaarde+1],  // de positie van een getal in `RandomRij'
+    RandomN;     // het aantal getallen dat nog in de randomrij staat
+FiboNode *KnoopMetWaarde [MaxWaarde+1]; // een rij met pointers naar getallen
+                                        // in de Fibonacci rij
+
+//****************************************************************************
+
+void InitRijen ()
+ // initialiseer de rij van random getallen
+ // en die van pointers naar knopen in de Fibonacci rij
+{ QValueTp Waarde;
+
+  RandomN = MaxWaarde;
+  for (Waarde=1;Waarde<=RandomN;Waarde++)
+  { RandomRij [Waarde] = Waarde;
+    RandomPositie [Waarde] = Waarde;
+  }
+
+  for (Waarde=1;Waarde<=MaxWaarde;Waarde++)
+    KnoopMetWaarde[Waarde] = NULL;
+
+}  // InitRijen
+
+//****************************************************************************
+
+void GenereerRandomGetallen (FiboQueue *q, int N)
+ // genereer `N' random getallen en voeg die toe aan de Fibonacci rij
+{ int i,
+      r, p;
+  float fr;
+  QValueTp Waarde,
+           Hulp;
+
+  for (i=1;i<=N;i++)
+  {   // bepaal een random getal p tussen 1 en RandomN
+    r = rand ();
+    fr = ((float) r)/(((float) RAND_MAX)+1.0);
+      // bij gewoon `RAND_MAX + 1' zou je over MAXINT heen kunnen lopen
+      // en aldus een negatief getal krijgen
+    fr *= RandomN;
+    p = (int) fr+1;
+
+      // we pakken nu het p-de random getal uit `RandomRij'
+    Waarde = RandomRij [p];
+    Hulp = RandomRij [RandomN];
+    RandomRij [p] = Hulp;
+    RandomPositie [Hulp] = p;
+    RandomN --;
+    KnoopMetWaarde [Waarde] = q -> Insert (Waarde);
+  }  // for
+
+}  // GenereerRandomGetallen
+
+//****************************************************************************
+
+void VoerGetallenIn (FiboQueue *q, int N)
+ // voer met de hand `N' getallen in in de Fibonacci rij
+{ int i,
+      p;
+  QValueTp Waarde,
+           Hulp;
+
+  for (i=1;i<=N;i++)
+  { cout << "Geef een waarde voor de " << i << "-e in te voeren knoop,\n";
+    cout << " minimaal 1, maximaal " << MaxWaarde << " : ";
+    cin >> Waarde;
+    if ((Waarde < 1) || (Waarde > MaxWaarde))
+      cout << "Verkeerde waarde.\n";
+    else
+      if (KnoopMetWaarde [Waarde] != NULL)
+      { cout << "Sorry, deze waarde stond al in de rij.\n";
+        cout << "Ze is dus niet nog een keer ingevoegd.\n";
+      }
+      else
+      {  // haal `Waarde' uit `RandomRij' en voeg haar toe aan de Fibonacci rij
+        p = RandomPositie [Waarde];
+        Hulp = RandomRij [RandomN];
+        RandomRij [p] = Hulp;
+        RandomPositie [Hulp] = p;
+        RandomN --;
+        KnoopMetWaarde [Waarde] = q -> Insert (Waarde);
+      }
+  }  // for
+
+}  // VoerGetallenIn
+
+//****************************************************************************
+
+void VerwerkKeuze1 (FiboQueue *q)
+ // geef de gebruiker de gelegenheid om een of meer waardes
+ // in de Fibonacci rij in te voegen (Insert)
+{ int  N;
+  char Keuze = 'j';
+
+  cout << "Hoeveel knopen wilt u invoeren, nog maximaal " << RandomN << " mogelijk : ";
+  cin >> N;
+
+  if ((N<0) || (N>RandomN))
+    cout << "Verkeerd aantal.\n";
+  else
+    if (N>=1)
+    { cout << "U kunt de waarde(s) zelf invoeren, of u kunt ze random laten genereren.\n";
+      cout << "Wilt u ze zelf invoeren,  j/n : ";
+      cin >> Keuze;
+      if ((Keuze=='n') || (Keuze=='N'))
+        GenereerRandomGetallen (q, N);
+      else
+        VoerGetallenIn (q, N);
+    }
+
+}  // VerwerkKeuze1
+
+//****************************************************************************
+
+void VerwerkKeuze2 (FiboQueue *q)
+ // verwijder het minimum uit de Fibonacci rij en laat de gebruiker weten
+ // welke waarde dit was (DeleteMin)
+{ QValueTp Waarde;
+
+  if (! q -> IsEmpty())
+  { Waarde = q -> DeleteMin ();
+    KnoopMetWaarde [Waarde] = NULL;
+     // we mogen `Waarde' een volgende keer weer invoeren ->
+     //  voeg haar toe aan `RandomRij'
+    RandomN ++;
+    RandomRij [RandomN] = Waarde;
+    RandomPositie [Waarde] = RandomN;
+    cout << "We hebben de (minimale) waarde " << Waarde <<
+            " uit de Fibonacci rij gehaald.\n";
+  }
+  else
+    cout << "De Fibonacci rij was al leeg.\n";
+
+}  // VerwerkKeuze2
+
+//****************************************************************************
+
+void VerwerkKeuze3 (FiboQueue *q)
+ // geef de gebruiker de gelegenheid om een waarde in de Fibonacci rij
+ // te verlagen (Decrease)
+{ QValueTp OudeWaarde,
+           NieuweWaarde;
+  int p;
+
+  cout << "Geef de oude waarde van de knoop die u wilt verlagen : ";
+  cin >> OudeWaarde;
+  if ((OudeWaarde <= 1) || (OudeWaarde > MaxWaarde))
+    cout << "Verkeerde waarde.\n";
+  else
+    if (KnoopMetWaarde[OudeWaarde] == NULL)
+    { cout << "Deze waarde stond nog niet in de Fibonacci rij.\n";
+      cout << "We kunnen haar dus zeker niet verlagen.\n";
+    }
+    else
+    { cout << "Geef een nieuwe waarde voor deze knoop,\n";
+      cout << " minimaal 1, maximaal " << OudeWaarde-1 << " : ";
+      cin >> NieuweWaarde;
+      if ((NieuweWaarde < 1) || (NieuweWaarde >= OudeWaarde))
+        cout << "Verkeerde waarde.\n";
+      else
+        if (KnoopMetWaarde [NieuweWaarde] != NULL)
+        { cout << "Sorry, deze waarde stond al in de rij.\n";
+          cout << "We hebben de oude waarde dus niet verlaagd.\n";
+        }
+        else
+        { q -> Decrease (KnoopMetWaarde[OudeWaarde], NieuweWaarde);
+          KnoopMetWaarde [NieuweWaarde] = KnoopMetWaarde [OudeWaarde];
+          KnoopMetWaarde [OudeWaarde] = NULL;
+           // vervang `NieuweWaarde' in `RandomRij' door `OudeWaarde'
+          p = RandomPositie [NieuweWaarde];
+          RandomRij [p] = OudeWaarde;
+          RandomPositie [OudeWaarde] = p;
+        }
+    }  // else: OudeWaarde OK
+
+}  // VerwerkKeuze3
+
+//****************************************************************************
+
+void VerwerkKeuze4 (FiboQueue *q)
+ // geef de gebruiker de gelegenheid om een waarde uit de Fibonacci rij
+ // te verwijderen (Delete)
+{
+
+  cout << "Helaas ... deze methode hoeft niet ge-implementeerd te worden\n";
+
+}  // VerwerkKeuze4
+
+//****************************************************************************
+
+int main () 
+{ int       Keuze;
+  FiboQueue *q;
+
+  InitRijen ();
+  q = new FiboQueue;
+
+  do
+  { cout << '\n';
+    cout << "0. Stop\n1. Insert\n2. DeleteMin\n3. Decrease\n4. Delete\n5. Show\n";
+    cout << "Maak een keuze : ";
+    cin >> Keuze;
+    cout << '\n';
+    switch (Keuze)
+    { case 1: VerwerkKeuze1 (q);
+              break;
+      case 2: VerwerkKeuze2 (q);
+              break;
+      case 3: VerwerkKeuze3 (q);
+              break;
+      case 4: VerwerkKeuze4 (q);
+              break;
+      case 5: q -> Show ();
+              break;
+      case 0: break;
+      default: cout << "Verkeerde invoer. Probeer het nog eens.\n";
+    }
+  } while (Keuze != 0);
+
+  delete q;           // deze instructie is expliciet nodig om
+                      // de destructor aan het werk te zetten (getest)
+
+  return 0;
+
+}
+
Index: /liacs/da/fibo_queue/test.dat
===================================================================
--- /liacs/da/fibo_queue/test.dat	(revision 2)
+++ /liacs/da/fibo_queue/test.dat	(revision 2)
@@ -0,0 +1,4 @@
+InterActief = 1
+Invoer = test1.inv
+Controleren = 0
+
Index: /liacs/da/fibo_queue/test1.con
===================================================================
--- /liacs/da/fibo_queue/test1.con	(revision 2)
+++ /liacs/da/fibo_queue/test1.con	(revision 2)
@@ -0,0 +1,802 @@
+-300
+250
+8
+1
+30
+1
+162
+-83
+131
+139
+202
+-192
+-116
+123
+-147
+5
+-37
+46
+-100
+-18
+224
+204
+50
+95
+-222
+34
+-292
+-167
+-225
+143
+-214
+-80
+-229
+-241
+250
+-180
+6
+7
+6
+2
+-292
+6
+11
+6
+7
+6
+2
+-241
+6
+5
+1
+11
+1
+-149
+-275
+247
+-256
+-219
+-257
+-146
+-53
+-26
+192
+-292
+2
+-292
+6
+4
+131
+-290
+6
+4
+-83
+-285
+6
+4
+202
+-278
+6
+4
+50
+48
+6
+4
+48
+-283
+6
+4
+-167
+-280
+6
+4
+95
+-288
+6
+4
+250
+-287
+6
+1
+2
+1
+-290
+-290
+6
+2
+-290
+6
+11
+1
+4
+1
+10
+23
+300
+12
+5
+6
+2
+5
+6
+7
+6
+2
+-290
+6
+8
+-290
+-288
+-287
+-285
+-283
+-280
+-278
+-275
+-257
+-256
+-229
+-225
+-222
+-219
+-214
+-192
+-180
+-149
+-147
+-146
+-116
+-100
+-80
+-53
+-37
+-26
+-18
+5
+10
+12
+23
+34
+46
+123
+139
+143
+162
+192
+204
+224
+247
+1
+6
+8
+11
+8
+7
+6
+2
+1
+1000
+0
+13
+3
+10
+1
+1000
+0
+13
+3
+10
+1
+1000
+0
+0
+3
+6
+10
+1
+1000
+0
+0
+3
+10
+1
+1000
+0
+0
+3
+10
+1
+1000
+0
+0
+3
+10
+1
+1000
+0
+0
+3
+10
+1
+1000
+0
+0
+3
+3
+3
+3
+3
+3
+3
+3
+3
+3
+3
+3
+3
+6
+10
+1
+1000
+0
+0
+3
+10
+1
+1000
+0
+0
+3
+10
+1
+1000
+0
+0
+3
+10
+1
+1000
+0
+0
+3
+10
+1
+1000
+0
+0
+9
+1
+10
+11
+1
+43
+1
+-2
+-156
+-43
+16
+-231
+-186
+72
+-65
+95
+-68
+-280
+246
+244
+-161
+-15
+-17
+75
+-85
+250
+124
+136
+0
+-214
+-143
+-21
+-54
+241
+106
+-91
+38
+165
+208
+182
+-128
+-26
+-300
+-14
+-205
+-65
+-169
+28
+-44
+-174
+2
+-300
+6
+2
+-280
+2
+-231
+2
+-214
+8
+-205
+-186
+-174
+-169
+-161
+-156
+-143
+-128
+-91
+-85
+-68
+-65
+-65
+-54
+-44
+-43
+-26
+-21
+-17
+-15
+-14
+-2
+0
+16
+28
+38
+72
+75
+95
+106
+124
+136
+165
+182
+208
+241
+244
+246
+250
+1
+1
+3
+1
+5
+8
+9
+2
+5
+6
+1
+3
+1
+5
+7
+10
+2
+5
+6
+1
+3
+1
+5
+11
+12
+2
+5
+6
+1
+3
+1
+5
+6
+13
+2
+5
+6
+4
+7
+5
+6
+4
+6
+4
+2
+4
+4
+8
+3
+6
+4
+10
+2
+6
+4
+5
+1
+8
+1
+2
+3
+9
+11
+12
+13
+1
+1
+2
+1
+5
+7
+6
+4
+7
+4
+6
+2
+4
+6
+8
+5
+1
+1
+5
+1
+2
+3
+3
+3
+4
+6
+2
+2
+6
+8
+3
+3
+3
+4
+1
+1
+3
+1
+2
+4
+5
+2
+2
+6
+1
+3
+1
+2
+3
+3
+6
+4
+4
+3
+6
+2
+2
+6
+8
+3
+3
+3
+5
+1
+1
+3
+1
+1
+5
+6
+2
+1
+6
+1
+3
+1
+1
+3
+4
+2
+1
+6
+4
+4
+2
+6
+4
+5
+1
+6
+8
+1
+2
+3
+6
+1
+1
+3
+1
+2
+3
+4
+2
+2
+6
+4
+4
+2
+6
+4
+2
+1
+6
+8
+1
+3
+1
+1
+3
+1
+4
+10
+13
+2
+4
+1
+3
+1
+4
+7
+11
+2
+4
+6
+1
+3
+1
+4
+8
+12
+2
+4
+1
+3
+1
+4
+6
+9
+2
+4
+6
+1
+5
+1
+4
+14
+15
+16
+17
+2
+4
+6
+1
+5
+1
+1
+2
+18
+19
+20
+2
+1
+6
+4
+14
+1
+2
+1
+4
+15
+1
+2
+1
+4
+16
+1
+2
+1
+4
+17
+1
+2
+1
+6
+4
+18
+1
+2
+1
+4
+19
+1
+2
+1
+4
+20
+1
+2
+1
+6
+4
+11
+4
+4
+8
+3
+6
+2
+2
+6
+4
+10
+2
+6
+8
+2
+3
+4
+6
+7
+9
+12
+13
+1
+10
+1
+5
+1
+1
+2
+3
+4
+5
+6
+11
+7
+6
+11
+6
+8
+10
+1
+7
+1
+1
+2
+3
+4
+5
+6
+7
+6
+2
+1
+6
+11
+7
+6
+8
+2
+3
+4
+5
+6
+7
+1
+10
+1
+5
+1
+3
+4
+5
+6
+7
+6
+2
+3
+6
+1
+3
+1
+2
+1
+2
+6
+2
+1
+6
+2
+2
+6
+8
+2
+4
+5
+6
+7
+1
+10
+1
+3
+1
+1
+2
+3
+6
+11
+7
+6
+4
+2
+-2
+6
+4
+3
+-3
+6
+4
+1
+-1
+6
+8
+-3
+-2
+-1
+1
+10
+1
+30
+1
+21
+95
+112
+-246
+-80
+-224
+-247
+-207
+213
+54
+-121
+-181
+-218
+126
+-191
+188
+-215
+147
+102
+-257
+79
+-276
+17
+79
+10
+113
+-236
+141
+-110
+20
+12
Index: /liacs/da/fibo_queue/test1.inv
===================================================================
--- /liacs/da/fibo_queue/test1.inv	(revision 2)
+++ /liacs/da/fibo_queue/test1.inv	(revision 2)
@@ -0,0 +1,625 @@
+-300
+250
+8
+1
+30
+j
+162
+-83
+131
+139
+202
+-192
+-116
+123
+-147
+5
+-37
+46
+-100
+-18
+224
+204
+50
+95
+-222
+34
+-292
+-167
+-225
+143
+-214
+-80
+-229
+-241
+250
+-180
+6
+7
+6
+2
+6
+11
+6
+7
+6
+2
+6
+5
+1
+11
+j
+-149
+-275
+247
+-256
+-219
+-257
+-146
+-53
+-26
+192
+-292
+2
+6
+4
+131
+-290
+6
+4
+-83
+-285
+6
+4
+202
+-278
+6
+4
+50
+48
+6
+4
+48
+-283
+6
+4
+-167
+-280
+6
+4
+95
+-288
+6
+4
+250
+-287
+6
+1
+2
+j
+-290
+-290
+6
+2
+6
+11
+1
+4
+j
+10
+23
+300
+12
+5
+6
+2
+6
+7
+6
+2
+6
+8
+6
+8
+11
+8
+7
+6
+2
+1
+1000
+n
+13
+3
+10
+1
+1000
+n
+13
+3
+10
+1
+1000
+n
+0
+3
+6
+10
+1
+1000
+n
+0
+3
+10
+1
+1000
+n
+0
+3
+10
+1
+1000
+n
+0
+3
+10
+1
+1000
+n
+0
+3
+10
+1
+1000
+n
+0
+3
+3
+3
+3
+3
+3
+3
+3
+3
+3
+3
+3
+3
+6
+10
+1
+1000
+n
+0
+3
+10
+1
+1000
+n
+0
+3
+10
+1
+1000
+n
+0
+3
+10
+1
+1000
+n
+0
+3
+10
+1
+1000
+n
+0
+9
+10
+11
+1
+43
+j
+-2
+-156
+-43
+16
+-231
+-186
+72
+-65
+95
+-68
+-280
+246
+244
+-161
+-15
+-17
+75
+-85
+250
+124
+136
+0
+-214
+-143
+-21
+-54
+241
+106
+-91
+38
+165
+208
+182
+-128
+-26
+-300
+-14
+-205
+-65
+-169
+28
+-44
+-174
+2
+6
+2
+2
+2
+8
+1
+3
+j
+5
+8
+9
+2
+6
+1
+3
+j
+5
+7
+10
+2
+6
+1
+3
+j
+5
+11
+12
+2
+6
+1
+3
+j
+5
+6
+13
+2
+6
+4
+7
+5
+6
+4
+6
+4
+2
+4
+8
+3
+6
+4
+10
+2
+6
+4
+5
+1
+8
+1
+2
+j
+5
+7
+6
+4
+7
+4
+6
+2
+6
+8
+1
+5
+j
+2
+3
+3
+3
+4
+6
+2
+6
+8
+1
+3
+j
+2
+4
+5
+2
+6
+1
+3
+j
+2
+3
+3
+6
+4
+4
+3
+6
+2
+6
+8
+1
+3
+j
+1
+5
+6
+2
+6
+1
+3
+j
+1
+3
+4
+2
+6
+4
+4
+2
+6
+4
+5
+1
+6
+8
+1
+3
+j
+2
+3
+4
+2
+6
+4
+4
+2
+6
+4
+2
+1
+6
+8
+1
+3
+j
+4
+10
+13
+2
+1
+3
+j
+4
+7
+11
+2
+6
+1
+3
+j
+4
+8
+12
+2
+1
+3
+j
+4
+6
+9
+2
+6
+1
+5
+j
+4
+14
+15
+16
+17
+2
+6
+1
+5
+j
+1
+2
+18
+19
+20
+2
+6
+4
+14
+1
+2
+4
+15
+1
+2
+4
+16
+1
+2
+4
+17
+1
+2
+6
+4
+18
+1
+2
+4
+19
+1
+2
+4
+20
+1
+2
+6
+4
+11
+4
+4
+8
+3
+6
+2
+6
+4
+10
+2
+6
+8
+10
+1
+5
+j
+1
+2
+3
+4
+5
+6
+11
+7
+6
+11
+6
+8
+10
+1
+7
+j
+1
+2
+3
+4
+5
+6
+7
+6
+2
+6
+11
+7
+6
+8
+10
+1
+5
+j
+3
+4
+5
+6
+7
+6
+2
+6
+1
+3
+j
+2
+1
+2
+6
+2
+6
+2
+6
+8
+10
+1
+3
+j
+1
+2
+3
+6
+11
+7
+6
+4
+2
+-2
+6
+4
+3
+-3
+6
+4
+1
+-1
+6
+8
+10
+1
+30
+j
+21
+95
+112
+-246
+-80
+-224
+-247
+-207
+213
+54
+-121
+-181
+-218
+126
+-191
+188
+-215
+147
+102
+-257
+79
+-276
+17
+79
+10
+113
+-236
+141
+-110
+20
+12
Index: /liacs/da/fibo_queue/test2.cc
===================================================================
--- /liacs/da/fibo_queue/test2.cc	(revision 2)
+++ /liacs/da/fibo_queue/test2.cc	(revision 2)
@@ -0,0 +1,104 @@
+#include<iostream>
+#include<cstdlib>
+#include<string>
+#include<iomanip>
+#include<fstream>
+using namespace std;
+#include "fiboqueue.h"
+#include "storelist.h"
+#include "standaard.h"
+#include "leestekst.h"
+#include "communiceer.h"
+#define sv1 999
+#define sv7 100000
+#define sv57 12
+ifstream sv42;ofstream sv41;ofstream sv412;char sv58[sv57+1][30]=
+{"","Insert","DeleteMin","DeleteMin (2)","Decrease",
+"Delete","Show","Merge","Empty","Empty (2)","Reset","Switch","Stop"};bool sv14,
+sv16;int sv8,sv9,sv6,sv15;scl2*sv17,*sv18,*sv20,*sv19;FiboQueue*q1,*q2,*q,*sv21;
+#define sv59 43
+void sf3(char sv22[30],char sv24[30],char sv25[30]){int sv30;
+sv30=strcspn(sv22,".");strncpy(sv24,sv22,sv30);sv24[sv30]=EOS;
+strcat(sv24,".uit");strncpy(sv25,sv22,sv30);sv25[sv30]=EOS;strcat(sv25,".con");
+}/*sf3*/void sf4(int&Min,int&sv10){
+cout<<"U kunt een minimale en een maximale waarde aangeven\n";
+cout<<" voor de getallen in de Fibonacci rij.\n";Min=sf21(sv14,sv42,sv41,sv412,
+"Geef een minimale waarde",' ',-sv1,sv1,"    ActMin");
+sv10=sf21(sv14,sv42,sv41,sv412,"Geef een maximale waarde",' ',
+Min,sv1,"    ActMax");}void sf5(){sv6=sv7;sv15=1;sv17=new scl2(sv8,sv9);
+sv18=new scl2(sv8,sv9);sv20=sv17;sv19=sv18;q1=new FiboQueue;q2=new FiboQueue;
+q=q1;sv21=q2;}void sf6(){delete q1;delete q2;delete sv17;delete sv18;}
+void sf7(FiboQueue*q,int N){int sv31,i,r,p,sv32;float fr;QValueTp sv5;
+cout<<"Geef een positieve gehele waarde voor de random seed\n";
+cout<<" (<= 0 betekent: geen nieuwe seed) : ";if(sv14)cin>>sv31;else{sv42>>sv31;
+sf22(sv42);cout<<sv31<<EOL;sf23(sv41,sv31,"","");}if(sv31>0)srand(sv31);
+if(N<=sv59){cout<<EOL;
+cout<<"We voeren achtereenvolgens in de Fibonacci rij in:\n";}sv32=sv9-sv8+1;
+for(i=1;i<=N;i++){r=rand();fr=((float)r)/(((float)RAND_MAX)+1.0);fr*=sv32;
+p=(int)fr;sv5=p+sv8;sv20->sf24(sv5,q->Insert(sv5));sv6--;if(N<=sv59)
+{cout<<sv5<<EOL;if(!sv14){sf23(sv41,sv5,"","");}}}}void sf8(FiboQueue*q,int N)
+{int i;QValueTp sv5;char sv60[60];for(i=1;i<=N;i++)
+{strcpy(sv60,"Geef een waarde voor de ");strcat(sv60,ItoA(i));
+strcat(sv60,"-e in te voeren knoop");sv5=sf21(sv14,sv42,sv41,sv412,
+sv60,' ',sv8,sv9,"");sv20->sf24(sv5,q->Insert(sv5));sv6--;}}
+void sf9(FiboQueue*q){int N;bool sv114;char sv61='j';
+cout<<"Hoeveel knopen wilt u invoeren, nog maximaal "<<sv6<<" mogelijk : ";
+if(sv14)cin>>N;else{sv42>>N;sf22(sv42);cout<<N<<EOL;sf23(sv41,N,"","");}
+if((N<0)||(N>sv6))cout<<"Verkeerd aantal.\n";else if(N>=1)
+{cout<<"U kunt de waarde(s) zelf invoeren, of u kunt ze random laten genereren.\n";
+sv114=(N<=sv59);sv61=sf30(sv14,sv42,sv41,sv412,sv114,"Wilt u ze zelf invoeren");
+if(sv61=='N')sf7(q,N);else sf8(q,N);}}void sf10(FiboQueue*q,bool sv62)
+{QValueTp sv5;FiboNode*sv11;if(!q->IsEmpty()){sv11=q->Min;sv5=q->Minimum();
+sv20->sf18(sv5,sv11);sv5=q->DeleteMin();sv6++;
+cout<<"We hebben de (minimale) waarde "<<sv5<<
+" uit de Fibonacci rij gehaald.\n";if((!sv14)&&sv62)sf23(sv41,sv5,"","");}else
+cout<<"De Fibonacci rij was al leeg.\n";}void sf12(FiboQueue*q){QValueTp sv3,
+sv4;FiboNode*sv12;
+cout<<"Geef de oude waarde van de knoop die u wilt verlagen : ";if(sv14)
+cin>>sv3;else{sv42>>sv3;sf22(sv42);cout<<sv3<<EOL;sf23(sv41,sv3,"","");}
+if((sv3<=sv8)||(sv3>sv9))cout<<"Verkeerde waarde.\n";else if(!sv20->sf17(sv3))
+{cout<<"Deze waarde stond nog niet in de Fibonacci rij.\n";
+cout<<"We kunnen haar dus zeker niet verlagen.\n";}else
+{cout<<"Geef een nieuwe waarde voor deze knoop,\n";
+cout<<" minimaal "<<sv8<<", maximaal "<<sv3-1<<" : ";if(sv14)cin>>sv4;else
+{sv42>>sv4;sf22(sv42);cout<<sv4<<EOL;sf23(sv41,sv4,"","");}
+if((sv4<sv8)||(sv4>=sv3))cout<<"Verkeerde waarde.\n";else{sv12=sv20->sf18(sv3);
+q->Decrease(sv12,sv4);sv20->sf24(sv4,sv12);}}}void sf25(FiboQueue*q){
+cout<<"Helaas ... deze methode hoeft niet ge-implementeerd te worden\n";}
+void sf26(FiboQueue*q,bool sv62){QValueTp sv5,sv63;FiboNode*sv11;bool sv64,sv65;
+if(!q->IsEmpty()){cout<<"We proberen `Decrease' te gebruiken om het minimum\n";
+cout<<" van de Fibonacci rij op te hogen\n";sv11=q->Min;sv5=q->Minimum();
+q->Decrease(sv11,sv5+1);if((q->Minimum()!=sv5)||(q->Min!=sv11))
+{sv20->sf18(sv5,sv11);sv20->sf24(sv5+1,sv11);}}sv64=q->IsEmpty();sv63=sv8;
+sv65=true;cout<<
+"We maken de lijst leeg en komen daarbij de volgende waardes tegen:\n";
+while(!q->IsEmpty()){sv11=q->Min;sv5=q->Minimum();sv20->sf18(sv5,sv11);
+sv5=q->DeleteMin();sv6++;cout<<sv5<<EOL;if((!sv14)&&sv62)sf23(sv41,sv5,"","");
+if(sv5>=sv63)sv63=sv5;else sv65=false;}if(!sv64){cout<<EOL;if(sv65)
+cout<<"We kregen inderdaad steeds het minimum.\n";else
+cout<<"We kregen niet steeds het minimum.\n";if(!sv14)
+sf23(sv41,BtoI(sv65),"","");}
+cout<<"We proberen nog een element uit de lege Fibonacci rij te halen\n";
+sv11=q->Min;sv5=q->Minimum();sv20->sf18(sv5,sv11);sv5=q->DeleteMin();
+cout<<"Daarbij treffen we aan : "<<sv5<<EOL;}void sf91(){if(sv15==1){sv15=2;
+q=q2;sv21=q1;sv20=sv18;sv19=sv17;}else{sv15=1;q=q1;sv21=q2;sv20=sv17;sv19=sv18;}
+}int main(){ifstream sv40;int sv116,sv115,i,sv33;char sv22[30],sv24[30],
+sv25[30];bool sv65;cout.setf(ios::unitbuf);sv40.open("test.dat",ios::in);
+if(sv40){sf2(sv40,"InterActief = ");sv40>>sv116;sv14=bool(sv116);}else
+{cout<<"We konden `test.dat' niet openen\n";cout<<EOL;sv14=true;}if(!sv14)
+{sf2(sv40,"Invoer = ");sv40>>sv22;sf2(sv40,"Controleren = ");sv40>>sv115;
+sv16=bool(sv115);}else sv16=false;if(sv40)sv40.close();if(!sv14)
+{sf3(sv22,sv24,sv25);sv42.open(sv22,ios::in);if(sv42){sv41.open(sv24,ios::out);}
+else{cout<<"We konden "<<sv22<<" niet openen\n";cout<<EOL;sv14=true;sv16=false;}
+}sf4(sv8,sv9);sf5();do{cout<<EOL;cout<<"Fibonacci rij "<<sv15<<" is actief\n";
+for(i=1;i<=sv57;i++){cout<<setw(2)<<i;cout<<". "<<sv58[i]<<EOL;}
+cout<<"Maak een keuze : ";if(sv14)cin>>sv33;else{sv42>>sv33;sf22(sv42);
+cout<<sv33<<EOL;if((sv33>=1)&&(sv33<=sv57)){sf23(sv41,sv33,"","");}else
+{sf23(sv41,sv33,"","");}}cout<<EOL;switch(sv33){case 1:sf9(q);break;
+case 2:sf10(q,true);break;case 3:sf10(q,false);break;case 4:sf12(q);break;
+case 5:sf25(q);break;case 6:q->Show();break;case 7:q->Merge(sv21);
+sv20->Merge(sv19);break;case 8:sf26(q,true);break;case 9:sf26(q,false);break;
+case 10:sf6();sf5();break;case 11:sf91();break;case 12:break;
+default:cout<<"Verkeerde invoer. Probeer het nog eens.\n";}}while(sv33!=12);
+sf6();if(!sv14){sv41.close();sv42.close();}if(sv16){sv65=sf27(sv24,sv25);
+if(sv65)cout<<"GELIJK\n";else cout<<"NIET GELIJK\n";}return 0;}
Index: /liacs/da/opdr1/Makefile
===================================================================
--- /liacs/da/opdr1/Makefile	(revision 2)
+++ /liacs/da/opdr1/Makefile	(revision 2)
@@ -0,0 +1,17 @@
+CC = g++
+
+CompileParms = -c -Wall -Wno-deprecated
+
+OBJS = test.o list.o queue.o
+
+Opdr: $(OBJS)
+	$(CC) -o Test $(OBJS)
+
+test1.o: test0.cc queue.h
+	$(CC) $(CompileParms)  test.cc
+
+queue.o: queue.cc queue.h
+	$(CC) $(CompileParms)  queue.cc
+
+clean:
+	rm -f test.o queue.o Test
Index: /liacs/da/opdr1/README
===================================================================
--- /liacs/da/opdr1/README	(revision 2)
+++ /liacs/da/opdr1/README	(revision 2)
@@ -0,0 +1,10 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: README.txt 211 2007-09-03 17:07:26Z rick $
+ * Copyright : FreeBSD Licence
+ */
+
+* I have chose for a solution to generalize the Queue a bit more. This are all protected functions of Queue
+* All for types of queues are implemented by calling one function, which is set in the header file. 
+
+* I left the implementations/calls in the header file to make it all a bit more readable
Index: /liacs/da/opdr1/list.h
===================================================================
--- /liacs/da/opdr1/list.h	(revision 2)
+++ /liacs/da/opdr1/list.h	(revision 2)
@@ -0,0 +1,33 @@
+#ifndef ListH
+#define ListH
+
+struct dlink {
+  dlink *next;
+  dlink *prev;
+  int info;
+  dlink(int i) {next = prev = 0; info = i;}
+};
+
+class List {
+public:
+  List();	// Constructor
+  ~List();	// Destructor
+  int Get();
+  void Change(int item);
+  void Insert(int item);
+  void Append(int item);
+  void Delete();
+  bool IsEmpty();
+  bool IsBegin();
+  bool IsEnd();
+  void GoToBegin();
+  void GoToEnd();
+  void GoToPrevious();
+  void GoToNext();
+private:
+  dlink *head;
+  dlink *tail;
+  dlink *curr;
+};
+
+#endif
Index: /liacs/da/opdr1/queue.cc
===================================================================
--- /liacs/da/opdr1/queue.cc	(revision 2)
+++ /liacs/da/opdr1/queue.cc	(revision 2)
@@ -0,0 +1,119 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: queue.cc 234 2007-09-17 18:56:11Z rick $
+ * Copyright : FreeBSD Licence
+ */
+
+
+#include "queue.h"
+
+/*
+ * Class Queue general functions
+ */
+
+bool Queue::IsEmpty (void)
+{
+    return( lijst->IsEmpty() );
+}
+
+Queue::Queue (void)
+{
+    lijst = new List;
+}
+
+Queue::~Queue (void)
+{
+    delete lijst;
+}
+
+/* Insert value to array while keeps the array sorted by size
+ * from Small to Big
+ * XXX: Not very effient on large lists
+ */
+void Queue::SortBySize (const int item)
+{
+    //if list empty no magic needs to be done
+    if ( lijst->IsEmpty() ) {
+        lijst->Insert(item);
+        return;
+    }
+
+    //Start looping trough the list
+    lijst->GoToBegin();
+    while ( not lijst->IsEnd() )
+    {
+        if ( lijst->Get() > item )
+        {
+            //smaller, add before
+            lijst->Insert(item);
+            return;
+        }
+        lijst->GoToNext();
+    }
+
+    //hitting this stage is the number depends on the last number
+    if ( lijst->Get() > item )
+    {
+        //smaller
+        lijst->Insert(item);
+    }
+    else {
+        //bigger
+        lijst->Append(item);
+    }
+}
+
+/* Get last value from array and remove it
+ * Return 0 if none exists
+ */
+int Queue::Pop (void)
+{
+    int tmpvalue;
+    lijst->GoToEnd();
+    tmpvalue = lijst->Get();
+    lijst->Delete();
+    return(tmpvalue);
+}
+
+/* Get first value from array and remove it
+ * Return 0 if none exists
+ */
+int Queue::Shift (void)
+{
+    int tmpvalue;
+    lijst->GoToBegin();
+    tmpvalue = lijst->Get();
+    lijst->Delete();
+    return(tmpvalue);
+}
+
+/* Prepent the value to the front of the list */
+void Queue::Unshift (const int item)
+{
+    lijst->GoToBegin();
+    lijst->Insert(item);
+}
+/* Append the value to the end of the list */
+void Queue::Push (const int item)
+{
+    lijst->GoToEnd();
+    lijst->Append(item);
+}
+
+
+
+/*
+ * Class Lifo functions
+ */
+
+
+
+/*
+ * Class MinQ functions
+ */
+
+
+
+/*
+ * Class MaxQ functions
+ */
Index: /liacs/da/opdr1/queue.h
===================================================================
--- /liacs/da/opdr1/queue.h	(revision 2)
+++ /liacs/da/opdr1/queue.h	(revision 2)
@@ -0,0 +1,85 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: queue.h 211 2007-09-03 17:07:26Z rick $
+ * Copyright : FreeBSD Licence
+ */
+
+#include "list.h"
+
+/*
+ * Class Queue general declarations
+ */
+class Queue {
+    public:
+        Queue ();
+        virtual ~Queue (void);
+        bool IsEmpty (void);
+        /* pure virtual decleration see: http://tinyurl.com/2apd5n
+         * http://en.wikipedia.org/wiki/Virtual_function# \
+         * Abstract_classes_and_pure_virtual_functions
+         */
+        virtual void Insert (const int item) = 0;
+        virtual int Get (void) = 0;
+
+    protected:
+        int Pop ();
+        int Shift ();
+        void Push (const int item);
+        void SortBySize (const int item);
+        void Unshift (const int item);
+        List * lijst;
+};
+
+ 
+ /*
+  * Class Fifo declarations
+  */
+ class Fifo: public Queue {
+     public:
+         // Push item to the end to the list
+         void Insert (const int item) { Queue::Push (item); };
+         //Remove the Item longest in the queue, return 0 when list empty
+         int Get (void) { return( Queue::Shift() ) ; };
+ };
+ 
+ 
+ 
+ /*
+  * Class Lifo declarations
+  */
+ class Lifo: public Queue {
+     public:
+         // Push item to the end to the list
+         void Insert (const int item) { Queue::Push (item); };
+         //Remove the Item which came the last in the queue, return 0
+         //when list is empty
+         int Get (void) { return( Queue::Pop() ); };
+ };
+ 
+ 
+
+/*
+ * Class MinQ declarations
+ */
+class MinQ: public Queue {
+    public:
+        // Push item to the sorted list
+        void Insert (const int item) { Queue::SortBySize (item); };
+        //Remove the smallest item in the queue, return 0
+        //when list is empty
+        int Get (void) { return( Queue::Shift() ); };
+};
+
+
+
+/*
+ * Class MaxQ declarations
+ */
+class MaxQ: public Queue {
+    public:
+        // Push item to the sorted list
+        void Insert (const int item) { Queue::SortBySize (item); };
+        //Remove the biggest item in the queue, return 0
+        //when list is empty
+        int Get (void) { return( Queue::Pop() ); };
+};
Index: /liacs/da/opdr1/test.cc
===================================================================
--- /liacs/da/opdr1/test.cc	(revision 2)
+++ /liacs/da/opdr1/test.cc	(revision 2)
@@ -0,0 +1,63 @@
+// Testprogramma voor de studenten voor de eerste opdracht van het college
+// Datastructuren: implementeer een algemene klasse Queue en verschillende
+// afgeleide klassen Fifo, Lifo, MinQ, MaxQ. Gebruik hierbij virtuele
+// methodes en maak gebruik van het abstracte datatype List.
+//                 Rudy                              2 september 2002
+
+#include "test.h"
+using namespace std;
+
+//***************************************************************************
+
+void InputOutput (Queue *q)
+{ int Item;
+
+  cout << "Voer positieve getallen in (negatief of nul is stoppen)\n";
+  do
+  { cin >> Item;
+    if (Item > 0)
+      q->Insert(Item);
+  } while (Item > 0);
+
+  cout << "In de queue staan nu de volgende getallen (in volgorde)\n";
+  while (!q->IsEmpty())
+    cout << q->Get() << "\n";
+
+} // InputOutput
+
+//***************************************************************************
+
+int main () 
+{ int Keuze;
+  Queue *q;
+
+    do
+    { cout << "0. Stop\n1. FifoQueue\n2. LifoQueue\n3. MinQueue\n4. MaxQueue\n";
+      cout << "Maak een keuze: ";
+      cin >> Keuze;
+      switch (Keuze)
+      { case 1: q = new Fifo;
+                InputOutput(q);
+                delete q;
+                break;
+        case 2: q = new Lifo;
+                InputOutput(q);
+                delete q;
+                break;
+        case 3: q = new MinQ;
+                InputOutput(q);
+                delete q;
+                break;
+        case 4: q = new MaxQ;
+                InputOutput(q);
+                delete q;
+                break;
+        case 0: break;
+        default: cout << "Verkeerde invoer. Probeer nog eens.\n";
+      }  // switch
+    } while (Keuze != 0);
+
+    return 0;
+
+}
+
Index: /liacs/da/opdr1/test.h
===================================================================
--- /liacs/da/opdr1/test.h	(revision 2)
+++ /liacs/da/opdr1/test.h	(revision 2)
@@ -0,0 +1,11 @@
+// naam van ifndef-variabele vervangen door TestVar
+
+#ifndef TestVar
+
+#define TestVar
+
+#include <iostream>
+#include "queue.h"
+
+#endif
+
Index: /liacs/da/opdr2a/HOWTO.txt
===================================================================
--- /liacs/da/opdr2a/HOWTO.txt	(revision 2)
+++ /liacs/da/opdr2a/HOWTO.txt	(revision 2)
@@ -0,0 +1,52 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: HOWTO.txt 322 2007-11-22 14:09:00Z rick $
+ * Copyright : FreeBSD Licence
+ */
+
+Implemented trie, look at http://en.wikipedia.org/wiki/Trie to have a
+decent explanation
+
+* Every TreeNode has got the Value attached, this could also be a
+  seperate class with a pointer to store some space
+* ExistsChild is implemented to store the value of the node (if found
+  any) to NodeFound to prevent extra work
+* GoChild is implemented to have some checking wether a node exists,
+  cause I had to follow to the path anyway when checking if 
+  ExistsChild
+* We use bitwise shifting 1<<n instead of using 2^n,
+  to speed up things a bit
+
+
+Some improvement suggestions on the checking interface:
+* A less verbose (more readable output would be handy when using the
+  automatic mode
+* Option to pause (eg wait for any key to continue), to make debugging
+  much more easy
+* Option to display tree and not put data in the .out, combined with the
+  one above will do pretty handy in case of debugging
+* Verbose inv check (also see inv2human.pl)
+
+Files:
+HOWTO.txt    -  Explain how to run and why certain choices where made
+Makefile     -  Enhanced makefile with some included checks
+README.txt   -  Assignment documentation
+gdb.run      -  File use to make automatic debugger call possible
+general.h    -  provided C++ source file
+inv2human.pl -  Small hack to make the .inv files humon readable for
+                debugging
+leestekst.cc -  provided C++ source file
+leestekst.h  -  provided C++ source file
+showlist.cc  -  provided C++ source file
+showlist.h   -  provided C++ source file
+test.dat     -  test program control file
+test1.con    -  provided test1 control file
+test1.inv    -  provided test1 input file
+test2.con    -  provided test2 control file
+test2.inv    -  provided test2 input file
+test9.inv    -  created test9 input file
+testtrie.cc  -  provided C++ source file
+trie.cc      -  Trie implementation source file
+trie.h       -  Trie implementation header file
+trie07.ps    - Assignment PostScript file
+
Index: /liacs/da/opdr2a/Makefile
===================================================================
--- /liacs/da/opdr2a/Makefile	(revision 2)
+++ /liacs/da/opdr2a/Makefile	(revision 2)
@@ -0,0 +1,68 @@
+CC = g++
+
+CompileParms = -c -Wall -Wno-deprecated -g
+
+OBJS = showlist.o leestekst.o testtrie.o
+BINARY = opdracht2a
+
+$(BINARY): $(OBJS)
+	$(CC) $(OBJS) -o  $(BINARY)
+
+showlist.o: showlist.h showlist.cc
+	$(CC) $(CompileParms)  showlist.cc
+
+leestekst.o: leestekst.h leestekst.cc
+	$(CC) $(CompileParms)  leestekst.cc
+
+testtrie.o: general.h trie.h trie.cc showlist.h leestekst.h testtrie.cc
+	$(CC) $(CompileParms)  testtrie.cc
+
+clean:
+	rm -f *.o $(BINARY)
+
+distclean: clean
+	rm -f *.uit
+
+debug: $(BINARY)
+	@sed 's/InterActief = 1/InterActief = 0/g' test.dat >test.dat.tmp
+	@mv test.dat.tmp test.dat
+	gdb -batch -x gdb.run ./$(BINARY)
+
+auto: $(BINARY)
+	@sed 's/InterActief = 1/InterActief = 0/g' test.dat >test.dat.tmp
+	@mv test.dat.tmp test.dat
+	sh -c "./$(BINARY) | grep -v '^ [2-8]' |\
+	sed 's/1. AtLeaf 9.  PutInfo/--------------------/g'  | cat -v"
+
+run: $(BINARY)
+	@sed 's/InterActief = 0/InterActief = 1/g' test.dat >test.dat.tmp
+	@mv test.dat.tmp test.dat
+	./$(BINARY)
+
+test1: $(BINARY)
+	@echo "InterActief = 0" > test.dat
+	@echo "Invoer = test1.inv" >> test.dat
+	@echo "Controleren = 1" >> test.dat
+	@./$(BINARY) | tail -1 | grep -q "^GELIJK"
+
+test2: $(BINARY)
+	@echo "InterActief = 0" > test.dat
+	@echo "Invoer = test2.inv" >> test.dat
+	@echo "Controleren = 1" >> test.dat
+	@./$(BINARY) | tail -1 | grep -q "^GELIJK"
+
+test8: $(BINARY)
+	@echo "InterActief = 0" > test.dat
+	@echo "Invoer = test8.inv" >> test.dat
+	@echo "Controleren = 1" >> test.dat
+	@./$(BINARY) | tail -1 | grep -q "^GELIJK"
+
+test9: $(BINARY)
+	@echo "InterActief = 0" > test.dat
+	@echo "Invoer = test9.inv" >> test.dat
+	@echo "Controleren = 1" >> test.dat
+	@./$(BINARY) | tail -1 | grep -q "^GELIJK"
+
+test: $(BINARY)
+	make test1
+	make test2
Index: /liacs/da/opdr2a/README
===================================================================
--- /liacs/da/opdr2a/README	(revision 2)
+++ /liacs/da/opdr2a/README	(revision 2)
@@ -0,0 +1,216 @@
+
+Beste allemaal,
+
+Bij de tweede programmeeropdracht Datastructuren, najaar 2007 (Implementatie
+en toepassing van de Trie) hebben jullie al een hele beschrijving op papier
+gekregen, de officiele opdrachtspecificatie.
+Voor onderdeel 2A van de opdracht moet je bestanden `trie.cc' en `trie.h'
+maken die de Trie implementeren. Om te kunnen testen of die een beetje doen
+wat je mag verwachten, is er een aantal testbestanden beschikbaar. De werking
+daarvan zullen we hier uitleggen.
+Aan het eind maken we ook nog een paar kleine opmerkingen over onderdeel 2B.
+
+We beseffen dat het een heel verhaal is, net als de opdrachtspecificatie zelf,
+maar het is toch verstandig om het door te lezen. Je kunt er meer tijd mee
+uitsparen dan dat het lezen je kost.
+
+********************************************************************************
+
+* Er zijn 12 testbestanden voor onderdeel 2A:
+    general0.h    -> hernoemen tot general.h
+    showlist0.h   -> hernoemen tot showlist.h
+    showlist0.cc  -> hernoemen tot showlist.cc
+    leestekst0.h  -> hernoemen tot leestekst.h
+    leestekst0.cc -> hernoemen tot leestekst.cc
+    testtrie0.cc  -> hernoemen tot testtrie.cc
+    Makefile0     -> hernoemen tot Makefile
+    test0.dat     -> hernoemen tot test.dat
+    test1.inv
+    test1.con
+    test2.inv
+    test2.con
+  De reden dat we 0-versies in het pakketje hebben gestopt, die jullie dan
+  weer moeten hernoemen, is om ongewenste overschrijvingen te voorkomen bij
+  het uitpakken van het pakketje. Je weet bijvoorbeeld maar nooit of jullie
+  zelf ook al een bestand `testtrie.cc' hebben geschreven.
+
+* Het belangrijkste bestand is `testtrie.cc'
+  Dit programma biedt de gebruiker een menu aan waarin de verschillende
+  methodes van de Trie aangeroepen kunnen worden. In het testprogramma is
+  gekozen voor integers als informatieveld.
+
+* Bij de methode GotoNode is het handig om te weten dat dan naar de knoop
+  gegaan wordt die de laatste keer met GetNode verkregen is, tenzij deze
+  knoop inmiddels met RemoveChild verwijderd is.
+
+* Naast het aanroepen van de standaard methodes zijn er nog drie andere
+  opties in het menu: `Show', `Show (2)' en `Opnieuw beginnen'. Deze laatste
+  optie houdt in dat je opnieuw begint met een lege Trie. De andere twee
+  opties zullen we wat uitgebreider toelichten.
+
+* Allereerst: in principe doen `Show' en `Show (2)' exact hetzelfde.
+  Alleen bij de automatische Test (zie daarover verderop) zijn ze een
+  beetje verschillend, maar daar hoeven jullie niet over in te zitten.
+
+* Tijdens het testen van het programma is het prettig als je de Trie die
+  je in de loop van de tijd hebt opgebouwd, kunt afbeelden op het scherm.
+  Daarvoor is de optie `Show' aanwezig.
+  De optie maakt gebruik van een datastructuur die in `showlist.cc' en
+  `showlist.h' is ge-implementeerd.
+  Om de werking van de optie `Show' te demonstreren, bekijk de volgende
+  uitvoer van de methode:
+   0,
+   0,a               1,b   2,c   3,d
+   6,a   4,b         5,a   8*a
+         9,a   7,c
+        10,a
+  Op het eerste niveau staat de wortel. Op het volgende niveau staan de
+  kinderen van de wortel. In het voorbeeld zijn dit er vier. Bij deze
+  kinderen stelt het getal voor de komma de waarde van het infoveld voor,
+  het karakter na de komma geeft de tak aan via welke de knoop bereikt kan
+  worden, de vader-tak zogezegd.
+  Het eerste kind van de wortel heeft dus een infoveld 0 en kan vanuit
+  de wortel bereikt worden via de tak `a', het tweede kind heeft een
+  infoveld 1 en kan vanuit de wortel bereikt worden via de tak `b',
+  enzovoort.
+
+  De kinderen van een knoop x0 staan een niveau lager dan x0 zelf.
+  Het eerste kind staat onmiddellijk onder x0; het tweede kind staat daar
+  rechts van, het derde kind daar weer rechts van, enz. totdat je voorbij
+  de broer van x0 loopt. De kinderen van `0,a' zijn dus `6,a' en `4,b'.
+  Ofwel van de knoop `0,a' gaan uit: een tak `a' die eindigt in een knoop
+  met infoveld 6 en tak `b' die eindigt in een knoop met infoveld 4.
+  De knoop `6,a' heeft zelf geen kinderen, maar knoop `4,b' heeft weer
+  twee kinderen: `9,a' en `7,c'. 
+
+  Om het allemaal van de andere kant te bekijken: `10,a' is een kind van
+  `9,a', `9,a' is een kind van `4,b', `4,b' is een kind van `0,a' en 
+  `0,a' is ten slotte een kind van de wortel van de Trie.
+
+  Omdat de wortel geen vader-tak heeft, zul je daar na de komma nooit een
+  karakter zien staan (d.w.z.: er staat een spatie).
+
+  Bij een (1) knoop in de Trie worden infoveld en karakter niet door een
+  komma gescheiden, maar door een sterretje `*'. Dit betekent dat deze knoop
+  de huidige knoop is, d.w.z.: hier bevindt zich het venster van de Trie.
+
+  Niet geheel toevallig komt het gegeven voorbeeld overeen met de Trie in
+  Figuur 1 van de opdrachtspecificatie. Alleen de wortel, die in de
+  specificatie geen infoveld heeft, heeft hier een infoveld 0.
+
+  Uiteraard is deze vorm van presenteren slechts overzichtelijk bij een
+  beperkt aantal knopen. Als je te veel knopen hebt, kan een niveau meerdere
+  regels beslaan en is het niet meer eenvoudig na te gaan hoe de vader-kind
+  relaties lopen.
+
+  N.B.: de optie `Show' maakt gebruik van een heleboel methodes van de Trie.
+  Het is dus mogelijk dat ze pas werkt als je voor al die methodes een
+  fatsoenlijke implementatie hebt.
+
+* `testtrie.cc' maakt gebruik van enkele algemene constantes in `general.h'.
+  Desgewenst kun je deze constantes ook in je eigen implementatie van de
+  Trie gebruiken.
+
+* Om `testtrie.cc' te compileren is er `Makefile'. Het compileren begint
+  met het commando `make'. Vervolgens kun je het testprogramma aanroepen met
+  `Test'
+
+* De default is dat je je Trie interactief test. Dat kun je zien in het
+  bestand `test.dat', waarin de variabele `InterActief' op 1 staat.
+  Het is aan te raden om eerst op deze wijze een tijdje met het
+  testprogramma te spelen en de verschillende opties uit te proberen.
+
+* Als je het na een tijdje zat bent om steeds maar weer zelf menukeuzes
+  en karakters in te typen, kun je `InterActief' op 0 zetten. Daarmee kies
+  je voor een automatische Test.
+  Bij de automatische Test wordt de invoer uit een bestand gelezen, in het
+  bijzonder uit het bestand dat op de volgende regel staat (in principe is
+  dat `test1.inv'). Verder wordt de uitvoer behalve naar het scherm ook voor
+  een deel naar een bestand (`test1.uit') geschreven.
+  Met behulp van `test1.inv' wordt de Trie uit ons voorbeeld, die uit
+  Figuur 1 van de opdrachtspecificatie dus, opgebouwd en afgebeeld.
+
+* Als dan de parameter `Controleren=0', gebeurt er niets met het
+  uitvoerbestand `test1.uit'.
+
+* Met `Controleren=1' wordt echter gekeken of het uitvoerbestand gelijk is
+  aan het controlebestand `test1.con'. Zo ja, dan wordt er `GELIJK' op
+  het scherm afgedrukt. Zo nee, dan wordt aangegeven waar het verschil zit.
+
+* Om de implementatie van de Trie nog wat serieuzer te testen, is er ten
+  slotte nog een tweede testinstantie meegegeven, bestaande uit `test2.inv'
+  en `test2.con'. Als je in `test.dat' de naam van het invoerbestand even
+  aanpast, kun je het testprogramma voor deze instantie draaien.
+  Ook dit is echter geen ultieme test. Het kan best zijn je ook bij
+  `test2.inv' GELIJK krijgt, terwijl de corrector nog fouten in je code
+  ontdekt. Er kunnen bijvoorbeeld instanties zijn waar jullie implementatie
+  de mist mee ingaat, en waar we van tevoren niet aan gedacht hebben.
+
+* We raden je aan om niet te snel tot de automatische Test over te gaan.
+  Zorg er eerst voor dat je weet wat alle opties in het menu doen.
+  Zorg er vervolgens voor dat je begrijpt wat er zoal in `test1.uit'
+  geschreven wordt.
+  Als je zover bent, is het gemakkelijker om eventuele foutmeldingen te
+  begrijpen.
+
+* Overigens: de code van een aantal bestanden is een beetje versleuteld,
+  omdat het eigenlijk niet de bedoeling is dat jullie daarin gaan kijken.
+  Ze zijn puur bedoeld om te gebruiken.
+
+* In principe zou het testprogramma (en ook de automatische Test) op ieder
+  platform moet werken, dus bijvoorbeeld ook met Visual C++.
+
+********************************************************************************
+
+Om dubbele include-s te voorkomen is het in het algemeen aan te raden om je
+code in `trie.h' en `trie.cc' te omgeven met een `ifndef'-constructie, dus
+iets in de trant van:
+  #ifndef TrieHVar
+  #define TrieHVar
+
+    ... code ...
+
+  #endif
+  
+********************************************************************************
+
+Het heeft geen zin om een implementatie van de Trie in te leveren die niet
+door de automatische Test komt. Die krijg je linea recta terug. Vooralsnog
+gaan we er namelijk vanuit dat er geen fouten in de automatische Test zitten.
+Denk je dat er toch fouten in de testprogramma's of de testinstanties zitten,
+dan kun je dit aankaarten bij Robert Brijder.
+
+Wanneer je denkt dat je implementatie van de Trie goed is, kun je haar
+electronisch inleveren bij de corrector, Ruben van Bodegom. In de opdracht-
+specificatie staat aangegeven hoe je dat precies moet / kunt doen.
+
+********************************************************************************
+
+Het is de bedoeling dat je implementatie van de Trie gebruik maakt van
+templates om verschillende types informatieveld mogelijk te maken.
+
+Een neveneffect daarvan is dat je, bij gebruik van de Trie in een bepaalde
+toepassing (ZLW compressie en decompressie bijvoorbeeld) de complete code
+(`trie.cc' dus) moet includen in je programma van die toepassing.
+Wanneer je gewoon de Trie los compileert naar een bestand `trie.o' en je
+probeert dat te linken met een object bestand waarin variabelen van type
+`Trie<int>' gebruikt worden, krijg je allemaal foutmeldingen.
+
+********************************************************************************
+
+* Er zijn 2 testbestanden voor onderdeel 2B:
+    testzlw.in
+    testzlw3.in
+  Het eerste bestand is gewoon het voorbeeldbestand uit de opdracht-
+  specificatie, het tweede bestand is een iets groter bestand. Na comprimeren
+  en decomprimeren van deze bestanden, moet je exact dezelfde bestanden
+  weer teruggekregen hebben.
+  Uiteraard testen jullie je compressie- en decompressie ook nog met echt
+  grote tekstbestanden.
+  
+* Wanneer je een origineel bestand vergelijkt met het uiteindelijke bestand,
+  is het verstandig om ze niet alleen in een editor te bekijken, maar ook
+  even naar de groottes van de beide bestanden te kijken. Sommige verschillen
+  (spaties, End-of-Lines) zie je namelijk niet altijd in een editor, terwijl
+  ze wel tot uiting kunnen komen in de bestandsgrootte.
+
Index: /liacs/da/opdr2a/gdb.run
===================================================================
--- /liacs/da/opdr2a/gdb.run	(revision 2)
+++ /liacs/da/opdr2a/gdb.run	(revision 2)
@@ -0,0 +1,2 @@
+run
+backtrace
Index: /liacs/da/opdr2a/general.h
===================================================================
--- /liacs/da/opdr2a/general.h	(revision 2)
+++ /liacs/da/opdr2a/general.h	(revision 2)
@@ -0,0 +1,19 @@
+// Specificatie van enkele algemene constantes die gebruikt kunnen worden
+// bij de implementatie van de Trie.
+// Bruikbaar voor de tweede programmeeropdracht Datastructuren, najaar 2001.
+
+#ifndef GeneralVar
+#define GeneralVar
+
+#ifndef NULL
+  #define NULL  0
+#endif
+#ifndef EOL
+  #define EOL  '\n'  // end of line
+#endif
+#ifndef EOS
+  #define EOS  '\0'  // end of string
+#endif
+
+#endif
+
Index: /liacs/da/opdr2a/inv2human.pl
===================================================================
--- /liacs/da/opdr2a/inv2human.pl	(revision 2)
+++ /liacs/da/opdr2a/inv2human.pl	(revision 2)
@@ -0,0 +1,57 @@
+#!/usr/bin/env perl
+# Author    : Rick van der Zwet
+# S-number  : 0433373
+# Version   : $Id: inv2human.pl 322 2007-11-22 14:09:00Z rick $
+# Copyright : FreeBSD Licence
+#
+
+
+# 1. AtLeaf               9. PutInfo
+# 2. GoRoot              10. GetInfo
+# 3. ExistsChild         11. GotoNode
+# 4. GoChild             12. GetNode
+# 5. FirstChild          13. Show
+# 6. NextChild           14. Show (2)
+# 7. AddChild            15. Opnieuw beginnen
+# 8. RemoveChild         16. Stoppen
+
+
+
+@input = <STDIN>;
+@onecommand = (1,2,5,10,11,12,13,14,15,16);
+@number2name = (    'ERROR: Option Zero',
+                    'AtLeaf',
+                    'GoRoot',
+                    'ExistsChild',
+                    'GoChild',
+                    'FirstChild',
+                    'NextChild',
+                    'AddChild',
+                    'RemoveChild',
+                    'PutInfo',
+                    'GetInfo',
+                    'GotoNode',
+                    'GetNode',
+                    'Show',
+                    'Show (2)',
+                    'Opnieuw beginnen',
+                    'Stoppen',
+                );
+        
+
+while ( my $line = shift(@input) )
+{
+    printf "%-5d #", $line;
+    chomp $line;
+    if ( grep(/^$line$/, @onecommand) )
+    {
+        print $number2name[$line] . "\n";
+    }
+    else
+    {
+        $value = shift(@input);
+        chomp($value);
+        print $number2name[$line] . " - " . $value . "\n";
+        printf "%-5d #Value\n", $value;
+    }
+}
Index: /liacs/da/opdr2a/leestekst.cc
===================================================================
--- /liacs/da/opdr2a/leestekst.cc	(revision 2)
+++ /liacs/da/opdr2a/leestekst.cc	(revision 2)
@@ -0,0 +1,35 @@
+#include "leestekst.h"
+bool sf32(ifstream&sv18,char*sv82,int sv83){int sv66;char sv16;sv66=0;
+sv16=sv18.get();while((!sv18.eof())&&(sv66<sv83-1)&&(sv16!=sc1))
+{sv82[sv66]=sv16;sv66++;sv16=sv18.get();}sv82[sv66]=sc2;
+if((sv66>0)||(!sv18.eof()))return true;else return false;}
+bool sf33(char*sv86,int sv87,char*sv82,int&sv89){int sv90,sv88;bool sv85,sv84;
+sv90=strlen(sv82);sv85=false;while(!sv85&&(sv89<=sv90-sv87)){sv84=true;sv88=0;
+while(sv84&&(sv88<sv87)){if(sv86[sv88]==sv82[sv89+sv88])sv88++;else sv84=false;}
+if(sv84)sv85=true;else sv89++;}return sv85;}
+int sf34(ifstream&sv18,char*sv86,int sv87,char*sv82,int sv83,int&sv92,int&sv89)
+{bool sv85,sv42;sv85=sf33(sv86,sv87,sv82,sv89);
+while(!sv85&&(sv42=sf32(sv18,sv82,sv83))){sv92++;sv89=0;
+sv85=sf33(sv86,sv87,sv82,sv89);}return sv85;}bool sf35(char*sv93){ifstream sv18;
+bool sv94;char sv16;sv18.open(sv93);if(sv18){sv16=sv18.get();if(!sv18.eof())
+sv94=true;else sv94=false;sv18.close();}else sv94=false;return sv94;}
+bool sf36(char*sv95,char*sv96){ifstream sv18;ofstream sv76;char sv16;
+sv18.open(sv96);if(sv18){sv76.open(sv95);sv16=sv18.get();while(!sv18.eof())
+{sv76.put(sv16);sv16=sv18.get();}sv76.close();sv18.close();return true;}else
+return false;}void sf37(char*sv93){ofstream sv76;sv76.open(sv93);sv76.close();}
+void sf2(ifstream&sv18){char sv16=' ';while((!sv18.eof())&&(sv16!=sc1))
+sv16=sv18.get();}void sf3(ifstream&sv18,char*sv19){int sv20,i;char sv17;
+sv20=strlen(sv19);for(i=0;i<sv20;i++)
+if((sv19[i]!=' ')&&(sv19[i]!='\t')&&(sv19[i]!='\r')&&(sv19[i]!='\n'))sv18>>sv17;
+}bool sf4(char*sv21,char*sv22){bool sv23;int sv24nr,sv25,sv26;
+ifstream sv27,sv28;sv27.open(sv21,ios::in);sv28.open(sv22,ios::in);if(!sv27)
+{cout<<"We konden "<<sv21<<" bij de controle niet openen\n";cout<<sc1;
+sv23=false;}else if(!sv28)
+{cout<<"We konden "<<sv22<<" bij de controle niet openen\n";cout<<sc1;
+sv23=false;}else{sv23=true;sv24nr=1;sv27>>sv25;sv28>>sv26;sf2(sv27);sf2(sv28);
+while((!sv27.eof())&&(!sv28.eof())&&sv23){if(sv25!=sv26)sv23=false;else
+{sv24nr++;sv27>>sv25;sv28>>sv26;sf2(sv27);sf2(sv28);}}if(!sv23)
+cout<<"Verschil in regel "<<sv24nr<<sc1;else if(!sv27.eof())
+{cout<<"Het uitvoerbestand is langer dan het controlebestand\n";sv23=false;}else
+if(!sv28.eof()){cout<<"Het controlebestand is langer dan het uitvoerbestand\n";
+sv23=false;}}if(sv27)sv27.close();if(sv28)sv28.close();return sv23;}
Index: /liacs/da/opdr2a/leestekst.h
===================================================================
--- /liacs/da/opdr2a/leestekst.h	(revision 2)
+++ /liacs/da/opdr2a/leestekst.h	(revision 2)
@@ -0,0 +1,17 @@
+#ifndef LeesTekstH
+#define LeesTekstH
+#include<iostream.h>
+#include<string.h>
+#include<fstream.h>
+#ifndef sc2
+#define sc2 '\0'
+#endif
+#ifndef sc1
+#define sc1 '\n'
+#endif
+bool sf32(ifstream&sv18,char*sv82,int sv83);bool sf33(char*sv86,int sv87,
+char*sv82,int&sv89);int sf34(ifstream&sv18,char*sv86,int sv87,char*sv82,
+int sv83,int&sv92,int&sv89);bool sf35(char*sv93);bool sf36(char*sv95,char*sv96);
+void sf37(char*sv93);void sf2(ifstream&sv18);void sf3(ifstream&sv18,char*sv19);
+bool sf4(char*sv21,char*sv22);
+#endif
Index: /liacs/da/opdr2a/showlist.cc
===================================================================
--- /liacs/da/opdr2a/showlist.cc	(revision 2)
+++ /liacs/da/opdr2a/showlist.cc	(revision 2)
@@ -0,0 +1,5 @@
+#include "showlist.h"
+st5::st5(st2 sv59,st3 sv60,st4 sv61,int sv62){sv63=sv59;sv64=sv60;sv65=sv61;
+sv66=sv62;sv67=sc3;}st6::st6(){sv71=sv64=sc3;sv67=sc3;}st6::~st6(){st5*sv73,
+*sv74;if(sv67!=sc3)delete(sv67);sv73=sv71;while(sv73!=sc3){sv74=sv73->sf29();
+delete(sv73);sv73=sv74;}}
Index: /liacs/da/opdr2a/showlist.h
===================================================================
--- /liacs/da/opdr2a/showlist.h	(revision 2)
+++ /liacs/da/opdr2a/showlist.h	(revision 2)
@@ -0,0 +1,16 @@
+#ifndef sv97
+#define sv97
+typedef int st2;typedef char st3;typedef bool st4;
+#ifndef sc3
+#define sc3 0
+#endif
+class st5{public:st5(st2 sv59,st3 sv60,st4 sv61,int sv62);
+st2 sf25(){return sv63;};st3 sf26(){return sv64;};st4 sf27(){return sv65;};
+int sf28(){return sv66;};st5*sf29(){return sv67;};
+void sf29(st5*sv68){sv67=sv68;};private:st2 sv63;st3 sv64;st4 sv65;int sv66;
+st5*sv67;};class st6{public:st6();st6(st5*sv69,st5*sv70);~st6();
+st5*sf30(){return sv71;};void sf30(st5*sv69){sv71=sv69;};
+st5*sf31(){return sv64;};void sf31(st5*sv70){sv64=sv70;};
+st6*sf29(){return sv67;};void sf29(st6*sv68){sv67=sv68;};private:st5*sv71,*sv64;
+st6*sv67;};
+#endif
Index: /liacs/da/opdr2a/test.dat
===================================================================
--- /liacs/da/opdr2a/test.dat	(revision 2)
+++ /liacs/da/opdr2a/test.dat	(revision 2)
@@ -0,0 +1,4 @@
+InterActief = 0
+Invoer = test1.inv
+Controleren = 1
+
Index: /liacs/da/opdr2a/test1.con
===================================================================
--- /liacs/da/opdr2a/test1.con	(revision 2)
+++ /liacs/da/opdr2a/test1.con	(revision 2)
@@ -0,0 +1,129 @@
+7
+97
+4
+97
+9
+0
+2
+7
+98
+4
+98
+9
+1
+2
+7
+99
+4
+99
+9
+2
+2
+7
+100
+4
+100
+9
+3
+2
+4
+97
+12
+7
+97
+4
+97
+9
+6
+11
+7
+98
+4
+98
+9
+4
+12
+7
+99
+4
+99
+9
+7
+11
+7
+97
+4
+97
+9
+9
+7
+97
+4
+97
+9
+10
+2
+4
+98
+7
+97
+4
+97
+9
+5
+2
+4
+99
+7
+97
+4
+97
+9
+8
+14
+0
+0
+32
+1
+0
+97
+1
+3
+98
+1
+4
+99
+1
+5
+100
+2
+0
+97
+2
+1
+98
+2
+3
+97
+2
+4
+97
+3
+1
+97
+3
+2
+99
+4
+1
+97
+2
+4
+97
+4
+98
+4
+97
+10
+9
+16
Index: /liacs/da/opdr2a/test1.inv
===================================================================
--- /liacs/da/opdr2a/test1.inv	(revision 2)
+++ /liacs/da/opdr2a/test1.inv	(revision 2)
@@ -0,0 +1,92 @@
+7
+97
+4
+97
+9
+0
+2
+7
+98
+4
+98
+9
+1
+2
+7
+99
+4
+99
+9
+2
+2
+7
+100
+4
+100
+9
+3
+2
+4
+97
+12
+7
+97
+4
+97
+9
+6
+11
+7
+98
+4
+98
+9
+4
+12
+7
+99
+4
+99
+9
+7
+11
+7
+97
+4
+97
+9
+9
+7
+97
+4
+97
+9
+10
+2
+4
+98
+7
+97
+4
+97
+9
+5
+2
+4
+99
+7
+97
+4
+97
+9
+8
+14
+2
+4
+97
+4
+98
+4
+97
+10
+16
Index: /liacs/da/opdr2a/test2.con
===================================================================
--- /liacs/da/opdr2a/test2.con	(revision 2)
+++ /liacs/da/opdr2a/test2.con	(revision 2)
@@ -0,0 +1,489 @@
+7
+97
+7
+98
+7
+99
+7
+100
+13
+4
+97
+7
+97
+7
+98
+4
+98
+7
+97
+7
+99
+4
+97
+7
+97
+13
+2
+4
+98
+7
+97
+2
+4
+99
+7
+97
+14
+0
+0
+32
+1
+0
+97
+1
+3
+98
+1
+4
+99
+1
+5
+100
+2
+0
+97
+2
+1
+98
+2
+3
+97
+2
+4
+97
+3
+1
+97
+3
+2
+99
+4
+1
+97
+15
+1
+1
+3
+98
+0
+7
+0
+7
+97
+3
+96
+0
+3
+97
+1
+3
+98
+0
+7
+162
+13
+7
+163
+7
+164
+4
+163
+9
+13
+13
+7
+255
+7
+33
+3
+35
+0
+7
+35
+7
+34
+12
+4
+33
+9
+-2
+14
+0
+0
+32
+1
+0
+0
+1
+1
+97
+1
+2
+162
+1
+3
+163
+1
+7
+164
+2
+3
+33
+2
+4
+34
+2
+5
+35
+2
+6
+255
+11
+6
+255
+-1
+8
+33
+2
+4
+163
+5
+34
+8
+34
+13
+5
+35
+6
+35
+255
+3
+35
+1
+3
+33
+0
+13
+12
+4
+255
+1
+1
+11
+8
+35
+8
+255
+13
+1
+1
+2
+7
+100
+13
+4
+100
+9
+23
+13
+12
+7
+64
+7
+65
+7
+199
+13
+4
+65
+11
+4
+65
+9
+0
+11
+13
+3
+65
+1
+5
+64
+6
+64
+65
+4
+65
+13
+10
+0
+9
+-1
+11
+3
+65
+1
+4
+65
+13
+10
+-1
+12
+2
+4
+100
+13
+8
+65
+13
+4
+64
+12
+9
+12
+13
+7
+234
+7
+225
+4
+225
+9
+20
+7
+88
+13
+11
+9
+14
+13
+4
+234
+11
+13
+10
+14
+14
+0
+0
+32
+1
+0
+0
+1
+1
+97
+1
+2
+100
+1
+5
+162
+1
+6
+163
+1
+7
+164
+2
+2
+64
+2
+4
+199
+3
+2
+225
+3
+3
+234
+4
+2
+88
+7
+225
+4
+225
+5
+88
+2
+4
+164
+7
+181
+4
+181
+9
+181
+2
+8
+164
+3
+164
+1
+4
+164
+4
+181
+10
+181
+14
+0
+0
+32
+1
+0
+0
+1
+1
+97
+1
+2
+100
+1
+5
+162
+1
+6
+163
+1
+7
+164
+2
+2
+64
+2
+4
+199
+2
+7
+181
+3
+2
+225
+3
+3
+234
+4
+2
+88
+2
+5
+0
+6
+0
+97
+6
+97
+100
+6
+100
+162
+6
+162
+163
+6
+163
+164
+6
+164
+-1
+4
+100
+4
+64
+13
+3
+234
+1
+3
+22
+0
+3
+106
+0
+15
+7
+99
+4
+99
+7
+97
+7
+98
+13
+7
+99
+7
+100
+6
+97
+98
+6
+98
+99
+6
+99
+100
+14
+0
+0
+32
+1
+0
+99
+2
+0
+97
+2
+1
+98
+2
+2
+99
+2
+3
+100
+15
+7
+97
+4
+97
+12
+7
+98
+4
+98
+7
+0
+11
+13
+8
+98
+3
+98
+1
+14
+0
+0
+32
+1
+0
+97
+2
+0
+98
+3
+0
+0
+16
Index: /liacs/da/opdr2a/test2.inv
===================================================================
--- /liacs/da/opdr2a/test2.inv	(revision 2)
+++ /liacs/da/opdr2a/test2.inv	(revision 2)
@@ -0,0 +1,280 @@
+7
+97
+7
+98
+7
+99
+7
+100
+13
+4
+97
+7
+97
+7
+98
+4
+98
+7
+97
+7
+99
+4
+97
+7
+97
+13
+2
+4
+98
+7
+97
+2
+4
+99
+7
+97
+14
+15
+1
+3
+98
+7
+0
+7
+97
+3
+96
+3
+97
+3
+98
+7
+162
+13
+7
+163
+7
+164
+4
+163
+9
+13
+13
+7
+255
+7
+33
+3
+35
+7
+35
+7
+34
+12
+4
+33
+9
+-2
+14
+11
+6
+255
+8
+33
+2
+4
+163
+5
+8
+34
+13
+5
+6
+35
+3
+35
+3
+33
+13
+12
+4
+255
+1
+11
+8
+35
+8
+255
+13
+1
+2
+7
+100
+13
+4
+100
+9
+23
+13
+12
+7
+64
+7
+65
+7
+199
+13
+4
+65
+11
+4
+65
+9
+0
+11
+13
+3
+65
+5
+6
+64
+4
+65
+13
+10
+9
+-1
+11
+3
+65
+4
+65
+13
+10
+12
+2
+4
+100
+13
+8
+65
+13
+4
+64
+12
+9
+12
+13
+7
+234
+7
+225
+4
+225
+9
+20
+7
+88
+13
+11
+9
+14
+13
+4
+234
+11
+13
+10
+14
+7
+225
+4
+225
+5
+2
+4
+164
+7
+181
+4
+181
+9
+181
+2
+8
+164
+3
+164
+4
+164
+4
+181
+10
+14
+2
+5
+6
+0
+6
+97
+6
+100
+6
+162
+6
+163
+6
+164
+4
+100
+4
+64
+13
+3
+234
+3
+22
+3
+106
+15
+7
+99
+4
+99
+7
+97
+7
+98
+13
+7
+99
+7
+100
+6
+97
+6
+98
+6
+99
+14
+15
+7
+97
+4
+97
+12
+7
+98
+4
+98
+7
+0
+11
+13
+8
+98
+3
+98
+14
+16
Index: /liacs/da/opdr2a/test9.inv
===================================================================
--- /liacs/da/opdr2a/test9.inv	(revision 2)
+++ /liacs/da/opdr2a/test9.inv	(revision 2)
@@ -0,0 +1,1 @@
+16
Index: /liacs/da/opdr2a/testtrie.cc
===================================================================
--- /liacs/da/opdr2a/testtrie.cc	(revision 2)
+++ /liacs/da/opdr2a/testtrie.cc	(revision 2)
@@ -0,0 +1,128 @@
+#include<iostream.h>
+#include<fstream.h>
+#include<string.h>
+#include<iomanip.h>
+#ifndef sc5
+#define sc5 '\0'
+#endif
+#define sv1 30
+#define sc8 -1
+#define sv14 256
+#define sc7 17
+char sv9[sc7][25]={"","AtLeaf","GoRoot","ExistsChild","GoChild",
+"FirstChild","NextChild","AddChild","RemoveChild","PutInfo",
+"GetInfo","GotoNode","GetNode","Show","Show (2)","Opnieuw beginnen","Stoppen"};
+#include "general.h"
+#include "trie.cc"
+#include "showlist.h"
+#include "leestekst.h"
+ifstream sv10;ofstream sv11;int sv12,sv13;
+void sf5(char*sv29,char*sv75,char*sv21,char*sv22){int sv30;
+sv30=strcspn(sv29,".");strncpy(sv75,sv29,sv30);sv75[sv30]=sc2;
+strcat(sv75,"_1.inv");strncpy(sv21,sv29,sv30);sv21[sv30]=sc2;
+strcat(sv21,".uit");strncpy(sv22,sv29,sv30);sv22[sv30]=sc2;strcat(sv22,".con");
+}/*sf5*/void sf18(ofstream&sv76,int sv330,char*sv77,char*sv78){sv76<<sv330;
+sv76<<sv77<<sv78;sv76<<sc1;}char sf6(){char sv17;int sv33;if(sv12)cin>>sv17;else
+{sv10>>sv33;sv17=sv33;sf2(sv10);cout<<sv17<<sc1;sf18(sv11,sv33,"","");}
+return sv17;}int sf7(char sv17){int sv33;sv33=sv17;if(sv33<0)sv33+=sv14;
+return sv33;}void sf8(Trie<int>*T){cout<<sc1;if(T->AtLeaf())
+{cout<<"We bevinden ons in een blad.\n";if(!sv12)sf18(sv11,1,"","");}else
+{cout<<"We bevinden ons niet in een blad.\n";if(!sv12)sf18(sv11,0,"","");}}
+void sf9(Trie<int>*T){char sv17;cout<<sc1;cout<<
+"Van welk karakter wilt u weten of het een kind van de huidige knoop is : ";
+sv17=sf6();cout<<sc1;if(T->ExistsChild(sv17))
+{cout<<"Het karakter `"<<sv17<<"' is een kind van de huidige knoop.\n";if(!sv12)
+sf18(sv11,1,"","");}else
+{cout<<"Het karakter `"<<sv17<<"' is geen kind van de huidige knoop.\n";
+if(!sv12)sf18(sv11,0,"","");}}void sf10(Trie<int>*T){char sv17;cout<<sc1;cout
+<<"Naar welk kind (karakter) van de huidige knoop wilt u heen gaan : ";
+sv17=sf6();if(T->ExistsChild(sv17))T->GoChild(sv17);else{cout<<sc1;
+cout<<"Het karakter `"<<sv17<<"' is geen kind van de huidige knoop.\n";
+cout<<"We kunnen er dus ook niet heengaan.\n";}}void sf11(Trie<int>*T)
+{char sv17;cout<<sc1;sv17=T->FirstChild();if((sv17!=sc5)||(T->ExistsChild(sc5)))
+{cout<<"Het eerste kind van de huidige knoop is `"<<sv17<<"'.\n";if(!sv12)
+sf18(sv11,sf7(sv17),"","");}else
+{cout<<"De huidige knoop heeft geen kinderen.\n";if(!sv12)sf18(sv11,sc8,"","");}
+}bool sf19(Trie<int>*T,char sv17,char sv34){char sv49;if(sv17==sv34)
+return false;else{sv49=T->FirstChild();while((sv49!=sv17)&&(sv49!=sv34))
+sv49=T->NextChild(sv49);if(sv49==sv17)return true;else return false;}}
+bool sf20(Trie<int>*T,char sv17,char sv34){if(sv34!=sc5)return true;else
+if(!(T->ExistsChild(sc5)))return false;else if(sf19(T,sv17,sc5))return true;else
+return false;}void sf12(Trie<int>*T){char sv17,sv34;cout<<sc1;
+cout<<"Ten opzichte van welk kind (karakter) van de huidige knoop wilt u\n";
+cout<<"het volgende kind weten : ";sv17=sf6();cout<<sc1;if(T->ExistsChild(sv17))
+{sv34=T->NextChild(sv17);if(sf20(T,sv17,sv34))
+{cout<<"Het volgende kind van de huidige knoop na het kind `"<<sv17
+<<"' is `"<<sv34<<"'.\n";if(!sv12)sf18(sv11,sf7(sv34),"","");}else
+{cout<<"De huidige knoop heeft geen volgende kinderen na het kind `"
+<<sv17<<"'.\n";if(!sv12)sf18(sv11,sc8,"","");}}else
+{cout<<"De huidige knoop heeft geen kind `"<<sv17<<"',\n";
+cout<<"dus een volgend kind is ook niet gedefinieerd.\n";}}
+void sf13(Trie<int>*T){char sv17;cout<<sc1;
+cout<<"Welk karakter wilt u als kind toevoegen aan de huidige knoop : ";
+sv17=sf6();cout<<sc1;
+cout<<"We roepen nu AddChild met parameter `"<<sv17<<"' aan.\n";
+T->AddChild(sv17);}void sf14(Trie<int>*T,TrieNode<int>*&sv35){char sv17;
+TrieNode<int>*sv36;bool sv50;cout<<sc1;
+cout<<"Welk kind van de huidige knoop wilt u verwijderen : ";sv17=sf6();
+if(T->ExistsChild(sv17)){sv36=T->GetNode();T->GoChild(sv17);
+if(T->GetNode()==sv35)sv50=true;else sv50=false;T->GotoNode(sv36);cout<<sc1;
+cout<<"We roepen nu RemoveChild met parameter `"<<sv17<<"' aan.\n";
+T->RemoveChild(sv17);if(sv50&&(!(T->ExistsChild(sv17))))sv35=sc3;}else
+{cout<<sc1;cout<<"De huidige knoop heeft geen kind `"<<sv17<<"',\n";
+cout<<"dus we kunnen hem ook niet verwijderen.\n";}}void sf15(Trie<int>*T)
+{int sv33;cout<<sc1;
+cout<<"Welk getal wilt u in het info-veld van de huidige knoop plaatsen : ";
+if(sv12)cin>>sv33;else{sv10>>sv33;sf2(sv10);cout<<sv33<<sc1;
+sf18(sv11,sv33,"","");}T->PutInfo(sv33);}void sf16(Trie<int>*T){int sv33;
+sv33=T->GetInfo();cout<<sc1;
+cout<<"Het info-veld van de huidige knoop bevat het getal "<<sv33<<".\n";
+if(!sv12)sf18(sv11,sv33,"","");}void sf17(Trie<int>*T,TrieNode<int>*sv35){
+if(sv35!=sc3)T->GotoNode(sv35);else{cout<<sc1;
+cout<<"We hebben geen adres om naar toe te gaan.\n";}}
+bool sf21(char sv17,int&sv51){if(sv17!=sc5)return true;else if(sv51>0){sv51--;
+return true;}else return false;}template<class st1>
+void sf22(Trie<st1>*T,st6*sv79,char sv44,int&sv52,TrieNode<st1>*sv46){st5*sv81;
+st6*sv80;TrieNode<st1>*sv47;char sv17;int sv51;bool sv53;sv47=T->GetNode();
+if(sv47==sv46)sv81=new st5((int)(T->GetInfo()),sv44,true,sv52);else
+sv81=new st5((int)(T->GetInfo()),sv44,false,sv52);if(sv79->sf30()==sc3)
+{sv79->sf30(sv81);sv79->sf31(sv81);}else{sv79->sf31()->sf29(sv81);
+sv79->sf31(sv81);}if(T->ExistsChild(sc5))sv51=1;else sv51=0;
+sv17=T->FirstChild();sv53=false;while(sf21(sv17,sv51)){sv53=true;
+T->GoChild(sv17);if(sv79->sf29()==sc3){sv80=new st6();sv79->sf29(sv80);}
+sf22(T,sv79->sf29(),sv17,sv52,sv46);T->GotoNode(sv47);sv17=T->NextChild(sv17);
+sv52++;}if(sv53)sv52--;}void sf23(st6*sv54,bool sv55){st6*sv79;st5*sv81;
+int sv52,sv56,sv45;sv79=sv54;sv45=0;do{sv81=sv79->sf30();sv52=0;do
+{sv56=sv81->sf28();while(sv52<sv56-1){cout<<"      ";sv52++;}
+cout<<setw(4)<<sv81->sf25();if(sv81->sf27())cout<<'*';else cout<<',';
+cout<<sv81->sf26();if((!sv12)&&(sv55)){sf18(sv11,sv45,"","");
+sf18(sv11,sv52,"","");sf18(sv11,sf7(sv81->sf26()),"","");}sv52++;
+sv81=sv81->sf29();}while(sv81!=sc3);cout<<sc1;sv79=sv79->sf29();sv45++;
+}while(sv79!=sc3);}template<class st1>void sf24(Trie<st1>*T,bool sv55){st6*sv57;
+int sv52;TrieNode<st1>*sv46;cout<<sc1;cout<<"De trie ziet er als volgt uit:\n";
+sv46=T->GetNode();T->GoRoot();sv57=new st6();sv52=1;sf22(T,sv57,' ',sv52,sv46);
+sf23(sv57,sv55);delete sv57;T->GotoNode(sv46);}int main(){int sv39,sv38,i,sv40;
+Trie<int>*T;TrieNode<int>*sv35;ifstream sv41;char sv29[sv1],sv75[sv1],sv21[sv1],
+sv22[sv1];bool sv42;cout.setf(ios::unitbuf);sv41.open("test.dat",ios::in);
+if(sv41){sf3(sv41,"InterActief = ");sv41>>sv12;}else
+{cout<<"We konden `test.dat' niet openen\n";cout<<sc1;sv12=1;}if(!sv12)
+{sf3(sv41,"Invoer = ");sv41>>sv29;sf3(sv41,"Controleren = ");sv41>>sv13;}else
+sv13=0;if(sv41)sv41.close();if(!sv12){sf5(sv29,sv75,sv21,sv22);
+sv10.open(sv29,ios::in);if(sv10){sv11.open(sv21,ios::out);}else
+{cout<<"We konden "<<sv29<<" niet openen\n";cout<<sc1;sv12=1;sv13=0;}}
+sv39=sc7-1;sv38=(sv39+1)/2;T=new Trie<int>;sv35=sc3;do{cout<<sc1;
+for(i=1;i<=sv38;i++){cout<<setw(2)<<i;cout.unsetf(ios::right);cout.setf(ios::left);
+cout<<". "<<setw(20)<<sv9[i];if(i+sv38<=sv39){cout.setf(ios::right);
+cout<<setw(2)<<i+sv38;cout<<". "<<sv9[i+sv38];}cout<<sc1;}cout<<sc1;
+cout<<"Maak een keuze : ";if(sv12)cin>>sv40;else{sv10>>sv40;sf2(sv10);
+cout<<sv40<<sc1;if((sv40>=1)&&(sv40<=sv39)){sf18(sv11,sv40,"","");}else
+{sf18(sv11,sv40,"","");}}switch(sv40){case 1:sf8(T);break;case 2:T->GoRoot();
+break;case 3:sf9(T);break;case 4:sf10(T);break;case 5:sf11(T);break;
+case 6:sf12(T);break;case 7:sf13(T);break;case 8:sf14(T,sv35);break;
+case 9:sf15(T);break;case 10:sf16(T);break;case 11:sf17(T,sv35);break;
+case 12:sv35=T->GetNode();break;case 13:sf24(T,false);break;
+case 14:sf24(T,true);break;case 15:delete T;T=new Trie<int>;sv35=sc3;break;
+case 16:break;default:cout<<sc1;
+cout<<"Verkeerde invoer. Probeer het nog eens.\n";}}while(sv40!=16);delete T;
+if(!sv12){sv11.close();sv10.close();}if(sv13){sv42=sf4(sv21,sv22);if(sv42)
+cout<<"GELIJK\n";else cout<<"NIET GELIJK\n";}return 0;}
Index: /liacs/da/opdr2a/testzlw.in
===================================================================
--- /liacs/da/opdr2a/testzlw.in	(revision 2)
+++ /liacs/da/opdr2a/testzlw.in	(revision 2)
@@ -0,0 +1,1 @@
+abaabcababaa
Index: /liacs/da/opdr2a/testzlw3.in
===================================================================
--- /liacs/da/opdr2a/testzlw3.in	(revision 2)
+++ /liacs/da/opdr2a/testzlw3.in	(revision 2)
@@ -0,0 +1,1 @@
+abaabcababaad
Index: /liacs/da/opdr2a/trie.cc
===================================================================
--- /liacs/da/opdr2a/trie.cc	(revision 2)
+++ /liacs/da/opdr2a/trie.cc	(revision 2)
@@ -0,0 +1,394 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: trie.cc 322 2007-11-22 14:09:00Z rick $
+ * Copyright : FreeBSD Licence
+ */
+
+#include "trie.h"
+
+#ifndef TRIE_CC
+#define TRIE_CC
+
+template <class InfoTp>
+TrieNode<InfoTp>::TrieNode()
+{
+    Value = '\0';
+    One = NULL;
+    Zero = NULL;
+    Parent = NULL;
+}
+
+
+
+template <class InfoTp>
+TrieNode<InfoTp>::~TrieNode()
+{
+    delete One;
+    delete Zero;
+}
+
+
+
+template <class InfoTp>
+Trie<InfoTp>::Trie ()
+{
+    Root = new TrieNode<InfoTp> ();
+    //Set window to root
+    GoRoot ();
+}
+
+
+
+template <class InfoTp>
+Trie<InfoTp>::~Trie ()
+{
+    delete Root;
+}
+
+
+
+template <class InfoTp>
+bool Trie<InfoTp>::AtLeaf ()
+{
+    if (Window->One == NULL and Window->Zero == NULL)
+    {
+        return(true);
+    }
+
+    // Got some extra nodes down below
+    return(false);
+}
+
+
+
+template <class InfoTp>
+void Trie<InfoTp>::GoChild (char K)
+{
+    // Call ExistsChild to check if node exists and deliver an pointer
+    // to the node in NodeFound
+    if ( ExistsChild(K) )
+    {
+        Window = NodeFound;
+    }
+}
+
+
+
+template <class InfoTp>
+void Trie<InfoTp>::GoRoot ()
+{
+    //set the current window on the Root pointer
+    Window = Root;
+}
+
+
+
+template <class InfoTp>
+bool Trie<InfoTp>::ExistsChild (char K)
+{
+    // worker with different knob, to make it able to get back
+    TrieNode<InfoTp> * Worker = Window;
+
+    int i;
+    for (i = 7; i >= 0; i--)
+    {
+        // bit i is 1 or not?
+        if (K & 1<<i)
+        {
+            // If node not exists, bail out
+            if (Worker->One == NULL)
+            {
+                return false;
+            }
+            else
+            {
+                Worker = Worker->One;
+            }
+        }
+        else
+        {
+            // If node not exists, bail out
+            if (Worker->Zero == NULL)
+            {
+                return false;
+            }
+            else
+            {
+                Worker = Worker->Zero;
+            }
+        }
+    }
+
+    // Store found window in NodeFound
+    NodeFound = Worker;
+    return true;
+}
+
+
+
+template <class InfoTp>
+char Trie<InfoTp>::FirstChild ()
+{
+    // worker with different knob, to make it able to get back
+    TrieNode<InfoTp> * Worker = Window;
+    // walk 8 bits, i indication of the bit currently are
+    int i;
+    // return value
+    char retval = 0;
+    for (i = 7; i >= 0; i--)
+    {
+        // go as many Zero if possible else go right if possible else return \0
+        if (Worker->Zero != NULL)
+        {
+            Worker = Worker->Zero;
+        }
+        else if (Worker->One != NULL)
+        {
+            //set bit i to 1
+            retval |= 1<<i;
+            Worker = Worker->One;
+        }
+        else
+        {
+            retval = '\0';
+            break;
+        }
+    }
+    return(retval);
+}
+
+
+
+/* This does not seems be very logical in the first place, but try to
+ * draw a picture and then follow the paths, just remind 2 things
+ * -no One 'turns' are allowed, cause those are higher order childs
+ * -the story ends if you hit the startnode from the right
+ * XXX: Only works well with one level depth, not multilevel depth
+ */
+template <class InfoTp>
+char Trie<InfoTp>::NextChild (char K)
+{
+    // store startnode
+    TrieNode<InfoTp> * Worker;
+    // tmp (loop) counter
+    int i;
+    // return value, not changed if not found
+    int retval = '\0';
+
+    // goto child node if it exists at least
+    if (ExistsChild(K)) {
+        Worker = NodeFound;
+
+        // depth counter
+        i = 0;
+        while ( true )
+        {
+            // ends if in startnode and came from right or
+            // in startnode en no left turn possible
+            if (Worker->Parent == Window)
+            {
+                if (Worker->Parent->One == Worker or
+                       Worker->Parent->One == NULL)
+                {
+                    return(retval);
+                }
+            }
+
+            //if from left and right available, go for it
+            if (Worker->Parent->Zero == Worker and
+                Worker->Parent->One != NULL)
+            {
+                Worker = Worker->Parent->One;
+
+                //walk to child leaf
+                while (i > 0)
+                {
+                    //decrement counter, cause we are going inward again
+                    i--;
+                    // if left available take it, else right
+                    if (Worker->Zero != NULL)
+                    {
+                        Worker = Worker->Zero;
+                    }
+                    else
+                    {
+                        Worker = Worker->One;
+                    }
+                }
+
+                //calculate value NextChild
+                retval = 0;
+                for (i = 0; i <= 7; i++)
+                {
+                    if (Worker->Parent->One == Worker)
+                    {
+                        retval |= 1<<i;
+                    }
+                    Worker = Worker->Parent;
+                }
+
+                //should never happen
+                if (Worker != Window)
+                {
+                    perror("BUG: NextChild find value error");
+                    exit(1);
+                }
+                return(retval);
+            }
+
+            //set new value Worker
+            Worker = Worker->Parent;
+            //raise counter
+            i++;
+        }
+        // end none found
+        return(retval);
+    }
+    // no valid leaf
+    return(retval);
+}
+
+
+
+template <class InfoTp>
+void Trie<InfoTp>::AddChild (char K)
+{
+    //get worker pointer
+    TrieNode<InfoTp> * Worker = Window;
+
+    int i;
+    for (i = 7; i >= 0; i--)
+    {
+        //bit i is 1 or not?
+        if (K & 1<<i)
+        {
+            // check is node exists, else create new one
+            if (Worker->One == NULL)
+            {
+                Worker->One = new TrieNode<InfoTp>();
+            }
+            Worker->One->Parent = Worker;
+            Worker = Worker->One;
+        }
+        else {
+            // check is node exists, else create new one
+            if (Worker->Zero == NULL)
+            {
+                Worker->Zero = new TrieNode<InfoTp>();
+            }
+            Worker->Zero->Parent = Worker;
+            Worker = Worker->Zero;
+        }
+    }
+}
+
+
+
+template <class InfoTp>
+void Trie<InfoTp>::RemoveChild (char K)
+{
+    TrieNode<InfoTp> * Worker;
+    int i; //loop counter
+    //check whether this knob exists
+    if ( ExistsChild(K) )
+    {
+        Worker = NodeFound;
+        //and is leaf
+        if (Worker->One == NULL and Worker->Zero == NULL)
+        {
+            //delete obsolete knob and null refering pointer
+            // walk 7 steps up and delete node if both pointers are zero
+            // first step is special cause the other could be a leaf as
+            // well
+
+
+            //goto parent
+            Worker = Worker->Parent;
+            //deleted leaf specified at NodeFound
+            if (Worker->One == NodeFound)
+            {
+                delete Worker->One;
+                Worker->One = NULL;
+            }
+            else
+            {
+                delete Worker->Zero;
+                Worker->Zero = NULL;
+            }
+
+            for (i = 0; i <= 6; i++)
+            {
+                // go one up
+                Worker = Worker->Parent;
+
+                //XXX: Only need to check the node we came from, instead
+                //of both
+
+                // Check wether we could delete arch 1
+                if (Worker->One != NULL)
+                {
+                    //delete subnode if both pointers are NULL
+                    if (Worker->One->One == NULL and
+                        Worker->One->Zero == NULL)
+                    {
+                        delete Worker->One;
+                        Worker->One = NULL;
+                    }
+                }
+
+                // Check wether we could delete arch 0
+                if (Worker->Zero != NULL)
+                {
+                    //delete subnode if both pointers are NULL
+                    if (Worker->Zero->One == NULL and
+                        Worker->Zero->Zero == NULL)
+                    {
+                        delete Worker->Zero;
+                        Worker->Zero = NULL;
+                    }
+                }
+            }
+
+            //Should never happen
+            if (Window != Worker)
+            {
+                perror("BUG: Pointer delete error");
+                exit(1);
+            }
+        }
+    }
+}
+
+
+
+template <class InfoTp>
+void Trie<InfoTp>::PutInfo (InfoTp I)
+{
+    Window->Value = I;
+}
+
+
+
+template <class InfoTp>
+InfoTp Trie<InfoTp>::GetInfo ()
+{
+    return(Window->Value);
+}
+
+
+
+template <class InfoTp>
+void Trie<InfoTp>::GotoNode(TrieNode<InfoTp> *Nd)
+{
+    Window = Nd;
+}
+
+
+
+template <class InfoTp>
+TrieNode<InfoTp> *Trie<InfoTp>::GetNode()
+{
+    return(Window);
+}
+
+#endif
Index: /liacs/da/opdr2a/trie.h
===================================================================
--- /liacs/da/opdr2a/trie.h	(revision 2)
+++ /liacs/da/opdr2a/trie.h	(revision 2)
@@ -0,0 +1,60 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: trie.h 322 2007-11-22 14:09:00Z rick $
+ * Copyright : FreeBSD Licence
+ */
+
+#ifndef TRIE_H
+#define TRIE_H
+template <class InfoTp>
+class TrieNode
+{
+    public:
+        TrieNode();
+        ~TrieNode();
+        InfoTp Value;       // Value of TrieNode
+        TrieNode *One,      // Pointer to node if bit is set 1
+                 *Zero,     // Pointer to node if bit is set 0
+                 *Parent;   // Pointer to parent node
+};
+
+
+template <class InfoTp>
+class Trie
+{   public:
+        // Constructor, create new Trie, only root
+        Trie ();
+        // Destructor
+        ~Trie ();
+        //Test wether window is at leaf
+        bool AtLeaf ();
+        // Place window on Root
+        void GoRoot ();
+        // Check wether current knob has child K
+        bool ExistsChild (char K);
+        // Place window at child K of current knob
+        void GoChild (char K);
+        // First child of current knob, '\0' if child has no children
+        char FirstChild ();
+        // Get next child of current knob, '\0' if none
+        char NextChild (char K);
+        // Add child K, if already exists do nothing
+        void AddChild (char K);
+        // Remove child, do nothing if not exists
+        void RemoveChild (char K);
+        // Place information in current knob
+        void PutInfo (InfoTp I);
+        // Get information of current knob
+        InfoTp GetInfo ();
+        //  PLace window of knob provided
+        void GotoNode (TrieNode<InfoTp> *Nd);
+        // Get address of current knob
+        TrieNode<InfoTp> *GetNode ();
+    private:
+        TrieNode<InfoTp>    *Window,     //het venster
+                            *NodeFound,  //store value node if exists
+                            *Root;       //de wortel
+};
+
+
+#endif
Index: /liacs/da/opdr2b/HOWTO.txt
===================================================================
--- /liacs/da/opdr2b/HOWTO.txt	(revision 2)
+++ /liacs/da/opdr2b/HOWTO.txt	(revision 2)
@@ -0,0 +1,46 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: HOWTO.txt 344 2007-12-01 14:08:51Z rick $
+ * Copyright : FreeBSD Licence
+ */
+
+= Intro =
+Using an trie by the compression and decompression of LZW
+algoritm.
+
+= Choices made =
+* Different systax ./[de]compressie <infile> <outfile>
+* Special number FILE_END to define end of file instead default EOF to
+  fix the problem of writing away odd size numbers. We just add FILE_END
+  to make it even and 2 * FILE_END in case of even number
+
+= Student solution comparison =
+I did not find any program to compare with, but could think of the
+following problems
+* Different initial Trie
+* Other way to end program
+
+= Gif comparision =
+http://www.cis.udel.edu/%7Eamer/CISC651/lzw.and.gif.explained.html
+* The Clear Code. It tells when to restart the WHOLE process.
+* The End Of Information. It tells when there's no more codes to read.
+* Gif includes header information
+* Variable bit size coding
+
+
+= Files =
+HOWTO.txt       -  Explain how to run and why certain choices where made
+Makefile        -  Enhanced makefile with some included checks
+compressie.cc   -  Compression of file
+decompressie.cc -  Decompression of file
+fileio.cc       -  File read and write functions, using for conversion
+                   8bit -> 12bit
+fileio.h        -  File read and write headers
+README.txt      -  Assignment description
+read12.cc       -  Only reading of numbers to be used for unit testing
+test.sh         -  Unit test script
+trie.cc         -  Trie implementation source file
+trie.h          -  Trie implementation header file
+trie07.ps       -  Assignment PostScript file
+trie07.pdf      -  Assignment PDF file
+write12.cc      -  Only writing of numbers to be used for unit testing
Index: /liacs/da/opdr2b/Makefile
===================================================================
--- /liacs/da/opdr2b/Makefile	(revision 2)
+++ /liacs/da/opdr2b/Makefile	(revision 2)
@@ -0,0 +1,37 @@
+CC = g++
+
+CompileParms = -Wall -Wno-deprecated -g
+
+all: compressie decompressie write12 read12
+
+showlist.o: showlist.h showlist.cc
+	$(CC) -c $(CompileParms)  showlist.cc
+
+leestekst.o: leestekst.h leestekst.cc
+	$(CC) -c $(CompileParms)  leestekst.cc
+
+testtrie.o: general.h trie.h trie.cc showlist.h leestekst.h testtrie.cc
+	$(CC) -c $(CompileParms)  testtrie.cc
+
+clean:
+	rm -f *.o opdracht2a compressie decompressie write12 read12
+
+.cc.o:
+	$(CC) $(CompileParms) -c  $<
+
+COMPRESSIE_OBJ = trie.o compressie.o fileio.o
+compressie: $(COMPRESSIE_OBJ)
+	$(CC) $(CompileParms) $(COMPRESSIE_OBJ) -o $@
+
+DECOMPRESSIE_OBJ = trie.o decompressie.o fileio.o
+decompressie: $(DECOMPRESSIE_OBJ)
+	$(CC) $(CompileParms) $(DECOMPRESSIE_OBJ) -o $@
+
+read12: read12.o fileio.o
+	$(CC) $(CompileParms) read12.o fileio.o -o $@
+
+write12: write12.o fileio.o
+	$(CC) $(CompileParms) write12.o fileio.o -o $@
+
+test: all
+	@sh test.sh
Index: /liacs/da/opdr2b/README
===================================================================
--- /liacs/da/opdr2b/README	(revision 2)
+++ /liacs/da/opdr2b/README	(revision 2)
@@ -0,0 +1,216 @@
+
+Beste allemaal,
+
+Bij de tweede programmeeropdracht Datastructuren, najaar 2007 (Implementatie
+en toepassing van de Trie) hebben jullie al een hele beschrijving op papier
+gekregen, de officiele opdrachtspecificatie.
+Voor onderdeel 2A van de opdracht moet je bestanden `trie.cc' en `trie.h'
+maken die de Trie implementeren. Om te kunnen testen of die een beetje doen
+wat je mag verwachten, is er een aantal testbestanden beschikbaar. De werking
+daarvan zullen we hier uitleggen.
+Aan het eind maken we ook nog een paar kleine opmerkingen over onderdeel 2B.
+
+We beseffen dat het een heel verhaal is, net als de opdrachtspecificatie zelf,
+maar het is toch verstandig om het door te lezen. Je kunt er meer tijd mee
+uitsparen dan dat het lezen je kost.
+
+********************************************************************************
+
+* Er zijn 12 testbestanden voor onderdeel 2A:
+    general0.h    -> hernoemen tot general.h
+    showlist0.h   -> hernoemen tot showlist.h
+    showlist0.cc  -> hernoemen tot showlist.cc
+    leestekst0.h  -> hernoemen tot leestekst.h
+    leestekst0.cc -> hernoemen tot leestekst.cc
+    testtrie0.cc  -> hernoemen tot testtrie.cc
+    Makefile0     -> hernoemen tot Makefile
+    test0.dat     -> hernoemen tot test.dat
+    test1.inv
+    test1.con
+    test2.inv
+    test2.con
+  De reden dat we 0-versies in het pakketje hebben gestopt, die jullie dan
+  weer moeten hernoemen, is om ongewenste overschrijvingen te voorkomen bij
+  het uitpakken van het pakketje. Je weet bijvoorbeeld maar nooit of jullie
+  zelf ook al een bestand `testtrie.cc' hebben geschreven.
+
+* Het belangrijkste bestand is `testtrie.cc'
+  Dit programma biedt de gebruiker een menu aan waarin de verschillende
+  methodes van de Trie aangeroepen kunnen worden. In het testprogramma is
+  gekozen voor integers als informatieveld.
+
+* Bij de methode GotoNode is het handig om te weten dat dan naar de knoop
+  gegaan wordt die de laatste keer met GetNode verkregen is, tenzij deze
+  knoop inmiddels met RemoveChild verwijderd is.
+
+* Naast het aanroepen van de standaard methodes zijn er nog drie andere
+  opties in het menu: `Show', `Show (2)' en `Opnieuw beginnen'. Deze laatste
+  optie houdt in dat je opnieuw begint met een lege Trie. De andere twee
+  opties zullen we wat uitgebreider toelichten.
+
+* Allereerst: in principe doen `Show' en `Show (2)' exact hetzelfde.
+  Alleen bij de automatische Test (zie daarover verderop) zijn ze een
+  beetje verschillend, maar daar hoeven jullie niet over in te zitten.
+
+* Tijdens het testen van het programma is het prettig als je de Trie die
+  je in de loop van de tijd hebt opgebouwd, kunt afbeelden op het scherm.
+  Daarvoor is de optie `Show' aanwezig.
+  De optie maakt gebruik van een datastructuur die in `showlist.cc' en
+  `showlist.h' is ge-implementeerd.
+  Om de werking van de optie `Show' te demonstreren, bekijk de volgende
+  uitvoer van de methode:
+   0,
+   0,a               1,b   2,c   3,d
+   6,a   4,b         5,a   8*a
+         9,a   7,c
+        10,a
+  Op het eerste niveau staat de wortel. Op het volgende niveau staan de
+  kinderen van de wortel. In het voorbeeld zijn dit er vier. Bij deze
+  kinderen stelt het getal voor de komma de waarde van het infoveld voor,
+  het karakter na de komma geeft de tak aan via welke de knoop bereikt kan
+  worden, de vader-tak zogezegd.
+  Het eerste kind van de wortel heeft dus een infoveld 0 en kan vanuit
+  de wortel bereikt worden via de tak `a', het tweede kind heeft een
+  infoveld 1 en kan vanuit de wortel bereikt worden via de tak `b',
+  enzovoort.
+
+  De kinderen van een knoop x0 staan een niveau lager dan x0 zelf.
+  Het eerste kind staat onmiddellijk onder x0; het tweede kind staat daar
+  rechts van, het derde kind daar weer rechts van, enz. totdat je voorbij
+  de broer van x0 loopt. De kinderen van `0,a' zijn dus `6,a' en `4,b'.
+  Ofwel van de knoop `0,a' gaan uit: een tak `a' die eindigt in een knoop
+  met infoveld 6 en tak `b' die eindigt in een knoop met infoveld 4.
+  De knoop `6,a' heeft zelf geen kinderen, maar knoop `4,b' heeft weer
+  twee kinderen: `9,a' en `7,c'. 
+
+  Om het allemaal van de andere kant te bekijken: `10,a' is een kind van
+  `9,a', `9,a' is een kind van `4,b', `4,b' is een kind van `0,a' en 
+  `0,a' is ten slotte een kind van de wortel van de Trie.
+
+  Omdat de wortel geen vader-tak heeft, zul je daar na de komma nooit een
+  karakter zien staan (d.w.z.: er staat een spatie).
+
+  Bij een (1) knoop in de Trie worden infoveld en karakter niet door een
+  komma gescheiden, maar door een sterretje `*'. Dit betekent dat deze knoop
+  de huidige knoop is, d.w.z.: hier bevindt zich het venster van de Trie.
+
+  Niet geheel toevallig komt het gegeven voorbeeld overeen met de Trie in
+  Figuur 1 van de opdrachtspecificatie. Alleen de wortel, die in de
+  specificatie geen infoveld heeft, heeft hier een infoveld 0.
+
+  Uiteraard is deze vorm van presenteren slechts overzichtelijk bij een
+  beperkt aantal knopen. Als je te veel knopen hebt, kan een niveau meerdere
+  regels beslaan en is het niet meer eenvoudig na te gaan hoe de vader-kind
+  relaties lopen.
+
+  N.B.: de optie `Show' maakt gebruik van een heleboel methodes van de Trie.
+  Het is dus mogelijk dat ze pas werkt als je voor al die methodes een
+  fatsoenlijke implementatie hebt.
+
+* `testtrie.cc' maakt gebruik van enkele algemene constantes in `general.h'.
+  Desgewenst kun je deze constantes ook in je eigen implementatie van de
+  Trie gebruiken.
+
+* Om `testtrie.cc' te compileren is er `Makefile'. Het compileren begint
+  met het commando `make'. Vervolgens kun je het testprogramma aanroepen met
+  `Test'
+
+* De default is dat je je Trie interactief test. Dat kun je zien in het
+  bestand `test.dat', waarin de variabele `InterActief' op 1 staat.
+  Het is aan te raden om eerst op deze wijze een tijdje met het
+  testprogramma te spelen en de verschillende opties uit te proberen.
+
+* Als je het na een tijdje zat bent om steeds maar weer zelf menukeuzes
+  en karakters in te typen, kun je `InterActief' op 0 zetten. Daarmee kies
+  je voor een automatische Test.
+  Bij de automatische Test wordt de invoer uit een bestand gelezen, in het
+  bijzonder uit het bestand dat op de volgende regel staat (in principe is
+  dat `test1.inv'). Verder wordt de uitvoer behalve naar het scherm ook voor
+  een deel naar een bestand (`test1.uit') geschreven.
+  Met behulp van `test1.inv' wordt de Trie uit ons voorbeeld, die uit
+  Figuur 1 van de opdrachtspecificatie dus, opgebouwd en afgebeeld.
+
+* Als dan de parameter `Controleren=0', gebeurt er niets met het
+  uitvoerbestand `test1.uit'.
+
+* Met `Controleren=1' wordt echter gekeken of het uitvoerbestand gelijk is
+  aan het controlebestand `test1.con'. Zo ja, dan wordt er `GELIJK' op
+  het scherm afgedrukt. Zo nee, dan wordt aangegeven waar het verschil zit.
+
+* Om de implementatie van de Trie nog wat serieuzer te testen, is er ten
+  slotte nog een tweede testinstantie meegegeven, bestaande uit `test2.inv'
+  en `test2.con'. Als je in `test.dat' de naam van het invoerbestand even
+  aanpast, kun je het testprogramma voor deze instantie draaien.
+  Ook dit is echter geen ultieme test. Het kan best zijn je ook bij
+  `test2.inv' GELIJK krijgt, terwijl de corrector nog fouten in je code
+  ontdekt. Er kunnen bijvoorbeeld instanties zijn waar jullie implementatie
+  de mist mee ingaat, en waar we van tevoren niet aan gedacht hebben.
+
+* We raden je aan om niet te snel tot de automatische Test over te gaan.
+  Zorg er eerst voor dat je weet wat alle opties in het menu doen.
+  Zorg er vervolgens voor dat je begrijpt wat er zoal in `test1.uit'
+  geschreven wordt.
+  Als je zover bent, is het gemakkelijker om eventuele foutmeldingen te
+  begrijpen.
+
+* Overigens: de code van een aantal bestanden is een beetje versleuteld,
+  omdat het eigenlijk niet de bedoeling is dat jullie daarin gaan kijken.
+  Ze zijn puur bedoeld om te gebruiken.
+
+* In principe zou het testprogramma (en ook de automatische Test) op ieder
+  platform moet werken, dus bijvoorbeeld ook met Visual C++.
+
+********************************************************************************
+
+Om dubbele include-s te voorkomen is het in het algemeen aan te raden om je
+code in `trie.h' en `trie.cc' te omgeven met een `ifndef'-constructie, dus
+iets in de trant van:
+  #ifndef TrieHVar
+  #define TrieHVar
+
+    ... code ...
+
+  #endif
+  
+********************************************************************************
+
+Het heeft geen zin om een implementatie van de Trie in te leveren die niet
+door de automatische Test komt. Die krijg je linea recta terug. Vooralsnog
+gaan we er namelijk vanuit dat er geen fouten in de automatische Test zitten.
+Denk je dat er toch fouten in de testprogramma's of de testinstanties zitten,
+dan kun je dit aankaarten bij Robert Brijder.
+
+Wanneer je denkt dat je implementatie van de Trie goed is, kun je haar
+electronisch inleveren bij de corrector, Ruben van Bodegom. In de opdracht-
+specificatie staat aangegeven hoe je dat precies moet / kunt doen.
+
+********************************************************************************
+
+Het is de bedoeling dat je implementatie van de Trie gebruik maakt van
+templates om verschillende types informatieveld mogelijk te maken.
+
+Een neveneffect daarvan is dat je, bij gebruik van de Trie in een bepaalde
+toepassing (ZLW compressie en decompressie bijvoorbeeld) de complete code
+(`trie.cc' dus) moet includen in je programma van die toepassing.
+Wanneer je gewoon de Trie los compileert naar een bestand `trie.o' en je
+probeert dat te linken met een object bestand waarin variabelen van type
+`Trie<int>' gebruikt worden, krijg je allemaal foutmeldingen.
+
+********************************************************************************
+
+* Er zijn 2 testbestanden voor onderdeel 2B:
+    testzlw.in
+    testzlw3.in
+  Het eerste bestand is gewoon het voorbeeldbestand uit de opdracht-
+  specificatie, het tweede bestand is een iets groter bestand. Na comprimeren
+  en decomprimeren van deze bestanden, moet je exact dezelfde bestanden
+  weer teruggekregen hebben.
+  Uiteraard testen jullie je compressie- en decompressie ook nog met echt
+  grote tekstbestanden.
+  
+* Wanneer je een origineel bestand vergelijkt met het uiteindelijke bestand,
+  is het verstandig om ze niet alleen in een editor te bekijken, maar ook
+  even naar de groottes van de beide bestanden te kijken. Sommige verschillen
+  (spaties, End-of-Lines) zie je namelijk niet altijd in een editor, terwijl
+  ze wel tot uiting kunnen komen in de bestandsgrootte.
+
Index: /liacs/da/opdr2b/compressie.cc
===================================================================
--- /liacs/da/opdr2b/compressie.cc	(revision 2)
+++ /liacs/da/opdr2b/compressie.cc	(revision 2)
@@ -0,0 +1,88 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: compressie.cc 457 2008-01-08 22:24:08Z rick $
+ * Copyright : FreeBSD Licence
+ */
+#include <stdio.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <sysexits.h>
+#include "trie.cc"
+#include "fileio.h"
+#include "constants.h"
+
+/* XXX: File are only checked at creation time, not during execution */
+int
+main(int argc, char ** argv) {
+    FILE * input;
+    FILE * output;
+    int knob = START_KNOB;
+    int code = 0;
+    // character storage
+    /* input Letter */
+    int c;
+    Trie<int> * lwz;
+
+    if (argc < 2) {
+        fprintf(stderr, "Usage: %s <infile> [<outfile>]\n",argv[0]);
+        return(EX_USAGE);
+    }
+
+    input = fopen(argv[1], "r");
+    if (input == NULL) {
+        fprintf(stderr,"Error: Unable to use `%s', errno: %i\n", 
+            argv[1], errno);
+        return(EX_NOINPUT);
+    }
+
+    if (argc == 3) {
+        output = fopen(argv[2], "w");
+        if (output == NULL) {
+            fprintf(stderr,"Error: Unable to use `%s', errno: %i\n",
+                argv[2], errno);
+            return(EX_CANTCREAT);
+        }
+    } else
+        output = stdout;
+
+    /* initialiseer Trie voor ZLW codering */
+    lwz = new Trie<int>;
+    for (code = 0; code <= 0xFF; code++) {
+        lwz->GoRoot();
+        lwz->AddChild(code);
+        lwz->GoChild(code);
+        lwz->PutInfo(knob);
+        knob++;
+    }
+    lwz->GoRoot();
+
+    /* while not eof (SourceFile) */
+    while ((c = fgetc(input)) != EOF) {
+        if (not lwz->ExistsChild(c)) {
+            tofile(output, lwz->GetInfo());
+            /* if not (maximaal aantal strings in Trie) */
+            if (knob < MAX_KNOB) {
+                /* voes nieuwe code via tak Letter and Trie toe */
+                lwz->AddChild(c);
+                lwz->GoChild(c);
+                lwz->PutInfo(knob);
+                knob++;
+            }
+            /* ga naar wortel Trie */
+            lwz->GoRoot();
+        }
+        /* ga naar kind Letter in Trie */
+        lwz->GoChild(c);
+    }
+    tofile(output, lwz->GetInfo());
+
+    /* flush buffer */
+    closefile(output);
+
+    /* delete trie */
+    delete lwz;
+
+    fclose(input);
+    fclose(output);
+    return(EX_OK);
+}
Index: /liacs/da/opdr2b/constants.h
===================================================================
--- /liacs/da/opdr2b/constants.h	(revision 2)
+++ /liacs/da/opdr2b/constants.h	(revision 2)
@@ -0,0 +1,12 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: constants.h 457 2008-01-08 22:24:08Z rick $
+ * Copyright : FreeBSD Licence
+ */
+
+//use no more than this many keys
+#define MAX_KNOB 2048
+#define START_KNOB 1
+
+//used to make clear wether we live in a ROOT
+#define ROOT -1
Index: /liacs/da/opdr2b/decompressie.cc
===================================================================
--- /liacs/da/opdr2b/decompressie.cc	(revision 2)
+++ /liacs/da/opdr2b/decompressie.cc	(revision 2)
@@ -0,0 +1,202 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: decompressie.cc 457 2008-01-08 22:24:08Z rick $
+ * Copyright : FreeBSD Licence
+ */
+#include <stdio.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <sysexits.h>
+#include <string>
+#include "trie.cc"
+#include "fileio.h"
+#include "constants.h"
+using namespace std;
+
+
+
+/* lookup table to quickly convert key into string */
+struct keypair {
+    int value;
+    int next;
+};
+keypair * lookup[MAX_KNOB];
+
+/* global trie */
+Trie<int> * lwz;
+
+
+/* find string of certain key, return empty if none found */
+void
+getstring (int * output, const int key) {
+    int temp[MAX_KNOB + 1];
+    for (int i = 0; i <= MAX_KNOB + 1; i++) {
+        output[i] = -2;
+        temp[i] = -2;
+    }
+
+    if (lookup[key] == NULL) {
+        output[0] = ROOT;
+        return;
+    }
+
+    int walker = key;
+    int count = 0;
+    while (walker != ROOT) {
+        temp[count] = lookup[walker]->value;
+        walker = lookup[walker]->next;
+        count++;
+    }
+
+    /* reverse the whole string */
+    count--;
+    walker = 0;
+    for (; count >= 0; count--) {
+        output[walker] = temp[count];
+        //fprintf(stderr, "Value %i\n", temp[count]);
+        walker++;
+    }
+    /* put a custom end on the string */
+    output[walker] = ROOT;
+}
+
+
+void decode (FILE * input, FILE *output)
+{
+    /* character storage */
+    int numbers[2];
+    /* string storage of word to find */
+    int string[2][MAX_KNOB + 1];
+
+    /* temp */
+    int count = 0; /* temp variable, loop counter */
+    int knob = START_KNOB;  /* knob to be added */
+    int code = 0;   /* temp variable, loop counter */
+    Trie<int> * lwz;
+
+    /* initialiseer Trie voor ZLW codering */
+    lwz = new Trie<int>;
+
+    for (code = 0; code <= 0xFF; code++) {
+        lwz->GoRoot();
+        lwz->AddChild(code);
+        lwz->GoChild(code);
+        lwz->PutInfo(knob);
+        /* Put data into lookup array */
+        lookup[knob] = new keypair;
+        lookup[knob]->value = code;
+        lookup[knob]->next = ROOT;
+
+        knob++;
+    }
+
+    /* initial input Letter */
+    numbers[1] = fetchnumber(input);
+    while (1) {
+        numbers[0] = numbers[1];
+        numbers[1] = fetchnumber(input);
+
+        /* no need to write any other strings, cause
+         * last knob exists for sure
+         */
+        if (numbers[1] == FILE_END) {
+            getstring(string[0], numbers[0]);
+            for (count = 0; string[0][count] != ROOT; count++)
+                fprintf(output,"%c",string[0][count]);
+            break;
+        }
+
+        /* find potential string */
+        #ifdef DEBUG
+            fprintf(stderr, "Find numbers %i and %i\n", numbers[0], numbers[1]);
+        #endif
+        getstring(string[0], numbers[0]);
+        getstring(string[1], numbers[1]);
+ 
+        /* string1 not exits, find special letter */
+        if (string[1][0] == ROOT) {
+            #ifdef DEBUG
+                fprintf(stderr, "Special find '%i'\n", string[0][0]);
+            #endif
+            string[1][0] = string[0][0];
+        }
+
+        /* find parent */
+        lwz->GoRoot();
+        for (count = 0; string[0][count] != ROOT; count++) {
+            lwz->GoChild(string[0][count]);
+            #ifdef DEBUG
+                fprintf(stderr, "Addon Position: %i\n", lwz->GetInfo());
+            #endif
+        }
+ 
+        /* add child */
+        if (knob < MAX_KNOB) {
+            lookup[knob] = new keypair;
+            lookup[knob]->value = string[1][0];
+            lookup[knob]->next = lwz->GetInfo();
+
+            #ifdef DEBUG
+             fprintf(stderr, "Knob add: %i, value: %i, next %i\n", knob,
+                string[1][0], lwz->GetInfo());
+            #endif
+ 
+            lwz->AddChild(string[1][0]);
+            lwz->GoChild(string[1][0]);
+            lwz->PutInfo(knob);
+            knob++;
+        }
+ 
+        for (count = 0; string[0][count] != ROOT; count++) {
+            fprintf(output,"%c",string[0][count]);
+        }
+    }
+
+    /* free trie memory */
+    delete lwz;
+
+    /* free keypair allocations */
+    for ( ; knob <= 0; knob--) {
+        delete lookup[knob];
+    }
+
+}
+
+
+
+/* XXX: File are only checked at creation time, not during execution */
+int
+main(int argc, char ** argv) {
+    FILE * input;
+    FILE * output;
+
+    if (argc < 2) {
+        fprintf(stderr, "Usage: %s <infile> [<outfile>]\n",argv[0]);
+        return(EX_USAGE);
+    }
+
+    input = fopen(argv[1], "r");
+    if (input == NULL) {
+        fprintf(stderr,"Error: Unable to use `%s', errno: %i\n",
+            argv[1], errno);
+        return(EX_NOINPUT);
+    }
+
+    if (argc == 3) {
+        output = fopen(argv[2], "w");
+        if (output == NULL)
+        {
+            fprintf(stderr,"Error: Unable to use `%s', errno: %i\n",
+                argv[2], errno);
+            return(EX_CANTCREAT);
+        }
+    } else
+        output = stdout;
+
+    /* call actual program */
+    decode(input,output);
+
+    fclose(input);
+    fclose(output);
+    return(EX_OK);
+}
Index: /liacs/da/opdr2b/fileio.cc
===================================================================
--- /liacs/da/opdr2b/fileio.cc	(revision 2)
+++ /liacs/da/opdr2b/fileio.cc	(revision 2)
@@ -0,0 +1,64 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: compressie.cc 330 2007-11-25 23:31:30Z rick $
+ * Copyright : FreeBSD Licence
+ */
+#include <stdio.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <sysexits.h>
+
+#include "fileio.h"
+
+
+
+int
+fetchnumber(FILE * input) {
+    static bool odd = true;
+    static int buffer[3];
+    int number;
+
+    if (feof(input))
+        return(FILE_END);
+
+    if (odd == true) {
+        buffer[0] = fgetc(input);
+        buffer[1] = fgetc(input);
+        buffer[2] = fgetc(input);
+        number = (buffer[0] << 4) | (buffer[1] >> 4);
+        odd = false;
+    } else {
+        number = ((buffer[1] & 0xF) << 8) | buffer[2];
+        odd = true;
+    }
+
+    if (number == FILE_END | number == EOF)
+        return(FILE_END);
+
+    return(number);
+}
+
+/* XXX: Check fread/fwrite instead of hacking around like this */
+void
+tofile(FILE * output, const int input) {
+    static int stored = 0;
+    static bool instore = false;
+
+    if (not instore) {
+        stored = input << 12;
+        instore = true;
+    } else {
+        stored = stored | input;
+        fprintf(output,"%c%c%c", ((0x00FF0000 & stored) >> 16),
+                                 ((0x0000FF00 & stored) >> 8),
+                                  (0x000000FF & stored));
+        instore = false;
+    }
+}
+
+/* set closing point, to really make sure we hit the end of the file */
+void
+closefile(FILE * output) {
+    tofile(output, FILE_END);
+    tofile(output, FILE_END);
+}
Index: /liacs/da/opdr2b/fileio.h
===================================================================
--- /liacs/da/opdr2b/fileio.h	(revision 2)
+++ /liacs/da/opdr2b/fileio.h	(revision 2)
@@ -0,0 +1,5 @@
+#define FILE_END 0x0
+
+int fetchnumber(FILE * input);
+void tofile(FILE * output, const int fresh);
+void closefile(FILE * output);
Index: /liacs/da/opdr2b/read.cc
===================================================================
--- /liacs/da/opdr2b/read.cc	(revision 2)
+++ /liacs/da/opdr2b/read.cc	(revision 2)
@@ -0,0 +1,66 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: read.cc 390 2007-12-20 23:24:34Z rick $
+ * Copyright : FreeBSD Licence
+ */
+#include <stdio.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <sysexits.h>
+
+
+//XXX: File are only checked at creation time, not during execution
+int main (int argc, char ** argv)
+{
+    FILE * input;
+    FILE * output;
+
+    if (argc < 2)
+    {
+        fprintf(stderr, "Usage: %s <infile> [<outfile>]\n",argv[0]);
+        return(EX_USAGE);
+    }
+
+    input = fopen(argv[1], "r");
+    if (input == NULL)
+    {
+        fprintf(stderr,"Error: Unable to use `%s', errno: %i\n",
+                argv[1], errno);
+        return(EX_NOINPUT);
+    }
+
+    if (argc == 3)
+    {
+        output = fopen(argv[2], "w");
+        if (output == NULL)
+        {
+            fprintf(stderr,"Error: Unable to use `%s', errno: %i\n",
+                    argv[2], errno);
+            return(EX_CANTCREAT);
+        }
+    }
+    else
+    {
+        output = stdout;
+    }
+
+
+    int number = 0;
+    int row = 0;
+    while ((number = getc(input)) != EOF)
+    {
+        fprintf(output,"%03i ", number);
+        row++;
+        if ( row == 20 )
+        {
+            printf("\n");
+            row = 0;
+        }
+    }
+
+    fprintf(output,"\n");
+    fclose(input);
+    fclose(output);
+    return(EX_OK);
+}
+
Index: /liacs/da/opdr2b/read12.cc
===================================================================
--- /liacs/da/opdr2b/read12.cc	(revision 2)
+++ /liacs/da/opdr2b/read12.cc	(revision 2)
@@ -0,0 +1,59 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: compressie.cc 330 2007-11-25 23:31:30Z rick $
+ * Copyright : FreeBSD Licence
+ */
+#include <stdio.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <sysexits.h>
+#include "fileio.h"
+
+
+//XXX: File are only checked at creation time, not during execution
+int
+main(int argc, char ** argv) {
+    FILE * input;
+    FILE * output;
+
+    int number = 0;
+    int row = 0;
+
+    if (argc < 2) {
+        fprintf(stderr, "Usage: %s <infile> [<outfile>]\n",argv[0]);
+        return(EX_USAGE);
+    }
+
+    input = fopen(argv[1], "r");
+    if (input == NULL) {
+        fprintf(stderr,"Error: Unable to use `%s', errno: %i\n",
+            argv[1], errno);
+        return(EX_NOINPUT);
+    }
+
+    if (argc == 3) {
+        output = fopen(argv[2], "w");
+        if (output == NULL) {
+            fprintf(stderr,"Error: Unable to use `%s', errno: %i\n",
+                argv[2], errno);
+            return(EX_CANTCREAT);
+        }
+    } else
+        output = stdout;
+
+
+    while ((number = fetchnumber(input)) != FILE_END) {
+        fprintf(output,"%04i ", number);
+        row++;
+        if (row == 15) {
+            printf("\n");
+            row = 0;
+        }
+    }
+
+    fprintf(output,"\n");
+    fclose(input);
+    fclose(output);
+    return(EX_OK);
+}
+
Index: /liacs/da/opdr2b/test.sh
===================================================================
--- /liacs/da/opdr2b/test.sh	(revision 2)
+++ /liacs/da/opdr2b/test.sh	(revision 2)
@@ -0,0 +1,65 @@
+#!/bin/sh
+#/* Author    : Rick van der Zwet
+# * S-number  : 0433373
+# * Version   : $Id: HOWTO.txt 325 2007-11-23 21:17:22Z rick $
+# * Copyright : FreeBSD Licence
+# */
+
+TMPFILE="`dirname $0`/testing"
+
+rm -f $TMPFILE
+numbers="97 98 97 10 99 256 261 257 258 342 10"
+echo -n "Odd: "
+in=`./write12 $TMPFILE $numbers | tr -d '\n'`
+out=`./read12 $TMPFILE | tr -d '\n'`
+if [ "$in" = "$out" ]; then
+    rm -f $TMPFILE
+    echo "PASS"
+else
+    echo "FAILED"
+    exit 1
+fi
+
+rm -f $TMPFILE
+numbers="97 98 97 10 99 256 261 257 258 342 10 230 19"
+echo -n "Even: "
+in=`./write12 $TMPFILE $numbers | tr -d '\n'`
+out=`./read12 $TMPFILE | tr -d '\n'`
+if [ "$in" = "$out" ]; then
+    rm -f $TMPFILE
+    echo "PASS"
+else
+    echo "FAILED"
+    exit 1
+fi
+
+rm -f "$TMPFILE.com" "$TMPFILE.dec" $TMPFILE
+string="abaabcabababaaad"
+echo "$string" > $TMPFILE
+./compressie $TMPFILE "$TMPFILE.com"
+./decompressie "$TMPFILE.com" "$TMPFILE.dec"
+out=`cat $TMPFILE.dec`
+
+echo -n "Com/de '$string': "
+if [ "$string" = "$out" ]; then
+    rm -f $TMPFILE "$TMPFILE.com" "$TMPFILE.dec"
+    echo "PASS"
+else
+    echo "FAILED"
+    exit 1
+fi
+
+FILE='./trie07.ps'
+rm -f "$TMPFILE.com" "$TMPFILE.dec" $TMPFILE
+./compressie $FILE "$TMPFILE.com"
+./decompressie "$TMPFILE.com" "$TMPFILE.dec"
+diff -q $FILE "$TMPFILE.dec"
+if [ $? -eq 0 ]; then
+    rm -f $TMPFILE "$TMPFILE.com" "$TMPFILE.dec"
+    echo "echo Com/de '$FILE' PASS"
+else
+    echo "echo Com/de '$FILE' PASS"
+    exit 1
+fi
+
+
Index: /liacs/da/opdr2b/trie.cc
===================================================================
--- /liacs/da/opdr2b/trie.cc	(revision 2)
+++ /liacs/da/opdr2b/trie.cc	(revision 2)
@@ -0,0 +1,396 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: trie.cc 330 2007-11-25 23:31:30Z rick $
+ * Copyright : FreeBSD Licence
+ */
+
+#include "trie.h"
+#include <stdlib.h>
+#include <stdio.h>
+
+#ifndef TRIE_CC
+#define TRIE_CC
+
+template <class InfoTp>
+TrieNode<InfoTp>::TrieNode()
+{
+    Value = '\0';
+    One = NULL;
+    Zero = NULL;
+    Parent = NULL;
+}
+
+
+
+template <class InfoTp>
+TrieNode<InfoTp>::~TrieNode()
+{
+    delete One;
+    delete Zero;
+}
+
+
+
+template <class InfoTp>
+Trie<InfoTp>::Trie ()
+{
+    Root = new TrieNode<InfoTp> ();
+    //Set window to root
+    GoRoot ();
+}
+
+
+
+template <class InfoTp>
+Trie<InfoTp>::~Trie ()
+{
+    delete Root;
+}
+
+
+
+template <class InfoTp>
+bool Trie<InfoTp>::AtLeaf ()
+{
+    if (Window->One == NULL and Window->Zero == NULL)
+    {
+        return(true);
+    }
+
+    // Got some extra nodes down below
+    return(false);
+}
+
+
+
+template <class InfoTp>
+void Trie<InfoTp>::GoChild (char K)
+{
+    // Call ExistsChild to check if node exists and deliver an pointer
+    // to the node in NodeFound
+    if ( ExistsChild(K) )
+    {
+        Window = NodeFound;
+    }
+}
+
+
+
+template <class InfoTp>
+void Trie<InfoTp>::GoRoot ()
+{
+    //set the current window on the Root pointer
+    Window = Root;
+}
+
+
+
+template <class InfoTp>
+bool Trie<InfoTp>::ExistsChild (char K)
+{
+    // worker with different knob, to make it able to get back
+    TrieNode<InfoTp> * Worker = Window;
+
+    int i;
+    for (i = 7; i >= 0; i--)
+    {
+        // bit i is 1 or not?
+        if (K & 1<<i)
+        {
+            // If node not exists, bail out
+            if (Worker->One == NULL)
+            {
+                return false;
+            }
+            else
+            {
+                Worker = Worker->One;
+            }
+        }
+        else
+        {
+            // If node not exists, bail out
+            if (Worker->Zero == NULL)
+            {
+                return false;
+            }
+            else
+            {
+                Worker = Worker->Zero;
+            }
+        }
+    }
+
+    // Store found window in NodeFound
+    NodeFound = Worker;
+    return true;
+}
+
+
+
+template <class InfoTp>
+char Trie<InfoTp>::FirstChild ()
+{
+    // worker with different knob, to make it able to get back
+    TrieNode<InfoTp> * Worker = Window;
+    // walk 8 bits, i indication of the bit currently are
+    int i;
+    // return value
+    char retval = 0;
+    for (i = 7; i >= 0; i--)
+    {
+        // go as many Zero if possible else go right if possible else return \0
+        if (Worker->Zero != NULL)
+        {
+            Worker = Worker->Zero;
+        }
+        else if (Worker->One != NULL)
+        {
+            //set bit i to 1
+            retval |= 1<<i;
+            Worker = Worker->One;
+        }
+        else
+        {
+            retval = '\0';
+            break;
+        }
+    }
+    return(retval);
+}
+
+
+
+/* This does not seems be very logical in the first place, but try to
+ * draw a picture and then follow the paths, just remind 2 things
+ * -no One 'turns' are allowed, cause those are higher order childs
+ * -the story ends if you hit the startnode from the right
+ * XXX: Only works well with one level depth, not multilevel depth
+ */
+template <class InfoTp>
+char Trie<InfoTp>::NextChild (char K)
+{
+    // store startnode
+    TrieNode<InfoTp> * Worker;
+    // tmp (loop) counter
+    int i;
+    // return value, not changed if not found
+    int retval = '\0';
+
+    // goto child node if it exists at least
+    if (ExistsChild(K)) {
+        Worker = NodeFound;
+
+        // depth counter
+        i = 0;
+        while ( true )
+        {
+            // ends if in startnode and came from right or
+            // in startnode en no left turn possible
+            if (Worker->Parent == Window)
+            {
+                if (Worker->Parent->One == Worker or
+                       Worker->Parent->One == NULL)
+                {
+                    return(retval);
+                }
+            }
+
+            //if from left and right available, go for it
+            if (Worker->Parent->Zero == Worker and
+                Worker->Parent->One != NULL)
+            {
+                Worker = Worker->Parent->One;
+
+                //walk to child leaf
+                while (i > 0)
+                {
+                    //decrement counter, cause we are going inward again
+                    i--;
+                    // if left available take it, else right
+                    if (Worker->Zero != NULL)
+                    {
+                        Worker = Worker->Zero;
+                    }
+                    else
+                    {
+                        Worker = Worker->One;
+                    }
+                }
+
+                //calculate value NextChild
+                retval = 0;
+                for (i = 0; i <= 7; i++)
+                {
+                    if (Worker->Parent->One == Worker)
+                    {
+                        retval |= 1<<i;
+                    }
+                    Worker = Worker->Parent;
+                }
+
+                //should never happen
+                if (Worker != Window)
+                {
+                    perror("BUG: NextChild find value error");
+                    exit(1);
+                }
+                return(retval);
+            }
+
+            //set new value Worker
+            Worker = Worker->Parent;
+            //raise counter
+            i++;
+        }
+        // end none found
+        return(retval);
+    }
+    // no valid leaf
+    return(retval);
+}
+
+
+
+template <class InfoTp>
+void Trie<InfoTp>::AddChild (char K)
+{
+    //get worker pointer
+    TrieNode<InfoTp> * Worker = Window;
+
+    int i;
+    for (i = 7; i >= 0; i--)
+    {
+        //bit i is 1 or not?
+        if (K & 1<<i)
+        {
+            // check is node exists, else create new one
+            if (Worker->One == NULL)
+            {
+                Worker->One = new TrieNode<InfoTp>();
+            }
+            Worker->One->Parent = Worker;
+            Worker = Worker->One;
+        }
+        else {
+            // check is node exists, else create new one
+            if (Worker->Zero == NULL)
+            {
+                Worker->Zero = new TrieNode<InfoTp>();
+            }
+            Worker->Zero->Parent = Worker;
+            Worker = Worker->Zero;
+        }
+    }
+}
+
+
+
+template <class InfoTp>
+void Trie<InfoTp>::RemoveChild (char K)
+{
+    TrieNode<InfoTp> * Worker;
+    int i; //loop counter
+    //check whether this knob exists
+    if ( ExistsChild(K) )
+    {
+        Worker = NodeFound;
+        //and is leaf
+        if (Worker->One == NULL and Worker->Zero == NULL)
+        {
+            //delete obsolete knob and null refering pointer
+            // walk 7 steps up and delete node if both pointers are zero
+            // first step is special cause the other could be a leaf as
+            // well
+
+
+            //goto parent
+            Worker = Worker->Parent;
+            //deleted leaf specified at NodeFound
+            if (Worker->One == NodeFound)
+            {
+                delete Worker->One;
+                Worker->One = NULL;
+            }
+            else
+            {
+                delete Worker->Zero;
+                Worker->Zero = NULL;
+            }
+
+            for (i = 0; i <= 6; i++)
+            {
+                // go one up
+                Worker = Worker->Parent;
+
+                //XXX: Only need to check the node we came from, instead
+                //of both
+
+                // Check wether we could delete arch 1
+                if (Worker->One != NULL)
+                {
+                    //delete subnode if both pointers are NULL
+                    if (Worker->One->One == NULL and
+                        Worker->One->Zero == NULL)
+                    {
+                        delete Worker->One;
+                        Worker->One = NULL;
+                    }
+                }
+
+                // Check wether we could delete arch 0
+                if (Worker->Zero != NULL)
+                {
+                    //delete subnode if both pointers are NULL
+                    if (Worker->Zero->One == NULL and
+                        Worker->Zero->Zero == NULL)
+                    {
+                        delete Worker->Zero;
+                        Worker->Zero = NULL;
+                    }
+                }
+            }
+
+            //Should never happen
+            if (Window != Worker)
+            {
+                perror("BUG: Pointer delete error");
+                exit(1);
+            }
+        }
+    }
+}
+
+
+
+template <class InfoTp>
+void Trie<InfoTp>::PutInfo (InfoTp I)
+{
+    Window->Value = I;
+}
+
+
+
+template <class InfoTp>
+InfoTp Trie<InfoTp>::GetInfo ()
+{
+    return(Window->Value);
+}
+
+
+
+template <class InfoTp>
+void Trie<InfoTp>::GotoNode(TrieNode<InfoTp> *Nd)
+{
+    Window = Nd;
+}
+
+
+
+template <class InfoTp>
+TrieNode<InfoTp> *Trie<InfoTp>::GetNode()
+{
+    return(Window);
+}
+
+#endif
Index: /liacs/da/opdr2b/trie.h
===================================================================
--- /liacs/da/opdr2b/trie.h	(revision 2)
+++ /liacs/da/opdr2b/trie.h	(revision 2)
@@ -0,0 +1,60 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: trie.h 322 2007-11-22 14:09:00Z rick $
+ * Copyright : FreeBSD Licence
+ */
+
+#ifndef TRIE_H
+#define TRIE_H
+template <class InfoTp>
+class TrieNode
+{
+    public:
+        TrieNode();
+        ~TrieNode();
+        InfoTp Value;       // Value of TrieNode
+        TrieNode *One,      // Pointer to node if bit is set 1
+                 *Zero,     // Pointer to node if bit is set 0
+                 *Parent;   // Pointer to parent node
+};
+
+
+template <class InfoTp>
+class Trie
+{   public:
+        // Constructor, create new Trie, only root
+        Trie ();
+        // Destructor
+        ~Trie ();
+        //Test wether window is at leaf
+        bool AtLeaf ();
+        // Place window on Root
+        void GoRoot ();
+        // Check wether current knob has child K
+        bool ExistsChild (char K);
+        // Place window at child K of current knob
+        void GoChild (char K);
+        // First child of current knob, '\0' if child has no children
+        char FirstChild ();
+        // Get next child of current knob, '\0' if none
+        char NextChild (char K);
+        // Add child K, if already exists do nothing
+        void AddChild (char K);
+        // Remove child, do nothing if not exists
+        void RemoveChild (char K);
+        // Place information in current knob
+        void PutInfo (InfoTp I);
+        // Get information of current knob
+        InfoTp GetInfo ();
+        //  PLace window of knob provided
+        void GotoNode (TrieNode<InfoTp> *Nd);
+        // Get address of current knob
+        TrieNode<InfoTp> *GetNode ();
+    private:
+        TrieNode<InfoTp>    *Window,     //het venster
+                            *NodeFound,  //store value node if exists
+                            *Root;       //de wortel
+};
+
+
+#endif
Index: /liacs/da/opdr2b/write12.cc
===================================================================
--- /liacs/da/opdr2b/write12.cc	(revision 2)
+++ /liacs/da/opdr2b/write12.cc	(revision 2)
@@ -0,0 +1,46 @@
+/* Author    : Rick van der Zwet
+ * S-number  : 0433373
+ * Version   : $Id: compressie.cc 330 2007-11-25 23:31:30Z rick $
+ * Copyright : FreeBSD Licence
+ */
+#include <stdio.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <sysexits.h>
+#include "fileio.h"
+
+
+/* XXX: File are only checked at creation time, not during execution */
+int
+main(int argc, char ** argv)
+{
+    FILE * output;
+
+    int number;
+    int temp;
+
+    if (argc < 3) {
+        fprintf(stderr, "Usage: %s <outfile> <number1> [<numberN>]\n",argv[0]);
+        return(EX_USAGE);
+    }
+
+    output = fopen(argv[1], "w");
+    if (output == NULL) {
+        fprintf(stderr,"Error: Unable to use `%s', errno: %i\n",
+            argv[2], errno);
+        return(EX_CANTCREAT);
+    }
+
+    for (number = 2; number < argc; number++) {
+        temp = atoi(argv[number]);
+        printf("%i ", temp);
+        tofile(output, temp);
+    }
+
+    closefile(output);
+    printf("\n");
+    fclose(output);
+
+    return(EX_OK);
+}
+
Index: /liacs/db/opdr1/destruct.sql
===================================================================
--- /liacs/db/opdr1/destruct.sql	(revision 2)
+++ /liacs/db/opdr1/destruct.sql	(revision 2)
@@ -0,0 +1,14 @@
+--name: Rick van der Zwet
+--sid:  0433373
+--file: destruct.sql
+--vak/opdracht: Databases/ opdracht 1
+
+DROP TABLE won;
+DROP TABLE participate;
+DROP TABLE Sports_event;
+DROP TABLE plays;
+DROP TABLE Sports_Branch;
+DROP TABLE Sponsor;
+DROP TABLE Sportsman;
+DROP TABLE Coach;
+
Index: /liacs/db/opdr1/generate.sql
===================================================================
--- /liacs/db/opdr1/generate.sql	(revision 2)
+++ /liacs/db/opdr1/generate.sql	(revision 2)
@@ -0,0 +1,116 @@
+--name: Rick van der Zwet
+--sid:  0433373
+--file: generate.sql
+--vak/opdracht: Databases/ opdracht 1
+
+CREATE TABLE Coach(
+  ID integer,
+  Age integer,
+  Name char(20),
+  PRIMARY KEY( ID )
+);
+
+
+CREATE TABLE Sportsman(
+   ID integer,
+   Age integer,
+   Name char(20),
+   Country char(20),
+   Coach_id integer NOT NULL,
+   PRIMARY KEY( ID ),
+   FOREIGN KEY( Coach_id ) REFERENCES Coach( ID )
+);
+
+
+CREATE TABLE Sponsor(
+  ID integer,
+  Name char(20),
+  SupportSportsman_id integer,
+  Budget integer,
+  PRIMARY KEY( ID ),
+  FOREIGN KEY( SupportSportsman_id ) REFERENCES Sportsman( ID )
+);
+
+
+CREATE TABLE Sports_Branch(
+  Name char(20),
+  PRIMARY KEY( Name )
+);
+
+
+CREATE TABLE plays(
+  Sportsman_id integer,
+  Sports_Branch char(20),
+  PRIMARY KEY( Sportsman_id, Sports_Branch ),
+  FOREIGN KEY( Sportsman_id ) REFERENCES Sportsman( ID ) ON DELETE CASCADE,
+  FOREIGN KEY( Sports_Branch ) REFERENCES Sports_Branch( Name ) ON DELETE CASCADE
+);
+
+
+CREATE TABLE Sports_event(
+  ID integer,
+  Datum date,
+  Name char(20),
+  Location char(20),
+  PRIMARY KEY( ID )
+);
+
+
+CREATE TABLE participate(
+  Sportsman_id integer,
+  SportsEvent_id integer,
+  PRIMARY KEY( Sportsman_id, SportsEvent_id ),
+  FOREIGN KEY( Sportsman_id ) REFERENCES Sportsman( ID ) ON DELETE CASCADE,
+  FOREIGN KEY( SportsEvent_id ) REFERENCES Sports_event ( ID ) ON DELETE CASCADE
+);
+
+CREATE TABLE won( 
+  Sportsman_id integer,
+  Sports_event integer,
+  Sports_Branch char(20),
+  Metal char(20),
+  PRIMARY KEY( Sportsman_id, Sports_event, Sports_Branch ),
+  FOREIGN KEY( Sportsman_id ) REFERENCES Sportsman( ID ) ON DELETE CASCADE,
+  FOREIGN KEY( Sports_event ) REFERENCES Sports_event( ID ) ON DELETE CASCADE,
+  FOREIGN KEY( Sports_Branch ) REFERENCES Sports_Branch( Name ) ON DELETE CASCADE
+);
+  
+
+--
+--budget VIEW is een beetje in elkaar gehacked
+--niet geheel duidelijk wat bedoeld werd.
+--de view lijkt me wat overbodig hier, 
+--dit kan beter extern geregeld worden. 
+--
+
+CREATE TABLE Sponsor_login(
+  Name char(20), 
+  Passwd char(20),
+  Sponsor_id integer,
+  PRIMARY KEY ( Name ),
+  FOREIGN KEY( Sponsor_id ) REFERENCES Sponsor( ID ) ON DELETE CASCADE
+);
+
+CREATE VIEW budget( Name, Support_Sportsman_id, Budget ) 
+  AS SELECT S.Name, S.SupportSportsman_id, S.Budget
+  FROM Sponsor S, Sponsor_login L 
+  WHERE L.sponsor_id = S.ID AND L.Passwd = 'externe_variable'
+;
+
+DROP VIEW budget;
+DROP TABLE sponsor_login;
+
+--
+--END of HACK
+--
+
+
+DROP TABLE won;
+DROP TABLE participate;
+DROP TABLE Sports_event;
+DROP TABLE plays;
+DROP TABLE Sports_Branch;
+DROP TABLE Sponsor;
+DROP TABLE Sportsman;
+DROP TABLE Coach;
+
Index: /liacs/db/opdr2/create_db.sql
===================================================================
--- /liacs/db/opdr2/create_db.sql	(revision 2)
+++ /liacs/db/opdr2/create_db.sql	(revision 2)
@@ -0,0 +1,81 @@
+--name: Rick van der Zwet
+--sid:  0433373
+--file: ex2.sql
+--vak/opdracht: Databases/ opdracht 2
+
+DROP TABLE Sleep;
+DROP TABLE Coaches;
+DROP TABLE Coach;
+DROP TABLE Sportsman;
+
+CREATE TABLE Sportsman(
+  Sid integer NOT NULL,
+  Sname char(20),
+  Sage integer,
+  Scountry char(20),
+  PRIMARY KEY( Sid )
+);
+
+CREATE TABLE Coach(
+  Cid integer NOT NULL,
+  Cname char(20),
+  Cage integer,
+  Ccountry char(20),
+  PRIMARY KEY( Cid )
+);
+
+CREATE TABLE Coaches(
+  Cid integer,
+  Sid integer,
+  FOREIGN KEY ( Cid ) REFERENCES Coach( Cid ),
+  FOREIGN KEY ( Sid ) REFERENCES SportsMan( Sid )
+);
+
+
+CREATE TABLE Sleep(
+  Sid integer,
+  Branch char(20),
+  Day date,
+  NumHours integer,
+  PRIMARY KEY ( Sid, Day ),
+  FOREIGN KEY ( Sid ) REFERENCES SportsMan( Sid )
+);
+  
+INSERT INTO Sportsman VALUES ( 1, 'Rick', 15, 'nl' );
+INSERT INTO Sportsman VALUES ( 2, 'Simoneer', 25, 'nl' );
+INSERT INTO Sportsman VALUES ( 3, 'Simone', 38, 'nl' );
+INSERT INTO Sportsman VALUES ( 4, 'Stefan', 20, 'de' );
+INSERT INTO Sportsman VALUES ( 5, 'Anton', 25, 'de' );
+INSERT INTO Sportsman VALUES ( 6, 'Henrich', 38, 'de' );
+INSERT INTO Sportsman VALUES ( 7, 'Huibert', 18, 'fr' );
+INSERT INTO Sportsman VALUES ( 8, 'Francios', 20, 'fr' );
+INSERT INTO Sportsman VALUES ( 9, 'Nancy', 30, 'fr' );
+INSERT INTO Sportsman VALUES ( 10, 'Rosa', 38, 'fr' );
+
+INSERT INTO Coach VALUES (1, 'coach 1', 10, 'nl' );
+INSERT INTO Coach VALUES (2, 'coach 2', 20, 'nl' );
+INSERT INTO Coach VALUES (3, 'coach 3', 30, 'de' );
+INSERT INTO Coach VALUES (4, 'coach 4', 40, 'de' );
+INSERT INTO Coach VALUES (5, 'coach 5', 50, 'de' );
+INSERT INTO Coach VALUES (6, 'coach 6', 60, 'fr' );
+INSERT INTO Coach VALUES (7, 'coach 7', 70, 'fr' );
+INSERT INTO Coach VALUES (8, 'coach 8', 80, 'fr' );
+
+INSERT INTO Coaches VALUES ( 1, 1 );
+INSERT INTO Coaches VALUES ( 2, 2 );
+INSERT INTO Coaches VALUES ( 2, 5 );
+INSERT INTO Coaches VALUES ( 3, 3 );
+INSERT INTO Coaches VALUES ( 3, 2 );
+INSERT INTO Coaches VALUES ( 4, 4 );
+INSERT INTO Coaches VALUES ( 5, 5 );
+INSERT INTO Coaches VALUES ( 6, 6 );
+INSERT INTO Coaches VALUES ( 7, 7 );
+INSERT INTO Coaches VALUES ( 8, 8 );
+
+INSERT INTO Sleep VALUES ( 1, 'judo', SYSDATE, 5 );
+INSERT INTO Sleep VALUES ( 1, 'judo', SYSDATE+1, 9 );
+INSERT INTO Sleep VALUES ( 1, 'judo', SYSDATE+2, 3 );
+INSERT INTO Sleep VALUES ( 2, 'judo', SYSDATE, 3 );
+INSERT INTO Sleep VALUES ( 3, 'judo', SYSDATE, 8 );
+INSERT INTO Sleep VALUES ( 4, 'zwemmen', SYSDATE, 6 );
+
Index: /liacs/db/opdr2/ex2.sql
===================================================================
--- /liacs/db/opdr2/ex2.sql	(revision 2)
+++ /liacs/db/opdr2/ex2.sql	(revision 2)
@@ -0,0 +1,165 @@
+--- 1a
+--- Note: RTRIM is used to remove trailing whitespace
+SELECT S.sname 
+FROM Sportsman S 
+WHERE RTRIM(sname) LIKE 'S%m%e';
+
+--- 1b
+SELECT S.sname
+FROM Sportsman S, Coaches T
+WHERE S.sid = T.sid AND S.sage > 23;
+
+
+--- 1c
+SELECT C.cname
+FROM Coach C, Coaches T, Sportsman S
+WHERE C.cid = T.cid AND 
+      T.sid = S.sid AND
+      C.ccountry = S.scountry AND
+      C.cage < ( SELECT MAX( C2.cage )
+                 FROM Coach C2);
+
+--- 1d
+SELECT S.sname, C.cname
+FROM Sportsman S, Coach C, Coaches T
+WHERE S.sid = T.sid AND
+      T.cid = C.cid AND 
+      ABS(S.sage - C.cage) < 10;
+
+--- 1e1
+SELECT UNIQUE C.cname
+FROM Coach C, Coaches T1, Coaches T2
+WHERE C.cid = T1.cid AND
+      T1.cid = T2.cid AND
+      NOT T1.sid = T2.sid;
+     
+--- 1e2
+SELECT C.cname
+FROM Coach C
+WHERE C.cid = ( SELECT T.cid 
+                FROM Coaches T
+                WHERE T.cid = C.cid
+                GROUP BY T.cid
+                HAVING COUNT(*) > 1 );
+
+--- 1f
+SELECT C.cname
+FROM Coach C
+WHERE C.cid IN ( SELECT T.cid
+                 FROM Coaches T, Sportsman S
+                 WHERE T.sid = S.sid AND S.scountry = 'nl') AND
+      C.cid IN ( SELECT T2.cid
+                  FROM Coaches T2, Sportsman S2
+                  WHERE T2.sid = S2.sid AND S2.scountry = 'de'
+                  GROUP BY T2.cid 
+                  HAVING COUNT(*) = 1);
+
+--- 1g
+SELECT C.cname 
+FROM Coach C
+WHERE C.cid IN ( SELECT T.cid
+                 FROM Coaches T, Sportsman S
+                 WHERE T.sid = S.sid AND S.scountry = 'nl'
+                 GROUP BY T.cid
+                 HAVING COUNT(*) = 1) AND
+      C.cid NOT IN ( SELECT T2.cid
+                     FROM Coaches T2, Sportsman S2
+                     WHERE T2.sid = S2.sid AND S2.scountry = 'de');
+
+--- 1h
+SELECT C.cname C
+FROM Coach C
+WHERE C.cid NOT IN ( SELECT T.cid
+                     FROM Coaches T, Sportsman S
+                     WHERE T.sid = S.sid AND S.scountry = 'fr');
+      
+--- 1i
+SELECT C.cname C
+FROM Coach C
+WHERE C.cid IN ( SELECT T.cid
+                 FROM Coaches T, Sportsman S
+                 WHERE T.sid = S.sid AND S.scountry != 'fr');
+
+--- 2a 
+SELECT R.Branch, S.sname, R.NumHours
+FROM Sleep R, Sportsman S, (SELECT R2.Branch, MAX(R2.NumHours) AS max
+                            FROM Sleep R2
+                            GROUP BY R2.Branch) SleepB 
+WHERE S.sid = R.sid AND  R.Branch = SleepB.Branch AND R.NumHours = SleepB.max;
+
+
+--- 2b
+SELECT S.sname, Person.avg AS avg_sleep, Person2Branch.Branch 
+FROM Sportsman S, (SELECT R.Branch, AVG(R.NumHours) AS avg
+                   FROM Sleep R
+                   GROUP BY R.Branch) Branch,
+                  (SELECT DISTINCT R2.sid, R2.Branch
+                   FROM Sleep R2) Person2Branch,
+                  (SELECT R3.sid, AVG(R3.NumHours) AS avg
+                   FROM Sleep R3
+                   GROUP BY R3.sid) Person
+WHERE S.sid = Person.sid AND
+      S.sid = Person2Branch.sid AND 
+      Person2Branch.Branch = Branch.Branch AND
+      Person.avg < Branch.avg;
+
+
+--- 3a
+--- nothing done, when deleting a country from Members
+DROP TABLE Votes;
+DROP TABLE Members;
+CREATE TABLE Members(
+  name char(20),
+  status char(20) NOT NULL,
+  PRIMARY KEY ( name ),
+  CHECK( (status = 'permanent') OR (status = 'elected') ) 
+);
+
+CREATE TABLE Votes(
+  res char(20),
+  country char(20),
+  vote char(20) NOT NULL,
+  PRIMARY KEY ( res, country ),
+  FOREIGN KEY ( country ) REFERENCES Members( name ),
+  CHECK( (vote = 'yes') OR ( vote = 'no' ) OR ( vote = 'abstrain' ) )
+);
+
+
+--some bogus data
+INSERT INTO Members VALUES ('dk', 'elected' );
+INSERT INTO Members VALUES ('nl', 'elected' );
+INSERT INTO Members VALUES ('de', 'permanent' );
+INSERT INTO Members VALUES ('en', 'permanent' );
+INSERT INTO Members VALUES ('fr', 'permanent' );
+
+INSERT INTO Votes VALUES ('oud', 'nl', 'no' );
+INSERT INTO Votes VALUES ('oud', 'dk', 'yes' );
+INSERT INTO Votes VALUES ('oud', 'en', 'yes' );
+INSERT INTO Votes VALUES ('nieuw', 'nl', 'yes' );
+INSERT INTO Votes VALUES ('oud', 'de', 'no' );
+INSERT INTO Votes VALUES ('oud1', 'de', 'no' );
+
+SELECT V.res
+FROM Votes V
+GROUP BY V.res
+HAVING 0 = ( SELECT COUNT(*)
+             FROM Votes V2, Members M
+             WHERE V.res = V2.res AND
+             V2.country = M.name AND
+             M.status = 'permanent' AND
+             V2.vote = 'no' ) AND
+       14 < ( SELECT COUNT(*)
+             FROM Votes V3
+             WHERE V3.res = V.res AND
+                  V3.vote = 'yes');
+
+---3c
+--this is not a correct answer, cause it don't give value to countries with no veto votes, but it lists all the 'permanent countries'
+SELECT M.name, Vote.veto
+FROM Members M, ( SELECT V.country, Count (*) AS veto 
+                  FROM Votes V 
+                  WHERE V.vote = 'no'
+                  GROUP BY V.country
+                ) Vote
+WHERE M.status = 'permanent' AND M.name = Vote.country (+) ;
+
Index: /liacs/db/opdr3/Makefile
===================================================================
--- /liacs/db/opdr3/Makefile	(revision 2)
+++ /liacs/db/opdr3/Makefile	(revision 2)
@@ -0,0 +1,18 @@
+vb1: vb1.o
+	g++ -o vb1 -L$(ORACLE_HOME)/lib/ -lclntsh   \
+	`cat $(ORACLE_HOME)/lib/sysliblist` -lm \
+	vb1.o
+vb1.o: vb1.c
+	g++ \
+	-D_REENTRANT -DPRECOMP  \
+	-I. -I$(ORACLE_HOME)/precomp/public \
+	-I$(ORACLE_HOME)/rdbms/public \
+	-I$(ORACLE_HOME)/rdbms/demo \
+	-I$(ORACLE_HOME)/plsql/public \
+	-I$(ORACLE_HOME)/network/public \
+	-DSLMXMX_ENABLE -DSLTS_ENABLE -D_SVID_GETTOD   \
+	 -c vb1.c
+vb1.c: vb1.pc
+	proc iname=vb1.pc code=cpp sys=include=(/usr/include,/usr/include/linux,/usr/include/g++-3,/usr/lib/gcc-lib/i386-redhat-linux/2.96/include)
+clean:
+	rm vb1 vb1.o vb1.c
Index: /liacs/db/opdr3/table.sql
===================================================================
--- /liacs/db/opdr3/table.sql	(revision 2)
+++ /liacs/db/opdr3/table.sql	(revision 2)
@@ -0,0 +1,12 @@
+CREATE TABLE Branch  (
+        branch_no VARCHAR(10),
+        address VARCHAR(60),
+        phone VARCHAR(13),
+	fax VARCHAR(13),
+        PRIMARY KEY (branch_no)
+);
+
+INSERT INTO Branch VALUES ('1','Niels Bohrweg 1','071-5272222','071-5272345');
+INSERT INTO Branch VALUES ('2','Einsteinweg 5','071-5272332','071-5273345');
+INSERT INTO Branch VALUES ('3','Rapenburg 70','071-5271234','071-5278970');
+
Index: /liacs/db/opdr3/vb1.c
===================================================================
--- /liacs/db/opdr3/vb1.c	(revision 2)
+++ /liacs/db/opdr3/vb1.c	(revision 2)
@@ -0,0 +1,465 @@
+
+/* Result Sets Interface */
+#ifndef SQL_CRSR
+#  define SQL_CRSR
+  struct sql_cursor
+  {
+    unsigned int curocn;
+    void *ptr1;
+    void *ptr2;
+    unsigned long magic;
+  };
+  typedef struct sql_cursor sql_cursor;
+  typedef struct sql_cursor SQL_CURSOR;
+#endif /* SQL_CRSR */
+
+/* Thread Safety */
+typedef void * sql_context;
+typedef void * SQL_CONTEXT;
+
+/* Object support */
+struct sqltvn
+{
+  unsigned char *tvnvsn; 
+  unsigned short tvnvsnl; 
+  unsigned char *tvnnm;
+  unsigned short tvnnml; 
+  unsigned char *tvnsnm;
+  unsigned short tvnsnml;
+};
+typedef struct sqltvn sqltvn;
+
+struct sqladts
+{
+  unsigned int adtvsn; 
+  unsigned short adtmode; 
+  unsigned short adtnum;  
+  sqltvn adttvn[1];       
+};
+typedef struct sqladts sqladts;
+
+static struct sqladts sqladt = {
+  1,1,0,
+};
+
+/* Binding to PL/SQL Records */
+struct sqltdss
+{
+  unsigned int tdsvsn; 
+  unsigned short tdsnum; 
+  unsigned char *tdsval[1]; 
+};
+typedef struct sqltdss sqltdss;
+static struct sqltdss sqltds =
+{
+  1,
+  0,
+};
+
+/* File name & Package Name */
+struct sqlcxp
+{
+  unsigned short fillen;
+           char  filnam[7];
+};
+static const struct sqlcxp sqlfpn =
+{
+    6,
+    "vb1.pc"
+};
+
+
+static unsigned long sqlctx = 4611;
+
+
+static struct sqlexd {
+   unsigned int   sqlvsn;
+   unsigned int   arrsiz;
+   unsigned int   iters;
+   unsigned int   offset;
+   unsigned short selerr;
+   unsigned short sqlety;
+   unsigned int   occurs;
+      const short *cud;
+   unsigned char  *sqlest;
+      const char  *stmt;
+   sqladts *sqladtp;
+   sqltdss *sqltdsp;
+            void  **sqphsv;
+   unsigned int   *sqphsl;
+            int   *sqphss;
+            void  **sqpind;
+            int   *sqpins;
+   unsigned int   *sqparm;
+   unsigned int   **sqparc;
+   unsigned short  *sqpadto;
+   unsigned short  *sqptdso;
+            void  *sqhstv[5];
+   unsigned int   sqhstl[5];
+            int   sqhsts[5];
+            void  *sqindv[5];
+            int   sqinds[5];
+   unsigned int   sqharm[5];
+   unsigned int   *sqharc[5];
+   unsigned short  sqadto[5];
+   unsigned short  sqtdso[5];
+} sqlstm = {10,5};
+
+// Prototypes
+extern "C" {
+  void sqlcxt (void **, unsigned long *,
+               struct sqlexd *, const struct sqlcxp *);
+  void sqlcx2t(void **, unsigned long *,
+               struct sqlexd *, const struct sqlcxp *);
+  void sqlbuft(void **, char *);
+  void sqlgs2t(void **, char *);
+  void sqlorat(void **, unsigned long *, void *);
+}
+
+// Forms Interface
+static const int IAPSUCC = 0;
+static const int IAPFAIL = 1403;
+static const int IAPFTL  = 535;
+extern "C" { void sqliem(char *, int *); }
+
+typedef struct { unsigned short len; unsigned char arr[1]; } VARCHAR;
+typedef struct { unsigned short len; unsigned char arr[1]; } varchar;
+
+/* cud (compilation unit data) array */
+static const short sqlcud0[] =
+{10,4130,0,0,0,
+5,0,0,1,0,0,32,62,0,0,0,0,0,1,0,
+20,0,0,2,0,0,27,100,0,0,4,4,0,1,0,1,9,0,0,1,9,0,0,1,10,0,0,1,10,0,0,
+51,0,0,3,95,0,4,126,0,0,5,1,0,1,0,2,9,0,0,2,9,0,0,2,9,0,0,2,9,0,0,1,9,0,0,
+86,0,0,4,0,0,32,156,0,0,0,0,0,1,0,
+};
+
+
+/*
+ *  vb1.pc
+ *
+ *  Prompts the user for a branch number,
+ *  then queries the branch table for the branch's
+ *  address, phone and fax.
+ *  2003, Siegfried Nijssen (snijssen@liacs.nl)
+ */
+
+#include <iostream.h>
+#include <string.h>
+#include <stdlib.h>
+#include <sqlda.h>
+#include <sqlcpr.h>
+#include <sqlca.h>
+
+// Define constants for VARCHAR lengths.
+#define     UNAME_LEN      20
+#define     PWD_LEN        40
+
+//* Declare variables.
+
+/* EXEC SQL BEGIN DECLARE SECTION; */ 
+
+
+/* VARCHAR username[UNAME_LEN]; */ 
+struct { unsigned short len; unsigned char arr[20]; } username;
+  
+/* VARCHAR password[PWD_LEN]; */ 
+struct { unsigned short len; unsigned char arr[40]; } password;
+   
+
+// Define a host structure for the output values of a SELECT statement. 
+struct
+{
+  /* VARCHAR branch_no[10]; */ 
+struct { unsigned short len; unsigned char arr[10]; } branch_no;
+
+  /* VARCHAR address[60]; */ 
+struct { unsigned short len; unsigned char arr[60]; } address;
+
+  /* VARCHAR phone[13]; */ 
+struct { unsigned short len; unsigned char arr[13]; } phone;
+
+  /* VARCHAR fax[13]; */ 
+struct { unsigned short len; unsigned char arr[13]; } fax;
+
+} branchrec;
+
+//  Input host variable.
+/* VARCHAR branch_no[10]; */ 
+struct { unsigned short len; unsigned char arr[10]; } branch_no;
+
+
+/* EXEC SQL END DECLARE SECTION; */ 
+
+
+// Declare error handling function. 
+void sql_error(char *msg)
+{
+  char err_msg[128];
+  size_t buf_len, msg_len;
+
+  /* EXEC SQL WHENEVER SQLERROR CONTINUE; */ 
+
+   /* after executing this line, sql_error is no longer used as
+    * error handling function. In this way, infinite 
+    * recursion is avoided if the next SQL statement
+    * in this function fails.
+    */
+
+  // Print the error message:
+  cout << msg << endl;
+  buf_len = sizeof (err_msg);
+  sqlglm(err_msg, &buf_len, &msg_len);
+  cout << msg_len << "*" << err_msg << endl;
+
+  // Make sure the database is consistent:
+  /* EXEC SQL ROLLBACK RELEASE; */ 
+
+{
+  struct sqlexd sqlstm;
+  sqlstm.sqlvsn = 10;
+  sqlstm.arrsiz = 0;
+  sqlstm.sqladtp = &sqladt;
+  sqlstm.sqltdsp = &sqltds;
+  sqlstm.iters = (unsigned int  )1;
+  sqlstm.offset = (unsigned int  )5;
+  sqlstm.cud = sqlcud0;
+  sqlstm.sqlest = (unsigned char  *)&sqlca;
+  sqlstm.sqlety = (unsigned short)256;
+  sqlstm.occurs = (unsigned int  )0;
+  sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
+}
+
+
+  
+  // Stop the program.
+  exit(EXIT_FAILURE);
+}
+
+void main()
+{
+  char temp_char[32]; /* strings are of type VARCHAR in Oracle and not \0
+                       * terminated. We use this temporary variable
+		       * whenever a \0 terminated string is necessary.
+		       */
+
+  
+  cout << "Enter your ORACLE username: " << endl;
+  cin >> temp_char;
+  
+  /* Connect to ORACLE--
+   * Copy the username into the VARCHAR.
+   */
+  strncpy((char *) username.arr, temp_char, UNAME_LEN);
+
+  // Set the length component of the VARCHAR. This is always required! 
+  username.len = (unsigned short) strlen((char *) username.arr);
+  
+  cout << "Enter your ORACLE password: " << endl;
+  cin >> temp_char;
+
+  // Copy the password.
+  strncpy((char *) password.arr, temp_char, PWD_LEN);
+  password.len = (unsigned short) strlen((char *) password.arr);
+
+  // Register sql_error() as the error handler. */
+  /* EXEC SQL WHENEVER SQLERROR DO sql_error("ORACLE error--\n"); */ 
+
+
+  /* Connect to ORACLE.  Program will call sql_error()
+   * if an error occurs when connecting to the default database.
+   */
+  /* EXEC SQL CONNECT :username IDENTIFIED BY :password; */ 
+
+{
+  struct sqlexd sqlstm;
+  sqlstm.sqlvsn = 10;
+  sqlstm.arrsiz = 4;
+  sqlstm.sqladtp = &sqladt;
+  sqlstm.sqltdsp = &sqltds;
+  sqlstm.iters = (unsigned int  )10;
+  sqlstm.offset = (unsigned int  )20;
+  sqlstm.cud = sqlcud0;
+  sqlstm.sqlest = (unsigned char  *)&sqlca;
+  sqlstm.sqlety = (unsigned short)256;
+  sqlstm.occurs = (unsigned int  )0;
+  sqlstm.sqhstv[0] = (         void  *)&username;
+  sqlstm.sqhstl[0] = (unsigned int  )22;
+  sqlstm.sqhsts[0] = (         int  )22;
+  sqlstm.sqindv[0] = (         void  *)0;
+  sqlstm.sqinds[0] = (         int  )0;
+  sqlstm.sqharm[0] = (unsigned int  )0;
+  sqlstm.sqadto[0] = (unsigned short )0;
+  sqlstm.sqtdso[0] = (unsigned short )0;
+  sqlstm.sqhstv[1] = (         void  *)&password;
+  sqlstm.sqhstl[1] = (unsigned int  )42;
+  sqlstm.sqhsts[1] = (         int  )42;
+  sqlstm.sqindv[1] = (         void  *)0;
+  sqlstm.sqinds[1] = (         int  )0;
+  sqlstm.sqharm[1] = (unsigned int  )0;
+  sqlstm.sqadto[1] = (unsigned short )0;
+  sqlstm.sqtdso[1] = (unsigned short )0;
+  sqlstm.sqphsv = sqlstm.sqhstv;
+  sqlstm.sqphsl = sqlstm.sqhstl;
+  sqlstm.sqphss = sqlstm.sqhsts;
+  sqlstm.sqpind = sqlstm.sqindv;
+  sqlstm.sqpins = sqlstm.sqinds;
+  sqlstm.sqparm = sqlstm.sqharm;
+  sqlstm.sqparc = sqlstm.sqharc;
+  sqlstm.sqpadto = sqlstm.sqadto;
+  sqlstm.sqptdso = sqlstm.sqtdso;
+  sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
+  if (sqlca.sqlcode < 0) sql_error("ORACLE error--\n");
+}
+
+
+
+  cout << "Connected to ORACLE as user: " << username.arr << endl;
+
+  /* Loop, asking for branch IDs */
+
+  do {
+    
+    cout << "Enter branch number: (0 to quit) ";
+    cin >> temp_char;
+    
+    if ( strcmp ( temp_char, "0" ) == 0 )
+      break; // stop the while loop
+    
+    // Fill in branch_no that we will use in the query.
+    strncpy((char *) branch_no.arr, temp_char, 10);
+    branch_no.len = (unsigned short) strlen((char *) branch_no.arr);
+
+    /* Branch to the notfound label when the
+     * 1403 ("No data found") condition occurs.
+     * Although labels are required here, this does not mean that
+     * using labels in general is good programming practice!
+     * You are only allowed to use labels as target for an SQL GOTO statement.
+     */
+    /* EXEC SQL WHENEVER NOT FOUND GOTO notfound; */ 
+
+
+    /* EXEC SQL SELECT branch_no, address, phone, fax
+             INTO :branchrec
+             FROM Branch
+             WHERE branch_no = :branch_no; */ 
+
+{
+    struct sqlexd sqlstm;
+    sqlstm.sqlvsn = 10;
+    sqlstm.arrsiz = 5;
+    sqlstm.sqladtp = &sqladt;
+    sqlstm.sqltdsp = &sqltds;
+    sqlstm.stmt = "select branch_no ,address ,phone ,fax into :s1 ,:s2 ,:s3 \
+,:s4   from Branch where branch_no=:b1";
+    sqlstm.iters = (unsigned int  )1;
+    sqlstm.offset = (unsigned int  )51;
+    sqlstm.selerr = (unsigned short)1;
+    sqlstm.cud = sqlcud0;
+    sqlstm.sqlest = (unsigned char  *)&sqlca;
+    sqlstm.sqlety = (unsigned short)256;
+    sqlstm.occurs = (unsigned int  )0;
+    sqlstm.sqhstv[0] = (         void  *)&branchrec.branch_no;
+    sqlstm.sqhstl[0] = (unsigned int  )12;
+    sqlstm.sqhsts[0] = (         int  )0;
+    sqlstm.sqindv[0] = (         void  *)0;
+    sqlstm.sqinds[0] = (         int  )0;
+    sqlstm.sqharm[0] = (unsigned int  )0;
+    sqlstm.sqadto[0] = (unsigned short )0;
+    sqlstm.sqtdso[0] = (unsigned short )0;
+    sqlstm.sqhstv[1] = (         void  *)&branchrec.address;
+    sqlstm.sqhstl[1] = (unsigned int  )62;
+    sqlstm.sqhsts[1] = (         int  )0;
+    sqlstm.sqindv[1] = (         void  *)0;
+    sqlstm.sqinds[1] = (         int  )0;
+    sqlstm.sqharm[1] = (unsigned int  )0;
+    sqlstm.sqadto[1] = (unsigned short )0;
+    sqlstm.sqtdso[1] = (unsigned short )0;
+    sqlstm.sqhstv[2] = (         void  *)&branchrec.phone;
+    sqlstm.sqhstl[2] = (unsigned int  )15;
+    sqlstm.sqhsts[2] = (         int  )0;
+    sqlstm.sqindv[2] = (         void  *)0;
+    sqlstm.sqinds[2] = (         int  )0;
+    sqlstm.sqharm[2] = (unsigned int  )0;
+    sqlstm.sqadto[2] = (unsigned short )0;
+    sqlstm.sqtdso[2] = (unsigned short )0;
+    sqlstm.sqhstv[3] = (         void  *)&branchrec.fax;
+    sqlstm.sqhstl[3] = (unsigned int  )15;
+    sqlstm.sqhsts[3] = (         int  )0;
+    sqlstm.sqindv[3] = (         void  *)0;
+    sqlstm.sqinds[3] = (         int  )0;
+    sqlstm.sqharm[3] = (unsigned int  )0;
+    sqlstm.sqadto[3] = (unsigned short )0;
+    sqlstm.sqtdso[3] = (unsigned short )0;
+    sqlstm.sqhstv[4] = (         void  *)&branch_no;
+    sqlstm.sqhstl[4] = (unsigned int  )12;
+    sqlstm.sqhsts[4] = (         int  )0;
+    sqlstm.sqindv[4] = (         void  *)0;
+    sqlstm.sqinds[4] = (         int  )0;
+    sqlstm.sqharm[4] = (unsigned int  )0;
+    sqlstm.sqadto[4] = (unsigned short )0;
+    sqlstm.sqtdso[4] = (unsigned short )0;
+    sqlstm.sqphsv = sqlstm.sqhstv;
+    sqlstm.sqphsl = sqlstm.sqhstl;
+    sqlstm.sqphss = sqlstm.sqhsts;
+    sqlstm.sqpind = sqlstm.sqindv;
+    sqlstm.sqpins = sqlstm.sqinds;
+    sqlstm.sqparm = sqlstm.sqharm;
+    sqlstm.sqparc = sqlstm.sqharc;
+    sqlstm.sqpadto = sqlstm.sqadto;
+    sqlstm.sqptdso = sqlstm.sqtdso;
+    sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
+    if (sqlca.sqlcode == 1403) goto notfound;
+    if (sqlca.sqlcode < 0) sql_error("ORACLE error--\n");
+}
+
+
+
+    /* Print data.
+     * The branchrec.address VARCHAR is not \0 terminated. We have
+     * to make it \0 terminated first to print it.
+     */
+    branchrec.address.arr[branchrec.address.len] = '\0';	
+    cout << "Address: " << branchrec.address.arr << endl;
+	
+    branchrec.phone.arr[branchrec.phone.len] = '\0';	
+    cout << "Phone: " << branchrec.phone.arr << endl;
+	
+    branchrec.fax.arr[branchrec.fax.len] = '\0';	
+    cout << "Fax: " << branchrec.fax.arr << endl;
+
+    // Continue the loop,  the other lines in this loop are
+    // for error handling:
+    continue;
+
+notfound:
+    cout << endl << "Not a valid branch number - try again." << endl;
+
+  }
+  while ( true );
+   // continue after an invalid branch number.
+
+  // Disconnect from ORACLE. 
+  /* EXEC SQL ROLLBACK WORK RELEASE; */ 
+
+{
+  struct sqlexd sqlstm;
+  sqlstm.sqlvsn = 10;
+  sqlstm.arrsiz = 5;
+  sqlstm.sqladtp = &sqladt;
+  sqlstm.sqltdsp = &sqltds;
+  sqlstm.iters = (unsigned int  )1;
+  sqlstm.offset = (unsigned int  )86;
+  sqlstm.cud = sqlcud0;
+  sqlstm.sqlest = (unsigned char  *)&sqlca;
+  sqlstm.sqlety = (unsigned short)256;
+  sqlstm.occurs = (unsigned int  )0;
+  sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
+  if (sqlca.sqlcode < 0) sql_error("ORACLE error--\n");
+}
+
+
+  
+  exit(EXIT_SUCCESS);
+}
+
Index: /liacs/db/opdr3/vb1.pc
===================================================================
--- /liacs/db/opdr3/vb1.pc	(revision 2)
+++ /liacs/db/opdr3/vb1.pc	(revision 2)
@@ -0,0 +1,160 @@
+/*
+ *  vb1.pc
+ *
+ *  Prompts the user for a branch number,
+ *  then queries the branch table for the branch's
+ *  address, phone and fax.
+ *  2003, Siegfried Nijssen (snijssen@liacs.nl)
+ */
+
+#include <iostream.h>
+#include <string.h>
+#include <stdlib.h>
+#include <sqlda.h>
+#include <sqlcpr.h>
+#include <sqlca.h>
+
+// Define constants for VARCHAR lengths.
+#define     UNAME_LEN      20
+#define     PWD_LEN        40
+
+//* Declare variables.
+
+EXEC SQL BEGIN DECLARE SECTION;
+
+VARCHAR username[UNAME_LEN];  
+VARCHAR password[PWD_LEN];   
+
+// Define a host structure for the output values of a SELECT statement. 
+struct
+{
+  VARCHAR branch_no[10];
+  VARCHAR address[60];
+  VARCHAR phone[13];
+  VARCHAR fax[13];
+} branchrec;
+
+//  Input host variable.
+VARCHAR branch_no[10];
+
+EXEC SQL END DECLARE SECTION;
+
+// Declare error handling function. 
+void sql_error(char *msg)
+{
+  char err_msg[128];
+  size_t buf_len, msg_len;
+
+  EXEC SQL WHENEVER SQLERROR CONTINUE;
+   /* after executing this line, sql_error is no longer used as
+    * error handling function. In this way, infinite 
+    * recursion is avoided if the next SQL statement
+    * in this function fails.
+    */
+
+  // Print the error message:
+  cout << msg << endl;
+  buf_len = sizeof (err_msg);
+  sqlglm(err_msg, &buf_len, &msg_len);
+  cout << msg_len << "*" << err_msg << endl;
+
+  // Make sure the database is consistent:
+  EXEC SQL ROLLBACK RELEASE;
+  
+  // Stop the program.
+  exit(EXIT_FAILURE);
+}
+
+void main()
+{
+  char temp_char[32]; /* strings are of type VARCHAR in Oracle and not \0
+                       * terminated. We use this temporary variable
+		       * whenever a \0 terminated string is necessary.
+		       */
+
+  
+  cout << "Enter your ORACLE username: " << endl;
+  cin >> temp_char;
+  
+  /* Connect to ORACLE--
+   * Copy the username into the VARCHAR.
+   */
+  strncpy((char *) username.arr, temp_char, UNAME_LEN);
+
+  // Set the length component of the VARCHAR. This is always required! 
+  username.len = (unsigned short) strlen((char *) username.arr);
+  
+  cout << "Enter your ORACLE password: " << endl;
+  cin >> temp_char;
+
+  // Copy the password.
+  strncpy((char *) password.arr, temp_char, PWD_LEN);
+  password.len = (unsigned short) strlen((char *) password.arr);
+
+  // Register sql_error() as the error handler. */
+  EXEC SQL WHENEVER SQLERROR DO sql_error("ORACLE error--\n");
+
+  /* Connect to ORACLE.  Program will call sql_error()
+   * if an error occurs when connecting to the default database.
+   */
+  EXEC SQL CONNECT :username IDENTIFIED BY :password;
+
+  cout << "Connected to ORACLE as user: " << username.arr << endl;
+
+  /* Loop, asking for branch IDs */
+
+  do {
+    
+    cout << "Enter branch number: (0 to quit) ";
+    cin >> temp_char;
+    
+    if ( strcmp ( temp_char, "0" ) == 0 )
+      break; // stop the while loop
+    
+    // Fill in branch_no that we will use in the query.
+    strncpy((char *) branch_no.arr, temp_char, 10);
+    branch_no.len = (unsigned short) strlen((char *) branch_no.arr);
+
+    /* Branch to the notfound label when the
+     * 1403 ("No data found") condition occurs.
+     * Although labels are required here, this does not mean that
+     * using labels in general is good programming practice!
+     * You are only allowed to use labels as target for an SQL GOTO statement.
+     */
+    EXEC SQL WHENEVER NOT FOUND GOTO notfound;
+
+    EXEC SQL SELECT branch_no, address, phone, fax
+             INTO :branchrec
+             FROM Branch
+             WHERE branch_no = :branch_no;
+
+    /* Print data.
+     * The branchrec.address VARCHAR is not \0 terminated. We have
+     * to make it \0 terminated first to print it.
+     */
+    branchrec.address.arr[branchrec.address.len] = '\0';	
+    cout << "Address: " << branchrec.address.arr << endl;
+	
+    branchrec.phone.arr[branchrec.phone.len] = '\0';	
+    cout << "Phone: " << branchrec.phone.arr << endl;
+	
+    branchrec.fax.arr[branchrec.fax.len] = '\0';	
+    cout << "Fax: " << branchrec.fax.arr << endl;
+
+    // Continue the loop,  the other lines in this loop are
+    // for error handling:
+    continue;
+
+notfound:
+    cout << endl << "Not a valid branch number - try again." << endl;
+
+  }
+  while ( true );
+   // continue after an invalid branch number.
+
+  // Disconnect from ORACLE. 
+  EXEC SQL ROLLBACK WORK RELEASE;
+  
+  exit(EXIT_SUCCESS);
+}
+
Index: /liacs/db/opdr3/vb1.pc.bak
===================================================================
--- /liacs/db/opdr3/vb1.pc.bak	(revision 2)
+++ /liacs/db/opdr3/vb1.pc.bak	(revision 2)
@@ -0,0 +1,160 @@
+/*
+ *  vb1.pc
+ *
+ *  Prompts the user for a branch number,
+ *  then queries the branch table for the branch's
+ *  address, phone and fax.
+ *  2003, Siegfried Nijssen (snijssen@liacs.nl)
+ */
+
+#include <iostream.h>
+#include <string.h>
+#include <stdlib.h>
+#include <sqlda.h>
+#include <sqlcpr.h>
+#include <sqlca.h>
+
+// Define constants for VARCHAR lengths.
+#define     UNAME_LEN      20
+#define     PWD_LEN        40
+
+//* Declare variables.
+
+EXEC SQL BEGIN DECLARE SECTION;
+
+VARCHAR username[UNAME_LEN];  
+VARCHAR password[PWD_LEN];   
+
+// Define a host structure for the output values of a SELECT statement. 
+struct
+{
+  VARCHAR branch_no[10];
+  VARCHAR address[60];
+  VARCHAR phone[13];
+  VARCHAR fax[13];
+} branchrec;
+
+//  Input host variable.
+VARCHAR branch_no[10];
+
+EXEC SQL END DECLARE SECTION;
+
+// Declare error handling function. 
+void sql_error(char *msg)
+{
+  char err_msg[128];
+  size_t buf_len, msg_len;
+
+  EXEC SQL WHENEVER SQLERROR CONTINUE;
+   /* after executing this line, sql_error is no longer used as
+    * error handling function. In this way, infinite 
+    * recursion is avoided if the next SQL statement
+    * in this function fails.
+    */
+
+  // Print the error message:
+  cout << msg << endl;
+  buf_len = sizeof (err_msg);
+  sqlglm(err_msg, &buf_len, &msg_len);
+  cout << msg_len << "*" << err_msg << endl;
+
+  // Make sure the database is consistent:
+  EXEC SQL ROLLBACK RELEASE;
+  
+  // Stop the program.
+  exit(EXIT_FAILURE);
+}
+
+void main()
+{
+  char temp_char[32]; /* strings are of type VARCHAR in Oracle and not \0
+                       * terminated. We use this temporary variable
+		       * whenever a \0 terminated string is necessary.
+		       */
+
+  
+  cout << "Enter your ORACLE username: " << endl;
+  cin >> temp_char;
+  
+  /* Connect to ORACLE--
+   * Copy the username into the VARCHAR.
+   */
+  strncpy((char *) username.arr, temp_char, UNAME_LEN);
+
+  // Set the length component of the VARCHAR. This is always required! 
+  username.len = (unsigned short) strlen((char *) username.arr);
+  
+  cout << "Enter your ORACLE password: " << endl;
+  cin >> temp_char;
+
+  // Copy the password.
+  strncpy((char *) password.arr, temp_char, PWD_LEN);
+  password.len = (unsigned short) strlen((char *) password.arr);
+
+  // Register sql_error() as the error handler. */
+  EXEC SQL WHENEVER SQLERROR DO sql_error("ORACLE error--\n");
+
+  /* Connect to ORACLE.  Program will call sql_error()
+   * if an error occurs when connecting to the default database.
+   */
+  EXEC SQL CONNECT :username IDENTIFIED BY :password;
+
+  cout << "Connected to ORACLE as user: " << username.arr << endl;
+
+  /* Loop, asking for branch IDs */
+
+  do {
+    
+    cout << "Enter branch number: (0 to quit) ";
+    cin >> temp_char;
+    
+    if ( strcmp ( temp_char, "0" ) == 0 )
+      break; // stop the while loop
+    
+    // Fill in branch_no that we will use in the query.
+    strncpy((char *) branch_no.arr, temp_char, 10);
+    branch_no.len = (unsigned short) strlen((char *) branch_no.arr);
+
+    /* Branch to the notfound label when the
+     * 1403 ("No data found") condition occurs.
+     * Although labels are required here, this does not mean that
+     * using labels in general is good programming practice!
+     * You are only allowed to use labels as target for an SQL GOTO statement.
+     */
+    EXEC SQL WHENEVER NOT FOUND GOTO notfound;
+
+    EXEC SQL SELECT branch_no, address, phone, fax
+             INTO :branchrec
+             FROM Branch
+             WHERE branch_no = :branch_no;
+
+    /* Print data.
+     * The branchrec.address VARCHAR is not \0 terminated. We have
+     * to make it \0 terminated first to print it.
+     */
+    branchrec.address.arr[branchrec.address.len] = '\0';	
+    cout << "Address: " << branchrec.address.arr << endl;
+	
+    branchrec.phone.arr[branchrec.phone.len] = '\0';	
+    cout << "Phone: " << branchrec.phone.arr << endl;
+	
+    branchrec.fax.arr[branchrec.fax.len] = '\0';	
+    cout << "Fax: " << branchrec.fax.arr << endl;
+
+    // Continue the loop,  the other lines in this loop are
+    // for error handling:
+    continue;
+
+notfound:
+    cout << endl << "Not a valid branch number - try again." << endl;
+
+  }
+  while ( true );
+   // continue after an invalid branch number.
+
+  // Disconnect from ORACLE. 
+  EXEC SQL ROLLBACK WORK RELEASE;
+  
+  exit(EXIT_SUCCESS);
+}
+
Index: /liacs/db/test/Makefile
===================================================================
--- /liacs/db/test/Makefile	(revision 2)
+++ /liacs/db/test/Makefile	(revision 2)
@@ -0,0 +1,20 @@
+all: main
+	./main
+main: main.o
+	g++ -o main -L$(ORACLE_HOME)/lib/ -lclntsh   \
+	`cat $(ORACLE_HOME)/lib/sysliblist` -lm \
+	main.o
+main.o: main.c
+	g++ \
+	-D_REENTRANT -DPRECOMP  \
+	-I. -I$(ORACLE_HOME)/precomp/public \
+	-I$(ORACLE_HOME)/rdbms/public \
+	-I$(ORACLE_HOME)/rdbms/demo \
+	-I$(ORACLE_HOME)/plsql/public \
+	-I$(ORACLE_HOME)/network/public \
+	-DSLMXMX_ENABLE -DSLTS_ENABLE -D_SVID_GETTOD   \
+	-c main.c
+main.c: main.pc
+	proc iname=main.pc code=cpp sys=include=(/usr/include,/usr/include/linux,/usr/include/g++-3,/usr/lib/gcc-lib/i386-redhat-linux/2.96/include)
+clean:
+	rm -f *.core *.c *.o main
Index: /liacs/db/test/main.pc
===================================================================
--- /liacs/db/test/main.pc	(revision 2)
+++ /liacs/db/test/main.pc	(revision 2)
@@ -0,0 +1,285 @@
+// Rick van der Zwet
+// Databases opdracht 3
+// SN: 0433373
+
+
+//c libaries
+#include <cstdio>
+#include <string>
+
+//oracle sql libaries
+#include <sqlcpr.h>
+#include <sqlca.h>
+
+
+
+
+// Declare error handling function.-
+void sql_error(char *msg)
+{
+  char err_msg[128];
+  size_t buf_len, msg_len;
+
+  EXEC SQL WHENEVER SQLERROR CONTINUE;
+  
+  // Print the error message:
+  cout << msg << endl;
+  buf_len = sizeof (err_msg);
+  sqlglm(err_msg, &buf_len, &msg_len);
+  cout << msg_len << "*" << err_msg << endl;
+
+  // Make sure the database is consistent:
+  EXEC SQL ROLLBACK RELEASE;
+
+  // Stop the program.
+  exit(EXIT_FAILURE);
+} //end sql_error
+
+
+
+//
+// clear input field
+void digestline(void) {
+  scanf("%*[^\n]");   /* Skip to the End of the Line */
+  scanf("%*1[\n]");   /* Skip One Newline */
+} //end digestline
+
+
+
+
+void opdr1() {
+  printf("Uitvoer opdracht 1...\n");
+  EXEC SQL WHENEVER SQLERROR DO sql_error("ORACLE error--\n");
+  EXEC SQL BEGIN DECLARE SECTION;
+    struct
+    {
+      char Sname[20];
+    } result;
+  EXEC SQL END DECLARE SECTION;
+  
+  EXEC SQL DECLARE names_1 CURSOR FOR
+  SELECT Sname
+  FROM Sportsman S, Coaches C
+  WHERE S.Scountry = 'Norway' AND S.Sage > 25 AND S.Sid = C.Sid;
+
+  EXEC SQL OPEN names_1;
+  EXEC SQL WHENEVER NOT FOUND DO break;
+
+  printf("NAAM\n");
+  printf("----\n");
+  for (;;)
+  {
+    EXEC SQL FETCH names_1
+    INTO :result;
+    printf("%s\n", result.Sname);
+  }
+  EXEC SQL CLOSE names_1;
+}
+
+
+
+void opdr2() {
+  printf("Uitvoer opdracht 2...\n");
+  EXEC SQL WHENEVER SQLERROR DO sql_error("ORACLE error--\n");
+  EXEC SQL BEGIN DECLARE SECTION;
+    struct
+    {
+      char Cname[20];
+    } result;
+  EXEC SQL END DECLARE SECTION;
+  
+  EXEC SQL DECLARE names_2 CURSOR FOR
+  SELECT Cname
+  FROM Coach C, Coaches Cs, Sportsman S, (SELECT MIN(C2.Cage) AS minimum
+                                          FROM Coach C2 ) Age
+  WHERE C.Cage != Age.minimum AND C.Ccountry = S.Scountry AND C.Cid = Cs.Cid AND Cs.Sid = S.Sid;
+  
+  EXEC SQL OPEN names_2;
+  EXEC SQL WHENEVER NOT FOUND DO break;
+
+  printf("NAAM\n");
+  printf("----\n");
+  for (;;)
+  {
+    EXEC SQL FETCH names_2
+    INTO :result;
+    printf("%s\n", result.Cname);
+  }
+
+  EXEC SQL CLOSE names_2;
+}
+
+void opdr3() {
+  printf("Uitvoer opdracht 3...\n");
+  EXEC SQL WHENEVER SQLERROR DO sql_error("ORACLE error--\n");
+  EXEC SQL BEGIN DECLARE SECTION;
+    struct
+    {
+      char Sname[20];
+    } result;
+  EXEC SQL END DECLARE SECTION;
+  
+  EXEC SQL DECLARE names_3 CURSOR FOR
+  SELECT Sname
+  FROM Sportsman S
+  WHERE RTRIM(S.Sname) LIKE 'K%t%e';
+  
+  EXEC SQL OPEN names_3;
+  EXEC SQL WHENEVER NOT FOUND DO break;
+
+  printf("NAAM\n");
+  printf("----\n");
+  for (;;)
+  {
+    EXEC SQL FETCH names_3
+    INTO :result;
+    printf("%s\n", result.Sname);
+  }
+
+  EXEC SQL CLOSE names_3;
+}
+
+
+void opdr4() {
+  printf("Uitvoer opdracht 4...\n");
+  EXEC SQL WHENEVER SQLERROR DO sql_error("ORACLE error--\n");
+  EXEC SQL BEGIN DECLARE SECTION;
+    struct
+    {
+      char Sname[20];
+      char Cname[20];
+    } result;
+  EXEC SQL END DECLARE SECTION;
+  
+  EXEC SQL DECLARE names_4 CURSOR FOR
+  SELECT S.Sname, C.Cname
+  FROM Sportsman S, Coaches Cs, Coach C
+  WHERE Cs.Cid = C.Cid AND Cs.Sid = S.Sid AND ABS(S.Sage - C.Cage) < 4;
+  
+  EXEC SQL OPEN names_4;
+  EXEC SQL WHENEVER NOT FOUND DO break;
+
+  printf("SPORTSMAN , COACH\n");
+  printf("-----------------\n");
+  for (;;)
+  {
+    EXEC SQL FETCH names_4
+    INTO :result;
+    printf("%s , %s\n", result.Sname, result.Cname);
+  }
+}
+
+
+void opdr5() {
+  printf("Uitvoer opdracht 5...\n");
+  EXEC SQL WHENEVER SQLERROR DO sql_error("ORACLE error--\n");
+  EXEC SQL BEGIN DECLARE SECTION;
+    struct
+    {
+      char Cname[20];
+    } result;
+  EXEC SQL END DECLARE SECTION;
+  
+  EXEC SQL DECLARE names_5 CURSOR FOR
+  SELECT C.Cname
+  FROM  Coach C
+  WHERE C.Ccountry = 'Kazakhstan' AND C.Cid = (SELECT T.Cid
+                                       FROM Coaches T
+                                       WHERE T.Cid = C.Cid
+                                       GROUP BY T.Cid
+                                       HAVING COUNT(*) > 3 );
+  
+  EXEC SQL OPEN names_5;
+  EXEC SQL WHENEVER NOT FOUND DO break;
+
+  printf("COACH\n");
+  printf("-----\n");
+  for (;;)
+  {
+    EXEC SQL FETCH names_5
+    INTO :result;
+    printf("%s\n", result.Cname);
+  }
+}
+
+
+// Main module
+// 
+int main() {
+
+  char username[10] = "";
+  char password[10] = "";
+  char connect[20] = "";
+  int choice, args = 0;
+  
+  EXEC SQL BEGIN DECLARE SECTION;
+    VARCHAR connect_str[20];
+    struct
+    {
+      char tname[20];
+    } tables;
+  EXEC SQL END DECLARE SECTION;
+  
+  printf("Please enter username: ");
+  scanf("%s",username);
+  printf ("Please enter password: ");
+  scanf("%s",password);
+  strcpy(connect, username);
+  strcat(connect, "/");
+  strcat(connect, password);
+  strcat(connect, "@ONW");
+  printf("Using %s", connect);
+
+  strcpy((char *) connect_str.arr, connect);
+  connect_str.len = (unsigned short) strlen((char *) connect_str.arr);
+
+  EXEC SQL WHENEVER SQLERROR DO sql_error("ORACLE error--\n");
+
+  EXEC SQL CONNECT :connect_str;
+
+  do
+  {
+    printf("1: Names of Sportsmen, Norway, older 25, at least one coach\n");
+    printf("2: Names of coaches, sportsman own country, not youngest coach\n");
+    printf("3: Names of all sportsman, name start with 'K', includes 't', ends with 'e'\n");
+    printf("4: Names of sportsman and coach, 'team', age differences 4 year\n");
+    printf("5: Names of coaches, from Kazakhstan, coach over 3 persons\n");
+    printf("\n");
+    printf("9: quit\n");
+    printf("Please enter your choice: ");
+    if ( scanf("%d", &choice) > 0 ) {
+      switch( choice ) {
+        case 1:
+          opdr1();
+          break;
+        case 2:
+          opdr2();
+          break;
+        case 3:
+          opdr3();
+          break;
+        case 4:
+          opdr4();
+          break;
+        case 5:
+          opdr5();
+          break;
+        case 9:
+          printf("Goodbye..\n");
+          break;
+        default:
+          printf("Sorry %d ain't a good number\n", choice);
+      }
+    }
+    else
+    {
+      printf("Sorry input not valid\n");
+      choice = 0;
+    }
+    digestline();
+  } while ( choice != 9);
+
+  //close connection
+  EXEC SQL COMMIT WORK RELEASE;
+  exit(0);
+}
Index: /liacs/dbdm/dbdm_1/0433373_rickvanderzwet.txt
===================================================================
--- /liacs/dbdm/dbdm_1/0433373_rickvanderzwet.txt	(revision 2)
+++ /liacs/dbdm/dbdm_1/0433373_rickvanderzwet.txt	(revision 2)
@@ -0,0 +1,64 @@
+Papers read:
+  - J. Gray, The Next Database Revolution. SIGMOD 2004, pp. 13-18, June 2004. 
+  - Hans-Peter Kriegel, et al.  Future trends in data mining. Data Mining and
+    Knowledge Discovery [1384-5810] 2007 vol:15 iss:1 pg:87 
+
+Current database limits [Gray, 2004] and the current limits in data-mining
+[Kriegel, 2007] technology does not solely focus on the technological barriers of
+current datasets, with regards to memory, latency and storage. But also focus
+on a way on how to process this data efficiently. [Gray, 2004] talks about the
+use of interfaces to connect databases to the clients e.g. providing direct
+interfaces to the clients using SOAP calls for example. But the use of
+distributed databases how not gone mentioned. But first things first:
+
+= Data-mining & Usability = 
+
+Data-mining nowadays focus on subset solutions, with less attempt to generalize
+the effort for mass-use. The tools and methods provided and used are merely the
+building blocks for algorithms with focus on subset solutions with a well known
+datasets or a lot of sanitized and known meta-data. 
+
+With the ever increasing amount of data gathered and stored, generated human
+understandable results (if any result at all) becomes harder and harder. The
+underlying technique for generating results is often not to be explained by
+logic human reasoning. Making the results hard to justify or even explain,
+leaving potential good algorithms and strategies unused. 
+
+(Near) future should show us whether we are capable of extracting results which
+are of added value to understanding the process instead of showing heuristics,
+allowing us to reason further about what is going on inside an process.
+
+
+= Memory based databases with a file based backend =
+
+Reducing and elimination latency to the database objects on specific media has
+been always been a major focus within the design of algorithms of database query
+automation. Recent technology inventions and improvements has lead to
+developments allowing us to run any average small size database fully into the
+memory system. Hence reducing access to every object within the database to a
+equal level, making the latency decisions in algorithms obsolete, clearing the
+path for a new type of algorithm design focusing of spanning the whole data-set
+as fast possible. 
+
+Together with a full-memory database, comes the process of designing the
+database in such way that it can be mirrored on persistent media for obvious
+reasons (power failure, transport, backup, revisions). Instead of taking the
+traditional block level disk access approach new disks comes with ability to do
+clever queuing and latency reducing actions of file based objects. Future will
+show whether block based access (memory database) with a file based storage
+will be one of the possibles and how to cope best with large databases sets.
+
+= Distributed databases =
+
+One area not covered by [Kriegel,2007] and [Gray,2004] it the development of
+several Peta-bytes datasets (like the genome databases) that needed to be
+accessed by many concurrent clients trough out the world, so link-layer latencies
+comes in the picture. 
+
+Finding ways of enabling this datasets for all clients at an acceptable/uniform
+access time it something getting a major importance in the future as datasets
+are rapidly growing due to the development of new sensors and image/video based
+storage and more of those datasets have a heavily shared nature as more
+research and business will be gathering and sharing from multiple (geographical)
+locations, but are in need of centralized query interfaces.
+
Index: /liacs/dbdm/dbdm_3/Makefile
===================================================================
--- /liacs/dbdm/dbdm_3/Makefile	(revision 2)
+++ /liacs/dbdm/dbdm_3/Makefile	(revision 2)
@@ -0,0 +1,23 @@
+# Rick van der Zwet
+# 0433373
+# XXX Assignment XXX
+# Licence: BSD
+# $Id: Makefile 741 2009-08-05 19:26:23Z rick $
+
+include latex.mk
+
+CFLAGS+=-Wall -g
+PROGRAMS=XXX
+
+all: $(PROGRAMS)
+
+clean: doc-clean
+	rm -Rf $(PROGRAMS)
+
+distclean: doc-distclean
+
+debug:
+	@sh -c 'while [ "true" ]; do make clean && make && ./${PROGRAMS}; echo -n "Completed: "; date; sleep 5; done'
+
+ones: $(PROGRAMS)
+	@sh -c ./$(PROGRAMS)
Index: /liacs/dbdm/dbdm_3/latex.mk
===================================================================
--- /liacs/dbdm/dbdm_3/latex.mk	(revision 2)
+++ /liacs/dbdm/dbdm_3/latex.mk	(revision 2)
@@ -0,0 +1,54 @@
+# Rick van der Zwet <rick@wzoeterwoude.net>
+# Licence: BSD
+# Descrip: LaTex file parser
+# $Id: latex.mk 571 2008-04-20 17:31:04Z rick $
+
+TARGET = report
+LATEX = latex
+XDVI = xdvi
+TEX = latex -halt-on-error
+DVIPDF = dvipdf
+ASPELL = aspell
+ASPELL_ARGS = -c --mode=tex
+.SUFFIXES: .pdf
+
+help:
+	@echo "Usage Makefile <option>"
+
+doc-all: doc-distclean buildpdf
+
+view: viewpdf
+
+viewdvi: builddvi
+	$(XDVI) $(TARGET)
+
+builddvi: $(TARGET).dvi
+
+doc-clean:
+	rm -vf *.aux *.log *toc *.out *.bak
+
+doc-distclean: doc-clean
+	rm -vf $(TARGET).dvi $(TARGET).pdf $(PROGRAM)
+
+buildpdf: $(TARGET).pdf
+
+viewpdf: buildpdf
+	open  $(TARGET).pdf
+
+spell: spell-en
+
+spell-nl: $(TARGET).tex
+	$(ASPELL) -l nl -p ~/aspell-n.dic $(ASPELL_ARGS) $<
+
+spell-en: $(TARGET).tex
+	$(ASPELL) -l en -p ~/aspell-en.dic $(ASPELL_ARGS) $<
+
+.dvi.pdf:
+	$(DVIPDF) $? $@
+
+.tex.dvi:
+	$(TEX) $? $@
+	$(TEX) $? $@
+
+.gs.png:
+	$(GNUPLOT) $?
Index: /liacs/dbdm/dbdm_3/report.aux
===================================================================
--- /liacs/dbdm/dbdm_3/report.aux	(revision 2)
+++ /liacs/dbdm/dbdm_3/report.aux	(revision 2)
@@ -0,0 +1,22 @@
+\relax 
+\catcode`"\active
+\select@language{dutch}
+\@writefile{toc}{\select@language{dutch}}
+\@writefile{lof}{\select@language{dutch}}
+\@writefile{lot}{\select@language{dutch}}
+\select@language{dutch}
+\@writefile{toc}{\select@language{dutch}}
+\@writefile{lof}{\select@language{dutch}}
+\@writefile{lot}{\select@language{dutch}}
+\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}}
+\@writefile{toc}{\contentsline {section}{\numberline {2}Problem description}{1}}
+\@writefile{toc}{\contentsline {section}{\numberline {3}Statistics}{1}}
+\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces Statistical report of churn dataset}}{2}}
+\newlabel{overview}{{1}{2}}
+\@writefile{toc}{\contentsline {section}{\numberline {4}Approach}{2}}
+\@writefile{toc}{\contentsline {section}{\numberline {5}Implementaion}{3}}
+\@writefile{lop}{\contentsline {result}{\numberline {1}{\ignorespaces  association algoritm \emph  {Apriori} - run 1}}{4}}
+\@writefile{lop}{\contentsline {result}{\numberline {2}{\ignorespaces  association algoritm \emph  {Apriori} - run 2}}{4}}
+\@writefile{toc}{\contentsline {section}{\numberline {6}Conclusions}{4}}
+\@writefile{toc}{\contentsline {section}{\numberline {7}Appendix 1}{5}}
+\@writefile{lop}{\contentsline {result}{\numberline {3}{\ignorespaces J48 pruned tree of raw churn dataset}}{5}}
Index: /liacs/dbdm/dbdm_3/report.log
===================================================================
--- /liacs/dbdm/dbdm_3/report.log	(revision 2)
+++ /liacs/dbdm/dbdm_3/report.log	(revision 2)
@@ -0,0 +1,306 @@
+This is pdfTeX, Version 3.141592-1.40.3 (Web2C 7.5.6) (format=latex 2009.4.28)  7 NOV 2009 21:24
+entering extended mode
+**report.tex report.dvi
+(./report.tex
+LaTeX2e <2005/12/01>
+Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh
+yphenation, arabic, basque, bulgarian, coptic, welsh, czech, slovak, german, ng
+erman, danish, esperanto, spanish, catalan, galician, estonian, farsi, finnish,
+ french, greek, monogreek, ancientgreek, croatian, hungarian, interlingua, ibyc
+us, indonesian, icelandic, italian, latin, mongolian, dutch, norsk, polish, por
+tuguese, pinyin, romanian, russian, slovenian, uppersorbian, serbian, swedish, 
+turkish, ukenglish, ukrainian, loaded.
+(/opt/local/share/texmf-dist/tex/latex/base/article.cls
+Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
+(/opt/local/share/texmf-dist/tex/latex/base/size12.clo
+File: size12.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
+)
+\c@part=\count79
+\c@section=\count80
+\c@subsection=\count81
+\c@subsubsection=\count82
+\c@paragraph=\count83
+\c@subparagraph=\count84
+\c@figure=\count85
+\c@table=\count86
+\abovecaptionskip=\skip41
+\belowcaptionskip=\skip42
+\bibindent=\dimen102
+)
+(/opt/local/share/texmf-dist/tex/generic/babel/babel.sty
+Package: babel 2005/11/23 v3.8h The Babel package
+
+(/opt/local/share/texmf-dist/tex/generic/babel/english.ldf
+Language: english 2005/03/30 v3.3o English support from the babel system
+
+(/opt/local/share/texmf-dist/tex/generic/babel/babel.def
+File: babel.def 2005/11/23 v3.8h Babel common definitions
+\babel@savecnt=\count87
+\U@D=\dimen103
+)
+\l@british = a dialect from \language\l@english 
+\l@UKenglish = a dialect from \language\l@english 
+\l@canadian = a dialect from \language\l@american 
+\l@australian = a dialect from \language\l@british 
+\l@newzealand = a dialect from \language\l@british 
+)
+(/opt/local/share/texmf-dist/tex/generic/babel/dutch.ldf
+Language: dutch 2005/03/30 v3.8i Dutch support from the babel system
+Package babel Info: Making " an active character on input line 132.
+))
+(/opt/local/share/texmf-dist/tex/latex/graphics/graphicx.sty
+Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
+
+(/opt/local/share/texmf-dist/tex/latex/graphics/keyval.sty
+Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
+\KV@toks@=\toks14
+)
+(/opt/local/share/texmf-dist/tex/latex/graphics/graphics.sty
+Package: graphics 2006/02/20 v1.0o Standard LaTeX Graphics (DPC,SPQR)
+
+(/opt/local/share/texmf-dist/tex/latex/graphics/trig.sty
+Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
+)
+(/opt/local/share/texmf/tex/latex/config/graphics.cfg
+File: graphics.cfg 2007/01/18 v1.5 graphics configuration of teTeX/TeXLive
+)
+Package graphics Info: Driver file: dvips.def on input line 90.
+
+(/opt/local/share/texmf-dist/tex/latex/graphics/dvips.def
+File: dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
+))
+\Gin@req@height=\dimen104
+\Gin@req@width=\dimen105
+)
+(/opt/local/share/texmf-dist/tex/latex/ltxmisc/url.sty
+\Urlmuskip=\muskip10
+Package: url 2005/06/27  ver 3.2  Verb mode for urls, etc.
+)
+(/opt/local/share/texmf-dist/tex/latex/tools/multicol.sty
+Package: multicol 2006/05/18 v1.6g multicolumn formatting (FMi)
+\c@tracingmulticols=\count88
+\mult@box=\box26
+\multicol@leftmargin=\dimen106
+\c@unbalance=\count89
+\c@collectmore=\count90
+\doublecol@number=\count91
+\multicoltolerance=\count92
+\multicolpretolerance=\count93
+\full@width=\dimen107
+\page@free=\dimen108
+\premulticols=\dimen109
+\postmulticols=\dimen110
+\multicolsep=\skip43
+\multicolbaselineskip=\skip44
+\partial@page=\box27
+\last@line=\box28
+\mult@rightbox=\box29
+\mult@grightbox=\box30
+\mult@gfirstbox=\box31
+\mult@firstbox=\box32
+\@tempa=\box33
+\@tempa=\box34
+\@tempa=\box35
+\@tempa=\box36
+\@tempa=\box37
+\@tempa=\box38
+\@tempa=\box39
+\@tempa=\box40
+\@tempa=\box41
+\@tempa=\box42
+\@tempa=\box43
+\@tempa=\box44
+\@tempa=\box45
+\@tempa=\box46
+\@tempa=\box47
+\@tempa=\box48
+\@tempa=\box49
+\c@columnbadness=\count94
+\c@finalcolumnbadness=\count95
+\last@try=\dimen111
+\multicolovershoot=\dimen112
+\multicolundershoot=\dimen113
+\mult@nat@firstbox=\box50
+\colbreak@box=\box51
+)
+(/opt/local/share/texmf-dist/tex/latex/fancybox/fancybox.sty
+Package: fancybox 2000/09/19 1.3
+
+Style option: `fancybox' v1.3 <2000/09/19> (tvz)
+\@fancybox=\box52
+\shadowsize=\dimen114
+\@Sbox=\box53
+\do@VerbBox=\toks15
+\the@fancyput=\toks16
+\this@fancyput=\toks17
+\EndVerbatimTokens=\toks18
+\Verbatim@Outfile=\write3
+\Verbatim@Infile=\read1
+) (/opt/local/share/texmf-dist/tex/latex/amsfonts/amssymb.sty
+Package: amssymb 2002/01/22 v2.2d
+
+(/opt/local/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+Package: amsfonts 2001/10/25 v2.2f
+\@emptytoks=\toks19
+\symAMSa=\mathgroup4
+\symAMSb=\mathgroup5
+LaTeX Font Info:    Overwriting math alphabet `\mathfrak' in version `bold'
+(Font)                  U/euf/m/n --> U/euf/b/n on input line 132.
+))
+(/opt/local/share/texmf-dist/tex/latex/amsmath/amsmath.sty
+Package: amsmath 2000/07/18 v2.13 AMS math features
+\@mathmargin=\skip45
+
+For additional information on amsmath, use the `?' option.
+(/opt/local/share/texmf-dist/tex/latex/amsmath/amstext.sty
+Package: amstext 2000/06/29 v2.01
+
+(/opt/local/share/texmf-dist/tex/latex/amsmath/amsgen.sty
+File: amsgen.sty 1999/11/30 v2.0
+\@emptytoks=\toks20
+\ex@=\dimen115
+))
+(/opt/local/share/texmf-dist/tex/latex/amsmath/amsbsy.sty
+Package: amsbsy 1999/11/29 v1.2d
+\pmbraise@=\dimen116
+)
+(/opt/local/share/texmf-dist/tex/latex/amsmath/amsopn.sty
+Package: amsopn 1999/12/14 v2.01 operator names
+)
+\inf@bad=\count96
+LaTeX Info: Redefining \frac on input line 211.
+\uproot@=\count97
+\leftroot@=\count98
+LaTeX Info: Redefining \overline on input line 307.
+\classnum@=\count99
+\DOTSCASE@=\count100
+LaTeX Info: Redefining \ldots on input line 379.
+LaTeX Info: Redefining \dots on input line 382.
+LaTeX Info: Redefining \cdots on input line 467.
+\Mathstrutbox@=\box54
+\strutbox@=\box55
+\big@size=\dimen117
+LaTeX Font Info:    Redeclaring font encoding OML on input line 567.
+LaTeX Font Info:    Redeclaring font encoding OMS on input line 568.
+\macc@depth=\count101
+\c@MaxMatrixCols=\count102
+\dotsspace@=\muskip11
+\c@parentequation=\count103
+\dspbrk@lvl=\count104
+\tag@help=\toks21
+\row@=\count105
+\column@=\count106
+\maxfields@=\count107
+\andhelp@=\toks22
+\eqnshift@=\dimen118
+\alignsep@=\dimen119
+\tagshift@=\dimen120
+\tagwidth@=\dimen121
+\totwidth@=\dimen122
+\lineht@=\dimen123
+\@envbody=\toks23
+\multlinegap=\skip46
+\multlinetaggap=\skip47
+\mathdisplay@stack=\toks24
+LaTeX Info: Redefining \[ on input line 2666.
+LaTeX Info: Redefining \] on input line 2667.
+)
+(/opt/local/share/texmf-dist/tex/latex/float/float.sty
+Package: float 2001/11/08 v1.3d Float enhancements (AL)
+\c@float@type=\count108
+\float@exts=\toks25
+\float@box=\box56
+\@float@everytoks=\toks26
+\@floatcapt=\box57
+)
+\@float@every@result=\toks27
+\c@result=\count109
+ (./report.aux)
+\openout1 = `report.aux'.
+
+LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 27.
+LaTeX Font Info:    ... okay on input line 27.
+LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 27.
+LaTeX Font Info:    ... okay on input line 27.
+LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 27.
+LaTeX Font Info:    ... okay on input line 27.
+LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 27.
+LaTeX Font Info:    ... okay on input line 27.
+LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 27.
+LaTeX Font Info:    ... okay on input line 27.
+LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 27.
+LaTeX Font Info:    ... okay on input line 27.
+LaTeX Font Info:    Try loading font information for U+msa on input line 32.
+
+(/opt/local/share/texmf-dist/tex/latex/amsfonts/umsa.fd
+File: umsa.fd 2002/01/19 v2.2g AMS font definitions
+)
+LaTeX Font Info:    Try loading font information for U+msb on input line 32.
+
+(/opt/local/share/texmf-dist/tex/latex/amsfonts/umsb.fd
+File: umsb.fd 2002/01/19 v2.2g AMS font definitions
+)
+Overfull \hbox (75.74925pt too wide) in paragraph at lines 53--79
+ [][] 
+ []
+
+[1
+
+]
+Overfull \hbox (76.90622pt too wide) in paragraph at lines 93--93
+[]\OT1/cmtt/m/n/10.95 weka.filters.unsupervised.attribute.Discretize -unset-cla
+ss-temporarily
+ []
+
+[2]
+Overfull \hbox (67.93826pt too wide) in paragraph at lines 110--110
+[]\OT1/cmtt/m/n/10.95 cut -f 4 -d, churn[]ooo.csv | cut -c 1-4,10 | paste -d, -
+ churn[]ooo.csv
+ []
+
+
+Overfull \hbox (36.6654pt too wide) in paragraph at lines 121--121
+[]\OT1/cmtt/m/n/10.95 weka.filters.unsupervised.attribute.NumericCleaner -min -
+1.7E308
+ []
+
+
+Overfull \hbox (25.16803pt too wide) in paragraph at lines 121--121
+\OT1/cmtt/m/n/10.95 -min-default -1.708 -max 1.7E308 -max-default 1.7E308 -clos
+eto
+ []
+
+
+Overfull \hbox (2.17328pt too wide) in paragraph at lines 121--121
+\OT1/cmtt/m/n/10.95 0.0 -closeto-default 0.0 -closeto-tolerance 1.0E-6 -R 8-11
+ []
+
+
+Overfull \hbox (13.67065pt too wide) in paragraph at lines 122--122
+[]\OT1/cmtt/m/n/10.95 weka.filters.unsupervised.attribute.NumericToNominal -R 8
+-11 
+ []
+
+
+Overfull \hbox (2.17328pt too wide) in paragraph at lines 133--133
+[]\OT1/cmtt/m/n/10.95 weka.filters.unsupervised.attribute.NumericToNominal -R 1
+2 
+ []
+
+[3]
+Overfull \hbox (90.89543pt too wide) in paragraph at lines 179--179
+[][]\OT1/cmr/m/n/10 Like do-ne at http://meru.cecs.missouri.edu/courses/cecs401
+[]data[]mining/projects/group2/finproject1.htm| 
+ []
+
+[4] [5] (./report.aux) ) 
+Here is how much of TeX's memory you used:
+ 2210 strings out of 94074
+ 26079 string characters out of 1164820
+ 92127 words of memory out of 1500000
+ 5478 multiletter control sequences out of 10000+50000
+ 14071 words of font info for 56 fonts, out of 1200000 for 2000
+ 645 hyphenation exceptions out of 8191
+ 27i,8n,24p,231b,247s stack positions out of 5000i,500n,6000p,200000b,5000s
+
+Output written on report.dvi (5 pages, 17416 bytes).
Index: /liacs/dbdm/dbdm_3/report.tex
===================================================================
--- /liacs/dbdm/dbdm_3/report.tex	(revision 2)
+++ /liacs/dbdm/dbdm_3/report.tex	(revision 2)
@@ -0,0 +1,232 @@
+%
+% $Id: report.tex 571 2008-04-20 17:31:04Z rick $
+%
+
+\documentclass[12pt,a4paper]{article}
+
+\frenchspacing
+\usepackage[english,dutch]{babel}
+\selectlanguage{dutch}
+\usepackage{graphicx}
+\usepackage{url}
+\usepackage{multicol}
+\usepackage{fancybox}
+\usepackage{amssymb,amsmath}
+\usepackage{float}
+\floatstyle{ruled}
+\newfloat{result}{thp}{lop}
+\floatname{result}{Result}
+
+\title{Churn in Telecom dataset \\
+\large{Databases and Datamining, 2009}}
+\author{Jonathan Vis, Rick van der Zwet\\
+  \texttt{<$\{$jvis,hvdzwet$\}$@liacs.nl>}}
+\date{\today}
+
+
+\begin{document}
+\newcommand{\wekacmd}[1]{\begin{quote}\small{\texttt{#1}}\end{quote}}
+\newcommand{\unixcmd}[1]{\begin{quote}\small{\texttt{#1}}\end{quote}}
+
+
+\maketitle
+
+\section{Introduction}
+This report is focused towards finding association rule learning to find
+relations between variables in large databases. This will be done using
+Weka\footnote{http://www.cs.waikato.ac.nz/ml/weka/} and a telecom churn
+dataset\footnote{http://www.dataminingconsultant.com/DKD.htm}.
+
+\section{Problem description}
+\emph{Churning} -moving to a different company)- today is still a major deal
+within companies. Having to understand why a customer choose to go for an other
+company is crusial in finding flaws in the product-range or services. As more
+and more data about the consumer get stored, trying to find relations why
+he/she churned is becoming more and more interesting.
+
+\section{Statistics}
+Our dataset has 3333 entries and 21 attributes, which the charactistics shown
+in table~\ref{overview}.
+\begin{table}[ht]
+\caption{Statistical report of churn dataset}
+\centering
+\begin{tabular}{l || r | r | r | r | r | r | r | r | r |}
+Item & Type & Distinct & Missing & Unique & Min & Max & Mean & StdDev \\
+\hline \hline
+State & Nominal & 51 & 0 & NaN & NaN & NaN & NaN & NaN \\
+Account Length & Numeric & 212 & 0 & 16 & 1 & 1 & 101 & 40 \\
+Area Code & Numeric & 3 & 0 & 0 & 408 & 510 & 437 & 42 \\
+Phone & Nominal & 3333 & 0 & 3333 & NaN & NaN & NaN & NaN \\
+Int'l Plan & Nominal & 2 & 0 & NaN & NaN & NaN & NaN & NaN \\
+VMail Plan & Nominal & 2 & 0 & NaN & NaN & NaN & NaN & NaN \\
+VMail Msg & Numeric & 46 & 0 & 4 & 0 & 51 & 8 & 14 \\
+Day Mins & Numeric & 1667 & 0 & 770 & 0 & 351 & 180 & 54 \\
+Days Calls & Numeric & 119 & 0 & 10 & 0 & 165 & 100 & 20 \\
+Days Charge & Numeric & 1667 & 0 & 770 & 0 & 60 & 30 & 9 \\
+Eve Mins & Numeric & 1611 & 0 & 709 & 0 & 364 & 201 & 51 \\
+Eve Calls & Numeric & 123 & 0 & 17 & 0 & 170 & 100 & 20 \\
+Eve Charge & Numeric & 1440 & 0 & 585 & 0 & 31 & 17 & 4 \\
+Night Mins & Numeric & 1591 & 0 & 586 & 23 & 395 & 201 & 51 \\
+Night Calls & Numeric & 120 & 0 & 11 & 33 & 175 & 100 & 19 \\
+Night Charge & Numeric & 933 & 0 & 236 & 1 & 18 & 9 & 2 \\
+Intl Mins & Numeric & 162 & 0 & 16 & 0 & 20 & 10 & 3 \\
+Intl Calls & Numeric & 21 & 0 & 3 & 0 & 20 & 4.5 & 2.5 \\
+Intl Charge & Numeric & 162 & 0 & 16 & 0 & 5.4 & 2.8 & 0.8 \\
+CusServ Calls & Numeric & 10 & 0 & 0 & 0 & 9 & 1.5 & 1.3 \\
+Churn & Nominal & 2 & 0 & 0 & NaN & NaN & NaN & NaN
+\end{tabular}
+\label{overview}
+\end{table}
+
+We can consider ourself lucky by having an complete dataset. None of the
+attributes is missing at an entry. How-ever this does not mean the data is
+considered error-free. There might be human-errors or others of some kind
+inside the dataset.
+
+\section{Approach}
+As finding association rules needs discrete values, we will discretize the
+attributes tagged as Numeric in table~\ref{overview}. At this process we will
+take a special look of the actual meaning of the attribute. Having 3.5 Customer
+Server Calls is going to be a bit impossible, so make sure to set the binaries
+of all \emph(bins) to rounded values. We will also try \emph(Weka) feature of
+automatic discretizion: \wekacmd{weka.filters.unsupervised.attribute.Discretize
+-unset-class-temporarily -O -B 10 -M -1.0 -R first-last}.
+
+Secondly table~\ref{overview} shows an number of entries which are related.
+Like for example \emph{Day Calls} and \emph{Day Charge}. One could argue that
+both are relevant, as an consumer might churn as making many calls turns out to
+be problematic (bad signal, quality for example). While you could also argue
+the price will determine the churn. We will discard the values related to
+minutes and call numbers and solely focus on the \emph{Charge}.
+The \emph{Phone} attribute also shows some interesting feature. We will make an
+new attributecalled \emph{Phone-prefix} which is the first 3 numbers of the
+\emph{Phone} number, to see whether this give some fine gain grouping over area
+code. Also the combination \emph{Area Code}-\emph{Phone-prefix} will be
+researched.
+
+\section{Implementaion}
+Creating phone-prefix column using standard unix tools:
+\unixcmd{cut -f 4 -d, churn\_ooo.csv | cut -c 1-4,10 | paste -d, -
+churn\_ooo.csv | sed '1s/"Pho/"Phone-Prefix"/' > churn\_parsed.csv}.  Using
+\emph{Weka} deleted the columns \texttt{Day Mins, Day Calls, Eve Mins, Eve
+Calls, Night Mins, Night Calls, Intl Mins, Intl Calls} as we believe they are
+subsets of \emph{Charge}.
+\emph{Phone} is a unique identifier for every entry, not allowing any
+generalization. So it is ignored/deleted.
+
+Using \emph{Weka} embedded discretize function on all Numeric Columns of
+table~\ref{overview}. Any charge value was taken to be full integer values e.g
+rounded currency: \wekacmd{weka.filters.unsupervised.attribute.NumericCleaner
+-min -1.7E308 -min-default -1.708 -max 1.7E308 -max-default 1.7E308 -closeto 0.0
+-closeto-default 0.0 -closeto-tolerance 1.0E-6 -R 8-11 -decimals 0} And made
+discrete: \wekacmd{weka.filters.unsupervised.attribute.NumericToNominal -R 8-11}
+
+Account length was set to be a bin of 'weight' 1, assuming a 1
+months\footnote{This might as well be days, years of some other value, but
+assuming fixed phone contracts, given the range (0-244) months seems to be
+make most sense} contract:
+\wekacmd{weka.filters.unsupervised.attribute.NumericToNominal -R 3}
+
+\emph{Phone-Prefix} is set to be a set on every number unique:
+\wekacmd{weka.filters.unsupervised.attribute.NumericToNominal -R 1}
+\emph{CustServ Calls} it set to be rounded values, as one cannot make half calls:
+\wekacmd{weka.filters.unsupervised.attribute.NumericToNominal -R 12}
+
+Then running the association algoritm \emph{Apriori}, with the \emph{Churn}
+value as the result of the equations:
+\begin{result}
+\caption{ association algoritm \emph{Apriori} - run 1}
+\scriptsize
+\begin{verbatim}
+ 1. Area Code=415 Int'l Plan=no VMail Plan=yes 423 ==> Churn?=False. 405 conf :(0.96)
+ 2. Int'l Plan=no VMail Plan=yes 830 ==> Churn?=False. 786    conf:(0.95)
+ ...
+\end{verbatim}
+\end{result}
+
+Mostly negative results e.g. proving when a consumer is not going to churn.
+Secondly data seems to specialise, rule 1 for example is a specialisation of
+rule 2. Try running without the requirement that churn needs to be on the right
+end of the rule.
+
+\begin{result}
+\caption{ association algoritm \emph{Apriori} - run 2}
+\begin{verbatim}
+ 1. VMail Message=0 2411 ==> VMail Plan=no 2411    conf:(1)
+ 2. VMail Plan=no 2411 ==> VMail Message=0 2411    conf:(1)
+ ...
+\end{verbatim}
+\end{result}
+
+Seems like \emph{VMail Plan=no} seems to equal the \emph{VMail Message=0}. So
+\emph{VMail Plan} can be safely deleted from the attribute list. \emph{VMail
+Message} does not seems to be a very clear description for it's claimed
+purpose. Running without \emph{VMail Plan} did not show improvement. Hence we
+decided to go for an normalisation on the Churn number. By taking a random
+sample of $Churn=False$ values such that it equals the number of $Churn=True$
+values\footnote{\scriptsize\texttt{sort -r -t, -k 22,22 churn\_parsed.csv | sed
+'484,2366d' > churn\_equal.csv}} we re-run the experiments, but found no
+improvement in the experiments.
+
+\section{Conclusions}
+The churn dataset does not classify itself properly associations rules. Mainly
+due to the fact that the so called 'hidden factors' for churning, like `if
+calling more than X minutes at rate Y I will churn'. cannot be mined using this
+current dataset. Further research could include this relations by means of
+formula's, but it require domain specific knowledge to include for example
+relations between \emph{Day Min} and {Day Calls}.  Alternative methods like
+scat and plat analysis\footnote{Like done at
+http://meru.cecs.missouri.edu/courses/cecs401\_data\_mining/projects/group2/finproject1.htm}
+seems to lead to more promensing results. This could (of course) also be done
+in Weka. Take for a brief preview in Appendix 1.
+\newpage
+\section{Appendix 1}
+Result using \emph{Weka} classifier: \wekacmd{weka.classifiers.trees.J48 -C 0.25
+-M 2} shows interesting details, like \wekacmd{\scriptsize'Day Mins' > 254.4 and 'VMail
+Plan' = no and 'Eve Mins > 187.7 => True.}
+\begin{result}
+\caption{J48 pruned tree of raw churn dataset}
+\scriptsize
+\begin{verbatim}
+=== Classifier model (full training set) ===
+J48 pruned tree
+------------------
+Day Mins <= 264.4
+|   CustServ Calls <= 3
+|   |   Int'l Plan = no
+|   |   |   Day Mins <= 223.2: False. (2221.0/60.0)
+|   |   |   Day Mins > 223.2
+|   |   |   |   Eve Mins <= 242.3: False. (296.0/22.0)
+|   |   |   |   Eve Mins > 242.3
+|   |   |   |   |   VMail Plan = yes: False. (20.0)
+|   |   |   |   |   VMail Plan = no
+|   |   |   |   |   |   Night Mins <= 174.2
+|   |   |   |   |   |   |   Day Mins <= 246.8: False. (12.0)
+|   |   |   |   |   |   |   Day Mins > 246.8: True. (5.0/1.0)
+|   |   |   |   |   |   Night Mins > 174.2: True. (50.0/8.0)
+|   |   Int'l Plan = yes
+|   |   |   Intl Calls <= 2: True. (51.0)
+|   |   |   Intl Calls > 2
+|   |   |   |   Intl Mins <= 13.1: False. (173.0/7.0)
+|   |   |   |   Intl Mins > 13.1: True. (43.0)
+|   CustServ Calls > 3
+|   |   Day Mins <= 160.2
+|   |   |   Eve Charge <= 19.83: True. (79.0/3.0)
+|   |   |   Eve Charge > 19.83
+|   |   |   |   Day Mins <= 120.5: True. (10.0)
+|   |   |   |   Day Mins > 120.5: False. (13.0/3.0)
+|   |   Day Mins > 160.2
+|   |   |   Eve Charge <= 12.05
+|   |   |   |   Eve Calls <= 125: True. (16.0/2.0)
+|   |   |   |   Eve Calls > 125: False. (3.0)
+|   |   |   Eve Charge > 12.05: False. (130.0/24.0)
+Day Mins > 264.4
+|   VMail Plan = yes: False. (53.0/6.0)
+|   VMail Plan = no
+|   |   Eve Mins <= 187.7
+|   |   |   Day Mins <= 280.4: False. (30.0/7.0)
+|   |   |   Day Mins > 280.4: True. (27.0/9.0)
+|   |   Eve Mins > 187.7: True. (101.0/5.0)
+\end{verbatim}
+\end{result}
+\end{document}
Index: /liacs/dbdm/svn-commit.tmp
===================================================================
--- /liacs/dbdm/svn-commit.tmp	(revision 2)
+++ /liacs/dbdm/svn-commit.tmp	(revision 2)
@@ -0,0 +1,6 @@
+Semi-final version (not yet spell-checked). Note to myself, using very cool
+float functions
+
+--This line, and those below, will be ignored--
+
+M    dbdm_3/report.tex
Index: /liacs/hci/README
===================================================================
--- /liacs/hci/README	(revision 2)
+++ /liacs/hci/README	(revision 2)
@@ -0,0 +1,24 @@
+Human Computer Interaction - Subversion - Repos
+URL: http://hci.liacs.nl
+
+Filename guidelines:
+* No spaces, but '-' instead
+* No captitals
+* No '_' , but '-' instead. ( '_' will not be displayed pretty in URL's
+
+= File layout =
+docs       = Documents provided by lecure assistent
+templates  = Documents provided by lecure assistent
+slides     = Slides used during lecture
+paper      = Documents delivered during project
+src        = Source code generated and needed during project, including documentation on how-to
+             set a envirionment to allow development on the code
+
+= Info =
+The repository has not been used during the actual process. The deliverables are stored how-ever.
+
+= Contact =
+Rick van der Zwet <hvdzwet@liacs.nl>
+Frank de Boer <frank.de.boer@gmail.com>
+Lecture course webpage: http://hci.liacs.nl
+
Index: /liacs/hci/docs/initial-implementation.txt
===================================================================
--- /liacs/hci/docs/initial-implementation.txt	(revision 2)
+++ /liacs/hci/docs/initial-implementation.txt	(revision 2)
@@ -0,0 +1,16 @@
+= Requirements =
+1) Cross-platform (at least Windows/Mac OS X)
+2) Open Source
+3) No restrictive licencing
+
+= Initial setup =
+* Wii library     : http://www.wiili.org/WiiremoteJ
+    1) Java based
+    2) Private licence, no source available
+    
+* Bluetooth stack : http://bluecove.sourceforge.net
+    1) Java based
+    2) LGPL licence
+* Testing program : http://wiimotecommande.sourceforge.net/index.html
+    1) Java based
+    2) LGPL licence
Index: /liacs/hci/src/README
===================================================================
--- /liacs/hci/src/README	(revision 2)
+++ /liacs/hci/src/README	(revision 2)
@@ -0,0 +1,33 @@
+$Id: README.txt 726 2008-12-29 20:28:56Z rick $
+= Info =
+Currently only tested at MacBook Pro 10.5 (Leopard). We are using
+Darwiin-remote to do the communication of the Wii Balance Board (Wii-BB) and
+WiiMote and map the action to keyboard mappings.
+
+Next we use lg3d-wonderland v0.4 to display a interactive virtual world,
+altough you could use many others, but you might need to change the key-codes.
+
+= Darwiin-remote =
+
+All addition of Wii BalanceBoard support has been merged into the
+Darwiin-remote trunk version at http://sourceforge.net/projects/darwiin-remote
+
+$ svn co https://darwiin-remote.svn.sourceforge.net/svnroot/darwiin-remote darwiin-remote
+# Next make sure to get XCode installed and compile/run both projects
+
+
+= lg3d-wonderland =
+Using Sun spinoff of collaberative envirionments to be found at https://lg3d-wonderland.dev.java.net/
+To compile and run the code, take a look at: http://wiki.java.net/bin/view/Javadesktop/DownloadAndBuildSource
+
+As wonderland does not have keymappings for up/down camera movement yet, you
+will need to apply the patch lg3d-wonderland-camera-vertical-keybindings.patch
+to enable such functionality using the keys R,F. Enhancement has also been
+filed at https://lg3d-wonderland.dev.java.net/issues/show_bug.cgi?id=513
+
+
+= Contact =
+Rick van der Zwet <hvdzwet@liacs.nl>
+Frank de Boer <frank.de.boer@gmail.com>
+Lecture course webpage: http://hci.liacs.nl
+
Index: /liacs/hci/src/lg3d-wonderland-camera-vertical-keybindings.patch
===================================================================
--- /liacs/hci/src/lg3d-wonderland-camera-vertical-keybindings.patch	(revision 2)
+++ /liacs/hci/src/lg3d-wonderland-camera-vertical-keybindings.patch	(revision 2)
@@ -0,0 +1,187 @@
+# This patch file was generated by NetBeans IDE
+# This patch can be applied using context Tools: Apply Diff Patch action on respective folder.
+# It uses platform neutral UTF-8 encoding.
+# Above lines and this line are ignored by the patching process.
+Index: lg3d-wonderland/src/classes/org/jdesktop/lg3d/wonderland/config/client/AvatarClientConfig.java
+--- lg3d-wonderland/src/classes/org/jdesktop/lg3d/wonderland/config/client/AvatarClientConfig.java Base (1.11)
++++ lg3d-wonderland/src/classes/org/jdesktop/lg3d/wonderland/config/client/AvatarClientConfig.java Locally Modified (Based On 1.11)
+@@ -55,6 +55,7 @@
+     private float   stepSize;
+     private float   acceleration;
+     private float   turnRate;
++    private float   lookRate;
+     private String  username;
+     private Color   userColor;
+ 
+@@ -66,6 +67,7 @@
+ 	stepSize			= 0.1f;		// world units
+ 	acceleration			= 0.01f;	// world units per second
+ 	turnRate			= 2.0f;		// degrees
++    lookRate            = 2.0f;     // degrees???
+ 	cameraMode			= AvatarCamera.Mode.DEFAULT;
+ 	setUserColor(Color.BLACK);
+         setUsername(null);
+@@ -114,6 +116,14 @@
+         this.turnRate = turnRate;
+     }
+ 
++    public float getLookRate() {
++        return lookRate;
++    }
++
++    public void setLookRate(float lookRate) {
++        this.lookRate = lookRate;
++    }
++
+     public AvatarCamera.Mode getCameraMode() {
+         return cameraMode;
+     }
+
+Index: lg3d-wonderland/src/classes/org/jdesktop/lg3d/wonderland/scenemanager/WalkBehavior.java
+--- lg3d-wonderland/src/classes/org/jdesktop/lg3d/wonderland/scenemanager/WalkBehavior.java Base (1.86)
++++ lg3d-wonderland/src/classes/org/jdesktop/lg3d/wonderland/scenemanager/WalkBehavior.java Locally Modified (Based On 1.86)
+@@ -78,9 +81,12 @@
+     public static final float DEFAULT_STEP_SIZE = 0.1f;
+     public static final float DEFAULT_ACCELERATION = 0.01f; // per second.
+     public static final float DEFAULT_TURN_RATE = (float)Math.toRadians(5.0);
++    public static final float DEFAULT_LOOK_RATE = (float)Math.toRadians(5.0);
+             
++    
+     public static float INIT_STEP_SIZE = DEFAULT_STEP_SIZE;
+     public static float INIT_TURN_RATE = DEFAULT_TURN_RATE;
++    public static float INIT_LOOK_RATE = DEFAULT_LOOK_RATE;
+     public static float INIT_ACCELERATION = DEFAULT_ACCELERATION;
+ 
+     private static final Logger logger = Logger.getLogger(WalkBehavior.class.getName());
+@@ -94,6 +100,9 @@
+ 	val = AvatarClientConfig.getDefault().getTurnRate();
+ 	if (val > 0) INIT_TURN_RATE = (float)Math.toRadians(val);
+ 
++    val = AvatarClientConfig.getDefault().getLookRate();
++	if (val > 0) INIT_LOOK_RATE = (float)Math.toRadians(val);
++
+ 	val = AvatarClientConfig.getDefault().getAcceleration();
+ 	if (val > 0) INIT_ACCELERATION = val;
+     }
+@@ -258,6 +267,7 @@
+         
+ 	float stepSize = s.getStepSize();
+ 	float turnRate = s.getTurnRate();
++    float lookRate = s.getLookRate();
+ 	AvatarCamera camera = AvatarControlBehavior.getAvatarControlBehavior().aCamera;
+ 
+         if (s.forward ) step.z	    -= stepSize;
+@@ -268,7 +278,15 @@
+         if (s.down    ) position.y  -= stepSize;
+         if (s.turnLeft) s.rotY      -= turnRate;
+         if (s.turnRight)s.rotY      += turnRate;
++        if (s.lookUp)   s.rotX      -= lookRate;
++        if (s.lookDown) s.rotX      += lookRate;
+         
++
++        // Clamp X rotation (look up/down
++        if (s.rotX>Math.PI/2) s.rotX = (float)Math.PI/2;
++        if (s.rotX<-Math.PI/2) s.rotX = (float)-Math.PI/2;
++
++
+         if (s.rotY>2.0f*Math.PI) s.rotY -= 2.0f*(float)Math.PI;
+         if (s.rotY<-2.0f*Math.PI) s.rotY += 2.0*(float)Math.PI;
+ 
+@@ -451,6 +469,8 @@
+             case AVATAR_DOWN        : s.down = true; break;
+             case AVATAR_TURN_LEFT   : s.turnLeft = true; break;
+             case AVATAR_TURN_RIGHT  : s.turnRight = true; break;
++            case AVATAR_LOOK_UP     : s.lookUp = true; break;
++            case AVATAR_LOOK_DOWN   : s.lookDown = true; break;
+ 
+             case AVATAR_SPEED_UP	:
+                  s.stepSize += DEFAULT_STEP_SIZE;
+@@ -587,6 +607,8 @@
+             case AVATAR_TURN_LEFT	: s.turnLeft = false; s.left=false; break;
+             case AVATAR_TURN_RIGHT	: s.turnRight = false; s.right=false; break;
+ 	    case AVATAR_SPEED_DOUBLE	: s.doubleSpeed = false; break;
++            case AVATAR_LOOK_UP     : s.lookUp = false; break;
++            case AVATAR_LOOK_DOWN   : s.lookDown = false; break;
+             case CAMERA_CYCLE		: cycleCamera = false; break;
+ 	    case AVATAR_SPEED_ACCELERATE: s.setAccelerate(false); break;
+ 
+@@ -682,6 +704,9 @@
+ 	AVATAR_SPEED_DOUBLE,
+ 	AVATAR_SPEED_ACCELERATE,
+ 
++    AVATAR_LOOK_UP,
++    AVATAR_LOOK_DOWN,
++
+ 	TOGGLE_COLLISION_DETECTION,
+ 	TOGGLE_MAIN_MENUBAR,
+ 
+@@ -732,6 +757,9 @@
+             map.put(KeyEvent.VK_Z, Action.AVATAR_STEP_LEFT);
+             map.put(KeyEvent.VK_X, Action.AVATAR_STEP_RIGHT);
+ 
++            map.put(KeyEvent.VK_R, Action.AVATAR_LOOK_UP);
++            map.put(KeyEvent.VK_F, Action.AVATAR_LOOK_DOWN);
++
+             map.put(KeyEvent.VK_0, Action.AVATAR_RESET);
+             map.put(KeyEvent.VK_HOME, Action.AVATAR_RESET);
+             
+@@ -853,12 +927,14 @@
+     private class Stimulus {
+         private float stepSize;
+         private float turnRate;
++        private float lookRate;
+         private float acceleration;
+ 
+         private boolean forward, backward;
+         private boolean left, right;
+         private boolean up, down;
+         private boolean turnLeft, turnRight;
++        private boolean lookUp, lookDown;
+ 
+ 	private boolean doubleSpeed;
+ 	private boolean accelerate;
+@@ -877,6 +953,7 @@
+         public void set(Stimulus s) {
+             stepSize = s.stepSize;
+             turnRate = s.turnRate;
++            lookRate = s.lookRate;
+             
+             forward = s.forward;
+             backward = s.backward;
+@@ -888,12 +965,15 @@
+             rotY = s.rotY;
+             turnLeft = s.turnLeft;
+             turnRight = s.turnRight;
++            lookUp = s.lookUp;
++            lookDown = s.lookDown;
+         }
+         
+         public void reset(boolean all) {
+ 	    if (all) {
+ 		stepSize = INIT_STEP_SIZE;
+ 		turnRate = INIT_TURN_RATE;
++        lookRate = INIT_LOOK_RATE;
+ 		acceleration = INIT_ACCELERATION;
+ 	    }
+ 
+@@ -901,8 +981,9 @@
+             left = right = false;
+             up = down = false;
+             turnLeft = turnRight = false;
+-            
+ 	    doubleSpeed = false;
++        lookUp = false;
++        lookDown = false;
+         }
+ 	private long accelarateStart = -1;
+ 
+@@ -914,6 +995,10 @@
+ 	    return doubleSpeed ? turnRate*2 : turnRate;
+ 	}
+ 
++    public float getLookRate() {
++	    return doubleSpeed ? lookRate*2 : lookRate;
++    }
++
+ 	public float getStepSize() {
+ 	    float ss = stepSize;
Index: /liacs/ib/kosten.txt
===================================================================
--- /liacs/ib/kosten.txt	(revision 2)
+++ /liacs/ib/kosten.txt	(revision 2)
@@ -0,0 +1,1 @@
+7 minuten adviseur
Index: /liacs/ib/plan.txt
===================================================================
--- /liacs/ib/plan.txt	(revision 2)
+++ /liacs/ib/plan.txt	(revision 2)
@@ -0,0 +1,24 @@
+IDEE: Digitale reclame
+WERKTITEL: Marketing in Motion
+BESCHRIJVING:
+Het idee is het verspreiden van reclame. De reclame wordt geleverd door
+bedrijven en pariculiere ondernemingen. De reclame wordt in 
+
+
+INNOVATIEF:
+-Dit idee gaat ervanuit dat mensen verschillende bewegende reclames 
+ interesanter vinden dan statische plaatjes. 
+-Fabrikanten kunnen met deze technologie op een nieuwe manier
+ hun doelgroep bereiken. 
+-Het zorgt ervoor dat op een saaie plek iets meer vermaak is. 
+-Reclame is tijd en regio gebonden. 
+-Verder kan er snel reclame ingezet worden en is distributie een stuk
+ makkelijker
+-Reclames hebben ieder een eigen code, waarbij op de website extra
+ informatie aangeboden kan worden.
+DOELGROEP:
+Bedrijven die reclame willen aanbieden
+
+
+
+
Index: /liacs/la/opdr1/rowcombine.m
===================================================================
--- /liacs/la/opdr1/rowcombine.m	(revision 2)
+++ /liacs/la/opdr1/rowcombine.m	(revision 2)
@@ -0,0 +1,7 @@
+function B = rowcombine(A,i,j,k)
+    % ROWCOMBINE
+    %           Makes a new matrix B by replacing row i  of A with 
+    %            (row i of A) + k * (row j of A)
+    B = A;
+    B(i,:) = A(i,:) + k * A(j,:);
+
Index: /liacs/la/opdr1/rowmultiple.m
===================================================================
--- /liacs/la/opdr1/rowmultiple.m	(revision 2)
+++ /liacs/la/opdr1/rowmultiple.m	(revision 2)
@@ -0,0 +1,8 @@
+function B = rowmultiple(A,i,k)
+    % ROWMULTIPLE   Given an m x n matrix A
+    %               along with an integer i between 1 and m and a
+    %               nonzero scalar k this function will priduce a m x n
+    %               matrix B that is the result of multiplying row i of
+    %               A by k
+    B = A;
+    B(i,:) = k * A(i,:);
Index: /liacs/la/opdr1/rowswap.m
===================================================================
--- /liacs/la/opdr1/rowswap.m	(revision 2)
+++ /liacs/la/opdr1/rowswap.m	(revision 2)
@@ -0,0 +1,7 @@
+function B = rowswap(A,i,j)
+    % ROWSWAP   Given an m x n matrix A and two intergers i and j
+    %           between 1 and m, this function produces an m x n matrix
+    %           that results from intercharging row i and row j of A.
+    B = A;
+    B(i,:) = A(j,:);
+    B(j,:) = A(i,:);
Index: /liacs/la/opdr1/uitwerking.m
===================================================================
--- /liacs/la/opdr1/uitwerking.m	(revision 2)
+++ /liacs/la/opdr1/uitwerking.m	(revision 2)
@@ -0,0 +1,43 @@
+% Intructie matlab
+
+% 1-4) Equivalente commando's onder Mac OS X uitgevoerd
+
+% 5) Help functie weergeven
+help rowmultiple
+
+% 6) Test matrix maken
+A = [ 1, 2, 3;
+      4, 5, 6;
+      7, 8, 9; ];
+% 7)
+B = rowswap(A, 1, 3)
+B = rowcombine(A, 3, 2, 4)
+B = rowmultiple(A, 3, 0.5)
+
+% 8) maar er een spoormatrix van
+M = [  3,  1,  5,  7;
+       2,  4, -1,  0;
+       5,  7,  3,  1; ];
+M1 = rowmultiple(M, 1, 2)
+M2 = rowmultiple(M1, 3, 2)
+M3 = rowswap(M2, 1, 2)
+M4 = rowcombine(M3, 2, 1, -3)
+M5 = rowcombine(M4, 3, 1, -5)
+M6 = rowcombine(M5, 3, 2, -0.6)
+M7 = rowmultiple(M6,3, 1/3.2)
+M8 = rowcombine(M7, 2, 3, -13)
+M9 = rowcombine(M8, 1, 3, 1)
+M10 = rowmultiple(M9, 2, -0.1)
+M11 = rowcombine(M10, 1, 2, -4)
+Mfinal = rowmultiple(M11, 1, .5)
+
+% 9)
+SpoorM = rref(M)
+
+% 10)
+% Ze komen overeen
+pause
+
+
+
+
Index: /liacs/la/opdr2/case1.m
===================================================================
--- /liacs/la/opdr2/case1.m	(revision 2)
+++ /liacs/la/opdr2/case1.m	(revision 2)
@@ -0,0 +1,15 @@
+%Data for Cast Study 1
+%Linear Models in Economics
+%
+A = eye(5) - [3469/8447 528/15011   1045/20908 792/13498 2622/22340;
+              492/8447 6182/15011 2595/20908 1245/13498 5829/22340;
+              562/8447 2299/15011 4203/20908 4253/13498 10586/22340;
+              627/8447 1532/15011 1617/20908 3899/13498 3091/22340;
+              3297/8447 4470/15011 11448/20908 3309/13498 212/22340];
+%
+%
+B = eye(5) - [3469/8447 528/15011   1045/20908 792/13498 2622/28399;
+              492/8447 6182/15011 2595/20908 1245/13498 5829/28399;
+              562/8447 2299/15011 4203/20908 4253/13498 16645/28399;
+              627/8447 1532/15011 1617/20908 3899/13498 3091/28399;
+              3297/8447 4470/15011 11448/20908 3309/13498 212/28399];
Index: /liacs/la/opdr2/network.m
===================================================================
--- /liacs/la/opdr2/network.m	(revision 2)
+++ /liacs/la/opdr2/network.m	(revision 2)
@@ -0,0 +1,14 @@
+%Application Project: Networks
+%   x1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 total
+A = [ 1  0  0 -1  0  0  0  0  0  0  0  0  0  0  0  0  0  7669  ;
+      1  -1 0  0 -1  0  0  0  0  0  0  0  0  0  0  0  0 -16680 ;
+      0  1 -1  0  0  1  0  0  0  0  0  0  0  0  0  0  0  7593  ;
+      0  0  1  0  0  0 -1  0  0  0  0  0  0  0  0  0  0  9358  ;
+      0  0  0  1  0  0  0 -1  0  0 -1  0  0  0  0  0  0 -19929 ;
+      0  0  0  0  1  0  0 -1  1  0  0 -1  0  0  0  0  0  0     ;
+      0  0  0  0  0  1  0  0  1 -1  0  0 -1  0  0  0  0  0     ;
+      0  0  0  0  0  0  1  0  0 -1  0  0  0 -1  0  0  0 -15089 ;
+      0  0  0  0  0  0  0  0  0  0  1  0  0  0  1  0  0  5136  ;
+      0  0  0  0  0  0  0  0  0  0  0  1  0  0  1 -1  0  8080  ;
+      0  0  0  0  0  0  0  0  0  0  0  0  1  0  0 -1  1  5379  ;
+      0  0  0  0  0  0  0  0  0  0  0  0  0  1  0  0 -1  4993  ; ];
Index: /liacs/la/opdr2/opdr2_1.svg
===================================================================
--- /liacs/la/opdr2/opdr2_1.svg	(revision 2)
+++ /liacs/la/opdr2/opdr2_1.svg	(revision 2)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
+<svg width="21cm" height="18cm" viewBox="-3 4 21 18">
+  <ellipse style="fill: #ffffff" cx="1.7875" cy="6.85" rx="2.16337" ry="2.09974"/>
+  <ellipse style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" cx="1.7875" cy="6.85" rx="2.16337" ry="2.09974"/>
+  <text style="fill: #000000; font-size: 0.8 cm; length: 3.215 cm; font-family: sans; font-style: normal; font-weight: normal" x="0.18" y="6.9925">Agriculture</text>
+  <ellipse style="fill: #ffffff" cx="13.4966" cy="6.9075" rx="2.64027" ry="2.56262"/>
+  <ellipse style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" cx="13.4966" cy="6.9075" rx="2.64027" ry="2.56262"/>
+  <text style="fill: #000000; font-size: 0.8 cm; length: 4.2275 cm; font-family: sans; font-style: normal; font-weight: normal" x="11.3828" y="7.05">Manufacturing</text>
+  <ellipse style="fill: #ffffff" cx="13.5966" cy="14.415" rx="2.53039" ry="2.45597"/>
+  <ellipse style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" cx="13.5966" cy="14.415" rx="2.53039" ry="2.45597"/>
+  <text style="fill: #000000; font-size: 0.8 cm; length: 3.6425 cm; font-family: sans; font-style: normal; font-weight: normal" x="11.7753" y="14.1575">Government</text>
+  <text style="fill: #000000; font-size: 0.8 cm; length: 2.94 cm; font-family: sans; font-style: normal; font-weight: normal" x="12.1266" y="14.9575">and Other</text>
+  <ellipse style="fill: #ffffff" cx="1.7875" cy="14.5725" rx="1.81739" ry="1.76394"/>
+  <ellipse style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" cx="1.7875" cy="14.5725" rx="1.81739" ry="1.76394"/>
+  <text style="fill: #000000; font-size: 0.8 cm; length: 2.46 cm; font-family: sans; font-style: normal; font-weight: normal" x="0.5575" y="14.715">Services</text>
+  <line style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x1="4.55082" y1="6.86357" x2="10.2562" y2="6.89159"/>
+  <polygon style="fill: #000000" points="4.55204,6.61357 4.05082,6.86111 4.54959,7.11357 "/>
+  <polygon style="fill: #000000" points="10.255,7.14158 10.7562,6.89404 10.2575,6.64159 "/>
+  <path style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" d="M 0.2375,6.0075 A 1.04475,1.04475 0 1 0 -0.709644,7.7071"/>
+  <polygon style="fill: #000000" points="-0.642403,8.07669 -0.258172,7.67065 -0.81354,7.60689 "/>
+  <path style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" d="M 0.108447,13.8975 A 1.01099,1.01099 0 1 0 -0.13836,15.7167"/>
+  <polygon style="fill: #000000" points="0.0812773,16.0254 0.252515,15.4932 -0.275943,15.6755 "/>
+  <path style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" d="M 16.4339,7.94857 A 1.04871,1.04871 0 0 0 15.9359,5.92683"/>
+  <polygon style="fill: #000000" points="16.5388,7.84928 15.9826,7.90589 16.3616,8.31684 "/>
+  <path style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" d="M 15.9044,16.1879 A 1.36842,1.36842 0 0 0 15.9344,13.4751"/>
+  <polygon style="fill: #000000" points="15.9817,16.052 15.4342,16.1645 15.8527,16.5351 "/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x1="1.7875" y1="9.49974" x2="1.7875" y2="12.2091"/>
+  <polygon style="fill: #000000" points="2.0375,9.49974 1.7875,8.99974 1.5375,9.49974 "/>
+  <polygon style="fill: #000000" points="1.5375,12.2091 1.7875,12.7091 2.0375,12.2091 "/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x1="4.20461" y1="14.5403" x2="10.4677" y2="14.4567"/>
+  <polygon style="fill: #000000" points="4.20127,14.2903 3.70465,14.5469 4.20794,14.7902 "/>
+  <polygon style="fill: #000000" points="10.4711,14.7067 10.9677,14.4501 10.4644,14.2068 "/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x1="13.5567" y1="11.4222" x2="13.5387" y2="10.0698"/>
+  <polygon style="fill: #000000" points="13.5617,11.7972 13.3051,11.3006 13.5567,11.4222 13.805,11.2939 "/>
+  <polygon style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" points="13.5617,11.7972 13.3051,11.3006 13.5567,11.4222 13.805,11.2939 "/>
+  <polygon style="fill: #000000" points="13.7887,10.0664 13.5321,9.56982 13.2887,10.0731 "/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x1="3.80687" y1="8.58525" x2="11.3177" y2="12.4279"/>
+  <polygon style="fill: #000000" points="3.92074,8.36268 3.36174,8.35751 3.69301,8.80781 "/>
+  <polygon style="fill: #000000" points="11.2038,12.6504 11.7628,12.6556 11.4316,12.2053 "/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x1="3.73322" y1="13.1695" x2="10.6112" y2="8.20986"/>
+  <polygon style="fill: #000000" points="3.587,12.9667 3.32767,13.4619 3.87944,13.3722 "/>
+  <polygon style="fill: #000000" points="10.7574,8.41264 11.0167,7.91742 10.465,8.00708 "/>
+  <ellipse style="fill: #ffffff" cx="6.6125" cy="18.6325" rx="2.225" ry="2.075"/>
+  <ellipse style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" cx="6.6125" cy="18.6325" rx="2.225" ry="2.075"/>
+  <text style="fill: #000000; font-size: 0.8 cm; length: 3.09 cm; font-family: sans; font-style: normal; font-weight: normal" x="5.0675" y="18.775">Household</text>
+  <path style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" d="M 5.7375,20.8075 A 0.993527,0.993527 0 0 0 7.65457,21.0085"/>
+  <polygon style="fill: #000000" points="7.99481,20.838 7.49409,20.5895 7.59567,21.1392 "/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x1="4.50185" y1="16.8565" x2="3.61985" y2="16.1143"/>
+  <polygon style="fill: #000000" points="4.34089,17.0478 4.88443,17.1784 4.66281,16.6652 "/>
+  <polygon style="fill: #000000" points="3.78081,15.923 3.23727,15.7924 3.45889,16.3056 "/>
+  <line style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x1="9.13455" y1="17.4281" x2="11.311" y2="16.3887"/>
+  <polygon style="fill: #000000" points="9.02682,17.2025 8.68336,17.6435 9.24229,17.6537 "/>
+  <polygon style="fill: #000000" points="11.4188,16.6142 11.7622,16.1732 11.2033,16.1631 "/>
+  <path style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" d="M -0.528218,8.30619 A 6.37215,6.37215 0 0 0 3.87274,19.2184"/>
+  <polygon style="fill: #000000" points="-0.385402,8.48187 -0.15972,7.97043 -0.704279,8.09675 "/>
+  <polygon style="fill: #000000" points="3.89124,19.4914 4.37107,19.2046 3.85372,18.9928 "/>
+  <path style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" d="M 8.99101,20.0449 A 6.94434,6.94434 0 0 0 16.2161,8.60654"/>
+  <polygon style="fill: #000000" points="16.395,8.40205 15.8532,8.26444 16.0682,8.78046 "/>
+  <polygon style="fill: #000000" points="9.08451,19.8366 8.52617,19.8641 8.8832,20.2942 "/>
+</svg>
Index: /liacs/la/opdr2/rowcombine.m
===================================================================
--- /liacs/la/opdr2/rowcombine.m	(revision 2)
+++ /liacs/la/opdr2/rowcombine.m	(revision 2)
@@ -0,0 +1,7 @@
+function B = rowcombine(A,i,j,k)
+    % ROWCOMBINE
+    %           Makes a new matrix B by replacing row i  of A with 
+    %            (row i of A) + k * (row j of A)
+    B = A;
+    B(i,:) = A(i,:) + k * A(j,:);
+
Index: /liacs/la/opdr2/uitwerking.m
===================================================================
--- /liacs/la/opdr2/uitwerking.m	(revision 2)
+++ /liacs/la/opdr2/uitwerking.m	(revision 2)
@@ -0,0 +1,118 @@
+echo on
+
+% == Case Study Econometrisch Model en Verkeers Netwerk ===
+
+% 1) De verbindingen staan voor de geldstromen van een devisie naar de
+% andere. Voor een plaatje zie opdr2_1.png
+
+% 2) Dit is niet mogelijk
+
+% 3)
+% Pa = 0.4107 Pa + 0.0352 Pm + 0.0500 Ps + 0.0587 Pg + 0.1174 Ph
+% Pm = 0.0582 Pa + 0.4118 Pm + 0.1241 Ps + 0.0922 Pg + 0.2609 Ph
+% Ps = 0.0665 Pa + 0.1532 Pm + 0.2010 Ps + 0.3151 Pg + 0.4739 Ph
+% Pg = 0.0742 Pa + 0.1021 Pm + 0.0773 Ps + 0.2889 Pg + 0.1384 Ph
+% Ph = 0.3904 Pa + 0.2977 Pm + 0.5476 Ps + 0.2451 Pg + 0.0094 Ph
+
+% Makkelijker,
+% 0 = -0.5893 Pa + 0.0352 Pm + 0.0500 Ps + 0.0587 Pg + 0.1174 Ph
+% 0 =  0.0582 Pa - 0.5882 Pm + 0.1241 Ps + 0.0922 Pg + 0.2609 Ph
+% 0 =  0.0665 Pa + 0.1532 Pm - 0.7990 Ps + 0.3151 Pg + 0.4739 Ph
+% 0 =  0.0742 Pa + 0.1021 Pm + 0.0773 Ps - 0.7111 Pg + 0.1384 Ph
+% 0 =  0.3904 Pa + 0.2977 Pm + 0.5476 Ps + 0.2451 Pg - 0.9906 Ph
+
+% De case heeft alles naar links gehaald, alles naar rechts halen zijn
+% een stuk minder operaties (lees: rekenwerk)
+
+% 4)
+case1;
+b = [0; 0; 0; 0; 0];
+Aug = [A,b];
+S = rref(Aug)
+
+% 5)
+% Basis : Pa, Pm, Ps, Pg
+% Vrij  : Ph
+% 
+% Pa = 0.3678 Ph
+% Pm = 0.7482 Ph
+% Ps = 0.9417 Ph
+% Pg = 0.4427 Ph
+% Ph = 1
+% 
+% Totaal
+% Pa = 0.3678 + 0.7482 + 0.9417 + 0.4427 + 1 = 802.04
+% 
+% Pa = 84.273
+% Pm = 171.434
+% Ps = 214.770
+% Pg = 101.435
+% Ph = 229.128
+
+
+% === Case Studie verkeersstromen ===
+% 1) Het aantal auto's dat -bij een korte opservatietijd- op een kruispunt
+%    komt en er weer af gaat zal gelijk blijven.
+% 2) Argumented matrix figuur 3
+% Ik zal de kruispunten met coordinaten beschrijven, de basis (0,0) ligt
+% linksonderin. Aankomende auto's zijn positief, vertrekkende negatief
+% (0,0) : 4571 - 6433 + 6998 - x11 - x15
+% (0,1) : x15 + x12 - x16 - 8080
+% (0,2) : x16 - x13 - x17 + 5379
+% (0,3) : x17 + x14 - 5394 + 6049 - 5648
+% (1,0) : x11 - 19929 - x4 + x8
+% (1,1) : -x12 - x8 + x5 + x9
+% (1,2) : -x9 -x6 + x10 + x13
+% (1,3) : -x10 + x7 + 15089 - x14
+% (2,0) : x4 + 18144 - 10475 - x1
+% (2,1) : x1 + 16680 - x2 - x5
+% (2,2) : x2 - 7598 - x3 + x6
+% (2,3) : x3 + 9462 - 18820 - x7
+% 
+%       x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 Total
+% (0,0)  0  0  0  0  0  0  0  0  0   0   0   0   0   0  -1  -1   0  5136
+% (0,1)  0  0  0  0  0  0  0  0  0   0   0   1   0   0   1  -1   0 -8080
+% (0,2)  0  0  0  0  0  0  0  0  0   0   0   0   -1  0   0   1  -1  5379
+% (0,3)  0  0  0  0  0  0  0  0  0   0   0   0   0   1   0   0   1 -4993
+% (1,0)  0  0  0 -1  0  0  0  1  0   0   1   0   0   0   0   0   0 -19929
+% (1,1)  0  0  0  0  1  0  0 -1  1   0   0  -1   0   0   0   0   0  0
+% (1,2)  0  0  0  0  0 -1  0  0 -1   1   0   0   1   0   0   0   0  0
+% (1,3)  0  0  0  0  0  0  1  0  0  -1   0   0   0  -1   0   0   0  15089
+% (2,0)  -1 0  0  1  0  0  0  0  0   0   0   0   0   0   0   0   0  7669
+% (2,1)  1  0 -1  0 -1  0  0  0  0   0   0   0   0   0   0   0   0  16680
+% (2,2)  0  1 -1  0  0  1  0  0  0   0   0   0   0   0   0   0   0 -7598
+% (2,3)  0  0  1  0  0  0 -1  0  0   0   0   0   0   0   0   0   0 -9358
+
+% 3)
+% De bovenstaande matrix komt niet overeen met de matrix van de case
+% studie, want:
+% * Hun hebben de rij volgorde anders aangepakt
+% * Ze maken fouten, kijk naar de rij 1 0 0 -1 1 0 8080, dit kan niet want
+%   zowel de x12 als de x15 zijn aankomend, maar verschillen in waarde
+
+% 4)
+% Ik verander de foute matrix niet.
+network;
+
+% 5)
+for j=1:12,
+    A = rowcombine(A,12,j,1);
+end
+A
+% Het klopt helemaal niet. Alle x1 .. x17 zouden 0 moeten zijn, totaal
+% verkeer is -6980. Als ik 'de rand' optelt met de hand kom ik uit op -5,
+% maar zoals eerder vermeld. De waardes van de rand staan fout in de
+% matrix.
+
+% 6)
+network;
+rref(A)
+
+% 7)
+% 15 basis variables
+% 1 vrije variable (x16)
+
+% 8)
+% Hiervoor moet je kijken waar de eindwaarde van een bepaalde xY
+% Y=1...16 negetief is, deze stoom staat dan de andere kant op
+pause
Index: /liacs/la/opdr3/rotate.m
===================================================================
--- /liacs/la/opdr3/rotate.m	(revision 2)
+++ /liacs/la/opdr3/rotate.m	(revision 2)
@@ -0,0 +1,44 @@
+function B = rotate(A,degrees)
+    % With a litle help of
+    % http://www.mathworks.com/matlabcentral/
+    % fileexchange/loadFile.do?objectId=4071
+    %
+    % bepaal dimentie
+    B = A;
+    degrees_rad = degrees * pi / 180;
+    %rotatiematrix
+    R = [ cos(degrees_rad), sin(degrees_rad), 0;
+          sin(-degrees_rad), cos(degrees_rad), 0;
+          0, 0, 1];
+    %bepaal buitenzijden en midden
+    [in_size_x, in_size_y] = size(A);
+    in_mid_x = ( in_size_x-1) / 2;
+    in_mid_y = ( in_size_y-1) / 2;
+    %max grootte van het nieuwe plaatje is de helft de diameter
+    % en dan 'rechtop'
+    dia = int64(sqrt(in_size_x^2  + in_size_y^2 ));
+    B = zeros([dia,dia]);
+    %grootte van de nieuwe matrix
+    [out_size_x, out_size_y] = size(B);
+    out_mid_x = ( out_size_x-1) / 2;
+    out_mid_y = ( out_size_y-1) / 2;
+    %
+    %translatiematrix
+    Tout = [ 1, 0, out_mid_x;
+             0, 1, out_mid_y;
+             0, 0, 1;];
+    Tin = [ 1, 0, -in_mid_x;
+            0, 1, -in_mid_y;
+            0, 0, 1; ];
+    Trans = Tout * R * Tin;
+    % Laten we maar gaan draaien ;-)
+    for i=1:in_size_x
+        for j=1:in_size_y
+            out = round(Trans * [i;j;1;]);
+            %gegevens overhevelen
+            B(out(1),out(2)) = A(i,j);
+        end
+    end
+
+
+
Index: /liacs/la/opdr3/rotate180.m
===================================================================
--- /liacs/la/opdr3/rotate180.m	(revision 2)
+++ /liacs/la/opdr3/rotate180.m	(revision 2)
@@ -0,0 +1,8 @@
+function B = rotate180(A)
+    [m,n] = size(A);
+    B = zeros(m,n);
+    for i=1:m
+        for j=1:n
+            B(i,j) = A(m + 1 - i,n + 1 - j);
+        end
+    end
Index: /liacs/la/opdr3/rotateB.m
===================================================================
--- /liacs/la/opdr3/rotateB.m	(revision 2)
+++ /liacs/la/opdr3/rotateB.m	(revision 2)
@@ -0,0 +1,48 @@
+function B = rotateB(A,degrees)
+    % Translate backwards
+    % bepaal dimentie
+    B = A;
+    degrees_rad = degrees * pi / 180;
+    %rotatiematrix
+    R = [ cos(-degrees_rad), sin(-degrees_rad), 0;
+          sin(degrees_rad), cos(-degrees_rad), 0;
+          0, 0, 1];
+    %bepaal buitenzijden en midden
+    [in_size_x, in_size_y] = size(A);
+    in_mid_x = ( in_size_x-1) / 2;
+    in_mid_y = ( in_size_y-1) / 2;
+    %max grootte van het nieuwe plaatje is de helft de diameter
+    % en dan 'rechtop'
+    dia = int64(sqrt(in_size_x^2  + in_size_y^2 ));
+    B = zeros([dia,dia]);
+    %grootte van de nieuwe matrix
+    [out_size_x, out_size_y] = size(B);
+    out_mid_x = ( out_size_x-1) / 2;
+    out_mid_y = ( out_size_y-1) / 2;
+    %
+    %translatiematrix
+    Tout = [ 1, 0, -out_mid_x;
+             0, 1, -out_mid_y;
+             0, 0, 1;];
+    Tin = [ 1, 0, in_mid_x;
+            0, 1, in_mid_y;
+            0, 0, 1; ];
+    Trans = Tin * R * Tout;
+    % Laten we maar gaan draaien ;-)
+    for i=1:out_size_x
+        for j=1:out_size_y
+            out = round(Trans * [i;j;1;]);
+            %controleren of punt bestaat
+            if ( out(1) >= 1 && out(1) <= in_size_x && ...
+                 out(2) >= 1 && out(2) <= in_size_y )
+                %gegevens overhevelen
+                B(i,j) = A(out(1),out(2));
+            else
+                %puntje zwart maken
+                B(i,j) = 0;
+            end
+        end
+    end
+
+
+
Index: /liacs/la/opdr3/uitwerking.m
===================================================================
--- /liacs/la/opdr3/uitwerking.m	(revision 2)
+++ /liacs/la/opdr3/uitwerking.m	(revision 2)
@@ -0,0 +1,84 @@
+echo on
+% == Transformaties van grijswaardebeelden in Matlab ==
+
+% Pre)
+A = imread('meisje.jpg','jpg');
+image(A);
+title('Opdracht 3, Pre');
+colormap(gray(256));
+%Resultaat plaatje, de hoogte en breedte zijn wel verloren gegaan
+pause;
+
+%1)
+Pos = double(A);
+Neg(:,:) = 255 - Pos(:,:);
+Nega = uint8(Neg);
+image(Nega);
+title('Opdracht 3, 1)');
+colormap(gray(256));
+% Resultaat plaatje dat negatief is aan het orgineel
+pause;
+
+%2)
+spie = A';
+image(spie);
+title('Opdracht 3, 2.1)');
+colormap(gray(256));
+% Resultaat plaatje dat over de diagonaal gespiegeld is.
+pause;
+
+orig = spie';
+image(orig);
+title('Opdracht 3, 2.2)');
+colormap(gray(256));
+% Resultaat het orginele plaatje weer.
+pause;
+
+% 3)
+% Om het beeld rond de verticaal te spiegelen moeten we gebruiken de code
+% zie code vmirror.m of gebruik flipud(A)
+image(vmirror(A));
+title('Opdracht 3, 3.1)');
+colormap(gray(256));
+pause;
+
+
+% 180 graden te draaien
+% zie code rotate180.m
+% of gebruik fliplr(flipud(A))
+image(rotate180(A));
+title('Opdracht 3, 3.2)');
+colormap(gray(256));
+pause;
+
+% 4) Grijswaarde beeld afbeelden als berglandschap
+hoog = double(A);
+mesh(hoog)
+title('Opdracht 3, 4.1)');
+colormap(gray(256));
+pause;
+
+% Inverse
+mesh(255 * hoog)
+title('Opdracht 3, 4.2)');
+colormap(gray(256));
+%Met roteren in het plaatje kan je mooi de structuur weergeven
+pause;
+
+
+% 5) Rotatie over een willekeurige hoek
+% Ik maak gebruik van een iets andere functie vullijst voornamelijk om
+% duidelijker te kunnen documenteren
+% zie rotate.m maak gebruik van voorwaardse rotatie
+image(rotate(A,45));
+title('Opdracht 3, 5.1)');
+colormap(gray(256));
+pause;
+
+% zie rotateB.m maakt gebruik van achterwaarde rotatie
+image(rotateB(A,45));
+title('Opdracht 3, 5.2)');
+colormap(gray(256));
+pause;
+
+
Index: /liacs/la/opdr3/vmirror.m
===================================================================
--- /liacs/la/opdr3/vmirror.m	(revision 2)
+++ /liacs/la/opdr3/vmirror.m	(revision 2)
@@ -0,0 +1,13 @@
+function B = vmirror(A)
+    % ROWMULTIPLE   Given an m x n matrix A
+    %               along with an integer i between 1 and m and a
+    %               nonzero scalar k this function will priduce a m x n
+    %               matrix B that is the result of multiplying row i of
+    %               A by k
+    [m,n] = size(A);
+    B = zeros(m,n);
+    for i=1:m
+        for j=1:n
+            B(i,j) = A(m + 1 - i,j);
+        end
+    end
Index: /liacs/la/opdr3/vullijst.m
===================================================================
--- /liacs/la/opdr3/vullijst.m	(revision 2)
+++ /liacs/la/opdr3/vullijst.m	(revision 2)
@@ -0,0 +1,20 @@
+function lijst=vullijst(A)
+    % bij aanroep van deze funcie wordt een beeld matrix A
+    % geplaatst in het midden van een 2 maal zo breed en hoog beeld
+    % omringd met nullen
+    %
+    % bepaal dementie
+    [m,n] = size(A);
+    % maak nieuwe lijst
+    lijst = zeros(2*m,2*n);
+    %bepaal translatie
+    xmove = .5 * m;
+    ymove = .5 * n;
+    for i=1:m
+        for j=1:n
+            lijst(xmove + i, ymove + j) = A(i,j);
+        end
+    end
+    colormap(gray(256));
+    image(lijst);
+
Index: /liacs/la/opdr4/Toyota.m
===================================================================
--- /liacs/la/opdr4/Toyota.m	(revision 2)
+++ /liacs/la/opdr4/Toyota.m	(revision 2)
@@ -0,0 +1,34 @@
+% D = The n vertex coordinates of the wireframe Toyota model
+% and C = the nxn connection structure of the Toyata wireframe
+% representation are constructed
+
+D1 = [ -6.5, -6.5, -6.5, -6.5, -2.5, -2.5, -0.75, -0.75, 3.25, 3.25;
+       -2  , -2  ,  0.5,  0.5,  0.5,  0.5,  2   ,  2   , 2   , 2   ;
+       -2.5,  2.5,  2.5, -2.5, -2.5,  2.5, -2.5 ,  2.5 ,-2.5 , 2.5 ;
+        1  ,  1  ,  1  ,  1  ,  1  ,  1  ,  1   ,  1   , 1   , 1   ; ];
+
+D2 = [  4.5,  4.5,  6.5,  6.5,  6.5,  6.5;
+        0.5,  0.5,  0.5,  0.5, -2  , -2  ;
+       -2.5,  2.5, -2.5,  2.5,  2.5, -2.5;
+        1  ,  1  ,  1  ,  1  ,  1  ,  1  ; ];
+
+D = [ D1, D2];
+
+%Pnt  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
+C = [ 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1;
+      1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0;
+      0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
+      1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
+      0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0;
+      0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0;
+      0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0;
+      0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0;
+      0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0;
+      0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0;
+      0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0;
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0;
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1;
+      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0;
+      0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1;
+      1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0; ];
+
Index: /liacs/la/opdr4/uitwerking.m
===================================================================
--- /liacs/la/opdr4/uitwerking.m	(revision 2)
+++ /liacs/la/opdr4/uitwerking.m	(revision 2)
@@ -0,0 +1,28 @@
+echo on
+% 1)
+% zie Toyota.m
+
+% 2)
+% zie xyhomproj.m
+
+% 3)
+% De implementatie is gedaan door over de connectie matrix te lopen en
+% daaruit de punten bepalen. We kijken enkel naar de hogere rij waarden,
+% om lijntjes niet dubbel te tekenen
+% zie wireframe.m
+
+% 4)
+% figuur, gebruikt om het figuur weer gegeven. De plotax werkte ook niet
+B = xyhomproj(D);
+wireframe(B,C,16);
+title('Opdracht4 deel 4');
+
+% 5)
+P = [ 1 0 0 0;
+      0 1 0 0;
+      0 0 1 0;
+      0 0 0 1; ];
+A = P * D;
+B = xyhomproj(A);
+wireframe(B,C,16);
+title('Opdracht4 deel 5');
Index: /liacs/la/opdr4/wireframe.m
===================================================================
--- /liacs/la/opdr4/wireframe.m	(revision 2)
+++ /liacs/la/opdr4/wireframe.m	(revision 2)
@@ -0,0 +1,48 @@
+function wireframe(D,C,n)
+    % given 2 dim array f n Data points and square nxn adjacency 
+    % array C of connections
+    % plot wireframe edge by edge between projected Begin and End x,y
+    % coordinates
+    % vectors X and Y are of length 2 and contain respectively the two
+    % x and y coordinates of the Begin- and Endpoints
+    % determine x,y range first for whole dataset
+    
+    % wel het figuurtje laten zien natuurlijk
+    figure
+    % hulp lijntjes
+    grid on
+
+    % even randen
+    % xmin=1.2*min(min(D([1],:)));
+    % xmax=1.2*max(max(D([1],:)));
+    % ymin=1.2*min(min(D([2],:)));
+    % ymax=1.2*max(max(D([2],:)));
+    % gebruik onderstaande voor een vierkant
+    xmin=1.2*min(min(D([1 2],:)));
+    xmax=1.2*max(max(D([1 2],:)));
+    ymin = xmin;
+    ymax = xmax;
+    axis([xmin,xmax,ymin,ymax]);
+
+    X = [0; 10];
+    Y = [0; 10];
+    % no cleanups between plot commands
+    hold on
+    % loop door de connectie array heen
+    % we trekken enkel lijntjes van de kleine naar de grootte om dubbel
+    % werk te voorkomen
+    for i=1:n
+        for j=i:n
+            if ( C(i,j) == 1 )
+                point1 = D(:,i);
+                point2 = D(:,j);
+                X = [ point1(1); point2(1) ];
+                Y = [ point1(2); point2(2) ];
+                plot(X, Y,'k-')
+
+            end
+        end
+    end
+    %draw black line between 2 connected data vertex points at a time
+    hold off
+
Index: /liacs/la/opdr4/xyhomproj.m
===================================================================
--- /liacs/la/opdr4/xyhomproj.m	(revision 2)
+++ /liacs/la/opdr4/xyhomproj.m	(revision 2)
@@ -0,0 +1,6 @@
+function U = xyhomproj (T)
+    % given a 4xn matrix T result of a perspective 3D projection
+    % determine 2xn matrix U by diving first 2 rows of T by 4th row
+    % thus normalizing the homogenerous coordinate to 1
+    U(1,:)=T(1,:) ./ T(4,:);
+    U(2,:)=T(2,:) ./ T(4,:);
Index: /liacs/la/opdr5/cramer.m
===================================================================
--- /liacs/la/opdr5/cramer.m	(revision 2)
+++ /liacs/la/opdr5/cramer.m	(revision 2)
@@ -0,0 +1,9 @@
+function result = cramer(A,b)
+% Solve using cramer formula
+
+    % determinant only need to be calculated ones
+    detA = det(A);
+    for i=1:size(A,1)
+        result(i,1) = det(cramermatrix(A,i,b)) / detA;
+    end
+
Index: /liacs/la/opdr5/cramermatrix.m
===================================================================
--- /liacs/la/opdr5/cramermatrix.m	(revision 2)
+++ /liacs/la/opdr5/cramermatrix.m	(revision 2)
@@ -0,0 +1,5 @@
+function B = cramermatrix(A,i,b)
+%   given matrix A, column nr i and vector b
+%   form matrix B as A with column i replaced by b
+    B = A;
+    B(:,i) = b(:);
Index: /liacs/la/opdr5/rowswap.m
===================================================================
--- /liacs/la/opdr5/rowswap.m	(revision 2)
+++ /liacs/la/opdr5/rowswap.m	(revision 2)
@@ -0,0 +1,7 @@
+function B = rowswap(A,i,j)
+    % ROWSWAP   Given an m x n matrix A and two intergers i and j
+    %           between 1 and m, this function produces an m x n matrix
+    %           that results from intercharging row i and row j of A.
+    B = A;
+    B(i,:) = A(j,:);
+    B(j,:) = A(i,:);
Index: /liacs/la/opdr5/uitwerking.m
===================================================================
--- /liacs/la/opdr5/uitwerking.m	(revision 2)
+++ /liacs/la/opdr5/uitwerking.m	(revision 2)
@@ -0,0 +1,83 @@
+echo on
+% 1)
+% see cramermatrix.m
+
+% 2)
+% Matrix A
+A = [1, 2, 3;
+     4, 5, 6;
+     7, 8, 9; ];
+
+% 3)
+% Vector b
+b = [ 10; 11; 12];
+
+% 4)
+help cramermatrix
+
+% 5)
+% test werking cramermatrix voor i=1,2,3
+for i=1:3
+    cramermatrix(A,i,b)
+end
+
+% 6)
+% see cramer.m
+
+% 7)
+% resultatencheck met rref(Ab)
+Ab = [1, 2, 3, 10;
+      6, 5, 4, 11;
+      7, 9, 8, 12; ];
+% little trick to input into newly created cramer function
+cramer(Ab(:,1:3),Ab(:,4))
+rref(Ab)
+% klopt
+
+%
+% Permataties van rijen van een matrix
+%
+
+% 1)
+A = [  1,  2,  3,  4;
+       5,  6,  7,  8;
+       9, 10, 11, 12;
+      13, 14, 15, 16; ];
+% 2)
+P4231 = [ 0, 0, 0, 1;
+          0, 1, 0, 0;
+          0, 0, 1, 0;
+          1, 0, 0, 0; ];
+
+% 3) 
+T1 = P4231 * A
+
+% 4)
+T2 = rowswap(A,1,4)
+% Ze zijn gelijk
+
+%
+% LU deconpositie
+%
+
+% 1)
+A = [  2,  4, -1,  5, -2;
+      -4, -5,  3, -8,  1;
+       2, -5, -4,  1,  8;
+      -6,  0,  7, -3,  1; ];
+
+% 2)
+[L, U] = lu(A)
+
+% 3) Nee L geen onderdriehoeksmatrix, en U geen bovendriehoeksmatrix
+
+% 4)
+[L, U, P] = lu(A)
+
+% 5) Ja, L is nu een onderdriehoeksmatrix
+
+% 6)
+[L, U] = lu(P * A)
+% Dit levert het gewenste resultaat op, als P gebruikt wordt
+
+
Index: /liacs/la/opdr6/kwa400.m
===================================================================
--- /liacs/la/opdr6/kwa400.m	(revision 2)
+++ /liacs/la/opdr6/kwa400.m	(revision 2)
@@ -0,0 +1,6 @@
+function K = kwa400()
+    % Geef een design matrix voor een kwadratische functie terug
+    for i=1:8
+        j = (i - 1) * 4;
+        K(i,:) = [1, j, j*j ];
+    end
Index: /liacs/la/opdr6/lijn400.m
===================================================================
--- /liacs/la/opdr6/lijn400.m	(revision 2)
+++ /liacs/la/opdr6/lijn400.m	(revision 2)
@@ -0,0 +1,15 @@
+% Orig naar design matrix X en waarneem vector y
+Orig = [1972, 44.66;
+        1976, 44.26;
+        1980, 44.60;
+        1984, 44.27;
+        1988, 43.87;
+        1992, 43.50;
+        1996, 43.49;
+        2000, 43.84;
+      ];
+
+X = Orig(:,1) - 1972
+X = [ ones(size(X)) X ]
+
+y = Orig(:,2)
Index: /liacs/la/opdr6/rt400.m
===================================================================
--- /liacs/la/opdr6/rt400.m	(revision 2)
+++ /liacs/la/opdr6/rt400.m	(revision 2)
@@ -0,0 +1,7 @@
+function rt = rt400(jaar,beta)
+    % Geef een LS waarde terug van een jaartal (waarbij 1972 van wordt
+    % afgetrokken) en parameter vector voor dat jaartal
+    rt = 0;
+    for i=1:size(beta)
+        rt = rt + beta(i) .* (jaar ^ (i - 1));
+    end
Index: /liacs/la/opdr6/t_vul.m
===================================================================
--- /liacs/la/opdr6/t_vul.m	(revision 2)
+++ /liacs/la/opdr6/t_vul.m	(revision 2)
@@ -0,0 +1,20 @@
+orig = [   0, 50, 31;
+          59, 61, 39;
+         120, 79, 57;
+         181, 88, 69;
+         243, 82, 63;
+         304, 62, 40; ];
+
+y_h = orig(:,2);
+y_l = orig(:,3);
+% Design matrix  y = B_0 + B_1 cos((2 * pi * t) / 365) +
+%                          B_2 sin((2 * pi * t) /365)
+
+for i=1:size(orig,1)
+    t = orig(i,1);
+    X(i,1) = 1;
+    X(i,2) = cos((2 * pi * t) / 365);
+    X(i,3) = sin(( 2 * pi * t) / 365);
+end
+
+X
Index: /liacs/la/opdr6/uitwerking.m
===================================================================
--- /liacs/la/opdr6/uitwerking.m	(revision 2)
+++ /liacs/la/opdr6/uitwerking.m	(revision 2)
@@ -0,0 +1,196 @@
+echo on
+% == Least Squares case uitwerken ==
+
+% De huis prijs grafiek
+%     prijs woonoppervlakte, perceel
+D = [ 375, 135, 156;
+      399, 190,  82;
+      349, 145,  85;
+      390, 190,  77;
+      399, 150, 141;
+      349, 160, 132;
+    ];
+% De formule p = x1 * wo + x2 * po toepassen
+A = D(:,2:3)
+p = D(:,1)
+Ap = [ A p ]
+rref(Ap)
+% Niets bruikbaars
+
+% De kleinste kwadraten aanpak
+AT = A'
+ATA = AT * A
+ATp = AT * p
+ATAp = [ ATA ATp ]
+T = rref(ATAp)
+
+%Bepaal nu de geschatte prijzen
+x = T(:,3)
+pschati = A * x
+
+% In dit model wordt de vraagprijs (x1) zwaarder gewogen en wel
+percent = x(2) / x(1) * 100
+
+%pschati prijs wo, po 
+[ pschati D ]
+% Huizen met een groot po worden fout gemeten
+% Voor mijn eigen modelprijs formule ga ik krijgen naar 2de hands
+% auto advertenties (van vanderplas.nl in autoplaza leiderdorps dagblad
+% woensdag 22 mei 2007)
+% Merksterkte heb ik de volgende waardes gegeven
+% Mini = 11;
+% BMW = 10;
+% Audi = 5;
+% Fiat = 1;
+% prijs, Bouwjaar, Aantal kilometer x1000, aantal deuren, CD, airco
+% merksterkte
+% speler
+Autos = [
+  22950, 2003, 113, 5, 1, 1,  5;
+  23950, 2004,  64, 5, 1, 1, 10;
+  13950, 2001, 116, 3, 0, 1, 10;
+  24950, 2003, 102, 5, 0, 1, 10;
+  24950, 2002,  47, 2, 1, 1, 10;
+   4750, 2001,  54, 3, 1, 0, 1;
+  14950, 2005,  39, 3, 1, 1, 1;
+  13950, 2002,  86, 3, 1, 1, 11;
+  17750, 2003,  55, 3, 1, 1, 11;
+  ];
+
+% Ik laat alles even zwaar wegen
+A = Autos(:,2:end -1)
+p = Autos(:,1)
+
+% De kleinste kwadraten aanpak
+AT = A';
+ATA = AT * A;
+ATp = AT * p;
+ATAp = [ ATA ATp ];
+T = rref(ATAp);
+
+%Bepaal nu de geschatte prijzen
+x = T(:,end);
+pschati = A * x;
+
+tp = sum(p);
+tsp = sum(pschati);
+prijs = [ p pschati ];
+for i=1:size(prijs,1)
+    prijs(i,3) = prijs(i,2) / prijs(i,1) * 100;
+end
+% prijs, geschatte prijs
+int32(prijs)
+total = int32(sum(prijs(:,:)))
+%De excessen
+min(prijs(:,end)), max(prijs(:,end))
+int32( sum(prijs(:,3) / size(prijs,1) ) )
+
+% Dit presteert redelijk, als ik echter de excessen weghaal dan gaat hij
+% een stuk beter. Ik zal de auto nader moeten onderzoeken waarom deze
+% eruit springt
+
+%
+% Olympische 400 meter recordtijden
+%
+
+% het script lijn400.m maakt lijnbenadering van de recordtijden als
+% functie van olympisch jaar de designmatrix X en waarneemvector y.
+% 
+% Ik heb een matrix gemaakt van de orginele data en daar een mapping mee
+% gemaakt
+% zie lijn400.m
+lijn400
+
+% Ik neem aan dat de symbolen XT betekenen matrix X getranponeerd.
+XT = X';
+XTX = XT * X;
+XTy = XT * y;
+XTXy = [ XTX XTy ];
+
+% inverse
+beta = inv(XTX) * XTy
+% Reductie
+beta = rref(XTXy)
+% Matlab \ operator
+beta = X\y
+% Alle geven dezefde antwoorden, echter wel anders geformateerd
+
+% voor de functie rt400 zie het bestand rt400.m
+for i=1:size(X,2)
+    rtwaarden_lin(i) = rt400(X(i,2), beta);
+end
+
+% plot van de functie
+figure;
+grid on;
+hold on;
+plot(X(:,2), y, '*');
+plot(X(:,2), rtwaarden_lin, '-r');
+hold off;
+title('Olympische spelen, mannen 400 meter - lineare plot');
+pause
+close all hidden;
+
+% voor het maken van de K designmatrix zie kwa400.m
+% of gebruik iets als
+% K = X;
+% K(:,3) = K(:,2) .^ 2;
+K = kwa400;
+KT = K';
+KTK = KT * K;
+KTy = KT * y;
+KTKy = [ KTK KTy ];
+
+rref(KTKy)
+beta = K \ y
+% zelfde (maar niet in notatie)
+
+t = 0:38;
+rtwaarden_kwa = beta(1) + beta(2) * t + beta(3) * (t .^ 2);
+
+% plot van de functie
+figure;
+grid on;
+hold on;
+plot(X(:,2), y, '*');
+plot(X(:,2), rtwaarden_lin, '-r');
+plot(t, rtwaarden_kwa, '-g');
+hold off;
+title('Olympische spelen, mannen 400 meter - lineare and kwadratische plot');
+pause
+close all hidden;
+
+%
+% Temperatuurverloop
+%
+
+% data invul
+clear X;
+t_vul;
+
+% rtwaarden bepaling
+beta_l = X \ y_l;
+beta_h = X \ y_h;
+
+t=0:365;
+func_l = beta_l(1) + beta_l(2) * cos(( 2 * pi * t) / 365) + ...
+                + beta_l(3) * sin(( 2 * pi * t) / 365);
+func_h = beta_h(1) + beta_h(2) * cos(( 2 * pi * t) / 365) + ...
+                + beta_h(3) * sin(( 2 * pi * t) / 365);
+
+% plot van de functie
+figure;
+grid on;
+hold on;
+plot(orig(:,1), y_l, 'r*');
+plot(orig(:,1), y_h, 'g*');
+plot(func_l, '-r');
+plot(func_h, '-g');
+hold off;
+axis ([0, 365, 0, 100]);
+title('Gemiddelde temperature - kwadratische plot');
+pause
+close all hidden;
+
+
+
Index: /liacs/la/opdr7/approx.m
===================================================================
--- /liacs/la/opdr7/approx.m	(revision 2)
+++ /liacs/la/opdr7/approx.m	(revision 2)
@@ -0,0 +1,20 @@
+function Ak = approx(A, k)
+% given matrix A and number k of top eigenvalues
+% an approximation Ak is calculated via SVD
+% k < m,n
+    [m, n] = size(A);
+    lo = m;
+    if ( n < m )
+        lo = n;
+    end
+    if ( lo < k )
+        k = lo;
+    end
+    [U, S, V] = svd(A);
+    svk = svds(A, k);
+    uk = U(:,[1:k]);
+    vk = V(:,[1:k]);
+    Ak = uk * diag(svk) * vk';
+%    plaatje is niet wenslijk in een functie, laten we erbuiten
+%    weergeven
+%    image(Ak);
Index: /liacs/la/opdr7/foutperc.m
===================================================================
--- /liacs/la/opdr7/foutperc.m	(revision 2)
+++ /liacs/la/opdr7/foutperc.m	(revision 2)
@@ -0,0 +1,20 @@
+function fout = foutperc(A, Ak)
+% given matrix A and its approximation Ak
+% determine percentage error in function values
+% difference in A - Ak in percentage is given
+    [m, n] = size(A);
+    B = A - Ak;
+
+    % ik heb de loops in elkaar geschoven, vanwege leesbaarheid en
+    % snelheid
+    magA = 0.0;
+    magB = 0.0;
+        for i=1:m
+            for j=1:n
+                magA = magA + abs(A(i,j));
+                magB = magB + abs(B(i,j));
+            end
+        end
+    magA = magA / (m * n);
+    magB = magB / (m * n);
+    fout = magB * 100 / magA;
Index: /liacs/la/opdr7/spaceperc.m
===================================================================
--- /liacs/la/opdr7/spaceperc.m	(revision 2)
+++ /liacs/la/opdr7/spaceperc.m	(revision 2)
@@ -0,0 +1,8 @@
+function space = spaceperc(A, k)
+% given matrix A and top number k of eigenvalues
+% difference in size of A mxn and SVD U,S,V top k in percentage is given
+% size U=mxm (mxk), S=mxn (diag k), V=nxn (nxk)
+    [m, n] = size(A);
+    storA = m * n;
+    storAk = (m * k) + k + (n * k);
+    space = storAk * 100 / storA;
Index: /liacs/la/opdr7/uitwerking.m
===================================================================
--- /liacs/la/opdr7/uitwerking.m	(revision 2)
+++ /liacs/la/opdr7/uitwerking.m	(revision 2)
@@ -0,0 +1,145 @@
+% == SVD case ==
+% laat commentaar zien
+echo on
+% pauzeer, om plaatjes weer te kunnen geven
+setpause = 1;
+
+% zie approx.m
+
+% 1) Voorbeeld 1
+[X, Y] = meshgrid(-5:1:5);
+A = (Y .* X.^2 - X.^2 - Y.^2 + 175);
+mesh(A);
+if ( setpause ); pause; end
+close all hidden
+
+% of als grijswaarde
+colormap(gray(256));
+image(A);
+if ( setpause ); pause; end
+close all hidden
+
+% berekenen van SVD met 2 benaderingen van A, die de grootste en twee
+% grooste eigenwaardes meenemen
+
+[U, S, V] = svd(A);
+
+A1 = approx(A,1);
+mesh(A1);
+if ( setpause ); pause; end
+close all hidden
+
+A2 = approx(A,2);
+mesh(A2);
+if ( setpause ); pause; end
+close all hidden
+
+% Verschillen tussen A en A1, A2
+B1 = A - A1;
+B2 = A - A2;
+
+mesh(B1);
+if ( setpause ); pause; end
+close all hidden
+
+mesh(B2);
+if ( setpause ); pause; end
+close all hidden
+
+% zie foutperc.m
+% fout tussen A en A1
+fout = foutperc(A,A1)
+% fout tussen A en A2
+fout = foutperc(A,A2)
+
+% 2)
+% plaatje opgeslagen in meisje.jpg (http://nies.liacs.nl:1860) (rechter
+% plaatje)
+
+A = imread('meisje.jpg', 'jpg');
+image(A);
+colormap(gray(256));
+if ( setpause ); pause; end
+close all hidden
+
+% naar floats om te kunnen berekenen
+A = double(A);
+
+for i=0:8
+    k = 2 ^ i;
+    T = approx(A,k);
+    fout = foutperc(A,T);
+    image(T);
+    colormap(gray(256));
+    title( sprintf('K waarden %d - fout %.3f%%', k, fout) );
+    if ( setpause ); pause; end
+    close all hidden
+end
+
+% fout percentage tabel
+% zoek de waardes 10,5,3,1 percent
+% dit is pittig zwaar, en duurt enkele minuten om uit te voeren
+for i=1:256
+    fouttabel(i,1) = i-1;
+    T = approx(A, (i-1));
+    fout = foutperc(A,T);
+    fouttabel(i,2) = fout;
+    if (fout < 1)
+        break;
+    end
+    [i, fout]
+end
+% 
+% fouttabel
+
+% zie spaceperc.m
+% let op het percentage matrixposities nodig om een mxn matrix met k
+% eigenwaarden te benaderen. Je moet het percentage nog wel
+% vermenigvuldigen met het verschil in datatype per matrix element.
+
+for i=1:256
+    ruimtetabel(i,1) = i-1;
+    spacesave = spaceperc(A,i);
+    ruimtetabel(i,2) = spacesave;
+    [i, spacesave]
+end
+
+ruimtetabel
+
+plot(ruimtetabel(:,1), ruimtetabel(:,2),'.')
+grid on
+title( 'k waarde, percent matrix ruimte');
+% Dit is netjes linear
+if ( setpause ); pause; end
+close all hidden
+
+% 3)
+load spine;
+image(X);
+% mooie colormap, zie ook de handleiding
+colormap(bone);
+if ( setpause ); pause; end
+close all hidden
+
+A = double(X);
+% door de bovenstaande molen te halen levert op dat
+% fouttabel
+% 10% = 9
+%  5% = 20
+%  1% = 92
+
+% mooie manier om de fout en ruimte percentages weer te geven
+hold on
+plot(fouttabel(:,1), fouttabel(:,2),'r.')
+plot(ruimtetabel(:,1), ruimtetabel(:,2),'g.')
+legend('show')
+legend('fout','ruimte')
+xlabel('k waarde')
+ylabel('percent')
+hold off
+grid on
+axis([0,50,0,40])
+title( 'Plaatje analyse');
+if ( setpause ); pause; end
+close all hidden
+
Index: /liacs/mss/assignment2/TalkShadowFun.diff
===================================================================
--- /liacs/mss/assignment2/TalkShadowFun.diff	(revision 2)
+++ /liacs/mss/assignment2/TalkShadowFun.diff	(revision 2)
@@ -0,0 +1,110 @@
+diff -ur ../SRWorkshop/TalkShadowFun/cmdmode.xml ./cmdmode.xml
+--- ../SRWorkshop/TalkShadowFun/cmdmode.xml	2003-10-25 23:19:52.000000000 +0200
++++ ./cmdmode.xml	2009-10-28 14:50:14.000000000 +0100
+@@ -5,6 +5,9 @@
+         <ID NAME="PID_CmdRight" VAL="2"/>
+         <ID NAME="PID_CmdUp" VAL="3"/>
+         <ID NAME="PID_CmdDown" VAL="4"/>
++        <ID NAME="PID_CmdForward" VAL="5"/>
++        <ID NAME="PID_CmdBackward" VAL="6"/>
++
+ 		<ID NAME="PID_CmdNavigation" VAL="1000"/>
+ 			<ID NAME="PID_Moving" VAL="1001"/>
+     </DEFINE>
+@@ -19,6 +22,9 @@
+             <P VAL="PID_CmdUp">higher</P>
+             <P VAL="PID_CmdDown">down</P>
+             <P VAL="PID_CmdDown">lower</P>
++            <P VAL="PID_CmdForward">forward</P>
++            <P VAL="PID_CmdBackward">backward</P>
++
+ 		</L>
+     </RULE>
+ 
+diff -ur ../SRWorkshop/TalkShadowFun/shadowfun.cpp ./shadowfun.cpp
+--- ../SRWorkshop/TalkShadowFun/shadowfun.cpp	2003-10-25 23:14:56.000000000 +0200
++++ ./shadowfun.cpp	2009-10-28 14:50:26.000000000 +0100
+@@ -102,7 +102,7 @@
+ //SR Workshop
+ // Commands
+ enum { 
+-	C_NONE, C_LEFT, C_RIGHT, C_UP, C_DOWN, C_HOME, C_STOP
++	C_NONE, C_LEFT, C_RIGHT, C_UP, C_DOWN, C_HOME, C_STOP, C_FORWARD, C_BACKWARD
+ };
+ 
+ int listening = 0;  // boolean use: 0 = false, 1= true
+@@ -326,6 +326,8 @@
+ 			 if (recogstr.Find("down") != -1) { command = C_DOWN; }
+ 			 if (recogstr.Find("home") != -1) { command = C_HOME; }
+ 			 if (recogstr.Find("stop") != -1) { command = C_STOP; }
++			 if (recogstr.Find("forward") != -1) { command = C_FORWARD; }
++			 if (recogstr.Find("backward") != -1) { command = C_BACKWARD; }
+ 
+              if (fUseTTS)
+              {
+@@ -1080,32 +1082,48 @@
+   glutSwapBuffers();
+ }
+ 
++#define MOVE_FACTOR 0.5
++
+ //SR Workshop
+ void MoveLeft(int value)
+ {
+ 	// value should be in range M_TORUS, M_CUBE, M_SPHERE
+-	animPos[value][X] -= 1.0;
++	animPos[value][X] -= MOVE_FACTOR;
+ }
+ 
+ //SR Workshop
+ void MoveRight(int value)
+ {
+ 	// value should be in range M_TORUS, M_CUBE, M_SPHERE
+-	animPos[value][X] += 1.0;
++	animPos[value][X] += MOVE_FACTOR;
+ }
+ 
+ //SR Workshop
+ void MoveUp(int value)
+ {
+ 	// value should be in range M_TORUS, M_CUBE, M_SPHERE
+-	animPos[value][Y] += 1.0;
++	animPos[value][Y] += MOVE_FACTOR;
+ }
+ 
+ //SR Workshop
+ void MoveDown(int value)
+ {
+ 	// value should be in range M_TORUS, M_CUBE, M_SPHERE
+-	animPos[value][Y] -= 1.0;
++	animPos[value][Y] -= MOVE_FACTOR;
++}
++
++//SR Workshop
++void MoveForward(int value)
++{
++	// value should be in range M_TORUS, M_CUBE, M_SPHERE
++	animPos[value][Z] += MOVE_FACTOR;
++}
++
++//SR Workshop
++void MoveBackward(int value)
++{
++	// value should be in range M_TORUS, M_CUBE, M_SPHERE
++	animPos[value][Z] -= MOVE_FACTOR;
+ }
+ 
+ //SR Workshop
+@@ -1144,6 +1162,12 @@
+ 	  case C_DOWN:
+ 		  MoveDown(M_SPHERE);
+ 		  break;
++      case C_FORWARD:
++		  MoveForward(M_SPHERE);
++		  break;
++	  case C_BACKWARD:
++		  MoveBackward(M_SPHERE);
++		  break;
+ 	  case C_HOME:
+ 		  MoveHome(M_SPHERE);
+ 		  break;
Index: /liacs/mss/assignment2/new.txt
===================================================================
--- /liacs/mss/assignment2/new.txt	(revision 2)
+++ /liacs/mss/assignment2/new.txt	(revision 2)
@@ -0,0 +1,14 @@
+he found himself stemming united states of the facts of the lack of a
+joint chessboard, and prevent where
+
+there was a monster there were 2lbs. next and live with three rows of the
+whole 400 folks and five have
+
+given things and so when he was so to speak looking up through the eyes of
+the young hero of the story
+
+imposed like being a passenger of an optimal you all have to do with
+sports bribery here is that one
+
+month's time offset other benefits funds have to do it just board to work
+towards down power at the end
Index: /liacs/mss/assignment2/new2.txt
===================================================================
--- /liacs/mss/assignment2/new2.txt	(revision 2)
+++ /liacs/mss/assignment2/new2.txt	(revision 2)
@@ -0,0 +1,13 @@
+he found himself standing in a man's it.  Except the recon giant transfer
+from ActiveX where there was a
+
+monster there were some terms makes an eye of the three rows of its and
+400 jobs and 500 human beings and
+
+some he was so to speak milk in a row the eyes of Joan Miro mystery
+thousand I'd be best served "the
+
+mobile all have to do was watch bother to dispatch one monster after
+another and abounds up to just work
+
+towards awards don't talk at the end
Index: /liacs/mss/assignment2/original.txt
===================================================================
--- /liacs/mss/assignment2/original.txt	(revision 2)
+++ /liacs/mss/assignment2/original.txt	(revision 2)
@@ -0,0 +1,8 @@
+He found himself standing in a landscape that looked exactly like a 
+giant chessboard. On every black square there was a monster: there were 
+two-tongued snakes and lions with three rows of teeth, and four-headed 
+dogs and five-headed demon kings and so on. He was, so to speak, 
+looking out through the eyes of the young hero of the story. It was like 
+being in the passenger seat of an automobile: all he had to do was watch, 
+while the hero dispatched one monster after another and advanced up the 
+chessboard towards the white stone tower at the end.
Index: /liacs/mss/assignment2/wer.pl
===================================================================
--- /liacs/mss/assignment2/wer.pl	(revision 2)
+++ /liacs/mss/assignment2/wer.pl	(revision 2)
@@ -0,0 +1,119 @@
+#!/usr/bin/env perl -w
+#
+# Little algoritm to determine the Word Error Rate of speech recognition
+# systems detection.
+#
+# Rick van der Zwet <info@rickvanderzwet.nl>
+# Licence: BSDlike - http://rickvanderzwet.nl/license
+
+
+# While processing look this many words ahead for potential matches. Roughly
+# spoken this number will limit your ability to detect at maximum LOOKFORWARD
+# number of insertions and substitution in one detection cycle.
+$LOOKFORWARD = 10;
+
+# Correct user if needed.
+if ($#ARGV < 1) {
+    print STDERR "Usage: $ARGV[0] <orignal> <new>\n";
+    exit 64;
+}
+
+open ORGINAL, "<$ARGV[0]";
+open NEW, "<$ARGV[1]";
+
+# Sanitize input, put into array
+$tmp = join(" ",<ORGINAL>);
+# Ignore case for the time beeing
+$tmp = lc($tmp);
+# Currently ignoring all punctations and newlines.
+$tmp =~ tr/[\.:,;\n\r]//d;
+@original = split(/[\t\ ]+/,$tmp);
+
+# Sanitize input, put into array
+$tmp = join(" ",<NEW>);
+$tmp = lc($tmp);
+$tmp =~ tr/[\.:,;\n\r]//d;
+@new = split(/[\t\ ]+/, $tmp);
+
+close ORGINAL;
+close NEW;
+
+# Bookkeeping values
+$insert = 0;
+$delete = 0;
+$substitution = 0;
+
+print "------------------\n";
+# XXX: Some way of pretty print the actual text hits/misses
+# Walktrough list comparing matches
+$lasthit_orig = -1;
+$lasthit_new = -1;
+$newhit_orig = -1;
+$newhit_new = -1;
+foreach $np (0 .. $#new) {
+    # Try to find word hit in next words
+    $newhit_orig = -1;
+    $end = $lasthit_orig + $LOOKFORWARD;
+    $end = $#original if $end > $#original;
+    foreach $op ($lasthit_orig .. $end) {
+        if ( $new[$np] eq $original[$op] ) {
+            $newhit_orig = $op;
+            $newhit_new = $np;
+            print "$new[$np] ";
+            last;
+        }
+    }
+    
+    #Little hack to force processing the last words, on end of array, if none
+    #found, deleting does not work properly, will be handled seperately
+    if ($np == $#new and $newhit_orig == -1) {
+        $newhit_orig = $#original + 1;
+        $newhit_new = $#new + 1;
+    }
+
+    # We got a hit
+    if ($newhit_orig >= 0) {
+        # Calculate given diffences till (no including!) last hit
+        $diff_orig = $newhit_orig - $lasthit_orig - 1;
+        $diff_new = $newhit_new - $lasthit_new - 1;
+        $diff_words = $diff_new - $diff_orig;
+
+        # More means inserts, less deleting
+        if ($diff_words > 0) {
+           $insert += $diff_words;
+        } else {
+           $delete += abs($diff_words);
+        }
+
+        # The smallest number defines the substitutions
+        if ($diff_new < $diff_orig) {
+            $substitution += $diff_new;
+        } else {
+            $substitution += $diff_orig;
+        }
+
+        # Bookkeeping
+        $lasthit_orig = $newhit_orig;
+        $lasthit_new = $newhit_new;
+    }
+}
+
+# Make sure to process last deletions
+if ($#new < $#original) {
+    $delete += $#original - $#new;
+}
+
+print "\n";
+print "------------------\n";
+print "Total orig : $#original\n";
+print "Total new  : $#new\n";
+print "------------------\n";
+print "Insert     : $insert\n";
+print "Delete     : $delete\n";
+print "Subsitute  : $substitution\n";
+print "------------------\n";
+printf "WeR        : %.3f\n", ($insert + $delete + $substitution) / $#original, "\n";
+
+exit 0;
+
+
Index: /liacs/nc/low-correlation/Makefile
===================================================================
--- /liacs/nc/low-correlation/Makefile	(revision 2)
+++ /liacs/nc/low-correlation/Makefile	(revision 2)
@@ -0,0 +1,7 @@
+BIN=main
+CFLAGS="-fnested-functions"
+
+all: $(BIN)
+
+run: $(BIN)
+	./$(BIN)
Index: /liacs/nc/low-correlation/main.c
===================================================================
--- /liacs/nc/low-correlation/main.c	(revision 2)
+++ /liacs/nc/low-correlation/main.c	(revision 2)
@@ -0,0 +1,67 @@
+/* 
+ * Low-autocorrelation problem of binary sequences
+ * 'Brute-force' method
+ * Rick van der Zwet, Oct 2009
+ * Licence: BSD
+ */
+#include <sysexits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+int main(int argc, char *argv[]) {
+
+const int SIZE = 20;
+int * signal = malloc(SIZE * sizeof(int));
+int e_total, e_sub;
+// Temp counters
+int i,k;
+long int n;
+float f_y;
+
+long int best_number = 0;
+float best_value = 0;
+
+void print_array(long int number, float result) {
+    for(i = 0; i < SIZE; i++) {
+        if (number & (1 << i)) {
+            printf("+");
+        } else {
+            printf("-");
+        }
+    }
+    printf(" = %f\n", result);
+}
+
+// All values to be determined
+for (n = 0; n < pow(2,SIZE); n++) {
+    // Make array ready
+    for (i = 0; i < SIZE; i++) {
+        signal[i] =  (n & (1 << i)) ? 1 : -1;
+    }
+
+    // Calculate E(y)
+    e_total = 0;
+    for(k = 1; k < SIZE; k++) {
+        e_sub = 0;
+        for(i = 0; i < SIZE - k; i++) {
+            e_sub += signal[i] * signal[i+k];
+        //printf("[k:%i i:%i] %i\n", k, i, signal[i] * signal[i+k]);
+        }
+        // Power of two
+        e_total += pow(e_sub,2);
+    }
+    f_y = pow((float)SIZE,2)/(2 * e_total);
+
+    // Save best value
+    if (f_y >= best_value) {
+        print_array(n,f_y);
+        best_value = f_y;
+        best_number = n;
+    }
+
+}
+
+// Clean up mess
+free(signal);
+return EX_OK;
+}
Index: /liacs/net/as1/README
===================================================================
--- /liacs/net/as1/README	(revision 2)
+++ /liacs/net/as1/README	(revision 2)
@@ -0,0 +1,1 @@
+No hand-in, this assignment consist of visiting various stations and looking on signals through oscilloscopes and spectrum analysers, there where 3 stations (basics, modem and wireless, and ethernet).
Index: /liacs/net/as2/ApacheWithTrac.txt
===================================================================
--- /liacs/net/as2/ApacheWithTrac.txt	(revision 2)
+++ /liacs/net/as2/ApacheWithTrac.txt	(revision 2)
@@ -0,0 +1,77 @@
+$apt-get install apache2 trac libapache2-mod-python
+
+Quick and dirty apache configuration
+{{{
+$ cat /etc/apache2/sites-enabled/000-default 
+<VirtualHost *:80>
+  ServerAdmin webmaster@grp1.netlab2009.liacs.nl
+  ServerName www.grp1.netlab2009.liacs.nl
+
+  RewriteEngine On
+  RewriteRule ^/$ /project/grp1 [L,R]
+
+  <Location /project>
+    SetHandler mod_python
+    PythonInterpreter main_interpreter
+    PythonHandler trac.web.modpython_frontend 
+    PythonOption TracEnvParentDir /var/trac
+    PythonOption TracUriRoot /project
+  </Location>
+
+  <LocationMatch "/project/[^/]+/login">
+    AuthType Basic
+    AuthName "Trac (netlab/netlab)"
+    AuthUserFile /var/trac/.htpasswd
+    Require valid-user
+  </LocationMatch>
+
+
+  ErrorLog /var/log/apache2/error.log
+  LogLevel warn
+  CustomLog /var/log/apache2/access.log combined
+
+  <Location /mpinfo>
+    SetHandler mod_python
+    PythonInterpreter main_interpreter
+    PythonHandler mod_python.testhandler
+  </Location>
+
+  Alias /doc/ "/usr/share/doc/"
+  <Directory "/usr/share/doc/">
+    Options Indexes MultiViews FollowSymLinks
+    Order allow,deny
+    Allow from all
+  </Directory>
+</VirtualHost>
+}}}
+
+#Username password file creation
+{{{ 
+$ echo "netlab" | htpasswd -b -c /var/trac/.htpasswd netlab
+}}}
+
+# Trac creation
+{{{
+$ mkdir /var/trac
+$ chown www-data:www-data /var/trac
+$ sudo -u www-data trac-admin /var/trac/grp1 initenv
+}}}
+
+# Change alter /var/trac/grp1/conf/trac.ini
+{{{
+[header_logo]
+alt = LIACS - netlab 2009 - grp1
+height = -1
+link = 
+src = http://www.liacs.nl/base/images/banner.jpg
+width = -1
+
+[project]
+admin = 
+descr = My example project
+footer = Visit the Trac open source project at<br /><a href="http://trac.edgewall.org/">http://trac.edgewall.org/</a>
+icon = common/trac.ico
+name = Liacs netlab 2009 - group 1
+url = 
+
+}}}
Index: /liacs/net/as2/BIND.txt
===================================================================
--- /liacs/net/as2/BIND.txt	(revision 2)
+++ /liacs/net/as2/BIND.txt	(revision 2)
@@ -0,0 +1,34 @@
+= Named/BIND configuration =
+
+Set required zones, grp1.netlab2009.liacs.nl 'our' zone, netlab2009.liacs.nl hint zone. 136.229.132.in-addr.arpa reverse pointers
+
+{{{
+zone "netlab2009.liacs.nl" {
+	type master;
+	file "/etc/bind/db.netlab2009.liacs.nl";
+};
+
+zone "grp1.netlab2009.liacs.nl" {
+	type master;
+	file "/etc/bind/db.grp1";
+};
+
+zone "136.229.132.in-addr.arpa" {
+	type master;
+	file "/etc/bind/db.132.229.136";
+};
+}}}
+
+= Forwarder =
+include into /etc/bind/named.conf.options to allow dns efficient lookups
+{{{
+	 forwarders {
+	 	132.229.16.95;
+	 };
+}}}
+
+= Local DNS server, use first =
+Make sure /etc/resolv.conf only includes the line 
+{{{
+nameserver 127.0.0.1
+}}}
Index: /liacs/net/as2/ERRATA.txt
===================================================================
--- /liacs/net/as2/ERRATA.txt	(revision 2)
+++ /liacs/net/as2/ERRATA.txt	(revision 2)
@@ -0,0 +1,3 @@
+The following items are missing in the manual:
+    1. The manual does not mention that IPv4 forwarding needs to be enabled for the routing part. You need to enable this properly. Dynamically you can do that in the /proc/sys file system, but there is also a way to set the value statically in a config file that is read in by the kernel during boot time.
+   2.  /etc/networking should be /etc/network
Index: /liacs/net/as2/README
===================================================================
--- /liacs/net/as2/README	(revision 2)
+++ /liacs/net/as2/README	(revision 2)
@@ -0,0 +1,3 @@
+Work documented at wiki on development machine, which has been
+shutdown/removed.Directory contains snapshot of hard work.
+
Index: /liacs/net/as2/WikiStart.txt
===================================================================
--- /liacs/net/as2/WikiStart.txt	(revision 2)
+++ /liacs/net/as2/WikiStart.txt	(revision 2)
@@ -0,0 +1,155 @@
+= Welcome to Group 1 - netlab 2009 - LIACS =
+
+Check [wiki:Assignment3] for hints on the assigment.
+
+Network/routing configuration
+{{{
+$ cat /etc/network/interfaces 
+auto lo
+iface lo inet loopback
+
+auto eth1
+iface eth1 inet static
+     address 132.229.136.242
+     netmask 255.255.255.240
+     gateway 132.229.136.241
+     up route add -net 132.229.136.8 netmask 255.255.255.248 gw 132.229.136.243 dev eth1
+     up route add -net 132.229.136.16 netmask 255.255.255.248 gw 132.229.136.244 dev eth1
+     up route add -net 132.229.136.24 netmask 255.255.255.248 gw 132.229.136.245 dev eth1
+     up route add -net 132.229.136.32 netmask 255.255.255.248 gw 132.229.136.246 dev eth1
+     up route add -net 132.229.136.40 netmask 255.255.255.248 gw 132.229.136.247 dev eth1
+     up route add -net 132.229.136.48 netmask 255.255.255.248 gw 132.229.136.248 dev eth1
+     up route add -net 132.229.136.56 netmask 255.255.255.248 gw 132.229.136.249 dev eth1
+     up route add -net 132.229.136.64 netmask 255.255.255.248 gw 132.229.136.250 dev eth1
+     up route add -net 132.229.136.72 netmask 255.255.255.248 gw 132.229.136.251 dev eth1
+
+auto eth2
+iface eth2 inet static
+     address 132.229.136.1
+     netmask 255.255.255.248
+
+}}}
+
+Relevant dhcpd configation:
+{{{
+subnet 132.229.136.0 netmask 255.255.255.248 {
+  range 132.229.136.2 132.229.136.6;
+  option routers 132.229.136.1;
+  option domain-name "grp1.netlab2009.liacs.nl";
+  option domain-name-servers 132.229.136.1, 132.229.16.95;
+}
+}}}
+
+= email hint = 
+{{{
+# upgrade needed for postfix
+$ sudo apt-get update
+$ sudo apt-get dist-upgrade
+$ reboot
+$ sudo apt-get install postfix
+$ sudo apt-get install cyrus-imapd-2.2
+}}}
+https://help.ubuntu.com/community/Cyrus
+
+Username/password cyrus imap server at http://www.faqs.org/docs/Linux-HOWTO/Cyrus-IMAP.html
+
+saslauthd deamon draaien, met pam authenticatie
+
+= General saslauthd authentication with PAM backend (unix password file) =
+{{{
+$ cat /etc/default/saslauthd
+START=yes
+NAME="saslauthd"
+MECHANISMS="pam"
+MECH_OPTIONS=""
+THREADS=5
+}}}
+
+= Postfix SMTP AUTH =
+
+Add to /etc/postfix/main.conf
+{{{
+smtpd_sasl_auth_enable = yes
+smtpd_sasl_local_domain =
+smtpd_sasl_security_options = noanonymous
+broken_sasl_auth_clients = yes
+
+smtpd_recipient_restrictions =
+   permit_sasl_authenticated,
+   permit_mynetworks,
+   check_relay_domains
+}}}
+
+{{{
+$ cat /etc/postfix/sasl/smtpd.conf
+saslauthd_path: /var/run/saslauthd/mux
+pwcheck_method: saslauthd
+mech_list: plain login
+}}}
+
+Due to postfix chroot envirionment and some sasl2 weirdness in config file, duplicate
+{{{
+$ cat /var/spool/postfix/usr/lib/sasl2/smtpd.conf 
+saslauthd_path: /var/run/saslauthd/mux
+pwcheck_method: saslauthd
+mech_list: plain login
+}}}
+
+= IMAP sasl auth =
+Alter /etc/imapd.conf to make sure below is set
+{{{
+sasl_mech_list: PLAIN
+sasl_pwcheck_method: auxprop
+sasl_auxprop_plugin: sasldb
+sasl_auto_transition: no
+}}}
+
+To run postfix with auxprop (sasl password file backend)
+{{{
+$ adduser postfix sasl
+$ cat /etc/postfix/sasl/smtpd.conf
+pwcheck_method: auxprop
+mech_list: plain login
+$ cat /var/spool/postfix/usr/lib/sasl2/smtpd.conf
+pwcheck_method: auxprop
+mech_list: plain login
+}}}
+
+
+ * BIND/Named at [wiki:BIND separate page]
+ * Apache/trac at [wiki:ApacheWithTrac separate page]
+
+Enjoy!
+Johan & /Rick
+
+= XMMS Jabberd =
+In /etc/ejabberd/ejabberd.cfg add/alter the lines:
+
+{{{
+%% Admin user
+{acl, admin, {user, "netlab"}}.
+{access, configure, [{allow, admins}]}.
+
+%% Hostname
+{hosts, ["kami"]}.
+}}}
+Where netlab is your user name and kami is the hostname.
+
+Use "ejabberdctl register" to create this user.
+
+At http://localhost/admin/ you should now be able to login with the user you created above.
+
+To start all over again in case of error, just whipe the database files {{{rm var/lib/ejabberd/*}}}
+
+To generate bind SRV records http://www.jms1.net/jabberd2/srv.shtml and add these to your bind zone files.
+
+Webinterface at http://grp1.netlab2009.liacs.nl:5280/admin/ {{{netlab@grp1.netlab2009.liacs.nl/netlab}}}
+
+== Starting Points ==
+
+ * TracGuide --  Built-in Documentation
+ * [http://trac.edgewall.org/ The Trac project] -- Trac Open Source Project
+ * [http://trac.edgewall.org/wiki/TracFaq Trac FAQ] -- Frequently Asked Questions
+ * TracSupport --  Trac Support
+
+For a complete list of local wiki pages, see TitleIndex.
Index: /liacs/net/as3/README
===================================================================
--- /liacs/net/as3/README	(revision 2)
+++ /liacs/net/as3/README	(revision 2)
@@ -0,0 +1,3 @@
+doc            = Documentation in LaTeX format
+netlab-tcp.pdf = Original assignment
+src            = Code
Index: /liacs/net/as3/doc/Makefile
===================================================================
--- /liacs/net/as3/doc/Makefile	(revision 2)
+++ /liacs/net/as3/doc/Makefile	(revision 2)
@@ -0,0 +1,21 @@
+# Rick van der Zwet
+# 0433373
+# XXX Assignment XXX
+# Licence: BSD
+# $Id: Makefile 736 2009-04-29 05:31:01Z rick $
+
+include latex.mk
+
+CFLAGS+=-Wall -g
+PROGRAMS=XXX
+
+all: $(PROGRAMS)
+
+clean:
+	rm -Rf $(PROGRAMS)
+
+debug:
+	@sh -c 'while [ "true" ]; do make clean && make && ./${PROGRAMS}; echo -n "Completed: "; date; sleep 5; done'
+
+ones: $(PROGRAMS)
+	@sh -c ./$(PROGRAMS)
Index: /liacs/net/as3/doc/highlight.sh
===================================================================
--- /liacs/net/as3/doc/highlight.sh	(revision 2)
+++ /liacs/net/as3/doc/highlight.sh	(revision 2)
@@ -0,0 +1,6 @@
+#!/bin/sh
+for FILE in `awk -F[{}] '/^\\\\input/ {print $2}' report.tex`; do
+  source-highlight -n -f latex $FILE
+done
+
+
Index: /liacs/net/as3/doc/latex.mk
===================================================================
--- /liacs/net/as3/doc/latex.mk	(revision 2)
+++ /liacs/net/as3/doc/latex.mk	(revision 2)
@@ -0,0 +1,54 @@
+# Rick van der Zwet <rick@wzoeterwoude.net>
+# Licence: BSD
+# Descrip: LaTex file parser
+# $Id: latex.mk 736 2009-04-29 05:31:01Z rick $
+
+TARGET = report
+LATEX = latex
+XDVI = xdvi
+TEX = latex -halt-on-error
+DVIPDF = dvipdf
+ASPELL = aspell
+ASPELL_ARGS = -c --mode=tex
+.SUFFIXES: .pdf
+
+help:
+	@echo "Usage Makefile <option>"
+
+doc-all: doc-distclean buildpdf
+
+view: viewpdf
+
+viewdvi: builddvi
+	$(XDVI) $(TARGET)
+
+builddvi: $(TARGET).dvi
+
+doc-clean:
+	rm -vf *.aux *.log *toc *.out *.bak
+
+doc-distclean: doc-clean
+	rm -vf $(TARGET).dvi $(TARGET).pdf $(PROGRAM)
+
+buildpdf: $(TARGET).pdf
+
+viewpdf: buildpdf
+	xpdf $(TARGET).pdf
+
+spell: spell-en
+
+spell-nl: $(TARGET).tex
+	$(ASPELL) -l nl -p ~/aspell-n.dic $(ASPELL_ARGS) $<
+
+spell-en: $(TARGET).tex
+	$(ASPELL) -l en -p ~/aspell-en.dic $(ASPELL_ARGS) $<
+
+.dvi.pdf:
+	$(DVIPDF) $? $@
+
+.tex.dvi:
+	$(TEX) $? $@
+	$(TEX) $? $@
+
+.gs.png:
+	$(GNUPLOT) $?
Index: /liacs/net/as3/doc/report.aux
===================================================================
--- /liacs/net/as3/doc/report.aux	(revision 2)
+++ /liacs/net/as3/doc/report.aux	(revision 2)
@@ -0,0 +1,15 @@
+\relax 
+\catcode`"\active
+\select@language{dutch}
+\@writefile{toc}{\select@language{dutch}}
+\@writefile{lof}{\select@language{dutch}}
+\@writefile{lot}{\select@language{dutch}}
+\select@language{dutch}
+\@writefile{toc}{\select@language{dutch}}
+\@writefile{lof}{\select@language{dutch}}
+\@writefile{lot}{\select@language{dutch}}
+\@writefile{toc}{\contentsline {section}{\numberline {1}Implementation}{1}}
+\@writefile{toc}{\contentsline {section}{\numberline {2}Global working}{1}}
+\@writefile{toc}{\contentsline {section}{\numberline {3}Usage xorfilter}{2}}
+\@writefile{toc}{\contentsline {section}{\numberline {4}Usage echod}{2}}
+\@writefile{toc}{\contentsline {section}{\numberline {5}xorfilter encryption}{2}}
Index: /liacs/net/as3/doc/report.log
===================================================================
--- /liacs/net/as3/doc/report.log	(revision 2)
+++ /liacs/net/as3/doc/report.log	(revision 2)
@@ -0,0 +1,334 @@
+This is pdfTeX, Version 3.141592-1.40.3 (Web2C 7.5.6) (format=latex 2009.4.28)  29 APR 2009 12:19
+entering extended mode
+**report.tex report.dvi
+(./report.tex
+LaTeX2e <2005/12/01>
+Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh
+yphenation, arabic, basque, bulgarian, coptic, welsh, czech, slovak, german, ng
+erman, danish, esperanto, spanish, catalan, galician, estonian, farsi, finnish,
+ french, greek, monogreek, ancientgreek, croatian, hungarian, interlingua, ibyc
+us, indonesian, icelandic, italian, latin, mongolian, dutch, norsk, polish, por
+tuguese, pinyin, romanian, russian, slovenian, uppersorbian, serbian, swedish, 
+turkish, ukenglish, ukrainian, loaded.
+(/opt/local/share/texmf-dist/tex/latex/base/article.cls
+Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
+(/opt/local/share/texmf-dist/tex/latex/base/size12.clo
+File: size12.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
+)
+\c@part=\count79
+\c@section=\count80
+\c@subsection=\count81
+\c@subsubsection=\count82
+\c@paragraph=\count83
+\c@subparagraph=\count84
+\c@figure=\count85
+\c@table=\count86
+\abovecaptionskip=\skip41
+\belowcaptionskip=\skip42
+\bibindent=\dimen102
+)
+(/opt/local/share/texmf-dist/tex/generic/babel/babel.sty
+Package: babel 2005/11/23 v3.8h The Babel package
+
+(/opt/local/share/texmf-dist/tex/generic/babel/english.ldf
+Language: english 2005/03/30 v3.3o English support from the babel system
+
+(/opt/local/share/texmf-dist/tex/generic/babel/babel.def
+File: babel.def 2005/11/23 v3.8h Babel common definitions
+\babel@savecnt=\count87
+\U@D=\dimen103
+)
+\l@british = a dialect from \language\l@english 
+\l@UKenglish = a dialect from \language\l@english 
+\l@canadian = a dialect from \language\l@american 
+\l@australian = a dialect from \language\l@british 
+\l@newzealand = a dialect from \language\l@british 
+)
+(/opt/local/share/texmf-dist/tex/generic/babel/dutch.ldf
+Language: dutch 2005/03/30 v3.8i Dutch support from the babel system
+Package babel Info: Making " an active character on input line 132.
+))
+(/opt/local/share/texmf-dist/tex/latex/graphics/graphicx.sty
+Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
+
+(/opt/local/share/texmf-dist/tex/latex/graphics/keyval.sty
+Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
+\KV@toks@=\toks14
+)
+(/opt/local/share/texmf-dist/tex/latex/graphics/graphics.sty
+Package: graphics 2006/02/20 v1.0o Standard LaTeX Graphics (DPC,SPQR)
+
+(/opt/local/share/texmf-dist/tex/latex/graphics/trig.sty
+Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
+)
+(/opt/local/share/texmf/tex/latex/config/graphics.cfg
+File: graphics.cfg 2007/01/18 v1.5 graphics configuration of teTeX/TeXLive
+)
+Package graphics Info: Driver file: dvips.def on input line 90.
+
+(/opt/local/share/texmf-dist/tex/latex/graphics/dvips.def
+File: dvips.def 1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)
+))
+\Gin@req@height=\dimen104
+\Gin@req@width=\dimen105
+)
+(/opt/local/share/texmf-dist/tex/latex/ltxmisc/url.sty
+\Urlmuskip=\muskip10
+Package: url 2005/06/27  ver 3.2  Verb mode for urls, etc.
+)
+(/opt/local/share/texmf-dist/tex/latex/tools/multicol.sty
+Package: multicol 2006/05/18 v1.6g multicolumn formatting (FMi)
+\c@tracingmulticols=\count88
+\mult@box=\box26
+\multicol@leftmargin=\dimen106
+\c@unbalance=\count89
+\c@collectmore=\count90
+\doublecol@number=\count91
+\multicoltolerance=\count92
+\multicolpretolerance=\count93
+\full@width=\dimen107
+\page@free=\dimen108
+\premulticols=\dimen109
+\postmulticols=\dimen110
+\multicolsep=\skip43
+\multicolbaselineskip=\skip44
+\partial@page=\box27
+\last@line=\box28
+\mult@rightbox=\box29
+\mult@grightbox=\box30
+\mult@gfirstbox=\box31
+\mult@firstbox=\box32
+\@tempa=\box33
+\@tempa=\box34
+\@tempa=\box35
+\@tempa=\box36
+\@tempa=\box37
+\@tempa=\box38
+\@tempa=\box39
+\@tempa=\box40
+\@tempa=\box41
+\@tempa=\box42
+\@tempa=\box43
+\@tempa=\box44
+\@tempa=\box45
+\@tempa=\box46
+\@tempa=\box47
+\@tempa=\box48
+\@tempa=\box49
+\c@columnbadness=\count94
+\c@finalcolumnbadness=\count95
+\last@try=\dimen111
+\multicolovershoot=\dimen112
+\multicolundershoot=\dimen113
+\mult@nat@firstbox=\box50
+\colbreak@box=\box51
+)
+(/opt/local/share/texmf-dist/tex/latex/fancybox/fancybox.sty
+Package: fancybox 2000/09/19 1.3
+
+Style option: `fancybox' v1.3 <2000/09/19> (tvz)
+\@fancybox=\box52
+\shadowsize=\dimen114
+\@Sbox=\box53
+\do@VerbBox=\toks15
+\the@fancyput=\toks16
+\this@fancyput=\toks17
+\EndVerbatimTokens=\toks18
+\Verbatim@Outfile=\write3
+\Verbatim@Infile=\read1
+) (/opt/local/share/texmf-dist/tex/latex/amsfonts/amssymb.sty
+Package: amssymb 2002/01/22 v2.2d
+
+(/opt/local/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+Package: amsfonts 2001/10/25 v2.2f
+\@emptytoks=\toks19
+\symAMSa=\mathgroup4
+\symAMSb=\mathgroup5
+LaTeX Font Info:    Overwriting math alphabet `\mathfrak' in version `bold'
+(Font)                  U/euf/m/n --> U/euf/b/n on input line 132.
+))
+(/opt/local/share/texmf-dist/tex/latex/amsmath/amsmath.sty
+Package: amsmath 2000/07/18 v2.13 AMS math features
+\@mathmargin=\skip45
+
+For additional information on amsmath, use the `?' option.
+(/opt/local/share/texmf-dist/tex/latex/amsmath/amstext.sty
+Package: amstext 2000/06/29 v2.01
+
+(/opt/local/share/texmf-dist/tex/latex/amsmath/amsgen.sty
+File: amsgen.sty 1999/11/30 v2.0
+\@emptytoks=\toks20
+\ex@=\dimen115
+))
+(/opt/local/share/texmf-dist/tex/latex/amsmath/amsbsy.sty
+Package: amsbsy 1999/11/29 v1.2d
+\pmbraise@=\dimen116
+)
+(/opt/local/share/texmf-dist/tex/latex/amsmath/amsopn.sty
+Package: amsopn 1999/12/14 v2.01 operator names
+)
+\inf@bad=\count96
+LaTeX Info: Redefining \frac on input line 211.
+\uproot@=\count97
+\leftroot@=\count98
+LaTeX Info: Redefining \overline on input line 307.
+\classnum@=\count99
+\DOTSCASE@=\count100
+LaTeX Info: Redefining \ldots on input line 379.
+LaTeX Info: Redefining \dots on input line 382.
+LaTeX Info: Redefining \cdots on input line 467.
+\Mathstrutbox@=\box54
+\strutbox@=\box55
+\big@size=\dimen117
+LaTeX Font Info:    Redeclaring font encoding OML on input line 567.
+LaTeX Font Info:    Redeclaring font encoding OMS on input line 568.
+\macc@depth=\count101
+\c@MaxMatrixCols=\count102
+\dotsspace@=\muskip11
+\c@parentequation=\count103
+\dspbrk@lvl=\count104
+\tag@help=\toks21
+\row@=\count105
+\column@=\count106
+\maxfields@=\count107
+\andhelp@=\toks22
+\eqnshift@=\dimen118
+\alignsep@=\dimen119
+\tagshift@=\dimen120
+\tagwidth@=\dimen121
+\totwidth@=\dimen122
+\lineht@=\dimen123
+\@envbody=\toks23
+\multlinegap=\skip46
+\multlinetaggap=\skip47
+\mathdisplay@stack=\toks24
+LaTeX Info: Redefining \[ on input line 2666.
+LaTeX Info: Redefining \] on input line 2667.
+) (./report.aux)
+\openout1 = `report.aux'.
+
+LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 29.
+LaTeX Font Info:    ... okay on input line 29.
+LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 29.
+LaTeX Font Info:    ... okay on input line 29.
+LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 29.
+LaTeX Font Info:    ... okay on input line 29.
+LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 29.
+LaTeX Font Info:    ... okay on input line 29.
+LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 29.
+LaTeX Font Info:    ... okay on input line 29.
+LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 29.
+LaTeX Font Info:    ... okay on input line 29.
+LaTeX Font Info:    Try loading font information for U+msa on input line 31.
+
+(/opt/local/share/texmf-dist/tex/latex/amsfonts/umsa.fd
+File: umsa.fd 2002/01/19 v2.2g AMS font definitions
+)
+LaTeX Font Info:    Try loading font information for U+msb on input line 31.
+
+(/opt/local/share/texmf-dist/tex/latex/amsfonts/umsb.fd
+File: umsb.fd 2002/01/19 v2.2g AMS font definitions
+) [1
+
+]
+Overfull \hbox (11.3752pt too wide) in paragraph at lines 74--74
+[]\OT1/cmtt/m/n/12 Step 1 (key repeated each 4 bytes, done using for loop on wo
+rds):[] 
+ []
+
+[2] (../src/echod/echod.c.tex
+LaTeX Font Info:    Try loading font information for OMS+cmr on input line 25.
+
+(/opt/local/share/texmf-dist/tex/latex/base/omscmr.fd
+File: omscmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
+)
+LaTeX Font Info:    Font shape `OMS/cmr/m/n' in size <6> not available
+(Font)              Font shape `OMS/cmsy/m/n' tried instead on input line 25.
+LaTeX Font Info:    Try loading font information for OMS+cmtt on input line 43.
+
+LaTeX Font Info:    No file OMScmtt.fd. on input line 43.
+
+
+LaTeX Font Warning: Font shape `OMS/cmtt/m/n' undefined
+(Font)              using `OMS/cmsy/m/n' instead
+(Font)              for symbol `textbackslash' on input line 43.
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 89--72
+
+ []
+
+) (../src/xorfilter/checksum.c.tex
+Underfull \hbox (badness 10000) in paragraph at lines 2--29
+
+ []
+
+) (../src/xorfilter/checksum.h.tex
+Underfull \hbox (badness 10000) in paragraph at lines 2--13
+
+ []
+
+) (../src/xorfilter/filter.c.tex
+Underfull \hbox (badness 10000) in paragraph at lines 2--183
+
+ []
+
+[3
+
+]) (../src/xorfilter/filter.h.tex
+Underfull \hbox (badness 10000) in paragraph at lines 2--46
+
+ []
+
+) (../src/xorfilter/queue.c.tex
+Underfull \hbox (badness 10000) in paragraph at lines 2--193
+
+ []
+
+[4]) (../src/xorfilter/queue.h.tex
+Underfull \hbox (badness 10000) in paragraph at lines 2--34
+
+ []
+
+) (../src/xorfilter/xorencrypt.c.tex
+Underfull \hbox (badness 10000) in paragraph at lines 2--25
+
+ []
+
+[5]) (../src/xorfilter/xorencrypt.h.tex
+Underfull \hbox (badness 10000) in paragraph at lines 2--11
+
+ []
+
+) (../src/xorfilter/xorfilter.c.tex
+Underfull \hbox (badness 10000) in paragraph at lines 2--41
+
+ []
+
+) (../tools/setqueue.sh.tex
+Underfull \hbox (badness 10000) in paragraph at lines 2--12
+
+ []
+
+) (../tools/rmqueue.sh.tex
+Underfull \hbox (badness 10000) in paragraph at lines 2--7
+
+ []
+
+) [6
+
+] (./report.aux)
+
+LaTeX Font Warning: Some font shapes were not available, defaults substituted.
+
+ ) 
+Here is how much of TeX's memory you used:
+ 2195 strings out of 94074
+ 26309 string characters out of 1164820
+ 111925 words of memory out of 1500000
+ 5416 multiletter control sequences out of 10000+50000
+ 11984 words of font info for 47 fonts, out of 1200000 for 2000
+ 645 hyphenation exceptions out of 8191
+ 27i,6n,24p,326b,235s stack positions out of 5000i,500n,6000p,200000b,5000s
+
+Output written on report.dvi (6 pages, 39100 bytes).
Index: /liacs/net/as3/doc/report.tex
===================================================================
--- /liacs/net/as3/doc/report.tex	(revision 2)
+++ /liacs/net/as3/doc/report.tex	(revision 2)
@@ -0,0 +1,108 @@
+%
+% $Id: report.tex 747 2009-09-20 17:01:15Z rick $
+%
+
+\documentclass[12pt,a4paper]{article}
+
+\frenchspacing
+\usepackage[english,dutch]{babel}
+\selectlanguage{dutch}
+\usepackage{graphicx}
+\usepackage{url}
+\usepackage{multicol}
+\usepackage{fancybox}
+\usepackage{amssymb,amsmath}
+
+\author{Johan IJsveld \& Rick van der Zwet, Universiteit Leiden}
+\title{Networking - Assignment 3\\
+\large{Packet Filtering and Encryption}}
+\author{Johan IJsveld \& Rick van der Zwet\\
+  \texttt{<jijsveld@xs4all.nl> \& <hvdzwet@liacs.nl>}\\
+  \\
+  LIACS\\
+  Leiden University\\
+  Niels Bohrweg 1\\
+  2333 CA Leiden\\
+  The Netherlands}
+\date{\today}
+
+\begin{document}
+
+\maketitle
+
+\section{Implementation}
+We have chosen for a single emph{C} program without any arguments to keep it
+simple, meaning for the encryption key \emph{0x12345678} will be hard-coded into
+the program and queue number are hard-coded \emph{0} for input and \emph{1} for output.
+
+\section{Global working}
+At first a package arrives at \emph{netfilter} which is a Linux packet filter
+implementation. This will push the packet using callback function implemented
+at in\emph{libnetfilter\_queue} to our implementation. let's call our application 
+\emph{xorfilter} for a moment. The xorfilter preforms it's 'magic' which will
+be in this case a mangle of the data payload using a XOR computation with the
+key above. Next it recalculates the TCP checksum to ensure the checksum matches
+the altered payload, leading to proper validation of the packet on the other end. 
+
+\section{Usage xorfilter}
+At first make sure to enable the \emph{xorfilter}, this needed to be running
+under the root user, due to the enhanced privileges it needs at start by
+'hooking' into \emph{iptables}. Next alter \emph{iptables} using the CLI
+script, for a reference sample, check \emph{setqueue.sh}. 
+
+\section{Usage echod}
+Ones started the program \emph{echod} will listen at port \emph{12345}. It's
+only purpose it serves (hences the 'd' of daemon in echod) is to reply the data
+it receives. One could connect using the program telnet to the program using
+\emph{telnet localhost 12345} and everything you type will be returned as well.
+
+\section{xorfilter encryption}
+The key consist of 4 bytes, so for every 4 bytes, the data is XORed with the
+key, which is first translated using \emph{htonl} to make sure we are using
+big endian instead of small endian as all network traffic is big endian by
+definition. Next in case of a remainder -when the length of the data is not a
+power of 4 bytes- the remainder is XORed with the relevant byte of the key. Example: 
+
+\begin{verbatim}
+   DATA: AB CD EF 34 23 21 34 (7 bytes)
+Step 1 (key repeated each 4 bytes, done using for loop on words):
+   KEY : 12 34 56 78          
+   IMM : B9 F9 B9 4C 23 21 34 
+Step 2 (remainder key, done using for loop on bytes):
+   KEY :             12 34 56 
+   IMM : B9 F9 B9 4C 31 15 62 
+\end{verbatim}
+
+
+% \begin{thebibliography}{10}
+% \end{thebibliography}
+\newpage
+\advance\textwidth by 8cm
+\advance\oddsidemargin by -3cm
+\advance\evensidemargin by -3cm
+\advance\topmargin by -2cm
+\advance\textheight by 4cm
+\advance\footskip by -4cm
+\marginparwidth 0cm
+\twocolumn
+\section*{Appendix}
+echod (1 file), xorfilter (9 files), netfilter CLI example (2 files)
+\newline
+\tiny
+%preformatted with `source-highlight -n -f latex bridge.cc`
+\input{../src/echod/echod.c}
+\input{../src/xorfilter/checksum.c}
+\input{../src/xorfilter/checksum.h}
+\input{../src/xorfilter/filter.c}
+\input{../src/xorfilter/filter.h}
+\input{../src/xorfilter/queue.c}
+\input{../src/xorfilter/queue.h}
+\input{../src/xorfilter/xorencrypt.c}
+\input{../src/xorfilter/xorencrypt.h}
+\input{../src/xorfilter/xorfilter.c}
+\input{../tools/setqueue.sh}
+\input{../tools/rmqueue.sh}
+
+\onecolumn
+
+\end{document}
Index: /liacs/net/as3/src/echod/Makefile
===================================================================
--- /liacs/net/as3/src/echod/Makefile	(revision 2)
+++ /liacs/net/as3/src/echod/Makefile	(revision 2)
@@ -0,0 +1,5 @@
+all: echod
+
+clean:
+	rm echod
+
Index: /liacs/net/as3/src/echod/echod.c
===================================================================
--- /liacs/net/as3/src/echod/echod.c	(revision 2)
+++ /liacs/net/as3/src/echod/echod.c	(revision 2)
@@ -0,0 +1,69 @@
+/*  Netlab 2009 - group 1 - assignment 3
+ *  Johan IJsveld
+ *  Rick van der Zwet
+ */
+#include <sys/types.h>
+#include <netdb.h>
+#include <sysexits.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <sys/socket.h>
+#include <netinet/ip.h> 
+#include <netinet/tcp.h>
+
+#define LISTEN_BACKLOG 0
+#define BUF_SIZE 1000
+
+
+#include <signal.h>
+
+
+int main() {
+  int conn_fd;
+  char buf[BUF_SIZE];
+  ssize_t recv_size;
+  int retno;
+
+  /* Create a tcp/ip socket */
+  int mysocket = socket(PF_INET, SOCK_STREAM, 0);
+  
+  struct sockaddr_in my_addr;
+  struct sockaddr_in their_addr;
+  int sin_size;
+
+  
+  // ip(7) Create listen port, NOTE addresses in byte-order BYTEORDER(3)
+  my_addr.sin_family = AF_INET; // By default
+  my_addr.sin_port  = htons(12345);
+  my_addr.sin_addr.s_addr  = htonl(INADDR_ANY);
+  memset(my_addr.sin_zero, '\0', sizeof my_addr.sin_zero);
+
+  // get connected
+  retno = bind(mysocket, (struct sockaddr *) &my_addr, sizeof(struct sockaddr_in));
+  retno = listen(mysocket, LISTEN_BACKLOG);
+  sin_size = sizeof(struct sockaddr_in);
+
+  // Make it a server, e.g. never ending
+  while(1) {
+    conn_fd = accept(mysocket, (struct sockaddr *)&their_addr, &sin_size);
+    if (fork() == 0) {
+      // child will help to echo the stuff
+      while(1) {
+      retno = recv(conn_fd, &buf, BUF_SIZE, 0);
+      printf("%s\n", buf);
+      if (retno <= 0)
+        break; 
+      retno = send(conn_fd, &buf, retno, 0);
+      if (retno <= 0)
+        break; 
+      }
+      close(conn_fd);
+    }
+  }
+  close(mysocket);
+  
+
+return EX_OK;
+}
Index: /liacs/net/as3/src/xorfilter/Makefile
===================================================================
--- /liacs/net/as3/src/xorfilter/Makefile	(revision 2)
+++ /liacs/net/as3/src/xorfilter/Makefile	(revision 2)
@@ -0,0 +1,25 @@
+CC = gcc
+CFLAGS = -g -W -Wall
+LFLAGS = -lnetfilter_queue
+OBJS = xorfilter.o queue.o filter.o xorencrypt.o checksum.o
+
+.PHONY: all xorfilter
+
+all: xorfilter
+
+xorfilter: $(OBJS)
+	$(CC) $(CFLAGS) $(LFLAGS) -o xorfilter $(OBJS)
+
+clean:
+	-rm *.o
+	-rm xorfilter
+
+xorfilter.o: xorfilter.c queue.h filter.h
+queue.o: queue.c queue.h
+filter.o: filter.c filter.h xorencrypt.h
+xorencrypt.: xorencrypt.c xorencrypt.h checksum.h
+checksum.o: checksum.c checksum.h
+
+.c:
+	$(CC) $(CFLAGS) -c $<
+
Index: /liacs/net/as3/src/xorfilter/checksum.c
===================================================================
--- /liacs/net/as3/src/xorfilter/checksum.c	(revision 2)
+++ /liacs/net/as3/src/xorfilter/checksum.c	(revision 2)
@@ -0,0 +1,26 @@
+#include "checksum.h"
+
+long checksum( unsigned short *addr, int count )
+{
+    /* Compute Internet Checksum for "count" bytes
+     *         beginning at location "addr".
+     */
+    long checksum;
+    register long sum = 0;
+    while( count > 1 ) {
+        /* This  is the inner loop */
+        sum += * (unsigned short *) addr++;
+        count -= 2;
+    }
+
+    /* Add left-over byte, if any */
+    if( count > 0 )
+        sum += * (unsigned char *) addr;
+
+    /* Fold 32-bit sum to 16 bits */
+    while (sum>>16)
+        sum = (sum & 0xffff) + (sum >> 16);
+    checksum = ~sum;
+    return checksum;
+}
+
Index: /liacs/net/as3/src/xorfilter/checksum.h
===================================================================
--- /liacs/net/as3/src/xorfilter/checksum.h	(revision 2)
+++ /liacs/net/as3/src/xorfilter/checksum.h	(revision 2)
@@ -0,0 +1,10 @@
+#ifndef CHECKSUM_H
+#define CHECKSUM_H
+
+/* Compute Internet Checksum for "count" bytes
+ *         beginning at location "addr".
+ */
+long checksum( unsigned short *addr, int count );
+
+#endif
+
Index: /liacs/net/as3/src/xorfilter/filter.c
===================================================================
--- /liacs/net/as3/src/xorfilter/filter.c	(revision 2)
+++ /liacs/net/as3/src/xorfilter/filter.c	(revision 2)
@@ -0,0 +1,180 @@
+#include "filter.h"
+#include "xorencrypt.h"
+#include "checksum.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <netinet/in.h>
+#include <linux/types.h>
+#include <linux/ip.h>
+#include <linux/tcp.h>
+#include <linux/netfilter.h>        /* for NF_ACCEPT */
+#include <arpa/inet.h>
+#include <inttypes.h>
+
+const unsigned int key = 0x12345678;    /* The key used for encrypting */
+
+/* Returns the IP header from the datagram
+ */
+struct iphdr *get_ip_hdr(char *datagram)
+{
+    return (struct iphdr *)datagram;
+}
+
+/* Returns the TCP header from the datagram
+ */
+struct tcphdr *get_tcp_hdr(char *datagram)
+{
+    char *tcpdata = datagram + get_ip_len(datagram);
+    return (struct tcphdr *)tcpdata;
+}
+
+/* Returns pointer to TCP payload data from the datagram
+ */
+char *get_tcp_payload(char *datagram)
+{
+    struct tcphdr *tcphdr = get_tcp_hdr(datagram);
+    int iphdr_len = get_ip_len(datagram);
+    int tcphdr_len = get_tcp_len(tcphdr);
+    return datagram + iphdr_len + tcphdr_len;
+}
+
+/* Returns the total length of the datagram
+ */
+__u16 get_ip_tot_len(struct iphdr *ip)
+{
+    return ntohs(ip->tot_len);
+}
+
+/* Returns the total length of the IP header
+ */
+__u16 get_ip_len(char *datagram)
+{
+    struct iphdr *iphdr = get_ip_hdr(datagram);
+    return iphdr->ihl * 4; /* ihl is in words */
+}
+
+/* Returns the length of the IP options field
+ */
+__u16 get_ip_opt_len(char *datagram)
+{
+    return get_ip_len(datagram) - sizeof(struct iphdr);
+}
+
+/* Returns the total length of the TCP header
+ */
+__u16 get_tcp_len(struct tcphdr *tcphdr)
+{
+    return tcphdr->doff * 4; /* data offset is in words */
+}
+
+/* Returns the length of the TCP options field
+ */
+__u16 get_tcp_opt_len(struct tcphdr *hdr)
+{
+    return get_tcp_len(hdr) - sizeof(struct tcphdr);
+}
+
+/* Returns the length in bytes of the tcp payload data
+ */
+__u16 get_tcp_data_len(char *datagram)
+{
+    struct iphdr *iphdr = get_ip_hdr(datagram);
+    struct tcphdr *tcphdr = get_tcp_hdr(datagram);
+    int total_len = get_ip_tot_len(iphdr);
+    int iphdr_len = get_ip_len(datagram);
+    int tcphdr_len = get_tcp_len(tcphdr);
+    return total_len - iphdr_len - tcphdr_len;
+}
+
+/* Returns the source address */
+__u16 get_tcp_source(struct tcphdr *hdr)
+{
+    return ntohs(hdr->source);
+}
+
+/* Returns the destination address */
+__u16 get_tcp_dest(struct tcphdr *hdr)
+{
+    return ntohs(hdr->dest);
+}
+
+/* the pseudo header used in calculating checksum */
+struct pseudo_hdr {
+    __u32 source;
+    __u32 dest;
+    __u8 zero;
+    __u8 ptcl;
+    __u16 tcplen;
+};
+
+void print_datagram(char *datagram)
+{
+    struct iphdr *iphdr = get_ip_hdr(datagram);
+    struct tcphdr *tcphdr = get_tcp_hdr(datagram);
+    unsigned int iphdr_len = get_ip_len(datagram);
+    unsigned int tcphdr_len = get_tcp_len(tcphdr);
+    unsigned int total_len = get_ip_tot_len(iphdr);
+    unsigned int data_len = get_tcp_data_len(datagram);
+    char *data = get_tcp_payload(datagram);
+    printf("datagram length: %d, iphdr length: %d, tcphdr length: %d, data length: %d, data pointer: %p, sizeof(struct pseude_hdr): %d\n",
+            total_len, iphdr_len, tcphdr_len, data_len, data, sizeof(struct pseudo_hdr));
+}
+
+
+/* Encrypts TCP payload data using XOR in the datagram pointed to by datagram
+ */
+int encrypt_payload(char *datagram)
+{
+    struct iphdr *iphdr = get_ip_hdr(datagram);
+    struct tcphdr *tcphdr = get_tcp_hdr(datagram);
+    unsigned int tcphdr_len = get_tcp_len(tcphdr);
+    unsigned int total_len = get_ip_tot_len(iphdr);
+    unsigned int data_len = get_tcp_data_len(datagram);
+    char *data = get_tcp_payload(datagram);
+    struct pseudo_hdr *phdr;
+    long crc;
+
+    print_datagram(datagram);
+    if (iphdr->protocol != 6) {
+        printf("not a tcp datagram\n");
+        return total_len;
+    }
+
+    /*  memset(data, 0, data_len); */
+    /* xor payload data */
+    printf("Before crypt: '%s'\n", data);
+    xorencrypt(data, data_len, htonl(key));
+    printf("After crypt: '%s'\n", data);
+
+    printf("crc before: %d\n", tcphdr->check);
+    /* calculate new crc value by making new datagram with pseudo header */
+    tcphdr->check = 0;
+    char *copy = malloc(sizeof(struct pseudo_hdr) + tcphdr_len + data_len);
+
+    /* set pseudo header */
+    phdr = (struct pseudo_hdr *)copy;
+    phdr->source = iphdr->saddr;
+    phdr->dest = iphdr->daddr;
+    phdr->zero = 0;
+    phdr->ptcl = iphdr->protocol;
+    phdr->tcplen = tcphdr_len + data_len;
+    phdr->tcplen = htons(phdr->tcplen);
+
+    /* copy tcp header minus options */
+    memcpy(copy + sizeof(struct pseudo_hdr), (char *)tcphdr, tcphdr_len);
+    /* copy payload data */
+    memcpy(copy + sizeof(struct pseudo_hdr) + tcphdr_len, data, data_len);
+
+    /* calculate and set new crc */
+    crc = checksum((unsigned short *)copy, sizeof(struct pseudo_hdr) + tcphdr_len + data_len);
+    free(copy);
+
+    tcphdr->check = (__u16)crc;
+    printf("crc after: %d\n", tcphdr->check);
+    return total_len;
+}
+
Index: /liacs/net/as3/src/xorfilter/filter.h
===================================================================
--- /liacs/net/as3/src/xorfilter/filter.h	(revision 2)
+++ /liacs/net/as3/src/xorfilter/filter.h	(revision 2)
@@ -0,0 +1,43 @@
+#ifndef FILTER_H
+#define FILTER_H
+
+#include <linux/types.h>
+
+/* Returns the IP header from the datagram */
+struct iphdr *get_ip_hdr(char *datagram);
+
+/* Returns the TCP header from the datagram */
+struct tcphdr *get_tcp_hdr(char *datagram);
+
+/* Returns pointer to TCP payload data */
+char *get_tcp_payload(char *datagram);
+
+/* Returns the total length of the datagram */
+__u16 get_ip_tot_len(struct iphdr *ip);
+
+/* Returns the total length of the IP header */
+__u16 get_ip_len(char *datagram);
+
+/* Returns the length of the IP options field */
+__u16 get_ip_opt_len(char *datagram);
+
+/* Returns the total length of the TCP header */
+__u16 get_tcp_len(struct tcphdr *tcphdr);
+
+/* Returns the length of the TCP options field  */
+__u16 get_tcp_opt_len(struct tcphdr *hdr);
+
+/* Returns the length in bytes of the tcp payload data */
+__u16 get_tcp_data_len(char *datagram);
+
+/* Returns the source address */
+__u16 get_tcp_source(struct tcphdr *hdr);
+
+/* Returns the destination address */
+__u16 get_tcp_dest(struct tcphdr *hdr);
+
+/* Ecrypts TCP payload data using XOR in the datagram pointed to by data */
+int encrypt_payload(char *datagram);
+
+#endif
+
Index: /liacs/net/as3/src/xorfilter/queue.c
===================================================================
--- /liacs/net/as3/src/xorfilter/queue.c	(revision 2)
+++ /liacs/net/as3/src/xorfilter/queue.c	(revision 2)
@@ -0,0 +1,190 @@
+#include "queue.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <netinet/in.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <linux/types.h>
+#include <linux/netfilter.h>		/* for NF_ACCEPT */
+
+#include <libnetfilter_queue/libnetfilter_queue.h>
+
+#define MAX_QUEUES   3
+
+/* data for queue's */
+struct queue_t {
+	struct nfq_q_handle *qh; /* handle to the queue */
+    callback cbp; /* callback function to handle packets from this queue */
+    int n;
+};
+
+/* the queue's that are setup */
+static struct queue_t queues[MAX_QUEUES];
+
+/* The main netlib handle and file descriptor */
+static struct nfq_handle *h = NULL;
+static int fd;
+
+/*
+	struct nfnl_handle *nh;
+*/
+
+void init()
+{
+    printf("opening library handle\n");
+   	h = nfq_open();
+    if (!h) {
+    	fprintf(stderr, "error during nfq_open()\n");
+    	exit(1);
+   	}
+
+   	printf("unbinding existing nf_queue handler for AF_INET (if any)\n");
+    if (nfq_unbind_pf(h, AF_INET) < 0) {
+    	fprintf(stderr, "error during nfq_unbind_pf()\n");
+	    exit(1);
+    }
+
+   	printf("binding nfnetlink_queue as nf_queue handler for AF_INET\n");
+   	if (nfq_bind_pf(h, AF_INET) < 0) {
+   		fprintf(stderr, "error during nfq_bind_pf()\n");
+    	exit(1);
+    }
+
+	fd = nfq_fd(h);
+}
+
+void deinit()
+{
+	printf("closing library handle\n");
+	nfq_close(h);
+}
+
+/* callback called by netfilter_queue when packet is available */
+static int cb(struct nfq_q_handle *qh, struct nfgenmsg *nfmsg, struct nfq_data *nfa, void *data)
+{
+    char *datagram;
+    int n = *(int *)data;
+	u_int32_t id = print_pkt(nfa);
+    u_int32_t verdict;
+    int len;
+
+	printf("entering nfq callback\n");
+
+    if (nfq_get_payload(nfa, &datagram) < 0) {
+        fprintf(stderr, "error could not get payload data\n");
+        exit(1);
+    }
+    verdict = queues[n].cbp(datagram, &len);
+
+	return nfq_set_verdict(qh, id, verdict, len, (unsigned char *)datagram);
+}
+
+void setup_queue(int n, callback cbp)
+{
+    if (n >= MAX_QUEUES) {
+        fprintf(stderr, "error not enough queues\n");
+        exit(1);
+    }
+
+	printf("binding this socket to queue '%d'\n", n);
+    queues[n].n = n;
+	queues[n].qh = nfq_create_queue(h,  n, &cb, &(queues[n].n));
+	if (!queues[n].qh) {
+		fprintf(stderr, "error during nfq_create_queue()\n");
+		exit(1);
+	}
+
+	printf("setting copy_packet mode\n");
+	if (nfq_set_mode(queues[n].qh, NFQNL_COPY_PACKET, 0xffff) < 0) {
+		fprintf(stderr, "can't set packet_copy mode\n");
+		exit(1);
+	}
+    queues[n].cbp = cbp;
+}
+
+void close_queue(int n)
+{
+    if (n >= MAX_QUEUES) {
+        fprintf(stderr, "error not enough queues\n");
+        exit(1);
+    }
+
+	printf("unbinding from queue %d\n", n);
+	nfq_destroy_queue(queues[n].qh);
+
+#ifdef INSANE
+	/* normally, applications SHOULD NOT issue this command, since
+	 * it detaches other programs/sockets from AF_INET, too ! */
+	printf("unbinding from AF_INET\n");
+	nfq_unbind_pf(h, AF_INET);
+#endif
+}
+
+void receive_data()
+{
+	int rv;
+	char buf[66000] __attribute__ ((aligned));
+
+	while ((rv = recv(fd, buf, sizeof(buf), 0)) && rv >= 0) {
+		printf("\n--- pkt received ---\n");
+		nfq_handle_packet(h, buf, rv);
+	}
+}
+
+/* Print packet and return packet id */
+u_int32_t print_pkt(struct nfq_data *tb)
+{
+	int id = 0;
+	struct nfqnl_msg_packet_hdr *ph;
+	struct nfqnl_msg_packet_hw *hwph;
+	u_int32_t mark, ifi;
+	int ret;
+	char *data;
+
+	ph = nfq_get_msg_packet_hdr(tb);
+	if (ph) {
+		id = ntohl(ph->packet_id);
+		printf("hw_protocol=0x%04x hook=%u id=%u ",
+			ntohs(ph->hw_protocol), ph->hook, id);
+	}
+
+	hwph = nfq_get_packet_hw(tb);
+	if (hwph) {
+		int i, hlen = ntohs(hwph->hw_addrlen);
+
+		printf("hw_src_addr=");
+		for (i = 0; i < hlen-1; i++)
+			printf("%02x:", hwph->hw_addr[i]);
+		printf("%02x ", hwph->hw_addr[hlen-1]);
+	}
+
+	mark = nfq_get_nfmark(tb);
+	if (mark)
+		printf("mark=%u ", mark);
+
+	ifi = nfq_get_indev(tb);
+	if (ifi)
+		printf("indev=%u ", ifi);
+
+	ifi = nfq_get_outdev(tb);
+	if (ifi)
+		printf("outdev=%u ", ifi);
+	ifi = nfq_get_physindev(tb);
+	if (ifi)
+		printf("physindev=%u ", ifi);
+
+	ifi = nfq_get_physoutdev(tb);
+	if (ifi)
+		printf("physoutdev=%u ", ifi);
+
+	ret = nfq_get_payload(tb, &data);
+	if (ret >= 0)
+		printf("payload_len=%d ", ret);
+
+	fputc('\n', stdout);
+
+	return id;
+}
+
Index: /liacs/net/as3/src/xorfilter/queue.h
===================================================================
--- /liacs/net/as3/src/xorfilter/queue.h	(revision 2)
+++ /liacs/net/as3/src/xorfilter/queue.h	(revision 2)
@@ -0,0 +1,31 @@
+#ifndef QUEUE_H
+#define QUEUE_h
+
+#include <netinet/in.h>
+#include <linux/netfilter.h>		/* for NF_ACCEPT */
+
+#include <libnetfilter_queue/libnetfilter_queue.h>
+
+/* callback receives a datagram and returns a verdict (either NF_ACCEPT or NF_DROP) */
+typedef u_int32_t (*callback)(char *datagram, int *len);
+
+/* initialize netfilter */
+void init();
+
+/* deinitialize netfilter */
+void deinit();
+
+/* bind to queue n */
+void setup_queue(int n, callback cbp);
+
+/* unbind from queue n */
+void close_queue(int n);
+
+/* start receiving packets */
+void receive_data();
+
+/* Print packet and return packet id */
+u_int32_t print_pkt (struct nfq_data *tb);
+
+#endif
+
Index: /liacs/net/as3/src/xorfilter/xorencrypt.c
===================================================================
--- /liacs/net/as3/src/xorfilter/xorencrypt.c	(revision 2)
+++ /liacs/net/as3/src/xorfilter/xorencrypt.c	(revision 2)
@@ -0,0 +1,22 @@
+#include "xorencrypt.h"
+
+typedef unsigned int key_t;
+
+/* Encrypt data of len bytes with XOR and key */
+void xorencrypt(void *data, int len, key_t key)
+{
+    int i;
+    key_t *word_data = (key_t *)data;
+    int word_len = len / sizeof(key_t);
+    int remainder = len % sizeof(key_t);
+
+    for (i = 0; i < word_len; ++i) {
+	printf("%i\n", i );
+        word_data[i] ^= key;
+    }
+
+    for (i = len - remainder; i < len; ++i) {
+        ((unsigned char *)data)[i] ^= ((unsigned char*)&key)[i];
+    }
+}
+
Index: /liacs/net/as3/src/xorfilter/xorencrypt.h
===================================================================
--- /liacs/net/as3/src/xorfilter/xorencrypt.h	(revision 2)
+++ /liacs/net/as3/src/xorfilter/xorencrypt.h	(revision 2)
@@ -0,0 +1,8 @@
+#ifndef XORENCRYPT_H
+#define XORENCRYPT_H
+
+/* Encrypt data of len bytes with XOR and key */
+void xorencrypt(void *data, int len, unsigned int key);
+
+#endif
+
Index: /liacs/net/as3/src/xorfilter/xorfilter.c
===================================================================
--- /liacs/net/as3/src/xorfilter/xorfilter.c	(revision 2)
+++ /liacs/net/as3/src/xorfilter/xorfilter.c	(revision 2)
@@ -0,0 +1,38 @@
+#include <stdio.h>
+#include <string.h>
+#include "queue.h"
+#include "filter.h"
+
+#include "xorencrypt.h"
+
+static u_int32_t handle_input(char *datagram, int *len)
+{
+    printf("encrypting input payload\n");
+    *len = encrypt_payload(datagram);
+    return NF_ACCEPT;
+}
+
+static u_int32_t handle_output(char *datagram, int *len)
+{
+    printf("encrypting output payload\n");
+    *len = encrypt_payload(datagram);
+    return NF_ACCEPT;
+}
+
+int main(void)
+{
+    init();
+
+    setup_queue(1, handle_input);
+    setup_queue(2, handle_output);
+
+    receive_data();
+
+    close_queue(1);
+    close_queue(2);
+
+    deinit();
+
+    return 0;
+}
+
Index: /liacs/net/as3/tools/rmqueue.sh
===================================================================
--- /liacs/net/as3/tools/rmqueue.sh	(revision 2)
+++ /liacs/net/as3/tools/rmqueue.sh	(revision 2)
@@ -0,0 +1,4 @@
+#!/bin/sh
+/sbin/iptables -F
+/sbin/iptables -t mangle -F
+
Index: /liacs/net/as3/tools/setqueue.sh
===================================================================
--- /liacs/net/as3/tools/setqueue.sh	(revision 2)
+++ /liacs/net/as3/tools/setqueue.sh	(revision 2)
@@ -0,0 +1,9 @@
+#!/bin/sh
+/sbin/iptables -t mangle -A INPUT -i lo -j NFQUEUE --queue-num 0
+/sbin/iptables -t mangle -A OUTPUT -o lo -j NFQUEUE --queue-num 1
+
+/sbin/iptables -t mangle -A INPUT -i eth0 -j NFQUEUE --queue-num 0
+/sbin/iptables -t mangle -A OUTPUT -o eth0 -j NFQUEUE --queue-num 1
+
+#/sbin/iptables -t mangle -A INPUT -i eth0 -d 10.211.55.4 -j NFQUEUE --queue-num 1
+#/sbin/iptables -t mangle -A OUTPUT -o eth0 -s 10.211.55.4 -j NFQUEUE --queue-num 2
Index: /liacs/os/assignment1/Makefile
===================================================================
--- /liacs/os/assignment1/Makefile	(revision 2)
+++ /liacs/os/assignment1/Makefile	(revision 2)
@@ -0,0 +1,13 @@
+# Rick van der Zwet
+# 0433373
+# OS Assigment 1 - Building executables
+# Licence: BSD
+# $Id: Makefile 488 2008-02-20 12:51:11Z rick $
+
+CFLAGS=-ggdb
+EXECUTABLES=child1 parent0 parent1 parse-arguments simple-shell
+
+all: ${EXECUTABLES}
+
+clean:
+	rm -fR *.o ${EXECUTABLES}
Index: /liacs/os/assignment1/child1.c
===================================================================
--- /liacs/os/assignment1/child1.c	(revision 2)
+++ /liacs/os/assignment1/child1.c	(revision 2)
@@ -0,0 +1,14 @@
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+/* a simple child */
+int main (void) {
+    /* the child's process new program */
+    /* This program replaces the parent's program */
+    printf("Process[%d]: child in execution ... \n",
+    getpid());
+    sleep(1);
+    printf("Process[%d]: child, terminating .. \n", getpid());
+    return(0);
+}
Index: /liacs/os/assignment1/execUse.c
===================================================================
--- /liacs/os/assignment1/execUse.c	(revision 2)
+++ /liacs/os/assignment1/execUse.c	(revision 2)
@@ -0,0 +1,11 @@
+/* file name: execUse.c */
+#include <unistd.h>
+int main () {
+    char * a[3];
+    a[0] = "dont care what you put here\0";
+    a[1] ="--all";
+    a[2] = "--time";
+    a[3] = 0;
+    execve("/usr/bin/who", a, 0);
+    return 1;
+}
Index: /liacs/os/assignment1/parent0.c
===================================================================
--- /liacs/os/assignment1/parent0.c	(revision 2)
+++ /liacs/os/assignment1/parent0.c	(revision 2)
@@ -0,0 +1,26 @@
+/* version 0 ; sys name: parent0.c a simple parent
+child will be created;
+exact copy of parent;
+shares hardly anything with parent;
+child and parent share files though but no data/vars etc;
+child has its own address space.
+In this version we don't change the core image for the
+child process. */
+/*
+#include <sys/wait.h>
+#define NULL 0
+*/
+
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+int main (void) {
+    int pidValue = fork();
+    printf("the value which is returned by fork: %d \n",
+            pidValue);
+    printf("pid: %d \n", getpid());
+    printf("Process[%d]: Parent or Child! terminating ... \n",
+            getpid());
+    exit(0);
+}
Index: /liacs/os/assignment1/parent1.c
===================================================================
--- /liacs/os/assignment1/parent1.c	(revision 2)
+++ /liacs/os/assignment1/parent1.c	(revision 2)
@@ -0,0 +1,38 @@
+/* a simple parent; version1; sys name: parent1.c
+Now we better create a program, which will replace the replica
+of the parent. We have named this replacing program child1.c
+and have made an executable out of it carrying the name child1
+(use the -o option). In parent process fork() returns the pid
+of the child; in the child process fork returns 0. */
+#include <sys/wait.h>
+#define NULL 0
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+int main(void)
+{
+    int pidValue = fork();
+    if (pidValue > 0) {
+/* Parent code here */
+        printf("Process[%d]: Parent in execution ... \n", getpid());
+        sleep(2);
+        if (wait(NULL) > 0) {   /* Child terminating */
+            printf("Process[%d]: Parent detects terminating child \n", getpid());
+        }
+        printf("Process[%d]: Parent terminating ... \n", getpid());
+    }
+    else {
+        if (pidValue == 0) {
+/* this is the child's process */
+            execve("child1", NULL, NULL);
+            exit(0);            /* should never get here, terminate */
+        }
+        else {
+/* should never get here; things such as not
+enought mem */
+            exit(0);
+        }
+    }
+    return(0);
+}
Index: /liacs/os/assignment1/parse-arguments.c
===================================================================
--- /liacs/os/assignment1/parse-arguments.c	(revision 2)
+++ /liacs/os/assignment1/parse-arguments.c	(revision 2)
@@ -0,0 +1,29 @@
+/*
+ * Rick van der Zwet
+ * 0433373
+ * OS Assigment 4 - Part B
+ * Licence: BSD
+ * $Id: parse-arguments.c 540 2008-04-01 20:51:39Z rick $
+ */
+
+/* Input required libaries */
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+/* First executed function, called by default, with arguments the
+ * arguments and number of arguments ;-)
+ */
+int main (int argc, char * argv[]) {
+    printf("Process[%d]: parse-arguments in execution ... \n", getpid());
+    /* the child's process new program */
+    /* This program replaces the parent's program */
+    int i;
+        printf("Number of arguments %i\n", argc);
+    /* Loop trough all arguments */
+    for (i = 0; i < argc; i++) {
+        printf("Command line argument %i: %s\n", i, argv[i]);
+    }
+    printf("Process[%d]: parse-arguments, terminating .. \n", getpid());
+    return(0);
+}
Index: /liacs/os/assignment1/simple-shell.c
===================================================================
--- /liacs/os/assignment1/simple-shell.c	(revision 2)
+++ /liacs/os/assignment1/simple-shell.c	(revision 2)
@@ -0,0 +1,104 @@
+/*
+ * Rick van der Zwet
+ * 0433373
+ * OS Assigment 1 - Part B
+ * Licence: BSD
+ * $Id: simple-shell.c 487 2008-02-20 12:51:08Z rick $
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+
+int main (int argc, char * argv[]) {
+
+    char **ap;                  /* Argument list pointer */
+    char *argv_c[256];          /* argument input list */
+    char *bp;                   /* Buffer pointer */
+    char *commandsep = " \t";   /* Command seperation characters */
+    char *pathsep = ":";        /* Path seperation character */
+    char *pathv[256];           /* path list */
+    char fullpath[1024] = "";   /* fullpath to binary */
+    char inbuf[256];            /* input buffer */
+    int argc_c;                 /* Argument list lengh */
+    int i;                      /* tmp loop counter */
+    int pathc = 0;              /* path list lengh */
+
+    /* Input argument viewer */
+    printf("Number of arguments %i\n", argc);
+    for (i = 0; i < argc; i++) {
+        printf("Command line argument %i: %s\n", i, argv[i]);
+    }
+
+    /* put ENV:PATH into path list */
+    printf("Env PATH=%s\n", getenv("PATH"));
+    bp = getenv("PATH");
+    for (ap = pathv;
+        (*ap = strsep(&bp, pathsep)) != NULL;) {
+        pathc++;
+        if (**ap != '\0')
+            if (++ap >= &pathv[256])
+                break;
+    }
+
+
+
+    /* Main shell */
+    for (;;) {
+        /* Get input */
+        printf("$ ");
+        fgets(inbuf, 256, stdin);
+        inbuf[strlen(inbuf) - 1] = '\0';
+
+        /* Convert input to arguments */
+        bp = inbuf;
+        argc_c = 0;
+        for (ap = argv_c;
+            (*ap = strsep(&bp, commandsep)) != NULL;) {
+            printf("Argument %i : '%s'\n",argc_c, argv_c[argc_c]);
+            argc_c++;
+            if (**ap != '\0')
+                if (++ap >= &argv_c[256])
+                    break;
+            }
+
+        /* Catch special cases */
+        if ( argv_c[0] == '\0' ) {
+            printf("No input...\n");
+            continue;
+        }
+        if (strcmp(argv_c[0], "exit") == 0) {
+            printf("Goodbye...\n");
+            break;
+        }
+
+        /* Find proper executable in path */
+        for (i = 0; i < pathc; i++) {
+            (void)strcpy(fullpath, pathv[i]);
+            (void)strcat(fullpath, "/");
+            (void)strcat(fullpath, argv_c[0]);
+            printf("Searching at '%s': ", fullpath);
+
+            if (access(fullpath, X_OK) == 0) {
+                printf("OK\n");
+                /* Execute command, using fork */
+                int pid = fork();
+                if (pid > 0) {
+                    wait(NULL);
+                    break;
+                } else {
+                    printf("Executing: %s ", fullpath);
+                    for (i = 1; i < argc_c; i++) {
+                        printf("%s ",argv_c[i]);
+                    }
+                    printf("\n");
+                    execv(fullpath, argv_c);
+                }
+            } else {
+                printf("FAILED\n");
+            }
+        }
+    }
+    return(0);
+}
Index: /liacs/os/assignment2/Makefile
===================================================================
--- /liacs/os/assignment2/Makefile	(revision 2)
+++ /liacs/os/assignment2/Makefile	(revision 2)
@@ -0,0 +1,14 @@
+# Rick van der Zwet
+# 0433373
+# OS Assigment 2
+# Licence: BSD
+# $Id: Makefile 508 2008-03-02 14:18:40Z rick $
+
+CFLAGS=-Wall -g
+PROGRAMS=partBCD
+
+
+all: $(PROGRAMS)
+
+clean:
+	rm -Rf $(PROGRAMS)
Index: /liacs/os/assignment2/README
===================================================================
--- /liacs/os/assignment2/README	(revision 2)
+++ /liacs/os/assignment2/README	(revision 2)
@@ -0,0 +1,38 @@
+# Rick van der Zwet
+# 0433373
+# OS Assigment
+# Licence: BSD
+# $Id: README.txt 508 2008-03-02 14:18:40Z rick $
+
+
+= Intro =
+The executable is named partBCD instead the name info, cause info does
+already exist on the system and this might cause confusion. In order to
+generate the output needed for every exercise:
+
+#Part A
+$sh partA.sh
+#Part B
+$make && ./partBCD
+#Part C
+$make && ./partBCD -i
+#Part D
+$make && ./partBCD -l <times> -s <delay>
+
+= Files =
+debug.sh        =   Shell helper script to create simple loop
+Makefile        =   Makefile to generate executables of C code
+partA.sh        =   Shell script to generate output part A
+partBCD.c       =   C source code part B,C,D
+README.txt      =   Currently reading
+
+
+= Output part A =
+CPU type and model               : AMD Athlon(tm) 64 Processor 3700+
+Version of Linux kernel          : 2.6.15-26-server
+Time elapsed since last (re)boot : 11:45:07 up 103 days
+CPU time in user mode            : 138365343
+CPU time in system mode          : 707634
+CPU time in idle mode            : 754249614
+Memory configured                : 1034656 kB
+Memory available                 : 83096 kB
Index: /liacs/os/assignment2/debug.sh
===================================================================
--- /liacs/os/assignment2/debug.sh	(revision 2)
+++ /liacs/os/assignment2/debug.sh	(revision 2)
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Rick van der Zwet
+# 0433373
+# OS Assigment 2
+# Licence: BSD
+# $Id: debug.sh 508 2008-03-02 14:18:40Z rick $
+
+while [ 1 ]; do
+    date
+    make && ./partBCD -l 10
+    sleep 10
+done
Index: /liacs/os/assignment2/partA.sh
===================================================================
--- /liacs/os/assignment2/partA.sh	(revision 2)
+++ /liacs/os/assignment2/partA.sh	(revision 2)
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+# Rick van der Zwet
+# 0433373
+# OS Assigment 2 - Part A
+# Licence: BSD
+# $Id: partA.sh 508 2008-03-02 14:18:40Z rick $
+
+echo -n "CPU type and model               : "
+grep '^model name' /proc/cpuinfo | cut -c 14-
+
+echo -n "Version of Linux kernel          : "
+cat /proc/sys/kernel/osrelease
+
+echo -n "Time elapsed since last (re)boot : "
+uptime | awk -F, '{print $1}' | cut -c 2-
+
+# http://www.linuxhowtos.org/System/procstat.htm
+echo -n "CPU time in user mode            : "
+awk '/^cpu / {print $2 + $3}' /proc/stat
+echo -n "CPU time in system mode          : "
+awk '/^cpu / {print $4}' /proc/stat
+echo -n "CPU time in idle mode            : "
+awk '/^cpu / {print $5}' /proc/stat
+
+echo -n "Memory configured                : "
+awk '/^MemTotal: / {print $2 " " $3 }' /proc/meminfo
+
+echo -n "Memory available                 : "
+awk '/^MemFree: / {print $2 " " $3 }' /proc/meminfo
Index: /liacs/os/assignment2/partBCD.c
===================================================================
--- /liacs/os/assignment2/partBCD.c	(revision 2)
+++ /liacs/os/assignment2/partBCD.c	(revision 2)
@@ -0,0 +1,197 @@
+/*
+ * Rick van der Zwet
+ * 0433373
+ * OS Assigment 2 - Part BCD
+ * Licence: BSD
+ * $Id: partBCD.c 508 2008-03-02 14:18:40Z rick $
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sysexits.h>
+#include <time.h>
+#include <unistd.h>
+
+void usage(const int errno) {
+    printf("Usage:\n");
+    printf("-h : This screen\n");
+    printf("-l <int> : <int> times to show loadavg\n");
+    printf("-s <int> : Sleep <int> seconds between every loadavg line\n");
+    exit(errno);
+}
+
+void partB() {
+    char buffer[100];
+    long int uptime_seconds = 0;
+    int i, days, hours, minutes, seconds;
+    FILE * file;
+
+    /* cpuinfo */
+    file = fopen("/proc/cpuinfo", "r");
+    /* move to right line */
+    for (i = 0; i <= 3; i++)
+        while (fgetc(file) != '\n');
+    /* Fix offset */
+    fgets(buffer, 14, file);
+    /* Read data */
+    fgets(buffer, 50, file);
+    fclose(file);
+    printf("CPU Info: %s", buffer);
+
+    /* Kernel version */
+    file = fopen("/proc/sys/kernel/osrelease", "r");
+    fgets(buffer, 50, file);
+    fclose(file);
+    printf("Kernel version: %s", buffer);
+
+    /* Pretty formatted uptime */
+    file = fopen("/proc/uptime", "r");
+    fscanf(file, "%li", &uptime_seconds);
+    fclose(file);
+    days = uptime_seconds / (24 * 3600);
+    uptime_seconds = uptime_seconds % (24 * 3600);
+    hours = uptime_seconds / 3600;
+    uptime_seconds = uptime_seconds % 3600;
+    minutes = uptime_seconds / 60;
+    seconds = uptime_seconds % 60;
+    printf("Uptime (dd:hh:mm:ss): %02i:%02i:%02i:%02i\n",
+           days, hours, minutes, seconds );
+}
+
+void partC() {
+    char buffer[100];
+    long int cpu_user, cpu_user_nice, cpu_system, cpu_idle;
+    long int disk_read_total, disk_write_total, disk_read, disk_write;
+    int i, errno;
+    time_t boot_time, now, uptime;
+    FILE * file;
+
+    /* User,system, idle mode */
+    file = fopen("/proc/stat", "r");
+    fscanf(file, "%*s %li %li %li %li", &cpu_user, &cpu_user_nice, &cpu_system, &cpu_idle);
+    fclose(file);
+
+    printf("Buffer: %s", buffer);
+    printf("CPU User   : %10li sec\n", cpu_user + cpu_user_nice);
+    printf("CPU System : %10li sec\n", cpu_system);
+    printf("CPU Idle   : %10li sec\n", cpu_idle);
+
+    /* Disk operations, read/write on all disks (sum)
+     * Compatible with 2.6 kernel only Legenda at Documentation/iostats.txt
+     * /proc/diskstat read: field 4, write field 8
+     * Partitions only has 7 fields and could easy be ignored
+     */
+    disk_read = 0;
+    disk_write = 0;
+    file = fopen("/proc/diskstats", "r");
+    /* %*100c = dirty hack to move till EOL */
+    while ((errno = fscanf(file, "%*s %*s %*s %li %*s %*s %*s %li %*100c",
+                           &disk_read, &disk_write)) != EOF) {
+        if (errno == 0)
+            continue;
+        disk_read_total += disk_read;
+        disk_write_total += disk_write;
+    }
+    fclose(file);
+
+    printf("Disk read  operations : %li\n", disk_read_total);
+    printf("Disk write operations : %li\n", disk_read_total);
+
+    /* Context switches */
+    file = fopen("/proc/stat", "r");
+    for (i = 0; i <= 2; i++)
+        while (fgetc(file) != '\n');
+    fgets(buffer, 5, file);
+    fgets(buffer, 50, file);
+    fclose(file);
+    printf("Kernel context switches: %s", buffer);
+
+    /* Time/Date last booted */
+    file = fopen("/proc/uptime", "r");
+    fscanf(file, "%li", &uptime);
+    fclose(file);
+    now = time(NULL);
+    boot_time = now - uptime;
+    printf("Time/Date last booted: %s", ctime(&boot_time));
+
+    /* Number of processes since boot */
+    file = fopen("/proc/stat", "r");
+    for (i = 0; i <= 4; i++)
+        while (fgetc(file) != '\n');
+    fgets(buffer, 10, file);
+    fgets(buffer, 50, file);
+    fclose(file);
+    printf("Processes since boot: %s", buffer);
+
+}
+
+void partDmem() {
+    long int mem_available, mem_total;
+    FILE * file;
+
+    file = fopen("/proc/meminfo", "r");
+    fscanf(file, "%*s %li %*s", &mem_total);
+    fscanf(file, "%*s %li %*s", &mem_available);
+    fclose(file);
+
+    printf("Memory total     : %li kB\n", mem_total);
+    printf("Memory available : %li kB\n", mem_available);
+}
+
+void partDloadavg(const int times, const int sleeptime) {
+    float loadavg_min;
+    int i;
+    FILE * file;
+
+    printf("Sleep timer: %i sec\n", sleeptime);
+
+    for (i = 0; i < times; i++) {
+        /* Might want do some forking over here to fake some load, by
+         * now load needs to be generated by some external processes
+         */
+        sleep(sleeptime);
+
+        file = fopen("/proc/loadavg", "r");
+        fscanf(file, "%f", &loadavg_min);
+        fclose(file);
+        printf("%03i : %03.2f\n", i, loadavg_min);
+    }
+}
+
+int main(int argc, char * argv[]) {
+    int extendedinfoflag = 0;
+    int loadavgtimes = 0;
+    int loadavgsleep = 60;
+
+
+    int ch;
+    while ((ch = getopt(argc, argv, "hil:s:")) != -1)
+        switch (ch) {
+        case 'i':
+            extendedinfoflag = 1;
+            break;
+        case 'l':
+            loadavgtimes = atoi(optarg);
+            break;
+        case 's':
+            loadavgsleep = atoi(optarg);
+            break;
+        case 'h':
+            usage(EX_OK);
+            /* NOTREACHED */
+        default:
+            usage(EX_USAGE);
+            /* NOTREACHED */
+        }
+
+    partB();
+    if (extendedinfoflag == 1)
+        partC();
+
+    partDmem();
+    if (loadavgtimes > 0)
+        partDloadavg(loadavgtimes, loadavgsleep);
+
+
+    return(EX_OK);
+}
Index: /liacs/os/assignment3/Makefile
===================================================================
--- /liacs/os/assignment3/Makefile	(revision 2)
+++ /liacs/os/assignment3/Makefile	(revision 2)
@@ -0,0 +1,14 @@
+# Rick van der Zwet
+# 0433373
+# OS Assigment 2
+# Licence: BSD
+# $Id: Makefile 508 2008-03-02 14:18:40Z rick $
+
+CFLAGS=-Wall -g
+PROGRAMS=assignment3 nutt-lab-6-1
+
+
+all: $(PROGRAMS)
+
+clean:
+	rm -Rf $(PROGRAMS)
Index: /liacs/os/assignment3/README
===================================================================
--- /liacs/os/assignment3/README	(revision 2)
+++ /liacs/os/assignment3/README	(revision 2)
@@ -0,0 +1,102 @@
+# Rick van der Zwet
+# 0433373
+# OS Assigment 3
+# Licence: BSD
+# $Id: README.txt 508 2008-03-02 14:18:40Z rick $
+
+
+= Intro =
+File compiled on mac os x, gcc 4.0.1
+
+
+= Files =
+Makefile        =   Makefile to generate executables of C code
+assignment3.c   =   Source code part A
+README.txt      =   Currently reading
+
+
+= Output part A =
+* Describe what this program does.
+# Creates handler for the signals SIGUSR1 and SIGUSR2
+# Fork program to create child
+# Program main signals child, but as the handler is bound to the main
+# program it got received the parent itself
+# Child signals parent which is received by parent
+# Child returned
+
+* Change line 59 so it also sends SIGUSR1. What happens to the program's
+  output?
+# SIGUSR1 is only received ones
+While still busy handling the first requests. All signals are
+blocked/ignored. Also see `man 2 sigaction` par 4
+
+* Try removing the sleep statement from line 51,61 or both. Are both
+  these sleep statements required?
+Disabling one or 2 sleep states does not change the program dehaviour on
+mac os x.
+
+NOTE: When adding a sleep statement in front of the line 58:
+kill(child_pid, SIGUSR1); the whole behaviour changes. It seems that the
+handlers are created shortly after the fork has been completed. I also
+build the code on a linux system with gcc 4.1.2 and all results changed.
+
+Removing the first sleep statements kill the calls from parent to child.
+Removing the second sleep statement does not change anything.
+Removing both will kill the call from parent to child.
+
+= Output part B =
+Code is to be found at nutt-lab-6-1.c. Rather verbose, lots of duplicate
+code lines, but working
+
+
+
+Calculating fibonacci number: 20
+
+Child 1 fib = 6765, real time = 0 sec, 0 msec
+Child 1 fib = 6765, cpu time = 0 sec, 1 msec
+Child 1 fib = 6765, user time = 0 sec, 1 msec
+Child 1 fib = 6765, kernel time = 0 sec, 0 msec
+
+Child 2 fib = 6765, real time = 0 sec, 999 msec
+Child 2 fib = 6765, cpu time = 0 sec, 1 msec
+Child 2 fib = 6765, user time = 0 sec, 1 msec
+Child 2 fib = 6765, kernel time = 0 sec, 0 msec
+
+Parent fib = 6765, real time = 0 sec, 982 msec
+Parent fib = 6765, cpu time = 0 sec, 1 msec
+Parent fib = 6765, user time = 0 sec, 1 msec
+Parent fib = 6765, kernel time = 0 sec, 0 msec
+
+Calculating fibonacci number: 30
+
+Child 1 fib = 832040, real time = 0 sec, 0 msec
+Child 1 fib = 832040, cpu time = 0 sec, 1 msec
+Child 1 fib = 832040, user time = 0 sec, 1 msec
+Child 1 fib = 832040, kernel time = 0 sec, 0 msec
+
+Child 2 fib = 832040, real time = 0 sec, 980 msec
+Child 2 fib = 832040, cpu time = 0 sec, 980 msec
+Child 2 fib = 832040, user time = 0 sec, 980 msec
+Child 2 fib = 832040, kernel time = 0 sec, 0 msec
+
+Parent fib = 832040, real time = 0 sec, 961 msec
+Parent fib = 832040, cpu time = 0 sec, 980 msec
+Parent fib = 832040, user time = 0 sec, 980 msec
+Parent fib = 832040, kernel time = 0 sec, 0 msec
+
+Calculating fibonacci number: 36
+
+Child 2 fib = 14930352, real time = 0 sec, 558 msec
+Child 2 fib = 14930352, cpu time = 0 sec, 820 msec
+Child 2 fib = 14930352, user time = 0 sec, 820 msec
+Child 2 fib = 14930352, kernel time = 0 sec, 0 msec
+
+Child 1 fib = 14930352, real time = 0 sec, 0 msec
+Child 1 fib = 14930352, cpu time = 0 sec, 0 msec
+Child 1 fib = 14930352, user time = 0 sec, 0 msec
+Child 1 fib = 14930352, kernel time = 0 sec, 0 msec
+
+Parent fib = 14930352, real time = 0 sec, 545 msec
+Parent fib = 14930352, cpu time = 0 sec, 830 msec
+Parent fib = 14930352, user time = 0 sec, 830 msec
+Parent fib = 14930352, kernel time = 0 sec, 0 msec
Index: /liacs/os/assignment3/assignment3.c
===================================================================
--- /liacs/os/assignment3/assignment3.c	(revision 2)
+++ /liacs/os/assignment3/assignment3.c	(revision 2)
@@ -0,0 +1,80 @@
+/****************************
+* March 5, 2008             *
+* Operating Systems         *
+* LIACS                     *
+* Spring Semester 2008      *
+* Assignment #3             *
+* Written by Sjoerd Henstra *
+****************************/
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <signal.h>
+#include <errno.h>
+#include <string.h>
+#include <unistd.h>
+
+// printerror prints a custom error message followed by the error code and
+// description to stderr
+void printerror(const char* message) {
+  fprintf(stderr, "%s\nERROR %i: %s\n", message, errno, strerror(errno));
+}
+
+// signal handler, handles SIGUSR1 and SIGUSR2 properly
+static void handler(int signal) {
+  int pid = getpid();
+  switch(signal) {
+    case SIGUSR1:
+      printf("process %i received SIGUSR1\n", pid);
+      break;
+    case SIGUSR2:
+      printf("process %i received SIGUSR2\n", pid);
+      break;
+    default:
+      printf("process %i caught another signal, this shouldn't happen\n", pid);
+      break;
+  }
+}
+
+int main() {
+  int parent_pid; // holds parent process id, used by child to signal parent
+  int child_pid; // hold child process id, used by parent to signal child
+  int status;
+
+  // set signal handlers for signals SIGUSR1 and SIGUSR2
+  if (signal(SIGUSR1, handler) == SIG_ERR) {
+    printerror("Cannot set handler for SIGUSR1.");
+  }
+  if (signal(SIGUSR2, handler) == SIG_ERR) {
+    printerror("Cannot set handler for SIGUSR2.");
+  }
+
+  parent_pid = getpid();
+  printf("parent pid: %i\n", parent_pid);
+
+  // split into parent and child
+  if ((child_pid = fork()) == 0) {
+    printf("child pid: %i\n", getpid());
+
+    // send signal to parent
+    kill(parent_pid, SIGUSR1);
+
+    sleep(1);                  // LINE 51 <--------
+
+    printf("child is done\n");
+    
+  } else {
+    // send signals to child
+    kill(child_pid, SIGUSR1);
+    kill(child_pid, SIGUSR2); // LINE 59 <---------
+    
+    sleep(1);                 // LINE 61 <---------
+
+    printf("parent is done\n");
+    
+    // reap child
+    wait(&status);
+    printf("child reaped\n");
+  }
+  return 0;
+}
Index: /liacs/os/assignment3/nutt-lab-6-1.c
===================================================================
--- /liacs/os/assignment3/nutt-lab-6-1.c	(revision 2)
+++ /liacs/os/assignment3/nutt-lab-6-1.c	(revision 2)
@@ -0,0 +1,312 @@
+/*
+ * Rick van der Zwet
+ * 0433373
+ * OS Assigment 3 - Part B
+ * Licence: BSD
+ * $Id: partBCD.c 508 2008-03-02 14:18:40Z rick $
+ */
+
+ /* XXX: Code is rather verbose and has got a lot of duplicate lines */
+
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <signal.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sysexits.h>
+
+long unsigned int elapsed_usecs(long sec, long usec);
+long unsigned int fibonacci(unsigned int n);
+long unsigned int delta_time(struct itimerval proft, struct itimerval
+realt);
+static void p_sig_handler(int);
+static void c1_sig_handler(int);
+static void c2_sig_handler(int);
+
+//These variables are used to record the accumulated times. They are set
+//by the signal handlers and read by the process when the report the
+//results
+
+static long p_realt_secs = 0, c1_realt_secs = 0, c2_realt_secs = 0;
+static long p_virtt_secs = 0, c1_virtt_secs = 0, c2_virtt_secs = 0;
+static long p_proft_secs = 0, c1_proft_secs = 0, c2_proft_secs = 0;
+static struct itimerval p_realt, c1_realt, c2_realt;
+static struct itimerval p_virtt, c1_virtt, c2_virtt;
+static struct itimerval p_proft, c1_proft, c2_proft;
+
+int main(int argc, char ** argv) {
+    long unsigned fib = 0;
+    int pid1, pid2;
+    unsigned int fibarg;
+    int status;
+
+    //Get command line argument, fibarg (the value N in the problem
+    //statement)
+    if (argc < 2) {
+        fprintf(stderr, "Usage: %s <number>\n", argv[0]);
+        exit(EX_USAGE);
+    }
+
+    fibarg = atoi(argv[1]);
+    printf("Calculating fibonacci number: %i\n", fibarg);
+
+    //Initialize parent, child1 and child 2 timer values
+    //XXX: Any quicker way of doing this?
+    p_realt.it_interval.tv_sec = 1;
+    p_realt.it_interval.tv_usec = 0;
+    p_realt.it_value.tv_sec = 1;
+    p_realt.it_value.tv_usec = 0;
+    p_virtt.it_interval.tv_sec = 1;
+    p_virtt.it_interval.tv_usec = 0;
+    p_virtt.it_value.tv_sec = 1;
+    p_virtt.it_value.tv_usec = 0;
+    p_proft.it_interval.tv_sec = 1;
+    p_proft.it_interval.tv_usec = 0;
+    p_proft.it_value.tv_sec = 1;
+    p_proft.it_value.tv_usec = 0;
+
+    c1_realt.it_interval.tv_sec = 1;
+    c1_realt.it_interval.tv_usec = 0;
+    c1_realt.it_value.tv_sec = 1;
+    c1_realt.it_value.tv_usec = 0;
+    c1_virtt.it_interval.tv_sec = 1;
+    c1_virtt.it_interval.tv_usec = 0;
+    c1_virtt.it_value.tv_sec = 1;
+    c1_virtt.it_value.tv_usec = 0;
+    c1_proft.it_interval.tv_sec = 1;
+    c1_proft.it_interval.tv_usec = 0;
+    c1_proft.it_value.tv_sec = 1;
+    c1_proft.it_value.tv_usec = 0;
+
+    c2_realt.it_interval.tv_sec = 1;
+    c2_realt.it_interval.tv_usec = 0;
+    c2_realt.it_value.tv_sec = 1;
+    c2_realt.it_value.tv_usec = 0;
+    c2_virtt.it_interval.tv_sec = 1;
+    c2_virtt.it_interval.tv_usec = 0;
+    c2_virtt.it_value.tv_sec = 1;
+    c2_virtt.it_value.tv_usec = 0;
+    c2_proft.it_interval.tv_sec = 1;
+    c2_proft.it_interval.tv_usec = 0;
+    c2_proft.it_value.tv_sec = 1;
+    c2_proft.it_value.tv_usec = 0;
+
+    //Enable parent's signal handlers
+    signal(SIGALRM, p_sig_handler);
+    signal(SIGVTALRM, p_sig_handler);
+    signal(SIGPROF, p_sig_handler);
+
+    //Set parent itimers
+    if(setitimer(ITIMER_REAL, &p_realt, NULL) == -1)
+        perror("parent real timer set error");
+    if(setitimer(ITIMER_VIRTUAL, &p_virtt, NULL) == -1)
+        perror("parent virtual timer set error");
+    if(setitimer(ITIMER_PROF, &p_proft, NULL) == -1)
+        perror("parent profile timer set error");
+
+    pid1 = fork();
+    if (pid1 == 0) {
+    // Enable child 1 signal handlers (disable parent handlers)
+        signal(SIGALRM,   c1_sig_handler);
+        signal(SIGVTALRM, c1_sig_handler);
+        signal(SIGPROF,   c1_sig_handler);
+
+    // Enable child 1 signal handlers
+
+    // Set child 1 itimers 
+        if(setitimer(ITIMER_REAL, &c1_realt, NULL) == -1)
+            perror("parent real timer set error");
+        if(setitimer(ITIMER_VIRTUAL, &c1_virtt, NULL) == -1)
+            perror("parent virtual timer set error");
+        if(setitimer(ITIMER_PROF, &c1_proft, NULL) == -1)
+            perror("parent profile timer set error");
+
+    // Start child 1 on the fibonacci program
+        fib = fibonacci(fibarg);
+
+    // Read child 1 itimer values and report them
+        getitimer(ITIMER_PROF, &c1_proft);
+        getitimer(ITIMER_REAL, &c1_realt);
+        getitimer(ITIMER_VIRTUAL, &c1_virtt);
+        printf("\n");
+        printf("Child 1 fib = %ld, real time = %ld sec, %ld msec\n",
+            fib, c1_realt_secs,
+            elapsed_usecs(c1_realt.it_value.tv_sec,
+                          c2_realt.it_value.tv_usec) / 1000);
+        printf("Child 1 fib = %ld, cpu time = %ld sec, %ld msec\n",
+            fib, c1_proft_secs,
+            elapsed_usecs(c1_proft.it_value.tv_sec,
+                          c2_proft.it_value.tv_usec) / 1000);
+        printf("Child 1 fib = %ld, user time = %ld sec, %ld msec\n",
+            fib, c1_virtt_secs,
+            elapsed_usecs(c1_virtt.it_value.tv_sec,
+                          c2_virtt.it_value.tv_usec) / 1000);
+
+        printf("Child 1 fib = %ld, kernel time = %ld sec, %ld msec\n",
+            fib, delta_time(c1_proft, c1_virtt),
+            (elapsed_usecs(c1_proft.it_value.tv_sec,
+                           c1_proft.it_value.tv_usec) / 1000) -
+            (elapsed_usecs(c1_virtt.it_value.tv_sec,
+                           c1_virtt.it_value.tv_usec) / 1000));
+        fflush(stdout);
+        exit(0);
+    } else {
+        pid2 = fork();
+        if (pid2 == 0) {
+            //Enable child 2 signal handlers
+            signal(SIGALRM,   c2_sig_handler);
+            signal(SIGVTALRM, c2_sig_handler);
+            signal(SIGPROF,   c2_sig_handler);
+
+            //Set child 2 itimers
+            if(setitimer(ITIMER_REAL, &c2_realt, NULL) == -1)
+                perror("parent real timer set error");
+            if(setitimer(ITIMER_VIRTUAL, &c2_virtt, NULL) == -1)
+                perror("parent virtual timer set error");
+            if(setitimer(ITIMER_PROF, &c2_proft, NULL) == -1)
+                perror("parent profile timer set error");
+
+            //Start child 2 on the fibonacci program
+            fib = fibonacci(fibarg);
+
+            //Read child 2 itimer values and report them
+            getitimer(ITIMER_PROF, &c2_proft);
+            getitimer(ITIMER_REAL, &c2_realt);
+            getitimer(ITIMER_VIRTUAL, &c2_virtt);
+            printf("\n");
+            printf("Child 2 fib = %ld, real time = %ld sec, %ld msec\n",
+                fib, c2_realt_secs,
+                elapsed_usecs(c2_realt.it_value.tv_sec,
+                              c2_realt.it_value.tv_usec) / 1000);
+            printf("Child 2 fib = %ld, cpu time = %ld sec, %ld msec\n",
+                fib, c2_proft_secs,
+                elapsed_usecs(c2_proft.it_value.tv_sec,
+                              c2_proft.it_value.tv_usec) / 1000);
+            printf("Child 2 fib = %ld, user time = %ld sec, %ld msec\n",
+                fib, c2_virtt_secs,
+                elapsed_usecs(c2_virtt.it_value.tv_sec,
+                              c2_virtt.it_value.tv_usec) / 1000);
+
+            printf("Child 2 fib = %ld, kernel time = %ld sec, %ld msec\n",
+                fib, delta_time(c2_proft, c2_virtt),
+                (elapsed_usecs(c2_proft.it_value.tv_sec,
+                               c2_proft.it_value.tv_usec) / 1000) -
+                (elapsed_usecs(c2_virtt.it_value.tv_sec,
+                               c2_virtt.it_value.tv_usec) / 1000));
+            fflush(stdout);
+            exit(0);
+            } else { /*This is the parent */
+            //Start parent on the fibonacci program
+            fib = fibonacci(fibarg);
+
+            // Wait for childen to terminate
+            waitpid(0, &status, 0);
+            waitpid(0, &status, 0);
+
+            // Read parent itimer values and report them
+            getitimer(ITIMER_PROF, &p_proft);
+            getitimer(ITIMER_REAL, &p_realt);
+            getitimer(ITIMER_VIRTUAL, &p_virtt);
+            printf("\n");
+            printf("Parent fib = %ld, real time = %ld sec, %ld msec\n",
+                fib, p_realt_secs,
+                elapsed_usecs(p_realt.it_value.tv_sec,
+                              p_realt.it_value.tv_usec) / 1000);
+            printf("Parent fib = %ld, cpu time = %ld sec, %ld msec\n",
+                fib, p_proft_secs,
+                elapsed_usecs(p_proft.it_value.tv_sec,
+                              p_proft.it_value.tv_usec) / 1000);
+            printf("Parent fib = %ld, user time = %ld sec, %ld msec\n",
+                fib, p_virtt_secs,
+                elapsed_usecs(p_virtt.it_value.tv_sec,
+                              p_virtt.it_value.tv_usec) / 1000);
+
+            printf("Parent fib = %ld, kernel time = %ld sec, %ld msec\n",
+                fib, delta_time(p_proft, p_virtt),
+                (elapsed_usecs(p_proft.it_value.tv_sec,
+                               p_proft.it_value.tv_usec) / 1000) -
+                (elapsed_usecs(p_virtt.it_value.tv_sec,
+                               p_virtt.it_value.tv_usec) / 1000));
+            fflush(stdout);
+            exit(0);
+        }
+    }
+    return(0);
+}
+
+static void p_sig_handler(int signo) {
+    printf("Signal handler parent, signal %i\n", signo);
+    switch (signo) {
+    case SIGALRM:
+        p_realt_secs++;
+        break;
+        ;;
+    case SIGVTALRM:
+        p_virtt_secs++;
+        break;
+    case SIGPROF:
+        p_proft_secs++;
+        break;
+        ;;
+    }
+}
+
+static void c1_sig_handler(int signo) {
+    printf("Signal handler child 1, signal %i\n", signo);
+    switch (signo) {
+    case SIGALRM:
+        c1_realt_secs++;
+        break;
+        ;;
+    case SIGVTALRM:
+        c1_virtt_secs++;
+        break;
+    case SIGPROF:
+        c1_proft_secs++;
+        break;
+        ;;
+    }
+}
+
+static void c2_sig_handler(int signo) {
+    printf("Signal handler child 2, signal %i\n", signo);
+    switch (signo) {
+    case SIGALRM:
+        c2_realt_secs++;
+        break;
+        ;;
+    case SIGVTALRM:
+        c2_virtt_secs++;
+        break;
+    case SIGPROF:
+        c2_proft_secs++;
+        break;
+        ;;
+    }
+}
+
+long unsigned int elapsed_usecs(long sec, long usec) {
+    return( sec * 1000 + usec);
+}
+
+long unsigned int delta_time(struct itimerval proft,
+                             struct itimerval realt) {
+    long p_usec = proft.it_value.tv_usec;
+    long r_usec = proft.it_value.tv_usec;
+    if ( p_usec > r_usec )
+        return (p_usec - r_usec);
+    /* else */
+    return (p_usec - r_usec);
+}
+
+long unsigned int fibonacci(unsigned int n) {
+    if (n == 0)
+        return 0;
+    else if (n == 1 || n == 2)
+        return 1;
+    else
+        return(fibonacci(n-1) + fibonacci(n-2));
+}
+
Index: /liacs/os/assignment4/Makefile
===================================================================
--- /liacs/os/assignment4/Makefile	(revision 2)
+++ /liacs/os/assignment4/Makefile	(revision 2)
@@ -0,0 +1,14 @@
+# Rick van der Zwet
+# 0433373
+# OS Assigment 3
+# Licence: BSD
+# $Id: Makefile 540 2008-04-01 20:51:39Z rick $
+
+CFLAGS=-Wall -g -lpthread
+PROGRAMS=assignment4a assignment4b assignment4c
+
+
+all: $(PROGRAMS)
+
+clean:
+	rm -Rf $(PROGRAMS)
Index: /liacs/os/assignment4/README
===================================================================
--- /liacs/os/assignment4/README	(revision 2)
+++ /liacs/os/assignment4/README	(revision 2)
@@ -0,0 +1,44 @@
+# Rick van der Zwet
+# 0433373
+# OS Assigment 4
+# Licence: BSD
+# $Id: README.txt 540 2008-04-01 20:51:39Z rick $
+
+
+= Intro =
+File compiled on mac os x, gcc 4.0.1, and linux gcc 4.1.2. 
+
+
+
+= Files =
+Makefile         =   Makefile to generate executables of C code
+assignment4a.c   =   Source code part A
+assignment4b.c   =   Source code part B
+assignment4c.c   =   Source code part C
+README.txt       =   Currently reading
+
+= Part A =
+
+It measurement times varies between 1 clocktick and 20000. It kind of
+depends on the OS when it swiches to a different thread and at which
+point.
+
+= Part B =
+No need for mutexes as processes will only write one variables and read
+the other ones. No variable is needed to be written by 2 threads. So
+simple checking when something is changed is suffient
+
+= Part C =
+Peterson's algoritm is very well documented at
+http://en.wikipedia.org/wiki/Peterson's_algorithm which include a rather
+advanced example of locking and editing. In our consumer/producer world
+are things way more easy. So locking/unlocking is relatively simple
+done, due the fact we are context switching between one consumer and
+one producer. There are no multiples.
+
+= Part D =
+Think of specilized threads inside a program waiting to do a difficult
+computation. The UI detects difficult program, passes the formula into
+'worker' thread and get the result when done.
+
+
Index: /liacs/os/assignment4/assignment4a.c
===================================================================
--- /liacs/os/assignment4/assignment4a.c	(revision 2)
+++ /liacs/os/assignment4/assignment4a.c	(revision 2)
@@ -0,0 +1,73 @@
+/*
+ * Rick van der Zwet
+ * 0433373
+ * OS Assigment 3 - Part A
+ * Licence: BSD
+ * $Id: assignment4a.c 539 2008-04-01 20:23:55Z rick $
+ */
+
+#include <sysexits.h>
+#include <stdlib.h>
+#include <pthread.h>
+#include <stdio.h>
+#include <unistd.h>
+
+#define MAXCOUNTER 999999
+
+struct thread_data {
+    int *account1;
+    int *account2;
+    int threadid;
+};
+
+static int go_quit = 0;
+
+void *balance(void *threadarg) {
+    struct thread_data *my_data;
+    my_data = (struct thread_data *) threadarg;
+
+    int counter, temp1, temp2, amount;
+    int *account1, *account2;
+    account1 = my_data->account1;
+    account2 = my_data->account2;
+
+    counter = 0;
+    do {
+        temp1 = *account1;
+        temp2 = *account2;
+        amount = random() % 100;
+//        printf("%i - %i: Temp1 %i, temp2 %i, amount %i\n", my_data->threadid,
+//               counter, temp1, temp2, amount);
+        *account1 = temp1 - amount;
+        *account2 = temp2 + amount;
+        counter++;
+    } while (*account1+*account2 == 0  && counter < MAXCOUNTER && go_quit == 0);
+    if (go_quit == 0) {
+        printf("counter: %i\n", counter);
+        go_quit = 1;
+    }
+    pthread_exit(NULL);
+}
+
+
+
+int main (int argc, char * argv[]) {
+
+    pthread_t thread0, thread1;
+    int account1, account2;
+    struct thread_data thread0_data, thread1_data;
+    thread0_data.account1 = &account1;
+    thread0_data.account2 = &account2;
+    thread0_data.threadid = 0;
+    thread1_data.account1 = &account1;
+    thread1_data.account2 = &account2;
+    thread1_data.threadid = 1;
+
+    account1 = 0;
+    account2 = 0;
+    pthread_create(&thread0, NULL, balance, (void *) &thread0_data);
+    pthread_create(&thread1, NULL, balance, (void *) &thread1_data);
+
+    pthread_exit(NULL);
+    return(EX_OK);
+}
Index: /liacs/os/assignment4/assignment4b.c
===================================================================
--- /liacs/os/assignment4/assignment4b.c	(revision 2)
+++ /liacs/os/assignment4/assignment4b.c	(revision 2)
@@ -0,0 +1,53 @@
+
+
+#include <sysexits.h>
+#include <stdlib.h>
+#include <pthread.h>
+#include <stdio.h>
+#include <unistd.h>
+
+
+static int x = 0;
+static int y = 0;
+
+void *procA() {
+    int local_y = 0;
+
+    //write to x, then wait till y got updated
+    for ( ;; ) {
+        x++;
+        while ( y == local_y ) { usleep(1); }
+        local_y = y;
+
+    }
+    pthread_exit(NULL);
+}
+
+void *procB() {
+    int local_x = 0;
+
+    //wait till x got updated, then write to y
+    for ( ;; ) {
+        while ( x == local_x ) { usleep(1); }
+        local_x = x;
+        y++;
+    }
+    pthread_exit(NULL);
+}
+
+
+int main (int argc, char * argv[]) {
+
+    //create 2 threads
+    pthread_t thread0, thread1;
+    pthread_create(&thread0, NULL, procA, NULL);
+    pthread_create(&thread1, NULL, procB, NULL);
+
+    //debugging
+    for ( ;; ) {
+        printf("x:%i y:%i\n", x, y);
+        sleep(1);
+    }
+    pthread_exit(NULL);
+    return(EX_OK);
+}
Index: /liacs/os/assignment4/assignment4c.c
===================================================================
--- /liacs/os/assignment4/assignment4c.c	(revision 2)
+++ /liacs/os/assignment4/assignment4c.c	(revision 2)
@@ -0,0 +1,65 @@
+
+
+#include <sysexits.h>
+#include <stdlib.h>
+#include <pthread.h>
+#include <stdio.h>
+#include <unistd.h>
+
+
+static int x = 0;
+static int y = 0;
+
+static int flagA = 0;
+static int flagB = 0;
+static int turn = 0;
+
+
+//Consumer
+void *procA() {
+    for ( ;; ) {
+        //hungry, ask cheff to prepare something
+        flagA = 1;
+        turn = 1;
+        while ( flagB && turn == 1 ) { usleep(1); }
+        //eat
+        printf("Turn A\n");
+        y = 0;
+        flagA = 0;
+
+
+
+    }
+    pthread_exit(NULL);
+}
+
+//Producer
+void *procB() {
+    for ( ;; ) {
+        //prepare food, and allow eating
+        flagB = 1;
+        turn = 0;
+        while ( flagA && turn == 0 ) { usleep(1); }
+        printf("Turn B\n");
+        y = 1;
+        flagB = 0;
+    }
+    pthread_exit(NULL);
+}
+
+
+int main (int argc, char * argv[]) {
+
+    //create 2 threads
+    pthread_t thread0, thread1;
+    pthread_create(&thread0, NULL, procA, NULL);
+    pthread_create(&thread1, NULL, procB, NULL);
+
+    //debugging
+    for ( ;; ) {
+        printf("flagA:%i flagB:%i turn:%i, y:%i\n", flagA, flagB, turn, y);
+        sleep(1);
+    }
+    pthread_exit(NULL);
+    return(EX_OK);
+}
Index: /liacs/os/assignment5/README
===================================================================
--- /liacs/os/assignment5/README	(revision 2)
+++ /liacs/os/assignment5/README	(revision 2)
@@ -0,0 +1,48 @@
+# Rick van der Zwet
+# 0433373
+# OS Assigment 6
+# Licence: BSD
+# $Id: README.txt 619 2008-05-19 19:35:46Z rick $
+
+
+= Intro =
+Using Ubuntu server 8.04 in Parallels Desktop under Mac OS X. Will
+follow the official way of ubuntu of building, compiling and installing
+kernels as described at https://help.ubuntu.com/community/Kernel/Compile
+(nb all command below ran as root)
+
+Instead of using version 2.6.21.3 I used 2.6.24 (as other version is no
+longer available in standard set) , indentifier flag has been put in
+step 3, will be defined using compile time.
+
+= Step 1 - preparation =
+#Prefetch required packages
+$apt-get install linux-kernel-devel fakeroot build-essential
+#Get source
+$apt-get install linux-source
+$cd /usr/src
+$tar -xvjf /usr/src/linux-source-2.6.24.tar.bz2
+$ln -s linux-source-2.6.24 linux
+
+= Step 2 - configure =
+#Fetch old config and re-use
+$cd /usr/src/linux
+$cp -vi /boot/config-`uname -r` .config
+
+= Step 3 - compile & install =
+$fakeroot make-kpkg --initrd --append-to-version=-liacs-os-assignment-5 kernel-image kernel-headers
+dpkg -i linuxlinux-headers-2.6.24.3-liacs-os-assignment-5_2.6.24.3-liacs-os-assignment-5-10.00.Custom_i386.deb
+dpkg -i linux-image-2.6.24.3-liacs-os-assignment-5_2.6.24.3-liacs-os-assignment-5-10.00.Custom_i386.deb
+#Update grub
+$ update-grub
+#Reboot and choose new kernel to boot
+$ reboot
+
+
+
+
+
+
+
+
+
Index: /liacs/os/assignment6/README
===================================================================
--- /liacs/os/assignment6/README	(revision 2)
+++ /liacs/os/assignment6/README	(revision 2)
@@ -0,0 +1,53 @@
+# OS Assignment 6
+# Rick van der Zwet - 0433373
+# $Id: README.txt 619 2008-05-19 19:35:46Z rick $
+
+# Please let me know if you are also interested in the actual diff of
+# the files if those brief outputs are not sufficient
+
+# WARNING: Using different system, Ubuntu Linux under Parallels, kernel
+# version 2.6.24.3 on a x86 system
+$ cd /usr/src/linux/kernel
+$ vim sys.c
+
+# Syscall lives in different location
+$ vim arch/x86/kernel/syscall_table_32.S
+code: .long sys_multiply              /* 325 *
+
+# __NR_syscall_max has been replaced by NR_syscalls in file
+$ vim include/asm/unistd_32.h
+
+# include/linux/syscalls.h does not need to be altered anymore, as it
+# directly links to include/asm/unistd_32.h
+
+# Build new kernel
+
+#Code used:
+=== BEGIN CODE ===
+#include <stdio.h>
+#include <sysexits.h>
+#include <unistd.h>
+int main() {
+    printf("6 * 7 = %li\n", syscall(325, 6, 7));
+    return(EX_OK);
+}
+=== END CODE ===
+$ gcc -Wall -o syscall-test syscall-test.c
+$ ./syscall-test
+# When calling it on original kernel the output is `6 * 7 = -1', the
+# `-1' is in fact syscall error return code, due the fact the syscall
+# does not exists yet
+
+# Install new kernel and reboot
+$ ./syscall-test
+# After rebooting the output is set to be `6 * 7 = 42`
+$ time ./syscall-test
+# when using larger numbers and `time' to measure output it will become
+# clear the program is spending almost all of his time in sys(tem) mode.
+
+
+
+
+
+
+
Index: /liacs/os/assignment7/README
===================================================================
--- /liacs/os/assignment7/README	(revision 2)
+++ /liacs/os/assignment7/README	(revision 2)
@@ -0,0 +1,64 @@
+Student: Rick van der Zwet - 0433373
+
+> Question 1: Estimate the space to store 10^10 float numbers, using the
+> following cases, take in count to minimize the storage costs, while
+> preserving the full number accuracy.
+
+I take a float to be single precision (called float in C language) as
+the definition of float. This occupied 32 bits (4 bytes), and has got
+a significand precision of 24 bits (7 decimal digits)
+source: http://en.wikipedia.org/wiki/IEEE_754-1985
+To store integers of max 10^10, there is a need of a 64 bit integer
+(also called long)
+source: http://en.wikipedia.org/wiki/Integer_%28computer_science%29
+
+> a)  We store the float numbers together with their integer index as
+>     characters in a flat CSV file.
+
+Each line will look like: <index>,<float><newline>. The max numbers
+of characters of <index> will be 11, <float> will take up 7 and 1 extra
+as delimiter. Extra on every line will be 2, due to the delimiters. So 1
+line will contain 11 + 8 + 2 = 21 characters. In total 10^10 * 21. If
+you choose to use the line number as index number you will only need 8
++1 * 10^10 characters, which is roughly (1 char = 4 bytes) 36 * 10^10
+
+> b)  We store the numbers together with their index in a MySQL database.
+>     Make your choice between FLOAT, DOUBLE types for the numbers and
+>     SIGNED/UNSIGNED TINYINT indeces.
+
+UNSIGNED is the best choice as we are not dealing with negative
+numbers, the index is by default set in a mysql table as it it used to
+refer to the data. A FLOAT takes up 4 bytes a DOUBLE 8 bytes. So roughly
+in total it takes up (8 + 1) * 10^10 bytes. You could enlarge your FLOAT
+to gain more persision, or make it general to make sure you will only
+start loose presition after 53 digits.
+source: http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html
+source: http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html
+
+> c)  We store the numbers in a binary format of your own together with
+>     indeces.
+
+After storing all numbers in just the simplest format as posible,
+float numbers next after eachother with a delimiter in between,would
+make it most effient. 
+
+
+> Question 2: Giving the following cases, make some rough estimations the
+> time necessary to compute 10^10 association tests. 
+
+Results in days,years are rounded.
+Case    |   each test in sec  | Total/sec | Total/days | Total/years
+--------|---------------------|-----------|------------|------------
+a)      |   1                 | 10^10     | 115.740    | 317
+b)      |   0.1               | 10^9      |  11.574    | 32
+c)      |   0.01              | 10^8      |   1.157    | 3
+d)      |   0.001             | 10^7      |     116    | 0
+
+> Question 3: Create a user-space envirionment for the free scientific
+> computation envirionment R.
+
+The shell script attached will create the envirionment. Commented parts
+shows what's currently going on. I have had a create help of the
+README.txt and INSTALL.txt which came with the software packages
+
+
Index: /liacs/os/assignment7/os-assignment7.sh
===================================================================
--- /liacs/os/assignment7/os-assignment7.sh	(revision 2)
+++ /liacs/os/assignment7/os-assignment7.sh	(revision 2)
@@ -0,0 +1,48 @@
+#!/bin/sh
+# Operating systems - assignment 7
+# Rick van der Zwet - 0433373
+# $Id: os-assignment7.sh 619 2008-05-19 19:35:46Z rick $
+
+# a) Create temponary work directory
+WORKDIR="$HOME/os-assignment7"
+mkdir $WORKDIR
+cd $WORKDIR
+mkdir download
+cd download
+# b) Userspace MySQL install
+## Fetch & Unpack
+wget http://mysql.proserve.nl/Downloads/MySQL-5.0/mysql-5.0.51b.tar.gz
+tar -xzf mysql-5.0.51b.tar.gz
+## Configure & Compile
+cd mysql-5.0.51b
+./configure --prefix=$WORKDIR --enable-static --disable-shared
+make
+## Install
+make install
+# c) Userspace R install
+## Fetch & Unpack
+cd $WORKDIR/download
+wget http://cran.r-project.org/src/base/R-2/R-2.7.0.tar.gz
+tar -xzf R-2.7.0.tar.gz
+## Configure & Compile
+cd R-2.7.0
+./configure --prefix=$WORKDIR
+make
+## Install
+make install
+
+## Fetch libaries
+cd $WORKDIR/download
+wget http://cran.r-project.org/src/contrib/DBI_0.2-4.tar.gz
+wget http://cran.r-project.org/src/contrib/RMySQL_0.6-0.tar.gz
+
+## Install libaries
+$WORKDIR/download/R-2.7.0/bin/R CMD INSTALL $WORKDIR/download/DBI_0.2-4.tar.gz
+$WORKDIR/download/R-2.7.0/bin/R CMD INSTALL \
+    --configure-args="--with-mysql-dir=$WORKDIR" \
+    $WORKDIR/download/RMySQL_0.6-0.tar.gz
+
+# All done!
+echo "All done!"
+
+
Index: /liacs/penc/assignment1/Makefile
===================================================================
--- /liacs/penc/assignment1/Makefile	(revision 2)
+++ /liacs/penc/assignment1/Makefile	(revision 2)
@@ -0,0 +1,21 @@
+# Rick van der Zwet
+# 0433373
+# XXX Assignment XXX
+# Licence: BSD
+# $Id: Makefile 573 2008-04-21 20:58:12Z rick $
+
+include latex.mk
+
+CFLAGS+=-Wall -g
+PROGRAMS=XXX
+
+all: $(PROGRAMS)
+
+clean:
+	rm -Rf $(PROGRAMS)
+
+debug:
+	@sh -c 'while [ "true" ]; do make clean && make && ./${PROGRAMS}; echo -n "Completed: "; date; sleep 5; done'
+
+ones: $(PROGRAMS)
+	@sh -c ./$(PROGRAMS)
Index: /liacs/penc/assignment1/latex.mk
===================================================================
--- /liacs/penc/assignment1/latex.mk	(revision 2)
+++ /liacs/penc/assignment1/latex.mk	(revision 2)
@@ -0,0 +1,54 @@
+# Rick van der Zwet <rick@wzoeterwoude.net>
+# Licence: BSD
+# Descrip: LaTex file parser
+# $Id: latex.mk 573 2008-04-21 20:58:12Z rick $
+
+TARGET = report
+LATEX = latex
+XDVI = xdvi
+TEX = latex -halt-on-error
+DVIPDF = dvipdf
+ASPELL = aspell
+ASPELL_ARGS = -c --mode=tex
+.SUFFIXES: .pdf
+
+help:
+	@echo "Usage Makefile <option>"
+
+doc-all: doc-distclean buildpdf
+
+view: viewpdf
+
+viewdvi: builddvi
+	$(XDVI) $(TARGET)
+
+builddvi: $(TARGET).dvi
+
+doc-clean:
+	rm -vf *.aux *.log *toc *.out *.bak
+
+doc-distclean: doc-clean
+	rm -vf $(TARGET).dvi $(TARGET).pdf $(PROGRAM)
+
+buildpdf: $(TARGET).pdf
+
+viewpdf: buildpdf
+	xpdf $(TARGET).pdf
+
+spell: spell-en
+
+spell-nl: $(TARGET).tex
+	$(ASPELL) -l nl -p ~/aspell-n.dic $(ASPELL_ARGS) $<
+
+spell-en: $(TARGET).tex
+	$(ASPELL) -l en -p ~/aspell-en.dic $(ASPELL_ARGS) $<
+
+.dvi.pdf:
+	$(DVIPDF) $? $@
+
+.tex.dvi:
+	$(TEX) $? $@
+	$(TEX) $? $@
+
+.gs.png:
+	$(GNUPLOT) $?
Index: /liacs/penc/assignment1/report.tex
===================================================================
--- /liacs/penc/assignment1/report.tex	(revision 2)
+++ /liacs/penc/assignment1/report.tex	(revision 2)
@@ -0,0 +1,101 @@
+%
+% $Id: report.tex 573 2008-04-21 20:58:12Z rick $
+%
+
+\documentclass[12pt,a4paper]{article}
+
+\frenchspacing
+\usepackage[english]{babel}
+\selectlanguage{english}
+\usepackage{url}
+\usepackage{multicol}
+\usepackage{graphics}
+
+% Include tikz,pdf drawing package
+\usepackage{pgf,tikz}
+\usetikzlibrary{automata,arrows,positioning}
+\usetikzlibrary{shapes.multipart}
+
+\author{Rick van der Zwet, Universiteit Leiden}
+\title{XXX \\
+\large{XXX}}
+\author{Rick van der Zwet\\
+  \texttt{<hvdzwet@liacs.nl>}\\
+  \\
+  LIACS\\
+  Leiden University\\
+  Niels Bohrweg 1\\
+  2333 CA Leiden\\
+  The Netherlands}
+\date{\today}
+
+\begin{document}
+\maketitle
+
+\begin{center}
+\begin{figure}[!ht]
+\includegraphics[width=\textwidth]{0007_en_deadlock}
+\caption{0xBABAF000L --- http://tnerual.eriogerg.free.fr/0xBABAF000L/index.html}
+\label{fig:deadlock}
+\end{figure}
+\end{center}
+
+Figure~\ref{fig:fork} shows the different states a fork could get, while
+Figure~\ref{fig:phil} states the Philosopher, the string of length
+states the state of $Fork_i Fork_{i+1} Hungry$.The Philosopher $i$ has got
+$Fork_i$ laying left of him and $Fork_{i+1}$ on his right. In total
+there are $n$ Philosophers. The last one in the circle number $n$ has
+got a special case, cause his right fork is $Fork_0$
+
+\begin{figure}[!ht]
+\begin{center}
+\begin{tikzpicture}[shorten >=1pt,node distance=3cm,on grid,auto]
+\node[state,initial]    (A)              {Free};
+\node[state]            (B) [below=of A]      {Taken};
+\path[->]   (A) edge [bend left] node {} (B)
+            (B) edge [bend left] node {} (A);
+\end{tikzpicture}
+\end{center}
+\caption{Kripke structure $Fork_i$}
+\label{fig:fork}
+\end{figure}
+
+\begin{figure}[!ht]
+\begin{center}
+\begin{tikzpicture}[shorten >=1pt,node distance=3cm,on grid,auto]
+\node[state with output, initial] (A) {Thinking \nodepart{lower} $000$};
+\node[state with output] (B) [below right=of A] {Hungry \nodepart{lower} $001$};
+\node[state with output] (C) [below left=of B] {Waiting \nodepart{lower} $011$};
+\node[state with output] (D) [below left=of A] {Eating  \nodepart{lower} $111$};
+\path[->]   (A) edge [bend left] node {} (B)
+            (B) edge [bend left] node {} (C)
+            (C) edge [bend left] node {} (D)
+            (D) edge [bend left] node {} (A);
+\end{tikzpicture}
+\end{center}
+\caption{Kripke structure $Philosophers_i$}
+\label{fig:phil}
+\end{figure}
+
+
+
+%\begin{thebibliography}{10}
+%\end{thebibliography}
+% \advance\textwidth by 8cm
+% \advance\oddsidemargin by -3cm
+% \advance\evensidemargin by -3cm
+% \advance\topmargin by -2cm
+% \advance\textheight by 4cm
+% \advance\footskip by -4cm
+% \marginparwidth 0cm
+% \twocolumn
+% \section*{Appendix}
+% De NN code en pre-parse.pl code  zagen er als volgt uit:
+% \newline
+% \tiny
+% %preformatted with `source-highlight -n -f latex bridge.cc`
+% \input{nn.c}
+% \input{data/pre-parse.pl}
+% \onecolumn
+
+\end{document}
Index: /liacs/penc/slides/gv-command.sh
===================================================================
--- /liacs/penc/slides/gv-command.sh	(revision 2)
+++ /liacs/penc/slides/gv-command.sh	(revision 2)
@@ -0,0 +1,5 @@
+#!/bin/sh
+gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=penc_all.pdf -dBATCH \
+penc_0.pdf penc_1.pdf penc_2.pdf penc_3.pdf penc_3b.pdf penc_4.pdf \
+penc_5.pdf penc_6.pdf penc_7.pdf penc_8.pdf penc_9.pdf penc_10.pdf \
+penc_11.pdf penc_12.pdf penc_13.pdf \
Index: /liacs/pm/.qmake.internal.cache
===================================================================
--- /liacs/pm/.qmake.internal.cache	(revision 2)
+++ /liacs/pm/.qmake.internal.cache	(revision 2)
@@ -0,0 +1,21 @@
+[check]
+QMAKE_CACHE_VERSION = 1.03a
+QMAKE_ABSOLUTE_SOURCE_PATH = 
+MOC_DIR = 
+UI_DIR = 
+UI_HEADERS_DIR = 
+UI_SOURCES_DIR = 
+[depend]
+classetest.cc = 
+mastermind.cc = 
+oefpoint.cc = 
+sorteren.cc = 
+test.cc = 
+test.cpp = 
+[mocable]
+classetest.cc = *qmake_ignore*
+mastermind.cc = *qmake_ignore*
+oefpoint.cc = *qmake_ignore*
+sorteren.cc = *qmake_ignore*
+test.cc = *qmake_ignore*
+test.cpp = *qmake_ignore*
Index: /liacs/pm/Makefile
===================================================================
--- /liacs/pm/Makefile	(revision 2)
+++ /liacs/pm/Makefile	(revision 2)
@@ -0,0 +1,143 @@
+#############################################################################
+# Makefile for building: pm1
+# Generated by qmake (1.03a) on: Fri Dec 10 12:08:48 2004
+# Project:  pm1.pro
+# Template: app
+# Command: $(QMAKE) pm1.pro
+#############################################################################
+
+####### Compiler, tools and options
+
+CC       = gcc
+CXX      = g++
+LEX      = flex
+YACC     = yacc
+CFLAGS   = -pipe -Wall -W -I/usr/include/freetype2 -I/usr/include/freetype2/freetype -O2 -march=i386 -mcpu=i686 -fno-use-cxa-atexit -fno-exceptions  -DQT_NO_DEBUG
+CXXFLAGS = -pipe -Wall -W -I/usr/include/freetype2 -I/usr/include/freetype2/freetype -O2 -march=i386 -mcpu=i686 -fno-use-cxa-atexit -fno-exceptions  -DQT_NO_DEBUG
+LEXFLAGS = 
+YACCFLAGS= -d
+INCPATH  = -I$(QTDIR)/include -I$(QTDIR)/mkspecs/default
+LINK     = g++
+LFLAGS   = 
+LIBS     = $(SUBLIBS)  -L$(QTDIR)/lib  -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm
+AR       = ar cqs
+RANLIB   = 
+MOC      = $(QTDIR)/bin/moc
+UIC      = $(QTDIR)/bin/uic
+QMAKE    = qmake
+TAR      = tar -cf
+GZIP     = gzip -9f
+COPY     = cp -f
+COPY_FILE= $(COPY) -p
+COPY_DIR = $(COPY) -pR
+DEL_FILE = rm -f
+SYMLINK  = ln -sf
+DEL_DIR  = rmdir
+MOVE     = mv
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+HEADERS = 
+SOURCES = classetest.cc \
+		mastermind.cc \
+		oefpoint.cc \
+		sorteren.cc \
+		test.cc \
+		test.cpp
+OBJECTS = classetest.o \
+		mastermind.o \
+		oefpoint.o \
+		sorteren.o \
+		test.o \
+		test.o
+FORMS = 
+UICDECLS = 
+UICIMPLS = 
+SRCMOC   = 
+OBJMOC = 
+DIST	   = pm1.pro
+QMAKE_TARGET = pm1
+DESTDIR  = 
+TARGET   = pm1
+
+first: all
+####### Implicit rules
+
+.SUFFIXES: .c .cpp .cc .cxx .C
+
+.cpp.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.cc.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.cxx.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.C.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.c.o:
+	$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
+
+####### Build rules
+
+all: Makefile $(TARGET)
+
+$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) 
+	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)
+
+mocables: $(SRCMOC)
+
+$(MOC): 
+	( cd $(QTDIR)/src/moc ; $(MAKE) )
+
+Makefile: pm1.pro  $(QTDIR)/mkspecs/default/qmake.conf 
+	$(QMAKE) pm1.pro
+qmake: 
+	@$(QMAKE) pm1.pro
+
+dist: 
+	@mkdir -p .tmp/pm1 && $(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) .tmp/pm1/ && ( cd `dirname .tmp/pm1` && $(TAR) pm1.tar pm1 && $(GZIP) pm1.tar ) && $(MOVE) `dirname .tmp/pm1`/pm1.tar.gz . && $(DEL_DIR) .tmp/pm1
+
+mocclean:
+
+uiclean:
+
+clean:
+	-$(DEL_FILE) $(OBJECTS) 
+	-$(DEL_FILE) *~ core *.core
+
+
+####### Sub-libraries
+
+distclean: clean
+	-$(DEL_FILE) $(TARGET) $(TARGET)
+
+
+FORCE:
+
+####### Compile
+
+classetest.o: classetest.cc 
+
+mastermind.o: mastermind.cc 
+
+oefpoint.o: oefpoint.cc 
+
+sorteren.o: sorteren.cc 
+
+test.o: test.cc 
+
+test.o: test.cpp 
+
+####### Install
+
+install: all 
+
+uninstall: 
+
Index: /liacs/pm/Nim_MakeFile/Makefile
===================================================================
--- /liacs/pm/Nim_MakeFile/Makefile	(revision 2)
+++ /liacs/pm/Nim_MakeFile/Makefile	(revision 2)
@@ -0,0 +1,16 @@
+# Rick van der Zwet
+# Pascal de Vos 
+# Programeeropdracht 4 
+# De MakeFile
+all: NimStapel.o NimSpel.o nim.o
+	g++ -Wall NimStapel.o NimSpel.o nim.o -o nim
+
+NimStapel.o:
+	g++ -Wall -c NimStapel.cc
+NimSpel.o:
+	g++ -Wall -c NimSpel.cc
+nim.o:
+	g++ -Wall -c nim.cc 
+
+clean:
+	rm -f *.o nim
Index: /liacs/pm/Nim_MakeFile/NimSpel.cc
===================================================================
--- /liacs/pm/Nim_MakeFile/NimSpel.cc	(revision 2)
+++ /liacs/pm/Nim_MakeFile/NimSpel.cc	(revision 2)
@@ -0,0 +1,142 @@
+#include "NimSpel.h"
+#include <iostream>
+#include <cstdlib>
+
+using namespace std;
+
+NimSpel::NimSpel( ){
+  LaatsteZet_pt = NULL;
+  AantalZetten = 0;
+  
+  for(int i = 0; i < MaxStapels; i++) {
+    Stapels[i] = 0;
+  } //end for
+ 
+  //Bedacht en getest algoritme 
+  WinstArray[0][0] = 1;
+  WinstArray[0][1] = 0;
+  WinstArray[0][2] = 1;
+  WinstArray[1][0] = 1;
+  WinstArray[1][1] = 1;
+  WinstArray[1][2] = 0;
+  WinstArray[2][0] = 1;
+  WinstArray[2][1] = 1;
+  WinstArray[2][2] = 0;
+  for(int i = 3; i < MaxAantal + 1; i++){
+    WinstArray[i][0] = WinstArray[i-1][0] + WinstArray[i-2][0];
+    WinstArray[i][1] = WinstArray[i-1][2] + WinstArray[i-2][2];
+    WinstArray[i][2] = WinstArray[i][0] - WinstArray[i][1];
+  }
+} //end NimSpel::NimSpel
+
+
+
+void NimSpel::BeginWaarden(int StapelNummer, int Aantal) {
+	for (int i = 0; i < StapelNummer; i++) {
+		Stapels[i] = Aantal;
+	} //end for
+} //end NimSpel::BeginWaardes
+
+
+
+void NimSpel::PakWeg(int StapelNummer, int Aantal){
+  NimStapel * temp_pt;                          //
+  temp_pt = new NimStapel;                      //
+  temp_pt->VorigeZet_pt = LaatsteZet_pt;      //Zetten onthouden
+  LaatsteZet_pt = temp_pt;                    //
+  LaatsteZet_pt->StapelNummer = StapelNummer; //
+  LaatsteZet_pt->AantalEraf = Aantal;         //
+  AantalZetten++;                             //Max Zetten bijhouden
+  Stapels[StapelNummer] = Stapels[StapelNummer] - Aantal; 
+} //end NimSpel::NimSpel
+
+
+
+void NimSpel::ZetTerug(int AantalBeurten) {
+  int AantalStappen = AantalBeurten * 2;
+	NimStapel * temp_pt;
+  for(int i = 0; i < AantalStappen; i++) {
+    temp_pt = LaatsteZet_pt;
+    Stapels[temp_pt->StapelNummer] = Stapels[temp_pt->StapelNummer] + temp_pt->AantalEraf;
+    AantalZetten--;
+    LaatsteZet_pt = temp_pt->VorigeZet_pt;
+    delete temp_pt;
+  } //end for
+} //end NimSpel::ZetTerug
+
+void NimSpel::Winnend(int * StapelNummer, int * Aantal) {
+  *StapelNummer = -1;
+	*Aantal = -1;
+	double KansMax, KansMet1, KansMet2 = 0; //tempvariablen, voor het bepalen van de max
+  for(int i = 0; i < MaxStapels; i++) {
+    if (Stapels[i] > 0) {
+      KansMet1 = WinstArray[Stapels[i]-1][2] / WinstArray[Stapels[i]-2][0];
+    }
+    else {
+      KansMet1 = 0;
+    }//end if
+    
+    if (Stapels[i] > 1) {
+      KansMet2 = WinstArray[Stapels[i]-2][2] / WinstArray[Stapels[i]-2][0];
+    }
+    else {
+      KansMet2 = 0;
+    }//end if
+    
+    if(KansMet1 > KansMax) {
+      *Aantal = 1;
+      *StapelNummer = i;
+      KansMax = KansMet1;
+    }//end if
+    
+    if(KansMet2 > KansMax) {
+      *Aantal = 2;
+      *StapelNummer = i;
+      KansMax = KansMet2;
+    }//end if
+  }//end for
+}// end NimSpel::Winnnend  
+
+void NimSpel::RandomZet(const int AantalStapels, int * StapelNummer, int * Aantal) {
+	do {
+		*StapelNummer = int( double(AantalStapels) * rand()/(RAND_MAX+1.0) );
+		*Aantal = 1 + int( double(2) * rand()/(RAND_MAX+1.0) );
+	} //end do
+	while(Stapels[*StapelNummer] - *Aantal < 0);
+}//end NimSpel::RandomZet
+
+
+void NimSpel::DrukAfConsole( ){
+  system("clear"); //OS Dependent Line, for windows use 'system("cls");' instead. 
+  cout << endl << "   : ";
+  for(int i = 0; i < MaxStapels; i++) {
+    if (i < 10) {cout << " " << i << " | ";} else { cout << i << " | ";}
+  }//end for
+  for(int i = 1; i <= MaxAantal; i++) {
+    cout << endl;
+    if (i < 10) {cout << " " << i << " : ";} else { cout << i << " : ";}
+    for(int j = 0; j < MaxStapels; j++) {
+      if (i <= Stapels[j]) { cout << "XX | ";} else { cout << "   | ";}
+    }//end for
+  }//end for
+  cout << endl << endl;
+}//end NimSpelDrukAf
+
+bool NimSpel::ZetOnmogelijk(int StapelNummer, int AantalEraf) {
+	if ((Stapels[StapelNummer] - AantalEraf) < 0) {
+		return true;
+	}
+	else {
+		return false;
+	}
+} //end NimSpel::ZettMogelijk
+
+bool NimSpel::Afgelopen( ){
+  for(int i = 0; i < MaxStapels; i++) {
+    if (Stapels[i] > 0) { //als er nog ergens waardes aanwezig zijn
+      return (false);
+    }//end if
+  }//end if
+  return (true);
+}//end NimSpel::Afgelopen
+
Index: /liacs/pm/Nim_MakeFile/NimSpel.h
===================================================================
--- /liacs/pm/Nim_MakeFile/NimSpel.h	(revision 2)
+++ /liacs/pm/Nim_MakeFile/NimSpel.h	(revision 2)
@@ -0,0 +1,26 @@
+#include "NimStapel.h"
+static const int MaxStapels = 20;               //Maximale Aantal Stapels
+static const int MaxAantal = 20;                //Maximale Aantal Lucifers
+
+class NimSpel{
+  public:
+    NimSpel( );                                     //creator
+    ~NimSpel( ) { };                                //destructor
+    void BeginWaarden(int StapelNummer, int Aantal);//Zet waardes in de array
+		void PakWeg(int StapelNummer, int Aantal);      //Haal Aantal uit Stapels[StapelNummer]
+    void ZetTerug(int AantalStappen);               //Ga AantalStappen terug
+		void Winnend(int * StapelNummer, int * Aantal); //Win berekening
+	  void RandomZet(const int AantalStapels, int * StapelNummer, int * Aantal); //Random zet 
+    void DrukAfConsole( );                          //Druk Spel af
+   	bool ZetOnmogelijk(int StapelNummer, int AantalEraf);// Kijken of waarde doorgevoerd kan worden 
+    bool Afgelopen( );                          // Kijken af alles afgelopen is
+		
+		int AantalZetten;                               //aantal zetten dat gedaan is
+	private:
+    NimStapel * LaatsteZet_pt;                       //Pointer naar gegevens laatste zet
+    int Stapels[MaxStapels];                        //aantal luicifers per stapel
+    double WinstArray[MaxAantal + 1][3];  //slim berekende winst array voor winnend 'ai'
+    //[0] = totaal aantal mogelijkheden, [1] = aantal winnen, [2] = aantal verliezen
+    
+}; //end NimSpel
+
Index: /liacs/pm/Nim_MakeFile/NimStapel.cc
===================================================================
--- /liacs/pm/Nim_MakeFile/NimStapel.cc	(revision 2)
+++ /liacs/pm/Nim_MakeFile/NimStapel.cc	(revision 2)
@@ -0,0 +1,11 @@
+#include "NimStapel.h"
+#include <cstdlib>
+
+using namespace std;
+
+NimStapel::NimStapel( ){
+  StapelNummer = 0;      
+  AantalEraf = 0;         
+  VorigeZet_pt = NULL;    
+}// end NimStapel::NimStapel
+
Index: /liacs/pm/Nim_MakeFile/NimStapel.h
===================================================================
--- /liacs/pm/Nim_MakeFile/NimStapel.h	(revision 2)
+++ /liacs/pm/Nim_MakeFile/NimStapel.h	(revision 2)
@@ -0,0 +1,10 @@
+//Class die gebruikt wordt om terugzetten te realiseren
+class NimStapel{
+  public:
+    NimStapel( ); //creator
+    ~NimStapel( ) { }; 
+    int StapelNummer; //Nummer van de stapel waar het
+    int AantalEraf; //AantalEraf af is gegaan
+    NimStapel * VorigeZet_pt; //Pointer naar de zet ervoor, maakt stapelen mogelijk
+};// end NimData
+
Index: /liacs/pm/Nim_MakeFile/nim.cc
===================================================================
--- /liacs/pm/Nim_MakeFile/nim.cc	(revision 2)
+++ /liacs/pm/Nim_MakeFile/nim.cc	(revision 2)
@@ -0,0 +1,143 @@
+#include "NimSpel.h"
+#include <ctime>
+#include <iostream>
+using namespace std;
+
+//Zorgt dat de gebruiker enkel Min <= getallen <= Max in kan voeren
+int VoerInGetal(int Min, int Max){
+  int x = 0;
+	do {
+    if(!(cin >> x)) {
+			cout << "Enkel Cijfers aub" << endl;
+			cin.clear();
+			cin.ignore(10000,'\n');
+		}
+		else if (x > Max) {
+			cout << "Te groot getal" << endl;
+    } 
+	  else if (x < Min) {
+      cout << "Te klein getal" << endl;
+    }// end if
+  } // end do
+	while((x < Min) or (x > Max));
+	return x;
+} //end VoerInGetal 
+
+
+
+//Spelers Invoer, voor stapel en aantal 
+void SpelerOpConsole(const int AantalStapels, int * Stapel, int * Aantal){
+	cout << "Speler aan de beurt" << endl;
+	cout << "Welke stapel [0-" << (AantalStapels - 1) << "] : ";
+	*Stapel = VoerInGetal(0, AantalStapels - 1);
+	cout << "Hoeveel [1-2] : ";
+	*Aantal = VoerInGetal(1, 2);
+} //end SpelerOpConsole
+
+
+
+//Invoeren van variablen voor soort spelkeuze
+void InvoerVariablen(int * AantalStapels, int * AantalStokjes, bool * WinnendeZet, bool * CompWinnend) {   
+	cout << "Hoeveel stapels wilt u?" << endl
+			 << "Aantal: "; *AantalStapels = VoerInGetal(1,MaxStapels);
+
+	cout << "Hoeveel stokjes wilt u?" << endl
+			 << "Aantal: "; *AantalStokjes = VoerInGetal(1,MaxAantal);
+
+	cout << "Geef het niveau van de computer aan" << endl 
+       << "0) Random          								" << endl
+       << "1) Winnend Spelen  								" << endl
+			 << "Keuze: "; *CompWinnend = VoerInGetal(0,1);             
+
+  cout << endl
+			 << "Wilt u de winnende zetten zien?" << endl
+			 << "0) Nee													" << endl
+			 << "1) Ja													" << endl
+			 << "Keuze: "; *WinnendeZet = VoerInGetal(0,1);
+} //end InvoerVariablen
+
+
+
+
+//spel spelen op console
+void SpeelSpelOpConsole( ){
+	//init variablen (een keer kiezen, niet meer veranderen)
+	NimSpel Spelletje;										//Het spelletje
+	bool Winnend = false;									//Winnende zetten laten zien
+	bool CompWinnend = false;             //Computer winnend spelen
+	int AantalStapels = MaxStapels;				//aantal stapels die de gebruiker wil
+	int AantalStokjes = MaxAantal;				//aantal stokjes dat nodig is
+
+	//spel variablen
+	bool SpelerAanBeurt = false;					//True=speler is aan de beurt
+	int Stapel = 0;												//tijdelijke opslag StapelNummer
+	int Aantal = 0;												//tijdelijke opslag Aantal
+	char wait;														//om ENTER te kunnen realiseren
+	
+	//variablen invoeren
+	InvoerVariablen(&AantalStapels, &AantalStokjes, &Winnend, &CompWinnend);
+	Spelletje.BeginWaarden(AantalStapels, AantalStokjes);	
+	//spel beginnen
+	while (true) {       														//Eeuwige Loop
+		Spelletje.DrukAfConsole( );         					//Druk bord af
+		
+		if (Winnend) {																//winnende waarden laten zien
+			Spelletje.Winnend(&Stapel,&Aantal);			
+			cout << "Winnende Zet:							" << endl
+					 << "Stapel: " << Stapel					<< endl
+					 << "Aantal: " << Aantal << endl  << endl;
+		} //end if
+  	
+		SpelerAanBeurt = not(SpelerAanBeurt);					//speler wisselen
+		if (SpelerAanBeurt) {  												//speler aan de beurt
+			do {	
+				SpelerOpConsole(AantalStapels, &Stapel, &Aantal);
+				if (Spelletje.ZetOnmogelijk(Stapel, Aantal)) {
+					cout << "Geen Geldige Combinatie, probeer opnieuw" << endl;
+				} //end if
+			} //end do
+			while(Spelletje.ZetOnmogelijk(Stapel, Aantal));
+		}   
+    else {																				//computer aan de beurt
+			if (CompWinnend) {													//winnend spelen
+				Spelletje.Winnend(&Stapel, &Aantal);			
+			}
+			else {																			//random spelen
+				Spelletje.RandomZet(AantalStapels, &Stapel, &Aantal);
+			} //end if
+			cout << "Computer Keuze" 				<< endl
+  		 << "Stapel: " << Stapel			  << endl
+  		 << "Aantal: " << Aantal 				<< endl;
+		  cout << "Druk op ENTER...";								 	//uitvoer computer tonen
+			cin.clear();
+  		cin.ignore(10000,'\n');
+  		cin.get(wait); 
+		}	
+			Spelletje.PakWeg(Stapel, Aantal);						//zet verwerken
+			Spelletje.DrukAfConsole( );									//Score tonen	
+		
+		if (Spelletje.Afgelopen( )) {										//spel afgelopen
+			if (SpelerAanBeurt) {  
+    		cout << "Voila uw heeft GEWONNEN" << endl;
+  		}
+  		else {
+    		cout << "DE COMPUTER IS DE BESTE !!!" <<endl;
+			} //end if
+		break;
+		}	
+		else if (not(SpelerAanBeurt)){								//keuze zetten terug 
+			cout << endl << "De computer geeft gezet, ben u tevreden?"			 << endl 
+					 << "Maximaal terug te zetten beurten: " << (Spelletje.AantalZetten/2) << endl
+      		 << "'0' om gewoon door te gaan"	                     		   << endl
+       		 << "Aantal beurten: ";
+  		Spelletje.ZetTerug(VoerInGetal(0, (Spelletje.AantalZetten/2))); 
+		} //end if
+	} //end while 
+} //end SpeelSpelOpConsole 
+
+
+int main( ){
+	srand(time(0));     //elke keer andere random begin waarde
+	SpeelSpelOpConsole( ); //begin spel	
+}// end main
+
Index: /liacs/pm/backup/3xplus1.cc
===================================================================
--- /liacs/pm/backup/3xplus1.cc	(revision 2)
+++ /liacs/pm/backup/3xplus1.cc	(revision 2)
@@ -0,0 +1,154 @@
+#include <iostream>
+#include <ctime>
+using namespace std;
+
+const int MAX = 25;
+
+//Het maken van een random getal
+int randomgetal10000() { // tussen 0 en 9999
+  static int getal = time (NULL) % 10000;
+  getal = ( 621 * getal + 1 ) % 10000;
+  return getal;
+}
+
+class grootgetal {
+  public:
+    grootgetal();
+    ~grootgetal() { };
+    void vul(int aantal, int deelgetal);
+    void vulrandom(int aantal);
+    bool testop1();
+    bool iseven(int i);
+    bool maal3plus1();
+    void deeldoor2();
+    void vermoedentest();
+    void drukaf();
+  private:
+    int groot[MAX];
+};
+
+grootgetal::grootgetal() {
+  for (int i = 0; i < MAX; i++) {
+    groot[i] = 0;
+  } // end for
+} // end grootgetal::grootgetal
+
+void grootgetal::vul(int deelgetal, int aantal) {
+  for(int i = 0; i < aantal; i++) {
+    groot[i] = deelgetal;
+  } //end for
+} //end grootgetal::vul
+
+void grootgetal::vulrandom(int aantal) {
+  for (int i = 0; i < aantal; i++) {
+    groot[i] = randomgetal10000();
+  } // end for
+} // end grootgetal::vulrandom
+
+bool grootgetal::iseven(int i) {
+ return(not(groot[i] % 2));     
+} // end grootgetal::iseven
+
+void grootgetal::deeldoor2() {
+  int rest = 0;
+  for (int i = MAX - 1; i >= 0; i--) {
+    if (iseven(i)) {
+      groot[i] = groot[i]/2 + rest; 
+      rest = 0;
+    }
+    else {
+      groot[i] = groot[i]/2 + rest;
+      rest = 5000;
+    } // end if
+  } // end for
+} // end grootgetal::deeldoor2
+
+bool grootgetal::maal3plus1() { 
+  int rest = 1; // Alvast +1
+	
+  for(int i = 0; i < MAX; i++) { 
+		groot[i] = (groot[i] * 3) + rest;
+    if(groot[i] >= 10000){
+      rest = (groot[i] / 10000);
+      groot[i] = (groot[i] - (rest * 10000));
+    } 
+    else {
+      rest = 0;
+    } //end if
+  } //end for
+  
+  if (groot[MAX] > 9999) {
+    return (false);
+  }
+  else { 
+    return (true); 
+  } //end if
+  
+} //end grootgetal::maal3plus1    
+
+bool grootgetal::testop1() {
+  if (groot[0] == 1) {
+    for (int i = 1; i < MAX - 1; i++) {
+      if (groot[i] != 0) {
+        return (false);
+      } //end if
+    } //end for
+    return (true);
+  }
+  return (false);
+} //end grootgetal::testop1
+
+void grootgetal::vermoedentest() {
+  int aantalintaraties = 0; //aantal keer (3x+1) (/2) noodzakelijk
+  while (not(testop1())) {
+    
+    if ((aantalintaraties % 100) == 0) { 
+      cout << "Stap "; 
+      cout.width(6);
+      cout.fill(' ');
+      cout << aantalintaraties << ": "; 
+      drukaf(); 
+      cout << endl;
+    } //end if
+    
+    if (iseven(0)) {
+      deeldoor2();
+    }
+    else {
+      maal3plus1();
+    } //end if
+  
+    aantalintaraties++;
+    
+  } //end while
+  cout << "Totaal aantal intaraties: " << aantalintaraties << endl;;
+} //end grootgetal::vermoedentest()
+
+void grootgetal::drukaf() {
+  cout << groot[MAX - 1];
+  for (int i = MAX - 2; i >= 0; i--) {
+    if (groot[i] > 999) {
+      cout << groot[i];
+    }
+    else if (groot[i] > 99) {
+      cout << "0" << groot[i];
+    }
+    else if (groot[i] > 9) {
+      cout << "00" << groot[i];
+    } 
+    else {
+    cout << "000" << groot[i];
+    }//end if
+  } //end for
+} //end grootgetal::drukaf
+
+int main() {
+  cout << endl;
+  grootgetal BigGetal;
+  BigGetal.vul(123,5);
+  cout << endl;
+  BigGetal.vermoedentest();
+  cout << endl;
+  BigGetal.vulrandom(19);
+  BigGetal.vermoedentest();
+}
Index: /liacs/pm/backup/classetest.cc
===================================================================
--- /liacs/pm/backup/classetest.cc	(revision 2)
+++ /liacs/pm/backup/classetest.cc	(revision 2)
@@ -0,0 +1,39 @@
+#include <iostream>
+
+const int n = 20;
+
+class VoorPascal {
+public:
+	VoorPascal( );
+	~VoorPascal( ){cout << "dood"; }
+	void drukaf(int i);
+	void voegtoe(int i);
+	void erbij(int i);
+private:
+	bool inhoud[n];
+	int  test;
+};
+
+VoorPascal::VoorPascal() {
+	int i;
+	test = 10;
+	for(i =0; i < n; i++) {
+		inhoud[i] = false;
+	}
+}
+
+void VoorPascal::drukaf(int i) {
+cout <<  inhoud[i] << endl << test <<endl;
+
+}
+
+void VoorPascal::erbij(int i) {
+	inhoud[i] = true;
+}
+
+int main() {
+VoorPascal rick;
+rick.erbij(2);
+rick.drukaf(2);
+cout << "programma einde";
+}
Index: /liacs/pm/backup/code1.cc
===================================================================
--- /liacs/pm/backup/code1.cc	(revision 2)
+++ /liacs/pm/backup/code1.cc	(revision 2)
@@ -0,0 +1,6 @@
+if ( x == 0 ) { één
+er was eens een slash die zich in zijn eentje / in de regel bevond. 
+Hij was erg alleen, toen kreeg hij een vriendje / , deze stond enkel
+een stukje verwijdered van / die dus gewoon gecodeerd mocht worden
+dit gaat fout // rick
+testje
Index: /liacs/pm/backup/code1.cc.crp
===================================================================
--- /liacs/pm/backup/code1.cc.crp	(revision 2)
+++ /liacs/pm/backup/code1.cc.crp	(revision 2)
@@ -0,0 +1,6 @@
+xf27 +/=O/028 ./één
+w" *ps2te!# wtn2#ls#h2siw/z{rh2xn2*i|} wtn'ye2> {} vt %tgw{ ttv"}d@/
+H{y *ps2try/a~{ew},2$ow} }"ewv zxj2te!/v%xe!sjw//2; vtzw/s'~nv/e!ze~
+te!/s'%k|t )tr*xjvtrws )pn2> vxe2su&/gw'o"} ytc"sew"d2|ouwt2'o%se!
+si'/gspt2uo($ 
+'ts'ye
Index: /liacs/pm/backup/code1.cc.drp
===================================================================
--- /liacs/pm/backup/code1.cc.drp	(revision 2)
+++ /liacs/pm/backup/code1.cc.drp	(revision 2)
@@ -0,0 +1,6 @@
+if ( x == 0 ) { één
+er was eens een slash die zich in zijn eentje / in de regel bevond. 
+Hij was erg alleen, toen kreeg hij een vriendje / , deze stond enkel
+een stukje verwijdered van / die dus gewoon gecodeerd mocht worden
+dit gaat fout 
+testje
Index: /liacs/pm/backup/cr.sh
===================================================================
--- /liacs/pm/backup/cr.sh	(revision 2)
+++ /liacs/pm/backup/cr.sh	(revision 2)
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+if [ -x a.out ]; then 
+	rm a.out
+fi
+g++ -Wall -o a.out $1
+if [ -x a.out ]; then
+	./a.out
+fi
+
Index: /liacs/pm/backup/datum.cc
===================================================================
--- /liacs/pm/backup/datum.cc	(revision 2)
+++ /liacs/pm/backup/datum.cc	(revision 2)
@@ -0,0 +1,18 @@
+// datum.cc
+// Asking question about date-of-birth
+// Author Rick van der Zwet
+
+// v0.01 - 09-09-2004 at 10:59 by Rick van der Zwet
+// 		First init
+
+#include <iostream>
+#include <ctime>
+#include <string>
+using namespace std;
+
+int main( ) {
+	int Geboortejaar = 0;
+	cout << "Geef uw geboortejaar: ";
+	cin >> Geboortejaar;
+	cout << Geboortejaar;
+}
Index: /liacs/pm/backup/deelopdr2.cc
===================================================================
--- /liacs/pm/backup/deelopdr2.cc	(revision 2)
+++ /liacs/pm/backup/deelopdr2.cc	(revision 2)
@@ -0,0 +1,227 @@
+#include <iostream>
+#include <string>
+#include <fstream>
+
+using namespace std;
+
+void Intro() 
+{
+
+	cout	<< "---------------------------------------------" << endl
+			<< "|            University of Leiden           |" << endl
+			<< "|		Programmeermethoden opdracht 2		|" << endl
+			<< "|											|" << endl
+			<< "|				Gemaakt door:				|" << endl
+			<< "|			Rick van der Zwet				|" << endl
+			<< "|			Pascal de Vos					|" << endl
+			<< "|											|" << endl
+			<< "|											|" << endl
+			<< "|	Getest op:	Unix systeem (Sun OS)		|" << endl
+			<< "|				Windows systeem (Win XP)	|" << endl
+			<< "---------------------------------------------" << endl
+			<< endl;
+}
+
+				
+//encode.cc
+//het verwijderen van comments in een file en het coderen met een
+//bepaalde sleutel
+
+void Encode(string FileName, string FileNameOutput, string passwd)
+{
+	ifstream Invoer(FileName.c_str(), ios::in);
+	ofstream Uitvoer(FileNameOutput.c_str(), ios::out);
+	
+	char ch = ' '; //eerste karakter
+	int LetterPositie = 0;
+	int StringLengte = passwd.length() - 1;
+	int SlashAantal = 0;
+	bool Loop = false;
+	while (Invoer.get(ch)) 	//zolang er karacters in de file zitten
+	{
+		if (ch == 47)		//char is een slash
+		{
+			SlashAantal++;
+			if (SlashAantal == 2) //als er 2 slashjes achter elkaar staan
+			{
+				Loop = true;		
+				while(Loop == true) // ga net zolang char's uitlezen tot je aan het eind van de regel bent
+				{
+					Invoer.get(ch);
+					if (ch == 13) 
+					{
+						Uitvoer.put(ch);
+						Invoer.get(ch); //aanname LF na CR (Windows)
+					}
+					if (ch == 10)
+					{
+						Uitvoer.put(ch);
+						Loop = false;
+					}
+				}
+				SlashAantal = 0;
+			}
+		}
+	    else //char is geen slash
+		{
+			if (SlashAantal == 1) // er is maar een slash gevonden. Zorg er voor dat die toegevoegd aan de file wordt
+			{
+				Uitvoer.put(passwd[LetterPositie] - 'a' + '/');
+				if (LetterPositie < StringLengte) { LetterPositie++; } else { LetterPositie = 0; }
+				SlashAantal = 0;
+			}
+		
+			if (( ch <= '~' ) && ( ch >= ' ')) 
+			{ 
+				int EncodedChar = int(passwd[LetterPositie] - 'a' + ch);
+				if (EncodedChar > 126 ) 
+				{
+					EncodedChar = EncodedChar - 95;
+				}
+				Uitvoer.put(EncodedChar);
+				if (LetterPositie < StringLengte) { LetterPositie++; } else { LetterPositie = 0; }
+			}
+			else 
+			{
+				Uitvoer.put(ch);
+			}
+		}
+	}
+	
+	Invoer.close();
+	Uitvoer.close();
+
+} //end Encode
+
+void Decode(string FileName, string FileNameOutput, string passwd)
+{
+	ifstream Invoer(FileName.c_str(), ios::in);
+	ofstream Uitvoer(FileNameOutput.c_str(), ios::out);
+
+	char ch = ' '; 
+	int LetterPositie = 0;
+	int StringLengte = passwd.length() - 1;
+	int DecodedChar = 0;
+	cout << "test";	
+	while (Invoer.get(ch))
+	{
+		if (( ch <= '~' ) && ( ch >= ' '))
+		{
+			DecodedChar = int( ch - (passwd[LetterPositie] - 'a'));
+			
+			if (LetterPositie < StringLengte) { LetterPositie++; } else { LetterPositie = 0; }
+			
+			if (DecodedChar < 32 )
+			{
+				DecodedChar = DecodedChar + 95;
+			}
+			
+			Uitvoer.put(DecodedChar);
+		}
+		else
+		{
+			Uitvoer.put(ch);
+		}
+	}
+	Invoer.close();
+	Uitvoer.close();
+}
+
+//INVOER: Bestandnaam, woord te controleren, Of het woord vrij moet staan of niet.
+//UITVOER: Aantal keer dat het voorkomt.
+
+
+int WordCheck(string FileName, string Word, int Mogelijkheden)
+{
+	int AantalKeerWoord = 0;
+	int LetterPositie = 0;
+	char ch = ' ';
+	
+	if (Mogelijkheden = 1) //voeg spaties aan het begin en het eind toe en test daar op.
+	{
+		Word = " " + Word + " ";
+	}
+	const int WoordLengte = Word.length(); //deze blijft altijd identiek dus geen variable
+	
+	ifstream Invoer(FileName.c_str(),ios::in);
+	
+	while (Invoer.get(ch)) //zolang file invoer heeft
+	{
+		if (LetterPositie == WoordLengte) //controleer of er een match is. 
+		{
+			AantalKeerWoord++;
+			LetterPositie = 0;
+		}
+		
+		
+		if (ch == char(Word[LetterPositie])) //kijk of een character overeen komt met de gezochte in het woord
+		{
+			LetterPositie++;
+		}
+		else // anders weer opnieuw beginnen
+		{
+			LetterPositie = 0;
+		}
+	}
+	Invoer.close();
+	return(AantalKeerWoord);
+	
+}
+int main() 
+{
+	int GekozenOptie = 0;
+	string FileName = "";
+	string FileNameOutput = "";
+	string passwd = "";
+	
+	
+	//debug mode
+	FileName = "test";
+	cout << "aantal keer "  << WordCheck(FileName, "rick", "true") << endl;
+	return(0);
+	
+	
+	// Menu opties: (1) Encoderen
+	//				(2) Decoderen
+	// (1) --> FileName invoeren --> encodeer sleutel invoeren
+	// (2) --> FileName invoeren --> decodeer sleutel invoeren
+		
+	cout	<< "Kies uit de volgende opties:" << endl
+			<< "Encodeer een file (1)" << endl
+			<< "Decodeer een file (2)" << endl
+			<< "Beeindig het programma (q)" << endl
+			<< endl;
+
+	cin >> GekozenOptie;
+
+	if (GekozenOptie == 1) //door naar encoderen, filenamevrag in encoderen verwerken
+	{
+		cout << "voer de naam van de te coderen file in" << endl;
+		cin >> FileName;
+		cout << "En uw passwd" << endl;
+		cin >> passwd;
+		
+		FileNameOutput = FileName + ".crp";
+		Encode(FileName, FileNameOutput, passwd);
+		
+		return(0);
+	}
+	else if (GekozenOptie == 2)
+	{
+		cout << "Voer de naam van de te decoderen file in (eindigt op .crp)" << endl;
+		cin >> FileName;
+		cout << "En uw password" << endl;
+		cin >> passwd;
+
+
+		FileNameOutput = FileName;
+		FileNameOutput = FileNameOutput.erase(FileNameOutput.length() - 3) + "drp";
+		Decode(FileName, FileNameOutput, passwd);
+		return(0);
+	}
+	else
+	{
+		cout << "\nGoodbye\n";	
+		return(0);
+	}
+}
Index: /liacs/pm/backup/eerste.cc
===================================================================
--- /liacs/pm/backup/eerste.cc	(revision 2)
+++ /liacs/pm/backup/eerste.cc	(revision 2)
@@ -0,0 +1,12 @@
+//Hello world program
+// v0.01 - 07-09-2004 at 23:19 by Rick van der Zwet
+//		Initial Creation
+#include <iostream>
+using namespace std;
+int main ( ) {
+	cout << "Hello world" << endl;
+	return 0;
+} //main
+
+
+
Index: /liacs/pm/backup/encode.cc
===================================================================
--- /liacs/pm/backup/encode.cc	(revision 2)
+++ /liacs/pm/backup/encode.cc	(revision 2)
@@ -0,0 +1,122 @@
+//encode.cc
+//het verwijderen van comments in een file en het coderen met een
+//bepaalde sleutel
+//Autor: Rick van der Zwet
+
+#include <iostream>
+#include <fstream>
+#include <string>
+using namespace std;
+
+void Encode(string FileName, char passwd[]) 
+{
+	ifstream Invoer(FileName.c_str(), ios::in);
+	FileName += ".crp";
+	ofstream Uitvoer(FileName.c_str(), ios::out);
+	
+	char ch = ' '; //eerste karakter
+	int LetterPositie = 0;
+	int StringLengte = strlen(passwd) - 1;
+	int SlashAantal = 0;
+	bool Loop = false;
+	while (Invoer.get(ch)) 	//zolang er karacters in de file zitten
+	{
+		if (ch == 47)		//char is een slash
+		{
+			SlashAantal++;
+			if (SlashAantal == 2) //als er 2 slashjes achter elkaar staan
+			{
+				Loop = true;		
+				while(Loop == true) // ga net zolang char's uitlezen tot je aan het eind van de regel bent
+				{
+					Invoer.get(ch);
+					if (ch == 13) 
+					{
+						Uitvoer.put(ch);
+						Invoer.get(ch); //aanname LF na CR (Windows)
+					}
+					if (ch == 10)
+					{
+						Uitvoer.put(ch);
+						Loop = false;
+					}
+				}
+				SlashAantal = 0;
+			}
+		}
+	    else //char is geen slash
+		{
+			if (SlashAantal == 1) // er is maar een slash gevonden. Zorg er voor dat die toegevoegd aan de file wordt
+			{
+				Uitvoer.put(passwd[LetterPositie] - 'a' + '/');
+				if (LetterPositie < StringLengte) { LetterPositie++; } else { LetterPositie = 0; }
+				SlashAantal = 0;
+			}
+		
+			if (( ch <= '~' ) && ( ch >= ' ')) 
+			{ 
+				int EncodedChar = int(passwd[LetterPositie] - 'a' + ch);
+				if (EncodedChar > 126 ) 
+				{
+					EncodedChar = EncodedChar - 95;
+				}
+				Uitvoer.put(EncodedChar);
+				if (LetterPositie < StringLengte) { LetterPositie++; } else { LetterPositie = 0; }
+			}
+			else 
+			{
+				Uitvoer.put(ch);
+			}
+		}
+	}
+	
+	Invoer.close();
+	Uitvoer.close();
+
+} //end Encode
+
+void Decode(string FileName, char passwd[])
+{
+	ifstream Invoer(FileName.c_str(), ios::in);
+	FileName = "twst";
+	ofstream Uitvoer(FileName.c_str(), ios::out);
+
+	char ch = ' '; 
+	int LetterPositie = 0;
+	int StringLengte = strlen(passwd) - 1;
+	int DecodedChar = 0;
+	
+	while (Invoer.get(ch))
+	{
+		if (( ch <= '~' ) && ( ch >= ' '))
+		{
+			DecodedChar = int( ch - (passwd[LetterPositie] - 'a'));
+			
+			if (LetterPositie < StringLengte) { LetterPositie++; } else { LetterPositie = 0; }
+			
+			if (DecodedChar < 32 )
+			{
+				DecodedChar = DecodedChar + 95;
+			}
+			
+			Uitvoer.put(DecodedChar);
+		}
+		else
+		{
+			Uitvoer.put(ch);
+		}
+	}
+	Invoer.close();
+	Uitvoer.close();
+}
+
+
+
+int main() 
+{
+	char passwd[] = {'b', 'i', 'g'};
+	Encode("code1.cc", passwd);
+	Decode("code1.cc.crp", passwd);
+	return 0;
+} //end Main
+
Index: /liacs/pm/backup/mastermind.cc
===================================================================
--- /liacs/pm/backup/mastermind.cc	(revision 2)
+++ /liacs/pm/backup/mastermind.cc	(revision 2)
@@ -0,0 +1,171 @@
+#include <iostream>
+#include <ctime>
+#include <climits>
+using namespace std;
+
+
+// voorbeeld: 1/2/3/4
+// x = (randi()/250) + 1;
+int randi () { // tussen 0 en 999
+  static int getal = time (NULL) % 1000;
+  getal = ( 621 * getal + 1 ) % 1000;
+  return getal;
+}
+
+//'randomgetallen' volgens de functie x_nieuw=(a*x_oud+c)%m
+//om te zorgen dat getallen dubbel voorkomen wordt OudGetal erbijopgeteld 
+//(de tijd is te langzaam ;-) )
+//de tijd wordt gebruikt om elke keer andere getallen te laten weergeven
+long randomgetal(long *OudGetal) {
+  int a = 221;
+  int c = 1;
+  int m = 1000;
+  *OudGetal = (time (NULL) % m) + *OudGetal;
+  *OudGetal = ( a * *OudGetal + c ) % m;
+  return(*OudGetal);
+} //end randomgetal
+
+//Vraag de gebruiker om zijn invoer
+//AantalGetallen_pt = aantal getallen (pointer)
+//AantalKleuren_pt = aantal mogelijkheiden (pointer)
+//Invoer_pt = array met ingevoerde getallen door gebruiker (pointer)
+void spel_invoer(int *AantalGetallen_pt, int *AantalKleuren_pt, int *Invoer_pt) {
+  cout << endl << "Plaats gokje: " << endl;
+  int IngevoerdeGetallen = 0;
+  while (IngevoerdeGetallen < *AantalGetallen_pt) { 
+    cout << "Voer getal " << (IngevoerdeGetallen + 1) << " (van de " << *AantalGetallen_pt << ") in "
+    << "[0-" << *AantalKleuren_pt << "] (gevolgd door een enter): "; 
+    if (cin >> *(Invoer_pt + IngevoerdeGetallen)) {
+      IngevoerdeGetallen++;
+    }
+    else {
+      cout << "Dit is geen (geldig) getal, gelieve een geldig getal invoeren" << endl;
+      cin.clear();
+      cin.ignore(INT_MAX,'\n');
+    }
+  }
+} //end spel_invoer
+
+//Bereken of de bebruiker iets goeds ingevoerd heeft
+//AG_pt => AantalGetallen_pt = aantal getallen (pointer)
+//AK_pt => AantalKleuren_pt = aantal mogelijkheiden (pointer)
+//Invoer_pt = array met ingevoerde getallen door gebruiker (pointer)
+//Antwoord_pt = array met antwoorden (pointer) 
+//ATA_pt => AantalTekensAanwezig_pt = Aantal tekens aanwezig, maar niet goed geplaatst (pointer)
+//ATJP => AantalTekensGoedePlek_pt = Aantal tekens op de goede plek (pointer)
+
+void spel_bereken(int *AG_pt, int *ATA_pt, int *ATJP_pt, int *Antwoord, int *Invoer){
+    
+  bool HulpArray[*AG_pt]; //array die nodig is bij het testen van de geldigheid van het 
+  //gegeven antwoord, als de plek corresponderend met plek in array antwoord true is dan is het
+  //getal nog niet gebruikt voor het antwoord.
+
+  //hulp array op true stellen
+  for (int i = 0; i < *AG_pt; i++) {
+    HulpArray[i] = true;
+  }   
+  
+  //Gegokte invoer array doorlopen
+  for (int i = 0;i < *AG_pt; i++) { //loop_1
+    
+    //debug (invoer + antwoord laten zien)
+    cout << *(Invoer + i) << " antwoord: " << *(Antwoord + i) << endl;
+    //end debug
+    
+    if (*(Invoer + i) == *(Antwoord + i)) { //getal op de goede plek
+      (*ATJP_pt)++;
+      HulpArray[i] = false;
+    }
+  } //end loop_1
+  for (int i = 0; i < *AG_pt; i++) { //loop_2
+    if (HulpArray[i]) {
+      for (int j = 0; j < *AG_pt; j++) { //loop_3
+        if ((*(Invoer + i) == *(Antwoord + j)) && (HulpArray[j])) { //getal aanwezig
+          (*ATA_pt)++;
+          HulpArray[j] = false;
+          j = *AG_pt; //uit loop_2 stappen, hij mag namelijk maar 1 keer tellen
+        }
+      } //end loop_3 
+    }
+  } //end loop_2
+} //end spel_bereken
+
+
+//hoofdmodule voor spel mastermind.
+//UITVOER: 0 = goed uitgevoerd, 1 = error in de invoer
+int spel_main() {
+  
+  //variabelen voor invoer
+  int AantalGetallen = 4; //Aantal getallen dat de code lang is
+  int AantalKleuren = 6;	//Aantal mogelijkheden per code teken
+
+  cout << "Geef het aantal getallen ( <20 ) dat u wilt raden (gevolgd door enter): ";
+  if (cin >> AantalGetallen) {
+    if(AantalGetallen > 20) {
+      cout << "Dit is meer als 20" << endl;
+      return(1);
+    }
+  }
+  else {
+    cout << "Dit is GEEN getal" << endl;
+    return(1);
+  }
+  
+  cout << "Geef het aantal kleuren ( <20 )dat u wilt raden (gevolgd door enter): ";
+  if (cin >> AantalKleuren) {
+    if(AantalKleuren > 20) {
+      cout << "Dit is meer als 20" << endl;
+      return(1);
+    }
+  }
+  else {
+    cout << "Dit is GEEN getal" << endl;
+    return(1);
+  }
+ 
+  int Invoer[AantalGetallen]; //Array waar de invoer van de gebruiker wordt opgeslagen
+  
+  //variabelen voor de berekeing
+  bool NogNietGeraden = true; //Waar zolang code (Antwoord) nog niet geraden 
+    
+  //variabelen voor uitvoer
+  int AantalTekensJuistePlek = 0; //Pinnetje van de juiste kleur op de juiste plek
+  int AantalTekensAanwezig = 0; //Pinnetje van de juiste kleur, maar niet op de goede plek
+  
+  //variabelen voor antwoord
+  long OudeGetalsWaarde = 0; //variable die ervoor zorgt dat elke code uniek wordt
+  int Antwoord[AantalGetallen]; //array met gezochte antwoorden
+  
+  //antwoord genereren 
+  for (int i = 0; i < AantalGetallen; i++) {
+    Antwoord[i] = randomgetal(&OudeGetalsWaarde); 
+	  Antwoord[i] = (Antwoord[i] % 5); 
+    
+    //debug (antwoord laten zien)
+    cout << Antwoord[i] << endl;
+    //end debug
+  }
+
+  while (NogNietGeraden) { //gebruiker code laten raden
+    
+    spel_invoer(&AantalGetallen, &AantalKleuren, Invoer); //gebruikers invoer opvragen	
+    spel_bereken(&AantalGetallen, &AantalTekensJuistePlek, &AantalTekensAanwezig, Antwoord, Invoer); //vergelijking uitvoeren
+
+    //gebruikers resultaat laten zien
+	  if (AantalTekensJuistePlek == AantalGetallen) {
+      cout << "Zeer goed, u heeft het goede antwoord geraden, druk op enter om verder te gaan";
+      cin.get();
+      NogNietGeraden = false;
+	  }
+    else {
+      cout << "Aantal op de juiste plek: \t" << AantalTekensJuistePlek << endl;
+      cout << "Aantal niet op de juiste plek:\t" << AantalTekensAanwezig << endl;
+	  } //end gebruiker code laten raden 
+	}  
+  return (0);
+}
+
+int main() {
+spel_main();
+}
+
Index: /liacs/pm/backup/menu.cc
===================================================================
--- /liacs/pm/backup/menu.cc	(revision 2)
+++ /liacs/pm/backup/menu.cc	(revision 2)
@@ -0,0 +1,813 @@
+//Programmeermethoden opdracht 3 
+//Gemaakt door Rick van der Zwet & Pascal de Vos
+//
+//IVM met versie problemen zult u in clearall() en in de main() de juiste functie moeten commenten
+
+
+
+#include <iostream>
+#include <cstdio>
+#include <ctime>
+#include <climits>
+
+using namespace std;
+
+//
+//Variable voor het 3x+1 programma
+//
+const int MAX = 25;
+
+
+
+//Het maken van een random getal
+int randomgetal(int x) { // tussen 0 en x 
+  static int getal = time (NULL) % x; 
+  getal = ( 621 * getal + 1 ) % x; 
+  return getal;
+}
+
+//
+// === SORTEREN ===
+//
+
+class grootgetal {
+  public:
+    grootgetal();
+    ~grootgetal() { };
+    void vul(int aantal, int deelgetal);
+    void vulrandom(int aantal);
+    bool testop1();
+    bool iseven(int i);
+    bool maal3plus1();
+    void deeldoor2();
+    void vermoedentest();
+    void drukaf();
+  private:
+    int groot[MAX];
+};
+
+grootgetal::grootgetal() {
+  for (int i = 0; i < MAX; i++) {
+    groot[i] = 0;
+  } // end for
+} // end grootgetal::grootgetal
+
+void grootgetal::vul(int deelgetal, int aantal) {
+  for(int i = 0; i < aantal; i++) {
+    groot[i] = deelgetal;
+  } //end for
+} //end grootgetal::vul
+
+void grootgetal::vulrandom(int aantal) {
+  for (int i = 0; i < aantal; i++) {
+    groot[i] = randomgetal(10000);
+  } // end for
+} // end grootgetal::vulrandom
+
+bool grootgetal::iseven(int i) {
+ return(not(groot[i] % 2));     
+} // end grootgetal::iseven
+
+void grootgetal::deeldoor2() {
+  int rest = 0;
+  for (int i = MAX - 1; i >= 0; i--) {
+    if (iseven(i)) {
+      groot[i] = groot[i]/2 + rest; 
+      rest = 0;
+    }
+    else {
+      groot[i] = groot[i]/2 + rest;
+      rest = 5000;
+    } // end if
+  } // end for
+} // end grootgetal::deeldoor2
+
+bool grootgetal::maal3plus1() { 
+  int rest = 1; // Alvast +1
+	
+  for(int i = 0; i < MAX; i++) { 
+		groot[i] = (groot[i] * 3) + rest;
+    if(groot[i] >= 10000){
+      rest = (groot[i] / 10000);
+      groot[i] = (groot[i] - (rest * 10000));
+    } 
+    else {
+      rest = 0;
+    } //end if
+  } //end for
+  
+  if (groot[MAX] > 9999) {
+    return (false);
+  }
+  else { 
+    return (true); 
+  } //end if
+  
+} //end grootgetal::maal3plus1    
+
+bool grootgetal::testop1() {
+  if (groot[0] == 1) {
+    for (int i = 1; i < MAX - 1; i++) {
+      if (groot[i] != 0) {
+        return (false);
+      } //end if
+    } //end for
+    return (true);
+  }
+  return (false);
+} //end grootgetal::testop1
+
+void grootgetal::vermoedentest() {
+  int aantalintaraties = 1; //aantal keer (3x+1) (/2) noodzakelijk
+  //stap 0 bestaat niet volgens de PM opgave, dus gelijk stap 1.
+  //hoewel strikt genomen aantalintaraties op 0 begint.
+  cout << "Stap ";
+  cout.width(6);
+  cout.fill(' ');
+  cout << aantalintaraties - 1 << ": ";
+  drukaf();
+  cout << endl;
+  //end stap error fix
+  
+  while (not(testop1())) {
+    
+    if ((aantalintaraties % 100) == 0) { 
+      cout << "Stap "; 
+      cout.width(6);
+      cout.fill(' ');
+      cout << aantalintaraties << ": "; 
+      drukaf(); 
+      cout << endl;
+    } //end if
+    
+    if (iseven(0)) {
+      deeldoor2();
+    }
+    else {
+      maal3plus1();
+    } //end if
+  
+    aantalintaraties++;
+    
+  } //end while
+  cout << "Totaal aantal intaraties: " << aantalintaraties << endl;;
+} //end grootgetal::vermoedentest()
+
+void grootgetal::drukaf() {
+  cout << groot[MAX - 1];
+  for (int i = MAX - 2; i >= 0; i--) {
+    if (groot[i] > 999) {
+      cout << groot[i];
+    }
+    else if (groot[i] > 99) {
+      cout << "0" << groot[i];
+    }
+    else if (groot[i] > 9) {
+      cout << "00" << groot[i];
+    } 
+    else {
+    cout << "000" << groot[i];
+    }//end if
+  } //end for
+} //end grootgetal::drukaf
+
+//
+// === END SORTEREN  ===
+//
+
+// 
+// == MASTERMIND ===
+//
+
+//Vraag de gebruiker om zijn invoer
+//AantalGetallen_pt = aantal getallen (pointer)
+//AantalKleuren_pt = aantal mogelijkheiden (pointer)
+//Invoer_pt = array met ingevoerde getallen door gebruiker (pointer)
+void MastermindInvoer(int *AantalGetallen_pt, int *AantalKleuren_pt, int *Invoer_pt) {
+  cout << endl << "Plaats gokje: " << endl;
+  int IngevoerdeGetallen = 0;
+  while (IngevoerdeGetallen < *AantalGetallen_pt) { 
+    cout << "Voer getal " << (IngevoerdeGetallen + 1) << " (van de " << *AantalGetallen_pt << ") in "
+    << "[0-" << *AantalKleuren_pt << "] (gevolgd door een enter): "; 
+    if (cin >> *(Invoer_pt + IngevoerdeGetallen)) {
+      IngevoerdeGetallen++;
+    }
+    else {
+      cout << "Dit is geen (geldig) getal, gelieve een geldig getal invoeren" << endl;
+      cin.clear();
+      cin.ignore(INT_MAX,'\n');
+    } // end if
+  } // end while
+} //end MastermindInvoer
+
+//Bereken of de bebruiker iets goeds ingevoerd heeft
+//AG_pt => AantalGetallen_pt = aantal getallen (pointer)
+//AK_pt => AantalKleuren_pt = aantal mogelijkheiden (pointer)
+//Invoer_pt = array met ingevoerde getallen door gebruiker (pointer)
+//Antwoord_pt = array met antwoorden (pointer) 
+//ATA_pt => AantalTekensAanwezig_pt = Aantal tekens aanwezig, maar niet goed geplaatst (pointer)
+//ATJP => AantalTekensGoedePlek_pt = Aantal tekens op de goede plek (pointer)
+
+void MastermindBereken(int *AG_pt, int *ATA_pt, int *ATJP_pt, int *Antwoord, int *Invoer){
+    
+  bool HulpArray[*AG_pt]; //array die nodig is bij het testen van de geldigheid van het 
+  //gegeven antwoord, als de plek corresponderend met plek in array antwoord true is dan is het
+  //getal nog niet gebruikt voor het antwoord.
+
+  //hulp array op true stellen
+  for (int i = 0; i < *AG_pt; i++) {
+    HulpArray[i] = true;
+  }   
+  
+  //Gegokte invoer array doorlopen
+  for (int i = 0;i < *AG_pt; i++) { //loop_1
+    
+    //debug (invoer + antwoord laten zien)
+    cout << *(Invoer + i) << " antwoord: " << *(Antwoord + i) << endl;
+    //end debug
+    
+    if (*(Invoer + i) == *(Antwoord + i)) { //getal op de goede plek
+      (*ATJP_pt)++;
+      HulpArray[i] = false;
+    }
+  } //end loop_1
+  for (int i = 0; i < *AG_pt; i++) { //loop_2
+    if (HulpArray[i]) {
+      for (int j = 0; j < *AG_pt; j++) { //loop_3
+        if ((*(Invoer + i) == *(Antwoord + j)) && (HulpArray[j])) { //getal aanwezig
+          (*ATA_pt)++;
+          HulpArray[j] = false;
+          j = *AG_pt; //uit loop_2 stappen, hij mag namelijk maar 1 keer tellen
+        }
+      } //end loop_3 
+    }
+  } //end loop_2
+} //end MastermindBereken 
+
+
+//hoofdmodule voor spel mastermind.
+void MastermindMain() {
+  
+  //variabelen voor invoer
+  int AantalGetallen = 4; //Aantal getallen dat de code lang is
+  int AantalKleuren = 6;	//Aantal mogelijkheden per code teken
+
+  cout << "Geef het aantal getallen ( <20 ) dat u wilt raden (gevolgd door enter): ";
+  if (cin >> AantalGetallen) {
+    if(AantalGetallen > 20) {
+      cout << "Dit is meer als 20" << endl;
+      return;
+    } // end if
+  } 
+  else {
+    cout << "Dit is GEEN getal" << endl;
+    return;
+  } // end if
+  
+  cout << "Geef het aantal kleuren ( <20 )dat u wilt raden (gevolgd door enter): ";
+  if (cin >> AantalKleuren) {
+    if(AantalKleuren > 20) {
+      cout << "Dit is meer als 20" << endl;
+      return;
+    } // end if
+  }
+  else {
+    cout << "Dit is GEEN getal" << endl;
+    return;
+  } // end if
+ 
+  int Invoer[AantalGetallen]; //Array waar de invoer van de gebruiker wordt opgeslagen
+  
+  //variabelen voor de berekeing
+  bool NogNietGeraden = true; //Waar zolang code (Antwoord) nog niet geraden 
+    
+  //variabelen voor uitvoer
+  int AantalTekensJuistePlek = 0; //Pinnetje van de juiste kleur op de juiste plek
+  int AantalTekensAanwezig = 0; //Pinnetje van de juiste kleur, maar niet op de goede plek
+  
+  //variabelen voor antwoord
+  int Antwoord[AantalGetallen]; //array met gezochte antwoorden
+  
+  //antwoord genereren 
+  for (int i = 0; i < AantalGetallen; i++) {
+    Antwoord[i] = randomgetal(AantalKleuren); 
+    
+    //debug (antwoord laten zien)
+    cout << Antwoord[i] << endl;
+    //end debug
+  } //end for
+
+  while (NogNietGeraden) { //gebruiker code laten raden
+    
+    MastermindInvoer(&AantalGetallen, &AantalKleuren, Invoer); //gebruikers invoer opvragen	
+    MastermindBereken(&AantalGetallen, &AantalTekensJuistePlek, &AantalTekensAanwezig, Antwoord, Invoer); //vergelijking uitvoeren
+
+    //gebruikers resultaat laten zien
+	  if (AantalTekensJuistePlek == AantalGetallen) {
+      cout << "Zeer goed, u heeft het goede antwoord geraden, druk op enter om verder te gaan";
+      cin.get();
+      NogNietGeraden = false;
+	  }
+    else {
+      cout << "Aantal op de juiste plek: \t" << AantalTekensJuistePlek << endl;
+      cout << "Aantal niet op de juiste plek:\t" << AantalTekensAanwezig << endl;
+	  } //end gebruiker code laten raden 
+	} // end while 
+  return;
+} // end MasterMindMain 
+
+//
+// == END MASTERMIND ===
+//
+
+//
+// === SORTEREN GEDEELTE ===
+//
+
+//Een list bestaat uit allemaal vakjes.
+class Vakje {
+ public:
+  Vakje( );
+  int Getal_int; //Waarde van het vakje
+  Vakje * Volgende_Vakje_pt; //Zijn 'rechterbuur'
+  Vakje * Vorige_Vakje_pt; //Zijn 'linkbuur'
+};
+
+Vakje::Vakje() {
+  Getal_int = 0; 
+  Volgende_Vakje_pt = NULL;
+  Vorige_Vakje_pt = NULL;
+}
+
+class listvak {
+  public:
+    //default constuctor (NULL pointers)
+    listvak( );
+    //destructor: niks doen
+    ~listvak( ) { };
+    //creer de list van random lengte met randomgetallen
+    void randomlist();
+    //druk de list van links naar rechts af
+    void drukaf_l_r();
+    //druk de list van recht naar links af
+    void drukaf_r_l();
+    //sorteer de list, volgens bubblesort methode
+    int sorteren();
+    //merge L1 en L2 met opvolgend principe
+    void merge(listvak * L1, listvak * L2);
+    //vernietig de list.
+    void vernietig();
+  private:    
+    Vakje * Eerste_Vakje_pt; //pointer naar het eerste vakje
+    Vakje * Laatste_Vakje_pt; //pointer naar het laatste vakje
+};
+
+listvak::listvak( ) {
+  Eerste_Vakje_pt = NULL;
+  Laatste_Vakje_pt = NULL;
+}
+
+//voeg een AantalGetallen_int getallen toe aan de List die door Lbgin wordt gepointerd.
+void listvak::randomlist() {
+  Vakje * VakjeNew_Vakje_pt;
+  
+  for (int i = 0; i < randomgetal(1000); i++) {
+    VakjeNew_Vakje_pt = new Vakje;
+    VakjeNew_Vakje_pt->Getal_int = randomgetal(10000);
+    if (Eerste_Vakje_pt != NULL) {
+      VakjeNew_Vakje_pt->Volgende_Vakje_pt = Eerste_Vakje_pt;
+      VakjeNew_Vakje_pt->Volgende_Vakje_pt->Vorige_Vakje_pt = VakjeNew_Vakje_pt;
+    }
+    else {
+      Laatste_Vakje_pt = VakjeNew_Vakje_pt;
+    } //end if
+    
+    Eerste_Vakje_pt = VakjeNew_Vakje_pt;
+  } //end for
+} //end listvak::randomlist
+
+//druk de list af van links naar rechts
+void listvak::drukaf_l_r() {
+ Vakje * Hulp_Vakje_pt = Eerste_Vakje_pt;
+ while (Hulp_Vakje_pt != NULL) {
+  cout << Hulp_Vakje_pt->Getal_int << " ";
+  Hulp_Vakje_pt = Hulp_Vakje_pt->Volgende_Vakje_pt;
+  } //end while
+} //end listvak::drukaf_lr
+  
+//druk de list af van rechts naar links
+void listvak::drukaf_r_l() {
+ Vakje * Hulp_Vakje_pt = Laatste_Vakje_pt;
+ while (Hulp_Vakje_pt != NULL) {
+  cout << Hulp_Vakje_pt->Getal_int << " ";
+  Hulp_Vakje_pt = Hulp_Vakje_pt->Vorige_Vakje_pt;
+  } //end while
+} //end listvak::drukaf_rl
+
+//sorteren volgens de bubblesort methode (grootste getal achteraan)
+//uitvoer: aantal verwisselingen die plaatsgevonden hebben.
+int listvak::sorteren() {
+  int Verwisselingen_int = 0;
+  Vakje * BubbleHulp_Vakje_pt = Eerste_Vakje_pt; //Dit is het vakje dat gechecked wordt
+  Vakje * BubbleStop_Vakje_pt = Laatste_Vakje_pt; //Hierna hoeft niet meer gechecked worden
+  Vakje * BubbleVakA_Vakje_pt;
+  Vakje * BubbleVakB_Vakje_pt;
+  Vakje * BubbleVakC_Vakje_pt;
+  Vakje * BubbleVakD_Vakje_pt;
+  
+  //geen waardes dus gelijk stoppen
+  if (Laatste_Vakje_pt == NULL) {
+    return(0);
+  }
+  
+  while (BubbleStop_Vakje_pt->Vorige_Vakje_pt != NULL) {  
+    while ( BubbleHulp_Vakje_pt != BubbleStop_Vakje_pt ) { 
+      if (BubbleHulp_Vakje_pt->Getal_int > BubbleHulp_Vakje_pt->Volgende_Vakje_pt->Getal_int) {
+        /* Methode voor het omwisselen van vak B en C
+         *            Oude situtatie
+         * ___________________________________
+         * | Vorige | Vak Nummer  | Volgende  |
+         * |========|=============|===========|
+         * |        |     A       |   1->B    |
+         * | 2->A   |     B       |   3->C    |
+         * | 4->B   |     C       |   5->D    |
+         * | 6->C   |     D       |           |
+         * ------------------------------------
+         *        
+         *            Nieuwe situatie
+         * ___________________________________
+         * | Vorige | Vak Nummer  | Volgende  |
+         * |========|=============|===========|
+         * |        |     A       |   1->C    |
+         * | 2->C   |     B       |   3->D    |
+         * | 4->A   |     C       |   5->B    |
+         * | 6->B   |     D       |           |
+         * ------------------------------------
+         *
+         * Uitzondering betreft als A de pointer in het begin is of als
+         * D de eind pointer is.
+         */
+        BubbleVakA_Vakje_pt = BubbleHulp_Vakje_pt->Vorige_Vakje_pt;
+        BubbleVakB_Vakje_pt = BubbleHulp_Vakje_pt;
+        BubbleVakC_Vakje_pt = BubbleHulp_Vakje_pt->Volgende_Vakje_pt;
+        BubbleVakD_Vakje_pt = BubbleHulp_Vakje_pt->Volgende_Vakje_pt->Volgende_Vakje_pt;
+        
+        //Pointer 1,2 
+        if (BubbleVakA_Vakje_pt == NULL) {
+          Eerste_Vakje_pt = BubbleVakC_Vakje_pt;
+          BubbleVakC_Vakje_pt->Vorige_Vakje_pt = NULL;
+        }
+        else {
+          BubbleVakA_Vakje_pt->Volgende_Vakje_pt = BubbleVakC_Vakje_pt;
+          BubbleVakC_Vakje_pt->Vorige_Vakje_pt = BubbleVakA_Vakje_pt;
+        } //end if
+       
+        //Pointer 3,4
+        BubbleVakB_Vakje_pt->Vorige_Vakje_pt = BubbleVakC_Vakje_pt;
+        BubbleVakC_Vakje_pt->Volgende_Vakje_pt = BubbleVakB_Vakje_pt;
+
+        //Pointer 5,6
+        if (BubbleVakD_Vakje_pt == NULL) {
+          Laatste_Vakje_pt = BubbleVakB_Vakje_pt;
+          BubbleVakB_Vakje_pt->Volgende_Vakje_pt = NULL;
+          BubbleStop_Vakje_pt = BubbleVakB_Vakje_pt;
+        }
+        else {
+          BubbleVakD_Vakje_pt->Vorige_Vakje_pt = BubbleVakB_Vakje_pt;
+          BubbleVakB_Vakje_pt->Volgende_Vakje_pt = BubbleVakD_Vakje_pt;
+        } //end if
+
+        //In het geval dat het vakje van de stop pointer kleiner is als het vakje ervoor,
+        //zal de stop pointer over het nieuwe vakje moeten vallen, anders komt hij het stop
+        //teken nooit tegen.
+        // A B C D
+        // 5 9 7 10
+        //   ^ ^ 
+        //   | |Stop pointer 
+        //   | Huidige Waarde
+        // 
+        // ZONDER AANPASSING          MET AANPASSING
+        //
+        // A C B D                    A C B D
+        // 5 7 9 10                   5 7 9 10
+        //   ^ ^                        ^ ^
+        //   | |Huidige Waarde          | |Huidige Waarde + Stop Pointer
+        //   | Stop Pointer             |
+        //
+        if (BubbleStop_Vakje_pt == BubbleVakC_Vakje_pt) {
+          BubbleStop_Vakje_pt = BubbleVakB_Vakje_pt; 
+        } //end if
+        
+        Verwisselingen_int++;
+      }
+      else {
+        BubbleHulp_Vakje_pt = BubbleHulp_Vakje_pt->Volgende_Vakje_pt;
+      } //end if
+    } //end while
+    BubbleHulp_Vakje_pt = Eerste_Vakje_pt;
+    BubbleStop_Vakje_pt = BubbleStop_Vakje_pt->Vorige_Vakje_pt;
+  } //end while
+  return (Verwisselingen_int);
+} //end listvak::sorteren
+
+void listvak::merge(listvak * L1, listvak * L2) {
+  bool Toevoegen_bool = true; //zolang true bestaan er nog waardes die toegevoegd moeten worden
+  
+  Vakje * HulpL1_Vakje_pt = L1->Laatste_Vakje_pt; //pointer die bijhoudt waar we in L1 zijn
+  Vakje * HulpL2_Vakje_pt = L2->Laatste_Vakje_pt; //pointer die bijhoudt waar we in L2 zijn
+  
+  Vakje * VakjeNew_Vakje_pt; //pointer bij gebruikt wordt bij het maken van nieuwe vakjes
+
+  while (Toevoegen_bool) {
+    if  ((HulpL1_Vakje_pt != NULL) || (HulpL2_Vakje_pt !=NULL)) { //er zijn nog waardes aanwezig
+      VakjeNew_Vakje_pt = new Vakje;
+      
+      if (Eerste_Vakje_pt != NULL) {
+       VakjeNew_Vakje_pt->Volgende_Vakje_pt = Eerste_Vakje_pt;
+       VakjeNew_Vakje_pt->Volgende_Vakje_pt->Vorige_Vakje_pt = VakjeNew_Vakje_pt;
+      }
+      else if (Laatste_Vakje_pt == NULL) {
+        Laatste_Vakje_pt = VakjeNew_Vakje_pt;
+      } //end if
+      Eerste_Vakje_pt = VakjeNew_Vakje_pt;
+    
+      if ((HulpL1_Vakje_pt != NULL) && (HulpL2_Vakje_pt != NULL)) { //beiden bevatten nog een getal
+        if (HulpL1_Vakje_pt->Getal_int > HulpL2_Vakje_pt->Getal_int) {
+          VakjeNew_Vakje_pt->Getal_int = HulpL1_Vakje_pt->Getal_int;
+          HulpL1_Vakje_pt = HulpL1_Vakje_pt->Vorige_Vakje_pt;
+        } 
+        else {
+          VakjeNew_Vakje_pt->Getal_int = HulpL2_Vakje_pt->Getal_int;
+          HulpL2_Vakje_pt = HulpL2_Vakje_pt->Vorige_Vakje_pt;
+        } //end if
+      }  
+      else if (HulpL1_Vakje_pt != NULL) { //L2 leeg, enkel waardes uit L1 plakken
+        VakjeNew_Vakje_pt->Getal_int = HulpL1_Vakje_pt->Getal_int;
+        HulpL1_Vakje_pt = HulpL1_Vakje_pt->Vorige_Vakje_pt;
+      }
+      else if (HulpL2_Vakje_pt != NULL) { //L1 leeg, enkel waardes uit L2 plakken
+        VakjeNew_Vakje_pt->Getal_int = HulpL2_Vakje_pt->Getal_int;
+        HulpL2_Vakje_pt = HulpL2_Vakje_pt->Vorige_Vakje_pt;
+      }
+    }
+    else { //alles leeg, 'over en sluiten'
+      Toevoegen_bool = false;
+    } //end if
+  } //end while
+} //end listvak::merge
+
+//vernietig de list
+void listvak::vernietig() {
+  Vakje * Hulp_Vakje_pt;
+  while (Eerste_Vakje_pt != NULL) {
+    Hulp_Vakje_pt = Eerste_Vakje_pt->Volgende_Vakje_pt;
+    delete Eerste_Vakje_pt;
+    Eerste_Vakje_pt = Hulp_Vakje_pt;
+  } //end while;    
+  Laatste_Vakje_pt = NULL;
+} //end listvak::vernietig
+
+//
+// === END SORTEREN ===
+//
+
+
+//
+// === MENU GEDEELTE ===
+//
+
+
+//scherm leegmaken, ivm met verschillen tussen DOS en UNIX de juiste commenten
+void clearall() {
+  system("cls"); //maakt scherm leeg in Dos
+  system("clear"); //maakt scherm leeg
+  cin.clear(); //maak invoerbuffer leeg
+  cin.ignore(INT_MAX, '\n'); //alles was nog te wachten staat negeren
+}
+
+
+void SubMenuMasterMind() {
+  MastermindMain();
+} //end SubMenuMasterMind
+
+void SubMenu3keerplus1() { 
+  char MenuKeuze = ' ';
+  int lengte, getal;
+  grootgetal BigGetal;
+ 
+  while (true) {
+    cout  << " --------------------- 3x+1 -----------------    " << endl
+          << "Maak een keuze uit de volgende opties:           " << endl
+          << "- Bepaal de lengte,  random generatie getal (R/r)" << endl
+          << "- Bepaald de lengte, bepaal het getal zelf (Z/z) " << endl
+          << "- Terug naar Het hoofdmenu (T/t)                 " << endl
+          << "                                                 " << endl
+          << "Keuze: "; cin >> MenuKeuze;
+   clearall();
+  				 	           
+    switch (MenuKeuze) {
+      case 't': case 'T': //Terug naar Hoofdmenu
+        return;
+        break;
+      case 'r': case 'R': //Vul L1 random
+        cout << "Vul het aantal elementen in: ";
+        cin >> lengte;
+        BigGetal.vulrandom(lengte);
+        BigGetal.vermoedentest();
+        break;
+      case 'z': case 'Z': //Vul L2 random
+        cout << "Vul het aantal elementen in: ";
+        cin >> lengte;
+        cout << endl;
+        cout << "Vul het getal in: ";
+        cin >> getal;
+        BigGetal.vul(getal,lengte);  
+        BigGetal.vermoedentest();                    
+        break;
+      default:
+        cout << "GEEN GOEDE INVOER ..." << endl;
+        break;
+    }  // end switch
+  }  // end while
+} // end Menu3keerplus1 
+
+
+void SubMenuSorteren() {
+  char Menukeuze = ' ';
+  listvak L1,L2,L3;  
+
+  while (true) {
+    cout << " ------------- Sorteren --------------- " << endl
+         << "Maak een keuze uit de volgende opties:  " << endl
+         << "- Vul L1 random (A/a)                   " << endl
+         << "- Vul L2 random (B/b)                   " << endl
+         << "- Vul L3 random (C/c)                   " << endl
+         << "- Vernietig L1 (D/d)                    " << endl
+         << "- Vernietig L2 (E/e)                    " << endl
+         << "- Vernietig L3 (F/f)                    " << endl
+         << "- Bubblesort L1 (G/g)                   " << endl
+         << "- Bubblesort L2 (H/h)                   " << endl
+         << "- Bubblesort L3 (I/i)                   " << endl
+         << "- Merge L1 en L2 naar L3 (J/j)          " << endl
+         << "- Hierbij wordt L1,L2 gesorteerd en L3 gewist " << endl
+         << "- Terug naar Algoritmen (T/t)           " << endl
+         << "                                        " << endl
+         << "Keuze: "; cin >> Menukeuze;
+    clearall();  
+   		                    
+    switch (Menukeuze) {
+      case 'a': case 'A': //Vul L1 random
+        L1.randomlist();
+        L1.drukaf_r_l();
+        cout << endl <<endl;
+        break;
+      case 'b': case 'B': //Vul L2 random
+        L2.randomlist(); 
+        L2.drukaf_r_l();
+        cout << endl << endl;
+        break;
+      case 'c': case 'C': //Vul L3 random
+        L3.randomlist();
+        L3.drukaf_r_l();
+        cout << endl << endl;
+        break;
+      case 'd': case 'D': //Vernietig L1
+        L1.vernietig();
+        cout << "L1 vernietiged" << endl << endl;
+        break;
+      case 'e': case 'E': //Vernietig L2
+        L2.vernietig();
+        cout << "L2 vernietiged" << endl << endl;
+        break;
+      case 'f': case 'F': //Vernietig L3
+        L3.vernietig();
+        cout << "L3 vernietiged" << endl << endl;
+        break;
+      case 'g': case 'G': //Bubblesort L1
+        L1.sorteren();
+        L1.drukaf_l_r();
+        cout << endl << endl;
+        break;
+      case 'h': case 'H': //Bubblesort L2
+        L2.sorteren();
+        L2.drukaf_l_r();
+        cout << endl << endl;
+        break;
+      case 'i': case 'I': //Bubblesort L3
+        L3.sorteren();
+        L3.drukaf_l_r();
+        cout << endl << endl;
+        break;
+      case 'j': case 'J': //Merge L1 en L2 naar L3
+        L1.sorteren();
+        L2.sorteren();
+        L3.vernietig();
+        L3.merge(&L1,&L2);
+        cout << endl << endl;
+        L3.drukaf_l_r();
+        cout << endl;
+        break;
+      case 't': case 'T': //Naar AlgoritmeMenu
+        return;
+        break;
+      default:
+        cout << "GEEN GOEDE INVOER ..." << endl;
+        break;
+    }  // end switch
+  } // end while
+} //end SubMenuSorteren
+  
+
+void SubMenuAlgoritmen() {
+char Menukeuze = ' ';
+
+  while (true) {
+    cout << " ------------- Algoritmen ------------- " << endl
+         << "Maak een keuze uit de volgende opties:  " << endl
+         << "->Sorteren (S/s)                        " << endl
+         << "->3x+1 (X/x)                            " << endl
+         << "->Terug naar het Hoofdmenu (T/t)        " << endl
+         << "                                        " << endl
+         << "Keuze: "; cin >> Menukeuze;
+    clearall();
+  
+    switch (Menukeuze) {
+    case 's': case 'S':
+      SubMenuSorteren();
+      break;
+    case 'x': case 'X':
+      SubMenu3keerplus1(); 
+      break;
+    case 't': case 'T':
+      return;
+      break;
+    default:
+      cout << "GEEN GOEDE INVOER" << endl
+           << endl;
+      break;
+    } // end switch
+  } // end while
+
+} // end SubMenuAlgoritmen
+
+ 
+void HoofdMenu() {
+  char Menukeuze = ' ';
+  while (true) { //oneindige loop
+    cout << "-----Hoofdmenu----" << endl
+         << "->Algoritmen (a/A)" << endl
+         << "->Mastermind (m/M)" << endl
+         << "->Stoppen    (s/S)" << endl
+         << "                  " << endl
+         << "Keuze: ";
+    cin >> Menukeuze;
+    clearall(); 
+  
+    switch (Menukeuze) {
+      case 'a': case 'A':  //sub menu Algoritmen
+        SubMenuAlgoritmen();
+        break;
+      case 'm': case 'M': //Mastermind
+        SubMenuMasterMind();
+        break;
+      case 's': case 'S': // Stoppen
+        cout << "Goodbye" << endl;
+        return;
+        break;
+      default:
+        cout << "GEEN GOEDE INVOER" << endl
+            << endl;
+      } //end switch
+  } // end while 
+} // end HoofdMenu
+
+void IntroScherm() {
+	cout	<< "---------------------------------------------------" << endl
+			  << "|        University of Leiden  (12-11-2004)       |" << endl
+			  << "|         Programmeermethoden opdracht 3          |" << endl
+			  << "|                                                 |" << endl
+			  << "|                 Gemaakt door:                   |" << endl
+			  << "|               Rick van der Zwet                 |" << endl
+			  << "|                 Pascal de Vos                   |" << endl
+			  << "|                                                 |" << endl
+			  << "|                                                 |" << endl
+			  << "| Getest op: Unix systeem (Sun OS)                |" << endl
+			  << "|            Windows XP (Dev-C++ 4.9.9.0)         |" << endl
+			  << "|            Freebsd 5.2.1-r11 gcc version 3.3.3  |" << endl
+			  << "---------------------------------------------------" << endl
+			  << endl;
+}
+
+//
+// === END MENU GEDEELTE ===
+//
+
+
+int main() {
+  system("cls"); //maakt scherm leeg in Dos
+  system("clear"); //maakt scherm leeg
+  //geen cin.clear(), blijft ie op hangen 
+IntroScherm();  
+  HoofdMenu();
+}
+
Index: /liacs/pm/backup/menu.cc.bak
===================================================================
--- /liacs/pm/backup/menu.cc.bak	(revision 2)
+++ /liacs/pm/backup/menu.cc.bak	(revision 2)
@@ -0,0 +1,775 @@
+#include <iostream>
+#include <cstdio>
+#include <ctime>
+#include <climits>
+
+using namespace std;
+
+//
+//Variable voor het 3x+1 programma
+//
+const int MAX = 25;
+
+
+void Intro() {
+	cout	<< "---------------------------------------------------" << endl
+			  << "|        University of Leiden  (XX-XX-2004)       |" << endl
+			  << "|         Programmeermethoden opdracht 3          |" << endl
+			  << "|                                                 |" << endl
+			  << "|                 Gemaakt door:                   |" << endl
+			  << "|               Rick van der Zwet                 |" << endl
+			  << "|                 Pascal de Vos                   |" << endl
+			  << "|                                                 |" << endl
+			  << "|                                                 |" << endl
+			  << "| Getest op: Unix systeem (Sun OS)                |" << endl
+			  << "|            Windows XP (Dev-C++ 4.9.9.0)         |" << endl
+			  << "|            Freebsd 5.2.1-r11 gcc version 3.3.3  |" << endl
+			  << "---------------------------------------------------" << endl
+			  << endl;
+}
+
+
+//Het maken van een random getal
+int randomgetal(int x) { // tussen 0 en x 
+  static int getal = time (NULL) % x; 
+  getal = ( 621 * getal + 1 ) % x; 
+  return getal;
+}
+
+//
+// === SORTEREN ===
+//
+
+class grootgetal {
+  public:
+    grootgetal();
+    ~grootgetal() { };
+    void vul(int aantal, int deelgetal);
+    void vulrandom(int aantal);
+    bool testop1();
+    bool iseven(int i);
+    bool maal3plus1();
+    void deeldoor2();
+    void vermoedentest();
+    void drukaf();
+  private:
+    int groot[MAX];
+};
+
+grootgetal::grootgetal() {
+  for (int i = 0; i < MAX; i++) {
+    groot[i] = 0;
+  } // end for
+} // end grootgetal::grootgetal
+
+void grootgetal::vul(int deelgetal, int aantal) {
+  for(int i = 0; i < aantal; i++) {
+    groot[i] = deelgetal;
+  } //end for
+} //end grootgetal::vul
+
+void grootgetal::vulrandom(int aantal) {
+  for (int i = 0; i < aantal; i++) {
+    groot[i] = randomgetal(10000);
+  } // end for
+} // end grootgetal::vulrandom
+
+bool grootgetal::iseven(int i) {
+ return(not(groot[i] % 2));     
+} // end grootgetal::iseven
+
+void grootgetal::deeldoor2() {
+  int rest = 0;
+  for (int i = MAX - 1; i >= 0; i--) {
+    if (iseven(i)) {
+      groot[i] = groot[i]/2 + rest; 
+      rest = 0;
+    }
+    else {
+      groot[i] = groot[i]/2 + rest;
+      rest = 5000;
+    } // end if
+  } // end for
+} // end grootgetal::deeldoor2
+
+bool grootgetal::maal3plus1() { 
+  int rest = 1; // Alvast +1
+	
+  for(int i = 0; i < MAX; i++) { 
+		groot[i] = (groot[i] * 3) + rest;
+    if(groot[i] >= 10000){
+      rest = (groot[i] / 10000);
+      groot[i] = (groot[i] - (rest * 10000));
+    } 
+    else {
+      rest = 0;
+    } //end if
+  } //end for
+  
+  if (groot[MAX] > 9999) {
+    return (false);
+  }
+  else { 
+    return (true); 
+  } //end if
+  
+} //end grootgetal::maal3plus1    
+
+bool grootgetal::testop1() {
+  if (groot[0] == 1) {
+    for (int i = 1; i < MAX - 1; i++) {
+      if (groot[i] != 0) {
+        return (false);
+      } //end if
+    } //end for
+    return (true);
+  }
+  return (false);
+} //end grootgetal::testop1
+
+void grootgetal::vermoedentest() {
+  int aantalintaraties = 0; //aantal keer (3x+1) (/2) noodzakelijk
+  while (not(testop1())) {
+    
+    if ((aantalintaraties % 100) == 0) { 
+      cout << "Stap "; 
+      cout.width(6);
+      cout.fill(' ');
+      cout << aantalintaraties << ": "; 
+      drukaf(); 
+      cout << endl;
+    } //end if
+    
+    if (iseven(0)) {
+      deeldoor2();
+    }
+    else {
+      maal3plus1();
+    } //end if
+  
+    aantalintaraties++;
+    
+  } //end while
+  cout << "Totaal aantal intaraties: " << aantalintaraties << endl;;
+} //end grootgetal::vermoedentest()
+
+void grootgetal::drukaf() {
+  cout << groot[MAX - 1];
+  for (int i = MAX - 2; i >= 0; i--) {
+    if (groot[i] > 999) {
+      cout << groot[i];
+    }
+    else if (groot[i] > 99) {
+      cout << "0" << groot[i];
+    }
+    else if (groot[i] > 9) {
+      cout << "00" << groot[i];
+    } 
+    else {
+    cout << "000" << groot[i];
+    }//end if
+  } //end for
+} //end grootgetal::drukaf
+
+//
+// === END SORTEREN  ===
+//
+
+// 
+// == MASTERMIND ===
+//
+
+//Vraag de gebruiker om zijn invoer
+//AantalGetallen_pt = aantal getallen (pointer)
+//AantalKleuren_pt = aantal mogelijkheiden (pointer)
+//Invoer_pt = array met ingevoerde getallen door gebruiker (pointer)
+void MastermindInvoer(int *AantalGetallen_pt, int *AantalKleuren_pt, int *Invoer_pt) {
+  cout << endl << "Plaats gokje: " << endl;
+  int IngevoerdeGetallen = 0;
+  while (IngevoerdeGetallen < *AantalGetallen_pt) { 
+    cout << "Voer getal " << (IngevoerdeGetallen + 1) << " (van de " << *AantalGetallen_pt << ") in "
+    << "[0-" << *AantalKleuren_pt << "] (gevolgd door een enter): "; 
+    if (cin >> *(Invoer_pt + IngevoerdeGetallen)) {
+      IngevoerdeGetallen++;
+    }
+    else {
+      cout << "Dit is geen (geldig) getal, gelieve een geldig getal invoeren" << endl;
+      cin.clear();
+      cin.ignore(INT_MAX,'\n');
+    } // end if
+  } // end while
+} //end MastermindInvoer
+
+//Bereken of de bebruiker iets goeds ingevoerd heeft
+//AG_pt => AantalGetallen_pt = aantal getallen (pointer)
+//AK_pt => AantalKleuren_pt = aantal mogelijkheiden (pointer)
+//Invoer_pt = array met ingevoerde getallen door gebruiker (pointer)
+//Antwoord_pt = array met antwoorden (pointer) 
+//ATA_pt => AantalTekensAanwezig_pt = Aantal tekens aanwezig, maar niet goed geplaatst (pointer)
+//ATJP => AantalTekensGoedePlek_pt = Aantal tekens op de goede plek (pointer)
+
+void MastermindBereken(int *AG_pt, int *ATA_pt, int *ATJP_pt, int *Antwoord, int *Invoer){
+    
+  bool HulpArray[*AG_pt]; //array die nodig is bij het testen van de geldigheid van het 
+  //gegeven antwoord, als de plek corresponderend met plek in array antwoord true is dan is het
+  //getal nog niet gebruikt voor het antwoord.
+
+  //hulp array op true stellen
+  for (int i = 0; i < *AG_pt; i++) {
+    HulpArray[i] = true;
+  }   
+  
+  //Gegokte invoer array doorlopen
+  for (int i = 0;i < *AG_pt; i++) { //loop_1
+    
+    //debug (invoer + antwoord laten zien)
+    cout << *(Invoer + i) << " antwoord: " << *(Antwoord + i) << endl;
+    //end debug
+    
+    if (*(Invoer + i) == *(Antwoord + i)) { //getal op de goede plek
+      (*ATJP_pt)++;
+      HulpArray[i] = false;
+    }
+  } //end loop_1
+  for (int i = 0; i < *AG_pt; i++) { //loop_2
+    if (HulpArray[i]) {
+      for (int j = 0; j < *AG_pt; j++) { //loop_3
+        if ((*(Invoer + i) == *(Antwoord + j)) && (HulpArray[j])) { //getal aanwezig
+          (*ATA_pt)++;
+          HulpArray[j] = false;
+          j = *AG_pt; //uit loop_2 stappen, hij mag namelijk maar 1 keer tellen
+        }
+      } //end loop_3 
+    }
+  } //end loop_2
+} //end MastermindBereken 
+
+
+//hoofdmodule voor spel mastermind.
+void MastermindMain() {
+  
+  //variabelen voor invoer
+  int AantalGetallen = 4; //Aantal getallen dat de code lang is
+  int AantalKleuren = 6;	//Aantal mogelijkheden per code teken
+
+  cout << "Geef het aantal getallen ( <20 ) dat u wilt raden (gevolgd door enter): ";
+  if (cin >> AantalGetallen) {
+    if(AantalGetallen > 20) {
+      cout << "Dit is meer als 20" << endl;
+      return;
+    } // end if
+  } 
+  else {
+    cout << "Dit is GEEN getal" << endl;
+    return;
+  } // end if
+  
+  cout << "Geef het aantal kleuren ( <20 )dat u wilt raden (gevolgd door enter): ";
+  if (cin >> AantalKleuren) {
+    if(AantalKleuren > 20) {
+      cout << "Dit is meer als 20" << endl;
+      return;
+    } // end if
+  }
+  else {
+    cout << "Dit is GEEN getal" << endl;
+    return;
+  } // end if
+ 
+  int Invoer[AantalGetallen]; //Array waar de invoer van de gebruiker wordt opgeslagen
+  
+  //variabelen voor de berekeing
+  bool NogNietGeraden = true; //Waar zolang code (Antwoord) nog niet geraden 
+    
+  //variabelen voor uitvoer
+  int AantalTekensJuistePlek = 0; //Pinnetje van de juiste kleur op de juiste plek
+  int AantalTekensAanwezig = 0; //Pinnetje van de juiste kleur, maar niet op de goede plek
+  
+  //variabelen voor antwoord
+  int Antwoord[AantalGetallen]; //array met gezochte antwoorden
+  
+  //antwoord genereren 
+  for (int i = 0; i < AantalGetallen; i++) {
+    Antwoord[i] = randomgetal(AantalKleuren); 
+    
+    //debug (antwoord laten zien)
+    cout << Antwoord[i] << endl;
+    //end debug
+  } //end for
+
+  while (NogNietGeraden) { //gebruiker code laten raden
+    
+    MastermindInvoer(&AantalGetallen, &AantalKleuren, Invoer); //gebruikers invoer opvragen	
+    MastermindBereken(&AantalGetallen, &AantalTekensJuistePlek, &AantalTekensAanwezig, Antwoord, Invoer); //vergelijking uitvoeren
+
+    //gebruikers resultaat laten zien
+	  if (AantalTekensJuistePlek == AantalGetallen) {
+      cout << "Zeer goed, u heeft het goede antwoord geraden, druk op enter om verder te gaan";
+      cin.get();
+      NogNietGeraden = false;
+	  }
+    else {
+      cout << "Aantal op de juiste plek: \t" << AantalTekensJuistePlek << endl;
+      cout << "Aantal niet op de juiste plek:\t" << AantalTekensAanwezig << endl;
+	  } //end gebruiker code laten raden 
+	} // end while 
+  return;
+} // end MasterMindMain 
+
+//
+// == END MASTERMIND ===
+//
+
+//
+// === SORTEREN GEDEELTE ===
+//
+
+//Een list bestaat uit allemaal vakjes.
+class Vakje {
+ public:
+  int Getal_int; //Waarde van het vakje
+  Vakje * Volgende_Vakje_pt; //Zijn 'rechterbuur'
+  Vakje * Vorige_Vakje_pt; //Zijn 'linkbuur'
+};
+
+class listvak {
+  public:
+    //default constuctor (NULL pointers)
+    listvak( );
+    //destructor: niks doen
+    ~listvak( ) { };
+    //creer de list van random lengte met randomgetallen
+    void randomlist();
+    //druk de list van links naar rechts af
+    void drukaf_l_r();
+    //druk de list van recht naar links af
+    void drukaf_r_l();
+    //sorteer de list, volgens bubblesort methode
+    int sorteren();
+    //merge L1 en L2 met opvolgend principe
+    void merge(listvak * L1, listvak * L2);
+    //vernietig de list.
+    void vernietig();
+  private:    
+    Vakje * Eerste_Vakje_pt; //pointer naar het eerste vakje
+    Vakje * Laatste_Vakje_pt; //pointer naar het laatste vakje
+};
+
+listvak::listvak( ) {
+  Eerste_Vakje_pt = NULL;
+  Laatste_Vakje_pt = NULL;
+}
+
+//voeg een AantalGetallen_int getallen toe aan de List die door Lbgin wordt gepointerd.
+void listvak::randomlist() {
+  Vakje * VakjeNew_Vakje_pt;
+  
+  for (int i = 0; i < randomgetal(1000); i++) {
+    VakjeNew_Vakje_pt = new Vakje;
+    VakjeNew_Vakje_pt->Getal_int = randomgetal(10000);
+    if (Eerste_Vakje_pt != NULL) {
+      VakjeNew_Vakje_pt->Volgende_Vakje_pt = Eerste_Vakje_pt;
+      VakjeNew_Vakje_pt->Volgende_Vakje_pt->Vorige_Vakje_pt = VakjeNew_Vakje_pt;
+    }
+    else {
+      Laatste_Vakje_pt = VakjeNew_Vakje_pt;
+    } //end if
+    
+    Eerste_Vakje_pt = VakjeNew_Vakje_pt;
+  } //end for
+} //end listvak::randomlist
+
+//druk de list af van links naar rechts
+void listvak::drukaf_l_r() {
+ Vakje * Hulp_Vakje_pt = Eerste_Vakje_pt;
+ while (Hulp_Vakje_pt != NULL) {
+  cout << Hulp_Vakje_pt->Getal_int << " ";
+  Hulp_Vakje_pt = Hulp_Vakje_pt->Volgende_Vakje_pt;
+  } //end while
+} //end listvak::drukaf_lr
+  
+//druk de list af van rechts naar links
+void listvak::drukaf_r_l() {
+ Vakje * Hulp_Vakje_pt = Laatste_Vakje_pt;
+ while (Hulp_Vakje_pt != NULL) {
+  cout << Hulp_Vakje_pt->Getal_int << " ";
+  Hulp_Vakje_pt = Hulp_Vakje_pt->Vorige_Vakje_pt;
+  } //end while
+} //end listvak::drukaf_rl
+
+//sorteren volgens de bubblesort methode (grootste getal achteraan)
+//uitvoer: aantal verwisselingen die plaatsgevonden hebben.
+int listvak::sorteren() {
+  int Verwisselingen_int = 0;
+  Vakje * BubbleHulp_Vakje_pt = Eerste_Vakje_pt; //Dit is het vakje dat gechecked wordt
+  Vakje * BubbleStop_Vakje_pt = Laatste_Vakje_pt; //Hierna hoeft niet meer gechecked worden
+  Vakje * BubbleVakA_Vakje_pt;
+  Vakje * BubbleVakB_Vakje_pt;
+  Vakje * BubbleVakC_Vakje_pt;
+  Vakje * BubbleVakD_Vakje_pt;
+  
+  while (BubbleStop_Vakje_pt->Vorige_Vakje_pt != NULL) {  
+    while ( BubbleHulp_Vakje_pt != BubbleStop_Vakje_pt ) { 
+      if (BubbleHulp_Vakje_pt->Getal_int > BubbleHulp_Vakje_pt->Volgende_Vakje_pt->Getal_int) {
+        /* Methode voor het omwisselen van vak B en C
+         *            Oude situtatie
+         * ___________________________________
+         * | Vorige | Vak Nummer  | Volgende  |
+         * |========|=============|===========|
+         * |        |     A       |   1->B    |
+         * | 2->A   |     B       |   3->C    |
+         * | 4->B   |     C       |   5->D    |
+         * | 6->C   |     D       |           |
+         * ------------------------------------
+         *        
+         *            Nieuwe situatie
+         * ___________________________________
+         * | Vorige | Vak Nummer  | Volgende  |
+         * |========|=============|===========|
+         * |        |     A       |   1->C    |
+         * | 2->C   |     B       |   3->D    |
+         * | 4->A   |     C       |   5->B    |
+         * | 6->B   |     D       |           |
+         * ------------------------------------
+         *
+         * Uitzondering betreft als A de pointer in het begin is of als
+         * D de eind pointer is.
+         */
+        BubbleVakA_Vakje_pt = BubbleHulp_Vakje_pt->Vorige_Vakje_pt;
+        BubbleVakB_Vakje_pt = BubbleHulp_Vakje_pt;
+        BubbleVakC_Vakje_pt = BubbleHulp_Vakje_pt->Volgende_Vakje_pt;
+        BubbleVakD_Vakje_pt = BubbleHulp_Vakje_pt->Volgende_Vakje_pt->Volgende_Vakje_pt;
+        
+        //Pointer 1,2 
+        if (BubbleVakA_Vakje_pt == NULL) {
+          Eerste_Vakje_pt = BubbleVakC_Vakje_pt;
+          BubbleVakC_Vakje_pt->Vorige_Vakje_pt = NULL;
+        }
+        else {
+          BubbleVakA_Vakje_pt->Volgende_Vakje_pt = BubbleVakC_Vakje_pt;
+          BubbleVakC_Vakje_pt->Vorige_Vakje_pt = BubbleVakA_Vakje_pt;
+        } //end if
+       
+        //Pointer 3,4
+        BubbleVakB_Vakje_pt->Vorige_Vakje_pt = BubbleVakC_Vakje_pt;
+        BubbleVakC_Vakje_pt->Volgende_Vakje_pt = BubbleVakB_Vakje_pt;
+
+        //Pointer 5,6
+        if (BubbleVakD_Vakje_pt == NULL) {
+          Laatste_Vakje_pt = BubbleVakB_Vakje_pt;
+          BubbleVakB_Vakje_pt->Volgende_Vakje_pt = NULL;
+          BubbleStop_Vakje_pt = BubbleVakB_Vakje_pt;
+        }
+        else {
+          BubbleVakD_Vakje_pt->Vorige_Vakje_pt = BubbleVakB_Vakje_pt;
+          BubbleVakB_Vakje_pt->Volgende_Vakje_pt = BubbleVakD_Vakje_pt;
+        } //end if
+
+        //In het geval dat het vakje van de stop pointer kleiner is als het vakje ervoor,
+        //zal de stop pointer over het nieuwe vakje moeten vallen, anders komt hij het stop
+        //teken nooit tegen.
+        // A B C D
+        // 5 9 7 10
+        //   ^ ^ 
+        //   | |Stop pointer 
+        //   | Huidige Waarde
+        // 
+        // ZONDER AANPASSING          MET AANPASSING
+        //
+        // A C B D                    A C B D
+        // 5 7 9 10                   5 7 9 10
+        //   ^ ^                        ^ ^
+        //   | |Huidige Waarde          | |Huidige Waarde + Stop Pointer
+        //   | Stop Pointer             |
+        //
+        if (BubbleStop_Vakje_pt == BubbleVakC_Vakje_pt) {
+          BubbleStop_Vakje_pt = BubbleVakB_Vakje_pt; 
+        } //end if
+        
+        Verwisselingen_int++;
+      }
+      else {
+        BubbleHulp_Vakje_pt = BubbleHulp_Vakje_pt->Volgende_Vakje_pt;
+      } //end if
+    } //end while
+    BubbleHulp_Vakje_pt = Eerste_Vakje_pt;
+    BubbleStop_Vakje_pt = BubbleStop_Vakje_pt->Vorige_Vakje_pt;
+  } //end while
+  return (Verwisselingen_int);
+} //end listvak::sorteren
+
+void listvak::merge(listvak * L1, listvak * L2) {
+  bool Toevoegen_bool = true; //zolang true bestaan er nog waardes die toegevoegd moeten worden
+  
+  Vakje * HulpL1_Vakje_pt = L1->Laatste_Vakje_pt; //pointer die bijhoudt waar we in L1 zijn
+  Vakje * HulpL2_Vakje_pt = L2->Laatste_Vakje_pt; //pointer die bijhoudt waar we in L2 zijn
+  
+  Vakje * VakjeNew_Vakje_pt; //pointer bij gebruikt wordt bij het maken van nieuwe vakjes
+
+  while (Toevoegen_bool) {
+    VakjeNew_Vakje_pt = new Vakje;
+    if (Eerste_Vakje_pt != NULL) {
+      VakjeNew_Vakje_pt->Volgende_Vakje_pt = Eerste_Vakje_pt;
+      VakjeNew_Vakje_pt->Volgende_Vakje_pt->Vorige_Vakje_pt = VakjeNew_Vakje_pt;
+    }
+    else {
+      Laatste_Vakje_pt = VakjeNew_Vakje_pt;
+    } //end if
+    Eerste_Vakje_pt = VakjeNew_Vakje_pt;
+ 
+    if ((HulpL1_Vakje_pt != NULL) && (HulpL2_Vakje_pt != NULL)) { //beiden bevatten nog een getal
+      if (HulpL1_Vakje_pt->Getal_int > HulpL2_Vakje_pt->Getal_int) {
+        VakjeNew_Vakje_pt->Getal_int = HulpL1_Vakje_pt->Getal_int;
+        HulpL1_Vakje_pt = HulpL1_Vakje_pt->Vorige_Vakje_pt;
+      }
+      else {
+        VakjeNew_Vakje_pt->Getal_int = HulpL2_Vakje_pt->Getal_int;
+        HulpL2_Vakje_pt = HulpL2_Vakje_pt->Vorige_Vakje_pt;
+      } //end if
+    }  
+    else if (HulpL1_Vakje_pt != NULL) { //L2 leeg, enkel waardes uit L1 plakken
+        VakjeNew_Vakje_pt->Getal_int = HulpL1_Vakje_pt->Getal_int;
+        HulpL1_Vakje_pt = HulpL1_Vakje_pt->Vorige_Vakje_pt;
+    }
+    else if (HulpL2_Vakje_pt != NULL) { //L1 leeg, enkel waardes uit L2 plakken
+        VakjeNew_Vakje_pt->Getal_int = HulpL2_Vakje_pt->Getal_int;
+        HulpL2_Vakje_pt = HulpL2_Vakje_pt->Vorige_Vakje_pt;
+    }
+    else { //alles leeg, 'over en sluiten'
+      Toevoegen_bool = false;
+    } //end if
+  } //end while
+} //end listvak::merge
+
+//vernietig de list
+void listvak::vernietig() {
+  Vakje * Hulp_Vakje_pt;
+  while (Eerste_Vakje_pt != NULL) {
+    Hulp_Vakje_pt = Eerste_Vakje_pt->Volgende_Vakje_pt;
+    delete Eerste_Vakje_pt;
+    Eerste_Vakje_pt = Hulp_Vakje_pt;
+  } //end while;    
+  Laatste_Vakje_pt = NULL;
+} //end listvak::vernietig
+
+//
+// === END SORTEREN ===
+//
+
+
+//
+// === MENU GEDEELTE ===
+//
+
+
+//scherm leegmaken
+void clearall() {
+  system("cls"); //maakt scherm leeg in Dos
+  system("clear"); //maakt scherm leeg
+  cin.clear(); //maak invoerbuffer leeg
+  cin.ignore(INT_MAX, '\n'); //alles was nog te wachten staat negeren
+}
+
+
+void SubMenuMasterMind() {
+  MastermindMain();
+} //end SubMenuMasterMind
+
+void SubMenu3keerplus1() { 
+  char MenuKeuze = ' ';
+  int lengte, getal;
+  grootgetal BigGetal;
+ 
+  while (true) {
+    cout  << " --------------------- 3x+1 -----------------    " << endl
+          << "Maak een keuze uit de volgende opties:           " << endl
+          << "- Bepaal de lengte,  random generatie getal (R/r)" << endl
+          << "- Bepaald de lengte, bepaal het getal zelf (Z/z) " << endl
+          << "- Terug naar Het hoofdmenu (T/t)                 " << endl
+          << "                                                 " << endl
+          << "Keuze: " << endl; cin >> MenuKeuze;
+   clearall();
+  				 	           
+    switch (MenuKeuze) {
+      case 't': case 'T': //Terug naar Hoofdmenu
+        return;
+        break;
+      case 'r': case 'R': //Vul L1 random
+        cout << "Vul het aantal elementen in: ";
+        cin >> lengte;
+        BigGetal.vulrandom(lengte);
+        BigGetal.vermoedentest();
+        break;
+      case 'z': case 'Z': //Vul L2 random
+        cout << "Vul het aantal elementen in: ";
+        cin >> lengte;
+        cout << endl;
+        cout << "Vul het getal in: ";
+        cin >> getal;
+        BigGetal.vul(getal,lengte);  
+        BigGetal.vermoedentest();                    
+        break;
+      default:
+        cout << "GEEN GOEDE INVOER ..." << endl;
+        break;
+    }  // end switch
+  }  // end while
+} // end Menu3keerplus1 
+
+
+void SubMenuSorteren() {
+  char Menukeuze = ' ';
+  listvak L1,L2,L3;  
+
+  while (true) {
+    cout << " ------------- Sorteren --------------- " << endl
+         << "Maak een keuze uit de volgende opties:  " << endl
+         << "- Vul L1 random (A/a)                   " << endl
+         << "- Vul L2 random (B/b)                   " << endl
+         << "- Vul L3 random (C/c)                   " << endl
+         << "- Vernietig L1 (D/d)                    " << endl
+         << "- Vernietig L2 (E/e)                    " << endl
+         << "- Vernietig L3 (F/f)                    " << endl
+         << "- Bubblesort L1 (G/g)                   " << endl
+         << "- Bubblesort L2 (H/h)                   " << endl
+         << "- Bubblesort L3 (I/i)                   " << endl
+         << "- Merge L1 en L2 naar L3 (J/j)          " << endl
+         << "- Hierbij wordt L1,L2 gesorteerd en L3 gewist " << endl
+         << "- Terug naar Algoritmen (T/t)           " << endl
+         << "                                        " << endl
+         << "Keuze: ";
+
+    cin >> Menukeuze;
+    clearall();  
+   		                    
+    switch (Menukeuze) {
+      case 'a': case 'A': //Vul L1 random
+        L1.randomlist();
+        L1.drukaf_r_l();
+        break;
+      case 'b': case 'B': //Vul L2 random
+        L2.randomlist(); 
+        L2.drukaf_r_l();                          
+        break;
+      case 'c': case 'C': //Vul L3 random
+        L3.randomlist();
+        L3.drukaf_r_l();
+        break;
+      case 'd': case 'D': //Vernietig L1
+        L1.vernietig();
+        break;
+      case 'e': case 'E': //Vernietig L2
+        L2.vernietig();
+        break;
+      case 'f': case 'F': //Vernietig L3
+        L3.vernietig();
+        break;
+      case 'g': case 'G': //Bubblesort L1
+        L1.sorteren();
+        L1.drukaf_l_r();
+        cout << endl << endl;
+        break;
+      case 'h': case 'H': //Bubblesort L2
+        L2.sorteren();
+        L2.drukaf_l_r();
+        cout << endl << endl;
+        break;
+      case 'i': case 'I': //Bubblesort L3
+        L3.sorteren();
+        L3.drukaf_l_r();
+        cout << endl << endl;
+        break;
+      case 'j': case 'J': //Merge L1 en L2 naar L3
+        L1.sorteren();
+        L2.sorteren();
+        L3.vernietig();
+        L3.merge(&L1,&L2);
+        cout << endl << endl;
+        L3.drukaf_l_r();
+        cout << endl;
+        break;
+      case 't': case 'T': //Naar AlgoritmeMenu
+        return;
+        break;
+      default:
+        cout << "GEEN GOEDE INVOER ..." << endl;
+        break;
+    }  // end switch
+  } // end while
+} //end SubMenuSorteren
+  
+
+void SubMenuAlgoritmen() {
+char Menukeuze = ' ';
+
+  while (true) {
+    cout << " ------------- Algoritmen ------------- " << endl
+         << "Maak een keuze uit de volgende opties:  " << endl
+         << "->Sorteren (S/s)                        " << endl
+         << "->3x+1 (X/x)                            " << endl
+         << "->Terug naar het Hoofdmenu (T/t)        " << endl
+         << "                                        " << endl
+         << "Keuze: ";
+    cin >> Menukeuze;
+    clearall();
+  
+    switch (Menukeuze) {
+    case 's': case 'S':
+      SubMenuSorteren();
+      break;
+    case 'x': case 'X':
+      SubMenu3keerplus1(); 
+      break;
+    case 't': case 'T':
+      return;
+      break;
+    default:
+      cout << "GEEN GOEDE INVOER" << endl
+           << endl;
+      break;
+    } // end switch
+  } // end while
+
+} // end SubMenuAlgoritmen
+
+ 
+void HoofdMenu() {
+  char Menukeuze = '';
+  while (true) { //oneindige loop
+    cout << "-----Hoofdmenu----" << endl
+         << "->Algoritmen (a/A)" << endl
+         << "->Mastermind (m/M)" << endl
+         << "->Stoppen    (s/S)" << endl
+         << "                  " << endl
+         << "Keuze: ";
+    cin >> Menukeuze;
+    clearall(); 
+  
+    switch (Menukeuze) {
+      case 'a': case 'A':  //sub menu Algoritmen
+        SubMenuAlgoritmen();
+        break;
+      case 'm': case 'M': //Mastermind
+        SubMenuMasterMind();
+        break;
+      case 's': case 'S': // Stoppen
+        cout << "Goodbye" << endl;
+        return;
+        break;
+      default:
+        cout << "GEEN GOEDE INVOER" << endl
+            << endl;
+      } //end switch
+  } // end while 
+} // end HoofdMenu
+
+//
+// === END MENU GEDEELTE ===
+//
+
+
+int main() {
+  clearall();
+  HoofdMenu();
+}
+
Index: /liacs/pm/backup/menuopdr2.cc
===================================================================
--- /liacs/pm/backup/menuopdr2.cc	(revision 2)
+++ /liacs/pm/backup/menuopdr2.cc	(revision 2)
@@ -0,0 +1,59 @@
+//menu
+
+#include <iostream>
+#include <string>
+#include <fstream>
+
+using namespace std;
+
+void Intro() {
+
+	cout	<< "---------------------------------------------" << endl
+			<< "|			University of Leiden			|" << endl
+			<< "|		Programmeermethoden opdracht 2		|" << endl
+			<< "|											|" << endl
+			<< "|				Gemaakt door:				|" << endl
+			<< "|			Rick van der Zwet				|" << endl
+			<< "|			Pascal de Vos					|" << endl
+			<< "|											|" << endl
+			<< "|											|" << endl
+			<< "|	Getest op:	Unix systeem (Sun OS)		|" << endl
+			<< "|				Windows systeem (Win XP)	|" << endl
+			<< "---------------------------------------------" << endl
+			<< endl;
+			}
+
+Int KeuzeMenu()
+{
+
+int GekozenOptie = 0;
+			
+// Menu opties: (1) Encoderen
+//				(2) Decoderen
+// (1) --> FileName invoeren --> encodeer sleutel invoeren
+// (2) --> FileName invoeren --> decodeer sleutel invoeren
+
+	cout	<< "Kies uit de volgende opties:" << endl
+			<< "Encodeer een file (1)" << endl
+			<< "Decodeer een file (2)" << endl
+			<< "Beeindig het programma (q)" << endl
+			<< endl;
+
+	cin >> GekozenOptie;
+
+	if (GekozenOptie == 1) //door naar encoderen, filenamevrag in encoderen verwerken
+		{
+			cout << "voer de naam van de te coderen file in" << endl;
+			cin >> FileName;
+		}
+	
+		if (GekozenOptie == 2)
+			{
+				cout << "Voer de naam van de te decoderen file in (eindigt op .crp)" << endl;
+				cin << FileName.crp;
+			}	
+	
+		else return(1)
+		
+				
+				
Index: /liacs/pm/backup/nim.cc
===================================================================
--- /liacs/pm/backup/nim.cc	(revision 2)
+++ /liacs/pm/backup/nim.cc	(revision 2)
@@ -0,0 +1,308 @@
+//Rick van der Zwet
+//Pascal de Vos
+//Programeeropgave 4, Nim Spel
+
+#include <iostream>
+#include <ctime>
+#include <cstdlib>
+
+using namespace std;
+
+//constanten
+const int MaxStapels = 4;       //Maximale Aantal Stapels
+const int MaxAantal = 4;        //Maximale Aantal Lucifers
+
+
+
+//creeer random getal met behulp van de random functie;
+int RandomGetal(int Min, int Max){
+  return ( Min + int( double(Max + 1 - Min) * rand()/(RAND_MAX+1.0)) );
+} //RandomGetal
+
+
+
+//Zorgt dat de gebruiker enkel getallen <= Max in kan voeren
+int VoerInGetal(int Min, int Max){
+  int x = 0;
+	do {
+    if(!(cin >> x)) {
+			cout << "Enkel Cijfers aub" << endl;
+			cin.clear();
+			cin.ignore(10000,'\n');
+		}
+		else if (x > Max) {
+			cout << "Te groot getal" << endl;
+    } 
+	  else if (x < Min) {
+      cout << "Te klein getal" << endl;
+    }// end if
+  } // end do
+	while((x < Min) or (x > Max));
+	return x;
+} //end VoerInGetal 
+
+
+
+//Class die gebruikt wordt om terugzetten te realiseren
+class NimData{
+  public:
+    NimData( ); //creator
+    ~NimData( ) { }; 
+    int StapelNummer; //Nummer van de stapel waar het
+    int AantalEraf; //AantalEraf af is gegaan
+    NimData * VorigeZet_pt; //Pointer naar de zet ervoor, maakt stapelen mogelijk
+};// end NimData
+
+NimData::NimData( ){
+  StapelNummer = 0;      
+  AantalEraf = 0;         
+  VorigeZet_pt = NULL;    
+}// end NimData::NimData
+
+
+
+class NimSpel{
+  public:
+    NimSpel( );                           //creator
+    ~NimSpel( ) { };                      //destructor
+    void NimSpelen( );                    //Main programma
+  private:
+    NimData * LaatsteZet_pt;              //Pointer naar gegevens laatste zet
+    int AantalZetten;                     //aantal zetten dat gedaan is
+    int Stapels[MaxStapels];              //aantal luicifers per stapel
+    int SpelerAanBeurt;                   //speler die aan de beurt is
+    //2 spelers, nummer 1 is de speler, nummer 2 is computer 
+    double WinstArray[MaxAantal + 1][3];  //slim berekende winst array voor computer 'ai'
+    //[0] = totaal aantal mogelijkheden, [1] = aantal winnen, [2] = aantal verliezen
+    
+    void PakWeg(int Groep, int Aantal);   //Haal Aantal uit Stapels[Groep]
+    void ZetTerug(int AantalStappen);     //Ga AantalStappen terug
+    void SpelerKiest ( );                 //Invoerscherm voor gebruiker
+    void ComputerNiveauSlim(int * StapelNummer, int * Aantal); //Computer berekening
+    void ComputerKiest (int Niveau);      //ComputerHandelingen
+    void DrukAf( );                       //Druk Spel af
+    bool SpelAfgelopen( );                // Kijken af alles afgelopen is
+}; //end NimSpel
+
+
+
+//init van de groepen array
+NimSpel::NimSpel( ){
+  LaatsteZet_pt = NULL;
+  AantalZetten = 0;
+  SpelerAanBeurt = 1;
+  
+  for(int i = 0; i < MaxStapels; i++) {
+    Stapels[i] = MaxAantal;
+  } //end for
+ 
+  //Bedacht en getest algoritme 
+  WinstArray[0][0] = 1;
+  WinstArray[0][1] = 0;
+  WinstArray[0][2] = 1;
+  WinstArray[1][0] = 1;
+  WinstArray[1][1] = 1;
+  WinstArray[1][2] = 0;
+  WinstArray[2][0] = 1;
+  WinstArray[2][1] = 1;
+  WinstArray[2][2] = 0;
+  for(int i = 3; i < MaxAantal + 1; i++){
+    WinstArray[i][0] = WinstArray[i-1][0] + WinstArray[i-2][0];
+    WinstArray[i][1] = WinstArray[i-1][2] + WinstArray[i-2][2];
+    WinstArray[i][2] = WinstArray[i][0] - WinstArray[i][1];
+  }
+} //end NimSpel::NimSpel
+
+
+
+void NimSpel::PakWeg(int StapelNummer, int Aantal){
+  NimData * temp_pt;                          //
+  temp_pt = new NimData;                      //
+  temp_pt->VorigeZet_pt = LaatsteZet_pt;      //Zetten onthouden
+  LaatsteZet_pt = temp_pt;                    //
+  LaatsteZet_pt->StapelNummer = StapelNummer; //
+  LaatsteZet_pt->AantalEraf = Aantal;         //
+  
+  AantalZetten++;                             //Max Zetten bijhouden
+
+  Stapels[StapelNummer] = Stapels[StapelNummer] - Aantal; 
+} //end NimSpel::NimSpel
+
+
+
+void NimSpel::ZetTerug(int AantalStappen) {
+  NimData * temp_pt;
+  for(int i = 0; i < AantalStappen; i++) {
+    temp_pt = LaatsteZet_pt;
+    Stapels[temp_pt->StapelNummer] = Stapels[temp_pt->StapelNummer] + temp_pt->AantalEraf;
+    AantalZetten--;
+    LaatsteZet_pt = temp_pt->VorigeZet_pt;
+    delete temp_pt;
+  } //end for
+} //end NimSpel::ZetTerug
+
+
+
+void NimSpel::SpelerKiest( ){
+  int StapelNummer, Aantal, AantalStappen = 0;
+  
+  cout << "Maximaal terug te zetten zetten: " << AantalZetten << endl
+       << "'0' om niet terug te zetten"                       << endl
+       << "Aantal zetten: ";
+  AantalStappen = VoerInGetal(0, AantalZetten);
+  
+  if (AantalStappen == 0) {
+    do{
+      cout << "Speler aan de beurt" << endl;
+      cout << "Welke stapel [0-" << (MaxStapels - 1) << "] : ";
+      StapelNummer = VoerInGetal(0, MaxStapels - 1);
+      cout << "Hoeveel [1-2] : ";
+      Aantal = VoerInGetal(1, 2);
+      if (Stapels[StapelNummer] - Aantal < 0){
+        cout << Stapels[StapelNummer] << endl;
+        cout << "Geen Geldige Combinatie, probeer opnieuw";
+      } //end if
+    } //end do
+    while(Stapels[StapelNummer] - Aantal < 0);
+    PakWeg(StapelNummer, Aantal);
+  }
+  else { //Ga AantalStappen terug zetten 
+    ZetTerug(AantalStappen);
+    SpelerAanBeurt = SpelerAanBeurt - 1 + (AantalStappen%2); //ivm met onevenaantal terug zetten
+  }// end if
+} //end NimSpel::SpelerKiest
+
+
+
+void NimSpel::ComputerNiveauSlim(int * StapelNummer, int * Aantal) {
+  double KansMax, KansMet1, KansMet2 = 0; //tempvariablen, voor het bepalen van de max
+  for(int i = 0; i < MaxStapels; i++) {
+    if (Stapels[i] > 0) {
+      KansMet1 = WinstArray[Stapels[i]-1][2] / WinstArray[Stapels[i]-2][0];
+    }
+    else {
+      KansMet1 = 0;
+    }//end if
+    
+    if (Stapels[i] > 1) {
+      KansMet2 = WinstArray[Stapels[i]-2][2] / WinstArray[Stapels[i]-2][0];
+    }
+    else {
+      KansMet2 = 0;
+    }//end if
+    
+    if(KansMet1 > KansMax) {
+      *Aantal = 1;
+      *StapelNummer = i;
+      KansMax = KansMet1;
+    }//end if
+    
+    if(KansMet2 > KansMax) {
+      *Aantal = 2;
+      *StapelNummer = i;
+      KansMax = KansMet2;
+    }//end if
+  }//end for
+}// end NimSpel::ComputerNiveauSlim  
+
+
+
+void NimSpel::ComputerKiest(int Niveau) {
+  int StapelNummer = 0; //Voor het geval alles op verliezen staat ;-)
+  int Aantal = 1;       //
+  char wait; //loze char ivm met Wachten om ENTER invoer.
+  
+  cout << "Computer Kiest..." << endl;
+  switch (Niveau) {
+  case 1: //random keuze
+    do {
+      StapelNummer = RandomGetal(0, (MaxStapels-1));
+      Aantal = RandomGetal(1, 2);
+    } //end do
+    while(Stapels[StapelNummer] - Aantal < 0);
+    break;
+  case 2: //slimme keuze
+      ComputerNiveauSlim(&StapelNummer, &Aantal);
+    break;
+  default: //dedug keuze
+    StapelNummer = 0;
+    Aantal = 2;
+    break;
+  } //end switch
+  
+  cout << "Stapel: " << StapelNummer << endl;
+  cout << "Aantal: " << Aantal << endl;
+  cout << "Druk op ENTER...";
+  cin.clear();
+  cin.ignore(10000,'\n');
+  cin.get(wait); 
+  PakWeg(StapelNummer, Aantal);
+} //end NimSpel::Computerkiest
+
+
+
+void NimSpel::DrukAf( ){
+  system("clear"); //OS Dependent Line, for windows use 'system("cls");' instead. 
+  cout << endl << "   : ";
+  for(int i = 0; i < MaxStapels; i++) {
+    if (i < 10) {cout << " " << i << " | ";} else { cout << i << " | ";}
+  }//end for
+  for(int i = 1; i <= MaxAantal; i++) {
+    cout << endl;
+    if (i < 10) {cout << " " << i << " : ";} else { cout << i << " : ";}
+    for(int j = 0; j < MaxStapels; j++) {
+      if (i <= Stapels[j]) { cout << "XX | ";} else { cout << "   | ";}
+    }//end for
+  }//end for
+  cout << endl << endl;
+}//end NimSpelDrukAf
+
+
+
+bool NimSpel::SpelAfgelopen( ){
+  for(int i = 0; i < MaxStapels; i++) {
+    if (Stapels[i] > 0) { //als er nog ergens waardes aanwezig zijn
+      return (false);
+    }//end if
+  }//end if
+  return (true);
+}//end NimSpelAfgelopen
+
+
+
+void NimSpel::NimSpelen( ){
+  int Niveau = 0;                       //
+  cout << endl                          // 
+       << "Geef het niveau aan" << endl //
+       << "1) Random          " << endl //Niveau bepalen
+       << "2) Winnend Spelen  " << endl;//
+  Niveau =VoerInGetal(1,2);             //
+  
+  while (not(SpelAfgelopen( ))) {       //Zolang spel niet afgelopen
+  DrukAf( );                            //Druk bord af
+  if (SpelerAanBeurt == 1) {            //a1) Speler 1 aan de beurt
+      SpelerKiest( );                   //a2) Speler Doorwerken, keuzes enz.
+      SpelerAanBeurt++;                 //a3) Computer aan de beurt
+    }   
+    else if (SpelerAanBeurt == 2) {     //b1) Computer aan de Beurt
+      ComputerKiest(Niveau);            //b2) Computer op Niveau laten spelen
+      SpelerAanBeurt = 1;               //b3) Speler aan de beurt
+    } //end if
+  } //end while 
+  if (SpelerAanBeurt == 2) {           //ivm met regels a3,b3 
+    cout << "Voila uw heeft GEWONNEN" << endl;
+  }
+  else {
+    cout << "DE COMPUTER IS DE BESTE !!!" <<endl;
+  }//end if
+} //end NimSpel::NimSpelen
+
+
+
+int main( ){
+  srand(time(0));     //elke keer andere random begin waarde
+  NimSpel Spel1;      //nieuw spel
+  Spel1.NimSpelen();  //spelen
+}// end main
+
+
Index: /liacs/pm/backup/oefpoint.cc
===================================================================
--- /liacs/pm/backup/oefpoint.cc	(revision 2)
+++ /liacs/pm/backup/oefpoint.cc	(revision 2)
@@ -0,0 +1,199 @@
+
+//                                                                      
+// Programmeermethoden 2004
+//
+// http://www.liacs.nl/home/kosters/pm/oefpoint.cc
+// C++-programma om te oefenen in het gebruik van pointers.
+// Er moet een enkelverbonden pointerlijst gefabriceerd worden,
+// waarbij de vakjes die met elkaar verbonden worden bestaan uit
+//   1. Een int(eger)
+//   2. Een pointer naar het volgende vakje (of NULL)
+//   3. Een pointer naar een int(eger) (of NULL)
+// Schrijf de functies Afdrukken, MaakVakje, Toevoegen, Verwijderen   
+// en tot slot GesorteerdToevoegen - in deze volgorde.  
+// Er is ook een uitwerking van dit programma beschikbaar: 
+//   http://www.liacs.nl/home/kosters/pm/pointer.cc
+//                        
+// Compiler: GNU g++ / Borland C++ / Visual C++                         
+// Datum: 24 okt 1995, 29 okt 1996, 15 nov 1999, 17 nov 2000, 22 okt 2001
+// Auteur: Walter Kosters, Informatica Universiteit Leiden
+//         email kosters@liacs.nl, telefoon 071-5277059
+//
+
+#include <iostream>
+using namespace std;
+
+// het soort vakje waar het om draait:
+
+class vakje {              // een struct mag ook
+  public:                  
+    int info;              
+    vakje* volgende;       
+    int* andere;
+};  // vakje
+
+//
+//   +-----+        +----+----+-----+        +----+----+-----+
+//   |   --+------> | 34 |  | |   --+------> | 56 |  | | NULL|
+//   +-----+        +----+--+-+-----+        +----+--+-+-----+
+//  ingang                  |                        |
+//                          V                        V
+//                       +----+                   +----+
+//                       | 23 |                   | 18 |
+//                       +----+                   +----+
+//       
+// ingang wijst dus een vakje uit een lijst vakjes aan
+// waarbij ieder vakje informatie bevat (het info-veld), 
+// een pointer naar het volgende vakje, en ook nog een 
+// pointer naar een int(eger) (het andere-veld); om zulke 
+// structuurtjes te maken is doorgaans in totaal steeds 
+// twee maal new nodig, voor het voorbeeld hierboven in 
+// totaal vier
+// Een voorbeeld: het getal 34 wordt afgedrukt via:  
+//   cout << ingang->info << endl;
+// En het getal 18 via:
+//   cout << *(ingang->volgende->andere) << endl;
+// En een pointer hulp (vakje* hulp) gaat naar het vakje
+// met onder andere 56 erin wijzen via:
+//   hulp = ingang->volgende;
+//
+
+// ************************************************************************
+
+void Afdrukken (vakje* ingang) {
+// druk lijst met ingang als ingang af 
+  cout << "Lijst afdrukken ..." << endl;
+  vakje* hulp = ingang;
+  while ( hulp != NULL ){
+    cout << hulp->info << endl;
+	hulp = hulp->volgende;
+  }
+	
+  //
+  //   XXXXXX
+  //     XX
+  //     XX
+  //   XXXXXX
+  //
+  
+}  // Afdrukken
+ 
+void MaakVakje (vakje* & p, int een, int twee) {
+// laat p naar nieuw vakje met een, twee erin wijzen;        
+// preciezer: nieuw vakje met getal een en een POINTER naar een     
+// nieuwe int met getal twee erin                                   
+// mooier: als bijvoorbeeld twee = -1, dan p->andere NULL maken 
+  cout << "Maak een nieuw vakje ..." << endl;
+  p = new vakje;
+  p->info = een;
+  if (twee > 0){
+    p->andere = new int;
+    *(p->andere) = twee;
+  }
+  else {
+    p->andere = NULL;
+  }
+}  // MaakVakje
+ 
+void Toevoegen (vakje* & ingang, int een, int twee) {
+// voeg vakje met getallen een en twee erin vooraan lijst ingang toe
+// gebruik MaakVakje
+  cout << "Voeg een nieuw vakje toe ..." << endl;
+  vakje* hulp = ingang;
+  
+  MaakVakje (ingang,een,twee);
+  ingang->volgende = hulp;
+
+}  // Toevoegen
+
+void Verwijderen (vakje*& ingang) {
+// gooi eerste vakje van lijst ingang weg als ingang niet NULL is
+  cout << "Verwijder een vakje ..." << endl;
+    
+  if (ingang != NULL){
+  	vakje* hulp = ingang;
+	ingang = ingang->volgende;
+	delete hulp->andere;
+  	delete hulp;	
+  }
+  
+}  // Verwijderen
+
+void GesorteerdToevoegen (vakje* & ingang, int een, int twee) {
+// voeg vakje met getallen een en twee erin toe aan lijst ingang,
+// en wel voor het eerste grotere getal (als dat er is),
+// dus gesorteerd op info-velden
+// gebruikt TWEE pointertjes om door de lijst te lopen, en berg
+// het nieuwe vakje "tussen" deze twee op
+  cout << "Voeg een nieuw vakje gesorteerd toe (lastig) ..." << endl;
+    
+  vakje* hulp1 = ingang;
+  vakje* hulp2 = ingang->volgende;
+  while (hulp2 != NULL)
+    if(een > hulp2->info){
+	  vakje nieuw;
+	  nieuw-
+	}
+	hulp1 = hulp2;
+	hulp2 = hulp2->volgende;
+  }
+  //
+  //   XX     XX
+  //    XX   XX
+  //     XX XX
+  //      XXX
+  //
+  
+}  // GesorteerdToevoegen
+
+void LeesInGetallen (int & een, int & twee) {
+// lees integers een en twee in
+  cout << "Eerste getal svp .. ";
+  cin >> een;
+  cout << "Tweede getal svp .. ";
+  cin >> twee;
+}  // LeesInGetallen
+
+// *********************************************************************
+
+int main ( ) {
+
+  vakje* ingang = NULL; // ingang van de op te bouwen lijst (nu nog leeg)
+  char keuze;           // wat wil de gebruiker?
+  int een, twee;        // toe te voegen getallen
+
+  do {
+    cout << "Kies uit: [s]toppen, [g]esorteerd [t]oevoegen," << endl
+         << "          [a]fdrukken, [v]erwijderen          " << endl
+         << "Uw keuze: ";
+    cin >> keuze;
+    switch (keuze) {
+      case 's': case 'S':
+        cout << "Dat was het dan ..." << endl; 
+        break;
+      case 't': case 'T':
+        LeesInGetallen (een,twee);
+        Toevoegen (ingang,een,twee);
+        break;
+      case 'a': case 'A':
+        Afdrukken (ingang);
+        break;
+      case 'v': case 'V':
+        Verwijderen (ingang);
+        break;
+      case 'g': case 'G':
+        LeesInGetallen (een,twee);
+        GesorteerdToevoegen (ingang,een,twee);
+        break; 
+      default:
+        cout << "Niet toegestane menukeuze ..." << endl;
+    }  // switch
+  }  // do
+  while ( ! ( keuze == 's' ) && ! ( keuze == 'S' ) );
+
+  // while ( ingang != NULL )  // netjes opruimen
+  //   Verwijderen (ingang);
+
+  return 0;
+
+}  // main
Index: /liacs/pm/backup/opdr2-3.cc
===================================================================
--- /liacs/pm/backup/opdr2-3.cc	(revision 2)
+++ /liacs/pm/backup/opdr2-3.cc	(revision 2)
@@ -0,0 +1,368 @@
+#include <iostream>
+#include <string>
+#include <fstream>
+
+using namespace std;
+
+
+
+void Intro() 
+{
+
+	cout	<< "---------------------------------------------------" << endl
+			<< "|              University of Leiden               |" << endl
+			<< "|         Programmeermethoden opdracht 2          |" << endl
+			<< "|                                                 |" << endl
+			<< "|                 Gemaakt door:                   |" << endl
+			<< "|               Rick van der Zwet                 |" << endl
+			<< "|                 Pascal de Vos                   |" << endl
+			<< "|                                                 |" << endl
+			<< "|                                                 |" << endl
+			<< "| Getest op: Unix systeem (Sun OS)                |" << endl
+			<< "|            Windows XP (Dev-C++ 4.9.9.0)         |" << endl
+			<< "|            Freebsd 5.2.1-r11 gcc version 3.3.3  |" << endl
+			<< "---------------------------------------------------" << endl
+			<< endl;
+}
+
+				
+//Laat de statistieken op het scherm zien 
+void Statistiek(double TotaalCodeTekens, double TotaalGewoneTekens, double TotaalGewisteTekens, int RegelNummers, int LangsteRegelNummer, int LangsteRegelAantalTekens) 
+{
+		cout	<< "Aantal gecopierde tekens : " << TotaalGewoneTekens << endl
+				<< "Aantal gecodeerde tekens : " << TotaalCodeTekens << endl
+				<< "Aantal gewiste    tekens : " << TotaalGewisteTekens << endl
+				<< "Aantal Regels : " << RegelNummers <<endl
+				<< "Langste Regels : " << LangsteRegelNummer << " heeft " << LangsteRegelAantalTekens	<< " tekens" << endl; 
+	
+}
+
+//SoortCrypt 1 = Encoderen, 2 = Decoderen
+
+int Crypt(int SoortCrypt, string FileName, string FileNameOutput, string passwd, bool Statistieken, int RegelBegin, int RegelEind)
+{
+	//encode variablen	
+	char ch = ' '; 
+	int LetterPositie = 0;
+	int StringLengte = passwd.length() - 1;
+	int SlashAantal = 0;
+	bool Loop = false;
+	
+	//decode variablen
+	int DecodedChar = 0;
+	
+	//statistieken gedeelde	
+	int AantalTekens = 0;
+	int LangsteRegelAantalTekens = 0;
+	int RegelNummer = 1;
+	int LangsteRegelNummer = 1;
+
+	double TotaalGewisteTekens = 0;
+	double TotaalCodeTekens = 0;
+	double TotaalGewoneTekens = 0;
+	if (RegelEind < RegelBegin)
+	{
+		cout << "ERROR in invoer van regelnummers" << endl;
+		return(0);
+	}
+
+	ifstream Invoer(FileName.c_str(), ios::in);
+	ofstream Uitvoer(FileNameOutput.c_str(), ios::out);
+	
+	//deel 1
+	//niet coderen zolang gewenste niet bereikt is while (RegelNummer < RegelBegin)  
+	while (RegelNummer < RegelBegin)
+	{
+		if (Invoer.get(ch))
+		{
+			TotaalGewoneTekens++; //Tekens tellen
+			if (ch == 10)
+			{
+				RegelNummer++; // Regels Tellen
+			}
+			Uitvoer.put(ch); // code copieren
+		}
+		else // alle tekens van de file gehad of error in ophalen, netjes afsluiten
+		{
+			Invoer.close();
+			Uitvoer.close();
+			if (Statistieken) 
+			{ 
+				Statistiek(TotaalCodeTekens, TotaalGewoneTekens, TotaalGewisteTekens, RegelNummer, LangsteRegelNummer, LangsteRegelAantalTekens);
+			return(0);
+			}
+		}
+	} //end deel1		
+	
+
+	//deel 2
+	//coderen of decoderen al naargelang gewenst is.
+	if (SoortCrypt == 1) 
+	{
+		while (RegelNummer <= RegelEind) //dit is het gedeelte wat versleuteld moet worden.
+		{
+			if (Invoer.get(ch))
+			{
+				//statistieken gedeelde
+				AantalTekens++;
+				if ( ch == 10)
+				{
+					RegelNummer++;
+					TotaalCodeTekens += AantalTekens;
+					if (AantalTekens > LangsteRegelAantalTekens)
+					{
+						LangsteRegelAantalTekens = AantalTekens;
+						LangsteRegelNummer = RegelNummer;
+					}
+					AantalTekens = 0;
+				}
+				if (ch == 47)		//char is een slash
+				{
+					SlashAantal++;
+					if (SlashAantal == 2) //als er 2 slashjes achter elkaar staan
+					{
+						Loop = true;
+						TotaalGewisteTekens += 2;
+						while(Loop == true) // ga net zolang char's uitlezen tot je aan het eind van de regel bent
+						{
+							TotaalGewisteTekens++;
+							Invoer.get(ch);
+							if (ch == 13) 
+							{
+								Uitvoer.put(ch);
+								Invoer.get(ch); //aanname LF na CR (Windows)
+							}
+							if (ch == 10)
+							{
+								Uitvoer.put(ch);
+								Loop = false;
+								RegelNummer++;
+								TotaalCodeTekens += AantalTekens;
+								if (AantalTekens > LangsteRegelAantalTekens)
+								{
+									LangsteRegelAantalTekens = AantalTekens;
+									LangsteRegelNummer = RegelNummer;
+								}
+								AantalTekens = 0;
+							}
+						}
+						SlashAantal = 0;
+					}
+				}
+				 else //char is geen slash
+				{
+					if (SlashAantal == 1) // er is maar een slash gevonden. Zorg er voor dat die toegevoegd aan de file wordt
+					{
+						Uitvoer.put(passwd[LetterPositie] - 'a' + '/');
+						if (LetterPositie < StringLengte) { LetterPositie++; } else { LetterPositie = 0; }
+						SlashAantal = 0;
+					}
+				
+					if (( ch <= '~' ) && ( ch >= ' ')) 
+					{ 
+						int EncodedChar = int(passwd[LetterPositie] - 'a' + ch);
+						if (EncodedChar > 126 ) 
+						{
+							EncodedChar = EncodedChar - 95;
+						}
+						Uitvoer.put(EncodedChar);
+						if (LetterPositie < StringLengte) { LetterPositie++; } else { LetterPositie = 0; }
+					}
+					else 
+					{
+						Uitvoer.put(ch);
+					}
+				}
+			}
+			else //File is klaar
+			{
+				Invoer.close();
+				Uitvoer.close();
+				if (Statistieken) 
+				{ 
+					Statistiek(TotaalCodeTekens, TotaalGewoneTekens, TotaalGewisteTekens, RegelNummer, LangsteRegelNummer, LangsteRegelAantalTekens);
+				}
+				return(0);
+			}
+		
+		}
+	}
+	else if (SoortCrypt == 2) 
+	{
+		while (RegelNummer <= RegelEind) // zolang gewenste regel nog niet is bereikt	
+		{
+			if (Invoer.get(ch))
+			{
+				AantalTekens++;
+				if ( ch == 10)
+				{
+					RegelNummer++;
+					TotaalCodeTekens += AantalTekens;
+					if (AantalTekens > LangsteRegelAantalTekens)
+					{
+						LangsteRegelAantalTekens = AantalTekens;
+						LangsteRegelNummer = RegelNummer;
+					}
+					AantalTekens = 0;
+				}
+								
+				if (( ch <= '~' ) && ( ch >= ' '))
+				{
+					DecodedChar = int( ch - (passwd[LetterPositie] - 'a'));
+					
+					if (LetterPositie < StringLengte) { LetterPositie++; } else { LetterPositie = 0; }
+					
+					if (DecodedChar < 32 )
+					{
+						DecodedChar = DecodedChar + 95;
+					}
+					cout << ch << " wordt " << DecodedChar << " wat is " << char(DecodedChar) << endl;
+					Uitvoer.put(DecodedChar);
+				}
+				else
+				{
+					Uitvoer.put(ch);
+				}
+			}
+			else 
+			{
+				Invoer.close();
+				Uitvoer.close();	
+				if (Statistieken) 
+				{
+					Statistiek(TotaalCodeTekens, TotaalGewoneTekens, TotaalGewisteTekens, RegelNummer, LangsteRegelNummer, LangsteRegelAantalTekens);
+				}
+			
+				return(0);
+			}
+		}
+	}
+	
+	while (Invoer.get(ch)) // Laatste deel wegschrijven
+	{
+		TotaalGewoneTekens++;
+		if (ch == 10)
+		{
+			RegelNummer++;
+		}
+		Uitvoer.put(ch);
+	}
+	Invoer.close();
+	Uitvoer.close();
+	if (Statistieken) 
+	{
+		Statistiek(TotaalGewoneTekens, TotaalCodeTekens, TotaalGewisteTekens, RegelNummer, LangsteRegelNummer, LangsteRegelAantalTekens); 
+	}
+return(0);	
+} //end Crypt 
+
+
+//INVOER: Bestandnaam, woord te controleren, Of het woord vrij moet staan of niet.
+//UITVOER: Aantal keer dat het voorkomt.
+
+
+int WoordZoeken(string FileName, string Woord) 
+{
+	int AantalKeerWoord = 0;
+	int LetterPositie = 0;
+	char ch = ' ';
+	bool GeldigeChar = true; //Als deze true is dan is er een geldig teken dat voor een woord mag staan
+	
+	const int WoordLengte = Woord.length(); //deze blijft altijd identiek dus geen variable
+	
+	ifstream Invoer(FileName.c_str(),ios::in);
+	
+	while (Invoer.get(ch)) //zolang file invoer heeft
+	{
+		if (LetterPositie == WoordLengte) //controleer of er een match is. 
+		{
+			if ((ch < 'A') || ((ch > 'Z') && (ch <'a')) || ch > 'z') //er geen [a-z,A-Z] achter staat.
+			{
+				AantalKeerWoord++;
+			}
+			LetterPositie = 0;
+			
+		}
+		
+		if ((ch == char(Woord[LetterPositie])) && GeldigeChar) //kijk of een character overeen komt met de gezochte in het woord
+		{
+			LetterPositie++;
+		}
+		else if (((ch >= 'A') && (ch <= 'Z')) || ((ch >= 'a') && (ch <= 'z'))) //anders teller resetten
+		{
+			LetterPositie = 0;
+			GeldigeChar = false;
+		}
+		else 
+		{
+			GeldigeChar = true;
+		}
+	}
+	Invoer.close();
+	return(AantalKeerWoord);
+	
+} //end WordCheck
+
+int main() 
+{
+	char GekozenOptie = ' ';
+	string FileName = "";
+	int BeginRegel = 0;
+	int EindRegel = 0;
+	string FileNameOutput = "";
+	string Passwd = "";
+	string ZoekWoord = "";
+	// Menu opties: (1) Encoderen
+	//				(2) Decoderen
+	// (1) --> FileName invoeren --> encodeer sleutel invoeren
+	// (2) --> FileName invoeren --> decodeer sleutel invoeren
+	
+	Intro();	
+	cout	<< "Kies uit de volgende opties:" << endl
+			<< "Encodeer een file (1)" << endl
+			<< "Decodeer een file (2)" << endl
+			<< "Beeindig het programma (q)" << endl
+			<< endl;
+	
+	cout   << "Keuze: ";
+
+	cin >> GekozenOptie;
+
+	if ((GekozenOptie != '1') && (GekozenOptie != '2'))
+	{
+		cout << "\nGoodbye\n";		
+		return(0);
+	}
+	
+	cout << endl << "Voer Invoer Bestandsnaam in: ";
+	cin >> FileName;
+	cout << endl << "Voer beginregel in: ";
+	cin >> BeginRegel;
+	cout << endl << "Voer eindregel in: ";
+	cin >> EindRegel;
+	cout << endl << "Voer Uitvoer Bestandsnaam in: ";
+	cin >> FileNameOutput;
+	cout << endl << "Voer uw wachtwoord in: ";
+	cin >> Passwd;
+	cout << endl << "Voor uw zoekwoord in (if) : "; //oftewel 'if teller'
+	cin >> ZoekWoord;
+
+	//Het woord moet geteld worden voordat er geencodeerd wordt, bij decoderen moet het na het decoderen gebeuren
+
+	if (GekozenOptie == '1') //door naar encoderen, filenamevrag in encoderen verwerken
+	{
+		Crypt(1, FileName, FileNameOutput, Passwd, "true", BeginRegel, EindRegel);
+		cout << "Het woord '" << ZoekWoord << "' komt "<< WoordZoeken(FileName, ZoekWoord) << " keer voor in "<< FileName << endl;
+	}
+	else 
+	{
+		Crypt(2, FileName, FileNameOutput, Passwd, "true", BeginRegel, EindRegel);
+		cout << "Het woord '" << ZoekWoord << "' komt "<< WoordZoeken(FileNameOutput, ZoekWoord) <<	" keer voor in " << FileNameOutput <<  endl;
+	}
+	//windows hack
+	cin.clear();
+	cin.ignore(30, '\n');
+	return(0);
+}
+
+
Index: /liacs/pm/backup/opdracht1.cc
===================================================================
--- /liacs/pm/backup/opdracht1.cc	(revision 2)
+++ /liacs/pm/backup/opdracht1.cc	(revision 2)
@@ -0,0 +1,388 @@
+// datum.cc
+// Asking questions about date-of-birth
+// Author Pascal Vos Rick van der Zwet
+
+#include <iostream>
+#include <time.h>
+
+using namespace std;
+
+struct Datum {int Jaar, Maand, Dag, Weekdag;};
+
+//Toelatingsberekeing
+
+//ACTIE: Print logo op het scherm
+void Logo() {
+	cout	<< "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" << endl
+			<< "+                                                                       +" << endl
+			<< "+                       University of Leiden                            +" << endl
+			<< "+                       Programeermethoden 1                            +" << endl
+			<< "+                       Programeeropdracht Beta-Test                    +" << endl
+			<< "+                                                                       +" << endl
+			<< "+                         ---FREE TO USE---                             +" << endl 
+			<< "+                                                                       +" << endl
+			<< "+               \\\\                     _  --  _.d888888b._              +" << endl
+			<< "+               `/\\                 -      _o8P^'      `^?8o_           +" << endl
+			<< "+                `/\\              -   -  .8P'              `?8.         +" << endl
+			<< "+                 `/\\                   dP'   -,d8888888,    `?b        +" << endl
+			<< "+        \\         `/\\             -   dP'  -,8P'      `?8    `?b       +" << endl
+			<< "+         \\    _-   `/\\       _.--.   dP'  -,8'                `?b      +" << endl
+			<< "+          \\    _-   `/`-..--\\     ) d8'   ,8'                  `8b     +" << endl
+			<< "+   \\       \\    _-   `,','  /    ,')88   -88                    88     +" << endl
+			<< "+            `-_   -   ` -- ~   ,',' 88    88                    88     +" << endl
+			<< "+    \\        `-              ,','   88  - 88                    88     +" << endl
+			<< "+     \\        \\,--.    ____==-~     ?8,   `8,                  ,8P     +" << endl
+			<< "+               \\   \\_-~\\          -  ?b,   `8,                ,dP      +" << endl
+  			<< "+                `_-~_.-'              ?b,   `8b,      ,d8    ,dP       +" << endl
+			<< "+                 \\-~             -  -  ?b,    `88888888'    ,dP        +" << endl
+			<< "+                                        `8b,              ,d8'         +" << endl
+			<< "+  Created at 21-09-2004 by:         -  -  `^8b._      _.d8^'           +" << endl
+			<< "+  -Pascal de Vos                        -  _ `^?888888P^'              +" << endl
+			<< "+  -Rick van der Zwet                                                   +" << endl 
+			<< "+                                                                       +" << endl
+			<< "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" 
+			<< endl;
+} //end Logo
+
+//Tijd uit het bestand ophalen en in locale variablen opslaan
+Datum TijdOphalen() 
+{
+	Datum Huidige = {0, 0, 0, 0};
+	
+	time_t ruwetijd;
+	struct tm * tijd_tm;
+	time ( &ruwetijd );
+	tijd_tm = localtime ( &ruwetijd );
+	Huidige.Jaar = tijd_tm->tm_year + 1900; 
+	Huidige.Maand = tijd_tm->tm_mon + 1; 
+	Huidige.Dag = tijd_tm->tm_mday; 
+	Huidige.Weekdag = tijd_tm->tm_wday;	
+	return Huidige;
+}
+
+//INPUT: jaar, maand ,dag
+//ACTIE: Bepaal dag van de week
+//Voorwaarden: alles geldig
+//UITVOER: dag van de week (integer)
+
+int DagvandeWeek (int Jaar, int Maand, int Dag) 
+{
+	time_t ruwetijd;
+	struct tm * tijd_tm;
+	time ( &ruwetijd );
+	tijd_tm = localtime ( &ruwetijd );
+	tijd_tm->tm_wday = 0;	
+	tijd_tm->tm_mday = Dag;
+	tijd_tm->tm_mon = Maand -1;
+	tijd_tm->tm_year = Jaar - 1900;
+	mktime(tijd_tm);
+	int tmp_wday = tijd_tm->tm_wday;
+	tijd_tm =localtime ( &ruwetijd );
+	return tmp_wday;
+}
+
+//INPUT: maand, jaar
+//ACTIE: bepalen hoeveel dagen de maand bevat
+//VOORWAARDEN: schikkeljaar is een jaar die te delen is door 4, en
+//als ie te delen is door 100, dan moet door 400 ook kunnen
+int DageninMaand(int Maand, int Jaar) 
+{
+	const int daginmaand[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
+	
+	if (Maand == 2) //Maand is februari 
+	{	
+		int SchrikkelTest = 4;
+	while ( SchrikkelTest <= Jaar ) 
+	{
+			if ( SchrikkelTest == Jaar ) //Jaar deelbaar door 4
+			{										
+				SchrikkelTest = 100;
+				while ( SchrikkelTest <= Jaar ) 
+				{ 
+					if ( SchrikkelTest == Jaar ) 
+					{  								//Jaar is deelbaar door 100, dus testen
+						SchrikkelTest = 400;					//of ook deelbaar door 400 is 
+							while ( SchrikkelTest <= Jaar ) 
+							{
+								if ( SchrikkelTest == Jaar ) 
+								{								//Jaar is deelbaar door 4, 100, 400 
+									return (29);				//dus schikkeljaar
+								}
+								SchrikkelTest = SchrikkelTest + 400;
+							}
+							return (28);
+					}
+					SchrikkelTest = SchrikkelTest + 100;
+				}
+				return (29);
+			}
+			SchrikkelTest = SchrikkelTest + 4;
+		}
+		return (28);
+	}
+	else { 		//Maand is geen februri, haal het max aantal dagen dus uit daginmaand tabel 
+		return (daginmaand[Maand]);
+	}
+	return (99); //error in function
+} //end DageninMaand 
+
+Datum GeboorteDatumInvoer(Datum Huidige)
+{
+	const char * month[] = { "", "Januari", "Februari", "Maart",
+							"April", "Mei", "Juni", "Juli", 
+							"Augustus", "September", "October",
+							"November" , "December" };
+	Datum Geboorte = {0, 0, 0, 0};
+	
+	//Geboortejaar invoer. Testen op ouder dan 150, jonger dan huidige jaar
+	cout << "Geef uw: \n"  << "-Geboortejaar [yyyy]: ";
+	cin >> Geboorte.Jaar;
+	if (Geboorte.Jaar > Huidige.Jaar) 
+	{
+		cout << "We leven in " << Huidige.Jaar << ", komt u later maar eens terug" << endl;
+		return (Geboorte);
+	}
+	else 
+	{
+		if (Geboorte.Jaar <= (Huidige.Jaar - 150)) 
+		{
+			cout << "Sorry " << (Huidige.Jaar - Geboorte.Jaar) 
+			<< " jaar is te oud voor deze studie" <<endl;
+			return (Geboorte);
+		}
+	}
+	
+	//Geboortemaand. Testen op geldige geboortemaand	
+	cout << "-Geboortemaand [1-12]: ";
+	cin >> Geboorte.Maand;
+	if ( (Geboorte.Maand > 12) | (Geboorte.Maand < 1) ) 
+	{
+		cout << "Sorry, deze maand bestaat niet" << endl;
+		return (Geboorte);
+	}
+    
+	//Geboortedag. Testen op geldige geboortedag
+	cout << "-Geboortedag [1-" << DageninMaand(Geboorte.Maand , Geboorte.Jaar) << "]: "; 
+	cin >> Geboorte.Dag;
+	if ( (Geboorte.Dag > DageninMaand(Geboorte.Maand, Geboorte.Jaar) ) | (Geboorte.Dag < 1) ) 
+	{
+		cout << "Sorry, " << month[ Geboorte.Maand ] << " heeft geen " 
+		<< Geboorte.Dag << " dagen" <<endl;
+		return (Geboorte);
+	}
+	if ( (Geboorte.Jaar == Huidige.Jaar) && (Geboorte.Maand >= Huidige.Maand) 
+	&& (Geboorte.Dag > Huidige.Dag) ) 
+	{
+		cout << "Sorry, u kunt u pas inschrijven als u geboren bent";
+		Geboorte.Dag = 0;	
+		return (Geboorte);
+	}
+	return (Geboorte);
+}
+
+int GeboorteDatumUitvoer(Datum Geboorte, Datum Huidige)
+{ 	//uitrekenen, leeftijd 
+	const char * weekday[] = { "Zondag", "Maandag",
+							 "Dinsdag", "Woensdag", "Donderdag",
+							 "Vrijdag", "Zaterdag" };
+	const char * month[] = { "", "Januari", "Februari", "Maart",
+							"April", "Mei", "Juni", "Juli", 
+							"Augustus", "September", "October",
+							"November" , "December" };
+	int JarenOud = 0;
+	int MaandenOud = 0;
+	if ( Huidige.Maand == Geboorte.Maand )
+	{	
+		if ( Huidige.Dag >= Geboorte.Dag ) 
+		{ 	
+			JarenOud = Huidige.Jaar - Geboorte.Jaar;
+			MaandenOud = (JarenOud * 12) + (Huidige.Maand - Geboorte.Maand); 
+		}
+		else 
+		{
+			JarenOud = (Huidige.Jaar - Geboorte.Jaar) - 1;
+			MaandenOud = (JarenOud * 12) + (Huidige.Maand - Geboorte.Maand) - 1;
+		}
+	}
+	else
+	{
+		if (Huidige.Maand > Geboorte.Maand)
+		{
+			if ( Huidige.Dag >= Geboorte.Dag ) 
+			{ 	
+				JarenOud = Huidige.Jaar - Geboorte.Jaar;
+				MaandenOud = (JarenOud * 12) + (Huidige.Maand - Geboorte.Maand); 
+			}
+			else 
+			{
+				JarenOud = (Huidige.Jaar - Geboorte.Jaar);
+				MaandenOud = (JarenOud * 12) + (Huidige.Maand - Geboorte.Maand) - 1;
+			}
+		}
+		else 
+		{
+			if ( Huidige.Dag >= Geboorte.Dag ) 
+			{
+				JarenOud = (Huidige.Jaar - Geboorte.Jaar) - 1;
+				MaandenOud = (12 - Geboorte.Maand) + (JarenOud * 12) + (Huidige.Maand);
+			}
+			else 
+			{
+				JarenOud = (Huidige.Jaar -  Geboorte.Jaar) -1;
+				MaandenOud = (12 - Geboorte.Maand) + (JarenOud * 12) + (Huidige.Maand - 1);
+			}
+		}
+	}	
+	//Gegevens weergeven
+	cout << "Het is vandaag   : " << weekday[Huidige.Weekdag] << " " << Huidige.Dag << " " 
+		 << month[Huidige.Maand] << " " << Huidige.Jaar <<endl
+		 << "U bent geboren op: " << weekday[DagvandeWeek(Geboorte.Jaar, Geboorte.Maand, Geboorte.Dag)] 
+		 << " " << Geboorte.Dag << " " << month[Geboorte.Maand] << " " << Geboorte.Jaar << endl
+		 << "Dan bent u vandaag: " << endl 
+		 << "* " << JarenOud << " jaar" <<endl
+		 << "* " << MaandenOud << " maanden oud." 
+		 << endl;
+	return(JarenOud);
+} //end GeboorteDatumInvoer
+
+
+int ToelatingEnCollegeGeld(int JarenOud)
+{
+
+	int WiB1 = 0;
+	int WiB2 = 0;
+	int Na = 0;
+		
+	int Aantalonvoldoendes = 0;
+		
+	char antwoord;
+		
+	int TweedeKans = 1;
+	const double marge = 0.02;
+	const double antwoord2 = 3.142;
+	double antwoordreeel = 0;
+	
+	double tmp_CollegeGeld = 0;
+	int HoogsteCijfer = 0;
+	int CollegeGeld = 0;
+
+	cout << "Geef je Wiskunde B1 eindcijfer[1-10], 0 = niet gedaan: ";
+	cin >> WiB1;	
+
+	cout << "Geef je Wiskunde B2 eindcijfer[1-10], 0 = niet gedaan: ";
+	cin >> WiB2;
+
+	cout << "Geef je Natuurkunde eindcijfer[1-10], 0 = niet gedaan: ";
+	cin >> Na;
+
+// aantal onvoldoendes wordt getelt
+
+	if ( WiB1 <= 5 ) Aantalonvoldoendes++;
+	if ( WiB2 <= 5 ) Aantalonvoldoendes++;
+	if ( Na <= 5 ) Aantalonvoldoendes++;
+	
+// Alle 3 de vakken niet gedaan is meteen het einde
+// Bij 2 of meer onvoldoendes of wanneer er 2 van de 3 vakken niet gedaan zijn
+// volgt er een meerkeuze vraag.
+
+	
+	if ( ( WiB1 + WiB2 + Na ) == 0 ) 
+	{
+		cout << "U bent niet geschikt voor deze opleiding" << endl;
+		return(1);
+	}
+	else
+	{
+		if ( Aantalonvoldoendes >= 2 ) 
+		{
+			cout << " U zal de volgende meerkeuzenvraag moeten beantwoorden"	<< endl
+				 << " Wat is de afgeleide van de volgende functie: 2 * e^3x + e^x^2,"
+				 << "kies uit de volgende opties"	<< endl
+				 << " A) 6 * e^3x + 2x * e^x" 		<< endl
+				 << " B) 6 * e^3x + 2x * e^x^2"		<< endl
+				 << " C) 3 * e^3x + 2x * e^x^2"		<< endl
+				 << " D) 9 * e^2x + 4x * e^x^3"		<< endl
+				 << "Kies nu [A/B/C/D]: ";
+			cin >> antwoord;
+	
+			if ( antwoord != 'B' ) 
+			{
+				cout << " Dat is niet correct" << endl;
+				return(1);
+			}
+		}
+	}	
+	cout << "U heeft talent ;)" << endl
+		 << "U mag door naar de controlevraag!" 
+		 << endl;
+	
+	//Bij de controlevraag wordt er om een reeel getal gevraagt		
+	//Ouderen (20+) krijgen een 2e kans
+	while (TweedeKans < 3) 
+	{
+		cout << "Poging " << TweedeKans <<endl
+			 << "Geef Pie in 3 decimalen naukeurig zonder de rekenmachine te gebruiken" << endl
+			 << "Geef het antwoord gevolgt door \'Enter\': ";
+		cin >> antwoordreeel;
+		if ( ( antwoordreeel > (antwoord2 - marge) ) && ( antwoordreeel < (antwoord2 + marge) ) ) 
+		{
+			TweedeKans = 3;
+			cout << "Het Correcte antwoord: " << antwoord2 << endl
+				 << "Marge:                 " << marge << endl
+				 << "U bent toegelaten." << endl 
+				 << endl;
+		}
+		else 
+		{
+			if (JarenOud > 19) TweedeKans = TweedeKans + 1;
+			
+			if ((JarenOud < 20) || (TweedeKans == 3)) 
+			{	
+				cout << "Incorrect, U bent niet geschikt voor deze opleiding" << endl;
+				return(1);
+			}
+		}
+	}
+	
+	if (antwoord2 > antwoord) {
+		tmp_CollegeGeld = (antwoord2 - antwoordreeel) * 10000; 
+	}
+	else {
+		tmp_CollegeGeld = (antwoordreeel - antwoord2) * 10000;
+	}
+	
+	if ((WiB1 >= WiB2) && (WiB1 >= Na  )) HoogsteCijfer = WiB1;
+	if ((WiB2 >= WiB1) && (WiB2 >= Na  )) HoogsteCijfer = WiB2;
+	if ((Na   >= WiB1) && (Na   >= WiB2)) HoogsteCijfer = Na;
+
+	tmp_CollegeGeld = tmp_CollegeGeld + (JarenOud * 123.45) - (HoogsteCijfer * 42); 
+	
+	 if ( (int(tmp_CollegeGeld) % 10) < 5) {	//collegegeld afronden naar beneden
+	 	CollegeGeld = ((int(tmp_CollegeGeld)) - (int(tmp_CollegeGeld) % 10));
+	 }
+	else {										//collegegeld afronden naar boven
+	 	CollegeGeld = ((int(tmp_CollegeGeld)) - (int(tmp_CollegeGeld) % 10)) + 10;
+	 }
+	 if ((tmp_CollegeGeld < 0) | (CollegeGeld < 0) ) {
+	 		tmp_CollegeGeld = 0; 
+			CollegeGeld = 0;
+		}
+	cout << "Collegegeld onafgerond: E " << tmp_CollegeGeld << endl
+		 << "Collegegeld afgerond:   E " << CollegeGeld << ",-"
+		<< endl;
+	return (0);
+}
+int main( ) 
+{
+	int JarenOud = 0;	
+	Datum Huidige = {0, 0, 0, 0};
+	Datum Geboorte = {0, 0, 0, 0};
+
+	Logo();
+	Huidige = TijdOphalen();
+    Geboorte = GeboorteDatumInvoer(Huidige);
+	JarenOud = GeboorteDatumUitvoer(Geboorte, Huidige);
+	cout << JarenOud;
+	ToelatingEnCollegeGeld(JarenOud);
+	return(0);
+}
Index: /liacs/pm/backup/p25.cc
===================================================================
--- /liacs/pm/backup/p25.cc	(revision 2)
+++ /liacs/pm/backup/p25.cc	(revision 2)
@@ -0,0 +1,13 @@
+#include <iostream>
+#include <iomanip>
+using namespace std;
+int main ( ) {
+	double getal1, getal2, resultaat;
+	cout << "Eerste getal : ";
+	cin >> getal1;
+	cout << "Tweede getal : ";
+	cin >> getal2;
+	resultaat = getal1 + getal2;
+	cout << "Uitkomt : " << setprecision (2) << setiosflags (ios::fixed|ios::showpoint) << (resultaat/2) << endl;
+	return 0;
+} //main
Index: /liacs/pm/backup/qt-nim/const.h
===================================================================
--- /liacs/pm/backup/qt-nim/const.h	(revision 2)
+++ /liacs/pm/backup/qt-nim/const.h	(revision 2)
@@ -0,0 +1,15 @@
+#ifndef CONSTANTEN_H
+#define CONSTANTEN_H
+
+//bepaal de grenzen van het speelbord
+#define MIN_STAPELS 		1
+#define MIN_STOKJES			1
+#define MAX_STAPELS 		20
+#define MAX_STOKJES			20
+
+//bepaal beginwaarden van keuze menu
+#define	START_STAPELS	  5 
+#define START_STOKJES		5
+#define START_NIVEAU		2
+
+#endif
Index: /liacs/pm/backup/qt-nim/main.cpp
===================================================================
--- /liacs/pm/backup/qt-nim/main.cpp	(revision 2)
+++ /liacs/pm/backup/qt-nim/main.cpp	(revision 2)
@@ -0,0 +1,12 @@
+#include <qapplication.h>
+#include "nimform.h"
+
+int main( int argc, char *argv[] )
+{
+	QApplication app( argc, argv );
+	NimForm *nf = new NimForm( );
+	app.setMainWidget( nf );
+	nf->show();
+
+	return app.exec();
+}
Index: /liacs/pm/backup/qt-nim/moc_nimform.cpp
===================================================================
--- /liacs/pm/backup/qt-nim/moc_nimform.cpp	(revision 2)
+++ /liacs/pm/backup/qt-nim/moc_nimform.cpp	(revision 2)
@@ -0,0 +1,110 @@
+/****************************************************************************
+** NimForm meta object code from reading C++ file 'nimform.h'
+**
+** Created: Fri Dec 10 00:57:37 2004
+**      by: The Qt MOC ($Id: qt/moc_yacc.cpp   3.3.3   edited Aug 5 16:40 $)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#undef QT_NO_COMPAT
+#include "nimform.h"
+#include <qmetaobject.h>
+#include <qapplication.h>
+
+#include <private/qucomextra_p.h>
+#if !defined(Q_MOC_OUTPUT_REVISION) || (Q_MOC_OUTPUT_REVISION != 26)
+#error "This file was generated using the moc from 3.3.3. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+const char *NimForm::className() const
+{
+    return "NimForm";
+}
+
+QMetaObject *NimForm::metaObj = 0;
+static QMetaObjectCleanUp cleanUp_NimForm( "NimForm", &NimForm::staticMetaObject );
+
+#ifndef QT_NO_TRANSLATION
+QString NimForm::tr( const char *s, const char *c )
+{
+    if ( qApp )
+	return qApp->translate( "NimForm", s, c, QApplication::DefaultCodec );
+    else
+	return QString::fromLatin1( s );
+}
+#ifndef QT_NO_TRANSLATION_UTF8
+QString NimForm::trUtf8( const char *s, const char *c )
+{
+    if ( qApp )
+	return qApp->translate( "NimForm", s, c, QApplication::UnicodeUTF8 );
+    else
+	return QString::fromUtf8( s );
+}
+#endif // QT_NO_TRANSLATION_UTF8
+
+#endif // QT_NO_TRANSLATION
+
+QMetaObject* NimForm::staticMetaObject()
+{
+    if ( metaObj )
+	return metaObj;
+    QMetaObject* parentObject = QMainWindow::staticMetaObject();
+    static const QUMethod slot_0 = {"fileNew", 0, 0 };
+    static const QUMethod slot_1 = {"fileQuit", 0, 0 };
+    static const QUMethod slot_2 = {"helpHelp", 0, 0 };
+    static const QUMethod slot_3 = {"helpAbout", 0, 0 };
+    static const QMetaData slot_tbl[] = {
+	{ "fileNew()", &slot_0, QMetaData::Private },
+	{ "fileQuit()", &slot_1, QMetaData::Private },
+	{ "helpHelp()", &slot_2, QMetaData::Private },
+	{ "helpAbout()", &slot_3, QMetaData::Private }
+    };
+    metaObj = QMetaObject::new_metaobject(
+	"NimForm", parentObject,
+	slot_tbl, 4,
+	0, 0,
+#ifndef QT_NO_PROPERTIES
+	0, 0,
+	0, 0,
+#endif // QT_NO_PROPERTIES
+	0, 0 );
+    cleanUp_NimForm.setMetaObject( metaObj );
+    return metaObj;
+}
+
+void* NimForm::qt_cast( const char* clname )
+{
+    if ( !qstrcmp( clname, "NimForm" ) )
+	return this;
+    return QMainWindow::qt_cast( clname );
+}
+
+bool NimForm::qt_invoke( int _id, QUObject* _o )
+{
+    switch ( _id - staticMetaObject()->slotOffset() ) {
+    case 0: fileNew(); break;
+    case 1: fileQuit(); break;
+    case 2: helpHelp(); break;
+    case 3: helpAbout(); break;
+    default:
+	return QMainWindow::qt_invoke( _id, _o );
+    }
+    return TRUE;
+}
+
+bool NimForm::qt_emit( int _id, QUObject* _o )
+{
+    return QMainWindow::qt_emit(_id,_o);
+}
+#ifndef QT_NO_PROPERTIES
+
+bool NimForm::qt_property( int id, int f, QVariant* v)
+{
+    return QMainWindow::qt_property( id, f, v);
+}
+
+bool NimForm::qt_static_property( QObject* , int , int , QVariant* ){ return FALSE; }
+#endif // QT_NO_PROPERTIES
Index: /liacs/pm/backup/qt-nim/moc_optionsform.cpp
===================================================================
--- /liacs/pm/backup/qt-nim/moc_optionsform.cpp	(revision 2)
+++ /liacs/pm/backup/qt-nim/moc_optionsform.cpp	(revision 2)
@@ -0,0 +1,101 @@
+/****************************************************************************
+** OptionsForm meta object code from reading C++ file 'optionsform.h'
+**
+** Created: Fri Dec 10 00:57:45 2004
+**      by: The Qt MOC ($Id: qt/moc_yacc.cpp   3.3.3   edited Aug 5 16:40 $)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#undef QT_NO_COMPAT
+#include "optionsform.h"
+#include <qmetaobject.h>
+#include <qapplication.h>
+
+#include <private/qucomextra_p.h>
+#if !defined(Q_MOC_OUTPUT_REVISION) || (Q_MOC_OUTPUT_REVISION != 26)
+#error "This file was generated using the moc from 3.3.3. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+const char *OptionsForm::className() const
+{
+    return "OptionsForm";
+}
+
+QMetaObject *OptionsForm::metaObj = 0;
+static QMetaObjectCleanUp cleanUp_OptionsForm( "OptionsForm", &OptionsForm::staticMetaObject );
+
+#ifndef QT_NO_TRANSLATION
+QString OptionsForm::tr( const char *s, const char *c )
+{
+    if ( qApp )
+	return qApp->translate( "OptionsForm", s, c, QApplication::DefaultCodec );
+    else
+	return QString::fromLatin1( s );
+}
+#ifndef QT_NO_TRANSLATION_UTF8
+QString OptionsForm::trUtf8( const char *s, const char *c )
+{
+    if ( qApp )
+	return qApp->translate( "OptionsForm", s, c, QApplication::UnicodeUTF8 );
+    else
+	return QString::fromUtf8( s );
+}
+#endif // QT_NO_TRANSLATION_UTF8
+
+#endif // QT_NO_TRANSLATION
+
+QMetaObject* OptionsForm::staticMetaObject()
+{
+    if ( metaObj )
+	return metaObj;
+    QMetaObject* parentObject = QDialog::staticMetaObject();
+    static const QUMethod slot_0 = {"languageChange", 0, 0 };
+    static const QMetaData slot_tbl[] = {
+	{ "languageChange()", &slot_0, QMetaData::Protected }
+    };
+    metaObj = QMetaObject::new_metaobject(
+	"OptionsForm", parentObject,
+	slot_tbl, 1,
+	0, 0,
+#ifndef QT_NO_PROPERTIES
+	0, 0,
+	0, 0,
+#endif // QT_NO_PROPERTIES
+	0, 0 );
+    cleanUp_OptionsForm.setMetaObject( metaObj );
+    return metaObj;
+}
+
+void* OptionsForm::qt_cast( const char* clname )
+{
+    if ( !qstrcmp( clname, "OptionsForm" ) )
+	return this;
+    return QDialog::qt_cast( clname );
+}
+
+bool OptionsForm::qt_invoke( int _id, QUObject* _o )
+{
+    switch ( _id - staticMetaObject()->slotOffset() ) {
+    case 0: languageChange(); break;
+    default:
+	return QDialog::qt_invoke( _id, _o );
+    }
+    return TRUE;
+}
+
+bool OptionsForm::qt_emit( int _id, QUObject* _o )
+{
+    return QDialog::qt_emit(_id,_o);
+}
+#ifndef QT_NO_PROPERTIES
+
+bool OptionsForm::qt_property( int id, int f, QVariant* v)
+{
+    return QDialog::qt_property( id, f, v);
+}
+
+bool OptionsForm::qt_static_property( QObject* , int , int , QVariant* ){ return FALSE; }
+#endif // QT_NO_PROPERTIES
Index: /liacs/pm/backup/qt-nim/moc_stapeldisplay.cpp
===================================================================
--- /liacs/pm/backup/qt-nim/moc_stapeldisplay.cpp	(revision 2)
+++ /liacs/pm/backup/qt-nim/moc_stapeldisplay.cpp	(revision 2)
@@ -0,0 +1,101 @@
+/****************************************************************************
+** StapelGroupBox meta object code from reading C++ file 'stapeldisplay.h'
+**
+** Created: Fri Dec 10 00:57:51 2004
+**      by: The Qt MOC ($Id: qt/moc_yacc.cpp   3.3.3   edited Aug 5 16:40 $)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#undef QT_NO_COMPAT
+#include "stapeldisplay.h"
+#include <qmetaobject.h>
+#include <qapplication.h>
+
+#include <private/qucomextra_p.h>
+#if !defined(Q_MOC_OUTPUT_REVISION) || (Q_MOC_OUTPUT_REVISION != 26)
+#error "This file was generated using the moc from 3.3.3. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+const char *StapelGroupBox::className() const
+{
+    return "StapelGroupBox";
+}
+
+QMetaObject *StapelGroupBox::metaObj = 0;
+static QMetaObjectCleanUp cleanUp_StapelGroupBox( "StapelGroupBox", &StapelGroupBox::staticMetaObject );
+
+#ifndef QT_NO_TRANSLATION
+QString StapelGroupBox::tr( const char *s, const char *c )
+{
+    if ( qApp )
+	return qApp->translate( "StapelGroupBox", s, c, QApplication::DefaultCodec );
+    else
+	return QString::fromLatin1( s );
+}
+#ifndef QT_NO_TRANSLATION_UTF8
+QString StapelGroupBox::trUtf8( const char *s, const char *c )
+{
+    if ( qApp )
+	return qApp->translate( "StapelGroupBox", s, c, QApplication::UnicodeUTF8 );
+    else
+	return QString::fromUtf8( s );
+}
+#endif // QT_NO_TRANSLATION_UTF8
+
+#endif // QT_NO_TRANSLATION
+
+QMetaObject* StapelGroupBox::staticMetaObject()
+{
+    if ( metaObj )
+	return metaObj;
+    QMetaObject* parentObject = QGroupBox::staticMetaObject();
+    static const QUMethod slot_0 = {"languageChange", 0, 0 };
+    static const QMetaData slot_tbl[] = {
+	{ "languageChange()", &slot_0, QMetaData::Protected }
+    };
+    metaObj = QMetaObject::new_metaobject(
+	"StapelGroupBox", parentObject,
+	slot_tbl, 1,
+	0, 0,
+#ifndef QT_NO_PROPERTIES
+	0, 0,
+	0, 0,
+#endif // QT_NO_PROPERTIES
+	0, 0 );
+    cleanUp_StapelGroupBox.setMetaObject( metaObj );
+    return metaObj;
+}
+
+void* StapelGroupBox::qt_cast( const char* clname )
+{
+    if ( !qstrcmp( clname, "StapelGroupBox" ) )
+	return this;
+    return QGroupBox::qt_cast( clname );
+}
+
+bool StapelGroupBox::qt_invoke( int _id, QUObject* _o )
+{
+    switch ( _id - staticMetaObject()->slotOffset() ) {
+    case 0: languageChange(); break;
+    default:
+	return QGroupBox::qt_invoke( _id, _o );
+    }
+    return TRUE;
+}
+
+bool StapelGroupBox::qt_emit( int _id, QUObject* _o )
+{
+    return QGroupBox::qt_emit(_id,_o);
+}
+#ifndef QT_NO_PROPERTIES
+
+bool StapelGroupBox::qt_property( int id, int f, QVariant* v)
+{
+    return QGroupBox::qt_property( id, f, v);
+}
+
+bool StapelGroupBox::qt_static_property( QObject* , int , int , QVariant* ){ return FALSE; }
+#endif // QT_NO_PROPERTIES
Index: /liacs/pm/backup/qt-nim/nimform.cpp
===================================================================
--- /liacs/pm/backup/qt-nim/nimform.cpp	(revision 2)
+++ /liacs/pm/backup/qt-nim/nimform.cpp	(revision 2)
@@ -0,0 +1,112 @@
+#include "nimform.h"
+#include "optionsform.h"
+#include "stapeldisplay.h"
+
+#include <qaction.h>
+#include <qapplication.h>
+#include <qmenubar.h>
+#include <qmessagebox.h>
+#include <qpopupmenu.h>
+#include <qslider.h>
+
+NimForm::NimForm( )
+	: QMainWindow( 0, 0, WDestructiveClose)
+{
+	QAction *fileNewAction;
+	QAction *fileQuitAction;
+
+	fileNewAction = new QAction(
+					"New Game",
+					"&New", CTRL+Key_N,this, "new");
+	connect( fileNewAction, SIGNAL( activated() ), this, SLOT( fileNew() ) );
+
+	fileQuitAction = new QAction( 
+					"Quit", 
+					"&Quit", CTRL+Key_Q, this, "quit" );
+  connect( fileQuitAction, SIGNAL( activated() ), this, SLOT( fileQuit() ) );
+
+	fileMenu = new QPopupMenu( this );
+	menuBar()->insertItem( "&File", fileMenu );
+	fileNewAction->addTo( fileMenu );
+	fileQuitAction->addTo ( fileMenu );
+
+	QAction *helpHelpAction;
+	QAction *helpAboutAction;
+
+	helpHelpAction = new QAction(
+					"H&elp",
+					"H&elp", CTRL+Key_H,this, "help");
+	connect( fileNewAction, SIGNAL( activated() ), this, SLOT( helpHelp() ) );
+
+	helpAboutAction = new QAction(
+					"&About",
+					"&About", CTRL+Key_A,this, "about");
+	connect( fileNewAction, SIGNAL( activated() ), this, SLOT( helpAbout() ) );
+
+	helpMenu = new QPopupMenu( this );
+	menuBar()->insertItem( "&Help", helpMenu );
+	helpHelpAction->addTo ( helpMenu );
+	helpAboutAction->addTo ( helpMenu );
+
+	
+	int Y = 0;
+//	for(int i = 0; i < 4; i++) {
+//		Y = Y + 70;
+		testbox = new StapelGroupBox( this, "x" );
+		testbox->setXY( 10, Y );
+		StapelGroupBox * tb2;
+		tb2 = new StapelGroupBox( this, "y" );
+		tb2->setXY(10,100);
+//	} 
+	resize( QSize(600, 480).expandedTo(minimumSizeHint()) );
+  clearWState( WState_Polished );
+	
+
+}
+
+
+NimForm::~NimForm()
+{
+	
+}
+
+void NimForm::createGame()
+{
+
+}
+
+
+//void NimForm::closeEvent( QCloseEvent * )
+//{
+//
+//}
+
+
+void NimForm::fileNew()
+{
+	OptionsForm * optionsForm = new OptionsForm( this );
+	if ( optionsForm->exec() ) {
+		aantalStapels = optionsForm->stapelsSlider->value();
+	}
+	delete optionsForm;	
+}
+
+
+void NimForm::fileQuit()
+{
+	qApp->exit ( 0 );
+}
+
+
+void NimForm::helpHelp()
+{
+delete testbox;
+}
+
+
+void NimForm::helpAbout()
+{
+
+}
+
+
Index: /liacs/pm/backup/qt-nim/nimform.h
===================================================================
--- /liacs/pm/backup/qt-nim/nimform.h	(revision 2)
+++ /liacs/pm/backup/qt-nim/nimform.h	(revision 2)
@@ -0,0 +1,35 @@
+#ifndef NIMFORM_H
+#define NIMFORM_H
+
+#include "stapeldisplay.h"
+
+#include <qmainwindow.h>
+
+class NimForm: public QMainWindow
+{
+	Q_OBJECT
+public:
+	NimForm();
+	~NimForm();
+
+	QPopupMenu *optionsMenu;
+
+	protected:
+		//virtual void closeEvent( QCloseEvent * );
+
+	private slots:
+		void fileNew();
+		void fileQuit();
+		void helpHelp();
+		void helpAbout();
+	private:
+		int aantalStapels;
+		int aantalStokjes;
+		StapelGroupBox *testbox;
+		void createGame();
+
+		QPopupMenu *fileMenu;
+		QPopupMenu *helpMenu;
+};
+
+#endif
Index: /liacs/pm/backup/qt-nim/optionsform.cpp
===================================================================
--- /liacs/pm/backup/qt-nim/optionsform.cpp	(revision 2)
+++ /liacs/pm/backup/qt-nim/optionsform.cpp	(revision 2)
@@ -0,0 +1,117 @@
+#include "optionsform.h"
+#include "const.h"
+
+#include <qvariant.h>
+#include <qpushbutton.h>
+#include <qlabel.h>
+#include <qslider.h>
+#include <qlcdnumber.h>
+#include <qbuttongroup.h>
+#include <qradiobutton.h>
+#include <qlayout.h>
+
+OptionsForm::OptionsForm( QWidget* parent, const char* name, bool modal, WFlags fl )
+    : QDialog( parent, name, modal, fl )
+{
+	if ( !name )
+	setName( "OptionsForm" );
+
+  QWidget* privateLayoutWidget = new QWidget( this, "optionsFormLayout" );
+  privateLayoutWidget->setGeometry( QRect( 10, 10, 252, 282 ) );
+  optionsFormLayout = new QVBoxLayout( privateLayoutWidget, 11, 6, "optionsFormLayout"); 
+
+  stapelLayout = new QHBoxLayout( 0, 0, 6, "stapelLayout"); 
+
+  stapelsLabel = new QLabel( privateLayoutWidget, "stapelsLabel" );
+  stapelLayout->addWidget( stapelsLabel );
+
+  stapelsSlider = new QSlider( privateLayoutWidget, "stapelsSlider" );
+  stapelsSlider->setMinValue( MIN_STAPELS );
+  stapelsSlider->setMaxValue( MAX_STAPELS );
+  stapelsSlider->setValue( START_STAPELS );
+  stapelsSlider->setOrientation( QSlider::Horizontal );
+  stapelLayout->addWidget( stapelsSlider );
+
+  stapelsLCDNumber = new QLCDNumber( privateLayoutWidget, "stapelsLCDNumber" );
+  stapelsLCDNumber->setNumDigits( 2 );
+  stapelsLCDNumber->setProperty( "intValue", START_STAPELS );
+  stapelLayout->addWidget( stapelsLCDNumber );
+  optionsFormLayout->addLayout( stapelLayout );
+  stapels2stokjesSpacer = new QSpacerItem( 20, 30, QSizePolicy::Minimum, QSizePolicy::Expanding );
+  optionsFormLayout->addItem( stapels2stokjesSpacer );
+
+  stokjesLayout = new QHBoxLayout( 0, 0, 6, "stokjesLayout"); 
+
+  stokjesLabel = new QLabel( privateLayoutWidget, "stokjesLabel" );
+  stokjesLayout->addWidget( stokjesLabel );
+
+  stokjesSlider = new QSlider( privateLayoutWidget, "stokjesSlider" );
+  stokjesSlider->setMinValue( MIN_STOKJES );
+  stokjesSlider->setMaxValue( MAX_STOKJES );
+  stokjesSlider->setValue ( START_STOKJES );
+  stokjesSlider->setOrientation( QSlider::Horizontal );
+  stokjesLayout->addWidget( stokjesSlider );
+
+  stokjesLCDNumber = new QLCDNumber( privateLayoutWidget, "stokjesLCDNumber" );
+  stokjesLCDNumber->setNumDigits( 2 );
+  stokjesLCDNumber->setProperty( "intValue", START_STOKJES );
+  stokjesLayout->addWidget( stokjesLCDNumber );
+  optionsFormLayout->addLayout( stokjesLayout );
+  stokjes2niveauSpacer = new QSpacerItem( 20, 30, QSizePolicy::Minimum, QSizePolicy::Expanding );
+  optionsFormLayout->addItem( stokjes2niveauSpacer );
+
+  niveauButtonGroup = new QButtonGroup( privateLayoutWidget, "niveauButtonGroup" );
+
+  niveau1RadioButton = new QRadioButton( niveauButtonGroup, "niveau1RadioButton" );
+  niveau1RadioButton->setGeometry( QRect( 11, 20, 99, 19 ) );
+
+  niveau2RadioButton = new QRadioButton( niveauButtonGroup, "niveau2RadioButton" );
+  niveau2RadioButton->setGeometry( QRect( 11, 45, 99, 19 ) );
+  
+  niveauButtonGroup->setButton(START_NIVEAU - 1);
+	
+	optionsFormLayout->addWidget( niveauButtonGroup );
+  niveau2buttonSpacer = new QSpacerItem( 20, 21, QSizePolicy::Minimum, QSizePolicy::Expanding );
+  optionsFormLayout->addItem( niveau2buttonSpacer );
+
+  buttonLayout = new QHBoxLayout( 0, 0, 6, "buttonLayout"); 
+
+  cancelPushButton = new QPushButton( privateLayoutWidget, "cancelPushButton" );
+  buttonLayout->addWidget( cancelPushButton );
+  cancel2ok = new QSpacerItem( 100, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
+  buttonLayout->addItem( cancel2ok );
+
+  okPushButton = new QPushButton( privateLayoutWidget, "okPushButton" );
+  buttonLayout->addWidget( okPushButton );
+  optionsFormLayout->addLayout( buttonLayout );
+  languageChange();
+  resize( QSize(273, 305).expandedTo(minimumSizeHint()) );
+
+    // signals and slots connections
+    connect( stapelsSlider, SIGNAL( valueChanged(int) ), stapelsLCDNumber, SLOT( display(int) ) );
+    connect( stokjesSlider, SIGNAL( valueChanged(int) ), stokjesLCDNumber, SLOT( display(int) ) );
+    connect( okPushButton, SIGNAL( clicked() ), this, SLOT( accept() ) );
+    connect( cancelPushButton, SIGNAL( clicked() ), this, SLOT( reject() ) );
+}
+
+OptionsForm::~OptionsForm()
+{
+
+}
+
+void OptionsForm::languageChange()
+{
+    setCaption( tr( "Nim --- Opties" ) );
+    stapelsLabel->setText( tr( "Stapels" ) );
+    stokjesLabel->setText( tr( "Stokjes" ) );
+    niveauButtonGroup->setTitle( tr( "Computer Niveau" ) );
+    niveau1RadioButton->setText( tr( "&Random" ) );
+    niveau1RadioButton->setAccel( QKeySequence( tr( "Alt+R" ) ) );
+    niveau2RadioButton->setText( tr( "&Winnend" ) );
+    niveau2RadioButton->setAccel( QKeySequence( tr( "Alt+W" ) ) );
+    cancelPushButton->setText( tr( "&Cancel" ) );
+    cancelPushButton->setAccel( QKeySequence( tr( "Alt+C" ) ) );
+    okPushButton->setText( tr( "&OK" ) );
+    okPushButton->setAccel( QKeySequence( tr( "Alt+O" ) ) );
+}
+
Index: /liacs/pm/backup/qt-nim/optionsform.h
===================================================================
--- /liacs/pm/backup/qt-nim/optionsform.h	(revision 2)
+++ /liacs/pm/backup/qt-nim/optionsform.h	(revision 2)
@@ -0,0 +1,53 @@
+#ifndef OPTIONSFORM_H
+#define OPTIONSFORM_H
+
+#include <qvariant.h>
+#include <qdialog.h>
+
+class QVBoxLayout;
+class QHBoxLayout;
+class QGridLayout;
+class QSpacerItem;
+class QLabel;
+class QSlider;
+class QLCDNumber;
+class QButtonGroup;
+class QRadioButton;
+class QPushButton;
+
+class OptionsForm : public QDialog
+{
+    Q_OBJECT
+
+public:
+    OptionsForm( QWidget* parent = 0, const char* name = 0, bool modal = TRUE, WFlags fl = 0 );
+    ~OptionsForm();
+
+    QLabel* stapelsLabel;
+    QSlider* stapelsSlider;
+    QLCDNumber* stapelsLCDNumber;
+    QLabel* stokjesLabel;
+    QSlider* stokjesSlider;
+    QLCDNumber* stokjesLCDNumber;
+    QButtonGroup* niveauButtonGroup;
+    QRadioButton* niveau1RadioButton;
+    QRadioButton* niveau2RadioButton;
+    QPushButton* cancelPushButton;
+    QPushButton* okPushButton;
+
+protected:
+    QVBoxLayout* optionsFormLayout;
+    QSpacerItem* stapels2stokjesSpacer;
+    QSpacerItem* stokjes2niveauSpacer;
+    QSpacerItem* niveau2buttonSpacer;
+    QHBoxLayout* stapelLayout;
+    QHBoxLayout* stokjesLayout;
+    QHBoxLayout* buttonLayout;
+    QSpacerItem* cancel2ok;
+
+protected slots:
+    virtual void languageChange();
+
+};
+
+#endif // OPTIONSFORM_H
Index: /liacs/pm/backup/qt-nim/qt-nim.pro
===================================================================
--- /liacs/pm/backup/qt-nim/qt-nim.pro	(revision 2)
+++ /liacs/pm/backup/qt-nim/qt-nim.pro	(revision 2)
@@ -0,0 +1,11 @@
+######################################################################
+# Automatically generated by qmake (1.07a) Thu Dec 9 18:33:53 2004
+######################################################################
+
+TEMPLATE = app
+INCLUDEPATH += .
+
+# Input
+#CONFIG = qt debug
+HEADERS += const.h nimform.h optionsform.h stapeldisplay.h
+SOURCES += main.cpp nimform.cpp optionsform.cpp stapeldisplay.cpp
Index: /liacs/pm/backup/qt-nim/stapeldisplay.cpp
===================================================================
--- /liacs/pm/backup/qt-nim/stapeldisplay.cpp	(revision 2)
+++ /liacs/pm/backup/qt-nim/stapeldisplay.cpp	(revision 2)
@@ -0,0 +1,53 @@
+#include "stapeldisplay.h"
+
+#include <qvariant.h>
+#include <qgroupbox.h>
+#include <qpushbutton.h>
+#include <qprogressbar.h>
+#include <qlcdnumber.h>
+#include <qlayout.h>
+StapelGroupBox::StapelGroupBox( QWidget* parent, const char* name )
+    : QGroupBox( parent, name )
+{
+		this->setAlignment( int( QGroupBox::AlignTop ) );
+
+    stapelMin1PushButton = new QPushButton( this, "stapelMin1PushButton" );
+    stapelMin1PushButton->setGeometry( QRect( 11, 21, 51, 27 ) );
+
+    stapelMin2PushButton = new QPushButton( this, "stapelMin2PushButton" );
+    stapelMin2PushButton->setGeometry( QRect( 68, 21, 51, 27 ) );
+
+    stapelProgressBar = new QProgressBar( this, "stapelProgressBar" );
+    stapelProgressBar->setGeometry( QRect( 125, 23, 161, 22 ) );
+
+    stapelLCDNumber = new QLCDNumber( this, "stapelLCDNumber" );
+    stapelLCDNumber->setGeometry( QRect( 292, 21, 37, 27 ) );
+    stapelLCDNumber->setNumDigits( 2 );
+    stapelLCDNumber->setProperty( "intValue", 88 );
+    languageChange();
+
+    // tab order
+    setTabOrder( stapelMin1PushButton, stapelMin2PushButton );
+}
+
+
+StapelGroupBox::~StapelGroupBox()
+{
+
+}
+
+
+void StapelGroupBox::setXY( int X, int Y )
+{
+	this->setGeometry( X, Y, 341, 60 );
+}
+
+
+
+void StapelGroupBox::languageChange()
+{
+    this->setTitle( tr( "Stapel xx" ) );
+    stapelMin1PushButton->setText( tr( "-1" ) );
+    stapelMin2PushButton->setText( tr( "-2" ) );
+}
+
Index: /liacs/pm/backup/qt-nim/stapeldisplay.h
===================================================================
--- /liacs/pm/backup/qt-nim/stapeldisplay.h	(revision 2)
+++ /liacs/pm/backup/qt-nim/stapeldisplay.h	(revision 2)
@@ -0,0 +1,33 @@
+#ifndef STAPELGROUPBOX_H
+#define STAPELGROUPBOX_H
+
+#include <qgroupbox.h>
+
+class QPushButton;
+class QProgressBar;
+class QLCDNumber;
+
+class StapelGroupBox : public QGroupBox
+{
+    Q_OBJECT
+
+public:
+    StapelGroupBox( QWidget* parent = 0, const char* name = 0 );
+    ~StapelGroupBox();
+
+		
+    QPushButton* stapelMin1PushButton;
+    QPushButton* stapelMin2PushButton;
+    QProgressBar* stapelProgressBar;
+    QLCDNumber* stapelLCDNumber;
+		
+		void setXY( int X , int Y );
+
+protected:
+
+protected slots:
+    virtual void languageChange();
+
+};
+
+#endif 
Index: /liacs/pm/backup/sorteren.cc
===================================================================
--- /liacs/pm/backup/sorteren.cc	(revision 2)
+++ /liacs/pm/backup/sorteren.cc	(revision 2)
@@ -0,0 +1,257 @@
+#include <iostream>
+#include <ctime>
+using namespace std;
+
+//Het maken van een random getal
+int randomgetal () { // tussen 0 en 999
+  static int getal = time (NULL) % 1000;
+  getal = ( 621 * getal + 1 ) % 1000;
+  return getal;
+}
+
+//Een list bestaat uit allemaal vakjes.
+class Vakje {
+ public:
+  int Getal_int; //Waarde van het vakje
+  Vakje * Volgende_Vakje_pt; //Zijn 'rechterbuur'
+  Vakje * Vorige_Vakje_pt; //Zijn 'linkbuur'
+};
+
+class listvak {
+  public:
+    //default constuctor (NULL pointers)
+    listvak( );
+    //destructor: niks doen
+    ~listvak( ) { };
+    //creer de list van random lengte met randomgetallen
+    void randomlist();
+    //druk de list van links naar rechts af
+    void drukaf_l_r();
+    //druk de list van recht naar links af
+    void drukaf_r_l();
+    //sorteer de list, volgens bubblesort methode
+    int sorteren();
+    //merge L1 en L2 met opvolgend principe
+    void merge(listvak * L1, listvak * L2);
+    //vernietig de list.
+    void vernietig();
+  private:    
+    Vakje * Eerste_Vakje_pt; //pointer naar het eerste vakje
+    Vakje * Laatste_Vakje_pt; //pointer naar het laatste vakje
+};
+
+listvak::listvak( ) {
+  Eerste_Vakje_pt = NULL;
+  Laatste_Vakje_pt = NULL;
+}
+
+//voeg een AantalGetallen_int getallen toe aan de List die door Lbgin wordt gepointerd.
+void listvak::randomlist() {
+  Vakje * VakjeNew_Vakje_pt;
+  
+  for (int i = 0; i < randomgetal(); i++) {
+    VakjeNew_Vakje_pt = new Vakje;
+    VakjeNew_Vakje_pt->Getal_int = randomgetal();
+    if (Eerste_Vakje_pt != NULL) {
+      VakjeNew_Vakje_pt->Volgende_Vakje_pt = Eerste_Vakje_pt;
+      VakjeNew_Vakje_pt->Volgende_Vakje_pt->Vorige_Vakje_pt = VakjeNew_Vakje_pt;
+    }
+    else {
+      Laatste_Vakje_pt = VakjeNew_Vakje_pt;
+    } //end if
+    
+    Eerste_Vakje_pt = VakjeNew_Vakje_pt;
+  } //end for
+} //end listvak::randomlist
+
+//druk de list af van links naar rechts
+void listvak::drukaf_l_r() {
+ Vakje * Hulp_Vakje_pt = Eerste_Vakje_pt;
+ while (Hulp_Vakje_pt != NULL) {
+  cout << Hulp_Vakje_pt->Getal_int << " ";
+  Hulp_Vakje_pt = Hulp_Vakje_pt->Volgende_Vakje_pt;
+  } //end while
+} //end listvak::drukaf_lr
+  
+//druk de list af van rechts naar links
+void listvak::drukaf_r_l() {
+ Vakje * Hulp_Vakje_pt = Laatste_Vakje_pt;
+ while (Hulp_Vakje_pt != NULL) {
+  cout << Hulp_Vakje_pt->Getal_int << " ";
+  Hulp_Vakje_pt = Hulp_Vakje_pt->Vorige_Vakje_pt;
+  } //end while
+} //end listvak::drukaf_rl
+
+//sorteren volgens de bubblesort methode (grootste getal achteraan)
+//uitvoer: aantal verwisselingen die plaatsgevonden hebben.
+int listvak::sorteren() {
+  int Verwisselingen_int = 0;
+  Vakje * BubbleHulp_Vakje_pt = Eerste_Vakje_pt; //Dit is het vakje dat gechecked wordt
+  Vakje * BubbleStop_Vakje_pt = Laatste_Vakje_pt; //Hierna hoeft niet meer gechecked worden
+  Vakje * BubbleVakA_Vakje_pt;
+  Vakje * BubbleVakB_Vakje_pt;
+  Vakje * BubbleVakC_Vakje_pt;
+  Vakje * BubbleVakD_Vakje_pt;
+  
+  while (BubbleStop_Vakje_pt->Vorige_Vakje_pt != NULL) {  
+    while ( BubbleHulp_Vakje_pt != BubbleStop_Vakje_pt ) { 
+      if (BubbleHulp_Vakje_pt->Getal_int > BubbleHulp_Vakje_pt->Volgende_Vakje_pt->Getal_int) {
+        /* Methode voor het omwisselen van vak B en C
+         *            Oude situtatie
+         * ___________________________________
+         * | Vorige | Vak Nummer  | Volgende  |
+         * |========|=============|===========|
+         * |        |     A       |   1->B    |
+         * | 2->A   |     B       |   3->C    |
+         * | 4->B   |     C       |   5->D    |
+         * | 6->C   |     D       |           |
+         * ------------------------------------
+         *        
+         *            Nieuwe situatie
+         * ___________________________________
+         * | Vorige | Vak Nummer  | Volgende  |
+         * |========|=============|===========|
+         * |        |     A       |   1->C    |
+         * | 2->C   |     B       |   3->D    |
+         * | 4->A   |     C       |   5->B    |
+         * | 6->B   |     D       |           |
+         * ------------------------------------
+         *
+         * Uitzondering betreft als A de pointer in het begin is of als
+         * D de eind pointer is.
+         */
+        BubbleVakA_Vakje_pt = BubbleHulp_Vakje_pt->Vorige_Vakje_pt;
+        BubbleVakB_Vakje_pt = BubbleHulp_Vakje_pt;
+        BubbleVakC_Vakje_pt = BubbleHulp_Vakje_pt->Volgende_Vakje_pt;
+        BubbleVakD_Vakje_pt = BubbleHulp_Vakje_pt->Volgende_Vakje_pt->Volgende_Vakje_pt;
+        
+        //Pointer 1,2 
+        if (BubbleVakA_Vakje_pt == NULL) {
+          Eerste_Vakje_pt = BubbleVakC_Vakje_pt;
+          BubbleVakC_Vakje_pt->Vorige_Vakje_pt = NULL;
+        }
+        else {
+          BubbleVakA_Vakje_pt->Volgende_Vakje_pt = BubbleVakC_Vakje_pt;
+          BubbleVakC_Vakje_pt->Vorige_Vakje_pt = BubbleVakA_Vakje_pt;
+        } //end if
+       
+        //Pointer 3,4
+        BubbleVakB_Vakje_pt->Vorige_Vakje_pt = BubbleVakC_Vakje_pt;
+        BubbleVakC_Vakje_pt->Volgende_Vakje_pt = BubbleVakB_Vakje_pt;
+
+        //Pointer 5,6
+        if (BubbleVakD_Vakje_pt == NULL) {
+          Laatste_Vakje_pt = BubbleVakB_Vakje_pt;
+          BubbleVakB_Vakje_pt->Volgende_Vakje_pt = NULL;
+          BubbleStop_Vakje_pt = BubbleVakB_Vakje_pt;
+        }
+        else {
+          BubbleVakD_Vakje_pt->Vorige_Vakje_pt = BubbleVakB_Vakje_pt;
+          BubbleVakB_Vakje_pt->Volgende_Vakje_pt = BubbleVakD_Vakje_pt;
+        } //end if
+
+        //In het geval dat het vakje van de stop pointer kleiner is als het vakje ervoor,
+        //zal de stop pointer over het nieuwe vakje moeten vallen, anders komt hij het stop
+        //teken nooit tegen.
+        // A B C D
+        // 5 9 7 10
+        //   ^ ^ 
+        //   | |Stop pointer 
+        //   | Huidige Waarde
+        // 
+        // ZONDER AANPASSING          MET AANPASSING
+        //
+        // A C B D                    A C B D
+        // 5 7 9 10                   5 7 9 10
+        //   ^ ^                        ^ ^
+        //   | |Huidige Waarde          | |Huidige Waarde + Stop Pointer
+        //   | Stop Pointer             |
+        //
+        if (BubbleStop_Vakje_pt == BubbleVakC_Vakje_pt) {
+          BubbleStop_Vakje_pt = BubbleVakB_Vakje_pt; 
+        } //end if
+        
+        Verwisselingen_int++;
+      }
+      else {
+        BubbleHulp_Vakje_pt = BubbleHulp_Vakje_pt->Volgende_Vakje_pt;
+      } //end if
+    } //end while
+    BubbleHulp_Vakje_pt = Eerste_Vakje_pt;
+    BubbleStop_Vakje_pt = BubbleStop_Vakje_pt->Vorige_Vakje_pt;
+  } //end while
+  return (Verwisselingen_int);
+} //end listvak::sorteren
+
+void listvak::merge(listvak * L1, listvak * L2) {
+  bool Toevoegen_bool = true; //zolang true bestaan er nog waardes die toegevoegd moeten worden
+  
+  Vakje * HulpL1_Vakje_pt = L1->Laatste_Vakje_pt; //pointer die bijhoudt waar we in L1 zijn
+  Vakje * HulpL2_Vakje_pt = L2->Laatste_Vakje_pt; //pointer die bijhoudt waar we in L2 zijn
+  
+  Vakje * VakjeNew_Vakje_pt; //pointer bij gebruikt wordt bij het maken van nieuwe vakjes
+
+  while (Toevoegen_bool) {
+    VakjeNew_Vakje_pt = new Vakje;
+    if (Eerste_Vakje_pt != NULL) {
+      VakjeNew_Vakje_pt->Volgende_Vakje_pt = Eerste_Vakje_pt;
+      VakjeNew_Vakje_pt->Volgende_Vakje_pt->Vorige_Vakje_pt = VakjeNew_Vakje_pt;
+    }
+    else {
+      Laatste_Vakje_pt = VakjeNew_Vakje_pt;
+    } //end if
+    Eerste_Vakje_pt = VakjeNew_Vakje_pt;
+ 
+    if ((HulpL1_Vakje_pt != NULL) && (HulpL2_Vakje_pt != NULL)) { //beiden bevatten nog een getal
+      if (HulpL1_Vakje_pt->Getal_int > HulpL2_Vakje_pt->Getal_int) {
+        VakjeNew_Vakje_pt->Getal_int = HulpL1_Vakje_pt->Getal_int;
+        HulpL1_Vakje_pt = HulpL1_Vakje_pt->Vorige_Vakje_pt;
+      }
+      else {
+        VakjeNew_Vakje_pt->Getal_int = HulpL2_Vakje_pt->Getal_int;
+        HulpL2_Vakje_pt = HulpL2_Vakje_pt->Vorige_Vakje_pt;
+      } //end if
+    }  
+    else if (HulpL1_Vakje_pt != NULL) { //L2 leeg, enkel waardes uit L1 plakken
+        VakjeNew_Vakje_pt->Getal_int = HulpL1_Vakje_pt->Getal_int;
+        HulpL1_Vakje_pt = HulpL1_Vakje_pt->Vorige_Vakje_pt;
+    }
+    else if (HulpL2_Vakje_pt != NULL) { //L1 leeg, enkel waardes uit L2 plakken
+        VakjeNew_Vakje_pt->Getal_int = HulpL2_Vakje_pt->Getal_int;
+        HulpL2_Vakje_pt = HulpL2_Vakje_pt->Vorige_Vakje_pt;
+    }
+    else { //alles leeg, 'over en sluiten'
+      Toevoegen_bool = false;
+    } //end if
+  } //end while
+} //end listvak::merge
+
+//vernietig de list
+void listvak::vernietig() {
+  Vakje * Hulp_Vakje_pt;
+  while (Eerste_Vakje_pt != NULL) {
+    Hulp_Vakje_pt = Eerste_Vakje_pt->Volgende_Vakje_pt;
+    delete Eerste_Vakje_pt;
+    Eerste_Vakje_pt = Hulp_Vakje_pt;
+  } //end while;    
+  Laatste_Vakje_pt = NULL;
+} //end listvak::vernietig
+    
+int main() {
+  listvak L1;
+  listvak L2;
+  listvak L3;
+  L1.randomlist();
+  L2.randomlist();
+  L1.sorteren();
+  L2.sorteren();
+  L1.drukaf_l_r();
+  cout << endl << endl;
+  L2.drukaf_l_r();
+  cout << endl << endl;
+  L3.merge(&L1,&L2);
+  cout << endl << endl;
+  L3.drukaf_l_r();
+  cout << endl;
+  
+}
Index: /liacs/pm/backup/sorteren.cc.bak
===================================================================
--- /liacs/pm/backup/sorteren.cc.bak	(revision 2)
+++ /liacs/pm/backup/sorteren.cc.bak	(revision 2)
@@ -0,0 +1,244 @@
+#include <iostream>
+#include <ctime>
+using namespace std;
+
+//Het maken van een random getal
+int randomgetal () { // tussen 0 en 999
+  static int getal = time (NULL) % 1000;
+  getal = ( 621 * getal + 1 ) % 1000;
+  return getal;
+}
+
+//Een list bestaat uit allemaal vakjes.
+class Vakje {
+ public:
+  int Getal_int; //Waarde van het vakje
+  Vakje * Volgende_Vakje_pt; //Zijn 'rechterbuur'
+  Vakje * Vorige_Vakje_pt; //Zijn 'linkbuur'
+};
+
+class listvak {
+  public:
+    //default constuctor (NULL pointers)
+    listvak( );
+    //destructor: niks doen
+    ~listvak( ) { };
+    //creer de list van random lengte met randomgetallen
+    void randomlist();
+    //druk de list van links naar rechts af
+    void drukaf_l_r();
+    //druk de list van recht naar links af
+    void drukaf_r_l();
+    //sorteer de list, volgens bubblesort methode
+    int sorteren();
+    //merge L1 en L2 met opvolgend principe
+    void merge(listvak * L1, listvak * L2);
+    //vernietig de list.
+    void vernietig();
+  private:    
+    Vakje * Eerste_Vakje_pt; //pointer naar het eerste vakje
+    Vakje * Laatste_Vakje_pt; //pointer naar het laatste vakje
+};
+
+listvak::listvak( ) {
+  Eerste_Vakje_pt = NULL;
+  Laatste_Vakje_pt = NULL;
+}
+
+//voeg een AantalGetallen_int getallen toe aan de List die door Lbgin wordt gepointerd.
+void listvak::randomlist() {
+  
+  for (int i = 0; i < randomgetal(); i++) {
+    Vakje * VakjeNew_Vakje_pt;
+    VakjeNew_Vakje_pt = new Vakje;
+    VakjeNew_Vakje_pt->Getal_int = randomgetal();
+    if (Eerste_Vakje_pt != NULL) {
+      VakjeNew_Vakje_pt->Volgende_Vakje_pt = Eerste_Vakje_pt;
+      VakjeNew_Vakje_pt->Volgende_Vakje_pt->Vorige_Vakje_pt = VakjeNew_Vakje_pt;
+    }
+    else {
+      Laatste_Vakje_pt = VakjeNew_Vakje_pt;
+    } //end if
+    
+    Eerste_Vakje_pt = VakjeNew_Vakje_pt;
+  } //end for
+} //end listvak::randomlist
+
+//druk de list af van links naar rechts
+void listvak::drukaf_l_r() {
+ Vakje * Hulp_Vakje_pt = Eerste_Vakje_pt;
+ while (Hulp_Vakje_pt != NULL) {
+  cout << Hulp_Vakje_pt->Getal_int << " ";
+  Hulp_Vakje_pt = Hulp_Vakje_pt->Volgende_Vakje_pt;
+  } //end while
+} //end listvak::drukaf_lr
+  
+//druk de list af van rechts naar links
+void listvak::drukaf_r_l() {
+ Vakje * Hulp_Vakje_pt = Laatste_Vakje_pt;
+ while (Hulp_Vakje_pt != NULL) {
+  cout << Hulp_Vakje_pt->Getal_int << " ";
+  Hulp_Vakje_pt = Hulp_Vakje_pt->Vorige_Vakje_pt;
+  } //end while
+} //end listvak::drukaf_rl
+
+//sorteren volgens de bubblesort methode (grootste getal achteraan)
+//uitvoer: aantal verwisselingen die plaatsgevonden hebben.
+int listvak::sorteren() {
+  int Verwisselingen_int = 0;
+  Vakje * BubbleHulp_Vakje_pt = Eerste_Vakje_pt; //Dit is het vakje dat gechecked wordt
+  Vakje * BubbleStop_Vakje_pt = Laatste_Vakje_pt; //Hierna hoeft niet meer gechecked worden
+  Vakje * BubbleVakA_Vakje_pt;
+  Vakje * BubbleVakB_Vakje_pt;
+  Vakje * BubbleVakC_Vakje_pt;
+  Vakje * BubbleVakD_Vakje_pt;
+  
+  while (BubbleStop_Vakje_pt->Vorige_Vakje_pt != NULL) {  
+    while ( BubbleHulp_Vakje_pt != BubbleStop_Vakje_pt ) { 
+      if (BubbleHulp_Vakje_pt->Getal_int > BubbleHulp_Vakje_pt->Volgende_Vakje_pt->Getal_int) {
+        /* Methode voor het omwisselen van vak B en C
+         *            Oude situtatie
+         * ___________________________________
+         * | Vorige | Vak Nummer  | Volgende  |
+         * |========|=============|===========|
+         * |        |     A       |   1->B    |
+         * | 2->A   |     B       |   3->C    |
+         * | 4->B   |     C       |   5->D    |
+         * | 6->C   |     D       |           |
+         * ------------------------------------
+         *        
+         *            Nieuwe situatie
+         * ___________________________________
+         * | Vorige | Vak Nummer  | Volgende  |
+         * |========|=============|===========|
+         * |        |     A       |   1->C    |
+         * | 2->C   |     B       |   3->D    |
+         * | 4->A   |     C       |   5->B    |
+         * | 6->B   |     D       |           |
+         * ------------------------------------
+         *
+         * Uitzondering betreft als A de pointer in het begin is of als
+         * D de eind pointer is.
+         */
+        BubbleVakA_Vakje_pt = BubbleHulp_Vakje_pt->Vorige_Vakje_pt;
+        BubbleVakB_Vakje_pt = BubbleHulp_Vakje_pt;
+        BubbleVakC_Vakje_pt = BubbleHulp_Vakje_pt->Volgende_Vakje_pt;
+        BubbleVakD_Vakje_pt = BubbleHulp_Vakje_pt->Volgende_Vakje_pt->Volgende_Vakje_pt;
+        
+        //Pointer 1,2 
+        if (BubbleVakA_Vakje_pt == NULL) {
+          Eerste_Vakje_pt = BubbleVakC_Vakje_pt;
+          BubbleVakC_Vakje_pt->Vorige_Vakje_pt = NULL;
+        }
+        else {
+          BubbleVakA_Vakje_pt->Volgende_Vakje_pt = BubbleVakC_Vakje_pt;
+          BubbleVakC_Vakje_pt->Vorige_Vakje_pt = BubbleVakA_Vakje_pt;
+        } //end if
+       
+        //Pointer 3,4
+        BubbleVakB_Vakje_pt->Vorige_Vakje_pt = BubbleVakC_Vakje_pt;
+        BubbleVakC_Vakje_pt->Volgende_Vakje_pt = BubbleVakB_Vakje_pt;
+
+        //Pointer 5,6
+        if (BubbleVakD_Vakje_pt == NULL) {
+          Laatste_Vakje_pt = BubbleVakB_Vakje_pt;
+          BubbleVakB_Vakje_pt->Volgende_Vakje_pt = NULL;
+          BubbleStop_Vakje_pt = BubbleVakB_Vakje_pt;
+        }
+        else {
+          BubbleVakD_Vakje_pt->Vorige_Vakje_pt = BubbleVakB_Vakje_pt;
+          BubbleVakB_Vakje_pt->Volgende_Vakje_pt = BubbleVakD_Vakje_pt;
+        } //end if
+
+        //In het geval dat het vakje van de stop pointer kleiner is als het vakje ervoor,
+        //zal de stop pointer over het nieuwe vakje moeten vallen, anders komt hij het stop
+        //teken nooit tegen.
+        // A B C D
+        // 5 9 7 10
+        //   ^ ^ 
+        //   | |Stop pointer 
+        //   | Huidige Waarde
+        // 
+        // ZONDER AANPASSING          MET AANPASSING
+        //
+        // A C B D                    A C B D
+        // 5 7 9 10                   5 7 9 10
+        //   ^ ^                        ^ ^
+        //   | |Huidige Waarde          | |Huidige Waarde + Stop Pointer
+        //   | Stop Pointer             |
+        //
+        if (BubbleStop_Vakje_pt == BubbleVakC_Vakje_pt) {
+          BubbleStop_Vakje_pt = BubbleVakB_Vakje_pt; 
+        } //end if
+        
+        Verwisselingen_int++;
+      }
+      else {
+        BubbleHulp_Vakje_pt = BubbleHulp_Vakje_pt->Volgende_Vakje_pt;
+      } //end if
+    } //end while
+    BubbleHulp_Vakje_pt = Eerste_Vakje_pt;
+    BubbleStop_Vakje_pt = BubbleStop_Vakje_pt->Vorige_Vakje_pt;
+  } //end while
+  return (Verwisselingen_int);
+} //end listvak::sorteren
+
+void listvak::merge(listvak * L1, listvak * L2) {
+  bool Toevoegen_bool = true; //zolang true bestaan er nog waardes die toegevoegd moeten worden
+  
+  Vakje * HulpL1_Vakje_pt = L1->Eerste_Vakje_pt; //pointer die bijhoudt waar we in L1 zijn
+  Vakje * HulpL2_Vakje_pt = L2->Eerste_Vakje_pt; //pointer die bijhoudt waar we in L2 zijn
+
+
+  while (Toevoegen_bool)
+  
+    if ((HulpL1_Vakje_pt != NULL) && (HulpL2_Vakje_pt != NULL)) { //beiden kunnen geschikt getal bevatten
+      if (HulpL2_Vakje_pt->Getal_int < HulpL2_Vakje_pt->Getal_int) {
+    
+      Vakje * VakjeNew_Vakje_pt;
+      VakjeNew_Vakje_pt = new Vakje;
+      VakjeNew_Vakje_pt->Getal_int = randomgetal();
+      if (Eerste_Vakje_pt != NULL) {
+        VakjeNew_Vakje_pt->Volgende_Vakje_pt = Eerste_Vakje_pt;
+        VakjeNew_Vakje_pt->Volgende_Vakje_pt->Vorige_Vakje_pt = VakjeNew_Vakje_pt;
+      }
+      else {
+        Laatste_Vakje_pt = VakjeNew_Vakje_pt;
+      } //end if
+    }
+    else if (HulpL1_Vakje_pt != NULL) { //L2 leeg, enkel waardes uit L1 plakken
+
+    }
+    else if (HulpL2_Vakje_pt != NULL) { //L1 leeg, enkel waardes uit L2 plakken
+    
+    }
+    else { //alles leeg, over en sluiten
+      Toevoegen_bool = false;
+    }
+  }
+}
+
+//vernietig de list
+void listvak::vernietig() {
+  Vakje * Hulp_Vakje_pt;
+  while (Eerste_Vakje_pt != NULL) {
+    Hulp_Vakje_pt = Eerste_Vakje_pt->Volgende_Vakje_pt;
+    delete Eerste_Vakje_pt;
+    Eerste_Vakje_pt = Hulp_Vakje_pt;
+  } //end while;    
+  Laatste_Vakje_pt = NULL;
+} //end listvak::vernietig
+    
+int main() {
+  listvak L1;
+  listvak L2;
+  listvak L3;
+  L1.randomlist();
+  L2.randomlist();
+  
+  L1.drukaf_l_r();
+  cout << endl;
+  L2.drukaf_l_r();
+  cout << endl;
+  L3.merge(&L1,&L2);
+}
Index: /liacs/pm/backup/sorteren.ccbak
===================================================================
--- /liacs/pm/backup/sorteren.ccbak	(revision 2)
+++ /liacs/pm/backup/sorteren.ccbak	(revision 2)
@@ -0,0 +1,59 @@
+#include <iostream>
+#include <ctime>
+using namespace std;
+
+int randomgetal () { // tussen 0 en 999
+  static int getal = time (NULL) % 1000;
+  getal = ( 621 * getal + 1 ) % 1000;
+  return getal;
+}
+
+
+class listvak {
+  public:
+    int getal;
+    listvak * volgende_pt;
+    void random();
+};
+
+//voeg een AantalGetallen_int getallen toe aan de List die door Lbgin wordt gepointerd.
+void random(listvak * Lbegin) {
+  for (int i = 0; i < randomgetal(); i++) {
+    listvak * Lnew;
+    Lnew = new listvak;
+    Lnew->getal = randomgetal();
+    Lnew->volgende_pt = Lbegin->volgende_pt;
+    Lbegin->volgende_pt = Lnew;
+  }
+}
+
+//Vernietig de list gepointerd door Lbegin, laat enkel de verwijzing 'leven' 
+void destroy(listvak * Lbegin) {
+  listvak * hulp = Lbegin->volgende_pt;
+  while (hulp != NULL ) {
+    delete Lbegin->volgende_pt;
+    Lbegin->volgende_pt = hulp->volgende_pt;
+    hulp = Lbegin->volgende_pt;
+  }
+  Lbegin->getal = NULL;
+}
+
+
+int main() {
+  listvak * L1;
+  listvak * L2;
+  listvak * L3;
+  L1 = new listvak;
+  L2 = new listvak;
+  L3 = new listvak;
+  
+  L1->getal = randomgetal();
+  L1->volgende_pt = NULL;
+  random(L1);
+  listvak * hulp = L1;
+//lijst met vakjes uitlezen
+  while (hulp != NULL ) {
+    cout << hulp->getal << " ";
+    hulp = hulp->volgende_pt;
+  }
+}
Index: /liacs/pm/backup/test
===================================================================
--- /liacs/pm/backup/test	(revision 2)
+++ /liacs/pm/backup/test	(revision 2)
@@ -0,0 +1,1 @@
+resssfsf rick sfsfsf rick 
Index: /liacs/pm/backup/test.cc
===================================================================
--- /liacs/pm/backup/test.cc	(revision 2)
+++ /liacs/pm/backup/test.cc	(revision 2)
@@ -0,0 +1,154 @@
+#include <iostream>
+#include <ctime>
+using namespace std;
+
+const int MAX = 25;
+
+//Het maken van een random getal
+int randomgetal10000() { // tussen 0 en 9999
+  static int getal = time (NULL) % 10000;
+  getal = ( 621 * getal + 1 ) % 10000;
+  return getal;
+}
+
+class grootgetal {
+  public:
+    grootgetal();
+    ~grootgetal() { };
+    void vul(int aantal, int deelgetal);
+    void vulrandom(int aantal);
+    bool testop1();
+    bool iseven(int i);
+    bool maal3plus1();
+    void deeldoor2();
+    void vermoedentest();
+    void drukaf();
+  private:
+    int groot[MAX];
+};
+
+grootgetal::grootgetal() {
+  for (int i = 0; i < MAX; i++) {
+    groot[i] = 0;
+  } // end for
+} // end grootgetal::grootgetal
+
+void grootgetal::vul(int deelgetal, int aantal) {
+  for(int i = 0; i < aantal; i++) {
+    groot[i] = deelgetal;
+  } //end for
+} //end grootgetal::vul
+
+void grootgetal::vulrandom(int aantal) {
+  for (int i = 0; i < aantal; i++) {
+    groot[i] = randomgetal10000();
+  } // end for
+} // end grootgetal::vulrandom
+
+bool grootgetal::iseven(int i) {
+ return(not(groot[i] % 2));     
+} // end grootgetal::iseven
+
+void grootgetal::deeldoor2() {
+  int rest = 0;
+  for (int i = MAX - 1; i >= 0; i--) {
+    if (iseven(i)) {
+      groot[i] = groot[i]/2 + rest; 
+      rest = 0;
+    }
+    else {
+      groot[i] = groot[i]/2 + rest;
+      rest = 5000;
+    } // end if
+  } // end for
+} // end grootgetal::deeldoor2
+
+bool grootgetal::maal3plus1() { 
+  int rest = 1; // Alvast +1
+	
+  for(int i = 0; i < MAX; i++) { 
+		groot[i] = (groot[i] * 3) + rest;
+    if(groot[i] >= 10000){
+      rest = (groot[i] / 10000);
+      groot[i] = (groot[i] - (rest * 10000));
+    } 
+    else {
+      rest = 0;
+    } //end if
+  } //end for
+  
+  if (groot[MAX] > 9999) {
+    return (false);
+  }
+  else { 
+    return (true); 
+  } //end if
+  
+} //end grootgetal::maal3plus1    
+
+bool grootgetal::testop1() {
+  if (groot[0] == 1) {
+    for (int i = 1; i < MAX - 1; i++) {
+      if (groot[i] != 0) {
+        return (false);
+      } //end if
+    } //end for
+    return (true);
+  }
+  return (false);
+} //end grootgetal::testop1
+
+void grootgetal::vermoedentest() {
+  int aantalintaraties = 0; //aantal keer (3x+1) (/2) noodzakelijk
+  while (not(testop1())) {
+    
+    if ((aantalintaraties % 100) == 0) { 
+      cout << "Stap "; 
+      cout.width(6);
+      cout.fill(' ');
+      cout << aantalintaraties << ": "; 
+      drukaf(); 
+      cout << endl;
+    } //end if
+    
+    if (iseven(0)) {
+      deeldoor2();
+    }
+    else {
+      maal3plus1();
+    } //end if
+  
+    aantalintaraties++;
+    
+  } //end while
+  cout << "Totaal aantal intaraties: " << aantalintaraties << endl;;
+} //end grootgetal::vermoedentest()
+
+void grootgetal::drukaf() {
+  cout << groot[MAX - 1];
+  for (int i = MAX - 2; i >= 0; i--) {
+    if (groot[i] > 999) {
+      cout << groot[i];
+    }
+    else if (groot[i] > 99) {
+      cout << "0" << groot[i];
+    }
+    else if (groot[i] > 9) {
+      cout << "00" << groot[i];
+    } 
+    else {
+    cout << "000" << groot[i];
+    }//end if
+  } //end for
+} //end grootgetal::drukaf
+
+void test() {
+cout << "rick";
+return;
+cout << "test";
+}
+
+int main() {
+
+test();
+}
Index: /liacs/pm/classetest.cc
===================================================================
--- /liacs/pm/classetest.cc	(revision 2)
+++ /liacs/pm/classetest.cc	(revision 2)
@@ -0,0 +1,39 @@
+#include <iostream>
+
+const int n = 20;
+
+class VoorPascal {
+public:
+	VoorPascal( );
+	~VoorPascal( ){cout << "dood"; }
+	void drukaf(int i);
+	void voegtoe(int i);
+	void erbij(int i);
+private:
+	bool inhoud[n];
+	int  test;
+};
+
+VoorPascal::VoorPascal() {
+	int i;
+	test = 10;
+	for(i =0; i < n; i++) {
+		inhoud[i] = false;
+	}
+}
+
+void VoorPascal::drukaf(int i) {
+cout <<  inhoud[i] << endl << test <<endl;
+
+}
+
+void VoorPascal::erbij(int i) {
+	inhoud[i] = true;
+}
+
+int main() {
+VoorPascal rick;
+rick.erbij(2);
+rick.drukaf(2);
+cout << "programma einde";
+}
Index: /liacs/pm/mastermind.cc
===================================================================
--- /liacs/pm/mastermind.cc	(revision 2)
+++ /liacs/pm/mastermind.cc	(revision 2)
@@ -0,0 +1,171 @@
+#include <iostream>
+#include <ctime>
+#include <climits>
+using namespace std;
+
+
+// voorbeeld: 1/2/3/4
+// x = (randi()/250) + 1;
+int randi () { // tussen 0 en 999
+  static int getal = time (NULL) % 1000;
+  getal = ( 621 * getal + 1 ) % 1000;
+  return getal;
+}
+
+//'randomgetallen' volgens de functie x_nieuw=(a*x_oud+c)%m
+//om te zorgen dat getallen dubbel voorkomen wordt OudGetal erbijopgeteld 
+//(de tijd is te langzaam ;-) )
+//de tijd wordt gebruikt om elke keer andere getallen te laten weergeven
+long randomgetal(long *OudGetal) {
+  int a = 221;
+  int c = 1;
+  int m = 1000;
+  *OudGetal = (time (NULL) % m) + *OudGetal;
+  *OudGetal = ( a * *OudGetal + c ) % m;
+  return(*OudGetal);
+} //end randomgetal
+
+//Vraag de gebruiker om zijn invoer
+//AantalGetallen_pt = aantal getallen (pointer)
+//AantalKleuren_pt = aantal mogelijkheiden (pointer)
+//Invoer_pt = array met ingevoerde getallen door gebruiker (pointer)
+void spel_invoer(int *AantalGetallen_pt, int *AantalKleuren_pt, int *Invoer_pt) {
+  cout << endl << "Plaats gokje: " << endl;
+  int IngevoerdeGetallen = 0;
+  while (IngevoerdeGetallen < *AantalGetallen_pt) { 
+    cout << "Voer getal " << (IngevoerdeGetallen + 1) << " (van de " << *AantalGetallen_pt << ") in "
+    << "[0-" << *AantalKleuren_pt << "] (gevolgd door een enter): "; 
+    if (cin >> *(Invoer_pt + IngevoerdeGetallen)) {
+      IngevoerdeGetallen++;
+    }
+    else {
+      cout << "Dit is geen (geldig) getal, gelieve een geldig getal invoeren" << endl;
+      cin.clear();
+      cin.ignore(INT_MAX,'\n');
+    }
+  }
+} //end spel_invoer
+
+//Bereken of de bebruiker iets goeds ingevoerd heeft
+//AG_pt => AantalGetallen_pt = aantal getallen (pointer)
+//AK_pt => AantalKleuren_pt = aantal mogelijkheiden (pointer)
+//Invoer_pt = array met ingevoerde getallen door gebruiker (pointer)
+//Antwoord_pt = array met antwoorden (pointer) 
+//ATA_pt => AantalTekensAanwezig_pt = Aantal tekens aanwezig, maar niet goed geplaatst (pointer)
+//ATJP => AantalTekensGoedePlek_pt = Aantal tekens op de goede plek (pointer)
+
+void spel_bereken(int *AG_pt, int *ATA_pt, int *ATJP_pt, int *Antwoord, int *Invoer){
+    
+  bool HulpArray[*AG_pt]; //array die nodig is bij het testen van de geldigheid van het 
+  //gegeven antwoord, als de plek corresponderend met plek in array antwoord true is dan is het
+  //getal nog niet gebruikt voor het antwoord.
+
+  //hulp array op true stellen
+  for (int i = 0; i < *AG_pt; i++) {
+    HulpArray[i] = true;
+  }   
+  
+  //Gegokte invoer array doorlopen
+  for (int i = 0;i < *AG_pt; i++) { //loop_1
+    
+    //debug (invoer + antwoord laten zien)
+    cout << *(Invoer + i) << " antwoord: " << *(Antwoord + i) << endl;
+    //end debug
+    
+    if (*(Invoer + i) == *(Antwoord + i)) { //getal op de goede plek
+      (*ATJP_pt)++;
+      HulpArray[i] = false;
+    }
+  } //end loop_1
+  for (int i = 0; i < *AG_pt; i++) { //loop_2
+    if (HulpArray[i]) {
+      for (int j = 0; j < *AG_pt; j++) { //loop_3
+        if ((*(Invoer + i) == *(Antwoord + j)) && (HulpArray[j])) { //getal aanwezig
+          (*ATA_pt)++;
+          HulpArray[j] = false;
+          j = *AG_pt; //uit loop_2 stappen, hij mag namelijk maar 1 keer tellen
+        }
+      } //end loop_3 
+    }
+  } //end loop_2
+} //end spel_bereken
+
+
+//hoofdmodule voor spel mastermind.
+//UITVOER: 0 = goed uitgevoerd, 1 = error in de invoer
+int spel_main() {
+  
+  //variabelen voor invoer
+  int AantalGetallen = 4; //Aantal getallen dat de code lang is
+  int AantalKleuren = 6;	//Aantal mogelijkheden per code teken
+
+  cout << "Geef het aantal getallen ( <20 ) dat u wilt raden (gevolgd door enter): ";
+  if (cin >> AantalGetallen) {
+    if(AantalGetallen > 20) {
+      cout << "Dit is meer als 20" << endl;
+      return(1);
+    }
+  }
+  else {
+    cout << "Dit is GEEN getal" << endl;
+    return(1);
+  }
+  
+  cout << "Geef het aantal kleuren ( <20 )dat u wilt raden (gevolgd door enter): ";
+  if (cin >> AantalKleuren) {
+    if(AantalKleuren > 20) {
+      cout << "Dit is meer als 20" << endl;
+      return(1);
+    }
+  }
+  else {
+    cout << "Dit is GEEN getal" << endl;
+    return(1);
+  }
+ 
+  int Invoer[AantalGetallen]; //Array waar de invoer van de gebruiker wordt opgeslagen
+  
+  //variabelen voor de berekeing
+  bool NogNietGeraden = true; //Waar zolang code (Antwoord) nog niet geraden 
+    
+  //variabelen voor uitvoer
+  int AantalTekensJuistePlek = 0; //Pinnetje van de juiste kleur op de juiste plek
+  int AantalTekensAanwezig = 0; //Pinnetje van de juiste kleur, maar niet op de goede plek
+  
+  //variabelen voor antwoord
+  long OudeGetalsWaarde = 0; //variable die ervoor zorgt dat elke code uniek wordt
+  int Antwoord[AantalGetallen]; //array met gezochte antwoorden
+  
+  //antwoord genereren 
+  for (int i = 0; i < AantalGetallen; i++) {
+    Antwoord[i] = randomgetal(&OudeGetalsWaarde); 
+	  Antwoord[i] = (Antwoord[i] % 5); 
+    
+    //debug (antwoord laten zien)
+    cout << Antwoord[i] << endl;
+    //end debug
+  }
+
+  while (NogNietGeraden) { //gebruiker code laten raden
+    
+    spel_invoer(&AantalGetallen, &AantalKleuren, Invoer); //gebruikers invoer opvragen	
+    spel_bereken(&AantalGetallen, &AantalTekensJuistePlek, &AantalTekensAanwezig, Antwoord, Invoer); //vergelijking uitvoeren
+
+    //gebruikers resultaat laten zien
+	  if (AantalTekensJuistePlek == AantalGetallen) {
+      cout << "Zeer goed, u heeft het goede antwoord geraden, druk op enter om verder te gaan";
+      cin.get();
+      NogNietGeraden = false;
+	  }
+    else {
+      cout << "Aantal op de juiste plek: \t" << AantalTekensJuistePlek << endl;
+      cout << "Aantal niet op de juiste plek:\t" << AantalTekensAanwezig << endl;
+	  } //end gebruiker code laten raden 
+	}  
+  return (0);
+}
+
+int main() {
+spel_main();
+}
+
Index: /liacs/pm/menu.cc
===================================================================
--- /liacs/pm/menu.cc	(revision 2)
+++ /liacs/pm/menu.cc	(revision 2)
@@ -0,0 +1,775 @@
+#include <iostream>
+#include <cstdio>
+#include <ctime>
+#include <climits>
+
+using namespace std;
+
+//
+//Variable voor het 3x+1 programma
+//
+const int MAX = 25;
+
+
+void Intro() {
+	cout	<< "---------------------------------------------------" << endl
+			  << "|        University of Leiden  (XX-XX-2004)       |" << endl
+			  << "|         Programmeermethoden opdracht 3          |" << endl
+			  << "|                                                 |" << endl
+			  << "|                 Gemaakt door:                   |" << endl
+			  << "|               Rick van der Zwet                 |" << endl
+			  << "|                 Pascal de Vos                   |" << endl
+			  << "|                                                 |" << endl
+			  << "|                                                 |" << endl
+			  << "| Getest op: Unix systeem (Sun OS)                |" << endl
+			  << "|            Windows XP (Dev-C++ 4.9.9.0)         |" << endl
+			  << "|            Freebsd 5.2.1-r11 gcc version 3.3.3  |" << endl
+			  << "---------------------------------------------------" << endl
+			  << endl;
+}
+
+
+//Het maken van een random getal
+int randomgetal(int x) { // tussen 0 en x 
+  static int getal = time (NULL) % x; 
+  getal = ( 621 * getal + 1 ) % x; 
+  return getal;
+}
+
+//
+// === SORTEREN ===
+//
+
+class grootgetal {
+  public:
+    grootgetal();
+    ~grootgetal() { };
+    void vul(int aantal, int deelgetal);
+    void vulrandom(int aantal);
+    bool testop1();
+    bool iseven(int i);
+    bool maal3plus1();
+    void deeldoor2();
+    void vermoedentest();
+    void drukaf();
+  private:
+    int groot[MAX];
+};
+
+grootgetal::grootgetal() {
+  for (int i = 0; i < MAX; i++) {
+    groot[i] = 0;
+  } // end for
+} // end grootgetal::grootgetal
+
+void grootgetal::vul(int deelgetal, int aantal) {
+  for(int i = 0; i < aantal; i++) {
+    groot[i] = deelgetal;
+  } //end for
+} //end grootgetal::vul
+
+void grootgetal::vulrandom(int aantal) {
+  for (int i = 0; i < aantal; i++) {
+    groot[i] = randomgetal(10000);
+  } // end for
+} // end grootgetal::vulrandom
+
+bool grootgetal::iseven(int i) {
+ return(not(groot[i] % 2));     
+} // end grootgetal::iseven
+
+void grootgetal::deeldoor2() {
+  int rest = 0;
+  for (int i = MAX - 1; i >= 0; i--) {
+    if (iseven(i)) {
+      groot[i] = groot[i]/2 + rest; 
+      rest = 0;
+    }
+    else {
+      groot[i] = groot[i]/2 + rest;
+      rest = 5000;
+    } // end if
+  } // end for
+} // end grootgetal::deeldoor2
+
+bool grootgetal::maal3plus1() { 
+  int rest = 1; // Alvast +1
+	
+  for(int i = 0; i < MAX; i++) { 
+		groot[i] = (groot[i] * 3) + rest;
+    if(groot[i] >= 10000){
+      rest = (groot[i] / 10000);
+      groot[i] = (groot[i] - (rest * 10000));
+    } 
+    else {
+      rest = 0;
+    } //end if
+  } //end for
+  
+  if (groot[MAX] > 9999) {
+    return (false);
+  }
+  else { 
+    return (true); 
+  } //end if
+  
+} //end grootgetal::maal3plus1    
+
+bool grootgetal::testop1() {
+  if (groot[0] == 1) {
+    for (int i = 1; i < MAX - 1; i++) {
+      if (groot[i] != 0) {
+        return (false);
+      } //end if
+    } //end for
+    return (true);
+  }
+  return (false);
+} //end grootgetal::testop1
+
+void grootgetal::vermoedentest() {
+  int aantalintaraties = 0; //aantal keer (3x+1) (/2) noodzakelijk
+  while (not(testop1())) {
+    
+    if ((aantalintaraties % 100) == 0) { 
+      cout << "Stap "; 
+      cout.width(6);
+      cout.fill(' ');
+      cout << aantalintaraties << ": "; 
+      drukaf(); 
+      cout << endl;
+    } //end if
+    
+    if (iseven(0)) {
+      deeldoor2();
+    }
+    else {
+      maal3plus1();
+    } //end if
+  
+    aantalintaraties++;
+    
+  } //end while
+  cout << "Totaal aantal intaraties: " << aantalintaraties << endl;;
+} //end grootgetal::vermoedentest()
+
+void grootgetal::drukaf() {
+  cout << groot[MAX - 1];
+  for (int i = MAX - 2; i >= 0; i--) {
+    if (groot[i] > 999) {
+      cout << groot[i];
+    }
+    else if (groot[i] > 99) {
+      cout << "0" << groot[i];
+    }
+    else if (groot[i] > 9) {
+      cout << "00" << groot[i];
+    } 
+    else {
+    cout << "000" << groot[i];
+    }//end if
+  } //end for
+} //end grootgetal::drukaf
+
+//
+// === END SORTEREN  ===
+//
+
+// 
+// == MASTERMIND ===
+//
+
+//Vraag de gebruiker om zijn invoer
+//AantalGetallen_pt = aantal getallen (pointer)
+//AantalKleuren_pt = aantal mogelijkheiden (pointer)
+//Invoer_pt = array met ingevoerde getallen door gebruiker (pointer)
+void MastermindInvoer(int *AantalGetallen_pt, int *AantalKleuren_pt, int *Invoer_pt) {
+  cout << endl << "Plaats gokje: " << endl;
+  int IngevoerdeGetallen = 0;
+  while (IngevoerdeGetallen < *AantalGetallen_pt) { 
+    cout << "Voer getal " << (IngevoerdeGetallen + 1) << " (van de " << *AantalGetallen_pt << ") in "
+    << "[0-" << *AantalKleuren_pt << "] (gevolgd door een enter): "; 
+    if (cin >> *(Invoer_pt + IngevoerdeGetallen)) {
+      IngevoerdeGetallen++;
+    }
+    else {
+      cout << "Dit is geen (geldig) getal, gelieve een geldig getal invoeren" << endl;
+      cin.clear();
+      cin.ignore(INT_MAX,'\n');
+    } // end if
+  } // end while
+} //end MastermindInvoer
+
+//Bereken of de bebruiker iets goeds ingevoerd heeft
+//AG_pt => AantalGetallen_pt = aantal getallen (pointer)
+//AK_pt => AantalKleuren_pt = aantal mogelijkheiden (pointer)
+//Invoer_pt = array met ingevoerde getallen door gebruiker (pointer)
+//Antwoord_pt = array met antwoorden (pointer) 
+//ATA_pt => AantalTekensAanwezig_pt = Aantal tekens aanwezig, maar niet goed geplaatst (pointer)
+//ATJP => AantalTekensGoedePlek_pt = Aantal tekens op de goede plek (pointer)
+
+void MastermindBereken(int *AG_pt, int *ATA_pt, int *ATJP_pt, int *Antwoord, int *Invoer){
+    
+  bool HulpArray[*AG_pt]; //array die nodig is bij het testen van de geldigheid van het 
+  //gegeven antwoord, als de plek corresponderend met plek in array antwoord true is dan is het
+  //getal nog niet gebruikt voor het antwoord.
+
+  //hulp array op true stellen
+  for (int i = 0; i < *AG_pt; i++) {
+    HulpArray[i] = true;
+  }   
+  
+  //Gegokte invoer array doorlopen
+  for (int i = 0;i < *AG_pt; i++) { //loop_1
+    
+    //debug (invoer + antwoord laten zien)
+    cout << *(Invoer + i) << " antwoord: " << *(Antwoord + i) << endl;
+    //end debug
+    
+    if (*(Invoer + i) == *(Antwoord + i)) { //getal op de goede plek
+      (*ATJP_pt)++;
+      HulpArray[i] = false;
+    }
+  } //end loop_1
+  for (int i = 0; i < *AG_pt; i++) { //loop_2
+    if (HulpArray[i]) {
+      for (int j = 0; j < *AG_pt; j++) { //loop_3
+        if ((*(Invoer + i) == *(Antwoord + j)) && (HulpArray[j])) { //getal aanwezig
+          (*ATA_pt)++;
+          HulpArray[j] = false;
+          j = *AG_pt; //uit loop_2 stappen, hij mag namelijk maar 1 keer tellen
+        }
+      } //end loop_3 
+    }
+  } //end loop_2
+} //end MastermindBereken 
+
+
+//hoofdmodule voor spel mastermind.
+void MastermindMain() {
+  
+  //variabelen voor invoer
+  int AantalGetallen = 4; //Aantal getallen dat de code lang is
+  int AantalKleuren = 6;	//Aantal mogelijkheden per code teken
+
+  cout << "Geef het aantal getallen ( <20 ) dat u wilt raden (gevolgd door enter): ";
+  if (cin >> AantalGetallen) {
+    if(AantalGetallen > 20) {
+      cout << "Dit is meer als 20" << endl;
+      return;
+    } // end if
+  } 
+  else {
+    cout << "Dit is GEEN getal" << endl;
+    return;
+  } // end if
+  
+  cout << "Geef het aantal kleuren ( <20 )dat u wilt raden (gevolgd door enter): ";
+  if (cin >> AantalKleuren) {
+    if(AantalKleuren > 20) {
+      cout << "Dit is meer als 20" << endl;
+      return;
+    } // end if
+  }
+  else {
+    cout << "Dit is GEEN getal" << endl;
+    return;
+  } // end if
+ 
+  int Invoer[AantalGetallen]; //Array waar de invoer van de gebruiker wordt opgeslagen
+  
+  //variabelen voor de berekeing
+  bool NogNietGeraden = true; //Waar zolang code (Antwoord) nog niet geraden 
+    
+  //variabelen voor uitvoer
+  int AantalTekensJuistePlek = 0; //Pinnetje van de juiste kleur op de juiste plek
+  int AantalTekensAanwezig = 0; //Pinnetje van de juiste kleur, maar niet op de goede plek
+  
+  //variabelen voor antwoord
+  int Antwoord[AantalGetallen]; //array met gezochte antwoorden
+  
+  //antwoord genereren 
+  for (int i = 0; i < AantalGetallen; i++) {
+    Antwoord[i] = randomgetal(AantalKleuren); 
+    
+    //debug (antwoord laten zien)
+    cout << Antwoord[i] << endl;
+    //end debug
+  } //end for
+
+  while (NogNietGeraden) { //gebruiker code laten raden
+    
+    MastermindInvoer(&AantalGetallen, &AantalKleuren, Invoer); //gebruikers invoer opvragen	
+    MastermindBereken(&AantalGetallen, &AantalTekensJuistePlek, &AantalTekensAanwezig, Antwoord, Invoer); //vergelijking uitvoeren
+
+    //gebruikers resultaat laten zien
+	  if (AantalTekensJuistePlek == AantalGetallen) {
+      cout << "Zeer goed, u heeft het goede antwoord geraden, druk op enter om verder te gaan";
+      cin.get();
+      NogNietGeraden = false;
+	  }
+    else {
+      cout << "Aantal op de juiste plek: \t" << AantalTekensJuistePlek << endl;
+      cout << "Aantal niet op de juiste plek:\t" << AantalTekensAanwezig << endl;
+	  } //end gebruiker code laten raden 
+	} // end while 
+  return;
+} // end MasterMindMain 
+
+//
+// == END MASTERMIND ===
+//
+
+//
+// === SORTEREN GEDEELTE ===
+//
+
+//Een list bestaat uit allemaal vakjes.
+class Vakje {
+ public:
+  int Getal_int; //Waarde van het vakje
+  Vakje * Volgende_Vakje_pt; //Zijn 'rechterbuur'
+  Vakje * Vorige_Vakje_pt; //Zijn 'linkbuur'
+};
+
+class listvak {
+  public:
+    //default constuctor (NULL pointers)
+    listvak( );
+    //destructor: niks doen
+    ~listvak( ) { };
+    //creer de list van random lengte met randomgetallen
+    void randomlist();
+    //druk de list van links naar rechts af
+    void drukaf_l_r();
+    //druk de list van recht naar links af
+    void drukaf_r_l();
+    //sorteer de list, volgens bubblesort methode
+    int sorteren();
+    //merge L1 en L2 met opvolgend principe
+    void merge(listvak * L1, listvak * L2);
+    //vernietig de list.
+    void vernietig();
+  private:    
+    Vakje * Eerste_Vakje_pt; //pointer naar het eerste vakje
+    Vakje * Laatste_Vakje_pt; //pointer naar het laatste vakje
+};
+
+listvak::listvak( ) {
+  Eerste_Vakje_pt = NULL;
+  Laatste_Vakje_pt = NULL;
+}
+
+//voeg een AantalGetallen_int getallen toe aan de List die door Lbgin wordt gepointerd.
+void listvak::randomlist() {
+  Vakje * VakjeNew_Vakje_pt;
+  
+  for (int i = 0; i < randomgetal(1000); i++) {
+    VakjeNew_Vakje_pt = new Vakje;
+    VakjeNew_Vakje_pt->Getal_int = randomgetal(10000);
+    if (Eerste_Vakje_pt != NULL) {
+      VakjeNew_Vakje_pt->Volgende_Vakje_pt = Eerste_Vakje_pt;
+      VakjeNew_Vakje_pt->Volgende_Vakje_pt->Vorige_Vakje_pt = VakjeNew_Vakje_pt;
+    }
+    else {
+      Laatste_Vakje_pt = VakjeNew_Vakje_pt;
+    } //end if
+    
+    Eerste_Vakje_pt = VakjeNew_Vakje_pt;
+  } //end for
+} //end listvak::randomlist
+
+//druk de list af van links naar rechts
+void listvak::drukaf_l_r() {
+ Vakje * Hulp_Vakje_pt = Eerste_Vakje_pt;
+ while (Hulp_Vakje_pt != NULL) {
+  cout << Hulp_Vakje_pt->Getal_int << " ";
+  Hulp_Vakje_pt = Hulp_Vakje_pt->Volgende_Vakje_pt;
+  } //end while
+} //end listvak::drukaf_lr
+  
+//druk de list af van rechts naar links
+void listvak::drukaf_r_l() {
+ Vakje * Hulp_Vakje_pt = Laatste_Vakje_pt;
+ while (Hulp_Vakje_pt != NULL) {
+  cout << Hulp_Vakje_pt->Getal_int << " ";
+  Hulp_Vakje_pt = Hulp_Vakje_pt->Vorige_Vakje_pt;
+  } //end while
+} //end listvak::drukaf_rl
+
+//sorteren volgens de bubblesort methode (grootste getal achteraan)
+//uitvoer: aantal verwisselingen die plaatsgevonden hebben.
+int listvak::sorteren() {
+  int Verwisselingen_int = 0;
+  Vakje * BubbleHulp_Vakje_pt = Eerste_Vakje_pt; //Dit is het vakje dat gechecked wordt
+  Vakje * BubbleStop_Vakje_pt = Laatste_Vakje_pt; //Hierna hoeft niet meer gechecked worden
+  Vakje * BubbleVakA_Vakje_pt;
+  Vakje * BubbleVakB_Vakje_pt;
+  Vakje * BubbleVakC_Vakje_pt;
+  Vakje * BubbleVakD_Vakje_pt;
+  
+  while (BubbleStop_Vakje_pt->Vorige_Vakje_pt != NULL) {  
+    while ( BubbleHulp_Vakje_pt != BubbleStop_Vakje_pt ) { 
+      if (BubbleHulp_Vakje_pt->Getal_int > BubbleHulp_Vakje_pt->Volgende_Vakje_pt->Getal_int) {
+        /* Methode voor het omwisselen van vak B en C
+         *            Oude situtatie
+         * ___________________________________
+         * | Vorige | Vak Nummer  | Volgende  |
+         * |========|=============|===========|
+         * |        |     A       |   1->B    |
+         * | 2->A   |     B       |   3->C    |
+         * | 4->B   |     C       |   5->D    |
+         * | 6->C   |     D       |           |
+         * ------------------------------------
+         *        
+         *            Nieuwe situatie
+         * ___________________________________
+         * | Vorige | Vak Nummer  | Volgende  |
+         * |========|=============|===========|
+         * |        |     A       |   1->C    |
+         * | 2->C   |     B       |   3->D    |
+         * | 4->A   |     C       |   5->B    |
+         * | 6->B   |     D       |           |
+         * ------------------------------------
+         *
+         * Uitzondering betreft als A de pointer in het begin is of als
+         * D de eind pointer is.
+         */
+        BubbleVakA_Vakje_pt = BubbleHulp_Vakje_pt->Vorige_Vakje_pt;
+        BubbleVakB_Vakje_pt = BubbleHulp_Vakje_pt;
+        BubbleVakC_Vakje_pt = BubbleHulp_Vakje_pt->Volgende_Vakje_pt;
+        BubbleVakD_Vakje_pt = BubbleHulp_Vakje_pt->Volgende_Vakje_pt->Volgende_Vakje_pt;
+        
+        //Pointer 1,2 
+        if (BubbleVakA_Vakje_pt == NULL) {
+          Eerste_Vakje_pt = BubbleVakC_Vakje_pt;
+          BubbleVakC_Vakje_pt->Vorige_Vakje_pt = NULL;
+        }
+        else {
+          BubbleVakA_Vakje_pt->Volgende_Vakje_pt = BubbleVakC_Vakje_pt;
+          BubbleVakC_Vakje_pt->Vorige_Vakje_pt = BubbleVakA_Vakje_pt;
+        } //end if
+       
+        //Pointer 3,4
+        BubbleVakB_Vakje_pt->Vorige_Vakje_pt = BubbleVakC_Vakje_pt;
+        BubbleVakC_Vakje_pt->Volgende_Vakje_pt = BubbleVakB_Vakje_pt;
+
+        //Pointer 5,6
+        if (BubbleVakD_Vakje_pt == NULL) {
+          Laatste_Vakje_pt = BubbleVakB_Vakje_pt;
+          BubbleVakB_Vakje_pt->Volgende_Vakje_pt = NULL;
+          BubbleStop_Vakje_pt = BubbleVakB_Vakje_pt;
+        }
+        else {
+          BubbleVakD_Vakje_pt->Vorige_Vakje_pt = BubbleVakB_Vakje_pt;
+          BubbleVakB_Vakje_pt->Volgende_Vakje_pt = BubbleVakD_Vakje_pt;
+        } //end if
+
+        //In het geval dat het vakje van de stop pointer kleiner is als het vakje ervoor,
+        //zal de stop pointer over het nieuwe vakje moeten vallen, anders komt hij het stop
+        //teken nooit tegen.
+        // A B C D
+        // 5 9 7 10
+        //   ^ ^ 
+        //   | |Stop pointer 
+        //   | Huidige Waarde
+        // 
+        // ZONDER AANPASSING          MET AANPASSING
+        //
+        // A C B D                    A C B D
+        // 5 7 9 10                   5 7 9 10
+        //   ^ ^                        ^ ^
+        //   | |Huidige Waarde          | |Huidige Waarde + Stop Pointer
+        //   | Stop Pointer             |
+        //
+        if (BubbleStop_Vakje_pt == BubbleVakC_Vakje_pt) {
+          BubbleStop_Vakje_pt = BubbleVakB_Vakje_pt; 
+        } //end if
+        
+        Verwisselingen_int++;
+      }
+      else {
+        BubbleHulp_Vakje_pt = BubbleHulp_Vakje_pt->Volgende_Vakje_pt;
+      } //end if
+    } //end while
+    BubbleHulp_Vakje_pt = Eerste_Vakje_pt;
+    BubbleStop_Vakje_pt = BubbleStop_Vakje_pt->Vorige_Vakje_pt;
+  } //end while
+  return (Verwisselingen_int);
+} //end listvak::sorteren
+
+void listvak::merge(listvak * L1, listvak * L2) {
+  bool Toevoegen_bool = true; //zolang true bestaan er nog waardes die toegevoegd moeten worden
+  
+  Vakje * HulpL1_Vakje_pt = L1->Laatste_Vakje_pt; //pointer die bijhoudt waar we in L1 zijn
+  Vakje * HulpL2_Vakje_pt = L2->Laatste_Vakje_pt; //pointer die bijhoudt waar we in L2 zijn
+  
+  Vakje * VakjeNew_Vakje_pt; //pointer bij gebruikt wordt bij het maken van nieuwe vakjes
+
+  while (Toevoegen_bool) {
+    VakjeNew_Vakje_pt = new Vakje;
+    if (Eerste_Vakje_pt != NULL) {
+      VakjeNew_Vakje_pt->Volgende_Vakje_pt = Eerste_Vakje_pt;
+      VakjeNew_Vakje_pt->Volgende_Vakje_pt->Vorige_Vakje_pt = VakjeNew_Vakje_pt;
+    }
+    else {
+      Laatste_Vakje_pt = VakjeNew_Vakje_pt;
+    } //end if
+    Eerste_Vakje_pt = VakjeNew_Vakje_pt;
+ 
+    if ((HulpL1_Vakje_pt != NULL) && (HulpL2_Vakje_pt != NULL)) { //beiden bevatten nog een getal
+      if (HulpL1_Vakje_pt->Getal_int > HulpL2_Vakje_pt->Getal_int) {
+        VakjeNew_Vakje_pt->Getal_int = HulpL1_Vakje_pt->Getal_int;
+        HulpL1_Vakje_pt = HulpL1_Vakje_pt->Vorige_Vakje_pt;
+      }
+      else {
+        VakjeNew_Vakje_pt->Getal_int = HulpL2_Vakje_pt->Getal_int;
+        HulpL2_Vakje_pt = HulpL2_Vakje_pt->Vorige_Vakje_pt;
+      } //end if
+    }  
+    else if (HulpL1_Vakje_pt != NULL) { //L2 leeg, enkel waardes uit L1 plakken
+        VakjeNew_Vakje_pt->Getal_int = HulpL1_Vakje_pt->Getal_int;
+        HulpL1_Vakje_pt = HulpL1_Vakje_pt->Vorige_Vakje_pt;
+    }
+    else if (HulpL2_Vakje_pt != NULL) { //L1 leeg, enkel waardes uit L2 plakken
+        VakjeNew_Vakje_pt->Getal_int = HulpL2_Vakje_pt->Getal_int;
+        HulpL2_Vakje_pt = HulpL2_Vakje_pt->Vorige_Vakje_pt;
+    }
+    else { //alles leeg, 'over en sluiten'
+      Toevoegen_bool = false;
+    } //end if
+  } //end while
+} //end listvak::merge
+
+//vernietig de list
+void listvak::vernietig() {
+  Vakje * Hulp_Vakje_pt;
+  while (Eerste_Vakje_pt != NULL) {
+    Hulp_Vakje_pt = Eerste_Vakje_pt->Volgende_Vakje_pt;
+    delete Eerste_Vakje_pt;
+    Eerste_Vakje_pt = Hulp_Vakje_pt;
+  } //end while;    
+  Laatste_Vakje_pt = NULL;
+} //end listvak::vernietig
+
+//
+// === END SORTEREN ===
+//
+
+
+//
+// === MENU GEDEELTE ===
+//
+
+
+//scherm leegmaken
+void clearall() {
+  system("cls"); //maakt scherm leeg in Dos
+  system("clear"); //maakt scherm leeg
+  cin.clear(); //maak invoerbuffer leeg
+  cin.ignore(INT_MAX, '\n'); //alles was nog te wachten staat negeren
+}
+
+
+void SubMenuMasterMind() {
+  MastermindMain();
+} //end SubMenuMasterMind
+
+void SubMenu3keerplus1() { 
+  char MenuKeuze = ' ';
+  int lengte, getal;
+  grootgetal BigGetal;
+ 
+  while (true) {
+    cout  << " --------------------- 3x+1 -----------------    " << endl
+          << "Maak een keuze uit de volgende opties:           " << endl
+          << "- Bepaal de lengte,  random generatie getal (R/r)" << endl
+          << "- Bepaald de lengte, bepaal het getal zelf (Z/z) " << endl
+          << "- Terug naar Het hoofdmenu (T/t)                 " << endl
+          << "                                                 " << endl
+          << "Keuze: " << endl; cin >> MenuKeuze;
+   clearall();
+  				 	           
+    switch (MenuKeuze) {
+      case 't': case 'T': //Terug naar Hoofdmenu
+        return;
+        break;
+      case 'r': case 'R': //Vul L1 random
+        cout << "Vul het aantal elementen in: ";
+        cin >> lengte;
+        BigGetal.vulrandom(lengte);
+        BigGetal.vermoedentest();
+        break;
+      case 'z': case 'Z': //Vul L2 random
+        cout << "Vul het aantal elementen in: ";
+        cin >> lengte;
+        cout << endl;
+        cout << "Vul het getal in: ";
+        cin >> getal;
+        BigGetal.vul(getal,lengte);  
+        BigGetal.vermoedentest();                    
+        break;
+      default:
+        cout << "GEEN GOEDE INVOER ..." << endl;
+        break;
+    }  // end switch
+  }  // end while
+} // end Menu3keerplus1 
+
+
+void SubMenuSorteren() {
+  char Menukeuze = ' ';
+  listvak L1,L2,L3;  
+
+  while (true) {
+    cout << " ------------- Sorteren --------------- " << endl
+         << "Maak een keuze uit de volgende opties:  " << endl
+         << "- Vul L1 random (A/a)                   " << endl
+         << "- Vul L2 random (B/b)                   " << endl
+         << "- Vul L3 random (C/c)                   " << endl
+         << "- Vernietig L1 (D/d)                    " << endl
+         << "- Vernietig L2 (E/e)                    " << endl
+         << "- Vernietig L3 (F/f)                    " << endl
+         << "- Bubblesort L1 (G/g)                   " << endl
+         << "- Bubblesort L2 (H/h)                   " << endl
+         << "- Bubblesort L3 (I/i)                   " << endl
+         << "- Merge L1 en L2 naar L3 (J/j)          " << endl
+         << "- Hierbij wordt L1,L2 gesorteerd en L3 gewist " << endl
+         << "- Terug naar Algoritmen (T/t)           " << endl
+         << "                                        " << endl
+         << "Keuze: ";
+
+    cin >> Menukeuze;
+    clearall();  
+   		                    
+    switch (Menukeuze) {
+      case 'a': case 'A': //Vul L1 random
+        L1.randomlist();
+        L1.drukaf_r_l();
+        break;
+      case 'b': case 'B': //Vul L2 random
+        L2.randomlist(); 
+        L2.drukaf_r_l();                          
+        break;
+      case 'c': case 'C': //Vul L3 random
+        L3.randomlist();
+        L3.drukaf_r_l();
+        break;
+      case 'd': case 'D': //Vernietig L1
+        L1.vernietig();
+        break;
+      case 'e': case 'E': //Vernietig L2
+        L2.vernietig();
+        break;
+      case 'f': case 'F': //Vernietig L3
+        L3.vernietig();
+        break;
+      case 'g': case 'G': //Bubblesort L1
+        L1.sorteren();
+        L1.drukaf_l_r();
+        cout << endl << endl;
+        break;
+      case 'h': case 'H': //Bubblesort L2
+        L2.sorteren();
+        L2.drukaf_l_r();
+        cout << endl << endl;
+        break;
+      case 'i': case 'I': //Bubblesort L3
+        L3.sorteren();
+        L3.drukaf_l_r();
+        cout << endl << endl;
+        break;
+      case 'j': case 'J': //Merge L1 en L2 naar L3
+        L1.sorteren();
+        L2.sorteren();
+        L3.vernietig();
+        L3.merge(&L1,&L2);
+        cout << endl << endl;
+        L3.drukaf_l_r();
+        cout << endl;
+        break;
+      case 't': case 'T': //Naar AlgoritmeMenu
+        return;
+        break;
+      default:
+        cout << "GEEN GOEDE INVOER ..." << endl;
+        break;
+    }  // end switch
+  } // end while
+} //end SubMenuSorteren
+  
+
+void SubMenuAlgoritmen() {
+char Menukeuze = ' ';
+
+  while (true) {
+    cout << " ------------- Algoritmen ------------- " << endl
+         << "Maak een keuze uit de volgende opties:  " << endl
+         << "->Sorteren (S/s)                        " << endl
+         << "->3x+1 (X/x)                            " << endl
+         << "->Terug naar het Hoofdmenu (T/t)        " << endl
+         << "                                        " << endl
+         << "Keuze: ";
+    cin >> Menukeuze;
+    clearall();
+  
+    switch (Menukeuze) {
+    case 's': case 'S':
+      SubMenuSorteren();
+      break;
+    case 'x': case 'X':
+      SubMenu3keerplus1(); 
+      break;
+    case 't': case 'T':
+      return;
+      break;
+    default:
+      cout << "GEEN GOEDE INVOER" << endl
+           << endl;
+      break;
+    } // end switch
+  } // end while
+
+} // end SubMenuAlgoritmen
+
+ 
+void HoofdMenu() {
+  char Menukeuze = '';
+  while (true) { //oneindige loop
+    cout << "-----Hoofdmenu----" << endl
+         << "->Algoritmen (a/A)" << endl
+         << "->Mastermind (m/M)" << endl
+         << "->Stoppen    (s/S)" << endl
+         << "                  " << endl
+         << "Keuze: ";
+    cin >> Menukeuze;
+    clearall(); 
+  
+    switch (Menukeuze) {
+      case 'a': case 'A':  //sub menu Algoritmen
+        SubMenuAlgoritmen();
+        break;
+      case 'm': case 'M': //Mastermind
+        SubMenuMasterMind();
+        break;
+      case 's': case 'S': // Stoppen
+        cout << "Goodbye" << endl;
+        return;
+        break;
+      default:
+        cout << "GEEN GOEDE INVOER" << endl
+            << endl;
+      } //end switch
+  } // end while 
+} // end HoofdMenu
+
+//
+// === END MENU GEDEELTE ===
+//
+
+
+int main() {
+  clearall();
+  HoofdMenu();
+}
+
Index: /liacs/pm/nim-v2/const.h
===================================================================
--- /liacs/pm/nim-v2/const.h	(revision 2)
+++ /liacs/pm/nim-v2/const.h	(revision 2)
@@ -0,0 +1,24 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: const.h
+ *In deze file staan alle constanten netjes op een rijtje
+ *zodat het bijwerken van het programma een eitje is
+ */
+
+
+#ifndef CONSTANTEN_H
+#define CONSTANTEN_H
+
+//bepaal de grenzen van het speelbord
+#define MIN_STAPELS 		1
+#define MIN_STOKJES			1
+#define MAX_STAPELS 		14	
+#define MAX_STOKJES			20
+
+//bepaal beginwaarden van keuze menu
+#define	START_STAPELS	  5 
+#define START_STOKJES		5
+#define START_NIVEAU		2
+
+#endif
Index: /liacs/pm/nim-v2/nimMain.cc
===================================================================
--- /liacs/pm/nim-v2/nimMain.cc	(revision 2)
+++ /liacs/pm/nim-v2/nimMain.cc	(revision 2)
@@ -0,0 +1,172 @@
+#include "nimSpel.h"
+#include <ctime>    // Voor het creeren van een random begingetal
+                    // die de random computer elke keer weer andere
+                    // zetten laat doen
+#include <iostream> // Zorgen dat in- en uitvoer van de console mogelijk
+                    // is
+#include <iomanip>  // Voor het netjes weergeven van de uitvoer
+#include "const.h"  // Constanten waarden
+
+using namespace std;
+
+NimSpel spelletje;  // Data module voor het spel
+
+//Zorgt dat de gebruiker enkel Min <= getallen <= Max in kan voeren
+int VoerInGetal( const int Min, const int Max ){
+  int x = 0;
+  do {
+    if( (cin >> x) == false ) {
+      cout << "Enkel Cijfers aub" << endl;
+      cin.clear();
+      cin.ignore(10000,'\n');
+    }
+    else if( x > Max ) {
+      cout << "Te groot getal" << endl;
+    } 
+    else if( x < Min ) {
+      cout << "Te klein getal" << endl;
+    }// end if
+  } // end do
+  while( (x < Min) or (x > Max) );
+  return x;
+} //end VoerInGetal 
+
+
+
+//Invoeren van variabelen voor soort spelkeuze
+void InvoerVariabelen( bool & winnendeZet, bool & compWinnend) {
+  int aantalStapels = MAX_STAPELS;
+  int aantalStokjes = MAX_STOKJES;
+  cout << "Hoeveel stapels wilt u?" << endl
+       << "Aantal: "; aantalStapels = VoerInGetal( 1, MAX_STAPELS );
+
+  cout << "Hoeveel stokjes wilt u?" << endl
+       << "Aantal: "; aantalStokjes = VoerInGetal( 1, MAX_STOKJES );
+
+  cout << "Geef het niveau van de computer aan" << endl
+       << "0) Random                          " << endl
+       << "1) Winnend Spelen                  " << endl
+       << "Keuze: "; compWinnend = VoerInGetal( 0, 1 );
+
+  cout << endl
+       << "Wilt u de winnende zetten zien?" << endl
+       << "0) Nee                         " << endl
+       << "1) Ja                          " << endl
+       << "Keuze: "; winnendeZet = VoerInGetal( 0, 1 );
+  spelletje.beginWaarden( aantalStapels, aantalStokjes );
+} //end InvoerVariablen
+
+
+
+//Spelers Invoer, voor stapel en aantal 
+void spelerKeuze( int & stapel, int & stokjes ){
+  bool zetMogelijk = false;
+  int maxKiesbareStapels = ( spelletje.actieveStapels() - 1 );
+  int tmpStapel = 0;
+  int tmpStokjes = 0;
+  do {
+    cout << "Speler aan de beurt" << endl;
+    cout << "Welke stapel [0-" << maxKiesbareStapels << "] : ";
+    tmpStapel = VoerInGetal( 0, maxKiesbareStapels );
+    cout << "Hoeveel [1-2] : ";
+    tmpStokjes = VoerInGetal( 1, 2 );
+    zetMogelijk = spelletje.zetMogelijk( tmpStapel, tmpStokjes );
+    if( zetMogelijk == false ) {
+      cout << "Geen Geldige Combinatie, probeer opnieuw" << endl;
+    } //end if
+  } //end do
+  while( zetMogelijk == false );
+  stapel = tmpStapel;
+  stokjes = tmpStokjes;
+} //end spelerKeuze
+
+
+
+//Druk computerkeuze af
+void DrukComputerKeuzeAf( const int stapel, const int stokjes ) {
+  char wait;                   //om 'hold' te kunnen realiseren
+  cout                                 << endl
+       << "Computer Keuze"             << endl
+       << "Stapel: " << stapel         << endl
+       << "Aantal: " << stokjes        << endl;
+  cout << "Druk op ENTER...";
+  cin.clear( );
+  cin.ignore( 10000, '\n' );
+  cin.get( wait ); 
+} //end DrukComputerKeuzeAf
+
+
+
+//druk winnende keuze af
+void DrukWinnendAf( ) {
+  int tmpStapel = 0;
+  int tmpStokjes = 0;
+  spelletje.winnend( tmpStapel, tmpStokjes );
+  cout                                     << endl
+       << "Winnende Zet:                 " << endl
+       << "Stapel: " << tmpStapel          << endl
+       << "Aantal: " << tmpStokjes << endl << endl;
+} //end DrukWinnendAf
+
+
+//Druk netjes het bord af
+void DrukBordAf( ) {
+  cout << endl << "==== Beurt " << spelletje.aantalBeurten() 
+       << " ====" << endl;
+  for( int i = 0; i < spelletje.actieveStapels(); i++ ) {
+    cout << "Spel " << setw(2) << i << " = "
+    << setw(2) << spelletje.aantalOpStapel( i ) << endl;
+  } //end for
+} //end DrukBordAf
+
+//spel spelen op console
+int main( ) {
+  srand( time(0) );            //elke keer andere random begin waarde
+  //init variabelen (een keer instellen, niet meer aankomen)
+  bool winnend = false;        //Winnende zet laten zien
+  bool compWinnend = false;    //Computer winnend laten spelen
+  //spel variabelen
+  bool spelerAanBeurt = false; //True=speler is aan de beurt
+  int stapel = 0;              //tijdelijke opslag StapelNummer
+  int stokjes = 0;             //tijdelijke opslag stokjesAantal
+  
+  //variabelen invoeren
+  InvoerVariabelen( winnend, compWinnend );
+  
+  //spel beginnen
+  while( true ) {                             //Eeuwige Loop
+    spelerAanBeurt = not( spelerAanBeurt );   //speler wisselen
+    DrukBordAf( );                            //Druk bord af
+    if( spelerAanBeurt == true ) {            //speler aan de beurt
+      if( winnend == true ){                  //  druk winnend af indien
+      DrukWinnendAf();                        //  gewenst
+      }
+      spelerKeuze( stapel, stokjes);
+    }
+    else {                                    //computer aan de beurt
+      spelletje.computerZet( compWinnend, stapel, stokjes );
+      DrukComputerKeuzeAf( stapel, stokjes );
+    }  
+    spelletje.pakWeg( stapel, stokjes );      //zet verwerken
+    if( spelletje.afgelopen( ) ) {            //als spel afgelopen
+      if( spelerAanBeurt ) {
+        cout << "Voila uw heeft GEWONNEN" << endl;
+      }
+      else {
+        cout << "DE COMPUTER IS DE BESTE !!!" <<endl;
+      } //end if
+      return( 0 );
+    }  
+    else if( spelerAanBeurt == false ){        //als computerzet gedaan
+                                               //keuze van zetten terug
+      DrukBordAf( );
+      cout                                               << endl
+           << "Maximaal terug te zetten beurten: "
+           << (spelletje.aantalBeurten())                << endl
+           << "'0' om gewoon door te gaan"               << endl
+            << "Aantal beurten: "                        ;
+      spelletje.zetTerug( VoerInGetal( 0, spelletje.aantalBeurten() ) );
+    } //end if
+  } //end while
+} //end main
+
Index: /liacs/pm/nim-v2/nimSpel.cc
===================================================================
--- /liacs/pm/nim-v2/nimSpel.cc	(revision 2)
+++ /liacs/pm/nim-v2/nimSpel.cc	(revision 2)
@@ -0,0 +1,233 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: nimSpel.cc
+ *de is het rekengedeelte van mainForm.cc, hierin kan makkelijk en snel
+ *gegevens worden verwerkt en oplossingen worden doorgerekend
+ */
+#include "nimSpel.h"
+#include "const.h"
+#include <cstdlib>
+
+using namespace std;
+NimSpel::NimSpel( ){ //constructor
+  laatsteZet_pt = NULL;
+  aantalZetten = 0;
+} //end NimSpel::NimSpel
+
+
+
+//aantal beurten terug geven
+int NimSpel::aantalBeurten( ){
+  return( aantalZetten/2 );
+} //end NimSpel::aantalBeurten
+
+
+
+//aantal op stapel teruggeven
+int NimSpel::aantalOpStapel( const int nummer ){
+  return( stapels[nummer] );
+} //end NimSpel::aantalOpStapel
+
+
+
+//aantal actieve stapels teruggeven
+int NimSpel::actieveStapels( ){
+  return( aantalStapels );
+} //end NimSpel::actieveStapels
+
+bool NimSpel::afgelopen( ){ //kijken of spel afgelopen is
+  for( int i = 0; i < MAX_STAPELS; i++ ) {
+    if( stapels[i] > 0 ) { //als er nog ergens waardes aanwezig zijn
+      return( false );
+    }//end if
+  }//end if
+  return( true );
+}//end NimSpel::afgelopen
+
+
+
+//zet de beginwaarden van de stapel
+void NimSpel::beginWaarden( const int stapelAantal, const int aantal) {
+  zetTerug(aantalZetten/2); //terugzetten om oude pointer naar NULL te
+                            //helpen en alles netjes de destructen
+  for( int i = 0; i < stapelAantal; i++ ) {
+    stapels[i] = aantal;
+    aantalStapels = stapelAantal;
+  } //end for
+} //end NimSpel::beginWaarden
+
+
+
+//creer een nieuwe zet voor de computer
+void NimSpel::computerZet( const bool niveauComputer, int & stapelNummer,
+                           int & aantal) {
+  int tmpStapelNummer = -1;
+  int tmpAantal = -1;
+  
+  if( niveauComputer ) { //winnend spelen als dat verwacht wordt
+    winnend( tmpStapelNummer, tmpAantal );
+  } //end if
+  
+  if( tmpAantal == -1 ) {
+    //hij zal in deze if komen als er geen winnnende keuzes zijn 
+    randomZet( tmpStapelNummer, tmpAantal );
+  } //end if
+  
+  stapelNummer = tmpStapelNummer;
+  aantal = tmpAantal;
+} //end NimSpel::computerZet
+
+
+
+//doe een random zet, die wel in de range van een stapel aantal ligt
+void NimSpel::randomZet( int & stapelNummer, int & aantal ) {
+  do {
+    stapelNummer = int( double(aantalStapels) * rand()/(RAND_MAX+1.0) );
+    aantal = 1 + int( double(2) * rand()/(RAND_MAX+1.0) );
+  } //end do
+  while( stapels[stapelNummer] - aantal < 0 );
+}//end NimSpel::randomZet
+
+
+
+//verwerk een zet
+void NimSpel::pakWeg( const int stapelNummer, const int aantal ){
+  NimStapel * temp_pt;                        //
+  temp_pt = new NimStapel;                    //
+  temp_pt->vorigeZet_pt = laatsteZet_pt;      //Zetten onthouden
+  laatsteZet_pt = temp_pt;                    //
+  laatsteZet_pt->stapelNummer = stapelNummer; //
+  laatsteZet_pt->aantalEraf = aantal;         //
+  aantalZetten++;                             //Max Zetten bijhouden
+  stapels[stapelNummer] = stapels[stapelNummer] - aantal; 
+} //end NimSpel::pakweg
+
+
+
+//zoek recursief het aantal winnende sporen en het aantal
+//verliezende sporter
+void NimSpel::recur( const int aantal, const bool aanBeurt,
+            int & aantalWinst, int & aantalVerlies ) {
+  if( aantal < 3 ) { //aantal lager dan 3
+    if( aanBeurt ) { //als je aan beurt bent dan een winstpunt
+      aantalWinst++;
+    }
+    else {           //en anders een verliespunt
+      aantalVerlies++;
+    }
+  }
+  else {             //3 en hoger zorgt ervoor dat we de functie weer
+                     //aan moeten roepen en wel met 1 en 2 minder
+    recur( aantal-1, !(aanBeurt), aantalWinst, aantalVerlies);
+    recur( aantal-2, !(aanBeurt), aantalWinst, aantalVerlies);
+  }
+} //end NimSpel::recur;
+
+
+
+//zoek de keuze op met de meeste winkans
+//als er niet gewonnen kan worden return voor keuze '-1'
+void NimSpel::recurKeuze( const int aantal, int & keuze, double & winstKans ) {
+  int min1Winst = 0;      //winst paden voor aantal-1
+  int min1Verlies = 0;    //verlies paden voor aantal-1
+  int min2Winst = 0;      //winst paden voor aantal-2
+  int min2Verlies = 0;    //verlies paden voor aantal-2
+  double win1Kans = 0;    //kans op winst met 1
+  double win2Kans = 0;    //kans op winst met 2
+    
+    if( aantal < 1 ) {      //aantal is 0 of minder, kans op -2 zetten,
+    keuze = aantal;         //want hij is afgelopen
+    winstKans = -2;
+    }
+    else if( aantal < 3 ) { //als er minder als 3 worden opgegeven hebben
+    keuze = aantal;         //we altijd een winst situatie en gaan we niet 
+    winstKans = 10;
+    }
+    else {                  //recursief rekenen
+    recur( aantal-1, false, min1Winst, min1Verlies ); //reken 
+    recur( aantal-2, false, min2Winst, min2Verlies ); //kansen uit
+    
+    //aangezien door 0 delen niet mag, zullen we de verliesKans met 1 
+    //ophogen om zo toch eerlijkt te kunnen rekenen
+    min1Verlies++;
+    min2Verlies++;
+    win1Kans = double(min1Winst)/double(min1Verlies);
+    win2Kans = double(min2Winst)/double(min2Verlies);
+    
+    //Als beiden kanten (-1 en -2) geen winst ergens oplevert is het
+    //hopenloos verloren en zullen we dit ook aangeven
+    //anders de kans met de meeste winst teruggeven
+    if( (min1Winst == 0) and (min2Winst == 0) ) {
+      keuze = -1;
+      winstKans = -1;
+    }
+    else if( win1Kans > win2Kans ) {
+      keuze = 1;
+      winstKans = win1Kans;
+    }
+    else {
+      keuze = 2;
+      winstKans = win2Kans;
+    }//end if
+
+  } //end if
+  
+} //end NimSpel::recurKeuze
+
+
+
+//zoek de winnende zet uit (met hulp van een recursieve formule)
+void NimSpel::winnend( int & stapelNummer, int & aantal ) {
+  int tmpStapelNummer = -1; //-1 om ervoor te zorgen dat de winnende zet -1
+  int tmpAantal = -1;       //wordt als er geen winnende zetten zijn
+  int tmpKeuze = 0;         //(uit recurKeuze functie)
+  double tmpKans = 0;       //tijdelijke Kans en Keuze
+  double kansMax = 0;       //tijdelijk Variable voor geldende maximale kans
+
+  for( int i = 0; i <( MAX_STAPELS - 1); i++ ) {
+  //ga alle stapels af en van de stapel met de meeste kans pak je de
+  //winnnende stokjes vanaf
+    recurKeuze( stapels[i], tmpKeuze, tmpKans ); //bereken waardes
+
+    if( tmpKans > kansMax ) {
+      tmpStapelNummer = i;
+      tmpAantal = tmpKeuze;
+      kansMax = tmpKans;
+    } //end if
+
+  }//end for
+  stapelNummer = tmpStapelNummer;
+  aantal = tmpAantal;
+}// end NimSpel::winnnend
+
+
+//zet beurten terug
+void NimSpel::zetTerug( const int aantalBeurten ) {
+  int aantalStappen = aantalBeurten * 2;
+  NimStapel * temp_pt;
+  for( int i = 0; i < aantalStappen; i++ ) {
+    temp_pt = laatsteZet_pt;
+    stapels[temp_pt->stapelNummer] =
+    ( stapels[temp_pt->stapelNummer] + temp_pt->aantalEraf );
+    aantalZetten--;
+    laatsteZet_pt = temp_pt->vorigeZet_pt;
+    delete temp_pt;
+  } //end for
+} //end NimSpel::ZetTerug
+
+
+
+//kijk of je niet meer stokjes van een stapel afpakt als dat er liggen
+bool NimSpel::zetMogelijk( const int stapelNummer,
+                           const int aantalPakken ) {
+  if( (stapels[stapelNummer] - aantalPakken) < 0 ) {
+    return false;
+  }
+  else {
+    return true;
+  } //end if
+} //end NimSpel::zetMogelijk
+  
+
+
Index: /liacs/pm/nim-v2/nimSpel.h
===================================================================
--- /liacs/pm/nim-v2/nimSpel.h	(revision 2)
+++ /liacs/pm/nim-v2/nimSpel.h	(revision 2)
@@ -0,0 +1,62 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: nimSpel.h
+ *De header van nimSpel.cc, de niet grafische 'database' van mainForm.cc
+ */
+
+#ifndef NIMSPEL_H
+#define NIMSPEL_H
+
+#include "nimStapel.h"
+#include "const.h"
+
+class NimSpel{
+  public:
+    NimSpel( );
+    // creator
+    ~NimSpel( ) { };
+    // destructor
+    int aantalBeurten( );
+    // geef het aantal zetten/2 terug	
+    int aantalOpStapel ( const int nummer );
+    // geef het aantal op een stapel terug
+    int actieveStapels ( );
+    // geef het aantal actieve stapels terug
+    bool afgelopen( );
+    // Kijken af alles afgelopen is
+    void beginWaarden( const int stapelAantal, const int aantal );
+    // Zet alle waardes weer in startpositie
+    void computerZet ( const bool niveauComputer,
+                       int & stapelNummer, int & aantal );
+    //computerzet creeren
+    void pakWeg( const int stapelNummer, const int aantal );
+    // Haal Aantal uit Stapels[StapelNummer]
+    void recur( const int aantal, const bool aanBeurt,
+            int & aantalWinst, int & aantalVerlies );
+    //reken recursief de winst en verliespaden uit
+    void recurKeuze( const int aantal, int & keuze, double & winstKans );
+    //reken uit wat bij een waarde de beste keuze is
+    void randomZet ( int & stapelNummer, int & aantal );
+    //Random zet
+    void winnend( int & stapelNummer, int & aantal );
+    // Win berekening
+    void zetTerug( const int aantalBeurten );
+    // Ga AantalBeurten terug
+    bool zetMogelijk( const int stapelNummer, const int aantalPakken );
+    // Kijken of waarde doorgevoerd kan worden
+  private:
+    NimStapel * laatsteZet_pt;
+    // Pointer naar gegevens laatste zet
+    int stapels[MAX_STAPELS];
+    // aantal luicifers per stapel
+    int aantalZetten;
+    // aantal zetten dat gedaan is
+    int aantalStapels;
+    // geeft het aantal door de gebruiker aangegeven
+    // gewilde stapels weer
+
+}; //end NimSpel
+
+#endif
+
Index: /liacs/pm/nim-v2/nimStapel.cc
===================================================================
--- /liacs/pm/nim-v2/nimStapel.cc	(revision 2)
+++ /liacs/pm/nim-v2/nimStapel.cc	(revision 2)
@@ -0,0 +1,17 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: nimStapel.cc
+ *nimStapel.cc de terugzet module
+ *Class die gebruikt wordt om terugzetten te realiseren
+ */
+
+#include "nimStapel.h"
+#include <cstdlib>
+
+NimStapel::NimStapel( ){
+  stapelNummer = 0;      
+  aantalEraf = 0;         
+  vorigeZet_pt = NULL;    
+}// end NimStapel::NimStapel
+
Index: /liacs/pm/nim-v2/nimStapel.h
===================================================================
--- /liacs/pm/nim-v2/nimStapel.h	(revision 2)
+++ /liacs/pm/nim-v2/nimStapel.h	(revision 2)
@@ -0,0 +1,20 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: nimStapel.h
+ *De header van nimStapel.cc de terugzet module
+ */
+
+#ifndef NIMSTAPEL_H
+#define NIMSTAPEL_H
+
+class NimStapel{
+  public:
+    NimStapel( );             //creator
+    ~NimStapel( ) { };        //destructor
+    int stapelNummer;         //Nummer van de stapel waar het
+    int aantalEraf;           //AantalEraf af is gegaan
+    NimStapel * vorigeZet_pt; //Pointer naar de zet ervoor,
+};// end NimData                maakt stapelen mogelijk
+
+#endif
Index: /liacs/pm/nim-v3/const.h
===================================================================
--- /liacs/pm/nim-v3/const.h	(revision 2)
+++ /liacs/pm/nim-v3/const.h	(revision 2)
@@ -0,0 +1,24 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: const.h
+ *In deze file staan alle constanten netjes op een rijtje
+ *zodat het bijwerken van het programma een eitje is
+ */
+
+
+#ifndef CONSTANTEN_H
+#define CONSTANTEN_H
+
+//bepaal de grenzen van het speelbord
+#define MIN_STAPELS 		1
+#define MIN_STOKJES			1
+#define MAX_STAPELS 		14	
+#define MAX_STOKJES			20
+
+//bepaal beginwaarden van keuze menu
+#define	START_STAPELS	  5 
+#define START_STOKJES		5
+#define START_NIVEAU		2
+
+#endif
Index: /liacs/pm/nim-v3/nimMain.cc
===================================================================
--- /liacs/pm/nim-v3/nimMain.cc	(revision 2)
+++ /liacs/pm/nim-v3/nimMain.cc	(revision 2)
@@ -0,0 +1,172 @@
+#include "nimSpel.h"
+#include <ctime>    // Voor het creeren van een random begingetal
+                    // die de random computer elke keer weer andere
+                    // zetten laat doen
+#include <iostream> // Zorgen dat in- en uitvoer van de console mogelijk
+                    // is
+#include <iomanip>  // Voor het netjes weergeven van de uitvoer
+#include "const.h"  // Constanten waarden
+
+using namespace std;
+
+NimSpel spelletje;  // Data module voor het spel
+
+//Zorgt dat de gebruiker enkel Min <= getallen <= Max in kan voeren
+int VoerInGetal( const int Min, const int Max ){
+  int x = 0;
+  do {
+    if( (cin >> x) == false ) {
+      cout << "Enkel Cijfers aub" << endl;
+      cin.clear();
+      cin.ignore(10000,'\n');
+    }
+    else if( x > Max ) {
+      cout << "Te groot getal" << endl;
+    } 
+    else if( x < Min ) {
+      cout << "Te klein getal" << endl;
+    }// end if
+  } // end do
+  while( (x < Min) or (x > Max) );
+  return x;
+} //end VoerInGetal 
+
+
+
+//Invoeren van variabelen voor soort spelkeuze
+void InvoerVariabelen( bool & winnendeZet, bool & compWinnend) {
+  int aantalStapels = MAX_STAPELS;
+  int aantalStokjes = MAX_STOKJES;
+  cout << "Hoeveel stapels wilt u?" << endl
+       << "Aantal: "; aantalStapels = VoerInGetal( 1, MAX_STAPELS );
+
+  cout << "Hoeveel stokjes wilt u?" << endl
+       << "Aantal: "; aantalStokjes = VoerInGetal( 1, MAX_STOKJES );
+
+  cout << "Geef het niveau van de computer aan" << endl
+       << "0) Random                          " << endl
+       << "1) Winnend Spelen                  " << endl
+       << "Keuze: "; compWinnend = VoerInGetal( 0, 1 );
+
+  cout << endl
+       << "Wilt u de winnende zetten zien?" << endl
+       << "0) Nee                         " << endl
+       << "1) Ja                          " << endl
+       << "Keuze: "; winnendeZet = VoerInGetal( 0, 1 );
+  spelletje.beginWaarden( aantalStapels, aantalStokjes );
+} //end InvoerVariablen
+
+
+
+//Spelers Invoer, voor stapel en aantal 
+void spelerKeuze( int & stapel, int & stokjes ){
+  bool zetMogelijk = false;
+  int maxKiesbareStapels = ( spelletje.actieveStapels() - 1 );
+  int tmpStapel = 0;
+  int tmpStokjes = 0;
+  do {
+    cout << "Speler aan de beurt" << endl;
+    cout << "Welke stapel [0-" << maxKiesbareStapels << "] : ";
+    tmpStapel = VoerInGetal( 0, maxKiesbareStapels );
+    cout << "Hoeveel [1-2] : ";
+    tmpStokjes = VoerInGetal( 1, 2 );
+    zetMogelijk = spelletje.zetMogelijk( tmpStapel, tmpStokjes );
+    if( zetMogelijk == false ) {
+      cout << "Geen Geldige Combinatie, probeer opnieuw" << endl;
+    } //end if
+  } //end do
+  while( zetMogelijk == false );
+  stapel = tmpStapel;
+  stokjes = tmpStokjes;
+} //end spelerKeuze
+
+
+
+//Druk computerkeuze af
+void DrukComputerKeuzeAf( const int stapel, const int stokjes ) {
+  char wait;                   //om 'hold' te kunnen realiseren
+  cout                                 << endl
+       << "Computer Keuze"             << endl
+       << "Stapel: " << stapel         << endl
+       << "Aantal: " << stokjes        << endl;
+  cout << "Druk op ENTER...";
+  cin.clear( );
+  cin.ignore( 10000, '\n' );
+  cin.get( wait ); 
+} //end DrukComputerKeuzeAf
+
+
+
+//druk winnende keuze af
+void DrukWinnendAf( ) {
+  int tmpStapel = 0;
+  int tmpStokjes = 0;
+  spelletje.winnend( tmpStapel, tmpStokjes );
+  cout                                     << endl
+       << "Winnende Zet:                 " << endl
+       << "Stapel: " << tmpStapel          << endl
+       << "Aantal: " << tmpStokjes << endl << endl;
+} //end DrukWinnendAf
+
+
+//Druk netjes het bord af
+void DrukBordAf( ) {
+  cout << endl << "==== Beurt " << spelletje.aantalBeurten() 
+       << " ====" << endl;
+  for( int i = 0; i < spelletje.actieveStapels(); i++ ) {
+    cout << "Spel " << setw(2) << i << " = "
+    << setw(2) << spelletje.aantalOpStapel( i ) << endl;
+  } //end for
+} //end DrukBordAf
+
+//spel spelen op console
+int main( ) {
+  srand( time(0) );            //elke keer andere random begin waarde
+  //init variabelen (een keer instellen, niet meer aankomen)
+  bool winnend = false;        //Winnende zet laten zien
+  bool compWinnend = false;    //Computer winnend laten spelen
+  //spel variabelen
+  bool spelerAanBeurt = false; //True=speler is aan de beurt
+  int stapel = 0;              //tijdelijke opslag StapelNummer
+  int stokjes = 0;             //tijdelijke opslag stokjesAantal
+  
+  //variabelen invoeren
+  InvoerVariabelen( winnend, compWinnend );
+  
+  //spel beginnen
+  while( true ) {                             //Eeuwige Loop
+    spelerAanBeurt = not( spelerAanBeurt );   //speler wisselen
+    DrukBordAf( );                            //Druk bord af
+    if( spelerAanBeurt == true ) {            //speler aan de beurt
+      if( winnend == true ){                  //  druk winnend af indien
+      DrukWinnendAf();                        //  gewenst
+      }
+      spelerKeuze( stapel, stokjes);
+    }
+    else {                                    //computer aan de beurt
+      spelletje.computerZet( compWinnend, stapel, stokjes );
+      DrukComputerKeuzeAf( stapel, stokjes );
+    }  
+    spelletje.pakWeg( stapel, stokjes );      //zet verwerken
+    if( spelletje.afgelopen( ) ) {            //als spel afgelopen
+      if( spelerAanBeurt ) {
+        cout << "Voila uw heeft GEWONNEN" << endl;
+      }
+      else {
+        cout << "DE COMPUTER IS DE BESTE !!!" <<endl;
+      } //end if
+      return( 0 );
+    }  
+    else if( spelerAanBeurt == false ){        //als computerzet gedaan
+                                               //keuze van zetten terug
+      DrukBordAf( );
+      cout                                               << endl
+           << "Maximaal terug te zetten beurten: "
+           << (spelletje.aantalBeurten())                << endl
+           << "'0' om gewoon door te gaan"               << endl
+            << "Aantal beurten: "                        ;
+      spelletje.zetTerug( VoerInGetal( 0, spelletje.aantalBeurten() ) );
+    } //end if
+  } //end while
+} //end main
+
Index: /liacs/pm/nim-v3/nimSpel.cc
===================================================================
--- /liacs/pm/nim-v3/nimSpel.cc	(revision 2)
+++ /liacs/pm/nim-v3/nimSpel.cc	(revision 2)
@@ -0,0 +1,233 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: nimSpel.cc
+ *de is het rekengedeelte van mainForm.cc, hierin kan makkelijk en snel
+ *gegevens worden verwerkt en oplossingen worden doorgerekend
+ */
+#include "nimSpel.h"
+#include "const.h"
+#include <cstdlib>
+
+using namespace std;
+NimSpel::NimSpel( ){ //constructor
+  laatsteZet_pt = NULL;
+  aantalZetten = 0;
+} //end NimSpel::NimSpel
+
+
+
+//aantal beurten terug geven
+int NimSpel::aantalBeurten( ){
+  return( aantalZetten/2 );
+} //end NimSpel::aantalBeurten
+
+
+
+//aantal op stapel teruggeven
+int NimSpel::aantalOpStapel( const int nummer ){
+  return( stapels[nummer] );
+} //end NimSpel::aantalOpStapel
+
+
+
+//aantal actieve stapels teruggeven
+int NimSpel::actieveStapels( ){
+  return( aantalStapels );
+} //end NimSpel::actieveStapels
+
+bool NimSpel::afgelopen( ){ //kijken of spel afgelopen is
+  for( int i = 0; i < MAX_STAPELS; i++ ) {
+    if( stapels[i] > 0 ) { //als er nog ergens waardes aanwezig zijn
+      return( false );
+    }//end if
+  }//end if
+  return( true );
+}//end NimSpel::afgelopen
+
+
+
+//zet de beginwaarden van de stapel
+void NimSpel::beginWaarden( const int stapelAantal, const int aantal) {
+  zetTerug(aantalZetten/2); //terugzetten om oude pointer naar NULL te
+                            //helpen en alles netjes de destructen
+  for( int i = 0; i < stapelAantal; i++ ) {
+    stapels[i] = aantal;
+    aantalStapels = stapelAantal;
+  } //end for
+} //end NimSpel::beginWaarden
+
+
+
+//creer een nieuwe zet voor de computer
+void NimSpel::computerZet( const bool niveauComputer, int & stapelNummer,
+                           int & aantal) {
+  int tmpStapelNummer = -1;
+  int tmpAantal = -1;
+  
+  if( niveauComputer ) { //winnend spelen als dat verwacht wordt
+    winnend( tmpStapelNummer, tmpAantal );
+  } //end if
+  
+  if( tmpAantal == -1 ) {
+    //hij zal in deze if komen als er geen winnnende keuzes zijn 
+    randomZet( tmpStapelNummer, tmpAantal );
+  } //end if
+  
+  stapelNummer = tmpStapelNummer;
+  aantal = tmpAantal;
+} //end NimSpel::computerZet
+
+
+
+//doe een random zet, die wel in de range van een stapel aantal ligt
+void NimSpel::randomZet( int & stapelNummer, int & aantal ) {
+  do {
+    stapelNummer = int( double(aantalStapels) * rand()/(RAND_MAX+1.0) );
+    aantal = 1 + int( double(2) * rand()/(RAND_MAX+1.0) );
+  } //end do
+  while( stapels[stapelNummer] - aantal < 0 );
+}//end NimSpel::randomZet
+
+
+
+//verwerk een zet
+void NimSpel::pakWeg( const int stapelNummer, const int aantal ){
+  NimStapel * temp_pt;                        //
+  temp_pt = new NimStapel;                    //
+  temp_pt->vorigeZet_pt = laatsteZet_pt;      //Zetten onthouden
+  laatsteZet_pt = temp_pt;                    //
+  laatsteZet_pt->stapelNummer = stapelNummer; //
+  laatsteZet_pt->aantalEraf = aantal;         //
+  aantalZetten++;                             //Max Zetten bijhouden
+  stapels[stapelNummer] = stapels[stapelNummer] - aantal; 
+} //end NimSpel::pakweg
+
+
+
+//zoek recursief het aantal winnende sporen en het aantal
+//verliezende sporter
+void NimSpel::recur( const int aantal, const bool aanBeurt,
+            int & aantalWinst, int & aantalVerlies ) {
+  if( aantal < 3 ) { //aantal lager dan 3
+    if( aanBeurt ) { //als je aan beurt bent dan een winstpunt
+      aantalWinst++;
+    }
+    else {           //en anders een verliespunt
+      aantalVerlies++;
+    }
+  }
+  else {             //3 en hoger zorgt ervoor dat we de functie weer
+                     //aan moeten roepen en wel met 1 en 2 minder
+    recur( aantal-1, !(aanBeurt), aantalWinst, aantalVerlies);
+    recur( aantal-2, !(aanBeurt), aantalWinst, aantalVerlies);
+  }
+} //end NimSpel::recur;
+
+
+
+//zoek de keuze op met de meeste winkans
+//als er niet gewonnen kan worden return voor keuze '-1'
+void NimSpel::recurKeuze( const int aantal, int & keuze, double & winstKans ) {
+  int min1Winst = 0;      //winst paden voor aantal-1
+  int min1Verlies = 0;    //verlies paden voor aantal-1
+  int min2Winst = 0;      //winst paden voor aantal-2
+  int min2Verlies = 0;    //verlies paden voor aantal-2
+  double win1Kans = 0;    //kans op winst met 1
+  double win2Kans = 0;    //kans op winst met 2
+    
+    if( aantal < 1 ) {      //aantal is 0 of minder, kans op -2 zetten,
+    keuze = aantal;         //want hij is afgelopen
+    winstKans = -2;
+    }
+    else if( aantal < 3 ) { //als er minder als 3 worden opgegeven hebben
+    keuze = aantal;         //we altijd een winst situatie en gaan we niet 
+    winstKans = 10;
+    }
+    else {                  //recursief rekenen
+    recur( aantal-1, false, min1Winst, min1Verlies ); //reken 
+    recur( aantal-2, false, min2Winst, min2Verlies ); //kansen uit
+    
+    //aangezien door 0 delen niet mag, zullen we de verliesKans met 1 
+    //ophogen om zo toch eerlijkt te kunnen rekenen
+    min1Verlies++;
+    min2Verlies++;
+    win1Kans = double(min1Winst)/double(min1Verlies);
+    win2Kans = double(min2Winst)/double(min2Verlies);
+    
+    //Als beiden kanten (-1 en -2) geen winst ergens oplevert is het
+    //hopenloos verloren en zullen we dit ook aangeven
+    //anders de kans met de meeste winst teruggeven
+    if( (min1Winst == 0) and (min2Winst == 0) ) {
+      keuze = -1;
+      winstKans = -1;
+    }
+    else if( win1Kans > win2Kans ) {
+      keuze = 1;
+      winstKans = win1Kans;
+    }
+    else {
+      keuze = 2;
+      winstKans = win2Kans;
+    }//end if
+
+  } //end if
+  
+} //end NimSpel::recurKeuze
+
+
+
+//zoek de winnende zet uit (met hulp van een recursieve formule)
+void NimSpel::winnend( int & stapelNummer, int & aantal ) {
+  int tmpStapelNummer = -1; //-1 om ervoor te zorgen dat de winnende zet -1
+  int tmpAantal = -1;       //wordt als er geen winnende zetten zijn
+  int tmpKeuze = 0;         //(uit recurKeuze functie)
+  double tmpKans = 0;       //tijdelijke Kans en Keuze
+  double kansMax = 0;       //tijdelijk Variable voor geldende maximale kans
+
+  for( int i = 0; i <( MAX_STAPELS - 1); i++ ) {
+  //ga alle stapels af en van de stapel met de meeste kans pak je de
+  //winnnende stokjes vanaf
+    recurKeuze( stapels[i], tmpKeuze, tmpKans ); //bereken waardes
+
+    if( tmpKans > kansMax ) {
+      tmpStapelNummer = i;
+      tmpAantal = tmpKeuze;
+      kansMax = tmpKans;
+    } //end if
+
+  }//end for
+  stapelNummer = tmpStapelNummer;
+  aantal = tmpAantal;
+}// end NimSpel::winnnend
+
+
+//zet beurten terug
+void NimSpel::zetTerug( const int aantalBeurten ) {
+  int aantalStappen = aantalBeurten * 2;
+  NimStapel * temp_pt;
+  for( int i = 0; i < aantalStappen; i++ ) {
+    temp_pt = laatsteZet_pt;
+    stapels[temp_pt->stapelNummer] =
+    ( stapels[temp_pt->stapelNummer] + temp_pt->aantalEraf );
+    aantalZetten--;
+    laatsteZet_pt = temp_pt->vorigeZet_pt;
+    delete temp_pt;
+  } //end for
+} //end NimSpel::ZetTerug
+
+
+
+//kijk of je niet meer stokjes van een stapel afpakt als dat er liggen
+bool NimSpel::zetMogelijk( const int stapelNummer,
+                           const int aantalPakken ) {
+  if( (stapels[stapelNummer] - aantalPakken) < 0 ) {
+    return false;
+  }
+  else {
+    return true;
+  } //end if
+} //end NimSpel::zetMogelijk
+  
+
+
Index: /liacs/pm/nim-v3/nimSpel.h
===================================================================
--- /liacs/pm/nim-v3/nimSpel.h	(revision 2)
+++ /liacs/pm/nim-v3/nimSpel.h	(revision 2)
@@ -0,0 +1,62 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: nimSpel.h
+ *De header van nimSpel.cc, de niet grafische 'database' van mainForm.cc
+ */
+
+#ifndef NIMSPEL_H
+#define NIMSPEL_H
+
+#include "nimStapel.h"
+#include "const.h"
+
+class NimSpel{
+  public:
+    NimSpel( );
+    // creator
+    ~NimSpel( ) { };
+    // destructor
+    int aantalBeurten( );
+    // geef het aantal zetten/2 terug	
+    int aantalOpStapel ( const int nummer );
+    // geef het aantal op een stapel terug
+    int actieveStapels ( );
+    // geef het aantal actieve stapels terug
+    bool afgelopen( );
+    // Kijken af alles afgelopen is
+    void beginWaarden( const int stapelAantal, const int aantal );
+    // Zet alle waardes weer in startpositie
+    void computerZet ( const bool niveauComputer,
+                       int & stapelNummer, int & aantal );
+    //computerzet creeren
+    void pakWeg( const int stapelNummer, const int aantal );
+    // Haal Aantal uit Stapels[StapelNummer]
+    void recur( const int aantal, const bool aanBeurt,
+            int & aantalWinst, int & aantalVerlies );
+    //reken recursief de winst en verliespaden uit
+    void recurKeuze( const int aantal, int & keuze, double & winstKans );
+    //reken uit wat bij een waarde de beste keuze is
+    void randomZet ( int & stapelNummer, int & aantal );
+    //Random zet
+    void winnend( int & stapelNummer, int & aantal );
+    // Win berekening
+    void zetTerug( const int aantalBeurten );
+    // Ga AantalBeurten terug
+    bool zetMogelijk( const int stapelNummer, const int aantalPakken );
+    // Kijken of waarde doorgevoerd kan worden
+  private:
+    NimStapel * laatsteZet_pt;
+    // Pointer naar gegevens laatste zet
+    int stapels[MAX_STAPELS];
+    // aantal luicifers per stapel
+    int aantalZetten;
+    // aantal zetten dat gedaan is
+    int aantalStapels;
+    // geeft het aantal door de gebruiker aangegeven
+    // gewilde stapels weer
+
+}; //end NimSpel
+
+#endif
+
Index: /liacs/pm/nim-v3/nimStapel.cc
===================================================================
--- /liacs/pm/nim-v3/nimStapel.cc	(revision 2)
+++ /liacs/pm/nim-v3/nimStapel.cc	(revision 2)
@@ -0,0 +1,17 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: nimStapel.cc
+ *nimStapel.cc de terugzet module
+ *Class die gebruikt wordt om terugzetten te realiseren
+ */
+
+#include "nimStapel.h"
+#include <cstdlib>
+
+NimStapel::NimStapel( ){
+  stapelNummer = 0;      
+  aantalEraf = 0;         
+  vorigeZet_pt = NULL;    
+}// end NimStapel::NimStapel
+
Index: /liacs/pm/nim-v3/nimStapel.h
===================================================================
--- /liacs/pm/nim-v3/nimStapel.h	(revision 2)
+++ /liacs/pm/nim-v3/nimStapel.h	(revision 2)
@@ -0,0 +1,20 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: nimStapel.h
+ *De header van nimStapel.cc de terugzet module
+ */
+
+#ifndef NIMSTAPEL_H
+#define NIMSTAPEL_H
+
+class NimStapel{
+  public:
+    NimStapel( );             //creator
+    ~NimStapel( ) { };        //destructor
+    int stapelNummer;         //Nummer van de stapel waar het
+    int aantalEraf;           //AantalEraf af is gegaan
+    NimStapel * vorigeZet_pt; //Pointer naar de zet ervoor,
+};// end NimData                maakt stapelen mogelijk
+
+#endif
Index: /liacs/pm/nim-v3/uitleg.txt
===================================================================
--- /liacs/pm/nim-v3/uitleg.txt	(revision 2)
+++ /liacs/pm/nim-v3/uitleg.txt	(revision 2)
@@ -0,0 +1,14 @@
+Gooi alles met WinstKans en AantalWinst en AantalVerlies
+eruit. Loop in de recursieve functie alle stapels en per stapele alle
+(2) zetten af. Dit geeft alle directe vervolgstanden.  Op elk van die
+vervolgstanden (dat is het geheel aan stapels met aantallen lucifers)
+laat je de recursieve functie los. Dit levert voor elke vervolgstand of
+deze winnend of verliezend is. Verwerk die resultaten tot een antwoord
+voor de huidige stand: de stand is winnend als een der vervolgstanden
+niet winnend is voor de tegenstander, en verliezend als alle
+vervolgstanden winnend zijn voor de tegenstander.
+
+Een zet die leidt tot een directe vervolgstand die verliezend
+is voor de tegenstander is een winnende zet. Dus uit het
+winnend of verliezend zijn van de directe vervolgstanden kun je 
+een winnende zet afleiden.
Index: /liacs/pm/nim-v4/const.h
===================================================================
--- /liacs/pm/nim-v4/const.h	(revision 2)
+++ /liacs/pm/nim-v4/const.h	(revision 2)
@@ -0,0 +1,27 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: const.h
+ *In deze file staan alle constanten netjes op een rijtje
+ *zodat het bijwerken van het programma een eitje is
+ */
+
+
+#ifndef CONSTANTEN_H
+#define CONSTANTEN_H
+
+//bepaal de grenzen van het speelbord
+#define MIN_STAPELS     1
+#define MIN_STOKJES     1
+#define MAX_STAPELS     14
+#define MAX_STOKJES     20
+
+//bepaal beginwaarden van keuze menu
+#define START_STAPELS   5
+#define START_STOKJES   5
+#define START_NIVEAU    2
+
+//bepaal wanneer winnend begint
+#define START_WINNEND   13
+
+#endif
Index: /liacs/pm/nim-v4/nimMain.cc
===================================================================
--- /liacs/pm/nim-v4/nimMain.cc	(revision 2)
+++ /liacs/pm/nim-v4/nimMain.cc	(revision 2)
@@ -0,0 +1,181 @@
+#include "nimSpel.h"
+#include <ctime>    // Voor het creeren van een random begingetal
+                    // die de random computer elke keer weer andere
+                    // zetten laat doen
+#include <iostream> // Zorgen dat in- en uitvoer van de console mogelijk
+                    // is
+#include <iomanip>  // Voor het netjes weergeven van de uitvoer
+#include "const.h"  // Constanten waarden
+
+using namespace std;
+
+NimSpel spelletje;  // Data module voor het spel
+
+//Zorgt dat de gebruiker enkel Min <= getallen <= Max in kan voeren
+int VoerInGetal( const int Min, const int Max ){
+  int x = 0;
+  do {
+    if( (cin >> x) == false ) {
+      cout << "Enkel Cijfers aub" << endl;
+      cin.clear();
+      cin.ignore(10000,'\n');
+    }
+    else if( x > Max ) {
+      cout << "Te groot getal" << endl;
+    } 
+    else if( x < Min ) {
+      cout << "Te klein getal" << endl;
+    }// end if
+  } // end do
+  while( (x < Min) or (x > Max) );
+  return x;
+} //end VoerInGetal 
+
+
+
+//Invoeren van variabelen voor soort spelkeuze
+void InvoerVariabelen( bool & winnendeZet, bool & compWinnend) {
+  int aantalStapels = MAX_STAPELS;
+  int aantalStokjes = MAX_STOKJES;
+  cout << "Hoeveel stapels wilt u?" << endl
+       << "Aantal: "; aantalStapels = VoerInGetal( 1, MAX_STAPELS );
+
+  cout << "Hoeveel stokjes wilt u?" << endl
+       << "Aantal: "; aantalStokjes = VoerInGetal( 1, MAX_STOKJES );
+
+  cout << "Geef het niveau van de computer aan" << endl
+       << "0) Random                          " << endl
+       << "1) Winnend Spelen                  " << endl
+       << "Keuze: "; compWinnend = VoerInGetal( 0, 1 );
+
+  cout << endl
+       << "Wilt u de winnende zetten zien?    " << endl
+       << "N.B. Dit treedt pas in werking     " << endl
+       << "als het aantal stokjes minder      " << endl
+       << "als " << START_WINNEND << " bedraagt" << endl
+       << "0) Nee                             " << endl
+       << "1) Ja                              " << endl
+       << "Keuze: "; winnendeZet = VoerInGetal( 0, 1 );
+  spelletje.beginWaarden( aantalStapels, aantalStokjes );
+} //end InvoerVariablen
+
+
+
+//Spelers Invoer, voor stapel en aantal 
+void spelerKeuze( int & stapel, int & stokjes ){
+  bool zetMogelijk = false;
+  int maxKiesbareStapels = ( spelletje.actieveStapels() - 1 );
+  int tmpStapel = 0;
+  int tmpStokjes = 0;
+  do {
+    cout << "Speler aan de beurt" << endl;
+    cout << "Welke stapel [0-" << maxKiesbareStapels << "] : ";
+    tmpStapel = VoerInGetal( 0, maxKiesbareStapels );
+    cout << "Hoeveel [1-2] : ";
+    tmpStokjes = VoerInGetal( 1, 2 );
+    zetMogelijk = spelletje.zetMogelijk( tmpStapel, tmpStokjes );
+    if( zetMogelijk == false ) {
+      cout << "Geen Geldige Combinatie, probeer opnieuw" << endl;
+    } //end if
+  } //end do
+  while( zetMogelijk == false );
+  stapel = tmpStapel;
+  stokjes = tmpStokjes;
+} //end spelerKeuze
+
+
+
+//Druk computerkeuze af
+void DrukComputerKeuzeAf( const int stapel, const int stokjes ) {
+  char wait;                   //om 'hold' te kunnen realiseren
+  cout                                 << endl
+       << "Computer Keuze"             << endl
+       << "Stapel: " << stapel         << endl
+       << "Aantal: " << stokjes        << endl;
+  cout << "Druk op ENTER...";
+  cin.clear( );
+  cin.ignore( 10000, '\n' );
+  cin.get( wait ); 
+} //end DrukComputerKeuzeAf
+
+
+
+//druk winnende keuze af
+void DrukWinnendAf( ) {
+  int tmpStapel = 0;
+  int tmpStokjes = 0;
+  if ( spelletje.winnendEnable() ) {
+    spelletje.winnend( tmpStapel, tmpStokjes );
+    cout                                     << endl
+         << "Winnende Zet:                 " << endl
+         << "Stapel: " << tmpStapel          << endl
+         << "Aantal: " << tmpStokjes << endl << endl;
+ }
+ else {
+   cout << "Winnende Zet nog niet mogelijk," << endl
+        << "aantal is nog niet beneden de " << START_WINNEND <<endl;
+ } //end if
+} //end DrukWinnendAf
+
+
+//Druk netjes het bord af
+void DrukBordAf( ) {
+  cout << endl << "==== Beurt " << spelletje.aantalBeurten() 
+       << " ====" << endl;
+  for( int i = 0; i < spelletje.actieveStapels(); i++ ) {
+    cout << "Spel " << setw(2) << i << " = "
+    << setw(2) << spelletje.aantalOpStapel( i ) << endl;
+  } //end for
+} //end DrukBordAf
+
+//spel spelen op console
+int main( ) {
+  srand( time(0) );            //elke keer andere random begin waarde
+  //init variabelen (een keer instellen, niet meer aankomen)
+  bool winnend = false;        //Winnende zet laten zien
+  bool compWinnend = false;    //Computer winnend laten spelen
+  //spel variabelen
+  bool spelerAanBeurt = false; //True=speler is aan de beurt
+  int stapel = 0;              //tijdelijke opslag StapelNummer
+  int stokjes = 0;             //tijdelijke opslag stokjesAantal
+  
+  //variabelen invoeren
+  InvoerVariabelen( winnend, compWinnend );
+  
+  //spel beginnen
+  while( true ) {                             //Eeuwige Loop
+    spelerAanBeurt = not( spelerAanBeurt );   //speler wisselen
+    DrukBordAf( );                            //Druk bord af
+    if( spelerAanBeurt == true ) {            //speler aan de beurt
+      if( winnend == true ){                  //  druk winnend af indien
+      DrukWinnendAf();                        //  gewenst
+      }
+      spelerKeuze( stapel, stokjes);
+    }
+    else {                                    //computer aan de beurt
+      spelletje.computerZet( compWinnend, stapel, stokjes );
+      DrukComputerKeuzeAf( stapel, stokjes );
+    }  
+    spelletje.pakWeg( stapel, stokjes );      //zet verwerken
+    if( spelletje.afgelopen( ) ) {            //als spel afgelopen
+      if( spelerAanBeurt ) {
+        cout << "Voila uw heeft GEWONNEN" << endl;
+      }
+      else {
+        cout << "DE COMPUTER IS DE BESTE !!!" <<endl;
+      } //end if
+      return( 0 );
+    }  
+    else if( spelerAanBeurt == false ){        //als computerzet gedaan
+                                               //keuze van zetten terug
+      DrukBordAf( );
+      cout                                               << endl
+           << "Maximaal terug te zetten beurten: "
+           << (spelletje.aantalBeurten())                << endl
+           << "'0' om gewoon door te gaan"               << endl
+            << "Aantal beurten: "                        ;
+      spelletje.zetTerug( VoerInGetal( 0, spelletje.aantalBeurten() ) );
+    } //end if
+  } //end while
+} //end main
+
Index: /liacs/pm/nim-v4/nimSpel.cc
===================================================================
--- /liacs/pm/nim-v4/nimSpel.cc	(revision 2)
+++ /liacs/pm/nim-v4/nimSpel.cc	(revision 2)
@@ -0,0 +1,238 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: nimSpel.cc
+ *de is het rekengedeelte van mainForm.cc, hierin kan makkelijk en snel
+ *gegevens worden verwerkt en oplossingen worden doorgerekend
+ */
+#include "nimSpel.h"
+#include "const.h"
+#include <cstdlib>
+
+using namespace std;
+NimSpel::NimSpel( ){ //constructor
+  laatsteZet_pt = NULL;
+  aantalZetten = 0;
+} //end NimSpel::NimSpel
+
+
+
+//aantal beurten terug geven
+int NimSpel::aantalBeurten( ){
+  return( aantalZetten/2 );
+} //end NimSpel::aantalBeurten
+
+
+
+//aantal op stapel teruggeven
+int NimSpel::aantalOpStapel( const int nummer ){
+  return( stapel[nummer] );
+} //end NimSpel::aantalOpStapel
+
+
+
+//aantal actieve stapels teruggeven
+int NimSpel::actieveStapels( ){
+  return( aantalStapels );
+} //end NimSpel::actieveStapels
+
+bool NimSpel::afgelopen( ){ //kijken of spel afgelopen is
+  for( int i = 0; i < MAX_STAPELS; i++ ) {
+    if( stapel[i] > 0 ) { //als er nog ergens waardes aanwezig zijn
+      return( false );
+    }//end if
+  }//end if
+  return( true );
+}//end NimSpel::afgelopen
+
+
+
+//zet de beginwaarden van de stapel
+void NimSpel::beginWaarden( const int stapelAantal, const int aantal) {
+  zetTerug(aantalZetten/2); //terugzetten om oude pointer naar NULL te
+                            //helpen en alles netjes de destructen
+  for( int i = 0; i < stapelAantal; i++ ) {
+    stapel[i] = aantal;
+    aantalStapels = stapelAantal;
+  } //end for
+} //end NimSpel::beginWaarden
+
+
+
+//creer een nieuwe zet voor de computer
+void NimSpel::computerZet( const bool niveauComputer, int & stapelNummer,
+                           int & aantal) {
+  int tmpStapelNummer = -1;
+  int tmpAantal = -1;
+  
+  if( niveauComputer ) { //winnend spelen als dat verwacht wordt
+    winnend( tmpStapelNummer, tmpAantal );
+  } //end if
+  
+  if( tmpAantal == -1 ) {
+    //hij zal in deze if komen als er geen winnnende keuzes zijn 
+    randomZet( tmpStapelNummer, tmpAantal );
+  } //end if
+  
+  stapelNummer = tmpStapelNummer;
+  aantal = tmpAantal;
+} //end NimSpel::computerZet
+
+
+
+//doe een random zet, die wel in de range van een stapel aantal ligt
+void NimSpel::randomZet( int & stapelNummer, int & aantal ) {
+  do {
+    stapelNummer = int( double(aantalStapels) * rand()/(RAND_MAX+1.0) );
+    aantal = 1 + int( double(2) * rand()/(RAND_MAX+1.0) );
+  } //end do
+  while( stapel[stapelNummer] - aantal < 0 );
+}//end NimSpel::randomZet
+
+
+
+//verwerk een zet
+void NimSpel::pakWeg( const int stapelNummer, const int aantal ){
+  NimStapel * temp_pt;                        //
+  temp_pt = new NimStapel;                    //
+  temp_pt->vorigeZet_pt = laatsteZet_pt;      //Zetten onthouden
+  laatsteZet_pt = temp_pt;                    //
+  laatsteZet_pt->stapelNummer = stapelNummer; //
+  laatsteZet_pt->aantalEraf = aantal;         //
+  aantalZetten++;                             //Max Zetten bijhouden
+  stapel[stapelNummer] = stapel[stapelNummer] - aantal; 
+} //end NimSpel::pakweg
+
+
+//Controleer of er precies 1 stapel is met een waarde lager dan 2
+//Begin standaard met true en controleer op foute waardes
+bool NimSpel::winstAfgelopen() {
+  bool einde = true;
+  int stapelsMetWaarde = 0;
+  int totaalWaarde = 0;
+  for( int ctr=0; ctr < aantalStapels; ctr++ ) {
+    if( stapel[ctr] > 0 ) {
+      totaalWaarde = totaalWaarde + stapel[ctr];
+      stapelsMetWaarde++;
+      if( (totaalWaarde > 2) or (stapelsMetWaarde > 1) ) {
+        einde = false;
+        break;
+      } //end if
+    } //end if not 0
+  } //end loop
+  return(einde);
+} //end NimSpel::winstAfgelopen
+
+
+//Controleer of een pad zeker winnend is
+bool NimSpel::winstRecur( bool aanBeurt ) {
+  bool winst1 = false;
+  bool winst2 = false;
+  aanBeurt = not(aanBeurt);
+  if( winstAfgelopen() ) {
+    if( aanBeurt ) {
+      return(true);
+    }
+    else {
+      return(false);
+    }
+  }
+  else {
+    for( int ctr=0; ctr < aantalStapels; ctr++ ) {
+      if( stapel[ctr] > 0 ) {
+        if( stapel[ctr] > 1 ) {
+          stapel[ctr] = stapel[ctr] - 2;
+          winst2 = winstRecur( aanBeurt );
+          stapel[ctr] = stapel[ctr] + 2;
+        } //end if (test met 2)
+        stapel[ctr] = stapel[ctr] - 1;
+        winst1 = winstRecur( aanBeurt );
+        stapel[ctr] = stapel[ctr] + 1;
+      } //end if (groter dan 0)
+      if( winst1 & winst2 ) {
+        return(true);
+      } //end if (winst test)
+    } //end for loop
+    return(false);
+  }
+} //end NimSpel::winstRecur
+
+
+//Deze functie creert alle mogelijk vervolg zetten, en test deze op
+//winnend
+void NimSpel::winnend( int & stapelNummer, int & aantal ) {
+  bool winst;
+  if( winnendEnable() ) {
+    for( int ctr=0; ctr < aantalStapels; ctr++ ) {
+      if( stapel[ctr] > 0 ) {
+        if( stapel[ctr] > 1) {
+          stapel[ctr] = stapel[ctr] - 2;
+          winst = winstRecur( "false" );
+          stapel[ctr] = stapel[ctr] + 2;
+          if( winst ) {
+            stapelNummer = ctr;
+            aantal = 2;
+            return;
+          } //winst 2
+        }
+        stapel[ctr] = stapel[ctr] - 1;
+        winst = winstRecur( "false" );
+        stapel[ctr] = stapel[ctr] + 1;
+        if( winst ) {
+          stapelNummer = ctr;
+          aantal = 1;
+          return;
+        } //winst 1
+      } //not null
+    } //loop for
+    stapelNummer = -1;
+    aantal = -1;
+  }
+  else {
+    randomZet( stapelNummer, aantal );
+  }
+} //end NimSpel::winnnend
+
+
+bool NimSpel::winnendEnable() {
+  int aantal = 0;
+  for( int ctr=0; ctr < aantalStapels; ctr++ ) {
+    aantal = aantal + stapel[ctr];
+    if( aantal > START_WINNEND ) {
+      return(false);
+    } //end if
+  } //end for
+  return(true);
+} //end NimSpel::winnendEnable
+	
+
+
+//zet beurten terug
+void NimSpel::zetTerug( const int aantalBeurten ) {
+  int aantalStappen = aantalBeurten * 2;
+  NimStapel * temp_pt;
+  for( int i = 0; i < aantalStappen; i++ ) {
+    temp_pt = laatsteZet_pt;
+    stapel[temp_pt->stapelNummer] =
+    ( stapel[temp_pt->stapelNummer] + temp_pt->aantalEraf );
+    aantalZetten--;
+    laatsteZet_pt = temp_pt->vorigeZet_pt;
+    delete temp_pt;
+  } //end for
+} //end NimSpel::ZetTerug
+
+
+
+//kijk of je niet meer stokjes van een stapel afpakt als dat er liggen
+bool NimSpel::zetMogelijk( const int stapelNummer,
+                           const int aantalPakken ) {
+  if( (stapel[stapelNummer] - aantalPakken) < 0 ) {
+    return false;
+  }
+  else {
+    return true;
+  } //end if
+} //end NimSpel::zetMogelijk
+  
+
+
Index: /liacs/pm/nim-v4/nimSpel.h
===================================================================
--- /liacs/pm/nim-v4/nimSpel.h	(revision 2)
+++ /liacs/pm/nim-v4/nimSpel.h	(revision 2)
@@ -0,0 +1,65 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: nimSpel.h
+ *De header van nimSpel.cc, de niet grafische 'database' van mainForm.cc
+ */
+
+#ifndef NIMSPEL_H
+#define NIMSPEL_H
+
+#include "nimStapel.h"
+#include "const.h"
+
+class NimSpel{
+  public:
+    NimSpel( );
+    // creator
+    ~NimSpel( ) { };
+    // destructor
+    int aantalBeurten( );
+    // geef het aantal zetten/2 terug	
+    int aantalOpStapel ( const int nummer );
+    // geef het aantal op een stapel terug
+    int actieveStapels ( );
+    // geef het aantal actieve stapels terug
+    bool afgelopen( );
+    // Kijken af alles afgelopen is
+    void beginWaarden( const int stapelAantal, const int aantal );
+    // Zet alle waardes weer in startpositie
+    void computerZet ( const bool niveauComputer,
+                       int & stapelNummer, int & aantal );
+    //computerzet creeren
+    void pakWeg( const int stapelNummer, const int aantal );
+    // Haal Aantal uit Stapels[StapelNummer]
+    void recur( const int aantal, const bool aanBeurt,
+            int & aantalWinst, int & aantalVerlies );
+    //reken recursief de winst en verliespaden uit
+    void recurKeuze( const int aantal, int & keuze, double & winstKans );
+    //reken uit wat bij een waarde de beste keuze is
+    void randomZet ( int & stapelNummer, int & aantal );
+    //Random zet
+    void winnend( int & stapelNummer, int & aantal );
+    // Win berekening
+    bool winnendEnable();
+    bool winstAfgelopen();
+    bool winstRecur( bool aanBeurt );
+    void zetTerug( const int aantalBeurten );
+    // Ga AantalBeurten terug
+    bool zetMogelijk( const int stapelNummer, const int aantalPakken );
+    // Kijken of waarde doorgevoerd kan worden
+  private:
+    NimStapel * laatsteZet_pt;
+    // Pointer naar gegevens laatste zet
+    int stapel[MAX_STAPELS];
+    // aantal luicifers per stapel
+    int aantalZetten;
+    // aantal zetten dat gedaan is
+    int aantalStapels;
+    // geeft het aantal door de gebruiker aangegeven
+    // gewilde stapels weer
+
+}; //end NimSpel
+
+#endif
+
Index: /liacs/pm/nim-v4/nimStapel.cc
===================================================================
--- /liacs/pm/nim-v4/nimStapel.cc	(revision 2)
+++ /liacs/pm/nim-v4/nimStapel.cc	(revision 2)
@@ -0,0 +1,17 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: nimStapel.cc
+ *nimStapel.cc de terugzet module
+ *Class die gebruikt wordt om terugzetten te realiseren
+ */
+
+#include "nimStapel.h"
+#include <cstdlib>
+
+NimStapel::NimStapel( ){
+  stapelNummer = 0;      
+  aantalEraf = 0;         
+  vorigeZet_pt = NULL;    
+}// end NimStapel::NimStapel
+
Index: /liacs/pm/nim-v4/nimStapel.h
===================================================================
--- /liacs/pm/nim-v4/nimStapel.h	(revision 2)
+++ /liacs/pm/nim-v4/nimStapel.h	(revision 2)
@@ -0,0 +1,20 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: nimStapel.h
+ *De header van nimStapel.cc de terugzet module
+ */
+
+#ifndef NIMSTAPEL_H
+#define NIMSTAPEL_H
+
+class NimStapel{
+  public:
+    NimStapel( );             //creator
+    ~NimStapel( ) { };        //destructor
+    int stapelNummer;         //Nummer van de stapel waar het
+    int aantalEraf;           //AantalEraf af is gegaan
+    NimStapel * vorigeZet_pt; //Pointer naar de zet ervoor,
+};// end NimData                maakt stapelen mogelijk
+
+#endif
Index: /liacs/pm/nim.cc
===================================================================
--- /liacs/pm/nim.cc	(revision 2)
+++ /liacs/pm/nim.cc	(revision 2)
@@ -0,0 +1,10 @@
+#include <NimSpel.cc>
+
+using namespace std;
+
+int main( ){
+  srand(time(0));     //elke keer andere random begin waarde
+  NimSpel Spel1;      //nieuw spel
+  Spel1.NimSpelen();  //spelen
+}// end main
+
Index: /liacs/pm/nim_full.cc
===================================================================
--- /liacs/pm/nim_full.cc	(revision 2)
+++ /liacs/pm/nim_full.cc	(revision 2)
@@ -0,0 +1,308 @@
+//Rick van der Zwet
+//Pascal de Vos
+//Programeeropgave 4, Nim Spel
+
+#include <iostream>
+#include <ctime>
+#include <cstdlib>
+
+using namespace std;
+
+//constanten
+const int MaxStapels = 4;       //Maximale Aantal Stapels
+const int MaxAantal = 4;        //Maximale Aantal Lucifers
+
+
+
+//creeer random getal met behulp van de random functie;
+int RandomGetal(int Min, int Max){
+  return ( Min + int( double(Max + 1 - Min) * rand()/(RAND_MAX+1.0)) );
+} //RandomGetal
+
+
+
+//Zorgt dat de gebruiker enkel getallen <= Max in kan voeren
+int VoerInGetal(int Min, int Max){
+  int x = 0;
+	do {
+    if(!(cin >> x)) {
+			cout << "Enkel Cijfers aub" << endl;
+			cin.clear();
+			cin.ignore(10000,'\n');
+		}
+		else if (x > Max) {
+			cout << "Te groot getal" << endl;
+    } 
+	  else if (x < Min) {
+      cout << "Te klein getal" << endl;
+    }// end if
+  } // end do
+	while((x < Min) or (x > Max));
+	return x;
+} //end VoerInGetal 
+
+
+
+//Class die gebruikt wordt om terugzetten te realiseren
+class NimData{
+  public:
+    NimData( ); //creator
+    ~NimData( ) { }; 
+    int StapelNummer; //Nummer van de stapel waar het
+    int AantalEraf; //AantalEraf af is gegaan
+    NimData * VorigeZet_pt; //Pointer naar de zet ervoor, maakt stapelen mogelijk
+};// end NimData
+
+NimData::NimData( ){
+  StapelNummer = 0;      
+  AantalEraf = 0;         
+  VorigeZet_pt = NULL;    
+}// end NimData::NimData
+
+
+
+class NimSpel{
+  public:
+    NimSpel( );                           //creator
+    ~NimSpel( ) { };                      //destructor
+    void NimSpelen( );                    //Main programma
+  private:
+    NimData * LaatsteZet_pt;              //Pointer naar gegevens laatste zet
+    int AantalZetten;                     //aantal zetten dat gedaan is
+    int Stapels[MaxStapels];              //aantal luicifers per stapel
+    int SpelerAanBeurt;                   //speler die aan de beurt is
+    //2 spelers, nummer 1 is de speler, nummer 2 is computer 
+    double WinstArray[MaxAantal + 1][3];  //slim berekende winst array voor computer 'ai'
+    //[0] = totaal aantal mogelijkheden, [1] = aantal winnen, [2] = aantal verliezen
+    
+    void PakWeg(int Groep, int Aantal);   //Haal Aantal uit Stapels[Groep]
+    void ZetTerug(int AantalStappen);     //Ga AantalStappen terug
+    void SpelerKiest ( );                 //Invoerscherm voor gebruiker
+    void ComputerNiveauSlim(int * StapelNummer, int * Aantal); //Computer berekening
+    void ComputerKiest (int Niveau);      //ComputerHandelingen
+    void DrukAf( );                       //Druk Spel af
+    bool SpelAfgelopen( );                // Kijken af alles afgelopen is
+}; //end NimSpel
+
+
+
+//init van de groepen array
+NimSpel::NimSpel( ){
+  LaatsteZet_pt = NULL;
+  AantalZetten = 0;
+  SpelerAanBeurt = 1;
+  
+  for(int i = 0; i < MaxStapels; i++) {
+    Stapels[i] = MaxAantal;
+  } //end for
+ 
+  //Bedacht en getest algoritme 
+  WinstArray[0][0] = 1;
+  WinstArray[0][1] = 0;
+  WinstArray[0][2] = 1;
+  WinstArray[1][0] = 1;
+  WinstArray[1][1] = 1;
+  WinstArray[1][2] = 0;
+  WinstArray[2][0] = 1;
+  WinstArray[2][1] = 1;
+  WinstArray[2][2] = 0;
+  for(int i = 3; i < MaxAantal + 1; i++){
+    WinstArray[i][0] = WinstArray[i-1][0] + WinstArray[i-2][0];
+    WinstArray[i][1] = WinstArray[i-1][2] + WinstArray[i-2][2];
+    WinstArray[i][2] = WinstArray[i][0] - WinstArray[i][1];
+  }
+} //end NimSpel::NimSpel
+
+
+
+void NimSpel::PakWeg(int StapelNummer, int Aantal){
+  NimData * temp_pt;                          //
+  temp_pt = new NimData;                      //
+  temp_pt->VorigeZet_pt = LaatsteZet_pt;      //Zetten onthouden
+  LaatsteZet_pt = temp_pt;                    //
+  LaatsteZet_pt->StapelNummer = StapelNummer; //
+  LaatsteZet_pt->AantalEraf = Aantal;         //
+  
+  AantalZetten++;                             //Max Zetten bijhouden
+
+  Stapels[StapelNummer] = Stapels[StapelNummer] - Aantal; 
+} //end NimSpel::NimSpel
+
+
+
+void NimSpel::ZetTerug(int AantalStappen) {
+  NimData * temp_pt;
+  for(int i = 0; i < AantalStappen; i++) {
+    temp_pt = LaatsteZet_pt;
+    Stapels[temp_pt->StapelNummer] = Stapels[temp_pt->StapelNummer] + temp_pt->AantalEraf;
+    AantalZetten--;
+    LaatsteZet_pt = temp_pt->VorigeZet_pt;
+    delete temp_pt;
+  } //end for
+} //end NimSpel::ZetTerug
+
+
+
+void NimSpel::SpelerKiest( ){
+  int StapelNummer, Aantal, AantalStappen = 0;
+  
+  cout << "Maximaal terug te zetten zetten: " << AantalZetten << endl
+       << "'0' om niet terug te zetten"                       << endl
+       << "Aantal zetten: ";
+  AantalStappen = VoerInGetal(0, AantalZetten);
+  
+  if (AantalStappen == 0) {
+    do{
+      cout << "Speler aan de beurt" << endl;
+      cout << "Welke stapel [0-" << (MaxStapels - 1) << "] : ";
+      StapelNummer = VoerInGetal(0, MaxStapels - 1);
+      cout << "Hoeveel [1-2] : ";
+      Aantal = VoerInGetal(1, 2);
+      if (Stapels[StapelNummer] - Aantal < 0){
+        cout << Stapels[StapelNummer] << endl;
+        cout << "Geen Geldige Combinatie, probeer opnieuw";
+      } //end if
+    } //end do
+    while(Stapels[StapelNummer] - Aantal < 0);
+    PakWeg(StapelNummer, Aantal);
+  }
+  else { //Ga AantalStappen terug zetten 
+    ZetTerug(AantalStappen);
+    SpelerAanBeurt = SpelerAanBeurt - 1 + (AantalStappen%2); //ivm met onevenaantal terug zetten
+  }// end if
+} //end NimSpel::SpelerKiest
+
+
+
+void NimSpel::ComputerNiveauSlim(int * StapelNummer, int * Aantal) {
+  double KansMax, KansMet1, KansMet2 = 0; //tempvariablen, voor het bepalen van de max
+  for(int i = 0; i < MaxStapels; i++) {
+    if (Stapels[i] > 0) {
+      KansMet1 = WinstArray[Stapels[i]-1][2] / WinstArray[Stapels[i]-2][0];
+    }
+    else {
+      KansMet1 = 0;
+    }//end if
+    
+    if (Stapels[i] > 1) {
+      KansMet2 = WinstArray[Stapels[i]-2][2] / WinstArray[Stapels[i]-2][0];
+    }
+    else {
+      KansMet2 = 0;
+    }//end if
+    
+    if(KansMet1 > KansMax) {
+      *Aantal = 1;
+      *StapelNummer = i;
+      KansMax = KansMet1;
+    }//end if
+    
+    if(KansMet2 > KansMax) {
+      *Aantal = 2;
+      *StapelNummer = i;
+      KansMax = KansMet2;
+    }//end if
+  }//end for
+}// end NimSpel::ComputerNiveauSlim  
+
+
+
+void NimSpel::ComputerKiest(int Niveau) {
+  int StapelNummer = 0; //Voor het geval alles op verliezen staat ;-)
+  int Aantal = 1;       //
+  char wait; //loze char ivm met Wachten om ENTER invoer.
+  
+  cout << "Computer Kiest..." << endl;
+  switch (Niveau) {
+  case 1: //random keuze
+    do {
+      StapelNummer = RandomGetal(0, (MaxStapels-1));
+      Aantal = RandomGetal(1, 2);
+    } //end do
+    while(Stapels[StapelNummer] - Aantal < 0);
+    break;
+  case 2: //slimme keuze
+      ComputerNiveauSlim(&StapelNummer, &Aantal);
+    break;
+  default: //dedug keuze
+    StapelNummer = 0;
+    Aantal = 2;
+    break;
+  } //end switch
+  
+  cout << "Stapel: " << StapelNummer << endl;
+  cout << "Aantal: " << Aantal << endl;
+  cout << "Druk op ENTER...";
+  cin.clear();
+  cin.ignore(10000,'\n');
+  cin.get(wait); 
+  PakWeg(StapelNummer, Aantal);
+} //end NimSpel::Computerkiest
+
+
+
+void NimSpel::DrukAf( ){
+  system("clear"); //OS Dependent Line, for windows use 'system("cls");' instead. 
+  cout << endl << "   : ";
+  for(int i = 0; i < MaxStapels; i++) {
+    if (i < 10) {cout << " " << i << " | ";} else { cout << i << " | ";}
+  }//end for
+  for(int i = 1; i <= MaxAantal; i++) {
+    cout << endl;
+    if (i < 10) {cout << " " << i << " : ";} else { cout << i << " : ";}
+    for(int j = 0; j < MaxStapels; j++) {
+      if (i <= Stapels[j]) { cout << "XX | ";} else { cout << "   | ";}
+    }//end for
+  }//end for
+  cout << endl << endl;
+}//end NimSpelDrukAf
+
+
+
+bool NimSpel::SpelAfgelopen( ){
+  for(int i = 0; i < MaxStapels; i++) {
+    if (Stapels[i] > 0) { //als er nog ergens waardes aanwezig zijn
+      return (false);
+    }//end if
+  }//end if
+  return (true);
+}//end NimSpelAfgelopen
+
+
+
+void NimSpel::NimSpelen( ){
+  int Niveau = 0;                       //
+  cout << endl                          // 
+       << "Geef het niveau aan" << endl //
+       << "1) Random          " << endl //Niveau bepalen
+       << "2) Winnend Spelen  " << endl;//
+  Niveau =VoerInGetal(1,2);             //
+  
+  while (not(SpelAfgelopen( ))) {       //Zolang spel niet afgelopen
+  DrukAf( );                            //Druk bord af
+  if (SpelerAanBeurt == 1) {            //a1) Speler 1 aan de beurt
+      SpelerKiest( );                   //a2) Speler Doorwerken, keuzes enz.
+      SpelerAanBeurt++;                 //a3) Computer aan de beurt
+    }   
+    else if (SpelerAanBeurt == 2) {     //b1) Computer aan de Beurt
+      ComputerKiest(Niveau);            //b2) Computer op Niveau laten spelen
+      SpelerAanBeurt = 1;               //b3) Speler aan de beurt
+    } //end if
+  } //end while 
+  if (SpelerAanBeurt == 2) {           //ivm met regels a3,b3 
+    cout << "Voila uw heeft GEWONNEN" << endl;
+  }
+  else {
+    cout << "DE COMPUTER IS DE BESTE !!!" <<endl;
+  }//end if
+} //end NimSpel::NimSpelen
+
+
+
+int main( ){
+  srand(time(0));     //elke keer andere random begin waarde
+  NimSpel Spel1;      //nieuw spel
+  Spel1.NimSpelen();  //spelen
+}// end main
+
+
Index: /liacs/pm/oefpoint.cc
===================================================================
--- /liacs/pm/oefpoint.cc	(revision 2)
+++ /liacs/pm/oefpoint.cc	(revision 2)
@@ -0,0 +1,199 @@
+
+//                                                                      
+// Programmeermethoden 2004
+//
+// http://www.liacs.nl/home/kosters/pm/oefpoint.cc
+// C++-programma om te oefenen in het gebruik van pointers.
+// Er moet een enkelverbonden pointerlijst gefabriceerd worden,
+// waarbij de vakjes die met elkaar verbonden worden bestaan uit
+//   1. Een int(eger)
+//   2. Een pointer naar het volgende vakje (of NULL)
+//   3. Een pointer naar een int(eger) (of NULL)
+// Schrijf de functies Afdrukken, MaakVakje, Toevoegen, Verwijderen   
+// en tot slot GesorteerdToevoegen - in deze volgorde.  
+// Er is ook een uitwerking van dit programma beschikbaar: 
+//   http://www.liacs.nl/home/kosters/pm/pointer.cc
+//                        
+// Compiler: GNU g++ / Borland C++ / Visual C++                         
+// Datum: 24 okt 1995, 29 okt 1996, 15 nov 1999, 17 nov 2000, 22 okt 2001
+// Auteur: Walter Kosters, Informatica Universiteit Leiden
+//         email kosters@liacs.nl, telefoon 071-5277059
+//
+
+#include <iostream>
+using namespace std;
+
+// het soort vakje waar het om draait:
+
+class vakje {              // een struct mag ook
+  public:                  
+    int info;              
+    vakje* volgende;       
+    int* andere;
+};  // vakje
+
+//
+//   +-----+        +----+----+-----+        +----+----+-----+
+//   |   --+------> | 34 |  | |   --+------> | 56 |  | | NULL|
+//   +-----+        +----+--+-+-----+        +----+--+-+-----+
+//  ingang                  |                        |
+//                          V                        V
+//                       +----+                   +----+
+//                       | 23 |                   | 18 |
+//                       +----+                   +----+
+//       
+// ingang wijst dus een vakje uit een lijst vakjes aan
+// waarbij ieder vakje informatie bevat (het info-veld), 
+// een pointer naar het volgende vakje, en ook nog een 
+// pointer naar een int(eger) (het andere-veld); om zulke 
+// structuurtjes te maken is doorgaans in totaal steeds 
+// twee maal new nodig, voor het voorbeeld hierboven in 
+// totaal vier
+// Een voorbeeld: het getal 34 wordt afgedrukt via:  
+//   cout << ingang->info << endl;
+// En het getal 18 via:
+//   cout << *(ingang->volgende->andere) << endl;
+// En een pointer hulp (vakje* hulp) gaat naar het vakje
+// met onder andere 56 erin wijzen via:
+//   hulp = ingang->volgende;
+//
+
+// ************************************************************************
+
+void Afdrukken (vakje* ingang) {
+// druk lijst met ingang als ingang af 
+  cout << "Lijst afdrukken ..." << endl;
+  vakje* hulp = ingang;
+  while ( hulp != NULL ){
+    cout << hulp->info << endl;
+	hulp = hulp->volgende;
+  }
+	
+  //
+  //   XXXXXX
+  //     XX
+  //     XX
+  //   XXXXXX
+  //
+  
+}  // Afdrukken
+ 
+void MaakVakje (vakje* & p, int een, int twee) {
+// laat p naar nieuw vakje met een, twee erin wijzen;        
+// preciezer: nieuw vakje met getal een en een POINTER naar een     
+// nieuwe int met getal twee erin                                   
+// mooier: als bijvoorbeeld twee = -1, dan p->andere NULL maken 
+  cout << "Maak een nieuw vakje ..." << endl;
+  p = new vakje;
+  p->info = een;
+  if (twee > 0){
+    p->andere = new int;
+    *(p->andere) = twee;
+  }
+  else {
+    p->andere = NULL;
+  }
+}  // MaakVakje
+ 
+void Toevoegen (vakje* & ingang, int een, int twee) {
+// voeg vakje met getallen een en twee erin vooraan lijst ingang toe
+// gebruik MaakVakje
+  cout << "Voeg een nieuw vakje toe ..." << endl;
+  vakje* hulp = ingang;
+  
+  MaakVakje (ingang,een,twee);
+  ingang->volgende = hulp;
+
+}  // Toevoegen
+
+void Verwijderen (vakje*& ingang) {
+// gooi eerste vakje van lijst ingang weg als ingang niet NULL is
+  cout << "Verwijder een vakje ..." << endl;
+    
+  if (ingang != NULL){
+  	vakje* hulp = ingang;
+	ingang = ingang->volgende;
+	delete hulp->andere;
+  	delete hulp;	
+  }
+  
+}  // Verwijderen
+
+void GesorteerdToevoegen (vakje* & ingang, int een, int twee) {
+// voeg vakje met getallen een en twee erin toe aan lijst ingang,
+// en wel voor het eerste grotere getal (als dat er is),
+// dus gesorteerd op info-velden
+// gebruikt TWEE pointertjes om door de lijst te lopen, en berg
+// het nieuwe vakje "tussen" deze twee op
+  cout << "Voeg een nieuw vakje gesorteerd toe (lastig) ..." << endl;
+    
+  vakje* hulp1 = ingang;
+  vakje* hulp2 = ingang->volgende;
+  while (hulp2 != NULL)
+    if(een > hulp2->info){
+	  vakje nieuw;
+	  nieuw-
+	}
+	hulp1 = hulp2;
+	hulp2 = hulp2->volgende;
+  }
+  //
+  //   XX     XX
+  //    XX   XX
+  //     XX XX
+  //      XXX
+  //
+  
+}  // GesorteerdToevoegen
+
+void LeesInGetallen (int & een, int & twee) {
+// lees integers een en twee in
+  cout << "Eerste getal svp .. ";
+  cin >> een;
+  cout << "Tweede getal svp .. ";
+  cin >> twee;
+}  // LeesInGetallen
+
+// *********************************************************************
+
+int main ( ) {
+
+  vakje* ingang = NULL; // ingang van de op te bouwen lijst (nu nog leeg)
+  char keuze;           // wat wil de gebruiker?
+  int een, twee;        // toe te voegen getallen
+
+  do {
+    cout << "Kies uit: [s]toppen, [g]esorteerd [t]oevoegen," << endl
+         << "          [a]fdrukken, [v]erwijderen          " << endl
+         << "Uw keuze: ";
+    cin >> keuze;
+    switch (keuze) {
+      case 's': case 'S':
+        cout << "Dat was het dan ..." << endl; 
+        break;
+      case 't': case 'T':
+        LeesInGetallen (een,twee);
+        Toevoegen (ingang,een,twee);
+        break;
+      case 'a': case 'A':
+        Afdrukken (ingang);
+        break;
+      case 'v': case 'V':
+        Verwijderen (ingang);
+        break;
+      case 'g': case 'G':
+        LeesInGetallen (een,twee);
+        GesorteerdToevoegen (ingang,een,twee);
+        break; 
+      default:
+        cout << "Niet toegestane menukeuze ..." << endl;
+    }  // switch
+  }  // do
+  while ( ! ( keuze == 's' ) && ! ( keuze == 'S' ) );
+
+  // while ( ingang != NULL )  // netjes opruimen
+  //   Verwijderen (ingang);
+
+  return 0;
+
+}  // main
Index: /liacs/pm/pm1.pro
===================================================================
--- /liacs/pm/pm1.pro	(revision 2)
+++ /liacs/pm/pm1.pro	(revision 2)
@@ -0,0 +1,9 @@
+######################################################################
+# Automatically generated by qmake (1.03a) Fri Dec 10 12:08:47 2004
+######################################################################
+
+TEMPLATE = app
+CONFIG -= moc
+
+# Input
+SOURCES += classetest.cc mastermind.cc oefpoint.cc sorteren.cc test.cc test.cpp
Index: /liacs/pm/qt-nim/.kdbgrc.qt-nim
===================================================================
--- /liacs/pm/qt-nim/.kdbgrc.qt-nim	(revision 2)
+++ /liacs/pm/qt-nim/.kdbgrc.qt-nim	(revision 2)
@@ -0,0 +1,16 @@
+[Breakpoint 0]
+Enabled=true
+File=nimform.cpp
+Line=56
+Temporary=false
+
+[General]
+DebuggerCmdStr=
+FileVersion=1
+ProgramArgs=
+TTYLevel=7
+WorkingDirectory=
+
+[Memory]
+ColumnWidths=80,0
+NumExprs=0
Index: /liacs/pm/qt-nim/.qmake.internal.cache
===================================================================
--- /liacs/pm/qt-nim/.qmake.internal.cache	(revision 2)
+++ /liacs/pm/qt-nim/.qmake.internal.cache	(revision 2)
@@ -0,0 +1,25 @@
+[check]
+QMAKE_CACHE_VERSION = 1.02a
+QMAKE_ABSOLUTE_SOURCE_PATH = 
+MOC_DIR = 
+UI_DIR = 
+UI_HEADERS_DIR = 
+UI_SOURCES_DIR = 
+[depend]
+const.h = 
+main.cpp = nimform.h stapeldisplay.h
+nimform.cpp = nimform.h optionsform.h stapeldisplay.h
+nimform.h = stapeldisplay.h
+optionsform.cpp = optionsform.h const.h
+optionsform.h = 
+stapeldisplay.cpp = stapeldisplay.h
+stapeldisplay.h = 
+[mocable]
+const.h = *qmake_ignore*
+nimform.h = moc_nimform.cpp
+optionsform.h = moc_optionsform.cpp
+stapeldisplay.h = moc_stapeldisplay.cpp
+main.cpp = *qmake_ignore*
+nimform.cpp = *qmake_ignore*
+optionsform.cpp = *qmake_ignore*
+stapeldisplay.cpp = *qmake_ignore*
Index: /liacs/pm/qt-nim/Makefile
===================================================================
--- /liacs/pm/qt-nim/Makefile	(revision 2)
+++ /liacs/pm/qt-nim/Makefile	(revision 2)
@@ -0,0 +1,163 @@
+#############################################################################
+# Makefile for building: qt-nim
+# Generated by qmake (1.03a) on: Fri Dec 10 10:02:16 2004
+# Project:  qt-nim.pro
+# Template: app
+# Command: $(QMAKE) qt-nim.pro
+#############################################################################
+
+####### Compiler, tools and options
+
+CC       = gcc
+CXX      = g++
+LEX      = flex
+YACC     = yacc
+CFLAGS   = -pipe -g  
+CXXFLAGS = -pipe -g  
+LEXFLAGS = 
+YACCFLAGS= -d
+INCPATH  = -I. -I$(QTDIR)/include -I$(QTDIR)/mkspecs/default
+LINK     = g++
+LFLAGS   = 
+LIBS     = $(SUBLIBS)  -L$(QTDIR)/lib  -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm
+AR       = ar cqs
+RANLIB   = 
+MOC      = $(QTDIR)/bin/moc
+UIC      = $(QTDIR)/bin/uic
+QMAKE    = qmake
+TAR      = tar -cf
+GZIP     = gzip -9f
+COPY     = cp -f
+COPY_FILE= $(COPY) -p
+COPY_DIR = $(COPY) -pR
+DEL_FILE = rm -f
+SYMLINK  = ln -sf
+DEL_DIR  = rmdir
+MOVE     = mv
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+HEADERS = const.h \
+		nimform.h \
+		optionsform.h \
+		stapeldisplay.h
+SOURCES = main.cpp \
+		nimform.cpp \
+		optionsform.cpp \
+		stapeldisplay.cpp
+OBJECTS = main.o \
+		nimform.o \
+		optionsform.o \
+		stapeldisplay.o
+FORMS = 
+UICDECLS = 
+UICIMPLS = 
+SRCMOC   = moc_nimform.cpp \
+		moc_optionsform.cpp \
+		moc_stapeldisplay.cpp
+OBJMOC = moc_nimform.o \
+		moc_optionsform.o \
+		moc_stapeldisplay.o
+DIST	   = qt-nim.pro
+QMAKE_TARGET = qt-nim
+DESTDIR  = 
+TARGET   = qt-nim
+
+first: all
+####### Implicit rules
+
+.SUFFIXES: .c .cpp .cc .cxx .C
+
+.cpp.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.cc.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.cxx.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.C.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.c.o:
+	$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
+
+####### Build rules
+
+all: Makefile $(TARGET)
+
+$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) 
+	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)
+
+mocables: $(SRCMOC)
+
+$(MOC): 
+	( cd $(QTDIR)/src/moc ; $(MAKE) )
+
+Makefile: qt-nim.pro  $(QTDIR)/mkspecs/default/qmake.conf 
+	$(QMAKE) qt-nim.pro
+qmake: 
+	@$(QMAKE) qt-nim.pro
+
+dist: 
+	@mkdir -p .tmp/qt-nim && $(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) .tmp/qt-nim/ && ( cd `dirname .tmp/qt-nim` && $(TAR) qt-nim.tar qt-nim && $(GZIP) qt-nim.tar ) && $(MOVE) `dirname .tmp/qt-nim`/qt-nim.tar.gz . && $(DEL_DIR) .tmp/qt-nim
+
+mocclean:
+	-$(DEL_FILE) $(OBJMOC)
+	-$(DEL_FILE) $(SRCMOC)
+
+uiclean:
+
+clean: mocclean
+	-$(DEL_FILE) $(OBJECTS) 
+	-$(DEL_FILE) *~ core *.core
+
+
+####### Sub-libraries
+
+distclean: clean
+	-$(DEL_FILE) $(TARGET) $(TARGET)
+
+
+FORCE:
+
+####### Compile
+
+main.o: main.cpp nimform.h \
+		stapeldisplay.h
+
+nimform.o: nimform.cpp nimform.h \
+		optionsform.h \
+		stapeldisplay.h
+
+optionsform.o: optionsform.cpp optionsform.h \
+		const.h
+
+stapeldisplay.o: stapeldisplay.cpp stapeldisplay.h
+
+moc_nimform.o: moc_nimform.cpp nimform.h stapeldisplay.h
+
+moc_optionsform.o: moc_optionsform.cpp optionsform.h 
+
+moc_stapeldisplay.o: moc_stapeldisplay.cpp stapeldisplay.h 
+
+moc_nimform.cpp: $(MOC) nimform.h
+	$(MOC) nimform.h -o moc_nimform.cpp
+
+moc_optionsform.cpp: $(MOC) optionsform.h
+	$(MOC) optionsform.h -o moc_optionsform.cpp
+
+moc_stapeldisplay.cpp: $(MOC) stapeldisplay.h
+	$(MOC) stapeldisplay.h -o moc_stapeldisplay.cpp
+
+####### Install
+
+install: all 
+
+uninstall: 
+
Index: /liacs/pm/qt-nim/const.h
===================================================================
--- /liacs/pm/qt-nim/const.h	(revision 2)
+++ /liacs/pm/qt-nim/const.h	(revision 2)
@@ -0,0 +1,15 @@
+#ifndef CONSTANTEN_H
+#define CONSTANTEN_H
+
+//bepaal de grenzen van het speelbord
+#define MIN_STAPELS 		1
+#define MIN_STOKJES			1
+#define MAX_STAPELS 		20
+#define MAX_STOKJES			20
+
+//bepaal beginwaarden van keuze menu
+#define	START_STAPELS	  5 
+#define START_STOKJES		5
+#define START_NIVEAU		2
+
+#endif
Index: /liacs/pm/qt-nim/main.cc
===================================================================
--- /liacs/pm/qt-nim/main.cc	(revision 2)
+++ /liacs/pm/qt-nim/main.cc	(revision 2)
@@ -0,0 +1,12 @@
+#include <qapplication.h>
+#include "mainForm.h"
+
+int main( int argc, char *argv[] )
+{
+	QApplication app( argc, argv );
+	MainForm *mf = new MainForm( );
+	app.setMainWidget( mf );
+	mf->show();
+
+	return app.exec();
+}
Index: /liacs/pm/qt-nim/main.cpp
===================================================================
--- /liacs/pm/qt-nim/main.cpp	(revision 2)
+++ /liacs/pm/qt-nim/main.cpp	(revision 2)
@@ -0,0 +1,12 @@
+#include <qapplication.h>
+#include "nimform.h"
+
+int main( int argc, char *argv[] )
+{
+	QApplication app( argc, argv );
+	NimForm *nf = new NimForm( );
+	app.setMainWidget( nf );
+	nf->show();
+
+	return app.exec();
+}
Index: /liacs/pm/qt-nim/mainForm.cc
===================================================================
--- /liacs/pm/qt-nim/mainForm.cc	(revision 2)
+++ /liacs/pm/qt-nim/mainForm.cc	(revision 2)
@@ -0,0 +1,464 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: mainForm.cc
+ *mainForm.cc, het hoofdprogramma hierin worden alle aanroepen behandeld
+ *en wordt het menu opgebouwd
+ */
+
+#include "mainForm.h"
+#include "optionsForm.h"
+#include "stapelGroupBox.h"
+#include "nimSpel.h"
+#include "const.h"
+
+#include <qaction.h>
+#include <qapplication.h>
+#include <qcheckbox.h>
+#include <qframe.h>
+#include <qlabel.h>
+#include <qlcdnumber.h>
+#include <qmenubar.h>
+#include <qmessagebox.h>
+#include <qpopupmenu.h>
+#include <qpushbutton.h>
+#include <qprogressbar.h>
+#include <qradiobutton.h>
+#include <qslider.h>
+#include <qstatusbar.h>
+
+
+MainForm::MainForm( ) //constructor
+  : QMainWindow( 0, 0, WDestructiveClose)
+{
+  //global variablen standard value
+  for(int i = 0; i < MAX_STAPELS; i++) { stapelBox[i] = NULL; }
+  stapelAantal = -1;
+  stokjesMin = 0;
+  stokjesMax = 0;
+  niveauComputer = 0;
+  spelData = new NimSpel();
+  //end standard value
+
+  setCaption( tr( "The Nim Game" ) );  
+  
+  //menubar
+  QAction *fileNewAction;
+  QAction *fileQuitAction;
+  fileNewAction = new QAction(
+          "New Game",
+          "&New", CTRL+Key_N,this, "new");
+  connect( fileNewAction, SIGNAL( activated() ), 
+           this, SLOT( fileNew() ) );
+  fileQuitAction = new QAction( 
+          "Quit", 
+          "&Quit", CTRL+Key_Q, this, "quit" );
+  connect( fileQuitAction, SIGNAL( activated() ), 
+           this, SLOT( fileQuit() ) );
+
+  fileMenu = new QPopupMenu( this );
+  menuBar()->insertItem( "&File", fileMenu );
+  fileNewAction->addTo( fileMenu );
+  fileQuitAction->addTo ( fileMenu );
+
+  QAction *helpAboutAction;
+  QAction *helpAboutQtAction;
+  helpAboutAction = new QAction(
+          "&About",
+          "&About", CTRL+Key_H,this, "about");
+  connect( helpAboutAction, SIGNAL( activated() ), 
+           this, SLOT( helpAbout() ) );
+  helpAboutQtAction = new QAction(
+          "AboutQt",
+          "AboutQt", CTRL+Key_A,this, "aboutQt");
+  connect( helpAboutQtAction, SIGNAL( activated() ), 
+           this, SLOT( helpAboutQt() ) );
+
+  helpMenu = new QPopupMenu( this );
+  menuBar()->insertItem( "&Help", helpMenu );
+  helpAboutAction->addTo ( helpMenu );
+  helpAboutQtAction->addTo ( helpMenu );
+  //end menubar
+
+  //winnend
+   winnendFrame = new QFrame( this, "winnendFrame" );
+  winnendFrame->setEnabled( TRUE );
+  winnendFrame->setGeometry( QRect( 11, 31, 234, 138 ) );
+  winnendFrame->setFrameShape( QFrame::StyledPanel );
+  winnendFrame->setFrameShadow( QFrame::Plain );
+  
+  winnendAantalLCDNumber = new QLCDNumber( winnendFrame, "winnendAantalLCDNumber" );
+  winnendAantalLCDNumber->setGeometry( QRect( 110, 80, 60, 41 ) );
+  winnendAantalLCDNumber->setNumDigits( 2 );
+  winnendAantalLCDNumber->setProperty( "intValue", 0 );
+  
+  winnendStapelLCDNumber = new QLCDNumber( winnendFrame, "winnendStapelLCDNumber" );
+  winnendStapelLCDNumber->setGeometry( QRect( 10, 80, 61, 41 ) );
+  winnendStapelLCDNumber->setNumDigits( 2 );
+  
+  winnendStapelTextLabel = new QLabel( winnendFrame, "winnendStapelTextLabel" );
+  winnendStapelTextLabel->setGeometry( QRect( 20, 50, 52, 20 ) );
+  winnendStapelTextLabel->setText( tr( "<h3>Stapel</h3>" ) );
+  
+  winnendAantalTextLabel = new QLabel( winnendFrame, "winnendAantalTextLabel" );
+  winnendAantalTextLabel->setGeometry( QRect( 120, 50, 52, 20 ) );
+  winnendAantalTextLabel->setText( tr( "<h3>Aantal</h3>" ) );
+  
+  winnendCheckBox = new QCheckBox( winnendFrame, "winnendCheckBox" );
+  winnendCheckBox->setGeometry( QRect( 10, 20, 170, 20 ) );
+  winnendCheckBox->setText( tr( "\"Winnende\" zet laten zien" ) );
+  
+  winnendEnable( 0 ); //het disable van alle blokjes, begin waarde
+  //end winnend
+
+  //compDialog
+  compDialogFrame = new QFrame( this, "compDialogFrame" );
+  compDialogFrame->setEnabled( TRUE );
+  compDialogFrame->setGeometry( QRect( 270, 31, 180, 138 ) );
+  compDialogFrame->setFrameShape( QFrame::StyledPanel );
+  compDialogFrame->setFrameShadow( QFrame::Plain );
+  compDialogFrame->hide();
+
+  compDialogStapelLCDNumber = new QLCDNumber( compDialogFrame, "compDialogStapelLCDNumber" );
+  compDialogStapelLCDNumber->setGeometry( QRect( 10, 50, 61, 41 ) );
+  compDialogStapelLCDNumber->setNumDigits( 2 );
+
+  compDialogStapelTextLabel = new QLabel( compDialogFrame, "compDialogStapelTextLabel" );
+  compDialogStapelTextLabel->setGeometry( QRect( 20, 20, 52, 20 ) );
+  compDialogStapelTextLabel->setText( tr( "<h3>Stapel</h3>" ) );
+
+  compDialogAantalLCDNumber = new QLCDNumber( compDialogFrame, "compDialogAantalLCDNumber" );
+  compDialogAantalLCDNumber->setGeometry( QRect( 100, 50, 60, 41 ) );
+  compDialogAantalLCDNumber->setNumDigits( 2 );
+  compDialogAantalLCDNumber->setProperty( "intValue", 0 );
+
+  compDialogAantalTextLabel = new QLabel( compDialogFrame, "compDialogAantalTextLabel" );
+  compDialogAantalTextLabel->setGeometry( QRect( 110, 20, 52, 20 ) );
+  compDialogAantalTextLabel->setText( tr( "<h3>Aantal</h3>" ) );
+
+  compDialogPushButton = new QPushButton( compDialogFrame, "compDialogPushButton" );
+  compDialogPushButton->setGeometry( QRect( 11, 100, 160, 31 ) );
+  compDialogPushButton->setText( tr( "OK, verwerk computerzet" ) );
+  //end compDialog
+
+  //terugzetten
+  terugzettenFrame = new QFrame( this, "terugzettenFrame" );
+  terugzettenFrame->setGeometry( QRect( 480, 31, 234, 138 ) );
+  terugzettenFrame->setFrameShape( QFrame::StyledPanel );
+  terugzettenFrame->setFrameShadow( QFrame::Plain );
+  
+  terugzettenProgressBar = new QProgressBar( terugzettenFrame, "terugzettenProgressBar" );
+  terugzettenProgressBar->setGeometry( QRect( 20, 80, 190, 22 ) );
+  terugzettenProgressBar->setTotalSteps( 1 );
+  terugzettenProgressBar->setIndicatorFollowsStyle( TRUE );
+  
+  terugzettenLCDNumber = new QLCDNumber( terugzettenFrame, "terugzettenLCDNumber" );
+  terugzettenLCDNumber->setGeometry( QRect( 20, 30, 190, 40 ) );
+  terugzettenLCDNumber->setNumDigits( 2 );
+  terugzettenLCDNumber->setProperty( "intValue", 0 );
+  
+  terugzettenSlider = new QSlider( terugzettenFrame,
+                      "terugzettenSlider" );
+  terugzettenSlider->setGeometry( QRect( 20, 10, 190, 20 ) );
+  terugzettenSlider->setOrientation( QSlider::Horizontal );
+  terugzettenSlider->setTickmarks( QSlider::NoMarks );
+  terugzettenSlider->setRange( 0, 0);
+  
+  terugzettenPushButton = new QPushButton( terugzettenFrame, 
+                          "terugzettenPushButton" );
+  terugzettenPushButton->setGeometry( QRect( 130, 110, 100, 21 ) );
+  terugzettenPushButton->setText( tr( "&Terug Zetten" ) );
+  terugzettenPushButton->setAccel( QKeySequence( tr( "Alt+T" ) ) );
+  //end terugzetten
+
+  statusBar()->message( "Welcome to Nim");
+  resize( QSize(720, 768).expandedTo(minimumSizeHint()) );
+  clearWState( WState_Polished );
+
+  //connections
+  connect( winnendCheckBox, SIGNAL ( stateChanged(int) ), 
+           this, SLOT ( winnendEnable(int) ) );
+  connect( compDialogPushButton, SIGNAL( clicked() ),
+           this, SLOT ( computerZet() ) );
+  connect( terugzettenSlider, SIGNAL( valueChanged(int) ), 
+           terugzettenLCDNumber, SLOT( display(int) ) );
+  connect( terugzettenSlider, SIGNAL( valueChanged(int) ),
+           terugzettenProgressBar, SLOT( setProgress( int ) ) );
+  connect( terugzettenPushButton, SIGNAL( clicked() ),
+           this, SLOT ( terugZetten() ) );
+  this->show();
+  fileNew(); //om te zorgen dat gelijk in het begin het optiescherm
+  //wordt geopend 
+} //end MainForm::MainForm
+
+
+MainForm::~MainForm() //destructor
+{
+
+} //end MainForm:~MainForm
+
+
+//SLOTS
+
+
+void MainForm::fileNew() //creer new speelveld
+{
+  OptionsForm * optionsForm = new OptionsForm( this );
+  if ( optionsForm->exec() ) {
+    clearBord( stapelAantal, 0 , 0 );
+    int stapelAantalOptions = optionsForm->stapelsSlider->value();
+    int stokjesMinOptions = 0;
+    int stokjesMaxOptions = optionsForm->stokjesSlider->value();
+    if ( optionsForm->niveau1RadioButton->isChecked() )
+      { niveauComputer = 1; }
+    else if (optionsForm->niveau2RadioButton->isChecked() )
+      { niveauComputer = 2; }
+    createBord( stapelAantalOptions, stokjesMinOptions, 
+                stokjesMaxOptions );
+  }
+  delete optionsForm;  
+} //end MainForm::fileNew
+
+
+void MainForm::fileQuit() //verlaat applicatie
+{
+  qApp->exit ( 0 );
+} //end MainForm::fileQuit
+
+
+void MainForm::helpAbout() //laat about venster zien 
+{
+    QMessageBox::about( this, "The Nim Game -- About",
+      "Dit simpele spelletje was programeeropdracht nummer 4\n"
+      "van de Universiteit Leiden\n"
+      "\n"
+      "U kunt dit spel enkel tegen de computer spelen\n"
+      "U neemt om de beurt 1 of 2 stokjes van de stapel\n"
+      "U kunt winnen door het laatste stokje van het veld weg te nemen\n"
+      "\n"
+      "Heel veel speelsplezier,\n"
+      "Pascal de Vos, Rick van der Zwet\n"
+    );
+}
+
+
+void MainForm::helpAboutQt() //laat aboutQt venster zien
+{ 
+    QMessageBox::aboutQt( this, "The Nim Game -- About Qt" );
+} //end MainForm::helpAboutQt
+
+
+void MainForm::winnendEnable( int state ) 
+//laat winnend venster oplichten
+{
+  winnendAantalTextLabel->setEnabled( state );
+  winnendAantalLCDNumber->setEnabled( state );
+  winnendStapelTextLabel->setEnabled( state );
+  winnendStapelLCDNumber->setEnabled( state );
+  updateWinnend( );
+} //end MainForm::winnendEnable
+
+
+void MainForm::computerZet( ) //computerzet doorvoeren
+{
+  updateStapelBox( compStapelNummer, compAantalPakken, 2);
+  computerDialog( false );
+} //end MainForm::computerZet
+
+
+void MainForm::terugZetten( ) //zet x aantal zetten terug
+{
+  int tmpAantal = 0;
+  spelData->zetTerug( terugzettenSlider->value() );
+  for( int i = 0; i < stapelAantal; i++ ) {
+    tmpAantal = spelData->aantalOpStapel( i );
+    stapelBox[i]->stapelProgressBar->reset();
+    stapelBox[i]->stapelProgressBar->setProgress( tmpAantal );
+    stapelBox[i]->stapelLCDNumber->display ( tmpAantal );
+    if (tmpAantal > 0) { 
+    //als 0 was waren de buttons uit, nu dus weer aan zetten
+      stapelBox[i]->stapelMin1PushButton->setEnabled ( true );
+      stapelBox[i]->stapelMin2PushButton->setEnabled ( true );
+    }
+  } 
+  updateWinnend();
+  updateTerugzetten();
+} //end MainForm::terugZetten 
+
+
+void MainForm::stapelBoxPressedMinButton( int stapelNummer , int aantalPakken )
+//Functie wordt aangeroepen door de knoppen op het spelveld, hier worden
+//deze gegevens verwerkt en de computerzet berekend
+{
+  updateStapelBox( stapelNummer, aantalPakken, 1 ); //eigen zet doorwerken
+  
+  if ( spelData->afgelopen() != true ){ 
+    spelData->computerZet( niveauComputer, compStapelNummer, //computerzet uitrekenen
+                            compAantalPakken );
+    if ( compStapelNummer == -1 ) {
+       for ( int i = 0; i < stapelAantal; i++ ) {
+        if ( spelData->aantalOpStapel(i) != 0 ) {
+          compAantalPakken = 1;
+          compStapelNummer = i;
+          break;
+        }
+      }
+    }
+    computerDialog( true );//computerdialog laten zien
+  }
+}
+
+//END SLOTS
+
+
+//maak het spelveld leeg, maw verwijder de stapels
+void MainForm::clearBord( int stapelAantalLocal, int stokjesMinLocal, 
+                        int stokjesMaxLocal ) 
+{
+   spelData->beginWaarden( stapelAantalLocal, stokjesMaxLocal-stokjesMinLocal );
+  stapelAantal = stapelAantalLocal;
+  stokjesMin = stokjesMinLocal;
+  stokjesMax = stokjesMaxLocal;
+
+  for(int i = 0; i < stapelAantalLocal; i++) {
+    if (not( stapelBox[i] == NULL )) {delete stapelBox[i];}
+  }
+} //end MainForm::clearBord
+
+//maak nieuw spelbord, maw maak nieuwe stapels
+void MainForm::createBord( int stapelAantalLocal, int stokjesMinLocal, 
+                          int stokjesMaxLocal )
+{
+  int Y = 100;        //xcoord
+  int X = 11;         //ycoord
+  int tmpAantal = 0;  //aantal onthouden ivm met rijen
+
+  spelData->beginWaarden( stapelAantalLocal, stokjesMaxLocal-stokjesMinLocal );
+  stapelAantal = stapelAantalLocal;
+  stokjesMin = stokjesMinLocal;
+  stokjesMax = stokjesMaxLocal;
+  
+  for(int i = 0; i < stapelAantalLocal; i++) {
+    if (tmpAantal == 7) {
+      X = X + 360;
+      Y = 170;
+      tmpAantal = 1;
+    }
+    else {
+      tmpAantal++;
+      Y = Y + 70;
+    }
+    stapelBox[i] = new StapelGroupBox( this, "stapelGroupBox" );
+    stapelBox[i]->setXY( X, Y );
+    stapelBox[i]->setRange( stokjesMinLocal, stokjesMaxLocal );
+    stapelBox[i]->setCaption(i);
+    connect( stapelBox[i], SIGNAL( buttonPressed(int,int) ), 
+             this, SLOT( stapelBoxPressedMinButton(int,int) ) );
+    stapelBox[i]->show();
+  }
+   updateTerugzetten();
+  updateWinnend();
+  resize( QSize(720, 768).expandedTo(minimumSizeHint()) );
+  clearWState( WState_Polished );
+} //end MainForm::createBord
+
+
+void MainForm::updateWinnend( ) //werk het winnend frame bij
+{
+  int tmpStapel = 0;
+  int tmpAantal = 0;
+
+  if ( winnendAantalTextLabel->isEnabled() ) {
+    spelData->winnend( tmpStapel, tmpAantal );
+  }
+  else {
+    tmpStapel = -8;
+    tmpAantal = -8;
+  }
+  winnendStapelLCDNumber->display(tmpStapel);
+  winnendAantalLCDNumber->display(tmpAantal);
+} //end MainForm::updateWinnend
+
+
+void MainForm::updateTerugzetten( ) //werk terugzetten frame bij
+{
+  int aantalBeurten = spelData->aantalBeurten();
+  terugzettenSlider->setRange( 0, aantalBeurten );
+  terugzettenProgressBar->setTotalSteps( aantalBeurten ); 
+} //end MainForm::updateTerugzetten
+
+
+void MainForm::winstDialog( int spelerNummer ) {
+//laat een kleine melding zien als iemand gewonnen heeft
+  if ( spelerNummer == 1 ) {
+    statusBar()->message("Voila, u heeft gewonnen!");
+  }
+  else if ( spelerNummer == 2 ) {
+    statusBar()->message("Helaas, computer heeft gewonnen");
+  }
+} //end MainForm::gewonnen
+
+
+void MainForm::updateStapelBox(int stapelNummer, int aantalPakken, 
+                               int spelerNummer )
+//Aanroepen Bijwerken van LCDNumber, ProgressBar, winnend , 
+//terugzetten en spelData 
+{
+  //grafisch
+  int tmpOudAantal = spelData->aantalOpStapel( stapelNummer );
+  int tmpNieuwAantal = 0;
+  if (aantalPakken > tmpOudAantal) { aantalPakken = tmpOudAantal; } 
+  if (tmpOudAantal == aantalPakken)   
+  {
+    tmpNieuwAantal = 0;
+    stapelBox[stapelNummer]->stapelMin1PushButton->setEnabled ( FALSE );
+    stapelBox[stapelNummer]->stapelMin2PushButton->setEnabled ( FALSE );
+  }
+  else {
+    tmpNieuwAantal = tmpOudAantal - aantalPakken;
+  }
+  stapelBox[stapelNummer]->stapelLCDNumber->display( tmpNieuwAantal );
+  stapelBox[stapelNummer]->stapelProgressBar->reset();
+  stapelBox[stapelNummer]->stapelProgressBar->setProgress( tmpNieuwAantal );
+  //spelData bijwerken
+  spelData->pakWeg( stapelNummer, aantalPakken );
+   
+  updateTerugzetten();
+  if ( spelData->afgelopen() )
+  {
+    winstDialog( spelerNummer );
+  }
+  else
+  { 
+    updateWinnend(); 
+  }
+} //end MainForm::updateStapelBox
+
+
+void MainForm::computerDialog( bool enabled ) {
+//als de computer dialog aan is, dan mag de gebruiker daar knoppen indrukken, de 
+//rest is dan niet zichtbaar
+  if ( enabled ){
+    for ( int i = 0;i < stapelAantal; i++ ) {
+      stapelBox[i]->stapelMin1PushButton->hide ( );
+      stapelBox[i]->stapelMin2PushButton->hide ( );
+    }
+    terugzettenPushButton->hide ( );
+    compDialogStapelLCDNumber->display( compStapelNummer );
+    compDialogAantalLCDNumber->display( compAantalPakken );
+    compDialogFrame->show( );    
+  }
+  else {
+    for ( int i = 0;i < stapelAantal; i++ ) {
+      stapelBox[i]->stapelMin1PushButton->show ( );
+      stapelBox[i]->stapelMin2PushButton->show ( );
+    }
+    terugzettenPushButton->show ( );
+    compDialogFrame->hide( );    
+  }
+} //end MainForm::computerDialog
+
+
+
+
+
Index: /liacs/pm/qt-nim/mainForm.h
===================================================================
--- /liacs/pm/qt-nim/mainForm.h	(revision 2)
+++ /liacs/pm/qt-nim/mainForm.h	(revision 2)
@@ -0,0 +1,94 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: mainForm.h
+ *De header van mainForm.cc, het hoofdprogramma
+ */
+#ifndef MAINFORM_H
+#define MAINFORM_H
+
+#include "stapelGroupBox.h"
+#include "nimSpel.h"
+#include <qmainwindow.h>
+
+class QFrame;
+class QLCDNumber;
+class QLabel;
+class QCheckBox;
+class QProgressBar;
+class QSlider;
+class QPushButton;
+
+class MainForm: public QMainWindow
+{
+	Q_OBJECT
+public:
+	MainForm();
+	~MainForm();
+
+	QPopupMenu *optionsMenu;
+
+ 
+  public slots:
+    void stapelBoxPressedMinButton( int, int ); //stapelnummer, aantal
+
+	private slots:
+		void fileNew();            //nieuw spel beginnen
+		void fileQuit();           //programma beeindigen
+		void helpAbout();          //about venster laten zien
+		void helpAboutQt();        //about Qt venster laten zien
+  	void winnendEnable( int ); //laat winnend venster zien(1) of niet(0)
+		void computerZet( );       //computer laten zetten
+		void terugZetten( );       //zet beurten terug
+	private:
+		//private variablen
+		StapelGroupBox *stapelBox[MAX_STAPELS];  //keuze spel boxjes
+		NimSpel *spelData;		  //Hier wordt in gerekend en data verwerkt 
+    int stapelAantal;       //Aantal stapel in het spel
+		int stokjesMin;         //Min aantal stokjes (altijd 0)
+    int stokjesMax;         //Max aantal stokjes
+    int niveauComputer;     //Niveau van computer 1=Random, 2=Winnend
+
+		int compAantalPakken;   //Wat gaat de computer zetten (aantal)
+		int compStapelNummer;   //(stapel nummer)
+   
+		//private functies
+    void clearBord( int stapelAantalLocal, int stokjesMinLocal, 
+                    int stokjesMaxLocal ); //leeg speelveld
+		void computerDialog( bool enabled ); //laat computerkeuze zien
+    void createBord( int stapelAantalLocal, int stokjesMinLocal, 
+                     int stokjesMaxLocal ); //maak nieuw spelveld aan
+   	void winstDialog( int spelerNummer ); //creer output, afhankelijk wie
+                                        //gewonnen heeft
+    void updateTerugzetten( ); //ververs vak terugzetten
+		void updateStapelBox( int stapelNummer, int aantalPakken,
+													int spelerNummer ); //ververs spelveld 
+		void updateWinnend( );                //werk winnend venster bij
+
+		//private grafische onderdelen
+    QPopupMenu *fileMenu;
+		QPopupMenu *helpMenu;
+    
+		QFrame* winnendFrame;
+    QLCDNumber* winnendAantalLCDNumber;
+    QLCDNumber* winnendStapelLCDNumber;
+    QLabel* winnendStapelTextLabel;
+    QLabel* winnendAantalTextLabel;
+    QCheckBox* winnendCheckBox;
+	
+		QFrame* compDialogFrame;
+    QLCDNumber* compDialogStapelLCDNumber;
+    QLabel* compDialogStapelTextLabel;
+    QLCDNumber* compDialogAantalLCDNumber;
+    QLabel* compDialogAantalTextLabel;
+    QPushButton* compDialogPushButton;
+
+    QFrame* terugzettenFrame;
+    QProgressBar* terugzettenProgressBar;
+    QLCDNumber* terugzettenLCDNumber;
+    QSlider* terugzettenSlider;
+    QPushButton* terugzettenPushButton;
+    
+};
+
+#endif
Index: /liacs/pm/qt-nim/nim.cc
===================================================================
--- /liacs/pm/qt-nim/nim.cc	(revision 2)
+++ /liacs/pm/qt-nim/nim.cc	(revision 2)
@@ -0,0 +1,105 @@
+#include "NimSpel.h"
+#include <ctime>
+#include <iostream>
+using namespace std;
+
+
+//Spelers Invoer, voor stapel en aantal 
+void SpelerOpConsole(const int AantalStapels, int * Stapel, int * Aantal){
+	cout << "Speler aan de beurt" << endl;
+	cout << "Welke stapel [0-" << (AantalStapels - 1) << "] : ";
+	*Stapel = VoerInGetal(0, AantalStapels - 1);
+	cout << "Hoeveel [1-2] : ";
+	*Aantal = VoerInGetal(1, 2);
+} //end SpelerOpConsole
+
+
+
+//Invoeren van variablen voor soort spelkeuze
+void InvoerVariablen(int * AantalStapels, int * AantalStokjes, bool * WinnendeZet, bool * CompWinnend) {   
+	cout << "Hoeveel stapels wilt u?" << endl
+			 << "Aantal: "; *AantalStapels = VoerInGetal(1,MaxStapels);
+
+	cout << "Hoeveel stokjes wilt u?" << endl
+			 << "Aantal: "; *AantalStokjes = VoerInGetal(1,MaxAantal);
+
+	cout << "Geef het niveau van de computer aan" << endl 
+       << "0) Random          								" << endl
+       << "1) Winnend Spelen  								" << endl
+			 << "Keuze: "; *CompWinnend = VoerInGetal(0,1);             
+
+  cout << endl
+			 << "Wilt u de winnende zetten zien?" << endl
+			 << "0) Nee													" << endl
+			 << "1) Ja													" << endl
+			 << "Keuze: "; *WinnendeZet = VoerInGetal(0,1);
+} //end InvoerVariablen
+
+
+
+
+//spel spelen op console
+void SpeelSpelOpConsole( ){
+	//init variablen (een keer kiezen, niet meer veranderen)
+	NimSpel Spelletje;										//Het spelletje
+	bool Winnend = false;									//Winnende zetten laten zien
+	bool CompWinnend = false;             //Computer winnend spelen
+	int AantalStapels = MaxStapels;				//aantal stapels die de gebruiker wil
+	int AantalStokjes = MaxAantal;				//aantal stokjes dat nodig is
+
+	//spel variablen
+	bool SpelerAanBeurt = false;					//True=speler is aan de beurt
+	int Stapel = 0;												//tijdelijke opslag StapelNummer
+	int Aantal = 0;												//tijdelijke opslag Aantal
+	char wait;														//om ENTER te kunnen realiseren
+	
+	//variablen invoeren
+	InvoerVariablen(&AantalStapels, &AantalStokjes, &Winnend, &CompWinnend);
+	Spelletje.BeginWaarden(AantalStapels, AantalStokjes);	
+	//spel beginnen
+		
+		if (Winnend) {																//winnende waarden laten zien
+			Spelletje.Winnend(&Stapel,&Aantal);			
+			cout << "Winnende Zet:							" << endl
+					 << "Stapel: " << Stapel					<< endl
+					 << "Aantal: " << Aantal << endl  << endl;
+		} //end if
+  	
+		SpelerAanBeurt = not(SpelerAanBeurt);					//speler wisselen
+    else {																				//computer aan de beurt
+			if (CompWinnend) {													//winnend spelen
+				Spelletje.Winnend(&Stapel, &Aantal);			
+			}
+			else {																			//random spelen
+				Spelletje.RandomZet(AantalStapels, &Stapel, &Aantal);
+			} //end if
+			cout << "Computer Keuze" 				<< endl
+  		 << "Stapel: " << Stapel			  << endl
+  		 << "Aantal: " << Aantal 				<< endl;
+		  cout << "Druk op ENTER...";								 	//uitvoer computer tonen
+			cin.clear();
+  		cin.ignore(10000,'\n');
+  		cin.get(wait); 
+		}	
+			Spelletje.PakWeg(Stapel, Aantal);						//zet verwerken
+			Spelletje.DrukAfConsole( );									//Score tonen	
+		
+		if (Spelletje.Afgelopen( )) {										//spel afgelopen
+			if (SpelerAanBeurt) {  
+    		cout << "Voila uw heeft GEWONNEN" << endl;
+  		}
+  		else {
+    		cout << "DE COMPUTER IS DE BESTE !!!" <<endl;
+			} //end if
+		break;
+		}	
+		else if (not(SpelerAanBeurt)){								//keuze zetten terug 
+			cout << endl << "De computer geeft gezet, ben u tevreden?"			 << endl 
+					 << "Maximaal terug te zetten beurten: " << (Spelletje.AantalZetten/2) << endl
+      		 << "'0' om gewoon door te gaan"	                     		   << endl
+       		 << "Aantal beurten: ";
+  		Spelletje.ZetTerug(VoerInGetal(0, (Spelletje.AantalZetten/2))); 
+		} //end if
+	} //end while 
+} //end SpeelSpelOpConsole 
+
Index: /liacs/pm/qt-nim/nimSpel.cc
===================================================================
--- /liacs/pm/qt-nim/nimSpel.cc	(revision 2)
+++ /liacs/pm/qt-nim/nimSpel.cc	(revision 2)
@@ -0,0 +1,233 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: nimSpel.cc
+ *de is het rekengedeelte van mainForm.cc, hierin kan makkelijk en snel
+ *gegevens worden verwerkt en oplossingen worden doorgerekend
+ */
+#include "nimSpel.h"
+#include "const.h"
+#include <cstdlib>
+
+using namespace std;
+NimSpel::NimSpel( ){ //constructor
+  laatsteZet_pt = NULL;
+  aantalZetten = 0;
+} //end NimSpel::NimSpel
+
+
+
+//aantal beurten terug geven
+int NimSpel::aantalBeurten( ){
+  return( aantalZetten/2 );
+} //end NimSpel::aantalBeurten
+
+
+
+//aantal op stapel teruggeven
+int NimSpel::aantalOpStapel( const int nummer ){
+  return( stapels[nummer] );
+} //end NimSpel::aantalOpStapel
+
+
+
+//aantal actieve stapels teruggeven
+int NimSpel::actieveStapels( ){
+  return( aantalStapels );
+} //end NimSpel::actieveStapels
+
+bool NimSpel::afgelopen( ){ //kijken of spel afgelopen is
+  for( int i = 0; i < MAX_STAPELS; i++ ) {
+    if( stapels[i] > 0 ) { //als er nog ergens waardes aanwezig zijn
+      return( false );
+    }//end if
+  }//end if
+  return( true );
+}//end NimSpel::afgelopen
+
+
+
+//zet de beginwaarden van de stapel
+void NimSpel::beginWaarden( const int stapelAantal, const int aantal) {
+  zetTerug(aantalZetten/2); //terugzetten om oude pointer naar NULL te
+                            //helpen en alles netjes de destructen
+  for( int i = 0; i < stapelAantal; i++ ) {
+    stapels[i] = aantal;
+    aantalStapels = stapelAantal;
+  } //end for
+} //end NimSpel::beginWaarden
+
+
+
+//creer een nieuwe zet voor de computer
+void NimSpel::computerZet( const bool niveauComputer, int & stapelNummer,
+                           int & aantal) {
+  int tmpStapelNummer = -1;
+  int tmpAantal = -1;
+  
+  if( niveauComputer ) { //winnend spelen als dat verwacht wordt
+    winnend( tmpStapelNummer, tmpAantal );
+  } //end if
+  
+  if( tmpAantal == -1 ) {
+    //hij zal in deze if komen als er geen winnnende keuzes zijn 
+    randomZet( tmpStapelNummer, tmpAantal );
+  } //end if
+  
+  stapelNummer = tmpStapelNummer;
+  aantal = tmpAantal;
+} //end NimSpel::computerZet
+
+
+
+//doe een random zet, die wel in de range van een stapel aantal ligt
+void NimSpel::randomZet( int & stapelNummer, int & aantal ) {
+  do {
+    stapelNummer = int( double(aantalStapels) * rand()/(RAND_MAX+1.0) );
+    aantal = 1 + int( double(2) * rand()/(RAND_MAX+1.0) );
+  } //end do
+  while( stapels[stapelNummer] - aantal < 0 );
+}//end NimSpel::randomZet
+
+
+
+//verwerk een zet
+void NimSpel::pakWeg( const int stapelNummer, const int aantal ){
+  NimStapel * temp_pt;                        //
+  temp_pt = new NimStapel;                    //
+  temp_pt->vorigeZet_pt = laatsteZet_pt;      //Zetten onthouden
+  laatsteZet_pt = temp_pt;                    //
+  laatsteZet_pt->stapelNummer = stapelNummer; //
+  laatsteZet_pt->aantalEraf = aantal;         //
+  aantalZetten++;                             //Max Zetten bijhouden
+  stapels[stapelNummer] = stapels[stapelNummer] - aantal; 
+} //end NimSpel::pakweg
+
+
+
+//zoek recursief het aantal winnende sporen en het aantal
+//verliezende sporter
+void NimSpel::recur( const int aantal, const bool aanBeurt,
+            int & aantalWinst, int & aantalVerlies ) {
+  if( aantal < 3 ) { //aantal lager dan 3
+    if( aanBeurt ) { //als je aan beurt bent dan een winstpunt
+      aantalWinst++;
+    }
+    else {           //en anders een verliespunt
+      aantalVerlies++;
+    }
+  }
+  else {             //3 en hoger zorgt ervoor dat we de functie weer
+                     //aan moeten roepen en wel met 1 en 2 minder
+    recur( aantal-1, !(aanBeurt), aantalWinst, aantalVerlies);
+    recur( aantal-2, !(aanBeurt), aantalWinst, aantalVerlies);
+  }
+} //end NimSpel::recur;
+
+
+
+//zoek de keuze op met de meeste winkans
+//als er niet gewonnen kan worden return voor keuze '-1'
+void NimSpel::recurKeuze( const int aantal, int & keuze, double & winstKans ) {
+  int min1Winst = 0;      //winst paden voor aantal-1
+  int min1Verlies = 0;    //verlies paden voor aantal-1
+  int min2Winst = 0;      //winst paden voor aantal-2
+  int min2Verlies = 0;    //verlies paden voor aantal-2
+  double win1Kans = 0;    //kans op winst met 1
+  double win2Kans = 0;    //kans op winst met 2
+    
+    if( aantal < 1 ) {      //aantal is 0 of minder, kans op -2 zetten,
+    keuze = aantal;         //want hij is afgelopen
+    winstKans = -2;
+    }
+    else if( aantal < 3 ) { //als er minder als 3 worden opgegeven hebben
+    keuze = aantal;         //we altijd een winst situatie en gaan we niet 
+    winstKans = 10;
+    }
+    else {                  //recursief rekenen
+    recur( aantal-1, false, min1Winst, min1Verlies ); //reken 
+    recur( aantal-2, false, min2Winst, min2Verlies ); //kansen uit
+    
+    //aangezien door 0 delen niet mag, zullen we de verliesKans met 1 
+    //ophogen om zo toch eerlijkt te kunnen rekenen
+    min1Verlies++;
+    min2Verlies++;
+    win1Kans = double(min1Winst)/double(min1Verlies);
+    win2Kans = double(min2Winst)/double(min2Verlies);
+    
+    //Als beiden kanten (-1 en -2) geen winst ergens oplevert is het
+    //hopenloos verloren en zullen we dit ook aangeven
+    //anders de kans met de meeste winst teruggeven
+    if( (min1Winst == 0) and (min2Winst == 0) ) {
+      keuze = -1;
+      winstKans = -1;
+    }
+    else if( win1Kans > win2Kans ) {
+      keuze = 1;
+      winstKans = win1Kans;
+    }
+    else {
+      keuze = 2;
+      winstKans = win2Kans;
+    }//end if
+
+  } //end if
+  
+} //end NimSpel::recurKeuze
+
+
+
+//zoek de winnende zet uit (met hulp van een recursieve formule)
+void NimSpel::winnend( int & stapelNummer, int & aantal ) {
+  int tmpStapelNummer = -1; //-1 om ervoor te zorgen dat de winnende zet -1
+  int tmpAantal = -1;       //wordt als er geen winnende zetten zijn
+  int tmpKeuze = 0;         //(uit recurKeuze functie)
+  double tmpKans = 0;       //tijdelijke Kans en Keuze
+  double kansMax = 0;       //tijdelijk Variable voor geldende maximale kans
+
+  for( int i = 0; i <( aantalStapels - 1); i++ ) {
+  //ga alle stapels af en van de stapel met de meeste kans pak je de
+  //winnnende stokjes vanaf
+    recurKeuze( stapels[i], tmpKeuze, tmpKans ); //bereken waardes
+
+    if( tmpKans > kansMax ) {
+      tmpStapelNummer = i;
+      tmpAantal = tmpKeuze;
+      kansMax = tmpKans;
+    } //end if
+
+  }//end for
+  stapelNummer = tmpStapelNummer;
+  aantal = tmpAantal;
+}// end NimSpel::winnnend
+
+
+//zet beurten terug
+void NimSpel::zetTerug( const int aantalBeurten ) {
+  int aantalStappen = aantalBeurten * 2;
+  NimStapel * temp_pt;
+  for( int i = 0; i < aantalStappen; i++ ) {
+    temp_pt = laatsteZet_pt;
+    stapels[temp_pt->stapelNummer] =
+    ( stapels[temp_pt->stapelNummer] + temp_pt->aantalEraf );
+    aantalZetten--;
+    laatsteZet_pt = temp_pt->vorigeZet_pt;
+    delete temp_pt;
+  } //end for
+} //end NimSpel::ZetTerug
+
+
+
+//kijk of je niet meer stokjes van een stapel afpakt als dat er liggen
+bool NimSpel::zetMogelijk( const int stapelNummer,
+                           const int aantalPakken ) {
+  if( (stapels[stapelNummer] - aantalPakken) < 0 ) {
+    return false;
+  }
+  else {
+    return true;
+  } //end if
+} //end NimSpel::zetMogelijk
+  
+
+
Index: /liacs/pm/qt-nim/nimSpel.h
===================================================================
--- /liacs/pm/qt-nim/nimSpel.h	(revision 2)
+++ /liacs/pm/qt-nim/nimSpel.h	(revision 2)
@@ -0,0 +1,62 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: nimSpel.h
+ *De header van nimSpel.cc, de niet grafische 'database' van mainForm.cc
+ */
+
+#ifndef NIMSPEL_H
+#define NIMSPEL_H
+
+#include "nimStapel.h"
+#include "const.h"
+
+class NimSpel{
+  public:
+    NimSpel( );
+    // creator
+    ~NimSpel( ) { };
+    // destructor
+    int aantalBeurten( );
+    // geef het aantal zetten/2 terug	
+    int aantalOpStapel ( const int nummer );
+    // geef het aantal op een stapel terug
+    int actieveStapels ( );
+    // geef het aantal actieve stapels terug
+    bool afgelopen( );
+    // Kijken af alles afgelopen is
+    void beginWaarden( const int stapelAantal, const int aantal );
+    // Zet alle waardes weer in startpositie
+    void computerZet ( const bool niveauComputer,
+                       int & stapelNummer, int & aantal );
+    //computerzet creeren
+    void pakWeg( const int stapelNummer, const int aantal );
+    // Haal Aantal uit Stapels[StapelNummer]
+    void recur( const int aantal, const bool aanBeurt,
+            int & aantalWinst, int & aantalVerlies );
+    //reken recursief de winst en verliespaden uit
+    void recurKeuze( const int aantal, int & keuze, double & winstKans );
+    //reken uit wat bij een waarde de beste keuze is
+    void randomZet ( int & stapelNummer, int & aantal );
+    //Random zet
+    void winnend( int & stapelNummer, int & aantal );
+    // Win berekening
+    void zetTerug( const int aantalBeurten );
+    // Ga AantalBeurten terug
+    bool zetMogelijk( const int stapelNummer, const int aantalPakken );
+    // Kijken of waarde doorgevoerd kan worden
+  private:
+    NimStapel * laatsteZet_pt;
+    // Pointer naar gegevens laatste zet
+    int stapels[MAX_STAPELS];
+    // aantal luicifers per stapel
+    int aantalZetten;
+    // aantal zetten dat gedaan is
+    int aantalStapels;
+    // geeft het aantal door de gebruiker aangegeven
+    // gewilde stapels weer
+
+}; //end NimSpel
+
+#endif
+
Index: /liacs/pm/qt-nim/nimStapel.cc
===================================================================
--- /liacs/pm/qt-nim/nimStapel.cc	(revision 2)
+++ /liacs/pm/qt-nim/nimStapel.cc	(revision 2)
@@ -0,0 +1,17 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: nimStapel.cc
+ *nimStapel.cc de terugzet module
+ *Class die gebruikt wordt om terugzetten te realiseren
+ */
+
+#include "nimStapel.h"
+#include <cstdlib>
+
+NimStapel::NimStapel( ){
+  stapelNummer = 0;      
+  aantalEraf = 0;         
+  vorigeZet_pt = NULL;    
+}// end NimStapel::NimStapel
+
Index: /liacs/pm/qt-nim/nimStapel.h
===================================================================
--- /liacs/pm/qt-nim/nimStapel.h	(revision 2)
+++ /liacs/pm/qt-nim/nimStapel.h	(revision 2)
@@ -0,0 +1,20 @@
+/*programeeropdracht 4 The Nim Game
+ *Pascal de Vos  (ID = 0446916)
+ *Rick van der Zwet (ID = 0433373)
+ *file: nimStapel.h
+ *De header van nimStapel.cc de terugzet module
+ */
+
+#ifndef NIMSTAPEL_H
+#define NIMSTAPEL_H
+
+class NimStapel{
+  public:
+    NimStapel( );             //creator
+    ~NimStapel( ) { };        //destructor
+    int stapelNummer;         //Nummer van de stapel waar het
+    int aantalEraf;           //AantalEraf af is gegaan
+    NimStapel * vorigeZet_pt; //Pointer naar de zet ervoor,
+};// end NimData                maakt stapelen mogelijk
+
+#endif
Index: /liacs/pm/qt-nim/nimform.cpp
===================================================================
--- /liacs/pm/qt-nim/nimform.cpp	(revision 2)
+++ /liacs/pm/qt-nim/nimform.cpp	(revision 2)
@@ -0,0 +1,206 @@
+#include "nimform.h"
+#include "optionsform.h"
+#include "stapeldisplay.h"
+#include "const.h"
+
+#include <qaction.h>
+#include <qapplication.h>
+#include <qlcdnumber.h>
+#include <qmenubar.h>
+#include <qmessagebox.h>
+#include <qpopupmenu.h>
+#include <qpushbutton.h>
+#include <qprogressbar.h>
+#include <qradiobutton.h>
+#include <qslider.h>
+#include <qstatusbar.h>
+
+NimForm::NimForm( ) //constructor
+	: QMainWindow( 0, 0, WDestructiveClose)
+{
+	QAction *fileNewAction;
+	QAction *fileQuitAction;
+
+	fileNewAction = new QAction(
+					"New Game",
+					"&New", CTRL+Key_N,this, "new");
+	connect( fileNewAction, SIGNAL( activated() ), 
+           this, SLOT( fileNew() ) );
+
+	fileQuitAction = new QAction( 
+					"Quit", 
+					"&Quit", CTRL+Key_Q, this, "quit" );
+  connect( fileQuitAction, SIGNAL( activated() ), 
+           this, SLOT( fileQuit() ) );
+
+	fileMenu = new QPopupMenu( this );
+	menuBar()->insertItem( "&File", fileMenu );
+	fileNewAction->addTo( fileMenu );
+	fileQuitAction->addTo ( fileMenu );
+
+	QAction *helpHelpAction;
+	QAction *helpAboutAction;
+
+	helpHelpAction = new QAction(
+					"H&elp",
+					"H&elp", CTRL+Key_H,this, "help");
+	connect( helpHelpAction, SIGNAL( activated() ), 
+           this, SLOT( helpHelp() ) );
+
+	helpAboutAction = new QAction(
+					"&About",
+					"&About", CTRL+Key_A,this, "about");
+	connect( helpAboutAction, SIGNAL( activated() ), 
+           this, SLOT( helpAbout() ) );
+
+	helpMenu = new QPopupMenu( this );
+	menuBar()->insertItem( "&Help", helpMenu );
+	helpHelpAction->addTo ( helpMenu );
+	helpAboutAction->addTo ( helpMenu );
+
+ 
+  statusBar()->message( "Welcome to Nim");
+  resize( QSize(600, 480).expandedTo(minimumSizeHint()) );
+  clearWState( WState_Polished );
+  
+  //global var standard value
+  for(int i = 0; i < MAX_STAPELS; i++) { stapelBox[i] = NULL; }
+  stapelAantal = -1;
+  stokjesMin = 0;
+  stokjesMax = 0;
+  niveauComputer = 0;
+}
+
+
+NimForm::~NimForm()
+{
+	
+}
+
+void NimForm::clearBord( int stapelAantalLocal, int stokjesMinLocal, 
+                        int stokjesMaxLocal ) 
+{
+  stapelAantal = stapelAantalLocal;
+  stokjesMin = stokjesMinLocal;
+  stokjesMax = stokjesMaxLocal;
+
+  for(int i = 0; i < stapelAantalLocal; i++) {
+    if (not( stapelBox[i] == NULL )) {delete stapelBox[i];}
+  }
+}
+
+void NimForm::createBord( int stapelAantalLocal, int stokjesMinLocal, 
+                          int stokjesMaxLocal )
+{
+  int Y = -30;        //xcoord
+	int X = 10;         //ycoord
+  int tmpAantal = 0;  //aantal onthouden ivm met rijen
+
+  stapelAantal = stapelAantalLocal;
+  stokjesMin = stokjesMinLocal;
+  stokjesMax = stokjesMaxLocal;
+  
+  for(int i = 0; i < stapelAantalLocal; i++) {
+    if (tmpAantal == 10) {
+      X = X + 360;
+      Y = 40;
+      tmpAantal = 1;
+    }
+    else {
+      tmpAantal++;
+      Y = Y + 70;
+    }
+    stapelBox[i] = new StapelGroupBox( this, "stapelGroupBox" );
+    stapelBox[i]->setXY( X, Y );
+    stapelBox[i]->setRange( stokjesMinLocal, stokjesMaxLocal );
+	  stapelBox[i]->setCaption(i);
+    connect( stapelBox[i], SIGNAL( buttonPressed(int,int) ), 
+             this, SLOT( stapelMin(int,int) ) );
+    stapelBox[i]->show();
+  }
+  resize( QSize(600, 480).expandedTo(minimumSizeHint()) );
+  clearWState( WState_Polished );
+}
+
+
+//void NimForm::closeEvent( QCloseEvent * )
+//{
+//
+//}
+
+
+void NimForm::fileNew()
+{
+	OptionsForm * optionsForm = new OptionsForm( this );
+	if ( optionsForm->exec() ) {
+    clearBord( stapelAantal, 0 , 0 );
+    int stapelAantalOptions = optionsForm->stapelsSlider->value();
+	  int stokjesMinOptions = 0;
+    int stokjesMaxOptions = optionsForm->stokjesSlider->value();
+    if ( optionsForm->niveau1RadioButton->isChecked() )
+      { niveauComputer = 1; }
+    else if (optionsForm->niveau2RadioButton->isChecked() )
+      { niveauComputer = 2; }
+    createBord( stapelAantalOptions, stokjesMinOptions, stokjesMaxOptions );
+  }
+	delete optionsForm;	
+}
+
+
+void NimForm::fileQuit()
+{
+	qApp->exit ( 0 );
+}
+
+
+void NimForm::helpHelp()
+{
+
+}
+
+
+void NimForm::helpAbout()
+{
+
+}
+
+//  END SCREEN BUILDING
+// 
+//  BEGIN SPELLETJES
+int NimForm::getStapelAantal( int stapelNumber )
+{
+  return(stapelBox[stapelNumber]->stapelLCDNumber->value());
+}
+
+void NimForm::stapelMin( int stapelNumber , int aantal )
+{
+  //eerst gegevens speler verwerken
+  int tmpOudAantal = getStapelAantal( stapelNumber );
+  int tmpNieuwAantal = 0;
+  if ( (tmpOudAantal == 1) or 
+       (tmpOudAantal == 2) and (aantal == 2) ) 
+  {
+    tmpNieuwAantal = 0;
+    stapelBox[stapelNumber]->stapelMin1PushButton->setEnabled ( FALSE );
+    stapelBox[stapelNumber]->stapelMin2PushButton->setEnabled ( FALSE );
+  }
+  else {
+    tmpNieuwAantal = tmpOudAantal - aantal;
+  }
+  stapelBox[stapelNumber]->stapelLCDNumber->display( tmpNieuwAantal );
+  stapelBox[stapelNumber]->stapelProgressBar->setProgress( tmpNieuwAantal );
+  
+  
+  if ( checkGewonnen ) //speler gewonnen
+  {
+  statusBar()->message("Voila, u heeft gewonnen!");
+  }
+  
+  //dan computer een zet laten doen
+  
+void
+  
+  
+}
+
+
Index: /liacs/pm/qt-nim/nimform.h
===================================================================
--- /liacs/pm/qt-nim/nimform.h	(revision 2)
+++ /liacs/pm/qt-nim/nimform.h	(revision 2)
@@ -0,0 +1,53 @@
+#ifndef NIMFORM_H
+#define NIMFORM_H
+
+#include "stapeldisplay.h"
+
+#include <qmainwindow.h>
+#include <qlabel.h>
+#include <qcheckbutton.h>
+
+class NimForm: public QMainWindow
+{
+	Q_OBJECT
+public:
+	NimForm();
+	~NimForm();
+
+	QPopupMenu *optionsMenu;
+
+ 
+  public slots:
+    void stapelMin( int, int ); //stapelnummer, aantal
+  
+  protected:
+		//virtual void closeEvent( QCloseEvent * );
+
+	private slots:
+		void fileNew();
+		void fileQuit();
+		void helpHelp();
+		void helpAbout();
+  private:
+		StapelGroupBox *stapelBox[20];  //keuze boxjes
+		
+    int stapelAantal;     //Aantal stapel in het spel
+		int stokjesMin;       //Min aantal stokjes (0 altijd)
+    int stokjesMax;       //Max aantal stokjes
+    int niveauComputer;   //Niveau van computer 1=Random, 2=Winnend
+
+    bool showWinnend;     //Laat winnende zet zien
+    
+    void clearBord(int stapelAantalLocal, int stokjesMinLocal, 
+                   int stokjesMaxLocal );
+    void createBord(int stapelAantalLocal, int stokjesMinLocal, 
+                    int stokjesMaxLocal );
+	  int getStapelAantal( int stapelNumber );	
+    bool checkGewonnen( );
+    
+    QPopupMenu *fileMenu;
+		QPopupMenu *helpMenu;
+    
+};
+
+#endif
Index: /liacs/pm/qt-nim/optionsForm.cc
===================================================================
--- /liacs/pm/qt-nim/optionsForm.cc	(revision 2)
+++ /liacs/pm/qt-nim/optionsForm.cc	(revision 2)
@@ -0,0 +1,117 @@
+#include "optionsForm.h"
+#include "const.h"
+
+#include <qvariant.h>
+#include <qpushbutton.h>
+#include <qlabel.h>
+#include <qslider.h>
+#include <qlcdnumber.h>
+#include <qbuttongroup.h>
+#include <qradiobutton.h>
+#include <qlayout.h>
+
+OptionsForm::OptionsForm( QWidget* parent, const char* name, bool modal, WFlags fl )
+    : QDialog( parent, name, modal, fl )
+{
+	if ( !name )
+	setName( "OptionsForm" );
+
+  QWidget* privateLayoutWidget = new QWidget( this, "optionsFormLayout" );
+  privateLayoutWidget->setGeometry( QRect( 10, 10, 252, 282 ) );
+  optionsFormLayout = new QVBoxLayout( privateLayoutWidget, 11, 6, "optionsFormLayout"); 
+
+  stapelLayout = new QHBoxLayout( 0, 0, 6, "stapelLayout"); 
+
+  stapelsLabel = new QLabel( privateLayoutWidget, "stapelsLabel" );
+  stapelLayout->addWidget( stapelsLabel );
+
+  stapelsSlider = new QSlider( privateLayoutWidget, "stapelsSlider" );
+  stapelsSlider->setMinValue( MIN_STAPELS );
+  stapelsSlider->setMaxValue( MAX_STAPELS );
+  stapelsSlider->setValue( START_STAPELS );
+  stapelsSlider->setOrientation( QSlider::Horizontal );
+  stapelLayout->addWidget( stapelsSlider );
+
+  stapelsLCDNumber = new QLCDNumber( privateLayoutWidget, "stapelsLCDNumber" );
+  stapelsLCDNumber->setNumDigits( 2 );
+  stapelsLCDNumber->setProperty( "intValue", START_STAPELS );
+  stapelLayout->addWidget( stapelsLCDNumber );
+  optionsFormLayout->addLayout( stapelLayout );
+  stapels2stokjesSpacer = new QSpacerItem( 20, 30, QSizePolicy::Minimum, QSizePolicy::Expanding );
+  optionsFormLayout->addItem( stapels2stokjesSpacer );
+
+  stokjesLayout = new QHBoxLayout( 0, 0, 6, "stokjesLayout"); 
+
+  stokjesLabel = new QLabel( privateLayoutWidget, "stokjesLabel" );
+  stokjesLayout->addWidget( stokjesLabel );
+
+  stokjesSlider = new QSlider( privateLayoutWidget, "stokjesSlider" );
+  stokjesSlider->setMinValue( MIN_STOKJES );
+  stokjesSlider->setMaxValue( MAX_STOKJES );
+  stokjesSlider->setValue ( START_STOKJES );
+  stokjesSlider->setOrientation( QSlider::Horizontal );
+  stokjesLayout->addWidget( stokjesSlider );
+
+  stokjesLCDNumber = new QLCDNumber( privateLayoutWidget, "stokjesLCDNumber" );
+  stokjesLCDNumber->setNumDigits( 2 );
+  stokjesLCDNumber->setProperty( "intValue", START_STOKJES );
+  stokjesLayout->addWidget( stokjesLCDNumber );
+  optionsFormLayout->addLayout( stokjesLayout );
+  stokjes2niveauSpacer = new QSpacerItem( 20, 30, QSizePolicy::Minimum, QSizePolicy::Expanding );
+  optionsFormLayout->addItem( stokjes2niveauSpacer );
+
+  niveauButtonGroup = new QButtonGroup( privateLayoutWidget, "niveauButtonGroup" );
+
+  niveau1RadioButton = new QRadioButton( niveauButtonGroup, "niveau1RadioButton" );
+  niveau1RadioButton->setGeometry( QRect( 11, 20, 99, 19 ) );
+
+  niveau2RadioButton = new QRadioButton( niveauButtonGroup, "niveau2RadioButton" );
+  niveau2RadioButton->setGeometry( QRect( 11, 45, 99, 19 ) );
+  
+  niveauButtonGroup->setButton(START_NIVEAU - 1);
+	
+	optionsFormLayout->addWidget( niveauButtonGroup );
+  niveau2buttonSpacer = new QSpacerItem( 20, 21, QSizePolicy::Minimum, QSizePolicy::Expanding );
+  optionsFormLayout->addItem( niveau2buttonSpacer );
+
+  buttonLayout = new QHBoxLayout( 0, 0, 6, "buttonLayout"); 
+
+  cancelPushButton = new QPushButton( privateLayoutWidget, "cancelPushButton" );
+  buttonLayout->addWidget( cancelPushButton );
+  cancel2ok = new QSpacerItem( 100, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
+  buttonLayout->addItem( cancel2ok );
+
+  okPushButton = new QPushButton( privateLayoutWidget, "okPushButton" );
+  buttonLayout->addWidget( okPushButton );
+  optionsFormLayout->addLayout( buttonLayout );
+  languageChange();
+  resize( QSize(273, 305).expandedTo(minimumSizeHint()) );
+
+    // signals and slots connections
+    connect( stapelsSlider, SIGNAL( valueChanged(int) ), stapelsLCDNumber, SLOT( display(int) ) );
+    connect( stokjesSlider, SIGNAL( valueChanged(int) ), stokjesLCDNumber, SLOT( display(int) ) );
+    connect( okPushButton, SIGNAL( clicked() ), this, SLOT( accept() ) );
+    connect( cancelPushButton, SIGNAL( clicked() ), this, SLOT( reject() ) );
+}
+
+OptionsForm::~OptionsForm()
+{
+
+}
+
+void OptionsForm::languageChange()
+{
+    setCaption( tr( "Nim --- Opties" ) );
+    stapelsLabel->setText( tr( "Stapels" ) );
+    stokjesLabel->setText( tr( "Stokjes" ) );
+    niveauButtonGroup->setTitle( tr( "Computer Niveau" ) );
+    niveau1RadioButton->setText( tr( "&Random" ) );
+    niveau1RadioButton->setAccel( QKeySequence( tr( "Alt+R" ) ) );
+    niveau2RadioButton->setText( tr( "&Winnend" ) );
+    niveau2RadioButton->setAccel( QKeySequence( tr( "Alt+W" ) ) );
+    cancelPushButton->setText( tr( "&Cancel" ) );
+    cancelPushButton->setAccel( QKeySequence( tr( "Alt+C" ) ) );
+    okPushButton->setText( tr( "&OK" ) );
+    okPushButton->setAccel( QKeySequence( tr( "Alt+O" ) ) );
+}
+
Index: /liacs/pm/qt-nim/optionsForm.h
===================================================================
--- /liacs/pm/qt-nim/optionsForm.h	(revision 2)
+++ /liacs/pm/qt-nim/optionsForm.h	(revision 2)
@@ -0,0 +1,53 @@
+#ifndef OPTIONSFORM_H
+#define OPTIONSFORM_H
+
+#include <qvariant.h>
+#include <qdialog.h>
+
+class QVBoxLayout;
+class QHBoxLayout;
+class QGridLayout;
+class QSpacerItem;
+class QLabel;
+class QSlider;
+class QLCDNumber;
+class QButtonGroup;
+class QRadioButton;
+class QPushButton;
+
+class OptionsForm : public QDialog
+{
+    Q_OBJECT
+
+public:
+    OptionsForm( QWidget* parent = 0, const char* name = 0, bool modal = TRUE, WFlags fl = 0 );
+    ~OptionsForm();
+
+    QLabel* stapelsLabel;
+    QSlider* stapelsSlider;
+    QLCDNumber* stapelsLCDNumber;
+    QLabel* stokjesLabel;
+    QSlider* stokjesSlider;
+    QLCDNumber* stokjesLCDNumber;
+    QButtonGroup* niveauButtonGroup;
+    QRadioButton* niveau1RadioButton;
+    QRadioButton* niveau2RadioButton;
+    QPushButton* cancelPushButton;
+    QPushButton* okPushButton;
+
+protected:
+    QVBoxLayout* optionsFormLayout;
+    QSpacerItem* stapels2stokjesSpacer;
+    QSpacerItem* stokjes2niveauSpacer;
+    QSpacerItem* niveau2buttonSpacer;
+    QHBoxLayout* stapelLayout;
+    QHBoxLayout* stokjesLayout;
+    QHBoxLayout* buttonLayout;
+    QSpacerItem* cancel2ok;
+
+protected slots:
+    virtual void languageChange();
+
+};
+
+#endif // OPTIONSFORM_H
Index: /liacs/pm/qt-nim/qt-nim.pro
===================================================================
--- /liacs/pm/qt-nim/qt-nim.pro	(revision 2)
+++ /liacs/pm/qt-nim/qt-nim.pro	(revision 2)
@@ -0,0 +1,11 @@
+######################################################################
+# Automatically generated by qmake (1.07a) Thu Dec 9 18:33:53 2004
+######################################################################
+
+TEMPLATE = app
+INCLUDEPATH += .
+
+# Input
+CONFIG = qt debug
+HEADERS += const.h nimform.h optionsform.h stapeldisplay.h
+SOURCES += main.cpp nimform.cpp optionsform.cpp stapeldisplay.cpp
Index: /liacs/pm/qt-nim/stapelGroupBox.cc
===================================================================
--- /liacs/pm/qt-nim/stapelGroupBox.cc	(revision 2)
+++ /liacs/pm/qt-nim/stapelGroupBox.cc	(revision 2)
@@ -0,0 +1,76 @@
+#include "stapelGroupBox.h"
+
+#include <qvariant.h>
+#include <qgroupbox.h>
+#include <qpushbutton.h>
+#include <qprogressbar.h>
+#include <qlcdnumber.h>
+#include <qlayout.h>
+StapelGroupBox::StapelGroupBox( QWidget* parent, const char* name )
+    : QGroupBox( parent, name )
+{
+		this->setAlignment( int( QGroupBox::AlignTop ) );
+
+    stapelMin1PushButton = new QPushButton( this, "stapelMin1PushButton" );
+    stapelMin1PushButton->setGeometry( QRect( 11, 21, 51, 27 ) );
+    stapelMin1PushButton->setText( tr ( "-1" ) );
+  
+    stapelMin2PushButton = new QPushButton( this, "stapelMin2PushButton" );
+    stapelMin2PushButton->setGeometry( QRect( 68, 21, 51, 27 ) );
+    stapelMin2PushButton->setText( tr ( "-2" ) );
+    
+    stapelProgressBar = new QProgressBar( this, "stapelProgressBar" );
+    stapelProgressBar->setGeometry( QRect( 125, 23, 161, 22 ) );
+    stapelProgressBar->setPercentageVisible( false );
+    stapelLCDNumber = new QLCDNumber( this, "stapelLCDNumber" );
+    stapelLCDNumber->setGeometry( QRect( 292, 21, 37, 27 ) );
+    stapelLCDNumber->setNumDigits( 2 );
+
+
+    //connections
+    connect( stapelMin1PushButton, SIGNAL(pressed()), 
+             this, SLOT(button1PressedSlot()) );
+    connect( stapelMin2PushButton, SIGNAL(pressed()), 
+             this, SLOT(button2PressedSlot()) );
+    
+    // tab order
+    setTabOrder( stapelMin1PushButton, stapelMin2PushButton );
+}
+
+
+StapelGroupBox::~StapelGroupBox()
+{
+
+}
+
+
+void StapelGroupBox::setXY( int X, int Y )
+{
+	this->setGeometry( X, Y, 341, 60 );
+}
+
+
+void StapelGroupBox::setCaption( int Number )
+{
+  stapelNumber = Number;
+  this->setTitle( tr ( "Stapel " + QString::number( Number , 10 ) ) );
+}
+
+
+void StapelGroupBox::setRange( int Min, int Max )
+{
+  this->stapelProgressBar->setTotalSteps( Max - Min );
+  this->stapelProgressBar->setProgress( Max );
+  this->stapelLCDNumber->display( Max );
+}
+
+//Acties
+void StapelGroupBox::button1PressedSlot( )
+{
+  emit buttonPressed ( stapelNumber , 1 );
+}
+
+void StapelGroupBox::button2PressedSlot( )
+{
+  emit buttonPressed ( stapelNumber , 2 );
+}
Index: /liacs/pm/qt-nim/stapelGroupBox.h
===================================================================
--- /liacs/pm/qt-nim/stapelGroupBox.h	(revision 2)
+++ /liacs/pm/qt-nim/stapelGroupBox.h	(revision 2)
@@ -0,0 +1,37 @@
+#ifndef STAPELGROUPBOX_H
+#define STAPELGROUPBOX_H
+
+#include <qgroupbox.h>
+
+class QPushButton;
+class QProgressBar;
+class QLCDNumber;
+
+class StapelGroupBox : public QGroupBox
+{
+    Q_OBJECT
+
+public:
+    StapelGroupBox( QWidget* parent = 0, const char* name = 0 );
+    ~StapelGroupBox();
+
+		
+    QPushButton* stapelMin1PushButton;
+    QPushButton* stapelMin2PushButton;
+    QProgressBar* stapelProgressBar;
+    QLCDNumber* stapelLCDNumber;
+
+		void setXY( int X , int Y );
+    void setCaption( int Number );
+    void setRange ( int Min, int Max );
+    
+    int stapelNumber;
+
+public slots:
+  void button1PressedSlot( );
+  void button2PressedSlot( );   
+signals:
+    void buttonPressed( int, int ); //stapelnummer,aantal 
+};
+
+#endif 
Index: /liacs/pm/qt-nim/stapeldisplay.cpp
===================================================================
--- /liacs/pm/qt-nim/stapeldisplay.cpp	(revision 2)
+++ /liacs/pm/qt-nim/stapeldisplay.cpp	(revision 2)
@@ -0,0 +1,77 @@
+#include "stapeldisplay.h"
+
+#include <qvariant.h>
+#include <qgroupbox.h>
+#include <qpushbutton.h>
+#include <qprogressbar.h>
+#include <qlcdnumber.h>
+#include <qlayout.h>
+StapelGroupBox::StapelGroupBox( QWidget* parent, const char* name )
+    : QGroupBox( parent, name )
+{
+		this->setAlignment( int( QGroupBox::AlignTop ) );
+
+    stapelMin1PushButton = new QPushButton( this, "stapelMin1PushButton" );
+    stapelMin1PushButton->setGeometry( QRect( 11, 21, 51, 27 ) );
+    stapelMin1PushButton->setText( tr ( "-1" ) );
+  
+    stapelMin2PushButton = new QPushButton( this, "stapelMin2PushButton" );
+    stapelMin2PushButton->setGeometry( QRect( 68, 21, 51, 27 ) );
+    stapelMin2PushButton->setText( tr ( "-2" ) );
+    
+    stapelProgressBar = new QProgressBar( this, "stapelProgressBar" );
+    stapelProgressBar->setGeometry( QRect( 125, 23, 161, 22 ) );
+    stapelProgressBar->setPercentageVisible( false );
+    stapelLCDNumber = new QLCDNumber( this, "stapelLCDNumber" );
+    stapelLCDNumber->setGeometry( QRect( 292, 21, 37, 27 ) );
+    stapelLCDNumber->setNumDigits( 2 );
+
+
+    //connections
+    connect( stapelMin1PushButton, SIGNAL(pressed()), 
+             this, SLOT(button1PressedSlot()) );
+    connect( stapelMin2PushButton, SIGNAL(pressed()), 
+             this, SLOT(button2PressedSlot()) );
+    
+    // tab order
+    setTabOrder( stapelMin1PushButton, stapelMin2PushButton );
+}
+
+
+StapelGroupBox::~StapelGroupBox()
+{
+
+}
+
+
+void StapelGroupBox::setXY( int X, int Y )
+{
+	this->setGeometry( X, Y, 341, 60 );
+}
+
+
+void StapelGroupBox::setCaption( int Number )
+{
+  stapelNumber = Number;
+  this->setTitle( tr ( "Stapel " + QString::number( Number , 10 ) ) );
+}
+
+
+void StapelGroupBox::setRange( int Min, int Max )
+{
+  this->stapelProgressBar->setTotalSteps( Max - Min );
+  this->stapelProgressBar->setProgress( Max );
+  this->stapelLCDNumber->display( Max );
+  stapelAantal = Max - Min;
+}
+
+//Acties
+void StapelGroupBox::button1PressedSlot( )
+{
+  emit buttonPressed ( stapelNumber , 1 );
+}
+
+void StapelGroupBox::button2PressedSlot( )
+{
+  emit buttonPressed ( stapelNumber , 2 );
+}
Index: /liacs/pm/qt-nim/stapeldisplay.h
===================================================================
--- /liacs/pm/qt-nim/stapeldisplay.h	(revision 2)
+++ /liacs/pm/qt-nim/stapeldisplay.h	(revision 2)
@@ -0,0 +1,37 @@
+#ifndef STAPELGROUPBOX_H
+#define STAPELGROUPBOX_H
+
+#include <qgroupbox.h>
+
+class QPushButton;
+class QProgressBar;
+class QLCDNumber;
+
+class StapelGroupBox : public QGroupBox
+{
+    Q_OBJECT
+
+public:
+    StapelGroupBox( QWidget* parent = 0, const char* name = 0 );
+    ~StapelGroupBox();
+
+		
+    QPushButton* stapelMin1PushButton;
+    QPushButton* stapelMin2PushButton;
+    QProgressBar* stapelProgressBar;
+    QLCDNumber* stapelLCDNumber;
+
+		void setXY( int X , int Y );
+    void setCaption( int Number );
+    void setRange ( int Min, int Max );
+    
+    int stapelNumber;
+    int stapelAantal; 
+public slots:
+  void button1PressedSlot( );
+  void button2PressedSlot( );   
+signals:
+    void buttonPressed( int, int ); //stapelnummer,aantal 
+};
+
+#endif 
Index: /liacs/pm/qt-nim2/.kdbgrc.qt-nim
===================================================================
--- /liacs/pm/qt-nim2/.kdbgrc.qt-nim	(revision 2)
+++ /liacs/pm/qt-nim2/.kdbgrc.qt-nim	(revision 2)
@@ -0,0 +1,16 @@
+[Breakpoint 0]
+Enabled=true
+File=nimform.cpp
+Line=56
+Temporary=false
+
+[General]
+DebuggerCmdStr=
+FileVersion=1
+ProgramArgs=
+TTYLevel=7
+WorkingDirectory=
+
+[Memory]
+ColumnWidths=80,0
+NumExprs=0
Index: /liacs/pm/qt-nim2/.qmake.internal.cache
===================================================================
--- /liacs/pm/qt-nim2/.qmake.internal.cache	(revision 2)
+++ /liacs/pm/qt-nim2/.qmake.internal.cache	(revision 2)
@@ -0,0 +1,25 @@
+[check]
+QMAKE_CACHE_VERSION = 1.02a
+QMAKE_ABSOLUTE_SOURCE_PATH = 
+MOC_DIR = 
+UI_DIR = 
+UI_HEADERS_DIR = 
+UI_SOURCES_DIR = 
+[depend]
+const.h = 
+main.cpp = nimform.h stapeldisplay.h
+nimform.cpp = nimform.h optionsform.h stapeldisplay.h
+nimform.h = stapeldisplay.h
+optionsform.cpp = optionsform.h const.h
+optionsform.h = 
+stapeldisplay.cpp = stapeldisplay.h
+stapeldisplay.h = 
+[mocable]
+const.h = *qmake_ignore*
+nimform.h = moc_nimform.cpp
+optionsform.h = moc_optionsform.cpp
+stapeldisplay.h = moc_stapeldisplay.cpp
+main.cpp = *qmake_ignore*
+nimform.cpp = *qmake_ignore*
+optionsform.cpp = *qmake_ignore*
+stapeldisplay.cpp = *qmake_ignore*
Index: /liacs/pm/qt-nim2/Makefile
===================================================================
--- /liacs/pm/qt-nim2/Makefile	(revision 2)
+++ /liacs/pm/qt-nim2/Makefile	(revision 2)
@@ -0,0 +1,163 @@
+#############################################################################
+# Makefile for building: qt-nim
+# Generated by qmake (1.03a) on: Fri Dec 10 10:02:16 2004
+# Project:  qt-nim.pro
+# Template: app
+# Command: $(QMAKE) qt-nim.pro
+#############################################################################
+
+####### Compiler, tools and options
+
+CC       = gcc
+CXX      = g++
+LEX      = flex
+YACC     = yacc
+CFLAGS   = -pipe -g  
+CXXFLAGS = -pipe -g  
+LEXFLAGS = 
+YACCFLAGS= -d
+INCPATH  = -I. -I$(QTDIR)/include -I$(QTDIR)/mkspecs/default
+LINK     = g++
+LFLAGS   = 
+LIBS     = $(SUBLIBS)  -L$(QTDIR)/lib  -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm
+AR       = ar cqs
+RANLIB   = 
+MOC      = $(QTDIR)/bin/moc
+UIC      = $(QTDIR)/bin/uic
+QMAKE    = qmake
+TAR      = tar -cf
+GZIP     = gzip -9f
+COPY     = cp -f
+COPY_FILE= $(COPY) -p
+COPY_DIR = $(COPY) -pR
+DEL_FILE = rm -f
+SYMLINK  = ln -sf
+DEL_DIR  = rmdir
+MOVE     = mv
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+HEADERS = const.h \
+		nimform.h \
+		optionsform.h \
+		stapeldisplay.h
+SOURCES = main.cpp \
+		nimform.cpp \
+		optionsform.cpp \
+		stapeldisplay.cpp
+OBJECTS = main.o \
+		nimform.o \
+		optionsform.o \
+		stapeldisplay.o
+FORMS = 
+UICDECLS = 
+UICIMPLS = 
+SRCMOC   = moc_nimform.cpp \
+		moc_optionsform.cpp \
+		moc_stapeldisplay.cpp
+OBJMOC = moc_nimform.o \
+		moc_optionsform.o \
+		moc_stapeldisplay.o
+DIST	   = qt-nim.pro
+QMAKE_TARGET = qt-nim
+DESTDIR  = 
+TARGET   = qt-nim
+
+first: all
+####### Implicit rules
+
+.SUFFIXES: .c .cpp .cc .cxx .C
+
+.cpp.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.cc.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.cxx.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.C.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.c.o:
+	$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
+
+####### Build rules
+
+all: Makefile $(TARGET)
+
+$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) 
+	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)
+
+mocables: $(SRCMOC)
+
+$(MOC): 
+	( cd $(QTDIR)/src/moc ; $(MAKE) )
+
+Makefile: qt-nim.pro  $(QTDIR)/mkspecs/default/qmake.conf 
+	$(QMAKE) qt-nim.pro
+qmake: 
+	@$(QMAKE) qt-nim.pro
+
+dist: 
+	@mkdir -p .tmp/qt-nim && $(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) .tmp/qt-nim/ && ( cd `dirname .tmp/qt-nim` && $(TAR) qt-nim.tar qt-nim && $(GZIP) qt-nim.tar ) && $(MOVE) `dirname .tmp/qt-nim`/qt-nim.tar.gz . && $(DEL_DIR) .tmp/qt-nim
+
+mocclean:
+	-$(DEL_FILE) $(OBJMOC)
+	-$(DEL_FILE) $(SRCMOC)
+
+uiclean:
+
+clean: mocclean
+	-$(DEL_FILE) $(OBJECTS) 
+	-$(DEL_FILE) *~ core *.core
+
+
+####### Sub-libraries
+
+distclean: clean
+	-$(DEL_FILE) $(TARGET) $(TARGET)
+
+
+FORCE:
+
+####### Compile
+
+main.o: main.cpp nimform.h \
+		stapeldisplay.h
+
+nimform.o: nimform.cpp nimform.h \
+		optionsform.h \
+		stapeldisplay.h
+
+optionsform.o: optionsform.cpp optionsform.h \
+		const.h
+
+stapeldisplay.o: stapeldisplay.cpp stapeldisplay.h
+
+moc_nimform.o: moc_nimform.cpp nimform.h stapeldisplay.h
+
+moc_optionsform.o: moc_optionsform.cpp optionsform.h 
+
+moc_stapeldisplay.o: moc_stapeldisplay.cpp stapeldisplay.h 
+
+moc_nimform.cpp: $(MOC) nimform.h
+	$(MOC) nimform.h -o moc_nimform.cpp
+
+moc_optionsform.cpp: $(MOC) optionsform.h
+	$(MOC) optionsform.h -o moc_optionsform.cpp
+
+moc_stapeldisplay.cpp: $(MOC) stapeldisplay.h
+	$(MOC) stapeldisplay.h -o moc_stapeldisplay.cpp
+
+####### Install
+
+install: all 
+
+uninstall: 
+
Index: /liacs/pm/qt-nim2/const.h
===================================================================
--- /liacs/pm/qt-nim2/const.h	(revision 2)
+++ /liacs/pm/qt-nim2/const.h	(revision 2)
@@ -0,0 +1,15 @@
+#ifndef CONSTANTEN_H
+#define CONSTANTEN_H
+
+//bepaal de grenzen van het speelbord
+#define MIN_STAPELS 		1
+#define MIN_STOKJES			1
+#define MAX_STAPELS 		20
+#define MAX_STOKJES			20
+
+//bepaal beginwaarden van keuze menu
+#define	START_STAPELS	  5 
+#define START_STOKJES		5
+#define START_NIVEAU		2
+
+#endif
Index: /liacs/pm/qt-nim2/main.cpp
===================================================================
--- /liacs/pm/qt-nim2/main.cpp	(revision 2)
+++ /liacs/pm/qt-nim2/main.cpp	(revision 2)
@@ -0,0 +1,12 @@
+#include <qapplication.h>
+#include "nimform.h"
+
+int main( int argc, char *argv[] )
+{
+	QApplication app( argc, argv );
+	NimForm *nf = new NimForm( );
+	app.setMainWidget( nf );
+	nf->show();
+
+	return app.exec();
+}
Index: /liacs/pm/qt-nim2/nimform.cpp
===================================================================
--- /liacs/pm/qt-nim2/nimform.cpp	(revision 2)
+++ /liacs/pm/qt-nim2/nimform.cpp	(revision 2)
@@ -0,0 +1,188 @@
+#include "nimform.h"
+#include "optionsform.h"
+#include "stapeldisplay.h"
+#include "const.h"
+
+#include <qaction.h>
+#include <qapplication.h>
+#include <qlcdnumber.h>
+#include <qmenubar.h>
+#include <qmessagebox.h>
+#include <qpopupmenu.h>
+#include <qpushbutton.h>
+#include <qprogressbar.h>
+#include <qradiobutton.h>
+#include <qslider.h>
+#include <qstatusbar.h>
+
+NimForm::NimForm( )
+	: QMainWindow( 0, 0, WDestructiveClose)
+{
+	QAction *fileNewAction;
+	QAction *fileQuitAction;
+
+	fileNewAction = new QAction(
+					"New Game",
+					"&New", CTRL+Key_N,this, "new");
+	connect( fileNewAction, SIGNAL( activated() ), 
+           this, SLOT( fileNew() ) );
+
+	fileQuitAction = new QAction( 
+					"Quit", 
+					"&Quit", CTRL+Key_Q, this, "quit" );
+  connect( fileQuitAction, SIGNAL( activated() ), 
+           this, SLOT( fileQuit() ) );
+
+	fileMenu = new QPopupMenu( this );
+	menuBar()->insertItem( "&File", fileMenu );
+	fileNewAction->addTo( fileMenu );
+	fileQuitAction->addTo ( fileMenu );
+
+	QAction *helpHelpAction;
+	QAction *helpAboutAction;
+
+	helpHelpAction = new QAction(
+					"H&elp",
+					"H&elp", CTRL+Key_H,this, "help");
+	connect( helpHelpAction, SIGNAL( activated() ), 
+           this, SLOT( helpHelp() ) );
+
+	helpAboutAction = new QAction(
+					"&About",
+					"&About", CTRL+Key_A,this, "about");
+	connect( helpAboutAction, SIGNAL( activated() ), 
+           this, SLOT( helpAbout() ) );
+
+	helpMenu = new QPopupMenu( this );
+	menuBar()->insertItem( "&Help", helpMenu );
+	helpHelpAction->addTo ( helpMenu );
+	helpAboutAction->addTo ( helpMenu );
+
+ 
+  statusBar()->message( "Welcome to Nim");
+  resize( QSize(600, 480).expandedTo(minimumSizeHint()) );
+  clearWState( WState_Polished );
+  
+  //global var standard value
+  for(int i = 0; i < MAX_STAPELS; i++) { stapelBox[i] = NULL; }
+  stapelAantal = -1;
+  stokjesMin = 0;
+  stokjesMax = 0;
+  niveauComputer = 0;
+}
+
+
+NimForm::~NimForm()
+{
+	
+}
+
+void NimForm::clearBord( int stapelAantalLocal, int stokjesMinLocal, 
+                        int stokjesMaxLocal ) 
+{
+  stapelAantal = stapelAantalLocal;
+  stokjesMin = stokjesMinLocal;
+  stokjesMax = stokjesMaxLocal;
+
+  for(int i = 0; i < stapelAantalLocal; i++) {
+    if (not( stapelBox[i] == NULL )) {delete stapelBox[i];}
+  }
+}
+
+void NimForm::createBord( int stapelAantalLocal, int stokjesMinLocal, 
+                          int stokjesMaxLocal )
+{
+  int Y = -30;        //xcoord
+	int X = 10;         //ycoord
+  int tmpAantal = 0;  //aantal onthouden ivm met rijen
+
+  stapelAantal = stapelAantalLocal;
+  stokjesMin = stokjesMinLocal;
+  stokjesMax = stokjesMaxLocal;
+  
+  for(int i = 0; i < stapelAantalLocal; i++) {
+    if (tmpAantal == 10) {
+      X = X + 360;
+      Y = 40;
+      tmpAantal = 1;
+    }
+    else {
+      tmpAantal++;
+      Y = Y + 70;
+    }
+    stapelBox[i] = new StapelGroupBox( this, "stapelGroupBox" );
+    stapelBox[i]->setXY( X, Y );
+    stapelBox[i]->setRange( stokjesMinLocal, stokjesMaxLocal );
+	  stapelBox[i]->setCaption(i);
+    connect( stapelBox[i], SIGNAL( buttonPressed(int,int) ), 
+             this, SLOT( stapelMin(int,int) ) );
+    stapelBox[i]->show();
+  }
+  resize( QSize(600, 480).expandedTo(minimumSizeHint()) );
+  clearWState( WState_Polished );
+}
+
+
+//void NimForm::closeEvent( QCloseEvent * )
+//{
+//
+//}
+
+
+void NimForm::fileNew()
+{
+	OptionsForm * optionsForm = new OptionsForm( this );
+	if ( optionsForm->exec() ) {
+    clearBord( stapelAantal, 0 , 0 );
+    int stapelAantalOptions = optionsForm->stapelsSlider->value();
+	  int stokjesMinOptions = 0;
+    int stokjesMaxOptions = optionsForm->stokjesSlider->value();
+    if ( optionsForm->niveau1RadioButton->isChecked() )
+      { niveauComputer = 1; }
+    else if (optionsForm->niveau2RadioButton->isChecked() )
+      { niveauComputer = 2; }
+    createBord( stapelAantalOptions, stokjesMinOptions, stokjesMaxOptions );
+  }
+	delete optionsForm;	
+}
+
+
+void NimForm::fileQuit()
+{
+	qApp->exit ( 0 );
+}
+
+
+void NimForm::helpHelp()
+{
+
+}
+
+
+void NimForm::helpAbout()
+{
+
+}
+
+void NimForm::stapelMin( int stapelNumber , int aantal )
+{
+  int tmpOudAantal = getStapelAantal( stapelNumber );
+  int tmpNieuwAantal = 0;
+  if ( (tmpOudAantal == 1) or 
+       (tmpOudAantal == 2) and (aantal == 2) ) 
+  {
+    tmpNieuwAantal = 0;
+    stapelBox[stapelNumber]->stapelMin1PushButton->setEnabled ( FALSE );
+    stapelBox[stapelNumber]->stapelMin2PushButton->setEnabled ( FALSE );
+  }
+  else {
+    tmpNieuwAantal = tmpOudAantal - aantal;
+  }
+  stapelBox[stapelNumber]->stapelLCDNumber->display( tmpNieuwAantal );
+  stapelBox[stapelNumber]->stapelProgressBar->setProgress( tmpNieuwAantal );
+}
+
+int NimForm::getStapelAantal( int stapelNumber )
+{
+  return(stapelBox[stapelNumber]->stapelLCDNumber->value());
+}
Index: /liacs/pm/qt-nim2/nimform.h
===================================================================
--- /liacs/pm/qt-nim2/nimform.h	(revision 2)
+++ /liacs/pm/qt-nim2/nimform.h	(revision 2)
@@ -0,0 +1,43 @@
+#ifndef NIMFORM_H
+#define NIMFORM_H
+
+#include "stapeldisplay.h"
+
+#include <qmainwindow.h>
+
+class NimForm: public QMainWindow
+{
+	Q_OBJECT
+public:
+	NimForm();
+	~NimForm();
+
+	QPopupMenu *optionsMenu;
+
+ 
+  public slots:
+    void stapelMin( int, int ); //stapelnummer, aantal
+  
+  protected:
+		//virtual void closeEvent( QCloseEvent * );
+
+	private slots:
+		void fileNew();
+		void fileQuit();
+		void helpHelp();
+		void helpAbout();
+  private:
+		int stapelAantal;
+		int stokjesMin;
+    int stokjesMax;
+    int niveauComputer;
+		StapelGroupBox *stapelBox[20];
+
+    void clearBord(int stapelAantalLocal, int stokjesMinLocal, int stokjesMaxLocal );
+    void createBord(int stapelAantalLocal, int stokjesMinLocal, int stokjesMaxLocal );
+	  int getStapelAantal( int stapelNumber );	
+    QPopupMenu *fileMenu;
+		QPopupMenu *helpMenu;
+};
+
+#endif
Index: /liacs/pm/qt-nim2/optionsform.cpp
===================================================================
--- /liacs/pm/qt-nim2/optionsform.cpp	(revision 2)
+++ /liacs/pm/qt-nim2/optionsform.cpp	(revision 2)
@@ -0,0 +1,117 @@
+#include "optionsform.h"
+#include "const.h"
+
+#include <qvariant.h>
+#include <qpushbutton.h>
+#include <qlabel.h>
+#include <qslider.h>
+#include <qlcdnumber.h>
+#include <qbuttongroup.h>
+#include <qradiobutton.h>
+#include <qlayout.h>
+
+OptionsForm::OptionsForm( QWidget* parent, const char* name, bool modal, WFlags fl )
+    : QDialog( parent, name, modal, fl )
+{
+	if ( !name )
+	setName( "OptionsForm" );
+
+  QWidget* privateLayoutWidget = new QWidget( this, "optionsFormLayout" );
+  privateLayoutWidget->setGeometry( QRect( 10, 10, 252, 282 ) );
+  optionsFormLayout = new QVBoxLayout( privateLayoutWidget, 11, 6, "optionsFormLayout"); 
+
+  stapelLayout = new QHBoxLayout( 0, 0, 6, "stapelLayout"); 
+
+  stapelsLabel = new QLabel( privateLayoutWidget, "stapelsLabel" );
+  stapelLayout->addWidget( stapelsLabel );
+
+  stapelsSlider = new QSlider( privateLayoutWidget, "stapelsSlider" );
+  stapelsSlider->setMinValue( MIN_STAPELS );
+  stapelsSlider->setMaxValue( MAX_STAPELS );
+  stapelsSlider->setValue( START_STAPELS );
+  stapelsSlider->setOrientation( QSlider::Horizontal );
+  stapelLayout->addWidget( stapelsSlider );
+
+  stapelsLCDNumber = new QLCDNumber( privateLayoutWidget, "stapelsLCDNumber" );
+  stapelsLCDNumber->setNumDigits( 2 );
+  stapelsLCDNumber->setProperty( "intValue", START_STAPELS );
+  stapelLayout->addWidget( stapelsLCDNumber );
+  optionsFormLayout->addLayout( stapelLayout );
+  stapels2stokjesSpacer = new QSpacerItem( 20, 30, QSizePolicy::Minimum, QSizePolicy::Expanding );
+  optionsFormLayout->addItem( stapels2stokjesSpacer );
+
+  stokjesLayout = new QHBoxLayout( 0, 0, 6, "stokjesLayout"); 
+
+  stokjesLabel = new QLabel( privateLayoutWidget, "stokjesLabel" );
+  stokjesLayout->addWidget( stokjesLabel );
+
+  stokjesSlider = new QSlider( privateLayoutWidget, "stokjesSlider" );
+  stokjesSlider->setMinValue( MIN_STOKJES );
+  stokjesSlider->setMaxValue( MAX_STOKJES );
+  stokjesSlider->setValue ( START_STOKJES );
+  stokjesSlider->setOrientation( QSlider::Horizontal );
+  stokjesLayout->addWidget( stokjesSlider );
+
+  stokjesLCDNumber = new QLCDNumber( privateLayoutWidget, "stokjesLCDNumber" );
+  stokjesLCDNumber->setNumDigits( 2 );
+  stokjesLCDNumber->setProperty( "intValue", START_STOKJES );
+  stokjesLayout->addWidget( stokjesLCDNumber );
+  optionsFormLayout->addLayout( stokjesLayout );
+  stokjes2niveauSpacer = new QSpacerItem( 20, 30, QSizePolicy::Minimum, QSizePolicy::Expanding );
+  optionsFormLayout->addItem( stokjes2niveauSpacer );
+
+  niveauButtonGroup = new QButtonGroup( privateLayoutWidget, "niveauButtonGroup" );
+
+  niveau1RadioButton = new QRadioButton( niveauButtonGroup, "niveau1RadioButton" );
+  niveau1RadioButton->setGeometry( QRect( 11, 20, 99, 19 ) );
+
+  niveau2RadioButton = new QRadioButton( niveauButtonGroup, "niveau2RadioButton" );
+  niveau2RadioButton->setGeometry( QRect( 11, 45, 99, 19 ) );
+  
+  niveauButtonGroup->setButton(START_NIVEAU - 1);
+	
+	optionsFormLayout->addWidget( niveauButtonGroup );
+  niveau2buttonSpacer = new QSpacerItem( 20, 21, QSizePolicy::Minimum, QSizePolicy::Expanding );
+  optionsFormLayout->addItem( niveau2buttonSpacer );
+
+  buttonLayout = new QHBoxLayout( 0, 0, 6, "buttonLayout"); 
+
+  cancelPushButton = new QPushButton( privateLayoutWidget, "cancelPushButton" );
+  buttonLayout->addWidget( cancelPushButton );
+  cancel2ok = new QSpacerItem( 100, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
+  buttonLayout->addItem( cancel2ok );
+
+  okPushButton = new QPushButton( privateLayoutWidget, "okPushButton" );
+  buttonLayout->addWidget( okPushButton );
+  optionsFormLayout->addLayout( buttonLayout );
+  languageChange();
+  resize( QSize(273, 305).expandedTo(minimumSizeHint()) );
+
+    // signals and slots connections
+    connect( stapelsSlider, SIGNAL( valueChanged(int) ), stapelsLCDNumber, SLOT( display(int) ) );
+    connect( stokjesSlider, SIGNAL( valueChanged(int) ), stokjesLCDNumber, SLOT( display(int) ) );
+    connect( okPushButton, SIGNAL( clicked() ), this, SLOT( accept() ) );
+    connect( cancelPushButton, SIGNAL( clicked() ), this, SLOT( reject() ) );
+}
+
+OptionsForm::~OptionsForm()
+{
+
+}
+
+void OptionsForm::languageChange()
+{
+    setCaption( tr( "Nim --- Opties" ) );
+    stapelsLabel->setText( tr( "Stapels" ) );
+    stokjesLabel->setText( tr( "Stokjes" ) );
+    niveauButtonGroup->setTitle( tr( "Computer Niveau" ) );
+    niveau1RadioButton->setText( tr( "&Random" ) );
+    niveau1RadioButton->setAccel( QKeySequence( tr( "Alt+R" ) ) );
+    niveau2RadioButton->setText( tr( "&Winnend" ) );
+    niveau2RadioButton->setAccel( QKeySequence( tr( "Alt+W" ) ) );
+    cancelPushButton->setText( tr( "&Cancel" ) );
+    cancelPushButton->setAccel( QKeySequence( tr( "Alt+C" ) ) );
+    okPushButton->setText( tr( "&OK" ) );
+    okPushButton->setAccel( QKeySequence( tr( "Alt+O" ) ) );
+}
+
Index: /liacs/pm/qt-nim2/optionsform.h
===================================================================
--- /liacs/pm/qt-nim2/optionsform.h	(revision 2)
+++ /liacs/pm/qt-nim2/optionsform.h	(revision 2)
@@ -0,0 +1,53 @@
+#ifndef OPTIONSFORM_H
+#define OPTIONSFORM_H
+
+#include <qvariant.h>
+#include <qdialog.h>
+
+class QVBoxLayout;
+class QHBoxLayout;
+class QGridLayout;
+class QSpacerItem;
+class QLabel;
+class QSlider;
+class QLCDNumber;
+class QButtonGroup;
+class QRadioButton;
+class QPushButton;
+
+class OptionsForm : public QDialog
+{
+    Q_OBJECT
+
+public:
+    OptionsForm( QWidget* parent = 0, const char* name = 0, bool modal = TRUE, WFlags fl = 0 );
+    ~OptionsForm();
+
+    QLabel* stapelsLabel;
+    QSlider* stapelsSlider;
+    QLCDNumber* stapelsLCDNumber;
+    QLabel* stokjesLabel;
+    QSlider* stokjesSlider;
+    QLCDNumber* stokjesLCDNumber;
+    QButtonGroup* niveauButtonGroup;
+    QRadioButton* niveau1RadioButton;
+    QRadioButton* niveau2RadioButton;
+    QPushButton* cancelPushButton;
+    QPushButton* okPushButton;
+
+protected:
+    QVBoxLayout* optionsFormLayout;
+    QSpacerItem* stapels2stokjesSpacer;
+    QSpacerItem* stokjes2niveauSpacer;
+    QSpacerItem* niveau2buttonSpacer;
+    QHBoxLayout* stapelLayout;
+    QHBoxLayout* stokjesLayout;
+    QHBoxLayout* buttonLayout;
+    QSpacerItem* cancel2ok;
+
+protected slots:
+    virtual void languageChange();
+
+};
+
+#endif // OPTIONSFORM_H
Index: /liacs/pm/qt-nim2/qt-nim.pro
===================================================================
--- /liacs/pm/qt-nim2/qt-nim.pro	(revision 2)
+++ /liacs/pm/qt-nim2/qt-nim.pro	(revision 2)
@@ -0,0 +1,11 @@
+######################################################################
+# Automatically generated by qmake (1.07a) Thu Dec 9 18:33:53 2004
+######################################################################
+
+TEMPLATE = app
+INCLUDEPATH += .
+
+# Input
+CONFIG = qt debug
+HEADERS += const.h nimform.h optionsform.h stapeldisplay.h
+SOURCES += main.cpp nimform.cpp optionsform.cpp stapeldisplay.cpp
Index: /liacs/pm/qt-nim2/stapeldisplay.cpp
===================================================================
--- /liacs/pm/qt-nim2/stapeldisplay.cpp	(revision 2)
+++ /liacs/pm/qt-nim2/stapeldisplay.cpp	(revision 2)
@@ -0,0 +1,77 @@
+#include "stapeldisplay.h"
+
+#include <qvariant.h>
+#include <qgroupbox.h>
+#include <qpushbutton.h>
+#include <qprogressbar.h>
+#include <qlcdnumber.h>
+#include <qlayout.h>
+StapelGroupBox::StapelGroupBox( QWidget* parent, const char* name )
+    : QGroupBox( parent, name )
+{
+		this->setAlignment( int( QGroupBox::AlignTop ) );
+
+    stapelMin1PushButton = new QPushButton( this, "stapelMin1PushButton" );
+    stapelMin1PushButton->setGeometry( QRect( 11, 21, 51, 27 ) );
+    stapelMin1PushButton->setText( tr ( "-1" ) );
+  
+    stapelMin2PushButton = new QPushButton( this, "stapelMin2PushButton" );
+    stapelMin2PushButton->setGeometry( QRect( 68, 21, 51, 27 ) );
+    stapelMin2PushButton->setText( tr ( "-2" ) );
+    
+    stapelProgressBar = new QProgressBar( this, "stapelProgressBar" );
+    stapelProgressBar->setGeometry( QRect( 125, 23, 161, 22 ) );
+    stapelProgressBar->setPercentageVisible( false );
+    stapelLCDNumber = new QLCDNumber( this, "stapelLCDNumber" );
+    stapelLCDNumber->setGeometry( QRect( 292, 21, 37, 27 ) );
+    stapelLCDNumber->setNumDigits( 2 );
+
+
+    //connections
+    connect( stapelMin1PushButton, SIGNAL(pressed()), 
+             this, SLOT(button1PressedSlot()) );
+    connect( stapelMin2PushButton, SIGNAL(pressed()), 
+             this, SLOT(button2PressedSlot()) );
+    
+    // tab order
+    setTabOrder( stapelMin1PushButton, stapelMin2PushButton );
+}
+
+
+StapelGroupBox::~StapelGroupBox()
+{
+
+}
+
+
+void StapelGroupBox::setXY( int X, int Y )
+{
+	this->setGeometry( X, Y, 341, 60 );
+}
+
+
+void StapelGroupBox::setCaption( int Number )
+{
+  stapelNumber = Number;
+  this->setTitle( tr ( "Stapel " + QString::number( Number , 10 ) ) );
+}
+
+
+void StapelGroupBox::setRange( int Min, int Max )
+{
+  this->stapelProgressBar->setTotalSteps( Max - Min );
+  this->stapelProgressBar->setProgress( Max );
+  this->stapelLCDNumber->display( Max );
+  stapelAantal = Max - Min;
+}
+
+//Acties
+void StapelGroupBox::button1PressedSlot( )
+{
+  emit buttonPressed ( stapelNumber , 1 );
+}
+
+void StapelGroupBox::button2PressedSlot( )
+{
+  emit buttonPressed ( stapelNumber , 2 );
+}
Index: /liacs/pm/qt-nim2/stapeldisplay.h
===================================================================
--- /liacs/pm/qt-nim2/stapeldisplay.h	(revision 2)
+++ /liacs/pm/qt-nim2/stapeldisplay.h	(revision 2)
@@ -0,0 +1,37 @@
+#ifndef STAPELGROUPBOX_H
+#define STAPELGROUPBOX_H
+
+#include <qgroupbox.h>
+
+class QPushButton;
+class QProgressBar;
+class QLCDNumber;
+
+class StapelGroupBox : public QGroupBox
+{
+    Q_OBJECT
+
+public:
+    StapelGroupBox( QWidget* parent = 0, const char* name = 0 );
+    ~StapelGroupBox();
+
+		
+    QPushButton* stapelMin1PushButton;
+    QPushButton* stapelMin2PushButton;
+    QProgressBar* stapelProgressBar;
+    QLCDNumber* stapelLCDNumber;
+
+		void setXY( int X , int Y );
+    void setCaption( int Number );
+    void setRange ( int Min, int Max );
+    
+    int stapelNumber;
+    int stapelAantal; 
+public slots:
+  void button1PressedSlot( );
+  void button2PressedSlot( );   
+signals:
+    void buttonPressed( int, int ); //stapelnummer,aantal 
+};
+
+#endif 
Index: /liacs/pm/qt_test/test.cc
===================================================================
--- /liacs/pm/qt_test/test.cc	(revision 2)
+++ /liacs/pm/qt_test/test.cc	(revision 2)
@@ -0,0 +1,100 @@
+#include <iostream>
+
+using namespace std;
+int stapel[3];
+
+
+//Controleer of er precies 1 stapel is met een waarde lager dan 2
+//Begin standaard met true en controleer op foute waardes
+bool afgelopen() {
+  bool einde = true;
+  int stapelsMetWaarde = 0;
+  int totaalWaarde = 0;
+  for( int ctr=0; ctr < 3; ctr++ ) {
+    if( stapel[ctr] > 0 ) {
+      totaalWaarde = totaalWaarde + stapel[ctr];
+      stapelsMetWaarde++;
+      if( (totaalWaarde > 2) or (stapelsMetWaarde > 1) ) {
+        einde = false;
+        break;
+      } //end if
+    } //end if not 0
+  } //end loop
+  return(einde);
+}
+
+
+//Controleer of een pad zeker winnend is
+bool winstRecur( bool aanBeurt ) {
+  bool winst1 = false;
+  bool winst2 = false;
+  aanBeurt = not(aanBeurt);
+  if( afgelopen() ) {
+    if( aanBeurt ) {
+      return(true);
+    }
+    else {
+      return(false);
+    }
+  }
+  else {
+    for( int ctr=0; ctr < 3; ctr++ ) {
+      if( stapel[ctr] > 0 ) {
+        if( stapel[ctr] > 1 ) {
+          stapel[ctr] = stapel[ctr] - 2;
+          winst2 = winstRecur( aanBeurt );
+          stapel[ctr] = stapel[ctr] + 2;
+        } //end if (test met 2)
+        stapel[ctr] = stapel[ctr] - 1;
+        winst1 = winstRecur( aanBeurt );
+        stapel[ctr] = stapel[ctr] + 1;
+      } //end if (groter dan 0)
+      if( winst1 & winst2 ) {
+        return(true);
+      } //end if (winst test)
+    } //end for loop
+    return(false);
+  }
+}
+
+
+//Deze functie creert alle mogelijk vervolg zetten, en test deze op
+//winnend
+void winnend( int & stapelNummer, int & aantal ) {
+  bool winst;
+  for( int ctr=0; ctr < 3; ctr++ ) {
+    if( stapel[ctr] > 0 ) {
+      if( stapel[ctr] > 1) {
+        stapel[ctr] = stapel[ctr] - 2;
+        winst = winstRecur( "false" );
+        stapel[ctr] = stapel[ctr] + 2;
+        if( winst ) {
+          stapelNummer = ctr;
+          aantal = 2;
+          return;
+        } //winst 2
+      }
+      stapel[ctr] = stapel[ctr] - 1;
+      winst = winstRecur( "false" );
+      stapel[ctr] = stapel[ctr] + 1;
+      if( winst ) {
+        stapelNummer = ctr;
+        aantal = 1;
+        return;
+      } //winst 1
+    } //not null
+  } //loop for
+  stapelNummer = -1;
+  aantal = -1;
+} //end winnnend
+
+
+int main() {
+  stapel[0] = 4;
+  stapel[1] = 0;
+  stapel[2] = 0;
+  int a, t;
+  winnend(a,t);
+  cout << a << " " << t;
+}
+
Index: /liacs/pm/qt_works/qt_works.pro
===================================================================
--- /liacs/pm/qt_works/qt_works.pro	(revision 2)
+++ /liacs/pm/qt_works/qt_works.pro	(revision 2)
@@ -0,0 +1,10 @@
+######################################################################
+# Automatically generated by qmake (1.07a) Wed Dec 8 15:37:57 2004
+######################################################################
+
+TEMPLATE = app
+CONFIG -= moc
+INCLUDEPATH += .
+
+# Input
+SOURCES += test.cpp
Index: /liacs/pm/qt_works/test.cpp
===================================================================
--- /liacs/pm/qt_works/test.cpp	(revision 2)
+++ /liacs/pm/qt_works/test.cpp	(revision 2)
@@ -0,0 +1,61 @@
+/****************************************************************
+**
+** Qt tutorial 6
+**
+****************************************************************/
+
+#include <qapplication.h>
+#include <qpushbutton.h>
+#include <qslider.h>
+#include <qlcdnumber.h>
+#include <qfont.h>
+#include <qvbox.h>
+#include <qgrid.h>
+
+class LCDRange : public QVBox
+{
+public:
+    LCDRange( QWidget *parent=0, const char *name=0 );
+};
+
+LCDRange::LCDRange( QWidget *parent, const char *name )
+        : QVBox( parent, name )
+{
+    QLCDNumber *lcd  = new QLCDNumber( 2, this, "lcd"  );
+    QSlider * slider = new QSlider( Horizontal, this, "slider" );
+    slider->setRange( 0, 99 );
+    slider->setValue( 0 );
+    connect( slider, SIGNAL(valueChanged(int)), lcd, SLOT(display(int)) );
+}
+
+class MyWidget : public QVBox
+{
+public:
+    MyWidget( QWidget *parent=0, const char *name=0 );
+};
+
+
+MyWidget::MyWidget( QWidget *parent, const char *name )
+        : QVBox( parent, name )
+{
+    QPushButton *quit = new QPushButton( "Quit", this, "quit" );
+    quit->setFont( QFont( "Times", 18, QFont::Bold ) );
+
+    connect( quit, SIGNAL(clicked()), qApp, SLOT(quit()) );
+
+    QGrid *grid = new QGrid( 4, this );
+
+    for( int r = 0 ; r < 4 ; r++ )
+        for( int c = 0 ; c < 4 ; c++ )
+            (void)new LCDRange( grid );
+}
+
+int main( int argc, char **argv )
+{
+    QApplication a( argc, argv );
+
+    MyWidget w;
+    a.setMainWidget( &w );
+    w.show();
+    return a.exec();
+}
Index: /liacs/pm/sorteren.cc
===================================================================
--- /liacs/pm/sorteren.cc	(revision 2)
+++ /liacs/pm/sorteren.cc	(revision 2)
@@ -0,0 +1,46 @@
+#include <iostream>
+#include <ctime>
+using namespace std;
+
+long randi(){
+  static int
+
+}
+
+long randomgetal(long *OudGetal) {
+  const int a = 221;
+  const int c = 1;
+  const int m = 1000;
+  *OudGetal = (time (NULL) % m) + *OudGetal;
+  *OudGetal = ( a * *OudGetal + c ) % m;
+ return(*OudGetal);
+}
+
+class listvak {
+  public:
+    int getal;
+    listvak * vak_pt;
+  
+    void random();
+    void destroy();
+    void bubblesort();
+    void merge(listvak * Lx_pt, listvak * Ly_pt);
+};
+
+
+
+int main() {
+  listvak * L1;
+  listvak * L2;
+  listvak * L3;
+  L1 = new listvak;
+  L2 = new listvak;
+  L3 = new listvak;
+
+  L1->vak_pt = new listvak;
+  L1->vak_pt->getal = 40;
+  
+  listvak * Ltest = L1->vak_pt;
+  cout << Ltest->getal;
+  
+}
Index: /liacs/pm/tentamen_oef/opgave1.cc
===================================================================
--- /liacs/pm/tentamen_oef/opgave1.cc	(revision 2)
+++ /liacs/pm/tentamen_oef/opgave1.cc	(revision 2)
@@ -0,0 +1,50 @@
+#include <iostream>
+
+using namespace std;
+
+
+int kleinste( const int a[], const int i, const int n ) {
+	int tmpKleinste = i;
+	for(int ctr =(i+1); ctr < n; ctr++ ) {
+		if( a[ctr] < a[tmpKleinste] ) {
+			tmpKleinste = ctr;
+		}
+	}
+	return tmpKleinste;
+}
+
+void verschuif( int a[], const int i, const int j ) {
+	const int tmpGetal = a[j];
+	for(int ctr = j; ctr > i; ctr--) {
+		a[ctr] = a[ctr-1];
+	}
+	a[i] = tmpGetal;
+}
+
+void sorteer( int a[], const int n ) {
+	int tmpKleinste = 0;
+	for(int ctr = 0; ctr < n; ctr++) {
+		tmpKleinste = kleinste( a, ctr, n );
+		cout << "Kleinste = " << tmpKleinste <<endl;
+		verschuif( a ,ctr, tmpKleinste );
+	}
+}
+
+int const n = 3;
+
+void groter( int a[][n], const int X, const int m ) {
+cout << n;
+}
+
+int main( ) {
+/*	int a[6] = {2,4,1,5,3,6};
+	sorteer( a, 6 );
+	for(int ctr=0; ctr< 6; ctr++) {
+		cout << a[ctr] <<endl;
+	}
+*/
+
+int a[3][3] = { { 3, 5, 7 } , { 1, 2, 5 } , { 7, 7, 11} };
+groter(a, 4, 1);
+
+} //end main
Index: /liacs/pm/tentamen_oef/test.cc
===================================================================
--- /liacs/pm/tentamen_oef/test.cc	(revision 2)
+++ /liacs/pm/tentamen_oef/test.cc	(revision 2)
@@ -0,0 +1,9 @@
+#include <iostream>
+
+using namespace std;
+
+int a = 10;
+
+int main() {
+
+}
Index: /liacs/pm/test.cc
===================================================================
--- /liacs/pm/test.cc	(revision 2)
+++ /liacs/pm/test.cc	(revision 2)
@@ -0,0 +1,29 @@
+#include <iostream>
+
+
+int Keer3plus1(int * Getal){
+  int duizend = 0;
+  for (int i = 1; i < 10; i++){
+    if (*Getal / (i * 10000)) {
+      duizend = i;
+    }
+    else if (duizend != 0) {
+    return(duizend);
+    }
+  }
+  return 0;
+}
+
+int main(){
+int rick = 1022;
+cout << Keer3plus1(&rick) << endl;
+rick = 11111;
+cout << Keer3plus1(&rick) << endl;
+rick = 22222;
+cout << Keer3plus1(&rick) << endl;
+rick = 33333;
+cout << Keer3plus1(&rick) << endl;
+rick = 44444;
+cout << Keer3plus1(&rick) << endl;
+}
+
Index: /liacs/pm/tmp/.moc/moc_form1.cpp
===================================================================
--- /liacs/pm/tmp/.moc/moc_form1.cpp	(revision 2)
+++ /liacs/pm/tmp/.moc/moc_form1.cpp	(revision 2)
@@ -0,0 +1,89 @@
+/****************************************************************************
+** Form1 meta object code from reading C++ file 'form1.h'
+**
+** Created: Fri Dec 10 16:41:12 2004
+**      by: The Qt MOC ($Id:  qt/moc_yacc.cpp   3.0.5   edited Jul 8 12:26 $)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#undef QT_NO_COMPAT
+#include "../.ui/form1.h"
+#include <qmetaobject.h>
+#include <qapplication.h>
+
+#include <private/qucomextra_p.h>
+#if !defined(Q_MOC_OUTPUT_REVISION) || (Q_MOC_OUTPUT_REVISION != 19)
+#error "This file was generated using the moc from 3.0.5. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+const char *Form1::className() const
+{
+    return "Form1";
+}
+
+QMetaObject *Form1::metaObj = 0;
+static QMetaObjectCleanUp cleanUp_Form1;
+
+#ifndef QT_NO_TRANSLATION
+QString Form1::tr( const char *s, const char *c )
+{
+    if ( qApp )
+	return qApp->translate( "Form1", s, c, QApplication::DefaultCodec );
+    else
+	return QString::fromLatin1( s );
+}
+#ifndef QT_NO_TRANSLATION_UTF8
+QString Form1::trUtf8( const char *s, const char *c )
+{
+    if ( qApp )
+	return qApp->translate( "Form1", s, c, QApplication::UnicodeUTF8 );
+    else
+	return QString::fromUtf8( s );
+}
+#endif // QT_NO_TRANSLATION_UTF8
+
+#endif // QT_NO_TRANSLATION
+
+QMetaObject* Form1::staticMetaObject()
+{
+    if ( metaObj )
+	return metaObj;
+    QMetaObject* parentObject = QDialog::staticMetaObject();
+    metaObj = QMetaObject::new_metaobject(
+	"Form1", parentObject,
+	0, 0,
+	0, 0,
+#ifndef QT_NO_PROPERTIES
+	0, 0,
+	0, 0,
+#endif // QT_NO_PROPERTIES
+	0, 0 );
+    cleanUp_Form1.setMetaObject( metaObj );
+    return metaObj;
+}
+
+void* Form1::qt_cast( const char* clname )
+{
+    if ( !qstrcmp( clname, "Form1" ) ) return (Form1*)this;
+    return QDialog::qt_cast( clname );
+}
+
+bool Form1::qt_invoke( int _id, QUObject* _o )
+{
+    return QDialog::qt_invoke(_id,_o);
+}
+
+bool Form1::qt_emit( int _id, QUObject* _o )
+{
+    return QDialog::qt_emit(_id,_o);
+}
+#ifndef QT_NO_PROPERTIES
+
+bool Form1::qt_property( int _id, int _f, QVariant* _v)
+{
+    return QDialog::qt_property( _id, _f, _v);
+}
+#endif // QT_NO_PROPERTIES
Index: /liacs/pm/tmp/.qmake.internal.cache
===================================================================
--- /liacs/pm/tmp/.qmake.internal.cache	(revision 2)
+++ /liacs/pm/tmp/.qmake.internal.cache	(revision 2)
@@ -0,0 +1,10 @@
+[check]
+QMAKE_CACHE_VERSION = 1.03a
+QMAKE_ABSOLUTE_SOURCE_PATH = 
+MOC_DIR = .moc/
+UI_DIR = .ui/
+UI_HEADERS_DIR = 
+UI_SOURCES_DIR = 
+[depend]
+form1.ui = 
+[mocable]
Index: /liacs/pm/tmp/.ui/form1.cpp
===================================================================
--- /liacs/pm/tmp/.ui/form1.cpp	(revision 2)
+++ /liacs/pm/tmp/.ui/form1.cpp	(revision 2)
@@ -0,0 +1,63 @@
+/****************************************************************************
+** Form implementation generated from reading ui file 'form1.ui'
+**
+** Created: Fri Dec 10 16:41:10 2004
+**      by:  The User Interface Compiler (uic)
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+#include "form1.h"
+
+#include <qvariant.h>
+#include <qcheckbox.h>
+#include <qlabel.h>
+#include <qmime.h>
+#include <qdragobject.h>
+#include <qlayout.h>
+#include <qtooltip.h>
+#include <qwhatsthis.h>
+#include <qimage.h>
+#include <qpixmap.h>
+
+static QPixmap uic_load_pixmap_Form1( const QString &name )
+{
+    const QMimeSource *m = QMimeSourceFactory::defaultFactory()->data( name );
+    if ( !m )
+	return QPixmap();
+    QPixmap pix;
+    QImageDrag::decode( m, pix );
+    return pix;
+}
+/* 
+ *  Constructs a Form1 which is a child of 'parent', with the 
+ *  name 'name' and widget flags set to 'f'.
+ *
+ *  The dialog will by default be modeless, unless you set 'modal' to
+ *  TRUE to construct a modal dialog.
+ */
+Form1::Form1( QWidget* parent,  const char* name, bool modal, WFlags fl )
+    : QDialog( parent, name, modal, fl )
+{
+    if ( !name )
+	setName( "Form1" );
+    resize( 600, 480 ); 
+    setCaption( trUtf8( "Form1" ) );
+
+    CheckBox1 = new QCheckBox( this, "CheckBox1" );
+    CheckBox1->setGeometry( QRect( 261, 91, 209, 19 ) ); 
+    CheckBox1->setText( trUtf8( "Laat de winnende zet zien" ) );
+
+    TextLabel1 = new QLabel( this, "TextLabel1" );
+    TextLabel1->setGeometry( QRect( 261, 116, 209, 33 ) ); 
+    TextLabel1->setFrameShape( QLabel::Box );
+    TextLabel1->setText( trUtf8( "Winnende Zet: Stapel: 04, Aantal: 2" ) );
+}
+
+/*  
+ *  Destroys the object and frees any allocated resources
+ */
+Form1::~Form1()
+{
+    // no need to delete child widgets, Qt does it all for us
+}
+
Index: /liacs/pm/tmp/.ui/form1.h
===================================================================
--- /liacs/pm/tmp/.ui/form1.h	(revision 2)
+++ /liacs/pm/tmp/.ui/form1.h	(revision 2)
@@ -0,0 +1,34 @@
+/****************************************************************************
+** Form interface generated from reading ui file 'form1.ui'
+**
+** Created: Fri Dec 10 16:41:10 2004
+**      by:  The User Interface Compiler (uic)
+**
+** WARNING! All changes made in this file will be lost!
+****************************************************************************/
+#ifndef FORM1_H
+#define FORM1_H
+
+#include <qvariant.h>
+#include <qdialog.h>
+class QVBoxLayout; 
+class QHBoxLayout; 
+class QGridLayout; 
+class QCheckBox;
+class QLabel;
+
+class Form1 : public QDialog
+{ 
+    Q_OBJECT
+
+public:
+    Form1( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
+    ~Form1();
+
+    QCheckBox* CheckBox1;
+    QLabel* TextLabel1;
+
+
+};
+
+#endif // FORM1_H
Index: /liacs/pm/tmp/Makefile
===================================================================
--- /liacs/pm/tmp/Makefile	(revision 2)
+++ /liacs/pm/tmp/Makefile	(revision 2)
@@ -0,0 +1,139 @@
+#############################################################################
+# Makefile for building: unnamed
+# Generated by qmake (1.03a) on: Fri Dec 10 16:41:09 2004
+# Project:  unnamed.pro
+# Template: app
+# Command: $(QMAKE) unnamed.pro
+#############################################################################
+
+####### Compiler, tools and options
+
+CC       = gcc
+CXX      = g++
+LEX      = flex
+YACC     = yacc
+CFLAGS   = -pipe -Wall -W -I/usr/include/freetype2 -I/usr/include/freetype2/freetype -O2 -march=i386 -mcpu=i686 -fno-use-cxa-atexit -fno-exceptions  -DQT_NO_DEBUG
+CXXFLAGS = -pipe -Wall -W -I/usr/include/freetype2 -I/usr/include/freetype2/freetype -O2 -march=i386 -mcpu=i686 -fno-use-cxa-atexit -fno-exceptions  -DQT_NO_DEBUG
+LEXFLAGS = 
+YACCFLAGS= -d
+INCPATH  = -I$(QTDIR)/include -I.ui/ -I../tmp -I.moc/ -I$(QTDIR)/mkspecs/default
+LINK     = g++
+LFLAGS   = 
+LIBS     = $(SUBLIBS)  -L$(QTDIR)/lib  -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm
+AR       = ar cqs
+RANLIB   = 
+MOC      = $(QTDIR)/bin/moc
+UIC      = $(QTDIR)/bin/uic
+QMAKE    = qmake
+TAR      = tar -cf
+GZIP     = gzip -9f
+COPY     = cp -f
+COPY_FILE= $(COPY) -p
+COPY_DIR = $(COPY) -pR
+DEL_FILE = rm -f
+SYMLINK  = ln -sf
+DEL_DIR  = rmdir
+MOVE     = mv
+
+####### Output directory
+
+OBJECTS_DIR = .obj/
+
+####### Files
+
+HEADERS = 
+SOURCES = 
+OBJECTS = .obj/form1.o
+FORMS = form1.ui
+UICDECLS = .ui/form1.h
+UICIMPLS = .ui/form1.cpp
+SRCMOC   = .moc/moc_form1.cpp
+OBJMOC = .obj/moc_form1.o
+DIST	   = unnamed.pro
+QMAKE_TARGET = unnamed
+DESTDIR  = 
+TARGET   = unnamed
+
+first: all
+####### Implicit rules
+
+.SUFFIXES: .c .cpp .cc .cxx .C
+
+.cpp.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.cc.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.cxx.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.C.o:
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.c.o:
+	$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
+
+####### Build rules
+
+all: Makefile $(TARGET)
+
+$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC) 
+	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)
+
+mocables: $(SRCMOC)
+
+$(MOC): 
+	( cd $(QTDIR)/src/moc ; $(MAKE) )
+
+Makefile: unnamed.pro  $(QTDIR)/mkspecs/default/qmake.conf 
+	$(QMAKE) unnamed.pro
+qmake: 
+	@$(QMAKE) unnamed.pro
+
+dist: 
+	@mkdir -p .obj/unnamed && $(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) .obj/unnamed/ && ( cd `dirname .obj/unnamed` && $(TAR) unnamed.tar unnamed && $(GZIP) unnamed.tar ) && $(MOVE) `dirname .obj/unnamed`/unnamed.tar.gz . && $(DEL_DIR) .obj/unnamed
+
+mocclean:
+	-$(DEL_FILE) $(OBJMOC)
+	-$(DEL_FILE) $(SRCMOC)
+
+uiclean:
+	-$(DEL_FILE) $(UICIMPLS) $(UICDECLS)
+
+clean: mocclean uiclean
+	-$(DEL_FILE) $(OBJECTS) 
+	-$(DEL_FILE) *~ core *.core
+
+
+####### Sub-libraries
+
+distclean: clean
+	-$(DEL_FILE) $(TARGET) $(TARGET)
+
+
+FORCE:
+
+####### Compile
+
+.ui/form1.h: form1.ui 
+	$(UIC) form1.ui -o .ui/form1.h
+
+.ui/form1.cpp: .ui/form1.h form1.ui 
+	$(UIC) form1.ui -i form1.h -o .ui/form1.cpp
+
+.obj/form1.o: .ui/form1.cpp .ui/form1.h
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o .obj/form1.o .ui/form1.cpp
+
+.obj/moc_form1.o: .moc/moc_form1.cpp .ui/form1.h 
+	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o .obj/moc_form1.o .moc/moc_form1.cpp
+
+.moc/moc_form1.cpp: $(MOC) .ui/form1.h
+	$(MOC) .ui/form1.h -o .moc/moc_form1.cpp
+
+####### Install
+
+install: all 
+
+uninstall: 
+
Index: /liacs/pm/tmp/form1.ui
===================================================================
--- /liacs/pm/tmp/form1.ui	(revision 2)
+++ /liacs/pm/tmp/form1.ui	(revision 2)
@@ -0,0 +1,56 @@
+<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
+<class>Form1</class>
+<widget class="QDialog">
+    <property name="name">
+        <cstring>Form1</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>600</width>
+            <height>480</height>
+        </rect>
+    </property>
+    <property name="caption">
+        <string>Form1</string>
+    </property>
+    <widget class="QCheckBox">
+        <property name="name">
+            <cstring>CheckBox1</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>261</x>
+                <y>91</y>
+                <width>209</width>
+                <height>19</height>
+            </rect>
+        </property>
+        <property name="text">
+            <string>Laat de winnende zet zien</string>
+        </property>
+    </widget>
+    <widget class="QLabel">
+        <property name="name">
+            <cstring>TextLabel1</cstring>
+        </property>
+        <property name="geometry">
+            <rect>
+                <x>261</x>
+                <y>116</y>
+                <width>209</width>
+                <height>33</height>
+            </rect>
+        </property>
+        <property name="frameShape">
+            <enum>Box</enum>
+        </property>
+        <property name="text">
+            <string>Winnende Zet: Stapel: 04, Aantal: 2</string>
+        </property>
+    </widget>
+</widget>
+<pixmapinproject/>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
Index: /liacs/pm/tmp/main.cpp
===================================================================
--- /liacs/pm/tmp/main.cpp	(revision 2)
+++ /liacs/pm/tmp/main.cpp	(revision 2)
@@ -0,0 +1,11 @@
+#include <qapplication.h>
+#include "form1.h"
+
+int main( int argc, char ** argv )
+{
+    QApplication a( argc, argv );
+    Form1 *w = new Form1;
+    w->show();
+    a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) );
+    return a.exec();
+}
Index: /liacs/pm/tmp/unnamed.db
===================================================================
--- /liacs/pm/tmp/unnamed.db	(revision 2)
+++ /liacs/pm/tmp/unnamed.db	(revision 2)
@@ -0,0 +1,2 @@
+<!DOCTYPE DB><DB version="1.0">
+</DB>
Index: /liacs/pm/tmp/unnamed.pro
===================================================================
--- /liacs/pm/tmp/unnamed.pro	(revision 2)
+++ /liacs/pm/tmp/unnamed.pro	(revision 2)
@@ -0,0 +1,10 @@
+unix {
+  UI_DIR = .ui
+  MOC_DIR = .moc
+  OBJECTS_DIR = .obj
+}
+FORMS	= form1.ui 
+TEMPLATE	=app
+CONFIG	+= qt warn_on release
+DBFILE	= unnamed.db
+LANGUAGE	= C++
Index: /liacs/re/as5/template.txt
===================================================================
--- /liacs/re/as5/template.txt	(revision 2)
+++ /liacs/re/as5/template.txt	(revision 2)
@@ -0,0 +1,41 @@
+Migrating A Library System
+
+Name        : Rick van der Zwet
+
+Student ID  : 043337
+
+Actor Identification
+
+* Student
+* 
+
+<Description>
+
+<Actor Name>
+
+<Description>
+
+Use Cases
+
+<Use case name>
+
+<Describe the main feature of the use case>
+
+<Use case name>
+
+<Describe the main feature of the use case>
+
+Use Case Diagram
+
+Class Diagram
+
+Identified Risks
+
+<Risk>
+
+<Describe the risk and how to anticipate the risk>
+
+<Risk>
+
+<Describe the risk and how to anticipate the risk>
+
Index: /liacs/re/as6/Makefile
===================================================================
--- /liacs/re/as6/Makefile	(revision 2)
+++ /liacs/re/as6/Makefile	(revision 2)
@@ -0,0 +1,50 @@
+# Rick van der Zwet <rick@wzoeterwoude.net>
+TARGET = report
+LATEX = latex
+XDVI = xdvi
+TEX = latex -halt-on-error
+DVIPDF = dvipdf
+ASPELL = aspell
+ASPELL_ARGS = -c --mode=tex
+.SUFFIXES: .pdf
+
+help:
+	@echo "Usage Makefile <option>"
+
+all: clean view
+
+view: viewpdf
+
+viewdvi: builddvi
+	$(XDVI) $(TARGET)
+
+builddvi: $(TARGET).dvi
+
+clean:
+	rm -vf *.aux *.log *toc *.out *.bak
+
+dist-clean: clean
+	rm -vf $(TARGET).dvi $(TARGET).pdf
+
+buildpdf: $(TARGET).pdf
+
+viewpdf: buildpdf
+	open $(TARGET).pdf
+
+spell: spell-en
+
+spell-nl: $(TARGET).tex
+	$(ASPELL) -l nl -p ~/aspell-n.dic $(ASPELL_ARGS) $<
+
+spell-en: $(TARGET).tex
+	$(ASPELL) -l en -p ~/aspell-en.dic $(ASPELL_ARGS) $<
+
+.dvi.pdf:
+	$(DVIPDF) $? $@
+
+.tex.dvi:
+	$(TEX) $? $@
+	$(TEX) $? $@
+
+.gs.png:
+	$(GNUPLOT) $?
Index: /liacs/re/as6/README
===================================================================
--- /liacs/re/as6/README	(revision 2)
+++ /liacs/re/as6/README	(revision 2)
@@ -0,0 +1,20 @@
+Id: $Id: README.txt 455 2008-01-05 21:21:10Z rick $
+
+=HACKING=
+In order to alter the uml diagrams you will need the java based
+application ArgoUML (http://argouml.tigris.org/). If you like to
+generate the reports by yourself you will need the standard LaTeX
+dvi and pdf tools, available for most systems.
+
+
+=FILES=
+Makefile                        =   GNU Makefile report generator
+report.tex                      =   LaTeX report
+report.dvi                      =   DVI equivalant of tex
+report.pdf                      =   PDF equivalant of tex
+*.eps                           =   Exports of UML diagrams
+wl-maintenance.uml              =   ArgoUML diagrams
+
+
+
+
Index: /liacs/re/as6/report.tex
===================================================================
--- /liacs/re/as6/report.tex	(revision 2)
+++ /liacs/re/as6/report.tex	(revision 2)
@@ -0,0 +1,282 @@
+\documentclass[a4paper,12pt]{report}
+\usepackage{hyperref}
+\usepackage{a4wide}
+\usepackage{indentfirst}
+\usepackage[english]{babel}
+\usepackage{graphics}
+\usepackage[pdftex]{graphicx}
+\usepackage{latexsym}
+\usepackage{fancyhdr}
+\usepackage{fancyvrb}
+\usepackage[all]{hypcap}
+
+\pagestyle{fancyplain}
+\newcommand{\tstamp}{\today}
+\newcommand{\id}{$ $Id: report.tex 454 2008-01-05 21:18:31Z rick $ $}
+\lfoot[\fancyplain{\tstamp}{\tstamp}]   {\fancyplain{\tstamp}{\tstamp}}
+\cfoot[\fancyplain{\id}{\id}]           {\fancyplain{\id}{\id}}
+\rfoot[\fancyplain{\thepage}{\thepage}] {\fancyplain{\thepage}{\thepage}}
+
+
+\title{ Requirements engineering \\
+\large{Assignment 6 - organisational analyse} \\
+\large{Stichting Wireless Leiden}}
+\author{Rick van der Zwet\\
+  \texttt{<hvdzwet@liacs.nl>}\\
+  \\
+  LIACS\\
+  Leiden University\\
+  Niels Bohrweg 1\\
+  2333 CA Leiden\\
+  The Netherlands}
+\date{\today}
+\begin{document}
+\maketitle
+\chapter{Introduction}
+The assignment given out by Luuk Groenewegen as part of the course
+Requirement Engineering to help learning applying the theory in a
+practical example. The assignment has been split into 6 parts, every
+chapter will handle one of them. The original questions could be found
+in appendix~\ref{chap:questions}. Instead of choosing a default
+industrial or governmental organisation, a non-profit organisation is
+chosen.
+
+\chapter{Description}
+Stichting Wireless Leiden (hereafter called WL) has got a mission
+statement to build a wireless local network, technically comparable to the
+Internet, but standing alone and functioning independently. Making
+the connection easy and traffic free. This is done with the hands of
+sponsors and many volunteers.
+
+Inside WL a number groups are working on ICT related services. Some
+highlighted ones:
+\begin{description}
+\item[Maintenance ('beheer')] Keeps the network and supporting services keeps running.
+\item[R\&D ('techniek')] will build new software and hardware solutions.
+\item[Support ('gebruikers')] is helping persons to get connected.
+\item[Construction ('nodebouw')] will create new network points.
+\end{description}
+
+This paper will focus on the group maintenance as I am primary active
+inside this group and know most about it. The group mainly communicate
+by the means of an mailinglist, email send such list will received by
+all members of the list. All persons are unpaid volunteers with no
+agreements made with the foundations in terms of SLA or else. Every
+active member however did sign the 'volunteer agreement', which ensures
+people will no abuse the power they receive and will not mislead other
+volunteers or external persons in the name of WL. It is a very informal
+infrastructure, where apart from some technical setup nothing is
+documented. There is no hierarchy in terms of bosses and/or managers and
+people are free to contribute whenever they like.
+
+\chapter{Activity diagram}
+\label{chap:activity}
+Instead of making activity diagrams for the whole organisation, which
+are complicated and will not be clear in a short time-period. Only some
+parts of organisation will be highlighted. The activity diagrams will
+focus on maintenance and construction.
+
+\begin{figure}
+\centering
+\includegraphics[width=.8\textwidth]{wl-maintenance-activity.eps}
+\label{fig:maintenance-activity}
+\caption{Activity diagram of maintenance 'group'}
+\end{figure}
+\begin{figure}
+\centering
+\includegraphics[width=.8\textwidth]{wl-construction-activity.eps}
+\label{fig:construction-activity}
+\caption{Activity diagram of construction group}
+\end{figure}
+Figure~\ref{fig:construction-activity} on
+page~\pageref{fig:construction-activity} will show the activity diagram of
+construction of a node \footnote{piece of hardware with radio antennas which
+provides a connection point for the people around the node and a number
+of antennas/hardware to provide connectivity between nodes}.
+A site-survey will mean taking pictures of the possible location and do
+radio scanning to check for potential connections with other nodes and
+possible interference inside the neighborhood. Documenting will include
+putting the information in the version control system.
+
+Figure~\ref{fig:maintenance-activity} on
+page~\pageref{fig:maintenance-activity} will show the activity diagram
+of construction, the caption has quotes around 'group'. Those are
+intentional cause we cannot look at the group at one glance, but we have
+to look all persons individually. No person is assigned to a certain
+task or responsible for certain part of the system, which will cause all
+persons in the group to do the same activity diagram and not the group
+all together.
+
+None of the activities are related of monitoring the processes or making
+sure problems are actually fixed or improved, which are some vital parts
+of embedded feedback loop pattern. Some parts however are covered.
+Environment input is set to be incoming problems from various sources,
+output will be the fixed problem.  Production process is visualized
+inside the activity diagram. The Management information system will the
+the gathering of all problems, comments and their status. But standards,
+management, control, (intern) data, information and external data are
+currently lacking.
+
+
+\chapter{Class diagram}
+\label{chap:class}
+\begin{figure}
+\centering
+\includegraphics[width=.8\textwidth]{wl-maintenance-class.eps}
+\label{fig:m-c}
+\caption{Class diagram of maintenance group}
+\end{figure}
+
+Figure~\ref{fig:m-c} on
+page~\pageref{fig:m-c} has got a class diagram which reflect the
+execution of the activity diagram as found in
+figure~\ref{fig:maintenance-activity}. Depending whether someone has
+time is very subjective and has been put in a function gotTime(), but
+there is no solid definition for this case. Note that a problem is very
+subjective as well and there is not definition of a problem, it might as
+well could be an announcement for a birthday party.
+
+
+\chapter{Use Cases}
+\label{chap:use-case}
+\begin{figure}
+\centering
+\includegraphics[width=.8\textwidth]{wl-maintenance-use-case.eps}
+\label{fig:use-case}
+\caption{Uses Case of maintenance application, the mailinglist. In order
+to keep the picture readable the generalisations of the actors are left
+out. This is a hierarchical tree namely admin, moderator, member, user}
+\end{figure}
+
+Figure~\ref{fig:use-case} on page~\pageref{fig:use-case} has got the use case of
+the open source mailinglist system called
+mailman \footnote{http://www.gnu.org/software/mailman/}, this application
+is used in maintenance group to support communication and problem
+solving of activity and class diagram as described in
+chapter~\ref{chap:activity} and chapter~\ref{chap:class}.  Functionality
+is relatively simple, both powerful at the same time. The system does
+not say anything about the possible usage of the system which makes it
+workable for multiple parts of the organisation, inside WL system is
+virtually used in all groups of WL to communicate and discuss various
+topics.
+The admin is in charge of the technical parts of the mailinglist system,
+most of the times he/she is responsible for all mailing-lists of the
+organisation.
+The moderator is set in place in order to prevent abuse of the
+system, by sending fake/unwanted messages like spam and to ensure to
+keep certain lists free of non-volunteers, like a list of all
+volunteers which did sign their 'volunteer agreement'. But also to make
+sure the admin could focus on his part and not to get distracted/flooded
+by the moderator requests.
+
+\chapter{Change Proposal}
+The so powerful, easy to use, simple mailing system as described in
+chapter~\ref{chap:use-case} has one major problem as it comes to
+supporting the maintenance group. This is no way to track a problem or
+to do something which related to reporting as there are no states
+defined. Which will cause the embedded feedback loop to be broken,
+the flow from the main process to the management and back is missing.
+Changing this will be almost impossible, cause it require a lot of rule
+setting -like predefined email formats- which will make it more
+difficult for persons to participate in the process. A better solution
+will be to start looking at a so called issue tracking system, which
+makes it possible to address a state to a problem.
+
+An other problem relates to the moderators' task, email is frequently
+abused as spam making the moderator job cumbersome and time consuming.
+Every email of a non-member needs to verified and checked.
+
+The last problem relates to the email communication in general;
+\begin{itemize}
+\item Everybody use their own email client which makes every message unique.
+\item There are social rules involved, where to type your text when
+replaying on a email message for example.
+\item The underlying email communication systems are fairly difficult and
+error prone, due the many technical factors -like
+DNS/network/programs/filters- involved.
+\end{itemize}
+
+\chapter{New Use Cases}
+\begin{figure}
+\centering
+\includegraphics[width=.8\textwidth]{wl-maintenance-issue-tracking.eps}
+\label{fig:issue-tracking}
+\caption{Uses Case of suggested maintenance application, issue tracker. In order
+to keep the picture readable the generalisations of the actors are left
+out. This is a hierarchical tree namely admin, moderator, member, user}
+\end{figure}
+
+Figure~\ref{fig:issue-tracking} at page~\pageref{fig:issue-tracking}
+will propose the use cases involved into such issue tracking system.
+There exist almost an one-to-one mapping with the old use case at
+page~\pageref{fig:use-case}. To get rid of email communication as
+primary source, a web-based application will be setup. To address the spam
+problem, users will first need to register before they are allowed to
+create a issue, which removes the 2 use cases `Moderate email' and `Post
+email` (linked to the actor user). `Post email' has been split into `Create
+issue' and alter `Alter issue'. `Set list properties will become `Set
+project properties'
+
+\chapter{Check effectively}
+Effectively could be defined in many ways in a volunteer organisation,
+only checking the time needed to solve a problem might not be sufficient.
+More important is looking at the human touch. Volunteers needs to be
+more happy with the systems and willing to address more time to a
+project cause of the new system. The new system will need to assist them
+more than the old systems.
+
+Next will be the user -the person who reported the problem-. Checking
+whether a user is more happy with the new system could be checked by
+simply asking him, but there could also be a more technical approach.
+Check the amount of problems coming in and whether a user asks multiple
+different questions. Asking new questions means that the user is willing
+to spend time to have a problems fixed and has trust the system and
+underlying structure will solve the problem.
+
+Talking to volunteers and users will the only way to check whether the
+new system works more efficient, as the bits and bytes only will be far
+from sufficient.
+
+\appendix
+\chapter{Original questions}
+\label{chap:questions}
+RE-assignment November 2005
+my deadline proposal: Monday 2 January 2006
+
+Select an existing organization - industrial or governmental - about
+which you can be informed quite easily and in which ICT-applications do
+play a role; e.g., the organization your mother is employed in or your
+father or yourself or someone else you are acquainted with.
+
+a. Describe the organization verbally and not too long, including ICT's
+role(s) in it; use a half to one A4 for it.
+
+b. Give an activity diagram of it (drawing!), which moreover is according
+to the embedded feedback loop pattern; apart from the figure, explain in
+not more than one A4.
+
+c. Give a class diagram with their attributes and methods, such that
+these methods reflect the execution of the above activities or the
+manipulations by these activities and with relationships reflecting
+relevant connections between them.  Explain in not more than one and a
+halve A4.
+
+d. Give one or more use case diagrams together with a description of the
+various use cases, covering the process support offered by the software
+/ information system(s) as well as the main activities in and around the
+organization.  Explain in not more than two A4 - and one might be
+enough.
+
+e. Formulate a change proposal for the support as modelled in d.  Keep
+the embedded feedback loop pattern (as clear) as it was; also, keep as
+many of the classes involved as you can. Explain in one A4.
+
+f.  Describe new use cases, where relevant in relation to already
+existing ones. explain the goal of the change proposed in not more than
+one A4.
+
+g. How can one, after the change has been implemented, check the
+effectivity of the change in relation to the goal.  Explain carefully,
+but in not more than one A4.
+\end{document}
+
Index: /liacs/re/as6/wl-maintenance.uml
===================================================================
--- /liacs/re/as6/wl-maintenance.uml	(revision 2)
+++ /liacs/re/as6/wl-maintenance.uml	(revision 2)
@@ -0,0 +1,9085 @@
+<?xml version = "1.0" encoding = "UTF-8" ?>
+<uml version="5">
+  <argo version="5">
+    <documentation>
+      <authorname></authorname>
+      <authoremail></authoremail>
+      <version>0.24</version>
+      <description>
+        
+      </description>
+    </documentation>
+    <settings>
+      <notationlanguage>UML 1.4</notationlanguage>
+      <useguillemots>false</useguillemots>
+      <showvisibility>false</showvisibility>
+      <showmultiplicity>false</showmultiplicity>
+      <showinitialvalue>false</showinitialvalue>
+      <showproperties>false</showproperties>
+      <showtypes>true</showtypes>
+      <showstereotypes>false</showstereotypes>
+      <showsingularmultiplicities>true</showsingularmultiplicities>
+      <defaultshadowwidth>1</defaultshadowwidth>
+    </settings>
+    
+    <searchpath href="PROJECT_DIR" />
+    <member type="xmi"
+            name="wl-maintenance.xmi" />
+    <member type="pgml"
+            name="wl-maintenance_wlmaintenanceactivity.pgml"
+            diagramclass="org.argouml.uml.diagram.activity.ui.UMLActivityDiagram"
+            diagramname="wl-maintenance-activity" />
+    <member type="pgml"
+            name="wl-maintenance_wlconstructionactivity.pgml"
+            diagramclass="org.argouml.uml.diagram.activity.ui.UMLActivityDiagram"
+            diagramname="wl-construction-activity" />
+    <member type="pgml"
+            name="wl-maintenance_maintenance.pgml"
+            diagramclass="org.argouml.uml.diagram.static_structure.ui.UMLClassDiagram"
+            diagramname="maintenance" />
+    <member type="pgml"
+            name="wl-maintenance_maintenance.pgml"
+            diagramclass="org.argouml.uml.diagram.use_case.ui.UMLUseCaseDiagram"
+            diagramname="maintenance" />
+    <member type="pgml"
+            name="wl-maintenance_UseCaseDiagram1.pgml"
+            diagramclass="org.argouml.uml.diagram.use_case.ui.UMLUseCaseDiagram"
+            diagramname="issue-tracking" />
+    <member type="todo"
+            name="wl-maintenance.todo" />
+    <historyfile name="" />
+  </argo>
+<XMI xmi.version = '1.2' xmlns:UML = 'org.omg.xmi.namespace.UML' timestamp = 'Sat Jan 05 16:33:19 CET 2008'>
+  <XMI.header>    <XMI.documentation>
+      <XMI.exporter>ArgoUML (using Netbeans XMI Writer version 1.0)</XMI.exporter>
+      <XMI.exporterVersion>0.24(5) revised on $Date: 2006-11-06 19:55:22 +0100 (Mon, 06 Nov 2006) $ </XMI.exporterVersion>
+    </XMI.documentation>
+    <XMI.metamodel xmi.name="UML" xmi.version="1.4"/></XMI.header>
+  <XMI.content>
+    <UML:Model xmi.id = '-64--88-25-2--1516b24e:117370f8f5b:-8000:000000000000077B'
+      name = 'wl' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+      isAbstract = 'false'>
+      <UML:Namespace.ownedElement>
+        <UML:ActivityGraph xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007DB'
+          name = 'maintenance' isSpecification = 'false'>
+          <UML:StateMachine.context>
+            <UML:Model xmi.idref = '-64--88-25-2--1516b24e:117370f8f5b:-8000:000000000000077B'/>
+          </UML:StateMachine.context>
+          <UML:StateMachine.top>
+            <UML:CompositeState xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007DC'
+              name = 'top' isSpecification = 'false' isConcurrent = 'false'>
+              <UML:CompositeState.subvertex>
+                <UML:ActionState xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007DD'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000080F'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EC'/>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000809'/>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000810'/>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000825'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007E1'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007E5'
+                          language = '' body = 'Service Problem &#10;notification '/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:Pseudostate xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007E0'
+                  isSpecification = 'false' kind = 'initial'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EC'/>
+                  </UML:StateVertex.outgoing>
+                </UML:Pseudostate>
+                <UML:ActionState xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007E6'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EB'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000080C'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007E8'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007E9'
+                          language = '' body = 'Validate problem'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:Pseudostate xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EA'
+                  isSpecification = 'false' kind = 'junction'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007FC'/>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000812'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EB'/>
+                  </UML:StateVertex.incoming>
+                </UML:Pseudostate>
+                <UML:ActionState xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007ED'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000808'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000080F'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007F9'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000818'
+                          language = '' body = 'Time to start &#10;solving problem?'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:ActionState xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EE'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000810'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007FC'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007F5'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007F8'
+                          language = '' body = 'Request &#10;more information'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:Pseudostate xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000807'
+                  isSpecification = 'false' kind = 'junction'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000809'/>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000080C'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000808'/>
+                  </UML:StateVertex.incoming>
+                </UML:Pseudostate>
+                <UML:ActionState xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000811'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000081C'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000812'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000819'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000081A'
+                          language = '' body = 'Time to &#10;solve problem?'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:Pseudostate xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000081B'
+                  isSpecification = 'false' kind = 'junction'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000822'/>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000829'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000081C'/>
+                  </UML:StateVertex.incoming>
+                </UML:Pseudostate>
+                <UML:ActionState xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000081D'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000825'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000822'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000081E'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000821'
+                          language = '' body = 'Mark problem valid'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:ActionState xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000826'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000830'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000829'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000827'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000828'
+                          language = '' body = 'Solve problem'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:ActionState xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000082C'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000832'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000830'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000082D'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000082F'
+                          language = '' body = 'Report problem fixed'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:FinalState xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000831'
+                  isSpecification = 'false'>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000832'/>
+                  </UML:StateVertex.incoming>
+                </UML:FinalState>
+              </UML:CompositeState.subvertex>
+            </UML:CompositeState>
+          </UML:StateMachine.top>
+          <UML:StateMachine.transitions>
+            <UML:Transition xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EB'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007E6'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EA'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EC'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007E0'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007DD'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007FC'
+              isSpecification = 'false'>
+              <UML:Transition.guard>
+                <UML:Guard xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000804'
+                  name = 'anon' isSpecification = 'false'>
+                  <UML:Guard.expression>
+                    <UML:BooleanExpression xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000805'
+                      language = '' body = 'invalid'/>
+                  </UML:Guard.expression>
+                </UML:Guard>
+              </UML:Transition.guard>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EA'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EE'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000808'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007ED'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000807'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000809'
+              isSpecification = 'false'>
+              <UML:Transition.guard>
+                <UML:Guard xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000080A'
+                  name = 'anon' isSpecification = 'false'>
+                  <UML:Guard.expression>
+                    <UML:BooleanExpression xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000080B'
+                      language = '' body = 'no'/>
+                  </UML:Guard.expression>
+                </UML:Guard>
+              </UML:Transition.guard>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000807'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007DD'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000080C'
+              isSpecification = 'false'>
+              <UML:Transition.guard>
+                <UML:Guard xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000080D'
+                  name = 'anon' isSpecification = 'false'>
+                  <UML:Guard.expression>
+                    <UML:BooleanExpression xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000080E'
+                      language = '' body = 'yes'/>
+                  </UML:Guard.expression>
+                </UML:Guard>
+              </UML:Transition.guard>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000807'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007E6'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000080F'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007DD'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007ED'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000810'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EE'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007DD'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000812'
+              isSpecification = 'false'>
+              <UML:Transition.guard>
+                <UML:Guard xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000815'
+                  name = 'anon' isSpecification = 'false'>
+                  <UML:Guard.expression>
+                    <UML:BooleanExpression xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000817'
+                      language = '' body = 'valid'/>
+                  </UML:Guard.expression>
+                </UML:Guard>
+              </UML:Transition.guard>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EA'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000811'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000081C'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000811'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000081B'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000822'
+              isSpecification = 'false'>
+              <UML:Transition.guard>
+                <UML:Guard xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000823'
+                  name = 'anon' isSpecification = 'false'>
+                  <UML:Guard.expression>
+                    <UML:BooleanExpression xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000824'
+                      language = '' body = 'no'/>
+                  </UML:Guard.expression>
+                </UML:Guard>
+              </UML:Transition.guard>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000081B'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000081D'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000825'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000081D'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007DD'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000829'
+              isSpecification = 'false'>
+              <UML:Transition.guard>
+                <UML:Guard xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000082A'
+                  name = 'anon' isSpecification = 'false'>
+                  <UML:Guard.expression>
+                    <UML:BooleanExpression xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000082B'
+                      language = '' body = 'yes'/>
+                  </UML:Guard.expression>
+                </UML:Guard>
+              </UML:Transition.guard>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000081B'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000826'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000830'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000826'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000082C'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000832'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:000000000000082C'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:FinalState xmi.idref = '-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000831'/>
+              </UML:Transition.target>
+            </UML:Transition>
+          </UML:StateMachine.transitions>
+        </UML:ActivityGraph>
+        <UML:ActivityGraph xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000815'
+          name = 'construction' isSpecification = 'false'>
+          <UML:StateMachine.context>
+            <UML:Model xmi.idref = '-64--88-25-2--1516b24e:117370f8f5b:-8000:000000000000077B'/>
+          </UML:StateMachine.context>
+          <UML:StateMachine.top>
+            <UML:CompositeState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000816'
+              name = 'top' isSpecification = 'false' isConcurrent = 'false'>
+              <UML:CompositeState.subvertex>
+                <UML:Pseudostate xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000817'
+                  isSpecification = 'false' kind = 'initial'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000081E'/>
+                  </UML:StateVertex.outgoing>
+                </UML:Pseudostate>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000818'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000839'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000081E'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000819'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008AE'
+                          language = '' body = 'Potential&#10;Location&#10;to build node'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000821'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000834'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000082D'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000822'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000823'
+                          language = '' body = 'Find sponsorship'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:Pseudostate xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000826'
+                  isSpecification = 'false' kind = 'join'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000083B'/>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000862'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000085D'/>
+                  </UML:StateVertex.incoming>
+                </UML:Pseudostate>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000827'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000082C'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000083B'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000828'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000829'
+                          language = '' body = 'Budget available'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:Pseudostate xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000082B'
+                  isSpecification = 'false' kind = 'junction'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000082D'/>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000831'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000082C'/>
+                  </UML:StateVertex.incoming>
+                </UML:Pseudostate>
+                <UML:Pseudostate xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000830'
+                  isSpecification = 'false' kind = 'junction'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000869'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000831'/>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000834'/>
+                  </UML:StateVertex.incoming>
+                </UML:Pseudostate>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000836'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000084D'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000839'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000837'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008AC'
+                          language = '' body = 'Intiate contact&#10;and make sitesurvey&#10;to inspect possibilities'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:Pseudostate xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000083D'
+                  name = '' isSpecification = 'false' kind = 'junction'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000850'/>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000085A'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000843'/>
+                  </UML:StateVertex.incoming>
+                </UML:Pseudostate>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000083F'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000843'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000084E'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000840'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000841'
+                          language = '' body = 'Location useable?'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:FinalState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000847'
+                  isSpecification = 'false'>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000853'/>
+                  </UML:StateVertex.incoming>
+                </UML:FinalState>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000848'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000084E'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000084D'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000849'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000856'
+                          language = '' body = 'Document finding'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000084F'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000853'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000850'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000854'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000085E'
+                          language = '' body = 'Document&#10;conclusions'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000857'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000085D'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000085A'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000858'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000859'
+                          language = '' body = 'Create plan'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000085F'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000868'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000862'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000860'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000861'
+                          language = '' body = 'Approve plan&#10;building owner'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000863'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000087D'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000876'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000864'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000871'
+                          language = '' body = 'Order equipment'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:Pseudostate xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000867'
+                  isSpecification = 'false' kind = 'join'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000874'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000868'/>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000869'/>
+                  </UML:StateVertex.incoming>
+                </UML:Pseudostate>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000086A'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088E'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000875'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000086B'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000872'
+                          language = '' body = 'Plan building&#10;node'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:Pseudostate xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000873'
+                  isSpecification = 'false' kind = 'fork'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000875'/>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000876'/>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008AF'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000874'/>
+                  </UML:StateVertex.incoming>
+                </UML:Pseudostate>
+                <UML:Pseudostate xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000877'
+                  isSpecification = 'false' kind = 'join'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088D'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000087D'/>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000889'/>
+                  </UML:StateVertex.incoming>
+                </UML:Pseudostate>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000878'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000891'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088E'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000879'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000087A'
+                          language = '' body = 'Find builders'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000087E'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000089D'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000892'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000087F'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000880'
+                          language = '' body = 'Build node'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000882'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A1'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000089E'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000883'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000893'
+                          language = '' body = 'Document result&#10;setup'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000886'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000889'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008AF'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000887'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000888'
+                          language = '' body = 'Create technical &#10;configuration'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088A'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000890'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088D'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088B'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088C'
+                          language = '' body = 'Prepare machine'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:Pseudostate xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088F'
+                  isSpecification = 'false' kind = 'join'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000892'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000890'/>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000891'/>
+                  </UML:StateVertex.incoming>
+                </UML:Pseudostate>
+                <UML:Pseudostate xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000895'
+                  isSpecification = 'false' kind = 'fork'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000089E'/>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000089F'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000089D'/>
+                  </UML:StateVertex.incoming>
+                </UML:Pseudostate>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000896'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A2'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000089F'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000897'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000089C'
+                          language = '' body = 'Hardware/software&#10;testing'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:Pseudostate xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A0'
+                  isSpecification = 'false' kind = 'join'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A5'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A1'/>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A2'/>
+                  </UML:StateVertex.incoming>
+                </UML:Pseudostate>
+                <UML:ActionState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A3'
+                  isSpecification = 'false' isDynamic = 'false'>
+                  <UML:StateVertex.outgoing>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A6'/>
+                  </UML:StateVertex.outgoing>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A5'/>
+                  </UML:StateVertex.incoming>
+                  <UML:State.entry>
+                    <UML:UninterpretedAction xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008AA'
+                      isSpecification = 'false' isAsynchronous = 'false'>
+                      <UML:Action.script>
+                        <UML:ActionExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008AB'
+                          language = '' body = 'Evalutate process'/>
+                      </UML:Action.script>
+                    </UML:UninterpretedAction>
+                  </UML:State.entry>
+                </UML:ActionState>
+                <UML:FinalState xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A4'
+                  isSpecification = 'false'>
+                  <UML:StateVertex.incoming>
+                    <UML:Transition xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A6'/>
+                  </UML:StateVertex.incoming>
+                </UML:FinalState>
+              </UML:CompositeState.subvertex>
+            </UML:CompositeState>
+          </UML:StateMachine.top>
+          <UML:StateMachine.transitions>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000081E'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000817'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000818'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000082C'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000827'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000082B'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000082D'
+              isSpecification = 'false'>
+              <UML:Transition.guard>
+                <UML:Guard xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000082E'
+                  name = 'anon' isSpecification = 'false'>
+                  <UML:Guard.expression>
+                    <UML:BooleanExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000082F'
+                      language = '' body = 'no'/>
+                  </UML:Guard.expression>
+                </UML:Guard>
+              </UML:Transition.guard>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000082B'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000821'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000831'
+              isSpecification = 'false'>
+              <UML:Transition.guard>
+                <UML:Guard xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000832'
+                  name = 'anon' isSpecification = 'false'>
+                  <UML:Guard.expression>
+                    <UML:BooleanExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000833'
+                      language = '' body = 'yes'/>
+                  </UML:Guard.expression>
+                </UML:Guard>
+              </UML:Transition.guard>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000082B'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000830'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000834'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000821'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000830'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000839'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000818'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000836'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000083B'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000826'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000827'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000843'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000083F'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000083D'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000084D'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000836'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000848'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000084E'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000848'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000083F'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000850'
+              isSpecification = 'false'>
+              <UML:Transition.guard>
+                <UML:Guard xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000851'
+                  name = 'anon' isSpecification = 'false'>
+                  <UML:Guard.expression>
+                    <UML:BooleanExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000852'
+                      language = '' body = 'no'/>
+                  </UML:Guard.expression>
+                </UML:Guard>
+              </UML:Transition.guard>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000083D'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000084F'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000853'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000084F'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:FinalState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000847'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000085A'
+              isSpecification = 'false'>
+              <UML:Transition.guard>
+                <UML:Guard xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000085B'
+                  name = 'anon' isSpecification = 'false'>
+                  <UML:Guard.expression>
+                    <UML:BooleanExpression xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000085C'
+                      language = '' body = 'yes'/>
+                  </UML:Guard.expression>
+                </UML:Guard>
+              </UML:Transition.guard>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000083D'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000857'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000085D'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000857'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000826'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000862'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000826'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000085F'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000868'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000085F'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000867'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000869'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000830'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000867'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000874'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000867'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000873'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000875'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000873'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000086A'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000876'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000873'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000863'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000087D'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000863'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000877'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000889'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000886'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000877'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088D'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000877'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088A'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088E'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000086A'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000878'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000890'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088A'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088F'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000891'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000878'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088F'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000892'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088F'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000087E'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000089D'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000087E'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000895'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000089E'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000895'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000882'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000089F'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000895'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000896'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A1'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000882'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A0'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A2'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000896'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A0'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A5'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A0'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A3'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A6'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A3'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:FinalState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A4'/>
+              </UML:Transition.target>
+            </UML:Transition>
+            <UML:Transition xmi.id = '-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008AF'
+              isSpecification = 'false'>
+              <UML:Transition.source>
+                <UML:Pseudostate xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000873'/>
+              </UML:Transition.source>
+              <UML:Transition.target>
+                <UML:ActionState xmi.idref = '-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000886'/>
+              </UML:Transition.target>
+            </UML:Transition>
+          </UML:StateMachine.transitions>
+        </UML:ActivityGraph>
+        <UML:Class xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000885'
+          name = 'problem' visibility = 'public' isSpecification = 'false' isRoot = 'false'
+          isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
+          <UML:Classifier.feature>
+            <UML:Attribute xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000089E'
+              name = 'description' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
+              changeability = 'changeable' targetScope = 'instance'>
+              <UML:StructuralFeature.multiplicity>
+                <UML:Multiplicity xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000922'>
+                  <UML:Multiplicity.range>
+                    <UML:MultiplicityRange xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000921'
+                      lower = '1' upper = '1'/>
+                  </UML:Multiplicity.range>
+                </UML:Multiplicity>
+              </UML:StructuralFeature.multiplicity>
+              <UML:StructuralFeature.type>
+                <UML:Class xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000895'/>
+              </UML:StructuralFeature.type>
+            </UML:Attribute>
+            <UML:Attribute xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:00000000000008A3'
+              name = 'valid' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
+              changeability = 'changeable' targetScope = 'instance'>
+              <UML:StructuralFeature.multiplicity>
+                <UML:Multiplicity xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000968'>
+                  <UML:Multiplicity.range>
+                    <UML:MultiplicityRange xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000967'
+                      lower = '1' upper = '1'/>
+                  </UML:Multiplicity.range>
+                </UML:Multiplicity>
+              </UML:StructuralFeature.multiplicity>
+              <UML:StructuralFeature.type>
+                <UML:DataType xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:00000000000008A8'/>
+              </UML:StructuralFeature.type>
+            </UML:Attribute>
+            <UML:Attribute xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:00000000000008A9'
+              name = 'solved' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
+              changeability = 'changeable' targetScope = 'instance'>
+              <UML:StructuralFeature.multiplicity>
+                <UML:Multiplicity xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:00000000000008C7'>
+                  <UML:Multiplicity.range>
+                    <UML:MultiplicityRange xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:00000000000008C6'
+                      lower = '1' upper = '1'/>
+                  </UML:Multiplicity.range>
+                </UML:Multiplicity>
+              </UML:StructuralFeature.multiplicity>
+              <UML:Attribute.initialValue>
+                <UML:Expression xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:00000000000008C3'
+                  language = 'false' body = 'false'/>
+              </UML:Attribute.initialValue>
+              <UML:StructuralFeature.type>
+                <UML:DataType xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:00000000000008A8'/>
+              </UML:StructuralFeature.type>
+            </UML:Attribute>
+            <UML:Operation xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000969'
+              name = 'reportProblem' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
+              isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
+              isAbstract = 'false'>
+              <UML:BehavioralFeature.parameter>
+                <UML:Parameter xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000096A'
+                  name = 'return' isSpecification = 'false' kind = 'return'>
+                  <UML:Parameter.type>
+                    <UML:DataType xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000896'/>
+                  </UML:Parameter.type>
+                </UML:Parameter>
+                <UML:Parameter xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000096B'
+                  name = 'desc' isSpecification = 'false'>
+                  <UML:Parameter.type>
+                    <UML:Class xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000895'/>
+                  </UML:Parameter.type>
+                </UML:Parameter>
+              </UML:BehavioralFeature.parameter>
+            </UML:Operation>
+            <UML:Operation xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000096C'
+              name = 'solveProblem' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
+              isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
+              isAbstract = 'false'>
+              <UML:BehavioralFeature.parameter>
+                <UML:Parameter xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000096D'
+                  name = 'return' isSpecification = 'false' kind = 'return'>
+                  <UML:Parameter.type>
+                    <UML:DataType xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000896'/>
+                  </UML:Parameter.type>
+                </UML:Parameter>
+              </UML:BehavioralFeature.parameter>
+            </UML:Operation>
+            <UML:Operation xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000096E'
+              name = 'validateProblem' visibility = 'public' isSpecification = 'false'
+              ownerScope = 'instance' isQuery = 'false' concurrency = 'sequential' isRoot = 'false'
+              isLeaf = 'false' isAbstract = 'false'>
+              <UML:BehavioralFeature.parameter>
+                <UML:Parameter xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000096F'
+                  name = 'return' isSpecification = 'false' kind = 'return'>
+                  <UML:Parameter.type>
+                    <UML:DataType xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000896'/>
+                  </UML:Parameter.type>
+                </UML:Parameter>
+              </UML:BehavioralFeature.parameter>
+            </UML:Operation>
+          </UML:Classifier.feature>
+        </UML:Class>
+        <UML:Class xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000887'
+          name = 'user' visibility = 'public' isSpecification = 'false' isRoot = 'false'
+          isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
+          <UML:Classifier.feature>
+            <UML:Attribute xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000088A'
+              name = 'email' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
+              changeability = 'changeable' targetScope = 'instance'>
+              <UML:StructuralFeature.multiplicity>
+                <UML:Multiplicity xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000892'>
+                  <UML:Multiplicity.range>
+                    <UML:MultiplicityRange xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000891'
+                      lower = '1' upper = '1'/>
+                  </UML:Multiplicity.range>
+                </UML:Multiplicity>
+              </UML:StructuralFeature.multiplicity>
+              <UML:StructuralFeature.type>
+                <UML:Class xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000895'/>
+              </UML:StructuralFeature.type>
+            </UML:Attribute>
+            <UML:Attribute xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000899'
+              name = 'name' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
+              changeability = 'changeable' targetScope = 'instance'>
+              <UML:StructuralFeature.multiplicity>
+                <UML:Multiplicity xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000089D'>
+                  <UML:Multiplicity.range>
+                    <UML:MultiplicityRange xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000089C'
+                      lower = '1' upper = '1'/>
+                  </UML:Multiplicity.range>
+                </UML:Multiplicity>
+              </UML:StructuralFeature.multiplicity>
+              <UML:StructuralFeature.type>
+                <UML:Class xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000895'/>
+              </UML:StructuralFeature.type>
+            </UML:Attribute>
+            <UML:Operation xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000097F'
+              name = 'gotTime' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
+              isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
+              isAbstract = 'false'>
+              <UML:BehavioralFeature.parameter>
+                <UML:Parameter xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000980'
+                  name = 'return' isSpecification = 'false' kind = 'return'>
+                  <UML:Parameter.type>
+                    <UML:DataType xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:00000000000008A8'/>
+                  </UML:Parameter.type>
+                </UML:Parameter>
+              </UML:BehavioralFeature.parameter>
+            </UML:Operation>
+          </UML:Classifier.feature>
+        </UML:Class>
+        <UML:DataType xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000889'
+          name = 'int' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'/>
+        <UML:Package xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000893'
+          name = 'java' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'>
+          <UML:Namespace.ownedElement>
+            <UML:Package xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000894'
+              name = 'lang' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+              isAbstract = 'false'>
+              <UML:Namespace.ownedElement>
+                <UML:Class xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000895'
+                  name = 'String' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+                  isAbstract = 'false' isActive = 'false'/>
+              </UML:Namespace.ownedElement>
+            </UML:Package>
+          </UML:Namespace.ownedElement>
+        </UML:Package>
+        <UML:DataType xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000896'
+          name = 'void' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'/>
+        <UML:DataType xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:00000000000008A8'
+          name = 'boolean' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'/>
+        <UML:Class xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000936'
+          name = 'comment' visibility = 'public' isSpecification = 'false' isRoot = 'false'
+          isLeaf = 'false' isAbstract = 'false' isActive = 'false'>
+          <UML:Classifier.feature>
+            <UML:Attribute xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000938'
+              name = 'description' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
+              changeability = 'changeable' targetScope = 'instance'>
+              <UML:StructuralFeature.multiplicity>
+                <UML:Multiplicity xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000958'>
+                  <UML:Multiplicity.range>
+                    <UML:MultiplicityRange xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000957'
+                      lower = '1' upper = '1'/>
+                  </UML:Multiplicity.range>
+                </UML:Multiplicity>
+              </UML:StructuralFeature.multiplicity>
+              <UML:StructuralFeature.type>
+                <UML:Class xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000895'/>
+              </UML:StructuralFeature.type>
+            </UML:Attribute>
+            <UML:Operation xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000095B'
+              name = 'makeComment' visibility = 'public' isSpecification = 'false' ownerScope = 'instance'
+              isQuery = 'false' concurrency = 'sequential' isRoot = 'false' isLeaf = 'false'
+              isAbstract = 'false'>
+              <UML:BehavioralFeature.parameter>
+                <UML:Parameter xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000095C'
+                  name = 'return' isSpecification = 'false' kind = 'return'>
+                  <UML:Parameter.type>
+                    <UML:DataType xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000896'/>
+                  </UML:Parameter.type>
+                </UML:Parameter>
+                <UML:Parameter xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000095D'
+                  name = 'desc' isSpecification = 'false'>
+                  <UML:Parameter.type>
+                    <UML:Class xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000895'/>
+                  </UML:Parameter.type>
+                </UML:Parameter>
+                <UML:Parameter xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000097E'
+                  name = 'RFI' isSpecification = 'false'>
+                  <UML:Parameter.type>
+                    <UML:DataType xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:00000000000008A8'/>
+                  </UML:Parameter.type>
+                </UML:Parameter>
+              </UML:BehavioralFeature.parameter>
+            </UML:Operation>
+            <UML:Attribute xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000972'
+              name = 'requestForInformation' visibility = 'public' isSpecification = 'false'
+              ownerScope = 'instance' changeability = 'changeable' targetScope = 'instance'>
+              <UML:StructuralFeature.multiplicity>
+                <UML:Multiplicity xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000097D'>
+                  <UML:Multiplicity.range>
+                    <UML:MultiplicityRange xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000097C'
+                      lower = '1' upper = '1'/>
+                  </UML:Multiplicity.range>
+                </UML:Multiplicity>
+              </UML:StructuralFeature.multiplicity>
+              <UML:StructuralFeature.type>
+                <UML:DataType xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:00000000000008A8'/>
+              </UML:StructuralFeature.type>
+            </UML:Attribute>
+          </UML:Classifier.feature>
+        </UML:Class>
+        <UML:Association xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000941'
+          name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
+          <UML:Association.connection>
+            <UML:AssociationEnd xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000942'
+              name = 'makes' visibility = 'public' isSpecification = 'false' isNavigable = 'false'
+              ordering = 'unordered' aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
+              <UML:AssociationEnd.multiplicity>
+                <UML:Multiplicity xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000949'>
+                  <UML:Multiplicity.range>
+                    <UML:MultiplicityRange xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000948'
+                      lower = '1' upper = '1'/>
+                  </UML:Multiplicity.range>
+                </UML:Multiplicity>
+              </UML:AssociationEnd.multiplicity>
+              <UML:AssociationEnd.participant>
+                <UML:Class xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000887'/>
+              </UML:AssociationEnd.participant>
+            </UML:AssociationEnd>
+            <UML:AssociationEnd xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000945'
+              visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
+              aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
+              <UML:AssociationEnd.multiplicity>
+                <UML:Multiplicity xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000094B'>
+                  <UML:Multiplicity.range>
+                    <UML:MultiplicityRange xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000094A'
+                      lower = '0' upper = '-1'/>
+                  </UML:Multiplicity.range>
+                </UML:Multiplicity>
+              </UML:AssociationEnd.multiplicity>
+              <UML:AssociationEnd.participant>
+                <UML:Class xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000936'/>
+              </UML:AssociationEnd.participant>
+            </UML:AssociationEnd>
+          </UML:Association.connection>
+        </UML:Association>
+        <UML:Association xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000094C'
+          name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
+          <UML:Association.connection>
+            <UML:AssociationEnd xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000094D'
+              visibility = 'public' isSpecification = 'false' isNavigable = 'false' ordering = 'unordered'
+              aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
+              <UML:AssociationEnd.multiplicity>
+                <UML:Multiplicity xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000094E'>
+                  <UML:Multiplicity.range>
+                    <UML:MultiplicityRange xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000094F'
+                      lower = '1' upper = '1'/>
+                  </UML:Multiplicity.range>
+                </UML:Multiplicity>
+              </UML:AssociationEnd.multiplicity>
+              <UML:AssociationEnd.participant>
+                <UML:Class xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000885'/>
+              </UML:AssociationEnd.participant>
+            </UML:AssociationEnd>
+            <UML:AssociationEnd xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000950'
+              name = 'has' visibility = 'public' isSpecification = 'false' isNavigable = 'true'
+              ordering = 'unordered' aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
+              <UML:AssociationEnd.multiplicity>
+                <UML:Multiplicity xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000954'>
+                  <UML:Multiplicity.range>
+                    <UML:MultiplicityRange xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000953'
+                      lower = '0' upper = '-1'/>
+                  </UML:Multiplicity.range>
+                </UML:Multiplicity>
+              </UML:AssociationEnd.multiplicity>
+              <UML:AssociationEnd.participant>
+                <UML:Class xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000936'/>
+              </UML:AssociationEnd.participant>
+            </UML:AssociationEnd>
+          </UML:Association.connection>
+        </UML:Association>
+        <UML:Association xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000095E'
+          name = '' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false'>
+          <UML:Association.connection>
+            <UML:AssociationEnd xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000095F'
+              name = 'files' visibility = 'public' isSpecification = 'false' isNavigable = 'false'
+              ordering = 'unordered' aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
+              <UML:AssociationEnd.multiplicity>
+                <UML:Multiplicity xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000960'>
+                  <UML:Multiplicity.range>
+                    <UML:MultiplicityRange xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000961'
+                      lower = '1' upper = '1'/>
+                  </UML:Multiplicity.range>
+                </UML:Multiplicity>
+              </UML:AssociationEnd.multiplicity>
+              <UML:AssociationEnd.participant>
+                <UML:Class xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000887'/>
+              </UML:AssociationEnd.participant>
+            </UML:AssociationEnd>
+            <UML:AssociationEnd xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000962'
+              visibility = 'public' isSpecification = 'false' isNavigable = 'true' ordering = 'unordered'
+              aggregation = 'none' targetScope = 'instance' changeability = 'changeable'>
+              <UML:AssociationEnd.multiplicity>
+                <UML:Multiplicity xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000966'>
+                  <UML:Multiplicity.range>
+                    <UML:MultiplicityRange xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000965'
+                      lower = '0' upper = '-1'/>
+                  </UML:Multiplicity.range>
+                </UML:Multiplicity>
+              </UML:AssociationEnd.multiplicity>
+              <UML:AssociationEnd.participant>
+                <UML:Class xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000885'/>
+              </UML:AssociationEnd.participant>
+            </UML:AssociationEnd>
+          </UML:Association.connection>
+        </UML:Association>
+        <UML:Actor xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000989'
+          name = 'member' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'>
+          <UML:ModelElement.clientDependency>
+            <UML:Dependency xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000099D'/>
+            <UML:Dependency xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DB'/>
+          </UML:ModelElement.clientDependency>
+        </UML:Actor>
+        <UML:UseCase xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000098E'
+          name = 'Moderate email' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'/>
+        <UML:UseCase xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000098F'
+          name = 'Post email' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'/>
+        <UML:Dependency xmi.id = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000099D'
+          isSpecification = 'false'>
+          <UML:Dependency.client>
+            <UML:Actor xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000989'/>
+          </UML:Dependency.client>
+          <UML:Dependency.supplier>
+            <UML:UseCase xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000098F'/>
+          </UML:Dependency.supplier>
+        </UML:Dependency>
+        <UML:Actor xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D2'
+          name = 'moderator' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'>
+          <UML:ModelElement.clientDependency>
+            <UML:Dependency xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D8'/>
+            <UML:Dependency xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E5'/>
+          </UML:ModelElement.clientDependency>
+        </UML:Actor>
+        <UML:Actor xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D3'
+          name = 'admin' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'>
+          <UML:ModelElement.clientDependency>
+            <UML:Dependency xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DA'/>
+            <UML:Dependency xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DC'/>
+          </UML:ModelElement.clientDependency>
+        </UML:Actor>
+        <UML:UseCase xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D4'
+          name = 'Manage memberschip' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'/>
+        <UML:UseCase xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D5'
+          name = 'Set list properties' isSpecification = 'false' isRoot = 'false'
+          isLeaf = 'false' isAbstract = 'false'/>
+        <UML:Dependency xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D8'
+          isSpecification = 'false'>
+          <UML:Dependency.client>
+            <UML:Actor xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D2'/>
+          </UML:Dependency.client>
+          <UML:Dependency.supplier>
+            <UML:UseCase xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000098E'/>
+          </UML:Dependency.supplier>
+        </UML:Dependency>
+        <UML:UseCase xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D9'
+          name = 'change moderators' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'/>
+        <UML:Dependency xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DA'
+          isSpecification = 'false'>
+          <UML:Dependency.client>
+            <UML:Actor xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D3'/>
+          </UML:Dependency.client>
+          <UML:Dependency.supplier>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D9'/>
+          </UML:Dependency.supplier>
+        </UML:Dependency>
+        <UML:Dependency xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DB'
+          isSpecification = 'false'>
+          <UML:Dependency.client>
+            <UML:Actor xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000989'/>
+          </UML:Dependency.client>
+          <UML:Dependency.supplier>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D4'/>
+          </UML:Dependency.supplier>
+        </UML:Dependency>
+        <UML:Dependency xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DC'
+          isSpecification = 'false'>
+          <UML:Dependency.client>
+            <UML:Actor xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D3'/>
+          </UML:Dependency.client>
+          <UML:Dependency.supplier>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D5'/>
+          </UML:Dependency.supplier>
+        </UML:Dependency>
+        <UML:Actor xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DD'
+          name = 'user' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'>
+          <UML:ModelElement.clientDependency>
+            <UML:Dependency xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E0'/>
+            <UML:Dependency xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E3'/>
+          </UML:ModelElement.clientDependency>
+        </UML:Actor>
+        <UML:UseCase xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DF'
+          name = 'Post email' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'>
+          <UML:UseCase.include>
+            <UML:Include xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E1'/>
+          </UML:UseCase.include>
+        </UML:UseCase>
+        <UML:Dependency xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E0'
+          isSpecification = 'false'>
+          <UML:Dependency.client>
+            <UML:Actor xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DD'/>
+          </UML:Dependency.client>
+          <UML:Dependency.supplier>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DF'/>
+          </UML:Dependency.supplier>
+        </UML:Dependency>
+        <UML:Include xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E1'
+          isSpecification = 'false'>
+          <UML:Include.addition>
+            <UML:UseCase xmi.idref = '-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000098E'/>
+          </UML:Include.addition>
+          <UML:Include.base>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DF'/>
+          </UML:Include.base>
+        </UML:Include>
+        <UML:UseCase xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E2'
+          name = 'Request memberschip' isSpecification = 'false' isRoot = 'false'
+          isLeaf = 'false' isAbstract = 'false'>
+          <UML:UseCase.include>
+            <UML:Include xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E6'/>
+          </UML:UseCase.include>
+        </UML:UseCase>
+        <UML:Dependency xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E3'
+          isSpecification = 'false'>
+          <UML:Dependency.client>
+            <UML:Actor xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DD'/>
+          </UML:Dependency.client>
+          <UML:Dependency.supplier>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E2'/>
+          </UML:Dependency.supplier>
+        </UML:Dependency>
+        <UML:UseCase xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E4'
+          name = 'Approve memberschip' isSpecification = 'false' isRoot = 'false'
+          isLeaf = 'false' isAbstract = 'false'/>
+        <UML:Dependency xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E5'
+          isSpecification = 'false'>
+          <UML:Dependency.client>
+            <UML:Actor xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D2'/>
+          </UML:Dependency.client>
+          <UML:Dependency.supplier>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E4'/>
+          </UML:Dependency.supplier>
+        </UML:Dependency>
+        <UML:Include xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E6'
+          isSpecification = 'false'>
+          <UML:Include.addition>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E4'/>
+          </UML:Include.addition>
+          <UML:Include.base>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E2'/>
+          </UML:Include.base>
+        </UML:Include>
+        <UML:Actor xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E7'
+          name = 'admin' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'>
+          <UML:ModelElement.clientDependency>
+            <UML:Dependency xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F8'/>
+            <UML:Dependency xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F9'/>
+          </UML:ModelElement.clientDependency>
+        </UML:Actor>
+        <UML:Actor xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E8'
+          name = 'moderator' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'>
+          <UML:ModelElement.clientDependency>
+            <UML:Dependency xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008ED'/>
+            <UML:Dependency xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F1'/>
+          </UML:ModelElement.clientDependency>
+        </UML:Actor>
+        <UML:Actor xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E9'
+          name = 'user' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'>
+          <UML:ModelElement.clientDependency>
+            <UML:Dependency xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EE'/>
+          </UML:ModelElement.clientDependency>
+        </UML:Actor>
+        <UML:Actor xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EA'
+          name = 'member' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'>
+          <UML:ModelElement.clientDependency>
+            <UML:Dependency xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008FA'/>
+            <UML:Dependency xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008FB'/>
+            <UML:Dependency xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008FC'/>
+          </UML:ModelElement.clientDependency>
+        </UML:Actor>
+        <UML:UseCase xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EB'
+          name = 'Request Membership' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'>
+          <UML:UseCase.include>
+            <UML:Include xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EF'/>
+          </UML:UseCase.include>
+        </UML:UseCase>
+        <UML:UseCase xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EC'
+          name = 'Approve Membership' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'/>
+        <UML:Dependency xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008ED'
+          isSpecification = 'false'>
+          <UML:Dependency.client>
+            <UML:Actor xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E8'/>
+          </UML:Dependency.client>
+          <UML:Dependency.supplier>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EC'/>
+          </UML:Dependency.supplier>
+        </UML:Dependency>
+        <UML:Dependency xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EE'
+          isSpecification = 'false'>
+          <UML:Dependency.client>
+            <UML:Actor xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E9'/>
+          </UML:Dependency.client>
+          <UML:Dependency.supplier>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EB'/>
+          </UML:Dependency.supplier>
+        </UML:Dependency>
+        <UML:Include xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EF'
+          isSpecification = 'false'>
+          <UML:Include.addition>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EC'/>
+          </UML:Include.addition>
+          <UML:Include.base>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EB'/>
+          </UML:Include.base>
+        </UML:Include>
+        <UML:UseCase xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F0'
+          name = 'moderate issues/comments' isSpecification = 'false' isRoot = 'false'
+          isLeaf = 'false' isAbstract = 'false'/>
+        <UML:Dependency xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F1'
+          isSpecification = 'false'>
+          <UML:Dependency.client>
+            <UML:Actor xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E8'/>
+          </UML:Dependency.client>
+          <UML:Dependency.supplier>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F0'/>
+          </UML:Dependency.supplier>
+        </UML:Dependency>
+        <UML:UseCase xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F2'
+          name = 'Create issue' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'/>
+        <UML:UseCase xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F3'
+          name = 'Alter issue' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'/>
+        <UML:UseCase xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F5'
+          name = 'set project properties' isSpecification = 'false' isRoot = 'false'
+          isLeaf = 'false' isAbstract = 'false'/>
+        <UML:UseCase xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F6'
+          name = 'change moderators' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'/>
+        <UML:UseCase xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F7'
+          name = 'Manage membership' isSpecification = 'false' isRoot = 'false' isLeaf = 'false'
+          isAbstract = 'false'/>
+        <UML:Dependency xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F8'
+          isSpecification = 'false'>
+          <UML:Dependency.client>
+            <UML:Actor xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E7'/>
+          </UML:Dependency.client>
+          <UML:Dependency.supplier>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F5'/>
+          </UML:Dependency.supplier>
+        </UML:Dependency>
+        <UML:Dependency xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F9'
+          isSpecification = 'false'>
+          <UML:Dependency.client>
+            <UML:Actor xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E7'/>
+          </UML:Dependency.client>
+          <UML:Dependency.supplier>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F6'/>
+          </UML:Dependency.supplier>
+        </UML:Dependency>
+        <UML:Dependency xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008FA'
+          isSpecification = 'false'>
+          <UML:Dependency.client>
+            <UML:Actor xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EA'/>
+          </UML:Dependency.client>
+          <UML:Dependency.supplier>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F3'/>
+          </UML:Dependency.supplier>
+        </UML:Dependency>
+        <UML:Dependency xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008FB'
+          isSpecification = 'false'>
+          <UML:Dependency.client>
+            <UML:Actor xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EA'/>
+          </UML:Dependency.client>
+          <UML:Dependency.supplier>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F2'/>
+          </UML:Dependency.supplier>
+        </UML:Dependency>
+        <UML:Dependency xmi.id = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008FC'
+          isSpecification = 'false'>
+          <UML:Dependency.client>
+            <UML:Actor xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EA'/>
+          </UML:Dependency.client>
+          <UML:Dependency.supplier>
+            <UML:UseCase xmi.idref = '-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F7'/>
+          </UML:Dependency.supplier>
+        </UML:Dependency>
+      </UML:Namespace.ownedElement>
+    </UML:Model>
+  </XMI.content>
+</XMI>
+<pgml description="org.argouml.uml.diagram.activity.ui.UMLActivityDiagram|-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007DB"
+      name="wl-maintenance-activity"
+>
+  <group name="Fig0"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[232, 88, 104, 51]pathVisible=false;"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007DD"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig0.0"
+      x="233"
+      y="89"
+      width="102"
+      height="49"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="51"
+    />
+    <rectangle name="Fig0.1"
+      x="232"
+      y="88"
+      width="104"
+      height="51"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="51"
+    />
+    <group name="Fig0.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[240, 88, 88, 2]"
+         href="-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007DD"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig0.2.0"
+        x="240"
+        y="88"
+        width="88"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig0.3"
+      x="240"
+      y="90"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Service Problem 
+notification </text>
+  </group>
+  <group name="Fig1"
+       description="org.argouml.uml.diagram.state.ui.FigInitialState[272, 40, 16, 16]pathVisible=false;"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007E0"
+       fill="1"
+       fillcolor="black"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig1.0"
+      x="280"
+      y="48"
+      rx="8"
+      ry="8"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="1"
+      strokecolor="0 255 255"
+    />
+    <ellipse name="Fig1.1"
+      x="280"
+      y="48"
+      rx="8"
+      ry="8"
+      fill="1"
+      fillcolor="black"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig2"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[224, 304, 108, 35]pathVisible=false;"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007E6"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig2.0"
+      x="225"
+      y="305"
+      width="106"
+      height="33"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="35"
+    />
+    <rectangle name="Fig2.1"
+      x="224"
+      y="304"
+      width="108"
+      height="35"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="35"
+    />
+    <group name="Fig2.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[232, 304, 92, 2]"
+         href="-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007E6"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig2.2.0"
+        x="232"
+        y="304"
+        width="92"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig2.3"
+      x="232"
+      y="306"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Validate problem</text>
+  </group>
+  <group name="Fig3"
+       description="org.argouml.uml.diagram.state.ui.FigJunctionState[264, 368, 32, 32]pathVisible=false;"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EA"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig3.0"
+      x="264"
+      y="368"
+      width="32"
+      height="32"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="1"
+      strokecolor="0 255 255"
+    />
+    <rectangle name="Fig3.1"
+      x="264"
+      y="368"
+      width="32"
+      height="32"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig4"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EB"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig2.0"
+      destPortFig="Fig3.0"
+      sourceFigNode="Fig2"
+      destFigNode="Fig3"
+    </private>
+    <path name="Fig4.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="280"
+              y="338" />
+      <lineto x="280"
+              y="368" />
+    </path>
+  </group>
+  <group name="Fig5"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EC"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig1.0"
+      destPortFig="Fig0.0"
+      sourceFigNode="Fig1"
+      destFigNode="Fig0"
+    </private>
+    <path name="Fig5.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="281"
+              y="55" />
+      <lineto x="281"
+              y="89" />
+    </path>
+  </group>
+  <group name="Fig6"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[216, 168, 137, 48]pathVisible=false;"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007ED"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig6.0"
+      x="217"
+      y="169"
+      width="135"
+      height="46"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="48"
+    />
+    <rectangle name="Fig6.1"
+      x="216"
+      y="168"
+      width="137"
+      height="48"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="48"
+    />
+    <group name="Fig6.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[224, 168, 121, 2]"
+         href="-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007ED"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig6.2.0"
+        x="224"
+        y="168"
+        width="121"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig6.3"
+      x="224"
+      y="170"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Time to start 
+solving problem?</text>
+  </group>
+  <group name="Fig7"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[40, 296, 109, 48]pathVisible=false;"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EE"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig7.0"
+      x="41"
+      y="297"
+      width="107"
+      height="46"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="48"
+    />
+    <rectangle name="Fig7.1"
+      x="40"
+      y="296"
+      width="109"
+      height="48"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="48"
+    />
+    <group name="Fig7.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[48, 296, 93, 2]"
+         href="-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007EE"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig7.2.0"
+        x="48"
+        y="296"
+        width="93"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig7.3"
+      x="48"
+      y="298"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Request 
+more information</text>
+  </group>
+  <group name="Fig8"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:00000000000007FC"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig3.0"
+      destPortFig="Fig7.0"
+      sourceFigNode="Fig3"
+      destFigNode="Fig7"
+    </private>
+    <path name="Fig8.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="264"
+              y="384" />
+      <lineto x="88"
+              y="384" />
+      <lineto x="88"
+              y="343" />
+    </path>
+  </group>
+  <group name="Fig9"
+       description="org.argouml.uml.diagram.state.ui.FigJunctionState[264, 240, 32, 32]pathVisible=false;"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000807"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig9.0"
+      x="264"
+      y="240"
+      width="32"
+      height="32"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="1"
+      strokecolor="0 255 255"
+    />
+    <rectangle name="Fig9.1"
+      x="264"
+      y="240"
+      width="32"
+      height="32"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig10"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000808"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig6.0"
+      destPortFig="Fig9.0"
+      sourceFigNode="Fig6"
+      destFigNode="Fig9"
+    </private>
+    <path name="Fig10.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="280"
+              y="215" />
+      <lineto x="280"
+              y="240" />
+    </path>
+  </group>
+  <group name="Fig11"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000809"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig9.0"
+      destPortFig="Fig0.0"
+      sourceFigNode="Fig9"
+      destFigNode="Fig0"
+    </private>
+    <path name="Fig11.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="264"
+              y="256" />
+      <lineto x="176"
+              y="256" />
+      <lineto x="176"
+              y="112" />
+      <lineto x="233"
+              y="112" />
+    </path>
+  </group>
+  <group name="Fig12"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:000000000000080C"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig9.0"
+      destPortFig="Fig2.0"
+      sourceFigNode="Fig9"
+      destFigNode="Fig2"
+    </private>
+    <path name="Fig12.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="280"
+              y="272" />
+      <lineto x="280"
+              y="305" />
+    </path>
+  </group>
+  <group name="Fig13"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:000000000000080F"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig0.0"
+      destPortFig="Fig6.0"
+      sourceFigNode="Fig0"
+      destFigNode="Fig6"
+    </private>
+    <path name="Fig13.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="280"
+              y="138" />
+      <lineto x="280"
+              y="169" />
+    </path>
+  </group>
+  <group name="Fig14"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000810"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig7.0"
+      destPortFig="Fig0.0"
+      sourceFigNode="Fig7"
+      destFigNode="Fig0"
+    </private>
+    <path name="Fig14.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="88"
+              y="297" />
+      <lineto x="88"
+              y="112" />
+      <lineto x="233"
+              y="112" />
+    </path>
+  </group>
+  <group name="Fig15"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[224, 424, 112, 48]pathVisible=false;"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000811"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig15.0"
+      x="225"
+      y="425"
+      width="110"
+      height="46"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="48"
+    />
+    <rectangle name="Fig15.1"
+      x="224"
+      y="424"
+      width="112"
+      height="48"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="48"
+    />
+    <group name="Fig15.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[232, 424, 96, 2]"
+         href="-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000811"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig15.2.0"
+        x="232"
+        y="424"
+        width="96"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig15.3"
+      x="232"
+      y="426"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Time to 
+solve problem?</text>
+  </group>
+  <group name="Fig16"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000812"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig3.0"
+      destPortFig="Fig15.0"
+      sourceFigNode="Fig3"
+      destFigNode="Fig15"
+    </private>
+    <path name="Fig16.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="280"
+              y="400" />
+      <lineto x="280"
+              y="425" />
+    </path>
+  </group>
+  <group name="Fig17"
+       description="org.argouml.uml.diagram.state.ui.FigJunctionState[264, 496, 32, 32]pathVisible=false;"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:000000000000081B"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig17.0"
+      x="264"
+      y="496"
+      width="32"
+      height="32"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="1"
+      strokecolor="0 255 255"
+    />
+    <rectangle name="Fig17.1"
+      x="264"
+      y="496"
+      width="32"
+      height="32"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig18"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:000000000000081C"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig15.0"
+      destPortFig="Fig17.0"
+      sourceFigNode="Fig15"
+      destFigNode="Fig17"
+    </private>
+    <path name="Fig18.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="280"
+              y="471" />
+      <lineto x="280"
+              y="496" />
+    </path>
+  </group>
+  <group name="Fig19"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[352, 248, 118, 35]pathVisible=false;"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:000000000000081D"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig19.0"
+      x="353"
+      y="249"
+      width="116"
+      height="33"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="35"
+    />
+    <rectangle name="Fig19.1"
+      x="352"
+      y="248"
+      width="118"
+      height="35"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="35"
+    />
+    <group name="Fig19.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[360, 248, 102, 2]"
+         href="-64--88-25-2--522f5ef:117371371a0:-8000:000000000000081D"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig19.2.0"
+        x="360"
+        y="248"
+        width="102"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig19.3"
+      x="360"
+      y="250"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Mark problem valid</text>
+  </group>
+  <group name="Fig20"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000822"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig17.0"
+      destPortFig="Fig19.0"
+      sourceFigNode="Fig17"
+      destFigNode="Fig19"
+    </private>
+    <path name="Fig20.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="296"
+              y="512" />
+      <lineto x="408"
+              y="512" />
+      <lineto x="408"
+              y="282" />
+    </path>
+  </group>
+  <group name="Fig21"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000825"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig19.0"
+      destPortFig="Fig0.0"
+      sourceFigNode="Fig19"
+      destFigNode="Fig0"
+    </private>
+    <path name="Fig21.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="408"
+              y="249" />
+      <lineto x="408"
+              y="112" />
+      <lineto x="335"
+              y="112" />
+    </path>
+  </group>
+  <group name="Fig22"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[232, 552, 93, 35]pathVisible=false;"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000826"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig22.0"
+      x="233"
+      y="553"
+      width="91"
+      height="33"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="35"
+    />
+    <rectangle name="Fig22.1"
+      x="232"
+      y="552"
+      width="93"
+      height="35"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="35"
+    />
+    <group name="Fig22.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[240, 552, 77, 2]"
+         href="-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000826"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig22.2.0"
+        x="240"
+        y="552"
+        width="77"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig22.3"
+      x="240"
+      y="554"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Solve problem</text>
+  </group>
+  <group name="Fig23"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000829"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig17.0"
+      destPortFig="Fig22.0"
+      sourceFigNode="Fig17"
+      destFigNode="Fig22"
+    </private>
+    <path name="Fig23.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="280"
+              y="528" />
+      <lineto x="280"
+              y="553" />
+    </path>
+  </group>
+  <group name="Fig24"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[216, 624, 128, 35]pathVisible=false;"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:000000000000082C"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig24.0"
+      x="217"
+      y="625"
+      width="126"
+      height="33"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="35"
+    />
+    <rectangle name="Fig24.1"
+      x="216"
+      y="624"
+      width="128"
+      height="35"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="35"
+    />
+    <group name="Fig24.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[224, 624, 112, 2]"
+         href="-64--88-25-2--522f5ef:117371371a0:-8000:000000000000082C"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig24.2.0"
+        x="224"
+        y="624"
+        width="112"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig24.3"
+      x="224"
+      y="626"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Report problem fixed</text>
+  </group>
+  <group name="Fig25"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000830"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig22.0"
+      destPortFig="Fig24.0"
+      sourceFigNode="Fig22"
+      destFigNode="Fig24"
+    </private>
+    <path name="Fig25.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="280"
+              y="586" />
+      <lineto x="280"
+              y="625" />
+    </path>
+  </group>
+  <group name="Fig26"
+       description="org.argouml.uml.diagram.state.ui.FigFinalState[264, 704, 24, 24]pathVisible=false;"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000831"
+       fill="1"
+       fillcolor="black"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig26.0"
+      x="276"
+      y="716"
+      rx="12"
+      ry="12"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig26.1"
+      x="276"
+      y="716"
+      rx="7"
+      ry="7"
+      fill="1"
+      fillcolor="black"
+      stroke="0"
+      strokecolor="85 85 170"
+    />
+  </group>
+  <group name="Fig27"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--522f5ef:117371371a0:-8000:0000000000000832"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig24.0"
+      destPortFig="Fig26.0"
+      sourceFigNode="Fig24"
+      destFigNode="Fig26"
+    </private>
+    <path name="Fig27.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="279"
+              y="658" />
+      <lineto x="279"
+              y="704" />
+    </path>
+  </group>
+</pgml>
+<pgml description="org.argouml.uml.diagram.activity.ui.UMLActivityDiagram|-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000815"
+      name="wl-construction-activity"
+>
+  <group name="Fig0"
+       description="org.argouml.uml.diagram.state.ui.FigInitialState[328, 0, 16, 16]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000817"
+       fill="1"
+       fillcolor="black"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig0.0"
+      x="336"
+      y="8"
+      rx="8"
+      ry="8"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="1"
+      strokecolor="0 255 255"
+    />
+    <ellipse name="Fig0.1"
+      x="336"
+      y="8"
+      rx="8"
+      ry="8"
+      fill="1"
+      fillcolor="black"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig1"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[280, 32, 105, 61]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000818"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig1.0"
+      x="281"
+      y="33"
+      width="103"
+      height="59"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="61"
+    />
+    <rectangle name="Fig1.1"
+      x="280"
+      y="32"
+      width="105"
+      height="61"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="61"
+    />
+    <group name="Fig1.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[288, 32, 89, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000818"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig1.2.0"
+        x="288"
+        y="32"
+        width="89"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig1.3"
+      x="288"
+      y="34"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Potential
+Location
+to build node</text>
+  </group>
+  <group name="Fig2"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000081E"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig0.0"
+      destPortFig="Fig1.0"
+      sourceFigNode="Fig0"
+      destFigNode="Fig1"
+    </private>
+    <path name="Fig2.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="338"
+              y="15" />
+      <lineto x="338"
+              y="33" />
+    </path>
+  </group>
+  <group name="Fig3"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[584, 416, 107, 35]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000821"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig3.0"
+      x="585"
+      y="417"
+      width="105"
+      height="33"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="35"
+    />
+    <rectangle name="Fig3.1"
+      x="584"
+      y="416"
+      width="107"
+      height="35"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="35"
+    />
+    <group name="Fig3.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[592, 416, 91, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000821"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig3.2.0"
+        x="592"
+        y="416"
+        width="91"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig3.3"
+      x="592"
+      y="418"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Find sponsorship</text>
+  </group>
+  <group name="Fig4"
+       description="org.argouml.uml.diagram.state.ui.FigJoinState[240, 392, 184, 7]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000826"
+       fill="1"
+       fillcolor="black"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig4.0"
+      x="240"
+      y="392"
+      width="184"
+      height="7"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="1"
+      strokecolor="0 255 255"
+    />
+    <rectangle name="Fig4.1"
+      x="240"
+      y="392"
+      width="184"
+      height="7"
+      fill="1"
+      fillcolor="black"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig5"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[368, 424, 103, 35]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000827"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig5.0"
+      x="369"
+      y="425"
+      width="101"
+      height="33"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="35"
+    />
+    <rectangle name="Fig5.1"
+      x="368"
+      y="424"
+      width="103"
+      height="35"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="35"
+    />
+    <group name="Fig5.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[376, 424, 87, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000827"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig5.2.0"
+        x="376"
+        y="424"
+        width="87"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig5.3"
+      x="376"
+      y="426"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Budget available</text>
+  </group>
+  <group name="Fig6"
+       description="org.argouml.uml.diagram.state.ui.FigJunctionState[488, 424, 32, 32]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000082B"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig6.0"
+      x="488"
+      y="424"
+      width="32"
+      height="32"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="1"
+      strokecolor="0 255 255"
+    />
+    <rectangle name="Fig6.1"
+      x="488"
+      y="424"
+      width="32"
+      height="32"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig7"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000082C"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig5.0"
+      destPortFig="Fig6.0"
+      sourceFigNode="Fig5"
+      destFigNode="Fig6"
+    </private>
+    <path name="Fig7.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="470"
+              y="440" />
+      <lineto x="488"
+              y="440" />
+    </path>
+  </group>
+  <group name="Fig8"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000082D"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig6.0"
+      destPortFig="Fig3.0"
+      sourceFigNode="Fig6"
+      destFigNode="Fig3"
+    </private>
+    <path name="Fig8.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="520"
+              y="440" />
+      <lineto x="585"
+              y="440" />
+    </path>
+  </group>
+  <group name="Fig9"
+       description="org.argouml.uml.diagram.state.ui.FigJunctionState[488, 472, 32, 32]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000830"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig9.0"
+      x="488"
+      y="472"
+      width="32"
+      height="32"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="1"
+      strokecolor="0 255 255"
+    />
+    <rectangle name="Fig9.1"
+      x="488"
+      y="472"
+      width="32"
+      height="32"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig10"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000831"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig6.0"
+      destPortFig="Fig9.0"
+      sourceFigNode="Fig6"
+      destFigNode="Fig9"
+    </private>
+    <path name="Fig10.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="504"
+              y="456" />
+      <lineto x="504"
+              y="472" />
+    </path>
+  </group>
+  <group name="Fig11"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000834"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig3.0"
+      destPortFig="Fig9.0"
+      sourceFigNode="Fig3"
+      destFigNode="Fig9"
+    </private>
+    <path name="Fig11.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="640"
+              y="450" />
+      <lineto x="640"
+              y="488" />
+      <lineto x="520"
+              y="488" />
+    </path>
+  </group>
+  <group name="Fig12"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[272, 104, 139, 61]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000836"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig12.0"
+      x="273"
+      y="105"
+      width="137"
+      height="59"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="61"
+    />
+    <rectangle name="Fig12.1"
+      x="272"
+      y="104"
+      width="139"
+      height="61"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="61"
+    />
+    <group name="Fig12.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[280, 104, 123, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000836"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig12.2.0"
+        x="280"
+        y="104"
+        width="123"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig12.3"
+      x="280"
+      y="106"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Intiate contact
+and make sitesurvey
+to inspect possibilities</text>
+  </group>
+  <group name="Fig13"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000839"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig1.0"
+      destPortFig="Fig12.0"
+      sourceFigNode="Fig1"
+      destFigNode="Fig12"
+    </private>
+    <path name="Fig13.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="336"
+              y="92" />
+      <lineto x="336"
+              y="105" />
+    </path>
+  </group>
+  <group name="Fig14"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000083B"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig4.0"
+      destPortFig="Fig5.0"
+      sourceFigNode="Fig4"
+      destFigNode="Fig5"
+    </private>
+    <path name="Fig14.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="424"
+              y="399" />
+      <lineto x="424"
+              y="425" />
+    </path>
+  </group>
+  <group name="Fig15"
+       description="org.argouml.uml.diagram.state.ui.FigJunctionState[320, 288, 32, 32]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000083D"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig15.0"
+      x="320"
+      y="288"
+      width="32"
+      height="32"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="1"
+      strokecolor="0 255 255"
+    />
+    <rectangle name="Fig15.1"
+      x="320"
+      y="288"
+      width="32"
+      height="32"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig16"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[288, 232, 110, 35]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000083F"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig16.0"
+      x="289"
+      y="233"
+      width="108"
+      height="33"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="35"
+    />
+    <rectangle name="Fig16.1"
+      x="288"
+      y="232"
+      width="110"
+      height="35"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="35"
+    />
+    <group name="Fig16.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[296, 232, 94, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000083F"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig16.2.0"
+        x="296"
+        y="232"
+        width="94"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig16.3"
+      x="296"
+      y="234"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Location useable?</text>
+  </group>
+  <group name="Fig17"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000843"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig16.0"
+      destPortFig="Fig15.0"
+      sourceFigNode="Fig16"
+      destFigNode="Fig15"
+    </private>
+    <path name="Fig17.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="336"
+              y="266" />
+      <lineto x="336"
+              y="288" />
+    </path>
+  </group>
+  <group name="Fig18"
+       description="org.argouml.uml.diagram.state.ui.FigFinalState[72, 288, 24, 24]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000847"
+       fill="1"
+       fillcolor="black"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig18.0"
+      x="84"
+      y="300"
+      rx="12"
+      ry="12"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig18.1"
+      x="84"
+      y="300"
+      rx="7"
+      ry="7"
+      fill="1"
+      fillcolor="black"
+      stroke="0"
+      strokecolor="85 85 170"
+    />
+  </group>
+  <group name="Fig19"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[288, 184, 111, 35]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000848"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig19.0"
+      x="289"
+      y="185"
+      width="109"
+      height="33"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="35"
+    />
+    <rectangle name="Fig19.1"
+      x="288"
+      y="184"
+      width="111"
+      height="35"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="35"
+    />
+    <group name="Fig19.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[296, 184, 95, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000848"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig19.2.0"
+        x="296"
+        y="184"
+        width="95"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig19.3"
+      x="296"
+      y="186"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Document finding</text>
+  </group>
+  <group name="Fig20"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000084D"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig12.0"
+      destPortFig="Fig19.0"
+      sourceFigNode="Fig12"
+      destFigNode="Fig19"
+    </private>
+    <path name="Fig20.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="336"
+              y="164" />
+      <lineto x="336"
+              y="185" />
+    </path>
+  </group>
+  <group name="Fig21"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000084E"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig19.0"
+      destPortFig="Fig16.0"
+      sourceFigNode="Fig19"
+      destFigNode="Fig16"
+    </private>
+    <path name="Fig21.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="336"
+              y="218" />
+      <lineto x="336"
+              y="233" />
+    </path>
+  </group>
+  <group name="Fig22"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[144, 288, 92, 48]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000084F"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig22.0"
+      x="145"
+      y="289"
+      width="90"
+      height="46"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="48"
+    />
+    <rectangle name="Fig22.1"
+      x="144"
+      y="288"
+      width="92"
+      height="48"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="48"
+    />
+    <group name="Fig22.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[152, 288, 76, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000084F"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig22.2.0"
+        x="152"
+        y="288"
+        width="76"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig22.3"
+      x="152"
+      y="290"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Document
+conclusions</text>
+  </group>
+  <group name="Fig23"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000850"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig15.0"
+      destPortFig="Fig22.0"
+      sourceFigNode="Fig15"
+      destFigNode="Fig22"
+    </private>
+    <path name="Fig23.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="320"
+              y="304" />
+      <lineto x="235"
+              y="304" />
+    </path>
+  </group>
+  <group name="Fig24"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000853"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig22.0"
+      destPortFig="Fig18.0"
+      sourceFigNode="Fig22"
+      destFigNode="Fig18"
+    </private>
+    <path name="Fig24.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="145"
+              y="302" />
+      <lineto x="95"
+              y="302" />
+    </path>
+  </group>
+  <group name="Fig25"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[288, 336, 90, 35]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000857"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig25.0"
+      x="289"
+      y="337"
+      width="88"
+      height="33"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="35"
+    />
+    <rectangle name="Fig25.1"
+      x="288"
+      y="336"
+      width="90"
+      height="35"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="35"
+    />
+    <group name="Fig25.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[296, 336, 74, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000857"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig25.2.0"
+        x="296"
+        y="336"
+        width="74"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig25.3"
+      x="296"
+      y="338"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Create plan</text>
+  </group>
+  <group name="Fig26"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000085A"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig15.0"
+      destPortFig="Fig25.0"
+      sourceFigNode="Fig15"
+      destFigNode="Fig25"
+    </private>
+    <path name="Fig26.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="336"
+              y="320" />
+      <lineto x="336"
+              y="337" />
+    </path>
+  </group>
+  <group name="Fig27"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000085D"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig25.0"
+      destPortFig="Fig4.0"
+      sourceFigNode="Fig25"
+      destFigNode="Fig4"
+    </private>
+    <path name="Fig27.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="336"
+              y="370" />
+      <lineto x="336"
+              y="392" />
+    </path>
+  </group>
+  <group name="Fig28"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[192, 424, 97, 48]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000085F"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig28.0"
+      x="193"
+      y="425"
+      width="95"
+      height="46"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="48"
+    />
+    <rectangle name="Fig28.1"
+      x="192"
+      y="424"
+      width="97"
+      height="48"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="48"
+    />
+    <group name="Fig28.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[200, 424, 81, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000085F"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig28.2.0"
+        x="200"
+        y="424"
+        width="81"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig28.3"
+      x="200"
+      y="426"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Approve plan
+building owner</text>
+  </group>
+  <group name="Fig29"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000862"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig4.0"
+      destPortFig="Fig28.0"
+      sourceFigNode="Fig4"
+      destFigNode="Fig28"
+    </private>
+    <path name="Fig29.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="240"
+              y="399" />
+      <lineto x="240"
+              y="425" />
+    </path>
+  </group>
+  <group name="Fig30"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[368, 544, 112, 35]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000863"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig30.0"
+      x="369"
+      y="545"
+      width="110"
+      height="33"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="35"
+    />
+    <rectangle name="Fig30.1"
+      x="368"
+      y="544"
+      width="112"
+      height="35"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="35"
+    />
+    <group name="Fig30.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[376, 544, 96, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000863"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig30.2.0"
+        x="376"
+        y="544"
+        width="96"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig30.3"
+      x="376"
+      y="546"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Order equipment</text>
+  </group>
+  <group name="Fig31"
+       description="org.argouml.uml.diagram.state.ui.FigJoinState[240, 488, 184, 7]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000867"
+       fill="1"
+       fillcolor="black"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig31.0"
+      x="240"
+      y="488"
+      width="184"
+      height="7"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="1"
+      strokecolor="0 255 255"
+    />
+    <rectangle name="Fig31.1"
+      x="240"
+      y="488"
+      width="184"
+      height="7"
+      fill="1"
+      fillcolor="black"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig32"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000868"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig28.0"
+      destPortFig="Fig31.0"
+      sourceFigNode="Fig28"
+      destFigNode="Fig31"
+    </private>
+    <path name="Fig32.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="240"
+              y="471" />
+      <lineto x="240"
+              y="488" />
+    </path>
+  </group>
+  <group name="Fig33"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000869"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig9.0"
+      destPortFig="Fig31.0"
+      sourceFigNode="Fig9"
+      destFigNode="Fig31"
+    </private>
+    <path name="Fig33.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="488"
+              y="488" />
+      <lineto x="424"
+              y="488" />
+    </path>
+  </group>
+  <group name="Fig34"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[152, 544, 92, 48]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000086A"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig34.0"
+      x="153"
+      y="545"
+      width="90"
+      height="46"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="48"
+    />
+    <rectangle name="Fig34.1"
+      x="152"
+      y="544"
+      width="92"
+      height="48"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="48"
+    />
+    <group name="Fig34.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[160, 544, 76, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000086A"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig34.2.0"
+        x="160"
+        y="544"
+        width="76"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig34.3"
+      x="160"
+      y="546"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Plan building
+node</text>
+  </group>
+  <group name="Fig35"
+       description="org.argouml.uml.diagram.state.ui.FigForkState[200, 512, 224, 7]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000873"
+       fill="1"
+       fillcolor="black"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig35.0"
+      x="200"
+      y="512"
+      width="224"
+      height="7"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="1"
+      strokecolor="0 255 255"
+    />
+    <rectangle name="Fig35.1"
+      x="200"
+      y="512"
+      width="224"
+      height="7"
+      fill="1"
+      fillcolor="black"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig36"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000874"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig31.0"
+      destPortFig="Fig35.0"
+      sourceFigNode="Fig31"
+      destFigNode="Fig35"
+    </private>
+    <path name="Fig36.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="336"
+              y="495" />
+      <lineto x="336"
+              y="512" />
+    </path>
+  </group>
+  <group name="Fig37"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000875"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig35.0"
+      destPortFig="Fig34.0"
+      sourceFigNode="Fig35"
+      destFigNode="Fig34"
+    </private>
+    <path name="Fig37.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="200"
+              y="519" />
+      <lineto x="200"
+              y="545" />
+    </path>
+  </group>
+  <group name="Fig38"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000876"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig35.0"
+      destPortFig="Fig30.0"
+      sourceFigNode="Fig35"
+      destFigNode="Fig30"
+    </private>
+    <path name="Fig38.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="424"
+              y="519" />
+      <lineto x="424"
+              y="545" />
+    </path>
+  </group>
+  <group name="Fig39"
+       description="org.argouml.uml.diagram.state.ui.FigJoinState[312, 608, 112, 7]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000877"
+       fill="1"
+       fillcolor="black"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig39.0"
+      x="312"
+      y="608"
+      width="112"
+      height="7"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="1"
+      strokecolor="0 255 255"
+    />
+    <rectangle name="Fig39.1"
+      x="312"
+      y="608"
+      width="112"
+      height="7"
+      fill="1"
+      fillcolor="black"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig40"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[152, 608, 90, 35]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000878"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig40.0"
+      x="153"
+      y="609"
+      width="88"
+      height="33"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="35"
+    />
+    <rectangle name="Fig40.1"
+      x="152"
+      y="608"
+      width="90"
+      height="35"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="35"
+    />
+    <group name="Fig40.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[160, 608, 74, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000878"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig40.2.0"
+        x="160"
+        y="608"
+        width="74"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig40.3"
+      x="160"
+      y="610"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Find builders</text>
+  </group>
+  <group name="Fig41"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000087D"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig30.0"
+      destPortFig="Fig39.0"
+      sourceFigNode="Fig30"
+      destFigNode="Fig39"
+    </private>
+    <path name="Fig41.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="424"
+              y="578" />
+      <lineto x="424"
+              y="608" />
+    </path>
+  </group>
+  <group name="Fig42"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[224, 704, 90, 35]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000087E"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig42.0"
+      x="225"
+      y="705"
+      width="88"
+      height="33"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="35"
+    />
+    <rectangle name="Fig42.1"
+      x="224"
+      y="704"
+      width="90"
+      height="35"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="35"
+    />
+    <group name="Fig42.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[232, 704, 74, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000087E"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig42.2.0"
+        x="232"
+        y="704"
+        width="74"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig42.3"
+      x="232"
+      y="706"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Build node</text>
+  </group>
+  <group name="Fig43"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[136, 784, 105, 48]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000882"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig43.0"
+      x="137"
+      y="785"
+      width="103"
+      height="46"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="48"
+    />
+    <rectangle name="Fig43.1"
+      x="136"
+      y="784"
+      width="105"
+      height="48"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="48"
+    />
+    <group name="Fig43.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[144, 784, 89, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000882"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig43.2.0"
+        x="144"
+        y="784"
+        width="89"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig43.3"
+      x="144"
+      y="786"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Document result
+setup</text>
+  </group>
+  <group name="Fig44"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[256, 544, 107, 48]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000886"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig44.0"
+      x="257"
+      y="545"
+      width="105"
+      height="46"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="48"
+    />
+    <rectangle name="Fig44.1"
+      x="256"
+      y="544"
+      width="107"
+      height="48"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="48"
+    />
+    <group name="Fig44.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[264, 544, 91, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000886"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig44.2.0"
+        x="264"
+        y="544"
+        width="91"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig44.3"
+      x="264"
+      y="546"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Create technical 
+configuration</text>
+  </group>
+  <group name="Fig45"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000889"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig44.0"
+      destPortFig="Fig39.0"
+      sourceFigNode="Fig44"
+      destFigNode="Fig39"
+    </private>
+    <path name="Fig45.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="312"
+              y="591" />
+      <lineto x="312"
+              y="608" />
+    </path>
+  </group>
+  <group name="Fig46"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[320, 632, 106, 35]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088A"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig46.0"
+      x="321"
+      y="633"
+      width="104"
+      height="33"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="35"
+    />
+    <rectangle name="Fig46.1"
+      x="320"
+      y="632"
+      width="106"
+      height="35"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="35"
+    />
+    <group name="Fig46.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[328, 632, 90, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088A"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig46.2.0"
+        x="328"
+        y="632"
+        width="90"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig46.3"
+      x="328"
+      y="634"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Prepare machine</text>
+  </group>
+  <group name="Fig47"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088D"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig39.0"
+      destPortFig="Fig46.0"
+      sourceFigNode="Fig39"
+      destFigNode="Fig46"
+    </private>
+    <path name="Fig47.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="368"
+              y="615" />
+      <lineto x="368"
+              y="633" />
+    </path>
+  </group>
+  <group name="Fig48"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088E"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig34.0"
+      destPortFig="Fig40.0"
+      sourceFigNode="Fig34"
+      destFigNode="Fig40"
+    </private>
+    <path name="Fig48.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="200"
+              y="591" />
+      <lineto x="200"
+              y="609" />
+    </path>
+  </group>
+  <group name="Fig49"
+       description="org.argouml.uml.diagram.state.ui.FigJoinState[200, 680, 168, 7]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000088F"
+       fill="1"
+       fillcolor="black"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig49.0"
+      x="200"
+      y="680"
+      width="168"
+      height="7"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="1"
+      strokecolor="0 255 255"
+    />
+    <rectangle name="Fig49.1"
+      x="200"
+      y="680"
+      width="168"
+      height="7"
+      fill="1"
+      fillcolor="black"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig50"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000890"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig46.0"
+      destPortFig="Fig49.0"
+      sourceFigNode="Fig46"
+      destFigNode="Fig49"
+    </private>
+    <path name="Fig50.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="368"
+              y="666" />
+      <lineto x="368"
+              y="680" />
+    </path>
+  </group>
+  <group name="Fig51"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000891"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig40.0"
+      destPortFig="Fig49.0"
+      sourceFigNode="Fig40"
+      destFigNode="Fig49"
+    </private>
+    <path name="Fig51.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="208"
+              y="642" />
+      <lineto x="208"
+              y="680" />
+    </path>
+  </group>
+  <group name="Fig52"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000892"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig49.0"
+      destPortFig="Fig42.0"
+      sourceFigNode="Fig49"
+      destFigNode="Fig42"
+    </private>
+    <path name="Fig52.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="272"
+              y="687" />
+      <lineto x="272"
+              y="705" />
+    </path>
+  </group>
+  <group name="Fig53"
+       description="org.argouml.uml.diagram.state.ui.FigForkState[192, 752, 168, 7]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000895"
+       fill="1"
+       fillcolor="black"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig53.0"
+      x="192"
+      y="752"
+      width="168"
+      height="7"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="1"
+      strokecolor="0 255 255"
+    />
+    <rectangle name="Fig53.1"
+      x="192"
+      y="752"
+      width="168"
+      height="7"
+      fill="1"
+      fillcolor="black"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig54"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[296, 784, 119, 48]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000896"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig54.0"
+      x="297"
+      y="785"
+      width="117"
+      height="46"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="48"
+    />
+    <rectangle name="Fig54.1"
+      x="296"
+      y="784"
+      width="119"
+      height="48"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="48"
+    />
+    <group name="Fig54.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[304, 784, 103, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:0000000000000896"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig54.2.0"
+        x="304"
+        y="784"
+        width="103"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig54.3"
+      x="304"
+      y="786"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Hardware/software
+testing</text>
+  </group>
+  <group name="Fig55"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000089D"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig42.0"
+      destPortFig="Fig53.0"
+      sourceFigNode="Fig42"
+      destFigNode="Fig53"
+    </private>
+    <path name="Fig55.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="272"
+              y="738" />
+      <lineto x="272"
+              y="752" />
+    </path>
+  </group>
+  <group name="Fig56"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000089E"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig53.0"
+      destPortFig="Fig43.0"
+      sourceFigNode="Fig53"
+      destFigNode="Fig43"
+    </private>
+    <path name="Fig56.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="200"
+              y="759" />
+      <lineto x="200"
+              y="785" />
+    </path>
+  </group>
+  <group name="Fig57"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:000000000000089F"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig53.0"
+      destPortFig="Fig54.0"
+      sourceFigNode="Fig53"
+      destFigNode="Fig54"
+    </private>
+    <path name="Fig57.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="352"
+              y="759" />
+      <lineto x="352"
+              y="785" />
+    </path>
+  </group>
+  <group name="Fig58"
+       description="org.argouml.uml.diagram.state.ui.FigJoinState[192, 864, 168, 7]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A0"
+       fill="1"
+       fillcolor="black"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig58.0"
+      x="192"
+      y="864"
+      width="168"
+      height="7"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="1"
+      strokecolor="0 255 255"
+    />
+    <rectangle name="Fig58.1"
+      x="192"
+      y="864"
+      width="168"
+      height="7"
+      fill="1"
+      fillcolor="black"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig59"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A1"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig43.0"
+      destPortFig="Fig58.0"
+      sourceFigNode="Fig43"
+      destFigNode="Fig58"
+    </private>
+    <path name="Fig59.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="200"
+              y="831" />
+      <lineto x="200"
+              y="864" />
+    </path>
+  </group>
+  <group name="Fig60"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A2"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig54.0"
+      destPortFig="Fig58.0"
+      sourceFigNode="Fig54"
+      destFigNode="Fig58"
+    </private>
+    <path name="Fig60.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="352"
+              y="831" />
+      <lineto x="352"
+              y="864" />
+    </path>
+  </group>
+  <group name="Fig61"
+       description="org.argouml.uml.diagram.activity.ui.FigActionState[224, 896, 109, 35]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A3"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig61.0"
+      x="225"
+      y="897"
+      width="107"
+      height="33"
+      fill="1"
+      fillcolor="0 255 255"
+      stroke="0"
+      strokecolor="0 255 255"
+      rounding="35"
+    />
+    <rectangle name="Fig61.1"
+      x="224"
+      y="896"
+      width="109"
+      height="35"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      rounding="35"
+    />
+    <group name="Fig61.2"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[232, 896, 93, 2]"
+         href="-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A3"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig61.2.0"
+        x="232"
+        y="896"
+        width="93"
+        height="2"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig61.3"
+      x="232"
+      y="898"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Evalutate process</text>
+  </group>
+  <group name="Fig62"
+       description="org.argouml.uml.diagram.state.ui.FigFinalState[248, 960, 24, 24]pathVisible=false;"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A4"
+       fill="1"
+       fillcolor="black"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig62.0"
+      x="260"
+      y="972"
+      rx="12"
+      ry="12"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig62.1"
+      x="260"
+      y="972"
+      rx="7"
+      ry="7"
+      fill="1"
+      fillcolor="black"
+      stroke="0"
+      strokecolor="85 85 170"
+    />
+  </group>
+  <group name="Fig63"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A5"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig58.0"
+      destPortFig="Fig61.0"
+      sourceFigNode="Fig58"
+      destFigNode="Fig61"
+    </private>
+    <path name="Fig63.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="272"
+              y="871" />
+      <lineto x="272"
+              y="897" />
+    </path>
+  </group>
+  <group name="Fig64"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008A6"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig61.0"
+      destPortFig="Fig62.0"
+      sourceFigNode="Fig61"
+      destFigNode="Fig62"
+    </private>
+    <path name="Fig64.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="265"
+              y="930" />
+      <lineto x="265"
+              y="961" />
+    </path>
+  </group>
+  <group name="Fig65"
+       description="org.argouml.uml.diagram.state.ui.FigTransition"
+       href="-64--88-25-2--6e282b8e:1173bd40161:-8000:00000000000008AF"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig35.0"
+      destPortFig="Fig44.0"
+      sourceFigNode="Fig35"
+      destFigNode="Fig44"
+    </private>
+    <path name="Fig65.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="304"
+              y="519" />
+      <lineto x="304"
+              y="545" />
+    </path>
+  </group>
+</pgml>
+<pgml description="org.argouml.uml.diagram.static_structure.ui.UMLClassDiagram|-64--88-25-2--1516b24e:117370f8f5b:-8000:000000000000077B"
+      name="maintenance"
+>
+  <group name="Fig0"
+       description="org.argouml.uml.diagram.static_structure.ui.FigClass[240, 32, 173, 118]pathVisible=false;operationsVisible=true;attributesVisible=true"
+       href="-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000885"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig0.0"
+      x="240"
+      y="32"
+      width="173"
+      height="118"
+      fill="1"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+    />
+    <group name="Fig0.1"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[240, 32, 173, 2]"
+         href="-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000885"
+         fill="1"
+         fillcolor="white"
+         stroke="1"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig0.1.0"
+        x="240"
+        y="32"
+        width="173"
+        height="2"
+        fill="1"
+        fillcolor="white"
+        stroke="1"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig0.2"
+      x="240"
+      y="34"
+      fill="1"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="red"
+      font="Dialog"
+      textsize="10"
+    >problem</text>
+    <group name="Fig0.3"
+         description="org.argouml.uml.diagram.ui.FigOperationsCompartment[241, 103, 172, 47]"
+         fill="1"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig0.3.0"
+        x="241"
+        y="103"
+        width="172"
+        height="47"
+        fill="1"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+      <path name="Fig0.3.1"
+        description="org.argouml.uml.diagram.ui.FigFeaturesCompartment$FigSeperator"
+        fill="1"
+        fillcolor="white"
+        stroke="1"
+        strokecolor="black"
+      >
+        <moveto x="241"
+                y="103" />
+        <lineto x="413"
+                y="103" />
+      </path>
+      <text name="Fig0.3.2"
+        x="241"
+        y="104"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        font="Dialog"
+        textsize="10"
+      >reportProblem(desc : String) : void</text>
+      <text name="Fig0.3.3"
+        x="241"
+        y="117"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        font="Dialog"
+        textsize="10"
+      >solveProblem() : void</text>
+      <text name="Fig0.3.4"
+        x="241"
+        y="130"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        font="Dialog"
+        textsize="10"
+      >validateProblem() : void</text>
+    </group>
+    <group name="Fig0.4"
+         description="org.argouml.uml.diagram.ui.FigAttributesCompartment[241, 55, 172, 47]"
+         fill="1"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig0.4.0"
+        x="241"
+        y="55"
+        width="172"
+        height="47"
+        fill="1"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+      <path name="Fig0.4.1"
+        description="org.argouml.uml.diagram.ui.FigFeaturesCompartment$FigSeperator"
+        fill="1"
+        fillcolor="white"
+        stroke="1"
+        strokecolor="black"
+      >
+        <moveto x="241"
+                y="55" />
+        <lineto x="413"
+                y="55" />
+      </path>
+      <text name="Fig0.4.2"
+        x="241"
+        y="56"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        font="Dialog"
+        textsize="10"
+      >description : String</text>
+      <text name="Fig0.4.3"
+        x="241"
+        y="69"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        font="Dialog"
+        textsize="10"
+      >valid : boolean</text>
+      <text name="Fig0.4.4"
+        x="241"
+        y="82"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        font="Dialog"
+        textsize="10"
+      >solved : boolean</text>
+    </group>
+    <rectangle name="Fig0.5"
+      x="240"
+      y="32"
+      width="173"
+      height="118"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig1"
+       description="org.argouml.uml.diagram.static_structure.ui.FigClass[32, 216, 111, 92]pathVisible=false;operationsVisible=true;attributesVisible=true"
+       href="-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000887"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig1.0"
+      x="32"
+      y="216"
+      width="111"
+      height="92"
+      fill="1"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+    />
+    <group name="Fig1.1"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[32, 216, 111, 2]"
+         href="-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000887"
+         fill="1"
+         fillcolor="white"
+         stroke="1"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig1.1.0"
+        x="32"
+        y="216"
+        width="111"
+        height="2"
+        fill="1"
+        fillcolor="white"
+        stroke="1"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig1.2"
+      x="32"
+      y="218"
+      fill="1"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="red"
+      font="Dialog"
+      textsize="10"
+    >user</text>
+    <group name="Fig1.3"
+         description="org.argouml.uml.diagram.ui.FigOperationsCompartment[33, 280, 110, 27]"
+         fill="1"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig1.3.0"
+        x="33"
+        y="280"
+        width="110"
+        height="27"
+        fill="1"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+      <path name="Fig1.3.1"
+        description="org.argouml.uml.diagram.ui.FigFeaturesCompartment$FigSeperator"
+        fill="1"
+        fillcolor="white"
+        stroke="1"
+        strokecolor="black"
+      >
+        <moveto x="33"
+                y="280" />
+        <lineto x="143"
+                y="280" />
+      </path>
+      <text name="Fig1.3.2"
+        x="33"
+        y="281"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        font="Dialog"
+        textsize="10"
+      >gotTime() : boolean</text>
+    </group>
+    <group name="Fig1.4"
+         description="org.argouml.uml.diagram.ui.FigAttributesCompartment[33, 239, 110, 40]"
+         fill="1"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig1.4.0"
+        x="33"
+        y="239"
+        width="110"
+        height="40"
+        fill="1"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+      <path name="Fig1.4.1"
+        description="org.argouml.uml.diagram.ui.FigFeaturesCompartment$FigSeperator"
+        fill="1"
+        fillcolor="white"
+        stroke="1"
+        strokecolor="black"
+      >
+        <moveto x="33"
+                y="239" />
+        <lineto x="143"
+                y="239" />
+      </path>
+      <text name="Fig1.4.2"
+        x="33"
+        y="240"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        font="Dialog"
+        textsize="10"
+      >email : String</text>
+      <text name="Fig1.4.3"
+        x="33"
+        y="253"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        font="Dialog"
+        textsize="10"
+      >name : String</text>
+    </group>
+    <rectangle name="Fig1.5"
+      x="32"
+      y="216"
+      width="111"
+      height="92"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig2"
+       description="org.argouml.uml.diagram.static_structure.ui.FigClass[240, 216, 243, 92]pathVisible=false;operationsVisible=true;attributesVisible=true"
+       href="-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000936"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig2.0"
+      x="240"
+      y="216"
+      width="243"
+      height="92"
+      fill="1"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+    />
+    <group name="Fig2.1"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[240, 216, 243, 2]"
+         href="-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000936"
+         fill="1"
+         fillcolor="white"
+         stroke="1"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig2.1.0"
+        x="240"
+        y="216"
+        width="243"
+        height="2"
+        fill="1"
+        fillcolor="white"
+        stroke="1"
+        strokecolor="black"
+      />
+    </group>
+    <text name="Fig2.2"
+      x="240"
+      y="218"
+      fill="1"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="red"
+      font="Dialog"
+      textsize="10"
+    >comment</text>
+    <group name="Fig2.3"
+         description="org.argouml.uml.diagram.ui.FigOperationsCompartment[241, 280, 242, 27]"
+         fill="1"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig2.3.0"
+        x="241"
+        y="280"
+        width="242"
+        height="27"
+        fill="1"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+      <path name="Fig2.3.1"
+        description="org.argouml.uml.diagram.ui.FigFeaturesCompartment$FigSeperator"
+        fill="1"
+        fillcolor="white"
+        stroke="1"
+        strokecolor="black"
+      >
+        <moveto x="241"
+                y="280" />
+        <lineto x="483"
+                y="280" />
+      </path>
+      <text name="Fig2.3.2"
+        x="241"
+        y="281"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        font="Dialog"
+        textsize="10"
+      >makeComment(desc : String,RFI : boolean) : void</text>
+    </group>
+    <group name="Fig2.4"
+         description="org.argouml.uml.diagram.ui.FigAttributesCompartment[241, 239, 242, 40]"
+         fill="1"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig2.4.0"
+        x="241"
+        y="239"
+        width="242"
+        height="40"
+        fill="1"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+      <path name="Fig2.4.1"
+        description="org.argouml.uml.diagram.ui.FigFeaturesCompartment$FigSeperator"
+        fill="1"
+        fillcolor="white"
+        stroke="1"
+        strokecolor="black"
+      >
+        <moveto x="241"
+                y="239" />
+        <lineto x="483"
+                y="239" />
+      </path>
+      <text name="Fig2.4.2"
+        x="241"
+        y="240"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        font="Dialog"
+        textsize="10"
+      >description : String</text>
+      <text name="Fig2.4.3"
+        x="241"
+        y="253"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        font="Dialog"
+        textsize="10"
+      >requestForInformation : boolean</text>
+    </group>
+    <rectangle name="Fig2.5"
+      x="240"
+      y="216"
+      width="243"
+      height="92"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+  </group>
+  <group name="Fig3"
+       description="org.argouml.uml.diagram.ui.FigAssociation"
+       href="-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000941"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig1.0"
+      destPortFig="Fig2.0"
+      sourceFigNode="Fig1"
+      destFigNode="Fig2"
+    </private>
+    <path name="Fig3.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="143"
+              y="248" />
+      <lineto x="240"
+              y="248" />
+    </path>
+  </group>
+  <group name="Fig4"
+       description="org.argouml.uml.diagram.ui.FigAssociation"
+       href="-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000094C"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig0.0"
+      destPortFig="Fig2.0"
+      sourceFigNode="Fig0"
+      destFigNode="Fig2"
+    </private>
+    <path name="Fig4.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="328"
+              y="150" />
+      <lineto x="328"
+              y="216" />
+    </path>
+  </group>
+  <group name="Fig5"
+       description="org.argouml.uml.diagram.ui.FigAssociation"
+       href="-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000095E"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig1.0"
+      destPortFig="Fig0.0"
+      sourceFigNode="Fig1"
+      destFigNode="Fig0"
+    </private>
+    <path name="Fig5.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="120"
+              y="216" />
+      <lineto x="120"
+              y="96" />
+      <lineto x="240"
+              y="96" />
+    </path>
+  </group>
+</pgml>
+<pgml description="org.argouml.uml.diagram.use_case.ui.UMLUseCaseDiagram|-64--88-25-2--1516b24e:117370f8f5b:-8000:000000000000077B"
+      name="maintenance"
+>
+  <text name="Fig0"
+    x="224"
+    y="40"
+    fill="0"
+    fillcolor="white"
+    stroke="1"
+    strokecolor="black"
+    font="Dialog"
+    textsize="10"
+  >Mailinglist communication system - mailman - single list</text>
+  <group name="Fig1"
+       description="org.argouml.uml.diagram.use_case.ui.FigActor[800, 400, 48, 65]pathVisible=false;"
+       href="-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000989"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig1.0"
+      x="817"
+      y="400"
+      width="15"
+      height="60"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      visibility="0"
+    />
+    <text name="Fig1.1"
+      x="800"
+      y="445"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >member</text>
+    <ellipse name="Fig1.2"
+      x="824"
+      y="407"
+      rx="7"
+      ry="7"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <path name="Fig1.3"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="824"
+              y="415" />
+      <lineto x="824"
+              y="430" />
+    </path>
+    <path name="Fig1.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="814"
+              y="420" />
+      <lineto x="834"
+              y="420" />
+    </path>
+    <path name="Fig1.5"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="824"
+              y="430" />
+      <lineto x="819"
+              y="445" />
+    </path>
+    <path name="Fig1.6"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="824"
+              y="430" />
+      <lineto x="829"
+              y="445" />
+    </path>
+    <group name="Fig1.7"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[686, 248, 0, 0]"
+         href="-64--88-25-2-6852495b:1173c4002e0:-8000:0000000000000989"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig1.7.0"
+        x="686"
+        y="248"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+  </group>
+  <group name="Fig2"
+       description="org.argouml.uml.diagram.use_case.ui.FigUseCase[408, 64, 122, 60]pathVisible=false;extensionPointVisible=false"
+       href="-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000098E"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig2.0"
+      x="469"
+      y="94"
+      rx="61"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig2.1"
+      x="469"
+      y="94"
+      rx="61"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <text name="Fig2.2"
+      x="426"
+      y="84"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Moderate email</text>
+    <group name="Fig2.3"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[469, 128, 0, 0]"
+         href="-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000098E"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig2.3.0"
+        x="469"
+        y="128"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <path name="Fig2.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      visibility="0"
+    >
+      <moveto x="128"
+              y="46" />
+      <lineto x="238"
+              y="46" />
+    </path>
+    <group name="Fig2.5"
+         description="org.tigris.gef.presentation.FigGroup[128, 16, 0, 0]"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+         visibility="0"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig2.5.0"
+        x="181"
+        y="49"
+        width="4"
+        height="4"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        visibility="0"
+      />
+    </group>
+  </group>
+  <group name="Fig3"
+       description="org.argouml.uml.diagram.use_case.ui.FigUseCase[568, 344, 132, 60]pathVisible=false;extensionPointVisible=false"
+       href="-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000098F"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig3.0"
+      x="634"
+      y="374"
+      rx="66"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig3.1"
+      x="634"
+      y="374"
+      rx="66"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <text name="Fig3.2"
+      x="604"
+      y="364"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Post email</text>
+    <group name="Fig3.3"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[634, 408, 0, 0]"
+         href="-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000098F"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig3.3.0"
+        x="634"
+        y="408"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <path name="Fig3.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      visibility="0"
+    >
+      <moveto x="280"
+              y="190" />
+      <lineto x="390"
+              y="190" />
+    </path>
+    <group name="Fig3.5"
+         description="org.tigris.gef.presentation.FigGroup[280, 160, 0, 0]"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+         visibility="0"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig3.5.0"
+        x="333"
+        y="193"
+        width="4"
+        height="4"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        visibility="0"
+      />
+    </group>
+  </group>
+  <group name="Fig4"
+       description="org.argouml.uml.diagram.ui.FigDependency"
+       href="-64--88-25-2-6852495b:1173c4002e0:-8000:000000000000099D"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig1.0"
+      destPortFig="Fig3.0"
+      sourceFigNode="Fig1"
+      destFigNode="Fig3"
+    </private>
+    <path name="Fig4.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="816"
+              y="404" />
+      <lineto x="696"
+              y="384" />
+    </path>
+  </group>
+  <group name="Fig5"
+       description="org.argouml.uml.diagram.use_case.ui.FigActor[136, 72, 59, 65]pathVisible=false;"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D2"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig5.0"
+      x="158"
+      y="72"
+      width="15"
+      height="60"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      visibility="0"
+    />
+    <text name="Fig5.1"
+      x="136"
+      y="117"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >moderator</text>
+    <ellipse name="Fig5.2"
+      x="165"
+      y="79"
+      rx="7"
+      ry="7"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <path name="Fig5.3"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="165"
+              y="87" />
+      <lineto x="165"
+              y="102" />
+    </path>
+    <path name="Fig5.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="155"
+              y="92" />
+      <lineto x="175"
+              y="92" />
+    </path>
+    <path name="Fig5.5"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="165"
+              y="102" />
+      <lineto x="160"
+              y="117" />
+    </path>
+    <path name="Fig5.6"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="165"
+              y="102" />
+      <lineto x="170"
+              y="117" />
+    </path>
+    <group name="Fig5.7"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[153, 102, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D2"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig5.7.0"
+        x="153"
+        y="102"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+  </group>
+  <group name="Fig6"
+       description="org.argouml.uml.diagram.use_case.ui.FigActor[800, 104, 38, 65]pathVisible=false;"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D3"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig6.0"
+      x="812"
+      y="104"
+      width="15"
+      height="60"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      visibility="0"
+    />
+    <text name="Fig6.1"
+      x="800"
+      y="149"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >admin</text>
+    <ellipse name="Fig6.2"
+      x="819"
+      y="111"
+      rx="7"
+      ry="7"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <path name="Fig6.3"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="819"
+              y="119" />
+      <lineto x="819"
+              y="134" />
+    </path>
+    <path name="Fig6.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="809"
+              y="124" />
+      <lineto x="829"
+              y="124" />
+    </path>
+    <path name="Fig6.5"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="819"
+              y="134" />
+      <lineto x="814"
+              y="149" />
+    </path>
+    <path name="Fig6.6"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="819"
+              y="134" />
+      <lineto x="824"
+              y="149" />
+    </path>
+    <group name="Fig6.7"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[817, 134, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D3"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig6.7.0"
+        x="817"
+        y="134"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+  </group>
+  <group name="Fig7"
+       description="org.argouml.uml.diagram.use_case.ui.FigUseCase[560, 224, 166, 60]pathVisible=false;extensionPointVisible=false"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D4"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig7.0"
+      x="643"
+      y="254"
+      rx="83"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig7.1"
+      x="643"
+      y="254"
+      rx="83"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <text name="Fig7.2"
+      x="585"
+      y="244"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Manage memberschip</text>
+    <group name="Fig7.3"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[643, 288, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D4"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig7.3.0"
+        x="643"
+        y="288"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <path name="Fig7.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      visibility="0"
+    >
+      <moveto x="560"
+              y="254" />
+      <lineto x="670"
+              y="254" />
+    </path>
+    <group name="Fig7.5"
+         description="org.tigris.gef.presentation.FigGroup[560, 224, 0, 0]"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+         visibility="0"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig7.5.0"
+        x="613"
+        y="257"
+        width="4"
+        height="4"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        visibility="0"
+      />
+    </group>
+  </group>
+  <group name="Fig8"
+       description="org.argouml.uml.diagram.use_case.ui.FigUseCase[592, 56, 136, 60]pathVisible=false;extensionPointVisible=false"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D5"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig8.0"
+      x="660"
+      y="86"
+      rx="68"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig8.1"
+      x="660"
+      y="86"
+      rx="68"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <text name="Fig8.2"
+      x="613"
+      y="76"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Set list properties</text>
+    <group name="Fig8.3"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[660, 120, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D5"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig8.3.0"
+        x="660"
+        y="120"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <path name="Fig8.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      visibility="0"
+    >
+      <moveto x="592"
+              y="86" />
+      <lineto x="702"
+              y="86" />
+    </path>
+    <group name="Fig8.5"
+         description="org.tigris.gef.presentation.FigGroup[592, 56, 0, 0]"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+         visibility="0"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig8.5.0"
+        x="645"
+        y="89"
+        width="4"
+        height="4"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        visibility="0"
+      />
+    </group>
+  </group>
+  <group name="Fig9"
+       description="org.argouml.uml.diagram.ui.FigDependency"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D8"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig5.0"
+      destPortFig="Fig2.0"
+      sourceFigNode="Fig5"
+      destFigNode="Fig2"
+    </private>
+    <path name="Fig9.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="175"
+              y="92" />
+      <lineto x="408"
+              y="93" />
+    </path>
+  </group>
+  <group name="Fig10"
+       description="org.argouml.uml.diagram.use_case.ui.FigUseCase[576, 136, 152, 60]pathVisible=false;extensionPointVisible=false"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D9"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig10.0"
+      x="652"
+      y="166"
+      rx="76"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig10.1"
+      x="652"
+      y="166"
+      rx="76"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <text name="Fig10.2"
+      x="601"
+      y="156"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >change moderators</text>
+    <group name="Fig10.3"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[652, 200, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008D9"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig10.3.0"
+        x="652"
+        y="200"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <path name="Fig10.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      visibility="0"
+    >
+      <moveto x="576"
+              y="166" />
+      <lineto x="686"
+              y="166" />
+    </path>
+    <group name="Fig10.5"
+         description="org.tigris.gef.presentation.FigGroup[576, 136, 0, 0]"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+         visibility="0"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig10.5.0"
+        x="629"
+        y="169"
+        width="4"
+        height="4"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        visibility="0"
+      />
+    </group>
+  </group>
+  <group name="Fig11"
+       description="org.argouml.uml.diagram.ui.FigDependency"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DA"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig6.0"
+      destPortFig="Fig10.0"
+      sourceFigNode="Fig6"
+      destFigNode="Fig10"
+    </private>
+    <path name="Fig11.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="809"
+              y="124" />
+      <lineto x="714"
+              y="149" />
+    </path>
+  </group>
+  <group name="Fig12"
+       description="org.argouml.uml.diagram.ui.FigDependency"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DB"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig1.0"
+      destPortFig="Fig7.0"
+      sourceFigNode="Fig1"
+      destFigNode="Fig7"
+    </private>
+    <path name="Fig12.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="817"
+              y="402" />
+      <lineto x="675"
+              y="281" />
+    </path>
+  </group>
+  <group name="Fig13"
+       description="org.argouml.uml.diagram.ui.FigDependency"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DC"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig6.0"
+      destPortFig="Fig8.0"
+      sourceFigNode="Fig6"
+      destFigNode="Fig8"
+    </private>
+    <path name="Fig13.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="811"
+              y="108" />
+      <lineto x="724"
+              y="95" />
+    </path>
+  </group>
+  <group name="Fig14"
+       description="org.argouml.uml.diagram.use_case.ui.FigActor[160, 448, 35, 65]pathVisible=false;"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DD"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig14.0"
+      x="170"
+      y="448"
+      width="15"
+      height="60"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      visibility="0"
+    />
+    <text name="Fig14.1"
+      x="163"
+      y="493"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >user</text>
+    <ellipse name="Fig14.2"
+      x="177"
+      y="455"
+      rx="7"
+      ry="7"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <path name="Fig14.3"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="177"
+              y="463" />
+      <lineto x="177"
+              y="478" />
+    </path>
+    <path name="Fig14.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="167"
+              y="468" />
+      <lineto x="187"
+              y="468" />
+    </path>
+    <path name="Fig14.5"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="177"
+              y="478" />
+      <lineto x="172"
+              y="493" />
+    </path>
+    <path name="Fig14.6"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="177"
+              y="478" />
+      <lineto x="182"
+              y="493" />
+    </path>
+    <group name="Fig14.7"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[177, 478, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DD"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig14.7.0"
+        x="177"
+        y="478"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+  </group>
+  <group name="Fig15"
+       description="org.argouml.uml.diagram.use_case.ui.FigUseCase[416, 344, 110, 60]pathVisible=false;extensionPointVisible=false"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DF"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig15.0"
+      x="471"
+      y="374"
+      rx="55"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig15.1"
+      x="471"
+      y="374"
+      rx="55"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <text name="Fig15.2"
+      x="441"
+      y="364"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Post email</text>
+    <group name="Fig15.3"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[471, 408, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008DF"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig15.3.0"
+        x="471"
+        y="408"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <path name="Fig15.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      visibility="0"
+    >
+      <moveto x="416"
+              y="374" />
+      <lineto x="526"
+              y="374" />
+    </path>
+    <group name="Fig15.5"
+         description="org.tigris.gef.presentation.FigGroup[416, 344, 0, 0]"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+         visibility="0"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig15.5.0"
+        x="469"
+        y="377"
+        width="4"
+        height="4"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        visibility="0"
+      />
+    </group>
+  </group>
+  <group name="Fig16"
+       description="org.argouml.uml.diagram.ui.FigDependency"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E0"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig14.0"
+      destPortFig="Fig15.0"
+      sourceFigNode="Fig14"
+      destFigNode="Fig15"
+    </private>
+    <path name="Fig16.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="185"
+              y="455" />
+      <lineto x="422"
+              y="387" />
+    </path>
+  </group>
+  <group name="Fig17"
+       description="org.argouml.uml.diagram.use_case.ui.FigInclude"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E1"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig15.0"
+      destPortFig="Fig2.0"
+      sourceFigNode="Fig15"
+      destFigNode="Fig2"
+    </private>
+    <path name="Fig17.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="470"
+              y="344" />
+      <lineto x="469"
+              y="123" />
+    </path>
+  </group>
+  <group name="Fig18"
+       description="org.argouml.uml.diagram.use_case.ui.FigUseCase[232, 344, 166, 60]pathVisible=false;extensionPointVisible=false"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E2"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig18.0"
+      x="315"
+      y="374"
+      rx="83"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig18.1"
+      x="315"
+      y="374"
+      rx="83"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <text name="Fig18.2"
+      x="257"
+      y="364"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Request memberschip</text>
+    <group name="Fig18.3"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[315, 408, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E2"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig18.3.0"
+        x="315"
+        y="408"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <path name="Fig18.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      visibility="0"
+    >
+      <moveto x="232"
+              y="374" />
+      <lineto x="342"
+              y="374" />
+    </path>
+    <group name="Fig18.5"
+         description="org.tigris.gef.presentation.FigGroup[232, 344, 0, 0]"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+         visibility="0"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig18.5.0"
+        x="285"
+        y="377"
+        width="4"
+        height="4"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        visibility="0"
+      />
+    </group>
+  </group>
+  <group name="Fig19"
+       description="org.argouml.uml.diagram.ui.FigDependency"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E3"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig14.0"
+      destPortFig="Fig18.0"
+      sourceFigNode="Fig14"
+      destFigNode="Fig18"
+    </private>
+    <path name="Fig19.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="183"
+              y="450" />
+      <lineto x="270"
+              y="399" />
+    </path>
+  </group>
+  <group name="Fig20"
+       description="org.argouml.uml.diagram.use_case.ui.FigUseCase[240, 136, 166, 60]pathVisible=false;extensionPointVisible=false"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E4"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig20.0"
+      x="323"
+      y="166"
+      rx="83"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig20.1"
+      x="323"
+      y="166"
+      rx="83"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <text name="Fig20.2"
+      x="265"
+      y="156"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Approve memberschip</text>
+    <group name="Fig20.3"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[323, 200, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E4"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig20.3.0"
+        x="323"
+        y="200"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <path name="Fig20.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      visibility="0"
+    >
+      <moveto x="240"
+              y="166" />
+      <lineto x="350"
+              y="166" />
+    </path>
+    <group name="Fig20.5"
+         description="org.tigris.gef.presentation.FigGroup[240, 136, 0, 0]"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+         visibility="0"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig20.5.0"
+        x="293"
+        y="169"
+        width="4"
+        height="4"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        visibility="0"
+      />
+    </group>
+  </group>
+  <group name="Fig21"
+       description="org.argouml.uml.diagram.ui.FigDependency"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E5"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig5.0"
+      destPortFig="Fig20.0"
+      sourceFigNode="Fig5"
+      destFigNode="Fig20"
+    </private>
+    <path name="Fig21.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="170"
+              y="117" />
+      <lineto x="260"
+              y="146" />
+    </path>
+  </group>
+  <group name="Fig22"
+       description="org.argouml.uml.diagram.use_case.ui.FigInclude"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E6"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig18.0"
+      destPortFig="Fig20.0"
+      sourceFigNode="Fig18"
+      destFigNode="Fig20"
+    </private>
+    <path name="Fig22.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="316"
+              y="344" />
+      <lineto x="321"
+              y="195" />
+    </path>
+  </group>
+</pgml>
+<pgml description="org.argouml.uml.diagram.use_case.ui.UMLUseCaseDiagram|-64--88-25-2--1516b24e:117370f8f5b:-8000:000000000000077B"
+      name="issue-tracking"
+>
+  <text name="Fig0"
+    x="168"
+    y="8"
+    fill="0"
+    fillcolor="white"
+    stroke="1"
+    strokecolor="black"
+    font="Dialog"
+    textsize="10"
+  >Issue tracking system</text>
+  <group name="Fig1"
+       description="org.argouml.uml.diagram.use_case.ui.FigActor[712, 48, 38, 65]pathVisible=false;"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E7"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig1.0"
+      x="724"
+      y="48"
+      width="15"
+      height="60"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      visibility="0"
+    />
+    <text name="Fig1.1"
+      x="712"
+      y="93"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >admin</text>
+    <ellipse name="Fig1.2"
+      x="731"
+      y="55"
+      rx="7"
+      ry="7"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <path name="Fig1.3"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="731"
+              y="63" />
+      <lineto x="731"
+              y="78" />
+    </path>
+    <path name="Fig1.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="721"
+              y="68" />
+      <lineto x="741"
+              y="68" />
+    </path>
+    <path name="Fig1.5"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="731"
+              y="78" />
+      <lineto x="726"
+              y="93" />
+    </path>
+    <path name="Fig1.6"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="731"
+              y="78" />
+      <lineto x="736"
+              y="93" />
+    </path>
+    <group name="Fig1.7"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[729, 78, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E7"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig1.7.0"
+        x="729"
+        y="78"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+  </group>
+  <group name="Fig2"
+       description="org.argouml.uml.diagram.use_case.ui.FigActor[104, 112, 59, 65]pathVisible=false;"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E8"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig2.0"
+      x="126"
+      y="112"
+      width="15"
+      height="60"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      visibility="0"
+    />
+    <text name="Fig2.1"
+      x="104"
+      y="157"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >moderator</text>
+    <ellipse name="Fig2.2"
+      x="133"
+      y="119"
+      rx="7"
+      ry="7"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <path name="Fig2.3"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="133"
+              y="127" />
+      <lineto x="133"
+              y="142" />
+    </path>
+    <path name="Fig2.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="123"
+              y="132" />
+      <lineto x="143"
+              y="132" />
+    </path>
+    <path name="Fig2.5"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="133"
+              y="142" />
+      <lineto x="128"
+              y="157" />
+    </path>
+    <path name="Fig2.6"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="133"
+              y="142" />
+      <lineto x="138"
+              y="157" />
+    </path>
+    <group name="Fig2.7"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[121, 142, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E8"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig2.7.0"
+        x="121"
+        y="142"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+  </group>
+  <group name="Fig3"
+       description="org.argouml.uml.diagram.use_case.ui.FigActor[112, 224, 35, 65]pathVisible=false;"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E9"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig3.0"
+      x="122"
+      y="224"
+      width="15"
+      height="60"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      visibility="0"
+    />
+    <text name="Fig3.1"
+      x="115"
+      y="269"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >user</text>
+    <ellipse name="Fig3.2"
+      x="129"
+      y="231"
+      rx="7"
+      ry="7"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <path name="Fig3.3"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="129"
+              y="239" />
+      <lineto x="129"
+              y="254" />
+    </path>
+    <path name="Fig3.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="119"
+              y="244" />
+      <lineto x="139"
+              y="244" />
+    </path>
+    <path name="Fig3.5"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="129"
+              y="254" />
+      <lineto x="124"
+              y="269" />
+    </path>
+    <path name="Fig3.6"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="129"
+              y="254" />
+      <lineto x="134"
+              y="269" />
+    </path>
+    <group name="Fig3.7"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[129, 254, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008E9"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig3.7.0"
+        x="129"
+        y="254"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+  </group>
+  <group name="Fig4"
+       description="org.argouml.uml.diagram.use_case.ui.FigActor[712, 240, 48, 65]pathVisible=false;"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EA"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <rectangle name="Fig4.0"
+      x="729"
+      y="240"
+      width="15"
+      height="60"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      visibility="0"
+    />
+    <text name="Fig4.1"
+      x="712"
+      y="285"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >member</text>
+    <ellipse name="Fig4.2"
+      x="736"
+      y="247"
+      rx="7"
+      ry="7"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <path name="Fig4.3"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="736"
+              y="255" />
+      <lineto x="736"
+              y="270" />
+    </path>
+    <path name="Fig4.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="726"
+              y="260" />
+      <lineto x="746"
+              y="260" />
+    </path>
+    <path name="Fig4.5"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="736"
+              y="270" />
+      <lineto x="731"
+              y="285" />
+    </path>
+    <path name="Fig4.6"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="736"
+              y="270" />
+      <lineto x="741"
+              y="285" />
+    </path>
+    <group name="Fig4.7"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[729, 270, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EA"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig4.7.0"
+        x="729"
+        y="270"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+  </group>
+  <group name="Fig5"
+       description="org.argouml.uml.diagram.use_case.ui.FigUseCase[216, 216, 158, 60]pathVisible=false;extensionPointVisible=false"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EB"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig5.0"
+      x="295"
+      y="246"
+      rx="79"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig5.1"
+      x="295"
+      y="246"
+      rx="79"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <text name="Fig5.2"
+      x="240"
+      y="236"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Request Membership</text>
+    <group name="Fig5.3"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[295, 280, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EB"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig5.3.0"
+        x="295"
+        y="280"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <path name="Fig5.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      visibility="0"
+    >
+      <moveto x="216"
+              y="246" />
+      <lineto x="326"
+              y="246" />
+    </path>
+    <group name="Fig5.5"
+         description="org.tigris.gef.presentation.FigGroup[216, 216, 0, 0]"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+         visibility="0"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig5.5.0"
+        x="269"
+        y="249"
+        width="4"
+        height="4"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        visibility="0"
+      />
+    </group>
+  </group>
+  <group name="Fig6"
+       description="org.argouml.uml.diagram.use_case.ui.FigUseCase[216, 104, 160, 60]pathVisible=false;extensionPointVisible=false"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EC"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig6.0"
+      x="296"
+      y="134"
+      rx="80"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig6.1"
+      x="296"
+      y="134"
+      rx="80"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <text name="Fig6.2"
+      x="240"
+      y="124"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Approve Membership</text>
+    <group name="Fig6.3"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[296, 168, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EC"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig6.3.0"
+        x="296"
+        y="168"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <path name="Fig6.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      visibility="0"
+    >
+      <moveto x="216"
+              y="134" />
+      <lineto x="326"
+              y="134" />
+    </path>
+    <group name="Fig6.5"
+         description="org.tigris.gef.presentation.FigGroup[216, 104, 0, 0]"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+         visibility="0"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig6.5.0"
+        x="269"
+        y="137"
+        width="4"
+        height="4"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        visibility="0"
+      />
+    </group>
+  </group>
+  <group name="Fig7"
+       description="org.argouml.uml.diagram.ui.FigDependency"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008ED"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig2.0"
+      destPortFig="Fig6.0"
+      sourceFigNode="Fig2"
+      destFigNode="Fig6"
+    </private>
+    <path name="Fig7.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="143"
+              y="132" />
+      <lineto x="216"
+              y="132" />
+    </path>
+  </group>
+  <group name="Fig8"
+       description="org.argouml.uml.diagram.ui.FigDependency"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EE"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig3.0"
+      destPortFig="Fig5.0"
+      sourceFigNode="Fig3"
+      destFigNode="Fig5"
+    </private>
+    <path name="Fig8.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="139"
+              y="244" />
+      <lineto x="216"
+              y="244" />
+    </path>
+  </group>
+  <group name="Fig9"
+       description="org.argouml.uml.diagram.use_case.ui.FigInclude"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008EF"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig5.0"
+      destPortFig="Fig6.0"
+      sourceFigNode="Fig5"
+      destFigNode="Fig6"
+    </private>
+    <path name="Fig9.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="293"
+              y="216" />
+      <lineto x="294"
+              y="163" />
+    </path>
+  </group>
+  <group name="Fig10"
+       description="org.argouml.uml.diagram.use_case.ui.FigUseCase[192, 24, 222, 60]pathVisible=false;extensionPointVisible=false"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F0"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig10.0"
+      x="303"
+      y="54"
+      rx="111"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig10.1"
+      x="303"
+      y="54"
+      rx="111"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <text name="Fig10.2"
+      x="231"
+      y="44"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >moderate issues/comments</text>
+    <group name="Fig10.3"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[303, 88, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F0"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig10.3.0"
+        x="303"
+        y="88"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <path name="Fig10.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      visibility="0"
+    >
+      <moveto x="192"
+              y="54" />
+      <lineto x="302"
+              y="54" />
+    </path>
+    <group name="Fig10.5"
+         description="org.tigris.gef.presentation.FigGroup[192, 24, 0, 0]"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+         visibility="0"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig10.5.0"
+        x="245"
+        y="57"
+        width="4"
+        height="4"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        visibility="0"
+      />
+    </group>
+  </group>
+  <group name="Fig11"
+       description="org.argouml.uml.diagram.ui.FigDependency"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F1"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig2.0"
+      destPortFig="Fig10.0"
+      sourceFigNode="Fig2"
+      destFigNode="Fig10"
+    </private>
+    <path name="Fig11.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="140"
+              y="116" />
+      <lineto x="238"
+              y="78" />
+    </path>
+  </group>
+  <group name="Fig12"
+       description="org.argouml.uml.diagram.use_case.ui.FigUseCase[544, 256, 104, 60]pathVisible=false;extensionPointVisible=false"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F2"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig12.0"
+      x="596"
+      y="286"
+      rx="52"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig12.1"
+      x="596"
+      y="286"
+      rx="52"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <text name="Fig12.2"
+      x="561"
+      y="276"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Create issue</text>
+    <group name="Fig12.3"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[596, 320, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F2"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig12.3.0"
+        x="596"
+        y="320"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <path name="Fig12.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      visibility="0"
+    >
+      <moveto x="544"
+              y="286" />
+      <lineto x="654"
+              y="286" />
+    </path>
+    <group name="Fig12.5"
+         description="org.tigris.gef.presentation.FigGroup[544, 256, 0, 0]"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+         visibility="0"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig12.5.0"
+        x="597"
+        y="289"
+        width="4"
+        height="4"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        visibility="0"
+      />
+    </group>
+  </group>
+  <group name="Fig13"
+       description="org.argouml.uml.diagram.use_case.ui.FigUseCase[536, 184, 110, 60]pathVisible=false;extensionPointVisible=false"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F3"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig13.0"
+      x="591"
+      y="214"
+      rx="55"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig13.1"
+      x="591"
+      y="214"
+      rx="55"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <text name="Fig13.2"
+      x="561"
+      y="204"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Alter issue</text>
+    <group name="Fig13.3"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[591, 248, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F3"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig13.3.0"
+        x="591"
+        y="248"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <path name="Fig13.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      visibility="0"
+    >
+      <moveto x="536"
+              y="214" />
+      <lineto x="646"
+              y="214" />
+    </path>
+    <group name="Fig13.5"
+         description="org.tigris.gef.presentation.FigGroup[536, 184, 0, 0]"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+         visibility="0"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig13.5.0"
+        x="589"
+        y="217"
+        width="4"
+        height="4"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        visibility="0"
+      />
+    </group>
+  </group>
+  <group name="Fig14"
+       description="org.argouml.uml.diagram.use_case.ui.FigUseCase[488, 32, 162, 60]pathVisible=false;extensionPointVisible=false"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F5"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig14.0"
+      x="569"
+      y="62"
+      rx="81"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig14.1"
+      x="569"
+      y="62"
+      rx="81"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <text name="Fig14.2"
+      x="512"
+      y="52"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >set project properties</text>
+    <group name="Fig14.3"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[569, 96, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F5"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig14.3.0"
+        x="569"
+        y="96"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <path name="Fig14.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      visibility="0"
+    >
+      <moveto x="488"
+              y="62" />
+      <lineto x="598"
+              y="62" />
+    </path>
+    <group name="Fig14.5"
+         description="org.tigris.gef.presentation.FigGroup[488, 32, 0, 0]"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+         visibility="0"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig14.5.0"
+        x="541"
+        y="65"
+        width="4"
+        height="4"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        visibility="0"
+      />
+    </group>
+  </group>
+  <group name="Fig15"
+       description="org.argouml.uml.diagram.use_case.ui.FigUseCase[504, 112, 146, 60]pathVisible=false;extensionPointVisible=false"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F6"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig15.0"
+      x="577"
+      y="142"
+      rx="73"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig15.1"
+      x="577"
+      y="142"
+      rx="73"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <text name="Fig15.2"
+      x="526"
+      y="132"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >change moderators</text>
+    <group name="Fig15.3"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[577, 176, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F6"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig15.3.0"
+        x="577"
+        y="176"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <path name="Fig15.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      visibility="0"
+    >
+      <moveto x="504"
+              y="142" />
+      <lineto x="614"
+              y="142" />
+    </path>
+    <group name="Fig15.5"
+         description="org.tigris.gef.presentation.FigGroup[504, 112, 0, 0]"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+         visibility="0"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig15.5.0"
+        x="557"
+        y="145"
+        width="4"
+        height="4"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        visibility="0"
+      />
+    </group>
+  </group>
+  <group name="Fig16"
+       description="org.argouml.uml.diagram.use_case.ui.FigUseCase[496, 328, 158, 60]pathVisible=false;extensionPointVisible=false"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F7"
+       fill="1"
+       fillcolor="white"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+    </private>
+    
+    <ellipse name="Fig16.0"
+      x="575"
+      y="358"
+      rx="79"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <ellipse name="Fig16.1"
+      x="575"
+      y="358"
+      rx="79"
+      ry="30"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    />
+    <text name="Fig16.2"
+      x="520"
+      y="348"
+      fill="0"
+      fillcolor="white"
+      stroke="0"
+      strokecolor="black"
+      font="Dialog"
+      textsize="10"
+    >Manage membership</text>
+    <group name="Fig16.3"
+         description="org.argouml.uml.diagram.ui.FigStereotypesCompartment[575, 392, 0, 0]"
+         href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F7"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig16.3.0"
+        x="575"
+        y="392"
+        width="0"
+        height="0"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+      />
+    </group>
+    <path name="Fig16.4"
+      description="org.tigris.gef.presentation.FigLine"
+      fill="1"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+      visibility="0"
+    >
+      <moveto x="496"
+              y="358" />
+      <lineto x="606"
+              y="358" />
+    </path>
+    <group name="Fig16.5"
+         description="org.tigris.gef.presentation.FigGroup[496, 328, 0, 0]"
+         fill="0"
+         fillcolor="white"
+         stroke="0"
+         strokecolor="black"
+         visibility="0"
+    >
+      <private>
+      </private>
+      
+      <rectangle name="Fig16.5.0"
+        x="549"
+        y="361"
+        width="4"
+        height="4"
+        fill="0"
+        fillcolor="white"
+        stroke="0"
+        strokecolor="black"
+        visibility="0"
+      />
+    </group>
+  </group>
+  <group name="Fig17"
+       description="org.argouml.uml.diagram.ui.FigDependency"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F8"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig1.0"
+      destPortFig="Fig14.0"
+      sourceFigNode="Fig1"
+      destFigNode="Fig14"
+    </private>
+    <path name="Fig17.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="721"
+              y="68" />
+      <lineto x="649"
+              y="65" />
+    </path>
+  </group>
+  <group name="Fig18"
+       description="org.argouml.uml.diagram.ui.FigDependency"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008F9"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig1.0"
+      destPortFig="Fig15.0"
+      sourceFigNode="Fig1"
+      destFigNode="Fig15"
+    </private>
+    <path name="Fig18.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="726"
+              y="93" />
+      <lineto x="633"
+              y="123" />
+    </path>
+  </group>
+  <group name="Fig19"
+       description="org.argouml.uml.diagram.ui.FigDependency"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008FA"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig4.0"
+      destPortFig="Fig13.0"
+      sourceFigNode="Fig4"
+      destFigNode="Fig13"
+    </private>
+    <path name="Fig19.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="728"
+              y="244" />
+      <lineto x="642"
+              y="225" />
+    </path>
+  </group>
+  <group name="Fig20"
+       description="org.argouml.uml.diagram.ui.FigDependency"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008FB"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig4.0"
+      destPortFig="Fig12.0"
+      sourceFigNode="Fig4"
+      destFigNode="Fig12"
+    </private>
+    <path name="Fig20.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="726"
+              y="260" />
+      <lineto x="645"
+              y="276" />
+    </path>
+  </group>
+  <group name="Fig21"
+       description="org.argouml.uml.diagram.ui.FigDependency"
+       href="-64--88-25-2-79e29fc3:1174a2822e2:-8000:00000000000008FC"
+       stroke="1"
+       strokecolor="black"
+  >
+    <private>
+      sourcePortFig="Fig4.0"
+      destPortFig="Fig16.0"
+      sourceFigNode="Fig4"
+      destFigNode="Fig16"
+    </private>
+    <path name="Fig21.0"
+      description="org.tigris.gef.presentation.FigPoly"
+      fill="0"
+      fillcolor="white"
+      stroke="1"
+      strokecolor="black"
+    >
+      <moveto x="731"
+              y="285" />
+      <lineto x="624"
+              y="334" />
+    </path>
+  </group>
+</pgml>
+<todo>
+<todolist>
+</todolist>
+<resolvedcritics>
+</resolvedcritics>
+</todo>
+</uml>
Index: /liacs/re/sheets/README
===================================================================
--- /liacs/re/sheets/README	(revision 2)
+++ /liacs/re/sheets/README	(revision 2)
@@ -0,0 +1,2 @@
+Sheets used at requirement course 2007, note we used many of the 2005
+sheets
Index: /liacs/se/CNS/128105.diagram
===================================================================
--- /liacs/se/CNS/128105.diagram	(revision 2)
+++ /liacs/se/CNS/128105.diagram	(revision 2)
@@ -0,0 +1,122 @@
+format 55
+
+classinstance 128002 class_ref 129154 // driver
+  name ""   xyz 4 16 2000 life_line_z 2000
+classinstancecanvas 128105 classinstance_ref 128233 // cns
+  xyz 225 16 2000 life_line_z 2000
+classinstancecanvas 128233 classinstance_ref 129288 // user
+  xyz 109 18 2000 life_line_z 2000
+classinstancecanvas 128745 classinstance_ref 129544 // cns
+  xyz 393 14 2000 life_line_z 2000
+classinstancecanvas 129257 classinstance_ref 128361 // cns
+  xyz 549 14 2000 life_line_z 2000
+durationcanvas 128361 classinstance_ref 128233 // user:user
+  xyzwh 143 149 2010 11 25
+end
+durationcanvas 128489 classinstance_ref 128105 // cns:input_screen
+  xyzwh 287 145 2010 11 25
+end
+durationcanvas 128514 classinstance_ref 128002 // driver
+  xyzwh 20 92 2010 11 26
+end
+durationcanvas 128642 classinstance_ref 128233 // user:user
+  xyzwh 143 96 2010 11 29
+end
+durationcanvas 128873 classinstance_ref 128105 // cns:input_screen
+  xyzwh 287 184 2010 11 40
+end
+durationcanvas 129001 classinstance_ref 128745 // cns:processing
+  xyzwh 449 184 2010 11 25
+end
+durationcanvas 129385 classinstance_ref 128745 // cns:processing
+  xyzwh 449 240 2010 11 40
+end
+durationcanvas 129513 classinstance_ref 129257 // cns:fixed_storage
+  xyzwh 613 240 2010 11 25
+end
+durationcanvas 129769 classinstance_ref 129257 // cns:fixed_storage
+  xyzwh 613 295 2010 11 40
+end
+durationcanvas 129897 classinstance_ref 128745 // cns:processing
+  xyzwh 449 295 2010 11 25
+end
+durationcanvas 130153 classinstance_ref 128745 // cns:processing
+  xyzwh 449 337 2010 11 40
+end
+durationcanvas 130281 classinstance_ref 128105 // cns:input_screen
+  xyzwh 287 337 2010 11 25
+end
+durationcanvas 130921 classinstance_ref 128745 // cns:processing
+  xyzwh 449 403 2010 11 40
+end
+durationcanvas 131049 classinstance_ref 129257 // cns:fixed_storage
+  xyzwh 613 403 2010 11 25
+end
+durationcanvas 131305 classinstance_ref 129257 // cns:fixed_storage
+  xyzwh 613 473 2010 11 40
+end
+durationcanvas 131433 classinstance_ref 128745 // cns:processing
+  xyzwh 449 473 2010 11 25
+end
+durationcanvas 131689 classinstance_ref 128745 // cns:processing
+  xyzwh 449 521 2010 11 40
+end
+durationcanvas 131817 classinstance_ref 128105 // cns:input_screen
+  xyzwh 287 521 2010 11 25
+end
+msg 128617 asynchronous
+  from durationcanvas_ref 128361
+  to durationcanvas_ref 128489
+  yz 156 2015 explicitmsg "chars"
+  show_full_operations_definition default drawing_language default
+  label_xy 226 142
+msg 128770 synchronous
+  from durationcanvas_ref 128514
+  to durationcanvas_ref 128642
+  yz 99 2015 explicitmsg "touch"
+  show_full_operations_definition default drawing_language default
+  label_xy 80 82
+msg 129129 asynchronous
+  from durationcanvas_ref 128873
+  to durationcanvas_ref 129001
+  yz 192 2015 explicitmsg "chars"
+  show_full_operations_definition default drawing_language default
+  label_xy 386 173
+msg 129641 asynchronous
+  from durationcanvas_ref 129385
+  to durationcanvas_ref 129513
+  yz 243 2015 explicitmsg "chars"
+  show_full_operations_definition default drawing_language default
+  args "look up sequence in address database"
+  label_xy 545 228
+msg 130025 asynchronous
+  from durationcanvas_ref 129769
+  to durationcanvas_ref 129897
+  yz 295 2015 explicitmsg "address"
+  show_full_operations_definition default drawing_language default
+  label_xy 470 281
+msg 130409 asynchronous
+  from durationcanvas_ref 130153
+  to durationcanvas_ref 130281
+  yz 337 2015 explicitmsg "address"
+  show_full_operations_definition default drawing_language default
+  label_xy 316 323
+msg 131177 asynchronous
+  from durationcanvas_ref 130921
+  to durationcanvas_ref 131049
+  yz 403 2015 explicitmsg "route"
+  show_full_operations_definition default drawing_language default
+  label_xy 549 385
+msg 131561 asynchronous
+  from durationcanvas_ref 131305
+  to durationcanvas_ref 131433
+  yz 473 2015 explicitmsg "quickest route"
+  show_full_operations_definition default drawing_language default
+  label_xy 476 459
+msg 131945 asynchronous
+  from durationcanvas_ref 131689
+  to durationcanvas_ref 131817
+  yz 521 2015 explicitmsg "show map"
+  show_full_operations_definition default drawing_language default
+  label_xy 319 507
+end
Index: /liacs/se/CNS/129154.diagram
===================================================================
--- /liacs/se/CNS/129154.diagram	(revision 2)
+++ /liacs/se/CNS/129154.diagram	(revision 2)
@@ -0,0 +1,31 @@
+format 55
+
+componentcanvas 128002 component_ref 129154 // GPS
+  draw_component_as_icon default show_component_req_prov default show_component_rea default
+  xyzwh 59 74 2000 201 65
+componentcanvas 128130 component_ref 129282 // screen
+  draw_component_as_icon default show_component_req_prov default show_component_rea default
+  xyzwh 228 399 2000 201 65
+componentcanvas 128258 component_ref 129410 // RDS
+  draw_component_as_icon default show_component_req_prov default show_component_rea default
+  xyzwh 283 73 2000 201 65
+componentcanvas 128386 component_ref 129538 // map data
+  draw_component_as_icon default show_component_req_prov default show_component_rea default
+  xyzwh 505 73 2000 201 65
+componentcanvas 128514 component_ref 129666 // route and location
+  draw_component_as_icon default show_component_req_prov default show_component_rea default
+  xyzwh 233 233 2000 201 65
+componentcanvas 128642 component_ref 129794 // target
+  draw_component_as_icon default show_component_req_prov default show_component_rea default
+  xyzwh 522 245 2000 201 65
+simplerelationcanvas 128770 simplerelation_ref 129154
+  from ref 128002 z 1999 to ref 128514
+simplerelationcanvas 128898 simplerelation_ref 129282
+  from ref 128258 z 1999 to ref 128514
+simplerelationcanvas 129026 simplerelation_ref 129410
+  from ref 128386 z 1999 to ref 128514
+simplerelationcanvas 129282 simplerelation_ref 129538
+  from ref 128514 z 1999 to ref 128130
+line 129154 -_-_
+  from ref 128642 z 1999 to ref 128514
+end
Index: /liacs/se/CNS/129160.diagram
===================================================================
--- /liacs/se/CNS/129160.diagram	(revision 2)
+++ /liacs/se/CNS/129160.diagram	(revision 2)
@@ -0,0 +1,33 @@
+format 55
+
+classinstance 128002 class_ref 129154 // driver
+  name ""   xyz 99 6 2000 life_line_z 2000
+classinstancecanvas 128392 classinstance_ref 129288 // user
+  xyz 450 9 2000 life_line_z 2000
+classinstancecanvas 128520 classinstance_ref 129416 // cns
+  xyz 230 4 2000 life_line_z 2000
+durationcanvas 128130 classinstance_ref 128002 // driver
+  xyzwh 115 68 2010 11 40
+end
+durationcanvas 128258 classinstance_ref 128520 // cns:input_button
+  xyzwh 289 68 2010 11 30
+end
+durationcanvas 129032 classinstance_ref 128520 // cns:input_button
+  xyzwh 289 156 2010 11 40
+end
+durationcanvas 129160 classinstance_ref 128392 // user:user
+  xyzwh 484 156 2010 11 25
+end
+msg 128386 asynchronous
+  from durationcanvas_ref 128130
+  to durationcanvas_ref 128258
+  yz 84 2015 explicitmsg "turn on"
+  show_full_operations_definition default drawing_language default
+  label_xy 176 67
+msg 129288 asynchronous
+  from durationcanvas_ref 129032
+  to durationcanvas_ref 129160
+  yz 156 2015 explicitmsg "enable_display"
+  show_full_operations_definition default drawing_language default
+  label_xy 335 142
+end
Index: /liacs/se/CNS/129160_105.d
===================================================================
--- /liacs/se/CNS/129160_105.d	(revision 2)
+++ /liacs/se/CNS/129160_105.d	(revision 2)
@@ -0,0 +1,31 @@
+format 55
+
+classinstancecanvas 128392 classinstance_ref 129288 // user
+  xyz 88 4 2000 life_line_z 2000
+classinstancecanvas 128520 classinstance_ref 129416 // cns
+  xyz 252 4 2000 life_line_z 2000
+durationcanvas 128648 classinstance_ref 128392 // user:user
+  xyzwh 113 60 2010 11 40
+end
+durationcanvas 128776 classinstance_ref 128520 // cns:input_button
+  xyzwh 298 60 2010 11 25
+end
+durationcanvas 129032 classinstance_ref 128520 // cns:input_button
+  xyzwh 298 156 2010 11 40
+end
+durationcanvas 129160 classinstance_ref 128392 // user:user
+  xyzwh 113 156 2010 11 25
+end
+msg 128904 asynchronous
+  from durationcanvas_ref 128648
+  to durationcanvas_ref 128776
+  yz 60 2015 explicitmsg "turn_on"
+  show_full_operations_definition default drawing_language default
+  label_xy 191 46
+msg 129288 asynchronous
+  from durationcanvas_ref 129032
+  to durationcanvas_ref 129160
+  yz 156 2015 explicitmsg "enable_display"
+  show_full_operations_definition default drawing_language default
+  label_xy 168 142
+end
Index: /liacs/se/CNS/129282.diagram
===================================================================
--- /liacs/se/CNS/129282.diagram	(revision 2)
+++ /liacs/se/CNS/129282.diagram	(revision 2)
@@ -0,0 +1,47 @@
+format 55
+
+classinstancecanvas 128002 classinstance_ref 129544 // cns
+  xyz 261 5 2000 life_line_z 2000
+classinstancecanvas 128130 classinstance_ref 128105 // cns
+  xyz 457 5 2000 life_line_z 2000
+classinstancecanvas 129666 classinstance_ref 129672 // cns
+  xyz 50 4 2000 life_line_z 2000
+classinstance 129794 class_ref 129282 // RDS
+  name ""   xyz 161 4 2000 life_line_z 2000
+durationcanvas 128258 classinstance_ref 128002 // cns:processing
+  xyzwh 316 280 2010 11 39
+end
+durationcanvas 128386 classinstance_ref 128130 // cns:display
+  xyzwh 498 291 2010 11 26
+end
+durationcanvas 129922 classinstance_ref 129666 // cns:GPS
+  xyzwh 82 75 2010 11 40
+end
+durationcanvas 130050 classinstance_ref 128002 // cns:processing
+  xyzwh 316 75 2010 11 25
+end
+durationcanvas 130306 classinstance_ref 129794 // RDS
+  xyzwh 180 158 2010 11 40
+end
+durationcanvas 130434 classinstance_ref 128002 // cns:processing
+  xyzwh 316 158 2010 11 25
+end
+msg 128514 synchronous
+  from durationcanvas_ref 128258
+  to durationcanvas_ref 128386
+  yz 301 2015 explicitmsg "show_map"
+  show_full_operations_definition default drawing_language default
+  label_xy 377 282
+msg 130178 synchronous
+  from durationcanvas_ref 129922
+  to durationcanvas_ref 130050
+  yz 89 2015 explicitmsg "update"
+  show_full_operations_definition default drawing_language default
+  label_xy 233 73
+msg 130562 synchronous
+  from durationcanvas_ref 130306
+  to durationcanvas_ref 130434
+  yz 169 2015 explicitmsg "update"
+  show_full_operations_definition default drawing_language default
+  label_xy 229 150
+end
Index: /liacs/se/CNS/129288.diagram
===================================================================
--- /liacs/se/CNS/129288.diagram	(revision 2)
+++ /liacs/se/CNS/129288.diagram	(revision 2)
@@ -0,0 +1,45 @@
+format 55
+
+classinstancecanvas 128489 classinstance_ref 129544 // cns
+  xyz 315 23 2000 life_line_z 2000
+classinstancecanvas 128745 classinstance_ref 129672 // cns
+  xyz 522 21 2000 life_line_z 2000
+classinstancecanvas 129001 classinstance_ref 128105 // cns
+  xyz 139 23 2000 life_line_z 2000
+durationcanvas 129129 classinstance_ref 128489 // cns:processing
+  xyzwh 370 95 2010 11 43
+end
+durationcanvas 129257 classinstance_ref 129001 // cns:display
+  xyzwh 180 95 2010 11 28
+end
+durationcanvas 129513 classinstance_ref 128745 // cns:GPS
+  xyzwh 554 175 2010 11 40
+end
+durationcanvas 129641 classinstance_ref 128489 // cns:processing
+  xyzwh 370 175 2010 11 25
+end
+durationcanvas 129897 classinstance_ref 128489 // cns:processing
+  xyzwh 370 252 2010 11 35
+end
+durationcanvas 130025 classinstance_ref 129001 // cns:display
+  xyzwh 180 252 2010 11 25
+end
+msg 129385 asynchronous
+  from durationcanvas_ref 129129
+  to durationcanvas_ref 129257
+  yz 100 2015 explicitmsg "show_map"
+  show_full_operations_definition default drawing_language default
+  label_xy 242 86
+msg 129769 asynchronous
+  from durationcanvas_ref 129513
+  to durationcanvas_ref 129641
+  yz 175 2015 explicitmsg "nmea"
+  show_full_operations_definition default drawing_language default
+  label_xy 437 161
+msg 130153 asynchronous
+  from durationcanvas_ref 129897
+  to durationcanvas_ref 130025
+  yz 252 2015 explicitmsg "show_map"
+  show_full_operations_definition default drawing_language default
+  label_xy 242 238
+end
Index: /liacs/se/CNS/129288_105.d
===================================================================
--- /liacs/se/CNS/129288_105.d	(revision 2)
+++ /liacs/se/CNS/129288_105.d	(revision 2)
@@ -0,0 +1,5 @@
+format 55
+
+classinstancecanvas 128489 classinstance_ref 129544 // cns
+  xyz 287 21 2000 life_line_z 2000
+end
Index: /liacs/se/CNS/2.session
===================================================================
--- /liacs/se/CNS/2.session	(revision 2)
+++ /liacs/se/CNS/2.session	(revision 2)
@@ -0,0 +1,15 @@
+window_sizes 1280 969 300 900 682 82
+diagrams
+  active  sequencediagram_ref 129160 // startup
+    775 644 100 4 0 0
+end
+show_stereotypes
+selected sequencediagram_ref 129160 // startup
+open
+  usecaseview_ref 129160 // startup
+  usecaseview_ref 129288 // find_own_location
+  usecaseview_ref 128105 // user_gives_driving_goal
+  usecaseview_ref 129154 // show_route
+  deploymentview_ref 128105 // deployment
+end
+end
Index: /liacs/se/CNS/CNS.prj
===================================================================
--- /liacs/se/CNS/CNS.prj	(revision 2)
+++ /liacs/se/CNS/CNS.prj	(revision 2)
@@ -0,0 +1,370 @@
+format 55
+"CNS"
+  revision 4
+  modified_by 2 "evert"
+
+
+  
+  // class settings
+  default_attribute_visibility protected default_relation_visibility protected default_operation_visibility public
+  //class diagram settings
+  draw_all_relations yes hide_attributes no hide_operations no show_members_full_definition no show_members_visibility no show_members_stereotype no show_members_multiplicity no show_members_initialization no member_max_width 127 show_parameter_dir yes show_parameter_name yes package_name_in_tab no class_drawing_mode natural drawing_language uml show_context_mode no auto_label_position yes show_infonote no shadow yes
+  //use case diagram settings
+  package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes class_drawing_mode actor shadow yes
+  //sequence diagram settings
+  show_full_operations_definition no write_horizontally yes class_drawing_mode natural drawing_language uml draw_all_relations yes shadow yes
+  //collaboration diagram settings
+  show_full_operations_definition no show_hierarchical_rank no write_horizontally yes drawing_language uml package_name_in_tab no show_context no draw_all_relations yes shadow yes
+  //object diagram settings
+   write_horizontally yes package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes shadow yes
+  //component diagram settings
+  package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes shadow yes
+  draw_component_as_icon no show_component_req_prov no show_component_rea no
+  //deployment diagram settings
+  package_name_in_tab no show_context no write_horizontally yes auto_label_position yes draw_all_relations yes shadow yes
+  draw_component_as_icon no show_component_req_prov no show_component_rea no
+  //state diagram settings
+  package_name_in_tab no show_context no auto_label_position yes write_trans_label_horizontally yes show_trans_definition no draw_all_relations yes shadow yes
+  show_activities yes region_horizontally yes drawing_language uml
+  //activity diagram settings
+  package_name_in_tab no show_context no show_opaque_action_definition no auto_label_position yes write_flow_label_horizontally no draw_all_relations yes shadow yes
+  show_infonote yes drawing_language uml
+  
+  class_color yellow duration_color transparent continuation_color gray note_color blue fragment_color transparent subject_color transparent usecase_color yellow package_color transparent component_color green artifact_color green deploymentnode_color gray state_color yellow stateaction_color transparent activity_color transparent activityregion_color transparent activityaction_color transparent parameterpin_color white 
+  font_size 13
+  diagram_format A4
+
+  mark_for_import
+  
+  usecaseview 129160 "startup"
+    //use case diagram settings
+    package_name_in_tab default show_context default auto_label_position default draw_all_relations default class_drawing_mode default shadow default
+    //sequence diagram settings
+    show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
+    //collaboration diagram settings
+    show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
+    //object diagram settings
+     write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
+    //state diagram settings
+    package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
+    show_activities default region_horizontally default drawing_language default
+    //activity diagram settings
+    package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
+    show_infonote default drawing_language default
+    comment "user turns on system"
+    sequencediagram 129160 "startup"
+      show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
+      overlapping_bars size A4
+    end
+
+    class 129288 "user"
+      visibility package 
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    classinstance 129288 "user"
+      type class_ref 129288 // user
+      attributes
+        end
+      relations
+        end
+    end
+
+    class 129416 "input_button"
+      visibility package 
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    classinstance 129416 "cns"
+      type class_ref 129416 // input_button
+      attributes
+        end
+      relations
+        end
+    end
+
+    class 129154 "driver"
+      visibility package stereotype "actor"
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+  end
+
+  usecaseview 129288 "find_own_location"
+    //use case diagram settings
+    package_name_in_tab default show_context default auto_label_position default draw_all_relations default class_drawing_mode default shadow default
+    //sequence diagram settings
+    show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
+    //collaboration diagram settings
+    show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
+    //object diagram settings
+     write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
+    //state diagram settings
+    package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
+    show_activities default region_horizontally default drawing_language default
+    //activity diagram settings
+    package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
+    show_infonote default drawing_language default
+    comment "system finds it's own location"
+    sequencediagram 129288 "find_own_location"
+      show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
+      overlapping_bars size A4
+    end
+
+    class 129544 "processing"
+      visibility package 
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    classinstance 129544 "cns"
+      type class_ref 129544 // processing
+      attributes
+        end
+      relations
+        end
+    end
+
+    classinstance 129672 "cns"
+      type class_ref 129672 // GPS
+      attributes
+        end
+      relations
+        end
+    end
+
+    class 129672 "GPS"
+      visibility package 
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    class 129800 "display"
+      visibility package 
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    classinstance 128105 "cns"
+      type class_ref 129800 // display
+      attributes
+        end
+      relations
+        end
+    end
+  end
+
+  usecaseview 128105 "user_gives_driving_goal"
+    //use case diagram settings
+    package_name_in_tab default show_context default auto_label_position default draw_all_relations default class_drawing_mode default shadow default
+    //sequence diagram settings
+    show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
+    //collaboration diagram settings
+    show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
+    //object diagram settings
+     write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
+    //state diagram settings
+    package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
+    show_activities default region_horizontally default drawing_language default
+    //activity diagram settings
+    package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
+    show_infonote default drawing_language default
+    sequencediagram 128105 "user_gives_driving_goal"
+      show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
+      overlapping_bars size A4
+    end
+
+    class 128105 "input_screen"
+      visibility package 
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+
+    classinstance 128233 "cns"
+      type class_ref 128105 // input_screen
+      attributes
+        end
+      relations
+        end
+    end
+
+    classinstance 128361 "cns"
+      type class_ref 128233 // fixed_storage
+      attributes
+        end
+      relations
+        end
+    end
+
+    class 128233 "fixed_storage"
+      visibility package 
+      cpp_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+      java_decl ""
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+  end
+
+  usecaseview 129154 "show_route"
+    //use case diagram settings
+    package_name_in_tab default show_context default auto_label_position default draw_all_relations default class_drawing_mode default shadow default
+    //sequence diagram settings
+    show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
+    //collaboration diagram settings
+    show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
+    //object diagram settings
+     write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
+    //state diagram settings
+    package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
+    show_activities default region_horizontally default drawing_language default
+    //activity diagram settings
+    package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
+    show_infonote default drawing_language default
+    sequencediagram 129282 "show_route"
+      show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
+      overlapping_bars size A4
+    end
+
+    class 129282 "RDS"
+      visibility package 
+      cpp_decl ""
+      java_decl "${comment}${@}${visibility}${final}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+      php_decl ""
+      python_2_2 python_decl ""
+      idl_decl ""
+      explicit_switch_type ""
+      
+    end
+  end
+
+  componentview 129154 "modules"
+    //component diagram settings
+    package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
+    draw_component_as_icon default show_component_req_prov default show_component_rea default
+    component 129154 "GPS"
+      required_classes
+	class_ref 129672 // GPS
+      end
+      simplerelation 129154
+	-_->
+	  on component_ref 129666 // route and location
+      end
+    end
+
+    component 129282 "screen"
+      required_classes
+	class_ref 129800 // display
+      end
+    end
+
+    component 129410 "RDS"
+      simplerelation 129282
+	-_->
+	  on component_ref 129666 // route and location
+      end
+    end
+
+    component 129538 "map data"
+      simplerelation 129410
+	-_->
+	  on component_ref 129666 // route and location
+      end
+    end
+
+    component 129666 "route and location"
+      required_classes
+	class_ref 129544 // processing
+      end
+      simplerelation 129538
+	---|>
+	  on component_ref 129282 // screen
+      end
+    end
+
+    componentdiagram 129154 "architecture"
+      package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
+      draw_component_as_icon default show_component_req_prov default show_component_rea default
+      size A4
+    end
+
+    component 129794 "target"
+    end
+  end
+
+  deploymentview 128105 "deployment"
+    //deployment diagram settings
+    package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
+    draw_component_as_icon default show_component_req_prov default show_component_rea default
+    deploymentdiagram 128233 "deployment"
+      package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
+      draw_component_as_icon default show_component_req_prov default show_component_rea default
+      size A4
+    end
+  end
+end
Index: /liacs/se/CNS/cpp_includes
===================================================================
--- /liacs/se/CNS/cpp_includes	(revision 2)
+++ /liacs/se/CNS/cpp_includes	(revision 2)
@@ -0,0 +1,13 @@
+// "a type" "needed cpp_includes"
+"vector" "#include <vector>
+using namespace std;"
+
+"list" "#include <list>
+using namespace std;"
+
+"map" "#include <map>
+using namespace std;"
+
+"string" "#include <string>
+using namespace std;"
+
Index: /liacs/se/CNS/generation_settings
===================================================================
--- /liacs/se/CNS/generation_settings	(revision 2)
+++ /liacs/se/CNS/generation_settings	(revision 2)
@@ -0,0 +1,304 @@
+
+  java_default_defs 
+  cpp_h_extension "h" cpp_src_extension "cpp" java_extension "java" php_extension "php" python_extension "py" idl_extension "idl"
+
+  type_forms 15 // uml cpp java idl cpp_in cpp_out cpp_inout cpp_return
+    "void" "void" "void" "void" "${type}" "${type} &" "${type}" "${type}"
+    "any" "void *" "Object" "any" "const ${type}" "${type}" "${type} &" "${type}"
+    "bool" "bool" "boolean" "boolean" "${type}" "${type} &" "${type} &" "${type}"
+    "char" "char" "char" "char" "${type}" "${type} &" "${type} &" "${type}"
+    "uchar" "unsigned char" "char" "octet" "${type}" "${type} &" "${type} &" "${type}"
+    "byte" "unsigned char" "byte" "octet" "${type}" "${type} &" "${type} &" "${type}"
+    "short" "short" "short" "short" "${type}" "${type} &" "${type} &" "${type}"
+    "ushort" "unsigned short" "short" "unsigned short" "${type}" "${type} &" "${type} &" "${type}"
+    "int" "int" "int" "long" "${type}" "${type} &" "${type} &" "${type}"
+    "uint" "unsigned int" "int" "unsigned long" "${type}" "${type} &" "${type} &" "${type}"
+    "long" "long" "long" "long" "${type}" "${type} &" "${type} &" "${type}"
+    "ulong" "unsigned long" "long" "unsigned long" "${type}" "${type} &" "${type} &" "${type}"
+    "float" "float" "float" "float" "${type}" "${type} &" "${type} &" "${type}"
+    "double" "double" "double" "double" "${type}" "${type} &" "${type} &" "${type}"
+    "string" "string" "String" "string" "${type}" "${type} &" "${type} &" "${type}"
+  
+  relations_stereotypes 5 // uml cpp java pythonidl
+    "sequence" "vector" "Vector" "list" "sequence"
+    "vector" "vector" "Vector" "list" "sequence"
+    "list" "list" "List" "list" "sequence"
+    "set" "set" "Set" "set" "sequence"
+    "map" "map" "Map" "dict" "sequence"
+  
+  classes_stereotypes 13 // uml cpp java php python idl
+    "class" "class" "class" "class" "class" "valuetype"
+    "interface" "class" "interface" "interface" "class" "interface"
+    "exception" "class" "class" "class" "class" "exception"
+    "enum" "enum" "enum" "enum" "enum" "enum"
+    "enum_pattern" "enum" "enum_pattern" "enum" "enum" "enum"
+    "struct" "struct" "class" "class" "class" "struct"
+    "union" "union" "class" "class" "class" "union"
+    "typedef" "typedef" "ignored" "ignored" "ignored" "typedef"
+    "boundary" "class" "class" "class" "class" "interface"
+    "control" "class" "class" "class" "class" "valuetype"
+    "entity" "class" "class" "class" "class" "valuetype"
+    "actor" "ignored" "ignored" "ignored" "ignored" "ignored"
+    "@interface" "ignored" "@interface" "ignored" "ignored" "ignored"
+  
+  cpp_enum_default_type_forms "${type}" "${type} &" "${type} &" "${type}" // in out inout return
+  other_cpp_types_default_type_forms "const ${type} &" "${type} &" "${type} &" "${type}" // in out inout return
+
+  cpp_default_h_content "#ifndef ${NAMESPACE}_${NAME}_H
+#define ${NAMESPACE}_${NAME}_H
+
+${comment}
+${includes}
+${declarations}
+${namespace_start}
+${definition}
+${namespace_end}
+#endif
+"
+  cpp_default_src_content "${comment}
+${includes}
+${namespace_start}
+${members}
+${namespace_end}"
+  cpp_default_class_decl "${comment}${template}class ${name}${inherit} {
+${members}};
+${inlines}
+"
+  cpp_default_external_class_decl "${name}
+#include <${name}.h>
+"
+  cpp_default_struct_decl "${comment}${template}struct ${name}${inherit} {
+${members}};
+${inlines}
+"
+  cpp_default_union_decl "${comment}${template}union ${name} {
+${members}};
+${inlines}
+"
+  cpp_default_enum_decl "${comment}enum ${name} {
+${items}
+};
+"
+  cpp_default_typedef_decl "${comment}typedef ${type} ${name};
+"
+  cpp_default_attribute_declaration "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+" // multiplicity 1
+  "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+  "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
+" // multiplicity [..]
+  cpp_default_enum_item_declaration "  ${name}${value},${comment}"
+  cpp_association_aggregation_declaration
+    "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
+" // multiplicity 1
+    "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type} *> ${name}${value};
+" // multiplicity * a..b
+    "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${multiplicity}${value};
+" // multiplicity [..]
+  cpp_aggregation_by_value_declaration
+    "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
+" // multiplicity 1
+    "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+    "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${multiplicity}${value};
+" // multiplicity [..]
+  cpp_get "get_${name}" inline const value_const public
+  cpp_set "set_${name}" public
+  cpp_default_operation_declaration "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
+"
+  cpp_default_operation_definition "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
+  ${body}}
+"
+  java_default_src_content "${comment}
+${package}
+${imports}
+${definition}"
+  java_default_class_decl "${comment}${@}${visibility}${final}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+  java_default_external_class_decl "${name}"
+  java_default_interface_decl "${comment}${@}${visibility}interface ${name}${extends} {
+${members}}
+"
+  java5_default_enum_decl "${comment}${@}${visibility}${final}${abstract}enum ${name}${implements} {
+${items};
+${members}}
+"
+  java_default_enum_decl "${comment}${@}${visibility}final class ${name} {
+${members}
+  private final int value;
+
+  public int value() {
+    return value;
+  }
+
+  public static ${name} fromInt(int value) {
+    switch (value) {
+${cases}    default: throw new Error();
+    }
+
+  }
+  private ${name}(int v) { value = v; };
+}
+"
+  java_default_attribute_declaration "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+" // multiplicity 1
+  "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+  "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type}${multiplicity} ${name}${value};
+" // multiplicity N
+  java5_default_enum_item_declaration "  ${@}${name}${value},${comment}"
+  java_default_enum_item_declaration "  ${comment}${@}public static final int _${name}${value};
+public static final ${class} ${name} = new ${class}(_${name});
+"
+  java_default_enum_case "    case _${name}: return ${name};
+"
+  java_association_aggregation_declaration
+    "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type} ${name}${value};
+" // multiplicity 1
+    "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+    "  ${comment}${@}${visibility}${static}${final}${transient}${volatile}${type}${multiplicity} ${name}${value};
+" // multiplicity N
+  java_get "get${Name}" final public
+  java_set "set${Name}" public
+  java_default_operation_definition "  ${comment}${@}${visibility}${final}${static}${abstract}${synchronized}${type} ${name}${(}${)}${throws}${staticnl}{
+  ${body}}
+"
+  php_default_src_content "<?php
+${comment}
+${definition}
+?>
+"
+  php_default_class_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
+${members}}
+"
+  php_default_enum_decl "${comment}${visibility}final class ${name} {
+${items}}
+"
+  php_default_external_class_decl "${name}"
+  php_default_interface_decl "${comment}${visibility}interface ${name} {
+${members}}
+"
+  php_default_attribute_declaration "  ${comment}${visibility}${const}${static}${var}${name}${value};
+"
+  php_default_enum_item_decl "  const ${name}${value};${comment}
+"
+  php_default_relation_declaration"  ${comment}${visibility}${const}${static}${var}${name}${value};
+"
+  php_get "get${Name}" final
+  php_set "set${Name}"
+  php_default_operation_definition "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
+{
+  ${body}}
+"
+  python_2_2
+  python_indent_step "    "
+  python_default_src_content "${comment}
+${import}
+${definition}"
+  python_default_class_decl "class ${name}${inherit}:
+${docstring}${members}
+"
+  python_default_enum_decl "class ${name}:
+${docstring}${members}
+"
+  python_default_external_class_decl "${name}"
+  python_default_attribute_declaration "${comment}${self}${name} = ${value}
+" // multiplicity 1
+  "${comment}${self}${name} = ${stereotype}()
+" // multiplicity != 1
+  python_default_enum_item_decl "${comment}${self}${name} = ${value}
+"
+  python_default_relation_declaration"${comment}${self}${name} = ${value}
+" // multiplicity 1
+  "${comment}${self}${name} = ${stereotype}()
+" // multiplicity != 1
+  python_default_composition_declaration"${comment}${self}${name} = ${type}()
+" // multiplicity 1
+  "${comment}${self}${name} = ${stereotype}()
+" // multiplicity != 1
+  python_default_operation_definition "${@}${static}${abstract}def ${name}${(}${)}:
+${docstring}${body}
+"
+  python_get "get${Name}"
+  python_set "set${Name}"
+  idl_default_src_content "#ifndef ${MODULE}_${NAME}_H
+#define ${MODULE}_${NAME}_H
+
+${comment}
+${includes}
+${module_start}
+${definition}
+${module_end}
+#endif
+"
+  idl_default_interface_decl "${comment}${abstract}${local}interface ${name}${inherit} {
+${members}};
+"
+  idl_default_valuetype_decl "${comment}${abstract}${custom}valuetype ${name}${inherit} {
+${members}};
+"
+  idl_default_struct_decl "${comment}struct ${name} {
+${members}};
+"
+  idl_default_typedef_decl "${comment}typedef ${type} ${name};
+"
+  idl_default_exception_decl "${comment}exception ${name} {
+${members}};
+"
+  idl_default_union_decl "${comment}union ${name} switch(${switch}) {
+${members}};
+"
+  idl_default_enum_decl "${comment}enum ${name} {
+${items}};
+"
+  idl_default_external_class_decl "${name}
+#include \"${name}.idl\"
+"
+  idl_default_attribute_declaration "  ${comment}${readonly}${attribute}${type} ${name};
+" // multiplicity 1
+  "  ${comment}${readonly}${attribute}${stereotype}<${type}> ${name};
+" // multiplicity * a..b
+  "  ${comment}${readonly}${attribute}${stereotype}<${type},${multiplicity}> ${name};
+" // multiplicity N
+  idl_default_valuetype_attribute_declaration "  ${comment}${visibility}${type} ${name};
+" // multiplicity 1
+  "  ${comment}${visibility}${stereotype}<${type}> ${name};
+" // multiplicity * a..b
+  "  ${comment}${visibility}${stereotype}<${type},${multiplicity}> ${name};
+" // multiplicity N
+  idl_default_const_declaration "  ${comment}const ${type} ${name}${value};
+" // multiplicity 1
+  "  ${comment}const ${stereotype}<${type}> ${name}${value};
+" // multiplicity * a..b
+  "  ${comment}const ${stereotype}<${type},${multiplicity}> ${name}${value};
+" // multiplicity N
+  idl_default_enum_item_declaration "  ${name},${comment}"
+  idl_default_union_item_declaration "  ${comment}case ${case} : ${readonly}${type} ${name};" // multiplicity 1
+  "  ${comment}case ${case} : ${readonly}${stereotype}<${type}> ${name};" // multiplicity * a..b
+  "  ${comment}case ${case} : ${readonly}${stereotype}<${type},${multiplicity}> ${name};" // multiplicity N
+  idl_association_aggregation_declaration
+    "  ${comment}${readonly}${attribute}${type} ${name};
+" // multiplicity 1
+    "  ${comment}${readonly}${attribute}${stereotype}<${type}> ${name};
+" // multiplicity * a..b
+    "  ${comment}${readonly}${attribute}${stereotype}<${type},${multiplicity}> ${name};
+" // multiplicity N
+  idl_valuetype_association_aggregation_declaration
+    "  ${comment}${visibility}${type} ${name};
+" // multiplicity 1
+    "  ${comment}${visibility}${stereotype}<${type}> ${name};
+" // multiplicity * a..b
+    "  ${comment}${visibility}${stereotype}<${type},${multiplicity}> ${name};
+" // multiplicity N
+  idl_union_association_aggregation_declaration
+    "  ${comment}case ${case} : ${readonly}${type} ${name};" // multiplicity 1
+    "  ${comment}case ${case} : ${readonly}${stereotype}<${type}> ${name};" // multiplicity * a..b
+    "  ${comment}case ${case} : ${readonly}${stereotype}<${type},${multiplicity}> ${name};" // multiplicity N
+  idl_get "get_${name}"
+  idl_set "set_${name}"  twoways
+  idl_default_operation_declaration "  ${comment}${oneway}${type} ${name}${(}${)}${raisesnl}${raises};
+"
+  uml_get_name uml uml_set_name uml
+end
Index: /liacs/se/CNS/idl_includes
===================================================================
--- /liacs/se/CNS/idl_includes	(revision 2)
+++ /liacs/se/CNS/idl_includes	(revision 2)
@@ -0,0 +1,1 @@
+// "a type" "needed idl_includes"
Index: /liacs/se/CNS/java_imports
===================================================================
--- /liacs/se/CNS/java_imports	(revision 2)
+++ /liacs/se/CNS/java_imports	(revision 2)
@@ -0,0 +1,1 @@
+// "a type" "needed java_imports"
Index: /liacs/se/CNS/python_imports
===================================================================
--- /liacs/se/CNS/python_imports	(revision 2)
+++ /liacs/se/CNS/python_imports	(revision 2)
@@ -0,0 +1,1 @@
+// "a type" "needed python_imports"
Index: /liacs/se/CNS/stereotypes
===================================================================
--- /liacs/se/CNS/stereotypes	(revision 2)
+++ /liacs/se/CNS/stereotypes	(revision 2)
@@ -0,0 +1,56 @@
+
+  package_stereotypes  5 "facade" "framework" "model library" "stub" "toplevel"
+    -_-> 3 "access" "import" "from"
+  end
+  
+  class_stereotypes  18 "actor" "auxiliary" "boundary" "control" "entity" "enum" "enum_pattern" "exception" "focus" "implementation class" "interface" "@interface" "metaclass" "struct" "type" "typedef" "union" "utility"
+    ---- 4 "list" "set" "vector" "map"
+    ---> 4 "list" "set" "vector" "map"
+    ---|> 4 "{complete,disjoint}" "{incomplete,disjoint}" "{complete,overlapping}" "{incomplete,overlapping}"
+    o--- 4 "list" "set" "vector" "map"
+    *--- 4 "list" "set" "vector" "map"
+    o--> 4 "list" "set" "vector" "map"
+    *--> 4 "list" "set" "vector" "map"
+    -_-> 3 "friend" "import" "from"
+    -_-|> 1 "bind"
+  end
+  
+  use_case_stereotypes 1 "realization"
+  
+    ---|> 4 "{complete,disjoint}" "{incomplete,disjoint}" "{complete,overlapping}" "{incomplete,overlapping}"
+    -_-> 2 "include" "extend"
+  end
+  
+  artifact_stereotypes  7 "document" "file" "script" "source" "text" "library" "executable"
+    -_-> 4 "deploy" "manifest" "import" "from"
+  end
+  
+  attribute_stereotypes  4 "list" "set" "vector" "map"
+  operation_stereotypes  0
+  state_stereotypes  3 "machine" "submachine" "top"
+  activity_stereotypes  0
+  flow_stereotypes  3 "interrupt" "multicast" "multireceive"
+  interruptibleactivityregion_stereotypes  0
+  pseudostate_stereotypes  0
+  stateaction_stereotypes  2 "send-signal" "receive-signal"
+  parameter_stereotypes  0
+  parameterset_stereotypes  0
+  activitynode_stereotypes  0
+  activityaction_stereotypes  0
+  activityobject_stereotypes  2 "datastore" "centralBuffer"
+  pin_stereotypes  0
+  component_stereotypes  6 "build component" "entity" "implement" "process" "service" "subsystem"
+  deploymentnode_stereotypes  3 "cpu" "device" "executionEnvironment"
+  classview_stereotypes  0
+  usecaseview_stereotypes  0
+  componentview_stereotypes  0
+  deploymentview_stereotypes  0
+  classdiagram_stereotypes  0
+  seqdiagram_stereotypes  0
+  coldiagram_stereotypes  0
+  usecasediagram_stereotypes  0
+  statediagram_stereotypes  0
+  activitydiagram_stereotypes  0
+  componentdiagram_stereotypes  0
+  deploymentdiagram_stereotypes  0
+end
Index: /liacs/se/CNS/tools
===================================================================
--- /liacs/se/CNS/tools	(revision 2)
+++ /liacs/se/CNS/tools	(revision 2)
@@ -0,0 +1,32 @@
+// 'tool' "the executable" "displayed string" {target}+
+tool "HTML documentation" "ghtml" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue ExtraMember ClassInstance
+tool "HTML doc. (flat)" "ghtml -flat" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue ExtraMember ClassInstance
+tool "HTML doc. (svg)" "ghtml -svg" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue ExtraMember ClassInstance
+tool "HTML doc. (flat, svg)" "ghtml -flat -svg" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue ExtraMember ClassInstance
+tool "C++ utilities" "cpp_util" Class
+tool "Global Change" "global_change" Class
+tool "Uml projection" "uml_proj" Class Operation Attribute Generalisation Realize Dependency Association DirectionalAssociation Aggregation AggregationByValue DirectionalAggregation DirectionalAggregationByValue
+tool "HTML documentation" "ghtml" State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition
+tool "HTML doc. (flat)" "ghtml -flat" State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition
+tool "HTML doc. (svg)" "ghtml -svg" State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition
+tool "HTML doc. (flat, svg)" "ghtml -flat -svg" State Region StateAction Initial EntryPoint Final Terminate ExitPoint DeepHistory ShallowHistory Junction Choice Fork Join Transition
+tool "C++ state machine" "stmgen" State
+tool "HTML documentation" "ghtml" Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow
+tool "HTML doc. (flat)" "ghtml -flat" Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow
+tool "HTML doc. (svg)" "ghtml -svg" Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow
+tool "HTML doc. (flat, svg)" "ghtml -flat -svg" Activity InterruptibleActivityRegion ExpansionRegion ActivityObject ActivityAction Parameter ParameterSet Pin ExpansionNode InitialActivityNode FinalActivityNode ExitPointActivityNode DecisionActivityNode MergeActivityNode ForkActivityNode JoinActivityNode Flow
+tool "HTML documentation" "ghtml" Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
+tool "HTML doc. (flat)" "ghtml -flat" Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
+tool "HTML doc. (svg)" "ghtml -svg" Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
+tool "HTML doc. (flat, svg)" "ghtml -flat -svg" Project Package UseCaseView ClassView ComponentView DeploymentView UseCaseDiagram SeqDiagram ColDiagram ClassDiagram ObjectDiagram StateDiagram ActivityDiagram ComponentDiagram DeploymentDiagram UseCase Component Node Artifact Inherit DependOn
+tool "Generate .pro" "gpro" Artifact
+tool "Import Rose" "irose" Project Package
+tool "Generate XMI 1.2" "gxmi" Project
+tool "Generate XMI 2.1" "gxmi2" Project
+tool "Import XMI 2.1" "ixmi2" Project Package
+tool "Use case wizard" "usecasewizard" UseCase
+tool "Check-in" "file_control ci" Project Package
+tool "Check-out" "file_control co" Project Package
+tool "Deploy classes" "deplcl" ClassView
+tool "Global Change" "global_change" Project Package ClassView DeploymentView
+tool "Uml projection" "uml_proj" Project Package ClassView
Index: /liacs/se/README
===================================================================
--- /liacs/se/README	(revision 2)
+++ /liacs/se/README	(revision 2)
@@ -0,0 +1,6 @@
+Software Engineering - svn -repos
+
+Filename guidelines:
+* No spaces, but '-' instead
+* No captitals
+* No '_' , but '-' instead. ( '_' will not be displayed pretty in URL's
Index: /liacs/se/RouteGUI/build.xml
===================================================================
--- /liacs/se/RouteGUI/build.xml	(revision 2)
+++ /liacs/se/RouteGUI/build.xml	(revision 2)
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- You may freely edit this file. See commented blocks below for -->
+<!-- some examples of how to customize the build. -->
+<!-- (If you delete it and reopen the project it will be recreated.) -->
+<project name="RouteGUI" default="default" basedir=".">
+    <description>Builds, tests, and runs the project RouteGUI.</description>
+    <import file="nbproject/build-impl.xml"/>
+    <import file="nbproject/profiler-build-impl.xml"/>
+    <import file="nbproject/profiler-build-impl.xml"/>
+    <!--
+
+    There exist several targets which are by default empty and which can be 
+    used for execution of your tasks. These targets are usually executed 
+    before and after some main targets. They are: 
+
+      -pre-init:                 called before initialization of project properties
+      -post-init:                called after initialization of project properties
+      -pre-compile:              called before javac compilation
+      -post-compile:             called after javac compilation
+      -pre-compile-single:       called before javac compilation of single file
+      -post-compile-single:      called after javac compilation of single file
+      -pre-compile-test:         called before javac compilation of JUnit tests
+      -post-compile-test:        called after javac compilation of JUnit tests
+      -pre-compile-test-single:  called before javac compilation of single JUnit test
+      -post-compile-test-single: called after javac compilation of single JUunit test
+      -pre-jar:                  called before JAR building
+      -post-jar:                 called after JAR building
+      -post-clean:               called after cleaning build products
+
+    (Targets beginning with '-' are not intended to be called on their own.)
+
+    Example of inserting an obfuscator after compilation could look like this:
+
+        <target name="-post-compile">
+            <obfuscate>
+                <fileset dir="${build.classes.dir}"/>
+            </obfuscate>
+        </target>
+
+    For list of available properties check the imported 
+    nbproject/build-impl.xml file. 
+
+
+    Another way to customize the build is by overriding existing main targets.
+    The targets of interest are: 
+
+      -init-macrodef-javac:     defines macro for javac compilation
+      -init-macrodef-junit:     defines macro for junit execution
+      -init-macrodef-debug:     defines macro for class debugging
+      -init-macrodef-java:      defines macro for class execution
+      -do-jar-with-manifest:    JAR building (if you are using a manifest)
+      -do-jar-without-manifest: JAR building (if you are not using a manifest)
+      run:                      execution of project 
+      -javadoc-build:           Javadoc generation
+      test-report:              JUnit report generation
+
+    An example of overriding the target for project execution could look like this:
+
+        <target name="run" depends="RouteGUI-impl.jar">
+            <exec dir="bin" executable="launcher.exe">
+                <arg file="${dist.jar}"/>
+            </exec>
+        </target>
+
+    Notice that the overridden target depends on the jar target and not only on 
+    the compile target as the regular run target does. Again, for a list of available 
+    properties which you can use, check the target you are overriding in the
+    nbproject/build-impl.xml file. 
+
+    -->
+</project>
Index: /liacs/se/RouteGUI/java-gui-builders.html
===================================================================
--- /liacs/se/RouteGUI/java-gui-builders.html	(revision 2)
+++ /liacs/se/RouteGUI/java-gui-builders.html	(revision 2)
@@ -0,0 +1,2248 @@
+<html>
+
+<head>
+<meta name=Generator content="Microsoft Office HTML Filter 2.0">
+<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
+<meta name=Originator content="Microsoft Word 9">
+<title>Java GUI Builders</title>
+<style>
+<!--
+ 
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{
+	margin:0in;
+	margin-bottom:.0001pt;
+	font-size:10.0pt;
+	font-family:Verdana;}
+h1
+	{
+	margin-top:12.0pt;
+	margin-right:0in;
+	margin-bottom:3.0pt;
+	margin-left:.3in;
+	text-indent:-.3in;
+	page-break-after:avoid;
+	font-size:16.0pt;
+	font-family:Verdana;}
+h2
+	{
+	margin-top:12.0pt;
+	margin-right:0in;
+	margin-bottom:3.0pt;
+	margin-left:.4in;
+	text-indent:-.4in;
+	page-break-after:avoid;
+	font-size:14.0pt;
+	font-family:Verdana;
+	font-style:italic;}
+h3
+	{
+	margin-top:12.0pt;
+	margin-right:0in;
+	margin-bottom:3.0pt;
+	margin-left:.5in;
+	text-indent:-.5in;
+	page-break-after:avoid;
+	font-size:13.0pt;
+	font-family:Verdana;}
+h4
+	{
+	margin-top:12.0pt;
+	margin-right:0in;
+	margin-bottom:3.0pt;
+	margin-left:.6in;
+	text-indent:-.6in;
+	page-break-after:avoid;
+	font-size:14.0pt;
+	font-family:"Times New Roman";}
+h5
+	{
+	margin-top:12.0pt;
+	margin-right:0in;
+	margin-bottom:3.0pt;
+	margin-left:.7in;
+	text-indent:-.7in;
+	font-size:13.0pt;
+	font-family:Verdana;
+	font-style:italic;}
+h6
+	{
+	margin-top:12.0pt;
+	margin-right:0in;
+	margin-bottom:3.0pt;
+	margin-left:.8in;
+	text-indent:-.8in;
+	font-size:11.0pt;
+	font-family:"Times New Roman";}
+p.MsoHeading7, li.MsoHeading7, div.MsoHeading7
+	{
+	margin-top:12.0pt;
+	margin-right:0in;
+	margin-bottom:3.0pt;
+	margin-left:.9in;
+	text-indent:-.9in;
+	font-size:12.0pt;
+	font-family:"Times New Roman";}
+p.MsoHeading8, li.MsoHeading8, div.MsoHeading8
+	{
+	margin-top:12.0pt;
+	margin-right:0in;
+	margin-bottom:3.0pt;
+	margin-left:1.0in;
+	text-indent:-1.0in;
+	font-size:12.0pt;
+	font-family:"Times New Roman";
+	font-style:italic;}
+p.MsoHeading9, li.MsoHeading9, div.MsoHeading9
+	{
+	margin-top:12.0pt;
+	margin-right:0in;
+	margin-bottom:3.0pt;
+	margin-left:1.1in;
+	text-indent:-1.1in;
+	font-size:11.0pt;
+	font-family:Verdana;}
+p.MsoToc1, li.MsoToc1, div.MsoToc1
+	{
+	margin:0in;
+	margin-bottom:.0001pt;
+	font-size:10.0pt;
+	font-family:Verdana;}
+p.MsoToc2, li.MsoToc2, div.MsoToc2
+	{
+	margin-top:0in;
+	margin-right:0in;
+	margin-bottom:0in;
+	margin-left:10.0pt;
+	margin-bottom:.0001pt;
+	font-size:10.0pt;
+	font-family:Verdana;}
+p.MsoHeader, li.MsoHeader, div.MsoHeader
+	{margin:0in;
+	margin-bottom:.0001pt;
+	font-size:10.0pt;
+	font-family:Verdana;}
+p.MsoFooter, li.MsoFooter, div.MsoFooter
+	{margin:0in;
+	margin-bottom:.0001pt;
+	font-size:10.0pt;
+	font-family:Verdana;}
+p.MsoBodyText, li.MsoBodyText, div.MsoBodyText
+	{margin-top:0in;
+	margin-right:0in;
+	margin-bottom:6.0pt;
+	margin-left:0in;
+	font-size:10.0pt;
+	font-family:Verdana;}
+a:link, span.MsoHyperlink
+	{color:blue;
+	text-decoration:underline;}
+a:visited, span.MsoHyperlinkFollowed
+	{color:purple;
+	text-decoration:underline;}
+span.ActionItemOwner
+	{
+	color:green;
+	text-decoration:underline;}
+p.Bullet101, li.Bullet101, div.Bullet101
+	{
+	margin-top:0in;
+	margin-right:0in;
+	margin-bottom:6.0pt;
+	margin-left:.75in;
+	text-indent:-.25in;
+	text-autospace:none;
+	font-size:10.0pt;
+	font-family:Verdana;}
+p.Numbered101, li.Numbered101, div.Numbered101
+	{
+	margin-top:0in;
+	margin-right:0in;
+	margin-bottom:6.0pt;
+	margin-left:.5in;
+	text-indent:-.25in;
+	font-size:10.0pt;
+	font-family:Verdana;}
+ol
+	{margin-bottom:0in;}
+ul
+	{margin-bottom:0in;}
+-->
+</style>
+</head>
+
+<body bgcolor=cornsilk lang=EN-US link=blue vlink=purple>
+
+<div class=Section1>
+
+<p class=MsoNormal><b><span
+style='font-size:18.0pt;'>Java GUI Builders</span></b></p>
+
+<p class=MsoNormal>By Mitch Stuart</p>
+
+<p class=MsoNormal>Copyright 2005 <a
+href="http://www.fullspan.com/">FullSpan Software</a> - Usage subject to <a
+href="http://www.fullspan.com/shared/license.html">license</a></span></p>
+
+<p class=MsoNormal>Document Version:
+1.4, 06-Apr-2005</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal><b><span
+style='font-size:16.0pt;'>Contents</span></b></p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoToc1><span
+class=MsoHyperlink><a href="#_Toc100514583">1<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>        </span>Introduction<span
+style='color:windowtext;display:none;text-decoration:none;'>  </span><span
+style='color:windowtext;display:none;text-decoration:none;'>1</span></a></span></p>
+
+<p class=MsoToc2><span
+class=MsoHyperlink><a href="#_Toc100514584">1.1<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>             </span>Discussion
+Thread<span style='color:windowtext;display:none;text-decoration:
+none;'>  </span><span
+style='color:windowtext;display:none;text-decoration:none;'>1</span></a></span></p>
+
+<p class=MsoToc2><span
+class=MsoHyperlink><a href="#_Toc100514585">1.2<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>             </span>Evaluation Scope
+and Methodology<span style='color:windowtext;display:none;
+text-decoration:none;'>  </span><span
+style='color:windowtext;display:none;text-decoration:none;'>1</span></a></span></p>
+
+<p class=MsoToc2><span
+class=MsoHyperlink><a href="#_Toc100514586">1.3<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>             </span>Evaluation
+Criteria<span style='color:windowtext;display:none;text-decoration:
+none;'>  </span><span
+style='color:windowtext;display:none;text-decoration:none;'>2</span></a></span></p>
+
+<p class=MsoToc1><span
+class=MsoHyperlink><a href="#_Toc100514587">2<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>      </span>GUI Builder Background<span
+style='color:windowtext;display:none;text-decoration:none;'>. </span><span
+style='color:windowtext;display:none;text-decoration:none;'>2</span></a></span></p>
+
+<p class=MsoToc2><span
+class=MsoHyperlink><a href="#_Toc100514588">2.1<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>        </span>GUI Components: Swing
+vs. SWT<span style='color:windowtext;display:none;text-decoration:
+none;'>  </span><span
+style='color:windowtext;display:none;text-decoration:none;'>2</span></a></span></p>
+
+<p class=MsoToc2><span
+class=MsoHyperlink><a href="#_Toc100514589">2.2<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>             </span>Layout Managers<span
+style='color:windowtext;display:none;text-decoration:none;'>3</span></a></span></p>
+
+<p class=MsoToc2><span
+class=MsoHyperlink><a href="#_Toc100514590">2.3<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>        </span>Tool Types<span
+style='color:windowtext;display:none;text-decoration:none;'>4</span></a></span></p>
+
+<p class=MsoToc2><span
+class=MsoHyperlink><a href="#_Toc100514591">2.4<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>        </span>GUI Definition
+Storage<span style='color:windowtext;display:none;text-decoration:
+none;'>  </span><span
+style='color:windowtext;display:none;text-decoration:none;'>5</span></a></span></p>
+
+<p class=MsoToc1><span
+class=MsoHyperlink><a href="#_Toc100514592">3<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>        </span>Recommended Products<span
+style='color:windowtext;display:none;text-decoration:none;'>5</span></a></span></p>
+
+<p class=MsoToc1><span
+class=MsoHyperlink><a href="#_Toc100514593">4<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>      </span>Product Summary<span
+style='color:windowtext;display:none;text-decoration:none;'>. </span><span
+style='color:windowtext;display:none;text-decoration:none;'>6</span></a></span></p>
+
+<p class=MsoToc1><span
+class=MsoHyperlink><a href="#_Toc100514594">5<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>      </span>Product Details<span
+style='color:windowtext;display:none;text-decoration:none;'>9</span></a></span></p>
+
+<p class=MsoToc2><span
+class=MsoHyperlink><a href="#_Toc100514595">5.1<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>             </span>Swing Designer<span
+style='color:windowtext;display:none;text-decoration:none;'>9</span></a></span></p>
+
+<p class=MsoToc2><span
+class=MsoHyperlink><a href="#_Toc100514596">5.2<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>             </span>NetBeans<span
+style='color:windowtext;display:none;text-decoration:none;'>11</span></a></span></p>
+
+<p class=MsoToc2><span
+class=MsoHyperlink><a href="#_Toc100514597">5.3<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>             </span>JFormDesigner<span
+style='color:windowtext;display:none;text-decoration:none;'>13</span></a></span></p>
+
+<p class=MsoToc2><span
+class=MsoHyperlink><a href="#_Toc100514598">5.4<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>             </span>FormLayoutMaker<span
+style='color:windowtext;display:none;text-decoration:none;'>14</span></a></span></p>
+
+<p class=MsoToc2><span
+class=MsoHyperlink><a href="#_Toc100514599">5.5<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>             </span>Foam<span
+style='color:windowtext;display:none;text-decoration:none;'>  </span><span
+style='color:windowtext;display:none;text-decoration:none;'>15</span></a></span></p>
+
+<p class=MsoToc2><span
+class=MsoHyperlink><a href="#_Toc100514600">5.6<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>             </span>Jigloo<span
+style='color:windowtext;display:none;text-decoration:none;'>  </span><span
+style='color:windowtext;display:none;text-decoration:none;'>16</span></a></span></p>
+
+<p class=MsoToc2><span
+class=MsoHyperlink><a href="#_Toc100514601">5.7<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>             </span>JBuilder<span
+style='color:windowtext;display:none;text-decoration:none;'>16</span></a></span></p>
+
+<p class=MsoToc2><span
+class=MsoHyperlink><a href="#_Toc100514602">5.8<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>             </span>Eclipse Visual
+Editor<span
+style='color:windowtext;display:none;text-decoration:none;'>17</span></a></span></p>
+
+<p class=MsoToc2><span
+class=MsoHyperlink><a href="#_Toc100514603">5.9<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>             </span>Jvider<span
+style='color:windowtext;display:none;text-decoration:none;'>17</span></a></span></p>
+
+<p class=MsoToc1><span
+class=MsoHyperlink><a href="#_Toc100514604">6<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>      </span>Wish List<span
+style='color:windowtext;display:none;text-decoration:none;'>18</span></a></span></p>
+
+<p class=MsoToc1><span
+class=MsoHyperlink><a href="#_Toc100514605">7<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>      </span>Example Code<span
+style='color:windowtext;display:none;text-decoration:none;'>  </span><span
+style='color:windowtext;display:none;text-decoration:none;'>18</span></a></span></p>
+
+<p class=MsoToc1><span
+class=MsoHyperlink><a href="#_Toc100514606">8<span style='font-size:12.0pt;
+font-family:"Times New Roman";color:windowtext;text-decoration:none;'>      </span>Revision History<span
+style='color:windowtext;display:none;text-decoration:none;'>. </span><span
+style='color:windowtext;display:none;text-decoration:none;'>18</span></a></span></p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h1><a name="_Toc100514583">1<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span>Introduction</a></h1>
+
+<p class=MsoNormal>This article
+discusses and compares tools for building Graphical User Interfaces (GUIs) in
+Java.  It describes my experiences and
+results in trying to find tools for rapid development of Java GUIs.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h2><a name="_Toc100514584">1.1<span style='font:7.0pt "Times New Roman"'>&nbsp;
+</span>Discussion Thread</a></h2>
+
+<p class=MsoNormal>There is a <a
+href="http://www.javalobby.org/java/forums/t17948">JavaLobby discussion thread</a>
+for this article, where you can view and post comments and questions.</span></p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h2><a name="_Toc100514585">1.2<span style='font:7.0pt "Times New Roman"'>&nbsp;
+</span>Evaluation Scope and Methodology</a></h2>
+
+<p class=MsoNormal>Using web searches,
+I identified more than 20 Java GUI builders to investigate.  I read each product web site to determine
+the feature set, licensing, and pricing. 
+I did other web searches to find existing reviews or opinions of the
+products, and also to discern vendor/community robustness.  In this step, I eliminated some of the
+products from further consideration (see the <a href="#_Product_Summary">Product
+Summary</a> for information on why some of the products were not selected).</span></p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>With the remaining
+set of finalist products, I downloaded and installed each one.  Then I tested them by creating panels with
+various sets of components.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h2><a name="_Toc100514586">1.3<span style='font:7.0pt "Times New Roman"'>&nbsp;
+</span>Evaluation Criteria</a></h2>
+
+<p class=MsoNormal>I did not use a formal evaluation matrix or checklist.  However, the following items were considered
+when evaluating each tool:</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Quality of resulting GUI.  Does it look professional and organized?  For example, do all the fields line up
+properly?  Does the form behave properly
+when resized (for example, expanding any growable fields as appropriate).</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Development productivity for application development.  How quickly can you go from a &quot;blank
+slate&quot; to a working application?</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Development productivity for maintenance.  For example, let's say you have created an
+application with a form.  Now you need
+to modify the form to add a couple of new components (labels, text boxes,
+etc.).  Is the mechanism for maintenance
+/ editing of the form consistent with the original development?  Or do you have to use different techniques
+when modifying existing forms?</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Cost and other business considerations.  Is the product commercial, free, open
+source?  Is it being actively developed
+/ maintained?  Is the vendor and/or
+community robust?</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h1><a name="_Toc100514587">2<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span>GUI Builder Background</a></h1>
+
+<p class=MsoNormal>Before jumping into the product discussion, in this section
+I will present some technical background that will be useful in understanding
+the similarities and differences between the GUI builder products.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h2><a name="_Toc100514588">2.1<span style='font:7.0pt "Times New Roman"'>&nbsp;
+</span>GUI Components: Swing vs. SWT</a></h2>
+
+<p class=MsoNormal><a href="http://java.sun.com/products/jfc/">Swing</a> is the
+&quot;built-in&quot; GUI component technology of the Java platform.  Swing is the successor to the <a
+href="http://java.sun.com/products/jdk/awt/">AWT</a> technology that was
+provided with the early releases of the Java platform.  In one sense, Swing replaces AWT.  For example, in a Swing program you would
+use <a
+href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextField.html">javax.swing.JTextField</a></span>
+instead of <a
+href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/TextField.html">java.awt.TextField</a></span>.  In another sense, Swing builds on AWT:
+JTextField is a descendant of <a
+href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html">java.awt.Container</a></span>,
+and many non-component AWT classes (such as layout managers) are used in Swing
+programming.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal><a href="http://www.eclipse.org/swt/">SWT</a> (the Standard
+Widget Toolkit) is an alternative (competing) GUI component technology that is
+part of the <a href="http://www.eclipse.org/">Eclipse</a> project.  There is a large and growing community that
+advocates SWT over Swing for Java GUI programming.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>In my own programming, I prefer using Swing, so this article
+focuses on tools that work with Swing. 
+If a tool happens to support SWT also, I will mention that fact (if I'm
+aware of it), but I have not tested the SWT capabilities of any of these tools.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h2><a name="_Toc100514589">2.2<span style='font:7.0pt "Times New Roman"'>&nbsp;
+</span>Layout Managers</a></h2>
+
+<p class=MsoNormal>One of the key decisions in determining how your forms will
+look, and how easy it will be to create and maintain them, is what layout
+manager you use.  It is quite common to
+have multiple panels and nested panels within a single form and certainly
+within a full application.  So you may
+use several different layout managers. 
+But for your &quot;mainstream&quot; forms with labels, data entry
+fields, etc. that you need to layout and line up, you will likely use a complex
+layout manager that allows you to layout many components cleanly in relation to
+each other.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Here is an overview of some common layout managers:</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span><b>Simple layouts</b>.  BorderLayout, BoxLayout, CardLayout,
+FlowLayout, and other similar layouts are simple layout managers that are
+suitable for laying out a small number of components or nested panels.  These are very simple to use and tend to
+have only a small number of properties to set. 
+For example, for FlowLayout you can set the alignment, horizontal gap,
+and vertical gap.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span><b>GridBagLayout</b>.  A complex layout manager that is part of the
+standard Java distribution.  If you are
+building a complex Java GUI, and not using a third-party layout manager, you
+will tend to end up using this layout. 
+It is very flexible but difficult to work with (there is an amusing
+animation called <a href="http://madbean.com/blog/2004/17/totallygridbag.html">Totally
+GridBag</a> illustrating this).  One of
+the key criteria for evaluating a GUI builder is determining how much it
+simplifies the process of working with GridBagLayout.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span><b>SpringLayout</b>.  A simple but powerful layout manager that is
+part of the standard Java distribution (as of Java 1.4.x).  Sun's <a
+href="http://java.sun.com/docs/books/tutorial/uiswing/layout/spring.html">Java
+tutorial</a> says: &quot;The SpringLayout class was added in v 1.4 to support
+layout in GUI builders.&quot;  However,
+of the GUI builders that I looked at, only Swing Designer currently supports
+SpringLayout, as far as I can tell.<br>
+<br>
+In <a href="http://www.softwarereality.com/soapbox/boudreau_interview.jsp">an
+interview</a>, NetBeans team member Tim Boudreau seemed to indicate that there
+would be SpringLayout support in NetBeans 4.1. 
+However, in a <a
+href="http://java.sun.com/developer/community/chat/JavaLive/2004/jl1116.html">chat
+session</a>, NetBeans team member Larry Baron stated &quot;The Form editor from
+4.0 will migrate unchanged to 4.1. We are looking at improvements in releases
+past NB 4.1&quot;.<br>
+<br>
+So although SpringLayout looks intriguing, it does not yet seem to have
+sufficient support among GUI builders to have a major impact on the evaluation
+here.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span><b>FormLayout</b>.  A third-party open source layout manager
+from <a href="http://www.jgoodies.com/freeware/forms/">JGoodies</a>.  FormLayout has capabilities similar to
+GridBagLayout, but is much simpler to use. 
+The JGoodies Forms package includes not only the FormLayout layout
+manager itself, but also a set of &quot;builders&quot; (non-visual helper
+classes) to assist in building panels. 
+FormLayout seems to have the broadest support among GUI builders of any
+of the third-party layout managers.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span><b>Other layouts</b>.  There are other layout managers capable of
+laying out complex forms, like <a
+href="http://www.clearthought.info/software/TableLayout/">TableLayout</a>, <a
+href="http://www.zookitec.com/explicitlayout.html">ExplicitLayout</a>, <a
+href="http://www.onjava.com/pub/a/onjava/2002/09/18/relativelayout.html">RelativeLayout</a>,
+<a href="http://easylayout.sohlman.com/index.html">EasyLayout</a>, and <a
+href="http://www.javaworld.com/javaworld/javatips/jw-javatip129.html">SGLayout</a>.  However, these do not have broad support
+among the tools evaluated here, so these layout managers are not considered in
+detail.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>For me, the choice of the &quot;main&quot; layout manager
+for my applications comes down to FormLayout vs. GridBagLayout.  If I am building forms using pure code with
+no GUI builder, there is no contest: FormLayout wins hands down.  It gives the best results and the highest
+productivity.  If I am using a GUI
+builder, then the choice is not as clear. 
+I would still prefer to use FormLayout, but there are excellent GUI
+builders for both FormLayout and GridBagLayout.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h2><a name="_Toc100514590">2.3<span style='font:7.0pt "Times New Roman"'>&nbsp;
+</span>Tool Types</a></h2>
+
+<p class=MsoNormal>There are different types of GUI builders:</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Full IDE.  A
+full integrated development environment for building the GUI, developing the
+supporting code, and &quot;wiring together&quot; the GUI with event handling
+and other related tasks.  Examples
+include the Eclipse Visual Editor, NetBeans, JBuilder, and JDeveloper.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>IDE plug-in.  A
+GUI editor designed specifically to work within an IDE.  Examples include Swing Designer, Jigloo, and
+Jvider.<br>
+<br>
+Strictly speaking, the Eclipse Visual Editor is also an IDE plug-in, since it
+is not provided with the base Eclipse download, but must be downloaded
+separately.  However, I put it in the
+Full IDE category because it is provided by the same &quot;vendor&quot;
+(eclipse.org) as the IDE itself.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>WYSIWYG editor. 
+A panel builder that gives a &quot;what you see is what you get&quot;
+editing view.  Generally you drop
+components onto a panel and move them around. 
+After the panel looks right, you go through some code generation or
+other integration step to make the panel available to your Java code.  Examples include JFormDesigner and Foam.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Non-WYSIWYG editor. 
+A panel builder that helps you build panels by grouping components and
+setting properties, but without the immediate visual feedback you get with a
+WYSIWYG editor.  These tools usually
+have a &quot;preview&quot; button so that as you are building your panel, you
+can view the result without having to integrate the panel into a complete
+program.  Examples include
+FormLayoutMaker and SpeedJG.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Pure code. A library intended to ease or improve GUI
+development, without providing a visual tool. 
+The focus of this article is to find a visual tool, so such libraries
+are not covered in detail here. 
+Although the pure code approach sounds more primitive than using a
+visual designer, some programmers feel that it is better than visual
+development, because the common code can be factored out more easily, and you
+do not get the code &quot;bloat&quot; that is typical with GUI code generators.  An example of a pure code approach is the
+PanelBuilder class provided with the JGoodies Forms package.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h2><a name="_Toc100514591">2.4<span style='font:7.0pt "Times New Roman"'>&nbsp;
+</span>GUI Definition Storage</a></h2>
+
+<p class=MsoNormal>Once you have defined your GUI, in what format does the GUI
+builder save it?</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Pure code.  The
+tool generates Java code to create the GUI, and parses Java code to read it
+into the visual editor.  It does not
+save any files other than the Java code. 
+Examples are the Swing Designer, the Eclipse Visual Editor, and
+Jigloo.  Sometimes a tool will include
+special comments in the generated Java code to help it read back the code and
+display it in the visual editor.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Code and metadata. 
+The tool generates metadata describing the forms, as well as Java code
+to display the forms.  An example is
+NetBeans, which saves the form definition in .form files and generates code in
+.java files.  The .form files live in
+the same directory as the corresponding .java file.<br>
+<br>
+Tools that use metadata differ on whether they depend on the metadata at design
+time only, or at design time and run time. 
+For example, NetBeans uses its .form files only at design time; the
+runtime is pure Java code.  In contrast,
+Foam uses its .gui_xml files at design time and runtime.  As another example, JFormDesigner gives you
+a choice.  It creates .jfd files with
+the form design.  You have a choice of
+whether to deploy the .jfd files and a (royalty-free) runtime library to load
+the files, or you can choose to generate runtime code that has no dependency on
+the .jfd files.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h1><a name="_Toc100514592">3<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span>Recommended Products</a></h1>
+
+<p class=MsoNormal>My evaluation resulted in me selecting one overall
+&quot;best&quot; tool for most of my Java GUI work: Swing Designer.  I also identified several other excellent
+tools that I would be happy to use, depending on the requirements of the
+project in question.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>I can summarize these recommended products as follows:</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span><b>Swing Designer</b>: Best overall and best integrated
+solution.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span><b>NetBeans</b>:
+Very good overall and best free/open source integrated solution.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span><b>JFormDesigner</b>:
+Best pure panel layout tool.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span><b>FormLayoutMaker</b>:
+Best free/open source pure panel layout tool.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span><b>Foam</b>: Most
+innovative tool.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Detailed information and pros/cons of these and the other
+tested products are given in the <a href="#_Product_Details">Product Details</a>
+section.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>One common theme that emerged from my evaluation is:
+&quot;integration is good&quot;.  I went
+into the project not particularly caring whether I used an IDE's native GUI
+builder, an IDE plug-in, or a standalone product.  As I spent time with the products, I came to believe that tight
+IDE integration is essential to attain the highest productivity.  GUI application building is more than just
+panel building: it involves integrating the panels into the application, and
+dealing with component properties, event handlers, and the &quot;glue&quot;
+between application logic and the GUI.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h1><a name="_Toc100514593"></a><a name="_Product_Summary"></a>4<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span>Product
+Summary</h1>
+
+<p class=MsoNormal>This table lists all of the products that I
+investigated.  They are divided into 3
+categories:</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Category A. 
+Products that were tested hands-on, and are recommended as my favorites
+among those tested.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Category B. 
+Products that were tested hands-on, but during testing were found to be
+less suitable than those in Category A.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Category C. 
+Products that were briefly investigated but were not tested hands-on,
+due to technical or business reasons.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Within each category, products are listed in estimated order
+of suitability to my requirements. 
+Please don't put too much weight on the &quot;ranking&quot; or ordering
+of the products in the table.  Instead,
+I suggest that you use my comments as a guide to help you figure out which
+products are worth investigating, based on your own requirements and
+preferences.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<table border=1 cellspacing=0 cellpadding=0 width=619 style='width:6.45in;
+ border-collapse:collapse;border:none;'>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  background:#D98A06;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><b><span
+  style='font-size:12.0pt'>#</span></b></p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border:solid windowtext .5pt;
+  border-left:none;background:#D98A06;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><b><span
+  style='font-size:12.0pt'>Product</span></b></p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border:solid windowtext .5pt;
+  border-left:none;background:#D98A06;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><b><span
+  style='font-size:12.0pt'>Comments</span></b></p>
+  </td>
+ </tr>
+ <tr>
+  <td width=619 colspan=3 valign=top style='width:6.45in;border:solid windowtext .5pt;
+  border-top:none;background:#FBC364;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal align=center style='text-align:center'><b><span style='font-size:12.0pt'>Category
+  A: Tested hands-on and recommended</span></b></p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>1</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://www.swing-designer.com/">Instantiations
+  Swing Designer</a></p>
+  <p class=MsoNormal>$199 per developer</p>
+  <p class=MsoNormal>&nbsp;</p>
+  <p class=MsoNormal>Related products: <a href="http://www.swt-designer.com/">SWT
+  Designer</a> ($199), <a href="http://www.windowbuilderpro.com/">WindowBuilder
+  Pro</a> ($299)</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>Best overall and best integrated solution.  See <a href="#_Swing_Designer">Product
+  Details</a>.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>2</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://www.netbeans.org/">NetBeans</a> 4.0</p>
+  <p class=MsoNormal>Free, Open Source (Sun Public License)</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>Very good overall and best free/open source integrated
+  solution.  See <a href="#_NetBeans_1">Product
+  Details</a>.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>3</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://www.jformdesigner.com/">JFormDesigner</a>
+  1.0.2</p>
+  <p class=MsoNormal>$159 per developer for commercial use</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>Best pure panel layout tool.  See <a href="#_JFormDesigner">Product Details</a>.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>4</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://formlayoutmaker.sourceforge.net/">FormLayoutMaker</a>
+  rc7</p>
+  <p class=MsoNormal>Free, Open Source (BSD license)</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>Best free/open source pure panel layout tool.  See <a href="#_FormLayoutMaker">Product
+  Details</a>.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>5</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a
+  href="http://www.computersinmotion.com/products_foam.htm">Foam</a> 1.2</p>
+  <p class=MsoNormal>$150 per developer</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>Most innovative tool. 
+  See <a href="#_Foam">Product Details</a>.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=619 colspan=3 valign=top style='width:6.45in;border:solid windowtext .5pt;
+  border-top:none;background:#FBC364;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal align=center style='text-align:center'><b><span style='font-size:12.0pt'>Category
+  B: Tested hands-on</span></b></p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>6</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://cloudgarden.com/jigloo/">Jigloo</a> 3.1.0
+  (pre-release)</p>
+  <p class=MsoNormal>Free for non-commercial use; $75 per developer for
+  commercial use</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>Not as polished as the leading products.  See <a href="#_Jigloo">Product Details</a>.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>7</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://www.borland.com/jbuilder/">JBuilder</a>
+  2005 Foundation</p>
+  <p class=MsoNormal>Foundation edition is free (including for commercial
+  use).  Developer edition is $500 and
+  Enterprise edition is $3,500.</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>No compelling benefit over NetBeans.  See <a href="#_JBuilder">Product Details</a>.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>8</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://www.eclipse.org/vep/">Eclipse Visual
+  Editor</a> 1.0.2</p>
+  <p class=MsoNormal>Free, Open Source (Eclipse License)</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>Not ready for prime time. 
+  See <a href="#_Eclipse_Visual_Editor">Product Details</a>.</p>
+  <p class=MsoNormal>&nbsp;</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>9</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://www.jvider.com/">Jvider</a> 1.7</p>
+  <p class=MsoNormal>$69 per developer</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>Integration is not rich enough.  See <a href="#_Jvider">Product Details</a>.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=619 colspan=3 valign=top style='width:6.45in;border:solid windowtext .5pt;
+  border-top:none;background:#FBC364;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal align=center style='text-align:center'><b><span style='font-size:12.0pt'>Category
+  C: Not tested hands-on</span></b></p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>10</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://www.jetbrains.com/idea/">IntelliJ IDEA</a></p>
+  <p class=MsoNormal>$499 </p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>A full IDE with an integrated GUI builder.  At design time, uses XY and Grid-based
+  layouts for component positioning. 
+  Stores form definitions in XML .form files.  Gives the option of generating compiled Java classes for the
+  GUI, or Java source code.</p>
+  <p class=MsoNormal>&nbsp;</p>
+  <p class=MsoNormal>The website states &quot;The GUI Designer does not create
+  a main frame for an application, nor does it create menus&quot;.  It seems strange that you would have to
+  manually create menus and a top-level container such as a JFrame in an
+  integrated product.</p>
+  <p class=MsoNormal>&nbsp;</p>
+  <p class=MsoNormal>Appears to use its own layout manager(s) as opposed to
+  standard ones like GridBagLayout. 
+  This is probably a good thing for development productivity, but it may
+  cause some concern about code portability (for example, if you decided to
+  change IDEs, or if IntelliJ maintenance became unavailable).</p>
+  <p class=MsoNormal>&nbsp;</p>
+  <p class=MsoNormal>On the other hand, I have <a
+  href="http://www.javalobby.org/java/forums/m91829214">been informed</a> that
+  the IDEA layout manager is open source (I have not personally verified
+  this).  This would certainly ease the
+  concern about vendor &quot;lock in&quot;. 
+  Also, there is a third-party <a
+  href="http://plugins.intellij.net/plugins/view/?id=GuiSource">plug-in</a>
+  that can convert the .form files to Java source code, including the option to
+  use GridBagLayout (again, I have not verified this capability).</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>11</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="https://abeille.dev.java.net/">Abeille Forms
+  Designer</a></p>
+  <p class=MsoNormal>Free, Open Source (LGPL license for Designer, BSD license
+  for Runtime)</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>One of the better open source choices.  Supports JGoodies FormLayout.  Comparing Abeille and FormLayoutMaker, I
+  gave a slight edge to FormLayoutMaker, but I think Abeille would still be
+  worth investigating.</p>
+  <p class=MsoNormal>&nbsp;</p>
+  <p class=MsoNormal>I got some <a
+  href="http://www.javalobby.org/java/forums/m91829430.html">feedback</a>
+  stating that Abeille is actually superior to FormLayoutMaker, but
+  unfortunately I do not currently have time to do a hands-on test of Abeille.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>12</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://www.swingempire.de/palace/FormBuilder/">SwingEmpire
+  FormBuilder</a></p>
+  <p class=MsoNormal>Seems to be free, license not clear; site states that
+  there will eventually be a commercial version</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>GUI builder for JGoodies FormLayout.  Not a WYSIWYG editor, but a form builder
+  with preview.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>13</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://radical.sourceforge.net/">Radical</a></p>
+  <p class=MsoNormal>Free, Open Source (Apache license for standalone version;
+  GPL for jEdit plugin)</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>An open source WYSIWYG GUI builder that uses the
+  TableLayout layout engine.  Has a
+  dialog that appears to provide full coverage for setting component
+  properties.  Generates code.</p>
+  <p class=MsoNormal>&nbsp;</p>
+  <p class=MsoNormal>Runs as either a standalone tool or a jEdit plugin.</p>
+  <p class=MsoNormal>&nbsp;</p>
+  <p class=MsoNormal>I prefer to use FormLayout instead of TableLayout, so I
+  would tend to select FormLayoutMaker or Abeille over Radical.  Other than that, Radical looks like it's
+  worth investigating.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>14</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://www.wsoftware.de/SpeedJG/">SpeedJG</a></p>
+  <p class=MsoNormal>$69 per developer</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>The approach is to build a GUI using XML as the representation.  It is not a WYSIWYG editor, you create the
+  XML using their easy-to-use IDE, then click &quot;Test&quot; to see the
+  generated GUI.</p>
+  <p class=MsoNormal>&nbsp;</p>
+  <p class=MsoNormal>Looks intriguing and well done, but I did not test because
+  I am more interested in a visual editor.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>15</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://www.oracle.com/technology/products/jdev/">Oracle
+  JDeveloper</a></p>
+  <p class=MsoNormal>It is a bit confusing to find pricing information.  At the <a
+  href="http://oraclestore.oracle.com/">Oracle Store</a>, there is a product
+  called &quot;JDeveloper - Named User Plus Perpetual&quot; listed at $995.</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>Originally based (circa 1997) on Borland's JBuilder,
+  similarities between the two products can still be clearly seen in the GUI
+  builder (e.g., support for XYLayout).</p>
+  <p class=MsoNormal>&nbsp;</p>
+  <p class=MsoNormal>There are many features that make JDeveloper stand out,
+  but from a pure GUI builder standpoint, there is no compelling benefit over
+  NetBeans.  Since the JDeveloper GUI
+  builder was originally based on JBuilder, see the comments about JBuilder in <a
+  href="#_JBuilder">Product Details</a>.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>16</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://www.reportmill.com/ribs/">Ribs</a></p>
+  <p class=MsoNormal>Could not find pricing</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>Looks like it was never officially released (still in
+  preview).  Uses absolute positioning
+  and sizes.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>17</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://www.openabacus.org/">AbaGuiBuilder</a></p>
+  <p class=MsoNormal>Free, Open Source (GPL)</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>Claims to be &quot;Under Development&quot; but seems to be
+  actively worked on.  Both design time
+  and runtime are GPL licensed.  Design
+  time GPL is OK, but runtime GPL is a showstopper for me, so I did not test.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>18</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://www.jdc-software.com/products.php">LayoutBuilder</a></p>
+  <p class=MsoNormal>$99 per developer</p>
+  <p class=MsoNormal>&nbsp;</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>Appears to support only &quot;standard&quot; layout
+  managers (GridBagLayout, FlowLayout, etc.). 
+  Thus it is less interesting than standalone layout tools like
+  JFormDesigner that support JGoodies FormLayout.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>19</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://www.mars3000.com/">JFrameBuilder</a></p>
+  <p class=MsoNormal>$67 per developer</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>Generates code, seems to be one-way.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>20</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="https://www.ratundtat.com/produkte_eng/main.htm">JBeaver</a></p>
+  <p class=MsoNormal>49 Euros</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>The site says &quot;A free trial version of JBeaver is
+  downloadable from this website&quot; but I could not find the download
+  link.  The screenshot of the Design
+  view looks very nice.  Supports
+  JGoodies FormLayout.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>21</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://uic.sourceforge.net/">User Interface
+  Compiler</a></p>
+  <p class=MsoNormal>Seems to be free, license not clear</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>Uses <a
+  href="http://doc.trolltech.com/3.3/designer-manual.html">Qt Designer</a> as
+  the designer, then compiles it into (?) XML.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>22</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://www.ics.com/getbxjava/">BX for Java</a></p>
+  <p class=MsoNormal>Pricing not clear, perhaps $998 per developer</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>Too expensive for me.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>23</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://www.ist-inc.com/visaj/">Visaj</a></p>
+  <p class=MsoNormal>$995 per developer</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>Too expensive for me.</p>
+  </td>
+ </tr>
+ <tr>
+  <td width=55 valign=top style='width:41.4pt;border:solid windowtext .5pt;
+  border-top:none;padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>24</p>
+  </td>
+  <td width=192 valign=top style='width:2.0in;border-top:none;border-left:none;
+  border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal><a href="http://www.jeasy.de/">JEasy</a></p>
+  <p class=MsoNormal>780 Euros for distributable Pro version</p>
+  </td>
+  <td width=372 valign=top style='width:279.0pt;border-top:none;border-left:
+  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
+  padding:.05in 5.75pt .05in 5.75pt'>
+  <p class=MsoNormal>Too expensive for me.</p>
+  </td>
+ </tr>
+</table>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h1><a name="_Toc100514594"></a><a name="_Product_Details"></a>5<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span>Product
+Details</h1>
+
+<p class=MsoNormal>This section contains detailed information on all the
+products that I tested hands-on.</p>
+
+<h2><a name="_Toc100514595"></a><a name="_NetBeans"></a><a
+name="_Swing_Designer"></a>5.1<span
+style='font:7.0pt "Times New Roman"'>&nbsp; </span>Swing Designer</h2>
+
+<p class=MsoNormal><a href="http://www.swing-designer.com/">Instantiations
+Swing Designer</a> 4.0</p>
+
+<p class=MsoNormal>Price/License: $199 per developer</p>
+
+<p class=MsoNormal>Related products: <a href="http://www.swt-designer.com/">SWT
+Designer</a> for SWT developers ($199) and <a
+href="http://www.windowbuilderpro.com/">WindowBuilder Pro</a> with both Swing
+and SWT support ($299).</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Swing Designer is an Eclipse plug-in.  It operates by generating and parsing Java
+code; there are no separate form definition files.  Swing Designer supports standard Java layouts including
+GridBagLayout and SpringLayout, and has recently introduced support for
+JGoodies FormLayout.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>There are some nice <a
+href="http://www.instantiations.com/swt-designer/demos.html">demos</a> on the
+website.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>When building a form in Swing Designer, the workflow is as
+follows:</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Create a class based on one of the supported visual
+classes (JPanel, JFrame, etc.)</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Set the layout manager for the panel</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Drop components from the palette onto the panel; drag
+them around on the panel to position them</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Use the Layout Assistant or other provided tools
+(described below), set layout properties for the components</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Use the component properties editor to set the visual
+(e.g., font, color) and code generation (e.g., variable name) properties</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Add event handlers (for example, handling button
+clicks)</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>The design view is WYSIWYG, and there is also a preview
+button to show the designed panel in an example JFrame container.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Swing Designer has excellent support for JGoodies
+FormLayout.  With FormLayout, dropping
+and moving components is easy and precise. 
+The row/column grid gives you the overall context of the container.  As you mouse over the cells in the grid,
+they are highlighted to show which one you are over, and whether it is valid to
+drop the component there.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Pasting components is especially nice: when you execute the
+Paste command, the mouse cursor becomes an arrow with a + sign, and you can
+click on any valid cell to paste the component.  Imagine the common case where you have a new panel and you need
+to quickly add 10 field labels.  Just
+create one label, copy it, then paste it 9 times, edit the text and you're
+done.  Swing Designer supports in-place
+editing of the component text (e.g., the labels in this example).</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>All of the FormLayout constraints/layout properties are
+supported for rows, columns, and cells. 
+You can edit these properties in several ways, depending on which is
+most convenient for any given situation:</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Use the Layout Assistant, a popup window that lets you
+set the row, column, and cell properties for the currently selected
+component.  Because the Assistant is
+non-modal, you can set the properties for a component, then click on another
+one and set its properties, and so on. 
+You can also select multiple components to set properties for all of
+them at the same time.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Use the Alignment Figures, small buttons that alllow
+you to quickly set the vertical and horizontal alignment or fill.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Use the Row/Column Editor, a dialog that shows all the
+rows or columns in the layout so you can quickly edit them in a tabular
+fashion.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Use the context (right-click) menu on row or column
+headers to insert rows or columns, quickly adjust their properties, or invoke
+the Row/Column editor.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Use the component properties editor to set the layout
+constraints.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Swing Designer also has good support for GridBagLayout,
+although I did not spend as much time testing it because I prefer to use
+FormLayout.  When you drop or move a
+component, the designer shows you the existing GridBag cells, plus new cells
+where the component can be dropped.  The
+new cells are not only along the edges of the layout, but in between every
+existing row and column.  This makes
+layout very productive because you can add new rows and columns on the fly,
+without having to manually &quot;make room&quot; by moving existing components.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Components are created as local variables by default.  You can tell Swing Designer to create a
+member variable for a given component by using the &quot;Expose component&quot;
+context menu option.  Or you can set a
+preference to automatically create every component as a field.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Creating event handlers is simple: for example, just
+double-click on a button to create its event handler and view/edit the
+source.  More generally, you can
+right-click any component, select the Implement context menu, and then choose
+any event supported by that component to implement its handler.  You can set a preference to specify the
+naming convention for generated event handler methods.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Swing Designer has good support for menus and toolbars.  I was able to quickly add these elements to
+the main JFrame of my test application, and automatically create stubs for
+their actionPerformed handlers.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal><b>When to use Swing
+Designer</b></p>
+
+<p class=MsoNormal>Swing Designer hits the mark perfectly for me: it is an
+Eclipse plug-in with tight IDE integration; it has a fantastic visual designer;
+it has excellent support for JGoodies FormLayout; and it is reasonably
+priced.  Therefore, Swing Designer is my
+first choice for my GUI work.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal><b>Pros</b></p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>The best visual designer (fast, flexible, and
+full-featured) of any IDE or IDE plug-in that I tested.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Excellent JGoodies FormLayout support, which leads to
+higher development productivity and better user interfaces.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Very broad and deep support for many different layouts
+and components.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Seamless Eclipse integration: component properties,
+code generation, etc.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal><b>Cons</b></p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>The first time you launch the designer in a given
+Eclipse session, it is rather slow to start (10 or 15 seconds on my
+machine).  This is not much of an issue
+because once the designer is started, it is very fast - I never felt that it
+lagged behind during visual editing.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>I did encounter some rough edges (bugs and other
+issues).  However, the vendor provided
+excellent support, often with a same-day or next-day patch or workaround.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>The documentation and website could use some polishing
+up - they don't reflect the completeness and quality of the product.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h2><a name="_Toc100514596"></a><a name="_NetBeans_1"></a>5.2<span style='font:7.0pt "Times New Roman"'>&nbsp;
+</span>NetBeans</h2>
+
+<p class=MsoNormal><a href="http://www.netbeans.org/">NetBeans</a> 4.0</p>
+
+<p class=MsoNormal>Price/License: Free, Open Source (Sun Public License)</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>NetBeans is a competitor to Eclipse as a full featured open
+source IDE.  I am an avid Eclipse user,
+and I never considered trying NetBeans before this project.  People have strong feelings about which IDE
+is best, but this article is not a general IDE discussion.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>In this article we are focusing on the GUI-building
+capability of the tools, and in this respect, NetBeans is clearly superior to
+Eclipse.  My comments (as with all the
+product details in this section) apply to the specific versions that I tested:
+NetBeans 4.0 vs. Eclipse Visual Editor 1.0.2 running in Eclipse 3.0.1.  These were the latest production releases
+available at the time I tested.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>When building a form in NetBeans, the workflow is very
+similar to the workflow described above for Swing Designer.  The main difference is how the components
+are positioned on the panel (described in detail below).  Also, what Swing Designer calls the Layout
+Assistant is known as the Layout Customizer in NetBeans.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>The design view is WYSIWYG, and there is also a preview
+button to show the designed panel in a mock JFrame.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>In NetBeans, when you drop a component on the form, you
+cannot control the original placement of the component - no matter where you
+drop it, it will go into a new cell. 
+This is not as friendly as (for example) Swing Designer or Eclipse
+Visual Editor, which allow you to place the component in any cell.  There is a similar issue when you copy and
+paste a component: the pasted component sits in the same cell as the copied
+component.  So, after dropping or
+pasting, you then need to use the GridBag customizer to place the component
+where you want it.  This is a major
+hindrance to productivity because you need to switch between the design view
+and the customizer view for each component you need to position. It is true
+that you can drop or paste multiple components (say 5 of them) in design view,
+and then go to the customizer and move those components.  But this is still not ideal because it would
+be better to drag-and-position or paste-and-position in the same view.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>On the other hand, the NetBeans GridBag customizer is much
+better than the one in the Eclipse Visual Editor.  It has more properties that you can set and is easier to use.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>At one point, I had a problem when moving components in the
+customizer and going back to the design view - the layout was garbled with
+overlapping components.  But then I just
+needed to expand the size of the container (a JPanel) so that everything fit,
+then the layout looked correct again. 
+This seems to be a common issue (not specific to NetBeans) with the GridBagLayout
+at both design and run time: you need to make sure your container is big
+enough.  The way that I deal with this
+at runtime is to calculate the minimum size needed to properly display each
+panel, and then restrict the main JFrame so that the user cannot resize it
+smaller than this minimum.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>A technique described in the NetBeans documentation is to
+start building a form using the AbsoluteLayout, which allows positioning of
+each component.  Then convert to
+GridBagLayout for proper resizing behavior. 
+I found this approach more frustrating than just building with
+GridBagLayout from the start.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>The NetBeans GUI builder is not as powerful as some of the
+other products, but its tight integration with the overall IDE makes it
+convenient and productive to use.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal><b>When to use NetBeans</b></p>
+
+<p class=MsoNormal>If I wanted to build a full application (panels, menus,
+toolbars) with an integrated open source IDE, without adding any external
+plug-ins, NetBeans would be the best choice.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal><b>Pros</b></p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Excellent integration betwen the form designer and the
+overall code development process.  In
+particular, setting properties, code generation options, and event handling are
+very fast, easy, and complete.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Good designer for GridBagLayout, although not as good
+as Swing Designer or Eclipse Visual Editor.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>The best layout customizer for GridBagLayout.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal><b>Cons</b></p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>My perception is that NetBeans has been losing the open
+source market share / mind share IDE battle with Eclipse (on the other hand,
+there is <a href="http://cld.blog-city.com/read/1126337.htm">some evidence</a>
+of a <a href="http://www.javalobby.org/java/forums/m91828413">NetBeans
+resurgence</a>).  My guess is that
+future releases of the Eclipse Visual Editor may provide much stronger
+competition.  Still, I'm not worried
+about getting &quot;locked in&quot; with NetBeans, because it is open source,
+and the generated code is standard Java.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Does not support FormLayout or other replacement for
+GridBagLayout (i.e., you are pretty much forced to use GridBagLayout for
+complex forms if you want to use NetBeans' integration).</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Cannot move components in design view using drag and
+drop, need to go into customizer to move.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>No &quot;undo&quot; or &quot;cancel&quot; in
+GridBagLayout customizer.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h2><a name="_Toc100514597"></a><a name="_JFormDesigner"></a>5.3<span style='font:7.0pt "Times New Roman"'>&nbsp;
+</span>JFormDesigner</h2>
+
+<p class=MsoNormal><a href="http://www.jformdesigner.com/">JFormDesigner</a>
+1.0.2</p>
+
+<p class=MsoNormal>Price/License: $159 per developer for commercial use</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>JFormDesigner is a very polished and professional tool.  It does an absolutely outstanding job of
+helping you layout panels.  With the
+excellent FormLayout support, it is almost trivial to drag your components into
+place and get your layout looking good. 
+However, once you save your files (.jfd form files and .java code files)
+from JFormDesigner, you are &quot;on your own&quot; - there is no integration
+with development environments like Eclipse or NetBeans.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>There is a nice <a href="http://www.jformdesigner.com/demos/">Flash
+demo</a> available on the website.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>JFormDesigner supports standard Swing layout managers plus
+the third-party FormLayout and TableLayout. 
+The support for JGoodies FormLayout (layout manager) and JGoodies Looks
+(look and feels) is extensive.  JGoodies
+FormLayout is my favorite layout manager, and JGoodies Looks is my favorite
+look and feel, so support for these is a big plus.  You can build a really professional looking application with
+JFormDesigner, JGoodies FormLayout, and JGoodies Looks.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>In JFormDesigner, you create your form by dragging
+components in the design view.  The tool
+saves the form definition in .jfd files which live alongside Java code.  Then there is a generate code step that can
+translate the .jfd files to Java code. 
+You have a choice of whether to deploy your forms as .jfd files, which
+are parsed at runtime, or as .java code. 
+If you use .jfd files, you also need to deploy the JFD parser JAR file
+with your product, however this is royalty-free.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Because the form editor (JFormDesigner) and code editor
+(Eclipse or vi or whatever editor you use) are separate, you have to be careful
+about collisions when saving files.  The
+documentation says: &quot;As long as you follow the following rule, you will
+never have a problem:  Save the Java
+file in the IDE before saving the form in JFormDesigner.&quot;</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal><b>When to use
+JFormDesigner</b></p>
+
+<p class=MsoNormal>If I had to create a large number of panels quickly and
+productively, and I was not concerned with IDE integration, I would use
+JFormDesigner with FormLayout.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal><b>Pros</b></p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Supports standard layout managers (including
+GridBagLayout), plus FormLayout and TableLayout.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Has extensive additional support for JGoodies Forms
+(FormLayout and related classes) and Looks (look and feels).</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>The best visual designer for FormLayout.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal><b>Cons</b></p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>No IDE integration.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>No event handling code generation.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>No support for externalizing strings (e.g., label or
+button text).</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h2><a name="_Toc100514598"></a><a name="_FormLayoutMaker"></a>5.4<span style='font:7.0pt "Times New Roman"'>&nbsp;
+</span>FormLayoutMaker</h2>
+
+<p class=MsoNormal><a href="http://formlayoutmaker.sourceforge.net/">FormLayoutMaker</a>
+rc7</p>
+
+<p class=MsoNormal>Price/License: Free, Open Source (BSD license)</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>FormLayoutMaker is a non-WYSIWYG designer specifically for
+the <a href="http://www.jgoodies.com/freeware/forms/">FormLayout</a> layout
+manager.  You add components to a grid,
+which does not look like your final panel - it is just a visual representation
+of the position of the components within the grid.  After you drop your components, you can hit the preview button to
+see what the actual panel will look like. 
+Once your panel is looking good, you can save the XML layout file and
+the Java code.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Another open source panel builder worth looking at is <a
+href="https://abeille.dev.java.net/">Abeille Forms Designer</a>; please see the
+comments about Abeille in the <a href="#_Product_Summary">Product Summary</a>.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal><b>When to use
+FormLayoutMaker</b></p>
+
+<p class=MsoNormal>If I wanted an open source tool to help me build panels
+using FormLayout.  FormLayoutMaker is
+not as polished as JFormDesigner, but it will probably hit the sweet spot for a
+lot of open source developers.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal><b>Pros</b></p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Good visualization of the structure of the layout with
+the grid view.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Easy preview for visualization of the actual layout.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Good support for FormLayout (although the support is
+not as advanced as in JFormDesigner).</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal><b>Cons</b></p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>No IDE integration.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>No support for setting properties, event handling, etc.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h2><a name="_Toc100514599"></a><a name="_Foam"></a>5.5<span style='font:7.0pt "Times New Roman"'>&nbsp;
+</span>Foam</h2>
+
+<p class=MsoNormal><a href="http://www.computersinmotion.com/products_foam.htm">Foam</a>
+1.2</p>
+
+<p class=MsoNormal>Price/License: $150 per developer</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Foam is a delight to use - it feels different than every
+other tool I evaluated.  As I was using
+it, I was thinking &quot;this is easy!&quot; and &quot;this is fun!&quot;.  It is probably the fastest for laying out a
+panel of any tool that I tested.  You
+drag a component from the palette onto the design view, and it shows you
+crosshairs and anchor points so you can align it and &quot;snap&quot; it to certain
+predefined points, like the edge or center of other components.  This was the most natural feeling designer I
+tried.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>There are some excellent <a
+href="http://www.computersinmotion.com/cgi-bin/homeframeload.pl?formname=foamdemos">Flash
+demos</a> available on the website.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>The form design is saved in an XML file.  A runtime JAR (royalty-free) parses the file
+and renders the form.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>My concern with Foam is the proprietary nature of the
+runtime engine: if the vendor decides to no longer maintain the product, you
+are stuck with the latest release.  This
+is troublesome when compared to other products:</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>For open source products, this is not a concern,
+because you can (in theory at least) fix the bug yourself, or try to organize
+community support with other users.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>For other commercial products, like JFormDesigner, it
+is true that the designer is proprietary. 
+But the runtime is &quot;open&quot; in the sense that JFormDesigner can
+generate standard Java code that does not refer to the form design metadata at
+runtime.  Therefore, in the worst case,
+you could hand-edit the generated code if support for the tool was no longer
+available.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>These options are not available with a proprietary runtime
+engine.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal><b>When to use Foam</b></p>
+
+<p class=MsoNormal>If I had to quickly prototype a set of panels, for example
+for an application design proposal, Foam would be the quickest way to do so.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal><b>Pros</b></p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Probably the quickest for prototyping.  Absolutely slick environment.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Makes it simple to develop very structured and elegant
+panels without knowing details of layout management.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal><b>Cons</b></p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Proprietary runtime.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>No IDE integration.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>No copy and paste of components in the design view.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h2><a name="_Toc100514600"></a><a name="_Jigloo"></a>5.6<span style='font:7.0pt "Times New Roman"'>&nbsp;
+</span>Jigloo</h2>
+
+<p class=MsoNormal><a href="http://cloudgarden.com/jigloo/">Jigloo</a> 3.1.0
+(pre-release)</p>
+
+<p class=MsoNormal>Price/License: Free for non-commercial use; $75 per
+developer for commercial use</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Jigloo works by generating and parsing Java code
+(&quot;round trip code generation&quot;). 
+It is an Eclipse plug-in, not a standalone product.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Jigloo supports both Swing and SWT.  For Swing, it supports standard layout
+managers, plus Jigloo AnchorLayout and JGoodies FormLayout.  For SWT, it supports standard SWT layouts
+including FormLayout (the SWT FormLayout is not related to the JGoodies
+FormLayout, except that they unfortunately have the same name).</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Visual editing was OK, but not as smooth and polished as
+Swing Designer or JFormDesigner.  It was
+hard to lay things out properly.  The
+grid only appears when mousing over the panel, and I found this grid harder to
+work with than (for example) Swing Designer or the NetBeans GridBag
+customizer.  JGoodies FormLayout support
+is not as advanced as Swing Designer or JFormDesigner; for example, Jigloo does
+not automatically insert spacer rows and columns.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h2><a name="_Toc100514601"></a><a name="_JBuilder"></a>5.7<span style='font:7.0pt "Times New Roman"'>&nbsp;
+</span>JBuilder</h2>
+
+<p class=MsoNormal><a href="http://www.borland.com/jbuilder/">JBuilder</a> 2005
+Foundation</p>
+
+<p class=MsoNormal>Price/License: Foundation: free (including for commercial
+use); Developer: $500; Enterprise: $3,500</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>The JBuilder GUI building support is roughly on a par with
+NetBeans and Eclipse.  Since it does not
+offer any compelling advantage over the open source alternatives, I did not
+spend a lot of time with it.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>The JBuilder docs suggest starting your layout with the
+included XYLayout, and then after you get it looking right, convert it to
+GridBagLayout.  Just as with NetBeans'
+AbsoluteLayout, I found it simpler to just start with GridBagLayout from the
+beginning.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Borland offers extensive <a
+href="http://info.borland.com/techpubs/jbuilder/jbuilder2005/designui/contents.html">documentation</a>
+on GUI building in JBuilder.  Even if
+you don't use JBuilder, it is worth reading this documentation, especially if
+you are using GridBagLayout.  Here are
+some recommended links:</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span><a
+href="http://info.borland.com/techpubs/jbuilder/jbuilder2005/designui/i1_layouts.html">Using
+layout managers</a></p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span><a
+href="http://info.borland.com/techpubs/jbuilder/jbuilder2005/designui/i7_gridbaglayout.html">GridBagLayout</a></p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span><a
+href="http://info.borland.com/techpubs/jbuilder/jbuilder2005/designui/k_nestedlayouts.html">Using
+nested panels and layouts</a></p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h2><a name="_Toc100514602"></a><a name="_Eclipse_Visual_Editor"></a>5.8<span style='font:7.0pt "Times New Roman"'>&nbsp;
+</span>Eclipse Visual
+Editor</h2>
+
+<p class=MsoNormal><a href="http://www.eclipse.org/vep/">Eclipse Visual Editor</a>
+1.0.2</p>
+
+<p class=MsoNormal>Price/License: Free, Open Source (Eclipse License)</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>On the Eclipse website, the overall Eclipse project is
+described as: &quot;a kind of universal tool platform - an open extensible IDE
+for anything and nothing in particular&quot;. 
+In that spirit, the Eclipse Visual Editor is described on the website
+not as a GUI builder, but rather as &quot;a framework for creating GUI
+builders&quot;.  However, the Visual
+Editor does come with &quot;reference implementations&quot; of Swing and SWT
+GUI builders.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Eclipse VE uses Java code generation/parsing.  It is slow to start up.  Sometimes it seems reasonably fast when
+editing.  But other times, a simple task
+(like clicking on a component in design view) could take 5 or 15 seconds.  This can be very frustrating.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>In Eclipse VE, the process of dropping components is very
+nice.  You have a grid in the design
+view and you can drop the component into an existing cell, or into a new cell
+between any existing cells or on any edge of the grid.  The VE nicely highlights the existing or new
+cell where the component will be dropped. 
+However, once you have components in the cells, it is not easy to tell
+which cell you are working with.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Property and constraint editing is not as smooth as with
+some other products.  For example, I
+found it hard to set minimum widths and spacing.  The GridBagLayout customizer is not as advanced as the one in
+NetBeans.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>JSeparator is not on the control palette.  I added one using the generic add JavaBean
+feature.  The designer accepted it, but
+I could not see it in the visual editor or the running application.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>I had a couple of situations where the layout in the design
+view did not match the runtime.  Also,
+somehow the layout got garbled, with components overlapping each other (and I
+could not find a simple fix like I did in NetBeans).</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>The bottom line is, I found Eclipse VE to be not acceptable
+for these reasons:</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Response time inconsistent, sometimes frustratingly
+slow</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Visual design process not as clear as with other
+products tested</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Layout not reliable (design time not matching runtime,
+or layout garbled)</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>In fairness, Eclipse VE is a relatively new product, and I
+look forward to future versions being much improved.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h2><a name="_Toc100514603"></a><a name="_Jvider"></a>5.9<span style='font:7.0pt "Times New Roman"'>&nbsp;
+</span>Jvider</h2>
+
+<p class=MsoNormal><a href="http://www.jvider.com/">Jvider</a> 1.7</p>
+
+<p class=MsoNormal>Price/License: $69 per developer</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>Jvider offers both standalone and Eclipse plugin
+versions.  The same license can be used
+for both.  Jvider focuses on being a
+lightweight, flexible solution instead of a total solution.  For example, not all properties can be set through
+a property editor, you need to edit code. 
+It focuses more on the layout of components than the details of each
+component.  Jvider uses GridBagLayout.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>I found that Jvider was too lightweight for me, it did not
+provide enough properties access.  Since
+it is using GridBagLayout, I would prefer to use NetBeans which offers a richer
+and more integrated experience.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h1><a name="_Toc100514604">6<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span>Wish List</a></h1>
+
+<p class=MsoNormal>As I mentioned earlier, Swing Designer has the best
+combination of features for my needs. 
+Many of the other products have great features but are lacking in
+various ways.  Hopefully over time these
+products will continue to evolve and improve. 
+For example:</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Add design view component positioning (and ideally,
+FormLayout support too!) to NetBeans.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Add IDE integration to JFormDesigner.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Supply more open licensing for Foam runtime.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>Improve Eclipse Visual Editor robustness.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h1><a name="_Toc100514605">7<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span>Example Code</a></h1>
+
+<p class=MsoNormal>For an example of a GUI built with Eclipse, Swing Designer,
+and JGoodies FormLayout, see my <a
+href="http://www.fullspan.com/proj/jmailsend/">JMailSend</a> project.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>For an example of a GUI built with NetBeans and
+GridBagLayout, see my <a href="http://www.fullspan.com/proj/hashgui/">HashGUI</a>
+project.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=MsoNormal>For an example of a GUI built with hand coding (no GUI
+builder) using FormLayout, see my <a href="http://www.fullspan.com/proj/pwkeep/">PWKeep</a>
+project.  I wish that I had thought to
+look for a GUI builder when I was writing PWKeep - it would have made the form
+creation process much smoother.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<h1><a name="_Toc100514606">8<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span>Revision History</a></h1>
+
+<p class=MsoNormal>&nbsp;</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>1.4 (06-Apr-2005): Minor copy edits.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>1.3 (06-Apr-2005): Added hands-on review of Swing
+Designer.  Adjusted comments on some
+other products based on the features of Swing Designer.  Updated IntelliJ IDEA listing with new
+information about layout manager portability. 
+Added some comments about how to interpret the &quot;rankings&quot; of
+products in the table.  Added link to
+JMailSend project.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>1.2 (26-Mar-2005): Added link to JavaLobby discussion
+thread.  Moved Swing Designer up in the
+rankings and added a few comments due to new release that supports JGoodies
+FormLayout.  Added IntelliJ IDEA to
+Product Listing.  Added link to
+SGLayout.  General copy editing.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>1.1 (24-Mar-2005): Added some layout managers to
+listing.  General copy editing.</p>
+
+<p class=Bullet101><span style='font-family:Symbol'>·<span
+style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+</span></span>1.0 (19-Mar-2005): Initial revision.</p>
+
+<p class=MsoNormal>&nbsp;</p>
+
+</div>
+
+</body>
+
+</html>
Index: /liacs/se/RouteGUI/manifest.mf
===================================================================
--- /liacs/se/RouteGUI/manifest.mf	(revision 2)
+++ /liacs/se/RouteGUI/manifest.mf	(revision 2)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+X-COMMENT: Main-Class will be added automatically by build
+
Index: /liacs/se/RouteGUI/nbproject/build-impl.xml
===================================================================
--- /liacs/se/RouteGUI/nbproject/build-impl.xml	(revision 2)
+++ /liacs/se/RouteGUI/nbproject/build-impl.xml	(revision 2)
@@ -0,0 +1,684 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT  ***
+***         EDIT ../build.xml INSTEAD         ***
+
+For the purpose of easier reading the script
+is divided into following sections:
+
+  - initialization
+  - compilation
+  - jar
+  - execution
+  - debugging
+  - javadoc
+  - junit compilation
+  - junit execution
+  - junit debugging
+  - applet
+  - cleanup
+
+        -->
+<project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="RouteGUI-impl">
+    <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
+    <!-- 
+                ======================
+                INITIALIZATION SECTION 
+                ======================
+            -->
+    <target name="-pre-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="-pre-init" name="-init-private">
+        <property file="nbproject/private/config.properties"/>
+        <property file="nbproject/private/configs/${config}.properties"/>
+        <property file="nbproject/private/private.properties"/>
+    </target>
+    <target depends="-pre-init,-init-private" name="-init-user">
+        <property file="${user.properties.file}"/>
+        <!-- The two properties below are usually overridden -->
+        <!-- by the active platform. Just a fallback. -->
+        <property name="default.javac.source" value="1.4"/>
+        <property name="default.javac.target" value="1.4"/>
+    </target>
+    <target depends="-pre-init,-init-private,-init-user" name="-init-project">
+        <property file="nbproject/configs/${config}.properties"/>
+        <property file="nbproject/project.properties"/>
+    </target>
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
+        <j2seproject1:property name="platform.home" value="platforms.${platform.active}.home"/>
+        <j2seproject1:property name="platform.bootcp" value="platforms.${platform.active}.bootclasspath"/>
+        <j2seproject1:property name="platform.compiler" value="platforms.${platform.active}.compile"/>
+        <j2seproject1:property name="platform.javac.tmp" value="platforms.${platform.active}.javac"/>
+        <condition property="platform.javac" value="${platform.home}/bin/javac">
+            <equals arg1="${platform.javac.tmp}" arg2="$${platforms.${platform.active}.javac}"/>
+        </condition>
+        <property name="platform.javac" value="${platform.javac.tmp}"/>
+        <j2seproject1:property name="platform.java.tmp" value="platforms.${platform.active}.java"/>
+        <condition property="platform.java" value="${platform.home}/bin/java">
+            <equals arg1="${platform.java.tmp}" arg2="$${platforms.${platform.active}.java}"/>
+        </condition>
+        <property name="platform.java" value="${platform.java.tmp}"/>
+        <j2seproject1:property name="platform.javadoc.tmp" value="platforms.${platform.active}.javadoc"/>
+        <condition property="platform.javadoc" value="${platform.home}/bin/javadoc">
+            <equals arg1="${platform.javadoc.tmp}" arg2="$${platforms.${platform.active}.javadoc}"/>
+        </condition>
+        <property name="platform.javadoc" value="${platform.javadoc.tmp}"/>
+        <condition property="platform.invalid" value="true">
+            <or>
+                <contains string="${platform.javac}" substring="$${platforms."/>
+                <contains string="${platform.java}" substring="$${platforms."/>
+                <contains string="${platform.javadoc}" substring="$${platforms."/>
+            </or>
+        </condition>
+        <fail unless="platform.home">Must set platform.home</fail>
+        <fail unless="platform.bootcp">Must set platform.bootcp</fail>
+        <fail unless="platform.java">Must set platform.java</fail>
+        <fail unless="platform.javac">Must set platform.javac</fail>
+        <fail if="platform.invalid">
+ The J2SE Platform is not correctly set up.
+ Your active platform is: ${platform.active}, but the corresponding property "platforms.${platform.active}.home" is not found in the project's properties files. 
+ Either open the project in the IDE and setup the Platform with the same name or add it manually.
+ For example like this:
+     ant -Duser.properties.file=&lt;path_to_property_file&gt; jar (where you put the property "platforms.${platform.active}.home" in a .properties file)
+  or ant -Dplatforms.${platform.active}.home=&lt;path_to_JDK_home&gt; jar (where no properties file is used) 
+  </fail>
+        <available file="${manifest.file}" property="manifest.available"/>
+        <condition property="manifest.available+main.class">
+            <and>
+                <isset property="manifest.available"/>
+                <isset property="main.class"/>
+                <not>
+                    <equals arg1="${main.class}" arg2="" trim="true"/>
+                </not>
+            </and>
+        </condition>
+        <condition property="manifest.available+main.class+mkdist.available">
+            <and>
+                <istrue value="${manifest.available+main.class}"/>
+                <isset property="libs.CopyLibs.classpath"/>
+            </and>
+        </condition>
+        <condition property="have.tests">
+            <or>
+                <available file="${test.src.dir}"/>
+            </or>
+        </condition>
+        <condition property="have.sources">
+            <or>
+                <available file="${src.dir}"/>
+            </or>
+        </condition>
+        <condition property="netbeans.home+have.tests">
+            <and>
+                <isset property="netbeans.home"/>
+                <isset property="have.tests"/>
+            </and>
+        </condition>
+        <condition property="no.javadoc.preview">
+            <and>
+                <isset property="javadoc.preview"/>
+                <isfalse value="${javadoc.preview}"/>
+            </and>
+        </condition>
+        <property name="run.jvmargs" value=""/>
+        <property name="javac.compilerargs" value=""/>
+        <property name="work.dir" value="${basedir}"/>
+        <condition property="no.deps">
+            <and>
+                <istrue value="${no.dependencies}"/>
+            </and>
+        </condition>
+        <property name="javac.debug" value="true"/>
+        <property name="javadoc.preview" value="true"/>
+        <property name="application.args" value=""/>
+        <property name="source.encoding" value="${file.encoding}"/>
+        <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
+            <and>
+                <isset property="javadoc.encoding"/>
+                <not>
+                    <equals arg1="${javadoc.encoding}" arg2=""/>
+                </not>
+            </and>
+        </condition>
+        <property name="javadoc.encoding.used" value="${source.encoding}"/>
+        <property name="includes" value="**"/>
+        <property name="excludes" value=""/>
+        <property name="do.depend" value="false"/>
+        <condition property="do.depend.true">
+            <istrue value="${do.depend}"/>
+        </condition>
+        <condition else="" property="javac.compilerargs.jaxws" value="-Djava.endorsed.dirs='${jaxws.endorsed.dir}'">
+            <and>
+                <isset property="jaxws.endorsed.dir"/>
+                <available file="nbproject/jaxws-build.xml"/>
+            </and>
+        </condition>
+    </target>
+    <target name="-post-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
+        <fail unless="src.dir">Must set src.dir</fail>
+        <fail unless="test.src.dir">Must set test.src.dir</fail>
+        <fail unless="build.dir">Must set build.dir</fail>
+        <fail unless="dist.dir">Must set dist.dir</fail>
+        <fail unless="build.classes.dir">Must set build.classes.dir</fail>
+        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
+        <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
+        <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
+        <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
+        <fail unless="dist.jar">Must set dist.jar</fail>
+    </target>
+    <target name="-init-macrodef-property">
+        <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">
+            <attribute name="name"/>
+            <attribute name="value"/>
+            <sequential>
+                <property name="@{name}" value="${@{value}}"/>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-javac">
+        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${src.dir}" name="srcdir"/>
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <attribute default="${javac.classpath}" name="classpath"/>
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="${javac.debug}" name="debug"/>
+            <attribute default="" name="sourcepath"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" executable="${platform.javac}" fork="yes" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <compilerarg line="${javac.compilerargs} ${javac.compilerargs.jaxws}"/>
+                    <customize/>
+                </javac>
+            </sequential>
+        </macrodef>
+        <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${src.dir}" name="srcdir"/>
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <attribute default="${javac.classpath}" name="classpath"/>
+            <sequential>
+                <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                </depend>
+            </sequential>
+        </macrodef>
+        <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${build.classes.dir}" name="destdir"/>
+            <sequential>
+                <fail unless="javac.includes">Must set javac.includes</fail>
+                <pathconvert pathsep="," property="javac.includes.binary">
+                    <path>
+                        <filelist dir="@{destdir}" files="${javac.includes}"/>
+                    </path>
+                    <globmapper from="*.java" to="*.class"/>
+                </pathconvert>
+                <delete>
+                    <files includes="${javac.includes.binary}"/>
+                </delete>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-junit">
+        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${includes}" name="includes"/>
+            <attribute default="${excludes}" name="excludes"/>
+            <attribute default="**" name="testincludes"/>
+            <sequential>
+                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${platform.java}" showoutput="true">
+                    <batchtest todir="${build.test.results.dir}">
+                        <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
+                            <filename name="@{testincludes}"/>
+                        </fileset>
+                    </batchtest>
+                    <classpath>
+                        <path path="${run.test.classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="test-sys-prop."/>
+                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <formatter type="brief" usefile="false"/>
+                    <formatter type="xml"/>
+                    <jvmarg line="${run.jvmargs}"/>
+                </junit>
+            </sequential>
+        </macrodef>
+    </target>
+    <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
+        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
+            <attribute default="${main.class}" name="name"/>
+            <attribute default="${debug.classpath}" name="classpath"/>
+            <attribute default="" name="stopclassname"/>
+            <sequential>
+                <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}">
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <bootclasspath>
+                        <path path="${platform.bootcp}"/>
+                    </bootclasspath>
+                </nbjpdastart>
+            </sequential>
+        </macrodef>
+        <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">
+            <attribute default="${build.classes.dir}" name="dir"/>
+            <sequential>
+                <nbjpdareload>
+                    <fileset dir="@{dir}" includes="${fix.classes}">
+                        <include name="${fix.includes}*.class"/>
+                    </fileset>
+                </nbjpdareload>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-debug-args">
+        <exec executable="${platform.java}" outputproperty="version-output">
+            <arg value="-version"/>
+        </exec>
+        <condition property="have-jdk-older-than-1.4">
+            <or>
+                <contains string="${version-output}" substring="java version &quot;1.0"/>
+                <contains string="${version-output}" substring="java version &quot;1.1"/>
+                <contains string="${version-output}" substring="java version &quot;1.2"/>
+                <contains string="${version-output}" substring="java version &quot;1.3"/>
+            </or>
+        </condition>
+        <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
+            <istrue value="${have-jdk-older-than-1.4}"/>
+        </condition>
+        <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
+            <os family="windows"/>
+        </condition>
+        <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
+            <isset property="debug.transport"/>
+        </condition>
+    </target>
+    <target depends="-init-debug-args" name="-init-macrodef-debug">
+        <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
+            <attribute default="${main.class}" name="classname"/>
+            <attribute default="${debug.classpath}" name="classpath"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <java classname="@{classname}" dir="${work.dir}" fork="true" jvm="${platform.java}">
+                    <jvmarg line="${debug-args-line}"/>
+                    <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
+                    <jvmarg line="${run.jvmargs}"/>
+                    <classpath>
+                        <path path="@{classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <customize/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-macrodef-java">
+        <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
+            <attribute default="${main.class}" name="classname"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <java classname="@{classname}" dir="${work.dir}" fork="true" jvm="${platform.java}">
+                    <jvmarg line="${run.jvmargs}"/>
+                    <classpath>
+                        <path path="${run.classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
+                    </syspropertyset>
+                    <customize/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-init-presetdef-jar">
+        <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
+            <jar compress="${jar.compress}" jarfile="${dist.jar}">
+                <j2seproject1:fileset dir="${build.classes.dir}"/>
+            </jar>
+        </presetdef>
+    </target>
+    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar" name="init"/>
+    <!--
+                ===================
+                COMPILATION SECTION
+                ===================
+            -->
+    <target depends="init" name="deps-jar" unless="no.deps"/>
+    <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
+    <target depends="init" name="-check-automatic-build">
+        <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
+    </target>
+    <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
+        <antcall target="clean"/>
+    </target>
+    <target depends="init,deps-jar" name="-pre-pre-compile">
+        <mkdir dir="${build.classes.dir}"/>
+    </target>
+    <target name="-pre-compile">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target if="do.depend.true" name="-compile-depend">
+        <j2seproject3:depend/>
+    </target>
+    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-compile-depend" if="have.sources" name="-do-compile">
+        <j2seproject3:javac/>
+        <copy todir="${build.classes.dir}">
+            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+        </copy>
+    </target>
+    <target name="-post-compile">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
+    <target name="-pre-compile-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
+        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
+        <j2seproject3:force-recompile/>
+        <j2seproject3:javac excludes="" includes="${javac.includes}" sourcepath="${src.dir}"/>
+    </target>
+    <target name="-post-compile-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
+    <!--
+                ====================
+                JAR BUILDING SECTION
+                ====================
+            -->
+    <target depends="init" name="-pre-pre-jar">
+        <dirname file="${dist.jar}" property="dist.jar.dir"/>
+        <mkdir dir="${dist.jar.dir}"/>
+    </target>
+    <target name="-pre-jar">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar" name="-do-jar-without-manifest" unless="manifest.available">
+        <j2seproject1:jar/>
+    </target>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class">
+        <j2seproject1:jar manifest="${manifest.file}"/>
+    </target>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class" name="-do-jar-with-mainclass" unless="manifest.available+main.class+mkdist.available">
+        <j2seproject1:jar manifest="${manifest.file}">
+            <j2seproject1:manifest>
+                <j2seproject1:attribute name="Main-Class" value="${main.class}"/>
+            </j2seproject1:manifest>
+        </j2seproject1:jar>
+        <echo>To run this application from the command line without Ant, try:</echo>
+        <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
+        <property location="${dist.jar}" name="dist.jar.resolved"/>
+        <pathconvert property="run.classpath.with.dist.jar">
+            <path path="${run.classpath}"/>
+            <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
+        </pathconvert>
+        <echo>${platform.java} -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>
+    </target>
+    <target depends="init,compile,-pre-pre-jar,-pre-jar" if="manifest.available+main.class+mkdist.available" name="-do-jar-with-libraries">
+        <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
+        <pathconvert property="run.classpath.without.build.classes.dir">
+            <path path="${run.classpath}"/>
+            <map from="${build.classes.dir.resolved}" to=""/>
+        </pathconvert>
+        <pathconvert pathsep=" " property="jar.classpath">
+            <path path="${run.classpath.without.build.classes.dir}"/>
+            <chainedmapper>
+                <flattenmapper/>
+                <globmapper from="*" to="lib/*"/>
+            </chainedmapper>
+        </pathconvert>
+        <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
+        <copylibs compress="${jar.compress}" jarfile="${dist.jar}" manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
+            <fileset dir="${build.classes.dir}"/>
+            <manifest>
+                <attribute name="Main-Class" value="${main.class}"/>
+                <attribute name="Class-Path" value="${jar.classpath}"/>
+            </manifest>
+        </copylibs>
+        <echo>To run this application from the command line without Ant, try:</echo>
+        <property location="${dist.jar}" name="dist.jar.resolved"/>
+        <echo>${platform.java} -jar "${dist.jar.resolved}"</echo>
+    </target>
+    <target name="-post-jar">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar" description="Build JAR." name="jar"/>
+    <!--
+                =================
+                EXECUTION SECTION
+                =================
+            -->
+    <target depends="init,compile" description="Run a main class." name="run">
+        <j2seproject1:java>
+            <customize>
+                <arg line="${application.args}"/>
+            </customize>
+        </j2seproject1:java>
+    </target>
+    <target name="-do-not-recompile">
+        <property name="javac.includes.binary" value=""/>
+    </target>
+    <target depends="init,-do-not-recompile,compile-single" name="run-single">
+        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
+        <j2seproject1:java classname="${run.class}"/>
+    </target>
+    <!--
+                =================
+                DEBUGGING SECTION
+                =================
+            -->
+    <target depends="init" if="netbeans.home" name="-debug-start-debugger">
+        <j2seproject1:nbjpdastart name="${debug.class}"/>
+    </target>
+    <target depends="init,compile" name="-debug-start-debuggee">
+        <j2seproject3:debug>
+            <customize>
+                <arg line="${application.args}"/>
+            </customize>
+        </j2seproject3:debug>
+    </target>
+    <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/>
+    <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto">
+        <j2seproject1:nbjpdastart stopclassname="${main.class}"/>
+    </target>
+    <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/>
+    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
+        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
+        <j2seproject3:debug classname="${debug.class}"/>
+    </target>
+    <target depends="init,-do-not-recompile,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
+    <target depends="init" name="-pre-debug-fix">
+        <fail unless="fix.includes">Must set fix.includes</fail>
+        <property name="javac.includes" value="${fix.includes}.java"/>
+    </target>
+    <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
+        <j2seproject1:nbjpdareload/>
+    </target>
+    <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
+    <!--
+                ===============
+                JAVADOC SECTION
+                ===============
+            -->
+    <target depends="init" name="-javadoc-build">
+        <mkdir dir="${dist.javadoc.dir}"/>
+        <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" executable="${platform.javadoc}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
+            <classpath>
+                <path path="${javac.classpath}"/>
+            </classpath>
+            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
+                <filename name="**/*.java"/>
+            </fileset>
+        </javadoc>
+    </target>
+    <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
+        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
+    </target>
+    <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
+    <!--
+                =========================
+                JUNIT COMPILATION SECTION
+                =========================
+            -->
+    <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
+        <mkdir dir="${build.test.classes.dir}"/>
+    </target>
+    <target name="-pre-compile-test">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target if="do.depend.true" name="-compile-test-depend">
+        <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
+    </target>
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
+        <j2seproject3:javac classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
+        <copy todir="${build.test.classes.dir}">
+            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+        </copy>
+    </target>
+    <target name="-post-compile-test">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
+    <target name="-pre-compile-test-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
+        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
+        <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
+        <j2seproject3:javac classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" sourcepath="${test.src.dir}" srcdir="${test.src.dir}"/>
+        <copy todir="${build.test.classes.dir}">
+            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
+        </copy>
+    </target>
+    <target name="-post-compile-test-single">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
+    <!--
+                =======================
+                JUNIT EXECUTION SECTION
+                =======================
+            -->
+    <target depends="init" if="have.tests" name="-pre-test-run">
+        <mkdir dir="${build.test.results.dir}"/>
+    </target>
+    <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
+        <j2seproject3:junit testincludes="**/*Test.java"/>
+    </target>
+    <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
+        <fail if="tests.failed">Some tests failed; see details above.</fail>
+    </target>
+    <target depends="init" if="have.tests" name="test-report"/>
+    <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
+    <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
+    <target depends="init" if="have.tests" name="-pre-test-run-single">
+        <mkdir dir="${build.test.results.dir}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
+        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
+        <j2seproject3:junit excludes="" includes="${test.includes}"/>
+    </target>
+    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
+        <fail if="tests.failed">Some tests failed; see details above.</fail>
+    </target>
+    <target depends="init,-do-not-recompile,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
+    <!--
+                =======================
+                JUNIT DEBUGGING SECTION
+                =======================
+            -->
+    <target depends="init,compile-test" if="have.tests" name="-debug-start-debuggee-test">
+        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
+        <property location="${build.test.results.dir}/TEST-${test.class}.xml" name="test.report.file"/>
+        <delete file="${test.report.file}"/>
+        <mkdir dir="${build.test.results.dir}"/>
+        <j2seproject3:debug classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" classpath="${ant.home}/lib/ant.jar:${ant.home}/lib/ant-junit.jar:${debug.test.classpath}">
+            <customize>
+                <syspropertyset>
+                    <propertyref prefix="test-sys-prop."/>
+                    <mapper from="test-sys-prop.*" to="*" type="glob"/>
+                </syspropertyset>
+                <arg value="${test.class}"/>
+                <arg value="showoutput=true"/>
+                <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/>
+                <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/>
+            </customize>
+        </j2seproject3:debug>
+    </target>
+    <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
+        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
+    </target>
+    <target depends="init,-do-not-recompile,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
+    <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
+        <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
+    </target>
+    <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
+    <!--
+                =========================
+                APPLET EXECUTION SECTION
+                =========================
+            -->
+    <target depends="init,compile-single" name="run-applet">
+        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
+        <j2seproject1:java classname="sun.applet.AppletViewer">
+            <customize>
+                <arg value="${applet.url}"/>
+            </customize>
+        </j2seproject1:java>
+    </target>
+    <!--
+                =========================
+                APPLET DEBUGGING  SECTION
+                =========================
+            -->
+    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
+        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
+        <j2seproject3:debug classname="sun.applet.AppletViewer">
+            <customize>
+                <arg value="${applet.url}"/>
+            </customize>
+        </j2seproject3:debug>
+    </target>
+    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
+    <!--
+                ===============
+                CLEANUP SECTION
+                ===============
+            -->
+    <target depends="init" name="deps-clean" unless="no.deps"/>
+    <target depends="init" name="-do-clean">
+        <delete dir="${build.dir}"/>
+        <delete dir="${dist.dir}"/>
+    </target>
+    <target name="-post-clean">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>
+</project>
Index: /liacs/se/RouteGUI/nbproject/genfiles.properties
===================================================================
--- /liacs/se/RouteGUI/nbproject/genfiles.properties	(revision 2)
+++ /liacs/se/RouteGUI/nbproject/genfiles.properties	(revision 2)
@@ -0,0 +1,11 @@
+build.xml.data.CRC32=9cedbf73
+build.xml.script.CRC32=3c4a80ce
+build.xml.stylesheet.CRC32=be360661
+# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
+# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
+nbproject/build-impl.xml.data.CRC32=1f6951b4
+nbproject/build-impl.xml.script.CRC32=b6664431
+nbproject/build-impl.xml.stylesheet.CRC32=e55b27f5
+nbproject/profiler-build-impl.xml.data.CRC32=9cedbf73
+nbproject/profiler-build-impl.xml.script.CRC32=abda56ed
+nbproject/profiler-build-impl.xml.stylesheet.CRC32=42cb6bcf
Index: /liacs/se/RouteGUI/nbproject/profiler-build-impl.xml
===================================================================
--- /liacs/se/RouteGUI/nbproject/profiler-build-impl.xml	(revision 2)
+++ /liacs/se/RouteGUI/nbproject/profiler-build-impl.xml	(revision 2)
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+*** GENERATED FROM project.xml - DO NOT EDIT  ***
+***         EDIT ../build.xml INSTEAD         ***
+
+For the purpose of easier reading the script
+is divided into following sections:
+
+  - initialization
+  - profiling
+  - applet profiling
+
+-->
+<project name="-profiler-impl" default="profile" basedir="..">
+    <target name="default" depends="profile" description="Build and profile the project."/>
+    <!--
+    ======================
+    INITIALIZATION SECTION
+    ======================
+    -->
+    <target name="profile-init" depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check"/>
+    <target name="-profile-pre-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-profile-post-init">
+        <!-- Empty placeholder for easier customization. -->
+        <!-- You can override this target in the ../build.xml file. -->
+    </target>
+    <target name="-profile-init-macrodef-profile">
+        <macrodef name="resolve">
+            <attribute name="name"/>
+            <attribute name="value"/>
+            <sequential>
+                <property name="@{name}" value="${env.@{value}}"/>
+            </sequential>
+        </macrodef>
+        <macrodef name="profile">
+            <attribute name="classname" default="${main.class}"/>
+            <element name="customize" optional="true"/>
+            <sequential>
+                <property environment="env"/>
+                <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
+                <java fork="true" classname="@{classname}" dir="${profiler.info.dir}" jvm="${profiler.info.jvm}">
+                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
+                    <jvmarg line="${profiler.info.jvmargs}"/>
+                    <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
+                    <arg line="${application.args}"/>
+                    <classpath>
+                        <path path="${run.classpath}"/>
+                    </classpath>
+                    <syspropertyset>
+                        <propertyref prefix="run-sys-prop."/>
+                        <mapper type="glob" from="run-sys-prop.*" to="*"/>
+                    </syspropertyset>
+                    <customize/>
+                </java>
+            </sequential>
+        </macrodef>
+    </target>
+    <target name="-profile-init-check" depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile">
+        <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
+        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
+    </target>
+    <!--
+    =================
+    PROFILING SECTION
+    =================
+    -->
+    <target name="profile" if="netbeans.home" depends="profile-init,compile" description="Profile a project in the IDE.">
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile/>
+    </target>
+    <target name="profile-single" if="netbeans.home" depends="profile-init,compile-single" description="Profile a selected class in the IDE.">
+        <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile classname="${profile.class}"/>
+    </target>
+    <!--
+    =========================
+    APPLET PROFILING  SECTION
+    =========================
+    -->
+    <target name="profile-applet" if="netbeans.home" depends="profile-init,compile-single">
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <profile classname="sun.applet.AppletViewer">
+            <customize>
+                <arg value="${applet.url}"/>
+            </customize>
+        </profile>
+    </target>
+    <!--
+    =========================
+    TESTS PROFILING  SECTION
+    =========================
+    -->
+    <target name="profile-test-single" if="netbeans.home" depends="profile-init,compile-test-single">
+        <nbprofiledirect>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+            </classpath>
+        </nbprofiledirect>
+        <junit showoutput="true" fork="true" dir="${profiler.info.dir}" jvm="${profiler.info.jvm}" failureproperty="tests.failed" errorproperty="tests.failed">
+            <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
+            <jvmarg value="${profiler.info.jvmargs.agent}"/>
+            <jvmarg line="${profiler.info.jvmargs}"/>
+            <test name="${profile.class}"/>
+            <classpath>
+                <path path="${run.test.classpath}"/>
+            </classpath>
+            <syspropertyset>
+                <propertyref prefix="test-sys-prop."/>
+                <mapper type="glob" from="test-sys-prop.*" to="*"/>
+            </syspropertyset>
+            <formatter type="brief" usefile="false"/>
+            <formatter type="xml"/>
+        </junit>
+    </target>
+</project>
Index: /liacs/se/RouteGUI/nbproject/project.properties
===================================================================
--- /liacs/se/RouteGUI/nbproject/project.properties	(revision 2)
+++ /liacs/se/RouteGUI/nbproject/project.properties	(revision 2)
@@ -0,0 +1,85 @@
+application.title=RouteGUI
+application.vendor=evert
+build.classes.dir=${build.dir}/classes
+build.classes.excludes=**/*.java,**/*.form
+# This directory is removed when the project is cleaned:
+build.dir=build
+build.generated.dir=${build.dir}/generated
+# Only compile against the classpath explicitly listed here:
+build.sysclasspath=ignore
+build.test.classes.dir=${build.dir}/test/classes
+build.test.results.dir=${build.dir}/test/results
+debug.classpath=\
+    ${run.classpath}
+debug.test.classpath=\
+    ${run.test.classpath}
+# This directory is removed when the project is cleaned:
+dist.dir=dist
+dist.jar=${dist.dir}/RouteGUI.jar
+dist.javadoc.dir=${dist.dir}/javadoc
+excludes=
+file.reference.RouteGUI-lib=lib
+file.reference.swing-worker.jar=dist/lib/swingx-ws-2008_06_08-bin/lib/cobundle/swing-worker.jar
+file.reference.swing-worker.jar-1=lib/swing-worker.jar
+file.reference.swingx-bean.jar=lib/swingx-bean.jar
+file.reference.swingx-ws-2008_06_08-bin.zip=../../../../Desktop/downloads/swingx-ws-2008_06_08-bin.zip
+file.reference.swingx-ws-2008_06_08.jar=dist/lib/swingx-ws-2008_06_08-bin/swingx-ws-2008_06_08.jar
+file.reference.swingx-ws-2008_06_08.jar-1=lib/swingx-ws-2008_06_08.jar
+file.reference.swingx.jar=lib/swingx.jar
+includes=**
+jar.compress=false
+javac.classpath=\
+    ${libs.swing-layout.classpath}:\
+    ${libs.absolutelayout.classpath}:\
+    ${file.reference.swing-worker.jar-1}:\
+    ${file.reference.swingx-bean.jar}:\
+    ${file.reference.swingx-ws-2008_06_08.jar-1}:\
+    ${file.reference.swingx.jar}
+# Space-separated list of extra javac options
+javac.compilerargs=-Xlint:unchecked
+javac.deprecation=true
+javac.source=1.6
+javac.target=1.6
+javac.test.classpath=\
+    ${javac.classpath}:\
+    ${build.classes.dir}:\
+    ${libs.junit_4.classpath}
+javadoc.additionalparam=
+javadoc.author=false
+javadoc.encoding=${source.encoding}
+javadoc.noindex=false
+javadoc.nonavbar=false
+javadoc.notree=false
+javadoc.private=false
+javadoc.splitindex=true
+javadoc.use=true
+javadoc.version=false
+javadoc.windowtitle=
+jnlp.codebase.type=local
+jnlp.codebase.url=file:/C:/Documents%20and%20Settings/evert/My%20Documents/NetBeansProjects/RouteGUI/dist
+jnlp.enabled=false
+jnlp.offline-allowed=false
+jnlp.signed=false
+# Property libs.absolutelayout.classpath is set here just to make sharing of project simpler.
+# The library definition has always preference over this property.
+libs.absolutelayout.classpath=../../../../../../Applications/NetBeans/NetBeans 6.0.app/Contents/Resources/NetBeans/java1/modules/ext/AbsoluteLayout.jar
+# Property libs.swing-layout.classpath is set here just to make sharing of project simpler.
+# The library definition has always preference over this property.
+libs.swing-layout.classpath=../../../../../../Applications/NetBeans/NetBeans 6.0.app/Contents/Resources/NetBeans/platform7/modules/ext/swing-layout-1.0.3.jar
+main.class=routegui.MainJFrame
+manifest.file=manifest.mf
+meta.inf.dir=${src.dir}/META-INF
+platform.active=JDK_1.6
+run.classpath=\
+    ${javac.classpath}:\
+    ${build.classes.dir}
+# Space-separated list of JVM arguments used when running the project
+# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value
+# or test-sys-prop.name=value to set system properties for unit tests):
+run.jvmargs=
+run.test.classpath=\
+    ${javac.test.classpath}:\
+    ${build.test.classes.dir}
+source.encoding=UTF-8
+src.dir=src
+test.src.dir=test
Index: /liacs/se/RouteGUI/nbproject/project.xml
===================================================================
--- /liacs/se/RouteGUI/nbproject/project.xml	(revision 2)
+++ /liacs/se/RouteGUI/nbproject/project.xml	(revision 2)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://www.netbeans.org/ns/project/1">
+    <type>org.netbeans.modules.java.j2seproject</type>
+    <configuration>
+        <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
+            <name>RouteGUI</name>
+            <minimum-ant-version>1.6.5</minimum-ant-version>
+            <explicit-platform explicit-source-supported="true"/>
+            <source-roots>
+                <root id="src.dir"/>
+            </source-roots>
+            <test-roots>
+                <root id="test.src.dir"/>
+            </test-roots>
+        </data>
+    </configuration>
+</project>
Index: /liacs/se/RouteGUI/src/routegui/Compass.java
===================================================================
--- /liacs/se/RouteGUI/src/routegui/Compass.java	(revision 2)
+++ /liacs/se/RouteGUI/src/routegui/Compass.java	(revision 2)
@@ -0,0 +1,44 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package routegui;
+
+import java.awt.Graphics;
+import javax.swing.JPanel;
+
+/**
+ *
+ * @author rick
+ */
+public class Compass  extends JPanel {
+         private int angle = 0;
+         private int margin = 10;
+         
+    @Override public void paintComponent(Graphics g) {
+         super.paintComponent(g);    // paints background
+         int height = this.getHeight();
+         int width = this.getWidth();
+         g.drawOval(margin, margin, 
+                    height - (2 * margin),  width - (2 * margin));
+         /* Make 0 degrees act like north */
+         double angle_rad = (angle - 90) * 2.0 * Math.PI/360.0;
+         int len = (height / 2) - 2 * margin;
+         int xMiddle = width / 2;
+         int yMiddle = height / 2;
+                
+         g.drawLine(xMiddle, yMiddle, 
+                    xMiddle + (int)(Math.cos(angle_rad) * len) , 
+                    yMiddle + (int)(Math.sin(angle_rad) * len));
+    }
+    public void setAngle(int angleNew) {
+        angle = angleNew;
+        this.repaint();
+    }
+    
+    public void setMargin(int marginNew) {
+         margin = marginNew;
+         this.repaint();
+    }
+}
Index: /liacs/se/RouteGUI/src/routegui/GPRMC.java
===================================================================
--- /liacs/se/RouteGUI/src/routegui/GPRMC.java	(revision 2)
+++ /liacs/se/RouteGUI/src/routegui/GPRMC.java	(revision 2)
@@ -0,0 +1,129 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package routegui;
+
+import java.io.IOException;
+import java.util.Calendar;
+import org.jdesktop.swingx.mapviewer.GeoPosition;
+
+/**
+ *
+ * @author rick
+ * http://www.codepedia.com/1/The+GPRMC+Sentence
+ */
+public class GPRMC {
+    /* 0: The Command Word */
+    /**
+     * 1: Satellite-Derived Time in UTC, in a compressed form "HHMMSS.XXX,"
+     * 9: UTC Date, to be put into calendar format DDMMYY 
+     */
+    public Calendar calendar;
+    /** 
+     * 2: Satelite fix status 
+     */
+    public Boolean sateliteFixStatus;
+    /** 
+     * 3: latitudeDecimalDegrees HHMM.M
+     * 4: latitudeHemisphere [N|S]
+     * 5: DoubleitudeDecimalDegrees HHHMM.M
+     * 6: DoubleitudeHemisphere [E|W]
+     * converted to Geoposition
+     */
+    public GeoPosition position; 
+    /**
+     * 7: speed in knobs 
+     */
+    public Double speed; 
+    /**
+     * 8: bearing, measured as an "azimuth.", where 0 represents north, 
+     * 90 represents east, 180 represents south and 270 represents west.
+     */
+    public Double bearing;
+    /* 10: Empty */
+    /* 11: Empty */
+    /* 12: Empty */
+    /* 13: Checksum field */
+
+    private String getChecksum(String strLine) {
+        int checksum = strLine.charAt(1);
+        for (int i = 2; i < strLine.length() - 3; i++ ){
+            checksum = checksum ^ strLine.charAt(i);            
+        }
+        return String.format("%1x", checksum);
+    }
+    
+    GPRMC() {
+        
+    }
+    
+    
+    GPRMC(String strLine)  {
+        boolean result = process(strLine);
+    }
+            
+    public boolean process(String strLine) {
+        String[] strSub = strLine.split("[,*]");
+        
+        /* Checking sentence is valid using checksum */
+        if (! getChecksum(strLine).equals(strSub[13])) {
+            return false;
+        }
+
+        
+        /* Set calendar */
+        calendar = Calendar.getInstance();
+        calendar.set(Calendar.DAY_OF_MONTH, 
+                Integer.parseInt(strSub[9].substring(0,2)));
+        calendar.set(Calendar.MONTH, 
+                Integer.parseInt(strSub[9].substring(2,4)));
+        calendar.set(Calendar.YEAR, 
+                Integer.parseInt(strSub[9].substring(4,6)) + 2000);
+        calendar.set(Calendar.HOUR, 
+                Integer.parseInt(strSub[1].substring(0,2)));
+        calendar.set(Calendar.MINUTE, 
+                Integer.parseInt(strSub[1].substring(2,4)));
+        calendar.set(Calendar.SECOND, 
+                Integer.parseInt(strSub[1].substring(4,6)));
+            calendar.set(Calendar.MILLISECOND, 
+                Integer.parseInt(strSub[1].substring(7,9)));
+        
+        /* Set fix status */
+        sateliteFixStatus = strSub[2].equalsIgnoreCase("A");       
+      
+        if (sateliteFixStatus) {
+            /** 
+             * Set position, 
+             * see: http://en.wikipedia.org/wiki/Geographic_coordinate_conversion
+             * @todo: Milliseconds are ignored in calculation 
+             */
+            
+            Double latitude = Double.parseDouble(strSub[3].substring(0, 2));
+            latitude += Double.parseDouble(strSub[3].substring(2)) / 60;
+            if (strSub[4].equalsIgnoreCase("S")) {
+                latitude = latitude * -1;
+            }
+
+            Double longitude = Double.parseDouble(strSub[5].substring(0, 3));
+            longitude += Double.parseDouble(strSub[5].substring(3)) / 60;
+            if (strSub[6].equalsIgnoreCase("W")) {
+                longitude = longitude * -1;
+            }
+
+            position = new GeoPosition(latitude, longitude);
+
+            /* Set speed in knobs */
+            speed = Double.parseDouble(strSub[7]);
+
+            /* Set bearing if available */
+            if (strSub[8].isEmpty()) {
+                bearing = null;
+            } else {
+                bearing = Double.parseDouble(strSub[8]);
+            }
+        } 
+    return true;
+    }
+}
Index: /liacs/se/RouteGUI/src/routegui/GPS.java
===================================================================
--- /liacs/se/RouteGUI/src/routegui/GPS.java	(revision 2)
+++ /liacs/se/RouteGUI/src/routegui/GPS.java	(revision 2)
@@ -0,0 +1,65 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package routegui;
+
+import java.io.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+
+/**
+ *
+ * @author rick
+ */
+public class GPS {
+    /* http://www.roseindia.net/java/beginners/java-read-file-line-by-line.shtml */
+
+    private DataInputStream in;
+    private BufferedReader br;
+    public GPRMC data = new GPRMC();
+    
+    /* http://www.codepedia.com/1/The+GPRMC+Sentence */
+
+    public void GPS() {        
+    }
+    
+    public void init(String inputFile) {
+        try {
+            FileInputStream fstream = new FileInputStream(inputFile);
+            in = new DataInputStream(fstream);
+            br = new BufferedReader(new InputStreamReader(in));
+
+        } catch (FileNotFoundException ex) {
+            Logger.getLogger(GPS.class.getName()).log(Level.SEVERE, null, ex);
+        }
+    }
+    
+    public boolean next() {
+        String strLine;
+        Boolean result;
+        /* Try fething new line, bail out if fails */
+        while (true) {
+            try {
+                strLine = br.readLine();
+                if (strLine == null) {
+                    return false;
+                }
+            } catch (IOException ex) {
+                return false;
+            }
+            result = data.process(strLine);
+            if (result) {
+                return true;
+            }
+        }
+    }
+    
+    @Override
+    protected void finalize() throws Throwable
+    {
+        in.close();
+        super.finalize();
+    }
+}
Index: /liacs/se/RouteGUI/src/routegui/MainJFrame.form
===================================================================
--- /liacs/se/RouteGUI/src/routegui/MainJFrame.form	(revision 2)
+++ /liacs/se/RouteGUI/src/routegui/MainJFrame.form	(revision 2)
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.5" maxVersion="1.5" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
+  <Properties>
+    <Property name="defaultCloseOperation" type="int" value="3"/>
+  </Properties>
+  <SyntheticProperties>
+    <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+  </SyntheticProperties>
+  <AuxValues>
+    <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+    <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+    <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+    <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+  </AuxValues>
+
+  <Layout>
+    <DimensionLayout dim="0">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" attributes="0">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" attributes="0">
+                      <Component id="jLabelTime" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace min="-2" pref="14" max="-2" attributes="0"/>
+                      <Component id="jLabelNames" pref="477" max="32767" attributes="0"/>
+                      <EmptySpace min="-2" pref="8" max="-2" attributes="0"/>
+                      <Component id="jTogglePower" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <Group type="102" attributes="0">
+                      <Component id="jButtonEndSimulation" pref="199" max="32767" attributes="0"/>
+                      <EmptySpace min="-2" pref="100" max="-2" attributes="0"/>
+                      <Component id="jLabelSnelheid" pref="115" max="32767" attributes="0"/>
+                      <EmptySpace min="-2" pref="151" max="-2" attributes="0"/>
+                      <Component id="jCompass" min="-2" max="-2" attributes="0"/>
+                  </Group>
+                  <Group type="102" alignment="0" attributes="0">
+                      <EmptySpace min="13" pref="13" max="13" attributes="0"/>
+                      <Component id="jControl" pref="641" max="32767" attributes="0"/>
+                  </Group>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+    <DimensionLayout dim="1">
+      <Group type="103" groupAlignment="0" attributes="0">
+          <Group type="102" alignment="0" attributes="0">
+              <Group type="103" groupAlignment="2" attributes="0">
+                  <Component id="jLabelNames" alignment="2" min="-2" max="-2" attributes="0"/>
+                  <Component id="jLabelTime" alignment="2" min="-2" max="-2" attributes="0"/>
+                  <Component id="jTogglePower" alignment="2" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+              <Component id="jControl" pref="352" max="32767" attributes="0"/>
+              <EmptySpace max="-2" attributes="0"/>
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="103" groupAlignment="2" attributes="0">
+                      <Component id="jLabelSnelheid" alignment="2" min="-2" pref="51" max="-2" attributes="0"/>
+                      <Component id="jButtonEndSimulation" alignment="2" min="-2" pref="47" max="-2" attributes="0"/>
+                  </Group>
+                  <Component id="jCompass" alignment="0" min="-2" max="-2" attributes="0"/>
+              </Group>
+              <EmptySpace max="-2" attributes="0"/>
+          </Group>
+      </Group>
+    </DimensionLayout>
+  </Layout>
+  <SubComponents>
+    <Component class="javax.swing.JToggleButton" name="jTogglePower">
+      <Properties>
+        <Property name="text" type="java.lang.String" value="Turn OFF"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jTogglePowerActionPerformed"/>
+      </Events>
+    </Component>
+    <Container class="javax.swing.JTabbedPane" name="jControl">
+      <Properties>
+        <Property name="tabPlacement" type="int" value="2"/>
+        <Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
+          <FontInfo relative="true">
+            <Font bold="true" component="jControl" italic="true" property="font" relativeSize="true" size="11"/>
+          </FontInfo>
+        </Property>
+      </Properties>
+
+      <Layout class="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout"/>
+      <SubComponents>
+        <Container class="javax.swing.JPanel" name="jPanel1">
+          <Constraints>
+            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
+              <JTabbedPaneConstraints tabName="Map">
+                <Property name="tabTitle" type="java.lang.String" value="Map"/>
+              </JTabbedPaneConstraints>
+            </Constraint>
+          </Constraints>
+
+          <Layout>
+            <DimensionLayout dim="0">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Component id="jXMapKit1" alignment="0" pref="595" max="32767" attributes="0"/>
+              </Group>
+            </DimensionLayout>
+            <DimensionLayout dim="1">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" alignment="0" attributes="0">
+                      <Component id="jXMapKit1" pref="311" max="32767" attributes="0"/>
+                      <EmptySpace max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+            </DimensionLayout>
+          </Layout>
+          <SubComponents>
+            <Component class="org.jdesktop.swingx.JXMapKit" name="jXMapKit1">
+              <Properties>
+                <Property name="defaultProvider" type="org.jdesktop.swingx.JXMapKit$DefaultProviders" editor="org.jdesktop.swingx.JXMapKitBeanInfo$DefaultProvidersPropertyEditor">
+                  <SerializedValue value="-84,-19,0,5,126,114,0,45,111,114,103,46,106,100,101,115,107,116,111,112,46,115,119,105,110,103,120,46,74,88,77,97,112,75,105,116,36,68,101,102,97,117,108,116,80,114,111,118,105,100,101,114,115,0,0,0,0,0,0,0,0,18,0,0,120,114,0,14,106,97,118,97,46,108,97,110,103,46,69,110,117,109,0,0,0,0,0,0,0,0,18,0,0,120,112,116,0,14,79,112,101,110,83,116,114,101,101,116,77,97,112,115"/>
+                </Property>
+                <Property name="scrollableTracksViewportWidth" type="boolean" value="true"/>
+                <Property name="zoom" type="int" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+                  <Connection code="1" type="code"/>
+                </Property>
+              </Properties>
+            </Component>
+          </SubComponents>
+        </Container>
+        <Container class="javax.swing.JPanel" name="jPanel2">
+          <Constraints>
+            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
+              <JTabbedPaneConstraints tabName="Route">
+                <Property name="tabTitle" type="java.lang.String" value="Route"/>
+              </JTabbedPaneConstraints>
+            </Constraint>
+          </Constraints>
+
+          <Layout>
+            <DimensionLayout dim="0">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" attributes="0">
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Group type="102" attributes="0">
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Group type="102" attributes="0">
+                                      <EmptySpace min="-2" pref="48" max="-2" attributes="0"/>
+                                      <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
+                                      <EmptySpace max="-2" attributes="0"/>
+                                      <Component id="jTextFieldDestination" pref="355" max="32767" attributes="0"/>
+                                  </Group>
+                                  <Group type="102" alignment="0" attributes="0">
+                                      <EmptySpace min="-2" pref="35" max="-2" attributes="0"/>
+                                      <Component id="jButtonQ" min="-2" pref="51" max="-2" attributes="0"/>
+                                  </Group>
+                              </Group>
+                              <EmptySpace min="-2" pref="23" max="-2" attributes="0"/>
+                              <Component id="jButtonBcsp" min="-2" pref="61" max="-2" attributes="0"/>
+                          </Group>
+                          <Group type="102" alignment="1" attributes="0">
+                              <EmptySpace pref="233" max="32767" attributes="0"/>
+                              <Component id="jButtonOK" min="-2" max="-2" attributes="0"/>
+                          </Group>
+                      </Group>
+                      <EmptySpace max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+            </DimensionLayout>
+            <DimensionLayout dim="1">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" alignment="0" attributes="0">
+                      <Group type="103" groupAlignment="3" attributes="0">
+                          <Component id="jLabel1" alignment="3" min="-2" max="-2" attributes="0"/>
+                          <Component id="jTextFieldDestination" alignment="3" min="-2" max="-2" attributes="0"/>
+                      </Group>
+                      <EmptySpace type="separate" max="-2" attributes="0"/>
+                      <Group type="103" groupAlignment="3" attributes="0">
+                          <Component id="jButtonBcsp" alignment="3" min="-2" max="-2" attributes="0"/>
+                          <Component id="jButtonQ" alignment="3" min="-2" pref="29" max="-2" attributes="0"/>
+                      </Group>
+                      <EmptySpace pref="227" max="32767" attributes="0"/>
+                      <Component id="jButtonOK" min="-2" max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+            </DimensionLayout>
+          </Layout>
+          <SubComponents>
+            <Component class="javax.swing.JLabel" name="jLabel1">
+              <Properties>
+                <Property name="text" type="java.lang.String" value="Destination :"/>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JButton" name="jButtonQ">
+              <Properties>
+                <Property name="text" type="java.lang.String" value="q"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonQActionPerformed"/>
+              </Events>
+            </Component>
+            <Component class="javax.swing.JButton" name="jButtonOK">
+              <Properties>
+                <Property name="text" type="java.lang.String" value="OK currently hardcoded to 52.161087, 4.490153"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonOKActionPerformed"/>
+              </Events>
+            </Component>
+            <Component class="javax.swing.JTextField" name="jTextFieldDestination">
+              <Properties>
+                <Property name="text" type="java.lang.String" value="&lt;select your destination&gt;"/>
+              </Properties>
+              <AuxValues>
+                <AuxValue name="JavaCodeGenerator_SerializeTo" type="java.lang.String" value="MainJFrame_jTextFieldDestination"/>
+              </AuxValues>
+            </Component>
+            <Component class="javax.swing.JButton" name="jButtonBcsp">
+              <Properties>
+                <Property name="text" type="java.lang.String" value="&lt;-"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonBcspActionPerformed"/>
+              </Events>
+            </Component>
+          </SubComponents>
+        </Container>
+        <Container class="javax.swing.JPanel" name="jPanel3">
+          <Constraints>
+            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout" value="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription">
+              <JTabbedPaneConstraints tabName="Simulate">
+                <Property name="tabTitle" type="java.lang.String" value="Simulate"/>
+              </JTabbedPaneConstraints>
+            </Constraint>
+          </Constraints>
+
+          <Layout>
+            <DimensionLayout dim="0">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" attributes="0">
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Group type="103" groupAlignment="0" attributes="0">
+                          <Group type="102" alignment="1" attributes="0">
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Component id="jLabelSimulationSpeed" pref="211" max="32767" attributes="1"/>
+                                  <Component id="jLabelFileSimulation" alignment="0" min="-2" max="-2" attributes="1"/>
+                              </Group>
+                              <EmptySpace max="-2" attributes="0"/>
+                              <Group type="103" groupAlignment="0" attributes="0">
+                                  <Component id="jSliderSimulationSpeed" pref="261" max="32767" attributes="0"/>
+                                  <Component id="jTextFieldFileSimulation" alignment="0" pref="261" max="32767" attributes="0"/>
+                              </Group>
+                              <EmptySpace max="-2" attributes="0"/>
+                              <Component id="jButtonFileSimulationBrowse" min="-2" max="-2" attributes="0"/>
+                          </Group>
+                          <Group type="102" alignment="1" attributes="0">
+                              <Component id="jButtonSimulationStatus" min="-2" max="-2" attributes="0"/>
+                              <EmptySpace max="-2" attributes="0"/>
+                          </Group>
+                      </Group>
+                  </Group>
+              </Group>
+            </DimensionLayout>
+            <DimensionLayout dim="1">
+              <Group type="103" groupAlignment="0" attributes="0">
+                  <Group type="102" attributes="0">
+                      <Group type="103" groupAlignment="3" attributes="0">
+                          <Component id="jLabelFileSimulation" alignment="3" min="-2" pref="30" max="-2" attributes="0"/>
+                          <Component id="jButtonFileSimulationBrowse" alignment="3" min="-2" max="-2" attributes="0"/>
+                          <Component id="jTextFieldFileSimulation" alignment="3" min="-2" pref="30" max="-2" attributes="0"/>
+                      </Group>
+                      <EmptySpace max="-2" attributes="0"/>
+                      <Group type="103" groupAlignment="0" max="-2" attributes="0">
+                          <Component id="jSliderSimulationSpeed" max="32767" attributes="1"/>
+                          <Component id="jLabelSimulationSpeed" alignment="0" max="32767" attributes="1"/>
+                      </Group>
+                      <EmptySpace pref="192" max="32767" attributes="0"/>
+                      <Component id="jButtonSimulationStatus" min="-2" max="-2" attributes="0"/>
+                      <EmptySpace max="-2" attributes="0"/>
+                  </Group>
+              </Group>
+            </DimensionLayout>
+          </Layout>
+          <SubComponents>
+            <Component class="javax.swing.JTextField" name="jTextFieldFileSimulation">
+              <Properties>
+                <Property name="text" type="java.lang.String" value="/Users/rick/svn/data/liacs/se/gps-data/101/characteroutput-20080312-090741.txt"/>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JButton" name="jButtonFileSimulationBrowse">
+              <Properties>
+                <Property name="text" type="java.lang.String" value="Browse"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonFileSimulationBrowseActionPerformed"/>
+              </Events>
+            </Component>
+            <Component class="javax.swing.JLabel" name="jLabelFileSimulation">
+              <Properties>
+                <Property name="text" type="java.lang.String" value="Filename:"/>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JSlider" name="jSliderSimulationSpeed">
+              <Properties>
+                <Property name="majorTickSpacing" type="int" value="10"/>
+                <Property name="paintLabels" type="boolean" value="true"/>
+                <Property name="paintTicks" type="boolean" value="true"/>
+                <Property name="value" type="int" value="100"/>
+              </Properties>
+            </Component>
+            <Component class="javax.swing.JButton" name="jButtonSimulationStatus">
+              <Properties>
+                <Property name="text" type="java.lang.String" value="GO"/>
+              </Properties>
+              <Events>
+                <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonSimulationStatusActionPerformed"/>
+              </Events>
+            </Component>
+            <Component class="javax.swing.JLabel" name="jLabelSimulationSpeed">
+              <Properties>
+                <Property name="text" type="java.lang.String" value="Sim Speed:"/>
+              </Properties>
+            </Component>
+          </SubComponents>
+        </Container>
+      </SubComponents>
+    </Container>
+    <Component class="javax.swing.JLabel" name="jLabelNames">
+      <Properties>
+        <Property name="text" type="java.lang.String" value="Software Engineering - Evert Mouw, Hugo Meiland, Rick van der Zwet"/>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabelTime">
+      <Properties>
+        <Property name="text" type="java.lang.String" value="00:00:00"/>
+        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+          <Border info="org.netbeans.modules.form.compat2.border.LineBorderInfo">
+            <LineBorder roundedCorners="true"/>
+          </Border>
+        </Property>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JLabel" name="jLabelSnelheid">
+      <Properties>
+        <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+          <Font name="Lucida Grande" size="18" style="0"/>
+        </Property>
+        <Property name="text" type="java.lang.String" value="Snelheid"/>
+      </Properties>
+    </Component>
+    <Component class="javax.swing.JButton" name="jButtonEndSimulation">
+      <Properties>
+        <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+          <Color blue="0" green="0" red="ff" type="rgb"/>
+        </Property>
+        <Property name="text" type="java.lang.String" value="END Simulation"/>
+      </Properties>
+      <Events>
+        <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonEndSimulationActionPerformed"/>
+      </Events>
+    </Component>
+    <Container class="javax.swing.JPanel" name="jCompass">
+      <Properties>
+        <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+          <Border info="org.netbeans.modules.form.compat2.border.LineBorderInfo">
+            <LineBorder/>
+          </Border>
+        </Property>
+      </Properties>
+      <AuxValues>
+        <AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new Compass();"/>
+        <AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value=""/>
+      </AuxValues>
+
+      <Layout>
+        <DimensionLayout dim="0">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <EmptySpace min="0" pref="87" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+        <DimensionLayout dim="1">
+          <Group type="103" groupAlignment="0" attributes="0">
+              <EmptySpace min="0" pref="90" max="32767" attributes="0"/>
+          </Group>
+        </DimensionLayout>
+      </Layout>
+    </Container>
+  </SubComponents>
+</Form>
Index: /liacs/se/RouteGUI/src/routegui/MainJFrame.java
===================================================================
--- /liacs/se/RouteGUI/src/routegui/MainJFrame.java	(revision 2)
+++ /liacs/se/RouteGUI/src/routegui/MainJFrame.java	(revision 2)
@@ -0,0 +1,520 @@
+/*
+ * MainJFrame.java
+ *
+ * Created on 10 april 2008, 17:
+ * @todo: Eliminate dirty hacking intruduced to het Compass displayed properly
+ */
+package routegui;
+
+import java.text.DateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.jdesktop.swingx.mapviewer.GeoPosition;
+import java.util.TimerTask;
+import java.util.Random;
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.util.HashSet;
+import java.util.Set;
+import javax.swing.JFileChooser;
+import org.jdesktop.swingx.JXMapViewer;
+import org.jdesktop.swingx.mapviewer.Waypoint;
+import org.jdesktop.swingx.mapviewer.WaypointPainter;
+/*
+ * @author  evert
+ */
+import org.jdesktop.swingx.mapviewer.WaypointRenderer;
+import org.jdesktop.swingx.painter.CompoundPainter;
+import org.jdesktop.swingx.painter.Painter;
+
+public class MainJFrame extends javax.swing.JFrame {
+
+    /** Creates new form MainJFrame */
+    private boolean powerState = false;
+    private java.util.Timer clockTimer = new java.util.Timer();
+    private Random generator = new Random();
+    private SimulateDrive simulateDrive;
+
+    /** 
+     * Revert state of PND, either ON -> OFF or OFF -> ON
+     */
+    private void powerDevice() {
+        powerState = ! powerState;
+        
+        if (powerState) {
+            jTogglePower.setText("Turn OFF");
+        } else {
+            jTogglePower.setText("Turn ON");
+        }        
+        
+        jControl.setVisible(powerState);
+        jLabelSnelheid.setVisible(powerState);
+        jCompass.setVisible(powerState);
+        jButtonEndSimulation.setVisible(powerState);
+    }
+    
+    private void updateSpeed(double snelheid) {
+        jLabelSnelheid.setText(String.valueOf(snelheid).concat(" KM"));
+        if (snelheid < 50) {
+            jLabelSnelheid.setForeground(Color.green);
+        } else if (snelheid < 100) {
+            jLabelSnelheid.setForeground(Color.yellow);
+        } else {
+            jLabelSnelheid.setForeground(Color.red);
+        }
+        jLabelSnelheid.repaint();
+    }
+
+    public MainJFrame() {
+        initComponents();
+        clockTimer.scheduleAtFixedRate(new TickTimerTask(), 0, 1000);
+        
+        /* Hack to allow init of components of OFF */
+        powerState = true;
+        powerDevice();
+
+        jXMapKit1.setZoom(3);
+    }
+
+    /** tack to update clock one a second */
+    class TickTimerTask extends TimerTask {
+
+        @Override
+        public void run() {
+            Date rightNow = Calendar.getInstance().getTime();
+            jLabelTime.setText(DateFormat.getTimeInstance().format(rightNow));
+        }
+    }
+
+    class SimulateDrive implements Runnable {
+
+        private boolean killMe = false;
+        private GPS route = new GPS();
+
+        public void terminate() {
+            killMe = true;
+        }
+
+        private SimulateDrive(String routeFile) {
+            route.init(routeFile);
+        }
+
+        @Override
+        @SuppressWarnings("unchecked") //@todo: warnings Painter mapping
+        public void run() {
+            /** 
+             * @todo: Find a proper way to display both the route and current location at the same time
+             * Guru help site at http://today.java.net/pub/a/today/2007/11/13/mapping-mashups-with-jxmapviewer.html
+             */
+            Painter<JXMapViewer> defaultOverlay = jXMapKit1.getMainMap().getOverlayPainter();
+            Painter<JXMapViewer> textOverlay = new Painter<JXMapViewer>() {
+
+                @Override
+                public void paint(Graphics2D g, JXMapViewer map, int w, int h) {
+                    g.setPaint(new Color(0, 0, 0, 150));
+                    g.fillRoundRect(5, 5, 280, 30, 10, 10);
+                    g.setPaint(Color.WHITE);
+                    g.drawString("Images provided by OpenStreetMap.org", 20, 20);
+                }
+            };
+            CompoundPainter cp = new CompoundPainter();
+            cp.setPainters(textOverlay, defaultOverlay);
+            cp.setCacheable(false);
+            jXMapKit1.getMainMap().setOverlayPainter(cp);
+
+            Set<Waypoint> waypoints = new HashSet<Waypoint>();
+            WaypointPainter painter = new WaypointPainter();
+            //painter.setWaypoints(waypoints);
+            painter.setRenderer(new WaypointRenderer() {
+
+                @Override
+                public boolean paintWaypoint(Graphics2D g, JXMapViewer map, Waypoint wp) {
+                    g.setColor(Color.RED);
+                    g.drawLine(0, 0, 0, 0);
+                    return true;
+                }
+            });
+
+            /* Initial fetch data */
+            route.next();
+            long prevTime = route.data.calendar.getTime().getTime();
+            Date curTime;
+            int i = 0;
+            /* Center map at starting point */
+            jXMapKit1.setAddressLocation(route.data.position);
+            do {
+                try {
+                    waypoints.add(new Waypoint(route.data.position));
+                    jXMapKit1.setAddressLocation(route.data.position);
+                    updateSpeed(route.data.speed);
+                    if (route.data.bearing != null) {
+                        Compass foo = (Compass) jCompass;
+                        foo.setAngle(route.data.bearing.intValue());
+                    }
+                    /* Specify amount of sleep time needed */
+                    curTime = route.data.calendar.getTime();
+                    jLabelTime.setText(DateFormat.getTimeInstance().format(curTime));
+                    Thread.sleep(Math.max(0, (curTime.getTime() - prevTime) / jSliderSimulationSpeed.getValue()));
+                    prevTime = curTime.getTime();
+                } catch (InterruptedException ex) {
+                    Logger.getLogger(MainJFrame.class.getName()).log(Level.SEVERE, null, ex);
+                }
+            } while (route.next() && !killMe);
+            painter.setWaypoints(waypoints);
+            jXMapKit1.getMainMap().setOverlayPainter(painter);
+        }
+    }
+
+    /** This method is called from within the constructor to
+     * initialize the form.
+     * WARNING: Do NOT modify this code. The content of this method is
+     * always regenerated by the Form Editor.
+     */
+    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+    private void initComponents() {
+
+        jTogglePower = new javax.swing.JToggleButton();
+        jControl = new javax.swing.JTabbedPane();
+        jPanel1 = new javax.swing.JPanel();
+        jXMapKit1 = new org.jdesktop.swingx.JXMapKit();
+        jPanel2 = new javax.swing.JPanel();
+        jLabel1 = new javax.swing.JLabel();
+        jButtonQ = new javax.swing.JButton();
+        jButtonOK = new javax.swing.JButton();
+        jTextFieldDestination = new javax.swing.JTextField();
+        jButtonBcsp = new javax.swing.JButton();
+        jPanel3 = new javax.swing.JPanel();
+        jTextFieldFileSimulation = new javax.swing.JTextField();
+        jButtonFileSimulationBrowse = new javax.swing.JButton();
+        jLabelFileSimulation = new javax.swing.JLabel();
+        jSliderSimulationSpeed = new javax.swing.JSlider();
+        jButtonSimulationStatus = new javax.swing.JButton();
+        jLabelSimulationSpeed = new javax.swing.JLabel();
+        jLabelNames = new javax.swing.JLabel();
+        jLabelTime = new javax.swing.JLabel();
+        jLabelSnelheid = new javax.swing.JLabel();
+        jButtonEndSimulation = new javax.swing.JButton();
+        jCompass = new Compass();
+
+        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
+
+        jTogglePower.setText("Turn OFF");
+        jTogglePower.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                jTogglePowerActionPerformed(evt);
+            }
+        });
+
+        jControl.setTabPlacement(javax.swing.JTabbedPane.LEFT);
+        jControl.setFont(jControl.getFont().deriveFont((jControl.getFont().getStyle() | java.awt.Font.ITALIC) | java.awt.Font.BOLD, jControl.getFont().getSize()+11));
+
+        jXMapKit1.setDefaultProvider(org.jdesktop.swingx.JXMapKit.DefaultProviders.OpenStreetMaps);
+        jXMapKit1.setScrollableTracksViewportWidth(true);
+        jXMapKit1.setZoom(1);
+
+        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
+        jPanel1.setLayout(jPanel1Layout);
+        jPanel1Layout.setHorizontalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addComponent(jXMapKit1, javax.swing.GroupLayout.DEFAULT_SIZE, 595, Short.MAX_VALUE)
+        );
+        jPanel1Layout.setVerticalGroup(
+            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel1Layout.createSequentialGroup()
+                .addComponent(jXMapKit1, javax.swing.GroupLayout.DEFAULT_SIZE, 311, Short.MAX_VALUE)
+                .addContainerGap())
+        );
+
+        jControl.addTab("Map", jPanel1);
+
+        jLabel1.setText("Destination :");
+
+        jButtonQ.setText("q");
+        jButtonQ.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                jButtonQActionPerformed(evt);
+            }
+        });
+
+        jButtonOK.setText("OK currently hardcoded to 52.161087, 4.490153");
+        jButtonOK.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                jButtonOKActionPerformed(evt);
+            }
+        });
+
+        jTextFieldDestination.setText("<select your destination>");
+
+        jButtonBcsp.setText("<-");
+        jButtonBcsp.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                jButtonBcspActionPerformed(evt);
+            }
+        });
+
+        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
+        jPanel2.setLayout(jPanel2Layout);
+        jPanel2Layout.setHorizontalGroup(
+            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel2Layout.createSequentialGroup()
+                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(jPanel2Layout.createSequentialGroup()
+                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addGroup(jPanel2Layout.createSequentialGroup()
+                                .addGap(48, 48, 48)
+                                .addComponent(jLabel1)
+                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                                .addComponent(jTextFieldDestination, javax.swing.GroupLayout.DEFAULT_SIZE, 355, Short.MAX_VALUE))
+                            .addGroup(jPanel2Layout.createSequentialGroup()
+                                .addGap(35, 35, 35)
+                                .addComponent(jButtonQ, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)))
+                        .addGap(23, 23, 23)
+                        .addComponent(jButtonBcsp, javax.swing.GroupLayout.PREFERRED_SIZE, 61, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
+                        .addContainerGap(233, Short.MAX_VALUE)
+                        .addComponent(jButtonOK)))
+                .addContainerGap())
+        );
+        jPanel2Layout.setVerticalGroup(
+            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel2Layout.createSequentialGroup()
+                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(jLabel1)
+                    .addComponent(jTextFieldDestination, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addGap(18, 18, 18)
+                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(jButtonBcsp)
+                    .addComponent(jButtonQ, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 227, Short.MAX_VALUE)
+                .addComponent(jButtonOK))
+        );
+
+        jControl.addTab("Route", jPanel2);
+
+        jTextFieldFileSimulation.setText("/Users/rick/svn/data/liacs/se/gps-data/101/characteroutput-20080312-090741.txt");
+
+        jButtonFileSimulationBrowse.setText("Browse");
+        jButtonFileSimulationBrowse.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                jButtonFileSimulationBrowseActionPerformed(evt);
+            }
+        });
+
+        jLabelFileSimulation.setText("Filename:");
+
+        jSliderSimulationSpeed.setMajorTickSpacing(10);
+        jSliderSimulationSpeed.setPaintLabels(true);
+        jSliderSimulationSpeed.setPaintTicks(true);
+        jSliderSimulationSpeed.setValue(100);
+
+        jButtonSimulationStatus.setText("GO");
+        jButtonSimulationStatus.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                jButtonSimulationStatusActionPerformed(evt);
+            }
+        });
+
+        jLabelSimulationSpeed.setText("Sim Speed:");
+
+        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
+        jPanel3.setLayout(jPanel3Layout);
+        jPanel3Layout.setHorizontalGroup(
+            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel3Layout.createSequentialGroup()
+                .addContainerGap()
+                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
+                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(jLabelSimulationSpeed, javax.swing.GroupLayout.DEFAULT_SIZE, 211, Short.MAX_VALUE)
+                            .addComponent(jLabelFileSimulation))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                            .addComponent(jSliderSimulationSpeed, javax.swing.GroupLayout.DEFAULT_SIZE, 261, Short.MAX_VALUE)
+                            .addComponent(jTextFieldFileSimulation, javax.swing.GroupLayout.DEFAULT_SIZE, 261, Short.MAX_VALUE))
+                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                        .addComponent(jButtonFileSimulationBrowse))
+                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
+                        .addComponent(jButtonSimulationStatus)
+                        .addContainerGap())))
+        );
+        jPanel3Layout.setVerticalGroup(
+            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(jPanel3Layout.createSequentialGroup()
+                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+                    .addComponent(jLabelFileSimulation, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
+                    .addComponent(jButtonFileSimulationBrowse)
+                    .addComponent(jTextFieldFileSimulation, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+                    .addComponent(jSliderSimulationSpeed, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+                    .addComponent(jLabelSimulationSpeed, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 192, Short.MAX_VALUE)
+                .addComponent(jButtonSimulationStatus)
+                .addContainerGap())
+        );
+
+        jControl.addTab("Simulate", jPanel3);
+
+        jLabelNames.setText("Software Engineering - Evert Mouw, Hugo Meiland, Rick van der Zwet");
+
+        jLabelTime.setText("00:00:00");
+        jLabelTime.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
+
+        jLabelSnelheid.setFont(new java.awt.Font("Lucida Grande", 0, 18)); // NOI18N
+        jLabelSnelheid.setText("Snelheid");
+
+        jButtonEndSimulation.setForeground(new java.awt.Color(255, 0, 0));
+        jButtonEndSimulation.setText("END Simulation");
+        jButtonEndSimulation.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                jButtonEndSimulationActionPerformed(evt);
+            }
+        });
+
+        jCompass.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
+
+        javax.swing.GroupLayout jCompassLayout = new javax.swing.GroupLayout(jCompass);
+        jCompass.setLayout(jCompassLayout);
+        jCompassLayout.setHorizontalGroup(
+            jCompassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 87, Short.MAX_VALUE)
+        );
+        jCompassLayout.setVerticalGroup(
+            jCompassLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGap(0, 90, Short.MAX_VALUE)
+        );
+
+        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+        getContentPane().setLayout(layout);
+        layout.setHorizontalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(jLabelTime)
+                        .addGap(14, 14, 14)
+                        .addComponent(jLabelNames, javax.swing.GroupLayout.DEFAULT_SIZE, 477, Short.MAX_VALUE)
+                        .addGap(8, 8, 8)
+                        .addComponent(jTogglePower))
+                    .addGroup(layout.createSequentialGroup()
+                        .addComponent(jButtonEndSimulation, javax.swing.GroupLayout.DEFAULT_SIZE, 199, Short.MAX_VALUE)
+                        .addGap(100, 100, 100)
+                        .addComponent(jLabelSnelheid, javax.swing.GroupLayout.DEFAULT_SIZE, 115, Short.MAX_VALUE)
+                        .addGap(151, 151, 151)
+                        .addComponent(jCompass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addGroup(layout.createSequentialGroup()
+                        .addGap(13, 13, 13)
+                        .addComponent(jControl, javax.swing.GroupLayout.DEFAULT_SIZE, 641, Short.MAX_VALUE)))
+                .addContainerGap())
+        );
+        layout.setVerticalGroup(
+            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+            .addGroup(layout.createSequentialGroup()
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
+                    .addComponent(jLabelNames)
+                    .addComponent(jLabelTime)
+                    .addComponent(jTogglePower))
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addComponent(jControl, javax.swing.GroupLayout.DEFAULT_SIZE, 352, Short.MAX_VALUE)
+                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
+                        .addComponent(jLabelSnelheid, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
+                        .addComponent(jButtonEndSimulation, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE))
+                    .addComponent(jCompass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+                .addContainerGap())
+        );
+
+        pack();
+    }// </editor-fold>//GEN-END:initComponents
+
+    private void jTogglePowerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTogglePowerActionPerformed
+        powerDevice();
+}//GEN-LAST:event_jTogglePowerActionPerformed
+
+    private void jButtonQActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonQActionPerformed
+        /**
+         * @todo: Find a way to generate all buttons on the fly or hardcode them
+         */
+        jTextFieldDestination.setText(jTextFieldDestination.getText().concat("q"));
+}//GEN-LAST:event_jButtonQActionPerformed
+
+    private void jButtonOKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonOKActionPerformed
+        jXMapKit1.setAddressLocation(new GeoPosition(52.161087, 4.490153));
+        jControl.setSelectedIndex(0);
+}//GEN-LAST:event_jButtonOKActionPerformed
+
+    private void jButtonBcspActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonBcspActionPerformed
+        String tmpString = jTextFieldDestination.getText();
+        jTextFieldDestination.setText(tmpString.substring(0, tmpString.length() - 1));
+}//GEN-LAST:event_jButtonBcspActionPerformed
+
+    private void jButtonFileSimulationBrowseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonFileSimulationBrowseActionPerformed
+        final JFileChooser fc = new JFileChooser();
+        int returnVal = fc.showOpenDialog(null);
+        if (returnVal == JFileChooser.APPROVE_OPTION) {
+            jTextFieldFileSimulation.setText(fc.getSelectedFile().getAbsolutePath());
+        }
+}//GEN-LAST:event_jButtonFileSimulationBrowseActionPerformed
+
+    private void jButtonSimulationStatusActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonSimulationStatusActionPerformed
+
+        jButtonEndSimulation.setVisible(true);
+        jControl.setSelectedIndex(0);
+        simulateDrive = new SimulateDrive(jTextFieldFileSimulation.getText());
+        new Thread(simulateDrive).start();
+            clockTimer.cancel();//GEN-LAST:event_jButtonSimulationStatusActionPerformed
+
+
+    }
+
+    private void jButtonEndSimulationActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonEndSimulationActionPerformed
+        simulateDrive.terminate();
+        /** @todo how to fix clock start/start signaling or seperate tread? */
+        //clockTimer.notify();
+        jButtonEndSimulation.setVisible(false);
+    }//GEN-LAST:event_jButtonEndSimulationActionPerformed
+    
+    /**
+     * @param args the command line arguments
+     */
+    public static void main(String args[]) {
+        java.awt.EventQueue.invokeLater(new Runnable() {
+            @Override
+            public void run() {
+                new MainJFrame().setVisible(true);
+            }
+        });
+    }
+    public void close() {
+        clockTimer.cancel();
+    }
+    
+    // Variables declaration - do not modify//GEN-BEGIN:variables
+    private javax.swing.JButton jButtonBcsp;
+    private javax.swing.JButton jButtonEndSimulation;
+    private javax.swing.JButton jButtonFileSimulationBrowse;
+    private javax.swing.JButton jButtonOK;
+    private javax.swing.JButton jButtonQ;
+    private javax.swing.JButton jButtonSimulationStatus;
+    private javax.swing.JPanel jCompass;
+    private javax.swing.JTabbedPane jControl;
+    private javax.swing.JLabel jLabel1;
+    private javax.swing.JLabel jLabelFileSimulation;
+    private javax.swing.JLabel jLabelNames;
+    private javax.swing.JLabel jLabelSimulationSpeed;
+    private javax.swing.JLabel jLabelSnelheid;
+    private javax.swing.JLabel jLabelTime;
+    private javax.swing.JPanel jPanel1;
+    private javax.swing.JPanel jPanel2;
+    private javax.swing.JPanel jPanel3;
+    private javax.swing.JSlider jSliderSimulationSpeed;
+    private javax.swing.JTextField jTextFieldDestination;
+    private javax.swing.JTextField jTextFieldFileSimulation;
+    private javax.swing.JToggleButton jTogglePower;
+    private org.jdesktop.swingx.JXMapKit jXMapKit1;
+    // End of variables declaration//GEN-END:variables
+    
+}
Index: /liacs/se/RouteGUI/test/routegui/GPRMCTest.java
===================================================================
--- /liacs/se/RouteGUI/test/routegui/GPRMCTest.java	(revision 2)
+++ /liacs/se/RouteGUI/test/routegui/GPRMCTest.java	(revision 2)
@@ -0,0 +1,39 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package routegui;
+
+import java.io.IOException;
+import org.junit.Test;
+import static org.junit.Assert.*;
+import static java.util.Calendar.*;
+/**
+ *
+ * @author rick
+ */
+public class GPRMCTest {
+
+    @Test
+    public void GPRMCTest() {
+        /* Data entry check  HHMMSS.XXX*/
+        GPRMC entry = new GPRMC("$GPRMC,080756.00,A,5159.38233,N,00422.72435,E,0.011,,120308,,,A*76");
+        assertEquals(2008, entry.calendar.get(YEAR));
+        assertEquals(03, entry.calendar.get(MONTH));
+        assertEquals(12, entry.calendar.get(DAY_OF_MONTH));
+        assertEquals(8, entry.calendar.get(HOUR));
+        assertEquals(7, entry.calendar.get(MINUTE));
+        assertEquals(56, entry.calendar.get(SECOND));
+        assertEquals(00, entry.calendar.get(MILLISECOND));
+        assertEquals(51.9897055, entry.position.getLatitude());
+        assertEquals(4.378739166666667, entry.position.getLongitude());
+        assertEquals(true, entry.sateliteFixStatus);
+        assertEquals(0.011, entry.speed);
+                        
+        
+        /* Checksum check, should fail */
+        boolean result = entry.process("$GPRMC,080756.00,A,5159.38233,N,00422.72435,E,0.011,,120308,,,A*75");
+        assertEquals(false, result);      
+    }
+}
Index: /liacs/se/cns_arch_draft.graffle
===================================================================
--- /liacs/se/cns_arch_draft.graffle	(revision 2)
+++ /liacs/se/cns_arch_draft.graffle	(revision 2)
@@ -0,0 +1,1231 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CreationDate</key>
+	<string>2008-02-26 19:09:27 +0100</string>
+	<key>Creator</key>
+	<string>Hugo Meiland</string>
+	<key>GraphDocumentVersion</key>
+	<integer>5</integer>
+	<key>GuidesLocked</key>
+	<string>NO</string>
+	<key>GuidesVisible</key>
+	<string>YES</string>
+	<key>ImageCounter</key>
+	<integer>1</integer>
+	<key>LinksVisible</key>
+	<string>NO</string>
+	<key>MagnetsVisible</key>
+	<string>NO</string>
+	<key>MasterSheets</key>
+	<array>
+		<dict>
+			<key>ActiveLayerIndex</key>
+			<integer>0</integer>
+			<key>AutoAdjust</key>
+			<true/>
+			<key>CanvasColor</key>
+			<dict>
+				<key>w</key>
+				<string>1</string>
+			</dict>
+			<key>CanvasOrigin</key>
+			<string>{0, 0}</string>
+			<key>CanvasScale</key>
+			<real>1</real>
+			<key>ColumnAlign</key>
+			<integer>1</integer>
+			<key>ColumnSpacing</key>
+			<real>36</real>
+			<key>DisplayScale</key>
+			<string>1 cm = 1 cm</string>
+			<key>GraphicsList</key>
+			<array/>
+			<key>GridInfo</key>
+			<dict/>
+			<key>HPages</key>
+			<integer>1</integer>
+			<key>IsPalette</key>
+			<string>NO</string>
+			<key>KeepToScale</key>
+			<false/>
+			<key>Layers</key>
+			<array>
+				<dict>
+					<key>Lock</key>
+					<string>NO</string>
+					<key>Name</key>
+					<string>Layer 1</string>
+					<key>Print</key>
+					<string>YES</string>
+					<key>View</key>
+					<string>YES</string>
+				</dict>
+			</array>
+			<key>LayoutInfo</key>
+			<dict/>
+			<key>Orientation</key>
+			<integer>2</integer>
+			<key>OutlineStyle</key>
+			<string>Basic</string>
+			<key>RowAlign</key>
+			<integer>1</integer>
+			<key>RowSpacing</key>
+			<real>36</real>
+			<key>SheetTitle</key>
+			<string>Master 1</string>
+			<key>UniqueID</key>
+			<integer>1</integer>
+			<key>VPages</key>
+			<integer>1</integer>
+		</dict>
+	</array>
+	<key>ModificationDate</key>
+	<string>2008-03-17 00:38:14 +0100</string>
+	<key>Modifier</key>
+	<string>Hugo Meiland</string>
+	<key>NotesVisible</key>
+	<string>NO</string>
+	<key>OriginVisible</key>
+	<string>NO</string>
+	<key>PageBreaks</key>
+	<string>YES</string>
+	<key>PrintInfo</key>
+	<dict>
+		<key>NSBottomMargin</key>
+		<array>
+			<string>float</string>
+			<string>0</string>
+		</array>
+		<key>NSLeftMargin</key>
+		<array>
+			<string>float</string>
+			<string>0</string>
+		</array>
+		<key>NSPaperSize</key>
+		<array>
+			<string>size</string>
+			<string>{595, 842}</string>
+		</array>
+		<key>NSRightMargin</key>
+		<array>
+			<string>float</string>
+			<string>0</string>
+		</array>
+		<key>NSTopMargin</key>
+		<array>
+			<string>float</string>
+			<string>0</string>
+		</array>
+	</dict>
+	<key>ReadOnly</key>
+	<string>NO</string>
+	<key>Sheets</key>
+	<array>
+		<dict>
+			<key>ActiveLayerIndex</key>
+			<integer>0</integer>
+			<key>AutoAdjust</key>
+			<true/>
+			<key>CanvasColor</key>
+			<dict>
+				<key>w</key>
+				<string>1</string>
+			</dict>
+			<key>CanvasOrigin</key>
+			<string>{0, 0}</string>
+			<key>CanvasScale</key>
+			<real>1</real>
+			<key>ColumnAlign</key>
+			<integer>1</integer>
+			<key>ColumnSpacing</key>
+			<real>36</real>
+			<key>DisplayScale</key>
+			<string>1 cm = 1 cm</string>
+			<key>GraphicsList</key>
+			<array>
+				<dict>
+					<key>Bounds</key>
+					<string>{{146.33, 319}, {130, 14}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>FitText</key>
+					<string>YES</string>
+					<key>Flow</key>
+					<string>Resize</string>
+					<key>ID</key>
+					<integer>16</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+					</dict>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 hardware architecture:}</string>
+					</dict>
+					<key>Wrap</key>
+					<string>NO</string>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{146.33, 464}, {66.32, 35}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>15</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 removable\
+storage}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{361.33, 464}, {53.66, 35}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>14</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 input\
+button}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{361.33, 417}, {53.66, 35}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>13</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 input\
+screen}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{146.33, 417}, {66.32, 35}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>12</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 fixed\
+storage}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{361.33, 381}, {53.66, 24}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>11</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 audio}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{361.33, 345}, {53.66, 24}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>10</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 display}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{146.33, 381}, {66.32, 24}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>9</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 RDS}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{148.33, 345}, {64.32, 24}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>8</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 GPS}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{249.99, 351.16}, {74, 146}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>7</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 processing}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{152.66, 52}, {118, 14}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>FitText</key>
+					<string>YES</string>
+					<key>Flow</key>
+					<string>Resize</string>
+					<key>ID</key>
+					<integer>6</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>fill</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+					</dict>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 system architecture:}</string>
+					</dict>
+					<key>Wrap</key>
+					<string>NO</string>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{152.66, 75}, {256, 51}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>5</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 software}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{334.66, 126}, {74, 54}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>4</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 data\
+storage}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{260.66, 126}, {74, 54}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>3</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 user\
+interface}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{152.66, 126}, {108, 54}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>2</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 radio\
+communication}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{152.66, 180}, {256, 51}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>1</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 hardware}</string>
+					</dict>
+				</dict>
+			</array>
+			<key>GridInfo</key>
+			<dict/>
+			<key>HPages</key>
+			<integer>1</integer>
+			<key>IsPalette</key>
+			<string>NO</string>
+			<key>KeepToScale</key>
+			<false/>
+			<key>Layers</key>
+			<array>
+				<dict>
+					<key>Lock</key>
+					<string>NO</string>
+					<key>Name</key>
+					<string>Layer 1</string>
+					<key>Print</key>
+					<string>YES</string>
+					<key>View</key>
+					<string>YES</string>
+				</dict>
+			</array>
+			<key>LayoutInfo</key>
+			<dict/>
+			<key>MasterSheet</key>
+			<string>Master 1</string>
+			<key>Orientation</key>
+			<integer>2</integer>
+			<key>OutlineStyle</key>
+			<string>Basic</string>
+			<key>RowAlign</key>
+			<integer>1</integer>
+			<key>RowSpacing</key>
+			<real>36</real>
+			<key>SheetTitle</key>
+			<string>Canvas 1</string>
+			<key>UniqueID</key>
+			<integer>1</integer>
+			<key>VPages</key>
+			<integer>1</integer>
+		</dict>
+		<dict>
+			<key>ActiveLayerIndex</key>
+			<integer>0</integer>
+			<key>AutoAdjust</key>
+			<true/>
+			<key>CanvasColor</key>
+			<dict>
+				<key>w</key>
+				<string>1</string>
+			</dict>
+			<key>CanvasOrigin</key>
+			<string>{0, 0}</string>
+			<key>CanvasScale</key>
+			<real>1</real>
+			<key>ColumnAlign</key>
+			<integer>1</integer>
+			<key>ColumnSpacing</key>
+			<real>36</real>
+			<key>DisplayScale</key>
+			<string>1 cm = 1 cm</string>
+			<key>GraphicsList</key>
+			<array>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>Head</key>
+					<dict>
+						<key>ID</key>
+						<integer>1</integer>
+					</dict>
+					<key>ID</key>
+					<integer>32</integer>
+					<key>Points</key>
+					<array>
+						<string>{321.029, 454.515}</string>
+						<string>{300.283, 370.485}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>LineType</key>
+							<integer>1</integer>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>29</integer>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>Head</key>
+					<dict>
+						<key>ID</key>
+						<integer>1</integer>
+					</dict>
+					<key>ID</key>
+					<integer>31</integer>
+					<key>Points</key>
+					<array>
+						<string>{240.291, 454.515}</string>
+						<string>{261.036, 370.485}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>LineType</key>
+							<integer>1</integer>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>28</integer>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{288.66, 455}, {75.84, 44}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>29</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 map data}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{196.82, 455}, {75.84, 44}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>28</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 address data}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{285.433, 159.354}, {52, 14}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>FitText</key>
+					<string>YES</string>
+					<key>FontInfo</key>
+					<dict>
+						<key>Color</key>
+						<dict>
+							<key>w</key>
+							<string>0</string>
+						</dict>
+						<key>Font</key>
+						<string>Helvetica</string>
+						<key>Size</key>
+						<real>12</real>
+					</dict>
+					<key>ID</key>
+					<integer>27</integer>
+					<key>Line</key>
+					<dict>
+						<key>ID</key>
+						<integer>17</integer>
+						<key>Position</key>
+						<real>0.46255755424499512</real>
+						<key>RotationType</key>
+						<integer>0</integer>
+					</dict>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+					</dict>
+					<key>Text</key>
+					<dict>
+						<key>Align</key>
+						<integer>0</integer>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural
+
+\f0\fs24 \cf0 viaTMC}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{229.777, 160.932}, {41, 14}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>FitText</key>
+					<string>YES</string>
+					<key>FontInfo</key>
+					<dict>
+						<key>Color</key>
+						<dict>
+							<key>w</key>
+							<string>0</string>
+						</dict>
+						<key>Font</key>
+						<string>Helvetica</string>
+						<key>Size</key>
+						<real>12</real>
+					</dict>
+					<key>ID</key>
+					<integer>26</integer>
+					<key>Line</key>
+					<dict>
+						<key>ID</key>
+						<integer>16</integer>
+						<key>Position</key>
+						<real>0.48133611679077148</real>
+						<key>RotationType</key>
+						<integer>0</integer>
+					</dict>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Style</key>
+					<dict>
+						<key>shadow</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+						<key>stroke</key>
+						<dict>
+							<key>Draws</key>
+							<string>NO</string>
+						</dict>
+					</dict>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 nmea}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>Head</key>
+					<dict>
+						<key>ID</key>
+						<integer>22</integer>
+					</dict>
+					<key>ID</key>
+					<integer>25</integer>
+					<key>Points</key>
+					<array>
+						<string>{375.561, 317.899}</string>
+						<string>{443.359, 337.116}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>LineType</key>
+							<integer>1</integer>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>1</integer>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>Head</key>
+					<dict>
+						<key>ID</key>
+						<integer>21</integer>
+					</dict>
+					<key>ID</key>
+					<integer>24</integer>
+					<key>Points</key>
+					<array>
+						<string>{375.58, 291}</string>
+						<string>{443.34, 291}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>LineType</key>
+							<integer>1</integer>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>1</integer>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>Head</key>
+					<dict>
+						<key>ID</key>
+						<integer>20</integer>
+					</dict>
+					<key>ID</key>
+					<integer>23</integer>
+					<key>Points</key>
+					<array>
+						<string>{375.564, 266.46}</string>
+						<string>{443.356, 248.93}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>LineType</key>
+							<integer>1</integer>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>1</integer>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{443.84, 326}, {75.84, 44}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>22</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 output to storage}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{443.84, 269}, {75.84, 44}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>21</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 output to sound}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{443.84, 217}, {75.84, 44}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>20</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 output to screen}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>Head</key>
+					<dict>
+						<key>ID</key>
+						<integer>1</integer>
+					</dict>
+					<key>ID</key>
+					<integer>19</integer>
+					<key>Points</key>
+					<array>
+						<string>{117.98, 291}</string>
+						<string>{185.74, 291}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>LineType</key>
+							<integer>1</integer>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>18</integer>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{41.6399, 269}, {75.84, 44}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>18</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Input from user}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>Head</key>
+					<dict>
+						<key>ID</key>
+						<integer>1</integer>
+					</dict>
+					<key>ID</key>
+					<integer>17</integer>
+					<key>Points</key>
+					<array>
+						<string>{321.029, 127.485}</string>
+						<string>{300.283, 211.515}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>LineType</key>
+							<integer>1</integer>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>3</integer>
+					</dict>
+				</dict>
+				<dict>
+					<key>Class</key>
+					<string>LineGraphic</string>
+					<key>Head</key>
+					<dict>
+						<key>ID</key>
+						<integer>1</integer>
+					</dict>
+					<key>ID</key>
+					<integer>16</integer>
+					<key>Points</key>
+					<array>
+						<string>{240.291, 127.485}</string>
+						<string>{261.036, 211.515}</string>
+					</array>
+					<key>Style</key>
+					<dict>
+						<key>stroke</key>
+						<dict>
+							<key>HeadArrow</key>
+							<string>FilledArrow</string>
+							<key>LineType</key>
+							<integer>1</integer>
+							<key>TailArrow</key>
+							<string>0</string>
+						</dict>
+					</dict>
+					<key>Tail</key>
+					<dict>
+						<key>ID</key>
+						<integer>2</integer>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{288.66, 83}, {75.84, 44}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>3</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Input from RDS}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{196.82, 83}, {75.84, 44}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>2</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Input from GPS}</string>
+					</dict>
+				</dict>
+				<dict>
+					<key>Bounds</key>
+					<string>{{186.24, 212}, {188.84, 158}}</string>
+					<key>Class</key>
+					<string>ShapedGraphic</string>
+					<key>ID</key>
+					<integer>1</integer>
+					<key>Shape</key>
+					<string>Rectangle</string>
+					<key>Text</key>
+					<dict>
+						<key>Align</key>
+						<integer>0</integer>
+						<key>Text</key>
+						<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf440
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
+
+\f0\fs24 \cf0 if (destination given) \{\
+  if (on route to destination) \{\
+    if (no events on route) \{\
+      sleep 10;\
+    \} else \{\
+      if (event &gt; re-route) \{\
+        recalculate();\
+      \} // if evente &gt; re-route\
+    \} // if no events\
+  \} else \{ recalculate(); \}\
+\} else \{ show_map(); )\
+}</string>
+					</dict>
+					<key>TextPlacement</key>
+					<integer>0</integer>
+				</dict>
+			</array>
+			<key>GridInfo</key>
+			<dict/>
+			<key>HPages</key>
+			<integer>1</integer>
+			<key>IsPalette</key>
+			<string>NO</string>
+			<key>KeepToScale</key>
+			<false/>
+			<key>Layers</key>
+			<array>
+				<dict>
+					<key>Lock</key>
+					<string>NO</string>
+					<key>Name</key>
+					<string>Layer 1</string>
+					<key>Print</key>
+					<string>YES</string>
+					<key>View</key>
+					<string>YES</string>
+				</dict>
+			</array>
+			<key>LayoutInfo</key>
+			<dict/>
+			<key>MasterSheet</key>
+			<string>Master 1</string>
+			<key>Orientation</key>
+			<integer>2</integer>
+			<key>OutlineStyle</key>
+			<string>Basic</string>
+			<key>RowAlign</key>
+			<integer>1</integer>
+			<key>RowSpacing</key>
+			<real>36</real>
+			<key>SheetTitle</key>
+			<string>Canvas 2</string>
+			<key>UniqueID</key>
+			<integer>2</integer>
+			<key>VPages</key>
+			<integer>1</integer>
+		</dict>
+	</array>
+	<key>SmartAlignmentGuidesActive</key>
+	<string>YES</string>
+	<key>SmartDistanceGuidesActive</key>
+	<string>YES</string>
+	<key>UseEntirePage</key>
+	<true/>
+	<key>WindowInfo</key>
+	<dict>
+		<key>CurrentSheet</key>
+		<string>1</string>
+		<key>DrawerOpen</key>
+		<false/>
+		<key>DrawerTab</key>
+		<string>Outline</string>
+		<key>DrawerWidth</key>
+		<real>209</real>
+		<key>FitInWindow</key>
+		<false/>
+		<key>Frame</key>
+		<string>{{113, 4}, {577, 742}}</string>
+		<key>ShowRuler</key>
+		<false/>
+		<key>ShowStatusBar</key>
+		<true/>
+		<key>VisibleRegion</key>
+		<string>{{0, 0}, {562, 628}}</string>
+		<key>Zoom</key>
+		<string>1</string>
+	</dict>
+</dict>
+</plist>
Index: /liacs/se/gps-data/101/characteroutput-20080312-090741.txt
===================================================================
--- /liacs/se/gps-data/101/characteroutput-20080312-090741.txt	(revision 2)
+++ /liacs/se/gps-data/101/characteroutput-20080312-090741.txt	(revision 2)
@@ -0,0 +1,11538 @@
+$GPRMC,080756.00,A,5159.38233,N,00422.72435,E,0.011,,120308,,,A*76
+$GPRMC,080757.00,A,5159.38231,N,00422.72438,E,0.018,,120308,,,A*71
+$GPRMC,080758.00,A,5159.38230,N,00422.72442,E,0.010,,120308,,,A*7A
+$GPRMC,080759.00,A,5159.38227,N,00422.72447,E,0.012,,120308,,,A*7A
+$GPRMC,080800.00,A,5159.38227,N,00422.72450,E,0.011,,120308,,,A*7C
+$GPRMC,080801.00,A,5159.38223,N,00422.72452,E,0.026,301.31,120308,,,A*61
+$GPRMC,080802.00,A,5159.38220,N,00422.72452,E,0.006,,120308,,,A*7D
+$GPRMC,080803.00,A,5159.38217,N,00422.72451,E,0.014,,120308,,,A*78
+$GPRMC,080804.00,A,5159.38213,N,00422.72452,E,0.014,,120308,,,A*78
+$GPRMC,080805.00,A,5159.38211,N,00422.72454,E,0.029,304.01,120308,,,A*6B
+$GPRMC,080806.00,A,5159.38210,N,00422.72455,E,0.005,,120308,,,A*7E
+$GPRMC,080807.00,A,5159.38206,N,00422.72457,E,0.030,306.34,120308,,,A*60
+$GPRMC,080808.00,A,5159.38203,N,00422.72461,E,0.012,,120308,,,A*73
+$GPRMC,080809.00,A,5159.38199,N,00422.72466,E,0.020,309.04,120308,,,A*64
+$GPRMC,080810.00,A,5159.38194,N,00422.72469,E,0.044,311.04,120308,,,A*65
+$GPRMC,080811.00,A,5159.38191,N,00422.72472,E,0.021,307.37,120308,,,A*6F
+$GPRMC,080812.00,A,5159.38189,N,00422.72474,E,0.039,304.00,120308,,,A*6D
+$GPRMC,080813.00,A,5159.38188,N,00422.72475,E,0.010,,120308,,,A*7E
+$GPRMC,080814.00,A,5159.38187,N,00422.72476,E,0.015,,120308,,,A*70
+$GPRMC,080815.00,A,5159.38187,N,00422.72475,E,0.017,,120308,,,A*70
+$GPRMC,080816.00,A,5159.38184,N,00422.72475,E,0.026,306.54,120308,,,A*68
+$GPRMC,080817.00,A,5159.38181,N,00422.72475,E,0.012,,120308,,,A*71
+$GPRMC,080818.00,A,5159.38178,N,00422.72475,E,0.009,,120308,,,A*72
+$GPRMC,080819.00,A,5159.38174,N,00422.72477,E,0.022,301.47,120308,,,A*6B
+$GPRMC,080820.00,A,5159.38169,N,00422.72478,E,0.009,,120308,,,A*74
+$GPRMC,080821.00,A,5159.38166,N,00422.72480,E,0.038,303.41,120308,,,A*64
+$GPRMC,080822.00,A,5159.38165,N,00422.72485,E,0.030,306.36,120308,,,A*6C
+$GPRMC,080823.00,A,5159.38163,N,00422.72491,E,0.018,,120308,,,A*7A
+$GPRMC,080824.00,A,5159.38162,N,00422.72496,E,0.012,,120308,,,A*71
+$GPRMC,080825.00,A,5159.38159,N,00422.72500,E,0.026,303.05,120308,,,A*6A
+$GPRMC,080826.00,A,5159.38153,N,00422.72503,E,0.012,,120308,,,A*7C
+$GPRMC,080827.00,A,5159.38146,N,00422.72508,E,0.006,,120308,,,A*77
+$GPRMC,080828.00,A,5159.38139,N,00422.72512,E,0.005,,120308,,,A*78
+$GPRMC,080829.00,A,5159.38134,N,00422.72514,E,0.026,305.54,120308,,,A*6A
+$GPRMC,080830.00,A,5159.38132,N,00422.72516,E,0.006,,120308,,,A*7D
+$GPRMC,080831.00,A,5159.38131,N,00422.72517,E,0.003,,120308,,,A*7B
+$GPRMC,080832.00,A,5159.38128,N,00422.72520,E,0.011,,120308,,,A*77
+$GPRMC,080833.00,A,5159.38128,N,00422.72524,E,0.004,,120308,,,A*76
+$GPRMC,080834.00,A,5159.38126,N,00422.72529,E,0.013,,120308,,,A*74
+$GPRMC,080835.00,A,5159.38125,N,00422.72537,E,0.010,,120308,,,A*7A
+$GPRMC,080836.00,A,5159.38124,N,00422.72541,E,0.013,,120308,,,A*7A
+$GPRMC,080837.00,A,5159.38128,N,00422.72543,E,0.024,308.93,120308,,,A*6E
+$GPRMC,080838.00,A,5159.38131,N,00422.72546,E,0.007,,120308,,,A*72
+$GPRMC,080839.00,A,5159.38135,N,00422.72548,E,0.030,305.70,120308,,,A*62
+$GPRMC,080840.00,A,5159.38137,N,00422.72548,E,0.026,302.85,120308,,,A*64
+$GPRMC,080841.00,A,5159.38146,N,00422.72542,E,0.032,299.54,120308,,,A*63
+$GPRMC,080842.00,A,5159.38155,N,00422.72538,E,0.021,303.47,120308,,,A*6D
+$GPRMC,080843.00,A,5159.38163,N,00422.72534,E,0.014,,120308,,,A*7E
+$GPRMC,080844.00,A,5159.38170,N,00422.72531,E,0.011,,120308,,,A*7B
+$GPRMC,080845.00,A,5159.38179,N,00422.72528,E,0.010,,120308,,,A*7A
+$GPRMC,080846.00,A,5159.38187,N,00422.72523,E,0.026,306.81,120308,,,A*64
+$GPRMC,080847.00,A,5159.38194,N,00422.72520,E,0.017,,120308,,,A*74
+$GPRMC,080848.00,A,5159.38199,N,00422.72517,E,0.017,,120308,,,A*72
+$GPRMC,080849.00,A,5159.38205,N,00422.72512,E,0.009,,120308,,,A*7F
+$GPRMC,080850.00,A,5159.38210,N,00422.72508,E,0.018,,120308,,,A*78
+$GPRMC,080851.00,A,5159.38215,N,00422.72505,E,0.017,,120308,,,A*7E
+$GPRMC,080852.00,A,5159.38222,N,00422.72503,E,0.029,303.38,120308,,,A*67
+$GPRMC,080853.00,A,5159.38226,N,00422.72501,E,0.012,,120308,,,A*7D
+$GPRMC,080854.00,A,5159.38230,N,00422.72498,E,0.014,,120308,,,A*7A
+$GPRMC,080841.00,A,5159.38236,N,00422.72499,E,0.033,305.44,120308,,,A*64
+$GPRMC,080842.00,A,5159.38237,N,00422.72503,E,0.027,308.96,120308,,,A*63
+$GPRMC,080843.00,A,5159.38238,N,00422.72505,E,0.040,305.21,120308,,,A*6B
+$GPRMC,080844.00,A,5159.38239,N,00422.72508,E,0.014,,120308,,,A*7A
+$GPRMC,080845.00,A,5159.38242,N,00422.72509,E,0.027,306.78,120308,,,A*62
+$GPRMC,080846.00,A,5159.38244,N,00422.72513,E,0.025,303.40,120308,,,A*60
+$GPRMC,080847.00,A,5159.38248,N,00422.72517,E,0.027,304.98,120308,,,A*69
+$GPRMC,080848.00,A,5159.38253,N,00422.72521,E,0.007,,120308,,,A*73
+$GPRMC,080849.00,A,5159.38258,N,00422.72526,E,0.011,,120308,,,A*79
+$GPRMC,080850.00,A,5159.38262,N,00422.72530,E,0.019,,120308,,,A*77
+$GPRMC,080851.00,A,5159.38265,N,00422.72534,E,0.004,,120308,,,A*79
+$GPRMC,080852.00,A,5159.38267,N,00422.72536,E,0.014,,120308,,,A*7B
+$GPRMC,080853.00,A,5159.38270,N,00422.72539,E,0.065,307.70,120308,,,A*68
+$GPRMC,080854.00,A,5159.38272,N,00422.72541,E,0.048,309.67,120308,,,A*65
+$GPRMC,080855.00,A,5159.38273,N,00422.72542,E,0.012,,120308,,,A*7C
+$GPRMC,080856.00,A,5159.38275,N,00422.72541,E,0.054,312.03,120308,,,A*65
+$GPRMC,080857.00,A,5159.38277,N,00422.72540,E,0.047,314.11,120308,,,A*60
+$GPRMC,080858.00,A,5159.38277,N,00422.72539,E,0.013,,120308,,,A*78
+$GPRMC,080859.00,A,5159.38277,N,00422.72541,E,0.075,316.00,120308,,,A*6C
+$GPRMC,080900.00,A,5159.38277,N,00422.72542,E,0.086,317.48,120308,,,A*63
+$GPRMC,080901.00,A,5159.38277,N,00422.72541,E,0.018,,120308,,,A*71
+$GPRMC,080902.00,A,5159.38278,N,00422.72541,E,0.016,,120308,,,A*73
+$GPRMC,080903.00,A,5159.38276,N,00422.72537,E,0.014,,120308,,,A*7F
+$GPRMC,080904.00,A,5159.38275,N,00422.72540,E,0.009,,120308,,,A*77
+$GPRMC,080905.00,A,5159.38276,N,00422.72540,E,0.037,318.63,120308,,,A*69
+$GPRMC,080906.00,A,5159.38278,N,00422.72540,E,0.008,,120308,,,A*79
+$GPRMC,080907.00,A,5159.38279,N,00422.72540,E,0.010,,120308,,,A*70
+$GPRMC,080908.00,A,5159.38280,N,00422.72541,E,0.016,,120308,,,A*7E
+$GPRMC,080909.00,A,5159.38280,N,00422.72540,E,0.050,320.53,120308,,,A*65
+$GPRMC,080910.00,A,5159.38279,N,00422.72540,E,0.034,322.76,120308,,,A*6C
+$GPRMC,080911.00,A,5159.38278,N,00422.72539,E,0.007,,120308,,,A*7E
+$GPRMC,080912.00,A,5159.38279,N,00422.72532,E,0.020,323.73,120308,,,A*6A
+$GPRMC,080913.00,A,5159.38277,N,00422.72532,E,0.012,,120308,,,A*7C
+$GPRMC,080914.00,A,5159.38276,N,00422.72534,E,0.027,319.88,120308,,,A*6F
+$GPRMC,080915.00,A,5159.38277,N,00422.72532,E,0.013,,120308,,,A*7B
+$GPRMC,080916.00,A,5159.38276,N,00422.72532,E,0.014,,120308,,,A*7E
+$GPRMC,080917.00,A,5159.38273,N,00422.72533,E,0.026,321.73,120308,,,A*60
+$GPRMC,080918.00,A,5159.38271,N,00422.72534,E,0.008,,120308,,,A*7C
+$GPRMC,080919.00,A,5159.38269,N,00422.72536,E,0.011,,120308,,,A*7E
+$GPRMC,080920.00,A,5159.38266,N,00422.72535,E,0.018,,120308,,,A*71
+$GPRMC,080921.00,A,5159.38263,N,00422.72535,E,0.039,323.80,120308,,,A*62
+$GPRMC,080922.00,A,5159.38261,N,00422.72534,E,0.016,,120308,,,A*7B
+$GPRMC,080923.00,A,5159.38263,N,00422.72537,E,0.029,320.35,120308,,,A*6E
+$GPRMC,080924.00,A,5159.38262,N,00422.72539,E,0.032,323.08,120308,,,A*61
+$GPRMC,080925.00,A,5159.38262,N,00422.72539,E,0.017,,120308,,,A*73
+$GPRMC,080926.00,A,5159.38263,N,00422.72540,E,0.014,,120308,,,A*7C
+$GPRMC,080927.00,A,5159.38263,N,00422.72540,E,0.038,319.00,120308,,,A*66
+$GPRMC,080928.00,A,5159.38266,N,00422.72541,E,0.025,317.74,120308,,,A*6C
+$GPRMC,080929.00,A,5159.38268,N,00422.72542,E,0.026,320.78,120308,,,A*6B
+$GPRMC,080930.00,A,5159.38272,N,00422.72539,E,0.014,,120308,,,A*75
+$GPRMC,080931.00,A,5159.38277,N,00422.72540,E,0.024,324.52,120308,,,A*60
+$GPRMC,080932.00,A,5159.38283,N,00422.72540,E,0.014,,120308,,,A*77
+$GPRMC,080933.00,A,5159.38289,N,00422.72542,E,0.010,,120308,,,A*7A
+$GPRMC,080934.00,A,5159.38298,N,00422.72540,E,0.031,320.55,120308,,,A*63
+$GPRMC,080935.00,A,5159.38303,N,00422.72542,E,0.058,316.67,120308,,,A*68
+$GPRMC,080936.00,A,5159.38307,N,00422.72543,E,0.087,318.56,120308,,,A*60
+$GPRMC,080937.00,A,5159.38312,N,00422.72545,E,0.022,320.84,120308,,,A*68
+$GPRMC,080938.00,A,5159.38316,N,00422.72548,E,0.032,322.69,120308,,,A*6E
+$GPRMC,080939.00,A,5159.38319,N,00422.72550,E,0.016,,120308,,,A*7D
+$GPRMC,080940.00,A,5159.38322,N,00422.72551,E,0.012,,120308,,,A*7E
+$GPRMC,080941.00,A,5159.38325,N,00422.72551,E,0.041,318.70,120308,,,A*6D
+$GPRMC,080942.00,A,5159.38328,N,00422.72552,E,0.017,,120308,,,A*70
+$GPRMC,080943.00,A,5159.38331,N,00422.72553,E,0.008,,120308,,,A*76
+$GPRMC,080944.00,A,5159.38333,N,00422.72553,E,0.013,,120308,,,A*79
+$GPRMC,080945.00,A,5159.38336,N,00422.72553,E,0.012,,120308,,,A*7C
+$GPRMC,080946.00,A,5159.38340,N,00422.72555,E,0.078,319.91,120308,,,A*69
+$GPRMC,080947.00,A,5159.38346,N,00422.72556,E,0.029,321.63,120308,,,A*6F
+$GPRMC,080948.00,A,5159.38345,N,00422.72551,E,0.059,317.86,120308,,,A*6D
+$GPRMC,080949.00,A,5159.38345,N,00422.72550,E,0.290,309.10,120308,,,A*6A
+$GPRMC,080950.00,A,5159.38345,N,00422.72550,E,0.128,305.47,120308,,,A*6C
+$GPRMC,080951.00,A,5159.38343,N,00422.72550,E,0.080,302.04,120308,,,A*68
+$GPRMC,080952.00,A,5159.38342,N,00422.72551,E,0.072,299.12,120308,,,A*62
+$GPRMC,080953.00,A,5159.38342,N,00422.72550,E,0.020,297.97,120308,,,A*66
+$GPRMC,080954.00,A,5159.38345,N,00422.72551,E,0.077,299.69,120308,,,A*6A
+$GPRMC,080955.00,A,5159.38334,N,00422.72558,E,0.097,295.15,120308,,,A*6D
+$GPRMC,080956.00,A,5159.38325,N,00422.72570,E,0.081,298.94,120308,,,A*67
+$GPRMC,080957.00,A,5159.38328,N,00422.72609,E,1.131,306.54,120308,,,A*67
+$GPRMC,080958.00,A,5159.38312,N,00422.72641,E,0.692,297.87,120308,,,A*65
+$GPRMC,080959.00,A,5159.38321,N,00422.72616,E,0.569,297.14,120308,,,A*6B
+$GPRMC,081000.00,A,5159.38309,N,00422.72619,E,0.658,288.05,120308,,,A*65
+$GPRMC,081001.00,A,5159.38333,N,00422.72617,E,0.591,291.65,120308,,,A*6B
+$GPRMC,081002.00,A,5159.38374,N,00422.72606,E,0.547,297.64,120308,,,A*67
+$GPRMC,081003.00,A,5159.38390,N,00422.72598,E,0.243,302.52,120308,,,A*63
+$GPRMC,081004.00,A,5159.38471,N,00422.72649,E,1.587,306.80,120308,,,A*66
+$GPRMC,081005.00,A,5159.38521,N,00422.72647,E,1.651,311.27,120308,,,A*6E
+$GPRMC,081006.00,A,5159.38511,N,00422.72621,E,0.646,313.31,120308,,,A*6C
+$GPRMC,081007.00,A,5159.38488,N,00422.72619,E,0.441,322.90,120308,,,A*6B
+$GPRMC,081008.00,A,5159.38498,N,00422.72637,E,0.280,327.93,120308,,,A*64
+$GPRMC,081009.00,A,5159.38534,N,00422.72629,E,0.749,331.68,120308,,,A*6E
+$GPRMC,081010.00,A,5159.38504,N,00422.72593,E,0.140,336.12,120308,,,A*62
+$GPRMC,081011.00,A,5159.38574,N,00422.72641,E,1.414,333.79,120308,,,A*65
+$GPRMC,081012.00,A,5159.38553,N,00422.72524,E,1.524,332.85,120308,,,A*63
+$GPRMC,081013.00,A,5159.38546,N,00422.72530,E,0.092,332.96,120308,,,A*68
+$GPRMC,081014.00,A,5159.38550,N,00422.72513,E,0.071,332.51,120308,,,A*6F
+$GPRMC,081015.00,A,5159.38550,N,00422.72498,E,0.157,327.36,120308,,,A*6C
+$GPRMC,081016.00,A,5159.38553,N,00422.72487,E,0.006,,120308,,,A*7A
+$GPRMC,081017.00,A,5159.38571,N,00422.72482,E,0.019,,120308,,,A*70
+$GPRMC,081018.00,A,5159.38590,N,00422.72475,E,0.012,,120308,,,A*73
+$GPRMC,081019.00,A,5159.38597,N,00422.72472,E,0.031,330.30,120308,,,A*6E
+$GPRMC,081020.00,A,5159.38602,N,00422.72470,E,0.018,,120308,,,A*7F
+$GPRMC,081021.00,A,5159.38603,N,00422.72469,E,0.013,,120308,,,A*7C
+$GPRMC,081022.00,A,5159.38585,N,00422.72479,E,0.090,331.37,120308,,,A*63
+$GPRMC,081023.00,A,5159.38586,N,00422.72475,E,0.255,330.63,120308,,,A*66
+$GPRMC,081024.00,A,5159.38590,N,00422.72474,E,0.029,326.56,120308,,,A*6F
+$GPRMC,081025.00,A,5159.38587,N,00422.72476,E,0.012,,120308,,,A*78
+$GPRMC,081026.00,A,5159.38582,N,00422.72483,E,0.040,321.47,120308,,,A*6E
+$GPRMC,081027.00,A,5159.38546,N,00422.72501,E,0.119,322.80,120308,,,A*69
+$GPRMC,081028.00,A,5159.38519,N,00422.72508,E,0.117,324.42,120308,,,A*63
+$GPRMC,081029.00,A,5159.38508,N,00422.72514,E,0.042,326.94,120308,,,A*67
+$GPRMC,081030.00,A,5159.38490,N,00422.72526,E,0.008,,120308,,,A*74
+$GPRMC,081031.00,A,5159.38484,N,00422.72534,E,0.011,,120308,,,A*7B
+$GPRMC,081032.00,A,5159.38482,N,00422.72540,E,0.020,324.01,120308,,,A*65
+$GPRMC,081033.00,A,5159.38474,N,00422.72545,E,0.007,,120308,,,A*77
+$GPRMC,081034.00,A,5159.38474,N,00422.72547,E,0.006,,120308,,,A*73
+$GPRMC,081035.00,A,5159.38470,N,00422.72554,E,0.100,325.13,120308,,,A*6B
+$GPRMC,081036.00,A,5159.38465,N,00422.72560,E,0.024,327.28,120308,,,A*66
+$GPRMC,081037.00,A,5159.38463,N,00422.72561,E,0.005,,120308,,,A*71
+$GPRMC,081038.00,A,5159.38459,N,00422.72565,E,0.004,,120308,,,A*72
+$GPRMC,081039.00,A,5159.38459,N,00422.72564,E,0.032,324.44,120308,,,A*6C
+$GPRMC,081040.00,A,5159.38456,N,00422.72561,E,0.047,320.39,120308,,,A*64
+$GPRMC,081041.00,A,5159.38453,N,00422.72560,E,0.034,321.61,120308,,,A*69
+$GPRMC,081042.00,A,5159.38449,N,00422.72559,E,0.089,317.15,120308,,,A*6B
+$GPRMC,081043.00,A,5159.38445,N,00422.72557,E,0.018,,120308,,,A*7F
+$GPRMC,081044.00,A,5159.38442,N,00422.72554,E,0.043,313.25,120308,,,A*6A
+$GPRMC,081045.00,A,5159.38444,N,00422.72548,E,0.056,309.63,120308,,,A*6D
+$GPRMC,081046.00,A,5159.38445,N,00422.72540,E,0.051,305.93,120308,,,A*63
+$GPRMC,081047.00,A,5159.38448,N,00422.72532,E,0.043,302.40,120308,,,A*60
+$GPRMC,081048.00,A,5159.38452,N,00422.72524,E,0.008,,120308,,,A*77
+$GPRMC,081049.00,A,5159.38454,N,00422.72517,E,0.016,,120308,,,A*7F
+$GPRMC,081050.00,A,5159.38446,N,00422.72522,E,0.011,,120308,,,A*75
+$GPRMC,081051.00,A,5159.38444,N,00422.72522,E,0.027,305.77,120308,,,A*6B
+$GPRMC,081052.00,A,5159.38442,N,00422.72521,E,0.027,301.19,120308,,,A*61
+$GPRMC,081053.00,A,5159.38440,N,00422.72521,E,0.056,303.06,120308,,,A*68
+$GPRMC,081054.00,A,5159.38438,N,00422.72520,E,0.040,305.56,120308,,,A*65
+$GPRMC,081055.00,A,5159.38434,N,00422.72520,E,0.008,,120308,,,A*7F
+$GPRMC,081056.00,A,5159.38432,N,00422.72522,E,0.002,,120308,,,A*72
+$GPRMC,081057.00,A,5159.38431,N,00422.72521,E,0.019,,120308,,,A*79
+$GPRMC,081058.00,A,5159.38432,N,00422.72523,E,0.030,307.04,120308,,,A*62
+$GPRMC,081059.00,A,5159.38433,N,00422.72528,E,0.016,,120308,,,A*73
+$GPRMC,081100.00,A,5159.38432,N,00422.72533,E,0.014,,120308,,,A*77
+$GPRMC,081101.00,A,5159.38431,N,00422.72544,E,0.010,,120308,,,A*71
+$GPRMC,081102.00,A,5159.38429,N,00422.72557,E,0.014,,120308,,,A*7D
+$GPRMC,081103.00,A,5159.38428,N,00422.72570,E,0.019,,120308,,,A*75
+$GPRMC,081104.00,A,5159.38427,N,00422.72580,E,0.027,309.28,120308,,,A*61
+$GPRMC,081105.00,A,5159.38426,N,00422.72587,E,0.021,310.72,120308,,,A*67
+$GPRMC,081106.00,A,5159.38425,N,00422.72594,E,0.010,,120308,,,A*7E
+$GPRMC,081107.00,A,5159.38423,N,00422.72603,E,0.029,306.93,120308,,,A*6F
+$GPRMC,081108.00,A,5159.38421,N,00422.72608,E,0.015,,120308,,,A*77
+$GPRMC,081109.00,A,5159.38420,N,00422.72614,E,0.028,304.87,120308,,,A*62
+$GPRMC,081110.00,A,5159.38419,N,00422.72617,E,0.033,301.72,120308,,,A*66
+$GPRMC,081111.00,A,5159.38419,N,00422.72620,E,0.008,,120308,,,A*72
+$GPRMC,081112.00,A,5159.38418,N,00422.72623,E,0.019,,120308,,,A*73
+$GPRMC,081113.00,A,5159.38416,N,00422.72625,E,0.047,303.96,120308,,,A*60
+$GPRMC,081114.00,A,5159.38413,N,00422.72631,E,0.009,,120308,,,A*7C
+$GPRMC,081115.00,A,5159.38411,N,00422.72636,E,0.014,,120308,,,A*74
+$GPRMC,081116.00,A,5159.38411,N,00422.72641,E,0.018,,120308,,,A*7B
+$GPRMC,081117.00,A,5159.38411,N,00422.72646,E,0.012,,120308,,,A*77
+$GPRMC,081118.00,A,5159.38410,N,00422.72648,E,0.021,306.81,120308,,,A*65
+$GPRMC,081119.00,A,5159.38408,N,00422.72658,E,0.029,302.74,120308,,,A*6A
+$GPRMC,081120.00,A,5159.38405,N,00422.72665,E,0.019,,120308,,,A*7C
+$GPRMC,081121.00,A,5159.38403,N,00422.72674,E,0.016,,120308,,,A*74
+$GPRMC,081122.00,A,5159.38401,N,00422.72682,E,0.014,,120308,,,A*7E
+$GPRMC,081123.00,A,5159.38400,N,00422.72691,E,0.025,297.28,120308,,,A*66
+$GPRMC,081124.00,A,5159.38401,N,00422.72696,E,0.029,295.72,120308,,,A*66
+$GPRMC,081125.00,A,5159.38401,N,00422.72701,E,0.005,,120308,,,A*73
+$GPRMC,081126.00,A,5159.38400,N,00422.72705,E,0.026,292.08,120308,,,A*6B
+$GPRMC,081127.00,A,5159.38400,N,00422.72710,E,0.021,294.19,120308,,,A*6F
+$GPRMC,081128.00,A,5159.38401,N,00422.72714,E,0.006,,120308,,,A*79
+$GPRMC,081129.00,A,5159.38403,N,00422.72715,E,0.013,,120308,,,A*7F
+$GPRMC,081130.00,A,5159.38405,N,00422.72716,E,0.003,,120308,,,A*73
+$GPRMC,081131.00,A,5159.38407,N,00422.72719,E,0.016,,120308,,,A*7B
+$GPRMC,081132.00,A,5159.38409,N,00422.72721,E,0.007,,120308,,,A*7D
+$GPRMC,081133.00,A,5159.38410,N,00422.72721,E,0.006,,120308,,,A*75
+$GPRMC,081134.00,A,5159.38413,N,00422.72723,E,0.025,296.20,120308,,,A*63
+$GPRMC,081135.00,A,5159.38416,N,00422.72724,E,0.019,,120308,,,A*7E
+$GPRMC,081136.00,A,5159.38418,N,00422.72724,E,0.014,,120308,,,A*7E
+$GPRMC,081137.00,A,5159.38421,N,00422.72725,E,0.010,,120308,,,A*70
+$GPRMC,081138.00,A,5159.38424,N,00422.72727,E,0.011,,120308,,,A*79
+$GPRMC,081139.00,A,5159.38426,N,00422.72727,E,0.000,,120308,,,A*7A
+$GPRMC,081140.00,A,5159.38427,N,00422.72728,E,0.023,292.33,120308,,,A*6C
+$GPRMC,081141.00,A,5159.38429,N,00422.72729,E,0.003,,120308,,,A*77
+$GPRMC,081142.00,A,5159.38430,N,00422.72729,E,0.015,,120308,,,A*7B
+$GPRMC,081143.00,A,5159.38431,N,00422.72729,E,0.014,,120308,,,A*7A
+$GPRMC,081144.00,A,5159.38433,N,00422.72730,E,0.011,,120308,,,A*72
+$GPRMC,081145.00,A,5159.38434,N,00422.72731,E,0.004,,120308,,,A*71
+$GPRMC,081146.00,A,5159.38436,N,00422.72731,E,0.012,,120308,,,A*77
+$GPRMC,081147.00,A,5159.38438,N,00422.72733,E,0.016,,120308,,,A*7E
+$GPRMC,081148.00,A,5159.38439,N,00422.72733,E,0.016,,120308,,,A*70
+$GPRMC,081149.00,A,5159.38441,N,00422.72734,E,0.009,,120308,,,A*77
+$GPRMC,081150.00,A,5159.38441,N,00422.72735,E,0.011,,120308,,,A*77
+$GPRMC,081151.00,A,5159.38440,N,00422.72734,E,0.039,289.00,120308,,,A*61
+$GPRMC,081152.00,A,5159.38439,N,00422.72733,E,0.023,286.14,120308,,,A*6A
+$GPRMC,081153.00,A,5159.38437,N,00422.72732,E,0.019,,120308,,,A*7A
+$GPRMC,081154.00,A,5159.38435,N,00422.72731,E,0.017,,120308,,,A*72
+$GPRMC,081155.00,A,5159.38433,N,00422.72730,E,0.045,282.96,120308,,,A*6A
+$GPRMC,081156.00,A,5159.38429,N,00422.72731,E,0.017,,120308,,,A*7D
+$GPRMC,081157.00,A,5159.38427,N,00422.72732,E,0.009,,120308,,,A*7E
+$GPRMC,081158.00,A,5159.38425,N,00422.72734,E,0.009,,120308,,,A*75
+$GPRMC,081159.00,A,5159.38423,N,00422.72735,E,0.029,279.82,120308,,,A*69
+$GPRMC,081200.00,A,5159.38421,N,00422.72737,E,0.008,,120308,,,A*7D
+$GPRMC,081201.00,A,5159.38419,N,00422.72738,E,0.022,276.81,120308,,,A*64
+$GPRMC,081202.00,A,5159.38418,N,00422.72740,E,0.005,,120308,,,A*78
+$GPRMC,081203.00,A,5159.38416,N,00422.72742,E,0.030,272.95,120308,,,A*66
+$GPRMC,081204.00,A,5159.38415,N,00422.72744,E,0.023,270.09,120308,,,A*61
+$GPRMC,081205.00,A,5159.38417,N,00422.72748,E,0.094,266.63,120308,,,A*69
+$GPRMC,081206.00,A,5159.38415,N,00422.72750,E,0.005,,120308,,,A*70
+$GPRMC,081207.00,A,5159.38413,N,00422.72751,E,0.009,,120308,,,A*7A
+$GPRMC,081208.00,A,5159.38411,N,00422.72751,E,0.008,,120308,,,A*76
+$GPRMC,081209.00,A,5159.38411,N,00422.72752,E,0.003,,120308,,,A*7F
+$GPRMC,081210.00,A,5159.38411,N,00422.72753,E,0.012,,120308,,,A*76
+$GPRMC,081211.00,A,5159.38411,N,00422.72753,E,0.007,,120308,,,A*73
+$GPRMC,081212.00,A,5159.38410,N,00422.72754,E,0.013,,120308,,,A*73
+$GPRMC,081213.00,A,5159.38409,N,00422.72753,E,0.011,,120308,,,A*7F
+$GPRMC,081214.00,A,5159.38408,N,00422.72753,E,0.013,,120308,,,A*7B
+$GPRMC,081215.00,A,5159.38407,N,00422.72754,E,0.009,,120308,,,A*79
+$GPRMC,081216.00,A,5159.38406,N,00422.72754,E,0.007,,120308,,,A*75
+$GPRMC,081217.00,A,5159.38405,N,00422.72754,E,0.004,,120308,,,A*74
+$GPRMC,081218.00,A,5159.38406,N,00422.72754,E,0.020,271.96,120308,,,A*6B
+$GPRMC,081219.00,A,5159.38405,N,00422.72754,E,0.005,,120308,,,A*7B
+$GPRMC,081220.00,A,5159.38407,N,00422.72752,E,0.020,275.25,120308,,,A*6B
+$GPRMC,081221.00,A,5159.38408,N,00422.72752,E,0.020,272.39,120308,,,A*6F
+$GPRMC,081222.00,A,5159.38408,N,00422.72751,E,0.016,,120308,,,A*79
+$GPRMC,081223.00,A,5159.38409,N,00422.72750,E,0.008,,120308,,,A*77
+$GPRMC,081224.00,A,5159.38411,N,00422.72750,E,0.024,276.23,120308,,,A*6B
+$GPRMC,081225.00,A,5159.38411,N,00422.72750,E,0.025,272.33,120308,,,A*6E
+$GPRMC,081226.00,A,5159.38412,N,00422.72749,E,0.015,,120308,,,A*7C
+$GPRMC,081227.00,A,5159.38413,N,00422.72748,E,0.008,,120308,,,A*71
+$GPRMC,081228.00,A,5159.38414,N,00422.72748,E,0.004,,120308,,,A*75
+$GPRMC,081229.00,A,5159.38416,N,00422.72748,E,0.006,,120308,,,A*74
+$GPRMC,081230.00,A,5159.38417,N,00422.72748,E,0.012,,120308,,,A*78
+$GPRMC,081231.00,A,5159.38417,N,00422.72748,E,0.014,,120308,,,A*7F
+$GPRMC,081232.00,A,5159.38418,N,00422.72748,E,0.010,,120308,,,A*77
+$GPRMC,081233.00,A,5159.38419,N,00422.72748,E,0.006,,120308,,,A*70
+$GPRMC,081234.00,A,5159.38420,N,00422.72748,E,0.009,,120308,,,A*72
+$GPRMC,081235.00,A,5159.38422,N,00422.72749,E,0.025,268.75,120308,,,A*6E
+$GPRMC,081236.00,A,5159.38423,N,00422.72748,E,0.013,,120308,,,A*78
+$GPRMC,081237.00,A,5159.38425,N,00422.72748,E,0.011,,120308,,,A*7D
+$GPRMC,081238.00,A,5159.38427,N,00422.72747,E,0.014,,120308,,,A*7A
+$GPRMC,081239.00,A,5159.38428,N,00422.72747,E,0.021,266.89,120308,,,A*6F
+$GPRMC,081240.00,A,5159.38430,N,00422.72747,E,0.015,,120308,,,A*72
+$GPRMC,081241.00,A,5159.38432,N,00422.72749,E,0.001,,120308,,,A*7A
+$GPRMC,081242.00,A,5159.38433,N,00422.72750,E,0.003,,120308,,,A*72
+$GPRMC,081243.00,A,5159.38435,N,00422.72752,E,0.011,,120308,,,A*74
+$GPRMC,081244.00,A,5159.38436,N,00422.72754,E,0.018,,120308,,,A*7F
+$GPRMC,081245.00,A,5159.38438,N,00422.72756,E,0.005,,120308,,,A*7E
+$GPRMC,081246.00,A,5159.38439,N,00422.72757,E,0.015,,120308,,,A*7C
+$GPRMC,081247.00,A,5159.38439,N,00422.72757,E,0.014,,120308,,,A*7C
+$GPRMC,081248.00,A,5159.38439,N,00422.72758,E,0.009,,120308,,,A*70
+$GPRMC,081249.00,A,5159.38440,N,00422.72758,E,0.012,,120308,,,A*75
+$GPRMC,081250.00,A,5159.38440,N,00422.72759,E,0.016,,120308,,,A*78
+$GPRMC,081251.00,A,5159.38440,N,00422.72759,E,0.011,,120308,,,A*7E
+$GPRMC,081252.00,A,5159.38441,N,00422.72760,E,0.017,,120308,,,A*70
+$GPRMC,081253.00,A,5159.38442,N,00422.72762,E,0.012,,120308,,,A*75
+$GPRMC,081254.00,A,5159.38443,N,00422.72763,E,0.003,,120308,,,A*72
+$GPRMC,081255.00,A,5159.38446,N,00422.72765,E,0.023,270.10,120308,,,A*68
+$GPRMC,081256.00,A,5159.38448,N,00422.72768,E,0.010,,120308,,,A*72
+$GPRMC,081257.00,A,5159.38450,N,00422.72769,E,0.006,,120308,,,A*7C
+$GPRMC,081258.00,A,5159.38452,N,00422.72771,E,0.003,,120308,,,A*7D
+$GPRMC,081259.00,A,5159.38455,N,00422.72773,E,0.020,273.66,120308,,,A*60
+$GPRMC,081300.00,A,5159.38457,N,00422.72776,E,0.007,,120308,,,A*77
+$GPRMC,081301.00,A,5159.38458,N,00422.72778,E,0.003,,120308,,,A*73
+$GPRMC,081302.00,A,5159.38458,N,00422.72780,E,0.016,,120308,,,A*73
+$GPRMC,081303.00,A,5159.38460,N,00422.72782,E,0.012,,120308,,,A*7F
+$GPRMC,081304.00,A,5159.38462,N,00422.72783,E,0.015,,120308,,,A*7C
+$GPRMC,081305.00,A,5159.38465,N,00422.72786,E,0.051,270.20,120308,,,A*66
+$GPRMC,081306.00,A,5159.38466,N,00422.72788,E,0.037,273.64,120308,,,A*6B
+$GPRMC,081307.00,A,5159.38467,N,00422.72789,E,0.014,,120308,,,A*71
+$GPRMC,081308.00,A,5159.38468,N,00422.72791,E,0.012,,120308,,,A*7E
+$GPRMC,081309.00,A,5159.38468,N,00422.72793,E,0.006,,120308,,,A*78
+$GPRMC,081310.00,A,5159.38468,N,00422.72794,E,0.004,,120308,,,A*75
+$GPRMC,081311.00,A,5159.38469,N,00422.72796,E,0.025,277.20,120308,,,A*6A
+$GPRMC,081312.00,A,5159.38470,N,00422.72797,E,0.006,,120308,,,A*7F
+$GPRMC,081313.00,A,5159.38470,N,00422.72797,E,0.004,,120308,,,A*7C
+$GPRMC,081314.00,A,5159.38471,N,00422.72797,E,0.031,280.56,120308,,,A*6B
+$GPRMC,081315.00,A,5159.38472,N,00422.72798,E,0.014,,120308,,,A*76
+$GPRMC,081316.00,A,5159.38474,N,00422.72798,E,0.035,283.60,120308,,,A*61
+$GPRMC,081317.00,A,5159.38476,N,00422.72798,E,0.001,,120308,,,A*74
+$GPRMC,081318.00,A,5159.38476,N,00422.72798,E,0.020,287.15,120308,,,A*6F
+$GPRMC,081319.00,A,5159.38478,N,00422.72798,E,0.014,,120308,,,A*70
+$GPRMC,081320.00,A,5159.38478,N,00422.72798,E,0.001,,120308,,,A*7E
+$GPRMC,081321.00,A,5159.38478,N,00422.72797,E,0.011,,120308,,,A*71
+$GPRMC,081322.00,A,5159.38479,N,00422.72796,E,0.007,,120308,,,A*75
+$GPRMC,081323.00,A,5159.38479,N,00422.72794,E,0.022,289.72,120308,,,A*69
+$GPRMC,081324.00,A,5159.38479,N,00422.72793,E,0.012,,120308,,,A*72
+$GPRMC,081325.00,A,5159.38478,N,00422.72792,E,0.013,,120308,,,A*72
+$GPRMC,081326.00,A,5159.38477,N,00422.72792,E,0.012,,120308,,,A*7F
+$GPRMC,081327.00,A,5159.38476,N,00422.72792,E,0.016,,120308,,,A*7B
+$GPRMC,081328.00,A,5159.38474,N,00422.72792,E,0.007,,120308,,,A*76
+$GPRMC,081329.00,A,5159.38473,N,00422.72793,E,0.018,,120308,,,A*7F
+$GPRMC,081330.00,A,5159.38472,N,00422.72794,E,0.011,,120308,,,A*78
+$GPRMC,081331.00,A,5159.38471,N,00422.72795,E,0.002,,120308,,,A*79
+$GPRMC,081332.00,A,5159.38472,N,00422.72797,E,0.006,,120308,,,A*7F
+$GPRMC,081333.00,A,5159.38472,N,00422.72799,E,0.031,293.21,120308,,,A*61
+$GPRMC,081334.00,A,5159.38472,N,00422.72801,E,0.014,,120308,,,A*7A
+$GPRMC,081335.00,A,5159.38472,N,00422.72802,E,0.006,,120308,,,A*7B
+$GPRMC,081336.00,A,5159.38472,N,00422.72804,E,0.025,289.41,120308,,,A*67
+$GPRMC,081337.00,A,5159.38472,N,00422.72806,E,0.021,291.77,120308,,,A*6C
+$GPRMC,081338.00,A,5159.38472,N,00422.72808,E,0.016,,120308,,,A*7D
+$GPRMC,081339.00,A,5159.38473,N,00422.72811,E,0.006,,120308,,,A*74
+$GPRMC,081340.00,A,5159.38473,N,00422.72814,E,0.022,289.54,120308,,,A*65
+$GPRMC,081341.00,A,5159.38475,N,00422.72817,E,0.019,,120308,,,A*75
+$GPRMC,081342.00,A,5159.38476,N,00422.72820,E,0.011,,120308,,,A*79
+$GPRMC,081343.00,A,5159.38474,N,00422.72822,E,0.010,,120308,,,A*79
+$GPRMC,081344.00,A,5159.38473,N,00422.72824,E,0.013,,120308,,,A*7C
+$GPRMC,081345.00,A,5159.38473,N,00422.72827,E,0.016,,120308,,,A*7B
+$GPRMC,081346.00,A,5159.38474,N,00422.72829,E,0.001,,120308,,,A*77
+$GPRMC,081347.00,A,5159.38474,N,00422.72832,E,0.020,285.95,120308,,,A*62
+$GPRMC,081348.00,A,5159.38475,N,00422.72834,E,0.003,,120308,,,A*76
+$GPRMC,081349.00,A,5159.38477,N,00422.72836,E,0.010,,120308,,,A*75
+$GPRMC,081350.00,A,5159.38478,N,00422.72838,E,0.010,,120308,,,A*7C
+$GPRMC,081351.00,A,5159.38479,N,00422.72840,E,0.010,,120308,,,A*73
+$GPRMC,081352.00,A,5159.38481,N,00422.72842,E,0.010,,120308,,,A*75
+$GPRMC,081353.00,A,5159.38483,N,00422.72843,E,0.029,287.73,120308,,,A*6A
+$GPRMC,081354.00,A,5159.38486,N,00422.72846,E,0.014,,120308,,,A*74
+$GPRMC,081355.00,A,5159.38487,N,00422.72849,E,0.024,284.18,120308,,,A*61
+$GPRMC,081356.00,A,5159.38490,N,00422.72851,E,0.008,,120308,,,A*7A
+$GPRMC,081357.00,A,5159.38492,N,00422.72852,E,0.010,,120308,,,A*73
+$GPRMC,081358.00,A,5159.38494,N,00422.72853,E,0.009,,120308,,,A*73
+$GPRMC,081359.00,A,5159.38497,N,00422.72855,E,0.003,,120308,,,A*7D
+$GPRMC,081400.00,A,5159.38499,N,00422.72857,E,0.014,,120308,,,A*7C
+$GPRMC,081401.00,A,5159.38502,N,00422.72858,E,0.006,,120308,,,A*72
+$GPRMC,081402.00,A,5159.38505,N,00422.72860,E,0.007,,120308,,,A*7C
+$GPRMC,081403.00,A,5159.38507,N,00422.72862,E,0.019,,120308,,,A*72
+$GPRMC,081404.00,A,5159.38511,N,00422.72866,E,0.012,,120308,,,A*7D
+$GPRMC,081405.00,A,5159.38514,N,00422.72869,E,0.021,288.20,120308,,,A*68
+$GPRMC,081406.00,A,5159.38518,N,00422.72872,E,0.006,,120308,,,A*76
+$GPRMC,081407.00,A,5159.38521,N,00422.72874,E,0.008,,120308,,,A*75
+$GPRMC,081408.00,A,5159.38524,N,00422.72876,E,0.008,,120308,,,A*7D
+$GPRMC,081409.00,A,5159.38528,N,00422.72878,E,0.005,,120308,,,A*73
+$GPRMC,081410.00,A,5159.38530,N,00422.72880,E,0.014,,120308,,,A*75
+$GPRMC,081411.00,A,5159.38532,N,00422.72883,E,0.025,289.87,120308,,,A*65
+$GPRMC,081412.00,A,5159.38536,N,00422.72885,E,0.015,,120308,,,A*75
+$GPRMC,081413.00,A,5159.38538,N,00422.72886,E,0.010,,120308,,,A*7C
+$GPRMC,081414.00,A,5159.38540,N,00422.72887,E,0.006,,120308,,,A*72
+$GPRMC,081415.00,A,5159.38542,N,00422.72889,E,0.005,,120308,,,A*7C
+$GPRMC,081416.00,A,5159.38544,N,00422.72890,E,0.004,,120308,,,A*70
+$GPRMC,081417.00,A,5159.38547,N,00422.72891,E,0.007,,120308,,,A*70
+$GPRMC,081418.00,A,5159.38549,N,00422.72891,E,0.010,,120308,,,A*77
+$GPRMC,081419.00,A,5159.38551,N,00422.72892,E,0.010,,120308,,,A*7C
+$GPRMC,081420.00,A,5159.38553,N,00422.72892,E,0.027,292.04,120308,,,A*63
+$GPRMC,081421.00,A,5159.38555,N,00422.72892,E,0.011,,120308,,,A*72
+$GPRMC,081422.00,A,5159.38556,N,00422.72893,E,0.007,,120308,,,A*74
+$GPRMC,081423.00,A,5159.38558,N,00422.72895,E,0.005,,120308,,,A*7F
+$GPRMC,081424.00,A,5159.38559,N,00422.72896,E,0.002,,120308,,,A*7D
+$GPRMC,081425.00,A,5159.38562,N,00422.72898,E,0.029,289.67,120308,,,A*6F
+$GPRMC,081426.00,A,5159.38565,N,00422.72900,E,0.024,293.84,120308,,,A*60
+$GPRMC,081427.00,A,5159.38569,N,00422.72903,E,0.007,,120308,,,A*75
+$GPRMC,081428.00,A,5159.38572,N,00422.72905,E,0.009,,120308,,,A*78
+$GPRMC,081429.00,A,5159.38574,N,00422.72903,E,0.027,291.25,120308,,,A*66
+$GPRMC,081430.00,A,5159.38577,N,00422.72904,E,0.034,294.31,120308,,,A*68
+$GPRMC,081431.00,A,5159.38580,N,00422.72906,E,0.030,296.84,120308,,,A*6B
+$GPRMC,081432.00,A,5159.38584,N,00422.72909,E,0.010,,120308,,,A*7E
+$GPRMC,081433.00,A,5159.38584,N,00422.72909,E,0.025,293.65,120308,,,A*6C
+$GPRMC,081434.00,A,5159.38585,N,00422.72909,E,0.012,,120308,,,A*7B
+$GPRMC,081435.00,A,5159.38586,N,00422.72909,E,0.017,,120308,,,A*7C
+$GPRMC,081436.00,A,5159.38588,N,00422.72908,E,0.019,,120308,,,A*7E
+$GPRMC,081437.00,A,5159.38589,N,00422.72907,E,0.031,289.83,120308,,,A*6D
+$GPRMC,081438.00,A,5159.38592,N,00422.72909,E,0.023,292.58,120308,,,A*69
+$GPRMC,081439.00,A,5159.38595,N,00422.72909,E,0.010,,120308,,,A*75
+$GPRMC,081440.00,A,5159.38598,N,00422.72908,E,0.010,,120308,,,A*77
+$GPRMC,081441.00,A,5159.38601,N,00422.72907,E,0.032,289.35,120308,,,A*61
+$GPRMC,081442.00,A,5159.38601,N,00422.72907,E,0.033,285.32,120308,,,A*68
+$GPRMC,081443.00,A,5159.38604,N,00422.72906,E,0.044,286.51,120308,,,A*6B
+$GPRMC,081444.00,A,5159.38606,N,00422.72904,E,0.012,,120308,,,A*79
+$GPRMC,081445.00,A,5159.38607,N,00422.72903,E,0.005,,120308,,,A*78
+$GPRMC,081446.00,A,5159.38610,N,00422.72901,E,0.009,,120308,,,A*73
+$GPRMC,081447.00,A,5159.38612,N,00422.72898,E,0.014,,120308,,,A*7D
+$GPRMC,081448.00,A,5159.38612,N,00422.72894,E,0.002,,120308,,,A*79
+$GPRMC,081449.00,A,5159.38613,N,00422.72891,E,0.012,,120308,,,A*7D
+$GPRMC,081450.00,A,5159.38614,N,00422.72887,E,0.018,,120308,,,A*7F
+$GPRMC,081451.00,A,5159.38614,N,00422.72881,E,0.040,283.62,120308,,,A*66
+$GPRMC,081452.00,A,5159.38613,N,00422.72876,E,0.003,,120308,,,A*7E
+$GPRMC,081453.00,A,5159.38614,N,00422.72871,E,0.007,,120308,,,A*7B
+$GPRMC,081454.00,A,5159.38614,N,00422.72867,E,0.007,,120308,,,A*7B
+$GPRMC,081455.00,A,5159.38614,N,00422.72864,E,0.016,,120308,,,A*79
+$GPRMC,081456.00,A,5159.38614,N,00422.72859,E,0.011,,120308,,,A*73
+$GPRMC,081457.00,A,5159.38615,N,00422.72855,E,0.014,,120308,,,A*7A
+$GPRMC,081458.00,A,5159.38615,N,00422.72850,E,0.019,,120308,,,A*7D
+$GPRMC,081459.00,A,5159.38615,N,00422.72845,E,0.008,,120308,,,A*78
+$GPRMC,081500.00,A,5159.38616,N,00422.72841,E,0.008,,120308,,,A*72
+$GPRMC,081501.00,A,5159.38617,N,00422.72837,E,0.011,,120308,,,A*7B
+$GPRMC,081502.00,A,5159.38618,N,00422.72833,E,0.009,,120308,,,A*7A
+$GPRMC,081503.00,A,5159.38618,N,00422.72830,E,0.027,280.41,120308,,,A*65
+$GPRMC,081504.00,A,5159.38620,N,00422.72826,E,0.016,,120308,,,A*7D
+$GPRMC,081505.00,A,5159.38623,N,00422.72822,E,0.022,283.62,120308,,,A*6F
+$GPRMC,081506.00,A,5159.38626,N,00422.72819,E,0.009,,120308,,,A*7B
+$GPRMC,081507.00,A,5159.38629,N,00422.72814,E,0.014,,120308,,,A*74
+$GPRMC,081508.00,A,5159.38632,N,00422.72810,E,0.008,,120308,,,A*78
+$GPRMC,081509.00,A,5159.38634,N,00422.72806,E,0.014,,120308,,,A*75
+$GPRMC,081510.00,A,5159.38636,N,00422.72801,E,0.024,286.04,120308,,,A*6D
+$GPRMC,081511.00,A,5159.38637,N,00422.72796,E,0.006,,120308,,,A*7A
+$GPRMC,081512.00,A,5159.38638,N,00422.72792,E,0.014,,120308,,,A*71
+$GPRMC,081513.00,A,5159.38639,N,00422.72789,E,0.016,,120308,,,A*79
+$GPRMC,081514.00,A,5159.38639,N,00422.72786,E,0.010,,120308,,,A*77
+$GPRMC,081515.00,A,5159.38641,N,00422.72782,E,0.005,,120308,,,A*79
+$GPRMC,081516.00,A,5159.38641,N,00422.72778,E,0.020,284.59,120308,,,A*64
+$GPRMC,081517.00,A,5159.38641,N,00422.72775,E,0.006,,120308,,,A*70
+$GPRMC,081518.00,A,5159.38641,N,00422.72771,E,0.013,,120308,,,A*7F
+$GPRMC,081519.00,A,5159.38642,N,00422.72769,E,0.023,281.66,120308,,,A*62
+$GPRMC,081520.00,A,5159.38641,N,00422.72767,E,0.013,,120308,,,A*73
+$GPRMC,081521.00,A,5159.38642,N,00422.72764,E,0.012,,120308,,,A*73
+$GPRMC,081522.00,A,5159.38642,N,00422.72762,E,0.018,,120308,,,A*7C
+$GPRMC,081523.00,A,5159.38644,N,00422.72761,E,0.012,,120308,,,A*72
+$GPRMC,081524.00,A,5159.38645,N,00422.72759,E,0.017,,120308,,,A*7A
+$GPRMC,081525.00,A,5159.38646,N,00422.72756,E,0.017,,120308,,,A*77
+$GPRMC,081526.00,A,5159.38647,N,00422.72754,E,0.009,,120308,,,A*78
+$GPRMC,081527.00,A,5159.38648,N,00422.72754,E,0.014,,120308,,,A*7A
+$GPRMC,081528.00,A,5159.38649,N,00422.72753,E,0.013,,120308,,,A*74
+$GPRMC,081529.00,A,5159.38650,N,00422.72751,E,0.018,,120308,,,A*74
+$GPRMC,081530.00,A,5159.38650,N,00422.72750,E,0.007,,120308,,,A*73
+$GPRMC,081531.00,A,5159.38650,N,00422.72749,E,0.035,278.50,120308,,,A*6D
+$GPRMC,081532.00,A,5159.38650,N,00422.72747,E,0.024,281.67,120308,,,A*62
+$GPRMC,081533.00,A,5159.38650,N,00422.72747,E,0.013,,120308,,,A*73
+$GPRMC,081534.00,A,5159.38650,N,00422.72746,E,0.007,,120308,,,A*70
+$GPRMC,081535.00,A,5159.38649,N,00422.72744,E,0.025,278.81,120308,,,A*61
+$GPRMC,081536.00,A,5159.38649,N,00422.72744,E,0.024,282.28,120308,,,A*65
+$GPRMC,081537.00,A,5159.38649,N,00422.72742,E,0.020,280.23,120308,,,A*6F
+$GPRMC,081538.00,A,5159.38648,N,00422.72741,E,0.013,,120308,,,A*77
+$GPRMC,081539.00,A,5159.38648,N,00422.72740,E,0.013,,120308,,,A*77
+$GPRMC,081540.00,A,5159.38647,N,00422.72739,E,0.008,,120308,,,A*72
+$GPRMC,081541.00,A,5159.38646,N,00422.72739,E,0.011,,120308,,,A*7A
+$GPRMC,081542.00,A,5159.38646,N,00422.72737,E,0.002,,120308,,,A*75
+$GPRMC,081543.00,A,5159.38645,N,00422.72735,E,0.003,,120308,,,A*74
+$GPRMC,081544.00,A,5159.38645,N,00422.72733,E,0.006,,120308,,,A*70
+$GPRMC,081545.00,A,5159.38650,N,00422.72725,E,0.390,283.55,120308,,,A*69
+$GPRMC,081546.00,A,5159.38676,N,00422.72703,E,1.629,286.95,120308,,,A*65
+$GPRMC,081547.00,A,5159.38732,N,00422.72656,E,2.808,336.49,120308,,,A*61
+$GPRMC,081548.00,A,5159.38797,N,00422.72599,E,2.381,333.51,120308,,,A*67
+$GPRMC,081549.00,A,5159.38843,N,00422.72559,E,1.485,333.69,120308,,,A*67
+$GPRMC,081550.00,A,5159.38865,N,00422.72540,E,0.384,333.75,120308,,,A*69
+$GPRMC,081551.00,A,5159.38868,N,00422.72534,E,0.021,333.42,120308,,,A*6E
+$GPRMC,081552.00,A,5159.38867,N,00422.72533,E,0.023,328.22,120308,,,A*6B
+$GPRMC,081553.00,A,5159.38866,N,00422.72534,E,0.004,,120308,,,A*7E
+$GPRMC,081554.00,A,5159.38865,N,00422.72535,E,0.018,,120308,,,A*76
+$GPRMC,081555.00,A,5159.38864,N,00422.72536,E,0.029,324.20,120308,,,A*6E
+$GPRMC,081556.00,A,5159.38863,N,00422.72537,E,0.035,319.85,120308,,,A*67
+$GPRMC,081557.00,A,5159.38862,N,00422.72539,E,0.026,315.95,120308,,,A*66
+$GPRMC,081558.00,A,5159.38860,N,00422.72541,E,0.018,,120308,,,A*7C
+$GPRMC,081559.00,A,5159.38865,N,00422.72548,E,0.048,310.81,120308,,,A*61
+$GPRMC,081600.00,A,5159.38864,N,00422.72551,E,0.019,,120308,,,A*76
+$GPRMC,081601.00,A,5159.38862,N,00422.72553,E,0.008,,120308,,,A*73
+$GPRMC,081602.00,A,5159.38861,N,00422.72556,E,0.005,,120308,,,A*7B
+$GPRMC,081603.00,A,5159.38859,N,00422.72557,E,0.010,,120308,,,A*74
+$GPRMC,081604.00,A,5159.38859,N,00422.72559,E,0.025,312.46,120308,,,A*67
+$GPRMC,081605.00,A,5159.38856,N,00422.72559,E,0.009,,120308,,,A*7B
+$GPRMC,081606.00,A,5159.38856,N,00422.72560,E,0.006,,120308,,,A*7D
+$GPRMC,081607.00,A,5159.38856,N,00422.72561,E,0.015,,120308,,,A*7F
+$GPRMC,081608.00,A,5159.38856,N,00422.72562,E,0.016,,120308,,,A*70
+$GPRMC,081609.00,A,5159.38857,N,00422.72563,E,0.013,,120308,,,A*74
+$GPRMC,081610.00,A,5159.38858,N,00422.72565,E,0.012,,120308,,,A*74
+$GPRMC,081611.00,A,5159.38859,N,00422.72566,E,0.009,,120308,,,A*7D
+$GPRMC,081612.00,A,5159.38860,N,00422.72568,E,0.009,,120308,,,A*7A
+$GPRMC,081613.00,A,5159.38861,N,00422.72569,E,0.016,,120308,,,A*75
+$GPRMC,081614.00,A,5159.38862,N,00422.72570,E,0.002,,120308,,,A*7C
+$GPRMC,081615.00,A,5159.38863,N,00422.72571,E,0.012,,120308,,,A*7C
+$GPRMC,081616.00,A,5159.38865,N,00422.72571,E,0.011,,120308,,,A*7A
+$GPRMC,081617.00,A,5159.38867,N,00422.72572,E,0.023,313.48,120308,,,A*68
+$GPRMC,081618.00,A,5159.38869,N,00422.72571,E,0.003,,120308,,,A*7B
+$GPRMC,081619.00,A,5159.38871,N,00422.72571,E,0.013,,120308,,,A*72
+$GPRMC,081620.00,A,5159.38880,N,00422.72564,E,0.005,,120308,,,A*75
+$GPRMC,081621.00,A,5159.38890,N,00422.72555,E,0.010,,120308,,,A*73
+$GPRMC,081622.00,A,5159.38900,N,00422.72546,E,0.050,310.25,120308,,,A*65
+$GPRMC,081623.00,A,5159.38908,N,00422.72538,E,0.043,307.21,120308,,,A*65
+$GPRMC,081624.00,A,5159.38916,N,00422.72533,E,0.031,304.11,120308,,,A*63
+$GPRMC,081625.00,A,5159.38923,N,00422.72529,E,0.047,301.37,120308,,,A*6F
+$GPRMC,081626.00,A,5159.38929,N,00422.72524,E,0.048,298.84,120308,,,A*6D
+$GPRMC,081627.00,A,5159.38935,N,00422.72518,E,0.004,,120308,,,A*77
+$GPRMC,081628.00,A,5159.38940,N,00422.72510,E,0.019,,120308,,,A*7E
+$GPRMC,081629.00,A,5159.38944,N,00422.72504,E,0.005,,120308,,,A*73
+$GPRMC,081630.00,A,5159.38947,N,00422.72498,E,0.006,,120308,,,A*7F
+$GPRMC,081631.00,A,5159.38949,N,00422.72491,E,0.024,295.31,120308,,,A*6B
+$GPRMC,081632.00,A,5159.38950,N,00422.72484,E,0.040,292.61,120308,,,A*64
+$GPRMC,081633.00,A,5159.38951,N,00422.72478,E,0.061,289.87,120308,,,A*66
+$GPRMC,081634.00,A,5159.38951,N,00422.72470,E,0.030,288.24,120308,,,A*65
+$GPRMC,081635.00,A,5159.38955,N,00422.72468,E,0.041,285.61,120308,,,A*63
+$GPRMC,081636.00,A,5159.38956,N,00422.72464,E,0.023,285.72,120308,,,A*69
+$GPRMC,081637.00,A,5159.38957,N,00422.72459,E,0.008,,120308,,,A*7A
+$GPRMC,081638.00,A,5159.38964,N,00422.72454,E,0.006,,120308,,,A*76
+$GPRMC,081639.00,A,5159.38970,N,00422.72450,E,0.018,,120308,,,A*79
+$GPRMC,081640.00,A,5159.38976,N,00422.72449,E,0.013,,120308,,,A*72
+$GPRMC,081641.00,A,5159.38982,N,00422.72446,E,0.019,,120308,,,A*7D
+$GPRMC,081642.00,A,5159.38988,N,00422.72445,E,0.015,,120308,,,A*7B
+$GPRMC,081643.00,A,5159.38993,N,00422.72442,E,0.007,,120308,,,A*74
+$GPRMC,081644.00,A,5159.38996,N,00422.72439,E,0.012,,120308,,,A*7E
+$GPRMC,081645.00,A,5159.38998,N,00422.72434,E,0.008,,120308,,,A*77
+$GPRMC,081646.00,A,5159.39002,N,00422.72431,E,0.025,286.19,120308,,,A*6F
+$GPRMC,081647.00,A,5159.39006,N,00422.72427,E,0.009,,120308,,,A*79
+$GPRMC,081648.00,A,5159.39010,N,00422.72424,E,0.018,,120308,,,A*72
+$GPRMC,081649.00,A,5159.39013,N,00422.72421,E,0.017,,120308,,,A*7A
+$GPRMC,081650.00,A,5159.39014,N,00422.72416,E,0.011,,120308,,,A*77
+$GPRMC,081651.00,A,5159.39015,N,00422.72411,E,0.006,,120308,,,A*76
+$GPRMC,081652.00,A,5159.39016,N,00422.72409,E,0.008,,120308,,,A*71
+$GPRMC,081653.00,A,5159.39018,N,00422.72407,E,0.019,,120308,,,A*70
+$GPRMC,081654.00,A,5159.39021,N,00422.72404,E,0.015,,120308,,,A*72
+$GPRMC,081655.00,A,5159.39023,N,00422.72402,E,0.004,,120308,,,A*77
+$GPRMC,081656.00,A,5159.39026,N,00422.72401,E,0.009,,120308,,,A*7F
+$GPRMC,081657.00,A,5159.39028,N,00422.72398,E,0.003,,120308,,,A*7D
+$GPRMC,081658.00,A,5159.39029,N,00422.72397,E,0.012,,120308,,,A*7C
+$GPRMC,081659.00,A,5159.39030,N,00422.72396,E,0.013,,120308,,,A*75
+$GPRMC,081700.00,A,5159.39032,N,00422.72394,E,0.014,,120308,,,A*7F
+$GPRMC,081701.00,A,5159.39031,N,00422.72390,E,0.005,,120308,,,A*79
+$GPRMC,081702.00,A,5159.39028,N,00422.72388,E,0.006,,120308,,,A*78
+$GPRMC,081703.00,A,5159.39025,N,00422.72388,E,0.004,,120308,,,A*76
+$GPRMC,081704.00,A,5159.39022,N,00422.72385,E,0.018,,120308,,,A*76
+$GPRMC,081705.00,A,5159.39018,N,00422.72381,E,0.008,,120308,,,A*7B
+$GPRMC,081706.00,A,5159.39015,N,00422.72377,E,0.008,,120308,,,A*7C
+$GPRMC,081707.00,A,5159.39011,N,00422.72374,E,0.011,,120308,,,A*72
+$GPRMC,081708.00,A,5159.39009,N,00422.72368,E,0.013,,120308,,,A*7B
+$GPRMC,081709.00,A,5159.39006,N,00422.72363,E,0.009,,120308,,,A*75
+$GPRMC,081710.00,A,5159.39003,N,00422.72359,E,0.023,285.96,120308,,,A*67
+$GPRMC,081711.00,A,5159.39001,N,00422.72354,E,0.011,,120308,,,A*76
+$GPRMC,081712.00,A,5159.39000,N,00422.72349,E,0.018,,120308,,,A*71
+$GPRMC,081713.00,A,5159.38996,N,00422.72345,E,0.006,,120308,,,A*74
+$GPRMC,081714.00,A,5159.38994,N,00422.72341,E,0.019,,120308,,,A*7B
+$GPRMC,081715.00,A,5159.38992,N,00422.72337,E,0.008,,120308,,,A*7D
+$GPRMC,081716.00,A,5159.38992,N,00422.72332,E,0.003,,120308,,,A*70
+$GPRMC,081717.00,A,5159.38992,N,00422.72328,E,0.009,,120308,,,A*70
+$GPRMC,081718.00,A,5159.38991,N,00422.72322,E,0.023,287.02,120308,,,A*6F
+$GPRMC,081719.00,A,5159.38991,N,00422.72316,E,0.019,,120308,,,A*71
+$GPRMC,081720.00,A,5159.38990,N,00422.72310,E,0.014,,120308,,,A*71
+$GPRMC,081721.00,A,5159.38988,N,00422.72305,E,0.015,,120308,,,A*7C
+$GPRMC,081722.00,A,5159.38986,N,00422.72301,E,0.008,,120308,,,A*79
+$GPRMC,081723.00,A,5159.38985,N,00422.72299,E,0.007,,120308,,,A*74
+$GPRMC,081724.00,A,5159.38985,N,00422.72296,E,0.053,288.47,120308,,,A*62
+$GPRMC,081725.00,A,5159.38988,N,00422.72297,E,0.085,289.99,120308,,,A*66
+$GPRMC,081726.00,A,5159.38988,N,00422.72298,E,0.045,291.95,120308,,,A*63
+$GPRMC,081727.00,A,5159.38986,N,00422.72300,E,0.026,294.03,120308,,,A*63
+$GPRMC,081728.00,A,5159.38996,N,00422.72294,E,0.918,296.55,120308,,,A*64
+$GPRMC,081729.00,A,5159.39032,N,00422.72262,E,2.362,332.29,120308,,,A*6B
+$GPRMC,081730.00,A,5159.39063,N,00422.72176,E,2.762,308.34,120308,,,A*60
+$GPRMC,081731.00,A,5159.39080,N,00422.72051,E,3.726,277.43,120308,,,A*60
+$GPRMC,081732.00,A,5159.39070,N,00422.71885,E,3.815,262.73,120308,,,A*66
+$GPRMC,081733.00,A,5159.39012,N,00422.71676,E,4.896,247.04,120308,,,A*6A
+$GPRMC,081734.00,A,5159.38939,N,00422.71443,E,6.907,245.60,120308,,,A*63
+$GPRMC,081735.00,A,5159.38852,N,00422.71151,E,8.210,245.88,120308,,,A*6D
+$GPRMC,081736.00,A,5159.38761,N,00422.70833,E,8.135,244.84,120308,,,A*64
+$GPRMC,081737.00,A,5159.38664,N,00422.70504,E,8.124,244.99,120308,,,A*64
+$GPRMC,081738.00,A,5159.38588,N,00422.70185,E,7.528,250.77,120308,,,A*65
+$GPRMC,081739.00,A,5159.38550,N,00422.69864,E,7.094,265.83,120308,,,A*60
+$GPRMC,081740.00,A,5159.38583,N,00422.69573,E,6.527,292.95,120308,,,A*68
+$GPRMC,081741.00,A,5159.38703,N,00422.69347,E,7.015,328.10,120308,,,A*6A
+$GPRMC,081742.00,A,5159.38871,N,00422.69209,E,7.039,338.41,120308,,,A*63
+$GPRMC,081743.00,A,5159.39070,N,00422.69093,E,8.138,344.38,120308,,,A*61
+$GPRMC,081744.00,A,5159.39297,N,00422.68960,E,9.214,342.55,120308,,,A*68
+$GPRMC,081745.00,A,5159.39556,N,00422.68806,E,10.489,340.07,120308,,,A*5D
+$GPRMC,081746.00,A,5159.39833,N,00422.68630,E,10.901,339.62,120308,,,A*5B
+$GPRMC,081747.00,A,5159.40105,N,00422.68463,E,9.840,340.54,120308,,,A*6B
+$GPRMC,081748.00,A,5159.40322,N,00422.68328,E,7.378,340.42,120308,,,A*62
+$GPRMC,081749.00,A,5159.40469,N,00422.68234,E,4.701,340.67,120308,,,A*69
+$GPRMC,081750.00,A,5159.40560,N,00422.68181,E,2.816,344.07,120308,,,A*69
+$GPRMC,081751.00,A,5159.40602,N,00422.68135,E,1.302,343.61,120308,,,A*6A
+$GPRMC,081752.00,A,5159.40618,N,00422.68118,E,0.330,343.73,120308,,,A*6E
+$GPRMC,081753.00,A,5159.40637,N,00422.68116,E,0.630,342.32,120308,,,A*6D
+$GPRMC,081754.00,A,5159.40707,N,00422.68106,E,2.807,336.26,120308,,,A*67
+$GPRMC,081755.00,A,5159.40790,N,00422.68016,E,5.302,339.13,120308,,,A*68
+$GPRMC,081756.00,A,5159.40932,N,00422.67938,E,5.195,343.13,120308,,,A*66
+$GPRMC,081757.00,A,5159.41115,N,00422.67916,E,6.815,358.57,120308,,,A*6F
+$GPRMC,081758.00,A,5159.41298,N,00422.68030,E,7.349,33.29,120308,,,A*50
+$GPRMC,081759.00,A,5159.41439,N,00422.68306,E,9.172,58.01,120308,,,A*59
+$GPRMC,081800.00,A,5159.41579,N,00422.68803,E,11.671,62.45,120308,,,A*65
+$GPRMC,081801.00,A,5159.41686,N,00422.69368,E,12.419,68.72,120308,,,A*61
+$GPRMC,081802.00,A,5159.41800,N,00422.69922,E,12.566,68.16,120308,,,A*6D
+$GPRMC,081803.00,A,5159.41932,N,00422.70489,E,13.183,67.65,120308,,,A*6D
+$GPRMC,081804.00,A,5159.42068,N,00422.71077,E,13.935,67.14,120308,,,A*68
+$GPRMC,081805.00,A,5159.42207,N,00422.71680,E,14.476,66.58,120308,,,A*68
+$GPRMC,081806.00,A,5159.42358,N,00422.72306,E,14.471,67.35,120308,,,A*65
+$GPRMC,081807.00,A,5159.42517,N,00422.72926,E,14.170,66.90,120308,,,A*6B
+$GPRMC,081808.00,A,5159.42686,N,00422.73457,E,13.355,65.91,120308,,,A*65
+$GPRMC,081809.00,A,5159.42825,N,00422.73965,E,11.935,66.97,120308,,,A*64
+$GPRMC,081810.00,A,5159.42948,N,00422.74441,E,10.624,66.87,120308,,,A*65
+$GPRMC,081811.00,A,5159.43050,N,00422.74866,E,9.301,68.92,120308,,,A*5C
+$GPRMC,081812.00,A,5159.43140,N,00422.75231,E,8.108,67.27,120308,,,A*5D
+$GPRMC,081813.00,A,5159.43221,N,00422.75545,E,6.590,66.68,120308,,,A*5D
+$GPRMC,081814.00,A,5159.43277,N,00422.75784,E,4.197,67.38,120308,,,A*53
+$GPRMC,081815.00,A,5159.43317,N,00422.75898,E,1.704,67.24,120308,,,A*53
+$GPRMC,081816.00,A,5159.43336,N,00422.75923,E,0.384,67.00,120308,,,A*59
+$GPRMC,081817.00,A,5159.43344,N,00422.75903,E,0.303,59.26,120308,,,A*59
+$GPRMC,081818.00,A,5159.43348,N,00422.75880,E,0.062,55.21,120308,,,A*5F
+$GPRMC,081819.00,A,5159.43350,N,00422.75863,E,0.045,50.57,120308,,,A*5B
+$GPRMC,081820.00,A,5159.43355,N,00422.75832,E,0.025,46.15,120308,,,A*57
+$GPRMC,081821.00,A,5159.43352,N,00422.75826,E,0.004,,120308,,,A*7F
+$GPRMC,081822.00,A,5159.43352,N,00422.75812,E,0.008,,120308,,,A*77
+$GPRMC,081823.00,A,5159.43355,N,00422.75801,E,0.127,45.04,120308,,,A*54
+$GPRMC,081824.00,A,5159.43357,N,00422.75799,E,0.007,,120308,,,A*77
+$GPRMC,081825.00,A,5159.43356,N,00422.75803,E,0.005,,120308,,,A*79
+$GPRMC,081826.00,A,5159.43354,N,00422.75807,E,0.013,,120308,,,A*7B
+$GPRMC,081827.00,A,5159.43354,N,00422.75810,E,0.015,,120308,,,A*7A
+$GPRMC,081828.00,A,5159.43354,N,00422.75813,E,0.017,,120308,,,A*74
+$GPRMC,081829.00,A,5159.43358,N,00422.75798,E,0.032,49.96,120308,,,A*5E
+$GPRMC,081830.00,A,5159.43360,N,00422.75791,E,0.016,,120308,,,A*7E
+$GPRMC,081831.00,A,5159.43363,N,00422.75788,E,0.018,,120308,,,A*7A
+$GPRMC,081832.00,A,5159.43364,N,00422.75786,E,0.017,,120308,,,A*7F
+$GPRMC,081833.00,A,5159.43358,N,00422.75781,E,0.002,,120308,,,A*72
+$GPRMC,081834.00,A,5159.43357,N,00422.75777,E,0.002,,120308,,,A*73
+$GPRMC,081835.00,A,5159.43358,N,00422.75771,E,0.015,,120308,,,A*7D
+$GPRMC,081836.00,A,5159.43358,N,00422.75767,E,0.007,,120308,,,A*7A
+$GPRMC,081837.00,A,5159.43360,N,00422.75758,E,0.016,,120308,,,A*7C
+$GPRMC,081838.00,A,5159.43361,N,00422.75751,E,0.011,,120308,,,A*7C
+$GPRMC,081839.00,A,5159.43363,N,00422.75745,E,0.005,,120308,,,A*7F
+$GPRMC,081840.00,A,5159.43365,N,00422.75741,E,0.012,,120308,,,A*75
+$GPRMC,081841.00,A,5159.43368,N,00422.75742,E,0.068,50.67,120308,,,A*5D
+$GPRMC,081842.00,A,5159.43371,N,00422.75744,E,0.012,,120308,,,A*77
+$GPRMC,081843.00,A,5159.43373,N,00422.75742,E,0.002,,120308,,,A*73
+$GPRMC,081844.00,A,5159.43373,N,00422.75743,E,0.011,,120308,,,A*77
+$GPRMC,081845.00,A,5159.43374,N,00422.75744,E,0.001,,120308,,,A*77
+$GPRMC,081846.00,A,5159.43374,N,00422.75746,E,0.013,,120308,,,A*75
+$GPRMC,081847.00,A,5159.43373,N,00422.75746,E,0.008,,120308,,,A*79
+$GPRMC,081848.00,A,5159.43373,N,00422.75747,E,0.013,,120308,,,A*7D
+$GPRMC,081849.00,A,5159.43370,N,00422.75747,E,0.026,56.14,120308,,,A*51
+$GPRMC,081850.00,A,5159.43369,N,00422.75746,E,0.008,,120308,,,A*74
+$GPRMC,081851.00,A,5159.43370,N,00422.75743,E,0.014,,120308,,,A*75
+$GPRMC,081852.00,A,5159.43369,N,00422.75740,E,0.009,,120308,,,A*71
+$GPRMC,081853.00,A,5159.43372,N,00422.75736,E,0.160,56.45,120308,,,A*59
+$GPRMC,081854.00,A,5159.43387,N,00422.75774,E,1.778,57.10,120308,,,A*5D
+$GPRMC,081855.00,A,5159.43422,N,00422.75911,E,4.805,66.46,120308,,,A*58
+$GPRMC,081856.00,A,5159.43489,N,00422.76177,E,7.478,66.27,120308,,,A*53
+$GPRMC,081857.00,A,5159.43588,N,00422.76539,E,9.997,65.58,120308,,,A*55
+$GPRMC,081858.00,A,5159.43713,N,00422.76963,E,10.398,63.34,120308,,,A*68
+$GPRMC,081859.00,A,5159.43858,N,00422.77420,E,12.265,61.17,120308,,,A*60
+$GPRMC,081900.00,A,5159.44040,N,00422.77941,E,14.358,59.69,120308,,,A*6A
+$GPRMC,081901.00,A,5159.44241,N,00422.78502,E,14.652,59.44,120308,,,A*6C
+$GPRMC,081902.00,A,5159.44443,N,00422.79090,E,15.293,60.68,120308,,,A*68
+$GPRMC,081903.00,A,5159.44634,N,00422.79707,E,15.404,64.10,120308,,,A*61
+$GPRMC,081904.00,A,5159.44808,N,00422.80321,E,14.370,65.94,120308,,,A*69
+$GPRMC,081905.00,A,5159.44962,N,00422.80894,E,13.709,67.00,120308,,,A*62
+$GPRMC,081906.00,A,5159.45115,N,00422.81438,E,13.539,67.07,120308,,,A*65
+$GPRMC,081907.00,A,5159.45270,N,00422.81976,E,13.249,64.02,120308,,,A*65
+$GPRMC,081908.00,A,5159.45467,N,00422.82454,E,12.605,49.51,120308,,,A*60
+$GPRMC,081909.00,A,5159.45743,N,00422.82780,E,12.350,24.67,120308,,,A*65
+$GPRMC,081910.00,A,5159.46090,N,00422.82862,E,13.261,356.92,120308,,,A*5A
+$GPRMC,081911.00,A,5159.46468,N,00422.82736,E,14.823,342.29,120308,,,A*58
+$GPRMC,081912.00,A,5159.46886,N,00422.82482,E,16.515,339.12,120308,,,A*55
+$GPRMC,081913.00,A,5159.47371,N,00422.82201,E,18.358,339.82,120308,,,A*53
+$GPRMC,081914.00,A,5159.47857,N,00422.81894,E,18.959,340.00,120308,,,A*51
+$GPRMC,081915.00,A,5159.48344,N,00422.81572,E,19.065,339.16,120308,,,A*5D
+$GPRMC,081916.00,A,5159.48839,N,00422.81239,E,19.598,338.63,120308,,,A*53
+$GPRMC,081917.00,A,5159.49345,N,00422.80908,E,19.303,337.96,120308,,,A*5A
+$GPRMC,081918.00,A,5159.49850,N,00422.80587,E,18.855,337.36,120308,,,A*52
+$GPRMC,081919.00,A,5159.50318,N,00422.80263,E,17.581,336.24,120308,,,A*58
+$GPRMC,081920.00,A,5159.50761,N,00422.79968,E,16.113,336.38,120308,,,A*5D
+$GPRMC,081921.00,A,5159.51175,N,00422.79760,E,14.280,345.20,120308,,,A*5E
+$GPRMC,081922.00,A,5159.51560,N,00422.79791,E,13.582,14.49,120308,,,A*69
+$GPRMC,081923.00,A,5159.51918,N,00422.80160,E,16.390,45.21,120308,,,A*6F
+$GPRMC,081924.00,A,5159.52227,N,00422.80853,E,18.770,61.84,120308,,,A*68
+$GPRMC,081925.00,A,5159.52469,N,00422.81686,E,21.363,65.36,120308,,,A*63
+$GPRMC,081926.00,A,5159.52724,N,00422.82626,E,23.290,66.42,120308,,,A*6C
+$GPRMC,081927.00,A,5159.52962,N,00422.83596,E,23.914,66.77,120308,,,A*69
+$GPRMC,081928.00,A,5159.53222,N,00422.84609,E,24.498,66.46,120308,,,A*66
+$GPRMC,081929.00,A,5159.53510,N,00422.85654,E,25.007,66.19,120308,,,A*61
+$GPRMC,081930.00,A,5159.53795,N,00422.86705,E,25.158,66.49,120308,,,A*6E
+$GPRMC,081931.00,A,5159.54072,N,00422.87787,E,25.555,66.32,120308,,,A*68
+$GPRMC,081932.00,A,5159.54359,N,00422.88862,E,25.822,66.45,120308,,,A*67
+$GPRMC,081933.00,A,5159.54649,N,00422.89947,E,26.057,66.34,120308,,,A*6A
+$GPRMC,081934.00,A,5159.54933,N,00422.91002,E,25.644,66.21,120308,,,A*6D
+$GPRMC,081935.00,A,5159.55209,N,00422.92061,E,25.295,67.39,120308,,,A*69
+$GPRMC,081936.00,A,5159.55472,N,00422.93103,E,24.853,66.52,120308,,,A*69
+$GPRMC,081937.00,A,5159.55739,N,00422.94144,E,24.488,67.03,120308,,,A*6F
+$GPRMC,081938.00,A,5159.55999,N,00422.95148,E,23.546,67.04,120308,,,A*6A
+$GPRMC,081939.00,A,5159.56234,N,00422.96095,E,22.792,67.05,120308,,,A*6D
+$GPRMC,081940.00,A,5159.56465,N,00422.97047,E,22.078,66.94,120308,,,A*65
+$GPRMC,081941.00,A,5159.56697,N,00422.97925,E,21.127,66.38,120308,,,A*68
+$GPRMC,081942.00,A,5159.56932,N,00422.98744,E,19.687,65.37,120308,,,A*67
+$GPRMC,081943.00,A,5159.57170,N,00422.99507,E,18.208,64.52,120308,,,A*6D
+$GPRMC,081944.00,A,5159.57403,N,00423.00174,E,16.980,54.56,120308,,,A*68
+$GPRMC,081945.00,A,5159.57718,N,00423.00658,E,15.999,33.18,120308,,,A*69
+$GPRMC,081946.00,A,5159.58127,N,00423.00882,E,15.578,7.61,120308,,,A*5C
+$GPRMC,081947.00,A,5159.58569,N,00423.00818,E,17.000,348.53,120308,,,A*51
+$GPRMC,081948.00,A,5159.59038,N,00423.00560,E,18.631,339.10,120308,,,A*56
+$GPRMC,081949.00,A,5159.59553,N,00423.00208,E,20.905,338.63,120308,,,A*50
+$GPRMC,081950.00,A,5159.60140,N,00422.99810,E,23.884,338.64,120308,,,A*5A
+$GPRMC,081951.00,A,5159.60786,N,00422.99367,E,25.596,337.53,120308,,,A*5F
+$GPRMC,081952.00,A,5159.61445,N,00422.98900,E,25.250,336.81,120308,,,A*58
+$GPRMC,081953.00,A,5159.62108,N,00422.98438,E,25.214,337.27,120308,,,A*5D
+$GPRMC,081954.00,A,5159.62761,N,00422.98005,E,25.191,339.77,120308,,,A*5C
+$GPRMC,081955.00,A,5159.63411,N,00422.97600,E,24.517,339.95,120308,,,A*53
+$GPRMC,081956.00,A,5159.64048,N,00422.97210,E,23.674,339.86,120308,,,A*59
+$GPRMC,081957.00,A,5159.64639,N,00422.96814,E,22.360,338.34,120308,,,A*5E
+$GPRMC,081958.00,A,5159.65177,N,00422.96438,E,19.456,336.40,120308,,,A*58
+$GPRMC,081959.00,A,5159.65633,N,00422.96109,E,16.133,335.93,120308,,,A*5D
+$GPRMC,082000.00,A,5159.66020,N,00422.95873,E,14.250,343.76,120308,,,A*55
+$GPRMC,082001.00,A,5159.66409,N,00422.95810,E,14.571,4.82,120308,,,A*51
+$GPRMC,082002.00,A,5159.66814,N,00422.96035,E,16.412,29.94,120308,,,A*60
+$GPRMC,082003.00,A,5159.67171,N,00422.96578,E,18.779,54.82,120308,,,A*6B
+$GPRMC,082004.00,A,5159.67421,N,00422.97395,E,21.458,70.31,120308,,,A*6C
+$GPRMC,082005.00,A,5159.67660,N,00422.98409,E,24.089,70.50,120308,,,A*6D
+$GPRMC,082006.00,A,5159.67872,N,00422.99524,E,25.755,72.31,120308,,,A*6E
+$GPRMC,082007.00,A,5159.68118,N,00423.00732,E,26.780,73.18,120308,,,A*60
+$GPRMC,082008.00,A,5159.68359,N,00423.01926,E,26.829,70.59,120308,,,A*68
+$GPRMC,082009.00,A,5159.68598,N,00423.03165,E,26.187,71.97,120308,,,A*61
+$GPRMC,082010.00,A,5159.68877,N,00423.04369,E,26.153,68.37,120308,,,A*67
+$GPRMC,082011.00,A,5159.69147,N,00423.05533,E,25.818,68.31,120308,,,A*66
+$GPRMC,082012.00,A,5159.69409,N,00423.06643,E,24.736,67.65,120308,,,A*61
+$GPRMC,082013.00,A,5159.69663,N,00423.07731,E,24.943,67.83,120308,,,A*6F
+$GPRMC,082014.00,A,5159.69877,N,00423.08745,E,22.863,69.74,120308,,,A*6C
+$GPRMC,082015.00,A,5159.70149,N,00423.09615,E,22.153,65.33,120308,,,A*61
+$GPRMC,082016.00,A,5159.70414,N,00423.10489,E,21.637,63.84,120308,,,A*6C
+$GPRMC,082017.00,A,5159.70660,N,00423.11301,E,20.252,64.07,120308,,,A*60
+$GPRMC,082018.00,A,5159.70873,N,00423.11955,E,16.427,65.63,120308,,,A*6A
+$GPRMC,082019.00,A,5159.71009,N,00423.12499,E,11.212,67.62,120308,,,A*65
+$GPRMC,082020.00,A,5159.71101,N,00423.12833,E,7.366,68.52,120308,,,A*53
+$GPRMC,082021.00,A,5159.71163,N,00423.13068,E,5.863,69.48,120308,,,A*57
+$GPRMC,082022.00,A,5159.71212,N,00423.13280,E,5.550,70.11,120308,,,A*5C
+$GPRMC,082023.00,A,5159.71266,N,00423.13532,E,7.460,70.60,120308,,,A*56
+$GPRMC,082024.00,A,5159.71348,N,00423.13905,E,10.464,70.34,120308,,,A*67
+$GPRMC,082025.00,A,5159.71458,N,00423.14419,E,13.860,70.62,120308,,,A*6F
+$GPRMC,082026.00,A,5159.71593,N,00423.15090,E,17.664,71.10,120308,,,A*64
+$GPRMC,082027.00,A,5159.71754,N,00423.15906,E,20.409,71.97,120308,,,A*68
+$GPRMC,082028.00,A,5159.71918,N,00423.16787,E,20.420,74.04,120308,,,A*61
+$GPRMC,082029.00,A,5159.72096,N,00423.17764,E,23.568,74.81,120308,,,A*63
+$GPRMC,082030.00,A,5159.72268,N,00423.18848,E,26.111,75.57,120308,,,A*63
+$GPRMC,082031.00,A,5159.72412,N,00423.20039,E,27.949,80.53,120308,,,A*66
+$GPRMC,082032.00,A,5159.72503,N,00423.21278,E,27.481,85.59,120308,,,A*64
+$GPRMC,082033.00,A,5159.72545,N,00423.22490,E,25.547,91.09,120308,,,A*6D
+$GPRMC,082034.00,A,5159.72551,N,00423.23593,E,22.971,89.84,120308,,,A*6E
+$GPRMC,082035.00,A,5159.72600,N,00423.24464,E,18.630,85.59,120308,,,A*69
+$GPRMC,082036.00,A,5159.72640,N,00423.25198,E,15.488,84.86,120308,,,A*66
+$GPRMC,082037.00,A,5159.72673,N,00423.25739,E,11.726,85.98,120308,,,A*67
+$GPRMC,082038.00,A,5159.72687,N,00423.26126,E,8.388,86.59,120308,,,A*5E
+$GPRMC,082039.00,A,5159.72696,N,00423.26380,E,5.633,87.69,120308,,,A*5B
+$GPRMC,082040.00,A,5159.72695,N,00423.26540,E,3.551,88.57,120308,,,A*5F
+$GPRMC,082041.00,A,5159.72671,N,00423.26648,E,2.805,94.65,120308,,,A*5E
+$GPRMC,082042.00,A,5159.72671,N,00423.26745,E,2.125,89.16,120308,,,A*52
+$GPRMC,082043.00,A,5159.72669,N,00423.26801,E,0.597,88.95,120308,,,A*50
+$GPRMC,082044.00,A,5159.72666,N,00423.26805,E,0.058,88.54,120308,,,A*57
+$GPRMC,082045.00,A,5159.72662,N,00423.26796,E,0.041,85.03,120308,,,A*50
+$GPRMC,082046.00,A,5159.72654,N,00423.26789,E,0.020,87.03,120308,,,A*5D
+$GPRMC,082047.00,A,5159.72649,N,00423.26774,E,0.025,81.44,120308,,,A*52
+$GPRMC,082048.00,A,5159.72641,N,00423.26755,E,0.007,,120308,,,A*71
+$GPRMC,082049.00,A,5159.72652,N,00423.26754,E,0.103,81.42,120308,,,A*57
+$GPRMC,082050.00,A,5159.72660,N,00423.26767,E,0.697,82.08,120308,,,A*59
+$GPRMC,082051.00,A,5159.72663,N,00423.26841,E,2.747,88.07,120308,,,A*5B
+$GPRMC,082052.00,A,5159.72663,N,00423.27058,E,6.683,89.94,120308,,,A*5F
+$GPRMC,082053.00,A,5159.72659,N,00423.27454,E,10.470,91.22,120308,,,A*62
+$GPRMC,082054.00,A,5159.72640,N,00423.27965,E,11.969,94.87,120308,,,A*6C
+$GPRMC,082055.00,A,5159.72592,N,00423.28534,E,12.927,100.12,120308,,,A*5F
+$GPRMC,082056.00,A,5159.72513,N,00423.29157,E,14.878,104.75,120308,,,A*5D
+$GPRMC,082057.00,A,5159.72379,N,00423.29843,E,16.735,111.99,120308,,,A*58
+$GPRMC,082058.00,A,5159.72143,N,00423.30534,E,18.443,124.47,120308,,,A*50
+$GPRMC,082059.00,A,5159.71759,N,00423.31184,E,20.997,138.76,120308,,,A*51
+$GPRMC,082100.00,A,5159.71229,N,00423.31757,E,23.918,150.38,120308,,,A*56
+$GPRMC,082101.00,A,5159.70571,N,00423.32255,E,27.113,156.18,120308,,,A*5B
+$GPRMC,082102.00,A,5159.69847,N,00423.32734,E,28.080,157.55,120308,,,A*56
+$GPRMC,082103.00,A,5159.69092,N,00423.33228,E,29.380,157.84,120308,,,A*50
+$GPRMC,082104.00,A,5159.68295,N,00423.33747,E,31.202,157.80,120308,,,A*59
+$GPRMC,082105.00,A,5159.67450,N,00423.34303,E,33.210,157.83,120308,,,A*59
+$GPRMC,082106.00,A,5159.66550,N,00423.34897,E,35.403,157.76,120308,,,A*54
+$GPRMC,082107.00,A,5159.65612,N,00423.35530,E,35.902,157.74,120308,,,A*5C
+$GPRMC,082108.00,A,5159.64660,N,00423.36170,E,36.853,157.84,120308,,,A*5D
+$GPRMC,082109.00,A,5159.63682,N,00423.36818,E,37.961,158.17,120308,,,A*54
+$GPRMC,082110.00,A,5159.62676,N,00423.37469,E,38.771,158.55,120308,,,A*5B
+$GPRMC,082111.00,A,5159.61645,N,00423.38126,E,39.579,159.17,120308,,,A*54
+$GPRMC,082112.00,A,5159.60592,N,00423.38783,E,40.389,159.36,120308,,,A*52
+$GPRMC,082113.00,A,5159.59523,N,00423.39441,E,40.982,159.48,120308,,,A*57
+$GPRMC,082114.00,A,5159.58443,N,00423.40106,E,41.294,159.36,120308,,,A*5A
+$GPRMC,082115.00,A,5159.57356,N,00423.40775,E,41.546,159.25,120308,,,A*5F
+$GPRMC,082116.00,A,5159.56265,N,00423.41450,E,41.657,159.32,120308,,,A*5C
+$GPRMC,082117.00,A,5159.55172,N,00423.42121,E,41.619,159.56,120308,,,A*53
+$GPRMC,082118.00,A,5159.54083,N,00423.42782,E,41.403,159.70,120308,,,A*50
+$GPRMC,082119.00,A,5159.52997,N,00423.43424,E,41.127,160.49,120308,,,A*56
+$GPRMC,082120.00,A,5159.51911,N,00423.44043,E,41.115,160.97,120308,,,A*51
+$GPRMC,082121.00,A,5159.50815,N,00423.44644,E,41.742,161.67,120308,,,A*5F
+$GPRMC,082122.00,A,5159.49697,N,00423.45223,E,42.343,162.79,120308,,,A*5E
+$GPRMC,082123.00,A,5159.48557,N,00423.45776,E,42.957,163.74,120308,,,A*57
+$GPRMC,082124.00,A,5159.47398,N,00423.46315,E,43.510,164.00,120308,,,A*52
+$GPRMC,082125.00,A,5159.46223,N,00423.46853,E,43.938,164.22,120308,,,A*5C
+$GPRMC,082126.00,A,5159.45047,N,00423.47385,E,43.801,164.47,120308,,,A*55
+$GPRMC,082127.00,A,5159.43875,N,00423.47901,E,43.524,164.88,120308,,,A*54
+$GPRMC,082128.00,A,5159.42708,N,00423.48398,E,43.219,165.28,120308,,,A*58
+$GPRMC,082129.00,A,5159.41545,N,00423.48881,E,42.986,165.52,120308,,,A*53
+$GPRMC,082130.00,A,5159.40389,N,00423.49373,E,43.011,165.06,120308,,,A*5C
+$GPRMC,082131.00,A,5159.39232,N,00423.49874,E,43.142,165.23,120308,,,A*5E
+$GPRMC,082132.00,A,5159.38072,N,00423.50368,E,43.121,165.21,120308,,,A*53
+$GPRMC,082133.00,A,5159.36906,N,00423.50859,E,43.341,165.40,120308,,,A*5C
+$GPRMC,082134.00,A,5159.35733,N,00423.51352,E,43.250,165.12,120308,,,A*57
+$GPRMC,082135.00,A,5159.34563,N,00423.51865,E,43.534,164.39,120308,,,A*52
+$GPRMC,082136.00,A,5159.33384,N,00423.52410,E,44.549,163.63,120308,,,A*51
+$GPRMC,082137.00,A,5159.32180,N,00423.52985,E,45.488,163.39,120308,,,A*54
+$GPRMC,082138.00,A,5159.30961,N,00423.53575,E,45.840,163.44,120308,,,A*5E
+$GPRMC,082139.00,A,5159.29735,N,00423.54164,E,45.945,163.54,120308,,,A*5E
+$GPRMC,082140.00,A,5159.28504,N,00423.54746,E,46.218,163.97,120308,,,A*58
+$GPRMC,082141.00,A,5159.27260,N,00423.55308,E,46.720,164.84,120308,,,A*57
+$GPRMC,082142.00,A,5159.25987,N,00423.55872,E,48.080,164.48,120308,,,A*51
+$GPRMC,082143.00,A,5159.24677,N,00423.56479,E,49.721,163.50,120308,,,A*56
+$GPRMC,082144.00,A,5159.23327,N,00423.57138,E,51.442,162.84,120308,,,A*50
+$GPRMC,082145.00,A,5159.21933,N,00423.57817,E,53.189,163.70,120308,,,A*52
+$GPRMC,082146.00,A,5159.20470,N,00423.58494,E,55.622,164.08,120308,,,A*5A
+$GPRMC,082147.00,A,5159.18942,N,00423.59174,E,56.608,164.95,120308,,,A*59
+$GPRMC,082148.00,A,5159.17414,N,00423.59833,E,56.145,165.13,120308,,,A*5C
+$GPRMC,082149.00,A,5159.15911,N,00423.60478,E,55.329,165.25,120308,,,A*50
+$GPRMC,082150.00,A,5159.14428,N,00423.61123,E,54.895,164.92,120308,,,A*54
+$GPRMC,082151.00,A,5159.12956,N,00423.61764,E,54.331,165.00,120308,,,A*5D
+$GPRMC,082152.00,A,5159.11509,N,00423.62390,E,53.494,165.22,120308,,,A*58
+$GPRMC,082153.00,A,5159.10083,N,00423.63005,E,52.881,165.05,120308,,,A*5D
+$GPRMC,082154.00,A,5159.08665,N,00423.63616,E,52.738,165.19,120308,,,A*59
+$GPRMC,082155.00,A,5159.07244,N,00423.64219,E,53.072,165.49,120308,,,A*51
+$GPRMC,082156.00,A,5159.05815,N,00423.64818,E,53.088,165.45,120308,,,A*5C
+$GPRMC,082157.00,A,5159.04393,N,00423.65423,E,52.830,164.97,120308,,,A*58
+$GPRMC,082158.00,A,5159.02978,N,00423.66029,E,52.605,165.22,120308,,,A*54
+$GPRMC,082159.00,A,5159.01567,N,00423.66621,E,52.366,165.54,120308,,,A*5B
+$GPRMC,082200.00,A,5159.00163,N,00423.67211,E,52.135,165.39,120308,,,A*5C
+$GPRMC,082201.00,A,5158.98771,N,00423.67799,E,51.523,165.31,120308,,,A*55
+$GPRMC,082202.00,A,5158.97384,N,00423.68395,E,51.640,164.87,120308,,,A*5A
+$GPRMC,082203.00,A,5158.95998,N,00423.69000,E,51.446,164.87,120308,,,A*54
+$GPRMC,082204.00,A,5158.94617,N,00423.69599,E,51.302,165.08,120308,,,A*5E
+$GPRMC,082205.00,A,5158.93239,N,00423.70186,E,51.167,165.37,120308,,,A*5F
+$GPRMC,082206.00,A,5158.91864,N,00423.70765,E,51.114,165.42,120308,,,A*51
+$GPRMC,082207.00,A,5158.90490,N,00423.71338,E,51.030,165.72,120308,,,A*5F
+$GPRMC,082208.00,A,5158.89118,N,00423.71912,E,50.965,165.34,120308,,,A*55
+$GPRMC,082209.00,A,5158.87751,N,00423.72496,E,50.955,165.20,120308,,,A*55
+$GPRMC,082210.00,A,5158.86385,N,00423.73093,E,51.036,164.79,120308,,,A*51
+$GPRMC,082211.00,A,5158.85023,N,00423.73684,E,51.029,165.06,120308,,,A*5B
+$GPRMC,082212.00,A,5158.83654,N,00423.74277,E,51.217,165.08,120308,,,A*56
+$GPRMC,082213.00,A,5158.82280,N,00423.74868,E,51.446,165.23,120308,,,A*54
+$GPRMC,082214.00,A,5158.80899,N,00423.75452,E,51.530,165.55,120308,,,A*56
+$GPRMC,082215.00,A,5158.79518,N,00423.76029,E,51.376,165.51,120308,,,A*5E
+$GPRMC,082216.00,A,5158.78147,N,00423.76615,E,50.984,164.92,120308,,,A*53
+$GPRMC,082217.00,A,5158.76788,N,00423.77208,E,50.563,165.04,120308,,,A*5B
+$GPRMC,082218.00,A,5158.75436,N,00423.77795,E,50.341,164.99,120308,,,A*53
+$GPRMC,082219.00,A,5158.74087,N,00423.78377,E,50.337,165.23,120308,,,A*5B
+$GPRMC,082220.00,A,5158.72737,N,00423.78955,E,50.408,165.23,120308,,,A*5A
+$GPRMC,082221.00,A,5158.71387,N,00423.79528,E,50.090,165.69,120308,,,A*5B
+$GPRMC,082222.00,A,5158.70027,N,00423.80105,E,50.498,165.55,120308,,,A*5E
+$GPRMC,082223.00,A,5158.68673,N,00423.80685,E,50.431,165.17,120308,,,A*5B
+$GPRMC,082224.00,A,5158.67318,N,00423.81274,E,50.463,165.09,120308,,,A*58
+$GPRMC,082225.00,A,5158.65961,N,00423.81863,E,50.778,165.18,120308,,,A*5A
+$GPRMC,082226.00,A,5158.64593,N,00423.82446,E,51.064,165.45,120308,,,A*52
+$GPRMC,082227.00,A,5158.63220,N,00423.83033,E,51.222,165.06,120308,,,A*5B
+$GPRMC,082228.00,A,5158.61843,N,00423.83629,E,51.558,165.04,120308,,,A*5C
+$GPRMC,082229.00,A,5158.60456,N,00423.84222,E,51.799,165.26,120308,,,A*53
+$GPRMC,082230.00,A,5158.59065,N,00423.84812,E,51.804,165.31,120308,,,A*51
+$GPRMC,082231.00,A,5158.57671,N,00423.85402,E,51.944,165.35,120308,,,A*50
+$GPRMC,082232.00,A,5158.56272,N,00423.85997,E,52.237,165.12,120308,,,A*5D
+$GPRMC,082233.00,A,5158.54865,N,00423.86595,E,52.495,165.22,120308,,,A*52
+$GPRMC,082234.00,A,5158.53451,N,00423.87195,E,52.761,165.27,120308,,,A*51
+$GPRMC,082235.00,A,5158.52030,N,00423.87801,E,52.969,165.21,120308,,,A*56
+$GPRMC,082236.00,A,5158.50604,N,00423.88408,E,53.164,165.30,120308,,,A*58
+$GPRMC,082237.00,A,5158.49176,N,00423.89018,E,53.223,165.06,120308,,,A*52
+$GPRMC,082238.00,A,5158.47755,N,00423.89631,E,52.941,164.91,120308,,,A*58
+$GPRMC,082239.00,A,5158.46349,N,00423.90245,E,51.991,164.97,120308,,,A*56
+$GPRMC,082240.00,A,5158.44962,N,00423.90849,E,51.437,165.31,120308,,,A*53
+$GPRMC,082241.00,A,5158.43593,N,00423.91419,E,50.674,165.69,120308,,,A*56
+$GPRMC,082242.00,A,5158.42239,N,00423.91979,E,50.201,165.44,120308,,,A*51
+$GPRMC,082243.00,A,5158.40895,N,00423.92546,E,50.069,165.26,120308,,,A*55
+$GPRMC,082244.00,A,5158.39552,N,00423.93124,E,49.976,165.01,120308,,,A*51
+$GPRMC,082245.00,A,5158.38213,N,00423.93704,E,49.943,165.10,120308,,,A*51
+$GPRMC,082246.00,A,5158.36867,N,00423.94283,E,50.387,165.11,120308,,,A*53
+$GPRMC,082247.00,A,5158.35510,N,00423.94865,E,50.787,165.27,120308,,,A*5F
+$GPRMC,082248.00,A,5158.34146,N,00423.95447,E,50.885,165.29,120308,,,A*58
+$GPRMC,082249.00,A,5158.32782,N,00423.96032,E,50.794,165.13,120308,,,A*52
+$GPRMC,082250.00,A,5158.31420,N,00423.96625,E,50.768,165.00,120308,,,A*53
+$GPRMC,082251.00,A,5158.30061,N,00423.97231,E,50.759,164.32,120308,,,A*50
+$GPRMC,082252.00,A,5158.28711,N,00423.97887,E,50.755,162.50,120308,,,A*53
+$GPRMC,082253.00,A,5158.27372,N,00423.98606,E,50.739,161.02,120308,,,A*5A
+$GPRMC,082254.00,A,5158.26043,N,00423.99374,E,50.768,159.83,120308,,,A*5A
+$GPRMC,082255.00,A,5158.24725,N,00424.00191,E,50.915,158.42,120308,,,A*58
+$GPRMC,082256.00,A,5158.23416,N,00424.01064,E,50.908,157.13,120308,,,A*52
+$GPRMC,082257.00,A,5158.22118,N,00424.01993,E,51.295,155.67,120308,,,A*57
+$GPRMC,082258.00,A,5158.20826,N,00424.02979,E,51.624,154.36,120308,,,A*52
+$GPRMC,082259.00,A,5158.19535,N,00424.04001,E,51.749,154.07,120308,,,A*5E
+$GPRMC,082300.00,A,5158.18245,N,00424.05028,E,51.840,154.15,120308,,,A*5D
+$GPRMC,082301.00,A,5158.16955,N,00424.06061,E,51.880,154.01,120308,,,A*5F
+$GPRMC,082302.00,A,5158.15667,N,00424.07097,E,51.885,153.85,120308,,,A*57
+$GPRMC,082303.00,A,5158.14377,N,00424.08131,E,51.886,153.94,120308,,,A*52
+$GPRMC,082304.00,A,5158.13081,N,00424.09149,E,51.846,154.59,120308,,,A*5C
+$GPRMC,082305.00,A,5158.11784,N,00424.10157,E,51.730,154.43,120308,,,A*5F
+$GPRMC,082306.00,A,5158.10494,N,00424.11167,E,51.575,154.35,120308,,,A*5F
+$GPRMC,082307.00,A,5158.09209,N,00424.12180,E,51.459,154.11,120308,,,A*57
+$GPRMC,082308.00,A,5158.07924,N,00424.13193,E,51.398,154.25,120308,,,A*5C
+$GPRMC,082309.00,A,5158.06642,N,00424.14199,E,51.377,154.30,120308,,,A*5B
+$GPRMC,082310.00,A,5158.05359,N,00424.15204,E,51.393,154.37,120308,,,A*54
+$GPRMC,082311.00,A,5158.04074,N,00424.16206,E,51.531,154.49,120308,,,A*5E
+$GPRMC,082312.00,A,5158.02784,N,00424.17209,E,51.639,154.51,120308,,,A*5F
+$GPRMC,082313.00,A,5158.01491,N,00424.18214,E,51.681,154.48,120308,,,A*52
+$GPRMC,082314.00,A,5158.00201,N,00424.19217,E,51.402,154.38,120308,,,A*57
+$GPRMC,082315.00,A,5157.98923,N,00424.20219,E,50.959,154.33,120308,,,A*5E
+$GPRMC,082316.00,A,5157.97650,N,00424.21208,E,50.655,154.43,120308,,,A*5C
+$GPRMC,082317.00,A,5157.96386,N,00424.22193,E,50.510,154.37,120308,,,A*51
+$GPRMC,082318.00,A,5157.95123,N,00424.23179,E,50.593,154.16,120308,,,A*5D
+$GPRMC,082319.00,A,5157.93862,N,00424.24173,E,50.589,154.08,120308,,,A*5F
+$GPRMC,082320.00,A,5157.92601,N,00424.25169,E,50.543,153.96,120308,,,A*53
+$GPRMC,082321.00,A,5157.91340,N,00424.26165,E,50.597,154.06,120308,,,A*59
+$GPRMC,082322.00,A,5157.90076,N,00424.27162,E,50.699,154.11,120308,,,A*50
+$GPRMC,082323.00,A,5157.88811,N,00424.28161,E,50.746,154.10,120308,,,A*5F
+$GPRMC,082324.00,A,5157.87543,N,00424.29162,E,50.879,154.16,120308,,,A*5A
+$GPRMC,082325.00,A,5157.86269,N,00424.30158,E,51.058,154.36,120308,,,A*5C
+$GPRMC,082326.00,A,5157.84991,N,00424.31153,E,51.186,154.29,120308,,,A*57
+$GPRMC,082327.00,A,5157.83713,N,00424.32153,E,51.163,154.22,120308,,,A*56
+$GPRMC,082328.00,A,5157.82431,N,00424.33155,E,51.310,154.21,120308,,,A*59
+$GPRMC,082329.00,A,5157.81146,N,00424.34163,E,51.492,154.12,120308,,,A*51
+$GPRMC,082330.00,A,5157.79862,N,00424.35175,E,51.437,154.12,120308,,,A*58
+$GPRMC,082331.00,A,5157.78578,N,00424.36180,E,51.427,154.35,120308,,,A*53
+$GPRMC,082332.00,A,5157.77289,N,00424.37177,E,51.596,154.60,120308,,,A*54
+$GPRMC,082333.00,A,5157.75996,N,00424.38181,E,51.773,154.27,120308,,,A*5E
+$GPRMC,082334.00,A,5157.74702,N,00424.39191,E,51.754,154.30,120308,,,A*58
+$GPRMC,082335.00,A,5157.73404,N,00424.40194,E,51.644,154.47,120308,,,A*50
+$GPRMC,082336.00,A,5157.72115,N,00424.41197,E,51.421,154.37,120308,,,A*53
+$GPRMC,082337.00,A,5157.70832,N,00424.42192,E,51.010,154.46,120308,,,A*5A
+$GPRMC,082338.00,A,5157.69560,N,00424.43183,E,50.774,154.40,120308,,,A*54
+$GPRMC,082339.00,A,5157.68286,N,00424.44169,E,50.910,154.54,120308,,,A*51
+$GPRMC,082340.00,A,5157.67012,N,00424.45157,E,50.772,154.24,120308,,,A*5E
+$GPRMC,082341.00,A,5157.65741,N,00424.46138,E,50.648,154.66,120308,,,A*58
+$GPRMC,082342.00,A,5157.64466,N,00424.47091,E,50.541,155.58,120308,,,A*59
+$GPRMC,082343.00,A,5157.63187,N,00424.48010,E,50.311,156.39,120308,,,A*54
+$GPRMC,082344.00,A,5157.61916,N,00424.48914,E,49.868,156.14,120308,,,A*5E
+$GPRMC,082345.00,A,5157.60665,N,00424.49826,E,49.212,155.43,120308,,,A*52
+$GPRMC,082346.00,A,5157.59437,N,00424.50749,E,48.666,154.77,120308,,,A*50
+$GPRMC,082347.00,A,5157.58229,N,00424.51676,E,47.853,154.48,120308,,,A*5E
+$GPRMC,082348.00,A,5157.57044,N,00424.52593,E,46.977,154.45,120308,,,A*57
+$GPRMC,082349.00,A,5157.55880,N,00424.53496,E,46.137,154.25,120308,,,A*5B
+$GPRMC,082350.00,A,5157.54739,N,00424.54389,E,45.482,154.24,120308,,,A*58
+$GPRMC,082351.00,A,5157.53614,N,00424.55273,E,44.727,154.11,120308,,,A*5E
+$GPRMC,082352.00,A,5157.52507,N,00424.56139,E,43.976,153.88,120308,,,A*59
+$GPRMC,082353.00,A,5157.51420,N,00424.56990,E,43.202,154.16,120308,,,A*5C
+$GPRMC,082354.00,A,5157.50346,N,00424.57826,E,42.965,154.32,120308,,,A*5D
+$GPRMC,082355.00,A,5157.49277,N,00424.58656,E,42.769,154.39,120308,,,A*58
+$GPRMC,082356.00,A,5157.48209,N,00424.59482,E,42.770,154.36,120308,,,A*5E
+$GPRMC,082357.00,A,5157.47137,N,00424.60312,E,43.046,154.32,120308,,,A*5D
+$GPRMC,082358.00,A,5157.46056,N,00424.61145,E,43.420,154.66,120308,,,A*51
+$GPRMC,082359.00,A,5157.44963,N,00424.61979,E,43.792,154.73,120308,,,A*54
+$GPRMC,082400.00,A,5157.43863,N,00424.62824,E,44.262,154.39,120308,,,A*50
+$GPRMC,082401.00,A,5157.42753,N,00424.63692,E,44.862,154.09,120308,,,A*57
+$GPRMC,082402.00,A,5157.41629,N,00424.64579,E,45.257,153.93,120308,,,A*53
+$GPRMC,082403.00,A,5157.40500,N,00424.65474,E,45.284,153.95,120308,,,A*5E
+$GPRMC,082404.00,A,5157.39373,N,00424.66367,E,45.179,153.83,120308,,,A*55
+$GPRMC,082405.00,A,5157.38250,N,00424.67257,E,44.969,153.89,120308,,,A*54
+$GPRMC,082406.00,A,5157.37130,N,00424.68138,E,44.811,154.20,120308,,,A*52
+$GPRMC,082407.00,A,5157.36012,N,00424.69008,E,44.714,154.39,120308,,,A*52
+$GPRMC,082408.00,A,5157.34896,N,00424.69873,E,44.586,154.29,120308,,,A*57
+$GPRMC,082409.00,A,5157.33782,N,00424.70737,E,44.515,154.41,120308,,,A*58
+$GPRMC,082410.00,A,5157.32669,N,00424.71594,E,44.423,154.52,120308,,,A*59
+$GPRMC,082411.00,A,5157.31564,N,00424.72452,E,44.174,154.31,120308,,,A*5F
+$GPRMC,082412.00,A,5157.30463,N,00424.73309,E,44.140,154.40,120308,,,A*52
+$GPRMC,082413.00,A,5157.29364,N,00424.74166,E,43.970,154.20,120308,,,A*5D
+$GPRMC,082414.00,A,5157.28266,N,00424.75021,E,43.785,154.30,120308,,,A*5E
+$GPRMC,082415.00,A,5157.27175,N,00424.75874,E,43.601,154.32,120308,,,A*56
+$GPRMC,082416.00,A,5157.26083,N,00424.76718,E,43.443,154.48,120308,,,A*53
+$GPRMC,082417.00,A,5157.24990,N,00424.77555,E,43.371,154.61,120308,,,A*5C
+$GPRMC,082418.00,A,5157.23902,N,00424.78401,E,43.495,154.19,120308,,,A*52
+$GPRMC,082419.00,A,5157.22823,N,00424.79238,E,43.120,154.24,120308,,,A*58
+$GPRMC,082420.00,A,5157.21749,N,00424.80087,E,42.986,154.08,120308,,,A*59
+$GPRMC,082421.00,A,5157.20681,N,00424.80923,E,42.541,154.26,120308,,,A*50
+$GPRMC,082422.00,A,5157.19622,N,00424.81754,E,42.095,154.09,120308,,,A*5E
+$GPRMC,082423.00,A,5157.18576,N,00424.82576,E,41.690,154.05,120308,,,A*51
+$GPRMC,082424.00,A,5157.17544,N,00424.83387,E,41.327,154.17,120308,,,A*5B
+$GPRMC,082425.00,A,5157.16517,N,00424.84192,E,41.089,153.94,120308,,,A*57
+$GPRMC,082426.00,A,5157.15502,N,00424.85005,E,40.852,153.37,120308,,,A*5B
+$GPRMC,082427.00,A,5157.14492,N,00424.85820,E,40.667,153.64,120308,,,A*52
+$GPRMC,082428.00,A,5157.13487,N,00424.86628,E,40.527,153.66,120308,,,A*5E
+$GPRMC,082429.00,A,5157.12486,N,00424.87439,E,40.588,153.27,120308,,,A*5C
+$GPRMC,082430.00,A,5157.11493,N,00424.88274,E,40.434,152.03,120308,,,A*52
+$GPRMC,082431.00,A,5157.10519,N,00424.89150,E,40.288,150.10,120308,,,A*54
+$GPRMC,082432.00,A,5157.09565,N,00424.90073,E,39.995,148.70,120308,,,A*5A
+$GPRMC,082433.00,A,5157.08625,N,00424.91022,E,39.762,147.46,120308,,,A*54
+$GPRMC,082434.00,A,5157.07703,N,00424.91994,E,39.538,146.55,120308,,,A*53
+$GPRMC,082435.00,A,5157.06796,N,00424.92979,E,39.180,146.03,120308,,,A*5B
+$GPRMC,082436.00,A,5157.05902,N,00424.93965,E,38.934,145.66,120308,,,A*52
+$GPRMC,082437.00,A,5157.05020,N,00424.94957,E,38.599,145.07,120308,,,A*50
+$GPRMC,082438.00,A,5157.04149,N,00424.95951,E,38.334,144.71,120308,,,A*56
+$GPRMC,082439.00,A,5157.03287,N,00424.96945,E,38.152,144.75,120308,,,A*51
+$GPRMC,082440.00,A,5157.02427,N,00424.97937,E,38.143,144.78,120308,,,A*5B
+$GPRMC,082441.00,A,5157.01563,N,00424.98931,E,38.361,144.78,120308,,,A*53
+$GPRMC,082442.00,A,5157.00719,N,00424.99891,E,36.056,145.03,120308,,,A*50
+$GPRMC,082443.00,A,5156.99836,N,00425.00926,E,39.245,144.81,120308,,,A*5A
+$GPRMC,082444.00,A,5156.98937,N,00425.01961,E,39.789,144.95,120308,,,A*5E
+$GPRMC,082445.00,A,5156.98028,N,00425.03003,E,39.903,144.91,120308,,,A*5F
+$GPRMC,082446.00,A,5156.97116,N,00425.04051,E,39.850,144.68,120308,,,A*5E
+$GPRMC,082447.00,A,5156.96217,N,00425.05099,E,39.883,144.59,120308,,,A*55
+$GPRMC,082448.00,A,5156.95314,N,00425.06141,E,39.830,144.35,120308,,,A*5E
+$GPRMC,082449.00,A,5156.94413,N,00425.07182,E,39.737,144.41,120308,,,A*5B
+$GPRMC,082450.00,A,5156.93513,N,00425.08218,E,39.620,144.70,120308,,,A*5F
+$GPRMC,082451.00,A,5156.92611,N,00425.09248,E,39.676,144.87,120308,,,A*51
+$GPRMC,082452.00,A,5156.91710,N,00425.10276,E,39.510,144.96,120308,,,A*57
+$GPRMC,082453.00,A,5156.90822,N,00425.11296,E,38.819,144.50,120308,,,A*59
+$GPRMC,082454.00,A,5156.89951,N,00425.12309,E,38.517,144.46,120308,,,A*53
+$GPRMC,082455.00,A,5156.89086,N,00425.13312,E,38.208,144.60,120308,,,A*57
+$GPRMC,082456.00,A,5156.88226,N,00425.14302,E,37.955,144.76,120308,,,A*50
+$GPRMC,082457.00,A,5156.87370,N,00425.15284,E,37.770,144.66,120308,,,A*5A
+$GPRMC,082458.00,A,5156.86519,N,00425.16265,E,37.758,144.59,120308,,,A*57
+$GPRMC,082459.00,A,5156.85665,N,00425.17246,E,37.850,144.66,120308,,,A*56
+$GPRMC,082500.00,A,5156.84810,N,00425.18229,E,37.923,144.65,120308,,,A*56
+$GPRMC,082501.00,A,5156.83955,N,00425.19210,E,37.864,144.68,120308,,,A*54
+$GPRMC,082502.00,A,5156.83100,N,00425.20189,E,37.720,144.76,120308,,,A*56
+$GPRMC,082503.00,A,5156.82249,N,00425.21165,E,37.682,144.88,120308,,,A*53
+$GPRMC,082504.00,A,5156.81394,N,00425.22141,E,37.772,144.93,120308,,,A*57
+$GPRMC,082505.00,A,5156.80541,N,00425.23120,E,37.828,144.63,120308,,,A*50
+$GPRMC,082506.00,A,5156.79695,N,00425.24100,E,37.493,144.49,120308,,,A*5E
+$GPRMC,082507.00,A,5156.78855,N,00425.25070,E,37.228,144.43,120308,,,A*57
+$GPRMC,082508.00,A,5156.78017,N,00425.26035,E,36.958,144.49,120308,,,A*53
+$GPRMC,082509.00,A,5156.77185,N,00425.26992,E,36.697,144.57,120308,,,A*50
+$GPRMC,082510.00,A,5156.76358,N,00425.27937,E,36.477,144.67,120308,,,A*5A
+$GPRMC,082511.00,A,5156.75535,N,00425.28879,E,36.240,144.78,120308,,,A*5D
+$GPRMC,082512.00,A,5156.74714,N,00425.29814,E,36.057,144.92,120308,,,A*54
+$GPRMC,082513.00,A,5156.73902,N,00425.30742,E,35.906,144.64,120308,,,A*58
+$GPRMC,082514.00,A,5156.73092,N,00425.31670,E,35.739,144.60,120308,,,A*58
+$GPRMC,082515.00,A,5156.72289,N,00425.32600,E,35.427,144.00,120308,,,A*5E
+$GPRMC,082516.00,A,5156.71504,N,00425.33531,E,34.977,143.65,120308,,,A*51
+$GPRMC,082517.00,A,5156.70731,N,00425.34445,E,34.393,144.07,120308,,,A*53
+$GPRMC,082518.00,A,5156.69963,N,00425.35336,E,33.941,144.49,120308,,,A*57
+$GPRMC,082519.00,A,5156.69201,N,00425.36209,E,33.497,144.69,120308,,,A*53
+$GPRMC,082520.00,A,5156.68451,N,00425.37068,E,33.108,144.59,120308,,,A*5F
+$GPRMC,082521.00,A,5156.67707,N,00425.37926,E,33.004,144.66,120308,,,A*53
+$GPRMC,082522.00,A,5156.66962,N,00425.38784,E,33.243,144.53,120308,,,A*52
+$GPRMC,082523.00,A,5156.66214,N,00425.39653,E,33.587,144.41,120308,,,A*5F
+$GPRMC,082524.00,A,5156.65457,N,00425.40532,E,33.941,144.25,120308,,,A*54
+$GPRMC,082525.00,A,5156.64685,N,00425.41427,E,34.699,144.42,120308,,,A*51
+$GPRMC,082526.00,A,5156.63896,N,00425.42333,E,35.343,144.54,120308,,,A*5C
+$GPRMC,082527.00,A,5156.63084,N,00425.43263,E,36.250,144.38,120308,,,A*59
+$GPRMC,082528.00,A,5156.62259,N,00425.44233,E,36.709,143.70,120308,,,A*55
+$GPRMC,082529.00,A,5156.61448,N,00425.45151,E,35.758,144.68,120308,,,A*5E
+$GPRMC,082530.00,A,5156.60634,N,00425.46069,E,35.601,144.86,120308,,,A*5A
+$GPRMC,082531.00,A,5156.59826,N,00425.46980,E,35.465,144.73,120308,,,A*58
+$GPRMC,082532.00,A,5156.59021,N,00425.47888,E,35.522,144.69,120308,,,A*55
+$GPRMC,082533.00,A,5156.58216,N,00425.48804,E,35.507,144.62,120308,,,A*54
+$GPRMC,082534.00,A,5156.57405,N,00425.49720,E,35.836,144.91,120308,,,A*53
+$GPRMC,082535.00,A,5156.56584,N,00425.50646,E,36.362,144.66,120308,,,A*53
+$GPRMC,082536.00,A,5156.55753,N,00425.51591,E,36.991,144.70,120308,,,A*52
+$GPRMC,082537.00,A,5156.54908,N,00425.52550,E,37.462,144.63,120308,,,A*5E
+$GPRMC,082538.00,A,5156.54048,N,00425.53529,E,38.340,144.94,120308,,,A*53
+$GPRMC,082539.00,A,5156.53163,N,00425.54528,E,39.393,145.10,120308,,,A*59
+$GPRMC,082540.00,A,5156.52267,N,00425.55558,E,39.992,144.94,120308,,,A*51
+$GPRMC,082541.00,A,5156.51359,N,00425.56604,E,40.461,144.56,120308,,,A*57
+$GPRMC,082542.00,A,5156.50449,N,00425.57661,E,40.533,144.45,120308,,,A*55
+$GPRMC,082543.00,A,5156.49540,N,00425.58713,E,40.331,144.75,120308,,,A*58
+$GPRMC,082544.00,A,5156.48627,N,00425.59748,E,40.075,144.90,120308,,,A*5B
+$GPRMC,082545.00,A,5156.47719,N,00425.60781,E,39.965,144.77,120308,,,A*59
+$GPRMC,082546.00,A,5156.46811,N,00425.61807,E,39.921,144.95,120308,,,A*50
+$GPRMC,082547.00,A,5156.45898,N,00425.62833,E,40.078,144.84,120308,,,A*5C
+$GPRMC,082548.00,A,5156.44985,N,00425.63865,E,39.992,144.97,120308,,,A*5C
+$GPRMC,082549.00,A,5156.44060,N,00425.64891,E,40.351,145.23,120308,,,A*56
+$GPRMC,082550.00,A,5156.43134,N,00425.65933,E,40.596,145.11,120308,,,A*5D
+$GPRMC,082551.00,A,5156.42208,N,00425.66983,E,40.821,145.08,120308,,,A*50
+$GPRMC,082552.00,A,5156.41279,N,00425.68039,E,40.839,145.10,120308,,,A*50
+$GPRMC,082553.00,A,5156.40349,N,00425.69092,E,40.681,145.14,120308,,,A*5B
+$GPRMC,082554.00,A,5156.39426,N,00425.70142,E,40.493,145.02,120308,,,A*5E
+$GPRMC,082555.00,A,5156.38506,N,00425.71185,E,40.287,145.12,120308,,,A*55
+$GPRMC,082556.00,A,5156.37590,N,00425.72219,E,40.091,145.10,120308,,,A*54
+$GPRMC,082557.00,A,5156.36679,N,00425.73247,E,39.779,145.12,120308,,,A*57
+$GPRMC,082558.00,A,5156.35779,N,00425.74273,E,39.684,144.90,120308,,,A*52
+$GPRMC,082559.00,A,5156.34875,N,00425.75300,E,39.764,145.02,120308,,,A*50
+$GPRMC,082600.00,A,5156.33977,N,00425.76328,E,39.655,144.77,120308,,,A*52
+$GPRMC,082601.00,A,5156.33080,N,00425.77354,E,39.482,144.76,120308,,,A*51
+$GPRMC,082602.00,A,5156.32180,N,00425.78385,E,39.789,144.94,120308,,,A*55
+$GPRMC,082603.00,A,5156.31272,N,00425.79407,E,39.582,145.11,120308,,,A*50
+$GPRMC,082604.00,A,5156.30370,N,00425.80426,E,39.839,145.04,120308,,,A*59
+$GPRMC,082605.00,A,5156.29465,N,00425.81459,E,40.081,145.14,120308,,,A*5E
+$GPRMC,082606.00,A,5156.28552,N,00425.82494,E,40.215,145.21,120308,,,A*52
+$GPRMC,082607.00,A,5156.27633,N,00425.83523,E,40.399,146.02,120308,,,A*53
+$GPRMC,082608.00,A,5156.26704,N,00425.84531,E,40.428,146.71,120308,,,A*55
+$GPRMC,082609.00,A,5156.25772,N,00425.85521,E,40.206,147.02,120308,,,A*59
+$GPRMC,082610.00,A,5156.24844,N,00425.86505,E,39.958,146.66,120308,,,A*52
+$GPRMC,082611.00,A,5156.23925,N,00425.87503,E,39.975,145.85,120308,,,A*54
+$GPRMC,082612.00,A,5156.23016,N,00425.88513,E,39.646,145.36,120308,,,A*57
+$GPRMC,082613.00,A,5156.22104,N,00425.89539,E,40.135,145.34,120308,,,A*53
+$GPRMC,082614.00,A,5156.21190,N,00425.90591,E,40.108,144.91,120308,,,A*50
+$GPRMC,082615.00,A,5156.20282,N,00425.91651,E,40.261,144.72,120308,,,A*5F
+$GPRMC,082616.00,A,5156.19371,N,00425.92709,E,40.384,144.37,120308,,,A*5F
+$GPRMC,082617.00,A,5156.18463,N,00425.93773,E,40.490,143.99,120308,,,A*56
+$GPRMC,082618.00,A,5156.17548,N,00425.94849,E,40.603,143.80,120308,,,A*5F
+$GPRMC,082619.00,A,5156.16639,N,00425.95935,E,40.739,143.27,120308,,,A*54
+$GPRMC,082620.00,A,5156.15738,N,00425.97032,E,40.628,142.85,120308,,,A*59
+$GPRMC,082621.00,A,5156.14845,N,00425.98136,E,40.518,142.54,120308,,,A*5A
+$GPRMC,082622.00,A,5156.13952,N,00425.99237,E,40.589,142.57,120308,,,A*51
+$GPRMC,082623.00,A,5156.13053,N,00426.00346,E,40.790,142.59,120308,,,A*58
+$GPRMC,082624.00,A,5156.12150,N,00426.01475,E,41.210,142.35,120308,,,A*5C
+$GPRMC,082625.00,A,5156.11235,N,00426.02586,E,40.884,143.52,120308,,,A*56
+$GPRMC,082626.00,A,5156.10307,N,00426.03671,E,41.059,143.72,120308,,,A*55
+$GPRMC,082627.00,A,5156.09384,N,00426.04755,E,41.080,143.61,120308,,,A*51
+$GPRMC,082628.00,A,5156.08469,N,00426.05844,E,41.094,143.64,120308,,,A*55
+$GPRMC,082629.00,A,5156.07550,N,00426.06928,E,41.090,143.84,120308,,,A*52
+$GPRMC,082630.00,A,5156.06633,N,00426.08008,E,41.005,144.12,120308,,,A*5C
+$GPRMC,082631.00,A,5156.05709,N,00426.09073,E,40.935,144.55,120308,,,A*53
+$GPRMC,082632.00,A,5156.04788,N,00426.10131,E,40.870,144.66,120308,,,A*57
+$GPRMC,082633.00,A,5156.03870,N,00426.11188,E,40.716,144.56,120308,,,A*56
+$GPRMC,082634.00,A,5156.02950,N,00426.12240,E,40.582,144.60,120308,,,A*5D
+$GPRMC,082635.00,A,5156.02030,N,00426.13280,E,40.364,145.08,120308,,,A*5F
+$GPRMC,082636.00,A,5156.01110,N,00426.14313,E,40.130,144.86,120308,,,A*54
+$GPRMC,082637.00,A,5156.00203,N,00426.15347,E,39.844,144.61,120308,,,A*58
+$GPRMC,082638.00,A,5155.99305,N,00426.16374,E,39.431,144.45,120308,,,A*58
+$GPRMC,082639.00,A,5155.98420,N,00426.17388,E,38.848,144.67,120308,,,A*59
+$GPRMC,082640.00,A,5155.97548,N,00426.18384,E,38.349,144.80,120308,,,A*57
+$GPRMC,082641.00,A,5155.96686,N,00426.19364,E,37.779,144.88,120308,,,A*59
+$GPRMC,082642.00,A,5155.95841,N,00426.20325,E,37.031,145.12,120308,,,A*5A
+$GPRMC,082643.00,A,5155.95008,N,00426.21247,E,35.969,146.19,120308,,,A*54
+$GPRMC,082644.00,A,5155.94203,N,00426.22098,E,33.772,147.76,120308,,,A*52
+$GPRMC,082645.00,A,5155.93457,N,00426.22846,E,30.213,149.21,120308,,,A*55
+$GPRMC,082646.00,A,5155.92796,N,00426.23470,E,25.884,150.86,120308,,,A*54
+$GPRMC,082647.00,A,5155.92237,N,00426.23963,E,21.182,152.28,120308,,,A*59
+$GPRMC,082648.00,A,5155.91767,N,00426.24355,E,18.140,152.66,120308,,,A*53
+$GPRMC,082649.00,A,5155.91339,N,00426.24660,E,16.878,158.61,120308,,,A*5F
+$GPRMC,082650.00,A,5155.90891,N,00426.24813,E,17.155,173.49,120308,,,A*51
+$GPRMC,082651.00,A,5155.90415,N,00426.24787,E,18.289,185.74,120308,,,A*58
+$GPRMC,082652.00,A,5155.89889,N,00426.24723,E,20.734,182.76,120308,,,A*59
+$GPRMC,082653.00,A,5155.89272,N,00426.24656,E,23.015,180.92,120308,,,A*5A
+$GPRMC,082654.00,A,5155.88618,N,00426.24714,E,24.563,173.22,120308,,,A*57
+$GPRMC,082655.00,A,5155.87960,N,00426.24963,E,25.258,164.51,120308,,,A*5B
+$GPRMC,082656.00,A,5155.87364,N,00426.25432,E,25.239,156.05,120308,,,A*59
+$GPRMC,082657.00,A,5155.86753,N,00426.25963,E,25.455,149.61,120308,,,A*50
+$GPRMC,082658.00,A,5155.86173,N,00426.26604,E,25.995,143.09,120308,,,A*53
+$GPRMC,082659.00,A,5155.85599,N,00426.27347,E,26.460,137.07,120308,,,A*5B
+$GPRMC,082700.00,A,5155.85091,N,00426.28202,E,26.033,130.79,120308,,,A*58
+$GPRMC,082701.00,A,5155.84669,N,00426.29116,E,25.199,124.05,120308,,,A*52
+$GPRMC,082702.00,A,5155.84317,N,00426.30066,E,24.432,117.39,120308,,,A*59
+$GPRMC,082703.00,A,5155.84062,N,00426.31054,E,23.792,111.09,120308,,,A*52
+$GPRMC,082704.00,A,5155.83885,N,00426.32058,E,23.231,104.77,120308,,,A*5D
+$GPRMC,082705.00,A,5155.83779,N,00426.33094,E,23.502,97.27,120308,,,A*68
+$GPRMC,082706.00,A,5155.83798,N,00426.34132,E,23.388,86.58,120308,,,A*62
+$GPRMC,082707.00,A,5155.83944,N,00426.35174,E,23.810,73.80,120308,,,A*6A
+$GPRMC,082708.00,A,5155.84235,N,00426.36163,E,24.568,61.61,120308,,,A*63
+$GPRMC,082709.00,A,5155.84631,N,00426.37105,E,25.854,51.15,120308,,,A*60
+$GPRMC,082710.00,A,5155.85089,N,00426.37855,E,23.969,44.85,120308,,,A*64
+$GPRMC,082711.00,A,5155.85700,N,00426.38325,E,24.454,30.88,120308,,,A*6A
+$GPRMC,082712.00,A,5155.86375,N,00426.38757,E,24.073,22.72,120308,,,A*6A
+$GPRMC,082713.00,A,5155.87023,N,00426.39122,E,20.126,19.24,120308,,,A*61
+$GPRMC,082714.00,A,5155.87534,N,00426.39372,E,14.444,16.00,120308,,,A*6D
+$GPRMC,082715.00,A,5155.87931,N,00426.39525,E,12.503,11.62,120308,,,A*66
+$GPRMC,082716.00,A,5155.88299,N,00426.39577,E,14.021,357.65,120308,,,A*51
+$GPRMC,082717.00,A,5155.88728,N,00426.39477,E,15.988,346.07,120308,,,A*51
+$GPRMC,082718.00,A,5155.89253,N,00426.39090,E,19.897,336.10,120308,,,A*59
+$GPRMC,082719.00,A,5155.89767,N,00426.38573,E,21.018,331.36,120308,,,A*54
+$GPRMC,082720.00,A,5155.90365,N,00426.38125,E,23.358,335.39,120308,,,A*59
+$GPRMC,082721.00,A,5155.90955,N,00426.37414,E,25.316,326.60,120308,,,A*5B
+$GPRMC,082722.00,A,5155.91479,N,00426.36661,E,24.748,321.43,120308,,,A*53
+$GPRMC,082723.00,A,5155.92042,N,00426.35861,E,25.400,316.07,120308,,,A*5A
+$GPRMC,082724.00,A,5155.92567,N,00426.34943,E,25.950,308.78,120308,,,A*50
+$GPRMC,082725.00,A,5155.93020,N,00426.33976,E,25.996,303.42,120308,,,A*5F
+$GPRMC,082726.00,A,5155.93374,N,00426.32926,E,25.406,297.21,120308,,,A*57
+$GPRMC,082727.00,A,5155.93663,N,00426.31920,E,22.878,293.55,120308,,,A*55
+$GPRMC,082728.00,A,5155.93825,N,00426.31009,E,18.685,285.10,120308,,,A*57
+$GPRMC,082729.00,A,5155.93928,N,00426.30305,E,13.715,281.48,120308,,,A*5E
+$GPRMC,082730.00,A,5155.94040,N,00426.29825,E,10.462,293.54,120308,,,A*59
+$GPRMC,082731.00,A,5155.94187,N,00426.29430,E,10.346,305.16,120308,,,A*53
+$GPRMC,082732.00,A,5155.94419,N,00426.29118,E,11.907,319.33,120308,,,A*59
+$GPRMC,082733.00,A,5155.94783,N,00426.28868,E,14.599,326.33,120308,,,A*55
+$GPRMC,082734.00,A,5155.95034,N,00426.28367,E,16.464,314.46,120308,,,A*5E
+$GPRMC,082735.00,A,5155.95298,N,00426.27716,E,19.069,302.68,120308,,,A*5B
+$GPRMC,082736.00,A,5155.95749,N,00426.27136,E,21.892,314.14,120308,,,A*5E
+$GPRMC,082737.00,A,5155.96385,N,00426.26603,E,25.778,325.46,120308,,,A*52
+$GPRMC,082738.00,A,5155.97032,N,00426.25936,E,28.372,325.12,120308,,,A*5B
+$GPRMC,082739.00,A,5155.97735,N,00426.25197,E,31.279,326.75,120308,,,A*59
+$GPRMC,082740.00,A,5155.98515,N,00426.24408,E,33.658,326.14,120308,,,A*58
+$GPRMC,082741.00,A,5155.99341,N,00426.23543,E,36.005,326.25,120308,,,A*5F
+$GPRMC,082742.00,A,5156.00211,N,00426.22609,E,38.307,325.50,120308,,,A*59
+$GPRMC,082743.00,A,5156.01122,N,00426.21587,E,40.700,324.76,120308,,,A*55
+$GPRMC,082744.00,A,5156.02060,N,00426.20491,E,41.868,323.72,120308,,,A*52
+$GPRMC,082745.00,A,5156.02978,N,00426.19323,E,42.032,322.11,120308,,,A*57
+$GPRMC,082746.00,A,5156.03898,N,00426.18120,E,42.968,322.19,120308,,,A*54
+$GPRMC,082747.00,A,5156.04795,N,00426.16847,E,42.870,318.92,120308,,,A*54
+$GPRMC,082748.00,A,5156.05719,N,00426.15581,E,43.137,318.87,120308,,,A*55
+$GPRMC,082749.00,A,5156.06643,N,00426.14300,E,43.121,317.97,120308,,,A*5E
+$GPRMC,082750.00,A,5156.07557,N,00426.13014,E,42.657,317.52,120308,,,A*5E
+$GPRMC,082751.00,A,5156.08484,N,00426.11768,E,42.478,317.46,120308,,,A*5B
+$GPRMC,082752.00,A,5156.09388,N,00426.10493,E,42.438,317.55,120308,,,A*52
+$GPRMC,082753.00,A,5156.10281,N,00426.09214,E,42.372,317.59,120308,,,A*57
+$GPRMC,082754.00,A,5156.11155,N,00426.07922,E,42.376,316.56,120308,,,A*51
+$GPRMC,082755.00,A,5156.12031,N,00426.06654,E,41.463,318.16,120308,,,A*55
+$GPRMC,082756.00,A,5156.12877,N,00426.05413,E,40.835,317.31,120308,,,A*5A
+$GPRMC,082757.00,A,5156.13721,N,00426.04174,E,40.915,316.81,120308,,,A*5A
+$GPRMC,082758.00,A,5156.14568,N,00426.02939,E,40.496,316.67,120308,,,A*54
+$GPRMC,082759.00,A,5156.15404,N,00426.01709,E,40.416,317.27,120308,,,A*5C
+$GPRMC,082800.00,A,5156.16232,N,00426.00477,E,40.321,317.46,120308,,,A*50
+$GPRMC,082801.00,A,5156.17072,N,00425.99273,E,39.941,318.17,120308,,,A*5E
+$GPRMC,082802.00,A,5156.17919,N,00425.98115,E,39.468,319.11,120308,,,A*5A
+$GPRMC,082803.00,A,5156.18737,N,00425.96956,E,38.904,318.96,120308,,,A*5F
+$GPRMC,082804.00,A,5156.19563,N,00425.95835,E,38.775,321.57,120308,,,A*52
+$GPRMC,082805.00,A,5156.20410,N,00425.94757,E,38.873,322.70,120308,,,A*59
+$GPRMC,082806.00,A,5156.21266,N,00425.93701,E,38.722,322.85,120308,,,A*59
+$GPRMC,082807.00,A,5156.22115,N,00425.92637,E,38.478,322.57,120308,,,A*5A
+$GPRMC,082808.00,A,5156.22956,N,00425.91578,E,38.240,322.63,120308,,,A*5B
+$GPRMC,082809.00,A,5156.23795,N,00425.90529,E,37.923,322.63,120308,,,A*5E
+$GPRMC,082810.00,A,5156.24627,N,00425.89500,E,37.531,323.03,120308,,,A*52
+$GPRMC,082811.00,A,5156.25464,N,00425.88507,E,37.538,323.78,120308,,,A*54
+$GPRMC,082812.00,A,5156.26302,N,00425.87514,E,37.392,324.13,120308,,,A*52
+$GPRMC,082813.00,A,5156.27139,N,00425.86529,E,37.198,324.28,120308,,,A*57
+$GPRMC,082814.00,A,5156.27980,N,00425.85555,E,37.456,324.70,120308,,,A*58
+$GPRMC,082815.00,A,5156.28826,N,00425.84577,E,37.599,324.69,120308,,,A*50
+$GPRMC,082816.00,A,5156.29681,N,00425.83595,E,37.814,324.68,120308,,,A*53
+$GPRMC,082817.00,A,5156.30542,N,00425.82609,E,37.979,324.66,120308,,,A*55
+$GPRMC,082818.00,A,5156.31412,N,00425.81627,E,38.149,324.80,120308,,,A*5C
+$GPRMC,082819.00,A,5156.32285,N,00425.80650,E,38.001,324.67,120308,,,A*53
+$GPRMC,082820.00,A,5156.33155,N,00425.79671,E,37.605,324.69,120308,,,A*50
+$GPRMC,082821.00,A,5156.34001,N,00425.78701,E,37.426,324.42,120308,,,A*5B
+$GPRMC,082822.00,A,5156.34825,N,00425.77749,E,36.427,324.23,120308,,,A*52
+$GPRMC,082823.00,A,5156.35648,N,00425.76814,E,36.036,324.51,120308,,,A*50
+$GPRMC,082824.00,A,5156.36446,N,00425.75872,E,35.272,323.40,120308,,,A*5D
+$GPRMC,082825.00,A,5156.37251,N,00425.74954,E,35.405,324.86,120308,,,A*52
+$GPRMC,082826.00,A,5156.38062,N,00425.74045,E,35.410,324.71,120308,,,A*59
+$GPRMC,082827.00,A,5156.38868,N,00425.73134,E,35.168,324.44,120308,,,A*56
+$GPRMC,082828.00,A,5156.39675,N,00425.72237,E,34.785,324.43,120308,,,A*58
+$GPRMC,082829.00,A,5156.40471,N,00425.71328,E,35.275,324.37,120308,,,A*55
+$GPRMC,082830.00,A,5156.41266,N,00425.70401,E,35.121,322.98,120308,,,A*50
+$GPRMC,082831.00,A,5156.42054,N,00425.69448,E,35.624,322.56,120308,,,A*54
+$GPRMC,082832.00,A,5156.42833,N,00425.68476,E,35.487,322.62,120308,,,A*5E
+$GPRMC,082833.00,A,5156.43615,N,00425.67515,E,35.546,322.98,120308,,,A*56
+$GPRMC,082834.00,A,5156.44405,N,00425.66555,E,35.866,323.67,120308,,,A*5E
+$GPRMC,082835.00,A,5156.45193,N,00425.65598,E,35.619,323.80,120308,,,A*59
+$GPRMC,082836.00,A,5156.45981,N,00425.64645,E,35.397,324.19,120308,,,A*57
+$GPRMC,082837.00,A,5156.46772,N,00425.63706,E,35.631,324.39,120308,,,A*5D
+$GPRMC,082838.00,A,5156.47566,N,00425.62758,E,35.939,324.44,120308,,,A*53
+$GPRMC,082839.00,A,5156.48366,N,00425.61797,E,36.441,324.39,120308,,,A*50
+$GPRMC,082840.00,A,5156.49183,N,00425.60838,E,36.294,324.15,120308,,,A*5D
+$GPRMC,082841.00,A,5156.49977,N,00425.59895,E,35.133,324.14,120308,,,A*5E
+$GPRMC,082842.00,A,5156.50764,N,00425.58977,E,34.950,324.85,120308,,,A*51
+$GPRMC,082843.00,A,5156.51558,N,00425.58066,E,35.351,325.08,120308,,,A*5B
+$GPRMC,082844.00,A,5156.52353,N,00425.57145,E,35.613,325.24,120308,,,A*50
+$GPRMC,082845.00,A,5156.53132,N,00425.56206,E,35.245,324.78,120308,,,A*5F
+$GPRMC,082846.00,A,5156.53914,N,00425.55285,E,35.192,325.36,120308,,,A*5A
+$GPRMC,082847.00,A,5156.54705,N,00425.54380,E,35.032,325.49,120308,,,A*54
+$GPRMC,082848.00,A,5156.55503,N,00425.53480,E,35.355,325.20,120308,,,A*53
+$GPRMC,082849.00,A,5156.56298,N,00425.52564,E,35.286,325.10,120308,,,A*52
+$GPRMC,082850.00,A,5156.57092,N,00425.51658,E,35.179,325.04,120308,,,A*5A
+$GPRMC,082851.00,A,5156.57889,N,00425.50751,E,35.105,324.90,120308,,,A*57
+$GPRMC,082852.00,A,5156.58676,N,00425.49821,E,35.183,324.85,120308,,,A*5F
+$GPRMC,082853.00,A,5156.59481,N,00425.48908,E,35.664,324.86,120308,,,A*53
+$GPRMC,082854.00,A,5156.60297,N,00425.47973,E,36.411,324.77,120308,,,A*51
+$GPRMC,082855.00,A,5156.61135,N,00425.47021,E,37.366,324.86,120308,,,A*5C
+$GPRMC,082856.00,A,5156.61994,N,00425.46040,E,38.311,324.85,120308,,,A*56
+$GPRMC,082857.00,A,5156.62870,N,00425.45044,E,38.859,324.95,120308,,,A*5E
+$GPRMC,082858.00,A,5156.63750,N,00425.44037,E,39.314,325.36,120308,,,A*53
+$GPRMC,082859.00,A,5156.64628,N,00425.43004,E,38.932,324.32,120308,,,A*56
+$GPRMC,082900.00,A,5156.65512,N,00425.41986,E,38.881,324.93,120308,,,A*53
+$GPRMC,082901.00,A,5156.66403,N,00425.40989,E,38.751,325.19,120308,,,A*5F
+$GPRMC,082902.00,A,5156.67289,N,00425.39997,E,38.533,324.91,120308,,,A*5F
+$GPRMC,082903.00,A,5156.68157,N,00425.38993,E,38.653,325.07,120308,,,A*5F
+$GPRMC,082904.00,A,5156.69046,N,00425.38009,E,38.576,325.14,120308,,,A*54
+$GPRMC,082905.00,A,5156.69929,N,00425.37026,E,38.490,325.39,120308,,,A*51
+$GPRMC,082906.00,A,5156.70812,N,00425.36044,E,38.504,325.33,120308,,,A*50
+$GPRMC,082907.00,A,5156.71699,N,00425.35058,E,38.843,325.23,120308,,,A*5C
+$GPRMC,082908.00,A,5156.72590,N,00425.34057,E,39.330,325.63,120308,,,A*5E
+$GPRMC,082909.00,A,5156.73475,N,00425.33041,E,39.294,325.74,120308,,,A*5D
+$GPRMC,082910.00,A,5156.74365,N,00425.32036,E,39.109,325.64,120308,,,A*53
+$GPRMC,082911.00,A,5156.75256,N,00425.31033,E,39.283,325.65,120308,,,A*54
+$GPRMC,082912.00,A,5156.76148,N,00425.30018,E,39.591,325.72,120308,,,A*52
+$GPRMC,082913.00,A,5156.77045,N,00425.28997,E,39.720,325.61,120308,,,A*53
+$GPRMC,082914.00,A,5156.77972,N,00425.27987,E,39.875,325.40,120308,,,A*5B
+$GPRMC,082915.00,A,5156.78880,N,00425.26951,E,39.843,325.32,120308,,,A*53
+$GPRMC,082916.00,A,5156.79791,N,00425.25918,E,39.857,325.17,120308,,,A*52
+$GPRMC,082917.00,A,5156.80706,N,00425.24890,E,39.746,324.98,120308,,,A*52
+$GPRMC,082918.00,A,5156.81626,N,00425.23867,E,40.093,325.02,120308,,,A*53
+$GPRMC,082919.00,A,5156.82545,N,00425.22836,E,40.057,325.10,120308,,,A*59
+$GPRMC,082920.00,A,5156.83466,N,00425.21812,E,40.198,325.09,120308,,,A*5D
+$GPRMC,082921.00,A,5156.84375,N,00425.20777,E,40.146,324.98,120308,,,A*59
+$GPRMC,082922.00,A,5156.85280,N,00425.19734,E,40.318,325.01,120308,,,A*55
+$GPRMC,082923.00,A,5156.86190,N,00425.18687,E,40.485,324.88,120308,,,A*5E
+$GPRMC,082924.00,A,5156.87111,N,00425.17644,E,40.445,324.93,120308,,,A*57
+$GPRMC,082925.00,A,5156.88026,N,00425.16594,E,40.461,324.75,120308,,,A*5D
+$GPRMC,082926.00,A,5156.88941,N,00425.15540,E,40.492,324.73,120308,,,A*56
+$GPRMC,082927.00,A,5156.89853,N,00425.14487,E,40.364,324.85,120308,,,A*58
+$GPRMC,082928.00,A,5156.90760,N,00425.13439,E,40.181,324.80,120308,,,A*5E
+$GPRMC,082929.00,A,5156.91663,N,00425.12387,E,40.282,324.45,120308,,,A*56
+$GPRMC,082930.00,A,5156.92561,N,00425.11317,E,40.437,324.07,120308,,,A*58
+$GPRMC,082931.00,A,5156.93470,N,00425.10253,E,40.600,324.70,120308,,,A*5F
+$GPRMC,082932.00,A,5156.94392,N,00425.09200,E,40.795,325.08,120308,,,A*5D
+$GPRMC,082933.00,A,5156.95316,N,00425.08140,E,40.887,325.18,120308,,,A*5A
+$GPRMC,082934.00,A,5156.96240,N,00425.07083,E,40.902,324.87,120308,,,A*56
+$GPRMC,082935.00,A,5156.97158,N,00425.06017,E,40.895,324.79,120308,,,A*5E
+$GPRMC,082936.00,A,5156.98082,N,00425.04958,E,40.881,324.95,120308,,,A*53
+$GPRMC,082937.00,A,5156.99010,N,00425.03899,E,40.889,324.71,120308,,,A*51
+$GPRMC,082938.00,A,5156.99937,N,00425.02835,E,40.982,324.69,120308,,,A*56
+$GPRMC,082939.00,A,5157.00874,N,00425.01776,E,41.153,324.90,120308,,,A*58
+$GPRMC,082940.00,A,5157.01803,N,00425.00704,E,41.177,324.13,120308,,,A*5E
+$GPRMC,082941.00,A,5157.02739,N,00424.99606,E,41.727,324.14,120308,,,A*5C
+$GPRMC,082942.00,A,5157.03691,N,00424.98534,E,42.217,325.10,120308,,,A*5E
+$GPRMC,082943.00,A,5157.04671,N,00424.97448,E,43.250,325.42,120308,,,A*56
+$GPRMC,082944.00,A,5157.05671,N,00424.96333,E,44.365,325.28,120308,,,A*56
+$GPRMC,082945.00,A,5157.06700,N,00424.95178,E,45.645,325.46,120308,,,A*53
+$GPRMC,082946.00,A,5157.07763,N,00424.93992,E,46.954,325.43,120308,,,A*57
+$GPRMC,082947.00,A,5157.08862,N,00424.92777,E,48.078,326.05,120308,,,A*5B
+$GPRMC,082948.00,A,5157.10007,N,00424.91582,E,49.330,327.84,120308,,,A*5B
+$GPRMC,082949.00,A,5157.11212,N,00424.90436,E,50.191,329.72,120308,,,A*54
+$GPRMC,082950.00,A,5157.12411,N,00424.89288,E,50.819,330.90,120308,,,A*5C
+$GPRMC,082951.00,A,5157.13663,N,00424.88191,E,51.394,332.06,120308,,,A*53
+$GPRMC,082952.00,A,5157.14941,N,00424.87140,E,51.061,333.31,120308,,,A*57
+$GPRMC,082953.00,A,5157.16218,N,00424.86142,E,50.490,334.42,120308,,,A*58
+$GPRMC,082954.00,A,5157.17481,N,00424.85183,E,49.463,334.83,120308,,,A*5F
+$GPRMC,082955.00,A,5157.18724,N,00424.84243,E,48.936,334.79,120308,,,A*5A
+$GPRMC,082956.00,A,5157.19950,N,00424.83304,E,48.521,334.42,120308,,,A*52
+$GPRMC,082957.00,A,5157.21144,N,00424.82347,E,48.134,333.96,120308,,,A*5D
+$GPRMC,082958.00,A,5157.22334,N,00424.81395,E,47.765,334.02,120308,,,A*5F
+$GPRMC,082959.00,A,5157.23513,N,00424.80448,E,47.150,333.48,120308,,,A*53
+$GPRMC,083000.00,A,5157.24686,N,00424.79507,E,46.757,333.51,120308,,,A*5B
+$GPRMC,083001.00,A,5157.25853,N,00424.78588,E,46.577,334.26,120308,,,A*5C
+$GPRMC,083002.00,A,5157.27024,N,00424.77698,E,45.996,334.40,120308,,,A*58
+$GPRMC,083003.00,A,5157.28179,N,00424.76818,E,45.518,334.36,120308,,,A*53
+$GPRMC,083004.00,A,5157.29314,N,00424.75944,E,45.062,334.40,120308,,,A*5E
+$GPRMC,083005.00,A,5157.30441,N,00424.75083,E,44.572,334.45,120308,,,A*52
+$GPRMC,083006.00,A,5157.31557,N,00424.74227,E,44.412,334.38,120308,,,A*56
+$GPRMC,083007.00,A,5157.32671,N,00424.73372,E,44.273,334.25,120308,,,A*58
+$GPRMC,083008.00,A,5157.33780,N,00424.72516,E,44.118,334.20,120308,,,A*57
+$GPRMC,083009.00,A,5157.34885,N,00424.71666,E,43.870,334.44,120308,,,A*5E
+$GPRMC,083010.00,A,5157.35983,N,00424.70824,E,43.659,334.46,120308,,,A*5E
+$GPRMC,083011.00,A,5157.37073,N,00424.69982,E,43.416,334.17,120308,,,A*53
+$GPRMC,083012.00,A,5157.38157,N,00424.69140,E,43.326,334.33,120308,,,A*5C
+$GPRMC,083013.00,A,5157.39244,N,00424.68307,E,43.305,334.54,120308,,,A*5D
+$GPRMC,083014.00,A,5157.40333,N,00424.67473,E,43.605,334.56,120308,,,A*59
+$GPRMC,083015.00,A,5157.41429,N,00424.66629,E,43.979,334.21,120308,,,A*5D
+$GPRMC,083016.00,A,5157.42533,N,00424.65774,E,44.303,334.25,120308,,,A*59
+$GPRMC,083017.00,A,5157.43642,N,00424.64908,E,44.679,334.34,120308,,,A*50
+$GPRMC,083018.00,A,5157.44762,N,00424.64040,E,45.047,334.26,120308,,,A*57
+$GPRMC,083019.00,A,5157.45888,N,00424.63160,E,45.505,334.32,120308,,,A*5E
+$GPRMC,083020.00,A,5157.47031,N,00424.62272,E,46.085,334.42,120308,,,A*54
+$GPRMC,083021.00,A,5157.48192,N,00424.61368,E,46.930,334.28,120308,,,A*50
+$GPRMC,083022.00,A,5157.49370,N,00424.60439,E,47.808,334.17,120308,,,A*59
+$GPRMC,083023.00,A,5157.50576,N,00424.59492,E,48.633,334.22,120308,,,A*54
+$GPRMC,083024.00,A,5157.51807,N,00424.58531,E,49.438,334.15,120308,,,A*5C
+$GPRMC,083025.00,A,5157.53059,N,00424.57552,E,50.356,334.13,120308,,,A*57
+$GPRMC,083026.00,A,5157.54330,N,00424.56552,E,51.244,334.11,120308,,,A*5F
+$GPRMC,083027.00,A,5157.55626,N,00424.55536,E,52.135,334.13,120308,,,A*58
+$GPRMC,083028.00,A,5157.56947,N,00424.54506,E,53.063,334.29,120308,,,A*54
+$GPRMC,083029.00,A,5157.58293,N,00424.53463,E,54.087,334.32,120308,,,A*5B
+$GPRMC,083030.00,A,5157.59657,N,00424.52400,E,54.809,334.30,120308,,,A*56
+$GPRMC,083031.00,A,5157.61043,N,00424.51327,E,55.386,334.25,120308,,,A*57
+$GPRMC,083032.00,A,5157.62436,N,00424.50245,E,55.638,334.32,120308,,,A*53
+$GPRMC,083033.00,A,5157.63837,N,00424.49164,E,55.995,334.63,120308,,,A*5A
+$GPRMC,083034.00,A,5157.65238,N,00424.48085,E,55.792,334.45,120308,,,A*5C
+$GPRMC,083035.00,A,5157.66637,N,00424.47004,E,55.653,334.34,120308,,,A*59
+$GPRMC,083036.00,A,5157.68026,N,00424.45923,E,55.487,334.34,120308,,,A*57
+$GPRMC,083037.00,A,5157.69412,N,00424.44848,E,55.174,334.44,120308,,,A*57
+$GPRMC,083038.00,A,5157.70791,N,00424.43777,E,54.824,334.23,120308,,,A*50
+$GPRMC,083039.00,A,5157.72164,N,00424.42708,E,54.691,334.25,120308,,,A*50
+$GPRMC,083040.00,A,5157.73534,N,00424.41643,E,54.583,334.33,120308,,,A*54
+$GPRMC,083041.00,A,5157.74910,N,00424.40583,E,54.808,334.44,120308,,,A*58
+$GPRMC,083042.00,A,5157.76278,N,00424.39527,E,54.309,334.55,120308,,,A*56
+$GPRMC,083043.00,A,5157.77637,N,00424.38484,E,53.970,334.63,120308,,,A*56
+$GPRMC,083044.00,A,5157.78986,N,00424.37443,E,53.616,334.32,120308,,,A*54
+$GPRMC,083045.00,A,5157.80320,N,00424.36397,E,53.340,334.11,120308,,,A*5C
+$GPRMC,083046.00,A,5157.81646,N,00424.35368,E,52.523,334.53,120308,,,A*5C
+$GPRMC,083047.00,A,5157.82967,N,00424.34342,E,52.927,334.25,120308,,,A*52
+$GPRMC,083048.00,A,5157.84287,N,00424.33316,E,52.722,334.43,120308,,,A*53
+$GPRMC,083049.00,A,5157.85602,N,00424.32296,E,52.441,334.36,120308,,,A*56
+$GPRMC,083050.00,A,5157.86906,N,00424.31275,E,52.236,334.19,120308,,,A*53
+$GPRMC,083051.00,A,5157.88210,N,00424.30259,E,52.069,334.25,120308,,,A*58
+$GPRMC,083052.00,A,5157.89511,N,00424.29251,E,52.010,334.44,120308,,,A*55
+$GPRMC,083053.00,A,5157.90816,N,00424.28242,E,52.328,334.52,120308,,,A*5A
+$GPRMC,083054.00,A,5157.92123,N,00424.27231,E,52.213,334.54,120308,,,A*54
+$GPRMC,083055.00,A,5157.93427,N,00424.26221,E,52.193,334.44,120308,,,A*5F
+$GPRMC,083056.00,A,5157.94732,N,00424.25203,E,52.160,334.25,120308,,,A*54
+$GPRMC,083057.00,A,5157.96040,N,00424.24177,E,52.405,334.17,120308,,,A*53
+$GPRMC,083058.00,A,5157.97357,N,00424.23150,E,52.719,334.34,120308,,,A*55
+$GPRMC,083059.00,A,5157.98681,N,00424.22120,E,53.014,334.26,120308,,,A*5B
+$GPRMC,083100.00,A,5158.00011,N,00424.21075,E,53.352,334.06,120308,,,A*56
+$GPRMC,083101.00,A,5158.01341,N,00424.20019,E,53.386,333.91,120308,,,A*5B
+$GPRMC,083102.00,A,5158.02666,N,00424.18954,E,53.442,333.86,120308,,,A*59
+$GPRMC,083103.00,A,5158.04001,N,00424.17897,E,53.398,334.06,120308,,,A*57
+$GPRMC,083104.00,A,5158.05335,N,00424.16848,E,53.409,334.34,120308,,,A*58
+$GPRMC,083105.00,A,5158.06677,N,00424.15811,E,53.504,334.60,120308,,,A*5B
+$GPRMC,083106.00,A,5158.08018,N,00424.14781,E,53.462,334.81,120308,,,A*50
+$GPRMC,083107.00,A,5158.09361,N,00424.13757,E,53.340,334.76,120308,,,A*5E
+$GPRMC,083108.00,A,5158.10693,N,00424.12726,E,53.238,334.17,120308,,,A*5F
+$GPRMC,083109.00,A,5158.12025,N,00424.11681,E,53.222,333.95,120308,,,A*5E
+$GPRMC,083110.00,A,5158.13353,N,00424.10633,E,53.178,334.10,120308,,,A*5B
+$GPRMC,083111.00,A,5158.14679,N,00424.09590,E,53.023,334.15,120308,,,A*58
+$GPRMC,083112.00,A,5158.16002,N,00424.08553,E,52.868,334.23,120308,,,A*5E
+$GPRMC,083113.00,A,5158.17320,N,00424.07521,E,52.696,334.24,120308,,,A*5F
+$GPRMC,083114.00,A,5158.18636,N,00424.06495,E,52.514,334.31,120308,,,A*57
+$GPRMC,083115.00,A,5158.19950,N,00424.05474,E,52.412,334.36,120308,,,A*54
+$GPRMC,083116.00,A,5158.21269,N,00424.04459,E,52.734,334.73,120308,,,A*55
+$GPRMC,083117.00,A,5158.22598,N,00424.03451,E,53.088,335.11,120308,,,A*55
+$GPRMC,083118.00,A,5158.23942,N,00424.02454,E,53.277,335.68,120308,,,A*58
+$GPRMC,083119.00,A,5158.25295,N,00424.01486,E,53.289,336.61,120308,,,A*59
+$GPRMC,083120.00,A,5158.26656,N,00424.00558,E,53.218,338.45,120308,,,A*58
+$GPRMC,083121.00,A,5158.28030,N,00423.99711,E,52.883,340.24,120308,,,A*58
+$GPRMC,083122.00,A,5158.29414,N,00423.98940,E,52.754,341.71,120308,,,A*57
+$GPRMC,083123.00,A,5158.30804,N,00423.98229,E,52.467,343.08,120308,,,A*58
+$GPRMC,083124.00,A,5158.32197,N,00423.97569,E,52.337,344.08,120308,,,A*57
+$GPRMC,083125.00,A,5158.33596,N,00423.96949,E,52.390,345.15,120308,,,A*5D
+$GPRMC,083126.00,A,5158.34996,N,00423.96357,E,52.436,345.41,120308,,,A*5A
+$GPRMC,083127.00,A,5158.36403,N,00423.95761,E,52.424,345.20,120308,,,A*5E
+$GPRMC,083128.00,A,5158.37812,N,00423.95160,E,52.508,345.12,120308,,,A*55
+$GPRMC,083129.00,A,5158.39203,N,00423.94536,E,52.257,344.95,120308,,,A*55
+$GPRMC,083130.00,A,5158.40608,N,00423.93934,E,52.595,345.35,120308,,,A*57
+$GPRMC,083131.00,A,5158.42027,N,00423.93342,E,53.213,345.64,120308,,,A*58
+$GPRMC,083132.00,A,5158.43443,N,00423.92747,E,53.606,345.48,120308,,,A*52
+$GPRMC,083133.00,A,5158.44879,N,00423.92141,E,53.809,345.33,120308,,,A*5C
+$GPRMC,083134.00,A,5158.46318,N,00423.91527,E,53.779,345.25,120308,,,A*5D
+$GPRMC,083135.00,A,5158.47755,N,00423.90921,E,53.152,345.20,120308,,,A*51
+$GPRMC,083136.00,A,5158.49172,N,00423.90329,E,52.357,345.22,120308,,,A*59
+$GPRMC,083137.00,A,5158.50567,N,00423.89729,E,51.701,344.93,120308,,,A*53
+$GPRMC,083138.00,A,5158.51943,N,00423.89126,E,51.044,344.74,120308,,,A*51
+$GPRMC,083139.00,A,5158.53302,N,00423.88538,E,50.437,345.32,120308,,,A*55
+$GPRMC,083140.00,A,5158.54651,N,00423.87972,E,50.093,345.27,120308,,,A*5C
+$GPRMC,083141.00,A,5158.55996,N,00423.87404,E,50.121,345.32,120308,,,A*58
+$GPRMC,083142.00,A,5158.57343,N,00423.86833,E,50.304,345.36,120308,,,A*53
+$GPRMC,083143.00,A,5158.58685,N,00423.86257,E,50.395,345.53,120308,,,A*51
+$GPRMC,083144.00,A,5158.60034,N,00423.85686,E,50.501,345.45,120308,,,A*56
+$GPRMC,083145.00,A,5158.61392,N,00423.85112,E,50.637,345.15,120308,,,A*50
+$GPRMC,083146.00,A,5158.62756,N,00423.84520,E,51.125,344.93,120308,,,A*52
+$GPRMC,083147.00,A,5158.64131,N,00423.83930,E,51.423,345.20,120308,,,A*52
+$GPRMC,083148.00,A,5158.65518,N,00423.83338,E,51.968,345.20,120308,,,A*53
+$GPRMC,083149.00,A,5158.66915,N,00423.82747,E,52.024,345.34,120308,,,A*5A
+$GPRMC,083150.00,A,5158.68309,N,00423.82154,E,52.030,345.36,120308,,,A*58
+$GPRMC,083151.00,A,5158.69711,N,00423.81560,E,52.242,345.44,120308,,,A*57
+$GPRMC,083152.00,A,5158.71117,N,00423.80954,E,52.746,345.25,120308,,,A*51
+$GPRMC,083153.00,A,5158.72538,N,00423.80340,E,53.221,345.24,120308,,,A*51
+$GPRMC,083154.00,A,5158.73964,N,00423.79718,E,53.608,345.30,120308,,,A*57
+$GPRMC,083155.00,A,5158.75401,N,00423.79103,E,53.560,345.34,120308,,,A*5B
+$GPRMC,083156.00,A,5158.76842,N,00423.78492,E,53.679,345.52,120308,,,A*57
+$GPRMC,083157.00,A,5158.78298,N,00423.77880,E,53.820,345.56,120308,,,A*53
+$GPRMC,083158.00,A,5158.79742,N,00423.77275,E,53.613,345.56,120308,,,A*51
+$GPRMC,083159.00,A,5158.81173,N,00423.76665,E,53.371,345.57,120308,,,A*57
+$GPRMC,083200.00,A,5158.82601,N,00423.76064,E,53.150,345.26,120308,,,A*59
+$GPRMC,083201.00,A,5158.84015,N,00423.75441,E,53.239,345.10,120308,,,A*54
+$GPRMC,083202.00,A,5158.85444,N,00423.74817,E,53.595,344.79,120308,,,A*57
+$GPRMC,083203.00,A,5158.86886,N,00423.74194,E,53.971,345.30,120308,,,A*5F
+$GPRMC,083204.00,A,5158.88339,N,00423.73580,E,54.309,345.46,120308,,,A*5C
+$GPRMC,083205.00,A,5158.89800,N,00423.72965,E,54.478,345.47,120308,,,A*5B
+$GPRMC,083206.00,A,5158.91263,N,00423.72343,E,54.549,345.29,120308,,,A*5B
+$GPRMC,083207.00,A,5158.92727,N,00423.71715,E,54.625,345.26,120308,,,A*5E
+$GPRMC,083208.00,A,5158.94186,N,00423.71083,E,54.691,345.38,120308,,,A*52
+$GPRMC,083209.00,A,5158.95649,N,00423.70458,E,54.562,345.42,120308,,,A*57
+$GPRMC,083210.00,A,5158.97111,N,00423.69836,E,54.429,345.20,120308,,,A*51
+$GPRMC,083211.00,A,5158.98569,N,00423.69210,E,54.279,345.21,120308,,,A*58
+$GPRMC,083212.00,A,5159.00021,N,00423.68586,E,54.060,345.20,120308,,,A*50
+$GPRMC,083213.00,A,5159.01467,N,00423.67955,E,53.972,345.02,120308,,,A*56
+$GPRMC,083214.00,A,5159.02903,N,00423.67325,E,53.794,345.06,120308,,,A*52
+$GPRMC,083215.00,A,5159.04326,N,00423.66707,E,53.145,344.96,120308,,,A*5F
+$GPRMC,083216.00,A,5159.05742,N,00423.66095,E,52.595,344.99,120308,,,A*50
+$GPRMC,083217.00,A,5159.07157,N,00423.65503,E,52.585,345.13,120308,,,A*5A
+$GPRMC,083218.00,A,5159.08579,N,00423.64902,E,53.244,345.35,120308,,,A*51
+$GPRMC,083219.00,A,5159.10021,N,00423.64294,E,54.326,345.39,120308,,,A*5B
+$GPRMC,083220.00,A,5159.11491,N,00423.63661,E,55.371,344.87,120308,,,A*51
+$GPRMC,083221.00,A,5159.12983,N,00423.62985,E,56.331,344.09,120308,,,A*58
+$GPRMC,083222.00,A,5159.14495,N,00423.62269,E,57.292,343.63,120308,,,A*5C
+$GPRMC,083223.00,A,5159.16029,N,00423.61533,E,58.195,343.75,120308,,,A*5B
+$GPRMC,083224.00,A,5159.17590,N,00423.60805,E,58.698,344.32,120308,,,A*5D
+$GPRMC,083225.00,A,5159.19158,N,00423.60094,E,58.926,344.69,120308,,,A*56
+$GPRMC,083226.00,A,5159.20743,N,00423.59393,E,59.291,344.84,120308,,,A*58
+$GPRMC,083227.00,A,5159.22340,N,00423.58698,E,59.770,345.09,120308,,,A*5D
+$GPRMC,083228.00,A,5159.23952,N,00423.57999,E,60.339,345.14,120308,,,A*54
+$GPRMC,083229.00,A,5159.25573,N,00423.57305,E,60.642,345.39,120308,,,A*55
+$GPRMC,083230.00,A,5159.27195,N,00423.56618,E,60.201,345.37,120308,,,A*56
+$GPRMC,083231.00,A,5159.28801,N,00423.55932,E,59.540,345.20,120308,,,A*56
+$GPRMC,083232.00,A,5159.30390,N,00423.55255,E,58.853,345.22,120308,,,A*59
+$GPRMC,083233.00,A,5159.31966,N,00423.54580,E,58.563,345.27,120308,,,A*5F
+$GPRMC,083234.00,A,5159.33537,N,00423.53912,E,58.482,345.30,120308,,,A*5A
+$GPRMC,083235.00,A,5159.35105,N,00423.53240,E,58.263,345.04,120308,,,A*5A
+$GPRMC,083236.00,A,5159.36673,N,00423.52567,E,58.390,345.27,120308,,,A*53
+$GPRMC,083237.00,A,5159.38241,N,00423.51902,E,58.453,345.36,120308,,,A*5D
+$GPRMC,083238.00,A,5159.39812,N,00423.51237,E,58.576,345.31,120308,,,A*53
+$GPRMC,083239.00,A,5159.41391,N,00423.50570,E,58.907,345.14,120308,,,A*55
+$GPRMC,083240.00,A,5159.42961,N,00423.49878,E,59.273,344.96,120308,,,A*52
+$GPRMC,083241.00,A,5159.44548,N,00423.49179,E,59.706,345.00,120308,,,A*53
+$GPRMC,083242.00,A,5159.46155,N,00423.48481,E,60.133,345.00,120308,,,A*53
+$GPRMC,083243.00,A,5159.47773,N,00423.47780,E,60.557,344.97,120308,,,A*55
+$GPRMC,083244.00,A,5159.49403,N,00423.47094,E,61.022,345.06,120308,,,A*55
+$GPRMC,083245.00,A,5159.51038,N,00423.46394,E,61.167,345.18,120308,,,A*5C
+$GPRMC,083246.00,A,5159.52677,N,00423.45697,E,61.029,345.28,120308,,,A*5C
+$GPRMC,083247.00,A,5159.54317,N,00423.44997,E,60.822,345.16,120308,,,A*59
+$GPRMC,083248.00,A,5159.55945,N,00423.44295,E,60.536,345.07,120308,,,A*5B
+$GPRMC,083249.00,A,5159.57567,N,00423.43600,E,60.285,345.20,120308,,,A*51
+$GPRMC,083250.00,A,5159.59181,N,00423.42913,E,60.128,345.37,120308,,,A*55
+$GPRMC,083251.00,A,5159.60793,N,00423.42233,E,59.907,345.51,120308,,,A*5D
+$GPRMC,083252.00,A,5159.62396,N,00423.41552,E,59.533,345.29,120308,,,A*5A
+$GPRMC,083253.00,A,5159.63978,N,00423.40868,E,58.782,345.06,120308,,,A*51
+$GPRMC,083254.00,A,5159.65548,N,00423.40199,E,58.065,345.25,120308,,,A*57
+$GPRMC,083255.00,A,5159.67098,N,00423.39532,E,57.545,344.95,120308,,,A*55
+$GPRMC,083256.00,A,5159.68634,N,00423.38873,E,57.093,345.26,120308,,,A*57
+$GPRMC,083257.00,A,5159.70160,N,00423.38226,E,56.699,345.26,120308,,,A*5E
+$GPRMC,083258.00,A,5159.71675,N,00423.37585,E,56.315,345.31,120308,,,A*55
+$GPRMC,083259.00,A,5159.73180,N,00423.36941,E,55.967,345.30,120308,,,A*53
+$GPRMC,083300.00,A,5159.74695,N,00423.36302,E,56.741,345.73,120308,,,A*59
+$GPRMC,083301.00,A,5159.76194,N,00423.35717,E,55.672,346.22,120308,,,A*5A
+$GPRMC,083302.00,A,5159.77680,N,00423.35080,E,55.816,345.07,120308,,,A*5B
+$GPRMC,083303.00,A,5159.79186,N,00423.34430,E,56.772,345.11,120308,,,A*52
+$GPRMC,083304.00,A,5159.80717,N,00423.33769,E,57.725,345.11,120308,,,A*56
+$GPRMC,083305.00,A,5159.82278,N,00423.33102,E,58.723,345.28,120308,,,A*51
+$GPRMC,083306.00,A,5159.83884,N,00423.32422,E,61.160,344.35,120308,,,A*5A
+$GPRMC,083307.00,A,5159.85502,N,00423.31750,E,60.424,345.12,120308,,,A*5B
+$GPRMC,083308.00,A,5159.87125,N,00423.31096,E,61.351,345.17,120308,,,A*5B
+$GPRMC,083309.00,A,5159.88779,N,00423.30418,E,62.140,345.18,120308,,,A*57
+$GPRMC,083310.00,A,5159.90456,N,00423.29715,E,62.676,345.25,120308,,,A*52
+$GPRMC,083311.00,A,5159.92148,N,00423.28997,E,62.846,345.52,120308,,,A*53
+$GPRMC,083312.00,A,5159.93839,N,00423.28303,E,62.920,345.53,120308,,,A*59
+$GPRMC,083313.00,A,5159.95527,N,00423.27572,E,62.614,345.19,120308,,,A*55
+$GPRMC,083314.00,A,5159.97200,N,00423.26838,E,61.967,345.32,120308,,,A*51
+$GPRMC,083315.00,A,5159.98849,N,00423.26144,E,61.102,345.27,120308,,,A*55
+$GPRMC,083316.00,A,5200.00467,N,00423.25421,E,60.392,344.84,120308,,,A*5F
+$GPRMC,083317.00,A,5200.02084,N,00423.24710,E,59.977,345.21,120308,,,A*50
+$GPRMC,083318.00,A,5200.03702,N,00423.24001,E,60.464,344.99,120308,,,A*57
+$GPRMC,083319.00,A,5200.05326,N,00423.23282,E,60.625,344.89,120308,,,A*5A
+$GPRMC,083320.00,A,5200.06951,N,00423.22568,E,60.481,345.13,120308,,,A*55
+$GPRMC,083321.00,A,5200.08573,N,00423.21859,E,60.333,344.99,120308,,,A*57
+$GPRMC,083322.00,A,5200.10195,N,00423.21149,E,60.336,345.00,120308,,,A*5D
+$GPRMC,083323.00,A,5200.11818,N,00423.20449,E,60.703,345.14,120308,,,A*52
+$GPRMC,083324.00,A,5200.13455,N,00423.19747,E,61.149,345.17,120308,,,A*5F
+$GPRMC,083325.00,A,5200.15101,N,00423.19039,E,61.480,345.11,120308,,,A*54
+$GPRMC,083326.00,A,5200.16754,N,00423.18319,E,61.623,345.00,120308,,,A*59
+$GPRMC,083327.00,A,5200.18408,N,00423.17590,E,61.779,344.92,120308,,,A*50
+$GPRMC,083328.00,A,5200.20064,N,00423.16861,E,61.906,344.80,120308,,,A*5D
+$GPRMC,083329.00,A,5200.21722,N,00423.16116,E,62.138,344.19,120308,,,A*57
+$GPRMC,083330.00,A,5200.23378,N,00423.15310,E,62.208,342.53,120308,,,A*59
+$GPRMC,083331.00,A,5200.25012,N,00423.14427,E,62.289,341.03,120308,,,A*5C
+$GPRMC,083332.00,A,5200.26579,N,00423.13454,E,61.586,339.22,120308,,,A*50
+$GPRMC,083333.00,A,5200.28144,N,00423.12424,E,61.377,337.49,120308,,,A*58
+$GPRMC,083334.00,A,5200.29689,N,00423.11320,E,60.495,335.81,120308,,,A*54
+$GPRMC,083335.00,A,5200.31198,N,00423.10159,E,59.591,333.85,120308,,,A*5B
+$GPRMC,083336.00,A,5200.32663,N,00423.08934,E,58.832,332.02,120308,,,A*59
+$GPRMC,083337.00,A,5200.34095,N,00423.07652,E,58.476,330.27,120308,,,A*58
+$GPRMC,083338.00,A,5200.35511,N,00423.06308,E,58.741,328.93,120308,,,A*55
+$GPRMC,083339.00,A,5200.36906,N,00423.04891,E,59.131,327.36,120308,,,A*54
+$GPRMC,083340.00,A,5200.38293,N,00423.03407,E,59.646,325.78,120308,,,A*58
+$GPRMC,083341.00,A,5200.39660,N,00423.01858,E,59.876,324.89,120308,,,A*56
+$GPRMC,083342.00,A,5200.41028,N,00423.00286,E,60.223,324.70,120308,,,A*5E
+$GPRMC,083343.00,A,5200.42390,N,00422.98686,E,60.549,323.74,120308,,,A*50
+$GPRMC,083344.00,A,5200.43771,N,00422.97066,E,60.738,324.40,120308,,,A*5E
+$GPRMC,083345.00,A,5200.45146,N,00422.95442,E,60.853,324.54,120308,,,A*5C
+$GPRMC,083346.00,A,5200.46526,N,00422.93830,E,60.889,324.43,120308,,,A*50
+$GPRMC,083347.00,A,5200.47906,N,00422.92218,E,60.980,324.35,120308,,,A*56
+$GPRMC,083348.00,A,5200.49297,N,00422.90607,E,61.230,324.51,120308,,,A*5F
+$GPRMC,083349.00,A,5200.50670,N,00422.88968,E,61.366,324.31,120308,,,A*50
+$GPRMC,083350.00,A,5200.52058,N,00422.87336,E,61.765,324.35,120308,,,A*5B
+$GPRMC,083351.00,A,5200.53455,N,00422.85702,E,62.068,324.57,120308,,,A*5E
+$GPRMC,083352.00,A,5200.54861,N,00422.84063,E,62.299,324.31,120308,,,A*5C
+$GPRMC,083353.00,A,5200.56259,N,00422.82411,E,62.242,323.95,120308,,,A*56
+$GPRMC,083354.00,A,5200.57657,N,00422.80755,E,62.211,324.40,120308,,,A*52
+$GPRMC,083355.00,A,5200.59049,N,00422.79109,E,61.886,324.23,120308,,,A*5F
+$GPRMC,083356.00,A,5200.60431,N,00422.77477,E,61.464,324.27,120308,,,A*5B
+$GPRMC,083357.00,A,5200.61815,N,00422.75868,E,61.123,324.65,120308,,,A*51
+$GPRMC,083358.00,A,5200.63188,N,00422.74271,E,60.836,324.60,120308,,,A*5B
+$GPRMC,083359.00,A,5200.64556,N,00422.72678,E,60.482,324.24,120308,,,A*52
+$GPRMC,083400.00,A,5200.65911,N,00422.71079,E,60.152,323.98,120308,,,A*5B
+$GPRMC,083401.00,A,5200.67264,N,00422.69491,E,59.969,324.17,120308,,,A*50
+$GPRMC,083402.00,A,5200.68614,N,00422.67910,E,59.975,324.35,120308,,,A*58
+$GPRMC,083403.00,A,5200.69970,N,00422.66337,E,60.071,324.65,120308,,,A*59
+$GPRMC,083404.00,A,5200.71324,N,00422.64761,E,60.193,324.50,120308,,,A*52
+$GPRMC,083405.00,A,5200.72673,N,00422.63172,E,60.124,324.05,120308,,,A*58
+$GPRMC,083406.00,A,5200.74025,N,00422.61573,E,60.486,324.14,120308,,,A*52
+$GPRMC,083407.00,A,5200.75385,N,00422.59966,E,60.837,324.21,120308,,,A*58
+$GPRMC,083408.00,A,5200.76750,N,00422.58351,E,61.213,324.08,120308,,,A*51
+$GPRMC,083409.00,A,5200.78123,N,00422.56720,E,61.576,323.90,120308,,,A*52
+$GPRMC,083410.00,A,5200.79506,N,00422.55087,E,61.920,324.26,120308,,,A*54
+$GPRMC,083411.00,A,5200.80897,N,00422.53451,E,61.993,324.20,120308,,,A*51
+$GPRMC,083412.00,A,5200.82294,N,00422.51816,E,62.095,324.37,120308,,,A*5E
+$GPRMC,083413.00,A,5200.83695,N,00422.50188,E,62.111,324.54,120308,,,A*5C
+$GPRMC,083414.00,A,5200.85094,N,00422.48565,E,61.927,324.56,120308,,,A*58
+$GPRMC,083415.00,A,5200.86483,N,00422.46929,E,62.062,324.03,120308,,,A*59
+$GPRMC,083416.00,A,5200.87872,N,00422.45277,E,62.289,324.05,120308,,,A*5B
+$GPRMC,083417.00,A,5200.89269,N,00422.43624,E,62.443,324.07,120308,,,A*52
+$GPRMC,083418.00,A,5200.90675,N,00422.41970,E,62.837,324.27,120308,,,A*5D
+$GPRMC,083419.00,A,5200.92091,N,00422.40306,E,63.164,324.18,120308,,,A*5A
+$GPRMC,083420.00,A,5200.93509,N,00422.38632,E,63.475,324.35,120308,,,A*52
+$GPRMC,083421.00,A,5200.94939,N,00422.36953,E,63.760,324.24,120308,,,A*5A
+$GPRMC,083422.00,A,5200.96373,N,00422.35261,E,64.038,324.07,120308,,,A*5A
+$GPRMC,083423.00,A,5200.97818,N,00422.33567,E,64.351,324.26,120308,,,A*54
+$GPRMC,083424.00,A,5200.99272,N,00422.31867,E,64.659,324.16,120308,,,A*5A
+$GPRMC,083425.00,A,5201.00727,N,00422.30155,E,64.603,323.84,120308,,,A*55
+$GPRMC,083426.00,A,5201.02199,N,00422.28449,E,65.167,324.54,120308,,,A*58
+$GPRMC,083427.00,A,5201.03679,N,00422.26747,E,65.182,324.35,120308,,,A*5E
+$GPRMC,083428.00,A,5201.05152,N,00422.25032,E,65.256,324.09,120308,,,A*5A
+$GPRMC,083429.00,A,5201.06632,N,00422.23316,E,65.349,324.22,120308,,,A*5C
+$GPRMC,083430.00,A,5201.08107,N,00422.21601,E,65.251,324.40,120308,,,A*56
+$GPRMC,083431.00,A,5201.09581,N,00422.19887,E,65.208,324.12,120308,,,A*5C
+$GPRMC,083432.00,A,5201.11057,N,00422.18178,E,65.180,324.48,120308,,,A*5C
+$GPRMC,083433.00,A,5201.12532,N,00422.16476,E,65.137,324.55,120308,,,A*5D
+$GPRMC,083434.00,A,5201.14009,N,00422.14774,E,65.211,324.41,120308,,,A*50
+$GPRMC,083435.00,A,5201.15489,N,00422.13067,E,65.363,324.51,120308,,,A*5B
+$GPRMC,083436.00,A,5201.16965,N,00422.11350,E,65.498,324.53,120308,,,A*50
+$GPRMC,083437.00,A,5201.18443,N,00422.09635,E,65.523,324.53,120308,,,A*58
+$GPRMC,083438.00,A,5201.19918,N,00422.07920,E,65.425,324.57,120308,,,A*53
+$GPRMC,083439.00,A,5201.21390,N,00422.06203,E,65.381,324.44,120308,,,A*53
+$GPRMC,083440.00,A,5201.22866,N,00422.04488,E,65.367,324.39,120308,,,A*59
+$GPRMC,083441.00,A,5201.24328,N,00422.02760,E,65.300,324.17,120308,,,A*51
+$GPRMC,083442.00,A,5201.25796,N,00422.01034,E,65.441,324.22,120308,,,A*53
+$GPRMC,083443.00,A,5201.27265,N,00421.99306,E,65.397,324.32,120308,,,A*54
+$GPRMC,083444.00,A,5201.28730,N,00421.97582,E,65.298,324.38,120308,,,A*59
+$GPRMC,083445.00,A,5201.30197,N,00421.95862,E,65.260,324.19,120308,,,A*5F
+$GPRMC,083446.00,A,5201.31663,N,00421.94138,E,65.348,324.19,120308,,,A*5D
+$GPRMC,083447.00,A,5201.33146,N,00421.92411,E,66.116,324.46,120308,,,A*56
+$GPRMC,083448.00,A,5201.34626,N,00421.90657,E,66.823,324.20,120308,,,A*52
+$GPRMC,083449.00,A,5201.36129,N,00421.88891,E,67.103,324.26,120308,,,A*58
+$GPRMC,083450.00,A,5201.37641,N,00421.87127,E,67.168,324.47,120308,,,A*59
+$GPRMC,083451.00,A,5201.39157,N,00421.85360,E,67.287,324.30,120308,,,A*57
+$GPRMC,083452.00,A,5201.40677,N,00421.83593,E,67.305,324.33,120308,,,A*5B
+$GPRMC,083453.00,A,5201.42193,N,00421.81824,E,67.214,324.10,120308,,,A*56
+$GPRMC,083454.00,A,5201.43708,N,00421.80051,E,67.296,324.28,120308,,,A*5E
+$GPRMC,083455.00,A,5201.45219,N,00421.78279,E,67.158,324.22,120308,,,A*58
+$GPRMC,083456.00,A,5201.46721,N,00421.76509,E,66.930,324.08,120308,,,A*57
+$GPRMC,083457.00,A,5201.48219,N,00421.74745,E,66.561,324.12,120308,,,A*5D
+$GPRMC,083458.00,A,5201.49715,N,00421.73003,E,66.506,324.14,120308,,,A*5F
+$GPRMC,083459.00,A,5201.51220,N,00421.71272,E,66.300,324.41,120308,,,A*52
+$GPRMC,083500.00,A,5201.52708,N,00421.69539,E,65.838,324.34,120308,,,A*53
+$GPRMC,083501.00,A,5201.54186,N,00421.67812,E,65.409,324.41,120308,,,A*52
+$GPRMC,083502.00,A,5201.55657,N,00421.66093,E,65.179,324.43,120308,,,A*5B
+$GPRMC,083503.00,A,5201.57130,N,00421.64389,E,65.102,324.56,120308,,,A*5C
+$GPRMC,083504.00,A,5201.58600,N,00421.62689,E,65.025,324.48,120308,,,A*58
+$GPRMC,083505.00,A,5201.60061,N,00421.61033,E,64.349,324.83,120308,,,A*58
+$GPRMC,083506.00,A,5201.61520,N,00421.59349,E,64.254,324.48,120308,,,A*55
+$GPRMC,083507.00,A,5201.62971,N,00421.57695,E,63.848,324.24,120308,,,A*5F
+$GPRMC,083508.00,A,5201.64403,N,00421.56006,E,63.908,324.39,120308,,,A*5A
+$GPRMC,083509.00,A,5201.65855,N,00421.54314,E,64.227,324.46,120308,,,A*5E
+$GPRMC,083510.00,A,5201.67312,N,00421.52629,E,64.419,324.72,120308,,,A*5D
+$GPRMC,083511.00,A,5201.68768,N,00421.50941,E,64.359,324.55,120308,,,A*5F
+$GPRMC,083512.00,A,5201.70210,N,00421.49242,E,64.159,324.31,120308,,,A*5F
+$GPRMC,083513.00,A,5201.71647,N,00421.47550,E,64.016,324.45,120308,,,A*5A
+$GPRMC,083514.00,A,5201.73090,N,00421.45871,E,63.826,324.53,120308,,,A*54
+$GPRMC,083515.00,A,5201.74523,N,00421.44197,E,63.577,324.48,120308,,,A*5C
+$GPRMC,083516.00,A,5201.75963,N,00421.42544,E,63.183,324.83,120308,,,A*52
+$GPRMC,083517.00,A,5201.77377,N,00421.40889,E,62.634,324.23,120308,,,A*50
+$GPRMC,083518.00,A,5201.78781,N,00421.39245,E,62.103,324.36,120308,,,A*5E
+$GPRMC,083519.00,A,5201.80188,N,00421.37618,E,62.253,324.52,120308,,,A*51
+$GPRMC,083520.00,A,5201.81589,N,00421.36031,E,61.034,325.71,120308,,,A*53
+$GPRMC,083521.00,A,5201.83034,N,00421.34462,E,63.000,325.65,120308,,,A*53
+$GPRMC,083522.00,A,5201.84498,N,00421.32883,E,63.420,326.18,120308,,,A*5F
+$GPRMC,083523.00,A,5201.85995,N,00421.31342,E,63.473,327.73,120308,,,A*50
+$GPRMC,083524.00,A,5201.87497,N,00421.29873,E,63.551,329.39,120308,,,A*5B
+$GPRMC,083525.00,A,5201.89041,N,00421.28467,E,63.734,331.30,120308,,,A*52
+$GPRMC,083526.00,A,5201.90649,N,00421.27145,E,64.058,333.11,120308,,,A*56
+$GPRMC,083527.00,A,5201.92279,N,00421.25915,E,64.226,335.23,120308,,,A*51
+$GPRMC,083528.00,A,5201.93933,N,00421.24770,E,64.396,337.19,120308,,,A*57
+$GPRMC,083529.00,A,5201.95614,N,00421.23704,E,64.629,338.94,120308,,,A*55
+$GPRMC,083530.00,A,5201.97316,N,00421.22719,E,64.891,340.74,120308,,,A*59
+$GPRMC,083531.00,A,5201.99020,N,00421.21807,E,65.027,342.87,120308,,,A*59
+$GPRMC,083532.00,A,5202.00753,N,00421.21004,E,65.182,344.80,120308,,,A*5E
+$GPRMC,083533.00,A,5202.02508,N,00421.20294,E,65.317,346.72,120308,,,A*5A
+$GPRMC,083534.00,A,5202.04283,N,00421.19679,E,65.548,348.39,120308,,,A*5F
+$GPRMC,083535.00,A,5202.06068,N,00421.19133,E,65.535,349.57,120308,,,A*51
+$GPRMC,083536.00,A,5202.07853,N,00421.18621,E,65.657,349.98,120308,,,A*52
+$GPRMC,083537.00,A,5202.09648,N,00421.18122,E,65.642,350.12,120308,,,A*53
+$GPRMC,083538.00,A,5202.11441,N,00421.17624,E,65.556,350.04,120308,,,A*51
+$GPRMC,083539.00,A,5202.13229,N,00421.17122,E,65.413,350.14,120308,,,A*5A
+$GPRMC,083540.00,A,5202.15012,N,00421.16622,E,65.153,350.06,120308,,,A*5C
+$GPRMC,083541.00,A,5202.16789,N,00421.16124,E,64.991,350.12,120308,,,A*58
+$GPRMC,083542.00,A,5202.18564,N,00421.15636,E,64.953,350.42,120308,,,A*58
+$GPRMC,083543.00,A,5202.20338,N,00421.15153,E,64.808,350.32,120308,,,A*51
+$GPRMC,083544.00,A,5202.22109,N,00421.14690,E,64.573,350.94,120308,,,A*50
+$GPRMC,083545.00,A,5202.23877,N,00421.14271,E,64.276,352.11,120308,,,A*56
+$GPRMC,083546.00,A,5202.25647,N,00421.13938,E,64.165,354.30,120308,,,A*5B
+$GPRMC,083547.00,A,5202.27422,N,00421.13693,E,64.336,355.66,120308,,,A*51
+$GPRMC,083548.00,A,5202.29206,N,00421.13530,E,64.393,357.23,120308,,,A*56
+$GPRMC,083549.00,A,5202.30996,N,00421.13439,E,64.649,358.53,120308,,,A*5F
+$GPRMC,083550.00,A,5202.32791,N,00421.13398,E,64.770,359.23,120308,,,A*5D
+$GPRMC,083551.00,A,5202.34590,N,00421.13388,E,64.854,359.73,120308,,,A*54
+$GPRMC,083552.00,A,5202.36389,N,00421.13401,E,64.869,0.10,120308,,,A*59
+$GPRMC,083553.00,A,5202.38195,N,00421.13416,E,65.022,0.16,120308,,,A*5F
+$GPRMC,083554.00,A,5202.39974,N,00421.13448,E,63.971,0.16,120308,,,A*5C
+$GPRMC,083555.00,A,5202.41795,N,00421.13471,E,65.412,359.37,120308,,,A*5B
+$GPRMC,083556.00,A,5202.43620,N,00421.13508,E,65.285,0.23,120308,,,A*58
+$GPRMC,083557.00,A,5202.45444,N,00421.13572,E,65.378,1.24,120308,,,A*57
+$GPRMC,083558.00,A,5202.47265,N,00421.13709,E,65.167,2.92,120308,,,A*53
+$GPRMC,083559.00,A,5202.49084,N,00421.13996,E,65.360,5.25,120308,,,A*57
+$GPRMC,083600.00,A,5202.50955,N,00421.14393,E,65.640,8.02,120308,,,A*52
+$GPRMC,083601.00,A,5202.52770,N,00421.14931,E,65.653,11.03,120308,,,A*61
+$GPRMC,083602.00,A,5202.54568,N,00421.15612,E,65.692,13.71,120308,,,A*6A
+$GPRMC,083603.00,A,5202.56331,N,00421.16431,E,65.283,16.73,120308,,,A*60
+$GPRMC,083604.00,A,5202.58035,N,00421.17390,E,64.860,19.77,120308,,,A*6E
+$GPRMC,083605.00,A,5202.59701,N,00421.18481,E,64.390,22.53,120308,,,A*6C
+$GPRMC,083606.00,A,5202.61339,N,00421.19691,E,64.350,24.66,120308,,,A*65
+$GPRMC,083607.00,A,5202.62950,N,00421.20998,E,64.020,27.03,120308,,,A*6A
+$GPRMC,083608.00,A,5202.64505,N,00421.22420,E,63.495,29.85,120308,,,A*6E
+$GPRMC,083609.00,A,5202.65999,N,00421.23944,E,62.834,32.91,120308,,,A*60
+$GPRMC,083610.00,A,5202.67416,N,00421.25586,E,62.209,35.39,120308,,,A*65
+$GPRMC,083611.00,A,5202.68772,N,00421.27282,E,61.663,37.44,120308,,,A*68
+$GPRMC,083612.00,A,5202.70087,N,00421.29032,E,61.012,38.96,120308,,,A*68
+$GPRMC,083613.00,A,5202.71370,N,00421.30801,E,60.329,39.87,120308,,,A*68
+$GPRMC,083614.00,A,5202.72632,N,00421.32568,E,59.648,40.38,120308,,,A*6D
+$GPRMC,083615.00,A,5202.73876,N,00421.34321,E,59.068,40.21,120308,,,A*62
+$GPRMC,083616.00,A,5202.75110,N,00421.36058,E,58.986,40.19,120308,,,A*62
+$GPRMC,083617.00,A,5202.76351,N,00421.37800,E,59.549,40.34,120308,,,A*62
+$GPRMC,083618.00,A,5202.77609,N,00421.39566,E,60.383,40.31,120308,,,A*68
+$GPRMC,083619.00,A,5202.78891,N,00421.41361,E,61.417,40.31,120308,,,A*6C
+$GPRMC,083620.00,A,5202.80194,N,00421.43185,E,62.387,40.54,120308,,,A*69
+$GPRMC,083621.00,A,5202.81514,N,00421.45039,E,63.289,40.58,120308,,,A*67
+$GPRMC,083622.00,A,5202.82852,N,00421.46915,E,64.012,40.40,120308,,,A*62
+$GPRMC,083623.00,A,5202.84202,N,00421.48800,E,64.334,40.34,120308,,,A*65
+$GPRMC,083624.00,A,5202.85555,N,00421.50690,E,64.372,40.47,120308,,,A*6E
+$GPRMC,083625.00,A,5202.86910,N,00421.52580,E,64.422,40.42,120308,,,A*66
+$GPRMC,083626.00,A,5202.88269,N,00421.54466,E,64.439,40.17,120308,,,A*6B
+$GPRMC,083627.00,A,5202.89632,N,00421.56340,E,64.340,39.83,120308,,,A*6A
+$GPRMC,083628.00,A,5202.91000,N,00421.58212,E,64.351,39.98,120308,,,A*69
+$GPRMC,083629.00,A,5202.92367,N,00421.60089,E,64.471,40.30,120308,,,A*6B
+$GPRMC,083630.00,A,5202.93737,N,00421.61986,E,64.795,40.34,120308,,,A*69
+$GPRMC,083631.00,A,5202.95104,N,00421.63894,E,65.146,40.63,120308,,,A*63
+$GPRMC,083632.00,A,5202.96479,N,00421.65816,E,65.554,40.49,120308,,,A*6F
+$GPRMC,083633.00,A,5202.97864,N,00421.67747,E,65.966,40.58,120308,,,A*6B
+$GPRMC,083634.00,A,5202.99259,N,00421.69692,E,66.371,40.51,120308,,,A*67
+$GPRMC,083635.00,A,5203.00662,N,00421.71645,E,66.658,40.42,120308,,,A*64
+$GPRMC,083636.00,A,5203.02069,N,00421.73602,E,66.860,40.38,120308,,,A*61
+$GPRMC,083637.00,A,5203.03483,N,00421.75561,E,66.829,40.31,120308,,,A*65
+$GPRMC,083638.00,A,5203.04891,N,00421.77528,E,66.824,40.84,120308,,,A*6E
+$GPRMC,083639.00,A,5203.06280,N,00421.79523,E,66.739,41.87,120308,,,A*63
+$GPRMC,083640.00,A,5203.07647,N,00421.81558,E,66.647,42.87,120308,,,A*63
+$GPRMC,083641.00,A,5203.08991,N,00421.83632,E,66.641,43.89,120308,,,A*6D
+$GPRMC,083642.00,A,5203.10310,N,00421.85737,E,66.351,44.87,120308,,,A*6B
+$GPRMC,083643.00,A,5203.11604,N,00421.87861,E,65.932,45.45,120308,,,A*66
+$GPRMC,083644.00,A,5203.12878,N,00421.89983,E,65.338,45.68,120308,,,A*6B
+$GPRMC,083645.00,A,5203.14144,N,00421.92080,E,64.844,45.25,120308,,,A*62
+$GPRMC,083646.00,A,5203.15415,N,00421.94137,E,64.360,44.42,120308,,,A*67
+$GPRMC,083647.00,A,5203.16709,N,00421.96118,E,63.751,42.30,120308,,,A*66
+$GPRMC,083648.00,A,5203.18052,N,00421.97981,E,63.565,39.08,120308,,,A*65
+$GPRMC,083649.00,A,5203.19453,N,00421.99701,E,63.165,35.47,120308,,,A*6B
+$GPRMC,083650.00,A,5203.20901,N,00422.01279,E,62.626,32.59,120308,,,A*62
+$GPRMC,083651.00,A,5203.22380,N,00422.02725,E,62.244,29.90,120308,,,A*62
+$GPRMC,083652.00,A,5203.23889,N,00422.04050,E,61.996,27.43,120308,,,A*66
+$GPRMC,083653.00,A,5203.25427,N,00422.05286,E,62.040,25.98,120308,,,A*64
+$GPRMC,083654.00,A,5203.26977,N,00422.06491,E,62.160,25.95,120308,,,A*65
+$GPRMC,083655.00,A,5203.28529,N,00422.07707,E,62.367,26.17,120308,,,A*6C
+$GPRMC,083656.00,A,5203.30084,N,00422.08941,E,62.418,26.52,120308,,,A*69
+$GPRMC,083657.00,A,5203.31632,N,00422.10207,E,62.686,27.36,120308,,,A*64
+$GPRMC,083658.00,A,5203.33169,N,00422.11522,E,62.558,28.58,120308,,,A*66
+$GPRMC,083659.00,A,5203.34679,N,00422.12884,E,62.212,29.81,120308,,,A*68
+$GPRMC,083700.00,A,5203.36167,N,00422.14286,E,61.886,30.70,120308,,,A*63
+$GPRMC,083701.00,A,5203.37631,N,00422.15721,E,61.414,31.68,120308,,,A*61
+$GPRMC,083702.00,A,5203.39073,N,00422.17169,E,60.941,31.86,120308,,,A*68
+$GPRMC,083703.00,A,5203.40508,N,00422.18613,E,60.819,31.82,120308,,,A*63
+$GPRMC,083704.00,A,5203.41943,N,00422.20062,E,61.078,32.02,120308,,,A*68
+$GPRMC,083705.00,A,5203.43379,N,00422.21530,E,61.250,32.51,120308,,,A*65
+$GPRMC,083706.00,A,5203.44815,N,00422.23028,E,61.722,33.04,120308,,,A*6F
+$GPRMC,083707.00,A,5203.46244,N,00422.24559,E,61.927,33.68,120308,,,A*67
+$GPRMC,083708.00,A,5203.47668,N,00422.26114,E,61.844,34.25,120308,,,A*66
+$GPRMC,083709.00,A,5203.49085,N,00422.27680,E,61.628,34.36,120308,,,A*61
+$GPRMC,083710.00,A,5203.50491,N,00422.29251,E,61.385,34.60,120308,,,A*67
+$GPRMC,083711.00,A,5203.51885,N,00422.30830,E,61.048,35.12,120308,,,A*6D
+$GPRMC,083712.00,A,5203.53259,N,00422.32413,E,60.590,35.48,120308,,,A*66
+$GPRMC,083713.00,A,5203.54617,N,00422.33991,E,60.078,35.57,120308,,,A*65
+$GPRMC,083714.00,A,5203.55966,N,00422.35555,E,59.570,35.36,120308,,,A*68
+$GPRMC,083715.00,A,5203.57314,N,00422.37085,E,59.278,34.48,120308,,,A*69
+$GPRMC,083716.00,A,5203.58673,N,00422.38579,E,59.151,33.73,120308,,,A*6F
+$GPRMC,083717.00,A,5203.60036,N,00422.40053,E,58.951,33.80,120308,,,A*65
+$GPRMC,083718.00,A,5203.61392,N,00422.41526,E,58.772,33.98,120308,,,A*66
+$GPRMC,083719.00,A,5203.62733,N,00422.43015,E,58.375,34.67,120308,,,A*68
+$GPRMC,083720.00,A,5203.64048,N,00422.44535,E,58.091,36.05,120308,,,A*60
+$GPRMC,083721.00,A,5203.65338,N,00422.46100,E,57.838,37.23,120308,,,A*65
+$GPRMC,083722.00,A,5203.66603,N,00422.47687,E,57.560,38.00,120308,,,A*6F
+$GPRMC,083723.00,A,5203.67850,N,00422.49282,E,57.188,38.26,120308,,,A*6E
+$GPRMC,083724.00,A,5203.69093,N,00422.50868,E,56.948,38.06,120308,,,A*61
+$GPRMC,083725.00,A,5203.70333,N,00422.52442,E,56.817,38.15,120308,,,A*6E
+$GPRMC,083726.00,A,5203.71570,N,00422.53967,E,55.838,36.85,120308,,,A*6F
+$GPRMC,083727.00,A,5203.72834,N,00422.55482,E,56.108,36.21,120308,,,A*67
+$GPRMC,083728.00,A,5203.74081,N,00422.56934,E,55.146,34.76,120308,,,A*62
+$GPRMC,083729.00,A,5203.75305,N,00422.58353,E,54.476,35.66,120308,,,A*6F
+$GPRMC,083730.00,A,5203.76551,N,00422.59858,E,55.738,35.69,120308,,,A*65
+$GPRMC,083731.00,A,5203.77815,N,00422.61330,E,55.704,35.45,120308,,,A*67
+$GPRMC,083732.00,A,5203.79067,N,00422.62774,E,55.481,35.27,120308,,,A*6A
+$GPRMC,083733.00,A,5203.80318,N,00422.64202,E,55.108,35.41,120308,,,A*60
+$GPRMC,083734.00,A,5203.81553,N,00422.65637,E,54.650,35.72,120308,,,A*67
+$GPRMC,083735.00,A,5203.82776,N,00422.67064,E,54.224,35.57,120308,,,A*62
+$GPRMC,083736.00,A,5203.83994,N,00422.68475,E,53.786,35.42,120308,,,A*67
+$GPRMC,083737.00,A,5203.85205,N,00422.69871,E,53.264,35.58,120308,,,A*68
+$GPRMC,083738.00,A,5203.86415,N,00422.71251,E,53.331,34.95,120308,,,A*63
+$GPRMC,083739.00,A,5203.87614,N,00422.72640,E,53.178,35.67,120308,,,A*64
+$GPRMC,083740.00,A,5203.88815,N,00422.74037,E,53.430,35.85,120308,,,A*6F
+$GPRMC,083741.00,A,5203.90019,N,00422.75451,E,53.763,36.02,120308,,,A*6F
+$GPRMC,083742.00,A,5203.91220,N,00422.76887,E,53.914,36.73,120308,,,A*69
+$GPRMC,083743.00,A,5203.92396,N,00422.78351,E,53.836,37.64,120308,,,A*6F
+$GPRMC,083744.00,A,5203.93561,N,00422.79833,E,53.473,38.16,120308,,,A*6E
+$GPRMC,083745.00,A,5203.94717,N,00422.81320,E,53.105,38.46,120308,,,A*64
+$GPRMC,083746.00,A,5203.95860,N,00422.82801,E,52.754,38.53,120308,,,A*65
+$GPRMC,083747.00,A,5203.96985,N,00422.84295,E,52.265,39.51,120308,,,A*68
+$GPRMC,083748.00,A,5203.98079,N,00422.85813,E,52.201,40.82,120308,,,A*64
+$GPRMC,083749.00,A,5203.99158,N,00422.87378,E,52.282,41.96,120308,,,A*6D
+$GPRMC,083750.00,A,5204.00228,N,00422.88973,E,52.175,42.76,120308,,,A*6E
+$GPRMC,083751.00,A,5204.01276,N,00422.90582,E,51.715,43.73,120308,,,A*69
+$GPRMC,083752.00,A,5204.02299,N,00422.92205,E,51.304,44.53,120308,,,A*63
+$GPRMC,083753.00,A,5204.03306,N,00422.93835,E,50.916,45.27,120308,,,A*66
+$GPRMC,083754.00,A,5204.04293,N,00422.95470,E,50.429,45.91,120308,,,A*6C
+$GPRMC,083755.00,A,5204.05259,N,00422.97106,E,49.987,46.42,120308,,,A*60
+$GPRMC,083756.00,A,5204.06206,N,00422.98737,E,49.569,46.62,120308,,,A*6F
+$GPRMC,083757.00,A,5204.07155,N,00423.00348,E,49.249,45.95,120308,,,A*68
+$GPRMC,083758.00,A,5204.08115,N,00423.01945,E,49.029,45.77,120308,,,A*62
+$GPRMC,083759.00,A,5204.09064,N,00423.03552,E,49.349,46.17,120308,,,A*6D
+$GPRMC,083800.00,A,5204.10013,N,00423.05163,E,49.224,46.39,120308,,,A*60
+$GPRMC,083801.00,A,5204.10962,N,00423.06774,E,49.258,46.39,120308,,,A*66
+$GPRMC,083802.00,A,5204.11906,N,00423.08387,E,49.308,46.80,120308,,,A*66
+$GPRMC,083803.00,A,5204.12834,N,00423.10018,E,49.261,48.10,120308,,,A*61
+$GPRMC,083804.00,A,5204.13738,N,00423.11680,E,49.226,49.13,120308,,,A*63
+$GPRMC,083805.00,A,5204.14620,N,00423.13378,E,49.447,50.18,120308,,,A*6F
+$GPRMC,083806.00,A,5204.15493,N,00423.15107,E,49.922,50.87,120308,,,A*63
+$GPRMC,083807.00,A,5204.16361,N,00423.16874,E,50.473,51.57,120308,,,A*68
+$GPRMC,083808.00,A,5204.17231,N,00423.18684,E,51.031,52.05,120308,,,A*6A
+$GPRMC,083809.00,A,5204.18107,N,00423.20516,E,51.536,51.61,120308,,,A*62
+$GPRMC,083810.00,A,5204.18992,N,00423.22363,E,52.189,51.88,120308,,,A*6C
+$GPRMC,083811.00,A,5204.19888,N,00423.24231,E,52.496,51.79,120308,,,A*63
+$GPRMC,083812.00,A,5204.20785,N,00423.26106,E,52.654,52.04,120308,,,A*68
+$GPRMC,083813.00,A,5204.21674,N,00423.27988,E,52.647,52.65,120308,,,A*6D
+$GPRMC,083814.00,A,5204.22546,N,00423.29890,E,52.671,53.62,120308,,,A*6E
+$GPRMC,083815.00,A,5204.23400,N,00423.31813,E,52.652,54.28,120308,,,A*67
+$GPRMC,083816.00,A,5204.24242,N,00423.33746,E,52.582,54.64,120308,,,A*68
+$GPRMC,083817.00,A,5204.25079,N,00423.35681,E,52.669,55.04,120308,,,A*6F
+$GPRMC,083818.00,A,5204.25910,N,00423.37636,E,52.930,55.61,120308,,,A*68
+$GPRMC,083819.00,A,5204.26736,N,00423.39616,E,52.936,56.12,120308,,,A*6D
+$GPRMC,083820.00,A,5204.27555,N,00423.41610,E,53.243,56.27,120308,,,A*66
+$GPRMC,083821.00,A,5204.28380,N,00423.43615,E,53.658,56.39,120308,,,A*60
+$GPRMC,083822.00,A,5204.29182,N,00423.45621,E,53.006,56.86,120308,,,A*6A
+$GPRMC,083823.00,A,5204.29903,N,00423.47669,E,52.548,57.66,120308,,,A*65
+$GPRMC,083824.00,A,5204.30701,N,00423.49667,E,52.780,56.62,120308,,,A*65
+$GPRMC,083825.00,A,5204.31514,N,00423.51684,E,52.560,56.53,120308,,,A*69
+$GPRMC,083826.00,A,5204.32316,N,00423.53658,E,51.912,56.43,120308,,,A*65
+$GPRMC,083827.00,A,5204.33107,N,00423.55597,E,51.078,56.46,120308,,,A*61
+$GPRMC,083828.00,A,5204.33891,N,00423.57479,E,49.940,56.59,120308,,,A*6E
+$GPRMC,083829.00,A,5204.34650,N,00423.59329,E,48.967,57.09,120308,,,A*67
+$GPRMC,083830.00,A,5204.35381,N,00423.61162,E,48.523,57.76,120308,,,A*65
+$GPRMC,083831.00,A,5204.36096,N,00423.63006,E,48.330,58.49,120308,,,A*64
+$GPRMC,083832.00,A,5204.36797,N,00423.64852,E,48.171,58.87,120308,,,A*6A
+$GPRMC,083833.00,A,5204.37490,N,00423.66716,E,48.104,59.58,120308,,,A*62
+$GPRMC,083834.00,A,5204.38151,N,00423.68579,E,47.412,59.90,120308,,,A*6E
+$GPRMC,083835.00,A,5204.38799,N,00423.70404,E,46.508,60.17,120308,,,A*61
+$GPRMC,083836.00,A,5204.39430,N,00423.72202,E,45.702,60.28,120308,,,A*66
+$GPRMC,083837.00,A,5204.40050,N,00423.73968,E,44.957,60.13,120308,,,A*6A
+$GPRMC,083838.00,A,5204.40663,N,00423.75719,E,44.649,60.34,120308,,,A*68
+$GPRMC,083839.00,A,5204.41201,N,00423.77376,E,41.628,62.20,120308,,,A*62
+$GPRMC,083840.00,A,5204.41716,N,00423.78994,E,39.361,62.26,120308,,,A*67
+$GPRMC,083841.00,A,5204.42197,N,00423.80489,E,35.826,63.29,120308,,,A*66
+$GPRMC,083842.00,A,5204.42609,N,00423.81849,E,32.247,65.69,120308,,,A*6C
+$GPRMC,083843.00,A,5204.42892,N,00423.83097,E,28.657,72.16,120308,,,A*68
+$GPRMC,083844.00,A,5204.43033,N,00423.84263,E,26.033,83.26,120308,,,A*64
+$GPRMC,083845.00,A,5204.42998,N,00423.85370,E,24.677,99.44,120308,,,A*65
+$GPRMC,083846.00,A,5204.42771,N,00423.86386,E,24.424,115.71,120308,,,A*52
+$GPRMC,083847.00,A,5204.42382,N,00423.87281,E,25.172,128.25,120308,,,A*54
+$GPRMC,083848.00,A,5204.41857,N,00423.88063,E,25.600,140.77,120308,,,A*51
+$GPRMC,083849.00,A,5204.41210,N,00423.88647,E,25.932,153.98,120308,,,A*54
+$GPRMC,083850.00,A,5204.40501,N,00423.88991,E,26.360,169.46,120308,,,A*5A
+$GPRMC,083851.00,A,5204.39780,N,00423.89013,E,25.971,185.55,120308,,,A*55
+$GPRMC,083852.00,A,5204.39065,N,00423.88714,E,25.023,199.68,120308,,,A*56
+$GPRMC,083853.00,A,5204.38458,N,00423.88197,E,23.635,211.82,120308,,,A*51
+$GPRMC,083854.00,A,5204.37955,N,00423.87545,E,21.984,221.24,120308,,,A*55
+$GPRMC,083855.00,A,5204.37532,N,00423.86850,E,19.979,226.16,120308,,,A*5E
+$GPRMC,083856.00,A,5204.37182,N,00423.86204,E,17.446,227.25,120308,,,A*57
+$GPRMC,083857.00,A,5204.36863,N,00423.85608,E,16.497,227.38,120308,,,A*5B
+$GPRMC,083858.00,A,5204.36549,N,00423.85036,E,16.632,227.72,120308,,,A*59
+$GPRMC,083859.00,A,5204.36238,N,00423.84474,E,15.841,228.27,120308,,,A*5C
+$GPRMC,083900.00,A,5204.35958,N,00423.83917,E,15.687,232.22,120308,,,A*5A
+$GPRMC,083901.00,A,5204.35743,N,00423.83311,E,15.276,247.70,120308,,,A*5C
+$GPRMC,083902.00,A,5204.35713,N,00423.82701,E,13.964,275.03,120308,,,A*55
+$GPRMC,083903.00,A,5204.35819,N,00423.82074,E,14.289,298.94,120308,,,A*56
+$GPRMC,083904.00,A,5204.36075,N,00423.81544,E,15.686,315.67,120308,,,A*57
+$GPRMC,083905.00,A,5204.36402,N,00423.80998,E,17.799,315.98,120308,,,A*53
+$GPRMC,083906.00,A,5204.36772,N,00423.80384,E,19.830,315.09,120308,,,A*59
+$GPRMC,083907.00,A,5204.37174,N,00423.79692,E,21.848,314.30,120308,,,A*52
+$GPRMC,083908.00,A,5204.37617,N,00423.78935,E,23.921,314.72,120308,,,A*56
+$GPRMC,083909.00,A,5204.38109,N,00423.78123,E,26.012,315.40,120308,,,A*53
+$GPRMC,083910.00,A,5204.38636,N,00423.77268,E,26.874,316.35,120308,,,A*5A
+$GPRMC,083911.00,A,5204.39190,N,00423.76422,E,27.179,317.43,120308,,,A*5D
+$GPRMC,083912.00,A,5204.39754,N,00423.75569,E,27.577,317.62,120308,,,A*54
+$GPRMC,083913.00,A,5204.40323,N,00423.74713,E,27.342,318.04,120308,,,A*5E
+$GPRMC,083914.00,A,5204.40892,N,00423.73864,E,27.601,317.93,120308,,,A*53
+$GPRMC,083915.00,A,5204.41464,N,00423.73012,E,27.459,317.89,120308,,,A*5B
+$GPRMC,083916.00,A,5204.42026,N,00423.72174,E,26.913,317.71,120308,,,A*5C
+$GPRMC,083917.00,A,5204.42582,N,00423.71323,E,27.326,316.62,120308,,,A*5B
+$GPRMC,083918.00,A,5204.43137,N,00423.70443,E,27.874,315.49,120308,,,A*59
+$GPRMC,083919.00,A,5204.43698,N,00423.69536,E,28.319,315.15,120308,,,A*57
+$GPRMC,083920.00,A,5204.44254,N,00423.68634,E,27.562,315.59,120308,,,A*53
+$GPRMC,083921.00,A,5204.44792,N,00423.67772,E,26.382,315.63,120308,,,A*51
+$GPRMC,083922.00,A,5204.45307,N,00423.66985,E,24.643,317.29,120308,,,A*5A
+$GPRMC,083923.00,A,5204.45788,N,00423.66258,E,22.116,317.79,120308,,,A*57
+$GPRMC,083924.00,A,5204.46208,N,00423.65631,E,18.448,317.76,120308,,,A*5E
+$GPRMC,083925.00,A,5204.46545,N,00423.65128,E,14.354,317.40,120308,,,A*5D
+$GPRMC,083926.00,A,5204.46804,N,00423.64734,E,11.146,317.17,120308,,,A*5A
+$GPRMC,083927.00,A,5204.46989,N,00423.64450,E,7.310,316.94,120308,,,A*62
+$GPRMC,083928.00,A,5204.47106,N,00423.64268,E,4.577,316.79,120308,,,A*69
+$GPRMC,083929.00,A,5204.47180,N,00423.64148,E,3.052,315.10,120308,,,A*6E
+$GPRMC,083930.00,A,5204.47223,N,00423.64075,E,1.668,315.30,120308,,,A*6C
+$GPRMC,083931.00,A,5204.47242,N,00423.64046,E,0.367,315.56,120308,,,A*61
+$GPRMC,083932.00,A,5204.47242,N,00423.64045,E,0.010,,120308,,,A*78
+$GPRMC,083933.00,A,5204.47239,N,00423.64044,E,0.012,,120308,,,A*76
+$GPRMC,083934.00,A,5204.47237,N,00423.64042,E,0.008,,120308,,,A*72
+$GPRMC,083935.00,A,5204.47236,N,00423.64038,E,0.082,317.58,120308,,,A*6B
+$GPRMC,083936.00,A,5204.47235,N,00423.64036,E,0.013,,120308,,,A*7B
+$GPRMC,083937.00,A,5204.47233,N,00423.64034,E,0.007,,120308,,,A*7B
+$GPRMC,083938.00,A,5204.47230,N,00423.64034,E,0.001,,120308,,,A*71
+$GPRMC,083939.00,A,5204.47228,N,00423.64037,E,0.008,,120308,,,A*73
+$GPRMC,083940.00,A,5204.47225,N,00423.64036,E,0.021,317.26,120308,,,A*65
+$GPRMC,083941.00,A,5204.47223,N,00423.64035,E,0.041,317.28,120308,,,A*69
+$GPRMC,083942.00,A,5204.47223,N,00423.64031,E,0.173,317.46,120308,,,A*66
+$GPRMC,083943.00,A,5204.47224,N,00423.64024,E,0.246,317.43,120308,,,A*64
+$GPRMC,083944.00,A,5204.47226,N,00423.64014,E,0.220,317.13,120308,,,A*67
+$GPRMC,083945.00,A,5204.47228,N,00423.64006,E,0.274,317.24,120308,,,A*6E
+$GPRMC,083946.00,A,5204.47230,N,00423.63996,E,0.311,317.11,120308,,,A*67
+$GPRMC,083947.00,A,5204.47229,N,00423.63992,E,0.036,317.45,120308,,,A*6D
+$GPRMC,083948.00,A,5204.47226,N,00423.63994,E,0.017,,120308,,,A*72
+$GPRMC,083949.00,A,5204.47224,N,00423.64007,E,0.003,,120308,,,A*70
+$GPRMC,083950.00,A,5204.47221,N,00423.64010,E,0.011,,120308,,,A*78
+$GPRMC,083951.00,A,5204.47218,N,00423.64010,E,0.009,,120308,,,A*7A
+$GPRMC,083952.00,A,5204.47216,N,00423.64013,E,0.003,,120308,,,A*7E
+$GPRMC,083953.00,A,5204.47213,N,00423.64018,E,0.052,312.10,120308,,,A*6A
+$GPRMC,083954.00,A,5204.47212,N,00423.64023,E,0.014,,120308,,,A*79
+$GPRMC,083955.00,A,5204.47210,N,00423.64027,E,0.007,,120308,,,A*7C
+$GPRMC,083956.00,A,5204.47208,N,00423.64032,E,0.008,,120308,,,A*7D
+$GPRMC,083957.00,A,5204.47205,N,00423.64033,E,0.010,,120308,,,A*79
+$GPRMC,083958.00,A,5204.47204,N,00423.64029,E,0.015,,120308,,,A*79
+$GPRMC,083959.00,A,5204.47211,N,00423.64027,E,0.010,,120308,,,A*77
+$GPRMC,084000.00,A,5204.47218,N,00423.64025,E,0.006,,120308,,,A*79
+$GPRMC,084001.00,A,5204.47224,N,00423.64024,E,0.012,,120308,,,A*73
+$GPRMC,084002.00,A,5204.47229,N,00423.64022,E,0.020,311.52,120308,,,A*60
+$GPRMC,084003.00,A,5204.47233,N,00423.64022,E,0.028,312.16,120308,,,A*61
+$GPRMC,084004.00,A,5204.47238,N,00423.64019,E,0.025,312.08,120308,,,A*67
+$GPRMC,084005.00,A,5204.47242,N,00423.64018,E,0.008,,120308,,,A*73
+$GPRMC,084006.00,A,5204.47246,N,00423.64017,E,0.006,,120308,,,A*75
+$GPRMC,084007.00,A,5204.47251,N,00423.64014,E,0.006,,120308,,,A*71
+$GPRMC,084008.00,A,5204.47255,N,00423.64013,E,0.021,312.34,120308,,,A*61
+$GPRMC,084009.00,A,5204.47261,N,00423.64004,E,0.226,312.57,120308,,,A*61
+$GPRMC,084010.00,A,5204.47288,N,00423.63964,E,2.007,317.52,120308,,,A*65
+$GPRMC,084011.00,A,5204.47368,N,00423.63852,E,5.313,318.05,120308,,,A*63
+$GPRMC,084012.00,A,5204.47518,N,00423.63634,E,8.994,318.07,120308,,,A*65
+$GPRMC,084013.00,A,5204.47734,N,00423.63336,E,10.659,318.32,120308,,,A*5E
+$GPRMC,084014.00,A,5204.47969,N,00423.63010,E,11.008,317.77,120308,,,A*55
+$GPRMC,084015.00,A,5204.48195,N,00423.62582,E,12.987,303.14,120308,,,A*52
+$GPRMC,084016.00,A,5204.48336,N,00423.61918,E,15.871,284.59,120308,,,A*5E
+$GPRMC,084017.00,A,5204.48341,N,00423.61054,E,19.272,269.42,120308,,,A*52
+$GPRMC,084018.00,A,5204.48263,N,00423.60154,E,21.042,256.13,120308,,,A*5E
+$GPRMC,084019.00,A,5204.47967,N,00423.59226,E,23.643,234.98,120308,,,A*51
+$GPRMC,084020.00,A,5204.47479,N,00423.58376,E,27.382,222.41,120308,,,A*53
+$GPRMC,084021.00,A,5204.46853,N,00423.57546,E,30.366,216.73,120308,,,A*57
+$GPRMC,084022.00,A,5204.46123,N,00423.56748,E,32.251,211.95,120308,,,A*5F
+$GPRMC,084023.00,A,5204.45285,N,00423.56034,E,35.094,205.28,120308,,,A*51
+$GPRMC,084024.00,A,5204.44316,N,00423.55475,E,38.141,195.67,120308,,,A*5B
+$GPRMC,084025.00,A,5204.43239,N,00423.55137,E,40.584,188.10,120308,,,A*5C
+$GPRMC,084026.00,A,5204.42101,N,00423.54914,E,41.048,186.84,120308,,,A*59
+$GPRMC,084027.00,A,5204.40954,N,00423.54633,E,40.814,190.29,120308,,,A*58
+$GPRMC,084028.00,A,5204.39850,N,00423.54230,E,39.646,195.67,120308,,,A*53
+$GPRMC,084029.00,A,5204.38825,N,00423.53682,E,37.535,201.85,120308,,,A*50
+$GPRMC,084030.00,A,5204.37902,N,00423.53006,E,34.842,207.47,120308,,,A*5F
+$GPRMC,084031.00,A,5204.37091,N,00423.52245,E,32.569,212.75,120308,,,A*5E
+$GPRMC,084032.00,A,5204.36382,N,00423.51432,E,30.327,217.81,120308,,,A*58
+$GPRMC,084033.00,A,5204.35764,N,00423.50578,E,28.479,222.40,120308,,,A*56
+$GPRMC,084034.00,A,5204.35209,N,00423.49684,E,27.671,226.18,120308,,,A*5B
+$GPRMC,084035.00,A,5204.34696,N,00423.48743,E,28.090,229.45,120308,,,A*53
+$GPRMC,084036.00,A,5204.34198,N,00423.47734,E,29.284,232.20,120308,,,A*59
+$GPRMC,084037.00,A,5204.33703,N,00423.46645,E,30.824,233.90,120308,,,A*5F
+$GPRMC,084038.00,A,5204.33182,N,00423.45470,E,33.008,234.34,120308,,,A*54
+$GPRMC,084039.00,A,5204.32620,N,00423.44211,E,35.701,233.55,120308,,,A*53
+$GPRMC,084040.00,A,5204.32007,N,00423.42862,E,38.568,233.43,120308,,,A*51
+$GPRMC,084041.00,A,5204.31362,N,00423.41468,E,38.545,232.74,120308,,,A*5C
+$GPRMC,084042.00,A,5204.30713,N,00423.39980,E,40.619,234.40,120308,,,A*5C
+$GPRMC,084043.00,A,5204.29932,N,00423.38275,E,45.335,233.74,120308,,,A*56
+$GPRMC,084044.00,A,5204.29127,N,00423.36492,E,47.334,234.35,120308,,,A*5D
+$GPRMC,084045.00,A,5204.28346,N,00423.34723,E,48.088,235.00,120308,,,A*5F
+$GPRMC,084046.00,A,5204.27510,N,00423.32839,E,47.824,235.70,120308,,,A*52
+$GPRMC,084047.00,A,5204.26730,N,00423.30988,E,48.010,236.81,120308,,,A*56
+$GPRMC,084048.00,A,5204.26001,N,00423.29201,E,46.314,237.20,120308,,,A*5D
+$GPRMC,084049.00,A,5204.25328,N,00423.27517,E,42.943,236.97,120308,,,A*58
+$GPRMC,084050.00,A,5204.24705,N,00423.25972,E,38.959,236.60,120308,,,A*59
+$GPRMC,084051.00,A,5204.24128,N,00423.24554,E,36.414,236.56,120308,,,A*57
+$GPRMC,084052.00,A,5204.23576,N,00423.23202,E,35.617,236.37,120308,,,A*5A
+$GPRMC,084053.00,A,5204.23025,N,00423.21859,E,35.836,236.01,120308,,,A*56
+$GPRMC,084054.00,A,5204.22480,N,00423.20561,E,34.976,235.10,120308,,,A*5B
+$GPRMC,084055.00,A,5204.21942,N,00423.19299,E,34.732,234.72,120308,,,A*5B
+$GPRMC,084056.00,A,5204.21387,N,00423.18024,E,35.384,234.54,120308,,,A*52
+$GPRMC,084057.00,A,5204.20817,N,00423.16714,E,35.964,234.53,120308,,,A*59
+$GPRMC,084058.00,A,5204.20239,N,00423.15388,E,36.088,234.53,120308,,,A*5A
+$GPRMC,084059.00,A,5204.19653,N,00423.14064,E,36.456,234.16,120308,,,A*5F
+$GPRMC,084100.00,A,5204.19061,N,00423.12749,E,36.150,233.62,120308,,,A*5C
+$GPRMC,084101.00,A,5204.18460,N,00423.11444,E,36.274,232.93,120308,,,A*5E
+$GPRMC,084102.00,A,5204.17852,N,00423.10143,E,36.477,232.47,120308,,,A*50
+$GPRMC,084103.00,A,5204.17234,N,00423.08858,E,36.759,232.38,120308,,,A*56
+$GPRMC,084104.00,A,5204.16601,N,00423.07559,E,36.951,231.95,120308,,,A*53
+$GPRMC,084105.00,A,5204.15964,N,00423.06271,E,37.106,231.22,120308,,,A*56
+$GPRMC,084106.00,A,5204.15310,N,00423.04985,E,37.588,230.66,120308,,,A*5D
+$GPRMC,084107.00,A,5204.14639,N,00423.03700,E,37.785,229.56,120308,,,A*53
+$GPRMC,084108.00,A,5204.13955,N,00423.02423,E,37.870,228.55,120308,,,A*5A
+$GPRMC,084109.00,A,5204.13253,N,00423.01154,E,38.123,227.81,120308,,,A*56
+$GPRMC,084110.00,A,5204.12538,N,00422.99890,E,38.700,227.44,120308,,,A*5A
+$GPRMC,084111.00,A,5204.11804,N,00422.98618,E,39.354,226.69,120308,,,A*5F
+$GPRMC,084112.00,A,5204.11055,N,00422.97346,E,39.388,226.24,120308,,,A*59
+$GPRMC,084113.00,A,5204.10297,N,00422.96079,E,39.329,225.42,120308,,,A*53
+$GPRMC,084114.00,A,5204.09518,N,00422.94827,E,39.545,224.62,120308,,,A*52
+$GPRMC,084115.00,A,5204.08729,N,00422.93588,E,39.421,224.08,120308,,,A*52
+$GPRMC,084116.00,A,5204.07936,N,00422.92365,E,39.526,223.00,120308,,,A*53
+$GPRMC,084117.00,A,5204.07126,N,00422.91174,E,39.641,221.66,120308,,,A*5A
+$GPRMC,084118.00,A,5204.06296,N,00422.90010,E,39.792,220.30,120308,,,A*53
+$GPRMC,084119.00,A,5204.05447,N,00422.88862,E,40.393,219.26,120308,,,A*59
+$GPRMC,084120.00,A,5204.04574,N,00422.87708,E,40.810,218.58,120308,,,A*57
+$GPRMC,084121.00,A,5204.03684,N,00422.86564,E,40.831,217.89,120308,,,A*54
+$GPRMC,084122.00,A,5204.02792,N,00422.85445,E,40.653,216.83,120308,,,A*50
+$GPRMC,084123.00,A,5204.01889,N,00422.84348,E,40.468,216.26,120308,,,A*59
+$GPRMC,084124.00,A,5204.00989,N,00422.83284,E,39.754,215.43,120308,,,A*5A
+$GPRMC,084125.00,A,5204.00096,N,00422.82260,E,39.054,214.79,120308,,,A*58
+$GPRMC,084126.00,A,5203.99205,N,00422.81265,E,38.562,214.38,120308,,,A*56
+$GPRMC,084127.00,A,5203.98324,N,00422.80291,E,38.165,213.98,120308,,,A*50
+$GPRMC,084128.00,A,5203.97445,N,00422.79334,E,38.161,213.72,120308,,,A*58
+$GPRMC,084129.00,A,5203.96559,N,00422.78376,E,38.593,213.71,120308,,,A*59
+$GPRMC,084130.00,A,5203.95660,N,00422.77411,E,39.127,213.33,120308,,,A*5E
+$GPRMC,084131.00,A,5203.94738,N,00422.76440,E,39.747,213.02,120308,,,A*55
+$GPRMC,084132.00,A,5203.93806,N,00422.75454,E,40.104,213.37,120308,,,A*5C
+$GPRMC,084133.00,A,5203.92879,N,00422.74462,E,39.528,213.57,120308,,,A*52
+$GPRMC,084134.00,A,5203.91965,N,00422.73473,E,39.384,213.94,120308,,,A*52
+$GPRMC,084135.00,A,5203.91055,N,00422.72477,E,39.631,214.08,120308,,,A*55
+$GPRMC,084136.00,A,5203.90143,N,00422.71470,E,39.764,214.19,120308,,,A*54
+$GPRMC,084137.00,A,5203.89224,N,00422.70454,E,40.269,214.28,120308,,,A*5C
+$GPRMC,084138.00,A,5203.88289,N,00422.69422,E,41.147,214.05,120308,,,A*5D
+$GPRMC,084139.00,A,5203.87329,N,00422.68391,E,41.929,212.98,120308,,,A*54
+$GPRMC,084140.00,A,5203.86340,N,00422.67372,E,42.586,212.09,120308,,,A*54
+$GPRMC,084141.00,A,5203.85328,N,00422.66345,E,43.397,212.02,120308,,,A*51
+$GPRMC,084142.00,A,5203.84304,N,00422.65280,E,44.186,213.33,120308,,,A*50
+$GPRMC,084143.00,A,5203.83275,N,00422.64154,E,44.977,214.27,120308,,,A*5E
+$GPRMC,084144.00,A,5203.82238,N,00422.62986,E,45.820,214.94,120308,,,A*5A
+$GPRMC,084145.00,A,5203.81187,N,00422.61781,E,46.709,215.30,120308,,,A*5D
+$GPRMC,084146.00,A,5203.80117,N,00422.60550,E,47.573,215.23,120308,,,A*55
+$GPRMC,084147.00,A,5203.79028,N,00422.59303,E,48.449,214.92,120308,,,A*59
+$GPRMC,084148.00,A,5203.77918,N,00422.58040,E,49.238,214.93,120308,,,A*57
+$GPRMC,084149.00,A,5203.76801,N,00422.56751,E,49.363,215.57,120308,,,A*51
+$GPRMC,084150.00,A,5203.75680,N,00422.55429,E,49.981,215.99,120308,,,A*56
+$GPRMC,084151.00,A,5203.74548,N,00422.54095,E,49.789,215.98,120308,,,A*54
+$GPRMC,084152.00,A,5203.73327,N,00422.52773,E,52.080,214.57,120308,,,A*50
+$GPRMC,084153.00,A,5203.72121,N,00422.51411,E,52.486,214.58,120308,,,A*5D
+$GPRMC,084154.00,A,5203.70854,N,00422.50044,E,53.560,214.68,120308,,,A*5D
+$GPRMC,084155.00,A,5203.69542,N,00422.48479,E,55.644,215.85,120308,,,A*5C
+$GPRMC,084156.00,A,5203.68201,N,00422.46975,E,56.521,215.61,120308,,,A*58
+$GPRMC,084157.00,A,5203.66891,N,00422.45415,E,57.515,215.59,120308,,,A*51
+$GPRMC,084158.00,A,5203.65565,N,00422.43838,E,58.369,215.55,120308,,,A*50
+$GPRMC,084159.00,A,5203.64233,N,00422.42246,E,59.202,215.36,120308,,,A*5E
+$GPRMC,084200.00,A,5203.62877,N,00422.40663,E,60.068,215.26,120308,,,A*59
+$GPRMC,084201.00,A,5203.61504,N,00422.39063,E,60.782,215.49,120308,,,A*50
+$GPRMC,084202.00,A,5203.60135,N,00422.37455,E,60.804,216.02,120308,,,A*56
+$GPRMC,084203.00,A,5203.58740,N,00422.35803,E,61.969,215.73,120308,,,A*5B
+$GPRMC,084204.00,A,5203.57322,N,00422.34147,E,62.189,215.28,120308,,,A*50
+$GPRMC,084205.00,A,5203.55905,N,00422.32493,E,62.532,215.76,120308,,,A*59
+$GPRMC,084206.00,A,5203.54486,N,00422.30816,E,62.622,216.15,120308,,,A*5A
+$GPRMC,084207.00,A,5203.53084,N,00422.29139,E,62.579,216.28,120308,,,A*55
+$GPRMC,084208.00,A,5203.51679,N,00422.27460,E,62.376,216.15,120308,,,A*5C
+$GPRMC,084209.00,A,5203.50280,N,00422.25798,E,61.941,216.22,120308,,,A*51
+$GPRMC,084210.00,A,5203.48894,N,00422.24151,E,61.482,216.25,120308,,,A*58
+$GPRMC,084211.00,A,5203.47518,N,00422.22515,E,61.003,216.29,120308,,,A*5C
+$GPRMC,084212.00,A,5203.46163,N,00422.20898,E,60.488,216.35,120308,,,A*57
+$GPRMC,084213.00,A,5203.44824,N,00422.19304,E,59.684,216.40,120308,,,A*5C
+$GPRMC,084214.00,A,5203.43513,N,00422.17722,E,58.553,217.06,120308,,,A*50
+$GPRMC,084215.00,A,5203.42233,N,00422.16154,E,57.482,217.17,120308,,,A*51
+$GPRMC,084216.00,A,5203.40983,N,00422.14605,E,56.401,217.62,120308,,,A*59
+$GPRMC,084217.00,A,5203.39764,N,00422.13067,E,55.275,218.17,120308,,,A*5F
+$GPRMC,084218.00,A,5203.38573,N,00422.11549,E,54.287,218.10,120308,,,A*55
+$GPRMC,084219.00,A,5203.37403,N,00422.10064,E,53.254,218.15,120308,,,A*5A
+$GPRMC,084220.00,A,5203.36259,N,00422.08596,E,52.280,218.62,120308,,,A*51
+$GPRMC,084221.00,A,5203.35149,N,00422.07137,E,51.093,219.38,120308,,,A*5C
+$GPRMC,084222.00,A,5203.34083,N,00422.05681,E,49.934,220.65,120308,,,A*5E
+$GPRMC,084223.00,A,5203.33068,N,00422.04228,E,48.428,221.92,120308,,,A*53
+$GPRMC,084224.00,A,5203.32090,N,00422.02764,E,48.072,223.14,120308,,,A*5E
+$GPRMC,084225.00,A,5203.31141,N,00422.01270,E,47.854,224.74,120308,,,A*50
+$GPRMC,084226.00,A,5203.30218,N,00421.99740,E,47.848,226.02,120308,,,A*57
+$GPRMC,084227.00,A,5203.29314,N,00421.98187,E,47.498,227.09,120308,,,A*54
+$GPRMC,084228.00,A,5203.28441,N,00421.96624,E,46.772,228.31,120308,,,A*5F
+$GPRMC,084229.00,A,5203.27602,N,00421.95063,E,45.870,229.25,120308,,,A*58
+$GPRMC,084230.00,A,5203.26791,N,00421.93515,E,45.040,229.89,120308,,,A*55
+$GPRMC,084231.00,A,5203.25999,N,00421.91975,E,44.820,230.23,120308,,,A*5E
+$GPRMC,084232.00,A,5203.25205,N,00421.90429,E,45.105,230.11,120308,,,A*58
+$GPRMC,084233.00,A,5203.24397,N,00421.88882,E,45.530,229.38,120308,,,A*57
+$GPRMC,084234.00,A,5203.23559,N,00421.87349,E,46.143,227.75,120308,,,A*54
+$GPRMC,084235.00,A,5203.22678,N,00421.85831,E,46.931,225.98,120308,,,A*5E
+$GPRMC,084236.00,A,5203.21744,N,00421.84351,E,47.663,223.01,120308,,,A*53
+$GPRMC,084237.00,A,5203.20752,N,00421.82923,E,48.303,220.58,120308,,,A*5E
+$GPRMC,084238.00,A,5203.19715,N,00421.81539,E,48.809,218.56,120308,,,A*58
+$GPRMC,084239.00,A,5203.18640,N,00421.80196,E,49.318,216.63,120308,,,A*5B
+$GPRMC,084240.00,A,5203.17526,N,00421.78901,E,49.916,214.71,120308,,,A*5D
+$GPRMC,084241.00,A,5203.16363,N,00421.77660,E,50.647,212.48,120308,,,A*52
+$GPRMC,084242.00,A,5203.15156,N,00421.76464,E,51.392,210.85,120308,,,A*5E
+$GPRMC,084243.00,A,5203.13916,N,00421.75296,E,52.206,209.94,120308,,,A*5A
+$GPRMC,084244.00,A,5203.12653,N,00421.74116,E,52.787,210.31,120308,,,A*53
+$GPRMC,084245.00,A,5203.11390,N,00421.72910,E,52.833,211.03,120308,,,A*53
+$GPRMC,084246.00,A,5203.10137,N,00421.71683,E,52.495,211.52,120308,,,A*5C
+$GPRMC,084247.00,A,5203.08903,N,00421.70450,E,51.877,211.85,120308,,,A*5F
+$GPRMC,084248.00,A,5203.07689,N,00421.69220,E,51.203,212.13,120308,,,A*5E
+$GPRMC,084249.00,A,5203.06486,N,00421.67987,E,51.344,212.48,120308,,,A*57
+$GPRMC,084250.00,A,5203.05279,N,00421.66720,E,52.268,213.27,120308,,,A*5C
+$GPRMC,084251.00,A,5203.04061,N,00421.65405,E,53.273,213.79,120308,,,A*50
+$GPRMC,084252.00,A,5203.02824,N,00421.64036,E,54.333,214.51,120308,,,A*56
+$GPRMC,084253.00,A,5203.01579,N,00421.62608,E,55.150,215.72,120308,,,A*5A
+$GPRMC,084254.00,A,5203.00341,N,00421.61121,E,55.457,216.94,120308,,,A*57
+$GPRMC,084255.00,A,5202.99112,N,00421.59596,E,55.772,217.79,120308,,,A*56
+$GPRMC,084256.00,A,5202.97901,N,00421.58027,E,55.839,219.20,120308,,,A*5D
+$GPRMC,084257.00,A,5202.96719,N,00421.56412,E,55.592,220.98,120308,,,A*53
+$GPRMC,084258.00,A,5202.95571,N,00421.54745,E,55.513,222.24,120308,,,A*5C
+$GPRMC,084259.00,A,5202.94454,N,00421.53044,E,55.035,223.38,120308,,,A*56
+$GPRMC,084300.00,A,5202.93369,N,00421.51327,E,54.365,224.82,120308,,,A*50
+$GPRMC,084301.00,A,5202.92323,N,00421.49599,E,53.303,225.97,120308,,,A*56
+$GPRMC,084302.00,A,5202.91317,N,00421.47878,E,52.143,226.66,120308,,,A*57
+$GPRMC,084303.00,A,5202.90352,N,00421.46165,E,50.941,228.05,120308,,,A*51
+$GPRMC,084304.00,A,5202.89437,N,00421.44453,E,49.859,229.80,120308,,,A*54
+$GPRMC,084305.00,A,5202.88583,N,00421.42732,E,48.546,232.12,120308,,,A*5B
+$GPRMC,084306.00,A,5202.87793,N,00421.40992,E,47.482,234.57,120308,,,A*53
+$GPRMC,084307.00,A,5202.87053,N,00421.39232,E,46.583,236.83,120308,,,A*5C
+$GPRMC,084308.00,A,5202.86366,N,00421.37462,E,45.552,238.87,120308,,,A*5F
+$GPRMC,084309.00,A,5202.85744,N,00421.35706,E,44.424,241.08,120308,,,A*52
+$GPRMC,084310.00,A,5202.85182,N,00421.33960,E,43.259,243.28,120308,,,A*55
+$GPRMC,084311.00,A,5202.84672,N,00421.32226,E,42.093,245.25,120308,,,A*5B
+$GPRMC,084312.00,A,5202.84213,N,00421.30506,E,41.372,247.24,120308,,,A*50
+$GPRMC,084313.00,A,5202.83802,N,00421.28795,E,40.371,249.40,120308,,,A*53
+$GPRMC,084314.00,A,5202.83441,N,00421.27095,E,39.613,251.71,120308,,,A*53
+$GPRMC,084315.00,A,5202.83126,N,00421.25400,E,39.103,253.77,120308,,,A*5E
+$GPRMC,084316.00,A,5202.82847,N,00421.23701,E,38.948,255.49,120308,,,A*5B
+$GPRMC,084317.00,A,5202.82605,N,00421.21998,E,38.801,257.30,120308,,,A*5E
+$GPRMC,084318.00,A,5202.82393,N,00421.20283,E,38.793,258.82,120308,,,A*59
+$GPRMC,084319.00,A,5202.82206,N,00421.18550,E,39.146,259.99,120308,,,A*53
+$GPRMC,084320.00,A,5202.82030,N,00421.16793,E,39.661,260.39,120308,,,A*5F
+$GPRMC,084321.00,A,5202.81849,N,00421.15014,E,40.140,260.04,120308,,,A*54
+$GPRMC,084322.00,A,5202.81663,N,00421.13222,E,40.416,259.72,120308,,,A*5D
+$GPRMC,084323.00,A,5202.81463,N,00421.11417,E,40.863,259.17,120308,,,A*51
+$GPRMC,084324.00,A,5202.81238,N,00421.09588,E,41.185,257.94,120308,,,A*55
+$GPRMC,084325.00,A,5202.80984,N,00421.07757,E,41.590,256.23,120308,,,A*5A
+$GPRMC,084326.00,A,5202.80685,N,00421.05929,E,41.878,253.67,120308,,,A*5C
+$GPRMC,084327.00,A,5202.80327,N,00421.04121,E,42.182,250.56,120308,,,A*5F
+$GPRMC,084328.00,A,5202.79907,N,00421.02355,E,42.774,247.05,120308,,,A*56
+$GPRMC,084329.00,A,5202.79405,N,00421.00608,E,43.440,243.38,120308,,,A*58
+$GPRMC,084330.00,A,5202.78827,N,00420.98890,E,44.122,239.73,120308,,,A*56
+$GPRMC,084331.00,A,5202.78175,N,00420.97222,E,44.710,236.27,120308,,,A*5C
+$GPRMC,084332.00,A,5202.77439,N,00420.95604,E,45.116,231.98,120308,,,A*5D
+$GPRMC,084333.00,A,5202.76625,N,00420.94059,E,45.649,227.98,120308,,,A*57
+$GPRMC,084334.00,A,5202.75741,N,00420.92594,E,45.975,224.02,120308,,,A*52
+$GPRMC,084335.00,A,5202.74791,N,00420.91217,E,46.395,220.24,120308,,,A*57
+$GPRMC,084336.00,A,5202.73775,N,00420.89932,E,46.953,216.32,120308,,,A*5E
+$GPRMC,084337.00,A,5202.72694,N,00420.88753,E,46.890,212.47,120308,,,A*50
+$GPRMC,084338.00,A,5202.71572,N,00420.87694,E,46.574,208.68,120308,,,A*53
+$GPRMC,084339.00,A,5202.70417,N,00420.86766,E,46.398,205.04,120308,,,A*5F
+$GPRMC,084340.00,A,5202.69228,N,00420.85955,E,46.422,201.66,120308,,,A*58
+$GPRMC,084341.00,A,5202.68000,N,00420.85258,E,46.644,197.54,120308,,,A*59
+$GPRMC,084342.00,A,5202.66736,N,00420.84711,E,47.061,193.22,120308,,,A*5A
+$GPRMC,084343.00,A,5202.65451,N,00420.84323,E,47.240,189.31,120308,,,A*57
+$GPRMC,084344.00,A,5202.64144,N,00420.84082,E,47.367,185.06,120308,,,A*54
+$GPRMC,084345.00,A,5202.62824,N,00420.84001,E,47.493,180.60,120308,,,A*5E
+$GPRMC,084346.00,A,5202.61495,N,00420.84069,E,47.687,176.85,120308,,,A*53
+$GPRMC,084347.00,A,5202.60165,N,00420.84293,E,47.895,172.76,120308,,,A*5B
+$GPRMC,084348.00,A,5202.58849,N,00420.84558,E,47.627,173.14,120308,,,A*5A
+$GPRMC,084349.00,A,5202.57555,N,00420.84815,E,46.934,173.04,120308,,,A*5D
+$GPRMC,084350.00,A,5202.56220,N,00420.85036,E,47.955,173.85,120308,,,A*56
+$GPRMC,084351.00,A,5202.54857,N,00420.86604,E,50.330,159.81,120308,,,A*58
+$GPRMC,084352.00,A,5202.53565,N,00420.88057,E,52.424,152.81,120308,,,A*55
+$GPRMC,084353.00,A,5202.52225,N,00420.89588,E,53.705,148.22,120308,,,A*53
+$GPRMC,084354.00,A,5202.50953,N,00420.91124,E,52.580,144.51,120308,,,A*51
+$GPRMC,084355.00,A,5202.49776,N,00420.92574,E,52.275,142.21,120308,,,A*5F
+$GPRMC,084356.00,A,5202.48658,N,00420.94059,E,51.620,140.35,120308,,,A*5C
+$GPRMC,084357.00,A,5202.47583,N,00420.95564,E,50.727,139.50,120308,,,A*57
+$GPRMC,084358.00,A,5202.46528,N,00420.97045,E,49.840,139.82,120308,,,A*55
+$GPRMC,084359.00,A,5202.45474,N,00420.98488,E,49.526,140.27,120308,,,A*59
+$GPRMC,084400.00,A,5202.44415,N,00420.99897,E,49.393,141.16,120308,,,A*5C
+$GPRMC,084401.00,A,5202.43327,N,00421.01263,E,49.890,143.25,120308,,,A*57
+$GPRMC,084402.00,A,5202.42199,N,00421.02586,E,50.413,144.93,120308,,,A*58
+$GPRMC,084403.00,A,5202.41026,N,00421.03861,E,51.304,146.91,120308,,,A*5A
+$GPRMC,084404.00,A,5202.39824,N,00421.05099,E,51.280,147.79,120308,,,A*5B
+$GPRMC,084405.00,A,5202.38534,N,00421.06295,E,52.968,150.43,120308,,,A*5B
+$GPRMC,084406.00,A,5202.37160,N,00421.07387,E,54.165,152.77,120308,,,A*57
+$GPRMC,084407.00,A,5202.35771,N,00421.08451,E,54.867,154.99,120308,,,A*5C
+$GPRMC,084408.00,A,5202.34363,N,00421.09438,E,54.499,157.27,120308,,,A*50
+$GPRMC,084409.00,A,5202.32950,N,00421.10312,E,53.858,159.53,120308,,,A*51
+$GPRMC,084410.00,A,5202.31537,N,00421.11093,E,53.016,161.93,120308,,,A*59
+$GPRMC,084411.00,A,5202.30153,N,00421.11778,E,52.044,164.10,120308,,,A*55
+$GPRMC,084412.00,A,5202.28781,N,00421.12367,E,51.151,166.09,120308,,,A*53
+$GPRMC,084413.00,A,5202.27418,N,00421.12869,E,50.383,167.90,120308,,,A*56
+$GPRMC,084414.00,A,5202.26070,N,00421.13307,E,49.455,169.03,120308,,,A*58
+$GPRMC,084415.00,A,5202.24741,N,00421.13699,E,48.566,170.00,120308,,,A*57
+$GPRMC,084416.00,A,5202.23427,N,00421.14062,E,47.921,170.29,120308,,,A*5E
+$GPRMC,084417.00,A,5202.22121,N,00421.14425,E,48.220,170.34,120308,,,A*53
+$GPRMC,084418.00,A,5202.20802,N,00421.14791,E,48.925,170.26,120308,,,A*57
+$GPRMC,084419.00,A,5202.19461,N,00421.15176,E,49.702,170.00,120308,,,A*55
+$GPRMC,084420.00,A,5202.18104,N,00421.15566,E,50.219,169.94,120308,,,A*5F
+$GPRMC,084421.00,A,5202.16729,N,00421.15961,E,50.684,170.11,120308,,,A*57
+$GPRMC,084422.00,A,5202.15336,N,00421.16350,E,51.341,170.23,120308,,,A*5A
+$GPRMC,084423.00,A,5202.13928,N,00421.16741,E,51.951,170.32,120308,,,A*57
+$GPRMC,084424.00,A,5202.12500,N,00421.17140,E,52.466,170.05,120308,,,A*5F
+$GPRMC,084425.00,A,5202.11056,N,00421.17555,E,53.055,170.05,120308,,,A*5E
+$GPRMC,084426.00,A,5202.09599,N,00421.17970,E,53.464,170.23,120308,,,A*5B
+$GPRMC,084427.00,A,5202.08133,N,00421.18380,E,53.671,170.26,120308,,,A*56
+$GPRMC,084428.00,A,5202.06667,N,00421.18795,E,53.825,169.86,120308,,,A*5C
+$GPRMC,084429.00,A,5202.05193,N,00421.19220,E,53.994,169.78,120308,,,A*52
+$GPRMC,084430.00,A,5202.03721,N,00421.19664,E,54.090,169.00,120308,,,A*52
+$GPRMC,084431.00,A,5202.02253,N,00421.20161,E,54.194,167.48,120308,,,A*5D
+$GPRMC,084432.00,A,5202.00784,N,00421.20728,E,54.363,166.17,120308,,,A*59
+$GPRMC,084433.00,A,5201.99313,N,00421.21344,E,54.896,164.85,120308,,,A*56
+$GPRMC,084434.00,A,5201.97851,N,00421.22023,E,54.886,163.13,120308,,,A*5A
+$GPRMC,084435.00,A,5201.96382,N,00421.22764,E,55.043,161.66,120308,,,A*5B
+$GPRMC,084436.00,A,5201.94933,N,00421.23583,E,55.174,159.97,120308,,,A*50
+$GPRMC,084437.00,A,5201.93486,N,00421.24470,E,55.283,158.15,120308,,,A*5F
+$GPRMC,084438.00,A,5201.92060,N,00421.25433,E,55.462,156.48,120308,,,A*54
+$GPRMC,084439.00,A,5201.90653,N,00421.26465,E,55.520,154.91,120308,,,A*50
+$GPRMC,084440.00,A,5201.89256,N,00421.27557,E,55.702,153.68,120308,,,A*55
+$GPRMC,084441.00,A,5201.87868,N,00421.28716,E,56.292,151.97,120308,,,A*58
+$GPRMC,084442.00,A,5201.86498,N,00421.29949,E,56.217,150.02,120308,,,A*5C
+$GPRMC,084443.00,A,5201.85159,N,00421.31254,E,56.015,148.24,120308,,,A*55
+$GPRMC,084444.00,A,5201.83846,N,00421.32608,E,55.684,146.99,120308,,,A*58
+$GPRMC,084445.00,A,5201.82565,N,00421.33997,E,55.067,145.82,120308,,,A*5E
+$GPRMC,084446.00,A,5201.81317,N,00421.35403,E,54.271,144.92,120308,,,A*5F
+$GPRMC,084447.00,A,5201.80099,N,00421.36824,E,54.028,143.96,120308,,,A*5D
+$GPRMC,084448.00,A,5201.78888,N,00421.38271,E,52.919,144.43,120308,,,A*5B
+$GPRMC,084449.00,A,5201.77682,N,00421.39697,E,52.769,144.33,120308,,,A*52
+$GPRMC,084450.00,A,5201.76488,N,00421.41111,E,52.805,144.03,120308,,,A*53
+$GPRMC,084451.00,A,5201.75292,N,00421.42524,E,52.687,144.09,120308,,,A*53
+$GPRMC,084452.00,A,5201.74098,N,00421.43918,E,52.723,144.26,120308,,,A*59
+$GPRMC,084453.00,A,5201.72905,N,00421.45336,E,53.187,144.08,120308,,,A*56
+$GPRMC,084454.00,A,5201.71708,N,00421.46755,E,53.629,144.15,120308,,,A*5C
+$GPRMC,084455.00,A,5201.70500,N,00421.48182,E,54.028,144.21,120308,,,A*53
+$GPRMC,084456.00,A,5201.69281,N,00421.49616,E,54.313,144.24,120308,,,A*53
+$GPRMC,084457.00,A,5201.68050,N,00421.51058,E,54.719,144.26,120308,,,A*54
+$GPRMC,084458.00,A,5201.66808,N,00421.52507,E,55.289,144.42,120308,,,A*53
+$GPRMC,084459.00,A,5201.65545,N,00421.53969,E,55.875,144.30,120308,,,A*5C
+$GPRMC,084500.00,A,5201.64283,N,00421.55443,E,55.894,144.27,120308,,,A*57
+$GPRMC,084501.00,A,5201.63019,N,00421.56916,E,56.134,144.46,120308,,,A*59
+$GPRMC,084502.00,A,5201.61750,N,00421.58392,E,56.340,144.46,120308,,,A*5B
+$GPRMC,084503.00,A,5201.60479,N,00421.59874,E,56.493,144.34,120308,,,A*5D
+$GPRMC,084504.00,A,5201.59201,N,00421.61362,E,56.781,144.31,120308,,,A*5B
+$GPRMC,084505.00,A,5201.57917,N,00421.62853,E,56.909,144.49,120308,,,A*53
+$GPRMC,084506.00,A,5201.56627,N,00421.64340,E,56.386,144.71,120308,,,A*54
+$GPRMC,084507.00,A,5201.55357,N,00421.65840,E,57.007,144.31,120308,,,A*51
+$GPRMC,084508.00,A,5201.54083,N,00421.67361,E,57.383,144.30,120308,,,A*51
+$GPRMC,084509.00,A,5201.52794,N,00421.68886,E,57.635,144.04,120308,,,A*55
+$GPRMC,084510.00,A,5201.51503,N,00421.70431,E,57.799,143.94,120308,,,A*52
+$GPRMC,084511.00,A,5201.50218,N,00421.71984,E,57.919,144.19,120308,,,A*59
+$GPRMC,084512.00,A,5201.48922,N,00421.73521,E,58.253,144.52,120308,,,A*55
+$GPRMC,084513.00,A,5201.47619,N,00421.75062,E,58.612,144.46,120308,,,A*5C
+$GPRMC,084514.00,A,5201.46303,N,00421.76612,E,59.030,144.38,120308,,,A*58
+$GPRMC,084515.00,A,5201.44980,N,00421.78182,E,59.385,144.15,120308,,,A*58
+$GPRMC,084516.00,A,5201.43641,N,00421.79750,E,59.543,144.23,120308,,,A*5F
+$GPRMC,084517.00,A,5201.42302,N,00421.81315,E,59.482,144.43,120308,,,A*55
+$GPRMC,084518.00,A,5201.40956,N,00421.82881,E,59.545,144.19,120308,,,A*53
+$GPRMC,084519.00,A,5201.39605,N,00421.84459,E,59.577,144.09,120308,,,A*5A
+$GPRMC,084520.00,A,5201.38255,N,00421.86030,E,59.607,144.18,120308,,,A*5D
+$GPRMC,084521.00,A,5201.36895,N,00421.87595,E,59.651,144.55,120308,,,A*55
+$GPRMC,084522.00,A,5201.35526,N,00421.89149,E,59.729,144.91,120308,,,A*5D
+$GPRMC,084523.00,A,5201.34150,N,00421.90681,E,59.924,145.44,120308,,,D*5C
+$GPRMC,084524.00,A,5201.32767,N,00421.92198,E,59.877,145.82,120308,,,D*5F
+$GPRMC,084525.00,A,5201.31395,N,00421.93706,E,59.572,145.84,120308,,,D*5A
+$GPRMC,084526.00,A,5201.30032,N,00421.95213,E,59.232,145.48,120308,,,D*52
+$GPRMC,084527.00,A,5201.28680,N,00421.96735,E,59.018,145.08,120308,,,D*59
+$GPRMC,084528.00,A,5201.27340,N,00421.98265,E,58.780,144.67,120308,,,D*51
+$GPRMC,084529.00,A,5201.26000,N,00421.99793,E,58.492,144.41,120308,,,D*5F
+$GPRMC,084530.00,A,5201.24662,N,00422.01306,E,58.238,143.69,120308,,,D*56
+$GPRMC,084531.00,A,5201.23335,N,00422.02824,E,58.159,144.19,120308,,,D*5B
+$GPRMC,084532.00,A,5201.22011,N,00422.04327,E,57.991,144.27,120308,,,D*5C
+$GPRMC,084533.00,A,5201.20706,N,00422.05847,E,57.739,144.18,120308,,,D*52
+$GPRMC,084534.00,A,5201.19403,N,00422.07366,E,57.640,144.12,120308,,,D*56
+$GPRMC,084535.00,A,5201.18096,N,00422.08884,E,57.834,144.15,120308,,,D*5C
+$GPRMC,084536.00,A,5201.16785,N,00422.10405,E,57.942,144.27,120308,,,D*59
+$GPRMC,084537.00,A,5201.15472,N,00422.11923,E,58.022,144.51,120308,,,D*59
+$GPRMC,084538.00,A,5201.14153,N,00422.13438,E,57.975,144.48,120308,,,D*58
+$GPRMC,084539.00,A,5201.12847,N,00422.14963,E,57.971,144.30,120308,,,D*5C
+$GPRMC,084540.00,A,5201.11533,N,00422.16482,E,57.945,144.17,120308,,,D*5D
+$GPRMC,084541.00,A,5201.10210,N,00422.17992,E,57.994,144.39,120308,,,D*56
+$GPRMC,084542.00,A,5201.08889,N,00422.19511,E,58.278,144.34,120308,,,D*54
+$GPRMC,084543.00,A,5201.07565,N,00422.21044,E,58.623,144.14,120308,,,D*53
+$GPRMC,084544.00,A,5201.06238,N,00422.22584,E,58.774,144.29,120308,,,D*5D
+$GPRMC,084545.00,A,5201.04917,N,00422.24127,E,58.780,144.22,120308,,,D*53
+$GPRMC,084546.00,A,5201.03592,N,00422.25672,E,58.691,144.27,120308,,,D*54
+$GPRMC,084547.00,A,5201.02302,N,00422.27225,E,58.245,144.12,120308,,,D*54
+$GPRMC,084548.00,A,5201.00999,N,00422.28745,E,57.295,144.03,120308,,,D*5F
+$GPRMC,084549.00,A,5200.99721,N,00422.30247,E,57.266,144.85,120308,,,D*5E
+$GPRMC,084550.00,A,5200.98465,N,00422.31707,E,55.482,144.44,120308,,,D*57
+$GPRMC,084551.00,A,5200.97227,N,00422.33150,E,54.789,144.62,120308,,,D*52
+$GPRMC,084552.00,A,5200.95994,N,00422.34574,E,54.536,144.58,120308,,,D*5A
+$GPRMC,084553.00,A,5200.94779,N,00422.35991,E,53.970,144.45,120308,,,D*54
+$GPRMC,084554.00,A,5200.93544,N,00422.37377,E,53.389,144.50,120308,,,D*50
+$GPRMC,084555.00,A,5200.92344,N,00422.38768,E,52.880,144.41,120308,,,D*50
+$GPRMC,084556.00,A,5200.91150,N,00422.40144,E,52.650,144.15,120308,,,D*52
+$GPRMC,084557.00,A,5200.89966,N,00422.41528,E,52.757,143.93,120308,,,D*57
+$GPRMC,084558.00,A,5200.88784,N,00422.42927,E,52.887,143.88,120308,,,D*53
+$GPRMC,084559.00,A,5200.87593,N,00422.44324,E,53.215,144.16,120308,,,D*56
+$GPRMC,084600.00,A,5200.86394,N,00422.45722,E,53.665,144.42,120308,,,D*58
+$GPRMC,084601.00,A,5200.85181,N,00422.47124,E,54.123,144.61,120308,,,D*5D
+$GPRMC,084602.00,A,5200.83958,N,00422.48538,E,54.445,144.55,120308,,,D*50
+$GPRMC,084603.00,A,5200.82733,N,00422.49955,E,54.093,144.15,120308,,,D*5E
+$GPRMC,084604.00,A,5200.81526,N,00422.51371,E,53.529,144.24,120308,,,D*58
+$GPRMC,084605.00,A,5200.80333,N,00422.52772,E,53.047,144.36,120308,,,D*50
+$GPRMC,084606.00,A,5200.79148,N,00422.54159,E,52.782,144.36,120308,,,D*5D
+$GPRMC,084607.00,A,5200.77963,N,00422.55534,E,52.481,144.49,120308,,,D*55
+$GPRMC,084608.00,A,5200.76773,N,00422.56903,E,52.679,144.52,120308,,,D*50
+$GPRMC,084609.00,A,5200.75585,N,00422.58282,E,52.675,144.24,120308,,,D*58
+$GPRMC,084610.00,A,5200.74401,N,00422.59677,E,52.945,143.85,120308,,,D*53
+$GPRMC,084611.00,A,5200.73208,N,00422.61078,E,53.342,144.09,120308,,,D*57
+$GPRMC,084612.00,A,5200.72011,N,00422.62478,E,53.640,144.20,120308,,,D*54
+$GPRMC,084613.00,A,5200.70797,N,00422.63881,E,53.900,144.33,120308,,,D*5C
+$GPRMC,084614.00,A,5200.69579,N,00422.65287,E,53.836,144.44,120308,,,D*5F
+$GPRMC,084615.00,A,5200.68370,N,00422.66692,E,53.548,144.28,120308,,,D*5D
+$GPRMC,084616.00,A,5200.67165,N,00422.68094,E,53.523,144.26,120308,,,D*5A
+$GPRMC,084617.00,A,5200.65960,N,00422.69497,E,53.451,144.18,120308,,,D*5B
+$GPRMC,084618.00,A,5200.64756,N,00422.70896,E,53.402,144.40,120308,,,D*50
+$GPRMC,084619.00,A,5200.63548,N,00422.72288,E,53.216,144.34,120308,,,D*5C
+$GPRMC,084620.00,A,5200.62360,N,00422.73682,E,52.712,144.02,120308,,,D*51
+$GPRMC,084621.00,A,5200.61188,N,00422.75065,E,51.858,143.90,120308,,,D*50
+$GPRMC,084622.00,A,5200.60035,N,00422.76424,E,51.198,144.19,120308,,,D*54
+$GPRMC,084623.00,A,5200.58890,N,00422.77757,E,50.639,144.49,120308,,,D*57
+$GPRMC,084624.00,A,5200.57753,N,00422.79070,E,50.354,144.61,120308,,,D*57
+$GPRMC,084625.00,A,5200.56618,N,00422.80373,E,50.192,144.77,120308,,,D*50
+$GPRMC,084626.00,A,5200.55482,N,00422.81678,E,50.532,144.81,120308,,,D*59
+$GPRMC,084627.00,A,5200.54342,N,00422.82995,E,50.701,144.43,120308,,,D*51
+$GPRMC,084628.00,A,5200.53200,N,00422.84331,E,51.087,144.20,120308,,,D*51
+$GPRMC,084629.00,A,5200.52044,N,00422.85689,E,51.964,144.15,120308,,,D*56
+$GPRMC,084630.00,A,5200.50872,N,00422.87068,E,52.516,144.31,120308,,,D*56
+$GPRMC,084631.00,A,5200.49694,N,00422.88448,E,52.362,144.42,120308,,,D*51
+$GPRMC,084632.00,A,5200.48520,N,00422.89824,E,52.254,144.22,120308,,,D*5A
+$GPRMC,084633.00,A,5200.47346,N,00422.91202,E,52.270,144.21,120308,,,D*50
+$GPRMC,084634.00,A,5200.46165,N,00422.92579,E,52.717,144.44,120308,,,D*5A
+$GPRMC,084635.00,A,5200.44975,N,00422.93966,E,52.928,144.56,120308,,,D*52
+$GPRMC,084636.00,A,5200.43782,N,00422.95358,E,53.076,144.19,120308,,,D*59
+$GPRMC,084637.00,A,5200.42578,N,00422.96761,E,53.645,144.15,120308,,,D*59
+$GPRMC,084638.00,A,5200.41347,N,00422.98188,E,55.318,144.38,120308,,,D*54
+$GPRMC,084639.00,A,5200.40108,N,00422.99608,E,54.378,144.53,120308,,,D*59
+$GPRMC,084640.00,A,5200.38870,N,00423.01020,E,54.657,144.39,120308,,,D*56
+$GPRMC,084641.00,A,5200.37619,N,00423.02427,E,55.231,145.35,120308,,,D*51
+$GPRMC,084642.00,A,5200.36349,N,00423.03828,E,55.720,146.13,120308,,,D*53
+$GPRMC,084643.00,A,5200.35056,N,00423.05215,E,56.265,147.19,120308,,,D*52
+$GPRMC,084644.00,A,5200.33721,N,00423.06559,E,56.766,148.74,120308,,,D*5A
+$GPRMC,084645.00,A,5200.32349,N,00423.07846,E,57.005,150.47,120308,,,D*58
+$GPRMC,084646.00,A,5200.30955,N,00423.09066,E,56.886,152.40,120308,,,D*5D
+$GPRMC,084647.00,A,5200.29548,N,00423.10205,E,56.101,153.90,120308,,,D*51
+$GPRMC,084648.00,A,5200.28133,N,00423.11276,E,55.961,155.32,120308,,,D*51
+$GPRMC,084649.00,A,5200.26709,N,00423.12280,E,55.525,156.93,120308,,,D*5F
+$GPRMC,084650.00,A,5200.25284,N,00423.13221,E,55.259,158.45,120308,,,D*57
+$GPRMC,084651.00,A,5200.23846,N,00423.14072,E,54.759,160.34,120308,,,D*5E
+$GPRMC,084652.00,A,5200.22402,N,00423.14847,E,54.029,162.10,120308,,,D*5A
+$GPRMC,084653.00,A,5200.20965,N,00423.15549,E,53.534,163.45,120308,,,D*58
+$GPRMC,084654.00,A,5200.19534,N,00423.16204,E,53.264,164.18,120308,,,D*5D
+$GPRMC,084655.00,A,5200.18133,N,00423.16825,E,52.882,164.65,120308,,,D*5E
+$GPRMC,084656.00,A,5200.16745,N,00423.17435,E,52.608,165.03,120308,,,D*55
+$GPRMC,084657.00,A,5200.15347,N,00423.18027,E,52.598,165.11,120308,,,D*50
+$GPRMC,084658.00,A,5200.13950,N,00423.18618,E,52.542,165.21,120308,,,D*5B
+$GPRMC,084659.00,A,5200.12558,N,00423.19206,E,51.916,165.00,120308,,,D*58
+$GPRMC,084700.00,A,5200.11174,N,00423.19796,E,51.852,165.00,120308,,,D*51
+$GPRMC,084701.00,A,5200.09797,N,00423.20386,E,51.471,165.00,120308,,,D*50
+$GPRMC,084702.00,A,5200.08427,N,00423.20969,E,51.113,165.08,120308,,,D*58
+$GPRMC,084703.00,A,5200.07065,N,00423.21547,E,50.902,165.28,120308,,,D*5E
+$GPRMC,084704.00,A,5200.05705,N,00423.22117,E,50.730,165.29,120308,,,D*56
+$GPRMC,084705.00,A,5200.04357,N,00423.22682,E,50.055,165.39,120308,,,D*5B
+$GPRMC,084706.00,A,5200.03029,N,00423.23237,E,49.165,165.32,120308,,,D*5F
+$GPRMC,084707.00,A,5200.01723,N,00423.23790,E,48.431,164.94,120308,,,D*51
+$GPRMC,084708.00,A,5200.00431,N,00423.24347,E,48.228,164.97,120308,,,D*5B
+$GPRMC,084709.00,A,5159.99127,N,00423.24904,E,49.236,165.09,120308,,,D*52
+$GPRMC,084710.00,A,5159.97795,N,00423.25469,E,50.355,165.33,120308,,,D*59
+$GPRMC,084711.00,A,5159.96430,N,00423.26032,E,51.266,165.75,120308,,,D*5E
+$GPRMC,084712.00,A,5159.95042,N,00423.26596,E,52.275,166.16,120308,,,D*53
+$GPRMC,084713.00,A,5159.93623,N,00423.27155,E,53.219,166.47,120308,,,D*50
+$GPRMC,084714.00,A,5159.92194,N,00423.27711,E,53.113,166.52,120308,,,D*56
+$GPRMC,084715.00,A,5159.90770,N,00423.28266,E,52.769,166.42,120308,,,D*58
+$GPRMC,084716.00,A,5159.89356,N,00423.28820,E,52.471,166.39,120308,,,D*5D
+$GPRMC,084717.00,A,5159.87951,N,00423.29382,E,52.097,165.85,120308,,,D*55
+$GPRMC,084718.00,A,5159.86555,N,00423.29958,E,51.987,165.64,120308,,,D*5A
+$GPRMC,084719.00,A,5159.85155,N,00423.30540,E,52.427,165.68,120308,,,D*59
+$GPRMC,084720.00,A,5159.83748,N,00423.31151,E,52.634,164.40,120308,,,D*51
+$GPRMC,084721.00,A,5159.82321,N,00423.31752,E,52.729,165.40,120308,,,D*53
+$GPRMC,084722.00,A,5159.80889,N,00423.32392,E,53.324,165.01,120308,,,D*5D
+$GPRMC,084723.00,A,5159.79474,N,00423.33000,E,52.344,165.12,120308,,,D*58
+$GPRMC,084724.00,A,5159.78089,N,00423.33604,E,51.337,164.90,120308,,,D*56
+$GPRMC,084725.00,A,5159.76733,N,00423.34197,E,50.257,164.67,120308,,,D*5B
+$GPRMC,084726.00,A,5159.75405,N,00423.34787,E,49.336,164.69,120308,,,D*5A
+$GPRMC,084727.00,A,5159.74083,N,00423.35326,E,48.652,165.33,120308,,,D*56
+$GPRMC,084728.00,A,5159.72759,N,00423.35879,E,48.647,165.62,120308,,,D*5E
+$GPRMC,084729.00,A,5159.71467,N,00423.36407,E,48.405,165.61,120308,,,D*53
+$GPRMC,084730.00,A,5159.70178,N,00423.36962,E,48.086,165.42,120308,,,D*51
+$GPRMC,084731.00,A,5159.68894,N,00423.37501,E,47.866,165.47,120308,,,D*56
+$GPRMC,084732.00,A,5159.67623,N,00423.38041,E,47.710,165.04,120308,,,D*5F
+$GPRMC,084733.00,A,5159.66358,N,00423.38582,E,47.546,165.11,120308,,,D*59
+$GPRMC,084734.00,A,5159.65097,N,00423.39117,E,47.485,165.17,120308,,,D*5C
+$GPRMC,084735.00,A,5159.63832,N,00423.39648,E,47.428,165.25,120308,,,D*57
+$GPRMC,084736.00,A,5159.62567,N,00423.40192,E,47.535,164.77,120308,,,D*5D
+$GPRMC,084737.00,A,5159.61296,N,00423.40740,E,47.487,164.72,120308,,,D*52
+$GPRMC,084738.00,A,5159.60031,N,00423.41281,E,47.303,165.32,120308,,,D*54
+$GPRMC,084739.00,A,5159.58764,N,00423.41804,E,47.217,165.34,120308,,,D*5C
+$GPRMC,084740.00,A,5159.57496,N,00423.42335,E,47.431,165.15,120308,,,D*58
+$GPRMC,084741.00,A,5159.56221,N,00423.42880,E,47.721,164.61,120308,,,D*57
+$GPRMC,084742.00,A,5159.54941,N,00423.43448,E,47.983,164.34,120308,,,D*54
+$GPRMC,084743.00,A,5159.53660,N,00423.44024,E,48.130,164.70,120308,,,D*58
+$GPRMC,084744.00,A,5159.52378,N,00423.44589,E,47.883,165.00,120308,,,D*58
+$GPRMC,084745.00,A,5159.51103,N,00423.45146,E,47.660,165.21,120308,,,D*52
+$GPRMC,084746.00,A,5159.49828,N,00423.45689,E,47.661,165.63,120308,,,D*5B
+$GPRMC,084747.00,A,5159.48548,N,00423.46231,E,48.016,165.51,120308,,,D*5C
+$GPRMC,084748.00,A,5159.47250,N,00423.46776,E,48.633,165.38,120308,,,D*5A
+$GPRMC,084749.00,A,5159.45933,N,00423.47329,E,49.510,165.63,120308,,,D*55
+$GPRMC,084750.00,A,5159.44587,N,00423.47876,E,50.464,166.14,120308,,,D*57
+$GPRMC,084751.00,A,5159.43216,N,00423.48416,E,51.359,166.64,120308,,,D*54
+$GPRMC,084752.00,A,5159.41818,N,00423.48952,E,52.229,166.84,120308,,,D*57
+$GPRMC,084753.00,A,5159.40403,N,00423.49490,E,52.675,166.89,120308,,,D*53
+$GPRMC,084754.00,A,5159.38984,N,00423.50040,E,52.633,166.44,120308,,,D*5B
+$GPRMC,084755.00,A,5159.37565,N,00423.50607,E,52.740,166.02,120308,,,D*54
+$GPRMC,084756.00,A,5159.36146,N,00423.51195,E,52.879,165.90,120308,,,D*53
+$GPRMC,084757.00,A,5159.34726,N,00423.51811,E,53.019,165.59,120308,,,D*5F
+$GPRMC,084758.00,A,5159.33303,N,00423.52425,E,53.022,165.21,120308,,,D*5B
+$GPRMC,084759.00,A,5159.31870,N,00423.53037,E,53.064,164.89,120308,,,D*50
+$GPRMC,084800.00,A,5159.30440,N,00423.53657,E,53.016,164.82,120308,,,D*53
+$GPRMC,084801.00,A,5159.29015,N,00423.54271,E,52.940,165.01,120308,,,D*58
+$GPRMC,084802.00,A,5159.27596,N,00423.54884,E,52.658,164.89,120308,,,D*5C
+$GPRMC,084803.00,A,5159.26185,N,00423.55491,E,52.309,164.97,120308,,,D*5D
+$GPRMC,084804.00,A,5159.24782,N,00423.56084,E,51.948,165.44,120308,,,D*59
+$GPRMC,084805.00,A,5159.23390,N,00423.56658,E,51.437,165.62,120308,,,D*5E
+$GPRMC,084806.00,A,5159.22010,N,00423.57235,E,51.168,165.17,120308,,,D*54
+$GPRMC,084807.00,A,5159.20647,N,00423.57844,E,51.068,164.10,120308,,,D*58
+$GPRMC,084808.00,A,5159.19278,N,00423.58439,E,50.769,165.23,120308,,,D*5A
+$GPRMC,084809.00,A,5159.17918,N,00423.59026,E,50.622,165.45,120308,,,D*5D
+$GPRMC,084810.00,A,5159.16564,N,00423.59603,E,50.577,165.56,120308,,,D*53
+$GPRMC,084811.00,A,5159.15217,N,00423.60174,E,50.013,165.45,120308,,,D*5A
+$GPRMC,084812.00,A,5159.13890,N,00423.60725,E,48.944,166.04,120308,,,D*5C
+$GPRMC,084813.00,A,5159.12592,N,00423.61244,E,47.830,166.44,120308,,,D*59
+$GPRMC,084814.00,A,5159.11325,N,00423.61731,E,46.452,167.08,120308,,,D*50
+$GPRMC,084815.00,A,5159.10105,N,00423.62135,E,44.196,169.60,120308,,,D*5E
+$GPRMC,084816.00,A,5159.08944,N,00423.62403,E,41.269,174.25,120308,,,D*52
+$GPRMC,084817.00,A,5159.07853,N,00423.62467,E,38.158,181.14,120308,,,D*5E
+$GPRMC,084818.00,A,5159.06847,N,00423.62327,E,35.376,187.41,120308,,,D*53
+$GPRMC,084819.00,A,5159.05935,N,00423.62109,E,31.893,187.99,120308,,,D*5A
+$GPRMC,084820.00,A,5159.05101,N,00423.61995,E,29.054,180.07,120308,,,D*5B
+$GPRMC,084821.00,A,5159.04335,N,00423.62063,E,26.904,172.47,120308,,,D*57
+$GPRMC,084822.00,A,5159.03628,N,00423.62195,E,24.973,173.36,120308,,,D*57
+$GPRMC,084823.00,A,5159.02991,N,00423.62257,E,21.728,179.45,120308,,,D*5C
+$GPRMC,084824.00,A,5159.02449,N,00423.62206,E,18.465,186.47,120308,,,D*55
+$GPRMC,084825.00,A,5159.01965,N,00423.62114,E,17.468,185.29,120308,,,D*5D
+$GPRMC,084826.00,A,5159.01516,N,00423.62110,E,16.139,173.93,120308,,,D*5A
+$GPRMC,084827.00,A,5159.01117,N,00423.62196,E,12.880,170.64,120308,,,D*54
+$GPRMC,084828.00,A,5159.00913,N,00423.62123,E,6.554,198.70,120308,,,D*6A
+$GPRMC,084829.00,A,5159.00823,N,00423.62014,E,4.201,209.08,120308,,,D*6D
+$GPRMC,084830.00,A,5159.00824,N,00423.61979,E,1.383,211.62,120308,,,D*68
+$GPRMC,084831.00,A,5159.00870,N,00423.62015,E,0.400,216.07,120308,,,D*61
+$GPRMC,084832.00,A,5159.00904,N,00423.62128,E,0.088,211.38,120308,,,D*60
+$GPRMC,084833.00,A,5159.00940,N,00423.62202,E,0.050,210.38,120308,,,D*6E
+$GPRMC,084834.00,A,5159.00965,N,00423.62299,E,0.117,206.67,120308,,,D*63
+$GPRMC,084835.00,A,5159.00973,N,00423.62432,E,0.448,200.35,120308,,,D*6C
+$GPRMC,084836.00,A,5159.00973,N,00423.62567,E,0.093,201.76,120308,,,D*6A
+$GPRMC,084837.00,A,5159.00972,N,00423.62669,E,0.085,197.07,120308,,,D*6A
+$GPRMC,084838.00,A,5159.00979,N,00423.62752,E,0.013,,120308,,,D*7E
+$GPRMC,084839.00,A,5159.00975,N,00423.62844,E,0.065,197.97,120308,,,D*65
+$GPRMC,084840.00,A,5159.00971,N,00423.62930,E,0.396,191.28,120308,,,D*60
+$GPRMC,084841.00,A,5159.00965,N,00423.63006,E,0.111,194.85,120308,,,D*66
+$GPRMC,084842.00,A,5159.00958,N,00423.63049,E,0.054,190.68,120308,,,D*67
+$GPRMC,084843.00,A,5159.00948,N,00423.63085,E,0.291,194.09,120308,,,D*6F
+$GPRMC,084844.00,A,5159.00944,N,00423.63126,E,0.312,197.48,120308,,,D*60
+$GPRMC,084845.00,A,5159.00950,N,00423.63155,E,0.528,190.71,120308,,,D*62
+$GPRMC,084846.00,A,5159.00947,N,00423.63165,E,0.129,188.24,120308,,,D*68
+$GPRMC,084847.00,A,5159.00948,N,00423.63165,E,0.268,182.69,120308,,,D*63
+$GPRMC,084848.00,A,5159.00946,N,00423.63139,E,0.030,181.25,120308,,,D*6F
+$GPRMC,084849.00,A,5159.00950,N,00423.63153,E,0.098,183.72,120308,,,D*67
+$GPRMC,084850.00,A,5159.00950,N,00423.63139,E,0.075,188.62,120308,,,D*6A
+$GPRMC,084851.00,A,5159.00952,N,00423.63129,E,0.023,186.28,120308,,,D*6B
+$GPRMC,084852.00,A,5159.00956,N,00423.63125,E,0.062,190.55,120308,,,D*68
+$GPRMC,084853.00,A,5159.00951,N,00423.63097,E,0.079,190.85,120308,,,D*61
+$GPRMC,084854.00,A,5159.00954,N,00423.63120,E,0.034,188.93,120308,,,D*69
+$GPRMC,084855.00,A,5159.00953,N,00423.63122,E,0.096,189.97,120308,,,D*60
+$GPRMC,084856.00,A,5159.00952,N,00423.63122,E,0.130,191.15,120308,,,D*6C
+$GPRMC,084857.00,A,5159.00954,N,00423.63149,E,0.298,184.85,120308,,,D*6A
+$GPRMC,084858.00,A,5159.00946,N,00423.63157,E,0.074,181.16,120308,,,D*66
+$GPRMC,084859.00,A,5159.00937,N,00423.63160,E,0.114,183.13,120308,,,D*65
+$GPRMC,084900.00,A,5159.00925,N,00423.63163,E,0.046,184.80,120308,,,D*63
+$GPRMC,084901.00,A,5159.00918,N,00423.63164,E,0.063,180.79,120308,,,D*6E
+$GPRMC,084902.00,A,5159.00910,N,00423.63179,E,0.003,,120308,,,D*76
+$GPRMC,084903.00,A,5159.00899,N,00423.63184,E,0.250,173.21,120308,,,D*69
+$GPRMC,084904.00,A,5159.00891,N,00423.63192,E,0.015,,120308,,,D*7A
+$GPRMC,084905.00,A,5159.00876,N,00423.63181,E,0.067,174.01,120308,,,D*68
+$GPRMC,084906.00,A,5159.00853,N,00423.63157,E,0.089,175.45,120308,,,D*66
+$GPRMC,084907.00,A,5159.00837,N,00423.63145,E,0.020,173.82,120308,,,D*68
+$GPRMC,084908.00,A,5159.00824,N,00423.63146,E,0.093,175.85,120308,,,D*6F
+$GPRMC,084909.00,A,5159.00808,N,00423.63131,E,0.071,178.32,120308,,,D*6D
+$GPRMC,084910.00,A,5159.00795,N,00423.63139,E,0.055,174.72,120308,,,D*68
+$GPRMC,084911.00,A,5159.00773,N,00423.63091,E,0.030,178.89,120308,,,D*69
+$GPRMC,084912.00,A,5159.00759,N,00423.63059,E,0.009,,120308,,,D*7D
+$GPRMC,084913.00,A,5159.00740,N,00423.63026,E,0.017,,120308,,,D*73
+$GPRMC,084914.00,A,5159.00722,N,00423.62998,E,0.015,,120308,,,D*7F
+$GPRMC,084915.00,A,5159.00698,N,00423.62954,E,0.060,177.79,120308,,,D*6D
+$GPRMC,084916.00,A,5159.00668,N,00423.62904,E,0.004,,120308,,,D*77
+$GPRMC,084917.00,A,5159.00649,N,00423.62873,E,0.051,177.54,120308,,,D*6A
+$GPRMC,084918.00,A,5159.00631,N,00423.62844,E,0.019,,120308,,,D*7C
+$GPRMC,084919.00,A,5159.00610,N,00423.62810,E,0.056,177.09,120308,,,D*62
+$GPRMC,084920.00,A,5159.00594,N,00423.62786,E,0.123,178.51,120308,,,D*66
+$GPRMC,084921.00,A,5159.00579,N,00423.62763,E,0.110,180.19,120308,,,D*64
+$GPRMC,084922.00,A,5159.00566,N,00423.62746,E,0.037,180.16,120308,,,D*65
+$GPRMC,084923.00,A,5159.00556,N,00423.62742,E,0.091,180.96,120308,,,D*67
+$GPRMC,084924.00,A,5159.00542,N,00423.62735,E,0.189,182.39,120308,,,D*6A
+$GPRMC,084925.00,A,5159.00527,N,00423.62725,E,0.174,183.41,120308,,,D*65
+$GPRMC,084926.00,A,5159.00518,N,00423.62728,E,0.227,185.77,120308,,,D*61
+$GPRMC,084927.00,A,5159.00510,N,00423.62726,E,0.117,186.71,120308,,,D*63
+$GPRMC,084928.00,A,5159.00503,N,00423.62727,E,0.144,188.04,120308,,,D*65
+$GPRMC,084929.00,A,5159.00497,N,00423.62730,E,0.091,189.17,120308,,,D*64
+$GPRMC,084930.00,A,5159.00489,N,00423.62733,E,0.074,187.99,120308,,,D*63
+$GPRMC,084931.00,A,5159.00479,N,00423.62734,E,0.101,187.33,120308,,,D*69
+$GPRMC,084932.00,A,5159.00474,N,00423.62735,E,0.046,188.66,120308,,,D*6B
+$GPRMC,084933.00,A,5159.00469,N,00423.62735,E,0.147,189.01,120308,,,D*66
+$GPRMC,084934.00,A,5159.00460,N,00423.62730,E,0.182,190.39,120308,,,D*67
+$GPRMC,084935.00,A,5159.00455,N,00423.62724,E,0.162,191.56,120308,,,D*63
+$GPRMC,084936.00,A,5159.00449,N,00423.62724,E,0.153,192.44,120308,,,D*6F
+$GPRMC,084937.00,A,5159.00452,N,00423.62735,E,0.225,194.15,120308,,,D*64
+$GPRMC,084938.00,A,5159.00453,N,00423.62747,E,0.166,194.87,120308,,,D*60
+$GPRMC,084939.00,A,5159.00459,N,00423.62759,E,0.274,197.45,120308,,,D*69
+$GPRMC,084940.00,A,5159.00464,N,00423.62772,E,0.096,197.25,120308,,,D*68
+$GPRMC,084941.00,A,5159.00469,N,00423.62785,E,0.122,198.65,120308,,,D*69
+$GPRMC,084942.00,A,5159.00472,N,00423.62794,E,0.055,199.67,120308,,,D*62
+$GPRMC,084943.00,A,5159.00480,N,00423.62806,E,0.152,200.04,120308,,,D*6A
+$GPRMC,084944.00,A,5159.00484,N,00423.62808,E,0.236,205.68,120308,,,D*69
+$GPRMC,084945.00,A,5159.00492,N,00423.62817,E,0.052,205.89,120308,,,D*6E
+$GPRMC,084946.00,A,5159.00498,N,00423.62826,E,0.039,204.21,120308,,,D*6B
+$GPRMC,084947.00,A,5159.00501,N,00423.62832,E,0.037,205.53,120308,,,D*64
+$GPRMC,084948.00,A,5159.00507,N,00423.62838,E,0.019,,120308,,,D*74
+$GPRMC,084949.00,A,5159.00514,N,00423.62844,E,0.034,206.36,120308,,,D*6C
+$GPRMC,084950.00,A,5159.00521,N,00423.62847,E,0.043,206.22,120308,,,D*64
+$GPRMC,084951.00,A,5159.00525,N,00423.62846,E,0.010,,120308,,,D*7C
+$GPRMC,084952.00,A,5159.00534,N,00423.62849,E,0.063,210.89,120308,,,D*68
+$GPRMC,084953.00,A,5159.00538,N,00423.62839,E,0.332,214.00,120308,,,D*60
+$GPRMC,084954.00,A,5159.00546,N,00423.62837,E,0.118,214.82,120308,,,D*60
+$GPRMC,084955.00,A,5159.00551,N,00423.62831,E,0.045,216.70,120308,,,D*67
+$GPRMC,084956.00,A,5159.00561,N,00423.62836,E,0.035,211.75,120308,,,D*65
+$GPRMC,084957.00,A,5159.00571,N,00423.62837,E,0.033,216.18,120308,,,D*6E
+$GPRMC,084958.00,A,5159.00580,N,00423.62838,E,0.018,,120308,,,D*7B
+$GPRMC,084959.00,A,5159.00589,N,00423.62837,E,0.078,220.79,120308,,,D*6A
+$GPRMC,085000.00,A,5159.00594,N,00423.62828,E,0.094,222.33,120308,,,D*62
+$GPRMC,085001.00,A,5159.00596,N,00423.62817,E,0.067,225.36,120308,,,D*63
+$GPRMC,085002.00,A,5159.00599,N,00423.62815,E,0.125,221.60,120308,,,D*6D
+$GPRMC,085003.00,A,5159.00600,N,00423.62800,E,0.074,223.66,120308,,,D*6A
+$GPRMC,085004.00,A,5159.00603,N,00423.62789,E,0.026,219.32,120308,,,D*6F
+$GPRMC,085005.00,A,5159.00599,N,00423.62773,E,0.215,221.28,120308,,,D*69
+$GPRMC,085006.00,A,5159.00599,N,00423.62760,E,0.078,224.88,120308,,,D*6E
+$GPRMC,085007.00,A,5159.00600,N,00423.62751,E,0.039,226.54,120308,,,D*68
+$GPRMC,085008.00,A,5159.00602,N,00423.62737,E,0.013,,120308,,,D*74
+$GPRMC,085009.00,A,5159.00604,N,00423.62727,E,0.041,230.00,120308,,,D*6A
+$GPRMC,085010.00,A,5159.00604,N,00423.62715,E,0.052,234.56,120308,,,D*66
+$GPRMC,085011.00,A,5159.00608,N,00423.62700,E,0.045,229.62,120308,,,D*62
+$GPRMC,085012.00,A,5159.00609,N,00423.62686,E,0.051,224.80,120308,,,D*6B
+$GPRMC,085013.00,A,5159.00610,N,00423.62675,E,0.023,230.24,120308,,,D*60
+$GPRMC,085014.00,A,5159.00606,N,00423.62664,E,0.040,233.54,120308,,,D*61
+$GPRMC,085015.00,A,5159.00602,N,00423.62652,E,0.043,235.61,120308,,,D*62
+$GPRMC,085016.00,A,5159.00581,N,00423.62622,E,0.372,231.52,120308,,,D*6B
+$GPRMC,085017.00,A,5159.00554,N,00423.62623,E,1.413,227.23,120308,,,D*63
+$GPRMC,085018.00,A,5159.00512,N,00423.62655,E,2.285,150.68,120308,,,D*69
+$GPRMC,085019.00,A,5159.00455,N,00423.62757,E,2.659,139.61,120308,,,D*6A
+$GPRMC,085020.00,A,5159.00540,N,00423.63187,E,5.318,87.17,120308,,,D*5D
+$GPRMC,085021.00,A,5159.00500,N,00423.63696,E,7.910,92.59,120308,,,D*51
+$GPRMC,085022.00,A,5159.00198,N,00423.63953,E,9.100,130.54,120308,,,D*62
+$GPRMC,085023.00,A,5158.99792,N,00423.64121,E,11.967,162.04,120308,,,D*56
+$GPRMC,085024.00,A,5158.99413,N,00423.64215,E,14.015,175.11,120308,,,D*54
+$GPRMC,085025.00,A,5158.99012,N,00423.64272,E,15.146,175.39,120308,,,D*5D
+$GPRMC,085026.00,A,5158.98651,N,00423.64344,E,12.481,172.17,120308,,,D*58
+$GPRMC,085027.00,A,5158.98409,N,00423.64422,E,7.814,169.63,120308,,,D*6C
+$GPRMC,085028.00,A,5158.98283,N,00423.64475,E,3.576,168.67,120308,,,D*6D
+$GPRMC,085029.00,A,5158.98219,N,00423.64509,E,2.202,165.97,120308,,,D*62
+$GPRMC,085030.00,A,5158.98154,N,00423.64539,E,3.102,161.27,120308,,,D*6E
+$GPRMC,085031.00,A,5158.98025,N,00423.64600,E,6.525,152.42,120308,,,D*66
+$GPRMC,085032.00,A,5158.97818,N,00423.64843,E,11.625,144.82,120308,,,D*5B
+$GPRMC,085033.00,A,5158.97564,N,00423.65266,E,14.856,138.39,120308,,,D*54
+$GPRMC,085034.00,A,5158.97274,N,00423.65749,E,15.253,137.45,120308,,,D*57
+$GPRMC,085035.00,A,5158.96963,N,00423.66223,E,15.465,139.98,120308,,,D*5D
+$GPRMC,085036.00,A,5158.96589,N,00423.66603,E,15.608,148.12,120308,,,D*5D
+$GPRMC,085037.00,A,5158.96111,N,00423.66904,E,17.037,154.61,120308,,,D*50
+$GPRMC,085038.00,A,5158.95660,N,00423.67143,E,16.896,158.51,120308,,,D*5A
+$GPRMC,085039.00,A,5158.95218,N,00423.67388,E,16.865,159.61,120308,,,D*5B
+$GPRMC,085040.00,A,5158.94758,N,00423.67589,E,16.823,161.55,120308,,,D*5C
+$GPRMC,085041.00,A,5158.94255,N,00423.67686,E,16.905,165.82,120308,,,D*52
+$GPRMC,085042.00,A,5158.93773,N,00423.67758,E,16.805,169.20,120308,,,D*50
+$GPRMC,085043.00,A,5158.93269,N,00423.67870,E,17.352,169.92,120308,,,D*5B
+$GPRMC,085044.00,A,5158.92610,N,00423.68032,E,19.904,172.18,120308,,,D*59
+$GPRMC,085045.00,A,5158.91873,N,00423.68312,E,22.164,165.72,120308,,,D*5D
+$GPRMC,085046.00,A,5158.91079,N,00423.68527,E,24.277,171.29,120308,,,D*50
+$GPRMC,085047.00,A,5158.90270,N,00423.68844,E,26.263,165.85,120308,,,D*57
+$GPRMC,085048.00,A,5158.89465,N,00423.69366,E,28.264,160.23,120308,,,D*58
+$GPRMC,085049.00,A,5158.88672,N,00423.69931,E,28.639,158.96,120308,,,D*5D
+$GPRMC,085050.00,A,5158.87865,N,00423.70445,E,28.733,158.78,120308,,,D*5F
+$GPRMC,085051.00,A,5158.87083,N,00423.70964,E,28.551,157.90,120308,,,D*5F
+$GPRMC,085052.00,A,5158.86320,N,00423.71481,E,28.909,157.91,120308,,,D*50
+$GPRMC,085053.00,A,5158.85548,N,00423.71978,E,28.880,159.19,120308,,,D*5F
+$GPRMC,085054.00,A,5158.84782,N,00423.72438,E,28.382,160.44,120308,,,D*5C
+$GPRMC,085055.00,A,5158.84020,N,00423.72870,E,28.261,161.32,120308,,,D*5E
+$GPRMC,085056.00,A,5158.83253,N,00423.73283,E,28.744,161.97,120308,,,D*56
+$GPRMC,085057.00,A,5158.82464,N,00423.73692,E,29.959,162.62,120308,,,D*5A
+$GPRMC,085058.00,A,5158.81629,N,00423.74109,E,31.950,163.30,120308,,,D*59
+$GPRMC,085059.00,A,5158.80730,N,00423.74547,E,34.458,163.39,120308,,,D*57
+$GPRMC,085100.00,A,5158.79769,N,00423.74997,E,36.624,164.21,120308,,,D*54
+$GPRMC,085101.00,A,5158.78773,N,00423.75455,E,36.975,164.11,120308,,,D*55
+$GPRMC,085102.00,A,5158.77755,N,00423.75926,E,38.278,164.03,120308,,,D*5F
+$GPRMC,085103.00,A,5158.76718,N,00423.76412,E,38.703,164.10,120308,,,D*54
+$GPRMC,085104.00,A,5158.75667,N,00423.76906,E,39.235,163.56,120308,,,D*55
+$GPRMC,085105.00,A,5158.74602,N,00423.77419,E,39.952,163.22,120308,,,D*5D
+$GPRMC,085106.00,A,5158.73522,N,00423.77950,E,40.507,163.06,120308,,,D*5C
+$GPRMC,085107.00,A,5158.72430,N,00423.78480,E,40.816,163.72,120308,,,D*5F
+$GPRMC,085108.00,A,5158.71325,N,00423.78994,E,41.084,164.21,120308,,,D*5B
+$GPRMC,085109.00,A,5158.70213,N,00423.79498,E,41.366,164.33,120308,,,D*53
+$GPRMC,085110.00,A,5158.69091,N,00423.79997,E,41.732,164.82,120308,,,D*56
+$GPRMC,085111.00,A,5158.67958,N,00423.80487,E,41.945,165.18,120308,,,D*53
+$GPRMC,085112.00,A,5158.66820,N,00423.80972,E,42.112,165.22,120308,,,D*58
+$GPRMC,085113.00,A,5158.65681,N,00423.81456,E,42.380,165.48,120308,,,D*50
+$GPRMC,085114.00,A,5158.64527,N,00423.81937,E,42.902,165.44,120308,,,D*5F
+$GPRMC,085115.00,A,5158.63360,N,00423.82431,E,43.319,165.07,120308,,,D*52
+$GPRMC,085116.00,A,5158.62185,N,00423.82934,E,43.602,164.99,120308,,,D*58
+$GPRMC,085117.00,A,5158.61000,N,00423.83448,E,43.850,164.91,120308,,,D*50
+$GPRMC,085118.00,A,5158.59821,N,00423.83960,E,44.097,165.27,120308,,,D*50
+$GPRMC,085119.00,A,5158.58629,N,00423.84485,E,44.397,165.26,120308,,,D*55
+$GPRMC,085120.00,A,5158.57421,N,00423.85021,E,44.862,165.30,120308,,,D*57
+$GPRMC,085121.00,A,5158.56203,N,00423.85551,E,45.357,165.31,120308,,,D*5E
+$GPRMC,085122.00,A,5158.54974,N,00423.86079,E,45.693,165.49,120308,,,D*5A
+$GPRMC,085123.00,A,5158.53751,N,00423.86599,E,45.014,165.61,120308,,,D*5D
+$GPRMC,085124.00,A,5158.52535,N,00423.87122,E,44.931,165.49,120308,,,D*5B
+$GPRMC,085125.00,A,5158.51331,N,00423.87649,E,44.559,164.96,120308,,,D*50
+$GPRMC,085126.00,A,5158.50138,N,00423.88177,E,44.019,164.94,120308,,,D*5F
+$GPRMC,085127.00,A,5158.48959,N,00423.88693,E,43.600,165.22,120308,,,D*50
+$GPRMC,085128.00,A,5158.47790,N,00423.89191,E,43.586,165.40,120308,,,D*56
+$GPRMC,085129.00,A,5158.46620,N,00423.89682,E,43.478,165.36,120308,,,D*58
+$GPRMC,085130.00,A,5158.45455,N,00423.90179,E,43.313,164.94,120308,,,D*5B
+$GPRMC,085131.00,A,5158.44291,N,00423.90682,E,43.518,165.00,120308,,,D*57
+$GPRMC,085132.00,A,5158.43117,N,00423.91183,E,43.875,165.22,120308,,,D*5F
+$GPRMC,085133.00,A,5158.41936,N,00423.91685,E,44.035,165.15,120308,,,D*59
+$GPRMC,085134.00,A,5158.40755,N,00423.92193,E,44.125,164.97,120308,,,D*5C
+$GPRMC,085135.00,A,5158.39571,N,00423.92704,E,44.036,165.10,120308,,,D*52
+$GPRMC,085136.00,A,5158.38390,N,00423.93212,E,43.784,165.06,120308,,,D*54
+$GPRMC,085137.00,A,5158.37214,N,00423.93718,E,43.703,165.00,120308,,,D*51
+$GPRMC,085138.00,A,5158.36030,N,00423.94233,E,44.421,164.76,120308,,,D*54
+$GPRMC,085139.00,A,5158.34828,N,00423.94779,E,45.276,163.77,120308,,,D*5E
+$GPRMC,085140.00,A,5158.33610,N,00423.95377,E,46.107,162.38,120308,,,D*55
+$GPRMC,085141.00,A,5158.32381,N,00423.96033,E,46.818,161.11,120308,,,D*57
+$GPRMC,085142.00,A,5158.31135,N,00423.96727,E,47.763,160.91,120308,,,D*53
+$GPRMC,085143.00,A,5158.29865,N,00423.97436,E,48.629,161.07,120308,,,D*5B
+$GPRMC,085144.00,A,5158.28568,N,00423.98155,E,49.637,161.12,120308,,,D*58
+$GPRMC,085145.00,A,5158.27250,N,00423.98914,E,50.663,159.83,120308,,,D*5D
+$GPRMC,085146.00,A,5158.25916,N,00423.99731,E,51.754,159.00,120308,,,D*52
+$GPRMC,085147.00,A,5158.24567,N,00424.00607,E,52.660,157.70,120308,,,D*57
+$GPRMC,085148.00,A,5158.23210,N,00424.01559,E,53.515,155.90,120308,,,D*5D
+$GPRMC,085149.00,A,5158.21849,N,00424.02575,E,54.190,154.95,120308,,,D*5F
+$GPRMC,085150.00,A,5158.20481,N,00424.03641,E,54.621,154.26,120308,,,D*5E
+$GPRMC,085151.00,A,5158.19104,N,00424.04739,E,55.367,153.80,120308,,,D*59
+$GPRMC,085152.00,A,5158.17709,N,00424.05853,E,56.013,154.13,120308,,,D*53
+$GPRMC,085153.00,A,5158.16305,N,00424.06963,E,56.314,154.09,120308,,,D*55
+$GPRMC,085154.00,A,5158.14897,N,00424.08067,E,56.209,154.57,120308,,,D*55
+$GPRMC,085155.00,A,5158.13478,N,00424.09148,E,56.390,155.17,120308,,,D*57
+$GPRMC,085156.00,A,5158.12048,N,00424.10217,E,56.774,155.46,120308,,,D*59
+$GPRMC,085157.00,A,5158.10608,N,00424.11282,E,57.039,155.51,120308,,,D*5C
+$GPRMC,085158.00,A,5158.09158,N,00424.12353,E,57.285,155.54,120308,,,D*57
+$GPRMC,085159.00,A,5158.07713,N,00424.13433,E,56.995,155.20,120308,,,D*59
+$GPRMC,085200.00,A,5158.06283,N,00424.14516,E,56.430,154.82,120308,,,D*51
+$GPRMC,085201.00,A,5158.04869,N,00424.15605,E,55.856,154.27,120308,,,D*5C
+$GPRMC,085202.00,A,5158.03472,N,00424.16688,E,55.276,154.43,120308,,,D*52
+$GPRMC,085203.00,A,5158.02089,N,00424.17759,E,54.978,154.57,120308,,,D*5F
+$GPRMC,085204.00,A,5158.00713,N,00424.18819,E,54.748,154.69,120308,,,D*5A
+$GPRMC,085205.00,A,5157.99341,N,00424.19882,E,54.557,154.42,120308,,,D*51
+$GPRMC,085206.00,A,5157.97976,N,00424.20956,E,54.529,154.13,120308,,,D*5D
+$GPRMC,085207.00,A,5157.96614,N,00424.22035,E,54.377,154.32,120308,,,D*56
+$GPRMC,085208.00,A,5157.95258,N,00424.23114,E,54.364,153.85,120308,,,D*5C
+$GPRMC,085209.00,A,5157.93907,N,00424.24199,E,54.010,154.15,120308,,,D*56
+$GPRMC,085210.00,A,5157.92554,N,00424.25279,E,53.920,154.07,120308,,,D*57
+$GPRMC,085211.00,A,5157.91208,N,00424.26328,E,53.392,154.55,120308,,,D*59
+$GPRMC,085212.00,A,5157.89871,N,00424.27358,E,52.922,155.10,120308,,,D*51
+$GPRMC,085213.00,A,5157.88542,N,00424.28367,E,52.445,155.17,120308,,,D*54
+$GPRMC,085214.00,A,5157.87225,N,00424.29364,E,51.739,155.22,120308,,,D*55
+$GPRMC,085215.00,A,5157.85928,N,00424.30344,E,50.887,155.24,120308,,,D*57
+$GPRMC,085216.00,A,5157.84652,N,00424.31311,E,50.116,155.03,120308,,,D*52
+$GPRMC,085217.00,A,5157.83397,N,00424.32266,E,49.427,155.14,120308,,,D*53
+$GPRMC,085218.00,A,5157.82159,N,00424.33197,E,48.861,154.93,120308,,,D*50
+$GPRMC,085219.00,A,5157.80938,N,00424.34121,E,48.222,154.94,120308,,,D*5C
+$GPRMC,085220.00,A,5157.79760,N,00424.35033,E,46.575,154.35,120308,,,D*50
+$GPRMC,085221.00,A,5157.78580,N,00424.35926,E,47.182,154.69,120308,,,D*55
+$GPRMC,085222.00,A,5157.77395,N,00424.36832,E,47.071,154.71,120308,,,D*58
+$GPRMC,085223.00,A,5157.76214,N,00424.37737,E,46.925,154.46,120308,,,D*56
+$GPRMC,085224.00,A,5157.75042,N,00424.38637,E,46.579,154.78,120308,,,D*55
+$GPRMC,085225.00,A,5157.73870,N,00424.39527,E,46.781,154.54,120308,,,D*53
+$GPRMC,085226.00,A,5157.72703,N,00424.40420,E,46.415,154.89,120308,,,D*5C
+$GPRMC,085227.00,A,5157.71537,N,00424.41301,E,46.233,154.90,120308,,,D*54
+$GPRMC,085228.00,A,5157.70378,N,00424.42183,E,46.056,154.53,120308,,,D*52
+$GPRMC,085229.00,A,5157.69227,N,00424.43067,E,45.669,154.77,120308,,,D*55
+$GPRMC,085230.00,A,5157.68050,N,00424.43933,E,45.646,154.27,120308,,,D*5E
+$GPRMC,085231.00,A,5157.66885,N,00424.44815,E,45.344,153.97,120308,,,D*58
+$GPRMC,085232.00,A,5157.65740,N,00424.45681,E,44.859,154.27,120308,,,D*56
+$GPRMC,085233.00,A,5157.64605,N,00424.46532,E,44.489,154.59,120308,,,D*56
+$GPRMC,085234.00,A,5157.63475,N,00424.47408,E,44.739,154.47,120308,,,D*5D
+$GPRMC,085235.00,A,5157.62340,N,00424.48270,E,44.552,153.92,120308,,,D*5A
+$GPRMC,085236.00,A,5157.61208,N,00424.49148,E,45.108,154.05,120308,,,D*5D
+$GPRMC,085237.00,A,5157.60068,N,00424.50033,E,45.501,153.87,120308,,,D*5C
+$GPRMC,085238.00,A,5157.58920,N,00424.50926,E,45.904,154.04,120308,,,D*55
+$GPRMC,085239.00,A,5157.57763,N,00424.51821,E,46.192,154.23,120308,,,D*54
+$GPRMC,085240.00,A,5157.56598,N,00424.52719,E,46.490,154.26,120308,,,D*58
+$GPRMC,085241.00,A,5157.55423,N,00424.53629,E,46.957,154.25,120308,,,D*5D
+$GPRMC,085242.00,A,5157.54240,N,00424.54556,E,47.398,154.16,120308,,,D*58
+$GPRMC,085243.00,A,5157.53030,N,00424.55480,E,47.565,154.09,120308,,,D*5A
+$GPRMC,085244.00,A,5157.51833,N,00424.56416,E,47.599,154.07,120308,,,D*55
+$GPRMC,085245.00,A,5157.50635,N,00424.57347,E,47.676,154.29,120308,,,D*51
+$GPRMC,085246.00,A,5157.49440,N,00424.58279,E,47.615,154.02,120308,,,D*55
+$GPRMC,085247.00,A,5157.48253,N,00424.59216,E,47.517,153.86,120308,,,D*53
+$GPRMC,085248.00,A,5157.47068,N,00424.60148,E,47.286,154.37,120308,,,D*59
+$GPRMC,085249.00,A,5157.45891,N,00424.61060,E,46.669,154.64,120308,,,D*5C
+$GPRMC,085250.00,A,5157.44732,N,00424.61955,E,45.892,154.51,120308,,,D*53
+$GPRMC,085251.00,A,5157.43593,N,00424.62836,E,45.177,154.40,120308,,,D*59
+$GPRMC,085252.00,A,5157.42473,N,00424.63712,E,44.523,154.40,120308,,,D*58
+$GPRMC,085253.00,A,5157.41372,N,00424.64574,E,43.740,154.13,120308,,,D*5F
+$GPRMC,085254.00,A,5157.40287,N,00424.65430,E,43.330,154.17,120308,,,D*55
+$GPRMC,085255.00,A,5157.39217,N,00424.66277,E,42.749,154.07,120308,,,D*5F
+$GPRMC,085256.00,A,5157.38160,N,00424.67112,E,42.175,154.28,120308,,,D*5B
+$GPRMC,085257.00,A,5157.37114,N,00424.67929,E,41.716,154.42,120308,,,D*5A
+$GPRMC,085258.00,A,5157.36077,N,00424.68729,E,41.408,154.67,120308,,,D*5A
+$GPRMC,085259.00,A,5157.35046,N,00424.69525,E,41.063,154.50,120308,,,D*58
+$GPRMC,085300.00,A,5157.34027,N,00424.70319,E,40.770,154.16,120308,,,D*54
+$GPRMC,085301.00,A,5157.33018,N,00424.71115,E,40.398,153.98,120308,,,D*52
+$GPRMC,085302.00,A,5157.32017,N,00424.71911,E,40.230,153.73,120308,,,D*55
+$GPRMC,085303.00,A,5157.31016,N,00424.72704,E,40.210,154.22,120308,,,D*5E
+$GPRMC,085304.00,A,5157.30009,N,00424.73490,E,40.505,154.56,120308,,,D*59
+$GPRMC,085305.00,A,5157.28996,N,00424.74288,E,40.940,154.24,120308,,,D*5E
+$GPRMC,085306.00,A,5157.27966,N,00424.75090,E,41.392,154.46,120308,,,D*57
+$GPRMC,085307.00,A,5157.26923,N,00424.75904,E,42.079,154.20,120308,,,D*57
+$GPRMC,085308.00,A,5157.25863,N,00424.76731,E,42.647,154.13,120308,,,D*5E
+$GPRMC,085309.00,A,5157.24800,N,00424.77574,E,42.516,153.49,120308,,,D*56
+$GPRMC,085310.00,A,5157.23728,N,00424.78432,E,43.064,153.79,120308,,,D*52
+$GPRMC,085311.00,A,5157.22624,N,00424.79294,E,43.615,154.66,120308,,,D*5D
+$GPRMC,085312.00,A,5157.21522,N,00424.80141,E,43.716,154.71,120308,,,D*51
+$GPRMC,085313.00,A,5157.20419,N,00424.80987,E,43.679,154.22,120308,,,D*54
+$GPRMC,085314.00,A,5157.19322,N,00424.81842,E,43.784,154.14,120308,,,D*59
+$GPRMC,085315.00,A,5157.18217,N,00424.82701,E,44.216,154.04,120308,,,D*5D
+$GPRMC,085316.00,A,5157.17107,N,00424.83576,E,44.468,153.90,120308,,,D*55
+$GPRMC,085317.00,A,5157.15995,N,00424.84460,E,44.630,153.89,120308,,,D*53
+$GPRMC,085318.00,A,5157.14872,N,00424.85352,E,45.147,153.52,120308,,,D*52
+$GPRMC,085319.00,A,5157.13748,N,00424.86263,E,45.380,153.43,120308,,,D*5B
+$GPRMC,085320.00,A,5157.12624,N,00424.87186,E,45.571,152.89,120308,,,D*5D
+$GPRMC,085321.00,A,5157.11504,N,00424.88139,E,45.832,151.72,120308,,,D*58
+$GPRMC,085322.00,A,5157.10382,N,00424.89135,E,45.964,149.93,120308,,,D*5B
+$GPRMC,085323.00,A,5157.09311,N,00424.90190,E,45.884,148.71,120308,,,D*5D
+$GPRMC,085324.00,A,5157.08259,N,00424.91290,E,46.059,147.58,120308,,,D*5B
+$GPRMC,085325.00,A,5157.07196,N,00424.92415,E,46.083,146.48,120308,,,D*5A
+$GPRMC,085326.00,A,5157.06153,N,00424.93571,E,45.717,145.55,120308,,,D*55
+$GPRMC,085327.00,A,5157.05137,N,00424.94742,E,45.081,144.96,120308,,,D*56
+$GPRMC,085328.00,A,5157.04143,N,00424.95915,E,44.233,144.53,120308,,,D*55
+$GPRMC,085329.00,A,5157.03168,N,00424.97075,E,43.512,144.44,120308,,,D*52
+$GPRMC,085330.00,A,5157.02194,N,00424.98227,E,44.003,144.58,120308,,,D*5D
+$GPRMC,085331.00,A,5157.01193,N,00424.99383,E,44.651,144.40,120308,,,D*5E
+$GPRMC,085332.00,A,5157.00181,N,00425.00561,E,44.587,144.80,120308,,,D*50
+$GPRMC,085333.00,A,5156.99199,N,00425.01697,E,44.614,145.29,120308,,,D*59
+$GPRMC,085334.00,A,5156.98208,N,00425.02843,E,43.992,145.18,120308,,,D*54
+$GPRMC,085335.00,A,5156.97233,N,00425.03967,E,43.088,145.18,120308,,,D*56
+$GPRMC,085336.00,A,5156.96273,N,00425.05073,E,42.263,145.11,120308,,,D*55
+$GPRMC,085337.00,A,5156.95337,N,00425.06160,E,41.430,144.84,120308,,,D*58
+$GPRMC,085338.00,A,5156.94416,N,00425.07221,E,40.809,144.68,120308,,,D*50
+$GPRMC,085339.00,A,5156.93518,N,00425.08267,E,40.078,144.60,120308,,,D*52
+$GPRMC,085340.00,A,5156.92634,N,00425.09299,E,39.398,144.43,120308,,,D*52
+$GPRMC,085341.00,A,5156.91765,N,00425.10327,E,38.961,144.28,120308,,,D*59
+$GPRMC,085342.00,A,5156.90898,N,00425.11332,E,38.442,144.41,120308,,,D*50
+$GPRMC,085343.00,A,5156.90037,N,00425.12331,E,38.279,144.32,120308,,,D*56
+$GPRMC,085344.00,A,5156.89177,N,00425.13333,E,38.378,144.40,120308,,,D*5A
+$GPRMC,085345.00,A,5156.88311,N,00425.14333,E,38.386,144.71,120308,,,D*5C
+$GPRMC,085346.00,A,5156.87444,N,00425.15324,E,38.296,144.74,120308,,,D*55
+$GPRMC,085347.00,A,5156.86580,N,00425.16312,E,38.066,144.71,120308,,,D*52
+$GPRMC,085348.00,A,5156.85721,N,00425.17294,E,37.955,144.77,120308,,,D*59
+$GPRMC,085349.00,A,5156.84863,N,00425.18275,E,37.982,144.86,120308,,,D*54
+$GPRMC,085350.00,A,5156.84001,N,00425.19257,E,38.112,145.04,120308,,,D*54
+$GPRMC,085351.00,A,5156.83136,N,00425.20239,E,38.258,144.97,120308,,,D*53
+$GPRMC,085352.00,A,5156.82271,N,00425.21230,E,38.442,144.83,120308,,,D*51
+$GPRMC,085353.00,A,5156.81401,N,00425.22230,E,38.615,144.56,120308,,,D*59
+$GPRMC,085354.00,A,5156.80527,N,00425.23238,E,38.801,144.75,120308,,,D*59
+$GPRMC,085355.00,A,5156.79655,N,00425.24240,E,38.290,144.55,120308,,,D*50
+$GPRMC,085356.00,A,5156.78788,N,00425.25235,E,38.351,144.41,120308,,,D*59
+$GPRMC,085357.00,A,5156.77923,N,00425.26238,E,38.568,144.51,120308,,,D*5B
+$GPRMC,085358.00,A,5156.77051,N,00425.27240,E,38.780,144.88,120308,,,D*56
+$GPRMC,085359.00,A,5156.76173,N,00425.28242,E,38.881,144.99,120308,,,D*54
+$GPRMC,085400.00,A,5156.75293,N,00425.29249,E,38.892,144.82,120308,,,D*53
+$GPRMC,085401.00,A,5156.74416,N,00425.30260,E,38.920,144.59,120308,,,D*55
+$GPRMC,085402.00,A,5156.73542,N,00425.31275,E,38.905,144.26,120308,,,D*5B
+$GPRMC,085403.00,A,5156.72667,N,00425.32300,E,39.061,144.03,120308,,,D*52
+$GPRMC,085404.00,A,5156.71789,N,00425.33336,E,39.436,144.03,120308,,,D*55
+$GPRMC,085405.00,A,5156.70901,N,00425.34369,E,39.834,144.17,120308,,,D*5D
+$GPRMC,085406.00,A,5156.70001,N,00425.35414,E,39.785,144.30,120308,,,D*5B
+$GPRMC,085407.00,A,5156.69108,N,00425.36463,E,39.735,144.42,120308,,,D*57
+$GPRMC,085408.00,A,5156.68216,N,00425.37500,E,39.633,144.52,120308,,,D*56
+$GPRMC,085409.00,A,5156.67322,N,00425.38535,E,39.706,144.42,120308,,,D*51
+$GPRMC,085410.00,A,5156.66422,N,00425.39575,E,39.632,144.71,120308,,,D*5C
+$GPRMC,085411.00,A,5156.65532,N,00425.40611,E,39.517,144.39,120308,,,D*59
+$GPRMC,085412.00,A,5156.64642,N,00425.41640,E,39.594,144.66,120308,,,D*5B
+$GPRMC,085413.00,A,5156.63741,N,00425.42668,E,39.716,144.67,120308,,,D*5F
+$GPRMC,085414.00,A,5156.62851,N,00425.43706,E,39.612,143.86,120308,,,D*52
+$GPRMC,085415.00,A,5156.61970,N,00425.44751,E,39.337,144.45,120308,,,D*5D
+$GPRMC,085416.00,A,5156.61074,N,00425.45780,E,39.115,144.81,120308,,,D*54
+$GPRMC,085417.00,A,5156.60187,N,00425.46794,E,39.086,144.77,120308,,,D*5D
+$GPRMC,085418.00,A,5156.59273,N,00425.47790,E,39.163,144.80,120308,,,D*57
+$GPRMC,085419.00,A,5156.58394,N,00425.48799,E,38.710,144.98,120308,,,D*53
+$GPRMC,085420.00,A,5156.57529,N,00425.49789,E,37.876,144.86,120308,,,D*59
+$GPRMC,085421.00,A,5156.56686,N,00425.50761,E,37.041,144.73,120308,,,D*57
+$GPRMC,085422.00,A,5156.55861,N,00425.51710,E,36.287,144.78,120308,,,D*55
+$GPRMC,085423.00,A,5156.55048,N,00425.52640,E,35.917,144.50,120308,,,D*5B
+$GPRMC,085424.00,A,5156.54248,N,00425.53572,E,35.533,144.82,120308,,,D*59
+$GPRMC,085425.00,A,5156.53446,N,00425.54476,E,35.262,145.76,120308,,,D*5C
+$GPRMC,085426.00,A,5156.52655,N,00425.55399,E,35.126,144.66,120308,,,D*5A
+$GPRMC,085427.00,A,5156.51872,N,00425.56273,E,34.910,144.69,120308,,,D*56
+$GPRMC,085428.00,A,5156.51092,N,00425.57171,E,34.761,144.66,120308,,,D*58
+$GPRMC,085429.00,A,5156.50308,N,00425.58064,E,34.800,144.76,120308,,,D*5B
+$GPRMC,085430.00,A,5156.49523,N,00425.58959,E,34.890,144.68,120308,,,D*55
+$GPRMC,085431.00,A,5156.48726,N,00425.59888,E,35.207,144.60,120308,,,D*53
+$GPRMC,085432.00,A,5156.47927,N,00425.60806,E,35.633,144.77,120308,,,D*59
+$GPRMC,085433.00,A,5156.47113,N,00425.61734,E,36.100,145.10,120308,,,D*5C
+$GPRMC,085434.00,A,5156.46289,N,00425.62671,E,36.501,145.03,120308,,,D*5E
+$GPRMC,085435.00,A,5156.45462,N,00425.63610,E,36.608,145.30,120308,,,D*53
+$GPRMC,085436.00,A,5156.44620,N,00425.64558,E,37.114,145.37,120308,,,D*51
+$GPRMC,085437.00,A,5156.43758,N,00425.65507,E,37.911,146.34,120308,,,D*5F
+$GPRMC,085438.00,A,5156.42866,N,00425.66456,E,38.766,147.02,120308,,,D*50
+$GPRMC,085439.00,A,5156.41957,N,00425.67411,E,39.223,147.01,120308,,,D*55
+$GPRMC,085440.00,A,5156.41038,N,00425.68389,E,39.783,146.54,120308,,,D*5C
+$GPRMC,085441.00,A,5156.40109,N,00425.69397,E,40.461,145.99,120308,,,D*52
+$GPRMC,085442.00,A,5156.39170,N,00425.70433,E,40.992,145.72,120308,,,D*54
+$GPRMC,085443.00,A,5156.38228,N,00425.71483,E,41.212,145.41,120308,,,D*52
+$GPRMC,085444.00,A,5156.37283,N,00425.72547,E,41.446,145.28,120308,,,D*59
+$GPRMC,085445.00,A,5156.36336,N,00425.73625,E,41.790,145.18,120308,,,D*5B
+$GPRMC,085446.00,A,5156.35380,N,00425.74705,E,41.977,145.08,120308,,,D*54
+$GPRMC,085447.00,A,5156.34432,N,00425.75790,E,41.577,144.91,120308,,,D*5A
+$GPRMC,085448.00,A,5156.33495,N,00425.76861,E,41.018,144.90,120308,,,D*50
+$GPRMC,085449.00,A,5156.32570,N,00425.77953,E,41.334,142.72,120308,,,D*5C
+$GPRMC,085450.00,A,5156.31637,N,00425.79027,E,41.213,145.01,120308,,,D*54
+$GPRMC,085451.00,A,5156.30693,N,00425.80090,E,41.427,145.11,120308,,,D*50
+$GPRMC,085452.00,A,5156.29750,N,00425.81166,E,41.784,145.14,120308,,,D*53
+$GPRMC,085453.00,A,5156.28796,N,00425.82246,E,42.093,145.01,120308,,,D*5D
+$GPRMC,085454.00,A,5156.27838,N,00425.83320,E,42.131,144.99,120308,,,D*57
+$GPRMC,085455.00,A,5156.26871,N,00425.84418,E,42.063,144.88,120308,,,D*57
+$GPRMC,085456.00,A,5156.25918,N,00425.85518,E,42.134,144.67,120308,,,D*5B
+$GPRMC,085457.00,A,5156.24967,N,00425.86620,E,42.480,144.65,120308,,,D*50
+$GPRMC,085458.00,A,5156.24004,N,00425.87730,E,42.801,144.86,120308,,,D*5A
+$GPRMC,085459.00,A,5156.23059,N,00425.88839,E,41.053,143.03,120308,,,D*5B
+$GPRMC,085500.00,A,5156.22085,N,00425.89938,E,42.834,145.16,120308,,,D*5F
+$GPRMC,085501.00,A,5156.21111,N,00425.91038,E,42.505,145.03,120308,,,D*5A
+$GPRMC,085502.00,A,5156.20136,N,00425.92138,E,42.009,144.58,120308,,,D*59
+$GPRMC,085503.00,A,5156.19176,N,00425.93242,E,41.912,144.14,120308,,,D*51
+$GPRMC,085504.00,A,5156.18221,N,00425.94350,E,41.976,143.83,120308,,,D*58
+$GPRMC,085505.00,A,5156.17283,N,00425.95468,E,41.928,143.54,120308,,,D*52
+$GPRMC,085506.00,A,5156.16341,N,00425.96599,E,42.101,143.08,120308,,,D*5A
+$GPRMC,085507.00,A,5156.15399,N,00425.97744,E,42.408,142.83,120308,,,D*50
+$GPRMC,085508.00,A,5156.14451,N,00425.98905,E,42.990,142.86,120308,,,D*50
+$GPRMC,085509.00,A,5156.13491,N,00426.00078,E,43.484,142.90,120308,,,D*55
+$GPRMC,085510.00,A,5156.12532,N,00426.01248,E,42.527,143.38,120308,,,D*5E
+$GPRMC,085511.00,A,5156.11565,N,00426.02438,E,43.578,142.83,120308,,,D*56
+$GPRMC,085512.00,A,5156.10589,N,00426.03639,E,43.714,143.02,120308,,,D*54
+$GPRMC,085513.00,A,5156.09616,N,00426.04825,E,43.541,143.19,120308,,,D*54
+$GPRMC,085514.00,A,5156.08647,N,00426.05999,E,43.170,143.39,120308,,,D*55
+$GPRMC,085515.00,A,5156.07675,N,00426.07162,E,43.385,143.80,120308,,,D*5E
+$GPRMC,085516.00,A,5156.06696,N,00426.08319,E,43.874,144.19,120308,,,D*52
+$GPRMC,085517.00,A,5156.05708,N,00426.09447,E,44.139,144.94,120308,,,D*59
+$GPRMC,085518.00,A,5156.04697,N,00426.10602,E,44.620,144.91,120308,,,D*51
+$GPRMC,085519.00,A,5156.03676,N,00426.11772,E,45.192,144.95,120308,,,D*54
+$GPRMC,085520.00,A,5156.02643,N,00426.12945,E,45.742,144.89,120308,,,D*56
+$GPRMC,085521.00,A,5156.01596,N,00426.14139,E,46.253,144.89,120308,,,D*5C
+$GPRMC,085522.00,A,5156.00545,N,00426.15336,E,46.262,145.04,120308,,,D*5A
+$GPRMC,085523.00,A,5155.99507,N,00426.16518,E,45.446,144.79,120308,,,D*5F
+$GPRMC,085524.00,A,5155.98497,N,00426.17644,E,44.581,144.35,120308,,,D*59
+$GPRMC,085525.00,A,5155.97514,N,00426.18792,E,43.246,144.25,120308,,,D*52
+$GPRMC,085526.00,A,5155.96569,N,00426.19886,E,40.851,144.82,120308,,,D*53
+$GPRMC,085527.00,A,5155.95687,N,00426.20882,E,37.306,145.65,120308,,,D*5D
+$GPRMC,085528.00,A,5155.94884,N,00426.21766,E,33.207,146.39,120308,,,D*54
+$GPRMC,085529.00,A,5155.94176,N,00426.22516,E,28.487,148.30,120308,,,D*54
+$GPRMC,085530.00,A,5155.93575,N,00426.23100,E,22.889,150.19,120308,,,D*54
+$GPRMC,085531.00,A,5155.93103,N,00426.23528,E,17.186,151.61,120308,,,D*50
+$GPRMC,085532.00,A,5155.92762,N,00426.23808,E,11.526,153.24,120308,,,D*57
+$GPRMC,085533.00,A,5155.92537,N,00426.23993,E,7.968,152.34,120308,,,D*66
+$GPRMC,085534.00,A,5155.92372,N,00426.24119,E,6.418,153.60,120308,,,D*60
+$GPRMC,085535.00,A,5155.92262,N,00426.24206,E,3.816,152.16,120308,,,D*6B
+$GPRMC,085536.00,A,5155.92188,N,00426.24258,E,3.221,153.99,120308,,,D*6C
+$GPRMC,085537.00,A,5155.92141,N,00426.24284,E,1.510,153.88,120308,,,D*6E
+$GPRMC,085538.00,A,5155.92126,N,00426.24302,E,1.199,153.05,120308,,,D*6F
+$GPRMC,085539.00,A,5155.92088,N,00426.24340,E,3.023,151.50,120308,,,D*6D
+$GPRMC,085540.00,A,5155.92017,N,00426.24384,E,3.317,152.04,120308,,,D*6B
+$GPRMC,085541.00,A,5155.91958,N,00426.24433,E,2.507,153.46,120308,,,D*61
+$GPRMC,085542.00,A,5155.91886,N,00426.24448,E,2.879,160.82,120308,,,D*60
+$GPRMC,085543.00,A,5155.91736,N,00426.24446,E,6.232,163.87,120308,,,D*6C
+$GPRMC,085544.00,A,5155.91510,N,00426.24544,E,9.573,161.45,120308,,,D*6F
+$GPRMC,085545.00,A,5155.91094,N,00426.24532,E,13.327,183.78,120308,,,D*58
+$GPRMC,085546.00,A,5155.90548,N,00426.24355,E,18.789,188.37,120308,,,D*52
+$GPRMC,085547.00,A,5155.90028,N,00426.24428,E,22.488,182.06,120308,,,D*5E
+$GPRMC,085548.00,A,5155.89379,N,00426.24522,E,25.154,171.35,120308,,,D*5A
+$GPRMC,085549.00,A,5155.88644,N,00426.24673,E,26.139,170.47,120308,,,D*5A
+$GPRMC,085550.00,A,5155.87840,N,00426.25156,E,28.565,157.60,120308,,,D*55
+$GPRMC,085551.00,A,5155.87100,N,00426.25804,E,29.421,150.21,120308,,,D*55
+$GPRMC,085552.00,A,5155.86412,N,00426.26562,E,29.909,142.33,120308,,,D*58
+$GPRMC,085553.00,A,5155.85786,N,00426.27464,E,30.194,135.30,120308,,,D*55
+$GPRMC,085554.00,A,5155.85238,N,00426.28466,E,29.164,128.62,120308,,,D*53
+$GPRMC,085555.00,A,5155.84799,N,00426.29536,E,28.044,120.94,120308,,,D*5B
+$GPRMC,085556.00,A,5155.84447,N,00426.30658,E,27.652,113.68,120308,,,D*56
+$GPRMC,085557.00,A,5155.84191,N,00426.31793,E,26.763,106.67,120308,,,D*57
+$GPRMC,085558.00,A,5155.84045,N,00426.32953,E,26.199,98.01,120308,,,D*64
+$GPRMC,085559.00,A,5155.84036,N,00426.34148,E,26.893,86.82,120308,,,D*62
+$GPRMC,085600.00,A,5155.84228,N,00426.35370,E,28.420,71.96,120308,,,D*6F
+$GPRMC,085601.00,A,5155.84577,N,00426.36508,E,27.964,58.21,120308,,,D*6C
+$GPRMC,085602.00,A,5155.85050,N,00426.37593,E,29.722,52.70,120308,,,D*61
+$GPRMC,085603.00,A,5155.85730,N,00426.38370,E,29.760,34.38,120308,,,D*6F
+$GPRMC,085604.00,A,5155.86479,N,00426.38865,E,27.831,24.31,120308,,,D*67
+$GPRMC,085605.00,A,5155.87168,N,00426.39267,E,23.500,20.43,120308,,,D*61
+$GPRMC,085606.00,A,5155.87690,N,00426.39449,E,15.216,14.49,120308,,,D*60
+$GPRMC,085607.00,A,5155.87977,N,00426.39498,E,5.001,11.40,120308,,,D*52
+$GPRMC,085608.00,A,5155.88084,N,00426.39461,E,2.321,9.84,120308,,,D*66
+$GPRMC,085609.00,A,5155.88208,N,00426.39442,E,5.473,7.51,120308,,,D*61
+$GPRMC,085610.00,A,5155.88467,N,00426.39404,E,11.719,357.24,120308,,,D*5A
+$GPRMC,085611.00,A,5155.88829,N,00426.39276,E,14.829,342.88,120308,,,D*55
+$GPRMC,085612.00,A,5155.89252,N,00426.39068,E,15.564,341.15,120308,,,D*5E
+$GPRMC,085613.00,A,5155.89780,N,00426.38675,E,19.461,333.49,120308,,,D*5A
+$GPRMC,085614.00,A,5155.90262,N,00426.38181,E,21.221,324.62,120308,,,D*56
+$GPRMC,085615.00,A,5155.90787,N,00426.37575,E,23.133,323.56,120308,,,D*5B
+$GPRMC,085616.00,A,5155.91384,N,00426.36912,E,24.616,323.13,120308,,,D*54
+$GPRMC,085617.00,A,5155.91987,N,00426.36100,E,26.269,317.27,120308,,,D*59
+$GPRMC,085618.00,A,5155.92571,N,00426.35206,E,26.497,311.33,120308,,,D*52
+$GPRMC,085619.00,A,5155.93096,N,00426.34245,E,26.998,306.50,120308,,,D*59
+$GPRMC,085620.00,A,5155.93531,N,00426.33163,E,27.952,299.56,120308,,,D*5D
+$GPRMC,085621.00,A,5155.93814,N,00426.31999,E,27.779,290.75,120308,,,D*56
+$GPRMC,085622.00,A,5155.94013,N,00426.30911,E,23.148,282.80,120308,,,D*55
+$GPRMC,085623.00,A,5155.94120,N,00426.30046,E,16.276,282.31,120308,,,D*5C
+$GPRMC,085624.00,A,5155.94283,N,00426.29456,E,14.336,297.02,120308,,,D*5F
+$GPRMC,085625.00,A,5155.94619,N,00426.29038,E,16.791,322.20,120308,,,D*51
+$GPRMC,085626.00,A,5155.95075,N,00426.28586,E,20.902,327.25,120308,,,D*5F
+$GPRMC,085627.00,A,5155.95624,N,00426.28028,E,25.146,325.34,120308,,,D*52
+$GPRMC,085628.00,A,5155.96231,N,00426.27353,E,27.139,323.57,120308,,,D*57
+$GPRMC,085629.00,A,5155.96915,N,00426.26631,E,29.894,325.81,120308,,,D*56
+$GPRMC,085630.00,A,5155.97628,N,00426.25816,E,32.320,324.44,120308,,,D*50
+$GPRMC,085631.00,A,5155.98425,N,00426.24959,E,35.001,325.71,120308,,,D*5A
+$GPRMC,085632.00,A,5155.99285,N,00426.24050,E,37.540,325.53,120308,,,D*56
+$GPRMC,085633.00,A,5156.00181,N,00426.23099,E,39.055,325.44,120308,,,D*58
+$GPRMC,085634.00,A,5156.01091,N,00426.22095,E,39.825,325.24,120308,,,D*5A
+$GPRMC,085635.00,A,5156.02037,N,00426.21040,E,41.498,324.44,120308,,,D*5D
+$GPRMC,085636.00,A,5156.02989,N,00426.19905,E,42.868,322.33,120308,,,D*57
+$GPRMC,085637.00,A,5156.03948,N,00426.18691,E,44.271,320.72,120308,,,D*5A
+$GPRMC,085638.00,A,5156.04919,N,00426.17394,E,45.755,319.94,120308,,,D*59
+$GPRMC,085639.00,A,5156.05898,N,00426.16018,E,47.333,318.88,120308,,,D*5D
+$GPRMC,085640.00,A,5156.06901,N,00426.14565,E,48.906,318.09,120308,,,D*56
+$GPRMC,085641.00,A,5156.07923,N,00426.13056,E,50.014,317.48,120308,,,D*5D
+$GPRMC,085642.00,A,5156.08949,N,00426.11539,E,49.676,317.98,120308,,,D*54
+$GPRMC,085643.00,A,5156.09985,N,00426.10027,E,50.476,318.03,120308,,,D*58
+$GPRMC,085644.00,A,5156.11038,N,00426.08488,E,51.058,317.59,120308,,,D*58
+$GPRMC,085645.00,A,5156.12086,N,00426.06922,E,51.109,316.77,120308,,,D*54
+$GPRMC,085646.00,A,5156.13132,N,00426.05338,E,51.616,317.18,120308,,,D*5B
+$GPRMC,085647.00,A,5156.14193,N,00426.03753,E,51.549,316.90,120308,,,D*51
+$GPRMC,085648.00,A,5156.15239,N,00426.02179,E,50.542,316.89,120308,,,D*51
+$GPRMC,085649.00,A,5156.16266,N,00426.00651,E,49.425,317.60,120308,,,D*58
+$GPRMC,085650.00,A,5156.17290,N,00425.99187,E,49.127,319.14,120308,,,D*5D
+$GPRMC,085651.00,A,5156.18324,N,00425.97770,E,47.996,319.99,120308,,,D*54
+$GPRMC,085652.00,A,5156.19342,N,00425.96421,E,46.343,321.12,120308,,,D*5B
+$GPRMC,085653.00,A,5156.20336,N,00425.95169,E,43.909,322.79,120308,,,D*56
+$GPRMC,085654.00,A,5156.21293,N,00425.94018,E,41.567,323.54,120308,,,D*50
+$GPRMC,085655.00,A,5156.22206,N,00425.92945,E,39.337,323.90,120308,,,D*5D
+$GPRMC,085656.00,A,5156.23085,N,00425.91918,E,38.459,323.78,120308,,,D*55
+$GPRMC,085657.00,A,5156.23950,N,00425.90899,E,38.226,323.51,120308,,,D*59
+$GPRMC,085658.00,A,5156.24803,N,00425.89883,E,37.905,323.22,120308,,,D*54
+$GPRMC,085659.00,A,5156.25642,N,00425.88863,E,37.656,322.87,120308,,,D*57
+$GPRMC,085700.00,A,5156.26471,N,00425.87847,E,37.326,322.70,120308,,,D*58
+$GPRMC,085701.00,A,5156.27292,N,00425.86844,E,36.895,323.09,120308,,,D*5C
+$GPRMC,085702.00,A,5156.28111,N,00425.85855,E,36.675,323.42,120308,,,D*54
+$GPRMC,085703.00,A,5156.28930,N,00425.84887,E,36.404,324.00,120308,,,D*55
+$GPRMC,085704.00,A,5156.29745,N,00425.83934,E,36.292,324.35,120308,,,D*5E
+$GPRMC,085705.00,A,5156.30573,N,00425.82975,E,36.850,324.71,120308,,,D*50
+$GPRMC,085706.00,A,5156.31418,N,00425.82020,E,37.491,324.94,120308,,,D*5C
+$GPRMC,085707.00,A,5156.32275,N,00425.81049,E,38.137,324.97,120308,,,D*5A
+$GPRMC,085708.00,A,5156.33144,N,00425.80059,E,38.697,324.56,120308,,,D*55
+$GPRMC,085709.00,A,5156.34021,N,00425.79048,E,39.048,324.11,120308,,,D*51
+$GPRMC,085710.00,A,5156.34901,N,00425.78015,E,39.146,323.61,120308,,,D*54
+$GPRMC,085711.00,A,5156.35778,N,00425.76988,E,38.673,323.90,120308,,,D*59
+$GPRMC,085712.00,A,5156.36652,N,00425.75984,E,38.435,324.85,120308,,,D*5C
+$GPRMC,085713.00,A,5156.37533,N,00425.74993,E,38.334,325.19,120308,,,D*5D
+$GPRMC,085714.00,A,5156.38411,N,00425.74007,E,38.517,325.25,120308,,,D*58
+$GPRMC,085715.00,A,5156.39293,N,00425.73018,E,38.512,325.14,120308,,,D*5A
+$GPRMC,085716.00,A,5156.40166,N,00425.72033,E,38.422,324.92,120308,,,D*5B
+$GPRMC,085717.00,A,5156.41031,N,00425.71035,E,37.985,324.22,120308,,,D*59
+$GPRMC,085718.00,A,5156.41884,N,00425.70043,E,37.541,324.72,120308,,,D*51
+$GPRMC,085719.00,A,5156.42732,N,00425.69073,E,37.304,324.54,120308,,,D*59
+$GPRMC,085720.00,A,5156.43577,N,00425.68104,E,37.294,324.51,120308,,,D*5C
+$GPRMC,085721.00,A,5156.44422,N,00425.67134,E,37.182,324.31,120308,,,D*55
+$GPRMC,085722.00,A,5156.45259,N,00425.66153,E,37.086,323.90,120308,,,D*54
+$GPRMC,085723.00,A,5156.46091,N,00425.65173,E,36.878,324.18,120308,,,D*5E
+$GPRMC,085724.00,A,5156.46923,N,00425.64204,E,36.824,324.32,120308,,,D*5A
+$GPRMC,085725.00,A,5156.47756,N,00425.63240,E,36.814,324.51,120308,,,D*57
+$GPRMC,085726.00,A,5156.48587,N,00425.62277,E,36.613,324.58,120308,,,D*50
+$GPRMC,085727.00,A,5156.49413,N,00425.61314,E,36.551,324.41,120308,,,D*56
+$GPRMC,085728.00,A,5156.50223,N,00425.60341,E,36.648,324.30,120308,,,D*58
+$GPRMC,085729.00,A,5156.51051,N,00425.59373,E,36.943,324.49,120308,,,D*5E
+$GPRMC,085730.00,A,5156.51879,N,00425.58400,E,37.232,324.42,120308,,,D*51
+$GPRMC,085731.00,A,5156.52718,N,00425.57415,E,37.712,324.41,120308,,,D*54
+$GPRMC,085732.00,A,5156.53581,N,00425.56424,E,38.404,324.88,120308,,,D*59
+$GPRMC,085733.00,A,5156.54455,N,00425.55426,E,38.875,324.99,120308,,,D*5C
+$GPRMC,085734.00,A,5156.55347,N,00425.54423,E,39.116,325.24,120308,,,D*50
+$GPRMC,085735.00,A,5156.56240,N,00425.53415,E,39.238,324.93,120308,,,D*54
+$GPRMC,085736.00,A,5156.57132,N,00425.52398,E,39.225,324.56,120308,,,D*56
+$GPRMC,085737.00,A,5156.58013,N,00425.51380,E,39.144,324.76,120308,,,D*56
+$GPRMC,085738.00,A,5156.58900,N,00425.50372,E,39.005,324.79,120308,,,D*55
+$GPRMC,085739.00,A,5156.59788,N,00425.49366,E,39.097,324.76,120308,,,D*52
+$GPRMC,085740.00,A,5156.60678,N,00425.48357,E,39.234,324.76,120308,,,D*50
+$GPRMC,085741.00,A,5156.61569,N,00425.47341,E,39.227,324.77,120308,,,D*58
+$GPRMC,085742.00,A,5156.62465,N,00425.46316,E,39.818,324.62,120308,,,D*54
+$GPRMC,085743.00,A,5156.63370,N,00425.45277,E,40.061,324.58,120308,,,D*53
+$GPRMC,085744.00,A,5156.64287,N,00425.44235,E,40.581,325.14,120308,,,D*5F
+$GPRMC,085745.00,A,5156.65205,N,00425.43192,E,40.540,324.98,120308,,,D*54
+$GPRMC,085746.00,A,5156.66133,N,00425.42147,E,40.777,325.12,120308,,,D*5E
+$GPRMC,085747.00,A,5156.67060,N,00425.41097,E,40.881,325.24,120308,,,D*55
+$GPRMC,085748.00,A,5156.67992,N,00425.40053,E,40.776,325.24,120308,,,D*50
+$GPRMC,085749.00,A,5156.68916,N,00425.39001,E,40.696,324.82,120308,,,D*59
+$GPRMC,085750.00,A,5156.69839,N,00425.37941,E,40.810,324.32,120308,,,D*54
+$GPRMC,085751.00,A,5156.70762,N,00425.36866,E,41.109,324.27,120308,,,D*5D
+$GPRMC,085752.00,A,5156.71689,N,00425.35785,E,41.101,324.08,120308,,,D*5F
+$GPRMC,085753.00,A,5156.72612,N,00425.34697,E,41.190,323.95,120308,,,D*57
+$GPRMC,085754.00,A,5156.73532,N,00425.33603,E,41.271,323.99,120308,,,D*5A
+$GPRMC,085755.00,A,5156.74459,N,00425.32513,E,41.360,324.31,120308,,,D*57
+$GPRMC,085756.00,A,5156.75389,N,00425.31428,E,41.136,324.69,120308,,,D*59
+$GPRMC,085757.00,A,5156.76321,N,00425.30357,E,41.189,325.07,120308,,,D*5A
+$GPRMC,085758.00,A,5156.77256,N,00425.29289,E,41.223,324.97,120308,,,D*54
+$GPRMC,085759.00,A,5156.78193,N,00425.28222,E,41.201,325.22,120308,,,D*5F
+$GPRMC,085800.00,A,5156.79130,N,00425.27160,E,41.250,325.37,120308,,,D*5E
+$GPRMC,085801.00,A,5156.80071,N,00425.26099,E,41.386,325.31,120308,,,D*57
+$GPRMC,085802.00,A,5156.81019,N,00425.25026,E,41.538,325.09,120308,,,D*54
+$GPRMC,085803.00,A,5156.81967,N,00425.23938,E,41.782,324.85,120308,,,D*53
+$GPRMC,085804.00,A,5156.82923,N,00425.22848,E,42.414,324.79,120308,,,D*5C
+$GPRMC,085805.00,A,5156.83887,N,00425.21757,E,42.245,324.97,120308,,,D*53
+$GPRMC,085806.00,A,5156.84847,N,00425.20667,E,42.269,324.97,120308,,,D*56
+$GPRMC,085807.00,A,5156.85808,N,00425.19572,E,42.455,324.83,120308,,,D*5C
+$GPRMC,085808.00,A,5156.86773,N,00425.18467,E,42.689,324.73,120308,,,D*5B
+$GPRMC,085809.00,A,5156.87739,N,00425.17352,E,42.684,324.52,120308,,,D*55
+$GPRMC,085810.00,A,5156.88696,N,00425.16250,E,42.730,324.36,120308,,,D*58
+$GPRMC,085811.00,A,5156.89654,N,00425.15143,E,42.356,324.61,120308,,,D*52
+$GPRMC,085812.00,A,5156.90601,N,00425.14052,E,41.786,324.59,120308,,,D*58
+$GPRMC,085813.00,A,5156.91545,N,00425.12966,E,42.107,324.66,120308,,,D*53
+$GPRMC,085814.00,A,5156.92508,N,00425.11864,E,42.752,324.68,120308,,,D*56
+$GPRMC,085815.00,A,5156.93481,N,00425.10746,E,43.395,324.60,120308,,,D*5E
+$GPRMC,085816.00,A,5156.94468,N,00425.09615,E,43.854,324.57,120308,,,D*50
+$GPRMC,085817.00,A,5156.95464,N,00425.08472,E,44.220,324.81,120308,,,D*5B
+$GPRMC,085818.00,A,5156.96468,N,00425.07325,E,44.286,324.80,120308,,,D*5C
+$GPRMC,085819.00,A,5156.97467,N,00425.06177,E,44.064,324.62,120308,,,D*55
+$GPRMC,085820.00,A,5156.98457,N,00425.05033,E,43.894,324.62,120308,,,D*51
+$GPRMC,085821.00,A,5156.99448,N,00425.03897,E,43.870,324.77,120308,,,D*51
+$GPRMC,085822.00,A,5157.00446,N,00425.02762,E,43.893,324.91,120308,,,D*5C
+$GPRMC,085823.00,A,5157.01438,N,00425.01617,E,43.784,323.68,120308,,,D*5D
+$GPRMC,085824.00,A,5157.02406,N,00425.00454,E,43.099,323.34,120308,,,D*52
+$GPRMC,085825.00,A,5157.03400,N,00424.99331,E,43.852,324.41,120308,,,D*5B
+$GPRMC,085826.00,A,5157.04409,N,00424.98211,E,44.159,325.00,120308,,,D*55
+$GPRMC,085827.00,A,5157.05412,N,00424.97075,E,44.319,325.07,120308,,,D*51
+$GPRMC,085828.00,A,5157.06422,N,00424.95942,E,44.543,325.14,120308,,,D*5A
+$GPRMC,085829.00,A,5157.07446,N,00424.94803,E,44.814,325.12,120308,,,D*54
+$GPRMC,085830.00,A,5157.08474,N,00424.93645,E,45.242,325.01,120308,,,D*53
+$GPRMC,085831.00,A,5157.09525,N,00424.92483,E,45.824,325.89,120308,,,D*55
+$GPRMC,085832.00,A,5157.10606,N,00424.91362,E,46.321,328.36,120308,,,D*53
+$GPRMC,085833.00,A,5157.11725,N,00424.90283,E,46.875,329.95,120308,,,D*5E
+$GPRMC,085834.00,A,5157.12872,N,00424.89238,E,47.457,330.68,120308,,,D*58
+$GPRMC,085835.00,A,5157.14038,N,00424.88214,E,47.708,331.67,120308,,,D*51
+$GPRMC,085836.00,A,5157.15224,N,00424.87202,E,48.479,332.70,120308,,,D*5B
+$GPRMC,085837.00,A,5157.16436,N,00424.86227,E,49.053,334.10,120308,,,D*57
+$GPRMC,085838.00,A,5157.17674,N,00424.85273,E,49.704,334.90,120308,,,D*52
+$GPRMC,085839.00,A,5157.18936,N,00424.84312,E,50.416,334.40,120308,,,D*57
+$GPRMC,085840.00,A,5157.20212,N,00424.83325,E,51.153,334.22,120308,,,D*5D
+$GPRMC,085841.00,A,5157.21507,N,00424.82325,E,51.678,334.33,120308,,,D*51
+$GPRMC,085842.00,A,5157.22797,N,00424.81318,E,51.410,334.21,120308,,,D*58
+$GPRMC,085843.00,A,5157.24076,N,00424.80314,E,51.259,334.06,120308,,,D*54
+$GPRMC,085844.00,A,5157.25369,N,00424.79307,E,51.974,334.51,120308,,,D*5D
+$GPRMC,085845.00,A,5157.26664,N,00424.78304,E,51.483,334.34,120308,,,D*53
+$GPRMC,085846.00,A,5157.27961,N,00424.77296,E,51.800,334.22,120308,,,D*5E
+$GPRMC,085847.00,A,5157.29261,N,00424.76273,E,52.305,334.14,120308,,,D*58
+$GPRMC,085848.00,A,5157.30572,N,00424.75241,E,52.726,334.26,120308,,,D*5C
+$GPRMC,085849.00,A,5157.31899,N,00424.74205,E,53.199,334.38,120308,,,D*59
+$GPRMC,085850.00,A,5157.33238,N,00424.73161,E,53.572,334.31,120308,,,D*5C
+$GPRMC,085851.00,A,5157.34585,N,00424.72112,E,53.811,334.38,120308,,,D*5F
+$GPRMC,085852.00,A,5157.35937,N,00424.71060,E,53.941,334.38,120308,,,D*5B
+$GPRMC,085853.00,A,5157.37290,N,00424.70005,E,54.194,334.28,120308,,,D*5A
+$GPRMC,085854.00,A,5157.38649,N,00424.68942,E,54.227,334.14,120308,,,D*55
+$GPRMC,085855.00,A,5157.40009,N,00424.67880,E,54.120,334.46,120308,,,D*5A
+$GPRMC,085856.00,A,5157.41369,N,00424.66828,E,54.139,334.55,120308,,,D*54
+$GPRMC,085857.00,A,5157.42737,N,00424.65769,E,54.477,334.28,120308,,,D*55
+$GPRMC,085858.00,A,5157.44113,N,00424.64691,E,55.010,334.18,120308,,,D*5C
+$GPRMC,085859.00,A,5157.45488,N,00424.63614,E,54.736,334.10,120308,,,D*5B
+$GPRMC,085900.00,A,5157.46869,N,00424.62548,E,54.668,334.30,120308,,,D*55
+$GPRMC,085901.00,A,5157.48239,N,00424.61488,E,54.093,334.28,120308,,,D*50
+$GPRMC,085902.00,A,5157.49593,N,00424.60438,E,53.369,334.30,120308,,,D*57
+$GPRMC,085903.00,A,5157.50926,N,00424.59405,E,52.883,334.33,120308,,,D*55
+$GPRMC,085904.00,A,5157.52244,N,00424.58377,E,52.135,334.15,120308,,,D*5C
+$GPRMC,085905.00,A,5157.53537,N,00424.57363,E,51.747,334.03,120308,,,D*52
+$GPRMC,085906.00,A,5157.54826,N,00424.56352,E,51.666,334.10,120308,,,D*58
+$GPRMC,085907.00,A,5157.56114,N,00424.55344,E,51.646,334.19,120308,,,A*59
+$GPRMC,085908.00,A,5157.57412,N,00424.54337,E,51.780,334.29,120308,,,A*59
+$GPRMC,085909.00,A,5157.58713,N,00424.53328,E,52.122,334.45,120308,,,A*5B
+$GPRMC,085910.00,A,5157.60023,N,00424.52321,E,52.443,334.71,120308,,,A*51
+$GPRMC,085911.00,A,5157.61343,N,00424.51326,E,52.402,335.11,120308,,,A*52
+$GPRMC,085912.00,A,5157.62660,N,00424.50344,E,52.215,335.33,120308,,,A*53
+$GPRMC,085913.00,A,5157.63973,N,00424.49355,E,51.938,335.58,120308,,,A*5C
+$GPRMC,085914.00,A,5157.65281,N,00424.48385,E,51.716,335.33,120308,,,A*58
+$GPRMC,085915.00,A,5157.66587,N,00424.47394,E,51.726,335.33,120308,,,A*57
+$GPRMC,085916.00,A,5157.67895,N,00424.46405,E,52.116,335.28,120308,,,A*59
+$GPRMC,085917.00,A,5157.69213,N,00424.45406,E,52.724,335.03,120308,,,A*5C
+$GPRMC,085918.00,A,5157.70538,N,00424.44389,E,52.837,334.54,120308,,,A*5A
+$GPRMC,085919.00,A,5157.71860,N,00424.43363,E,52.799,334.22,120308,,,A*53
+$GPRMC,085920.00,A,5157.73179,N,00424.42335,E,52.732,334.31,120308,,,A*5B
+$GPRMC,085921.00,A,5157.74495,N,00424.41320,E,52.449,334.72,120308,,,A*55
+$GPRMC,085922.00,A,5157.75802,N,00424.40319,E,52.073,334.60,120308,,,A*50
+$GPRMC,085923.00,A,5157.77090,N,00424.39322,E,51.594,334.21,120308,,,A*5C
+$GPRMC,085924.00,A,5157.78364,N,00424.38325,E,51.344,334.23,120308,,,A*53
+$GPRMC,085925.00,A,5157.79636,N,00424.37329,E,51.239,334.23,120308,,,A*59
+$GPRMC,085926.00,A,5157.80914,N,00424.36328,E,51.412,334.01,120308,,,A*5C
+$GPRMC,085927.00,A,5157.82197,N,00424.35317,E,51.569,334.08,120308,,,A*57
+$GPRMC,085928.00,A,5157.83484,N,00424.34306,E,51.587,334.01,120308,,,A*56
+$GPRMC,085929.00,A,5157.84773,N,00424.33291,E,51.766,334.10,120308,,,A*5E
+$GPRMC,085930.00,A,5157.86072,N,00424.32281,E,51.896,334.38,120308,,,A*58
+$GPRMC,085931.00,A,5157.87374,N,00424.31276,E,51.855,334.45,120308,,,A*53
+$GPRMC,085932.00,A,5157.88679,N,00424.30267,E,52.027,334.22,120308,,,A*59
+$GPRMC,085933.00,A,5157.89986,N,00424.29250,E,52.074,334.19,120308,,,A*54
+$GPRMC,085934.00,A,5157.91298,N,00424.28241,E,52.050,334.53,120308,,,A*57
+$GPRMC,085935.00,A,5157.92612,N,00424.27237,E,52.048,334.53,120308,,,A*54
+$GPRMC,085936.00,A,5157.93923,N,00424.26231,E,51.922,334.40,120308,,,A*58
+$GPRMC,085937.00,A,5157.95225,N,00424.25226,E,51.749,334.16,120308,,,A*57
+$GPRMC,085938.00,A,5157.96520,N,00424.24225,E,51.487,334.32,120308,,,A*5C
+$GPRMC,085939.00,A,5157.97805,N,00424.23234,E,50.985,334.66,120308,,,A*5E
+$GPRMC,085940.00,A,5157.99066,N,00424.22235,E,50.451,334.14,120308,,,A*52
+$GPRMC,085941.00,A,5158.00325,N,00424.21250,E,50.192,334.15,120308,,,A*53
+$GPRMC,085942.00,A,5158.01577,N,00424.20264,E,50.130,333.94,120308,,,A*50
+$GPRMC,085943.00,A,5158.02829,N,00424.19269,E,50.211,333.91,120308,,,A*56
+$GPRMC,085944.00,A,5158.04074,N,00424.18274,E,50.344,333.95,120308,,,A*5F
+$GPRMC,085945.00,A,5158.05336,N,00424.17290,E,50.470,334.32,120308,,,A*55
+$GPRMC,085946.00,A,5158.06597,N,00424.16305,E,50.696,334.29,120308,,,A*54
+$GPRMC,085947.00,A,5158.07868,N,00424.15315,E,51.027,334.26,120308,,,A*59
+$GPRMC,085948.00,A,5158.09154,N,00424.14319,E,51.510,334.44,120308,,,A*56
+$GPRMC,085949.00,A,5158.10451,N,00424.13320,E,51.825,334.49,120308,,,A*54
+$GPRMC,085950.00,A,5158.11755,N,00424.12316,E,52.032,334.42,120308,,,A*58
+$GPRMC,085951.00,A,5158.13065,N,00424.11312,E,52.110,334.71,120308,,,A*59
+$GPRMC,085952.00,A,5158.14375,N,00424.10320,E,52.207,335.20,120308,,,A*5F
+$GPRMC,085953.00,A,5158.15696,N,00424.09343,E,52.324,335.44,120308,,,A*58
+$GPRMC,085954.00,A,5158.17020,N,00424.08367,E,52.361,335.37,120308,,,A*54
+$GPRMC,085955.00,A,5158.18336,N,00424.07353,E,52.257,335.11,120308,,,A*56
+$GPRMC,085956.00,A,5158.19648,N,00424.06345,E,52.122,335.00,120308,,,A*5F
+$GPRMC,085957.00,A,5158.20958,N,00424.05358,E,51.947,335.04,120308,,,A*59
+$GPRMC,085958.00,A,5158.22263,N,00424.04376,E,51.803,335.22,120308,,,A*5F
+$GPRMC,085959.00,A,5158.23559,N,00424.03403,E,51.494,335.14,120308,,,A*54
+$GPRMC,090000.00,A,5158.24848,N,00424.02428,E,51.077,335.60,120308,,,A*5D
+$GPRMC,090001.00,A,5158.26140,N,00424.01505,E,50.895,337.28,120308,,,A*59
+$GPRMC,090002.00,A,5158.27448,N,00424.00652,E,50.835,339.21,120308,,,A*5B
+$GPRMC,090003.00,A,5158.28772,N,00423.99866,E,50.907,340.50,120308,,,A*59
+$GPRMC,090004.00,A,5158.30108,N,00423.99141,E,50.869,342.14,120308,,,A*5B
+$GPRMC,090005.00,A,5158.31448,N,00423.98479,E,50.655,343.74,120308,,,A*53
+$GPRMC,090006.00,A,5158.32792,N,00423.97877,E,49.971,344.98,120308,,,A*5E
+$GPRMC,090007.00,A,5158.34127,N,00423.97312,E,49.555,345.37,120308,,,A*57
+$GPRMC,090008.00,A,5158.35453,N,00423.96763,E,49.279,345.51,120308,,,A*55
+$GPRMC,090009.00,A,5158.36767,N,00423.96214,E,48.978,345.21,120308,,,A*5A
+$GPRMC,090010.00,A,5158.38065,N,00423.95657,E,48.401,344.91,120308,,,A*50
+$GPRMC,090011.00,A,5158.39346,N,00423.95112,E,47.676,345.20,120308,,,A*52
+$GPRMC,090012.00,A,5158.40605,N,00423.94584,E,46.752,345.39,120308,,,A*59
+$GPRMC,090013.00,A,5158.41837,N,00423.94065,E,45.640,345.33,120308,,,A*57
+$GPRMC,090014.00,A,5158.43034,N,00423.93560,E,44.260,345.24,120308,,,A*5F
+$GPRMC,090015.00,A,5158.44196,N,00423.93066,E,42.873,345.11,120308,,,A*5B
+$GPRMC,090016.00,A,5158.45328,N,00423.92583,E,41.874,345.24,120308,,,A*53
+$GPRMC,090017.00,A,5158.46441,N,00423.92105,E,41.482,344.96,120308,,,A*5E
+$GPRMC,090018.00,A,5158.47547,N,00423.91630,E,41.195,345.22,120308,,,A*58
+$GPRMC,090019.00,A,5158.48653,N,00423.91159,E,41.343,345.26,120308,,,A*55
+$GPRMC,090020.00,A,5158.49767,N,00423.90686,E,41.740,345.38,120308,,,A*54
+$GPRMC,090021.00,A,5158.50892,N,00423.90212,E,42.172,345.31,120308,,,A*5C
+$GPRMC,090022.00,A,5158.52026,N,00423.89727,E,42.448,345.00,120308,,,A*5F
+$GPRMC,090023.00,A,5158.53166,N,00423.89236,E,42.668,345.12,120308,,,A*5C
+$GPRMC,090024.00,A,5158.54313,N,00423.88747,E,43.035,345.34,120308,,,A*55
+$GPRMC,090025.00,A,5158.55471,N,00423.88254,E,43.422,345.13,120308,,,A*56
+$GPRMC,090026.00,A,5158.56635,N,00423.87754,E,43.734,345.07,120308,,,A*5F
+$GPRMC,090027.00,A,5158.57807,N,00423.87252,E,43.992,345.21,120308,,,A*55
+$GPRMC,090028.00,A,5158.58985,N,00423.86757,E,44.105,345.49,120308,,,A*50
+$GPRMC,090029.00,A,5158.60167,N,00423.86257,E,44.034,345.18,120308,,,A*5C
+$GPRMC,090030.00,A,5158.61347,N,00423.85751,E,44.024,345.13,120308,,,A*5F
+$GPRMC,090031.00,A,5158.62525,N,00423.85244,E,43.980,345.08,120308,,,A*54
+$GPRMC,090032.00,A,5158.63704,N,00423.84739,E,44.025,345.18,120308,,,A*59
+$GPRMC,090033.00,A,5158.64884,N,00423.84237,E,44.052,345.32,120308,,,A*5B
+$GPRMC,090034.00,A,5158.66071,N,00423.83736,E,44.244,345.23,120308,,,A*5A
+$GPRMC,090035.00,A,5158.67259,N,00423.83218,E,44.395,344.62,120308,,,A*52
+$GPRMC,090036.00,A,5158.68453,N,00423.82693,E,44.736,344.91,120308,,,A*55
+$GPRMC,090037.00,A,5158.69658,N,00423.82172,E,45.041,345.23,120308,,,A*5A
+$GPRMC,090038.00,A,5158.70868,N,00423.81663,E,45.212,345.28,120308,,,A*5B
+$GPRMC,090039.00,A,5158.72083,N,00423.81142,E,45.248,345.20,120308,,,A*56
+$GPRMC,090040.00,A,5158.73302,N,00423.80616,E,45.530,344.91,120308,,,A*57
+$GPRMC,090041.00,A,5158.74528,N,00423.80089,E,45.799,345.30,120308,,,A*54
+$GPRMC,090042.00,A,5158.75771,N,00423.79590,E,46.414,346.60,120308,,,A*50
+$GPRMC,090043.00,A,5158.77028,N,00423.79108,E,46.499,346.53,120308,,,A*58
+$GPRMC,090044.00,A,5158.78288,N,00423.78633,E,46.809,346.98,120308,,,A*54
+$GPRMC,090045.00,A,5158.79553,N,00423.78165,E,46.677,347.11,120308,,,A*56
+$GPRMC,090046.00,A,5158.80814,N,00423.77697,E,46.755,346.83,120308,,,A*53
+$GPRMC,090047.00,A,5158.82074,N,00423.77202,E,46.901,345.92,120308,,,A*5A
+$GPRMC,090048.00,A,5158.83337,N,00423.76687,E,47.174,345.71,120308,,,A*5E
+$GPRMC,090049.00,A,5158.84606,N,00423.76158,E,47.340,345.67,120308,,,A*58
+$GPRMC,090050.00,A,5158.85875,N,00423.75631,E,47.225,345.72,120308,,,A*56
+$GPRMC,090051.00,A,5158.87139,N,00423.75104,E,46.924,345.40,120308,,,A*5F
+$GPRMC,090052.00,A,5158.88385,N,00423.74565,E,46.135,344.97,120308,,,A*57
+$GPRMC,090053.00,A,5158.89609,N,00423.74044,E,45.101,345.42,120308,,,A*5D
+$GPRMC,090054.00,A,5158.90788,N,00423.73565,E,42.823,345.87,120308,,,A*5C
+$GPRMC,090055.00,A,5158.91883,N,00423.73145,E,38.915,347.70,120308,,,A*5D
+$GPRMC,090056.00,A,5158.92881,N,00423.72830,E,34.566,350.38,120308,,,A*5B
+$GPRMC,090057.00,A,5158.93770,N,00423.72634,E,30.748,354.17,120308,,,A*53
+$GPRMC,090058.00,A,5158.94582,N,00423.72592,E,27.919,0.27,120308,,,A*56
+$GPRMC,090059.00,A,5158.95326,N,00423.72695,E,27.116,9.46,120308,,,A*53
+$GPRMC,090100.00,A,5158.96058,N,00423.73041,E,27.081,19.44,120308,,,A*65
+$GPRMC,090101.00,A,5158.96741,N,00423.73582,E,27.880,28.88,120308,,,A*6A
+$GPRMC,090102.00,A,5158.97390,N,00423.74270,E,28.913,35.33,120308,,,A*65
+$GPRMC,090103.00,A,5158.98028,N,00423.75072,E,29.822,38.01,120308,,,A*64
+$GPRMC,090104.00,A,5158.98668,N,00423.75901,E,29.397,37.01,120308,,,A*66
+$GPRMC,090105.00,A,5158.99319,N,00423.76613,E,27.949,28.85,120308,,,A*6F
+$GPRMC,090106.00,A,5159.00003,N,00423.77054,E,26.449,13.96,120308,,,A*67
+$GPRMC,090107.00,A,5159.00711,N,00423.77182,E,25.471,358.45,120308,,,A*52
+$GPRMC,090108.00,A,5159.01405,N,00423.77025,E,25.372,347.14,120308,,,A*58
+$GPRMC,090109.00,A,5159.02079,N,00423.76732,E,25.161,344.73,120308,,,A*57
+$GPRMC,090110.00,A,5159.02743,N,00423.76424,E,24.744,345.07,120308,,,A*57
+$GPRMC,090111.00,A,5159.03404,N,00423.76132,E,24.534,345.58,120308,,,A*5A
+$GPRMC,090112.00,A,5159.04059,N,00423.75853,E,24.206,345.75,120308,,,A*56
+$GPRMC,090113.00,A,5159.04700,N,00423.75582,E,24.037,345.70,120308,,,A*58
+$GPRMC,090114.00,A,5159.05341,N,00423.75311,E,23.830,345.57,120308,,,A*5E
+$GPRMC,090115.00,A,5159.05986,N,00423.75046,E,23.930,345.68,120308,,,A*52
+$GPRMC,090116.00,A,5159.06628,N,00423.74785,E,23.752,345.78,120308,,,A*5B
+$GPRMC,090117.00,A,5159.07259,N,00423.74518,E,23.272,345.58,120308,,,A*5A
+$GPRMC,090118.00,A,5159.07877,N,00423.74247,E,22.819,344.84,120308,,,A*58
+$GPRMC,090119.00,A,5159.08475,N,00423.73976,E,22.093,344.43,120308,,,A*57
+$GPRMC,090120.00,A,5159.09041,N,00423.73712,E,20.840,344.30,120308,,,A*53
+$GPRMC,090121.00,A,5159.09575,N,00423.73465,E,19.570,344.40,120308,,,A*50
+$GPRMC,090122.00,A,5159.10074,N,00423.73243,E,18.527,344.72,120308,,,A*5F
+$GPRMC,090123.00,A,5159.10547,N,00423.73030,E,17.255,344.88,120308,,,A*55
+$GPRMC,090124.00,A,5159.10978,N,00423.72815,E,15.974,344.91,120308,,,A*5E
+$GPRMC,090125.00,A,5159.11370,N,00423.72634,E,14.290,344.85,120308,,,A*54
+$GPRMC,090126.00,A,5159.11710,N,00423.72478,E,11.861,345.29,120308,,,A*59
+$GPRMC,090127.00,A,5159.11999,N,00423.72405,E,9.481,356.62,120308,,,A*6B
+$GPRMC,090128.00,A,5159.12208,N,00423.72487,E,7.702,26.94,120308,,,A*55
+$GPRMC,090129.00,A,5159.12336,N,00423.72662,E,5.564,39.81,120308,,,A*5B
+$GPRMC,090130.00,A,5159.12390,N,00423.72789,E,2.496,40.80,120308,,,A*5F
+$GPRMC,090131.00,A,5159.12396,N,00423.72845,E,0.245,40.81,120308,,,A*5C
+$GPRMC,090132.00,A,5159.12377,N,00423.72860,E,0.002,,120308,,,A*75
+$GPRMC,090133.00,A,5159.12358,N,00423.72864,E,0.011,,120308,,,A*7F
+$GPRMC,090134.00,A,5159.12342,N,00423.72867,E,0.009,,120308,,,A*79
+$GPRMC,090135.00,A,5159.12328,N,00423.72869,E,0.131,39.03,120308,,,A*57
+$GPRMC,090136.00,A,5159.12315,N,00423.72873,E,0.026,37.61,120308,,,A*5C
+$GPRMC,090137.00,A,5159.12302,N,00423.72875,E,0.007,,120308,,,A*73
+$GPRMC,090138.00,A,5159.12290,N,00423.72876,E,0.036,41.46,120308,,,A*5E
+$GPRMC,090139.00,A,5159.12279,N,00423.72879,E,0.023,40.99,120308,,,A*50
+$GPRMC,090140.00,A,5159.12269,N,00423.72883,E,0.023,35.37,120308,,,A*5C
+$GPRMC,090141.00,A,5159.12257,N,00423.72877,E,0.010,,120308,,,A*77
+$GPRMC,090142.00,A,5159.12246,N,00423.72876,E,0.033,33.70,120308,,,A*5D
+$GPRMC,090143.00,A,5159.12237,N,00423.72878,E,0.022,37.44,120308,,,A*57
+$GPRMC,090144.00,A,5159.12226,N,00423.72880,E,0.007,,120308,,,A*7A
+$GPRMC,090145.00,A,5159.12217,N,00423.72882,E,0.019,,120308,,,A*74
+$GPRMC,090146.00,A,5159.12209,N,00423.72882,E,0.012,,120308,,,A*73
+$GPRMC,090147.00,A,5159.12202,N,00423.72882,E,0.018,,120308,,,A*73
+$GPRMC,090148.00,A,5159.12196,N,00423.72883,E,0.015,,120308,,,A*7E
+$GPRMC,090149.00,A,5159.12189,N,00423.72882,E,0.020,41.70,120308,,,A*5A
+$GPRMC,090150.00,A,5159.12187,N,00423.72882,E,0.007,,120308,,,A*75
+$GPRMC,090151.00,A,5159.12185,N,00423.72882,E,0.001,,120308,,,A*70
+$GPRMC,090152.00,A,5159.12183,N,00423.72883,E,0.024,40.20,120308,,,A*5B
+$GPRMC,090153.00,A,5159.12183,N,00423.72884,E,0.059,40.65,120308,,,A*56
+$GPRMC,090154.00,A,5159.12181,N,00423.72887,E,0.029,39.34,120308,,,A*5D
+$GPRMC,090155.00,A,5159.12179,N,00423.72888,E,0.017,,120308,,,A*7A
+$GPRMC,090156.00,A,5159.12177,N,00423.72888,E,0.014,,120308,,,A*74
+$GPRMC,090157.00,A,5159.12176,N,00423.72889,E,0.021,39.50,120308,,,A*52
+$GPRMC,090158.00,A,5159.12174,N,00423.72889,E,0.016,,120308,,,A*7A
+$GPRMC,090159.00,A,5159.12173,N,00423.72891,E,0.019,,120308,,,A*7A
+$GPRMC,090200.00,A,5159.12171,N,00423.72892,E,0.008,,120308,,,A*74
+$GPRMC,090201.00,A,5159.12170,N,00423.72891,E,0.009,,120308,,,A*76
+$GPRMC,090202.00,A,5159.12169,N,00423.72892,E,0.013,,120308,,,A*75
+$GPRMC,090203.00,A,5159.12168,N,00423.72890,E,0.009,,120308,,,D*79
+$GPRMC,090204.00,A,5159.12167,N,00423.72889,E,0.010,,120308,,,D*71
+$GPRMC,090205.00,A,5159.12167,N,00423.72888,E,0.019,,120308,,,D*78
+$GPRMC,090206.00,A,5159.12167,N,00423.72887,E,0.016,,120308,,,D*7B
+$GPRMC,090207.00,A,5159.12166,N,00423.72887,E,0.053,44.51,120308,,,D*50
+$GPRMC,090208.00,A,5159.12165,N,00423.72887,E,0.030,48.14,120308,,,D*54
+$GPRMC,090209.00,A,5159.12165,N,00423.72887,E,0.005,,120308,,,D*74
+$GPRMC,090210.00,A,5159.12164,N,00423.72886,E,0.017,,120308,,,D*7F
+$GPRMC,090211.00,A,5159.12163,N,00423.72886,E,0.005,,120308,,,D*7A
+$GPRMC,090212.00,A,5159.12161,N,00423.72884,E,0.027,52.67,120308,,,D*51
+$GPRMC,090213.00,A,5159.12159,N,00423.72882,E,0.009,,120308,,,D*79
+$GPRMC,090214.00,A,5159.12158,N,00423.72881,E,0.029,56.57,120308,,,D*51
+$GPRMC,090215.00,A,5159.12156,N,00423.72880,E,0.010,,120308,,,D*7A
+$GPRMC,090216.00,A,5159.12155,N,00423.72878,E,0.005,,120308,,,D*79
+$GPRMC,090217.00,A,5159.12153,N,00423.72878,E,0.014,,120308,,,D*7E
+$GPRMC,090218.00,A,5159.12151,N,00423.72878,E,0.023,60.02,120308,,,D*5D
+$GPRMC,090219.00,A,5159.12150,N,00423.72877,E,0.011,,120308,,,D*79
+$GPRMC,090220.00,A,5159.12150,N,00423.72875,E,0.009,,120308,,,D*78
+$GPRMC,090221.00,A,5159.12149,N,00423.72875,E,0.038,64.12,120308,,,D*5C
+$GPRMC,090222.00,A,5159.12147,N,00423.72874,E,0.024,68.77,120308,,,D*52
+$GPRMC,090223.00,A,5159.12146,N,00423.72874,E,0.022,70.93,120308,,,D*57
+$GPRMC,090224.00,A,5159.12145,N,00423.72874,E,0.012,,120308,,,D*73
+$GPRMC,090225.00,A,5159.12144,N,00423.72875,E,0.007,,120308,,,D*76
+$GPRMC,090226.00,A,5159.12143,N,00423.72876,E,0.021,74.62,120308,,,D*5C
+$GPRMC,090227.00,A,5159.12141,N,00423.72876,E,0.018,,120308,,,D*7C
+$GPRMC,090228.00,A,5159.12140,N,00423.72877,E,0.007,,120308,,,D*7D
+$GPRMC,090229.00,A,5159.12139,N,00423.72877,E,0.025,76.38,120308,,,D*56
+$GPRMC,090230.00,A,5159.12137,N,00423.72878,E,0.011,,120308,,,D*7C
+$GPRMC,090231.00,A,5159.12136,N,00423.72878,E,0.030,79.81,120308,,,D*56
+$GPRMC,090232.00,A,5159.12133,N,00423.72881,E,0.024,80.36,120308,,,D*59
+$GPRMC,090233.00,A,5159.12131,N,00423.72884,E,0.015,,120308,,,D*7E
+$GPRMC,090234.00,A,5159.12130,N,00423.72883,E,0.029,83.77,120308,,,D*55
+$GPRMC,090235.00,A,5159.12129,N,00423.72883,E,0.018,,120308,,,D*7B
+$GPRMC,090236.00,A,5159.12126,N,00423.72885,E,0.020,80.55,120308,,,D*5C
+$GPRMC,090237.00,A,5159.12123,N,00423.72886,E,0.019,,120308,,,D*77
+$GPRMC,090238.00,A,5159.12120,N,00423.72887,E,0.001,,120308,,,D*73
+$GPRMC,090239.00,A,5159.12121,N,00423.72886,E,0.005,,120308,,,D*76
+$GPRMC,090240.00,A,5159.12119,N,00423.72886,E,0.005,,120308,,,D*73
+$GPRMC,090241.00,A,5159.12119,N,00423.72885,E,0.012,,120308,,,D*77
+$GPRMC,090242.00,A,5159.12118,N,00423.72884,E,0.007,,120308,,,D*70
+$GPRMC,090243.00,A,5159.12119,N,00423.72883,E,0.008,,120308,,,D*78
+$GPRMC,090244.00,A,5159.12118,N,00423.72883,E,0.010,,120308,,,D*77
+$GPRMC,090245.00,A,5159.12118,N,00423.72883,E,0.023,83.17,120308,,,D*55
+$GPRMC,090246.00,A,5159.12118,N,00423.72883,E,0.017,,120308,,,D*72
+$GPRMC,090247.00,A,5159.12118,N,00423.72882,E,0.004,,120308,,,D*70
+$GPRMC,090248.00,A,5159.12116,N,00423.72884,E,0.012,,120308,,,D*70
+$GPRMC,090249.00,A,5159.12116,N,00423.72884,E,0.010,,120308,,,D*73
+$GPRMC,090250.00,A,5159.12116,N,00423.72885,E,0.008,,120308,,,D*73
+$GPRMC,090251.00,A,5159.12116,N,00423.72884,E,0.009,,120308,,,D*72
+$GPRMC,090252.00,A,5159.12114,N,00423.72888,E,0.007,,120308,,,D*71
+$GPRMC,090253.00,A,5159.12111,N,00423.72892,E,0.014,,120308,,,D*7C
+$GPRMC,090254.00,A,5159.12111,N,00423.72892,E,0.030,85.61,120308,,,D*59
+$GPRMC,090255.00,A,5159.12109,N,00423.72894,E,0.014,,120308,,,D*75
+$GPRMC,090256.00,A,5159.12109,N,00423.72894,E,0.015,,120308,,,D*77
+$GPRMC,090257.00,A,5159.12110,N,00423.72894,E,0.006,,120308,,,D*7C
+$GPRMC,090258.00,A,5159.12110,N,00423.72894,E,0.043,81.67,120308,,,D*54
+$GPRMC,090259.00,A,5159.12109,N,00423.72895,E,0.045,84.60,120308,,,D*58
+$GPRMC,090300.00,A,5159.12108,N,00423.72894,E,0.045,80.18,120308,,,D*5E
+$GPRMC,090301.00,A,5159.12107,N,00423.72896,E,0.015,,120308,,,D*78
+$GPRMC,090302.00,A,5159.12105,N,00423.72897,E,0.040,75.90,120308,,,D*5D
+$GPRMC,090303.00,A,5159.12102,N,00423.72898,E,0.055,79.14,120308,,,D*50
+$GPRMC,090304.00,A,5159.12099,N,00423.72898,E,0.078,74.70,120308,,,D*54
+$GPRMC,090305.00,A,5159.12098,N,00423.72900,E,0.007,,120308,,,D*76
+$GPRMC,090306.00,A,5159.12098,N,00423.72903,E,0.012,,120308,,,D*72
+$GPRMC,090307.00,A,5159.12098,N,00423.72903,E,0.010,,120308,,,D*71
+$GPRMC,090308.00,A,5159.12097,N,00423.72903,E,0.000,,120308,,,D*70
+$GPRMC,090309.00,A,5159.12097,N,00423.72902,E,0.011,,120308,,,D*70
+$GPRMC,090310.00,A,5159.12096,N,00423.72902,E,0.009,,120308,,,D*70
+$GPRMC,090311.00,A,5159.12095,N,00423.72905,E,0.019,,120308,,,D*74
+$GPRMC,090312.00,A,5159.12094,N,00423.72907,E,0.004,,120308,,,D*78
+$GPRMC,090313.00,A,5159.12093,N,00423.72909,E,0.015,,120308,,,D*70
+$GPRMC,090314.00,A,5159.12091,N,00423.72911,E,0.011,,120308,,,D*78
+$GPRMC,090315.00,A,5159.12091,N,00423.72913,E,0.006,,120308,,,D*7D
+$GPRMC,090316.00,A,5159.12090,N,00423.72914,E,0.106,71.37,120308,,,D*55
+$GPRMC,090317.00,A,5159.12092,N,00423.72914,E,0.006,,120308,,,D*7B
+$GPRMC,090318.00,A,5159.12090,N,00423.72914,E,0.004,,120308,,,D*74
+$GPRMC,090319.00,A,5159.12089,N,00423.72915,E,0.017,,120308,,,D*7E
+$GPRMC,090320.00,A,5159.12088,N,00423.72915,E,0.013,,120308,,,D*71
+$GPRMC,090321.00,A,5159.12088,N,00423.72915,E,0.009,,120308,,,D*7B
+$GPRMC,090322.00,A,5159.12087,N,00423.72917,E,0.016,,120308,,,D*7B
+$GPRMC,090323.00,A,5159.12086,N,00423.72917,E,0.019,,120308,,,D*74
+$GPRMC,090324.00,A,5159.12085,N,00423.72917,E,0.012,,120308,,,D*7B
+$GPRMC,090325.00,A,5159.12085,N,00423.72917,E,0.010,,120308,,,D*78
+$GPRMC,090326.00,A,5159.12084,N,00423.72916,E,0.008,,120308,,,D*72
+$GPRMC,090327.00,A,5159.12084,N,00423.72916,E,0.011,,120308,,,D*7B
+$GPRMC,090328.00,A,5159.12084,N,00423.72915,E,0.007,,120308,,,D*70
+$GPRMC,090329.00,A,5159.12084,N,00423.72915,E,0.015,,120308,,,D*72
+$GPRMC,090330.00,A,5159.12084,N,00423.72915,E,0.004,,120308,,,D*7A
+$GPRMC,090331.00,A,5159.12084,N,00423.72915,E,0.016,,120308,,,D*78
+$GPRMC,090332.00,A,5159.12084,N,00423.72914,E,0.020,75.54,120308,,,D*52
+$GPRMC,090333.00,A,5159.12083,N,00423.72913,E,0.005,,120308,,,D*79
+$GPRMC,090334.00,A,5159.12083,N,00423.72913,E,0.013,,120308,,,D*79
+$GPRMC,090335.00,A,5159.12082,N,00423.72913,E,0.025,78.97,120308,,,D*53
+$GPRMC,090336.00,A,5159.12082,N,00423.72913,E,0.030,81.81,120308,,,D*55
+$GPRMC,090337.00,A,5159.12081,N,00423.72912,E,0.029,85.36,120308,,,D*56
+$GPRMC,090338.00,A,5159.12081,N,00423.72912,E,0.015,,120308,,,D*70
+$GPRMC,090339.00,A,5159.12081,N,00423.72912,E,0.030,85.71,120308,,,D*53
+$GPRMC,090340.00,A,5159.12082,N,00423.72912,E,0.004,,120308,,,D*7C
+$GPRMC,090341.00,A,5159.12082,N,00423.72912,E,0.022,87.87,120308,,,D*57
+$GPRMC,090342.00,A,5159.12081,N,00423.72913,E,0.013,,120308,,,D*7A
+$GPRMC,090343.00,A,5159.12081,N,00423.72913,E,0.012,,120308,,,D*7A
+$GPRMC,090344.00,A,5159.12080,N,00423.72912,E,0.047,92.40,120308,,,D*5C
+$GPRMC,090345.00,A,5159.12079,N,00423.72911,E,0.006,,120308,,,D*7C
+$GPRMC,090346.00,A,5159.12080,N,00423.72910,E,0.019,,120308,,,D*76
+$GPRMC,090347.00,A,5159.12079,N,00423.72910,E,0.026,95.68,120308,,,D*51
+$GPRMC,090348.00,A,5159.12079,N,00423.72910,E,0.018,,120308,,,D*7F
+$GPRMC,090349.00,A,5159.12079,N,00423.72912,E,0.033,97.09,120308,,,D*5C
+$GPRMC,090350.00,A,5159.12079,N,00423.72913,E,0.004,,120308,,,D*78
+$GPRMC,090351.00,A,5159.12078,N,00423.72913,E,0.014,,120308,,,D*79
+$GPRMC,090352.00,A,5159.12079,N,00423.72911,E,0.026,93.45,120308,,,D*5D
+$GPRMC,090353.00,A,5159.12079,N,00423.72911,E,0.025,93.27,120308,,,D*5B
+$GPRMC,090354.00,A,5159.12079,N,00423.72910,E,0.022,95.88,120308,,,D*59
+$GPRMC,090355.00,A,5159.12078,N,00423.72908,E,0.024,100.52,120308,,,D*6C
+$GPRMC,090356.00,A,5159.12077,N,00423.72906,E,0.009,,120308,,,D*79
+$GPRMC,090357.00,A,5159.12076,N,00423.72906,E,0.020,97.20,120308,,,D*50
+$GPRMC,090358.00,A,5159.12075,N,00423.72905,E,0.007,,120308,,,D*78
+$GPRMC,090359.00,A,5159.12074,N,00423.72905,E,0.008,,120308,,,D*77
+$GPRMC,090400.00,A,5159.12074,N,00423.72904,E,0.018,,120308,,,D*7C
+$GPRMC,090401.00,A,5159.12073,N,00423.72902,E,0.029,99.82,120308,,,D*5A
+$GPRMC,090402.00,A,5159.12073,N,00423.72901,E,0.022,102.55,120308,,,D*68
+$GPRMC,090403.00,A,5159.12072,N,00423.72901,E,0.008,,120308,,,D*7D
+$GPRMC,090404.00,A,5159.12070,N,00423.72902,E,0.029,104.54,120308,,,D*62
+$GPRMC,090405.00,A,5159.12069,N,00423.72902,E,0.023,101.85,120308,,,D*68
+$GPRMC,090406.00,A,5159.12068,N,00423.72902,E,0.031,106.77,120308,,,D*63
+$GPRMC,090407.00,A,5159.12067,N,00423.72902,E,0.001,,120308,,,D*77
+$GPRMC,090408.00,A,5159.12066,N,00423.72902,E,0.037,108.53,120308,,,D*6D
+$GPRMC,090409.00,A,5159.12066,N,00423.72902,E,0.015,,120308,,,D*7D
+$GPRMC,090410.00,A,5159.12066,N,00423.72900,E,0.023,112.44,120308,,,D*6E
+$GPRMC,090411.00,A,5159.12065,N,00423.72899,E,0.017,,120308,,,D*76
+$GPRMC,090412.00,A,5159.12065,N,00423.72899,E,0.011,,120308,,,D*73
+$GPRMC,090413.00,A,5159.12064,N,00423.72897,E,0.023,113.78,120308,,,D*6E
+$GPRMC,090414.00,A,5159.12063,N,00423.72897,E,0.008,,120308,,,D*75
+$GPRMC,090415.00,A,5159.12060,N,00423.72899,E,0.001,,120308,,,D*70
+$GPRMC,090416.00,A,5159.12052,N,00423.72902,E,0.035,115.59,120308,,,D*61
+$GPRMC,090417.00,A,5159.12051,N,00423.72903,E,0.044,117.09,120308,,,D*63
+$GPRMC,090418.00,A,5159.12051,N,00423.72904,E,0.009,,120308,,,D*72
+$GPRMC,090419.00,A,5159.12050,N,00423.72903,E,0.043,118.92,120308,,,D*66
+$GPRMC,090420.00,A,5159.12052,N,00423.72898,E,0.021,115.73,120308,,,D*6B
+$GPRMC,090421.00,A,5159.12044,N,00423.72920,E,0.020,117.99,120308,,,D*68
+$GPRMC,090422.00,A,5159.12031,N,00423.72956,E,0.033,119.63,120308,,,D*61
+$GPRMC,090423.00,A,5159.12032,N,00423.72960,E,0.033,120.82,120308,,,D*63
+$GPRMC,090424.00,A,5159.12022,N,00423.72983,E,0.015,,120308,,,D*7B
+$GPRMC,090425.00,A,5159.12021,N,00423.72981,E,0.057,122.25,120308,,,D*65
+$GPRMC,090426.00,A,5159.12017,N,00423.72984,E,0.033,123.25,120308,,,D*65
+$GPRMC,090427.00,A,5159.12004,N,00423.73000,E,0.033,124.79,120308,,,D*6C
+$GPRMC,090428.00,A,5159.12004,N,00423.72995,E,0.092,128.87,120308,,,D*61
+$GPRMC,090429.00,A,5159.12003,N,00423.72989,E,0.034,132.83,120308,,,D*69
+$GPRMC,090430.00,A,5159.12003,N,00423.72987,E,0.005,,120308,,,D*78
+$GPRMC,090431.00,A,5159.11998,N,00423.72987,E,0.050,134.02,120308,,,D*6B
+$GPRMC,090432.00,A,5159.11998,N,00423.72987,E,0.008,,120308,,,D*7F
+$GPRMC,090433.00,A,5159.11998,N,00423.72989,E,0.044,135.07,120308,,,D*66
+$GPRMC,090434.00,A,5159.12003,N,00423.72988,E,0.023,129.90,120308,,,D*6A
+$GPRMC,090435.00,A,5159.12014,N,00423.72978,E,0.092,128.64,120308,,,D*62
+$GPRMC,090436.00,A,5159.12021,N,00423.72973,E,0.008,,120308,,,D*78
+$GPRMC,090437.00,A,5159.12024,N,00423.72978,E,0.011,,120308,,,D*7F
+$GPRMC,090438.00,A,5159.12027,N,00423.72983,E,0.013,,120308,,,D*75
+$GPRMC,090439.00,A,5159.12030,N,00423.72984,E,0.035,128.76,120308,,,D*65
+$GPRMC,090440.00,A,5159.12032,N,00423.72992,E,0.044,130.27,120308,,,D*65
+$GPRMC,090441.00,A,5159.12032,N,00423.73000,E,0.002,,120308,,,D*7C
+$GPRMC,090442.00,A,5159.12036,N,00423.73003,E,0.013,,120308,,,D*78
+$GPRMC,090443.00,A,5159.12037,N,00423.73005,E,0.022,130.57,120308,,,D*62
+$GPRMC,090444.00,A,5159.12035,N,00423.73007,E,0.014,,120308,,,D*7E
+$GPRMC,090445.00,A,5159.12035,N,00423.73007,E,0.037,132.25,120308,,,D*67
+$GPRMC,090446.00,A,5159.12041,N,00423.72996,E,0.068,135.68,120308,,,D*63
+$GPRMC,090447.00,A,5159.12046,N,00423.72989,E,0.015,,120308,,,D*76
+$GPRMC,090448.00,A,5159.12045,N,00423.72991,E,0.039,135.65,120308,,,D*67
+$GPRMC,090449.00,A,5159.12047,N,00423.72989,E,0.031,137.72,120308,,,D*61
+$GPRMC,090450.00,A,5159.12047,N,00423.72986,E,0.019,,120308,,,D*72
+$GPRMC,090451.00,A,5159.12048,N,00423.72986,E,0.016,,120308,,,D*73
+$GPRMC,090452.00,A,5159.12048,N,00423.72986,E,0.031,139.50,120308,,,D*65
+$GPRMC,090453.00,A,5159.12046,N,00423.72987,E,0.040,139.20,120308,,,D*6A
+$GPRMC,090454.00,A,5159.12044,N,00423.72986,E,0.016,,120308,,,D*7A
+$GPRMC,090455.00,A,5159.12042,N,00423.72988,E,0.019,,120308,,,D*7C
+$GPRMC,090456.00,A,5159.12040,N,00423.72990,E,0.021,138.76,120308,,,D*6A
+$GPRMC,090457.00,A,5159.12041,N,00423.72991,E,0.024,139.72,120308,,,D*6B
+$GPRMC,090458.00,A,5159.12041,N,00423.72989,E,0.014,,120308,,,D*7E
+$GPRMC,090459.00,A,5159.12042,N,00423.72989,E,0.037,137.56,120308,,,D*65
+$GPRMC,090500.00,A,5159.12040,N,00423.72991,E,0.038,140.78,120308,,,D*60
+$GPRMC,090501.00,A,5159.12038,N,00423.72992,E,0.033,141.89,120308,,,D*69
+$GPRMC,090502.00,A,5159.12036,N,00423.72996,E,0.057,145.06,120308,,,D*61
+$GPRMC,090503.00,A,5159.12034,N,00423.73001,E,0.045,147.20,120308,,,D*61
+$GPRMC,090504.00,A,5159.12029,N,00423.73009,E,0.019,,120308,,,D*75
+$GPRMC,090505.00,A,5159.12024,N,00423.73018,E,0.018,,120308,,,D*78
+$GPRMC,090506.00,A,5159.12019,N,00423.73028,E,0.063,150.12,120308,,,D*63
+$GPRMC,090507.00,A,5159.12016,N,00423.73023,E,0.025,149.72,120308,,,D*6A
+$GPRMC,090508.00,A,5159.12002,N,00423.73048,E,0.042,151.13,120308,,,D*62
+$GPRMC,090509.00,A,5159.11990,N,00423.73065,E,0.020,152.28,120308,,,D*62
+$GPRMC,090510.00,A,5159.11973,N,00423.73098,E,0.010,,120308,,,D*74
+$GPRMC,090511.00,A,5159.11958,N,00423.73104,E,0.006,,120308,,,D*7F
+$GPRMC,090512.00,A,5159.11955,N,00423.73102,E,0.136,153.09,120308,,,D*65
+$GPRMC,090513.00,A,5159.11949,N,00423.73099,E,0.095,154.32,120308,,,D*6D
+$GPRMC,090514.00,A,5159.11944,N,00423.73096,E,0.183,155.27,120308,,,D*6B
+$GPRMC,090515.00,A,5159.11936,N,00423.73092,E,0.202,157.53,120308,,,D*60
+$GPRMC,090516.00,A,5159.11953,N,00423.73090,E,0.023,158.81,120308,,,D*63
+$GPRMC,090517.00,A,5159.11957,N,00423.73091,E,0.080,157.47,120308,,,D*6B
+$GPRMC,090518.00,A,5159.11961,N,00423.73092,E,0.019,,120308,,,D*7C
+$GPRMC,090519.00,A,5159.11959,N,00423.73087,E,0.022,158.22,120308,,,D*68
+$GPRMC,090520.00,A,5159.11958,N,00423.73082,E,0.011,,120308,,,D*74
+$GPRMC,090521.00,A,5159.11957,N,00423.73077,E,0.016,,120308,,,D*77
+$GPRMC,090522.00,A,5159.11957,N,00423.73073,E,0.008,,120308,,,D*7F
+$GPRMC,090523.00,A,5159.11956,N,00423.73071,E,0.029,157.61,120308,,,D*64
+$GPRMC,090524.00,A,5159.11954,N,00423.73068,E,0.038,157.58,120308,,,D*63
+$GPRMC,090525.00,A,5159.11952,N,00423.73065,E,0.034,158.30,120308,,,D*64
+$GPRMC,090526.00,A,5159.11951,N,00423.73063,E,0.009,,120308,,,D*7D
+$GPRMC,090527.00,A,5159.11950,N,00423.73061,E,0.039,159.04,120308,,,D*6B
+$GPRMC,090528.00,A,5159.11950,N,00423.73060,E,0.015,,120308,,,D*7C
+$GPRMC,090529.00,A,5159.11949,N,00423.73059,E,0.021,159.23,120308,,,D*6A
+$GPRMC,090530.00,A,5159.11948,N,00423.73057,E,0.023,158.68,120308,,,D*61
+$GPRMC,090531.00,A,5159.11950,N,00423.73044,E,0.025,157.60,120308,,,D*6A
+$GPRMC,090532.00,A,5159.11950,N,00423.73043,E,0.031,152.64,120308,,,D*6A
+$GPRMC,090533.00,A,5159.11953,N,00423.73039,E,0.025,153.02,120308,,,D*61
+$GPRMC,090534.00,A,5159.11954,N,00423.73041,E,0.020,149.62,120308,,,D*66
+$GPRMC,090535.00,A,5159.11957,N,00423.73040,E,0.028,150.65,120308,,,D*62
+$GPRMC,090536.00,A,5159.11960,N,00423.73044,E,0.025,151.56,120308,,,D*6D
+$GPRMC,090537.00,A,5159.11962,N,00423.73046,E,0.031,150.81,120308,,,D*62
+$GPRMC,090538.00,A,5159.11965,N,00423.73049,E,0.029,151.60,120308,,,D*62
+$GPRMC,090539.00,A,5159.11968,N,00423.73053,E,0.021,151.08,120308,,,D*63
+$GPRMC,090540.00,A,5159.11970,N,00423.73054,E,0.015,,120308,,,D*77
+$GPRMC,090541.00,A,5159.11973,N,00423.73055,E,0.029,146.04,120308,,,D*62
+$GPRMC,090542.00,A,5159.11976,N,00423.73054,E,0.011,,120308,,,D*77
+$GPRMC,090543.00,A,5159.11983,N,00423.73057,E,0.028,141.54,120308,,,D*6E
+$GPRMC,090544.00,A,5159.11986,N,00423.73054,E,0.010,,120308,,,D*7F
+$GPRMC,090545.00,A,5159.11990,N,00423.73051,E,0.018,,120308,,,D*74
+$GPRMC,090546.00,A,5159.11995,N,00423.73048,E,0.012,,120308,,,D*70
+$GPRMC,090547.00,A,5159.12000,N,00423.73047,E,0.027,138.31,120308,,,D*68
+$GPRMC,090548.00,A,5159.12003,N,00423.73047,E,0.009,,120308,,,D*7E
+$GPRMC,090549.00,A,5159.12007,N,00423.73046,E,0.011,,120308,,,D*73
+$GPRMC,090550.00,A,5159.12008,N,00423.73050,E,0.013,,120308,,,D*71
+$GPRMC,090551.00,A,5159.12009,N,00423.73053,E,0.044,133.25,120308,,,D*68
+$GPRMC,090552.00,A,5159.12012,N,00423.73054,E,0.046,129.38,120308,,,D*63
+$GPRMC,090553.00,A,5159.12013,N,00423.73054,E,0.010,,120308,,,D*7F
+$GPRMC,090554.00,A,5159.12010,N,00423.73051,E,0.006,,120308,,,D*79
+$GPRMC,090555.00,A,5159.12007,N,00423.73047,E,0.010,,120308,,,D*7E
+$GPRMC,090556.00,A,5159.12003,N,00423.73043,E,0.012,,120308,,,D*7F
+$GPRMC,090557.00,A,5159.11996,N,00423.73039,E,0.030,131.54,120308,,,D*69
+$GPRMC,090558.00,A,5159.11991,N,00423.73038,E,0.013,,120308,,,D*7D
+$GPRMC,090559.00,A,5159.11986,N,00423.73033,E,0.006,,120308,,,D*75
+$GPRMC,090600.00,A,5159.11983,N,00423.73031,E,0.020,127.49,120308,,,D*6E
+$GPRMC,090601.00,A,5159.11976,N,00423.73031,E,0.021,128.32,120308,,,D*67
+$GPRMC,090602.00,A,5159.11971,N,00423.73031,E,0.006,,120308,,,D*72
+$GPRMC,090603.00,A,5159.11969,N,00423.73029,E,0.019,,120308,,,D*7D
+$GPRMC,090604.00,A,5159.11967,N,00423.73026,E,0.013,,120308,,,D*71
+$GPRMC,090605.00,A,5159.11965,N,00423.73023,E,0.019,,120308,,,D*7D
+$GPRMC,090606.00,A,5159.11962,N,00423.73019,E,0.022,130.67,120308,,,D*65
+$GPRMC,090607.00,A,5159.11959,N,00423.73020,E,0.008,,120308,,,D*73
+$GPRMC,090608.00,A,5159.11956,N,00423.73021,E,0.011,,120308,,,D*7A
+$GPRMC,090609.00,A,5159.11954,N,00423.73014,E,0.004,,120308,,,D*7B
+$GPRMC,090610.00,A,5159.11951,N,00423.73010,E,0.024,131.43,120308,,,D*6A
+$GPRMC,090611.00,A,5159.11949,N,00423.73007,E,0.009,,120308,,,D*71
+$GPRMC,090612.00,A,5159.11948,N,00423.73003,E,0.035,132.46,120308,,,D*64
+$GPRMC,090613.00,A,5159.11946,N,00423.73000,E,0.013,,120308,,,D*70
+$GPRMC,090614.00,A,5159.11945,N,00423.73001,E,0.029,133.05,120308,,,D*66
+$GPRMC,090615.00,A,5159.11942,N,00423.73002,E,0.024,128.90,120308,,,D*68
+$GPRMC,090616.00,A,5159.11941,N,00423.73000,E,0.009,,120308,,,D*79
+$GPRMC,090617.00,A,5159.11935,N,00423.73007,E,0.018,,120308,,,D*7C
+$GPRMC,090618.00,A,5159.11935,N,00423.73006,E,0.044,129.75,120308,,,D*6D
+$GPRMC,090619.00,A,5159.11934,N,00423.73006,E,0.030,125.56,120308,,,D*63
+$GPRMC,090620.00,A,5159.11934,N,00423.73006,E,0.009,,120308,,,D*78
+$GPRMC,090621.00,A,5159.11932,N,00423.73011,E,0.017,,120308,,,D*76
+$GPRMC,090622.00,A,5159.11932,N,00423.73015,E,0.012,,120308,,,D*74
+$GPRMC,090623.00,A,5159.11929,N,00423.73025,E,0.017,,120308,,,D*79
+$GPRMC,090624.00,A,5159.11921,N,00423.73039,E,0.014,,120308,,,D*78
+$GPRMC,090625.00,A,5159.11912,N,00423.73049,E,0.004,,120308,,,D*7F
+$GPRMC,090626.00,A,5159.11910,N,00423.73050,E,0.020,126.02,120308,,,D*69
+$GPRMC,090627.00,A,5159.11908,N,00423.73050,E,0.005,,120308,,,D*7F
+$GPRMC,090628.00,A,5159.11901,N,00423.73054,E,0.019,,120308,,,D*70
+$GPRMC,090629.00,A,5159.11895,N,00423.73058,E,0.011,,120308,,,D*79
+$GPRMC,090630.00,A,5159.11890,N,00423.73062,E,0.021,125.82,120308,,,D*6C
+$GPRMC,090631.00,A,5159.11886,N,00423.73065,E,0.007,,120308,,,D*7B
+$GPRMC,090632.00,A,5159.11883,N,00423.73069,E,0.016,,120308,,,D*71
+$GPRMC,090633.00,A,5159.11879,N,00423.73074,E,0.037,126.03,120308,,,D*62
+$GPRMC,090634.00,A,5159.11882,N,00423.73075,E,0.022,125.72,120308,,,D*61
+$GPRMC,090635.00,A,5159.11879,N,00423.73080,E,0.005,,120308,,,D*76
+$GPRMC,090636.00,A,5159.11874,N,00423.73088,E,0.016,,120308,,,D*72
+$GPRMC,090637.00,A,5159.11862,N,00423.73101,E,0.018,,120308,,,D*7A
+$GPRMC,090638.00,A,5159.11860,N,00423.73098,E,0.021,122.56,120308,,,D*60
+$GPRMC,090639.00,A,5159.11859,N,00423.73092,E,0.011,,120308,,,D*7E
+$GPRMC,090640.00,A,5159.11854,N,00423.73089,E,0.020,121.71,120308,,,D*6F
+$GPRMC,090641.00,A,5159.11852,N,00423.73092,E,0.085,122.10,120308,,,D*69
+$GPRMC,090642.00,A,5159.11848,N,00423.73090,E,0.001,,120308,,,D*71
+$GPRMC,090643.00,A,5159.11846,N,00423.73088,E,0.011,,120308,,,D*76
+$GPRMC,090644.00,A,5159.11846,N,00423.73087,E,0.016,,120308,,,D*79
+$GPRMC,090645.00,A,5159.11849,N,00423.73086,E,0.029,118.39,120308,,,D*66
+$GPRMC,090646.00,A,5159.11848,N,00423.73084,E,0.013,,120308,,,D*73
+$GPRMC,090647.00,A,5159.11848,N,00423.73078,E,0.010,,120308,,,D*72
+$GPRMC,090648.00,A,5159.11850,N,00423.73070,E,0.017,,120308,,,D*7B
+$GPRMC,090649.00,A,5159.11849,N,00423.73067,E,0.017,,120308,,,D*74
+$GPRMC,090650.00,A,5159.11845,N,00423.73068,E,0.003,,120308,,,D*7A
+$GPRMC,090651.00,A,5159.11842,N,00423.73069,E,0.009,,120308,,,D*77
+$GPRMC,090652.00,A,5159.11840,N,00423.73067,E,0.008,,120308,,,D*79
+$GPRMC,090653.00,A,5159.11839,N,00423.73065,E,0.008,,120308,,,D*74
+$GPRMC,090654.00,A,5159.11840,N,00423.73064,E,0.016,,120308,,,D*73
+$GPRMC,090655.00,A,5159.11844,N,00423.73061,E,0.007,,120308,,,D*73
+$GPRMC,090656.00,A,5159.11860,N,00423.73051,E,0.010,,120308,,,D*73
+$GPRMC,090657.00,A,5159.11874,N,00423.73038,E,0.005,,120308,,,D*7C
+$GPRMC,090658.00,A,5159.11887,N,00423.73026,E,0.015,,120308,,,D*71
+$GPRMC,090659.00,A,5159.11896,N,00423.73009,E,0.012,,120308,,,D*7A
+$GPRMC,090700.00,A,5159.11896,N,00423.73012,E,0.019,,120308,,,D*76
+$GPRMC,090701.00,A,5159.11894,N,00423.73016,E,0.014,,120308,,,D*7C
+$GPRMC,090702.00,A,5159.11893,N,00423.73019,E,0.056,120.03,120308,,,D*6F
+$GPRMC,090703.00,A,5159.11891,N,00423.73024,E,0.028,115.53,120308,,,D*68
+$GPRMC,090704.00,A,5159.11911,N,00423.73001,E,0.084,111.84,120308,,,D*69
+$GPRMC,090705.00,A,5159.11912,N,00423.73006,E,0.092,108.51,120308,,,D*6B
+$GPRMC,090706.00,A,5159.11927,N,00423.72985,E,0.039,105.58,120308,,,D*68
+$GPRMC,090707.00,A,5159.11925,N,00423.72991,E,0.047,103.76,120308,,,D*6D
+$GPRMC,090708.00,A,5159.11925,N,00423.72995,E,0.036,107.19,120308,,,D*6D
+$GPRMC,090709.00,A,5159.11923,N,00423.73000,E,0.021,111.40,120308,,,D*63
+$GPRMC,090710.00,A,5159.11923,N,00423.73005,E,0.028,108.61,120308,,,D*6C
+$GPRMC,090711.00,A,5159.11930,N,00423.73008,E,0.019,,120308,,,D*70
+$GPRMC,090712.00,A,5159.11940,N,00423.73008,E,0.008,,120308,,,D*74
+$GPRMC,090713.00,A,5159.11947,N,00423.73011,E,0.016,,120308,,,D*75
+$GPRMC,090714.00,A,5159.11954,N,00423.73012,E,0.008,,120308,,,D*7C
+$GPRMC,090715.00,A,5159.11958,N,00423.73014,E,0.008,,120308,,,D*77
+$GPRMC,090716.00,A,5159.11960,N,00423.73015,E,0.013,,120308,,,D*74
+$GPRMC,090717.00,A,5159.11965,N,00423.73012,E,0.027,103.87,120308,,,D*63
+$GPRMC,090718.00,A,5159.11967,N,00423.73006,E,0.008,,120308,,,D*75
+$GPRMC,090719.00,A,5159.11967,N,00423.73003,E,0.012,,120308,,,D*7A
+$GPRMC,090720.00,A,5159.11967,N,00423.73000,E,0.008,,120308,,,D*78
+$GPRMC,090721.00,A,5159.11967,N,00423.73000,E,0.006,,120308,,,D*77
+$GPRMC,090722.00,A,5159.11967,N,00423.72998,E,0.007,,120308,,,D*7C
+$GPRMC,090723.00,A,5159.11967,N,00423.72999,E,0.015,,120308,,,D*7F
+$GPRMC,090724.00,A,5159.11967,N,00423.73003,E,0.010,,120308,,,D*76
+$GPRMC,090725.00,A,5159.11967,N,00423.73004,E,0.010,,120308,,,D*70
+$GPRMC,090726.00,A,5159.11965,N,00423.73006,E,0.010,,120308,,,D*73
+$GPRMC,090727.00,A,5159.11963,N,00423.73005,E,0.012,,120308,,,D*75
+$GPRMC,090728.00,A,5159.11960,N,00423.73005,E,0.006,,120308,,,D*7C
+$GPRMC,090729.00,A,5159.11961,N,00423.73004,E,0.066,99.37,120308,,,D*51
+$GPRMC,090730.00,A,5159.11960,N,00423.73004,E,0.013,,120308,,,D*70
+$GPRMC,090731.00,A,5159.11964,N,00423.73009,E,0.014,,120308,,,D*7F
+$GPRMC,090732.00,A,5159.11967,N,00423.73011,E,0.019,,120308,,,D*7B
+$GPRMC,090733.00,A,5159.11971,N,00423.73012,E,0.005,,120308,,,D*73
+$GPRMC,090734.00,A,5159.11976,N,00423.73013,E,0.017,,120308,,,D*71
+$GPRMC,090735.00,A,5159.11979,N,00423.73018,E,0.006,,120308,,,D*74
+$GPRMC,090736.00,A,5159.11983,N,00423.73025,E,0.019,,120308,,,D*72
+$GPRMC,090737.00,A,5159.11987,N,00423.73030,E,0.007,,120308,,,D*7C
+$GPRMC,090738.00,A,5159.11992,N,00423.73033,E,0.023,101.43,120308,,,D*6B
+$GPRMC,090739.00,A,5159.11996,N,00423.73036,E,0.001,,120308,,,D*72
+$GPRMC,090740.00,A,5159.12000,N,00423.73040,E,0.010,,120308,,,D*78
+$GPRMC,090741.00,A,5159.12005,N,00423.73045,E,0.046,99.93,120308,,,D*5E
+$GPRMC,090742.00,A,5159.12008,N,00423.73049,E,0.006,,120308,,,D*7C
+$GPRMC,090743.00,A,5159.12012,N,00423.73051,E,0.014,,120308,,,D*7C
+$GPRMC,090744.00,A,5159.12015,N,00423.73053,E,0.022,96.89,120308,,,D*5B
+$GPRMC,090745.00,A,5159.12017,N,00423.73056,E,0.011,,120308,,,D*7D
+$GPRMC,090746.00,A,5159.12021,N,00423.73056,E,0.007,,120308,,,D*7C
+$GPRMC,090747.00,A,5159.12023,N,00423.73058,E,0.005,,120308,,,D*73
+$GPRMC,090748.00,A,5159.12011,N,00423.73052,E,0.017,,120308,,,D*74
+$GPRMC,090749.00,A,5159.11999,N,00423.73048,E,0.003,,120308,,,D*71
+$GPRMC,090750.00,A,5159.11991,N,00423.73045,E,0.010,,120308,,,D*7E
+$GPRMC,090751.00,A,5159.11984,N,00423.73044,E,0.012,,120308,,,D*78
+$GPRMC,090752.00,A,5159.11977,N,00423.73043,E,0.024,91.58,120308,,,D*5E
+$GPRMC,090753.00,A,5159.11971,N,00423.73039,E,0.007,,120308,,,D*7E
+$GPRMC,090754.00,A,5159.11965,N,00423.73038,E,0.014,,120308,,,D*7F
+$GPRMC,090755.00,A,5159.11954,N,00423.73036,E,0.013,,120308,,,D*75
+$GPRMC,090756.00,A,5159.11951,N,00423.73032,E,0.003,,120308,,,D*76
+$GPRMC,090757.00,A,5159.11950,N,00423.73025,E,0.006,,120308,,,D*75
+$GPRMC,090758.00,A,5159.11948,N,00423.73019,E,0.008,,120308,,,D*72
+$GPRMC,090759.00,A,5159.11947,N,00423.73016,E,0.010,,120308,,,D*7A
+$GPRMC,090800.00,A,5159.11946,N,00423.73012,E,0.009,,120308,,,D*74
+$GPRMC,090801.00,A,5159.11945,N,00423.73013,E,0.014,,120308,,,D*7B
+$GPRMC,090802.00,A,5159.11944,N,00423.73014,E,0.018,,120308,,,D*72
+$GPRMC,090803.00,A,5159.11942,N,00423.73017,E,0.022,89.13,120308,,,D*52
+$GPRMC,090804.00,A,5159.11940,N,00423.73021,E,0.015,,120308,,,D*7B
+$GPRMC,090805.00,A,5159.11938,N,00423.73027,E,0.027,85.32,120308,,,D*50
+$GPRMC,090806.00,A,5159.11936,N,00423.73031,E,0.005,,120308,,,D*78
+$GPRMC,090807.00,A,5159.11935,N,00423.73034,E,0.013,,120308,,,D*78
+$GPRMC,090808.00,A,5159.11934,N,00423.73033,E,0.020,81.57,120308,,,D*54
+$GPRMC,090809.00,A,5159.11932,N,00423.73028,E,0.012,,120308,,,D*7D
+$GPRMC,090810.00,A,5159.11931,N,00423.73023,E,0.002,,120308,,,D*7C
+$GPRMC,090811.00,A,5159.11930,N,00423.73022,E,0.008,,120308,,,D*77
+$GPRMC,090812.00,A,5159.11929,N,00423.73024,E,0.012,,120308,,,D*71
+$GPRMC,090813.00,A,5159.11928,N,00423.73025,E,0.011,,120308,,,D*73
+$GPRMC,090814.00,A,5159.11927,N,00423.73026,E,0.011,,120308,,,D*78
+$GPRMC,090815.00,A,5159.11925,N,00423.73028,E,0.021,84.78,120308,,,D*5B
+$GPRMC,090816.00,A,5159.11924,N,00423.73029,E,0.010,,120308,,,D*77
+$GPRMC,090817.00,A,5159.11923,N,00423.73030,E,0.012,,120308,,,D*7B
+$GPRMC,090818.00,A,5159.11925,N,00423.73029,E,0.005,,120308,,,D*7C
+$GPRMC,090819.00,A,5159.11927,N,00423.73025,E,0.019,,120308,,,D*7E
+$GPRMC,090820.00,A,5159.11928,N,00423.73021,E,0.017,,120308,,,D*71
+$GPRMC,090821.00,A,5159.11927,N,00423.73018,E,0.011,,120308,,,D*73
+$GPRMC,090822.00,A,5159.11926,N,00423.73013,E,0.011,,120308,,,D*7A
+$GPRMC,090823.00,A,5159.11922,N,00423.73012,E,0.006,,120308,,,D*78
+$GPRMC,090824.00,A,5159.11919,N,00423.73008,E,0.015,,120308,,,D*7E
+$GPRMC,090825.00,A,5159.11917,N,00423.73004,E,0.002,,120308,,,D*7B
+$GPRMC,090826.00,A,5159.11917,N,00423.73000,E,0.022,87.32,120308,,,D*5E
+$GPRMC,090827.00,A,5159.11915,N,00423.72995,E,0.008,,120308,,,D*71
+$GPRMC,090828.00,A,5159.11913,N,00423.72996,E,0.021,84.56,120308,,,D*51
+$GPRMC,090829.00,A,5159.11914,N,00423.72998,E,0.014,,120308,,,D*7E
+$GPRMC,090830.00,A,5159.11916,N,00423.72998,E,0.006,,120308,,,D*77
+$GPRMC,090831.00,A,5159.11918,N,00423.72998,E,0.008,,120308,,,D*76
+$GPRMC,090832.00,A,5159.11918,N,00423.72998,E,0.015,,120308,,,D*79
+$GPRMC,090833.00,A,5159.11917,N,00423.73001,E,0.010,,120308,,,D*7A
+$GPRMC,090834.00,A,5159.11918,N,00423.73006,E,0.009,,120308,,,D*7D
+$GPRMC,090835.00,A,5159.11920,N,00423.73012,E,0.009,,120308,,,D*72
+$GPRMC,090836.00,A,5159.11920,N,00423.73019,E,0.001,,120308,,,D*72
+$GPRMC,090837.00,A,5159.11919,N,00423.73019,E,0.027,88.07,120308,,,D*54
+$GPRMC,090838.00,A,5159.11916,N,00423.73020,E,0.010,,120308,,,D*73
+$GPRMC,090839.00,A,5159.11914,N,00423.73021,E,0.021,92.01,120308,,,D*57
+$GPRMC,090840.00,A,5159.11912,N,00423.73021,E,0.009,,120308,,,D*71
+$GPRMC,090841.00,A,5159.11911,N,00423.73021,E,0.015,,120308,,,D*7E
+$GPRMC,090842.00,A,5159.11911,N,00423.73020,E,0.042,96.56,120308,,,D*5C
+$GPRMC,090843.00,A,5159.11909,N,00423.73018,E,0.131,100.25,120308,,,D*60
+$GPRMC,090844.00,A,5159.11905,N,00423.73006,E,0.438,107.78,120308,,,D*67
+$GPRMC,090845.00,A,5159.11897,N,00423.72989,E,0.511,114.84,120308,,,D*68
+$GPRMC,090846.00,A,5159.11888,N,00423.72974,E,0.524,121.40,120308,,,D*6F
+$GPRMC,090847.00,A,5159.11876,N,00423.72949,E,0.896,127.70,120308,,,D*60
+$GPRMC,090848.00,A,5159.11857,N,00423.72916,E,0.973,133.47,120308,,,D*6D
+$GPRMC,090849.00,A,5159.11839,N,00423.72884,E,0.854,139.08,120308,,,D*6B
+$GPRMC,090850.00,A,5159.11822,N,00423.72853,E,1.058,144.68,120308,,,D*6A
+$GPRMC,090851.00,A,5159.11804,N,00423.72818,E,1.210,149.92,120308,,,D*66
+$GPRMC,090852.00,A,5159.11770,N,00423.72760,E,2.201,223.63,120308,,,D*6B
+$GPRMC,090853.00,A,5159.11727,N,00423.72708,E,2.024,203.87,120308,,,D*6B
+$GPRMC,090854.00,A,5159.11693,N,00423.72687,E,0.722,202.84,120308,,,D*65
+$GPRMC,090855.00,A,5159.11709,N,00423.72662,E,2.014,334.45,120308,,,D*64
+$GPRMC,090856.00,A,5159.11799,N,00423.72582,E,5.312,334.85,120308,,,D*6D
+$GPRMC,090857.00,A,5159.11970,N,00423.72449,E,8.129,336.49,120308,,,D*66
+$GPRMC,090858.00,A,5159.12264,N,00423.72262,E,12.937,339.11,120308,,,D*55
+$GPRMC,090859.00,A,5159.12608,N,00423.72042,E,13.560,338.17,120308,,,D*52
+$GPRMC,090900.00,A,5159.12972,N,00423.71759,E,14.965,330.37,120308,,,D*57
+$GPRMC,090901.00,A,5159.13331,N,00423.71358,E,16.198,320.34,120308,,,D*55
+$GPRMC,090902.00,A,5159.13683,N,00423.70827,E,17.112,311.82,120308,,,D*54
+$GPRMC,090903.00,A,5159.13960,N,00423.70123,E,18.089,295.53,120308,,,D*57
+$GPRMC,090904.00,A,5159.14230,N,00423.69241,E,21.142,288.04,120308,,,D*54
+$GPRMC,090905.00,A,5159.14474,N,00423.68209,E,24.576,287.40,120308,,,D*57
+$GPRMC,090906.00,A,5159.14760,N,00423.67032,E,27.451,286.82,120308,,,D*5F
+$GPRMC,090907.00,A,5159.14996,N,00423.65876,E,24.986,287.11,120308,,,D*5C
+$GPRMC,090908.00,A,5159.15196,N,00423.64924,E,18.980,289.15,120308,,,D*5E
+$GPRMC,090909.00,A,5159.15358,N,00423.64214,E,15.102,294.37,120308,,,D*54
+$GPRMC,090910.00,A,5159.15557,N,00423.63617,E,15.868,307.27,120308,,,D*5A
+$GPRMC,090911.00,A,5159.15890,N,00423.63103,E,18.274,324.01,120308,,,D*50
+$GPRMC,090912.00,A,5159.16365,N,00423.62675,E,21.487,336.16,120308,,,D*53
+$GPRMC,090913.00,A,5159.16984,N,00423.62315,E,25.285,341.50,120308,,,D*56
+$GPRMC,090914.00,A,5159.17711,N,00423.61954,E,29.096,343.29,120308,,,D*5E
+$GPRMC,090915.00,A,5159.18507,N,00423.61589,E,30.570,344.07,120308,,,D*57
+$GPRMC,090916.00,A,5159.19353,N,00423.61218,E,32.255,344.36,120308,,,D*5D
+$GPRMC,090917.00,A,5159.20282,N,00423.60820,E,34.132,344.39,120308,,,D*50
+$GPRMC,090918.00,A,5159.21256,N,00423.60394,E,36.698,344.11,120308,,,D*5C
+$GPRMC,090919.00,A,5159.22278,N,00423.59921,E,39.116,343.32,120308,,,D*54
+$GPRMC,090920.00,A,5159.23352,N,00423.59406,E,40.827,343.14,120308,,,D*5F
+$GPRMC,090921.00,A,5159.24463,N,00423.58878,E,41.491,343.50,120308,,,D*58
+$GPRMC,090922.00,A,5159.25589,N,00423.58333,E,42.271,344.01,120308,,,D*53
+$GPRMC,090923.00,A,5159.26722,N,00423.57804,E,42.581,344.40,120308,,,D*5F
+$GPRMC,090924.00,A,5159.27869,N,00423.57294,E,42.858,344.88,120308,,,D*57
+$GPRMC,090925.00,A,5159.29031,N,00423.56796,E,43.462,345.25,120308,,,D*59
+$GPRMC,090926.00,A,5159.30220,N,00423.56292,E,44.628,345.30,120308,,,D*5E
+$GPRMC,090927.00,A,5159.31434,N,00423.55775,E,46.137,345.25,120308,,,D*5D
+$GPRMC,090928.00,A,5159.32671,N,00423.55238,E,46.023,344.69,120308,,,D*53
+$GPRMC,090929.00,A,5159.33933,N,00423.54679,E,47.136,344.64,120308,,,D*53
+$GPRMC,090930.00,A,5159.35329,N,00423.54065,E,50.965,344.57,120308,,,D*5F
+$GPRMC,090931.00,A,5159.36753,N,00423.53462,E,51.310,345.18,120308,,,D*53
+$GPRMC,090932.00,A,5159.38153,N,00423.52850,E,52.133,345.18,120308,,,D*54
+$GPRMC,090933.00,A,5159.39589,N,00423.52231,E,53.181,345.17,120308,,,D*5D
+$GPRMC,090934.00,A,5159.41026,N,00423.51577,E,53.797,344.87,120308,,,D*5A
+$GPRMC,090935.00,A,5159.42483,N,00423.50925,E,53.607,344.13,120308,,,D*5C
+$GPRMC,090936.00,A,5159.43910,N,00423.50268,E,52.902,343.71,120308,,,D*53
+$GPRMC,090937.00,A,5159.45315,N,00423.49615,E,52.069,343.52,120308,,,D*58
+$GPRMC,090938.00,A,5159.46681,N,00423.48974,E,51.231,343.68,120308,,,D*50
+$GPRMC,090939.00,A,5159.48014,N,00423.48353,E,50.230,343.90,120308,,,D*5D
+$GPRMC,090940.00,A,5159.49328,N,00423.47764,E,48.877,344.49,120308,,,D*52
+$GPRMC,090941.00,A,5159.50612,N,00423.47206,E,47.894,345.00,120308,,,D*58
+$GPRMC,090942.00,A,5159.51877,N,00423.46664,E,47.324,345.15,120308,,,D*52
+$GPRMC,090943.00,A,5159.53127,N,00423.46132,E,46.824,344.96,120308,,,D*59
+$GPRMC,090944.00,A,5159.54386,N,00423.45583,E,46.907,345.02,120308,,,D*51
+$GPRMC,090945.00,A,5159.55645,N,00423.45047,E,46.755,345.20,120308,,,D*5F
+$GPRMC,090946.00,A,5159.56908,N,00423.44515,E,46.798,345.07,120308,,,D*5E
+$GPRMC,090947.00,A,5159.58174,N,00423.43978,E,47.235,344.89,120308,,,D*56
+$GPRMC,090948.00,A,5159.59422,N,00423.43452,E,46.600,345.11,120308,,,D*58
+$GPRMC,090949.00,A,5159.60681,N,00423.42923,E,46.760,345.30,120308,,,D*56
+$GPRMC,090950.00,A,5159.61946,N,00423.42397,E,47.078,345.49,120308,,,D*5F
+$GPRMC,090951.00,A,5159.63232,N,00423.41867,E,47.309,345.56,120308,,,D*58
+$GPRMC,090952.00,A,5159.64524,N,00423.41331,E,47.430,345.47,120308,,,D*59
+$GPRMC,090953.00,A,5159.65808,N,00423.40788,E,47.126,344.98,120308,,,D*5C
+$GPRMC,090954.00,A,5159.67079,N,00423.40241,E,46.734,344.99,120308,,,D*52
+$GPRMC,090955.00,A,5159.68332,N,00423.39703,E,46.374,345.20,120308,,,D*5E
+$GPRMC,090956.00,A,5159.69575,N,00423.39175,E,46.077,345.31,120308,,,D*5E
+$GPRMC,090957.00,A,5159.70809,N,00423.38654,E,45.885,345.32,120308,,,D*51
+$GPRMC,090958.00,A,5159.72047,N,00423.38127,E,45.958,345.21,120308,,,D*5E
+$GPRMC,090959.00,A,5159.73282,N,00423.37586,E,45.850,344.55,120308,,,D*5E
+$GPRMC,091000.00,A,5159.74500,N,00423.37052,E,45.017,345.17,120308,,,D*50
+$GPRMC,091001.00,A,5159.75742,N,00423.36498,E,46.305,344.58,120308,,,D*5E
+$GPRMC,091002.00,A,5159.76990,N,00423.35955,E,46.681,345.43,120308,,,D*52
+$GPRMC,091003.00,A,5159.78257,N,00423.35418,E,46.826,345.22,120308,,,D*5D
+$GPRMC,091004.00,A,5159.79524,N,00423.34867,E,47.248,345.32,120308,,,D*5F
+$GPRMC,091005.00,A,5159.80784,N,00423.34296,E,47.359,345.46,120308,,,D*56
+$GPRMC,091006.00,A,5159.82061,N,00423.33753,E,47.632,345.56,120308,,,D*59
+$GPRMC,091007.00,A,5159.83344,N,00423.33191,E,46.881,344.22,120308,,,D*50
+$GPRMC,091008.00,A,5159.84608,N,00423.32604,E,46.886,344.44,120308,,,D*58
+$GPRMC,091009.00,A,5159.85884,N,00423.32049,E,48.074,345.15,120308,,,D*53
+$GPRMC,091010.00,A,5159.87171,N,00423.31488,E,48.468,345.16,120308,,,D*5A
+$GPRMC,091011.00,A,5159.88477,N,00423.30932,E,49.152,345.15,120308,,,D*54
+$GPRMC,091012.00,A,5159.89815,N,00423.30360,E,49.706,345.08,120308,,,D*58
+$GPRMC,091013.00,A,5159.91159,N,00423.29793,E,50.041,345.14,120308,,,D*50
+$GPRMC,091014.00,A,5159.92504,N,00423.29215,E,50.218,345.14,120308,,,D*5D
+$GPRMC,091015.00,A,5159.93855,N,00423.28641,E,50.156,345.17,120308,,,D*5A
+$GPRMC,091016.00,A,5159.95205,N,00423.28073,E,50.049,345.39,120308,,,D*54
+$GPRMC,091017.00,A,5159.96553,N,00423.27510,E,49.782,345.48,120308,,,D*53
+$GPRMC,091018.00,A,5159.97891,N,00423.26948,E,49.500,345.16,120308,,,D*5D
+$GPRMC,091019.00,A,5159.99220,N,00423.26388,E,49.262,345.21,120308,,,D*53
+$GPRMC,091020.00,A,5200.00541,N,00423.25824,E,48.976,345.12,120308,,,D*57
+$GPRMC,091021.00,A,5200.01853,N,00423.25260,E,48.713,345.08,120308,,,D*55
+$GPRMC,091022.00,A,5200.03154,N,00423.24704,E,48.463,345.25,120308,,,D*57
+$GPRMC,091023.00,A,5200.04435,N,00423.24157,E,48.408,345.15,120308,,,D*5D
+$GPRMC,091024.00,A,5200.05714,N,00423.23603,E,48.487,345.00,120308,,,D*59
+$GPRMC,091025.00,A,5200.06998,N,00423.23038,E,48.689,344.64,120308,,,D*50
+$GPRMC,091026.00,A,5200.08284,N,00423.22469,E,48.878,344.75,120308,,,D*5A
+$GPRMC,091027.00,A,5200.09586,N,00423.21893,E,49.753,344.78,120308,,,D*5F
+$GPRMC,091028.00,A,5200.10906,N,00423.21316,E,50.033,344.82,120308,,,D*56
+$GPRMC,091029.00,A,5200.12227,N,00423.20741,E,49.866,344.86,120308,,,D*5E
+$GPRMC,091030.00,A,5200.13541,N,00423.20169,E,49.408,344.95,120308,,,D*5A
+$GPRMC,091031.00,A,5200.14845,N,00423.19606,E,49.001,345.00,120308,,,D*51
+$GPRMC,091032.00,A,5200.16140,N,00423.19051,E,48.579,345.06,120308,,,D*55
+$GPRMC,091033.00,A,5200.17424,N,00423.18498,E,48.032,344.78,120308,,,D*50
+$GPRMC,091034.00,A,5200.18695,N,00423.17943,E,47.769,344.78,120308,,,D*52
+$GPRMC,091035.00,A,5200.19963,N,00423.17378,E,47.886,344.43,120308,,,D*50
+$GPRMC,091036.00,A,5200.21239,N,00423.16791,E,48.365,343.89,120308,,,D*56
+$GPRMC,091037.00,A,5200.22528,N,00423.16172,E,48.282,343.29,120308,,,D*5A
+$GPRMC,091038.00,A,5200.23808,N,00423.15519,E,48.208,341.97,120308,,,D*54
+$GPRMC,091039.00,A,5200.25074,N,00423.14818,E,48.054,340.58,120308,,,D*54
+$GPRMC,091040.00,A,5200.26326,N,00423.14060,E,48.015,338.98,120308,,,D*5C
+$GPRMC,091041.00,A,5200.27563,N,00423.13262,E,47.953,337.58,120308,,,D*5B
+$GPRMC,091042.00,A,5200.28785,N,00423.12420,E,47.624,336.26,120308,,,D*5B
+$GPRMC,091043.00,A,5200.29995,N,00423.11537,E,47.855,335.19,120308,,,D*57
+$GPRMC,091044.00,A,5200.31198,N,00423.10616,E,47.936,333.97,120308,,,D*59
+$GPRMC,091045.00,A,5200.32399,N,00423.09631,E,47.901,332.51,120308,,,D*5A
+$GPRMC,091046.00,A,5200.33627,N,00423.08573,E,48.135,331.02,120308,,,D*59
+$GPRMC,091047.00,A,5200.34804,N,00423.07484,E,48.303,329.49,120308,,,D*57
+$GPRMC,091048.00,A,5200.35965,N,00423.06344,E,48.470,327.88,120308,,,D*55
+$GPRMC,091049.00,A,5200.37106,N,00423.05160,E,48.455,326.68,120308,,,D*54
+$GPRMC,091050.00,A,5200.38245,N,00423.03934,E,48.614,325.87,120308,,,D*5D
+$GPRMC,091051.00,A,5200.39366,N,00423.02683,E,48.887,325.16,120308,,,D*53
+$GPRMC,091052.00,A,5200.40480,N,00423.01410,E,49.228,324.79,120308,,,D*5C
+$GPRMC,091053.00,A,5200.41596,N,00423.00118,E,49.308,324.09,120308,,,D*52
+$GPRMC,091054.00,A,5200.42713,N,00422.98815,E,48.968,324.49,120308,,,D*54
+$GPRMC,091055.00,A,5200.43814,N,00422.97516,E,48.313,324.33,120308,,,D*56
+$GPRMC,091056.00,A,5200.44899,N,00422.96254,E,47.589,324.44,120308,,,D*5D
+$GPRMC,091057.00,A,5200.45976,N,00422.95011,E,46.999,324.45,120308,,,D*50
+$GPRMC,091058.00,A,5200.47025,N,00422.93782,E,46.410,324.30,120308,,,D*57
+$GPRMC,091059.00,A,5200.48063,N,00422.92567,E,45.882,324.26,120308,,,D*50
+$GPRMC,091100.00,A,5200.49081,N,00422.91371,E,45.322,324.19,120308,,,D*5F
+$GPRMC,091101.00,A,5200.50081,N,00422.90189,E,44.788,324.29,120308,,,D*54
+$GPRMC,091102.00,A,5200.51070,N,00422.89022,E,44.123,324.32,120308,,,D*5D
+$GPRMC,091103.00,A,5200.52051,N,00422.87878,E,43.442,324.42,120308,,,D*57
+$GPRMC,091104.00,A,5200.53024,N,00422.86752,E,43.117,324.64,120308,,,D*54
+$GPRMC,091105.00,A,5200.53993,N,00422.85625,E,43.040,324.26,120308,,,D*57
+$GPRMC,091106.00,A,5200.54956,N,00422.84494,E,42.969,324.21,120308,,,D*57
+$GPRMC,091107.00,A,5200.55914,N,00422.83372,E,42.609,324.46,120308,,,D*51
+$GPRMC,091108.00,A,5200.56874,N,00422.82255,E,42.821,324.62,120308,,,D*5D
+$GPRMC,091109.00,A,5200.57841,N,00422.81126,E,43.272,324.32,120308,,,D*57
+$GPRMC,091110.00,A,5200.58814,N,00422.79981,E,43.708,324.19,120308,,,D*53
+$GPRMC,091111.00,A,5200.59802,N,00422.78828,E,44.083,324.50,120308,,,D*59
+$GPRMC,091112.00,A,5200.60793,N,00422.77675,E,44.161,324.40,120308,,,D*52
+$GPRMC,091113.00,A,5200.61783,N,00422.76520,E,43.975,324.43,120308,,,D*58
+$GPRMC,091114.00,A,5200.62770,N,00422.75375,E,43.663,324.56,120308,,,D*59
+$GPRMC,091115.00,A,5200.63752,N,00422.74233,E,43.427,324.26,120308,,,D*5E
+$GPRMC,091116.00,A,5200.64720,N,00422.73086,E,43.239,323.70,120308,,,D*59
+$GPRMC,091117.00,A,5200.65685,N,00422.71938,E,43.079,323.73,120308,,,D*5C
+$GPRMC,091118.00,A,5200.66644,N,00422.70801,E,42.823,324.03,120308,,,D*51
+$GPRMC,091119.00,A,5200.67599,N,00422.69675,E,42.535,324.26,120308,,,D*5A
+$GPRMC,091120.00,A,5200.68550,N,00422.68560,E,42.245,324.26,120308,,,D*5C
+$GPRMC,091121.00,A,5200.69497,N,00422.67450,E,41.992,323.94,120308,,,D*57
+$GPRMC,091122.00,A,5200.70435,N,00422.66341,E,41.768,323.94,120308,,,D*59
+$GPRMC,091123.00,A,5200.71375,N,00422.65244,E,41.731,324.46,120308,,,D*59
+$GPRMC,091124.00,A,5200.72328,N,00422.64138,E,42.707,324.36,120308,,,D*5D
+$GPRMC,091125.00,A,5200.73303,N,00422.62979,E,44.540,323.42,120308,,,D*5C
+$GPRMC,091126.00,A,5200.74313,N,00422.61751,E,46.338,322.91,120308,,,D*5A
+$GPRMC,091127.00,A,5200.75353,N,00422.60450,E,48.058,322.17,120308,,,D*58
+$GPRMC,091128.00,A,5200.76420,N,00422.59101,E,49.187,322.11,120308,,,D*58
+$GPRMC,091129.00,A,5200.77500,N,00422.57741,E,49.168,322.59,120308,,,D*5A
+$GPRMC,091130.00,A,5200.78587,N,00422.56413,E,48.829,323.97,120308,,,D*59
+$GPRMC,091131.00,A,5200.79681,N,00422.55124,E,48.431,324.35,120308,,,D*54
+$GPRMC,091132.00,A,5200.80765,N,00422.53853,E,47.925,324.29,120308,,,D*5F
+$GPRMC,091133.00,A,5200.81830,N,00422.52602,E,46.947,324.31,120308,,,D*57
+$GPRMC,091134.00,A,5200.82894,N,00422.51372,E,46.918,324.84,120308,,,D*58
+$GPRMC,091135.00,A,5200.83956,N,00422.50152,E,46.909,324.98,120308,,,D*5B
+$GPRMC,091136.00,A,5200.85012,N,00422.48928,E,46.763,324.31,120308,,,D*5A
+$GPRMC,091137.00,A,5200.86066,N,00422.47690,E,46.654,324.12,120308,,,D*5C
+$GPRMC,091138.00,A,5200.87111,N,00422.46451,E,46.660,323.88,120308,,,D*5E
+$GPRMC,091139.00,A,5200.88154,N,00422.45216,E,46.506,324.28,120308,,,D*59
+$GPRMC,091140.00,A,5200.89198,N,00422.43992,E,46.277,324.42,120308,,,D*5A
+$GPRMC,091141.00,A,5200.90238,N,00422.42782,E,45.895,324.53,120308,,,D*51
+$GPRMC,091142.00,A,5200.91272,N,00422.41577,E,45.729,324.03,120308,,,D*5B
+$GPRMC,091143.00,A,5200.92297,N,00422.40370,E,45.442,324.01,120308,,,D*5E
+$GPRMC,091144.00,A,5200.93313,N,00422.39169,E,45.243,323.90,120308,,,D*59
+$GPRMC,091145.00,A,5200.94329,N,00422.37972,E,45.256,324.21,120308,,,D*53
+$GPRMC,091146.00,A,5200.95347,N,00422.36777,E,45.322,324.06,120308,,,D*54
+$GPRMC,091147.00,A,5200.96360,N,00422.35580,E,45.008,323.88,120308,,,D*50
+$GPRMC,091148.00,A,5200.97378,N,00422.34379,E,45.328,324.60,120308,,,D*56
+$GPRMC,091149.00,A,5200.98404,N,00422.33201,E,45.078,325.02,120308,,,D*5E
+$GPRMC,091150.00,A,5200.99438,N,00422.32027,E,45.252,324.83,120308,,,D*5D
+$GPRMC,091151.00,A,5201.00468,N,00422.30847,E,44.987,324.36,120308,,,D*58
+$GPRMC,091152.00,A,5201.01507,N,00422.29658,E,45.407,324.67,120308,,,D*5A
+$GPRMC,091153.00,A,5201.02556,N,00422.28463,E,45.701,324.45,120308,,,D*52
+$GPRMC,091154.00,A,5201.03593,N,00422.27234,E,46.150,323.79,120308,,,D*5F
+$GPRMC,091155.00,A,5201.04645,N,00422.25997,E,46.726,323.98,120308,,,D*59
+$GPRMC,091156.00,A,5201.05694,N,00422.24752,E,47.131,324.30,120308,,,D*55
+$GPRMC,091157.00,A,5201.06766,N,00422.23515,E,47.454,324.73,120308,,,D*5C
+$GPRMC,091158.00,A,5201.07831,N,00422.22278,E,47.615,324.60,120308,,,D*57
+$GPRMC,091159.00,A,5201.08905,N,00422.21031,E,47.796,324.65,120308,,,D*5C
+$GPRMC,091200.00,A,5201.09970,N,00422.19763,E,48.457,324.26,120308,,,D*5D
+$GPRMC,091201.00,A,5201.11065,N,00422.18479,E,48.926,324.20,120308,,,D*5C
+$GPRMC,091202.00,A,5201.12154,N,00422.17183,E,49.389,324.18,120308,,,D*55
+$GPRMC,091203.00,A,5201.13272,N,00422.15879,E,50.187,324.59,120308,,,D*5D
+$GPRMC,091204.00,A,5201.14409,N,00422.14569,E,50.621,324.57,120308,,,D*5F
+$GPRMC,091205.00,A,5201.15565,N,00422.13252,E,50.765,324.63,120308,,,D*5A
+$GPRMC,091206.00,A,5201.16718,N,00422.11930,E,50.625,324.32,120308,,,D*5E
+$GPRMC,091207.00,A,5201.17855,N,00422.10607,E,50.620,324.25,120308,,,D*51
+$GPRMC,091208.00,A,5201.19004,N,00422.09285,E,50.498,324.39,120308,,,D*56
+$GPRMC,091209.00,A,5201.20159,N,00422.07972,E,50.424,324.52,120308,,,D*53
+$GPRMC,091210.00,A,5201.21290,N,00422.06648,E,50.258,324.22,120308,,,D*51
+$GPRMC,091211.00,A,5201.22415,N,00422.05325,E,50.370,324.28,120308,,,D*54
+$GPRMC,091212.00,A,5201.23558,N,00422.03997,E,50.373,324.41,120308,,,D*57
+$GPRMC,091213.00,A,5201.24697,N,00422.02673,E,50.313,324.35,120308,,,D*50
+$GPRMC,091214.00,A,5201.25833,N,00422.01349,E,50.209,324.27,120308,,,D*50
+$GPRMC,091215.00,A,5201.26961,N,00422.00026,E,50.253,324.13,120308,,,D*57
+$GPRMC,091216.00,A,5201.28089,N,00421.98701,E,50.262,324.08,120308,,,D*5D
+$GPRMC,091217.00,A,5201.29208,N,00421.97377,E,50.310,324.15,120308,,,D*54
+$GPRMC,091218.00,A,5201.30338,N,00421.96049,E,50.393,324.25,120308,,,D*56
+$GPRMC,091219.00,A,5201.31475,N,00421.94724,E,50.358,324.45,120308,,,D*57
+$GPRMC,091220.00,A,5201.32605,N,00421.93395,E,50.513,324.46,120308,,,D*58
+$GPRMC,091221.00,A,5201.33746,N,00421.92067,E,50.694,324.26,120308,,,D*5B
+$GPRMC,091222.00,A,5201.34894,N,00421.90740,E,51.007,324.22,120308,,,D*56
+$GPRMC,091223.00,A,5201.36051,N,00421.89406,E,51.165,324.24,120308,,,D*5E
+$GPRMC,091224.00,A,5201.37201,N,00421.88068,E,50.926,323.86,120308,,,D*53
+$GPRMC,091225.00,A,5201.38366,N,00421.86729,E,51.559,324.42,120308,,,D*5B
+$GPRMC,091226.00,A,5201.39529,N,00421.85381,E,51.553,324.26,120308,,,D*59
+$GPRMC,091227.00,A,5201.40687,N,00421.84023,E,51.472,324.28,120308,,,D*57
+$GPRMC,091228.00,A,5201.41844,N,00421.82667,E,51.270,324.24,120308,,,D*50
+$GPRMC,091229.00,A,5201.43008,N,00421.81311,E,51.414,324.31,120308,,,D*54
+$GPRMC,091230.00,A,5201.44169,N,00421.79955,E,51.388,324.08,120308,,,D*58
+$GPRMC,091231.00,A,5201.45330,N,00421.78594,E,51.530,323.89,120308,,,D*5D
+$GPRMC,091232.00,A,5201.46482,N,00421.77228,E,51.452,323.74,120308,,,D*5B
+$GPRMC,091233.00,A,5201.47647,N,00421.75858,E,51.825,324.18,120308,,,D*5E
+$GPRMC,091234.00,A,5201.48830,N,00421.74505,E,51.866,324.51,120308,,,D*56
+$GPRMC,091235.00,A,5201.50006,N,00421.73148,E,51.850,324.19,120308,,,D*50
+$GPRMC,091236.00,A,5201.51179,N,00421.71785,E,51.807,324.20,120308,,,D*56
+$GPRMC,091237.00,A,5201.52347,N,00421.70425,E,51.809,324.17,120308,,,D*59
+$GPRMC,091238.00,A,5201.53523,N,00421.69056,E,52.001,324.43,120308,,,D*59
+$GPRMC,091239.00,A,5201.54703,N,00421.67691,E,52.172,324.54,120308,,,D*5F
+$GPRMC,091240.00,A,5201.55881,N,00421.66324,E,52.036,324.30,120308,,,D*5C
+$GPRMC,091241.00,A,5201.57053,N,00421.64961,E,51.931,324.58,120308,,,D*52
+$GPRMC,091242.00,A,5201.58145,N,00421.63595,E,48.398,320.33,120308,,,D*50
+$GPRMC,091243.00,A,5201.59229,N,00421.62277,E,48.446,323.05,120308,,,D*51
+$GPRMC,091244.00,A,5201.60430,N,00421.60950,E,51.750,325.52,120308,,,D*56
+$GPRMC,091245.00,A,5201.61653,N,00421.59622,E,51.827,325.74,120308,,,D*5A
+$GPRMC,091246.00,A,5201.62843,N,00421.58311,E,51.655,325.80,120308,,,D*51
+$GPRMC,091247.00,A,5201.64030,N,00421.57007,E,51.644,325.85,120308,,,D*54
+$GPRMC,091248.00,A,5201.65215,N,00421.55676,E,51.243,325.31,120308,,,D*51
+$GPRMC,091249.00,A,5201.66398,N,00421.54353,E,51.288,325.03,120308,,,D*52
+$GPRMC,091250.00,A,5201.67559,N,00421.53044,E,51.082,325.19,120308,,,D*51
+$GPRMC,091251.00,A,5201.68720,N,00421.51746,E,50.639,325.05,120308,,,D*5E
+$GPRMC,091252.00,A,5201.69873,N,00421.50453,E,50.539,325.07,120308,,,D*52
+$GPRMC,091253.00,A,5201.71046,N,00421.49139,E,49.827,324.12,120308,,,D*5A
+$GPRMC,091254.00,A,5201.72173,N,00421.47820,E,50.838,324.30,120308,,,D*50
+$GPRMC,091255.00,A,5201.73316,N,00421.46479,E,50.676,323.85,120308,,,D*5D
+$GPRMC,091256.00,A,5201.74445,N,00421.45148,E,50.281,323.85,120308,,,D*50
+$GPRMC,091257.00,A,5201.75583,N,00421.43811,E,50.008,323.76,120308,,,D*57
+$GPRMC,091258.00,A,5201.76711,N,00421.42483,E,49.714,324.04,120308,,,D*54
+$GPRMC,091259.00,A,5201.77836,N,00421.41175,E,49.701,324.51,120308,,,D*55
+$GPRMC,091300.00,A,5201.78981,N,00421.39865,E,50.156,324.52,120308,,,D*52
+$GPRMC,091301.00,A,5201.80125,N,00421.38546,E,50.881,324.60,120308,,,D*5D
+$GPRMC,091302.00,A,5201.81312,N,00421.37187,E,52.383,324.42,120308,,,D*54
+$GPRMC,091303.00,A,5201.82466,N,00421.35847,E,50.639,324.02,120308,,,D*57
+$GPRMC,091304.00,A,5201.83649,N,00421.34557,E,50.908,325.84,120308,,,D*51
+$GPRMC,091305.00,A,5201.84822,N,00421.33286,E,50.849,326.48,120308,,,D*5F
+$GPRMC,091306.00,A,5201.86009,N,00421.32053,E,50.607,327.37,120308,,,D*59
+$GPRMC,091307.00,A,5201.87219,N,00421.30850,E,50.784,328.81,120308,,,D*5B
+$GPRMC,091308.00,A,5201.88464,N,00421.29698,E,50.632,330.33,120308,,,D*59
+$GPRMC,091309.00,A,5201.89770,N,00421.28578,E,50.593,332.21,120308,,,D*5A
+$GPRMC,091310.00,A,5201.91027,N,00421.27534,E,50.397,333.06,120308,,,D*5F
+$GPRMC,091311.00,A,5201.92412,N,00421.26532,E,50.453,335.16,120308,,,D*50
+$GPRMC,091312.00,A,5201.93696,N,00421.25622,E,50.208,336.50,120308,,,D*54
+$GPRMC,091313.00,A,5201.94963,N,00421.24743,E,50.141,337.73,120308,,,D*5E
+$GPRMC,091314.00,A,5201.96238,N,00421.23928,E,50.144,339.38,120308,,,D*5E
+$GPRMC,091315.00,A,5201.97535,N,00421.23187,E,50.182,341.28,120308,,,D*5D
+$GPRMC,091316.00,A,5201.98853,N,00421.22498,E,50.402,342.71,120308,,,D*54
+$GPRMC,091317.00,A,5202.00177,N,00421.21854,E,50.774,343.94,120308,,,D*5F
+$GPRMC,091318.00,A,5202.01525,N,00421.21270,E,50.907,345.77,120308,,,D*5F
+$GPRMC,091319.00,A,5202.02887,N,00421.20748,E,50.872,347.52,120308,,,D*51
+$GPRMC,091320.00,A,5202.04257,N,00421.20286,E,50.859,348.39,120308,,,D*56
+$GPRMC,091321.00,A,5202.05633,N,00421.19858,E,51.309,349.33,120308,,,D*57
+$GPRMC,091322.00,A,5202.07045,N,00421.19451,E,53.082,349.80,120308,,,D*5E
+$GPRMC,091323.00,A,5202.08509,N,00421.19027,E,55.171,349.22,120308,,,D*5B
+$GPRMC,091324.00,A,5202.10028,N,00421.18555,E,56.853,348.63,120308,,,D*5C
+$GPRMC,091325.00,A,5202.11594,N,00421.18048,E,58.878,348.29,120308,,,D*5E
+$GPRMC,091326.00,A,5202.13216,N,00421.17514,E,60.577,348.52,120308,,,D*54
+$GPRMC,091327.00,A,5202.14882,N,00421.16983,E,61.701,348.94,120308,,,D*5E
+$GPRMC,091328.00,A,5202.16583,N,00421.16465,E,63.034,349.46,120308,,,D*57
+$GPRMC,091329.00,A,5202.18311,N,00421.15972,E,63.370,350.13,120308,,,D*56
+$GPRMC,091330.00,A,5202.20031,N,00421.15515,E,62.137,350.56,120308,,,D*58
+$GPRMC,091331.00,A,5202.21709,N,00421.15076,E,60.716,350.70,120308,,,D*57
+$GPRMC,091332.00,A,5202.23344,N,00421.14684,E,59.293,352.09,120308,,,D*5F
+$GPRMC,091333.00,A,5202.24958,N,00421.14363,E,58.294,353.47,120308,,,D*5F
+$GPRMC,091334.00,A,5202.26553,N,00421.14112,E,57.589,354.95,120308,,,D*55
+$GPRMC,091335.00,A,5202.28134,N,00421.13935,E,57.008,356.54,120308,,,D*56
+$GPRMC,091336.00,A,5202.29702,N,00421.13830,E,56.422,357.93,120308,,,D*54
+$GPRMC,091337.00,A,5202.31276,N,00421.13782,E,57.109,359.16,120308,,,D*52
+$GPRMC,091338.00,A,5202.32877,N,00421.13780,E,58.282,359.95,120308,,,D*53
+$GPRMC,091339.00,A,5202.34509,N,00421.13795,E,59.045,0.07,120308,,,D*58
+$GPRMC,091340.00,A,5202.36152,N,00421.13807,E,58.774,359.77,120308,,,D*56
+$GPRMC,091341.00,A,5202.37797,N,00421.13810,E,59.324,360.00,120308,,,D*55
+$GPRMC,091342.00,A,5202.39386,N,00421.13841,E,57.803,0.44,120308,,,D*5D
+$GPRMC,091343.00,A,5202.40941,N,00421.13842,E,56.238,359.86,120308,,,D*52
+$GPRMC,091344.00,A,5202.42494,N,00421.13832,E,55.055,359.66,120308,,,D*51
+$GPRMC,091345.00,A,5202.44022,N,00421.13855,E,53.874,0.46,120308,,,D*5E
+$GPRMC,091346.00,A,5202.45502,N,00421.13909,E,52.813,1.29,120308,,,D*5B
+$GPRMC,091347.00,A,5202.46977,N,00421.13998,E,52.980,2.18,120308,,,D*55
+$GPRMC,091348.00,A,5202.48425,N,00421.14176,E,51.915,4.71,120308,,,D*57
+$GPRMC,091349.00,A,5202.49858,N,00421.14442,E,51.360,7.14,120308,,,D*5B
+$GPRMC,091350.00,A,5202.51295,N,00421.14800,E,51.035,9.38,120308,,,D*58
+$GPRMC,091351.00,A,5202.52707,N,00421.15228,E,51.325,11.54,120308,,,D*64
+$GPRMC,091352.00,A,5202.54109,N,00421.15762,E,51.169,13.72,120308,,,D*6E
+$GPRMC,091353.00,A,5202.55487,N,00421.16380,E,50.580,15.93,120308,,,D*6D
+$GPRMC,091354.00,A,5202.56821,N,00421.17092,E,50.208,18.04,120308,,,D*6C
+$GPRMC,091355.00,A,5202.58130,N,00421.17868,E,49.817,20.01,120308,,,D*65
+$GPRMC,091356.00,A,5202.59413,N,00421.18697,E,49.516,22.09,120308,,,D*64
+$GPRMC,091357.00,A,5202.60673,N,00421.19593,E,49.221,24.27,120308,,,D*64
+$GPRMC,091358.00,A,5202.61918,N,00421.20535,E,49.059,25.86,120308,,,D*69
+$GPRMC,091359.00,A,5202.63144,N,00421.21551,E,49.401,28.04,120308,,,D*66
+$GPRMC,091400.00,A,5202.64342,N,00421.22649,E,49.581,30.65,120308,,,D*60
+$GPRMC,091401.00,A,5202.65518,N,00421.23833,E,49.963,32.69,120308,,,D*65
+$GPRMC,091402.00,A,5202.66674,N,00421.25097,E,50.390,34.73,120308,,,D*6F
+$GPRMC,091403.00,A,5202.67812,N,00421.26422,E,50.457,36.11,120308,,,D*62
+$GPRMC,091404.00,A,5202.68919,N,00421.27820,E,50.427,37.70,120308,,,D*6E
+$GPRMC,091405.00,A,5202.70011,N,00421.29257,E,50.293,38.88,120308,,,D*62
+$GPRMC,091406.00,A,5202.71091,N,00421.30710,E,50.414,39.80,120308,,,D*66
+$GPRMC,091407.00,A,5202.72165,N,00421.32190,E,50.490,40.20,120308,,,D*6A
+$GPRMC,091408.00,A,5202.73234,N,00421.33685,E,50.633,40.32,120308,,,D*69
+$GPRMC,091409.00,A,5202.74305,N,00421.35183,E,50.735,40.49,120308,,,D*60
+$GPRMC,091410.00,A,5202.75376,N,00421.36688,E,50.810,40.51,120308,,,D*63
+$GPRMC,091411.00,A,5202.76452,N,00421.38192,E,51.008,40.42,120308,,,D*60
+$GPRMC,091412.00,A,5202.77535,N,00421.39697,E,51.050,40.28,120308,,,D*60
+$GPRMC,091413.00,A,5202.78621,N,00421.41202,E,51.047,40.25,120308,,,D*64
+$GPRMC,091414.00,A,5202.79699,N,00421.42712,E,51.019,40.24,120308,,,D*6C
+$GPRMC,091415.00,A,5202.80778,N,00421.44214,E,51.016,40.22,120308,,,D*69
+$GPRMC,091416.00,A,5202.81856,N,00421.45714,E,51.038,40.22,120308,,,D*60
+$GPRMC,091417.00,A,5202.82932,N,00421.47207,E,50.942,40.31,120308,,,D*63
+$GPRMC,091418.00,A,5202.83999,N,00421.48704,E,50.719,40.32,120308,,,D*66
+$GPRMC,091419.00,A,5202.85062,N,00421.50185,E,50.495,40.36,120308,,,D*69
+$GPRMC,091420.00,A,5202.86121,N,00421.51656,E,50.231,40.31,120308,,,D*61
+$GPRMC,091421.00,A,5202.87170,N,00421.53119,E,49.966,40.26,120308,,,D*6C
+$GPRMC,091422.00,A,5202.88215,N,00421.54569,E,49.559,40.31,120308,,,D*62
+$GPRMC,091423.00,A,5202.89245,N,00421.56012,E,49.007,40.56,120308,,,D*63
+$GPRMC,091424.00,A,5202.90265,N,00421.57445,E,48.687,40.50,120308,,,D*60
+$GPRMC,091425.00,A,5202.91283,N,00421.58863,E,48.263,40.29,120308,,,D*6F
+$GPRMC,091426.00,A,5202.92294,N,00421.60264,E,47.814,40.22,120308,,,D*61
+$GPRMC,091427.00,A,5202.93296,N,00421.61649,E,47.377,40.19,120308,,,D*6F
+$GPRMC,091428.00,A,5202.94291,N,00421.63021,E,46.933,40.22,120308,,,D*69
+$GPRMC,091429.00,A,5202.95276,N,00421.64381,E,46.536,40.34,120308,,,D*60
+$GPRMC,091430.00,A,5202.96256,N,00421.65734,E,46.459,40.42,120308,,,D*6B
+$GPRMC,091431.00,A,5202.97234,N,00421.67092,E,46.570,40.41,120308,,,D*6F
+$GPRMC,091432.00,A,5202.98210,N,00421.68461,E,46.611,40.58,120308,,,D*6E
+$GPRMC,091433.00,A,5202.99189,N,00421.69830,E,46.670,40.59,120308,,,D*62
+$GPRMC,091434.00,A,5203.00171,N,00421.71190,E,46.518,40.33,120308,,,D*68
+$GPRMC,091435.00,A,5203.01146,N,00421.72533,E,45.963,40.31,120308,,,D*63
+$GPRMC,091436.00,A,5203.02112,N,00421.73864,E,45.556,40.42,120308,,,D*62
+$GPRMC,091437.00,A,5203.03065,N,00421.75186,E,45.076,40.64,120308,,,D*63
+$GPRMC,091438.00,A,5203.03998,N,00421.76506,E,44.530,41.15,120308,,,D*69
+$GPRMC,091439.00,A,5203.04914,N,00421.77822,E,43.998,41.60,120308,,,D*6A
+$GPRMC,091440.00,A,5203.05813,N,00421.79130,E,43.508,41.95,120308,,,D*68
+$GPRMC,091441.00,A,5203.06699,N,00421.80440,E,43.266,42.24,120308,,,D*64
+$GPRMC,091442.00,A,5203.07577,N,00421.81764,E,43.499,42.74,120308,,,D*62
+$GPRMC,091443.00,A,5203.08454,N,00421.83107,E,43.817,43.62,120308,,,D*61
+$GPRMC,091444.00,A,5203.09325,N,00421.84481,E,43.838,44.55,120308,,,D*64
+$GPRMC,091445.00,A,5203.10187,N,00421.85875,E,43.825,45.09,120308,,,D*65
+$GPRMC,091446.00,A,5203.11040,N,00421.87283,E,43.673,45.37,120308,,,D*6C
+$GPRMC,091447.00,A,5203.11884,N,00421.88697,E,43.714,45.77,120308,,,D*67
+$GPRMC,091448.00,A,5203.12725,N,00421.90133,E,44.061,46.03,120308,,,D*6D
+$GPRMC,091449.00,A,5203.13570,N,00421.91583,E,44.473,46.08,120308,,,D*6D
+$GPRMC,091450.00,A,5203.14431,N,00421.93031,E,44.824,45.33,120308,,,D*6D
+$GPRMC,091451.00,A,5203.15314,N,00421.94449,E,44.813,43.75,120308,,,D*61
+$GPRMC,091452.00,A,5203.16224,N,00421.95836,E,45.133,42.24,120308,,,D*69
+$GPRMC,091453.00,A,5203.17170,N,00421.97184,E,45.703,40.21,120308,,,D*6B
+$GPRMC,091454.00,A,5203.18154,N,00421.98475,E,45.727,37.88,120308,,,D*64
+$GPRMC,091455.00,A,5203.19169,N,00421.99699,E,45.608,35.64,120308,,,D*67
+$GPRMC,091456.00,A,5203.20213,N,00422.00852,E,45.580,33.24,120308,,,D*6B
+$GPRMC,091457.00,A,5203.21287,N,00422.01935,E,45.759,31.03,120308,,,D*66
+$GPRMC,091458.00,A,5203.22392,N,00422.02962,E,46.082,29.11,120308,,,D*66
+$GPRMC,091459.00,A,5203.23523,N,00422.03933,E,46.208,27.47,120308,,,D*62
+$GPRMC,091500.00,A,5203.24680,N,00422.04853,E,46.641,25.69,120308,,,D*65
+$GPRMC,091501.00,A,5203.25857,N,00422.05748,E,47.186,25.48,120308,,,D*6B
+$GPRMC,091502.00,A,5203.27039,N,00422.06657,E,46.916,25.85,120308,,,D*67
+$GPRMC,091503.00,A,5203.28208,N,00422.07569,E,46.570,26.08,120308,,,D*6C
+$GPRMC,091504.00,A,5203.29367,N,00422.08484,E,46.273,26.35,120308,,,D*65
+$GPRMC,091505.00,A,5203.30515,N,00422.09407,E,46.076,26.84,120308,,,D*68
+$GPRMC,091506.00,A,5203.31653,N,00422.10352,E,46.000,27.71,120308,,,D*6E
+$GPRMC,091507.00,A,5203.32782,N,00422.11314,E,45.840,28.50,120308,,,D*61
+$GPRMC,091508.00,A,5203.33892,N,00422.12299,E,45.356,29.40,120308,,,D*6A
+$GPRMC,091509.00,A,5203.34980,N,00422.13299,E,44.771,30.22,120308,,,D*63
+$GPRMC,091510.00,A,5203.36046,N,00422.14313,E,44.231,30.86,120308,,,D*61
+$GPRMC,091511.00,A,5203.37094,N,00422.15324,E,43.667,31.12,120308,,,D*67
+$GPRMC,091512.00,A,5203.38127,N,00422.16333,E,43.240,31.43,120308,,,D*62
+$GPRMC,091513.00,A,5203.39147,N,00422.17346,E,42.919,31.82,120308,,,D*6C
+$GPRMC,091514.00,A,5203.40159,N,00422.18359,E,42.784,32.08,120308,,,D*60
+$GPRMC,091515.00,A,5203.41164,N,00422.19378,E,42.631,32.40,120308,,,D*6F
+$GPRMC,091516.00,A,5203.42164,N,00422.20404,E,42.664,32.47,120308,,,D*6E
+$GPRMC,091517.00,A,5203.43166,N,00422.21430,E,42.917,32.81,120308,,,D*6B
+$GPRMC,091518.00,A,5203.44179,N,00422.22479,E,43.447,32.87,120308,,,D*6C
+$GPRMC,091519.00,A,5203.45198,N,00422.23552,E,43.938,33.27,120308,,,D*64
+$GPRMC,091520.00,A,5203.46219,N,00422.24644,E,44.404,33.68,120308,,,D*6A
+$GPRMC,091521.00,A,5203.47244,N,00422.25758,E,44.518,34.26,120308,,,D*6E
+$GPRMC,091522.00,A,5203.48265,N,00422.26893,E,44.627,34.66,120308,,,D*61
+$GPRMC,091523.00,A,5203.49284,N,00422.28042,E,44.767,34.85,120308,,,D*6C
+$GPRMC,091524.00,A,5203.50310,N,00422.29204,E,45.325,34.88,120308,,,D*60
+$GPRMC,091525.00,A,5203.51359,N,00422.30395,E,46.673,35.20,120308,,,D*6A
+$GPRMC,091526.00,A,5203.52441,N,00422.31628,E,48.291,35.21,120308,,,D*61
+$GPRMC,091527.00,A,5203.53561,N,00422.32905,E,49.943,35.46,120308,,,D*65
+$GPRMC,091528.00,A,5203.54712,N,00422.34235,E,51.366,35.59,120308,,,D*6F
+$GPRMC,091529.00,A,5203.55882,N,00422.35595,E,51.825,35.77,120308,,,D*65
+$GPRMC,091530.00,A,5203.57048,N,00422.36956,E,51.306,35.78,120308,,,D*64
+$GPRMC,091531.00,A,5203.58198,N,00422.38298,E,50.573,35.82,120308,,,D*61
+$GPRMC,091532.00,A,5203.59332,N,00422.39622,E,49.874,35.41,120308,,,D*68
+$GPRMC,091533.00,A,5203.60456,N,00422.40912,E,49.330,35.11,120308,,,D*6A
+$GPRMC,091534.00,A,5203.61576,N,00422.42185,E,49.092,35.02,120308,,,D*62
+$GPRMC,091535.00,A,5203.62692,N,00422.43462,E,49.196,35.39,120308,,,D*69
+$GPRMC,091536.00,A,5203.63807,N,00422.44744,E,49.291,35.36,120308,,,D*62
+$GPRMC,091537.00,A,5203.64925,N,00422.46030,E,49.293,35.33,120308,,,D*64
+$GPRMC,091538.00,A,5203.66041,N,00422.47319,E,49.178,35.43,120308,,,D*6A
+$GPRMC,091539.00,A,5203.67155,N,00422.48609,E,49.388,35.66,120308,,,D*6F
+$GPRMC,091540.00,A,5203.68278,N,00422.49909,E,49.946,35.59,120308,,,D*68
+$GPRMC,091541.00,A,5203.69406,N,00422.51190,E,50.153,36.05,120308,,,D*68
+$GPRMC,091542.00,A,5203.70530,N,00422.52563,E,50.283,36.03,120308,,,D*64
+$GPRMC,091543.00,A,5203.71669,N,00422.53897,E,50.646,34.79,120308,,,D*6E
+$GPRMC,091544.00,A,5203.72821,N,00422.55217,E,50.830,35.08,120308,,,D*64
+$GPRMC,091545.00,A,5203.74018,N,00422.56524,E,51.102,35.00,120308,,,D*64
+$GPRMC,091546.00,A,5203.75217,N,00422.57946,E,51.266,35.73,120308,,,D*67
+$GPRMC,091547.00,A,5203.76339,N,00422.59229,E,51.704,34.92,120308,,,D*6B
+$GPRMC,091548.00,A,5203.77523,N,00422.60591,E,51.932,35.33,120308,,,D*67
+$GPRMC,091549.00,A,5203.78713,N,00422.61946,E,52.147,35.36,120308,,,D*63
+$GPRMC,091550.00,A,5203.79902,N,00422.63317,E,52.311,35.48,120308,,,D*60
+$GPRMC,091551.00,A,5203.81083,N,00422.64701,E,52.437,35.51,120308,,,D*69
+$GPRMC,091552.00,A,5203.82268,N,00422.66049,E,52.418,35.62,120308,,,D*6A
+$GPRMC,091553.00,A,5203.83450,N,00422.67414,E,52.202,35.75,120308,,,D*61
+$GPRMC,091554.00,A,5203.84626,N,00422.68769,E,52.209,35.74,120308,,,D*6E
+$GPRMC,091555.00,A,5203.85797,N,00422.70127,E,52.018,35.81,120308,,,D*68
+$GPRMC,091556.00,A,5203.86970,N,00422.71495,E,51.907,35.82,120308,,,D*65
+$GPRMC,091557.00,A,5203.88120,N,00422.72874,E,51.918,35.43,120308,,,D*64
+$GPRMC,091558.00,A,5203.89295,N,00422.74222,E,51.734,35.71,120308,,,D*69
+$GPRMC,091559.00,A,5203.90463,N,00422.75583,E,51.811,36.25,120308,,,D*68
+$GPRMC,091600.00,A,5203.91623,N,00422.76974,E,51.984,36.86,120308,,,D*63
+$GPRMC,091601.00,A,5203.92771,N,00422.78393,E,51.933,37.79,120308,,,D*67
+$GPRMC,091602.00,A,5203.93898,N,00422.79838,E,51.696,38.20,120308,,,D*65
+$GPRMC,091603.00,A,5203.95025,N,00422.81275,E,51.474,38.35,120308,,,D*62
+$GPRMC,091604.00,A,5203.96118,N,00422.82745,E,51.239,38.79,120308,,,D*6B
+$GPRMC,091605.00,A,5203.97207,N,00422.84202,E,50.960,39.99,120308,,,D*6F
+$GPRMC,091606.00,A,5203.98287,N,00422.85688,E,51.041,40.98,120308,,,D*68
+$GPRMC,091607.00,A,5203.99354,N,00422.87215,E,51.306,41.90,120308,,,D*6C
+$GPRMC,091608.00,A,5204.00414,N,00422.88789,E,51.732,42.83,120308,,,D*6A
+$GPRMC,091609.00,A,5204.01464,N,00422.90403,E,51.945,43.80,120308,,,D*69
+$GPRMC,091610.00,A,5204.02496,N,00422.92057,E,51.991,44.89,120308,,,D*6F
+$GPRMC,091611.00,A,5204.03513,N,00422.93737,E,52.111,45.31,120308,,,D*62
+$GPRMC,091612.00,A,5204.04509,N,00422.95431,E,51.851,46.14,120308,,,D*64
+$GPRMC,091613.00,A,5204.05495,N,00422.97136,E,51.728,46.72,120308,,,D*61
+$GPRMC,091614.00,A,5204.06480,N,00422.98843,E,51.674,46.56,120308,,,D*6B
+$GPRMC,091615.00,A,5204.07462,N,00423.00547,E,51.668,47.25,120308,,,D*66
+$GPRMC,091616.00,A,5204.08442,N,00423.02242,E,51.374,46.37,120308,,,D*62
+$GPRMC,091617.00,A,5204.09426,N,00423.03928,E,51.069,46.17,120308,,,D*6B
+$GPRMC,091618.00,A,5204.10413,N,00423.05604,E,51.144,46.20,120308,,,D*67
+$GPRMC,091619.00,A,5204.11393,N,00423.07278,E,50.743,46.41,120308,,,D*62
+$GPRMC,091620.00,A,5204.12350,N,00423.08935,E,49.923,47.15,120308,,,D*69
+$GPRMC,091621.00,A,5204.13255,N,00423.10602,E,49.054,48.49,120308,,,D*60
+$GPRMC,091622.00,A,5204.14131,N,00423.12279,E,48.215,49.42,120308,,,D*63
+$GPRMC,091623.00,A,5204.14980,N,00423.13940,E,47.187,49.82,120308,,,D*6B
+$GPRMC,091624.00,A,5204.15808,N,00423.15579,E,46.545,49.91,120308,,,D*65
+$GPRMC,091625.00,A,5204.16618,N,00423.17178,E,44.946,49.98,120308,,,D*6B
+$GPRMC,091626.00,A,5204.17399,N,00423.18735,E,44.343,50.35,120308,,,D*65
+$GPRMC,091627.00,A,5204.18171,N,00423.20258,E,42.935,50.65,120308,,,D*62
+$GPRMC,091628.00,A,5204.18935,N,00423.21800,E,43.694,51.33,120308,,,D*64
+$GPRMC,091629.00,A,5204.19710,N,00423.23414,E,45.807,52.63,120308,,,D*62
+$GPRMC,091630.00,A,5204.20491,N,00423.25135,E,47.957,54.26,120308,,,D*6B
+$GPRMC,091631.00,A,5204.21277,N,00423.26942,E,49.220,55.09,120308,,,A*62
+$GPRMC,091632.00,A,5204.22079,N,00423.28792,E,50.099,54.51,120308,,,A*67
+$GPRMC,091633.00,A,5204.22901,N,00423.30661,E,50.837,54.27,120308,,,A*69
+$GPRMC,091634.00,A,5204.23730,N,00423.32546,E,51.345,54.76,120308,,,A*6C
+$GPRMC,091635.00,A,5204.24563,N,00423.34457,E,51.805,54.85,120308,,,A*6A
+$GPRMC,091636.00,A,5204.25395,N,00423.36396,E,52.508,55.48,120308,,,A*6C
+$GPRMC,091637.00,A,5204.26225,N,00423.38364,E,52.837,55.62,120308,,,A*6E
+$GPRMC,091638.00,A,5204.27059,N,00423.40316,E,52.078,54.97,120308,,,A*6B
+$GPRMC,091639.00,A,5204.27863,N,00423.42253,E,51.514,56.18,120308,,,A*60
+$GPRMC,091640.00,A,5204.28668,N,00423.44166,E,51.375,55.33,120308,,,A*6C
+$GPRMC,091641.00,A,5204.29531,N,00423.46249,E,53.116,56.59,120308,,,A*65
+$GPRMC,091642.00,A,5204.30346,N,00423.48294,E,52.858,56.62,120308,,,A*6C
+$GPRMC,091643.00,A,5204.31175,N,00423.50291,E,52.475,56.41,120308,,,A*60
+$GPRMC,091644.00,A,5204.31964,N,00423.52298,E,51.392,56.69,120308,,,A*63
+$GPRMC,091645.00,A,5204.32731,N,00423.54254,E,50.082,56.62,120308,,,A*61
+$GPRMC,091646.00,A,5204.33474,N,00423.56126,E,48.850,56.70,120308,,,A*68
+$GPRMC,091647.00,A,5204.34200,N,00423.57950,E,47.660,57.03,120308,,,A*64
+$GPRMC,091648.00,A,5204.34904,N,00423.59737,E,46.682,57.29,120308,,,A*60
+$GPRMC,091649.00,A,5204.35590,N,00423.61510,E,45.914,57.64,120308,,,A*67
+$GPRMC,091650.00,A,5204.36254,N,00423.63257,E,45.212,58.27,120308,,,A*60
+$GPRMC,091651.00,A,5204.36902,N,00423.64989,E,44.726,58.85,120308,,,A*6D
+$GPRMC,091652.00,A,5204.37538,N,00423.66718,E,44.419,59.31,120308,,,A*6F
+$GPRMC,091653.00,A,5204.38151,N,00423.68425,E,43.778,59.57,120308,,,A*6A
+$GPRMC,091654.00,A,5204.38747,N,00423.70084,E,42.879,59.71,120308,,,A*61
+$GPRMC,091655.00,A,5204.39328,N,00423.71721,E,41.996,60.19,120308,,,A*62
+$GPRMC,091656.00,A,5204.39893,N,00423.73337,E,40.754,60.55,120308,,,A*62
+$GPRMC,091657.00,A,5204.40443,N,00423.74909,E,40.101,60.38,120308,,,A*61
+$GPRMC,091658.00,A,5204.40959,N,00423.76390,E,37.513,60.61,120308,,,A*6B
+$GPRMC,091659.00,A,5204.41354,N,00423.77757,E,34.509,61.39,120308,,,A*66
+$GPRMC,091700.00,A,5204.41768,N,00423.79039,E,32.011,62.00,120308,,,A*62
+$GPRMC,091701.00,A,5204.42148,N,00423.80231,E,28.968,62.95,120308,,,A*68
+$GPRMC,091702.00,A,5204.42474,N,00423.81269,E,26.168,63.94,120308,,,A*6B
+$GPRMC,091703.00,A,5204.42744,N,00423.82263,E,24.579,67.16,120308,,,A*6B
+$GPRMC,091704.00,A,5204.42942,N,00423.83258,E,24.238,75.06,120308,,,A*6D
+$GPRMC,091705.00,A,5204.43038,N,00423.84353,E,25.435,86.32,120308,,,A*65
+$GPRMC,091706.00,A,5204.42956,N,00423.85510,E,26.677,101.56,120308,,,A*5D
+$GPRMC,091707.00,A,5204.42673,N,00423.86594,E,27.951,117.78,120308,,,A*5A
+$GPRMC,091708.00,A,5204.42194,N,00423.87572,E,28.277,132.71,120308,,,A*5C
+$GPRMC,091709.00,A,5204.41546,N,00423.88339,E,29.548,148.30,120308,,,A*51
+$GPRMC,091710.00,A,5204.40761,N,00423.88811,E,30.956,165.28,120308,,,A*53
+$GPRMC,091711.00,A,5204.39877,N,00423.88924,E,31.948,183.01,120308,,,A*5E
+$GPRMC,091712.00,A,5204.39005,N,00423.88533,E,32.169,201.70,120308,,,A*5D
+$GPRMC,091713.00,A,5204.38233,N,00423.87766,E,32.410,218.26,120308,,,A*57
+$GPRMC,091714.00,A,5204.37563,N,00423.86689,E,33.076,226.37,120308,,,A*54
+$GPRMC,091715.00,A,5204.36959,N,00423.85561,E,31.102,227.96,120308,,,A*5D
+$GPRMC,091716.00,A,5204.36427,N,00423.84538,E,26.596,228.55,120308,,,A*58
+$GPRMC,091717.00,A,5204.36029,N,00423.83688,E,20.789,237.10,120308,,,A*59
+$GPRMC,091718.00,A,5204.35864,N,00423.82866,E,18.132,263.18,120308,,,A*5F
+$GPRMC,091719.00,A,5204.35980,N,00423.82129,E,18.105,292.10,120308,,,A*55
+$GPRMC,091720.00,A,5204.36303,N,00423.81416,E,20.874,312.62,120308,,,A*5F
+$GPRMC,091721.00,A,5204.36748,N,00423.80651,E,24.431,315.25,120308,,,A*58
+$GPRMC,091722.00,A,5204.37256,N,00423.79793,E,27.055,314.94,120308,,,A*57
+$GPRMC,091723.00,A,5204.37798,N,00423.78857,E,28.227,315.18,120308,,,A*5A
+$GPRMC,091724.00,A,5204.38379,N,00423.77882,E,30.395,315.79,120308,,,A*58
+$GPRMC,091725.00,A,5204.39015,N,00423.76864,E,32.438,316.78,120308,,,A*58
+$GPRMC,091726.00,A,5204.39703,N,00423.75825,E,34.525,317.62,120308,,,A*5C
+$GPRMC,091727.00,A,5204.40426,N,00423.74752,E,34.964,318.12,120308,,,A*58
+$GPRMC,091728.00,A,5204.41169,N,00423.73664,E,36.185,318.28,120308,,,A*57
+$GPRMC,091729.00,A,5204.41932,N,00423.72519,E,37.372,317.41,120308,,,A*53
+$GPRMC,091730.00,A,5204.42693,N,00423.71323,E,37.948,315.51,120308,,,A*50
+$GPRMC,091731.00,A,5204.43453,N,00423.70074,E,38.851,314.84,120308,,,A*51
+$GPRMC,091732.00,A,5204.44215,N,00423.68811,E,38.356,314.91,120308,,,A*5B
+$GPRMC,091733.00,A,5204.44965,N,00423.67599,E,36.764,315.95,120308,,,A*5A
+$GPRMC,091734.00,A,5204.45641,N,00423.66471,E,32.438,313.99,120308,,,A*57
+$GPRMC,091735.00,A,5204.46219,N,00423.65497,E,27.277,314.67,120308,,,A*58
+$GPRMC,091736.00,A,5204.46706,N,00423.64718,E,22.002,316.53,120308,,,A*55
+$GPRMC,091737.00,A,5204.47089,N,00423.64123,E,16.645,317.73,120308,,,A*5A
+$GPRMC,091738.00,A,5204.47370,N,00423.63712,E,11.170,318.59,120308,,,A*52
+$GPRMC,091739.00,A,5204.47538,N,00423.63470,E,5.471,318.94,120308,,,A*6E
+$GPRMC,091740.00,A,5204.47599,N,00423.63390,E,1.287,318.89,120308,,,A*65
+$GPRMC,091741.00,A,5204.47612,N,00423.63381,E,0.674,318.78,120308,,,A*63
+$GPRMC,091742.00,A,5204.47614,N,00423.63383,E,0.228,318.37,120308,,,A*62
+$GPRMC,091743.00,A,5204.47609,N,00423.63390,E,0.035,321.17,120308,,,A*6B
+$GPRMC,091744.00,A,5204.47606,N,00423.63402,E,0.016,,120308,,,A*76
+$GPRMC,091745.00,A,5204.47605,N,00423.63416,E,0.010,,120308,,,A*77
+$GPRMC,091746.00,A,5204.47606,N,00423.63425,E,0.027,323.64,120308,,,A*6D
+$GPRMC,091747.00,A,5204.47610,N,00423.63435,E,0.033,321.47,120308,,,A*6C
+$GPRMC,091748.00,A,5204.47611,N,00423.63438,E,0.271,321.76,120308,,,A*69
+$GPRMC,091749.00,A,5204.47658,N,00423.63373,E,4.369,318.67,120308,,,A*6B
+$GPRMC,091750.00,A,5204.47810,N,00423.63162,E,10.011,319.16,120308,,,A*5D
+$GPRMC,091751.00,A,5204.48057,N,00423.62778,E,14.547,315.32,120308,,,A*5C
+$GPRMC,091752.00,A,5204.48319,N,00423.62208,E,16.981,302.44,120308,,,A*57
+$GPRMC,091753.00,A,5204.48504,N,00423.61412,E,20.948,284.45,120308,,,A*5C
+$GPRMC,091754.00,A,5204.48502,N,00423.60383,E,24.445,262.32,120308,,,A*5F
+$GPRMC,091755.00,A,5204.48317,N,00423.59294,E,25.358,248.93,120308,,,A*58
+$GPRMC,091756.00,A,5204.47736,N,00423.58257,E,31.008,225.46,120308,,,A*5D
+$GPRMC,091757.00,A,5204.47033,N,00423.57317,E,32.958,215.60,120308,,,A*5C
+$GPRMC,091758.00,A,5204.46182,N,00423.56522,E,35.824,206.51,120308,,,A*55
+$GPRMC,091759.00,A,5204.45193,N,00423.55916,E,39.054,196.71,120308,,,A*54
+$GPRMC,091800.00,A,5204.44070,N,00423.55523,E,42.428,189.13,120308,,,A*59
+$GPRMC,091801.00,A,5204.42838,N,00423.55241,E,45.700,187.99,120308,,,A*5B
+$GPRMC,091802.00,A,5204.41540,N,00423.54903,E,47.708,190.74,120308,,,A*5A
+$GPRMC,091803.00,A,5204.40215,N,00423.54376,E,49.404,196.50,120308,,,A*54
+$GPRMC,091804.00,A,5204.38872,N,00423.53586,E,51.411,202.83,120308,,,A*54
+$GPRMC,091805.00,A,5204.37568,N,00423.52520,E,52.664,210.38,120308,,,A*51
+$GPRMC,091806.00,A,5204.36354,N,00423.51164,E,53.565,218.27,120308,,,A*58
+$GPRMC,091807.00,A,5204.35248,N,00423.49480,E,55.264,226.61,120308,,,A*5F
+$GPRMC,091808.00,A,5204.34238,N,00423.47506,E,56.256,232.78,120308,,,A*58
+$GPRMC,091809.00,A,5204.33306,N,00423.45401,E,57.973,235.12,120308,,,A*50
+$GPRMC,091810.00,A,5204.32375,N,00423.43189,E,59.715,235.56,120308,,,A*5E
+$GPRMC,091811.00,A,5204.31455,N,00423.40948,E,59.803,237.07,120308,,,A*51
+$GPRMC,091812.00,A,5204.30538,N,00423.38688,E,60.024,236.64,120308,,,A*56
+$GPRMC,091813.00,A,5204.29463,N,00423.36378,E,61.567,234.15,120308,,,A*53
+$GPRMC,091814.00,A,5204.28494,N,00423.34046,E,60.496,234.83,120308,,,A*50
+$GPRMC,091815.00,A,5204.27508,N,00423.31746,E,59.881,234.54,120308,,,A*52
+$GPRMC,091816.00,A,5204.26539,N,00423.29503,E,59.302,234.25,120308,,,A*5E
+$GPRMC,091817.00,A,5204.25579,N,00423.27297,E,58.868,234.27,120308,,,A*58
+$GPRMC,091818.00,A,5204.24641,N,00423.25126,E,57.830,234.95,120308,,,A*5E
+$GPRMC,091819.00,A,5204.23725,N,00423.22968,E,57.712,235.66,120308,,,A*5C
+$GPRMC,091820.00,A,5204.22807,N,00423.20795,E,58.321,235.26,120308,,,A*59
+$GPRMC,091821.00,A,5204.21911,N,00423.18640,E,57.325,235.51,120308,,,A*54
+$GPRMC,091822.00,A,5204.21012,N,00423.16517,E,56.242,234.85,120308,,,A*5B
+$GPRMC,091823.00,A,5204.20102,N,00423.14426,E,55.394,233.91,120308,,,A*51
+$GPRMC,091824.00,A,5204.19191,N,00423.12413,E,54.246,233.25,120308,,,A*56
+$GPRMC,091825.00,A,5204.18282,N,00423.10458,E,54.187,232.69,120308,,,A*5D
+$GPRMC,091826.00,A,5204.17361,N,00423.08516,E,54.256,232.17,120308,,,A*59
+$GPRMC,091827.00,A,5204.16426,N,00423.06592,E,54.469,231.32,120308,,,A*51
+$GPRMC,091828.00,A,5204.15468,N,00423.04691,E,54.521,230.23,120308,,,A*59
+$GPRMC,091829.00,A,5204.14495,N,00423.02836,E,53.627,229.37,120308,,,A*51
+$GPRMC,091830.00,A,5204.13513,N,00423.01036,E,53.121,228.28,120308,,,A*54
+$GPRMC,091831.00,A,5204.12523,N,00422.99272,E,52.626,227.51,120308,,,A*55
+$GPRMC,091832.00,A,5204.11530,N,00422.97550,E,51.862,226.89,120308,,,A*57
+$GPRMC,091833.00,A,5204.10535,N,00422.95871,E,51.331,226.00,120308,,,A*52
+$GPRMC,091834.00,A,5204.09541,N,00422.94226,E,51.210,225.05,120308,,,A*53
+$GPRMC,091835.00,A,5204.08511,N,00422.92627,E,51.210,223.84,120308,,,A*5A
+$GPRMC,091836.00,A,5204.07458,N,00422.91061,E,51.712,222.11,120308,,,A*57
+$GPRMC,091837.00,A,5204.06359,N,00422.89537,E,52.134,220.46,120308,,,A*5F
+$GPRMC,091838.00,A,5204.05231,N,00422.88046,E,52.460,219.10,120308,,,A*53
+$GPRMC,091839.00,A,5204.04075,N,00422.86589,E,52.749,217.69,120308,,,A*51
+$GPRMC,091840.00,A,5204.02890,N,00422.85166,E,52.947,216.30,120308,,,A*51
+$GPRMC,091841.00,A,5204.01685,N,00422.83757,E,53.489,215.90,120308,,,A*5C
+$GPRMC,091842.00,A,5204.00467,N,00422.82352,E,53.564,215.13,120308,,,A*59
+$GPRMC,091843.00,A,5203.99237,N,00422.80962,E,53.901,214.81,120308,,,A*52
+$GPRMC,091844.00,A,5203.97995,N,00422.79582,E,54.363,214.20,120308,,,A*5E
+$GPRMC,091845.00,A,5203.96743,N,00422.78218,E,54.591,213.82,120308,,,A*5A
+$GPRMC,091846.00,A,5203.95475,N,00422.76862,E,54.773,213.38,120308,,,A*5A
+$GPRMC,091847.00,A,5203.94195,N,00422.75508,E,55.119,213.40,120308,,,A*57
+$GPRMC,091848.00,A,5203.92907,N,00422.74155,E,55.209,213.07,120308,,,A*51
+$GPRMC,091849.00,A,5203.91616,N,00422.72795,E,55.647,213.34,120308,,,A*5E
+$GPRMC,091850.00,A,5203.90318,N,00422.71404,E,56.193,214.06,120308,,,A*5F
+$GPRMC,091851.00,A,5203.89018,N,00422.69983,E,56.504,214.30,120308,,,A*51
+$GPRMC,091852.00,A,5203.87711,N,00422.68535,E,57.161,214.77,120308,,,A*57
+$GPRMC,091853.00,A,5203.86389,N,00422.67039,E,58.868,215.32,120308,,,A*5B
+$GPRMC,091854.00,A,5203.85068,N,00422.65547,E,57.306,214.98,120308,,,A*50
+$GPRMC,091855.00,A,5203.83770,N,00422.64082,E,56.852,215.03,120308,,,A*5C
+$GPRMC,091856.00,A,5203.82480,N,00422.62626,E,56.391,214.87,120308,,,A*55
+$GPRMC,091857.00,A,5203.81198,N,00422.61176,E,56.186,214.96,120308,,,A*5E
+$GPRMC,091858.00,A,5203.79925,N,00422.59718,E,55.955,215.40,120308,,,A*52
+$GPRMC,091859.00,A,5203.78665,N,00422.58271,E,55.323,215.23,120308,,,A*5C
+$GPRMC,091900.00,A,5203.77429,N,00422.56894,E,54.210,214.98,120308,,,A*5A
+$GPRMC,091901.00,A,5203.76198,N,00422.55493,E,54.209,215.49,120308,,,A*58
+$GPRMC,091902.00,A,5203.74956,N,00422.54077,E,54.234,215.65,120308,,,A*5C
+$GPRMC,091903.00,A,5203.73758,N,00422.52666,E,53.227,216.02,120308,,,A*5D
+$GPRMC,091904.00,A,5203.72458,N,00422.51081,E,57.427,217.63,120308,,,A*50
+$GPRMC,091905.00,A,5203.71261,N,00422.49715,E,54.096,215.37,120308,,,A*53
+$GPRMC,091906.00,A,5203.69886,N,00422.48221,E,56.927,215.26,120308,,,A*58
+$GPRMC,091907.00,A,5203.68684,N,00422.46842,E,53.767,216.08,120308,,,A*55
+$GPRMC,091908.00,A,5203.67555,N,00422.45554,E,51.373,215.32,120308,,,A*5A
+$GPRMC,091909.00,A,5203.66433,N,00422.44247,E,51.670,215.51,120308,,,A*5C
+$GPRMC,091910.00,A,5203.65294,N,00422.42900,E,52.230,215.82,120308,,,A*5F
+$GPRMC,091911.00,A,5203.64129,N,00422.41520,E,52.932,215.70,120308,,,A*53
+$GPRMC,091912.00,A,5203.62938,N,00422.40114,E,53.846,215.74,120308,,,A*5B
+$GPRMC,091913.00,A,5203.61726,N,00422.38735,E,54.805,214.35,120308,,,A*56
+$GPRMC,091914.00,A,5203.60449,N,00422.37321,E,56.002,213.04,120308,,,A*5C
+$GPRMC,091915.00,A,5203.59152,N,00422.35950,E,57.005,213.11,120308,,,A*54
+$GPRMC,091916.00,A,5203.57832,N,00422.34552,E,57.699,213.62,120308,,,A*5E
+$GPRMC,091917.00,A,5203.56492,N,00422.33074,E,58.411,214.78,120308,,,A*5F
+$GPRMC,091918.00,A,5203.55159,N,00422.31550,E,59.280,215.44,120308,,,A*51
+$GPRMC,091919.00,A,5203.53811,N,00422.29983,E,60.098,215.55,120308,,,A*59
+$GPRMC,091920.00,A,5203.52454,N,00422.28353,E,60.720,216.30,120308,,,A*5D
+$GPRMC,091921.00,A,5203.51098,N,00422.26704,E,61.238,217.48,120308,,,A*50
+$GPRMC,091922.00,A,5203.49748,N,00422.25021,E,61.689,217.82,120308,,,A*5B
+$GPRMC,091923.00,A,5203.48392,N,00422.23318,E,62.028,217.83,120308,,,A*58
+$GPRMC,091924.00,A,5203.47036,N,00422.21612,E,61.756,217.94,120308,,,A*5B
+$GPRMC,091925.00,A,5203.45668,N,00422.19911,E,62.165,217.55,120308,,,A*5A
+$GPRMC,091926.00,A,5203.44297,N,00422.18224,E,61.986,217.16,120308,,,A*51
+$GPRMC,091927.00,A,5203.42931,N,00422.16544,E,62.015,217.34,120308,,,A*5E
+$GPRMC,091928.00,A,5203.41568,N,00422.14849,E,62.026,217.65,120308,,,A*54
+$GPRMC,091929.00,A,5203.40212,N,00422.13153,E,61.765,217.62,120308,,,A*5F
+$GPRMC,091930.00,A,5203.38859,N,00422.11445,E,62.162,218.14,120308,,,A*51
+$GPRMC,091931.00,A,5203.37530,N,00422.09741,E,60.846,218.50,120308,,,A*5E
+$GPRMC,091932.00,A,5203.36229,N,00422.08057,E,59.953,218.66,120308,,,A*58
+$GPRMC,091933.00,A,5203.34953,N,00422.06369,E,59.379,219.70,120308,,,A*59
+$GPRMC,091934.00,A,5203.33715,N,00422.04655,E,58.707,221.21,120308,,,A*5E
+$GPRMC,091935.00,A,5203.32518,N,00422.02879,E,57.479,222.90,120308,,,A*5B
+$GPRMC,091936.00,A,5203.31388,N,00422.01125,E,57.093,223.95,120308,,,A*53
+$GPRMC,091937.00,A,5203.30291,N,00421.99334,E,56.255,225.62,120308,,,A*5D
+$GPRMC,091938.00,A,5203.29241,N,00421.97497,E,55.622,227.88,120308,,,A*56
+$GPRMC,091939.00,A,5203.28237,N,00421.95619,E,55.369,229.36,120308,,,A*50
+$GPRMC,091940.00,A,5203.27250,N,00421.93714,E,55.222,229.91,120308,,,A*59
+$GPRMC,091941.00,A,5203.26274,N,00421.91817,E,54.839,229.88,120308,,,A*58
+$GPRMC,091942.00,A,5203.25303,N,00421.89935,E,54.812,229.81,120308,,,A*51
+$GPRMC,091943.00,A,5203.24321,N,00421.88065,E,54.872,229.03,120308,,,A*50
+$GPRMC,091944.00,A,5203.23305,N,00421.86233,E,54.997,226.85,120308,,,A*52
+$GPRMC,091945.00,A,5203.22232,N,00421.84460,E,55.337,224.25,120308,,,A*5C
+$GPRMC,091946.00,A,5203.21101,N,00421.82770,E,55.574,221.21,120308,,,A*5B
+$GPRMC,091947.00,A,5203.19907,N,00421.81166,E,55.944,218.26,120308,,,A*5F
+$GPRMC,091948.00,A,5203.18664,N,00421.79642,E,56.035,215.82,120308,,,A*52
+$GPRMC,091949.00,A,5203.17381,N,00421.78201,E,56.243,213.71,120308,,,A*59
+$GPRMC,091950.00,A,5203.16061,N,00421.76828,E,56.523,211.90,120308,,,A*5E
+$GPRMC,091951.00,A,5203.14718,N,00421.75508,E,56.578,210.79,120308,,,A*50
+$GPRMC,091952.00,A,5203.13370,N,00421.74212,E,56.671,210.83,120308,,,A*5C
+$GPRMC,091953.00,A,5203.12017,N,00421.72918,E,56.698,210.71,120308,,,A*53
+$GPRMC,091954.00,A,5203.10665,N,00421.71616,E,56.739,211.13,120308,,,A*58
+$GPRMC,091955.00,A,5203.09323,N,00421.70291,E,56.621,211.85,120308,,,A*5B
+$GPRMC,091956.00,A,5203.08000,N,00421.68949,E,56.445,212.61,120308,,,A*55
+$GPRMC,091957.00,A,5203.06689,N,00421.67582,E,56.357,213.25,120308,,,A*5C
+$GPRMC,091958.00,A,5203.05386,N,00421.66193,E,56.288,213.72,120308,,,A*5E
+$GPRMC,091959.00,A,5203.04082,N,00421.64787,E,56.473,213.86,120308,,,A*51
+$GPRMC,092000.00,A,5203.02783,N,00421.63360,E,56.452,214.64,120308,,,A*55
+$GPRMC,092001.00,A,5203.01496,N,00421.61909,E,56.248,215.24,120308,,,A*5F
+$GPRMC,092002.00,A,5203.00225,N,00421.60391,E,56.882,216.74,120308,,,A*53
+$GPRMC,092003.00,A,5202.98962,N,00421.58834,E,57.160,217.60,120308,,,A*55
+$GPRMC,092004.00,A,5202.97718,N,00421.57233,E,57.570,218.96,120308,,,A*5F
+$GPRMC,092005.00,A,5202.96487,N,00421.55571,E,57.508,220.28,120308,,,A*58
+$GPRMC,092006.00,A,5202.95276,N,00421.53858,E,57.534,221.26,120308,,,A*50
+$GPRMC,092007.00,A,5202.94089,N,00421.52102,E,57.926,222.56,120308,,,A*5E
+$GPRMC,092008.00,A,5202.92923,N,00421.50287,E,58.326,224.23,120308,,,A*53
+$GPRMC,092009.00,A,5202.91781,N,00421.48389,E,59.045,226.33,120308,,,A*55
+$GPRMC,092010.00,A,5202.90670,N,00421.46405,E,59.807,228.19,120308,,,A*56
+$GPRMC,092011.00,A,5202.89590,N,00421.44321,E,60.598,230.54,120308,,,A*50
+$GPRMC,092012.00,A,5202.88554,N,00421.42149,E,61.136,233.14,120308,,,A*56
+$GPRMC,092013.00,A,5202.87564,N,00421.39907,E,61.346,234.83,120308,,,A*59
+$GPRMC,092014.00,A,5202.86682,N,00421.37562,E,60.717,238.59,120308,,,A*5F
+$GPRMC,092015.00,A,5202.85852,N,00421.35187,E,60.253,240.90,120308,,,A*5C
+$GPRMC,092016.00,A,5202.85109,N,00421.32769,E,59.723,244.65,120308,,,A*5F
+$GPRMC,092017.00,A,5202.84465,N,00421.30308,E,59.193,247.83,120308,,,A*57
+$GPRMC,092018.00,A,5202.83898,N,00421.27806,E,58.885,250.61,120308,,,A*57
+$GPRMC,092019.00,A,5202.83401,N,00421.25277,E,58.803,252.88,120308,,,A*5F
+$GPRMC,092020.00,A,5202.82957,N,00421.22721,E,58.901,254.25,120308,,,A*59
+$GPRMC,092021.00,A,5202.82559,N,00421.20134,E,59.052,256.11,120308,,,A*51
+$GPRMC,092022.00,A,5202.82215,N,00421.17526,E,58.925,258.36,120308,,,A*5D
+$GPRMC,092023.00,A,5202.81914,N,00421.14909,E,58.888,259.44,120308,,,A*55
+$GPRMC,092024.00,A,5202.81627,N,00421.12296,E,58.682,259.39,120308,,,A*58
+$GPRMC,092025.00,A,5202.81320,N,00421.09702,E,58.401,257.96,120308,,,A*5B
+$GPRMC,092026.00,A,5202.80951,N,00421.07146,E,58.147,255.28,120308,,,A*5D
+$GPRMC,092027.00,A,5202.80501,N,00421.04643,E,57.971,251.79,120308,,,A*56
+$GPRMC,092028.00,A,5202.79940,N,00421.02201,E,57.756,247.59,120308,,,A*5C
+$GPRMC,092029.00,A,5202.79264,N,00420.99839,E,57.994,242.75,120308,,,A*59
+$GPRMC,092030.00,A,5202.78470,N,00420.97586,E,57.788,237.71,120308,,,A*51
+$GPRMC,092031.00,A,5202.77570,N,00420.95489,E,56.364,232.57,120308,,,A*54
+$GPRMC,092032.00,A,5202.76537,N,00420.93496,E,58.077,227.75,120308,,,A*56
+$GPRMC,092033.00,A,5202.75401,N,00420.91642,E,58.234,223.34,120308,,,A*5D
+$GPRMC,092034.00,A,5202.74175,N,00420.89965,E,58.141,217.90,120308,,,A*56
+$GPRMC,092035.00,A,5202.72847,N,00420.88469,E,58.574,212.88,120308,,,A*57
+$GPRMC,092036.00,A,5202.71455,N,00420.87175,E,57.816,207.99,120308,,,A*5D
+$GPRMC,092037.00,A,5202.70020,N,00420.86100,E,57.409,203.32,120308,,,A*5F
+$GPRMC,092038.00,A,5202.68536,N,00420.85217,E,57.179,198.70,120308,,,A*58
+$GPRMC,092039.00,A,5202.67018,N,00420.84538,E,56.846,193.85,120308,,,A*51
+$GPRMC,092040.00,A,5202.65474,N,00420.84076,E,56.549,188.85,120308,,,A*54
+$GPRMC,092041.00,A,5202.63915,N,00420.83818,E,56.281,183.71,120308,,,A*5D
+$GPRMC,092042.00,A,5202.62353,N,00420.83791,E,55.892,179.22,120308,,,A*51
+$GPRMC,092043.00,A,5202.60802,N,00420.83972,E,55.620,174.63,120308,,,A*51
+$GPRMC,092044.00,A,5202.59247,N,00420.84263,E,56.766,173.06,120308,,,A*5F
+$GPRMC,092045.00,A,5202.57658,N,00420.84601,E,57.860,172.46,120308,,,A*57
+$GPRMC,092046.00,A,5202.56128,N,00420.85140,E,56.818,169.15,120308,,,A*54
+$GPRMC,092047.00,A,5202.54541,N,00420.86671,E,59.661,158.25,120308,,,A*54
+$GPRMC,092048.00,A,5202.53035,N,00420.87884,E,60.443,155.86,120308,,,A*53
+$GPRMC,092049.00,A,5202.51598,N,00420.89858,E,61.125,148.34,120308,,,A*5C
+$GPRMC,092050.00,A,5202.50352,N,00420.91625,E,58.387,143.61,120308,,,A*53
+$GPRMC,092051.00,A,5202.49116,N,00420.93326,E,58.651,141.18,120308,,,A*5E
+$GPRMC,092052.00,A,5202.47863,N,00420.95046,E,58.993,139.79,120308,,,A*52
+$GPRMC,092053.00,A,5202.46606,N,00420.96824,E,59.790,139.68,120308,,,A*5C
+$GPRMC,092054.00,A,5202.45331,N,00420.98588,E,60.336,140.55,120308,,,A*5E
+$GPRMC,092055.00,A,5202.44008,N,00421.00325,E,60.893,141.83,120308,,,A*58
+$GPRMC,092056.00,A,5202.42630,N,00421.02002,E,61.136,144.14,120308,,,A*58
+$GPRMC,092057.00,A,5202.41217,N,00421.03583,E,61.535,146.77,120308,,,A*56
+$GPRMC,092058.00,A,5202.39784,N,00421.05073,E,60.738,148.40,120308,,,A*51
+$GPRMC,092059.00,A,5202.38269,N,00421.06497,E,62.425,149.85,120308,,,A*5F
+$GPRMC,092100.00,A,5202.36694,N,00421.07736,E,62.163,153.75,120308,,,A*50
+$GPRMC,092101.00,A,5202.35132,N,00421.08881,E,62.016,156.27,120308,,,A*54
+$GPRMC,092102.00,A,5202.33538,N,00421.09942,E,61.927,158.51,120308,,,A*57
+$GPRMC,092103.00,A,5202.31937,N,00421.10894,E,61.773,160.90,120308,,,A*5C
+$GPRMC,092104.00,A,5202.30318,N,00421.11716,E,61.585,163.53,120308,,,A*5E
+$GPRMC,092105.00,A,5202.28670,N,00421.12412,E,61.503,166.38,120308,,,A*5F
+$GPRMC,092106.00,A,5202.26997,N,00421.13005,E,61.422,168.31,120308,,,A*52
+$GPRMC,092107.00,A,5202.25327,N,00421.13517,E,61.198,169.59,120308,,,A*5C
+$GPRMC,092108.00,A,5202.23654,N,00421.13978,E,60.961,170.44,120308,,,A*5A
+$GPRMC,092109.00,A,5202.21995,N,00421.14424,E,60.777,170.23,120308,,,A*50
+$GPRMC,092110.00,A,5202.20331,N,00421.14880,E,60.727,170.19,120308,,,A*53
+$GPRMC,092111.00,A,5202.18666,N,00421.15335,E,60.619,170.19,120308,,,A*56
+$GPRMC,092112.00,A,5202.17005,N,00421.15803,E,60.619,169.91,120308,,,A*5F
+$GPRMC,092113.00,A,5202.15345,N,00421.16266,E,60.298,170.22,120308,,,A*5C
+$GPRMC,092114.00,A,5202.13696,N,00421.16708,E,59.927,170.67,120308,,,A*5F
+$GPRMC,092115.00,A,5202.12058,N,00421.17135,E,59.457,170.80,120308,,,A*51
+$GPRMC,092116.00,A,5202.10432,N,00421.17565,E,59.170,170.33,120308,,,A*51
+$GPRMC,092117.00,A,5202.08818,N,00421.18016,E,58.922,169.92,120308,,,A*5E
+$GPRMC,092118.00,A,5202.07212,N,00421.18478,E,58.538,169.76,120308,,,A*5F
+$GPRMC,092119.00,A,5202.05614,N,00421.18951,E,58.523,169.34,120308,,,A*54
+$GPRMC,092120.00,A,5202.04019,N,00421.19446,E,58.457,168.88,120308,,,A*5A
+$GPRMC,092121.00,A,5202.02432,N,00421.19977,E,58.269,167.63,120308,,,A*5E
+$GPRMC,092122.00,A,5202.00861,N,00421.20569,E,58.011,166.18,120308,,,A*5C
+$GPRMC,092123.00,A,5201.99308,N,00421.21226,E,57.744,164.67,120308,,,A*55
+$GPRMC,092124.00,A,5201.97775,N,00421.21947,E,57.674,163.12,120308,,,A*59
+$GPRMC,092125.00,A,5201.96247,N,00421.22732,E,57.600,161.51,120308,,,A*54
+$GPRMC,092126.00,A,5201.94742,N,00421.23595,E,57.600,159.67,120308,,,A*55
+$GPRMC,092127.00,A,5201.93255,N,00421.24528,E,57.507,157.91,120308,,,A*52
+$GPRMC,092128.00,A,5201.91786,N,00421.25532,E,57.483,156.32,120308,,,A*5B
+$GPRMC,092129.00,A,5201.90332,N,00421.26604,E,57.779,154.71,120308,,,A*56
+$GPRMC,092130.00,A,5201.88888,N,00421.27749,E,58.111,153.24,120308,,,A*54
+$GPRMC,092131.00,A,5201.87460,N,00421.28971,E,58.467,151.13,120308,,,A*58
+$GPRMC,092132.00,A,5201.86057,N,00421.30284,E,58.410,149.23,120308,,,A*58
+$GPRMC,092133.00,A,5201.84670,N,00421.31653,E,58.612,148.33,120308,,,A*57
+$GPRMC,092134.00,A,5201.83292,N,00421.33047,E,58.766,147.76,120308,,,A*52
+$GPRMC,092135.00,A,5201.81925,N,00421.34471,E,58.528,147.01,120308,,,A*58
+$GPRMC,092136.00,A,5201.80562,N,00421.35911,E,58.612,146.83,120308,,,A*5E
+$GPRMC,092137.00,A,5201.79186,N,00421.37426,E,59.035,145.70,120308,,,A*51
+$GPRMC,092138.00,A,5201.77869,N,00421.38952,E,57.390,144.97,120308,,,A*53
+$GPRMC,092139.00,A,5201.76574,N,00421.40460,E,56.437,144.85,120308,,,A*59
+$GPRMC,092140.00,A,5201.75312,N,00421.41930,E,55.766,144.58,120308,,,A*5F
+$GPRMC,092141.00,A,5201.74064,N,00421.43404,E,55.570,144.20,120308,,,A*5F
+$GPRMC,092142.00,A,5201.72828,N,00421.44873,E,55.337,144.13,120308,,,A*54
+$GPRMC,092143.00,A,5201.71598,N,00421.46342,E,55.042,144.14,120308,,,A*5D
+$GPRMC,092144.00,A,5201.70372,N,00421.47800,E,54.854,144.36,120308,,,A*5B
+$GPRMC,092145.00,A,5201.69154,N,00421.49254,E,54.601,144.12,120308,,,A*59
+$GPRMC,092146.00,A,5201.67938,N,00421.50694,E,54.316,144.34,120308,,,A*51
+$GPRMC,092147.00,A,5201.66724,N,00421.52123,E,54.393,144.33,120308,,,A*51
+$GPRMC,092148.00,A,5201.65502,N,00421.53566,E,54.486,144.34,120308,,,A*5B
+$GPRMC,092149.00,A,5201.64281,N,00421.55004,E,54.617,144.18,120308,,,A*54
+$GPRMC,092150.00,A,5201.63061,N,00421.56456,E,54.645,144.19,120308,,,A*51
+$GPRMC,092151.00,A,5201.61835,N,00421.57895,E,54.615,144.42,120308,,,A*52
+$GPRMC,092152.00,A,5201.60608,N,00421.59327,E,54.505,144.40,120308,,,A*5C
+$GPRMC,092153.00,A,5201.59379,N,00421.60756,E,54.582,144.46,120308,,,A*55
+$GPRMC,092154.00,A,5201.58146,N,00421.62207,E,55.154,143.62,120308,,,A*51
+$GPRMC,092155.00,A,5201.56807,N,00421.63702,E,58.256,145.45,120308,,,A*5C
+$GPRMC,092156.00,A,5201.55557,N,00421.65150,E,54.713,144.48,120308,,,A*57
+$GPRMC,092157.00,A,5201.54325,N,00421.66604,E,54.525,144.46,120308,,,A*58
+$GPRMC,092158.00,A,5201.53102,N,00421.68037,E,54.323,144.36,120308,,,A*58
+$GPRMC,092159.00,A,5201.51886,N,00421.69429,E,54.113,144.12,120308,,,A*53
+$GPRMC,092200.00,A,5201.50686,N,00421.70829,E,53.987,144.32,120308,,,A*57
+$GPRMC,092201.00,A,5201.49485,N,00421.72216,E,53.899,144.37,120308,,,A*50
+$GPRMC,092202.00,A,5201.48277,N,00421.73615,E,53.897,144.49,120308,,,A*58
+$GPRMC,092203.00,A,5201.47071,N,00421.75018,E,53.855,144.39,120308,,,A*56
+$GPRMC,092204.00,A,5201.45866,N,00421.76425,E,53.920,144.17,120308,,,A*5B
+$GPRMC,092205.00,A,5201.44656,N,00421.77827,E,53.816,144.44,120308,,,A*5B
+$GPRMC,092206.00,A,5201.43454,N,00421.79233,E,53.730,144.36,120308,,,A*50
+$GPRMC,092207.00,A,5201.42251,N,00421.80643,E,53.798,144.23,120308,,,A*50
+$GPRMC,092208.00,A,5201.41044,N,00421.82056,E,53.897,144.35,120308,,,A*5D
+$GPRMC,092209.00,A,5201.39835,N,00421.83466,E,53.798,144.49,120308,,,A*50
+$GPRMC,092210.00,A,5201.38627,N,00421.84869,E,53.623,144.41,120308,,,A*59
+$GPRMC,092211.00,A,5201.37423,N,00421.86271,E,53.562,144.37,120308,,,A*57
+$GPRMC,092212.00,A,5201.36221,N,00421.87676,E,53.415,144.15,120308,,,A*52
+$GPRMC,092213.00,A,5201.35022,N,00421.89085,E,53.485,144.08,120308,,,A*50
+$GPRMC,092214.00,A,5201.33820,N,00421.90493,E,53.640,144.30,120308,,,A*50
+$GPRMC,092215.00,A,5201.32611,N,00421.91903,E,53.908,144.29,120308,,,A*52
+$GPRMC,092216.00,A,5201.31394,N,00421.93321,E,54.299,144.40,120308,,,A*59
+$GPRMC,092217.00,A,5201.30166,N,00421.94749,E,54.712,144.51,120308,,,A*5D
+$GPRMC,092218.00,A,5201.28931,N,00421.96191,E,55.090,144.12,120308,,,A*5B
+$GPRMC,092219.00,A,5201.27691,N,00421.97651,E,55.423,144.19,120308,,,A*5D
+$GPRMC,092220.00,A,5201.26443,N,00421.99116,E,55.811,144.14,120308,,,A*51
+$GPRMC,092221.00,A,5201.25191,N,00422.00583,E,55.876,143.97,120308,,,A*5F
+$GPRMC,092222.00,A,5201.23933,N,00422.02052,E,56.006,144.25,120308,,,A*53
+$GPRMC,092223.00,A,5201.22668,N,00422.03519,E,56.084,144.56,120308,,,A*57
+$GPRMC,092224.00,A,5201.21405,N,00422.04987,E,55.932,144.17,120308,,,A*54
+$GPRMC,092225.00,A,5201.20151,N,00422.06459,E,55.769,144.04,120308,,,A*5E
+$GPRMC,092226.00,A,5201.18899,N,00422.07927,E,55.699,144.20,120308,,,A*56
+$GPRMC,092227.00,A,5201.17643,N,00422.09388,E,55.671,144.43,120308,,,A*53
+$GPRMC,092228.00,A,5201.16387,N,00422.10848,E,55.675,144.41,120308,,,A*59
+$GPRMC,092229.00,A,5201.15130,N,00422.12309,E,55.846,144.35,120308,,,A*54
+$GPRMC,092230.00,A,5201.13867,N,00422.13778,E,55.940,144.52,120308,,,A*54
+$GPRMC,092231.00,A,5201.12607,N,00422.15245,E,55.953,144.14,120308,,,A*51
+$GPRMC,092232.00,A,5201.11352,N,00422.16717,E,55.893,143.98,120308,,,A*5B
+$GPRMC,092233.00,A,5201.10099,N,00422.18177,E,55.666,144.49,120308,,,A*5E
+$GPRMC,092234.00,A,5201.08843,N,00422.19628,E,55.555,144.60,120308,,,A*5B
+$GPRMC,092235.00,A,5201.07590,N,00422.21073,E,55.357,144.59,120308,,,A*5B
+$GPRMC,092236.00,A,5201.06343,N,00422.22521,E,55.321,144.19,120308,,,A*55
+$GPRMC,092237.00,A,5201.05099,N,00422.23984,E,55.505,143.98,120308,,,A*5F
+$GPRMC,092238.00,A,5201.03848,N,00422.25456,E,55.802,144.12,120308,,,A*59
+$GPRMC,092239.00,A,5201.02587,N,00422.26928,E,56.367,144.23,120308,,,A*59
+$GPRMC,092240.00,A,5201.01317,N,00422.28392,E,56.793,144.32,120308,,,A*51
+$GPRMC,092241.00,A,5201.00044,N,00422.29865,E,56.406,144.17,120308,,,A*5E
+$GPRMC,092242.00,A,5200.98767,N,00422.31361,E,56.941,144.16,120308,,,A*52
+$GPRMC,092243.00,A,5200.97487,N,00422.32856,E,56.889,144.00,120308,,,A*5F
+$GPRMC,092244.00,A,5200.96209,N,00422.34360,E,56.715,144.09,120308,,,A*52
+$GPRMC,092245.00,A,5200.94932,N,00422.35854,E,56.764,144.17,120308,,,A*56
+$GPRMC,092246.00,A,5200.93654,N,00422.37343,E,56.721,144.37,120308,,,A*51
+$GPRMC,092247.00,A,5200.92380,N,00422.38822,E,56.738,144.25,120308,,,A*55
+$GPRMC,092248.00,A,5200.91101,N,00422.40310,E,56.639,144.14,120308,,,A*55
+$GPRMC,092249.00,A,5200.89830,N,00422.41792,E,56.557,144.04,120308,,,A*53
+$GPRMC,092250.00,A,5200.88558,N,00422.43277,E,56.568,144.40,120308,,,A*59
+$GPRMC,092251.00,A,5200.87282,N,00422.44754,E,56.516,144.45,120308,,,D*5D
+$GPRMC,092252.00,A,5200.86007,N,00422.46234,E,56.455,144.31,120308,,,D*54
+$GPRMC,092253.00,A,5200.84739,N,00422.47714,E,56.143,144.14,120308,,,D*5E
+$GPRMC,092254.00,A,5200.83473,N,00422.49199,E,56.463,144.13,120308,,,D*5E
+$GPRMC,092255.00,A,5200.82203,N,00422.50691,E,56.659,144.04,120308,,,D*55
+$GPRMC,092256.00,A,5200.80922,N,00422.52189,E,56.832,144.55,120308,,,D*57
+$GPRMC,092257.00,A,5200.79633,N,00422.53678,E,57.004,144.68,120308,,,D*55
+$GPRMC,092258.00,A,5200.78345,N,00422.55181,E,56.989,144.37,120308,,,D*5F
+$GPRMC,092259.00,A,5200.77055,N,00422.56705,E,57.772,144.25,120308,,,D*52
+$GPRMC,092300.00,A,5200.75760,N,00422.58215,E,56.851,144.31,120308,,,D*5C
+$GPRMC,092301.00,A,5200.74476,N,00422.59724,E,56.877,144.00,120308,,,D*58
+$GPRMC,092302.00,A,5200.73196,N,00422.61231,E,56.795,144.08,120308,,,D*56
+$GPRMC,092303.00,A,5200.71917,N,00422.62732,E,56.759,144.16,120308,,,D*5E
+$GPRMC,092304.00,A,5200.70636,N,00422.64228,E,56.655,144.24,120308,,,D*50
+$GPRMC,092305.00,A,5200.69357,N,00422.65721,E,56.540,144.12,120308,,,D*54
+$GPRMC,092306.00,A,5200.68084,N,00422.67207,E,56.092,144.21,120308,,,D*52
+$GPRMC,092307.00,A,5200.66815,N,00422.68684,E,56.009,144.20,120308,,,D*5E
+$GPRMC,092308.00,A,5200.65530,N,00422.70171,E,56.354,144.24,120308,,,D*53
+$GPRMC,092309.00,A,5200.64251,N,00422.71656,E,56.587,144.38,120308,,,D*55
+$GPRMC,092310.00,A,5200.62970,N,00422.73141,E,56.672,144.31,120308,,,D*50
+$GPRMC,092311.00,A,5200.61692,N,00422.74627,E,56.395,144.32,120308,,,D*5E
+$GPRMC,092312.00,A,5200.60413,N,00422.76114,E,56.767,144.20,120308,,,D*58
+$GPRMC,092313.00,A,5200.59128,N,00422.77611,E,56.991,144.25,120308,,,D*5F
+$GPRMC,092314.00,A,5200.57840,N,00422.79108,E,57.064,144.44,120308,,,D*55
+$GPRMC,092315.00,A,5200.56547,N,00422.80600,E,57.093,144.59,120308,,,D*52
+$GPRMC,092316.00,A,5200.55254,N,00422.82088,E,56.987,144.62,120308,,,D*56
+$GPRMC,092317.00,A,5200.53965,N,00422.83575,E,56.837,144.50,120308,,,D*55
+$GPRMC,092318.00,A,5200.52677,N,00422.85065,E,56.938,144.36,120308,,,D*5B
+$GPRMC,092319.00,A,5200.51387,N,00422.86564,E,57.184,144.35,120308,,,D*59
+$GPRMC,092320.00,A,5200.50089,N,00422.88050,E,57.262,145.11,120308,,,D*5F
+$GPRMC,092321.00,A,5200.48779,N,00422.89513,E,57.255,145.65,120308,,,D*5B
+$GPRMC,092322.00,A,5200.47462,N,00422.90958,E,57.285,146.05,120308,,,D*5D
+$GPRMC,092323.00,A,5200.46147,N,00422.92404,E,57.145,145.51,120308,,,D*54
+$GPRMC,092324.00,A,5200.44843,N,00422.93871,E,57.044,144.90,120308,,,D*5F
+$GPRMC,092325.00,A,5200.43551,N,00422.95347,E,56.832,144.65,120308,,,D*5D
+$GPRMC,092326.00,A,5200.42262,N,00422.96839,E,56.697,144.53,120308,,,D*5D
+$GPRMC,092327.00,A,5200.40973,N,00422.98343,E,56.857,144.79,120308,,,D*57
+$GPRMC,092328.00,A,5200.39695,N,00422.99844,E,56.302,144.47,120308,,,D*5A
+$GPRMC,092329.00,A,5200.38442,N,00423.01324,E,55.835,144.54,120308,,,A*54
+$GPRMC,092330.00,A,5200.37170,N,00423.02760,E,55.632,146.02,120308,,,A*58
+$GPRMC,092331.00,A,5200.35874,N,00423.04148,E,55.623,147.01,120308,,,A*5E
+$GPRMC,092332.00,A,5200.34576,N,00423.05477,E,55.226,148.13,120308,,,A*56
+$GPRMC,092333.00,A,5200.33265,N,00423.06751,E,55.118,149.24,120308,,,A*5A
+$GPRMC,092334.00,A,5200.31950,N,00423.07975,E,55.085,150.90,120308,,,A*59
+$GPRMC,092335.00,A,5200.30613,N,00423.09132,E,55.035,152.84,120308,,,A*58
+$GPRMC,092336.00,A,5200.29258,N,00423.10211,E,54.644,154.29,120308,,,A*52
+$GPRMC,092337.00,A,5200.27889,N,00423.11218,E,54.322,156.00,120308,,,A*5F
+$GPRMC,092338.00,A,5200.26503,N,00423.12157,E,53.987,157.70,120308,,,A*51
+$GPRMC,092339.00,A,5200.25119,N,00423.13038,E,53.627,158.88,120308,,,A*58
+$GPRMC,092340.00,A,5200.23725,N,00423.13851,E,53.472,160.42,120308,,,A*51
+$GPRMC,092341.00,A,5200.22325,N,00423.14604,E,53.210,161.68,120308,,,A*57
+$GPRMC,092342.00,A,5200.20917,N,00423.15310,E,53.108,163.45,120308,,,A*5B
+$GPRMC,092343.00,A,5200.19500,N,00423.15956,E,53.057,164.41,120308,,,A*5A
+$GPRMC,092344.00,A,5200.18083,N,00423.16574,E,53.102,164.75,120308,,,A*5B
+$GPRMC,092345.00,A,5200.16663,N,00423.17181,E,53.071,165.14,120308,,,A*50
+$GPRMC,092346.00,A,5200.15240,N,00423.17789,E,52.970,164.97,120308,,,A*58
+$GPRMC,092347.00,A,5200.13822,N,00423.18404,E,52.735,164.93,120308,,,A*53
+$GPRMC,092348.00,A,5200.12409,N,00423.19023,E,52.542,165.04,120308,,,A*55
+$GPRMC,092349.00,A,5200.11002,N,00423.19636,E,52.326,165.07,120308,,,A*5D
+$GPRMC,092350.00,A,5200.09600,N,00423.20244,E,52.210,165.08,120308,,,A*58
+$GPRMC,092351.00,A,5200.08199,N,00423.20860,E,52.170,164.96,120308,,,A*50
+$GPRMC,092352.00,A,5200.06801,N,00423.21478,E,52.074,164.99,120308,,,A*5B
+$GPRMC,092353.00,A,5200.05405,N,00423.22088,E,51.960,165.33,120308,,,A*57
+$GPRMC,092354.00,A,5200.04010,N,00423.22688,E,51.849,165.57,120308,,,A*5F
+$GPRMC,092355.00,A,5200.02619,N,00423.23275,E,51.666,165.72,120308,,,A*54
+$GPRMC,092356.00,A,5200.01234,N,00423.23862,E,51.442,165.48,120308,,,A*5E
+$GPRMC,092357.00,A,5159.99854,N,00423.24440,E,51.356,165.27,120308,,,A*5D
+$GPRMC,092358.00,A,5159.98478,N,00423.25042,E,51.256,164.89,120308,,,A*52
+$GPRMC,092359.00,A,5159.97108,N,00423.25635,E,51.071,164.93,120308,,,A*54
+$GPRMC,092400.00,A,5159.95745,N,00423.26226,E,50.701,164.93,120308,,,A*56
+$GPRMC,092401.00,A,5159.94390,N,00423.26812,E,50.457,165.08,120308,,,A*54
+$GPRMC,092402.00,A,5159.93044,N,00423.27375,E,50.162,165.36,120308,,,A*5F
+$GPRMC,092403.00,A,5159.91700,N,00423.27933,E,50.027,165.53,120308,,,A*50
+$GPRMC,092404.00,A,5159.90357,N,00423.28501,E,50.163,165.01,120308,,,A*54
+$GPRMC,092405.00,A,5159.89013,N,00423.29081,E,50.345,164.86,120308,,,A*5A
+$GPRMC,092406.00,A,5159.87662,N,00423.29662,E,50.638,165.12,120308,,,A*5F
+$GPRMC,092407.00,A,5159.86300,N,00423.30242,E,50.919,165.22,120308,,,A*5F
+$GPRMC,092408.00,A,5159.84930,N,00423.30818,E,51.229,165.36,120308,,,A*52
+$GPRMC,092409.00,A,5159.83548,N,00423.31391,E,51.650,165.87,120308,,,A*5C
+$GPRMC,092410.00,A,5159.82183,N,00423.31986,E,50.166,164.89,120308,,,A*56
+$GPRMC,092411.00,A,5159.80761,N,00423.32586,E,52.389,165.46,120308,,,A*53
+$GPRMC,092412.00,A,5159.79352,N,00423.33191,E,52.143,164.95,120308,,,A*5A
+$GPRMC,092413.00,A,5159.77947,N,00423.33796,E,51.999,164.83,120308,,,A*51
+$GPRMC,092414.00,A,5159.76547,N,00423.34377,E,51.925,165.11,120308,,,A*5A
+$GPRMC,092415.00,A,5159.75157,N,00423.34950,E,51.700,165.35,120308,,,A*5D
+$GPRMC,092416.00,A,5159.73761,N,00423.35468,E,51.508,165.96,120308,,,A*5F
+$GPRMC,092417.00,A,5159.72373,N,00423.36072,E,51.757,165.03,120308,,,A*50
+$GPRMC,092418.00,A,5159.71001,N,00423.36672,E,50.973,165.07,120308,,,A*51
+$GPRMC,092419.00,A,5159.69627,N,00423.37247,E,50.982,165.04,120308,,,A*55
+$GPRMC,092420.00,A,5159.68259,N,00423.37817,E,51.047,165.03,120308,,,A*5A
+$GPRMC,092421.00,A,5159.66893,N,00423.38408,E,50.912,165.02,120308,,,A*5D
+$GPRMC,092422.00,A,5159.65527,N,00423.38976,E,51.052,165.23,120308,,,A*54
+$GPRMC,092423.00,A,5159.64160,N,00423.39559,E,51.163,165.03,120308,,,A*52
+$GPRMC,092424.00,A,5159.62793,N,00423.40139,E,51.103,164.97,120308,,,A*5F
+$GPRMC,092425.00,A,5159.61429,N,00423.40737,E,51.105,164.96,120308,,,A*50
+$GPRMC,092426.00,A,5159.60065,N,00423.41314,E,50.999,165.15,120308,,,A*5C
+$GPRMC,092427.00,A,5159.58703,N,00423.41882,E,50.822,165.04,120308,,,A*54
+$GPRMC,092428.00,A,5159.57349,N,00423.42457,E,50.611,164.88,120308,,,A*52
+$GPRMC,092429.00,A,5159.55996,N,00423.43045,E,50.682,164.81,120308,,,A*5C
+$GPRMC,092430.00,A,5159.54643,N,00423.43634,E,50.610,164.82,120308,,,A*5A
+$GPRMC,092431.00,A,5159.53288,N,00423.44214,E,50.750,165.37,120308,,,A*54
+$GPRMC,092432.00,A,5159.51929,N,00423.44804,E,50.886,164.44,120308,,,A*5F
+$GPRMC,092433.00,A,5159.50575,N,00423.45443,E,51.039,162.99,120308,,,A*5F
+$GPRMC,092434.00,A,5159.49222,N,00423.46114,E,51.102,162.96,120308,,,A*57
+$GPRMC,092435.00,A,5159.47865,N,00423.46762,E,51.098,163.97,120308,,,A*54
+$GPRMC,092436.00,A,5159.46501,N,00423.47378,E,51.098,164.62,120308,,,A*5A
+$GPRMC,092437.00,A,5159.45135,N,00423.47974,E,51.174,164.74,120308,,,A*59
+$GPRMC,092438.00,A,5159.43766,N,00423.48562,E,51.193,165.06,120308,,,A*59
+$GPRMC,092439.00,A,5159.42405,N,00423.49130,E,50.535,165.31,120308,,,A*50
+$GPRMC,092440.00,A,5159.41061,N,00423.49700,E,49.814,165.20,120308,,,A*58
+$GPRMC,092441.00,A,5159.39733,N,00423.50265,E,49.351,165.15,120308,,,A*54
+$GPRMC,092442.00,A,5159.38418,N,00423.50825,E,49.016,164.96,120308,,,A*58
+$GPRMC,092443.00,A,5159.37108,N,00423.51382,E,48.776,165.51,120308,,,A*5F
+$GPRMC,092444.00,A,5159.35813,N,00423.51927,E,47.915,165.44,120308,,,A*5C
+$GPRMC,092445.00,A,5159.34523,N,00423.52469,E,47.835,165.54,120308,,,A*54
+$GPRMC,092446.00,A,5159.33245,N,00423.53008,E,47.271,165.21,120308,,,A*5D
+$GPRMC,092447.00,A,5159.31985,N,00423.53543,E,46.770,165.16,120308,,,A*52
+$GPRMC,092448.00,A,5159.30733,N,00423.54074,E,46.770,165.07,120308,,,A*59
+$GPRMC,092449.00,A,5159.29486,N,00423.54608,E,46.666,165.00,120308,,,A*51
+$GPRMC,092450.00,A,5159.28243,N,00423.55144,E,46.356,164.98,120308,,,A*5F
+$GPRMC,092451.00,A,5159.27006,N,00423.55681,E,46.365,164.98,120308,,,A*5C
+$GPRMC,092452.00,A,5159.25761,N,00423.56220,E,46.607,165.15,120308,,,A*52
+$GPRMC,092453.00,A,5159.24504,N,00423.56745,E,47.267,165.33,120308,,,A*52
+$GPRMC,092454.00,A,5159.23242,N,00423.57275,E,47.041,165.31,120308,,,A*54
+$GPRMC,092455.00,A,5159.21979,N,00423.57809,E,47.135,165.38,120308,,,A*5E
+$GPRMC,092456.00,A,5159.20709,N,00423.58343,E,47.465,165.08,120308,,,A*5C
+$GPRMC,092457.00,A,5159.19455,N,00423.58876,E,46.483,165.01,120308,,,A*50
+$GPRMC,092458.00,A,5159.18218,N,00423.59389,E,45.952,165.05,120308,,,A*5D
+$GPRMC,092459.00,A,5159.16993,N,00423.59910,E,45.660,165.16,120308,,,A*5C
+$GPRMC,092500.00,A,5159.15777,N,00423.60430,E,45.408,165.15,120308,,,A*5C
+$GPRMC,092501.00,A,5159.14566,N,00423.60945,E,45.171,165.34,120308,,,A*59
+$GPRMC,092502.00,A,5159.13360,N,00423.61454,E,45.018,165.53,120308,,,A*5E
+$GPRMC,092503.00,A,5159.12156,N,00423.61963,E,44.901,165.48,120308,,,A*5A
+$GPRMC,092504.00,A,5159.10951,N,00423.62472,E,45.102,165.37,120308,,,A*5C
+$GPRMC,092505.00,A,5159.09742,N,00423.62997,E,45.341,164.87,120308,,,A*50
+$GPRMC,092506.00,A,5159.08527,N,00423.63532,E,45.649,164.84,120308,,,A*5F
+$GPRMC,092507.00,A,5159.07303,N,00423.64061,E,46.011,165.21,120308,,,A*53
+$GPRMC,092508.00,A,5159.06065,N,00423.64592,E,46.423,165.24,120308,,,A*57
+$GPRMC,092509.00,A,5159.04815,N,00423.65130,E,46.768,165.01,120308,,,A*5D
+$GPRMC,092510.00,A,5159.03564,N,00423.65669,E,46.685,164.86,120308,,,A*5E
+$GPRMC,092511.00,A,5159.02315,N,00423.66205,E,46.666,165.00,120308,,,A*51
+$GPRMC,092512.00,A,5159.01062,N,00423.66740,E,46.808,165.27,120308,,,A*55
+$GPRMC,092513.00,A,5158.99803,N,00423.67270,E,47.079,165.31,120308,,,A*54
+$GPRMC,092514.00,A,5158.98531,N,00423.67810,E,47.684,165.11,120308,,,A*54
+$GPRMC,092515.00,A,5158.97250,N,00423.68361,E,47.739,165.07,120308,,,A*58
+$GPRMC,092516.00,A,5158.95963,N,00423.68910,E,48.029,165.10,120308,,,A*51
+$GPRMC,092517.00,A,5158.94668,N,00423.69473,E,48.436,164.92,120308,,,A*5D
+$GPRMC,092518.00,A,5158.93369,N,00423.70032,E,48.541,164.97,120308,,,A*5C
+$GPRMC,092519.00,A,5158.92067,N,00423.70591,E,48.647,165.13,120308,,,A*55
+$GPRMC,092520.00,A,5158.90760,N,00423.71149,E,48.890,165.27,120308,,,A*5E
+$GPRMC,092521.00,A,5158.89445,N,00423.71715,E,49.103,165.03,120308,,,A*58
+$GPRMC,092522.00,A,5158.88126,N,00423.72278,E,49.302,165.18,120308,,,A*5E
+$GPRMC,092523.00,A,5158.86804,N,00423.72847,E,49.284,164.93,120308,,,A*53
+$GPRMC,092524.00,A,5158.85481,N,00423.73396,E,49.664,165.30,120308,,,A*52
+$GPRMC,092525.00,A,5158.84146,N,00423.73955,E,49.940,165.18,120308,,,A*5A
+$GPRMC,092526.00,A,5158.82811,N,00423.74516,E,49.800,165.25,120308,,,A*53
+$GPRMC,092527.00,A,5158.81479,N,00423.75077,E,49.601,165.26,120308,,,A*5C
+$GPRMC,092528.00,A,5158.80152,N,00423.75641,E,49.372,165.39,120308,,,A*52
+$GPRMC,092529.00,A,5158.78825,N,00423.76217,E,49.321,165.09,120308,,,A*5C
+$GPRMC,092530.00,A,5158.77507,N,00423.76796,E,49.024,164.70,120308,,,A*53
+$GPRMC,092531.00,A,5158.76201,N,00423.77370,E,48.616,164.89,120308,,,A*5F
+$GPRMC,092532.00,A,5158.74902,N,00423.77929,E,48.413,165.14,120308,,,A*52
+$GPRMC,092533.00,A,5158.73602,N,00423.78482,E,48.493,165.45,120308,,,A*54
+$GPRMC,092534.00,A,5158.72294,N,00423.79030,E,48.776,165.50,120308,,,A*59
+$GPRMC,092535.00,A,5158.70979,N,00423.79578,E,49.069,165.48,120308,,,A*5A
+$GPRMC,092536.00,A,5158.69655,N,00423.80133,E,49.414,165.32,120308,,,A*5E
+$GPRMC,092537.00,A,5158.68328,N,00423.80695,E,49.399,165.21,120308,,,A*5A
+$GPRMC,092538.00,A,5158.67005,N,00423.81267,E,49.099,165.12,120308,,,A*5D
+$GPRMC,092539.00,A,5158.65695,N,00423.81830,E,48.541,165.14,120308,,,A*5E
+$GPRMC,092540.00,A,5158.64404,N,00423.82382,E,47.795,164.93,120308,,,A*50
+$GPRMC,092541.00,A,5158.63132,N,00423.82927,E,47.070,165.23,120308,,,A*55
+$GPRMC,092542.00,A,5158.61868,N,00423.83466,E,47.099,165.44,120308,,,A*5D
+$GPRMC,092543.00,A,5158.60600,N,00423.84006,E,47.281,165.14,120308,,,A*56
+$GPRMC,092544.00,A,5158.59328,N,00423.84547,E,47.513,165.32,120308,,,A*5C
+$GPRMC,092545.00,A,5158.58049,N,00423.85089,E,47.757,165.37,120308,,,A*59
+$GPRMC,092546.00,A,5158.56764,N,00423.85634,E,47.961,165.30,120308,,,A*50
+$GPRMC,092547.00,A,5158.55470,N,00423.86180,E,48.195,165.65,120308,,,A*53
+$GPRMC,092548.00,A,5158.54170,N,00423.86729,E,48.469,165.30,120308,,,A*5B
+$GPRMC,092549.00,A,5158.52870,N,00423.87293,E,48.430,164.87,120308,,,A*51
+$GPRMC,092550.00,A,5158.51569,N,00423.87865,E,48.518,165.15,120308,,,A*5D
+$GPRMC,092551.00,A,5158.50265,N,00423.88431,E,48.680,165.02,120308,,,A*50
+$GPRMC,092552.00,A,5158.48955,N,00423.89000,E,48.989,164.97,120308,,,A*5E
+$GPRMC,092553.00,A,5158.47635,N,00423.89571,E,49.533,164.94,120308,,,A*55
+$GPRMC,092554.00,A,5158.46296,N,00423.90155,E,50.251,164.90,120308,,,A*5B
+$GPRMC,092555.00,A,5158.44941,N,00423.90743,E,50.738,165.02,120308,,,A*58
+$GPRMC,092556.00,A,5158.43576,N,00423.91318,E,50.860,165.43,120308,,,A*58
+$GPRMC,092557.00,A,5158.42205,N,00423.91879,E,51.085,165.94,120308,,,A*5F
+$GPRMC,092558.00,A,5158.40824,N,00423.92425,E,51.428,166.56,120308,,,A*53
+$GPRMC,092559.00,A,5158.39428,N,00423.92964,E,51.748,166.70,120308,,,A*55
+$GPRMC,092600.00,A,5158.38027,N,00423.93514,E,51.932,166.22,120308,,,A*5E
+$GPRMC,092601.00,A,5158.36625,N,00423.94082,E,52.056,165.96,120308,,,A*5C
+$GPRMC,092602.00,A,5158.35221,N,00423.94660,E,52.150,165.83,120308,,,A*55
+$GPRMC,092603.00,A,5158.33816,N,00423.95249,E,51.944,165.68,120308,,,A*59
+$GPRMC,092604.00,A,5158.32420,N,00423.95841,E,51.578,165.34,120308,,,A*5E
+$GPRMC,092605.00,A,5158.31034,N,00423.96436,E,51.278,165.25,120308,,,A*55
+$GPRMC,092606.00,A,5158.29657,N,00423.97046,E,51.257,164.32,120308,,,A*54
+$GPRMC,092607.00,A,5158.28294,N,00423.97719,E,51.462,162.15,120308,,,A*51
+$GPRMC,092608.00,A,5158.26941,N,00423.98465,E,51.423,160.45,120308,,,A*56
+$GPRMC,092609.00,A,5158.25606,N,00423.99258,E,51.220,159.28,120308,,,A*55
+$GPRMC,092610.00,A,5158.24289,N,00424.00095,E,50.789,157.89,120308,,,A*59
+$GPRMC,092611.00,A,5158.22997,N,00424.00977,E,50.235,156.49,120308,,,A*50
+$GPRMC,092612.00,A,5158.21735,N,00424.01906,E,49.691,154.95,120308,,,A*50
+$GPRMC,092613.00,A,5158.20498,N,00424.02859,E,49.038,154.25,120308,,,A*52
+$GPRMC,092614.00,A,5158.19278,N,00424.03812,E,48.632,154.29,120308,,,A*58
+$GPRMC,092615.00,A,5158.18066,N,00424.04753,E,48.460,154.39,120308,,,A*5C
+$GPRMC,092616.00,A,5158.16854,N,00424.05692,E,48.467,154.36,120308,,,A*5D
+$GPRMC,092617.00,A,5158.15645,N,00424.06626,E,48.256,154.41,120308,,,A*59
+$GPRMC,092618.00,A,5158.14448,N,00424.07554,E,47.498,154.46,120308,,,A*53
+$GPRMC,092619.00,A,5158.13271,N,00424.08468,E,46.714,154.30,120308,,,A*5F
+$GPRMC,092620.00,A,5158.12115,N,00424.09374,E,45.995,154.08,120308,,,A*51
+$GPRMC,092621.00,A,5158.10974,N,00424.10268,E,45.441,154.18,120308,,,A*5C
+$GPRMC,092622.00,A,5158.09845,N,00424.11147,E,44.836,154.49,120308,,,A*52
+$GPRMC,092623.00,A,5158.08732,N,00424.12010,E,44.333,154.31,120308,,,A*5C
+$GPRMC,092624.00,A,5158.07633,N,00424.12869,E,43.808,154.16,120308,,,A*53
+$GPRMC,092625.00,A,5158.06549,N,00424.13726,E,43.446,153.94,120308,,,A*53
+$GPRMC,092626.00,A,5158.05474,N,00424.14573,E,43.063,154.11,120308,,,A*50
+$GPRMC,092627.00,A,5158.04405,N,00424.15412,E,42.864,154.20,120308,,,A*5D
+$GPRMC,092628.00,A,5158.03340,N,00424.16242,E,42.676,154.34,120308,,,A*5B
+$GPRMC,092629.00,A,5158.02275,N,00424.17063,E,42.709,154.47,120308,,,A*51
+$GPRMC,092630.00,A,5158.01207,N,00424.17879,E,42.890,154.50,120308,,,A*55
+$GPRMC,092631.00,A,5158.00136,N,00424.18706,E,42.900,154.47,120308,,,A*52
+$GPRMC,092632.00,A,5157.99067,N,00424.19538,E,42.796,154.26,120308,,,A*53
+$GPRMC,092633.00,A,5157.98002,N,00424.20369,E,42.614,154.14,120308,,,A*52
+$GPRMC,092634.00,A,5157.96941,N,00424.21202,E,42.514,154.15,120308,,,A*5A
+$GPRMC,092635.00,A,5157.95890,N,00424.22020,E,41.615,154.65,120308,,,A*52
+$GPRMC,092636.00,A,5157.94829,N,00424.22842,E,42.271,154.18,120308,,,A*51
+$GPRMC,092637.00,A,5157.93781,N,00424.23675,E,42.167,153.79,120308,,,A*55
+$GPRMC,092638.00,A,5157.92736,N,00424.24496,E,42.209,153.73,120308,,,A*5E
+$GPRMC,092639.00,A,5157.91685,N,00424.25322,E,42.390,154.04,120308,,,A*5A
+$GPRMC,092640.00,A,5157.90624,N,00424.26155,E,42.734,154.37,120308,,,A*55
+$GPRMC,092641.00,A,5157.89553,N,00424.26989,E,43.040,154.25,120308,,,A*50
+$GPRMC,092642.00,A,5157.88482,N,00424.27822,E,42.866,154.07,120308,,,A*53
+$GPRMC,092643.00,A,5157.87421,N,00424.28661,E,42.282,154.12,120308,,,A*56
+$GPRMC,092644.00,A,5157.86370,N,00424.29490,E,42.000,154.22,120308,,,A*55
+$GPRMC,092645.00,A,5157.85321,N,00424.30312,E,42.045,154.17,120308,,,A*51
+$GPRMC,092646.00,A,5157.84271,N,00424.31127,E,42.115,154.33,120308,,,A*50
+$GPRMC,092647.00,A,5157.83217,N,00424.31925,E,41.965,154.88,120308,,,A*50
+$GPRMC,092648.00,A,5157.82164,N,00424.32728,E,42.085,154.63,120308,,,A*58
+$GPRMC,092649.00,A,5157.81115,N,00424.33544,E,42.171,154.33,120308,,,A*5A
+$GPRMC,092650.00,A,5157.80062,N,00424.34368,E,42.189,154.17,120308,,,A*5C
+$GPRMC,092651.00,A,5157.79008,N,00424.35196,E,42.248,154.22,120308,,,A*5D
+$GPRMC,092652.00,A,5157.77955,N,00424.36020,E,42.120,154.28,120308,,,A*59
+$GPRMC,092653.00,A,5157.76906,N,00424.36838,E,41.851,154.34,120308,,,A*5F
+$GPRMC,092654.00,A,5157.75865,N,00424.37650,E,41.530,154.33,120308,,,A*53
+$GPRMC,092655.00,A,5157.74831,N,00424.38456,E,41.314,154.22,120308,,,A*59
+$GPRMC,092656.00,A,5157.73800,N,00424.39260,E,41.270,154.05,120308,,,A*5B
+$GPRMC,092657.00,A,5157.72767,N,00424.40063,E,41.360,154.35,120308,,,A*59
+$GPRMC,092658.00,A,5157.71728,N,00424.40856,E,41.495,154.90,120308,,,A*52
+$GPRMC,092659.00,A,5157.70683,N,00424.41647,E,41.651,155.05,120308,,,A*5A
+$GPRMC,092700.00,A,5157.69638,N,00424.42435,E,41.527,155.02,120308,,,A*5E
+$GPRMC,092701.00,A,5157.68597,N,00424.43228,E,41.421,154.74,120308,,,A*54
+$GPRMC,092702.00,A,5157.67567,N,00424.44033,E,41.056,154.00,120308,,,A*5F
+$GPRMC,092703.00,A,5157.66550,N,00424.44845,E,40.665,153.90,120308,,,A*5B
+$GPRMC,092704.00,A,5157.65537,N,00424.45657,E,40.657,153.92,120308,,,A*51
+$GPRMC,092705.00,A,5157.64523,N,00424.46469,E,40.828,153.96,120308,,,A*5A
+$GPRMC,092706.00,A,5157.63502,N,00424.47281,E,41.094,154.12,120308,,,A*59
+$GPRMC,092707.00,A,5157.62476,N,00424.48091,E,41.041,154.14,120308,,,A*59
+$GPRMC,092708.00,A,5157.61436,N,00424.48910,E,41.703,154.15,120308,,,A*51
+$GPRMC,092709.00,A,5157.60372,N,00424.49739,E,42.452,154.37,120308,,,A*56
+$GPRMC,092710.00,A,5157.59298,N,00424.50573,E,42.826,154.41,120308,,,A*5B
+$GPRMC,092711.00,A,5157.58222,N,00424.51409,E,42.825,154.31,120308,,,A*53
+$GPRMC,092712.00,A,5157.57149,N,00424.52252,E,42.794,154.01,120308,,,A*5C
+$GPRMC,092713.00,A,5157.56084,N,00424.53095,E,42.381,154.08,120308,,,A*5D
+$GPRMC,092714.00,A,5157.55027,N,00424.53928,E,42.171,154.19,120308,,,A*52
+$GPRMC,092715.00,A,5157.53970,N,00424.54755,E,42.260,154.28,120308,,,A*5C
+$GPRMC,092716.00,A,5157.52913,N,00424.55577,E,42.109,154.42,120308,,,A*58
+$GPRMC,092717.00,A,5157.51866,N,00424.56396,E,41.609,154.48,120308,,,A*5D
+$GPRMC,092718.00,A,5157.50825,N,00424.57202,E,41.553,154.38,120308,,,A*52
+$GPRMC,092719.00,A,5157.49790,N,00424.58005,E,41.293,154.30,120308,,,A*53
+$GPRMC,092720.00,A,5157.48766,N,00424.58816,E,40.968,153.62,120308,,,A*55
+$GPRMC,092721.00,A,5157.47751,N,00424.59635,E,40.754,153.55,120308,,,A*54
+$GPRMC,092722.00,A,5157.46742,N,00424.60435,E,40.314,154.38,120308,,,A*50
+$GPRMC,092723.00,A,5157.45742,N,00424.61208,E,39.779,154.48,120308,,,A*5D
+$GPRMC,092724.00,A,5157.44751,N,00424.61978,E,39.560,154.47,120308,,,A*50
+$GPRMC,092725.00,A,5157.43764,N,00424.62746,E,39.528,154.41,120308,,,A*5A
+$GPRMC,092726.00,A,5157.42778,N,00424.63512,E,39.489,154.38,120308,,,A*53
+$GPRMC,092727.00,A,5157.41790,N,00424.64284,E,39.642,154.01,120308,,,A*57
+$GPRMC,092728.00,A,5157.40802,N,00424.65062,E,39.459,153.79,120308,,,A*56
+$GPRMC,092729.00,A,5157.39820,N,00424.65845,E,39.311,153.67,120308,,,A*50
+$GPRMC,092730.00,A,5157.38841,N,00424.66629,E,39.365,153.80,120308,,,A*53
+$GPRMC,092731.00,A,5157.37859,N,00424.67412,E,39.515,153.89,120308,,,A*57
+$GPRMC,092732.00,A,5157.36871,N,00424.68190,E,39.680,154.35,120308,,,A*50
+$GPRMC,092733.00,A,5157.35876,N,00424.68958,E,39.764,154.66,120308,,,A*54
+$GPRMC,092734.00,A,5157.34881,N,00424.69719,E,39.612,154.72,120308,,,A*55
+$GPRMC,092735.00,A,5157.33895,N,00424.70477,E,39.224,154.65,120308,,,A*52
+$GPRMC,092736.00,A,5157.32914,N,00424.71236,E,39.222,154.29,120308,,,A*54
+$GPRMC,092737.00,A,5157.31936,N,00424.72005,E,39.236,154.02,120308,,,A*5B
+$GPRMC,092738.00,A,5157.30953,N,00424.72778,E,39.639,154.27,120308,,,A*57
+$GPRMC,092739.00,A,5157.29955,N,00424.73553,E,40.202,154.52,120308,,,A*52
+$GPRMC,092740.00,A,5157.28939,N,00424.74333,E,40.848,154.65,120308,,,A*50
+$GPRMC,092741.00,A,5157.27906,N,00424.75130,E,41.606,154.34,120308,,,A*53
+$GPRMC,092742.00,A,5157.26857,N,00424.75949,E,42.343,154.09,120308,,,A*5B
+$GPRMC,092743.00,A,5157.25788,N,00424.76776,E,42.944,154.77,120308,,,A*51
+$GPRMC,092744.00,A,5157.24697,N,00424.77593,E,43.273,155.44,120308,,,A*5F
+$GPRMC,092745.00,A,5157.23595,N,00424.78398,E,43.466,155.79,120308,,,A*56
+$GPRMC,092746.00,A,5157.22495,N,00424.79195,E,43.044,156.13,120308,,,A*50
+$GPRMC,092747.00,A,5157.21409,N,00424.79980,E,42.451,155.72,120308,,,A*5E
+$GPRMC,092748.00,A,5157.20343,N,00424.80765,E,41.884,155.36,120308,,,A*5D
+$GPRMC,092749.00,A,5157.19298,N,00424.81554,E,41.276,154.83,120308,,,A*58
+$GPRMC,092750.00,A,5157.18274,N,00424.82346,E,40.576,154.32,120308,,,A*59
+$GPRMC,092751.00,A,5157.17272,N,00424.83141,E,39.648,153.94,120308,,,A*5E
+$GPRMC,092752.00,A,5157.16296,N,00424.83917,E,38.647,153.91,120308,,,A*56
+$GPRMC,092753.00,A,5157.15343,N,00424.84665,E,37.748,154.45,120308,,,A*5F
+$GPRMC,092754.00,A,5157.14414,N,00424.85395,E,36.745,153.89,120308,,,A*5C
+$GPRMC,092755.00,A,5157.13512,N,00424.86114,E,35.840,153.67,120308,,,A*5C
+$GPRMC,092756.00,A,5157.12631,N,00424.86822,E,35.205,153.68,120308,,,A*54
+$GPRMC,092757.00,A,5157.11772,N,00424.87512,E,34.137,153.79,120308,,,A*5C
+$GPRMC,092758.00,A,5157.10944,N,00424.88167,E,32.577,154.18,120308,,,A*56
+$GPRMC,092759.00,A,5157.10148,N,00424.88756,E,30.937,156.95,120308,,,A*5A
+$GPRMC,092800.00,A,5157.09363,N,00424.89225,E,29.810,162.52,120308,,,A*5A
+$GPRMC,092801.00,A,5157.08578,N,00424.89552,E,28.874,169.27,120308,,,A*5B
+$GPRMC,092802.00,A,5157.07795,N,00424.89718,E,28.560,175.70,120308,,,A*5D
+$GPRMC,092803.00,A,5157.07003,N,00424.89736,E,28.891,181.98,120308,,,A*56
+$GPRMC,092804.00,A,5157.06210,N,00424.89617,E,28.931,186.72,120308,,,A*5A
+$GPRMC,092805.00,A,5157.05412,N,00424.89377,E,29.709,191.62,120308,,,A*5C
+$GPRMC,092806.00,A,5157.04619,N,00424.89078,E,29.411,194.21,120308,,,A*53
+$GPRMC,092807.00,A,5157.03847,N,00424.88741,E,28.478,194.66,120308,,,A*51
+$GPRMC,092808.00,A,5157.03097,N,00424.88458,E,27.350,190.95,120308,,,A*5A
+$GPRMC,092809.00,A,5157.02360,N,00424.88311,E,26.380,182.78,120308,,,A*57
+$GPRMC,092810.00,A,5157.01633,N,00424.88363,E,26.456,171.14,120308,,,A*50
+$GPRMC,092811.00,A,5157.00945,N,00424.88680,E,25.778,157.26,120308,,,A*5F
+$GPRMC,092812.00,A,5157.00368,N,00424.89165,E,22.272,147.14,120308,,,A*5C
+$GPRMC,092813.00,A,5156.99934,N,00424.89623,E,16.506,145.79,120308,,,A*50
+$GPRMC,092814.00,A,5156.99656,N,00424.89927,E,9.033,146.14,120308,,,A*62
+$GPRMC,092815.00,A,5156.99544,N,00424.90055,E,2.126,145.90,120308,,,A*66
+$GPRMC,092816.00,A,5156.99534,N,00424.90073,E,0.129,145.94,120308,,,A*6F
+$GPRMC,092817.00,A,5156.99548,N,00424.90063,E,0.168,147.99,120308,,,A*6E
+$GPRMC,092818.00,A,5156.99563,N,00424.90054,E,0.014,,120308,,,A*7A
+$GPRMC,092819.00,A,5156.99578,N,00424.90048,E,0.012,,120308,,,A*7A
+$GPRMC,092820.00,A,5156.99592,N,00424.90044,E,0.021,153.61,120308,,,A*66
+$GPRMC,092821.00,A,5156.99606,N,00424.90039,E,0.014,,120308,,,A*7B
+$GPRMC,092822.00,A,5156.99618,N,00424.90036,E,0.018,,120308,,,A*74
+$GPRMC,092823.00,A,5156.99629,N,00424.90037,E,0.013,,120308,,,A*7D
+$GPRMC,092824.00,A,5156.99641,N,00424.90038,E,0.015,,120308,,,A*7D
+$GPRMC,092825.00,A,5156.99651,N,00424.90039,E,0.007,,120308,,,A*7F
+$GPRMC,092826.00,A,5156.99663,N,00424.90035,E,0.020,158.78,120308,,,A*69
+$GPRMC,092827.00,A,5156.99673,N,00424.90030,E,0.022,163.12,120308,,,A*6A
+$GPRMC,092828.00,A,5156.99682,N,00424.90026,E,0.023,159.79,120308,,,A*69
+$GPRMC,092829.00,A,5156.99693,N,00424.90015,E,0.063,161.40,120308,,,A*6D
+$GPRMC,092830.00,A,5156.99700,N,00424.90008,E,0.033,156.94,120308,,,A*6A
+$GPRMC,092831.00,A,5156.99708,N,00424.90001,E,0.018,,120308,,,A*72
+$GPRMC,092832.00,A,5156.99713,N,00424.89997,E,0.020,154.55,120308,,,A*60
+$GPRMC,092833.00,A,5156.99718,N,00424.89993,E,0.008,,120308,,,A*7A
+$GPRMC,092834.00,A,5156.99723,N,00424.89990,E,0.028,152.52,120308,,,A*6B
+$GPRMC,092835.00,A,5156.99728,N,00424.89987,E,0.009,,120308,,,A*7B
+$GPRMC,092836.00,A,5156.99732,N,00424.89983,E,0.025,156.29,120308,,,A*6E
+$GPRMC,092837.00,A,5156.99737,N,00424.89978,E,0.033,159.59,120308,,,A*61
+$GPRMC,092838.00,A,5156.99741,N,00424.89974,E,0.019,,120308,,,A*74
+$GPRMC,092839.00,A,5156.99745,N,00424.89971,E,0.065,162.77,120308,,,A*64
+$GPRMC,092840.00,A,5156.99749,N,00424.89966,E,0.010,,120308,,,A*79
+$GPRMC,092841.00,A,5156.99753,N,00424.89961,E,0.021,159.19,120308,,,A*6D
+$GPRMC,092842.00,A,5156.99756,N,00424.89956,E,0.039,156.69,120308,,,A*6E
+$GPRMC,092843.00,A,5156.99759,N,00424.89954,E,0.017,,120308,,,A*7D
+$GPRMC,092844.00,A,5156.99763,N,00424.89949,E,0.029,153.72,120308,,,A*6E
+$GPRMC,092845.00,A,5156.99765,N,00424.89945,E,0.024,151.02,120308,,,A*6D
+$GPRMC,092846.00,A,5156.99768,N,00424.89942,E,0.027,148.24,120308,,,A*6B
+$GPRMC,092847.00,A,5156.99770,N,00424.89939,E,0.017,,120308,,,A*79
+$GPRMC,092848.00,A,5156.99772,N,00424.89936,E,0.037,152.43,120308,,,A*66
+$GPRMC,092849.00,A,5156.99774,N,00424.89933,E,0.011,,120308,,,A*7F
+$GPRMC,092850.00,A,5156.99775,N,00424.89931,E,0.027,155.78,120308,,,A*61
+$GPRMC,092851.00,A,5156.99776,N,00424.89927,E,0.030,159.89,120308,,,A*60
+$GPRMC,092852.00,A,5156.99777,N,00424.89925,E,0.014,,120308,,,A*74
+$GPRMC,092853.00,A,5156.99779,N,00424.89921,E,0.045,157.58,120308,,,A*6B
+$GPRMC,092854.00,A,5156.99780,N,00424.89907,E,0.031,156.02,120308,,,A*63
+$GPRMC,092855.00,A,5156.99783,N,00424.89903,E,0.042,154.23,120308,,,A*60
+$GPRMC,092856.00,A,5156.99786,N,00424.89897,E,0.014,,120308,,,A*76
+$GPRMC,092857.00,A,5156.99790,N,00424.89889,E,0.026,151.42,120308,,,A*63
+$GPRMC,092858.00,A,5156.99795,N,00424.89885,E,0.015,,120308,,,A*78
+$GPRMC,092859.00,A,5156.99799,N,00424.89879,E,0.015,,120308,,,A*76
+$GPRMC,092900.00,A,5156.99804,N,00424.89873,E,0.016,,120308,,,A*79
+$GPRMC,092901.00,A,5156.99809,N,00424.89871,E,0.034,147.50,120308,,,A*6E
+$GPRMC,092902.00,A,5156.99812,N,00424.89872,E,0.039,150.47,120308,,,A*69
+$GPRMC,092903.00,A,5156.99817,N,00424.89875,E,0.015,,120308,,,A*7D
+$GPRMC,092904.00,A,5156.99822,N,00424.89882,E,0.086,156.01,120308,,,A*63
+$GPRMC,092905.00,A,5156.99828,N,00424.89886,E,0.024,161.07,120308,,,A*66
+$GPRMC,092906.00,A,5156.99831,N,00424.89895,E,0.299,159.98,120308,,,A*66
+$GPRMC,092907.00,A,5156.99829,N,00424.89908,E,0.252,159.19,120308,,,A*65
+$GPRMC,092908.00,A,5156.99819,N,00424.89922,E,1.068,158.41,120308,,,A*67
+$GPRMC,092909.00,A,5156.99759,N,00424.89989,E,4.377,148.24,120308,,,A*66
+$GPRMC,092910.00,A,5156.99605,N,00424.90151,E,8.818,147.48,120308,,,A*68
+$GPRMC,092911.00,A,5156.99361,N,00424.90410,E,11.922,147.16,120308,,,A*55
+$GPRMC,092912.00,A,5156.99077,N,00424.90712,E,12.333,146.86,120308,,,A*52
+$GPRMC,092913.00,A,5156.98778,N,00424.91042,E,13.432,145.83,120308,,,A*58
+$GPRMC,092914.00,A,5156.98501,N,00424.91464,E,14.051,130.74,120308,,,A*5F
+$GPRMC,092915.00,A,5156.98293,N,00424.92032,E,14.858,113.00,120308,,,A*55
+$GPRMC,092916.00,A,5156.98208,N,00424.92709,E,15.765,94.70,120308,,,A*62
+$GPRMC,092917.00,A,5156.98286,N,00424.93434,E,17.051,68.66,120308,,,A*6F
+$GPRMC,092918.00,A,5156.98540,N,00424.94165,E,19.915,53.50,120308,,,A*61
+$GPRMC,092919.00,A,5156.98915,N,00424.94960,E,23.927,51.37,120308,,,A*6A
+$GPRMC,092920.00,A,5156.99369,N,00424.95897,E,28.209,52.17,120308,,,A*65
+$GPRMC,092921.00,A,5156.99867,N,00424.96958,E,30.198,53.08,120308,,,A*6D
+$GPRMC,092922.00,A,5157.00382,N,00424.98089,E,31.373,53.82,120308,,,A*60
+$GPRMC,092923.00,A,5157.00888,N,00424.99229,E,30.329,54.72,120308,,,A*6F
+$GPRMC,092924.00,A,5157.01356,N,00425.00307,E,27.555,54.97,120308,,,A*6D
+$GPRMC,092925.00,A,5157.01767,N,00425.01258,E,23.549,54.79,120308,,,A*69
+$GPRMC,092926.00,A,5157.02108,N,00425.02037,E,18.512,54.57,120308,,,A*64
+$GPRMC,092927.00,A,5157.02363,N,00425.02612,E,12.722,54.52,120308,,,A*65
+$GPRMC,092928.00,A,5157.02519,N,00425.02966,E,6.529,54.78,120308,,,A*59
+$GPRMC,092929.00,A,5157.02591,N,00425.03128,E,2.279,55.11,120308,,,A*53
+$GPRMC,092930.00,A,5157.02615,N,00425.03174,E,0.764,55.04,120308,,,A*52
+$GPRMC,092931.00,A,5157.02627,N,00425.03193,E,0.681,55.00,120308,,,A*55
+$GPRMC,092932.00,A,5157.02635,N,00425.03208,E,0.429,54.93,120308,,,A*5F
+$GPRMC,092933.00,A,5157.02638,N,00425.03215,E,0.011,,120308,,,A*75
+$GPRMC,092934.00,A,5157.02638,N,00425.03215,E,0.012,,120308,,,A*71
+$GPRMC,092935.00,A,5157.02638,N,00425.03214,E,0.024,54.17,120308,,,A*5D
+$GPRMC,092936.00,A,5157.02640,N,00425.03212,E,0.006,,120308,,,A*7E
+$GPRMC,092937.00,A,5157.02642,N,00425.03210,E,0.028,50.63,120308,,,A*5D
+$GPRMC,092938.00,A,5157.02644,N,00425.03209,E,0.025,51.89,120308,,,A*54
+$GPRMC,092939.00,A,5157.02644,N,00425.03208,E,0.058,47.88,120308,,,A*58
+$GPRMC,092940.00,A,5157.02644,N,00425.03210,E,0.034,50.03,120308,,,A*50
+$GPRMC,092941.00,A,5157.02642,N,00425.03214,E,0.008,,120308,,,A*74
+$GPRMC,092942.00,A,5157.02642,N,00425.03215,E,0.003,,120308,,,A*7D
+$GPRMC,092943.00,A,5157.02645,N,00425.03214,E,0.093,47.21,120308,,,A*5D
+$GPRMC,092944.00,A,5157.02647,N,00425.03212,E,0.103,50.18,120308,,,A*5A
+$GPRMC,092945.00,A,5157.02648,N,00425.03211,E,0.040,47.47,120308,,,A*5D
+$GPRMC,092946.00,A,5157.02649,N,00425.03211,E,0.047,49.41,120308,,,A*50
+$GPRMC,092947.00,A,5157.02649,N,00425.03211,E,0.008,,120308,,,A*7C
+$GPRMC,092948.00,A,5157.02649,N,00425.03213,E,0.006,,120308,,,A*7F
+$GPRMC,092949.00,A,5157.02651,N,00425.03215,E,0.014,,120308,,,A*72
+$GPRMC,092950.00,A,5157.02649,N,00425.03216,E,0.027,43.98,120308,,,A*58
+$GPRMC,092951.00,A,5157.02647,N,00425.03217,E,0.008,,120308,,,A*73
+$GPRMC,092952.00,A,5157.02645,N,00425.03219,E,0.004,,120308,,,A*70
+$GPRMC,092953.00,A,5157.02645,N,00425.03222,E,0.087,42.66,120308,,,A*5A
+$GPRMC,092954.00,A,5157.02643,N,00425.03226,E,0.022,41.49,120308,,,A*5E
+$GPRMC,092955.00,A,5157.02639,N,00425.03228,E,0.011,,120308,,,A*7A
+$GPRMC,092956.00,A,5157.02636,N,00425.03230,E,0.007,,120308,,,A*78
+$GPRMC,092957.00,A,5157.02633,N,00425.03232,E,0.012,,120308,,,A*7A
+$GPRMC,092958.00,A,5157.02631,N,00425.03234,E,0.009,,120308,,,A*7B
+$GPRMC,092959.00,A,5157.02629,N,00425.03236,E,0.014,,120308,,,A*7D
+$GPRMC,093000.00,A,5157.02627,N,00425.03236,E,0.006,,120308,,,A*74
+$GPRMC,093001.00,A,5157.02625,N,00425.03237,E,0.008,,120308,,,A*78
+$GPRMC,093002.00,A,5157.02623,N,00425.03237,E,0.013,,120308,,,A*77
+$GPRMC,093003.00,A,5157.02622,N,00425.03236,E,0.011,,120308,,,A*74
+$GPRMC,093004.00,A,5157.02620,N,00425.03236,E,0.015,,120308,,,A*75
+$GPRMC,093005.00,A,5157.02619,N,00425.03237,E,0.004,,120308,,,A*7F
+$GPRMC,093006.00,A,5157.02616,N,00425.03237,E,0.004,,120308,,,A*73
+$GPRMC,093007.00,A,5157.02616,N,00425.03238,E,0.088,41.97,120308,,,A*5C
+$GPRMC,093008.00,A,5157.02619,N,00425.03248,E,0.434,42.71,120308,,,A*53
+$GPRMC,093009.00,A,5157.02623,N,00425.03258,E,0.118,43.24,120308,,,A*50
+$GPRMC,093010.00,A,5157.02623,N,00425.03260,E,0.008,,120308,,,A*7C
+$GPRMC,093011.00,A,5157.02622,N,00425.03259,E,0.032,41.57,120308,,,A*56
+$GPRMC,093012.00,A,5157.02622,N,00425.03256,E,0.015,,120308,,,A*76
+$GPRMC,093013.00,A,5157.02621,N,00425.03256,E,0.020,36.38,120308,,,A*52
+$GPRMC,093014.00,A,5157.02621,N,00425.03255,E,0.004,,120308,,,A*70
+$GPRMC,093015.00,A,5157.02621,N,00425.03251,E,0.011,,120308,,,A*71
+$GPRMC,093016.00,A,5157.02622,N,00425.03248,E,0.007,,120308,,,A*7E
+$GPRMC,093017.00,A,5157.02624,N,00425.03244,E,0.011,,120308,,,A*72
+$GPRMC,093018.00,A,5157.02625,N,00425.03240,E,0.013,,120308,,,A*7A
+$GPRMC,093019.00,A,5157.02626,N,00425.03239,E,0.010,,120308,,,A*75
+$GPRMC,093020.00,A,5157.02627,N,00425.03239,E,0.005,,120308,,,A*7A
+$GPRMC,093021.00,A,5157.02629,N,00425.03238,E,0.011,,120308,,,A*71
+$GPRMC,093022.00,A,5157.02630,N,00425.03235,E,0.001,,120308,,,A*76
+$GPRMC,093023.00,A,5157.02631,N,00425.03232,E,0.009,,120308,,,A*79
+$GPRMC,093024.00,A,5157.02631,N,00425.03227,E,0.017,,120308,,,A*75
+$GPRMC,093025.00,A,5157.02633,N,00425.03223,E,0.012,,120308,,,A*77
+$GPRMC,093026.00,A,5157.02635,N,00425.03222,E,0.100,37.88,120308,,,A*5B
+$GPRMC,093027.00,A,5157.02635,N,00425.03223,E,0.070,40.32,120308,,,A*5C
+$GPRMC,093028.00,A,5157.02635,N,00425.03222,E,0.016,,120308,,,A*79
+$GPRMC,093029.00,A,5157.02635,N,00425.03217,E,0.022,35.61,120308,,,A*56
+$GPRMC,093030.00,A,5157.02635,N,00425.03213,E,0.019,,120308,,,A*7D
+$GPRMC,093031.00,A,5157.02636,N,00425.03211,E,0.021,30.44,120308,,,A*5B
+$GPRMC,093032.00,A,5157.02635,N,00425.03210,E,0.010,,120308,,,A*75
+$GPRMC,093033.00,A,5157.02634,N,00425.03210,E,0.026,32.15,120308,,,A*5B
+$GPRMC,093034.00,A,5157.02638,N,00425.03219,E,0.461,33.36,120308,,,A*5E
+$GPRMC,093035.00,A,5157.02673,N,00425.03304,E,3.970,56.16,120308,,,A*52
+$GPRMC,093036.00,A,5157.02771,N,00425.03541,E,8.523,55.10,120308,,,A*51
+$GPRMC,093037.00,A,5157.02945,N,00425.03940,E,12.828,54.95,120308,,,A*65
+$GPRMC,093038.00,A,5157.03187,N,00425.04411,E,14.187,45.68,120308,,,A*6B
+$GPRMC,093039.00,A,5157.03532,N,00425.04757,E,15.334,19.86,120308,,,A*63
+$GPRMC,093040.00,A,5157.04005,N,00425.04755,E,16.861,348.89,120308,,,A*59
+$GPRMC,093041.00,A,5157.04335,N,00425.04279,E,17.555,312.49,120308,,,A*5B
+$GPRMC,093042.00,A,5157.04592,N,00425.03536,E,20.332,291.14,120308,,,A*59
+$GPRMC,093043.00,A,5157.04807,N,00425.02554,E,24.699,288.28,120308,,,A*5B
+$GPRMC,093044.00,A,5157.05116,N,00425.01403,E,29.503,296.09,120308,,,A*55
+$GPRMC,093045.00,A,5157.05582,N,00425.00149,E,33.305,301.93,120308,,,A*50
+$GPRMC,093046.00,A,5157.06193,N,00424.98862,E,35.764,307.44,120308,,,A*5D
+$GPRMC,093047.00,A,5157.06876,N,00424.97545,E,39.135,310.56,120308,,,A*52
+$GPRMC,093048.00,A,5157.07661,N,00424.96140,E,42.509,312.48,120308,,,A*5E
+$GPRMC,093049.00,A,5157.08533,N,00424.94709,E,44.275,315.71,120308,,,A*5A
+$GPRMC,093050.00,A,5157.09462,N,00424.93371,E,44.649,320.51,120308,,,A*55
+$GPRMC,093051.00,A,5157.10471,N,00424.92133,E,44.921,325.20,120308,,,A*59
+$GPRMC,093052.00,A,5157.11522,N,00424.91017,E,44.734,328.63,120308,,,A*58
+$GPRMC,093053.00,A,5157.12609,N,00424.89980,E,45.042,330.38,120308,,,A*5E
+$GPRMC,093054.00,A,5157.13730,N,00424.88982,E,46.004,331.77,120308,,,A*5B
+$GPRMC,093055.00,A,5157.14885,N,00424.87999,E,46.892,332.89,120308,,,A*5C
+$GPRMC,093056.00,A,5157.16067,N,00424.87041,E,47.373,333.90,120308,,,A*59
+$GPRMC,093057.00,A,5157.17251,N,00424.86104,E,46.880,334.04,120308,,,A*53
+$GPRMC,093058.00,A,5157.18436,N,00424.85176,E,47.235,334.21,120308,,,A*50
+$GPRMC,093059.00,A,5157.19631,N,00424.84237,E,47.753,333.84,120308,,,A*5F
+$GPRMC,093100.00,A,5157.20827,N,00424.83289,E,47.786,333.70,120308,,,A*50
+$GPRMC,093101.00,A,5157.22027,N,00424.82336,E,47.989,333.56,120308,,,A*5A
+$GPRMC,093102.00,A,5157.23233,N,00424.81373,E,48.360,333.61,120308,,,A*5B
+$GPRMC,093103.00,A,5157.24445,N,00424.80402,E,48.479,333.38,120308,,,A*59
+$GPRMC,093104.00,A,5157.25685,N,00424.79433,E,49.258,334.18,120308,,,A*54
+$GPRMC,093105.00,A,5157.26956,N,00424.78485,E,49.625,334.13,120308,,,A*5E
+$GPRMC,093106.00,A,5157.28229,N,00424.77523,E,50.220,334.22,120308,,,A*59
+$GPRMC,093107.00,A,5157.29510,N,00424.76545,E,50.584,334.32,120308,,,A*5D
+$GPRMC,093108.00,A,5157.30800,N,00424.75562,E,50.787,334.35,120308,,,A*56
+$GPRMC,093109.00,A,5157.32088,N,00424.74572,E,50.752,334.41,120308,,,A*56
+$GPRMC,093110.00,A,5157.33371,N,00424.73593,E,50.180,334.56,120308,,,A*5D
+$GPRMC,093111.00,A,5157.34634,N,00424.72623,E,49.631,334.31,120308,,,A*52
+$GPRMC,093112.00,A,5157.35872,N,00424.71661,E,48.782,334.17,120308,,,A*55
+$GPRMC,093113.00,A,5157.37088,N,00424.70712,E,48.077,334.14,120308,,,A*51
+$GPRMC,093114.00,A,5157.38286,N,00424.69778,E,47.516,334.35,120308,,,A*5F
+$GPRMC,093115.00,A,5157.39480,N,00424.68855,E,47.591,334.42,120308,,,A*51
+$GPRMC,093116.00,A,5157.40679,N,00424.67924,E,47.923,334.24,120308,,,A*55
+$GPRMC,093117.00,A,5157.41879,N,00424.66983,E,47.857,334.06,120308,,,A*55
+$GPRMC,093118.00,A,5157.43073,N,00424.66050,E,47.297,334.30,120308,,,A*5E
+$GPRMC,093119.00,A,5157.44263,N,00424.65134,E,47.280,334.75,120308,,,A*5C
+$GPRMC,093120.00,A,5157.45455,N,00424.64204,E,47.652,334.29,120308,,,A*57
+$GPRMC,093121.00,A,5157.46655,N,00424.63272,E,47.954,334.45,120308,,,A*52
+$GPRMC,093122.00,A,5157.47856,N,00424.62342,E,47.868,334.38,120308,,,A*5A
+$GPRMC,093123.00,A,5157.49050,N,00424.61409,E,47.544,334.14,120308,,,A*5D
+$GPRMC,093124.00,A,5157.50237,N,00424.60480,E,47.187,334.16,120308,,,A*58
+$GPRMC,093125.00,A,5157.51417,N,00424.59560,E,46.884,334.31,120308,,,A*57
+$GPRMC,093126.00,A,5157.52592,N,00424.58645,E,46.687,334.06,120308,,,A*57
+$GPRMC,093127.00,A,5157.53767,N,00424.57728,E,47.000,334.32,120308,,,A*55
+$GPRMC,093128.00,A,5157.54947,N,00424.56809,E,47.167,334.17,120308,,,A*5B
+$GPRMC,093129.00,A,5157.56132,N,00424.55880,E,47.437,333.98,120308,,,A*50
+$GPRMC,093130.00,A,5157.57326,N,00424.54940,E,48.005,334.16,120308,,,A*59
+$GPRMC,093131.00,A,5157.58532,N,00424.53998,E,48.238,334.35,120308,,,A*5B
+$GPRMC,093132.00,A,5157.59746,N,00424.53055,E,48.440,334.33,120308,,,A*5F
+$GPRMC,093133.00,A,5157.60962,N,00424.52109,E,48.450,334.27,120308,,,A*51
+$GPRMC,093134.00,A,5157.62179,N,00424.51165,E,48.551,334.48,120308,,,A*56
+$GPRMC,093135.00,A,5157.63400,N,00424.50223,E,48.709,334.45,120308,,,A*5F
+$GPRMC,093136.00,A,5157.64625,N,00424.49275,E,49.015,334.41,120308,,,A*5A
+$GPRMC,093137.00,A,5157.65850,N,00424.48317,E,49.285,334.37,120308,,,A*58
+$GPRMC,093138.00,A,5157.67091,N,00424.47351,E,49.747,334.33,120308,,,A*52
+$GPRMC,093139.00,A,5157.68346,N,00424.46377,E,50.148,334.18,120308,,,A*58
+$GPRMC,093140.00,A,5157.69605,N,00424.45390,E,50.534,334.11,120308,,,A*59
+$GPRMC,093141.00,A,5157.70875,N,00424.44397,E,50.860,334.28,120308,,,A*59
+$GPRMC,093142.00,A,5157.72155,N,00424.43401,E,51.165,334.34,120308,,,A*5C
+$GPRMC,093143.00,A,5157.73444,N,00424.42400,E,51.509,334.35,120308,,,A*56
+$GPRMC,093144.00,A,5157.74740,N,00424.41397,E,51.717,334.44,120308,,,A*50
+$GPRMC,093145.00,A,5157.76038,N,00424.40399,E,51.610,334.67,120308,,,A*53
+$GPRMC,093146.00,A,5157.77330,N,00424.39405,E,51.362,334.42,120308,,,A*51
+$GPRMC,093147.00,A,5157.78607,N,00424.38408,E,50.743,334.03,120308,,,A*51
+$GPRMC,093148.00,A,5157.79871,N,00424.37413,E,50.723,334.09,120308,,,A*59
+$GPRMC,093149.00,A,5157.81135,N,00424.36422,E,50.638,334.27,120308,,,A*52
+$GPRMC,093150.00,A,5157.82396,N,00424.35435,E,50.250,334.27,120308,,,A*5D
+$GPRMC,093151.00,A,5157.83656,N,00424.34455,E,50.272,334.29,120308,,,A*5D
+$GPRMC,093152.00,A,5157.84910,N,00424.33474,E,49.980,334.15,120308,,,A*51
+$GPRMC,093153.00,A,5157.86160,N,00424.32497,E,49.844,334.26,120308,,,A*58
+$GPRMC,093154.00,A,5157.87405,N,00424.31525,E,49.744,334.24,120308,,,A*5E
+$GPRMC,093155.00,A,5157.88645,N,00424.30561,E,49.359,334.36,120308,,,A*5C
+$GPRMC,093156.00,A,5157.89876,N,00424.29602,E,48.915,334.25,120308,,,A*5F
+$GPRMC,093157.00,A,5157.91097,N,00424.28647,E,48.542,334.07,120308,,,A*5E
+$GPRMC,093158.00,A,5157.92305,N,00424.27690,E,48.238,333.80,120308,,,A*5D
+$GPRMC,093159.00,A,5157.93506,N,00424.26736,E,48.100,333.90,120308,,,A*5D
+$GPRMC,093200.00,A,5157.94705,N,00424.25793,E,48.053,334.25,120308,,,A*56
+$GPRMC,093201.00,A,5157.95907,N,00424.24852,E,48.297,334.19,120308,,,A*5C
+$GPRMC,093202.00,A,5157.97116,N,00424.23904,E,48.497,334.15,120308,,,A*5A
+$GPRMC,093203.00,A,5157.98333,N,00424.22949,E,48.805,334.20,120308,,,A*58
+$GPRMC,093204.00,A,5157.99555,N,00424.21995,E,49.008,334.28,120308,,,A*56
+$GPRMC,093205.00,A,5158.00780,N,00424.21041,E,49.067,334.22,120308,,,A*51
+$GPRMC,093206.00,A,5158.02009,N,00424.20077,E,49.259,333.88,120308,,,A*5A
+$GPRMC,093207.00,A,5158.03244,N,00424.19100,E,49.639,333.94,120308,,,A*55
+$GPRMC,093208.00,A,5158.04483,N,00424.18126,E,49.649,334.23,120308,,,A*59
+$GPRMC,093209.00,A,5158.05725,N,00424.17159,E,49.739,334.40,120308,,,A*52
+$GPRMC,093210.00,A,5158.06973,N,00424.16194,E,49.845,334.59,120308,,,A*58
+$GPRMC,093211.00,A,5158.08220,N,00424.15228,E,49.785,334.32,120308,,,A*53
+$GPRMC,093212.00,A,5158.09467,N,00424.14255,E,49.916,334.24,120308,,,A*5C
+$GPRMC,093213.00,A,5158.10715,N,00424.13278,E,49.971,334.18,120308,,,A*55
+$GPRMC,093214.00,A,5158.11964,N,00424.12294,E,50.007,333.96,120308,,,A*59
+$GPRMC,093215.00,A,5158.13210,N,00424.11318,E,50.009,334.11,120308,,,A*52
+$GPRMC,093216.00,A,5158.14464,N,00424.10342,E,50.245,334.39,120308,,,A*5D
+$GPRMC,093217.00,A,5158.15726,N,00424.09364,E,50.585,334.43,120308,,,A*52
+$GPRMC,093218.00,A,5158.16992,N,00424.08389,E,50.497,334.59,120308,,,A*54
+$GPRMC,093219.00,A,5158.18259,N,00424.07417,E,50.541,334.54,120308,,,A*5F
+$GPRMC,093220.00,A,5158.19527,N,00424.06443,E,50.567,334.58,120308,,,A*52
+$GPRMC,093221.00,A,5158.20792,N,00424.05465,E,50.448,334.28,120308,,,A*59
+$GPRMC,093222.00,A,5158.22052,N,00424.04481,E,50.229,334.25,120308,,,A*54
+$GPRMC,093223.00,A,5158.23293,N,00424.03505,E,49.972,334.45,120308,,,A*5A
+$GPRMC,093224.00,A,5158.24542,N,00424.02559,E,49.756,335.44,120308,,,A*51
+$GPRMC,093225.00,A,5158.25799,N,00424.01668,E,49.621,337.33,120308,,,A*54
+$GPRMC,093226.00,A,5158.27075,N,00424.00841,E,49.651,339.05,120308,,,A*58
+$GPRMC,093227.00,A,5158.28367,N,00424.00070,E,49.692,340.38,120308,,,A*53
+$GPRMC,093228.00,A,5158.29672,N,00423.99355,E,49.535,341.89,120308,,,A*5A
+$GPRMC,093229.00,A,5158.30982,N,00423.98700,E,49.220,343.37,120308,,,A*52
+$GPRMC,093230.00,A,5158.32297,N,00423.98099,E,49.135,344.64,120308,,,A*56
+$GPRMC,093231.00,A,5158.33615,N,00423.97527,E,49.089,344.84,120308,,,A*5F
+$GPRMC,093232.00,A,5158.34933,N,00423.96966,E,49.164,345.25,120308,,,A*50
+$GPRMC,093233.00,A,5158.36254,N,00423.96412,E,49.210,345.27,120308,,,A*55
+$GPRMC,093234.00,A,5158.37575,N,00423.95855,E,49.205,345.12,120308,,,A*59
+$GPRMC,093235.00,A,5158.38893,N,00423.95293,E,49.170,345.01,120308,,,A*51
+$GPRMC,093236.00,A,5158.40210,N,00423.94729,E,49.041,345.00,120308,,,A*5B
+$GPRMC,093237.00,A,5158.41522,N,00423.94167,E,48.871,345.05,120308,,,A*5E
+$GPRMC,093238.00,A,5158.42830,N,00423.93609,E,48.824,345.15,120308,,,A*55
+$GPRMC,093239.00,A,5158.44143,N,00423.93056,E,49.025,345.36,120308,,,A*5A
+$GPRMC,093240.00,A,5158.45462,N,00423.92508,E,49.114,345.60,120308,,,A*5C
+$GPRMC,093241.00,A,5158.46788,N,00423.91965,E,49.213,345.74,120308,,,A*5C
+$GPRMC,093242.00,A,5158.48119,N,00423.91426,E,49.680,346.04,120308,,,A*5F
+$GPRMC,093243.00,A,5158.49443,N,00423.90866,E,49.299,345.05,120308,,,A*52
+$GPRMC,093244.00,A,5158.50764,N,00423.90294,E,49.271,344.98,120308,,,A*5F
+$GPRMC,093245.00,A,5158.52085,N,00423.89727,E,49.296,345.20,120308,,,A*5A
+$GPRMC,093246.00,A,5158.53406,N,00423.89166,E,49.160,345.24,120308,,,A*5A
+$GPRMC,093247.00,A,5158.54721,N,00423.88606,E,48.898,345.19,120308,,,A*5B
+$GPRMC,093248.00,A,5158.56027,N,00423.88048,E,48.555,345.09,120308,,,A*56
+$GPRMC,093249.00,A,5158.57327,N,00423.87500,E,48.119,345.45,120308,,,A*57
+$GPRMC,093250.00,A,5158.58613,N,00423.86960,E,47.584,345.36,120308,,,A*52
+$GPRMC,093251.00,A,5158.59888,N,00423.86420,E,47.230,345.03,120308,,,A*59
+$GPRMC,093252.00,A,5158.61151,N,00423.85876,E,46.968,345.14,120308,,,A*51
+$GPRMC,093253.00,A,5158.62406,N,00423.85343,E,46.701,345.32,120308,,,A*5C
+$GPRMC,093254.00,A,5158.63652,N,00423.84812,E,46.251,345.08,120308,,,A*5E
+$GPRMC,093255.00,A,5158.64888,N,00423.84285,E,46.005,345.27,120308,,,A*5B
+$GPRMC,093256.00,A,5158.66122,N,00423.83762,E,46.023,345.24,120308,,,A*5F
+$GPRMC,093257.00,A,5158.67353,N,00423.83230,E,45.964,344.88,120308,,,A*57
+$GPRMC,093258.00,A,5158.68584,N,00423.82698,E,45.782,344.94,120308,,,A*57
+$GPRMC,093259.00,A,5158.69806,N,00423.82173,E,45.526,345.14,120308,,,A*57
+$GPRMC,093300.00,A,5158.71024,N,00423.81655,E,45.418,345.15,120308,,,A*56
+$GPRMC,093301.00,A,5158.72242,N,00423.81136,E,45.296,345.25,120308,,,A*57
+$GPRMC,093302.00,A,5158.73455,N,00423.80624,E,45.159,345.37,120308,,,A*53
+$GPRMC,093303.00,A,5158.74670,N,00423.80110,E,45.359,345.31,120308,,,A*54
+$GPRMC,093304.00,A,5158.75899,N,00423.79598,E,45.894,345.61,120308,,,A*56
+$GPRMC,093305.00,A,5158.77145,N,00423.79087,E,46.567,345.86,120308,,,A*5D
+$GPRMC,093306.00,A,5158.78409,N,00423.78581,E,47.182,346.33,120308,,,A*5D
+$GPRMC,093307.00,A,5158.79700,N,00423.78094,E,47.709,346.90,120308,,,A*5A
+$GPRMC,093308.00,A,5158.81007,N,00423.77624,E,48.164,347.40,120308,,,A*5E
+$GPRMC,093309.00,A,5158.82317,N,00423.77142,E,48.245,346.84,120308,,,A*50
+$GPRMC,093310.00,A,5158.83624,N,00423.76640,E,48.266,345.91,120308,,,A*5E
+$GPRMC,093311.00,A,5158.84932,N,00423.76111,E,48.527,345.56,120308,,,A*5A
+$GPRMC,093312.00,A,5158.86231,N,00423.75565,E,48.119,345.16,120308,,,A*5A
+$GPRMC,093313.00,A,5158.87516,N,00423.75018,E,47.477,345.16,120308,,,A*55
+$GPRMC,093314.00,A,5158.88785,N,00423.74480,E,46.962,345.13,120308,,,A*5C
+$GPRMC,093315.00,A,5158.90026,N,00423.73951,E,45.664,345.19,120308,,,A*5C
+$GPRMC,093316.00,A,5158.91227,N,00423.73451,E,43.962,346.06,120308,,,A*52
+$GPRMC,093317.00,A,5158.92380,N,00423.73033,E,41.551,348.45,120308,,,A*5B
+$GPRMC,093318.00,A,5158.93472,N,00423.72746,E,38.688,352.85,120308,,,A*55
+$GPRMC,093319.00,A,5158.94475,N,00423.72642,E,34.841,0.11,120308,,,A*5F
+$GPRMC,093320.00,A,5158.95394,N,00423.72773,E,32.216,9.55,120308,,,A*58
+$GPRMC,093321.00,A,5158.96241,N,00423.73158,E,31.003,20.40,120308,,,A*67
+$GPRMC,093322.00,A,5158.96977,N,00423.73742,E,29.759,30.02,120308,,,A*61
+$GPRMC,093323.00,A,5158.97650,N,00423.74486,E,29.557,36.46,120308,,,A*6D
+$GPRMC,093324.00,A,5158.98279,N,00423.75303,E,28.985,38.20,120308,,,A*6D
+$GPRMC,093325.00,A,5158.98889,N,00423.76082,E,27.292,36.23,120308,,,A*6F
+$GPRMC,093326.00,A,5158.99523,N,00423.76703,E,26.246,25.69,120308,,,A*6A
+$GPRMC,093327.00,A,5159.00189,N,00423.77096,E,25.582,12.92,120308,,,A*68
+$GPRMC,093328.00,A,5159.00873,N,00423.77211,E,25.185,357.77,120308,,,A*5C
+$GPRMC,093329.00,A,5159.01564,N,00423.77057,E,25.558,346.45,120308,,,A*52
+$GPRMC,093330.00,A,5159.02226,N,00423.76755,E,25.271,343.94,120308,,,A*59
+$GPRMC,093331.00,A,5159.02902,N,00423.76443,E,25.681,344.97,120308,,,A*5E
+$GPRMC,093332.00,A,5159.03595,N,00423.76151,E,25.891,345.78,120308,,,A*57
+$GPRMC,093333.00,A,5159.04291,N,00423.75868,E,25.886,346.17,120308,,,A*5E
+$GPRMC,093334.00,A,5159.04979,N,00423.75592,E,25.452,346.04,120308,,,A*5B
+$GPRMC,093335.00,A,5159.05655,N,00423.75314,E,25.170,345.91,120308,,,A*58
+$GPRMC,093336.00,A,5159.06323,N,00423.75032,E,24.945,345.69,120308,,,A*53
+$GPRMC,093337.00,A,5159.06979,N,00423.74746,E,24.142,345.65,120308,,,A*51
+$GPRMC,093338.00,A,5159.07610,N,00423.74467,E,23.239,345.25,120308,,,A*53
+$GPRMC,093339.00,A,5159.08208,N,00423.74208,E,22.240,344.77,120308,,,A*56
+$GPRMC,093340.00,A,5159.08771,N,00423.73955,E,20.665,344.25,120308,,,A*51
+$GPRMC,093341.00,A,5159.09285,N,00423.73707,E,18.872,344.19,120308,,,A*5A
+$GPRMC,093342.00,A,5159.09759,N,00423.73483,E,17.443,343.76,120308,,,A*5D
+$GPRMC,093343.00,A,5159.10201,N,00423.73272,E,16.431,343.79,120308,,,A*5F
+$GPRMC,093344.00,A,5159.10610,N,00423.73077,E,15.212,344.06,120308,,,A*50
+$GPRMC,093345.00,A,5159.10979,N,00423.72894,E,13.737,343.59,120308,,,A*5C
+$GPRMC,093346.00,A,5159.11313,N,00423.72728,E,12.272,342.38,120308,,,A*53
+$GPRMC,093347.00,A,5159.11608,N,00423.72570,E,11.127,342.26,120308,,,A*5D
+$GPRMC,093348.00,A,5159.11876,N,00423.72430,E,10.030,341.67,120308,,,A*50
+$GPRMC,093349.00,A,5159.12108,N,00423.72286,E,8.822,336.74,120308,,,A*69
+$GPRMC,093350.00,A,5159.12292,N,00423.72103,E,7.508,321.53,120308,,,A*66
+$GPRMC,093351.00,A,5159.12401,N,00423.71879,E,6.045,300.32,120308,,,A*65
+$GPRMC,093352.00,A,5159.12469,N,00423.71657,E,5.107,297.96,120308,,,A*6F
+$GPRMC,093353.00,A,5159.12513,N,00423.71482,E,3.696,300.09,120308,,,A*68
+$GPRMC,093354.00,A,5159.12535,N,00423.71372,E,2.210,299.53,120308,,,A*66
+$GPRMC,093355.00,A,5159.12533,N,00423.71326,E,0.386,299.29,120308,,,A*61
+$GPRMC,093356.00,A,5159.12521,N,00423.71322,E,0.016,,120308,,,A*78
+$GPRMC,093357.00,A,5159.12506,N,00423.71327,E,0.024,296.63,120308,,,A*6E
+$GPRMC,093358.00,A,5159.12495,N,00423.71332,E,0.022,291.36,120308,,,A*6F
+$GPRMC,093359.00,A,5159.12486,N,00423.71337,E,0.070,292.85,120308,,,A*65
+$GPRMC,093400.00,A,5159.12480,N,00423.71340,E,0.018,,120308,,,A*7C
+$GPRMC,093401.00,A,5159.12474,N,00423.71342,E,0.016,,120308,,,A*7A
+$GPRMC,093402.00,A,5159.12465,N,00423.71346,E,0.047,294.64,120308,,,A*6A
+$GPRMC,093403.00,A,5159.12457,N,00423.71349,E,0.012,,120308,,,A*76
+$GPRMC,093404.00,A,5159.12450,N,00423.71350,E,0.014,,120308,,,A*78
+$GPRMC,093405.00,A,5159.12440,N,00423.71350,E,0.015,,120308,,,A*79
+$GPRMC,093406.00,A,5159.12428,N,00423.71354,E,0.008,,120308,,,A*7C
+$GPRMC,093407.00,A,5159.12414,N,00423.71357,E,0.007,,120308,,,A*7E
+$GPRMC,093408.00,A,5159.12400,N,00423.71360,E,0.018,,120308,,,A*7E
+$GPRMC,093409.00,A,5159.12385,N,00423.71365,E,0.010,,120308,,,A*78
+$GPRMC,093410.00,A,5159.12377,N,00423.71364,E,0.048,299.66,120308,,,A*6D
+$GPRMC,093411.00,A,5159.12366,N,00423.71365,E,0.021,296.05,120308,,,A*68
+$GPRMC,093412.00,A,5159.12355,N,00423.71367,E,0.038,292.39,120308,,,A*6A
+$GPRMC,093413.00,A,5159.12346,N,00423.71367,E,0.027,296.25,120308,,,A*6E
+$GPRMC,093414.00,A,5159.12338,N,00423.71366,E,0.013,,120308,,,A*72
+$GPRMC,093415.00,A,5159.12330,N,00423.71363,E,0.015,,120308,,,A*78
+$GPRMC,093416.00,A,5159.12324,N,00423.71360,E,0.011,,120308,,,A*79
+$GPRMC,093417.00,A,5159.12317,N,00423.71357,E,0.030,290.99,120308,,,A*6A
+$GPRMC,093418.00,A,5159.12310,N,00423.71354,E,0.029,290.21,120308,,,A*6A
+$GPRMC,093419.00,A,5159.12302,N,00423.71351,E,0.046,291.57,120308,,,A*64
+$GPRMC,093420.00,A,5159.12292,N,00423.71354,E,0.018,,120308,,,A*7E
+$GPRMC,093421.00,A,5159.12289,N,00423.71354,E,0.089,293.08,120308,,,A*63
+$GPRMC,093422.00,A,5159.12288,N,00423.71352,E,0.019,,120308,,,A*70
+$GPRMC,093423.00,A,5159.12277,N,00423.71355,E,0.048,294.11,120308,,,A*63
+$GPRMC,093424.00,A,5159.12267,N,00423.71356,E,0.008,,120308,,,A*73
+$GPRMC,093425.00,A,5159.12261,N,00423.71360,E,0.085,296.32,120308,,,A*66
+$GPRMC,093426.00,A,5159.12256,N,00423.71363,E,0.047,296.57,120308,,,A*6F
+$GPRMC,093427.00,A,5159.12257,N,00423.71359,E,0.074,297.69,120308,,,A*6A
+$GPRMC,093428.00,A,5159.12257,N,00423.71354,E,0.001,,120308,,,A*77
+$GPRMC,093429.00,A,5159.12253,N,00423.71350,E,0.029,298.34,120308,,,A*66
+$GPRMC,093430.00,A,5159.12250,N,00423.71347,E,0.024,299.39,120308,,,A*6A
+$GPRMC,093431.00,A,5159.12247,N,00423.71345,E,0.005,,120308,,,A*7A
+$GPRMC,093432.00,A,5159.12245,N,00423.71342,E,0.006,,120308,,,A*7F
+$GPRMC,093433.00,A,5159.12241,N,00423.71340,E,0.022,295.40,120308,,,A*6A
+$GPRMC,093434.00,A,5159.12235,N,00423.71337,E,0.025,295.61,120308,,,A*6A
+$GPRMC,093435.00,A,5159.12228,N,00423.71335,E,0.012,,120308,,,A*76
+$GPRMC,093436.00,A,5159.12222,N,00423.71333,E,0.082,296.91,120308,,,A*6B
+$GPRMC,093437.00,A,5159.12216,N,00423.71331,E,0.044,298.33,120308,,,A*63
+$GPRMC,093438.00,A,5159.12216,N,00423.71323,E,0.065,299.38,120308,,,A*66
+$GPRMC,093439.00,A,5159.12220,N,00423.71311,E,0.022,300.70,120308,,,A*6D
+$GPRMC,093440.00,A,5159.12222,N,00423.71301,E,0.017,,120308,,,A*7C
+$GPRMC,093441.00,A,5159.12216,N,00423.71294,E,0.022,297.71,120308,,,A*65
+$GPRMC,093442.00,A,5159.12214,N,00423.71287,E,0.041,299.37,120308,,,A*6F
+$GPRMC,093443.00,A,5159.12214,N,00423.71284,E,0.073,295.20,120308,,,A*66
+$GPRMC,093444.00,A,5159.12208,N,00423.71285,E,0.081,296.90,120308,,,A*68
+$GPRMC,093445.00,A,5159.12203,N,00423.71286,E,0.033,297.28,120308,,,A*6A
+$GPRMC,093446.00,A,5159.12198,N,00423.71287,E,0.023,298.94,120308,,,A*60
+$GPRMC,093447.00,A,5159.12195,N,00423.71289,E,0.010,,120308,,,A*72
+$GPRMC,093448.00,A,5159.12193,N,00423.71291,E,0.046,300.16,120308,,,A*6B
+$GPRMC,093449.00,A,5159.12178,N,00423.71302,E,0.008,,120308,,,A*74
+$GPRMC,093450.00,A,5159.12168,N,00423.71310,E,0.007,,120308,,,A*71
+$GPRMC,093451.00,A,5159.12161,N,00423.71315,E,0.011,,120308,,,A*7B
+$GPRMC,093452.00,A,5159.12153,N,00423.71323,E,0.063,295.31,120308,,,A*6B
+$GPRMC,093453.00,A,5159.12152,N,00423.71321,E,0.007,,120308,,,A*79
+$GPRMC,093454.00,A,5159.12155,N,00423.71323,E,0.022,296.31,120308,,,A*6D
+$GPRMC,093455.00,A,5159.12158,N,00423.71324,E,0.012,,120308,,,A*74
+$GPRMC,093456.00,A,5159.12161,N,00423.71321,E,0.022,297.11,120308,,,A*69
+$GPRMC,093457.00,A,5159.12171,N,00423.71312,E,0.010,,120308,,,A*7A
+$GPRMC,093458.00,A,5159.12181,N,00423.71303,E,0.037,296.99,120308,,,A*6C
+$GPRMC,093459.00,A,5159.12192,N,00423.71292,E,0.124,298.67,120308,,,A*6A
+$GPRMC,093500.00,A,5159.12200,N,00423.71284,E,0.025,299.24,120308,,,A*6E
+$GPRMC,093501.00,A,5159.12206,N,00423.71274,E,0.023,297.54,120308,,,A*69
+$GPRMC,093502.00,A,5159.12211,N,00423.71267,E,0.006,,120308,,,A*7A
+$GPRMC,093503.00,A,5159.12216,N,00423.71261,E,0.003,,120308,,,A*7F
+$GPRMC,093504.00,A,5159.12222,N,00423.71253,E,0.010,,120308,,,A*7C
+$GPRMC,093505.00,A,5159.12227,N,00423.71246,E,0.016,,120308,,,A*7A
+$GPRMC,093506.00,A,5159.12231,N,00423.71238,E,0.012,,120308,,,A*73
+$GPRMC,093507.00,A,5159.12235,N,00423.71230,E,0.018,,120308,,,A*74
+$GPRMC,093508.00,A,5159.12232,N,00423.71231,E,0.018,,120308,,,A*7D
+$GPRMC,093509.00,A,5159.12231,N,00423.71231,E,0.018,,120308,,,A*7F
+$GPRMC,093510.00,A,5159.12230,N,00423.71230,E,0.020,298.51,120308,,,A*65
+$GPRMC,093511.00,A,5159.12229,N,00423.71229,E,0.015,,120308,,,A*7B
+$GPRMC,093512.00,A,5159.12228,N,00423.71228,E,0.033,293.81,120308,,,A*63
+$GPRMC,093513.00,A,5159.12229,N,00423.71226,E,0.008,,120308,,,A*7A
+$GPRMC,093514.00,A,5159.12230,N,00423.71224,E,0.004,,120308,,,A*7B
+$GPRMC,093515.00,A,5159.12231,N,00423.71224,E,0.027,295.27,120308,,,A*6F
+$GPRMC,093516.00,A,5159.12232,N,00423.71222,E,0.010,,120308,,,A*78
+$GPRMC,093517.00,A,5159.12232,N,00423.71220,E,0.012,,120308,,,A*79
+$GPRMC,093518.00,A,5159.12233,N,00423.71219,E,0.023,293.28,120308,,,A*63
+$GPRMC,093519.00,A,5159.12234,N,00423.71218,E,0.007,,120308,,,A*7E
+$GPRMC,093520.00,A,5159.12235,N,00423.71218,E,0.007,,120308,,,A*75
+$GPRMC,093521.00,A,5159.12235,N,00423.71217,E,0.015,,120308,,,A*78
+$GPRMC,093522.00,A,5159.12238,N,00423.71214,E,0.012,,120308,,,A*72
+$GPRMC,093523.00,A,5159.12240,N,00423.71211,E,0.025,290.55,120308,,,A*68
+$GPRMC,093524.00,A,5159.12243,N,00423.71207,E,0.014,,120308,,,A*7C
+$GPRMC,093525.00,A,5159.12246,N,00423.71203,E,0.018,,120308,,,A*70
+$GPRMC,093526.00,A,5159.12249,N,00423.71199,E,0.027,290.50,120308,,,A*60
+$GPRMC,093527.00,A,5159.12252,N,00423.71194,E,0.004,,120308,,,A*77
+$GPRMC,093528.00,A,5159.12252,N,00423.71191,E,0.021,285.90,120308,,,A*62
+$GPRMC,093529.00,A,5159.12254,N,00423.71188,E,0.021,283.00,120308,,,A*62
+$GPRMC,093530.00,A,5159.12256,N,00423.71184,E,0.003,,120308,,,A*73
+$GPRMC,093531.00,A,5159.12259,N,00423.71179,E,0.021,285.34,120308,,,A*69
+$GPRMC,093532.00,A,5159.12264,N,00423.71175,E,0.012,,120308,,,A*7E
+$GPRMC,093533.00,A,5159.12266,N,00423.71182,E,0.008,,120308,,,A*7E
+$GPRMC,093534.00,A,5159.12271,N,00423.71184,E,0.014,,120308,,,A*74
+$GPRMC,093535.00,A,5159.12278,N,00423.71181,E,0.026,286.85,120308,,,A*67
+$GPRMC,093536.00,A,5159.12279,N,00423.71182,E,0.008,,120308,,,A*75
+$GPRMC,093537.00,A,5159.12278,N,00423.71182,E,0.012,,120308,,,A*7E
+$GPRMC,093538.00,A,5159.12277,N,00423.71183,E,0.016,,120308,,,A*7B
+$GPRMC,093539.00,A,5159.12276,N,00423.71181,E,0.018,,120308,,,A*77
+$GPRMC,093540.00,A,5159.12275,N,00423.71181,E,0.010,,120308,,,A*72
+$GPRMC,093541.00,A,5159.12277,N,00423.71180,E,0.059,288.04,120308,,,A*65
+$GPRMC,093542.00,A,5159.12279,N,00423.71180,E,0.013,,120308,,,A*7E
+$GPRMC,093543.00,A,5159.12280,N,00423.71182,E,0.021,284.29,120308,,,A*61
+$GPRMC,093544.00,A,5159.12282,N,00423.71184,E,0.014,,120308,,,D*7A
+$GPRMC,093545.00,A,5159.12273,N,00423.71196,E,0.848,275.42,120308,,,D*6F
+$GPRMC,093546.00,A,5159.12263,N,00423.71209,E,0.361,266.99,120308,,,D*6C
+$GPRMC,093547.00,A,5159.12270,N,00423.71202,E,0.017,,120308,,,D*7A
+$GPRMC,093548.00,A,5159.12270,N,00423.71201,E,0.027,265.07,120308,,,D*6D
+$GPRMC,093549.00,A,5159.12278,N,00423.71195,E,0.024,267.75,120308,,,D*6E
+$GPRMC,093550.00,A,5159.12281,N,00423.71195,E,0.014,,120308,,,D*7C
+$GPRMC,093551.00,A,5159.12281,N,00423.71198,E,0.023,272.00,120308,,,D*6D
+$GPRMC,093552.00,A,5159.12281,N,00423.71201,E,0.025,269.98,120308,,,D*60
+$GPRMC,093553.00,A,5159.12278,N,00423.71202,E,0.029,267.34,120308,,,D*60
+$GPRMC,093554.00,A,5159.12280,N,00423.71201,E,0.010,,120308,,,D*73
+$GPRMC,093555.00,A,5159.12279,N,00423.71201,E,0.018,,120308,,,D*7C
+$GPRMC,093556.00,A,5159.12280,N,00423.71196,E,0.017,,120308,,,D*7B
+$GPRMC,093557.00,A,5159.12280,N,00423.71194,E,0.017,,120308,,,D*78
+$GPRMC,093558.00,A,5159.12280,N,00423.71193,E,0.023,267.71,120308,,,D*6C
+$GPRMC,093559.00,A,5159.12278,N,00423.71194,E,0.040,262.65,120308,,,D*68
+$GPRMC,093600.00,A,5159.12275,N,00423.71199,E,0.013,,120308,,,D*7A
+$GPRMC,093601.00,A,5159.12276,N,00423.71188,E,0.542,264.06,120308,,,D*61
+$GPRMC,093602.00,A,5159.12276,N,00423.71150,E,1.340,264.97,120308,,,D*6A
+$GPRMC,093603.00,A,5159.12275,N,00423.71087,E,1.560,265.77,120308,,,D*68
+$GPRMC,093604.00,A,5159.12272,N,00423.70999,E,2.569,266.18,120308,,,D*6F
+$GPRMC,093605.00,A,5159.12255,N,00423.70836,E,4.174,266.99,120308,,,D*68
+$GPRMC,093606.00,A,5159.12257,N,00423.70619,E,6.092,275.07,120308,,,D*64
+$GPRMC,093607.00,A,5159.12281,N,00423.70353,E,6.070,285.62,120308,,,D*65
+$GPRMC,093608.00,A,5159.12440,N,00423.70127,E,9.388,319.74,120308,,,D*68
+$GPRMC,093609.00,A,5159.12718,N,00423.69903,E,13.486,335.86,120308,,,D*50
+$GPRMC,093610.00,A,5159.13099,N,00423.69691,E,14.776,343.02,120308,,,D*55
+$GPRMC,093611.00,A,5159.13490,N,00423.69508,E,14.134,344.03,120308,,,D*5C
+$GPRMC,093612.00,A,5159.13836,N,00423.69342,E,11.762,341.47,120308,,,D*52
+$GPRMC,093613.00,A,5159.14132,N,00423.69113,E,11.982,327.93,120308,,,D*56
+$GPRMC,093614.00,A,5159.14406,N,00423.68686,E,15.389,309.37,120308,,,D*5E
+$GPRMC,093615.00,A,5159.14660,N,00423.68072,E,17.154,300.37,120308,,,D*59
+$GPRMC,093616.00,A,5159.14829,N,00423.67341,E,18.109,289.45,120308,,,D*57
+$GPRMC,093617.00,A,5159.14975,N,00423.66536,E,18.574,287.77,120308,,,D*58
+$GPRMC,093618.00,A,5159.15126,N,00423.65721,E,18.835,287.20,120308,,,D*55
+$GPRMC,093619.00,A,5159.15274,N,00423.64917,E,18.392,287.55,120308,,,D*5E
+$GPRMC,093620.00,A,5159.15491,N,00423.64149,E,18.087,298.87,120308,,,D*5C
+$GPRMC,093621.00,A,5159.15875,N,00423.63458,E,20.145,315.53,120308,,,D*50
+$GPRMC,093622.00,A,5159.16369,N,00423.62902,E,22.973,332.66,120308,,,D*59
+$GPRMC,093623.00,A,5159.17021,N,00423.62458,E,26.747,340.55,120308,,,D*5C
+$GPRMC,093624.00,A,5159.17764,N,00423.62060,E,28.692,342.49,120308,,,D*5A
+$GPRMC,093625.00,A,5159.18552,N,00423.61662,E,29.786,342.76,120308,,,D*5D
+$GPRMC,093626.00,A,5159.19382,N,00423.61260,E,31.572,343.99,120308,,,D*52
+$GPRMC,093627.00,A,5159.20276,N,00423.60860,E,33.950,345.17,120308,,,D*56
+$GPRMC,093628.00,A,5159.21235,N,00423.60440,E,36.519,344.86,120308,,,D*5C
+$GPRMC,093629.00,A,5159.22270,N,00423.59988,E,38.916,344.65,120308,,,D*5C
+$GPRMC,093630.00,A,5159.23366,N,00423.59501,E,41.586,344.81,120308,,,D*5F
+$GPRMC,093631.00,A,5159.24535,N,00423.58985,E,44.359,344.90,120308,,,D*59
+$GPRMC,093632.00,A,5159.25776,N,00423.58430,E,47.045,344.52,120308,,,D*5E
+$GPRMC,093633.00,A,5159.27086,N,00423.57834,E,49.567,344.34,120308,,,D*59
+$GPRMC,093634.00,A,5159.28463,N,00423.57201,E,52.146,344.33,120308,,,D*58
+$GPRMC,093635.00,A,5159.29903,N,00423.56548,E,53.918,344.29,120308,,,D*51
+$GPRMC,093636.00,A,5159.31359,N,00423.55887,E,53.735,344.53,120308,,,D*5F
+$GPRMC,093637.00,A,5159.32830,N,00423.55218,E,55.193,344.27,120308,,,D*5A
+$GPRMC,093638.00,A,5159.34339,N,00423.54524,E,56.734,344.09,120308,,,D*5C
+$GPRMC,093639.00,A,5159.35872,N,00423.53807,E,57.268,343.79,120308,,,D*5E
+$GPRMC,093640.00,A,5159.37422,N,00423.53079,E,57.386,343.92,120308,,,D*5E
+$GPRMC,093641.00,A,5159.38953,N,00423.52366,E,56.145,344.10,120308,,,D*56
+$GPRMC,093642.00,A,5159.40451,N,00423.51676,E,54.790,344.23,120308,,,D*5E
+$GPRMC,093643.00,A,5159.41910,N,00423.51008,E,53.536,344.29,120308,,,D*5A
+$GPRMC,093644.00,A,5159.43339,N,00423.50364,E,52.624,344.45,120308,,,D*5D
+$GPRMC,093645.00,A,5159.44749,N,00423.49735,E,52.183,344.58,120308,,,D*56
+$GPRMC,093646.00,A,5159.46147,N,00423.49113,E,51.814,344.77,120308,,,D*54
+$GPRMC,093647.00,A,5159.47535,N,00423.48504,E,51.535,344.89,120308,,,D*59
+$GPRMC,093648.00,A,5159.48926,N,00423.47909,E,51.495,345.16,120308,,,D*55
+$GPRMC,093649.00,A,5159.50319,N,00423.47310,E,51.818,345.10,120308,,,D*56
+$GPRMC,093650.00,A,5159.51718,N,00423.46707,E,52.198,345.06,120308,,,D*5C
+$GPRMC,093651.00,A,5159.53125,N,00423.46104,E,52.348,344.98,120308,,,D*5B
+$GPRMC,093652.00,A,5159.54530,N,00423.45496,E,51.984,344.94,120308,,,D*57
+$GPRMC,093653.00,A,5159.55922,N,00423.44898,E,51.347,345.05,120308,,,D*57
+$GPRMC,093654.00,A,5159.57294,N,00423.44312,E,50.552,345.05,120308,,,D*5E
+$GPRMC,093655.00,A,5159.58622,N,00423.43745,E,48.210,345.18,120308,,,D*5C
+$GPRMC,093656.00,A,5159.59873,N,00423.43216,E,45.073,345.31,120308,,,D*56
+$GPRMC,093657.00,A,5159.61062,N,00423.42717,E,43.456,345.39,120308,,,D*5C
+$GPRMC,093658.00,A,5159.62215,N,00423.42232,E,42.524,345.19,120308,,,D*57
+$GPRMC,093659.00,A,5159.63346,N,00423.41748,E,42.031,344.91,120308,,,D*5B
+$GPRMC,093700.00,A,5159.64474,N,00423.41262,E,42.329,345.04,120308,,,D*5D
+$GPRMC,093701.00,A,5159.65616,N,00423.40772,E,42.728,345.12,120308,,,D*5C
+$GPRMC,093702.00,A,5159.66767,N,00423.40276,E,43.245,345.05,120308,,,D*53
+$GPRMC,093703.00,A,5159.67933,N,00423.39773,E,43.643,345.14,120308,,,D*50
+$GPRMC,093704.00,A,5159.69107,N,00423.39269,E,43.882,345.17,120308,,,D*58
+$GPRMC,093705.00,A,5159.70279,N,00423.38764,E,43.473,345.04,120308,,,D*52
+$GPRMC,093706.00,A,5159.71440,N,00423.38263,E,43.036,345.19,120308,,,D*57
+$GPRMC,093707.00,A,5159.72589,N,00423.37769,E,42.541,345.01,120308,,,D*5C
+$GPRMC,093708.00,A,5159.73730,N,00423.37272,E,42.650,344.90,120308,,,D*57
+$GPRMC,093709.00,A,5159.74875,N,00423.36774,E,42.988,344.94,120308,,,D*53
+$GPRMC,093710.00,A,5159.76034,N,00423.36288,E,43.265,345.23,120308,,,D*56
+$GPRMC,093711.00,A,5159.77234,N,00423.35815,E,44.660,345.75,120308,,,D*5C
+$GPRMC,093712.00,A,5159.78450,N,00423.35324,E,45.552,345.70,120308,,,D*5B
+$GPRMC,093713.00,A,5159.79674,N,00423.34824,E,46.424,345.76,120308,,,D*50
+$GPRMC,093714.00,A,5159.80931,N,00423.34302,E,47.231,345.78,120308,,,D*5D
+$GPRMC,093715.00,A,5159.82202,N,00423.33771,E,47.377,345.56,120308,,,D*5D
+$GPRMC,093716.00,A,5159.83486,N,00423.33236,E,48.375,345.57,120308,,,D*5F
+$GPRMC,093717.00,A,5159.84762,N,00423.32670,E,47.211,344.58,120308,,,D*55
+$GPRMC,093718.00,A,5159.86005,N,00423.32144,E,46.837,344.75,120308,,,D*5E
+$GPRMC,093719.00,A,5159.87242,N,00423.31585,E,46.290,344.80,120308,,,D*58
+$GPRMC,093720.00,A,5159.88469,N,00423.31034,E,45.834,344.75,120308,,,D*50
+$GPRMC,093721.00,A,5159.89696,N,00423.30486,E,45.473,344.91,120308,,,D*5B
+$GPRMC,093722.00,A,5159.90916,N,00423.29954,E,45.244,345.15,120308,,,D*52
+$GPRMC,093723.00,A,5159.92131,N,00423.29429,E,45.151,345.27,120308,,,D*5D
+$GPRMC,093724.00,A,5159.93346,N,00423.28915,E,44.974,345.53,120308,,,D*57
+$GPRMC,093725.00,A,5159.94561,N,00423.28404,E,44.855,345.50,120308,,,D*5E
+$GPRMC,093726.00,A,5159.95770,N,00423.27897,E,44.486,345.50,120308,,,D*55
+$GPRMC,093727.00,A,5159.96957,N,00423.27394,E,44.013,345.38,120308,,,D*52
+$GPRMC,093728.00,A,5159.98136,N,00423.26889,E,43.539,345.27,120308,,,D*5E
+$GPRMC,093729.00,A,5159.99299,N,00423.26391,E,43.302,345.42,120308,,,D*57
+$GPRMC,093730.00,A,5200.00458,N,00423.25894,E,43.027,345.05,120308,,,D*51
+$GPRMC,093731.00,A,5200.01613,N,00423.25387,E,43.068,344.85,120308,,,D*57
+$GPRMC,093732.00,A,5200.02770,N,00423.24868,E,43.363,344.51,120308,,,D*59
+$GPRMC,093733.00,A,5200.03930,N,00423.24352,E,43.398,344.96,120308,,,D*5E
+$GPRMC,093734.00,A,5200.05097,N,00423.23843,E,43.769,344.95,120308,,,D*5E
+$GPRMC,093735.00,A,5200.06277,N,00423.23330,E,44.307,345.06,120308,,,D*5F
+$GPRMC,093736.00,A,5200.07462,N,00423.22813,E,44.278,344.96,120308,,,D*55
+$GPRMC,093737.00,A,5200.08648,N,00423.22297,E,44.236,344.98,120308,,,D*53
+$GPRMC,093738.00,A,5200.09834,N,00423.21785,E,44.084,345.20,120308,,,D*54
+$GPRMC,093739.00,A,5200.11018,N,00423.21272,E,44.106,344.93,120308,,,D*55
+$GPRMC,093740.00,A,5200.12196,N,00423.20764,E,44.291,344.83,120308,,,D*50
+$GPRMC,093741.00,A,5200.13380,N,00423.20254,E,44.405,345.21,120308,,,D*51
+$GPRMC,093742.00,A,5200.14570,N,00423.19752,E,44.696,345.10,120308,,,D*5F
+$GPRMC,093743.00,A,5200.15765,N,00423.19243,E,44.746,345.12,120308,,,D*52
+$GPRMC,093744.00,A,5200.16956,N,00423.18740,E,44.411,345.14,120308,,,D*58
+$GPRMC,093745.00,A,5200.18152,N,00423.18228,E,44.596,345.04,120308,,,D*5F
+$GPRMC,093746.00,A,5200.19355,N,00423.17707,E,45.839,344.14,120308,,,D*56
+$GPRMC,093747.00,A,5200.20591,N,00423.17119,E,47.469,342.82,120308,,,D*58
+$GPRMC,093748.00,A,5200.21860,N,00423.16464,E,48.997,341.48,120308,,,D*5D
+$GPRMC,093749.00,A,5200.23153,N,00423.15755,E,49.033,341.04,120308,,,D*5B
+$GPRMC,093750.00,A,5200.24456,N,00423.15030,E,50.012,340.95,120308,,,D*52
+$GPRMC,093751.00,A,5200.25783,N,00423.14254,E,51.149,339.60,120308,,,D*52
+$GPRMC,093752.00,A,5200.27106,N,00423.13439,E,50.584,338.52,120308,,,D*56
+$GPRMC,093753.00,A,5200.28404,N,00423.12589,E,50.604,337.21,120308,,,D*54
+$GPRMC,093754.00,A,5200.29697,N,00423.11698,E,50.862,335.48,120308,,,D*59
+$GPRMC,093755.00,A,5200.30985,N,00423.10734,E,51.383,333.86,120308,,,D*5B
+$GPRMC,093756.00,A,5200.32271,N,00423.09707,E,51.759,332.56,120308,,,D*5D
+$GPRMC,093757.00,A,5200.33546,N,00423.08651,E,52.113,331.50,120308,,,D*53
+$GPRMC,093758.00,A,5200.34810,N,00423.07503,E,52.553,329.91,120308,,,D*5A
+$GPRMC,093759.00,A,5200.36073,N,00423.06286,E,53.219,329.02,120308,,,D*5D
+$GPRMC,093800.00,A,5200.37338,N,00423.05031,E,53.836,328.20,120308,,,D*58
+$GPRMC,093801.00,A,5200.38604,N,00423.03735,E,54.398,327.58,120308,,,D*51
+$GPRMC,093802.00,A,5200.39868,N,00423.02399,E,54.431,326.63,120308,,,D*59
+$GPRMC,093803.00,A,5200.41114,N,00423.01022,E,54.363,325.38,120308,,,D*58
+$GPRMC,093804.00,A,5200.42343,N,00422.99604,E,54.201,324.21,120308,,,D*52
+$GPRMC,093805.00,A,5200.43552,N,00422.98171,E,54.199,323.85,120308,,,D*5B
+$GPRMC,093806.00,A,5200.44755,N,00422.96748,E,54.117,323.84,120308,,,D*5F
+$GPRMC,093807.00,A,5200.45957,N,00422.95351,E,54.085,324.16,120308,,,D*5A
+$GPRMC,093808.00,A,5200.47176,N,00422.93925,E,54.159,324.57,120308,,,D*56
+$GPRMC,093809.00,A,5200.48391,N,00422.92518,E,53.351,324.75,120308,,,D*5D
+$GPRMC,093810.00,A,5200.49585,N,00422.91135,E,52.373,324.47,120308,,,D*5F
+$GPRMC,093811.00,A,5200.50760,N,00422.89746,E,51.550,324.21,120308,,,D*50
+$GPRMC,093812.00,A,5200.51909,N,00422.88401,E,50.369,324.41,120308,,,D*59
+$GPRMC,093813.00,A,5200.53034,N,00422.87083,E,49.572,324.13,120308,,,D*5F
+$GPRMC,093814.00,A,5200.54138,N,00422.85768,E,49.152,323.40,120308,,,D*55
+$GPRMC,093815.00,A,5200.55228,N,00422.84436,E,48.864,322.94,120308,,,D*5B
+$GPRMC,093816.00,A,5200.56302,N,00422.83106,E,48.112,322.65,120308,,,D*55
+$GPRMC,093817.00,A,5200.57356,N,00422.81788,E,47.899,322.28,120308,,,D*5A
+$GPRMC,093818.00,A,5200.58411,N,00422.80467,E,48.279,322.51,120308,,,D*58
+$GPRMC,093819.00,A,5200.59483,N,00422.79135,E,48.836,322.95,120308,,,D*5E
+$GPRMC,093820.00,A,5200.60579,N,00422.77811,E,49.489,323.92,120308,,,D*54
+$GPRMC,093821.00,A,5200.61704,N,00422.76483,E,50.037,324.86,120308,,,D*51
+$GPRMC,093822.00,A,5200.62852,N,00422.75167,E,50.858,324.87,120308,,,D*51
+$GPRMC,093823.00,A,5200.64015,N,00422.73819,E,51.776,324.30,120308,,,D*55
+$GPRMC,093824.00,A,5200.65190,N,00422.72437,E,52.403,324.16,120308,,,D*58
+$GPRMC,093825.00,A,5200.66367,N,00422.71057,E,51.899,324.37,120308,,,D*5E
+$GPRMC,093826.00,A,5200.67528,N,00422.69709,E,50.858,324.51,120308,,,D*58
+$GPRMC,093827.00,A,5200.68663,N,00422.68389,E,49.695,324.38,120308,,,D*5F
+$GPRMC,093828.00,A,5200.69769,N,00422.67091,E,48.588,324.12,120308,,,D*59
+$GPRMC,093829.00,A,5200.70846,N,00422.65812,E,47.522,323.85,120308,,,D*55
+$GPRMC,093830.00,A,5200.71908,N,00422.64553,E,47.259,324.16,120308,,,D*58
+$GPRMC,093831.00,A,5200.72975,N,00422.63282,E,47.742,324.03,120308,,,D*57
+$GPRMC,093832.00,A,5200.74056,N,00422.62006,E,48.433,324.04,120308,,,D*58
+$GPRMC,093833.00,A,5200.75163,N,00422.60709,E,49.573,324.42,120308,,,D*53
+$GPRMC,093834.00,A,5200.76293,N,00422.59390,E,50.409,324.31,120308,,,D*55
+$GPRMC,093835.00,A,5200.77439,N,00422.58050,E,51.183,324.18,120308,,,D*50
+$GPRMC,093836.00,A,5200.78603,N,00422.56654,E,51.612,324.18,120308,,,D*54
+$GPRMC,093837.00,A,5200.79769,N,00422.55276,E,51.832,324.02,120308,,,D*59
+$GPRMC,093838.00,A,5200.80938,N,00422.53891,E,52.047,323.89,120308,,,D*52
+$GPRMC,093839.00,A,5200.82114,N,00422.52511,E,52.389,324.38,120308,,,D*5F
+$GPRMC,093840.00,A,5200.83301,N,00422.51121,E,52.775,324.13,120308,,,D*5C
+$GPRMC,093841.00,A,5200.84498,N,00422.49700,E,53.192,324.36,120308,,,D*58
+$GPRMC,093842.00,A,5200.85696,N,00422.48305,E,53.156,324.37,120308,,,D*5F
+$GPRMC,093843.00,A,5200.86883,N,00422.46930,E,52.221,324.36,120308,,,D*56
+$GPRMC,093844.00,A,5200.88050,N,00422.45569,E,51.392,324.15,120308,,,D*51
+$GPRMC,093845.00,A,5200.89202,N,00422.44223,E,50.979,324.25,120308,,,D*51
+$GPRMC,093846.00,A,5200.90350,N,00422.42881,E,51.024,324.24,120308,,,D*59
+$GPRMC,093847.00,A,5200.91499,N,00422.41529,E,51.254,323.91,120308,,,D*5B
+$GPRMC,093848.00,A,5200.92651,N,00422.40164,E,51.268,324.10,120308,,,D*5C
+$GPRMC,093849.00,A,5200.93808,N,00422.38798,E,51.456,324.09,120308,,,D*57
+$GPRMC,093850.00,A,5200.94974,N,00422.37423,E,51.895,324.09,120308,,,D*5D
+$GPRMC,093851.00,A,5200.96149,N,00422.36043,E,52.322,324.35,120308,,,D*50
+$GPRMC,093852.00,A,5200.97335,N,00422.34661,E,52.489,324.53,120308,,,D*59
+$GPRMC,093853.00,A,5200.98529,N,00422.33285,E,52.910,324.80,120308,,,D*56
+$GPRMC,093854.00,A,5200.99737,N,00422.31915,E,53.112,325.41,120308,,,D*5A
+$GPRMC,093855.00,A,5201.00950,N,00422.30562,E,52.906,325.71,120308,,,D*57
+$GPRMC,093856.00,A,5201.02174,N,00422.29198,E,53.513,325.57,120308,,,D*5C
+$GPRMC,093857.00,A,5201.03406,N,00422.27828,E,53.803,325.62,120308,,,D*5A
+$GPRMC,093858.00,A,5201.04637,N,00422.26454,E,53.703,325.26,120308,,,D*5B
+$GPRMC,093859.00,A,5201.05857,N,00422.25055,E,53.840,324.31,120308,,,D*5A
+$GPRMC,093900.00,A,5201.07079,N,00422.23629,E,54.413,324.23,120308,,,D*54
+$GPRMC,093901.00,A,5201.08320,N,00422.22194,E,55.120,324.74,120308,,,D*53
+$GPRMC,093902.00,A,5201.09581,N,00422.20755,E,55.705,324.87,120308,,,D*58
+$GPRMC,093903.00,A,5201.10853,N,00422.19306,E,56.049,324.83,120308,,,D*53
+$GPRMC,093904.00,A,5201.12126,N,00422.17838,E,56.373,324.22,120308,,,A*51
+$GPRMC,093905.00,A,5201.13395,N,00422.16371,E,56.250,324.62,120308,,,A*58
+$GPRMC,093906.00,A,5201.14676,N,00422.14879,E,56.536,324.21,120308,,,A*55
+$GPRMC,093907.00,A,5201.15951,N,00422.13389,E,56.590,324.16,120308,,,A*54
+$GPRMC,093908.00,A,5201.17218,N,00422.11907,E,55.909,324.27,120308,,,A*5C
+$GPRMC,093909.00,A,5201.18471,N,00422.10449,E,55.131,324.44,120308,,,A*5B
+$GPRMC,093910.00,A,5201.19712,N,00422.09014,E,54.600,324.61,120308,,,A*53
+$GPRMC,093911.00,A,5201.20942,N,00422.07594,E,54.414,324.34,120308,,,A*57
+$GPRMC,093912.00,A,5201.22169,N,00422.06176,E,54.028,324.54,120308,,,A*53
+$GPRMC,093913.00,A,5201.23387,N,00422.04758,E,53.892,324.09,120308,,,A*5F
+$GPRMC,093914.00,A,5201.24597,N,00422.03333,E,53.784,323.91,120308,,,A*58
+$GPRMC,093915.00,A,5201.25803,N,00422.01914,E,53.510,324.12,120308,,,A*56
+$GPRMC,093916.00,A,5201.27004,N,00422.00505,E,53.391,323.99,120308,,,A*5E
+$GPRMC,093917.00,A,5201.28205,N,00421.99091,E,53.486,324.16,120308,,,A*59
+$GPRMC,093918.00,A,5201.29414,N,00421.97682,E,53.605,324.34,120308,,,A*52
+$GPRMC,093919.00,A,5201.30628,N,00421.96273,E,53.882,324.53,120308,,,A*5D
+$GPRMC,093920.00,A,5201.31847,N,00421.94858,E,54.034,324.22,120308,,,A*54
+$GPRMC,093921.00,A,5201.33067,N,00421.93435,E,54.331,324.44,120308,,,A*5B
+$GPRMC,093922.00,A,5201.34292,N,00421.92007,E,54.557,324.57,120308,,,A*57
+$GPRMC,093923.00,A,5201.35520,N,00421.90581,E,54.485,324.44,120308,,,A*5C
+$GPRMC,093924.00,A,5201.36739,N,00421.89152,E,54.376,323.95,120308,,,A*50
+$GPRMC,093925.00,A,5201.37960,N,00421.87712,E,54.456,323.91,120308,,,A*5F
+$GPRMC,093926.00,A,5201.39183,N,00421.86267,E,54.466,323.84,120308,,,A*56
+$GPRMC,093927.00,A,5201.40411,N,00421.84829,E,54.584,324.32,120308,,,A*52
+$GPRMC,093928.00,A,5201.41642,N,00421.83397,E,54.622,324.33,120308,,,A*5F
+$GPRMC,093929.00,A,5201.42871,N,00421.81937,E,55.064,323.25,120308,,,A*54
+$GPRMC,093930.00,A,5201.44100,N,00421.80429,E,55.753,322.48,120308,,,A*5F
+$GPRMC,093931.00,A,5201.45334,N,00421.78886,E,56.309,322.25,120308,,,A*57
+$GPRMC,093932.00,A,5201.46577,N,00421.77335,E,56.663,322.59,120308,,,A*58
+$GPRMC,093933.00,A,5201.47832,N,00421.75790,E,56.719,322.98,120308,,,A*5C
+$GPRMC,093934.00,A,5201.49097,N,00421.74265,E,56.807,323.79,120308,,,A*52
+$GPRMC,093935.00,A,5201.50373,N,00421.72771,E,57.072,324.33,120308,,,A*56
+$GPRMC,093936.00,A,5201.51657,N,00421.71277,E,57.224,324.59,120308,,,A*5A
+$GPRMC,093937.00,A,5201.52951,N,00421.69777,E,57.419,324.39,120308,,,A*53
+$GPRMC,093938.00,A,5201.54248,N,00421.68265,E,57.680,324.38,120308,,,A*5D
+$GPRMC,093939.00,A,5201.55554,N,00421.66768,E,57.694,325.04,120308,,,A*5A
+$GPRMC,093940.00,A,5201.56869,N,00421.65291,E,57.604,325.47,120308,,,A*5A
+$GPRMC,093941.00,A,5201.58177,N,00421.63841,E,56.501,325.71,120308,,,A*50
+$GPRMC,093942.00,A,5201.59463,N,00421.62423,E,55.555,325.78,120308,,,A*50
+$GPRMC,093943.00,A,5201.60704,N,00421.61060,E,54.313,325.56,120308,,,A*50
+$GPRMC,093944.00,A,5201.61938,N,00421.59712,E,54.676,325.33,120308,,,A*5B
+$GPRMC,093945.00,A,5201.63173,N,00421.58308,E,54.430,324.63,120308,,,A*55
+$GPRMC,093946.00,A,5201.64397,N,00421.56889,E,54.476,324.54,120308,,,A*53
+$GPRMC,093947.00,A,5201.65628,N,00421.55459,E,54.765,324.37,120308,,,A*54
+$GPRMC,093948.00,A,5201.66864,N,00421.54010,E,54.833,324.31,120308,,,A*5C
+$GPRMC,093949.00,A,5201.68100,N,00421.52559,E,54.516,324.18,120308,,,A*57
+$GPRMC,093950.00,A,5201.69335,N,00421.51119,E,54.057,324.51,120308,,,A*54
+$GPRMC,093951.00,A,5201.70562,N,00421.49705,E,53.749,324.70,120308,,,A*57
+$GPRMC,093952.00,A,5201.71782,N,00421.48299,E,53.698,324.46,120308,,,A*50
+$GPRMC,093953.00,A,5201.73001,N,00421.46892,E,53.684,324.54,120308,,,A*5E
+$GPRMC,093954.00,A,5201.74217,N,00421.45492,E,53.432,324.51,120308,,,A*5E
+$GPRMC,093955.00,A,5201.75429,N,00421.44097,E,53.443,324.48,120308,,,A*5B
+$GPRMC,093956.00,A,5201.76639,N,00421.42682,E,53.843,323.97,120308,,,A*55
+$GPRMC,093957.00,A,5201.77855,N,00421.41252,E,54.045,323.95,120308,,,A*50
+$GPRMC,093958.00,A,5201.79075,N,00421.39827,E,54.049,324.14,120308,,,A*5E
+$GPRMC,093959.00,A,5201.80298,N,00421.38403,E,54.296,324.38,120308,,,A*5D
+$GPRMC,094000.00,A,5201.81519,N,00421.36971,E,54.219,323.73,120308,,,A*59
+$GPRMC,094001.00,A,5201.82741,N,00421.35541,E,54.286,324.23,120308,,,A*5C
+$GPRMC,094002.00,A,5201.84000,N,00421.34150,E,54.935,325.38,120308,,,A*56
+$GPRMC,094003.00,A,5201.85336,N,00421.32762,E,56.081,326.67,120308,,,A*5C
+$GPRMC,094004.00,A,5201.86637,N,00421.31407,E,55.863,327.76,120308,,,A*59
+$GPRMC,094005.00,A,5201.87954,N,00421.30102,E,55.874,329.16,120308,,,A*5C
+$GPRMC,094006.00,A,5201.89303,N,00421.28866,E,56.042,331.06,120308,,,A*5D
+$GPRMC,094007.00,A,5201.90684,N,00421.27709,E,56.190,333.07,120308,,,A*5A
+$GPRMC,094008.00,A,5201.92089,N,00421.26614,E,56.375,334.62,120308,,,A*5D
+$GPRMC,094009.00,A,5201.93513,N,00421.25589,E,56.338,336.76,120308,,,A*51
+$GPRMC,094010.00,A,5201.94944,N,00421.24653,E,56.185,338.44,120308,,,A*5E
+$GPRMC,094011.00,A,5201.96391,N,00421.23778,E,55.794,339.67,120308,,,A*55
+$GPRMC,094012.00,A,5201.97845,N,00421.22972,E,55.358,341.46,120308,,,A*58
+$GPRMC,094013.00,A,5201.99302,N,00421.22228,E,55.129,342.56,120308,,,A*5D
+$GPRMC,094014.00,A,5202.00761,N,00421.21550,E,54.842,344.46,120308,,,A*51
+$GPRMC,094015.00,A,5202.02227,N,00421.20942,E,54.673,345.88,120308,,,A*54
+$GPRMC,094016.00,A,5202.03700,N,00421.20403,E,54.500,347.80,120308,,,A*53
+$GPRMC,094017.00,A,5202.05189,N,00421.19938,E,54.631,349.24,120308,,,A*5D
+$GPRMC,094018.00,A,5202.06683,N,00421.19520,E,54.445,350.02,120308,,,A*54
+$GPRMC,094019.00,A,5202.08166,N,00421.19120,E,54.240,350.41,120308,,,A*57
+$GPRMC,094020.00,A,5202.09639,N,00421.18730,E,53.664,350.47,120308,,,A*54
+$GPRMC,094021.00,A,5202.11096,N,00421.18347,E,52.974,350.32,120308,,,A*56
+$GPRMC,094022.00,A,5202.12531,N,00421.17967,E,52.611,350.14,120308,,,A*51
+$GPRMC,094023.00,A,5202.13964,N,00421.17584,E,52.757,350.24,120308,,,A*5C
+$GPRMC,094024.00,A,5202.15400,N,00421.17203,E,52.613,350.46,120308,,,A*5F
+$GPRMC,094025.00,A,5202.16830,N,00421.16819,E,52.233,350.29,120308,,,A*5D
+$GPRMC,094026.00,A,5202.18254,N,00421.16435,E,51.906,350.26,120308,,,A*5B
+$GPRMC,094027.00,A,5202.19671,N,00421.16055,E,51.810,350.40,120308,,,A*5C
+$GPRMC,094028.00,A,5202.21083,N,00421.15672,E,51.595,350.26,120308,,,A*53
+$GPRMC,094029.00,A,5202.22489,N,00421.15295,E,51.194,350.38,120308,,,A*58
+$GPRMC,094030.00,A,5202.23888,N,00421.14946,E,50.851,351.77,120308,,,A*53
+$GPRMC,094031.00,A,5202.25283,N,00421.14664,E,50.671,353.61,120308,,,A*53
+$GPRMC,094032.00,A,5202.26683,N,00421.14439,E,50.682,354.63,120308,,,A*54
+$GPRMC,094033.00,A,5202.28082,N,00421.14257,E,50.844,355.96,120308,,,A*5D
+$GPRMC,094034.00,A,5202.29490,N,00421.14140,E,51.043,357.78,120308,,,A*55
+$GPRMC,094035.00,A,5202.30909,N,00421.14088,E,51.228,359.04,120308,,,A*5E
+$GPRMC,094036.00,A,5202.32334,N,00421.14073,E,51.493,359.74,120308,,,A*5E
+$GPRMC,094037.00,A,5202.33763,N,00421.14078,E,51.673,0.02,120308,,,A*51
+$GPRMC,094038.00,A,5202.35198,N,00421.14086,E,51.826,359.92,120308,,,A*53
+$GPRMC,094039.00,A,5202.36639,N,00421.14088,E,51.786,359.84,120308,,,A*51
+$GPRMC,094040.00,A,5202.38071,N,00421.14100,E,51.553,0.12,120308,,,A*50
+$GPRMC,094041.00,A,5202.39458,N,00421.14124,E,50.670,0.50,120308,,,A*5C
+$GPRMC,094042.00,A,5202.40871,N,00421.14132,E,51.579,359.85,120308,,,A*5D
+$GPRMC,094043.00,A,5202.42285,N,00421.14126,E,51.139,359.64,120308,,,A*55
+$GPRMC,094044.00,A,5202.43699,N,00421.14124,E,50.857,359.85,120308,,,A*57
+$GPRMC,094045.00,A,5202.45100,N,00421.14155,E,50.334,0.76,120308,,,A*5C
+$GPRMC,094046.00,A,5202.46486,N,00421.14216,E,49.403,1.82,120308,,,A*52
+$GPRMC,094047.00,A,5202.47859,N,00421.14349,E,49.519,4.00,120308,,,A*52
+$GPRMC,094048.00,A,5202.49246,N,00421.14556,E,49.236,6.36,120308,,,A*52
+$GPRMC,094049.00,A,5202.50604,N,00421.14867,E,48.900,8.41,120308,,,A*57
+$GPRMC,094050.00,A,5202.51943,N,00421.15249,E,48.584,10.26,120308,,,A*6D
+$GPRMC,094051.00,A,5202.53263,N,00421.15687,E,48.279,12.11,120308,,,A*62
+$GPRMC,094052.00,A,5202.54564,N,00421.16198,E,48.139,14.19,120308,,,A*65
+$GPRMC,094053.00,A,5202.55853,N,00421.16789,E,48.072,16.67,120308,,,A*6F
+$GPRMC,094054.00,A,5202.57125,N,00421.17463,E,48.279,18.42,120308,,,A*64
+$GPRMC,094055.00,A,5202.58393,N,00421.18214,E,48.430,20.32,120308,,,A*6B
+$GPRMC,094056.00,A,5202.59663,N,00421.19026,E,49.462,22.46,120308,,,A*66
+$GPRMC,094057.00,A,5202.60915,N,00421.19932,E,49.502,24.39,120308,,,A*66
+$GPRMC,094058.00,A,5202.62135,N,00421.20903,E,49.413,26.32,120308,,,A*61
+$GPRMC,094059.00,A,5202.63342,N,00421.21954,E,49.974,29.50,120308,,,A*67
+$GPRMC,094100.00,A,5202.64515,N,00421.23097,E,48.659,31.49,120308,,,A*6D
+$GPRMC,094101.00,A,5202.65642,N,00421.24282,E,47.789,33.21,120308,,,A*62
+$GPRMC,094102.00,A,5202.66721,N,00421.25507,E,46.960,34.89,120308,,,A*60
+$GPRMC,094103.00,A,5202.67763,N,00421.26755,E,46.573,36.26,120308,,,A*69
+$GPRMC,094104.00,A,5202.68794,N,00421.28054,E,47.089,37.16,120308,,,A*62
+$GPRMC,094105.00,A,5202.69832,N,00421.29394,E,47.820,37.98,120308,,,A*62
+$GPRMC,094106.00,A,5202.70880,N,00421.30763,E,48.259,38.67,120308,,,A*60
+$GPRMC,094107.00,A,5202.71922,N,00421.32148,E,47.972,38.99,120308,,,A*68
+$GPRMC,094108.00,A,5202.72956,N,00421.33534,E,48.016,39.18,120308,,,A*65
+$GPRMC,094109.00,A,5202.73993,N,00421.34932,E,48.440,39.35,120308,,,A*69
+$GPRMC,094110.00,A,5202.75036,N,00421.36345,E,48.784,39.50,120308,,,A*61
+$GPRMC,094111.00,A,5202.76089,N,00421.37775,E,49.208,39.60,120308,,,A*62
+$GPRMC,094112.00,A,5202.77145,N,00421.39214,E,49.775,40.11,120308,,,A*6A
+$GPRMC,094113.00,A,5202.78213,N,00421.40694,E,50.454,40.28,120308,,,A*64
+$GPRMC,094114.00,A,5202.79285,N,00421.42176,E,50.161,40.18,120308,,,A*64
+$GPRMC,094115.00,A,5202.80350,N,00421.43650,E,49.905,40.31,120308,,,A*61
+$GPRMC,094116.00,A,5202.81408,N,00421.45120,E,49.826,40.29,120308,,,A*66
+$GPRMC,094117.00,A,5202.82469,N,00421.46585,E,49.861,40.20,120308,,,A*61
+$GPRMC,094118.00,A,5202.83536,N,00421.48058,E,50.449,40.19,120308,,,A*6B
+$GPRMC,094119.00,A,5202.84626,N,00421.49542,E,51.631,39.50,120308,,,A*6F
+$GPRMC,094120.00,A,5202.85753,N,00421.51037,E,52.912,38.65,120308,,,A*63
+$GPRMC,094121.00,A,5202.86917,N,00421.52552,E,54.154,38.49,120308,,,A*68
+$GPRMC,094122.00,A,5202.88105,N,00421.54097,E,55.358,38.63,120308,,,A*63
+$GPRMC,094123.00,A,5202.89312,N,00421.55685,E,56.452,39.15,120308,,,A*6D
+$GPRMC,094124.00,A,5202.90542,N,00421.57341,E,57.904,39.85,120308,,,A*68
+$GPRMC,094125.00,A,5202.91784,N,00421.59056,E,58.522,40.69,120308,,,A*60
+$GPRMC,094126.00,A,5202.93028,N,00421.60793,E,58.984,40.63,120308,,,A*6E
+$GPRMC,094127.00,A,5202.94278,N,00421.62540,E,59.224,40.66,120308,,,A*64
+$GPRMC,094128.00,A,5202.95535,N,00421.64279,E,59.524,40.50,120308,,,A*6D
+$GPRMC,094129.00,A,5202.96799,N,00421.66039,E,59.963,40.53,120308,,,A*63
+$GPRMC,094130.00,A,5202.98067,N,00421.67817,E,60.321,40.95,120308,,,A*6A
+$GPRMC,094131.00,A,5202.99329,N,00421.69610,E,60.069,41.24,120308,,,A*60
+$GPRMC,094132.00,A,5203.00579,N,00421.71400,E,59.639,41.40,120308,,,A*60
+$GPRMC,094133.00,A,5203.01813,N,00421.73178,E,59.350,41.69,120308,,,A*68
+$GPRMC,094134.00,A,5203.03049,N,00421.74965,E,59.362,41.54,120308,,,A*66
+$GPRMC,094135.00,A,5203.04283,N,00421.76736,E,58.619,41.39,120308,,,A*6D
+$GPRMC,094136.00,A,5203.05507,N,00421.78490,E,58.356,41.51,120308,,,A*65
+$GPRMC,094137.00,A,5203.06720,N,00421.80251,E,58.375,42.16,120308,,,A*6D
+$GPRMC,094138.00,A,5203.07920,N,00421.82040,E,58.714,42.83,120308,,,A*62
+$GPRMC,094139.00,A,5203.09123,N,00421.83852,E,59.043,42.94,120308,,,A*6E
+$GPRMC,094140.00,A,5203.10325,N,00421.85677,E,59.235,43.08,120308,,,A*64
+$GPRMC,094141.00,A,5203.11523,N,00421.87515,E,59.382,43.47,120308,,,A*67
+$GPRMC,094142.00,A,5203.12704,N,00421.89375,E,59.075,44.56,120308,,,A*62
+$GPRMC,094143.00,A,5203.13861,N,00421.91254,E,58.707,45.16,120308,,,A*63
+$GPRMC,094144.00,A,5203.15007,N,00421.93129,E,58.257,45.23,120308,,,A*67
+$GPRMC,094145.00,A,5203.16159,N,00421.94959,E,57.609,43.45,120308,,,A*61
+$GPRMC,094146.00,A,5203.17333,N,00421.96701,E,56.886,41.36,120308,,,A*62
+$GPRMC,094147.00,A,5203.18537,N,00421.98331,E,56.279,38.43,120308,,,A*61
+$GPRMC,094148.00,A,5203.19779,N,00421.99844,E,55.829,35.52,120308,,,A*6E
+$GPRMC,094149.00,A,5203.21050,N,00422.01251,E,55.130,33.38,120308,,,A*6F
+$GPRMC,094150.00,A,5203.22326,N,00422.02566,E,53.989,31.60,120308,,,A*65
+$GPRMC,094151.00,A,5203.23596,N,00422.03796,E,52.821,30.25,120308,,,A*66
+$GPRMC,094152.00,A,5203.24862,N,00422.04942,E,51.848,28.22,120308,,,A*66
+$GPRMC,094153.00,A,5203.26132,N,00422.06000,E,51.230,26.76,120308,,,A*6E
+$GPRMC,094154.00,A,5203.27401,N,00422.07006,E,50.911,25.95,120308,,,A*6D
+$GPRMC,094155.00,A,5203.28667,N,00422.07998,E,50.597,26.02,120308,,,A*60
+$GPRMC,094156.00,A,5203.29919,N,00422.09004,E,50.229,26.89,120308,,,A*67
+$GPRMC,094157.00,A,5203.31157,N,00422.10028,E,50.012,27.25,120308,,,A*66
+$GPRMC,094158.00,A,5203.32382,N,00422.11064,E,49.808,27.96,120308,,,A*6A
+$GPRMC,094159.00,A,5203.33593,N,00422.12129,E,49.597,28.95,120308,,,A*60
+$GPRMC,094200.00,A,5203.34790,N,00422.13219,E,49.451,29.72,120308,,,A*6B
+$GPRMC,094201.00,A,5203.35972,N,00422.14326,E,49.019,30.30,120308,,,A*65
+$GPRMC,094202.00,A,5203.37133,N,00422.15446,E,48.579,30.87,120308,,,A*67
+$GPRMC,094203.00,A,5203.38281,N,00422.16573,E,48.204,31.43,120308,,,A*63
+$GPRMC,094204.00,A,5203.39413,N,00422.17712,E,47.993,32.07,120308,,,A*65
+$GPRMC,094205.00,A,5203.40533,N,00422.18858,E,47.790,32.42,120308,,,A*6B
+$GPRMC,094206.00,A,5203.41644,N,00422.20016,E,47.614,32.75,120308,,,A*6A
+$GPRMC,094207.00,A,5203.42743,N,00422.21179,E,47.313,33.03,120308,,,A*65
+$GPRMC,094208.00,A,5203.43833,N,00422.22328,E,46.641,32.65,120308,,,A*64
+$GPRMC,094209.00,A,5203.44915,N,00422.23454,E,46.203,32.61,120308,,,A*6C
+$GPRMC,094210.00,A,5203.45984,N,00422.24580,E,45.920,33.01,120308,,,A*6C
+$GPRMC,094211.00,A,5203.47047,N,00422.25715,E,45.967,33.45,120308,,,A*65
+$GPRMC,094212.00,A,5203.48096,N,00422.26858,E,45.771,34.14,120308,,,A*6A
+$GPRMC,094213.00,A,5203.49134,N,00422.28018,E,45.592,34.70,120308,,,A*6C
+$GPRMC,094214.00,A,5203.50171,N,00422.29188,E,45.968,34.79,120308,,,A*6B
+$GPRMC,094215.00,A,5203.51207,N,00422.30359,E,45.569,34.80,120308,,,A*64
+$GPRMC,094216.00,A,5203.52232,N,00422.31519,E,45.098,35.03,120308,,,A*60
+$GPRMC,094217.00,A,5203.53246,N,00422.32683,E,45.216,35.61,120308,,,A*60
+$GPRMC,094218.00,A,5203.54262,N,00422.33868,E,45.515,36.04,120308,,,A*60
+$GPRMC,094219.00,A,5203.55281,N,00422.35074,E,45.843,36.25,120308,,,A*63
+$GPRMC,094220.00,A,5203.56312,N,00422.36292,E,46.335,35.96,120308,,,A*6A
+$GPRMC,094221.00,A,5203.57361,N,00422.37514,E,46.996,35.52,120308,,,A*6D
+$GPRMC,094222.00,A,5203.58427,N,00422.38746,E,47.510,35.35,120308,,,A*6C
+$GPRMC,094223.00,A,5203.59503,N,00422.39985,E,47.745,35.38,120308,,,A*64
+$GPRMC,094224.00,A,5203.60585,N,00422.41229,E,47.920,35.41,120308,,,A*66
+$GPRMC,094225.00,A,5203.61670,N,00422.42475,E,47.982,35.47,120308,,,A*6D
+$GPRMC,094226.00,A,5203.62757,N,00422.43721,E,47.982,35.22,120308,,,A*69
+$GPRMC,094227.00,A,5203.63847,N,00422.44963,E,48.022,35.03,120308,,,A*67
+$GPRMC,094228.00,A,5203.64937,N,00422.46212,E,48.122,35.17,120308,,,A*62
+$GPRMC,094229.00,A,5203.66026,N,00422.47454,E,48.000,35.10,120308,,,A*6B
+$GPRMC,094230.00,A,5203.67110,N,00422.48685,E,47.513,35.21,120308,,,A*6D
+$GPRMC,094231.00,A,5203.68163,N,00422.49900,E,45.785,35.61,120308,,,A*6F
+$GPRMC,094232.00,A,5203.69167,N,00422.51070,E,43.387,35.90,120308,,,A*60
+$GPRMC,094233.00,A,5203.70137,N,00422.52204,E,42.814,35.62,120308,,,A*63
+$GPRMC,094234.00,A,5203.71035,N,00422.53303,E,40.324,36.32,120308,,,A*6D
+$GPRMC,094235.00,A,5203.71874,N,00422.54338,E,38.778,35.84,120308,,,A*62
+$GPRMC,094236.00,A,5203.72743,N,00422.55352,E,38.767,35.57,120308,,,A*64
+$GPRMC,094237.00,A,5203.73594,N,00422.56345,E,38.108,37.34,120308,,,A*61
+$GPRMC,094238.00,A,5203.74477,N,00422.57341,E,38.545,34.45,120308,,,A*68
+$GPRMC,094239.00,A,5203.75295,N,00422.58204,E,36.352,35.06,120308,,,A*65
+$GPRMC,094240.00,A,5203.76125,N,00422.59121,E,37.328,34.93,120308,,,A*64
+$GPRMC,094241.00,A,5203.76938,N,00422.60106,E,38.019,35.63,120308,,,A*6E
+$GPRMC,094242.00,A,5203.77793,N,00422.61092,E,38.178,35.72,120308,,,A*68
+$GPRMC,094243.00,A,5203.78651,N,00422.62088,E,37.971,35.40,120308,,,A*6E
+$GPRMC,094244.00,A,5203.79501,N,00422.63081,E,38.260,35.37,120308,,,A*62
+$GPRMC,094245.00,A,5203.80357,N,00422.64090,E,38.228,35.69,120308,,,A*60
+$GPRMC,094246.00,A,5203.81224,N,00422.65105,E,38.839,35.88,120308,,,A*6E
+$GPRMC,094247.00,A,5203.82112,N,00422.66135,E,39.737,35.65,120308,,,A*69
+$GPRMC,094248.00,A,5203.83018,N,00422.67175,E,40.196,35.15,120308,,,A*6D
+$GPRMC,094249.00,A,5203.83934,N,00422.68213,E,40.325,35.28,120308,,,A*63
+$GPRMC,094250.00,A,5203.84847,N,00422.69260,E,40.209,35.56,120308,,,A*6A
+$GPRMC,094251.00,A,5203.85759,N,00422.70318,E,40.544,35.65,120308,,,A*62
+$GPRMC,094252.00,A,5203.86674,N,00422.71380,E,40.619,35.68,120308,,,A*6A
+$GPRMC,094253.00,A,5203.87596,N,00422.72435,E,40.504,35.33,120308,,,A*6E
+$GPRMC,094254.00,A,5203.88520,N,00422.73487,E,40.537,35.32,120308,,,A*62
+$GPRMC,094255.00,A,5203.89438,N,00422.74542,E,40.323,35.55,120308,,,A*67
+$GPRMC,094256.00,A,5203.90349,N,00422.75597,E,40.066,35.69,120308,,,A*69
+$GPRMC,094257.00,A,5203.91247,N,00422.76649,E,39.718,36.46,120308,,,A*6B
+$GPRMC,094258.00,A,5203.92130,N,00422.77712,E,39.347,37.13,120308,,,A*65
+$GPRMC,094259.00,A,5203.93002,N,00422.78766,E,39.194,37.67,120308,,,A*66
+$GPRMC,094300.00,A,5203.93860,N,00422.79825,E,38.891,37.93,120308,,,A*68
+$GPRMC,094301.00,A,5203.94706,N,00422.80903,E,38.770,38.97,120308,,,A*69
+$GPRMC,094302.00,A,5203.95542,N,00422.82005,E,38.909,39.40,120308,,,A*6F
+$GPRMC,094303.00,A,5203.96378,N,00422.83123,E,39.142,39.70,120308,,,A*63
+$GPRMC,094304.00,A,5203.97216,N,00422.84265,E,39.646,40.16,120308,,,A*67
+$GPRMC,094305.00,A,5203.98066,N,00422.85443,E,40.631,40.70,120308,,,A*61
+$GPRMC,094306.00,A,5203.98922,N,00422.86663,E,41.095,41.59,120308,,,A*6B
+$GPRMC,094307.00,A,5203.99772,N,00422.87908,E,40.961,42.32,120308,,,A*6E
+$GPRMC,094308.00,A,5204.00607,N,00422.89160,E,40.534,42.88,120308,,,A*60
+$GPRMC,094309.00,A,5204.01426,N,00422.90414,E,40.170,43.64,120308,,,A*68
+$GPRMC,094310.00,A,5204.02229,N,00422.91674,E,39.899,44.20,120308,,,A*68
+$GPRMC,094311.00,A,5204.03018,N,00422.92938,E,39.989,44.77,120308,,,A*6E
+$GPRMC,094312.00,A,5204.03797,N,00422.94226,E,39.932,45.90,120308,,,A*67
+$GPRMC,094313.00,A,5204.04560,N,00422.95529,E,39.713,46.75,120308,,,A*67
+$GPRMC,094314.00,A,5204.05309,N,00422.96838,E,39.458,47.11,120308,,,A*69
+$GPRMC,094315.00,A,5204.06051,N,00422.98137,E,39.180,46.79,120308,,,A*62
+$GPRMC,094316.00,A,5204.06793,N,00422.99429,E,39.139,46.76,120308,,,A*6E
+$GPRMC,094317.00,A,5204.07527,N,00423.00723,E,38.822,47.53,120308,,,A*6F
+$GPRMC,094318.00,A,5204.08271,N,00423.02043,E,39.826,46.86,120308,,,A*64
+$GPRMC,094319.00,A,5204.09024,N,00423.03338,E,40.002,46.56,120308,,,A*65
+$GPRMC,094320.00,A,5204.09780,N,00423.04649,E,39.823,46.42,120308,,,A*62
+$GPRMC,094321.00,A,5204.10537,N,00423.05947,E,39.421,46.12,120308,,,A*6E
+$GPRMC,094322.00,A,5204.11295,N,00423.07256,E,39.602,46.81,120308,,,A*63
+$GPRMC,094323.00,A,5204.12045,N,00423.08587,E,40.114,47.89,120308,,,A*6D
+$GPRMC,094324.00,A,5204.12760,N,00423.09886,E,37.190,48.36,120308,,,A*60
+$GPRMC,094325.00,A,5204.13429,N,00423.11118,E,35.604,48.73,120308,,,A*60
+$GPRMC,094326.00,A,5204.14083,N,00423.12356,E,36.857,49.73,120308,,,A*61
+$GPRMC,094327.00,A,5204.14754,N,00423.13664,E,38.573,50.42,120308,,,A*67
+$GPRMC,094328.00,A,5204.15447,N,00423.15045,E,40.356,51.06,120308,,,A*64
+$GPRMC,094329.00,A,5204.16158,N,00423.16474,E,41.148,51.32,120308,,,A*63
+$GPRMC,094330.00,A,5204.16867,N,00423.17915,E,40.569,51.69,120308,,,A*6D
+$GPRMC,094331.00,A,5204.17543,N,00423.19334,E,39.062,52.73,120308,,,A*69
+$GPRMC,094332.00,A,5204.18235,N,00423.20737,E,39.653,50.91,120308,,,A*64
+$GPRMC,094333.00,A,5204.18925,N,00423.22116,E,38.864,50.90,120308,,,A*62
+$GPRMC,094334.00,A,5204.19602,N,00423.23481,E,38.509,51.27,120308,,,A*6F
+$GPRMC,094335.00,A,5204.20271,N,00423.24848,E,38.739,51.69,120308,,,A*61
+$GPRMC,094336.00,A,5204.20939,N,00423.26231,E,39.017,52.03,120308,,,A*66
+$GPRMC,094337.00,A,5204.21604,N,00423.27624,E,39.122,52.32,120308,,,A*63
+$GPRMC,094338.00,A,5204.22260,N,00423.29007,E,39.027,52.67,120308,,,A*64
+$GPRMC,094339.00,A,5204.22909,N,00423.30402,E,39.003,53.38,120308,,,A*65
+$GPRMC,094340.00,A,5204.23544,N,00423.31811,E,39.014,54.20,120308,,,A*68
+$GPRMC,094341.00,A,5204.24129,N,00423.33287,E,39.130,54.75,120308,,,D*64
+$GPRMC,094342.00,A,5204.24718,N,00423.34762,E,39.064,55.53,120308,,,D*6F
+$GPRMC,094343.00,A,5204.25302,N,00423.36236,E,39.160,55.88,120308,,,D*65
+$GPRMC,094344.00,A,5204.25889,N,00423.37716,E,39.277,56.11,120308,,,D*6A
+$GPRMC,094345.00,A,5204.26473,N,00423.39198,E,39.400,56.36,120308,,,D*6C
+$GPRMC,094346.00,A,5204.27067,N,00423.40711,E,39.759,56.44,120308,,,D*6C
+$GPRMC,094347.00,A,5204.27668,N,00423.42182,E,39.336,56.69,120308,,,D*68
+$GPRMC,094348.00,A,5204.28240,N,00423.43628,E,38.907,57.57,120308,,,D*65
+$GPRMC,094349.00,A,5204.28810,N,00423.45091,E,39.201,57.53,120308,,,D*61
+$GPRMC,094350.00,A,5204.29358,N,00423.46569,E,38.412,57.35,120308,,,D*6B
+$GPRMC,094351.00,A,5204.29936,N,00423.47967,E,37.919,56.39,120308,,,D*6F
+$GPRMC,094352.00,A,5204.30529,N,00423.49359,E,37.976,56.44,120308,,,D*6C
+$GPRMC,094353.00,A,5204.31128,N,00423.50767,E,38.567,56.66,120308,,,D*6B
+$GPRMC,094354.00,A,5204.31718,N,00423.52223,E,39.022,56.75,120308,,,D*69
+$GPRMC,094355.00,A,5204.32295,N,00423.53685,E,38.993,56.72,120308,,,D*67
+$GPRMC,094356.00,A,5204.32876,N,00423.55147,E,38.722,56.50,120308,,,D*68
+$GPRMC,094357.00,A,5204.33458,N,00423.56599,E,38.331,56.57,120308,,,D*6D
+$GPRMC,094358.00,A,5204.34040,N,00423.58043,E,38.109,56.74,120308,,,D*6C
+$GPRMC,094359.00,A,5204.34616,N,00423.59490,E,38.303,57.17,120308,,,D*6F
+$GPRMC,094400.00,A,5204.35181,N,00423.60940,E,37.911,58.06,120308,,,D*6F
+$GPRMC,094401.00,A,5204.35730,N,00423.62387,E,37.587,58.68,120308,,,D*6A
+$GPRMC,094402.00,A,5204.36272,N,00423.63823,E,37.211,58.38,120308,,,D*60
+$GPRMC,094403.00,A,5204.36791,N,00423.65270,E,36.839,58.03,120308,,,D*6A
+$GPRMC,094404.00,A,5204.37316,N,00423.66708,E,36.811,59.01,120308,,,D*67
+$GPRMC,094405.00,A,5204.37821,N,00423.68130,E,36.151,59.88,120308,,,D*66
+$GPRMC,094406.00,A,5204.38312,N,00423.69540,E,35.524,60.09,120308,,,D*65
+$GPRMC,094407.00,A,5204.38792,N,00423.70906,E,34.745,60.16,120308,,,D*64
+$GPRMC,094408.00,A,5204.39254,N,00423.72244,E,33.996,60.84,120308,,,D*66
+$GPRMC,094409.00,A,5204.39704,N,00423.73555,E,33.463,60.98,120308,,,D*6B
+$GPRMC,094410.00,A,5204.40126,N,00423.74842,E,32.694,62.35,120308,,,D*69
+$GPRMC,094411.00,A,5204.40537,N,00423.76103,E,31.515,62.19,120308,,,D*65
+$GPRMC,094412.00,A,5204.40901,N,00423.77238,E,29.320,61.36,120308,,,D*62
+$GPRMC,094413.00,A,5204.41261,N,00423.78319,E,27.525,61.12,120308,,,D*69
+$GPRMC,094414.00,A,5204.41604,N,00423.79321,E,25.730,61.65,120308,,,D*67
+$GPRMC,094415.00,A,5204.41904,N,00423.80285,E,24.109,62.29,120308,,,D*66
+$GPRMC,094416.00,A,5204.42126,N,00423.81133,E,23.139,64.02,120308,,,D*6A
+$GPRMC,094417.00,A,5204.42387,N,00423.82015,E,22.040,68.31,120308,,,D*66
+$GPRMC,094418.00,A,5204.42584,N,00423.82916,E,20.267,74.79,120308,,,D*62
+$GPRMC,094419.00,A,5204.42694,N,00423.83797,E,19.667,83.90,120308,,,D*66
+$GPRMC,094420.00,A,5204.42701,N,00423.84644,E,18.516,93.78,120308,,,D*6A
+$GPRMC,094421.00,A,5204.42599,N,00423.85473,E,19.013,105.17,120308,,,D*59
+$GPRMC,094422.00,A,5204.42371,N,00423.86288,E,20.353,118.37,120308,,,D*58
+$GPRMC,094423.00,A,5204.42031,N,00423.87038,E,21.759,129.44,120308,,,D*5F
+$GPRMC,094424.00,A,5204.41596,N,00423.87689,E,21.252,140.19,120308,,,D*56
+$GPRMC,094425.00,A,5204.41057,N,00423.88140,E,20.455,151.44,120308,,,D*5A
+$GPRMC,094426.00,A,5204.40524,N,00423.88480,E,20.771,163.60,120308,,,D*52
+$GPRMC,094427.00,A,5204.39920,N,00423.88620,E,22.755,176.45,120308,,,D*5A
+$GPRMC,094428.00,A,5204.39261,N,00423.88528,E,24.838,190.05,120308,,,D*5E
+$GPRMC,094429.00,A,5204.38594,N,00423.88177,E,25.600,202.79,120308,,,D*5A
+$GPRMC,094430.00,A,5204.37973,N,00423.87596,E,25.659,214.43,120308,,,D*5E
+$GPRMC,094431.00,A,5204.37428,N,00423.86876,E,24.819,222.97,120308,,,D*59
+$GPRMC,094432.00,A,5204.36944,N,00423.86130,E,23.141,223.41,120308,,,D*5E
+$GPRMC,094433.00,A,5204.36586,N,00423.85464,E,17.920,226.96,120308,,,D*5D
+$GPRMC,094434.00,A,5204.36252,N,00423.84879,E,16.938,227.77,120308,,,D*53
+$GPRMC,094435.00,A,5204.35938,N,00423.84295,E,17.130,228.08,120308,,,D*58
+$GPRMC,094436.00,A,5204.35662,N,00423.83712,E,15.951,232.82,120308,,,D*52
+$GPRMC,094437.00,A,5204.35473,N,00423.83048,E,15.403,251.19,120308,,,D*54
+$GPRMC,094438.00,A,5204.35515,N,00423.82332,E,15.406,281.62,120308,,,D*51
+$GPRMC,094439.00,A,5204.35780,N,00423.81593,E,16.935,304.63,120308,,,D*53
+$GPRMC,094440.00,A,5204.36107,N,00423.80840,E,20.282,314.75,120308,,,D*51
+$GPRMC,094441.00,A,5204.36599,N,00423.80097,E,24.055,315.29,120308,,,D*55
+$GPRMC,094442.00,A,5204.37107,N,00423.79297,E,24.839,314.92,120308,,,D*53
+$GPRMC,094443.00,A,5204.37628,N,00423.78456,E,26.725,314.91,120308,,,D*51
+$GPRMC,094444.00,A,5204.38187,N,00423.77557,E,28.919,315.63,120308,,,D*57
+$GPRMC,094445.00,A,5204.38795,N,00423.76607,E,31.007,316.87,120308,,,D*53
+$GPRMC,094446.00,A,5204.39439,N,00423.75577,E,32.867,317.76,120308,,,D*51
+$GPRMC,094447.00,A,5204.40120,N,00423.74577,E,32.393,318.01,120308,,,D*5D
+$GPRMC,094448.00,A,5204.40797,N,00423.73579,E,32.711,318.36,120308,,,D*5B
+$GPRMC,094449.00,A,5204.41477,N,00423.72573,E,33.060,318.13,120308,,,D*5A
+$GPRMC,094450.00,A,5204.42132,N,00423.71544,E,32.087,316.88,120308,,,D*56
+$GPRMC,094451.00,A,5204.42766,N,00423.70561,E,30.865,315.64,120308,,,D*51
+$GPRMC,094452.00,A,5204.43368,N,00423.69605,E,29.703,315.16,120308,,,D*52
+$GPRMC,094453.00,A,5204.43941,N,00423.68678,E,28.673,314.92,120308,,,D*53
+$GPRMC,094454.00,A,5204.44500,N,00423.67774,E,28.200,314.63,120308,,,D*56
+$GPRMC,094455.00,A,5204.45041,N,00423.66871,E,27.729,313.31,120308,,,D*5C
+$GPRMC,094456.00,A,5204.45562,N,00423.65984,E,26.897,313.00,120308,,,D*5A
+$GPRMC,094457.00,A,5204.46097,N,00423.65109,E,27.981,315.59,120308,,,D*57
+$GPRMC,094458.00,A,5204.46672,N,00423.64250,E,28.374,318.84,120308,,,D*59
+$GPRMC,094459.00,A,5204.47237,N,00423.63451,E,25.676,319.59,120308,,,D*57
+$GPRMC,094500.00,A,5204.47728,N,00423.62750,E,21.646,316.36,120308,,,D*53
+$GPRMC,094501.00,A,5204.48074,N,00423.62066,E,18.480,302.59,120308,,,D*5F
+$GPRMC,094502.00,A,5204.48279,N,00423.61303,E,18.615,286.99,120308,,,D*5F
+$GPRMC,094503.00,A,5204.48293,N,00423.60465,E,19.291,263.82,120308,,,D*54
+$GPRMC,094504.00,A,5204.48118,N,00423.59589,E,20.862,246.55,120308,,,D*5B
+$GPRMC,094505.00,A,5204.47713,N,00423.58747,E,23.169,229.30,120308,,,D*52
+$GPRMC,094506.00,A,5204.47197,N,00423.57970,E,25.314,222.06,120308,,,D*5E
+$GPRMC,094507.00,A,5204.46586,N,00423.57207,E,27.425,216.22,120308,,,D*57
+$GPRMC,094508.00,A,5204.45887,N,00423.56513,E,29.728,208.89,120308,,,D*5A
+$GPRMC,094509.00,A,5204.45095,N,00423.55934,E,31.976,201.92,120308,,,D*55
+$GPRMC,094510.00,A,5204.44181,N,00423.55483,E,34.183,194.50,120308,,,D*5F
+$GPRMC,094511.00,A,5204.43213,N,00423.55168,E,34.449,189.48,120308,,,D*57
+$GPRMC,094512.00,A,5204.42231,N,00423.54957,E,35.029,187.17,120308,,,D*57
+$GPRMC,094513.00,A,5204.41184,N,00423.54762,E,36.453,188.68,120308,,,D*5D
+$GPRMC,094514.00,A,5204.40125,N,00423.54462,E,37.394,193.25,120308,,,D*5D
+$GPRMC,094515.00,A,5204.39125,N,00423.54004,E,37.986,198.84,120308,,,D*5F
+$GPRMC,094516.00,A,5204.38146,N,00423.53376,E,38.516,204.41,120308,,,D*5C
+$GPRMC,094517.00,A,5204.37187,N,00423.52561,E,39.910,209.95,120308,,,D*51
+$GPRMC,094518.00,A,5204.36276,N,00423.51567,E,38.861,216.84,120308,,,D*5F
+$GPRMC,094519.00,A,5204.35443,N,00423.50436,E,38.965,222.67,120308,,,D*56
+$GPRMC,094520.00,A,5204.34675,N,00423.49163,E,39.910,227.96,120308,,,D*5F
+$GPRMC,094521.00,A,5204.33959,N,00423.47740,E,41.326,232.52,120308,,,D*5D
+$GPRMC,094522.00,A,5204.33265,N,00423.46199,E,43.062,234.29,120308,,,D*52
+$GPRMC,094523.00,A,5204.32554,N,00423.44572,E,44.859,234.45,120308,,,D*59
+$GPRMC,094524.00,A,5204.31809,N,00423.42878,E,46.800,233.90,120308,,,D*58
+$GPRMC,094525.00,A,5204.31040,N,00423.41146,E,47.816,234.53,120308,,,D*55
+$GPRMC,094526.00,A,5204.30239,N,00423.39386,E,48.436,233.49,120308,,,D*57
+$GPRMC,094527.00,A,5204.29323,N,00423.37462,E,52.611,233.45,120308,,,D*57
+$GPRMC,094528.00,A,5204.28442,N,00423.35456,E,54.039,234.07,120308,,,D*57
+$GPRMC,094529.00,A,5204.27548,N,00423.33402,E,55.146,234.36,120308,,,D*5F
+$GPRMC,094530.00,A,5204.26674,N,00423.31331,E,54.467,235.12,120308,,,D*5F
+$GPRMC,094531.00,A,5204.25828,N,00423.29290,E,53.601,235.87,120308,,,D*50
+$GPRMC,094532.00,A,5204.25007,N,00423.27245,E,53.809,236.28,120308,,,D*50
+$GPRMC,094533.00,A,5204.24191,N,00423.25191,E,53.837,236.21,120308,,,D*52
+$GPRMC,094534.00,A,5204.23368,N,00423.23155,E,53.598,235.91,120308,,,D*58
+$GPRMC,094535.00,A,5204.22556,N,00423.21150,E,52.867,236.25,120308,,,D*54
+$GPRMC,094536.00,A,5204.21737,N,00423.19209,E,52.407,235.13,120308,,,D*59
+$GPRMC,094537.00,A,5204.20898,N,00423.17318,E,51.737,234.78,120308,,,D*53
+$GPRMC,094538.00,A,5204.20076,N,00423.15419,E,50.933,234.18,120308,,,D*5D
+$GPRMC,094539.00,A,5204.19249,N,00423.13579,E,50.187,233.66,120308,,,D*50
+$GPRMC,094540.00,A,5204.18425,N,00423.11757,E,49.936,233.10,120308,,,D*54
+$GPRMC,094541.00,A,5204.17590,N,00423.09954,E,49.618,231.98,120308,,,D*50
+$GPRMC,094542.00,A,5204.16745,N,00423.08198,E,48.740,231.24,120308,,,D*5B
+$GPRMC,094543.00,A,5204.15907,N,00423.06490,E,47.649,230.74,120308,,,D*51
+$GPRMC,094544.00,A,5204.15077,N,00423.04814,E,46.515,230.10,120308,,,D*53
+$GPRMC,094545.00,A,5204.14251,N,00423.03202,E,45.556,229.09,120308,,,D*5B
+$GPRMC,094546.00,A,5204.13426,N,00423.01636,E,44.962,228.06,120308,,,D*5C
+$GPRMC,094547.00,A,5204.12590,N,00423.00106,E,44.837,227.61,120308,,,D*5A
+$GPRMC,094548.00,A,5204.11772,N,00422.98621,E,44.365,226.68,120308,,,D*5E
+$GPRMC,094549.00,A,5204.10975,N,00422.97193,E,43.175,226.91,120308,,,D*54
+$GPRMC,094550.00,A,5204.10168,N,00422.95799,E,43.045,226.09,120308,,,D*55
+$GPRMC,094551.00,A,5204.09321,N,00422.94405,E,43.306,224.82,120308,,,D*51
+$GPRMC,094552.00,A,5204.08452,N,00422.93031,E,43.138,224.17,120308,,,D*57
+$GPRMC,094553.00,A,5204.07603,N,00422.91706,E,42.449,223.53,120308,,,D*5B
+$GPRMC,094554.00,A,5204.06729,N,00422.90453,E,41.898,221.18,120308,,,D*58
+$GPRMC,094555.00,A,5204.05850,N,00422.89263,E,41.395,219.37,120308,,,D*56
+$GPRMC,094556.00,A,5204.04941,N,00422.88095,E,41.139,218.12,120308,,,D*5D
+$GPRMC,094557.00,A,5204.04022,N,00422.86922,E,41.762,218.01,120308,,,D*51
+$GPRMC,094558.00,A,5204.03094,N,00422.85744,E,42.037,217.58,120308,,,D*5E
+$GPRMC,094559.00,A,5204.02153,N,00422.84584,E,42.838,216.97,120308,,,D*5E
+$GPRMC,094600.00,A,5204.01203,N,00422.83428,E,42.810,216.33,120308,,,D*50
+$GPRMC,094601.00,A,5204.00246,N,00422.82309,E,43.152,215.13,120308,,,D*5B
+$GPRMC,094602.00,A,5203.99261,N,00422.81211,E,43.624,214.20,120308,,,D*56
+$GPRMC,094603.00,A,5203.98253,N,00422.80121,E,44.068,213.64,120308,,,D*58
+$GPRMC,094604.00,A,5203.97222,N,00422.79023,E,44.736,213.55,120308,,,D*5D
+$GPRMC,094605.00,A,5203.96178,N,00422.77899,E,45.469,213.85,120308,,,D*53
+$GPRMC,094606.00,A,5203.95112,N,00422.76747,E,46.559,213.63,120308,,,D*5B
+$GPRMC,094607.00,A,5203.94016,N,00422.75573,E,47.492,213.66,120308,,,D*5A
+$GPRMC,094608.00,A,5203.92905,N,00422.74375,E,48.395,213.54,120308,,,D*57
+$GPRMC,094609.00,A,5203.91772,N,00422.73156,E,49.248,213.39,120308,,,D*54
+$GPRMC,094610.00,A,5203.90616,N,00422.71924,E,49.832,213.50,120308,,,D*59
+$GPRMC,094611.00,A,5203.89464,N,00422.70679,E,49.660,213.85,120308,,,D*50
+$GPRMC,094612.00,A,5203.88324,N,00422.69430,E,49.245,214.26,120308,,,D*5B
+$GPRMC,094613.00,A,5203.87193,N,00422.68178,E,49.117,214.26,120308,,,D*57
+$GPRMC,094614.00,A,5203.86066,N,00422.66926,E,49.039,214.58,120308,,,D*53
+$GPRMC,094615.00,A,5203.84948,N,00422.65661,E,49.173,215.13,120308,,,D*5B
+$GPRMC,094616.00,A,5203.83830,N,00422.64386,E,49.282,215.06,120308,,,D*55
+$GPRMC,094617.00,A,5203.82717,N,00422.63119,E,48.712,214.93,120308,,,D*5C
+$GPRMC,094618.00,A,5203.81617,N,00422.61874,E,47.904,214.74,120308,,,D*5E
+$GPRMC,094619.00,A,5203.80532,N,00422.60633,E,47.624,215.28,120308,,,D*53
+$GPRMC,094620.00,A,5203.79456,N,00422.59389,E,47.484,215.20,120308,,,D*52
+$GPRMC,094621.00,A,5203.78380,N,00422.58142,E,47.666,215.29,120308,,,D*5D
+$GPRMC,094622.00,A,5203.77300,N,00422.56899,E,47.775,215.52,120308,,,D*57
+$GPRMC,094623.00,A,5203.76222,N,00422.55680,E,47.016,214.78,120308,,,D*58
+$GPRMC,094624.00,A,5203.75123,N,00422.54417,E,48.255,214.93,120308,,,D*5C
+$GPRMC,094625.00,A,5203.74044,N,00422.53141,E,48.099,216.13,120308,,,D*55
+$GPRMC,094626.00,A,5203.72928,N,00422.51907,E,48.081,214.93,120308,,,D*58
+$GPRMC,094627.00,A,5203.71814,N,00422.50670,E,48.298,214.90,120308,,,D*53
+$GPRMC,094628.00,A,5203.70680,N,00422.49513,E,47.482,212.88,120308,,,D*5D
+$GPRMC,094629.00,A,5203.69482,N,00422.48347,E,49.239,214.16,120308,,,D*5B
+$GPRMC,094630.00,A,5203.68378,N,00422.46964,E,49.465,215.22,120308,,,D*5C
+$GPRMC,094631.00,A,5203.67261,N,00422.45588,E,49.935,215.58,120308,,,D*53
+$GPRMC,094632.00,A,5203.66126,N,00422.44224,E,50.443,215.56,120308,,,D*5B
+$GPRMC,094633.00,A,5203.64998,N,00422.42864,E,50.972,215.62,120308,,,D*55
+$GPRMC,094634.00,A,5203.63851,N,00422.41495,E,51.474,215.52,120308,,,D*59
+$GPRMC,094635.00,A,5203.62690,N,00422.40119,E,51.907,215.52,120308,,,D*53
+$GPRMC,094636.00,A,5203.61521,N,00422.38741,E,52.301,215.27,120308,,,D*53
+$GPRMC,094637.00,A,5203.60335,N,00422.37356,E,52.762,215.46,120308,,,D*5B
+$GPRMC,094638.00,A,5203.59140,N,00422.35961,E,53.228,215.56,120308,,,D*59
+$GPRMC,094639.00,A,5203.57936,N,00422.34553,E,53.488,215.45,120308,,,D*5D
+$GPRMC,094640.00,A,5203.56725,N,00422.33149,E,53.655,215.23,120308,,,D*54
+$GPRMC,094641.00,A,5203.55509,N,00422.31741,E,53.863,215.75,120308,,,D*5E
+$GPRMC,094642.00,A,5203.54293,N,00422.30314,E,54.111,215.78,120308,,,D*5B
+$GPRMC,094643.00,A,5203.53075,N,00422.28881,E,54.289,215.92,120308,,,D*5F
+$GPRMC,094644.00,A,5203.51860,N,00422.27429,E,54.486,216.52,120308,,,D*51
+$GPRMC,094645.00,A,5203.50646,N,00422.25959,E,54.568,216.75,120308,,,D*57
+$GPRMC,094646.00,A,5203.49436,N,00422.24493,E,54.381,216.41,120308,,,D*55
+$GPRMC,094647.00,A,5203.48226,N,00422.23046,E,53.827,216.15,120308,,,D*58
+$GPRMC,094648.00,A,5203.47031,N,00422.21610,E,53.975,216.63,120308,,,D*5C
+$GPRMC,094649.00,A,5203.45843,N,00422.20185,E,53.437,216.34,120308,,,D*51
+$GPRMC,094650.00,A,5203.44661,N,00422.18760,E,53.287,216.54,120308,,,D*5B
+$GPRMC,094651.00,A,5203.43485,N,00422.17321,E,53.007,217.24,120308,,,D*57
+$GPRMC,094652.00,A,5203.42319,N,00422.15874,E,52.769,217.37,120308,,,D*52
+$GPRMC,094653.00,A,5203.41159,N,00422.14432,E,52.613,217.47,120308,,,D*52
+$GPRMC,094654.00,A,5203.40002,N,00422.12985,E,52.715,217.67,120308,,,D*59
+$GPRMC,094655.00,A,5203.38849,N,00422.11524,E,52.679,218.17,120308,,,D*57
+$GPRMC,094656.00,A,5203.37699,N,00422.10052,E,52.754,218.24,120308,,,D*53
+$GPRMC,094657.00,A,5203.36549,N,00422.08574,E,52.812,218.33,120308,,,D*5E
+$GPRMC,094658.00,A,5203.35407,N,00422.07092,E,52.496,219.02,120308,,,D*58
+$GPRMC,094659.00,A,5203.34296,N,00422.05594,E,52.086,220.12,120308,,,D*59
+$GPRMC,094700.00,A,5203.33213,N,00422.04068,E,52.111,221.45,120308,,,D*55
+$GPRMC,094701.00,A,5203.32149,N,00422.02478,E,52.571,222.99,120308,,,D*5A
+$GPRMC,094702.00,A,5203.31090,N,00422.00835,E,53.111,224.29,120308,,,D*56
+$GPRMC,094703.00,A,5203.30046,N,00421.99140,E,53.465,225.47,120308,,,D*5A
+$GPRMC,094704.00,A,5203.29008,N,00421.97400,E,54.097,226.07,120308,,,D*59
+$GPRMC,094705.00,A,5203.27985,N,00421.95630,E,54.711,227.06,120308,,,D*50
+$GPRMC,094706.00,A,5203.26971,N,00421.93808,E,55.215,228.24,120308,,,D*55
+$GPRMC,094707.00,A,5203.25948,N,00421.91938,E,55.666,228.87,120308,,,D*54
+$GPRMC,094708.00,A,5203.24939,N,00421.90026,E,56.423,228.96,120308,,,D*5B
+$GPRMC,094709.00,A,5203.23908,N,00421.88084,E,57.253,228.04,120308,,,D*55
+$GPRMC,094710.00,A,5203.22839,N,00421.86132,E,58.092,226.39,120308,,,D*5D
+$GPRMC,094711.00,A,5203.21676,N,00421.84281,E,58.737,223.18,120308,,,D*5D
+$GPRMC,094712.00,A,5203.20473,N,00421.82500,E,58.516,220.65,120308,,,D*58
+$GPRMC,094713.00,A,5203.19210,N,00421.80819,E,58.042,217.79,120308,,,D*5A
+$GPRMC,094714.00,A,5203.17918,N,00421.79281,E,57.131,214.93,120308,,,D*50
+$GPRMC,094715.00,A,5203.16610,N,00421.77865,E,56.476,212.90,120308,,,D*5B
+$GPRMC,094716.00,A,5203.15292,N,00421.76514,E,55.663,211.99,120308,,,D*50
+$GPRMC,094717.00,A,5203.13987,N,00421.75192,E,54.855,212.29,120308,,,D*53
+$GPRMC,094718.00,A,5203.12708,N,00421.73881,E,54.176,212.49,120308,,,D*57
+$GPRMC,094719.00,A,5203.11453,N,00421.72591,E,53.278,212.54,120308,,,D*53
+$GPRMC,094720.00,A,5203.10212,N,00421.71329,E,52.303,212.02,120308,,,D*52
+$GPRMC,094721.00,A,5203.08991,N,00421.70089,E,51.573,212.33,120308,,,D*52
+$GPRMC,094722.00,A,5203.07795,N,00421.68855,E,50.554,212.76,120308,,,D*51
+$GPRMC,094723.00,A,5203.06625,N,00421.67639,E,49.653,212.69,120308,,,D*52
+$GPRMC,094724.00,A,5203.05478,N,00421.66433,E,48.899,213.29,120308,,,D*59
+$GPRMC,094725.00,A,5203.04358,N,00421.65231,E,48.048,213.69,120308,,,D*5B
+$GPRMC,094726.00,A,5203.03259,N,00421.64026,E,47.638,214.46,120308,,,D*5E
+$GPRMC,094727.00,A,5203.02171,N,00421.62795,E,48.099,215.20,120308,,,D*5D
+$GPRMC,094728.00,A,5203.01068,N,00421.61520,E,49.408,215.66,120308,,,D*58
+$GPRMC,094729.00,A,5202.99984,N,00421.60206,E,49.282,216.97,120308,,,D*59
+$GPRMC,094730.00,A,5202.98885,N,00421.58843,E,50.265,217.74,120308,,,D*5D
+$GPRMC,094731.00,A,5202.97784,N,00421.57436,E,50.905,218.37,120308,,,D*59
+$GPRMC,094732.00,A,5202.96680,N,00421.55994,E,51.050,219.42,120308,,,D*52
+$GPRMC,094733.00,A,5202.95613,N,00421.54525,E,50.573,220.61,120308,,,D*53
+$GPRMC,094734.00,A,5202.94586,N,00421.53032,E,50.106,221.46,120308,,,D*5C
+$GPRMC,094735.00,A,5202.93572,N,00421.51519,E,49.635,222.68,120308,,,D*5F
+$GPRMC,094736.00,A,5202.92568,N,00421.49976,E,49.910,223.84,120308,,,D*51
+$GPRMC,094737.00,A,5202.91585,N,00421.48405,E,50.144,224.95,120308,,,D*5E
+$GPRMC,094738.00,A,5202.90607,N,00421.46791,E,50.911,225.64,120308,,,D*5E
+$GPRMC,094739.00,A,5202.89661,N,00421.45114,E,51.030,227.90,120308,,,D*5D
+$GPRMC,094740.00,A,5202.88746,N,00421.43352,E,51.598,230.48,120308,,,D*54
+$GPRMC,094741.00,A,5202.87851,N,00421.41513,E,52.100,231.73,120308,,,D*5D
+$GPRMC,094742.00,A,5202.87019,N,00421.39572,E,52.508,235.66,120308,,,D*5E
+$GPRMC,094743.00,A,5202.86243,N,00421.37541,E,53.067,238.92,120308,,,D*56
+$GPRMC,094744.00,A,5202.85524,N,00421.35399,E,53.497,241.43,120308,,,D*5C
+$GPRMC,094745.00,A,5202.84858,N,00421.33205,E,53.711,244.00,120308,,,D*57
+$GPRMC,094746.00,A,5202.84242,N,00421.30972,E,54.094,246.24,120308,,,D*54
+$GPRMC,094747.00,A,5202.83687,N,00421.28684,E,54.462,249.18,120308,,,D*5D
+$GPRMC,094748.00,A,5202.83200,N,00421.26346,E,54.645,252.17,120308,,,D*5E
+$GPRMC,094749.00,A,5202.82779,N,00421.23972,E,54.698,254.81,120308,,,D*54
+$GPRMC,094750.00,A,5202.82425,N,00421.21573,E,54.579,257.25,120308,,,D*58
+$GPRMC,094751.00,A,5202.82132,N,00421.19159,E,54.402,259.49,120308,,,D*54
+$GPRMC,094752.00,A,5202.81918,N,00421.16710,E,54.184,260.18,120308,,,D*55
+$GPRMC,094753.00,A,5202.81704,N,00421.14275,E,53.976,259.93,120308,,,D*58
+$GPRMC,094754.00,A,5202.81449,N,00421.11879,E,53.867,259.00,120308,,,D*5D
+$GPRMC,094755.00,A,5202.81157,N,00421.09513,E,53.272,257.96,120308,,,D*51
+$GPRMC,094756.00,A,5202.80823,N,00421.07182,E,52.932,255.47,120308,,,D*5B
+$GPRMC,094757.00,A,5202.80421,N,00421.04898,E,52.960,252.24,120308,,,D*50
+$GPRMC,094758.00,A,5202.79927,N,00421.02657,E,52.810,248.54,120308,,,D*53
+$GPRMC,094759.00,A,5202.79329,N,00421.00487,E,52.751,243.91,120308,,,D*53
+$GPRMC,094800.00,A,5202.78634,N,00420.98406,E,52.398,239.55,120308,,,D*55
+$GPRMC,094801.00,A,5202.77847,N,00420.96427,E,52.253,235.45,120308,,,D*57
+$GPRMC,094802.00,A,5202.76974,N,00420.94549,E,52.193,231.30,120308,,,D*56
+$GPRMC,094803.00,A,5202.76026,N,00420.92774,E,52.086,227.22,120308,,,D*52
+$GPRMC,094804.00,A,5202.74942,N,00420.91199,E,51.921,222.66,120308,,,D*58
+$GPRMC,094805.00,A,5202.73822,N,00420.89685,E,51.630,218.88,120308,,,D*5C
+$GPRMC,094806.00,A,5202.72649,N,00420.88325,E,51.146,214.25,120308,,,D*5E
+$GPRMC,094807.00,A,5202.71447,N,00420.87137,E,50.542,209.78,120308,,,D*5B
+$GPRMC,094808.00,A,5202.70208,N,00420.86119,E,49.784,205.28,120308,,,D*5C
+$GPRMC,094809.00,A,5202.68940,N,00420.85279,E,49.317,200.60,120308,,,D*52
+$GPRMC,094810.00,A,5202.67640,N,00420.84601,E,49.091,196.45,120308,,,D*56
+$GPRMC,094811.00,A,5202.66318,N,00420.84085,E,49.022,192.38,120308,,,D*52
+$GPRMC,094812.00,A,5202.64963,N,00420.83739,E,49.231,188.01,120308,,,D*53
+$GPRMC,094813.00,A,5202.63583,N,00420.83564,E,49.203,183.70,120308,,,D*51
+$GPRMC,094814.00,A,5202.62203,N,00420.83542,E,49.234,179.37,120308,,,D*5E
+$GPRMC,094815.00,A,5202.60822,N,00420.83684,E,49.470,175.26,120308,,,D*57
+$GPRMC,094816.00,A,5202.59458,N,00420.83969,E,49.755,171.38,120308,,,D*5C
+$GPRMC,094817.00,A,5202.58094,N,00420.84308,E,49.630,171.32,120308,,,D*5A
+$GPRMC,094818.00,A,5202.56723,N,00420.84814,E,50.676,167.15,120308,,,D*5E
+$GPRMC,094819.00,A,5202.55299,N,00420.85451,E,52.374,165.29,120308,,,D*5C
+$GPRMC,094820.00,A,5202.54086,N,00420.86818,E,52.133,155.27,120308,,,A*50
+$GPRMC,094821.00,A,5202.52785,N,00420.87928,E,52.431,153.94,120308,,,A*59
+$GPRMC,094822.00,A,5202.51658,N,00420.89723,E,54.004,146.38,120308,,,A*55
+$GPRMC,094823.00,A,5202.50527,N,00420.91294,E,53.860,143.56,120308,,,D*5B
+$GPRMC,094824.00,A,5202.49186,N,00420.92746,E,54.798,141.58,120308,,,D*51
+$GPRMC,094825.00,A,5202.47882,N,00420.94308,E,55.238,140.05,120308,,,D*5C
+$GPRMC,094826.00,A,5202.46653,N,00420.95928,E,55.821,139.76,120308,,,D*5D
+$GPRMC,094827.00,A,5202.45442,N,00420.97574,E,56.244,140.05,120308,,,D*5A
+$GPRMC,094828.00,A,5202.44224,N,00420.99199,E,56.606,141.04,120308,,,D*59
+$GPRMC,094829.00,A,5202.42971,N,00421.00755,E,56.604,143.14,120308,,,D*53
+$GPRMC,094830.00,A,5202.41675,N,00421.02237,E,56.742,145.05,120308,,,D*55
+$GPRMC,094831.00,A,5202.40377,N,00421.03662,E,57.053,147.28,120308,,,D*5C
+$GPRMC,094832.00,A,5202.39038,N,00421.05004,E,56.200,149.36,120308,,,D*5D
+$GPRMC,094833.00,A,5202.37600,N,00421.06316,E,58.977,150.55,120308,,,D*54
+$GPRMC,094834.00,A,5202.36135,N,00421.07448,E,57.698,154.95,120308,,,D*57
+$GPRMC,094835.00,A,5202.34683,N,00421.08529,E,57.641,156.19,120308,,,D*55
+$GPRMC,094836.00,A,5202.33215,N,00421.09533,E,57.632,158.27,120308,,,D*57
+$GPRMC,094837.00,A,5202.31710,N,00421.10438,E,57.552,160.73,120308,,,D*59
+$GPRMC,094838.00,A,5202.30186,N,00421.11237,E,57.284,162.93,120308,,,D*56
+$GPRMC,094839.00,A,5202.28678,N,00421.11909,E,56.794,165.46,120308,,,D*54
+$GPRMC,094840.00,A,5202.27161,N,00421.12473,E,56.218,167.89,120308,,,D*59
+$GPRMC,094841.00,A,5202.25648,N,00421.12950,E,55.740,169.15,120308,,,D*5A
+$GPRMC,094842.00,A,5202.24144,N,00421.13377,E,55.369,169.81,120308,,,D*5F
+$GPRMC,094843.00,A,5202.22644,N,00421.13784,E,54.943,170.44,120308,,,D*55
+$GPRMC,094844.00,A,5202.21156,N,00421.14172,E,54.447,170.40,120308,,,D*50
+$GPRMC,094845.00,A,5202.19678,N,00421.14568,E,54.100,170.35,120308,,,D*5A
+$GPRMC,094846.00,A,5202.18212,N,00421.14967,E,53.734,170.15,120308,,,D*57
+$GPRMC,094847.00,A,5202.16754,N,00421.15369,E,53.390,170.26,120308,,,D*50
+$GPRMC,094848.00,A,5202.15302,N,00421.15766,E,53.096,170.37,120308,,,D*55
+$GPRMC,094849.00,A,5202.13852,N,00421.16169,E,53.007,170.05,120308,,,D*5F
+$GPRMC,094850.00,A,5202.12407,N,00421.16570,E,53.040,170.18,120308,,,D*59
+$GPRMC,094851.00,A,5202.10958,N,00421.16964,E,53.173,170.48,120308,,,D*50
+$GPRMC,094852.00,A,5202.09503,N,00421.17350,E,53.415,170.50,120308,,,D*59
+$GPRMC,094853.00,A,5202.08043,N,00421.17749,E,53.611,170.01,120308,,,D*56
+$GPRMC,094854.00,A,5202.06580,N,00421.18168,E,53.728,169.57,120308,,,D*5F
+$GPRMC,094855.00,A,5202.05113,N,00421.18601,E,53.933,169.50,120308,,,D*58
+$GPRMC,094856.00,A,5202.03642,N,00421.19041,E,54.144,169.31,120308,,,D*55
+$GPRMC,094857.00,A,5202.02167,N,00421.19493,E,54.229,169.08,120308,,,D*5C
+$GPRMC,094858.00,A,5202.00699,N,00421.19963,E,53.831,168.47,120308,,,D*5B
+$GPRMC,094859.00,A,5201.99255,N,00421.20482,E,52.813,166.65,120308,,,D*5A
+$GPRMC,094900.00,A,5201.97829,N,00421.21075,E,52.583,164.49,120308,,,D*5D
+$GPRMC,094901.00,A,5201.96437,N,00421.21735,E,51.945,162.85,120308,,,D*5E
+$GPRMC,094902.00,A,5201.95071,N,00421.22464,E,51.357,160.91,120308,,,D*52
+$GPRMC,094903.00,A,5201.93735,N,00421.23258,E,51.035,159.12,120308,,,D*5C
+$GPRMC,094904.00,A,5201.92421,N,00421.24121,E,50.848,157.08,120308,,,D*50
+$GPRMC,094905.00,A,5201.91131,N,00421.25046,E,50.680,155.30,120308,,,D*54
+$GPRMC,094906.00,A,5201.89855,N,00421.26020,E,50.918,153.95,120308,,,D*51
+$GPRMC,094907.00,A,5201.88586,N,00421.27038,E,50.778,153.03,120308,,,D*5D
+$GPRMC,094908.00,A,5201.87334,N,00421.28103,E,51.140,151.46,120308,,,D*5B
+$GPRMC,094909.00,A,5201.86096,N,00421.29240,E,51.530,149.89,120308,,,D*5C
+$GPRMC,094910.00,A,5201.84871,N,00421.30443,E,51.755,148.25,120308,,,D*5C
+$GPRMC,094911.00,A,5201.83660,N,00421.31711,E,51.830,147.01,120308,,,D*54
+$GPRMC,094912.00,A,5201.82460,N,00421.33008,E,51.955,146.32,120308,,,D*5A
+$GPRMC,094913.00,A,5201.81267,N,00421.34338,E,52.200,145.51,120308,,,D*50
+$GPRMC,094914.00,A,5201.80090,N,00421.35676,E,51.760,144.87,120308,,,D*58
+$GPRMC,094915.00,A,5201.78891,N,00421.37161,E,52.296,144.40,120308,,,D*50
+$GPRMC,094916.00,A,5201.77714,N,00421.38596,E,51.354,144.15,120308,,,D*51
+$GPRMC,094917.00,A,5201.76597,N,00421.39938,E,50.468,143.91,120308,,,D*53
+$GPRMC,094918.00,A,5201.75471,N,00421.41249,E,49.325,144.23,120308,,,D*5C
+$GPRMC,094919.00,A,5201.74387,N,00421.42529,E,48.389,144.14,120308,,,D*53
+$GPRMC,094920.00,A,5201.73332,N,00421.43784,E,47.581,144.09,120308,,,D*59
+$GPRMC,094921.00,A,5201.72284,N,00421.45005,E,46.989,144.31,120308,,,D*53
+$GPRMC,094922.00,A,5201.71235,N,00421.46203,E,46.414,144.29,120308,,,D*5E
+$GPRMC,094923.00,A,5201.70208,N,00421.47394,E,45.651,144.46,120308,,,D*57
+$GPRMC,094924.00,A,5201.69206,N,00421.48565,E,44.752,144.24,120308,,,D*56
+$GPRMC,094925.00,A,5201.68228,N,00421.49730,E,43.932,143.61,120308,,,D*50
+$GPRMC,094926.00,A,5201.67266,N,00421.50907,E,43.867,142.77,120308,,,D*53
+$GPRMC,094927.00,A,5201.66306,N,00421.52110,E,44.544,142.23,120308,,,D*52
+$GPRMC,094928.00,A,5201.65326,N,00421.53337,E,45.520,142.63,120308,,,D*5D
+$GPRMC,094929.00,A,5201.64315,N,00421.54583,E,46.542,143.09,120308,,,D*59
+$GPRMC,094930.00,A,5201.63279,N,00421.55843,E,47.338,143.33,120308,,,D*5E
+$GPRMC,094931.00,A,5201.62224,N,00421.57118,E,47.795,143.48,120308,,,D*5C
+$GPRMC,094932.00,A,5201.61147,N,00421.58388,E,48.189,144.09,120308,,,D*58
+$GPRMC,094933.00,A,5201.60056,N,00421.59660,E,48.756,144.39,120308,,,D*5C
+$GPRMC,094934.00,A,5201.58949,N,00421.60936,E,49.201,144.64,120308,,,D*5F
+$GPRMC,094935.00,A,5201.57843,N,00421.62205,E,48.377,144.75,120308,,,D*52
+$GPRMC,094936.00,A,5201.56694,N,00421.63465,E,49.267,146.14,120308,,,D*51
+$GPRMC,094937.00,A,5201.55569,N,00421.64710,E,48.654,145.77,120308,,,D*57
+$GPRMC,094938.00,A,5201.54417,N,00421.65967,E,48.588,145.92,120308,,,D*57
+$GPRMC,094939.00,A,5201.53326,N,00421.67238,E,48.089,145.48,120308,,,D*54
+$GPRMC,094940.00,A,5201.52252,N,00421.68491,E,47.655,144.86,120308,,,D*58
+$GPRMC,094941.00,A,5201.51198,N,00421.69717,E,47.251,144.57,120308,,,D*5F
+$GPRMC,094942.00,A,5201.50131,N,00421.70931,E,47.327,144.41,120308,,,D*5B
+$GPRMC,094943.00,A,5201.49063,N,00421.72162,E,47.710,144.40,120308,,,D*59
+$GPRMC,094944.00,A,5201.47991,N,00421.73412,E,47.766,144.37,120308,,,D*56
+$GPRMC,094945.00,A,5201.46915,N,00421.74661,E,47.802,144.34,120308,,,D*55
+$GPRMC,094946.00,A,5201.45837,N,00421.75911,E,47.902,144.30,120308,,,D*58
+$GPRMC,094947.00,A,5201.44760,N,00421.77163,E,47.964,144.16,120308,,,D*5E
+$GPRMC,094948.00,A,5201.43691,N,00421.78419,E,47.957,144.41,120308,,,D*5C
+$GPRMC,094949.00,A,5201.42624,N,00421.79676,E,47.875,144.30,120308,,,D*5F
+$GPRMC,094950.00,A,5201.41522,N,00421.80919,E,47.877,144.18,120308,,,D*59
+$GPRMC,094951.00,A,5201.40404,N,00421.82158,E,47.962,144.33,120308,,,D*5F
+$GPRMC,094952.00,A,5201.39306,N,00421.83407,E,47.991,144.38,120308,,,D*5E
+$GPRMC,094953.00,A,5201.38192,N,00421.84646,E,47.951,144.37,120308,,,D*52
+$GPRMC,094954.00,A,5201.37118,N,00421.85904,E,48.005,144.52,120308,,,D*54
+$GPRMC,094955.00,A,5201.36041,N,00421.87154,E,47.967,144.76,120308,,,D*52
+$GPRMC,094956.00,A,5201.34963,N,00421.88405,E,47.943,144.54,120308,,,D*52
+$GPRMC,094957.00,A,5201.33877,N,00421.89656,E,47.994,144.36,120308,,,D*5B
+$GPRMC,094958.00,A,5201.32789,N,00421.90908,E,48.072,144.54,120308,,,D*5D
+$GPRMC,094959.00,A,5201.31695,N,00421.92161,E,48.196,144.55,120308,,,D*5C
+$GPRMC,095000.00,A,5201.30597,N,00421.93417,E,48.192,144.34,120308,,,D*5E
+$GPRMC,095001.00,A,5201.29507,N,00421.94685,E,48.233,144.06,120308,,,D*59
+$GPRMC,095002.00,A,5201.28424,N,00421.95962,E,48.332,144.14,120308,,,D*5F
+$GPRMC,095003.00,A,5201.27334,N,00421.97239,E,48.576,144.04,120308,,,D*57
+$GPRMC,095004.00,A,5201.26246,N,00421.98533,E,48.859,143.85,120308,,,D*59
+$GPRMC,095005.00,A,5201.25155,N,00421.99833,E,48.919,143.93,120308,,,D*54
+$GPRMC,095006.00,A,5201.24067,N,00422.01124,E,48.883,144.03,120308,,,D*57
+$GPRMC,095007.00,A,5201.22971,N,00422.02421,E,48.991,144.13,120308,,,D*5E
+$GPRMC,095008.00,A,5201.21876,N,00422.03701,E,48.892,144.33,120308,,,D*54
+$GPRMC,095009.00,A,5201.20777,N,00422.04976,E,49.025,144.44,120308,,,D*56
+$GPRMC,095010.00,A,5201.19674,N,00422.06262,E,49.213,144.44,120308,,,D*5D
+$GPRMC,095011.00,A,5201.18570,N,00422.07555,E,49.188,144.24,120308,,,D*5F
+$GPRMC,095012.00,A,5201.17468,N,00422.08850,E,49.277,144.18,120308,,,D*50
+$GPRMC,095013.00,A,5201.16364,N,00422.10143,E,49.295,144.22,120308,,,D*5C
+$GPRMC,095014.00,A,5201.15258,N,00422.11434,E,49.331,144.30,120308,,,D*5E
+$GPRMC,095015.00,A,5201.14144,N,00422.12727,E,49.312,144.47,120308,,,D*53
+$GPRMC,095016.00,A,5201.13032,N,00422.14019,E,49.301,144.52,120308,,,D*5D
+$GPRMC,095017.00,A,5201.11915,N,00422.15308,E,49.431,144.43,120308,,,D*54
+$GPRMC,095018.00,A,5201.10799,N,00422.16595,E,49.552,144.43,120308,,,D*55
+$GPRMC,095019.00,A,5201.09684,N,00422.17886,E,49.730,144.30,120308,,,D*5D
+$GPRMC,095020.00,A,5201.08565,N,00422.19189,E,49.974,144.25,120308,,,D*58
+$GPRMC,095021.00,A,5201.07439,N,00422.20508,E,50.165,144.22,120308,,,D*5E
+$GPRMC,095022.00,A,5201.06314,N,00422.21824,E,50.301,144.10,120308,,,D*57
+$GPRMC,095023.00,A,5201.05184,N,00422.23149,E,50.373,144.18,120308,,,D*53
+$GPRMC,095024.00,A,5201.04044,N,00422.24477,E,50.657,144.33,120308,,,D*5D
+$GPRMC,095025.00,A,5201.02896,N,00422.25802,E,50.760,144.59,120308,,,D*5B
+$GPRMC,095026.00,A,5201.01753,N,00422.27123,E,50.601,144.46,120308,,,D*5D
+$GPRMC,095027.00,A,5201.00612,N,00422.28446,E,50.549,144.27,120308,,,D*58
+$GPRMC,095028.00,A,5200.99458,N,00422.29791,E,51.076,144.20,120308,,,D*5D
+$GPRMC,095029.00,A,5200.98327,N,00422.31153,E,50.912,144.05,120308,,,D*5E
+$GPRMC,095030.00,A,5200.97191,N,00422.32518,E,50.887,144.00,120308,,,D*56
+$GPRMC,095031.00,A,5200.96060,N,00422.33847,E,51.011,144.20,120308,,,D*5B
+$GPRMC,095032.00,A,5200.94912,N,00422.35197,E,51.218,144.29,120308,,,D*56
+$GPRMC,095033.00,A,5200.93765,N,00422.36540,E,51.335,144.23,120308,,,D*57
+$GPRMC,095034.00,A,5200.92618,N,00422.37886,E,51.171,144.16,120308,,,D*58
+$GPRMC,095035.00,A,5200.91468,N,00422.39256,E,51.247,143.99,120308,,,D*50
+$GPRMC,095036.00,A,5200.90332,N,00422.40589,E,50.999,144.04,120308,,,D*5B
+$GPRMC,095037.00,A,5200.89195,N,00422.41931,E,50.818,143.98,120308,,,D*59
+$GPRMC,095038.00,A,5200.88063,N,00422.43265,E,50.482,144.10,120308,,,D*5F
+$GPRMC,095039.00,A,5200.86933,N,00422.44592,E,50.287,144.18,120308,,,D*5F
+$GPRMC,095040.00,A,5200.85802,N,00422.45909,E,50.300,144.58,120308,,,D*54
+$GPRMC,095041.00,A,5200.84664,N,00422.47223,E,50.340,144.64,120308,,,D*50
+$GPRMC,095042.00,A,5200.83529,N,00422.48541,E,50.402,144.30,120308,,,D*52
+$GPRMC,095043.00,A,5200.82396,N,00422.49869,E,50.453,144.08,120308,,,D*59
+$GPRMC,095044.00,A,5200.81264,N,00422.51200,E,50.450,144.23,120308,,,D*57
+$GPRMC,095045.00,A,5200.80129,N,00422.52524,E,50.529,144.30,120308,,,D*52
+$GPRMC,095046.00,A,5200.78991,N,00422.53846,E,50.562,144.48,120308,,,D*55
+$GPRMC,095047.00,A,5200.77844,N,00422.55172,E,50.975,144.61,120308,,,D*5B
+$GPRMC,095048.00,A,5200.76693,N,00422.56505,E,51.019,144.43,120308,,,D*54
+$GPRMC,095049.00,A,5200.75531,N,00422.57845,E,50.909,144.04,120308,,,D*5F
+$GPRMC,095050.00,A,5200.74390,N,00422.59195,E,50.666,143.94,120308,,,D*59
+$GPRMC,095051.00,A,5200.73230,N,00422.60549,E,50.611,144.11,120308,,,D*51
+$GPRMC,095052.00,A,5200.72040,N,00422.61910,E,50.566,144.20,120308,,,D*56
+$GPRMC,095053.00,A,5200.70878,N,00422.63232,E,50.507,144.31,120308,,,D*58
+$GPRMC,095054.00,A,5200.69728,N,00422.64544,E,50.413,144.22,120308,,,D*5A
+$GPRMC,095055.00,A,5200.68581,N,00422.65864,E,50.444,144.18,120308,,,D*5E
+$GPRMC,095056.00,A,5200.67432,N,00422.67210,E,50.392,143.96,120308,,,D*5D
+$GPRMC,095057.00,A,5200.66297,N,00422.68536,E,50.333,143.86,120308,,,D*52
+$GPRMC,095058.00,A,5200.65155,N,00422.69876,E,50.418,144.28,120308,,,D*56
+$GPRMC,095059.00,A,5200.64008,N,00422.71203,E,50.586,144.57,120308,,,D*50
+$GPRMC,095100.00,A,5200.62857,N,00422.72518,E,50.586,144.63,120308,,,D*50
+$GPRMC,095101.00,A,5200.61709,N,00422.73834,E,50.525,144.45,120308,,,D*59
+$GPRMC,095102.00,A,5200.60568,N,00422.75165,E,50.627,144.15,120308,,,D*51
+$GPRMC,095103.00,A,5200.59427,N,00422.76503,E,50.698,144.17,120308,,,D*51
+$GPRMC,095104.00,A,5200.58282,N,00422.77839,E,50.710,144.63,120308,,,D*59
+$GPRMC,095105.00,A,5200.57134,N,00422.79188,E,50.673,144.30,120308,,,D*56
+$GPRMC,095106.00,A,5200.55991,N,00422.80515,E,50.491,144.53,120308,,,D*5D
+$GPRMC,095107.00,A,5200.54849,N,00422.81821,E,50.366,144.88,120308,,,D*5B
+$GPRMC,095108.00,A,5200.53709,N,00422.83141,E,50.225,144.60,120308,,,D*55
+$GPRMC,095109.00,A,5200.52581,N,00422.84458,E,49.999,144.04,120308,,,D*5B
+$GPRMC,095110.00,A,5200.51462,N,00422.85779,E,49.606,143.82,120308,,,D*5D
+$GPRMC,095111.00,A,5200.50354,N,00422.87093,E,49.418,144.01,120308,,,D*5F
+$GPRMC,095112.00,A,5200.49248,N,00422.88405,E,49.308,144.15,120308,,,D*5F
+$GPRMC,095113.00,A,5200.48141,N,00422.89700,E,49.393,144.31,120308,,,D*56
+$GPRMC,095114.00,A,5200.47023,N,00422.90991,E,49.404,144.57,120308,,,D*5C
+$GPRMC,095115.00,A,5200.45904,N,00422.92277,E,49.468,144.67,120308,,,D*5B
+$GPRMC,095116.00,A,5200.44788,N,00422.93565,E,49.513,144.32,120308,,,D*5B
+$GPRMC,095117.00,A,5200.43668,N,00422.94863,E,49.463,144.12,120308,,,D*5A
+$GPRMC,095118.00,A,5200.42556,N,00422.96169,E,49.360,144.04,120308,,,D*58
+$GPRMC,095119.00,A,5200.41445,N,00422.97468,E,49.186,144.41,120308,,,D*57
+$GPRMC,095120.00,A,5200.40336,N,00422.98756,E,49.202,144.12,120308,,,D*57
+$GPRMC,095121.00,A,5200.39226,N,00423.00029,E,49.069,144.36,120308,,,D*5E
+$GPRMC,095122.00,A,5200.38121,N,00423.01297,E,49.143,144.81,120308,,,D*5B
+$GPRMC,095123.00,A,5200.37006,N,00423.02553,E,49.089,145.49,120308,,,D*5F
+$GPRMC,095124.00,A,5200.35888,N,00423.03790,E,48.825,146.45,120308,,,D*58
+$GPRMC,095125.00,A,5200.34759,N,00423.04971,E,48.442,147.88,120308,,,D*50
+$GPRMC,095126.00,A,5200.33630,N,00423.06116,E,48.283,148.89,120308,,,D*54
+$GPRMC,095127.00,A,5200.32479,N,00423.07215,E,48.459,150.14,120308,,,D*56
+$GPRMC,095128.00,A,5200.31317,N,00423.08260,E,49.119,151.71,120308,,,D*5A
+$GPRMC,095129.00,A,5200.30106,N,00423.09296,E,50.016,152.55,120308,,,D*53
+$GPRMC,095130.00,A,5200.28852,N,00423.10303,E,50.671,154.26,120308,,,D*5A
+$GPRMC,095131.00,A,5200.27557,N,00423.11241,E,51.033,156.17,120308,,,D*5B
+$GPRMC,095132.00,A,5200.26252,N,00423.12142,E,51.126,157.61,120308,,,D*5D
+$GPRMC,095133.00,A,5200.24925,N,00423.12993,E,51.266,159.15,120308,,,D*5B
+$GPRMC,095134.00,A,5200.23576,N,00423.13787,E,51.295,160.66,120308,,,D*59
+$GPRMC,095135.00,A,5200.22219,N,00423.14529,E,51.317,161.96,120308,,,D*53
+$GPRMC,095136.00,A,5200.20849,N,00423.15197,E,51.254,163.52,120308,,,D*51
+$GPRMC,095137.00,A,5200.19469,N,00423.15815,E,51.279,164.54,120308,,,D*59
+$GPRMC,095138.00,A,5200.18086,N,00423.16409,E,51.353,164.75,120308,,,D*5A
+$GPRMC,095139.00,A,5200.16702,N,00423.17000,E,51.369,164.83,120308,,,D*52
+$GPRMC,095140.00,A,5200.15320,N,00423.17583,E,51.262,165.12,120308,,,D*56
+$GPRMC,095141.00,A,5200.13941,N,00423.18160,E,51.172,165.25,120308,,,D*5C
+$GPRMC,095142.00,A,5200.12566,N,00423.18738,E,50.974,165.14,120308,,,D*51
+$GPRMC,095143.00,A,5200.11200,N,00423.19315,E,50.661,165.13,120308,,,D*52
+$GPRMC,095144.00,A,5200.09844,N,00423.19894,E,50.299,164.90,120308,,,D*5D
+$GPRMC,095145.00,A,5200.08493,N,00423.20475,E,50.254,165.00,120308,,,D*5B
+$GPRMC,095146.00,A,5200.07137,N,00423.21057,E,50.606,164.97,120308,,,D*55
+$GPRMC,095147.00,A,5200.05772,N,00423.21639,E,50.981,165.33,120308,,,D*50
+$GPRMC,095148.00,A,5200.04402,N,00423.22222,E,50.958,165.06,120308,,,D*55
+$GPRMC,095149.00,A,5200.03038,N,00423.22811,E,50.594,165.01,120308,,,D*5F
+$GPRMC,095150.00,A,5200.01685,N,00423.23387,E,50.062,165.41,120308,,,D*58
+$GPRMC,095151.00,A,5200.00344,N,00423.23945,E,49.605,165.62,120308,,,D*5A
+$GPRMC,095152.00,A,5159.99015,N,00423.24501,E,49.265,165.22,120308,,,D*5C
+$GPRMC,095153.00,A,5159.97699,N,00423.25070,E,48.886,164.79,120308,,,D*5A
+$GPRMC,095154.00,A,5159.96393,N,00423.25641,E,48.605,164.89,120308,,,D*5D
+$GPRMC,095155.00,A,5159.95092,N,00423.26198,E,48.380,165.40,120308,,,D*51
+$GPRMC,095156.00,A,5159.93794,N,00423.26743,E,48.206,165.42,120308,,,D*58
+$GPRMC,095157.00,A,5159.92500,N,00423.27292,E,48.175,165.16,120308,,,D*59
+$GPRMC,095158.00,A,5159.91209,N,00423.27843,E,48.079,165.19,120308,,,D*5F
+$GPRMC,095159.00,A,5159.89921,N,00423.28398,E,48.045,165.04,120308,,,D*57
+$GPRMC,095200.00,A,5159.88632,N,00423.28952,E,48.136,165.20,120308,,,D*5B
+$GPRMC,095201.00,A,5159.87335,N,00423.29505,E,48.511,165.24,120308,,,D*5D
+$GPRMC,095202.00,A,5159.86036,N,00423.30058,E,48.422,165.21,120308,,,D*5E
+$GPRMC,095203.00,A,5159.84739,N,00423.30611,E,48.293,165.15,120308,,,D*55
+$GPRMC,095204.00,A,5159.83434,N,00423.31173,E,49.060,164.91,120308,,,D*5B
+$GPRMC,095205.00,A,5159.82113,N,00423.31772,E,49.703,163.90,120308,,,D*58
+$GPRMC,095206.00,A,5159.80744,N,00423.32463,E,51.366,162.82,120308,,,D*51
+$GPRMC,095207.00,A,5159.79353,N,00423.33131,E,52.579,163.07,120308,,,D*50
+$GPRMC,095208.00,A,5159.77945,N,00423.33828,E,53.274,163.43,120308,,,D*56
+$GPRMC,095209.00,A,5159.76523,N,00423.34491,E,53.329,164.27,120308,,,D*5F
+$GPRMC,095210.00,A,5159.75094,N,00423.35128,E,53.074,164.86,120308,,,D*5B
+$GPRMC,095211.00,A,5159.73688,N,00423.35742,E,52.416,164.72,120308,,,D*57
+$GPRMC,095212.00,A,5159.72269,N,00423.36399,E,52.948,164.67,120308,,,D*5D
+$GPRMC,095213.00,A,5159.70839,N,00423.36990,E,52.704,165.19,120308,,,D*5C
+$GPRMC,095214.00,A,5159.69432,N,00423.37599,E,52.600,165.10,120308,,,D*5C
+$GPRMC,095215.00,A,5159.68025,N,00423.38205,E,52.323,165.01,120308,,,D*57
+$GPRMC,095216.00,A,5159.66626,N,00423.38800,E,52.058,165.19,120308,,,D*56
+$GPRMC,095217.00,A,5159.65235,N,00423.39382,E,51.870,165.22,120308,,,D*5B
+$GPRMC,095218.00,A,5159.63857,N,00423.39963,E,51.530,165.06,120308,,,D*56
+$GPRMC,095219.00,A,5159.62482,N,00423.40548,E,51.352,165.16,120308,,,D*5A
+$GPRMC,095220.00,A,5159.61108,N,00423.41132,E,51.451,165.04,120308,,,D*5B
+$GPRMC,095221.00,A,5159.59728,N,00423.41721,E,51.641,165.10,120308,,,D*57
+$GPRMC,095222.00,A,5159.58335,N,00423.42313,E,52.113,165.25,120308,,,D*5E
+$GPRMC,095223.00,A,5159.56926,N,00423.42912,E,52.590,165.30,120308,,,D*59
+$GPRMC,095224.00,A,5159.55508,N,00423.43522,E,52.889,164.87,120308,,,D*5B
+$GPRMC,095225.00,A,5159.54090,N,00423.44137,E,52.921,164.94,120308,,,D*59
+$GPRMC,095226.00,A,5159.52671,N,00423.44749,E,52.866,165.07,120308,,,D*53
+$GPRMC,095227.00,A,5159.51251,N,00423.45355,E,52.807,165.26,120308,,,D*5B
+$GPRMC,095228.00,A,5159.49830,N,00423.45954,E,52.813,165.35,120308,,,D*5C
+$GPRMC,095229.00,A,5159.48410,N,00423.46551,E,52.811,165.25,120308,,,D*5B
+$GPRMC,095230.00,A,5159.46987,N,00423.47155,E,52.821,165.27,120308,,,D*5E
+$GPRMC,095231.00,A,5159.45570,N,00423.47764,E,52.627,165.20,120308,,,D*53
+$GPRMC,095232.00,A,5159.44154,N,00423.48381,E,52.395,165.06,120308,,,D*5B
+$GPRMC,095233.00,A,5159.42742,N,00423.48991,E,52.486,165.23,120308,,,D*54
+$GPRMC,095234.00,A,5159.41331,N,00423.49586,E,52.487,165.53,120308,,,D*5D
+$GPRMC,095235.00,A,5159.39924,N,00423.50170,E,52.093,165.57,120308,,,D*5D
+$GPRMC,095236.00,A,5159.38531,N,00423.50752,E,51.633,165.28,120308,,,D*56
+$GPRMC,095237.00,A,5159.37148,N,00423.51342,E,51.295,165.18,120308,,,D*5D
+$GPRMC,095238.00,A,5159.35773,N,00423.51929,E,51.033,165.32,120308,,,D*5F
+$GPRMC,095239.00,A,5159.34405,N,00423.52524,E,51.217,165.11,120308,,,D*5A
+$GPRMC,095240.00,A,5159.33032,N,00423.53120,E,51.531,164.85,120308,,,D*5D
+$GPRMC,095241.00,A,5159.31655,N,00423.53713,E,51.504,165.03,120308,,,D*56
+$GPRMC,095242.00,A,5159.30273,N,00423.54306,E,51.530,164.91,120308,,,D*5E
+$GPRMC,095243.00,A,5159.28891,N,00423.54898,E,51.618,165.07,120308,,,D*5B
+$GPRMC,095244.00,A,5159.27507,N,00423.55485,E,51.642,165.30,120308,,,D*5B
+$GPRMC,095245.00,A,5159.26130,N,00423.56069,E,51.185,165.09,120308,,,D*58
+$GPRMC,095246.00,A,5159.24767,N,00423.56655,E,50.686,165.03,120308,,,D*5B
+$GPRMC,095247.00,A,5159.23412,N,00423.57238,E,50.371,165.18,120308,,,D*55
+$GPRMC,095248.00,A,5159.22065,N,00423.57809,E,50.093,165.41,120308,,,D*54
+$GPRMC,095249.00,A,5159.20729,N,00423.58383,E,49.270,165.00,120308,,,D*5C
+$GPRMC,095250.00,A,5159.19388,N,00423.58936,E,49.667,165.32,120308,,,D*56
+$GPRMC,095251.00,A,5159.18049,N,00423.59488,E,49.291,165.14,120308,,,D*58
+$GPRMC,095252.00,A,5159.16726,N,00423.60046,E,48.996,164.90,120308,,,D*57
+$GPRMC,095253.00,A,5159.15412,N,00423.60616,E,49.042,164.94,120308,,,D*57
+$GPRMC,095254.00,A,5159.14097,N,00423.61173,E,49.224,165.37,120308,,,D*57
+$GPRMC,095255.00,A,5159.12779,N,00423.61722,E,49.257,165.42,120308,,,D*53
+$GPRMC,095256.00,A,5159.11458,N,00423.62283,E,49.248,165.08,120308,,,D*5E
+$GPRMC,095257.00,A,5159.10138,N,00423.62851,E,49.213,165.06,120308,,,D*58
+$GPRMC,095258.00,A,5159.08821,N,00423.63418,E,49.025,164.99,120308,,,D*5F
+$GPRMC,095259.00,A,5159.07506,N,00423.63979,E,49.133,165.25,120308,,,D*53
+$GPRMC,095300.00,A,5159.06182,N,00423.64541,E,49.525,165.22,120308,,,D*53
+$GPRMC,095301.00,A,5159.04844,N,00423.65115,E,49.995,165.17,120308,,,D*56
+$GPRMC,095302.00,A,5159.03498,N,00423.65693,E,50.241,165.11,120308,,,D*5A
+$GPRMC,095303.00,A,5159.02142,N,00423.66277,E,50.448,165.30,120308,,,D*59
+$GPRMC,095304.00,A,5159.00778,N,00423.66863,E,50.918,165.39,120308,,,D*5D
+$GPRMC,095305.00,A,5158.99403,N,00423.67445,E,51.625,165.38,120308,,,D*5A
+$GPRMC,095306.00,A,5158.98011,N,00423.68049,E,52.312,164.75,120308,,,D*52
+$GPRMC,095307.00,A,5158.96609,N,00423.68659,E,52.726,164.95,120308,,,D*58
+$GPRMC,095308.00,A,5158.95193,N,00423.69274,E,53.072,165.02,120308,,,D*52
+$GPRMC,095309.00,A,5158.93766,N,00423.69886,E,53.476,165.12,120308,,,D*5F
+$GPRMC,095310.00,A,5158.92329,N,00423.70484,E,53.770,165.19,120308,,,D*51
+$GPRMC,095311.00,A,5158.90887,N,00423.71092,E,53.928,165.16,120308,,,D*53
+$GPRMC,095312.00,A,5158.89445,N,00423.71711,E,53.748,164.96,120308,,,D*57
+$GPRMC,095313.00,A,5158.88003,N,00423.72324,E,53.850,165.25,120308,,,D*5F
+$GPRMC,095314.00,A,5158.86557,N,00423.72935,E,54.147,165.01,120308,,,D*56
+$GPRMC,095315.00,A,5158.85106,N,00423.73557,E,54.216,165.09,120308,,,D*52
+$GPRMC,095316.00,A,5158.83646,N,00423.74177,E,54.353,165.51,120308,,,D*58
+$GPRMC,095317.00,A,5158.82190,N,00423.74776,E,54.471,165.28,120308,,,D*5A
+$GPRMC,095318.00,A,5158.80725,N,00423.75399,E,54.610,165.19,120308,,,D*5C
+$GPRMC,095319.00,A,5158.79259,N,00423.76029,E,54.696,165.12,120308,,,D*5B
+$GPRMC,095320.00,A,5158.77794,N,00423.76662,E,54.693,164.92,120308,,,D*5E
+$GPRMC,095321.00,A,5158.76329,N,00423.77292,E,54.503,165.26,120308,,,D*52
+$GPRMC,095322.00,A,5158.74864,N,00423.77913,E,54.605,165.33,120308,,,D*52
+$GPRMC,095323.00,A,5158.73397,N,00423.78537,E,54.733,165.25,120308,,,D*55
+$GPRMC,095324.00,A,5158.71927,N,00423.79162,E,54.732,165.32,120308,,,D*53
+$GPRMC,095325.00,A,5158.70425,N,00423.79809,E,54.694,165.30,120308,,,D*57
+$GPRMC,095326.00,A,5158.68956,N,00423.80432,E,54.710,165.33,120308,,,D*58
+$GPRMC,095327.00,A,5158.67478,N,00423.81069,E,54.722,165.14,120308,,,D*58
+$GPRMC,095328.00,A,5158.66012,N,00423.81707,E,54.607,165.13,120308,,,D*50
+$GPRMC,095329.00,A,5158.64555,N,00423.82339,E,54.482,165.24,120308,,,D*54
+$GPRMC,095330.00,A,5158.63105,N,00423.82971,E,54.301,164.84,120308,,,D*5B
+$GPRMC,095331.00,A,5158.61675,N,00423.83578,E,53.592,165.24,120308,,,D*5C
+$GPRMC,095332.00,A,5158.60245,N,00423.84169,E,53.408,165.90,120308,,,D*57
+$GPRMC,095333.00,A,5158.58816,N,00423.84730,E,53.126,166.51,120308,,,D*5C
+$GPRMC,095334.00,A,5158.57392,N,00423.85274,E,52.759,166.75,120308,,,D*5E
+$GPRMC,095335.00,A,5158.55983,N,00423.85820,E,52.132,166.15,120308,,,D*51
+$GPRMC,095336.00,A,5158.54587,N,00423.86365,E,51.614,166.59,120308,,,D*5A
+$GPRMC,095337.00,A,5158.53200,N,00423.86902,E,51.214,166.57,120308,,,D*55
+$GPRMC,095338.00,A,5158.51821,N,00423.87450,E,50.748,166.14,120308,,,D*50
+$GPRMC,095339.00,A,5158.50465,N,00423.88008,E,50.240,165.56,120308,,,D*52
+$GPRMC,095340.00,A,5158.49114,N,00423.88586,E,49.954,165.18,120308,,,D*58
+$GPRMC,095341.00,A,5158.47776,N,00423.89166,E,49.795,164.97,120308,,,D*5B
+$GPRMC,095342.00,A,5158.46450,N,00423.89745,E,49.563,164.76,120308,,,A*58
+$GPRMC,095343.00,A,5158.45129,N,00423.90321,E,49.301,165.00,120308,,,A*5D
+$GPRMC,095344.00,A,5158.43818,N,00423.90886,E,48.993,165.05,120308,,,A*54
+$GPRMC,095345.00,A,5158.42513,N,00423.91450,E,48.731,165.05,120308,,,A*52
+$GPRMC,095346.00,A,5158.41213,N,00423.92007,E,48.513,165.15,120308,,,A*53
+$GPRMC,095347.00,A,5158.39916,N,00423.92561,E,48.421,165.22,120308,,,A*52
+$GPRMC,095348.00,A,5158.38620,N,00423.93118,E,48.480,165.04,120308,,,A*52
+$GPRMC,095349.00,A,5158.37322,N,00423.93678,E,48.475,165.04,120308,,,A*50
+$GPRMC,095350.00,A,5158.36027,N,00423.94232,E,48.266,165.28,120308,,,A*58
+$GPRMC,095351.00,A,5158.34737,N,00423.94778,E,47.983,165.33,120308,,,A*53
+$GPRMC,095352.00,A,5158.33457,N,00423.95316,E,47.499,165.40,120308,,,A*5D
+$GPRMC,095353.00,A,5158.32196,N,00423.95846,E,46.568,165.29,120308,,,A*5A
+$GPRMC,095354.00,A,5158.30963,N,00423.96377,E,45.638,164.82,120308,,,A*52
+$GPRMC,095355.00,A,5158.29751,N,00423.96922,E,45.224,164.11,120308,,,A*5D
+$GPRMC,095356.00,A,5158.28549,N,00423.97501,E,45.238,162.87,120308,,,A*5C
+$GPRMC,095357.00,A,5158.27354,N,00423.98135,E,45.547,161.11,120308,,,A*57
+$GPRMC,095358.00,A,5158.26160,N,00423.98825,E,45.883,159.93,120308,,,A*50
+$GPRMC,095359.00,A,5158.24965,N,00423.99559,E,46.444,158.89,120308,,,A*57
+$GPRMC,095400.00,A,5158.23766,N,00424.00345,E,47.088,157.69,120308,,,A*5E
+$GPRMC,095401.00,A,5158.22562,N,00424.01185,E,47.689,156.26,120308,,,A*5A
+$GPRMC,095402.00,A,5158.21361,N,00424.02087,E,48.043,154.51,120308,,,A*52
+$GPRMC,095403.00,A,5158.20171,N,00424.03041,E,47.864,152.96,120308,,,A*55
+$GPRMC,095404.00,A,5158.18984,N,00424.04008,E,48.265,154.01,120308,,,A*5D
+$GPRMC,095405.00,A,5158.17787,N,00424.04954,E,48.151,154.14,120308,,,A*5E
+$GPRMC,095406.00,A,5158.16599,N,00424.05893,E,47.544,154.28,120308,,,A*5A
+$GPRMC,095407.00,A,5158.15429,N,00424.06812,E,46.509,154.37,120308,,,A*5E
+$GPRMC,095408.00,A,5158.14285,N,00424.07709,E,45.561,154.35,120308,,,A*5B
+$GPRMC,095409.00,A,5158.13164,N,00424.08587,E,44.708,154.39,120308,,,A*5A
+$GPRMC,095410.00,A,5158.12060,N,00424.09463,E,44.234,154.31,120308,,,A*5E
+$GPRMC,095411.00,A,5158.10965,N,00424.10341,E,44.035,153.97,120308,,,A*56
+$GPRMC,095412.00,A,5158.09870,N,00424.11200,E,44.293,154.03,120308,,,A*59
+$GPRMC,095413.00,A,5158.08771,N,00424.12070,E,44.378,153.87,120308,,,A*5E
+$GPRMC,095414.00,A,5158.07670,N,00424.12938,E,44.347,154.04,120308,,,A*53
+$GPRMC,095415.00,A,5158.06568,N,00424.13800,E,44.303,154.53,120308,,,A*50
+$GPRMC,095416.00,A,5158.05459,N,00424.14645,E,44.509,154.54,120308,,,A*50
+$GPRMC,095417.00,A,5158.04353,N,00424.15513,E,44.734,154.13,120308,,,A*53
+$GPRMC,095418.00,A,5158.03241,N,00424.16390,E,44.807,154.24,120308,,,A*5C
+$GPRMC,095419.00,A,5158.02127,N,00424.17264,E,44.692,154.36,120308,,,A*55
+$GPRMC,095420.00,A,5158.01016,N,00424.18136,E,44.487,154.47,120308,,,A*54
+$GPRMC,095421.00,A,5157.99904,N,00424.19000,E,44.602,154.47,120308,,,A*5B
+$GPRMC,095422.00,A,5157.98789,N,00424.19868,E,44.894,154.39,120308,,,A*5C
+$GPRMC,095423.00,A,5157.97670,N,00424.20743,E,44.953,154.34,120308,,,A*5E
+$GPRMC,095424.00,A,5157.96558,N,00424.21599,E,44.995,154.20,120308,,,A*5A
+$GPRMC,095425.00,A,5157.95442,N,00424.22473,E,45.013,154.06,120308,,,A*56
+$GPRMC,095426.00,A,5157.94318,N,00424.23368,E,45.524,154.05,120308,,,A*52
+$GPRMC,095427.00,A,5157.93188,N,00424.24259,E,45.858,153.81,120308,,,A*56
+$GPRMC,095428.00,A,5157.92053,N,00424.25158,E,46.000,153.61,120308,,,A*54
+$GPRMC,095429.00,A,5157.90920,N,00424.26065,E,45.662,153.82,120308,,,A*5A
+$GPRMC,095430.00,A,5157.89787,N,00424.26973,E,45.581,154.15,120308,,,A*50
+$GPRMC,095431.00,A,5157.88655,N,00424.27859,E,45.580,154.12,120308,,,A*50
+$GPRMC,095432.00,A,5157.87526,N,00424.28748,E,45.105,154.23,120308,,,A*50
+$GPRMC,095433.00,A,5157.86407,N,00424.29629,E,44.776,154.20,120308,,,A*55
+$GPRMC,095434.00,A,5157.85296,N,00424.30504,E,44.623,154.17,120308,,,A*5E
+$GPRMC,095435.00,A,5157.84189,N,00424.31372,E,44.561,154.18,120308,,,A*5F
+$GPRMC,095436.00,A,5157.83082,N,00424.32243,E,44.541,154.24,120308,,,A*5C
+$GPRMC,095437.00,A,5157.81971,N,00424.33107,E,44.443,154.41,120308,,,A*58
+$GPRMC,095438.00,A,5157.80862,N,00424.33964,E,44.293,154.55,120308,,,A*56
+$GPRMC,095439.00,A,5157.79757,N,00424.34821,E,44.234,154.22,120308,,,A*52
+$GPRMC,095440.00,A,5157.78655,N,00424.35685,E,44.318,154.07,120308,,,A*57
+$GPRMC,095441.00,A,5157.77554,N,00424.36548,E,44.094,154.23,120308,,,A*5B
+$GPRMC,095442.00,A,5157.76454,N,00424.37397,E,44.031,154.42,120308,,,A*55
+$GPRMC,095443.00,A,5157.75356,N,00424.38250,E,43.847,154.29,120308,,,A*54
+$GPRMC,095444.00,A,5157.74269,N,00424.39093,E,43.428,154.14,120308,,,A*58
+$GPRMC,095445.00,A,5157.73190,N,00424.39926,E,43.146,154.50,120308,,,A*51
+$GPRMC,095446.00,A,5157.72114,N,00424.40744,E,42.936,154.73,120308,,,A*54
+$GPRMC,095447.00,A,5157.71040,N,00424.41563,E,42.921,154.55,120308,,,A*52
+$GPRMC,095448.00,A,5157.69963,N,00424.42388,E,42.920,154.76,120308,,,A*5C
+$GPRMC,095449.00,A,5157.68883,N,00424.43221,E,43.123,154.52,120308,,,A*5C
+$GPRMC,095450.00,A,5157.67799,N,00424.44070,E,43.452,154.19,120308,,,A*52
+$GPRMC,095451.00,A,5157.66708,N,00424.44932,E,43.822,154.12,120308,,,A*55
+$GPRMC,095452.00,A,5157.65610,N,00424.45798,E,44.034,154.39,120308,,,A*53
+$GPRMC,095453.00,A,5157.64506,N,00424.46657,E,44.152,154.58,120308,,,A*50
+$GPRMC,095454.00,A,5157.63398,N,00424.47516,E,44.365,154.62,120308,,,A*59
+$GPRMC,095455.00,A,5157.62294,N,00424.48375,E,43.893,154.53,120308,,,A*5F
+$GPRMC,095456.00,A,5157.61187,N,00424.49270,E,44.517,153.88,120308,,,A*5C
+$GPRMC,095457.00,A,5157.60076,N,00424.50161,E,44.555,153.91,120308,,,A*56
+$GPRMC,095458.00,A,5157.58965,N,00424.51050,E,44.691,154.04,120308,,,A*5B
+$GPRMC,095459.00,A,5157.57846,N,00424.51936,E,44.869,154.16,120308,,,A*56
+$GPRMC,095500.00,A,5157.56717,N,00424.52817,E,45.229,154.43,120308,,,A*5F
+$GPRMC,095501.00,A,5157.55578,N,00424.53704,E,45.524,154.45,120308,,,A*56
+$GPRMC,095502.00,A,5157.54435,N,00424.54582,E,45.667,154.52,120308,,,A*55
+$GPRMC,095503.00,A,5157.53288,N,00424.55463,E,45.760,154.45,120308,,,A*5C
+$GPRMC,095504.00,A,5157.52138,N,00424.56353,E,45.864,154.33,120308,,,A*5F
+$GPRMC,095505.00,A,5157.50989,N,00424.57239,E,45.953,154.37,120308,,,A*53
+$GPRMC,095506.00,A,5157.49847,N,00424.58120,E,45.412,154.37,120308,,,A*57
+$GPRMC,095507.00,A,5157.48719,N,00424.58997,E,44.765,154.06,120308,,,A*57
+$GPRMC,095508.00,A,5157.47608,N,00424.59867,E,44.353,153.97,120308,,,A*57
+$GPRMC,095509.00,A,5157.46501,N,00424.60728,E,44.117,154.42,120308,,,A*5E
+$GPRMC,095510.00,A,5157.45399,N,00424.61584,E,43.867,154.38,120308,,,A*53
+$GPRMC,095511.00,A,5157.44303,N,00424.62438,E,43.667,154.70,120308,,,A*57
+$GPRMC,095512.00,A,5157.43210,N,00424.63287,E,43.518,154.59,120308,,,A*53
+$GPRMC,095513.00,A,5157.42127,N,00424.64146,E,43.408,153.99,120308,,,A*56
+$GPRMC,095514.00,A,5157.41057,N,00424.65015,E,43.043,153.90,120308,,,A*50
+$GPRMC,095515.00,A,5157.39989,N,00424.65878,E,42.861,153.88,120308,,,A*57
+$GPRMC,095516.00,A,5157.38922,N,00424.66735,E,42.796,153.89,120308,,,A*57
+$GPRMC,095517.00,A,5157.37857,N,00424.67585,E,42.771,154.28,120308,,,A*57
+$GPRMC,095518.00,A,5157.36786,N,00424.68420,E,42.624,154.66,120308,,,A*50
+$GPRMC,095519.00,A,5157.35714,N,00424.69249,E,42.773,154.64,120308,,,A*50
+$GPRMC,095520.00,A,5157.34634,N,00424.70087,E,43.262,154.37,120308,,,A*52
+$GPRMC,095521.00,A,5157.33542,N,00424.70938,E,43.807,154.24,120308,,,A*50
+$GPRMC,095522.00,A,5157.32443,N,00424.71800,E,43.974,154.22,120308,,,A*5A
+$GPRMC,095523.00,A,5157.31345,N,00424.72663,E,43.913,154.40,120308,,,A*54
+$GPRMC,095524.00,A,5157.30245,N,00424.73521,E,43.924,154.36,120308,,,A*52
+$GPRMC,095525.00,A,5157.29138,N,00424.74374,E,44.302,154.66,120308,,,A*5F
+$GPRMC,095526.00,A,5157.28018,N,00424.75234,E,44.989,154.50,120308,,,A*56
+$GPRMC,095527.00,A,5157.26882,N,00424.76110,E,45.573,154.45,120308,,,A*58
+$GPRMC,095528.00,A,5157.25729,N,00424.76994,E,46.090,154.89,120308,,,A*55
+$GPRMC,095529.00,A,5157.24569,N,00424.77855,E,45.667,155.81,120308,,,A*5A
+$GPRMC,095530.00,A,5157.23436,N,00424.78682,E,44.496,155.84,120308,,,A*5D
+$GPRMC,095531.00,A,5157.22319,N,00424.79497,E,43.601,156.18,120308,,,A*5D
+$GPRMC,095532.00,A,5157.21222,N,00424.80298,E,43.004,155.67,120308,,,A*53
+$GPRMC,095533.00,A,5157.20145,N,00424.81079,E,42.398,155.42,120308,,,A*5D
+$GPRMC,095534.00,A,5157.19084,N,00424.81867,E,41.746,155.18,120308,,,A*50
+$GPRMC,095535.00,A,5157.18051,N,00424.82645,E,40.541,154.61,120308,,,A*5E
+$GPRMC,095536.00,A,5157.17046,N,00424.83426,E,40.176,153.52,120308,,,A*55
+$GPRMC,095537.00,A,5157.16058,N,00424.84216,E,39.436,153.55,120308,,,A*50
+$GPRMC,095538.00,A,5157.15073,N,00424.85002,E,39.334,153.75,120308,,,A*54
+$GPRMC,095539.00,A,5157.14100,N,00424.85749,E,38.937,154.16,120308,,,A*53
+$GPRMC,095540.00,A,5157.13141,N,00424.86487,E,38.385,154.05,120308,,,A*5C
+$GPRMC,095541.00,A,5157.12197,N,00424.87224,E,37.618,153.91,120308,,,A*5D
+$GPRMC,095542.00,A,5157.11280,N,00424.87953,E,36.143,153.71,120308,,,A*55
+$GPRMC,095543.00,A,5157.10418,N,00424.88608,E,32.930,155.76,120308,,,A*55
+$GPRMC,095544.00,A,5157.09634,N,00424.89114,E,28.609,160.17,120308,,,A*52
+$GPRMC,095545.00,A,5157.08934,N,00424.89444,E,24.549,166.01,120308,,,A*57
+$GPRMC,095546.00,A,5157.08313,N,00424.89633,E,21.597,171.46,120308,,,A*5A
+$GPRMC,095547.00,A,5157.07761,N,00424.89721,E,18.935,175.84,120308,,,A*53
+$GPRMC,095548.00,A,5157.07288,N,00424.89738,E,15.918,179.69,120308,,,A*5B
+$GPRMC,095549.00,A,5157.06914,N,00424.89714,E,11.700,182.22,120308,,,A*53
+$GPRMC,095550.00,A,5157.06650,N,00424.89680,E,7.475,183.26,120308,,,A*6B
+$GPRMC,095551.00,A,5157.06495,N,00424.89605,E,4.693,192.25,120308,,,A*66
+$GPRMC,095552.00,A,5157.06369,N,00424.89563,E,4.245,184.84,120308,,,A*61
+$GPRMC,095553.00,A,5157.06280,N,00424.89504,E,3.624,185.13,120308,,,A*6C
+$GPRMC,095554.00,A,5157.06197,N,00424.89470,E,2.964,185.41,120308,,,A*61
+$GPRMC,095555.00,A,5157.06140,N,00424.89436,E,1.905,185.26,120308,,,A*6D
+$GPRMC,095556.00,A,5157.06108,N,00424.89418,E,0.949,185.10,120308,,,A*62
+$GPRMC,095557.00,A,5157.06106,N,00424.89398,E,0.078,184.13,120308,,,A*6B
+$GPRMC,095558.00,A,5157.06127,N,00424.89378,E,0.013,,120308,,,A*75
+$GPRMC,095559.00,A,5157.06139,N,00424.89374,E,0.186,180.61,120308,,,A*6A
+$GPRMC,095600.00,A,5157.06153,N,00424.89370,E,0.065,176.10,120308,,,A*6E
+$GPRMC,095601.00,A,5157.06177,N,00424.89356,E,0.061,176.74,120308,,,A*6B
+$GPRMC,095602.00,A,5157.06198,N,00424.89341,E,0.039,174.43,120308,,,A*64
+$GPRMC,095603.00,A,5157.06216,N,00424.89329,E,0.037,178.83,120308,,,A*60
+$GPRMC,095604.00,A,5157.06234,N,00424.89313,E,0.003,,120308,,,A*72
+$GPRMC,095605.00,A,5157.06250,N,00424.89319,E,0.030,175.12,120308,,,A*65
+$GPRMC,095606.00,A,5157.06264,N,00424.89308,E,0.062,176.35,120308,,,A*60
+$GPRMC,095607.00,A,5157.06274,N,00424.89297,E,0.040,171.61,120308,,,A*61
+$GPRMC,095608.00,A,5157.06282,N,00424.89286,E,0.046,171.98,120308,,,A*67
+$GPRMC,095609.00,A,5157.06277,N,00424.89280,E,0.023,167.92,120308,,,A*64
+$GPRMC,095610.00,A,5157.06273,N,00424.89276,E,0.026,163.14,120308,,,A*6E
+$GPRMC,095611.00,A,5157.06269,N,00424.89276,E,0.062,168.42,120308,,,A*6C
+$GPRMC,095612.00,A,5157.06242,N,00424.89276,E,1.171,169.58,120308,,,A*6E
+$GPRMC,095613.00,A,5157.06152,N,00424.89258,E,4.939,188.20,120308,,,A*60
+$GPRMC,095614.00,A,5157.05952,N,00424.89208,E,8.721,190.17,120308,,,A*6F
+$GPRMC,095615.00,A,5157.05657,N,00424.89108,E,12.326,192.73,120308,,,A*5F
+$GPRMC,095616.00,A,5157.05300,N,00424.88980,E,13.130,193.60,120308,,,A*55
+$GPRMC,095617.00,A,5157.04904,N,00424.88838,E,15.719,194.15,120308,,,A*57
+$GPRMC,095618.00,A,5157.04447,N,00424.88646,E,18.120,194.68,120308,,,A*5E
+$GPRMC,095619.00,A,5157.03947,N,00424.88439,E,19.209,194.78,120308,,,A*57
+$GPRMC,095620.00,A,5157.03447,N,00424.88237,E,17.746,192.60,120308,,,A*57
+$GPRMC,095621.00,A,5157.02992,N,00424.88090,E,15.870,189.52,120308,,,A*5E
+$GPRMC,095622.00,A,5157.02587,N,00424.88013,E,13.929,184.29,120308,,,A*54
+$GPRMC,095623.00,A,5157.02243,N,00424.88005,E,11.672,178.18,120308,,,A*5F
+$GPRMC,095624.00,A,5157.01962,N,00424.88038,E,9.448,173.34,120308,,,A*6A
+$GPRMC,095625.00,A,5157.01732,N,00424.88099,E,7.846,168.81,120308,,,A*63
+$GPRMC,095626.00,A,5157.01539,N,00424.88177,E,7.266,164.91,120308,,,A*6D
+$GPRMC,095627.00,A,5157.01355,N,00424.88273,E,7.168,160.33,120308,,,A*66
+$GPRMC,095628.00,A,5157.01170,N,00424.88402,E,7.490,155.23,120308,,,A*69
+$GPRMC,095629.00,A,5157.00992,N,00424.88560,E,7.113,150.57,120308,,,A*60
+$GPRMC,095630.00,A,5157.00833,N,00424.88698,E,5.863,148.07,120308,,,A*66
+$GPRMC,095631.00,A,5157.00728,N,00424.88810,E,3.705,148.44,120308,,,A*62
+$GPRMC,095632.00,A,5157.00668,N,00424.88875,E,1.911,148.47,120308,,,A*6D
+$GPRMC,095633.00,A,5157.00643,N,00424.88912,E,0.764,148.37,120308,,,A*6F
+$GPRMC,095634.00,A,5157.00640,N,00424.88918,E,0.085,148.30,120308,,,A*6E
+$GPRMC,095635.00,A,5157.00643,N,00424.88913,E,0.005,,120308,,,A*7F
+$GPRMC,095636.00,A,5157.00648,N,00424.88908,E,0.018,,120308,,,A*71
+$GPRMC,095637.00,A,5157.00652,N,00424.88898,E,0.036,142.69,120308,,,A*69
+$GPRMC,095638.00,A,5157.00649,N,00424.88896,E,0.478,142.98,120308,,,A*62
+$GPRMC,095639.00,A,5157.00633,N,00424.88907,E,1.013,143.32,120308,,,A*6E
+$GPRMC,095640.00,A,5157.00617,N,00424.88921,E,0.607,143.60,120308,,,A*67
+$GPRMC,095641.00,A,5157.00611,N,00424.88926,E,0.270,143.70,120308,,,A*62
+$GPRMC,095642.00,A,5157.00613,N,00424.88925,E,0.054,138.20,120308,,,A*6D
+$GPRMC,095643.00,A,5157.00618,N,00424.88921,E,0.014,,120308,,,A*71
+$GPRMC,095644.00,A,5157.00620,N,00424.88919,E,0.193,138.61,120308,,,A*6B
+$GPRMC,095645.00,A,5157.00619,N,00424.88920,E,0.167,138.94,120308,,,A*6B
+$GPRMC,095646.00,A,5157.00619,N,00424.88919,E,0.045,139.86,120308,,,A*61
+$GPRMC,095647.00,A,5157.00619,N,00424.88919,E,0.256,140.37,120308,,,A*64
+$GPRMC,095648.00,A,5157.00617,N,00424.88920,E,0.228,140.91,120308,,,A*6A
+$GPRMC,095649.00,A,5157.00620,N,00424.88924,E,0.005,,120308,,,A*75
+$GPRMC,095650.00,A,5157.00626,N,00424.88919,E,0.021,141.45,120308,,,A*68
+$GPRMC,095651.00,A,5157.00630,N,00424.88913,E,0.006,,120308,,,A*7A
+$GPRMC,095652.00,A,5157.00635,N,00424.88909,E,0.032,136.40,120308,,,A*6E
+$GPRMC,095653.00,A,5157.00640,N,00424.88903,E,0.008,,120308,,,A*70
+$GPRMC,095654.00,A,5157.00644,N,00424.88896,E,0.018,,120308,,,A*7F
+$GPRMC,095655.00,A,5157.00648,N,00424.88891,E,0.027,133.28,120308,,,A*6C
+$GPRMC,095656.00,A,5157.00651,N,00424.88888,E,0.007,,120308,,,A*78
+$GPRMC,095657.00,A,5157.00654,N,00424.88886,E,0.013,,120308,,,A*77
+$GPRMC,095658.00,A,5157.00657,N,00424.88881,E,0.017,,120308,,,A*78
+$GPRMC,095659.00,A,5157.00661,N,00424.88878,E,0.017,,120308,,,A*7A
+$GPRMC,095700.00,A,5157.00664,N,00424.88875,E,0.005,,120308,,,A*7C
+$GPRMC,095701.00,A,5157.00667,N,00424.88872,E,0.023,135.71,120308,,,A*62
+$GPRMC,095702.00,A,5157.00668,N,00424.88870,E,0.014,,120308,,,A*77
+$GPRMC,095703.00,A,5157.00670,N,00424.88869,E,0.016,,120308,,,A*75
+$GPRMC,095704.00,A,5157.00671,N,00424.88867,E,0.006,,120308,,,A*7C
+$GPRMC,095705.00,A,5157.00671,N,00424.88865,E,0.012,,120308,,,A*7A
+$GPRMC,095706.00,A,5157.00671,N,00424.88864,E,0.008,,120308,,,A*73
+$GPRMC,095707.00,A,5157.00672,N,00424.88863,E,0.026,136.07,120308,,,A*67
+$GPRMC,095708.00,A,5157.00672,N,00424.88863,E,0.005,,120308,,,A*74
+$GPRMC,095709.00,A,5157.00672,N,00424.88860,E,0.004,,120308,,,A*77
+$GPRMC,095710.00,A,5157.00673,N,00424.88859,E,0.017,,120308,,,A*76
+$GPRMC,095711.00,A,5157.00670,N,00424.88867,E,0.276,137.07,120308,,,A*60
+$GPRMC,095712.00,A,5157.00666,N,00424.88879,E,0.277,137.65,120308,,,A*6E
+$GPRMC,095713.00,A,5157.00663,N,00424.88887,E,0.143,138.26,120308,,,A*67
+$GPRMC,095714.00,A,5157.00662,N,00424.88893,E,0.074,138.35,120308,,,A*63
+$GPRMC,095715.00,A,5157.00647,N,00424.88915,E,1.385,138.90,120308,,,A*69
+$GPRMC,095716.00,A,5157.00614,N,00424.88958,E,1.548,139.48,120308,,,A*66
+$GPRMC,095717.00,A,5157.00585,N,00424.88991,E,0.986,139.88,120308,,,A*6A
+$GPRMC,095718.00,A,5157.00572,N,00424.89008,E,0.298,140.08,120308,,,A*67
+$GPRMC,095719.00,A,5157.00567,N,00424.89013,E,0.008,,120308,,,A*70
+$GPRMC,095720.00,A,5157.00564,N,00424.89018,E,0.012,,120308,,,A*79
+$GPRMC,095721.00,A,5157.00562,N,00424.89021,E,0.009,,120308,,,A*7E
+$GPRMC,095722.00,A,5157.00560,N,00424.89021,E,0.007,,120308,,,A*71
+$GPRMC,095723.00,A,5157.00556,N,00424.89022,E,0.067,134.53,120308,,,A*6E
+$GPRMC,095724.00,A,5157.00553,N,00424.89022,E,0.194,134.83,120308,,,A*6C
+$GPRMC,095725.00,A,5157.00545,N,00424.89028,E,0.293,135.34,120308,,,A*69
+$GPRMC,095726.00,A,5157.00539,N,00424.89032,E,0.143,135.76,120308,,,A*62
+$GPRMC,095727.00,A,5157.00534,N,00424.89032,E,0.113,135.90,120308,,,A*63
+$GPRMC,095728.00,A,5157.00532,N,00424.89035,E,0.150,135.02,120308,,,A*61
+$GPRMC,095729.00,A,5157.00531,N,00424.89037,E,0.007,,120308,,,A*79
+$GPRMC,095730.00,A,5157.00532,N,00424.89035,E,0.022,140.30,120308,,,A*6F
+$GPRMC,095731.00,A,5157.00535,N,00424.89031,E,0.155,145.31,120308,,,A*68
+$GPRMC,095732.00,A,5157.00542,N,00424.89020,E,0.186,150.53,120308,,,A*65
+$GPRMC,095733.00,A,5157.00545,N,00424.89021,E,0.114,155.51,120308,,,A*6E
+$GPRMC,095734.00,A,5157.00549,N,00424.89016,E,0.056,154.87,120308,,,A*6C
+$GPRMC,095735.00,A,5157.00546,N,00424.89021,E,0.397,154.89,120308,,,A*66
+$GPRMC,095736.00,A,5157.00540,N,00424.89025,E,0.221,154.96,120308,,,A*65
+$GPRMC,095737.00,A,5157.00539,N,00424.89022,E,0.014,,120308,,,A*78
+$GPRMC,095738.00,A,5157.00539,N,00424.89016,E,0.034,159.33,120308,,,A*61
+$GPRMC,095739.00,A,5157.00540,N,00424.89013,E,0.011,,120308,,,A*7F
+$GPRMC,095740.00,A,5157.00541,N,00424.89014,E,0.033,157.89,120308,,,A*6B
+$GPRMC,095741.00,A,5157.00542,N,00424.89015,E,0.027,159.12,120308,,,A*61
+$GPRMC,095742.00,A,5157.00540,N,00424.89018,E,0.019,,120308,,,A*70
+$GPRMC,095743.00,A,5157.00540,N,00424.89020,E,0.037,160.15,120308,,,A*6B
+$GPRMC,095744.00,A,5157.00538,N,00424.89023,E,0.163,159.44,120308,,,A*6E
+$GPRMC,095745.00,A,5157.00536,N,00424.89029,E,0.091,159.56,120308,,,A*64
+$GPRMC,095746.00,A,5157.00535,N,00424.89034,E,0.010,,120308,,,A*71
+$GPRMC,095747.00,A,5157.00535,N,00424.89043,E,0.134,158.02,120308,,,A*67
+$GPRMC,095748.00,A,5157.00536,N,00424.89051,E,0.009,,120308,,,A*77
+$GPRMC,095749.00,A,5157.00537,N,00424.89053,E,0.008,,120308,,,A*74
+$GPRMC,095750.00,A,5157.00537,N,00424.89055,E,0.007,,120308,,,A*75
+$GPRMC,095751.00,A,5157.00538,N,00424.89057,E,0.012,,120308,,,A*7D
+$GPRMC,095752.00,A,5157.00531,N,00424.89065,E,0.578,157.41,120308,,,A*67
+$GPRMC,095753.00,A,5157.00486,N,00424.89115,E,3.165,147.15,120308,,,A*66
+$GPRMC,095754.00,A,5157.00365,N,00424.89242,E,6.964,147.80,120308,,,A*6A
+$GPRMC,095755.00,A,5157.00151,N,00424.89463,E,10.746,147.49,120308,,,A*57
+$GPRMC,095756.00,A,5156.99864,N,00424.89765,E,13.397,147.29,120308,,,A*52
+$GPRMC,095757.00,A,5156.99535,N,00424.90110,E,14.139,147.49,120308,,,A*51
+$GPRMC,095758.00,A,5156.99188,N,00424.90472,E,15.092,147.52,120308,,,A*56
+$GPRMC,095759.00,A,5156.98837,N,00424.90841,E,14.569,147.05,120308,,,A*55
+$GPRMC,095800.00,A,5156.98518,N,00424.91247,E,14.322,136.76,120308,,,A*50
+$GPRMC,095801.00,A,5156.98275,N,00424.91751,E,14.128,119.83,120308,,,A*50
+$GPRMC,095802.00,A,5156.98149,N,00424.92355,E,14.444,100.03,120308,,,A*53
+$GPRMC,095803.00,A,5156.98160,N,00424.93028,E,15.442,79.53,120308,,,A*6C
+$GPRMC,095804.00,A,5156.98339,N,00424.93698,E,17.882,60.11,120308,,,A*64
+$GPRMC,095805.00,A,5156.98643,N,00424.94427,E,20.849,51.79,120308,,,A*63
+$GPRMC,095806.00,A,5156.99042,N,00424.95230,E,24.251,51.48,120308,,,A*62
+$GPRMC,095807.00,A,5156.99483,N,00424.96148,E,26.629,52.11,120308,,,A*63
+$GPRMC,095808.00,A,5156.99931,N,00424.97112,E,26.388,53.40,120308,,,A*6D
+$GPRMC,095809.00,A,5157.00357,N,00424.98089,E,25.917,54.58,120308,,,A*6A
+$GPRMC,095810.00,A,5157.00771,N,00424.99052,E,25.399,55.05,120308,,,A*60
+$GPRMC,095811.00,A,5157.01170,N,00425.00002,E,24.931,55.42,120308,,,A*69
+$GPRMC,095812.00,A,5157.01554,N,00425.00909,E,23.364,55.13,120308,,,A*63
+$GPRMC,095813.00,A,5157.01911,N,00425.01731,E,20.926,54.55,120308,,,A*67
+$GPRMC,095814.00,A,5157.02220,N,00425.02432,E,17.286,54.10,120308,,,A*6D
+$GPRMC,095815.00,A,5157.02466,N,00425.02986,E,13.162,54.18,120308,,,A*6F
+$GPRMC,095816.00,A,5157.02645,N,00425.03386,E,8.928,54.55,120308,,,A*51
+$GPRMC,095817.00,A,5157.02751,N,00425.03620,E,4.139,54.59,120308,,,A*55
+$GPRMC,095818.00,A,5157.02794,N,00425.03708,E,1.261,54.65,120308,,,A*5C
+$GPRMC,095819.00,A,5157.02805,N,00425.03731,E,0.223,54.65,120308,,,A*57
+$GPRMC,095820.00,A,5157.02808,N,00425.03729,E,0.028,57.40,120308,,,A*54
+$GPRMC,095821.00,A,5157.02808,N,00425.03725,E,0.009,,120308,,,A*72
+$GPRMC,095822.00,A,5157.02807,N,00425.03723,E,0.029,58.31,120308,,,A*5B
+$GPRMC,095823.00,A,5157.02811,N,00425.03716,E,0.158,55.70,120308,,,A*54
+$GPRMC,095824.00,A,5157.02812,N,00425.03709,E,0.033,57.26,120308,,,A*53
+$GPRMC,095825.00,A,5157.02806,N,00425.03713,E,0.024,60.49,120308,,,A*57
+$GPRMC,095826.00,A,5157.02800,N,00425.03715,E,0.054,64.33,120308,,,A*5A
+$GPRMC,095827.00,A,5157.02796,N,00425.03715,E,0.025,68.04,120308,,,A*55
+$GPRMC,095828.00,A,5157.02791,N,00425.03717,E,0.004,,120308,,,A*78
+$GPRMC,095829.00,A,5157.02788,N,00425.03716,E,0.004,,120308,,,A*70
+$GPRMC,095830.00,A,5157.02784,N,00425.03716,E,0.010,,120308,,,A*71
+$GPRMC,095831.00,A,5157.02783,N,00425.03714,E,0.021,71.88,120308,,,A*5F
+$GPRMC,095832.00,A,5157.02782,N,00425.03713,E,0.009,,120308,,,A*78
+$GPRMC,095833.00,A,5157.02781,N,00425.03713,E,0.004,,120308,,,A*77
+$GPRMC,095834.00,A,5157.02781,N,00425.03713,E,0.038,74.63,120308,,,A*57
+$GPRMC,095835.00,A,5157.02780,N,00425.03709,E,0.045,78.19,120308,,,A*57
+$GPRMC,095836.00,A,5157.02779,N,00425.03707,E,0.037,80.27,120308,,,A*53
+$GPRMC,095837.00,A,5157.02781,N,00425.03705,E,0.003,,120308,,,A*73
+$GPRMC,095838.00,A,5157.02781,N,00425.03702,E,0.022,77.43,120308,,,A*51
+$GPRMC,095839.00,A,5157.02780,N,00425.03699,E,0.012,,120308,,,A*78
+$GPRMC,095840.00,A,5157.02778,N,00425.03699,E,0.003,,120308,,,A*71
+$GPRMC,095841.00,A,5157.02775,N,00425.03699,E,0.065,76.60,120308,,,A*54
+$GPRMC,095842.00,A,5157.02774,N,00425.03701,E,0.103,75.87,120308,,,A*5D
+$GPRMC,095843.00,A,5157.02773,N,00425.03703,E,0.105,75.07,120308,,,A*57
+$GPRMC,095844.00,A,5157.02771,N,00425.03708,E,0.096,74.38,120308,,,A*5F
+$GPRMC,095845.00,A,5157.02769,N,00425.03712,E,0.131,73.68,120308,,,A*52
+$GPRMC,095846.00,A,5157.02770,N,00425.03715,E,0.186,73.01,120308,,,A*5D
+$GPRMC,095847.00,A,5157.02774,N,00425.03714,E,0.155,70.68,120308,,,A*5B
+$GPRMC,095848.00,A,5157.02776,N,00425.03710,E,0.010,,120308,,,A*75
+$GPRMC,095849.00,A,5157.02778,N,00425.03703,E,0.013,,120308,,,A*7B
+$GPRMC,095850.00,A,5157.02780,N,00425.03698,E,0.009,,120308,,,A*7C
+$GPRMC,095851.00,A,5157.02781,N,00425.03695,E,0.009,,120308,,,A*71
+$GPRMC,095852.00,A,5157.02782,N,00425.03690,E,0.013,,120308,,,A*7F
+$GPRMC,095853.00,A,5157.02783,N,00425.03686,E,0.015,,120308,,,A*7E
+$GPRMC,095854.00,A,5157.02787,N,00425.03680,E,0.009,,120308,,,A*76
+$GPRMC,095855.00,A,5157.02790,N,00425.03677,E,0.002,,120308,,,A*72
+$GPRMC,095856.00,A,5157.02791,N,00425.03668,E,0.013,,120308,,,A*7E
+$GPRMC,095857.00,A,5157.02792,N,00425.03664,E,0.003,,120308,,,A*71
+$GPRMC,095858.00,A,5157.02793,N,00425.03657,E,0.011,,120308,,,A*7C
+$GPRMC,095859.00,A,5157.02793,N,00425.03653,E,0.061,73.16,120308,,,A*53
+$GPRMC,095900.00,A,5157.02793,N,00425.03649,E,0.006,,120308,,,A*79
+$GPRMC,095901.00,A,5157.02793,N,00425.03648,E,0.002,,120308,,,A*7D
+$GPRMC,095902.00,A,5157.02793,N,00425.03650,E,0.011,,120308,,,A*75
+$GPRMC,095903.00,A,5157.02792,N,00425.03653,E,0.013,,120308,,,A*74
+$GPRMC,095904.00,A,5157.02791,N,00425.03656,E,0.005,,120308,,,A*72
+$GPRMC,095905.00,A,5157.02789,N,00425.03658,E,0.007,,120308,,,A*76
+$GPRMC,095906.00,A,5157.02793,N,00425.03670,E,0.510,71.96,120308,,,A*50
+$GPRMC,095907.00,A,5157.02838,N,00425.03776,E,4.934,54.31,120308,,,A*5C
+$GPRMC,095908.00,A,5157.02961,N,00425.04055,E,9.933,53.66,120308,,,A*50
+$GPRMC,095909.00,A,5157.03169,N,00425.04426,E,12.210,42.90,120308,,,A*69
+$GPRMC,095910.00,A,5157.03469,N,00425.04699,E,13.076,17.73,120308,,,A*6C
+$GPRMC,095911.00,A,5157.03846,N,00425.04715,E,14.846,346.83,120308,,,A*5D
+$GPRMC,095912.00,A,5157.04221,N,00425.04343,E,16.591,315.31,120308,,,A*5F
+$GPRMC,095913.00,A,5157.04494,N,00425.03657,E,19.570,293.73,120308,,,A*58
+$GPRMC,095914.00,A,5157.04702,N,00425.02730,E,23.253,287.73,120308,,,A*58
+$GPRMC,095915.00,A,5157.04935,N,00425.01676,E,25.490,291.79,120308,,,A*51
+$GPRMC,095916.00,A,5157.05253,N,00425.00573,E,27.987,298.60,120308,,,A*57
+$GPRMC,095917.00,A,5157.05694,N,00424.99429,E,31.154,305.54,120308,,,A*55
+$GPRMC,095918.00,A,5157.06256,N,00424.98244,E,34.370,309.43,120308,,,A*54
+$GPRMC,095919.00,A,5157.06916,N,00424.96993,E,37.651,311.53,120308,,,A*58
+$GPRMC,095920.00,A,5157.07656,N,00424.95692,E,39.980,313.77,120308,,,A*5C
+$GPRMC,095921.00,A,5157.08472,N,00424.94400,E,41.020,317.48,120308,,,A*5A
+$GPRMC,095922.00,A,5157.09365,N,00424.93172,E,42.771,321.87,120308,,,A*58
+$GPRMC,095923.00,A,5157.10359,N,00424.92005,E,44.583,326.22,120308,,,A*5F
+$GPRMC,095924.00,A,5157.11434,N,00424.90897,E,46.460,328.61,120308,,,A*53
+$GPRMC,095925.00,A,5157.12578,N,00424.89809,E,48.367,330.26,120308,,,A*53
+$GPRMC,095926.00,A,5157.13787,N,00424.88732,E,50.214,331.79,120308,,,A*52
+$GPRMC,095927.00,A,5157.15062,N,00424.87658,E,52.153,333.23,120308,,,A*54
+$GPRMC,095928.00,A,5157.16394,N,00424.86585,E,53.906,333.97,120308,,,A*56
+$GPRMC,095929.00,A,5157.17757,N,00424.85516,E,53.988,334.36,120308,,,A*5E
+$GPRMC,095930.00,A,5157.19113,N,00424.84447,E,53.322,334.10,120308,,,A*54
+$GPRMC,095931.00,A,5157.20437,N,00424.83401,E,51.931,334.23,120308,,,A*53
+$GPRMC,095932.00,A,5157.21732,N,00424.82375,E,50.823,334.00,120308,,,A*50
+$GPRMC,095933.00,A,5157.22997,N,00424.81360,E,49.769,333.56,120308,,,A*59
+$GPRMC,095934.00,A,5157.24229,N,00424.80367,E,48.706,333.75,120308,,,A*59
+$GPRMC,095935.00,A,5157.25450,N,00424.79375,E,48.452,333.76,120308,,,A*55
+$GPRMC,095936.00,A,5157.26659,N,00424.78414,E,47.896,334.05,120308,,,A*57
+$GPRMC,095937.00,A,5157.27851,N,00424.77481,E,47.043,334.19,120308,,,A*5F
+$GPRMC,095938.00,A,5157.29019,N,00424.76572,E,46.082,334.08,120308,,,A*5A
+$GPRMC,095939.00,A,5157.30165,N,00424.75679,E,45.363,334.29,120308,,,A*5E
+$GPRMC,095940.00,A,5157.31297,N,00424.74805,E,44.945,334.54,120308,,,A*5E
+$GPRMC,095941.00,A,5157.32423,N,00424.73934,E,44.750,334.22,120308,,,A*5A
+$GPRMC,095942.00,A,5157.33543,N,00424.73061,E,44.787,334.36,120308,,,A*59
+$GPRMC,095943.00,A,5157.34664,N,00424.72199,E,44.684,334.81,120308,,,A*50
+$GPRMC,095944.00,A,5157.35786,N,00424.71338,E,44.633,334.41,120308,,,A*51
+$GPRMC,095945.00,A,5157.36906,N,00424.70467,E,44.571,334.21,120308,,,A*5A
+$GPRMC,095946.00,A,5157.38027,N,00424.69593,E,44.712,334.17,120308,,,A*5D
+$GPRMC,095947.00,A,5157.39163,N,00424.68712,E,45.498,334.29,120308,,,A*5B
+$GPRMC,095948.00,A,5157.40315,N,00424.67824,E,46.210,334.52,120308,,,A*55
+$GPRMC,095949.00,A,5157.41477,N,00424.66924,E,46.418,334.25,120308,,,A*58
+$GPRMC,095950.00,A,5157.42637,N,00424.66016,E,46.231,334.04,120308,,,A*53
+$GPRMC,095951.00,A,5157.43791,N,00424.65105,E,46.178,334.05,120308,,,A*51
+$GPRMC,095952.00,A,5157.44950,N,00424.64199,E,46.129,334.17,120308,,,A*55
+$GPRMC,095953.00,A,5157.46110,N,00424.63298,E,46.197,334.37,120308,,,A*58
+$GPRMC,095954.00,A,5157.47273,N,00424.62400,E,46.228,334.39,120308,,,A*57
+$GPRMC,095955.00,A,5157.48435,N,00424.61500,E,46.264,334.28,120308,,,A*57
+$GPRMC,095956.00,A,5157.49599,N,00424.60596,E,46.447,334.23,120308,,,A*50
+$GPRMC,095957.00,A,5157.50766,N,00424.59690,E,46.537,334.30,120308,,,A*50
+$GPRMC,095958.00,A,5157.51933,N,00424.58785,E,46.395,334.33,120308,,,A*59
+$GPRMC,095959.00,A,5157.53096,N,00424.57875,E,46.310,333.99,120308,,,A*59
+$GPRMC,100000.00,A,5157.54255,N,00424.56961,E,46.286,333.90,120308,,,A*59
+$GPRMC,100001.00,A,5157.55419,N,00424.56046,E,46.529,334.05,120308,,,A*52
+$GPRMC,100002.00,A,5157.56586,N,00424.55130,E,46.643,334.11,120308,,,A*5C
+$GPRMC,100003.00,A,5157.57752,N,00424.54218,E,46.385,334.26,120308,,,A*54
+$GPRMC,100004.00,A,5157.58917,N,00424.53317,E,46.441,334.43,120308,,,A*56
+$GPRMC,100005.00,A,5157.60088,N,00424.52412,E,46.816,334.43,120308,,,A*5E
+$GPRMC,100006.00,A,5157.61265,N,00424.51500,E,46.980,334.43,120308,,,A*52
+$GPRMC,100007.00,A,5157.62447,N,00424.50580,E,47.119,334.14,120308,,,A*54
+$GPRMC,100008.00,A,5157.63634,N,00424.49651,E,47.720,334.34,120308,,,A*55
+$GPRMC,100009.00,A,5157.64827,N,00424.48721,E,47.611,334.65,120308,,,A*5F
+$GPRMC,100010.00,A,5157.66021,N,00424.47794,E,47.643,334.68,120308,,,A*50
+$GPRMC,100011.00,A,5157.67217,N,00424.46867,E,47.656,334.38,120308,,,A*54
+$GPRMC,100012.00,A,5157.68411,N,00424.45934,E,47.645,334.24,120308,,,A*53
+$GPRMC,100013.00,A,5157.69601,N,00424.45003,E,47.458,334.17,120308,,,A*53
+$GPRMC,100014.00,A,5157.70786,N,00424.44073,E,47.213,334.06,120308,,,A*5D
+$GPRMC,100015.00,A,5157.71964,N,00424.43152,E,46.926,334.43,120308,,,A*57
+$GPRMC,100016.00,A,5157.73139,N,00424.42246,E,46.728,334.59,120308,,,A*5A
+$GPRMC,100017.00,A,5157.74310,N,00424.41344,E,46.597,334.50,120308,,,A*5A
+$GPRMC,100018.00,A,5157.75480,N,00424.40444,E,46.629,334.57,120308,,,A*5D
+$GPRMC,100019.00,A,5157.76648,N,00424.39542,E,46.501,334.29,120308,,,A*50
+$GPRMC,100020.00,A,5157.77809,N,00424.38639,E,46.228,334.15,120308,,,A*5D
+$GPRMC,100021.00,A,5157.78960,N,00424.37738,E,45.880,333.98,120308,,,A*5B
+$GPRMC,100022.00,A,5157.80100,N,00424.36842,E,45.451,334.04,120308,,,A*50
+$GPRMC,100023.00,A,5157.81238,N,00424.35961,E,45.519,334.59,120308,,,A*5E
+$GPRMC,100024.00,A,5157.82358,N,00424.35092,E,44.856,334.51,120308,,,A*57
+$GPRMC,100025.00,A,5157.83478,N,00424.34228,E,44.794,334.22,120308,,,A*55
+$GPRMC,100026.00,A,5157.84592,N,00424.33355,E,44.730,334.24,120308,,,A*50
+$GPRMC,100027.00,A,5157.85704,N,00424.32490,E,44.400,334.35,120308,,,A*52
+$GPRMC,100028.00,A,5157.86809,N,00424.31633,E,44.025,334.41,120308,,,A*54
+$GPRMC,100029.00,A,5157.87904,N,00424.30782,E,43.789,334.27,120308,,,A*54
+$GPRMC,100030.00,A,5157.88997,N,00424.29933,E,43.799,334.40,120308,,,A*55
+$GPRMC,100031.00,A,5157.90091,N,00424.29084,E,43.886,334.42,120308,,,A*54
+$GPRMC,100032.00,A,5157.91188,N,00424.28230,E,44.080,334.32,120308,,,A*5D
+$GPRMC,100033.00,A,5157.92291,N,00424.27368,E,44.485,334.25,120308,,,A*50
+$GPRMC,100034.00,A,5157.93407,N,00424.26492,E,45.005,334.19,120308,,,A*5E
+$GPRMC,100035.00,A,5157.94536,N,00424.25604,E,45.363,333.98,120308,,,A*58
+$GPRMC,100036.00,A,5157.95679,N,00424.24703,E,46.007,334.03,120308,,,A*52
+$GPRMC,100037.00,A,5157.96829,N,00424.23790,E,46.105,333.65,120308,,,A*52
+$GPRMC,100038.00,A,5157.97980,N,00424.22868,E,46.415,333.69,120308,,,A*5F
+$GPRMC,100039.00,A,5157.99137,N,00424.21953,E,46.129,334.13,120308,,,A*5E
+$GPRMC,100040.00,A,5158.00289,N,00424.21049,E,45.871,334.20,120308,,,A*5C
+$GPRMC,100041.00,A,5158.01436,N,00424.20152,E,45.723,334.13,120308,,,A*5C
+$GPRMC,100042.00,A,5158.02579,N,00424.19255,E,45.674,334.03,120308,,,A*5A
+$GPRMC,100043.00,A,5158.03720,N,00424.18362,E,45.405,334.19,120308,,,A*5F
+$GPRMC,100044.00,A,5158.04858,N,00424.17481,E,45.206,334.43,120308,,,A*50
+$GPRMC,100045.00,A,5158.05989,N,00424.16607,E,44.890,334.36,120308,,,A*56
+$GPRMC,100046.00,A,5158.07115,N,00424.15738,E,44.663,334.59,120308,,,A*5F
+$GPRMC,100047.00,A,5158.08237,N,00424.14870,E,44.726,334.31,120308,,,A*5E
+$GPRMC,100048.00,A,5158.09363,N,00424.13992,E,45.249,334.25,120308,,,A*52
+$GPRMC,100049.00,A,5158.10497,N,00424.13103,E,45.551,334.11,120308,,,A*5E
+$GPRMC,100050.00,A,5158.11638,N,00424.12206,E,45.854,333.98,120308,,,A*59
+$GPRMC,100051.00,A,5158.12781,N,00424.11308,E,45.786,334.15,120308,,,A*56
+$GPRMC,100052.00,A,5158.13925,N,00424.10421,E,45.633,334.39,120308,,,A*58
+$GPRMC,100053.00,A,5158.15066,N,00424.09540,E,45.451,334.45,120308,,,A*52
+$GPRMC,100054.00,A,5158.16206,N,00424.08663,E,45.555,334.65,120308,,,A*56
+$GPRMC,100055.00,A,5158.17352,N,00424.07781,E,45.997,334.53,120308,,,A*53
+$GPRMC,100056.00,A,5158.18508,N,00424.06894,E,46.252,334.80,120308,,,A*53
+$GPRMC,100057.00,A,5158.19663,N,00424.06004,E,46.032,334.39,120308,,,A*5A
+$GPRMC,100058.00,A,5158.20825,N,00424.05101,E,46.705,334.17,120308,,,A*5B
+$GPRMC,100059.00,A,5158.22001,N,00424.04176,E,47.375,334.07,120308,,,A*54
+$GPRMC,100100.00,A,5158.23190,N,00424.03250,E,47.473,334.60,120308,,,A*51
+$GPRMC,100101.00,A,5158.24383,N,00424.02346,E,47.314,335.13,120308,,,A*53
+$GPRMC,100102.00,A,5158.25582,N,00424.01458,E,47.439,335.88,120308,,,A*57
+$GPRMC,100103.00,A,5158.26788,N,00424.00605,E,47.449,336.96,120308,,,A*5D
+$GPRMC,100104.00,A,5158.28003,N,00423.99811,E,47.030,338.98,120308,,,A*56
+$GPRMC,100105.00,A,5158.29230,N,00423.99081,E,46.998,340.73,120308,,,A*55
+$GPRMC,100106.00,A,5158.30469,N,00423.98408,E,46.916,342.14,120308,,,A*55
+$GPRMC,100107.00,A,5158.31717,N,00423.97792,E,46.915,343.97,120308,,,A*59
+$GPRMC,100108.00,A,5158.32975,N,00423.97237,E,46.962,345.44,120308,,,A*5D
+$GPRMC,100109.00,A,5158.34239,N,00423.96713,E,46.931,345.61,120308,,,A*5A
+$GPRMC,100110.00,A,5158.35503,N,00423.96186,E,46.903,345.18,120308,,,A*58
+$GPRMC,100111.00,A,5158.36765,N,00423.95652,E,46.866,345.14,120308,,,A*5B
+$GPRMC,100112.00,A,5158.38026,N,00423.95116,E,46.909,345.09,120308,,,A*55
+$GPRMC,100113.00,A,5158.39286,N,00423.94579,E,46.813,345.11,120308,,,A*52
+$GPRMC,100114.00,A,5158.40538,N,00423.94056,E,46.350,345.21,120308,,,A*5E
+$GPRMC,100115.00,A,5158.41768,N,00423.93543,E,45.339,345.22,120308,,,A*50
+$GPRMC,100116.00,A,5158.42975,N,00423.93043,E,44.305,345.56,120308,,,A*5A
+$GPRMC,100117.00,A,5158.44162,N,00423.92560,E,43.845,345.52,120308,,,A*5A
+$GPRMC,100118.00,A,5158.45339,N,00423.92073,E,43.662,345.36,120308,,,A*56
+$GPRMC,100119.00,A,5158.46516,N,00423.91576,E,43.884,345.13,120308,,,A*5D
+$GPRMC,100120.00,A,5158.47694,N,00423.91074,E,43.929,345.06,120308,,,A*5A
+$GPRMC,100121.00,A,5158.48883,N,00423.90573,E,44.423,345.19,120308,,,A*51
+$GPRMC,100122.00,A,5158.50083,N,00423.90073,E,44.817,345.43,120308,,,A*52
+$GPRMC,100123.00,A,5158.51292,N,00423.89568,E,45.203,345.40,120308,,,A*5A
+$GPRMC,100124.00,A,5158.52510,N,00423.89053,E,45.594,345.14,120308,,,A*56
+$GPRMC,100125.00,A,5158.53739,N,00423.88525,E,45.942,344.98,120308,,,A*58
+$GPRMC,100126.00,A,5158.54977,N,00423.87993,E,46.204,345.09,120308,,,A*55
+$GPRMC,100127.00,A,5158.56221,N,00423.87462,E,46.333,345.17,120308,,,A*57
+$GPRMC,100128.00,A,5158.57467,N,00423.86935,E,46.309,345.29,120308,,,A*57
+$GPRMC,100129.00,A,5158.58714,N,00423.86410,E,46.356,345.36,120308,,,A*50
+$GPRMC,100130.00,A,5158.59960,N,00423.85884,E,46.190,345.13,120308,,,A*59
+$GPRMC,100131.00,A,5158.61199,N,00423.85355,E,45.971,345.10,120308,,,A*5D
+$GPRMC,100132.00,A,5158.62432,N,00423.84832,E,45.685,345.19,120308,,,A*5F
+$GPRMC,100133.00,A,5158.63656,N,00423.84310,E,45.391,345.08,120308,,,A*54
+$GPRMC,100134.00,A,5158.64875,N,00423.83785,E,45.376,345.04,120308,,,A*51
+$GPRMC,100135.00,A,5158.66098,N,00423.83260,E,45.635,345.13,120308,,,A*53
+$GPRMC,100136.00,A,5158.67323,N,00423.82731,E,45.828,345.16,120308,,,A*55
+$GPRMC,100137.00,A,5158.68553,N,00423.82205,E,45.780,345.19,120308,,,A*5A
+$GPRMC,100138.00,A,5158.69779,N,00423.81685,E,45.704,345.33,120308,,,A*55
+$GPRMC,100139.00,A,5158.71005,N,00423.81164,E,45.669,344.97,120308,,,A*5C
+$GPRMC,100140.00,A,5158.72234,N,00423.80634,E,46.024,344.98,120308,,,A*51
+$GPRMC,100141.00,A,5158.73475,N,00423.80104,E,46.346,345.20,120308,,,A*53
+$GPRMC,100142.00,A,5158.74727,N,00423.79578,E,46.607,345.46,120308,,,A*5A
+$GPRMC,100143.00,A,5158.75991,N,00423.79059,E,46.876,345.93,120308,,,A*5F
+$GPRMC,100144.00,A,5158.77274,N,00423.78553,E,47.213,346.23,120308,,,A*54
+$GPRMC,100145.00,A,5158.78567,N,00423.78060,E,47.458,346.94,120308,,,A*5F
+$GPRMC,100146.00,A,5158.79869,N,00423.77592,E,47.631,347.73,120308,,,A*5C
+$GPRMC,100147.00,A,5158.81173,N,00423.77149,E,47.847,348.17,120308,,,A*58
+$GPRMC,100148.00,A,5158.82487,N,00423.76703,E,48.106,347.83,120308,,,A*52
+$GPRMC,100149.00,A,5158.83805,N,00423.76229,E,48.423,347.07,120308,,,A*57
+$GPRMC,100150.00,A,5158.85114,N,00423.75726,E,48.142,346.39,120308,,,A*57
+$GPRMC,100151.00,A,5158.86414,N,00423.75196,E,47.973,345.81,120308,,,A*58
+$GPRMC,100152.00,A,5158.87698,N,00423.74656,E,47.230,345.32,120308,,,A*52
+$GPRMC,100153.00,A,5158.88954,N,00423.74119,E,46.532,345.13,120308,,,A*58
+$GPRMC,100154.00,A,5158.90187,N,00423.73584,E,45.237,345.44,120308,,,A*54
+$GPRMC,100155.00,A,5158.91387,N,00423.73098,E,44.011,346.39,120308,,,A*50
+$GPRMC,100156.00,A,5158.92532,N,00423.72750,E,41.379,350.13,120308,,,A*5D
+$GPRMC,100157.00,A,5158.93614,N,00423.72541,E,38.109,354.37,120308,,,A*51
+$GPRMC,100158.00,A,5158.94611,N,00423.72517,E,34.934,2.62,120308,,,A*55
+$GPRMC,100159.00,A,5158.95526,N,00423.72769,E,33.128,14.61,120308,,,A*6F
+$GPRMC,100200.00,A,5158.96361,N,00423.73340,E,32.168,26.09,120308,,,A*62
+$GPRMC,100201.00,A,5158.97125,N,00423.74126,E,32.080,34.33,120308,,,A*68
+$GPRMC,100202.00,A,5158.97832,N,00423.75031,E,31.664,38.55,120308,,,A*61
+$GPRMC,100203.00,A,5158.98493,N,00423.75924,E,29.697,37.43,120308,,,A*68
+$GPRMC,100204.00,A,5158.99160,N,00423.76667,E,28.628,28.33,120308,,,A*60
+$GPRMC,100205.00,A,5158.99873,N,00423.77148,E,27.884,14.18,120308,,,A*60
+$GPRMC,100206.00,A,5159.00619,N,00423.77279,E,27.285,357.81,120308,,,A*5E
+$GPRMC,100207.00,A,5159.01364,N,00423.77099,E,27.700,346.16,120308,,,A*5B
+$GPRMC,100208.00,A,5159.02110,N,00423.76770,E,28.131,344.68,120308,,,A*57
+$GPRMC,100209.00,A,5159.02863,N,00423.76423,E,28.489,344.53,120308,,,A*50
+$GPRMC,100210.00,A,5159.03625,N,00423.76068,E,28.600,344.79,120308,,,A*55
+$GPRMC,100211.00,A,5159.04383,N,00423.75731,E,28.141,345.41,120308,,,A*5A
+$GPRMC,100212.00,A,5159.05127,N,00423.75412,E,27.342,345.91,120308,,,A*55
+$GPRMC,100213.00,A,5159.05855,N,00423.75106,E,26.855,345.92,120308,,,A*57
+$GPRMC,100214.00,A,5159.06565,N,00423.74800,E,25.992,345.24,120308,,,A*57
+$GPRMC,100215.00,A,5159.07242,N,00423.74494,E,24.869,344.42,120308,,,A*51
+$GPRMC,100216.00,A,5159.07864,N,00423.74183,E,21.643,344.47,120308,,,A*59
+$GPRMC,100217.00,A,5159.08378,N,00423.73945,E,17.256,344.66,120308,,,A*52
+$GPRMC,100218.00,A,5159.08773,N,00423.73775,E,13.188,344.87,120308,,,A*54
+$GPRMC,100219.00,A,5159.09099,N,00423.73628,E,12.047,344.52,120308,,,A*55
+$GPRMC,100220.00,A,5159.09427,N,00423.73459,E,12.821,343.02,120308,,,A*50
+$GPRMC,100221.00,A,5159.09786,N,00423.73267,E,15.113,341.78,120308,,,A*52
+$GPRMC,100222.00,A,5159.10193,N,00423.73029,E,16.048,343.48,120308,,,A*5E
+$GPRMC,100223.00,A,5159.10607,N,00423.72813,E,15.449,345.09,120308,,,A*50
+$GPRMC,100224.00,A,5159.10976,N,00423.72667,E,13.232,347.05,120308,,,A*51
+$GPRMC,100225.00,A,5159.11303,N,00423.72537,E,11.843,348.15,120308,,,A*5F
+$GPRMC,100226.00,A,5159.11577,N,00423.72426,E,9.503,342.54,120308,,,A*67
+$GPRMC,100227.00,A,5159.11777,N,00423.72232,E,8.202,318.70,120308,,,A*69
+$GPRMC,100228.00,A,5159.11900,N,00423.71957,E,7.645,299.16,120308,,,A*63
+$GPRMC,100229.00,A,5159.11971,N,00423.71666,E,7.031,295.69,120308,,,A*68
+$GPRMC,100230.00,A,5159.12036,N,00423.71408,E,6.445,296.86,120308,,,A*67
+$GPRMC,100231.00,A,5159.12097,N,00423.71181,E,5.770,299.84,120308,,,A*62
+$GPRMC,100232.00,A,5159.12158,N,00423.70985,E,4.909,300.78,120308,,,A*6D
+$GPRMC,100233.00,A,5159.12202,N,00423.70848,E,2.912,300.85,120308,,,A*6E
+$GPRMC,100234.00,A,5159.12219,N,00423.70786,E,1.040,300.77,120308,,,A*6E
+$GPRMC,100235.00,A,5159.12217,N,00423.70780,E,0.146,302.54,120308,,,A*62
+$GPRMC,100236.00,A,5159.12208,N,00423.70791,E,0.035,304.22,120308,,,A*6D
+$GPRMC,100237.00,A,5159.12199,N,00423.70800,E,0.036,306.23,120308,,,A*60
+$GPRMC,100238.00,A,5159.12189,N,00423.70805,E,0.012,,120308,,,A*77
+$GPRMC,100239.00,A,5159.12180,N,00423.70808,E,0.004,,120308,,,A*75
+$GPRMC,100240.00,A,5159.12170,N,00423.70811,E,0.011,,120308,,,A*78
+$GPRMC,100241.00,A,5159.12165,N,00423.70811,E,0.131,307.04,120308,,,A*60
+$GPRMC,100242.00,A,5159.12156,N,00423.70812,E,0.033,308.45,120308,,,A*69
+$GPRMC,100243.00,A,5159.12148,N,00423.70813,E,0.006,,120308,,,A*74
+$GPRMC,100244.00,A,5159.12141,N,00423.70815,E,0.014,,120308,,,A*7F
+$GPRMC,100245.00,A,5159.12134,N,00423.70817,E,0.017,,120308,,,A*7D
+$GPRMC,100246.00,A,5159.12127,N,00423.70819,E,0.009,,120308,,,A*7D
+$GPRMC,100247.00,A,5159.12120,N,00423.70823,E,0.014,,120308,,,A*7E
+$GPRMC,100248.00,A,5159.12114,N,00423.70827,E,0.007,,120308,,,A*70
+$GPRMC,100249.00,A,5159.12107,N,00423.70829,E,0.009,,120308,,,A*73
+$GPRMC,100250.00,A,5159.12101,N,00423.70833,E,0.004,,120308,,,A*7B
+$GPRMC,100251.00,A,5159.12095,N,00423.70838,E,0.007,,120308,,,A*7E
+$GPRMC,100252.00,A,5159.12090,N,00423.70842,E,0.010,,120308,,,A*73
+$GPRMC,100253.00,A,5159.12086,N,00423.70846,E,0.004,,120308,,,A*74
+$GPRMC,100254.00,A,5159.12080,N,00423.70850,E,0.015,,120308,,,A*72
+$GPRMC,100255.00,A,5159.12075,N,00423.70852,E,0.018,,120308,,,A*76
+$GPRMC,100256.00,A,5159.12070,N,00423.70854,E,0.014,,120308,,,A*7A
+$GPRMC,100257.00,A,5159.12066,N,00423.70855,E,0.010,,120308,,,A*79
+$GPRMC,100258.00,A,5159.12061,N,00423.70855,E,0.005,,120308,,,A*75
+$GPRMC,100259.00,A,5159.12058,N,00423.70855,E,0.005,,120308,,,A*7E
+$GPRMC,100300.00,A,5159.12054,N,00423.70855,E,0.011,,120308,,,A*7A
+$GPRMC,100301.00,A,5159.12051,N,00423.70854,E,0.006,,120308,,,A*79
+$GPRMC,100302.00,A,5159.12048,N,00423.70854,E,0.020,304.28,120308,,,A*65
+$GPRMC,100303.00,A,5159.12045,N,00423.70853,E,0.019,,120308,,,A*77
+$GPRMC,100304.00,A,5159.12041,N,00423.70852,E,0.011,,120308,,,A*7D
+$GPRMC,100305.00,A,5159.12037,N,00423.70852,E,0.018,,120308,,,A*74
+$GPRMC,100306.00,A,5159.12032,N,00423.70854,E,0.005,,120308,,,A*78
+$GPRMC,100307.00,A,5159.12027,N,00423.70856,E,0.004,,120308,,,A*7E
+$GPRMC,100308.00,A,5159.12023,N,00423.70858,E,0.003,,120308,,,A*7C
+$GPRMC,100309.00,A,5159.12019,N,00423.70860,E,0.018,,120308,,,A*75
+$GPRMC,100310.00,A,5159.12016,N,00423.70863,E,0.025,300.16,120308,,,A*65
+$GPRMC,100311.00,A,5159.12012,N,00423.70865,E,0.006,,120308,,,A*7D
+$GPRMC,100312.00,A,5159.12009,N,00423.70868,E,0.009,,120308,,,A*76
+$GPRMC,100313.00,A,5159.12006,N,00423.70871,E,0.005,,120308,,,A*7C
+$GPRMC,100314.00,A,5159.12002,N,00423.70873,E,0.002,,120308,,,A*7A
+$GPRMC,100315.00,A,5159.11999,N,00423.70875,E,0.028,302.24,120308,,,A*64
+$GPRMC,100316.00,A,5159.11997,N,00423.70877,E,0.009,,120308,,,A*71
+$GPRMC,100317.00,A,5159.11995,N,00423.70879,E,0.013,,120308,,,A*77
+$GPRMC,100318.00,A,5159.11993,N,00423.70882,E,0.009,,120308,,,A*71
+$GPRMC,100319.00,A,5159.11990,N,00423.70883,E,0.003,,120308,,,A*78
+$GPRMC,100320.00,A,5159.11989,N,00423.70883,E,0.012,,120308,,,A*7A
+$GPRMC,100321.00,A,5159.11987,N,00423.70884,E,0.019,,120308,,,A*79
+$GPRMC,100322.00,A,5159.11984,N,00423.70885,E,0.006,,120308,,,A*76
+$GPRMC,100323.00,A,5159.11982,N,00423.70885,E,0.003,,120308,,,A*74
+$GPRMC,100324.00,A,5159.11981,N,00423.70885,E,0.006,,120308,,,A*75
+$GPRMC,100325.00,A,5159.11979,N,00423.70884,E,0.020,303.96,120308,,,A*67
+$GPRMC,100326.00,A,5159.11978,N,00423.70882,E,0.007,,120308,,,A*77
+$GPRMC,100327.00,A,5159.11977,N,00423.70880,E,0.012,,120308,,,A*7F
+$GPRMC,100328.00,A,5159.11975,N,00423.70878,E,0.024,307.00,120308,,,A*6A
+$GPRMC,100329.00,A,5159.11975,N,00423.70877,E,0.015,,120308,,,A*7C
+$GPRMC,100330.00,A,5159.11975,N,00423.70875,E,0.029,308.42,120308,,,A*6A
+$GPRMC,100331.00,A,5159.11974,N,00423.70873,E,0.017,,120308,,,A*72
+$GPRMC,100332.00,A,5159.11973,N,00423.70871,E,0.006,,120308,,,A*74
+$GPRMC,100333.00,A,5159.11972,N,00423.70869,E,0.004,,120308,,,A*7F
+$GPRMC,100334.00,A,5159.11971,N,00423.70866,E,0.021,310.10,120308,,,A*6E
+$GPRMC,100335.00,A,5159.11971,N,00423.70864,E,0.023,306.53,120308,,,A*6F
+$GPRMC,100336.00,A,5159.11970,N,00423.70861,E,0.028,303.05,120308,,,A*65
+$GPRMC,100337.00,A,5159.11969,N,00423.70858,E,0.009,,120308,,,A*7E
+$GPRMC,100338.00,A,5159.11967,N,00423.70858,E,0.045,305.02,120308,,,A*6D
+$GPRMC,100339.00,A,5159.11966,N,00423.70857,E,0.015,,120308,,,A*7D
+$GPRMC,100340.00,A,5159.11964,N,00423.70854,E,0.009,,120308,,,A*7F
+$GPRMC,100341.00,A,5159.11962,N,00423.70854,E,0.003,,120308,,,A*72
+$GPRMC,100342.00,A,5159.11961,N,00423.70850,E,0.029,306.20,120308,,,A*67
+$GPRMC,100343.00,A,5159.11961,N,00423.70849,E,0.009,,120308,,,A*75
+$GPRMC,100344.00,A,5159.11960,N,00423.70847,E,0.013,,120308,,,A*76
+$GPRMC,100345.00,A,5159.11959,N,00423.70843,E,0.009,,120308,,,A*72
+$GPRMC,100346.00,A,5159.11958,N,00423.70839,E,0.007,,120308,,,A*73
+$GPRMC,100347.00,A,5159.11954,N,00423.70836,E,0.014,,120308,,,A*73
+$GPRMC,100348.00,A,5159.11953,N,00423.70830,E,0.013,,120308,,,A*7A
+$GPRMC,100349.00,A,5159.11951,N,00423.70826,E,0.013,,120308,,,A*7E
+$GPRMC,100350.00,A,5159.11951,N,00423.70822,E,0.004,,120308,,,A*74
+$GPRMC,100351.00,A,5159.11950,N,00423.70822,E,0.009,,120308,,,A*79
+$GPRMC,100352.00,A,5159.11946,N,00423.70820,E,0.012,,120308,,,A*75
+$GPRMC,100353.00,A,5159.11942,N,00423.70818,E,0.005,,120308,,,A*7D
+$GPRMC,100354.00,A,5159.11938,N,00423.70817,E,0.003,,120308,,,A*7E
+$GPRMC,100355.00,A,5159.11933,N,00423.70816,E,0.018,,120308,,,A*7F
+$GPRMC,100356.00,A,5159.11928,N,00423.70815,E,0.033,302.47,120308,,,A*60
+$GPRMC,100357.00,A,5159.11925,N,00423.70814,E,0.018,,120308,,,A*78
+$GPRMC,100358.00,A,5159.11922,N,00423.70814,E,0.008,,120308,,,A*71
+$GPRMC,100359.00,A,5159.11919,N,00423.70814,E,0.011,,120308,,,A*70
+$GPRMC,100400.00,A,5159.11916,N,00423.70816,E,0.010,,120308,,,A*77
+$GPRMC,100401.00,A,5159.11912,N,00423.70818,E,0.015,,120308,,,A*79
+$GPRMC,100402.00,A,5159.11908,N,00423.70818,E,0.011,,120308,,,A*75
+$GPRMC,100403.00,A,5159.11904,N,00423.70819,E,0.002,,120308,,,A*7B
+$GPRMC,100404.00,A,5159.11900,N,00423.70819,E,0.003,,120308,,,A*79
+$GPRMC,100405.00,A,5159.11896,N,00423.70820,E,0.012,,120308,,,A*7C
+$GPRMC,100406.00,A,5159.11892,N,00423.70820,E,0.014,,120308,,,A*7D
+$GPRMC,100407.00,A,5159.11889,N,00423.70820,E,0.011,,120308,,,A*73
+$GPRMC,100408.00,A,5159.11887,N,00423.70818,E,0.010,,120308,,,A*78
+$GPRMC,100409.00,A,5159.11885,N,00423.70817,E,0.029,305.06,120308,,,A*60
+$GPRMC,100410.00,A,5159.11883,N,00423.70817,E,0.016,,120308,,,A*7C
+$GPRMC,100411.00,A,5159.11881,N,00423.70817,E,0.012,,120308,,,A*7B
+$GPRMC,100412.00,A,5159.11878,N,00423.70818,E,0.025,300.68,120308,,,A*66
+$GPRMC,100413.00,A,5159.11876,N,00423.70818,E,0.020,302.54,120308,,,A*61
+$GPRMC,100414.00,A,5159.11872,N,00423.70817,E,0.023,304.65,120308,,,A*6A
+$GPRMC,100415.00,A,5159.11869,N,00423.70818,E,0.013,,120308,,,A*77
+$GPRMC,100416.00,A,5159.11867,N,00423.70821,E,0.040,306.58,120308,,,A*60
+$GPRMC,100417.00,A,5159.11866,N,00423.70823,E,0.006,,120308,,,A*76
+$GPRMC,100418.00,A,5159.11862,N,00423.70825,E,0.013,,120308,,,A*7F
+$GPRMC,100419.00,A,5159.11859,N,00423.70828,E,0.012,,120308,,,A*7A
+$GPRMC,100420.00,A,5159.11858,N,00423.70827,E,0.005,,120308,,,A*78
+$GPRMC,100421.00,A,5159.11857,N,00423.70826,E,0.030,308.40,120308,,,A*60
+$GPRMC,100422.00,A,5159.11856,N,00423.70825,E,0.004,,120308,,,A*77
+$GPRMC,100423.00,A,5159.11856,N,00423.70822,E,0.033,310.63,120308,,,A*6C
+$GPRMC,100424.00,A,5159.11855,N,00423.70820,E,0.024,311.85,120308,,,A*65
+$GPRMC,100425.00,A,5159.11854,N,00423.70817,E,0.007,,120308,,,A*70
+$GPRMC,100426.00,A,5159.11852,N,00423.70816,E,0.012,,120308,,,A*70
+$GPRMC,100427.00,A,5159.11851,N,00423.70814,E,0.003,,120308,,,A*70
+$GPRMC,100428.00,A,5159.11848,N,00423.70813,E,0.008,,120308,,,A*7B
+$GPRMC,100429.00,A,5159.11844,N,00423.70812,E,0.030,313.96,120308,,,A*6C
+$GPRMC,100430.00,A,5159.11841,N,00423.70811,E,0.004,,120308,,,A*75
+$GPRMC,100431.00,A,5159.11838,N,00423.70810,E,0.004,,120308,,,A*7B
+$GPRMC,100432.00,A,5159.11836,N,00423.70809,E,0.011,,120308,,,A*7A
+$GPRMC,100433.00,A,5159.11832,N,00423.70809,E,0.011,,120308,,,A*7F
+$GPRMC,100434.00,A,5159.11828,N,00423.70808,E,0.013,,120308,,,A*70
+$GPRMC,100435.00,A,5159.11826,N,00423.70807,E,0.021,313.93,120308,,,A*64
+$GPRMC,100436.00,A,5159.11825,N,00423.70804,E,0.011,,120308,,,A*71
+$GPRMC,100437.00,A,5159.11822,N,00423.70803,E,0.023,315.24,120308,,,A*6E
+$GPRMC,100438.00,A,5159.11820,N,00423.70801,E,0.010,,120308,,,A*7E
+$GPRMC,100439.00,A,5159.11819,N,00423.70800,E,0.034,311.23,120308,,,A*6E
+$GPRMC,100440.00,A,5159.11817,N,00423.70799,E,0.030,313.27,120308,,,A*63
+$GPRMC,100441.00,A,5159.11816,N,00423.70799,E,0.028,314.65,120308,,,A*6B
+$GPRMC,100442.00,A,5159.11816,N,00423.70797,E,0.003,,120308,,,A*74
+$GPRMC,100443.00,A,5159.11817,N,00423.70797,E,0.006,,120308,,,A*71
+$GPRMC,100444.00,A,5159.11817,N,00423.70797,E,0.002,,120308,,,A*72
+$GPRMC,100445.00,A,5159.11816,N,00423.70797,E,0.012,,120308,,,A*73
+$GPRMC,100446.00,A,5159.11815,N,00423.70798,E,0.010,,120308,,,A*7E
+$GPRMC,100447.00,A,5159.11815,N,00423.70799,E,0.003,,120308,,,A*7C
+$GPRMC,100448.00,A,5159.11814,N,00423.70799,E,0.002,,120308,,,A*73
+$GPRMC,100449.00,A,5159.11814,N,00423.70799,E,0.036,315.70,120308,,,A*6B
+$GPRMC,100450.00,A,5159.11815,N,00423.70799,E,0.011,,120308,,,A*79
+$GPRMC,100451.00,A,5159.11817,N,00423.70801,E,0.003,,120308,,,A*77
+$GPRMC,100452.00,A,5159.11817,N,00423.70801,E,0.008,,120308,,,A*7F
+$GPRMC,100453.00,A,5159.11817,N,00423.70803,E,0.014,,120308,,,A*71
+$GPRMC,100454.00,A,5159.11817,N,00423.70804,E,0.007,,120308,,,A*73
+$GPRMC,100455.00,A,5159.11817,N,00423.70805,E,0.017,,120308,,,A*72
+$GPRMC,100456.00,A,5159.11819,N,00423.70806,E,0.018,,120308,,,A*73
+$GPRMC,100457.00,A,5159.11820,N,00423.70807,E,0.004,,120308,,,A*74
+$GPRMC,100458.00,A,5159.11821,N,00423.70809,E,0.024,318.12,120308,,,A*61
+$GPRMC,100459.00,A,5159.11823,N,00423.70813,E,0.023,313.33,120308,,,A*66
+$GPRMC,100500.00,A,5159.11824,N,00423.70815,E,0.008,,120308,,,A*7C
+$GPRMC,100501.00,A,5159.11825,N,00423.70816,E,0.003,,120308,,,A*74
+$GPRMC,100502.00,A,5159.11826,N,00423.70818,E,0.007,,120308,,,A*7E
+$GPRMC,100503.00,A,5159.11829,N,00423.70820,E,0.003,,120308,,,A*7F
+$GPRMC,100504.00,A,5159.11831,N,00423.70824,E,0.010,,120308,,,A*77
+$GPRMC,100505.00,A,5159.11834,N,00423.70826,E,0.021,313.81,120308,,,A*65
+$GPRMC,100506.00,A,5159.11836,N,00423.70827,E,0.010,,120308,,,A*71
+$GPRMC,100507.00,A,5159.11838,N,00423.70826,E,0.023,314.73,120308,,,A*63
+$GPRMC,100508.00,A,5159.11840,N,00423.70825,E,0.027,316.54,120308,,,A*63
+$GPRMC,100509.00,A,5159.11843,N,00423.70823,E,0.009,,120308,,,A*70
+$GPRMC,100510.00,A,5159.11844,N,00423.70820,E,0.003,,120308,,,A*76
+$GPRMC,100511.00,A,5159.11845,N,00423.70818,E,0.014,,120308,,,A*7B
+$GPRMC,100512.00,A,5159.11847,N,00423.70816,E,0.040,318.19,120308,,,A*69
+$GPRMC,100513.00,A,5159.11851,N,00423.70813,E,0.023,319.16,120308,,,A*61
+$GPRMC,100514.00,A,5159.11853,N,00423.70813,E,0.017,,120308,,,A*71
+$GPRMC,100515.00,A,5159.11854,N,00423.70813,E,0.013,,120308,,,A*73
+$GPRMC,100516.00,A,5159.11854,N,00423.70814,E,0.031,320.77,120308,,,A*68
+$GPRMC,100517.00,A,5159.11856,N,00423.70815,E,0.021,323.03,120308,,,A*6B
+$GPRMC,100518.00,A,5159.11857,N,00423.70817,E,0.009,,120308,,,A*72
+$GPRMC,100519.00,A,5159.11858,N,00423.70818,E,0.008,,120308,,,A*72
+$GPRMC,100520.00,A,5159.11858,N,00423.70819,E,0.008,,120308,,,A*79
+$GPRMC,100521.00,A,5159.11858,N,00423.70819,E,0.013,,120308,,,A*72
+$GPRMC,100522.00,A,5159.11858,N,00423.70818,E,0.005,,120308,,,A*77
+$GPRMC,100523.00,A,5159.11857,N,00423.70818,E,0.011,,120308,,,A*7C
+$GPRMC,100524.00,A,5159.11857,N,00423.70817,E,0.021,324.63,120308,,,A*69
+$GPRMC,100525.00,A,5159.11856,N,00423.70817,E,0.002,,120308,,,A*76
+$GPRMC,100526.00,A,5159.11856,N,00423.70815,E,0.008,,120308,,,A*7D
+$GPRMC,100527.00,A,5159.11855,N,00423.70812,E,0.015,,120308,,,A*74
+$GPRMC,100528.00,A,5159.11855,N,00423.70809,E,0.014,,120308,,,A*70
+$GPRMC,100529.00,A,5159.11855,N,00423.70807,E,0.031,326.31,120308,,,A*63
+$GPRMC,100530.00,A,5159.11855,N,00423.70807,E,0.012,,120308,,,A*71
+$GPRMC,100531.00,A,5159.11855,N,00423.70805,E,0.007,,120308,,,A*76
+$GPRMC,100532.00,A,5159.11857,N,00423.70804,E,0.005,,120308,,,A*74
+$GPRMC,100533.00,A,5159.11858,N,00423.70803,E,0.005,,120308,,,A*7D
+$GPRMC,100534.00,A,5159.11862,N,00423.70798,E,0.010,,120308,,,A*7A
+$GPRMC,100535.00,A,5159.11866,N,00423.70800,E,0.024,327.48,120308,,,A*62
+$GPRMC,100536.00,A,5159.11868,N,00423.70805,E,0.020,328.40,120308,,,A*69
+$GPRMC,100537.00,A,5159.11872,N,00423.70807,E,0.019,,120308,,,A*78
+$GPRMC,100538.00,A,5159.11870,N,00423.70811,E,0.004,,120308,,,A*7E
+$GPRMC,100539.00,A,5159.11868,N,00423.70812,E,0.010,,120308,,,A*70
+$GPRMC,100540.00,A,5159.11867,N,00423.70813,E,0.009,,120308,,,A*78
+$GPRMC,100541.00,A,5159.11864,N,00423.70814,E,0.002,,120308,,,A*76
+$GPRMC,100542.00,A,5159.11863,N,00423.70814,E,0.004,,120308,,,A*74
+$GPRMC,100543.00,A,5159.11862,N,00423.70812,E,0.007,,120308,,,A*71
+$GPRMC,100544.00,A,5159.11861,N,00423.70812,E,0.023,329.28,120308,,,A*6F
+$GPRMC,100545.00,A,5159.11858,N,00423.70810,E,0.003,,120308,,,A*78
+$GPRMC,100546.00,A,5159.11856,N,00423.70809,E,0.027,330.38,120308,,,A*6E
+$GPRMC,100547.00,A,5159.11855,N,00423.70806,E,0.004,,120308,,,A*77
+$GPRMC,100548.00,A,5159.11852,N,00423.70804,E,0.025,331.21,120308,,,A*62
+$GPRMC,100549.00,A,5159.11851,N,00423.70802,E,0.011,,120308,,,A*7D
+$GPRMC,100550.00,A,5159.11849,N,00423.70801,E,0.018,,120308,,,A*76
+$GPRMC,100551.00,A,5159.11846,N,00423.70801,E,0.007,,120308,,,A*76
+$GPRMC,100552.00,A,5159.11844,N,00423.70799,E,0.009,,120308,,,A*77
+$GPRMC,100553.00,A,5159.11842,N,00423.70798,E,0.028,332.12,120308,,,A*6D
+$GPRMC,100554.00,A,5159.11841,N,00423.70798,E,0.013,,120308,,,A*7E
+$GPRMC,100555.00,A,5159.11840,N,00423.70798,E,0.021,333.33,120308,,,A*62
+$GPRMC,100556.00,A,5159.11837,N,00423.70798,E,0.034,328.67,120308,,,A*6E
+$GPRMC,100557.00,A,5159.11835,N,00423.70798,E,0.001,,120308,,,A*7D
+$GPRMC,100558.00,A,5159.11835,N,00423.70797,E,0.009,,120308,,,A*75
+$GPRMC,100559.00,A,5159.11838,N,00423.70802,E,0.006,,120308,,,A*75
+$GPRMC,100600.00,A,5159.11842,N,00423.70805,E,0.009,,120308,,,A*7F
+$GPRMC,100601.00,A,5159.11841,N,00423.70803,E,0.014,,120308,,,A*77
+$GPRMC,100602.00,A,5159.11846,N,00423.70805,E,0.007,,120308,,,A*77
+$GPRMC,100603.00,A,5159.11848,N,00423.70805,E,0.003,,120308,,,A*7C
+$GPRMC,100604.00,A,5159.11848,N,00423.70802,E,0.014,,120308,,,A*7A
+$GPRMC,100605.00,A,5159.11847,N,00423.70796,E,0.033,329.63,120308,,,A*60
+$GPRMC,100606.00,A,5159.11846,N,00423.70792,E,0.011,,120308,,,A*75
+$GPRMC,100607.00,A,5159.11845,N,00423.70785,E,0.013,,120308,,,A*73
+$GPRMC,100608.00,A,5159.11843,N,00423.70779,E,0.005,,120308,,,A*7E
+$GPRMC,100609.00,A,5159.11843,N,00423.70769,E,0.046,331.07,120308,,,A*61
+$GPRMC,100610.00,A,5159.11843,N,00423.70758,E,0.008,,120308,,,A*79
+$GPRMC,100611.00,A,5159.11842,N,00423.70747,E,0.020,331.50,120308,,,A*67
+$GPRMC,100612.00,A,5159.11841,N,00423.70737,E,0.009,,120308,,,A*71
+$GPRMC,100613.00,A,5159.11839,N,00423.70729,E,0.022,327.25,120308,,,A*66
+$GPRMC,100614.00,A,5159.11836,N,00423.70721,E,0.004,,120308,,,A*7D
+$GPRMC,100615.00,A,5159.11833,N,00423.70714,E,0.012,,120308,,,A*78
+$GPRMC,100616.00,A,5159.11830,N,00423.70707,E,0.016,,120308,,,A*7E
+$GPRMC,100617.00,A,5159.11827,N,00423.70701,E,0.011,,120308,,,A*78
+$GPRMC,100618.00,A,5159.11823,N,00423.70697,E,0.030,328.68,120308,,,A*67
+$GPRMC,100619.00,A,5159.11820,N,00423.70695,E,0.011,,120308,,,A*7D
+$GPRMC,100620.00,A,5159.11816,N,00423.70691,E,0.015,,120308,,,A*72
+$GPRMC,100621.00,A,5159.11812,N,00423.70688,E,0.023,323.39,120308,,,A*6C
+$GPRMC,100622.00,A,5159.11806,N,00423.70685,E,0.012,,120308,,,A*73
+$GPRMC,100623.00,A,5159.11803,N,00423.70687,E,0.021,328.70,120308,,,A*65
+$GPRMC,100624.00,A,5159.11799,N,00423.70689,E,0.001,,120308,,,A*72
+$GPRMC,100625.00,A,5159.11796,N,00423.70692,E,0.009,,120308,,,A*7E
+$GPRMC,100626.00,A,5159.11792,N,00423.70694,E,0.025,330.45,120308,,,A*6E
+$GPRMC,100627.00,A,5159.11789,N,00423.70696,E,0.025,326.25,120308,,,A*66
+$GPRMC,100628.00,A,5159.11785,N,00423.70698,E,0.013,,120308,,,A*70
+$GPRMC,100629.00,A,5159.11782,N,00423.70701,E,0.013,,120308,,,A*77
+$GPRMC,100630.00,A,5159.11778,N,00423.70705,E,0.021,327.53,120308,,,A*61
+$GPRMC,100631.00,A,5159.11774,N,00423.70709,E,0.014,,120308,,,A*78
+$GPRMC,100632.00,A,5159.11770,N,00423.70712,E,0.003,,120308,,,A*73
+$GPRMC,100633.00,A,5159.11766,N,00423.70715,E,0.010,,120308,,,A*70
+$GPRMC,100634.00,A,5159.11760,N,00423.70718,E,0.014,,120308,,,A*78
+$GPRMC,100635.00,A,5159.11755,N,00423.70719,E,0.016,,120308,,,A*7C
+$GPRMC,100636.00,A,5159.11751,N,00423.70722,E,0.032,323.16,120308,,,A*6E
+$GPRMC,100637.00,A,5159.11747,N,00423.70725,E,0.012,,120308,,,A*76
+$GPRMC,100638.00,A,5159.11744,N,00423.70728,E,0.018,,120308,,,A*7D
+$GPRMC,100639.00,A,5159.11743,N,00423.70731,E,0.020,325.38,120308,,,A*69
+$GPRMC,100640.00,A,5159.11741,N,00423.70734,E,0.005,,120308,,,A*76
+$GPRMC,100641.00,A,5159.11741,N,00423.70736,E,0.003,,120308,,,A*73
+$GPRMC,100642.00,A,5159.11743,N,00423.70739,E,0.008,,120308,,,A*76
+$GPRMC,100643.00,A,5159.11742,N,00423.70743,E,0.013,,120308,,,A*71
+$GPRMC,100644.00,A,5159.11736,N,00423.70748,E,0.008,,120308,,,A*74
+$GPRMC,100645.00,A,5159.11739,N,00423.70751,E,0.008,,120308,,,A*72
+$GPRMC,100646.00,A,5159.11740,N,00423.70754,E,0.013,,120308,,,A*70
+$GPRMC,100647.00,A,5159.11742,N,00423.70757,E,0.021,329.76,120308,,,A*66
+$GPRMC,100648.00,A,5159.11740,N,00423.70759,E,0.013,,120308,,,A*73
+$GPRMC,100649.00,A,5159.11743,N,00423.70759,E,0.014,,120308,,,A*76
+$GPRMC,100650.00,A,5159.11749,N,00423.70760,E,0.005,,120308,,,A*7E
+$GPRMC,100651.00,A,5159.11753,N,00423.70761,E,0.008,,120308,,,A*78
+$GPRMC,100652.00,A,5159.11759,N,00423.70762,E,0.005,,120308,,,A*7F
+$GPRMC,100653.00,A,5159.11758,N,00423.70765,E,0.010,,120308,,,A*7C
+$GPRMC,100654.00,A,5159.11765,N,00423.70766,E,0.022,330.33,120308,,,A*69
+$GPRMC,100655.00,A,5159.11772,N,00423.70768,E,0.011,,120308,,,A*7E
+$GPRMC,100656.00,A,5159.11775,N,00423.70771,E,0.013,,120308,,,A*70
+$GPRMC,100657.00,A,5159.11770,N,00423.70775,E,0.027,331.36,120308,,,A*6D
+$GPRMC,100658.00,A,5159.11765,N,00423.70778,E,0.028,332.26,120308,,,A*66
+$GPRMC,100659.00,A,5159.11761,N,00423.70781,E,0.017,,120308,,,A*71
+$GPRMC,100700.00,A,5159.11763,N,00423.70782,E,0.017,,120308,,,A*7D
+$GPRMC,100701.00,A,5159.11766,N,00423.70784,E,0.030,333.35,120308,,,A*61
+$GPRMC,100702.00,A,5159.11767,N,00423.70784,E,0.004,,120308,,,A*7F
+$GPRMC,100703.00,A,5159.11767,N,00423.70787,E,0.028,328.66,120308,,,A*64
+$GPRMC,100704.00,A,5159.11766,N,00423.70788,E,0.020,330.52,120308,,,A*6B
+$GPRMC,100705.00,A,5159.11774,N,00423.70789,E,0.016,,120308,,,A*74
+$GPRMC,100706.00,A,5159.11787,N,00423.70788,E,0.010,,120308,,,A*7C
+$GPRMC,100707.00,A,5159.11798,N,00423.70788,E,0.014,,120308,,,A*77
+$GPRMC,100708.00,A,5159.11799,N,00423.70789,E,0.005,,120308,,,A*78
+$GPRMC,100709.00,A,5159.11808,N,00423.70789,E,0.007,,120308,,,A*7C
+$GPRMC,100710.00,A,5159.11802,N,00423.70791,E,0.041,331.56,120308,,,A*69
+$GPRMC,100711.00,A,5159.11797,N,00423.70792,E,0.009,,120308,,,A*78
+$GPRMC,100712.00,A,5159.11792,N,00423.70793,E,0.005,,120308,,,A*73
+$GPRMC,100713.00,A,5159.11787,N,00423.70794,E,0.014,,120308,,,A*71
+$GPRMC,100714.00,A,5159.11781,N,00423.70794,E,0.014,,120308,,,A*70
+$GPRMC,100715.00,A,5159.11777,N,00423.70792,E,0.028,332.51,120308,,,A*69
+$GPRMC,100716.00,A,5159.11773,N,00423.70792,E,0.005,,120308,,,A*79
+$GPRMC,100717.00,A,5159.11772,N,00423.70791,E,0.010,,120308,,,A*7E
+$GPRMC,100718.00,A,5159.11769,N,00423.70792,E,0.014,,120308,,,A*7C
+$GPRMC,100719.00,A,5159.11766,N,00423.70792,E,0.009,,120308,,,A*7E
+$GPRMC,100720.00,A,5159.11764,N,00423.70791,E,0.027,333.19,120308,,,A*6C
+$GPRMC,100721.00,A,5159.11763,N,00423.70790,E,0.004,,120308,,,A*7F
+$GPRMC,100722.00,A,5159.11762,N,00423.70790,E,0.009,,120308,,,A*70
+$GPRMC,100723.00,A,5159.11764,N,00423.70788,E,0.007,,120308,,,A*70
+$GPRMC,100724.00,A,5159.11765,N,00423.70789,E,0.020,329.13,120308,,,A*66
+$GPRMC,100725.00,A,5159.11767,N,00423.70787,E,0.011,,120308,,,A*7D
+$GPRMC,100726.00,A,5159.11767,N,00423.70784,E,0.012,,120308,,,A*7E
+$GPRMC,100727.00,A,5159.11769,N,00423.70781,E,0.022,330.68,120308,,,A*67
+$GPRMC,100728.00,A,5159.11776,N,00423.70777,E,0.008,,120308,,,A*77
+$GPRMC,100729.00,A,5159.11779,N,00423.70772,E,0.008,,120308,,,A*7C
+$GPRMC,100730.00,A,5159.11780,N,00423.70765,E,0.004,,120308,,,A*78
+$GPRMC,100731.00,A,5159.11782,N,00423.70759,E,0.039,331.84,120308,,,A*69
+$GPRMC,100732.00,A,5159.11781,N,00423.70753,E,0.003,,120308,,,A*79
+$GPRMC,100733.00,A,5159.11783,N,00423.70748,E,0.008,,120308,,,A*7B
+$GPRMC,100734.00,A,5159.11786,N,00423.70742,E,0.003,,120308,,,A*78
+$GPRMC,100735.00,A,5159.11789,N,00423.70735,E,0.028,327.80,120308,,,A*6F
+$GPRMC,100736.00,A,5159.11792,N,00423.70729,E,0.006,,120308,,,A*77
+$GPRMC,100737.00,A,5159.11794,N,00423.70723,E,0.007,,120308,,,A*7B
+$GPRMC,100738.00,A,5159.11797,N,00423.70718,E,0.006,,120308,,,A*7E
+$GPRMC,100739.00,A,5159.11799,N,00423.70716,E,0.006,,120308,,,A*7F
+$GPRMC,100740.00,A,5159.11802,N,00423.70714,E,0.004,,120308,,,A*7C
+$GPRMC,100741.00,A,5159.11805,N,00423.70713,E,0.013,,120308,,,A*7B
+$GPRMC,100742.00,A,5159.11807,N,00423.70714,E,0.018,,120308,,,A*76
+$GPRMC,100743.00,A,5159.11810,N,00423.70716,E,0.006,,120308,,,A*7C
+$GPRMC,100744.00,A,5159.11813,N,00423.70716,E,0.003,,120308,,,A*7D
+$GPRMC,100745.00,A,5159.11817,N,00423.70718,E,0.018,,120308,,,A*7C
+$GPRMC,100746.00,A,5159.11816,N,00423.70721,E,0.018,,120308,,,A*74
+$GPRMC,100747.00,A,5159.11816,N,00423.70723,E,0.009,,120308,,,A*77
+$GPRMC,100748.00,A,5159.11816,N,00423.70726,E,0.010,,120308,,,A*75
+$GPRMC,100749.00,A,5159.11816,N,00423.70728,E,0.025,329.08,120308,,,A*62
+$GPRMC,100750.00,A,5159.11817,N,00423.70730,E,0.026,329.83,120308,,,A*62
+$GPRMC,100751.00,A,5159.11817,N,00423.70731,E,0.003,,120308,,,A*78
+$GPRMC,100752.00,A,5159.11816,N,00423.70732,E,0.021,329.92,120308,,,A*64
+$GPRMC,100753.00,A,5159.11816,N,00423.70731,E,0.013,,120308,,,A*7A
+$GPRMC,100754.00,A,5159.11815,N,00423.70731,E,0.024,325.23,120308,,,A*61
+$GPRMC,100755.00,A,5159.11812,N,00423.70734,E,0.017,,120308,,,A*79
+$GPRMC,100756.00,A,5159.11806,N,00423.70739,E,0.011,,120308,,,A*74
+$GPRMC,100757.00,A,5159.11801,N,00423.70743,E,0.019,326.82,120308,,,A*64
+$GPRMC,100758.00,A,5159.11795,N,00423.70746,E,0.010,,120308,,,A*76
+$GPRMC,100759.00,A,5159.11791,N,00423.70749,E,0.013,,120308,,,A*7F
+$GPRMC,100800.00,A,5159.11781,N,00423.70752,E,0.008,,120308,,,A*7D
+$GPRMC,100801.00,A,5159.11776,N,00423.70757,E,0.008,,120308,,,A*71
+$GPRMC,100802.00,A,5159.11772,N,00423.70759,E,0.016,,120308,,,A*77
+$GPRMC,100803.00,A,5159.11770,N,00423.70761,E,0.013,,120308,,,A*7A
+$GPRMC,100804.00,A,5159.11768,N,00423.70762,E,0.009,,120308,,,A*7C
+$GPRMC,100805.00,A,5159.11767,N,00423.70764,E,0.005,,120308,,,A*78
+$GPRMC,100806.00,A,5159.11766,N,00423.70766,E,0.017,,120308,,,A*7B
+$GPRMC,100807.00,A,5159.11768,N,00423.70766,E,0.002,,120308,,,A*70
+$GPRMC,100808.00,A,5159.11771,N,00423.70765,E,0.012,,120308,,,A*75
+$GPRMC,100809.00,A,5159.11773,N,00423.70763,E,0.002,,120308,,,A*71
+$GPRMC,100810.00,A,5159.11776,N,00423.70762,E,0.008,,120308,,,A*77
+$GPRMC,100811.00,A,5159.11779,N,00423.70760,E,0.007,,120308,,,A*74
+$GPRMC,100812.00,A,5159.11782,N,00423.70760,E,0.008,,120308,,,A*7C
+$GPRMC,100813.00,A,5159.11787,N,00423.70761,E,0.017,,120308,,,A*77
+$GPRMC,100814.00,A,5159.11791,N,00423.70761,E,0.022,327.83,120308,,,A*62
+$GPRMC,100815.00,A,5159.11794,N,00423.70760,E,0.005,,120308,,,A*71
+$GPRMC,100816.00,A,5159.11797,N,00423.70759,E,0.012,,120308,,,A*7D
+$GPRMC,100817.00,A,5159.11800,N,00423.70758,E,0.008,,120308,,,A*77
+$GPRMC,100818.00,A,5159.11804,N,00423.70756,E,0.017,,120308,,,A*7C
+$GPRMC,100819.00,A,5159.11807,N,00423.70754,E,0.013,,120308,,,A*78
+$GPRMC,100820.00,A,5159.11811,N,00423.70753,E,0.010,,120308,,,A*71
+$GPRMC,100821.00,A,5159.11815,N,00423.70753,E,0.031,329.32,120308,,,A*60
+$GPRMC,100822.00,A,5159.11820,N,00423.70753,E,0.025,325.19,120308,,,A*65
+$GPRMC,100823.00,A,5159.11824,N,00423.70754,E,0.015,,120308,,,A*76
+$GPRMC,100824.00,A,5159.11829,N,00423.70753,E,0.014,,120308,,,A*7A
+$GPRMC,100825.00,A,5159.11833,N,00423.70753,E,0.013,,120308,,,A*77
+$GPRMC,100826.00,A,5159.11838,N,00423.70754,E,0.010,,120308,,,A*7B
+$GPRMC,100827.00,A,5159.11842,N,00423.70755,E,0.006,,120308,,,A*71
+$GPRMC,100828.00,A,5159.11844,N,00423.70755,E,0.023,326.40,120308,,,A*62
+$GPRMC,100829.00,A,5159.11846,N,00423.70755,E,0.007,,120308,,,A*7A
+$GPRMC,100830.00,A,5159.11847,N,00423.70755,E,0.003,,120308,,,A*77
+$GPRMC,100831.00,A,5159.11842,N,00423.70755,E,0.022,327.28,120308,,,A*62
+$GPRMC,100832.00,A,5159.11836,N,00423.70754,E,0.023,322.30,120308,,,A*6E
+$GPRMC,100833.00,A,5159.11829,N,00423.70752,E,0.010,,120308,,,A*79
+$GPRMC,100834.00,A,5159.11823,N,00423.70750,E,0.015,,120308,,,A*73
+$GPRMC,100835.00,A,5159.11818,N,00423.70748,E,0.020,319.24,120308,,,A*66
+$GPRMC,100836.00,A,5159.11813,N,00423.70747,E,0.009,,120308,,,A*79
+$GPRMC,100837.00,A,5159.11809,N,00423.70746,E,0.030,321.14,120308,,,A*63
+$GPRMC,100838.00,A,5159.11805,N,00423.70747,E,0.010,,120308,,,A*78
+$GPRMC,100839.00,A,5159.11800,N,00423.70746,E,0.016,,120308,,,A*7B
+$GPRMC,100840.00,A,5159.11796,N,00423.70745,E,0.012,,120308,,,A*72
+$GPRMC,100841.00,A,5159.11792,N,00423.70745,E,0.011,,120308,,,A*74
+$GPRMC,100842.00,A,5159.11786,N,00423.70746,E,0.042,323.51,120308,,,A*6F
+$GPRMC,100843.00,A,5159.11782,N,00423.70748,E,0.032,319.33,120308,,,A*6E
+$GPRMC,100844.00,A,5159.11778,N,00423.70749,E,0.017,,120308,,,A*7F
+$GPRMC,100845.00,A,5159.11775,N,00423.70748,E,0.013,,120308,,,A*76
+$GPRMC,100846.00,A,5159.11774,N,00423.70748,E,0.004,,120308,,,A*72
+$GPRMC,100847.00,A,5159.11775,N,00423.70747,E,0.036,315.41,120308,,,A*60
+$GPRMC,100848.00,A,5159.11775,N,00423.70747,E,0.002,,120308,,,A*74
+$GPRMC,100849.00,A,5159.11775,N,00423.70746,E,0.034,311.45,120308,,,A*6D
+$GPRMC,100850.00,A,5159.11775,N,00423.70747,E,0.032,313.28,120308,,,A*6B
+$GPRMC,100851.00,A,5159.11775,N,00423.70748,E,0.003,,120308,,,A*72
+$GPRMC,100852.00,A,5159.11776,N,00423.70749,E,0.022,314.23,120308,,,A*69
+$GPRMC,100853.00,A,5159.11778,N,00423.70751,E,0.005,,120308,,,A*73
+$GPRMC,100854.00,A,5159.11778,N,00423.70752,E,0.009,,120308,,,A*7B
+$GPRMC,100855.00,A,5159.11779,N,00423.70756,E,0.032,315.85,120308,,,A*63
+$GPRMC,100856.00,A,5159.11781,N,00423.70761,E,0.005,,120308,,,A*73
+$GPRMC,100857.00,A,5159.11782,N,00423.70766,E,0.036,317.78,120308,,,A*62
+$GPRMC,100858.00,A,5159.11784,N,00423.70772,E,0.024,314.58,120308,,,A*6C
+$GPRMC,100859.00,A,5159.11786,N,00423.70775,E,0.007,,120308,,,A*7C
+$GPRMC,100900.00,A,5159.11789,N,00423.70776,E,0.008,,120308,,,A*72
+$GPRMC,100901.00,A,5159.11792,N,00423.70776,E,0.031,316.31,120308,,,A*6B
+$GPRMC,100902.00,A,5159.11796,N,00423.70775,E,0.009,,120308,,,A*7C
+$GPRMC,100903.00,A,5159.11800,N,00423.70770,E,0.017,,120308,,,A*77
+$GPRMC,100904.00,A,5159.11806,N,00423.70766,E,0.011,,120308,,,A*77
+$GPRMC,100905.00,A,5159.11813,N,00423.70762,E,0.011,,120308,,,A*76
+$GPRMC,100906.00,A,5159.11820,N,00423.70756,E,0.015,,120308,,,A*76
+$GPRMC,100907.00,A,5159.11827,N,00423.70751,E,0.022,317.83,120308,,,A*63
+$GPRMC,100908.00,A,5159.11833,N,00423.70745,E,0.022,319.12,120308,,,A*6A
+$GPRMC,100909.00,A,5159.11838,N,00423.70739,E,0.009,,120308,,,A*74
+$GPRMC,100910.00,A,5159.11843,N,00423.70734,E,0.001,,120308,,,A*75
+$GPRMC,100911.00,A,5159.11847,N,00423.70729,E,0.019,,120308,,,A*75
+$GPRMC,100912.00,A,5159.11852,N,00423.70725,E,0.011,,120308,,,A*76
+$GPRMC,100913.00,A,5159.11856,N,00423.70722,E,0.008,,120308,,,A*7C
+$GPRMC,100914.00,A,5159.11860,N,00423.70718,E,0.006,,120308,,,A*79
+$GPRMC,100915.00,A,5159.11866,N,00423.70718,E,0.009,,120308,,,A*71
+$GPRMC,100916.00,A,5159.11872,N,00423.70716,E,0.022,320.38,120308,,,A*64
+$GPRMC,100917.00,A,5159.11874,N,00423.70712,E,0.011,,120308,,,A*73
+$GPRMC,100918.00,A,5159.11877,N,00423.70707,E,0.016,,120308,,,A*7C
+$GPRMC,100919.00,A,5159.11880,N,00423.70704,E,0.026,315.83,120308,,,A*67
+$GPRMC,100920.00,A,5159.11882,N,00423.70704,E,0.002,,120308,,,A*7B
+$GPRMC,100921.00,A,5159.11886,N,00423.70704,E,0.020,312.03,120308,,,A*63
+$GPRMC,100922.00,A,5159.11888,N,00423.70704,E,0.014,,120308,,,A*74
+$GPRMC,100923.00,A,5159.11891,N,00423.70701,E,0.008,,120308,,,A*75
+$GPRMC,100924.00,A,5159.11893,N,00423.70699,E,0.011,,120308,,,A*78
+$GPRMC,100925.00,A,5159.11895,N,00423.70697,E,0.004,,120308,,,A*75
+$GPRMC,100926.00,A,5159.11900,N,00423.70699,E,0.008,,120308,,,A*79
+$GPRMC,100927.00,A,5159.11904,N,00423.70700,E,0.029,313.96,120308,,,A*6E
+$GPRMC,100928.00,A,5159.11906,N,00423.70697,E,0.013,,120308,,,A*75
+$GPRMC,100929.00,A,5159.11908,N,00423.70694,E,0.031,310.60,120308,,,A*63
+$GPRMC,100930.00,A,5159.11907,N,00423.70691,E,0.013,,120308,,,A*7B
+$GPRMC,100931.00,A,5159.11914,N,00423.70698,E,0.029,312.31,120308,,,A*64
+$GPRMC,100932.00,A,5159.11924,N,00423.70709,E,0.018,,120308,,,A*73
+$GPRMC,100933.00,A,5159.11923,N,00423.70709,E,0.037,309.06,120308,,,A*6A
+$GPRMC,100934.00,A,5159.11922,N,00423.70710,E,0.008,,120308,,,A*7A
+$GPRMC,100935.00,A,5159.11922,N,00423.70711,E,0.006,,120308,,,A*74
+$GPRMC,100936.00,A,5159.11924,N,00423.70711,E,0.003,,120308,,,A*74
+$GPRMC,100937.00,A,5159.11925,N,00423.70709,E,0.006,,120308,,,A*78
+$GPRMC,100938.00,A,5159.11927,N,00423.70709,E,0.020,305.44,120308,,,A*69
+$GPRMC,100939.00,A,5159.11929,N,00423.70707,E,0.020,307.32,120308,,,A*6B
+$GPRMC,100940.00,A,5159.11930,N,00423.70705,E,0.005,,120308,,,A*73
+$GPRMC,100941.00,A,5159.11931,N,00423.70703,E,0.027,303.93,120308,,,A*61
+$GPRMC,100942.00,A,5159.11933,N,00423.70701,E,0.005,,120308,,,A*76
+$GPRMC,100943.00,A,5159.11933,N,00423.70699,E,0.016,,120308,,,A*75
+$GPRMC,100944.00,A,5159.11932,N,00423.70699,E,0.016,,120308,,,A*73
+$GPRMC,100945.00,A,5159.11932,N,00423.70698,E,0.010,,120308,,,A*75
+$GPRMC,100946.00,A,5159.11930,N,00423.70699,E,0.040,300.45,120308,,,A*6C
+$GPRMC,100947.00,A,5159.11931,N,00423.70700,E,0.007,,120308,,,A*72
+$GPRMC,100948.00,A,5159.11932,N,00423.70701,E,0.029,303.13,120308,,,A*6F
+$GPRMC,100949.00,A,5159.11933,N,00423.70701,E,0.015,,120308,,,A*7C
+$GPRMC,100950.00,A,5159.11935,N,00423.70701,E,0.011,,120308,,,A*76
+$GPRMC,100951.00,A,5159.11934,N,00423.70700,E,0.028,305.75,120308,,,A*67
+$GPRMC,100952.00,A,5159.11934,N,00423.70698,E,0.008,,120308,,,A*7C
+$GPRMC,100953.00,A,5159.11935,N,00423.70695,E,0.019,,120308,,,A*71
+$GPRMC,100954.00,A,5159.11934,N,00423.70693,E,0.010,,120308,,,A*78
+$GPRMC,100955.00,A,5159.11933,N,00423.70693,E,0.003,,120308,,,A*7C
+$GPRMC,100956.00,A,5159.11933,N,00423.70693,E,0.029,308.24,120308,,,A*64
+$GPRMC,100957.00,A,5159.11933,N,00423.70693,E,0.017,,120308,,,A*7B
+$GPRMC,100958.00,A,5159.11932,N,00423.70693,E,0.005,,120308,,,A*76
+$GPRMC,100959.00,A,5159.11929,N,00423.70693,E,0.007,,120308,,,A*7F
+$GPRMC,101000.00,A,5159.11927,N,00423.70693,E,0.059,307.50,120308,,,A*61
+$GPRMC,101001.00,A,5159.11928,N,00423.70674,E,0.611,307.05,120308,,,A*6C
+$GPRMC,101002.00,A,5159.11939,N,00423.70624,E,1.831,306.60,120308,,,A*65
+$GPRMC,101003.00,A,5159.11973,N,00423.70519,E,3.587,299.91,120308,,,A*6C
+$GPRMC,101004.00,A,5159.12037,N,00423.70338,E,5.723,302.51,120308,,,A*61
+$GPRMC,101005.00,A,5159.12157,N,00423.70101,E,7.933,314.18,120308,,,A*68
+$GPRMC,101006.00,A,5159.12347,N,00423.69854,E,9.541,326.28,120308,,,A*6C
+$GPRMC,101007.00,A,5159.12604,N,00423.69658,E,11.057,339.54,120308,,,A*53
+$GPRMC,101008.00,A,5159.12928,N,00423.69485,E,13.329,342.25,120308,,,A*5D
+$GPRMC,101009.00,A,5159.13264,N,00423.69320,E,11.891,342.51,120308,,,A*5F
+$GPRMC,101010.00,A,5159.13513,N,00423.69199,E,6.956,342.53,120308,,,A*6E
+$GPRMC,101011.00,A,5159.13667,N,00423.69128,E,4.772,342.08,120308,,,A*61
+$GPRMC,101012.00,A,5159.13793,N,00423.69068,E,4.882,341.55,120308,,,A*66
+$GPRMC,101013.00,A,5159.13938,N,00423.68956,E,6.838,329.04,120308,,,A*64
+$GPRMC,101014.00,A,5159.14111,N,00423.68725,E,9.586,312.54,120308,,,A*67
+$GPRMC,101015.00,A,5159.14281,N,00423.68304,E,12.800,296.52,120308,,,A*59
+$GPRMC,101016.00,A,5159.14438,N,00423.67694,E,16.240,289.89,120308,,,A*5F
+$GPRMC,101017.00,A,5159.14594,N,00423.66953,E,18.141,288.78,120308,,,A*5F
+$GPRMC,101018.00,A,5159.14755,N,00423.66164,E,18.338,287.84,120308,,,A*53
+$GPRMC,101019.00,A,5159.14907,N,00423.65374,E,18.112,287.27,120308,,,A*58
+$GPRMC,101020.00,A,5159.15070,N,00423.64605,E,17.653,290.68,120308,,,A*58
+$GPRMC,101021.00,A,5159.15292,N,00423.63896,E,17.792,303.08,120308,,,A*55
+$GPRMC,101022.00,A,5159.15628,N,00423.63282,E,18.893,319.22,120308,,,A*5E
+$GPRMC,101023.00,A,5159.16087,N,00423.62804,E,20.417,333.87,120308,,,A*56
+$GPRMC,101024.00,A,5159.16640,N,00423.62438,E,22.397,340.89,120308,,,A*58
+$GPRMC,101025.00,A,5159.17263,N,00423.62103,E,24.422,342.14,120308,,,A*59
+$GPRMC,101026.00,A,5159.17943,N,00423.61755,E,26.548,342.67,120308,,,A*5E
+$GPRMC,101027.00,A,5159.18685,N,00423.61399,E,28.753,343.76,120308,,,A*56
+$GPRMC,101028.00,A,5159.19489,N,00423.61037,E,30.872,344.72,120308,,,A*57
+$GPRMC,101029.00,A,5159.20354,N,00423.60660,E,32.919,344.95,120308,,,A*59
+$GPRMC,101030.00,A,5159.21281,N,00423.60234,E,35.410,344.10,120308,,,A*52
+$GPRMC,101031.00,A,5159.22268,N,00423.59778,E,37.531,344.06,120308,,,A*57
+$GPRMC,101032.00,A,5159.23306,N,00423.59312,E,38.838,345.03,120308,,,A*5B
+$GPRMC,101033.00,A,5159.24388,N,00423.58857,E,40.542,345.79,120308,,,A*52
+$GPRMC,101034.00,A,5159.25511,N,00423.58388,E,41.650,345.49,120308,,,A*59
+$GPRMC,101035.00,A,5159.26635,N,00423.57917,E,41.073,345.40,120308,,,A*53
+$GPRMC,101036.00,A,5159.27739,N,00423.57450,E,40.126,345.46,120308,,,A*54
+$GPRMC,101037.00,A,5159.28828,N,00423.56990,E,39.681,345.26,120308,,,A*57
+$GPRMC,101038.00,A,5159.29911,N,00423.56525,E,39.847,345.00,120308,,,A*50
+$GPRMC,101039.00,A,5159.30988,N,00423.56054,E,39.928,344.93,120308,,,A*59
+$GPRMC,101040.00,A,5159.32073,N,00423.55582,E,39.904,345.08,120308,,,A*58
+$GPRMC,101041.00,A,5159.33149,N,00423.55115,E,39.604,345.14,120308,,,A*58
+$GPRMC,101042.00,A,5159.34207,N,00423.54658,E,38.925,345.51,120308,,,A*56
+$GPRMC,101043.00,A,5159.35258,N,00423.54215,E,38.812,345.54,120308,,,A*51
+$GPRMC,101044.00,A,5159.36311,N,00423.53759,E,38.698,345.18,120308,,,A*57
+$GPRMC,101045.00,A,5159.37362,N,00423.53284,E,39.377,344.93,120308,,,A*51
+$GPRMC,101046.00,A,5159.38450,N,00423.52812,E,40.359,345.03,120308,,,A*55
+$GPRMC,101047.00,A,5159.39549,N,00423.52326,E,41.244,345.11,120308,,,A*5F
+$GPRMC,101048.00,A,5159.40685,N,00423.51845,E,41.643,345.24,120308,,,A*55
+$GPRMC,101049.00,A,5159.41812,N,00423.51351,E,41.696,345.07,120308,,,A*52
+$GPRMC,101050.00,A,5159.42958,N,00423.50867,E,41.642,345.06,120308,,,A*51
+$GPRMC,101051.00,A,5159.44096,N,00423.50395,E,41.648,345.25,120308,,,A*50
+$GPRMC,101052.00,A,5159.45239,N,00423.49927,E,41.802,345.43,120308,,,A*5E
+$GPRMC,101053.00,A,5159.46386,N,00423.49455,E,42.437,345.70,120308,,,A*58
+$GPRMC,101054.00,A,5159.47533,N,00423.48973,E,42.518,345.78,120308,,,A*5A
+$GPRMC,101055.00,A,5159.48651,N,00423.48473,E,41.718,345.09,120308,,,A*59
+$GPRMC,101056.00,A,5159.49747,N,00423.47988,E,40.734,345.54,120308,,,A*5C
+$GPRMC,101057.00,A,5159.50826,N,00423.47529,E,39.928,345.71,120308,,,A*50
+$GPRMC,101058.00,A,5159.51901,N,00423.47115,E,39.097,347.01,120308,,,A*59
+$GPRMC,101059.00,A,5159.52960,N,00423.46739,E,38.432,347.56,120308,,,A*5D
+$GPRMC,101100.00,A,5159.53996,N,00423.46397,E,38.010,348.49,120308,,,A*5D
+$GPRMC,101101.00,A,5159.55031,N,00423.46088,E,37.768,349.90,120308,,,A*51
+$GPRMC,101102.00,A,5159.56071,N,00423.45822,E,37.793,351.02,120308,,,A*58
+$GPRMC,101103.00,A,5159.57118,N,00423.45568,E,38.184,351.05,120308,,,A*5D
+$GPRMC,101104.00,A,5159.58169,N,00423.45314,E,38.464,351.12,120308,,,A*53
+$GPRMC,101105.00,A,5159.59220,N,00423.45048,E,38.121,350.30,120308,,,A*52
+$GPRMC,101106.00,A,5159.60264,N,00423.44754,E,38.148,349.45,120308,,,A*55
+$GPRMC,101107.00,A,5159.61308,N,00423.44427,E,38.552,348.46,120308,,,A*54
+$GPRMC,101108.00,A,5159.62361,N,00423.44076,E,38.858,348.14,120308,,,A*57
+$GPRMC,101109.00,A,5159.63422,N,00423.43726,E,38.934,348.64,120308,,,A*5E
+$GPRMC,101110.00,A,5159.64482,N,00423.43400,E,38.699,349.58,120308,,,A*5A
+$GPRMC,101111.00,A,5159.65534,N,00423.43113,E,37.872,350.85,120308,,,A*5D
+$GPRMC,101112.00,A,5159.66555,N,00423.42876,E,36.328,352.06,120308,,,A*5D
+$GPRMC,101113.00,A,5159.67534,N,00423.42670,E,34.713,352.28,120308,,,A*50
+$GPRMC,101114.00,A,5159.68464,N,00423.42473,E,33.023,352.34,120308,,,A*53
+$GPRMC,101115.00,A,5159.69350,N,00423.42304,E,31.476,353.76,120308,,,A*55
+$GPRMC,101116.00,A,5159.70200,N,00423.42184,E,29.932,355.53,120308,,,A*55
+$GPRMC,101117.00,A,5159.70997,N,00423.42120,E,27.866,357.54,120308,,,A*54
+$GPRMC,101118.00,A,5159.71727,N,00423.42100,E,25.165,359.64,120308,,,A*58
+$GPRMC,101119.00,A,5159.72367,N,00423.42122,E,21.176,1.20,120308,,,A*52
+$GPRMC,101120.00,A,5159.72885,N,00423.42162,E,16.344,2.52,120308,,,A*5A
+$GPRMC,101121.00,A,5159.73255,N,00423.42200,E,11.086,2.77,120308,,,A*57
+$GPRMC,101122.00,A,5159.73486,N,00423.42232,E,6.304,3.60,120308,,,A*65
+$GPRMC,101123.00,A,5159.73597,N,00423.42263,E,2.866,3.54,120308,,,A*6D
+$GPRMC,101124.00,A,5159.73634,N,00423.42288,E,0.940,3.59,120308,,,A*6F
+$GPRMC,101125.00,A,5159.73635,N,00423.42305,E,0.015,,120308,,,A*73
+$GPRMC,101126.00,A,5159.73623,N,00423.42316,E,0.014,,120308,,,A*74
+$GPRMC,101127.00,A,5159.73611,N,00423.42329,E,0.039,8.80,120308,,,A*69
+$GPRMC,101128.00,A,5159.73604,N,00423.42338,E,0.009,,120308,,,A*7F
+$GPRMC,101129.00,A,5159.73592,N,00423.42352,E,0.208,19.27,120308,,,A*5E
+$GPRMC,101130.00,A,5159.73581,N,00423.42364,E,0.056,23.81,120308,,,A*5D
+$GPRMC,101131.00,A,5159.73573,N,00423.42375,E,0.010,,120308,,,A*75
+$GPRMC,101132.00,A,5159.73564,N,00423.42382,E,0.020,18.71,120308,,,A*5A
+$GPRMC,101133.00,A,5159.73559,N,00423.42389,E,0.036,17.78,120308,,,A*5F
+$GPRMC,101134.00,A,5159.73563,N,00423.42398,E,0.541,16.88,120308,,,A*5A
+$GPRMC,101135.00,A,5159.73578,N,00423.42408,E,1.117,16.11,120308,,,A*59
+$GPRMC,101136.00,A,5159.73629,N,00423.42420,E,3.111,3.86,120308,,,A*69
+$GPRMC,101137.00,A,5159.73773,N,00423.42441,E,7.583,4.18,120308,,,A*6A
+$GPRMC,101138.00,A,5159.74039,N,00423.42482,E,11.956,5.54,120308,,,A*5E
+$GPRMC,101139.00,A,5159.74410,N,00423.42551,E,14.684,6.46,120308,,,A*5A
+$GPRMC,101140.00,A,5159.74832,N,00423.42644,E,16.068,7.99,120308,,,A*5A
+$GPRMC,101141.00,A,5159.75307,N,00423.42774,E,18.360,9.78,120308,,,A*51
+$GPRMC,101142.00,A,5159.75835,N,00423.42930,E,20.547,10.84,120308,,,A*65
+$GPRMC,101143.00,A,5159.76419,N,00423.43138,E,22.936,13.54,120308,,,A*62
+$GPRMC,101144.00,A,5159.77045,N,00423.43413,E,24.078,16.26,120308,,,A*60
+$GPRMC,101145.00,A,5159.77695,N,00423.43729,E,24.937,16.78,120308,,,A*69
+$GPRMC,101146.00,A,5159.78381,N,00423.44019,E,26.182,12.50,120308,,,A*6C
+$GPRMC,101147.00,A,5159.79106,N,00423.44188,E,26.756,4.55,120308,,,A*55
+$GPRMC,101148.00,A,5159.79853,N,00423.44174,E,26.675,354.72,120308,,,A*53
+$GPRMC,101149.00,A,5159.80586,N,00423.43939,E,26.912,344.89,120308,,,A*5C
+$GPRMC,101150.00,A,5159.81286,N,00423.43518,E,26.866,335.71,120308,,,A*5E
+$GPRMC,101151.00,A,5159.81939,N,00423.42920,E,26.861,326.88,120308,,,A*55
+$GPRMC,101152.00,A,5159.82508,N,00423.42143,E,27.128,316.22,120308,,,A*50
+$GPRMC,101153.00,A,5159.82976,N,00423.41168,E,28.502,306.62,120308,,,A*58
+$GPRMC,101154.00,A,5159.83377,N,00423.40022,E,29.676,296.39,120308,,,A*5C
+$GPRMC,101155.00,A,5159.83676,N,00423.38726,E,31.016,286.79,120308,,,A*59
+$GPRMC,101156.00,A,5159.83841,N,00423.37316,E,32.154,277.23,120308,,,A*5D
+$GPRMC,101157.00,A,5159.83850,N,00423.35844,E,32.650,266.37,120308,,,A*54
+$GPRMC,101158.00,A,5159.83695,N,00423.34366,E,32.837,256.54,120308,,,A*5F
+$GPRMC,101159.00,A,5159.83403,N,00423.32939,E,32.841,248.71,120308,,,A*5C
+$GPRMC,101200.00,A,5159.83019,N,00423.31593,E,31.963,243.25,120308,,,A*5B
+$GPRMC,101201.00,A,5159.82576,N,00423.30349,E,30.917,238.47,120308,,,A*5D
+$GPRMC,101202.00,A,5159.82099,N,00423.29221,E,29.150,234.49,120308,,,A*5C
+$GPRMC,101203.00,A,5159.81607,N,00423.28234,E,26.520,228.92,120308,,,A*5D
+$GPRMC,101204.00,A,5159.81078,N,00423.27474,E,23.977,215.94,120308,,,A*5A
+$GPRMC,101205.00,A,5159.80490,N,00423.27028,E,22.891,196.56,120308,,,A*5B
+$GPRMC,101206.00,A,5159.79856,N,00423.26906,E,22.898,178.52,120308,,,A*51
+$GPRMC,101207.00,A,5159.79202,N,00423.27044,E,23.757,168.24,120308,,,A*58
+$GPRMC,101208.00,A,5159.78542,N,00423.27322,E,24.635,165.13,120308,,,A*5D
+$GPRMC,101209.00,A,5159.77871,N,00423.27635,E,24.646,164.25,120308,,,A*5D
+$GPRMC,101210.00,A,5159.77216,N,00423.27955,E,23.657,164.08,120308,,,A*5F
+$GPRMC,101211.00,A,5159.76604,N,00423.28247,E,21.578,164.44,120308,,,A*5B
+$GPRMC,101212.00,A,5159.76059,N,00423.28500,E,18.461,164.45,120308,,,A*50
+$GPRMC,101213.00,A,5159.75623,N,00423.28704,E,13.801,164.40,120308,,,A*5B
+$GPRMC,101214.00,A,5159.75308,N,00423.28853,E,9.768,164.26,120308,,,A*66
+$GPRMC,101215.00,A,5159.75117,N,00423.28944,E,4.925,163.77,120308,,,A*65
+$GPRMC,101216.00,A,5159.75038,N,00423.28985,E,1.610,163.73,120308,,,A*6F
+$GPRMC,101217.00,A,5159.75017,N,00423.28999,E,0.633,163.59,120308,,,A*66
+$GPRMC,101218.00,A,5159.75014,N,00423.29001,E,0.034,164.20,120308,,,A*6B
+$GPRMC,101219.00,A,5159.75019,N,00423.29000,E,0.004,,120308,,,A*7A
+$GPRMC,101220.00,A,5159.75024,N,00423.29001,E,0.012,,120308,,,A*78
+$GPRMC,101221.00,A,5159.75029,N,00423.29001,E,0.000,,120308,,,A*77
+$GPRMC,101222.00,A,5159.75033,N,00423.29001,E,0.013,,120308,,,A*7D
+$GPRMC,101223.00,A,5159.75036,N,00423.29000,E,0.072,165.66,120308,,,A*63
+$GPRMC,101224.00,A,5159.75040,N,00423.28999,E,0.016,,120308,,,A*73
+$GPRMC,101225.00,A,5159.75043,N,00423.29000,E,0.039,165.65,120308,,,A*6B
+$GPRMC,101226.00,A,5159.75047,N,00423.29003,E,0.043,165.88,120308,,,A*61
+$GPRMC,101227.00,A,5159.75049,N,00423.29006,E,0.042,165.43,120308,,,A*6D
+$GPRMC,101228.00,A,5159.75034,N,00423.29018,E,1.225,165.26,120308,,,A*66
+$GPRMC,101229.00,A,5159.74941,N,00423.29072,E,5.882,161.69,120308,,,A*6D
+$GPRMC,101230.00,A,5159.74716,N,00423.29205,E,11.038,160.30,120308,,,A*5A
+$GPRMC,101231.00,A,5159.74394,N,00423.29399,E,13.110,158.81,120308,,,A*59
+$GPRMC,101232.00,A,5159.74009,N,00423.29652,E,16.107,157.77,120308,,,A*5A
+$GPRMC,101233.00,A,5159.73534,N,00423.29979,E,20.085,156.50,120308,,,A*5B
+$GPRMC,101234.00,A,5159.72992,N,00423.30377,E,21.852,155.33,120308,,,A*54
+$GPRMC,101235.00,A,5159.72402,N,00423.30806,E,23.516,156.23,120308,,,A*51
+$GPRMC,101236.00,A,5159.71757,N,00423.31271,E,26.103,157.16,120308,,,A*5B
+$GPRMC,101237.00,A,5159.71042,N,00423.31769,E,28.703,157.07,120308,,,A*5D
+$GPRMC,101238.00,A,5159.70258,N,00423.32310,E,31.401,157.23,120308,,,A*5C
+$GPRMC,101239.00,A,5159.69404,N,00423.32886,E,33.776,157.44,120308,,,A*5E
+$GPRMC,101240.00,A,5159.68510,N,00423.33480,E,34.782,157.56,120308,,,A*51
+$GPRMC,101241.00,A,5159.67580,N,00423.34115,E,36.671,157.26,120308,,,A*50
+$GPRMC,101242.00,A,5159.66600,N,00423.34779,E,38.548,157.09,120308,,,A*5F
+$GPRMC,101243.00,A,5159.65578,N,00423.35469,E,39.807,157.61,120308,,,A*5B
+$GPRMC,101244.00,A,5159.64524,N,00423.36168,E,40.802,157.99,120308,,,A*5F
+$GPRMC,101245.00,A,5159.63445,N,00423.36870,E,41.649,158.45,120308,,,A*51
+$GPRMC,101246.00,A,5159.62341,N,00423.37570,E,42.510,158.98,120308,,,A*50
+$GPRMC,101247.00,A,5159.61210,N,00423.38268,E,43.299,159.15,120308,,,A*55
+$GPRMC,101248.00,A,5159.60062,N,00423.38968,E,43.803,159.51,120308,,,A*5E
+$GPRMC,101249.00,A,5159.58900,N,00423.39672,E,44.288,159.55,120308,,,A*56
+$GPRMC,101250.00,A,5159.57728,N,00423.40381,E,44.746,159.59,120308,,,A*59
+$GPRMC,101251.00,A,5159.56544,N,00423.41100,E,45.197,159.50,120308,,,A*59
+$GPRMC,101252.00,A,5159.55350,N,00423.41826,E,45.622,159.57,120308,,,A*59
+$GPRMC,101253.00,A,5159.54144,N,00423.42547,E,46.038,160.07,120308,,,A*56
+$GPRMC,101254.00,A,5159.52926,N,00423.43252,E,46.277,160.77,120308,,,A*57
+$GPRMC,101255.00,A,5159.51700,N,00423.43940,E,46.358,161.22,120308,,,A*5A
+$GPRMC,101256.00,A,5159.50465,N,00423.44606,E,46.728,161.98,120308,,,A*50
+$GPRMC,101257.00,A,5159.49212,N,00423.45259,E,47.440,162.43,120308,,,A*59
+$GPRMC,101258.00,A,5159.47936,N,00423.45899,E,48.135,163.06,120308,,,A*5B
+$GPRMC,101259.00,A,5159.46641,N,00423.46535,E,48.626,163.00,120308,,,A*5F
+$GPRMC,101300.00,A,5159.45335,N,00423.47180,E,49.102,162.88,120308,,,A*5D
+$GPRMC,101301.00,A,5159.44023,N,00423.47836,E,49.347,162.78,120308,,,A*51
+$GPRMC,101302.00,A,5159.42707,N,00423.48482,E,49.367,163.46,120308,,,A*57
+$GPRMC,101303.00,A,5159.41385,N,00423.49099,E,49.421,164.23,120308,,,A*55
+$GPRMC,101304.00,A,5159.40054,N,00423.49692,E,49.653,164.92,120308,,,A*5C
+$GPRMC,101305.00,A,5159.38702,N,00423.50269,E,50.555,165.39,120308,,,A*53
+$GPRMC,101306.00,A,5159.37338,N,00423.50845,E,50.552,165.24,120308,,,A*5D
+$GPRMC,101307.00,A,5159.35978,N,00423.51427,E,50.137,165.12,120308,,,A*5B
+$GPRMC,101308.00,A,5159.34612,N,00423.52008,E,50.709,165.37,120308,,,A*50
+$GPRMC,101309.00,A,5159.33238,N,00423.52591,E,51.021,165.28,120308,,,A*5D
+$GPRMC,101310.00,A,5159.31860,N,00423.53181,E,51.138,165.08,120308,,,A*5F
+$GPRMC,101311.00,A,5159.30477,N,00423.53771,E,51.252,165.15,120308,,,A*5F
+$GPRMC,101312.00,A,5159.29093,N,00423.54362,E,51.416,165.17,120308,,,A*5F
+$GPRMC,101313.00,A,5159.27702,N,00423.54954,E,51.706,165.01,120308,,,A*55
+$GPRMC,101314.00,A,5159.26307,N,00423.55556,E,51.818,164.83,120308,,,A*56
+$GPRMC,101315.00,A,5159.24911,N,00423.56152,E,51.767,165.26,120308,,,A*52
+$GPRMC,101316.00,A,5159.23519,N,00423.56734,E,51.570,165.51,120308,,,A*50
+$GPRMC,101317.00,A,5159.22136,N,00423.57311,E,51.095,165.25,120308,,,A*56
+$GPRMC,101318.00,A,5159.20752,N,00423.57889,E,51.373,165.53,120308,,,A*5F
+$GPRMC,101319.00,A,5159.19366,N,00423.58462,E,51.206,165.37,120308,,,A*50
+$GPRMC,101320.00,A,5159.17986,N,00423.59047,E,51.092,165.13,120308,,,A*5B
+$GPRMC,101321.00,A,5159.16611,N,00423.59637,E,51.043,165.11,120308,,,A*55
+$GPRMC,101322.00,A,5159.15234,N,00423.60227,E,51.121,165.02,120308,,,A*5E
+$GPRMC,101323.00,A,5159.13858,N,00423.60820,E,51.122,164.98,120308,,,A*55
+$GPRMC,101324.00,A,5159.12483,N,00423.61413,E,51.137,165.09,120308,,,A*59
+$GPRMC,101325.00,A,5159.11108,N,00423.62005,E,51.245,165.16,120308,,,A*55
+$GPRMC,101326.00,A,5159.09727,N,00423.62596,E,51.508,165.27,120308,,,A*57
+$GPRMC,101327.00,A,5159.08342,N,00423.63187,E,51.650,165.29,120308,,,A*55
+$GPRMC,101328.00,A,5159.06958,N,00423.63780,E,51.526,165.14,120308,,,A*58
+$GPRMC,101329.00,A,5159.05576,N,00423.64368,E,51.408,165.35,120308,,,A*51
+$GPRMC,101330.00,A,5159.04199,N,00423.64954,E,51.162,165.14,120308,,,A*52
+$GPRMC,101331.00,A,5159.02829,N,00423.65540,E,50.995,165.17,120308,,,A*5D
+$GPRMC,101332.00,A,5159.01466,N,00423.66124,E,50.680,165.12,120308,,,A*51
+$GPRMC,101333.00,A,5159.00109,N,00423.66699,E,50.460,165.35,120308,,,A*55
+$GPRMC,101334.00,A,5158.98762,N,00423.67273,E,50.062,165.07,120308,,,A*5F
+$GPRMC,101335.00,A,5158.97424,N,00423.67852,E,49.745,165.06,120308,,,A*52
+$GPRMC,101336.00,A,5158.96098,N,00423.68410,E,49.409,165.13,120308,,,A*59
+$GPRMC,101337.00,A,5158.94779,N,00423.68973,E,49.000,165.33,120308,,,A*55
+$GPRMC,101338.00,A,5158.93469,N,00423.69528,E,48.601,165.48,120308,,,A*56
+$GPRMC,101339.00,A,5158.92171,N,00423.70077,E,48.384,165.23,120308,,,A*58
+$GPRMC,101340.00,A,5158.90877,N,00423.70620,E,48.223,165.57,120308,,,A*50
+$GPRMC,101341.00,A,5158.89592,N,00423.71140,E,47.775,165.95,120308,,,A*58
+$GPRMC,101342.00,A,5158.88314,N,00423.71667,E,47.527,165.60,120308,,,A*5F
+$GPRMC,101343.00,A,5158.87056,N,00423.72168,E,46.838,165.54,120308,,,A*5A
+$GPRMC,101344.00,A,5158.85811,N,00423.72670,E,46.204,165.15,120308,,,A*5A
+$GPRMC,101345.00,A,5158.84586,N,00423.73188,E,45.550,165.06,120308,,,A*5F
+$GPRMC,101346.00,A,5158.83377,N,00423.73705,E,44.883,165.04,120308,,,A*50
+$GPRMC,101347.00,A,5158.82181,N,00423.74217,E,44.590,165.13,120308,,,A*53
+$GPRMC,101348.00,A,5158.80984,N,00423.74727,E,44.820,165.51,120308,,,A*55
+$GPRMC,101349.00,A,5158.79776,N,00423.75234,E,45.232,165.47,120308,,,A*58
+$GPRMC,101350.00,A,5158.78554,N,00423.75753,E,45.689,165.25,120308,,,A*57
+$GPRMC,101351.00,A,5158.77331,N,00423.76285,E,45.600,164.92,120308,,,A*5D
+$GPRMC,101352.00,A,5158.76117,N,00423.76822,E,45.108,164.89,120308,,,A*5B
+$GPRMC,101353.00,A,5158.74918,N,00423.77352,E,44.531,164.81,120308,,,A*55
+$GPRMC,101354.00,A,5158.73733,N,00423.77866,E,43.893,165.40,120308,,,A*50
+$GPRMC,101355.00,A,5158.72560,N,00423.78362,E,43.537,165.55,120308,,,A*53
+$GPRMC,101356.00,A,5158.71385,N,00423.78852,E,43.837,165.55,120308,,,A*5B
+$GPRMC,101357.00,A,5158.70205,N,00423.79352,E,44.178,165.55,120308,,,A*5D
+$GPRMC,101358.00,A,5158.69015,N,00423.79856,E,44.680,165.61,120308,,,A*51
+$GPRMC,101359.00,A,5158.67811,N,00423.80368,E,45.062,165.24,120308,,,A*58
+$GPRMC,101400.00,A,5158.66599,N,00423.80893,E,45.346,165.00,120308,,,A*53
+$GPRMC,101401.00,A,5158.65382,N,00423.81424,E,45.532,165.14,120308,,,A*5C
+$GPRMC,101402.00,A,5158.64161,N,00423.81950,E,45.474,165.22,120308,,,A*59
+$GPRMC,101403.00,A,5158.62944,N,00423.82478,E,45.371,165.02,120308,,,A*55
+$GPRMC,101404.00,A,5158.61727,N,00423.83004,E,45.325,165.16,120308,,,A*50
+$GPRMC,101405.00,A,5158.60508,N,00423.83529,E,45.336,165.20,120308,,,A*52
+$GPRMC,101406.00,A,5158.59293,N,00423.84051,E,45.158,165.28,120308,,,A*51
+$GPRMC,101407.00,A,5158.58081,N,00423.84570,E,45.034,165.30,120308,,,A*54
+$GPRMC,101408.00,A,5158.56873,N,00423.85086,E,44.896,165.15,120308,,,A*5B
+$GPRMC,101409.00,A,5158.55674,N,00423.85608,E,44.592,164.90,120308,,,A*55
+$GPRMC,101410.00,A,5158.54483,N,00423.86122,E,44.308,165.43,120308,,,A*50
+$GPRMC,101411.00,A,5158.53298,N,00423.86622,E,44.065,165.44,120308,,,A*52
+$GPRMC,101412.00,A,5158.52118,N,00423.87120,E,43.877,165.50,120308,,,A*56
+$GPRMC,101413.00,A,5158.50945,N,00423.87620,E,43.602,165.19,120308,,,A*53
+$GPRMC,101414.00,A,5158.49780,N,00423.88123,E,43.394,165.12,120308,,,A*51
+$GPRMC,101415.00,A,5158.48617,N,00423.88625,E,43.382,165.19,120308,,,A*53
+$GPRMC,101416.00,A,5158.47455,N,00423.89124,E,43.244,165.24,120308,,,A*59
+$GPRMC,101417.00,A,5158.46300,N,00423.89626,E,43.010,164.90,120308,,,A*56
+$GPRMC,101418.00,A,5158.45150,N,00423.90128,E,42.855,165.07,120308,,,A*5B
+$GPRMC,101419.00,A,5158.44006,N,00423.90622,E,42.575,165.23,120308,,,A*5D
+$GPRMC,101420.00,A,5158.42867,N,00423.91106,E,42.350,165.50,120308,,,A*5B
+$GPRMC,101421.00,A,5158.41730,N,00423.91587,E,42.420,165.28,120308,,,A*56
+$GPRMC,101422.00,A,5158.40593,N,00423.92074,E,42.486,165.13,120308,,,A*51
+$GPRMC,101423.00,A,5158.39456,N,00423.92566,E,42.484,165.05,120308,,,A*55
+$GPRMC,101424.00,A,5158.38315,N,00423.93055,E,42.611,165.32,120308,,,A*5D
+$GPRMC,101425.00,A,5158.37171,N,00423.93539,E,42.725,165.49,120308,,,A*56
+$GPRMC,101426.00,A,5158.36021,N,00423.94023,E,42.968,165.38,120308,,,A*58
+$GPRMC,101427.00,A,5158.34868,N,00423.94519,E,43.070,165.03,120308,,,A*5B
+$GPRMC,101428.00,A,5158.33715,N,00423.95021,E,42.942,164.90,120308,,,A*5B
+$GPRMC,101429.00,A,5158.32567,N,00423.95524,E,42.766,164.91,120308,,,A*55
+$GPRMC,101430.00,A,5158.31426,N,00423.96030,E,42.487,164.55,120308,,,A*5D
+$GPRMC,101431.00,A,5158.30290,N,00423.96543,E,42.475,164.28,120308,,,A*50
+$GPRMC,101432.00,A,5158.29159,N,00423.97077,E,42.346,163.39,120308,,,A*5E
+$GPRMC,101433.00,A,5158.28038,N,00423.97647,E,42.138,161.97,120308,,,A*50
+$GPRMC,101434.00,A,5158.26931,N,00423.98259,E,41.792,160.65,120308,,,A*54
+$GPRMC,101435.00,A,5158.25842,N,00423.98900,E,41.451,159.83,120308,,,A*5A
+$GPRMC,101436.00,A,5158.24769,N,00423.99572,E,41.281,158.28,120308,,,A*5D
+$GPRMC,101437.00,A,5158.23711,N,00424.00281,E,41.016,157.07,120308,,,A*56
+$GPRMC,101438.00,A,5158.22667,N,00424.01021,E,40.935,156.24,120308,,,A*58
+$GPRMC,101439.00,A,5158.21632,N,00424.01792,E,41.016,154.99,120308,,,A*58
+$GPRMC,101440.00,A,5158.20602,N,00424.02592,E,41.193,154.19,120308,,,A*51
+$GPRMC,101441.00,A,5158.19573,N,00424.03406,E,41.262,154.17,120308,,,A*51
+$GPRMC,101442.00,A,5158.18545,N,00424.04219,E,41.023,154.22,120308,,,A*58
+$GPRMC,101443.00,A,5158.17524,N,00424.05022,E,40.690,154.37,120308,,,A*51
+$GPRMC,101444.00,A,5158.16511,N,00424.05815,E,40.294,154.25,120308,,,A*5E
+$GPRMC,101445.00,A,5158.15513,N,00424.06598,E,39.541,154.25,120308,,,A*54
+$GPRMC,101446.00,A,5158.14540,N,00424.07362,E,38.312,154.38,120308,,,A*5F
+$GPRMC,101447.00,A,5158.13610,N,00424.08086,E,36.043,154.20,120308,,,A*59
+$GPRMC,101448.00,A,5158.12744,N,00424.08766,E,33.571,154.19,120308,,,A*55
+$GPRMC,101449.00,A,5158.11945,N,00424.09395,E,30.829,154.10,120308,,,A*5B
+$GPRMC,101450.00,A,5158.11212,N,00424.09975,E,28.677,153.95,120308,,,A*58
+$GPRMC,101451.00,A,5158.10523,N,00424.10521,E,27.062,154.10,120308,,,A*5F
+$GPRMC,101452.00,A,5158.09870,N,00424.11034,E,25.973,154.26,120308,,,A*51
+$GPRMC,101453.00,A,5158.09236,N,00424.11526,E,25.334,154.57,120308,,,A*51
+$GPRMC,101454.00,A,5158.08615,N,00424.12002,E,24.957,154.49,120308,,,A*53
+$GPRMC,101455.00,A,5158.08003,N,00424.12473,E,24.447,154.42,120308,,,A*56
+$GPRMC,101456.00,A,5158.07405,N,00424.12941,E,23.909,154.15,120308,,,A*56
+$GPRMC,101457.00,A,5158.06820,N,00424.13398,E,23.386,154.10,120308,,,A*5A
+$GPRMC,101458.00,A,5158.06248,N,00424.13846,E,22.882,153.90,120308,,,A*58
+$GPRMC,101459.00,A,5158.05689,N,00424.14285,E,22.384,154.10,120308,,,A*53
+$GPRMC,101500.00,A,5158.05141,N,00424.14711,E,21.893,154.10,120308,,,A*5B
+$GPRMC,101501.00,A,5158.04610,N,00424.15127,E,21.116,154.08,120308,,,A*57
+$GPRMC,101502.00,A,5158.04103,N,00424.15522,E,20.018,154.23,120308,,,A*57
+$GPRMC,101503.00,A,5158.03623,N,00424.15894,E,19.005,154.49,120308,,,A*5E
+$GPRMC,101504.00,A,5158.03161,N,00424.16246,E,18.388,154.62,120308,,,A*50
+$GPRMC,101505.00,A,5158.02710,N,00424.16590,E,18.025,154.43,120308,,,A*5B
+$GPRMC,101506.00,A,5158.02268,N,00424.16928,E,17.710,154.55,120308,,,A*54
+$GPRMC,101507.00,A,5158.01829,N,00424.17264,E,17.915,154.44,120308,,,A*50
+$GPRMC,101508.00,A,5158.01386,N,00424.17607,E,17.990,154.36,120308,,,A*58
+$GPRMC,101509.00,A,5158.00943,N,00424.17951,E,17.894,154.22,120308,,,A*57
+$GPRMC,101510.00,A,5158.00504,N,00424.18296,E,17.755,154.17,120308,,,A*5B
+$GPRMC,101511.00,A,5158.00069,N,00424.18637,E,17.484,154.13,120308,,,A*50
+$GPRMC,101512.00,A,5157.99642,N,00424.18979,E,17.057,154.10,120308,,,A*5F
+$GPRMC,101513.00,A,5157.99228,N,00424.19311,E,16.657,154.08,120308,,,A*5D
+$GPRMC,101514.00,A,5157.98824,N,00424.19637,E,16.321,154.22,120308,,,A*50
+$GPRMC,101515.00,A,5157.98424,N,00424.19949,E,16.034,154.40,120308,,,A*58
+$GPRMC,101516.00,A,5157.98034,N,00424.20255,E,15.783,154.36,120308,,,A*5B
+$GPRMC,101517.00,A,5157.97652,N,00424.20550,E,15.076,154.84,120308,,,A*55
+$GPRMC,101518.00,A,5157.97290,N,00424.20823,E,14.435,154.43,120308,,,A*50
+$GPRMC,101519.00,A,5157.96942,N,00424.21088,E,13.923,154.58,120308,,,A*5B
+$GPRMC,101520.00,A,5157.96600,N,00424.21346,E,13.817,154.39,120308,,,A*58
+$GPRMC,101521.00,A,5157.96260,N,00424.21613,E,13.546,154.08,120308,,,A*55
+$GPRMC,101522.00,A,5157.95933,N,00424.21871,E,12.838,153.71,120308,,,A*5E
+$GPRMC,101523.00,A,5157.95611,N,00424.22130,E,12.690,154.26,120308,,,A*56
+$GPRMC,101524.00,A,5157.95283,N,00424.22394,E,13.035,154.28,120308,,,A*54
+$GPRMC,101525.00,A,5157.94959,N,00424.22642,E,13.057,154.35,120308,,,A*5E
+$GPRMC,101526.00,A,5157.94636,N,00424.22902,E,13.160,153.87,120308,,,A*5B
+$GPRMC,101527.00,A,5157.94315,N,00424.23156,E,13.140,154.22,120308,,,A*5C
+$GPRMC,101528.00,A,5157.93995,N,00424.23407,E,13.200,154.08,120308,,,A*58
+$GPRMC,101529.00,A,5157.93673,N,00424.23651,E,13.266,153.96,120308,,,A*5F
+$GPRMC,101530.00,A,5157.93353,N,00424.23898,E,13.093,153.95,120308,,,A*50
+$GPRMC,101531.00,A,5157.93038,N,00424.24147,E,12.829,153.94,120308,,,A*5A
+$GPRMC,101532.00,A,5157.92726,N,00424.24391,E,12.560,154.17,120308,,,A*55
+$GPRMC,101533.00,A,5157.92424,N,00424.24629,E,12.159,154.12,120308,,,A*58
+$GPRMC,101534.00,A,5157.92144,N,00424.24850,E,10.936,154.05,120308,,,A*59
+$GPRMC,101535.00,A,5157.91903,N,00424.25042,E,8.938,153.80,120308,,,A*67
+$GPRMC,101536.00,A,5157.91694,N,00424.25214,E,8.362,154.19,120308,,,A*66
+$GPRMC,101537.00,A,5157.91489,N,00424.25373,E,8.366,154.22,120308,,,A*65
+$GPRMC,101538.00,A,5157.91283,N,00424.25534,E,8.371,154.22,120308,,,A*65
+$GPRMC,101539.00,A,5157.91077,N,00424.25699,E,8.341,154.38,120308,,,A*61
+$GPRMC,101540.00,A,5157.90874,N,00424.25864,E,8.333,154.45,120308,,,A*66
+$GPRMC,101541.00,A,5157.90668,N,00424.26016,E,8.324,154.63,120308,,,A*68
+$GPRMC,101542.00,A,5157.90465,N,00424.26175,E,8.383,154.47,120308,,,A*6B
+$GPRMC,101543.00,A,5157.90259,N,00424.26334,E,8.248,154.50,120308,,,A*64
+$GPRMC,101544.00,A,5157.90049,N,00424.26500,E,8.853,154.61,120308,,,A*63
+$GPRMC,101545.00,A,5157.89820,N,00424.26681,E,9.811,154.33,120308,,,A*67
+$GPRMC,101546.00,A,5157.89566,N,00424.26883,E,10.823,154.19,120308,,,A*56
+$GPRMC,101547.00,A,5157.89291,N,00424.27105,E,11.366,153.98,120308,,,A*5B
+$GPRMC,101548.00,A,5157.89004,N,00424.27336,E,11.713,153.91,120308,,,A*57
+$GPRMC,101549.00,A,5157.88711,N,00424.27575,E,12.040,153.80,120308,,,A*57
+$GPRMC,101550.00,A,5157.88408,N,00424.27824,E,12.419,153.85,120308,,,A*50
+$GPRMC,101551.00,A,5157.88094,N,00424.28078,E,12.824,153.88,120308,,,A*51
+$GPRMC,101552.00,A,5157.87773,N,00424.28335,E,13.165,154.07,120308,,,A*54
+$GPRMC,101553.00,A,5157.87444,N,00424.28595,E,13.257,154.08,120308,,,A*53
+$GPRMC,101554.00,A,5157.87121,N,00424.28856,E,12.892,154.05,120308,,,A*5F
+$GPRMC,101555.00,A,5157.86810,N,00424.29104,E,12.228,154.19,120308,,,A*5D
+$GPRMC,101556.00,A,5157.86509,N,00424.29340,E,12.015,154.37,120308,,,A*59
+$GPRMC,101557.00,A,5157.86211,N,00424.29571,E,11.857,154.46,120308,,,A*59
+$GPRMC,101558.00,A,5157.85917,N,00424.29797,E,11.757,154.34,120308,,,A*58
+$GPRMC,101559.00,A,5157.85624,N,00424.30025,E,11.721,154.69,120308,,,A*59
+$GPRMC,101600.00,A,5157.85330,N,00424.30251,E,12.024,154.54,120308,,,A*58
+$GPRMC,101601.00,A,5157.85028,N,00424.30493,E,12.434,154.27,120308,,,A*5A
+$GPRMC,101602.00,A,5157.84714,N,00424.30741,E,12.854,154.42,120308,,,A*55
+$GPRMC,101603.00,A,5157.84387,N,00424.30995,E,13.268,154.36,120308,,,A*5A
+$GPRMC,101604.00,A,5157.84050,N,00424.31254,E,13.753,154.32,120308,,,A*5A
+$GPRMC,101605.00,A,5157.83702,N,00424.31527,E,14.175,154.23,120308,,,A*5A
+$GPRMC,101606.00,A,5157.83342,N,00424.31812,E,14.677,154.23,120308,,,A*57
+$GPRMC,101607.00,A,5157.82970,N,00424.32106,E,15.181,154.07,120308,,,A*5A
+$GPRMC,101608.00,A,5157.82588,N,00424.32404,E,15.619,154.11,120308,,,A*58
+$GPRMC,101609.00,A,5157.82190,N,00424.32708,E,16.093,154.25,120308,,,A*5B
+$GPRMC,101610.00,A,5157.81783,N,00424.33016,E,16.619,154.50,120308,,,A*5B
+$GPRMC,101611.00,A,5157.81358,N,00424.33348,E,17.254,154.38,120308,,,A*52
+$GPRMC,101612.00,A,5157.80920,N,00424.33695,E,17.803,154.30,120308,,,A*50
+$GPRMC,101613.00,A,5157.80469,N,00424.34049,E,18.123,154.11,120308,,,A*56
+$GPRMC,101614.00,A,5157.80010,N,00424.34412,E,18.439,154.67,120308,,,A*5E
+$GPRMC,101615.00,A,5157.79537,N,00424.34786,E,18.938,154.19,120308,,,A*52
+$GPRMC,101616.00,A,5157.79060,N,00424.35161,E,18.841,154.34,120308,,,A*58
+$GPRMC,101617.00,A,5157.78584,N,00424.35536,E,18.911,154.49,120308,,,A*5F
+$GPRMC,101618.00,A,5157.78102,N,00424.35906,E,19.263,154.50,120308,,,D*57
+$GPRMC,101619.00,A,5157.77614,N,00424.36278,E,19.414,155.13,120308,,,A*5D
+$GPRMC,101620.00,A,5157.77113,N,00424.36666,E,20.129,154.56,120308,,,A*5D
+$GPRMC,101621.00,A,5157.76594,N,00424.37076,E,20.879,154.40,120308,,,A*5B
+$GPRMC,101622.00,A,5157.76069,N,00424.37479,E,21.078,154.43,120308,,,A*5F
+$GPRMC,101623.00,A,5157.75559,N,00424.37857,E,20.029,155.24,120308,,,A*5E
+$GPRMC,101624.00,A,5157.75053,N,00424.38237,E,20.146,154.28,120308,,,A*50
+$GPRMC,101625.00,A,5157.74549,N,00424.38632,E,20.251,154.37,120308,,,A*54
+$GPRMC,101626.00,A,5157.74020,N,00424.39064,E,20.629,154.36,120308,,,A*53
+$GPRMC,101627.00,A,5157.73494,N,00424.39476,E,20.917,154.94,120308,,,A*53
+$GPRMC,101628.00,A,5157.72945,N,00424.39912,E,21.921,154.83,120308,,,A*51
+$GPRMC,101629.00,A,5157.72364,N,00424.40370,E,23.176,154.60,120308,,,A*5C
+$GPRMC,101630.00,A,5157.71772,N,00424.40844,E,23.028,154.32,120308,,,A*55
+$GPRMC,101631.00,A,5157.71191,N,00424.41312,E,22.550,153.95,120308,,,A*57
+$GPRMC,101632.00,A,5157.70625,N,00424.41770,E,22.131,153.89,120308,,,A*53
+$GPRMC,101633.00,A,5157.70070,N,00424.42217,E,21.718,153.80,120308,,,A*54
+$GPRMC,101634.00,A,5157.69529,N,00424.42651,E,21.357,153.99,120308,,,A*53
+$GPRMC,101635.00,A,5157.68988,N,00424.43064,E,21.407,153.95,120308,,,D*5E
+$GPRMC,101636.00,A,5157.68443,N,00424.43480,E,21.880,154.41,120308,,,D*54
+$GPRMC,101637.00,A,5157.67895,N,00424.43896,E,21.896,154.28,120308,,,D*5E
+$GPRMC,101638.00,A,5157.67346,N,00424.44315,E,21.873,154.29,120308,,,D*59
+$GPRMC,101639.00,A,5157.66795,N,00424.44739,E,22.126,154.41,120308,,,D*5D
+$GPRMC,101640.00,A,5157.66232,N,00424.45169,E,22.575,154.23,120308,,,D*5F
+$GPRMC,101641.00,A,5157.65659,N,00424.45609,E,23.065,154.47,120308,,,D*52
+$GPRMC,101642.00,A,5157.65079,N,00424.46050,E,23.075,154.71,120308,,,D*58
+$GPRMC,101643.00,A,5157.64502,N,00424.46487,E,22.921,154.84,120308,,,D*5C
+$GPRMC,101644.00,A,5157.63920,N,00424.46922,E,23.101,154.82,120308,,,D*5F
+$GPRMC,101645.00,A,5157.63337,N,00424.47363,E,22.978,154.40,120308,,,D*55
+$GPRMC,101646.00,A,5157.62761,N,00424.47809,E,22.892,154.14,120308,,,D*53
+$GPRMC,101647.00,A,5157.62185,N,00424.48261,E,23.100,154.09,120308,,,D*5A
+$GPRMC,101648.00,A,5157.61601,N,00424.48716,E,23.306,153.99,120308,,,D*52
+$GPRMC,101649.00,A,5157.61012,N,00424.49179,E,23.622,154.13,120308,,,D*5F
+$GPRMC,101650.00,A,5157.60414,N,00424.49650,E,24.118,154.21,120308,,,D*50
+$GPRMC,101651.00,A,5157.59800,N,00424.50132,E,24.813,153.94,120308,,,D*52
+$GPRMC,101652.00,A,5157.59164,N,00424.50636,E,25.943,153.83,120308,,,D*5A
+$GPRMC,101653.00,A,5157.58499,N,00424.51160,E,27.038,153.85,120308,,,D*59
+$GPRMC,101654.00,A,5157.57806,N,00424.51707,E,28.176,154.15,120308,,,D*56
+$GPRMC,101655.00,A,5157.57081,N,00424.52269,E,29.435,154.46,120308,,,D*5B
+$GPRMC,101656.00,A,5157.56324,N,00424.52855,E,30.761,154.36,120308,,,D*5D
+$GPRMC,101657.00,A,5157.55532,N,00424.53468,E,32.099,154.40,120308,,,D*5E
+$GPRMC,101658.00,A,5157.54712,N,00424.54103,E,33.175,154.40,120308,,,D*5D
+$GPRMC,101659.00,A,5157.53872,N,00424.54749,E,33.782,154.32,120308,,,D*51
+$GPRMC,101700.00,A,5157.53017,N,00424.55414,E,34.380,154.34,120308,,,D*5A
+$GPRMC,101701.00,A,5157.52140,N,00424.56094,E,35.377,154.10,120308,,,D*59
+$GPRMC,101702.00,A,5157.51248,N,00424.56789,E,35.440,154.19,120308,,,D*53
+$GPRMC,101703.00,A,5157.50348,N,00424.57489,E,36.167,154.10,120308,,,D*5A
+$GPRMC,101704.00,A,5157.49439,N,00424.58199,E,36.530,153.94,120308,,,D*52
+$GPRMC,101705.00,A,5157.48527,N,00424.58919,E,36.451,153.92,120308,,,D*5C
+$GPRMC,101706.00,A,5157.47615,N,00424.59640,E,36.264,154.19,120308,,,D*54
+$GPRMC,101707.00,A,5157.46711,N,00424.60345,E,35.737,154.57,120308,,,D*51
+$GPRMC,101708.00,A,5157.45821,N,00424.61033,E,35.027,154.70,120308,,,D*51
+$GPRMC,101709.00,A,5157.44941,N,00424.61708,E,35.099,154.55,120308,,,D*5B
+$GPRMC,101710.00,A,5157.44044,N,00424.62409,E,36.423,154.15,120308,,,D*5C
+$GPRMC,101711.00,A,5157.43114,N,00424.63158,E,37.954,153.26,120308,,,D*55
+$GPRMC,101712.00,A,5157.42151,N,00424.63976,E,39.702,152.19,120308,,,D*5C
+$GPRMC,101713.00,A,5157.41150,N,00424.64849,E,41.358,151.60,120308,,,D*5C
+$GPRMC,101714.00,A,5157.40116,N,00424.65754,E,42.448,152.16,120308,,,D*5D
+$GPRMC,101715.00,A,5157.39058,N,00424.66651,E,42.806,153.01,120308,,,D*5F
+$GPRMC,101716.00,A,5157.37982,N,00424.67533,E,42.859,153.88,120308,,,D*51
+$GPRMC,101717.00,A,5157.36903,N,00424.68399,E,42.727,154.45,120308,,,D*51
+$GPRMC,101718.00,A,5157.35828,N,00424.69254,E,42.497,154.32,120308,,,D*5C
+$GPRMC,101719.00,A,5157.34758,N,00424.70089,E,42.188,154.34,120308,,,D*53
+$GPRMC,101720.00,A,5157.33698,N,00424.70914,E,41.859,154.29,120308,,,D*54
+$GPRMC,101721.00,A,5157.32645,N,00424.71735,E,41.639,154.24,120308,,,D*5D
+$GPRMC,101722.00,A,5157.31603,N,00424.72554,E,41.240,154.11,120308,,,D*55
+$GPRMC,101723.00,A,5157.30575,N,00424.73369,E,40.703,153.95,120308,,,D*56
+$GPRMC,101724.00,A,5157.29557,N,00424.74172,E,40.400,154.35,120308,,,D*5B
+$GPRMC,101725.00,A,5157.28552,N,00424.74963,E,39.792,154.24,120308,,,D*50
+$GPRMC,101726.00,A,5157.27565,N,00424.75739,E,39.006,154.10,120308,,,D*55
+$GPRMC,101727.00,A,5157.26604,N,00424.76497,E,37.891,154.31,120308,,,D*5E
+$GPRMC,101728.00,A,5157.25680,N,00424.77216,E,35.890,154.42,120308,,,D*57
+$GPRMC,101729.00,A,5157.24802,N,00424.77892,E,33.946,154.70,120308,,,D*58
+$GPRMC,101730.00,A,5157.23968,N,00424.78525,E,32.310,154.71,120308,,,D*5D
+$GPRMC,101731.00,A,5157.23178,N,00424.79134,E,31.024,154.62,120308,,,D*55
+$GPRMC,101732.00,A,5157.22430,N,00424.79713,E,28.962,154.50,120308,,,D*5F
+$GPRMC,101733.00,A,5157.21730,N,00424.80253,E,27.334,154.52,120308,,,D*5D
+$GPRMC,101734.00,A,5157.21062,N,00424.80766,E,26.391,154.63,120308,,,D*55
+$GPRMC,101735.00,A,5157.20418,N,00424.81256,E,25.438,154.66,120308,,,D*59
+$GPRMC,101736.00,A,5157.19794,N,00424.81733,E,24.859,154.40,120308,,,D*5F
+$GPRMC,101737.00,A,5157.19181,N,00424.82203,E,24.713,154.21,120308,,,D*5F
+$GPRMC,101738.00,A,5157.18584,N,00424.82663,E,23.949,154.07,120308,,,D*50
+$GPRMC,101739.00,A,5157.18005,N,00424.83104,E,23.296,154.12,120308,,,D*57
+$GPRMC,101740.00,A,5157.17436,N,00424.83543,E,23.095,154.35,120308,,,D*51
+$GPRMC,101741.00,A,5157.16861,N,00424.83993,E,23.538,154.00,120308,,,D*5A
+$GPRMC,101742.00,A,5157.16287,N,00424.84434,E,23.263,154.05,120308,,,D*50
+$GPRMC,101743.00,A,5157.15731,N,00424.84862,E,21.933,154.00,120308,,,D*5C
+$GPRMC,101744.00,A,5157.15238,N,00424.85243,E,18.525,153.94,120308,,,D*54
+$GPRMC,101745.00,A,5157.14846,N,00424.85539,E,13.667,154.95,120308,,,D*55
+$GPRMC,101746.00,A,5157.14582,N,00424.85772,E,9.187,152.08,120308,,,D*6E
+$GPRMC,101747.00,A,5157.14390,N,00424.85935,E,7.060,154.35,120308,,,D*69
+$GPRMC,101748.00,A,5157.14257,N,00424.86060,E,5.239,154.85,120308,,,D*61
+$GPRMC,101749.00,A,5157.14161,N,00424.86144,E,3.605,154.23,120308,,,D*60
+$GPRMC,101750.00,A,5157.14090,N,00424.86209,E,3.211,154.13,120308,,,D*6F
+$GPRMC,101751.00,A,5157.14020,N,00424.86271,E,3.464,154.54,120308,,,D*6D
+$GPRMC,101752.00,A,5157.13938,N,00424.86340,E,4.058,154.40,120308,,,D*63
+$GPRMC,101753.00,A,5157.13833,N,00424.86427,E,5.230,153.51,120308,,,D*64
+$GPRMC,101754.00,A,5157.13694,N,00424.86541,E,6.613,153.88,120308,,,D*63
+$GPRMC,101755.00,A,5157.13517,N,00424.86685,E,8.127,153.65,120308,,,D*6C
+$GPRMC,101756.00,A,5157.13308,N,00424.86860,E,9.125,153.05,120308,,,D*67
+$GPRMC,101757.00,A,5157.13069,N,00424.87070,E,9.341,152.59,120308,,,D*62
+$GPRMC,101758.00,A,5157.12831,N,00424.87283,E,9.242,152.18,120308,,,D*60
+$GPRMC,101759.00,A,5157.12612,N,00424.87482,E,8.239,151.93,120308,,,D*64
+$GPRMC,101800.00,A,5157.12416,N,00424.87656,E,7.497,152.03,120308,,,D*6D
+$GPRMC,101801.00,A,5157.12233,N,00424.87809,E,7.161,151.98,120308,,,D*64
+$GPRMC,101802.00,A,5157.12062,N,00424.87962,E,6.805,151.66,120308,,,D*66
+$GPRMC,101803.00,A,5157.11902,N,00424.88106,E,6.270,151.46,120308,,,D*64
+$GPRMC,101804.00,A,5157.11758,N,00424.88238,E,5.594,151.31,120308,,,D*62
+$GPRMC,101805.00,A,5157.11632,N,00424.88349,E,4.695,151.29,120308,,,D*63
+$GPRMC,101806.00,A,5157.11512,N,00424.88456,E,5.146,151.21,120308,,,D*68
+$GPRMC,101807.00,A,5157.11374,N,00424.88575,E,6.027,150.76,120308,,,D*69
+$GPRMC,101808.00,A,5157.11207,N,00424.88724,E,7.581,150.54,120308,,,D*6D
+$GPRMC,101809.00,A,5157.11012,N,00424.88907,E,8.586,150.12,120308,,,D*6F
+$GPRMC,101810.00,A,5157.10804,N,00424.89105,E,8.593,149.91,120308,,,D*65
+$GPRMC,101811.00,A,5157.10602,N,00424.89303,E,8.246,149.70,120308,,,D*68
+$GPRMC,101812.00,A,5157.10409,N,00424.89491,E,7.920,149.61,120308,,,D*6A
+$GPRMC,101813.00,A,5157.10221,N,00424.89671,E,7.635,149.62,120308,,,D*63
+$GPRMC,101814.00,A,5157.10045,N,00424.89850,E,7.374,148.94,120308,,,D*61
+$GPRMC,101815.00,A,5157.09876,N,00424.90020,E,6.986,149.57,120308,,,D*6F
+$GPRMC,101816.00,A,5157.09713,N,00424.90179,E,6.797,149.59,120308,,,D*6D
+$GPRMC,101817.00,A,5157.09555,N,00424.90333,E,6.570,149.39,120308,,,D*6D
+$GPRMC,101818.00,A,5157.09403,N,00424.90486,E,6.253,148.93,120308,,,D*6E
+$GPRMC,101819.00,A,5157.09258,N,00424.90636,E,6.198,148.30,120308,,,D*63
+$GPRMC,101820.00,A,5157.09113,N,00424.90786,E,6.247,147.94,120308,,,D*6F
+$GPRMC,101821.00,A,5157.08963,N,00424.90945,E,6.524,147.88,120308,,,D*6E
+$GPRMC,101822.00,A,5157.08805,N,00424.91110,E,6.944,147.41,120308,,,D*6A
+$GPRMC,101823.00,A,5157.08634,N,00424.91279,E,7.284,148.23,120308,,,D*66
+$GPRMC,101824.00,A,5157.08464,N,00424.91453,E,6.990,147.02,120308,,,D*6B
+$GPRMC,101825.00,A,5157.08306,N,00424.91621,E,6.471,147.10,120308,,,D*6F
+$GPRMC,101826.00,A,5157.08162,N,00424.91775,E,6.037,146.79,120308,,,D*64
+$GPRMC,101827.00,A,5157.08026,N,00424.91919,E,5.732,146.66,120308,,,D*6F
+$GPRMC,101828.00,A,5157.07896,N,00424.92061,E,5.626,146.73,120308,,,D*69
+$GPRMC,101829.00,A,5157.07766,N,00424.92205,E,5.740,145.39,120308,,,D*64
+$GPRMC,101830.00,A,5157.07638,N,00424.92351,E,5.679,146.17,120308,,,D*62
+$GPRMC,101831.00,A,5157.07511,N,00424.92498,E,5.532,145.46,120308,,,D*62
+$GPRMC,101832.00,A,5157.07391,N,00424.92640,E,5.268,145.22,120308,,,D*62
+$GPRMC,101833.00,A,5157.07277,N,00424.92771,E,5.075,145.31,120308,,,D*65
+$GPRMC,101834.00,A,5157.07164,N,00424.92900,E,5.034,145.20,120308,,,D*6E
+$GPRMC,101835.00,A,5157.07054,N,00424.93028,E,4.966,145.46,120308,,,D*60
+$GPRMC,101836.00,A,5157.06948,N,00424.93151,E,4.672,145.23,120308,,,D*60
+$GPRMC,101837.00,A,5157.06848,N,00424.93269,E,4.372,145.04,120308,,,D*68
+$GPRMC,101838.00,A,5157.06757,N,00424.93375,E,3.841,145.46,120308,,,D*60
+$GPRMC,101839.00,A,5157.06685,N,00424.93459,E,2.761,145.33,120308,,,D*68
+$GPRMC,101840.00,A,5157.06642,N,00424.93516,E,1.359,145.27,120308,,,D*6E
+$GPRMC,101841.00,A,5157.06625,N,00424.93541,E,0.562,145.42,120308,,,D*60
+$GPRMC,101842.00,A,5157.06619,N,00424.93552,E,0.408,144.81,120308,,,D*6D
+$GPRMC,101843.00,A,5157.06610,N,00424.93564,E,0.576,144.83,120308,,,D*6A
+$GPRMC,101844.00,A,5157.06596,N,00424.93582,E,0.882,144.84,120308,,,D*69
+$GPRMC,101845.00,A,5157.06577,N,00424.93603,E,1.029,144.86,120308,,,D*67
+$GPRMC,101846.00,A,5157.06557,N,00424.93631,E,1.086,144.91,120308,,,D*64
+$GPRMC,101847.00,A,5157.06538,N,00424.93656,E,0.942,144.92,120308,,,D*6E
+$GPRMC,101848.00,A,5157.06525,N,00424.93675,E,0.616,144.92,120308,,,D*62
+$GPRMC,101849.00,A,5157.06513,N,00424.93684,E,0.464,145.02,120308,,,D*67
+$GPRMC,101850.00,A,5157.06506,N,00424.93690,E,0.352,144.88,120308,,,D*6F
+$GPRMC,101851.00,A,5157.06503,N,00424.93701,E,0.250,144.95,120308,,,D*6D
+$GPRMC,101852.00,A,5157.06500,N,00424.93706,E,0.259,144.95,120308,,,D*63
+$GPRMC,101853.00,A,5157.06494,N,00424.93712,E,0.614,144.85,120308,,,D*67
+$GPRMC,101854.00,A,5157.06479,N,00424.93728,E,0.938,144.90,120308,,,D*6F
+$GPRMC,101855.00,A,5157.06445,N,00424.93769,E,2.183,145.49,120308,,,D*6B
+$GPRMC,101856.00,A,5157.06383,N,00424.93837,E,3.199,145.60,120308,,,D*60
+$GPRMC,101857.00,A,5157.06307,N,00424.93920,E,3.382,145.43,120308,,,D*63
+$GPRMC,101858.00,A,5157.06227,N,00424.94005,E,3.563,145.68,120308,,,D*66
+$GPRMC,101859.00,A,5157.06144,N,00424.94100,E,3.917,144.17,120308,,,D*63
+$GPRMC,101900.00,A,5157.06049,N,00424.94210,E,4.486,144.87,120308,,,D*6B
+$GPRMC,101901.00,A,5157.05936,N,00424.94340,E,5.402,144.28,120308,,,D*64
+$GPRMC,101902.00,A,5157.05802,N,00424.94498,E,6.418,144.00,120308,,,D*61
+$GPRMC,101903.00,A,5157.05644,N,00424.94683,E,7.636,143.89,120308,,,D*6D
+$GPRMC,101904.00,A,5157.05455,N,00424.94905,E,9.002,144.46,120308,,,D*62
+$GPRMC,101905.00,A,5157.05236,N,00424.95157,E,10.076,144.68,120308,,,D*59
+$GPRMC,101906.00,A,5157.05005,N,00424.95421,E,9.927,144.89,120308,,,D*66
+$GPRMC,101907.00,A,5157.04769,N,00424.95689,E,10.413,145.05,120308,,,D*5C
+$GPRMC,101908.00,A,5157.04514,N,00424.95976,E,11.527,145.10,120308,,,D*57
+$GPRMC,101909.00,A,5157.04238,N,00424.96287,E,12.206,145.18,120308,,,D*56
+$GPRMC,101910.00,A,5157.03956,N,00424.96607,E,12.170,145.04,120308,,,D*59
+$GPRMC,101911.00,A,5157.03675,N,00424.96926,E,12.135,144.88,120308,,,D*5E
+$GPRMC,101912.00,A,5157.03394,N,00424.97246,E,12.197,144.79,120308,,,D*5D
+$GPRMC,101913.00,A,5157.03114,N,00424.97565,E,12.179,144.67,120308,,,D*5F
+$GPRMC,101914.00,A,5157.02836,N,00424.97882,E,12.004,144.60,120308,,,D*58
+$GPRMC,101915.00,A,5157.02565,N,00424.98198,E,11.723,144.36,120308,,,D*5D
+$GPRMC,101916.00,A,5157.02310,N,00424.98494,E,10.847,144.06,120308,,,D*5C
+$GPRMC,101917.00,A,5157.02078,N,00424.98767,E,9.935,144.30,120308,,,D*66
+$GPRMC,101918.00,A,5157.01859,N,00424.99020,E,9.518,144.60,120308,,,D*62
+$GPRMC,101919.00,A,5157.01648,N,00424.99262,E,9.103,144.97,120308,,,D*6F
+$GPRMC,101920.00,A,5157.01443,N,00424.99498,E,8.895,145.39,120308,,,D*6D
+$GPRMC,101921.00,A,5157.01248,N,00424.99715,E,8.275,146.54,120308,,,D*6B
+$GPRMC,101922.00,A,5157.01052,N,00424.99938,E,8.753,143.52,120308,,,D*62
+$GPRMC,101923.00,A,5157.00884,N,00425.00219,E,8.825,133.55,120308,,,D*66
+$GPRMC,101924.00,A,5157.00715,N,00425.00486,E,8.368,135.96,120308,,,D*6D
+$GPRMC,101925.00,A,5157.00429,N,00425.00643,E,9.031,146.85,120308,,,D*63
+$GPRMC,101926.00,A,5157.00176,N,00425.00876,E,10.115,145.76,120308,,,D*57
+$GPRMC,101927.00,A,5156.99904,N,00425.01149,E,11.600,144.99,120308,,,D*5C
+$GPRMC,101928.00,A,5156.99624,N,00425.01463,E,12.866,144.74,120308,,,D*5D
+$GPRMC,101929.00,A,5156.99318,N,00425.01786,E,13.111,144.77,120308,,,D*55
+$GPRMC,101930.00,A,5156.99015,N,00425.02111,E,13.047,144.67,120308,,,D*5B
+$GPRMC,101931.00,A,5156.98717,N,00425.02450,E,13.044,144.63,120308,,,D*59
+$GPRMC,101932.00,A,5156.98423,N,00425.02769,E,12.801,144.71,120308,,,D*5C
+$GPRMC,101933.00,A,5156.98135,N,00425.03084,E,12.540,144.82,120308,,,D*5E
+$GPRMC,101934.00,A,5156.97859,N,00425.03382,E,12.028,145.08,120308,,,D*58
+$GPRMC,101935.00,A,5156.97594,N,00425.03674,E,11.985,144.64,120308,,,D*5F
+$GPRMC,101936.00,A,5156.97338,N,00425.03964,E,11.520,143.98,120308,,,D*55
+$GPRMC,101937.00,A,5156.97081,N,00425.04246,E,11.609,146.24,120308,,,D*53
+$GPRMC,101938.00,A,5156.96816,N,00425.04555,E,12.060,144.84,120308,,,D*5C
+$GPRMC,101939.00,A,5156.96548,N,00425.04867,E,12.359,144.51,120308,,,D*56
+$GPRMC,101940.00,A,5156.96271,N,00425.05186,E,12.495,144.67,120308,,,D*50
+$GPRMC,101941.00,A,5156.95982,N,00425.05526,E,12.720,144.03,120308,,,D*54
+$GPRMC,101942.00,A,5156.95695,N,00425.05847,E,12.723,144.39,120308,,,D*5E
+$GPRMC,101943.00,A,5156.95411,N,00425.06167,E,12.469,144.48,120308,,,D*52
+$GPRMC,101944.00,A,5156.95138,N,00425.06474,E,12.118,144.44,120308,,,D*53
+$GPRMC,101945.00,A,5156.94871,N,00425.06771,E,11.761,144.32,120308,,,D*5B
+$GPRMC,101946.00,A,5156.94613,N,00425.07064,E,11.393,144.37,120308,,,D*5C
+$GPRMC,101947.00,A,5156.94361,N,00425.07347,E,11.074,144.28,120308,,,D*5B
+$GPRMC,101948.00,A,5156.94117,N,00425.07626,E,10.766,144.09,120308,,,D*53
+$GPRMC,101949.00,A,5156.93878,N,00425.07905,E,10.570,144.57,120308,,,D*55
+$GPRMC,101950.00,A,5156.93636,N,00425.08187,E,10.931,144.58,120308,,,D*52
+$GPRMC,101951.00,A,5156.93383,N,00425.08486,E,11.554,144.90,120308,,,D*56
+$GPRMC,101952.00,A,5156.93114,N,00425.08798,E,12.245,144.57,120308,,,D*5A
+$GPRMC,101953.00,A,5156.92832,N,00425.09140,E,12.833,144.50,120308,,,D*59
+$GPRMC,101954.00,A,5156.92531,N,00425.09496,E,13.927,144.70,120308,,,D*59
+$GPRMC,101955.00,A,5156.92192,N,00425.09888,E,16.016,144.93,120308,,,D*55
+$GPRMC,101956.00,A,5156.91800,N,00425.10337,E,18.332,145.05,120308,,,D*55
+$GPRMC,101957.00,A,5156.91365,N,00425.10837,E,19.755,145.10,120308,,,D*57
+$GPRMC,101958.00,A,5156.90916,N,00425.11349,E,19.426,144.99,120308,,,D*53
+$GPRMC,101959.00,A,5156.90470,N,00425.11858,E,19.458,144.79,120308,,,D*53
+$GPRMC,102000.00,A,5156.90024,N,00425.12372,E,19.583,144.58,120308,,,D*54
+$GPRMC,102001.00,A,5156.89577,N,00425.12887,E,19.672,144.61,120308,,,D*58
+$GPRMC,102002.00,A,5156.89128,N,00425.13406,E,19.824,144.63,120308,,,D*5E
+$GPRMC,102003.00,A,5156.88678,N,00425.13926,E,19.934,144.44,120308,,,D*56
+$GPRMC,102004.00,A,5156.88228,N,00425.14447,E,19.736,144.56,120308,,,A*57
+$GPRMC,102005.00,A,5156.87782,N,00425.14963,E,19.532,144.58,120308,,,A*5F
+$GPRMC,102006.00,A,5156.87340,N,00425.15472,E,19.317,144.70,120308,,,A*51
+$GPRMC,102007.00,A,5156.86903,N,00425.15974,E,19.237,144.76,120308,,,A*52
+$GPRMC,102008.00,A,5156.86465,N,00425.16477,E,19.270,144.85,120308,,,A*52
+$GPRMC,102009.00,A,5156.86028,N,00425.16981,E,19.340,144.58,120308,,,A*58
+$GPRMC,102010.00,A,5156.85595,N,00425.17482,E,18.993,144.56,120308,,,A*54
+$GPRMC,102011.00,A,5156.85171,N,00425.17973,E,18.524,144.65,120308,,,A*58
+$GPRMC,102012.00,A,5156.84757,N,00425.18450,E,18.067,144.68,120308,,,A*54
+$GPRMC,102013.00,A,5156.84354,N,00425.18915,E,17.573,144.81,120308,,,D*53
+$GPRMC,102014.00,A,5156.83961,N,00425.19366,E,17.162,144.59,120308,,,A*54
+$GPRMC,102015.00,A,5156.83578,N,00425.19807,E,16.736,144.57,120308,,,D*50
+$GPRMC,102016.00,A,5156.83204,N,00425.20237,E,16.309,144.59,120308,,,D*5A
+$GPRMC,102017.00,A,5156.82840,N,00425.20653,E,15.882,144.62,120308,,,D*55
+$GPRMC,102018.00,A,5156.82486,N,00425.21058,E,15.496,144.55,120308,,,D*5D
+$GPRMC,102019.00,A,5156.82141,N,00425.21456,E,15.143,144.62,120308,,,D*51
+$GPRMC,102020.00,A,5156.81801,N,00425.21847,E,14.938,144.52,120308,,,D*5F
+$GPRMC,102021.00,A,5156.81467,N,00425.22231,E,14.630,144.89,120308,,,D*5B
+$GPRMC,102022.00,A,5156.81129,N,00425.22604,E,14.810,146.09,120308,,,D*53
+$GPRMC,102023.00,A,5156.80798,N,00425.22988,E,14.749,144.71,120308,,,D*5A
+$GPRMC,102024.00,A,5156.80454,N,00425.23380,E,15.126,144.88,120308,,,D*55
+$GPRMC,102025.00,A,5156.80106,N,00425.23771,E,15.401,144.92,120308,,,D*57
+$GPRMC,102026.00,A,5156.79761,N,00425.24185,E,15.803,144.79,120308,,,D*54
+$GPRMC,102027.00,A,5156.79399,N,00425.24612,E,16.330,144.57,120308,,,D*5B
+$GPRMC,102028.00,A,5156.79029,N,00425.25047,E,16.558,144.69,120308,,,D*5E
+$GPRMC,102029.00,A,5156.78653,N,00425.25487,E,17.012,144.45,120308,,,D*59
+$GPRMC,102030.00,A,5156.78258,N,00425.25943,E,17.827,144.68,120308,,,D*5A
+$GPRMC,102031.00,A,5156.77847,N,00425.26417,E,18.497,144.65,120308,,,D*5A
+$GPRMC,102032.00,A,5156.77420,N,00425.26921,E,19.442,144.26,120308,,,D*52
+$GPRMC,102033.00,A,5156.76969,N,00425.27453,E,20.547,144.13,120308,,,A*56
+$GPRMC,102034.00,A,5156.76493,N,00425.28014,E,21.717,144.12,120308,,,A*56
+$GPRMC,102035.00,A,5156.75984,N,00425.28600,E,23.007,144.52,120308,,,A*5C
+$GPRMC,102036.00,A,5156.75452,N,00425.29207,E,23.723,144.68,120308,,,A*53
+$GPRMC,102037.00,A,5156.74902,N,00425.29828,E,24.246,145.00,120308,,,A*52
+$GPRMC,102038.00,A,5156.74337,N,00425.30461,E,24.999,145.19,120308,,,A*59
+$GPRMC,102039.00,A,5156.73748,N,00425.31117,E,26.196,145.33,120308,,,A*5B
+$GPRMC,102040.00,A,5156.73129,N,00425.31806,E,27.542,145.09,120308,,,A*58
+$GPRMC,102041.00,A,5156.72485,N,00425.32541,E,28.946,144.31,120308,,,A*5B
+$GPRMC,102042.00,A,5156.71817,N,00425.33312,E,30.133,143.97,120308,,,A*55
+$GPRMC,102043.00,A,5156.71120,N,00425.34119,E,31.227,144.59,120308,,,A*55
+$GPRMC,102044.00,A,5156.70386,N,00425.34945,E,32.772,145.59,120308,,,A*5B
+$GPRMC,102045.00,A,5156.69607,N,00425.35789,E,34.297,146.37,120308,,,A*52
+$GPRMC,102046.00,A,5156.68789,N,00425.36658,E,35.881,146.39,120308,,,A*5B
+$GPRMC,102047.00,A,5156.67940,N,00425.37567,E,37.017,146.33,120308,,,A*5F
+$GPRMC,102048.00,A,5156.67078,N,00425.38504,E,37.278,146.03,120308,,,A*50
+$GPRMC,102049.00,A,5156.66219,N,00425.39445,E,36.944,145.63,120308,,,A*50
+$GPRMC,102050.00,A,5156.65371,N,00425.40403,E,36.859,144.92,120308,,,A*5A
+$GPRMC,102051.00,A,5156.64536,N,00425.41361,E,36.682,144.59,120308,,,A*52
+$GPRMC,102052.00,A,5156.63707,N,00425.42310,E,36.771,144.82,120308,,,A*58
+$GPRMC,102053.00,A,5156.62855,N,00425.43305,E,37.911,143.99,120308,,,A*51
+$GPRMC,102054.00,A,5156.61985,N,00425.44289,E,37.699,144.78,120308,,,A*5C
+$GPRMC,102055.00,A,5156.61109,N,00425.45296,E,37.726,145.06,120308,,,A*53
+$GPRMC,102056.00,A,5156.60246,N,00425.46305,E,37.307,144.71,120308,,,A*57
+$GPRMC,102057.00,A,5156.59394,N,00425.47284,E,36.908,144.75,120308,,,D*5E
+$GPRMC,102058.00,A,5156.58531,N,00425.48294,E,37.096,144.67,120308,,,D*5B
+$GPRMC,102059.00,A,5156.57646,N,00425.49347,E,37.761,144.77,120308,,,D*56
+$GPRMC,102100.00,A,5156.56753,N,00425.50390,E,38.461,144.88,120308,,,D*51
+$GPRMC,102101.00,A,5156.55869,N,00425.51386,E,38.824,144.65,120308,,,D*5D
+$GPRMC,102102.00,A,5156.54982,N,00425.52389,E,39.110,144.50,120308,,,D*5E
+$GPRMC,102103.00,A,5156.54085,N,00425.53416,E,39.274,144.78,120308,,,D*5A
+$GPRMC,102104.00,A,5156.53188,N,00425.54426,E,39.497,144.95,120308,,,D*5A
+$GPRMC,102105.00,A,5156.52286,N,00425.55457,E,40.007,144.88,120308,,,D*5F
+$GPRMC,102106.00,A,5156.51365,N,00425.56508,E,40.034,144.90,120308,,,D*52
+$GPRMC,102107.00,A,5156.50454,N,00425.57536,E,39.981,144.94,120308,,,D*56
+$GPRMC,102108.00,A,5156.49544,N,00425.58558,E,39.708,144.86,120308,,,D*5A
+$GPRMC,102109.00,A,5156.48634,N,00425.59582,E,39.969,144.85,120308,,,D*52
+$GPRMC,102110.00,A,5156.47735,N,00425.60566,E,40.534,144.90,120308,,,D*5B
+$GPRMC,102111.00,A,5156.46799,N,00425.61623,E,41.219,145.32,120308,,,D*5E
+$GPRMC,102112.00,A,5156.45852,N,00425.62689,E,41.554,144.88,120308,,,D*5B
+$GPRMC,102113.00,A,5156.44902,N,00425.63763,E,41.924,145.00,120308,,,D*51
+$GPRMC,102114.00,A,5156.43903,N,00425.64790,E,42.272,151.00,120308,,,D*55
+$GPRMC,102115.00,A,5156.42887,N,00425.65829,E,42.942,148.04,120308,,,D*50
+$GPRMC,102116.00,A,5156.41877,N,00425.66903,E,43.082,147.27,120308,,,D*5F
+$GPRMC,102117.00,A,5156.40872,N,00425.67989,E,42.957,146.44,120308,,,D*5D
+$GPRMC,102118.00,A,5156.39891,N,00425.69088,E,42.182,145.66,120308,,,D*54
+$GPRMC,102119.00,A,5156.38937,N,00425.70173,E,41.324,145.19,120308,,,D*51
+$GPRMC,102120.00,A,5156.37999,N,00425.71241,E,40.903,145.11,120308,,,D*55
+$GPRMC,102121.00,A,5156.37064,N,00425.72293,E,40.777,145.13,120308,,,D*5C
+$GPRMC,102122.00,A,5156.36130,N,00425.73342,E,40.757,145.15,120308,,,D*56
+$GPRMC,102123.00,A,5156.35200,N,00425.74397,E,40.712,145.21,120308,,,D*5D
+$GPRMC,102124.00,A,5156.34269,N,00425.75444,E,40.560,145.04,120308,,,D*5C
+$GPRMC,102125.00,A,5156.33336,N,00425.76495,E,40.897,144.84,120308,,,D*52
+$GPRMC,102126.00,A,5156.32431,N,00425.77563,E,39.907,143.27,120308,,,D*51
+$GPRMC,102127.00,A,5156.31492,N,00425.78656,E,41.841,144.51,120308,,,D*5A
+$GPRMC,102128.00,A,5156.30540,N,00425.79742,E,41.855,145.21,120308,,,D*5C
+$GPRMC,102129.00,A,5156.29586,N,00425.80832,E,41.983,145.09,120308,,,D*51
+$GPRMC,102130.00,A,5156.28631,N,00425.81910,E,41.668,144.88,120308,,,D*55
+$GPRMC,102131.00,A,5156.27682,N,00425.82974,E,41.503,144.92,120308,,,D*57
+$GPRMC,102132.00,A,5156.26739,N,00425.84039,E,41.376,145.02,120308,,,D*5E
+$GPRMC,102133.00,A,5156.25793,N,00425.85110,E,41.378,145.05,120308,,,D*5E
+$GPRMC,102134.00,A,5156.24853,N,00425.86166,E,41.346,145.07,120308,,,D*56
+$GPRMC,102135.00,A,5156.23919,N,00425.87213,E,41.201,144.71,120308,,,D*5D
+$GPRMC,102136.00,A,5156.22976,N,00425.88278,E,41.232,145.01,120308,,,D*52
+$GPRMC,102137.00,A,5156.22037,N,00425.89329,E,40.536,144.53,120308,,,D*5F
+$GPRMC,102138.00,A,5156.21092,N,00425.90394,E,41.256,144.68,120308,,,D*5A
+$GPRMC,102139.00,A,5156.20144,N,00425.91478,E,41.056,144.55,120308,,,D*58
+$GPRMC,102140.00,A,5156.19213,N,00425.92513,E,41.288,144.39,120308,,,D*59
+$GPRMC,102141.00,A,5156.18278,N,00425.93594,E,41.697,143.76,120308,,,D*5C
+$GPRMC,102142.00,A,5156.17332,N,00425.94736,E,41.868,143.57,120308,,,D*5F
+$GPRMC,102143.00,A,5156.16396,N,00425.95863,E,41.823,143.35,120308,,,D*54
+$GPRMC,102144.00,A,5156.15476,N,00425.96951,E,41.834,142.87,120308,,,D*54
+$GPRMC,102145.00,A,5156.14554,N,00425.98085,E,41.916,142.84,120308,,,D*59
+$GPRMC,102146.00,A,5156.13625,N,00425.99221,E,42.137,143.08,120308,,,D*58
+$GPRMC,102147.00,A,5156.12690,N,00426.00377,E,42.290,142.19,120308,,,D*58
+$GPRMC,102148.00,A,5156.11771,N,00426.01530,E,41.508,142.65,120308,,,D*50
+$GPRMC,102149.00,A,5156.10844,N,00426.02654,E,41.671,143.80,120308,,,D*5C
+$GPRMC,102150.00,A,5156.09913,N,00426.03775,E,41.681,143.70,120308,,,D*5C
+$GPRMC,102151.00,A,5156.08975,N,00426.04902,E,41.976,143.52,120308,,,D*52
+$GPRMC,102152.00,A,5156.08033,N,00426.06019,E,42.460,143.67,120308,,,D*54
+$GPRMC,102153.00,A,5156.07078,N,00426.07150,E,42.843,143.91,120308,,,D*5C
+$GPRMC,102154.00,A,5156.06118,N,00426.08271,E,42.795,144.27,120308,,,D*5C
+$GPRMC,102155.00,A,5156.05155,N,00426.09382,E,42.626,144.57,120308,,,D*55
+$GPRMC,102156.00,A,5156.04192,N,00426.10482,E,42.582,144.88,120308,,,D*5C
+$GPRMC,102157.00,A,5156.03227,N,00426.11586,E,42.689,144.55,120308,,,D*5B
+$GPRMC,102158.00,A,5156.02262,N,00426.12698,E,42.723,144.46,120308,,,D*58
+$GPRMC,102159.00,A,5156.01291,N,00426.13815,E,43.031,144.86,120308,,,D*55
+$GPRMC,102200.00,A,5156.00312,N,00426.14927,E,43.292,144.68,120308,,,D*5D
+$GPRMC,102201.00,A,5155.99332,N,00426.16059,E,43.154,144.67,120308,,,D*59
+$GPRMC,102202.00,A,5155.98359,N,00426.17178,E,42.834,144.52,120308,,,D*5D
+$GPRMC,102203.00,A,5155.97396,N,00426.18298,E,42.154,144.40,120308,,,D*5E
+$GPRMC,102204.00,A,5155.96450,N,00426.19391,E,41.192,144.40,120308,,,D*55
+$GPRMC,102205.00,A,5155.95541,N,00426.20429,E,38.914,144.85,120308,,,D*59
+$GPRMC,102206.00,A,5155.94695,N,00426.21357,E,35.275,146.28,120308,,,D*5A
+$GPRMC,102207.00,A,5155.93926,N,00426.22155,E,31.164,147.97,120308,,,D*5A
+$GPRMC,102208.00,A,5155.93248,N,00426.22803,E,26.612,149.64,120308,,,D*5E
+$GPRMC,102209.00,A,5155.92679,N,00426.23314,E,21.627,150.57,120308,,,D*5D
+$GPRMC,102210.00,A,5155.92223,N,00426.23661,E,16.429,155.07,120308,,,D*51
+$GPRMC,102211.00,A,5155.91881,N,00426.23888,E,11.973,155.86,120308,,,D*54
+$GPRMC,102212.00,A,5155.91586,N,00426.24069,E,11.357,152.24,120308,,,D*5E
+$GPRMC,102213.00,A,5155.91288,N,00426.24285,E,12.315,155.99,120308,,,D*52
+$GPRMC,102214.00,A,5155.90927,N,00426.24411,E,13.012,173.74,120308,,,D*53
+$GPRMC,102215.00,A,5155.90488,N,00426.24370,E,15.445,188.71,120308,,,D*5B
+$GPRMC,102216.00,A,5155.90117,N,00426.24337,E,15.058,186.33,120308,,,D*58
+$GPRMC,102217.00,A,5155.89649,N,00426.24229,E,17.662,181.77,120308,,,D*59
+$GPRMC,102218.00,A,5155.88992,N,00426.24203,E,22.460,173.07,120308,,,D*5A
+$GPRMC,102219.00,A,5155.88298,N,00426.24374,E,24.637,164.69,120308,,,D*53
+$GPRMC,102220.00,A,5155.87751,N,00426.24990,E,24.450,157.42,120308,,,A*59
+$GPRMC,102221.00,A,5155.87107,N,00426.25441,E,24.877,152.88,120308,,,A*57
+$GPRMC,102222.00,A,5155.86497,N,00426.26027,E,24.912,145.44,120308,,,D*5F
+$GPRMC,102223.00,A,5155.85941,N,00426.26732,E,25.967,139.05,120308,,,D*55
+$GPRMC,102224.00,A,5155.85435,N,00426.27548,E,25.865,133.21,120308,,,D*5D
+$GPRMC,102225.00,A,5155.84979,N,00426.28423,E,25.135,126.47,120308,,,D*53
+$GPRMC,102226.00,A,5155.84607,N,00426.29347,E,24.275,119.79,120308,,,D*55
+$GPRMC,102227.00,A,5155.84312,N,00426.30300,E,23.256,113.96,120308,,,D*53
+$GPRMC,102228.00,A,5155.84082,N,00426.31274,E,23.037,109.83,120308,,,D*5F
+$GPRMC,102229.00,A,5155.83954,N,00426.32265,E,22.463,101.43,120308,,,D*58
+$GPRMC,102230.00,A,5155.83912,N,00426.33286,E,22.258,92.07,120308,,,D*6B
+$GPRMC,102231.00,A,5155.83967,N,00426.34304,E,23.053,80.77,120308,,,D*68
+$GPRMC,102232.00,A,5155.84147,N,00426.35322,E,24.411,68.91,120308,,,D*68
+$GPRMC,102233.00,A,5155.84507,N,00426.36281,E,25.806,50.05,120308,,,D*6F
+$GPRMC,102234.00,A,5155.84981,N,00426.37161,E,25.962,48.70,120308,,,D*6E
+$GPRMC,102235.00,A,5155.85544,N,00426.37901,E,23.912,39.42,120308,,,D*63
+$GPRMC,102236.00,A,5155.86242,N,00426.38397,E,23.533,26.64,120308,,,D*6D
+$GPRMC,102237.00,A,5155.86824,N,00426.38731,E,19.530,21.00,120308,,,D*61
+$GPRMC,102238.00,A,5155.87288,N,00426.38956,E,14.775,18.46,120308,,,D*6A
+$GPRMC,102239.00,A,5155.87650,N,00426.39093,E,10.475,17.27,120308,,,D*64
+$GPRMC,102240.00,A,5155.87840,N,00426.39199,E,5.743,16.68,120308,,,D*56
+$GPRMC,102241.00,A,5155.87953,N,00426.39211,E,2.021,16.09,120308,,,D*54
+$GPRMC,102242.00,A,5155.88007,N,00426.39201,E,1.677,16.04,120308,,,D*5A
+$GPRMC,102243.00,A,5155.88100,N,00426.39210,E,4.563,11.58,120308,,,D*50
+$GPRMC,102244.00,A,5155.88284,N,00426.39216,E,7.772,0.79,120308,,,A*69
+$GPRMC,102245.00,A,5155.88623,N,00426.39179,E,12.845,350.95,120308,,,A*50
+$GPRMC,102246.00,A,5155.88943,N,00426.39124,E,13.195,346.37,120308,,,D*5D
+$GPRMC,102247.00,A,5155.89338,N,00426.38837,E,17.058,336.12,120308,,,D*55
+$GPRMC,102248.00,A,5155.89783,N,00426.38449,E,18.694,330.89,120308,,,D*56
+$GPRMC,102249.00,A,5155.90291,N,00426.38026,E,20.387,332.15,120308,,,D*5F
+$GPRMC,102250.00,A,5155.90814,N,00426.37378,E,21.085,323.06,120308,,,D*55
+$GPRMC,102251.00,A,5155.91282,N,00426.36766,E,21.521,324.39,120308,,,D*5A
+$GPRMC,102252.00,A,5155.91750,N,00426.36116,E,22.776,320.34,120308,,,D*58
+$GPRMC,102253.00,A,5155.92159,N,00426.35379,E,22.130,312.58,120308,,,D*52
+$GPRMC,102254.00,A,5155.92532,N,00426.34616,E,21.434,307.80,120308,,,D*52
+$GPRMC,102255.00,A,5155.92863,N,00426.33862,E,20.616,302.84,120308,,,D*52
+$GPRMC,102256.00,A,5155.93122,N,00426.33066,E,19.863,298.03,120308,,,D*5B
+$GPRMC,102257.00,A,5155.93336,N,00426.32265,E,18.920,293.43,120308,,,D*55
+$GPRMC,102258.00,A,5155.93497,N,00426.31489,E,17.783,287.29,120308,,,D*50
+$GPRMC,102259.00,A,5155.93594,N,00426.30758,E,16.298,279.64,120308,,,D*5B
+$GPRMC,102300.00,A,5155.93666,N,00426.30092,E,14.619,282.60,120308,,,D*56
+$GPRMC,102301.00,A,5155.93793,N,00426.29538,E,12.293,295.26,120308,,,D*55
+$GPRMC,102302.00,A,5155.94004,N,00426.29086,E,12.307,310.76,120308,,,D*5D
+$GPRMC,102303.00,A,5155.94374,N,00426.28532,E,17.453,316.82,120308,,,D*5D
+$GPRMC,102304.00,A,5155.94852,N,00426.28040,E,21.304,324.67,120308,,,D*5F
+$GPRMC,102305.00,A,5155.95380,N,00426.27423,E,24.167,324.49,120308,,,D*5B
+$GPRMC,102306.00,A,5155.95933,N,00426.26759,E,24.674,323.14,120308,,,D*5F
+$GPRMC,102307.00,A,5155.96531,N,00426.26055,E,27.833,325.50,120308,,,D*50
+$GPRMC,102308.00,A,5155.97213,N,00426.25303,E,30.556,325.91,120308,,,D*5F
+$GPRMC,102309.00,A,5155.97965,N,00426.24483,E,33.148,326.14,120308,,,D*5C
+$GPRMC,102310.00,A,5155.98768,N,00426.23611,E,35.396,326.10,120308,,,D*55
+$GPRMC,102311.00,A,5155.99607,N,00426.22677,E,37.349,325.23,120308,,,D*5F
+$GPRMC,102312.00,A,5156.00487,N,00426.21678,E,39.613,325.22,120308,,,D*5C
+$GPRMC,102313.00,A,5156.01455,N,00426.20627,E,41.778,324.28,120308,,,D*50
+$GPRMC,102314.00,A,5156.02449,N,00426.19471,E,43.978,322.46,120308,,,D*50
+$GPRMC,102315.00,A,5156.03416,N,00426.18223,E,44.098,320.79,120308,,,D*54
+$GPRMC,102316.00,A,5156.04345,N,00426.16969,E,42.965,319.66,120308,,,D*53
+$GPRMC,102317.00,A,5156.05231,N,00426.15714,E,41.933,318.72,120308,,,D*52
+$GPRMC,102318.00,A,5156.06096,N,00426.14471,E,41.030,317.81,120308,,,D*59
+$GPRMC,102319.00,A,5156.06933,N,00426.13244,E,40.142,317.56,120308,,,D*56
+$GPRMC,102320.00,A,5156.07754,N,00426.12048,E,39.228,317.89,120308,,,D*5E
+$GPRMC,102321.00,A,5156.08561,N,00426.10893,E,38.261,318.02,120308,,,D*58
+$GPRMC,102322.00,A,5156.09354,N,00426.09758,E,37.631,317.97,120308,,,D*57
+$GPRMC,102323.00,A,5156.10130,N,00426.08626,E,37.278,317.27,120308,,,D*55
+$GPRMC,102324.00,A,5156.10899,N,00426.07485,E,37.456,317.29,120308,,,D*58
+$GPRMC,102325.00,A,5156.11664,N,00426.06326,E,37.249,316.10,120308,,,D*58
+$GPRMC,102326.00,A,5156.12413,N,00426.05177,E,36.811,316.41,120308,,,D*5D
+$GPRMC,102327.00,A,5156.13150,N,00426.04056,E,35.883,316.99,120308,,,D*51
+$GPRMC,102328.00,A,5156.13896,N,00426.02992,E,34.948,317.48,120308,,,D*50
+$GPRMC,102329.00,A,5156.14620,N,00426.01969,E,33.957,318.05,120308,,,D*5D
+$GPRMC,102330.00,A,5156.15292,N,00426.00968,E,33.072,318.44,120308,,,D*52
+$GPRMC,102331.00,A,5156.15964,N,00425.99984,E,32.096,316.93,120308,,,D*5F
+$GPRMC,102332.00,A,5156.16697,N,00425.99008,E,33.592,319.07,120308,,,D*53
+$GPRMC,102333.00,A,5156.17409,N,00425.98000,E,34.717,319.32,120308,,,D*51
+$GPRMC,102334.00,A,5156.18147,N,00425.96969,E,35.816,319.65,120308,,,D*53
+$GPRMC,102335.00,A,5156.18909,N,00425.95926,E,36.451,320.81,120308,,,D*54
+$GPRMC,102336.00,A,5156.19717,N,00425.94873,E,37.734,321.37,120308,,,D*5A
+$GPRMC,102337.00,A,5156.20564,N,00425.93806,E,38.418,321.59,120308,,,D*58
+$GPRMC,102338.00,A,5156.21421,N,00425.92728,E,38.314,321.74,120308,,,D*50
+$GPRMC,102339.00,A,5156.22262,N,00425.91671,E,37.669,322.32,120308,,,D*5C
+$GPRMC,102340.00,A,5156.23104,N,00425.90649,E,37.117,322.42,120308,,,D*53
+$GPRMC,102341.00,A,5156.23964,N,00425.89625,E,37.978,321.48,120308,,,D*56
+$GPRMC,102342.00,A,5156.24828,N,00425.88531,E,39.416,321.64,120308,,,D*59
+$GPRMC,102343.00,A,5156.25713,N,00425.87413,E,40.449,322.22,120308,,,D*55
+$GPRMC,102344.00,A,5156.26622,N,00425.86316,E,40.778,323.03,120308,,,D*52
+$GPRMC,102345.00,A,5156.27543,N,00425.85241,E,40.818,324.05,120308,,,D*5E
+$GPRMC,102346.00,A,5156.28464,N,00425.84186,E,40.624,324.53,120308,,,D*5D
+$GPRMC,102347.00,A,5156.29386,N,00425.83141,E,40.486,324.65,120308,,,D*55
+$GPRMC,102348.00,A,5156.30302,N,00425.82101,E,40.411,324.75,120308,,,D*54
+$GPRMC,102349.00,A,5156.31209,N,00425.81058,E,40.566,324.69,120308,,,D*5C
+$GPRMC,102350.00,A,5156.32119,N,00425.79998,E,40.855,324.73,120308,,,D*51
+$GPRMC,102351.00,A,5156.33041,N,00425.78934,E,40.794,323.53,120308,,,D*5D
+$GPRMC,102352.00,A,5156.33932,N,00425.77843,E,40.455,323.78,120308,,,D*5A
+$GPRMC,102353.00,A,5156.34841,N,00425.76765,E,41.248,324.62,120308,,,D*54
+$GPRMC,102354.00,A,5156.35770,N,00425.75705,E,41.095,324.86,120308,,,D*52
+$GPRMC,102355.00,A,5156.36681,N,00425.74635,E,40.907,324.81,120308,,,D*58
+$GPRMC,102356.00,A,5156.37596,N,00425.73571,E,40.906,324.99,120308,,,D*53
+$GPRMC,102357.00,A,5156.38526,N,00425.72521,E,41.006,325.09,120308,,,D*52
+$GPRMC,102358.00,A,5156.39477,N,00425.71480,E,41.143,325.11,120308,,,D*59
+$GPRMC,102359.00,A,5156.40405,N,00425.70410,E,40.958,324.29,120308,,,D*52
+$GPRMC,102400.00,A,5156.41321,N,00425.69337,E,40.647,324.41,120308,,,D*5C
+$GPRMC,102401.00,A,5156.42244,N,00425.68286,E,40.337,324.27,120308,,,D*54
+$GPRMC,102402.00,A,5156.43153,N,00425.67241,E,40.068,324.38,120308,,,D*50
+$GPRMC,102403.00,A,5156.44049,N,00425.66195,E,39.853,324.51,120308,,,D*56
+$GPRMC,102404.00,A,5156.44940,N,00425.65157,E,39.625,324.57,120308,,,D*55
+$GPRMC,102405.00,A,5156.45822,N,00425.64133,E,38.851,324.43,120308,,,D*5A
+$GPRMC,102406.00,A,5156.46687,N,00425.63130,E,38.170,324.22,120308,,,D*52
+$GPRMC,102407.00,A,5156.47543,N,00425.62139,E,37.812,324.39,120308,,,D*59
+$GPRMC,102408.00,A,5156.48389,N,00425.61159,E,37.597,324.69,120308,,,D*59
+$GPRMC,102409.00,A,5156.49232,N,00425.60182,E,37.347,324.35,120308,,,D*5D
+$GPRMC,102410.00,A,5156.50070,N,00425.59207,E,37.289,324.34,120308,,,D*5F
+$GPRMC,102411.00,A,5156.50916,N,00425.58250,E,37.136,324.41,120308,,,D*51
+$GPRMC,102412.00,A,5156.51761,N,00425.57290,E,37.374,324.77,120308,,,D*5F
+$GPRMC,102413.00,A,5156.52615,N,00425.56326,E,37.685,324.85,120308,,,D*54
+$GPRMC,102414.00,A,5156.53478,N,00425.55347,E,38.072,324.91,120308,,,D*5B
+$GPRMC,102415.00,A,5156.54351,N,00425.54355,E,38.458,324.66,120308,,,D*57
+$GPRMC,102416.00,A,5156.55229,N,00425.53355,E,38.876,324.94,120308,,,D*51
+$GPRMC,102417.00,A,5156.56116,N,00425.52345,E,39.276,324.71,120308,,,D*5C
+$GPRMC,102418.00,A,5156.57013,N,00425.51321,E,39.676,324.68,120308,,,D*5B
+$GPRMC,102419.00,A,5156.57916,N,00425.50283,E,39.974,324.76,120308,,,D*5C
+$GPRMC,102420.00,A,5156.58825,N,00425.49240,E,40.233,324.77,120308,,,D*58
+$GPRMC,102421.00,A,5156.59738,N,00425.48191,E,40.503,324.83,120308,,,D*5A
+$GPRMC,102422.00,A,5156.60661,N,00425.47141,E,40.636,325.01,120308,,,D*52
+$GPRMC,102423.00,A,5156.61589,N,00425.46090,E,40.822,324.94,120308,,,D*5D
+$GPRMC,102424.00,A,5156.62519,N,00425.45033,E,40.816,324.73,120308,,,D*54
+$GPRMC,102425.00,A,5156.63448,N,00425.43976,E,40.761,324.97,120308,,,D*5A
+$GPRMC,102426.00,A,5156.64379,N,00425.42928,E,40.723,325.14,120308,,,D*5D
+$GPRMC,102427.00,A,5156.65305,N,00425.41885,E,40.490,325.04,120308,,,D*59
+$GPRMC,102428.00,A,5156.66229,N,00425.40849,E,40.311,324.92,120308,,,D*5B
+$GPRMC,102429.00,A,5156.67143,N,00425.39809,E,40.166,324.68,120308,,,D*59
+$GPRMC,102430.00,A,5156.68051,N,00425.38778,E,40.117,325.04,120308,,,D*59
+$GPRMC,102431.00,A,5156.68960,N,00425.37747,E,40.063,325.12,120308,,,D*55
+$GPRMC,102432.00,A,5156.69874,N,00425.36726,E,40.027,325.09,120308,,,D*5F
+$GPRMC,102433.00,A,5156.70784,N,00425.35703,E,39.871,325.03,120308,,,D*5D
+$GPRMC,102434.00,A,5156.71692,N,00425.34689,E,39.666,325.31,120308,,,D*56
+$GPRMC,102435.00,A,5156.72603,N,00425.33686,E,39.552,325.83,120308,,,D*59
+$GPRMC,102436.00,A,5156.73514,N,00425.32690,E,39.505,325.42,120308,,,D*57
+$GPRMC,102437.00,A,5156.74414,N,00425.31678,E,39.386,325.44,120308,,,D*5E
+$GPRMC,102438.00,A,5156.75321,N,00425.30677,E,39.528,325.64,120308,,,D*5F
+$GPRMC,102439.00,A,5156.76227,N,00425.29655,E,40.125,325.53,120308,,,D*51
+$GPRMC,102440.00,A,5156.77146,N,00425.28621,E,40.593,325.42,120308,,,D*51
+$GPRMC,102441.00,A,5156.78083,N,00425.27584,E,40.992,325.34,120308,,,D*58
+$GPRMC,102442.00,A,5156.79024,N,00425.26533,E,41.125,325.21,120308,,,D*5B
+$GPRMC,102443.00,A,5156.79962,N,00425.25473,E,41.273,325.01,120308,,,D*55
+$GPRMC,102444.00,A,5156.80902,N,00425.24410,E,41.249,325.08,120308,,,D*56
+$GPRMC,102445.00,A,5156.81847,N,00425.23324,E,42.163,323.70,120308,,,D*50
+$GPRMC,102446.00,A,5156.82776,N,00425.22262,E,41.047,324.84,120308,,,D*57
+$GPRMC,102447.00,A,5156.83703,N,00425.21212,E,41.079,324.79,120308,,,D*5E
+$GPRMC,102448.00,A,5156.84635,N,00425.20157,E,41.051,324.69,120308,,,D*5A
+$GPRMC,102449.00,A,5156.85564,N,00425.19098,E,41.009,324.59,120308,,,D*5B
+$GPRMC,102450.00,A,5156.86489,N,00425.18046,E,40.858,324.73,120308,,,D*55
+$GPRMC,102451.00,A,5156.87409,N,00425.17001,E,40.710,324.81,120308,,,D*5F
+$GPRMC,102452.00,A,5156.88330,N,00425.15957,E,40.665,325.00,120308,,,D*5D
+$GPRMC,102453.00,A,5156.89249,N,00425.14910,E,40.499,324.45,120308,,,D*51
+$GPRMC,102454.00,A,5156.90168,N,00425.13852,E,40.599,324.44,120308,,,D*5E
+$GPRMC,102455.00,A,5156.91090,N,00425.12789,E,40.600,324.40,120308,,,D*57
+$GPRMC,102456.00,A,5156.92011,N,00425.11725,E,40.626,324.34,120308,,,D*5C
+$GPRMC,102457.00,A,5156.92935,N,00425.10659,E,40.837,324.48,120308,,,D*5C
+$GPRMC,102458.00,A,5156.93873,N,00425.09591,E,41.385,325.11,120308,,,D*50
+$GPRMC,102459.00,A,5156.94825,N,00425.08525,E,41.841,325.43,120308,,,D*5F
+$GPRMC,102500.00,A,5156.95784,N,00425.07444,E,42.330,324.89,120308,,,D*57
+$GPRMC,102501.00,A,5156.96745,N,00425.06347,E,42.399,324.81,120308,,,D*56
+$GPRMC,102502.00,A,5156.97705,N,00425.05245,E,42.281,324.39,120308,,,D*5B
+$GPRMC,102503.00,A,5156.98662,N,00425.04134,E,42.573,324.77,120308,,,D*51
+$GPRMC,102504.00,A,5156.99634,N,00425.03037,E,42.950,325.42,120308,,,D*5B
+$GPRMC,102505.00,A,5157.00617,N,00425.01930,E,43.119,325.33,120308,,,D*54
+$GPRMC,102506.00,A,5157.01599,N,00425.00823,E,43.201,325.02,120308,,,D*59
+$GPRMC,102507.00,A,5157.02600,N,00424.99682,E,43.783,325.09,120308,,,D*58
+$GPRMC,102508.00,A,5157.03600,N,00424.98526,E,44.255,324.89,120308,,,D*5A
+$GPRMC,102509.00,A,5157.04628,N,00424.97393,E,44.599,324.91,120308,,,D*5F
+$GPRMC,102510.00,A,5157.05639,N,00424.96206,E,44.900,324.66,120308,,,D*5E
+$GPRMC,102511.00,A,5157.06681,N,00424.95019,E,45.217,324.65,120308,,,D*5F
+$GPRMC,102512.00,A,5157.07718,N,00424.93827,E,45.676,325.16,120308,,,D*59
+$GPRMC,102513.00,A,5157.08773,N,00424.92663,E,45.995,326.17,120308,,,D*55
+$GPRMC,102514.00,A,5157.09856,N,00424.91527,E,46.256,327.39,120308,,,D*51
+$GPRMC,102515.00,A,5157.10951,N,00424.90425,E,46.471,328.67,120308,,,D*5B
+$GPRMC,102516.00,A,5157.12077,N,00424.89369,E,47.200,330.35,120308,,,D*5F
+$GPRMC,102517.00,A,5157.13249,N,00424.88335,E,48.828,331.96,120308,,,D*5F
+$GPRMC,102518.00,A,5157.14483,N,00424.87308,E,50.592,333.01,120308,,,D*5F
+$GPRMC,102519.00,A,5157.15772,N,00424.86277,E,52.441,333.73,120308,,,D*52
+$GPRMC,102520.00,A,5157.17111,N,00424.85225,E,54.229,333.95,120308,,,D*5B
+$GPRMC,102521.00,A,5157.18497,N,00424.84154,E,55.696,334.30,120308,,,D*53
+$GPRMC,102522.00,A,5157.19897,N,00424.83079,E,55.418,334.34,120308,,,D*54
+$GPRMC,102523.00,A,5157.21292,N,00424.82007,E,55.354,334.20,120308,,,D*53
+$GPRMC,102524.00,A,5157.22689,N,00424.80926,E,55.708,334.05,120308,,,D*5B
+$GPRMC,102525.00,A,5157.24085,N,00424.79832,E,55.768,334.05,120308,,,D*52
+$GPRMC,102526.00,A,5157.25497,N,00424.78751,E,56.325,334.55,120308,,,D*57
+$GPRMC,102527.00,A,5157.26905,N,00424.77663,E,55.624,334.23,120308,,,D*5A
+$GPRMC,102528.00,A,5157.28302,N,00424.76581,E,55.205,334.42,120308,,,D*58
+$GPRMC,102529.00,A,5157.29701,N,00424.75527,E,54.928,334.97,120308,,,D*5D
+$GPRMC,102530.00,A,5157.31104,N,00424.74508,E,54.635,335.65,120308,,,D*5C
+$GPRMC,102531.00,A,5157.32491,N,00424.73514,E,54.126,336.14,120308,,,D*5D
+$GPRMC,102532.00,A,5157.33860,N,00424.72543,E,53.358,336.23,120308,,,D*56
+$GPRMC,102533.00,A,5157.35199,N,00424.71579,E,52.572,335.53,120308,,,D*5F
+$GPRMC,102534.00,A,5157.36509,N,00424.70610,E,51.864,335.17,120308,,,D*52
+$GPRMC,102535.00,A,5157.37797,N,00424.69642,E,51.074,334.92,120308,,,D*5D
+$GPRMC,102536.00,A,5157.39067,N,00424.68671,E,50.770,334.61,120308,,,D*57
+$GPRMC,102537.00,A,5157.40327,N,00424.67695,E,50.330,334.28,120308,,,D*57
+$GPRMC,102538.00,A,5157.41574,N,00424.66713,E,49.922,333.80,120308,,,D*53
+$GPRMC,102539.00,A,5157.42811,N,00424.65739,E,49.352,334.06,120308,,,D*50
+$GPRMC,102540.00,A,5157.44042,N,00424.64789,E,48.946,334.65,120308,,,D*57
+$GPRMC,102541.00,A,5157.45254,N,00424.63851,E,47.995,334.36,120308,,,D*58
+$GPRMC,102542.00,A,5157.46447,N,00424.62931,E,47.280,334.39,120308,,,D*5A
+$GPRMC,102543.00,A,5157.47634,N,00424.62010,E,47.398,334.17,120308,,,D*52
+$GPRMC,102544.00,A,5157.48818,N,00424.61084,E,47.277,334.10,120308,,,D*53
+$GPRMC,102545.00,A,5157.49990,N,00424.60170,E,46.507,334.31,120308,,,D*5B
+$GPRMC,102546.00,A,5157.51143,N,00424.59280,E,45.816,334.67,120308,,,D*5C
+$GPRMC,102547.00,A,5157.52276,N,00424.58419,E,44.895,334.91,120308,,,D*5F
+$GPRMC,102548.00,A,5157.53388,N,00424.57567,E,44.376,334.33,120308,,,D*58
+$GPRMC,102549.00,A,5157.54480,N,00424.56710,E,43.834,334.06,120308,,,D*5E
+$GPRMC,102550.00,A,5157.55565,N,00424.55854,E,43.553,334.04,120308,,,D*5F
+$GPRMC,102551.00,A,5157.56644,N,00424.54999,E,43.535,333.90,120308,,,D*56
+$GPRMC,102552.00,A,5157.57722,N,00424.54142,E,43.681,334.14,120308,,,D*5C
+$GPRMC,102553.00,A,5157.58807,N,00424.53288,E,43.821,334.19,120308,,,D*51
+$GPRMC,102554.00,A,5157.59893,N,00424.52427,E,43.976,334.34,120308,,,D*54
+$GPRMC,102555.00,A,5157.60990,N,00424.51566,E,44.231,334.38,120308,,,D*59
+$GPRMC,102556.00,A,5157.62091,N,00424.50697,E,44.476,334.05,120308,,,D*57
+$GPRMC,102557.00,A,5157.63217,N,00424.49837,E,45.315,335.70,120308,,,D*57
+$GPRMC,102558.00,A,5157.64324,N,00424.48976,E,44.162,334.46,120308,,,D*5C
+$GPRMC,102559.00,A,5157.65420,N,00424.48117,E,43.937,334.33,120308,,,D*5D
+$GPRMC,102600.00,A,5157.66519,N,00424.47267,E,44.075,334.49,120308,,,D*54
+$GPRMC,102601.00,A,5157.67620,N,00424.46412,E,44.189,334.21,120308,,,D*54
+$GPRMC,102602.00,A,5157.68723,N,00424.45552,E,44.165,334.26,120308,,,D*59
+$GPRMC,102603.00,A,5157.69826,N,00424.44682,E,44.182,333.71,120308,,,D*50
+$GPRMC,102604.00,A,5157.70929,N,00424.43802,E,44.232,333.71,120308,,,D*58
+$GPRMC,102605.00,A,5157.72033,N,00424.42927,E,44.220,334.03,120308,,,D*5F
+$GPRMC,102606.00,A,5157.73140,N,00424.42069,E,44.209,334.49,120308,,,D*5E
+$GPRMC,102607.00,A,5157.74248,N,00424.41223,E,44.119,334.64,120308,,,D*51
+$GPRMC,102608.00,A,5157.75350,N,00424.40383,E,43.890,334.53,120308,,,D*56
+$GPRMC,102609.00,A,5157.76446,N,00424.39544,E,43.577,334.52,120308,,,D*52
+$GPRMC,102610.00,A,5157.77537,N,00424.38709,E,43.391,334.58,120308,,,D*52
+$GPRMC,102611.00,A,5157.78623,N,00424.37873,E,43.515,334.38,120308,,,D*5B
+$GPRMC,102612.00,A,5157.79714,N,00424.37027,E,43.796,334.47,120308,,,D*54
+$GPRMC,102613.00,A,5157.80813,N,00424.36174,E,43.970,334.63,120308,,,D*5D
+$GPRMC,102614.00,A,5157.81912,N,00424.35319,E,44.143,334.18,120308,,,D*52
+$GPRMC,102615.00,A,5157.83011,N,00424.34456,E,44.290,334.13,120308,,,D*50
+$GPRMC,102616.00,A,5157.84115,N,00424.33591,E,44.403,334.31,120308,,,D*50
+$GPRMC,102617.00,A,5157.85227,N,00424.32728,E,44.445,334.47,120308,,,D*50
+$GPRMC,102618.00,A,5157.86341,N,00424.31863,E,44.459,334.22,120308,,,D*50
+$GPRMC,102619.00,A,5157.87450,N,00424.30991,E,44.491,334.23,120308,,,D*5F
+$GPRMC,102620.00,A,5157.88564,N,00424.30117,E,44.547,334.02,120308,,,D*53
+$GPRMC,102621.00,A,5157.89682,N,00424.29244,E,44.628,334.34,120308,,,D*5A
+$GPRMC,102622.00,A,5157.90801,N,00424.28375,E,44.652,334.57,120308,,,D*5E
+$GPRMC,102623.00,A,5157.91923,N,00424.27508,E,44.838,334.60,120308,,,D*5A
+$GPRMC,102624.00,A,5157.93043,N,00424.26629,E,44.903,334.41,120308,,,D*5B
+$GPRMC,102625.00,A,5157.94169,N,00424.25752,E,45.011,334.34,120308,,,D*53
+$GPRMC,102626.00,A,5157.95293,N,00424.24864,E,45.106,334.10,120308,,,D*5D
+$GPRMC,102627.00,A,5157.96419,N,00424.23974,E,45.195,334.22,120308,,,D*57
+$GPRMC,102628.00,A,5157.97551,N,00424.23084,E,45.398,334.16,120308,,,D*5A
+$GPRMC,102629.00,A,5157.98689,N,00424.22198,E,45.582,334.26,120308,,,D*51
+$GPRMC,102630.00,A,5157.99831,N,00424.21310,E,45.663,334.07,120308,,,D*5B
+$GPRMC,102631.00,A,5158.00971,N,00424.20411,E,45.882,334.05,120308,,,D*54
+$GPRMC,102632.00,A,5158.02115,N,00424.19504,E,46.184,333.80,120308,,,D*56
+$GPRMC,102633.00,A,5158.03262,N,00424.18588,E,46.249,334.02,120308,,,D*5F
+$GPRMC,102634.00,A,5158.04420,N,00424.17681,E,46.361,334.14,120308,,,D*56
+$GPRMC,102635.00,A,5158.05583,N,00424.16771,E,46.723,334.36,120308,,,D*53
+$GPRMC,102636.00,A,5158.06752,N,00424.15861,E,46.753,334.37,120308,,,D*56
+$GPRMC,102637.00,A,5158.07928,N,00424.14954,E,47.098,334.43,120308,,,D*51
+$GPRMC,102638.00,A,5158.09109,N,00424.14033,E,47.379,334.36,120308,,,D*5D
+$GPRMC,102639.00,A,5158.10292,N,00424.13097,E,47.571,333.96,120308,,,D*5F
+$GPRMC,102640.00,A,5158.11476,N,00424.12157,E,47.545,334.08,120308,,,D*57
+$GPRMC,102641.00,A,5158.12663,N,00424.11233,E,47.440,334.34,120308,,,D*5A
+$GPRMC,102642.00,A,5158.13850,N,00424.10316,E,47.305,334.34,120308,,,D*57
+$GPRMC,102643.00,A,5158.15030,N,00424.09395,E,47.085,334.16,120308,,,D*56
+$GPRMC,102644.00,A,5158.16206,N,00424.08484,E,46.906,334.50,120308,,,D*52
+$GPRMC,102645.00,A,5158.17380,N,00424.07577,E,46.778,334.08,120308,,,D*55
+$GPRMC,102646.00,A,5158.18550,N,00424.06666,E,46.793,334.39,120308,,,D*57
+$GPRMC,102647.00,A,5158.19724,N,00424.05762,E,46.776,334.63,120308,,,D*54
+$GPRMC,102648.00,A,5158.20899,N,00424.04864,E,46.668,334.73,120308,,,D*5F
+$GPRMC,102649.00,A,5158.22068,N,00424.03972,E,46.539,334.65,120308,,,D*5B
+$GPRMC,102650.00,A,5158.23236,N,00424.03090,E,46.707,334.99,120308,,,D*52
+$GPRMC,102651.00,A,5158.24415,N,00424.02223,E,46.706,335.93,120308,,,D*52
+$GPRMC,102652.00,A,5158.25608,N,00424.01394,E,46.633,337.40,120308,,,D*5B
+$GPRMC,102653.00,A,5158.26817,N,00424.00619,E,46.782,339.01,120308,,,D*58
+$GPRMC,102654.00,A,5158.28037,N,00423.99900,E,46.999,340.59,120308,,,D*5C
+$GPRMC,102655.00,A,5158.29274,N,00423.99225,E,47.216,341.69,120308,,,D*5A
+$GPRMC,102656.00,A,5158.30523,N,00423.98587,E,47.209,342.86,120308,,,D*56
+$GPRMC,102657.00,A,5158.31770,N,00423.97997,E,46.789,344.16,120308,,,D*53
+$GPRMC,102658.00,A,5158.33013,N,00423.97453,E,46.297,345.08,120308,,,D*5D
+$GPRMC,102659.00,A,5158.34245,N,00423.96939,E,45.662,345.58,120308,,,D*52
+$GPRMC,102700.00,A,5158.35463,N,00423.96439,E,45.165,345.46,120308,,,D*5E
+$GPRMC,102701.00,A,5158.36667,N,00423.95937,E,44.718,345.13,120308,,,D*57
+$GPRMC,102702.00,A,5158.37856,N,00423.95429,E,44.365,345.07,120308,,,D*50
+$GPRMC,102703.00,A,5158.39035,N,00423.94928,E,43.913,345.24,120308,,,D*52
+$GPRMC,102704.00,A,5158.40204,N,00423.94441,E,43.541,345.47,120308,,,D*57
+$GPRMC,102705.00,A,5158.41368,N,00423.93956,E,43.430,345.32,120308,,,D*55
+$GPRMC,102706.00,A,5158.42527,N,00423.93465,E,43.375,345.07,120308,,,D*55
+$GPRMC,102707.00,A,5158.43683,N,00423.92978,E,42.899,345.40,120308,,,D*53
+$GPRMC,102708.00,A,5158.44824,N,00423.92506,E,42.391,345.54,120308,,,D*5B
+$GPRMC,102709.00,A,5158.45955,N,00423.92039,E,42.174,345.43,120308,,,D*5A
+$GPRMC,102710.00,A,5158.47086,N,00423.91563,E,42.202,345.01,120308,,,D*5A
+$GPRMC,102711.00,A,5158.48218,N,00423.91080,E,42.266,345.07,120308,,,D*5D
+$GPRMC,102712.00,A,5158.49350,N,00423.90594,E,42.349,344.99,120308,,,D*59
+$GPRMC,102713.00,A,5158.50482,N,00423.90104,E,42.309,345.01,120308,,,D*51
+$GPRMC,102714.00,A,5158.51613,N,00423.89621,E,42.207,345.21,120308,,,D*58
+$GPRMC,102715.00,A,5158.52744,N,00423.89145,E,42.170,345.38,120308,,,D*57
+$GPRMC,102716.00,A,5158.53873,N,00423.88664,E,42.264,345.21,120308,,,D*55
+$GPRMC,102717.00,A,5158.55009,N,00423.88187,E,42.216,345.40,120308,,,D*5F
+$GPRMC,102718.00,A,5158.56143,N,00423.87713,E,42.140,345.45,120308,,,D*5D
+$GPRMC,102719.00,A,5158.57273,N,00423.87242,E,42.149,345.61,120308,,,D*53
+$GPRMC,102720.00,A,5158.58402,N,00423.86767,E,42.088,345.25,120308,,,D*59
+$GPRMC,102721.00,A,5158.59531,N,00423.86287,E,41.966,345.22,120308,,,D*5E
+$GPRMC,102722.00,A,5158.60655,N,00423.85810,E,41.888,345.17,120308,,,D*56
+$GPRMC,102723.00,A,5158.61776,N,00423.85332,E,41.762,345.13,120308,,,D*52
+$GPRMC,102724.00,A,5158.62895,N,00423.84849,E,41.743,344.94,120308,,,D*5F
+$GPRMC,102725.00,A,5158.64013,N,00423.84362,E,41.643,344.95,120308,,,D*5C
+$GPRMC,102726.00,A,5158.65131,N,00423.83878,E,41.625,345.06,120308,,,D*53
+$GPRMC,102727.00,A,5158.66246,N,00423.83394,E,41.727,345.17,120308,,,D*58
+$GPRMC,102728.00,A,5158.67369,N,00423.82917,E,41.931,345.19,120308,,,D*5D
+$GPRMC,102729.00,A,5158.68502,N,00423.82434,E,42.367,345.07,120308,,,D*51
+$GPRMC,102730.00,A,5158.69646,N,00423.81944,E,42.911,345.04,120308,,,D*5A
+$GPRMC,102731.00,A,5158.70805,N,00423.81445,E,43.464,345.04,120308,,,D*58
+$GPRMC,102732.00,A,5158.71979,N,00423.80942,E,43.870,345.27,120308,,,D*53
+$GPRMC,102733.00,A,5158.73159,N,00423.80441,E,44.096,345.40,120308,,,D*52
+$GPRMC,102734.00,A,5158.74337,N,00423.79939,E,44.081,345.27,120308,,,D*5B
+$GPRMC,102735.00,A,5158.75511,N,00423.79435,E,43.805,345.22,120308,,,D*5E
+$GPRMC,102736.00,A,5158.76682,N,00423.78930,E,43.774,345.14,120308,,,D*52
+$GPRMC,102737.00,A,5158.77852,N,00423.78428,E,43.772,345.16,120308,,,D*51
+$GPRMC,102738.00,A,5158.79027,N,00423.77924,E,43.929,345.18,120308,,,D*5A
+$GPRMC,102739.00,A,5158.80216,N,00423.77412,E,44.090,344.92,120308,,,D*5A
+$GPRMC,102740.00,A,5158.81407,N,00423.76895,E,44.602,345.07,120308,,,D*51
+$GPRMC,102741.00,A,5158.82603,N,00423.76378,E,44.713,345.03,120308,,,D*58
+$GPRMC,102742.00,A,5158.83799,N,00423.75862,E,44.504,345.09,120308,,,D*55
+$GPRMC,102743.00,A,5158.84993,N,00423.75352,E,44.410,345.24,120308,,,D*54
+$GPRMC,102744.00,A,5158.86190,N,00423.74849,E,44.440,345.50,120308,,,D*5C
+$GPRMC,102745.00,A,5158.87380,N,00423.74347,E,44.653,345.49,120308,,,D*52
+$GPRMC,102746.00,A,5158.88573,N,00423.73840,E,44.405,345.33,120308,,,D*53
+$GPRMC,102747.00,A,5158.89766,N,00423.73323,E,44.437,344.92,120308,,,D*50
+$GPRMC,102748.00,A,5158.90942,N,00423.72797,E,44.523,344.93,120308,,,D*50
+$GPRMC,102749.00,A,5158.92125,N,00423.72275,E,44.472,345.14,120308,,,D*58
+$GPRMC,102750.00,A,5158.93307,N,00423.71757,E,44.350,345.10,120308,,,D*56
+$GPRMC,102751.00,A,5158.94491,N,00423.71241,E,44.165,345.03,120308,,,D*5C
+$GPRMC,102752.00,A,5158.95674,N,00423.70726,E,44.157,345.16,120308,,,D*57
+$GPRMC,102753.00,A,5158.96852,N,00423.70219,E,43.780,345.16,120308,,,D*5D
+$GPRMC,102754.00,A,5158.98021,N,00423.69716,E,43.459,345.05,120308,,,D*5F
+$GPRMC,102755.00,A,5158.99182,N,00423.69220,E,43.212,345.30,120308,,,D*58
+$GPRMC,102756.00,A,5159.00342,N,00423.68720,E,43.256,345.21,120308,,,D*50
+$GPRMC,102757.00,A,5159.01502,N,00423.68221,E,43.211,345.20,120308,,,D*54
+$GPRMC,102758.00,A,5159.02664,N,00423.67721,E,43.495,345.30,120308,,,D*5A
+$GPRMC,102759.00,A,5159.03839,N,00423.67223,E,43.830,345.50,120308,,,D*5E
+$GPRMC,102800.00,A,5159.05024,N,00423.66726,E,44.223,345.70,120308,,,D*53
+$GPRMC,102801.00,A,5159.06221,N,00423.66225,E,44.587,345.49,120308,,,D*53
+$GPRMC,102802.00,A,5159.07429,N,00423.65714,E,45.002,345.38,120308,,,D*54
+$GPRMC,102803.00,A,5159.08647,N,00423.65198,E,45.273,345.28,120308,,,D*57
+$GPRMC,102804.00,A,5159.09866,N,00423.64678,E,45.348,345.09,120308,,,D*5E
+$GPRMC,102805.00,A,5159.11095,N,00423.64155,E,45.783,345.37,120308,,,D*54
+$GPRMC,102806.00,A,5159.12331,N,00423.63626,E,45.885,345.07,120308,,,D*57
+$GPRMC,102807.00,A,5159.13571,N,00423.63096,E,46.033,345.34,120308,,,D*5E
+$GPRMC,102808.00,A,5159.14813,N,00423.62568,E,46.190,345.23,120308,,,D*54
+$GPRMC,102809.00,A,5159.16059,N,00423.62036,E,46.317,345.32,120308,,,D*52
+$GPRMC,102810.00,A,5159.17309,N,00423.61504,E,46.499,345.26,120308,,,D*5E
+$GPRMC,102811.00,A,5159.18563,N,00423.60969,E,46.577,345.16,120308,,,D*5E
+$GPRMC,102812.00,A,5159.19814,N,00423.60432,E,46.271,345.12,120308,,,D*57
+$GPRMC,102813.00,A,5159.21055,N,00423.59898,E,45.984,345.05,120308,,,D*52
+$GPRMC,102814.00,A,5159.22291,N,00423.59364,E,45.784,345.06,120308,,,D*59
+$GPRMC,102815.00,A,5159.23523,N,00423.58841,E,45.775,345.48,120308,,,D*5E
+$GPRMC,102816.00,A,5159.24763,N,00423.58337,E,46.083,346.17,120308,,,D*52
+$GPRMC,102817.00,A,5159.26021,N,00423.57856,E,46.718,346.96,120308,,,D*5F
+$GPRMC,102818.00,A,5159.27300,N,00423.57395,E,47.420,347.71,120308,,,D*54
+$GPRMC,102819.00,A,5159.28602,N,00423.56941,E,47.830,348.05,120308,,,A*5B
+$GPRMC,102820.00,A,5159.29906,N,00423.56490,E,47.541,347.92,120308,,,A*50
+$GPRMC,102821.00,A,5159.31191,N,00423.56030,E,46.713,347.55,120308,,,A*5F
+$GPRMC,102822.00,A,5159.32450,N,00423.55562,E,45.776,347.00,120308,,,A*56
+$GPRMC,102823.00,A,5159.33671,N,00423.55082,E,44.663,346.30,120308,,,A*5A
+$GPRMC,102824.00,A,5159.34870,N,00423.54596,E,44.271,346.13,120308,,,A*52
+$GPRMC,102825.00,A,5159.36023,N,00423.54098,E,42.873,345.33,120308,,,A*5B
+$GPRMC,102826.00,A,5159.37151,N,00423.53609,E,41.727,345.17,120308,,,A*5F
+$GPRMC,102827.00,A,5159.38259,N,00423.53131,E,40.905,344.98,120308,,,A*5F
+$GPRMC,102828.00,A,5159.39339,N,00423.52650,E,40.154,344.72,120308,,,A*5F
+$GPRMC,102829.00,A,5159.40406,N,00423.52172,E,39.886,344.98,120308,,,A*50
+$GPRMC,102830.00,A,5159.41487,N,00423.51714,E,40.292,345.13,120308,,,A*56
+$GPRMC,102831.00,A,5159.42573,N,00423.51236,E,40.983,345.05,120308,,,A*57
+$GPRMC,102832.00,A,5159.43678,N,00423.50751,E,41.637,344.98,120308,,,A*5C
+$GPRMC,102833.00,A,5159.44806,N,00423.50264,E,42.308,345.28,120308,,,A*5E
+$GPRMC,102834.00,A,5159.45947,N,00423.49776,E,42.785,345.45,120308,,,A*58
+$GPRMC,102835.00,A,5159.47103,N,00423.49288,E,43.410,345.36,120308,,,A*5D
+$GPRMC,102836.00,A,5159.48276,N,00423.48772,E,43.880,344.98,120308,,,A*51
+$GPRMC,102837.00,A,5159.49449,N,00423.48245,E,43.588,345.47,120308,,,A*5C
+$GPRMC,102838.00,A,5159.50597,N,00423.47733,E,43.472,345.76,120308,,,A*54
+$GPRMC,102839.00,A,5159.51745,N,00423.47249,E,43.036,346.56,120308,,,A*54
+$GPRMC,102840.00,A,5159.52898,N,00423.46814,E,42.593,348.13,120308,,,A*51
+$GPRMC,102841.00,A,5159.54057,N,00423.46435,E,42.219,349.33,120308,,,A*54
+$GPRMC,102842.00,A,5159.55203,N,00423.46089,E,41.734,350.15,120308,,,A*53
+$GPRMC,102843.00,A,5159.56364,N,00423.45817,E,40.950,350.69,120308,,,A*5B
+$GPRMC,102844.00,A,5159.57493,N,00423.45545,E,40.411,350.68,120308,,,A*51
+$GPRMC,102845.00,A,5159.58620,N,00423.45247,E,40.660,349.20,120308,,,A*50
+$GPRMC,102846.00,A,5159.59741,N,00423.44886,E,40.973,347.50,120308,,,A*56
+$GPRMC,102847.00,A,5159.60845,N,00423.44493,E,40.202,347.38,120308,,,A*5D
+$GPRMC,102848.00,A,5159.61925,N,00423.44119,E,39.200,348.31,120308,,,A*59
+$GPRMC,102849.00,A,5159.62971,N,00423.43794,E,37.569,349.70,120308,,,A*5C
+$GPRMC,102850.00,A,5159.63974,N,00423.43515,E,36.153,351.05,120308,,,A*5C
+$GPRMC,102851.00,A,5159.64946,N,00423.43283,E,34.846,351.71,120308,,,A*5F
+$GPRMC,102852.00,A,5159.65881,N,00423.43071,E,33.542,352.22,120308,,,A*53
+$GPRMC,102853.00,A,5159.66782,N,00423.42879,E,32.150,352.56,120308,,,A*59
+$GPRMC,102854.00,A,5159.67653,N,00423.42702,E,31.094,352.96,120308,,,A*57
+$GPRMC,102855.00,A,5159.68494,N,00423.42545,E,29.797,353.51,120308,,,A*56
+$GPRMC,102856.00,A,5159.69303,N,00423.42409,E,28.647,354.21,120308,,,A*59
+$GPRMC,102857.00,A,5159.70079,N,00423.42299,E,27.542,355.21,120308,,,A*59
+$GPRMC,102858.00,A,5159.70827,N,00423.42214,E,26.374,356.34,120308,,,A*55
+$GPRMC,102859.00,A,5159.71534,N,00423.42164,E,24.911,358.10,120308,,,A*5D
+$GPRMC,102900.00,A,5159.72196,N,00423.42150,E,22.914,359.97,120308,,,A*55
+$GPRMC,102901.00,A,5159.72793,N,00423.42173,E,20.409,1.88,120308,,,A*55
+$GPRMC,102902.00,A,5159.73298,N,00423.42221,E,16.575,3.99,120308,,,A*50
+$GPRMC,102903.00,A,5159.73702,N,00423.42282,E,13.238,5.63,120308,,,A*56
+$GPRMC,102904.00,A,5159.73998,N,00423.42344,E,9.031,6.30,120308,,,A*62
+$GPRMC,102905.00,A,5159.74173,N,00423.42382,E,4.336,6.43,120308,,,A*6E
+$GPRMC,102906.00,A,5159.74232,N,00423.42401,E,0.978,6.42,120308,,,A*62
+$GPRMC,102907.00,A,5159.74232,N,00423.42409,E,0.074,6.50,120308,,,A*6D
+$GPRMC,102908.00,A,5159.74217,N,00423.42419,E,0.046,12.01,120308,,,A*54
+$GPRMC,102909.00,A,5159.74198,N,00423.42427,E,0.009,,120308,,,A*7B
+$GPRMC,102910.00,A,5159.74182,N,00423.42435,E,0.010,,120308,,,A*73
+$GPRMC,102911.00,A,5159.74164,N,00423.42440,E,0.012,,120308,,,A*7A
+$GPRMC,102912.00,A,5159.74150,N,00423.42442,E,0.020,17.47,120308,,,A*56
+$GPRMC,102913.00,A,5159.74134,N,00423.42445,E,0.015,,120308,,,A*7F
+$GPRMC,102914.00,A,5159.74120,N,00423.42447,E,0.006,,120308,,,A*7D
+$GPRMC,102915.00,A,5159.74107,N,00423.42448,E,0.003,,120308,,,A*73
+$GPRMC,102916.00,A,5159.74096,N,00423.42448,E,0.017,,120308,,,A*7C
+$GPRMC,102917.00,A,5159.74086,N,00423.42451,E,0.013,,120308,,,A*70
+$GPRMC,102918.00,A,5159.74078,N,00423.42452,E,0.003,,120308,,,A*7C
+$GPRMC,102919.00,A,5159.74072,N,00423.42453,E,0.007,,120308,,,A*72
+$GPRMC,102920.00,A,5159.74067,N,00423.42455,E,0.009,,120308,,,A*74
+$GPRMC,102921.00,A,5159.74061,N,00423.42456,E,0.009,,120308,,,A*70
+$GPRMC,102922.00,A,5159.74057,N,00423.42457,E,0.003,,120308,,,A*7D
+$GPRMC,102923.00,A,5159.74053,N,00423.42458,E,0.018,,120308,,,A*7D
+$GPRMC,102924.00,A,5159.74049,N,00423.42460,E,0.003,,120308,,,A*70
+$GPRMC,102925.00,A,5159.74045,N,00423.42462,E,0.006,,120308,,,A*7A
+$GPRMC,102926.00,A,5159.74041,N,00423.42465,E,0.006,,120308,,,A*7A
+$GPRMC,102927.00,A,5159.74038,N,00423.42468,E,0.003,,120308,,,A*7D
+$GPRMC,102928.00,A,5159.74034,N,00423.42472,E,0.005,,120308,,,A*73
+$GPRMC,102929.00,A,5159.74031,N,00423.42475,E,0.008,,120308,,,A*7D
+$GPRMC,102930.00,A,5159.74028,N,00423.42476,E,0.010,,120308,,,A*77
+$GPRMC,102931.00,A,5159.74027,N,00423.42478,E,0.005,,120308,,,A*73
+$GPRMC,102932.00,A,5159.74025,N,00423.42480,E,0.002,,120308,,,A*72
+$GPRMC,102933.00,A,5159.74024,N,00423.42481,E,0.183,17.15,120308,,,A*57
+$GPRMC,102934.00,A,5159.74049,N,00423.42485,E,1.663,16.48,120308,,,A*5E
+$GPRMC,102935.00,A,5159.74142,N,00423.42502,E,5.213,6.59,120308,,,A*6D
+$GPRMC,102936.00,A,5159.74341,N,00423.42541,E,9.801,6.80,120308,,,A*69
+$GPRMC,102937.00,A,5159.74630,N,00423.42602,E,11.593,7.99,120308,,,A*59
+$GPRMC,102938.00,A,5159.74980,N,00423.42688,E,14.021,9.50,120308,,,A*52
+$GPRMC,102939.00,A,5159.75398,N,00423.42816,E,17.366,11.33,120308,,,A*67
+$GPRMC,102940.00,A,5159.75911,N,00423.43008,E,20.351,13.05,120308,,,A*63
+$GPRMC,102941.00,A,5159.76492,N,00423.43251,E,22.651,14.62,120308,,,A*68
+$GPRMC,102942.00,A,5159.77108,N,00423.43530,E,23.002,15.87,120308,,,A*67
+$GPRMC,102943.00,A,5159.77753,N,00423.43820,E,24.715,14.85,120308,,,A*67
+$GPRMC,102944.00,A,5159.78454,N,00423.44073,E,26.387,10.32,120308,,,A*67
+$GPRMC,102945.00,A,5159.79198,N,00423.44194,E,27.458,2.27,120308,,,A*59
+$GPRMC,102946.00,A,5159.79981,N,00423.44121,E,28.083,351.55,120308,,,A*59
+$GPRMC,102947.00,A,5159.80752,N,00423.43797,E,28.553,340.87,120308,,,A*55
+$GPRMC,102948.00,A,5159.81472,N,00423.43242,E,28.611,330.59,120308,,,A*56
+$GPRMC,102949.00,A,5159.82126,N,00423.42493,E,28.631,321.12,120308,,,A*56
+$GPRMC,102950.00,A,5159.82702,N,00423.41590,E,28.827,311.67,120308,,,A*57
+$GPRMC,102951.00,A,5159.83185,N,00423.40518,E,29.373,302.62,120308,,,A*53
+$GPRMC,102952.00,A,5159.83562,N,00423.39312,E,30.154,293.84,120308,,,A*51
+$GPRMC,102953.00,A,5159.83831,N,00423.38009,E,30.165,285.05,120308,,,A*5F
+$GPRMC,102954.00,A,5159.83956,N,00423.36688,E,29.080,273.67,120308,,,A*56
+$GPRMC,102955.00,A,5159.83917,N,00423.35416,E,27.338,261.75,120308,,,A*5A
+$GPRMC,102956.00,A,5159.83743,N,00423.34300,E,23.103,251.97,120308,,,A*56
+$GPRMC,102957.00,A,5159.83529,N,00423.33423,E,18.261,247.13,120308,,,A*5C
+$GPRMC,102958.00,A,5159.83330,N,00423.32739,E,14.917,245.18,120308,,,A*5B
+$GPRMC,102959.00,A,5159.83164,N,00423.32202,E,11.572,244.34,120308,,,A*51
+$GPRMC,103000.00,A,5159.83020,N,00423.31761,E,10.221,242.70,120308,,,A*51
+$GPRMC,103001.00,A,5159.82880,N,00423.31356,E,10.201,241.05,120308,,,A*50
+$GPRMC,103002.00,A,5159.82735,N,00423.30959,E,10.167,239.32,120308,,,A*5E
+$GPRMC,103003.00,A,5159.82589,N,00423.30571,E,9.904,238.58,120308,,,A*64
+$GPRMC,103004.00,A,5159.82445,N,00423.30204,E,9.337,237.66,120308,,,A*6F
+$GPRMC,103005.00,A,5159.82302,N,00423.29858,E,9.063,236.25,120308,,,A*65
+$GPRMC,103006.00,A,5159.82145,N,00423.29498,E,10.254,234.48,120308,,,A*50
+$GPRMC,103007.00,A,5159.81962,N,00423.29103,E,11.579,233.03,120308,,,A*59
+$GPRMC,103008.00,A,5159.81756,N,00423.28677,E,12.312,232.03,120308,,,A*53
+$GPRMC,103009.00,A,5159.81535,N,00423.28234,E,12.977,230.61,120308,,,A*59
+$GPRMC,103010.00,A,5159.81271,N,00423.27784,E,14.465,225.05,120308,,,A*59
+$GPRMC,103011.00,A,5159.80944,N,00423.27367,E,15.027,214.16,120308,,,A*5E
+$GPRMC,103012.00,A,5159.80580,N,00423.27071,E,14.385,199.96,120308,,,A*59
+$GPRMC,103013.00,A,5159.80203,N,00423.26940,E,13.474,186.99,120308,,,A*51
+$GPRMC,103014.00,A,5159.79844,N,00423.26917,E,12.191,177.77,120308,,,A*5A
+$GPRMC,103015.00,A,5159.79526,N,00423.26969,E,10.447,172.20,120308,,,A*50
+$GPRMC,103016.00,A,5159.79250,N,00423.27046,E,9.346,168.58,120308,,,A*6A
+$GPRMC,103017.00,A,5159.78998,N,00423.27129,E,8.838,167.39,120308,,,A*66
+$GPRMC,103018.00,A,5159.78754,N,00423.27219,E,8.831,166.75,120308,,,A*67
+$GPRMC,103019.00,A,5159.78513,N,00423.27316,E,8.823,166.17,120308,,,A*6E
+$GPRMC,103020.00,A,5159.78272,N,00423.27419,E,8.921,165.64,120308,,,A*68
+$GPRMC,103021.00,A,5159.78031,N,00423.27528,E,8.910,165.00,120308,,,A*6F
+$GPRMC,103022.00,A,5159.77797,N,00423.27637,E,8.460,164.71,120308,,,A*68
+$GPRMC,103023.00,A,5159.77577,N,00423.27740,E,7.903,164.20,120308,,,A*67
+$GPRMC,103024.00,A,5159.77375,N,00423.27833,E,7.184,164.35,120308,,,A*6C
+$GPRMC,103025.00,A,5159.77191,N,00423.27922,E,6.641,164.27,120308,,,A*68
+$GPRMC,103026.00,A,5159.77030,N,00423.27997,E,5.430,164.08,120308,,,A*65
+$GPRMC,103027.00,A,5159.76910,N,00423.28052,E,3.707,164.05,120308,,,A*6D
+$GPRMC,103028.00,A,5159.76835,N,00423.28085,E,2.114,164.21,120308,,,A*6D
+$GPRMC,103029.00,A,5159.76807,N,00423.28093,E,0.349,164.49,120308,,,A*6C
+$GPRMC,103030.00,A,5159.76808,N,00423.28090,E,0.011,,120308,,,A*76
+$GPRMC,103031.00,A,5159.76815,N,00423.28088,E,0.014,,120308,,,A*77
+$GPRMC,103032.00,A,5159.76822,N,00423.28084,E,0.008,,120308,,,A*71
+$GPRMC,103033.00,A,5159.76828,N,00423.28082,E,0.008,,120308,,,A*7C
+$GPRMC,103034.00,A,5159.76835,N,00423.28082,E,0.008,,120308,,,A*77
+$GPRMC,103035.00,A,5159.76840,N,00423.28081,E,0.018,,120308,,,A*76
+$GPRMC,103036.00,A,5159.76847,N,00423.28082,E,0.036,163.71,120308,,,A*61
+$GPRMC,103037.00,A,5159.76831,N,00423.28092,E,1.417,163.77,120308,,,A*60
+$GPRMC,103038.00,A,5159.76746,N,00423.28134,E,4.891,164.08,120308,,,A*65
+$GPRMC,103039.00,A,5159.76582,N,00423.28210,E,7.270,164.11,120308,,,A*65
+$GPRMC,103040.00,A,5159.76362,N,00423.28314,E,8.958,164.15,120308,,,A*6C
+$GPRMC,103041.00,A,5159.76115,N,00423.28431,E,9.238,164.28,120308,,,A*6D
+$GPRMC,103042.00,A,5159.75857,N,00423.28551,E,9.702,163.96,120308,,,A*6B
+$GPRMC,103043.00,A,5159.75583,N,00423.28681,E,10.428,163.57,120308,,,A*5E
+$GPRMC,103044.00,A,5159.75304,N,00423.28818,E,10.208,162.83,120308,,,A*52
+$GPRMC,103045.00,A,5159.75034,N,00423.28957,E,9.883,161.96,120308,,,A*6F
+$GPRMC,103046.00,A,5159.74775,N,00423.29096,E,9.487,161.12,120308,,,A*6E
+$GPRMC,103047.00,A,5159.74541,N,00423.29228,E,8.177,160.27,120308,,,A*61
+$GPRMC,103048.00,A,5159.74341,N,00423.29345,E,7.008,159.44,120308,,,A*6B
+$GPRMC,103049.00,A,5159.74142,N,00423.29468,E,8.070,158.69,120308,,,A*6D
+$GPRMC,103050.00,A,5159.73897,N,00423.29628,E,10.521,157.78,120308,,,A*52
+$GPRMC,103051.00,A,5159.73607,N,00423.29833,E,11.693,156.70,120308,,,A*52
+$GPRMC,103052.00,A,5159.73303,N,00423.30056,E,11.685,155.62,120308,,,A*54
+$GPRMC,103053.00,A,5159.73012,N,00423.30281,E,10.915,155.24,120308,,,A*5B
+$GPRMC,103054.00,A,5159.72739,N,00423.30498,E,10.513,154.77,120308,,,A*50
+$GPRMC,103055.00,A,5159.72462,N,00423.30724,E,11.370,155.00,120308,,,A*5B
+$GPRMC,103056.00,A,5159.72161,N,00423.30965,E,12.311,154.79,120308,,,A*5E
+$GPRMC,103057.00,A,5159.71845,N,00423.31208,E,12.442,154.97,120308,,,A*53
+$GPRMC,103058.00,A,5159.71524,N,00423.31453,E,12.691,155.06,120308,,,A*5B
+$GPRMC,103059.00,A,5159.71193,N,00423.31701,E,13.134,155.51,120308,,,A*5D
+$GPRMC,103100.00,A,5159.70848,N,00423.31952,E,13.706,156.14,120308,,,A*53
+$GPRMC,103101.00,A,5159.70493,N,00423.32203,E,13.846,156.84,120308,,,A*56
+$GPRMC,103102.00,A,5159.70135,N,00423.32447,E,13.833,157.41,120308,,,A*50
+$GPRMC,103103.00,A,5159.69775,N,00423.32686,E,13.848,157.74,120308,,,A*5E
+$GPRMC,103104.00,A,5159.69414,N,00423.32925,E,13.843,157.72,120308,,,A*56
+$GPRMC,103105.00,A,5159.69051,N,00423.33161,E,13.938,158.17,120308,,,A*5A
+$GPRMC,103106.00,A,5159.68684,N,00423.33399,E,14.147,157.60,120308,,,A*5B
+$GPRMC,103107.00,A,5159.68296,N,00423.33655,E,15.489,157.66,120308,,,A*58
+$GPRMC,103108.00,A,5159.67871,N,00423.33934,E,17.018,157.79,120308,,,A*53
+$GPRMC,103109.00,A,5159.67420,N,00423.34228,E,17.346,157.82,120308,,,A*57
+$GPRMC,103110.00,A,5159.66967,N,00423.34526,E,17.221,157.77,120308,,,A*53
+$GPRMC,103111.00,A,5159.66519,N,00423.34821,E,17.140,157.94,120308,,,A*54
+$GPRMC,103112.00,A,5159.66070,N,00423.35112,E,17.171,158.20,120308,,,A*57
+$GPRMC,103113.00,A,5159.65622,N,00423.35399,E,17.170,158.33,120308,,,A*56
+$GPRMC,103114.00,A,5159.65174,N,00423.35686,E,17.162,158.39,120308,,,A*57
+$GPRMC,103115.00,A,5159.64727,N,00423.35971,E,17.072,158.53,120308,,,A*5C
+$GPRMC,103116.00,A,5159.64283,N,00423.36252,E,16.970,158.46,120308,,,A*53
+$GPRMC,103117.00,A,5159.63851,N,00423.36531,E,16.327,158.16,120308,,,A*5F
+$GPRMC,103118.00,A,5159.63431,N,00423.36806,E,16.118,157.94,120308,,,A*58
+$GPRMC,103119.00,A,5159.63017,N,00423.37074,E,15.820,158.46,120308,,,A*54
+$GPRMC,103120.00,A,5159.62631,N,00423.37315,E,13.805,159.15,120308,,,A*5F
+$GPRMC,103121.00,A,5159.62332,N,00423.37496,E,9.193,159.34,120308,,,A*6A
+$GPRMC,103122.00,A,5159.62136,N,00423.37612,E,6.061,159.39,120308,,,A*6F
+$GPRMC,103123.00,A,5159.62001,N,00423.37689,E,4.493,159.41,120308,,,A*6D
+$GPRMC,103124.00,A,5159.61906,N,00423.37744,E,3.132,159.08,120308,,,A*63
+$GPRMC,103125.00,A,5159.61827,N,00423.37787,E,3.228,159.19,120308,,,A*67
+$GPRMC,103126.00,A,5159.61745,N,00423.37833,E,3.289,159.28,120308,,,A*66
+$GPRMC,103127.00,A,5159.61658,N,00423.37882,E,3.662,158.85,120308,,,A*67
+$GPRMC,103128.00,A,5159.61562,N,00423.37937,E,4.010,159.04,120308,,,A*61
+$GPRMC,103129.00,A,5159.61459,N,00423.38000,E,4.273,159.07,120308,,,A*6F
+$GPRMC,103130.00,A,5159.61348,N,00423.38067,E,4.470,158.90,120308,,,A*6B
+$GPRMC,103131.00,A,5159.61232,N,00423.38138,E,4.738,158.88,120308,,,A*6B
+$GPRMC,103132.00,A,5159.61110,N,00423.38211,E,4.813,159.07,120308,,,A*63
+$GPRMC,103133.00,A,5159.60987,N,00423.38285,E,4.848,159.02,120308,,,A*63
+$GPRMC,103134.00,A,5159.60860,N,00423.38361,E,5.022,159.15,120308,,,A*64
+$GPRMC,103135.00,A,5159.60723,N,00423.38443,E,5.537,159.22,120308,,,A*6F
+$GPRMC,103136.00,A,5159.60567,N,00423.38539,E,6.443,159.36,120308,,,A*66
+$GPRMC,103137.00,A,5159.60393,N,00423.38642,E,6.920,159.32,120308,,,A*69
+$GPRMC,103138.00,A,5159.60219,N,00423.38746,E,6.477,159.29,120308,,,A*65
+$GPRMC,103139.00,A,5159.60059,N,00423.38843,E,5.829,159.53,120308,,,A*61
+$GPRMC,103140.00,A,5159.59915,N,00423.38931,E,5.149,159.43,120308,,,A*6E
+$GPRMC,103141.00,A,5159.59791,N,00423.39005,E,4.458,159.81,120308,,,A*68
+$GPRMC,103142.00,A,5159.59685,N,00423.39068,E,3.870,159.68,120308,,,A*62
+$GPRMC,103143.00,A,5159.59592,N,00423.39121,E,3.516,159.63,120308,,,A*6C
+$GPRMC,103144.00,A,5159.59491,N,00423.39182,E,4.239,159.89,120308,,,A*69
+$GPRMC,103145.00,A,5159.59372,N,00423.39253,E,4.821,159.86,120308,,,A*61
+$GPRMC,103146.00,A,5159.59251,N,00423.39322,E,4.614,159.86,120308,,,A*6D
+$GPRMC,103147.00,A,5159.59137,N,00423.39391,E,4.137,160.24,120308,,,A*63
+$GPRMC,103148.00,A,5159.59037,N,00423.39452,E,3.598,159.65,120308,,,A*6C
+$GPRMC,103149.00,A,5159.58954,N,00423.39504,E,2.866,160.03,120308,,,A*65
+$GPRMC,103150.00,A,5159.58897,N,00423.39540,E,1.809,160.02,120308,,,A*68
+$GPRMC,103151.00,A,5159.58872,N,00423.39558,E,0.415,160.12,120308,,,A*6A
+$GPRMC,103152.00,A,5159.58870,N,00423.39563,E,0.094,160.06,120308,,,A*6B
+$GPRMC,103153.00,A,5159.58870,N,00423.39569,E,0.300,160.03,120308,,,A*6B
+$GPRMC,103154.00,A,5159.58861,N,00423.39579,E,0.484,159.99,120308,,,A*6F
+$GPRMC,103155.00,A,5159.58849,N,00423.39591,E,0.678,160.01,120308,,,A*68
+$GPRMC,103156.00,A,5159.58838,N,00423.39602,E,0.356,159.86,120308,,,A*68
+$GPRMC,103157.00,A,5159.58822,N,00423.39615,E,1.062,159.87,120308,,,A*60
+$GPRMC,103158.00,A,5159.58731,N,00423.39675,E,5.880,159.46,120308,,,A*69
+$GPRMC,103159.00,A,5159.58504,N,00423.39814,E,11.287,159.41,120308,,,A*5A
+$GPRMC,103200.00,A,5159.58169,N,00423.40021,E,14.108,159.40,120308,,,A*5A
+$GPRMC,103201.00,A,5159.57747,N,00423.40281,E,17.806,159.31,120308,,,A*54
+$GPRMC,103202.00,A,5159.57216,N,00423.40608,E,22.205,159.51,120308,,,A*5A
+$GPRMC,103203.00,A,5159.56591,N,00423.40992,E,25.145,159.49,120308,,,A*57
+$GPRMC,103204.00,A,5159.55903,N,00423.41417,E,27.081,159.32,120308,,,A*52
+$GPRMC,103205.00,A,5159.55153,N,00423.41878,E,29.920,159.52,120308,,,A*51
+$GPRMC,103206.00,A,5159.54338,N,00423.42378,E,31.961,159.41,120308,,,A*5A
+$GPRMC,103207.00,A,5159.53485,N,00423.42894,E,32.805,159.91,120308,,,A*59
+$GPRMC,103208.00,A,5159.52601,N,00423.43413,E,34.160,160.38,120308,,,A*5E
+$GPRMC,103209.00,A,5159.51687,N,00423.43932,E,34.863,160.98,120308,,,A*5C
+$GPRMC,103210.00,A,5159.50763,N,00423.44438,E,34.729,161.78,120308,,,A*50
+$GPRMC,103211.00,A,5159.49842,N,00423.44918,E,34.289,162.75,120308,,,A*5B
+$GPRMC,103212.00,A,5159.48930,N,00423.45372,E,33.863,163.42,120308,,,A*56
+$GPRMC,103213.00,A,5159.48020,N,00423.45803,E,33.703,163.83,120308,,,A*56
+$GPRMC,103214.00,A,5159.47112,N,00423.46228,E,33.846,163.93,120308,,,A*51
+$GPRMC,103215.00,A,5159.46192,N,00423.46655,E,34.458,163.80,120308,,,A*51
+$GPRMC,103216.00,A,5159.45261,N,00423.47103,E,35.010,162.93,120308,,,A*51
+$GPRMC,103217.00,A,5159.44322,N,00423.47574,E,35.167,162.53,120308,,,A*5E
+$GPRMC,103218.00,A,5159.43388,N,00423.48038,E,34.535,162.97,120308,,,A*5E
+$GPRMC,103219.00,A,5159.42475,N,00423.48474,E,33.591,163.79,120308,,,A*5F
+$GPRMC,103220.00,A,5159.41587,N,00423.48885,E,32.610,164.29,120308,,,A*51
+$GPRMC,103221.00,A,5159.40726,N,00423.49271,E,31.473,164.62,120308,,,A*53
+$GPRMC,103222.00,A,5159.39915,N,00423.49629,E,29.185,164.76,120308,,,A*59
+$GPRMC,103223.00,A,5159.39169,N,00423.49957,E,26.591,164.75,120308,,,A*50
+$GPRMC,103224.00,A,5159.38488,N,00423.50257,E,24.350,164.75,120308,,,A*56
+$GPRMC,103225.00,A,5159.37852,N,00423.50532,E,23.212,164.96,120308,,,A*5A
+$GPRMC,103226.00,A,5159.37243,N,00423.50800,E,22.462,165.07,120308,,,A*56
+$GPRMC,103227.00,A,5159.36640,N,00423.51065,E,22.223,164.88,120308,,,A*5E
+$GPRMC,103228.00,A,5159.36067,N,00423.51329,E,20.928,164.97,120308,,,A*55
+$GPRMC,103229.00,A,5159.35526,N,00423.51561,E,19.664,165.05,120308,,,A*5A
+$GPRMC,103230.00,A,5159.35035,N,00423.51773,E,17.428,165.33,120308,,,A*55
+$GPRMC,103231.00,A,5159.34599,N,00423.51957,E,15.712,165.37,120308,,,A*52
+$GPRMC,103232.00,A,5159.34198,N,00423.52130,E,15.109,165.27,120308,,,A*53
+$GPRMC,103233.00,A,5159.33795,N,00423.52290,E,15.188,166.43,120308,,,A*5F
+$GPRMC,103234.00,A,5159.33421,N,00423.52450,E,14.169,165.59,120308,,,A*58
+$GPRMC,103235.00,A,5159.33066,N,00423.52597,E,13.319,165.13,120308,,,A*58
+$GPRMC,103236.00,A,5159.32742,N,00423.52731,E,11.726,165.10,120308,,,A*5C
+$GPRMC,103237.00,A,5159.32479,N,00423.52835,E,9.243,165.12,120308,,,A*60
+$GPRMC,103238.00,A,5159.32283,N,00423.52912,E,6.673,164.75,120308,,,A*60
+$GPRMC,103239.00,A,5159.32154,N,00423.52962,E,4.167,164.71,120308,,,A*6B
+$GPRMC,103240.00,A,5159.32077,N,00423.52994,E,2.482,164.80,120308,,,A*6A
+$GPRMC,103241.00,A,5159.32029,N,00423.53013,E,1.912,164.77,120308,,,A*68
+$GPRMC,103242.00,A,5159.31994,N,00423.53022,E,1.657,164.76,120308,,,A*6A
+$GPRMC,103243.00,A,5159.31965,N,00423.53026,E,1.439,164.78,120308,,,A*65
+$GPRMC,103244.00,A,5159.31938,N,00423.53034,E,1.190,164.73,120308,,,A*64
+$GPRMC,103245.00,A,5159.31914,N,00423.53040,E,0.951,164.66,120308,,,A*68
+$GPRMC,103246.00,A,5159.31899,N,00423.53041,E,0.721,164.68,120308,,,A*69
+$GPRMC,103247.00,A,5159.31888,N,00423.53045,E,0.767,164.64,120308,,,A*62
+$GPRMC,103248.00,A,5159.31866,N,00423.53055,E,1.306,164.61,120308,,,A*6B
+$GPRMC,103249.00,A,5159.31829,N,00423.53072,E,1.751,164.62,120308,,,A*61
+$GPRMC,103250.00,A,5159.31789,N,00423.53090,E,1.595,164.60,120308,,,A*68
+$GPRMC,103251.00,A,5159.31753,N,00423.53106,E,1.392,164.59,120308,,,A*6B
+$GPRMC,103252.00,A,5159.31724,N,00423.53122,E,1.216,164.53,120308,,,A*69
+$GPRMC,103253.00,A,5159.31699,N,00423.53134,E,1.073,164.52,120308,,,A*68
+$GPRMC,103254.00,A,5159.31678,N,00423.53146,E,0.870,164.52,120308,,,A*6F
+$GPRMC,103255.00,A,5159.31658,N,00423.53154,E,1.064,164.51,120308,,,A*60
+$GPRMC,103256.00,A,5159.31620,N,00423.53170,E,2.115,163.74,120308,,,A*6E
+$GPRMC,103257.00,A,5159.31551,N,00423.53200,E,3.316,164.26,120308,,,A*6E
+$GPRMC,103258.00,A,5159.31465,N,00423.53240,E,3.301,163.99,120308,,,A*66
+$GPRMC,103259.00,A,5159.31384,N,00423.53276,E,2.999,164.12,120308,,,A*64
+$GPRMC,103300.00,A,5159.31309,N,00423.53309,E,2.823,164.21,120308,,,A*65
+$GPRMC,103301.00,A,5159.31231,N,00423.53342,E,2.872,163.89,120308,,,A*60
+$GPRMC,103302.00,A,5159.31157,N,00423.53368,E,2.862,164.37,120308,,,A*6B
+$GPRMC,103303.00,A,5159.31082,N,00423.53391,E,2.750,164.03,120308,,,A*6C
+$GPRMC,103304.00,A,5159.31012,N,00423.53416,E,2.582,164.21,120308,,,A*67
+$GPRMC,103305.00,A,5159.30945,N,00423.53441,E,2.561,164.26,120308,,,A*64
+$GPRMC,103306.00,A,5159.30877,N,00423.53468,E,2.643,164.23,120308,,,A*6A
+$GPRMC,103307.00,A,5159.30806,N,00423.53500,E,2.803,164.44,120308,,,A*69
+$GPRMC,103308.00,A,5159.30730,N,00423.53533,E,3.045,164.47,120308,,,A*64
+$GPRMC,103309.00,A,5159.30642,N,00423.53572,E,3.443,165.09,120308,,,A*6D
+$GPRMC,103310.00,A,5159.30545,N,00423.53617,E,3.813,165.35,120308,,,A*67
+$GPRMC,103311.00,A,5159.30442,N,00423.53666,E,3.970,164.96,120308,,,A*6A
+$GPRMC,103312.00,A,5159.30343,N,00423.53714,E,3.691,165.08,120308,,,A*6D
+$GPRMC,103313.00,A,5159.30253,N,00423.53754,E,3.280,165.34,120308,,,A*63
+$GPRMC,103314.00,A,5159.30169,N,00423.53790,E,2.986,165.17,120308,,,A*6B
+$GPRMC,103315.00,A,5159.30090,N,00423.53826,E,2.925,165.20,120308,,,A*62
+$GPRMC,103316.00,A,5159.30011,N,00423.53863,E,3.021,165.29,120308,,,A*6C
+$GPRMC,103317.00,A,5159.29929,N,00423.53903,E,3.192,165.34,120308,,,A*65
+$GPRMC,103318.00,A,5159.29841,N,00423.53946,E,3.472,165.45,120308,,,A*69
+$GPRMC,103319.00,A,5159.29746,N,00423.53987,E,3.804,165.41,120308,,,A*64
+$GPRMC,103320.00,A,5159.29641,N,00423.54032,E,4.154,165.63,120308,,,A*63
+$GPRMC,103321.00,A,5159.29522,N,00423.54080,E,4.752,165.67,120308,,,A*69
+$GPRMC,103322.00,A,5159.29384,N,00423.54141,E,5.430,165.33,120308,,,A*6B
+$GPRMC,103323.00,A,5159.29229,N,00423.54212,E,6.041,165.34,120308,,,A*6F
+$GPRMC,103324.00,A,5159.29064,N,00423.54285,E,6.129,165.40,120308,,,A*61
+$GPRMC,103325.00,A,5159.28903,N,00423.54354,E,6.019,165.09,120308,,,A*6B
+$GPRMC,103326.00,A,5159.28746,N,00423.54422,E,5.846,165.31,120308,,,A*6B
+$GPRMC,103327.00,A,5159.28594,N,00423.54489,E,5.654,165.15,120308,,,A*6D
+$GPRMC,103328.00,A,5159.28447,N,00423.54554,E,5.449,165.30,120308,,,A*65
+$GPRMC,103329.00,A,5159.28303,N,00423.54616,E,5.248,165.71,120308,,,A*64
+$GPRMC,103330.00,A,5159.28164,N,00423.54674,E,5.055,165.12,120308,,,A*60
+$GPRMC,103331.00,A,5159.28031,N,00423.54730,E,4.880,165.29,120308,,,A*68
+$GPRMC,103332.00,A,5159.27898,N,00423.54782,E,4.709,165.24,120308,,,A*65
+$GPRMC,103333.00,A,5159.27771,N,00423.54835,E,4.603,165.29,120308,,,A*69
+$GPRMC,103334.00,A,5159.27649,N,00423.54885,E,4.474,165.33,120308,,,A*66
+$GPRMC,103335.00,A,5159.27530,N,00423.54932,E,4.488,165.28,120308,,,A*6E
+$GPRMC,103336.00,A,5159.27408,N,00423.54980,E,4.552,165.36,120308,,,A*67
+$GPRMC,103337.00,A,5159.27287,N,00423.55029,E,4.625,165.28,120308,,,A*60
+$GPRMC,103338.00,A,5159.27162,N,00423.55081,E,4.738,165.23,120308,,,A*63
+$GPRMC,103339.00,A,5159.27033,N,00423.55134,E,4.905,165.45,120308,,,A*68
+$GPRMC,103340.00,A,5159.26901,N,00423.55190,E,5.123,165.25,120308,,,A*6A
+$GPRMC,103341.00,A,5159.26763,N,00423.55249,E,5.351,164.99,120308,,,A*67
+$GPRMC,103342.00,A,5159.26620,N,00423.55311,E,5.420,165.57,120308,,,A*6C
+$GPRMC,103343.00,A,5159.26478,N,00423.55377,E,5.239,165.46,120308,,,A*6C
+$GPRMC,103344.00,A,5159.26339,N,00423.55440,E,5.119,165.55,120308,,,A*69
+$GPRMC,103345.00,A,5159.26201,N,00423.55500,E,5.123,165.60,120308,,,A*68
+$GPRMC,103346.00,A,5159.26065,N,00423.55561,E,5.099,165.62,120308,,,A*6E
+$GPRMC,103347.00,A,5159.25929,N,00423.55622,E,5.049,165.60,120308,,,A*66
+$GPRMC,103348.00,A,5159.25795,N,00423.55683,E,4.961,165.67,120308,,,A*6E
+$GPRMC,103349.00,A,5159.25665,N,00423.55738,E,4.851,165.55,120308,,,A*63
+$GPRMC,103350.00,A,5159.25537,N,00423.55796,E,4.763,165.54,120308,,,A*64
+$GPRMC,103351.00,A,5159.25410,N,00423.55854,E,4.676,165.64,120308,,,A*66
+$GPRMC,103352.00,A,5159.25287,N,00423.55912,E,4.593,165.56,120308,,,A*67
+$GPRMC,103353.00,A,5159.25165,N,00423.55969,E,4.520,165.41,120308,,,A*6B
+$GPRMC,103354.00,A,5159.25046,N,00423.56025,E,4.449,165.39,120308,,,A*6F
+$GPRMC,103355.00,A,5159.24928,N,00423.56079,E,4.366,165.44,120308,,,A*67
+$GPRMC,103356.00,A,5159.24812,N,00423.56129,E,4.333,165.17,120308,,,A*6E
+$GPRMC,103357.00,A,5159.24697,N,00423.56180,E,4.285,165.35,120308,,,A*63
+$GPRMC,103358.00,A,5159.24580,N,00423.56231,E,4.378,165.19,120308,,,A*6D
+$GPRMC,103359.00,A,5159.24460,N,00423.56285,E,4.526,165.13,120308,,,A*6B
+$GPRMC,103400.00,A,5159.24335,N,00423.56339,E,4.692,165.16,120308,,,A*68
+$GPRMC,103401.00,A,5159.24206,N,00423.56391,E,4.822,165.21,120308,,,A*6B
+$GPRMC,103402.00,A,5159.24074,N,00423.56443,E,4.937,165.24,120308,,,A*67
+$GPRMC,103403.00,A,5159.23936,N,00423.56497,E,5.030,165.19,120308,,,A*66
+$GPRMC,103404.00,A,5159.23798,N,00423.56557,E,5.128,165.45,120308,,,A*67
+$GPRMC,103405.00,A,5159.23660,N,00423.56615,E,5.081,165.20,120308,,,A*64
+$GPRMC,103406.00,A,5159.23524,N,00423.56674,E,4.900,165.40,120308,,,A*64
+$GPRMC,103407.00,A,5159.23394,N,00423.56729,E,4.709,165.31,120308,,,A*60
+$GPRMC,103408.00,A,5159.23269,N,00423.56781,E,4.511,165.13,120308,,,A*65
+$GPRMC,103409.00,A,5159.23152,N,00423.56831,E,4.300,165.28,120308,,,A*65
+$GPRMC,103410.00,A,5159.23042,N,00423.56876,E,4.104,165.20,120308,,,A*60
+$GPRMC,103411.00,A,5159.22937,N,00423.56920,E,3.834,164.58,120308,,,A*6A
+$GPRMC,103412.00,A,5159.22837,N,00423.56960,E,3.720,165.15,120308,,,A*6E
+$GPRMC,103413.00,A,5159.22739,N,00423.57000,E,3.662,164.99,120308,,,A*62
+$GPRMC,103414.00,A,5159.22642,N,00423.57042,E,3.655,165.03,120308,,,A*68
+$GPRMC,103415.00,A,5159.22542,N,00423.57084,E,3.774,165.25,120308,,,A*66
+$GPRMC,103416.00,A,5159.22437,N,00423.57128,E,4.052,165.25,120308,,,A*65
+$GPRMC,103417.00,A,5159.22323,N,00423.57174,E,4.498,165.46,120308,,,A*68
+$GPRMC,103418.00,A,5159.22194,N,00423.57227,E,5.144,165.55,120308,,,A*6B
+$GPRMC,103419.00,A,5159.22047,N,00423.57288,E,5.765,165.62,120308,,,A*61
+$GPRMC,103420.00,A,5159.21885,N,00423.57359,E,6.288,165.69,120308,,,A*6D
+$GPRMC,103421.00,A,5159.21709,N,00423.57437,E,6.699,165.77,120308,,,A*63
+$GPRMC,103422.00,A,5159.21526,N,00423.57517,E,6.985,165.60,120308,,,A*68
+$GPRMC,103423.00,A,5159.21346,N,00423.57595,E,7.122,165.81,120308,,,A*68
+$GPRMC,103424.00,A,5159.21147,N,00423.57678,E,7.120,165.36,120308,,,A*62
+$GPRMC,103425.00,A,5159.20966,N,00423.57757,E,6.293,165.99,120308,,,A*6A
+$GPRMC,103426.00,A,5159.20786,N,00423.57847,E,6.902,162.33,120308,,,A*63
+$GPRMC,103427.00,A,5159.20573,N,00423.57940,E,7.063,164.40,120308,,,A*61
+$GPRMC,103428.00,A,5159.20364,N,00423.58032,E,6.982,164.61,120308,,,A*69
+$GPRMC,103429.00,A,5159.20165,N,00423.58117,E,6.974,164.75,120308,,,A*61
+$GPRMC,103430.00,A,5159.19971,N,00423.58201,E,6.872,164.61,120308,,,A*68
+$GPRMC,103431.00,A,5159.19785,N,00423.58286,E,6.697,164.56,120308,,,A*62
+$GPRMC,103432.00,A,5159.19606,N,00423.58366,E,6.503,164.50,120308,,,A*6C
+$GPRMC,103433.00,A,5159.19433,N,00423.58445,E,6.267,164.40,120308,,,A*6B
+$GPRMC,103434.00,A,5159.19265,N,00423.58519,E,6.169,164.30,120308,,,A*6B
+$GPRMC,103435.00,A,5159.19099,N,00423.58593,E,6.106,164.28,120308,,,A*69
+$GPRMC,103436.00,A,5159.18932,N,00423.58664,E,6.326,164.46,120308,,,A*60
+$GPRMC,103437.00,A,5159.18759,N,00423.58737,E,6.473,164.52,120308,,,A*67
+$GPRMC,103438.00,A,5159.18585,N,00423.58810,E,6.613,164.53,120308,,,A*64
+$GPRMC,103439.00,A,5159.18409,N,00423.58885,E,6.677,164.73,120308,,,A*6C
+$GPRMC,103440.00,A,5159.18240,N,00423.58962,E,6.547,165.11,120308,,,A*64
+$GPRMC,103441.00,A,5159.18071,N,00423.59041,E,6.419,164.88,120308,,,A*67
+$GPRMC,103442.00,A,5159.17907,N,00423.59118,E,6.257,164.90,120308,,,A*6B
+$GPRMC,103443.00,A,5159.17745,N,00423.59192,E,6.105,164.94,120308,,,A*60
+$GPRMC,103444.00,A,5159.17594,N,00423.59263,E,5.273,164.94,120308,,,A*65
+$GPRMC,103445.00,A,5159.17465,N,00423.59321,E,4.555,165.08,120308,,,A*6A
+$GPRMC,103446.00,A,5159.17352,N,00423.59373,E,3.921,165.38,120308,,,A*66
+$GPRMC,103447.00,A,5159.17255,N,00423.59414,E,3.515,165.43,120308,,,A*60
+$GPRMC,103448.00,A,5159.17170,N,00423.59450,E,2.987,165.28,120308,,,A*60
+$GPRMC,103449.00,A,5159.17095,N,00423.59481,E,2.811,164.93,120308,,,A*68
+$GPRMC,103450.00,A,5159.17023,N,00423.59512,E,2.831,165.08,120308,,,A*67
+$GPRMC,103451.00,A,5159.16947,N,00423.59545,E,2.953,165.04,120308,,,A*67
+$GPRMC,103452.00,A,5159.16868,N,00423.59582,E,3.001,165.14,120308,,,A*6D
+$GPRMC,103453.00,A,5159.16790,N,00423.59615,E,2.965,165.10,120308,,,A*67
+$GPRMC,103454.00,A,5159.16714,N,00423.59647,E,2.927,165.16,120308,,,A*6B
+$GPRMC,103455.00,A,5159.16637,N,00423.59681,E,2.953,164.96,120308,,,A*6A
+$GPRMC,103456.00,A,5159.16558,N,00423.59718,E,2.955,164.98,120308,,,A*6A
+$GPRMC,103457.00,A,5159.16478,N,00423.59752,E,2.957,165.26,120308,,,A*60
+$GPRMC,103458.00,A,5159.16401,N,00423.59783,E,2.915,165.11,120308,,,A*6F
+$GPRMC,103459.00,A,5159.16325,N,00423.59815,E,2.835,165.52,120308,,,A*6B
+$GPRMC,103500.00,A,5159.16252,N,00423.59850,E,2.747,165.21,120308,,,A*68
+$GPRMC,103501.00,A,5159.16177,N,00423.59883,E,2.909,165.22,120308,,,A*64
+$GPRMC,103502.00,A,5159.16094,N,00423.59920,E,3.255,165.93,120308,,,A*6A
+$GPRMC,103503.00,A,5159.16003,N,00423.59959,E,3.496,165.87,120308,,,A*67
+$GPRMC,103504.00,A,5159.15906,N,00423.60000,E,3.499,165.83,120308,,,A*6B
+$GPRMC,103505.00,A,5159.15815,N,00423.60037,E,3.152,165.51,120308,,,A*60
+$GPRMC,103506.00,A,5159.15730,N,00423.60072,E,3.003,165.22,120308,,,A*6B
+$GPRMC,103507.00,A,5159.15645,N,00423.60109,E,3.296,165.30,120308,,,A*69
+$GPRMC,103508.00,A,5159.15552,N,00423.60151,E,3.559,165.07,120308,,,A*6E
+$GPRMC,103509.00,A,5159.15457,N,00423.60194,E,3.421,164.87,120308,,,A*65
+$GPRMC,103510.00,A,5159.15366,N,00423.60234,E,3.258,164.75,120308,,,A*64
+$GPRMC,103511.00,A,5159.15280,N,00423.60270,E,3.049,165.02,120308,,,A*6F
+$GPRMC,103512.00,A,5159.15201,N,00423.60303,E,2.926,164.90,120308,,,A*6B
+$GPRMC,103513.00,A,5159.15121,N,00423.60333,E,3.014,165.99,120308,,,A*69
+$GPRMC,103514.00,A,5159.15039,N,00423.60365,E,3.145,166.54,120308,,,A*62
+$GPRMC,103515.00,A,5159.14949,N,00423.60401,E,3.548,166.72,120308,,,A*64
+$GPRMC,103516.00,A,5159.14834,N,00423.60448,E,4.938,165.70,120308,,,A*6C
+$GPRMC,103517.00,A,5159.14681,N,00423.60514,E,6.409,165.51,120308,,,A*6B
+$GPRMC,103518.00,A,5159.14497,N,00423.60594,E,7.228,165.15,120308,,,A*6D
+$GPRMC,103519.00,A,5159.14297,N,00423.60680,E,7.548,165.20,120308,,,A*6B
+$GPRMC,103520.00,A,5159.14092,N,00423.60765,E,7.554,165.58,120308,,,A*6E
+$GPRMC,103521.00,A,5159.13889,N,00423.60853,E,7.479,165.41,120308,,,A*66
+$GPRMC,103522.00,A,5159.13691,N,00423.60938,E,7.136,165.58,120308,,,A*68
+$GPRMC,103523.00,A,5159.13514,N,00423.61013,E,6.007,165.60,120308,,,A*6F
+$GPRMC,103524.00,A,5159.13356,N,00423.61077,E,5.661,165.63,120308,,,A*6C
+$GPRMC,103525.00,A,5159.13204,N,00423.61137,E,5.548,165.55,120308,,,A*63
+$GPRMC,103526.00,A,5159.13055,N,00423.61198,E,5.561,165.57,120308,,,A*6A
+$GPRMC,103527.00,A,5159.12910,N,00423.61258,E,5.274,165.57,120308,,,A*6E
+$GPRMC,103528.00,A,5159.12774,N,00423.61315,E,4.889,165.62,120308,,,A*6A
+$GPRMC,103529.00,A,5159.12643,N,00423.61369,E,4.875,165.78,120308,,,A*6D
+$GPRMC,103530.00,A,5159.12513,N,00423.61421,E,4.855,165.49,120308,,,A*68
+$GPRMC,103531.00,A,5159.12381,N,00423.61475,E,4.851,165.65,120308,,,A*6F
+$GPRMC,103532.00,A,5159.12248,N,00423.61528,E,4.910,165.68,120308,,,A*68
+$GPRMC,103533.00,A,5159.12112,N,00423.61584,E,5.188,165.86,120308,,,A*6B
+$GPRMC,103534.00,A,5159.11971,N,00423.61639,E,5.307,165.84,120308,,,A*60
+$GPRMC,103535.00,A,5159.11831,N,00423.61695,E,5.115,165.76,120308,,,A*6E
+$GPRMC,103536.00,A,5159.11696,N,00423.61750,E,5.045,165.45,120308,,,A*62
+$GPRMC,103537.00,A,5159.11559,N,00423.61808,E,5.162,165.51,120308,,,A*60
+$GPRMC,103538.00,A,5159.11413,N,00423.61869,E,5.701,165.54,120308,,,A*61
+$GPRMC,103539.00,A,5159.11253,N,00423.61935,E,6.227,165.68,120308,,,A*67
+$GPRMC,103540.00,A,5159.11078,N,00423.62008,E,6.749,165.64,120308,,,A*67
+$GPRMC,103541.00,A,5159.10889,N,00423.62087,E,7.217,165.85,120308,,,A*66
+$GPRMC,103542.00,A,5159.10689,N,00423.62171,E,7.585,165.70,120308,,,A*65
+$GPRMC,103543.00,A,5159.10481,N,00423.62259,E,7.877,165.63,120308,,,A*65
+$GPRMC,103544.00,A,5159.10267,N,00423.62350,E,7.980,165.47,120308,,,A*6B
+$GPRMC,103545.00,A,5159.10052,N,00423.62442,E,7.992,165.14,120308,,,A*6F
+$GPRMC,103546.00,A,5159.09836,N,00423.62535,E,8.065,164.76,120308,,,A*64
+$GPRMC,103547.00,A,5159.09620,N,00423.62631,E,8.078,164.48,120308,,,A*6A
+$GPRMC,103548.00,A,5159.09406,N,00423.62725,E,7.850,164.76,120308,,,A*67
+$GPRMC,103549.00,A,5159.09196,N,00423.62816,E,7.623,164.94,120308,,,A*63
+$GPRMC,103550.00,A,5159.08991,N,00423.62901,E,7.478,165.79,120308,,,A*6C
+$GPRMC,103551.00,A,5159.08790,N,00423.62981,E,7.351,166.27,120308,,,A*6E
+$GPRMC,103552.00,A,5159.08590,N,00423.63062,E,7.394,166.21,120308,,,A*65
+$GPRMC,103553.00,A,5159.08388,N,00423.63144,E,7.597,165.80,120308,,,A*63
+$GPRMC,103554.00,A,5159.08181,N,00423.63231,E,7.754,165.53,120308,,,A*6D
+$GPRMC,103555.00,A,5159.07970,N,00423.63320,E,7.806,165.21,120308,,,A*69
+$GPRMC,103556.00,A,5159.07760,N,00423.63410,E,7.740,165.17,120308,,,A*69
+$GPRMC,103557.00,A,5159.07551,N,00423.63500,E,7.751,165.36,120308,,,A*6B
+$GPRMC,103558.00,A,5159.07321,N,00423.63599,E,9.275,165.15,120308,,,A*69
+$GPRMC,103559.00,A,5159.07051,N,00423.63715,E,10.705,165.07,120308,,,A*53
+$GPRMC,103600.00,A,5159.06765,N,00423.63839,E,10.476,164.91,120308,,,A*55
+$GPRMC,103601.00,A,5159.06471,N,00423.63968,E,11.295,164.69,120308,,,A*5A
+$GPRMC,103602.00,A,5159.06144,N,00423.64109,E,12.940,164.93,120308,,,A*57
+$GPRMC,103603.00,A,5159.05773,N,00423.64271,E,14.435,164.88,120308,,,A*58
+$GPRMC,103604.00,A,5159.05364,N,00423.64448,E,15.852,164.93,120308,,,A*57
+$GPRMC,103605.00,A,5159.04922,N,00423.64637,E,16.851,165.22,120308,,,A*5E
+$GPRMC,103606.00,A,5159.04461,N,00423.64833,E,17.243,165.27,120308,,,A*50
+$GPRMC,103607.00,A,5159.03994,N,00423.65031,E,17.322,165.33,120308,,,A*59
+$GPRMC,103608.00,A,5159.03529,N,00423.65228,E,17.041,165.25,120308,,,A*57
+$GPRMC,103609.00,A,5159.03076,N,00423.65419,E,16.422,165.32,120308,,,A*5B
+$GPRMC,103610.00,A,5159.02639,N,00423.65604,E,15.818,165.33,120308,,,A*56
+$GPRMC,103611.00,A,5159.02219,N,00423.65781,E,15.197,165.08,120308,,,A*5B
+$GPRMC,103612.00,A,5159.01817,N,00423.65954,E,14.662,165.12,120308,,,A*5E
+$GPRMC,103613.00,A,5159.01428,N,00423.66120,E,14.214,165.31,120308,,,A*53
+$GPRMC,103614.00,A,5159.01050,N,00423.66279,E,13.752,165.10,120308,,,A*53
+$GPRMC,103615.00,A,5159.00687,N,00423.66435,E,13.251,164.96,120308,,,A*58
+$GPRMC,103616.00,A,5159.00333,N,00423.66585,E,12.877,164.91,120308,,,A*53
+$GPRMC,103617.00,A,5158.99988,N,00423.66735,E,12.781,165.10,120308,,,A*5E
+$GPRMC,103618.00,A,5158.99640,N,00423.66884,E,12.961,165.11,120308,,,A*5E
+$GPRMC,103619.00,A,5158.99286,N,00423.67036,E,13.267,164.88,120308,,,A*5C
+$GPRMC,103620.00,A,5158.98926,N,00423.67194,E,13.629,164.83,120308,,,A*5A
+$GPRMC,103621.00,A,5158.98547,N,00423.67358,E,13.552,165.02,120308,,,A*55
+$GPRMC,103622.00,A,5158.98151,N,00423.67527,E,13.511,164.37,120308,,,A*5B
+$GPRMC,103623.00,A,5158.97772,N,00423.67692,E,13.291,164.91,120308,,,A*5C
+$GPRMC,103624.00,A,5158.97402,N,00423.67854,E,13.418,164.94,120308,,,A*59
+$GPRMC,103625.00,A,5158.97039,N,00423.68009,E,13.193,165.18,120308,,,A*58
+$GPRMC,103626.00,A,5158.96689,N,00423.68155,E,12.801,165.71,120308,,,A*53
+$GPRMC,103627.00,A,5158.96353,N,00423.68294,E,12.375,165.89,120308,,,A*51
+$GPRMC,103628.00,A,5158.96020,N,00423.68428,E,12.516,165.57,120308,,,A*58
+$GPRMC,103629.00,A,5158.95683,N,00423.68566,E,12.691,166.23,120308,,,A*52
+$GPRMC,103630.00,A,5158.95338,N,00423.68706,E,13.153,165.44,120308,,,A*51
+$GPRMC,103631.00,A,5158.94985,N,00423.68854,E,13.155,165.52,120308,,,A*54
+$GPRMC,103632.00,A,5158.94633,N,00423.69000,E,13.164,165.11,120308,,,A*58
+$GPRMC,103633.00,A,5158.94282,N,00423.69151,E,13.174,164.70,120308,,,A*55
+$GPRMC,103634.00,A,5158.93931,N,00423.69306,E,13.134,164.64,120308,,,A*57
+$GPRMC,103635.00,A,5158.93582,N,00423.69460,E,13.015,164.32,120308,,,A*54
+$GPRMC,103636.00,A,5158.93237,N,00423.69619,E,12.723,164.30,120308,,,A*53
+$GPRMC,103637.00,A,5158.92902,N,00423.69771,E,12.255,164.51,120308,,,A*52
+$GPRMC,103638.00,A,5158.92592,N,00423.69907,E,10.733,164.85,120308,,,A*59
+$GPRMC,103639.00,A,5158.92329,N,00423.70021,E,8.997,165.29,120308,,,A*65
+$GPRMC,103640.00,A,5158.92109,N,00423.70111,E,7.542,165.27,120308,,,A*6C
+$GPRMC,103641.00,A,5158.91923,N,00423.70186,E,6.592,165.70,120308,,,A*6E
+$GPRMC,103642.00,A,5158.91756,N,00423.70250,E,6.102,165.67,120308,,,A*62
+$GPRMC,103643.00,A,5158.91604,N,00423.70309,E,5.537,165.56,120308,,,A*6B
+$GPRMC,103644.00,A,5158.91461,N,00423.70368,E,5.372,165.19,120308,,,A*66
+$GPRMC,103645.00,A,5158.91324,N,00423.70424,E,5.201,164.87,120308,,,A*6D
+$GPRMC,103646.00,A,5158.91191,N,00423.70480,E,5.190,164.85,120308,,,A*65
+$GPRMC,103647.00,A,5158.91057,N,00423.70537,E,5.184,164.59,120308,,,A*66
+$GPRMC,103648.00,A,5158.90919,N,00423.70598,E,5.678,164.42,120308,,,A*60
+$GPRMC,103649.00,A,5158.90759,N,00423.70667,E,6.665,164.10,120308,,,A*60
+$GPRMC,103650.00,A,5158.90574,N,00423.70750,E,7.533,164.65,120308,,,A*63
+$GPRMC,103651.00,A,5158.90372,N,00423.70840,E,7.853,165.05,120308,,,A*60
+$GPRMC,103652.00,A,5158.90157,N,00423.70933,E,8.500,165.27,120308,,,A*67
+$GPRMC,103653.00,A,5158.89913,N,00423.71030,E,9.703,166.35,120308,,,A*6D
+$GPRMC,103654.00,A,5158.89636,N,00423.71143,E,10.890,165.99,120308,,,A*5F
+$GPRMC,103655.00,A,5158.89338,N,00423.71270,E,11.264,165.56,120308,,,A*55
+$GPRMC,103656.00,A,5158.89042,N,00423.71398,E,10.635,165.67,120308,,,A*5C
+$GPRMC,103657.00,A,5158.88768,N,00423.71512,E,9.629,165.74,120308,,,A*60
+$GPRMC,103658.00,A,5158.88515,N,00423.71621,E,9.315,165.32,120308,,,A*6C
+$GPRMC,103659.00,A,5158.88268,N,00423.71729,E,9.176,165.02,120308,,,A*6D
+$GPRMC,103700.00,A,5158.88020,N,00423.71834,E,9.446,164.83,120308,,,A*63
+$GPRMC,103701.00,A,5158.87773,N,00423.71936,E,9.333,164.74,120308,,,A*62
+$GPRMC,103702.00,A,5158.87525,N,00423.72042,E,9.394,164.49,120308,,,A*6A
+$GPRMC,103703.00,A,5158.87282,N,00423.72154,E,9.092,164.43,120308,,,A*68
+$GPRMC,103704.00,A,5158.87052,N,00423.72260,E,8.401,164.12,120308,,,A*6F
+$GPRMC,103705.00,A,5158.86836,N,00423.72360,E,7.947,165.31,120308,,,A*64
+$GPRMC,103706.00,A,5158.86630,N,00423.72447,E,7.695,165.79,120308,,,A*61
+$GPRMC,103707.00,A,5158.86430,N,00423.72532,E,7.558,165.70,120308,,,A*6A
+$GPRMC,103708.00,A,5158.86232,N,00423.72618,E,7.487,165.69,120308,,,A*61
+$GPRMC,103709.00,A,5158.86027,N,00423.72708,E,7.904,165.74,120308,,,A*6C
+$GPRMC,103710.00,A,5158.85816,N,00423.72800,E,7.987,165.81,120308,,,A*6B
+$GPRMC,103711.00,A,5158.85610,N,00423.72890,E,7.525,165.91,120308,,,A*6E
+$GPRMC,103712.00,A,5158.85418,N,00423.72974,E,6.887,165.51,120308,,,A*64
+$GPRMC,103713.00,A,5158.85241,N,00423.73049,E,6.282,165.22,120308,,,A*62
+$GPRMC,103714.00,A,5158.85077,N,00423.73119,E,5.956,165.36,120308,,,A*62
+$GPRMC,103715.00,A,5158.84915,N,00423.73189,E,6.132,164.93,120308,,,A*61
+$GPRMC,103716.00,A,5158.84741,N,00423.73265,E,6.891,164.89,120308,,,A*67
+$GPRMC,103717.00,A,5158.84549,N,00423.73351,E,7.450,164.39,120308,,,A*61
+$GPRMC,103718.00,A,5158.84346,N,00423.73441,E,7.762,164.77,120308,,,A*69
+$GPRMC,103719.00,A,5158.84135,N,00423.73533,E,8.021,164.90,120308,,,A*6C
+$GPRMC,103720.00,A,5158.83922,N,00423.73627,E,7.924,165.10,120308,,,A*63
+$GPRMC,103721.00,A,5158.83711,N,00423.73720,E,7.849,165.26,120308,,,A*65
+$GPRMC,103722.00,A,5158.83501,N,00423.73811,E,7.930,165.41,120308,,,A*66
+$GPRMC,103723.00,A,5158.83287,N,00423.73904,E,8.146,165.22,120308,,,A*68
+$GPRMC,103724.00,A,5158.83061,N,00423.74001,E,8.841,165.77,120308,,,A*60
+$GPRMC,103725.00,A,5158.82811,N,00423.74105,E,9.814,165.82,120308,,,A*61
+$GPRMC,103726.00,A,5158.82536,N,00423.74221,E,10.708,165.81,120308,,,A*56
+$GPRMC,103727.00,A,5158.82245,N,00423.74344,E,10.980,165.75,120308,,,A*53
+$GPRMC,103728.00,A,5158.81948,N,00423.74470,E,11.100,165.36,120308,,,A*5F
+$GPRMC,103729.00,A,5158.81651,N,00423.74599,E,10.960,165.05,120308,,,A*50
+$GPRMC,103730.00,A,5158.81361,N,00423.74728,E,10.683,164.77,120308,,,A*50
+$GPRMC,103731.00,A,5158.81082,N,00423.74853,E,10.209,164.71,120308,,,A*5C
+$GPRMC,103732.00,A,5158.80821,N,00423.74970,E,9.241,164.79,120308,,,A*63
+$GPRMC,103733.00,A,5158.80579,N,00423.75078,E,8.922,164.89,120308,,,A*62
+$GPRMC,103734.00,A,5158.80341,N,00423.75182,E,8.744,165.23,120308,,,A*63
+$GPRMC,103735.00,A,5158.80106,N,00423.75281,E,8.794,165.54,120308,,,A*6E
+$GPRMC,103736.00,A,5158.79868,N,00423.75379,E,8.956,165.72,120308,,,A*68
+$GPRMC,103737.00,A,5158.79624,N,00423.75479,E,9.145,165.98,120308,,,A*67
+$GPRMC,103738.00,A,5158.79372,N,00423.75583,E,9.649,165.93,120308,,,A*6A
+$GPRMC,103739.00,A,5158.79100,N,00423.75695,E,10.484,165.89,120308,,,A*58
+$GPRMC,103740.00,A,5158.78809,N,00423.75815,E,11.120,165.52,120308,,,A*5D
+$GPRMC,103741.00,A,5158.78503,N,00423.75946,E,11.580,165.08,120308,,,A*5D
+$GPRMC,103742.00,A,5158.78189,N,00423.76082,E,11.766,165.13,120308,,,A*5A
+$GPRMC,103743.00,A,5158.77872,N,00423.76220,E,11.920,165.14,120308,,,A*58
+$GPRMC,103744.00,A,5158.77552,N,00423.76359,E,11.888,165.05,120308,,,A*5C
+$GPRMC,103745.00,A,5158.77237,N,00423.76496,E,11.603,165.03,120308,,,A*56
+$GPRMC,103746.00,A,5158.76931,N,00423.76630,E,11.262,164.98,120308,,,A*57
+$GPRMC,103747.00,A,5158.76633,N,00423.76760,E,10.987,164.78,120308,,,A*50
+$GPRMC,103748.00,A,5158.76339,N,00423.76889,E,10.880,164.85,120308,,,A*5C
+$GPRMC,103749.00,A,5158.76048,N,00423.77015,E,10.858,164.88,120308,,,A*5C
+$GPRMC,103750.00,A,5158.75757,N,00423.77141,E,10.869,164.90,120308,,,A*55
+$GPRMC,103751.00,A,5158.75466,N,00423.77266,E,10.831,165.03,120308,,,A*55
+$GPRMC,103752.00,A,5158.75174,N,00423.77392,E,10.968,165.09,120308,,,A*5D
+$GPRMC,103753.00,A,5158.74875,N,00423.77521,E,11.331,165.21,120308,,,A*56
+$GPRMC,103754.00,A,5158.74567,N,00423.77653,E,11.650,165.21,120308,,,A*5B
+$GPRMC,103755.00,A,5158.74254,N,00423.77791,E,11.669,165.22,120308,,,A*5B
+$GPRMC,103756.00,A,5158.73941,N,00423.77926,E,11.612,165.17,120308,,,A*58
+$GPRMC,103757.00,A,5158.73631,N,00423.78062,E,11.560,165.23,120308,,,A*56
+$GPRMC,103758.00,A,5158.73322,N,00423.78195,E,11.508,165.22,120308,,,A*58
+$GPRMC,103759.00,A,5158.73016,N,00423.78328,E,11.441,164.89,120308,,,A*55
+$GPRMC,103800.00,A,5158.72712,N,00423.78462,E,11.292,165.23,120308,,,A*54
+$GPRMC,103801.00,A,5158.72414,N,00423.78592,E,11.090,165.19,120308,,,A*57
+$GPRMC,103802.00,A,5158.72114,N,00423.78720,E,10.960,165.20,120308,,,A*57
+$GPRMC,103803.00,A,5158.71826,N,00423.78848,E,10.653,165.14,120308,,,A*54
+$GPRMC,103804.00,A,5158.71534,N,00423.78975,E,11.227,165.25,120308,,,A*56
+$GPRMC,103805.00,A,5158.71221,N,00423.79111,E,12.268,165.46,120308,,,A*52
+$GPRMC,103806.00,A,5158.70874,N,00423.79259,E,13.586,165.58,120308,,,A*5C
+$GPRMC,103807.00,A,5158.70488,N,00423.79421,E,15.030,165.69,120308,,,A*57
+$GPRMC,103808.00,A,5158.70070,N,00423.79597,E,15.977,165.60,120308,,,A*54
+$GPRMC,103809.00,A,5158.69633,N,00423.79781,E,16.297,165.47,120308,,,A*5A
+$GPRMC,103810.00,A,5158.69191,N,00423.79967,E,16.317,165.29,120308,,,A*5A
+$GPRMC,103811.00,A,5158.68753,N,00423.80153,E,16.062,165.06,120308,,,A*57
+$GPRMC,103812.00,A,5158.68322,N,00423.80339,E,15.872,164.92,120308,,,A*5E
+$GPRMC,103813.00,A,5158.67900,N,00423.80523,E,15.522,164.95,120308,,,A*58
+$GPRMC,103814.00,A,5158.67485,N,00423.80703,E,15.250,165.20,120308,,,A*52
+$GPRMC,103815.00,A,5158.67077,N,00423.80876,E,14.951,165.41,120308,,,A*5B
+$GPRMC,103816.00,A,5158.66677,N,00423.81043,E,14.744,165.60,120308,,,A*59
+$GPRMC,103817.00,A,5158.66279,N,00423.81208,E,14.761,165.77,120308,,,A*5E
+$GPRMC,103818.00,A,5158.65874,N,00423.81373,E,15.338,165.91,120308,,,A*59
+$GPRMC,103819.00,A,5158.65454,N,00423.81545,E,15.899,165.69,120308,,,A*52
+$GPRMC,103820.00,A,5158.65027,N,00423.81724,E,15.784,165.32,120308,,,A*50
+$GPRMC,103821.00,A,5158.64601,N,00423.81905,E,15.882,165.06,120308,,,A*51
+$GPRMC,103822.00,A,5158.64164,N,00423.82095,E,16.604,164.86,120308,,,A*5F
+$GPRMC,103823.00,A,5158.63707,N,00423.82295,E,17.475,164.68,120308,,,A*5D
+$GPRMC,103824.00,A,5158.63227,N,00423.82506,E,18.230,164.66,120308,,,A*56
+$GPRMC,103825.00,A,5158.62729,N,00423.82725,E,18.790,164.82,120308,,,A*5B
+$GPRMC,103826.00,A,5158.62222,N,00423.82946,E,18.785,164.93,120308,,,A*59
+$GPRMC,103827.00,A,5158.61720,N,00423.83164,E,18.520,165.19,120308,,,A*5B
+$GPRMC,103828.00,A,5158.61227,N,00423.83374,E,18.076,165.41,120308,,,A*5E
+$GPRMC,103829.00,A,5158.60746,N,00423.83574,E,17.697,165.69,120308,,,A*56
+$GPRMC,103830.00,A,5158.60274,N,00423.83769,E,17.244,165.58,120308,,,A*5C
+$GPRMC,103831.00,A,5158.59813,N,00423.83961,E,16.979,165.63,120308,,,A*56
+$GPRMC,103832.00,A,5158.59353,N,00423.84153,E,17.136,165.67,120308,,,A*52
+$GPRMC,103833.00,A,5158.58885,N,00423.84349,E,17.595,165.60,120308,,,A*51
+$GPRMC,103834.00,A,5158.58408,N,00423.84549,E,17.827,165.54,120308,,,A*5A
+$GPRMC,103835.00,A,5158.57927,N,00423.84750,E,17.872,165.43,120308,,,A*58
+$GPRMC,103836.00,A,5158.57438,N,00423.84954,E,18.375,165.39,120308,,,A*5C
+$GPRMC,103837.00,A,5158.56933,N,00423.85168,E,19.096,165.23,120308,,,A*58
+$GPRMC,103838.00,A,5158.56412,N,00423.85392,E,19.460,165.09,120308,,,A*5B
+$GPRMC,103839.00,A,5158.55891,N,00423.85619,E,19.183,164.84,120308,,,A*54
+$GPRMC,103840.00,A,5158.55376,N,00423.85845,E,19.072,164.83,120308,,,A*57
+$GPRMC,103841.00,A,5158.54854,N,00423.86073,E,19.574,165.10,120308,,,A*5A
+$GPRMC,103842.00,A,5158.54323,N,00423.86301,E,19.790,165.26,120308,,,A*59
+$GPRMC,103843.00,A,5158.53786,N,00423.86528,E,19.946,165.42,120308,,,A*5E
+$GPRMC,103844.00,A,5158.53246,N,00423.86756,E,20.113,165.48,120308,,,A*53
+$GPRMC,103845.00,A,5158.52708,N,00423.86980,E,19.842,165.46,120308,,,A*50
+$GPRMC,103846.00,A,5158.52180,N,00423.87202,E,19.393,165.42,120308,,,A*56
+$GPRMC,103847.00,A,5158.51663,N,00423.87421,E,18.978,165.25,120308,,,A*56
+$GPRMC,103848.00,A,5158.51158,N,00423.87638,E,18.564,165.18,120308,,,A*53
+$GPRMC,103849.00,A,5158.50663,N,00423.87848,E,18.201,165.00,120308,,,A*58
+$GPRMC,103850.00,A,5158.50172,N,00423.88061,E,18.337,164.88,120308,,,A*5E
+$GPRMC,103851.00,A,5158.49670,N,00423.88280,E,18.896,164.75,120308,,,A*5D
+$GPRMC,103852.00,A,5158.49155,N,00423.88507,E,19.577,164.90,120308,,,A*5E
+$GPRMC,103853.00,A,5158.48628,N,00423.88740,E,19.848,164.94,120308,,,A*57
+$GPRMC,103854.00,A,5158.48097,N,00423.88972,E,19.738,164.98,120308,,,A*59
+$GPRMC,103855.00,A,5158.47567,N,00423.89204,E,19.780,165.12,120308,,,A*56
+$GPRMC,103856.00,A,5158.47031,N,00423.89433,E,20.111,165.17,120308,,,A*50
+$GPRMC,103857.00,A,5158.46491,N,00423.89664,E,19.962,165.17,120308,,,A*58
+$GPRMC,103858.00,A,5158.45944,N,00423.89895,E,20.334,165.40,120308,,,A*50
+$GPRMC,103859.00,A,5158.45386,N,00423.90128,E,20.820,165.44,120308,,,A*58
+$GPRMC,103900.00,A,5158.44816,N,00423.90366,E,21.318,165.35,120308,,,A*59
+$GPRMC,103901.00,A,5158.44239,N,00423.90610,E,21.523,165.13,120308,,,A*51
+$GPRMC,103902.00,A,5158.43661,N,00423.90857,E,21.422,165.01,120308,,,A*52
+$GPRMC,103903.00,A,5158.43085,N,00423.91105,E,21.369,165.05,120308,,,A*5C
+$GPRMC,103904.00,A,5158.42511,N,00423.91350,E,21.247,165.14,120308,,,A*5D
+$GPRMC,103905.00,A,5158.41941,N,00423.91592,E,21.186,165.37,120308,,,A*51
+$GPRMC,103906.00,A,5158.41365,N,00423.91835,E,21.644,165.45,120308,,,A*52
+$GPRMC,103907.00,A,5158.40772,N,00423.92082,E,22.361,165.58,120308,,,A*5A
+$GPRMC,103908.00,A,5158.40157,N,00423.92338,E,23.176,165.65,120308,,,A*5D
+$GPRMC,103909.00,A,5158.39512,N,00423.92607,E,24.507,165.53,120308,,,A*5E
+$GPRMC,103910.00,A,5158.38847,N,00423.92889,E,24.702,165.14,120308,,,A*56
+$GPRMC,103911.00,A,5158.38190,N,00423.93176,E,24.128,164.64,120308,,,A*54
+$GPRMC,103912.00,A,5158.37550,N,00423.93464,E,23.584,164.26,120308,,,A*55
+$GPRMC,103913.00,A,5158.36920,N,00423.93747,E,23.327,164.76,120308,,,A*56
+$GPRMC,103914.00,A,5158.36287,N,00423.94026,E,23.800,165.02,120308,,,A*5C
+$GPRMC,103915.00,A,5158.35637,N,00423.94308,E,24.471,165.34,120308,,,A*56
+$GPRMC,103916.00,A,5158.34973,N,00423.94590,E,24.829,165.43,120308,,,A*5D
+$GPRMC,103917.00,A,5158.34301,N,00423.94874,E,25.078,165.43,120308,,,A*59
+$GPRMC,103918.00,A,5158.33628,N,00423.95161,E,24.978,165.20,120308,,,A*5E
+$GPRMC,103919.00,A,5158.32961,N,00423.95452,E,24.609,164.79,120308,,,A*5D
+$GPRMC,103920.00,A,5158.32305,N,00423.95744,E,24.271,164.55,120308,,,A*5E
+$GPRMC,103921.00,A,5158.31658,N,00423.96033,E,24.048,164.78,120308,,,A*52
+$GPRMC,103922.00,A,5158.31013,N,00423.96318,E,24.030,164.65,120308,,,A*51
+$GPRMC,103923.00,A,5158.30364,N,00423.96612,E,24.390,164.30,120308,,,A*54
+$GPRMC,103924.00,A,5158.29704,N,00423.96921,E,24.910,163.67,120308,,,A*51
+$GPRMC,103925.00,A,5158.29035,N,00423.97247,E,25.170,163.03,120308,,,A*52
+$GPRMC,103926.00,A,5158.28362,N,00423.97591,E,25.377,162.05,120308,,,A*5F
+$GPRMC,103927.00,A,5158.27688,N,00423.97958,E,25.570,160.94,120308,,,A*52
+$GPRMC,103928.00,A,5158.27011,N,00423.98345,E,25.834,160.45,120308,,,A*53
+$GPRMC,103929.00,A,5158.26329,N,00423.98744,E,26.116,159.88,120308,,,A*5F
+$GPRMC,103930.00,A,5158.25644,N,00423.99161,E,26.377,159.01,120308,,,A*5E
+$GPRMC,103931.00,A,5158.24957,N,00423.99598,E,26.562,158.14,120308,,,A*56
+$GPRMC,103932.00,A,5158.24267,N,00424.00055,E,26.842,157.49,120308,,,A*56
+$GPRMC,103933.00,A,5158.23573,N,00424.00530,E,27.176,157.00,120308,,,A*56
+$GPRMC,103934.00,A,5158.22879,N,00424.01024,E,26.887,156.17,120308,,,A*57
+$GPRMC,103935.00,A,5158.22193,N,00424.01533,E,26.480,155.12,120308,,,A*55
+$GPRMC,103936.00,A,5158.21525,N,00424.02048,E,26.230,154.43,120308,,,A*5E
+$GPRMC,103937.00,A,5158.20870,N,00424.02560,E,25.729,154.33,120308,,,A*55
+$GPRMC,103938.00,A,5158.20224,N,00424.03073,E,25.466,154.12,120308,,,A*5C
+$GPRMC,103939.00,A,5158.19591,N,00424.03585,E,25.135,153.86,120308,,,A*5B
+$GPRMC,103940.00,A,5158.18969,N,00424.04091,E,24.743,153.79,120308,,,A*5E
+$GPRMC,103941.00,A,5158.18356,N,00424.04583,E,24.430,154.14,120308,,,A*54
+$GPRMC,103942.00,A,5158.17748,N,00424.05063,E,24.344,154.24,120308,,,A*5E
+$GPRMC,103943.00,A,5158.17138,N,00424.05544,E,24.570,154.36,120308,,,A*5C
+$GPRMC,103944.00,A,5158.16517,N,00424.06029,E,25.139,154.70,120308,,,A*54
+$GPRMC,103945.00,A,5158.15877,N,00424.06520,E,25.877,154.76,120308,,,A*54
+$GPRMC,103946.00,A,5158.15217,N,00424.07018,E,26.548,154.91,120308,,,A*5F
+$GPRMC,103947.00,A,5158.14552,N,00424.07521,E,26.258,154.67,120308,,,A*59
+$GPRMC,103948.00,A,5158.13899,N,00424.08021,E,25.819,154.54,120308,,,A*5D
+$GPRMC,103949.00,A,5158.13260,N,00424.08513,E,25.263,154.22,120308,,,A*52
+$GPRMC,103950.00,A,5158.12636,N,00424.08995,E,24.543,154.09,120308,,,A*53
+$GPRMC,103951.00,A,5158.12034,N,00424.09464,E,23.656,154.06,120308,,,A*5B
+$GPRMC,103952.00,A,5158.11448,N,00424.09906,E,22.847,154.09,120308,,,A*5D
+$GPRMC,103953.00,A,5158.10876,N,00424.10338,E,22.677,154.19,120308,,,A*5F
+$GPRMC,103954.00,A,5158.10304,N,00424.10776,E,23.027,154.37,120308,,,A*56
+$GPRMC,103955.00,A,5158.09719,N,00424.11219,E,23.592,154.42,120308,,,A*53
+$GPRMC,103956.00,A,5158.09119,N,00424.11676,E,24.244,154.43,120308,,,A*51
+$GPRMC,103957.00,A,5158.08503,N,00424.12149,E,24.866,154.33,120308,,,A*5B
+$GPRMC,103958.00,A,5158.07879,N,00424.12630,E,25.058,154.28,120308,,,A*5C
+$GPRMC,103959.00,A,5158.07255,N,00424.13110,E,24.761,154.13,120308,,,A*59
+$GPRMC,104000.00,A,5158.06641,N,00424.13581,E,24.303,154.01,120308,,,A*54
+$GPRMC,104001.00,A,5158.06041,N,00424.14049,E,23.770,154.05,120308,,,A*56
+$GPRMC,104002.00,A,5158.05451,N,00424.14506,E,23.466,154.27,120308,,,A*59
+$GPRMC,104003.00,A,5158.04858,N,00424.14960,E,23.752,154.36,120308,,,A*54
+$GPRMC,104004.00,A,5158.04259,N,00424.15424,E,24.243,154.43,120308,,,A*54
+$GPRMC,104005.00,A,5158.03644,N,00424.15895,E,24.799,154.49,120308,,,A*54
+$GPRMC,104006.00,A,5158.03012,N,00424.16378,E,25.368,154.51,120308,,,A*5B
+$GPRMC,104007.00,A,5158.02369,N,00424.16873,E,25.822,154.48,120308,,,A*59
+$GPRMC,104008.00,A,5158.01719,N,00424.17373,E,25.932,154.47,120308,,,A*53
+$GPRMC,104009.00,A,5158.01073,N,00424.17877,E,25.869,154.41,120308,,,A*5F
+$GPRMC,104010.00,A,5158.00425,N,00424.18379,E,25.813,154.35,120308,,,A*55
+$GPRMC,104011.00,A,5157.99778,N,00424.18881,E,25.813,154.39,120308,,,A*50
+$GPRMC,104012.00,A,5157.99134,N,00424.19384,E,25.563,154.30,120308,,,A*51
+$GPRMC,104013.00,A,5157.98496,N,00424.19883,E,25.399,154.10,120308,,,A*51
+$GPRMC,104014.00,A,5157.97859,N,00424.20385,E,25.536,154.16,120308,,,A*54
+$GPRMC,104015.00,A,5157.97220,N,00424.20889,E,25.670,154.09,120308,,,A*59
+$GPRMC,104016.00,A,5157.96575,N,00424.21392,E,25.797,154.26,120308,,,A*59
+$GPRMC,104017.00,A,5157.95927,N,00424.21897,E,25.907,154.30,120308,,,A*5E
+$GPRMC,104018.00,A,5157.95279,N,00424.22408,E,26.191,154.30,120308,,,A*5C
+$GPRMC,104019.00,A,5157.94620,N,00424.22925,E,26.615,154.31,120308,,,A*5C
+$GPRMC,104020.00,A,5157.93950,N,00424.23453,E,27.102,154.21,120308,,,A*55
+$GPRMC,104021.00,A,5157.93266,N,00424.23990,E,27.599,154.07,120308,,,A*5A
+$GPRMC,104022.00,A,5157.92568,N,00424.24544,E,28.253,153.89,120308,,,A*5C
+$GPRMC,104023.00,A,5157.91852,N,00424.25113,E,28.965,153.80,120308,,,A*5A
+$GPRMC,104024.00,A,5157.91118,N,00424.25698,E,29.687,153.82,120308,,,A*5E
+$GPRMC,104025.00,A,5157.90368,N,00424.26296,E,30.366,153.98,120308,,,A*5B
+$GPRMC,104026.00,A,5157.89603,N,00424.26902,E,30.823,154.15,120308,,,A*56
+$GPRMC,104027.00,A,5157.88821,N,00424.27508,E,31.232,154.27,120308,,,A*55
+$GPRMC,104028.00,A,5157.88031,N,00424.28113,E,31.315,154.24,120308,,,A*55
+$GPRMC,104029.00,A,5157.87247,N,00424.28724,E,31.132,154.21,120308,,,A*58
+$GPRMC,104030.00,A,5157.86470,N,00424.29326,E,30.867,154.08,120308,,,A*57
+$GPRMC,104031.00,A,5157.85697,N,00424.29923,E,30.728,154.04,120308,,,A*59
+$GPRMC,104032.00,A,5157.84932,N,00424.30524,E,30.577,154.14,120308,,,A*51
+$GPRMC,104033.00,A,5157.84166,N,00424.31114,E,30.404,154.41,120308,,,A*5A
+$GPRMC,104034.00,A,5157.83401,N,00424.31696,E,30.417,154.68,120308,,,A*5A
+$GPRMC,104035.00,A,5157.82634,N,00424.32280,E,30.414,154.61,120308,,,A*54
+$GPRMC,104036.00,A,5157.81874,N,00424.32870,E,30.403,154.55,120308,,,A*5A
+$GPRMC,104037.00,A,5157.81112,N,00424.33457,E,30.406,154.42,120308,,,A*59
+$GPRMC,104038.00,A,5157.80350,N,00424.34056,E,30.350,154.07,120308,,,A*54
+$GPRMC,104039.00,A,5157.79585,N,00424.34662,E,30.571,154.04,120308,,,A*5A
+$GPRMC,104040.00,A,5157.78809,N,00424.35267,E,30.809,154.19,120308,,,A*52
+$GPRMC,104041.00,A,5157.78023,N,00424.35872,E,31.208,154.22,120308,,,A*5F
+$GPRMC,104042.00,A,5157.77237,N,00424.36495,E,31.589,154.14,120308,,,A*59
+$GPRMC,104043.00,A,5157.76441,N,00424.37114,E,31.848,154.23,120308,,,A*57
+$GPRMC,104044.00,A,5157.75638,N,00424.37744,E,32.146,154.10,120308,,,A*58
+$GPRMC,104045.00,A,5157.74829,N,00424.38372,E,32.124,153.95,120308,,,A*56
+$GPRMC,104046.00,A,5157.74028,N,00424.38987,E,31.967,154.29,120308,,,A*50
+$GPRMC,104047.00,A,5157.73229,N,00424.39616,E,31.886,154.51,120308,,,A*52
+$GPRMC,104048.00,A,5157.72430,N,00424.40228,E,31.607,154.67,120308,,,A*57
+$GPRMC,104049.00,A,5157.71636,N,00424.40835,E,31.465,154.82,120308,,,A*5A
+$GPRMC,104050.00,A,5157.70849,N,00424.41447,E,31.341,154.63,120308,,,A*53
+$GPRMC,104051.00,A,5157.70061,N,00424.42054,E,31.302,154.51,120308,,,A*53
+$GPRMC,104052.00,A,5157.69281,N,00424.42669,E,31.188,154.46,120308,,,A*5A
+$GPRMC,104053.00,A,5157.68506,N,00424.43290,E,31.136,154.29,120308,,,A*5D
+$GPRMC,104054.00,A,5157.67731,N,00424.43902,E,30.886,154.35,120308,,,A*5D
+$GPRMC,104055.00,A,5157.66967,N,00424.44508,E,30.325,154.34,120308,,,A*52
+$GPRMC,104056.00,A,5157.66213,N,00424.45099,E,29.892,154.32,120308,,,A*5C
+$GPRMC,104057.00,A,5157.65472,N,00424.45695,E,29.731,154.22,120308,,,A*52
+$GPRMC,104058.00,A,5157.64733,N,00424.46290,E,29.866,154.21,120308,,,A*56
+$GPRMC,104059.00,A,5157.63983,N,00424.46887,E,30.356,154.29,120308,,,A*51
+$GPRMC,104100.00,A,5157.63222,N,00424.47485,E,30.557,154.27,120308,,,A*5A
+$GPRMC,104101.00,A,5157.62457,N,00424.48082,E,30.486,154.16,120308,,,A*5D
+$GPRMC,104102.00,A,5157.61697,N,00424.48685,E,30.429,154.17,120308,,,A*56
+$GPRMC,104103.00,A,5157.60938,N,00424.49291,E,30.430,154.01,120308,,,A*53
+$GPRMC,104104.00,A,5157.60185,N,00424.49890,E,29.910,153.81,120308,,,A*59
+$GPRMC,104105.00,A,5157.59448,N,00424.50472,E,29.173,153.87,120308,,,A*55
+$GPRMC,104106.00,A,5157.58730,N,00424.51040,E,28.402,153.96,120308,,,A*5D
+$GPRMC,104107.00,A,5157.58029,N,00424.51584,E,27.630,154.08,120308,,,A*52
+$GPRMC,104108.00,A,5157.57348,N,00424.52116,E,26.908,154.25,120308,,,A*50
+$GPRMC,104109.00,A,5157.56682,N,00424.52627,E,26.210,154.40,120308,,,A*57
+$GPRMC,104110.00,A,5157.56033,N,00424.53124,E,25.559,154.54,120308,,,A*5A
+$GPRMC,104111.00,A,5157.55396,N,00424.53613,E,25.225,154.69,120308,,,A*55
+$GPRMC,104112.00,A,5157.54764,N,00424.54087,E,25.069,154.82,120308,,,A*5D
+$GPRMC,104113.00,A,5157.54143,N,00424.54554,E,24.576,154.84,120308,,,A*58
+$GPRMC,104114.00,A,5157.53532,N,00424.55019,E,24.095,154.68,120308,,,A*5D
+$GPRMC,104115.00,A,5157.52939,N,00424.55481,E,23.832,154.33,120308,,,A*53
+$GPRMC,104116.00,A,5157.52353,N,00424.55944,E,23.487,154.03,120308,,,A*53
+$GPRMC,104117.00,A,5157.51798,N,00424.56386,E,21.561,153.85,120308,,,A*57
+$GPRMC,104118.00,A,5157.51283,N,00424.56788,E,20.176,153.98,120308,,,A*52
+$GPRMC,104119.00,A,5157.50807,N,00424.57163,E,18.618,154.05,120308,,,A*51
+$GPRMC,104120.00,A,5157.50362,N,00424.57514,E,17.951,154.14,120308,,,A*5A
+$GPRMC,104121.00,A,5157.49929,N,00424.57851,E,17.431,154.29,120308,,,A*5F
+$GPRMC,104122.00,A,5157.49501,N,00424.58176,E,17.215,154.36,120308,,,A*57
+$GPRMC,104123.00,A,5157.49074,N,00424.58505,E,17.532,154.27,120308,,,A*53
+$GPRMC,104124.00,A,5157.48627,N,00424.58846,E,18.465,154.47,120308,,,A*55
+$GPRMC,104125.00,A,5157.48148,N,00424.59212,E,19.971,154.39,120308,,,A*50
+$GPRMC,104126.00,A,5157.47634,N,00424.59617,E,21.470,154.44,120308,,,A*5C
+$GPRMC,104127.00,A,5157.47100,N,00424.60028,E,21.243,154.29,120308,,,A*50
+$GPRMC,104128.00,A,5157.46574,N,00424.60437,E,20.905,154.30,120308,,,A*53
+$GPRMC,104129.00,A,5157.46054,N,00424.60839,E,20.754,153.99,120308,,,A*59
+$GPRMC,104130.00,A,5157.45539,N,00424.61242,E,20.539,154.01,120308,,,A*54
+$GPRMC,104131.00,A,5157.45030,N,00424.61645,E,20.425,153.90,120308,,,A*59
+$GPRMC,104132.00,A,5157.44528,N,00424.62043,E,19.933,153.89,120308,,,A*5C
+$GPRMC,104133.00,A,5157.44048,N,00424.62440,E,19.181,153.94,120308,,,A*54
+$GPRMC,104134.00,A,5157.43577,N,00424.62813,E,18.568,154.10,120308,,,A*5E
+$GPRMC,104135.00,A,5157.43125,N,00424.63174,E,18.026,154.26,120308,,,A*5F
+$GPRMC,104136.00,A,5157.42689,N,00424.63518,E,17.255,154.31,120308,,,A*5D
+$GPRMC,104137.00,A,5157.42266,N,00424.63840,E,16.499,154.28,120308,,,A*56
+$GPRMC,104138.00,A,5157.41863,N,00424.64143,E,15.745,154.48,120308,,,A*5F
+$GPRMC,104139.00,A,5157.41486,N,00424.64441,E,14.908,154.52,120308,,,A*53
+$GPRMC,104140.00,A,5157.41123,N,00424.64714,E,14.129,154.37,120308,,,A*5C
+$GPRMC,104141.00,A,5157.40779,N,00424.64985,E,13.871,154.22,120308,,,A*54
+$GPRMC,104142.00,A,5157.40433,N,00424.65254,E,13.954,154.04,120308,,,A*5E
+$GPRMC,104143.00,A,5157.40085,N,00424.65532,E,14.405,153.97,120308,,,A*52
+$GPRMC,104144.00,A,5157.39722,N,00424.65818,E,15.005,153.95,120308,,,A*53
+$GPRMC,104145.00,A,5157.39341,N,00424.66112,E,15.647,153.97,120308,,,A*51
+$GPRMC,104146.00,A,5157.38948,N,00424.66428,E,16.260,154.07,120308,,,A*50
+$GPRMC,104147.00,A,5157.38534,N,00424.66748,E,16.858,154.12,120308,,,A*56
+$GPRMC,104148.00,A,5157.38113,N,00424.67095,E,17.435,154.18,120308,,,A*52
+$GPRMC,104149.00,A,5157.37676,N,00424.67453,E,18.093,154.27,120308,,,A*5D
+$GPRMC,104150.00,A,5157.37219,N,00424.67816,E,18.720,154.37,120308,,,A*5B
+$GPRMC,104151.00,A,5157.36743,N,00424.68183,E,19.251,154.41,120308,,,A*58
+$GPRMC,104152.00,A,5157.36253,N,00424.68559,E,19.779,154.57,120308,,,A*54
+$GPRMC,104153.00,A,5157.35749,N,00424.68945,E,20.303,154.49,120308,,,A*55
+$GPRMC,104154.00,A,5157.35232,N,00424.69339,E,20.823,154.36,120308,,,A*5A
+$GPRMC,104155.00,A,5157.34706,N,00424.69754,E,21.316,154.12,120308,,,A*5D
+$GPRMC,104156.00,A,5157.34175,N,00424.70171,E,21.103,153.85,120308,,,A*5A
+$GPRMC,104157.00,A,5157.33653,N,00424.70585,E,20.767,153.90,120308,,,A*51
+$GPRMC,104158.00,A,5157.33137,N,00424.70995,E,20.601,153.94,120308,,,A*53
+$GPRMC,104159.00,A,5157.32626,N,00424.71394,E,20.538,154.43,120308,,,D*5F
+$GPRMC,104200.00,A,5157.32113,N,00424.71800,E,20.749,153.77,120308,,,D*53
+$GPRMC,104201.00,A,5157.31605,N,00424.72239,E,21.216,153.75,120308,,,D*5E
+$GPRMC,104202.00,A,5157.31069,N,00424.72664,E,21.851,154.32,120308,,,D*50
+$GPRMC,104203.00,A,5157.30512,N,00424.73093,E,22.571,155.08,120308,,,D*52
+$GPRMC,104204.00,A,5157.29944,N,00424.73530,E,22.843,154.87,120308,,,D*54
+$GPRMC,104205.00,A,5157.29375,N,00424.73970,E,22.685,154.70,120308,,,D*59
+$GPRMC,104206.00,A,5157.28802,N,00424.74416,E,23.172,153.78,120308,,,D*5B
+$GPRMC,104207.00,A,5157.28220,N,00424.74884,E,23.827,154.30,120308,,,D*55
+$GPRMC,104208.00,A,5157.27639,N,00424.75367,E,23.705,153.82,120308,,,D*5F
+$GPRMC,104209.00,A,5157.27063,N,00424.75863,E,23.821,153.90,120308,,,D*52
+$GPRMC,104210.00,A,5157.26472,N,00424.76371,E,24.747,154.16,120308,,,D*55
+$GPRMC,104211.00,A,5157.25847,N,00424.76882,E,25.879,154.62,120308,,,D*5A
+$GPRMC,104212.00,A,5157.25177,N,00424.77381,E,27.104,156.31,120308,,,D*5F
+$GPRMC,104213.00,A,5157.24449,N,00424.77903,E,29.045,155.94,120308,,,D*51
+$GPRMC,104214.00,A,5157.23704,N,00424.78470,E,30.172,155.91,120308,,,D*55
+$GPRMC,104215.00,A,5157.22926,N,00424.79062,E,31.625,156.39,120308,,,D*58
+$GPRMC,104216.00,A,5157.22115,N,00424.79685,E,33.096,156.36,120308,,,D*5F
+$GPRMC,104217.00,A,5157.21254,N,00424.80274,E,33.992,157.30,120308,,,D*5D
+$GPRMC,104218.00,A,5157.20335,N,00424.80905,E,35.723,156.09,120308,,,D*51
+$GPRMC,104219.00,A,5157.19431,N,00424.81578,E,35.883,154.70,120308,,,D*57
+$GPRMC,104220.00,A,5157.18500,N,00424.82326,E,37.148,152.90,120308,,,D*55
+$GPRMC,104221.00,A,5157.17524,N,00424.83081,E,37.310,154.00,120308,,,D*52
+$GPRMC,104222.00,A,5157.16544,N,00424.83799,E,37.577,154.55,120308,,,D*5F
+$GPRMC,104223.00,A,5157.15556,N,00424.84536,E,38.080,154.97,120308,,,D*52
+$GPRMC,104224.00,A,5157.14564,N,00424.85239,E,38.084,154.60,120308,,,D*50
+$GPRMC,104225.00,A,5157.13584,N,00424.85944,E,37.584,153.53,120308,,,D*54
+$GPRMC,104226.00,A,5157.12667,N,00424.86707,E,36.882,152.98,120308,,,D*5E
+$GPRMC,104227.00,A,5157.11754,N,00424.87433,E,36.039,152.51,120308,,,D*55
+$GPRMC,104228.00,A,5157.10865,N,00424.88137,E,34.875,153.75,120308,,,D*5D
+$GPRMC,104229.00,A,5157.09984,N,00424.88747,E,33.675,157.61,120308,,,D*53
+$GPRMC,104230.00,A,5157.09108,N,00424.89218,E,32.858,163.97,120308,,,D*57
+$GPRMC,104231.00,A,5157.08212,N,00424.89494,E,32.167,171.57,120308,,,D*57
+$GPRMC,104232.00,A,5157.07318,N,00424.89584,E,31.541,178.76,120308,,,D*59
+$GPRMC,104233.00,A,5157.06435,N,00424.89543,E,31.410,182.42,120308,,,D*5D
+$GPRMC,104234.00,A,5157.05573,N,00424.89382,E,30.746,187.66,120308,,,D*53
+$GPRMC,104235.00,A,5157.04761,N,00424.88990,E,30.099,193.17,120308,,,D*5C
+$GPRMC,104236.00,A,5157.03968,N,00424.88630,E,28.735,194.28,120308,,,D*59
+$GPRMC,104237.00,A,5157.03218,N,00424.88321,E,27.191,192.77,120308,,,D*5A
+$GPRMC,104238.00,A,5157.02506,N,00424.88104,E,25.269,186.90,120308,,,D*53
+$GPRMC,104239.00,A,5157.01850,N,00424.88038,E,22.996,177.64,120308,,,D*58
+$GPRMC,104240.00,A,5157.01260,N,00424.88182,E,20.733,166.06,120308,,,D*58
+$GPRMC,104241.00,A,5157.00750,N,00424.88465,E,18.832,155.21,120308,,,D*52
+$GPRMC,104242.00,A,5157.00321,N,00424.88859,E,17.009,147.78,120308,,,D*50
+$GPRMC,104243.00,A,5156.99972,N,00424.89253,E,14.577,146.47,120308,,,D*5F
+$GPRMC,104244.00,A,5156.99687,N,00424.89573,E,10.984,146.57,120308,,,D*5D
+$GPRMC,104245.00,A,5156.99496,N,00424.89791,E,6.598,146.53,120308,,,D*62
+$GPRMC,104246.00,A,5156.99405,N,00424.89896,E,2.810,146.58,120308,,,D*61
+$GPRMC,104247.00,A,5156.99377,N,00424.89930,E,0.894,146.58,120308,,,D*61
+$GPRMC,104248.00,A,5156.99382,N,00424.89931,E,0.029,146.98,120308,,,D*67
+$GPRMC,104249.00,A,5156.99396,N,00424.89919,E,0.011,,120308,,,D*7E
+$GPRMC,104250.00,A,5156.99409,N,00424.89910,E,0.010,,120308,,,D*7F
+$GPRMC,104251.00,A,5156.99421,N,00424.89902,E,0.013,,120308,,,D*74
+$GPRMC,104252.00,A,5156.99432,N,00424.89896,E,0.005,,120308,,,D*7E
+$GPRMC,104253.00,A,5156.99443,N,00424.89891,E,0.099,142.32,120308,,,D*63
+$GPRMC,104254.00,A,5156.99456,N,00424.89887,E,0.012,,120308,,,D*7C
+$GPRMC,104255.00,A,5156.99464,N,00424.89883,E,0.007,,120308,,,D*7C
+$GPRMC,104256.00,A,5156.99477,N,00424.89886,E,0.022,144.18,120308,,,D*69
+$GPRMC,104257.00,A,5156.99488,N,00424.89889,E,0.011,,120308,,,D*71
+$GPRMC,104258.00,A,5156.99498,N,00424.89889,E,0.013,,120308,,,D*7D
+$GPRMC,104259.00,A,5156.99508,N,00424.89891,E,0.003,,120308,,,D*7C
+$GPRMC,104300.00,A,5156.99519,N,00424.89895,E,0.015,,120308,,,D*72
+$GPRMC,104301.00,A,5156.99527,N,00424.89895,E,0.002,,120308,,,D*78
+$GPRMC,104302.00,A,5156.99534,N,00424.89897,E,0.007,,120308,,,D*7E
+$GPRMC,104303.00,A,5156.99541,N,00424.89900,E,0.140,146.23,120308,,,D*6C
+$GPRMC,104304.00,A,5156.99547,N,00424.89901,E,0.002,,120308,,,D*77
+$GPRMC,104305.00,A,5156.99553,N,00424.89901,E,0.011,,120308,,,D*71
+$GPRMC,104306.00,A,5156.99561,N,00424.89905,E,0.024,142.30,120308,,,D*6B
+$GPRMC,104307.00,A,5156.99566,N,00424.89907,E,0.182,145.24,120308,,,D*60
+$GPRMC,104308.00,A,5156.99574,N,00424.89913,E,0.017,,120308,,,D*7C
+$GPRMC,104309.00,A,5156.99579,N,00424.89918,E,0.024,146.98,120308,,,D*67
+$GPRMC,104310.00,A,5156.99583,N,00424.89924,E,0.014,,120308,,,D*7A
+$GPRMC,104311.00,A,5156.99592,N,00424.89937,E,0.045,148.83,120308,,,D*65
+$GPRMC,104312.00,A,5156.99599,N,00424.89946,E,0.007,,120308,,,D*75
+$GPRMC,104313.00,A,5156.99608,N,00424.89954,E,0.005,,120308,,,D*7E
+$GPRMC,104314.00,A,5156.99618,N,00424.89959,E,0.019,,120308,,,D*78
+$GPRMC,104315.00,A,5156.99624,N,00424.89960,E,0.010,,120308,,,D*75
+$GPRMC,104316.00,A,5156.99630,N,00424.89962,E,0.003,,120308,,,D*73
+$GPRMC,104317.00,A,5156.99633,N,00424.89961,E,0.123,151.24,120308,,,D*6C
+$GPRMC,104318.00,A,5156.99637,N,00424.89960,E,0.003,,120308,,,D*78
+$GPRMC,104319.00,A,5156.99642,N,00424.89961,E,0.009,,120308,,,D*70
+$GPRMC,104320.00,A,5156.99645,N,00424.89961,E,0.006,,120308,,,D*72
+$GPRMC,104321.00,A,5156.99649,N,00424.89960,E,0.003,,120308,,,D*7B
+$GPRMC,104322.00,A,5156.99650,N,00424.89958,E,0.014,,120308,,,D*7D
+$GPRMC,104323.00,A,5156.99650,N,00424.89957,E,0.017,,120308,,,D*70
+$GPRMC,104324.00,A,5156.99652,N,00424.89956,E,0.010,,120308,,,D*73
+$GPRMC,104325.00,A,5156.99653,N,00424.89954,E,0.029,147.30,120308,,,D*64
+$GPRMC,104326.00,A,5156.99655,N,00424.89953,E,0.017,,120308,,,D*74
+$GPRMC,104327.00,A,5156.99656,N,00424.89954,E,0.026,148.94,120308,,,D*6D
+$GPRMC,104328.00,A,5156.99658,N,00424.89955,E,0.011,,120308,,,D*77
+$GPRMC,104329.00,A,5156.99658,N,00424.89954,E,0.026,151.44,120308,,,D*68
+$GPRMC,104330.00,A,5156.99662,N,00424.89955,E,0.022,147.59,120308,,,D*67
+$GPRMC,104331.00,A,5156.99666,N,00424.89958,E,0.008,,120308,,,D*77
+$GPRMC,104332.00,A,5156.99669,N,00424.89959,E,0.019,,120308,,,D*7A
+$GPRMC,104333.00,A,5156.99672,N,00424.89958,E,0.011,,120308,,,D*78
+$GPRMC,104334.00,A,5156.99678,N,00424.89957,E,0.020,150.19,120308,,,D*6A
+$GPRMC,104335.00,A,5156.99686,N,00424.89959,E,0.070,145.74,120308,,,D*6E
+$GPRMC,104336.00,A,5156.99694,N,00424.89960,E,0.005,,120308,,,D*7B
+$GPRMC,104337.00,A,5156.99698,N,00424.89962,E,0.006,,120308,,,D*77
+$GPRMC,104338.00,A,5156.99703,N,00424.89963,E,0.005,,120308,,,D*79
+$GPRMC,104339.00,A,5156.99707,N,00424.89964,E,0.007,,120308,,,D*79
+$GPRMC,104340.00,A,5156.99711,N,00424.89966,E,0.006,,120308,,,D*73
+$GPRMC,104341.00,A,5156.99715,N,00424.89967,E,0.057,148.06,120308,,,D*66
+$GPRMC,104342.00,A,5156.99719,N,00424.89966,E,0.013,,120308,,,D*7D
+$GPRMC,104343.00,A,5156.99722,N,00424.89967,E,0.009,,120308,,,D*7E
+$GPRMC,104344.00,A,5156.99724,N,00424.89968,E,0.009,,120308,,,D*70
+$GPRMC,104345.00,A,5156.99725,N,00424.89966,E,0.009,,120308,,,D*7E
+$GPRMC,104346.00,A,5156.99727,N,00424.89961,E,0.001,,120308,,,D*70
+$GPRMC,104347.00,A,5156.99727,N,00424.89956,E,0.009,,120308,,,D*7D
+$GPRMC,104348.00,A,5156.99728,N,00424.89955,E,0.012,,120308,,,D*74
+$GPRMC,104349.00,A,5156.99730,N,00424.89951,E,0.005,,120308,,,D*7E
+$GPRMC,104350.00,A,5156.99732,N,00424.89948,E,0.034,146.80,120308,,,D*6B
+$GPRMC,104351.00,A,5156.99729,N,00424.89947,E,0.230,147.07,120308,,,D*67
+$GPRMC,104352.00,A,5156.99729,N,00424.89945,E,0.020,149.15,120308,,,D*68
+$GPRMC,104353.00,A,5156.99729,N,00424.89946,E,0.029,154.45,120308,,,D*6A
+$GPRMC,104354.00,A,5156.99730,N,00424.89945,E,0.009,,120308,,,D*7B
+$GPRMC,104355.00,A,5156.99730,N,00424.89944,E,0.019,,120308,,,D*7A
+$GPRMC,104356.00,A,5156.99732,N,00424.89945,E,0.012,,120308,,,D*71
+$GPRMC,104357.00,A,5156.99731,N,00424.89950,E,0.025,158.82,120308,,,D*6B
+$GPRMC,104358.00,A,5156.99730,N,00424.89953,E,0.021,159.78,120308,,,D*66
+$GPRMC,104359.00,A,5156.99728,N,00424.89960,E,0.049,160.44,120308,,,D*65
+$GPRMC,104400.00,A,5156.99727,N,00424.89967,E,0.015,,120308,,,D*76
+$GPRMC,104401.00,A,5156.99726,N,00424.89974,E,0.012,,120308,,,D*73
+$GPRMC,104402.00,A,5156.99716,N,00424.89984,E,0.162,160.07,120308,,,D*64
+$GPRMC,104403.00,A,5156.99694,N,00424.90008,E,1.441,159.51,120308,,,D*67
+$GPRMC,104404.00,A,5156.99633,N,00424.90080,E,3.909,146.61,120308,,,D*63
+$GPRMC,104405.00,A,5156.99507,N,00424.90214,E,6.508,147.92,120308,,,D*6C
+$GPRMC,104406.00,A,5156.99327,N,00424.90409,E,8.934,146.80,120308,,,D*6E
+$GPRMC,104407.00,A,5156.99101,N,00424.90653,E,10.232,146.89,120308,,,D*59
+$GPRMC,104408.00,A,5156.98860,N,00424.90910,E,10.366,147.41,120308,,,D*54
+$GPRMC,104409.00,A,5156.98619,N,00424.91206,E,11.072,140.15,120308,,,D*59
+$GPRMC,104410.00,A,5156.98386,N,00424.91592,E,11.929,125.08,120308,,,D*50
+$GPRMC,104411.00,A,5156.98214,N,00424.92091,E,12.913,113.04,120308,,,D*5D
+$GPRMC,104412.00,A,5156.98129,N,00424.92694,E,14.527,94.12,120308,,,D*64
+$GPRMC,104413.00,A,5156.98166,N,00424.93371,E,16.322,76.60,120308,,,D*69
+$GPRMC,104414.00,A,5156.98441,N,00424.94085,E,19.824,54.28,120308,,,D*6F
+$GPRMC,104415.00,A,5156.98812,N,00424.94870,E,23.378,50.63,120308,,,D*66
+$GPRMC,104416.00,A,5156.99252,N,00424.95745,E,26.031,51.22,120308,,,D*6D
+$GPRMC,104417.00,A,5156.99711,N,00424.96699,E,27.425,53.27,120308,,,D*6A
+$GPRMC,104418.00,A,5157.00181,N,00424.97732,E,29.335,54.22,120308,,,D*60
+$GPRMC,104419.00,A,5157.00652,N,00424.98801,E,28.719,54.92,120308,,,D*68
+$GPRMC,104420.00,A,5157.01085,N,00424.99810,E,25.708,55.55,120308,,,D*69
+$GPRMC,104421.00,A,5157.01450,N,00425.00666,E,21.240,54.80,120308,,,D*6E
+$GPRMC,104422.00,A,5157.01742,N,00425.01296,E,15.148,54.87,120308,,,D*6C
+$GPRMC,104423.00,A,5157.01921,N,00425.01716,E,8.444,55.76,120308,,,D*51
+$GPRMC,104424.00,A,5157.01993,N,00425.01900,E,2.513,55.15,120308,,,D*5A
+$GPRMC,104425.00,A,5157.02016,N,00425.01954,E,0.905,55.12,120308,,,D*53
+$GPRMC,104426.00,A,5157.02017,N,00425.01958,E,0.073,54.87,120308,,,D*58
+$GPRMC,104427.00,A,5157.02013,N,00425.01944,E,0.020,56.73,120308,,,D*5F
+$GPRMC,104428.00,A,5157.02010,N,00425.01930,E,0.012,,120308,,,D*78
+$GPRMC,104429.00,A,5157.02008,N,00425.01918,E,0.008,,120308,,,D*71
+$GPRMC,104430.00,A,5157.02007,N,00425.01906,E,0.011,,120308,,,D*71
+$GPRMC,104431.00,A,5157.02006,N,00425.01894,E,0.029,62.35,120308,,,D*5C
+$GPRMC,104432.00,A,5157.02005,N,00425.01883,E,0.010,,120308,,,D*7C
+$GPRMC,104433.00,A,5157.02003,N,00425.01873,E,0.006,,120308,,,D*73
+$GPRMC,104434.00,A,5157.02004,N,00425.01860,E,0.023,57.45,120308,,,D*5B
+$GPRMC,104435.00,A,5157.02004,N,00425.01849,E,0.014,,120308,,,D*78
+$GPRMC,104436.00,A,5157.02004,N,00425.01837,E,0.013,,120308,,,D*75
+$GPRMC,104437.00,A,5157.02003,N,00425.01827,E,0.002,,120308,,,D*72
+$GPRMC,104438.00,A,5157.02002,N,00425.01818,E,0.018,,120308,,,D*7B
+$GPRMC,104439.00,A,5157.02002,N,00425.01809,E,0.018,,120308,,,D*7A
+$GPRMC,104440.00,A,5157.02001,N,00425.01804,E,0.016,,120308,,,D*74
+$GPRMC,104441.00,A,5157.02001,N,00425.01798,E,0.011,,120308,,,D*78
+$GPRMC,104442.00,A,5157.01998,N,00425.01791,E,0.018,,120308,,,D*71
+$GPRMC,104443.00,A,5157.01996,N,00425.01786,E,0.027,53.85,120308,,,D*51
+$GPRMC,104444.00,A,5157.01995,N,00425.01781,E,0.004,,120308,,,D*76
+$GPRMC,104445.00,A,5157.01993,N,00425.01778,E,0.012,,120308,,,D*70
+$GPRMC,104446.00,A,5157.01991,N,00425.01772,E,0.007,,120308,,,D*7F
+$GPRMC,104447.00,A,5157.01986,N,00425.01769,E,0.007,,120308,,,D*72
+$GPRMC,104448.00,A,5157.01983,N,00425.01765,E,0.019,,120308,,,D*7B
+$GPRMC,104449.00,A,5157.01982,N,00425.01761,E,0.006,,120308,,,D*71
+$GPRMC,104450.00,A,5157.01979,N,00425.01758,E,0.021,48.38,120308,,,D*5B
+$GPRMC,104451.00,A,5157.01976,N,00425.01753,E,0.002,,120308,,,D*76
+$GPRMC,104452.00,A,5157.01973,N,00425.01749,E,0.013,,120308,,,D*7B
+$GPRMC,104453.00,A,5157.01970,N,00425.01745,E,0.033,43.99,120308,,,D*5E
+$GPRMC,104454.00,A,5157.01969,N,00425.01745,E,0.026,38.98,120308,,,D*58
+$GPRMC,104455.00,A,5157.01967,N,00425.01746,E,0.040,40.09,120308,,,D*53
+$GPRMC,104456.00,A,5157.01969,N,00425.01753,E,0.320,40.96,120308,,,D*59
+$GPRMC,104457.00,A,5157.01976,N,00425.01775,E,0.811,41.83,120308,,,D*5E
+$GPRMC,104458.00,A,5157.01991,N,00425.01809,E,1.017,42.63,120308,,,D*5E
+$GPRMC,104459.00,A,5157.02013,N,00425.01858,E,1.762,43.41,120308,,,D*5F
+$GPRMC,104500.00,A,5157.02043,N,00425.01923,E,1.809,44.14,120308,,,D*5F
+$GPRMC,104501.00,A,5157.02068,N,00425.01974,E,0.933,44.78,120308,,,D*56
+$GPRMC,104502.00,A,5157.02082,N,00425.02000,E,0.667,45.39,120308,,,D*52
+$GPRMC,104503.00,A,5157.02094,N,00425.02021,E,0.683,45.94,120308,,,D*5A
+$GPRMC,104504.00,A,5157.02110,N,00425.02052,E,1.155,46.50,120308,,,D*52
+$GPRMC,104505.00,A,5157.02129,N,00425.02100,E,1.174,47.07,120308,,,D*5F
+$GPRMC,104506.00,A,5157.02142,N,00425.02135,E,0.646,47.56,120308,,,D*54
+$GPRMC,104507.00,A,5157.02153,N,00425.02164,E,0.849,48.04,120308,,,D*58
+$GPRMC,104508.00,A,5157.02169,N,00425.02203,E,1.361,48.47,120308,,,D*5B
+$GPRMC,104509.00,A,5157.02196,N,00425.02263,E,1.997,54.87,120308,,,D*5E
+$GPRMC,104510.00,A,5157.02227,N,00425.02335,E,2.068,55.48,120308,,,D*55
+$GPRMC,104511.00,A,5157.02252,N,00425.02388,E,0.978,55.49,120308,,,D*5B
+$GPRMC,104512.00,A,5157.02266,N,00425.02409,E,0.518,55.47,120308,,,D*55
+$GPRMC,104513.00,A,5157.02272,N,00425.02412,E,0.023,54.24,120308,,,D*52
+$GPRMC,104514.00,A,5157.02279,N,00425.02405,E,0.013,,120308,,,D*72
+$GPRMC,104515.00,A,5157.02284,N,00425.02401,E,0.006,,120308,,,D*71
+$GPRMC,104516.00,A,5157.02287,N,00425.02405,E,0.013,,120308,,,D*71
+$GPRMC,104517.00,A,5157.02292,N,00425.02413,E,0.014,,120308,,,D*74
+$GPRMC,104518.00,A,5157.02299,N,00425.02420,E,0.034,52.48,120308,,,D*57
+$GPRMC,104519.00,A,5157.02310,N,00425.02440,E,0.614,52.70,120308,,,D*5F
+$GPRMC,104520.00,A,5157.02332,N,00425.02494,E,1.769,52.87,120308,,,D*5E
+$GPRMC,104521.00,A,5157.02368,N,00425.02569,E,2.067,50.55,120308,,,D*54
+$GPRMC,104522.00,A,5157.02423,N,00425.02637,E,3.100,28.72,120308,,,D*5C
+$GPRMC,104523.00,A,5157.02520,N,00425.02736,E,5.300,33.55,120308,,,D*54
+$GPRMC,104524.00,A,5157.02654,N,00425.02970,E,8.779,54.18,120308,,,D*50
+$GPRMC,104525.00,A,5157.02821,N,00425.03377,E,12.736,57.13,120308,,,D*69
+$GPRMC,104526.00,A,5157.03048,N,00425.03912,E,15.664,53.77,120308,,,D*62
+$GPRMC,104527.00,A,5157.03361,N,00425.04390,E,15.708,32.73,120308,,,D*64
+$GPRMC,104528.00,A,5157.03759,N,00425.04549,E,15.185,355.26,120308,,,D*57
+$GPRMC,104529.00,A,5157.04124,N,00425.04270,E,15.859,319.11,120308,,,D*54
+$GPRMC,104530.00,A,5157.04388,N,00425.03622,E,19.457,294.75,120308,,,D*54
+$GPRMC,104531.00,A,5157.04581,N,00425.02744,E,21.170,286.36,120308,,,D*55
+$GPRMC,104532.00,A,5157.04765,N,00425.01795,E,22.093,288.37,120308,,,D*51
+$GPRMC,104533.00,A,5157.04995,N,00425.00820,E,23.932,295.04,120308,,,D*5E
+$GPRMC,104534.00,A,5157.05330,N,00424.99826,E,25.877,301.67,120308,,,D*55
+$GPRMC,104535.00,A,5157.05755,N,00424.98815,E,27.763,306.79,120308,,,D*52
+$GPRMC,104536.00,A,5157.06251,N,00424.97801,E,29.212,309.80,120308,,,D*5D
+$GPRMC,104537.00,A,5157.06795,N,00424.96787,E,29.660,311.52,120308,,,D*56
+$GPRMC,104538.00,A,5157.07369,N,00424.95786,E,30.084,313.06,120308,,,D*5A
+$GPRMC,104539.00,A,5157.07976,N,00424.94806,E,30.432,315.39,120308,,,D*5A
+$GPRMC,104540.00,A,5157.08604,N,00424.93879,E,30.187,318.89,120308,,,D*53
+$GPRMC,104541.00,A,5157.09245,N,00424.93017,E,29.550,322.47,120308,,,D*5F
+$GPRMC,104542.00,A,5157.09903,N,00424.92245,E,28.439,325.80,120308,,,D*52
+$GPRMC,104543.00,A,5157.10561,N,00424.91554,E,27.336,327.90,120308,,,D*53
+$GPRMC,104544.00,A,5157.11199,N,00424.90914,E,26.391,328.67,120308,,,D*54
+$GPRMC,104545.00,A,5157.11816,N,00424.90310,E,25.356,329.65,120308,,,D*5E
+$GPRMC,104546.00,A,5157.12410,N,00424.89751,E,24.263,330.76,120308,,,D*51
+$GPRMC,104547.00,A,5157.12989,N,00424.89235,E,23.348,331.23,120308,,,D*54
+$GPRMC,104548.00,A,5157.13543,N,00424.88741,E,22.422,331.19,120308,,,D*54
+$GPRMC,104549.00,A,5157.14084,N,00424.88269,E,21.820,331.66,120308,,,D*56
+$GPRMC,104550.00,A,5157.14604,N,00424.87824,E,20.700,332.16,120308,,,D*54
+$GPRMC,104551.00,A,5157.15094,N,00424.87405,E,19.657,331.97,120308,,,D*57
+$GPRMC,104552.00,A,5157.15560,N,00424.87001,E,18.658,331.33,120308,,,D*5A
+$GPRMC,104553.00,A,5157.15999,N,00424.86609,E,17.805,330.35,120308,,,D*50
+$GPRMC,104554.00,A,5157.16424,N,00424.86223,E,17.484,330.35,120308,,,D*56
+$GPRMC,104555.00,A,5157.16849,N,00424.85835,E,17.851,330.18,120308,,,D*55
+$GPRMC,104556.00,A,5157.17288,N,00424.85436,E,18.499,330.40,120308,,,D*55
+$GPRMC,104557.00,A,5157.17741,N,00424.85032,E,18.787,331.03,120308,,,D*5E
+$GPRMC,104558.00,A,5157.18207,N,00424.84632,E,19.188,332.13,120308,,,D*54
+$GPRMC,104559.00,A,5157.18683,N,00424.84232,E,19.516,333.23,120308,,,D*58
+$GPRMC,104600.00,A,5157.19175,N,00424.83837,E,19.921,333.79,120308,,,D*57
+$GPRMC,104601.00,A,5157.19683,N,00424.83442,E,20.456,334.26,120308,,,D*5C
+$GPRMC,104602.00,A,5157.20207,N,00424.83045,E,21.028,334.76,120308,,,D*57
+$GPRMC,104603.00,A,5157.20743,N,00424.82633,E,21.573,334.95,120308,,,D*53
+$GPRMC,104604.00,A,5157.21292,N,00424.82208,E,22.112,334.30,120308,,,D*5F
+$GPRMC,104605.00,A,5157.21848,N,00424.81768,E,22.313,334.23,120308,,,D*52
+$GPRMC,104606.00,A,5157.22408,N,00424.81326,E,22.490,334.21,120308,,,D*5A
+$GPRMC,104607.00,A,5157.22971,N,00424.80878,E,22.630,334.18,120308,,,D*5B
+$GPRMC,104608.00,A,5157.23539,N,00424.80431,E,22.435,333.88,120308,,,D*5D
+$GPRMC,104609.00,A,5157.24095,N,00424.79992,E,21.844,333.91,120308,,,D*5B
+$GPRMC,104610.00,A,5157.24634,N,00424.79567,E,20.816,333.85,120308,,,D*5B
+$GPRMC,104611.00,A,5157.25122,N,00424.79184,E,18.002,333.87,120308,,,D*56
+$GPRMC,104612.00,A,5157.25519,N,00424.78880,E,13.567,334.36,120308,,,D*55
+$GPRMC,104613.00,A,5157.25819,N,00424.78653,E,10.600,334.31,120308,,,D*5F
+$GPRMC,104614.00,A,5157.26077,N,00424.78462,E,10.020,334.60,120308,,,D*5B
+$GPRMC,104615.00,A,5157.26308,N,00424.78295,E,8.295,334.67,120308,,,D*6D
+$GPRMC,104616.00,A,5157.26463,N,00424.78180,E,4.605,334.72,120308,,,D*66
+$GPRMC,104617.00,A,5157.26534,N,00424.78129,E,1.766,334.66,120308,,,D*63
+$GPRMC,104618.00,A,5157.26548,N,00424.78120,E,0.228,335.10,120308,,,D*60
+$GPRMC,104619.00,A,5157.26543,N,00424.78124,E,0.012,,120308,,,D*7F
+$GPRMC,104620.00,A,5157.26535,N,00424.78130,E,0.001,,120308,,,D*73
+$GPRMC,104621.00,A,5157.26526,N,00424.78141,E,0.019,,120308,,,D*7F
+$GPRMC,104622.00,A,5157.26520,N,00424.78152,E,0.007,,120308,,,D*77
+$GPRMC,104623.00,A,5157.26511,N,00424.78167,E,0.066,339.10,120308,,,D*63
+$GPRMC,104624.00,A,5157.26503,N,00424.78181,E,0.017,,120308,,,D*7F
+$GPRMC,104625.00,A,5157.26500,N,00424.78185,E,0.011,,120308,,,D*7F
+$GPRMC,104626.00,A,5157.26495,N,00424.78189,E,0.013,,120308,,,D*7F
+$GPRMC,104627.00,A,5157.26491,N,00424.78201,E,0.004,,120308,,,D*7F
+$GPRMC,104628.00,A,5157.26487,N,00424.78212,E,0.015,,120308,,,D*75
+$GPRMC,104629.00,A,5157.26483,N,00424.78224,E,0.075,340.57,120308,,,D*68
+$GPRMC,104630.00,A,5157.26479,N,00424.78239,E,0.010,,120308,,,D*71
+$GPRMC,104631.00,A,5157.26473,N,00424.78253,E,0.013,,120308,,,D*75
+$GPRMC,104632.00,A,5157.26467,N,00424.78258,E,0.008,,120308,,,D*72
+$GPRMC,104633.00,A,5157.26460,N,00424.78264,E,0.018,,120308,,,D*7A
+$GPRMC,104634.00,A,5157.26454,N,00424.78271,E,0.002,,120308,,,D*75
+$GPRMC,104635.00,A,5157.26448,N,00424.78277,E,0.021,339.22,120308,,,D*69
+$GPRMC,104636.00,A,5157.26443,N,00424.78283,E,0.010,,120308,,,D*7F
+$GPRMC,104637.00,A,5157.26438,N,00424.78289,E,0.007,,120308,,,D*7E
+$GPRMC,104638.00,A,5157.26434,N,00424.78297,E,0.013,,120308,,,D*77
+$GPRMC,104639.00,A,5157.26431,N,00424.78303,E,0.013,,120308,,,D*7F
+$GPRMC,104640.00,A,5157.26431,N,00424.78307,E,0.004,,120308,,,D*73
+$GPRMC,104641.00,A,5157.26430,N,00424.78313,E,0.011,,120308,,,D*72
+$GPRMC,104642.00,A,5157.26429,N,00424.78320,E,0.010,,120308,,,D*78
+$GPRMC,104643.00,A,5157.26426,N,00424.78324,E,0.016,,120308,,,D*74
+$GPRMC,104644.00,A,5157.26429,N,00424.78322,E,0.417,338.91,120308,,,D*61
+$GPRMC,104645.00,A,5157.26443,N,00424.78314,E,0.844,338.74,120308,,,D*68
+$GPRMC,104646.00,A,5157.26477,N,00424.78293,E,1.724,338.42,120308,,,D*6F
+$GPRMC,104647.00,A,5157.26536,N,00424.78250,E,2.955,335.14,120308,,,D*60
+$GPRMC,104648.00,A,5157.26626,N,00424.78183,E,4.132,334.90,120308,,,D*62
+$GPRMC,104649.00,A,5157.26737,N,00424.78099,E,4.528,334.82,120308,,,D*64
+$GPRMC,104650.00,A,5157.26854,N,00424.78008,E,4.621,334.74,120308,,,D*6D
+$GPRMC,104651.00,A,5157.26971,N,00424.77919,E,4.631,335.07,120308,,,D*68
+$GPRMC,104652.00,A,5157.27090,N,00424.77827,E,4.686,335.18,120308,,,D*62
+$GPRMC,104653.00,A,5157.27209,N,00424.77735,E,4.668,334.31,120308,,,D*67
+$GPRMC,104654.00,A,5157.27329,N,00424.77643,E,4.834,335.08,120308,,,D*6F
+$GPRMC,104655.00,A,5157.27457,N,00424.77545,E,5.267,334.76,120308,,,D*60
+$GPRMC,104656.00,A,5157.27596,N,00424.77439,E,5.616,334.39,120308,,,D*6C
+$GPRMC,104657.00,A,5157.27741,N,00424.77325,E,5.765,333.90,120308,,,D*6E
+$GPRMC,104658.00,A,5157.27888,N,00424.77208,E,5.933,333.90,120308,,,D*68
+$GPRMC,104659.00,A,5157.28041,N,00424.77087,E,6.106,333.92,120308,,,D*61
+$GPRMC,104700.00,A,5157.28199,N,00424.76962,E,6.413,333.88,120308,,,D*61
+$GPRMC,104701.00,A,5157.28366,N,00424.76828,E,6.884,333.98,120308,,,D*6E
+$GPRMC,104702.00,A,5157.28546,N,00424.76685,E,7.322,334.11,120308,,,D*60
+$GPRMC,104703.00,A,5157.28736,N,00424.76534,E,7.755,334.28,120308,,,D*63
+$GPRMC,104704.00,A,5157.28940,N,00424.76371,E,8.288,334.26,120308,,,D*68
+$GPRMC,104705.00,A,5157.29155,N,00424.76198,E,8.643,334.24,120308,,,D*60
+$GPRMC,104706.00,A,5157.29378,N,00424.76021,E,8.910,334.09,120308,,,D*6B
+$GPRMC,104707.00,A,5157.29606,N,00424.75842,E,9.143,334.34,120308,,,D*69
+$GPRMC,104708.00,A,5157.29840,N,00424.75662,E,9.347,334.69,120308,,,D*68
+$GPRMC,104709.00,A,5157.30074,N,00424.75481,E,9.344,334.83,120308,,,D*66
+$GPRMC,104710.00,A,5157.30307,N,00424.75304,E,9.200,334.88,120308,,,D*69
+$GPRMC,104711.00,A,5157.30533,N,00424.75130,E,8.807,335.10,120308,,,D*60
+$GPRMC,104712.00,A,5157.30737,N,00424.74973,E,7.587,334.48,120308,,,D*6D
+$GPRMC,104713.00,A,5157.30909,N,00424.74844,E,6.099,334.11,120308,,,D*6D
+$GPRMC,104714.00,A,5157.31048,N,00424.74737,E,5.117,333.78,120308,,,D*60
+$GPRMC,104715.00,A,5157.31177,N,00424.74636,E,5.298,333.72,120308,,,D*62
+$GPRMC,104716.00,A,5157.31311,N,00424.74527,E,5.613,333.50,120308,,,D*67
+$GPRMC,104717.00,A,5157.31453,N,00424.74413,E,5.804,333.39,120308,,,D*66
+$GPRMC,104718.00,A,5157.31593,N,00424.74301,E,5.312,333.42,120308,,,D*60
+$GPRMC,104719.00,A,5157.31713,N,00424.74205,E,4.350,333.36,120308,,,D*6A
+$GPRMC,104720.00,A,5157.31804,N,00424.74135,E,3.044,333.12,120308,,,D*6E
+$GPRMC,104721.00,A,5157.31872,N,00424.74082,E,2.604,333.02,120308,,,D*61
+$GPRMC,104722.00,A,5157.31943,N,00424.74027,E,3.188,332.84,120308,,,D*63
+$GPRMC,104723.00,A,5157.32030,N,00424.73958,E,3.819,333.09,120308,,,D*6F
+$GPRMC,104724.00,A,5157.32128,N,00424.73877,E,4.106,333.11,120308,,,D*65
+$GPRMC,104725.00,A,5157.32225,N,00424.73798,E,3.800,333.37,120308,,,D*68
+$GPRMC,104726.00,A,5157.32312,N,00424.73729,E,3.135,333.33,120308,,,D*6F
+$GPRMC,104727.00,A,5157.32381,N,00424.73673,E,2.570,333.53,120308,,,D*68
+$GPRMC,104728.00,A,5157.32439,N,00424.73626,E,2.258,333.88,120308,,,D*68
+$GPRMC,104729.00,A,5157.32494,N,00424.73585,E,2.165,334.60,120308,,,D*68
+$GPRMC,104730.00,A,5157.32545,N,00424.73545,E,2.051,334.49,120308,,,D*6C
+$GPRMC,104731.00,A,5157.32594,N,00424.73505,E,1.958,334.40,120308,,,D*6F
+$GPRMC,104732.00,A,5157.32641,N,00424.73469,E,1.919,334.44,120308,,,D*6D
+$GPRMC,104733.00,A,5157.32692,N,00424.73435,E,2.119,334.43,120308,,,D*67
+$GPRMC,104734.00,A,5157.32751,N,00424.73391,E,2.744,335.12,120308,,,D*6C
+$GPRMC,104735.00,A,5157.32825,N,00424.73335,E,3.397,334.78,120308,,,D*69
+$GPRMC,104736.00,A,5157.32920,N,00424.73265,E,4.148,334.93,120308,,,D*68
+$GPRMC,104737.00,A,5157.33033,N,00424.73181,E,4.751,335.15,120308,,,D*6B
+$GPRMC,104738.00,A,5157.33159,N,00424.73087,E,5.157,334.79,120308,,,D*64
+$GPRMC,104739.00,A,5157.33295,N,00424.72984,E,5.615,334.68,120308,,,D*6C
+$GPRMC,104740.00,A,5157.33441,N,00424.72872,E,5.959,334.59,120308,,,D*60
+$GPRMC,104741.00,A,5157.33589,N,00424.72758,E,5.903,334.21,120308,,,D*63
+$GPRMC,104742.00,A,5157.33735,N,00424.72644,E,5.821,334.13,120308,,,D*69
+$GPRMC,104743.00,A,5157.33872,N,00424.72536,E,5.239,334.10,120308,,,D*62
+$GPRMC,104744.00,A,5157.33999,N,00424.72435,E,5.083,333.77,120308,,,D*66
+$GPRMC,104745.00,A,5157.34126,N,00424.72334,E,5.149,333.87,120308,,,D*62
+$GPRMC,104746.00,A,5157.34255,N,00424.72228,E,5.180,333.49,120308,,,D*6D
+$GPRMC,104747.00,A,5157.34385,N,00424.72123,E,5.193,333.45,120308,,,D*66
+$GPRMC,104748.00,A,5157.34513,N,00424.72018,E,5.156,333.55,120308,,,D*61
+$GPRMC,104749.00,A,5157.34640,N,00424.71914,E,5.135,333.73,120308,,,D*62
+$GPRMC,104750.00,A,5157.34767,N,00424.71811,E,5.110,333.42,120308,,,D*6F
+$GPRMC,104751.00,A,5157.34895,N,00424.71709,E,5.112,333.66,120308,,,D*6E
+$GPRMC,104752.00,A,5157.35022,N,00424.71608,E,5.124,334.11,120308,,,D*6A
+$GPRMC,104753.00,A,5157.35151,N,00424.71509,E,5.119,334.40,120308,,,D*66
+$GPRMC,104754.00,A,5157.35280,N,00424.71411,E,5.130,334.20,120308,,,D*6B
+$GPRMC,104755.00,A,5157.35410,N,00424.71312,E,5.147,334.37,120308,,,D*67
+$GPRMC,104756.00,A,5157.35538,N,00424.71216,E,5.005,334.47,120308,,,D*6A
+$GPRMC,104757.00,A,5157.35660,N,00424.71122,E,4.716,334.47,120308,,,D*65
+$GPRMC,104758.00,A,5157.35776,N,00424.71034,E,4.439,334.73,120308,,,D*63
+$GPRMC,104759.00,A,5157.35884,N,00424.70953,E,4.114,334.65,120308,,,D*64
+$GPRMC,104800.00,A,5157.35983,N,00424.70878,E,3.838,334.62,120308,,,D*6E
+$GPRMC,104801.00,A,5157.36082,N,00424.70802,E,4.073,334.79,120308,,,D*63
+$GPRMC,104802.00,A,5157.36188,N,00424.70721,E,4.419,335.04,120308,,,D*66
+$GPRMC,104803.00,A,5157.36302,N,00424.70630,E,4.799,334.70,120308,,,D*6F
+$GPRMC,104804.00,A,5157.36429,N,00424.70533,E,5.270,334.86,120308,,,D*6C
+$GPRMC,104805.00,A,5157.36579,N,00424.70418,E,6.712,334.95,120308,,,D*61
+$GPRMC,104806.00,A,5157.36778,N,00424.70266,E,8.937,334.90,120308,,,D*6C
+$GPRMC,104807.00,A,5157.37019,N,00424.70081,E,10.074,334.97,120308,,,D*57
+$GPRMC,104808.00,A,5157.37276,N,00424.69886,E,10.119,334.83,120308,,,D*5B
+$GPRMC,104809.00,A,5157.37536,N,00424.69688,E,10.346,334.94,120308,,,D*57
+$GPRMC,104810.00,A,5157.37802,N,00424.69484,E,10.664,334.70,120308,,,D*54
+$GPRMC,104811.00,A,5157.38075,N,00424.69272,E,11.029,334.44,120308,,,D*54
+$GPRMC,104812.00,A,5157.38360,N,00424.69053,E,11.446,334.15,120308,,,D*58
+$GPRMC,104813.00,A,5157.38653,N,00424.68821,E,11.933,334.04,120308,,,D*5F
+$GPRMC,104814.00,A,5157.38965,N,00424.68578,E,12.721,334.09,120308,,,D*50
+$GPRMC,104815.00,A,5157.39296,N,00424.68318,E,13.638,334.05,120308,,,D*53
+$GPRMC,104816.00,A,5157.39652,N,00424.68037,E,14.750,334.08,120308,,,D*57
+$GPRMC,104817.00,A,5157.40047,N,00424.67728,E,16.498,334.10,120308,,,D*50
+$GPRMC,104818.00,A,5157.40466,N,00424.67400,E,16.589,334.24,120308,,,D*57
+$GPRMC,104819.00,A,5157.40893,N,00424.67066,E,17.196,334.09,120308,,,D*50
+$GPRMC,104820.00,A,5157.41345,N,00424.66711,E,18.396,334.06,120308,,,D*5F
+$GPRMC,104821.00,A,5157.41819,N,00424.66338,E,18.990,334.13,120308,,,D*5B
+$GPRMC,104822.00,A,5157.42303,N,00424.65957,E,19.312,334.17,120308,,,D*5E
+$GPRMC,104823.00,A,5157.42794,N,00424.65570,E,19.498,334.17,120308,,,D*59
+$GPRMC,104824.00,A,5157.43293,N,00424.65177,E,20.098,334.77,120308,,,D*56
+$GPRMC,104825.00,A,5157.43797,N,00424.64799,E,19.744,334.54,120308,,,D*5C
+$GPRMC,104826.00,A,5157.44295,N,00424.64414,E,19.972,334.39,120308,,,D*59
+$GPRMC,104827.00,A,5157.44804,N,00424.64021,E,20.429,334.50,120308,,,D*5E
+$GPRMC,104828.00,A,5157.45323,N,00424.63617,E,20.729,334.22,120308,,,D*5C
+$GPRMC,104829.00,A,5157.45846,N,00424.63204,E,20.950,334.13,120308,,,D*51
+$GPRMC,104830.00,A,5157.46374,N,00424.62789,E,21.024,334.20,120308,,,D*5A
+$GPRMC,104831.00,A,5157.46904,N,00424.62372,E,21.149,334.18,120308,,,D*57
+$GPRMC,104832.00,A,5157.47443,N,00424.61950,E,21.639,334.30,120308,,,D*58
+$GPRMC,104833.00,A,5157.47997,N,00424.61522,E,22.139,334.31,120308,,,D*51
+$GPRMC,104834.00,A,5157.48559,N,00424.61085,E,22.467,334.37,120308,,,D*57
+$GPRMC,104835.00,A,5157.49123,N,00424.60645,E,22.483,334.20,120308,,,D*59
+$GPRMC,104836.00,A,5157.49688,N,00424.60207,E,22.423,334.52,120308,,,D*51
+$GPRMC,104837.00,A,5157.50249,N,00424.59777,E,22.097,334.52,120308,,,D*52
+$GPRMC,104838.00,A,5157.50796,N,00424.59350,E,21.559,334.05,120308,,,D*5D
+$GPRMC,104839.00,A,5157.51324,N,00424.58927,E,20.637,333.83,120308,,,D*58
+$GPRMC,104840.00,A,5157.51820,N,00424.58530,E,19.099,333.80,120308,,,D*58
+$GPRMC,104841.00,A,5157.52267,N,00424.58173,E,16.799,333.90,120308,,,D*59
+$GPRMC,104842.00,A,5157.52659,N,00424.57863,E,14.707,334.11,120308,,,D*5F
+$GPRMC,104843.00,A,5157.53017,N,00424.57586,E,13.780,334.22,120308,,,D*5D
+$GPRMC,104844.00,A,5157.53355,N,00424.57325,E,13.198,334.33,120308,,,D*5F
+$GPRMC,104845.00,A,5157.53674,N,00424.57079,E,12.273,334.24,120308,,,D*53
+$GPRMC,104846.00,A,5157.53978,N,00424.56842,E,12.025,334.52,120308,,,D*52
+$GPRMC,104847.00,A,5157.54282,N,00424.56608,E,12.312,334.45,120308,,,D*5B
+$GPRMC,104848.00,A,5157.54594,N,00424.56369,E,12.677,334.49,120308,,,D*5C
+$GPRMC,104849.00,A,5157.54910,N,00424.56125,E,12.746,334.65,120308,,,D*5A
+$GPRMC,104850.00,A,5157.55221,N,00424.55883,E,12.250,333.98,120308,,,D*5B
+$GPRMC,104851.00,A,5157.55505,N,00424.55647,E,11.055,333.15,120308,,,D*5C
+$GPRMC,104852.00,A,5157.55761,N,00424.55431,E,10.028,332.92,120308,,,D*59
+$GPRMC,104853.00,A,5157.55998,N,00424.55231,E,9.516,333.21,120308,,,D*6F
+$GPRMC,104854.00,A,5157.56227,N,00424.55045,E,9.288,334.51,120308,,,D*65
+$GPRMC,104855.00,A,5157.56455,N,00424.54864,E,9.380,334.71,120308,,,D*66
+$GPRMC,104856.00,A,5157.56688,N,00424.54684,E,9.577,334.91,120308,,,D*67
+$GPRMC,104857.00,A,5157.56927,N,00424.54503,E,9.658,335.25,120308,,,D*60
+$GPRMC,104858.00,A,5157.57160,N,00424.54325,E,9.153,334.72,120308,,,D*68
+$GPRMC,104859.00,A,5157.57378,N,00424.54154,E,8.383,334.44,120308,,,D*6D
+$GPRMC,104900.00,A,5157.57580,N,00424.53996,E,8.059,334.29,120308,,,D*6F
+$GPRMC,104901.00,A,5157.57781,N,00424.53839,E,8.273,334.41,120308,,,D*6D
+$GPRMC,104902.00,A,5157.57989,N,00424.53679,E,8.483,334.43,120308,,,D*69
+$GPRMC,104903.00,A,5157.58198,N,00424.53515,E,8.428,334.17,120308,,,D*66
+$GPRMC,104904.00,A,5157.58402,N,00424.53353,E,8.234,333.92,120308,,,D*62
+$GPRMC,104905.00,A,5157.58602,N,00424.53196,E,8.097,333.79,120308,,,D*64
+$GPRMC,104906.00,A,5157.58798,N,00424.53041,E,7.906,333.69,120308,,,D*61
+$GPRMC,104907.00,A,5157.58991,N,00424.52888,E,7.827,333.86,120308,,,D*68
+$GPRMC,104908.00,A,5157.59181,N,00424.52738,E,7.726,333.88,120308,,,D*6B
+$GPRMC,104909.00,A,5157.59371,N,00424.52590,E,7.716,333.90,120308,,,D*6D
+$GPRMC,104910.00,A,5157.59566,N,00424.52439,E,8.053,334.00,120308,,,D*60
+$GPRMC,104911.00,A,5157.59770,N,00424.52276,E,8.604,333.66,120308,,,D*6A
+$GPRMC,104912.00,A,5157.59993,N,00424.52101,E,9.466,334.48,120308,,,D*65
+$GPRMC,104913.00,A,5157.60243,N,00424.51907,E,10.532,334.57,120308,,,D*53
+$GPRMC,104914.00,A,5157.60520,N,00424.51695,E,11.602,334.78,120308,,,D*5E
+$GPRMC,104915.00,A,5157.60827,N,00424.51462,E,12.674,334.82,120308,,,D*58
+$GPRMC,104916.00,A,5157.61160,N,00424.51209,E,13.826,334.91,120308,,,D*51
+$GPRMC,104917.00,A,5157.61522,N,00424.50934,E,14.926,335.00,120308,,,D*59
+$GPRMC,104918.00,A,5157.61914,N,00424.50633,E,16.172,334.52,120308,,,D*5A
+$GPRMC,104919.00,A,5157.62332,N,00424.50307,E,17.221,334.03,120308,,,D*54
+$GPRMC,104920.00,A,5157.62770,N,00424.49958,E,17.685,333.96,120308,,,D*55
+$GPRMC,104921.00,A,5157.63215,N,00424.49603,E,17.848,333.92,120308,,,D*59
+$GPRMC,104922.00,A,5157.63658,N,00424.49252,E,17.783,333.87,120308,,,D*5B
+$GPRMC,104923.00,A,5157.64098,N,00424.48904,E,17.817,334.06,120308,,,D*52
+$GPRMC,104924.00,A,5157.64545,N,00424.48557,E,17.931,334.22,120308,,,D*59
+$GPRMC,104925.00,A,5157.65002,N,00424.48204,E,18.486,334.36,120308,,,D*55
+$GPRMC,104926.00,A,5157.65478,N,00424.47838,E,19.216,334.43,120308,,,D*59
+$GPRMC,104927.00,A,5157.65970,N,00424.47456,E,19.985,334.29,120308,,,D*54
+$GPRMC,104928.00,A,5157.66486,N,00424.47053,E,20.887,334.14,120308,,,D*5A
+$GPRMC,104929.00,A,5157.67022,N,00424.46633,E,21.667,334.11,120308,,,D*55
+$GPRMC,104930.00,A,5157.67581,N,00424.46193,E,22.681,334.16,120308,,,D*50
+$GPRMC,104931.00,A,5157.68162,N,00424.45737,E,23.444,334.23,120308,,,D*50
+$GPRMC,104932.00,A,5157.68763,N,00424.45267,E,24.242,334.35,120308,,,D*54
+$GPRMC,104933.00,A,5157.69380,N,00424.44782,E,24.731,334.22,120308,,,D*55
+$GPRMC,104934.00,A,5157.69999,N,00424.44292,E,24.616,334.11,120308,,,D*50
+$GPRMC,104935.00,A,5157.70615,N,00424.43811,E,24.124,334.09,120308,,,D*5B
+$GPRMC,104936.00,A,5157.71214,N,00424.43342,E,23.481,334.32,120308,,,D*54
+$GPRMC,104937.00,A,5157.71792,N,00424.42896,E,22.323,334.46,120308,,,D*50
+$GPRMC,104938.00,A,5157.72339,N,00424.42482,E,21.120,334.51,120308,,,D*54
+$GPRMC,104939.00,A,5157.72856,N,00424.42093,E,19.950,334.63,120308,,,D*56
+$GPRMC,104940.00,A,5157.73342,N,00424.41727,E,18.754,334.60,120308,,,D*54
+$GPRMC,104941.00,A,5157.73798,N,00424.41385,E,17.552,334.50,120308,,,D*52
+$GPRMC,104942.00,A,5157.74223,N,00424.41062,E,16.420,334.39,120308,,,D*53
+$GPRMC,104943.00,A,5157.74618,N,00424.40760,E,15.339,334.40,120308,,,D*58
+$GPRMC,104944.00,A,5157.74991,N,00424.40470,E,14.716,334.44,120308,,,D*5F
+$GPRMC,104945.00,A,5157.75356,N,00424.40191,E,14.568,334.36,120308,,,D*5A
+$GPRMC,104946.00,A,5157.75721,N,00424.39910,E,14.758,334.15,120308,,,D*52
+$GPRMC,104947.00,A,5157.76091,N,00424.39623,E,14.924,333.92,120308,,,D*5E
+$GPRMC,104948.00,A,5157.76469,N,00424.39330,E,15.359,334.16,120308,,,D*5F
+$GPRMC,104949.00,A,5157.76860,N,00424.39026,E,16.006,334.13,120308,,,D*50
+$GPRMC,104950.00,A,5157.77264,N,00424.38715,E,16.336,334.16,120308,,,D*54
+$GPRMC,104951.00,A,5157.77673,N,00424.38403,E,16.267,334.34,120308,,,D*56
+$GPRMC,104952.00,A,5157.78083,N,00424.38092,E,16.420,334.57,120308,,,D*5F
+$GPRMC,104953.00,A,5157.78504,N,00424.37774,E,16.888,334.55,120308,,,D*58
+$GPRMC,104954.00,A,5157.78938,N,00424.37443,E,17.476,334.58,120308,,,D*5A
+$GPRMC,104955.00,A,5157.79388,N,00424.37099,E,18.101,334.55,120308,,,D*5F
+$GPRMC,104956.00,A,5157.79852,N,00424.36743,E,18.641,334.49,120308,,,D*5F
+$GPRMC,104957.00,A,5157.80325,N,00424.36378,E,18.830,334.12,120308,,,D*59
+$GPRMC,104958.00,A,5157.80801,N,00424.36002,E,18.973,334.10,120308,,,D*51
+$GPRMC,104959.00,A,5157.81280,N,00424.35632,E,19.111,334.21,120308,,,D*5B
+$GPRMC,105000.00,A,5157.81763,N,00424.35262,E,19.099,334.44,120308,,,D*54
+$GPRMC,105001.00,A,5157.82246,N,00424.34890,E,19.199,334.21,120308,,,D*50
+$GPRMC,105002.00,A,5157.82724,N,00424.34519,E,18.769,334.26,120308,,,D*51
+$GPRMC,105003.00,A,5157.83178,N,00424.34165,E,17.532,334.20,120308,,,D*54
+$GPRMC,105004.00,A,5157.83599,N,00424.33834,E,16.259,334.33,120308,,,D*5B
+$GPRMC,105005.00,A,5157.83989,N,00424.33531,E,15.059,334.44,120308,,,D*5E
+$GPRMC,105006.00,A,5157.84349,N,00424.33252,E,13.972,334.56,120308,,,A*5E
+$GPRMC,105007.00,A,5157.84684,N,00424.32993,E,13.127,334.38,120308,,,A*5C
+$GPRMC,105008.00,A,5157.84991,N,00424.32751,E,11.907,333.96,120308,,,A*53
+$GPRMC,105009.00,A,5157.85272,N,00424.32525,E,11.115,333.49,120308,,,A*5D
+$GPRMC,105010.00,A,5157.85543,N,00424.32305,E,10.995,333.75,120308,,,A*5A
+$GPRMC,105011.00,A,5157.85823,N,00424.32080,E,11.803,334.18,120308,,,A*5D
+$GPRMC,105012.00,A,5157.86129,N,00424.31839,E,12.718,334.51,120308,,,A*5C
+$GPRMC,105013.00,A,5157.86461,N,00424.31582,E,13.885,334.68,120308,,,A*59
+$GPRMC,105014.00,A,5157.86825,N,00424.31304,E,15.237,334.76,120308,,,A*50
+$GPRMC,105015.00,A,5157.87224,N,00424.30997,E,16.632,334.58,120308,,,A*54
+$GPRMC,105016.00,A,5157.87659,N,00424.30663,E,17.965,334.65,120308,,,A*5F
+$GPRMC,105017.00,A,5157.88128,N,00424.30303,E,19.228,334.74,120308,,,A*5F
+$GPRMC,105018.00,A,5157.88625,N,00424.29915,E,20.394,334.24,120308,,,A*56
+$GPRMC,105019.00,A,5157.89150,N,00424.29501,E,21.411,333.94,120308,,,A*5D
+$GPRMC,105020.00,A,5157.89691,N,00424.29067,E,21.868,333.74,120308,,,A*54
+$GPRMC,105021.00,A,5157.90231,N,00424.28639,E,21.175,334.08,120308,,,A*56
+$GPRMC,105022.00,A,5157.90760,N,00424.28222,E,21.010,334.40,120308,,,A*54
+$GPRMC,105023.00,A,5157.91295,N,00424.27808,E,21.440,334.56,120308,,,A*50
+$GPRMC,105024.00,A,5157.91842,N,00424.27389,E,21.945,334.73,120308,,,A*5A
+$GPRMC,105025.00,A,5157.92402,N,00424.26962,E,22.365,334.69,120308,,,A*5E
+$GPRMC,105026.00,A,5157.92969,N,00424.26529,E,22.553,334.69,120308,,,A*5D
+$GPRMC,105027.00,A,5157.93534,N,00424.26096,E,22.131,334.56,120308,,,A*54
+$GPRMC,105028.00,A,5157.94078,N,00424.25672,E,21.167,334.22,120308,,,A*5D
+$GPRMC,105029.00,A,5157.94595,N,00424.25264,E,20.070,333.91,120308,,,A*50
+$GPRMC,105030.00,A,5157.95081,N,00424.24879,E,18.944,333.97,120308,,,A*5D
+$GPRMC,105031.00,A,5157.95546,N,00424.24512,E,18.184,334.14,120308,,,A*5A
+$GPRMC,105032.00,A,5157.95990,N,00424.24165,E,17.362,334.36,120308,,,A*5F
+$GPRMC,105033.00,A,5157.96427,N,00424.23828,E,17.480,334.32,120308,,,A*54
+$GPRMC,105034.00,A,5157.96873,N,00424.23477,E,18.246,333.88,120308,,,A*5D
+$GPRMC,105035.00,A,5157.97331,N,00424.23117,E,18.523,333.69,120308,,,A*58
+$GPRMC,105036.00,A,5157.97809,N,00424.22740,E,19.772,333.97,120308,,,A*58
+$GPRMC,105037.00,A,5157.98319,N,00424.22337,E,21.138,333.69,120308,,,A*5A
+$GPRMC,105038.00,A,5157.98865,N,00424.21900,E,22.653,333.82,120308,,,A*54
+$GPRMC,105039.00,A,5157.99452,N,00424.21438,E,24.368,334.16,120308,,,A*5B
+$GPRMC,105040.00,A,5158.00085,N,00424.20941,E,26.291,334.16,120308,,,A*53
+$GPRMC,105041.00,A,5158.00769,N,00424.20405,E,28.251,334.03,120308,,,A*5C
+$GPRMC,105042.00,A,5158.01497,N,00424.19829,E,29.914,334.11,120308,,,A*5C
+$GPRMC,105043.00,A,5158.02248,N,00424.19238,E,29.869,333.98,120308,,,A*5D
+$GPRMC,105044.00,A,5158.03010,N,00424.18634,E,30.934,333.99,120308,,,A*5D
+$GPRMC,105045.00,A,5158.03804,N,00424.18008,E,32.262,334.13,120308,,,A*57
+$GPRMC,105046.00,A,5158.04629,N,00424.17356,E,33.589,334.05,120308,,,A*51
+$GPRMC,105047.00,A,5158.05489,N,00424.16679,E,34.897,334.11,120308,,,A*50
+$GPRMC,105048.00,A,5158.06378,N,00424.15986,E,35.752,334.41,120308,,,A*5B
+$GPRMC,105049.00,A,5158.07288,N,00424.15280,E,36.564,334.67,120308,,,A*58
+$GPRMC,105050.00,A,5158.08213,N,00424.14571,E,36.744,334.89,120308,,,A*55
+$GPRMC,105051.00,A,5158.09147,N,00424.13863,E,36.907,334.93,120308,,,A*5C
+$GPRMC,105052.00,A,5158.10084,N,00424.13146,E,37.082,334.58,120308,,,A*55
+$GPRMC,105053.00,A,5158.11019,N,00424.12417,E,36.938,333.85,120308,,,A*5F
+$GPRMC,105054.00,A,5158.11943,N,00424.11682,E,36.526,333.59,120308,,,A*51
+$GPRMC,105055.00,A,5158.12855,N,00424.10955,E,36.120,333.85,120308,,,A*52
+$GPRMC,105056.00,A,5158.13758,N,00424.10239,E,35.702,333.95,120308,,,A*57
+$GPRMC,105057.00,A,5158.14652,N,00424.09538,E,35.414,334.41,120308,,,A*5E
+$GPRMC,105058.00,A,5158.15550,N,00424.08851,E,35.551,334.99,120308,,,A*57
+$GPRMC,105059.00,A,5158.16455,N,00424.08171,E,35.898,335.25,120308,,,A*54
+$GPRMC,105100.00,A,5158.17363,N,00424.07488,E,35.967,335.22,120308,,,A*50
+$GPRMC,105101.00,A,5158.18270,N,00424.06802,E,35.885,334.84,120308,,,A*52
+$GPRMC,105102.00,A,5158.19171,N,00424.06106,E,35.825,334.22,120308,,,A*59
+$GPRMC,105103.00,A,5158.20074,N,00424.05401,E,36.119,334.32,120308,,,A*53
+$GPRMC,105104.00,A,5158.20987,N,00424.04692,E,36.469,334.39,120308,,,A*51
+$GPRMC,105105.00,A,5158.21911,N,00424.03972,E,37.285,334.31,120308,,,A*55
+$GPRMC,105106.00,A,5158.22861,N,00424.03237,E,38.518,334.71,120308,,,A*51
+$GPRMC,105107.00,A,5158.23845,N,00424.02497,E,39.552,335.21,120308,,,A*51
+$GPRMC,105108.00,A,5158.24856,N,00424.01754,E,40.270,335.73,120308,,,A*5A
+$GPRMC,105109.00,A,5158.25892,N,00424.01020,E,40.815,336.99,120308,,,A*58
+$GPRMC,105110.00,A,5158.26951,N,00424.00335,E,40.918,339.39,120308,,,A*52
+$GPRMC,105111.00,A,5158.28019,N,00423.99716,E,40.540,341.01,120308,,,A*5F
+$GPRMC,105112.00,A,5158.29084,N,00423.99144,E,40.196,342.23,120308,,,A*54
+$GPRMC,105113.00,A,5158.30145,N,00423.98609,E,39.910,343.05,120308,,,A*53
+$GPRMC,105114.00,A,5158.31209,N,00423.98106,E,39.869,344.10,120308,,,A*5A
+$GPRMC,105115.00,A,5158.32279,N,00423.97629,E,39.708,344.92,120308,,,A*58
+$GPRMC,105116.00,A,5158.33347,N,00423.97171,E,39.526,345.20,120308,,,A*5A
+$GPRMC,105117.00,A,5158.34405,N,00423.96724,E,39.226,345.45,120308,,,A*5E
+$GPRMC,105118.00,A,5158.35454,N,00423.96278,E,38.898,345.31,120308,,,A*55
+$GPRMC,105119.00,A,5158.36491,N,00423.95832,E,38.490,345.08,120308,,,A*57
+$GPRMC,105120.00,A,5158.37520,N,00423.95382,E,38.289,345.08,120308,,,A*59
+$GPRMC,105121.00,A,5158.38549,N,00423.94937,E,38.385,345.17,120308,,,A*5E
+$GPRMC,105122.00,A,5158.39579,N,00423.94494,E,38.248,345.21,120308,,,A*5E
+$GPRMC,105123.00,A,5158.40605,N,00423.94054,E,38.092,345.16,120308,,,A*50
+$GPRMC,105124.00,A,5158.41628,N,00423.93615,E,37.974,345.07,120308,,,A*53
+$GPRMC,105125.00,A,5158.42651,N,00423.93174,E,38.108,345.18,120308,,,A*5D
+$GPRMC,105126.00,A,5158.43680,N,00423.92732,E,38.418,345.34,120308,,,A*5C
+$GPRMC,105127.00,A,5158.44719,N,00423.92290,E,38.770,345.23,120308,,,A*5D
+$GPRMC,105128.00,A,5158.45765,N,00423.91842,E,38.968,345.07,120308,,,A*5F
+$GPRMC,105129.00,A,5158.46821,N,00423.91390,E,39.369,345.17,120308,,,A*5D
+$GPRMC,105130.00,A,5158.47884,N,00423.90937,E,39.608,345.15,120308,,,A*5D
+$GPRMC,105131.00,A,5158.48951,N,00423.90480,E,39.918,345.05,120308,,,A*54
+$GPRMC,105132.00,A,5158.50026,N,00423.90013,E,40.114,344.90,120308,,,A*5E
+$GPRMC,105133.00,A,5158.51103,N,00423.89549,E,39.978,345.27,120308,,,A*5B
+$GPRMC,105134.00,A,5158.52175,N,00423.89097,E,39.722,345.54,120308,,,A*5D
+$GPRMC,105135.00,A,5158.53240,N,00423.88648,E,39.513,345.25,120308,,,A*5B
+$GPRMC,105136.00,A,5158.54304,N,00423.88192,E,39.805,345.13,120308,,,A*51
+$GPRMC,105137.00,A,5158.55377,N,00423.87734,E,40.027,345.34,120308,,,A*53
+$GPRMC,105138.00,A,5158.56455,N,00423.87280,E,40.104,345.59,120308,,,A*59
+$GPRMC,105139.00,A,5158.57537,N,00423.86823,E,40.250,345.27,120308,,,A*55
+$GPRMC,105140.00,A,5158.58625,N,00423.86357,E,40.611,345.15,120308,,,A*5C
+$GPRMC,105141.00,A,5158.59725,N,00423.85886,E,41.047,345.24,120308,,,A*5F
+$GPRMC,105142.00,A,5158.60834,N,00423.85409,E,41.597,345.07,120308,,,A*5B
+$GPRMC,105143.00,A,5158.61957,N,00423.84921,E,42.074,344.90,120308,,,A*5D
+$GPRMC,105144.00,A,5158.63087,N,00423.84425,E,42.369,344.90,120308,,,A*5A
+$GPRMC,105145.00,A,5158.64227,N,00423.83932,E,42.532,345.04,120308,,,A*5C
+$GPRMC,105146.00,A,5158.65367,N,00423.83439,E,42.544,345.34,120308,,,A*5F
+$GPRMC,105147.00,A,5158.66507,N,00423.82954,E,42.413,345.39,120308,,,A*54
+$GPRMC,105148.00,A,5158.67644,N,00423.82472,E,42.308,345.33,120308,,,A*50
+$GPRMC,105149.00,A,5158.68774,N,00423.81983,E,42.186,345.08,120308,,,A*50
+$GPRMC,105150.00,A,5158.69903,N,00423.81491,E,42.370,345.10,120308,,,A*5B
+$GPRMC,105151.00,A,5158.71045,N,00423.80989,E,43.017,344.80,120308,,,A*56
+$GPRMC,105152.00,A,5158.72202,N,00423.80473,E,43.715,344.75,120308,,,A*50
+$GPRMC,105153.00,A,5158.73380,N,00423.79962,E,43.935,345.19,120308,,,A*57
+$GPRMC,105154.00,A,5158.74562,N,00423.79464,E,44.393,345.79,120308,,,A*51
+$GPRMC,105155.00,A,5158.75765,N,00423.78995,E,44.686,346.97,120308,,,A*54
+$GPRMC,105156.00,A,5158.76982,N,00423.78561,E,45.044,347.84,120308,,,A*5E
+$GPRMC,105157.00,A,5158.78213,N,00423.78152,E,45.255,348.60,120308,,,A*51
+$GPRMC,105158.00,A,5158.79462,N,00423.77760,E,45.553,348.57,120308,,,A*52
+$GPRMC,105159.00,A,5158.80704,N,00423.77355,E,45.256,347.83,120308,,,A*50
+$GPRMC,105200.00,A,5158.81925,N,00423.76904,E,44.979,346.65,120308,,,A*52
+$GPRMC,105201.00,A,5158.83140,N,00423.76432,E,44.579,345.90,120308,,,A*57
+$GPRMC,105202.00,A,5158.84336,N,00423.75951,E,44.136,345.35,120308,,,A*5B
+$GPRMC,105203.00,A,5158.85506,N,00423.75459,E,43.376,345.35,120308,,,A*5A
+$GPRMC,105204.00,A,5158.86658,N,00423.74978,E,42.503,345.41,120308,,,A*5F
+$GPRMC,105205.00,A,5158.87792,N,00423.74492,E,41.668,345.56,120308,,,A*5A
+$GPRMC,105206.00,A,5158.88907,N,00423.74032,E,41.776,346.82,120308,,,A*5E
+$GPRMC,105207.00,A,5158.89984,N,00423.73577,E,39.847,345.77,120308,,,A*5D
+$GPRMC,105208.00,A,5158.91044,N,00423.73157,E,38.938,346.84,120308,,,A*5F
+$GPRMC,105209.00,A,5158.92087,N,00423.72808,E,37.722,349.41,120308,,,A*5C
+$GPRMC,105210.00,A,5158.93090,N,00423.72564,E,35.161,352.95,120308,,,A*54
+$GPRMC,105211.00,A,5158.94024,N,00423.72476,E,31.486,358.55,120308,,,A*51
+$GPRMC,105212.00,A,5158.94860,N,00423.72572,E,29.360,7.58,120308,,,A*5D
+$GPRMC,105213.00,A,5158.95625,N,00423.72882,E,28.046,17.88,120308,,,A*6A
+$GPRMC,105214.00,A,5158.96324,N,00423.73379,E,27.191,27.17,120308,,,A*65
+$GPRMC,105215.00,A,5158.96934,N,00423.74030,E,26.550,34.96,120308,,,A*65
+$GPRMC,105216.00,A,5158.97502,N,00423.74777,E,26.295,38.54,120308,,,A*66
+$GPRMC,105217.00,A,5158.98051,N,00423.75538,E,25.597,39.01,120308,,,A*64
+$GPRMC,105218.00,A,5158.98592,N,00423.76236,E,24.537,35.27,120308,,,A*68
+$GPRMC,105219.00,A,5158.99152,N,00423.76791,E,23.396,25.37,120308,,,A*62
+$GPRMC,105220.00,A,5158.99738,N,00423.77126,E,22.695,11.95,120308,,,A*61
+$GPRMC,105221.00,A,5159.00348,N,00423.77210,E,21.843,357.25,120308,,,A*58
+$GPRMC,105222.00,A,5159.00928,N,00423.77069,E,20.851,347.34,120308,,,A*58
+$GPRMC,105223.00,A,5159.01476,N,00423.76828,E,20.038,343.68,120308,,,A*58
+$GPRMC,105224.00,A,5159.01992,N,00423.76553,E,19.308,342.24,120308,,,A*5A
+$GPRMC,105225.00,A,5159.02490,N,00423.76287,E,18.453,342.92,120308,,,A*5C
+$GPRMC,105226.00,A,5159.02953,N,00423.76074,E,16.944,347.70,120308,,,A*5F
+$GPRMC,105227.00,A,5159.03371,N,00423.76004,E,14.326,2.19,120308,,,A*53
+$GPRMC,105228.00,A,5159.03686,N,00423.76093,E,11.409,15.78,120308,,,A*61
+$GPRMC,105229.00,A,5159.03812,N,00423.76230,E,6.295,23.82,120308,,,A*5D
+$GPRMC,105230.00,A,5159.03823,N,00423.76260,E,0.609,23.87,120308,,,A*50
+$GPRMC,105231.00,A,5159.03823,N,00423.76292,E,0.037,22.73,120308,,,A*5D
+$GPRMC,105232.00,A,5159.03809,N,00423.76305,E,0.023,25.99,120308,,,A*5F
+$GPRMC,105233.00,A,5159.03780,N,00423.76306,E,0.032,31.55,120308,,,A*56
+$GPRMC,105234.00,A,5159.03765,N,00423.76308,E,0.023,30.52,120308,,,A*52
+$GPRMC,105235.00,A,5159.03747,N,00423.76307,E,0.087,32.31,120308,,,A*55
+$GPRMC,105236.00,A,5159.03733,N,00423.76308,E,0.027,37.30,120308,,,A*54
+$GPRMC,105237.00,A,5159.03724,N,00423.76307,E,0.022,36.21,120308,,,A*58
+$GPRMC,105238.00,A,5159.03719,N,00423.76308,E,0.035,40.39,120308,,,A*58
+$GPRMC,105239.00,A,5159.03717,N,00423.76312,E,0.005,,120308,,,A*7F
+$GPRMC,105240.00,A,5159.03714,N,00423.76315,E,0.037,38.41,120308,,,A*54
+$GPRMC,105241.00,A,5159.03716,N,00423.76314,E,0.103,33.98,120308,,,A*5F
+$GPRMC,105242.00,A,5159.03719,N,00423.76316,E,0.023,38.74,120308,,,A*5B
+$GPRMC,105243.00,A,5159.03720,N,00423.76318,E,0.018,,120308,,,A*70
+$GPRMC,105244.00,A,5159.03724,N,00423.76323,E,0.011,,120308,,,A*72
+$GPRMC,105245.00,A,5159.03729,N,00423.76326,E,0.030,36.86,120308,,,A*5D
+$GPRMC,105246.00,A,5159.03735,N,00423.76330,E,0.011,,120308,,,A*72
+$GPRMC,105247.00,A,5159.03741,N,00423.76334,E,0.008,,120308,,,A*7C
+$GPRMC,105248.00,A,5159.03745,N,00423.76335,E,0.015,,120308,,,A*7A
+$GPRMC,105249.00,A,5159.03747,N,00423.76336,E,0.014,,120308,,,A*7B
+$GPRMC,105250.00,A,5159.03750,N,00423.76342,E,0.037,41.52,120308,,,A*5B
+$GPRMC,105251.00,A,5159.03749,N,00423.76346,E,0.012,,120308,,,A*7D
+$GPRMC,105252.00,A,5159.03747,N,00423.76348,E,0.015,,120308,,,A*79
+$GPRMC,105253.00,A,5159.03744,N,00423.76351,E,0.052,38.82,120308,,,A*5F
+$GPRMC,105254.00,A,5159.03734,N,00423.76356,E,0.029,36.89,120308,,,A*51
+$GPRMC,105255.00,A,5159.03732,N,00423.76359,E,0.022,36.17,120308,,,A*55
+$GPRMC,105256.00,A,5159.03732,N,00423.76365,E,0.024,39.22,120308,,,A*56
+$GPRMC,105257.00,A,5159.03732,N,00423.76368,E,0.007,,120308,,,A*7F
+$GPRMC,105258.00,A,5159.03728,N,00423.76375,E,0.031,36.34,120308,,,A*5E
+$GPRMC,105259.00,A,5159.03727,N,00423.76378,E,0.036,41.30,120308,,,A*5E
+$GPRMC,105300.00,A,5159.03728,N,00423.76379,E,0.034,39.76,120308,,,A*52
+$GPRMC,105301.00,A,5159.03727,N,00423.76378,E,0.003,,120308,,,A*7C
+$GPRMC,105302.00,A,5159.03725,N,00423.76377,E,0.009,,120308,,,A*78
+$GPRMC,105303.00,A,5159.03725,N,00423.76381,E,0.010,,120308,,,D*7D
+$GPRMC,105304.00,A,5159.03723,N,00423.76384,E,0.099,42.72,120308,,,D*55
+$GPRMC,105305.00,A,5159.03722,N,00423.76387,E,0.046,44.60,120308,,,D*51
+$GPRMC,105306.00,A,5159.03721,N,00423.76388,E,0.060,49.12,120308,,,D*52
+$GPRMC,105307.00,A,5159.03722,N,00423.76387,E,0.013,,120308,,,D*7B
+$GPRMC,105308.00,A,5159.03720,N,00423.76400,E,0.019,,120308,,,D*74
+$GPRMC,105309.00,A,5159.03718,N,00423.76413,E,0.008,,120308,,,D*7C
+$GPRMC,105310.00,A,5159.03716,N,00423.76423,E,0.015,,120308,,,D*75
+$GPRMC,105311.00,A,5159.03713,N,00423.76433,E,0.010,,120308,,,D*75
+$GPRMC,105312.00,A,5159.03709,N,00423.76443,E,0.015,,120308,,,D*7F
+$GPRMC,105313.00,A,5159.03706,N,00423.76453,E,0.017,,120308,,,D*72
+$GPRMC,105314.00,A,5159.03704,N,00423.76454,E,0.002,,120308,,,D*74
+$GPRMC,105315.00,A,5159.03706,N,00423.76453,E,0.004,,120308,,,D*76
+$GPRMC,105316.00,A,5159.03705,N,00423.76457,E,0.039,52.67,120308,,,D*54
+$GPRMC,105317.00,A,5159.03705,N,00423.76462,E,0.042,58.17,120308,,,D*52
+$GPRMC,105318.00,A,5159.03707,N,00423.76463,E,0.039,55.86,120308,,,D*57
+$GPRMC,105319.00,A,5159.03712,N,00423.76458,E,0.029,58.13,120308,,,D*5A
+$GPRMC,105320.00,A,5159.03710,N,00423.76451,E,0.023,62.23,120308,,,D*5B
+$GPRMC,105321.00,A,5159.03711,N,00423.76437,E,0.094,66.40,120308,,,D*56
+$GPRMC,105322.00,A,5159.03717,N,00423.76429,E,0.078,66.08,120308,,,D*52
+$GPRMC,105323.00,A,5159.03716,N,00423.76421,E,0.031,60.70,120308,,,D*5E
+$GPRMC,105324.00,A,5159.03718,N,00423.76414,E,0.027,65.60,120308,,,D*52
+$GPRMC,105325.00,A,5159.03715,N,00423.76404,E,0.030,63.79,120308,,,D*57
+$GPRMC,105326.00,A,5159.03711,N,00423.76396,E,0.021,66.94,120308,,,D*5A
+$GPRMC,105327.00,A,5159.03705,N,00423.76386,E,0.005,,120308,,,D*7A
+$GPRMC,105328.00,A,5159.03700,N,00423.76376,E,0.025,65.24,120308,,,D*56
+$GPRMC,105329.00,A,5159.03693,N,00423.76368,E,0.068,69.13,120308,,,D*52
+$GPRMC,105330.00,A,5159.03685,N,00423.76360,E,0.054,71.86,120308,,,D*5F
+$GPRMC,105331.00,A,5159.03681,N,00423.76354,E,0.018,,120308,,,D*73
+$GPRMC,105332.00,A,5159.03684,N,00423.76349,E,0.007,,120308,,,D*77
+$GPRMC,105333.00,A,5159.03679,N,00423.76341,E,0.050,74.68,120308,,,D*5D
+$GPRMC,105334.00,A,5159.03678,N,00423.76340,E,0.029,69.12,120308,,,D*55
+$GPRMC,105335.00,A,5159.03678,N,00423.76337,E,0.144,73.86,120308,,,D*58
+$GPRMC,105336.00,A,5159.03677,N,00423.76342,E,0.027,75.05,120308,,,D*5F
+$GPRMC,105337.00,A,5159.03679,N,00423.76344,E,0.030,80.06,120308,,,D*59
+$GPRMC,105338.00,A,5159.03680,N,00423.76346,E,0.059,78.89,120308,,,D*5D
+$GPRMC,105339.00,A,5159.03682,N,00423.76351,E,0.020,80.25,120308,,,D*57
+$GPRMC,105340.00,A,5159.03684,N,00423.76355,E,0.019,,120308,,,D*70
+$GPRMC,105341.00,A,5159.03684,N,00423.76366,E,0.056,77.35,120308,,,D*52
+$GPRMC,105342.00,A,5159.03692,N,00423.76373,E,0.109,75.19,120308,,,D*55
+$GPRMC,105343.00,A,5159.03696,N,00423.76378,E,0.061,70.96,120308,,,D*56
+$GPRMC,105344.00,A,5159.03698,N,00423.76380,E,0.040,76.13,120308,,,D*50
+$GPRMC,105345.00,A,5159.03697,N,00423.76385,E,0.030,81.10,120308,,,D*57
+$GPRMC,105346.00,A,5159.03699,N,00423.76388,E,0.036,86.22,120308,,,D*57
+$GPRMC,105347.00,A,5159.03702,N,00423.76391,E,0.045,90.72,120308,,,D*5B
+$GPRMC,105348.00,A,5159.03707,N,00423.76390,E,0.084,86.10,120308,,,D*5E
+$GPRMC,105349.00,A,5159.03708,N,00423.76387,E,0.041,80.69,120308,,,D*57
+$GPRMC,105350.00,A,5159.03711,N,00423.76387,E,0.031,77.59,120308,,,D*5B
+$GPRMC,105351.00,A,5159.03715,N,00423.76385,E,0.025,75.84,120308,,,D*5B
+$GPRMC,105352.00,A,5159.03715,N,00423.76390,E,0.041,79.58,120308,,,D*53
+$GPRMC,105353.00,A,5159.03718,N,00423.76391,E,0.057,84.53,120308,,,D*50
+$GPRMC,105354.00,A,5159.03720,N,00423.76386,E,0.027,89.86,120308,,,D*58
+$GPRMC,105355.00,A,5159.03720,N,00423.76381,E,0.021,90.06,120308,,,D*58
+$GPRMC,105356.00,A,5159.03720,N,00423.76384,E,0.012,,120308,,,D*7F
+$GPRMC,105357.00,A,5159.03722,N,00423.76387,E,0.027,91.16,120308,,,D*58
+$GPRMC,105358.00,A,5159.03716,N,00423.76381,E,0.020,85.83,120308,,,D*58
+$GPRMC,105359.00,A,5159.03713,N,00423.76381,E,0.030,86.48,120308,,,D*59
+$GPRMC,105400.00,A,5159.03708,N,00423.76380,E,0.042,83.21,120308,,,D*56
+$GPRMC,105401.00,A,5159.03699,N,00423.76372,E,0.054,86.45,120308,,,D*53
+$GPRMC,105402.00,A,5159.03693,N,00423.76368,E,0.024,83.10,120308,,,D*53
+$GPRMC,105403.00,A,5159.03692,N,00423.76373,E,0.027,84.56,120308,,,D*5F
+$GPRMC,105404.00,A,5159.03683,N,00423.76378,E,0.025,81.52,120308,,,D*50
+$GPRMC,105405.00,A,5159.03675,N,00423.76377,E,0.121,85.56,120308,,,D*52
+$GPRMC,105406.00,A,5159.03670,N,00423.76379,E,0.038,83.93,120308,,,D*5C
+$GPRMC,105407.00,A,5159.03671,N,00423.76380,E,0.041,87.77,120308,,,D*5A
+$GPRMC,105408.00,A,5159.03672,N,00423.76382,E,0.029,89.34,120308,,,D*53
+$GPRMC,105409.00,A,5159.03671,N,00423.76379,E,0.016,,120308,,,D*71
+$GPRMC,105410.00,A,5159.03668,N,00423.76374,E,0.061,92.66,120308,,,D*59
+$GPRMC,105411.00,A,5159.03665,N,00423.76373,E,0.045,94.50,120308,,,D*57
+$GPRMC,105412.00,A,5159.03663,N,00423.76363,E,0.014,,120308,,,D*71
+$GPRMC,105413.00,A,5159.03662,N,00423.76365,E,0.024,96.95,120308,,,D*59
+$GPRMC,105414.00,A,5159.03661,N,00423.76364,E,0.014,,120308,,,D*72
+$GPRMC,105415.00,A,5159.03655,N,00423.76367,E,0.021,94.28,120308,,,D*58
+$GPRMC,105416.00,A,5159.03654,N,00423.76378,E,0.333,91.83,120308,,,D*50
+$GPRMC,105417.00,A,5159.03650,N,00423.76379,E,0.285,98.44,120308,,,D*5A
+$GPRMC,105418.00,A,5159.03654,N,00423.76361,E,0.614,88.04,120308,,,D*51
+$GPRMC,105419.00,A,5159.03651,N,00423.76381,E,0.318,83.74,120308,,,D*5E
+$GPRMC,105420.00,A,5159.03652,N,00423.76382,E,0.411,74.24,120308,,,D*57
+$GPRMC,105421.00,A,5159.03629,N,00423.76419,E,0.066,79.05,120308,,,D*55
+$GPRMC,105422.00,A,5159.03636,N,00423.76407,E,1.027,70.73,120308,,,D*5B
+$GPRMC,105423.00,A,5159.03641,N,00423.76384,E,0.708,62.15,120308,,,D*5E
+$GPRMC,105424.00,A,5159.03639,N,00423.76385,E,0.838,54.12,120308,,,D*59
+$GPRMC,105425.00,A,5159.03634,N,00423.76430,E,0.566,49.79,120308,,,D*5B
+$GPRMC,105426.00,A,5159.03618,N,00423.76506,E,0.170,47.00,120308,,,D*51
+$GPRMC,105427.00,A,5159.03612,N,00423.76514,E,0.578,39.98,120308,,,D*5D
+$GPRMC,105428.00,A,5159.03613,N,00423.76516,E,0.599,35.74,120308,,,D*50
+$GPRMC,105429.00,A,5159.03610,N,00423.76590,E,0.650,33.51,120308,,,D*5B
+$GPRMC,105430.00,A,5159.03599,N,00423.76615,E,0.550,28.36,120308,,,D*57
+$GPRMC,105431.00,A,5159.03592,N,00423.76629,E,0.958,21.72,120308,,,D*5F
+$GPRMC,105432.00,A,5159.03589,N,00423.76734,E,0.559,17.23,120308,,,D*57
+$GPRMC,105433.00,A,5159.03566,N,00423.76885,E,0.477,15.43,120308,,,D*5B
+$GPRMC,105434.00,A,5159.03554,N,00423.76997,E,0.535,15.09,120308,,,D*56
+$GPRMC,105435.00,A,5159.03561,N,00423.77076,E,0.558,15.74,120308,,,D*57
+$GPRMC,105436.00,A,5159.03535,N,00423.77105,E,0.568,10.67,120308,,,D*54
+$GPRMC,105437.00,A,5159.03530,N,00423.77118,E,0.593,5.55,120308,,,D*6D
+$GPRMC,105438.00,A,5159.03532,N,00423.77078,E,0.827,1.00,120308,,,D*61
+$GPRMC,105439.00,A,5159.03478,N,00423.77148,E,0.044,355.90,120308,,,D*6B
+$GPRMC,105440.00,A,5159.03463,N,00423.77144,E,0.101,350.92,120308,,,D*64
+$GPRMC,105441.00,A,5159.03530,N,00423.76893,E,1.088,346.49,120308,,,D*60
+$GPRMC,105442.00,A,5159.03548,N,00423.76759,E,0.053,348.03,120308,,,D*62
+$GPRMC,105443.00,A,5159.03550,N,00423.76651,E,0.071,353.09,120308,,,D*63
+$GPRMC,105444.00,A,5159.03545,N,00423.76583,E,0.049,352.44,120308,,,D*6F
+$GPRMC,105445.00,A,5159.03558,N,00423.76517,E,0.044,351.90,120308,,,D*68
+$GPRMC,105446.00,A,5159.03566,N,00423.76480,E,0.048,351.52,120308,,,D*6B
+$GPRMC,105447.00,A,5159.03569,N,00423.76444,E,0.006,,120308,,,D*79
+$GPRMC,105448.00,A,5159.03565,N,00423.76405,E,0.007,,120308,,,D*7E
+$GPRMC,105449.00,A,5159.03560,N,00423.76381,E,0.018,,120308,,,D*7F
+$GPRMC,105450.00,A,5159.03554,N,00423.76356,E,0.028,351.06,120308,,,D*66
+$GPRMC,105451.00,A,5159.03546,N,00423.76326,E,0.033,353.28,120308,,,D*67
+$GPRMC,105452.00,A,5159.03541,N,00423.76311,E,0.007,,120308,,,D*71
+$GPRMC,105453.00,A,5159.03530,N,00423.76289,E,0.067,357.03,120308,,,D*6C
+$GPRMC,105454.00,A,5159.03522,N,00423.76272,E,0.018,,120308,,,D*78
+$GPRMC,105455.00,A,5159.03515,N,00423.76257,E,0.017,,120308,,,D*75
+$GPRMC,105456.00,A,5159.03515,N,00423.76252,E,0.029,359.56,120308,,,D*6C
+$GPRMC,105457.00,A,5159.03515,N,00423.76246,E,0.032,354.60,120308,,,D*6A
+$GPRMC,105458.00,A,5159.03519,N,00423.76248,E,0.054,355.43,120308,,,D*67
+$GPRMC,105459.00,A,5159.03525,N,00423.76247,E,0.013,,120308,,,D*7F
+$GPRMC,105500.00,A,5159.03532,N,00423.76238,E,0.240,355.39,120308,,,D*6F
+$GPRMC,105501.00,A,5159.03568,N,00423.76242,E,1.780,355.35,120308,,,D*68
+$GPRMC,105502.00,A,5159.03626,N,00423.76204,E,2.769,330.28,120308,,,D*6B
+$GPRMC,105503.00,A,5159.03697,N,00423.76138,E,3.138,333.52,120308,,,D*61
+$GPRMC,105504.00,A,5159.03735,N,00423.76046,E,2.253,308.25,120308,,,D*60
+$GPRMC,105505.00,A,5159.03789,N,00423.75918,E,3.708,308.02,120308,,,D*68
+$GPRMC,105506.00,A,5159.03887,N,00423.75747,E,6.432,317.90,120308,,,D*64
+$GPRMC,105507.00,A,5159.04073,N,00423.75555,E,9.451,331.82,120308,,,D*6D
+$GPRMC,105508.00,A,5159.04317,N,00423.75381,E,9.956,339.54,120308,,,D*65
+$GPRMC,105509.00,A,5159.04647,N,00423.75212,E,12.382,343.07,120308,,,D*5D
+$GPRMC,105510.00,A,5159.04991,N,00423.75041,E,13.615,344.50,120308,,,D*5A
+$GPRMC,105511.00,A,5159.05420,N,00423.74852,E,16.243,346.14,120308,,,D*56
+$GPRMC,105512.00,A,5159.05882,N,00423.74652,E,16.410,345.76,120308,,,D*58
+$GPRMC,105513.00,A,5159.06325,N,00423.74457,E,15.133,345.60,120308,,,D*5B
+$GPRMC,105514.00,A,5159.06740,N,00423.74286,E,13.811,345.54,120308,,,D*59
+$GPRMC,105515.00,A,5159.07101,N,00423.74123,E,12.317,345.68,120308,,,D*55
+$GPRMC,105516.00,A,5159.07415,N,00423.73989,E,9.757,345.08,120308,,,D*65
+$GPRMC,105517.00,A,5159.07638,N,00423.73888,E,6.186,344.89,120308,,,D*64
+$GPRMC,105518.00,A,5159.07772,N,00423.73826,E,3.262,344.14,120308,,,D*68
+$GPRMC,105519.00,A,5159.07843,N,00423.73791,E,1.817,344.10,120308,,,D*69
+$GPRMC,105520.00,A,5159.07911,N,00423.73757,E,2.672,344.30,120308,,,D*63
+$GPRMC,105521.00,A,5159.08015,N,00423.73710,E,4.353,344.60,120308,,,D*66
+$GPRMC,105522.00,A,5159.08152,N,00423.73654,E,5.851,344.88,120308,,,D*68
+$GPRMC,105523.00,A,5159.08322,N,00423.73580,E,6.557,344.56,120308,,,D*6D
+$GPRMC,105524.00,A,5159.08506,N,00423.73504,E,6.532,345.07,120308,,,D*60
+$GPRMC,105525.00,A,5159.08672,N,00423.73423,E,6.019,344.55,120308,,,D*6F
+$GPRMC,105526.00,A,5159.08844,N,00423.73346,E,6.571,346.44,120308,,,D*6A
+$GPRMC,105527.00,A,5159.09034,N,00423.73270,E,7.217,347.39,120308,,,D*6C
+$GPRMC,105528.00,A,5159.09249,N,00423.73189,E,8.082,346.69,120308,,,D*6B
+$GPRMC,105529.00,A,5159.09488,N,00423.73095,E,9.105,346.13,120308,,,D*6F
+$GPRMC,105530.00,A,5159.09744,N,00423.72977,E,9.814,344.53,120308,,,D*6F
+$GPRMC,105531.00,A,5159.10012,N,00423.72854,E,9.889,344.37,120308,,,D*64
+$GPRMC,105532.00,A,5159.10276,N,00423.72729,E,9.841,344.30,120308,,,D*61
+$GPRMC,105533.00,A,5159.10540,N,00423.72605,E,9.767,344.32,120308,,,D*64
+$GPRMC,105534.00,A,5159.10807,N,00423.72484,E,9.660,343.99,120308,,,D*66
+$GPRMC,105535.00,A,5159.11070,N,00423.72361,E,9.549,342.34,120308,,,D*6C
+$GPRMC,105536.00,A,5159.11323,N,00423.72213,E,9.433,338.04,120308,,,D*6C
+$GPRMC,105537.00,A,5159.11560,N,00423.72036,E,9.598,333.56,120308,,,D*65
+$GPRMC,105538.00,A,5159.11789,N,00423.71822,E,9.435,327.24,120308,,,D*67
+$GPRMC,105539.00,A,5159.11985,N,00423.71572,E,8.638,318.79,120308,,,D*66
+$GPRMC,105540.00,A,5159.12147,N,00423.71312,E,7.714,312.30,120308,,,D*6A
+$GPRMC,105541.00,A,5159.12255,N,00423.71071,E,6.397,306.69,120308,,,D*6A
+$GPRMC,105542.00,A,5159.12342,N,00423.70862,E,5.539,302.96,120308,,,D*60
+$GPRMC,105543.00,A,5159.12413,N,00423.70674,E,4.881,301.12,120308,,,D*6B
+$GPRMC,105544.00,A,5159.12476,N,00423.70509,E,4.257,300.91,120308,,,D*6D
+$GPRMC,105545.00,A,5159.12519,N,00423.70389,E,2.608,300.28,120308,,,D*60
+$GPRMC,105546.00,A,5159.12531,N,00423.70342,E,0.266,300.17,120308,,,D*6C
+$GPRMC,105547.00,A,5159.12528,N,00423.70345,E,0.096,302.60,120308,,,D*6D
+$GPRMC,105548.00,A,5159.12525,N,00423.70353,E,0.007,,120308,,,D*79
+$GPRMC,105549.00,A,5159.12522,N,00423.70361,E,0.006,,120308,,,D*7F
+$GPRMC,105550.00,A,5159.12519,N,00423.70367,E,0.002,,120308,,,D*7D
+$GPRMC,105551.00,A,5159.12513,N,00423.70382,E,0.277,313.65,120308,,,D*61
+$GPRMC,105552.00,A,5159.12501,N,00423.70419,E,1.224,324.07,120308,,,D*63
+$GPRMC,105553.00,A,5159.12474,N,00423.70486,E,1.928,334.00,120308,,,D*66
+$GPRMC,105554.00,A,5159.12443,N,00423.70576,E,2.013,121.08,120308,,,D*67
+$GPRMC,105555.00,A,5159.12415,N,00423.70652,E,1.458,121.08,120308,,,D*68
+$GPRMC,105556.00,A,5159.12392,N,00423.70716,E,1.366,121.08,120308,,,D*68
+$GPRMC,105557.00,A,5159.12373,N,00423.70768,E,0.992,121.10,120308,,,D*66
+$GPRMC,105558.00,A,5159.12363,N,00423.70795,E,0.109,121.06,120308,,,D*67
+$GPRMC,105559.00,A,5159.12359,N,00423.70804,E,0.012,,120308,,,D*79
+$GPRMC,105600.00,A,5159.12357,N,00423.70808,E,0.008,,120308,,,D*7F
+$GPRMC,105601.00,A,5159.12358,N,00423.70809,E,0.006,,120308,,,D*7E
+$GPRMC,105602.00,A,5159.12358,N,00423.70809,E,0.011,,120308,,,D*7B
+$GPRMC,105603.00,A,5159.12358,N,00423.70809,E,0.016,,120308,,,D*7D
+$GPRMC,105604.00,A,5159.12359,N,00423.70807,E,0.008,,120308,,,D*7A
+$GPRMC,105605.00,A,5159.12358,N,00423.70807,E,0.010,,120308,,,D*73
+$GPRMC,105606.00,A,5159.12359,N,00423.70808,E,0.000,,120308,,,D*7F
+$GPRMC,105607.00,A,5159.12358,N,00423.70814,E,0.006,,120308,,,A*71
+$GPRMC,105608.00,A,5159.12357,N,00423.70822,E,0.019,,120308,,,A*7A
+$GPRMC,105609.00,A,5159.12356,N,00423.70830,E,0.018,,120308,,,A*78
+$GPRMC,105610.00,A,5159.12355,N,00423.70837,E,0.018,,120308,,,A*74
+$GPRMC,105611.00,A,5159.12353,N,00423.70840,E,0.013,,120308,,,A*78
+$GPRMC,105612.00,A,5159.12353,N,00423.70845,E,0.005,,120308,,,A*79
+$GPRMC,105613.00,A,5159.12353,N,00423.70848,E,0.014,,120308,,,A*75
+$GPRMC,105614.00,A,5159.12353,N,00423.70852,E,0.008,,120308,,,A*74
+$GPRMC,105615.00,A,5159.12353,N,00423.70856,E,0.004,,120308,,,A*7D
+$GPRMC,105616.00,A,5159.12355,N,00423.70859,E,0.005,,120308,,,A*76
+$GPRMC,105617.00,A,5159.12355,N,00423.70863,E,0.007,,120308,,,A*7C
+$GPRMC,105618.00,A,5159.12355,N,00423.70867,E,0.013,,120308,,,A*72
+$GPRMC,105619.00,A,5159.12356,N,00423.70872,E,0.009,,120308,,,A*7F
+$GPRMC,105620.00,A,5159.12357,N,00423.70875,E,0.006,,120308,,,A*7C
+$GPRMC,105621.00,A,5159.12357,N,00423.70879,E,0.006,,120308,,,A*71
+$GPRMC,105622.00,A,5159.12357,N,00423.70882,E,0.000,,120308,,,A*70
+$GPRMC,105623.00,A,5159.12359,N,00423.70885,E,0.009,,120308,,,A*71
+$GPRMC,105624.00,A,5159.12360,N,00423.70887,E,0.004,,120308,,,D*76
+$GPRMC,105625.00,A,5159.12360,N,00423.70890,E,0.006,,120308,,,D*73
+$GPRMC,105626.00,A,5159.12355,N,00423.70883,E,0.004,,120308,,,D*76
+$GPRMC,105627.00,A,5159.12352,N,00423.70882,E,0.014,,120308,,,D*70
+$GPRMC,105628.00,A,5159.12304,N,00423.70933,E,0.017,,120308,,,D*74
+$GPRMC,105629.00,A,5159.12269,N,00423.70960,E,0.006,,120308,,,D*79
+$GPRMC,105630.00,A,5159.12247,N,00423.70992,E,0.015,,120308,,,D*72
+$GPRMC,105631.00,A,5159.12224,N,00423.71000,E,0.004,,120308,,,D*75
+$GPRMC,105632.00,A,5159.12210,N,00423.71017,E,0.005,,120308,,,D*76
+$GPRMC,105633.00,A,5159.12199,N,00423.71033,E,0.009,,120308,,,D*7F
+$GPRMC,105634.00,A,5159.12192,N,00423.71045,E,0.013,,120308,,,D*79
+$GPRMC,105635.00,A,5159.12186,N,00423.71056,E,0.008,,120308,,,D*75
+$GPRMC,105636.00,A,5159.12181,N,00423.71067,E,0.006,,120308,,,D*7D
+$GPRMC,105637.00,A,5159.12176,N,00423.71075,E,0.004,,120308,,,D*75
+$GPRMC,105638.00,A,5159.12172,N,00423.71083,E,0.013,,120308,,,D*71
+$GPRMC,105639.00,A,5159.12169,N,00423.71091,E,0.012,,120308,,,D*78
+$GPRMC,105640.00,A,5159.12167,N,00423.71096,E,0.005,,120308,,,D*79
+$GPRMC,105641.00,A,5159.12167,N,00423.71099,E,0.007,,120308,,,D*75
+$GPRMC,105642.00,A,5159.12166,N,00423.71102,E,0.006,,120308,,,D*75
+$GPRMC,105643.00,A,5159.12165,N,00423.71103,E,0.011,,120308,,,D*70
+$GPRMC,105644.00,A,5159.12163,N,00423.71113,E,0.008,,120308,,,D*78
+$GPRMC,105645.00,A,5159.12161,N,00423.71123,E,0.005,,120308,,,D*75
+$GPRMC,105646.00,A,5159.12159,N,00423.71135,E,0.032,121.11,120308,,,D*62
+$GPRMC,105647.00,A,5159.12157,N,00423.71140,E,0.039,126.33,120308,,,D*63
+$GPRMC,105648.00,A,5159.12160,N,00423.71134,E,0.576,137.28,120308,,,D*6F
+$GPRMC,105649.00,A,5159.12176,N,00423.71093,E,1.544,147.52,120308,,,D*6F
+$GPRMC,105650.00,A,5159.12204,N,00423.71025,E,2.105,301.30,120308,,,D*6A
+$GPRMC,105651.00,A,5159.12234,N,00423.70945,E,1.927,301.27,120308,,,D*6B
+$GPRMC,105652.00,A,5159.12260,N,00423.70876,E,1.667,301.24,120308,,,D*60
+$GPRMC,105653.00,A,5159.12281,N,00423.70814,E,1.380,301.17,120308,,,D*66
+$GPRMC,105654.00,A,5159.12296,N,00423.70769,E,0.748,301.09,120308,,,D*6C
+$GPRMC,105655.00,A,5159.12302,N,00423.70742,E,0.316,301.07,120308,,,D*69
+$GPRMC,105656.00,A,5159.12304,N,00423.70726,E,0.214,300.96,120308,,,D*64
+$GPRMC,105657.00,A,5159.12303,N,00423.70712,E,0.186,300.96,120308,,,D*6D
+$GPRMC,105658.00,A,5159.12305,N,00423.70701,E,0.187,300.81,120308,,,D*61
+$GPRMC,105659.00,A,5159.12306,N,00423.70692,E,0.145,300.89,120308,,,D*6E
+$GPRMC,105700.00,A,5159.12308,N,00423.70691,E,0.078,300.65,120308,,,D*63
+$GPRMC,105701.00,A,5159.12310,N,00423.70692,E,0.075,300.78,120308,,,D*69
+$GPRMC,105702.00,A,5159.12312,N,00423.70686,E,0.054,300.63,120308,,,D*64
+$GPRMC,105703.00,A,5159.12313,N,00423.70682,E,0.131,300.48,120308,,,D*6B
+$GPRMC,105704.00,A,5159.12317,N,00423.70671,E,0.476,300.57,120308,,,D*6C
+$GPRMC,105705.00,A,5159.12327,N,00423.70646,E,0.873,300.54,120308,,,D*60
+$GPRMC,105706.00,A,5159.12338,N,00423.70616,E,0.865,300.47,120308,,,D*6D
+$GPRMC,105707.00,A,5159.12360,N,00423.70570,E,1.986,299.15,120308,,,D*69
+$GPRMC,105708.00,A,5159.12404,N,00423.70446,E,4.376,298.71,120308,,,D*64
+$GPRMC,105709.00,A,5159.12484,N,00423.70246,E,6.015,304.72,120308,,,D*68
+$GPRMC,105710.00,A,5159.12610,N,00423.70024,E,7.572,318.06,120308,,,D*62
+$GPRMC,105711.00,A,5159.12804,N,00423.69805,E,9.519,330.35,120308,,,D*62
+$GPRMC,105712.00,A,5159.13060,N,00423.69598,E,10.685,336.33,120308,,,D*5D
+$GPRMC,105713.00,A,5159.13339,N,00423.69398,E,11.045,335.91,120308,,,D*55
+$GPRMC,105714.00,A,5159.13628,N,00423.69143,E,12.673,327.25,120308,,,D*5F
+$GPRMC,105715.00,A,5159.13900,N,00423.68748,E,13.873,310.46,120308,,,D*59
+$GPRMC,105716.00,A,5159.14120,N,00423.68204,E,15.136,295.64,120308,,,D*58
+$GPRMC,105717.00,A,5159.14300,N,00423.67539,E,15.682,289.55,120308,,,D*58
+$GPRMC,105718.00,A,5159.14456,N,00423.66854,E,15.345,288.32,120308,,,D*5A
+$GPRMC,105719.00,A,5159.14594,N,00423.66195,E,14.595,287.59,120308,,,D*58
+$GPRMC,105720.00,A,5159.14719,N,00423.65579,E,13.514,287.84,120308,,,D*5E
+$GPRMC,105721.00,A,5159.14843,N,00423.65008,E,12.912,290.16,120308,,,D*5A
+$GPRMC,105722.00,A,5159.14984,N,00423.64468,E,13.235,296.34,120308,,,D*59
+$GPRMC,105723.00,A,5159.15169,N,00423.63935,E,13.956,304.14,120308,,,D*56
+$GPRMC,105724.00,A,5159.15442,N,00423.63437,E,15.433,319.79,120308,,,D*5D
+$GPRMC,105725.00,A,5159.15819,N,00423.63034,E,17.283,333.39,120308,,,D*5A
+$GPRMC,105726.00,A,5159.16289,N,00423.62712,E,19.652,339.76,120308,,,D*5C
+$GPRMC,105727.00,A,5159.16825,N,00423.62411,E,21.271,341.75,120308,,,D*53
+$GPRMC,105728.00,A,5159.17408,N,00423.62108,E,22.594,342.95,120308,,,D*51
+$GPRMC,105729.00,A,5159.18030,N,00423.61804,E,24.104,343.83,120308,,,D*5B
+$GPRMC,105730.00,A,5159.18700,N,00423.61488,E,25.957,343.82,120308,,,D*51
+$GPRMC,105731.00,A,5159.19430,N,00423.61140,E,28.025,343.91,120308,,,D*53
+$GPRMC,105732.00,A,5159.20217,N,00423.60772,E,30.346,344.39,120308,,,D*55
+$GPRMC,105733.00,A,5159.21054,N,00423.60386,E,30.844,344.71,120308,,,D*5A
+$GPRMC,105734.00,A,5159.21913,N,00423.59994,E,32.162,344.72,120308,,,D*58
+$GPRMC,105735.00,A,5159.22803,N,00423.59590,E,33.496,344.71,120308,,,D*5E
+$GPRMC,105736.00,A,5159.23731,N,00423.59178,E,34.839,345.27,120308,,,D*5C
+$GPRMC,105737.00,A,5159.24690,N,00423.58767,E,35.721,345.57,120308,,,D*59
+$GPRMC,105738.00,A,5159.25677,N,00423.58348,E,36.823,345.45,120308,,,D*5A
+$GPRMC,105739.00,A,5159.26703,N,00423.57909,E,38.561,345.23,120308,,,D*5F
+$GPRMC,105740.00,A,5159.27779,N,00423.57452,E,40.377,345.31,120308,,,D*53
+$GPRMC,105741.00,A,5159.28899,N,00423.56983,E,41.416,345.52,120308,,,D*58
+$GPRMC,105742.00,A,5159.30038,N,00423.56506,E,42.114,345.44,120308,,,D*53
+$GPRMC,105743.00,A,5159.31194,N,00423.56005,E,43.158,344.94,120308,,,D*57
+$GPRMC,105744.00,A,5159.32371,N,00423.55473,E,44.002,344.13,120308,,,D*5A
+$GPRMC,105745.00,A,5159.33566,N,00423.54908,E,44.821,343.54,120308,,,D*57
+$GPRMC,105746.00,A,5159.34780,N,00423.54319,E,45.921,343.55,120308,,,D*52
+$GPRMC,105747.00,A,5159.36032,N,00423.53716,E,46.119,343.58,120308,,,D*5E
+$GPRMC,105748.00,A,5159.37288,N,00423.53121,E,46.540,344.02,120308,,,D*51
+$GPRMC,105749.00,A,5159.38551,N,00423.52543,E,46.808,344.48,120308,,,D*52
+$GPRMC,105750.00,A,5159.39818,N,00423.51982,E,46.916,344.88,120308,,,D*5B
+$GPRMC,105751.00,A,5159.41090,N,00423.51429,E,47.020,345.06,120308,,,D*5B
+$GPRMC,105752.00,A,5159.42361,N,00423.50876,E,46.789,344.88,120308,,,D*53
+$GPRMC,105753.00,A,5159.43611,N,00423.50333,E,45.905,344.98,120308,,,D*53
+$GPRMC,105754.00,A,5159.44840,N,00423.49808,E,45.197,345.23,120308,,,D*50
+$GPRMC,105755.00,A,5159.46058,N,00423.49297,E,44.851,345.38,120308,,,D*56
+$GPRMC,105756.00,A,5159.47277,N,00423.48791,E,45.301,346.03,120308,,,D*5D
+$GPRMC,105757.00,A,5159.48497,N,00423.48288,E,44.569,345.94,120308,,,D*52
+$GPRMC,105758.00,A,5159.49703,N,00423.47811,E,43.653,346.58,120308,,,D*59
+$GPRMC,105759.00,A,5159.50919,N,00423.47386,E,43.860,348.17,120308,,,D*5B
+$GPRMC,105800.00,A,5159.52112,N,00423.46996,E,43.722,348.72,120308,,,D*59
+$GPRMC,105801.00,A,5159.53306,N,00423.46631,E,43.248,349.04,120308,,,D*55
+$GPRMC,105802.00,A,5159.54487,N,00423.46293,E,42.867,350.06,120308,,,D*5F
+$GPRMC,105803.00,A,5159.55659,N,00423.45991,E,42.664,350.82,120308,,,D*55
+$GPRMC,105804.00,A,5159.56860,N,00423.45730,E,42.591,350.91,120308,,,D*5B
+$GPRMC,105805.00,A,5159.58044,N,00423.45443,E,42.546,350.69,120308,,,D*50
+$GPRMC,105806.00,A,5159.59204,N,00423.45128,E,42.475,349.74,120308,,,D*59
+$GPRMC,105807.00,A,5159.60351,N,00423.44784,E,42.021,348.78,120308,,,D*5A
+$GPRMC,105808.00,A,5159.61483,N,00423.44422,E,41.450,348.35,120308,,,D*5B
+$GPRMC,105809.00,A,5159.62590,N,00423.44058,E,40.793,348.68,120308,,,D*56
+$GPRMC,105810.00,A,5159.63679,N,00423.43723,E,39.842,349.69,120308,,,D*5A
+$GPRMC,105811.00,A,5159.64753,N,00423.43432,E,39.109,350.90,120308,,,D*5E
+$GPRMC,105812.00,A,5159.65800,N,00423.43187,E,38.158,352.08,120308,,,D*58
+$GPRMC,105813.00,A,5159.66827,N,00423.42977,E,37.320,352.79,120308,,,D*5D
+$GPRMC,105814.00,A,5159.67833,N,00423.42795,E,36.394,353.55,120308,,,D*5D
+$GPRMC,105815.00,A,5159.68814,N,00423.42650,E,35.247,354.76,120308,,,D*54
+$GPRMC,105816.00,A,5159.69765,N,00423.42541,E,33.990,355.86,120308,,,D*55
+$GPRMC,105817.00,A,5159.70696,N,00423.42452,E,32.885,356.67,120308,,,D*5A
+$GPRMC,105818.00,A,5159.71594,N,00423.42383,E,31.400,357.36,120308,,,D*59
+$GPRMC,105819.00,A,5159.72374,N,00423.42408,E,27.547,0.21,120308,,,D*55
+$GPRMC,105820.00,A,5159.73060,N,00423.42457,E,23.539,2.59,120308,,,D*52
+$GPRMC,105821.00,A,5159.73629,N,00423.42526,E,18.791,4.14,120308,,,D*58
+$GPRMC,105822.00,A,5159.74047,N,00423.42599,E,13.712,5.69,120308,,,D*5D
+$GPRMC,105823.00,A,5159.74316,N,00423.42664,E,8.409,6.54,120308,,,D*64
+$GPRMC,105824.00,A,5159.74432,N,00423.42702,E,3.178,7.18,120308,,,D*62
+$GPRMC,105825.00,A,5159.74445,N,00423.42709,E,0.383,7.19,120308,,,D*6C
+$GPRMC,105826.00,A,5159.74405,N,00423.42719,E,0.111,12.81,120308,,,D*56
+$GPRMC,105827.00,A,5159.74366,N,00423.42723,E,0.125,18.30,120308,,,D*5B
+$GPRMC,105828.00,A,5159.74335,N,00423.42725,E,0.079,23.71,120308,,,D*51
+$GPRMC,105829.00,A,5159.74312,N,00423.42725,E,0.063,22.71,120308,,,D*5F
+$GPRMC,105830.00,A,5159.74295,N,00423.42725,E,0.066,22.27,120308,,,D*5F
+$GPRMC,105831.00,A,5159.74281,N,00423.42723,E,0.183,21.91,120308,,,D*59
+$GPRMC,105832.00,A,5159.74265,N,00423.42720,E,0.023,21.33,120308,,,D*50
+$GPRMC,105833.00,A,5159.74248,N,00423.42715,E,0.061,26.50,120308,,,D*5C
+$GPRMC,105834.00,A,5159.74232,N,00423.42710,E,0.015,,120308,,,D*7F
+$GPRMC,105835.00,A,5159.74219,N,00423.42706,E,0.051,29.56,120308,,,D*56
+$GPRMC,105836.00,A,5159.74208,N,00423.42701,E,0.012,,120308,,,D*73
+$GPRMC,105837.00,A,5159.74199,N,00423.42697,E,0.010,,120308,,,D*75
+$GPRMC,105838.00,A,5159.74190,N,00423.42696,E,0.003,,120308,,,D*70
+$GPRMC,105839.00,A,5159.74182,N,00423.42695,E,0.006,,120308,,,D*74
+$GPRMC,105840.00,A,5159.74176,N,00423.42696,E,0.008,,120308,,,D*7C
+$GPRMC,105841.00,A,5159.74171,N,00423.42694,E,0.004,,120308,,,D*74
+$GPRMC,105842.00,A,5159.74165,N,00423.42692,E,0.004,,120308,,,D*74
+$GPRMC,105843.00,A,5159.74160,N,00423.42689,E,0.004,,120308,,,D*7A
+$GPRMC,105844.00,A,5159.74156,N,00423.42688,E,0.002,,120308,,,D*7F
+$GPRMC,105845.00,A,5159.74151,N,00423.42689,E,0.013,,120308,,,D*78
+$GPRMC,105846.00,A,5159.74146,N,00423.42688,E,0.022,30.62,120308,,,D*57
+$GPRMC,105847.00,A,5159.74141,N,00423.42690,E,0.003,,120308,,,D*72
+$GPRMC,105848.00,A,5159.74136,N,00423.42692,E,0.000,,120308,,,D*7C
+$GPRMC,105849.00,A,5159.74130,N,00423.42697,E,0.008,,120308,,,D*76
+$GPRMC,105850.00,A,5159.74126,N,00423.42699,E,0.007,,120308,,,D*78
+$GPRMC,105851.00,A,5159.74121,N,00423.42703,E,0.026,30.20,120308,,,D*50
+$GPRMC,105852.00,A,5159.74120,N,00423.42706,E,0.061,29.43,120308,,,D*59
+$GPRMC,105853.00,A,5159.74124,N,00423.42712,E,0.365,28.22,120308,,,D*58
+$GPRMC,105854.00,A,5159.74134,N,00423.42720,E,0.394,26.85,120308,,,D*52
+$GPRMC,105855.00,A,5159.74141,N,00423.42723,E,0.159,26.17,120308,,,D*5A
+$GPRMC,105856.00,A,5159.74170,N,00423.42735,E,1.981,7.66,120308,,,D*65
+$GPRMC,105857.00,A,5159.74292,N,00423.42766,E,6.624,7.63,120308,,,D*6F
+$GPRMC,105858.00,A,5159.74540,N,00423.42822,E,11.334,8.81,120308,,,D*56
+$GPRMC,105859.00,A,5159.74904,N,00423.42922,E,14.596,10.43,120308,,,D*66
+$GPRMC,105900.00,A,5159.75348,N,00423.43069,E,17.416,12.00,120308,,,D*60
+$GPRMC,105901.00,A,5159.75880,N,00423.43270,E,21.408,13.77,120308,,,D*6F
+$GPRMC,105902.00,A,5159.76498,N,00423.43538,E,23.830,15.60,120308,,,D*64
+$GPRMC,105903.00,A,5159.77165,N,00423.43849,E,25.538,16.24,120308,,,D*68
+$GPRMC,105904.00,A,5159.77881,N,00423.44147,E,27.188,12.80,120308,,,D*6B
+$GPRMC,105905.00,A,5159.78651,N,00423.44351,E,27.614,4.83,120308,,,D*55
+$GPRMC,105906.00,A,5159.79432,N,00423.44348,E,28.008,354.48,120308,,,D*5D
+$GPRMC,105907.00,A,5159.80205,N,00423.44102,E,27.769,344.03,120308,,,D*55
+$GPRMC,105908.00,A,5159.80922,N,00423.43649,E,27.580,334.33,120308,,,D*5A
+$GPRMC,105909.00,A,5159.81576,N,00423.43015,E,27.168,324.84,120308,,,D*57
+$GPRMC,105910.00,A,5159.82178,N,00423.42208,E,28.109,316.65,120308,,,D*5F
+$GPRMC,105911.00,A,5159.82692,N,00423.41252,E,27.833,307.17,120308,,,D*5B
+$GPRMC,105912.00,A,5159.83122,N,00423.40165,E,28.926,298.96,120308,,,D*57
+$GPRMC,105913.00,A,5159.83467,N,00423.38930,E,29.665,289.97,120308,,,D*5D
+$GPRMC,105914.00,A,5159.83692,N,00423.37604,E,30.245,281.16,120308,,,D*5A
+$GPRMC,105915.00,A,5159.83759,N,00423.36250,E,29.758,268.51,120308,,,D*5C
+$GPRMC,105916.00,A,5159.83642,N,00423.34877,E,29.779,255.70,120308,,,D*57
+$GPRMC,105917.00,A,5159.83364,N,00423.33538,E,30.365,247.73,120308,,,D*57
+$GPRMC,105918.00,A,5159.83003,N,00423.32285,E,30.630,243.61,120308,,,D*58
+$GPRMC,105919.00,A,5159.82594,N,00423.31093,E,29.740,239.91,120308,,,D*59
+$GPRMC,105920.00,A,5159.82160,N,00423.29973,E,28.656,236.14,120308,,,D*57
+$GPRMC,105921.00,A,5159.81689,N,00423.28966,E,26.839,231.70,120308,,,D*5C
+$GPRMC,105922.00,A,5159.81179,N,00423.28125,E,25.601,220.90,120308,,,D*50
+$GPRMC,105923.00,A,5159.80574,N,00423.27576,E,24.277,207.40,120308,,,D*58
+$GPRMC,105924.00,A,5159.79936,N,00423.27270,E,23.922,189.51,120308,,,D*5B
+$GPRMC,105925.00,A,5159.79243,N,00423.27235,E,25.136,174.96,120308,,,D*50
+$GPRMC,105926.00,A,5159.78505,N,00423.27452,E,26.056,167.00,120308,,,D*59
+$GPRMC,105927.00,A,5159.77767,N,00423.27763,E,26.168,165.30,120308,,,D*5D
+$GPRMC,105928.00,A,5159.77055,N,00423.28088,E,25.217,164.21,120308,,,D*50
+$GPRMC,105929.00,A,5159.76388,N,00423.28404,E,23.506,163.45,120308,,,D*57
+$GPRMC,105930.00,A,5159.75794,N,00423.28680,E,19.879,164.87,120308,,,D*5E
+$GPRMC,105931.00,A,5159.75313,N,00423.28887,E,15.343,165.14,120308,,,D*58
+$GPRMC,105932.00,A,5159.74960,N,00423.29041,E,10.627,164.23,120308,,,D*50
+$GPRMC,105933.00,A,5159.74745,N,00423.29143,E,5.740,163.10,120308,,,D*68
+$GPRMC,105934.00,A,5159.74657,N,00423.29187,E,1.620,163.08,120308,,,D*6F
+$GPRMC,105935.00,A,5159.74638,N,00423.29199,E,0.494,163.11,120308,,,D*6C
+$GPRMC,105936.00,A,5159.74638,N,00423.29200,E,0.233,162.92,120308,,,D*6D
+$GPRMC,105937.00,A,5159.74644,N,00423.29199,E,0.007,,120308,,,D*71
+$GPRMC,105938.00,A,5159.74652,N,00423.29195,E,0.051,168.51,120308,,,D*63
+$GPRMC,105939.00,A,5159.74661,N,00423.29187,E,0.010,,120308,,,D*71
+$GPRMC,105940.00,A,5159.74669,N,00423.29183,E,0.004,,120308,,,D*76
+$GPRMC,105941.00,A,5159.74678,N,00423.29179,E,0.003,,120308,,,D*75
+$GPRMC,105942.00,A,5159.74687,N,00423.29175,E,0.002,,120308,,,D*7B
+$GPRMC,105943.00,A,5159.74694,N,00423.29173,E,0.007,,120308,,,D*7B
+$GPRMC,105944.00,A,5159.74707,N,00423.29162,E,0.005,,120308,,,D*75
+$GPRMC,105945.00,A,5159.74698,N,00423.29164,E,1.226,168.14,120308,,,D*63
+$GPRMC,105946.00,A,5159.74597,N,00423.29216,E,6.356,162.52,120308,,,D*63
+$GPRMC,105947.00,A,5159.74348,N,00423.29351,E,11.827,161.41,120308,,,D*5E
+$GPRMC,105948.00,A,5159.74016,N,00423.29554,E,13.045,159.52,120308,,,D*5D
+$GPRMC,105949.00,A,5159.73631,N,00423.29816,E,15.858,157.10,120308,,,D*59
+$GPRMC,105950.00,A,5159.73167,N,00423.30166,E,19.596,155.40,120308,,,D*57
+$GPRMC,105951.00,A,5159.72648,N,00423.30567,E,21.195,154.84,120308,,,D*5D
+$GPRMC,105952.00,A,5159.72099,N,00423.30989,E,21.944,155.23,120308,,,D*50
+$GPRMC,105953.00,A,5159.71515,N,00423.31427,E,23.786,155.86,120308,,,D*56
+$GPRMC,105954.00,A,5159.70878,N,00423.31887,E,25.604,156.38,120308,,,D*5B
+$GPRMC,105955.00,A,5159.70190,N,00423.32368,E,27.397,157.11,120308,,,D*5B
+$GPRMC,105956.00,A,5159.69456,N,00423.32859,E,29.075,157.50,120308,,,D*52
+$GPRMC,105957.00,A,5159.68696,N,00423.33355,E,29.385,157.74,120308,,,D*50
+$GPRMC,105958.00,A,5159.67920,N,00423.33860,E,30.158,157.67,120308,,,D*57
+$GPRMC,105959.00,A,5159.67129,N,00423.34378,E,30.618,157.66,120308,,,D*50
+$GPRMC,110000.00,A,5159.66336,N,00423.34898,E,30.508,157.64,120308,,,D*59
+$GPRMC,110001.00,A,5159.65551,N,00423.35418,E,29.973,157.82,120308,,,D*59
+$GPRMC,110002.00,A,5159.64780,N,00423.35919,E,29.174,158.10,120308,,,D*52
+$GPRMC,110003.00,A,5159.64043,N,00423.36398,E,27.524,158.37,120308,,,D*51
+$GPRMC,110004.00,A,5159.63343,N,00423.36846,E,26.166,158.99,120308,,,D*5D
+$GPRMC,110005.00,A,5159.62684,N,00423.37256,E,24.420,159.17,120308,,,D*5B
+$GPRMC,110006.00,A,5159.62076,N,00423.37631,E,22.401,159.26,120308,,,D*51
+$GPRMC,110007.00,A,5159.61531,N,00423.37969,E,19.746,159.20,120308,,,D*59
+$GPRMC,110008.00,A,5159.61055,N,00423.38264,E,17.204,159.21,120308,,,D*54
+$GPRMC,110009.00,A,5159.60654,N,00423.38521,E,14.278,159.20,120308,,,D*5C
+$GPRMC,110010.00,A,5159.60327,N,00423.38733,E,11.664,159.26,120308,,,D*5E
+$GPRMC,110011.00,A,5159.60039,N,00423.38914,E,11.005,159.26,120308,,,D*59
+$GPRMC,110012.00,A,5159.59766,N,00423.39083,E,10.449,159.37,120308,,,D*56
+$GPRMC,110013.00,A,5159.59535,N,00423.39256,E,8.835,159.31,120308,,,D*61
+$GPRMC,110014.00,A,5159.59349,N,00423.39368,E,6.570,159.43,120308,,,D*60
+$GPRMC,110015.00,A,5159.59203,N,00423.39460,E,5.603,159.40,120308,,,D*66
+$GPRMC,110016.00,A,5159.59066,N,00423.39545,E,5.671,159.45,120308,,,D*62
+$GPRMC,110017.00,A,5159.58930,N,00423.39628,E,5.301,159.59,120308,,,D*6F
+$GPRMC,110018.00,A,5159.58819,N,00423.39692,E,3.693,159.36,120308,,,D*6A
+$GPRMC,110019.00,A,5159.58744,N,00423.39735,E,2.545,159.54,120308,,,D*6D
+$GPRMC,110020.00,A,5159.58679,N,00423.39773,E,3.045,159.39,120308,,,D*65
+$GPRMC,110021.00,A,5159.58562,N,00423.39845,E,6.156,159.73,120308,,,D*6F
+$GPRMC,110022.00,A,5159.58328,N,00423.39990,E,11.897,159.95,120308,,,D*57
+$GPRMC,110023.00,A,5159.57969,N,00423.40209,E,15.643,160.26,120308,,,D*52
+$GPRMC,110024.00,A,5159.57520,N,00423.40480,E,18.647,160.01,120308,,,D*5F
+$GPRMC,110025.00,A,5159.56973,N,00423.40815,E,22.983,159.70,120308,,,D*57
+$GPRMC,110026.00,A,5159.56312,N,00423.41227,E,27.292,159.26,120308,,,D*5E
+$GPRMC,110027.00,A,5159.55578,N,00423.41698,E,28.848,158.89,120308,,,D*50
+$GPRMC,110028.00,A,5159.54791,N,00423.42201,E,31.143,158.95,120308,,,D*5B
+$GPRMC,110029.00,A,5159.53935,N,00423.42738,E,33.808,159.41,120308,,,D*5E
+$GPRMC,110030.00,A,5159.53005,N,00423.43297,E,36.288,160.23,120308,,,D*54
+$GPRMC,110031.00,A,5159.51996,N,00423.43878,E,38.779,160.99,120308,,,D*5B
+$GPRMC,110032.00,A,5159.50933,N,00423.44463,E,41.250,161.65,120308,,,D*55
+$GPRMC,110033.00,A,5159.49793,N,00423.45062,E,43.760,162.60,120308,,,D*5E
+$GPRMC,110034.00,A,5159.48607,N,00423.45652,E,44.574,163.34,120308,,,D*51
+$GPRMC,110035.00,A,5159.47392,N,00423.46235,E,45.467,163.86,120308,,,D*5B
+$GPRMC,110036.00,A,5159.46165,N,00423.46811,E,45.434,163.97,120308,,,D*59
+$GPRMC,110037.00,A,5159.44952,N,00423.47381,E,44.791,163.85,120308,,,D*5B
+$GPRMC,110038.00,A,5159.43757,N,00423.47952,E,44.119,163.50,120308,,,D*52
+$GPRMC,110039.00,A,5159.42586,N,00423.48521,E,43.121,163.20,120308,,,D*50
+$GPRMC,110040.00,A,5159.41445,N,00423.49076,E,42.084,163.43,120308,,,D*5F
+$GPRMC,110041.00,A,5159.40329,N,00423.49600,E,41.010,164.13,120308,,,D*59
+$GPRMC,110042.00,A,5159.39241,N,00423.50093,E,39.949,164.49,120308,,,D*5A
+$GPRMC,110043.00,A,5159.38180,N,00423.50562,E,38.889,164.67,120308,,,D*5F
+$GPRMC,110044.00,A,5159.37147,N,00423.51013,E,37.823,164.90,120308,,,D*59
+$GPRMC,110045.00,A,5159.36145,N,00423.51450,E,36.875,164.87,120308,,,D*5C
+$GPRMC,110046.00,A,5159.35175,N,00423.51851,E,35.779,165.33,120308,,,D*5C
+$GPRMC,110047.00,A,5159.34228,N,00423.52243,E,34.813,165.34,120308,,,D*58
+$GPRMC,110048.00,A,5159.33304,N,00423.52629,E,34.042,165.19,120308,,,D*54
+$GPRMC,110049.00,A,5159.32396,N,00423.53015,E,33.604,165.05,120308,,,D*59
+$GPRMC,110050.00,A,5159.31497,N,00423.53400,E,33.281,165.03,120308,,,D*5B
+$GPRMC,110051.00,A,5159.30609,N,00423.53778,E,32.880,165.22,120308,,,D*5B
+$GPRMC,110052.00,A,5159.29738,N,00423.54147,E,32.037,165.29,120308,,,D*51
+$GPRMC,110053.00,A,5159.28889,N,00423.54500,E,31.077,165.26,120308,,,D*5B
+$GPRMC,110054.00,A,5159.28068,N,00423.54851,E,30.178,165.06,120308,,,D*5F
+$GPRMC,110055.00,A,5159.27273,N,00423.55192,E,29.199,164.90,120308,,,D*57
+$GPRMC,110056.00,A,5159.26504,N,00423.55524,E,28.308,164.88,120308,,,D*59
+$GPRMC,110057.00,A,5159.25757,N,00423.55851,E,27.748,164.93,120308,,,D*55
+$GPRMC,110058.00,A,5159.25020,N,00423.56168,E,27.189,164.96,120308,,,D*53
+$GPRMC,110059.00,A,5159.24296,N,00423.56473,E,26.715,165.08,120308,,,D*57
+$GPRMC,110100.00,A,5159.23591,N,00423.56767,E,25.769,165.17,120308,,,D*5D
+$GPRMC,110101.00,A,5159.22908,N,00423.57048,E,24.751,165.23,120308,,,D*57
+$GPRMC,110102.00,A,5159.22254,N,00423.57313,E,23.711,165.17,120308,,,D*5F
+$GPRMC,110103.00,A,5159.21623,N,00423.57573,E,23.193,165.22,120308,,,D*53
+$GPRMC,110104.00,A,5159.21001,N,00423.57823,E,22.966,165.57,120308,,,D*5B
+$GPRMC,110105.00,A,5159.20392,N,00423.58052,E,22.460,167.20,120308,,,D*5A
+$GPRMC,110106.00,A,5159.19791,N,00423.58303,E,22.913,165.31,120308,,,D*58
+$GPRMC,110107.00,A,5159.19188,N,00423.58565,E,23.081,165.00,120308,,,D*50
+$GPRMC,110108.00,A,5159.18577,N,00423.58832,E,23.041,164.90,120308,,,D*51
+$GPRMC,110109.00,A,5159.17968,N,00423.59094,E,22.907,164.73,120308,,,D*5F
+$GPRMC,110110.00,A,5159.17361,N,00423.59353,E,22.804,164.75,120308,,,D*58
+$GPRMC,110111.00,A,5159.16752,N,00423.59617,E,22.857,164.92,120308,,,D*56
+$GPRMC,110112.00,A,5159.16139,N,00423.59880,E,22.918,165.26,120308,,,D*5A
+$GPRMC,110113.00,A,5159.15521,N,00423.60138,E,23.108,165.32,120308,,,D*58
+$GPRMC,110114.00,A,5159.14893,N,00423.60401,E,23.631,165.26,120308,,,D*5D
+$GPRMC,110115.00,A,5159.14247,N,00423.60669,E,24.421,165.37,120308,,,D*57
+$GPRMC,110116.00,A,5159.13581,N,00423.60942,E,24.964,165.40,120308,,,D*54
+$GPRMC,110117.00,A,5159.12906,N,00423.61214,E,25.146,165.61,120308,,,D*54
+$GPRMC,110118.00,A,5159.12229,N,00423.61494,E,25.335,165.30,120308,,,D*51
+$GPRMC,110119.00,A,5159.11547,N,00423.61778,E,25.401,165.15,120308,,,D*5A
+$GPRMC,110120.00,A,5159.10872,N,00423.62057,E,24.848,165.44,120308,,,D*57
+$GPRMC,110121.00,A,5159.10218,N,00423.62331,E,24.024,165.32,120308,,,D*50
+$GPRMC,110122.00,A,5159.09587,N,00423.62599,E,23.145,165.04,120308,,,D*5A
+$GPRMC,110123.00,A,5159.08978,N,00423.62864,E,22.345,164.97,120308,,,D*51
+$GPRMC,110124.00,A,5159.08392,N,00423.63122,E,21.568,164.93,120308,,,D*5C
+$GPRMC,110125.00,A,5159.07827,N,00423.63373,E,20.725,165.03,120308,,,D*53
+$GPRMC,110126.00,A,5159.07287,N,00423.63611,E,19.701,164.98,120308,,,D*5E
+$GPRMC,110127.00,A,5159.06772,N,00423.63835,E,18.825,165.06,120308,,,D*57
+$GPRMC,110128.00,A,5159.06278,N,00423.64054,E,18.173,165.09,120308,,,D*5A
+$GPRMC,110129.00,A,5159.05797,N,00423.64265,E,17.867,165.36,120308,,,D*53
+$GPRMC,110130.00,A,5159.05323,N,00423.64468,E,17.714,165.53,120308,,,D*53
+$GPRMC,110131.00,A,5159.04845,N,00423.64670,E,17.936,165.53,120308,,,D*5D
+$GPRMC,110132.00,A,5159.04354,N,00423.64881,E,18.754,165.59,120308,,,D*5A
+$GPRMC,110133.00,A,5159.03837,N,00423.65103,E,19.939,165.46,120308,,,D*5A
+$GPRMC,110134.00,A,5159.03285,N,00423.65342,E,21.250,165.30,120308,,,D*57
+$GPRMC,110135.00,A,5159.02700,N,00423.65601,E,22.496,164.99,120308,,,D*50
+$GPRMC,110136.00,A,5159.02081,N,00423.65878,E,23.729,164.77,120308,,,D*5B
+$GPRMC,110137.00,A,5159.01432,N,00423.66170,E,24.657,164.82,120308,,,D*52
+$GPRMC,110138.00,A,5159.00765,N,00423.66460,E,25.130,164.98,120308,,,D*55
+$GPRMC,110139.00,A,5159.00086,N,00423.66755,E,25.626,165.24,120308,,,D*5D
+$GPRMC,110140.00,A,5158.99393,N,00423.67051,E,26.093,165.25,120308,,,D*5D
+$GPRMC,110141.00,A,5158.98680,N,00423.67353,E,26.841,165.34,120308,,,D*5C
+$GPRMC,110142.00,A,5158.97948,N,00423.67669,E,27.627,164.67,120308,,,D*5F
+$GPRMC,110143.00,A,5158.97194,N,00423.68010,E,28.560,164.70,120308,,,D*59
+$GPRMC,110144.00,A,5158.96419,N,00423.68367,E,29.450,164.67,120308,,,D*59
+$GPRMC,110145.00,A,5158.95616,N,00423.68721,E,30.270,164.74,120308,,,D*5E
+$GPRMC,110146.00,A,5158.94791,N,00423.69082,E,31.144,164.95,120308,,,D*57
+$GPRMC,110147.00,A,5158.93938,N,00423.69435,E,31.840,165.44,120308,,,D*54
+$GPRMC,110148.00,A,5158.93075,N,00423.69792,E,32.051,165.15,120308,,,D*5A
+$GPRMC,110149.00,A,5158.92210,N,00423.70155,E,32.077,165.10,120308,,,D*5F
+$GPRMC,110150.00,A,5158.91349,N,00423.70519,E,31.860,165.32,120308,,,D*58
+$GPRMC,110151.00,A,5158.90489,N,00423.70874,E,31.781,165.24,120308,,,D*52
+$GPRMC,110152.00,A,5158.89637,N,00423.71225,E,31.379,165.43,120308,,,D*53
+$GPRMC,110153.00,A,5158.88800,N,00423.71564,E,30.709,165.54,120308,,,D*5F
+$GPRMC,110154.00,A,5158.87980,N,00423.71903,E,30.289,165.33,120308,,,D*5F
+$GPRMC,110155.00,A,5158.87176,N,00423.72227,E,29.577,165.49,120308,,,D*52
+$GPRMC,110156.00,A,5158.86390,N,00423.72549,E,28.860,165.58,120308,,,D*5F
+$GPRMC,110157.00,A,5158.85626,N,00423.72869,E,28.033,165.54,120308,,,D*58
+$GPRMC,110158.00,A,5158.84886,N,00423.73184,E,27.060,165.50,120308,,,D*54
+$GPRMC,110159.00,A,5158.84182,N,00423.73484,E,25.434,165.38,120308,,,D*54
+$GPRMC,110200.00,A,5158.83532,N,00423.73765,E,23.318,165.18,120308,,,D*52
+$GPRMC,110201.00,A,5158.82939,N,00423.74023,E,21.316,165.08,120308,,,D*5A
+$GPRMC,110202.00,A,5158.82391,N,00423.74266,E,20.090,165.06,120308,,,D*50
+$GPRMC,110203.00,A,5158.81873,N,00423.74494,E,19.087,165.08,120308,,,D*5C
+$GPRMC,110204.00,A,5158.81384,N,00423.74720,E,18.293,165.11,120308,,,D*5A
+$GPRMC,110205.00,A,5158.80915,N,00423.74938,E,17.503,164.59,120308,,,D*53
+$GPRMC,110206.00,A,5158.80466,N,00423.75140,E,16.499,165.09,120308,,,D*58
+$GPRMC,110207.00,A,5158.80046,N,00423.75319,E,15.181,165.23,120308,,,D*56
+$GPRMC,110208.00,A,5158.79662,N,00423.75482,E,13.865,165.26,120308,,,D*5A
+$GPRMC,110209.00,A,5158.79301,N,00423.75635,E,13.355,165.10,120308,,,D*58
+$GPRMC,110210.00,A,5158.78953,N,00423.75786,E,13.044,165.08,120308,,,D*5F
+$GPRMC,110211.00,A,5158.78614,N,00423.75934,E,12.643,165.05,120308,,,D*58
+$GPRMC,110212.00,A,5158.78284,N,00423.76076,E,12.273,164.87,120308,,,D*56
+$GPRMC,110213.00,A,5158.77961,N,00423.76216,E,11.836,164.89,120308,,,D*5A
+$GPRMC,110214.00,A,5158.77652,N,00423.76352,E,11.433,164.99,120308,,,D*5B
+$GPRMC,110215.00,A,5158.77353,N,00423.76484,E,11.088,165.06,120308,,,D*51
+$GPRMC,110216.00,A,5158.77062,N,00423.76604,E,11.094,165.19,120308,,,D*5A
+$GPRMC,110217.00,A,5158.76751,N,00423.76731,E,12.081,166.83,120308,,,D*5D
+$GPRMC,110218.00,A,5158.76427,N,00423.76858,E,12.989,165.51,120308,,,D*5D
+$GPRMC,110219.00,A,5158.76057,N,00423.77018,E,14.413,165.32,120308,,,D*5F
+$GPRMC,110220.00,A,5158.75666,N,00423.77188,E,15.032,165.23,120308,,,D*5C
+$GPRMC,110221.00,A,5158.75273,N,00423.77363,E,14.634,164.81,120308,,,D*52
+$GPRMC,110222.00,A,5158.74892,N,00423.77541,E,14.057,164.92,120308,,,D*52
+$GPRMC,110223.00,A,5158.74522,N,00423.77701,E,13.514,165.37,120308,,,D*58
+$GPRMC,110224.00,A,5158.74195,N,00423.77862,E,11.848,165.33,120308,,,D*5F
+$GPRMC,110225.00,A,5158.73938,N,00423.77990,E,8.451,165.63,120308,,,D*63
+$GPRMC,110226.00,A,5158.73757,N,00423.78078,E,6.139,165.70,120308,,,D*60
+$GPRMC,110227.00,A,5158.73618,N,00423.78140,E,4.993,165.60,120308,,,D*6A
+$GPRMC,110228.00,A,5158.73494,N,00423.78196,E,4.908,165.56,120308,,,D*6F
+$GPRMC,110229.00,A,5158.73363,N,00423.78250,E,5.274,165.61,120308,,,D*6D
+$GPRMC,110230.00,A,5158.73222,N,00423.78308,E,5.587,165.60,120308,,,D*67
+$GPRMC,110231.00,A,5158.73065,N,00423.78370,E,6.349,165.51,120308,,,D*6D
+$GPRMC,110232.00,A,5158.72881,N,00423.78439,E,7.390,165.50,120308,,,D*63
+$GPRMC,110233.00,A,5158.72670,N,00423.78522,E,8.351,165.62,120308,,,D*6A
+$GPRMC,110234.00,A,5158.72433,N,00423.78617,E,9.351,165.51,120308,,,D*6C
+$GPRMC,110235.00,A,5158.72164,N,00423.78728,E,10.685,165.30,120308,,,D*54
+$GPRMC,110236.00,A,5158.71867,N,00423.78871,E,11.769,165.14,120308,,,D*59
+$GPRMC,110237.00,A,5158.71564,N,00423.79020,E,11.093,165.07,120308,,,D*5B
+$GPRMC,110238.00,A,5158.71303,N,00423.79152,E,9.089,165.19,120308,,,D*6A
+$GPRMC,110239.00,A,5158.71073,N,00423.79265,E,8.584,165.05,120308,,,D*6C
+$GPRMC,110240.00,A,5158.70842,N,00423.79367,E,8.784,165.13,120308,,,D*6F
+$GPRMC,110241.00,A,5158.70608,N,00423.79465,E,8.692,165.06,120308,,,D*69
+$GPRMC,110242.00,A,5158.70383,N,00423.79555,E,8.112,165.10,120308,,,D*66
+$GPRMC,110243.00,A,5158.70171,N,00423.79636,E,7.735,165.07,120308,,,D*64
+$GPRMC,110244.00,A,5158.69968,N,00423.79711,E,7.191,165.09,120308,,,D*69
+$GPRMC,110245.00,A,5158.69769,N,00423.79782,E,7.330,165.15,120308,,,D*69
+$GPRMC,110246.00,A,5158.69556,N,00423.79870,E,8.544,165.05,120308,,,D*6D
+$GPRMC,110247.00,A,5158.69313,N,00423.79970,E,9.683,165.41,120308,,,D*63
+$GPRMC,110248.00,A,5158.69039,N,00423.80084,E,10.760,165.30,120308,,,D*51
+$GPRMC,110249.00,A,5158.68729,N,00423.80216,E,12.261,165.28,120308,,,D*51
+$GPRMC,110250.00,A,5158.68387,N,00423.80361,E,13.174,165.12,120308,,,D*57
+$GPRMC,110251.00,A,5158.68020,N,00423.80518,E,13.990,165.29,120308,,,D*5A
+$GPRMC,110252.00,A,5158.67615,N,00423.80694,E,15.644,165.35,120308,,,D*5C
+$GPRMC,110253.00,A,5158.67166,N,00423.80885,E,17.414,165.49,120308,,,D*5E
+$GPRMC,110254.00,A,5158.66680,N,00423.81085,E,18.516,165.44,120308,,,D*5F
+$GPRMC,110255.00,A,5158.66169,N,00423.81292,E,19.257,165.55,120308,,,D*59
+$GPRMC,110256.00,A,5158.65639,N,00423.81503,E,20.020,165.60,120308,,,D*5A
+$GPRMC,110257.00,A,5158.65086,N,00423.81724,E,20.753,165.47,120308,,,D*58
+$GPRMC,110258.00,A,5158.64516,N,00423.81959,E,21.057,165.31,120308,,,D*5D
+$GPRMC,110259.00,A,5158.63941,N,00423.82208,E,21.381,165.20,120308,,,D*51
+$GPRMC,110300.00,A,5158.63365,N,00423.82465,E,21.479,164.87,120308,,,D*51
+$GPRMC,110301.00,A,5158.62784,N,00423.82727,E,21.581,164.63,120308,,,D*53
+$GPRMC,110302.00,A,5158.62201,N,00423.82988,E,21.713,164.60,120308,,,D*59
+$GPRMC,110303.00,A,5158.61615,N,00423.83251,E,21.727,164.85,120308,,,D*58
+$GPRMC,110304.00,A,5158.61022,N,00423.83508,E,22.097,165.19,120308,,,D*5D
+$GPRMC,110305.00,A,5158.60412,N,00423.83769,E,22.801,165.35,120308,,,D*56
+$GPRMC,110306.00,A,5158.59776,N,00423.84036,E,24.024,165.84,120308,,,D*57
+$GPRMC,110307.00,A,5158.59123,N,00423.84304,E,23.976,165.73,120308,,,D*53
+$GPRMC,110308.00,A,5158.58480,N,00423.84577,E,23.478,165.44,120308,,,D*54
+$GPRMC,110309.00,A,5158.57853,N,00423.84851,E,23.069,165.25,120308,,,D*52
+$GPRMC,110310.00,A,5158.57234,N,00423.85117,E,22.708,165.08,120308,,,D*55
+$GPRMC,110311.00,A,5158.56628,N,00423.85374,E,22.326,165.19,120308,,,D*53
+$GPRMC,110312.00,A,5158.56030,N,00423.85628,E,21.937,165.24,120308,,,D*54
+$GPRMC,110313.00,A,5158.55445,N,00423.85883,E,21.486,165.41,120308,,,D*5B
+$GPRMC,110314.00,A,5158.54869,N,00423.86128,E,21.240,165.43,120308,,,D*5A
+$GPRMC,110315.00,A,5158.54297,N,00423.86369,E,21.045,165.47,120308,,,D*54
+$GPRMC,110316.00,A,5158.53727,N,00423.86611,E,21.299,165.51,120308,,,D*50
+$GPRMC,110317.00,A,5158.53140,N,00423.86858,E,22.073,165.53,120308,,,D*52
+$GPRMC,110318.00,A,5158.52526,N,00423.87113,E,23.211,165.61,120308,,,D*59
+$GPRMC,110319.00,A,5158.51879,N,00423.87380,E,24.416,165.66,120308,,,D*55
+$GPRMC,110320.00,A,5158.51207,N,00423.87667,E,25.395,165.64,120308,,,D*5F
+$GPRMC,110321.00,A,5158.50516,N,00423.87964,E,25.800,165.29,120308,,,D*5A
+$GPRMC,110322.00,A,5158.49812,N,00423.88266,E,26.214,164.97,120308,,,D*56
+$GPRMC,110323.00,A,5158.49099,N,00423.88580,E,26.682,164.70,120308,,,D*51
+$GPRMC,110324.00,A,5158.48379,N,00423.88902,E,26.835,164.62,120308,,,D*5D
+$GPRMC,110325.00,A,5158.47655,N,00423.89230,E,27.097,164.46,120308,,,D*54
+$GPRMC,110326.00,A,5158.46922,N,00423.89556,E,27.333,164.37,120308,,,D*55
+$GPRMC,110327.00,A,5158.46176,N,00423.89883,E,27.868,164.96,120308,,,D*56
+$GPRMC,110328.00,A,5158.45423,N,00423.90209,E,27.695,165.12,120308,,,D*5E
+$GPRMC,110329.00,A,5158.44674,N,00423.90537,E,27.831,165.25,120308,,,D*50
+$GPRMC,110330.00,A,5158.43920,N,00423.90857,E,27.979,165.40,120308,,,D*54
+$GPRMC,110331.00,A,5158.43165,N,00423.91174,E,27.939,165.55,120308,,,D*55
+$GPRMC,110332.00,A,5158.42412,N,00423.91489,E,27.805,165.51,120308,,,D*5F
+$GPRMC,110333.00,A,5158.41667,N,00423.91807,E,27.693,165.37,120308,,,D*56
+$GPRMC,110334.00,A,5158.40920,N,00423.92117,E,27.606,165.24,120308,,,D*59
+$GPRMC,110335.00,A,5158.40175,N,00423.92428,E,27.484,165.12,120308,,,D*54
+$GPRMC,110336.00,A,5158.39429,N,00423.92741,E,27.793,165.03,120308,,,D*5C
+$GPRMC,110337.00,A,5158.38675,N,00423.93060,E,28.050,164.91,120308,,,D*5F
+$GPRMC,110338.00,A,5158.37917,N,00423.93388,E,28.377,164.74,120308,,,D*5C
+$GPRMC,110339.00,A,5158.37139,N,00423.93725,E,29.395,164.93,120308,,,D*5E
+$GPRMC,110340.00,A,5158.36330,N,00423.94071,E,30.626,165.00,120308,,,D*55
+$GPRMC,110341.00,A,5158.35489,N,00423.94433,E,31.795,164.86,120308,,,D*57
+$GPRMC,110342.00,A,5158.34618,N,00423.94810,E,32.840,165.07,120308,,,D*5E
+$GPRMC,110343.00,A,5158.33721,N,00423.95193,E,33.743,165.32,120308,,,D*5B
+$GPRMC,110344.00,A,5158.32800,N,00423.95582,E,34.609,165.46,120308,,,D*5E
+$GPRMC,110345.00,A,5158.31869,N,00423.95977,E,34.381,165.01,120308,,,D*53
+$GPRMC,110346.00,A,5158.30952,N,00423.96382,E,33.935,164.25,120308,,,D*5E
+$GPRMC,110347.00,A,5158.30037,N,00423.96800,E,34.316,164.04,120308,,,D*5B
+$GPRMC,110348.00,A,5158.29109,N,00423.97240,E,35.031,163.15,120308,,,D*5F
+$GPRMC,110349.00,A,5158.28172,N,00423.97712,E,35.420,162.15,120308,,,D*54
+$GPRMC,110350.00,A,5158.27234,N,00423.98214,E,35.477,161.09,120308,,,D*52
+$GPRMC,110351.00,A,5158.26304,N,00423.98750,E,35.489,160.13,120308,,,D*5E
+$GPRMC,110352.00,A,5158.25380,N,00423.99308,E,35.480,159.32,120308,,,D*5A
+$GPRMC,110353.00,A,5158.24464,N,00423.99883,E,35.143,158.51,120308,,,D*51
+$GPRMC,110354.00,A,5158.23568,N,00424.00474,E,34.626,157.77,120308,,,D*51
+$GPRMC,110355.00,A,5158.22689,N,00424.01085,E,34.202,156.66,120308,,,D*55
+$GPRMC,110356.00,A,5158.21823,N,00424.01723,E,34.134,155.23,120308,,,D*54
+$GPRMC,110357.00,A,5158.20968,N,00424.02384,E,34.008,154.38,120308,,,D*55
+$GPRMC,110358.00,A,5158.20124,N,00424.03043,E,33.566,154.37,120308,,,D*56
+$GPRMC,110359.00,A,5158.19301,N,00424.03714,E,32.990,154.35,120308,,,D*5B
+$GPRMC,110400.00,A,5158.18496,N,00424.04364,E,32.018,154.23,120308,,,D*52
+$GPRMC,110401.00,A,5158.17713,N,00424.04993,E,31.163,154.22,120308,,,D*5F
+$GPRMC,110402.00,A,5158.16945,N,00424.05604,E,30.648,154.21,120308,,,D*5C
+$GPRMC,110403.00,A,5158.16186,N,00424.06201,E,30.251,154.23,120308,,,D*56
+$GPRMC,110404.00,A,5158.15432,N,00424.06790,E,30.227,154.23,120308,,,D*54
+$GPRMC,110405.00,A,5158.14671,N,00424.07382,E,30.756,154.32,120308,,,D*54
+$GPRMC,110406.00,A,5158.13890,N,00424.07987,E,31.629,154.41,120308,,,D*52
+$GPRMC,110407.00,A,5158.13084,N,00424.08602,E,32.450,154.47,120308,,,D*5A
+$GPRMC,110408.00,A,5158.12258,N,00424.09240,E,33.302,154.38,120308,,,D*5D
+$GPRMC,110409.00,A,5158.11416,N,00424.09883,E,33.711,154.54,120308,,,D*5A
+$GPRMC,110410.00,A,5158.10569,N,00424.10535,E,33.791,154.54,120308,,,D*5A
+$GPRMC,110411.00,A,5158.09720,N,00424.11187,E,33.817,154.50,120308,,,D*55
+$GPRMC,110412.00,A,5158.08872,N,00424.11845,E,33.669,154.40,120308,,,D*5E
+$GPRMC,110413.00,A,5158.08029,N,00424.12493,E,33.536,154.24,120308,,,D*56
+$GPRMC,110414.00,A,5158.07189,N,00424.13152,E,33.613,153.94,120308,,,D*54
+$GPRMC,110415.00,A,5158.06348,N,00424.13819,E,33.776,153.74,120308,,,D*51
+$GPRMC,110416.00,A,5158.05508,N,00424.14481,E,33.568,153.90,120308,,,D*5E
+$GPRMC,110417.00,A,5158.04677,N,00424.15123,E,32.832,154.15,120308,,,D*50
+$GPRMC,110418.00,A,5158.03866,N,00424.15774,E,32.726,154.37,120308,,,D*58
+$GPRMC,110419.00,A,5158.03052,N,00424.16413,E,32.793,154.41,120308,,,D*58
+$GPRMC,110420.00,A,5158.02234,N,00424.17051,E,32.809,154.35,120308,,,D*5D
+$GPRMC,110421.00,A,5158.01417,N,00424.17678,E,32.710,154.25,120308,,,D*53
+$GPRMC,110422.00,A,5158.00603,N,00424.18314,E,32.618,154.23,120308,,,D*59
+$GPRMC,110423.00,A,5157.99788,N,00424.18948,E,32.668,154.27,120308,,,D*55
+$GPRMC,110424.00,A,5157.98980,N,00424.19598,E,32.834,154.24,120308,,,D*51
+$GPRMC,110425.00,A,5157.98165,N,00424.20242,E,33.065,154.34,120308,,,D*55
+$GPRMC,110426.00,A,5157.97336,N,00424.20883,E,33.188,154.19,120308,,,D*57
+$GPRMC,110427.00,A,5157.96503,N,00424.21527,E,33.297,154.19,120308,,,D*58
+$GPRMC,110428.00,A,5157.95670,N,00424.22168,E,33.401,154.06,120308,,,D*58
+$GPRMC,110429.00,A,5157.94833,N,00424.22825,E,33.510,153.98,120308,,,D*50
+$GPRMC,110430.00,A,5157.93997,N,00424.23468,E,33.658,153.86,120308,,,D*54
+$GPRMC,110431.00,A,5157.93155,N,00424.24121,E,33.656,153.91,120308,,,D*54
+$GPRMC,110432.00,A,5157.92314,N,00424.24778,E,33.508,153.97,120308,,,D*55
+$GPRMC,110433.00,A,5157.91481,N,00424.25430,E,33.006,154.18,120308,,,D*59
+$GPRMC,110434.00,A,5157.90659,N,00424.26061,E,32.488,154.46,120308,,,D*53
+$GPRMC,110435.00,A,5157.89849,N,00424.26685,E,31.944,154.64,120308,,,D*57
+$GPRMC,110436.00,A,5157.89050,N,00424.27290,E,31.752,154.62,120308,,,D*5A
+$GPRMC,110437.00,A,5157.88254,N,00424.27898,E,31.613,154.57,120308,,,D*5C
+$GPRMC,110438.00,A,5157.87462,N,00424.28513,E,31.409,154.46,120308,,,D*57
+$GPRMC,110439.00,A,5157.86677,N,00424.29115,E,31.189,154.30,120308,,,D*5E
+$GPRMC,110440.00,A,5157.85892,N,00424.29731,E,31.134,154.21,120308,,,D*50
+$GPRMC,110441.00,A,5157.85110,N,00424.30338,E,31.357,153.97,120308,,,D*5A
+$GPRMC,110442.00,A,5157.84321,N,00424.30958,E,31.752,153.93,120308,,,D*51
+$GPRMC,110443.00,A,5157.83525,N,00424.31571,E,32.140,154.11,120308,,,D*58
+$GPRMC,110444.00,A,5157.82717,N,00424.32191,E,32.497,154.34,120308,,,D*5C
+$GPRMC,110445.00,A,5157.81903,N,00424.32814,E,32.746,154.47,120308,,,D*5A
+$GPRMC,110446.00,A,5157.81088,N,00424.33450,E,32.872,154.54,120308,,,D*54
+$GPRMC,110447.00,A,5157.80266,N,00424.34087,E,32.976,154.50,120308,,,D*5E
+$GPRMC,110448.00,A,5157.79442,N,00424.34719,E,32.879,154.48,120308,,,D*50
+$GPRMC,110449.00,A,5157.78621,N,00424.35350,E,32.653,154.12,120308,,,D*56
+$GPRMC,110450.00,A,5157.77811,N,00424.35998,E,32.339,154.15,120308,,,D*5C
+$GPRMC,110451.00,A,5157.77004,N,00424.36624,E,32.106,154.28,120308,,,D*5A
+$GPRMC,110452.00,A,5157.76202,N,00424.37242,E,31.807,154.55,120308,,,D*58
+$GPRMC,110453.00,A,5157.75414,N,00424.37839,E,31.023,154.46,120308,,,D*51
+$GPRMC,110454.00,A,5157.74651,N,00424.38411,E,29.955,155.17,120308,,,D*59
+$GPRMC,110455.00,A,5157.73917,N,00424.38962,E,28.001,154.47,120308,,,D*56
+$GPRMC,110456.00,A,5157.73242,N,00424.39474,E,25.436,154.57,120308,,,D*59
+$GPRMC,110457.00,A,5157.72624,N,00424.39932,E,23.839,154.62,120308,,,D*51
+$GPRMC,110458.00,A,5157.72048,N,00424.40381,E,22.880,154.49,120308,,,D*54
+$GPRMC,110459.00,A,5157.71497,N,00424.40820,E,22.168,154.49,120308,,,D*5F
+$GPRMC,110500.00,A,5157.70955,N,00424.41246,E,21.749,154.32,120308,,,D*51
+$GPRMC,110501.00,A,5157.70424,N,00424.41668,E,21.368,154.26,120308,,,D*51
+$GPRMC,110502.00,A,5157.69900,N,00424.42089,E,20.922,154.26,120308,,,D*5E
+$GPRMC,110503.00,A,5157.69341,N,00424.42455,E,20.630,154.24,120308,,,D*5B
+$GPRMC,110504.00,A,5157.68798,N,00424.42833,E,20.702,154.20,120308,,,D*55
+$GPRMC,110505.00,A,5157.68269,N,00424.43243,E,21.197,154.02,120308,,,D*58
+$GPRMC,110506.00,A,5157.67734,N,00424.43685,E,22.220,154.06,120308,,,D*5F
+$GPRMC,110507.00,A,5157.67174,N,00424.44154,E,23.337,153.99,120308,,,D*57
+$GPRMC,110508.00,A,5157.66582,N,00424.44644,E,24.600,154.02,120308,,,D*51
+$GPRMC,110509.00,A,5157.65959,N,00424.45150,E,25.901,154.01,120308,,,D*56
+$GPRMC,110510.00,A,5157.65298,N,00424.45681,E,27.196,154.05,120308,,,D*53
+$GPRMC,110511.00,A,5157.64606,N,00424.46236,E,28.335,154.06,120308,,,D*5C
+$GPRMC,110512.00,A,5157.63891,N,00424.46812,E,29.385,153.93,120308,,,D*55
+$GPRMC,110513.00,A,5157.63151,N,00424.47406,E,30.145,153.89,120308,,,D*54
+$GPRMC,110514.00,A,5157.62396,N,00424.48011,E,30.574,153.96,120308,,,D*5E
+$GPRMC,110515.00,A,5157.61628,N,00424.48621,E,30.933,154.63,120308,,,D*5B
+$GPRMC,110516.00,A,5157.60857,N,00424.49241,E,31.068,153.91,120308,,,D*50
+$GPRMC,110517.00,A,5157.60081,N,00424.49867,E,31.250,153.93,120308,,,D*57
+$GPRMC,110518.00,A,5157.59301,N,00424.50489,E,31.278,154.12,120308,,,D*59
+$GPRMC,110519.00,A,5157.58523,N,00424.51099,E,30.926,154.68,120308,,,D*57
+$GPRMC,110520.00,A,5157.57750,N,00424.51696,E,30.638,154.84,120308,,,D*5F
+$GPRMC,110521.00,A,5157.56983,N,00424.52285,E,30.441,154.73,120308,,,D*5E
+$GPRMC,110522.00,A,5157.56219,N,00424.52872,E,30.357,154.65,120308,,,D*50
+$GPRMC,110523.00,A,5157.55454,N,00424.53463,E,30.487,154.54,120308,,,D*58
+$GPRMC,110524.00,A,5157.54690,N,00424.54059,E,30.517,154.35,120308,,,D*51
+$GPRMC,110525.00,A,5157.53927,N,00424.54650,E,30.452,154.39,120308,,,D*57
+$GPRMC,110526.00,A,5157.53165,N,00424.55244,E,30.501,154.36,120308,,,D*52
+$GPRMC,110527.00,A,5157.52402,N,00424.55835,E,30.473,154.37,120308,,,D*5F
+$GPRMC,110528.00,A,5157.51637,N,00424.56419,E,30.262,154.29,120308,,,D*5F
+$GPRMC,110529.00,A,5157.50882,N,00424.57003,E,30.018,154.18,120308,,,D*5C
+$GPRMC,110530.00,A,5157.50134,N,00424.57584,E,29.863,154.10,120308,,,D*5E
+$GPRMC,110531.00,A,5157.49390,N,00424.58164,E,29.696,154.18,120308,,,D*52
+$GPRMC,110532.00,A,5157.48646,N,00424.58743,E,29.467,154.27,120308,,,D*5D
+$GPRMC,110533.00,A,5157.47907,N,00424.59315,E,29.313,154.26,120308,,,D*5A
+$GPRMC,110534.00,A,5157.47173,N,00424.59878,E,29.199,154.34,120308,,,D*55
+$GPRMC,110535.00,A,5157.46440,N,00424.60443,E,29.068,154.53,120308,,,D*50
+$GPRMC,110536.00,A,5157.45714,N,00424.61012,E,28.961,154.57,120308,,,D*56
+$GPRMC,110537.00,A,5157.44993,N,00424.61580,E,28.784,154.32,120308,,,D*5F
+$GPRMC,110538.00,A,5157.44274,N,00424.62154,E,28.833,154.05,120308,,,D*5B
+$GPRMC,110539.00,A,5157.43554,N,00424.62738,E,29.133,153.85,120308,,,D*53
+$GPRMC,110540.00,A,5157.42838,N,00424.63333,E,28.948,153.65,120308,,,D*5E
+$GPRMC,110541.00,A,5157.42119,N,00424.63925,E,29.135,153.83,120308,,,D*53
+$GPRMC,110542.00,A,5157.41378,N,00424.64527,E,30.389,153.89,120308,,,D*58
+$GPRMC,110543.00,A,5157.40605,N,00424.65155,E,31.623,153.52,120308,,,D*55
+$GPRMC,110544.00,A,5157.39811,N,00424.65791,E,32.036,153.95,120308,,,D*53
+$GPRMC,110545.00,A,5157.39002,N,00424.66422,E,32.389,154.54,120308,,,D*5D
+$GPRMC,110546.00,A,5157.38180,N,00424.67051,E,32.837,154.80,120308,,,D*52
+$GPRMC,110547.00,A,5157.37347,N,00424.67692,E,33.298,154.39,120308,,,D*50
+$GPRMC,110548.00,A,5157.36506,N,00424.68343,E,33.635,154.48,120308,,,D*5E
+$GPRMC,110549.00,A,5157.35659,N,00424.68996,E,33.741,154.59,120308,,,D*55
+$GPRMC,110550.00,A,5157.34813,N,00424.69651,E,33.609,154.44,120308,,,D*58
+$GPRMC,110551.00,A,5157.33973,N,00424.70295,E,33.270,154.79,120308,,,D*59
+$GPRMC,110552.00,A,5157.33142,N,00424.70937,E,32.960,154.23,120308,,,D*57
+$GPRMC,110553.00,A,5157.32316,N,00424.71584,E,32.940,154.17,120308,,,D*54
+$GPRMC,110554.00,A,5157.31487,N,00424.72233,E,33.289,154.12,120308,,,D*5D
+$GPRMC,110555.00,A,5157.30646,N,00424.72896,E,33.944,153.98,120308,,,D*58
+$GPRMC,110556.00,A,5157.29784,N,00424.73571,E,34.833,154.32,120308,,,D*58
+$GPRMC,110557.00,A,5157.28901,N,00424.74246,E,35.466,154.69,120308,,,D*5C
+$GPRMC,110558.00,A,5157.28010,N,00424.74926,E,35.391,154.75,120308,,,D*55
+$GPRMC,110559.00,A,5157.27120,N,00424.75603,E,35.371,154.93,120308,,,D*56
+$GPRMC,110600.00,A,5157.26225,N,00424.76273,E,35.526,155.29,120308,,,D*5A
+$GPRMC,110601.00,A,5157.25321,N,00424.76944,E,35.902,155.53,120308,,,D*55
+$GPRMC,110602.00,A,5157.24403,N,00424.77619,E,36.336,155.57,120308,,,D*5C
+$GPRMC,110603.00,A,5157.23451,N,00424.78311,E,36.731,155.76,120308,,,D*5F
+$GPRMC,110604.00,A,5157.22512,N,00424.79023,E,37.427,155.15,120308,,,D*5C
+$GPRMC,110605.00,A,5157.21562,N,00424.79757,E,38.295,155.11,120308,,,D*59
+$GPRMC,110606.00,A,5157.20597,N,00424.80486,E,38.792,155.60,120308,,,D*5C
+$GPRMC,110607.00,A,5157.19609,N,00424.81223,E,38.882,155.27,120308,,,D*56
+$GPRMC,110608.00,A,5157.18630,N,00424.81931,E,38.861,154.89,120308,,,D*52
+$GPRMC,110609.00,A,5157.17654,N,00424.82671,E,38.481,154.59,120308,,,D*59
+$GPRMC,110610.00,A,5157.16690,N,00424.83409,E,38.115,154.11,120308,,,D*50
+$GPRMC,110611.00,A,5157.15747,N,00424.84128,E,37.902,153.57,120308,,,D*5C
+$GPRMC,110612.00,A,5157.14818,N,00424.84873,E,37.029,153.17,120308,,,D*58
+$GPRMC,110613.00,A,5157.13911,N,00424.85604,E,36.078,153.42,120308,,,D*5C
+$GPRMC,110614.00,A,5157.13026,N,00424.86315,E,34.848,153.28,120308,,,D*55
+$GPRMC,110615.00,A,5157.12178,N,00424.87014,E,33.659,152.99,120308,,,D*5E
+$GPRMC,110616.00,A,5157.11369,N,00424.87671,E,31.428,153.68,120308,,,D*50
+$GPRMC,110617.00,A,5157.10632,N,00424.88259,E,28.111,153.36,120308,,,D*56
+$GPRMC,110618.00,A,5157.09975,N,00424.88761,E,24.717,155.69,120308,,,D*53
+$GPRMC,110619.00,A,5157.09397,N,00424.89141,E,21.002,159.85,120308,,,D*59
+$GPRMC,110620.00,A,5157.08898,N,00424.89398,E,17.470,164.32,120308,,,D*56
+$GPRMC,110621.00,A,5157.08469,N,00424.89564,E,14.831,168.66,120308,,,D*57
+$GPRMC,110622.00,A,5157.08091,N,00424.89663,E,13.071,171.31,120308,,,D*52
+$GPRMC,110623.00,A,5157.07767,N,00424.89724,E,10.710,174.32,120308,,,D*55
+$GPRMC,110624.00,A,5157.07542,N,00424.89741,E,7.196,176.23,120308,,,D*68
+$GPRMC,110625.00,A,5157.07410,N,00424.89741,E,3.496,176.88,120308,,,D*6F
+$GPRMC,110626.00,A,5157.07377,N,00424.89724,E,1.465,177.20,120308,,,D*64
+$GPRMC,110627.00,A,5157.07371,N,00424.89716,E,0.210,177.89,120308,,,A*61
+$GPRMC,110628.00,A,5157.07391,N,00424.89706,E,0.011,,120308,,,A*7C
+$GPRMC,110629.00,A,5157.07413,N,00424.89686,E,0.144,174.62,120308,,,A*60
+$GPRMC,110630.00,A,5157.07427,N,00424.89680,E,0.047,177.97,120308,,,A*62
+$GPRMC,110631.00,A,5157.07442,N,00424.89670,E,0.071,182.45,120308,,,A*6F
+$GPRMC,110632.00,A,5157.07456,N,00424.89659,E,0.035,187.13,120308,,,A*64
+$GPRMC,110633.00,A,5157.07471,N,00424.89646,E,0.038,190.76,120308,,,A*66
+$GPRMC,110634.00,A,5157.07481,N,00424.89636,E,0.043,194.92,120308,,,A*6B
+$GPRMC,110635.00,A,5157.07487,N,00424.89630,E,0.184,199.79,120308,,,A*68
+$GPRMC,110636.00,A,5157.07500,N,00424.89614,E,0.034,202.75,120308,,,A*64
+$GPRMC,110637.00,A,5157.07508,N,00424.89606,E,0.016,,120308,,,A*72
+$GPRMC,110638.00,A,5157.07511,N,00424.89605,E,0.008,,120308,,,A*79
+$GPRMC,110639.00,A,5157.07516,N,00424.89595,E,0.019,,120308,,,A*75
+$GPRMC,110640.00,A,5157.07519,N,00424.89594,E,0.017,,120308,,,A*7B
+$GPRMC,110641.00,A,5157.07525,N,00424.89585,E,0.015,,120308,,,A*77
+$GPRMC,110642.00,A,5157.07529,N,00424.89579,E,0.015,,120308,,,A*7B
+$GPRMC,110643.00,A,5157.07529,N,00424.89580,E,0.019,,120308,,,D*75
+$GPRMC,110644.00,A,5157.07529,N,00424.89568,E,0.073,199.92,120308,,,D*6C
+$GPRMC,110645.00,A,5157.07524,N,00424.89583,E,0.051,202.58,120308,,,D*62
+$GPRMC,110646.00,A,5157.07522,N,00424.89582,E,0.135,203.07,120308,,,D*6E
+$GPRMC,110647.00,A,5157.07499,N,00424.89569,E,2.201,176.88,120308,,,D*6B
+$GPRMC,110648.00,A,5157.07403,N,00424.89603,E,4.600,170.14,120308,,,D*68
+$GPRMC,110649.00,A,5157.07238,N,00424.89632,E,7.128,175.26,120308,,,D*6F
+$GPRMC,110650.00,A,5157.07008,N,00424.89642,E,8.782,177.76,120308,,,D*6F
+$GPRMC,110651.00,A,5157.06755,N,00424.89628,E,9.183,182.01,120308,,,D*60
+$GPRMC,110652.00,A,5157.06479,N,00424.89598,E,10.134,182.43,120308,,,D*54
+$GPRMC,110653.00,A,5157.06198,N,00424.89535,E,10.481,187.16,120308,,,D*56
+$GPRMC,110654.00,A,5157.05882,N,00424.89454,E,12.073,191.77,120308,,,D*5D
+$GPRMC,110655.00,A,5157.05580,N,00424.89366,E,12.075,191.98,120308,,,D*52
+$GPRMC,110656.00,A,5157.05280,N,00424.89263,E,11.425,195.01,120308,,,D*54
+$GPRMC,110657.00,A,5157.04958,N,00424.89191,E,11.494,193.22,120308,,,D*59
+$GPRMC,110658.00,A,5157.04715,N,00424.89085,E,8.928,190.55,120308,,,D*64
+$GPRMC,110659.00,A,5157.04504,N,00424.88990,E,6.416,193.34,120308,,,D*61
+$GPRMC,110700.00,A,5157.04359,N,00424.88954,E,4.387,185.69,120308,,,D*68
+$GPRMC,110701.00,A,5157.04235,N,00424.88903,E,4.368,190.16,120308,,,D*6D
+$GPRMC,110702.00,A,5157.04068,N,00424.88809,E,6.274,192.63,120308,,,D*61
+$GPRMC,110703.00,A,5157.03891,N,00424.88718,E,6.676,192.36,120308,,,D*60
+$GPRMC,110704.00,A,5157.03677,N,00424.88601,E,7.790,194.37,120308,,,D*67
+$GPRMC,110705.00,A,5157.03479,N,00424.88499,E,7.049,195.44,120308,,,D*6F
+$GPRMC,110706.00,A,5157.03269,N,00424.88380,E,7.184,193.85,120308,,,D*6F
+$GPRMC,110707.00,A,5157.03093,N,00424.88310,E,6.370,192.20,120308,,,D*66
+$GPRMC,110708.00,A,5157.02922,N,00424.88245,E,5.265,188.71,120308,,,D*63
+$GPRMC,110709.00,A,5157.02799,N,00424.88208,E,3.446,188.12,120308,,,D*61
+$GPRMC,110710.00,A,5157.02717,N,00424.88184,E,2.321,185.69,120308,,,D*6E
+$GPRMC,110711.00,A,5157.02661,N,00424.88162,E,1.501,185.79,120308,,,D*61
+$GPRMC,110712.00,A,5157.02629,N,00424.88144,E,0.786,185.83,120308,,,D*63
+$GPRMC,110713.00,A,5157.02610,N,00424.88131,E,0.695,185.36,120308,,,D*67
+$GPRMC,110714.00,A,5157.02600,N,00424.88123,E,0.399,185.11,120308,,,D*6E
+$GPRMC,110715.00,A,5157.02596,N,00424.88119,E,0.311,185.03,120308,,,D*69
+$GPRMC,110716.00,A,5157.02595,N,00424.88118,E,0.097,185.08,120308,,,D*6E
+$GPRMC,110717.00,A,5157.02598,N,00424.88116,E,0.086,190.18,120308,,,D*69
+$GPRMC,110718.00,A,5157.02600,N,00424.88115,E,0.017,,120308,,,D*70
+$GPRMC,110719.00,A,5157.02608,N,00424.88116,E,0.013,,120308,,,D*7E
+$GPRMC,110720.00,A,5157.02609,N,00424.88111,E,0.274,188.20,120308,,,D*6C
+$GPRMC,110721.00,A,5157.02605,N,00424.88110,E,0.325,186.87,120308,,,D*66
+$GPRMC,110722.00,A,5157.02604,N,00424.88104,E,0.139,186.50,120308,,,D*64
+$GPRMC,110723.00,A,5157.02611,N,00424.88104,E,0.006,,120308,,,D*78
+$GPRMC,110724.00,A,5157.02614,N,00424.88090,E,0.154,186.06,120308,,,D*67
+$GPRMC,110725.00,A,5157.02611,N,00424.88079,E,0.143,185.87,120308,,,D*68
+$GPRMC,110726.00,A,5157.02609,N,00424.88068,E,0.031,191.36,120308,,,D*69
+$GPRMC,110727.00,A,5157.02613,N,00424.88056,E,0.057,194.84,120308,,,D*62
+$GPRMC,110728.00,A,5157.02619,N,00424.88052,E,0.002,,120308,,,D*7D
+$GPRMC,110729.00,A,5157.02618,N,00424.88044,E,0.036,192.23,120308,,,D*68
+$GPRMC,110730.00,A,5157.02619,N,00424.88043,E,0.056,189.25,120308,,,D*6C
+$GPRMC,110731.00,A,5157.02619,N,00424.88040,E,0.064,192.97,120308,,,D*6C
+$GPRMC,110732.00,A,5157.02620,N,00424.88039,E,0.016,,120308,,,D*74
+$GPRMC,110733.00,A,5157.02618,N,00424.88038,E,0.039,195.17,120308,,,D*67
+$GPRMC,110734.00,A,5157.02618,N,00424.88039,E,0.016,,120308,,,D*79
+$GPRMC,110735.00,A,5157.02618,N,00424.88035,E,0.012,,120308,,,D*70
+$GPRMC,110736.00,A,5157.02620,N,00424.88035,E,0.022,192.84,120308,,,D*63
+$GPRMC,110737.00,A,5157.02624,N,00424.88033,E,0.037,198.04,120308,,,D*66
+$GPRMC,110738.00,A,5157.02627,N,00424.88028,E,0.021,201.98,120308,,,D*61
+$GPRMC,110739.00,A,5157.02630,N,00424.88023,E,0.019,,120308,,,D*7A
+$GPRMC,110740.00,A,5157.02632,N,00424.88019,E,0.004,,120308,,,D*73
+$GPRMC,110741.00,A,5157.02631,N,00424.88018,E,0.018,,120308,,,D*7D
+$GPRMC,110742.00,A,5157.02630,N,00424.88018,E,0.004,,120308,,,D*72
+$GPRMC,110743.00,A,5157.02629,N,00424.88022,E,0.011,,120308,,,D*76
+$GPRMC,110744.00,A,5157.02630,N,00424.88026,E,0.008,,120308,,,D*75
+$GPRMC,110745.00,A,5157.02630,N,00424.88030,E,0.015,,120308,,,D*7F
+$GPRMC,110746.00,A,5157.02630,N,00424.88032,E,0.014,,120308,,,D*7F
+$GPRMC,110747.00,A,5157.02630,N,00424.88038,E,0.013,,120308,,,D*73
+$GPRMC,110748.00,A,5157.02630,N,00424.88043,E,0.013,,120308,,,D*70
+$GPRMC,110749.00,A,5157.02631,N,00424.88045,E,0.013,,120308,,,D*76
+$GPRMC,110750.00,A,5157.02632,N,00424.88045,E,0.014,,120308,,,D*7A
+$GPRMC,110751.00,A,5157.02633,N,00424.88048,E,0.006,,120308,,,D*74
+$GPRMC,110752.00,A,5157.02634,N,00424.88053,E,0.008,,120308,,,D*74
+$GPRMC,110753.00,A,5157.02635,N,00424.88058,E,0.021,207.45,120308,,,D*6E
+$GPRMC,110754.00,A,5157.02635,N,00424.88063,E,0.004,,120308,,,D*7C
+$GPRMC,110755.00,A,5157.02636,N,00424.88069,E,0.010,,120308,,,D*71
+$GPRMC,110756.00,A,5157.02640,N,00424.88070,E,0.012,,120308,,,D*79
+$GPRMC,110757.00,A,5157.02644,N,00424.88067,E,0.001,,120308,,,D*78
+$GPRMC,110758.00,A,5157.02647,N,00424.88066,E,0.016,,120308,,,D*73
+$GPRMC,110759.00,A,5157.02651,N,00424.88064,E,0.017,,120308,,,D*76
+$GPRMC,110800.00,A,5157.02654,N,00424.88060,E,0.006,,120308,,,D*74
+$GPRMC,110801.00,A,5157.02656,N,00424.88056,E,0.006,,120308,,,D*72
+$GPRMC,110802.00,A,5157.02658,N,00424.88050,E,0.017,,120308,,,D*79
+$GPRMC,110803.00,A,5157.02659,N,00424.88045,E,0.014,,120308,,,D*7E
+$GPRMC,110804.00,A,5157.02660,N,00424.88042,E,0.033,203.22,120308,,,D*6E
+$GPRMC,110805.00,A,5157.02661,N,00424.88038,E,0.023,198.78,120308,,,D*6C
+$GPRMC,110806.00,A,5157.02662,N,00424.88034,E,0.008,,120308,,,D*78
+$GPRMC,110807.00,A,5157.02662,N,00424.88034,E,0.014,,120308,,,D*74
+$GPRMC,110808.00,A,5157.02661,N,00424.88033,E,0.010,,120308,,,D*7B
+$GPRMC,110809.00,A,5157.02661,N,00424.88033,E,0.031,195.10,120308,,,D*6B
+$GPRMC,110810.00,A,5157.02661,N,00424.88033,E,0.029,190.72,120308,,,D*6B
+$GPRMC,110811.00,A,5157.02662,N,00424.88034,E,0.017,,120308,,,D*70
+$GPRMC,110812.00,A,5157.02663,N,00424.88033,E,0.028,193.73,120308,,,D*68
+$GPRMC,110813.00,A,5157.02663,N,00424.88033,E,0.016,,120308,,,D*75
+$GPRMC,110814.00,A,5157.02663,N,00424.88034,E,0.019,,120308,,,D*7A
+$GPRMC,110815.00,A,5157.02663,N,00424.88034,E,0.009,,120308,,,D*7A
+$GPRMC,110816.00,A,5157.02662,N,00424.88034,E,0.016,,120308,,,D*76
+$GPRMC,110817.00,A,5157.02661,N,00424.88033,E,0.018,,120308,,,D*7D
+$GPRMC,110818.00,A,5157.02660,N,00424.88033,E,0.013,,120308,,,D*78
+$GPRMC,110819.00,A,5157.02659,N,00424.88033,E,0.010,,120308,,,D*70
+$GPRMC,110820.00,A,5157.02659,N,00424.88034,E,0.015,,120308,,,D*78
+$GPRMC,110821.00,A,5157.02660,N,00424.88033,E,0.019,,120308,,,D*78
+$GPRMC,110822.00,A,5157.02659,N,00424.88034,E,0.006,,120308,,,D*78
+$GPRMC,110823.00,A,5157.02657,N,00424.88031,E,0.056,190.57,120308,,,D*63
+$GPRMC,110824.00,A,5157.02656,N,00424.88029,E,0.020,196.10,120308,,,D*68
+$GPRMC,110825.00,A,5157.02656,N,00424.88025,E,0.016,,120308,,,D*71
+$GPRMC,110826.00,A,5157.02655,N,00424.88024,E,0.002,,120308,,,D*75
+$GPRMC,110827.00,A,5157.02654,N,00424.88020,E,0.012,,120308,,,D*70
+$GPRMC,110828.00,A,5157.02653,N,00424.88019,E,0.009,,120308,,,D*78
+$GPRMC,110829.00,A,5157.02654,N,00424.88020,E,0.024,199.83,120308,,,D*6F
+$GPRMC,110830.00,A,5157.02653,N,00424.88016,E,0.010,,120308,,,D*76
+$GPRMC,110831.00,A,5157.02654,N,00424.88013,E,0.021,201.76,120308,,,D*6B
+$GPRMC,110832.00,A,5157.02649,N,00424.88042,E,0.020,196.67,120308,,,D*6C
+$GPRMC,110833.00,A,5157.02648,N,00424.88048,E,0.061,196.11,120308,,,D*62
+$GPRMC,110834.00,A,5157.02621,N,00424.88054,E,0.294,195.38,120308,,,D*67
+$GPRMC,110835.00,A,5157.02597,N,00424.88060,E,0.297,194.39,120308,,,D*6C
+$GPRMC,110836.00,A,5157.02584,N,00424.88054,E,0.363,188.50,120308,,,D*62
+$GPRMC,110837.00,A,5157.02573,N,00424.88052,E,0.172,188.08,120308,,,D*62
+$GPRMC,110838.00,A,5157.02563,N,00424.88045,E,0.218,187.57,120308,,,D*60
+$GPRMC,110839.00,A,5157.02553,N,00424.88036,E,0.225,187.27,120308,,,D*6F
+$GPRMC,110840.00,A,5157.02544,N,00424.88034,E,0.470,186.94,120308,,,D*6A
+$GPRMC,110841.00,A,5157.02524,N,00424.88033,E,1.068,186.90,120308,,,D*62
+$GPRMC,110842.00,A,5157.02468,N,00424.88023,E,2.916,184.33,120308,,,D*61
+$GPRMC,110843.00,A,5157.02342,N,00424.88010,E,5.879,182.30,120308,,,D*65
+$GPRMC,110844.00,A,5157.02131,N,00424.88002,E,9.044,180.34,120308,,,D*6B
+$GPRMC,110845.00,A,5157.01866,N,00424.88031,E,10.311,173.50,120308,,,D*57
+$GPRMC,110846.00,A,5157.01531,N,00424.88158,E,12.468,165.93,120308,,,D*56
+$GPRMC,110847.00,A,5157.01176,N,00424.88352,E,12.807,159.57,120308,,,D*5A
+$GPRMC,110848.00,A,5157.00832,N,00424.88614,E,13.561,152.91,120308,,,D*57
+$GPRMC,110849.00,A,5157.00474,N,00424.88932,E,14.801,149.09,120308,,,D*54
+$GPRMC,110850.00,A,5157.00104,N,00424.89305,E,15.280,147.20,120308,,,D*56
+$GPRMC,110851.00,A,5156.99713,N,00424.89728,E,15.813,147.06,120308,,,D*59
+$GPRMC,110852.00,A,5156.99327,N,00424.90145,E,15.792,147.27,120308,,,D*59
+$GPRMC,110853.00,A,5156.98959,N,00424.90535,E,14.643,147.20,120308,,,D*52
+$GPRMC,110854.00,A,5156.98621,N,00424.90888,E,13.332,147.72,120308,,,D*5D
+$GPRMC,110855.00,A,5156.98317,N,00424.91236,E,12.746,142.98,120308,,,D*55
+$GPRMC,110856.00,A,5156.98070,N,00424.91655,E,12.548,127.86,120308,,,D*55
+$GPRMC,110857.00,A,5156.97891,N,00424.92167,E,13.652,116.42,120308,,,D*5A
+$GPRMC,110858.00,A,5156.97860,N,00424.92754,E,13.238,94.02,120308,,,D*6A
+$GPRMC,110859.00,A,5156.97976,N,00424.93406,E,14.428,76.67,120308,,,D*67
+$GPRMC,110900.00,A,5156.98206,N,00424.94059,E,16.581,58.69,120308,,,D*62
+$GPRMC,110901.00,A,5156.98494,N,00424.94733,E,19.464,53.17,120308,,,D*62
+$GPRMC,110902.00,A,5156.98848,N,00424.95496,E,22.492,52.42,120308,,,D*61
+$GPRMC,110903.00,A,5156.99246,N,00424.96367,E,25.487,52.87,120308,,,D*65
+$GPRMC,110904.00,A,5156.99679,N,00424.97328,E,26.951,53.75,120308,,,D*69
+$GPRMC,110905.00,A,5157.00105,N,00424.98319,E,26.180,54.53,120308,,,D*6F
+$GPRMC,110906.00,A,5157.00519,N,00424.99249,E,24.730,54.55,120308,,,D*69
+$GPRMC,110907.00,A,5157.00906,N,00425.00115,E,22.920,54.30,120308,,,D*6B
+$GPRMC,110908.00,A,5157.01262,N,00425.00902,E,20.593,54.17,120308,,,D*61
+$GPRMC,110909.00,A,5157.01575,N,00425.01577,E,17.590,54.08,120308,,,D*67
+$GPRMC,110910.00,A,5157.01828,N,00425.02127,E,13.877,54.40,120308,,,D*64
+$GPRMC,110911.00,A,5157.02005,N,00425.02522,E,9.088,54.35,120308,,,D*51
+$GPRMC,110912.00,A,5157.02112,N,00425.02773,E,5.027,53.80,120308,,,D*53
+$GPRMC,110913.00,A,5157.02152,N,00425.02882,E,2.232,55.18,120308,,,D*51
+$GPRMC,110914.00,A,5157.02154,N,00425.02908,E,0.524,55.03,120308,,,D*5B
+$GPRMC,110915.00,A,5157.02138,N,00425.02903,E,0.008,,120308,,,D*7D
+$GPRMC,110916.00,A,5157.02129,N,00425.02883,E,0.006,,120308,,,D*79
+$GPRMC,110917.00,A,5157.02111,N,00425.02873,E,0.045,55.98,120308,,,D*54
+$GPRMC,110918.00,A,5157.02096,N,00425.02870,E,0.285,55.99,120308,,,D*59
+$GPRMC,110919.00,A,5157.02088,N,00425.02887,E,0.801,55.93,120308,,,D*53
+$GPRMC,110920.00,A,5157.02110,N,00425.02964,E,3.301,54.75,120308,,,D*54
+$GPRMC,110921.00,A,5157.02195,N,00425.03149,E,6.995,54.65,120308,,,D*5D
+$GPRMC,110922.00,A,5157.02327,N,00425.03473,E,10.010,54.65,120308,,,D*6A
+$GPRMC,110923.00,A,5157.02508,N,00425.03904,E,12.808,54.97,120308,,,D*63
+$GPRMC,110924.00,A,5157.02726,N,00425.04391,E,13.596,52.06,120308,,,D*6E
+$GPRMC,110925.00,A,5157.03008,N,00425.04833,E,14.707,35.83,120308,,,D*67
+$GPRMC,110926.00,A,5157.03390,N,00425.05053,E,15.386,5.15,120308,,,D*59
+$GPRMC,110927.00,A,5157.03781,N,00425.04874,E,15.562,329.81,120308,,,D*5C
+$GPRMC,110928.00,A,5157.04097,N,00425.04364,E,17.223,303.65,120308,,,D*5C
+$GPRMC,110929.00,A,5157.04297,N,00425.03576,E,19.300,289.72,120308,,,D*56
+$GPRMC,110930.00,A,5157.04480,N,00425.02618,E,22.675,287.31,120308,,,D*52
+$GPRMC,110931.00,A,5157.04799,N,00425.01554,E,26.305,296.15,120308,,,D*50
+$GPRMC,110932.00,A,5157.05191,N,00425.00462,E,27.306,300.83,120308,,,D*5A
+$GPRMC,110933.00,A,5157.05646,N,00424.99371,E,29.976,307.32,120308,,,D*5C
+$GPRMC,110934.00,A,5157.06179,N,00424.98273,E,31.118,310.31,120308,,,D*5D
+$GPRMC,110935.00,A,5157.06739,N,00424.97181,E,31.576,312.35,120308,,,D*55
+$GPRMC,110936.00,A,5157.07349,N,00424.96095,E,32.107,313.41,120308,,,D*52
+$GPRMC,110937.00,A,5157.07955,N,00424.95013,E,32.791,314.95,120308,,,D*5E
+$GPRMC,110938.00,A,5157.08613,N,00424.93972,E,33.735,318.38,120308,,,D*5F
+$GPRMC,110939.00,A,5157.09332,N,00424.92971,E,34.298,322.34,120308,,,D*5B
+$GPRMC,110940.00,A,5157.10118,N,00424.92057,E,35.471,326.22,120308,,,D*59
+$GPRMC,110941.00,A,5157.10971,N,00424.91192,E,36.834,328.97,120308,,,D*5A
+$GPRMC,110942.00,A,5157.11866,N,00424.90355,E,37.358,330.17,120308,,,D*56
+$GPRMC,110943.00,A,5157.12785,N,00424.89538,E,37.692,331.21,120308,,,D*54
+$GPRMC,110944.00,A,5157.13710,N,00424.88742,E,37.763,332.05,120308,,,D*5A
+$GPRMC,110945.00,A,5157.14669,N,00424.87947,E,37.902,332.55,120308,,,D*5B
+$GPRMC,110946.00,A,5157.15607,N,00424.87170,E,38.000,332.55,120308,,,D*59
+$GPRMC,110947.00,A,5157.16542,N,00424.86387,E,37.809,332.46,120308,,,D*5E
+$GPRMC,110948.00,A,5157.17476,N,00424.85607,E,37.164,332.71,120308,,,D*5E
+$GPRMC,110949.00,A,5157.18395,N,00424.84842,E,36.413,332.79,120308,,,D*58
+$GPRMC,110950.00,A,5157.19303,N,00424.84090,E,36.158,332.78,120308,,,D*52
+$GPRMC,110951.00,A,5157.20205,N,00424.83342,E,35.871,332.91,120308,,,D*53
+$GPRMC,110952.00,A,5157.21109,N,00424.82599,E,36.256,333.14,120308,,,D*5F
+$GPRMC,110953.00,A,5157.22034,N,00424.81841,E,37.045,333.34,120308,,,D*5A
+$GPRMC,110954.00,A,5157.22972,N,00424.81085,E,37.573,333.78,120308,,,D*5E
+$GPRMC,110955.00,A,5157.23935,N,00424.80316,E,38.813,333.57,120308,,,D*5C
+$GPRMC,110956.00,A,5157.24931,N,00424.79503,E,40.040,332.96,120308,,,D*55
+$GPRMC,110957.00,A,5157.25944,N,00424.78646,E,41.197,332.14,120308,,,D*54
+$GPRMC,110958.00,A,5157.26960,N,00424.77772,E,42.201,331.75,120308,,,D*5C
+$GPRMC,110959.00,A,5157.28003,N,00424.76866,E,43.172,332.02,120308,,,D*51
+$GPRMC,111000.00,A,5157.29088,N,00424.75949,E,44.308,332.78,120308,,,D*5D
+$GPRMC,111001.00,A,5157.30201,N,00424.75035,E,44.603,333.49,120308,,,D*58
+$GPRMC,111002.00,A,5157.31318,N,00424.74149,E,44.174,334.37,120308,,,D*51
+$GPRMC,111003.00,A,5157.32438,N,00424.73288,E,44.400,334.88,120308,,,D*5D
+$GPRMC,111004.00,A,5157.33564,N,00424.72432,E,44.600,334.60,120308,,,D*51
+$GPRMC,111005.00,A,5157.34684,N,00424.71570,E,44.173,334.45,120308,,,D*5A
+$GPRMC,111006.00,A,5157.35795,N,00424.70705,E,44.347,334.37,120308,,,D*58
+$GPRMC,111007.00,A,5157.36909,N,00424.69836,E,44.414,334.28,120308,,,D*59
+$GPRMC,111008.00,A,5157.38024,N,00424.68974,E,44.358,334.48,120308,,,D*51
+$GPRMC,111009.00,A,5157.39140,N,00424.68113,E,44.415,334.65,120308,,,D*5A
+$GPRMC,111010.00,A,5157.40262,N,00424.67251,E,44.503,334.52,120308,,,D*57
+$GPRMC,111011.00,A,5157.41383,N,00424.66387,E,44.632,334.50,120308,,,D*51
+$GPRMC,111012.00,A,5157.42507,N,00424.65520,E,44.822,334.37,120308,,,D*5D
+$GPRMC,111013.00,A,5157.43634,N,00424.64645,E,44.943,334.37,120308,,,D*59
+$GPRMC,111014.00,A,5157.44759,N,00424.63768,E,45.099,334.06,120308,,,D*57
+$GPRMC,111015.00,A,5157.45884,N,00424.62882,E,45.260,333.94,120308,,,D*5A
+$GPRMC,111016.00,A,5157.47018,N,00424.61989,E,45.644,334.19,120308,,,D*5F
+$GPRMC,111017.00,A,5157.48166,N,00424.61102,E,46.021,334.63,120308,,,D*59
+$GPRMC,111018.00,A,5157.49330,N,00424.60211,E,46.659,334.76,120308,,,D*5B
+$GPRMC,111019.00,A,5157.50508,N,00424.59301,E,47.297,334.40,120308,,,D*57
+$GPRMC,111020.00,A,5157.51704,N,00424.58366,E,48.009,334.01,120308,,,D*5D
+$GPRMC,111021.00,A,5157.52907,N,00424.57411,E,48.278,333.97,120308,,,D*56
+$GPRMC,111022.00,A,5157.54116,N,00424.56451,E,48.565,334.03,120308,,,D*5F
+$GPRMC,111023.00,A,5157.55333,N,00424.55504,E,48.566,334.18,120308,,,D*51
+$GPRMC,111024.00,A,5157.56552,N,00424.54545,E,48.951,334.22,120308,,,D*51
+$GPRMC,111025.00,A,5157.57777,N,00424.53581,E,49.121,334.03,120308,,,D*56
+$GPRMC,111026.00,A,5157.59005,N,00424.52613,E,49.288,334.08,120308,,,D*5B
+$GPRMC,111027.00,A,5157.60234,N,00424.51644,E,49.191,334.13,120308,,,D*50
+$GPRMC,111028.00,A,5157.61462,N,00424.50684,E,49.015,334.20,120308,,,D*5B
+$GPRMC,111029.00,A,5157.62703,N,00424.49717,E,50.177,334.57,120308,,,D*53
+$GPRMC,111030.00,A,5157.63945,N,00424.48762,E,48.921,334.75,120308,,,D*57
+$GPRMC,111031.00,A,5157.65166,N,00424.47813,E,48.810,334.23,120308,,,D*5F
+$GPRMC,111032.00,A,5157.66386,N,00424.46859,E,48.861,334.41,120308,,,D*5E
+$GPRMC,111033.00,A,5157.67606,N,00424.45912,E,48.871,334.48,120308,,,D*56
+$GPRMC,111034.00,A,5157.68822,N,00424.44969,E,48.839,334.51,120308,,,D*5F
+$GPRMC,111035.00,A,5157.70035,N,00424.44022,E,48.879,334.17,120308,,,D*59
+$GPRMC,111036.00,A,5157.71252,N,00424.43066,E,48.888,334.12,120308,,,D*54
+$GPRMC,111037.00,A,5157.72467,N,00424.42107,E,48.734,333.97,120308,,,D*53
+$GPRMC,111038.00,A,5157.73684,N,00424.41157,E,48.612,334.28,120308,,,D*52
+$GPRMC,111039.00,A,5157.74897,N,00424.40208,E,48.480,334.23,120308,,,D*52
+$GPRMC,111040.00,A,5157.76110,N,00424.39277,E,48.305,334.24,120308,,,D*53
+$GPRMC,111041.00,A,5157.77321,N,00424.38335,E,48.414,334.47,120308,,,D*57
+$GPRMC,111042.00,A,5157.78534,N,00424.37396,E,48.370,334.47,120308,,,D*5A
+$GPRMC,111043.00,A,5157.79751,N,00424.36463,E,48.659,334.64,120308,,,D*58
+$GPRMC,111044.00,A,5157.80964,N,00424.35530,E,48.385,334.37,120308,,,D*57
+$GPRMC,111045.00,A,5157.82180,N,00424.34586,E,48.723,334.19,120308,,,D*5E
+$GPRMC,111046.00,A,5157.83403,N,00424.33638,E,49.036,334.07,120308,,,D*5E
+$GPRMC,111047.00,A,5157.84623,N,00424.32672,E,48.949,334.02,120308,,,D*52
+$GPRMC,111048.00,A,5157.85847,N,00424.31712,E,48.855,333.91,120308,,,D*55
+$GPRMC,111049.00,A,5157.87070,N,00424.30752,E,48.653,334.16,120308,,,D*5F
+$GPRMC,111050.00,A,5157.88287,N,00424.29792,E,48.430,334.11,120308,,,D*56
+$GPRMC,111051.00,A,5157.89497,N,00424.28844,E,48.179,334.27,120308,,,D*59
+$GPRMC,111052.00,A,5157.90704,N,00424.27907,E,47.845,334.56,120308,,,D*5D
+$GPRMC,111053.00,A,5157.91925,N,00424.26949,E,47.574,334.67,120308,,,D*56
+$GPRMC,111054.00,A,5157.93133,N,00424.26007,E,47.462,334.52,120308,,,D*5F
+$GPRMC,111055.00,A,5157.94321,N,00424.25078,E,47.161,334.43,120308,,,D*55
+$GPRMC,111056.00,A,5157.95503,N,00424.24156,E,47.220,334.41,120308,,,D*59
+$GPRMC,111057.00,A,5157.96683,N,00424.23227,E,47.236,334.03,120308,,,D*53
+$GPRMC,111058.00,A,5157.97860,N,00424.22294,E,47.191,333.93,120308,,,D*57
+$GPRMC,111059.00,A,5157.99033,N,00424.21367,E,47.138,334.14,120308,,,D*53
+$GPRMC,111100.00,A,5158.00207,N,00424.20442,E,47.269,334.02,120308,,,D*55
+$GPRMC,111101.00,A,5158.01387,N,00424.19503,E,47.647,333.74,120308,,,D*5C
+$GPRMC,111102.00,A,5158.02578,N,00424.18557,E,48.159,334.05,120308,,,D*5C
+$GPRMC,111103.00,A,5158.03781,N,00424.17608,E,48.520,334.12,120308,,,D*52
+$GPRMC,111104.00,A,5158.04996,N,00424.16655,E,48.797,334.17,120308,,,D*58
+$GPRMC,111105.00,A,5158.06221,N,00424.15691,E,49.317,334.20,120308,,,D*5E
+$GPRMC,111106.00,A,5158.07462,N,00424.14720,E,49.843,334.28,120308,,,D*55
+$GPRMC,111107.00,A,5158.08715,N,00424.13748,E,50.122,334.34,120308,,,D*5A
+$GPRMC,111108.00,A,5158.09974,N,00424.12773,E,50.254,334.40,120308,,,D*55
+$GPRMC,111109.00,A,5158.11237,N,00424.11795,E,50.459,334.44,120308,,,D*55
+$GPRMC,111110.00,A,5158.12504,N,00424.10831,E,50.583,334.24,120308,,,D*59
+$GPRMC,111111.00,A,5158.13773,N,00424.09857,E,50.671,334.15,120308,,,D*5F
+$GPRMC,111112.00,A,5158.15040,N,00424.08875,E,50.705,334.19,120308,,,D*52
+$GPRMC,111113.00,A,5158.16307,N,00424.07893,E,50.694,334.31,120308,,,D*54
+$GPRMC,111114.00,A,5158.17577,N,00424.06912,E,50.691,334.34,120308,,,D*5A
+$GPRMC,111115.00,A,5158.18846,N,00424.05926,E,50.674,334.46,120308,,,D*51
+$GPRMC,111116.00,A,5158.20120,N,00424.04943,E,50.708,334.29,120308,,,D*51
+$GPRMC,111117.00,A,5158.21404,N,00424.03940,E,51.458,334.48,120308,,,D*56
+$GPRMC,111118.00,A,5158.22683,N,00424.02969,E,50.541,334.97,120308,,,D*57
+$GPRMC,111119.00,A,5158.23969,N,00424.02004,E,50.672,335.30,120308,,,D*51
+$GPRMC,111120.00,A,5158.25259,N,00424.01076,E,50.608,336.58,120308,,,D*53
+$GPRMC,111121.00,A,5158.26572,N,00424.00218,E,50.828,338.96,120308,,,D*54
+$GPRMC,111122.00,A,5158.27901,N,00423.99429,E,51.009,340.63,120308,,,D*52
+$GPRMC,111123.00,A,5158.29245,N,00423.98701,E,51.167,342.10,120308,,,D*51
+$GPRMC,111124.00,A,5158.30597,N,00423.98022,E,51.023,343.17,120308,,,D*57
+$GPRMC,111125.00,A,5158.31954,N,00423.97380,E,50.776,344.26,120308,,,D*53
+$GPRMC,111126.00,A,5158.33308,N,00423.96782,E,50.565,345.19,120308,,,D*5B
+$GPRMC,111127.00,A,5158.34661,N,00423.96209,E,50.343,345.52,120308,,,D*5C
+$GPRMC,111128.00,A,5158.35998,N,00423.95646,E,49.871,345.55,120308,,,D*52
+$GPRMC,111129.00,A,5158.37331,N,00423.95110,E,49.764,345.86,120308,,,D*59
+$GPRMC,111130.00,A,5158.38655,N,00423.94573,E,49.287,345.35,120308,,,D*59
+$GPRMC,111131.00,A,5158.39969,N,00423.94031,E,49.117,345.17,120308,,,D*50
+$GPRMC,111132.00,A,5158.41276,N,00423.93484,E,48.725,345.14,120308,,,D*51
+$GPRMC,111133.00,A,5158.42570,N,00423.92960,E,47.907,345.48,120308,,,D*5C
+$GPRMC,111134.00,A,5158.43837,N,00423.92448,E,46.847,345.49,120308,,,D*56
+$GPRMC,111135.00,A,5158.45083,N,00423.91938,E,45.953,345.30,120308,,,D*56
+$GPRMC,111136.00,A,5158.46310,N,00423.91434,E,45.291,345.40,120308,,,D*5C
+$GPRMC,111137.00,A,5158.47515,N,00423.90937,E,44.502,345.26,120308,,,D*5C
+$GPRMC,111138.00,A,5158.48709,N,00423.90434,E,44.653,344.90,120308,,,D*56
+$GPRMC,111139.00,A,5158.49903,N,00423.89919,E,44.941,344.80,120308,,,D*55
+$GPRMC,111140.00,A,5158.51102,N,00423.89396,E,45.001,344.63,120308,,,D*57
+$GPRMC,111141.00,A,5158.52301,N,00423.88873,E,45.061,344.86,120308,,,D*58
+$GPRMC,111142.00,A,5158.53502,N,00423.88365,E,45.279,345.23,120308,,,D*56
+$GPRMC,111143.00,A,5158.54712,N,00423.87856,E,45.585,345.15,120308,,,D*56
+$GPRMC,111144.00,A,5158.55934,N,00423.87341,E,46.041,345.24,120308,,,D*5B
+$GPRMC,111145.00,A,5158.57170,N,00423.86823,E,46.488,345.43,120308,,,D*5E
+$GPRMC,111146.00,A,5158.58421,N,00423.86302,E,46.896,345.39,120308,,,D*55
+$GPRMC,111147.00,A,5158.59680,N,00423.85775,E,47.198,345.41,120308,,,D*52
+$GPRMC,111148.00,A,5158.60948,N,00423.85246,E,47.332,345.35,120308,,,D*58
+$GPRMC,111149.00,A,5158.62220,N,00423.84713,E,47.419,345.25,120308,,,D*55
+$GPRMC,111150.00,A,5158.63489,N,00423.84167,E,47.404,344.91,120308,,,D*5E
+$GPRMC,111151.00,A,5158.64758,N,00423.83613,E,47.509,344.93,120308,,,D*5A
+$GPRMC,111152.00,A,5158.66028,N,00423.83057,E,47.553,344.99,120308,,,D*58
+$GPRMC,111153.00,A,5158.67304,N,00423.82504,E,47.603,345.20,120308,,,D*52
+$GPRMC,111154.00,A,5158.68581,N,00423.81956,E,47.430,345.30,120308,,,D*5A
+$GPRMC,111155.00,A,5158.69851,N,00423.81410,E,47.186,345.05,120308,,,D*5B
+$GPRMC,111156.00,A,5158.71117,N,00423.80861,E,47.100,345.08,120308,,,D*52
+$GPRMC,111157.00,A,5158.72387,N,00423.80316,E,47.095,345.31,120308,,,D*57
+$GPRMC,111158.00,A,5158.73662,N,00423.79779,E,47.310,345.26,120308,,,D*54
+$GPRMC,111159.00,A,5158.74954,N,00423.79252,E,47.843,345.25,120308,,,D*5A
+$GPRMC,111200.00,A,5158.76258,N,00423.78712,E,48.495,345.16,120308,,,D*58
+$GPRMC,111201.00,A,5158.77560,N,00423.78149,E,48.673,345.28,120308,,,D*5B
+$GPRMC,111202.00,A,5158.78877,N,00423.77614,E,48.701,345.41,120308,,,D*57
+$GPRMC,111203.00,A,5158.80180,N,00423.77056,E,48.570,345.13,120308,,,D*53
+$GPRMC,111204.00,A,5158.81473,N,00423.76494,E,48.164,344.98,120308,,,D*54
+$GPRMC,111205.00,A,5158.82752,N,00423.75937,E,47.711,345.01,120308,,,D*5B
+$GPRMC,111206.00,A,5158.84007,N,00423.75379,E,46.405,344.38,120308,,,D*55
+$GPRMC,111207.00,A,5158.85232,N,00423.74819,E,45.835,344.41,120308,,,D*5F
+$GPRMC,111208.00,A,5158.86506,N,00423.74289,E,46.957,345.41,120308,,,D*57
+$GPRMC,111209.00,A,5158.87766,N,00423.73758,E,46.694,345.57,120308,,,D*5A
+$GPRMC,111210.00,A,5158.89061,N,00423.73280,E,46.560,346.64,120308,,,D*57
+$GPRMC,111211.00,A,5158.90342,N,00423.72818,E,46.209,346.85,120308,,,D*51
+$GPRMC,111212.00,A,5158.91618,N,00423.72357,E,46.488,347.11,120308,,,D*5A
+$GPRMC,111213.00,A,5158.92827,N,00423.71878,E,44.443,346.22,120308,,,D*5B
+$GPRMC,111214.00,A,5158.94042,N,00423.71401,E,44.547,346.35,120308,,,D*50
+$GPRMC,111215.00,A,5158.95227,N,00423.70935,E,43.465,345.98,120308,,,D*58
+$GPRMC,111216.00,A,5158.96394,N,00423.70471,E,42.654,345.55,120308,,,D*5C
+$GPRMC,111217.00,A,5158.97528,N,00423.69993,E,41.761,345.02,120308,,,D*52
+$GPRMC,111218.00,A,5158.98632,N,00423.69514,E,40.948,344.94,120308,,,D*53
+$GPRMC,111219.00,A,5158.99708,N,00423.69047,E,40.091,345.11,120308,,,D*59
+$GPRMC,111220.00,A,5159.00769,N,00423.68587,E,39.690,345.31,120308,,,D*56
+$GPRMC,111221.00,A,5159.01823,N,00423.68144,E,39.098,345.45,120308,,,D*51
+$GPRMC,111222.00,A,5159.02864,N,00423.67708,E,38.626,345.33,120308,,,D*50
+$GPRMC,111223.00,A,5159.03894,N,00423.67278,E,38.159,345.73,120308,,,D*56
+$GPRMC,111224.00,A,5159.04924,N,00423.66854,E,38.178,345.28,120308,,,D*54
+$GPRMC,111225.00,A,5159.05949,N,00423.66422,E,38.277,345.31,120308,,,D*56
+$GPRMC,111226.00,A,5159.06975,N,00423.65985,E,38.645,345.31,120308,,,D*5F
+$GPRMC,111227.00,A,5159.08006,N,00423.65535,E,39.197,345.05,120308,,,D*54
+$GPRMC,111228.00,A,5159.09055,N,00423.65077,E,39.634,344.89,120308,,,D*54
+$GPRMC,111229.00,A,5159.10098,N,00423.64607,E,39.762,345.02,120308,,,D*5C
+$GPRMC,111230.00,A,5159.11148,N,00423.64140,E,39.737,345.09,120308,,,D*56
+$GPRMC,111231.00,A,5159.12203,N,00423.63682,E,39.746,345.36,120308,,,D*5C
+$GPRMC,111232.00,A,5159.13267,N,00423.63236,E,39.568,345.50,120308,,,D*59
+$GPRMC,111233.00,A,5159.14319,N,00423.62789,E,39.501,345.26,120308,,,D*59
+$GPRMC,111234.00,A,5159.15367,N,00423.62337,E,39.383,345.31,120308,,,D*5D
+$GPRMC,111235.00,A,5159.16419,N,00423.61888,E,39.302,345.39,120308,,,D*5C
+$GPRMC,111236.00,A,5159.17476,N,00423.61438,E,39.652,345.30,120308,,,D*59
+$GPRMC,111237.00,A,5159.18541,N,00423.60981,E,39.895,345.07,120308,,,D*5D
+$GPRMC,111238.00,A,5159.19614,N,00423.60510,E,40.220,344.93,120308,,,D*52
+$GPRMC,111239.00,A,5159.20696,N,00423.60032,E,40.529,344.88,120308,,,D*52
+$GPRMC,111240.00,A,5159.21789,N,00423.59554,E,40.950,345.10,120308,,,D*5F
+$GPRMC,111241.00,A,5159.22899,N,00423.59083,E,41.308,345.53,120308,,,D*5D
+$GPRMC,111242.00,A,5159.24025,N,00423.58624,E,41.890,346.20,120308,,,D*50
+$GPRMC,111243.00,A,5159.25169,N,00423.58181,E,42.461,347.04,120308,,,D*57
+$GPRMC,111244.00,A,5159.26333,N,00423.57760,E,42.907,347.60,120308,,,D*57
+$GPRMC,111245.00,A,5159.27506,N,00423.57364,E,43.110,348.16,120308,,,D*56
+$GPRMC,111246.00,A,5159.28687,N,00423.56981,E,43.283,348.67,120308,,,D*5F
+$GPRMC,111247.00,A,5159.29868,N,00423.56592,E,43.119,348.18,120308,,,D*56
+$GPRMC,111248.00,A,5159.31034,N,00423.56178,E,42.654,347.00,120308,,,D*58
+$GPRMC,111249.00,A,5159.32183,N,00423.55738,E,42.173,346.43,120308,,,D*52
+$GPRMC,111250.00,A,5159.33322,N,00423.55283,E,42.052,346.18,120308,,,D*5B
+$GPRMC,111251.00,A,5159.34453,N,00423.54816,E,41.768,345.38,120308,,,D*57
+$GPRMC,111252.00,A,5159.35571,N,00423.54353,E,40.984,345.41,120308,,,D*5D
+$GPRMC,111253.00,A,5159.36684,N,00423.53888,E,41.145,345.36,120308,,,D*58
+$GPRMC,111254.00,A,5159.37798,N,00423.53421,E,40.998,345.26,120308,,,D*55
+$GPRMC,111255.00,A,5159.38909,N,00423.52950,E,40.804,345.12,120308,,,D*54
+$GPRMC,111256.00,A,5159.40011,N,00423.52459,E,40.653,344.88,120308,,,D*52
+$GPRMC,111257.00,A,5159.41114,N,00423.51978,E,40.474,344.84,120308,,,D*50
+$GPRMC,111258.00,A,5159.42191,N,00423.51493,E,40.173,344.72,120308,,,D*52
+$GPRMC,111259.00,A,5159.43268,N,00423.51024,E,40.404,345.48,120308,,,D*52
+$GPRMC,111300.00,A,5159.44349,N,00423.50570,E,40.173,345.40,120308,,,D*52
+$GPRMC,111301.00,A,5159.45439,N,00423.50107,E,40.810,345.26,120308,,,D*5A
+$GPRMC,111302.00,A,5159.46547,N,00423.49633,E,41.460,345.21,120308,,,D*57
+$GPRMC,111303.00,A,5159.47659,N,00423.49139,E,41.559,344.67,120308,,,D*5E
+$GPRMC,111304.00,A,5159.48784,N,00423.48645,E,42.049,345.07,120308,,,D*5A
+$GPRMC,111305.00,A,5159.49889,N,00423.48149,E,41.882,345.31,120308,,,D*5A
+$GPRMC,111306.00,A,5159.51018,N,00423.47682,E,41.855,346.00,120308,,,D*54
+$GPRMC,111307.00,A,5159.52152,N,00423.47246,E,41.797,346.89,120308,,,D*55
+$GPRMC,111308.00,A,5159.53309,N,00423.46844,E,41.439,348.10,120308,,,D*57
+$GPRMC,111309.00,A,5159.54452,N,00423.46486,E,41.001,349.10,120308,,,D*54
+$GPRMC,111310.00,A,5159.55583,N,00423.46174,E,40.426,350.54,120308,,,D*50
+$GPRMC,111311.00,A,5159.56708,N,00423.45896,E,40.352,351.09,120308,,,D*58
+$GPRMC,111312.00,A,5159.57814,N,00423.45631,E,39.445,350.84,120308,,,D*50
+$GPRMC,111313.00,A,5159.58889,N,00423.45345,E,38.534,349.57,120308,,,D*5C
+$GPRMC,111314.00,A,5159.59934,N,00423.45026,E,37.876,348.18,120308,,,D*55
+$GPRMC,111315.00,A,5159.60962,N,00423.44687,E,37.635,348.06,120308,,,D*57
+$GPRMC,111316.00,A,5159.61986,N,00423.44361,E,37.356,348.41,120308,,,D*51
+$GPRMC,111317.00,A,5159.62995,N,00423.44053,E,36.571,349.24,120308,,,D*53
+$GPRMC,111318.00,A,5159.63984,N,00423.43782,E,35.849,350.80,120308,,,D*52
+$GPRMC,111319.00,A,5159.64955,N,00423.43545,E,34.909,351.71,120308,,,D*5A
+$GPRMC,111320.00,A,5159.65899,N,00423.43334,E,33.920,352.04,120308,,,D*5D
+$GPRMC,111321.00,A,5159.66820,N,00423.43137,E,33.098,352.43,120308,,,D*55
+$GPRMC,111322.00,A,5159.67717,N,00423.42956,E,32.228,353.06,120308,,,D*5A
+$GPRMC,111323.00,A,5159.68580,N,00423.42806,E,31.017,354.30,120308,,,D*53
+$GPRMC,111324.00,A,5159.69399,N,00423.42698,E,29.331,356.25,120308,,,D*5A
+$GPRMC,111325.00,A,5159.70163,N,00423.42641,E,26.742,358.23,120308,,,D*57
+$GPRMC,111326.00,A,5159.70848,N,00423.42625,E,23.564,359.97,120308,,,D*5B
+$GPRMC,111327.00,A,5159.71431,N,00423.42633,E,19.379,1.53,120308,,,D*5B
+$GPRMC,111328.00,A,5159.71893,N,00423.42654,E,14.609,2.49,120308,,,D*56
+$GPRMC,111329.00,A,5159.72229,N,00423.42684,E,11.542,3.22,120308,,,D*57
+$GPRMC,111330.00,A,5159.72488,N,00423.42715,E,8.652,3.95,120308,,,D*6D
+$GPRMC,111331.00,A,5159.72656,N,00423.42738,E,5.276,4.37,120308,,,D*62
+$GPRMC,111332.00,A,5159.72728,N,00423.42751,E,1.856,4.38,120308,,,D*65
+$GPRMC,111333.00,A,5159.72737,N,00423.42749,E,0.226,4.32,120308,,,D*65
+$GPRMC,111334.00,A,5159.72712,N,00423.42744,E,0.006,,120308,,,D*73
+$GPRMC,111335.00,A,5159.72683,N,00423.42733,E,0.019,,120308,,,D*75
+$GPRMC,111336.00,A,5159.72659,N,00423.42723,E,0.008,,120308,,,D*70
+$GPRMC,111337.00,A,5159.72644,N,00423.42707,E,0.011,,120308,,,D*73
+$GPRMC,111338.00,A,5159.72626,N,00423.42696,E,0.007,,120308,,,D*76
+$GPRMC,111339.00,A,5159.72612,N,00423.42686,E,0.007,,120308,,,D*71
+$GPRMC,111340.00,A,5159.72599,N,00423.42677,E,0.005,,120308,,,D*73
+$GPRMC,111341.00,A,5159.72590,N,00423.42674,E,0.157,4.10,120308,,,D*65
+$GPRMC,111342.00,A,5159.72587,N,00423.42667,E,0.003,,120308,,,D*79
+$GPRMC,111343.00,A,5159.72580,N,00423.42662,E,0.008,,120308,,,D*71
+$GPRMC,111344.00,A,5159.72573,N,00423.42662,E,0.005,,120308,,,D*77
+$GPRMC,111345.00,A,5159.72567,N,00423.42661,E,0.007,,120308,,,D*72
+$GPRMC,111346.00,A,5159.72564,N,00423.42656,E,0.004,,120308,,,D*75
+$GPRMC,111347.00,A,5159.72558,N,00423.42656,E,0.010,,120308,,,D*7E
+$GPRMC,111348.00,A,5159.72550,N,00423.42655,E,0.007,,120308,,,D*7C
+$GPRMC,111349.00,A,5159.72542,N,00423.42653,E,0.006,,120308,,,D*79
+$GPRMC,111350.00,A,5159.72534,N,00423.42651,E,0.010,,120308,,,D*75
+$GPRMC,111351.00,A,5159.72526,N,00423.42650,E,0.013,,120308,,,D*75
+$GPRMC,111352.00,A,5159.72517,N,00423.42649,E,0.001,,120308,,,D*7F
+$GPRMC,111353.00,A,5159.72509,N,00423.42651,E,0.004,,120308,,,D*7D
+$GPRMC,111354.00,A,5159.72502,N,00423.42655,E,0.008,,120308,,,D*79
+$GPRMC,111355.00,A,5159.72495,N,00423.42665,E,0.017,,120308,,,D*7A
+$GPRMC,111356.00,A,5159.72488,N,00423.42673,E,0.010,,120308,,,D*75
+$GPRMC,111357.00,A,5159.72482,N,00423.42676,E,0.005,,120308,,,D*7F
+$GPRMC,111358.00,A,5159.72475,N,00423.42688,E,0.002,,120308,,,D*7E
+$GPRMC,111359.00,A,5159.72469,N,00423.42693,E,0.007,,120308,,,D*7D
+$GPRMC,111400.00,A,5159.72463,N,00423.42697,E,0.002,,120308,,,D*7D
+$GPRMC,111401.00,A,5159.72458,N,00423.42698,E,0.002,,120308,,,D*7B
+$GPRMC,111402.00,A,5159.72451,N,00423.42694,E,0.002,,120308,,,D*7D
+$GPRMC,111403.00,A,5159.72444,N,00423.42696,E,0.006,,120308,,,D*7E
+$GPRMC,111404.00,A,5159.72439,N,00423.42697,E,0.036,4.09,120308,,,D*62
+$GPRMC,111405.00,A,5159.72438,N,00423.42701,E,0.034,3.51,120308,,,D*64
+$GPRMC,111406.00,A,5159.72435,N,00423.42705,E,0.003,,120308,,,D*73
+$GPRMC,111407.00,A,5159.72432,N,00423.42705,E,0.220,3.53,120308,,,D*6D
+$GPRMC,111408.00,A,5159.72448,N,00423.42709,E,1.203,3.58,120308,,,D*68
+$GPRMC,111409.00,A,5159.72497,N,00423.42715,E,2.678,4.36,120308,,,D*62
+$GPRMC,111410.00,A,5159.72598,N,00423.42727,E,4.800,3.64,120308,,,D*62
+$GPRMC,111411.00,A,5159.72771,N,00423.42747,E,7.716,3.28,120308,,,D*63
+$GPRMC,111412.00,A,5159.73031,N,00423.42778,E,10.754,3.49,120308,,,D*59
+$GPRMC,111413.00,A,5159.73340,N,00423.42823,E,11.374,4.72,120308,,,D*54
+$GPRMC,111414.00,A,5159.73667,N,00423.42879,E,12.230,5.96,120308,,,D*55
+$GPRMC,111415.00,A,5159.74027,N,00423.42955,E,13.773,7.18,120308,,,D*59
+$GPRMC,111416.00,A,5159.74435,N,00423.43050,E,15.732,7.96,120308,,,D*55
+$GPRMC,111417.00,A,5159.74895,N,00423.43169,E,17.540,9.30,120308,,,D*5E
+$GPRMC,111418.00,A,5159.75393,N,00423.43322,E,18.596,10.98,120308,,,D*6E
+$GPRMC,111419.00,A,5159.75916,N,00423.43515,E,19.505,13.34,120308,,,D*64
+$GPRMC,111420.00,A,5159.76461,N,00423.43746,E,20.486,15.03,120308,,,D*66
+$GPRMC,111421.00,A,5159.77018,N,00423.44000,E,20.632,15.93,120308,,,D*6A
+$GPRMC,111422.00,A,5159.77597,N,00423.44260,E,21.831,14.76,120308,,,D*69
+$GPRMC,111423.00,A,5159.78218,N,00423.44507,E,22.975,10.88,120308,,,D*66
+$GPRMC,111424.00,A,5159.78895,N,00423.44653,E,23.732,4.25,120308,,,D*52
+$GPRMC,111425.00,A,5159.79573,N,00423.44682,E,23.934,356.89,120308,,,D*51
+$GPRMC,111426.00,A,5159.80238,N,00423.44553,E,23.704,348.94,120308,,,D*5D
+$GPRMC,111427.00,A,5159.80873,N,00423.44253,E,23.654,340.13,120308,,,D*5D
+$GPRMC,111428.00,A,5159.81468,N,00423.43806,E,23.530,331.40,120308,,,D*59
+$GPRMC,111429.00,A,5159.82012,N,00423.43223,E,23.782,323.19,120308,,,D*5B
+$GPRMC,111430.00,A,5159.82517,N,00423.42500,E,24.484,315.68,120308,,,D*55
+$GPRMC,111431.00,A,5159.82968,N,00423.41672,E,23.481,307.61,120308,,,D*5D
+$GPRMC,111432.00,A,5159.83351,N,00423.40762,E,24.135,301.41,120308,,,D*57
+$GPRMC,111433.00,A,5159.83671,N,00423.39784,E,24.458,295.34,120308,,,D*57
+$GPRMC,111434.00,A,5159.83928,N,00423.38769,E,24.028,289.28,120308,,,D*52
+$GPRMC,111435.00,A,5159.84106,N,00423.37675,E,25.194,282.90,120308,,,D*5C
+$GPRMC,111436.00,A,5159.84219,N,00423.36525,E,25.167,275.70,120308,,,D*5F
+$GPRMC,111437.00,A,5159.84201,N,00423.35371,E,24.855,265.75,120308,,,D*5E
+$GPRMC,111438.00,A,5159.84067,N,00423.34245,E,25.495,257.70,120308,,,D*51
+$GPRMC,111439.00,A,5159.83840,N,00423.33116,E,26.377,248.64,120308,,,D*5B
+$GPRMC,111440.00,A,5159.83498,N,00423.31982,E,27.489,243.25,120308,,,D*52
+$GPRMC,111441.00,A,5159.83082,N,00423.30854,E,28.346,239.56,120308,,,D*55
+$GPRMC,111442.00,A,5159.82630,N,00423.29737,E,28.691,236.00,120308,,,D*59
+$GPRMC,111443.00,A,5159.82136,N,00423.28651,E,28.927,233.28,120308,,,D*54
+$GPRMC,111444.00,A,5159.81628,N,00423.27596,E,28.570,232.04,120308,,,D*5E
+$GPRMC,111445.00,A,5159.81099,N,00423.26514,E,29.852,232.27,120308,,,D*55
+$GPRMC,111446.00,A,5159.80559,N,00423.25399,E,30.371,232.73,120308,,,D*5D
+$GPRMC,111447.00,A,5159.80034,N,00423.24245,E,30.908,233.97,120308,,,D*5C
+$GPRMC,111448.00,A,5159.79520,N,00423.23057,E,31.564,235.82,120308,,,D*56
+$GPRMC,111449.00,A,5159.79017,N,00423.21854,E,32.483,236.50,120308,,,D*58
+$GPRMC,111450.00,A,5159.78533,N,00423.20604,E,32.587,238.76,120308,,,D*57
+$GPRMC,111451.00,A,5159.78073,N,00423.19249,E,33.400,241.33,120308,,,D*50
+$GPRMC,111452.00,A,5159.77597,N,00423.17874,E,33.769,243.04,120308,,,D*53
+$GPRMC,111453.00,A,5159.77158,N,00423.16480,E,34.208,244.88,120308,,,D*55
+$GPRMC,111454.00,A,5159.76759,N,00423.15050,E,34.703,246.68,120308,,,D*5C
+$GPRMC,111455.00,A,5159.76379,N,00423.13595,E,35.266,247.65,120308,,,D*5A
+$GPRMC,111456.00,A,5159.76011,N,00423.12116,E,35.490,248.55,120308,,,D*59
+$GPRMC,111457.00,A,5159.75645,N,00423.10618,E,35.817,249.16,120308,,,D*52
+$GPRMC,111458.00,A,5159.75276,N,00423.09089,E,35.951,249.30,120308,,,D*58
+$GPRMC,111459.00,A,5159.74931,N,00423.07567,E,35.418,248.97,120308,,,D*57
+$GPRMC,111500.00,A,5159.74553,N,00423.06079,E,35.305,248.00,120308,,,D*5C
+$GPRMC,111501.00,A,5159.74193,N,00423.04585,E,34.906,249.31,120308,,,D*5A
+$GPRMC,111502.00,A,5159.73858,N,00423.03104,E,34.264,249.66,120308,,,D*57
+$GPRMC,111503.00,A,5159.73538,N,00423.01665,E,33.202,249.56,120308,,,D*5B
+$GPRMC,111504.00,A,5159.73219,N,00423.00325,E,30.859,250.81,120308,,,D*5D
+$GPRMC,111505.00,A,5159.72931,N,00422.99080,E,29.520,250.22,120308,,,D*53
+$GPRMC,111506.00,A,5159.72684,N,00422.97931,E,27.141,248.92,120308,,,D*53
+$GPRMC,111507.00,A,5159.72404,N,00422.96924,E,24.692,247.86,120308,,,D*5D
+$GPRMC,111508.00,A,5159.72156,N,00422.95928,E,23.940,249.22,120308,,,D*58
+$GPRMC,111509.00,A,5159.71924,N,00422.94931,E,23.574,249.19,120308,,,D*5D
+$GPRMC,111510.00,A,5159.71708,N,00422.93976,E,21.788,249.58,120308,,,D*57
+$GPRMC,111511.00,A,5159.71516,N,00422.93182,E,17.187,248.46,120308,,,D*5A
+$GPRMC,111512.00,A,5159.71362,N,00422.92574,E,12.994,245.71,120308,,,D*56
+$GPRMC,111513.00,A,5159.71197,N,00422.92133,E,11.253,243.21,120308,,,D*58
+$GPRMC,111514.00,A,5159.71048,N,00422.91816,E,9.465,236.20,120308,,,D*68
+$GPRMC,111515.00,A,5159.70895,N,00422.91542,E,8.083,225.93,120308,,,D*6B
+$GPRMC,111516.00,A,5159.70728,N,00422.91337,E,7.472,215.42,120308,,,D*6F
+$GPRMC,111517.00,A,5159.70582,N,00422.91205,E,6.046,211.04,120308,,,D*68
+$GPRMC,111518.00,A,5159.70484,N,00422.91153,E,2.709,205.42,120308,,,D*6F
+$GPRMC,111519.00,A,5159.70434,N,00422.91139,E,1.007,205.48,120308,,,D*69
+$GPRMC,111520.00,A,5159.70427,N,00422.91140,E,0.415,205.26,120308,,,D*61
+$GPRMC,111521.00,A,5159.70443,N,00422.91146,E,0.195,205.13,120308,,,D*6F
+$GPRMC,111522.00,A,5159.70455,N,00422.91158,E,0.042,204.94,120308,,,D*61
+$GPRMC,111523.00,A,5159.70472,N,00422.91156,E,0.214,207.25,120308,,,D*63
+$GPRMC,111524.00,A,5159.70466,N,00422.91141,E,1.416,206.74,120308,,,D*67
+$GPRMC,111525.00,A,5159.70363,N,00422.91107,E,5.925,191.07,120308,,,D*66
+$GPRMC,111526.00,A,5159.70119,N,00422.91102,E,10.971,177.76,120308,,,D*54
+$GPRMC,111527.00,A,5159.69772,N,00422.91197,E,14.382,166.40,120308,,,D*5D
+$GPRMC,111528.00,A,5159.69376,N,00422.91401,E,15.421,159.65,120308,,,D*5C
+$GPRMC,111529.00,A,5159.68949,N,00422.91667,E,16.628,158.22,120308,,,D*52
+$GPRMC,111530.00,A,5159.68442,N,00422.92015,E,20.469,156.00,120308,,,D*50
+$GPRMC,111531.00,A,5159.67823,N,00422.92435,E,22.993,156.82,120308,,,D*53
+$GPRMC,111532.00,A,5159.67094,N,00422.93016,E,26.075,155.82,120308,,,D*56
+$GPRMC,111533.00,A,5159.66347,N,00422.93570,E,27.579,156.54,120308,,,D*5E
+$GPRMC,111534.00,A,5159.65568,N,00422.94153,E,28.875,157.21,120308,,,D*5E
+$GPRMC,111535.00,A,5159.64785,N,00422.94682,E,29.013,157.20,120308,,,D*5C
+$GPRMC,111536.00,A,5159.64012,N,00422.95235,E,29.634,155.62,120308,,,D*58
+$GPRMC,111537.00,A,5159.63205,N,00422.95739,E,30.074,156.98,120308,,,D*5F
+$GPRMC,111538.00,A,5159.62472,N,00422.96341,E,29.390,154.64,120308,,,D*5F
+$GPRMC,111539.00,A,5159.61738,N,00422.96914,E,28.772,153.07,120308,,,D*51
+$GPRMC,111540.00,A,5159.61059,N,00422.97533,E,27.655,149.65,120308,,,D*53
+$GPRMC,111541.00,A,5159.60413,N,00422.98174,E,26.526,147.83,120308,,,D*51
+$GPRMC,111542.00,A,5159.59802,N,00422.98786,E,25.158,148.42,120308,,,D*53
+$GPRMC,111543.00,A,5159.59222,N,00422.99349,E,23.583,149.21,120308,,,D*5C
+$GPRMC,111544.00,A,5159.58685,N,00422.99840,E,20.956,150.47,120308,,,D*5E
+$GPRMC,111545.00,A,5159.58200,N,00423.00200,E,17.620,158.54,120308,,,D*59
+$GPRMC,111546.00,A,5159.57742,N,00423.00361,E,16.359,174.99,120308,,,D*55
+$GPRMC,111547.00,A,5159.57334,N,00423.00236,E,16.082,198.36,120308,,,D*50
+$GPRMC,111548.00,A,5159.57017,N,00422.99833,E,15.352,223.32,120308,,,D*59
+$GPRMC,111549.00,A,5159.56820,N,00422.99156,E,16.776,241.78,120308,,,D*54
+$GPRMC,111550.00,A,5159.56660,N,00422.98387,E,18.371,246.98,120308,,,D*5D
+$GPRMC,111551.00,A,5159.56478,N,00422.97564,E,19.956,247.02,120308,,,D*5F
+$GPRMC,111552.00,A,5159.56277,N,00422.96663,E,21.941,248.27,120308,,,D*55
+$GPRMC,111553.00,A,5159.56054,N,00422.95689,E,23.452,248.36,120308,,,D*5D
+$GPRMC,111554.00,A,5159.55798,N,00422.94699,E,24.060,246.18,120308,,,D*5E
+$GPRMC,111555.00,A,5159.55520,N,00422.93709,E,24.291,246.08,120308,,,D*5C
+$GPRMC,111556.00,A,5159.55236,N,00422.92696,E,24.777,246.44,120308,,,D*5C
+$GPRMC,111557.00,A,5159.54954,N,00422.91681,E,24.928,246.47,120308,,,D*51
+$GPRMC,111558.00,A,5159.54663,N,00422.90684,E,24.868,246.15,120308,,,D*53
+$GPRMC,111559.00,A,5159.54376,N,00422.89642,E,25.136,246.26,120308,,,D*52
+$GPRMC,111600.00,A,5159.54090,N,00422.88619,E,24.788,245.45,120308,,,D*5D
+$GPRMC,111601.00,A,5159.53823,N,00422.87566,E,24.947,247.71,120308,,,D*57
+$GPRMC,111602.00,A,5159.53554,N,00422.86553,E,24.118,246.68,120308,,,D*55
+$GPRMC,111603.00,A,5159.53311,N,00422.85530,E,23.635,248.46,120308,,,D*58
+$GPRMC,111604.00,A,5159.53070,N,00422.84497,E,22.618,248.62,120308,,,D*5E
+$GPRMC,111605.00,A,5159.52831,N,00422.83551,E,21.008,247.93,120308,,,D*5A
+$GPRMC,111606.00,A,5159.52626,N,00422.82743,E,18.296,247.43,120308,,,D*53
+$GPRMC,111607.00,A,5159.52467,N,00422.82094,E,13.474,247.85,120308,,,D*53
+$GPRMC,111608.00,A,5159.52369,N,00422.81665,E,8.017,249.73,120308,,,D*62
+$GPRMC,111609.00,A,5159.52331,N,00422.81443,E,3.516,251.90,120308,,,D*63
+$GPRMC,111610.00,A,5159.52302,N,00422.81305,E,2.814,251.24,120308,,,D*6F
+$GPRMC,111611.00,A,5159.52271,N,00422.81183,E,3.220,245.73,120308,,,D*6C
+$GPRMC,111612.00,A,5159.52240,N,00422.81019,E,4.979,251.21,120308,,,D*6D
+$GPRMC,111613.00,A,5159.52201,N,00422.80779,E,5.842,247.92,120308,,,D*6E
+$GPRMC,111614.00,A,5159.52143,N,00422.80515,E,6.670,246.41,120308,,,D*67
+$GPRMC,111615.00,A,5159.52063,N,00422.80240,E,7.402,242.33,120308,,,D*65
+$GPRMC,111616.00,A,5159.51984,N,00422.79924,E,7.957,246.08,120308,,,D*6B
+$GPRMC,111617.00,A,5159.51905,N,00422.79597,E,7.846,244.85,120308,,,D*61
+$GPRMC,111618.00,A,5159.51794,N,00422.79351,E,7.400,238.53,120308,,,D*6A
+$GPRMC,111619.00,A,5159.51661,N,00422.79134,E,7.479,220.34,120308,,,D*67
+$GPRMC,111620.00,A,5159.51457,N,00422.79019,E,9.119,192.85,120308,,,D*69
+$GPRMC,111621.00,A,5159.51179,N,00422.79070,E,11.274,166.20,120308,,,D*5B
+$GPRMC,111622.00,A,5159.50825,N,00422.79296,E,13.026,155.90,120308,,,D*5F
+$GPRMC,111623.00,A,5159.50455,N,00422.79615,E,14.308,153.71,120308,,,D*5B
+$GPRMC,111624.00,A,5159.50033,N,00422.79963,E,17.086,154.25,120308,,,D*56
+$GPRMC,111625.00,A,5159.49563,N,00422.80333,E,18.483,156.61,120308,,,D*5A
+$GPRMC,111626.00,A,5159.49062,N,00422.80665,E,18.803,159.25,120308,,,D*50
+$GPRMC,111627.00,A,5159.48567,N,00422.80969,E,18.069,160.27,120308,,,D*5F
+$GPRMC,111628.00,A,5159.48167,N,00422.81192,E,12.725,161.00,120308,,,D*58
+$GPRMC,111629.00,A,5159.47931,N,00422.81316,E,5.787,161.27,120308,,,D*68
+$GPRMC,111630.00,A,5159.47844,N,00422.81355,E,1.324,161.29,120308,,,D*63
+$GPRMC,111631.00,A,5159.47833,N,00422.81357,E,0.143,161.35,120308,,,D*6F
+$GPRMC,111632.00,A,5159.47839,N,00422.81350,E,0.035,166.62,120308,,,D*64
+$GPRMC,111633.00,A,5159.47849,N,00422.81343,E,0.034,165.95,120308,,,D*6A
+$GPRMC,111634.00,A,5159.47854,N,00422.81336,E,0.039,166.27,120308,,,D*64
+$GPRMC,111635.00,A,5159.47851,N,00422.81332,E,0.293,166.02,120308,,,D*61
+$GPRMC,111636.00,A,5159.47850,N,00422.81331,E,0.354,165.47,120308,,,D*68
+$GPRMC,111637.00,A,5159.47853,N,00422.81329,E,0.126,165.34,120308,,,D*60
+$GPRMC,111638.00,A,5159.47858,N,00422.81326,E,0.031,165.26,120308,,,D*6F
+$GPRMC,111639.00,A,5159.47865,N,00422.81326,E,0.012,,120308,,,D*79
+$GPRMC,111640.00,A,5159.47871,N,00422.81324,E,0.018,,120308,,,D*7A
+$GPRMC,111641.00,A,5159.47876,N,00422.81322,E,0.007,,120308,,,D*74
+$GPRMC,111642.00,A,5159.47881,N,00422.81319,E,0.016,,120308,,,D*77
+$GPRMC,111643.00,A,5159.47885,N,00422.81318,E,0.007,,120308,,,D*73
+$GPRMC,111644.00,A,5159.47890,N,00422.81316,E,0.023,159.71,120308,,,D*6D
+$GPRMC,111645.00,A,5159.47894,N,00422.81314,E,0.023,159.20,120308,,,D*6E
+$GPRMC,111646.00,A,5159.47898,N,00422.81313,E,0.004,,120308,,,D*72
+$GPRMC,111647.00,A,5159.47900,N,00422.81317,E,0.028,164.40,120308,,,D*60
+$GPRMC,111648.00,A,5159.47903,N,00422.81321,E,0.011,,120308,,,D*7A
+$GPRMC,111649.00,A,5159.47905,N,00422.81323,E,0.006,,120308,,,D*79
+$GPRMC,111650.00,A,5159.47906,N,00422.81321,E,0.013,,120308,,,D*74
+$GPRMC,111651.00,A,5159.47910,N,00422.81322,E,0.009,,120308,,,D*7A
+$GPRMC,111652.00,A,5159.47909,N,00422.81328,E,0.012,,120308,,,D*71
+$GPRMC,111653.00,A,5159.47915,N,00422.81331,E,0.019,,120308,,,D*7E
+$GPRMC,111654.00,A,5159.47921,N,00422.81333,E,0.007,,120308,,,D*73
+$GPRMC,111655.00,A,5159.47926,N,00422.81334,E,0.047,164.30,120308,,,D*68
+$GPRMC,111656.00,A,5159.47932,N,00422.81338,E,0.080,164.24,120308,,,D*6C
+$GPRMC,111657.00,A,5159.47933,N,00422.81340,E,0.065,164.24,120308,,,D*68
+$GPRMC,111658.00,A,5159.47935,N,00422.81338,E,0.078,164.29,120308,,,D*6F
+$GPRMC,111659.00,A,5159.47937,N,00422.81336,E,0.019,,120308,,,D*73
+$GPRMC,111700.00,A,5159.47940,N,00422.81333,E,0.008,,120308,,,D*7B
+$GPRMC,111701.00,A,5159.47943,N,00422.81330,E,0.023,164.08,120308,,,D*66
+$GPRMC,111702.00,A,5159.47945,N,00422.81325,E,0.013,,120308,,,D*71
+$GPRMC,111703.00,A,5159.47947,N,00422.81321,E,0.018,,120308,,,D*7D
+$GPRMC,111704.00,A,5159.47949,N,00422.81319,E,0.005,,120308,,,D*73
+$GPRMC,111705.00,A,5159.47951,N,00422.81318,E,0.023,168.96,120308,,,D*60
+$GPRMC,111706.00,A,5159.47951,N,00422.81315,E,0.020,174.10,120308,,,D*6E
+$GPRMC,111707.00,A,5159.47954,N,00422.81311,E,0.012,,120308,,,D*72
+$GPRMC,111708.00,A,5159.47957,N,00422.81308,E,0.008,,120308,,,D*7D
+$GPRMC,111709.00,A,5159.47962,N,00422.81302,E,0.013,,120308,,,D*7A
+$GPRMC,111710.00,A,5159.47958,N,00422.81309,E,0.014,,120308,,,D*77
+$GPRMC,111711.00,A,5159.47961,N,00422.81305,E,0.002,,120308,,,D*77
+$GPRMC,111712.00,A,5159.47964,N,00422.81301,E,0.020,174.68,120308,,,D*67
+$GPRMC,111713.00,A,5159.47968,N,00422.81300,E,0.019,180.12,120308,,,D*67
+$GPRMC,111714.00,A,5159.47970,N,00422.81296,E,0.020,184.45,120308,,,D*6B
+$GPRMC,111715.00,A,5159.47973,N,00422.81289,E,0.010,,120308,,,D*76
+$GPRMC,111716.00,A,5159.47973,N,00422.81281,E,0.014,,120308,,,D*79
+$GPRMC,111717.00,A,5159.47973,N,00422.81275,E,0.015,,120308,,,D*72
+$GPRMC,111718.00,A,5159.47973,N,00422.81274,E,0.008,,120308,,,D*70
+$GPRMC,111719.00,A,5159.47968,N,00422.81282,E,0.003,,120308,,,D*79
+$GPRMC,111720.00,A,5159.47969,N,00422.81281,E,0.017,,120308,,,D*74
+$GPRMC,111721.00,A,5159.47968,N,00422.81276,E,0.025,183.07,120308,,,D*6E
+$GPRMC,111722.00,A,5159.47927,N,00422.81319,E,0.009,,120308,,,D*73
+$GPRMC,111723.00,A,5159.47929,N,00422.81315,E,0.018,,120308,,,D*70
+$GPRMC,111724.00,A,5159.47919,N,00422.81327,E,0.034,182.78,120308,,,D*61
+$GPRMC,111725.00,A,5159.47912,N,00422.81332,E,0.023,187.43,120308,,,D*64
+$GPRMC,111726.00,A,5159.47908,N,00422.81333,E,0.008,,120308,,,D*73
+$GPRMC,111727.00,A,5159.47907,N,00422.81325,E,0.020,191.69,120308,,,D*68
+$GPRMC,111728.00,A,5159.47904,N,00422.81328,E,0.042,190.58,120308,,,D*6E
+$GPRMC,111729.00,A,5159.47904,N,00422.81324,E,0.008,,120308,,,D*76
+$GPRMC,111730.00,A,5159.47909,N,00422.81315,E,0.035,193.74,120308,,,D*69
+$GPRMC,111731.00,A,5159.47911,N,00422.81308,E,0.008,,120308,,,D*75
+$GPRMC,111732.00,A,5159.47919,N,00422.81300,E,0.009,,120308,,,D*77
+$GPRMC,111733.00,A,5159.47921,N,00422.81290,E,0.022,191.79,120308,,,D*65
+$GPRMC,111734.00,A,5159.47940,N,00422.81268,E,0.017,,120308,,,D*7D
+$GPRMC,111735.00,A,5159.47951,N,00422.81253,E,0.011,,120308,,,D*72
+$GPRMC,111736.00,A,5159.47952,N,00422.81251,E,0.029,195.43,120308,,,D*6F
+$GPRMC,111737.00,A,5159.47951,N,00422.81250,E,0.011,,120308,,,D*73
+$GPRMC,111738.00,A,5159.47951,N,00422.81251,E,0.014,,120308,,,D*78
+$GPRMC,111739.00,A,5159.47949,N,00422.81255,E,0.040,193.84,120308,,,D*6C
+$GPRMC,111740.00,A,5159.47949,N,00422.81253,E,0.001,,120308,,,D*78
+$GPRMC,111741.00,A,5159.47949,N,00422.81256,E,0.032,192.31,120308,,,D*6A
+$GPRMC,111742.00,A,5159.47949,N,00422.81257,E,0.009,,120308,,,D*76
+$GPRMC,111743.00,A,5159.47949,N,00422.81257,E,0.018,,120308,,,D*77
+$GPRMC,111744.00,A,5159.47950,N,00422.81255,E,0.030,196.05,120308,,,D*65
+$GPRMC,111745.00,A,5159.47951,N,00422.81255,E,0.042,193.97,120308,,,D*6E
+$GPRMC,111746.00,A,5159.47937,N,00422.81264,E,1.244,191.88,120308,,,D*66
+$GPRMC,111747.00,A,5159.47874,N,00422.81299,E,3.488,160.90,120308,,,D*60
+$GPRMC,111748.00,A,5159.47749,N,00422.81365,E,5.825,161.50,120308,,,D*6C
+$GPRMC,111749.00,A,5159.47571,N,00422.81452,E,7.666,162.28,120308,,,D*60
+$GPRMC,111750.00,A,5159.47347,N,00422.81570,E,9.036,162.24,120308,,,D*6B
+$GPRMC,111751.00,A,5159.47106,N,00422.81695,E,9.023,162.65,120308,,,D*64
+$GPRMC,111752.00,A,5159.46854,N,00422.81823,E,9.798,163.00,120308,,,D*6E
+$GPRMC,111753.00,A,5159.46579,N,00422.81959,E,10.685,162.90,120308,,,D*5C
+$GPRMC,111754.00,A,5159.46278,N,00422.82109,E,11.460,163.58,120308,,,D*5E
+$GPRMC,111755.00,A,5159.45971,N,00422.82215,E,11.201,172.33,120308,,,D*5C
+$GPRMC,111756.00,A,5159.45658,N,00422.82203,E,11.876,187.37,120308,,,D*58
+$GPRMC,111757.00,A,5159.45364,N,00422.82025,E,11.851,208.67,120308,,,D*51
+$GPRMC,111758.00,A,5159.45095,N,00422.81683,E,12.638,226.88,120308,,,D*55
+$GPRMC,111759.00,A,5159.44891,N,00422.81161,E,14.074,242.84,120308,,,D*54
+$GPRMC,111800.00,A,5159.44716,N,00422.80563,E,15.049,245.95,120308,,,D*58
+$GPRMC,111801.00,A,5159.44545,N,00422.79885,E,15.939,244.50,120308,,,D*58
+$GPRMC,111802.00,A,5159.44317,N,00422.79142,E,17.839,242.35,120308,,,D*5E
+$GPRMC,111803.00,A,5159.44103,N,00422.78381,E,18.540,246.36,120308,,,D*5F
+$GPRMC,111804.00,A,5159.43888,N,00422.77580,E,18.934,246.57,120308,,,D*55
+$GPRMC,111805.00,A,5159.43691,N,00422.76762,E,19.112,246.06,120308,,,D*54
+$GPRMC,111806.00,A,5159.43477,N,00422.75958,E,19.227,245.96,120308,,,D*56
+$GPRMC,111807.00,A,5159.43265,N,00422.75145,E,19.640,247.14,120308,,,D*5B
+$GPRMC,111808.00,A,5159.43065,N,00422.74284,E,20.160,249.04,120308,,,D*59
+$GPRMC,111809.00,A,5159.42875,N,00422.73419,E,20.162,247.10,120308,,,D*5C
+$GPRMC,111810.00,A,5159.42647,N,00422.72572,E,20.280,244.15,120308,,,D*5F
+$GPRMC,111811.00,A,5159.42434,N,00422.71737,E,19.795,246.20,120308,,,D*57
+$GPRMC,111812.00,A,5159.42200,N,00422.70931,E,19.060,245.97,120308,,,D*5E
+$GPRMC,111813.00,A,5159.42012,N,00422.70143,E,18.393,252.31,120308,,,D*57
+$GPRMC,111814.00,A,5159.41828,N,00422.69385,E,17.462,250.52,120308,,,D*53
+$GPRMC,111815.00,A,5159.41662,N,00422.68726,E,15.923,252.66,120308,,,D*51
+$GPRMC,111816.00,A,5159.41530,N,00422.68248,E,10.512,247.51,120308,,,D*50
+$GPRMC,111817.00,A,5159.41348,N,00422.67964,E,7.764,220.30,120308,,,D*61
+$GPRMC,111818.00,A,5159.41119,N,00422.67760,E,7.460,198.87,120308,,,D*69
+$GPRMC,111819.00,A,5159.40911,N,00422.67700,E,7.295,175.53,120308,,,D*69
+$GPRMC,111820.00,A,5159.40705,N,00422.67788,E,7.541,160.43,120308,,,D*63
+$GPRMC,111821.00,A,5159.40557,N,00422.67959,E,7.907,157.06,120308,,,D*6E
+$GPRMC,111822.00,A,5159.40309,N,00422.68092,E,9.436,157.71,120308,,,D*60
+$GPRMC,111823.00,A,5159.40035,N,00422.68248,E,10.488,156.55,120308,,,D*52
+$GPRMC,111824.00,A,5159.39749,N,00422.68423,E,10.699,157.20,120308,,,D*5D
+$GPRMC,111825.00,A,5159.39460,N,00422.68592,E,10.757,158.85,120308,,,D*5C
+$GPRMC,111826.00,A,5159.39165,N,00422.68753,E,10.999,159.89,120308,,,D*51
+$GPRMC,111827.00,A,5159.38861,N,00422.68911,E,11.091,160.76,120308,,,D*5E
+$GPRMC,111828.00,A,5159.38570,N,00422.69056,E,10.324,161.18,120308,,,D*52
+$GPRMC,111829.00,A,5159.38289,N,00422.69200,E,10.115,161.94,120308,,,D*57
+$GPRMC,111830.00,A,5159.38021,N,00422.69371,E,9.875,153.45,120308,,,D*62
+$GPRMC,111831.00,A,5159.37797,N,00422.69619,E,9.209,139.03,120308,,,D*62
+$GPRMC,111832.00,A,5159.37646,N,00422.69924,E,8.372,117.33,120308,,,D*6E
+$GPRMC,111833.00,A,5159.37585,N,00422.70271,E,7.930,94.64,120308,,,D*5B
+$GPRMC,111834.00,A,5159.37605,N,00422.70616,E,7.356,76.28,120308,,,A*59
+$GPRMC,111835.00,A,5159.37663,N,00422.70931,E,6.991,71.72,120308,,,A*5A
+$GPRMC,111836.00,A,5159.37733,N,00422.71210,E,6.580,65.53,120308,,,A*5E
+$GPRMC,111837.00,A,5159.37811,N,00422.71468,E,6.414,64.98,120308,,,A*53
+$GPRMC,111838.00,A,5159.37897,N,00422.71733,E,7.228,64.71,120308,,,A*50
+$GPRMC,111839.00,A,5159.37993,N,00422.72041,E,8.281,64.86,120308,,,A*51
+$GPRMC,111840.00,A,5159.38099,N,00422.72380,E,8.942,64.95,120308,,,A*5B
+$GPRMC,111841.00,A,5159.38203,N,00422.72724,E,8.545,67.31,120308,,,A*57
+$GPRMC,111842.00,A,5159.38306,N,00422.73063,E,8.105,64.48,120308,,,A*58
+$GPRMC,111843.00,A,5159.38397,N,00422.73354,E,6.471,64.02,120308,,,A*50
+$GPRMC,111844.00,A,5159.38441,N,00422.73573,E,4.495,66.60,120308,,,A*56
+$GPRMC,111845.00,A,5159.38475,N,00422.73739,E,3.501,75.99,120308,,,A*53
+$GPRMC,111846.00,A,5159.38486,N,00422.73893,E,3.667,86.41,120308,,,A*59
+$GPRMC,111847.00,A,5159.38466,N,00422.74057,E,3.775,104.78,120308,,,A*62
+$GPRMC,111848.00,A,5159.38413,N,00422.74225,E,4.788,125.32,120308,,,A*60
+$GPRMC,111849.00,A,5159.38295,N,00422.74404,E,6.523,142.04,120308,,,A*69
+$GPRMC,111850.00,A,5159.38119,N,00422.74578,E,8.005,151.83,120308,,,A*6E
+$GPRMC,111851.00,A,5159.37901,N,00422.74756,E,9.522,155.27,120308,,,A*64
+$GPRMC,111852.00,A,5159.37639,N,00422.74935,E,10.402,157.05,120308,,,A*51
+$GPRMC,111853.00,A,5159.37363,N,00422.75110,E,10.552,158.81,120308,,,A*53
+$GPRMC,111854.00,A,5159.37094,N,00422.75273,E,10.025,158.96,120308,,,A*5A
+$GPRMC,111855.00,A,5159.36849,N,00422.75423,E,8.999,158.58,120308,,,A*64
+$GPRMC,111856.00,A,5159.36628,N,00422.75568,E,8.272,156.66,120308,,,A*6D
+$GPRMC,111857.00,A,5159.36428,N,00422.75708,E,7.563,155.56,120308,,,A*62
+$GPRMC,111858.00,A,5159.36247,N,00422.75831,E,6.885,157.03,120308,,,A*61
+$GPRMC,111859.00,A,5159.36078,N,00422.75937,E,6.422,158.11,120308,,,A*64
+$GPRMC,111900.00,A,5159.35916,N,00422.76043,E,6.347,158.13,120308,,,A*64
+$GPRMC,111901.00,A,5159.35751,N,00422.76147,E,6.412,158.33,120308,,,A*68
+$GPRMC,111902.00,A,5159.35585,N,00422.76250,E,6.574,157.80,120308,,,A*63
+$GPRMC,111903.00,A,5159.35442,N,00422.76346,E,4.927,157.16,120308,,,A*69
+$GPRMC,111904.00,A,5159.35361,N,00422.76399,E,1.793,157.19,120308,,,A*61
+$GPRMC,111905.00,A,5159.35343,N,00422.76408,E,0.170,157.22,120308,,,A*6D
+$GPRMC,111906.00,A,5159.35348,N,00422.76402,E,0.002,,120308,,,A*76
+$GPRMC,111907.00,A,5159.35355,N,00422.76395,E,0.020,162.45,120308,,,A*68
+$GPRMC,111908.00,A,5159.35363,N,00422.76389,E,0.118,167.95,120308,,,A*6D
+$GPRMC,111909.00,A,5159.35373,N,00422.76381,E,0.202,178.44,120308,,,A*6F
+$GPRMC,111910.00,A,5159.35384,N,00422.76372,E,0.191,183.32,120308,,,A*6F
+$GPRMC,111911.00,A,5159.35391,N,00422.76366,E,0.038,187.93,120308,,,A*62
+$GPRMC,111912.00,A,5159.35383,N,00422.76375,E,1.036,185.55,120308,,,A*67
+$GPRMC,111913.00,A,5159.35327,N,00422.76437,E,3.988,146.02,120308,,,A*6A
+$GPRMC,111914.00,A,5159.35213,N,00422.76558,E,5.827,148.09,120308,,,A*64
+$GPRMC,111915.00,A,5159.35071,N,00422.76665,E,5.459,162.13,120308,,,A*68
+$GPRMC,111916.00,A,5159.34929,N,00422.76667,E,5.105,194.07,120308,,,A*6C
+$GPRMC,111917.00,A,5159.34825,N,00422.76557,E,4.251,234.06,120308,,,A*6B
+$GPRMC,111918.00,A,5159.34769,N,00422.76379,E,4.576,251.38,120308,,,A*65
+$GPRMC,111919.00,A,5159.34743,N,00422.76223,E,2.490,257.18,120308,,,A*69
+$GPRMC,111920.00,A,5159.34735,N,00422.76148,E,0.797,257.32,120308,,,A*62
+$GPRMC,111921.00,A,5159.34739,N,00422.76127,E,0.004,,120308,,,A*74
+$GPRMC,111922.00,A,5159.34749,N,00422.76122,E,0.012,,120308,,,A*72
+$GPRMC,111923.00,A,5159.34762,N,00422.76114,E,0.003,,120308,,,A*7F
+$GPRMC,111924.00,A,5159.34772,N,00422.76104,E,0.004,,120308,,,A*7F
+$GPRMC,111925.00,A,5159.34781,N,00422.76095,E,0.003,,120308,,,A*7C
+$GPRMC,111926.00,A,5159.34791,N,00422.76086,E,0.008,,120308,,,A*77
+$GPRMC,111927.00,A,5159.34801,N,00422.76079,E,0.007,,120308,,,A*7F
+$GPRMC,111928.00,A,5159.34810,N,00422.76072,E,0.004,,120308,,,A*78
+$GPRMC,111929.00,A,5159.34818,N,00422.76066,E,0.014,,120308,,,A*75
+$GPRMC,111930.00,A,5159.34824,N,00422.76060,E,0.006,,120308,,,A*77
+$GPRMC,111931.00,A,5159.34830,N,00422.76055,E,0.008,,120308,,,A*7B
+$GPRMC,111932.00,A,5159.34836,N,00422.76050,E,0.010,,120308,,,A*72
+$GPRMC,111933.00,A,5159.34842,N,00422.76045,E,0.015,,120308,,,A*71
+$GPRMC,111934.00,A,5159.34846,N,00422.76038,E,0.007,,120308,,,A*7B
+$GPRMC,111935.00,A,5159.34851,N,00422.76034,E,0.005,,120308,,,A*72
+$GPRMC,111936.00,A,5159.34852,N,00422.76029,E,0.015,,120308,,,A*7F
+$GPRMC,111937.00,A,5159.34854,N,00422.76023,E,0.005,,120308,,,A*73
+$GPRMC,111938.00,A,5159.34855,N,00422.76017,E,0.004,,120308,,,A*7B
+$GPRMC,111939.00,A,5159.34856,N,00422.76010,E,0.009,,120308,,,A*73
+$GPRMC,111940.00,A,5159.34859,N,00422.76004,E,0.009,,120308,,,A*77
+$GPRMC,111941.00,A,5159.34860,N,00422.75998,E,0.050,256.25,120308,,,A*67
+$GPRMC,111942.00,A,5159.34861,N,00422.75994,E,0.010,,120308,,,A*75
+$GPRMC,111943.00,A,5159.34861,N,00422.75989,E,0.006,,120308,,,A*7F
+$GPRMC,111944.00,A,5159.34862,N,00422.75987,E,0.004,,120308,,,A*77
+$GPRMC,111945.00,A,5159.34861,N,00422.75986,E,0.003,,120308,,,A*73
+$GPRMC,111946.00,A,5159.34860,N,00422.75985,E,0.005,,120308,,,A*74
+$GPRMC,111947.00,A,5159.34860,N,00422.75983,E,0.007,,120308,,,A*71
+$GPRMC,111948.00,A,5159.34860,N,00422.75982,E,0.011,,120308,,,A*78
+$GPRMC,111949.00,A,5159.34860,N,00422.75982,E,0.008,,120308,,,A*71
+$GPRMC,111950.00,A,5159.34860,N,00422.75980,E,0.005,,120308,,,A*76
+$GPRMC,111951.00,A,5159.34859,N,00422.75977,E,0.008,,120308,,,A*78
+$GPRMC,111952.00,A,5159.34860,N,00422.75974,E,0.007,,120308,,,A*7D
+$GPRMC,111953.00,A,5159.34861,N,00422.75970,E,0.008,,120308,,,A*76
+$GPRMC,111954.00,A,5159.34862,N,00422.75966,E,0.007,,120308,,,A*7A
+$GPRMC,111955.00,A,5159.34863,N,00422.75962,E,0.001,,120308,,,A*78
+$GPRMC,111956.00,A,5159.34864,N,00422.75957,E,0.007,,120308,,,A*7C
+$GPRMC,111957.00,A,5159.34866,N,00422.75950,E,0.005,,120308,,,A*7A
+$GPRMC,111958.00,A,5159.34866,N,00422.75944,E,0.006,,120308,,,A*73
+$GPRMC,111959.00,A,5159.34867,N,00422.75937,E,0.061,255.44,120308,,,A*6A
Index: /liacs/se/gps-data/101/characteroutput-20080312-131725.txt
===================================================================
--- /liacs/se/gps-data/101/characteroutput-20080312-131725.txt	(revision 2)
+++ /liacs/se/gps-data/101/characteroutput-20080312-131725.txt	(revision 2)
@@ -0,0 +1,9227 @@
+$GPRMC,121725.00,V,,,,,,,120308,,,N*77
+$GPRMC,121726.00,V,,,,,,,120308,,,N*74
+$GPRMC,121727.00,V,,,,,,,120308,,,N*75
+$GPRMC,121728.00,V,,,,,,,120308,,,N*7A
+$GPRMC,121729.00,V,,,,,,,120308,,,N*7B
+$GPRMC,121730.00,V,,,,,,,120308,,,N*73
+$GPRMC,121731.00,V,,,,,,,120308,,,N*72
+$GPRMC,121732.00,V,,,,,,,120308,,,N*71
+$GPRMC,121733.00,V,,,,,,,120308,,,N*70
+$GPRMC,121734.00,V,,,,,,,120308,,,N*77
+$GPRMC,121735.00,V,,,,,,,120308,,,N*76
+$GPRMC,121736.00,V,,,,,,,120308,,,N*75
+$GPRMC,121737.00,V,,,,,,,120308,,,N*74
+$GPRMC,121738.00,V,,,,,,,120308,,,N*7B
+$GPRMC,121739.00,V,,,,,,,120308,,,N*7A
+$GPRMC,121739.98,V,,,,,,,120308,,,N*7B
+$GPRMC,121740.99,V,,,,,,,120308,,,N*74
+$GPRMC,121741.99,V,,,,,,,120308,,,N*75
+$GPRMC,121743.00,V,,,,,,,120308,,,N*77
+$GPRMC,121744.00,V,,,,,,,120308,,,N*70
+$GPRMC,121745.00,V,,,,,,,120308,,,N*71
+$GPRMC,121746.00,V,,,,,,,120308,,,N*72
+$GPRMC,121747.00,V,,,,,,,120308,,,N*73
+$GPRMC,121748.07,V,,,,,,,120308,,,N*7B
+$GPRMC,121749.05,V,,,,,,,120308,,,N*78
+$GPRMC,121750.00,V,,,,,,,120308,,,N*75
+$GPRMC,121751.00,V,,,,,,,120308,,,N*74
+$GPRMC,121752.00,V,,,,,,,120308,,,N*77
+$GPRMC,121753.00,V,,,,,,,120308,,,N*76
+$GPRMC,121754.00,V,,,,,,,120308,,,N*71
+$GPRMC,121755.00,V,,,,,,,120308,,,N*70
+$GPRMC,121756.00,V,,,,,,,120308,,,N*73
+$GPRMC,121757.00,V,,,,,,,120308,,,N*72
+$GPRMC,121758.00,V,,,,,,,120308,,,N*7D
+$GPRMC,121759.00,V,,,,,,,120308,,,N*7C
+$GPRMC,121800.00,V,,,,,,,120308,,,N*7F
+$GPRMC,121801.00,V,,,,,,,120308,,,N*7E
+$GPRMC,121802.00,V,,,,,,,120308,,,N*7D
+$GPRMC,121803.00,V,,,,,,,120308,,,N*7C
+$GPRMC,121804.00,V,,,,,,,120308,,,N*7B
+$GPRMC,121804.97,V,,,,,,,120308,,,N*75
+$GPRMC,121805.97,V,,,,,,,120308,,,N*74
+$GPRMC,121807.00,V,,,,,,,120308,,,N*78
+$GPRMC,121808.00,A,5159.34881,N,00422.76684,E,0.337,357.58,120308,,,A*6E
+$GPRMC,121809.00,A,5159.34863,N,00422.76667,E,0.612,349.47,120308,,,A*6D
+$GPRMC,121810.00,A,5159.34859,N,00422.76655,E,0.496,342.36,120308,,,A*6E
+$GPRMC,121811.00,A,5159.34852,N,00422.76617,E,0.483,336.16,120308,,,A*67
+$GPRMC,121812.00,A,5159.34845,N,00422.76582,E,0.747,330.74,120308,,,A*64
+$GPRMC,121813.00,A,5159.34854,N,00422.76581,E,0.250,325.88,120308,,,A*62
+$GPRMC,121814.00,A,5159.34813,N,00422.76488,E,0.559,320.74,120308,,,A*66
+$GPRMC,121815.00,A,5159.34807,N,00422.76465,E,0.210,315.31,120308,,,A*6C
+$GPRMC,121816.00,A,5159.34809,N,00422.76458,E,0.004,,120308,,,A*73
+$GPRMC,121817.00,A,5159.34813,N,00422.76460,E,0.006,,120308,,,A*70
+$GPRMC,121818.00,A,5159.34817,N,00422.76456,E,0.014,,120308,,,A*7D
+$GPRMC,121819.00,A,5159.34821,N,00422.76451,E,0.009,,120308,,,A*72
+$GPRMC,121820.00,A,5159.34829,N,00422.76465,E,0.014,,120308,,,A*7B
+$GPRMC,121821.00,A,5159.34833,N,00422.76475,E,0.040,312.96,120308,,,A*60
+$GPRMC,121822.00,A,5159.34816,N,00422.76438,E,0.008,,120308,,,A*70
+$GPRMC,121823.00,A,5159.34820,N,00422.76438,E,0.058,308.60,120308,,,A*62
+$GPRMC,121824.00,A,5159.34822,N,00422.76435,E,0.025,305.96,120308,,,A*64
+$GPRMC,121825.00,A,5159.34824,N,00422.76431,E,0.072,303.73,120308,,,A*68
+$GPRMC,121826.00,A,5159.34825,N,00422.76427,E,0.055,301.32,120308,,,A*6F
+$GPRMC,121827.00,A,5159.34824,N,00422.76421,E,0.040,299.90,120308,,,A*65
+$GPRMC,121828.00,A,5159.34826,N,00422.76422,E,0.066,297.90,120308,,,A*61
+$GPRMC,121829.00,A,5159.34850,N,00422.76487,E,0.048,295.65,120308,,,A*6A
+$GPRMC,121830.00,A,5159.34861,N,00422.76520,E,0.037,293.68,120308,,,A*6F
+$GPRMC,121831.00,A,5159.34868,N,00422.76540,E,0.008,,120308,,,A*75
+$GPRMC,121832.00,A,5159.34870,N,00422.76546,E,0.034,291.97,120308,,,A*6C
+$GPRMC,121833.00,A,5159.34871,N,00422.76548,E,0.010,,120308,,,A*7E
+$GPRMC,121834.00,A,5159.34871,N,00422.76545,E,0.043,290.21,120308,,,A*64
+$GPRMC,121835.00,A,5159.34872,N,00422.76543,E,0.031,287.97,120308,,,A*6E
+$GPRMC,121836.00,A,5159.34875,N,00422.76548,E,0.138,286.47,120308,,,A*65
+$GPRMC,121837.00,A,5159.34877,N,00422.76552,E,0.064,284.89,120308,,,A*65
+$GPRMC,121838.00,A,5159.34878,N,00422.76553,E,0.023,282.82,120308,,,A*6A
+$GPRMC,121839.00,A,5159.34878,N,00422.76552,E,0.006,,120308,,,A*71
+$GPRMC,121840.00,A,5159.34881,N,00422.76557,E,0.045,281.55,120308,,,A*6E
+$GPRMC,121841.00,A,5159.34880,N,00422.76554,E,0.117,280.24,120308,,,A*6C
+$GPRMC,121842.00,A,5159.34881,N,00422.76559,E,0.036,277.98,120308,,,A*6E
+$GPRMC,121843.00,A,5159.34881,N,00422.76558,E,0.054,276.79,120308,,,A*64
+$GPRMC,121844.00,A,5159.34881,N,00422.76562,E,0.071,275.78,120308,,,A*6F
+$GPRMC,121845.00,A,5159.34881,N,00422.76565,E,0.035,274.13,120308,,,A*65
+$GPRMC,121846.00,A,5159.34878,N,00422.76561,E,0.011,,120308,,,A*7F
+$GPRMC,121847.00,A,5159.34875,N,00422.76553,E,0.098,272.69,120308,,,A*65
+$GPRMC,121848.00,A,5159.34873,N,00422.76551,E,0.017,,120308,,,A*7F
+$GPRMC,121849.00,A,5159.34873,N,00422.76553,E,0.019,,120308,,,A*72
+$GPRMC,121850.00,A,5159.34871,N,00422.76546,E,0.024,271.41,120308,,,A*6D
+$GPRMC,121851.00,A,5159.34870,N,00422.76540,E,0.007,,120308,,,A*75
+$GPRMC,121852.00,A,5159.34868,N,00422.76532,E,0.053,270.85,120308,,,A*6D
+$GPRMC,121853.00,A,5159.34867,N,00422.76523,E,0.063,269.13,120308,,,A*67
+$GPRMC,121854.00,A,5159.34866,N,00422.76517,E,0.033,268.59,120308,,,A*6C
+$GPRMC,121855.00,A,5159.34864,N,00422.76509,E,0.023,265.87,120308,,,A*6F
+$GPRMC,121856.00,A,5159.34861,N,00422.76501,E,0.011,,120308,,,A*70
+$GPRMC,121857.00,A,5159.34858,N,00422.76491,E,0.019,,120308,,,A*7B
+$GPRMC,121858.00,A,5159.34855,N,00422.76483,E,0.000,,120308,,,A*72
+$GPRMC,121859.00,A,5159.34853,N,00422.76474,E,0.033,263.77,120308,,,A*64
+$GPRMC,121900.00,A,5159.34851,N,00422.76464,E,0.036,263.52,120308,,,A*68
+$GPRMC,121901.00,A,5159.34850,N,00422.76454,E,0.028,261.34,120308,,,A*66
+$GPRMC,121902.00,A,5159.34850,N,00422.76444,E,0.047,260.67,120308,,,A*6A
+$GPRMC,121903.00,A,5159.34849,N,00422.76434,E,0.038,260.17,120308,,,A*6B
+$GPRMC,121904.00,A,5159.34847,N,00422.76425,E,0.007,,120308,,,A*72
+$GPRMC,121905.00,A,5159.34842,N,00422.76412,E,0.104,259.36,120308,,,A*65
+$GPRMC,121906.00,A,5159.34838,N,00422.76400,E,0.165,259.33,120308,,,A*6A
+$GPRMC,121907.00,A,5159.34835,N,00422.76394,E,0.075,255.34,120308,,,A*67
+$GPRMC,121908.00,A,5159.34831,N,00422.76403,E,0.472,246.28,120308,,,A*69
+$GPRMC,121909.00,A,5159.34827,N,00422.76435,E,1.018,236.50,120308,,,A*6B
+$GPRMC,121910.00,A,5159.34830,N,00422.76502,E,1.971,83.49,120308,,,A*52
+$GPRMC,121911.00,A,5159.34851,N,00422.76610,E,2.860,66.69,120308,,,A*5F
+$GPRMC,121912.00,A,5159.34894,N,00422.76711,E,2.265,40.99,120308,,,A*51
+$GPRMC,121913.00,A,5159.34910,N,00422.76739,E,0.683,39.46,120308,,,A*55
+$GPRMC,121914.00,A,5159.34901,N,00422.76730,E,0.858,50.18,120308,,,A*57
+$GPRMC,121915.00,A,5159.34849,N,00422.76666,E,3.491,223.03,120308,,,A*6F
+$GPRMC,121916.00,A,5159.34750,N,00422.76506,E,6.030,228.42,120308,,,A*6A
+$GPRMC,121917.00,A,5159.34662,N,00422.76292,E,5.611,243.83,120308,,,A*67
+$GPRMC,121918.00,A,5159.34591,N,00422.76096,E,4.099,243.31,120308,,,A*6F
+$GPRMC,121919.00,A,5159.34528,N,00422.75957,E,3.205,226.01,120308,,,A*6B
+$GPRMC,121920.00,A,5159.34434,N,00422.75875,E,4.194,196.40,120308,,,A*6D
+$GPRMC,121921.00,A,5159.34276,N,00422.75885,E,6.628,167.16,120308,,,A*6C
+$GPRMC,121922.00,A,5159.34104,N,00422.75995,E,6.899,155.10,120308,,,A*6A
+$GPRMC,121923.00,A,5159.33882,N,00422.76135,E,9.590,159.94,120308,,,A*61
+$GPRMC,121924.00,A,5159.33632,N,00422.76275,E,8.931,161.10,120308,,,A*65
+$GPRMC,121925.00,A,5159.33428,N,00422.76410,E,6.958,152.06,120308,,,A*6E
+$GPRMC,121926.00,A,5159.33293,N,00422.76595,E,6.194,126.81,120308,,,A*63
+$GPRMC,121927.00,A,5159.33234,N,00422.76852,E,6.010,100.12,120308,,,A*6A
+$GPRMC,121928.00,A,5159.33314,N,00422.77168,E,7.612,62.23,120308,,,A*55
+$GPRMC,121929.00,A,5159.33460,N,00422.77421,E,7.933,34.88,120308,,,A*56
+$GPRMC,121930.00,A,5159.33679,N,00422.77516,E,9.244,359.31,120308,,,A*6E
+$GPRMC,121931.00,A,5159.34044,N,00422.77443,E,13.737,343.39,120308,,,A*58
+$GPRMC,121932.00,A,5159.34481,N,00422.77211,E,17.483,339.05,120308,,,A*5D
+$GPRMC,121933.00,A,5159.35003,N,00422.76900,E,20.720,337.67,120308,,,A*5D
+$GPRMC,121934.00,A,5159.35541,N,00422.76535,E,20.378,337.15,120308,,,A*5F
+$GPRMC,121935.00,A,5159.36043,N,00422.76189,E,18.376,337.33,120308,,,A*58
+$GPRMC,121936.00,A,5159.36470,N,00422.75888,E,15.479,337.95,120308,,,A*5D
+$GPRMC,121937.00,A,5159.36839,N,00422.75632,E,13.260,337.35,120308,,,A*50
+$GPRMC,121938.00,A,5159.37139,N,00422.75408,E,10.810,336.03,120308,,,A*56
+$GPRMC,121939.00,A,5159.37374,N,00422.75208,E,8.780,335.69,120308,,,A*6A
+$GPRMC,121940.00,A,5159.37572,N,00422.75051,E,7.116,334.52,120308,,,A*65
+$GPRMC,121941.00,A,5159.37737,N,00422.74920,E,6.088,336.01,120308,,,A*6A
+$GPRMC,121942.00,A,5159.37884,N,00422.74804,E,5.941,336.45,120308,,,A*66
+$GPRMC,121943.00,A,5159.38041,N,00422.74687,E,6.761,337.38,120308,,,A*68
+$GPRMC,121944.00,A,5159.38213,N,00422.74560,E,7.461,337.48,120308,,,A*65
+$GPRMC,121945.00,A,5159.38375,N,00422.74436,E,6.545,338.02,120308,,,A*60
+$GPRMC,121946.00,A,5159.38532,N,00422.74331,E,5.776,339.12,120308,,,A*67
+$GPRMC,121947.00,A,5159.38677,N,00422.74237,E,5.612,339.44,120308,,,A*63
+$GPRMC,121948.00,A,5159.38819,N,00422.74149,E,5.461,340.04,120308,,,A*6C
+$GPRMC,121949.00,A,5159.38955,N,00422.74063,E,5.368,339.48,120308,,,A*65
+$GPRMC,121950.00,A,5159.39088,N,00422.73975,E,5.370,339.15,120308,,,A*6D
+$GPRMC,121951.00,A,5159.39211,N,00422.73883,E,5.402,338.03,120308,,,A*62
+$GPRMC,121952.00,A,5159.39339,N,00422.73779,E,5.860,335.98,120308,,,A*67
+$GPRMC,121953.00,A,5159.39480,N,00422.73664,E,6.229,335.17,120308,,,A*6D
+$GPRMC,121954.00,A,5159.39632,N,00422.73539,E,6.153,333.09,120308,,,A*6D
+$GPRMC,121955.00,A,5159.39766,N,00422.73382,E,6.490,323.68,120308,,,A*66
+$GPRMC,121956.00,A,5159.39887,N,00422.73177,E,6.419,308.37,120308,,,A*6F
+$GPRMC,121957.00,A,5159.39955,N,00422.72959,E,4.842,291.31,120308,,,A*62
+$GPRMC,121958.00,A,5159.39987,N,00422.72799,E,2.720,282.00,120308,,,A*6D
+$GPRMC,121959.00,A,5159.39995,N,00422.72676,E,2.791,274.57,120308,,,A*6E
+$GPRMC,122000.00,A,5159.39998,N,00422.72529,E,3.625,271.17,120308,,,A*62
+$GPRMC,122001.00,A,5159.39989,N,00422.72365,E,4.007,259.55,120308,,,A*60
+$GPRMC,122002.00,A,5159.39955,N,00422.72172,E,4.922,255.28,120308,,,A*6E
+$GPRMC,122003.00,A,5159.39911,N,00422.71955,E,4.965,250.51,120308,,,A*69
+$GPRMC,122004.00,A,5159.39865,N,00422.71750,E,4.920,246.34,120308,,,A*62
+$GPRMC,122005.00,A,5159.39819,N,00422.71559,E,4.437,246.49,120308,,,A*62
+$GPRMC,122006.00,A,5159.39773,N,00422.71394,E,3.864,240.74,120308,,,A*60
+$GPRMC,122007.00,A,5159.39720,N,00422.71251,E,4.240,232.56,120308,,,A*61
+$GPRMC,122008.00,A,5159.39639,N,00422.71067,E,6.432,235.27,120308,,,A*60
+$GPRMC,122009.00,A,5159.39520,N,00422.70747,E,9.828,242.74,120308,,,A*60
+$GPRMC,122010.00,A,5159.39391,N,00422.70324,E,10.924,246.16,120308,,,A*50
+$GPRMC,122011.00,A,5159.39282,N,00422.69872,E,10.718,252.19,120308,,,A*59
+$GPRMC,122012.00,A,5159.39288,N,00422.69431,E,9.829,275.54,120308,,,A*62
+$GPRMC,122013.00,A,5159.39374,N,00422.69015,E,9.137,299.23,120308,,,A*67
+$GPRMC,122014.00,A,5159.39553,N,00422.68723,E,8.487,321.97,120308,,,A*62
+$GPRMC,122015.00,A,5159.39785,N,00422.68528,E,9.905,335.49,120308,,,A*63
+$GPRMC,122016.00,A,5159.40065,N,00422.68351,E,11.688,340.90,120308,,,A*5A
+$GPRMC,122017.00,A,5159.40364,N,00422.68180,E,11.047,339.88,120308,,,A*55
+$GPRMC,122018.00,A,5159.40616,N,00422.68025,E,8.617,339.90,120308,,,A*66
+$GPRMC,122019.00,A,5159.40831,N,00422.67907,E,7.867,345.34,120308,,,A*69
+$GPRMC,122020.00,A,5159.41048,N,00422.67877,E,8.275,6.86,120308,,,A*69
+$GPRMC,122021.00,A,5159.41231,N,00422.68012,E,7.731,38.59,120308,,,A*55
+$GPRMC,122022.00,A,5159.41397,N,00422.68361,E,11.184,62.23,120308,,,A*61
+$GPRMC,122023.00,A,5159.41546,N,00422.68901,E,14.391,69.40,120308,,,A*6B
+$GPRMC,122024.00,A,5159.41709,N,00422.69560,E,16.063,69.71,120308,,,A*61
+$GPRMC,122025.00,A,5159.41857,N,00422.70209,E,14.214,69.76,120308,,,A*63
+$GPRMC,122026.00,A,5159.41974,N,00422.70728,E,9.850,70.55,120308,,,A*59
+$GPRMC,122027.00,A,5159.42070,N,00422.71064,E,5.642,65.20,120308,,,A*5F
+$GPRMC,122028.00,A,5159.42109,N,00422.71215,E,1.984,63.23,120308,,,A*5F
+$GPRMC,122029.00,A,5159.42089,N,00422.71254,E,0.668,63.70,120308,,,A*58
+$GPRMC,122030.00,A,5159.42070,N,00422.71261,E,0.012,,120308,,,A*77
+$GPRMC,122031.00,A,5159.42051,N,00422.71262,E,0.037,63.11,120308,,,A*5A
+$GPRMC,122032.00,A,5159.42028,N,00422.71262,E,0.042,62.65,120308,,,A*57
+$GPRMC,122033.00,A,5159.42009,N,00422.71264,E,0.025,63.21,120308,,,A*53
+$GPRMC,122034.00,A,5159.42012,N,00422.71276,E,0.079,61.37,120308,,,A*51
+$GPRMC,122035.00,A,5159.41993,N,00422.71280,E,0.257,70.16,120308,,,A*57
+$GPRMC,122036.00,A,5159.41981,N,00422.71289,E,0.141,68.42,120308,,,A*52
+$GPRMC,122037.00,A,5159.41975,N,00422.71306,E,0.030,68.27,120308,,,A*5A
+$GPRMC,122038.00,A,5159.41973,N,00422.71320,E,0.032,66.98,120308,,,A*5F
+$GPRMC,122039.00,A,5159.41971,N,00422.71332,E,0.009,,120308,,,A*78
+$GPRMC,122040.00,A,5159.41970,N,00422.71345,E,0.012,,120308,,,A*7D
+$GPRMC,122041.00,A,5159.41970,N,00422.71357,E,0.044,67.43,120308,,,A*54
+$GPRMC,122042.00,A,5159.41971,N,00422.71368,E,0.043,64.81,120308,,,A*50
+$GPRMC,122043.00,A,5159.41971,N,00422.71382,E,0.034,62.42,120308,,,A*5C
+$GPRMC,122044.00,A,5159.41964,N,00422.71393,E,0.066,60.97,120308,,,A*52
+$GPRMC,122045.00,A,5159.41964,N,00422.71403,E,0.049,59.12,120308,,,A*57
+$GPRMC,122046.00,A,5159.41965,N,00422.71413,E,0.050,58.25,120308,,,A*59
+$GPRMC,122047.00,A,5159.41963,N,00422.71422,E,0.068,56.49,120308,,,A*53
+$GPRMC,122048.00,A,5159.41961,N,00422.71428,E,0.106,55.09,120308,,,A*5A
+$GPRMC,122049.00,A,5159.41958,N,00422.71448,E,0.151,53.89,120308,,,A*5B
+$GPRMC,122050.00,A,5159.41958,N,00422.71452,E,0.199,50.85,120308,,,A*53
+$GPRMC,122051.00,A,5159.41958,N,00422.71455,E,0.177,49.67,120308,,,A*51
+$GPRMC,122052.00,A,5159.41961,N,00422.71456,E,0.187,48.61,120308,,,A*53
+$GPRMC,122053.00,A,5159.41961,N,00422.71457,E,0.177,47.69,120308,,,A*5B
+$GPRMC,122054.00,A,5159.41913,N,00422.71439,E,0.109,46.98,120308,,,A*57
+$GPRMC,122055.00,A,5159.41909,N,00422.71440,E,0.075,46.58,120308,,,A*55
+$GPRMC,122056.00,A,5159.41930,N,00422.71439,E,0.046,46.86,120308,,,A*51
+$GPRMC,122057.00,A,5159.41945,N,00422.71436,E,0.016,,120308,,,A*7A
+$GPRMC,122058.00,A,5159.41968,N,00422.71436,E,0.070,48.93,120308,,,A*52
+$GPRMC,122059.00,A,5159.42012,N,00422.71446,E,0.017,,120308,,,A*7A
+$GPRMC,122100.00,A,5159.42046,N,00422.71451,E,0.043,51.39,120308,,,A*51
+$GPRMC,122101.00,A,5159.42068,N,00422.71454,E,0.022,49.48,120308,,,A*51
+$GPRMC,122102.00,A,5159.42072,N,00422.71452,E,0.048,49.47,120308,,,A*5C
+$GPRMC,122103.00,A,5159.42082,N,00422.71457,E,0.114,48.20,120308,,,A*5F
+$GPRMC,122104.00,A,5159.42085,N,00422.71456,E,0.036,48.71,120308,,,A*5B
+$GPRMC,122105.00,A,5159.42083,N,00422.71454,E,0.013,,120308,,,A*7D
+$GPRMC,122106.00,A,5159.42083,N,00422.71454,E,0.033,50.46,120308,,,A*55
+$GPRMC,122107.00,A,5159.42084,N,00422.71454,E,0.068,52.99,120308,,,A*5D
+$GPRMC,122108.00,A,5159.42088,N,00422.71462,E,0.207,54.57,120308,,,A*54
+$GPRMC,122109.00,A,5159.42093,N,00422.71510,E,1.711,55.37,120308,,,A*5F
+$GPRMC,122110.00,A,5159.42114,N,00422.71641,E,4.196,70.57,120308,,,A*53
+$GPRMC,122111.00,A,5159.42181,N,00422.71877,E,6.120,66.40,120308,,,A*5B
+$GPRMC,122112.00,A,5159.42259,N,00422.72159,E,7.028,65.22,120308,,,A*57
+$GPRMC,122113.00,A,5159.42337,N,00422.72461,E,7.454,65.20,120308,,,A*5C
+$GPRMC,122114.00,A,5159.42394,N,00422.72779,E,7.791,72.32,120308,,,A*57
+$GPRMC,122115.00,A,5159.42522,N,00422.73189,E,10.431,66.49,120308,,,A*63
+$GPRMC,122116.00,A,5159.42629,N,00422.73626,E,10.084,70.26,120308,,,A*6E
+$GPRMC,122117.00,A,5159.42744,N,00422.74060,E,10.126,66.10,120308,,,A*6D
+$GPRMC,122118.00,A,5159.42841,N,00422.74458,E,8.859,67.91,120308,,,A*57
+$GPRMC,122119.00,A,5159.42934,N,00422.74817,E,8.222,65.78,120308,,,A*51
+$GPRMC,122120.00,A,5159.43007,N,00422.75138,E,7.014,70.31,120308,,,A*57
+$GPRMC,122121.00,A,5159.43048,N,00422.75410,E,5.750,76.17,120308,,,A*55
+$GPRMC,122122.00,A,5159.43077,N,00422.75659,E,5.224,78.01,120308,,,A*5A
+$GPRMC,122123.00,A,5159.43139,N,00422.75888,E,4.263,71.83,120308,,,A*53
+$GPRMC,122124.00,A,5159.43155,N,00422.76023,E,1.690,73.26,120308,,,A*54
+$GPRMC,122125.00,A,5159.43201,N,00422.76090,E,0.536,72.96,120308,,,A*5B
+$GPRMC,122126.00,A,5159.43221,N,00422.76098,E,0.037,75.08,120308,,,A*56
+$GPRMC,122127.00,A,5159.43233,N,00422.76091,E,0.015,,120308,,,A*79
+$GPRMC,122128.00,A,5159.43239,N,00422.76081,E,0.026,70.60,120308,,,A*52
+$GPRMC,122129.00,A,5159.43246,N,00422.76070,E,0.005,,120308,,,A*7B
+$GPRMC,122130.00,A,5159.43251,N,00422.76066,E,0.017,,120308,,,A*71
+$GPRMC,122131.00,A,5159.43262,N,00422.76062,E,0.002,,120308,,,A*70
+$GPRMC,122132.00,A,5159.43267,N,00422.76062,E,0.096,72.52,120308,,,A*57
+$GPRMC,122133.00,A,5159.43270,N,00422.76046,E,0.038,74.58,120308,,,A*5E
+$GPRMC,122134.00,A,5159.43268,N,00422.76032,E,0.012,,120308,,,A*7B
+$GPRMC,122135.00,A,5159.43265,N,00422.76015,E,0.071,69.96,120308,,,A*59
+$GPRMC,122136.00,A,5159.43264,N,00422.75999,E,0.013,,120308,,,A*7F
+$GPRMC,122137.00,A,5159.43261,N,00422.75990,E,0.009,,120308,,,A*79
+$GPRMC,122138.00,A,5159.43259,N,00422.75979,E,0.010,,120308,,,A*72
+$GPRMC,122139.00,A,5159.43256,N,00422.75977,E,0.032,71.22,120308,,,A*5A
+$GPRMC,122140.00,A,5159.43252,N,00422.75971,E,0.024,67.19,120308,,,A*5E
+$GPRMC,122141.00,A,5159.43249,N,00422.75964,E,0.018,,120308,,,A*79
+$GPRMC,122142.00,A,5159.43249,N,00422.75957,E,0.015,,120308,,,A*77
+$GPRMC,122143.00,A,5159.43247,N,00422.75947,E,0.026,64.22,120308,,,A*55
+$GPRMC,122144.00,A,5159.43248,N,00422.75944,E,0.024,68.09,120308,,,A*59
+$GPRMC,122145.00,A,5159.43248,N,00422.75942,E,0.008,,120308,,,A*79
+$GPRMC,122146.00,A,5159.43249,N,00422.75940,E,0.008,,120308,,,A*79
+$GPRMC,122147.00,A,5159.43247,N,00422.75939,E,0.013,,120308,,,A*72
+$GPRMC,122148.00,A,5159.43244,N,00422.75938,E,0.021,68.91,120308,,,A*56
+$GPRMC,122149.00,A,5159.43240,N,00422.75936,E,0.009,,120308,,,A*7F
+$GPRMC,122150.00,A,5159.43236,N,00422.75935,E,0.021,66.43,120308,,,A*56
+$GPRMC,122151.00,A,5159.43230,N,00422.75930,E,0.023,70.57,120308,,,A*54
+$GPRMC,122152.00,A,5159.43222,N,00422.75927,E,0.039,68.10,120308,,,A*53
+$GPRMC,122153.00,A,5159.43216,N,00422.75932,E,0.038,65.61,120308,,,A*5B
+$GPRMC,122154.00,A,5159.43211,N,00422.75939,E,0.014,,120308,,,A*74
+$GPRMC,122155.00,A,5159.43209,N,00422.75947,E,0.009,,120308,,,A*79
+$GPRMC,122156.00,A,5159.43209,N,00422.75953,E,0.013,,120308,,,A*74
+$GPRMC,122157.00,A,5159.43212,N,00422.75959,E,0.021,62.38,120308,,,A*55
+$GPRMC,122158.00,A,5159.43214,N,00422.75959,E,0.011,,120308,,,A*7E
+$GPRMC,122159.00,A,5159.43217,N,00422.75955,E,0.026,61.68,120308,,,A*53
+$GPRMC,122200.00,A,5159.43219,N,00422.75957,E,0.020,66.49,120308,,,A*52
+$GPRMC,122201.00,A,5159.43219,N,00422.75964,E,0.002,,120308,,,A*70
+$GPRMC,122202.00,A,5159.43218,N,00422.75973,E,0.031,67.69,120308,,,A*54
+$GPRMC,122203.00,A,5159.43217,N,00422.75984,E,0.043,65.36,120308,,,A*5F
+$GPRMC,122204.00,A,5159.43213,N,00422.75994,E,0.032,69.12,120308,,,A*51
+$GPRMC,122205.00,A,5159.43210,N,00422.76004,E,0.021,68.45,120308,,,A*51
+$GPRMC,122206.00,A,5159.43207,N,00422.76017,E,0.002,,120308,,,A*76
+$GPRMC,122207.00,A,5159.43207,N,00422.76027,E,0.018,,120308,,,A*7F
+$GPRMC,122208.00,A,5159.43208,N,00422.76037,E,0.013,,120308,,,A*75
+$GPRMC,122209.00,A,5159.43208,N,00422.76047,E,0.020,70.18,120308,,,A*53
+$GPRMC,122210.00,A,5159.43210,N,00422.76055,E,0.018,,120308,,,A*7A
+$GPRMC,122211.00,A,5159.43212,N,00422.76065,E,0.028,73.52,120308,,,A*54
+$GPRMC,122212.00,A,5159.43214,N,00422.76076,E,0.033,71.87,120308,,,A*53
+$GPRMC,122213.00,A,5159.43218,N,00422.76087,E,0.036,74.37,120308,,,A*5B
+$GPRMC,122214.00,A,5159.43223,N,00422.76097,E,0.019,70.06,120308,,,A*5E
+$GPRMC,122215.00,A,5159.43229,N,00422.76103,E,0.018,,120308,,,A*77
+$GPRMC,122216.00,A,5159.43234,N,00422.76108,E,0.038,68.81,120308,,,A*58
+$GPRMC,122217.00,A,5159.43238,N,00422.76114,E,0.015,,120308,,,A*7E
+$GPRMC,122218.00,A,5159.43243,N,00422.76118,E,0.056,68.54,120308,,,A*57
+$GPRMC,122219.00,A,5159.43247,N,00422.76120,E,0.012,,120308,,,A*78
+$GPRMC,122220.00,A,5159.43252,N,00422.76121,E,0.018,,120308,,,A*7D
+$GPRMC,122221.00,A,5159.43256,N,00422.76119,E,0.006,,120308,,,A*7C
+$GPRMC,122222.00,A,5159.43260,N,00422.76117,E,0.003,,120308,,,A*71
+$GPRMC,122223.00,A,5159.43265,N,00422.76119,E,0.017,,120308,,,A*7E
+$GPRMC,122224.00,A,5159.43271,N,00422.76121,E,0.022,70.05,120308,,,A*5D
+$GPRMC,122225.00,A,5159.43276,N,00422.76127,E,0.041,66.94,120308,,,A*57
+$GPRMC,122226.00,A,5159.43277,N,00422.76130,E,0.022,68.06,120308,,,A*53
+$GPRMC,122227.00,A,5159.43280,N,00422.76139,E,0.015,,120308,,,A*71
+$GPRMC,122228.00,A,5159.43283,N,00422.76147,E,0.028,67.26,120308,,,A*51
+$GPRMC,122229.00,A,5159.43284,N,00422.76154,E,0.006,,120308,,,A*72
+$GPRMC,122230.00,A,5159.43281,N,00422.76163,E,0.034,67.42,120308,,,A*53
+$GPRMC,122231.00,A,5159.43280,N,00422.76174,E,0.015,,120308,,,A*7F
+$GPRMC,122232.00,A,5159.43277,N,00422.76186,E,0.007,,120308,,,A*7A
+$GPRMC,122233.00,A,5159.43274,N,00422.76192,E,0.005,,120308,,,A*7F
+$GPRMC,122234.00,A,5159.43272,N,00422.76195,E,0.024,66.35,120308,,,A*52
+$GPRMC,122235.00,A,5159.43272,N,00422.76198,E,0.011,,120308,,,A*70
+$GPRMC,122236.00,A,5159.43272,N,00422.76198,E,0.256,66.48,120308,,,A*50
+$GPRMC,122237.00,A,5159.43281,N,00422.76235,E,1.592,66.55,120308,,,A*5B
+$GPRMC,122238.00,A,5159.43299,N,00422.76342,E,3.422,76.30,120308,,,A*56
+$GPRMC,122239.00,A,5159.43364,N,00422.76565,E,6.653,65.82,120308,,,A*5D
+$GPRMC,122240.00,A,5159.43451,N,00422.76880,E,8.297,66.50,120308,,,A*5A
+$GPRMC,122241.00,A,5159.43588,N,00422.77269,E,9.735,62.69,120308,,,A*50
+$GPRMC,122242.00,A,5159.43712,N,00422.77653,E,9.421,59.70,120308,,,A*59
+$GPRMC,122243.00,A,5159.43847,N,00422.78027,E,9.667,58.07,120308,,,A*5C
+$GPRMC,122244.00,A,5159.43991,N,00422.78413,E,10.522,57.75,120308,,,A*62
+$GPRMC,122245.00,A,5159.44146,N,00422.78825,E,10.991,57.84,120308,,,A*65
+$GPRMC,122246.00,A,5159.44307,N,00422.79267,E,11.913,59.26,120308,,,A*61
+$GPRMC,122247.00,A,5159.44474,N,00422.79748,E,12.773,59.72,120308,,,A*61
+$GPRMC,122248.00,A,5159.44650,N,00422.80260,E,12.677,62.84,120308,,,A*67
+$GPRMC,122249.00,A,5159.44803,N,00422.80779,E,12.466,65.90,120308,,,A*63
+$GPRMC,122250.00,A,5159.44951,N,00422.81280,E,12.163,65.82,120308,,,A*6C
+$GPRMC,122251.00,A,5159.45057,N,00422.81758,E,11.416,67.86,120308,,,A*61
+$GPRMC,122252.00,A,5159.45174,N,00422.82220,E,11.147,63.69,120308,,,A*6F
+$GPRMC,122253.00,A,5159.45328,N,00422.82612,E,10.544,54.56,120308,,,A*6E
+$GPRMC,122254.00,A,5159.45535,N,00422.82919,E,10.327,36.32,120308,,,A*62
+$GPRMC,122255.00,A,5159.45801,N,00422.83096,E,10.302,15.42,120308,,,A*67
+$GPRMC,122256.00,A,5159.46088,N,00422.83110,E,10.028,353.10,120308,,,A*5C
+$GPRMC,122257.00,A,5159.46397,N,00422.82984,E,11.392,342.31,120308,,,A*54
+$GPRMC,122258.00,A,5159.46772,N,00422.82802,E,13.245,339.18,120308,,,A*55
+$GPRMC,122259.00,A,5159.47158,N,00422.82563,E,14.980,339.85,120308,,,A*50
+$GPRMC,122300.00,A,5159.47572,N,00422.82309,E,15.719,340.07,120308,,,A*50
+$GPRMC,122301.00,A,5159.47983,N,00422.82029,E,16.222,340.12,120308,,,A*58
+$GPRMC,122302.00,A,5159.48416,N,00422.81747,E,16.829,338.94,120308,,,A*59
+$GPRMC,122303.00,A,5159.48864,N,00422.81444,E,17.776,337.76,120308,,,A*56
+$GPRMC,122304.00,A,5159.49344,N,00422.81126,E,18.309,337.19,120308,,,A*52
+$GPRMC,122305.00,A,5159.49808,N,00422.80789,E,17.519,335.28,120308,,,A*5A
+$GPRMC,122306.00,A,5159.50275,N,00422.80473,E,16.831,335.33,120308,,,A*5B
+$GPRMC,122307.00,A,5159.50696,N,00422.80167,E,15.414,335.93,120308,,,A*51
+$GPRMC,122308.00,A,5159.51104,N,00422.79949,E,14.284,345.26,120308,,,A*56
+$GPRMC,122309.00,A,5159.51513,N,00422.79917,E,14.415,6.70,120308,,,A*57
+$GPRMC,122310.00,A,5159.51846,N,00422.80117,E,13.393,30.79,120308,,,A*6E
+$GPRMC,122311.00,A,5159.52128,N,00422.80530,E,14.387,52.57,120308,,,A*66
+$GPRMC,122312.00,A,5159.52353,N,00422.81103,E,15.235,61.88,120308,,,A*65
+$GPRMC,122313.00,A,5159.52496,N,00422.81709,E,15.235,65.81,120308,,,A*6B
+$GPRMC,122314.00,A,5159.52682,N,00422.82371,E,16.226,66.67,120308,,,A*69
+$GPRMC,122315.00,A,5159.52873,N,00422.83093,E,17.999,67.13,120308,,,A*6A
+$GPRMC,122316.00,A,5159.53065,N,00422.83864,E,18.858,67.07,120308,,,A*61
+$GPRMC,122317.00,A,5159.53283,N,00422.84674,E,19.605,66.64,120308,,,A*61
+$GPRMC,122318.00,A,5159.53506,N,00422.85507,E,20.152,66.71,120308,,,A*69
+$GPRMC,122319.00,A,5159.53685,N,00422.86338,E,20.350,67.62,120308,,,A*6A
+$GPRMC,122320.00,A,5159.53938,N,00422.87227,E,21.266,66.59,120308,,,A*6B
+$GPRMC,122321.00,A,5159.54166,N,00422.88116,E,21.561,66.72,120308,,,A*69
+$GPRMC,122322.00,A,5159.54397,N,00422.89017,E,21.992,66.62,120308,,,A*66
+$GPRMC,122323.00,A,5159.54623,N,00422.89920,E,22.040,65.94,120308,,,A*6F
+$GPRMC,122324.00,A,5159.54854,N,00422.90814,E,21.473,65.99,120308,,,A*62
+$GPRMC,122325.00,A,5159.55088,N,00422.91701,E,21.218,66.80,120308,,,A*61
+$GPRMC,122326.00,A,5159.55346,N,00422.92613,E,22.116,65.78,120308,,,A*68
+$GPRMC,122327.00,A,5159.55589,N,00422.93531,E,22.564,66.07,120308,,,A*64
+$GPRMC,122328.00,A,5159.55847,N,00422.94478,E,23.040,66.18,120308,,,A*63
+$GPRMC,122329.00,A,5159.56102,N,00422.95436,E,23.187,66.28,120308,,,A*6B
+$GPRMC,122330.00,A,5159.56349,N,00422.96392,E,22.678,66.64,120308,,,A*6A
+$GPRMC,122331.00,A,5159.56563,N,00422.97305,E,21.722,67.12,120308,,,A*67
+$GPRMC,122332.00,A,5159.56804,N,00422.98203,E,21.261,65.58,120308,,,A*6E
+$GPRMC,122333.00,A,5159.57019,N,00422.99032,E,19.838,65.07,120308,,,A*6C
+$GPRMC,122334.00,A,5159.57262,N,00422.99761,E,18.673,55.63,120308,,,A*65
+$GPRMC,122335.00,A,5159.57614,N,00423.00342,E,18.304,36.32,120308,,,A*61
+$GPRMC,122336.00,A,5159.58061,N,00423.00676,E,17.850,14.40,120308,,,A*6B
+$GPRMC,122337.00,A,5159.58586,N,00423.00691,E,20.084,353.78,120308,,,A*51
+$GPRMC,122338.00,A,5159.59138,N,00423.00443,E,20.743,340.76,120308,,,A*53
+$GPRMC,122339.00,A,5159.59682,N,00423.00071,E,21.380,338.13,120308,,,A*57
+$GPRMC,122340.00,A,5159.60251,N,00422.99670,E,22.830,338.49,120308,,,A*53
+$GPRMC,122341.00,A,5159.60853,N,00422.99261,E,24.016,339.03,120308,,,A*5B
+$GPRMC,122342.00,A,5159.61484,N,00422.98849,E,24.892,339.56,120308,,,A*5A
+$GPRMC,122343.00,A,5159.62148,N,00422.98421,E,26.471,339.30,120308,,,A*5C
+$GPRMC,122344.00,A,5159.62847,N,00422.97966,E,27.830,338.94,120308,,,A*5B
+$GPRMC,122345.00,A,5159.63550,N,00422.97494,E,27.184,338.10,120308,,,A*5A
+$GPRMC,122346.00,A,5159.64220,N,00422.97036,E,25.174,337.95,120308,,,A*5D
+$GPRMC,122347.00,A,5159.64801,N,00422.96615,E,21.406,336.70,120308,,,A*5D
+$GPRMC,122348.00,A,5159.65286,N,00422.96243,E,17.600,335.09,120308,,,A*5D
+$GPRMC,122349.00,A,5159.65691,N,00422.95928,E,14.972,336.11,120308,,,A*58
+$GPRMC,122350.00,A,5159.66069,N,00422.95732,E,14.137,350.44,120308,,,A*5E
+$GPRMC,122351.00,A,5159.66466,N,00422.95783,E,16.001,17.76,120308,,,A*69
+$GPRMC,122352.00,A,5159.66859,N,00422.96178,E,17.683,44.92,120308,,,A*6A
+$GPRMC,122353.00,A,5159.67155,N,00422.96889,E,20.670,65.10,120308,,,A*69
+$GPRMC,122354.00,A,5159.67424,N,00422.97828,E,22.229,70.23,120308,,,A*69
+$GPRMC,122355.00,A,5159.67630,N,00422.98772,E,21.951,70.57,120308,,,A*64
+$GPRMC,122356.00,A,5159.67814,N,00422.99711,E,22.091,72.39,120308,,,A*67
+$GPRMC,122357.00,A,5159.68018,N,00423.00697,E,23.580,70.90,120308,,,A*66
+$GPRMC,122358.00,A,5159.68273,N,00423.01714,E,23.526,67.63,120308,,,A*6B
+$GPRMC,122359.00,A,5159.68579,N,00423.02810,E,25.447,67.64,120308,,,A*68
+$GPRMC,122400.00,A,5159.68919,N,00423.03939,E,26.235,64.70,120308,,,A*64
+$GPRMC,122401.00,A,5159.69116,N,00423.05069,E,25.051,69.51,120308,,,A*64
+$GPRMC,122402.00,A,5159.69347,N,00423.06148,E,24.122,70.03,120308,,,A*6B
+$GPRMC,122403.00,A,5159.69538,N,00423.07149,E,22.575,71.28,120308,,,A*6C
+$GPRMC,122404.00,A,5159.69737,N,00423.08089,E,20.663,68.97,120308,,,A*6E
+$GPRMC,122405.00,A,5159.69930,N,00423.08988,E,19.094,71.17,120308,,,A*6A
+$GPRMC,122406.00,A,5159.70126,N,00423.09820,E,18.414,70.26,120308,,,A*62
+$GPRMC,122407.00,A,5159.70304,N,00423.10599,E,17.154,69.56,120308,,,A*67
+$GPRMC,122408.00,A,5159.70488,N,00423.11323,E,15.829,68.21,120308,,,A*6D
+$GPRMC,122409.00,A,5159.70648,N,00423.11964,E,13.666,68.07,120308,,,A*6C
+$GPRMC,122410.00,A,5159.70773,N,00423.12473,E,10.210,67.21,120308,,,A*68
+$GPRMC,122411.00,A,5159.70863,N,00423.12807,E,5.894,62.66,120308,,,A*5C
+$GPRMC,122412.00,A,5159.70908,N,00423.12955,E,2.609,58.09,120308,,,A*58
+$GPRMC,122413.00,A,5159.70934,N,00423.13009,E,1.096,56.86,120308,,,A*5D
+$GPRMC,122414.00,A,5159.70926,N,00423.13000,E,0.579,54.66,120308,,,A*59
+$GPRMC,122415.00,A,5159.70923,N,00423.12987,E,0.470,52.80,120308,,,A*5C
+$GPRMC,122416.00,A,5159.70901,N,00423.12967,E,0.344,50.68,120308,,,A*55
+$GPRMC,122417.00,A,5159.70904,N,00423.12966,E,0.238,49.26,120308,,,A*58
+$GPRMC,122418.00,A,5159.70910,N,00423.12963,E,0.171,48.88,120308,,,A*5C
+$GPRMC,122419.00,A,5159.70913,N,00423.12960,E,0.224,47.70,120308,,,A*56
+$GPRMC,122420.00,A,5159.70922,N,00423.12965,E,0.332,47.16,120308,,,A*5D
+$GPRMC,122421.00,A,5159.70952,N,00423.13024,E,2.695,52.85,120308,,,A*52
+$GPRMC,122422.00,A,5159.71001,N,00423.13189,E,5.524,64.88,120308,,,A*5F
+$GPRMC,122423.00,A,5159.71087,N,00423.13514,E,9.318,69.58,120308,,,A*55
+$GPRMC,122424.00,A,5159.71200,N,00423.13984,E,12.144,70.23,120308,,,A*6F
+$GPRMC,122425.00,A,5159.71324,N,00423.14510,E,12.775,70.89,120308,,,A*6B
+$GPRMC,122426.00,A,5159.71455,N,00423.15132,E,15.895,71.86,120308,,,A*64
+$GPRMC,122427.00,A,5159.71600,N,00423.15902,E,19.408,73.11,120308,,,A*64
+$GPRMC,122428.00,A,5159.71748,N,00423.16797,E,21.282,74.51,120308,,,A*6B
+$GPRMC,122429.00,A,5159.71899,N,00423.17749,E,22.200,75.70,120308,,,A*60
+$GPRMC,122430.00,A,5159.72046,N,00423.18769,E,23.921,76.83,120308,,,A*6A
+$GPRMC,122431.00,A,5159.72186,N,00423.19855,E,24.803,78.26,120308,,,A*60
+$GPRMC,122432.00,A,5159.72307,N,00423.20971,E,25.011,80.37,120308,,,A*68
+$GPRMC,122433.00,A,5159.72406,N,00423.22084,E,24.514,81.71,120308,,,A*6C
+$GPRMC,122434.00,A,5159.72521,N,00423.23160,E,23.535,77.56,120308,,,A*6D
+$GPRMC,122435.00,A,5159.72606,N,00423.24162,E,21.176,83.08,120308,,,A*6E
+$GPRMC,122436.00,A,5159.72656,N,00423.25002,E,16.560,85.37,120308,,,A*63
+$GPRMC,122437.00,A,5159.72693,N,00423.25659,E,12.717,84.52,120308,,,A*67
+$GPRMC,122438.00,A,5159.72721,N,00423.26157,E,9.710,83.75,120308,,,A*55
+$GPRMC,122439.00,A,5159.72728,N,00423.26521,E,7.238,86.27,120308,,,A*5B
+$GPRMC,122440.00,A,5159.72735,N,00423.26794,E,5.182,85.60,120308,,,A*55
+$GPRMC,122441.00,A,5159.72739,N,00423.26976,E,3.190,81.70,120308,,,A*5A
+$GPRMC,122442.00,A,5159.72738,N,00423.27067,E,1.494,81.55,120308,,,A*54
+$GPRMC,122443.00,A,5159.72717,N,00423.27076,E,0.274,79.21,120308,,,A*55
+$GPRMC,122444.00,A,5159.72699,N,00423.27054,E,0.141,77.24,120308,,,A*5B
+$GPRMC,122445.00,A,5159.72685,N,00423.27033,E,0.085,75.02,120308,,,A*59
+$GPRMC,122446.00,A,5159.72675,N,00423.27016,E,0.062,72.97,120308,,,A*50
+$GPRMC,122447.00,A,5159.72653,N,00423.26992,E,0.164,77.04,120308,,,A*59
+$GPRMC,122448.00,A,5159.72648,N,00423.26980,E,0.034,80.88,120308,,,A*57
+$GPRMC,122449.00,A,5159.72656,N,00423.26966,E,0.027,83.48,120308,,,A*5C
+$GPRMC,122450.00,A,5159.72661,N,00423.26950,E,0.028,80.05,120308,,,A*50
+$GPRMC,122451.00,A,5159.72666,N,00423.26939,E,0.048,78.14,120308,,,A*58
+$GPRMC,122452.00,A,5159.72680,N,00423.26930,E,0.061,76.04,120308,,,A*5E
+$GPRMC,122453.00,A,5159.72679,N,00423.26934,E,0.309,76.84,120308,,,A*58
+$GPRMC,122454.00,A,5159.72695,N,00423.27005,E,2.402,89.61,120308,,,A*52
+$GPRMC,122455.00,A,5159.72695,N,00423.27214,E,6.739,89.95,120308,,,A*55
+$GPRMC,122456.00,A,5159.72693,N,00423.27584,E,9.633,92.12,120308,,,A*5F
+$GPRMC,122457.00,A,5159.72673,N,00423.28012,E,9.451,96.78,120308,,,A*5B
+$GPRMC,122458.00,A,5159.72622,N,00423.28440,E,10.011,99.79,120308,,,A*65
+$GPRMC,122459.00,A,5159.72561,N,00423.28922,E,11.526,104.25,120308,,,A*55
+$GPRMC,122500.00,A,5159.72409,N,00423.29461,E,13.749,106.56,120308,,,A*53
+$GPRMC,122501.00,A,5159.72215,N,00423.30077,E,16.130,115.40,120308,,,A*5A
+$GPRMC,122502.00,A,5159.71955,N,00423.30696,E,16.559,127.55,120308,,,A*52
+$GPRMC,122503.00,A,5159.71632,N,00423.31260,E,18.131,139.86,120308,,,A*54
+$GPRMC,122504.00,A,5159.71177,N,00423.31732,E,19.881,149.78,120308,,,A*52
+$GPRMC,122505.00,A,5159.70639,N,00423.32145,E,22.042,155.78,120308,,,A*58
+$GPRMC,122506.00,A,5159.70027,N,00423.32551,E,24.340,157.38,120308,,,A*52
+$GPRMC,122507.00,A,5159.69347,N,00423.32985,E,26.778,157.56,120308,,,A*5E
+$GPRMC,122508.00,A,5159.68606,N,00423.33461,E,29.226,157.69,120308,,,A*5B
+$GPRMC,122509.00,A,5159.67803,N,00423.33984,E,31.687,157.66,120308,,,A*51
+$GPRMC,122510.00,A,5159.66934,N,00423.34545,E,34.296,158.10,120308,,,A*54
+$GPRMC,122511.00,A,5159.66010,N,00423.35143,E,36.070,157.74,120308,,,A*5C
+$GPRMC,122512.00,A,5159.65048,N,00423.35773,E,37.468,157.83,120308,,,A*50
+$GPRMC,122513.00,A,5159.64043,N,00423.36430,E,39.337,158.01,120308,,,A*5A
+$GPRMC,122514.00,A,5159.63002,N,00423.37100,E,40.236,158.35,120308,,,A*51
+$GPRMC,122515.00,A,5159.61936,N,00423.37772,E,41.105,158.81,120308,,,A*52
+$GPRMC,122516.00,A,5159.60843,N,00423.38447,E,42.050,159.15,120308,,,A*57
+$GPRMC,122517.00,A,5159.59725,N,00423.39130,E,43.011,159.26,120308,,,A*53
+$GPRMC,122518.00,A,5159.58578,N,00423.39826,E,44.231,159.43,120308,,,A*5D
+$GPRMC,122519.00,A,5159.57399,N,00423.40545,E,45.435,159.12,120308,,,A*5B
+$GPRMC,122520.00,A,5159.56185,N,00423.41283,E,47.002,159.52,120308,,,A*55
+$GPRMC,122521.00,A,5159.54921,N,00423.42038,E,48.986,159.86,120308,,,A*52
+$GPRMC,122522.00,A,5159.53619,N,00423.42801,E,49.664,160.22,120308,,,A*56
+$GPRMC,122523.00,A,5159.52318,N,00423.43541,E,48.922,160.96,120308,,,A*59
+$GPRMC,122524.00,A,5159.51035,N,00423.44245,E,48.168,161.47,120308,,,A*5E
+$GPRMC,122525.00,A,5159.49767,N,00423.44911,E,47.399,162.34,120308,,,A*58
+$GPRMC,122526.00,A,5159.48512,N,00423.45528,E,46.757,163.42,120308,,,A*5A
+$GPRMC,122527.00,A,5159.47268,N,00423.46120,E,46.249,163.91,120308,,,A*55
+$GPRMC,122528.00,A,5159.46036,N,00423.46704,E,45.805,163.66,120308,,,A*5B
+$GPRMC,122529.00,A,5159.44818,N,00423.47295,E,45.417,163.24,120308,,,A*59
+$GPRMC,122530.00,A,5159.43609,N,00423.47895,E,45.343,162.87,120308,,,A*5C
+$GPRMC,122531.00,A,5159.42400,N,00423.48490,E,45.487,163.23,120308,,,A*51
+$GPRMC,122532.00,A,5159.41191,N,00423.49065,E,45.045,163.88,120308,,,A*58
+$GPRMC,122533.00,A,5159.39993,N,00423.49609,E,44.398,164.56,120308,,,A*56
+$GPRMC,122534.00,A,5159.38804,N,00423.50127,E,44.206,165.06,120308,,,A*5E
+$GPRMC,122535.00,A,5159.37613,N,00423.50637,E,44.313,165.22,120308,,,A*5D
+$GPRMC,122536.00,A,5159.36412,N,00423.51145,E,44.774,165.44,120308,,,A*5A
+$GPRMC,122537.00,A,5159.35177,N,00423.51695,E,45.798,164.53,120308,,,A*50
+$GPRMC,122538.00,A,5159.33933,N,00423.52272,E,46.795,163.46,120308,,,A*52
+$GPRMC,122539.00,A,5159.32671,N,00423.52905,E,47.841,162.08,120308,,,A*5C
+$GPRMC,122540.00,A,5159.31386,N,00423.53576,E,48.828,162.37,120308,,,A*59
+$GPRMC,122541.00,A,5159.30066,N,00423.54220,E,49.975,164.09,120308,,,A*54
+$GPRMC,122542.00,A,5159.28720,N,00423.54817,E,50.035,165.22,120308,,,A*58
+$GPRMC,122543.00,A,5159.27378,N,00423.55391,E,49.564,165.12,120308,,,A*51
+$GPRMC,122544.00,A,5159.26051,N,00423.55955,E,49.115,164.94,120308,,,A*50
+$GPRMC,122545.00,A,5159.24732,N,00423.56515,E,49.056,165.16,120308,,,A*57
+$GPRMC,122546.00,A,5159.23411,N,00423.57073,E,48.891,165.36,120308,,,A*55
+$GPRMC,122547.00,A,5159.22097,N,00423.57615,E,48.594,165.60,120308,,,A*52
+$GPRMC,122548.00,A,5159.20769,N,00423.58170,E,49.947,165.42,120308,,,A*51
+$GPRMC,122549.00,A,5159.19435,N,00423.58744,E,49.414,164.85,120308,,,A*50
+$GPRMC,122550.00,A,5159.18102,N,00423.59335,E,49.778,164.61,120308,,,A*58
+$GPRMC,122551.00,A,5159.16771,N,00423.59925,E,49.363,164.74,120308,,,A*54
+$GPRMC,122552.00,A,5159.15453,N,00423.60499,E,48.624,165.06,120308,,,A*54
+$GPRMC,122553.00,A,5159.14146,N,00423.61055,E,48.536,165.24,120308,,,A*50
+$GPRMC,122554.00,A,5159.12841,N,00423.61598,E,48.939,165.35,120308,,,A*58
+$GPRMC,122555.00,A,5159.11523,N,00423.62156,E,49.202,165.21,120308,,,A*51
+$GPRMC,122556.00,A,5159.10202,N,00423.62719,E,49.132,165.18,120308,,,A*50
+$GPRMC,122557.00,A,5159.08884,N,00423.63279,E,48.921,165.35,120308,,,A*5A
+$GPRMC,122558.00,A,5159.07566,N,00423.63838,E,49.004,165.39,120308,,,A*57
+$GPRMC,122559.00,A,5159.06247,N,00423.64402,E,49.104,165.20,120308,,,A*58
+$GPRMC,122600.00,A,5159.04925,N,00423.64962,E,49.449,165.34,120308,,,A*58
+$GPRMC,122601.00,A,5159.03601,N,00423.65525,E,49.429,165.20,120308,,,A*5A
+$GPRMC,122602.00,A,5159.02282,N,00423.66091,E,49.001,165.17,120308,,,A*54
+$GPRMC,122603.00,A,5159.00980,N,00423.66650,E,48.074,165.30,120308,,,A*53
+$GPRMC,122604.00,A,5158.99695,N,00423.67196,E,47.634,165.42,120308,,,A*5A
+$GPRMC,122605.00,A,5158.98426,N,00423.67727,E,47.132,165.48,120308,,,A*57
+$GPRMC,122606.00,A,5158.97135,N,00423.68281,E,48.108,164.93,120308,,,A*5B
+$GPRMC,122607.00,A,5158.95836,N,00423.68854,E,48.499,164.70,120308,,,A*50
+$GPRMC,122608.00,A,5158.94530,N,00423.69430,E,48.861,164.83,120308,,,A*5D
+$GPRMC,122609.00,A,5158.93213,N,00423.70003,E,49.223,165.10,120308,,,A*57
+$GPRMC,122610.00,A,5158.91885,N,00423.70577,E,49.612,165.07,120308,,,A*5E
+$GPRMC,122611.00,A,5158.90555,N,00423.71147,E,49.693,165.32,120308,,,A*57
+$GPRMC,122612.00,A,5158.89225,N,00423.71712,E,49.340,165.23,120308,,,A*51
+$GPRMC,122613.00,A,5158.87906,N,00423.72270,E,48.993,165.15,120308,,,A*56
+$GPRMC,122614.00,A,5158.86596,N,00423.72824,E,48.648,165.24,120308,,,A*55
+$GPRMC,122615.00,A,5158.85294,N,00423.73370,E,48.550,165.28,120308,,,A*5F
+$GPRMC,122616.00,A,5158.83989,N,00423.73922,E,48.789,165.24,120308,,,A*5A
+$GPRMC,122617.00,A,5158.82683,N,00423.74478,E,48.467,165.18,120308,,,A*56
+$GPRMC,122618.00,A,5158.81382,N,00423.75039,E,48.339,165.12,120308,,,A*58
+$GPRMC,122619.00,A,5158.80085,N,00423.75599,E,48.145,165.14,120308,,,A*5C
+$GPRMC,122620.00,A,5158.78791,N,00423.76161,E,48.225,164.98,120308,,,A*53
+$GPRMC,122621.00,A,5158.77490,N,00423.76722,E,48.435,165.47,120308,,,A*5A
+$GPRMC,122622.00,A,5158.76184,N,00423.77278,E,48.603,165.37,120308,,,A*53
+$GPRMC,122623.00,A,5158.74880,N,00423.77840,E,48.429,165.10,120308,,,A*53
+$GPRMC,122624.00,A,5158.73582,N,00423.78401,E,48.368,165.13,120308,,,A*5B
+$GPRMC,122625.00,A,5158.72282,N,00423.78957,E,48.472,165.47,120308,,,A*5F
+$GPRMC,122626.00,A,5158.70977,N,00423.79505,E,48.703,165.60,120308,,,A*55
+$GPRMC,122627.00,A,5158.69671,N,00423.80061,E,48.695,165.26,120308,,,A*58
+$GPRMC,122628.00,A,5158.68365,N,00423.80632,E,48.747,165.00,120308,,,A*5C
+$GPRMC,122629.00,A,5158.67062,N,00423.81200,E,48.659,165.11,120308,,,A*5C
+$GPRMC,122630.00,A,5158.65763,N,00423.81763,E,48.662,165.16,120308,,,A*5F
+$GPRMC,122631.00,A,5158.64459,N,00423.82316,E,48.695,165.38,120308,,,A*54
+$GPRMC,122632.00,A,5158.63154,N,00423.82874,E,48.570,165.31,120308,,,A*56
+$GPRMC,122633.00,A,5158.61854,N,00423.83437,E,48.445,165.16,120308,,,A*54
+$GPRMC,122634.00,A,5158.60557,N,00423.83995,E,48.174,165.21,120308,,,A*5A
+$GPRMC,122635.00,A,5158.59271,N,00423.84539,E,47.574,165.25,120308,,,A*50
+$GPRMC,122636.00,A,5158.57994,N,00423.85088,E,47.499,165.26,120308,,,A*52
+$GPRMC,122637.00,A,5158.56719,N,00423.85629,E,47.516,165.37,120308,,,A*52
+$GPRMC,122638.00,A,5158.55439,N,00423.86165,E,47.701,165.64,120308,,,A*51
+$GPRMC,122639.00,A,5158.54155,N,00423.86688,E,47.741,165.89,120308,,,A*5D
+$GPRMC,122640.00,A,5158.52873,N,00423.87198,E,47.537,166.58,120308,,,A*53
+$GPRMC,122641.00,A,5158.51597,N,00423.87685,E,46.898,166.95,120308,,,A*55
+$GPRMC,122642.00,A,5158.50341,N,00423.88156,E,46.375,166.72,120308,,,A*5D
+$GPRMC,122643.00,A,5158.49104,N,00423.88633,E,45.450,166.52,120308,,,A*52
+$GPRMC,122644.00,A,5158.47896,N,00423.89113,E,44.359,165.86,120308,,,A*58
+$GPRMC,122645.00,A,5158.46719,N,00423.89602,E,43.389,165.38,120308,,,A*58
+$GPRMC,122646.00,A,5158.45569,N,00423.90087,E,42.382,165.41,120308,,,A*5A
+$GPRMC,122647.00,A,5158.44450,N,00423.90560,E,41.296,165.49,120308,,,A*52
+$GPRMC,122648.00,A,5158.43374,N,00423.91017,E,39.265,165.26,120308,,,A*55
+$GPRMC,122649.00,A,5158.42356,N,00423.91456,E,37.020,164.95,120308,,,A*50
+$GPRMC,122650.00,A,5158.41401,N,00423.91867,E,34.691,165.28,120308,,,A*58
+$GPRMC,122651.00,A,5158.40512,N,00423.92244,E,32.056,165.44,120308,,,A*52
+$GPRMC,122652.00,A,5158.39690,N,00423.92596,E,29.766,165.26,120308,,,A*54
+$GPRMC,122653.00,A,5158.38915,N,00423.92929,E,28.623,165.08,120308,,,A*53
+$GPRMC,122654.00,A,5158.38167,N,00423.93251,E,27.786,165.22,120308,,,A*55
+$GPRMC,122655.00,A,5158.37441,N,00423.93562,E,26.958,165.23,120308,,,A*50
+$GPRMC,122656.00,A,5158.36740,N,00423.93864,E,26.107,165.29,120308,,,A*53
+$GPRMC,122657.00,A,5158.36068,N,00423.94160,E,24.939,165.26,120308,,,A*5D
+$GPRMC,122658.00,A,5158.35456,N,00423.94428,E,21.577,165.21,120308,,,A*55
+$GPRMC,122659.00,A,5158.34940,N,00423.94655,E,17.916,165.13,120308,,,A*58
+$GPRMC,122700.00,A,5158.34505,N,00423.94847,E,15.579,165.40,120308,,,A*54
+$GPRMC,122701.00,A,5158.34115,N,00423.95019,E,14.566,165.49,120308,,,A*54
+$GPRMC,122702.00,A,5158.33752,N,00423.95176,E,13.581,165.54,120308,,,A*5F
+$GPRMC,122703.00,A,5158.33409,N,00423.95322,E,13.098,165.54,120308,,,A*5D
+$GPRMC,122704.00,A,5158.33088,N,00423.95465,E,11.965,165.21,120308,,,A*58
+$GPRMC,122705.00,A,5158.32798,N,00423.95593,E,10.700,165.16,120308,,,A*5E
+$GPRMC,122706.00,A,5158.32533,N,00423.95712,E,10.047,165.13,120308,,,A*54
+$GPRMC,122707.00,A,5158.32280,N,00423.95826,E,9.704,165.04,120308,,,A*6C
+$GPRMC,122708.00,A,5158.32033,N,00423.95940,E,9.621,164.93,120308,,,A*61
+$GPRMC,122709.00,A,5158.31782,N,00423.96055,E,9.951,164.83,120308,,,A*69
+$GPRMC,122710.00,A,5158.31517,N,00423.96174,E,10.530,164.89,120308,,,A*54
+$GPRMC,122711.00,A,5158.31237,N,00423.96299,E,11.072,164.97,120308,,,A*5D
+$GPRMC,122712.00,A,5158.30939,N,00423.96431,E,11.684,164.86,120308,,,A*51
+$GPRMC,122713.00,A,5158.30621,N,00423.96572,E,12.553,164.82,120308,,,A*5E
+$GPRMC,122714.00,A,5158.30277,N,00423.96724,E,13.587,164.59,120308,,,A*51
+$GPRMC,122715.00,A,5158.29913,N,00423.96887,E,14.028,164.40,120308,,,A*58
+$GPRMC,122716.00,A,5158.29547,N,00423.97054,E,13.877,163.73,120308,,,A*53
+$GPRMC,122717.00,A,5158.29188,N,00423.97224,E,13.639,163.11,120308,,,A*50
+$GPRMC,122718.00,A,5158.28836,N,00423.97396,E,13.323,162.49,120308,,,A*58
+$GPRMC,122719.00,A,5158.28493,N,00423.97573,E,12.988,162.02,120308,,,A*52
+$GPRMC,122720.00,A,5158.28159,N,00423.97748,E,12.691,161.52,120308,,,A*50
+$GPRMC,122721.00,A,5158.27834,N,00423.97923,E,12.333,161.33,120308,,,A*55
+$GPRMC,122722.00,A,5158.27518,N,00423.98097,E,11.945,161.13,120308,,,A*56
+$GPRMC,122723.00,A,5158.27211,N,00423.98267,E,11.714,160.46,120308,,,A*5F
+$GPRMC,122724.00,A,5158.26915,N,00423.98431,E,11.440,160.12,120308,,,A*50
+$GPRMC,122725.00,A,5158.26626,N,00423.98596,E,11.059,159.80,120308,,,A*5F
+$GPRMC,122726.00,A,5158.26349,N,00423.98756,E,10.693,159.55,120308,,,A*57
+$GPRMC,122727.00,A,5158.26077,N,00423.98918,E,10.646,159.51,120308,,,A*50
+$GPRMC,122728.00,A,5158.25809,N,00423.99071,E,10.701,159.21,120308,,,A*5F
+$GPRMC,122729.00,A,5158.25541,N,00423.99227,E,10.561,159.02,120308,,,A*5B
+$GPRMC,122730.00,A,5158.25274,N,00423.99384,E,10.554,159.03,120308,,,A*5D
+$GPRMC,122731.00,A,5158.24988,N,00423.99552,E,11.929,159.19,120308,,,A*54
+$GPRMC,122732.00,A,5158.24663,N,00423.99747,E,13.486,158.63,120308,,,A*5D
+$GPRMC,122733.00,A,5158.24318,N,00423.99965,E,13.625,157.89,120308,,,A*5B
+$GPRMC,122734.00,A,5158.23982,N,00424.00186,E,12.936,157.53,120308,,,A*5B
+$GPRMC,122735.00,A,5158.23670,N,00424.00396,E,11.824,156.90,120308,,,A*54
+$GPRMC,122736.00,A,5158.23387,N,00424.00590,E,10.763,156.44,120308,,,A*5E
+$GPRMC,122737.00,A,5158.23132,N,00424.00769,E,9.591,156.06,120308,,,A*66
+$GPRMC,122738.00,A,5158.22907,N,00424.00932,E,8.458,155.45,120308,,,A*67
+$GPRMC,122739.00,A,5158.22709,N,00424.01081,E,7.498,155.21,120308,,,A*67
+$GPRMC,122740.00,A,5158.22537,N,00424.01212,E,6.366,155.09,120308,,,A*63
+$GPRMC,122741.00,A,5158.22396,N,00424.01320,E,5.137,154.66,120308,,,A*62
+$GPRMC,122742.00,A,5158.22279,N,00424.01408,E,4.445,154.74,120308,,,A*6E
+$GPRMC,122743.00,A,5158.22169,N,00424.01493,E,4.575,154.59,120308,,,A*62
+$GPRMC,122744.00,A,5158.22049,N,00424.01584,E,5.205,154.67,120308,,,A*6D
+$GPRMC,122745.00,A,5158.21911,N,00424.01688,E,5.889,154.78,120308,,,A*64
+$GPRMC,122746.00,A,5158.21761,N,00424.01804,E,6.232,154.74,120308,,,A*61
+$GPRMC,122747.00,A,5158.21606,N,00424.01921,E,6.156,154.84,120308,,,A*68
+$GPRMC,122748.00,A,5158.21458,N,00424.02034,E,5.758,154.35,120308,,,A*61
+$GPRMC,122749.00,A,5158.21321,N,00424.02141,E,5.328,154.22,120308,,,A*6F
+$GPRMC,122750.00,A,5158.21194,N,00424.02240,E,4.989,154.16,120308,,,A*6E
+$GPRMC,122751.00,A,5158.21073,N,00424.02333,E,4.816,154.18,120308,,,A*6B
+$GPRMC,122752.00,A,5158.20955,N,00424.02425,E,4.888,153.98,120308,,,A*6C
+$GPRMC,122753.00,A,5158.20838,N,00424.02518,E,4.682,153.81,120308,,,A*64
+$GPRMC,122754.00,A,5158.20740,N,00424.02595,E,3.557,153.99,120308,,,A*63
+$GPRMC,122755.00,A,5158.20676,N,00424.02647,E,1.879,153.97,120308,,,A*67
+$GPRMC,122756.00,A,5158.20645,N,00424.02671,E,0.993,153.97,120308,,,A*65
+$GPRMC,122757.00,A,5158.20627,N,00424.02684,E,0.726,154.04,120308,,,A*67
+$GPRMC,122758.00,A,5158.20619,N,00424.02695,E,0.456,153.87,120308,,,A*6D
+$GPRMC,122759.00,A,5158.20618,N,00424.02700,E,0.259,153.78,120308,,,A*69
+$GPRMC,122800.00,A,5158.20621,N,00424.02700,E,0.088,153.76,120308,,,A*60
+$GPRMC,122801.00,A,5158.20626,N,00424.02696,E,0.003,,120308,,,A*73
+$GPRMC,122802.00,A,5158.20632,N,00424.02696,E,0.014,,120308,,,A*73
+$GPRMC,122803.00,A,5158.20637,N,00424.02695,E,0.006,,120308,,,A*77
+$GPRMC,122804.00,A,5158.20642,N,00424.02693,E,0.013,,120308,,,A*70
+$GPRMC,122805.00,A,5158.20646,N,00424.02690,E,0.004,,120308,,,A*70
+$GPRMC,122806.00,A,5158.20650,N,00424.02686,E,0.019,,120308,,,A*7F
+$GPRMC,122807.00,A,5158.20652,N,00424.02682,E,0.011,,120308,,,A*70
+$GPRMC,122808.00,A,5158.20655,N,00424.02678,E,0.003,,120308,,,A*7E
+$GPRMC,122809.00,A,5158.20659,N,00424.02675,E,0.002,,120308,,,A*7F
+$GPRMC,122810.00,A,5158.20662,N,00424.02671,E,0.007,,120308,,,A*7E
+$GPRMC,122811.00,A,5158.20665,N,00424.02667,E,0.003,,120308,,,A*7B
+$GPRMC,122812.00,A,5158.20669,N,00424.02662,E,0.016,,120308,,,A*75
+$GPRMC,122813.00,A,5158.20675,N,00424.02656,E,0.011,,120308,,,A*79
+$GPRMC,122814.00,A,5158.20679,N,00424.02651,E,0.009,,120308,,,A*7C
+$GPRMC,122815.00,A,5158.20683,N,00424.02646,E,0.008,,120308,,,A*7F
+$GPRMC,122816.00,A,5158.20688,N,00424.02641,E,0.007,,120308,,,A*7F
+$GPRMC,122817.00,A,5158.20692,N,00424.02635,E,0.004,,120308,,,A*75
+$GPRMC,122818.00,A,5158.20697,N,00424.02630,E,0.012,,120308,,,A*7D
+$GPRMC,122819.00,A,5158.20702,N,00424.02625,E,0.021,152.04,120308,,,A*69
+$GPRMC,122820.00,A,5158.20707,N,00424.02621,E,0.004,,120308,,,A*79
+$GPRMC,122821.00,A,5158.20711,N,00424.02618,E,0.004,,120308,,,A*75
+$GPRMC,122822.00,A,5158.20716,N,00424.02616,E,0.015,,120308,,,A*7F
+$GPRMC,122823.00,A,5158.20720,N,00424.02614,E,0.007,,120308,,,A*7A
+$GPRMC,122824.00,A,5158.20724,N,00424.02613,E,0.001,,120308,,,A*78
+$GPRMC,122825.00,A,5158.20727,N,00424.02611,E,0.003,,120308,,,A*7A
+$GPRMC,122826.00,A,5158.20724,N,00424.02611,E,0.482,152.39,120308,,,A*65
+$GPRMC,122827.00,A,5158.20680,N,00424.02643,E,2.981,155.05,120308,,,A*68
+$GPRMC,122828.00,A,5158.20566,N,00424.02735,E,5.677,152.78,120308,,,A*60
+$GPRMC,122829.00,A,5158.20399,N,00424.02865,E,6.978,153.34,120308,,,A*67
+$GPRMC,122830.00,A,5158.20216,N,00424.02993,E,7.169,154.02,120308,,,A*6A
+$GPRMC,122831.00,A,5158.20037,N,00424.03126,E,6.755,154.46,120308,,,A*65
+$GPRMC,122832.00,A,5158.19869,N,00424.03251,E,6.230,154.72,120308,,,A*6D
+$GPRMC,122833.00,A,5158.19716,N,00424.03365,E,5.808,154.00,120308,,,A*6A
+$GPRMC,122834.00,A,5158.19571,N,00424.03477,E,5.467,154.32,120308,,,A*6E
+$GPRMC,122835.00,A,5158.19437,N,00424.03579,E,5.099,154.85,120308,,,A*6A
+$GPRMC,122836.00,A,5158.19309,N,00424.03680,E,5.015,154.25,120308,,,A*68
+$GPRMC,122837.00,A,5158.19185,N,00424.03779,E,4.854,154.11,120308,,,A*63
+$GPRMC,122838.00,A,5158.19066,N,00424.03871,E,4.711,154.43,120308,,,A*6E
+$GPRMC,122839.00,A,5158.18949,N,00424.03959,E,4.585,154.64,120308,,,A*6B
+$GPRMC,122840.00,A,5158.18834,N,00424.04045,E,4.529,154.77,120308,,,A*69
+$GPRMC,122841.00,A,5158.18722,N,00424.04135,E,4.468,152.72,120308,,,A*61
+$GPRMC,122842.00,A,5158.18613,N,00424.04221,E,4.185,154.28,120308,,,A*68
+$GPRMC,122843.00,A,5158.18513,N,00424.04297,E,3.720,154.43,120308,,,A*64
+$GPRMC,122844.00,A,5158.18426,N,00424.04362,E,3.295,154.58,120308,,,A*6E
+$GPRMC,122845.00,A,5158.18348,N,00424.04418,E,2.996,154.58,120308,,,A*63
+$GPRMC,122846.00,A,5158.18276,N,00424.04472,E,2.869,154.36,120308,,,A*69
+$GPRMC,122847.00,A,5158.18205,N,00424.04525,E,2.836,154.84,120308,,,A*6C
+$GPRMC,122848.00,A,5158.18135,N,00424.04582,E,2.908,154.69,120308,,,A*61
+$GPRMC,122849.00,A,5158.18063,N,00424.04640,E,2.927,154.86,120308,,,A*63
+$GPRMC,122850.00,A,5158.17992,N,00424.04701,E,2.924,154.32,120308,,,A*6B
+$GPRMC,122851.00,A,5158.17919,N,00424.04761,E,2.903,154.42,120308,,,A*6D
+$GPRMC,122852.00,A,5158.17845,N,00424.04824,E,2.997,154.22,120308,,,A*63
+$GPRMC,122853.00,A,5158.17768,N,00424.04887,E,3.130,154.15,120308,,,A*6B
+$GPRMC,122854.00,A,5158.17686,N,00424.04950,E,3.314,154.31,120308,,,A*64
+$GPRMC,122855.00,A,5158.17600,N,00424.05014,E,3.505,154.43,120308,,,A*60
+$GPRMC,122856.00,A,5158.17510,N,00424.05084,E,3.680,154.16,120308,,,A*66
+$GPRMC,122857.00,A,5158.17415,N,00424.05162,E,3.825,154.09,120308,,,A*65
+$GPRMC,122858.00,A,5158.17317,N,00424.05250,E,4.043,154.21,120308,,,A*68
+$GPRMC,122859.00,A,5158.17214,N,00424.05335,E,4.180,154.42,120308,,,A*62
+$GPRMC,122900.00,A,5158.17107,N,00424.05421,E,4.364,154.20,120308,,,A*60
+$GPRMC,122901.00,A,5158.16998,N,00424.05514,E,4.428,153.98,120308,,,A*62
+$GPRMC,122902.00,A,5158.16888,N,00424.05609,E,4.479,153.95,120308,,,A*67
+$GPRMC,122903.00,A,5158.16778,N,00424.05703,E,4.537,153.85,120308,,,A*67
+$GPRMC,122904.00,A,5158.16668,N,00424.05794,E,4.393,153.96,120308,,,A*64
+$GPRMC,122905.00,A,5158.16562,N,00424.05879,E,4.312,154.13,120308,,,A*63
+$GPRMC,122906.00,A,5158.16458,N,00424.05961,E,4.225,153.36,120308,,,A*65
+$GPRMC,122907.00,A,5158.16355,N,00424.06040,E,4.165,153.55,120308,,,A*65
+$GPRMC,122908.00,A,5158.16253,N,00424.06118,E,4.019,153.85,120308,,,A*66
+$GPRMC,122909.00,A,5158.16154,N,00424.06194,E,3.933,153.93,120308,,,A*66
+$GPRMC,122910.00,A,5158.16058,N,00424.06269,E,3.820,153.63,120308,,,A*6E
+$GPRMC,122911.00,A,5158.15967,N,00424.06343,E,3.698,153.82,120308,,,A*62
+$GPRMC,122912.00,A,5158.15877,N,00424.06414,E,3.669,153.81,120308,,,A*69
+$GPRMC,122913.00,A,5158.15788,N,00424.06480,E,3.561,154.26,120308,,,A*6B
+$GPRMC,122914.00,A,5158.15703,N,00424.06545,E,3.411,154.25,120308,,,A*62
+$GPRMC,122915.00,A,5158.15620,N,00424.06607,E,3.306,154.40,120308,,,A*64
+$GPRMC,122916.00,A,5158.15542,N,00424.06665,E,3.038,154.54,120308,,,A*6F
+$GPRMC,122917.00,A,5158.15466,N,00424.06718,E,2.921,155.03,120308,,,A*61
+$GPRMC,122918.00,A,5158.15393,N,00424.06771,E,2.907,155.02,120308,,,A*69
+$GPRMC,122919.00,A,5158.15318,N,00424.06822,E,2.908,154.95,120308,,,A*62
+$GPRMC,122920.00,A,5158.15243,N,00424.06874,E,2.939,154.10,120308,,,A*6B
+$GPRMC,122921.00,A,5158.15168,N,00424.06929,E,2.980,154.29,120308,,,A*61
+$GPRMC,122922.00,A,5158.15096,N,00424.06984,E,2.952,154.05,120308,,,A*64
+$GPRMC,122923.00,A,5158.15023,N,00424.07035,E,2.992,153.85,120308,,,A*6A
+$GPRMC,122924.00,A,5158.14951,N,00424.07091,E,3.017,153.99,120308,,,A*66
+$GPRMC,122925.00,A,5158.14878,N,00424.07143,E,3.009,154.77,120308,,,A*6B
+$GPRMC,122926.00,A,5158.14803,N,00424.07195,E,3.046,155.02,120308,,,A*67
+$GPRMC,122927.00,A,5158.14726,N,00424.07249,E,3.071,154.98,120308,,,A*6A
+$GPRMC,122928.00,A,5158.14649,N,00424.07303,E,3.076,155.20,120308,,,A*67
+$GPRMC,122929.00,A,5158.14573,N,00424.07364,E,2.955,154.02,120308,,,A*65
+$GPRMC,122930.00,A,5158.14502,N,00424.07405,E,3.016,154.78,120308,,,A*69
+$GPRMC,122931.00,A,5158.14430,N,00424.07447,E,3.012,154.25,120308,,,A*62
+$GPRMC,122932.00,A,5158.14358,N,00424.07497,E,2.942,154.23,120308,,,A*6E
+$GPRMC,122933.00,A,5158.14286,N,00424.07547,E,2.893,154.64,120308,,,A*6F
+$GPRMC,122934.00,A,5158.14215,N,00424.07599,E,2.977,153.43,120308,,,A*68
+$GPRMC,122935.00,A,5158.14143,N,00424.07657,E,2.924,153.47,120308,,,A*6A
+$GPRMC,122936.00,A,5158.14070,N,00424.07717,E,2.943,153.73,120308,,,A*6B
+$GPRMC,122937.00,A,5158.13998,N,00424.07773,E,2.970,153.16,120308,,,A*63
+$GPRMC,122938.00,A,5158.13929,N,00424.07817,E,2.971,153.75,120308,,,A*6F
+$GPRMC,122939.00,A,5158.13860,N,00424.07864,E,2.976,153.63,120308,,,A*66
+$GPRMC,122940.00,A,5158.13790,N,00424.07913,E,3.004,154.01,120308,,,A*67
+$GPRMC,122941.00,A,5158.13719,N,00424.07962,E,2.967,154.42,120308,,,A*6B
+$GPRMC,122942.00,A,5158.13648,N,00424.08012,E,2.959,154.76,120308,,,A*66
+$GPRMC,122943.00,A,5158.13575,N,00424.08067,E,2.975,154.08,120308,,,A*6F
+$GPRMC,122944.00,A,5158.13500,N,00424.08123,E,2.991,155.63,120308,,,A*6D
+$GPRMC,122945.00,A,5158.13425,N,00424.08180,E,2.954,156.13,120308,,,A*6E
+$GPRMC,122946.00,A,5158.13347,N,00424.08243,E,3.003,155.25,120308,,,A*6E
+$GPRMC,122947.00,A,5158.13269,N,00424.08305,E,3.006,154.75,120308,,,A*60
+$GPRMC,122948.00,A,5158.13191,N,00424.08371,E,3.005,154.45,120308,,,A*68
+$GPRMC,122949.00,A,5158.13112,N,00424.08431,E,3.023,154.39,120308,,,A*6E
+$GPRMC,122950.00,A,5158.13034,N,00424.08488,E,3.016,154.74,120308,,,A*6E
+$GPRMC,122951.00,A,5158.12956,N,00424.08545,E,2.992,154.34,120308,,,A*63
+$GPRMC,122952.00,A,5158.12880,N,00424.08601,E,2.979,154.95,120308,,,A*67
+$GPRMC,122953.00,A,5158.12803,N,00424.08658,E,2.881,152.91,120308,,,A*65
+$GPRMC,122954.00,A,5158.12730,N,00424.08712,E,2.954,154.04,120308,,,A*61
+$GPRMC,122955.00,A,5158.12654,N,00424.08770,E,2.969,153.54,120308,,,A*6B
+$GPRMC,122956.00,A,5158.12578,N,00424.08833,E,2.995,152.71,120308,,,A*68
+$GPRMC,122957.00,A,5158.12506,N,00424.08893,E,2.962,152.74,120308,,,A*67
+$GPRMC,122958.00,A,5158.12431,N,00424.08958,E,2.967,153.49,120308,,,A*61
+$GPRMC,122959.00,A,5158.12361,N,00424.09007,E,3.006,152.83,120308,,,A*68
+$GPRMC,123000.00,A,5158.12290,N,00424.09056,E,2.943,153.37,120308,,,A*60
+$GPRMC,123001.00,A,5158.12221,N,00424.09105,E,2.960,152.96,120308,,,A*67
+$GPRMC,123002.00,A,5158.12152,N,00424.09156,E,2.984,153.50,120308,,,A*64
+$GPRMC,123003.00,A,5158.12075,N,00424.09213,E,3.473,154.05,120308,,,A*60
+$GPRMC,123004.00,A,5158.11976,N,00424.09288,E,4.570,154.29,120308,,,A*67
+$GPRMC,123005.00,A,5158.11845,N,00424.09382,E,5.620,154.75,120308,,,A*62
+$GPRMC,123006.00,A,5158.11697,N,00424.09486,E,6.019,153.87,120308,,,A*66
+$GPRMC,123007.00,A,5158.11545,N,00424.09601,E,5.872,154.63,120308,,,A*6D
+$GPRMC,123008.00,A,5158.11398,N,00424.09708,E,5.597,155.32,120308,,,A*6F
+$GPRMC,123009.00,A,5158.11263,N,00424.09800,E,4.958,154.31,120308,,,A*60
+$GPRMC,123010.00,A,5158.11145,N,00424.09887,E,4.296,154.65,120308,,,A*68
+$GPRMC,123011.00,A,5158.11047,N,00424.09953,E,3.718,154.10,120308,,,A*64
+$GPRMC,123012.00,A,5158.10962,N,00424.10013,E,3.251,153.70,120308,,,A*64
+$GPRMC,123013.00,A,5158.10885,N,00424.10072,E,2.926,154.19,120308,,,A*68
+$GPRMC,123014.00,A,5158.10814,N,00424.10117,E,2.868,152.74,120308,,,A*63
+$GPRMC,123015.00,A,5158.10742,N,00424.10167,E,3.014,152.43,120308,,,A*6F
+$GPRMC,123016.00,A,5158.10666,N,00424.10227,E,3.001,152.22,120308,,,A*6F
+$GPRMC,123017.00,A,5158.10592,N,00424.10287,E,2.988,153.24,120308,,,A*62
+$GPRMC,123018.00,A,5158.10518,N,00424.10342,E,2.961,153.41,120308,,,A*63
+$GPRMC,123019.00,A,5158.10443,N,00424.10399,E,2.978,153.37,120308,,,A*62
+$GPRMC,123020.00,A,5158.10366,N,00424.10459,E,3.187,152.88,120308,,,A*6F
+$GPRMC,123021.00,A,5158.10280,N,00424.10523,E,3.697,152.54,120308,,,A*6C
+$GPRMC,123022.00,A,5158.10184,N,00424.10598,E,3.966,152.16,120308,,,A*6F
+$GPRMC,123023.00,A,5158.10075,N,00424.10689,E,4.659,151.90,120308,,,A*6B
+$GPRMC,123024.00,A,5158.09951,N,00424.10793,E,5.493,152.56,120308,,,A*6D
+$GPRMC,123025.00,A,5158.09806,N,00424.10912,E,6.083,153.20,120308,,,A*6E
+$GPRMC,123026.00,A,5158.09649,N,00424.11040,E,6.283,153.43,120308,,,A*60
+$GPRMC,123027.00,A,5158.09489,N,00424.11169,E,6.494,153.69,120308,,,A*6D
+$GPRMC,123028.00,A,5158.09324,N,00424.11299,E,6.501,154.07,120308,,,A*6C
+$GPRMC,123029.00,A,5158.09158,N,00424.11427,E,6.524,154.16,120308,,,A*60
+$GPRMC,123030.00,A,5158.08989,N,00424.11552,E,6.745,154.12,120308,,,A*6F
+$GPRMC,123031.00,A,5158.08806,N,00424.11690,E,7.431,154.36,120308,,,A*62
+$GPRMC,123032.00,A,5158.08605,N,00424.11844,E,8.259,154.28,120308,,,A*63
+$GPRMC,123033.00,A,5158.08390,N,00424.12013,E,8.667,154.26,120308,,,A*65
+$GPRMC,123034.00,A,5158.08160,N,00424.12193,E,9.428,154.27,120308,,,A*6F
+$GPRMC,123035.00,A,5158.07920,N,00424.12381,E,9.443,154.15,120308,,,A*60
+$GPRMC,123036.00,A,5158.07672,N,00424.12576,E,10.137,154.11,120308,,,A*5F
+$GPRMC,123037.00,A,5158.07396,N,00424.12794,E,11.589,153.97,120308,,,A*56
+$GPRMC,123038.00,A,5158.07093,N,00424.13032,E,12.283,154.20,120308,,,A*50
+$GPRMC,123039.00,A,5158.06777,N,00424.13279,E,12.628,154.13,120308,,,A*55
+$GPRMC,123040.00,A,5158.06446,N,00424.13540,E,13.441,154.18,120308,,,A*50
+$GPRMC,123041.00,A,5158.06092,N,00424.13816,E,14.468,154.15,120308,,,A*53
+$GPRMC,123042.00,A,5158.05711,N,00424.14111,E,15.494,154.25,120308,,,A*57
+$GPRMC,123043.00,A,5158.05306,N,00424.14422,E,16.495,154.23,120308,,,A*55
+$GPRMC,123044.00,A,5158.04867,N,00424.14760,E,18.183,154.28,120308,,,A*5D
+$GPRMC,123045.00,A,5158.04402,N,00424.15118,E,18.605,154.18,120308,,,A*51
+$GPRMC,123046.00,A,5158.03940,N,00424.15475,E,17.975,154.22,120308,,,A*5E
+$GPRMC,123047.00,A,5158.03490,N,00424.15821,E,17.584,154.23,120308,,,A*51
+$GPRMC,123048.00,A,5158.03053,N,00424.16156,E,17.083,154.19,120308,,,A*54
+$GPRMC,123049.00,A,5158.02630,N,00424.16482,E,16.555,154.18,120308,,,A*55
+$GPRMC,123050.00,A,5158.02218,N,00424.16799,E,16.187,154.18,120308,,,A*51
+$GPRMC,123051.00,A,5158.01812,N,00424.17114,E,16.116,154.31,120308,,,A*52
+$GPRMC,123052.00,A,5158.01403,N,00424.17431,E,16.315,154.46,120308,,,A*5E
+$GPRMC,123053.00,A,5158.00982,N,00424.17755,E,16.966,154.53,120308,,,A*51
+$GPRMC,123054.00,A,5158.00551,N,00424.18097,E,17.184,154.54,120308,,,A*50
+$GPRMC,123055.00,A,5158.00119,N,00424.18429,E,16.946,154.77,120308,,,A*5E
+$GPRMC,123056.00,A,5157.99696,N,00424.18761,E,16.489,154.79,120308,,,A*5D
+$GPRMC,123057.00,A,5157.99286,N,00424.19082,E,15.956,154.81,120308,,,A*59
+$GPRMC,123058.00,A,5157.98890,N,00424.19386,E,15.466,154.09,120308,,,A*53
+$GPRMC,123059.00,A,5157.98507,N,00424.19695,E,15.160,153.46,120308,,,A*59
+$GPRMC,123100.00,A,5157.98132,N,00424.20005,E,14.800,153.12,120308,,,A*5C
+$GPRMC,123101.00,A,5157.97766,N,00424.20295,E,14.489,153.79,120308,,,A*5E
+$GPRMC,123102.00,A,5157.97406,N,00424.20581,E,14.275,153.87,120308,,,A*5E
+$GPRMC,123103.00,A,5157.97050,N,00424.20864,E,14.098,154.13,120308,,,A*55
+$GPRMC,123104.00,A,5157.96693,N,00424.21154,E,14.221,154.24,120308,,,A*55
+$GPRMC,123105.00,A,5157.96331,N,00424.21438,E,14.552,153.96,120308,,,A*5B
+$GPRMC,123106.00,A,5157.95956,N,00424.21729,E,15.354,153.63,120308,,,A*58
+$GPRMC,123107.00,A,5157.95566,N,00424.22038,E,15.840,153.77,120308,,,A*59
+$GPRMC,123108.00,A,5157.95171,N,00424.22346,E,15.998,153.87,120308,,,A*55
+$GPRMC,123109.00,A,5157.94771,N,00424.22653,E,16.196,153.97,120308,,,A*56
+$GPRMC,123110.00,A,5157.94364,N,00424.22977,E,16.246,153.92,120308,,,A*5C
+$GPRMC,123111.00,A,5157.93961,N,00424.23278,E,16.262,153.84,120308,,,A*51
+$GPRMC,123112.00,A,5157.93558,N,00424.23586,E,16.230,154.04,120308,,,A*5A
+$GPRMC,123113.00,A,5157.93153,N,00424.23898,E,16.127,154.20,120308,,,A*55
+$GPRMC,123114.00,A,5157.92749,N,00424.24216,E,16.179,154.00,120308,,,A*5C
+$GPRMC,123115.00,A,5157.92347,N,00424.24525,E,15.938,154.04,120308,,,A*5A
+$GPRMC,123116.00,A,5157.91954,N,00424.24840,E,15.385,154.43,120308,,,A*53
+$GPRMC,123117.00,A,5157.91574,N,00424.25142,E,14.862,154.46,120308,,,A*50
+$GPRMC,123118.00,A,5157.91204,N,00424.25436,E,14.464,154.66,120308,,,A*51
+$GPRMC,123119.00,A,5157.90840,N,00424.25715,E,14.443,154.27,120308,,,A*59
+$GPRMC,123120.00,A,5157.90478,N,00424.26006,E,14.378,154.13,120308,,,A*5A
+$GPRMC,123121.00,A,5157.90119,N,00424.26289,E,14.263,154.12,120308,,,A*56
+$GPRMC,123122.00,A,5157.89762,N,00424.26581,E,14.140,154.07,120308,,,A*5E
+$GPRMC,123123.00,A,5157.89409,N,00424.26866,E,14.036,154.02,120308,,,A*50
+$GPRMC,123124.00,A,5157.89057,N,00424.27143,E,13.907,153.96,120308,,,A*51
+$GPRMC,123125.00,A,5157.88709,N,00424.27415,E,13.793,154.05,120308,,,A*55
+$GPRMC,123126.00,A,5157.88364,N,00424.27685,E,13.720,154.08,120308,,,A*57
+$GPRMC,123127.00,A,5157.88021,N,00424.27955,E,13.739,153.90,120308,,,A*58
+$GPRMC,123128.00,A,5157.87675,N,00424.28225,E,13.949,154.06,120308,,,A*5D
+$GPRMC,123129.00,A,5157.87324,N,00424.28504,E,14.212,154.03,120308,,,A*5E
+$GPRMC,123130.00,A,5157.86965,N,00424.28787,E,14.478,154.29,120308,,,A*53
+$GPRMC,123131.00,A,5157.86599,N,00424.29072,E,14.719,154.13,120308,,,A*5C
+$GPRMC,123132.00,A,5157.86226,N,00424.29363,E,14.876,154.47,120308,,,A*58
+$GPRMC,123133.00,A,5157.85855,N,00424.29648,E,14.778,154.62,120308,,,A*5E
+$GPRMC,123134.00,A,5157.85488,N,00424.29925,E,14.498,154.97,120308,,,A*56
+$GPRMC,123135.00,A,5157.85131,N,00424.30184,E,14.208,155.15,120308,,,A*5F
+$GPRMC,123136.00,A,5157.84780,N,00424.30438,E,13.958,154.83,120308,,,A*54
+$GPRMC,123137.00,A,5157.84433,N,00424.30691,E,13.939,154.53,120308,,,A*55
+$GPRMC,123138.00,A,5157.84081,N,00424.30957,E,14.276,154.18,120308,,,A*5A
+$GPRMC,123139.00,A,5157.83716,N,00424.31244,E,14.766,154.18,120308,,,A*59
+$GPRMC,123140.00,A,5157.83339,N,00424.31535,E,15.504,154.14,120308,,,A*54
+$GPRMC,123141.00,A,5157.82943,N,00424.31848,E,16.000,154.29,120308,,,A*58
+$GPRMC,123142.00,A,5157.82532,N,00424.32170,E,16.569,154.22,120308,,,A*51
+$GPRMC,123143.00,A,5157.82101,N,00424.32497,E,17.554,154.10,120308,,,A*56
+$GPRMC,123144.00,A,5157.81647,N,00424.32853,E,18.466,154.07,120308,,,A*5A
+$GPRMC,123145.00,A,5157.81175,N,00424.33213,E,19.423,153.99,120308,,,A*52
+$GPRMC,123146.00,A,5157.80681,N,00424.33589,E,20.244,154.02,120308,,,A*50
+$GPRMC,123147.00,A,5157.80175,N,00424.33979,E,20.367,154.14,120308,,,A*59
+$GPRMC,123148.00,A,5157.79643,N,00424.34391,E,21.569,154.00,120308,,,A*55
+$GPRMC,123149.00,A,5157.79098,N,00424.34809,E,22.117,154.12,120308,,,A*53
+$GPRMC,123150.00,A,5157.78539,N,00424.35237,E,22.746,154.23,120308,,,A*52
+$GPRMC,123151.00,A,5157.77958,N,00424.35687,E,23.158,154.31,120308,,,A*53
+$GPRMC,123152.00,A,5157.77369,N,00424.36140,E,23.098,154.45,120308,,,A*59
+$GPRMC,123153.00,A,5157.76783,N,00424.36598,E,22.952,154.40,120308,,,A*53
+$GPRMC,123154.00,A,5157.76205,N,00424.37050,E,22.841,154.13,120308,,,A*5A
+$GPRMC,123155.00,A,5157.75629,N,00424.37506,E,22.697,153.73,120308,,,A*50
+$GPRMC,123156.00,A,5157.75060,N,00424.37957,E,22.286,153.93,120308,,,A*5A
+$GPRMC,123157.00,A,5157.74502,N,00424.38397,E,21.925,154.10,120308,,,A*5F
+$GPRMC,123158.00,A,5157.73951,N,00424.38839,E,21.969,153.16,120308,,,A*5B
+$GPRMC,123159.00,A,5157.73418,N,00424.39267,E,21.063,153.52,120308,,,A*59
+$GPRMC,123200.00,A,5157.72927,N,00424.39613,E,19.608,154.43,120308,,,A*56
+$GPRMC,123201.00,A,5157.72455,N,00424.39964,E,18.509,154.63,120308,,,A*51
+$GPRMC,123202.00,A,5157.72009,N,00424.40302,E,17.539,154.28,120308,,,A*58
+$GPRMC,123203.00,A,5157.71585,N,00424.40635,E,16.561,154.19,120308,,,A*54
+$GPRMC,123204.00,A,5157.71187,N,00424.40950,E,15.660,153.87,120308,,,A*58
+$GPRMC,123205.00,A,5157.70813,N,00424.41258,E,14.554,153.80,120308,,,A*5C
+$GPRMC,123206.00,A,5157.70465,N,00424.41541,E,13.733,153.83,120308,,,A*5A
+$GPRMC,123207.00,A,5157.70138,N,00424.41815,E,12.809,153.80,120308,,,A*5E
+$GPRMC,123208.00,A,5157.69826,N,00424.42075,E,12.386,153.86,120308,,,A*58
+$GPRMC,123209.00,A,5157.69524,N,00424.42316,E,12.193,153.92,120308,,,A*53
+$GPRMC,123210.00,A,5157.69224,N,00424.42560,E,12.064,153.77,120308,,,A*59
+$GPRMC,123211.00,A,5157.68927,N,00424.42801,E,12.127,153.74,120308,,,A*5E
+$GPRMC,123212.00,A,5157.68628,N,00424.43043,E,12.251,153.84,120308,,,A*5F
+$GPRMC,123213.00,A,5157.68321,N,00424.43287,E,12.581,153.95,120308,,,A*52
+$GPRMC,123214.00,A,5157.68007,N,00424.43539,E,12.751,154.02,120308,,,A*56
+$GPRMC,123215.00,A,5157.67689,N,00424.43793,E,12.784,154.23,120308,,,A*51
+$GPRMC,123216.00,A,5157.67372,N,00424.44041,E,12.649,154.62,120308,,,A*59
+$GPRMC,123217.00,A,5157.67058,N,00424.44286,E,12.527,154.94,120308,,,A*58
+$GPRMC,123218.00,A,5157.66740,N,00424.44531,E,12.853,154.90,120308,,,A*59
+$GPRMC,123219.00,A,5157.66404,N,00424.44790,E,13.896,154.68,120308,,,A*5D
+$GPRMC,123220.00,A,5157.66039,N,00424.45076,E,15.192,154.54,120308,,,A*57
+$GPRMC,123221.00,A,5157.65645,N,00424.45387,E,16.289,154.43,120308,,,A*59
+$GPRMC,123222.00,A,5157.65225,N,00424.45716,E,17.119,154.34,120308,,,A*5F
+$GPRMC,123223.00,A,5157.64788,N,00424.46059,E,17.642,154.41,120308,,,A*59
+$GPRMC,123224.00,A,5157.64341,N,00424.46403,E,17.899,154.47,120308,,,A*5A
+$GPRMC,123225.00,A,5157.63889,N,00424.46751,E,18.208,154.54,120308,,,A*58
+$GPRMC,123226.00,A,5157.63425,N,00424.47111,E,18.704,154.50,120308,,,A*5F
+$GPRMC,123227.00,A,5157.62955,N,00424.47476,E,18.765,154.22,120308,,,A*53
+$GPRMC,123228.00,A,5157.62489,N,00424.47841,E,18.496,153.97,120308,,,A*5E
+$GPRMC,123229.00,A,5157.62025,N,00424.48199,E,18.434,155.09,120308,,,A*57
+$GPRMC,123230.00,A,5157.61564,N,00424.48569,E,18.492,154.10,120308,,,A*52
+$GPRMC,123231.00,A,5157.61105,N,00424.48932,E,18.316,154.17,120308,,,A*5E
+$GPRMC,123232.00,A,5157.60649,N,00424.49291,E,18.176,154.30,120308,,,A*51
+$GPRMC,123233.00,A,5157.60195,N,00424.49639,E,18.029,154.29,120308,,,A*53
+$GPRMC,123234.00,A,5157.59747,N,00424.49989,E,17.810,154.21,120308,,,A*56
+$GPRMC,123235.00,A,5157.59304,N,00424.50333,E,17.595,154.33,120308,,,A*54
+$GPRMC,123236.00,A,5157.58866,N,00424.50675,E,17.360,154.30,120308,,,A*51
+$GPRMC,123237.00,A,5157.58434,N,00424.51012,E,17.117,154.42,120308,,,A*5A
+$GPRMC,123238.00,A,5157.58008,N,00424.51343,E,16.895,154.47,120308,,,A*5E
+$GPRMC,123239.00,A,5157.57588,N,00424.51672,E,16.708,154.14,120308,,,A*57
+$GPRMC,123240.00,A,5157.57174,N,00424.52004,E,16.523,153.53,120308,,,A*55
+$GPRMC,123241.00,A,5157.56764,N,00424.52333,E,16.442,153.56,120308,,,A*56
+$GPRMC,123242.00,A,5157.56346,N,00424.52667,E,16.995,153.84,120308,,,A*5D
+$GPRMC,123243.00,A,5157.55910,N,00424.53016,E,17.867,153.92,120308,,,A*5D
+$GPRMC,123244.00,A,5157.55459,N,00424.53374,E,18.191,153.96,120308,,,A*56
+$GPRMC,123245.00,A,5157.55001,N,00424.53736,E,18.359,154.29,120308,,,A*59
+$GPRMC,123246.00,A,5157.54540,N,00424.54090,E,18.461,154.14,120308,,,A*55
+$GPRMC,123247.00,A,5157.54072,N,00424.54450,E,18.413,153.99,120308,,,A*5F
+$GPRMC,123248.00,A,5157.53606,N,00424.54812,E,18.460,153.92,120308,,,A*57
+$GPRMC,123249.00,A,5157.53141,N,00424.55174,E,18.386,154.06,120308,,,A*5F
+$GPRMC,123250.00,A,5157.52677,N,00424.55530,E,18.356,154.13,120308,,,A*59
+$GPRMC,123251.00,A,5157.52218,N,00424.55883,E,18.297,154.23,120308,,,A*5F
+$GPRMC,123252.00,A,5157.51761,N,00424.56240,E,18.143,154.22,120308,,,A*59
+$GPRMC,123253.00,A,5157.51308,N,00424.56595,E,17.925,154.42,120308,,,A*5D
+$GPRMC,123254.00,A,5157.50862,N,00424.56940,E,17.754,154.30,120308,,,A*55
+$GPRMC,123255.00,A,5157.50420,N,00424.57284,E,17.597,154.32,120308,,,A*53
+$GPRMC,123256.00,A,5157.49983,N,00424.57618,E,17.388,154.45,120308,,,A*55
+$GPRMC,123257.00,A,5157.49549,N,00424.57949,E,17.413,154.41,120308,,,A*54
+$GPRMC,123258.00,A,5157.49113,N,00424.58276,E,17.678,154.47,120308,,,A*51
+$GPRMC,123259.00,A,5157.48667,N,00424.58611,E,18.138,154.65,120308,,,A*5C
+$GPRMC,123300.00,A,5157.48203,N,00424.58962,E,18.962,154.49,120308,,,A*55
+$GPRMC,123301.00,A,5157.47717,N,00424.59336,E,20.039,154.24,120308,,,A*56
+$GPRMC,123302.00,A,5157.47200,N,00424.59736,E,21.329,154.30,120308,,,A*54
+$GPRMC,123303.00,A,5157.46649,N,00424.60162,E,22.701,154.34,120308,,,A*59
+$GPRMC,123304.00,A,5157.46061,N,00424.60618,E,24.072,154.46,120308,,,A*58
+$GPRMC,123305.00,A,5157.45436,N,00424.61103,E,25.452,154.45,120308,,,A*54
+$GPRMC,123306.00,A,5157.44778,N,00424.61617,E,26.779,154.30,120308,,,A*56
+$GPRMC,123307.00,A,5157.44087,N,00424.62161,E,28.108,154.09,120308,,,A*51
+$GPRMC,123308.00,A,5157.43364,N,00424.62730,E,29.320,154.07,120308,,,A*52
+$GPRMC,123309.00,A,5157.42616,N,00424.63321,E,30.306,154.07,120308,,,A*5B
+$GPRMC,123310.00,A,5157.41844,N,00424.63929,E,30.945,154.17,120308,,,A*57
+$GPRMC,123311.00,A,5157.41058,N,00424.64551,E,31.478,154.20,120308,,,A*51
+$GPRMC,123312.00,A,5157.40261,N,00424.65178,E,31.714,154.37,120308,,,A*5A
+$GPRMC,123313.00,A,5157.39464,N,00424.65802,E,31.699,154.30,120308,,,A*51
+$GPRMC,123314.00,A,5157.38668,N,00424.66426,E,31.656,154.26,120308,,,A*54
+$GPRMC,123315.00,A,5157.37870,N,00424.67054,E,31.868,154.19,120308,,,A*52
+$GPRMC,123316.00,A,5157.37062,N,00424.67691,E,32.464,154.22,120308,,,A*5E
+$GPRMC,123317.00,A,5157.36239,N,00424.68339,E,33.046,154.19,120308,,,A*57
+$GPRMC,123318.00,A,5157.35404,N,00424.68994,E,33.402,154.25,120308,,,A*55
+$GPRMC,123319.00,A,5157.34561,N,00424.69654,E,33.628,154.34,120308,,,A*5F
+$GPRMC,123320.00,A,5157.33717,N,00424.70316,E,33.559,154.13,120308,,,A*5A
+$GPRMC,123321.00,A,5157.32883,N,00424.70976,E,32.908,153.94,120308,,,A*55
+$GPRMC,123322.00,A,5157.32072,N,00424.71619,E,31.802,154.03,120308,,,A*56
+$GPRMC,123323.00,A,5157.31291,N,00424.72233,E,30.587,154.26,120308,,,A*52
+$GPRMC,123324.00,A,5157.30536,N,00424.72820,E,29.526,154.41,120308,,,A*54
+$GPRMC,123325.00,A,5157.29806,N,00424.73387,E,28.722,154.43,120308,,,A*51
+$GPRMC,123326.00,A,5157.29085,N,00424.73944,E,28.615,154.58,120308,,,A*5B
+$GPRMC,123327.00,A,5157.28361,N,00424.74506,E,29.040,154.38,120308,,,A*5E
+$GPRMC,123328.00,A,5157.27625,N,00424.75075,E,29.595,154.60,120308,,,A*5B
+$GPRMC,123329.00,A,5157.26866,N,00424.75655,E,30.611,154.95,120308,,,A*5B
+$GPRMC,123330.00,A,5157.26082,N,00424.76243,E,31.407,155.25,120308,,,A*5F
+$GPRMC,123331.00,A,5157.25278,N,00424.76836,E,31.997,155.79,120308,,,A*5F
+$GPRMC,123332.00,A,5157.24468,N,00424.77421,E,31.742,156.06,120308,,,A*5C
+$GPRMC,123333.00,A,5157.23652,N,00424.78013,E,31.645,155.96,120308,,,A*57
+$GPRMC,123334.00,A,5157.22848,N,00424.78595,E,31.338,155.91,120308,,,A*57
+$GPRMC,123335.00,A,5157.22048,N,00424.79175,E,31.284,155.59,120308,,,A*57
+$GPRMC,123336.00,A,5157.21252,N,00424.79771,E,31.521,154.84,120308,,,A*55
+$GPRMC,123337.00,A,5157.20454,N,00424.80386,E,31.707,154.30,120308,,,A*56
+$GPRMC,123338.00,A,5157.19658,N,00424.80998,E,31.411,154.26,120308,,,A*5B
+$GPRMC,123339.00,A,5157.18872,N,00424.81606,E,31.230,154.21,120308,,,A*56
+$GPRMC,123340.00,A,5157.18095,N,00424.82222,E,30.954,153.67,120308,,,A*55
+$GPRMC,123341.00,A,5157.17318,N,00424.82839,E,30.907,153.55,120308,,,A*5A
+$GPRMC,123342.00,A,5157.16545,N,00424.83450,E,30.621,153.83,120308,,,A*54
+$GPRMC,123343.00,A,5157.15773,N,00424.84055,E,30.781,154.10,120308,,,A*51
+$GPRMC,123344.00,A,5157.15004,N,00424.84638,E,30.858,154.10,120308,,,A*57
+$GPRMC,123345.00,A,5157.14228,N,00424.85243,E,30.967,153.94,120308,,,A*54
+$GPRMC,123346.00,A,5157.13456,N,00424.85841,E,31.031,153.85,120308,,,A*5C
+$GPRMC,123347.00,A,5157.12688,N,00424.86445,E,30.811,153.54,120308,,,A*51
+$GPRMC,123348.00,A,5157.11930,N,00424.87057,E,30.326,153.38,120308,,,A*52
+$GPRMC,123349.00,A,5157.11180,N,00424.87659,E,30.040,153.68,120308,,,A*5E
+$GPRMC,123350.00,A,5157.10440,N,00424.88222,E,29.571,154.77,120308,,,A*5F
+$GPRMC,123351.00,A,5157.09698,N,00424.88738,E,28.640,158.49,120308,,,A*5E
+$GPRMC,123352.00,A,5157.08966,N,00424.89141,E,27.488,163.65,120308,,,A*54
+$GPRMC,123353.00,A,5157.08261,N,00424.89388,E,25.997,169.74,120308,,,A*55
+$GPRMC,123354.00,A,5157.07595,N,00424.89518,E,23.327,175.05,120308,,,A*52
+$GPRMC,123355.00,A,5157.07005,N,00424.89560,E,19.737,179.53,120308,,,A*53
+$GPRMC,123356.00,A,5157.06529,N,00424.89525,E,15.581,183.04,120308,,,A*5F
+$GPRMC,123357.00,A,5157.06166,N,00424.89457,E,11.670,184.86,120308,,,A*51
+$GPRMC,123358.00,A,5157.05928,N,00424.89417,E,7.320,183.40,120308,,,A*61
+$GPRMC,123359.00,A,5157.05797,N,00424.89410,E,3.959,177.54,120308,,,A*63
+$GPRMC,123400.00,A,5157.05721,N,00424.89396,E,2.717,186.43,120308,,,A*61
+$GPRMC,123401.00,A,5157.05682,N,00424.89379,E,1.542,186.73,120308,,,A*6B
+$GPRMC,123402.00,A,5157.05659,N,00424.89366,E,1.460,186.82,120308,,,A*6F
+$GPRMC,123403.00,A,5157.05600,N,00424.89339,E,3.591,191.11,120308,,,A*69
+$GPRMC,123404.00,A,5157.05486,N,00424.89307,E,5.791,187.93,120308,,,A*66
+$GPRMC,123405.00,A,5157.05301,N,00424.89241,E,7.530,190.73,120308,,,A*6F
+$GPRMC,123406.00,A,5157.05127,N,00424.89192,E,6.578,191.11,120308,,,A*6F
+$GPRMC,123407.00,A,5157.05004,N,00424.89168,E,4.586,190.48,120308,,,A*65
+$GPRMC,123408.00,A,5157.04913,N,00424.89146,E,3.805,192.86,120308,,,A*69
+$GPRMC,123409.00,A,5157.04836,N,00424.89115,E,2.985,193.57,120308,,,A*6D
+$GPRMC,123410.00,A,5157.04769,N,00424.89088,E,2.796,194.01,120308,,,A*6D
+$GPRMC,123411.00,A,5157.04696,N,00424.89050,E,2.736,193.61,120308,,,A*63
+$GPRMC,123412.00,A,5157.04629,N,00424.89010,E,2.214,194.87,120308,,,A*6A
+$GPRMC,123413.00,A,5157.04578,N,00424.88975,E,1.583,194.84,120308,,,A*6E
+$GPRMC,123414.00,A,5157.04524,N,00424.88936,E,2.216,194.81,120308,,,A*6A
+$GPRMC,123415.00,A,5157.04441,N,00424.88894,E,4.017,194.56,120308,,,A*6F
+$GPRMC,123416.00,A,5157.04295,N,00424.88822,E,6.631,195.04,120308,,,A*68
+$GPRMC,123417.00,A,5157.04066,N,00424.88707,E,9.753,195.71,120308,,,A*67
+$GPRMC,123418.00,A,5157.03796,N,00424.88576,E,9.874,195.32,120308,,,A*6E
+$GPRMC,123419.00,A,5157.03524,N,00424.88454,E,10.085,194.24,120308,,,A*5D
+$GPRMC,123420.00,A,5157.03242,N,00424.88337,E,10.555,193.07,120308,,,A*5C
+$GPRMC,123421.00,A,5157.02951,N,00424.88230,E,10.646,191.40,120308,,,A*53
+$GPRMC,123422.00,A,5157.02665,N,00424.88146,E,10.222,188.63,120308,,,A*55
+$GPRMC,123423.00,A,5157.02394,N,00424.88090,E,9.627,185.77,120308,,,A*64
+$GPRMC,123424.00,A,5157.02129,N,00424.88076,E,9.819,179.90,120308,,,A*66
+$GPRMC,123425.00,A,5157.01814,N,00424.88106,E,12.531,174.43,120308,,,A*5B
+$GPRMC,123426.00,A,5157.01438,N,00424.88218,E,14.928,166.60,120308,,,A*56
+$GPRMC,123427.00,A,5157.01018,N,00424.88432,E,16.461,158.66,120308,,,A*56
+$GPRMC,123428.00,A,5157.00595,N,00424.88755,E,17.151,150.73,120308,,,A*51
+$GPRMC,123429.00,A,5157.00199,N,00424.89157,E,16.584,146.53,120308,,,A*55
+$GPRMC,123430.00,A,5156.99836,N,00424.89554,E,14.980,146.06,120308,,,A*5D
+$GPRMC,123431.00,A,5156.99521,N,00424.89893,E,12.438,146.22,120308,,,A*5F
+$GPRMC,123432.00,A,5156.99286,N,00424.90141,E,7.962,146.33,120308,,,A*6E
+$GPRMC,123433.00,A,5156.99148,N,00424.90280,E,4.049,146.46,120308,,,A*61
+$GPRMC,123434.00,A,5156.99069,N,00424.90354,E,2.731,146.01,120308,,,A*61
+$GPRMC,123435.00,A,5156.99026,N,00424.90383,E,0.835,146.86,120308,,,A*67
+$GPRMC,123436.00,A,5156.99018,N,00424.90376,E,0.129,152.09,120308,,,A*65
+$GPRMC,123437.00,A,5156.99018,N,00424.90363,E,0.010,,120308,,,A*7A
+$GPRMC,123438.00,A,5156.99017,N,00424.90353,E,0.018,,120308,,,A*71
+$GPRMC,123439.00,A,5156.99018,N,00424.90345,E,0.023,147.12,120308,,,A*6F
+$GPRMC,123440.00,A,5156.99019,N,00424.90338,E,0.018,,120308,,,A*7D
+$GPRMC,123441.00,A,5156.99020,N,00424.90332,E,0.093,141.84,120308,,,A*69
+$GPRMC,123442.00,A,5156.99021,N,00424.90327,E,0.020,139.48,120308,,,A*68
+$GPRMC,123443.00,A,5156.99024,N,00424.90319,E,0.009,,120308,,,A*73
+$GPRMC,123444.00,A,5156.99027,N,00424.90313,E,0.003,,120308,,,A*77
+$GPRMC,123445.00,A,5156.99030,N,00424.90306,E,0.031,136.56,120308,,,A*6C
+$GPRMC,123446.00,A,5156.99034,N,00424.90303,E,0.009,,120308,,,A*7C
+$GPRMC,123447.00,A,5156.99037,N,00424.90298,E,0.022,138.48,120308,,,A*6C
+$GPRMC,123448.00,A,5156.99041,N,00424.90295,E,0.024,137.50,120308,,,A*6F
+$GPRMC,123449.00,A,5156.99044,N,00424.90293,E,0.009,,120308,,,A*7C
+$GPRMC,123450.00,A,5156.99047,N,00424.90291,E,0.009,,120308,,,A*75
+$GPRMC,123451.00,A,5156.99051,N,00424.90288,E,0.014,,120308,,,A*77
+$GPRMC,123452.00,A,5156.99055,N,00424.90286,E,0.048,136.89,120308,,,A*6C
+$GPRMC,123453.00,A,5156.99058,N,00424.90282,E,0.018,,120308,,,A*7A
+$GPRMC,123454.00,A,5156.99063,N,00424.90280,E,0.004,,120308,,,A*7A
+$GPRMC,123455.00,A,5156.99067,N,00424.90279,E,0.007,,120308,,,A*7A
+$GPRMC,123456.00,A,5156.99072,N,00424.90276,E,0.021,134.68,120308,,,A*60
+$GPRMC,123457.00,A,5156.99077,N,00424.90270,E,0.017,,120308,,,A*71
+$GPRMC,123458.00,A,5156.99079,N,00424.90266,E,0.013,,120308,,,A*73
+$GPRMC,123459.00,A,5156.99082,N,00424.90264,E,0.019,,120308,,,A*7E
+$GPRMC,123500.00,A,5156.99085,N,00424.90261,E,0.009,,120308,,,A*70
+$GPRMC,123501.00,A,5156.99087,N,00424.90258,E,0.005,,120308,,,A*75
+$GPRMC,123502.00,A,5156.99090,N,00424.90256,E,0.016,,120308,,,A*7C
+$GPRMC,123503.00,A,5156.99093,N,00424.90251,E,0.022,136.24,120308,,,A*62
+$GPRMC,123504.00,A,5156.99095,N,00424.90246,E,0.007,,120308,,,A*7E
+$GPRMC,123505.00,A,5156.99097,N,00424.90245,E,0.003,,120308,,,A*7A
+$GPRMC,123506.00,A,5156.99098,N,00424.90245,E,0.015,,120308,,,A*71
+$GPRMC,123507.00,A,5156.99099,N,00424.90243,E,0.034,139.26,120308,,,A*65
+$GPRMC,123508.00,A,5156.99102,N,00424.90241,E,0.022,135.09,120308,,,A*6D
+$GPRMC,123509.00,A,5156.99105,N,00424.90241,E,0.015,,120308,,,A*7F
+$GPRMC,123510.00,A,5156.99109,N,00424.90242,E,0.022,133.82,120308,,,A*69
+$GPRMC,123511.00,A,5156.99114,N,00424.90244,E,0.005,,120308,,,A*72
+$GPRMC,123512.00,A,5156.99119,N,00424.90246,E,0.012,,120308,,,A*78
+$GPRMC,123513.00,A,5156.99121,N,00424.90244,E,0.014,,120308,,,A*76
+$GPRMC,123514.00,A,5156.99123,N,00424.90242,E,0.007,,120308,,,A*77
+$GPRMC,123515.00,A,5156.99123,N,00424.90239,E,0.016,,120308,,,A*7A
+$GPRMC,123516.00,A,5156.99122,N,00424.90234,E,0.005,,120308,,,A*77
+$GPRMC,123517.00,A,5156.99123,N,00424.90230,E,0.092,139.31,120308,,,A*6A
+$GPRMC,123518.00,A,5156.99123,N,00424.90226,E,0.009,,120308,,,A*77
+$GPRMC,123519.00,A,5156.99124,N,00424.90224,E,0.005,,120308,,,A*7F
+$GPRMC,123520.00,A,5156.99124,N,00424.90227,E,0.026,138.28,120308,,,A*69
+$GPRMC,123521.00,A,5156.99125,N,00424.90228,E,0.020,143.15,120308,,,A*62
+$GPRMC,123522.00,A,5156.99127,N,00424.90222,E,0.049,142.18,120308,,,A*6A
+$GPRMC,123523.00,A,5156.99129,N,00424.90216,E,0.042,139.69,120308,,,A*63
+$GPRMC,123524.00,A,5156.99132,N,00424.90211,E,0.039,138.40,120308,,,A*6F
+$GPRMC,123525.00,A,5156.99132,N,00424.90208,E,0.034,141.68,120308,,,A*6F
+$GPRMC,123526.00,A,5156.99136,N,00424.90195,E,0.008,,120308,,,A*74
+$GPRMC,123527.00,A,5156.99138,N,00424.90184,E,0.015,,120308,,,A*77
+$GPRMC,123528.00,A,5156.99139,N,00424.90175,E,0.046,145.02,120308,,,A*6D
+$GPRMC,123529.00,A,5156.99139,N,00424.90168,E,0.015,,120308,,,A*7A
+$GPRMC,123530.00,A,5156.99137,N,00424.90161,E,0.036,143.30,120308,,,A*6F
+$GPRMC,123531.00,A,5156.99135,N,00424.90156,E,0.013,,120308,,,A*74
+$GPRMC,123532.00,A,5156.99133,N,00424.90151,E,0.007,,120308,,,A*73
+$GPRMC,123533.00,A,5156.99130,N,00424.90147,E,0.012,,120308,,,A*72
+$GPRMC,123534.00,A,5156.99128,N,00424.90142,E,0.020,148.18,120308,,,A*62
+$GPRMC,123535.00,A,5156.99125,N,00424.90140,E,0.015,,120308,,,A*70
+$GPRMC,123536.00,A,5156.99122,N,00424.90142,E,0.008,,120308,,,A*7A
+$GPRMC,123537.00,A,5156.99120,N,00424.90143,E,0.040,143.47,120308,,,A*6F
+$GPRMC,123538.00,A,5156.99117,N,00424.90146,E,0.025,141.76,120308,,,A*62
+$GPRMC,123539.00,A,5156.99117,N,00424.90150,E,0.037,147.22,120308,,,A*60
+$GPRMC,123540.00,A,5156.99117,N,00424.90156,E,0.008,,120308,,,A*78
+$GPRMC,123541.00,A,5156.99114,N,00424.90162,E,0.015,,120308,,,A*71
+$GPRMC,123542.00,A,5156.99114,N,00424.90165,E,0.020,152.04,120308,,,A*6F
+$GPRMC,123543.00,A,5156.99112,N,00424.90169,E,0.017,,120308,,,A*7C
+$GPRMC,123544.00,A,5156.99110,N,00424.90174,E,0.027,153.78,120308,,,A*60
+$GPRMC,123545.00,A,5156.99107,N,00424.90180,E,0.011,,120308,,,A*7F
+$GPRMC,123546.00,A,5156.99106,N,00424.90186,E,0.050,150.17,120308,,,A*62
+$GPRMC,123547.00,A,5156.99103,N,00424.90191,E,0.130,144.78,120308,,,A*6B
+$GPRMC,123548.00,A,5156.99102,N,00424.90194,E,0.040,143.32,120308,,,A*6F
+$GPRMC,123549.00,A,5156.99103,N,00424.90198,E,0.059,138.05,120308,,,A*63
+$GPRMC,123550.00,A,5156.99107,N,00424.90200,E,0.006,,120308,,,A*76
+$GPRMC,123551.00,A,5156.99109,N,00424.90203,E,0.019,,120308,,,A*74
+$GPRMC,123552.00,A,5156.99121,N,00424.90207,E,0.023,137.67,120308,,,A*6A
+$GPRMC,123553.00,A,5156.99132,N,00424.90210,E,0.008,,120308,,,A*7C
+$GPRMC,123554.00,A,5156.99140,N,00424.90212,E,0.025,136.54,120308,,,A*68
+$GPRMC,123555.00,A,5156.99138,N,00424.90211,E,0.048,134.48,120308,,,A*61
+$GPRMC,123556.00,A,5156.99143,N,00424.90213,E,0.067,129.77,120308,,,A*61
+$GPRMC,123557.00,A,5156.99149,N,00424.90224,E,0.020,124.90,120308,,,A*69
+$GPRMC,123558.00,A,5156.99152,N,00424.90236,E,0.010,,120308,,,A*7C
+$GPRMC,123559.00,A,5156.99147,N,00424.90254,E,0.773,126.37,120308,,,A*60
+$GPRMC,123600.00,A,5156.99099,N,00424.90313,E,3.460,147.79,120308,,,A*60
+$GPRMC,123601.00,A,5156.98975,N,00424.90448,E,7.248,148.06,120308,,,A*6D
+$GPRMC,123602.00,A,5156.98764,N,00424.90668,E,10.488,147.99,120308,,,A*55
+$GPRMC,123603.00,A,5156.98507,N,00424.90941,E,11.313,147.14,120308,,,A*56
+$GPRMC,123604.00,A,5156.98248,N,00424.91275,E,12.195,135.56,120308,,,A*5C
+$GPRMC,123605.00,A,5156.98054,N,00424.91759,E,13.450,115.54,120308,,,A*54
+$GPRMC,123606.00,A,5156.97980,N,00424.92422,E,15.160,95.67,120308,,,A*6D
+$GPRMC,123607.00,A,5156.98026,N,00424.93138,E,15.601,76.29,120308,,,A*6E
+$GPRMC,123608.00,A,5156.98240,N,00424.93842,E,17.076,55.74,120308,,,A*6A
+$GPRMC,123609.00,A,5156.98544,N,00424.94488,E,19.310,49.01,120308,,,A*67
+$GPRMC,123610.00,A,5156.98912,N,00424.95195,E,21.505,50.78,120308,,,A*67
+$GPRMC,123611.00,A,5156.99280,N,00424.95962,E,21.764,53.33,120308,,,A*6E
+$GPRMC,123612.00,A,5156.99641,N,00424.96770,E,22.397,54.85,120308,,,A*6B
+$GPRMC,123613.00,A,5157.00011,N,00424.97622,E,23.594,55.17,120308,,,A*61
+$GPRMC,123614.00,A,5157.00385,N,00424.98485,E,23.295,54.79,120308,,,A*67
+$GPRMC,123615.00,A,5157.00753,N,00424.99327,E,22.201,54.73,120308,,,A*61
+$GPRMC,123616.00,A,5157.01100,N,00425.00120,E,20.984,54.74,120308,,,A*64
+$GPRMC,123617.00,A,5157.01411,N,00425.00835,E,18.085,54.44,120308,,,A*6D
+$GPRMC,123618.00,A,5157.01671,N,00425.01436,E,15.016,54.87,120308,,,A*60
+$GPRMC,123619.00,A,5157.01880,N,00425.01930,E,11.925,55.17,120308,,,A*6F
+$GPRMC,123620.00,A,5157.02049,N,00425.02330,E,10.085,54.84,120308,,,A*6B
+$GPRMC,123621.00,A,5157.02183,N,00425.02647,E,7.649,54.85,120308,,,A*59
+$GPRMC,123622.00,A,5157.02268,N,00425.02852,E,4.198,55.13,120308,,,A*50
+$GPRMC,123623.00,A,5157.02303,N,00425.02945,E,1.564,55.08,120308,,,A*52
+$GPRMC,123624.00,A,5157.02308,N,00425.02966,E,0.456,55.20,120308,,,A*54
+$GPRMC,123625.00,A,5157.02302,N,00425.02958,E,0.031,51.13,120308,,,A*53
+$GPRMC,123626.00,A,5157.02294,N,00425.02943,E,0.027,53.30,120308,,,A*50
+$GPRMC,123627.00,A,5157.02287,N,00425.02930,E,0.012,,120308,,,A*7A
+$GPRMC,123628.00,A,5157.02282,N,00425.02916,E,0.004,,120308,,,A*73
+$GPRMC,123629.00,A,5157.02278,N,00425.02903,E,0.021,49.26,120308,,,A*53
+$GPRMC,123630.00,A,5157.02275,N,00425.02893,E,0.026,45.52,120308,,,A*56
+$GPRMC,123631.00,A,5157.02273,N,00425.02883,E,0.022,41.85,120308,,,A*5A
+$GPRMC,123632.00,A,5157.02273,N,00425.02870,E,0.019,44.95,120308,,,A*59
+$GPRMC,123633.00,A,5157.02271,N,00425.02861,E,0.020,46.86,120308,,,A*50
+$GPRMC,123634.00,A,5157.02269,N,00425.02850,E,0.030,49.29,120308,,,A*57
+$GPRMC,123635.00,A,5157.02266,N,00425.02841,E,0.020,50.69,120308,,,A*54
+$GPRMC,123636.00,A,5157.02263,N,00425.02834,E,0.025,53.66,120308,,,A*59
+$GPRMC,123637.00,A,5157.02261,N,00425.02823,E,0.013,,120308,,,A*71
+$GPRMC,123638.00,A,5157.02258,N,00425.02814,E,0.042,57.00,120308,,,A*58
+$GPRMC,123639.00,A,5157.02254,N,00425.02803,E,0.025,57.18,120308,,,A*5B
+$GPRMC,123640.00,A,5157.02248,N,00425.02792,E,0.011,,120308,,,A*7D
+$GPRMC,123641.00,A,5157.02243,N,00425.02783,E,0.016,,120308,,,A*70
+$GPRMC,123642.00,A,5157.02239,N,00425.02776,E,0.022,60.19,120308,,,A*53
+$GPRMC,123643.00,A,5157.02235,N,00425.02770,E,0.049,54.69,120308,,,A*55
+$GPRMC,123644.00,A,5157.02233,N,00425.02766,E,0.046,50.92,120308,,,A*5C
+$GPRMC,123645.00,A,5157.02232,N,00425.02759,E,0.085,52.50,120308,,,A*53
+$GPRMC,123646.00,A,5157.02235,N,00425.02739,E,0.038,47.97,120308,,,A*58
+$GPRMC,123647.00,A,5157.02232,N,00425.02736,E,0.046,49.73,120308,,,A*5C
+$GPRMC,123648.00,A,5157.02230,N,00425.02731,E,0.025,44.89,120308,,,A*5B
+$GPRMC,123649.00,A,5157.02225,N,00425.02730,E,0.024,40.93,120308,,,A*51
+$GPRMC,123650.00,A,5157.02221,N,00425.02728,E,0.050,37.29,120308,,,A*56
+$GPRMC,123651.00,A,5157.02219,N,00425.02726,E,0.027,32.26,120308,,,A*58
+$GPRMC,123652.00,A,5157.02217,N,00425.02724,E,0.006,,120308,,,A*7F
+$GPRMC,123653.00,A,5157.02214,N,00425.02725,E,0.025,35.20,120308,,,A*57
+$GPRMC,123654.00,A,5157.02212,N,00425.02727,E,0.038,37.09,120308,,,A*51
+$GPRMC,123655.00,A,5157.02209,N,00425.02731,E,0.023,39.61,120308,,,A*57
+$GPRMC,123656.00,A,5157.02208,N,00425.02734,E,0.011,,120308,,,A*72
+$GPRMC,123657.00,A,5157.02207,N,00425.02736,E,0.014,,120308,,,A*7B
+$GPRMC,123658.00,A,5157.02206,N,00425.02740,E,0.030,35.47,120308,,,A*59
+$GPRMC,123659.00,A,5157.02206,N,00425.02749,E,0.127,36.31,120308,,,A*54
+$GPRMC,123700.00,A,5157.02207,N,00425.02753,E,0.063,38.59,120308,,,A*52
+$GPRMC,123701.00,A,5157.02207,N,00425.02755,E,0.077,40.52,120308,,,A*54
+$GPRMC,123702.00,A,5157.02208,N,00425.02759,E,0.033,42.80,120308,,,A*59
+$GPRMC,123703.00,A,5157.02208,N,00425.02760,E,0.023,46.05,120308,,,A*5A
+$GPRMC,123704.00,A,5157.02209,N,00425.02764,E,0.087,46.49,120308,,,A*5E
+$GPRMC,123705.00,A,5157.02211,N,00425.02773,E,0.208,46.81,120308,,,A*51
+$GPRMC,123706.00,A,5157.02215,N,00425.02780,E,0.254,47.38,120308,,,A*50
+$GPRMC,123707.00,A,5157.02219,N,00425.02792,E,0.333,48.20,120308,,,A*58
+$GPRMC,123708.00,A,5157.02222,N,00425.02800,E,0.279,48.46,120308,,,A*54
+$GPRMC,123709.00,A,5157.02224,N,00425.02804,E,0.168,48.87,120308,,,A*59
+$GPRMC,123710.00,A,5157.02225,N,00425.02804,E,0.055,51.00,120308,,,A*58
+$GPRMC,123711.00,A,5157.02221,N,00425.02813,E,0.015,,120308,,,A*75
+$GPRMC,123712.00,A,5157.02220,N,00425.02811,E,0.015,,120308,,,A*75
+$GPRMC,123713.00,A,5157.02219,N,00425.02808,E,0.014,,120308,,,A*77
+$GPRMC,123714.00,A,5157.02217,N,00425.02810,E,0.043,51.95,120308,,,A*53
+$GPRMC,123715.00,A,5157.02216,N,00425.02812,E,0.064,54.73,120308,,,A*59
+$GPRMC,123716.00,A,5157.02213,N,00425.02820,E,0.031,53.95,120308,,,A*51
+$GPRMC,123717.00,A,5157.02211,N,00425.02823,E,0.031,49.72,120308,,,A*53
+$GPRMC,123718.00,A,5157.02210,N,00425.02820,E,0.021,55.23,120308,,,A*56
+$GPRMC,123719.00,A,5157.02209,N,00425.02820,E,0.016,,120308,,,A*74
+$GPRMC,123720.00,A,5157.02207,N,00425.02817,E,0.042,53.09,120308,,,A*54
+$GPRMC,123721.00,A,5157.02204,N,00425.02818,E,0.053,56.29,120308,,,A*5E
+$GPRMC,123722.00,A,5157.02201,N,00425.02817,E,0.019,,120308,,,A*7F
+$GPRMC,123723.00,A,5157.02199,N,00425.02821,E,0.018,,120308,,,A*78
+$GPRMC,123724.00,A,5157.02197,N,00425.02826,E,0.019,,120308,,,A*77
+$GPRMC,123725.00,A,5157.02195,N,00425.02832,E,0.014,,120308,,,A*7C
+$GPRMC,123726.00,A,5157.02192,N,00425.02844,E,0.005,,120308,,,A*79
+$GPRMC,123727.00,A,5157.02188,N,00425.02859,E,0.039,57.26,120308,,,A*58
+$GPRMC,123728.00,A,5157.02185,N,00425.02870,E,0.109,57.71,120308,,,A*51
+$GPRMC,123729.00,A,5157.02192,N,00425.02895,E,0.841,57.19,120308,,,A*56
+$GPRMC,123730.00,A,5157.02218,N,00425.02960,E,2.466,55.11,120308,,,A*55
+$GPRMC,123731.00,A,5157.02287,N,00425.03126,E,6.052,54.94,120308,,,A*52
+$GPRMC,123732.00,A,5157.02413,N,00425.03424,E,9.894,55.21,120308,,,A*5F
+$GPRMC,123733.00,A,5157.02590,N,00425.03825,E,11.999,54.79,120308,,,A*60
+$GPRMC,123734.00,A,5157.02821,N,00425.04252,E,13.222,45.23,120308,,,A*6B
+$GPRMC,123735.00,A,5157.03138,N,00425.04585,E,13.923,21.45,120308,,,A*6F
+$GPRMC,123736.00,A,5157.03537,N,00425.04626,E,15.501,349.28,120308,,,A*51
+$GPRMC,123737.00,A,5157.03930,N,00425.04309,E,16.935,323.59,120308,,,A*51
+$GPRMC,123738.00,A,5157.04154,N,00425.03638,E,17.369,294.15,120308,,,A*54
+$GPRMC,123739.00,A,5157.04297,N,00425.02825,E,19.725,284.03,120308,,,A*5E
+$GPRMC,123740.00,A,5157.04482,N,00425.01913,E,22.511,289.80,120308,,,A*5E
+$GPRMC,123741.00,A,5157.04749,N,00425.00899,E,25.832,295.15,120308,,,A*53
+$GPRMC,123742.00,A,5157.05119,N,00424.99850,E,27.305,301.63,120308,,,A*56
+$GPRMC,123743.00,A,5157.05591,N,00424.98777,E,30.312,306.47,120308,,,A*59
+$GPRMC,123744.00,A,5157.06173,N,00424.97654,E,33.503,310.33,120308,,,A*5B
+$GPRMC,123745.00,A,5157.06828,N,00424.96442,E,36.604,312.56,120308,,,A*59
+$GPRMC,123746.00,A,5157.07571,N,00424.95183,E,39.134,314.77,120308,,,A*5F
+$GPRMC,123747.00,A,5157.08384,N,00424.93948,E,39.623,318.17,120308,,,A*5F
+$GPRMC,123748.00,A,5157.09267,N,00424.92776,E,41.106,322.47,120308,,,A*5C
+$GPRMC,123749.00,A,5157.10241,N,00424.91679,E,42.749,326.83,120308,,,A*5E
+$GPRMC,123750.00,A,5157.11294,N,00424.90641,E,44.453,329.47,120308,,,A*5C
+$GPRMC,123751.00,A,5157.12402,N,00424.89618,E,46.081,330.60,120308,,,A*57
+$GPRMC,123752.00,A,5157.13557,N,00424.88584,E,47.695,331.12,120308,,,A*55
+$GPRMC,123753.00,A,5157.14757,N,00424.87525,E,49.247,331.24,120308,,,A*55
+$GPRMC,123754.00,A,5157.15977,N,00424.86461,E,49.360,331.87,120308,,,A*52
+$GPRMC,123755.00,A,5157.17200,N,00424.85431,E,48.623,332.63,120308,,,A*56
+$GPRMC,123756.00,A,5157.18423,N,00424.84440,E,48.635,333.60,120308,,,A*5F
+$GPRMC,123757.00,A,5157.19663,N,00424.83463,E,49.454,333.87,120308,,,A*52
+$GPRMC,123758.00,A,5157.20919,N,00424.82465,E,50.249,333.44,120308,,,A*5F
+$GPRMC,123759.00,A,5157.22187,N,00424.81432,E,51.016,332.81,120308,,,A*53
+$GPRMC,123800.00,A,5157.23467,N,00424.80368,E,51.753,332.61,120308,,,A*5B
+$GPRMC,123801.00,A,5157.24763,N,00424.79297,E,52.192,333.06,120308,,,A*55
+$GPRMC,123802.00,A,5157.26082,N,00424.78242,E,52.550,333.53,120308,,,A*5F
+$GPRMC,123803.00,A,5157.27401,N,00424.77191,E,52.434,333.56,120308,,,A*54
+$GPRMC,123804.00,A,5157.28717,N,00424.76137,E,52.361,333.45,120308,,,A*50
+$GPRMC,123805.00,A,5157.30030,N,00424.75087,E,52.259,333.68,120308,,,A*56
+$GPRMC,123806.00,A,5157.31343,N,00424.74042,E,52.332,333.67,120308,,,A*58
+$GPRMC,123807.00,A,5157.32663,N,00424.73000,E,52.589,334.03,120308,,,A*5F
+$GPRMC,123808.00,A,5157.33995,N,00424.71969,E,52.825,334.56,120308,,,A*58
+$GPRMC,123809.00,A,5157.35333,N,00424.70945,E,53.089,334.68,120308,,,A*54
+$GPRMC,123810.00,A,5157.36674,N,00424.69911,E,53.296,334.34,120308,,,A*55
+$GPRMC,123811.00,A,5157.38023,N,00424.68869,E,53.724,334.41,120308,,,A*5F
+$GPRMC,123812.00,A,5157.39379,N,00424.67817,E,54.014,334.29,120308,,,A*5A
+$GPRMC,123813.00,A,5157.40745,N,00424.66741,E,54.827,333.70,120308,,,A*50
+$GPRMC,123814.00,A,5157.42124,N,00424.65625,E,55.709,333.09,120308,,,A*58
+$GPRMC,123815.00,A,5157.43519,N,00424.64470,E,56.549,332.67,120308,,,A*5D
+$GPRMC,123816.00,A,5157.44929,N,00424.63297,E,56.967,332.91,120308,,,A*57
+$GPRMC,123817.00,A,5157.46349,N,00424.62137,E,56.941,333.40,120308,,,A*59
+$GPRMC,123818.00,A,5157.47768,N,00424.60985,E,56.881,333.41,120308,,,A*5F
+$GPRMC,123819.00,A,5157.49190,N,00424.59846,E,56.844,333.83,120308,,,A*52
+$GPRMC,123820.00,A,5157.50615,N,00424.58721,E,56.761,334.04,120308,,,A*55
+$GPRMC,123821.00,A,5157.52038,N,00424.57601,E,56.612,333.91,120308,,,A*5D
+$GPRMC,123822.00,A,5157.53456,N,00424.56480,E,56.514,333.95,120308,,,A*58
+$GPRMC,123823.00,A,5157.54873,N,00424.55362,E,56.551,334.01,120308,,,A*56
+$GPRMC,123824.00,A,5157.56287,N,00424.54244,E,56.446,333.99,120308,,,A*57
+$GPRMC,123825.00,A,5157.57703,N,00424.53135,E,56.503,334.29,120308,,,A*50
+$GPRMC,123826.00,A,5157.59118,N,00424.52030,E,56.429,334.20,120308,,,A*54
+$GPRMC,123827.00,A,5157.60530,N,00424.50929,E,56.236,334.43,120308,,,A*5F
+$GPRMC,123828.00,A,5157.61936,N,00424.49833,E,55.967,334.22,120308,,,A*52
+$GPRMC,123829.00,A,5157.63341,N,00424.48740,E,56.080,334.44,120308,,,A*52
+$GPRMC,123830.00,A,5157.64740,N,00424.47656,E,55.981,334.45,120308,,,A*5B
+$GPRMC,123831.00,A,5157.66143,N,00424.46570,E,56.266,334.39,120308,,,A*51
+$GPRMC,123832.00,A,5157.67558,N,00424.45477,E,56.658,334.36,120308,,,A*5E
+$GPRMC,123833.00,A,5157.68985,N,00424.44375,E,57.226,334.34,120308,,,A*56
+$GPRMC,123834.00,A,5157.70432,N,00424.43249,E,58.154,334.16,120308,,,A*59
+$GPRMC,123835.00,A,5157.71901,N,00424.42100,E,59.045,334.15,120308,,,A*58
+$GPRMC,123836.00,A,5157.73393,N,00424.40938,E,59.833,334.33,120308,,,A*54
+$GPRMC,123837.00,A,5157.74906,N,00424.39770,E,60.526,334.63,120308,,,A*5E
+$GPRMC,123838.00,A,5157.76438,N,00424.38594,E,61.163,334.59,120308,,,A*57
+$GPRMC,123839.00,A,5157.77985,N,00424.37408,E,61.699,334.62,120308,,,A*5D
+$GPRMC,123840.00,A,5157.79542,N,00424.36206,E,62.158,334.35,120308,,,A*58
+$GPRMC,123841.00,A,5157.81109,N,00424.34991,E,62.543,334.38,120308,,,A*51
+$GPRMC,123842.00,A,5157.82688,N,00424.33769,E,63.124,334.27,120308,,,A*5B
+$GPRMC,123843.00,A,5157.84276,N,00424.32527,E,63.586,334.08,120308,,,A*51
+$GPRMC,123844.00,A,5157.85872,N,00424.31268,E,64.047,333.98,120308,,,A*57
+$GPRMC,123845.00,A,5157.87482,N,00424.30002,E,64.418,334.20,120308,,,A*52
+$GPRMC,123846.00,A,5157.89105,N,00424.28739,E,64.806,334.38,120308,,,A*59
+$GPRMC,123847.00,A,5157.90738,N,00424.27475,E,65.066,334.39,120308,,,A*52
+$GPRMC,123848.00,A,5157.92374,N,00424.26199,E,65.327,334.20,120308,,,A*5B
+$GPRMC,123849.00,A,5157.94016,N,00424.24914,E,65.597,334.11,120308,,,A*5B
+$GPRMC,123850.00,A,5157.95663,N,00424.23617,E,65.899,334.10,120308,,,A*5F
+$GPRMC,123851.00,A,5157.97315,N,00424.22316,E,66.179,333.87,120308,,,A*50
+$GPRMC,123852.00,A,5157.98974,N,00424.21004,E,66.679,334.18,120308,,,A*54
+$GPRMC,123853.00,A,5158.00645,N,00424.19685,E,67.087,334.03,120308,,,A*5E
+$GPRMC,123854.00,A,5158.02327,N,00424.18363,E,67.437,334.29,120308,,,A*51
+$GPRMC,123855.00,A,5158.04022,N,00424.17045,E,67.700,334.36,120308,,,A*51
+$GPRMC,123856.00,A,5158.05725,N,00424.15721,E,67.943,334.33,120308,,,A*58
+$GPRMC,123857.00,A,5158.07434,N,00424.14394,E,68.184,334.35,120308,,,A*59
+$GPRMC,123858.00,A,5158.09146,N,00424.13062,E,68.355,334.34,120308,,,A*5A
+$GPRMC,123859.00,A,5158.10862,N,00424.11722,E,68.401,334.03,120308,,,A*5F
+$GPRMC,123900.00,A,5158.12573,N,00424.10376,E,68.297,334.16,120308,,,A*54
+$GPRMC,123901.00,A,5158.14276,N,00424.09039,E,67.685,334.06,120308,,,A*58
+$GPRMC,123902.00,A,5158.15964,N,00424.07721,E,66.990,334.38,120308,,,A*55
+$GPRMC,123903.00,A,5158.17633,N,00424.06424,E,66.286,334.36,120308,,,A*5E
+$GPRMC,123904.00,A,5158.19289,N,00424.05150,E,65.630,334.70,120308,,,A*5F
+$GPRMC,123905.00,A,5158.20930,N,00424.03896,E,65.037,334.69,120308,,,A*51
+$GPRMC,123906.00,A,5158.22559,N,00424.02662,E,64.464,335.09,120308,,,A*53
+$GPRMC,123907.00,A,5158.24184,N,00424.01469,E,63.939,335.97,120308,,,A*5F
+$GPRMC,123908.00,A,5158.25812,N,00424.00342,E,63.513,337.55,120308,,,A*50
+$GPRMC,123909.00,A,5158.27449,N,00423.99307,E,63.233,339.63,120308,,,A*59
+$GPRMC,123910.00,A,5158.29098,N,00423.98366,E,62.881,341.12,120308,,,A*5A
+$GPRMC,123911.00,A,5158.30755,N,00423.97511,E,62.437,343.10,120308,,,A*5D
+$GPRMC,123912.00,A,5158.32416,N,00423.96745,E,62.151,344.72,120308,,,A*5C
+$GPRMC,123913.00,A,5158.34072,N,00423.96030,E,61.649,345.03,120308,,,A*52
+$GPRMC,123914.00,A,5158.35713,N,00423.95330,E,60.999,345.12,120308,,,A*57
+$GPRMC,123915.00,A,5158.37341,N,00423.94649,E,60.296,345.52,120308,,,A*5D
+$GPRMC,123916.00,A,5158.38953,N,00423.93982,E,59.759,345.50,120308,,,A*59
+$GPRMC,123917.00,A,5158.40552,N,00423.93315,E,59.347,345.22,120308,,,A*50
+$GPRMC,123918.00,A,5158.42138,N,00423.92637,E,59.193,345.03,120308,,,A*59
+$GPRMC,123919.00,A,5158.43724,N,00423.91965,E,59.082,345.37,120308,,,A*5F
+$GPRMC,123920.00,A,5158.45304,N,00423.91309,E,58.685,345.68,120308,,,A*5F
+$GPRMC,123921.00,A,5158.46870,N,00423.90680,E,57.794,346.51,120308,,,A*57
+$GPRMC,123922.00,A,5158.48415,N,00423.90095,E,56.777,347.16,120308,,,A*59
+$GPRMC,123923.00,A,5158.49940,N,00423.89545,E,56.152,347.66,120308,,,A*52
+$GPRMC,123924.00,A,5158.51452,N,00423.89015,E,55.965,347.94,120308,,,A*50
+$GPRMC,123925.00,A,5158.52959,N,00423.88490,E,55.681,347.77,120308,,,A*54
+$GPRMC,123926.00,A,5158.54450,N,00423.87948,E,54.869,346.98,120308,,,A*5B
+$GPRMC,123927.00,A,5158.55914,N,00423.87385,E,53.851,346.16,120308,,,A*57
+$GPRMC,123928.00,A,5158.57347,N,00423.86812,E,52.708,345.80,120308,,,A*5C
+$GPRMC,123929.00,A,5158.58745,N,00423.86237,E,51.555,345.48,120308,,,A*54
+$GPRMC,123930.00,A,5158.60111,N,00423.85670,E,50.473,345.45,120308,,,A*5D
+$GPRMC,123931.00,A,5158.61449,N,00423.85107,E,49.447,345.14,120308,,,A*59
+$GPRMC,123932.00,A,5158.62758,N,00423.84546,E,48.405,345.13,120308,,,A*5A
+$GPRMC,123933.00,A,5158.64038,N,00423.84000,E,47.301,345.20,120308,,,A*57
+$GPRMC,123934.00,A,5158.65287,N,00423.83456,E,46.300,344.76,120308,,,A*55
+$GPRMC,123935.00,A,5158.66510,N,00423.82919,E,45.501,344.89,120308,,,A*5D
+$GPRMC,123936.00,A,5158.67718,N,00423.82397,E,45.168,345.30,120308,,,A*51
+$GPRMC,123937.00,A,5158.68920,N,00423.81885,E,45.072,345.22,120308,,,A*58
+$GPRMC,123938.00,A,5158.70125,N,00423.81371,E,45.336,345.08,120308,,,A*58
+$GPRMC,123939.00,A,5158.71341,N,00423.80851,E,45.760,345.29,120308,,,A*54
+$GPRMC,123940.00,A,5158.72570,N,00423.80333,E,46.372,345.29,120308,,,A*56
+$GPRMC,123941.00,A,5158.73818,N,00423.79805,E,46.979,345.29,120308,,,A*5C
+$GPRMC,123942.00,A,5158.75082,N,00423.79273,E,47.653,345.53,120308,,,A*52
+$GPRMC,123943.00,A,5158.76370,N,00423.78752,E,48.357,346.35,120308,,,A*54
+$GPRMC,123944.00,A,5158.77680,N,00423.78250,E,48.957,346.91,120308,,,A*5B
+$GPRMC,123945.00,A,5158.79010,N,00423.77767,E,49.727,347.73,120308,,,A*50
+$GPRMC,123946.00,A,5158.80360,N,00423.77308,E,50.228,348.54,120308,,,A*54
+$GPRMC,123947.00,A,5158.81728,N,00423.76853,E,50.562,348.11,120308,,,A*50
+$GPRMC,123948.00,A,5158.83104,N,00423.76360,E,51.015,346.80,120308,,,A*5C
+$GPRMC,123949.00,A,5158.84478,N,00423.75824,E,50.927,346.07,120308,,,A*5A
+$GPRMC,123950.00,A,5158.85837,N,00423.75266,E,50.140,345.42,120308,,,A*53
+$GPRMC,123951.00,A,5158.87165,N,00423.74708,E,48.979,345.29,120308,,,A*54
+$GPRMC,123952.00,A,5158.88464,N,00423.74152,E,47.915,345.27,120308,,,A*5E
+$GPRMC,123953.00,A,5158.89720,N,00423.73615,E,46.121,345.32,120308,,,A*54
+$GPRMC,123954.00,A,5158.90927,N,00423.73125,E,44.313,346.78,120308,,,A*5A
+$GPRMC,123955.00,A,5158.92080,N,00423.72736,E,41.745,349.88,120308,,,A*5A
+$GPRMC,123956.00,A,5158.93151,N,00423.72487,E,38.030,353.89,120308,,,A*5D
+$GPRMC,123957.00,A,5158.94145,N,00423.72413,E,35.661,0.47,120308,,,A*5B
+$GPRMC,123958.00,A,5158.94999,N,00423.72648,E,32.250,10.69,120308,,,A*6D
+$GPRMC,123959.00,A,5158.95772,N,00423.73055,E,30.629,20.22,120308,,,A*69
+$GPRMC,124000.00,A,5158.96523,N,00423.73686,E,30.145,31.21,120308,,,A*68
+$GPRMC,124001.00,A,5158.97187,N,00423.74507,E,30.304,38.28,120308,,,A*68
+$GPRMC,124002.00,A,5158.97820,N,00423.75398,E,29.859,39.62,120308,,,A*6A
+$GPRMC,124003.00,A,5158.98449,N,00423.76204,E,28.440,34.45,120308,,,A*6D
+$GPRMC,124004.00,A,5158.99116,N,00423.76791,E,26.973,21.66,120308,,,A*6B
+$GPRMC,124005.00,A,5158.99831,N,00423.77084,E,26.638,6.69,120308,,,A*5E
+$GPRMC,124006.00,A,5159.00521,N,00423.77021,E,25.614,351.53,120308,,,A*5A
+$GPRMC,124007.00,A,5159.01192,N,00423.76766,E,25.445,345.62,120308,,,A*52
+$GPRMC,124008.00,A,5159.01868,N,00423.76468,E,25.207,344.62,120308,,,A*5D
+$GPRMC,124009.00,A,5159.02534,N,00423.76162,E,25.126,344.59,120308,,,A*5C
+$GPRMC,124010.00,A,5159.03195,N,00423.75860,E,24.591,344.54,120308,,,A*56
+$GPRMC,124011.00,A,5159.03839,N,00423.75565,E,24.039,344.95,120308,,,A*5A
+$GPRMC,124012.00,A,5159.04472,N,00423.75283,E,23.357,345.60,120308,,,A*55
+$GPRMC,124013.00,A,5159.05084,N,00423.75032,E,22.671,346.94,120308,,,A*58
+$GPRMC,124014.00,A,5159.05684,N,00423.74802,E,23.036,346.68,120308,,,A*54
+$GPRMC,124015.00,A,5159.06300,N,00423.74545,E,23.453,345.41,120308,,,A*5E
+$GPRMC,124016.00,A,5159.06882,N,00423.74298,E,21.937,344.97,120308,,,A*5C
+$GPRMC,124017.00,A,5159.07447,N,00423.74035,E,21.226,344.24,120308,,,A*5F
+$GPRMC,124018.00,A,5159.07966,N,00423.73802,E,19.358,345.99,120308,,,A*51
+$GPRMC,124019.00,A,5159.08489,N,00423.73552,E,19.326,344.98,120308,,,A*52
+$GPRMC,124020.00,A,5159.08988,N,00423.73316,E,18.373,344.71,120308,,,A*54
+$GPRMC,124021.00,A,5159.09446,N,00423.73093,E,17.149,344.16,120308,,,A*50
+$GPRMC,124022.00,A,5159.09861,N,00423.72892,E,15.614,344.00,120308,,,A*58
+$GPRMC,124023.00,A,5159.10233,N,00423.72716,E,13.700,343.93,120308,,,A*50
+$GPRMC,124024.00,A,5159.10545,N,00423.72566,E,11.736,343.93,120308,,,A*53
+$GPRMC,124025.00,A,5159.10813,N,00423.72442,E,9.593,344.17,120308,,,A*64
+$GPRMC,124026.00,A,5159.11006,N,00423.72348,E,7.192,344.38,120308,,,A*61
+$GPRMC,124027.00,A,5159.11164,N,00423.72279,E,5.632,344.33,120308,,,A*62
+$GPRMC,124028.00,A,5159.11293,N,00423.72223,E,4.360,343.74,120308,,,A*6E
+$GPRMC,124029.00,A,5159.11384,N,00423.72177,E,3.512,343.12,120308,,,A*6E
+$GPRMC,124030.00,A,5159.11479,N,00423.72129,E,3.411,343.40,120308,,,A*6D
+$GPRMC,124031.00,A,5159.11566,N,00423.72081,E,3.341,342.09,120308,,,A*6E
+$GPRMC,124032.00,A,5159.11631,N,00423.72027,E,3.393,330.71,120308,,,A*65
+$GPRMC,124033.00,A,5159.11723,N,00423.71952,E,4.020,329.06,120308,,,A*6A
+$GPRMC,124034.00,A,5159.11836,N,00423.71844,E,4.495,325.33,120308,,,A*60
+$GPRMC,124035.00,A,5159.11941,N,00423.71733,E,4.234,323.16,120308,,,A*63
+$GPRMC,124036.00,A,5159.12033,N,00423.71614,E,4.241,320.43,120308,,,A*6A
+$GPRMC,124037.00,A,5159.12109,N,00423.71483,E,3.890,309.13,120308,,,A*60
+$GPRMC,124038.00,A,5159.12165,N,00423.71366,E,3.848,310.15,120308,,,A*62
+$GPRMC,124039.00,A,5159.12208,N,00423.71240,E,3.144,302.51,120308,,,A*68
+$GPRMC,124040.00,A,5159.12234,N,00423.71139,E,2.146,298.95,120308,,,A*6D
+$GPRMC,124041.00,A,5159.12239,N,00423.71079,E,0.734,299.06,120308,,,A*6E
+$GPRMC,124042.00,A,5159.12231,N,00423.71062,E,0.062,301.02,120308,,,A*6F
+$GPRMC,124043.00,A,5159.12212,N,00423.71060,E,0.005,,120308,,,A*72
+$GPRMC,124044.00,A,5159.12201,N,00423.71053,E,0.045,297.76,120308,,,A*60
+$GPRMC,124045.00,A,5159.12194,N,00423.71043,E,0.015,,120308,,,A*79
+$GPRMC,124046.00,A,5159.12188,N,00423.71034,E,0.045,300.97,120308,,,A*61
+$GPRMC,124047.00,A,5159.12181,N,00423.71024,E,0.084,300.17,120308,,,A*6D
+$GPRMC,124048.00,A,5159.12175,N,00423.71015,E,0.119,295.88,120308,,,A*65
+$GPRMC,124049.00,A,5159.12175,N,00423.71007,E,0.091,295.72,120308,,,A*63
+$GPRMC,124050.00,A,5159.12181,N,00423.70981,E,0.903,295.69,120308,,,A*6E
+$GPRMC,124051.00,A,5159.12199,N,00423.70913,E,2.084,295.00,120308,,,A*66
+$GPRMC,124052.00,A,5159.12234,N,00423.70803,E,3.134,297.21,120308,,,A*6B
+$GPRMC,124053.00,A,5159.12279,N,00423.70640,E,4.460,294.79,120308,,,A*67
+$GPRMC,124054.00,A,5159.12336,N,00423.70436,E,5.253,295.61,120308,,,A*66
+$GPRMC,124055.00,A,5159.12411,N,00423.70208,E,5.977,300.84,120308,,,A*65
+$GPRMC,124056.00,A,5159.12533,N,00423.69970,E,7.341,312.58,120308,,,A*64
+$GPRMC,124057.00,A,5159.12706,N,00423.69735,E,8.725,325.60,120308,,,A*68
+$GPRMC,124058.00,A,5159.12948,N,00423.69533,E,9.867,334.14,120308,,,A*6C
+$GPRMC,124059.00,A,5159.13221,N,00423.69328,E,11.003,332.48,120308,,,A*58
+$GPRMC,124100.00,A,5159.13490,N,00423.69070,E,11.206,322.59,120308,,,A*51
+$GPRMC,124101.00,A,5159.13728,N,00423.68697,E,12.771,308.68,120308,,,A*52
+$GPRMC,124102.00,A,5159.13927,N,00423.68153,E,15.503,295.75,120308,,,A*56
+$GPRMC,124103.00,A,5159.14103,N,00423.67452,E,17.873,289.33,120308,,,A*52
+$GPRMC,124104.00,A,5159.14269,N,00423.66671,E,18.543,287.69,120308,,,A*58
+$GPRMC,124105.00,A,5159.14426,N,00423.65886,E,17.856,287.58,120308,,,A*55
+$GPRMC,124106.00,A,5159.14578,N,00423.65143,E,16.767,289.30,120308,,,A*50
+$GPRMC,124107.00,A,5159.14756,N,00423.64452,E,16.385,294.95,120308,,,A*50
+$GPRMC,124108.00,A,5159.14991,N,00423.63795,E,17.256,304.73,120308,,,A*5B
+$GPRMC,124109.00,A,5159.15321,N,00423.63190,E,18.465,317.83,120308,,,A*5D
+$GPRMC,124110.00,A,5159.15779,N,00423.62700,E,20.342,332.98,120308,,,A*56
+$GPRMC,124111.00,A,5159.16341,N,00423.62319,E,23.028,341.12,120308,,,A*5D
+$GPRMC,124112.00,A,5159.17002,N,00423.61980,E,25.830,343.23,120308,,,A*55
+$GPRMC,124113.00,A,5159.17722,N,00423.61643,E,26.466,343.64,120308,,,A*5E
+$GPRMC,124114.00,A,5159.18456,N,00423.61300,E,28.241,343.96,120308,,,A*54
+$GPRMC,124115.00,A,5159.19223,N,00423.60947,E,28.636,344.23,120308,,,A*55
+$GPRMC,124116.00,A,5159.20006,N,00423.60603,E,28.810,344.65,120308,,,A*5E
+$GPRMC,124117.00,A,5159.20791,N,00423.60258,E,29.354,344.32,120308,,,A*54
+$GPRMC,124118.00,A,5159.21602,N,00423.59884,E,30.699,343.29,120308,,,A*51
+$GPRMC,124119.00,A,5159.22441,N,00423.59463,E,32.492,342.19,120308,,,A*5A
+$GPRMC,124120.00,A,5159.23341,N,00423.58991,E,34.934,341.87,120308,,,A*54
+$GPRMC,124121.00,A,5159.24310,N,00423.58472,E,37.594,341.50,120308,,,A*59
+$GPRMC,124122.00,A,5159.25347,N,00423.57909,E,40.135,341.32,120308,,,A*5C
+$GPRMC,124123.00,A,5159.26434,N,00423.57326,E,41.308,342.12,120308,,,A*56
+$GPRMC,124124.00,A,5159.27534,N,00423.56783,E,41.176,343.81,120308,,,A*5B
+$GPRMC,124125.00,A,5159.28620,N,00423.56278,E,41.898,344.52,120308,,,A*52
+$GPRMC,124126.00,A,5159.29748,N,00423.55781,E,42.252,344.91,120308,,,A*5F
+$GPRMC,124127.00,A,5159.30894,N,00423.55285,E,42.605,345.05,120308,,,A*53
+$GPRMC,124128.00,A,5159.32047,N,00423.54789,E,42.920,345.16,120308,,,A*5A
+$GPRMC,124129.00,A,5159.33205,N,00423.54291,E,42.935,345.03,120308,,,A*52
+$GPRMC,124130.00,A,5159.34349,N,00423.53793,E,42.375,345.05,120308,,,A*5C
+$GPRMC,124131.00,A,5159.35523,N,00423.53234,E,44.723,343.70,120308,,,A*5B
+$GPRMC,124132.00,A,5159.36742,N,00423.52631,E,46.426,342.75,120308,,,A*5E
+$GPRMC,124133.00,A,5159.38004,N,00423.51993,E,48.107,342.80,120308,,,A*52
+$GPRMC,124134.00,A,5159.39296,N,00423.51365,E,48.898,343.97,120308,,,A*56
+$GPRMC,124135.00,A,5159.40604,N,00423.50775,E,48.710,344.91,120308,,,A*5C
+$GPRMC,124136.00,A,5159.41916,N,00423.50211,E,48.579,345.12,120308,,,A*52
+$GPRMC,124137.00,A,5159.43230,N,00423.49644,E,48.875,345.03,120308,,,A*53
+$GPRMC,124138.00,A,5159.44543,N,00423.49074,E,49.101,344.92,120308,,,A*5F
+$GPRMC,124139.00,A,5159.45883,N,00423.48496,E,49.811,345.11,120308,,,A*55
+$GPRMC,124140.00,A,5159.47224,N,00423.47930,E,49.558,345.55,120308,,,A*50
+$GPRMC,124141.00,A,5159.48588,N,00423.47344,E,50.889,345.27,120308,,,A*5A
+$GPRMC,124142.00,A,5159.49987,N,00423.46753,E,51.290,345.14,120308,,,A*5B
+$GPRMC,124143.00,A,5159.51368,N,00423.46165,E,51.270,345.30,120308,,,A*53
+$GPRMC,124144.00,A,5159.52753,N,00423.45580,E,51.316,345.26,120308,,,A*51
+$GPRMC,124145.00,A,5159.54131,N,00423.44994,E,51.128,345.26,120308,,,A*53
+$GPRMC,124146.00,A,5159.55521,N,00423.44409,E,50.398,345.27,120308,,,A*54
+$GPRMC,124147.00,A,5159.56977,N,00423.43798,E,51.383,345.03,120308,,,A*58
+$GPRMC,124148.00,A,5159.58347,N,00423.43208,E,51.037,345.15,120308,,,A*57
+$GPRMC,124149.00,A,5159.59696,N,00423.42630,E,50.432,345.42,120308,,,A*52
+$GPRMC,124150.00,A,5159.61053,N,00423.42057,E,50.634,345.42,120308,,,A*5D
+$GPRMC,124151.00,A,5159.62450,N,00423.41472,E,51.067,345.19,120308,,,A*57
+$GPRMC,124152.00,A,5159.63823,N,00423.40884,E,51.304,345.21,120308,,,A*54
+$GPRMC,124153.00,A,5159.65214,N,00423.40290,E,51.711,345.17,120308,,,A*57
+$GPRMC,124154.00,A,5159.66633,N,00423.39679,E,53.298,345.11,120308,,,A*5F
+$GPRMC,124155.00,A,5159.68083,N,00423.39053,E,54.399,345.16,120308,,,A*53
+$GPRMC,124156.00,A,5159.69554,N,00423.38426,E,55.172,345.40,120308,,,A*5C
+$GPRMC,124157.00,A,5159.71037,N,00423.37794,E,55.579,345.26,120308,,,A*5E
+$GPRMC,124158.00,A,5159.72521,N,00423.37160,E,55.940,345.34,120308,,,A*58
+$GPRMC,124159.00,A,5159.74008,N,00423.36520,E,55.137,344.91,120308,,,A*56
+$GPRMC,124200.00,A,5159.75521,N,00423.35881,E,55.973,345.33,120308,,,A*52
+$GPRMC,124201.00,A,5159.77044,N,00423.35273,E,55.875,345.85,120308,,,A*5A
+$GPRMC,124202.00,A,5159.78545,N,00423.34656,E,54.709,345.14,120308,,,A*5D
+$GPRMC,124203.00,A,5159.80012,N,00423.34023,E,53.966,345.15,120308,,,A*59
+$GPRMC,124204.00,A,5159.81448,N,00423.33394,E,53.396,345.12,120308,,,A*5E
+$GPRMC,124205.00,A,5159.82860,N,00423.32793,E,52.037,345.38,120308,,,A*59
+$GPRMC,124206.00,A,5159.84287,N,00423.32172,E,52.804,344.23,120308,,,A*55
+$GPRMC,124207.00,A,5159.85702,N,00423.31534,E,52.536,345.30,120308,,,A*57
+$GPRMC,124208.00,A,5159.87108,N,00423.30914,E,52.831,345.26,120308,,,A*54
+$GPRMC,124209.00,A,5159.88536,N,00423.30300,E,52.946,345.11,120308,,,A*59
+$GPRMC,124210.00,A,5159.89956,N,00423.29682,E,52.904,345.03,120308,,,A*58
+$GPRMC,124211.00,A,5159.91376,N,00423.29059,E,52.811,345.13,120308,,,A*5C
+$GPRMC,124212.00,A,5159.92792,N,00423.28452,E,53.063,345.33,120308,,,A*52
+$GPRMC,124213.00,A,5159.94206,N,00423.27860,E,53.050,345.39,120308,,,A*55
+$GPRMC,124214.00,A,5159.95629,N,00423.27265,E,53.314,345.41,120308,,,A*59
+$GPRMC,124215.00,A,5159.97064,N,00423.26659,E,53.523,345.43,120308,,,A*5F
+$GPRMC,124216.00,A,5159.98518,N,00423.26046,E,53.744,345.17,120308,,,A*57
+$GPRMC,124217.00,A,5200.00038,N,00423.25413,E,54.308,345.02,120308,,,A*57
+$GPRMC,124218.00,A,5200.01524,N,00423.24764,E,55.914,344.87,120308,,,A*59
+$GPRMC,124219.00,A,5200.03023,N,00423.24099,E,56.068,344.58,120308,,,A*5E
+$GPRMC,124220.00,A,5200.04497,N,00423.23446,E,54.981,345.10,120308,,,A*58
+$GPRMC,124221.00,A,5200.06067,N,00423.22764,E,58.747,345.03,120308,,,A*58
+$GPRMC,124222.00,A,5200.07663,N,00423.22087,E,59.864,345.29,120308,,,A*55
+$GPRMC,124223.00,A,5200.09281,N,00423.21397,E,60.510,345.20,120308,,,A*5E
+$GPRMC,124224.00,A,5200.10916,N,00423.20695,E,61.416,345.18,120308,,,A*5F
+$GPRMC,124225.00,A,5200.12547,N,00423.19990,E,60.707,345.05,120308,,,A*5A
+$GPRMC,124226.00,A,5200.14167,N,00423.19288,E,60.276,345.15,120308,,,A*59
+$GPRMC,124227.00,A,5200.15781,N,00423.18588,E,60.519,345.17,120308,,,A*5D
+$GPRMC,124228.00,A,5200.17420,N,00423.17894,E,60.995,345.62,120308,,,A*5D
+$GPRMC,124229.00,A,5200.19060,N,00423.17231,E,60.869,346.38,120308,,,A*59
+$GPRMC,124230.00,A,5200.20729,N,00423.16581,E,61.899,346.58,120308,,,A*54
+$GPRMC,124231.00,A,5200.22402,N,00423.15884,E,62.505,344.72,120308,,,A*57
+$GPRMC,124232.00,A,5200.24084,N,00423.15063,E,63.100,341.80,120308,,,A*51
+$GPRMC,124233.00,A,5200.25758,N,00423.14119,E,62.768,339.62,120308,,,A*50
+$GPRMC,124234.00,A,5200.27397,N,00423.13048,E,63.643,337.92,120308,,,A*58
+$GPRMC,124235.00,A,5200.29125,N,00423.11847,E,64.761,336.07,120308,,,A*52
+$GPRMC,124236.00,A,5200.30773,N,00423.10607,E,64.935,334.30,120308,,,A*5E
+$GPRMC,124237.00,A,5200.32391,N,00423.09234,E,65.075,330.82,120308,,,A*58
+$GPRMC,124238.00,A,5200.33971,N,00423.07707,E,65.445,327.78,120308,,,A*5D
+$GPRMC,124239.00,A,5200.35519,N,00423.06084,E,65.780,326.40,120308,,,A*55
+$GPRMC,124240.00,A,5200.37057,N,00423.04413,E,65.913,326.09,120308,,,A*57
+$GPRMC,124241.00,A,5200.38583,N,00423.02734,E,65.710,325.63,120308,,,A*57
+$GPRMC,124242.00,A,5200.40098,N,00423.01032,E,65.882,325.12,120308,,,A*54
+$GPRMC,124243.00,A,5200.41601,N,00422.99301,E,66.159,324.38,120308,,,A*54
+$GPRMC,124244.00,A,5200.43092,N,00422.97546,E,65.899,324.16,120308,,,A*5C
+$GPRMC,124245.00,A,5200.44574,N,00422.95788,E,65.943,324.18,120308,,,A*5D
+$GPRMC,124246.00,A,5200.46060,N,00422.94034,E,66.060,324.27,120308,,,A*5A
+$GPRMC,124247.00,A,5200.47553,N,00422.92288,E,65.922,324.38,120308,,,A*5E
+$GPRMC,124248.00,A,5200.49039,N,00422.90552,E,65.552,324.42,120308,,,A*52
+$GPRMC,124249.00,A,5200.50513,N,00422.88830,E,64.826,324.28,120308,,,A*55
+$GPRMC,124250.00,A,5200.51963,N,00422.87126,E,63.684,324.06,120308,,,A*5B
+$GPRMC,124251.00,A,5200.53376,N,00422.85432,E,62.334,323.22,120308,,,A*5A
+$GPRMC,124252.00,A,5200.54743,N,00422.83737,E,61.141,322.43,120308,,,A*59
+$GPRMC,124253.00,A,5200.56083,N,00422.82059,E,60.500,322.40,120308,,,A*5C
+$GPRMC,124254.00,A,5200.57420,N,00422.80397,E,60.459,322.71,120308,,,A*5B
+$GPRMC,124255.00,A,5200.58766,N,00422.78763,E,60.444,323.81,120308,,,A*5E
+$GPRMC,124256.00,A,5200.60121,N,00422.77164,E,60.132,324.20,120308,,,A*55
+$GPRMC,124257.00,A,5200.61480,N,00422.75584,E,59.955,324.47,120308,,,A*51
+$GPRMC,124258.00,A,5200.62836,N,00422.74011,E,60.068,324.42,120308,,,A*5C
+$GPRMC,124259.00,A,5200.64184,N,00422.72431,E,59.555,323.73,120308,,,A*5F
+$GPRMC,124300.00,A,5200.65527,N,00422.70863,E,58.959,324.01,120308,,,A*54
+$GPRMC,124301.00,A,5200.66855,N,00422.69308,E,58.799,324.35,120308,,,A*55
+$GPRMC,124302.00,A,5200.68186,N,00422.67759,E,59.022,324.34,120308,,,A*56
+$GPRMC,124303.00,A,5200.69521,N,00422.66202,E,59.349,324.35,120308,,,A*5A
+$GPRMC,124304.00,A,5200.70865,N,00422.64640,E,59.684,324.52,120308,,,A*5D
+$GPRMC,124305.00,A,5200.72212,N,00422.63071,E,59.663,324.20,120308,,,A*5B
+$GPRMC,124306.00,A,5200.73547,N,00422.61509,E,58.989,324.21,120308,,,A*5D
+$GPRMC,124307.00,A,5200.74872,N,00422.59959,E,58.718,324.24,120308,,,A*51
+$GPRMC,124308.00,A,5200.76201,N,00422.58410,E,59.214,324.42,120308,,,A*5B
+$GPRMC,124309.00,A,5200.77547,N,00422.56842,E,60.079,324.30,120308,,,A*5D
+$GPRMC,124310.00,A,5200.78902,N,00422.55244,E,60.907,324.14,120308,,,A*5E
+$GPRMC,124311.00,A,5200.80275,N,00422.53626,E,61.685,324.22,120308,,,A*54
+$GPRMC,124312.00,A,5200.81665,N,00422.51996,E,62.229,324.41,120308,,,A*51
+$GPRMC,124313.00,A,5200.83059,N,00422.50360,E,62.397,323.95,120308,,,A*53
+$GPRMC,124314.00,A,5200.84462,N,00422.48707,E,62.603,323.88,120308,,,A*57
+$GPRMC,124315.00,A,5200.85881,N,00422.47042,E,63.087,324.39,120308,,,A*59
+$GPRMC,124316.00,A,5200.87311,N,00422.45378,E,63.344,324.40,120308,,,A*50
+$GPRMC,124317.00,A,5200.88750,N,00422.43710,E,63.768,324.38,120308,,,A*56
+$GPRMC,124318.00,A,5200.90200,N,00422.42028,E,64.250,324.42,120308,,,A*59
+$GPRMC,124319.00,A,5200.91658,N,00422.40331,E,64.635,323.87,120308,,,A*50
+$GPRMC,124320.00,A,5200.93120,N,00422.38618,E,64.981,323.94,120308,,,A*53
+$GPRMC,124321.00,A,5200.94588,N,00422.36893,E,65.278,324.19,120308,,,A*5E
+$GPRMC,124322.00,A,5200.96063,N,00422.35168,E,65.431,324.07,120308,,,A*55
+$GPRMC,124323.00,A,5200.97543,N,00422.33444,E,65.492,324.42,120308,,,A*57
+$GPRMC,124324.00,A,5200.99026,N,00422.31730,E,65.470,324.60,120308,,,A*56
+$GPRMC,124325.00,A,5201.00522,N,00422.30029,E,65.379,324.64,120308,,,A*53
+$GPRMC,124326.00,A,5201.01996,N,00422.28320,E,64.963,324.33,120308,,,A*53
+$GPRMC,124327.00,A,5201.03455,N,00422.26625,E,64.277,324.31,120308,,,A*50
+$GPRMC,124328.00,A,5201.04899,N,00422.24939,E,63.917,324.25,120308,,,A*5B
+$GPRMC,124329.00,A,5201.06336,N,00422.23264,E,63.525,324.39,120308,,,A*52
+$GPRMC,124330.00,A,5201.07765,N,00422.21595,E,63.289,324.16,120308,,,A*5E
+$GPRMC,124331.00,A,5201.09190,N,00422.19927,E,63.130,324.15,120308,,,A*51
+$GPRMC,124332.00,A,5201.10613,N,00422.18264,E,63.094,324.31,120308,,,A*52
+$GPRMC,124333.00,A,5201.12038,N,00422.16606,E,63.224,324.42,120308,,,A*5D
+$GPRMC,124334.00,A,5201.13464,N,00422.14950,E,63.135,324.38,120308,,,A*56
+$GPRMC,124335.00,A,5201.14882,N,00422.13296,E,62.767,324.24,120308,,,A*5F
+$GPRMC,124336.00,A,5201.16295,N,00422.11651,E,62.547,324.48,120308,,,A*55
+$GPRMC,124337.00,A,5201.17703,N,00422.10012,E,62.337,324.25,120308,,,A*55
+$GPRMC,124338.00,A,5201.19106,N,00422.08372,E,62.286,324.22,120308,,,A*57
+$GPRMC,124339.00,A,5201.20512,N,00422.06732,E,62.438,324.31,120308,,,A*52
+$GPRMC,124340.00,A,5201.21917,N,00422.05091,E,62.201,324.24,120308,,,A*51
+$GPRMC,124341.00,A,5201.23305,N,00422.03465,E,61.191,324.13,120308,,,A*5F
+$GPRMC,124342.00,A,5201.24674,N,00422.01865,E,60.453,324.33,120308,,,A*5E
+$GPRMC,124343.00,A,5201.26035,N,00422.00294,E,60.231,324.58,120308,,,A*54
+$GPRMC,124344.00,A,5201.27396,N,00421.98728,E,60.216,324.51,120308,,,A*54
+$GPRMC,124345.00,A,5201.28753,N,00421.97154,E,60.065,324.21,120308,,,A*54
+$GPRMC,124346.00,A,5201.30106,N,00421.95576,E,59.943,324.16,120308,,,A*5D
+$GPRMC,124347.00,A,5201.31452,N,00421.94001,E,59.685,324.01,120308,,,A*5E
+$GPRMC,124348.00,A,5201.32786,N,00421.92441,E,58.844,324.13,120308,,,A*5F
+$GPRMC,124349.00,A,5201.34102,N,00421.90916,E,58.121,324.42,120308,,,A*51
+$GPRMC,124350.00,A,5201.35404,N,00421.89404,E,57.631,324.18,120308,,,A*5B
+$GPRMC,124351.00,A,5201.36693,N,00421.87895,E,57.207,324.06,120308,,,A*51
+$GPRMC,124352.00,A,5201.37974,N,00421.86398,E,56.905,324.28,120308,,,A*56
+$GPRMC,124353.00,A,5201.39253,N,00421.84916,E,56.557,324.36,120308,,,A*5D
+$GPRMC,124354.00,A,5201.40523,N,00421.83437,E,56.220,324.20,120308,,,A*5D
+$GPRMC,124355.00,A,5201.41785,N,00421.81962,E,55.934,324.20,120308,,,A*51
+$GPRMC,124356.00,A,5201.43042,N,00421.80492,E,55.863,324.32,120308,,,A*5F
+$GPRMC,124357.00,A,5201.44299,N,00421.79025,E,55.973,324.26,120308,,,A*56
+$GPRMC,124358.00,A,5201.45559,N,00421.77551,E,56.024,324.15,120308,,,A*53
+$GPRMC,124359.00,A,5201.46819,N,00421.76069,E,56.197,323.99,120308,,,A*5D
+$GPRMC,124400.00,A,5201.48073,N,00421.74602,E,55.332,324.35,120308,,,A*5A
+$GPRMC,124401.00,A,5201.49356,N,00421.73113,E,57.275,324.03,120308,,,A*5B
+$GPRMC,124402.00,A,5201.50658,N,00421.71608,E,58.048,324.25,120308,,,A*53
+$GPRMC,124403.00,A,5201.51970,N,00421.70092,E,58.164,324.34,120308,,,A*5D
+$GPRMC,124404.00,A,5201.53283,N,00421.68569,E,58.172,324.35,120308,,,A*51
+$GPRMC,124405.00,A,5201.54599,N,00421.67045,E,58.208,324.31,120308,,,A*55
+$GPRMC,124406.00,A,5201.55913,N,00421.65525,E,58.079,324.51,120308,,,A*5A
+$GPRMC,124407.00,A,5201.57225,N,00421.64006,E,58.000,324.50,120308,,,A*5D
+$GPRMC,124408.00,A,5201.58520,N,00421.62485,E,57.317,323.65,120308,,,A*5D
+$GPRMC,124409.00,A,5201.59833,N,00421.60962,E,57.817,323.99,120308,,,A*5C
+$GPRMC,124410.00,A,5201.61133,N,00421.59456,E,57.812,324.30,120308,,,A*57
+$GPRMC,124411.00,A,5201.62440,N,00421.57938,E,57.969,324.23,120308,,,A*50
+$GPRMC,124412.00,A,5201.63742,N,00421.56402,E,58.385,324.30,120308,,,A*53
+$GPRMC,124413.00,A,5201.65061,N,00421.54857,E,58.860,324.43,120308,,,A*58
+$GPRMC,124414.00,A,5201.66390,N,00421.53299,E,59.289,324.37,120308,,,A*51
+$GPRMC,124415.00,A,5201.67730,N,00421.51751,E,59.555,324.54,120308,,,A*5F
+$GPRMC,124416.00,A,5201.69075,N,00421.50200,E,59.605,324.46,120308,,,A*51
+$GPRMC,124417.00,A,5201.70425,N,00421.48643,E,59.769,324.46,120308,,,A*58
+$GPRMC,124418.00,A,5201.71776,N,00421.47079,E,59.558,324.37,120308,,,A*55
+$GPRMC,124419.00,A,5201.73117,N,00421.45522,E,59.275,324.33,120308,,,A*52
+$GPRMC,124420.00,A,5201.74454,N,00421.43969,E,58.918,324.36,120308,,,A*5C
+$GPRMC,124421.00,A,5201.75779,N,00421.42422,E,58.642,324.25,120308,,,A*51
+$GPRMC,124422.00,A,5201.77098,N,00421.40891,E,58.315,324.64,120308,,,A*5C
+$GPRMC,124423.00,A,5201.78415,N,00421.39370,E,58.196,324.54,120308,,,A*53
+$GPRMC,124424.00,A,5201.79729,N,00421.37847,E,58.254,324.44,120308,,,A*54
+$GPRMC,124425.00,A,5201.81042,N,00421.36331,E,57.951,324.61,120308,,,A*55
+$GPRMC,124426.00,A,5201.82372,N,00421.34775,E,58.622,324.73,120308,,,A*54
+$GPRMC,124427.00,A,5201.83705,N,00421.33305,E,58.472,325.82,120308,,,A*5C
+$GPRMC,124428.00,A,5201.85064,N,00421.31853,E,58.874,326.77,120308,,,A*5C
+$GPRMC,124429.00,A,5201.86456,N,00421.30432,E,59.125,328.25,120308,,,A*54
+$GPRMC,124430.00,A,5201.87864,N,00421.29068,E,59.165,330.02,120308,,,A*5B
+$GPRMC,124431.00,A,5201.89305,N,00421.27806,E,59.087,332.04,120308,,,A*5F
+$GPRMC,124432.00,A,5201.90778,N,00421.26601,E,59.854,333.77,120308,,,A*51
+$GPRMC,124433.00,A,5201.92268,N,00421.25496,E,59.473,335.72,120308,,,A*53
+$GPRMC,124434.00,A,5201.93776,N,00421.24449,E,59.423,337.03,120308,,,A*5D
+$GPRMC,124435.00,A,5201.95301,N,00421.23470,E,58.981,339.01,120308,,,A*5B
+$GPRMC,124436.00,A,5201.96831,N,00421.22585,E,58.308,340.71,120308,,,A*5B
+$GPRMC,124437.00,A,5201.98353,N,00421.21784,E,57.475,342.45,120308,,,A*5C
+$GPRMC,124438.00,A,5201.99877,N,00421.21062,E,56.819,344.30,120308,,,A*53
+$GPRMC,124439.00,A,5202.01398,N,00421.20433,E,56.288,345.90,120308,,,A*52
+$GPRMC,124440.00,A,5202.02919,N,00421.19861,E,56.014,347.37,120308,,,A*55
+$GPRMC,124441.00,A,5202.04437,N,00421.19365,E,55.299,349.09,120308,,,A*5B
+$GPRMC,124442.00,A,5202.05940,N,00421.18914,E,55.000,349.80,120308,,,A*5A
+$GPRMC,124443.00,A,5202.07434,N,00421.18484,E,54.475,349.92,120308,,,A*57
+$GPRMC,124444.00,A,5202.08921,N,00421.18066,E,54.074,349.90,120308,,,A*59
+$GPRMC,124445.00,A,5202.10395,N,00421.17649,E,53.463,349.92,120308,,,A*57
+$GPRMC,124446.00,A,5202.11865,N,00421.17231,E,53.781,349.86,120308,,,A*50
+$GPRMC,124447.00,A,5202.13342,N,00421.16830,E,54.106,350.26,120308,,,A*5B
+$GPRMC,124448.00,A,5202.14820,N,00421.16427,E,54.020,350.20,120308,,,A*55
+$GPRMC,124449.00,A,5202.16293,N,00421.16022,E,53.743,350.19,120308,,,A*5A
+$GPRMC,124450.00,A,5202.17772,N,00421.15612,E,54.196,350.21,120308,,,A*5D
+$GPRMC,124451.00,A,5202.19262,N,00421.15192,E,54.984,349.92,120308,,,A*52
+$GPRMC,124452.00,A,5202.20774,N,00421.14764,E,55.702,350.12,120308,,,A*56
+$GPRMC,124453.00,A,5202.22297,N,00421.14360,E,55.598,351.15,120308,,,A*5A
+$GPRMC,124454.00,A,5202.23838,N,00421.14018,E,56.633,352.64,120308,,,A*5B
+$GPRMC,124455.00,A,5202.25408,N,00421.13731,E,57.188,354.28,120308,,,A*50
+$GPRMC,124456.00,A,5202.26992,N,00421.13515,E,57.384,355.98,120308,,,A*5E
+$GPRMC,124457.00,A,5202.28582,N,00421.13365,E,57.488,357.11,120308,,,A*55
+$GPRMC,124458.00,A,5202.30175,N,00421.13268,E,57.564,358.47,120308,,,A*5C
+$GPRMC,124459.00,A,5202.31770,N,00421.13230,E,57.459,359.36,120308,,,A*5A
+$GPRMC,124500.00,A,5202.33362,N,00421.13218,E,57.521,359.71,120308,,,A*55
+$GPRMC,124501.00,A,5202.34939,N,00421.13234,E,56.887,0.35,120308,,,A*56
+$GPRMC,124502.00,A,5202.36538,N,00421.13233,E,58.463,359.71,120308,,,A*5A
+$GPRMC,124503.00,A,5202.38147,N,00421.13221,E,57.776,359.62,120308,,,A*50
+$GPRMC,124504.00,A,5202.39761,N,00421.13229,E,57.958,359.99,120308,,,A*5A
+$GPRMC,124505.00,A,5202.41341,N,00421.13277,E,56.805,0.38,120308,,,A*55
+$GPRMC,124506.00,A,5202.42903,N,00421.13310,E,56.030,0.45,120308,,,A*5D
+$GPRMC,124507.00,A,5202.44452,N,00421.13369,E,55.883,1.63,120308,,,A*5B
+$GPRMC,124508.00,A,5202.46021,N,00421.13467,E,56.218,2.49,120308,,,A*5F
+$GPRMC,124509.00,A,5202.47564,N,00421.13655,E,55.943,4.65,120308,,,A*56
+$GPRMC,124510.00,A,5202.49098,N,00421.13967,E,55.295,7.38,120308,,,A*53
+$GPRMC,124511.00,A,5202.50613,N,00421.14388,E,54.213,9.74,120308,,,A*5A
+$GPRMC,124512.00,A,5202.52087,N,00421.14892,E,53.130,11.89,120308,,,A*6E
+$GPRMC,124513.00,A,5202.53518,N,00421.15455,E,52.271,13.37,120308,,,A*6B
+$GPRMC,124514.00,A,5202.54918,N,00421.16080,E,51.636,15.07,120308,,,A*69
+$GPRMC,124515.00,A,5202.56298,N,00421.16735,E,51.317,16.69,120308,,,A*6D
+$GPRMC,124516.00,A,5202.57653,N,00421.17445,E,51.133,18.93,120308,,,A*66
+$GPRMC,124517.00,A,5202.58990,N,00421.18259,E,51.527,21.38,120308,,,A*66
+$GPRMC,124518.00,A,5202.60305,N,00421.19176,E,51.847,23.99,120308,,,A*69
+$GPRMC,124519.00,A,5202.61599,N,00421.20195,E,52.514,26.16,120308,,,A*67
+$GPRMC,124520.00,A,5202.62898,N,00421.21300,E,53.269,28.22,120308,,,A*68
+$GPRMC,124521.00,A,5202.64181,N,00421.22506,E,54.136,30.73,120308,,,A*6E
+$GPRMC,124522.00,A,5202.65450,N,00421.23830,E,54.406,32.85,120308,,,A*61
+$GPRMC,124523.00,A,5202.66681,N,00421.25215,E,53.692,34.85,120308,,,A*68
+$GPRMC,124524.00,A,5202.67878,N,00421.26659,E,53.149,36.71,120308,,,A*61
+$GPRMC,124525.00,A,5202.69039,N,00421.28143,E,52.408,38.03,120308,,,A*6B
+$GPRMC,124526.00,A,5202.70163,N,00421.29645,E,51.585,39.27,120308,,,A*6E
+$GPRMC,124527.00,A,5202.71242,N,00421.31147,E,50.713,40.18,120308,,,A*6C
+$GPRMC,124528.00,A,5202.72292,N,00421.32642,E,49.783,40.61,120308,,,A*63
+$GPRMC,124529.00,A,5202.73327,N,00421.34113,E,49.107,40.48,120308,,,A*68
+$GPRMC,124530.00,A,5202.74347,N,00421.35555,E,48.572,40.34,120308,,,A*6A
+$GPRMC,124531.00,A,5202.75361,N,00421.36974,E,48.091,40.13,120308,,,A*6F
+$GPRMC,124532.00,A,5202.76364,N,00421.38373,E,47.644,40.11,120308,,,A*6A
+$GPRMC,124533.00,A,5202.77366,N,00421.39765,E,47.161,40.15,120308,,,A*6E
+$GPRMC,124534.00,A,5202.78347,N,00421.41147,E,47.065,40.29,120308,,,A*66
+$GPRMC,124535.00,A,5202.79329,N,00421.42540,E,47.115,40.20,120308,,,A*61
+$GPRMC,124536.00,A,5202.80311,N,00421.43930,E,47.027,40.37,120308,,,A*63
+$GPRMC,124537.00,A,5202.81295,N,00421.45324,E,47.105,40.52,120308,,,A*65
+$GPRMC,124538.00,A,5202.82286,N,00421.46722,E,47.384,40.46,120308,,,A*64
+$GPRMC,124539.00,A,5202.83283,N,00421.48120,E,47.494,40.28,120308,,,A*65
+$GPRMC,124540.00,A,5202.84288,N,00421.49519,E,47.700,40.21,120308,,,A*6F
+$GPRMC,124541.00,A,5202.85296,N,00421.50924,E,47.962,40.30,120308,,,A*60
+$GPRMC,124542.00,A,5202.86308,N,00421.52332,E,48.062,40.31,120308,,,A*6E
+$GPRMC,124543.00,A,5202.87320,N,00421.53743,E,48.031,40.83,120308,,,A*68
+$GPRMC,124544.00,A,5202.88343,N,00421.55183,E,48.770,40.43,120308,,,A*67
+$GPRMC,124545.00,A,5202.89387,N,00421.56632,E,49.165,40.17,120308,,,A*63
+$GPRMC,124546.00,A,5202.90444,N,00421.58088,E,50.142,40.20,120308,,,A*60
+$GPRMC,124547.00,A,5202.91517,N,00421.59563,E,50.943,40.23,120308,,,A*6C
+$GPRMC,124548.00,A,5202.92604,N,00421.61057,E,51.780,40.31,120308,,,A*6B
+$GPRMC,124549.00,A,5202.93710,N,00421.62575,E,52.727,40.51,120308,,,A*61
+$GPRMC,124550.00,A,5202.94831,N,00421.64130,E,53.485,40.61,120308,,,A*68
+$GPRMC,124551.00,A,5202.95962,N,00421.65704,E,53.634,40.52,120308,,,A*67
+$GPRMC,124552.00,A,5202.97099,N,00421.67270,E,53.537,40.37,120308,,,A*6C
+$GPRMC,124553.00,A,5202.98228,N,00421.68829,E,53.105,40.28,120308,,,A*68
+$GPRMC,124554.00,A,5202.99339,N,00421.70363,E,52.044,40.42,120308,,,A*6A
+$GPRMC,124555.00,A,5203.00430,N,00421.71866,E,51.071,40.34,120308,,,A*6F
+$GPRMC,124556.00,A,5203.01499,N,00421.73338,E,50.026,40.30,120308,,,A*6B
+$GPRMC,124557.00,A,5203.02542,N,00421.74776,E,48.955,40.39,120308,,,A*6A
+$GPRMC,124558.00,A,5203.03557,N,00421.76189,E,47.985,40.54,120308,,,A*6D
+$GPRMC,124559.00,A,5203.04548,N,00421.77587,E,46.978,41.34,120308,,,A*6A
+$GPRMC,124600.00,A,5203.05502,N,00421.78981,E,46.001,42.33,120308,,,A*6C
+$GPRMC,124601.00,A,5203.06432,N,00421.80370,E,45.469,42.76,120308,,,A*67
+$GPRMC,124602.00,A,5203.07353,N,00421.81763,E,45.484,43.10,120308,,,A*60
+$GPRMC,124603.00,A,5203.08268,N,00421.83163,E,45.496,43.69,120308,,,A*6E
+$GPRMC,124604.00,A,5203.09177,N,00421.84587,E,45.536,44.32,120308,,,A*6E
+$GPRMC,124605.00,A,5203.10080,N,00421.86025,E,45.668,44.56,120308,,,A*6B
+$GPRMC,124606.00,A,5203.10975,N,00421.87473,E,45.544,45.23,120308,,,A*63
+$GPRMC,124607.00,A,5203.11855,N,00421.88934,E,45.452,45.79,120308,,,A*68
+$GPRMC,124608.00,A,5203.12728,N,00421.90403,E,45.403,46.06,120308,,,A*6E
+$GPRMC,124609.00,A,5203.13599,N,00421.91877,E,45.580,46.08,120308,,,A*6C
+$GPRMC,124610.00,A,5203.14483,N,00421.93343,E,45.685,45.11,120308,,,A*6A
+$GPRMC,124611.00,A,5203.15389,N,00421.94778,E,45.608,43.38,120308,,,A*64
+$GPRMC,124612.00,A,5203.16320,N,00421.96166,E,45.538,41.62,120308,,,A*61
+$GPRMC,124613.00,A,5203.17281,N,00421.97500,E,45.481,39.48,120308,,,A*6A
+$GPRMC,124614.00,A,5203.18270,N,00421.98772,E,45.467,37.41,120308,,,A*6B
+$GPRMC,124615.00,A,5203.19286,N,00421.99975,E,45.425,35.05,120308,,,A*6E
+$GPRMC,124616.00,A,5203.20335,N,00422.01104,E,45.428,32.49,120308,,,A*60
+$GPRMC,124617.00,A,5203.21405,N,00422.02160,E,45.144,30.62,120308,,,A*61
+$GPRMC,124618.00,A,5203.22488,N,00422.03153,E,44.831,28.63,120308,,,A*6B
+$GPRMC,124619.00,A,5203.23590,N,00422.04083,E,45.013,26.98,120308,,,A*6B
+$GPRMC,124620.00,A,5203.24711,N,00422.04979,E,45.403,26.10,120308,,,A*64
+$GPRMC,124621.00,A,5203.25846,N,00422.05862,E,45.852,25.53,120308,,,A*6F
+$GPRMC,124622.00,A,5203.26999,N,00422.06755,E,46.512,25.84,120308,,,A*64
+$GPRMC,124623.00,A,5203.28168,N,00422.07674,E,47.232,26.20,120308,,,A*67
+$GPRMC,124624.00,A,5203.29350,N,00422.08627,E,48.034,26.95,120308,,,A*64
+$GPRMC,124625.00,A,5203.30551,N,00422.09614,E,49.024,27.20,120308,,,A*64
+$GPRMC,124626.00,A,5203.31772,N,00422.10640,E,49.925,27.98,120308,,,A*67
+$GPRMC,124627.00,A,5203.33003,N,00422.11715,E,50.695,28.91,120308,,,A*6F
+$GPRMC,124628.00,A,5203.34242,N,00422.12838,E,51.398,29.74,120308,,,A*60
+$GPRMC,124629.00,A,5203.35488,N,00422.14009,E,52.158,30.63,120308,,,A*6F
+$GPRMC,124630.00,A,5203.36739,N,00422.15219,E,52.650,31.21,120308,,,A*67
+$GPRMC,124631.00,A,5203.37997,N,00422.16456,E,53.127,31.44,120308,,,A*66
+$GPRMC,124632.00,A,5203.39262,N,00422.17711,E,53.309,31.63,120308,,,A*60
+$GPRMC,124633.00,A,5203.40527,N,00422.18972,E,53.424,31.81,120308,,,A*69
+$GPRMC,124634.00,A,5203.41791,N,00422.20264,E,53.458,32.59,120308,,,A*6A
+$GPRMC,124635.00,A,5203.43049,N,00422.21585,E,53.696,33.10,120308,,,A*6E
+$GPRMC,124636.00,A,5203.44305,N,00422.22920,E,53.992,33.27,120308,,,A*6E
+$GPRMC,124637.00,A,5203.45563,N,00422.24266,E,54.174,33.55,120308,,,A*65
+$GPRMC,124638.00,A,5203.46815,N,00422.25628,E,54.217,34.05,120308,,,A*6E
+$GPRMC,124639.00,A,5203.48063,N,00422.27005,E,54.322,34.27,120308,,,A*64
+$GPRMC,124640.00,A,5203.49312,N,00422.28392,E,54.530,34.52,120308,,,A*6B
+$GPRMC,124641.00,A,5203.50557,N,00422.29800,E,54.733,35.07,120308,,,A*64
+$GPRMC,124642.00,A,5203.51804,N,00422.31231,E,55.103,35.38,120308,,,A*64
+$GPRMC,124643.00,A,5203.53054,N,00422.32678,E,55.454,35.53,120308,,,A*6A
+$GPRMC,124644.00,A,5203.54312,N,00422.34136,E,55.778,35.55,120308,,,A*6B
+$GPRMC,124645.00,A,5203.55577,N,00422.35602,E,56.057,35.44,120308,,,A*66
+$GPRMC,124646.00,A,5203.56848,N,00422.37075,E,56.277,35.48,120308,,,A*6F
+$GPRMC,124647.00,A,5203.58120,N,00422.38558,E,56.397,35.82,120308,,,A*6B
+$GPRMC,124648.00,A,5203.59392,N,00422.40047,E,56.484,35.73,120308,,,A*61
+$GPRMC,124649.00,A,5203.60671,N,00422.41530,E,56.744,35.24,120308,,,A*6B
+$GPRMC,124650.00,A,5203.61961,N,00422.43011,E,56.839,35.32,120308,,,A*6A
+$GPRMC,124651.00,A,5203.63252,N,00422.44492,E,56.845,35.25,120308,,,A*67
+$GPRMC,124652.00,A,5203.64547,N,00422.45973,E,56.995,35.07,120308,,,A*6F
+$GPRMC,124653.00,A,5203.65847,N,00422.47453,E,56.978,35.07,120308,,,A*6C
+$GPRMC,124654.00,A,5203.67140,N,00422.48928,E,57.024,35.11,120308,,,A*6F
+$GPRMC,124655.00,A,5203.68434,N,00422.50410,E,57.109,35.45,120308,,,A*67
+$GPRMC,124656.00,A,5203.69731,N,00422.51907,E,57.487,35.41,120308,,,A*6E
+$GPRMC,124657.00,A,5203.71022,N,00422.53404,E,57.216,35.05,120308,,,A*61
+$GPRMC,124658.00,A,5203.72343,N,00422.54880,E,57.376,34.68,120308,,,A*63
+$GPRMC,124659.00,A,5203.73652,N,00422.56350,E,56.498,34.81,120308,,,A*63
+$GPRMC,124700.00,A,5203.74954,N,00422.57785,E,56.360,34.70,120308,,,A*63
+$GPRMC,124701.00,A,5203.76209,N,00422.59334,E,56.525,35.50,120308,,,A*67
+$GPRMC,124702.00,A,5203.77470,N,00422.60817,E,56.373,35.59,120308,,,A*61
+$GPRMC,124703.00,A,5203.78726,N,00422.62313,E,56.330,35.73,120308,,,A*6D
+$GPRMC,124704.00,A,5203.79987,N,00422.63804,E,56.259,35.92,120308,,,A*63
+$GPRMC,124705.00,A,5203.81241,N,00422.65284,E,55.995,36.08,120308,,,A*68
+$GPRMC,124706.00,A,5203.82506,N,00422.66762,E,56.571,35.71,120308,,,A*6A
+$GPRMC,124707.00,A,5203.83784,N,00422.68242,E,56.726,35.70,120308,,,A*6A
+$GPRMC,124708.00,A,5203.85073,N,00422.69721,E,56.771,35.47,120308,,,A*6B
+$GPRMC,124709.00,A,5203.86373,N,00422.71173,E,57.120,35.05,120308,,,A*67
+$GPRMC,124710.00,A,5203.87677,N,00422.72617,E,56.934,35.09,120308,,,A*69
+$GPRMC,124711.00,A,5203.88967,N,00422.74068,E,56.187,35.49,120308,,,A*65
+$GPRMC,124712.00,A,5203.90221,N,00422.75532,E,55.271,36.30,120308,,,A*69
+$GPRMC,124713.00,A,5203.91441,N,00422.77004,E,54.419,37.05,120308,,,A*65
+$GPRMC,124714.00,A,5203.92628,N,00422.78487,E,53.573,37.77,120308,,,A*63
+$GPRMC,124715.00,A,5203.93787,N,00422.79967,E,52.722,38.12,120308,,,A*6E
+$GPRMC,124716.00,A,5203.94922,N,00422.81433,E,51.856,38.51,120308,,,A*68
+$GPRMC,124717.00,A,5203.96030,N,00422.82887,E,50.902,39.03,120308,,,A*66
+$GPRMC,124718.00,A,5203.97107,N,00422.84338,E,50.019,39.84,120308,,,A*68
+$GPRMC,124719.00,A,5203.98142,N,00422.85799,E,49.173,41.12,120308,,,A*6C
+$GPRMC,124720.00,A,5203.99151,N,00422.87270,E,48.995,42.12,120308,,,A*67
+$GPRMC,124721.00,A,5204.00147,N,00422.88767,E,49.090,42.95,120308,,,A*68
+$GPRMC,124722.00,A,5204.01131,N,00422.90279,E,48.877,43.60,120308,,,A*63
+$GPRMC,124723.00,A,5204.02099,N,00422.91805,E,48.682,44.59,120308,,,A*6B
+$GPRMC,124724.00,A,5204.03051,N,00422.93349,E,48.633,45.34,120308,,,A*68
+$GPRMC,124725.00,A,5204.03995,N,00422.94920,E,49.011,45.77,120308,,,A*6A
+$GPRMC,124726.00,A,5204.04940,N,00422.96514,E,49.708,46.18,120308,,,A*6A
+$GPRMC,124727.00,A,5204.05888,N,00422.98136,E,49.772,46.43,120308,,,A*66
+$GPRMC,124728.00,A,5204.06845,N,00422.99770,E,50.258,45.97,120308,,,A*61
+$GPRMC,124729.00,A,5204.07784,N,00423.01381,E,49.227,46.33,120308,,,A*64
+$GPRMC,124730.00,A,5204.08693,N,00423.02984,E,48.676,46.53,120308,,,A*6F
+$GPRMC,124731.00,A,5204.09604,N,00423.04585,E,48.626,46.88,120308,,,A*69
+$GPRMC,124732.00,A,5204.10517,N,00423.06222,E,49.423,48.21,120308,,,A*60
+$GPRMC,124733.00,A,5204.11426,N,00423.07930,E,50.606,49.81,120308,,,A*6C
+$GPRMC,124734.00,A,5204.12338,N,00423.09718,E,52.028,50.64,120308,,,A*61
+$GPRMC,124735.00,A,5204.13258,N,00423.11553,E,52.555,50.70,120308,,,A*68
+$GPRMC,124736.00,A,5204.14185,N,00423.13375,E,52.081,49.68,120308,,,A*62
+$GPRMC,124737.00,A,5204.15109,N,00423.15161,E,51.461,49.67,120308,,,A*61
+$GPRMC,124738.00,A,5204.15997,N,00423.16910,E,50.392,50.11,120308,,,A*6F
+$GPRMC,124739.00,A,5204.16914,N,00423.18654,E,50.594,49.15,120308,,,A*6B
+$GPRMC,124740.00,A,5204.17803,N,00423.20381,E,49.225,50.52,120308,,,A*6B
+$GPRMC,124741.00,A,5204.18667,N,00423.22101,E,48.528,51.00,120308,,,A*6C
+$GPRMC,124742.00,A,5204.19504,N,00423.23806,E,47.916,51.55,120308,,,A*69
+$GPRMC,124743.00,A,5204.20317,N,00423.25495,E,47.331,52.17,120308,,,A*6C
+$GPRMC,124744.00,A,5204.21108,N,00423.27173,E,46.690,52.87,120308,,,A*6F
+$GPRMC,124745.00,A,5204.21878,N,00423.28842,E,46.070,53.37,120308,,,A*66
+$GPRMC,124746.00,A,5204.22627,N,00423.30499,E,45.498,53.83,120308,,,A*6F
+$GPRMC,124747.00,A,5204.23359,N,00423.32144,E,45.016,54.16,120308,,,A*6D
+$GPRMC,124748.00,A,5204.24076,N,00423.33777,E,44.442,54.37,120308,,,A*6B
+$GPRMC,124749.00,A,5204.24779,N,00423.35387,E,43.996,55.02,120308,,,A*6B
+$GPRMC,124750.00,A,5204.25467,N,00423.36988,E,43.542,55.46,120308,,,A*6D
+$GPRMC,124751.00,A,5204.26143,N,00423.38592,E,43.349,55.71,120308,,,A*6C
+$GPRMC,124752.00,A,5204.26813,N,00423.40188,E,43.387,56.10,120308,,,A*65
+$GPRMC,124753.00,A,5204.27479,N,00423.41800,E,43.187,56.50,120308,,,A*6B
+$GPRMC,124754.00,A,5204.28139,N,00423.43431,E,43.293,56.84,120308,,,A*61
+$GPRMC,124755.00,A,5204.28798,N,00423.45064,E,43.325,56.76,120308,,,A*6E
+$GPRMC,124756.00,A,5204.29347,N,00423.46755,E,42.182,59.16,120308,,,A*6B
+$GPRMC,124757.00,A,5204.29985,N,00423.48361,E,42.415,56.30,120308,,,A*63
+$GPRMC,124758.00,A,5204.30626,N,00423.49965,E,42.479,56.29,120308,,,A*6F
+$GPRMC,124759.00,A,5204.31265,N,00423.51567,E,42.685,56.32,120308,,,A*60
+$GPRMC,124800.00,A,5204.31917,N,00423.53185,E,43.005,56.47,120308,,,A*6A
+$GPRMC,124801.00,A,5204.32576,N,00423.54808,E,43.558,56.65,120308,,,A*65
+$GPRMC,124802.00,A,5204.33243,N,00423.56449,E,43.885,56.74,120308,,,A*60
+$GPRMC,124803.00,A,5204.33907,N,00423.58090,E,43.805,57.13,120308,,,A*6C
+$GPRMC,124804.00,A,5204.34562,N,00423.59718,E,43.289,57.42,120308,,,A*6F
+$GPRMC,124805.00,A,5204.35199,N,00423.61329,E,42.495,58.03,120308,,,A*62
+$GPRMC,124806.00,A,5204.35822,N,00423.62877,E,41.249,57.97,120308,,,A*6D
+$GPRMC,124807.00,A,5204.36424,N,00423.64417,E,40.027,58.77,120308,,,A*63
+$GPRMC,124808.00,A,5204.36995,N,00423.65939,E,39.120,58.94,120308,,,A*6E
+$GPRMC,124809.00,A,5204.37546,N,00423.67434,E,38.686,59.44,120308,,,A*68
+$GPRMC,124810.00,A,5204.38085,N,00423.68911,E,37.706,59.73,120308,,,A*62
+$GPRMC,124811.00,A,5204.38613,N,00423.70366,E,37.187,60.07,120308,,,A*6F
+$GPRMC,124812.00,A,5204.39126,N,00423.71819,E,36.802,60.61,120308,,,A*6B
+$GPRMC,124813.00,A,5204.39629,N,00423.73277,E,36.808,60.90,120308,,,A*66
+$GPRMC,124814.00,A,5204.40123,N,00423.74730,E,36.924,61.23,120308,,,A*65
+$GPRMC,124815.00,A,5204.40611,N,00423.76191,E,36.097,60.61,120308,,,A*6B
+$GPRMC,124816.00,A,5204.41072,N,00423.77591,E,34.953,61.52,120308,,,A*6D
+$GPRMC,124817.00,A,5204.41511,N,00423.78895,E,32.006,61.96,120308,,,A*6D
+$GPRMC,124818.00,A,5204.41894,N,00423.80079,E,28.137,62.80,120308,,,A*63
+$GPRMC,124819.00,A,5204.42221,N,00423.81153,E,25.814,64.22,120308,,,A*66
+$GPRMC,124820.00,A,5204.42483,N,00423.82193,E,24.949,68.91,120308,,,A*61
+$GPRMC,124821.00,A,5204.42664,N,00423.83236,E,24.601,78.58,120308,,,A*61
+$GPRMC,124822.00,A,5204.42706,N,00423.84348,E,25.818,92.52,120308,,,A*61
+$GPRMC,124823.00,A,5204.42543,N,00423.85518,E,27.305,108.33,120308,,,A*51
+$GPRMC,124824.00,A,5204.42171,N,00423.86619,E,28.566,124.29,120308,,,A*5B
+$GPRMC,124825.00,A,5204.41601,N,00423.87540,E,28.344,138.55,120308,,,A*57
+$GPRMC,124826.00,A,5204.40904,N,00423.88221,E,27.206,152.81,120308,,,A*5D
+$GPRMC,124827.00,A,5204.40195,N,00423.88584,E,25.701,167.29,120308,,,A*50
+$GPRMC,124828.00,A,5204.39514,N,00423.88657,E,22.255,181.53,120308,,,A*57
+$GPRMC,124829.00,A,5204.38939,N,00423.88519,E,18.815,194.15,120308,,,A*5C
+$GPRMC,124830.00,A,5204.38463,N,00423.88242,E,16.815,202.82,120308,,,A*53
+$GPRMC,124831.00,A,5204.38036,N,00423.87831,E,17.391,213.65,120308,,,A*58
+$GPRMC,124832.00,A,5204.37668,N,00423.87341,E,16.474,220.86,120308,,,A*55
+$GPRMC,124833.00,A,5204.37340,N,00423.86801,E,16.246,224.83,120308,,,A*53
+$GPRMC,124834.00,A,5204.37034,N,00423.86266,E,15.385,226.32,120308,,,A*5A
+$GPRMC,124835.00,A,5204.36731,N,00423.85720,E,15.909,227.41,120308,,,A*57
+$GPRMC,124836.00,A,5204.36423,N,00423.85154,E,16.028,227.71,120308,,,A*5B
+$GPRMC,124837.00,A,5204.36104,N,00423.84579,E,16.270,227.21,120308,,,A*5A
+$GPRMC,124838.00,A,5204.35777,N,00423.84000,E,16.056,227.17,120308,,,A*5C
+$GPRMC,124839.00,A,5204.35480,N,00423.83432,E,15.678,232.59,120308,,,A*53
+$GPRMC,124840.00,A,5204.35302,N,00423.82813,E,15.053,256.18,120308,,,A*56
+$GPRMC,124841.00,A,5204.35307,N,00423.82122,E,15.540,283.71,120308,,,A*59
+$GPRMC,124842.00,A,5204.35513,N,00423.81471,E,16.891,306.42,120308,,,A*57
+$GPRMC,124843.00,A,5204.35836,N,00423.80892,E,17.621,316.14,120308,,,A*5A
+$GPRMC,124844.00,A,5204.36190,N,00423.80349,E,17.075,316.36,120308,,,A*51
+$GPRMC,124845.00,A,5204.36516,N,00423.79811,E,16.549,314.20,120308,,,A*54
+$GPRMC,124846.00,A,5204.36873,N,00423.79233,E,18.116,314.09,120308,,,A*58
+$GPRMC,124847.00,A,5204.37250,N,00423.78599,E,20.110,314.45,120308,,,A*50
+$GPRMC,124848.00,A,5204.37669,N,00423.77905,E,22.235,315.51,120308,,,A*55
+$GPRMC,124849.00,A,5204.38133,N,00423.77152,E,24.365,316.45,120308,,,A*5D
+$GPRMC,124850.00,A,5204.38641,N,00423.76350,E,26.336,316.05,120308,,,A*56
+$GPRMC,124851.00,A,5204.39213,N,00423.75535,E,28.054,319.41,120308,,,A*55
+$GPRMC,124852.00,A,5204.39766,N,00423.74691,E,27.186,318.19,120308,,,A*50
+$GPRMC,124853.00,A,5204.40310,N,00423.73882,E,25.916,318.16,120308,,,A*5D
+$GPRMC,124854.00,A,5204.40821,N,00423.73105,E,24.843,317.81,120308,,,A*54
+$GPRMC,124855.00,A,5204.41344,N,00423.72360,E,23.766,317.06,120308,,,A*5C
+$GPRMC,124856.00,A,5204.41833,N,00423.71635,E,22.899,316.31,120308,,,A*59
+$GPRMC,124857.00,A,5204.42279,N,00423.70910,E,22.717,315.17,120308,,,A*58
+$GPRMC,124858.00,A,5204.42699,N,00423.70166,E,22.826,313.70,120308,,,A*5E
+$GPRMC,124859.00,A,5204.43136,N,00423.69413,E,22.904,313.90,120308,,,A*5C
+$GPRMC,124900.00,A,5204.43571,N,00423.68676,E,22.852,316.02,120308,,,A*5A
+$GPRMC,124901.00,A,5204.44034,N,00423.67962,E,22.674,317.17,120308,,,A*52
+$GPRMC,124902.00,A,5204.44492,N,00423.67269,E,22.096,316.49,120308,,,A*59
+$GPRMC,124903.00,A,5204.44918,N,00423.66605,E,21.150,317.02,120308,,,A*5E
+$GPRMC,124904.00,A,5204.45342,N,00423.66016,E,19.025,318.18,120308,,,A*55
+$GPRMC,124905.00,A,5204.45721,N,00423.65523,E,15.695,318.62,120308,,,A*59
+$GPRMC,124906.00,A,5204.46020,N,00423.65134,E,11.494,318.69,120308,,,A*51
+$GPRMC,124907.00,A,5204.46225,N,00423.64878,E,6.840,318.62,120308,,,A*6F
+$GPRMC,124908.00,A,5204.46352,N,00423.64724,E,4.352,318.04,120308,,,A*6D
+$GPRMC,124909.00,A,5204.46438,N,00423.64630,E,2.870,318.31,120308,,,A*68
+$GPRMC,124910.00,A,5204.46484,N,00423.64571,E,1.604,318.25,120308,,,A*6A
+$GPRMC,124911.00,A,5204.46511,N,00423.64543,E,0.975,318.82,120308,,,A*62
+$GPRMC,124912.00,A,5204.46522,N,00423.64536,E,0.029,318.92,120308,,,A*62
+$GPRMC,124913.00,A,5204.46523,N,00423.64538,E,0.005,,120308,,,A*7D
+$GPRMC,124914.00,A,5204.46525,N,00423.64539,E,0.015,,120308,,,A*7C
+$GPRMC,124915.00,A,5204.46524,N,00423.64548,E,0.038,318.43,120308,,,A*66
+$GPRMC,124916.00,A,5204.46525,N,00423.64553,E,0.039,323.84,120308,,,A*6C
+$GPRMC,124917.00,A,5204.46523,N,00423.64560,E,0.012,,120308,,,A*72
+$GPRMC,124918.00,A,5204.46522,N,00423.64564,E,0.005,,120308,,,A*7E
+$GPRMC,124919.00,A,5204.46522,N,00423.64561,E,0.006,,120308,,,A*79
+$GPRMC,124920.00,A,5204.46521,N,00423.64559,E,0.029,328.46,120308,,,A*63
+$GPRMC,124921.00,A,5204.46519,N,00423.64558,E,0.013,,120308,,,A*74
+$GPRMC,124922.00,A,5204.46520,N,00423.64559,E,0.035,327.16,120308,,,A*67
+$GPRMC,124923.00,A,5204.46526,N,00423.64551,E,0.478,326.32,120308,,,A*62
+$GPRMC,124924.00,A,5204.46538,N,00423.64526,E,1.009,325.83,120308,,,A*60
+$GPRMC,124925.00,A,5204.46558,N,00423.64494,E,1.131,325.39,120308,,,A*64
+$GPRMC,124926.00,A,5204.46574,N,00423.64466,E,0.894,325.00,120308,,,A*69
+$GPRMC,124927.00,A,5204.46583,N,00423.64449,E,0.405,324.47,120308,,,A*6B
+$GPRMC,124928.00,A,5204.46581,N,00423.64446,E,0.041,325.07,120308,,,A*68
+$GPRMC,124929.00,A,5204.46577,N,00423.64447,E,0.025,322.21,120308,,,A*60
+$GPRMC,124930.00,A,5204.46574,N,00423.64453,E,0.006,,120308,,,A*71
+$GPRMC,124931.00,A,5204.46570,N,00423.64460,E,0.020,327.73,120308,,,A*6C
+$GPRMC,124932.00,A,5204.46569,N,00423.64465,E,0.004,,120308,,,A*78
+$GPRMC,124933.00,A,5204.46569,N,00423.64468,E,0.036,327.62,120308,,,A*69
+$GPRMC,124934.00,A,5204.46572,N,00423.64468,E,0.184,327.16,120308,,,A*6F
+$GPRMC,124935.00,A,5204.46580,N,00423.64464,E,0.271,326.62,120308,,,A*64
+$GPRMC,124936.00,A,5204.46602,N,00423.64437,E,1.654,326.10,120308,,,A*6F
+$GPRMC,124937.00,A,5204.46673,N,00423.64333,E,5.098,317.96,120308,,,A*65
+$GPRMC,124938.00,A,5204.46817,N,00423.64125,E,8.561,318.16,120308,,,A*6A
+$GPRMC,124939.00,A,5204.47038,N,00423.63805,E,12.442,318.53,120308,,,A*59
+$GPRMC,124940.00,A,5204.47314,N,00423.63413,E,13.599,318.79,120308,,,A*5F
+$GPRMC,124941.00,A,5204.47612,N,00423.62993,E,14.394,318.69,120308,,,A*54
+$GPRMC,124942.00,A,5204.47910,N,00423.62499,E,16.041,310.99,120308,,,A*53
+$GPRMC,124943.00,A,5204.48138,N,00423.61850,E,17.719,293.65,120308,,,A*57
+$GPRMC,124944.00,A,5204.48238,N,00423.61041,E,19.010,272.62,120308,,,A*53
+$GPRMC,124945.00,A,5204.48155,N,00423.60163,E,20.400,252.19,120308,,,A*5B
+$GPRMC,124946.00,A,5204.47888,N,00423.59311,E,21.813,236.12,120308,,,A*55
+$GPRMC,124947.00,A,5204.47508,N,00423.58537,E,21.642,228.15,120308,,,A*50
+$GPRMC,124948.00,A,5204.47071,N,00423.57829,E,22.124,222.92,120308,,,A*58
+$GPRMC,124949.00,A,5204.46573,N,00423.57153,E,24.125,217.62,120308,,,A*55
+$GPRMC,124950.00,A,5204.45978,N,00423.56523,E,26.204,209.86,120308,,,A*5C
+$GPRMC,124951.00,A,5204.45291,N,00423.55998,E,27.547,201.58,120308,,,A*54
+$GPRMC,124952.00,A,5204.44522,N,00423.55621,E,29.620,193.08,120308,,,A*55
+$GPRMC,124953.00,A,5204.43683,N,00423.55398,E,30.964,186.95,120308,,,A*5B
+$GPRMC,124954.00,A,5204.42817,N,00423.55266,E,31.113,184.65,120308,,,A*5A
+$GPRMC,124955.00,A,5204.41948,N,00423.55149,E,30.869,185.18,120308,,,A*53
+$GPRMC,124956.00,A,5204.41084,N,00423.54978,E,31.200,189.09,120308,,,A*5A
+$GPRMC,124957.00,A,5204.40212,N,00423.54694,E,32.206,193.88,120308,,,A*5D
+$GPRMC,124958.00,A,5204.39333,N,00423.54281,E,33.230,198.56,120308,,,A*52
+$GPRMC,124959.00,A,5204.38453,N,00423.53728,E,33.975,203.57,120308,,,A*58
+$GPRMC,125000.00,A,5204.37591,N,00423.53036,E,34.657,208.86,120308,,,A*5B
+$GPRMC,125001.00,A,5204.36753,N,00423.52203,E,35.498,213.86,120308,,,A*58
+$GPRMC,125002.00,A,5204.35945,N,00423.51232,E,36.523,219.18,120308,,,A*5F
+$GPRMC,125003.00,A,5204.35176,N,00423.50116,E,37.494,224.24,120308,,,A*5F
+$GPRMC,125004.00,A,5204.34450,N,00423.48851,E,38.782,229.34,120308,,,A*5C
+$GPRMC,125005.00,A,5204.33763,N,00423.47448,E,40.380,232.75,120308,,,A*54
+$GPRMC,125006.00,A,5204.33100,N,00423.45962,E,40.551,234.69,120308,,,A*52
+$GPRMC,125007.00,A,5204.32455,N,00423.44447,E,40.617,235.18,120308,,,A*5A
+$GPRMC,125008.00,A,5204.31802,N,00423.42915,E,41.457,234.78,120308,,,A*54
+$GPRMC,125009.00,A,5204.31132,N,00423.41364,E,42.071,235.18,120308,,,A*54
+$GPRMC,125010.00,A,5204.30448,N,00423.39790,E,42.664,234.85,120308,,,A*52
+$GPRMC,125011.00,A,5204.29748,N,00423.38179,E,43.334,234.75,120308,,,A*56
+$GPRMC,125012.00,A,5204.29022,N,00423.36551,E,43.629,233.49,120308,,,A*5F
+$GPRMC,125013.00,A,5204.28283,N,00423.34916,E,44.618,232.78,120308,,,A*5D
+$GPRMC,125014.00,A,5204.27538,N,00423.33242,E,45.013,233.92,120308,,,A*56
+$GPRMC,125015.00,A,5204.26831,N,00423.31561,E,43.881,235.73,120308,,,A*5A
+$GPRMC,125016.00,A,5204.26166,N,00423.29900,E,42.779,236.46,120308,,,A*5C
+$GPRMC,125017.00,A,5204.25524,N,00423.28279,E,41.748,236.56,120308,,,A*58
+$GPRMC,125018.00,A,5204.24900,N,00423.26711,E,40.731,236.53,120308,,,A*53
+$GPRMC,125019.00,A,5204.24283,N,00423.25182,E,39.834,236.31,120308,,,A*5D
+$GPRMC,125020.00,A,5204.23669,N,00423.23681,E,39.770,236.04,120308,,,A*5B
+$GPRMC,125021.00,A,5204.23045,N,00423.22180,E,39.965,235.84,120308,,,A*54
+$GPRMC,125022.00,A,5204.22413,N,00423.20673,E,40.514,235.42,120308,,,A*56
+$GPRMC,125023.00,A,5204.21750,N,00423.19124,E,41.817,235.23,120308,,,A*57
+$GPRMC,125024.00,A,5204.21065,N,00423.17533,E,42.819,235.16,120308,,,A*56
+$GPRMC,125025.00,A,5204.20364,N,00423.15921,E,43.715,234.83,120308,,,A*56
+$GPRMC,125026.00,A,5204.19654,N,00423.14311,E,43.703,234.20,120308,,,A*5F
+$GPRMC,125027.00,A,5204.18924,N,00423.12702,E,44.267,233.63,120308,,,A*57
+$GPRMC,125028.00,A,5204.18178,N,00423.11088,E,45.080,233.08,120308,,,A*58
+$GPRMC,125029.00,A,5204.17392,N,00423.09441,E,46.068,232.18,120308,,,A*5D
+$GPRMC,125030.00,A,5204.16583,N,00423.07782,E,46.448,231.59,120308,,,A*50
+$GPRMC,125031.00,A,5204.15762,N,00423.06133,E,46.627,230.85,120308,,,A*59
+$GPRMC,125032.00,A,5204.14914,N,00423.04478,E,47.813,230.03,120308,,,A*5A
+$GPRMC,125033.00,A,5204.14030,N,00423.02801,E,49.041,229.17,120308,,,A*5C
+$GPRMC,125034.00,A,5204.13104,N,00423.01100,E,50.251,228.23,120308,,,A*5C
+$GPRMC,125035.00,A,5204.12155,N,00422.99390,E,51.398,228.02,120308,,,A*55
+$GPRMC,125036.00,A,5204.11181,N,00422.97687,E,51.697,226.96,120308,,,A*58
+$GPRMC,125037.00,A,5204.10188,N,00422.95995,E,51.536,226.09,120308,,,A*51
+$GPRMC,125038.00,A,5204.09195,N,00422.94379,E,49.299,224.59,120308,,,A*5F
+$GPRMC,125039.00,A,5204.08173,N,00422.92822,E,50.064,223.88,120308,,,A*57
+$GPRMC,125040.00,A,5204.07141,N,00422.91285,E,49.588,222.31,120308,,,A*5F
+$GPRMC,125041.00,A,5204.06098,N,00422.89812,E,48.991,220.50,120308,,,A*57
+$GPRMC,125042.00,A,5204.05043,N,00422.88402,E,48.598,219.15,120308,,,A*53
+$GPRMC,125043.00,A,5204.03990,N,00422.87041,E,47.743,218.18,120308,,,A*58
+$GPRMC,125044.00,A,5204.02957,N,00422.85780,E,46.975,217.17,120308,,,A*57
+$GPRMC,125045.00,A,5204.01928,N,00422.84540,E,45.872,216.49,120308,,,A*5D
+$GPRMC,125046.00,A,5204.00908,N,00422.83333,E,44.642,215.97,120308,,,A*54
+$GPRMC,125047.00,A,5203.99912,N,00422.82188,E,43.175,215.31,120308,,,A*52
+$GPRMC,125048.00,A,5203.98937,N,00422.81101,E,42.172,214.38,120308,,,A*57
+$GPRMC,125049.00,A,5203.97978,N,00422.80065,E,41.020,214.00,120308,,,A*5E
+$GPRMC,125050.00,A,5203.97051,N,00422.79072,E,39.168,213.94,120308,,,A*5C
+$GPRMC,125051.00,A,5203.96173,N,00422.78130,E,36.991,213.98,120308,,,A*56
+$GPRMC,125052.00,A,5203.95331,N,00422.77227,E,35.883,213.82,120308,,,A*52
+$GPRMC,125053.00,A,5203.94510,N,00422.76354,E,35.009,213.49,120308,,,A*5E
+$GPRMC,125054.00,A,5203.93707,N,00422.75510,E,34.198,213.35,120308,,,A*5C
+$GPRMC,125055.00,A,5203.92921,N,00422.74680,E,33.708,213.30,120308,,,A*50
+$GPRMC,125056.00,A,5203.92138,N,00422.73852,E,33.721,213.40,120308,,,A*59
+$GPRMC,125057.00,A,5203.91345,N,00422.73006,E,34.679,213.64,120308,,,A*57
+$GPRMC,125058.00,A,5203.90528,N,00422.72127,E,36.115,213.82,120308,,,A*50
+$GPRMC,125059.00,A,5203.89679,N,00422.71204,E,37.645,214.09,120308,,,A*58
+$GPRMC,125100.00,A,5203.88792,N,00422.70236,E,39.342,214.09,120308,,,A*5C
+$GPRMC,125101.00,A,5203.87859,N,00422.69239,E,40.972,213.10,120308,,,A*55
+$GPRMC,125102.00,A,5203.86878,N,00422.68228,E,42.460,212.21,120308,,,A*5A
+$GPRMC,125103.00,A,5203.85856,N,00422.67199,E,43.871,211.86,120308,,,A*51
+$GPRMC,125104.00,A,5203.84805,N,00422.66125,E,45.363,212.73,120308,,,A*50
+$GPRMC,125105.00,A,5203.83732,N,00422.64981,E,46.780,214.09,120308,,,A*58
+$GPRMC,125106.00,A,5203.82643,N,00422.63768,E,48.038,215.07,120308,,,A*56
+$GPRMC,125107.00,A,5203.81546,N,00422.62517,E,48.293,215.25,120308,,,A*5A
+$GPRMC,125108.00,A,5203.80454,N,00422.61272,E,47.426,215.02,120308,,,A*53
+$GPRMC,125109.00,A,5203.79379,N,00422.60056,E,46.587,214.85,120308,,,A*5C
+$GPRMC,125110.00,A,5203.78314,N,00422.58833,E,47.026,215.53,120308,,,A*5B
+$GPRMC,125111.00,A,5203.77256,N,00422.57579,E,47.137,216.55,120308,,,A*5A
+$GPRMC,125112.00,A,5203.76182,N,00422.56306,E,47.838,216.04,120308,,,A*5F
+$GPRMC,125113.00,A,5203.75074,N,00422.55043,E,48.370,215.39,120308,,,A*51
+$GPRMC,125114.00,A,5203.73974,N,00422.53775,E,48.693,215.24,120308,,,A*59
+$GPRMC,125115.00,A,5203.72836,N,00422.52529,E,48.134,214.74,120308,,,A*5A
+$GPRMC,125116.00,A,5203.71740,N,00422.51275,E,48.065,215.21,120308,,,A*5D
+$GPRMC,125117.00,A,5203.70633,N,00422.50080,E,47.045,214.07,120308,,,A*59
+$GPRMC,125118.00,A,5203.69543,N,00422.48821,E,47.489,215.11,120308,,,A*52
+$GPRMC,125119.00,A,5203.68447,N,00422.47582,E,47.598,215.34,120308,,,A*5A
+$GPRMC,125120.00,A,5203.67359,N,00422.46286,E,47.879,215.65,120308,,,A*53
+$GPRMC,125121.00,A,5203.66293,N,00422.45004,E,48.001,215.65,120308,,,A*57
+$GPRMC,125122.00,A,5203.65221,N,00422.43721,E,47.983,215.67,120308,,,A*56
+$GPRMC,125123.00,A,5203.64144,N,00422.42442,E,48.890,215.64,120308,,,A*5E
+$GPRMC,125124.00,A,5203.63039,N,00422.41117,E,50.337,215.72,120308,,,A*5B
+$GPRMC,125125.00,A,5203.61907,N,00422.39766,E,51.053,215.77,120308,,,A*56
+$GPRMC,125126.00,A,5203.60759,N,00422.38415,E,50.693,215.61,120308,,,A*5B
+$GPRMC,125127.00,A,5203.59609,N,00422.37092,E,50.249,215.36,120308,,,A*51
+$GPRMC,125128.00,A,5203.58476,N,00422.35785,E,49.653,215.51,120308,,,A*50
+$GPRMC,125129.00,A,5203.57354,N,00422.34495,E,49.077,215.41,120308,,,A*5B
+$GPRMC,125130.00,A,5203.56252,N,00422.33226,E,48.436,215.43,120308,,,A*5E
+$GPRMC,125131.00,A,5203.55162,N,00422.31968,E,48.054,215.39,120308,,,A*52
+$GPRMC,125132.00,A,5203.54081,N,00422.30712,E,47.828,215.80,120308,,,A*50
+$GPRMC,125133.00,A,5203.53012,N,00422.29443,E,47.721,216.29,120308,,,A*55
+$GPRMC,125134.00,A,5203.51945,N,00422.28167,E,47.949,216.44,120308,,,A*52
+$GPRMC,125135.00,A,5203.50875,N,00422.26890,E,47.961,216.09,120308,,,A*5C
+$GPRMC,125136.00,A,5203.49806,N,00422.25613,E,47.726,216.23,120308,,,A*50
+$GPRMC,125137.00,A,5203.48744,N,00422.24344,E,47.502,216.30,120308,,,A*59
+$GPRMC,125138.00,A,5203.47689,N,00422.23079,E,47.000,216.48,120308,,,A*5B
+$GPRMC,125139.00,A,5203.46643,N,00422.21822,E,46.426,216.64,120308,,,A*56
+$GPRMC,125140.00,A,5203.45605,N,00422.20575,E,46.236,216.43,120308,,,A*55
+$GPRMC,125141.00,A,5203.44577,N,00422.19340,E,45.605,216.26,120308,,,A*5D
+$GPRMC,125142.00,A,5203.43567,N,00422.18122,E,45.124,216.80,120308,,,A*57
+$GPRMC,125143.00,A,5203.42574,N,00422.16905,E,44.727,217.13,120308,,,A*59
+$GPRMC,125144.00,A,5203.41591,N,00422.15682,E,44.663,217.55,120308,,,A*56
+$GPRMC,125145.00,A,5203.40611,N,00422.14445,E,44.939,217.89,120308,,,A*54
+$GPRMC,125146.00,A,5203.39628,N,00422.13194,E,45.241,217.93,120308,,,A*53
+$GPRMC,125147.00,A,5203.38638,N,00422.11934,E,45.520,218.26,120308,,,A*53
+$GPRMC,125148.00,A,5203.37602,N,00422.10637,E,47.310,218.45,120308,,,A*55
+$GPRMC,125149.00,A,5203.36558,N,00422.09286,E,48.060,218.51,120308,,,A*51
+$GPRMC,125150.00,A,5203.35503,N,00422.07913,E,49.662,218.94,120308,,,A*51
+$GPRMC,125151.00,A,5203.34431,N,00422.06492,E,49.697,219.54,120308,,,A*53
+$GPRMC,125152.00,A,5203.33379,N,00422.05047,E,49.135,220.93,120308,,,A*5D
+$GPRMC,125153.00,A,5203.32383,N,00422.03625,E,46.427,221.57,120308,,,A*5C
+$GPRMC,125154.00,A,5203.31431,N,00422.02203,E,46.444,223.27,120308,,,A*57
+$GPRMC,125155.00,A,5203.30532,N,00422.00775,E,44.630,224.88,120308,,,A*52
+$GPRMC,125156.00,A,5203.29691,N,00421.99349,E,43.977,226.93,120308,,,A*58
+$GPRMC,125157.00,A,5203.28893,N,00421.97918,E,43.516,227.92,120308,,,A*5F
+$GPRMC,125158.00,A,5203.28081,N,00421.96449,E,44.266,228.62,120308,,,A*54
+$GPRMC,125159.00,A,5203.27273,N,00421.94914,E,45.316,229.57,120308,,,A*52
+$GPRMC,125200.00,A,5203.26463,N,00421.93323,E,46.081,230.11,120308,,,A*56
+$GPRMC,125201.00,A,5203.25654,N,00421.91712,E,46.333,230.55,120308,,,A*5C
+$GPRMC,125202.00,A,5203.24837,N,00421.90100,E,46.436,230.06,120308,,,D*50
+$GPRMC,125203.00,A,5203.24010,N,00421.88515,E,46.156,229.21,120308,,,D*5B
+$GPRMC,125204.00,A,5203.23163,N,00421.86968,E,46.054,227.54,120308,,,D*59
+$GPRMC,125205.00,A,5203.22283,N,00421.85467,E,45.913,225.20,120308,,,D*5D
+$GPRMC,125206.00,A,5203.21370,N,00421.84044,E,45.486,222.58,120308,,,D*5D
+$GPRMC,125207.00,A,5203.20425,N,00421.82684,E,45.625,220.78,120308,,,D*5D
+$GPRMC,125208.00,A,5203.19454,N,00421.81378,E,45.640,218.82,120308,,,D*56
+$GPRMC,125209.00,A,5203.18455,N,00421.80130,E,45.376,216.78,120308,,,D*53
+$GPRMC,125210.00,A,5203.17433,N,00421.78944,E,45.180,214.76,120308,,,D*5F
+$GPRMC,125211.00,A,5203.16397,N,00421.77835,E,44.461,212.38,120308,,,D*59
+$GPRMC,125212.00,A,5203.15349,N,00421.76807,E,44.236,211.26,120308,,,D*52
+$GPRMC,125213.00,A,5203.14263,N,00421.75783,E,45.093,210.21,120308,,,D*51
+$GPRMC,125214.00,A,5203.13159,N,00421.74748,E,46.461,210.21,120308,,,D*57
+$GPRMC,125215.00,A,5203.12023,N,00421.73668,E,48.206,210.90,120308,,,D*5C
+$GPRMC,125216.00,A,5203.10851,N,00421.72528,E,49.867,211.35,120308,,,D*54
+$GPRMC,125217.00,A,5203.09656,N,00421.71341,E,50.868,211.55,120308,,,D*5F
+$GPRMC,125218.00,A,5203.08434,N,00421.70120,E,51.863,211.69,120308,,,D*56
+$GPRMC,125219.00,A,5203.07192,N,00421.68864,E,52.666,212.20,120308,,,D*57
+$GPRMC,125220.00,A,5203.05952,N,00421.67579,E,52.674,212.69,120308,,,D*5B
+$GPRMC,125221.00,A,5203.04717,N,00421.66276,E,53.332,213.37,120308,,,D*51
+$GPRMC,125222.00,A,5203.03466,N,00421.64916,E,54.148,213.93,120308,,,D*59
+$GPRMC,125223.00,A,5203.02215,N,00421.63518,E,55.233,215.14,120308,,,D*59
+$GPRMC,125224.00,A,5203.00976,N,00421.61977,E,57.005,218.54,120308,,,D*59
+$GPRMC,125225.00,A,5202.99716,N,00421.60333,E,58.362,218.98,120308,,,D*57
+$GPRMC,125226.00,A,5202.98435,N,00421.58662,E,59.334,219.06,120308,,,D*59
+$GPRMC,125227.00,A,5202.97164,N,00421.56917,E,60.720,220.61,120308,,,D*55
+$GPRMC,125228.00,A,5202.95870,N,00421.55115,E,62.313,220.76,120308,,,D*5D
+$GPRMC,125229.00,A,5202.94588,N,00421.53219,E,62.537,222.41,120308,,,D*58
+$GPRMC,125230.00,A,5202.93326,N,00421.51298,E,61.957,223.70,120308,,,D*54
+$GPRMC,125231.00,A,5202.92098,N,00421.49349,E,61.357,224.66,120308,,,D*5C
+$GPRMC,125232.00,A,5202.90893,N,00421.47355,E,61.975,225.94,120308,,,D*5B
+$GPRMC,125233.00,A,5202.89718,N,00421.45300,E,61.640,227.80,120308,,,D*52
+$GPRMC,125234.00,A,5202.88601,N,00421.43222,E,60.969,230.29,120308,,,D*5A
+$GPRMC,125235.00,A,5202.87557,N,00421.41059,E,61.370,233.59,120308,,,D*5F
+$GPRMC,125236.00,A,5202.86596,N,00421.38795,E,61.736,236.53,120308,,,D*50
+$GPRMC,125237.00,A,5202.85688,N,00421.36421,E,62.149,239.76,120308,,,D*59
+$GPRMC,125238.00,A,5202.84861,N,00421.33951,E,62.457,242.88,120308,,,D*56
+$GPRMC,125239.00,A,5202.84173,N,00421.31332,E,62.451,246.15,120308,,,D*56
+$GPRMC,125240.00,A,5202.83513,N,00421.28674,E,63.248,247.59,120308,,,D*54
+$GPRMC,125241.00,A,5202.82934,N,00421.25945,E,63.291,250.60,120308,,,D*55
+$GPRMC,125242.00,A,5202.82540,N,00421.23212,E,61.876,255.58,120308,,,D*59
+$GPRMC,125243.00,A,5202.82162,N,00421.20460,E,62.385,257.57,120308,,,D*55
+$GPRMC,125244.00,A,5202.81857,N,00421.17680,E,62.189,260.01,120308,,,D*5F
+$GPRMC,125245.00,A,5202.81559,N,00421.14903,E,61.918,260.47,120308,,,D*5B
+$GPRMC,125246.00,A,5202.81266,N,00421.12111,E,62.538,259.97,120308,,,D*54
+$GPRMC,125247.00,A,5202.80917,N,00421.09319,E,62.069,257.76,120308,,,D*59
+$GPRMC,125248.00,A,5202.80463,N,00421.06543,E,62.316,254.87,120308,,,D*58
+$GPRMC,125249.00,A,5202.79970,N,00421.03841,E,62.332,251.54,120308,,,D*57
+$GPRMC,125250.00,A,5202.79356,N,00421.01218,E,62.194,246.71,120308,,,D*5A
+$GPRMC,125251.00,A,5202.78599,N,00420.98724,E,61.879,241.32,120308,,,D*5D
+$GPRMC,125252.00,A,5202.77690,N,00420.96362,E,62.052,235.84,120308,,,D*5F
+$GPRMC,125253.00,A,5202.76638,N,00420.94121,E,61.952,230.54,120308,,,D*58
+$GPRMC,125254.00,A,5202.75476,N,00420.92073,E,61.560,225.03,120308,,,D*5F
+$GPRMC,125255.00,A,5202.74207,N,00420.90239,E,61.581,220.06,120308,,,D*5E
+$GPRMC,125256.00,A,5202.72854,N,00420.88553,E,61.161,216.50,120308,,,D*59
+$GPRMC,125257.00,A,5202.71438,N,00420.87112,E,59.784,211.13,120308,,,D*55
+$GPRMC,125258.00,A,5202.69891,N,00420.85933,E,61.320,206.25,120308,,,D*57
+$GPRMC,125259.00,A,5202.68292,N,00420.84862,E,61.553,201.28,120308,,,D*52
+$GPRMC,125300.00,A,5202.66647,N,00420.84039,E,61.098,195.81,120308,,,D*54
+$GPRMC,125301.00,A,5202.64980,N,00420.83508,E,60.339,189.11,120308,,,D*5E
+$GPRMC,125302.00,A,5202.63300,N,00420.83225,E,59.975,185.20,120308,,,D*56
+$GPRMC,125303.00,A,5202.61634,N,00420.83286,E,59.502,179.36,120308,,,D*56
+$GPRMC,125304.00,A,5202.59995,N,00420.83551,E,59.070,174.38,120308,,,D*50
+$GPRMC,125305.00,A,5202.58365,N,00420.83819,E,59.024,174.21,120308,,,D*5D
+$GPRMC,125306.00,A,5202.56742,N,00420.84104,E,58.822,173.93,120308,,,D*52
+$GPRMC,125307.00,A,5202.55147,N,00420.84502,E,58.371,172.24,120308,,,D*51
+$GPRMC,125308.00,A,5202.53687,N,00420.86074,E,57.169,155.48,120308,,,D*5E
+$GPRMC,125309.00,A,5202.52275,N,00420.87313,E,57.548,152.31,120308,,,D*5A
+$GPRMC,125310.00,A,5202.50844,N,00420.89131,E,58.977,146.89,120308,,,D*5D
+$GPRMC,125311.00,A,5202.49637,N,00420.90918,E,56.138,142.26,120308,,,D*59
+$GPRMC,125312.00,A,5202.48360,N,00420.92763,E,59.206,140.53,120308,,,D*5D
+$GPRMC,125313.00,A,5202.47076,N,00420.94624,E,59.563,139.74,120308,,,D*5C
+$GPRMC,125314.00,A,5202.45803,N,00420.96424,E,59.486,139.91,120308,,,D*52
+$GPRMC,125315.00,A,5202.44521,N,00420.98182,E,59.639,140.82,120308,,,D*52
+$GPRMC,125316.00,A,5202.43208,N,00420.99906,E,59.447,142.55,120308,,,D*5C
+$GPRMC,125317.00,A,5202.41859,N,00421.01518,E,59.822,144.72,120308,,,D*5E
+$GPRMC,125318.00,A,5202.40482,N,00421.03044,E,59.987,147.04,120308,,,D*58
+$GPRMC,125319.00,A,5202.39093,N,00421.04490,E,58.718,147.64,120308,,,D*56
+$GPRMC,125320.00,A,5202.37612,N,00421.05808,E,59.087,151.42,120308,,,D*52
+$GPRMC,125321.00,A,5202.36113,N,00421.07007,E,59.163,153.93,120308,,,D*54
+$GPRMC,125322.00,A,5202.34613,N,00421.08097,E,58.523,156.54,120308,,,D*5B
+$GPRMC,125323.00,A,5202.33104,N,00421.09095,E,57.890,158.59,120308,,,D*56
+$GPRMC,125324.00,A,5202.31590,N,00421.09976,E,57.423,161.07,120308,,,D*5B
+$GPRMC,125325.00,A,5202.30061,N,00421.10746,E,56.820,163.57,120308,,,D*5C
+$GPRMC,125326.00,A,5202.28535,N,00421.11409,E,56.236,165.67,120308,,,D*53
+$GPRMC,125327.00,A,5202.27012,N,00421.11979,E,55.694,167.59,120308,,,D*57
+$GPRMC,125328.00,A,5202.25498,N,00421.12469,E,55.134,169.16,120308,,,D*5B
+$GPRMC,125329.00,A,5202.23991,N,00421.12904,E,54.475,170.01,120308,,,D*51
+$GPRMC,125330.00,A,5202.22495,N,00421.13312,E,54.359,170.23,120308,,,D*54
+$GPRMC,125331.00,A,5202.21003,N,00421.13714,E,54.128,170.24,120308,,,D*5C
+$GPRMC,125332.00,A,5202.19517,N,00421.14120,E,54.066,170.15,120308,,,D*5B
+$GPRMC,125333.00,A,5202.18036,N,00421.14534,E,54.016,169.93,120308,,,D*5D
+$GPRMC,125334.00,A,5202.16557,N,00421.14954,E,53.963,170.07,120308,,,D*55
+$GPRMC,125335.00,A,5202.15078,N,00421.15371,E,53.846,170.05,120308,,,D*57
+$GPRMC,125336.00,A,5202.13607,N,00421.15786,E,53.692,170.11,120308,,,D*52
+$GPRMC,125337.00,A,5202.12138,N,00421.16192,E,53.599,170.43,120308,,,D*56
+$GPRMC,125338.00,A,5202.10672,N,00421.16590,E,53.556,170.40,120308,,,D*54
+$GPRMC,125339.00,A,5202.09208,N,00421.16993,E,53.477,170.35,120308,,,D*5B
+$GPRMC,125340.00,A,5202.07749,N,00421.17403,E,53.468,170.16,120308,,,D*51
+$GPRMC,125341.00,A,5202.06288,N,00421.17821,E,53.711,169.98,120308,,,D*56
+$GPRMC,125342.00,A,5202.04827,N,00421.18255,E,53.543,169.35,120308,,,D*5C
+$GPRMC,125343.00,A,5202.03367,N,00421.18716,E,53.661,168.72,120308,,,D*56
+$GPRMC,125344.00,A,5202.01907,N,00421.19214,E,53.786,167.62,120308,,,D*5F
+$GPRMC,125345.00,A,5202.00450,N,00421.19766,E,53.938,166.23,120308,,,D*5F
+$GPRMC,125346.00,A,5201.99003,N,00421.20374,E,53.675,164.72,120308,,,D*50
+$GPRMC,125347.00,A,5201.97566,N,00421.21044,E,53.810,163.18,120308,,,D*5E
+$GPRMC,125348.00,A,5201.96138,N,00421.21769,E,53.756,162.15,120308,,,D*56
+$GPRMC,125349.00,A,5201.94722,N,00421.22549,E,53.973,160.42,120308,,,D*52
+$GPRMC,125350.00,A,5201.93316,N,00421.23407,E,54.306,158.80,120308,,,D*5E
+$GPRMC,125351.00,A,5201.91913,N,00421.24331,E,54.817,157.27,120308,,,D*5E
+$GPRMC,125352.00,A,5201.90520,N,00421.25331,E,54.947,155.59,120308,,,D*5E
+$GPRMC,125353.00,A,5201.89138,N,00421.26383,E,55.103,154.16,120308,,,D*53
+$GPRMC,125354.00,A,5201.87769,N,00421.27510,E,55.506,152.61,120308,,,D*52
+$GPRMC,125355.00,A,5201.86424,N,00421.28721,E,55.548,149.96,120308,,,D*5F
+$GPRMC,125356.00,A,5201.85114,N,00421.30040,E,55.661,147.26,120308,,,D*5D
+$GPRMC,125357.00,A,5201.83839,N,00421.31444,E,55.977,144.84,120308,,,D*5E
+$GPRMC,125358.00,A,5201.82580,N,00421.32913,E,56.387,144.12,120308,,,D*5A
+$GPRMC,125359.00,A,5201.81305,N,00421.34408,E,57.330,144.54,120308,,,D*5D
+$GPRMC,125400.00,A,5201.80017,N,00421.35877,E,56.464,145.18,120308,,,D*5C
+$GPRMC,125401.00,A,5201.78719,N,00421.37339,E,56.323,145.02,120308,,,D*5F
+$GPRMC,125402.00,A,5201.77432,N,00421.38839,E,56.513,144.35,120308,,,D*5D
+$GPRMC,125403.00,A,5201.76168,N,00421.40305,E,56.332,144.20,120308,,,D*5D
+$GPRMC,125404.00,A,5201.74903,N,00421.41824,E,56.303,144.22,120308,,,D*54
+$GPRMC,125405.00,A,5201.73647,N,00421.43351,E,56.255,144.22,120308,,,D*54
+$GPRMC,125406.00,A,5201.72398,N,00421.44868,E,56.084,144.00,120308,,,D*59
+$GPRMC,125407.00,A,5201.71150,N,00421.46369,E,55.937,144.37,120308,,,D*53
+$GPRMC,125408.00,A,5201.69897,N,00421.47863,E,55.863,144.54,120308,,,D*52
+$GPRMC,125409.00,A,5201.68645,N,00421.49371,E,55.831,144.17,120308,,,D*55
+$GPRMC,125410.00,A,5201.67399,N,00421.50870,E,55.736,144.14,120308,,,D*5F
+$GPRMC,125411.00,A,5201.66150,N,00421.52349,E,55.782,144.53,120308,,,D*57
+$GPRMC,125412.00,A,5201.64893,N,00421.53826,E,56.048,144.37,120308,,,D*53
+$GPRMC,125413.00,A,5201.63634,N,00421.55307,E,56.223,144.21,120308,,,D*50
+$GPRMC,125414.00,A,5201.62371,N,00421.56794,E,56.392,144.41,120308,,,D*52
+$GPRMC,125415.00,A,5201.61102,N,00421.58281,E,56.469,144.30,120308,,,D*5C
+$GPRMC,125416.00,A,5201.59835,N,00421.59772,E,56.420,144.45,120308,,,D*5E
+$GPRMC,125417.00,A,5201.58565,N,00421.61265,E,56.548,144.56,120308,,,D*53
+$GPRMC,125418.00,A,5201.57293,N,00421.62743,E,56.125,144.21,120308,,,D*50
+$GPRMC,125419.00,A,5201.56002,N,00421.64269,E,56.964,144.25,120308,,,D*58
+$GPRMC,125420.00,A,5201.54701,N,00421.65758,E,56.873,144.66,120308,,,D*52
+$GPRMC,125421.00,A,5201.53399,N,00421.67261,E,56.803,144.90,120308,,,D*52
+$GPRMC,125422.00,A,5201.52096,N,00421.68729,E,56.953,145.34,120308,,,D*51
+$GPRMC,125423.00,A,5201.50782,N,00421.70184,E,56.966,145.83,120308,,,D*52
+$GPRMC,125424.00,A,5201.49472,N,00421.71623,E,56.911,145.87,120308,,,D*5E
+$GPRMC,125425.00,A,5201.48170,N,00421.73061,E,56.779,145.38,120308,,,D*5F
+$GPRMC,125426.00,A,5201.46885,N,00421.74523,E,56.550,144.66,120308,,,D*56
+$GPRMC,125427.00,A,5201.45616,N,00421.75998,E,56.199,144.38,120308,,,D*57
+$GPRMC,125428.00,A,5201.44358,N,00421.77469,E,55.860,144.16,120308,,,D*57
+$GPRMC,125429.00,A,5201.43105,N,00421.78940,E,55.864,144.01,120308,,,D*50
+$GPRMC,125430.00,A,5201.41859,N,00421.80396,E,55.293,144.21,120308,,,D*5C
+$GPRMC,125431.00,A,5201.40622,N,00421.81846,E,55.073,144.31,120308,,,D*54
+$GPRMC,125432.00,A,5201.39393,N,00421.83278,E,54.897,144.32,120308,,,D*53
+$GPRMC,125433.00,A,5201.38158,N,00421.84712,E,54.596,144.54,120308,,,D*54
+$GPRMC,125434.00,A,5201.36932,N,00421.86121,E,54.262,144.77,120308,,,D*50
+$GPRMC,125435.00,A,5201.35710,N,00421.87562,E,54.337,144.44,120308,,,D*5F
+$GPRMC,125436.00,A,5201.34485,N,00421.89010,E,54.582,144.42,120308,,,D*52
+$GPRMC,125437.00,A,5201.33258,N,00421.90470,E,54.875,144.13,120308,,,D*59
+$GPRMC,125438.00,A,5201.32027,N,00421.91945,E,55.380,143.68,120308,,,D*5C
+$GPRMC,125439.00,A,5201.30790,N,00421.93453,E,56.070,143.26,120308,,,D*59
+$GPRMC,125440.00,A,5201.29539,N,00421.94988,E,56.838,142.98,120308,,,D*52
+$GPRMC,125441.00,A,5201.28266,N,00421.96528,E,57.620,143.27,120308,,,D*58
+$GPRMC,125442.00,A,5201.26971,N,00421.98075,E,58.343,143.50,120308,,,D*54
+$GPRMC,125443.00,A,5201.25662,N,00421.99649,E,59.006,143.48,120308,,,D*59
+$GPRMC,125444.00,A,5201.24347,N,00422.01249,E,59.187,143.62,120308,,,D*5B
+$GPRMC,125445.00,A,5201.23031,N,00422.02830,E,59.009,143.70,120308,,,D*5C
+$GPRMC,125446.00,A,5201.21713,N,00422.04393,E,58.791,144.06,120308,,,D*5F
+$GPRMC,125447.00,A,5201.20394,N,00422.05947,E,58.769,144.29,120308,,,D*5C
+$GPRMC,125448.00,A,5201.19070,N,00422.07492,E,58.765,144.15,120308,,,D*54
+$GPRMC,125449.00,A,5201.17746,N,00422.09039,E,58.976,144.27,120308,,,D*5F
+$GPRMC,125450.00,A,5201.16412,N,00422.10594,E,59.472,144.23,120308,,,D*52
+$GPRMC,125451.00,A,5201.15066,N,00422.12164,E,59.927,144.20,120308,,,D*50
+$GPRMC,125452.00,A,5201.13710,N,00422.13748,E,60.310,144.19,120308,,,D*54
+$GPRMC,125453.00,A,5201.12346,N,00422.15333,E,60.548,144.22,120308,,,D*5E
+$GPRMC,125454.00,A,5201.10978,N,00422.16922,E,60.727,144.44,120308,,,D*5E
+$GPRMC,125455.00,A,5201.09599,N,00422.18500,E,60.795,144.68,120308,,,D*51
+$GPRMC,125456.00,A,5201.08222,N,00422.20092,E,60.869,144.48,120308,,,D*5F
+$GPRMC,125457.00,A,5201.06846,N,00422.21687,E,60.904,144.31,120308,,,D*5F
+$GPRMC,125458.00,A,5201.05472,N,00422.23287,E,60.988,144.19,120308,,,D*50
+$GPRMC,125459.00,A,5201.04096,N,00422.24891,E,61.162,144.17,120308,,,D*57
+$GPRMC,125500.00,A,5201.02718,N,00422.26510,E,61.356,144.21,120308,,,D*5B
+$GPRMC,125501.00,A,5201.01332,N,00422.28125,E,61.585,144.28,120308,,,D*58
+$GPRMC,125502.00,A,5200.99938,N,00422.29710,E,61.105,145.40,120308,,,D*59
+$GPRMC,125503.00,A,5200.98532,N,00422.31281,E,61.274,145.28,120308,,,D*50
+$GPRMC,125504.00,A,5200.97121,N,00422.32882,E,61.716,144.64,120308,,,D*5C
+$GPRMC,125505.00,A,5200.95721,N,00422.34498,E,61.713,144.21,120308,,,D*5C
+$GPRMC,125506.00,A,5200.94321,N,00422.36125,E,61.819,144.32,120308,,,D*5C
+$GPRMC,125507.00,A,5200.92920,N,00422.37761,E,61.746,144.42,120308,,,D*55
+$GPRMC,125508.00,A,5200.91522,N,00422.39386,E,61.597,144.44,120308,,,D*5C
+$GPRMC,125509.00,A,5200.90133,N,00422.41009,E,61.609,144.06,120308,,,D*51
+$GPRMC,125510.00,A,5200.88743,N,00422.42636,E,61.625,144.30,120308,,,D*53
+$GPRMC,125511.00,A,5200.87344,N,00422.44298,E,61.180,144.32,120308,,,D*52
+$GPRMC,125512.00,A,5200.85959,N,00422.45942,E,61.417,143.98,120308,,,D*54
+$GPRMC,125513.00,A,5200.84569,N,00422.47593,E,61.419,144.38,120308,,,D*5A
+$GPRMC,125514.00,A,5200.83179,N,00422.49220,E,61.374,144.46,120308,,,D*5B
+$GPRMC,125515.00,A,5200.81790,N,00422.50843,E,61.393,144.41,120308,,,D*50
+$GPRMC,125516.00,A,5200.80401,N,00422.52466,E,61.566,144.38,120308,,,D*52
+$GPRMC,125517.00,A,5200.79010,N,00422.54093,E,61.765,144.24,120308,,,D*55
+$GPRMC,125518.00,A,5200.77613,N,00422.55728,E,61.876,144.28,120308,,,D*56
+$GPRMC,125519.00,A,5200.76212,N,00422.57359,E,61.913,144.55,120308,,,D*5B
+$GPRMC,125520.00,A,5200.74816,N,00422.58993,E,61.746,144.16,120308,,,D*57
+$GPRMC,125521.00,A,5200.73426,N,00422.60621,E,61.340,144.32,120308,,,D*57
+$GPRMC,125522.00,A,5200.72046,N,00422.62239,E,60.951,144.23,120308,,,D*53
+$GPRMC,125523.00,A,5200.70679,N,00422.63850,E,60.493,144.24,120308,,,D*5A
+$GPRMC,125524.00,A,5200.69326,N,00422.65444,E,59.642,144.32,120308,,,D*56
+$GPRMC,125525.00,A,5200.67994,N,00422.67009,E,58.584,144.26,120308,,,D*58
+$GPRMC,125526.00,A,5200.66687,N,00422.68545,E,57.563,144.11,120308,,,D*57
+$GPRMC,125527.00,A,5200.65403,N,00422.70056,E,56.700,144.24,120308,,,D*55
+$GPRMC,125528.00,A,5200.64134,N,00422.71545,E,56.139,144.18,120308,,,D*5F
+$GPRMC,125529.00,A,5200.62874,N,00422.73014,E,55.721,144.59,120308,,,D*5F
+$GPRMC,125530.00,A,5200.61622,N,00422.74465,E,55.174,144.44,120308,,,D*56
+$GPRMC,125531.00,A,5200.60382,N,00422.75911,E,54.853,144.27,120308,,,D*5E
+$GPRMC,125532.00,A,5200.59147,N,00422.77355,E,55.018,144.27,120308,,,D*52
+$GPRMC,125533.00,A,5200.57907,N,00422.78807,E,55.175,144.17,120308,,,D*5B
+$GPRMC,125534.00,A,5200.56666,N,00422.80264,E,55.202,144.28,120308,,,D*52
+$GPRMC,125535.00,A,5200.55423,N,00422.81713,E,55.225,144.42,120308,,,D*5E
+$GPRMC,125536.00,A,5200.54178,N,00422.83163,E,55.327,144.49,120308,,,D*5C
+$GPRMC,125537.00,A,5200.52929,N,00422.84609,E,55.342,144.57,120308,,,D*57
+$GPRMC,125538.00,A,5200.51687,N,00422.86051,E,55.042,144.41,120308,,,A*58
+$GPRMC,125539.00,A,5200.50458,N,00422.87486,E,54.380,144.22,120308,,,A*5E
+$GPRMC,125540.00,A,5200.49251,N,00422.88906,E,53.454,144.09,120308,,,A*5D
+$GPRMC,125541.00,A,5200.48066,N,00422.90298,E,52.490,144.02,120308,,,A*5C
+$GPRMC,125542.00,A,5200.46898,N,00422.91670,E,51.907,144.11,120308,,,A*59
+$GPRMC,125543.00,A,5200.45736,N,00422.93018,E,51.620,144.51,120308,,,A*54
+$GPRMC,125544.00,A,5200.44577,N,00422.94360,E,51.428,144.30,120308,,,A*53
+$GPRMC,125545.00,A,5200.43421,N,00422.95698,E,51.361,144.30,120308,,,A*5E
+$GPRMC,125546.00,A,5200.42264,N,00422.97034,E,51.208,144.28,120308,,,A*5E
+$GPRMC,125547.00,A,5200.41111,N,00422.98362,E,50.879,144.27,120308,,,A*50
+$GPRMC,125548.00,A,5200.39961,N,00422.99672,E,50.538,144.92,120308,,,A*5C
+$GPRMC,125549.00,A,5200.38810,N,00423.00969,E,50.578,144.80,120308,,,A*58
+$GPRMC,125550.00,A,5200.37662,N,00423.02266,E,50.480,145.00,120308,,,A*5D
+$GPRMC,125551.00,A,5200.36508,N,00423.03546,E,50.563,145.95,120308,,,A*56
+$GPRMC,125552.00,A,5200.35337,N,00423.04790,E,50.680,147.02,120308,,,A*50
+$GPRMC,125553.00,A,5200.34148,N,00423.06006,E,50.808,148.07,120308,,,A*54
+$GPRMC,125554.00,A,5200.32938,N,00423.07183,E,51.197,149.43,120308,,,A*58
+$GPRMC,125555.00,A,5200.31700,N,00423.08325,E,51.875,150.72,120308,,,A*51
+$GPRMC,125556.00,A,5200.30424,N,00423.09424,E,52.754,152.53,120308,,,A*5F
+$GPRMC,125557.00,A,5200.29105,N,00423.10483,E,53.782,154.08,120308,,,A*57
+$GPRMC,125558.00,A,5200.27743,N,00423.11495,E,54.570,155.72,120308,,,A*50
+$GPRMC,125559.00,A,5200.26343,N,00423.12452,E,55.059,157.72,120308,,,A*51
+$GPRMC,125600.00,A,5200.24923,N,00423.13340,E,55.025,159.12,120308,,,A*56
+$GPRMC,125601.00,A,5200.23457,N,00423.14153,E,55.626,160.66,120308,,,A*55
+$GPRMC,125602.00,A,5200.21983,N,00423.14931,E,55.828,162.29,120308,,,A*55
+$GPRMC,125603.00,A,5200.20504,N,00423.15653,E,55.854,163.37,120308,,,A*59
+$GPRMC,125604.00,A,5200.19012,N,00423.16338,E,55.850,164.32,120308,,,A*5B
+$GPRMC,125605.00,A,5200.17520,N,00423.16992,E,55.803,164.88,120308,,,A*5D
+$GPRMC,125606.00,A,5200.16019,N,00423.17626,E,55.765,165.16,120308,,,A*58
+$GPRMC,125607.00,A,5200.14519,N,00423.18260,E,55.760,164.95,120308,,,A*58
+$GPRMC,125608.00,A,5200.13021,N,00423.18898,E,55.776,165.02,120308,,,A*5B
+$GPRMC,125609.00,A,5200.11525,N,00423.19535,E,55.629,165.09,120308,,,A*52
+$GPRMC,125610.00,A,5200.10034,N,00423.20171,E,55.347,165.03,120308,,,A*57
+$GPRMC,125611.00,A,5200.08551,N,00423.20806,E,55.002,164.93,120308,,,A*5A
+$GPRMC,125612.00,A,5200.07078,N,00423.21442,E,54.762,165.03,120308,,,A*5D
+$GPRMC,125613.00,A,5200.05613,N,00423.22064,E,54.358,165.32,120308,,,A*59
+$GPRMC,125614.00,A,5200.04156,N,00423.22677,E,54.008,165.34,120308,,,A*5D
+$GPRMC,125615.00,A,5200.02705,N,00423.23290,E,53.888,165.29,120308,,,A*5D
+$GPRMC,125616.00,A,5200.01258,N,00423.23907,E,53.813,165.14,120308,,,A*59
+$GPRMC,125617.00,A,5159.99808,N,00423.24525,E,53.914,165.03,120308,,,A*52
+$GPRMC,125618.00,A,5159.98357,N,00423.25151,E,54.154,165.01,120308,,,A*52
+$GPRMC,125619.00,A,5159.96901,N,00423.25777,E,54.297,165.11,120308,,,A*5B
+$GPRMC,125620.00,A,5159.95441,N,00423.26397,E,54.409,165.19,120308,,,A*5B
+$GPRMC,125621.00,A,5159.93976,N,00423.27019,E,54.540,165.16,120308,,,A*52
+$GPRMC,125622.00,A,5159.92505,N,00423.27648,E,54.942,165.21,120308,,,A*50
+$GPRMC,125623.00,A,5159.91020,N,00423.28276,E,55.455,165.30,120308,,,A*5C
+$GPRMC,125624.00,A,5159.89525,N,00423.28908,E,55.679,165.30,120308,,,A*5C
+$GPRMC,125625.00,A,5159.88030,N,00423.29539,E,55.558,165.39,120308,,,A*5B
+$GPRMC,125626.00,A,5159.86537,N,00423.30172,E,55.543,165.16,120308,,,A*50
+$GPRMC,125627.00,A,5159.85043,N,00423.30811,E,55.550,164.99,120308,,,A*5C
+$GPRMC,125628.00,A,5159.83550,N,00423.31454,E,55.936,165.11,120308,,,A*53
+$GPRMC,125629.00,A,5159.82053,N,00423.32079,E,55.423,165.99,120308,,,A*54
+$GPRMC,125630.00,A,5159.80533,N,00423.32718,E,56.308,165.82,120308,,,A*5A
+$GPRMC,125631.00,A,5159.78982,N,00423.33357,E,57.118,165.42,120308,,,A*5A
+$GPRMC,125632.00,A,5159.77443,N,00423.34025,E,56.868,164.92,120308,,,A*54
+$GPRMC,125633.00,A,5159.75911,N,00423.34690,E,56.763,165.04,120308,,,A*5F
+$GPRMC,125634.00,A,5159.74371,N,00423.35345,E,56.664,165.13,120308,,,A*59
+$GPRMC,125635.00,A,5159.72841,N,00423.35986,E,56.772,165.66,120308,,,A*57
+$GPRMC,125636.00,A,5159.71332,N,00423.36668,E,56.316,164.81,120308,,,A*5A
+$GPRMC,125637.00,A,5159.69825,N,00423.37317,E,55.942,165.17,120308,,,A*55
+$GPRMC,125638.00,A,5159.68324,N,00423.37971,E,55.948,165.26,120308,,,A*53
+$GPRMC,125639.00,A,5159.66820,N,00423.38631,E,55.998,165.06,120308,,,A*58
+$GPRMC,125640.00,A,5159.65307,N,00423.39285,E,56.167,165.05,120308,,,A*59
+$GPRMC,125641.00,A,5159.63793,N,00423.39934,E,56.390,165.24,120308,,,A*5F
+$GPRMC,125642.00,A,5159.62275,N,00423.40578,E,56.459,165.16,120308,,,A*59
+$GPRMC,125643.00,A,5159.60754,N,00423.41227,E,56.335,164.96,120308,,,A*54
+$GPRMC,125644.00,A,5159.59240,N,00423.41877,E,56.209,165.13,120308,,,A*54
+$GPRMC,125645.00,A,5159.57735,N,00423.42525,E,55.952,165.06,120308,,,A*57
+$GPRMC,125646.00,A,5159.56239,N,00423.43171,E,55.687,165.11,120308,,,A*59
+$GPRMC,125647.00,A,5159.54745,N,00423.43814,E,55.610,165.03,120308,,,A*53
+$GPRMC,125648.00,A,5159.53250,N,00423.44460,E,55.979,165.15,120308,,,A*55
+$GPRMC,125649.00,A,5159.51740,N,00423.45102,E,56.413,165.49,120308,,,A*59
+$GPRMC,125650.00,A,5159.50215,N,00423.45746,E,56.939,165.26,120308,,,A*5F
+$GPRMC,125651.00,A,5159.48677,N,00423.46405,E,57.457,165.01,120308,,,A*51
+$GPRMC,125652.00,A,5159.47128,N,00423.47071,E,57.897,165.31,120308,,,A*55
+$GPRMC,125653.00,A,5159.45568,N,00423.47736,E,58.249,165.23,120308,,,A*57
+$GPRMC,125654.00,A,5159.44000,N,00423.48411,E,58.523,165.08,120308,,,A*51
+$GPRMC,125655.00,A,5159.42428,N,00423.49090,E,58.725,165.24,120308,,,A*5E
+$GPRMC,125656.00,A,5159.40850,N,00423.49768,E,58.908,165.18,120308,,,A*52
+$GPRMC,125657.00,A,5159.39262,N,00423.50443,E,58.957,165.30,120308,,,A*54
+$GPRMC,125658.00,A,5159.37674,N,00423.51098,E,59.050,166.00,120308,,,A*5A
+$GPRMC,125659.00,A,5159.36077,N,00423.51731,E,59.090,166.30,120308,,,A*54
+$GPRMC,125700.00,A,5159.34468,N,00423.52356,E,59.426,166.44,120308,,,A*5D
+$GPRMC,125701.00,A,5159.32861,N,00423.52984,E,59.586,166.20,120308,,,A*53
+$GPRMC,125702.00,A,5159.31250,N,00423.53622,E,59.750,166.16,120308,,,A*55
+$GPRMC,125703.00,A,5159.29637,N,00423.54269,E,59.720,165.82,120308,,,A*5D
+$GPRMC,125704.00,A,5159.28036,N,00423.54933,E,59.421,165.45,120308,,,A*51
+$GPRMC,125705.00,A,5159.26446,N,00423.55605,E,59.065,165.22,120308,,,A*53
+$GPRMC,125706.00,A,5159.24868,N,00423.56283,E,58.600,165.06,120308,,,A*59
+$GPRMC,125707.00,A,5159.23301,N,00423.56954,E,58.199,165.26,120308,,,A*5F
+$GPRMC,125708.00,A,5159.21746,N,00423.57614,E,57.802,165.41,120308,,,A*5A
+$GPRMC,125709.00,A,5159.20212,N,00423.58250,E,56.548,165.94,120308,,,A*5F
+$GPRMC,125710.00,A,5159.18699,N,00423.58885,E,56.170,165.41,120308,,,A*5E
+$GPRMC,125711.00,A,5159.17201,N,00423.59524,E,55.179,164.93,120308,,,A*56
+$GPRMC,125712.00,A,5159.15732,N,00423.60161,E,54.380,164.92,120308,,,A*59
+$GPRMC,125713.00,A,5159.14287,N,00423.60787,E,53.714,165.02,120308,,,A*5A
+$GPRMC,125714.00,A,5159.12855,N,00423.61400,E,53.436,165.28,120308,,,A*58
+$GPRMC,125715.00,A,5159.11424,N,00423.62007,E,53.345,165.28,120308,,,A*53
+$GPRMC,125716.00,A,5159.09996,N,00423.62615,E,53.401,165.18,120308,,,A*5C
+$GPRMC,125717.00,A,5159.08565,N,00423.63227,E,53.604,165.17,120308,,,A*50
+$GPRMC,125718.00,A,5159.07126,N,00423.63840,E,53.783,165.26,120308,,,A*54
+$GPRMC,125719.00,A,5159.05682,N,00423.64456,E,54.030,165.21,120308,,,A*5D
+$GPRMC,125720.00,A,5159.04236,N,00423.65078,E,54.022,165.14,120308,,,A*51
+$GPRMC,125721.00,A,5159.02790,N,00423.65695,E,53.973,165.31,120308,,,A*57
+$GPRMC,125722.00,A,5159.01344,N,00423.66306,E,53.880,165.58,120308,,,A*54
+$GPRMC,125723.00,A,5158.99902,N,00423.66911,E,53.697,165.29,120308,,,A*5F
+$GPRMC,125724.00,A,5158.98468,N,00423.67526,E,53.527,165.09,120308,,,A*5B
+$GPRMC,125725.00,A,5158.97035,N,00423.68134,E,53.500,165.57,120308,,,A*5F
+$GPRMC,125726.00,A,5158.95612,N,00423.68748,E,52.992,164.90,120308,,,A*5C
+$GPRMC,125727.00,A,5158.94198,N,00423.69353,E,52.747,165.04,120308,,,A*5C
+$GPRMC,125728.00,A,5158.92786,N,00423.69960,E,52.680,165.17,120308,,,A*5E
+$GPRMC,125729.00,A,5158.91375,N,00423.70557,E,52.770,165.03,120308,,,A*5F
+$GPRMC,125730.00,A,5158.89960,N,00423.71157,E,52.937,165.11,120308,,,A*5B
+$GPRMC,125731.00,A,5158.88539,N,00423.71728,E,53.059,165.54,120308,,,A*54
+$GPRMC,125732.00,A,5158.87111,N,00423.72312,E,53.027,165.61,120308,,,A*57
+$GPRMC,125733.00,A,5158.85688,N,00423.72907,E,52.971,165.63,120308,,,A*54
+$GPRMC,125734.00,A,5158.84272,N,00423.73510,E,52.732,165.34,120308,,,A*53
+$GPRMC,125735.00,A,5158.82863,N,00423.74112,E,52.546,165.23,120308,,,A*58
+$GPRMC,125736.00,A,5158.81454,N,00423.74711,E,52.503,165.34,120308,,,A*52
+$GPRMC,125737.00,A,5158.80043,N,00423.75309,E,52.380,165.17,120308,,,A*50
+$GPRMC,125738.00,A,5158.78638,N,00423.75914,E,52.270,165.12,120308,,,A*5F
+$GPRMC,125739.00,A,5158.77237,N,00423.76518,E,52.133,165.20,120308,,,A*5C
+$GPRMC,125740.00,A,5158.75843,N,00423.77123,E,51.925,165.08,120308,,,A*52
+$GPRMC,125741.00,A,5158.74458,N,00423.77729,E,51.551,165.05,120308,,,A*5A
+$GPRMC,125742.00,A,5158.73085,N,00423.78331,E,51.124,165.05,120308,,,A*5E
+$GPRMC,125743.00,A,5158.71723,N,00423.78931,E,50.849,165.00,120308,,,A*5A
+$GPRMC,125744.00,A,5158.70362,N,00423.79527,E,50.892,165.06,120308,,,A*57
+$GPRMC,125745.00,A,5158.68996,N,00423.80122,E,51.063,165.09,120308,,,A*51
+$GPRMC,125746.00,A,5158.67628,N,00423.80708,E,51.135,165.57,120308,,,A*50
+$GPRMC,125747.00,A,5158.66258,N,00423.81286,E,51.078,165.40,120308,,,A*5F
+$GPRMC,125748.00,A,5158.64887,N,00423.81860,E,50.992,165.50,120308,,,A*55
+$GPRMC,125749.00,A,5158.63526,N,00423.82428,E,50.437,165.30,120308,,,A*52
+$GPRMC,125750.00,A,5158.62179,N,00423.83002,E,50.152,165.10,120308,,,A*5C
+$GPRMC,125751.00,A,5158.60838,N,00423.83582,E,50.116,165.07,120308,,,A*58
+$GPRMC,125752.00,A,5158.59491,N,00423.84155,E,49.956,165.22,120308,,,A*54
+$GPRMC,125753.00,A,5158.58150,N,00423.84720,E,49.659,165.44,120308,,,A*58
+$GPRMC,125754.00,A,5158.56817,N,00423.85272,E,49.401,165.65,120308,,,A*54
+$GPRMC,125755.00,A,5158.55488,N,00423.85824,E,49.349,165.43,120308,,,A*5A
+$GPRMC,125756.00,A,5158.54163,N,00423.86386,E,49.380,165.07,120308,,,A*5D
+$GPRMC,125757.00,A,5158.52837,N,00423.86953,E,49.364,165.17,120308,,,A*5B
+$GPRMC,125758.00,A,5158.51516,N,00423.87523,E,49.307,164.95,120308,,,A*5D
+$GPRMC,125759.00,A,5158.50189,N,00423.88098,E,49.710,165.08,120308,,,A*52
+$GPRMC,125800.00,A,5158.48851,N,00423.88675,E,50.063,164.95,120308,,,A*5F
+$GPRMC,125801.00,A,5158.47512,N,00423.89258,E,50.201,164.96,120308,,,A*54
+$GPRMC,125802.00,A,5158.46167,N,00423.89837,E,50.252,165.33,120308,,,A*5B
+$GPRMC,125803.00,A,5158.44827,N,00423.90421,E,49.940,164.76,120308,,,A*56
+$GPRMC,125804.00,A,5158.43494,N,00423.91010,E,49.856,165.01,120308,,,A*52
+$GPRMC,125805.00,A,5158.42162,N,00423.91589,E,49.722,165.26,120308,,,A*52
+$GPRMC,125806.00,A,5158.40827,N,00423.92161,E,49.998,165.30,120308,,,A*52
+$GPRMC,125807.00,A,5158.39483,N,00423.92739,E,50.333,165.21,120308,,,A*57
+$GPRMC,125808.00,A,5158.38132,N,00423.93323,E,50.636,165.16,120308,,,A*5C
+$GPRMC,125809.00,A,5158.36772,N,00423.93912,E,50.893,165.07,120308,,,A*58
+$GPRMC,125810.00,A,5158.35406,N,00423.94503,E,51.138,165.21,120308,,,A*55
+$GPRMC,125811.00,A,5158.34033,N,00423.95096,E,51.359,165.12,120308,,,A*5A
+$GPRMC,125812.00,A,5158.32650,N,00423.95691,E,51.477,165.04,120308,,,A*51
+$GPRMC,125813.00,A,5158.31265,N,00423.96297,E,51.480,164.55,120308,,,A*5D
+$GPRMC,125814.00,A,5158.29886,N,00423.96925,E,51.611,164.11,120308,,,A*5C
+$GPRMC,125815.00,A,5158.28510,N,00423.97587,E,51.689,162.97,120308,,,A*52
+$GPRMC,125816.00,A,5158.27141,N,00423.98298,E,51.618,161.59,120308,,,A*51
+$GPRMC,125817.00,A,5158.25787,N,00423.99055,E,51.556,160.29,120308,,,A*53
+$GPRMC,125818.00,A,5158.24443,N,00423.99854,E,51.642,159.49,120308,,,A*55
+$GPRMC,125819.00,A,5158.23110,N,00424.00682,E,51.395,158.76,120308,,,A*50
+$GPRMC,125820.00,A,5158.21797,N,00424.01545,E,50.912,157.41,120308,,,A*57
+$GPRMC,125821.00,A,5158.20511,N,00424.02455,E,50.475,155.85,120308,,,A*5E
+$GPRMC,125822.00,A,5158.19249,N,00424.03401,E,50.029,155.00,120308,,,A*5D
+$GPRMC,125823.00,A,5158.18014,N,00424.04365,E,49.430,154.68,120308,,,A*5E
+$GPRMC,125824.00,A,5158.16804,N,00424.05318,E,48.189,154.58,120308,,,A*50
+$GPRMC,125825.00,A,5158.15633,N,00424.06235,E,45.872,154.37,120308,,,A*5C
+$GPRMC,125826.00,A,5158.14527,N,00424.07106,E,43.213,154.42,120308,,,A*53
+$GPRMC,125827.00,A,5158.13486,N,00424.07921,E,40.591,154.42,120308,,,A*5C
+$GPRMC,125828.00,A,5158.12510,N,00424.08684,E,38.102,154.49,120308,,,A*59
+$GPRMC,125829.00,A,5158.11580,N,00424.09413,E,36.911,154.33,120308,,,A*56
+$GPRMC,125830.00,A,5158.10677,N,00424.10124,E,36.015,154.23,120308,,,A*51
+$GPRMC,125831.00,A,5158.09796,N,00424.10819,E,35.244,154.21,120308,,,A*56
+$GPRMC,125832.00,A,5158.08931,N,00424.11503,E,34.846,154.16,120308,,,A*5D
+$GPRMC,125833.00,A,5158.08075,N,00424.12181,E,34.462,154.09,120308,,,A*5C
+$GPRMC,125834.00,A,5158.07226,N,00424.12856,E,34.384,154.15,120308,,,A*51
+$GPRMC,125835.00,A,5158.06374,N,00424.13533,E,34.539,154.18,120308,,,A*55
+$GPRMC,125836.00,A,5158.05516,N,00424.14212,E,34.722,154.24,120308,,,A*53
+$GPRMC,125837.00,A,5158.04655,N,00424.14888,E,34.737,154.34,120308,,,A*5B
+$GPRMC,125838.00,A,5158.03796,N,00424.15565,E,34.642,154.30,120308,,,A*55
+$GPRMC,125839.00,A,5158.02937,N,00424.16237,E,34.591,154.43,120308,,,A*5A
+$GPRMC,125840.00,A,5158.02093,N,00424.16898,E,33.424,154.51,120308,,,A*57
+$GPRMC,125841.00,A,5158.01294,N,00424.17521,E,31.046,154.46,120308,,,A*5A
+$GPRMC,125842.00,A,5158.00550,N,00424.18106,E,29.147,154.15,120308,,,A*56
+$GPRMC,125843.00,A,5157.99853,N,00424.18659,E,27.400,154.04,120308,,,A*53
+$GPRMC,125844.00,A,5157.99202,N,00424.19175,E,25.600,154.14,120308,,,A*53
+$GPRMC,125845.00,A,5157.98588,N,00424.19662,E,24.369,153.95,120308,,,A*52
+$GPRMC,125846.00,A,5157.97993,N,00424.20128,E,23.930,154.63,120308,,,A*54
+$GPRMC,125847.00,A,5157.97398,N,00424.20588,E,24.115,154.92,120308,,,A*5C
+$GPRMC,125848.00,A,5157.96803,N,00424.21039,E,24.077,154.69,120308,,,A*54
+$GPRMC,125849.00,A,5157.96201,N,00424.21502,E,24.698,154.42,120308,,,A*5E
+$GPRMC,125850.00,A,5157.95578,N,00424.21989,E,25.785,154.05,120308,,,A*5C
+$GPRMC,125851.00,A,5157.94941,N,00424.22488,E,25.795,154.49,120308,,,A*5C
+$GPRMC,125852.00,A,5157.94286,N,00424.23007,E,26.256,154.29,120308,,,A*52
+$GPRMC,125853.00,A,5157.93634,N,00424.23519,E,26.386,154.28,120308,,,A*5E
+$GPRMC,125854.00,A,5157.92973,N,00424.24038,E,27.012,154.17,120308,,,A*56
+$GPRMC,125855.00,A,5157.92293,N,00424.24574,E,27.767,153.90,120308,,,A*52
+$GPRMC,125856.00,A,5157.91597,N,00424.25131,E,28.468,153.89,120308,,,A*5E
+$GPRMC,125857.00,A,5157.90888,N,00424.25699,E,28.753,153.93,120308,,,A*58
+$GPRMC,125858.00,A,5157.90173,N,00424.26268,E,28.857,154.09,120308,,,A*5C
+$GPRMC,125859.00,A,5157.89454,N,00424.26836,E,29.007,154.26,120308,,,A*55
+$GPRMC,125900.00,A,5157.88731,N,00424.27405,E,29.068,154.17,120308,,,A*5F
+$GPRMC,125901.00,A,5157.88008,N,00424.27973,E,29.072,154.28,120308,,,A*58
+$GPRMC,125902.00,A,5157.87286,N,00424.28535,E,28.859,154.29,120308,,,A*50
+$GPRMC,125903.00,A,5157.86576,N,00424.29089,E,28.191,154.32,120308,,,A*5C
+$GPRMC,125904.00,A,5157.85883,N,00424.29627,E,27.384,154.41,120308,,,A*50
+$GPRMC,125905.00,A,5157.85211,N,00424.30151,E,26.673,154.35,120308,,,A*51
+$GPRMC,125906.00,A,5157.84552,N,00424.30666,E,26.360,154.36,120308,,,A*54
+$GPRMC,125907.00,A,5157.83898,N,00424.31175,E,26.197,154.34,120308,,,A*55
+$GPRMC,125908.00,A,5157.83248,N,00424.31682,E,26.089,154.41,120308,,,A*5E
+$GPRMC,125909.00,A,5157.82602,N,00424.32180,E,25.745,154.64,120308,,,A*51
+$GPRMC,125910.00,A,5157.81968,N,00424.32668,E,24.959,154.49,120308,,,A*55
+$GPRMC,125911.00,A,5157.81352,N,00424.33144,E,24.092,154.52,120308,,,D*5E
+$GPRMC,125912.00,A,5157.80761,N,00424.33601,E,23.208,154.41,120308,,,D*5A
+$GPRMC,125913.00,A,5157.80197,N,00424.34040,E,21.924,154.28,120308,,,D*58
+$GPRMC,125914.00,A,5157.79672,N,00424.34452,E,20.285,154.31,120308,,,D*5B
+$GPRMC,125915.00,A,5157.79187,N,00424.34834,E,18.829,154.27,120308,,,D*5B
+$GPRMC,125916.00,A,5157.78731,N,00424.35192,E,17.928,154.38,120308,,,D*57
+$GPRMC,125917.00,A,5157.78291,N,00424.35535,E,17.477,154.37,120308,,,D*58
+$GPRMC,125918.00,A,5157.77839,N,00424.35887,E,18.766,154.47,120308,,,D*5F
+$GPRMC,125919.00,A,5157.77356,N,00424.36260,E,20.023,154.60,120308,,,D*54
+$GPRMC,125920.00,A,5157.76842,N,00424.36657,E,21.319,154.66,120308,,,D*5C
+$GPRMC,125921.00,A,5157.76294,N,00424.37082,E,22.494,154.64,120308,,,D*50
+$GPRMC,125922.00,A,5157.75720,N,00424.37499,E,23.022,156.44,120308,,,D*5C
+$GPRMC,125923.00,A,5157.75143,N,00424.37943,E,23.064,154.31,120308,,,D*56
+$GPRMC,125924.00,A,5157.74583,N,00424.38385,E,22.478,154.35,120308,,,D*5B
+$GPRMC,125925.00,A,5157.74020,N,00424.38858,E,23.189,149.30,120308,,,D*5E
+$GPRMC,125926.00,A,5157.73463,N,00424.39286,E,22.457,154.39,120308,,,D*53
+$GPRMC,125927.00,A,5157.72906,N,00424.39694,E,22.640,154.47,120308,,,D*57
+$GPRMC,125928.00,A,5157.72351,N,00424.40109,E,22.366,154.43,120308,,,D*58
+$GPRMC,125929.00,A,5157.71803,N,00424.40524,E,21.825,154.27,120308,,,D*50
+$GPRMC,125930.00,A,5157.71265,N,00424.40943,E,21.537,154.30,120308,,,D*57
+$GPRMC,125931.00,A,5157.70725,N,00424.41363,E,21.972,154.12,120308,,,D*52
+$GPRMC,125932.00,A,5157.70164,N,00424.41802,E,22.924,154.46,120308,,,D*5F
+$GPRMC,125933.00,A,5157.69577,N,00424.42260,E,23.825,154.15,120308,,,D*5A
+$GPRMC,125934.00,A,5157.68968,N,00424.42737,E,24.729,154.24,120308,,,D*5F
+$GPRMC,125935.00,A,5157.68334,N,00424.43232,E,25.765,153.96,120308,,,D*5B
+$GPRMC,125936.00,A,5157.67676,N,00424.43741,E,26.481,154.32,120308,,,D*56
+$GPRMC,125937.00,A,5157.67011,N,00424.44255,E,26.485,154.16,120308,,,D*55
+$GPRMC,125938.00,A,5157.66352,N,00424.44762,E,25.967,154.23,120308,,,D*5A
+$GPRMC,125939.00,A,5157.65703,N,00424.45259,E,25.554,154.49,120308,,,D*54
+$GPRMC,125940.00,A,5157.65063,N,00424.45744,E,25.179,154.55,120308,,,D*54
+$GPRMC,125941.00,A,5157.64435,N,00424.46220,E,24.602,154.71,120308,,,D*5B
+$GPRMC,125942.00,A,5157.63828,N,00424.46678,E,23.634,154.77,120308,,,D*52
+$GPRMC,125943.00,A,5157.63248,N,00424.47116,E,22.496,154.66,120308,,,D*5A
+$GPRMC,125944.00,A,5157.62700,N,00424.47530,E,21.194,154.49,120308,,,D*5C
+$GPRMC,125945.00,A,5157.62198,N,00424.47910,E,19.104,154.81,120308,,,D*52
+$GPRMC,125946.00,A,5157.61756,N,00424.48249,E,16.625,154.30,120308,,,D*5F
+$GPRMC,125947.00,A,5157.61371,N,00424.48544,E,14.517,154.30,120308,,,D*55
+$GPRMC,125948.00,A,5157.61034,N,00424.48803,E,12.916,153.91,120308,,,D*51
+$GPRMC,125949.00,A,5157.60740,N,00424.49034,E,11.248,153.77,120308,,,D*53
+$GPRMC,125950.00,A,5157.60473,N,00424.49241,E,10.578,153.95,120308,,,D*51
+$GPRMC,125951.00,A,5157.60219,N,00424.49440,E,10.233,154.13,120308,,,D*5C
+$GPRMC,125952.00,A,5157.59971,N,00424.49632,E,10.033,154.43,120308,,,D*50
+$GPRMC,125953.00,A,5157.59727,N,00424.49822,E,9.890,154.33,120308,,,D*6D
+$GPRMC,125954.00,A,5157.59491,N,00424.50008,E,9.474,154.34,120308,,,D*6D
+$GPRMC,125955.00,A,5157.59265,N,00424.50178,E,8.818,154.48,120308,,,D*6B
+$GPRMC,125956.00,A,5157.59057,N,00424.50338,E,8.194,154.52,120308,,,D*6B
+$GPRMC,125957.00,A,5157.58862,N,00424.50483,E,7.671,154.84,120308,,,D*6A
+$GPRMC,125958.00,A,5157.58682,N,00424.50620,E,7.105,154.52,120308,,,D*61
+$GPRMC,125959.00,A,5157.58512,N,00424.50747,E,6.716,154.93,120308,,,D*62
+$GPRMC,130000.00,A,5157.58352,N,00424.50864,E,6.296,154.93,120308,,,D*62
+$GPRMC,130001.00,A,5157.58217,N,00424.51003,E,5.917,154.99,120308,,,D*60
+$GPRMC,130002.00,A,5157.58090,N,00424.51133,E,5.546,154.24,120308,,,D*62
+$GPRMC,130003.00,A,5157.57961,N,00424.51246,E,5.498,154.88,120308,,,D*6E
+$GPRMC,130004.00,A,5157.57827,N,00424.51371,E,6.245,154.90,120308,,,D*63
+$GPRMC,130005.00,A,5157.57660,N,00424.51513,E,7.760,154.75,120308,,,D*65
+$GPRMC,130006.00,A,5157.57454,N,00424.51682,E,9.191,154.76,120308,,,D*6D
+$GPRMC,130007.00,A,5157.57211,N,00424.51878,E,10.610,154.34,120308,,,D*50
+$GPRMC,130008.00,A,5157.56934,N,00424.52103,E,11.975,154.35,120308,,,D*58
+$GPRMC,130009.00,A,5157.56621,N,00424.52357,E,13.502,153.88,120308,,,D*5E
+$GPRMC,130010.00,A,5157.56267,N,00424.52647,E,15.112,153.66,120308,,,D*57
+$GPRMC,130011.00,A,5157.55871,N,00424.52972,E,16.876,153.50,120308,,,D*5C
+$GPRMC,130012.00,A,5157.55431,N,00424.53335,E,18.574,153.68,120308,,,D*55
+$GPRMC,130013.00,A,5157.54945,N,00424.53722,E,20.090,153.84,120308,,,D*5F
+$GPRMC,130014.00,A,5157.54446,N,00424.54123,E,20.086,153.57,120308,,,D*5F
+$GPRMC,130015.00,A,5157.53943,N,00424.54520,E,19.914,154.53,120308,,,D*5D
+$GPRMC,130016.00,A,5157.53446,N,00424.54903,E,19.490,154.72,120308,,,D*59
+$GPRMC,130017.00,A,5157.52957,N,00424.55269,E,19.212,154.65,120308,,,D*58
+$GPRMC,130018.00,A,5157.52478,N,00424.55625,E,18.856,154.84,120308,,,D*5F
+$GPRMC,130019.00,A,5157.52007,N,00424.55969,E,18.481,155.00,120308,,,D*5E
+$GPRMC,130020.00,A,5157.51546,N,00424.56305,E,18.129,154.97,120308,,,D*5C
+$GPRMC,130021.00,A,5157.51096,N,00424.56635,E,17.687,154.85,120308,,,D*5C
+$GPRMC,130022.00,A,5157.50665,N,00424.56967,E,17.057,154.67,120308,,,D*5B
+$GPRMC,130023.00,A,5157.50256,N,00424.57294,E,16.246,153.28,120308,,,D*57
+$GPRMC,130024.00,A,5157.49865,N,00424.57625,E,15.850,154.25,120308,,,D*58
+$GPRMC,130025.00,A,5157.49473,N,00424.57935,E,15.555,154.29,120308,,,D*58
+$GPRMC,130026.00,A,5157.49088,N,00424.58245,E,15.478,153.97,120308,,,D*54
+$GPRMC,130027.00,A,5157.48704,N,00424.58558,E,15.444,153.73,120308,,,D*59
+$GPRMC,130028.00,A,5157.48320,N,00424.58873,E,15.485,153.86,120308,,,D*57
+$GPRMC,130029.00,A,5157.47928,N,00424.59196,E,16.076,153.55,120308,,,D*5D
+$GPRMC,130030.00,A,5157.47514,N,00424.59536,E,17.251,153.98,120308,,,D*5F
+$GPRMC,130031.00,A,5157.47067,N,00424.59899,E,18.604,154.10,120308,,,D*5B
+$GPRMC,130032.00,A,5157.46589,N,00424.60284,E,19.583,153.66,120308,,,D*5B
+$GPRMC,130033.00,A,5157.46083,N,00424.60689,E,20.768,153.93,120308,,,D*5B
+$GPRMC,130034.00,A,5157.45544,N,00424.61113,E,22.007,154.47,120308,,,D*56
+$GPRMC,130035.00,A,5157.44974,N,00424.61559,E,23.250,154.62,120308,,,D*55
+$GPRMC,130036.00,A,5157.44373,N,00424.62025,E,24.417,154.63,120308,,,D*55
+$GPRMC,130037.00,A,5157.43743,N,00424.62514,E,25.525,154.33,120308,,,D*57
+$GPRMC,130038.00,A,5157.43093,N,00424.63026,E,26.110,153.89,120308,,,D*50
+$GPRMC,130039.00,A,5157.42429,N,00424.63550,E,26.672,154.25,120308,,,D*53
+$GPRMC,130040.00,A,5157.41756,N,00424.64093,E,27.134,153.63,120308,,,D*59
+$GPRMC,130041.00,A,5157.41072,N,00424.64637,E,27.512,153.87,120308,,,D*5B
+$GPRMC,130042.00,A,5157.40377,N,00424.65180,E,27.650,154.35,120308,,,D*5E
+$GPRMC,130043.00,A,5157.39680,N,00424.65720,E,27.578,154.61,120308,,,D*58
+$GPRMC,130044.00,A,5157.38983,N,00424.66253,E,27.469,154.69,120308,,,D*59
+$GPRMC,130045.00,A,5157.38288,N,00424.66782,E,27.474,154.66,120308,,,D*52
+$GPRMC,130046.00,A,5157.37595,N,00424.67313,E,27.444,154.58,120308,,,D*56
+$GPRMC,130047.00,A,5157.36905,N,00424.67843,E,27.275,154.60,120308,,,D*52
+$GPRMC,130048.00,A,5157.36219,N,00424.68369,E,27.145,154.53,120308,,,D*57
+$GPRMC,130049.00,A,5157.35538,N,00424.68893,E,27.087,154.55,120308,,,D*56
+$GPRMC,130050.00,A,5157.34858,N,00424.69419,E,27.073,154.34,120308,,,D*57
+$GPRMC,130051.00,A,5157.34180,N,00424.69951,E,27.069,154.04,120308,,,D*53
+$GPRMC,130052.00,A,5157.33500,N,00424.70489,E,27.226,153.83,120308,,,D*5A
+$GPRMC,130053.00,A,5157.32815,N,00424.71036,E,27.659,154.01,120308,,,D*53
+$GPRMC,130054.00,A,5157.32110,N,00424.71597,E,28.776,154.16,120308,,,D*53
+$GPRMC,130055.00,A,5157.31377,N,00424.72177,E,29.836,154.19,120308,,,D*5E
+$GPRMC,130056.00,A,5157.30626,N,00424.72771,E,30.410,154.33,120308,,,D*55
+$GPRMC,130057.00,A,5157.29864,N,00424.73366,E,30.577,154.51,120308,,,D*53
+$GPRMC,130058.00,A,5157.29102,N,00424.73950,E,30.119,154.87,120308,,,D*5D
+$GPRMC,130059.00,A,5157.28355,N,00424.74516,E,29.311,155.22,120308,,,D*58
+$GPRMC,130100.00,A,5157.27626,N,00424.75061,E,28.530,155.53,120308,,,D*5D
+$GPRMC,130101.00,A,5157.26931,N,00424.75570,E,26.457,156.01,120308,,,D*5B
+$GPRMC,130102.00,A,5157.26310,N,00424.76008,E,22.411,157.18,120308,,,D*57
+$GPRMC,130103.00,A,5157.25796,N,00424.76353,E,17.705,157.94,120308,,,D*56
+$GPRMC,130104.00,A,5157.25404,N,00424.76613,E,12.837,157.93,120308,,,D*54
+$GPRMC,130105.00,A,5157.25140,N,00424.76790,E,7.812,157.48,120308,,,D*6F
+$GPRMC,130106.00,A,5157.24987,N,00424.76897,E,4.218,156.19,120308,,,D*60
+$GPRMC,130107.00,A,5157.24912,N,00424.76952,E,1.695,156.20,120308,,,D*6B
+$GPRMC,130108.00,A,5157.24886,N,00424.76975,E,0.382,156.29,120308,,,D*66
+$GPRMC,130109.00,A,5157.24882,N,00424.76981,E,0.035,160.80,120308,,,D*61
+$GPRMC,130110.00,A,5157.24883,N,00424.76981,E,0.011,,120308,,,D*7F
+$GPRMC,130111.00,A,5157.24884,N,00424.76981,E,0.027,162.97,120308,,,D*69
+$GPRMC,130112.00,A,5157.24884,N,00424.76980,E,0.009,,120308,,,D*72
+$GPRMC,130113.00,A,5157.24891,N,00424.76986,E,0.018,,120308,,,D*71
+$GPRMC,130114.00,A,5157.24896,N,00424.76995,E,0.009,,120308,,,D*73
+$GPRMC,130115.00,A,5157.24904,N,00424.77009,E,0.017,,120308,,,D*7A
+$GPRMC,130116.00,A,5157.24910,N,00424.77003,E,0.175,162.81,120308,,,D*61
+$GPRMC,130117.00,A,5157.24896,N,00424.77018,E,1.665,162.39,120308,,,D*61
+$GPRMC,130118.00,A,5157.24832,N,00424.77067,E,3.818,155.46,120308,,,D*62
+$GPRMC,130119.00,A,5157.24733,N,00424.77146,E,4.091,152.93,120308,,,D*6E
+$GPRMC,130120.00,A,5157.24610,N,00424.77237,E,4.940,154.59,120308,,,D*64
+$GPRMC,130121.00,A,5157.24502,N,00424.77321,E,4.102,155.83,120308,,,D*6B
+$GPRMC,130122.00,A,5157.24429,N,00424.77347,E,2.286,157.56,120308,,,D*63
+$GPRMC,130123.00,A,5157.24407,N,00424.77354,E,0.707,156.99,120308,,,D*60
+$GPRMC,130124.00,A,5157.24418,N,00424.77348,E,0.045,160.31,120308,,,D*62
+$GPRMC,130125.00,A,5157.24436,N,00424.77374,E,0.037,158.46,120308,,,D*6E
+$GPRMC,130126.00,A,5157.24443,N,00424.77373,E,0.040,162.01,120308,,,D*62
+$GPRMC,130127.00,A,5157.24434,N,00424.77364,E,0.534,161.88,120308,,,D*61
+$GPRMC,130128.00,A,5157.24399,N,00424.77370,E,1.976,155.62,120308,,,D*63
+$GPRMC,130129.00,A,5157.24326,N,00424.77418,E,3.481,152.71,120308,,,D*6D
+$GPRMC,130130.00,A,5157.24246,N,00424.77464,E,2.949,154.68,120308,,,D*6F
+$GPRMC,130131.00,A,5157.24168,N,00424.77510,E,2.959,155.31,120308,,,D*6F
+$GPRMC,130132.00,A,5157.24106,N,00424.77565,E,2.925,154.03,120308,,,D*6D
+$GPRMC,130133.00,A,5157.24018,N,00424.77615,E,3.511,154.07,120308,,,D*68
+$GPRMC,130134.00,A,5157.23921,N,00424.77676,E,3.932,154.27,120308,,,D*61
+$GPRMC,130135.00,A,5157.23800,N,00424.77765,E,5.369,154.83,120308,,,D*6D
+$GPRMC,130136.00,A,5157.23622,N,00424.77899,E,8.514,154.58,120308,,,D*6B
+$GPRMC,130137.00,A,5157.23368,N,00424.78089,E,11.297,154.64,120308,,,D*5C
+$GPRMC,130138.00,A,5157.23080,N,00424.78306,E,11.311,154.60,120308,,,D*59
+$GPRMC,130139.00,A,5157.22792,N,00424.78525,E,11.378,154.74,120308,,,D*50
+$GPRMC,130140.00,A,5157.22495,N,00424.78735,E,11.903,156.97,120308,,,D*50
+$GPRMC,130141.00,A,5157.22177,N,00424.78976,E,13.129,154.99,120308,,,D*5F
+$GPRMC,130142.00,A,5157.21818,N,00424.79250,E,15.076,154.75,120308,,,D*5E
+$GPRMC,130143.00,A,5157.21411,N,00424.79563,E,17.029,155.10,120308,,,D*57
+$GPRMC,130144.00,A,5157.20941,N,00424.79902,E,19.072,155.04,120308,,,D*57
+$GPRMC,130145.00,A,5157.20434,N,00424.80299,E,20.889,154.47,120308,,,D*56
+$GPRMC,130146.00,A,5157.19882,N,00424.80678,E,21.635,154.93,120308,,,D*54
+$GPRMC,130147.00,A,5157.19341,N,00424.81079,E,21.153,154.80,120308,,,D*52
+$GPRMC,130148.00,A,5157.18807,N,00424.81468,E,20.555,154.95,120308,,,D*56
+$GPRMC,130149.00,A,5157.18292,N,00424.81842,E,20.120,154.68,120308,,,D*51
+$GPRMC,130150.00,A,5157.17790,N,00424.82211,E,19.345,154.82,120308,,,D*51
+$GPRMC,130151.00,A,5157.17313,N,00424.82543,E,18.047,155.07,120308,,,D*53
+$GPRMC,130152.00,A,5157.16877,N,00424.82878,E,16.357,155.02,120308,,,D*54
+$GPRMC,130153.00,A,5157.16499,N,00424.83168,E,13.785,154.07,120308,,,D*5A
+$GPRMC,130154.00,A,5157.16207,N,00424.83408,E,9.980,154.02,120308,,,D*6A
+$GPRMC,130155.00,A,5157.16008,N,00424.83586,E,6.494,154.14,120308,,,D*61
+$GPRMC,130156.00,A,5157.15890,N,00424.83684,E,3.544,154.12,120308,,,D*66
+$GPRMC,130157.00,A,5157.15822,N,00424.83735,E,2.620,154.15,120308,,,D*62
+$GPRMC,130158.00,A,5157.15772,N,00424.83777,E,2.168,153.30,120308,,,D*6A
+$GPRMC,130159.00,A,5157.15733,N,00424.83816,E,1.544,153.45,120308,,,D*6D
+$GPRMC,130200.00,A,5157.15715,N,00424.83842,E,0.407,153.43,120308,,,D*66
+$GPRMC,130201.00,A,5157.15711,N,00424.83847,E,0.015,,120308,,,D*7F
+$GPRMC,130202.00,A,5157.15711,N,00424.83848,E,0.016,,120308,,,D*70
+$GPRMC,130203.00,A,5157.15711,N,00424.83849,E,0.069,156.27,120308,,,D*61
+$GPRMC,130204.00,A,5157.15710,N,00424.83848,E,0.090,159.24,120308,,,D*6C
+$GPRMC,130205.00,A,5157.15710,N,00424.83847,E,0.100,161.77,120308,,,D*67
+$GPRMC,130206.00,A,5157.15710,N,00424.83849,E,0.025,162.55,120308,,,D*6F
+$GPRMC,130207.00,A,5157.15710,N,00424.83850,E,0.050,165.79,120308,,,D*6D
+$GPRMC,130208.00,A,5157.15711,N,00424.83851,E,0.055,163.34,120308,,,D*68
+$GPRMC,130209.00,A,5157.15707,N,00424.83860,E,0.312,162.25,120308,,,D*6D
+$GPRMC,130210.00,A,5157.15686,N,00424.83891,E,1.580,161.67,120308,,,D*6A
+$GPRMC,130211.00,A,5157.15631,N,00424.83941,E,3.076,153.33,120308,,,D*65
+$GPRMC,130212.00,A,5157.15538,N,00424.84046,E,4.541,153.92,120308,,,D*68
+$GPRMC,130213.00,A,5157.15420,N,00424.84161,E,5.197,154.30,120308,,,D*64
+$GPRMC,130214.00,A,5157.15288,N,00424.84268,E,5.375,154.07,120308,,,D*67
+$GPRMC,130215.00,A,5157.15165,N,00424.84364,E,4.559,153.86,120308,,,D*6C
+$GPRMC,130216.00,A,5157.15060,N,00424.84450,E,4.073,154.09,120308,,,D*66
+$GPRMC,130217.00,A,5157.14963,N,00424.84526,E,3.881,154.36,120308,,,D*62
+$GPRMC,130218.00,A,5157.14870,N,00424.84598,E,3.776,154.04,120308,,,D*6D
+$GPRMC,130219.00,A,5157.14778,N,00424.84672,E,3.762,153.96,120308,,,D*65
+$GPRMC,130220.00,A,5157.14685,N,00424.84749,E,3.778,154.25,120308,,,D*61
+$GPRMC,130221.00,A,5157.14595,N,00424.84832,E,3.726,154.50,120308,,,D*68
+$GPRMC,130222.00,A,5157.14504,N,00424.84910,E,3.680,154.08,120308,,,D*62
+$GPRMC,130223.00,A,5157.14415,N,00424.84987,E,3.668,153.72,120308,,,D*60
+$GPRMC,130224.00,A,5157.14330,N,00424.85060,E,3.390,153.69,120308,,,D*6E
+$GPRMC,130225.00,A,5157.14256,N,00424.85132,E,2.968,154.12,120308,,,D*6F
+$GPRMC,130226.00,A,5157.14190,N,00424.85195,E,2.613,155.51,120308,,,D*6D
+$GPRMC,130227.00,A,5157.14133,N,00424.85249,E,2.210,155.73,120308,,,D*60
+$GPRMC,130228.00,A,5157.14088,N,00424.85294,E,1.866,155.68,120308,,,D*6C
+$GPRMC,130229.00,A,5157.14051,N,00424.85337,E,1.728,155.07,120308,,,D*6D
+$GPRMC,130230.00,A,5157.14013,N,00424.85371,E,1.949,154.33,120308,,,D*6E
+$GPRMC,130231.00,A,5157.13956,N,00424.85413,E,2.956,154.89,120308,,,D*6F
+$GPRMC,130232.00,A,5157.13868,N,00424.85479,E,4.263,155.61,120308,,,D*60
+$GPRMC,130233.00,A,5157.13758,N,00424.85557,E,4.829,155.06,120308,,,D*65
+$GPRMC,130234.00,A,5157.13646,N,00424.85635,E,4.410,155.16,120308,,,D*6C
+$GPRMC,130235.00,A,5157.13539,N,00424.85710,E,4.441,154.23,120308,,,D*63
+$GPRMC,130236.00,A,5157.13434,N,00424.85790,E,4.180,153.84,120308,,,D*66
+$GPRMC,130237.00,A,5157.13339,N,00424.85865,E,3.685,153.56,120308,,,D*62
+$GPRMC,130238.00,A,5157.13258,N,00424.85927,E,3.065,153.62,120308,,,D*63
+$GPRMC,130239.00,A,5157.13188,N,00424.85984,E,2.787,153.73,120308,,,D*6F
+$GPRMC,130240.00,A,5157.13111,N,00424.86047,E,3.565,153.79,120308,,,D*61
+$GPRMC,130241.00,A,5157.13013,N,00424.86124,E,4.428,153.19,120308,,,D*6E
+$GPRMC,130242.00,A,5157.12908,N,00424.86209,E,4.229,153.16,120308,,,D*6B
+$GPRMC,130243.00,A,5157.12804,N,00424.86295,E,4.376,153.39,120308,,,D*64
+$GPRMC,130244.00,A,5157.12698,N,00424.86389,E,4.492,153.83,120308,,,D*68
+$GPRMC,130245.00,A,5157.12591,N,00424.86486,E,4.560,153.06,120308,,,D*6A
+$GPRMC,130246.00,A,5157.12476,N,00424.86590,E,4.940,152.96,120308,,,D*61
+$GPRMC,130247.00,A,5157.12344,N,00424.86705,E,5.775,153.30,120308,,,D*6C
+$GPRMC,130248.00,A,5157.12187,N,00424.86841,E,6.950,153.02,120308,,,D*6A
+$GPRMC,130249.00,A,5157.12007,N,00424.86991,E,7.645,152.63,120308,,,D*62
+$GPRMC,130250.00,A,5157.11819,N,00424.87144,E,7.517,153.78,120308,,,D*60
+$GPRMC,130251.00,A,5157.11634,N,00424.87290,E,7.332,153.36,120308,,,D*61
+$GPRMC,130252.00,A,5157.11456,N,00424.87431,E,7.014,153.73,120308,,,D*6F
+$GPRMC,130253.00,A,5157.11288,N,00424.87564,E,6.442,153.84,120308,,,D*64
+$GPRMC,130254.00,A,5157.11134,N,00424.87685,E,5.897,153.73,120308,,,D*64
+$GPRMC,130255.00,A,5157.10998,N,00424.87792,E,5.169,153.59,120308,,,D*6D
+$GPRMC,130256.00,A,5157.10877,N,00424.87889,E,4.583,153.64,120308,,,D*64
+$GPRMC,130257.00,A,5157.10760,N,00424.87987,E,4.869,153.82,120308,,,D*62
+$GPRMC,130258.00,A,5157.10625,N,00424.88095,E,5.846,154.99,120308,,,D*69
+$GPRMC,130259.00,A,5157.10460,N,00424.88228,E,7.407,153.21,120308,,,D*60
+$GPRMC,130300.00,A,5157.10249,N,00424.88400,E,9.498,154.82,120308,,,D*6A
+$GPRMC,130301.00,A,5157.09980,N,00424.88607,E,11.778,156.18,120308,,,D*5D
+$GPRMC,130302.00,A,5157.09666,N,00424.88807,E,12.182,159.38,120308,,,D*5A
+$GPRMC,130303.00,A,5157.09350,N,00424.88992,E,11.843,161.49,120308,,,D*5C
+$GPRMC,130304.00,A,5157.09035,N,00424.89137,E,11.563,166.81,120308,,,D*51
+$GPRMC,130305.00,A,5157.08721,N,00424.89238,E,11.315,169.36,120308,,,D*5B
+$GPRMC,130306.00,A,5157.08411,N,00424.89318,E,11.377,172.04,120308,,,D*54
+$GPRMC,130307.00,A,5157.08099,N,00424.89373,E,11.204,174.30,120308,,,D*58
+$GPRMC,130308.00,A,5157.07793,N,00424.89409,E,10.915,176.75,120308,,,D*56
+$GPRMC,130309.00,A,5157.07500,N,00424.89427,E,10.492,178.20,120308,,,D*5F
+$GPRMC,130310.00,A,5157.07217,N,00424.89440,E,10.146,179.47,120308,,,D*5B
+$GPRMC,130311.00,A,5157.06945,N,00424.89438,E,9.452,181.46,120308,,,D*66
+$GPRMC,130312.00,A,5157.06699,N,00424.89428,E,8.632,182.76,120308,,,D*6F
+$GPRMC,130313.00,A,5157.06502,N,00424.89417,E,6.214,184.36,120308,,,D*6F
+$GPRMC,130314.00,A,5157.06386,N,00424.89398,E,2.782,186.32,120308,,,D*6A
+$GPRMC,130315.00,A,5157.06344,N,00424.89390,E,0.804,186.42,120308,,,D*69
+$GPRMC,130316.00,A,5157.06337,N,00424.89387,E,0.081,181.35,120308,,,D*6A
+$GPRMC,130317.00,A,5157.06346,N,00424.89399,E,0.035,183.37,120308,,,D*6D
+$GPRMC,130318.00,A,5157.06351,N,00424.89405,E,0.223,183.39,120308,,,D*6D
+$GPRMC,130319.00,A,5157.06353,N,00424.89406,E,0.065,183.56,120308,,,D*64
+$GPRMC,130320.00,A,5157.06353,N,00424.89406,E,0.213,183.97,120308,,,D*60
+$GPRMC,130321.00,A,5157.06344,N,00424.89409,E,0.802,184.12,120308,,,D*68
+$GPRMC,130322.00,A,5157.06324,N,00424.89416,E,1.333,184.36,120308,,,D*6D
+$GPRMC,130323.00,A,5157.06294,N,00424.89412,E,1.131,184.59,120308,,,D*6B
+$GPRMC,130324.00,A,5157.06277,N,00424.89416,E,0.792,184.93,120308,,,D*6D
+$GPRMC,130325.00,A,5157.06265,N,00424.89418,E,0.454,185.47,120308,,,D*60
+$GPRMC,130326.00,A,5157.06259,N,00424.89421,E,0.140,185.57,120308,,,D*67
+$GPRMC,130327.00,A,5157.06259,N,00424.89422,E,0.098,187.39,120308,,,D*6B
+$GPRMC,130328.00,A,5157.06263,N,00424.89428,E,0.025,185.54,120308,,,D*68
+$GPRMC,130329.00,A,5157.06267,N,00424.89427,E,0.134,186.93,120308,,,D*6B
+$GPRMC,130330.00,A,5157.06271,N,00424.89428,E,0.034,186.22,120308,,,D*60
+$GPRMC,130331.00,A,5157.06270,N,00424.89422,E,0.078,187.63,120308,,,D*66
+$GPRMC,130332.00,A,5157.06269,N,00424.89421,E,0.013,,120308,,,D*76
+$GPRMC,130333.00,A,5157.06266,N,00424.89414,E,0.062,189.23,120308,,,D*67
+$GPRMC,130334.00,A,5157.06265,N,00424.89412,E,0.037,189.20,120308,,,D*66
+$GPRMC,130335.00,A,5157.06262,N,00424.89406,E,0.011,,120308,,,D*7D
+$GPRMC,130336.00,A,5157.06264,N,00424.89409,E,0.046,184.82,120308,,,D*6C
+$GPRMC,130337.00,A,5157.06263,N,00424.89405,E,0.027,186.91,120308,,,D*61
+$GPRMC,130338.00,A,5157.06263,N,00424.89403,E,0.022,182.53,120308,,,D*67
+$GPRMC,130339.00,A,5157.06263,N,00424.89399,E,0.038,182.48,120308,,,D*63
+$GPRMC,130340.00,A,5157.06263,N,00424.89397,E,0.063,184.80,120308,,,D*6F
+$GPRMC,130341.00,A,5157.06266,N,00424.89392,E,0.031,181.08,120308,,,D*6C
+$GPRMC,130342.00,A,5157.06267,N,00424.89387,E,0.073,183.04,120308,,,D*62
+$GPRMC,130343.00,A,5157.06265,N,00424.89381,E,0.087,183.98,120308,,,D*69
+$GPRMC,130344.00,A,5157.06266,N,00424.89380,E,0.023,182.38,120308,,,D*69
+$GPRMC,130345.00,A,5157.06267,N,00424.89380,E,0.069,177.86,120308,,,D*68
+$GPRMC,130346.00,A,5157.06264,N,00424.89378,E,0.005,,120308,,,D*74
+$GPRMC,130347.00,A,5157.06261,N,00424.89376,E,0.037,174.29,120308,,,D*68
+$GPRMC,130348.00,A,5157.06260,N,00424.89376,E,0.033,171.82,120308,,,D*66
+$GPRMC,130349.00,A,5157.06259,N,00424.89379,E,0.043,168.44,120308,,,D*67
+$GPRMC,130350.00,A,5157.06256,N,00424.89377,E,0.022,171.01,120308,,,D*60
+$GPRMC,130351.00,A,5157.06254,N,00424.89371,E,0.046,171.08,120308,,,D*6E
+$GPRMC,130352.00,A,5157.06250,N,00424.89360,E,0.051,173.54,120308,,,D*64
+$GPRMC,130353.00,A,5157.06247,N,00424.89351,E,0.043,170.59,120308,,,D*6C
+$GPRMC,130354.00,A,5157.06245,N,00424.89347,E,0.015,,120308,,,D*79
+$GPRMC,130355.00,A,5157.06245,N,00424.89346,E,0.017,,120308,,,D*7B
+$GPRMC,130356.00,A,5157.06243,N,00424.89341,E,0.006,,120308,,,D*79
+$GPRMC,130357.00,A,5157.06242,N,00424.89337,E,0.034,168.97,120308,,,D*66
+$GPRMC,130358.00,A,5157.06240,N,00424.89335,E,0.117,170.43,120308,,,D*69
+$GPRMC,130359.00,A,5157.06237,N,00424.89338,E,0.140,168.48,120308,,,D*65
+$GPRMC,130400.00,A,5157.06233,N,00424.89335,E,0.039,169.74,120308,,,D*66
+$GPRMC,130401.00,A,5157.06233,N,00424.89334,E,0.018,,120308,,,D*76
+$GPRMC,130402.00,A,5157.06232,N,00424.89333,E,0.013,,120308,,,D*78
+$GPRMC,130403.00,A,5157.06232,N,00424.89335,E,0.018,,120308,,,D*74
+$GPRMC,130404.00,A,5157.06230,N,00424.89335,E,0.027,171.01,120308,,,D*65
+$GPRMC,130405.00,A,5157.06229,N,00424.89337,E,0.086,172.50,120308,,,D*62
+$GPRMC,130406.00,A,5157.06231,N,00424.89341,E,0.023,169.54,120308,,,D*68
+$GPRMC,130407.00,A,5157.06231,N,00424.89342,E,0.033,174.89,120308,,,D*67
+$GPRMC,130408.00,A,5157.06233,N,00424.89343,E,0.049,171.11,120308,,,D*62
+$GPRMC,130409.00,A,5157.06236,N,00424.89344,E,0.034,171.99,120308,,,D*6B
+$GPRMC,130410.00,A,5157.06238,N,00424.89342,E,0.077,173.41,120308,,,D*6B
+$GPRMC,130411.00,A,5157.06239,N,00424.89341,E,0.068,174.73,120308,,,D*60
+$GPRMC,130412.00,A,5157.06240,N,00424.89337,E,0.044,175.88,120308,,,D*67
+$GPRMC,130413.00,A,5157.06241,N,00424.89337,E,0.003,,120308,,,D*79
+$GPRMC,130414.00,A,5157.06243,N,00424.89336,E,0.018,,120308,,,D*77
+$GPRMC,130415.00,A,5157.06247,N,00424.89337,E,0.042,176.81,120308,,,D*6B
+$GPRMC,130416.00,A,5157.06247,N,00424.89335,E,0.057,172.70,120308,,,D*64
+$GPRMC,130417.00,A,5157.06247,N,00424.89337,E,0.047,168.82,120308,,,D*60
+$GPRMC,130418.00,A,5157.06250,N,00424.89341,E,0.017,,120308,,,D*76
+$GPRMC,130419.00,A,5157.06251,N,00424.89342,E,0.017,,120308,,,D*75
+$GPRMC,130420.00,A,5157.06253,N,00424.89345,E,0.025,165.23,120308,,,D*66
+$GPRMC,130421.00,A,5157.06251,N,00424.89347,E,0.206,167.07,120308,,,D*60
+$GPRMC,130422.00,A,5157.06212,N,00424.89297,E,0.727,168.54,120308,,,D*67
+$GPRMC,130423.00,A,5157.06176,N,00424.89295,E,1.900,169.74,120308,,,D*6C
+$GPRMC,130424.00,A,5157.06113,N,00424.89285,E,2.595,188.99,120308,,,D*66
+$GPRMC,130425.00,A,5157.06048,N,00424.89270,E,2.238,189.27,120308,,,D*66
+$GPRMC,130426.00,A,5157.05988,N,00424.89256,E,2.268,188.63,120308,,,D*63
+$GPRMC,130427.00,A,5157.05897,N,00424.89232,E,4.242,189.88,120308,,,D*65
+$GPRMC,130428.00,A,5157.05752,N,00424.89191,E,6.165,190.56,120308,,,D*69
+$GPRMC,130429.00,A,5157.05549,N,00424.89131,E,8.440,190.42,120308,,,D*63
+$GPRMC,130430.00,A,5157.05274,N,00424.89045,E,11.387,191.49,120308,,,D*5E
+$GPRMC,130431.00,A,5157.04947,N,00424.88933,E,12.812,192.99,120308,,,D*56
+$GPRMC,130432.00,A,5157.04603,N,00424.88802,E,12.647,194.11,120308,,,D*51
+$GPRMC,130433.00,A,5157.04257,N,00424.88684,E,14.182,194.56,120308,,,D*5E
+$GPRMC,130434.00,A,5157.03853,N,00424.88532,E,16.325,194.85,120308,,,D*5D
+$GPRMC,130435.00,A,5157.03392,N,00424.88352,E,17.894,193.85,120308,,,D*5D
+$GPRMC,130436.00,A,5157.02896,N,00424.88180,E,18.311,190.92,120308,,,D*51
+$GPRMC,130437.00,A,5157.02422,N,00424.88103,E,17.091,184.84,120308,,,D*5E
+$GPRMC,130438.00,A,5157.01990,N,00424.88102,E,14.428,177.30,120308,,,D*51
+$GPRMC,130439.00,A,5157.01642,N,00424.88167,E,10.979,170.23,120308,,,D*5B
+$GPRMC,130440.00,A,5157.01400,N,00424.88258,E,7.084,164.33,120308,,,D*67
+$GPRMC,130441.00,A,5157.01249,N,00424.88352,E,4.811,159.51,120308,,,D*6B
+$GPRMC,130442.00,A,5157.01165,N,00424.88415,E,2.157,156.82,120308,,,D*6D
+$GPRMC,130443.00,A,5157.01140,N,00424.88439,E,0.121,156.86,120308,,,D*62
+$GPRMC,130444.00,A,5157.01144,N,00424.88440,E,0.018,,120308,,,D*76
+$GPRMC,130445.00,A,5157.01148,N,00424.88440,E,0.015,,120308,,,D*76
+$GPRMC,130446.00,A,5157.01151,N,00424.88440,E,0.024,155.39,120308,,,D*6A
+$GPRMC,130447.00,A,5157.01149,N,00424.88434,E,0.039,157.55,120308,,,D*65
+$GPRMC,130448.00,A,5157.01152,N,00424.88434,E,0.033,162.90,120308,,,D*65
+$GPRMC,130449.00,A,5157.01149,N,00424.88426,E,0.028,168.43,120308,,,D*63
+$GPRMC,130450.00,A,5157.01144,N,00424.88422,E,0.136,168.00,120308,,,D*6B
+$GPRMC,130451.00,A,5157.01135,N,00424.88421,E,0.307,167.24,120308,,,D*66
+$GPRMC,130452.00,A,5157.01124,N,00424.88424,E,0.287,166.70,120308,,,D*69
+$GPRMC,130453.00,A,5157.01112,N,00424.88427,E,0.470,165.89,120308,,,D*65
+$GPRMC,130454.00,A,5157.01101,N,00424.88428,E,0.177,165.52,120308,,,D*6B
+$GPRMC,130455.00,A,5157.01098,N,00424.88427,E,0.036,171.13,120308,,,D*60
+$GPRMC,130456.00,A,5157.01097,N,00424.88423,E,0.025,175.73,120308,,,D*68
+$GPRMC,130457.00,A,5157.01095,N,00424.88420,E,0.021,181.25,120308,,,D*64
+$GPRMC,130458.00,A,5157.01094,N,00424.88417,E,0.025,184.23,120308,,,D*69
+$GPRMC,130459.00,A,5157.01094,N,00424.88412,E,0.013,,120308,,,D*7A
+$GPRMC,130500.00,A,5157.01093,N,00424.88406,E,0.034,188.62,120308,,,D*6B
+$GPRMC,130501.00,A,5157.01092,N,00424.88400,E,0.016,,120308,,,D*76
+$GPRMC,130502.00,A,5157.01092,N,00424.88398,E,0.018,,120308,,,D*7D
+$GPRMC,130503.00,A,5157.01092,N,00424.88394,E,0.015,,120308,,,D*7D
+$GPRMC,130504.00,A,5157.01094,N,00424.88394,E,0.019,,120308,,,D*70
+$GPRMC,130505.00,A,5157.01095,N,00424.88397,E,0.005,,120308,,,D*7E
+$GPRMC,130506.00,A,5157.01096,N,00424.88398,E,0.002,,120308,,,D*76
+$GPRMC,130507.00,A,5157.01098,N,00424.88398,E,0.033,193.69,120308,,,D*61
+$GPRMC,130508.00,A,5157.01100,N,00424.88396,E,0.006,,120308,,,D*7C
+$GPRMC,130509.00,A,5157.01104,N,00424.88392,E,0.012,,120308,,,D*78
+$GPRMC,130510.00,A,5157.01107,N,00424.88387,E,0.026,198.71,120308,,,D*68
+$GPRMC,130511.00,A,5157.01111,N,00424.88383,E,0.029,195.14,120308,,,D*6B
+$GPRMC,130512.00,A,5157.01113,N,00424.88378,E,0.018,,120308,,,D*7A
+$GPRMC,130513.00,A,5157.01115,N,00424.88374,E,0.015,,120308,,,D*7C
+$GPRMC,130514.00,A,5157.01116,N,00424.88370,E,0.023,197.85,120308,,,D*65
+$GPRMC,130515.00,A,5157.01119,N,00424.88368,E,0.014,,120308,,,D*7A
+$GPRMC,130516.00,A,5157.01121,N,00424.88368,E,0.009,,120308,,,D*7E
+$GPRMC,130517.00,A,5157.01121,N,00424.88363,E,0.021,202.25,120308,,,D*67
+$GPRMC,130518.00,A,5157.01122,N,00424.88367,E,0.013,,120308,,,D*77
+$GPRMC,130519.00,A,5157.01122,N,00424.88367,E,0.023,206.98,120308,,,D*6E
+$GPRMC,130520.00,A,5157.01123,N,00424.88368,E,0.013,,120308,,,D*72
+$GPRMC,130521.00,A,5157.01121,N,00424.88368,E,0.011,,120308,,,D*73
+$GPRMC,130522.00,A,5157.01118,N,00424.88367,E,0.010,,120308,,,D*74
+$GPRMC,130523.00,A,5157.01117,N,00424.88366,E,0.013,,120308,,,D*78
+$GPRMC,130524.00,A,5157.01115,N,00424.88364,E,0.019,,120308,,,D*75
+$GPRMC,130525.00,A,5157.01116,N,00424.88363,E,0.011,,120308,,,D*78
+$GPRMC,130526.00,A,5157.01114,N,00424.88359,E,0.005,,120308,,,D*75
+$GPRMC,130527.00,A,5157.01112,N,00424.88353,E,0.017,,120308,,,D*7B
+$GPRMC,130528.00,A,5157.01111,N,00424.88351,E,0.004,,120308,,,D*77
+$GPRMC,130529.00,A,5157.01111,N,00424.88348,E,0.006,,120308,,,D*7C
+$GPRMC,130530.00,A,5157.01110,N,00424.88345,E,0.020,211.71,120308,,,D*66
+$GPRMC,130531.00,A,5157.01110,N,00424.88340,E,0.013,,120308,,,D*78
+$GPRMC,130532.00,A,5157.01107,N,00424.88339,E,0.009,,120308,,,D*78
+$GPRMC,130533.00,A,5157.01105,N,00424.88337,E,0.015,,120308,,,D*78
+$GPRMC,130534.00,A,5157.01104,N,00424.88335,E,0.009,,120308,,,D*71
+$GPRMC,130535.00,A,5157.01103,N,00424.88336,E,0.010,,120308,,,D*7C
+$GPRMC,130536.00,A,5157.01103,N,00424.88333,E,0.007,,120308,,,D*7C
+$GPRMC,130537.00,A,5157.01103,N,00424.88331,E,0.011,,120308,,,D*78
+$GPRMC,130538.00,A,5157.01102,N,00424.88330,E,0.015,,120308,,,D*73
+$GPRMC,130539.00,A,5157.01102,N,00424.88329,E,0.018,,120308,,,D*77
+$GPRMC,130540.00,A,5157.01101,N,00424.88327,E,0.009,,120308,,,D*74
+$GPRMC,130541.00,A,5157.01101,N,00424.88325,E,0.021,210.11,120308,,,D*60
+$GPRMC,130542.00,A,5157.01101,N,00424.88325,E,0.010,,120308,,,D*7C
+$GPRMC,130543.00,A,5157.01100,N,00424.88324,E,0.018,,120308,,,D*75
+$GPRMC,130544.00,A,5157.01099,N,00424.88323,E,0.007,,120308,,,D*7A
+$GPRMC,130545.00,A,5157.01098,N,00424.88322,E,0.002,,120308,,,D*7E
+$GPRMC,130546.00,A,5157.01097,N,00424.88322,E,0.014,,120308,,,D*75
+$GPRMC,130547.00,A,5157.01098,N,00424.88323,E,0.015,,120308,,,D*7B
+$GPRMC,130548.00,A,5157.01097,N,00424.88322,E,0.008,,120308,,,D*76
+$GPRMC,130549.00,A,5157.01096,N,00424.88319,E,0.004,,120308,,,D*72
+$GPRMC,130550.00,A,5157.01095,N,00424.88319,E,0.051,208.43,120308,,,D*6A
+$GPRMC,130551.00,A,5157.01091,N,00424.88321,E,0.231,205.32,120308,,,D*6B
+$GPRMC,130552.00,A,5157.01083,N,00424.88328,E,0.332,202.08,120308,,,D*6E
+$GPRMC,130553.00,A,5157.01074,N,00424.88339,E,0.524,199.08,120308,,,D*67
+$GPRMC,130554.00,A,5157.01059,N,00424.88348,E,0.544,196.32,120308,,,D*69
+$GPRMC,130555.00,A,5157.01034,N,00424.88364,E,1.336,193.77,120308,,,D*6B
+$GPRMC,130556.00,A,5157.00955,N,00424.88428,E,4.837,153.29,120308,,,D*60
+$GPRMC,130557.00,A,5157.00783,N,00424.88579,E,8.952,150.93,120308,,,D*6D
+$GPRMC,130558.00,A,5157.00545,N,00424.88804,E,10.563,148.65,120308,,,D*5A
+$GPRMC,130559.00,A,5157.00316,N,00424.89034,E,8.641,148.02,120308,,,D*6A
+$GPRMC,130600.00,A,5157.00135,N,00424.89217,E,6.568,148.27,120308,,,D*64
+$GPRMC,130601.00,A,5156.99999,N,00424.89357,E,4.981,148.06,120308,,,D*65
+$GPRMC,130602.00,A,5156.99890,N,00424.89469,E,4.206,148.19,120308,,,D*6E
+$GPRMC,130603.00,A,5156.99798,N,00424.89564,E,3.615,148.34,120308,,,D*6A
+$GPRMC,130604.00,A,5156.99727,N,00424.89639,E,2.468,147.88,120308,,,D*63
+$GPRMC,130605.00,A,5156.99683,N,00424.89691,E,1.414,147.64,120308,,,D*65
+$GPRMC,130606.00,A,5156.99665,N,00424.89715,E,0.261,147.66,120308,,,D*64
+$GPRMC,130607.00,A,5156.99663,N,00424.89723,E,0.018,,120308,,,D*76
+$GPRMC,130608.00,A,5156.99664,N,00424.89727,E,0.003,,120308,,,D*70
+$GPRMC,130609.00,A,5156.99665,N,00424.89733,E,0.008,,120308,,,D*7E
+$GPRMC,130610.00,A,5156.99666,N,00424.89739,E,0.007,,120308,,,D*70
+$GPRMC,130611.00,A,5156.99667,N,00424.89744,E,0.017,,120308,,,D*7B
+$GPRMC,130612.00,A,5156.99668,N,00424.89750,E,0.009,,120308,,,D*7D
+$GPRMC,130613.00,A,5156.99669,N,00424.89756,E,0.002,,120308,,,D*70
+$GPRMC,130614.00,A,5156.99672,N,00424.89760,E,0.006,,120308,,,D*7C
+$GPRMC,130615.00,A,5156.99675,N,00424.89764,E,0.006,,120308,,,D*7E
+$GPRMC,130616.00,A,5156.99678,N,00424.89769,E,0.019,,120308,,,D*73
+$GPRMC,130617.00,A,5156.99682,N,00424.89772,E,0.010,,120308,,,D*74
+$GPRMC,130618.00,A,5156.99685,N,00424.89773,E,0.025,145.16,120308,,,D*62
+$GPRMC,130619.00,A,5156.99687,N,00424.89775,E,0.016,,120308,,,D*7E
+$GPRMC,130620.00,A,5156.99689,N,00424.89776,E,0.007,,120308,,,D*79
+$GPRMC,130621.00,A,5156.99691,N,00424.89777,E,0.008,,120308,,,D*7F
+$GPRMC,130622.00,A,5156.99694,N,00424.89779,E,0.007,,120308,,,D*78
+$GPRMC,130623.00,A,5156.99695,N,00424.89782,E,0.003,,120308,,,D*78
+$GPRMC,130624.00,A,5156.99698,N,00424.89785,E,0.006,,120308,,,D*70
+$GPRMC,130625.00,A,5156.99699,N,00424.89789,E,0.016,,120308,,,D*7D
+$GPRMC,130626.00,A,5156.99701,N,00424.89791,E,0.012,,120308,,,D*73
+$GPRMC,130627.00,A,5156.99701,N,00424.89793,E,0.007,,120308,,,D*74
+$GPRMC,130628.00,A,5156.99702,N,00424.89794,E,0.007,,120308,,,D*7F
+$GPRMC,130629.00,A,5156.99704,N,00424.89795,E,0.005,,120308,,,D*7B
+$GPRMC,130630.00,A,5156.99705,N,00424.89797,E,0.010,,120308,,,D*74
+$GPRMC,130631.00,A,5156.99705,N,00424.89795,E,0.003,,120308,,,D*75
+$GPRMC,130632.00,A,5156.99705,N,00424.89794,E,0.007,,120308,,,D*73
+$GPRMC,130633.00,A,5156.99707,N,00424.89794,E,0.013,,120308,,,D*75
+$GPRMC,130634.00,A,5156.99707,N,00424.89793,E,0.007,,120308,,,D*70
+$GPRMC,130635.00,A,5156.99708,N,00424.89790,E,0.004,,120308,,,D*7E
+$GPRMC,130636.00,A,5156.99709,N,00424.89789,E,0.011,,120308,,,D*70
+$GPRMC,130637.00,A,5156.99709,N,00424.89790,E,0.013,,120308,,,D*7B
+$GPRMC,130638.00,A,5156.99710,N,00424.89790,E,0.018,,120308,,,D*77
+$GPRMC,130639.00,A,5156.99710,N,00424.89792,E,0.024,140.61,120308,,,D*67
+$GPRMC,130640.00,A,5156.99711,N,00424.89793,E,0.008,,120308,,,D*7B
+$GPRMC,130641.00,A,5156.99710,N,00424.89794,E,0.009,,120308,,,D*7D
+$GPRMC,130642.00,A,5156.99710,N,00424.89796,E,0.002,,120308,,,D*77
+$GPRMC,130643.00,A,5156.99708,N,00424.89796,E,0.015,,120308,,,D*79
+$GPRMC,130644.00,A,5156.99707,N,00424.89798,E,0.009,,120308,,,D*72
+$GPRMC,130645.00,A,5156.99707,N,00424.89798,E,0.011,,120308,,,D*7A
+$GPRMC,130646.00,A,5156.99706,N,00424.89796,E,0.016,,120308,,,D*71
+$GPRMC,130647.00,A,5156.99706,N,00424.89800,E,0.023,139.25,120308,,,D*64
+$GPRMC,130648.00,A,5156.99706,N,00424.89800,E,0.003,,120308,,,D*7B
+$GPRMC,130649.00,A,5156.99705,N,00424.89799,E,0.068,141.67,120308,,,D*60
+$GPRMC,130650.00,A,5156.99706,N,00424.89799,E,0.019,,120308,,,D*76
+$GPRMC,130651.00,A,5156.99707,N,00424.89799,E,0.017,,120308,,,D*78
+$GPRMC,130652.00,A,5156.99705,N,00424.89794,E,0.022,136.22,120308,,,D*68
+$GPRMC,130653.00,A,5156.99704,N,00424.89789,E,0.152,139.54,120308,,,D*6C
+$GPRMC,130654.00,A,5156.99703,N,00424.89785,E,0.007,,120308,,,D*75
+$GPRMC,130655.00,A,5156.99702,N,00424.89783,E,0.018,,120308,,,D*7D
+$GPRMC,130656.00,A,5156.99701,N,00424.89783,E,0.010,,120308,,,D*75
+$GPRMC,130657.00,A,5156.99700,N,00424.89783,E,0.012,,120308,,,D*77
+$GPRMC,130658.00,A,5156.99700,N,00424.89784,E,0.003,,120308,,,D*7F
+$GPRMC,130659.00,A,5156.99700,N,00424.89784,E,0.021,134.08,120308,,,D*6E
+$GPRMC,130700.00,A,5156.99701,N,00424.89785,E,0.010,,120308,,,D*71
+$GPRMC,130701.00,A,5156.99700,N,00424.89785,E,0.007,,120308,,,D*77
+$GPRMC,130702.00,A,5156.99700,N,00424.89785,E,0.015,,120308,,,D*77
+$GPRMC,130703.00,A,5156.99700,N,00424.89786,E,0.007,,120308,,,D*76
+$GPRMC,130704.00,A,5156.99702,N,00424.89788,E,0.004,,120308,,,D*7E
+$GPRMC,130705.00,A,5156.99701,N,00424.89787,E,0.181,136.22,120308,,,D*65
+$GPRMC,130706.00,A,5156.99702,N,00424.89789,E,0.042,139.45,120308,,,D*6B
+$GPRMC,130707.00,A,5156.99706,N,00424.89792,E,0.012,,120308,,,D*75
+$GPRMC,130708.00,A,5156.99711,N,00424.89796,E,0.022,137.38,120308,,,D*6B
+$GPRMC,130709.00,A,5156.99718,N,00424.89801,E,0.210,128.78,120308,,,D*6B
+$GPRMC,130710.00,A,5156.99724,N,00424.89804,E,0.007,,120308,,,D*77
+$GPRMC,130711.00,A,5156.99726,N,00424.89806,E,0.024,127.01,120308,,,D*6C
+$GPRMC,130712.00,A,5156.99729,N,00424.89808,E,0.015,,120308,,,D*77
+$GPRMC,130713.00,A,5156.99733,N,00424.89812,E,0.016,,120308,,,D*75
+$GPRMC,130714.00,A,5156.99736,N,00424.89816,E,0.010,,120308,,,D*75
+$GPRMC,130715.00,A,5156.99739,N,00424.89820,E,0.017,,120308,,,D*79
+$GPRMC,130716.00,A,5156.99744,N,00424.89822,E,0.011,,120308,,,D*74
+$GPRMC,130717.00,A,5156.99749,N,00424.89826,E,0.052,122.10,120308,,,D*65
+$GPRMC,130718.00,A,5156.99753,N,00424.89832,E,0.015,,120308,,,D*79
+$GPRMC,130719.00,A,5156.99756,N,00424.89838,E,0.005,,120308,,,D*76
+$GPRMC,130720.00,A,5156.99759,N,00424.89842,E,0.015,,120308,,,D*7F
+$GPRMC,130721.00,A,5156.99760,N,00424.89847,E,0.016,,120308,,,D*72
+$GPRMC,130722.00,A,5156.99761,N,00424.89849,E,0.009,,120308,,,D*70
+$GPRMC,130723.00,A,5156.99761,N,00424.89848,E,0.008,,120308,,,D*71
+$GPRMC,130724.00,A,5156.99761,N,00424.89849,E,0.021,120.98,120308,,,D*60
+$GPRMC,130725.00,A,5156.99761,N,00424.89848,E,0.021,115.78,120308,,,D*68
+$GPRMC,130726.00,A,5156.99761,N,00424.89846,E,0.002,,120308,,,D*70
+$GPRMC,130727.00,A,5156.99760,N,00424.89842,E,0.021,118.34,120308,,,D*64
+$GPRMC,130728.00,A,5156.99759,N,00424.89837,E,0.009,,120308,,,D*78
+$GPRMC,130729.00,A,5156.99758,N,00424.89831,E,0.019,,120308,,,D*7F
+$GPRMC,130730.00,A,5156.99755,N,00424.89825,E,0.007,,120308,,,D*70
+$GPRMC,130731.00,A,5156.99752,N,00424.89819,E,0.013,,120308,,,D*7C
+$GPRMC,130732.00,A,5156.99750,N,00424.89815,E,0.002,,120308,,,D*71
+$GPRMC,130733.00,A,5156.99746,N,00424.89813,E,0.006,,120308,,,D*75
+$GPRMC,130734.00,A,5156.99744,N,00424.89811,E,0.019,,120308,,,D*7C
+$GPRMC,130735.00,A,5156.99743,N,00424.89807,E,0.094,113.40,120308,,,D*61
+$GPRMC,130736.00,A,5156.99737,N,00424.89807,E,0.390,115.49,120308,,,D*69
+$GPRMC,130737.00,A,5156.99726,N,00424.89814,E,0.505,117.52,120308,,,D*68
+$GPRMC,130738.00,A,5156.99717,N,00424.89817,E,0.220,119.61,120308,,,D*68
+$GPRMC,130739.00,A,5156.99710,N,00424.89817,E,0.231,121.15,120308,,,D*66
+$GPRMC,130740.00,A,5156.99700,N,00424.89820,E,0.457,122.69,120308,,,D*63
+$GPRMC,130741.00,A,5156.99667,N,00424.89845,E,2.149,148.23,120308,,,D*6B
+$GPRMC,130742.00,A,5156.99583,N,00424.89924,E,4.769,148.06,120308,,,D*62
+$GPRMC,130743.00,A,5156.99444,N,00424.90060,E,6.758,147.87,120308,,,D*6E
+$GPRMC,130744.00,A,5156.99259,N,00424.90242,E,8.627,147.80,120308,,,D*61
+$GPRMC,130745.00,A,5156.99024,N,00424.90478,E,10.963,147.19,120308,,,D*51
+$GPRMC,130746.00,A,5156.98758,N,00424.90751,E,11.418,147.14,120308,,,D*5A
+$GPRMC,130747.00,A,5156.98479,N,00424.91056,E,12.523,143.82,120308,,,D*5B
+$GPRMC,130748.00,A,5156.98204,N,00424.91470,E,14.417,131.39,120308,,,D*5D
+$GPRMC,130749.00,A,5156.97994,N,00424.92061,E,14.963,114.88,120308,,,D*55
+$GPRMC,130750.00,A,5156.97863,N,00424.92716,E,15.578,100.51,120308,,,D*55
+$GPRMC,130751.00,A,5156.97958,N,00424.93415,E,16.510,72.96,120308,,,D*6E
+$GPRMC,130752.00,A,5156.98187,N,00424.94064,E,18.149,53.76,120308,,,D*66
+$GPRMC,130753.00,A,5156.98523,N,00424.94747,E,20.568,50.79,120308,,,D*6B
+$GPRMC,130754.00,A,5156.98906,N,00424.95505,E,22.602,51.48,120308,,,D*6C
+$GPRMC,130755.00,A,5156.99309,N,00424.96324,E,22.900,52.35,120308,,,D*6B
+$GPRMC,130756.00,A,5156.99693,N,00424.97135,E,21.822,53.70,120308,,,D*6F
+$GPRMC,130757.00,A,5157.00046,N,00424.97916,E,20.491,54.67,120308,,,D*6C
+$GPRMC,130758.00,A,5157.00370,N,00424.98655,E,19.162,54.95,120308,,,D*6C
+$GPRMC,130759.00,A,5157.00669,N,00424.99343,E,17.771,55.05,120308,,,D*61
+$GPRMC,130800.00,A,5157.00941,N,00424.99971,E,16.112,54.89,120308,,,D*6B
+$GPRMC,130801.00,A,5157.01192,N,00425.00543,E,14.616,54.65,120308,,,D*62
+$GPRMC,130802.00,A,5157.01417,N,00425.01056,E,12.903,54.63,120308,,,D*62
+$GPRMC,130803.00,A,5157.01611,N,00425.01495,E,11.031,54.43,120308,,,D*65
+$GPRMC,130804.00,A,5157.01775,N,00425.01865,E,9.164,54.34,120308,,,D*5A
+$GPRMC,130805.00,A,5157.01907,N,00425.02162,E,7.280,54.00,120308,,,D*5D
+$GPRMC,130806.00,A,5157.02007,N,00425.02395,E,5.511,54.93,120308,,,D*59
+$GPRMC,130807.00,A,5157.02077,N,00425.02557,E,3.517,54.60,120308,,,D*5B
+$GPRMC,130808.00,A,5157.02105,N,00425.02624,E,0.494,54.61,120308,,,D*5F
+$GPRMC,130809.00,A,5157.02105,N,00425.02626,E,0.005,,120308,,,D*78
+$GPRMC,130810.00,A,5157.02102,N,00425.02618,E,0.010,,120308,,,D*7E
+$GPRMC,130811.00,A,5157.02099,N,00425.02609,E,0.018,,120308,,,D*74
+$GPRMC,130812.00,A,5157.02097,N,00425.02608,E,0.120,54.55,120308,,,D*5D
+$GPRMC,130813.00,A,5157.02097,N,00425.02606,E,0.156,55.86,120308,,,D*5C
+$GPRMC,130814.00,A,5157.02098,N,00425.02602,E,0.214,57.98,120308,,,D*58
+$GPRMC,130815.00,A,5157.02097,N,00425.02581,E,0.270,62.98,120308,,,D*5A
+$GPRMC,130816.00,A,5157.02091,N,00425.02569,E,0.067,63.53,120308,,,D*5B
+$GPRMC,130817.00,A,5157.02091,N,00425.02548,E,0.045,64.22,120308,,,D*58
+$GPRMC,130818.00,A,5157.02089,N,00425.02532,E,0.031,69.49,120308,,,D*50
+$GPRMC,130819.00,A,5157.02086,N,00425.02516,E,0.022,67.95,120308,,,D*55
+$GPRMC,130820.00,A,5157.02084,N,00425.02506,E,0.017,,120308,,,D*79
+$GPRMC,130821.00,A,5157.02083,N,00425.02498,E,0.011,,120308,,,D*7F
+$GPRMC,130822.00,A,5157.02082,N,00425.02490,E,0.015,,120308,,,D*71
+$GPRMC,130823.00,A,5157.02082,N,00425.02487,E,0.084,67.77,120308,,,D*51
+$GPRMC,130824.00,A,5157.02081,N,00425.02485,E,0.004,,120308,,,D*70
+$GPRMC,130825.00,A,5157.02080,N,00425.02481,E,0.003,,120308,,,D*73
+$GPRMC,130826.00,A,5157.02077,N,00425.02477,E,0.005,,120308,,,D*77
+$GPRMC,130827.00,A,5157.02075,N,00425.02474,E,0.007,,120308,,,D*75
+$GPRMC,130828.00,A,5157.02074,N,00425.02470,E,0.007,,120308,,,D*7F
+$GPRMC,130829.00,A,5157.02073,N,00425.02468,E,0.017,,120308,,,D*71
+$GPRMC,130830.00,A,5157.02072,N,00425.02463,E,0.009,,120308,,,D*7C
+$GPRMC,130831.00,A,5157.02071,N,00425.02459,E,0.004,,120308,,,D*7A
+$GPRMC,130832.00,A,5157.02070,N,00425.02457,E,0.006,,120308,,,D*74
+$GPRMC,130833.00,A,5157.02069,N,00425.02455,E,0.007,,120308,,,D*7E
+$GPRMC,130834.00,A,5157.02069,N,00425.02454,E,0.013,,120308,,,D*7D
+$GPRMC,130835.00,A,5157.02070,N,00425.02451,E,0.016,,120308,,,D*74
+$GPRMC,130836.00,A,5157.02070,N,00425.02447,E,0.006,,120308,,,D*71
+$GPRMC,130837.00,A,5157.02070,N,00425.02442,E,0.014,,120308,,,D*76
+$GPRMC,130838.00,A,5157.02070,N,00425.02437,E,0.009,,120308,,,D*77
+$GPRMC,130839.00,A,5157.02070,N,00425.02434,E,0.010,,120308,,,D*7D
+$GPRMC,130840.00,A,5157.02071,N,00425.02430,E,0.005,,120308,,,D*72
+$GPRMC,130841.00,A,5157.02071,N,00425.02425,E,0.008,,120308,,,D*7A
+$GPRMC,130842.00,A,5157.02070,N,00425.02423,E,0.043,68.78,120308,,,D*5E
+$GPRMC,130843.00,A,5157.02069,N,00425.02421,E,0.024,65.93,120308,,,D*5C
+$GPRMC,130844.00,A,5157.02067,N,00425.02417,E,0.031,62.65,120308,,,D*5A
+$GPRMC,130845.00,A,5157.02066,N,00425.02416,E,0.098,64.23,120308,,,D*5C
+$GPRMC,130846.00,A,5157.02066,N,00425.02417,E,0.099,64.52,120308,,,D*59
+$GPRMC,130847.00,A,5157.02066,N,00425.02419,E,0.093,64.92,120308,,,D*50
+$GPRMC,130848.00,A,5157.02067,N,00425.02421,E,0.077,64.54,120308,,,D*55
+$GPRMC,130849.00,A,5157.02068,N,00425.02427,E,0.172,64.73,120308,,,D*5C
+$GPRMC,130850.00,A,5157.02071,N,00425.02435,E,0.048,64.60,120308,,,D*55
+$GPRMC,130851.00,A,5157.02071,N,00425.02436,E,0.049,65.37,120308,,,D*55
+$GPRMC,130852.00,A,5157.02071,N,00425.02440,E,0.059,65.95,120308,,,D*5E
+$GPRMC,130853.00,A,5157.02073,N,00425.02446,E,0.064,65.39,120308,,,D*53
+$GPRMC,130854.00,A,5157.02077,N,00425.02454,E,0.121,64.99,120308,,,D*58
+$GPRMC,130855.00,A,5157.02086,N,00425.02474,E,0.694,64.42,120308,,,D*5A
+$GPRMC,130856.00,A,5157.02119,N,00425.02552,E,3.153,54.99,120308,,,D*51
+$GPRMC,130857.00,A,5157.02203,N,00425.02754,E,7.277,55.50,120308,,,D*59
+$GPRMC,130858.00,A,5157.02343,N,00425.03090,E,10.279,55.90,120308,,,D*69
+$GPRMC,130859.00,A,5157.02508,N,00425.03496,E,10.931,56.93,120308,,,D*64
+$GPRMC,130900.00,A,5157.02682,N,00425.03927,E,11.499,56.35,120308,,,D*6D
+$GPRMC,130901.00,A,5157.02878,N,00425.04352,E,11.691,49.63,120308,,,D*6F
+$GPRMC,130902.00,A,5157.03135,N,00425.04682,E,12.095,28.45,120308,,,D*67
+$GPRMC,130903.00,A,5157.03446,N,00425.04812,E,11.652,0.93,120308,,,D*5F
+$GPRMC,130904.00,A,5157.03762,N,00425.04554,E,13.157,324.92,120308,,,D*56
+$GPRMC,130905.00,A,5157.03977,N,00425.04024,E,16.761,294.24,120308,,,D*5E
+$GPRMC,130906.00,A,5157.04130,N,00425.03246,E,19.046,287.05,120308,,,D*5C
+$GPRMC,130907.00,A,5157.04297,N,00425.02401,E,19.522,288.25,120308,,,D*5D
+$GPRMC,130908.00,A,5157.04509,N,00425.01542,E,20.533,292.83,120308,,,D*5A
+$GPRMC,130909.00,A,5157.04792,N,00425.00669,E,21.770,298.41,120308,,,D*50
+$GPRMC,130910.00,A,5157.05123,N,00424.99793,E,23.035,303.28,120308,,,D*58
+$GPRMC,130911.00,A,5157.05513,N,00424.98924,E,24.106,307.12,120308,,,D*56
+$GPRMC,130912.00,A,5157.05953,N,00424.98053,E,25.540,309.25,120308,,,D*59
+$GPRMC,130913.00,A,5157.06445,N,00424.97156,E,27.433,311.40,120308,,,D*57
+$GPRMC,130914.00,A,5157.06990,N,00424.96202,E,29.839,312.85,120308,,,D*54
+$GPRMC,130915.00,A,5157.07605,N,00424.95182,E,32.126,314.37,120308,,,D*5D
+$GPRMC,130916.00,A,5157.08267,N,00424.94162,E,32.165,317.18,120308,,,D*57
+$GPRMC,130917.00,A,5157.08962,N,00424.93215,E,32.115,321.69,120308,,,D*58
+$GPRMC,130918.00,A,5157.09696,N,00424.92342,E,32.524,324.76,120308,,,D*5D
+$GPRMC,130919.00,A,5157.10465,N,00424.91547,E,32.238,327.66,120308,,,D*52
+$GPRMC,130920.00,A,5157.11264,N,00424.90782,E,33.063,329.27,120308,,,D*52
+$GPRMC,130921.00,A,5157.12101,N,00424.90014,E,34.727,330.03,120308,,,D*56
+$GPRMC,130922.00,A,5157.12973,N,00424.89219,E,36.381,330.35,120308,,,D*50
+$GPRMC,130923.00,A,5157.13892,N,00424.88382,E,38.058,329.99,120308,,,D*5B
+$GPRMC,130924.00,A,5157.14837,N,00424.87507,E,39.578,329.76,120308,,,D*57
+$GPRMC,130925.00,A,5157.15802,N,00424.86631,E,39.374,331.10,120308,,,D*55
+$GPRMC,130926.00,A,5157.16768,N,00424.85801,E,38.583,332.65,120308,,,D*56
+$GPRMC,130927.00,A,5157.17731,N,00424.85029,E,38.087,334.13,120308,,,D*5E
+$GPRMC,130928.00,A,5157.18686,N,00424.84289,E,37.296,334.57,120308,,,D*57
+$GPRMC,130929.00,A,5157.19625,N,00424.83580,E,36.558,334.73,120308,,,D*55
+$GPRMC,130930.00,A,5157.20545,N,00424.82887,E,35.810,334.77,120308,,,D*5F
+$GPRMC,130931.00,A,5157.21449,N,00424.82206,E,35.534,334.73,120308,,,D*5E
+$GPRMC,130932.00,A,5157.22343,N,00424.81522,E,35.306,334.36,120308,,,D*57
+$GPRMC,130933.00,A,5157.23232,N,00424.80827,E,35.379,334.19,120308,,,D*5C
+$GPRMC,130934.00,A,5157.24116,N,00424.80117,E,35.308,333.09,120308,,,D*53
+$GPRMC,130935.00,A,5157.25014,N,00424.79383,E,35.877,333.57,120308,,,D*51
+$GPRMC,130936.00,A,5157.25912,N,00424.78665,E,35.811,333.81,120308,,,D*5A
+$GPRMC,130937.00,A,5157.26829,N,00424.77963,E,36.304,334.20,120308,,,D*57
+$GPRMC,130938.00,A,5157.27768,N,00424.77262,E,36.864,334.41,120308,,,D*53
+$GPRMC,130939.00,A,5157.28724,N,00424.76547,E,38.149,334.57,120308,,,D*5B
+$GPRMC,130940.00,A,5157.29712,N,00424.75796,E,39.599,334.50,120308,,,D*53
+$GPRMC,130941.00,A,5157.30732,N,00424.74994,E,41.149,333.47,120308,,,D*52
+$GPRMC,130942.00,A,5157.31786,N,00424.74124,E,42.761,332.51,120308,,,D*55
+$GPRMC,130943.00,A,5157.32873,N,00424.73202,E,44.455,332.24,120308,,,D*52
+$GPRMC,130944.00,A,5157.34000,N,00424.72246,E,46.002,332.44,120308,,,D*5C
+$GPRMC,130945.00,A,5157.35157,N,00424.71276,E,46.948,332.79,120308,,,D*56
+$GPRMC,130946.00,A,5157.36338,N,00424.70301,E,47.771,333.10,120308,,,D*56
+$GPRMC,130947.00,A,5157.37544,N,00424.69320,E,48.550,333.55,120308,,,D*5F
+$GPRMC,130948.00,A,5157.38776,N,00424.68347,E,49.290,334.35,120308,,,D*57
+$GPRMC,130949.00,A,5157.40026,N,00424.67380,E,49.820,334.52,120308,,,D*5F
+$GPRMC,130950.00,A,5157.41279,N,00424.66407,E,49.625,334.11,120308,,,D*5B
+$GPRMC,130951.00,A,5157.42522,N,00424.65439,E,49.227,334.36,120308,,,D*5D
+$GPRMC,130952.00,A,5157.43762,N,00424.64468,E,49.199,334.27,120308,,,D*5A
+$GPRMC,130953.00,A,5157.45001,N,00424.63504,E,49.017,334.69,120308,,,D*5E
+$GPRMC,130954.00,A,5157.46238,N,00424.62546,E,48.846,334.42,120308,,,D*51
+$GPRMC,130955.00,A,5157.47465,N,00424.61588,E,48.697,334.38,120308,,,D*51
+$GPRMC,130956.00,A,5157.48693,N,00424.60625,E,48.990,334.44,120308,,,D*50
+$GPRMC,130957.00,A,5157.49943,N,00424.59660,E,50.069,334.58,120308,,,D*52
+$GPRMC,130958.00,A,5157.51201,N,00424.58678,E,49.870,334.06,120308,,,D*52
+$GPRMC,130959.00,A,5157.52450,N,00424.57708,E,49.397,334.21,120308,,,D*5C
+$GPRMC,131000.00,A,5157.53688,N,00424.56739,E,49.273,334.17,120308,,,D*53
+$GPRMC,131001.00,A,5157.54923,N,00424.55771,E,49.292,334.09,120308,,,D*54
+$GPRMC,131002.00,A,5157.56158,N,00424.54799,E,49.383,333.99,120308,,,D*59
+$GPRMC,131003.00,A,5157.57398,N,00424.53825,E,49.561,334.20,120308,,,D*57
+$GPRMC,131004.00,A,5157.58640,N,00424.52856,E,49.456,334.31,120308,,,D*5F
+$GPRMC,131005.00,A,5157.59883,N,00424.51889,E,49.665,334.29,120308,,,D*54
+$GPRMC,131006.00,A,5157.61129,N,00424.50918,E,49.621,334.28,120308,,,D*5C
+$GPRMC,131007.00,A,5157.62378,N,00424.49946,E,50.083,334.30,120308,,,D*54
+$GPRMC,131008.00,A,5157.63638,N,00424.48969,E,50.389,334.43,120308,,,D*5A
+$GPRMC,131009.00,A,5157.64915,N,00424.47982,E,50.755,334.41,120308,,,D*51
+$GPRMC,131010.00,A,5157.66194,N,00424.46992,E,50.925,334.33,120308,,,D*56
+$GPRMC,131011.00,A,5157.67477,N,00424.45992,E,51.059,334.20,120308,,,D*5C
+$GPRMC,131012.00,A,5157.68763,N,00424.44991,E,51.258,334.22,120308,,,D*55
+$GPRMC,131013.00,A,5157.70052,N,00424.43982,E,51.526,334.09,120308,,,D*5A
+$GPRMC,131014.00,A,5157.71342,N,00424.42972,E,51.572,334.17,120308,,,D*5E
+$GPRMC,131015.00,A,5157.72636,N,00424.41961,E,51.753,334.27,120308,,,D*59
+$GPRMC,131016.00,A,5157.73939,N,00424.40952,E,51.991,334.44,120308,,,D*5F
+$GPRMC,131017.00,A,5157.75253,N,00424.39941,E,52.523,334.59,120308,,,D*59
+$GPRMC,131018.00,A,5157.76580,N,00424.38937,E,52.833,335.08,120308,,,D*55
+$GPRMC,131019.00,A,5157.77924,N,00424.37947,E,53.337,335.77,120308,,,D*59
+$GPRMC,131020.00,A,5157.79284,N,00424.36966,E,53.695,336.09,120308,,,D*59
+$GPRMC,131021.00,A,5157.80645,N,00424.35981,E,53.565,335.70,120308,,,D*5C
+$GPRMC,131022.00,A,5157.82003,N,00424.34981,E,53.361,335.64,120308,,,D*5F
+$GPRMC,131023.00,A,5157.83364,N,00424.33945,E,53.654,335.12,120308,,,D*50
+$GPRMC,131024.00,A,5157.84713,N,00424.32910,E,53.572,334.80,120308,,,D*58
+$GPRMC,131025.00,A,5157.86058,N,00424.31863,E,53.422,334.23,120308,,,D*58
+$GPRMC,131026.00,A,5157.87396,N,00424.30815,E,53.199,334.22,120308,,,D*5F
+$GPRMC,131027.00,A,5157.88727,N,00424.29779,E,52.927,334.38,120308,,,D*55
+$GPRMC,131028.00,A,5157.90052,N,00424.28751,E,52.801,334.32,120308,,,D*52
+$GPRMC,131029.00,A,5157.91371,N,00424.27726,E,52.503,334.25,120308,,,D*56
+$GPRMC,131030.00,A,5157.92681,N,00424.26703,E,51.932,334.27,120308,,,D*5E
+$GPRMC,131031.00,A,5157.93976,N,00424.25691,E,51.674,334.24,120308,,,D*5E
+$GPRMC,131032.00,A,5157.95265,N,00424.24685,E,51.384,334.17,120308,,,D*5C
+$GPRMC,131033.00,A,5157.96542,N,00424.23683,E,50.911,334.14,120308,,,D*59
+$GPRMC,131034.00,A,5157.97811,N,00424.22683,E,50.670,333.93,120308,,,D*55
+$GPRMC,131035.00,A,5157.99074,N,00424.21692,E,50.560,334.34,120308,,,D*5A
+$GPRMC,131036.00,A,5158.00336,N,00424.20707,E,50.496,334.16,120308,,,D*57
+$GPRMC,131037.00,A,5158.01588,N,00424.19717,E,50.146,333.85,120308,,,D*5A
+$GPRMC,131038.00,A,5158.02832,N,00424.18737,E,49.741,333.87,120308,,,D*52
+$GPRMC,131039.00,A,5158.04067,N,00424.17765,E,49.312,333.97,120308,,,D*56
+$GPRMC,131040.00,A,5158.05289,N,00424.16804,E,48.858,333.94,120308,,,D*55
+$GPRMC,131041.00,A,5158.06503,N,00424.15859,E,48.360,334.30,120308,,,D*50
+$GPRMC,131042.00,A,5158.07710,N,00424.14932,E,48.126,334.49,120308,,,D*51
+$GPRMC,131043.00,A,5158.08911,N,00424.14004,E,47.831,334.44,120308,,,D*51
+$GPRMC,131044.00,A,5158.10106,N,00424.13083,E,47.565,334.36,120308,,,D*50
+$GPRMC,131045.00,A,5158.11290,N,00424.12161,E,47.144,334.21,120308,,,D*51
+$GPRMC,131046.00,A,5158.12468,N,00424.11249,E,46.834,334.15,120308,,,D*52
+$GPRMC,131047.00,A,5158.13634,N,00424.10340,E,46.509,334.12,120308,,,D*54
+$GPRMC,131048.00,A,5158.14798,N,00424.09426,E,46.771,334.06,120308,,,D*5C
+$GPRMC,131049.00,A,5158.15971,N,00424.08492,E,47.589,333.70,120308,,,D*59
+$GPRMC,131050.00,A,5158.17165,N,00424.07535,E,48.359,333.44,120308,,,D*5E
+$GPRMC,131051.00,A,5158.18371,N,00424.06551,E,49.021,333.10,120308,,,D*58
+$GPRMC,131052.00,A,5158.19584,N,00424.05544,E,49.238,332.70,120308,,,D*5C
+$GPRMC,131053.00,A,5158.20796,N,00424.04532,E,48.960,332.78,120308,,,D*59
+$GPRMC,131054.00,A,5158.22008,N,00424.03534,E,49.049,333.35,120308,,,D*56
+$GPRMC,131055.00,A,5158.23239,N,00424.02561,E,49.563,334.32,120308,,,D*5A
+$GPRMC,131056.00,A,5158.24491,N,00424.01614,E,49.966,335.46,120308,,,D*53
+$GPRMC,131057.00,A,5158.25766,N,00424.00709,E,50.188,336.95,120308,,,D*59
+$GPRMC,131058.00,A,5158.27064,N,00423.99873,E,50.209,339.69,120308,,,D*52
+$GPRMC,131059.00,A,5158.28382,N,00423.99128,E,50.150,341.71,120308,,,D*59
+$GPRMC,131100.00,A,5158.29711,N,00423.98417,E,50.179,342.11,120308,,,D*5D
+$GPRMC,131101.00,A,5158.31043,N,00423.97745,E,50.163,343.53,120308,,,D*52
+$GPRMC,131102.00,A,5158.32384,N,00423.97126,E,50.038,344.24,120308,,,D*51
+$GPRMC,131103.00,A,5158.33725,N,00423.96544,E,49.814,345.27,120308,,,D*53
+$GPRMC,131104.00,A,5158.35067,N,00423.95988,E,49.641,345.80,120308,,,D*5F
+$GPRMC,131105.00,A,5158.36403,N,00423.95454,E,49.499,346.45,120308,,,D*5A
+$GPRMC,131106.00,A,5158.37737,N,00423.94950,E,49.243,347.19,120308,,,D*5D
+$GPRMC,131107.00,A,5158.39060,N,00423.94473,E,48.522,347.42,120308,,,D*54
+$GPRMC,131108.00,A,5158.40358,N,00423.93994,E,47.642,346.87,120308,,,D*5C
+$GPRMC,131109.00,A,5158.41633,N,00423.93497,E,47.023,345.97,120308,,,D*59
+$GPRMC,131110.00,A,5158.42892,N,00423.92985,E,46.641,345.61,120308,,,D*52
+$GPRMC,131111.00,A,5158.44139,N,00423.92469,E,46.287,345.48,120308,,,D*57
+$GPRMC,131112.00,A,5158.45376,N,00423.91947,E,46.047,345.32,120308,,,D*5D
+$GPRMC,131113.00,A,5158.46609,N,00423.91430,E,45.854,345.44,120308,,,D*57
+$GPRMC,131114.00,A,5158.47834,N,00423.90918,E,45.507,345.32,120308,,,D*5D
+$GPRMC,131115.00,A,5158.49056,N,00423.90397,E,45.819,345.10,120308,,,D*51
+$GPRMC,131116.00,A,5158.50280,N,00423.89873,E,46.114,345.09,120308,,,D*55
+$GPRMC,131117.00,A,5158.51517,N,00423.89338,E,46.647,344.94,120308,,,D*5C
+$GPRMC,131118.00,A,5158.52760,N,00423.88798,E,46.936,344.99,120308,,,D*59
+$GPRMC,131119.00,A,5158.54009,N,00423.88261,E,47.012,345.17,120308,,,D*5C
+$GPRMC,131120.00,A,5158.55268,N,00423.87727,E,47.262,345.32,120308,,,D*58
+$GPRMC,131121.00,A,5158.56536,N,00423.87189,E,47.615,345.21,120308,,,D*52
+$GPRMC,131122.00,A,5158.57815,N,00423.86643,E,47.965,345.11,120308,,,D*57
+$GPRMC,131123.00,A,5158.59104,N,00423.86098,E,48.203,345.51,120308,,,D*51
+$GPRMC,131124.00,A,5158.60400,N,00423.85556,E,48.667,345.39,120308,,,D*51
+$GPRMC,131125.00,A,5158.61708,N,00423.85001,E,49.035,345.12,120308,,,D*54
+$GPRMC,131126.00,A,5158.63028,N,00423.84437,E,49.435,345.08,120308,,,D*5F
+$GPRMC,131127.00,A,5158.64360,N,00423.83864,E,49.942,345.12,120308,,,D*5D
+$GPRMC,131128.00,A,5158.65702,N,00423.83288,E,50.383,345.13,120308,,,D*55
+$GPRMC,131129.00,A,5158.67060,N,00423.82700,E,50.874,344.87,120308,,,D*5E
+$GPRMC,131130.00,A,5158.68431,N,00423.82111,E,51.193,344.96,120308,,,D*5E
+$GPRMC,131131.00,A,5158.69807,N,00423.81517,E,51.366,344.95,120308,,,D*5D
+$GPRMC,131132.00,A,5158.71192,N,00423.80922,E,51.617,345.14,120308,,,D*52
+$GPRMC,131133.00,A,5158.72588,N,00423.80337,E,52.012,345.27,120308,,,D*51
+$GPRMC,131134.00,A,5158.73992,N,00423.79744,E,52.312,345.26,120308,,,D*54
+$GPRMC,131135.00,A,5158.75402,N,00423.79150,E,52.336,345.28,120308,,,D*5C
+$GPRMC,131136.00,A,5158.76806,N,00423.78557,E,52.007,345.29,120308,,,D*56
+$GPRMC,131137.00,A,5158.78193,N,00423.77969,E,51.347,345.22,120308,,,D*5D
+$GPRMC,131138.00,A,5158.79565,N,00423.77385,E,50.847,345.29,120308,,,D*57
+$GPRMC,131139.00,A,5158.80927,N,00423.76817,E,50.471,345.51,120308,,,D*5D
+$GPRMC,131140.00,A,5158.82282,N,00423.76246,E,50.397,344.93,120308,,,D*5B
+$GPRMC,131141.00,A,5158.83632,N,00423.75677,E,49.911,344.81,120308,,,D*5E
+$GPRMC,131142.00,A,5158.84966,N,00423.75114,E,49.420,344.78,120308,,,D*5F
+$GPRMC,131143.00,A,5158.86282,N,00423.74539,E,48.913,345.08,120308,,,D*5D
+$GPRMC,131144.00,A,5158.87596,N,00423.73997,E,48.722,345.23,120308,,,D*53
+$GPRMC,131145.00,A,5158.88898,N,00423.73445,E,48.342,345.70,120308,,,D*58
+$GPRMC,131146.00,A,5158.90189,N,00423.72901,E,47.981,345.44,120308,,,D*5A
+$GPRMC,131147.00,A,5158.91469,N,00423.72353,E,47.633,345.01,120308,,,D*5B
+$GPRMC,131148.00,A,5158.92740,N,00423.71798,E,47.367,344.82,120308,,,D*51
+$GPRMC,131149.00,A,5158.94010,N,00423.71270,E,47.242,345.19,120308,,,D*52
+$GPRMC,131150.00,A,5158.95279,N,00423.70715,E,47.702,344.59,120308,,,D*55
+$GPRMC,131151.00,A,5158.96558,N,00423.70134,E,48.127,344.27,120308,,,D*51
+$GPRMC,131152.00,A,5158.97849,N,00423.69541,E,48.694,343.63,120308,,,D*58
+$GPRMC,131153.00,A,5158.99142,N,00423.68935,E,48.431,343.65,120308,,,D*50
+$GPRMC,131154.00,A,5159.00433,N,00423.68322,E,48.479,343.39,120308,,,D*5C
+$GPRMC,131155.00,A,5159.01719,N,00423.67709,E,48.178,343.76,120308,,,D*5A
+$GPRMC,131156.00,A,5159.03002,N,00423.67108,E,47.779,344.64,120308,,,D*5D
+$GPRMC,131157.00,A,5159.04286,N,00423.66536,E,47.701,345.36,120308,,,D*54
+$GPRMC,131158.00,A,5159.05566,N,00423.65995,E,47.711,345.34,120308,,,D*56
+$GPRMC,131159.00,A,5159.06850,N,00423.65460,E,48.037,345.53,120308,,,D*56
+$GPRMC,131200.00,A,5159.08142,N,00423.64916,E,48.421,345.14,120308,,,D*50
+$GPRMC,131201.00,A,5159.09440,N,00423.64355,E,48.739,344.92,120308,,,D*5F
+$GPRMC,131202.00,A,5159.10740,N,00423.63789,E,48.595,344.99,120308,,,D*5A
+$GPRMC,131203.00,A,5159.12044,N,00423.63224,E,48.895,345.07,120308,,,D*53
+$GPRMC,131204.00,A,5159.13361,N,00423.62653,E,49.438,345.25,120308,,,D*5E
+$GPRMC,131205.00,A,5159.14691,N,00423.62073,E,49.865,344.60,120308,,,D*52
+$GPRMC,131206.00,A,5159.15970,N,00423.61523,E,45.805,345.27,120308,,,D*5B
+$GPRMC,131207.00,A,5159.17170,N,00423.61020,E,43.999,345.31,120308,,,D*53
+$GPRMC,131208.00,A,5159.18354,N,00423.60510,E,44.041,345.28,120308,,,D*53
+$GPRMC,131209.00,A,5159.19523,N,00423.60014,E,43.328,345.29,120308,,,D*5E
+$GPRMC,131210.00,A,5159.20676,N,00423.59530,E,42.875,345.56,120308,,,D*5C
+$GPRMC,131211.00,A,5159.21833,N,00423.59034,E,43.491,345.19,120308,,,D*5E
+$GPRMC,131212.00,A,5159.23003,N,00423.58530,E,43.889,345.14,120308,,,D*5C
+$GPRMC,131213.00,A,5159.24182,N,00423.58022,E,44.253,345.49,120308,,,D*56
+$GPRMC,131214.00,A,5159.25376,N,00423.57530,E,44.756,346.03,120308,,,D*5D
+$GPRMC,131215.00,A,5159.26595,N,00423.57048,E,45.597,346.71,120308,,,D*55
+$GPRMC,131216.00,A,5159.27832,N,00423.56586,E,45.919,347.33,120308,,,D*5C
+$GPRMC,131217.00,A,5159.29074,N,00423.56130,E,45.882,347.01,120308,,,D*52
+$GPRMC,131218.00,A,5159.30304,N,00423.55657,E,45.342,346.37,120308,,,D*57
+$GPRMC,131219.00,A,5159.31516,N,00423.55174,E,44.724,345.72,120308,,,D*53
+$GPRMC,131220.00,A,5159.32707,N,00423.54682,E,43.854,345.54,120308,,,D*5C
+$GPRMC,131221.00,A,5159.33867,N,00423.54201,E,42.652,345.58,120308,,,D*5F
+$GPRMC,131222.00,A,5159.34973,N,00423.53647,E,41.194,339.97,120308,,,D*58
+$GPRMC,131223.00,A,5159.36055,N,00423.53080,E,41.477,342.29,120308,,,D*5A
+$GPRMC,131224.00,A,5159.37133,N,00423.52618,E,40.471,344.80,120308,,,D*59
+$GPRMC,131225.00,A,5159.38210,N,00423.52153,E,40.374,344.64,120308,,,D*55
+$GPRMC,131226.00,A,5159.39284,N,00423.51677,E,40.398,344.64,120308,,,D*5A
+$GPRMC,131227.00,A,5159.40367,N,00423.51215,E,40.653,344.72,120308,,,D*5C
+$GPRMC,131228.00,A,5159.41475,N,00423.50731,E,42.153,344.49,120308,,,D*59
+$GPRMC,131229.00,A,5159.42640,N,00423.50179,E,45.120,342.98,120308,,,D*5C
+$GPRMC,131230.00,A,5159.43878,N,00423.49562,E,47.738,342.74,120308,,,D*59
+$GPRMC,131231.00,A,5159.45185,N,00423.48932,E,50.171,342.99,120308,,,D*53
+$GPRMC,131232.00,A,5159.46537,N,00423.48311,E,50.598,343.42,120308,,,D*51
+$GPRMC,131233.00,A,5159.47876,N,00423.47704,E,49.635,343.90,120308,,,D*55
+$GPRMC,131234.00,A,5159.49230,N,00423.47077,E,51.053,343.96,120308,,,D*5E
+$GPRMC,131235.00,A,5159.50607,N,00423.46475,E,51.611,344.96,120308,,,D*57
+$GPRMC,131236.00,A,5159.52000,N,00423.45853,E,51.898,344.04,120308,,,D*58
+$GPRMC,131237.00,A,5159.53401,N,00423.45221,E,51.934,344.69,120308,,,D*5E
+$GPRMC,131238.00,A,5159.54806,N,00423.44606,E,51.968,344.92,120308,,,D*50
+$GPRMC,131239.00,A,5159.56226,N,00423.44020,E,52.231,344.80,120308,,,D*5E
+$GPRMC,131240.00,A,5159.57645,N,00423.43432,E,52.452,345.24,120308,,,D*5C
+$GPRMC,131241.00,A,5159.59077,N,00423.42869,E,52.959,345.26,120308,,,D*53
+$GPRMC,131242.00,A,5159.60509,N,00423.42304,E,52.886,345.10,120308,,,D*50
+$GPRMC,131243.00,A,5159.61937,N,00423.41722,E,52.653,345.26,120308,,,D*51
+$GPRMC,131244.00,A,5159.63354,N,00423.41158,E,51.985,346.02,120308,,,D*52
+$GPRMC,131245.00,A,5159.64758,N,00423.40580,E,51.643,345.31,120308,,,D*5A
+$GPRMC,131246.00,A,5159.66152,N,00423.39999,E,51.906,344.92,120308,,,D*5B
+$GPRMC,131247.00,A,5159.67547,N,00423.39402,E,52.103,344.92,120308,,,D*5A
+$GPRMC,131248.00,A,5159.68948,N,00423.38792,E,52.467,344.86,120308,,,D*50
+$GPRMC,131249.00,A,5159.70355,N,00423.38180,E,52.485,345.06,120308,,,D*5E
+$GPRMC,131250.00,A,5159.71759,N,00423.37580,E,52.171,345.45,120308,,,D*5D
+$GPRMC,131251.00,A,5159.73162,N,00423.37006,E,52.103,345.70,120308,,,D*58
+$GPRMC,131252.00,A,5159.74573,N,00423.36418,E,52.383,345.89,120308,,,D*5E
+$GPRMC,131253.00,A,5159.75994,N,00423.35815,E,52.505,345.63,120308,,,D*55
+$GPRMC,131254.00,A,5159.77406,N,00423.35189,E,52.492,345.29,120308,,,D*5B
+$GPRMC,131255.00,A,5159.78817,N,00423.34569,E,52.601,345.37,120308,,,D*55
+$GPRMC,131256.00,A,5159.80230,N,00423.33957,E,52.766,345.44,120308,,,D*5C
+$GPRMC,131257.00,A,5159.81648,N,00423.33343,E,53.039,345.49,120308,,,D*59
+$GPRMC,131258.00,A,5159.83081,N,00423.32755,E,53.427,345.72,120308,,,D*56
+$GPRMC,131259.00,A,5159.84512,N,00423.32087,E,53.201,343.80,120308,,,D*5E
+$GPRMC,131300.00,A,5159.85891,N,00423.31491,E,51.565,345.13,120308,,,D*5F
+$GPRMC,131301.00,A,5159.87282,N,00423.30902,E,51.890,345.30,120308,,,D*54
+$GPRMC,131302.00,A,5159.88676,N,00423.30307,E,51.097,345.18,120308,,,D*5D
+$GPRMC,131303.00,A,5159.90057,N,00423.29752,E,51.204,345.58,120308,,,D*50
+$GPRMC,131304.00,A,5159.91426,N,00423.29194,E,51.553,345.63,120308,,,D*55
+$GPRMC,131305.00,A,5159.92797,N,00423.28669,E,51.844,345.41,120308,,,D*51
+$GPRMC,131306.00,A,5159.94160,N,00423.28145,E,52.314,345.22,120308,,,D*5B
+$GPRMC,131307.00,A,5159.95566,N,00423.27533,E,52.830,345.10,120308,,,D*5F
+$GPRMC,131308.00,A,5159.96989,N,00423.26918,E,53.179,345.28,120308,,,D*54
+$GPRMC,131309.00,A,5159.98431,N,00423.26283,E,53.893,344.71,120308,,,D*5C
+$GPRMC,131310.00,A,5159.99882,N,00423.25674,E,54.142,345.55,120308,,,D*5B
+$GPRMC,131311.00,A,5200.01324,N,00423.25115,E,54.514,344.57,120308,,,D*57
+$GPRMC,131312.00,A,5200.02764,N,00423.24567,E,54.758,344.93,120308,,,D*55
+$GPRMC,131313.00,A,5200.04225,N,00423.23979,E,55.377,345.02,120308,,,D*57
+$GPRMC,131314.00,A,5200.05694,N,00423.23395,E,55.570,345.08,120308,,,D*5C
+$GPRMC,131315.00,A,5200.07165,N,00423.22805,E,55.109,345.18,120308,,,D*5E
+$GPRMC,131316.00,A,5200.08635,N,00423.22178,E,54.705,345.41,120308,,,D*54
+$GPRMC,131317.00,A,5200.10102,N,00423.21578,E,54.373,346.55,120308,,,D*5B
+$GPRMC,131318.00,A,5200.11568,N,00423.20946,E,54.799,344.82,120308,,,D*55
+$GPRMC,131319.00,A,5200.13031,N,00423.20290,E,54.452,345.07,120308,,,D*57
+$GPRMC,131320.00,A,5200.14500,N,00423.19611,E,54.845,344.50,120308,,,D*53
+$GPRMC,131321.00,A,5200.15965,N,00423.18935,E,54.685,344.35,120308,,,D*55
+$GPRMC,131322.00,A,5200.17433,N,00423.18248,E,55.144,343.55,120308,,,D*51
+$GPRMC,131323.00,A,5200.18896,N,00423.17563,E,55.107,342.95,120308,,,D*57
+$GPRMC,131324.00,A,5200.20357,N,00423.16833,E,54.822,342.43,120308,,,D*50
+$GPRMC,131325.00,A,5200.21801,N,00423.16089,E,54.009,342.37,120308,,,D*53
+$GPRMC,131326.00,A,5200.23226,N,00423.15334,E,53.607,341.65,120308,,,D*50
+$GPRMC,131327.00,A,5200.24648,N,00423.14539,E,54.317,340.60,120308,,,D*57
+$GPRMC,131328.00,A,5200.26074,N,00423.13698,E,55.477,339.05,120308,,,D*51
+$GPRMC,131329.00,A,5200.27511,N,00423.12740,E,55.852,337.15,120308,,,D*56
+$GPRMC,131330.00,A,5200.28922,N,00423.11733,E,55.323,335.41,120308,,,D*54
+$GPRMC,131331.00,A,5200.30311,N,00423.10661,E,54.956,334.31,120308,,,D*5E
+$GPRMC,131332.00,A,5200.31690,N,00423.09545,E,55.086,332.99,120308,,,D*5C
+$GPRMC,131333.00,A,5200.33056,N,00423.08373,E,55.305,331.53,120308,,,D*5C
+$GPRMC,131334.00,A,5200.34397,N,00423.07133,E,55.092,329.68,120308,,,D*57
+$GPRMC,131335.00,A,5200.35707,N,00423.05834,E,54.689,327.87,120308,,,D*54
+$GPRMC,131336.00,A,5200.36991,N,00423.04475,E,54.737,326.67,120308,,,D*56
+$GPRMC,131337.00,A,5200.38253,N,00423.03080,E,54.355,325.63,120308,,,D*52
+$GPRMC,131338.00,A,5200.39494,N,00423.01661,E,53.995,324.74,120308,,,D*5C
+$GPRMC,131339.00,A,5200.40726,N,00423.00225,E,54.276,324.50,120308,,,D*5B
+$GPRMC,131340.00,A,5200.41969,N,00422.98775,E,54.860,324.57,120308,,,A*5E
+$GPRMC,131341.00,A,5200.43252,N,00422.97313,E,55.505,325.44,120308,,,A*59
+$GPRMC,131342.00,A,5200.44533,N,00422.95878,E,54.260,325.71,120308,,,A*5A
+$GPRMC,131343.00,A,5200.45812,N,00422.94484,E,53.560,326.09,120308,,,A*56
+$GPRMC,131344.00,A,5200.47065,N,00422.93117,E,52.697,325.98,120308,,,A*52
+$GPRMC,131345.00,A,5200.48282,N,00422.91763,E,51.869,325.37,120308,,,A*59
+$GPRMC,131346.00,A,5200.49470,N,00422.90406,E,51.248,324.68,120308,,,A*53
+$GPRMC,131347.00,A,5200.50633,N,00422.89049,E,50.747,324.40,120308,,,A*59
+$GPRMC,131348.00,A,5200.51791,N,00422.87699,E,50.820,324.31,120308,,,A*53
+$GPRMC,131349.00,A,5200.52946,N,00422.86348,E,50.918,324.31,120308,,,A*57
+$GPRMC,131350.00,A,5200.54099,N,00422.85000,E,50.884,324.33,120308,,,A*58
+$GPRMC,131351.00,A,5200.55248,N,00422.83657,E,50.789,324.31,120308,,,A*54
+$GPRMC,131352.00,A,5200.56393,N,00422.82323,E,50.563,324.54,120308,,,A*51
+$GPRMC,131353.00,A,5200.57535,N,00422.81010,E,49.964,324.65,120308,,,A*5A
+$GPRMC,131354.00,A,5200.58663,N,00422.79712,E,49.520,324.36,120308,,,A*5A
+$GPRMC,131355.00,A,5200.59780,N,00422.78411,E,49.366,324.30,120308,,,A*55
+$GPRMC,131356.00,A,5200.60893,N,00422.77105,E,49.418,324.08,120308,,,A*5B
+$GPRMC,131357.00,A,5200.62009,N,00422.75795,E,49.530,324.12,120308,,,A*5E
+$GPRMC,131358.00,A,5200.63127,N,00422.74485,E,49.556,324.19,120308,,,A*55
+$GPRMC,131359.00,A,5200.64242,N,00422.73178,E,49.313,324.21,120308,,,A*5F
+$GPRMC,131400.00,A,5200.65352,N,00422.71880,E,48.972,324.24,120308,,,A*50
+$GPRMC,131401.00,A,5200.66452,N,00422.70595,E,48.555,324.38,120308,,,A*59
+$GPRMC,131402.00,A,5200.67548,N,00422.69328,E,48.262,324.77,120308,,,A*51
+$GPRMC,131403.00,A,5200.68642,N,00422.68069,E,48.205,324.65,120308,,,A*53
+$GPRMC,131404.00,A,5200.69733,N,00422.66801,E,48.369,324.20,120308,,,A*50
+$GPRMC,131405.00,A,5200.70820,N,00422.65525,E,48.191,324.13,120308,,,A*59
+$GPRMC,131406.00,A,5200.71899,N,00422.64256,E,47.814,324.07,120308,,,A*55
+$GPRMC,131407.00,A,5200.72970,N,00422.62997,E,47.563,324.16,120308,,,A*5C
+$GPRMC,131408.00,A,5200.74037,N,00422.61745,E,47.394,324.19,120308,,,A*5C
+$GPRMC,131409.00,A,5200.75105,N,00422.60495,E,47.548,324.15,120308,,,A*58
+$GPRMC,131410.00,A,5200.76180,N,00422.59238,E,47.799,324.10,120308,,,A*5E
+$GPRMC,131411.00,A,5200.77257,N,00422.57977,E,47.927,324.19,120308,,,A*5B
+$GPRMC,131412.00,A,5200.78336,N,00422.56716,E,47.979,324.30,120308,,,A*59
+$GPRMC,131413.00,A,5200.79420,N,00422.55465,E,48.022,324.31,120308,,,A*54
+$GPRMC,131414.00,A,5200.80505,N,00422.54207,E,48.163,324.22,120308,,,A*56
+$GPRMC,131415.00,A,5200.81591,N,00422.52946,E,48.230,324.40,120308,,,A*52
+$GPRMC,131416.00,A,5200.82674,N,00422.51685,E,47.941,324.27,120308,,,A*5A
+$GPRMC,131417.00,A,5200.83755,N,00422.50431,E,47.837,324.47,120308,,,A*52
+$GPRMC,131418.00,A,5200.84835,N,00422.49189,E,47.598,324.54,120308,,,A*57
+$GPRMC,131419.00,A,5200.85911,N,00422.47947,E,47.491,324.30,120308,,,A*5E
+$GPRMC,131420.00,A,5200.86982,N,00422.46698,E,47.577,324.05,120308,,,A*5E
+$GPRMC,131421.00,A,5200.88055,N,00422.45442,E,47.542,324.02,120308,,,A*55
+$GPRMC,131422.00,A,5200.89125,N,00422.44186,E,47.554,324.27,120308,,,A*5D
+$GPRMC,131423.00,A,5200.90198,N,00422.42937,E,47.440,324.38,120308,,,A*5C
+$GPRMC,131424.00,A,5200.91269,N,00422.41689,E,47.472,324.50,120308,,,A*51
+$GPRMC,131425.00,A,5200.92341,N,00422.40436,E,47.630,324.07,120308,,,A*59
+$GPRMC,131426.00,A,5200.93417,N,00422.39171,E,47.916,324.13,120308,,,A*59
+$GPRMC,131427.00,A,5200.94500,N,00422.37910,E,47.939,324.10,120308,,,A*57
+$GPRMC,131428.00,A,5200.95580,N,00422.36649,E,47.901,324.28,120308,,,A*53
+$GPRMC,131429.00,A,5200.96656,N,00422.35387,E,47.903,324.48,120308,,,A*59
+$GPRMC,131430.00,A,5200.97737,N,00422.34137,E,47.834,324.56,120308,,,A*54
+$GPRMC,131431.00,A,5200.98823,N,00422.32878,E,48.436,324.53,120308,,,A*50
+$GPRMC,131432.00,A,5200.99919,N,00422.31594,E,48.954,323.98,120308,,,A*5F
+$GPRMC,131433.00,A,5201.01025,N,00422.30305,E,49.021,324.71,120308,,,A*5D
+$GPRMC,131434.00,A,5201.02132,N,00422.29014,E,49.045,324.22,120308,,,A*51
+$GPRMC,131435.00,A,5201.03233,N,00422.27711,E,49.044,323.85,120308,,,A*54
+$GPRMC,131436.00,A,5201.04325,N,00422.26395,E,48.858,323.05,120308,,,A*53
+$GPRMC,131437.00,A,5201.05440,N,00422.25064,E,49.948,324.11,120308,,,A*5A
+$GPRMC,131438.00,A,5201.06571,N,00422.23736,E,50.189,324.32,120308,,,A*5F
+$GPRMC,131439.00,A,5201.07708,N,00422.22420,E,49.962,324.47,120308,,,A*51
+$GPRMC,131440.00,A,5201.08831,N,00422.21110,E,49.588,324.31,120308,,,A*59
+$GPRMC,131441.00,A,5201.09943,N,00422.19806,E,49.132,324.35,120308,,,A*59
+$GPRMC,131442.00,A,5201.11044,N,00422.18521,E,48.512,324.34,120308,,,A*52
+$GPRMC,131443.00,A,5201.12129,N,00422.17258,E,47.979,324.36,120308,,,A*50
+$GPRMC,131444.00,A,5201.13206,N,00422.16012,E,47.603,324.39,120308,,,A*58
+$GPRMC,131445.00,A,5201.14269,N,00422.14767,E,47.154,324.03,120308,,,A*5C
+$GPRMC,131446.00,A,5201.15327,N,00422.13540,E,46.736,324.33,120308,,,A*55
+$GPRMC,131447.00,A,5201.16389,N,00422.12338,E,46.567,324.86,120308,,,A*53
+$GPRMC,131448.00,A,5201.17439,N,00422.11122,E,46.665,324.56,120308,,,A*57
+$GPRMC,131449.00,A,5201.18495,N,00422.09899,E,46.913,324.44,120308,,,A*52
+$GPRMC,131450.00,A,5201.19558,N,00422.08665,E,47.502,324.55,120308,,,A*5A
+$GPRMC,131451.00,A,5201.20637,N,00422.07421,E,48.071,324.71,120308,,,A*5E
+$GPRMC,131452.00,A,5201.21723,N,00422.06169,E,48.153,324.44,120308,,,A*57
+$GPRMC,131453.00,A,5201.22805,N,00422.04899,E,48.243,324.03,120308,,,A*5B
+$GPRMC,131454.00,A,5201.23888,N,00422.03623,E,48.435,324.05,120308,,,A*51
+$GPRMC,131455.00,A,5201.24979,N,00422.02332,E,49.164,323.99,120308,,,A*5E
+$GPRMC,131456.00,A,5201.26094,N,00422.01024,E,50.056,323.76,120308,,,A*5B
+$GPRMC,131457.00,A,5201.27231,N,00421.99696,E,50.859,323.98,120308,,,A*5C
+$GPRMC,131458.00,A,5201.28385,N,00421.98353,E,51.360,324.14,120308,,,A*5C
+$GPRMC,131459.00,A,5201.29552,N,00421.96998,E,52.092,324.20,120308,,,A*59
+$GPRMC,131500.00,A,5201.30738,N,00421.95650,E,52.224,325.52,120308,,,A*51
+$GPRMC,131501.00,A,5201.31908,N,00421.94276,E,51.775,323.52,120308,,,A*59
+$GPRMC,131502.00,A,5201.33079,N,00421.92898,E,52.388,324.30,120308,,,A*5D
+$GPRMC,131503.00,A,5201.34258,N,00421.91526,E,52.549,324.73,120308,,,A*5D
+$GPRMC,131504.00,A,5201.35443,N,00421.90154,E,52.576,324.61,120308,,,A*58
+$GPRMC,131505.00,A,5201.36632,N,00421.88779,E,52.616,324.48,120308,,,A*50
+$GPRMC,131506.00,A,5201.37824,N,00421.87392,E,52.759,324.34,120308,,,A*54
+$GPRMC,131507.00,A,5201.39020,N,00421.86012,E,52.494,324.32,120308,,,A*59
+$GPRMC,131508.00,A,5201.40210,N,00421.84634,E,52.703,324.59,120308,,,A*59
+$GPRMC,131509.00,A,5201.41413,N,00421.83259,E,53.088,324.88,120308,,,A*5D
+$GPRMC,131510.00,A,5201.42625,N,00421.81895,E,52.890,325.37,120308,,,A*5C
+$GPRMC,131511.00,A,5201.43836,N,00421.80551,E,52.618,325.76,120308,,,A*5F
+$GPRMC,131512.00,A,5201.45042,N,00421.79219,E,52.238,325.64,120308,,,A*59
+$GPRMC,131513.00,A,5201.46236,N,00421.77898,E,51.812,325.52,120308,,,A*53
+$GPRMC,131514.00,A,5201.47417,N,00421.76580,E,51.384,325.21,120308,,,A*55
+$GPRMC,131515.00,A,5201.48586,N,00421.75243,E,51.440,324.59,120308,,,A*58
+$GPRMC,131516.00,A,5201.49732,N,00421.73909,E,50.762,324.47,120308,,,A*59
+$GPRMC,131517.00,A,5201.50871,N,00421.72588,E,50.372,324.65,120308,,,A*59
+$GPRMC,131518.00,A,5201.51996,N,00421.71276,E,49.650,324.27,120308,,,A*51
+$GPRMC,131519.00,A,5201.53104,N,00421.69969,E,49.169,324.06,120308,,,A*53
+$GPRMC,131520.00,A,5201.54206,N,00421.68669,E,48.951,324.02,120308,,,A*57
+$GPRMC,131521.00,A,5201.55305,N,00421.67380,E,48.666,324.16,120308,,,A*56
+$GPRMC,131522.00,A,5201.56403,N,00421.66106,E,48.460,324.45,120308,,,A*58
+$GPRMC,131523.00,A,5201.57492,N,00421.64844,E,48.090,324.62,120308,,,A*53
+$GPRMC,131524.00,A,5201.58555,N,00421.63590,E,46.800,323.41,120308,,,A*5B
+$GPRMC,131525.00,A,5201.59623,N,00421.62337,E,47.328,324.29,120308,,,A*5A
+$GPRMC,131526.00,A,5201.60709,N,00421.61107,E,47.754,325.09,120308,,,A*54
+$GPRMC,131527.00,A,5201.61804,N,00421.59871,E,48.440,325.01,120308,,,A*54
+$GPRMC,131528.00,A,5201.62902,N,00421.58613,E,48.681,324.55,120308,,,A*5B
+$GPRMC,131529.00,A,5201.63989,N,00421.57330,E,48.753,324.12,120308,,,A*5E
+$GPRMC,131530.00,A,5201.65070,N,00421.56041,E,49.006,323.97,120308,,,A*57
+$GPRMC,131531.00,A,5201.66165,N,00421.54743,E,49.227,324.03,120308,,,A*5C
+$GPRMC,131532.00,A,5201.67277,N,00421.53445,E,49.472,324.18,120308,,,A*50
+$GPRMC,131533.00,A,5201.68392,N,00421.52143,E,49.456,324.31,120308,,,A*5B
+$GPRMC,131534.00,A,5201.69513,N,00421.50851,E,49.538,324.48,120308,,,A*5D
+$GPRMC,131535.00,A,5201.70642,N,00421.49566,E,49.936,325.27,120308,,,A*58
+$GPRMC,131536.00,A,5201.71779,N,00421.48269,E,50.170,324.54,120308,,,A*5D
+$GPRMC,131537.00,A,5201.72920,N,00421.46946,E,50.661,324.37,120308,,,A*57
+$GPRMC,131538.00,A,5201.74071,N,00421.45610,E,51.106,324.45,120308,,,A*5E
+$GPRMC,131539.00,A,5201.75222,N,00421.44267,E,50.980,324.21,120308,,,A*5A
+$GPRMC,131540.00,A,5201.76355,N,00421.42934,E,49.927,324.16,120308,,,A*5C
+$GPRMC,131541.00,A,5201.77465,N,00421.41633,E,48.914,324.10,120308,,,A*54
+$GPRMC,131542.00,A,5201.78560,N,00421.40356,E,48.349,324.40,120308,,,A*5C
+$GPRMC,131543.00,A,5201.79645,N,00421.39103,E,47.868,324.61,120308,,,A*50
+$GPRMC,131544.00,A,5201.80728,N,00421.37883,E,47.218,325.76,120308,,,A*5E
+$GPRMC,131545.00,A,5201.81808,N,00421.36677,E,47.348,325.29,120308,,,A*59
+$GPRMC,131546.00,A,5201.82882,N,00421.35451,E,47.306,324.94,120308,,,A*53
+$GPRMC,131547.00,A,5201.83966,N,00421.34259,E,47.510,326.11,120308,,,A*59
+$GPRMC,131548.00,A,5201.85070,N,00421.33053,E,48.018,326.78,120308,,,A*5C
+$GPRMC,131549.00,A,5201.86191,N,00421.31846,E,48.541,327.40,120308,,,A*5D
+$GPRMC,131550.00,A,5201.87308,N,00421.30654,E,48.783,328.49,120308,,,A*50
+$GPRMC,131551.00,A,5201.88467,N,00421.29543,E,48.810,330.38,120308,,,A*57
+$GPRMC,131552.00,A,5201.89643,N,00421.28479,E,48.794,331.82,120308,,,A*5B
+$GPRMC,131553.00,A,5201.90829,N,00421.27470,E,48.808,333.33,120308,,,A*54
+$GPRMC,131554.00,A,5201.92028,N,00421.26562,E,48.243,335.02,120308,,,A*5A
+$GPRMC,131555.00,A,5201.93228,N,00421.25707,E,47.986,336.70,120308,,,A*51
+$GPRMC,131556.00,A,5201.94445,N,00421.24891,E,48.018,338.04,120308,,,A*55
+$GPRMC,131557.00,A,5201.95676,N,00421.24110,E,47.954,339.60,120308,,,A*5A
+$GPRMC,131558.00,A,5201.96920,N,00421.23354,E,47.905,340.71,120308,,,A*55
+$GPRMC,131559.00,A,5201.98179,N,00421.22647,E,47.940,341.99,120308,,,A*5E
+$GPRMC,131600.00,A,5201.99448,N,00421.21991,E,48.154,343.24,120308,,,A*56
+$GPRMC,131601.00,A,5202.00736,N,00421.21371,E,48.343,344.65,120308,,,A*5C
+$GPRMC,131602.00,A,5202.02034,N,00421.20815,E,48.376,346.00,120308,,,A*57
+$GPRMC,131603.00,A,5202.03341,N,00421.20327,E,48.460,347.47,120308,,,A*5E
+$GPRMC,131604.00,A,5202.04653,N,00421.19893,E,48.415,348.62,120308,,,A*5C
+$GPRMC,131605.00,A,5202.05967,N,00421.19495,E,48.365,349.51,120308,,,A*5F
+$GPRMC,131606.00,A,5202.07287,N,00421.19142,E,48.633,350.34,120308,,,A*59
+$GPRMC,131607.00,A,5202.08615,N,00421.18810,E,48.883,350.65,120308,,,A*56
+$GPRMC,131608.00,A,5202.09951,N,00421.18473,E,49.050,350.17,120308,,,A*5C
+$GPRMC,131609.00,A,5202.11290,N,00421.18109,E,49.323,349.68,120308,,,A*5D
+$GPRMC,131610.00,A,5202.12630,N,00421.17724,E,49.194,349.69,120308,,,A*51
+$GPRMC,131611.00,A,5202.13984,N,00421.17351,E,49.491,350.08,120308,,,A*58
+$GPRMC,131612.00,A,5202.15324,N,00421.16986,E,49.258,350.22,120308,,,A*57
+$GPRMC,131613.00,A,5202.16668,N,00421.16633,E,49.222,350.31,120308,,,A*56
+$GPRMC,131614.00,A,5202.18012,N,00421.16281,E,49.174,350.23,120308,,,A*5A
+$GPRMC,131615.00,A,5202.19359,N,00421.15922,E,49.303,350.20,120308,,,A*56
+$GPRMC,131616.00,A,5202.20714,N,00421.15573,E,49.578,350.64,120308,,,A*50
+$GPRMC,131617.00,A,5202.22076,N,00421.15237,E,49.608,351.20,120308,,,A*52
+$GPRMC,131618.00,A,5202.23446,N,00421.14935,E,49.878,352.31,120308,,,A*59
+$GPRMC,131619.00,A,5202.24833,N,00421.14675,E,50.205,353.66,120308,,,A*51
+$GPRMC,131620.00,A,5202.26229,N,00421.14462,E,50.398,354.89,120308,,,A*5F
+$GPRMC,131621.00,A,5202.27637,N,00421.14291,E,50.695,356.03,120308,,,A*56
+$GPRMC,131622.00,A,5202.29052,N,00421.14175,E,50.896,357.70,120308,,,A*5F
+$GPRMC,131623.00,A,5202.30474,N,00421.14118,E,51.183,358.88,120308,,,A*59
+$GPRMC,131624.00,A,5202.31907,N,00421.14092,E,51.461,359.16,120308,,,A*5A
+$GPRMC,131625.00,A,5202.33345,N,00421.14081,E,51.667,359.53,120308,,,A*52
+$GPRMC,131626.00,A,5202.34787,N,00421.14084,E,51.685,0.09,120308,,,A*55
+$GPRMC,131627.00,A,5202.36229,N,00421.14095,E,51.846,0.06,120308,,,A*59
+$GPRMC,131628.00,A,5202.37679,N,00421.14126,E,51.840,0.31,120308,,,A*5D
+$GPRMC,131629.00,A,5202.39123,N,00421.14166,E,52.072,0.21,120308,,,A*55
+$GPRMC,131630.00,A,5202.40565,N,00421.14190,E,52.148,0.00,120308,,,A*57
+$GPRMC,131631.00,A,5202.42012,N,00421.14184,E,51.923,359.91,120308,,,A*55
+$GPRMC,131632.00,A,5202.43454,N,00421.14194,E,51.680,0.17,120308,,,A*57
+$GPRMC,131633.00,A,5202.44885,N,00421.14227,E,51.389,0.93,120308,,,A*5A
+$GPRMC,131634.00,A,5202.46309,N,00421.14308,E,51.097,2.42,120308,,,A*5E
+$GPRMC,131635.00,A,5202.47729,N,00421.14444,E,51.001,3.89,120308,,,A*5E
+$GPRMC,131636.00,A,5202.49145,N,00421.14652,E,51.141,6.06,120308,,,A*5D
+$GPRMC,131637.00,A,5202.50549,N,00421.14954,E,51.065,8.24,120308,,,A*5C
+$GPRMC,131638.00,A,5202.51941,N,00421.15338,E,50.947,10.33,120308,,,A*60
+$GPRMC,131639.00,A,5202.53324,N,00421.15812,E,50.565,12.47,120308,,,A*64
+$GPRMC,131640.00,A,5202.54676,N,00421.16359,E,50.073,14.67,120308,,,A*6E
+$GPRMC,131641.00,A,5202.55999,N,00421.16991,E,49.183,16.87,120308,,,A*64
+$GPRMC,131642.00,A,5202.57276,N,00421.17691,E,47.925,19.25,120308,,,A*6C
+$GPRMC,131643.00,A,5202.58504,N,00421.18459,E,46.945,21.61,120308,,,A*65
+$GPRMC,131644.00,A,5202.59695,N,00421.19283,E,46.313,23.24,120308,,,A*62
+$GPRMC,131645.00,A,5202.60857,N,00421.20146,E,45.790,24.73,120308,,,A*60
+$GPRMC,131646.00,A,5202.61987,N,00421.21060,E,45.266,26.88,120308,,,A*60
+$GPRMC,131647.00,A,5202.63065,N,00421.22035,E,44.975,28.58,120308,,,A*6E
+$GPRMC,131648.00,A,5202.64126,N,00421.23061,E,44.764,30.65,120308,,,A*69
+$GPRMC,131649.00,A,5202.65157,N,00421.24132,E,44.510,32.62,120308,,,A*6B
+$GPRMC,131650.00,A,5202.66166,N,00421.25249,E,44.403,34.27,120308,,,A*68
+$GPRMC,131651.00,A,5202.67164,N,00421.26424,E,45.108,36.16,120308,,,A*6B
+$GPRMC,131652.00,A,5202.68170,N,00421.27669,E,46.296,37.38,120308,,,A*62
+$GPRMC,131653.00,A,5202.69198,N,00421.28966,E,47.523,37.73,120308,,,A*6C
+$GPRMC,131654.00,A,5202.70243,N,00421.30305,E,48.462,38.11,120308,,,A*60
+$GPRMC,131655.00,A,5202.71298,N,00421.31668,E,48.580,38.41,120308,,,A*61
+$GPRMC,131656.00,A,5202.72344,N,00421.33033,E,47.996,38.72,120308,,,A*6F
+$GPRMC,131657.00,A,5202.73376,N,00421.34382,E,47.575,39.05,120308,,,A*60
+$GPRMC,131658.00,A,5202.74394,N,00421.35745,E,47.399,39.77,120308,,,A*6B
+$GPRMC,131659.00,A,5202.75407,N,00421.37146,E,48.013,40.27,120308,,,A*64
+$GPRMC,131700.00,A,5202.76431,N,00421.38574,E,48.815,40.33,120308,,,A*6E
+$GPRMC,131701.00,A,5202.77467,N,00421.40015,E,49.283,40.51,120308,,,A*60
+$GPRMC,131702.00,A,5202.78508,N,00421.41475,E,49.582,40.36,120308,,,A*60
+$GPRMC,131703.00,A,5202.79556,N,00421.42935,E,49.638,40.13,120308,,,A*64
+$GPRMC,131704.00,A,5202.80608,N,00421.44391,E,49.810,40.08,120308,,,A*61
+$GPRMC,131705.00,A,5202.81669,N,00421.45856,E,50.085,40.16,120308,,,A*64
+$GPRMC,131706.00,A,5202.82732,N,00421.47329,E,50.166,40.35,120308,,,A*67
+$GPRMC,131707.00,A,5202.83795,N,00421.48808,E,50.227,40.44,120308,,,A*6D
+$GPRMC,131708.00,A,5202.84858,N,00421.50293,E,50.361,40.51,120308,,,A*6D
+$GPRMC,131709.00,A,5202.85932,N,00421.51790,E,51.045,40.35,120308,,,A*61
+$GPRMC,131710.00,A,5202.87025,N,00421.53307,E,51.967,40.29,120308,,,A*68
+$GPRMC,131711.00,A,5202.88133,N,00421.54836,E,52.236,40.16,120308,,,A*6E
+$GPRMC,131712.00,A,5202.89259,N,00421.56370,E,53.040,39.52,120308,,,A*64
+$GPRMC,131713.00,A,5202.90408,N,00421.57903,E,53.843,39.07,120308,,,A*6B
+$GPRMC,131714.00,A,5202.91585,N,00421.59447,E,54.676,38.56,120308,,,A*60
+$GPRMC,131715.00,A,5202.92783,N,00421.61001,E,55.437,38.53,120308,,,A*68
+$GPRMC,131716.00,A,5202.93996,N,00421.62580,E,56.254,38.78,120308,,,A*66
+$GPRMC,131717.00,A,5202.95215,N,00421.64195,E,56.752,39.55,120308,,,A*6A
+$GPRMC,131718.00,A,5202.96431,N,00421.65845,E,56.972,40.13,120308,,,A*63
+$GPRMC,131719.00,A,5202.97643,N,00421.67523,E,57.193,40.59,120308,,,A*63
+$GPRMC,131720.00,A,5202.98851,N,00421.69213,E,57.306,40.61,120308,,,A*64
+$GPRMC,131721.00,A,5203.00058,N,00421.70894,E,56.926,40.29,120308,,,A*6C
+$GPRMC,131722.00,A,5203.01258,N,00421.72552,E,56.418,40.37,120308,,,A*66
+$GPRMC,131723.00,A,5203.02444,N,00421.74202,E,55.844,40.34,120308,,,A*6E
+$GPRMC,131724.00,A,5203.03601,N,00421.75844,E,55.318,40.42,120308,,,A*61
+$GPRMC,131725.00,A,5203.04750,N,00421.77475,E,54.748,40.87,120308,,,A*67
+$GPRMC,131726.00,A,5203.05883,N,00421.79118,E,54.551,41.83,120308,,,A*6B
+$GPRMC,131727.00,A,5203.07004,N,00421.80789,E,54.773,42.72,120308,,,A*68
+$GPRMC,131728.00,A,5203.08115,N,00421.82485,E,54.850,43.41,120308,,,A*6B
+$GPRMC,131729.00,A,5203.09210,N,00421.84208,E,54.833,44.46,120308,,,A*6D
+$GPRMC,131730.00,A,5203.10289,N,00421.85960,E,54.914,45.27,120308,,,A*6B
+$GPRMC,131731.00,A,5203.11361,N,00421.87726,E,54.905,45.35,120308,,,A*61
+$GPRMC,131732.00,A,5203.12433,N,00421.89487,E,54.759,45.25,120308,,,A*61
+$GPRMC,131733.00,A,5203.13501,N,00421.91248,E,54.726,45.62,120308,,,A*66
+$GPRMC,131734.00,A,5203.14567,N,00421.93009,E,54.733,45.45,120308,,,A*62
+$GPRMC,131735.00,A,5203.15648,N,00421.94747,E,54.762,44.26,120308,,,A*66
+$GPRMC,131736.00,A,5203.16758,N,00421.96439,E,54.837,42.54,120308,,,A*62
+$GPRMC,131737.00,A,5203.17897,N,00421.98070,E,54.525,40.80,120308,,,A*6C
+$GPRMC,131738.00,A,5203.19062,N,00421.99607,E,53.779,37.86,120308,,,A*62
+$GPRMC,131739.00,A,5203.20255,N,00422.01029,E,52.929,35.05,120308,,,A*64
+$GPRMC,131740.00,A,5203.21470,N,00422.02319,E,52.056,31.45,120308,,,A*68
+$GPRMC,131741.00,A,5203.22707,N,00422.03472,E,50.944,28.56,120308,,,A*60
+$GPRMC,131742.00,A,5203.23949,N,00422.04515,E,50.035,26.27,120308,,,A*66
+$GPRMC,131743.00,A,5203.25191,N,00422.05486,E,49.468,25.41,120308,,,A*61
+$GPRMC,131744.00,A,5203.26419,N,00422.06446,E,49.232,26.07,120308,,,A*67
+$GPRMC,131745.00,A,5203.27636,N,00422.07421,E,49.024,26.42,120308,,,A*6C
+$GPRMC,131746.00,A,5203.28851,N,00422.08401,E,49.024,26.53,120308,,,A*62
+$GPRMC,131747.00,A,5203.30068,N,00422.09386,E,49.205,26.60,120308,,,A*60
+$GPRMC,131748.00,A,5203.31290,N,00422.10382,E,49.479,26.84,120308,,,A*60
+$GPRMC,131749.00,A,5203.32510,N,00422.11407,E,49.681,27.94,120308,,,A*63
+$GPRMC,131750.00,A,5203.33721,N,00422.12480,E,50.035,29.13,120308,,,A*66
+$GPRMC,131751.00,A,5203.34934,N,00422.13592,E,50.309,30.13,120308,,,A*6D
+$GPRMC,131752.00,A,5203.36145,N,00422.14747,E,51.046,30.97,120308,,,A*6A
+$GPRMC,131753.00,A,5203.37364,N,00422.15945,E,51.685,31.73,120308,,,A*64
+$GPRMC,131754.00,A,5203.38591,N,00422.17175,E,52.177,31.98,120308,,,A*65
+$GPRMC,131755.00,A,5203.39823,N,00422.18419,E,52.376,32.09,120308,,,A*69
+$GPRMC,131756.00,A,5203.41054,N,00422.19673,E,52.381,32.41,120308,,,A*66
+$GPRMC,131757.00,A,5203.42284,N,00422.20940,E,52.479,32.74,120308,,,A*68
+$GPRMC,131758.00,A,5203.43513,N,00422.22219,E,52.732,32.84,120308,,,A*69
+$GPRMC,131759.00,A,5203.44745,N,00422.23510,E,52.850,33.19,120308,,,A*6F
+$GPRMC,131800.00,A,5203.45973,N,00422.24817,E,52.965,33.57,120308,,,A*66
+$GPRMC,131801.00,A,5203.47197,N,00422.26140,E,52.930,34.01,120308,,,A*6A
+$GPRMC,131802.00,A,5203.48412,N,00422.27481,E,52.963,34.52,120308,,,A*67
+$GPRMC,131803.00,A,5203.49625,N,00422.28837,E,53.112,34.74,120308,,,A*64
+$GPRMC,131804.00,A,5203.50839,N,00422.30202,E,53.347,34.84,120308,,,A*60
+$GPRMC,131805.00,A,5203.52054,N,00422.31575,E,53.386,34.86,120308,,,A*69
+$GPRMC,131806.00,A,5203.53262,N,00422.32961,E,53.379,35.18,120308,,,A*60
+$GPRMC,131807.00,A,5203.54469,N,00422.34352,E,53.278,35.40,120308,,,A*6A
+$GPRMC,131808.00,A,5203.55672,N,00422.35745,E,53.189,35.65,120308,,,A*65
+$GPRMC,131809.00,A,5203.56868,N,00422.37139,E,52.898,35.81,120308,,,A*6F
+$GPRMC,131810.00,A,5203.58058,N,00422.38525,E,52.641,35.64,120308,,,A*65
+$GPRMC,131811.00,A,5203.59245,N,00422.39901,E,52.435,35.58,120308,,,A*6E
+$GPRMC,131812.00,A,5203.60428,N,00422.41271,E,52.376,35.56,120308,,,A*67
+$GPRMC,131813.00,A,5203.61612,N,00422.42639,E,52.376,35.50,120308,,,A*61
+$GPRMC,131814.00,A,5203.62802,N,00422.44002,E,52.493,35.06,120308,,,A*6D
+$GPRMC,131815.00,A,5203.63997,N,00422.45359,E,52.750,35.04,120308,,,A*62
+$GPRMC,131816.00,A,5203.65193,N,00422.46731,E,52.984,35.10,120308,,,A*60
+$GPRMC,131817.00,A,5203.66395,N,00422.48106,E,53.190,35.36,120308,,,A*62
+$GPRMC,131818.00,A,5203.67597,N,00422.49496,E,53.413,35.58,120308,,,A*63
+$GPRMC,131819.00,A,5203.68806,N,00422.50897,E,53.658,35.55,120308,,,A*6D
+$GPRMC,131820.00,A,5203.70020,N,00422.52323,E,53.922,36.14,120308,,,A*60
+$GPRMC,131821.00,A,5203.71248,N,00422.53696,E,53.497,34.18,120308,,,A*6B
+$GPRMC,131822.00,A,5203.72488,N,00422.55053,E,53.432,33.80,120308,,,A*61
+$GPRMC,131823.00,A,5203.73731,N,00422.56403,E,53.496,34.40,120308,,,A*67
+$GPRMC,131824.00,A,5203.74970,N,00422.57811,E,53.186,34.31,120308,,,A*60
+$GPRMC,131825.00,A,5203.76116,N,00422.59279,E,53.111,35.62,120308,,,A*68
+$GPRMC,131826.00,A,5203.77300,N,00422.60670,E,53.098,35.67,120308,,,A*6D
+$GPRMC,131827.00,A,5203.78484,N,00422.62057,E,52.967,35.56,120308,,,A*63
+$GPRMC,131828.00,A,5203.79673,N,00422.63444,E,52.770,35.43,120308,,,A*6C
+$GPRMC,131829.00,A,5203.80861,N,00422.64829,E,52.573,35.54,120308,,,A*61
+$GPRMC,131830.00,A,5203.82037,N,00422.66209,E,52.282,35.85,120308,,,A*6F
+$GPRMC,131831.00,A,5203.83210,N,00422.67584,E,51.989,35.54,120308,,,A*64
+$GPRMC,131832.00,A,5203.84385,N,00422.68937,E,51.593,35.23,120308,,,A*61
+$GPRMC,131833.00,A,5203.85556,N,00422.70266,E,51.233,35.01,120308,,,A*62
+$GPRMC,131834.00,A,5203.86711,N,00422.71585,E,50.767,35.34,120308,,,A*6F
+$GPRMC,131835.00,A,5203.87844,N,00422.72900,E,50.131,35.69,120308,,,A*6F
+$GPRMC,131836.00,A,5203.88962,N,00422.74201,E,49.317,35.80,120308,,,A*63
+$GPRMC,131837.00,A,5203.90060,N,00422.75492,E,48.596,36.31,120308,,,A*6A
+$GPRMC,131838.00,A,5203.91133,N,00422.76783,E,47.889,36.89,120308,,,A*6C
+$GPRMC,131839.00,A,5203.92181,N,00422.78062,E,47.134,37.48,120308,,,A*62
+$GPRMC,131840.00,A,5203.93203,N,00422.79344,E,46.387,38.25,120308,,,A*6D
+$GPRMC,131841.00,A,5203.94198,N,00422.80625,E,45.516,38.72,120308,,,A*61
+$GPRMC,131842.00,A,5203.95166,N,00422.81887,E,44.435,38.86,120308,,,A*6F
+$GPRMC,131843.00,A,5203.96101,N,00422.83121,E,42.819,39.30,120308,,,A*63
+$GPRMC,131844.00,A,5203.97002,N,00422.84333,E,41.884,39.95,120308,,,A*69
+$GPRMC,131845.00,A,5203.97875,N,00422.85538,E,41.080,40.55,120308,,,A*62
+$GPRMC,131846.00,A,5203.98720,N,00422.86732,E,39.954,41.34,120308,,,A*63
+$GPRMC,131847.00,A,5203.99538,N,00422.87937,E,40.113,42.65,120308,,,A*60
+$GPRMC,131848.00,A,5204.00347,N,00422.89175,E,40.398,43.32,120308,,,A*64
+$GPRMC,131849.00,A,5204.01158,N,00422.90433,E,40.698,43.68,120308,,,A*6D
+$GPRMC,131850.00,A,5204.01972,N,00422.91710,E,41.103,44.06,120308,,,A*6D
+$GPRMC,131851.00,A,5204.02794,N,00422.93027,E,42.197,44.90,120308,,,A*69
+$GPRMC,131852.00,A,5204.03623,N,00422.94396,E,43.119,45.77,120308,,,A*67
+$GPRMC,131853.00,A,5204.04446,N,00422.95797,E,42.817,46.51,120308,,,A*65
+$GPRMC,131854.00,A,5204.05259,N,00422.97197,E,42.618,46.68,120308,,,A*64
+$GPRMC,131855.00,A,5204.06067,N,00422.98591,E,42.318,46.57,120308,,,A*6D
+$GPRMC,131856.00,A,5204.06870,N,00422.99974,E,42.033,46.54,120308,,,A*6F
+$GPRMC,131857.00,A,5204.07671,N,00423.01340,E,41.683,46.08,120308,,,A*6A
+$GPRMC,131858.00,A,5204.08443,N,00423.02672,E,41.097,46.14,120308,,,A*60
+$GPRMC,131859.00,A,5204.09224,N,00423.04014,E,40.984,46.22,120308,,,A*68
+$GPRMC,131900.00,A,5204.10006,N,00423.05357,E,41.108,46.25,120308,,,A*60
+$GPRMC,131901.00,A,5204.10785,N,00423.06698,E,40.719,46.54,120308,,,A*69
+$GPRMC,131902.00,A,5204.11543,N,00423.08031,E,39.904,47.47,120308,,,A*67
+$GPRMC,131903.00,A,5204.12269,N,00423.09362,E,39.196,48.69,120308,,,A*6E
+$GPRMC,131904.00,A,5204.12969,N,00423.10693,E,38.472,49.80,120308,,,A*69
+$GPRMC,131905.00,A,5204.13645,N,00423.12015,E,37.727,50.15,120308,,,A*6A
+$GPRMC,131906.00,A,5204.14311,N,00423.13301,E,36.858,49.32,120308,,,A*66
+$GPRMC,131907.00,A,5204.14974,N,00423.14547,E,36.343,49.03,120308,,,A*6E
+$GPRMC,131908.00,A,5204.15630,N,00423.15779,E,35.998,49.25,120308,,,A*6A
+$GPRMC,131909.00,A,5204.16275,N,00423.17031,E,36.565,50.60,120308,,,A*60
+$GPRMC,131910.00,A,5204.16924,N,00423.18345,E,38.112,51.95,120308,,,A*69
+$GPRMC,131911.00,A,5204.17581,N,00423.19734,E,39.434,52.69,120308,,,A*69
+$GPRMC,131912.00,A,5204.18247,N,00423.21165,E,40.188,52.83,120308,,,A*69
+$GPRMC,131913.00,A,5204.18932,N,00423.22619,E,40.933,52.14,120308,,,A*68
+$GPRMC,131914.00,A,5204.19645,N,00423.24091,E,41.957,51.50,120308,,,A*61
+$GPRMC,131915.00,A,5204.20378,N,00423.25596,E,42.907,51.65,120308,,,A*62
+$GPRMC,131916.00,A,5204.21118,N,00423.27141,E,43.697,52.42,120308,,,A*69
+$GPRMC,131917.00,A,5204.21860,N,00423.28734,E,44.503,53.19,120308,,,A*63
+$GPRMC,131918.00,A,5204.22602,N,00423.30371,E,45.210,53.80,120308,,,A*6D
+$GPRMC,131919.00,A,5204.23343,N,00423.32044,E,45.850,54.37,120308,,,A*6F
+$GPRMC,131920.00,A,5204.24086,N,00423.33747,E,46.412,54.69,120308,,,A*6F
+$GPRMC,131921.00,A,5204.24828,N,00423.35475,E,46.552,55.18,120308,,,A*64
+$GPRMC,131922.00,A,5204.25559,N,00423.37213,E,46.399,55.82,120308,,,A*6B
+$GPRMC,131923.00,A,5204.26273,N,00423.38944,E,46.099,56.14,120308,,,A*6F
+$GPRMC,131924.00,A,5204.26973,N,00423.40671,E,45.483,57.13,120308,,,A*6F
+$GPRMC,131925.00,A,5204.27658,N,00423.42350,E,44.487,56.85,120308,,,A*66
+$GPRMC,131926.00,A,5204.28335,N,00423.44026,E,44.191,56.69,120308,,,A*60
+$GPRMC,131927.00,A,5204.29009,N,00423.45675,E,42.915,56.34,120308,,,A*67
+$GPRMC,131928.00,A,5204.29531,N,00423.47344,E,41.633,57.40,120308,,,A*69
+$GPRMC,131929.00,A,5204.30146,N,00423.48933,E,41.595,56.67,120308,,,A*6A
+$GPRMC,131930.00,A,5204.30777,N,00423.50500,E,41.251,56.60,120308,,,A*6B
+$GPRMC,131931.00,A,5204.31397,N,00423.52019,E,40.188,56.56,120308,,,A*6D
+$GPRMC,131932.00,A,5204.31997,N,00423.53507,E,38.982,56.55,120308,,,A*61
+$GPRMC,131933.00,A,5204.32579,N,00423.54948,E,38.090,56.63,120308,,,A*60
+$GPRMC,131934.00,A,5204.33152,N,00423.56371,E,37.781,56.84,120308,,,A*68
+$GPRMC,131935.00,A,5204.33717,N,00423.57787,E,37.459,56.80,120308,,,A*60
+$GPRMC,131936.00,A,5204.34281,N,00423.59192,E,37.400,57.01,120308,,,A*66
+$GPRMC,131937.00,A,5204.34843,N,00423.60603,E,37.599,57.18,120308,,,A*6F
+$GPRMC,131938.00,A,5204.35406,N,00423.62020,E,37.857,57.70,120308,,,A*68
+$GPRMC,131939.00,A,5204.35962,N,00423.63452,E,37.882,58.48,120308,,,A*6A
+$GPRMC,131940.00,A,5204.36508,N,00423.64898,E,37.695,59.09,120308,,,A*66
+$GPRMC,131941.00,A,5204.37049,N,00423.66357,E,37.516,59.48,120308,,,A*61
+$GPRMC,131942.00,A,5204.37572,N,00423.67794,E,37.053,59.71,120308,,,A*6B
+$GPRMC,131943.00,A,5204.38088,N,00423.69219,E,36.687,59.93,120308,,,A*69
+$GPRMC,131944.00,A,5204.38598,N,00423.70629,E,36.323,60.07,120308,,,A*69
+$GPRMC,131945.00,A,5204.39099,N,00423.72034,E,36.038,60.30,120308,,,A*68
+$GPRMC,131946.00,A,5204.39594,N,00423.73420,E,35.674,60.44,120308,,,A*6D
+$GPRMC,131947.00,A,5204.40070,N,00423.74812,E,34.935,61.20,120308,,,A*6F
+$GPRMC,131948.00,A,5204.40526,N,00423.76206,E,34.651,61.65,120308,,,A*67
+$GPRMC,131949.00,A,5204.40934,N,00423.77577,E,33.582,61.18,120308,,,A*69
+$GPRMC,131950.00,A,5204.41356,N,00423.78889,E,32.471,61.55,120308,,,A*68
+$GPRMC,131951.00,A,5204.41744,N,00423.80128,E,30.196,62.56,120308,,,A*65
+$GPRMC,131952.00,A,5204.42083,N,00423.81278,E,27.328,64.15,120308,,,A*6E
+$GPRMC,131953.00,A,5204.42362,N,00423.82341,E,24.879,68.10,120308,,,A*6E
+$GPRMC,131954.00,A,5204.42573,N,00423.83321,E,23.460,77.00,120308,,,A*64
+$GPRMC,131955.00,A,5204.42648,N,00423.84325,E,22.867,88.91,120308,,,A*6F
+$GPRMC,131956.00,A,5204.42605,N,00423.85295,E,21.741,99.98,120308,,,A*6F
+$GPRMC,131957.00,A,5204.42350,N,00423.86263,E,23.630,116.01,120308,,,A*52
+$GPRMC,131958.00,A,5204.41956,N,00423.87155,E,24.773,129.42,120308,,,A*5F
+$GPRMC,131959.00,A,5204.41423,N,00423.87922,E,26.088,141.50,120308,,,A*55
+$GPRMC,132000.00,A,5204.40785,N,00423.88468,E,26.226,156.12,120308,,,A*57
+$GPRMC,132001.00,A,5204.40094,N,00423.88755,E,25.239,171.24,120308,,,A*51
+$GPRMC,132002.00,A,5204.39428,N,00423.88756,E,22.587,184.83,120308,,,A*5E
+$GPRMC,132003.00,A,5204.38853,N,00423.88539,E,19.367,197.61,120308,,,A*5B
+$GPRMC,132004.00,A,5204.38387,N,00423.88185,E,17.429,207.51,120308,,,A*57
+$GPRMC,132005.00,A,5204.38007,N,00423.87754,E,15.030,215.04,120308,,,A*55
+$GPRMC,132006.00,A,5204.37706,N,00423.87364,E,11.982,220.98,120308,,,A*5F
+$GPRMC,132007.00,A,5204.37503,N,00423.87056,E,7.218,223.69,120308,,,A*69
+$GPRMC,132008.00,A,5204.37412,N,00423.86875,E,2.364,224.05,120308,,,A*6D
+$GPRMC,132009.00,A,5204.37395,N,00423.86805,E,0.116,224.09,120308,,,A*6A
+$GPRMC,132010.00,A,5204.37396,N,00423.86778,E,0.016,,120308,,,A*76
+$GPRMC,132011.00,A,5204.37402,N,00423.86764,E,0.015,,120308,,,A*73
+$GPRMC,132012.00,A,5204.37404,N,00423.86751,E,0.009,,120308,,,A*7D
+$GPRMC,132013.00,A,5204.37405,N,00423.86739,E,0.011,,120308,,,A*7A
+$GPRMC,132014.00,A,5204.37407,N,00423.86730,E,0.020,222.09,120308,,,A*61
+$GPRMC,132015.00,A,5204.37407,N,00423.86719,E,0.008,,120308,,,A*74
+$GPRMC,132016.00,A,5204.37409,N,00423.86711,E,0.035,226.52,120308,,,A*60
+$GPRMC,132017.00,A,5204.37404,N,00423.86701,E,0.315,223.87,120308,,,A*61
+$GPRMC,132018.00,A,5204.37373,N,00423.86651,E,2.560,223.82,120308,,,A*6E
+$GPRMC,132019.00,A,5204.37317,N,00423.86553,E,2.944,225.24,120308,,,A*6C
+$GPRMC,132020.00,A,5204.37264,N,00423.86459,E,2.305,225.10,120308,,,A*60
+$GPRMC,132021.00,A,5204.37209,N,00423.86362,E,3.135,225.50,120308,,,A*61
+$GPRMC,132022.00,A,5204.37108,N,00423.86192,E,6.775,225.54,120308,,,A*6E
+$GPRMC,132023.00,A,5204.36940,N,00423.85898,E,10.505,226.52,120308,,,A*5D
+$GPRMC,132024.00,A,5204.36706,N,00423.85481,E,14.065,227.12,120308,,,A*50
+$GPRMC,132025.00,A,5204.36436,N,00423.84994,E,14.398,227.99,120308,,,A*5B
+$GPRMC,132026.00,A,5204.36171,N,00423.84508,E,14.073,228.96,120308,,,A*51
+$GPRMC,132027.00,A,5204.35911,N,00423.84014,E,14.313,229.58,120308,,,A*53
+$GPRMC,132028.00,A,5204.35657,N,00423.83500,E,14.591,233.35,120308,,,A*5A
+$GPRMC,132029.00,A,5204.35467,N,00423.82922,E,14.338,250.95,120308,,,A*5D
+$GPRMC,132030.00,A,5204.35425,N,00423.82278,E,14.666,274.72,120308,,,A*56
+$GPRMC,132031.00,A,5204.35565,N,00423.81642,E,15.540,301.40,120308,,,A*58
+$GPRMC,132032.00,A,5204.35849,N,00423.81068,E,17.402,314.99,120308,,,A*53
+$GPRMC,132033.00,A,5204.36229,N,00423.80461,E,20.192,314.82,120308,,,A*53
+$GPRMC,132034.00,A,5204.36656,N,00423.79767,E,22.461,314.55,120308,,,A*5A
+$GPRMC,132035.00,A,5204.37110,N,00423.79040,E,22.625,315.12,120308,,,A*5D
+$GPRMC,132036.00,A,5204.37588,N,00423.78283,E,24.526,315.34,120308,,,A*55
+$GPRMC,132037.00,A,5204.38108,N,00423.77464,E,26.647,315.99,120308,,,A*56
+$GPRMC,132038.00,A,5204.38678,N,00423.76580,E,28.803,316.53,120308,,,A*56
+$GPRMC,132039.00,A,5204.39291,N,00423.75663,E,30.266,317.85,120308,,,A*52
+$GPRMC,132040.00,A,5204.39932,N,00423.74718,E,30.963,317.71,120308,,,A*57
+$GPRMC,132041.00,A,5204.40586,N,00423.73757,E,31.334,318.12,120308,,,A*54
+$GPRMC,132042.00,A,5204.41256,N,00423.72788,E,32.133,317.75,120308,,,A*57
+$GPRMC,132043.00,A,5204.41933,N,00423.71776,E,33.039,317.11,120308,,,A*54
+$GPRMC,132044.00,A,5204.42602,N,00423.70738,E,33.039,315.94,120308,,,A*59
+$GPRMC,132045.00,A,5204.43259,N,00423.69695,E,32.315,315.42,120308,,,A*5A
+$GPRMC,132046.00,A,5204.43911,N,00423.68670,E,31.947,315.65,120308,,,A*5F
+$GPRMC,132047.00,A,5204.44547,N,00423.67670,E,31.338,316.12,120308,,,A*58
+$GPRMC,132048.00,A,5204.45202,N,00423.66672,E,31.906,316.76,120308,,,A*56
+$GPRMC,132049.00,A,5204.45859,N,00423.65696,E,31.172,317.62,120308,,,A*55
+$GPRMC,132050.00,A,5204.46503,N,00423.64769,E,30.141,317.95,120308,,,A*55
+$GPRMC,132051.00,A,5204.47114,N,00423.63903,E,27.978,318.40,120308,,,A*51
+$GPRMC,132052.00,A,5204.47683,N,00423.63122,E,25.489,319.84,120308,,,A*58
+$GPRMC,132053.00,A,5204.48099,N,00423.62376,E,22.758,308.54,120308,,,A*5C
+$GPRMC,132054.00,A,5204.48313,N,00423.61506,E,21.140,289.66,120308,,,A*5D
+$GPRMC,132055.00,A,5204.48374,N,00423.60565,E,21.350,268.05,120308,,,A*50
+$GPRMC,132056.00,A,5204.48194,N,00423.59614,E,22.174,245.44,120308,,,A*5D
+$GPRMC,132057.00,A,5204.47828,N,00423.58765,E,23.205,229.90,120308,,,A*5C
+$GPRMC,132058.00,A,5204.47341,N,00423.57984,E,24.642,223.54,120308,,,A*5B
+$GPRMC,132059.00,A,5204.46789,N,00423.57236,E,25.795,218.83,120308,,,A*51
+$GPRMC,132100.00,A,5204.46176,N,00423.56553,E,26.615,212.10,120308,,,A*55
+$GPRMC,132101.00,A,5204.45499,N,00423.55984,E,27.149,204.21,120308,,,A*5C
+$GPRMC,132102.00,A,5204.44774,N,00423.55564,E,27.726,196.99,120308,,,A*58
+$GPRMC,132103.00,A,5204.44003,N,00423.55297,E,28.177,189.02,120308,,,A*54
+$GPRMC,132104.00,A,5204.43199,N,00423.55156,E,28.723,184.86,120308,,,A*5E
+$GPRMC,132105.00,A,5204.42380,N,00423.55065,E,29.001,184.41,120308,,,A*58
+$GPRMC,132106.00,A,5204.41563,N,00423.54959,E,29.223,186.35,120308,,,A*57
+$GPRMC,132107.00,A,5204.40749,N,00423.54779,E,29.340,190.65,120308,,,A*57
+$GPRMC,132108.00,A,5204.39948,N,00423.54494,E,29.344,195.24,120308,,,A*5D
+$GPRMC,132109.00,A,5204.39163,N,00423.54102,E,29.477,199.14,120308,,,A*5F
+$GPRMC,132110.00,A,5204.38402,N,00423.53614,E,29.456,203.73,120308,,,A*51
+$GPRMC,132111.00,A,5204.37666,N,00423.53015,E,29.449,208.85,120308,,,A*54
+$GPRMC,132112.00,A,5204.36965,N,00423.52319,E,29.139,213.15,120308,,,A*55
+$GPRMC,132113.00,A,5204.36305,N,00423.51552,E,29.177,217.26,120308,,,A*5C
+$GPRMC,132114.00,A,5204.35674,N,00423.50704,E,29.631,221.10,120308,,,A*5E
+$GPRMC,132115.00,A,5204.35068,N,00423.49777,E,30.020,225.08,120308,,,A*5B
+$GPRMC,132116.00,A,5204.34495,N,00423.48769,E,30.691,228.94,120308,,,A*55
+$GPRMC,132117.00,A,5204.33934,N,00423.47661,E,32.268,231.68,120308,,,A*58
+$GPRMC,132118.00,A,5204.33378,N,00423.46459,E,34.236,233.77,120308,,,A*5C
+$GPRMC,132119.00,A,5204.32798,N,00423.45164,E,36.556,233.99,120308,,,A*5D
+$GPRMC,132120.00,A,5204.32175,N,00423.43779,E,39.218,233.45,120308,,,A*5D
+$GPRMC,132121.00,A,5204.31498,N,00423.42303,E,41.781,232.96,120308,,,A*54
+$GPRMC,132122.00,A,5204.30790,N,00423.40777,E,42.782,233.13,120308,,,A*54
+$GPRMC,132123.00,A,5204.30073,N,00423.39209,E,43.316,233.04,120308,,,A*53
+$GPRMC,132124.00,A,5204.29262,N,00423.37582,E,44.678,231.41,120308,,,A*5D
+$GPRMC,132125.00,A,5204.28544,N,00423.35784,E,45.679,235.50,120308,,,A*5C
+$GPRMC,132126.00,A,5204.27800,N,00423.33986,E,45.838,235.95,120308,,,A*55
+$GPRMC,132127.00,A,5204.27043,N,00423.32164,E,46.548,236.41,120308,,,A*5D
+$GPRMC,132128.00,A,5204.26301,N,00423.30338,E,47.090,236.83,120308,,,A*50
+$GPRMC,132129.00,A,5204.25562,N,00423.28504,E,47.385,236.50,120308,,,A*58
+$GPRMC,132130.00,A,5204.24821,N,00423.26673,E,47.577,236.38,120308,,,A*53
+$GPRMC,132131.00,A,5204.24076,N,00423.24853,E,47.598,236.14,120308,,,A*59
+$GPRMC,132132.00,A,5204.23328,N,00423.23046,E,47.552,235.80,120308,,,A*56
+$GPRMC,132133.00,A,5204.22582,N,00423.21245,E,47.380,235.80,120308,,,A*5A
+$GPRMC,132134.00,A,5204.21839,N,00423.19484,E,46.783,235.07,120308,,,A*5A
+$GPRMC,132135.00,A,5204.21092,N,00423.17739,E,46.575,235.31,120308,,,A*57
+$GPRMC,132136.00,A,5204.20346,N,00423.16007,E,46.677,234.95,120308,,,A*5A
+$GPRMC,132137.00,A,5204.19597,N,00423.14291,E,46.502,234.50,120308,,,A*5C
+$GPRMC,132138.00,A,5204.18839,N,00423.12595,E,46.431,233.93,120308,,,A*57
+$GPRMC,132139.00,A,5204.18076,N,00423.10918,E,46.175,233.40,120308,,,A*55
+$GPRMC,132140.00,A,5204.17306,N,00423.09268,E,45.835,232.54,120308,,,A*5E
+$GPRMC,132141.00,A,5204.16528,N,00423.07656,E,45.257,231.71,120308,,,A*59
+$GPRMC,132142.00,A,5204.15744,N,00423.06067,E,45.279,231.06,120308,,,A*58
+$GPRMC,132143.00,A,5204.14946,N,00423.04501,E,45.325,230.07,120308,,,A*5B
+$GPRMC,132144.00,A,5204.14131,N,00423.02955,E,45.385,229.10,120308,,,A*5B
+$GPRMC,132145.00,A,5204.13302,N,00423.01418,E,45.504,228.75,120308,,,A*55
+$GPRMC,132146.00,A,5204.12459,N,00422.99894,E,45.567,227.60,120308,,,A*58
+$GPRMC,132147.00,A,5204.11595,N,00422.98384,E,45.715,226.86,120308,,,A*5E
+$GPRMC,132148.00,A,5204.10726,N,00422.96883,E,45.532,226.27,120308,,,A*54
+$GPRMC,132149.00,A,5204.09858,N,00422.95409,E,45.005,226.41,120308,,,A*57
+$GPRMC,132150.00,A,5204.08951,N,00422.93978,E,45.335,224.82,120308,,,A*56
+$GPRMC,132151.00,A,5204.08023,N,00422.92593,E,45.210,223.70,120308,,,A*5F
+$GPRMC,132152.00,A,5204.07080,N,00422.91204,E,45.911,222.66,120308,,,A*5C
+$GPRMC,132153.00,A,5204.06116,N,00422.89822,E,46.284,221.01,120308,,,A*53
+$GPRMC,132154.00,A,5204.05126,N,00422.88466,E,46.570,219.40,120308,,,A*5B
+$GPRMC,132155.00,A,5204.04115,N,00422.87149,E,46.618,218.27,120308,,,A*51
+$GPRMC,132156.00,A,5204.03086,N,00422.85868,E,46.649,217.65,120308,,,A*5B
+$GPRMC,132157.00,A,5204.02053,N,00422.84610,E,46.437,216.99,120308,,,A*5A
+$GPRMC,132158.00,A,5204.01017,N,00422.83389,E,45.807,215.91,120308,,,A*53
+$GPRMC,132159.00,A,5203.99980,N,00422.82209,E,45.222,214.94,120308,,,A*52
+$GPRMC,132200.00,A,5203.98961,N,00422.81080,E,44.562,214.58,120308,,,A*51
+$GPRMC,132201.00,A,5203.97938,N,00422.79960,E,44.350,214.20,120308,,,A*5B
+$GPRMC,132202.00,A,5203.96913,N,00422.78853,E,44.450,213.63,120308,,,A*57
+$GPRMC,132203.00,A,5203.95884,N,00422.77757,E,44.485,213.45,120308,,,A*52
+$GPRMC,132204.00,A,5203.94859,N,00422.76663,E,44.306,213.60,120308,,,A*58
+$GPRMC,132205.00,A,5203.93839,N,00422.75570,E,44.162,213.39,120308,,,A*56
+$GPRMC,132206.00,A,5203.92820,N,00422.74484,E,43.947,213.44,120308,,,A*55
+$GPRMC,132207.00,A,5203.91807,N,00422.73403,E,43.752,213.68,120308,,,A*5E
+$GPRMC,132208.00,A,5203.90800,N,00422.72310,E,43.779,213.98,120308,,,A*55
+$GPRMC,132209.00,A,5203.89796,N,00422.71209,E,43.778,214.20,120308,,,A*53
+$GPRMC,132210.00,A,5203.88790,N,00422.70101,E,43.869,214.22,120308,,,A*5B
+$GPRMC,132211.00,A,5203.87786,N,00422.68987,E,43.882,214.46,120308,,,A*5A
+$GPRMC,132212.00,A,5203.86782,N,00422.67867,E,43.926,214.44,120308,,,A*51
+$GPRMC,132213.00,A,5203.85771,N,00422.66746,E,44.304,214.28,120308,,,A*55
+$GPRMC,132214.00,A,5203.84752,N,00422.65616,E,44.617,214.51,120308,,,A*5C
+$GPRMC,132215.00,A,5203.83737,N,00422.64474,E,44.408,215.06,120308,,,A*51
+$GPRMC,132216.00,A,5203.82730,N,00422.63327,E,44.405,215.27,120308,,,A*5C
+$GPRMC,132217.00,A,5203.81725,N,00422.62176,E,44.385,215.25,120308,,,A*50
+$GPRMC,132218.00,A,5203.80719,N,00422.61030,E,44.250,215.13,120308,,,A*5D
+$GPRMC,132219.00,A,5203.79714,N,00422.59890,E,44.183,215.00,120308,,,A*51
+$GPRMC,132220.00,A,5203.78709,N,00422.58750,E,44.243,215.17,120308,,,A*5D
+$GPRMC,132221.00,A,5203.77703,N,00422.57601,E,44.360,215.32,120308,,,A*54
+$GPRMC,132222.00,A,5203.76696,N,00422.56456,E,44.155,214.94,120308,,,A*53
+$GPRMC,132223.00,A,5203.75700,N,00422.55294,E,44.235,215.87,120308,,,A*52
+$GPRMC,132224.00,A,5203.74643,N,00422.54146,E,44.735,214.20,120308,,,A*56
+$GPRMC,132225.00,A,5203.73645,N,00422.52989,E,44.301,215.56,120308,,,A*58
+$GPRMC,132226.00,A,5203.72568,N,00422.51838,E,44.628,215.56,120308,,,A*50
+$GPRMC,132227.00,A,5203.71585,N,00422.50678,E,43.834,215.87,120308,,,A*52
+$GPRMC,132228.00,A,5203.70558,N,00422.49626,E,43.335,213.53,120308,,,A*5A
+$GPRMC,132229.00,A,5203.69548,N,00422.48415,E,44.584,216.64,120308,,,A*5B
+$GPRMC,132230.00,A,5203.68554,N,00422.47279,E,44.745,215.49,120308,,,A*5F
+$GPRMC,132231.00,A,5203.67576,N,00422.46082,E,45.042,215.83,120308,,,A*51
+$GPRMC,132232.00,A,5203.66575,N,00422.44879,E,44.926,215.85,120308,,,A*52
+$GPRMC,132233.00,A,5203.65582,N,00422.43699,E,44.820,215.78,120308,,,A*5A
+$GPRMC,132234.00,A,5203.64590,N,00422.42514,E,44.819,215.92,120308,,,A*56
+$GPRMC,132235.00,A,5203.63590,N,00422.41334,E,45.278,215.54,120308,,,A*51
+$GPRMC,132236.00,A,5203.62577,N,00422.40141,E,45.575,215.58,120308,,,A*5D
+$GPRMC,132237.00,A,5203.61550,N,00422.38941,E,45.907,215.71,120308,,,A*5F
+$GPRMC,132238.00,A,5203.60512,N,00422.37751,E,46.098,215.06,120308,,,A*5B
+$GPRMC,132239.00,A,5203.59473,N,00422.36555,E,46.155,215.72,120308,,,A*52
+$GPRMC,132240.00,A,5203.58437,N,00422.35345,E,46.230,215.85,120308,,,A*51
+$GPRMC,132241.00,A,5203.57400,N,00422.34126,E,46.102,215.47,120308,,,A*51
+$GPRMC,132242.00,A,5203.56361,N,00422.32907,E,46.241,215.59,120308,,,A*55
+$GPRMC,132243.00,A,5203.55315,N,00422.31692,E,46.406,215.35,120308,,,A*5B
+$GPRMC,132244.00,A,5203.54267,N,00422.30477,E,46.433,215.64,120308,,,A*53
+$GPRMC,132245.00,A,5203.53222,N,00422.29256,E,46.448,215.82,120308,,,A*5D
+$GPRMC,132246.00,A,5203.52179,N,00422.28029,E,46.468,216.03,120308,,,A*51
+$GPRMC,132247.00,A,5203.51147,N,00422.26806,E,46.302,216.18,120308,,,A*54
+$GPRMC,132248.00,A,5203.50102,N,00422.25572,E,46.335,216.01,120308,,,A*5A
+$GPRMC,132249.00,A,5203.49058,N,00422.24334,E,46.345,216.24,120308,,,A*58
+$GPRMC,132250.00,A,5203.48019,N,00422.23090,E,46.261,216.49,120308,,,A*52
+$GPRMC,132251.00,A,5203.46993,N,00422.21852,E,46.173,216.79,120308,,,A*51
+$GPRMC,132252.00,A,5203.45966,N,00422.20609,E,46.115,216.94,120308,,,A*59
+$GPRMC,132253.00,A,5203.44940,N,00422.19374,E,46.078,216.50,120308,,,A*5A
+$GPRMC,132254.00,A,5203.43909,N,00422.18136,E,46.282,216.59,120308,,,A*5C
+$GPRMC,132255.00,A,5203.42880,N,00422.16886,E,46.261,217.12,120308,,,A*53
+$GPRMC,132256.00,A,5203.41852,N,00422.15617,E,46.380,217.54,120308,,,A*55
+$GPRMC,132257.00,A,5203.40828,N,00422.14338,E,46.516,217.70,120308,,,A*5E
+$GPRMC,132258.00,A,5203.39803,N,00422.13054,E,46.642,217.62,120308,,,A*59
+$GPRMC,132259.00,A,5203.38784,N,00422.11767,E,46.686,217.97,120308,,,A*5E
+$GPRMC,132300.00,A,5203.37762,N,00422.10463,E,46.579,218.38,120308,,,A*5B
+$GPRMC,132301.00,A,5203.36746,N,00422.09148,E,46.502,218.77,120308,,,A*5E
+$GPRMC,132302.00,A,5203.35737,N,00422.07830,E,46.473,218.82,120308,,,A*5D
+$GPRMC,132303.00,A,5203.34735,N,00422.06499,E,46.387,219.60,120308,,,A*50
+$GPRMC,132304.00,A,5203.33753,N,00422.05147,E,46.216,220.77,120308,,,A*50
+$GPRMC,132305.00,A,5203.32793,N,00422.03770,E,45.864,222.00,120308,,,A*56
+$GPRMC,132306.00,A,5203.31862,N,00422.02369,E,45.443,223.34,120308,,,A*55
+$GPRMC,132307.00,A,5203.30957,N,00422.00942,E,45.187,224.62,120308,,,A*5A
+$GPRMC,132308.00,A,5203.30083,N,00421.99501,E,45.220,226.04,120308,,,A*51
+$GPRMC,132309.00,A,5203.29232,N,00421.98027,E,45.132,227.38,120308,,,A*5E
+$GPRMC,132310.00,A,5203.28393,N,00421.96515,E,45.030,228.46,120308,,,A*52
+$GPRMC,132311.00,A,5203.27577,N,00421.94993,E,44.721,229.24,120308,,,A*53
+$GPRMC,132312.00,A,5203.26780,N,00421.93469,E,44.244,229.84,120308,,,A*58
+$GPRMC,132313.00,A,5203.26000,N,00421.91947,E,44.053,230.31,120308,,,A*57
+$GPRMC,132314.00,A,5203.25223,N,00421.90426,E,43.849,230.04,120308,,,A*59
+$GPRMC,132315.00,A,5203.24433,N,00421.88925,E,43.811,228.81,120308,,,A*50
+$GPRMC,132316.00,A,5203.23628,N,00421.87450,E,43.605,227.87,120308,,,A*5E
+$GPRMC,132317.00,A,5203.22804,N,00421.86004,E,43.817,226.66,120308,,,A*59
+$GPRMC,132318.00,A,5203.21952,N,00421.84591,E,43.815,224.90,120308,,,A*55
+$GPRMC,132319.00,A,5203.21068,N,00421.83228,E,44.057,222.35,120308,,,A*56
+$GPRMC,132320.00,A,5203.20140,N,00421.81923,E,44.332,219.66,120308,,,D*5F
+$GPRMC,132321.00,A,5203.19172,N,00421.80675,E,44.851,217.34,120308,,,D*5F
+$GPRMC,132322.00,A,5203.18161,N,00421.79466,E,45.769,215.48,120308,,,D*55
+$GPRMC,132323.00,A,5203.17104,N,00421.78289,E,46.344,213.52,120308,,,D*5B
+$GPRMC,132324.00,A,5203.16017,N,00421.77165,E,46.715,211.53,120308,,,D*53
+$GPRMC,132325.00,A,5203.14906,N,00421.76076,E,46.930,210.73,120308,,,D*51
+$GPRMC,132326.00,A,5203.13779,N,00421.75003,E,47.136,210.12,120308,,,D*5A
+$GPRMC,132327.00,A,5203.12645,N,00421.73936,E,47.342,210.11,120308,,,D*5F
+$GPRMC,132328.00,A,5203.11516,N,00421.72855,E,47.125,210.98,120308,,,D*51
+$GPRMC,132329.00,A,5203.10403,N,00421.71761,E,46.665,211.48,120308,,,D*51
+$GPRMC,132330.00,A,5203.09303,N,00421.70661,E,46.463,211.81,120308,,,D*57
+$GPRMC,132331.00,A,5203.08213,N,00421.69553,E,46.295,212.30,120308,,,D*5B
+$GPRMC,132332.00,A,5203.07128,N,00421.68441,E,46.195,212.29,120308,,,D*54
+$GPRMC,132333.00,A,5203.06048,N,00421.67321,E,46.116,212.91,120308,,,D*55
+$GPRMC,132334.00,A,5203.04975,N,00421.66181,E,46.315,213.54,120308,,,D*57
+$GPRMC,132335.00,A,5203.03898,N,00421.65013,E,47.019,213.98,120308,,,D*54
+$GPRMC,132336.00,A,5203.02814,N,00421.63804,E,47.737,215.07,120308,,,D*51
+$GPRMC,132337.00,A,5203.01729,N,00421.62530,E,48.384,216.65,120308,,,D*5D
+$GPRMC,132338.00,A,5203.00657,N,00421.61199,E,48.553,218.15,120308,,,D*5A
+$GPRMC,132339.00,A,5202.99601,N,00421.59829,E,48.463,218.99,120308,,,D*56
+$GPRMC,132340.00,A,5202.98554,N,00421.58441,E,48.659,219.64,120308,,,D*51
+$GPRMC,132341.00,A,5202.97507,N,00421.57026,E,49.133,220.08,120308,,,D*59
+$GPRMC,132342.00,A,5202.96457,N,00421.55584,E,49.438,220.47,120308,,,D*55
+$GPRMC,132343.00,A,5202.95408,N,00421.54114,E,49.794,221.30,120308,,,D*55
+$GPRMC,132344.00,A,5202.94374,N,00421.52608,E,50.149,222.11,120308,,,D*5D
+$GPRMC,132345.00,A,5202.93348,N,00421.51069,E,50.207,222.96,120308,,,D*50
+$GPRMC,132346.00,A,5202.92332,N,00421.49493,E,50.760,224.07,120308,,,D*5D
+$GPRMC,132347.00,A,5202.91314,N,00421.47842,E,51.775,225.63,120308,,,D*53
+$GPRMC,132348.00,A,5202.90317,N,00421.46140,E,52.512,226.95,120308,,,D*5E
+$GPRMC,132349.00,A,5202.89339,N,00421.44367,E,53.063,229.05,120308,,,D*5A
+$GPRMC,132350.00,A,5202.88400,N,00421.42513,E,53.212,231.68,120308,,,D*5B
+$GPRMC,132351.00,A,5202.87510,N,00421.40590,E,53.344,234.41,120308,,,D*50
+$GPRMC,132352.00,A,5202.86688,N,00421.38622,E,52.204,237.13,120308,,,D*55
+$GPRMC,132353.00,A,5202.85935,N,00421.36626,E,51.214,239.39,120308,,,D*50
+$GPRMC,132354.00,A,5202.85258,N,00421.34625,E,50.526,242.07,120308,,,D*50
+$GPRMC,132355.00,A,5202.84635,N,00421.32567,E,50.334,244.75,120308,,,D*5A
+$GPRMC,132356.00,A,5202.84076,N,00421.30480,E,50.378,247.46,120308,,,D*59
+$GPRMC,132357.00,A,5202.83583,N,00421.28352,E,50.436,250.02,120308,,,D*5A
+$GPRMC,132358.00,A,5202.83143,N,00421.26197,E,50.354,252.25,120308,,,D*5C
+$GPRMC,132359.00,A,5202.82757,N,00421.24019,E,50.333,254.43,120308,,,D*5D
+$GPRMC,132400.00,A,5202.82466,N,00421.21834,E,49.653,258.38,120308,,,D*5E
+$GPRMC,132401.00,A,5202.82206,N,00421.19607,E,50.508,259.31,120308,,,D*57
+$GPRMC,132402.00,A,5202.81994,N,00421.17368,E,50.400,260.70,120308,,,D*53
+$GPRMC,132403.00,A,5202.81785,N,00421.15121,E,50.232,260.53,120308,,,D*57
+$GPRMC,132404.00,A,5202.81561,N,00421.12887,E,49.844,259.60,120308,,,D*53
+$GPRMC,132405.00,A,5202.81314,N,00421.10677,E,49.617,258.62,120308,,,D*5E
+$GPRMC,132406.00,A,5202.81034,N,00421.08489,E,49.384,256.99,120308,,,D*53
+$GPRMC,132407.00,A,5202.80698,N,00421.06324,E,49.364,254.32,120308,,,D*50
+$GPRMC,132408.00,A,5202.80298,N,00421.04191,E,49.427,250.86,120308,,,D*5E
+$GPRMC,132409.00,A,5202.79810,N,00421.02098,E,49.557,247.11,120308,,,D*53
+$GPRMC,132410.00,A,5202.79232,N,00421.00061,E,49.561,243.22,120308,,,D*54
+$GPRMC,132411.00,A,5202.78571,N,00420.98115,E,49.463,238.79,120308,,,D*57
+$GPRMC,132412.00,A,5202.77817,N,00420.96251,E,49.063,234.91,120308,,,D*55
+$GPRMC,132413.00,A,5202.76992,N,00420.94504,E,48.489,230.70,120308,,,D*56
+$GPRMC,132414.00,A,5202.76099,N,00420.92887,E,47.914,226.28,120308,,,D*5F
+$GPRMC,132415.00,A,5202.75143,N,00420.91393,E,47.607,222.28,120308,,,D*5F
+$GPRMC,132416.00,A,5202.74135,N,00420.90017,E,47.247,218.77,120308,,,D*51
+$GPRMC,132417.00,A,5202.73079,N,00420.88758,E,47.056,214.73,120308,,,D*51
+$GPRMC,132418.00,A,5202.71971,N,00420.87626,E,47.108,210.59,120308,,,D*5C
+$GPRMC,132419.00,A,5202.70820,N,00420.86635,E,47.130,206.69,120308,,,D*55
+$GPRMC,132420.00,A,5202.69622,N,00420.85760,E,47.341,202.96,120308,,,D*59
+$GPRMC,132421.00,A,5202.68385,N,00420.85010,E,47.619,199.14,120308,,,D*52
+$GPRMC,132422.00,A,5202.67115,N,00420.84398,E,47.773,195.25,120308,,,D*54
+$GPRMC,132423.00,A,5202.65821,N,00420.83936,E,47.640,191.01,120308,,,D*53
+$GPRMC,132424.00,A,5202.64506,N,00420.83630,E,47.436,186.89,120308,,,D*51
+$GPRMC,132425.00,A,5202.63184,N,00420.83487,E,47.404,182.43,120308,,,D*54
+$GPRMC,132426.00,A,5202.61860,N,00420.83503,E,47.336,178.32,120308,,,D*5E
+$GPRMC,132427.00,A,5202.60544,N,00420.83658,E,47.264,174.80,120308,,,D*5B
+$GPRMC,132428.00,A,5202.59243,N,00420.83948,E,47.311,170.71,120308,,,D*59
+$GPRMC,132429.00,A,5202.57968,N,00420.84305,E,46.498,170.09,120308,,,D*58
+$GPRMC,132430.00,A,5202.56719,N,00420.84692,E,45.908,169.34,120308,,,D*53
+$GPRMC,132431.00,A,5202.55313,N,00420.85372,E,49.838,165.55,120308,,,D*50
+$GPRMC,132432.00,A,5202.53823,N,00420.86820,E,51.128,157.10,120308,,,D*53
+$GPRMC,132433.00,A,5202.52517,N,00420.87771,E,51.373,156.44,120308,,,D*5F
+$GPRMC,132434.00,A,5202.51513,N,00420.89491,E,49.396,146.01,120308,,,D*5E
+$GPRMC,132435.00,A,5202.50405,N,00420.90772,E,48.799,144.20,120308,,,D*55
+$GPRMC,132436.00,A,5202.49328,N,00420.92187,E,49.023,142.23,120308,,,D*5A
+$GPRMC,132437.00,A,5202.48279,N,00420.93655,E,49.430,140.82,120308,,,D*59
+$GPRMC,132438.00,A,5202.47230,N,00420.95145,E,49.639,139.87,120308,,,D*54
+$GPRMC,132439.00,A,5202.46195,N,00420.96625,E,49.573,139.64,120308,,,D*5A
+$GPRMC,132440.00,A,5202.45149,N,00420.98058,E,49.819,140.31,120308,,,D*5B
+$GPRMC,132441.00,A,5202.44080,N,00420.99463,E,50.072,141.64,120308,,,D*5E
+$GPRMC,132442.00,A,5202.42975,N,00421.00827,E,50.646,142.74,120308,,,D*56
+$GPRMC,132443.00,A,5202.41836,N,00421.02144,E,50.673,145.04,120308,,,D*5A
+$GPRMC,132444.00,A,5202.40680,N,00421.03421,E,50.532,146.65,120308,,,D*5A
+$GPRMC,132445.00,A,5202.39475,N,00421.04653,E,52.252,149.11,120308,,,D*52
+$GPRMC,132446.00,A,5202.38233,N,00421.05817,E,51.423,150.76,120308,,,D*51
+$GPRMC,132447.00,A,5202.36977,N,00421.06860,E,50.104,152.81,120308,,,D*5D
+$GPRMC,132448.00,A,5202.35739,N,00421.07825,E,49.102,154.90,120308,,,D*5D
+$GPRMC,132449.00,A,5202.34529,N,00421.08720,E,47.959,156.40,120308,,,D*5C
+$GPRMC,132450.00,A,5202.33325,N,00421.09524,E,46.952,158.46,120308,,,D*5C
+$GPRMC,132451.00,A,5202.32128,N,00421.10242,E,45.975,160.44,120308,,,D*53
+$GPRMC,132452.00,A,5202.30944,N,00421.10876,E,45.180,162.28,120308,,,D*57
+$GPRMC,132453.00,A,5202.29765,N,00421.11437,E,44.687,164.02,120308,,,D*54
+$GPRMC,132454.00,A,5202.28580,N,00421.11938,E,44.520,166.02,120308,,,D*55
+$GPRMC,132455.00,A,5202.27376,N,00421.12377,E,44.885,167.61,120308,,,D*50
+$GPRMC,132456.00,A,5202.26155,N,00421.12776,E,45.287,168.64,120308,,,D*57
+$GPRMC,132457.00,A,5202.24917,N,00421.13147,E,45.728,169.61,120308,,,D*5B
+$GPRMC,132458.00,A,5202.23665,N,00421.13494,E,46.065,170.35,120308,,,D*56
+$GPRMC,132459.00,A,5202.22401,N,00421.13828,E,46.276,170.44,120308,,,D*5B
+$GPRMC,132500.00,A,5202.21133,N,00421.14167,E,46.499,170.70,120308,,,D*54
+$GPRMC,132501.00,A,5202.19850,N,00421.14495,E,46.635,170.28,120308,,,D*53
+$GPRMC,132502.00,A,5202.18570,N,00421.14842,E,46.658,169.85,120308,,,D*5C
+$GPRMC,132503.00,A,5202.17292,N,00421.15197,E,46.685,169.93,120308,,,D*5E
+$GPRMC,132504.00,A,5202.16016,N,00421.15557,E,46.799,169.96,120308,,,D*57
+$GPRMC,132505.00,A,5202.14731,N,00421.15910,E,47.041,170.17,120308,,,D*5B
+$GPRMC,132506.00,A,5202.13438,N,00421.16258,E,47.313,170.31,120308,,,D*51
+$GPRMC,132507.00,A,5202.12134,N,00421.16608,E,47.864,170.31,120308,,,D*52
+$GPRMC,132508.00,A,5202.10808,N,00421.16965,E,48.938,170.39,120308,,,D*52
+$GPRMC,132509.00,A,5202.09456,N,00421.17333,E,49.890,170.42,120308,,,D*5A
+$GPRMC,132510.00,A,5202.08084,N,00421.17715,E,50.379,170.01,120308,,,D*5B
+$GPRMC,132511.00,A,5202.06700,N,00421.18118,E,50.853,169.52,120308,,,D*56
+$GPRMC,132512.00,A,5202.05310,N,00421.18538,E,51.137,169.42,120308,,,D*5E
+$GPRMC,132513.00,A,5202.03916,N,00421.18957,E,51.036,169.54,120308,,,D*57
+$GPRMC,132514.00,A,5202.02533,N,00421.19396,E,50.490,168.30,120308,,,D*56
+$GPRMC,132515.00,A,5202.01168,N,00421.19885,E,50.001,166.66,120308,,,D*56
+$GPRMC,132516.00,A,5201.99820,N,00421.20435,E,49.961,165.19,120308,,,D*53
+$GPRMC,132517.00,A,5201.98482,N,00421.21030,E,49.747,164.16,120308,,,D*53
+$GPRMC,132518.00,A,5201.97147,N,00421.21685,E,50.083,162.75,120308,,,D*53
+$GPRMC,132519.00,A,5201.95821,N,00421.22377,E,50.050,161.42,120308,,,D*5B
+$GPRMC,132520.00,A,5201.94512,N,00421.23127,E,49.925,159.95,120308,,,D*59
+$GPRMC,132521.00,A,5201.93216,N,00421.23933,E,50.173,158.51,120308,,,D*5B
+$GPRMC,132522.00,A,5201.91924,N,00421.24806,E,50.510,156.74,120308,,,D*58
+$GPRMC,132523.00,A,5201.90643,N,00421.25742,E,50.566,155.30,120308,,,D*5A
+$GPRMC,132524.00,A,5201.89368,N,00421.26725,E,50.801,154.24,120308,,,D*53
+$GPRMC,132525.00,A,5201.88104,N,00421.27769,E,51.051,152.60,120308,,,D*58
+$GPRMC,132526.00,A,5201.86850,N,00421.28876,E,51.394,150.78,120308,,,D*52
+$GPRMC,132527.00,A,5201.85608,N,00421.30047,E,51.589,148.99,120308,,,D*5C
+$GPRMC,132528.00,A,5201.84390,N,00421.31281,E,51.647,147.45,120308,,,D*50
+$GPRMC,132529.00,A,5201.83194,N,00421.32560,E,51.598,146.44,120308,,,D*5A
+$GPRMC,132530.00,A,5201.82011,N,00421.33872,E,51.616,145.64,120308,,,D*54
+$GPRMC,132531.00,A,5201.80831,N,00421.35212,E,52.321,144.52,120308,,,D*51
+$GPRMC,132532.00,A,5201.79649,N,00421.36582,E,52.366,144.42,120308,,,D*5A
+$GPRMC,132533.00,A,5201.78459,N,00421.38047,E,52.444,143.18,120308,,,D*54
+$GPRMC,132534.00,A,5201.77318,N,00421.39392,E,51.484,144.14,120308,,,D*50
+$GPRMC,132535.00,A,5201.76166,N,00421.40753,E,51.478,144.37,120308,,,D*5E
+$GPRMC,132536.00,A,5201.75016,N,00421.42104,E,51.475,144.28,120308,,,D*5D
+$GPRMC,132537.00,A,5201.73851,N,00421.43448,E,51.444,144.30,120308,,,D*56
+$GPRMC,132538.00,A,5201.72706,N,00421.44814,E,51.333,144.11,120308,,,D*53
+$GPRMC,132539.00,A,5201.71563,N,00421.46167,E,51.103,144.20,120308,,,D*5C
+$GPRMC,132540.00,A,5201.70424,N,00421.47509,E,50.934,144.41,120308,,,D*56
+$GPRMC,132541.00,A,5201.69279,N,00421.48842,E,50.966,144.60,120308,,,D*58
+$GPRMC,132542.00,A,5201.68128,N,00421.50171,E,51.014,144.64,120308,,,D*54
+$GPRMC,132543.00,A,5201.66977,N,00421.51505,E,51.148,144.45,120308,,,D*54
+$GPRMC,132544.00,A,5201.65825,N,00421.52848,E,51.323,144.51,120308,,,D*5B
+$GPRMC,132545.00,A,5201.64670,N,00421.54189,E,51.366,144.64,120308,,,D*50
+$GPRMC,132546.00,A,5201.63516,N,00421.55534,E,51.434,144.35,120308,,,D*50
+$GPRMC,132547.00,A,5201.62363,N,00421.56891,E,51.540,144.08,120308,,,D*59
+$GPRMC,132548.00,A,5201.61210,N,00421.58257,E,51.647,144.09,120308,,,D*5B
+$GPRMC,132549.00,A,5201.60053,N,00421.59625,E,51.766,144.12,120308,,,D*56
+$GPRMC,132550.00,A,5201.58892,N,00421.60993,E,51.796,144.11,120308,,,D*54
+$GPRMC,132551.00,A,5201.57730,N,00421.62344,E,51.250,144.61,120308,,,D*57
+$GPRMC,132552.00,A,5201.56543,N,00421.63757,E,52.201,143.93,120308,,,D*59
+$GPRMC,132553.00,A,5201.55379,N,00421.65122,E,51.752,144.25,120308,,,D*5C
+$GPRMC,132554.00,A,5201.54211,N,00421.66470,E,51.714,144.34,120308,,,D*56
+$GPRMC,132555.00,A,5201.53032,N,00421.67817,E,51.684,144.43,120308,,,D*57
+$GPRMC,132556.00,A,5201.51860,N,00421.69163,E,51.674,144.41,120308,,,D*50
+$GPRMC,132557.00,A,5201.50704,N,00421.70516,E,51.580,144.24,120308,,,D*58
+$GPRMC,132558.00,A,5201.49546,N,00421.71858,E,51.471,144.30,120308,,,D*57
+$GPRMC,132559.00,A,5201.48394,N,00421.73206,E,51.347,144.25,120308,,,D*5B
+$GPRMC,132600.00,A,5201.47235,N,00421.74549,E,51.524,144.39,120308,,,D*54
+$GPRMC,132601.00,A,5201.46064,N,00421.75889,E,51.544,144.62,120308,,,D*5A
+$GPRMC,132602.00,A,5201.44898,N,00421.77236,E,51.611,144.42,120308,,,D*5D
+$GPRMC,132603.00,A,5201.43731,N,00421.78595,E,51.905,144.25,120308,,,D*5D
+$GPRMC,132604.00,A,5201.42558,N,00421.79969,E,52.279,144.09,120308,,,D*55
+$GPRMC,132605.00,A,5201.41377,N,00421.81352,E,52.602,144.25,120308,,,D*5F
+$GPRMC,132606.00,A,5201.40189,N,00421.82733,E,52.635,144.49,120308,,,D*50
+$GPRMC,132607.00,A,5201.39001,N,00421.84114,E,52.729,144.33,120308,,,D*5A
+$GPRMC,132608.00,A,5201.37814,N,00421.85501,E,52.765,144.09,120308,,,D*57
+$GPRMC,132609.00,A,5201.36624,N,00421.86888,E,52.731,144.10,120308,,,D*5C
+$GPRMC,132610.00,A,5201.35435,N,00421.88275,E,52.740,144.34,120308,,,D*53
+$GPRMC,132611.00,A,5201.34241,N,00421.89655,E,52.986,144.67,120308,,,D*53
+$GPRMC,132612.00,A,5201.33031,N,00421.91025,E,53.287,145.37,120308,,,D*55
+$GPRMC,132613.00,A,5201.31804,N,00421.92376,E,53.455,146.06,120308,,,D*56
+$GPRMC,132614.00,A,5201.30566,N,00421.93714,E,53.517,146.32,120308,,,D*58
+$GPRMC,132615.00,A,5201.29329,N,00421.95052,E,53.371,146.21,120308,,,D*5B
+$GPRMC,132616.00,A,5201.28108,N,00421.96402,E,53.022,145.24,120308,,,D*59
+$GPRMC,132617.00,A,5201.26913,N,00421.97772,E,52.510,144.44,120308,,,D*53
+$GPRMC,132618.00,A,5201.25728,N,00421.99137,E,52.150,144.55,120308,,,D*50
+$GPRMC,132619.00,A,5201.24551,N,00422.00499,E,52.189,144.24,120308,,,D*5C
+$GPRMC,132620.00,A,5201.23383,N,00422.01884,E,52.592,143.22,120308,,,D*56
+$GPRMC,132621.00,A,5201.22206,N,00422.03244,E,52.232,144.30,120308,,,D*57
+$GPRMC,132622.00,A,5201.21032,N,00422.04603,E,52.076,144.21,120308,,,D*50
+$GPRMC,132623.00,A,5201.19860,N,00422.05967,E,51.945,144.40,120308,,,D*54
+$GPRMC,132624.00,A,5201.18691,N,00422.07329,E,51.928,144.15,120308,,,D*5B
+$GPRMC,132625.00,A,5201.17528,N,00422.08688,E,51.791,143.84,120308,,,D*56
+$GPRMC,132626.00,A,5201.16368,N,00422.10035,E,51.560,144.14,120308,,,D*5D
+$GPRMC,132627.00,A,5201.15209,N,00422.11386,E,51.406,144.29,120308,,,D*5C
+$GPRMC,132628.00,A,5201.14053,N,00422.12731,E,51.244,144.41,120308,,,D*5A
+$GPRMC,132629.00,A,5201.12902,N,00422.14071,E,51.059,144.41,120308,,,D*5B
+$GPRMC,132630.00,A,5201.11752,N,00422.15404,E,50.929,144.41,120308,,,D*53
+$GPRMC,132631.00,A,5201.10606,N,00422.16729,E,50.696,144.53,120308,,,D*54
+$GPRMC,132632.00,A,5201.09463,N,00422.18055,E,50.567,144.52,120308,,,D*50
+$GPRMC,132633.00,A,5201.08325,N,00422.19384,E,50.513,144.21,120308,,,D*5C
+$GPRMC,132634.00,A,5201.07189,N,00422.20716,E,50.572,144.03,120308,,,D*52
+$GPRMC,132635.00,A,5201.06053,N,00422.22050,E,50.586,144.10,120308,,,D*5A
+$GPRMC,132636.00,A,5201.04917,N,00422.23377,E,50.500,144.29,120308,,,D*51
+$GPRMC,132637.00,A,5201.03781,N,00422.24700,E,50.420,144.36,120308,,,D*58
+$GPRMC,132638.00,A,5201.02645,N,00422.26019,E,50.347,144.29,120308,,,D*5A
+$GPRMC,132639.00,A,5201.01511,N,00422.27339,E,50.313,144.24,120308,,,D*56
+$GPRMC,132640.00,A,5201.00380,N,00422.28658,E,50.278,144.06,120308,,,D*56
+$GPRMC,132641.00,A,5200.99251,N,00422.29987,E,50.227,143.78,120308,,,D*53
+$GPRMC,132642.00,A,5200.98124,N,00422.31316,E,50.322,144.02,120308,,,D*55
+$GPRMC,132643.00,A,5200.96994,N,00422.32629,E,50.040,144.19,120308,,,D*5E
+$GPRMC,132644.00,A,5200.95869,N,00422.33943,E,49.993,144.25,120308,,,D*5B
+$GPRMC,132645.00,A,5200.94744,N,00422.35253,E,50.074,144.31,120308,,,D*5A
+$GPRMC,132646.00,A,5200.93614,N,00422.36561,E,50.188,144.37,120308,,,D*5B
+$GPRMC,132647.00,A,5200.92479,N,00422.37868,E,50.311,144.50,120308,,,D*54
+$GPRMC,132648.00,A,5200.91343,N,00422.39181,E,50.317,144.30,120308,,,D*56
+$GPRMC,132649.00,A,5200.90210,N,00422.40499,E,50.302,144.32,120308,,,D*55
+$GPRMC,132650.00,A,5200.89074,N,00422.41805,E,50.270,144.59,120308,,,D*54
+$GPRMC,132651.00,A,5200.87938,N,00422.43111,E,50.314,144.39,120308,,,D*51
+$GPRMC,132652.00,A,5200.86804,N,00422.44436,E,50.443,144.14,120308,,,D*50
+$GPRMC,132653.00,A,5200.85670,N,00422.45774,E,50.705,144.18,120308,,,D*56
+$GPRMC,132654.00,A,5200.84528,N,00422.47110,E,50.853,144.14,120308,,,D*58
+$GPRMC,132655.00,A,5200.83383,N,00422.48446,E,50.881,144.17,120308,,,D*5C
+$GPRMC,132656.00,A,5200.82239,N,00422.49778,E,50.677,144.30,120308,,,D*53
+$GPRMC,132657.00,A,5200.81099,N,00422.51110,E,50.527,144.07,120308,,,D*5A
+$GPRMC,132658.00,A,5200.79964,N,00422.52437,E,50.410,144.36,120308,,,D*5D
+$GPRMC,132659.00,A,5200.78826,N,00422.53757,E,50.482,144.59,120308,,,D*5C
+$GPRMC,132700.00,A,5200.77685,N,00422.55073,E,50.537,144.57,120308,,,D*5F
+$GPRMC,132701.00,A,5200.76542,N,00422.56393,E,50.593,144.60,120308,,,D*53
+$GPRMC,132702.00,A,5200.75396,N,00422.57709,E,50.585,144.56,120308,,,D*58
+$GPRMC,132703.00,A,5200.74253,N,00422.59032,E,50.577,144.32,120308,,,D*5E
+$GPRMC,132704.00,A,5200.73114,N,00422.60362,E,50.606,144.22,120308,,,D*56
+$GPRMC,132705.00,A,5200.71977,N,00422.61701,E,50.626,143.92,120308,,,D*56
+$GPRMC,132706.00,A,5200.70846,N,00422.63046,E,50.531,143.80,120308,,,D*57
+$GPRMC,132707.00,A,5200.69721,N,00422.64386,E,50.093,143.87,120308,,,D*52
+$GPRMC,132708.00,A,5200.68606,N,00422.65715,E,49.676,143.74,120308,,,D*5E
+$GPRMC,132709.00,A,5200.67495,N,00422.67027,E,49.447,144.21,120308,,,D*5B
+$GPRMC,132710.00,A,5200.66380,N,00422.68326,E,49.514,144.51,120308,,,D*5C
+$GPRMC,132711.00,A,5200.65261,N,00422.69620,E,49.642,144.57,120308,,,D*54
+$GPRMC,132712.00,A,5200.64138,N,00422.70916,E,49.761,144.68,120308,,,D*57
+$GPRMC,132713.00,A,5200.63013,N,00422.72206,E,49.849,144.72,120308,,,D*5F
+$GPRMC,132714.00,A,5200.61892,N,00422.73502,E,49.635,144.24,120308,,,D*5F
+$GPRMC,132715.00,A,5200.60778,N,00422.74800,E,49.458,144.24,120308,,,D*55
+$GPRMC,132716.00,A,5200.59665,N,00422.76091,E,49.391,144.47,120308,,,D*54
+$GPRMC,132717.00,A,5200.58554,N,00422.77382,E,49.326,144.20,120308,,,D*58
+$GPRMC,132718.00,A,5200.57447,N,00422.78678,E,49.208,144.06,120308,,,D*5D
+$GPRMC,132719.00,A,5200.56345,N,00422.79976,E,49.058,144.07,120308,,,D*5E
+$GPRMC,132720.00,A,5200.55242,N,00422.81265,E,48.955,144.38,120308,,,D*56
+$GPRMC,132721.00,A,5200.54136,N,00422.82546,E,48.943,144.56,120308,,,D*5C
+$GPRMC,132722.00,A,5200.53030,N,00422.83827,E,49.004,144.43,120308,,,D*5B
+$GPRMC,132723.00,A,5200.51922,N,00422.85114,E,49.132,144.33,120308,,,D*5E
+$GPRMC,132724.00,A,5200.50815,N,00422.86407,E,49.238,144.20,120308,,,D*52
+$GPRMC,132725.00,A,5200.49707,N,00422.87705,E,49.283,144.16,120308,,,D*52
+$GPRMC,132726.00,A,5200.48599,N,00422.88997,E,49.135,144.31,120308,,,D*54
+$GPRMC,132727.00,A,5200.47492,N,00422.90284,E,49.083,144.40,120308,,,D*5A
+$GPRMC,132728.00,A,5200.46386,N,00422.91568,E,49.077,144.44,120308,,,D*5D
+$GPRMC,132729.00,A,5200.45276,N,00422.92848,E,49.125,144.53,120308,,,D*5D
+$GPRMC,132730.00,A,5200.44165,N,00422.94131,E,49.266,144.45,120308,,,D*57
+$GPRMC,132731.00,A,5200.43054,N,00422.95421,E,49.131,144.31,120308,,,D*55
+$GPRMC,132732.00,A,5200.41948,N,00422.96708,E,49.067,144.28,120308,,,D*51
+$GPRMC,132733.00,A,5200.40849,N,00422.98001,E,48.766,143.70,120308,,,D*5C
+$GPRMC,132734.00,A,5200.39735,N,00422.99281,E,49.315,144.28,120308,,,D*51
+$GPRMC,132735.00,A,5200.38616,N,00423.00549,E,49.254,145.20,120308,,,D*5E
+$GPRMC,132736.00,A,5200.37484,N,00423.01797,E,49.318,145.82,120308,,,D*5A
+$GPRMC,132737.00,A,5200.36346,N,00423.03035,E,49.427,146.04,120308,,,D*58
+$GPRMC,132738.00,A,5200.35202,N,00423.04263,E,49.551,146.75,120308,,,D*55
+$GPRMC,132739.00,A,5200.34039,N,00423.05462,E,49.728,148.10,120308,,,D*58
+$GPRMC,132740.00,A,5200.32857,N,00423.06622,E,49.893,149.57,120308,,,D*58
+$GPRMC,132741.00,A,5200.31654,N,00423.07740,E,50.071,150.78,120308,,,D*5A
+$GPRMC,132742.00,A,5200.30427,N,00423.08813,E,50.216,152.38,120308,,,D*5D
+$GPRMC,132743.00,A,5200.29179,N,00423.09825,E,50.250,154.21,120308,,,D*52
+$GPRMC,132744.00,A,5200.27913,N,00423.10785,E,50.342,155.44,120308,,,D*52
+$GPRMC,132745.00,A,5200.26630,N,00423.11701,E,50.488,156.88,120308,,,D*53
+$GPRMC,132746.00,A,5200.25322,N,00423.12560,E,50.681,158.58,120308,,,D*5B
+$GPRMC,132747.00,A,5200.23989,N,00423.13379,E,50.998,159.83,120308,,,D*58
+$GPRMC,132748.00,A,5200.22637,N,00423.14130,E,51.235,161.70,120308,,,D*5E
+$GPRMC,132749.00,A,5200.21272,N,00423.14822,E,51.209,163.20,120308,,,D*5B
+$GPRMC,132750.00,A,5200.19903,N,00423.15464,E,51.061,164.04,120308,,,D*57
+$GPRMC,132751.00,A,5200.18537,N,00423.16071,E,50.757,164.75,120308,,,D*5A
+$GPRMC,132752.00,A,5200.17174,N,00423.16656,E,50.524,165.19,120308,,,D*5B
+$GPRMC,132753.00,A,5200.15820,N,00423.17230,E,50.083,165.06,120308,,,D*53
+$GPRMC,132754.00,A,5200.14479,N,00423.17805,E,49.751,165.03,120308,,,D*5C
+$GPRMC,132755.00,A,5200.13148,N,00423.18374,E,49.321,165.20,120308,,,D*5D
+$GPRMC,132756.00,A,5200.11829,N,00423.18933,E,48.920,165.31,120308,,,D*51
+$GPRMC,132757.00,A,5200.10521,N,00423.19485,E,48.475,165.32,120308,,,D*5B
+$GPRMC,132758.00,A,5200.09226,N,00423.20043,E,48.045,164.87,120308,,,D*50
+$GPRMC,132759.00,A,5200.07942,N,00423.20609,E,47.836,164.65,120308,,,D*51
+$GPRMC,132800.00,A,5200.06664,N,00423.21172,E,47.617,164.88,120308,,,D*5C
+$GPRMC,132801.00,A,5200.05388,N,00423.21721,E,47.552,165.30,120308,,,D*59
+$GPRMC,132802.00,A,5200.04113,N,00423.22257,E,47.448,165.43,120308,,,D*52
+$GPRMC,132803.00,A,5200.02839,N,00423.22789,E,47.473,165.42,120308,,,D*5B
+$GPRMC,132804.00,A,5200.01560,N,00423.23327,E,47.775,165.28,120308,,,D*56
+$GPRMC,132805.00,A,5200.00274,N,00423.23874,E,48.102,165.17,120308,,,D*5C
+$GPRMC,132806.00,A,5159.98980,N,00423.24428,E,48.422,165.20,120308,,,D*50
+$GPRMC,132807.00,A,5159.97681,N,00423.24983,E,48.459,165.24,120308,,,D*54
+$GPRMC,132808.00,A,5159.96385,N,00423.25536,E,48.169,165.24,120308,,,D*5E
+$GPRMC,132809.00,A,5159.95096,N,00423.26088,E,47.958,165.11,120308,,,D*5D
+$GPRMC,132810.00,A,5159.93812,N,00423.26641,E,47.822,164.98,120308,,,D*58
+$GPRMC,132811.00,A,5159.92532,N,00423.27190,E,47.713,165.26,120308,,,D*54
+$GPRMC,132812.00,A,5159.91252,N,00423.27731,E,47.664,165.44,120308,,,D*5D
+$GPRMC,132813.00,A,5159.89972,N,00423.28265,E,47.617,165.60,120308,,,D*55
+$GPRMC,132814.00,A,5159.88694,N,00423.28798,E,47.592,165.54,120308,,,D*5A
+$GPRMC,132815.00,A,5159.87415,N,00423.29339,E,47.598,165.09,120308,,,D*53
+$GPRMC,132816.00,A,5159.86139,N,00423.29893,E,47.571,164.80,120308,,,D*56
+$GPRMC,132817.00,A,5159.84866,N,00423.30457,E,47.616,164.57,120308,,,D*52
+$GPRMC,132818.00,A,5159.83593,N,00423.31018,E,47.488,164.88,120308,,,D*54
+$GPRMC,132819.00,A,5159.82326,N,00423.31597,E,47.402,163.56,120308,,,D*58
+$GPRMC,132820.00,A,5159.80997,N,00423.32212,E,48.843,164.08,120308,,,D*53
+$GPRMC,132821.00,A,5159.79721,N,00423.32723,E,47.167,165.05,120308,,,D*5C
+$GPRMC,132822.00,A,5159.78459,N,00423.33239,E,47.033,165.15,120308,,,D*5C
+$GPRMC,132823.00,A,5159.77195,N,00423.33768,E,47.058,165.17,120308,,,D*59
+$GPRMC,132824.00,A,5159.75929,N,00423.34296,E,47.121,165.26,120308,,,D*5D
+$GPRMC,132825.00,A,5159.74672,N,00423.34821,E,47.120,165.41,120308,,,D*5A
+$GPRMC,132826.00,A,5159.73403,N,00423.35345,E,47.279,165.77,120308,,,D*58
+$GPRMC,132827.00,A,5159.72117,N,00423.35857,E,46.701,165.63,120308,,,D*5E
+$GPRMC,132828.00,A,5159.70859,N,00423.36391,E,46.908,165.02,120308,,,D*52
+$GPRMC,132829.00,A,5159.69599,N,00423.36935,E,46.988,164.78,120308,,,D*5A
+$GPRMC,132830.00,A,5159.68351,N,00423.37480,E,47.051,164.59,120308,,,D*5C
+$GPRMC,132831.00,A,5159.67098,N,00423.38030,E,47.094,164.99,120308,,,D*51
+$GPRMC,132832.00,A,5159.65851,N,00423.38571,E,47.005,165.08,120308,,,D*5C
+$GPRMC,132833.00,A,5159.64601,N,00423.39121,E,47.170,165.12,120308,,,D*5F
+$GPRMC,132834.00,A,5159.63350,N,00423.39656,E,47.444,165.18,120308,,,D*51
+$GPRMC,132835.00,A,5159.62092,N,00423.40184,E,47.483,165.37,120308,,,D*5C
+$GPRMC,132836.00,A,5159.60829,N,00423.40724,E,47.472,165.06,120308,,,D*55
+$GPRMC,132837.00,A,5159.59564,N,00423.41274,E,47.316,164.99,120308,,,D*59
+$GPRMC,132838.00,A,5159.58302,N,00423.41826,E,47.049,164.98,120308,,,D*54
+$GPRMC,132839.00,A,5159.57049,N,00423.42375,E,46.725,164.82,120308,,,D*5F
+$GPRMC,132840.00,A,5159.55803,N,00423.42930,E,46.583,164.65,120308,,,D*59
+$GPRMC,132841.00,A,5159.54556,N,00423.43483,E,46.652,164.71,120308,,,D*5A
+$GPRMC,132842.00,A,5159.53302,N,00423.44032,E,46.970,165.11,120308,,,D*58
+$GPRMC,132843.00,A,5159.52034,N,00423.44574,E,47.530,165.38,120308,,,D*5B
+$GPRMC,132844.00,A,5159.50750,N,00423.45120,E,48.078,165.29,120308,,,D*59
+$GPRMC,132845.00,A,5159.49454,N,00423.45668,E,48.435,165.51,120308,,,D*5E
+$GPRMC,132846.00,A,5159.48149,N,00423.46213,E,48.639,165.64,120308,,,D*56
+$GPRMC,132847.00,A,5159.46840,N,00423.46755,E,48.723,165.70,120308,,,D*51
+$GPRMC,132848.00,A,5159.45529,N,00423.47298,E,48.811,165.55,120308,,,D*53
+$GPRMC,132849.00,A,5159.44217,N,00423.47856,E,48.936,165.17,120308,,,D*53
+$GPRMC,132850.00,A,5159.42902,N,00423.48420,E,49.044,165.14,120308,,,D*5E
+$GPRMC,132851.00,A,5159.41584,N,00423.48984,E,49.069,165.28,120308,,,D*5D
+$GPRMC,132852.00,A,5159.40266,N,00423.49550,E,49.046,165.16,120308,,,D*50
+$GPRMC,132853.00,A,5159.38951,N,00423.50116,E,48.919,165.10,120308,,,D*5B
+$GPRMC,132854.00,A,5159.37639,N,00423.50683,E,48.796,165.14,120308,,,D*54
+$GPRMC,132855.00,A,5159.36337,N,00423.51239,E,47.916,165.65,120308,,,D*54
+$GPRMC,132856.00,A,5159.35033,N,00423.51813,E,48.350,164.97,120308,,,D*5A
+$GPRMC,132857.00,A,5159.33738,N,00423.52380,E,48.001,164.99,120308,,,D*5A
+$GPRMC,132858.00,A,5159.32455,N,00423.52940,E,47.569,164.96,120308,,,D*51
+$GPRMC,132859.00,A,5159.31185,N,00423.53494,E,47.143,165.05,120308,,,D*59
+$GPRMC,132900.00,A,5159.29924,N,00423.54035,E,46.811,165.29,120308,,,D*57
+$GPRMC,132901.00,A,5159.28669,N,00423.54570,E,46.688,165.21,120308,,,D*53
+$GPRMC,132902.00,A,5159.27419,N,00423.55109,E,46.525,164.97,120308,,,D*59
+$GPRMC,132903.00,A,5159.26176,N,00423.55647,E,46.214,165.05,120308,,,D*57
+$GPRMC,132904.00,A,5159.24940,N,00423.56175,E,45.863,165.24,120308,,,D*50
+$GPRMC,132905.00,A,5159.23708,N,00423.56695,E,45.798,165.26,120308,,,D*54
+$GPRMC,132906.00,A,5159.22484,N,00423.57213,E,45.307,165.32,120308,,,D*5D
+$GPRMC,132907.00,A,5159.21274,N,00423.57726,E,44.861,165.23,120308,,,D*5F
+$GPRMC,132908.00,A,5159.20088,N,00423.58230,E,43.295,165.52,120308,,,D*5D
+$GPRMC,132909.00,A,5159.18918,N,00423.58722,E,43.450,165.34,120308,,,D*5E
+$GPRMC,132910.00,A,5159.17757,N,00423.59217,E,42.878,165.20,120308,,,D*5C
+$GPRMC,132911.00,A,5159.16615,N,00423.59708,E,42.410,165.04,120308,,,D*54
+$GPRMC,132912.00,A,5159.15486,N,00423.60198,E,41.975,164.98,120308,,,D*50
+$GPRMC,132913.00,A,5159.14374,N,00423.60684,E,41.478,164.83,120308,,,D*5A
+$GPRMC,132914.00,A,5159.13271,N,00423.61160,E,41.101,165.27,120308,,,D*56
+$GPRMC,132915.00,A,5159.12173,N,00423.61624,E,40.876,165.49,120308,,,D*50
+$GPRMC,132916.00,A,5159.11081,N,00423.62080,E,40.637,165.53,120308,,,D*57
+$GPRMC,132917.00,A,5159.09994,N,00423.62533,E,40.435,165.57,120308,,,D*5B
+$GPRMC,132918.00,A,5159.08909,N,00423.62987,E,40.453,165.46,120308,,,D*52
+$GPRMC,132919.00,A,5159.07825,N,00423.63446,E,40.496,165.27,120308,,,D*5C
+$GPRMC,132920.00,A,5159.06737,N,00423.63912,E,40.700,165.14,120308,,,D*5B
+$GPRMC,132921.00,A,5159.05645,N,00423.64384,E,40.796,165.11,120308,,,D*55
+$GPRMC,132922.00,A,5159.04556,N,00423.64854,E,40.447,165.12,120308,,,D*5C
+$GPRMC,132923.00,A,5159.03476,N,00423.65318,E,40.212,165.16,120308,,,D*59
+$GPRMC,132924.00,A,5159.02402,N,00423.65779,E,40.030,165.28,120308,,,D*50
+$GPRMC,132925.00,A,5159.01332,N,00423.66230,E,39.675,165.42,120308,,,D*58
+$GPRMC,132926.00,A,5159.00268,N,00423.66678,E,39.537,165.33,120308,,,D*5F
+$GPRMC,132927.00,A,5158.99208,N,00423.67129,E,39.513,165.06,120308,,,D*5B
+$GPRMC,132928.00,A,5158.98143,N,00423.67600,E,39.994,164.24,120308,,,D*57
+$GPRMC,132929.00,A,5158.97093,N,00423.68069,E,39.056,164.42,120308,,,D*54
+$GPRMC,132930.00,A,5158.96061,N,00423.68529,E,38.266,164.38,120308,,,D*5C
+$GPRMC,132931.00,A,5158.95054,N,00423.68974,E,37.290,164.26,120308,,,D*55
+$GPRMC,132932.00,A,5158.94070,N,00423.69413,E,36.412,164.53,120308,,,D*53
+$GPRMC,132933.00,A,5158.93113,N,00423.69817,E,35.382,165.08,120308,,,D*5B
+$GPRMC,132934.00,A,5158.92183,N,00423.70204,E,34.340,165.26,120308,,,D*57
+$GPRMC,132935.00,A,5158.91293,N,00423.70580,E,32.341,165.05,120308,,,D*5A
+$GPRMC,132936.00,A,5158.90470,N,00423.70895,E,29.779,165.27,120308,,,D*5F
+$GPRMC,132937.00,A,5158.89712,N,00423.71180,E,27.419,165.75,120308,,,D*51
+$GPRMC,132938.00,A,5158.89017,N,00423.71447,E,25.311,165.46,120308,,,D*5F
+$GPRMC,132939.00,A,5158.88372,N,00423.71709,E,23.091,165.20,120308,,,D*5B
+$GPRMC,132940.00,A,5158.87782,N,00423.71933,E,21.877,164.95,120308,,,D*5B
+$GPRMC,132941.00,A,5158.87222,N,00423.72145,E,21.059,164.99,120308,,,D*57
+$GPRMC,132942.00,A,5158.86675,N,00423.72366,E,20.634,165.02,120308,,,D*5F
+$GPRMC,132943.00,A,5158.86134,N,00423.72594,E,20.298,165.23,120308,,,D*56
+$GPRMC,132944.00,A,5158.85600,N,00423.72819,E,20.142,165.23,120308,,,D*5E
+$GPRMC,132945.00,A,5158.85069,N,00423.73048,E,20.054,165.25,120308,,,D*5B
+$GPRMC,132946.00,A,5158.84540,N,00423.73276,E,19.987,165.24,120308,,,D*54
+$GPRMC,132947.00,A,5158.84010,N,00423.73508,E,20.082,164.90,120308,,,D*53
+$GPRMC,132948.00,A,5158.83474,N,00423.73742,E,20.295,165.18,120308,,,D*54
+$GPRMC,132949.00,A,5158.82932,N,00423.73977,E,20.475,165.17,120308,,,D*54
+$GPRMC,132950.00,A,5158.82384,N,00423.74215,E,20.652,165.29,120308,,,D*59
+$GPRMC,132951.00,A,5158.81832,N,00423.74456,E,20.893,165.25,120308,,,D*53
+$GPRMC,132952.00,A,5158.81271,N,00423.74700,E,21.192,165.27,120308,,,D*56
+$GPRMC,132953.00,A,5158.80701,N,00423.74948,E,21.524,165.09,120308,,,D*53
+$GPRMC,132954.00,A,5158.80123,N,00423.75202,E,21.814,165.13,120308,,,D*53
+$GPRMC,132955.00,A,5158.79534,N,00423.75462,E,22.390,164.97,120308,,,D*5F
+$GPRMC,132956.00,A,5158.78926,N,00423.75732,E,23.176,165.04,120308,,,D*54
+$GPRMC,132957.00,A,5158.78297,N,00423.76006,E,23.888,165.19,120308,,,A*56
+$GPRMC,132958.00,A,5158.77652,N,00423.76286,E,24.365,165.21,120308,,,A*55
+$GPRMC,132959.00,A,5158.76999,N,00423.76572,E,24.412,165.12,120308,,,A*56
+$GPRMC,133000.00,A,5158.76344,N,00423.76858,E,24.477,165.14,120308,,,A*58
+$GPRMC,133001.00,A,5158.75687,N,00423.77144,E,24.529,165.10,120308,,,A*5B
+$GPRMC,133002.00,A,5158.75029,N,00423.77431,E,24.516,165.01,120308,,,A*51
+$GPRMC,133003.00,A,5158.74374,N,00423.77715,E,24.332,165.25,120308,,,A*59
+$GPRMC,133004.00,A,5158.73723,N,00423.77994,E,24.198,165.38,120308,,,A*56
+$GPRMC,133005.00,A,5158.73074,N,00423.78270,E,24.098,165.50,120308,,,A*53
+$GPRMC,133006.00,A,5158.72426,N,00423.78540,E,23.994,165.64,120308,,,A*53
+$GPRMC,133007.00,A,5158.71782,N,00423.78809,E,23.951,165.76,120308,,,A*56
+$GPRMC,133008.00,A,5158.71140,N,00423.79075,E,23.846,165.76,120308,,,A*54
+$GPRMC,133009.00,A,5158.70501,N,00423.79345,E,23.777,165.43,120308,,,A*5E
+$GPRMC,133010.00,A,5158.69866,N,00423.79619,E,23.703,165.14,120308,,,A*5F
+$GPRMC,133011.00,A,5158.69236,N,00423.79891,E,23.540,165.15,120308,,,A*5B
+$GPRMC,133012.00,A,5158.68612,N,00423.80161,E,23.206,165.25,120308,,,A*5D
+$GPRMC,133013.00,A,5158.68001,N,00423.80424,E,22.379,165.33,120308,,,A*53
+$GPRMC,133014.00,A,5158.67421,N,00423.80670,E,21.032,165.40,120308,,,A*55
+$GPRMC,133015.00,A,5158.66891,N,00423.80894,E,18.658,165.32,120308,,,A*53
+$GPRMC,133016.00,A,5158.66427,N,00423.81089,E,16.130,165.31,120308,,,A*50
+$GPRMC,133017.00,A,5158.66024,N,00423.81261,E,14.320,164.91,120308,,,A*58
+$GPRMC,133018.00,A,5158.65654,N,00423.81421,E,13.656,164.97,120308,,,A*52
+$GPRMC,133019.00,A,5158.65301,N,00423.81573,E,13.060,165.03,120308,,,A*5F
+$GPRMC,133020.00,A,5158.64945,N,00423.81727,E,13.895,165.10,120308,,,A*5D
+$GPRMC,133021.00,A,5158.64558,N,00423.81893,E,15.150,165.21,120308,,,A*58
+$GPRMC,133022.00,A,5158.64139,N,00423.82072,E,16.346,165.26,120308,,,A*5D
+$GPRMC,133023.00,A,5158.63697,N,00423.82259,E,16.883,165.32,120308,,,A*54
+$GPRMC,133024.00,A,5158.63250,N,00423.82449,E,16.644,165.01,120308,,,A*5E
+$GPRMC,133025.00,A,5158.62803,N,00423.82644,E,16.897,164.91,120308,,,A*55
+$GPRMC,133026.00,A,5158.62339,N,00423.82847,E,17.911,164.79,120308,,,A*51
+$GPRMC,133027.00,A,5158.61846,N,00423.83064,E,18.993,164.67,120308,,,A*52
+$GPRMC,133028.00,A,5158.61330,N,00423.83294,E,19.590,164.55,120308,,,A*55
+$GPRMC,133029.00,A,5158.60795,N,00423.83535,E,20.330,164.37,120308,,,A*50
+$GPRMC,133030.00,A,5158.60231,N,00423.83787,E,21.695,164.68,120308,,,A*59
+$GPRMC,133031.00,A,5158.59638,N,00423.84038,E,22.390,165.90,120308,,,A*5E
+$GPRMC,133032.00,A,5158.59031,N,00423.84280,E,22.487,166.42,120308,,,A*5E
+$GPRMC,133033.00,A,5158.58423,N,00423.84518,E,22.554,166.62,120308,,,A*52
+$GPRMC,133034.00,A,5158.57813,N,00423.84756,E,22.607,166.26,120308,,,A*58
+$GPRMC,133035.00,A,5158.57206,N,00423.85002,E,22.442,165.52,120308,,,A*53
+$GPRMC,133036.00,A,5158.56607,N,00423.85259,E,22.089,164.83,120308,,,A*56
+$GPRMC,133037.00,A,5158.56021,N,00423.85520,E,21.619,164.38,120308,,,A*50
+$GPRMC,133038.00,A,5158.55448,N,00423.85777,E,21.117,164.65,120308,,,A*56
+$GPRMC,133039.00,A,5158.54886,N,00423.86021,E,20.713,165.37,120308,,,A*5A
+$GPRMC,133040.00,A,5158.54340,N,00423.86251,E,20.022,165.68,120308,,,A*5F
+$GPRMC,133041.00,A,5158.53823,N,00423.86467,E,18.522,165.61,120308,,,A*53
+$GPRMC,133042.00,A,5158.53360,N,00423.86661,E,16.216,165.54,120308,,,A*50
+$GPRMC,133043.00,A,5158.52957,N,00423.86830,E,14.061,165.15,120308,,,A*51
+$GPRMC,133044.00,A,5158.52611,N,00423.86978,E,12.034,165.11,120308,,,A*54
+$GPRMC,133045.00,A,5158.52319,N,00423.87101,E,10.135,165.21,120308,,,A*5E
+$GPRMC,133046.00,A,5158.52066,N,00423.87207,E,9.135,165.31,120308,,,A*6A
+$GPRMC,133047.00,A,5158.51835,N,00423.87302,E,8.518,165.37,120308,,,A*6E
+$GPRMC,133048.00,A,5158.51620,N,00423.87391,E,7.989,165.50,120308,,,A*6B
+$GPRMC,133049.00,A,5158.51422,N,00423.87473,E,7.316,165.56,120308,,,A*6B
+$GPRMC,133050.00,A,5158.51241,N,00423.87547,E,6.593,165.69,120308,,,A*60
+$GPRMC,133051.00,A,5158.51077,N,00423.87612,E,6.100,165.76,120308,,,A*65
+$GPRMC,133052.00,A,5158.50924,N,00423.87675,E,5.767,165.39,120308,,,A*66
+$GPRMC,133053.00,A,5158.50780,N,00423.87737,E,5.391,165.30,120308,,,A*64
+$GPRMC,133054.00,A,5158.50647,N,00423.87795,E,4.967,164.78,120308,,,A*6E
+$GPRMC,133055.00,A,5158.50526,N,00423.87849,E,4.506,164.64,120308,,,A*63
+$GPRMC,133056.00,A,5158.50415,N,00423.87900,E,4.120,164.37,120308,,,A*6B
+$GPRMC,133057.00,A,5158.50306,N,00423.87950,E,4.261,164.19,120308,,,A*60
+$GPRMC,133058.00,A,5158.50183,N,00423.88006,E,5.242,164.64,120308,,,A*6F
+$GPRMC,133059.00,A,5158.50032,N,00423.88073,E,6.229,164.98,120308,,,A*6A
+$GPRMC,133100.00,A,5158.49865,N,00423.88146,E,6.389,164.94,120308,,,A*65
+$GPRMC,133101.00,A,5158.49703,N,00423.88217,E,5.817,164.65,120308,,,A*6D
+$GPRMC,133102.00,A,5158.49552,N,00423.88284,E,5.648,164.64,120308,,,A*67
+$GPRMC,133103.00,A,5158.49402,N,00423.88349,E,5.727,164.54,120308,,,A*69
+$GPRMC,133104.00,A,5158.49241,N,00423.88421,E,6.411,164.67,120308,,,A*63
+$GPRMC,133105.00,A,5158.49058,N,00423.88504,E,7.344,164.68,120308,,,A*67
+$GPRMC,133106.00,A,5158.48840,N,00423.88601,E,8.907,164.76,120308,,,A*6F
+$GPRMC,133107.00,A,5158.48590,N,00423.88712,E,9.627,164.77,120308,,,A*60
+$GPRMC,133108.00,A,5158.48324,N,00423.88830,E,10.203,164.83,120308,,,A*58
+$GPRMC,133109.00,A,5158.48033,N,00423.88959,E,11.328,164.70,120308,,,A*57
+$GPRMC,133110.00,A,5158.47718,N,00423.89099,E,12.147,164.83,120308,,,A*5E
+$GPRMC,133111.00,A,5158.47386,N,00423.89244,E,12.429,164.90,120308,,,A*51
+$GPRMC,133112.00,A,5158.47051,N,00423.89389,E,12.407,165.15,120308,,,A*5B
+$GPRMC,133113.00,A,5158.46719,N,00423.89529,E,12.283,165.46,120308,,,A*50
+$GPRMC,133114.00,A,5158.46390,N,00423.89665,E,12.172,165.76,120308,,,A*57
+$GPRMC,133115.00,A,5158.46062,N,00423.89788,E,12.149,168.22,120308,,,A*5E
+$GPRMC,133116.00,A,5158.45736,N,00423.89922,E,12.265,165.76,120308,,,A*57
+$GPRMC,133117.00,A,5158.45402,N,00423.90063,E,12.577,165.80,120308,,,A*5B
+$GPRMC,133118.00,A,5158.45055,N,00423.90210,E,13.159,165.69,120308,,,A*5A
+$GPRMC,133119.00,A,5158.44690,N,00423.90370,E,14.020,165.30,120308,,,A*56
+$GPRMC,133120.00,A,5158.44302,N,00423.90538,E,14.773,165.16,120308,,,A*5D
+$GPRMC,133121.00,A,5158.43891,N,00423.90718,E,15.603,165.03,120308,,,A*59
+$GPRMC,133122.00,A,5158.43457,N,00423.90909,E,16.439,164.97,120308,,,A*56
+$GPRMC,133123.00,A,5158.43002,N,00423.91110,E,17.182,164.71,120308,,,A*5E
+$GPRMC,133124.00,A,5158.42527,N,00423.91321,E,17.926,164.89,120308,,,A*5B
+$GPRMC,133125.00,A,5158.42038,N,00423.91535,E,18.237,165.03,120308,,,A*55
+$GPRMC,133126.00,A,5158.41546,N,00423.91745,E,18.163,165.21,120308,,,A*5E
+$GPRMC,133127.00,A,5158.41058,N,00423.91954,E,17.970,165.31,120308,,,A*5F
+$GPRMC,133128.00,A,5158.40574,N,00423.92160,E,17.814,165.18,120308,,,A*5E
+$GPRMC,133129.00,A,5158.40089,N,00423.92367,E,18.151,165.04,120308,,,A*57
+$GPRMC,133130.00,A,5158.39589,N,00423.92583,E,18.821,165.08,120308,,,A*5A
+$GPRMC,133131.00,A,5158.39071,N,00423.92809,E,19.556,165.03,120308,,,A*51
+$GPRMC,133132.00,A,5158.38536,N,00423.93043,E,20.076,164.98,120308,,,A*5C
+$GPRMC,133133.00,A,5158.37986,N,00423.93285,E,20.702,164.89,120308,,,A*59
+$GPRMC,133134.00,A,5158.37418,N,00423.93537,E,21.454,164.86,120308,,,A*54
+$GPRMC,133135.00,A,5158.36843,N,00423.93793,E,21.257,164.73,120308,,,A*55
+$GPRMC,133136.00,A,5158.36272,N,00423.94043,E,21.063,165.16,120308,,,A*54
+$GPRMC,133137.00,A,5158.35688,N,00423.94289,E,22.040,165.63,120308,,,A*53
+$GPRMC,133138.00,A,5158.35073,N,00423.94541,E,23.322,165.97,120308,,,A*50
+$GPRMC,133139.00,A,5158.34429,N,00423.94803,E,24.216,165.82,120308,,,A*55
+$GPRMC,133140.00,A,5158.33768,N,00423.95081,E,24.606,165.16,120308,,,A*51
+$GPRMC,133141.00,A,5158.33103,N,00423.95375,E,24.693,164.61,120308,,,A*5E
+$GPRMC,133142.00,A,5158.32436,N,00423.95671,E,24.696,164.81,120308,,,A*55
+$GPRMC,133143.00,A,5158.31770,N,00423.95965,E,24.779,165.01,120308,,,A*55
+$GPRMC,133144.00,A,5158.31102,N,00423.96261,E,24.893,164.85,120308,,,A*5B
+$GPRMC,133145.00,A,5158.30428,N,00423.96560,E,25.163,164.71,120308,,,A*5C
+$GPRMC,133146.00,A,5158.29743,N,00423.96868,E,25.792,164.42,120308,,,A*54
+$GPRMC,133147.00,A,5158.29043,N,00423.97196,E,26.445,163.52,120308,,,A*57
+$GPRMC,133148.00,A,5158.28333,N,00423.97556,E,26.798,162.06,120308,,,A*56
+$GPRMC,133149.00,A,5158.27624,N,00423.97944,E,26.841,160.70,120308,,,A*5C
+$GPRMC,133150.00,A,5158.26920,N,00423.98353,E,26.867,159.94,120308,,,A*59
+$GPRMC,133151.00,A,5158.26218,N,00423.98771,E,26.924,159.72,120308,,,A*52
+$GPRMC,133152.00,A,5158.25514,N,00423.99195,E,27.115,159.32,120308,,,A*5B
+$GPRMC,133153.00,A,5158.24812,N,00423.99631,E,27.002,158.55,120308,,,A*5E
+$GPRMC,133154.00,A,5158.24122,N,00424.00079,E,26.625,157.80,120308,,,A*5B
+$GPRMC,133155.00,A,5158.23446,N,00424.00539,E,26.261,157.10,120308,,,A*56
+$GPRMC,133156.00,A,5158.22783,N,00424.01006,E,25.942,156.28,120308,,,A*55
+$GPRMC,133157.00,A,5158.22132,N,00424.01482,E,25.609,155.51,120308,,,A*5D
+$GPRMC,133158.00,A,5158.21489,N,00424.01968,E,25.487,154.73,120308,,,A*58
+$GPRMC,133159.00,A,5158.20853,N,00424.02466,E,25.386,153.94,120308,,,A*5B
+$GPRMC,133200.00,A,5158.20214,N,00424.02977,E,25.941,153.75,120308,,,A*5E
+$GPRMC,133201.00,A,5158.19565,N,00424.03496,E,26.036,153.84,120308,,,A*53
+$GPRMC,133202.00,A,5158.18922,N,00424.04010,E,25.663,153.90,120308,,,A*53
+$GPRMC,133203.00,A,5158.18288,N,00424.04516,E,25.321,153.95,120308,,,A*5C
+$GPRMC,133204.00,A,5158.17664,N,00424.05017,E,24.948,153.84,120308,,,A*53
+$GPRMC,133205.00,A,5158.17055,N,00424.05498,E,23.883,154.38,120308,,,A*54
+$GPRMC,133206.00,A,5158.16496,N,00424.05930,E,20.996,154.68,120308,,,A*51
+$GPRMC,133207.00,A,5158.16032,N,00424.06288,E,16.432,154.78,120308,,,A*56
+$GPRMC,133208.00,A,5158.15685,N,00424.06552,E,11.733,154.94,120308,,,A*57
+$GPRMC,133209.00,A,5158.15450,N,00424.06729,E,7.642,154.81,120308,,,A*66
+$GPRMC,133210.00,A,5158.15290,N,00424.06848,E,5.846,154.87,120308,,,A*62
+$GPRMC,133211.00,A,5158.15162,N,00424.06942,E,5.025,155.65,120308,,,A*66
+$GPRMC,133212.00,A,5158.15061,N,00424.07017,E,3.756,155.06,120308,,,A*6F
+$GPRMC,133213.00,A,5158.14986,N,00424.07076,E,2.914,154.37,120308,,,A*62
+$GPRMC,133214.00,A,5158.14926,N,00424.07124,E,2.600,155.03,120308,,,A*65
+$GPRMC,133215.00,A,5158.14874,N,00424.07165,E,2.254,154.93,120308,,,A*6A
+$GPRMC,133216.00,A,5158.14829,N,00424.07198,E,1.991,153.92,120308,,,A*64
+$GPRMC,133217.00,A,5158.14796,N,00424.07233,E,1.707,153.98,120308,,,A*67
+$GPRMC,133218.00,A,5158.14766,N,00424.07262,E,1.452,154.10,120308,,,A*67
+$GPRMC,133219.00,A,5158.14744,N,00424.07285,E,1.185,154.11,120308,,,A*61
+$GPRMC,133220.00,A,5158.14726,N,00424.07304,E,0.933,154.10,120308,,,A*62
+$GPRMC,133221.00,A,5158.14714,N,00424.07316,E,0.748,154.16,120308,,,A*65
+$GPRMC,133222.00,A,5158.14700,N,00424.07324,E,0.897,154.18,120308,,,A*61
+$GPRMC,133223.00,A,5158.14676,N,00424.07336,E,1.478,154.41,120308,,,A*63
+$GPRMC,133224.00,A,5158.14635,N,00424.07363,E,2.199,154.38,120308,,,A*64
+$GPRMC,133225.00,A,5158.14577,N,00424.07400,E,2.727,154.66,120308,,,A*6A
+$GPRMC,133226.00,A,5158.14516,N,00424.07450,E,2.725,154.25,120308,,,A*6E
+$GPRMC,133227.00,A,5158.14452,N,00424.07496,E,2.705,154.28,120308,,,A*6B
+$GPRMC,133228.00,A,5158.14390,N,00424.07545,E,2.641,154.32,120308,,,A*68
+$GPRMC,133229.00,A,5158.14328,N,00424.07595,E,2.712,153.97,120308,,,A*68
+$GPRMC,133230.00,A,5158.14265,N,00424.07648,E,2.759,154.08,120308,,,A*65
+$GPRMC,133231.00,A,5158.14200,N,00424.07702,E,2.721,153.73,120308,,,A*6C
+$GPRMC,133232.00,A,5158.14140,N,00424.07757,E,2.438,155.40,120308,,,A*65
+$GPRMC,133233.00,A,5158.14084,N,00424.07802,E,2.384,154.75,120308,,,A*65
+$GPRMC,133234.00,A,5158.14025,N,00424.07846,E,2.704,153.19,120308,,,A*68
+$GPRMC,133235.00,A,5158.13959,N,00424.07895,E,3.010,153.87,120308,,,A*66
+$GPRMC,133236.00,A,5158.13887,N,00424.07951,E,3.079,153.97,120308,,,A*60
+$GPRMC,133237.00,A,5158.13816,N,00424.08010,E,2.934,154.47,120308,,,A*61
+$GPRMC,133238.00,A,5158.13751,N,00424.08065,E,2.677,152.65,120308,,,D*6B
+$GPRMC,133239.00,A,5158.13694,N,00424.08113,E,2.364,153.13,120308,,,D*65
+$GPRMC,133240.00,A,5158.13644,N,00424.08153,E,2.085,151.95,120308,,,D*62
+$GPRMC,133241.00,A,5158.13598,N,00424.08191,E,1.737,152.01,120308,,,D*6C
+$GPRMC,133242.00,A,5158.13558,N,00424.08224,E,1.467,152.08,120308,,,D*61
+$GPRMC,133243.00,A,5158.13524,N,00424.08255,E,1.370,152.17,120308,,,D*62
+$GPRMC,133244.00,A,5158.13489,N,00424.08286,E,1.560,152.29,120308,,,D*67
+$GPRMC,133245.00,A,5158.13452,N,00424.08322,E,1.799,152.37,120308,,,D*64
+$GPRMC,133246.00,A,5158.13411,N,00424.08361,E,2.001,153.99,120308,,,D*67
+$GPRMC,133247.00,A,5158.13371,N,00424.08401,E,1.820,153.96,120308,,,D*61
+$GPRMC,133248.00,A,5158.13332,N,00424.08434,E,1.645,154.00,120308,,,D*6A
+$GPRMC,133249.00,A,5158.13298,N,00424.08463,E,1.444,154.00,120308,,,D*6B
+$GPRMC,133250.00,A,5158.13266,N,00424.08483,E,1.120,153.80,120308,,,D*64
+$GPRMC,133251.00,A,5158.13242,N,00424.08499,E,0.829,154.11,120308,,,D*66
+$GPRMC,133252.00,A,5158.13228,N,00424.08517,E,0.594,154.10,120308,,,D*64
+$GPRMC,133253.00,A,5158.13221,N,00424.08533,E,0.310,154.67,120308,,,D*60
+$GPRMC,133254.00,A,5158.13221,N,00424.08536,E,0.059,154.42,120308,,,D*6B
+$GPRMC,133255.00,A,5158.13224,N,00424.08534,E,0.044,159.88,120308,,,D*6A
+$GPRMC,133256.00,A,5158.13235,N,00424.08535,E,0.048,163.18,120308,,,D*64
+$GPRMC,133257.00,A,5158.13243,N,00424.08533,E,0.028,164.14,120308,,,D*6F
+$GPRMC,133258.00,A,5158.13245,N,00424.08525,E,0.017,,120308,,,D*75
+$GPRMC,133259.00,A,5158.13247,N,00424.08515,E,0.031,167.00,120308,,,D*6F
+$GPRMC,133300.00,A,5158.13249,N,00424.08509,E,0.059,170.89,120308,,,D*68
+$GPRMC,133301.00,A,5158.13255,N,00424.08508,E,0.017,,120308,,,D*76
+$GPRMC,133302.00,A,5158.13258,N,00424.08504,E,0.175,170.28,120308,,,D*63
+$GPRMC,133303.00,A,5158.13252,N,00424.08510,E,0.334,169.32,120308,,,D*69
+$GPRMC,133304.00,A,5158.13243,N,00424.08515,E,0.500,168.80,120308,,,D*62
+$GPRMC,133305.00,A,5158.13228,N,00424.08528,E,0.739,167.99,120308,,,D*6F
+$GPRMC,133306.00,A,5158.13203,N,00424.08542,E,1.085,167.24,120308,,,D*6E
+$GPRMC,133307.00,A,5158.13162,N,00424.08569,E,1.998,155.67,120308,,,D*61
+$GPRMC,133308.00,A,5158.13095,N,00424.08619,E,3.159,155.83,120308,,,D*6E
+$GPRMC,133309.00,A,5158.12994,N,00424.08687,E,4.311,156.87,120308,,,D*6F
+$GPRMC,133310.00,A,5158.12877,N,00424.08772,E,4.918,155.39,120308,,,D*65
+$GPRMC,133311.00,A,5158.12744,N,00424.08872,E,5.665,154.56,120308,,,D*68
+$GPRMC,133312.00,A,5158.12592,N,00424.08987,E,6.410,155.23,120308,,,D*69
+$GPRMC,133313.00,A,5158.12429,N,00424.09113,E,6.880,154.48,120308,,,D*64
+$GPRMC,133314.00,A,5158.12250,N,00424.09240,E,7.152,153.97,120308,,,D*6C
+$GPRMC,133315.00,A,5158.12069,N,00424.09362,E,6.999,154.99,120308,,,D*63
+$GPRMC,133316.00,A,5158.11891,N,00424.09480,E,6.718,154.42,120308,,,D*66
+$GPRMC,133317.00,A,5158.11727,N,00424.09601,E,6.353,154.74,120308,,,D*60
+$GPRMC,133318.00,A,5158.11572,N,00424.09718,E,6.144,154.13,120308,,,D*61
+$GPRMC,133319.00,A,5158.11420,N,00424.09835,E,6.041,154.11,120308,,,D*60
+$GPRMC,133320.00,A,5158.11269,N,00424.09956,E,5.982,153.79,120308,,,D*69
+$GPRMC,133321.00,A,5158.11117,N,00424.10074,E,6.049,154.03,120308,,,D*64
+$GPRMC,133322.00,A,5158.10958,N,00424.10197,E,6.417,154.11,120308,,,D*65
+$GPRMC,133323.00,A,5158.10779,N,00424.10341,E,7.820,154.85,120308,,,D*64
+$GPRMC,133324.00,A,5158.10558,N,00424.10513,E,9.617,154.46,120308,,,D*68
+$GPRMC,133325.00,A,5158.10302,N,00424.10711,E,10.618,154.25,120308,,,D*52
+$GPRMC,133326.00,A,5158.10039,N,00424.10913,E,10.227,154.21,120308,,,D*5A
+$GPRMC,133327.00,A,5158.09781,N,00424.11111,E,10.191,153.98,120308,,,D*57
+$GPRMC,133328.00,A,5158.09517,N,00424.11317,E,10.577,154.22,120308,,,D*5B
+$GPRMC,133329.00,A,5158.09237,N,00424.11535,E,11.415,154.54,120308,,,D*5C
+$GPRMC,133330.00,A,5158.08937,N,00424.11768,E,12.054,154.43,120308,,,D*50
+$GPRMC,133331.00,A,5158.08625,N,00424.12016,E,12.530,154.15,120308,,,D*54
+$GPRMC,133332.00,A,5158.08303,N,00424.12279,E,12.991,153.90,120308,,,D*50
+$GPRMC,133333.00,A,5158.07975,N,00424.12544,E,12.904,154.37,120308,,,D*5A
+$GPRMC,133334.00,A,5158.07649,N,00424.12805,E,12.831,154.04,120308,,,D*52
+$GPRMC,133335.00,A,5158.07326,N,00424.13058,E,12.770,154.33,120308,,,D*50
+$GPRMC,133336.00,A,5158.07006,N,00424.13306,E,12.677,154.20,120308,,,D*5E
+$GPRMC,133337.00,A,5158.06688,N,00424.13554,E,12.466,154.47,120308,,,D*5C
+$GPRMC,133338.00,A,5158.06378,N,00424.13794,E,12.184,154.29,120308,,,D*56
+$GPRMC,133339.00,A,5158.06076,N,00424.14029,E,11.892,154.33,120308,,,D*5A
+$GPRMC,133340.00,A,5158.05780,N,00424.14259,E,11.627,154.37,120308,,,D*58
+$GPRMC,133341.00,A,5158.05489,N,00424.14486,E,11.462,154.25,120308,,,D*57
+$GPRMC,133342.00,A,5158.05199,N,00424.14712,E,11.585,154.15,120308,,,D*55
+$GPRMC,133343.00,A,5158.04906,N,00424.14940,E,11.639,154.19,120308,,,D*5A
+$GPRMC,133344.00,A,5158.04612,N,00424.15171,E,11.569,154.13,120308,,,D*50
+$GPRMC,133345.00,A,5158.04320,N,00424.15400,E,11.535,154.16,120308,,,D*5A
+$GPRMC,133346.00,A,5158.04030,N,00424.15632,E,11.455,154.22,120308,,,D*58
+$GPRMC,133347.00,A,5158.03745,N,00424.15862,E,11.184,153.85,120308,,,D*53
+$GPRMC,133348.00,A,5158.03467,N,00424.16086,E,10.842,154.08,120308,,,D*5E
+$GPRMC,133349.00,A,5158.03198,N,00424.16302,E,10.531,153.94,120308,,,D*5E
+$GPRMC,133350.00,A,5158.02937,N,00424.16512,E,10.290,153.42,120308,,,D*5A
+$GPRMC,133351.00,A,5158.02683,N,00424.16716,E,10.091,153.88,120308,,,D*58
+$GPRMC,133352.00,A,5158.02431,N,00424.16918,E,10.037,153.95,120308,,,D*50
+$GPRMC,133353.00,A,5158.02179,N,00424.17124,E,9.869,153.99,120308,,,D*69
+$GPRMC,133354.00,A,5158.01935,N,00424.17320,E,9.788,153.84,120308,,,D*67
+$GPRMC,133355.00,A,5158.01693,N,00424.17512,E,9.631,153.92,120308,,,D*66
+$GPRMC,133356.00,A,5158.01455,N,00424.17701,E,9.473,153.91,120308,,,D*6A
+$GPRMC,133357.00,A,5158.01217,N,00424.17890,E,9.651,153.87,120308,,,D*69
+$GPRMC,133358.00,A,5158.00971,N,00424.18085,E,10.025,154.06,120308,,,D*5C
+$GPRMC,133359.00,A,5158.00713,N,00424.18285,E,10.426,154.21,120308,,,D*57
+$GPRMC,133400.00,A,5158.00445,N,00424.18495,E,10.900,154.22,120308,,,D*51
+$GPRMC,133401.00,A,5158.00163,N,00424.18717,E,11.501,154.13,120308,,,D*56
+$GPRMC,133402.00,A,5157.99870,N,00424.18945,E,11.750,154.37,120308,,,D*58
+$GPRMC,133403.00,A,5157.99574,N,00424.19175,E,11.791,154.34,120308,,,D*54
+$GPRMC,133404.00,A,5157.99280,N,00424.19402,E,11.522,154.25,120308,,,D*50
+$GPRMC,133405.00,A,5157.98994,N,00424.19620,E,11.183,154.60,120308,,,D*52
+$GPRMC,133406.00,A,5157.98716,N,00424.19830,E,10.910,154.09,120308,,,D*56
+$GPRMC,133407.00,A,5157.98447,N,00424.20039,E,10.636,154.41,120308,,,D*5C
+$GPRMC,133408.00,A,5157.98181,N,00424.20240,E,10.422,154.12,120308,,,D*51
+$GPRMC,133409.00,A,5157.97922,N,00424.20436,E,10.266,154.33,120308,,,D*5C
+$GPRMC,133410.00,A,5157.97664,N,00424.20625,E,10.180,154.72,120308,,,D*57
+$GPRMC,133411.00,A,5157.97412,N,00424.20812,E,9.988,154.73,120308,,,D*66
+$GPRMC,133412.00,A,5157.97162,N,00424.21001,E,9.856,154.53,120308,,,D*6C
+$GPRMC,133413.00,A,5157.96916,N,00424.21191,E,9.741,154.14,120308,,,D*65
+$GPRMC,133414.00,A,5157.96675,N,00424.21377,E,9.467,154.56,120308,,,D*63
+$GPRMC,133415.00,A,5157.96441,N,00424.21559,E,9.225,154.54,120308,,,D*6F
+$GPRMC,133416.00,A,5157.96213,N,00424.21735,E,8.908,154.24,120308,,,D*67
+$GPRMC,133417.00,A,5157.95996,N,00424.21900,E,8.597,154.38,120308,,,D*6C
+$GPRMC,133418.00,A,5157.95783,N,00424.22060,E,8.205,155.58,120308,,,D*6E
+$GPRMC,133419.00,A,5157.95584,N,00424.22186,E,8.355,153.67,120308,,,D*6D
+$GPRMC,133420.00,A,5157.95392,N,00424.22315,E,7.350,153.78,120308,,,D*6A
+$GPRMC,133421.00,A,5157.95237,N,00424.22428,E,5.418,152.69,120308,,,D*64
+$GPRMC,133422.00,A,5157.95139,N,00424.22495,E,3.098,152.89,120308,,,D*68
+$GPRMC,133423.00,A,5157.95095,N,00424.22526,E,1.093,152.93,120308,,,D*65
+$GPRMC,133424.00,A,5157.95084,N,00424.22534,E,0.261,153.26,120308,,,D*60
+$GPRMC,133425.00,A,5157.95086,N,00424.22530,E,0.053,153.02,120308,,,D*62
+$GPRMC,133426.00,A,5157.95091,N,00424.22521,E,0.002,,120308,,,D*78
+$GPRMC,133427.00,A,5157.95094,N,00424.22513,E,0.028,154.15,120308,,,D*6F
+$GPRMC,133428.00,A,5157.95097,N,00424.22504,E,0.018,,120308,,,D*7C
+$GPRMC,133429.00,A,5157.95100,N,00424.22502,E,0.143,150.47,120308,,,D*62
+$GPRMC,133430.00,A,5157.95101,N,00424.22499,E,0.023,145.55,120308,,,D*68
+$GPRMC,133431.00,A,5157.95100,N,00424.22499,E,0.039,145.04,120308,,,D*67
+$GPRMC,133432.00,A,5157.95099,N,00424.22501,E,0.038,145.13,120308,,,D*62
+$GPRMC,133433.00,A,5157.95097,N,00424.22505,E,0.219,146.14,120308,,,D*6C
+$GPRMC,133434.00,A,5157.95086,N,00424.22517,E,0.781,146.58,120308,,,D*64
+$GPRMC,133435.00,A,5157.95051,N,00424.22552,E,2.095,153.73,120308,,,D*63
+$GPRMC,133436.00,A,5157.94982,N,00424.22613,E,3.505,154.52,120308,,,D*69
+$GPRMC,133437.00,A,5157.94874,N,00424.22702,E,5.178,152.41,120308,,,D*6D
+$GPRMC,133438.00,A,5157.94728,N,00424.22823,E,6.641,153.50,120308,,,D*67
+$GPRMC,133439.00,A,5157.94564,N,00424.22952,E,6.490,154.67,120308,,,D*66
+$GPRMC,133440.00,A,5157.94404,N,00424.23076,E,6.239,153.79,120308,,,D*6C
+$GPRMC,133441.00,A,5157.94252,N,00424.23190,E,5.940,154.30,120308,,,D*6D
+$GPRMC,133442.00,A,5157.94107,N,00424.23301,E,5.697,155.11,120308,,,D*60
+$GPRMC,133443.00,A,5157.93963,N,00424.23411,E,5.793,154.05,120308,,,D*6B
+$GPRMC,133444.00,A,5157.93818,N,00424.23524,E,5.816,154.33,120308,,,D*61
+$GPRMC,133445.00,A,5157.93673,N,00424.23640,E,5.856,154.17,120308,,,D*60
+$GPRMC,133446.00,A,5157.93522,N,00424.23759,E,6.177,154.12,120308,,,D*61
+$GPRMC,133447.00,A,5157.93359,N,00424.23890,E,6.765,154.45,120308,,,D*67
+$GPRMC,133448.00,A,5157.93181,N,00424.24034,E,7.326,154.59,120308,,,D*61
+$GPRMC,133449.00,A,5157.92989,N,00424.24188,E,7.823,154.30,120308,,,D*66
+$GPRMC,133450.00,A,5157.92784,N,00424.24353,E,8.407,154.33,120308,,,D*6F
+$GPRMC,133451.00,A,5157.92562,N,00424.24524,E,9.046,154.53,120308,,,D*64
+$GPRMC,133452.00,A,5157.92327,N,00424.24708,E,9.556,154.42,120308,,,D*68
+$GPRMC,133453.00,A,5157.92081,N,00424.24903,E,9.897,154.31,120308,,,D*67
+$GPRMC,133454.00,A,5157.91826,N,00424.25098,E,10.145,154.41,120308,,,D*55
+$GPRMC,133455.00,A,5157.91566,N,00424.25306,E,10.514,154.32,120308,,,D*5D
+$GPRMC,133456.00,A,5157.91298,N,00424.25523,E,10.940,154.53,120308,,,D*53
+$GPRMC,133457.00,A,5157.91022,N,00424.25742,E,11.172,154.32,120308,,,D*5B
+$GPRMC,133458.00,A,5157.90742,N,00424.25964,E,11.312,154.53,120308,,,D*5D
+$GPRMC,133459.00,A,5157.90456,N,00424.26188,E,11.537,154.37,120308,,,D*50
+$GPRMC,133500.00,A,5157.90164,N,00424.26416,E,11.755,154.10,120308,,,D*58
+$GPRMC,133501.00,A,5157.89865,N,00424.26649,E,12.126,154.13,120308,,,D*53
+$GPRMC,133502.00,A,5157.89556,N,00424.26889,E,12.495,153.93,120308,,,D*5D
+$GPRMC,133503.00,A,5157.89241,N,00424.27139,E,12.627,154.03,120308,,,D*5B
+$GPRMC,133504.00,A,5157.88922,N,00424.27393,E,12.710,153.84,120308,,,D*5C
+$GPRMC,133505.00,A,5157.88602,N,00424.27648,E,12.772,154.19,120308,,,D*54
+$GPRMC,133506.00,A,5157.88277,N,00424.27908,E,13.004,153.95,120308,,,D*5E
+$GPRMC,133507.00,A,5157.87946,N,00424.28173,E,13.278,154.10,120308,,,D*51
+$GPRMC,133508.00,A,5157.87609,N,00424.28436,E,13.385,154.23,120308,,,D*5D
+$GPRMC,133509.00,A,5157.87269,N,00424.28700,E,13.442,154.38,120308,,,D*5E
+$GPRMC,133510.00,A,5157.86929,N,00424.28962,E,13.440,154.68,120308,,,D*55
+$GPRMC,133511.00,A,5157.86587,N,00424.29222,E,13.569,154.42,120308,,,D*50
+$GPRMC,133512.00,A,5157.86244,N,00424.29483,E,13.581,154.54,120308,,,D*57
+$GPRMC,133513.00,A,5157.85899,N,00424.29743,E,13.796,154.29,120308,,,D*5E
+$GPRMC,133514.00,A,5157.85550,N,00424.30006,E,14.041,154.32,120308,,,D*5F
+$GPRMC,133515.00,A,5157.85192,N,00424.30277,E,14.370,154.45,120308,,,D*51
+$GPRMC,133516.00,A,5157.84827,N,00424.30555,E,14.634,154.37,120308,,,D*53
+$GPRMC,133517.00,A,5157.84454,N,00424.30842,E,14.931,154.51,120308,,,D*5B
+$GPRMC,133518.00,A,5157.84073,N,00424.31144,E,15.327,154.27,120308,,,D*56
+$GPRMC,133519.00,A,5157.83683,N,00424.31454,E,15.798,154.50,120308,,,D*5D
+$GPRMC,133520.00,A,5157.83274,N,00424.31774,E,16.585,154.38,120308,,,D*59
+$GPRMC,133521.00,A,5157.82851,N,00424.32111,E,17.356,154.56,120308,,,D*53
+$GPRMC,133522.00,A,5157.82413,N,00424.32454,E,17.761,154.19,120308,,,D*55
+$GPRMC,133523.00,A,5157.81971,N,00424.32807,E,17.880,154.34,120308,,,D*5B
+$GPRMC,133524.00,A,5157.81526,N,00424.33160,E,17.907,154.25,120308,,,D*55
+$GPRMC,133525.00,A,5157.81081,N,00424.33514,E,17.838,154.12,120308,,,D*52
+$GPRMC,133526.00,A,5157.80638,N,00424.33863,E,17.622,154.16,120308,,,D*58
+$GPRMC,133527.00,A,5157.80200,N,00424.34208,E,17.390,154.56,120308,,,D*5E
+$GPRMC,133528.00,A,5157.79762,N,00424.34548,E,17.405,154.56,120308,,,D*5E
+$GPRMC,133529.00,A,5157.79329,N,00424.34884,E,17.266,154.20,120308,,,D*5B
+$GPRMC,133530.00,A,5157.78904,N,00424.35220,E,17.130,154.02,120308,,,D*52
+$GPRMC,133531.00,A,5157.78480,N,00424.35549,E,17.099,154.00,120308,,,D*5A
+$GPRMC,133532.00,A,5157.78056,N,00424.35879,E,17.053,154.17,120308,,,D*58
+$GPRMC,133533.00,A,5157.77632,N,00424.36214,E,17.046,154.03,120308,,,D*51
+$GPRMC,133534.00,A,5157.77208,N,00424.36547,E,17.081,153.99,120308,,,D*55
+$GPRMC,133535.00,A,5157.76790,N,00424.36874,E,16.745,155.11,120308,,,D*54
+$GPRMC,133536.00,A,5157.76372,N,00424.37195,E,16.924,154.33,120308,,,D*50
+$GPRMC,133537.00,A,5157.75949,N,00424.37528,E,16.964,154.01,120308,,,D*57
+$GPRMC,133538.00,A,5157.75529,N,00424.37843,E,16.672,155.04,120308,,,D*5E
+$GPRMC,133539.00,A,5157.75109,N,00424.38164,E,16.912,154.47,120308,,,D*55
+$GPRMC,133540.00,A,5157.74681,N,00424.38493,E,17.192,154.68,120308,,,D*5C
+$GPRMC,133541.00,A,5157.74242,N,00424.38834,E,17.718,154.47,120308,,,D*5E
+$GPRMC,133542.00,A,5157.73795,N,00424.39178,E,18.002,154.37,120308,,,D*51
+$GPRMC,133543.00,A,5157.73341,N,00424.39510,E,18.193,154.57,120308,,,D*58
+$GPRMC,133544.00,A,5157.72882,N,00424.39858,E,18.402,154.56,120308,,,D*57
+$GPRMC,133545.00,A,5157.72411,N,00424.40214,E,18.885,154.36,120308,,,D*59
+$GPRMC,133546.00,A,5157.71931,N,00424.40583,E,19.253,154.41,120308,,,D*5F
+$GPRMC,133547.00,A,5157.71438,N,00424.40968,E,19.376,154.33,120308,,,D*50
+$GPRMC,133548.00,A,5157.70937,N,00424.41357,E,19.889,154.37,120308,,,D*54
+$GPRMC,133549.00,A,5157.70428,N,00424.41755,E,20.345,154.33,120308,,,D*55
+$GPRMC,133550.00,A,5157.69913,N,00424.42156,E,20.746,154.25,120308,,,D*56
+$GPRMC,133551.00,A,5157.69390,N,00424.42563,E,21.025,154.30,120308,,,D*53
+$GPRMC,133552.00,A,5157.68863,N,00424.42974,E,21.094,154.23,120308,,,D*54
+$GPRMC,133553.00,A,5157.68324,N,00424.43395,E,21.259,154.08,120308,,,D*53
+$GPRMC,133554.00,A,5157.67774,N,00424.43813,E,21.290,154.22,120308,,,D*52
+$GPRMC,133555.00,A,5157.67233,N,00424.44238,E,21.386,154.46,120308,,,D*55
+$GPRMC,133556.00,A,5157.66687,N,00424.44661,E,21.544,154.68,120308,,,D*50
+$GPRMC,133557.00,A,5157.66140,N,00424.45083,E,21.435,154.49,120308,,,D*52
+$GPRMC,133558.00,A,5157.65601,N,00424.45505,E,21.187,154.47,120308,,,D*55
+$GPRMC,133559.00,A,5157.65076,N,00424.45930,E,20.950,154.46,120308,,,D*5A
+$GPRMC,133600.00,A,5157.64557,N,00424.46349,E,20.670,154.51,120308,,,D*5E
+$GPRMC,133601.00,A,5157.64044,N,00424.46759,E,20.421,154.46,120308,,,D*5D
+$GPRMC,133602.00,A,5157.63534,N,00424.47161,E,20.154,154.35,120308,,,D*54
+$GPRMC,133603.00,A,5157.63037,N,00424.47564,E,19.862,154.10,120308,,,D*53
+$GPRMC,133604.00,A,5157.62547,N,00424.47962,E,19.512,153.93,120308,,,D*5B
+$GPRMC,133605.00,A,5157.62072,N,00424.48358,E,18.965,151.94,120308,,,D*5D
+$GPRMC,133606.00,A,5157.61612,N,00424.48753,E,18.771,153.26,120308,,,D*52
+$GPRMC,133607.00,A,5157.61151,N,00424.49127,E,18.533,153.43,120308,,,D*50
+$GPRMC,133608.00,A,5157.60692,N,00424.49500,E,18.543,153.41,120308,,,D*52
+$GPRMC,133609.00,A,5157.60223,N,00424.49869,E,18.850,153.74,120308,,,D*56
+$GPRMC,133610.00,A,5157.59742,N,00424.50240,E,19.235,153.89,120308,,,D*55
+$GPRMC,133611.00,A,5157.59253,N,00424.50621,E,19.579,153.86,120308,,,D*52
+$GPRMC,133612.00,A,5157.58754,N,00424.51008,E,19.908,153.96,120308,,,D*55
+$GPRMC,133613.00,A,5157.58253,N,00424.51411,E,20.262,153.92,120308,,,D*53
+$GPRMC,133614.00,A,5157.57745,N,00424.51820,E,20.600,154.04,120308,,,D*5F
+$GPRMC,133615.00,A,5157.57228,N,00424.52238,E,21.036,154.00,120308,,,D*56
+$GPRMC,133616.00,A,5157.56697,N,00424.52665,E,21.579,153.97,120308,,,D*5F
+$GPRMC,133617.00,A,5157.56151,N,00424.53104,E,22.368,153.97,120308,,,D*57
+$GPRMC,133618.00,A,5157.55583,N,00424.53560,E,23.280,154.21,120308,,,D*5A
+$GPRMC,133619.00,A,5157.54998,N,00424.54026,E,23.500,154.01,120308,,,D*51
+$GPRMC,133620.00,A,5157.54417,N,00424.54483,E,23.269,154.05,120308,,,D*56
+$GPRMC,133621.00,A,5157.53835,N,00424.54936,E,23.364,154.29,120308,,,D*5D
+$GPRMC,133622.00,A,5157.53244,N,00424.55397,E,23.905,154.27,120308,,,D*51
+$GPRMC,133623.00,A,5157.52637,N,00424.55865,E,24.494,154.41,120308,,,D*55
+$GPRMC,133624.00,A,5157.52014,N,00424.56341,E,25.048,154.83,120308,,,D*51
+$GPRMC,133625.00,A,5157.51380,N,00424.56813,E,25.313,154.77,120308,,,D*57
+$GPRMC,133626.00,A,5157.50744,N,00424.57290,E,25.169,154.50,120308,,,D*53
+$GPRMC,133627.00,A,5157.50117,N,00424.57768,E,25.023,154.23,120308,,,D*5B
+$GPRMC,133628.00,A,5157.49494,N,00424.58254,E,24.779,153.98,120308,,,D*59
+$GPRMC,133629.00,A,5157.48881,N,00424.58737,E,24.357,153.89,120308,,,D*59
+$GPRMC,133630.00,A,5157.48280,N,00424.59212,E,23.867,154.05,120308,,,D*55
+$GPRMC,133631.00,A,5157.47684,N,00424.59682,E,23.715,154.14,120308,,,D*5C
+$GPRMC,133632.00,A,5157.47090,N,00424.60151,E,23.771,154.25,120308,,,D*5F
+$GPRMC,133633.00,A,5157.46490,N,00424.60621,E,24.059,154.37,120308,,,D*52
+$GPRMC,133634.00,A,5157.45881,N,00424.61097,E,24.479,154.47,120308,,,D*51
+$GPRMC,133635.00,A,5157.45258,N,00424.61581,E,24.983,154.44,120308,,,D*57
+$GPRMC,133636.00,A,5157.44627,N,00424.62072,E,25.172,154.41,120308,,,D*51
+$GPRMC,133637.00,A,5157.43995,N,00424.62566,E,25.118,154.34,120308,,,D*5F
+$GPRMC,133638.00,A,5157.43369,N,00424.63061,E,24.932,154.19,120308,,,D*54
+$GPRMC,133639.00,A,5157.42751,N,00424.63551,E,24.696,154.06,120308,,,D*52
+$GPRMC,133640.00,A,5157.42138,N,00424.64040,E,24.394,153.88,120308,,,D*51
+$GPRMC,133641.00,A,5157.41537,N,00424.64525,E,23.898,153.68,120308,,,D*50
+$GPRMC,133642.00,A,5157.40951,N,00424.64996,E,23.136,153.80,120308,,,D*51
+$GPRMC,133643.00,A,5157.40383,N,00424.65448,E,22.357,154.35,120308,,,D*57
+$GPRMC,133644.00,A,5157.39832,N,00424.65875,E,21.605,154.73,120308,,,D*5E
+$GPRMC,133645.00,A,5157.39298,N,00424.66281,E,20.859,154.84,120308,,,D*59
+$GPRMC,133646.00,A,5157.38784,N,00424.66673,E,20.136,154.78,120308,,,D*59
+$GPRMC,133647.00,A,5157.38290,N,00424.67050,E,19.298,154.75,120308,,,D*5E
+$GPRMC,133648.00,A,5157.37808,N,00424.67401,E,18.657,156.08,120308,,,D*5B
+$GPRMC,133649.00,A,5157.37338,N,00424.67711,E,17.951,159.02,120308,,,D*53
+$GPRMC,133650.00,A,5157.36884,N,00424.67981,E,16.990,160.54,120308,,,D*54
+$GPRMC,133651.00,A,5157.36456,N,00424.68228,E,15.721,159.82,120308,,,D*57
+$GPRMC,133652.00,A,5157.36074,N,00424.68468,E,13.956,157.77,120308,,,D*5E
+$GPRMC,133653.00,A,5157.35747,N,00424.68694,E,11.975,156.17,120308,,,D*5E
+$GPRMC,133654.00,A,5157.35486,N,00424.68888,E,9.161,155.41,120308,,,D*60
+$GPRMC,133655.00,A,5157.35299,N,00424.69031,E,6.434,154.84,120308,,,D*60
+$GPRMC,133656.00,A,5157.35178,N,00424.69129,E,4.036,154.85,120308,,,D*62
+$GPRMC,133657.00,A,5157.35114,N,00424.69182,E,1.835,154.82,120308,,,D*61
+$GPRMC,133658.00,A,5157.35094,N,00424.69195,E,0.437,154.79,120308,,,D*6A
+$GPRMC,133659.00,A,5157.35097,N,00424.69193,E,0.056,154.42,120308,,,D*65
+$GPRMC,133700.00,A,5157.35105,N,00424.69186,E,0.003,,120308,,,D*7E
+$GPRMC,133701.00,A,5157.35113,N,00424.69178,E,0.009,,120308,,,D*73
+$GPRMC,133702.00,A,5157.35119,N,00424.69170,E,0.007,,120308,,,D*7C
+$GPRMC,133703.00,A,5157.35127,N,00424.69165,E,0.030,157.04,120308,,,D*69
+$GPRMC,133704.00,A,5157.35131,N,00424.69166,E,0.401,156.84,120308,,,D*65
+$GPRMC,133705.00,A,5157.35114,N,00424.69183,E,1.612,156.67,120308,,,D*64
+$GPRMC,133706.00,A,5157.35069,N,00424.69218,E,2.515,153.98,120308,,,D*6F
+$GPRMC,133707.00,A,5157.35005,N,00424.69266,E,3.038,153.84,120308,,,D*6B
+$GPRMC,133708.00,A,5157.34933,N,00424.69322,E,3.206,154.17,120308,,,D*6A
+$GPRMC,133709.00,A,5157.34859,N,00424.69378,E,3.126,153.71,120308,,,D*6F
+$GPRMC,133710.00,A,5157.34787,N,00424.69433,E,2.985,153.48,120308,,,D*69
+$GPRMC,133711.00,A,5157.34711,N,00424.69493,E,3.486,153.20,120308,,,D*6C
+$GPRMC,133712.00,A,5157.34613,N,00424.69570,E,4.670,153.08,120308,,,D*66
+$GPRMC,133713.00,A,5157.34490,N,00424.69670,E,5.570,152.94,120308,,,D*6B
+$GPRMC,133714.00,A,5157.34346,N,00424.69787,E,6.252,153.33,120308,,,D*61
+$GPRMC,133715.00,A,5157.34189,N,00424.69911,E,6.551,153.56,120308,,,D*67
+$GPRMC,133716.00,A,5157.34030,N,00424.70038,E,6.494,153.63,120308,,,D*63
+$GPRMC,133717.00,A,5157.33870,N,00424.70162,E,6.452,153.87,120308,,,D*67
+$GPRMC,133718.00,A,5157.33706,N,00424.70288,E,6.828,154.47,120308,,,D*6B
+$GPRMC,133719.00,A,5157.33525,N,00424.70421,E,7.680,154.26,120308,,,D*66
+$GPRMC,133720.00,A,5157.33322,N,00424.70577,E,8.645,154.15,120308,,,D*69
+$GPRMC,133721.00,A,5157.33093,N,00424.70756,E,9.660,154.09,120308,,,D*6B
+$GPRMC,133722.00,A,5157.32842,N,00424.70953,E,10.469,154.38,120308,,,D*57
+$GPRMC,133723.00,A,5157.32578,N,00424.71166,E,10.806,154.08,120308,,,D*5B
+$GPRMC,133724.00,A,5157.32311,N,00424.71382,E,10.776,153.85,120308,,,D*57
+$GPRMC,133725.00,A,5157.32046,N,00424.71594,E,10.453,155.29,120308,,,D*52
+$GPRMC,133726.00,A,5157.31786,N,00424.71803,E,10.309,154.52,120308,,,D*5F
+$GPRMC,133727.00,A,5157.31544,N,00424.71993,E,9.249,154.61,120308,,,D*67
+$GPRMC,133728.00,A,5157.31338,N,00424.72153,E,7.531,154.63,120308,,,D*66
+$GPRMC,133729.00,A,5157.31180,N,00424.72276,E,5.387,155.10,120308,,,D*6E
+$GPRMC,133730.00,A,5157.31068,N,00424.72356,E,3.849,154.58,120308,,,D*60
+$GPRMC,133731.00,A,5157.30983,N,00424.72418,E,3.202,154.83,120308,,,D*62
+$GPRMC,133732.00,A,5157.30911,N,00424.72474,E,2.852,154.49,120308,,,D*68
+$GPRMC,133733.00,A,5157.30844,N,00424.72524,E,2.766,154.72,120308,,,D*6C
+$GPRMC,133734.00,A,5157.30772,N,00424.72579,E,3.199,155.21,120308,,,D*69
+$GPRMC,133735.00,A,5157.30683,N,00424.72646,E,3.992,152.85,120308,,,D*62
+$GPRMC,133736.00,A,5157.30574,N,00424.72732,E,4.907,154.72,120308,,,D*6D
+$GPRMC,133737.00,A,5157.30444,N,00424.72831,E,5.656,155.07,120308,,,D*6B
+$GPRMC,133738.00,A,5157.30299,N,00424.72944,E,6.079,155.18,120308,,,D*67
+$GPRMC,133739.00,A,5157.30148,N,00424.73054,E,6.053,156.66,120308,,,D*62
+$GPRMC,133740.00,A,5157.29987,N,00424.73159,E,6.570,154.67,120308,,,D*64
+$GPRMC,133741.00,A,5157.29823,N,00424.73292,E,6.764,154.43,120308,,,D*6F
+$GPRMC,133742.00,A,5157.29653,N,00424.73421,E,6.970,154.37,120308,,,D*63
+$GPRMC,133743.00,A,5157.29480,N,00424.73555,E,7.102,154.62,120308,,,D*60
+$GPRMC,133744.00,A,5157.29304,N,00424.73691,E,7.168,153.41,120308,,,D*6D
+$GPRMC,133745.00,A,5157.29130,N,00424.73828,E,6.829,154.00,120308,,,D*6A
+$GPRMC,133746.00,A,5157.28966,N,00424.73947,E,6.396,154.39,120308,,,D*6E
+$GPRMC,133747.00,A,5157.28822,N,00424.74054,E,5.466,156.79,120308,,,D*6F
+$GPRMC,133748.00,A,5157.28699,N,00424.74148,E,4.586,153.65,120308,,,D*64
+$GPRMC,133749.00,A,5157.28589,N,00424.74241,E,4.370,153.95,120308,,,D*6D
+$GPRMC,133750.00,A,5157.28481,N,00424.74335,E,4.817,153.60,120308,,,D*6E
+$GPRMC,133751.00,A,5157.28357,N,00424.74437,E,5.456,153.70,120308,,,D*6F
+$GPRMC,133752.00,A,5157.28215,N,00424.74553,E,6.025,154.58,120308,,,D*66
+$GPRMC,133753.00,A,5157.28063,N,00424.74672,E,6.455,153.75,120308,,,D*6F
+$GPRMC,133754.00,A,5157.27904,N,00424.74789,E,6.404,154.28,120308,,,D*61
+$GPRMC,133755.00,A,5157.27745,N,00424.74913,E,6.443,154.14,120308,,,D*6A
+$GPRMC,133756.00,A,5157.27582,N,00424.75024,E,6.931,153.69,120308,,,D*69
+$GPRMC,133757.00,A,5157.27403,N,00424.75151,E,7.526,153.71,120308,,,D*61
+$GPRMC,133758.00,A,5157.27215,N,00424.75285,E,7.771,153.34,120308,,,D*64
+$GPRMC,133759.00,A,5157.27025,N,00424.75431,E,7.575,154.20,120308,,,D*69
+$GPRMC,133800.00,A,5157.26839,N,00424.75561,E,7.453,154.33,120308,,,D*6D
+$GPRMC,133801.00,A,5157.26656,N,00424.75689,E,7.345,154.32,120308,,,D*6F
+$GPRMC,133802.00,A,5157.26477,N,00424.75814,E,7.072,154.89,120308,,,D*60
+$GPRMC,133803.00,A,5157.26304,N,00424.75929,E,6.986,155.04,120308,,,D*6A
+$GPRMC,133804.00,A,5157.26131,N,00424.76046,E,7.205,155.23,120308,,,D*6E
+$GPRMC,133805.00,A,5157.25946,N,00424.76183,E,7.721,155.03,120308,,,D*6D
+$GPRMC,133806.00,A,5157.25748,N,00424.76333,E,8.165,154.78,120308,,,D*63
+$GPRMC,133807.00,A,5157.25533,N,00424.76514,E,8.185,154.88,120308,,,D*6E
+$GPRMC,133808.00,A,5157.25326,N,00424.76673,E,7.946,154.84,120308,,,D*65
+$GPRMC,133809.00,A,5157.25119,N,00424.76834,E,7.613,154.63,120308,,,D*61
+$GPRMC,133810.00,A,5157.24926,N,00424.76997,E,7.036,153.02,120308,,,D*65
+$GPRMC,133811.00,A,5157.24749,N,00424.77138,E,7.113,153.18,120308,,,D*62
+$GPRMC,133812.00,A,5157.24569,N,00424.77261,E,7.442,153.18,120308,,,D*6F
+$GPRMC,133813.00,A,5157.24348,N,00424.77436,E,8.924,150.57,120308,,,D*65
+$GPRMC,133814.00,A,5157.24090,N,00424.77621,E,10.936,153.31,120308,,,D*59
+$GPRMC,133815.00,A,5157.23788,N,00424.77839,E,12.797,154.51,120308,,,D*50
+$GPRMC,133816.00,A,5157.23467,N,00424.78070,E,12.773,154.42,120308,,,D*53
+$GPRMC,133817.00,A,5157.23152,N,00424.78308,E,12.344,154.26,120308,,,D*5F
+$GPRMC,133818.00,A,5157.22849,N,00424.78548,E,11.809,154.35,120308,,,D*53
+$GPRMC,133819.00,A,5157.22551,N,00424.78770,E,11.956,156.11,120308,,,D*50
+$GPRMC,133820.00,A,5157.22244,N,00424.78991,E,11.796,157.64,120308,,,D*59
+$GPRMC,133821.00,A,5157.21956,N,00424.79202,E,11.159,153.77,120308,,,D*50
+$GPRMC,133822.00,A,5157.21695,N,00424.79376,E,9.620,157.98,120308,,,D*64
+$GPRMC,133823.00,A,5157.21468,N,00424.79531,E,8.386,156.73,120308,,,D*6C
+$GPRMC,133824.00,A,5157.21267,N,00424.79663,E,7.521,155.88,120308,,,D*65
+$GPRMC,133825.00,A,5157.21099,N,00424.79772,E,6.145,153.45,120308,,,D*66
+$GPRMC,133826.00,A,5157.20979,N,00424.79862,E,4.640,152.28,120308,,,D*67
+$GPRMC,133827.00,A,5157.20900,N,00424.79916,E,2.523,154.57,120308,,,D*64
+$GPRMC,133828.00,A,5157.20864,N,00424.79975,E,0.823,155.37,120308,,,D*65
+$GPRMC,133829.00,A,5157.20851,N,00424.80007,E,0.292,154.61,120308,,,D*6A
+$GPRMC,133830.00,A,5157.20857,N,00424.79997,E,0.019,154.55,120308,,,D*64
+$GPRMC,133831.00,A,5157.20869,N,00424.79987,E,0.099,159.31,120308,,,D*6E
+$GPRMC,133832.00,A,5157.20873,N,00424.80012,E,0.109,164.09,120308,,,D*68
+$GPRMC,133833.00,A,5157.20873,N,00424.80016,E,0.540,163.16,120308,,,D*6D
+$GPRMC,133834.00,A,5157.20854,N,00424.80059,E,1.607,163.03,120308,,,D*61
+$GPRMC,133835.00,A,5157.20795,N,00424.80102,E,3.240,157.04,120308,,,D*68
+$GPRMC,133836.00,A,5157.20704,N,00424.80160,E,3.882,156.31,120308,,,D*64
+$GPRMC,133837.00,A,5157.20552,N,00424.80256,E,6.577,157.99,120308,,,D*63
+$GPRMC,133838.00,A,5157.20360,N,00424.80399,E,8.443,153.64,120308,,,D*67
+$GPRMC,133839.00,A,5157.20151,N,00424.80572,E,8.462,154.00,120308,,,D*63
+$GPRMC,133840.00,A,5157.19937,N,00424.80756,E,7.935,154.48,120308,,,D*67
+$GPRMC,133841.00,A,5157.19730,N,00424.80931,E,7.901,153.32,120308,,,D*6D
+$GPRMC,133842.00,A,5157.19523,N,00424.81067,E,8.224,154.66,120308,,,D*60
+$GPRMC,133843.00,A,5157.19302,N,00424.81219,E,8.885,154.47,120308,,,D*6D
+$GPRMC,133844.00,A,5157.19077,N,00424.81425,E,8.951,152.96,120308,,,D*60
+$GPRMC,133845.00,A,5157.18848,N,00424.81566,E,8.950,153.62,120308,,,D*69
+$GPRMC,133846.00,A,5157.18607,N,00424.81792,E,9.987,150.66,120308,,,D*6A
+$GPRMC,133847.00,A,5157.18370,N,00424.81991,E,9.970,151.47,120308,,,D*69
+$GPRMC,133848.00,A,5157.18151,N,00424.82158,E,8.894,156.04,120308,,,D*63
+$GPRMC,133849.00,A,5157.17938,N,00424.82312,E,8.135,156.17,120308,,,D*66
+$GPRMC,133850.00,A,5157.17745,N,00424.82469,E,7.322,155.55,120308,,,D*6F
+$GPRMC,133851.00,A,5157.17576,N,00424.82620,E,6.738,152.88,120308,,,D*6A
+$GPRMC,133852.00,A,5157.17422,N,00424.82735,E,5.920,154.76,120308,,,D*6F
+$GPRMC,133853.00,A,5157.17278,N,00424.82860,E,5.306,154.36,120308,,,D*62
+$GPRMC,133854.00,A,5157.17152,N,00424.82981,E,4.862,154.60,120308,,,D*6B
+$GPRMC,133855.00,A,5157.17033,N,00424.83097,E,4.699,153.42,120308,,,D*6E
+$GPRMC,133856.00,A,5157.16913,N,00424.83201,E,5.008,153.59,120308,,,D*6F
+$GPRMC,133857.00,A,5157.16769,N,00424.83312,E,6.646,152.38,120308,,,D*67
+$GPRMC,133858.00,A,5157.16579,N,00424.83467,E,8.688,153.04,120308,,,D*6C
+$GPRMC,133859.00,A,5157.16337,N,00424.83670,E,10.190,155.12,120308,,,D*53
+$GPRMC,133900.00,A,5157.16075,N,00424.83868,E,10.603,153.61,120308,,,D*53
+$GPRMC,133901.00,A,5157.15818,N,00424.84062,E,10.207,153.86,120308,,,D*5E
+$GPRMC,133902.00,A,5157.15569,N,00424.84263,E,9.466,153.91,120308,,,D*6A
+$GPRMC,133903.00,A,5157.15341,N,00424.84446,E,8.522,153.96,120308,,,D*61
+$GPRMC,133904.00,A,5157.15148,N,00424.84600,E,6.845,154.31,120308,,,D*65
+$GPRMC,133905.00,A,5157.15003,N,00424.84720,E,4.739,156.19,120308,,,D*67
+$GPRMC,133906.00,A,5157.14888,N,00424.84803,E,4.223,154.26,120308,,,D*60
+$GPRMC,133907.00,A,5157.14778,N,00424.84898,E,4.256,154.90,120308,,,D*6C
+$GPRMC,133908.00,A,5157.14668,N,00424.84990,E,4.588,154.58,120308,,,D*6A
+$GPRMC,133909.00,A,5157.14552,N,00424.85089,E,4.490,154.57,120308,,,D*66
+$GPRMC,133910.00,A,5157.14444,N,00424.85173,E,4.233,156.01,120308,,,D*62
+$GPRMC,133911.00,A,5157.14339,N,00424.85256,E,4.204,155.16,120308,,,D*6B
+$GPRMC,133912.00,A,5157.14245,N,00424.85330,E,3.411,154.83,120308,,,D*6B
+$GPRMC,133913.00,A,5157.14182,N,00424.85380,E,1.849,154.82,120308,,,D*6B
+$GPRMC,133914.00,A,5157.14152,N,00424.85402,E,0.834,154.93,120308,,,D*67
+$GPRMC,133915.00,A,5157.14140,N,00424.85411,E,0.363,154.82,120308,,,D*6E
+$GPRMC,133916.00,A,5157.14140,N,00424.85410,E,0.007,,120308,,,D*79
+$GPRMC,133917.00,A,5157.14142,N,00424.85408,E,0.108,154.90,120308,,,D*6A
+$GPRMC,133918.00,A,5157.14139,N,00424.85410,E,0.406,154.86,120308,,,D*6C
+$GPRMC,133919.00,A,5157.14126,N,00424.85418,E,0.779,154.86,120308,,,D*60
+$GPRMC,133920.00,A,5157.14100,N,00424.85439,E,1.484,154.86,120308,,,D*6D
+$GPRMC,133921.00,A,5157.14047,N,00424.85480,E,2.810,154.61,120308,,,D*67
+$GPRMC,133922.00,A,5157.13960,N,00424.85554,E,4.311,154.40,120308,,,D*68
+$GPRMC,133923.00,A,5157.13838,N,00424.85655,E,5.530,154.12,120308,,,D*64
+$GPRMC,133924.00,A,5157.13690,N,00424.85783,E,6.494,154.52,120308,,,D*6D
+$GPRMC,133925.00,A,5157.13518,N,00424.85929,E,7.430,154.15,120308,,,D*6D
+$GPRMC,133926.00,A,5157.13316,N,00424.86086,E,8.319,153.96,120308,,,D*66
+$GPRMC,133927.00,A,5157.13092,N,00424.86259,E,9.105,153.55,120308,,,D*69
+$GPRMC,133928.00,A,5157.12854,N,00424.86446,E,9.552,153.42,120308,,,D*6D
+$GPRMC,133929.00,A,5157.12610,N,00424.86640,E,9.896,153.12,120308,,,D*66
+$GPRMC,133930.00,A,5157.12358,N,00424.86845,E,10.229,152.64,120308,,,D*5A
+$GPRMC,133931.00,A,5157.12107,N,00424.87059,E,10.203,153.07,120308,,,D*5B
+$GPRMC,133932.00,A,5157.11859,N,00424.87272,E,10.004,152.95,120308,,,D*5D
+$GPRMC,133933.00,A,5157.11614,N,00424.87476,E,9.766,152.93,120308,,,D*64
+$GPRMC,133934.00,A,5157.11375,N,00424.87666,E,9.505,153.47,120308,,,D*6D
+$GPRMC,133935.00,A,5157.11144,N,00424.87846,E,8.851,154.02,120308,,,D*6B
+$GPRMC,133936.00,A,5157.10939,N,00424.88008,E,7.466,153.74,120308,,,D*67
+$GPRMC,133937.00,A,5157.10753,N,00424.88154,E,7.085,154.41,120308,,,D*64
+$GPRMC,133938.00,A,5157.10573,N,00424.88289,E,6.962,154.47,120308,,,D*6F
+$GPRMC,133939.00,A,5157.10403,N,00424.88410,E,6.272,156.80,120308,,,D*6D
+$GPRMC,133940.00,A,5157.10248,N,00424.88518,E,5.605,156.83,120308,,,D*67
+$GPRMC,133941.00,A,5157.10104,N,00424.88628,E,5.350,157.59,120308,,,D*6E
+$GPRMC,133942.00,A,5157.09969,N,00424.88717,E,4.933,158.52,120308,,,D*61
+$GPRMC,133943.00,A,5157.09840,N,00424.88793,E,4.861,158.52,120308,,,D*60
+$GPRMC,133944.00,A,5157.09714,N,00424.88868,E,4.601,161.38,120308,,,D*6C
+$GPRMC,133945.00,A,5157.09585,N,00424.88945,E,4.900,159.83,120308,,,D*6C
+$GPRMC,133946.00,A,5157.09454,N,00424.89019,E,4.760,162.69,120308,,,D*67
+$GPRMC,133947.00,A,5157.09325,N,00424.89070,E,4.821,163.97,120308,,,D*62
+$GPRMC,133948.00,A,5157.09201,N,00424.89123,E,4.374,163.62,120308,,,D*6C
+$GPRMC,133949.00,A,5157.09094,N,00424.89160,E,3.919,162.37,120308,,,D*63
+$GPRMC,133950.00,A,5157.09003,N,00424.89165,E,3.015,178.64,120308,,,D*68
+$GPRMC,133951.00,A,5157.08916,N,00424.89227,E,2.939,151.38,120308,,,D*64
+$GPRMC,133952.00,A,5157.08848,N,00424.89314,E,2.397,143.01,120308,,,D*6B
+$GPRMC,133953.00,A,5157.08789,N,00424.89381,E,2.077,149.69,120308,,,D*6D
+$GPRMC,133954.00,A,5157.08741,N,00424.89434,E,1.044,149.77,120308,,,D*6B
+$GPRMC,133955.00,A,5157.08724,N,00424.89445,E,0.521,148.85,120308,,,D*64
+$GPRMC,133956.00,A,5157.08702,N,00424.89449,E,0.574,149.78,120308,,,D*6C
+$GPRMC,133957.00,A,5157.08665,N,00424.89439,E,1.389,151.05,120308,,,D*6C
+$GPRMC,133958.00,A,5157.08607,N,00424.89444,E,2.490,171.56,120308,,,D*65
+$GPRMC,133959.00,A,5157.08521,N,00424.89456,E,3.429,171.32,120308,,,D*61
+$GPRMC,134000.00,A,5157.08418,N,00424.89458,E,3.776,172.55,120308,,,D*6D
+$GPRMC,134001.00,A,5157.08316,N,00424.89462,E,3.511,172.77,120308,,,D*6F
+$GPRMC,134002.00,A,5157.08228,N,00424.89445,E,3.177,174.43,120308,,,D*60
+$GPRMC,134003.00,A,5157.08138,N,00424.89443,E,3.159,174.22,120308,,,D*6E
+$GPRMC,134004.00,A,5157.08039,N,00424.89442,E,3.964,174.95,120308,,,D*62
+$GPRMC,134005.00,A,5157.07911,N,00424.89444,E,5.060,176.89,120308,,,D*6D
+$GPRMC,134006.00,A,5157.07759,N,00424.89447,E,5.753,177.75,120308,,,D*6A
+$GPRMC,134007.00,A,5157.07603,N,00424.89452,E,5.701,178.65,120308,,,D*68
+$GPRMC,134008.00,A,5157.07452,N,00424.89453,E,5.306,178.94,120308,,,D*6D
+$GPRMC,134009.00,A,5157.07314,N,00424.89449,E,4.784,180.54,120308,,,D*66
+$GPRMC,134010.00,A,5157.07196,N,00424.89418,E,4.062,181.09,120308,,,D*64
+$GPRMC,134011.00,A,5157.07093,N,00424.89407,E,3.331,181.76,120308,,,D*65
+$GPRMC,134012.00,A,5157.07008,N,00424.89399,E,2.938,182.77,120308,,,D*64
+$GPRMC,134013.00,A,5157.06928,N,00424.89399,E,2.687,183.04,120308,,,D*61
+$GPRMC,134014.00,A,5157.06863,N,00424.89400,E,2.366,183.74,120308,,,D*62
+$GPRMC,134015.00,A,5157.06809,N,00424.89406,E,1.716,183.77,120308,,,D*6A
+$GPRMC,134016.00,A,5157.06773,N,00424.89411,E,1.053,183.77,120308,,,D*6B
+$GPRMC,134017.00,A,5157.06748,N,00424.89428,E,0.584,182.45,120308,,,D*66
+$GPRMC,134018.00,A,5157.06729,N,00424.89444,E,0.920,182.65,120308,,,D*64
+$GPRMC,134019.00,A,5157.06695,N,00424.89454,E,1.651,182.72,120308,,,D*6C
+$GPRMC,134020.00,A,5157.06645,N,00424.89461,E,1.850,182.74,120308,,,D*64
+$GPRMC,134021.00,A,5157.06596,N,00424.89466,E,1.579,182.94,120308,,,D*67
+$GPRMC,134022.00,A,5157.06554,N,00424.89471,E,1.401,182.92,120308,,,D*64
+$GPRMC,134023.00,A,5157.06512,N,00424.89482,E,1.331,183.11,120308,,,D*65
+$GPRMC,134024.00,A,5157.06467,N,00424.89485,E,1.777,183.18,120308,,,D*69
+$GPRMC,134025.00,A,5157.06415,N,00424.89485,E,1.767,183.39,120308,,,D*6F
+$GPRMC,134026.00,A,5157.06368,N,00424.89478,E,1.685,183.66,120308,,,D*64
+$GPRMC,134027.00,A,5157.06323,N,00424.89475,E,1.456,183.87,120308,,,D*64
+$GPRMC,134028.00,A,5157.06289,N,00424.89474,E,1.025,184.24,120308,,,D*65
+$GPRMC,134029.00,A,5157.06266,N,00424.89477,E,0.582,184.52,120308,,,D*6E
+$GPRMC,134030.00,A,5157.06255,N,00424.89485,E,0.148,184.74,120308,,,D*6D
+$GPRMC,134031.00,A,5157.06249,N,00424.89489,E,0.161,184.90,120308,,,D*6C
+$GPRMC,134032.00,A,5157.06241,N,00424.89494,E,0.214,184.22,120308,,,D*63
+$GPRMC,134033.00,A,5157.06233,N,00424.89498,E,0.288,184.09,120308,,,D*67
+$GPRMC,134034.00,A,5157.06226,N,00424.89501,E,0.188,184.53,120308,,,D*69
+$GPRMC,134035.00,A,5157.06224,N,00424.89502,E,0.072,188.83,120308,,,D*6C
+$GPRMC,134036.00,A,5157.06226,N,00424.89509,E,0.014,,120308,,,D*72
+$GPRMC,134037.00,A,5157.06226,N,00424.89517,E,0.021,189.27,120308,,,D*61
+$GPRMC,134038.00,A,5157.06226,N,00424.89525,E,0.010,,120308,,,D*76
+$GPRMC,134039.00,A,5157.06224,N,00424.89529,E,0.012,,120308,,,D*7B
+$GPRMC,134040.00,A,5157.06222,N,00424.89533,E,0.005,,120308,,,D*7E
+$GPRMC,134041.00,A,5157.06220,N,00424.89536,E,0.103,189.78,120308,,,D*6E
+$GPRMC,134042.00,A,5157.06219,N,00424.89535,E,0.037,192.74,120308,,,D*64
+$GPRMC,134043.00,A,5157.06218,N,00424.89537,E,0.045,191.34,120308,,,D*64
+$GPRMC,134044.00,A,5157.06218,N,00424.89540,E,0.034,195.28,120308,,,D*6C
+$GPRMC,134045.00,A,5157.06218,N,00424.89539,E,0.035,194.84,120308,,,D*65
+$GPRMC,134046.00,A,5157.06217,N,00424.89537,E,0.106,194.57,120308,,,D*68
+$GPRMC,134047.00,A,5157.06214,N,00424.89535,E,0.094,194.08,120308,,,D*68
+$GPRMC,134048.00,A,5157.06214,N,00424.89533,E,0.082,193.49,120308,,,D*64
+$GPRMC,134049.00,A,5157.06216,N,00424.89527,E,0.082,193.95,120308,,,D*63
+$GPRMC,134050.00,A,5157.06213,N,00424.89528,E,0.109,193.71,120308,,,D*69
+$GPRMC,134051.00,A,5157.06209,N,00424.89530,E,0.130,193.56,120308,,,D*65
+$GPRMC,134052.00,A,5157.06206,N,00424.89535,E,0.039,190.25,120308,,,D*63
+$GPRMC,134053.00,A,5157.06206,N,00424.89538,E,0.041,195.79,120308,,,D*6C
+$GPRMC,134054.00,A,5157.06207,N,00424.89540,E,0.027,193.43,120308,,,D*6A
+$GPRMC,134055.00,A,5157.06208,N,00424.89543,E,0.021,198.26,120308,,,D*69
+$GPRMC,134056.00,A,5157.06207,N,00424.89547,E,0.250,193.54,120308,,,A*6E
+$GPRMC,134057.00,A,5157.06213,N,00424.89549,E,0.115,188.29,120308,,,A*66
+$GPRMC,134058.00,A,5157.06216,N,00424.89556,E,0.240,183.84,120308,,,A*6D
+$GPRMC,134059.00,A,5157.06213,N,00424.89569,E,0.558,183.44,120308,,,A*67
+$GPRMC,134100.00,A,5157.06177,N,00424.89566,E,1.837,183.73,120308,,,A*65
+$GPRMC,134101.00,A,5157.06110,N,00424.89517,E,4.014,190.02,120308,,,A*6B
+$GPRMC,134102.00,A,5157.05979,N,00424.89460,E,6.016,190.12,120308,,,A*6C
+$GPRMC,134103.00,A,5157.05790,N,00424.89401,E,7.106,191.71,120308,,,A*66
+$GPRMC,134104.00,A,5157.05541,N,00424.89318,E,9.523,191.87,120308,,,A*64
+$GPRMC,134105.00,A,5157.05261,N,00424.89210,E,10.262,192.98,120308,,,A*5E
+$GPRMC,134106.00,A,5157.04989,N,00424.89111,E,8.981,189.56,120308,,,A*64
+$GPRMC,134107.00,A,5157.04744,N,00424.88979,E,9.199,194.11,120308,,,A*62
+$GPRMC,134108.00,A,5157.04482,N,00424.88829,E,10.385,195.99,120308,,,A*56
+$GPRMC,134109.00,A,5157.04189,N,00424.88669,E,11.620,194.83,120308,,,A*52
+$GPRMC,134110.00,A,5157.03872,N,00424.88501,E,12.116,194.28,120308,,,A*5D
+$GPRMC,134111.00,A,5157.03529,N,00424.88356,E,12.801,193.57,120308,,,A*5B
+$GPRMC,134112.00,A,5157.03177,N,00424.88212,E,12.629,193.18,120308,,,A*59
+$GPRMC,134113.00,A,5157.02836,N,00424.88094,E,12.281,189.78,120308,,,A*52
+$GPRMC,134114.00,A,5157.02502,N,00424.88026,E,11.861,184.59,120308,,,A*5F
+$GPRMC,134115.00,A,5157.02180,N,00424.88015,E,11.500,178.30,120308,,,A*56
+$GPRMC,134116.00,A,5157.01867,N,00424.88053,E,11.102,172.92,120308,,,A*50
+$GPRMC,134117.00,A,5157.01576,N,00424.88140,E,10.029,167.26,120308,,,A*5D
+$GPRMC,134118.00,A,5157.01332,N,00424.88261,E,8.813,161.92,120308,,,A*65
+$GPRMC,134119.00,A,5157.01131,N,00424.88395,E,7.295,157.15,120308,,,A*6E
+$GPRMC,134120.00,A,5157.00977,N,00424.88516,E,5.333,154.70,120308,,,A*6D
+$GPRMC,134121.00,A,5157.00876,N,00424.88602,E,3.157,150.70,120308,,,A*68
+$GPRMC,134122.00,A,5157.00832,N,00424.88653,E,1.160,150.73,120308,,,A*6A
+$GPRMC,134123.00,A,5157.00819,N,00424.88663,E,0.013,,120308,,,A*7B
+$GPRMC,134124.00,A,5157.00820,N,00424.88667,E,0.011,,120308,,,A*70
+$GPRMC,134125.00,A,5157.00820,N,00424.88670,E,0.006,,120308,,,A*71
+$GPRMC,134126.00,A,5157.00819,N,00424.88673,E,0.003,,120308,,,A*7E
+$GPRMC,134127.00,A,5157.00815,N,00424.88674,E,0.006,,120308,,,A*71
+$GPRMC,134128.00,A,5157.00812,N,00424.88674,E,0.004,,120308,,,A*7B
+$GPRMC,134129.00,A,5157.00810,N,00424.88677,E,0.074,148.45,120308,,,A*6E
+$GPRMC,134130.00,A,5157.00810,N,00424.88679,E,0.006,,120308,,,A*7F
+$GPRMC,134131.00,A,5157.00809,N,00424.88680,E,0.003,,120308,,,A*75
+$GPRMC,134132.00,A,5157.00809,N,00424.88682,E,0.007,,120308,,,A*70
+$GPRMC,134133.00,A,5157.00810,N,00424.88684,E,0.013,,120308,,,A*7A
+$GPRMC,134134.00,A,5157.00810,N,00424.88687,E,0.026,149.87,120308,,,A*65
+$GPRMC,134135.00,A,5157.00812,N,00424.88690,E,0.013,,120308,,,A*7B
+$GPRMC,134136.00,A,5157.00813,N,00424.88693,E,0.024,149.50,120308,,,A*69
+$GPRMC,134137.00,A,5157.00813,N,00424.88696,E,0.007,,120308,,,A*7B
+$GPRMC,134138.00,A,5157.00815,N,00424.88700,E,0.008,,120308,,,A*73
+$GPRMC,134139.00,A,5157.00817,N,00424.88702,E,0.005,,120308,,,A*7F
+$GPRMC,134140.00,A,5157.00818,N,00424.88705,E,0.008,,120308,,,A*74
+$GPRMC,134141.00,A,5157.00819,N,00424.88709,E,0.006,,120308,,,A*76
+$GPRMC,134142.00,A,5157.00821,N,00424.88714,E,0.011,,120308,,,A*74
+$GPRMC,134143.00,A,5157.00822,N,00424.88718,E,0.005,,120308,,,A*7F
+$GPRMC,134144.00,A,5157.00824,N,00424.88724,E,0.004,,120308,,,A*70
+$GPRMC,134145.00,A,5157.00825,N,00424.88729,E,0.003,,120308,,,A*7A
+$GPRMC,134146.00,A,5157.00827,N,00424.88733,E,0.013,,120308,,,A*71
+$GPRMC,134147.00,A,5157.00829,N,00424.88734,E,0.010,,120308,,,A*7A
+$GPRMC,134148.00,A,5157.00831,N,00424.88736,E,0.010,,120308,,,A*7E
+$GPRMC,134149.00,A,5157.00834,N,00424.88739,E,0.008,,120308,,,A*7C
+$GPRMC,134150.00,A,5157.00835,N,00424.88742,E,0.002,,120308,,,A*73
+$GPRMC,134151.00,A,5157.00834,N,00424.88743,E,0.008,,120308,,,A*78
+$GPRMC,134152.00,A,5157.00835,N,00424.88743,E,0.009,,120308,,,A*7B
+$GPRMC,134153.00,A,5157.00836,N,00424.88742,E,0.004,,120308,,,A*75
+$GPRMC,134154.00,A,5157.00837,N,00424.88744,E,0.011,,120308,,,A*71
+$GPRMC,134155.00,A,5157.00837,N,00424.88745,E,0.013,,120308,,,A*73
+$GPRMC,134156.00,A,5157.00838,N,00424.88747,E,0.015,,120308,,,A*7B
+$GPRMC,134157.00,A,5157.00838,N,00424.88749,E,0.010,,120308,,,A*71
+$GPRMC,134158.00,A,5157.00838,N,00424.88751,E,0.004,,120308,,,A*72
+$GPRMC,134159.00,A,5157.00838,N,00424.88752,E,0.004,,120308,,,A*70
+$GPRMC,134200.00,A,5157.00838,N,00424.88753,E,0.016,,120308,,,A*7D
+$GPRMC,134201.00,A,5157.00838,N,00424.88755,E,0.019,,120308,,,A*75
+$GPRMC,134202.00,A,5157.00837,N,00424.88753,E,0.030,152.14,120308,,,A*69
+$GPRMC,134203.00,A,5157.00836,N,00424.88751,E,0.003,,120308,,,A*76
+$GPRMC,134204.00,A,5157.00833,N,00424.88750,E,0.006,,120308,,,A*70
+$GPRMC,134205.00,A,5157.00831,N,00424.88747,E,0.017,,120308,,,A*75
+$GPRMC,134206.00,A,5157.00829,N,00424.88745,E,0.012,,120308,,,A*78
+$GPRMC,134207.00,A,5157.00827,N,00424.88742,E,0.003,,120308,,,A*70
+$GPRMC,134208.00,A,5157.00825,N,00424.88740,E,0.022,156.11,120308,,,A*60
+$GPRMC,134209.00,A,5157.00824,N,00424.88737,E,0.010,,120308,,,A*7D
+$GPRMC,134210.00,A,5157.00822,N,00424.88735,E,0.007,,120308,,,A*77
+$GPRMC,134211.00,A,5157.00822,N,00424.88732,E,0.001,,120308,,,D*72
+$GPRMC,134212.00,A,5157.00822,N,00424.88730,E,0.010,,120308,,,D*73
+$GPRMC,134213.00,A,5157.00822,N,00424.88729,E,0.015,,120308,,,D*7F
+$GPRMC,134214.00,A,5157.00823,N,00424.88724,E,0.011,,120308,,,D*70
+$GPRMC,134215.00,A,5157.00824,N,00424.88724,E,0.012,,120308,,,D*75
+$GPRMC,134216.00,A,5157.00824,N,00424.88724,E,0.022,156.98,120308,,,D*68
+$GPRMC,134217.00,A,5157.00823,N,00424.88724,E,0.027,159.39,120308,,,D*6F
+$GPRMC,134218.00,A,5157.00823,N,00424.88723,E,0.027,160.85,120308,,,D*6A
+$GPRMC,134219.00,A,5157.00823,N,00424.88724,E,0.011,,120308,,,D*7D
+$GPRMC,134220.00,A,5157.00823,N,00424.88723,E,0.017,,120308,,,D*76
+$GPRMC,134221.00,A,5157.00824,N,00424.88723,E,0.035,157.39,120308,,,D*67
+$GPRMC,134222.00,A,5157.00824,N,00424.88723,E,0.032,154.05,120308,,,D*6F
+$GPRMC,134223.00,A,5157.00825,N,00424.88723,E,0.015,,120308,,,D*71
+$GPRMC,134224.00,A,5157.00826,N,00424.88725,E,0.022,153.30,120308,,,D*6D
+$GPRMC,134225.00,A,5157.00827,N,00424.88726,E,0.044,148.86,120308,,,D*69
+$GPRMC,134226.00,A,5157.00829,N,00424.88729,E,0.034,150.27,120308,,,D*6E
+$GPRMC,134227.00,A,5157.00830,N,00424.88733,E,0.004,,120308,,,D*70
+$GPRMC,134228.00,A,5157.00830,N,00424.88733,E,0.013,,120308,,,D*79
+$GPRMC,134229.00,A,5157.00831,N,00424.88735,E,0.004,,120308,,,D*79
+$GPRMC,134230.00,A,5157.00832,N,00424.88737,E,0.005,,120308,,,D*71
+$GPRMC,134231.00,A,5157.00834,N,00424.88738,E,0.020,155.61,120308,,,D*66
+$GPRMC,134232.00,A,5157.00834,N,00424.88741,E,0.020,155.25,120308,,,D*6B
+$GPRMC,134233.00,A,5157.00836,N,00424.88743,E,0.009,,120308,,,D*79
+$GPRMC,134234.00,A,5157.00837,N,00424.88746,E,0.023,157.40,120308,,,D*6B
+$GPRMC,134235.00,A,5157.00834,N,00424.88753,E,0.403,156.90,120308,,,D*67
+$GPRMC,134236.00,A,5157.00819,N,00424.88764,E,0.775,157.60,120308,,,D*63
+$GPRMC,134237.00,A,5157.00797,N,00424.88775,E,1.155,157.16,120308,,,D*6F
+$GPRMC,134238.00,A,5157.00762,N,00424.88807,E,2.047,149.38,120308,,,D*62
+$GPRMC,134239.00,A,5157.00707,N,00424.88852,E,2.490,149.20,120308,,,D*67
+$GPRMC,134240.00,A,5157.00652,N,00424.88900,E,2.090,148.06,120308,,,D*6F
+$GPRMC,134241.00,A,5157.00599,N,00424.88957,E,2.549,147.03,120308,,,D*63
+$GPRMC,134242.00,A,5157.00524,N,00424.89039,E,4.027,147.02,120308,,,D*6C
+$GPRMC,134243.00,A,5157.00413,N,00424.89157,E,5.534,147.57,120308,,,D*67
+$GPRMC,134244.00,A,5157.00270,N,00424.89307,E,6.611,146.76,120308,,,D*61
+$GPRMC,134245.00,A,5157.00122,N,00424.89468,E,6.118,146.42,120308,,,D*63
+$GPRMC,134246.00,A,5156.99994,N,00424.89613,E,5.093,145.80,120308,,,D*66
+$GPRMC,134247.00,A,5156.99884,N,00424.89743,E,4.723,144.09,120308,,,D*6E
+$GPRMC,134248.00,A,5156.99781,N,00424.89863,E,4.337,146.35,120308,,,D*6A
+$GPRMC,134249.00,A,5156.99684,N,00424.89970,E,4.068,146.80,120308,,,D*6B
+$GPRMC,134250.00,A,5156.99598,N,00424.90070,E,3.490,146.27,120308,,,D*65
+$GPRMC,134251.00,A,5156.99529,N,00424.90150,E,2.534,146.49,120308,,,D*6B
+$GPRMC,134252.00,A,5156.99484,N,00424.90203,E,1.495,146.46,120308,,,D*6D
+$GPRMC,134253.00,A,5156.99458,N,00424.90234,E,0.788,146.81,120308,,,D*6C
+$GPRMC,134254.00,A,5156.99451,N,00424.90246,E,0.041,146.83,120308,,,D*67
+$GPRMC,134255.00,A,5156.99452,N,00424.90248,E,0.014,,120308,,,D*7D
+$GPRMC,134256.00,A,5156.99454,N,00424.90251,E,0.001,,120308,,,D*74
+$GPRMC,134257.00,A,5156.99455,N,00424.90254,E,0.009,,120308,,,D*79
+$GPRMC,134258.00,A,5156.99456,N,00424.90257,E,0.008,,120308,,,D*77
+$GPRMC,134259.00,A,5156.99457,N,00424.90259,E,0.075,152.42,120308,,,D*6D
+$GPRMC,134300.00,A,5156.99452,N,00424.90266,E,0.391,152.18,120308,,,D*6F
+$GPRMC,134301.00,A,5156.99419,N,00424.90306,E,2.469,146.23,120308,,,D*69
+$GPRMC,134302.00,A,5156.99321,N,00424.90416,E,5.984,146.38,120308,,,D*63
+$GPRMC,134303.00,A,5156.99148,N,00424.90604,E,8.531,147.36,120308,,,D*6E
+$GPRMC,134304.00,A,5156.98928,N,00424.90837,E,9.883,147.94,120308,,,D*65
+$GPRMC,134305.00,A,5156.98685,N,00424.91081,E,10.370,149.27,120308,,,D*51
+$GPRMC,134306.00,A,5156.98430,N,00424.91352,E,11.449,144.74,120308,,,D*54
+$GPRMC,134307.00,A,5156.98187,N,00424.91713,E,12.172,130.42,120308,,,D*55
+$GPRMC,134308.00,A,5156.98012,N,00424.92194,E,12.609,112.04,120308,,,D*54
+$GPRMC,134309.00,A,5156.97931,N,00424.92764,E,13.426,93.86,120308,,,D*67
+$GPRMC,134310.00,A,5156.97995,N,00424.93330,E,13.709,68.96,120308,,,D*6E
+$GPRMC,134311.00,A,5156.98199,N,00424.93948,E,16.748,53.65,120308,,,D*65
+$GPRMC,134312.00,A,5156.98502,N,00424.94632,E,19.438,50.44,120308,,,D*6E
+$GPRMC,134313.00,A,5156.98865,N,00424.95359,E,21.578,52.18,120308,,,D*6F
+$GPRMC,134314.00,A,5156.99233,N,00424.96147,E,21.821,54.17,120308,,,D*66
+$GPRMC,134315.00,A,5156.99602,N,00424.96970,E,22.723,54.66,120308,,,D*65
+$GPRMC,134316.00,A,5156.99969,N,00424.97805,E,22.073,54.24,120308,,,D*62
+$GPRMC,134317.00,A,5157.00321,N,00424.98612,E,21.000,54.30,120308,,,D*61
+$GPRMC,134318.00,A,5157.00660,N,00424.99377,E,19.935,54.59,120308,,,D*62
+$GPRMC,134319.00,A,5157.00981,N,00425.00100,E,18.892,54.47,120308,,,D*62
+$GPRMC,134320.00,A,5157.01280,N,00425.00778,E,17.436,55.74,120308,,,D*66
+$GPRMC,134321.00,A,5157.01547,N,00425.01364,E,14.662,55.23,120308,,,D*61
+$GPRMC,134322.00,A,5157.01770,N,00425.01835,E,11.777,54.72,120308,,,D*6E
+$GPRMC,134323.00,A,5157.01938,N,00425.02197,E,8.603,55.20,120308,,,D*53
+$GPRMC,134324.00,A,5157.02045,N,00425.02421,E,4.450,55.17,120308,,,D*50
+$GPRMC,134325.00,A,5157.02094,N,00425.02535,E,1.780,55.09,120308,,,D*5D
+$GPRMC,134326.00,A,5157.02112,N,00425.02563,E,0.287,54.70,120308,,,D*5E
+$GPRMC,134327.00,A,5157.02113,N,00425.02567,E,0.019,,120308,,,D*77
+$GPRMC,134328.00,A,5157.02113,N,00425.02563,E,0.013,,120308,,,D*76
+$GPRMC,134329.00,A,5157.02113,N,00425.02561,E,0.007,,120308,,,D*70
+$GPRMC,134330.00,A,5157.02114,N,00425.02564,E,0.167,54.75,120308,,,D*50
+$GPRMC,134331.00,A,5157.02119,N,00425.02583,E,0.624,54.72,120308,,,D*52
+$GPRMC,134332.00,A,5157.02131,N,00425.02616,E,1.070,54.74,120308,,,D*54
+$GPRMC,134333.00,A,5157.02149,N,00425.02659,E,1.150,54.69,120308,,,D*5E
+$GPRMC,134334.00,A,5157.02163,N,00425.02694,E,0.748,54.80,120308,,,D*59
+$GPRMC,134335.00,A,5157.02171,N,00425.02718,E,0.429,54.55,120308,,,D*52
+$GPRMC,134336.00,A,5157.02172,N,00425.02728,E,0.067,55.01,120308,,,D*5F
+$GPRMC,134337.00,A,5157.02170,N,00425.02736,E,0.119,54.83,120308,,,D*50
+$GPRMC,134338.00,A,5157.02170,N,00425.02746,E,0.188,54.77,120308,,,D*5B
+$GPRMC,134339.00,A,5157.02171,N,00425.02755,E,0.161,54.66,120308,,,D*5E
+$GPRMC,134340.00,A,5157.02173,N,00425.02761,E,0.168,54.70,120308,,,D*5B
+$GPRMC,134341.00,A,5157.02177,N,00425.02768,E,0.262,54.77,120308,,,D*59
+$GPRMC,134342.00,A,5157.02181,N,00425.02778,E,0.267,54.79,120308,,,D*59
+$GPRMC,134343.00,A,5157.02184,N,00425.02784,E,0.102,54.65,120308,,,D*53
+$GPRMC,134344.00,A,5157.02184,N,00425.02781,E,0.015,,120308,,,D*7A
+$GPRMC,134345.00,A,5157.02182,N,00425.02778,E,0.020,49.32,120308,,,D*5F
+$GPRMC,134346.00,A,5157.02182,N,00425.02773,E,0.010,,120308,,,D*76
+$GPRMC,134347.00,A,5157.02182,N,00425.02769,E,0.015,,120308,,,D*79
+$GPRMC,134348.00,A,5157.02183,N,00425.02769,E,0.098,49.11,120308,,,D*51
+$GPRMC,134349.00,A,5157.02186,N,00425.02774,E,0.300,49.71,120308,,,D*5D
+$GPRMC,134350.00,A,5157.02193,N,00425.02786,E,0.464,49.86,120308,,,D*51
+$GPRMC,134351.00,A,5157.02202,N,00425.02805,E,0.676,50.12,120308,,,D*5B
+$GPRMC,134352.00,A,5157.02216,N,00425.02837,E,1.014,50.48,120308,,,D*50
+$GPRMC,134353.00,A,5157.02234,N,00425.02880,E,1.150,50.73,120308,,,D*54
+$GPRMC,134354.00,A,5157.02250,N,00425.02914,E,0.642,50.98,120308,,,D*5D
+$GPRMC,134355.00,A,5157.02259,N,00425.02924,E,0.090,50.23,120308,,,D*5F
+$GPRMC,134356.00,A,5157.02264,N,00425.02918,E,0.050,47.25,120308,,,D*51
+$GPRMC,134357.00,A,5157.02271,N,00425.02906,E,0.035,44.26,120308,,,D*58
+$GPRMC,134358.00,A,5157.02277,N,00425.02897,E,0.011,,120308,,,D*74
+$GPRMC,134359.00,A,5157.02285,N,00425.02886,E,0.087,42.39,120308,,,D*55
+$GPRMC,134400.00,A,5157.02292,N,00425.02876,E,0.046,37.34,120308,,,D*55
+$GPRMC,134401.00,A,5157.02296,N,00425.02871,E,0.064,39.88,120308,,,D*5E
+$GPRMC,134402.00,A,5157.02305,N,00425.02862,E,0.119,41.58,120308,,,D*5D
+$GPRMC,134403.00,A,5157.02313,N,00425.02857,E,0.047,44.59,120308,,,D*53
+$GPRMC,134404.00,A,5157.02319,N,00425.02857,E,0.016,,120308,,,D*78
+$GPRMC,134405.00,A,5157.02328,N,00425.02852,E,0.201,38.12,120308,,,D*5C
+$GPRMC,134406.00,A,5157.02337,N,00425.02846,E,0.060,38.86,120308,,,D*5C
+$GPRMC,134407.00,A,5157.02345,N,00425.02840,E,0.213,39.11,120308,,,D*57
+$GPRMC,134408.00,A,5157.02347,N,00425.02833,E,0.103,40.02,120308,,,D*50
+$GPRMC,134409.00,A,5157.02344,N,00425.02829,E,0.022,38.61,120308,,,D*51
+$GPRMC,134410.00,A,5157.02343,N,00425.02825,E,0.296,32.49,120308,,,D*5F
+$GPRMC,134411.00,A,5157.02341,N,00425.02828,E,0.278,35.18,120308,,,D*52
+$GPRMC,134412.00,A,5157.02336,N,00425.02855,E,0.679,36.39,120308,,,D*5E
+$GPRMC,134413.00,A,5157.02348,N,00425.02908,E,1.919,37.55,120308,,,D*5C
+$GPRMC,134414.00,A,5157.02392,N,00425.03028,E,4.116,54.65,120308,,,D*52
+$GPRMC,134415.00,A,5157.02485,N,00425.03245,E,7.477,54.39,120308,,,D*53
+$GPRMC,134416.00,A,5157.02640,N,00425.03602,E,11.614,54.92,120308,,,D*6D
+$GPRMC,134417.00,A,5157.02846,N,00425.04068,E,13.572,54.40,120308,,,D*67
+$GPRMC,134418.00,A,5157.03084,N,00425.04552,E,13.536,48.38,120308,,,D*61
+$GPRMC,134419.00,A,5157.03400,N,00425.04908,E,14.382,25.84,120308,,,D*69
+$GPRMC,134420.00,A,5157.03774,N,00425.05049,E,14.403,1.22,120308,,,D*5A
+$GPRMC,134421.00,A,5157.04156,N,00425.04700,E,15.973,314.39,120308,,,D*57
+$GPRMC,134422.00,A,5157.04401,N,00425.03963,E,19.833,286.82,120308,,,D*5C
+$GPRMC,134423.00,A,5157.04560,N,00425.02996,E,22.968,282.89,120308,,,D*58
+$GPRMC,134424.00,A,5157.04764,N,00425.01939,E,25.328,291.07,120308,,,D*52
+$GPRMC,134425.00,A,5157.05074,N,00425.00887,E,25.735,299.80,120308,,,D*5E
+$GPRMC,134426.00,A,5157.05481,N,00424.99866,E,27.347,305.56,120308,,,D*51
+$GPRMC,134427.00,A,5157.05961,N,00424.98844,E,29.593,308.69,120308,,,D*52
+$GPRMC,134428.00,A,5157.06509,N,00424.97778,E,31.867,310.48,120308,,,D*56
+$GPRMC,134429.00,A,5157.07102,N,00424.96690,E,32.364,311.81,120308,,,D*50
+$GPRMC,134430.00,A,5157.07751,N,00424.95537,E,34.427,313.79,120308,,,D*56
+$GPRMC,134431.00,A,5157.08450,N,00424.94421,E,34.990,316.99,120308,,,D*57
+$GPRMC,134432.00,A,5157.09200,N,00424.93372,E,35.584,321.22,120308,,,D*5C
+$GPRMC,134433.00,A,5157.10007,N,00424.92397,E,36.318,325.27,120308,,,D*5B
+$GPRMC,134434.00,A,5157.10865,N,00424.91484,E,37.330,327.97,120308,,,D*54
+$GPRMC,134435.00,A,5157.11774,N,00424.90601,E,38.523,329.70,120308,,,D*59
+$GPRMC,134436.00,A,5157.12723,N,00424.89722,E,39.828,330.53,120308,,,D*5D
+$GPRMC,134437.00,A,5157.13712,N,00424.88834,E,41.296,331.26,120308,,,D*55
+$GPRMC,134438.00,A,5157.14741,N,00424.87935,E,42.584,331.89,120308,,,D*56
+$GPRMC,134439.00,A,5157.15790,N,00424.87039,E,42.408,332.53,120308,,,D*5E
+$GPRMC,134440.00,A,5157.16855,N,00424.86160,E,42.954,333.03,120308,,,D*59
+$GPRMC,134441.00,A,5157.17932,N,00424.85287,E,43.045,333.28,120308,,,D*51
+$GPRMC,134442.00,A,5157.19013,N,00424.84419,E,43.170,333.19,120308,,,D*53
+$GPRMC,134443.00,A,5157.20086,N,00424.83552,E,42.982,333.27,120308,,,D*54
+$GPRMC,134444.00,A,5157.21155,N,00424.82687,E,42.833,333.38,120308,,,D*52
+$GPRMC,134445.00,A,5157.22219,N,00424.81828,E,42.611,333.62,120308,,,D*52
+$GPRMC,134446.00,A,5157.23280,N,00424.80984,E,42.283,333.89,120308,,,D*5C
+$GPRMC,134447.00,A,5157.24330,N,00424.80157,E,41.825,333.86,120308,,,D*5C
+$GPRMC,134448.00,A,5157.25382,N,00424.79338,E,41.983,334.34,120308,,,D*55
+$GPRMC,134449.00,A,5157.26441,N,00424.78525,E,41.959,334.43,120308,,,D*53
+$GPRMC,134450.00,A,5157.27498,N,00424.77723,E,41.825,334.42,120308,,,D*5E
+$GPRMC,134451.00,A,5157.28552,N,00424.76912,E,41.572,334.28,120308,,,D*59
+$GPRMC,134452.00,A,5157.29601,N,00424.76105,E,41.357,334.49,120308,,,D*56
+$GPRMC,134453.00,A,5157.30646,N,00424.75299,E,41.345,334.34,120308,,,D*50
+$GPRMC,134454.00,A,5157.31692,N,00424.74487,E,41.476,334.22,120308,,,D*57
+$GPRMC,134455.00,A,5157.32740,N,00424.73674,E,41.564,334.21,120308,,,D*53
+$GPRMC,134456.00,A,5157.33789,N,00424.72860,E,41.563,334.29,120308,,,D*51
+$GPRMC,134457.00,A,5157.34835,N,00424.72048,E,41.437,334.20,120308,,,D*54
+$GPRMC,134458.00,A,5157.35878,N,00424.71230,E,41.516,334.02,120308,,,D*5F
+$GPRMC,134459.00,A,5157.36924,N,00424.70409,E,41.628,334.13,120308,,,D*56
+$GPRMC,134500.00,A,5157.37963,N,00424.69594,E,41.162,334.15,120308,,,D*5B
+$GPRMC,134501.00,A,5157.38990,N,00424.68788,E,40.531,334.15,120308,,,D*54
+$GPRMC,134502.00,A,5157.40001,N,00424.68000,E,39.927,334.41,120308,,,D*5A
+$GPRMC,134503.00,A,5157.41000,N,00424.67225,E,39.495,334.45,120308,,,D*51
+$GPRMC,134504.00,A,5157.41992,N,00424.66457,E,39.361,334.42,120308,,,D*5D
+$GPRMC,134505.00,A,5157.42982,N,00424.65693,E,39.302,334.50,120308,,,D*51
+$GPRMC,134506.00,A,5157.43971,N,00424.64925,E,39.330,334.25,120308,,,D*5F
+$GPRMC,134507.00,A,5157.44960,N,00424.64150,E,39.410,334.01,120308,,,D*50
+$GPRMC,134508.00,A,5157.45951,N,00424.63368,E,39.671,333.99,120308,,,D*51
+$GPRMC,134509.00,A,5157.46951,N,00424.62592,E,39.948,334.13,120308,,,D*51
+$GPRMC,134510.00,A,5157.47958,N,00424.61802,E,40.280,334.15,120308,,,D*51
+$GPRMC,134511.00,A,5157.48973,N,00424.61016,E,40.518,334.33,120308,,,D*59
+$GPRMC,134512.00,A,5157.49994,N,00424.60225,E,40.687,334.46,120308,,,D*56
+$GPRMC,134513.00,A,5157.51018,N,00424.59432,E,40.743,334.20,120308,,,D*50
+$GPRMC,134514.00,A,5157.52041,N,00424.58633,E,40.745,333.99,120308,,,D*59
+$GPRMC,134515.00,A,5157.53063,N,00424.57832,E,40.729,334.11,120308,,,D*54
+$GPRMC,134516.00,A,5157.54084,N,00424.57040,E,40.609,334.32,120308,,,D*56
+$GPRMC,134517.00,A,5157.55103,N,00424.56267,E,40.488,334.34,120308,,,D*53
+$GPRMC,134518.00,A,5157.56123,N,00424.55478,E,40.700,334.29,120308,,,D*59
+$GPRMC,134519.00,A,5157.57148,N,00424.54680,E,40.930,334.11,120308,,,D*56
+$GPRMC,134520.00,A,5157.58173,N,00424.53875,E,40.970,333.98,120308,,,D*5A
+$GPRMC,134521.00,A,5157.59201,N,00424.53072,E,40.979,334.11,120308,,,D*5C
+$GPRMC,134522.00,A,5157.60230,N,00424.52273,E,40.959,334.32,120308,,,D*56
+$GPRMC,134523.00,A,5157.61263,N,00424.51476,E,41.226,334.36,120308,,,D*56
+$GPRMC,134524.00,A,5157.62303,N,00424.50677,E,41.480,334.50,120308,,,D*5D
+$GPRMC,134525.00,A,5157.63335,N,00424.49853,E,41.339,334.06,120308,,,D*5E
+$GPRMC,134526.00,A,5157.64384,N,00424.49029,E,42.170,334.27,120308,,,D*5A
+$GPRMC,134527.00,A,5157.65440,N,00424.48197,E,42.353,334.16,120308,,,D*51
+$GPRMC,134528.00,A,5157.66499,N,00424.47354,E,42.513,334.07,120308,,,D*59
+$GPRMC,134529.00,A,5157.67563,N,00424.46522,E,42.605,334.17,120308,,,D*5E
+$GPRMC,134530.00,A,5157.68629,N,00424.45682,E,42.630,334.27,120308,,,D*5B
+$GPRMC,134531.00,A,5157.69697,N,00424.44842,E,42.727,334.42,120308,,,D*59
+$GPRMC,134532.00,A,5157.70767,N,00424.44001,E,42.670,334.41,120308,,,D*53
+$GPRMC,134533.00,A,5157.71835,N,00424.43160,E,42.657,334.17,120308,,,D*5C
+$GPRMC,134534.00,A,5157.72901,N,00424.42318,E,42.607,334.08,120308,,,D*59
+$GPRMC,134535.00,A,5157.73962,N,00424.41482,E,42.305,334.44,120308,,,D*54
+$GPRMC,134536.00,A,5157.75020,N,00424.40655,E,42.372,334.39,120308,,,D*5D
+$GPRMC,134537.00,A,5157.76078,N,00424.39829,E,42.180,334.51,120308,,,D*58
+$GPRMC,134538.00,A,5157.77132,N,00424.39008,E,42.011,334.46,120308,,,D*5D
+$GPRMC,134539.00,A,5157.78182,N,00424.38193,E,41.815,334.70,120308,,,D*50
+$GPRMC,134540.00,A,5157.79229,N,00424.37384,E,41.639,334.66,120308,,,D*51
+$GPRMC,134541.00,A,5157.80269,N,00424.36577,E,41.489,334.42,120308,,,D*56
+$GPRMC,134542.00,A,5157.81304,N,00424.35768,E,41.272,334.28,120308,,,D*5F
+$GPRMC,134543.00,A,5157.82335,N,00424.34962,E,41.444,334.34,120308,,,D*54
+$GPRMC,134544.00,A,5157.83373,N,00424.34154,E,41.766,334.44,120308,,,D*59
+$GPRMC,134545.00,A,5157.84419,N,00424.33347,E,41.918,334.44,120308,,,D*54
+$GPRMC,134546.00,A,5157.85474,N,00424.32537,E,42.261,334.24,120308,,,D*5D
+$GPRMC,134547.00,A,5157.86537,N,00424.31716,E,42.528,334.28,120308,,,D*5D
+$GPRMC,134548.00,A,5157.87605,N,00424.30889,E,42.644,334.30,120308,,,D*59
+$GPRMC,134549.00,A,5157.88673,N,00424.30053,E,42.768,333.93,120308,,,D*58
+$GPRMC,134550.00,A,5157.89743,N,00424.29211,E,42.848,334.20,120308,,,D*5D
+$GPRMC,134551.00,A,5157.90816,N,00424.28375,E,42.858,334.30,120308,,,D*59
+$GPRMC,134552.00,A,5157.91891,N,00424.27537,E,42.975,334.23,120308,,,D*57
+$GPRMC,134553.00,A,5157.92968,N,00424.26695,E,43.093,334.28,120308,,,D*53
+$GPRMC,134554.00,A,5157.94050,N,00424.25850,E,43.349,334.21,120308,,,D*59
+$GPRMC,134555.00,A,5157.95143,N,00424.24994,E,44.034,334.22,120308,,,D*5F
+$GPRMC,134556.00,A,5157.96253,N,00424.24127,E,44.808,334.40,120308,,,D*5E
+$GPRMC,134557.00,A,5157.97371,N,00424.23245,E,44.606,333.82,120308,,,D*56
+$GPRMC,134558.00,A,5157.98484,N,00424.22359,E,44.518,334.07,120308,,,D*50
+$GPRMC,134559.00,A,5157.99590,N,00424.21479,E,44.337,334.09,120308,,,D*57
+$GPRMC,134600.00,A,5158.00692,N,00424.20597,E,44.370,333.74,120308,,,D*58
+$GPRMC,134601.00,A,5158.01792,N,00424.19708,E,44.387,333.57,120308,,,D*5E
+$GPRMC,134602.00,A,5158.02897,N,00424.18819,E,44.565,333.69,120308,,,D*5D
+$GPRMC,134603.00,A,5158.04007,N,00424.17933,E,44.661,334.07,120308,,,D*55
+$GPRMC,134604.00,A,5158.05124,N,00424.17056,E,44.733,334.19,120308,,,D*50
+$GPRMC,134605.00,A,5158.06237,N,00424.16190,E,44.519,334.37,120308,,,D*5F
+$GPRMC,134606.00,A,5158.07355,N,00424.15324,E,44.856,334.54,120308,,,D*55
+$GPRMC,134607.00,A,5158.08482,N,00424.14449,E,45.017,334.45,120308,,,D*57
+$GPRMC,134608.00,A,5158.09613,N,00424.13571,E,45.316,334.42,120308,,,D*5B
+$GPRMC,134609.00,A,5158.10750,N,00424.12687,E,45.454,334.34,120308,,,D*5F
+$GPRMC,134610.00,A,5158.11890,N,00424.11808,E,45.325,334.45,120308,,,D*58
+$GPRMC,134611.00,A,5158.13025,N,00424.10933,E,45.011,334.56,120308,,,D*53
+$GPRMC,134612.00,A,5158.14145,N,00424.10062,E,44.569,334.37,120308,,,D*51
+$GPRMC,134613.00,A,5158.15254,N,00424.09195,E,44.280,334.17,120308,,,D*51
+$GPRMC,134614.00,A,5158.16357,N,00424.08327,E,44.054,334.29,120308,,,D*5B
+$GPRMC,134615.00,A,5158.17455,N,00424.07471,E,43.920,334.25,120308,,,D*54
+$GPRMC,134616.00,A,5158.18547,N,00424.06617,E,43.502,334.17,120308,,,D*54
+$GPRMC,134617.00,A,5158.19632,N,00424.05773,E,43.325,334.49,120308,,,D*5D
+$GPRMC,134618.00,A,5158.20717,N,00424.04934,E,43.349,334.59,120308,,,D*59
+$GPRMC,134619.00,A,5158.21806,N,00424.04106,E,43.505,335.25,120308,,,D*5B
+$GPRMC,134620.00,A,5158.22894,N,00424.03277,E,43.589,334.69,120308,,,D*56
+$GPRMC,134621.00,A,5158.23984,N,00424.02454,E,43.779,335.48,120308,,,D*5F
+$GPRMC,134622.00,A,5158.25083,N,00424.01670,E,43.731,336.92,120308,,,D*5B
+$GPRMC,134623.00,A,5158.26205,N,00424.00932,E,43.608,338.52,120308,,,D*54
+$GPRMC,134624.00,A,5158.27337,N,00424.00247,E,43.383,340.03,120308,,,D*56
+$GPRMC,134625.00,A,5158.28473,N,00423.99610,E,43.173,341.27,120308,,,D*54
+$GPRMC,134626.00,A,5158.29614,N,00423.99006,E,43.217,342.18,120308,,,D*5A
+$GPRMC,134627.00,A,5158.30762,N,00423.98433,E,43.323,343.15,120308,,,D*5A
+$GPRMC,134628.00,A,5158.31913,N,00423.97892,E,43.299,344.18,120308,,,D*5E
+$GPRMC,134629.00,A,5158.33065,N,00423.97384,E,43.142,344.88,120308,,,D*55
+$GPRMC,134630.00,A,5158.34219,N,00423.96889,E,42.960,345.24,120308,,,D*5A
+$GPRMC,134631.00,A,5158.35373,N,00423.96406,E,43.197,345.32,120308,,,D*5A
+$GPRMC,134632.00,A,5158.36529,N,00423.95923,E,43.236,345.39,120308,,,D*59
+$GPRMC,134633.00,A,5158.37686,N,00423.95438,E,43.166,345.40,120308,,,D*50
+$GPRMC,134634.00,A,5158.38838,N,00423.94954,E,43.165,345.14,120308,,,D*57
+$GPRMC,134635.00,A,5158.39989,N,00423.94464,E,43.220,344.99,120308,,,D*54
+$GPRMC,134636.00,A,5158.41142,N,00423.93967,E,43.131,345.01,120308,,,D*5D
+$GPRMC,134637.00,A,5158.42296,N,00423.93473,E,43.182,345.17,120308,,,D*52
+$GPRMC,134638.00,A,5158.43451,N,00423.92986,E,43.125,345.33,120308,,,D*5C
+$GPRMC,134639.00,A,5158.44605,N,00423.92504,E,43.015,345.48,120308,,,D*51
+$GPRMC,134640.00,A,5158.45760,N,00423.92026,E,42.988,345.55,120308,,,D*59
+$GPRMC,134641.00,A,5158.46905,N,00423.91555,E,42.305,345.65,120308,,,D*58
+$GPRMC,134642.00,A,5158.48035,N,00423.91087,E,42.362,345.51,120308,,,D*53
+$GPRMC,134643.00,A,5158.49167,N,00423.90611,E,42.725,345.18,120308,,,D*57
+$GPRMC,134644.00,A,5158.50310,N,00423.90117,E,42.937,344.78,120308,,,D*51
+$GPRMC,134645.00,A,5158.51455,N,00423.89617,E,43.075,344.82,120308,,,D*53
+$GPRMC,134646.00,A,5158.52609,N,00423.89116,E,43.154,345.02,120308,,,D*55
+$GPRMC,134647.00,A,5158.53766,N,00423.88621,E,43.562,345.13,120308,,,D*5E
+$GPRMC,134648.00,A,5158.54938,N,00423.88118,E,43.829,345.16,120308,,,D*59
+$GPRMC,134649.00,A,5158.56115,N,00423.87615,E,44.102,345.18,120308,,,D*51
+$GPRMC,134650.00,A,5158.57304,N,00423.87110,E,44.529,345.32,120308,,,D*5D
+$GPRMC,134651.00,A,5158.58502,N,00423.86605,E,45.002,345.25,120308,,,D*5A
+$GPRMC,134652.00,A,5158.59713,N,00423.86088,E,45.557,345.01,120308,,,D*5A
+$GPRMC,134653.00,A,5158.60943,N,00423.85559,E,46.103,345.10,120308,,,D*56
+$GPRMC,134654.00,A,5158.62181,N,00423.85030,E,46.461,345.22,120308,,,D*5F
+$GPRMC,134655.00,A,5158.63425,N,00423.84500,E,46.399,345.08,120308,,,D*5B
+$GPRMC,134656.00,A,5158.64670,N,00423.83968,E,46.444,345.22,120308,,,D*57
+$GPRMC,134657.00,A,5158.65916,N,00423.83442,E,46.482,345.49,120308,,,D*5A
+$GPRMC,134658.00,A,5158.67167,N,00423.82916,E,46.717,345.28,120308,,,D*5C
+$GPRMC,134659.00,A,5158.68423,N,00423.82384,E,46.683,345.19,120308,,,D*58
+$GPRMC,134700.00,A,5158.69678,N,00423.81854,E,46.544,345.25,120308,,,D*5A
+$GPRMC,134701.00,A,5158.70931,N,00423.81319,E,46.741,345.05,120308,,,D*56
+$GPRMC,134702.00,A,5158.72192,N,00423.80784,E,47.186,345.03,120308,,,D*5D
+$GPRMC,134703.00,A,5158.73460,N,00423.80245,E,47.395,345.44,120308,,,D*5E
+$GPRMC,134704.00,A,5158.74739,N,00423.79716,E,47.557,345.76,120308,,,D*5D
+$GPRMC,134705.00,A,5158.76027,N,00423.79206,E,48.068,346.43,120308,,,D*51
+$GPRMC,134706.00,A,5158.77316,N,00423.78715,E,47.816,346.80,120308,,,D*55
+$GPRMC,134707.00,A,5158.78612,N,00423.78229,E,47.959,347.12,120308,,,D*50
+$GPRMC,134708.00,A,5158.79914,N,00423.77765,E,48.079,347.50,120308,,,D*57
+$GPRMC,134709.00,A,5158.81223,N,00423.77313,E,48.203,347.75,120308,,,D*53
+$GPRMC,134710.00,A,5158.82541,N,00423.76843,E,48.366,347.44,120308,,,D*54
+$GPRMC,134711.00,A,5158.83851,N,00423.76367,E,48.265,346.96,120308,,,D*59
+$GPRMC,134712.00,A,5158.85150,N,00423.75885,E,47.901,346.52,120308,,,D*5E
+$GPRMC,134713.00,A,5158.86430,N,00423.75401,E,47.243,345.93,120308,,,D*5C
+$GPRMC,134714.00,A,5158.87691,N,00423.74899,E,46.699,345.50,120308,,,D*52
+$GPRMC,134715.00,A,5158.88931,N,00423.74384,E,45.951,345.47,120308,,,D*50
+$GPRMC,134716.00,A,5158.90153,N,00423.73888,E,44.868,346.19,120308,,,D*54
+$GPRMC,134717.00,A,5158.91353,N,00423.73455,E,43.174,348.64,120308,,,D*5D
+$GPRMC,134718.00,A,5158.92485,N,00423.73133,E,39.851,351.51,120308,,,D*55
+$GPRMC,134719.00,A,5158.93557,N,00423.72920,E,36.180,356.33,120308,,,D*59
+$GPRMC,134720.00,A,5158.94499,N,00423.72963,E,32.497,4.90,120308,,,D*5A
+$GPRMC,134721.00,A,5158.95335,N,00423.73222,E,29.561,16.28,120308,,,D*66
+$GPRMC,134722.00,A,5158.96070,N,00423.73694,E,28.278,27.51,120308,,,D*6F
+$GPRMC,134723.00,A,5158.96735,N,00423.74354,E,28.018,34.21,120308,,,D*67
+$GPRMC,134724.00,A,5158.97359,N,00423.75110,E,27.899,37.56,120308,,,D*61
+$GPRMC,134725.00,A,5158.97959,N,00423.75887,E,27.406,38.15,120308,,,D*6F
+$GPRMC,134726.00,A,5158.98562,N,00423.76597,E,26.296,33.14,120308,,,D*6C
+$GPRMC,134727.00,A,5158.99204,N,00423.77108,E,25.725,19.64,120308,,,D*69
+$GPRMC,134728.00,A,5158.99893,N,00423.77355,E,25.154,6.96,120308,,,D*5B
+$GPRMC,134729.00,A,5159.00573,N,00423.77343,E,24.643,352.85,120308,,,D*5F
+$GPRMC,134730.00,A,5159.01231,N,00423.77128,E,24.314,345.30,120308,,,D*57
+$GPRMC,134731.00,A,5159.01870,N,00423.76827,E,23.934,343.85,120308,,,D*59
+$GPRMC,134732.00,A,5159.02495,N,00423.76530,E,23.370,344.66,120308,,,D*55
+$GPRMC,134733.00,A,5159.03110,N,00423.76261,E,22.909,345.72,120308,,,D*5F
+$GPRMC,134734.00,A,5159.03714,N,00423.76010,E,22.464,345.96,120308,,,D*52
+$GPRMC,134735.00,A,5159.04314,N,00423.75746,E,22.395,344.28,120308,,,D*5A
+$GPRMC,134736.00,A,5159.04905,N,00423.75471,E,22.734,342.94,120308,,,D*5A
+$GPRMC,134737.00,A,5159.05424,N,00423.75383,E,19.658,351.34,120308,,,D*55
+$GPRMC,134738.00,A,5159.05967,N,00423.75187,E,19.491,349.74,120308,,,D*5C
+$GPRMC,134739.00,A,5159.06539,N,00423.74853,E,20.233,344.29,120308,,,D*59
+$GPRMC,134740.00,A,5159.07062,N,00423.74596,E,19.413,343.95,120308,,,D*57
+$GPRMC,134741.00,A,5159.07560,N,00423.74353,E,18.273,344.77,120308,,,D*54
+$GPRMC,134742.00,A,5159.08021,N,00423.74155,E,16.928,345.79,120308,,,D*58
+$GPRMC,134743.00,A,5159.08460,N,00423.73942,E,16.473,345.28,120308,,,D*56
+$GPRMC,134744.00,A,5159.08900,N,00423.73734,E,16.782,345.06,120308,,,D*54
+$GPRMC,134745.00,A,5159.09346,N,00423.73531,E,16.940,346.22,120308,,,D*5E
+$GPRMC,134746.00,A,5159.09803,N,00423.73322,E,17.331,345.73,120308,,,D*59
+$GPRMC,134747.00,A,5159.10249,N,00423.73130,E,16.613,345.84,120308,,,D*59
+$GPRMC,134748.00,A,5159.10670,N,00423.72951,E,15.771,345.46,120308,,,D*5E
+$GPRMC,134749.00,A,5159.11072,N,00423.72772,E,14.830,345.46,120308,,,D*5E
+$GPRMC,134750.00,A,5159.11446,N,00423.72600,E,13.855,343.99,120308,,,D*51
+$GPRMC,134751.00,A,5159.11793,N,00423.72377,E,12.672,336.92,120308,,,D*5D
+$GPRMC,134752.00,A,5159.12078,N,00423.72118,E,11.201,325.83,120308,,,D*55
+$GPRMC,134753.00,A,5159.12289,N,00423.71821,E,9.023,313.08,120308,,,D*65
+$GPRMC,134754.00,A,5159.12419,N,00423.71533,E,6.748,302.40,120308,,,D*6A
+$GPRMC,134755.00,A,5159.12498,N,00423.71309,E,4.469,300.04,120308,,,D*6D
+$GPRMC,134756.00,A,5159.12534,N,00423.71195,E,1.877,299.99,120308,,,D*6D
+$GPRMC,134757.00,A,5159.12538,N,00423.71173,E,0.181,300.19,120308,,,D*60
+$GPRMC,134758.00,A,5159.12534,N,00423.71177,E,0.009,,120308,,,D*73
+$GPRMC,134759.00,A,5159.12528,N,00423.71186,E,0.015,,120308,,,D*7C
+$GPRMC,134800.00,A,5159.12524,N,00423.71195,E,0.015,,120308,,,D*71
+$GPRMC,134801.00,A,5159.12521,N,00423.71201,E,0.008,,120308,,,D*77
+$GPRMC,134802.00,A,5159.12519,N,00423.71203,E,0.007,,120308,,,D*72
+$GPRMC,134803.00,A,5159.12517,N,00423.71203,E,0.007,,120308,,,D*7D
+$GPRMC,134804.00,A,5159.12511,N,00423.71210,E,0.032,299.54,120308,,,D*65
+$GPRMC,134805.00,A,5159.12508,N,00423.71214,E,0.089,303.93,120308,,,D*61
+$GPRMC,134806.00,A,5159.12504,N,00423.71218,E,0.009,,120308,,,D*7E
+$GPRMC,134807.00,A,5159.12500,N,00423.71215,E,0.021,303.73,120308,,,D*66
+$GPRMC,134808.00,A,5159.12497,N,00423.71212,E,0.012,,120308,,,D*7B
+$GPRMC,134809.00,A,5159.12493,N,00423.71208,E,0.017,,120308,,,D*70
+$GPRMC,134810.00,A,5159.12491,N,00423.71206,E,0.038,305.33,120308,,,D*61
+$GPRMC,134811.00,A,5159.12490,N,00423.71201,E,0.011,,120308,,,D*75
+$GPRMC,134812.00,A,5159.12490,N,00423.71193,E,0.029,304.68,120308,,,D*62
+$GPRMC,134813.00,A,5159.12492,N,00423.71185,E,0.015,,120308,,,D*7E
+$GPRMC,134814.00,A,5159.12495,N,00423.71177,E,0.019,,120308,,,D*7F
+$GPRMC,134815.00,A,5159.12498,N,00423.71170,E,0.006,,120308,,,D*7A
+$GPRMC,134816.00,A,5159.12497,N,00423.71158,E,0.020,299.06,120308,,,D*62
+$GPRMC,134817.00,A,5159.12498,N,00423.71146,E,0.062,299.70,120308,,,D*64
+$GPRMC,134818.00,A,5159.12501,N,00423.71137,E,0.015,,120308,,,D*77
+$GPRMC,134819.00,A,5159.12504,N,00423.71127,E,0.007,,120308,,,D*71
+$GPRMC,134820.00,A,5159.12506,N,00423.71119,E,0.008,,120308,,,D*7B
+$GPRMC,134821.00,A,5159.12508,N,00423.71114,E,0.018,,120308,,,D*78
+$GPRMC,134822.00,A,5159.12509,N,00423.71107,E,0.028,298.20,120308,,,D*64
+$GPRMC,134823.00,A,5159.12510,N,00423.71097,E,0.039,297.36,120308,,,D*6D
+$GPRMC,134824.00,A,5159.12509,N,00423.71086,E,0.006,,120308,,,D*79
+$GPRMC,134825.00,A,5159.12511,N,00423.71081,E,0.009,,120308,,,D*79
+$GPRMC,134826.00,A,5159.12514,N,00423.71077,E,0.005,,120308,,,D*7A
+$GPRMC,134827.00,A,5159.12515,N,00423.71074,E,0.003,,120308,,,D*7F
+$GPRMC,134828.00,A,5159.12518,N,00423.71070,E,0.003,,120308,,,D*79
+$GPRMC,134829.00,A,5159.12521,N,00423.71066,E,0.008,,120308,,,D*7E
+$GPRMC,134830.00,A,5159.12524,N,00423.71062,E,0.017,,120308,,,A*7C
+$GPRMC,134831.00,A,5159.12528,N,00423.71058,E,0.004,,120308,,,A*7A
+$GPRMC,134832.00,A,5159.12530,N,00423.71058,E,0.018,,120308,,,A*7D
+$GPRMC,134833.00,A,5159.12531,N,00423.71055,E,0.010,,120308,,,A*78
+$GPRMC,134834.00,A,5159.12533,N,00423.71050,E,0.009,,120308,,,A*70
+$GPRMC,134835.00,A,5159.12535,N,00423.71046,E,0.089,298.39,120308,,,A*6F
+$GPRMC,134836.00,A,5159.12537,N,00423.71043,E,0.021,295.82,120308,,,A*64
+$GPRMC,134837.00,A,5159.12538,N,00423.71042,E,0.012,,120308,,,A*71
+$GPRMC,134838.00,A,5159.12540,N,00423.71042,E,0.006,,120308,,,A*74
+$GPRMC,134839.00,A,5159.12541,N,00423.71042,E,0.008,,120308,,,A*7A
+$GPRMC,134840.00,A,5159.12542,N,00423.71043,E,0.006,,120308,,,A*78
+$GPRMC,134841.00,A,5159.12544,N,00423.71047,E,0.006,,120308,,,A*7B
+$GPRMC,134842.00,A,5159.12545,N,00423.71050,E,0.002,,120308,,,A*7B
+$GPRMC,134843.00,A,5159.12546,N,00423.71051,E,0.016,,120308,,,A*7D
+$GPRMC,134844.00,A,5159.12548,N,00423.71052,E,0.021,290.55,120308,,,A*66
+$GPRMC,134845.00,A,5159.12549,N,00423.71054,E,0.012,,120308,,,A*75
+$GPRMC,134846.00,A,5159.12550,N,00423.71053,E,0.006,,120308,,,A*7C
+$GPRMC,134847.00,A,5159.12550,N,00423.71055,E,0.004,,120308,,,A*79
+$GPRMC,134848.00,A,5159.12549,N,00423.71063,E,0.015,,120308,,,A*7B
+$GPRMC,134849.00,A,5159.12549,N,00423.71071,E,0.019,,120308,,,A*75
+$GPRMC,134850.00,A,5159.12548,N,00423.71077,E,0.012,,120308,,,A*71
+$GPRMC,134851.00,A,5159.12546,N,00423.71085,E,0.010,,120308,,,A*71
+$GPRMC,134852.00,A,5159.12543,N,00423.71092,E,0.016,,120308,,,A*77
+$GPRMC,134853.00,A,5159.12539,N,00423.71099,E,0.008,,120308,,,A*7F
+$GPRMC,134854.00,A,5159.12536,N,00423.71108,E,0.018,,120308,,,A*7F
+$GPRMC,134855.00,A,5159.12532,N,00423.71115,E,0.023,288.95,120308,,,A*6E
+$GPRMC,134856.00,A,5159.12529,N,00423.71120,E,0.017,,120308,,,A*76
+$GPRMC,134857.00,A,5159.12527,N,00423.71124,E,0.022,289.25,120308,,,A*61
+$GPRMC,134858.00,A,5159.12525,N,00423.71131,E,0.008,,120308,,,A*7A
+$GPRMC,134859.00,A,5159.12524,N,00423.71137,E,0.006,,120308,,,A*72
+$GPRMC,134900.00,A,5159.12523,N,00423.71144,E,0.006,,120308,,,A*7C
+$GPRMC,134901.00,A,5159.12520,N,00423.71151,E,0.012,,120308,,,A*7F
+$GPRMC,134902.00,A,5159.12517,N,00423.71158,E,0.010,,120308,,,A*73
+$GPRMC,134903.00,A,5159.12515,N,00423.71164,E,0.005,,120308,,,A*7B
+$GPRMC,134904.00,A,5159.12513,N,00423.71170,E,0.004,,120308,,,A*7E
+$GPRMC,134905.00,A,5159.12512,N,00423.71175,E,0.020,292.09,120308,,,A*63
+$GPRMC,134906.00,A,5159.12509,N,00423.71177,E,0.020,289.18,120308,,,A*62
+$GPRMC,134907.00,A,5159.12506,N,00423.71179,E,0.006,,120308,,,A*72
+$GPRMC,134908.00,A,5159.12504,N,00423.71181,E,0.008,,120308,,,A*76
+$GPRMC,134909.00,A,5159.12502,N,00423.71184,E,0.007,,120308,,,A*7B
+$GPRMC,134910.00,A,5159.12501,N,00423.71187,E,0.007,,120308,,,A*73
+$GPRMC,134911.00,A,5159.12499,N,00423.71189,E,0.015,,120308,,,A*7F
+$GPRMC,134912.00,A,5159.12496,N,00423.71190,E,0.014,,120308,,,A*7A
+$GPRMC,134913.00,A,5159.12494,N,00423.71191,E,0.013,,120308,,,A*7F
+$GPRMC,134914.00,A,5159.12490,N,00423.71192,E,0.004,,120308,,,A*79
+$GPRMC,134915.00,A,5159.12487,N,00423.71190,E,0.014,,120308,,,A*7D
+$GPRMC,134916.00,A,5159.12484,N,00423.71191,E,0.010,,120308,,,A*78
+$GPRMC,134917.00,A,5159.12480,N,00423.71191,E,0.014,,120308,,,A*79
+$GPRMC,134918.00,A,5159.12477,N,00423.71188,E,0.007,,120308,,,A*74
+$GPRMC,134919.00,A,5159.12474,N,00423.71185,E,0.005,,120308,,,A*79
+$GPRMC,134920.00,A,5159.12470,N,00423.71180,E,0.008,,120308,,,A*7F
+$GPRMC,134921.00,A,5159.12467,N,00423.71175,E,0.007,,120308,,,A*7D
+$GPRMC,134922.00,A,5159.12463,N,00423.71170,E,0.009,,120308,,,A*71
+$GPRMC,134923.00,A,5159.12461,N,00423.71165,E,0.008,,120308,,,A*77
+$GPRMC,134924.00,A,5159.12458,N,00423.71161,E,0.007,,120308,,,A*71
+$GPRMC,134925.00,A,5159.12456,N,00423.71159,E,0.007,,120308,,,A*75
+$GPRMC,134926.00,A,5159.12453,N,00423.71157,E,0.008,,120308,,,A*72
+$GPRMC,134927.00,A,5159.12450,N,00423.71155,E,0.002,,120308,,,A*78
+$GPRMC,134928.00,A,5159.12449,N,00423.71150,E,0.005,,120308,,,A*7D
+$GPRMC,134929.00,A,5159.12448,N,00423.71146,E,0.011,,120308,,,A*7F
+$GPRMC,134930.00,A,5159.12447,N,00423.71144,E,0.008,,120308,,,A*72
+$GPRMC,134931.00,A,5159.12445,N,00423.71141,E,0.003,,120308,,,A*7F
+$GPRMC,134932.00,A,5159.12440,N,00423.71140,E,0.013,,120308,,,A*79
+$GPRMC,134933.00,A,5159.12433,N,00423.71144,E,0.006,,120308,,,A*7C
+$GPRMC,134934.00,A,5159.12429,N,00423.71143,E,0.005,,120308,,,A*74
+$GPRMC,134935.00,A,5159.12425,N,00423.71142,E,0.013,,120308,,,A*7F
+$GPRMC,134936.00,A,5159.12421,N,00423.71140,E,0.003,,120308,,,A*7B
+$GPRMC,134937.00,A,5159.12418,N,00423.71139,E,0.006,,120308,,,A*7B
+$GPRMC,134938.00,A,5159.12416,N,00423.71136,E,0.003,,120308,,,A*70
+$GPRMC,134939.00,A,5159.12414,N,00423.71133,E,0.018,,120308,,,A*7C
+$GPRMC,134940.00,A,5159.12412,N,00423.71129,E,0.030,293.91,120308,,,A*6B
+$GPRMC,134941.00,A,5159.12411,N,00423.71127,E,0.013,,120308,,,A*78
+$GPRMC,134942.00,A,5159.12410,N,00423.71124,E,0.004,,120308,,,A*7F
+$GPRMC,134943.00,A,5159.12409,N,00423.71122,E,0.016,,120308,,,A*73
+$GPRMC,134944.00,A,5159.12408,N,00423.71121,E,0.017,,120308,,,A*77
+$GPRMC,134945.00,A,5159.12405,N,00423.71123,E,0.015,,120308,,,A*7B
+$GPRMC,134946.00,A,5159.12404,N,00423.71125,E,0.017,,120308,,,A*7D
+$GPRMC,134947.00,A,5159.12404,N,00423.71123,E,0.026,294.43,120308,,,A*6E
+$GPRMC,134948.00,A,5159.12404,N,00423.71120,E,0.015,,120308,,,A*74
+$GPRMC,134949.00,A,5159.12404,N,00423.71120,E,0.000,,120308,,,A*71
+$GPRMC,134950.00,A,5159.12405,N,00423.71121,E,0.012,,120308,,,A*7A
+$GPRMC,134951.00,A,5159.12406,N,00423.71118,E,0.022,295.31,120308,,,A*63
+$GPRMC,134952.00,A,5159.12407,N,00423.71116,E,0.003,,120308,,,A*7E
+$GPRMC,134953.00,A,5159.12409,N,00423.71115,E,0.015,,120308,,,A*75
+$GPRMC,134954.00,A,5159.12410,N,00423.71115,E,0.012,,120308,,,A*7D
+$GPRMC,134955.00,A,5159.12410,N,00423.71114,E,0.018,,120308,,,A*77
+$GPRMC,134956.00,A,5159.12411,N,00423.71115,E,0.006,,120308,,,A*7B
+$GPRMC,134957.00,A,5159.12411,N,00423.71115,E,0.015,,120308,,,A*78
+$GPRMC,134958.00,A,5159.12409,N,00423.71118,E,0.003,,120308,,,A*74
+$GPRMC,134959.00,A,5159.12409,N,00423.71118,E,0.004,,120308,,,A*72
+$GPRMC,135000.00,A,5159.12409,N,00423.71120,E,0.010,,120308,,,A*78
+$GPRMC,135001.00,A,5159.12408,N,00423.71122,E,0.007,,120308,,,A*7C
+$GPRMC,135002.00,A,5159.12408,N,00423.71125,E,0.008,,120308,,,A*77
+$GPRMC,135003.00,A,5159.12408,N,00423.71128,E,0.001,,120308,,,A*72
+$GPRMC,135004.00,A,5159.12409,N,00423.71132,E,0.012,,120308,,,A*7D
+$GPRMC,135005.00,A,5159.12411,N,00423.71138,E,0.013,,120308,,,A*7E
+$GPRMC,135006.00,A,5159.12413,N,00423.71143,E,0.006,,120308,,,A*77
+$GPRMC,135007.00,A,5159.12414,N,00423.71144,E,0.005,,120308,,,A*75
+$GPRMC,135008.00,A,5159.12415,N,00423.71143,E,0.007,,120308,,,A*7E
+$GPRMC,135009.00,A,5159.12415,N,00423.71143,E,0.022,295.90,120308,,,A*61
+$GPRMC,135010.00,A,5159.12416,N,00423.71141,E,0.013,,120308,,,A*73
+$GPRMC,135011.00,A,5159.12416,N,00423.71136,E,0.019,,120308,,,A*78
+$GPRMC,135012.00,A,5159.12416,N,00423.71132,E,0.009,,120308,,,A*7E
+$GPRMC,135013.00,A,5159.12416,N,00423.71126,E,0.003,,120308,,,A*70
+$GPRMC,135014.00,A,5159.12415,N,00423.71118,E,0.003,,120308,,,A*79
+$GPRMC,135015.00,A,5159.12414,N,00423.71107,E,0.011,,120308,,,A*74
+$GPRMC,135016.00,A,5159.12415,N,00423.71106,E,0.004,,120308,,,A*73
+$GPRMC,135017.00,A,5159.12415,N,00423.71097,E,0.007,,120308,,,A*78
+$GPRMC,135018.00,A,5159.12416,N,00423.71094,E,0.013,,120308,,,A*72
+$GPRMC,135019.00,A,5159.12417,N,00423.71091,E,0.012,,120308,,,A*76
+$GPRMC,135020.00,A,5159.12416,N,00423.71082,E,0.018,,120308,,,A*75
+$GPRMC,135021.00,A,5159.12415,N,00423.71073,E,0.005,,120308,,,A*75
+$GPRMC,135022.00,A,5159.12414,N,00423.71068,E,0.030,301.25,120308,,,A*60
+$GPRMC,135023.00,A,5159.12413,N,00423.71060,E,0.008,,120308,,,A*7E
+$GPRMC,135024.00,A,5159.12414,N,00423.71058,E,0.005,,120308,,,A*78
+$GPRMC,135025.00,A,5159.12414,N,00423.71056,E,0.014,,120308,,,A*77
+$GPRMC,135026.00,A,5159.12413,N,00423.71051,E,0.003,,120308,,,A*72
+$GPRMC,135027.00,A,5159.12413,N,00423.71046,E,0.011,,120308,,,A*76
+$GPRMC,135028.00,A,5159.12413,N,00423.71044,E,0.013,,120308,,,A*79
+$GPRMC,135029.00,A,5159.12414,N,00423.71043,E,0.014,,120308,,,A*7F
+$GPRMC,135030.00,A,5159.12415,N,00423.71045,E,0.006,,120308,,,A*73
+$GPRMC,135031.00,A,5159.12415,N,00423.71046,E,0.011,,120308,,,A*77
+$GPRMC,135032.00,A,5159.12414,N,00423.71047,E,0.004,,120308,,,A*70
+$GPRMC,135033.00,A,5159.12413,N,00423.71047,E,0.004,,120308,,,A*76
+$GPRMC,135034.00,A,5159.12410,N,00423.71038,E,0.004,,120308,,,A*7A
+$GPRMC,135035.00,A,5159.12408,N,00423.71036,E,0.019,,120308,,,A*70
+$GPRMC,135036.00,A,5159.12406,N,00423.71031,E,0.016,,120308,,,A*75
+$GPRMC,135037.00,A,5159.12404,N,00423.71029,E,0.011,,120308,,,A*78
+$GPRMC,135038.00,A,5159.12401,N,00423.71024,E,0.006,,120308,,,A*79
+$GPRMC,135039.00,A,5159.12398,N,00423.71012,E,0.011,,120308,,,A*7C
+$GPRMC,135040.00,A,5159.12394,N,00423.70997,E,0.008,,120308,,,A*73
+$GPRMC,135041.00,A,5159.12391,N,00423.70986,E,0.009,,120308,,,A*76
+$GPRMC,135042.00,A,5159.12388,N,00423.70977,E,0.016,,120308,,,A*7D
+$GPRMC,135043.00,A,5159.12386,N,00423.70973,E,0.017,,120308,,,A*77
+$GPRMC,135044.00,A,5159.12383,N,00423.70967,E,0.010,,120308,,,A*77
+$GPRMC,135045.00,A,5159.12382,N,00423.70967,E,0.018,,120308,,,A*7F
+$GPRMC,135046.00,A,5159.12381,N,00423.70964,E,0.010,,120308,,,A*74
+$GPRMC,135047.00,A,5159.12379,N,00423.70962,E,0.015,,120308,,,A*71
+$GPRMC,135048.00,A,5159.12377,N,00423.70958,E,0.014,,120308,,,A*78
+$GPRMC,135049.00,A,5159.12375,N,00423.70956,E,0.005,,120308,,,A*75
+$GPRMC,135050.00,A,5159.12375,N,00423.70956,E,0.010,,120308,,,A*79
+$GPRMC,135051.00,A,5159.12373,N,00423.70959,E,0.006,,120308,,,A*76
+$GPRMC,135052.00,A,5159.12372,N,00423.70962,E,0.002,,120308,,,A*78
+$GPRMC,135053.00,A,5159.12371,N,00423.70965,E,0.003,,120308,,,A*7C
+$GPRMC,135054.00,A,5159.12369,N,00423.70969,E,0.003,,120308,,,A*7E
+$GPRMC,135055.00,A,5159.12367,N,00423.70975,E,0.008,,120308,,,A*77
+$GPRMC,135056.00,A,5159.12365,N,00423.70978,E,0.006,,120308,,,A*75
+$GPRMC,135057.00,A,5159.12364,N,00423.70982,E,0.008,,120308,,,A*7E
+$GPRMC,135058.00,A,5159.12363,N,00423.70985,E,0.019,301.30,120308,,,A*6E
+$GPRMC,135059.00,A,5159.12362,N,00423.70990,E,0.009,,120308,,,A*74
+$GPRMC,135100.00,A,5159.12362,N,00423.70998,E,0.017,,120308,,,A*7E
+$GPRMC,135101.00,A,5159.12360,N,00423.71005,E,0.010,,120308,,,A*76
+$GPRMC,135102.00,A,5159.12359,N,00423.71013,E,0.012,,120308,,,A*7A
+$GPRMC,135103.00,A,5159.12359,N,00423.71022,E,0.007,,120308,,,A*7D
+$GPRMC,135104.00,A,5159.12358,N,00423.71028,E,0.002,,120308,,,A*74
+$GPRMC,135105.00,A,5159.12358,N,00423.71030,E,0.007,,120308,,,A*79
+$GPRMC,135106.00,A,5159.12362,N,00423.71029,E,0.007,,120308,,,A*7B
+$GPRMC,135107.00,A,5159.12366,N,00423.71025,E,0.008,,120308,,,A*7D
+$GPRMC,135108.00,A,5159.12366,N,00423.71026,E,0.007,,120308,,,A*7E
+$GPRMC,135109.00,A,5159.12365,N,00423.71027,E,0.018,,120308,,,A*73
+$GPRMC,135110.00,A,5159.12365,N,00423.71028,E,0.011,,120308,,,A*7D
+$GPRMC,135111.00,A,5159.12365,N,00423.71030,E,0.013,,120308,,,A*77
+$GPRMC,135112.00,A,5159.12365,N,00423.71029,E,0.004,,120308,,,A*7A
+$GPRMC,135113.00,A,5159.12366,N,00423.71029,E,0.005,,120308,,,A*79
+$GPRMC,135114.00,A,5159.12367,N,00423.71026,E,0.028,300.60,120308,,,A*64
+$GPRMC,135115.00,A,5159.12368,N,00423.71024,E,0.021,305.39,120308,,,A*68
+$GPRMC,135116.00,A,5159.12368,N,00423.71025,E,0.002,,120308,,,A*79
+$GPRMC,135117.00,A,5159.12368,N,00423.71026,E,0.011,,120308,,,A*79
+$GPRMC,135118.00,A,5159.12369,N,00423.71025,E,0.010,,120308,,,A*75
+$GPRMC,135119.00,A,5159.12371,N,00423.71024,E,0.012,,120308,,,A*7E
+$GPRMC,135120.00,A,5159.12373,N,00423.71022,E,0.011,,120308,,,A*73
+$GPRMC,135121.00,A,5159.12374,N,00423.71020,E,0.009,,120308,,,A*7E
+$GPRMC,135122.00,A,5159.12375,N,00423.71019,E,0.006,,120308,,,A*79
+$GPRMC,135123.00,A,5159.12375,N,00423.71018,E,0.020,300.91,120308,,,A*68
+$GPRMC,135124.00,A,5159.12375,N,00423.71018,E,0.003,,120308,,,A*7B
+$GPRMC,135125.00,A,5159.12375,N,00423.71019,E,0.005,,120308,,,A*7D
+$GPRMC,135126.00,A,5159.12375,N,00423.71021,E,0.019,,120308,,,A*78
+$GPRMC,135127.00,A,5159.12375,N,00423.71023,E,0.003,,120308,,,A*70
+$GPRMC,135128.00,A,5159.12375,N,00423.71026,E,0.007,,120308,,,A*7E
+$GPRMC,135129.00,A,5159.12374,N,00423.71028,E,0.004,,120308,,,A*73
+$GPRMC,135130.00,A,5159.12371,N,00423.71032,E,0.007,,120308,,,A*76
+$GPRMC,135131.00,A,5159.12370,N,00423.71035,E,0.004,,120308,,,A*72
+$GPRMC,135132.00,A,5159.12368,N,00423.71039,E,0.008,,120308,,,A*78
+$GPRMC,135133.00,A,5159.12367,N,00423.71045,E,0.009,,120308,,,A*7C
+$GPRMC,135134.00,A,5159.12366,N,00423.71051,E,0.019,,120308,,,A*7E
+$GPRMC,135135.00,A,5159.12366,N,00423.71057,E,0.004,,120308,,,A*75
+$GPRMC,135136.00,A,5159.12366,N,00423.71063,E,0.018,,120308,,,A*7C
+$GPRMC,135137.00,A,5159.12365,N,00423.71068,E,0.010,,120308,,,A*7D
+$GPRMC,135138.00,A,5159.12365,N,00423.71072,E,0.009,,120308,,,A*71
+$GPRMC,135139.00,A,5159.12364,N,00423.71076,E,0.015,,120308,,,A*78
+$GPRMC,135140.00,A,5159.12364,N,00423.71079,E,0.010,,120308,,,A*7C
+$GPRMC,135141.00,A,5159.12364,N,00423.71081,E,0.001,,120308,,,A*7A
+$GPRMC,135142.00,A,5159.12365,N,00423.71083,E,0.008,,120308,,,A*73
+$GPRMC,135143.00,A,5159.12367,N,00423.71085,E,0.019,,120308,,,A*76
+$GPRMC,135144.00,A,5159.12368,N,00423.71089,E,0.007,,120308,,,A*7D
+$GPRMC,135145.00,A,5159.12369,N,00423.71092,E,0.011,,120308,,,A*70
+$GPRMC,135146.00,A,5159.12370,N,00423.71095,E,0.015,,120308,,,A*78
+$GPRMC,135147.00,A,5159.12369,N,00423.71098,E,0.007,,120308,,,A*7F
+$GPRMC,135148.00,A,5159.12369,N,00423.71102,E,0.006,,120308,,,A*73
+$GPRMC,135149.00,A,5159.12368,N,00423.71107,E,0.004,,120308,,,A*74
+$GPRMC,135150.00,A,5159.12368,N,00423.71113,E,0.004,,120308,,,A*79
+$GPRMC,135151.00,A,5159.12368,N,00423.71117,E,0.008,,120308,,,A*70
+$GPRMC,135152.00,A,5159.12368,N,00423.71120,E,0.015,,120308,,,A*7B
+$GPRMC,135153.00,A,5159.12369,N,00423.71125,E,0.015,,120308,,,A*7E
+$GPRMC,135154.00,A,5159.12368,N,00423.71129,E,0.007,,120308,,,A*77
+$GPRMC,135155.00,A,5159.12367,N,00423.71131,E,0.005,,120308,,,D*77
+$GPRMC,135156.00,A,5159.12370,N,00423.71130,E,0.003,,120308,,,D*75
+$GPRMC,135157.00,A,5159.12372,N,00423.71130,E,0.008,,120308,,,D*7D
+$GPRMC,135158.00,A,5159.12373,N,00423.71129,E,0.014,,120308,,,D*76
+$GPRMC,135159.00,A,5159.12375,N,00423.71128,E,0.005,,120308,,,D*70
+$GPRMC,135200.00,A,5159.12373,N,00423.71129,E,0.007,,120308,,,D*7A
+$GPRMC,135201.00,A,5159.12371,N,00423.71130,E,0.010,,120308,,,D*77
+$GPRMC,135202.00,A,5159.12368,N,00423.71131,E,0.006,,120308,,,D*7A
+$GPRMC,135203.00,A,5159.12367,N,00423.71132,E,0.011,,120308,,,D*71
+$GPRMC,135204.00,A,5159.12365,N,00423.71136,E,0.014,,120308,,,D*75
+$GPRMC,135205.00,A,5159.12368,N,00423.71140,E,0.003,,120308,,,D*7E
+$GPRMC,135206.00,A,5159.12370,N,00423.71143,E,0.005,,120308,,,D*71
+$GPRMC,135207.00,A,5159.12373,N,00423.71143,E,0.004,,120308,,,D*72
+$GPRMC,135208.00,A,5159.12375,N,00423.71143,E,0.013,,120308,,,D*7D
+$GPRMC,135209.00,A,5159.12377,N,00423.71143,E,0.026,298.22,120308,,,D*65
+$GPRMC,135210.00,A,5159.12378,N,00423.71142,E,0.017,,120308,,,D*7C
+$GPRMC,135211.00,A,5159.12380,N,00423.71139,E,0.003,,120308,,,D*73
+$GPRMC,135212.00,A,5159.12381,N,00423.71136,E,0.010,,120308,,,D*7C
+$GPRMC,135213.00,A,5159.12382,N,00423.71132,E,0.012,,120308,,,D*78
+$GPRMC,135214.00,A,5159.12382,N,00423.71126,E,0.015,,120308,,,D*7D
+$GPRMC,135215.00,A,5159.12383,N,00423.71120,E,0.006,,120308,,,D*79
+$GPRMC,135216.00,A,5159.12384,N,00423.71118,E,0.005,,120308,,,D*75
+$GPRMC,135217.00,A,5159.12385,N,00423.71113,E,0.008,,120308,,,D*73
+$GPRMC,135218.00,A,5159.12385,N,00423.71108,E,0.009,,120308,,,D*77
+$GPRMC,135219.00,A,5159.12386,N,00423.71106,E,0.009,,120308,,,D*7B
+$GPRMC,135220.00,A,5159.12386,N,00423.71103,E,0.021,297.20,120308,,,D*6E
+$GPRMC,135221.00,A,5159.12386,N,00423.71099,E,0.020,301.04,120308,,,D*64
+$GPRMC,135222.00,A,5159.12387,N,00423.71095,E,0.010,,120308,,,D*71
+$GPRMC,135223.00,A,5159.12386,N,00423.71087,E,0.023,306.12,120308,,,D*6A
+$GPRMC,135224.00,A,5159.12386,N,00423.71083,E,0.007,,120308,,,D*77
+$GPRMC,135225.00,A,5159.12387,N,00423.71077,E,0.014,,120308,,,D*7E
+$GPRMC,135226.00,A,5159.12387,N,00423.71070,E,0.017,,120308,,,D*79
+$GPRMC,135227.00,A,5159.12386,N,00423.71066,E,0.011,,120308,,,D*78
+$GPRMC,135228.00,A,5159.12386,N,00423.71064,E,0.001,,120308,,,D*74
+$GPRMC,135229.00,A,5159.12385,N,00423.71057,E,0.007,,120308,,,D*70
+$GPRMC,135230.00,A,5159.12385,N,00423.71054,E,0.025,310.62,120308,,,D*63
+$GPRMC,135231.00,A,5159.12386,N,00423.71053,E,0.061,314.64,120308,,,D*64
+$GPRMC,135232.00,A,5159.12388,N,00423.71051,E,0.020,313.23,120308,,,D*6A
+$GPRMC,135233.00,A,5159.12389,N,00423.71046,E,0.010,,120308,,,D*71
+$GPRMC,135234.00,A,5159.12391,N,00423.71043,E,0.015,,120308,,,D*7F
+$GPRMC,135235.00,A,5159.12393,N,00423.71042,E,0.007,,120308,,,D*7E
+$GPRMC,135236.00,A,5159.12396,N,00423.71042,E,0.017,,120308,,,D*79
+$GPRMC,135237.00,A,5159.12398,N,00423.71041,E,0.015,,120308,,,D*77
+$GPRMC,135238.00,A,5159.12400,N,00423.71043,E,0.005,,120308,,,D*7D
+$GPRMC,135239.00,A,5159.12403,N,00423.71045,E,0.006,,120308,,,D*7A
+$GPRMC,135240.00,A,5159.12405,N,00423.71045,E,0.015,,120308,,,D*70
+$GPRMC,135241.00,A,5159.12407,N,00423.71046,E,0.006,,120308,,,D*72
+$GPRMC,135242.00,A,5159.12409,N,00423.71047,E,0.013,,120308,,,D*7A
+$GPRMC,135243.00,A,5159.12410,N,00423.71047,E,0.019,,120308,,,D*79
+$GPRMC,135244.00,A,5159.12412,N,00423.71049,E,0.015,,120308,,,D*7E
+$GPRMC,135245.00,A,5159.12413,N,00423.71052,E,0.010,,120308,,,D*71
+$GPRMC,135246.00,A,5159.12413,N,00423.71058,E,0.016,,120308,,,D*7E
+$GPRMC,135247.00,A,5159.12413,N,00423.71060,E,0.085,311.55,120308,,,D*63
+$GPRMC,135248.00,A,5159.12412,N,00423.71058,E,0.079,309.42,120308,,,D*6A
+$GPRMC,135249.00,A,5159.12411,N,00423.71060,E,0.020,308.29,120308,,,D*63
+$GPRMC,135250.00,A,5159.12410,N,00423.71063,E,0.034,306.92,120308,,,D*62
+$GPRMC,135251.00,A,5159.12412,N,00423.71062,E,0.033,306.49,120308,,,D*61
+$GPRMC,135252.00,A,5159.12413,N,00423.71061,E,0.043,304.29,120308,,,D*63
+$GPRMC,135253.00,A,5159.12413,N,00423.71061,E,0.010,,120308,,,D*76
+$GPRMC,135254.00,A,5159.12413,N,00423.71061,E,0.036,308.61,120308,,,D*67
+$GPRMC,135255.00,A,5159.12413,N,00423.71060,E,0.022,311.07,120308,,,D*6A
+$GPRMC,135256.00,A,5159.12413,N,00423.71058,E,0.037,314.39,120308,,,D*6E
+$GPRMC,135257.00,A,5159.12415,N,00423.71058,E,0.007,,120308,,,D*78
+$GPRMC,135258.00,A,5159.12416,N,00423.71052,E,0.070,314.03,120308,,,D*65
+$GPRMC,135259.00,A,5159.12421,N,00423.71060,E,0.077,314.00,120308,,,D*65
+$GPRMC,135300.00,A,5159.12424,N,00423.71072,E,0.016,,120308,,,D*71
+$GPRMC,135301.00,A,5159.12425,N,00423.71083,E,0.025,312.41,120308,,,D*64
+$GPRMC,135302.00,A,5159.12425,N,00423.71094,E,0.012,,120308,,,D*7E
+$GPRMC,135303.00,A,5159.12424,N,00423.71094,E,0.040,310.18,120308,,,D*6C
+$GPRMC,135304.00,A,5159.12424,N,00423.71092,E,0.004,,120308,,,D*78
+$GPRMC,135305.00,A,5159.12427,N,00423.71102,E,0.035,308.62,120308,,,D*61
+$GPRMC,135306.00,A,5159.12430,N,00423.71113,E,0.020,307.33,120308,,,D*6B
+$GPRMC,135307.00,A,5159.12431,N,00423.71116,E,0.001,,120308,,,D*77
+$GPRMC,135308.00,A,5159.12434,N,00423.71120,E,0.019,,120308,,,D*71
+$GPRMC,135309.00,A,5159.12440,N,00423.71126,E,0.016,,120308,,,D*7A
+$GPRMC,135310.00,A,5159.12443,N,00423.71125,E,0.010,,120308,,,D*74
+$GPRMC,135311.00,A,5159.12447,N,00423.71120,E,0.016,,120308,,,D*72
+$GPRMC,135312.00,A,5159.12451,N,00423.71120,E,0.010,,120308,,,D*70
+$GPRMC,135313.00,A,5159.12456,N,00423.71123,E,0.002,,120308,,,D*76
+$GPRMC,135314.00,A,5159.12466,N,00423.71116,E,0.025,305.38,120308,,,D*62
+$GPRMC,135315.00,A,5159.12476,N,00423.71102,E,0.013,,120308,,,D*71
+$GPRMC,135316.00,A,5159.12485,N,00423.71096,E,0.015,,120308,,,D*74
+$GPRMC,135317.00,A,5159.12495,N,00423.71087,E,0.003,,120308,,,D*73
+$GPRMC,135318.00,A,5159.12500,N,00423.71085,E,0.007,,120308,,,D*77
+$GPRMC,135319.00,A,5159.12501,N,00423.71084,E,0.023,304.21,120308,,,D*6A
+$GPRMC,135320.00,A,5159.12503,N,00423.71082,E,0.019,,120308,,,D*77
+$GPRMC,135321.00,A,5159.12504,N,00423.71081,E,0.011,,120308,,,D*7A
+$GPRMC,135322.00,A,5159.12507,N,00423.71070,E,0.012,,120308,,,D*77
+$GPRMC,135323.00,A,5159.12509,N,00423.71060,E,0.095,302.15,120308,,,D*6D
+$GPRMC,135324.00,A,5159.12512,N,00423.71048,E,0.005,,120308,,,D*78
+$GPRMC,135325.00,A,5159.12516,N,00423.71038,E,0.009,,120308,,,D*76
+$GPRMC,135326.00,A,5159.12516,N,00423.71035,E,0.014,,120308,,,D*74
+$GPRMC,135327.00,A,5159.12513,N,00423.71034,E,0.024,301.89,120308,,,D*6F
+$GPRMC,135328.00,A,5159.12511,N,00423.71034,E,0.007,,120308,,,D*7E
+$GPRMC,135329.00,A,5159.12511,N,00423.71031,E,0.018,,120308,,,D*74
+$GPRMC,135330.00,A,5159.12511,N,00423.71027,E,0.002,,120308,,,D*70
+$GPRMC,135331.00,A,5159.12512,N,00423.71020,E,0.015,,120308,,,D*73
+$GPRMC,135332.00,A,5159.12513,N,00423.71016,E,0.010,,120308,,,D*71
+$GPRMC,135333.00,A,5159.12512,N,00423.71014,E,0.013,,120308,,,D*70
+$GPRMC,135334.00,A,5159.12510,N,00423.71012,E,0.017,,120308,,,D*77
+$GPRMC,135335.00,A,5159.12508,N,00423.71012,E,0.015,,120308,,,D*7D
+$GPRMC,135336.00,A,5159.12506,N,00423.71012,E,0.008,,120308,,,D*7C
+$GPRMC,135337.00,A,5159.12503,N,00423.71011,E,0.005,,120308,,,D*76
+$GPRMC,135338.00,A,5159.12501,N,00423.71008,E,0.011,,120308,,,D*76
+$GPRMC,135339.00,A,5159.12498,N,00423.71007,E,0.049,300.22,120308,,,D*69
+$GPRMC,135340.00,A,5159.12494,N,00423.71005,E,0.011,,120308,,,D*79
+$GPRMC,135341.00,A,5159.12491,N,00423.71006,E,0.038,298.57,120308,,,D*6A
+$GPRMC,135342.00,A,5159.12490,N,00423.71006,E,0.033,302.40,120308,,,D*67
+$GPRMC,135343.00,A,5159.12488,N,00423.71007,E,0.005,,120308,,,D*70
+$GPRMC,135344.00,A,5159.12488,N,00423.71007,E,0.058,306.14,120308,,,D*61
+$GPRMC,135345.00,A,5159.12486,N,00423.71006,E,0.018,,120308,,,D*75
+$GPRMC,135346.00,A,5159.12483,N,00423.71008,E,0.008,,120308,,,D*7C
+$GPRMC,135347.00,A,5159.12482,N,00423.71013,E,0.014,,120308,,,D*7B
+$GPRMC,135348.00,A,5159.12483,N,00423.71017,E,0.009,,120308,,,D*7D
+$GPRMC,135349.00,A,5159.12479,N,00423.71017,E,0.017,,120308,,,D*76
+$GPRMC,135350.00,A,5159.12476,N,00423.71013,E,0.010,,120308,,,D*72
+$GPRMC,135351.00,A,5159.12474,N,00423.71011,E,0.017,,120308,,,D*74
+$GPRMC,135352.00,A,5159.12469,N,00423.71011,E,0.006,,120308,,,D*7B
+$GPRMC,135353.00,A,5159.12467,N,00423.71010,E,0.008,,120308,,,D*7B
+$GPRMC,135354.00,A,5159.12465,N,00423.71006,E,0.023,310.03,120308,,,D*6F
+$GPRMC,135355.00,A,5159.12465,N,00423.71003,E,0.019,,120308,,,D*7D
+$GPRMC,135356.00,A,5159.12466,N,00423.71003,E,0.012,,120308,,,D*76
+$GPRMC,135357.00,A,5159.12465,N,00423.71001,E,0.007,,120308,,,D*72
+$GPRMC,135358.00,A,5159.12464,N,00423.70999,E,0.030,313.37,120308,,,D*6A
+$GPRMC,135359.00,A,5159.12463,N,00423.71000,E,0.012,,120308,,,D*7F
+$GPRMC,135400.00,A,5159.12461,N,00423.71001,E,0.012,,120308,,,D*77
+$GPRMC,135401.00,A,5159.12459,N,00423.71002,E,0.001,,120308,,,D*7C
+$GPRMC,135402.00,A,5159.12456,N,00423.71003,E,0.036,311.59,120308,,,D*64
+$GPRMC,135403.00,A,5159.12453,N,00423.71003,E,0.004,,120308,,,D*70
+$GPRMC,135404.00,A,5159.12451,N,00423.71003,E,0.035,315.24,120308,,,D*68
+$GPRMC,135405.00,A,5159.12449,N,00423.71002,E,0.032,313.54,120308,,,D*67
+$GPRMC,135406.00,A,5159.12448,N,00423.71003,E,0.040,317.31,120308,,,D*66
+$GPRMC,135407.00,A,5159.12449,N,00423.71001,E,0.180,318.60,120308,,,D*62
+$GPRMC,135408.00,A,5159.12450,N,00423.71002,E,0.019,321.51,120308,,,D*6F
+$GPRMC,135409.00,A,5159.12449,N,00423.71003,E,0.031,325.23,120308,,,D*6C
+$GPRMC,135410.00,A,5159.12448,N,00423.71004,E,0.013,,120308,,,D*79
+$GPRMC,135411.00,A,5159.12450,N,00423.71005,E,0.033,328.50,120308,,,D*60
+$GPRMC,135412.00,A,5159.12451,N,00423.71003,E,0.029,326.47,120308,,,D*67
+$GPRMC,135413.00,A,5159.12450,N,00423.71005,E,0.051,329.90,120308,,,D*6B
+$GPRMC,135414.00,A,5159.12450,N,00423.71007,E,0.011,,120308,,,D*75
+$GPRMC,135415.00,A,5159.12448,N,00423.71006,E,0.019,,120308,,,D*74
+$GPRMC,135416.00,A,5159.12446,N,00423.71006,E,0.007,,120308,,,D*76
+$GPRMC,135417.00,A,5159.12443,N,00423.71006,E,0.011,,120308,,,D*75
+$GPRMC,135418.00,A,5159.12443,N,00423.71012,E,0.046,327.12,120308,,,D*66
+$GPRMC,135419.00,A,5159.12441,N,00423.71009,E,0.030,325.30,120308,,,D*6C
+$GPRMC,135420.00,A,5159.12439,N,00423.71005,E,0.012,,120308,,,D*7C
+$GPRMC,135421.00,A,5159.12438,N,00423.71002,E,0.009,,120308,,,D*71
+$GPRMC,135422.00,A,5159.12438,N,00423.71005,E,0.026,327.95,120308,,,D*6C
+$GPRMC,135423.00,A,5159.12435,N,00423.71004,E,0.011,,120308,,,D*71
+$GPRMC,135424.00,A,5159.12433,N,00423.71001,E,0.010,,120308,,,D*74
+$GPRMC,135425.00,A,5159.12432,N,00423.71001,E,0.006,,120308,,,D*73
+$GPRMC,135426.00,A,5159.12432,N,00423.71005,E,0.013,,120308,,,D*70
+$GPRMC,135427.00,A,5159.12430,N,00423.71004,E,0.015,,120308,,,D*74
+$GPRMC,135428.00,A,5159.12428,N,00423.71005,E,0.007,,120308,,,D*70
+$GPRMC,135429.00,A,5159.12426,N,00423.71004,E,0.028,331.91,120308,,,D*64
+$GPRMC,135430.00,A,5159.12427,N,00423.71009,E,0.022,330.81,120308,,,D*6A
+$GPRMC,135431.00,A,5159.12427,N,00423.71010,E,0.011,,120308,,,D*74
+$GPRMC,135432.00,A,5159.12424,N,00423.71004,E,0.011,,120308,,,D*71
+$GPRMC,135433.00,A,5159.12423,N,00423.70999,E,0.017,,120308,,,D*7D
+$GPRMC,135434.00,A,5159.12421,N,00423.70995,E,0.011,,120308,,,D*72
+$GPRMC,135435.00,A,5159.12420,N,00423.70991,E,0.012,,120308,,,D*75
+$GPRMC,135436.00,A,5159.12416,N,00423.70974,E,0.004,,120308,,,D*7F
+$GPRMC,135437.00,A,5159.12410,N,00423.70951,E,0.030,334.33,120308,,,D*62
+$GPRMC,135438.00,A,5159.12409,N,00423.70939,E,0.008,,120308,,,D*7A
+$GPRMC,135439.00,A,5159.12406,N,00423.70925,E,0.010,,120308,,,D*70
+$GPRMC,135440.00,A,5159.12403,N,00423.70915,E,0.017,,120308,,,D*7F
+$GPRMC,135441.00,A,5159.12400,N,00423.70912,E,0.060,337.48,120308,,,D*6F
+$GPRMC,135442.00,A,5159.12398,N,00423.70906,E,0.018,,120308,,,D*75
+$GPRMC,135443.00,A,5159.12396,N,00423.70903,E,0.019,,120308,,,D*7E
+$GPRMC,135444.00,A,5159.12396,N,00423.70905,E,0.019,,120308,,,D*7F
+$GPRMC,135445.00,A,5159.12397,N,00423.70909,E,0.010,,120308,,,D*7A
+$GPRMC,135446.00,A,5159.12399,N,00423.70917,E,0.027,335.47,120308,,,D*64
+$GPRMC,135447.00,A,5159.12402,N,00423.70923,E,0.011,,120308,,,D*7A
+$GPRMC,135448.00,A,5159.12404,N,00423.70927,E,0.027,333.17,120308,,,D*69
+$GPRMC,135449.00,A,5159.12407,N,00423.70932,E,0.015,,120308,,,D*75
+$GPRMC,135450.00,A,5159.12410,N,00423.70938,E,0.013,,120308,,,D*77
+$GPRMC,135451.00,A,5159.12413,N,00423.70944,E,0.020,330.91,120308,,,D*68
+$GPRMC,135452.00,A,5159.12413,N,00423.70956,E,0.029,335.01,120308,,,D*6D
+$GPRMC,135453.00,A,5159.12415,N,00423.70964,E,0.049,338.45,120308,,,D*60
+$GPRMC,135454.00,A,5159.12415,N,00423.70970,E,0.011,,120308,,,D*78
+$GPRMC,135455.00,A,5159.12415,N,00423.70980,E,0.017,,120308,,,D*70
+$GPRMC,135456.00,A,5159.12413,N,00423.70983,E,0.020,334.89,120308,,,D*69
+$GPRMC,135457.00,A,5159.12411,N,00423.70988,E,0.069,332.61,120308,,,D*6C
+$GPRMC,135458.00,A,5159.12409,N,00423.70990,E,0.012,,120308,,,D*74
+$GPRMC,135459.00,A,5159.12406,N,00423.70995,E,0.011,,120308,,,D*7C
+$GPRMC,135500.00,A,5159.12407,N,00423.70999,E,0.023,335.01,120308,,,D*67
+$GPRMC,135501.00,A,5159.12407,N,00423.71007,E,0.004,,120308,,,D*76
+$GPRMC,135502.00,A,5159.12408,N,00423.71014,E,0.024,333.03,120308,,,D*64
+$GPRMC,135503.00,A,5159.12409,N,00423.71022,E,0.023,336.81,120308,,,D*69
+$GPRMC,135504.00,A,5159.12415,N,00423.71042,E,0.003,,120308,,,D*76
+$GPRMC,135505.00,A,5159.12419,N,00423.71055,E,0.008,,120308,,,D*76
+$GPRMC,135506.00,A,5159.12421,N,00423.71064,E,0.011,,120308,,,D*74
+$GPRMC,135507.00,A,5159.12416,N,00423.71053,E,0.012,,120308,,,D*76
+$GPRMC,135508.00,A,5159.12413,N,00423.71042,E,0.010,,120308,,,D*7E
+$GPRMC,135509.00,A,5159.12413,N,00423.71040,E,0.056,334.56,120308,,,D*66
+$GPRMC,135510.00,A,5159.12413,N,00423.71038,E,0.035,331.77,120308,,,D*62
+$GPRMC,135511.00,A,5159.12413,N,00423.71038,E,0.005,,120308,,,D*7F
+$GPRMC,135512.00,A,5159.12412,N,00423.71036,E,0.014,,120308,,,D*73
+$GPRMC,135513.00,A,5159.12412,N,00423.71034,E,0.023,329.89,120308,,,D*63
+$GPRMC,135514.00,A,5159.12414,N,00423.71028,E,0.011,,120308,,,D*79
+$GPRMC,135515.00,A,5159.12413,N,00423.71026,E,0.006,,120308,,,D*77
+$GPRMC,135516.00,A,5159.12412,N,00423.71025,E,0.048,327.20,120308,,,D*66
+$GPRMC,135517.00,A,5159.12409,N,00423.71025,E,0.037,330.63,120308,,,D*64
+$GPRMC,135518.00,A,5159.12408,N,00423.71028,E,0.008,,120308,,,D*70
+$GPRMC,135519.00,A,5159.12405,N,00423.71029,E,0.003,,120308,,,D*76
+$GPRMC,135520.00,A,5159.12404,N,00423.71030,E,0.011,,120308,,,D*76
+$GPRMC,135521.00,A,5159.12401,N,00423.71026,E,0.012,,120308,,,D*76
+$GPRMC,135522.00,A,5159.12398,N,00423.71023,E,0.026,333.72,120308,,,D*68
+$GPRMC,135523.00,A,5159.12396,N,00423.71023,E,0.009,,120308,,,D*72
+$GPRMC,135524.00,A,5159.12394,N,00423.71020,E,0.041,331.41,120308,,,D*62
+$GPRMC,135525.00,A,5159.12392,N,00423.71019,E,0.040,328.71,120308,,,D*65
+$GPRMC,135526.00,A,5159.12390,N,00423.71018,E,0.032,327.02,120308,,,D*6B
+$GPRMC,135527.00,A,5159.12391,N,00423.71023,E,0.022,324.08,120308,,,D*6B
+$GPRMC,135528.00,A,5159.12390,N,00423.71022,E,0.005,,120308,,,D*72
+$GPRMC,135529.00,A,5159.12389,N,00423.71017,E,0.013,,120308,,,D*7A
+$GPRMC,135530.00,A,5159.12387,N,00423.71015,E,0.016,,120308,,,D*7B
+$GPRMC,135531.00,A,5159.12383,N,00423.71013,E,0.011,,120308,,,D*7F
+$GPRMC,135532.00,A,5159.12380,N,00423.71010,E,0.025,322.38,120308,,,D*6D
+$GPRMC,135533.00,A,5159.12378,N,00423.71002,E,0.036,325.88,120308,,,D*66
+$GPRMC,135534.00,A,5159.12375,N,00423.71000,E,0.046,323.80,120308,,,D*67
+$GPRMC,135535.00,A,5159.12372,N,00423.70994,E,0.019,,120308,,,D*7A
+$GPRMC,135536.00,A,5159.12368,N,00423.70988,E,0.032,322.39,120308,,,D*61
+$GPRMC,135537.00,A,5159.12365,N,00423.70981,E,0.006,,120308,,,D*74
+$GPRMC,135538.00,A,5159.12362,N,00423.70977,E,0.012,,120308,,,D*70
+$GPRMC,135539.00,A,5159.12365,N,00423.70984,E,0.016,,120308,,,D*7E
+$GPRMC,135540.00,A,5159.12366,N,00423.70984,E,0.013,,120308,,,D*76
+$GPRMC,135541.00,A,5159.12366,N,00423.70985,E,0.076,325.71,120308,,,D*69
+$GPRMC,135542.00,A,5159.12365,N,00423.70984,E,0.005,,120308,,,D*70
+$GPRMC,135543.00,A,5159.12365,N,00423.70981,E,0.020,328.64,120308,,,D*66
+$GPRMC,135544.00,A,5159.12365,N,00423.70981,E,0.033,331.19,120308,,,D*61
+$GPRMC,135545.00,A,5159.12365,N,00423.70980,E,0.018,,120308,,,D*7F
+$GPRMC,135546.00,A,5159.12362,N,00423.70975,E,0.010,,120308,,,D*79
+$GPRMC,135547.00,A,5159.12360,N,00423.70971,E,0.029,329.38,120308,,,D*69
+$GPRMC,135548.00,A,5159.12357,N,00423.70967,E,0.035,327.03,120308,,,D*6E
+$GPRMC,135549.00,A,5159.12354,N,00423.70960,E,0.004,,120308,,,D*72
+$GPRMC,135550.00,A,5159.12352,N,00423.70957,E,0.032,324.73,120308,,,D*62
+$GPRMC,135551.00,A,5159.12350,N,00423.70953,E,0.013,,120308,,,D*79
+$GPRMC,135552.00,A,5159.12349,N,00423.70955,E,0.040,322.41,120308,,,D*6A
+$GPRMC,135553.00,A,5159.12347,N,00423.70953,E,0.031,320.44,120308,,,D*62
+$GPRMC,135554.00,A,5159.12344,N,00423.70949,E,0.016,,120308,,,D*77
+$GPRMC,135555.00,A,5159.12342,N,00423.70945,E,0.010,,120308,,,D*7A
+$GPRMC,135556.00,A,5159.12341,N,00423.70943,E,0.015,,120308,,,D*79
+$GPRMC,135557.00,A,5159.12340,N,00423.70940,E,0.023,324.19,120308,,,D*6C
+$GPRMC,135558.00,A,5159.12338,N,00423.70935,E,0.023,329.00,120308,,,D*6B
+$GPRMC,135559.00,A,5159.12336,N,00423.70930,E,0.025,331.37,120308,,,D*6A
+$GPRMC,135600.00,A,5159.12341,N,00423.70942,E,0.049,335.20,120308,,,D*68
+$GPRMC,135601.00,A,5159.12347,N,00423.70937,E,0.031,338.62,120308,,,D*69
+$GPRMC,135602.00,A,5159.12347,N,00423.70943,E,0.012,,120308,,,D*7A
+$GPRMC,135603.00,A,5159.12348,N,00423.70948,E,0.023,336.24,120308,,,D*63
+$GPRMC,135604.00,A,5159.12349,N,00423.70953,E,0.020,333.12,120308,,,D*6C
+$GPRMC,135605.00,A,5159.12351,N,00423.70965,E,0.094,335.94,120308,,,D*66
+$GPRMC,135606.00,A,5159.12350,N,00423.70967,E,0.025,332.23,120308,,,D*67
+$GPRMC,135607.00,A,5159.12352,N,00423.70967,E,0.031,330.25,120308,,,D*65
+$GPRMC,135608.00,A,5159.12354,N,00423.70965,E,0.017,,120308,,,D*73
+$GPRMC,135609.00,A,5159.12356,N,00423.70964,E,0.031,327.55,120308,,,D*6D
+$GPRMC,135610.00,A,5159.12358,N,00423.70961,E,0.014,,120308,,,D*71
+$GPRMC,135611.00,A,5159.12358,N,00423.70965,E,0.013,,120308,,,D*73
+$GPRMC,135612.00,A,5159.12357,N,00423.70964,E,0.024,331.53,120308,,,D*63
+$GPRMC,135613.00,A,5159.12355,N,00423.70966,E,0.019,,120308,,,D*75
+$GPRMC,135614.00,A,5159.12356,N,00423.70969,E,0.005,,120308,,,D*73
+$GPRMC,135615.00,A,5159.12356,N,00423.70972,E,0.016,,120308,,,D*7A
+$GPRMC,135616.00,A,5159.12356,N,00423.70974,E,0.021,329.18,120308,,,D*64
+$GPRMC,135617.00,A,5159.12356,N,00423.70975,E,0.003,,120308,,,D*7B
+$GPRMC,135618.00,A,5159.12355,N,00423.70977,E,0.008,,120308,,,D*7E
+$GPRMC,135619.00,A,5159.12354,N,00423.70975,E,0.005,,120308,,,D*71
+$GPRMC,135620.00,A,5159.12349,N,00423.70964,E,0.010,,120308,,,D*73
+$GPRMC,135621.00,A,5159.12342,N,00423.70950,E,0.013,,120308,,,D*7D
+$GPRMC,135622.00,A,5159.12339,N,00423.70944,E,0.009,,120308,,,D*7C
+$GPRMC,135623.00,A,5159.12336,N,00423.70943,E,0.024,326.86,120308,,,D*6D
+$GPRMC,135624.00,A,5159.12333,N,00423.70943,E,0.015,,120308,,,D*7A
+$GPRMC,135625.00,A,5159.12330,N,00423.70942,E,0.006,,120308,,,D*7B
+$GPRMC,135626.00,A,5159.12327,N,00423.70941,E,0.035,324.00,120308,,,D*66
+$GPRMC,135627.00,A,5159.12324,N,00423.70935,E,0.014,,120308,,,D*7F
+$GPRMC,135628.00,A,5159.12321,N,00423.70931,E,0.037,321.56,120308,,,D*6D
+$GPRMC,135629.00,A,5159.12319,N,00423.70933,E,0.006,,120308,,,D*7A
+$GPRMC,135630.00,A,5159.12316,N,00423.70931,E,0.018,,120308,,,D*70
+$GPRMC,135631.00,A,5159.12314,N,00423.70930,E,0.006,,120308,,,D*7D
+$GPRMC,135632.00,A,5159.12312,N,00423.70929,E,0.017,,120308,,,D*70
+$GPRMC,135633.00,A,5159.12310,N,00423.70929,E,0.025,318.77,120308,,,D*66
+$GPRMC,135634.00,A,5159.12305,N,00423.70918,E,0.041,316.48,120308,,,D*67
+$GPRMC,135635.00,A,5159.12304,N,00423.70918,E,0.023,314.64,120308,,,D*6F
+$GPRMC,135636.00,A,5159.12303,N,00423.70916,E,0.009,,120308,,,D*77
+$GPRMC,135637.00,A,5159.12301,N,00423.70915,E,0.023,312.47,120308,,,D*62
+$GPRMC,135638.00,A,5159.12299,N,00423.70912,E,0.010,,120308,,,D*77
+$GPRMC,135639.00,A,5159.12298,N,00423.70911,E,0.021,310.37,120308,,,D*6E
+$GPRMC,135640.00,A,5159.12296,N,00423.70910,E,0.020,309.44,120308,,,D*62
+$GPRMC,135641.00,A,5159.12295,N,00423.70913,E,0.018,,120308,,,D*7C
+$GPRMC,135642.00,A,5159.12295,N,00423.70918,E,0.007,,120308,,,D*7A
+$GPRMC,135643.00,A,5159.12297,N,00423.70933,E,0.028,313.61,120308,,,D*65
+$GPRMC,135644.00,A,5159.12298,N,00423.70942,E,0.011,,120308,,,D*79
+$GPRMC,135645.00,A,5159.12298,N,00423.70950,E,0.019,,120308,,,D*73
+$GPRMC,135646.00,A,5159.12299,N,00423.70956,E,0.016,,120308,,,D*78
+$GPRMC,135647.00,A,5159.12299,N,00423.70963,E,0.006,,120308,,,D*7E
+$GPRMC,135648.00,A,5159.12301,N,00423.70972,E,0.015,,120308,,,D*73
+$GPRMC,135649.00,A,5159.12302,N,00423.70976,E,0.011,,120308,,,D*71
+$GPRMC,135650.00,A,5159.12302,N,00423.70977,E,0.020,311.63,120308,,,D*62
+$GPRMC,135651.00,A,5159.12303,N,00423.70979,E,0.010,,120308,,,D*77
+$GPRMC,135652.00,A,5159.12304,N,00423.70984,E,0.018,,120308,,,D*79
+$GPRMC,135653.00,A,5159.12304,N,00423.70985,E,0.014,,120308,,,D*75
+$GPRMC,135654.00,A,5159.12304,N,00423.70991,E,0.008,,120308,,,D*7A
+$GPRMC,135655.00,A,5159.12304,N,00423.70993,E,0.013,,120308,,,D*73
+$GPRMC,135656.00,A,5159.12303,N,00423.70999,E,0.032,309.49,120308,,,D*67
+$GPRMC,135657.00,A,5159.12303,N,00423.71001,E,0.016,,120308,,,D*70
+$GPRMC,135658.00,A,5159.12303,N,00423.71005,E,0.035,307.25,120308,,,D*67
+$GPRMC,135659.00,A,5159.12303,N,00423.71011,E,0.039,310.71,120308,,,D*68
+$GPRMC,135700.00,A,5159.12303,N,00423.71018,E,0.009,,120308,,,D*75
+$GPRMC,135701.00,A,5159.12303,N,00423.71022,E,0.037,315.13,120308,,,D*6B
+$GPRMC,135702.00,A,5159.12302,N,00423.71023,E,0.026,318.55,120308,,,D*67
+$GPRMC,135703.00,A,5159.12301,N,00423.71027,E,0.003,,120308,,,D*72
+$GPRMC,135704.00,A,5159.12299,N,00423.71030,E,0.010,,120308,,,D*71
+$GPRMC,135705.00,A,5159.12300,N,00423.71034,E,0.009,,120308,,,D*7D
+$GPRMC,135706.00,A,5159.12302,N,00423.71044,E,0.006,,120308,,,D*74
+$GPRMC,135707.00,A,5159.12303,N,00423.71049,E,0.007,,120308,,,D*78
+$GPRMC,135708.00,A,5159.12303,N,00423.71051,E,0.006,,120308,,,D*7F
+$GPRMC,135709.00,A,5159.12303,N,00423.71051,E,0.005,,120308,,,D*7D
+$GPRMC,135710.00,A,5159.12304,N,00423.71050,E,0.053,316.77,120308,,,D*6A
+$GPRMC,135711.00,A,5159.12306,N,00423.71049,E,0.007,,120308,,,D*7A
+$GPRMC,135712.00,A,5159.12308,N,00423.71049,E,0.023,320.85,120308,,,D*63
+$GPRMC,135713.00,A,5159.12310,N,00423.71048,E,0.016,,120308,,,D*7E
+$GPRMC,135714.00,A,5159.12312,N,00423.71046,E,0.012,,120308,,,D*71
+$GPRMC,135715.00,A,5159.12314,N,00423.71045,E,0.006,,120308,,,D*70
+$GPRMC,135716.00,A,5159.12315,N,00423.71043,E,0.003,,120308,,,D*71
+$GPRMC,135717.00,A,5159.12315,N,00423.71038,E,0.020,322.44,120308,,,D*60
+$GPRMC,135718.00,A,5159.12315,N,00423.71034,E,0.023,325.97,120308,,,D*69
+$GPRMC,135719.00,A,5159.12316,N,00423.71028,E,0.020,322.42,120308,,,D*6A
+$GPRMC,135720.00,A,5159.12317,N,00423.71025,E,0.011,,120308,,,D*75
+$GPRMC,135721.00,A,5159.12319,N,00423.71024,E,0.005,,120308,,,D*7E
+$GPRMC,135722.00,A,5159.12321,N,00423.71021,E,0.038,320.50,120308,,,D*67
+$GPRMC,135723.00,A,5159.12322,N,00423.71013,E,0.028,318.41,120308,,,D*6E
+$GPRMC,135724.00,A,5159.12324,N,00423.71003,E,0.012,,120308,,,D*76
+$GPRMC,135725.00,A,5159.12326,N,00423.70998,E,0.052,316.23,120308,,,D*60
+$GPRMC,135726.00,A,5159.12328,N,00423.70992,E,0.009,,120308,,,D*72
+$GPRMC,135727.00,A,5159.12329,N,00423.70986,E,0.031,314.68,120308,,,D*6A
+$GPRMC,135728.00,A,5159.12329,N,00423.70981,E,0.010,,120308,,,D*77
+$GPRMC,135729.00,A,5159.12332,N,00423.70982,E,0.034,312.53,120308,,,D*61
+$GPRMC,135730.00,A,5159.12333,N,00423.70981,E,0.029,310.61,120308,,,D*64
+$GPRMC,135731.00,A,5159.12333,N,00423.70976,E,0.017,,120308,,,D*7B
+$GPRMC,135732.00,A,5159.12336,N,00423.70979,E,0.005,,120308,,,D*71
+$GPRMC,135733.00,A,5159.12336,N,00423.70976,E,0.001,,120308,,,D*7B
+$GPRMC,135734.00,A,5159.12338,N,00423.70974,E,0.049,314.50,120308,,,D*61
+$GPRMC,135735.00,A,5159.12338,N,00423.70968,E,0.006,,120308,,,D*7B
+$GPRMC,135736.00,A,5159.12338,N,00423.70963,E,0.036,317.46,120308,,,D*69
+$GPRMC,135737.00,A,5159.12339,N,00423.70959,E,0.012,,120308,,,D*7F
+$GPRMC,135738.00,A,5159.12341,N,00423.70957,E,0.027,315.84,120308,,,D*62
+$GPRMC,135739.00,A,5159.12341,N,00423.70947,E,0.030,314.78,120308,,,D*66
+$GPRMC,135740.00,A,5159.12343,N,00423.70940,E,0.010,,120308,,,D*78
+$GPRMC,135741.00,A,5159.12346,N,00423.70935,E,0.024,318.91,120308,,,D*65
+$GPRMC,135742.00,A,5159.12348,N,00423.70930,E,0.012,,120308,,,D*74
+$GPRMC,135743.00,A,5159.12351,N,00423.70924,E,0.031,317.59,120308,,,D*6E
+$GPRMC,135744.00,A,5159.12354,N,00423.70919,E,0.043,322.18,120308,,,D*64
+$GPRMC,135745.00,A,5159.12357,N,00423.70916,E,0.018,,120308,,,D*73
+$GPRMC,135746.00,A,5159.12361,N,00423.70913,E,0.020,318.79,120308,,,D*61
+$GPRMC,135747.00,A,5159.12363,N,00423.70904,E,0.032,316.60,120308,,,D*61
+$GPRMC,135748.00,A,5159.12367,N,00423.70898,E,0.022,313.73,120308,,,D*68
+$GPRMC,135749.00,A,5159.12371,N,00423.70895,E,0.014,,120308,,,D*7D
+$GPRMC,135750.00,A,5159.12371,N,00423.70893,E,0.014,,120308,,,D*73
+$GPRMC,135751.00,A,5159.12374,N,00423.70880,E,0.013,,120308,,,D*72
+$GPRMC,135752.00,A,5159.12374,N,00423.70874,E,0.043,318.60,120308,,,D*6D
+$GPRMC,135753.00,A,5159.12375,N,00423.70868,E,0.032,313.36,120308,,,D*6E
+$GPRMC,135754.00,A,5159.12375,N,00423.70865,E,0.009,,120308,,,D*76
+$GPRMC,135755.00,A,5159.12376,N,00423.70862,E,0.045,316.72,120308,,,D*64
+$GPRMC,135756.00,A,5159.12377,N,00423.70863,E,0.042,321.91,120308,,,D*69
+$GPRMC,135757.00,A,5159.12388,N,00423.70883,E,0.453,318.73,120308,,,D*64
+$GPRMC,135758.00,A,5159.12392,N,00423.70869,E,0.793,315.59,120308,,,D*6E
+$GPRMC,135759.00,A,5159.12399,N,00423.70867,E,0.277,313.76,120308,,,D*6E
+$GPRMC,135800.00,A,5159.12406,N,00423.70880,E,0.024,316.16,120308,,,D*62
+$GPRMC,135801.00,A,5159.12406,N,00423.70880,E,0.019,,120308,,,D*70
+$GPRMC,135802.00,A,5159.12406,N,00423.70881,E,0.029,314.85,120308,,,D*64
+$GPRMC,135803.00,A,5159.12403,N,00423.70893,E,0.005,,120308,,,D*78
+$GPRMC,135804.00,A,5159.12402,N,00423.70900,E,0.003,,120308,,,D*73
+$GPRMC,135805.00,A,5159.12409,N,00423.70917,E,0.004,,120308,,,D*78
+$GPRMC,135806.00,A,5159.12416,N,00423.70928,E,0.012,,120308,,,D*7E
+$GPRMC,135807.00,A,5159.12423,N,00423.70937,E,0.010,,120308,,,D*75
+$GPRMC,135808.00,A,5159.12432,N,00423.70945,E,0.122,316.76,120308,,,D*64
+$GPRMC,135809.00,A,5159.12440,N,00423.70951,E,0.024,311.89,120308,,,D*65
+$GPRMC,135810.00,A,5159.12442,N,00423.70957,E,0.198,301.22,120308,,,D*6F
+$GPRMC,135811.00,A,5159.12438,N,00423.70976,E,0.561,291.18,120308,,,D*63
+$GPRMC,135812.00,A,5159.12430,N,00423.70998,E,0.458,281.34,120308,,,D*6C
+$GPRMC,135813.00,A,5159.12425,N,00423.71010,E,0.048,277.52,120308,,,D*6D
+$GPRMC,135814.00,A,5159.12423,N,00423.71011,E,0.114,276.13,120308,,,D*61
+$GPRMC,135815.00,A,5159.12415,N,00423.70989,E,1.047,274.51,120308,,,D*6E
+$GPRMC,135816.00,A,5159.12397,N,00423.70935,E,1.708,272.45,120308,,,D*68
+$GPRMC,135817.00,A,5159.12371,N,00423.70836,E,3.208,259.01,120308,,,D*6D
+$GPRMC,135818.00,A,5159.12367,N,00423.70643,E,5.288,273.96,120308,,,D*61
+$GPRMC,135819.00,A,5159.12418,N,00423.70364,E,7.577,295.37,120308,,,D*69
+$GPRMC,135820.00,A,5159.12573,N,00423.70026,E,9.691,314.10,120308,,,D*62
+$GPRMC,135821.00,A,5159.12803,N,00423.69729,E,11.434,328.25,120308,,,D*54
+$GPRMC,135822.00,A,5159.13107,N,00423.69492,E,12.588,337.88,120308,,,D*54
+$GPRMC,135823.00,A,5159.13448,N,00423.69261,E,13.596,335.87,120308,,,D*52
+$GPRMC,135824.00,A,5159.13778,N,00423.68949,E,13.746,324.73,120308,,,D*51
+$GPRMC,135825.00,A,5159.14053,N,00423.68505,E,14.304,307.78,120308,,,D*52
+$GPRMC,135826.00,A,5159.14248,N,00423.67939,E,14.912,293.19,120308,,,D*53
+$GPRMC,135827.00,A,5159.14406,N,00423.67290,E,15.746,289.89,120308,,,D*5A
+$GPRMC,135828.00,A,5159.14556,N,00423.66609,E,16.020,288.77,120308,,,D*50
+$GPRMC,135829.00,A,5159.14700,N,00423.65909,E,16.372,289.09,120308,,,D*50
+$GPRMC,135830.00,A,5159.14848,N,00423.65238,E,15.180,289.78,120308,,,D*58
+$GPRMC,135831.00,A,5159.14982,N,00423.64673,E,11.885,291.67,120308,,,D*5B
+$GPRMC,135832.00,A,5159.15083,N,00423.64268,E,7.446,293.71,120308,,,D*6E
+$GPRMC,135833.00,A,5159.15144,N,00423.64036,E,3.668,294.72,120308,,,D*62
+$GPRMC,135834.00,A,5159.15184,N,00423.63903,E,2.796,294.95,120308,,,D*69
+$GPRMC,135835.00,A,5159.15234,N,00423.63743,E,4.943,296.45,120308,,,D*65
+$GPRMC,135836.00,A,5159.15348,N,00423.63486,E,9.214,312.26,120308,,,D*6A
+$GPRMC,135837.00,A,5159.15594,N,00423.63174,E,12.990,328.95,120308,,,D*58
+$GPRMC,135838.00,A,5159.15935,N,00423.62908,E,14.224,337.59,120308,,,D*5E
+$GPRMC,135839.00,A,5159.16347,N,00423.62649,E,17.436,339.50,120308,,,D*58
+$GPRMC,135840.00,A,5159.16858,N,00423.62370,E,20.981,341.57,120308,,,D*51
+$GPRMC,135841.00,A,5159.17464,N,00423.62067,E,24.530,343.21,120308,,,D*56
+$GPRMC,135842.00,A,5159.18155,N,00423.61753,E,26.421,343.99,120308,,,D*5E
+$GPRMC,135843.00,A,5159.18889,N,00423.61412,E,28.048,343.71,120308,,,D*52
+$GPRMC,135844.00,A,5159.19670,N,00423.61053,E,30.445,343.66,120308,,,D*5B
+$GPRMC,135845.00,A,5159.20514,N,00423.60664,E,32.699,343.53,120308,,,D*55
+$GPRMC,135846.00,A,5159.21424,N,00423.60237,E,35.160,342.96,120308,,,D*59
+$GPRMC,135847.00,A,5159.22389,N,00423.59782,E,37.180,343.13,120308,,,D*5A
+$GPRMC,135848.00,A,5159.23446,N,00423.59242,E,40.504,342.65,120308,,,D*51
+$GPRMC,135849.00,A,5159.24538,N,00423.58716,E,41.108,343.40,120308,,,D*55
+$GPRMC,135850.00,A,5159.25656,N,00423.58207,E,42.284,344.23,120308,,,D*54
+$GPRMC,135851.00,A,5159.26821,N,00423.57709,E,43.894,344.81,120308,,,D*5E
+$GPRMC,135852.00,A,5159.28035,N,00423.57185,E,45.342,344.61,120308,,,D*54
+$GPRMC,135853.00,A,5159.29292,N,00423.56617,E,46.631,344.19,120308,,,D*5B
+$GPRMC,135854.00,A,5159.30565,N,00423.56010,E,47.271,343.56,120308,,,D*57
+$GPRMC,135855.00,A,5159.31849,N,00423.55375,E,47.778,343.21,120308,,,D*5B
+$GPRMC,135856.00,A,5159.33140,N,00423.54740,E,47.898,343.52,120308,,,D*5C
+$GPRMC,135857.00,A,5159.34436,N,00423.54122,E,47.854,344.38,120308,,,D*57
+$GPRMC,135858.00,A,5159.35737,N,00423.53530,E,47.925,344.84,120308,,,D*5B
+$GPRMC,135859.00,A,5159.37036,N,00423.52948,E,47.897,344.76,120308,,,D*59
+$GPRMC,135900.00,A,5159.38338,N,00423.52368,E,48.121,344.87,120308,,,D*5B
+$GPRMC,135901.00,A,5159.39645,N,00423.51790,E,48.499,344.92,120308,,,D*56
+$GPRMC,135902.00,A,5159.40958,N,00423.51213,E,48.706,344.94,120308,,,D*55
+$GPRMC,135903.00,A,5159.42264,N,00423.50642,E,48.093,345.07,120308,,,D*53
+$GPRMC,135904.00,A,5159.43561,N,00423.50084,E,47.947,345.11,120308,,,D*53
+$GPRMC,135905.00,A,5159.44851,N,00423.49537,E,47.735,345.30,120308,,,D*56
+$GPRMC,135906.00,A,5159.46136,N,00423.49006,E,47.490,345.19,120308,,,D*5F
+$GPRMC,135907.00,A,5159.47408,N,00423.48457,E,46.961,344.93,120308,,,D*57
+$GPRMC,135908.00,A,5159.48672,N,00423.47910,E,46.800,345.29,120308,,,D*5F
+$GPRMC,135909.00,A,5159.49931,N,00423.47366,E,46.588,345.12,120308,,,D*59
+$GPRMC,135910.00,A,5159.51185,N,00423.46815,E,46.626,344.72,120308,,,D*51
+$GPRMC,135911.00,A,5159.52440,N,00423.46261,E,46.809,344.82,120308,,,D*5A
+$GPRMC,135912.00,A,5159.53723,N,00423.45756,E,47.096,345.09,120308,,,D*51
+$GPRMC,135913.00,A,5159.55003,N,00423.45231,E,47.222,345.34,120308,,,D*54
+$GPRMC,135914.00,A,5159.56282,N,00423.44707,E,47.377,345.30,120308,,,D*5F
+$GPRMC,135915.00,A,5159.57563,N,00423.44182,E,47.328,345.37,120308,,,D*51
+$GPRMC,135916.00,A,5159.58839,N,00423.43654,E,47.289,345.15,120308,,,D*5E
+$GPRMC,135917.00,A,5159.60122,N,00423.43115,E,47.799,345.06,120308,,,D*53
+$GPRMC,135918.00,A,5159.61411,N,00423.42562,E,47.872,344.93,120308,,,D*5A
+$GPRMC,135919.00,A,5159.62701,N,00423.42013,E,47.943,345.21,120308,,,D*52
+$GPRMC,135920.00,A,5159.63986,N,00423.41474,E,47.892,345.40,120308,,,D*54
+$GPRMC,135921.00,A,5159.65277,N,00423.40929,E,47.839,345.25,120308,,,D*50
+$GPRMC,135922.00,A,5159.66565,N,00423.40385,E,47.801,345.28,120308,,,D*5E
+$GPRMC,135923.00,A,5159.67848,N,00423.39848,E,47.718,345.57,120308,,,D*57
+$GPRMC,135924.00,A,5159.69131,N,00423.39310,E,47.633,345.22,120308,,,D*55
+$GPRMC,135925.00,A,5159.70414,N,00423.38754,E,47.625,344.75,120308,,,D*5F
+$GPRMC,135926.00,A,5159.71699,N,00423.38192,E,47.990,344.86,120308,,,D*5B
+$GPRMC,135927.00,A,5159.72996,N,00423.37633,E,48.538,345.20,120308,,,D*56
+$GPRMC,135928.00,A,5159.74284,N,00423.37068,E,47.644,344.45,120308,,,D*5A
+$GPRMC,135929.00,A,5159.75601,N,00423.36466,E,49.754,344.50,120308,,,D*52
+$GPRMC,135930.00,A,5159.76946,N,00423.35886,E,50.150,345.22,120308,,,D*5A
+$GPRMC,135931.00,A,5159.78296,N,00423.35320,E,50.329,345.09,120308,,,D*51
+$GPRMC,135932.00,A,5159.79648,N,00423.34743,E,50.347,345.34,120308,,,D*52
+$GPRMC,135933.00,A,5159.81008,N,00423.34170,E,50.463,345.30,120308,,,D*55
+$GPRMC,135934.00,A,5159.82374,N,00423.33596,E,50.599,345.08,120308,,,D*5D
+$GPRMC,135935.00,A,5159.83736,N,00423.33019,E,50.816,345.62,120308,,,D*5B
+$GPRMC,135936.00,A,5159.85103,N,00423.32431,E,50.922,345.26,120308,,,D*57
+$GPRMC,135937.00,A,5159.86482,N,00423.31851,E,51.236,345.50,120308,,,D*5E
+$GPRMC,135938.00,A,5159.87873,N,00423.31283,E,51.702,345.65,120308,,,D*53
+$GPRMC,135939.00,A,5159.89272,N,00423.30698,E,51.983,345.14,120308,,,D*59
+$GPRMC,135940.00,A,5159.90673,N,00423.30097,E,52.155,345.14,120308,,,D*53
+$GPRMC,135941.00,A,5159.92082,N,00423.29495,E,52.314,345.24,120308,,,D*52
+$GPRMC,135942.00,A,5159.93498,N,00423.28892,E,52.683,345.18,120308,,,D*51
+$GPRMC,135943.00,A,5159.94921,N,00423.28281,E,53.076,345.05,120308,,,D*51
+$GPRMC,135944.00,A,5159.96354,N,00423.27663,E,53.489,345.09,120308,,,D*53
+$GPRMC,135945.00,A,5159.97797,N,00423.27045,E,53.834,345.33,120308,,,D*59
+$GPRMC,135946.00,A,5159.99251,N,00423.26427,E,54.204,345.25,120308,,,D*53
+$GPRMC,135947.00,A,5200.00719,N,00423.25806,E,54.990,345.38,120308,,,D*52
+$GPRMC,135948.00,A,5200.02200,N,00423.25170,E,54.829,345.08,120308,,,D*5A
+$GPRMC,135949.00,A,5200.03680,N,00423.24522,E,54.868,345.07,120308,,,D*5E
+$GPRMC,135950.00,A,5200.05159,N,00423.23871,E,54.895,344.98,120308,,,D*5A
+$GPRMC,135951.00,A,5200.06640,N,00423.23216,E,54.925,344.83,120308,,,D*5C
+$GPRMC,135952.00,A,5200.08113,N,00423.22561,E,54.928,344.81,120308,,,D*59
+$GPRMC,135953.00,A,5200.09591,N,00423.21912,E,54.892,344.83,120308,,,D*5E
+$GPRMC,135954.00,A,5200.11067,N,00423.21258,E,55.017,344.62,120308,,,D*52
+$GPRMC,135955.00,A,5200.12544,N,00423.20584,E,55.375,343.96,120308,,,D*58
+$GPRMC,135956.00,A,5200.14019,N,00423.19889,E,55.566,343.63,120308,,,D*54
+$GPRMC,135957.00,A,5200.15502,N,00423.19183,E,55.943,343.57,120308,,,D*54
+$GPRMC,135958.00,A,5200.16993,N,00423.18473,E,56.245,343.87,120308,,,D*54
+$GPRMC,135959.00,A,5200.18500,N,00423.17778,E,56.422,344.18,120308,,,D*5C
+$GPRMC,140000.00,A,5200.20017,N,00423.17089,E,56.757,344.17,120308,,,D*54
+$GPRMC,140001.00,A,5200.21541,N,00423.16387,E,57.089,343.76,120308,,,D*5B
+$GPRMC,140002.00,A,5200.23072,N,00423.15639,E,57.306,342.25,120308,,,D*5F
+$GPRMC,140003.00,A,5200.24597,N,00423.14829,E,57.535,340.84,120308,,,D*56
+$GPRMC,140004.00,A,5200.26114,N,00423.13963,E,57.202,339.73,120308,,,D*51
+$GPRMC,140005.00,A,5200.27627,N,00423.13018,E,58.272,337.71,120308,,,D*57
+$GPRMC,140006.00,A,5200.29147,N,00423.12025,E,58.449,336.21,120308,,,D*5E
+$GPRMC,140007.00,A,5200.30649,N,00423.10965,E,58.405,334.77,120308,,,D*58
+$GPRMC,140008.00,A,5200.32112,N,00423.09824,E,58.244,333.38,120308,,,D*5F
+$GPRMC,140009.00,A,5200.33532,N,00423.08597,E,58.025,331.50,120308,,,D*54
+$GPRMC,140010.00,A,5200.34931,N,00423.07293,E,57.908,329.53,120308,,,D*5B
+$GPRMC,140011.00,A,5200.36305,N,00423.05933,E,57.913,328.15,120308,,,D*5F
+$GPRMC,140012.00,A,5200.37654,N,00423.04528,E,57.751,326.70,120308,,,D*5E
+$GPRMC,140013.00,A,5200.38963,N,00423.03078,E,57.466,325.20,120308,,,D*5D
+$GPRMC,140014.00,A,5200.40266,N,00423.01578,E,57.433,324.23,120308,,,D*5E
+$GPRMC,140015.00,A,5200.41555,N,00423.00050,E,57.317,323.99,120308,,,D*50
+$GPRMC,140016.00,A,5200.42854,N,00422.98536,E,56.978,324.04,120308,,,D*58
+$GPRMC,140017.00,A,5200.44161,N,00422.97054,E,57.702,324.49,120308,,,D*55
+$GPRMC,140018.00,A,5200.45486,N,00422.95583,E,57.254,324.35,120308,,,D*57
+$GPRMC,140019.00,A,5200.46801,N,00422.94124,E,57.090,324.53,120308,,,D*54
+$GPRMC,140020.00,A,5200.48108,N,00422.92640,E,57.132,324.75,120308,,,D*5E
+$GPRMC,140021.00,A,5200.49404,N,00422.91137,E,57.134,324.54,120308,,,D*56
+$GPRMC,140022.00,A,5200.50690,N,00422.89617,E,57.034,324.23,120308,,,D*5F
+$GPRMC,140023.00,A,5200.51965,N,00422.88088,E,56.708,323.98,120308,,,D*55
+$GPRMC,140024.00,A,5200.53232,N,00422.86557,E,56.691,323.93,120308,,,D*5A
+$GPRMC,140025.00,A,5200.54497,N,00422.85029,E,56.604,324.15,120308,,,D*5F
+$GPRMC,140026.00,A,5200.55763,N,00422.83515,E,56.363,324.36,120308,,,D*5C
+$GPRMC,140027.00,A,5200.57027,N,00422.82013,E,56.151,324.41,120308,,,D*59
+$GPRMC,140028.00,A,5200.58290,N,00422.80528,E,55.836,324.44,120308,,,D*56
+$GPRMC,140029.00,A,5200.59545,N,00422.79045,E,55.616,324.28,120308,,,D*57
+$GPRMC,140030.00,A,5200.60790,N,00422.77561,E,55.378,324.17,120308,,,D*53
+$GPRMC,140031.00,A,5200.62036,N,00422.76090,E,55.261,324.63,120308,,,D*5B
+$GPRMC,140032.00,A,5200.63281,N,00422.74627,E,55.206,324.37,120308,,,D*5F
+$GPRMC,140033.00,A,5200.64523,N,00422.73155,E,55.243,324.19,120308,,,D*5E
+$GPRMC,140034.00,A,5200.65766,N,00422.71683,E,55.322,324.40,120308,,,D*5F
+$GPRMC,140035.00,A,5200.67008,N,00422.70212,E,55.175,323.95,120308,,,D*51
+$GPRMC,140036.00,A,5200.68243,N,00422.68735,E,55.142,324.12,120308,,,D*55
+$GPRMC,140037.00,A,5200.69476,N,00422.67267,E,55.009,324.06,120308,,,D*53
+$GPRMC,140038.00,A,5200.70708,N,00422.65801,E,54.901,324.00,120308,,,D*50
+$GPRMC,140039.00,A,5200.71940,N,00422.64338,E,54.880,324.13,120308,,,D*58
+$GPRMC,140040.00,A,5200.73176,N,00422.62883,E,54.945,324.53,120308,,,D*58
+$GPRMC,140041.00,A,5200.74407,N,00422.61419,E,54.928,323.84,120308,,,D*57
+$GPRMC,140042.00,A,5200.75637,N,00422.59963,E,54.940,324.61,120308,,,D*5D
+$GPRMC,140043.00,A,5200.76871,N,00422.58509,E,54.866,324.44,120308,,,D*50
+$GPRMC,140044.00,A,5200.78102,N,00422.57056,E,54.732,324.15,120308,,,D*5E
+$GPRMC,140045.00,A,5200.79331,N,00422.55604,E,54.648,324.11,120308,,,D*57
+$GPRMC,140046.00,A,5200.80558,N,00422.54156,E,54.567,324.13,120308,,,D*56
+$GPRMC,140047.00,A,5200.81783,N,00422.52712,E,54.406,324.16,120308,,,D*51
+$GPRMC,140048.00,A,5200.83002,N,00422.51273,E,54.273,324.12,120308,,,D*53
+$GPRMC,140049.00,A,5200.84219,N,00422.49836,E,54.183,324.18,120308,,,D*59
+$GPRMC,140050.00,A,5200.85434,N,00422.48403,E,54.048,324.20,120308,,,D*5F
+$GPRMC,140051.00,A,5200.86648,N,00422.46980,E,53.870,324.34,120308,,,D*5D
+$GPRMC,140052.00,A,5200.87856,N,00422.45567,E,53.476,324.34,120308,,,D*52
+$GPRMC,140053.00,A,5200.89058,N,00422.44167,E,53.189,324.71,120308,,,D*5A
+$GPRMC,140054.00,A,5200.90251,N,00422.42782,E,52.549,324.58,120308,,,D*57
+$GPRMC,140055.00,A,5200.91431,N,00422.41410,E,52.102,324.40,120308,,,D*5E
+$GPRMC,140056.00,A,5200.92596,N,00422.40043,E,51.595,324.14,120308,,,D*59
+$GPRMC,140057.00,A,5200.93748,N,00422.38686,E,51.090,324.06,120308,,,D*5B
+$GPRMC,140058.00,A,5200.94889,N,00422.37338,E,50.702,324.05,120308,,,D*50
+$GPRMC,140059.00,A,5200.96022,N,00422.36000,E,50.403,324.19,120308,,,D*5C
+$GPRMC,140100.00,A,5200.97154,N,00422.34677,E,50.242,324.42,120308,,,D*59
+$GPRMC,140101.00,A,5200.98286,N,00422.33363,E,50.212,324.65,120308,,,D*5C
+$GPRMC,140102.00,A,5200.99419,N,00422.32051,E,50.264,324.52,120308,,,D*58
+$GPRMC,140103.00,A,5201.00548,N,00422.30722,E,50.415,323.77,120308,,,D*5C
+$GPRMC,140104.00,A,5201.01675,N,00422.29388,E,50.303,324.16,120308,,,D*5B
+$GPRMC,140105.00,A,5201.02802,N,00422.28051,E,50.378,324.02,120308,,,D*58
+$GPRMC,140106.00,A,5201.03927,N,00422.26709,E,50.347,323.78,120308,,,D*5E
+$GPRMC,140107.00,A,5201.05052,N,00422.25369,E,50.395,323.98,120308,,,D*52
+$GPRMC,140108.00,A,5201.06180,N,00422.24034,E,50.367,324.13,120308,,,D*53
+$GPRMC,140109.00,A,5201.07311,N,00422.22708,E,50.331,324.21,120308,,,D*55
+$GPRMC,140110.00,A,5201.08441,N,00422.21387,E,50.365,324.46,120308,,,D*50
+$GPRMC,140111.00,A,5201.09573,N,00422.20067,E,50.224,324.66,120308,,,D*5A
+$GPRMC,140112.00,A,5201.10707,N,00422.18757,E,50.191,324.43,120308,,,D*55
+$GPRMC,140113.00,A,5201.11837,N,00422.17439,E,50.252,324.16,120308,,,D*51
+$GPRMC,140114.00,A,5201.12965,N,00422.16112,E,50.209,324.38,120308,,,D*5C
+$GPRMC,140115.00,A,5201.14091,N,00422.14781,E,50.313,324.33,120308,,,D*56
+$GPRMC,140116.00,A,5201.15223,N,00422.13450,E,50.553,324.42,120308,,,D*53
+$GPRMC,140117.00,A,5201.16363,N,00422.12118,E,50.798,324.47,120308,,,D*5C
+$GPRMC,140118.00,A,5201.17506,N,00422.10782,E,50.906,324.29,120308,,,D*51
+$GPRMC,140119.00,A,5201.18650,N,00422.09443,E,50.920,324.29,120308,,,D*5D
+$GPRMC,140120.00,A,5201.19800,N,00422.08107,E,51.275,324.53,120308,,,D*5E
+$GPRMC,140121.00,A,5201.20956,N,00422.06764,E,51.457,324.31,120308,,,D*58
+$GPRMC,140122.00,A,5201.22114,N,00422.05414,E,51.416,324.36,120308,,,D*52
+$GPRMC,140123.00,A,5201.23274,N,00422.04064,E,51.637,324.54,120308,,,D*50
+$GPRMC,140124.00,A,5201.24439,N,00422.02710,E,51.807,324.37,120308,,,D*55
+$GPRMC,140125.00,A,5201.25606,N,00422.01344,E,51.901,324.07,120308,,,D*59
+$GPRMC,140126.00,A,5201.26776,N,00421.99978,E,51.821,323.92,120308,,,D*50
+$GPRMC,140127.00,A,5201.27949,N,00421.98608,E,51.786,324.01,120308,,,D*54
+$GPRMC,140128.00,A,5201.29116,N,00421.97240,E,51.816,324.14,120308,,,D*52
+$GPRMC,140129.00,A,5201.30279,N,00421.95869,E,51.944,324.25,120308,,,D*56
+$GPRMC,140130.00,A,5201.31441,N,00421.94490,E,52.121,324.16,120308,,,D*51
+$GPRMC,140131.00,A,5201.32608,N,00421.93101,E,52.364,324.32,120308,,,D*53
+$GPRMC,140132.00,A,5201.33797,N,00421.91724,E,52.800,324.41,120308,,,D*58
+$GPRMC,140133.00,A,5201.34994,N,00421.90338,E,53.043,324.29,120308,,,D*5B
+$GPRMC,140134.00,A,5201.36196,N,00421.88947,E,53.329,324.45,120308,,,D*5A
+$GPRMC,140135.00,A,5201.37405,N,00421.87549,E,53.672,324.41,120308,,,D*57
+$GPRMC,140136.00,A,5201.38616,N,00421.86138,E,53.706,324.19,120308,,,D*57
+$GPRMC,140137.00,A,5201.39831,N,00421.84732,E,53.814,324.24,120308,,,D*50
+$GPRMC,140138.00,A,5201.41049,N,00421.83321,E,54.001,324.23,120308,,,D*5A
+$GPRMC,140139.00,A,5201.42270,N,00421.81905,E,54.138,324.23,120308,,,D*55
+$GPRMC,140140.00,A,5201.43494,N,00421.80482,E,54.369,324.25,120308,,,D*55
+$GPRMC,140141.00,A,5201.44721,N,00421.79046,E,54.601,324.32,120308,,,D*59
+$GPRMC,140142.00,A,5201.45942,N,00421.77617,E,54.411,324.07,120308,,,D*59
+$GPRMC,140143.00,A,5201.47161,N,00421.76191,E,54.143,324.34,120308,,,D*59
+$GPRMC,140144.00,A,5201.48384,N,00421.74774,E,54.005,324.42,120308,,,D*55
+$GPRMC,140145.00,A,5201.49595,N,00421.73358,E,53.917,324.32,120308,,,D*54
+$GPRMC,140146.00,A,5201.50798,N,00421.71947,E,53.804,324.26,120308,,,D*50
+$GPRMC,140147.00,A,5201.52006,N,00421.70539,E,53.693,324.01,120308,,,D*52
+$GPRMC,140148.00,A,5201.53210,N,00421.69125,E,53.603,323.99,120308,,,D*57
+$GPRMC,140149.00,A,5201.54416,N,00421.67718,E,53.519,324.16,120308,,,D*5F
+$GPRMC,140150.00,A,5201.55620,N,00421.66312,E,53.551,324.32,120308,,,D*54
+$GPRMC,140151.00,A,5201.56828,N,00421.64906,E,53.671,324.40,120308,,,D*59
+$GPRMC,140152.00,A,5201.58042,N,00421.63493,E,53.879,324.17,120308,,,D*52
+$GPRMC,140153.00,A,5201.59253,N,00421.62043,E,53.750,323.62,120308,,,D*59
+$GPRMC,140154.00,A,5201.60455,N,00421.60629,E,53.576,324.41,120308,,,D*5C
+$GPRMC,140155.00,A,5201.61675,N,00421.59229,E,53.612,324.42,120308,,,D*50
+$GPRMC,140156.00,A,5201.62878,N,00421.57821,E,53.513,324.48,120308,,,D*57
+$GPRMC,140157.00,A,5201.64086,N,00421.56419,E,53.370,324.13,120308,,,D*52
+$GPRMC,140158.00,A,5201.65277,N,00421.55012,E,53.180,324.28,120308,,,D*59
+$GPRMC,140159.00,A,5201.66476,N,00421.53618,E,53.022,324.47,120308,,,D*56
+$GPRMC,140200.00,A,5201.67672,N,00421.52234,E,52.694,324.48,120308,,,D*50
+$GPRMC,140201.00,A,5201.68860,N,00421.50849,E,52.711,324.55,120308,,,D*51
+$GPRMC,140202.00,A,5201.70054,N,00421.49466,E,52.844,324.50,120308,,,D*57
+$GPRMC,140203.00,A,5201.71261,N,00421.48096,E,53.007,324.85,120308,,,D*5F
+$GPRMC,140204.00,A,5201.72469,N,00421.46725,E,53.206,325.45,120308,,,D*5A
+$GPRMC,140205.00,A,5201.73693,N,00421.45375,E,53.392,325.98,120308,,,D*53
+$GPRMC,140206.00,A,5201.74919,N,00421.44024,E,53.598,325.79,120308,,,D*5F
+$GPRMC,140207.00,A,5201.76144,N,00421.42661,E,53.681,325.54,120308,,,D*59
+$GPRMC,140208.00,A,5201.77368,N,00421.41286,E,53.812,325.21,120308,,,D*53
+$GPRMC,140209.00,A,5201.78591,N,00421.39898,E,53.858,325.00,120308,,,D*5A
+$GPRMC,140210.00,A,5201.79811,N,00421.38503,E,53.903,324.70,120308,,,D*51
+$GPRMC,140211.00,A,5201.81028,N,00421.37076,E,54.237,323.44,120308,,,D*56
+$GPRMC,140212.00,A,5201.82285,N,00421.35653,E,55.213,325.61,120308,,,D*56
+$GPRMC,140213.00,A,5201.83501,N,00421.34350,E,52.994,326.08,120308,,,D*55
+$GPRMC,140214.00,A,5201.84729,N,00421.33037,E,52.822,326.43,120308,,,D*5B
+$GPRMC,140215.00,A,5201.85954,N,00421.31757,E,52.602,327.44,120308,,,D*56
+$GPRMC,140216.00,A,5201.87193,N,00421.30521,E,52.362,329.12,120308,,,D*58
+$GPRMC,140217.00,A,5201.88441,N,00421.29342,E,52.148,330.63,120308,,,D*53
+$GPRMC,140218.00,A,5201.89704,N,00421.28228,E,51.905,332.02,120308,,,D*54
+$GPRMC,140219.00,A,5201.91011,N,00421.27194,E,51.571,333.58,120308,,,D*55
+$GPRMC,140220.00,A,5201.92320,N,00421.26256,E,51.346,335.28,120308,,,D*52
+$GPRMC,140221.00,A,5201.93639,N,00421.25339,E,51.486,336.67,120308,,,D*57
+$GPRMC,140222.00,A,5201.94967,N,00421.24486,E,51.522,338.44,120308,,,D*55
+$GPRMC,140223.00,A,5201.96309,N,00421.23691,E,51.536,339.87,120308,,,D*5C
+$GPRMC,140224.00,A,5201.97658,N,00421.22949,E,51.347,341.58,120308,,,D*5D
+$GPRMC,140225.00,A,5201.99013,N,00421.22268,E,51.068,343.10,120308,,,D*53
+$GPRMC,140226.00,A,5202.00369,N,00421.21644,E,50.779,344.44,120308,,,D*54
+$GPRMC,140227.00,A,5202.01725,N,00421.21072,E,50.533,345.61,120308,,,D*51
+$GPRMC,140228.00,A,5202.03084,N,00421.20554,E,50.397,347.14,120308,,,D*58
+$GPRMC,140229.00,A,5202.04453,N,00421.20114,E,50.322,349.10,120308,,,D*54
+$GPRMC,140230.00,A,5202.05832,N,00421.19728,E,50.496,349.93,120308,,,D*56
+$GPRMC,140231.00,A,5202.07218,N,00421.19365,E,50.579,350.48,120308,,,D*54
+$GPRMC,140232.00,A,5202.08607,N,00421.19005,E,50.565,350.29,120308,,,D*5D
+$GPRMC,140233.00,A,5202.09993,N,00421.18634,E,50.482,350.16,120308,,,D*5E
+$GPRMC,140234.00,A,5202.11376,N,00421.18259,E,50.480,350.17,120308,,,D*5D
+$GPRMC,140235.00,A,5202.12755,N,00421.17877,E,50.147,349.73,120308,,,D*57
+$GPRMC,140236.00,A,5202.14129,N,00421.17488,E,50.006,349.74,120308,,,D*50
+$GPRMC,140237.00,A,5202.15496,N,00421.17110,E,50.104,349.92,120308,,,D*5E
+$GPRMC,140238.00,A,5202.16874,N,00421.16731,E,50.259,350.05,120308,,,D*5B
+$GPRMC,140239.00,A,5202.18257,N,00421.16364,E,50.376,350.43,120308,,,D*55
+$GPRMC,140240.00,A,5202.19643,N,00421.16001,E,50.468,350.58,120308,,,D*59
+$GPRMC,140241.00,A,5202.21027,N,00421.15633,E,50.559,350.59,120308,,,D*51
+$GPRMC,140242.00,A,5202.22408,N,00421.15273,E,50.147,350.82,120308,,,D*55
+$GPRMC,140243.00,A,5202.23783,N,00421.14954,E,49.907,352.38,120308,,,D*5D
+$GPRMC,140244.00,A,5202.25155,N,00421.14689,E,49.738,353.76,120308,,,D*57
+$GPRMC,140245.00,A,5202.26520,N,00421.14481,E,49.618,355.32,120308,,,D*5C
+$GPRMC,140246.00,A,5202.27887,N,00421.14331,E,49.626,356.78,120308,,,D*52
+$GPRMC,140247.00,A,5202.29259,N,00421.14229,E,49.750,357.76,120308,,,D*53
+$GPRMC,140248.00,A,5202.30640,N,00421.14176,E,49.820,359.03,120308,,,D*55
+$GPRMC,140249.00,A,5202.32022,N,00421.14154,E,49.814,359.58,120308,,,D*5D
+$GPRMC,140250.00,A,5202.33405,N,00421.14145,E,49.740,359.83,120308,,,D*5D
+$GPRMC,140251.00,A,5202.34784,N,00421.14136,E,49.427,359.89,120308,,,D*5D
+$GPRMC,140252.00,A,5202.36151,N,00421.14123,E,49.289,359.87,120308,,,D*5A
+$GPRMC,140253.00,A,5202.37516,N,00421.14117,E,48.889,359.65,120308,,,D*5D
+$GPRMC,140254.00,A,5202.38868,N,00421.14157,E,48.708,359.99,120308,,,D*50
+$GPRMC,140255.00,A,5202.40211,N,00421.14174,E,48.850,359.69,120308,,,D*56
+$GPRMC,140256.00,A,5202.41554,N,00421.14177,E,48.708,359.60,120308,,,D*5A
+$GPRMC,140257.00,A,5202.42910,N,00421.14179,E,48.473,359.93,120308,,,D*59
+$GPRMC,140258.00,A,5202.44263,N,00421.14184,E,48.223,0.35,120308,,,D*5D
+$GPRMC,140259.00,A,5202.45608,N,00421.14201,E,48.044,1.21,120308,,,D*5D
+$GPRMC,140300.00,A,5202.46952,N,00421.14281,E,48.336,2.98,120308,,,D*5C
+$GPRMC,140301.00,A,5202.48307,N,00421.14433,E,49.350,5.04,120308,,,D*55
+$GPRMC,140302.00,A,5202.49689,N,00421.14652,E,50.268,6.75,120308,,,D*56
+$GPRMC,140303.00,A,5202.51085,N,00421.14979,E,51.174,9.39,120308,,,D*5A
+$GPRMC,140304.00,A,5202.52501,N,00421.15424,E,51.983,11.79,120308,,,D*6E
+$GPRMC,140305.00,A,5202.53925,N,00421.15965,E,52.565,13.59,120308,,,D*6B
+$GPRMC,140306.00,A,5202.55351,N,00421.16594,E,52.825,15.79,120308,,,D*6B
+$GPRMC,140307.00,A,5202.56761,N,00421.17318,E,52.671,18.16,120308,,,D*66
+$GPRMC,140308.00,A,5202.58145,N,00421.18101,E,52.608,20.11,120308,,,D*60
+$GPRMC,140309.00,A,5202.59511,N,00421.18951,E,52.854,21.93,120308,,,D*64
+$GPRMC,140310.00,A,5202.60872,N,00421.19888,E,53.588,23.83,120308,,,D*64
+$GPRMC,140311.00,A,5202.62233,N,00421.20920,E,54.395,25.74,120308,,,D*62
+$GPRMC,140312.00,A,5202.63583,N,00421.22041,E,54.858,27.81,120308,,,D*62
+$GPRMC,140313.00,A,5202.64918,N,00421.23254,E,55.109,29.64,120308,,,D*64
+$GPRMC,140314.00,A,5202.66228,N,00421.24542,E,55.204,32.00,120308,,,D*68
+$GPRMC,140315.00,A,5202.67497,N,00421.25928,E,54.905,35.14,120308,,,D*62
+$GPRMC,140316.00,A,5202.68715,N,00421.27417,E,54.803,37.73,120308,,,D*60
+$GPRMC,140317.00,A,5202.69895,N,00421.28970,E,54.488,39.12,120308,,,D*62
+$GPRMC,140318.00,A,5202.71049,N,00421.30551,E,54.029,40.05,120308,,,D*6C
+$GPRMC,140319.00,A,5202.72181,N,00421.32139,E,53.558,40.50,120308,,,D*67
+$GPRMC,140320.00,A,5202.73297,N,00421.33723,E,53.068,40.71,120308,,,D*61
+$GPRMC,140321.00,A,5202.74401,N,00421.35303,E,52.856,40.80,120308,,,D*64
+$GPRMC,140322.00,A,5202.75505,N,00421.36878,E,52.815,40.64,120308,,,D*6A
+$GPRMC,140323.00,A,5202.76611,N,00421.38446,E,52.858,40.52,120308,,,D*6D
+$GPRMC,140324.00,A,5202.77714,N,00421.40023,E,52.869,41.25,120308,,,D*64
+$GPRMC,140325.00,A,5202.78820,N,00421.41590,E,52.761,40.49,120308,,,D*62
+$GPRMC,140326.00,A,5202.79927,N,00421.43155,E,52.839,40.52,120308,,,D*61
+$GPRMC,140327.00,A,5202.81040,N,00421.44717,E,53.067,40.33,120308,,,D*6D
+$GPRMC,140328.00,A,5202.82161,N,00421.46273,E,53.126,40.07,120308,,,D*65
+$GPRMC,140329.00,A,5202.83282,N,00421.47820,E,52.747,40.04,120308,,,D*65
+$GPRMC,140330.00,A,5202.84397,N,00421.49355,E,52.428,40.06,120308,,,D*60
+$GPRMC,140331.00,A,5202.85506,N,00421.50888,E,52.165,40.22,120308,,,D*67
+$GPRMC,140332.00,A,5202.86606,N,00421.52417,E,51.964,40.41,120308,,,D*63
+$GPRMC,140333.00,A,5202.87700,N,00421.53941,E,51.802,40.42,120308,,,D*69
+$GPRMC,140334.00,A,5202.88792,N,00421.55461,E,51.930,40.35,120308,,,D*63
+$GPRMC,140335.00,A,5202.89896,N,00421.56993,E,52.316,40.32,120308,,,D*61
+$GPRMC,140336.00,A,5202.91014,N,00421.58538,E,52.848,40.31,120308,,,D*69
+$GPRMC,140337.00,A,5202.92135,N,00421.60099,E,52.986,40.60,120308,,,D*6B
+$GPRMC,140338.00,A,5202.93250,N,00421.61659,E,52.688,40.47,120308,,,D*6A
+$GPRMC,140339.00,A,5202.94360,N,00421.63205,E,52.387,40.42,120308,,,D*6E
+$GPRMC,140340.00,A,5202.95463,N,00421.64739,E,52.157,40.36,120308,,,D*64
+$GPRMC,140341.00,A,5202.96566,N,00421.66259,E,51.867,40.18,120308,,,D*66
+$GPRMC,140342.00,A,5202.97663,N,00421.67767,E,51.624,40.10,120308,,,D*6A
+$GPRMC,140343.00,A,5202.98756,N,00421.69269,E,51.463,40.18,120308,,,D*6F
+$GPRMC,140344.00,A,5202.99843,N,00421.70769,E,51.216,40.32,120308,,,D*63
+$GPRMC,140345.00,A,5203.00925,N,00421.72270,E,51.002,40.53,120308,,,D*6D
+$GPRMC,140346.00,A,5203.01998,N,00421.73773,E,50.832,40.80,120308,,,D*6A
+$GPRMC,140347.00,A,5203.03057,N,00421.75264,E,50.520,40.68,120308,,,D*6E
+$GPRMC,140348.00,A,5203.04114,N,00421.76749,E,50.355,40.73,120308,,,D*67
+$GPRMC,140349.00,A,5203.05165,N,00421.78239,E,50.233,41.26,120308,,,D*6D
+$GPRMC,140350.00,A,5203.06204,N,00421.79750,E,50.278,42.04,120308,,,D*65
+$GPRMC,140351.00,A,5203.07229,N,00421.81278,E,50.214,42.97,120308,,,D*62
+$GPRMC,140352.00,A,5203.08237,N,00421.82830,E,50.124,43.84,120308,,,D*67
+$GPRMC,140353.00,A,5203.09233,N,00421.84407,E,50.301,44.58,120308,,,D*6E
+$GPRMC,140354.00,A,5203.10223,N,00421.86006,E,50.348,45.03,120308,,,D*65
+$GPRMC,140355.00,A,5203.11202,N,00421.87618,E,50.350,45.55,120308,,,D*64
+$GPRMC,140356.00,A,5203.12179,N,00421.89242,E,50.331,45.69,120308,,,D*66
+$GPRMC,140357.00,A,5203.13149,N,00421.90863,E,50.295,45.70,120308,,,D*63
+$GPRMC,140358.00,A,5203.14118,N,00421.92482,E,50.251,45.28,120308,,,D*6B
+$GPRMC,140359.00,A,5203.15103,N,00421.94075,E,50.108,44.13,120308,,,D*6D
+$GPRMC,140400.00,A,5203.16110,N,00421.95621,E,49.907,42.40,120308,,,D*6E
+$GPRMC,140401.00,A,5203.17142,N,00421.97107,E,49.748,40.46,120308,,,D*69
+$GPRMC,140402.00,A,5203.18210,N,00421.98518,E,49.695,37.87,120308,,,D*68
+$GPRMC,140403.00,A,5203.19321,N,00421.99838,E,49.667,35.04,120308,,,D*61
+$GPRMC,140404.00,A,5203.20468,N,00422.01069,E,49.665,32.50,120308,,,D*6C
+$GPRMC,140405.00,A,5203.21647,N,00422.02219,E,49.622,30.52,120308,,,D*66
+$GPRMC,140406.00,A,5203.22847,N,00422.03297,E,49.587,28.51,120308,,,D*69
+$GPRMC,140407.00,A,5203.24069,N,00422.04323,E,49.557,27.13,120308,,,A*62
+$GPRMC,140408.00,A,5203.25303,N,00422.05303,E,49.516,26.01,120308,,,A*67
+$GPRMC,140409.00,A,5203.26547,N,00422.06253,E,49.453,25.26,120308,,,A*62
+$GPRMC,140410.00,A,5203.27791,N,00422.07201,E,49.476,25.81,120308,,,A*6E
+$GPRMC,140411.00,A,5203.29026,N,00422.08175,E,49.457,26.74,120308,,,A*6F
+$GPRMC,140412.00,A,5203.30254,N,00422.09176,E,49.565,27.08,120308,,,A*6B
+$GPRMC,140413.00,A,5203.31482,N,00422.10194,E,49.771,27.35,120308,,,A*6B
+$GPRMC,140414.00,A,5203.32711,N,00422.11234,E,49.927,27.90,120308,,,A*6C
+$GPRMC,140415.00,A,5203.33932,N,00422.12302,E,50.071,28.90,120308,,,A*69
+$GPRMC,140416.00,A,5203.35146,N,00422.13414,E,50.254,30.00,120308,,,A*63
+$GPRMC,140417.00,A,5203.36353,N,00422.14563,E,50.492,30.88,120308,,,A*6D
+$GPRMC,140418.00,A,5203.37558,N,00422.15744,E,50.774,31.41,120308,,,A*67
+$GPRMC,140419.00,A,5203.38764,N,00422.16949,E,51.064,31.81,120308,,,A*6F
+$GPRMC,140420.00,A,5203.39973,N,00422.18175,E,51.376,32.19,120308,,,A*67
+$GPRMC,140421.00,A,5203.41182,N,00422.19423,E,51.505,32.73,120308,,,A*66
+$GPRMC,140422.00,A,5203.42384,N,00422.20687,E,51.412,33.08,120308,,,A*6E
+$GPRMC,140423.00,A,5203.43582,N,00422.21956,E,51.347,33.07,120308,,,A*64
+$GPRMC,140424.00,A,5203.44778,N,00422.23220,E,51.203,33.06,120308,,,A*6B
+$GPRMC,140425.00,A,5203.45967,N,00422.24492,E,51.153,33.60,120308,,,A*65
+$GPRMC,140426.00,A,5203.47150,N,00422.25778,E,51.228,33.96,120308,,,A*68
+$GPRMC,140427.00,A,5203.48327,N,00422.27081,E,51.338,34.52,120308,,,A*68
+$GPRMC,140428.00,A,5203.49503,N,00422.28403,E,51.504,34.69,120308,,,A*66
+$GPRMC,140429.00,A,5203.50677,N,00422.29722,E,51.404,34.80,120308,,,A*68
+$GPRMC,140430.00,A,5203.51846,N,00422.31050,E,51.340,35.29,120308,,,A*63
+$GPRMC,140431.00,A,5203.53005,N,00422.32385,E,51.090,35.36,120308,,,A*67
+$GPRMC,140432.00,A,5203.54158,N,00422.33720,E,50.916,35.49,120308,,,A*6E
+$GPRMC,140433.00,A,5203.55306,N,00422.35059,E,50.904,35.84,120308,,,A*6A
+$GPRMC,140434.00,A,5203.56451,N,00422.36406,E,50.980,35.94,120308,,,A*6B
+$GPRMC,140435.00,A,5203.57595,N,00422.37758,E,51.039,36.04,120308,,,A*6B
+$GPRMC,140436.00,A,5203.58742,N,00422.39105,E,50.948,35.75,120308,,,A*64
+$GPRMC,140437.00,A,5203.59894,N,00422.40440,E,51.006,35.24,120308,,,A*6C
+$GPRMC,140438.00,A,5203.61051,N,00422.41773,E,51.254,35.35,120308,,,A*6E
+$GPRMC,140439.00,A,5203.62217,N,00422.43111,E,51.597,35.14,120308,,,A*67
+$GPRMC,140440.00,A,5203.63391,N,00422.44439,E,51.492,34.67,120308,,,A*6E
+$GPRMC,140441.00,A,5203.64569,N,00422.45776,E,51.870,35.05,120308,,,A*65
+$GPRMC,140442.00,A,5203.65748,N,00422.47124,E,51.950,35.14,120308,,,A*66
+$GPRMC,140443.00,A,5203.66928,N,00422.48463,E,51.919,35.09,120308,,,A*64
+$GPRMC,140444.00,A,5203.68105,N,00422.49801,E,51.709,35.24,120308,,,A*63
+$GPRMC,140445.00,A,5203.69274,N,00422.51155,E,51.700,35.61,120308,,,A*6F
+$GPRMC,140446.00,A,5203.70434,N,00422.52515,E,51.162,35.41,120308,,,A*65
+$GPRMC,140447.00,A,5203.71559,N,00422.53831,E,50.276,35.21,120308,,,A*64
+$GPRMC,140448.00,A,5203.72691,N,00422.55125,E,49.469,34.89,120308,,,A*66
+$GPRMC,140449.00,A,5203.73826,N,00422.56432,E,49.155,35.69,120308,,,A*61
+$GPRMC,140450.00,A,5203.74963,N,00422.57746,E,49.227,35.15,120308,,,A*62
+$GPRMC,140451.00,A,5203.76063,N,00422.59052,E,49.422,35.22,120308,,,A*63
+$GPRMC,140452.00,A,5203.77185,N,00422.60353,E,49.448,34.99,120308,,,A*6D
+$GPRMC,140453.00,A,5203.78279,N,00422.61658,E,49.514,35.34,120308,,,A*62
+$GPRMC,140454.00,A,5203.79391,N,00422.62949,E,49.298,35.60,120308,,,A*6D
+$GPRMC,140455.00,A,5203.80494,N,00422.64248,E,48.966,35.90,120308,,,A*60
+$GPRMC,140456.00,A,5203.81585,N,00422.65534,E,48.358,35.69,120308,,,A*6F
+$GPRMC,140457.00,A,5203.82667,N,00422.66797,E,47.746,35.38,120308,,,A*6A
+$GPRMC,140458.00,A,5203.83742,N,00422.68033,E,47.259,35.10,120308,,,A*64
+$GPRMC,140459.00,A,5203.84810,N,00422.69259,E,47.048,35.48,120308,,,A*6A
+$GPRMC,140500.00,A,5203.85867,N,00422.70498,E,46.736,35.90,120308,,,A*6F
+$GPRMC,140501.00,A,5203.86912,N,00422.71726,E,46.337,35.67,120308,,,A*64
+$GPRMC,140502.00,A,5203.87950,N,00422.72933,E,45.836,35.36,120308,,,A*64
+$GPRMC,140503.00,A,5203.88981,N,00422.74115,E,45.210,35.23,120308,,,A*66
+$GPRMC,140504.00,A,5203.89995,N,00422.75286,E,44.603,35.61,120308,,,A*6C
+$GPRMC,140505.00,A,5203.90989,N,00422.76465,E,44.156,36.64,120308,,,A*61
+$GPRMC,140506.00,A,5203.91963,N,00422.77665,E,43.960,37.53,120308,,,A*6B
+$GPRMC,140507.00,A,5203.92924,N,00422.78882,E,43.813,38.26,120308,,,A*6A
+$GPRMC,140508.00,A,5203.93876,N,00422.80106,E,43.697,38.45,120308,,,A*67
+$GPRMC,140509.00,A,5203.94824,N,00422.81334,E,43.728,38.63,120308,,,A*65
+$GPRMC,140510.00,A,5203.95771,N,00422.82572,E,43.834,39.00,120308,,,A*62
+$GPRMC,140511.00,A,5203.96717,N,00422.83828,E,44.217,39.55,120308,,,A*6F
+$GPRMC,140512.00,A,5203.97663,N,00422.85124,E,44.931,40.53,120308,,,A*6B
+$GPRMC,140513.00,A,5203.98611,N,00422.86470,E,45.597,41.60,120308,,,A*67
+$GPRMC,140514.00,A,5203.99554,N,00422.87855,E,46.246,42.39,120308,,,A*6E
+$GPRMC,140515.00,A,5204.00499,N,00422.89286,E,46.801,43.32,120308,,,A*61
+$GPRMC,140516.00,A,5204.01442,N,00422.90756,E,47.289,43.88,120308,,,A*6F
+$GPRMC,140517.00,A,5204.02384,N,00422.92252,E,47.688,44.51,120308,,,A*65
+$GPRMC,140518.00,A,5204.03322,N,00422.93783,E,48.094,45.29,120308,,,A*65
+$GPRMC,140519.00,A,5204.04254,N,00422.95346,E,48.419,46.12,120308,,,A*62
+$GPRMC,140520.00,A,5204.05180,N,00422.96930,E,48.481,46.59,120308,,,A*65
+$GPRMC,140521.00,A,5204.06099,N,00422.98521,E,48.623,46.64,120308,,,A*68
+$GPRMC,140522.00,A,5204.07011,N,00423.00115,E,48.413,47.37,120308,,,A*6F
+$GPRMC,140523.00,A,5204.07925,N,00423.01731,E,48.573,46.99,120308,,,A*63
+$GPRMC,140524.00,A,5204.08866,N,00423.03377,E,49.751,46.55,120308,,,A*6A
+$GPRMC,140525.00,A,5204.09818,N,00423.05010,E,50.054,46.24,120308,,,A*6B
+$GPRMC,140526.00,A,5204.10773,N,00423.06646,E,49.931,46.43,120308,,,A*67
+$GPRMC,140527.00,A,5204.11700,N,00423.08294,E,49.682,47.91,120308,,,A*6F
+$GPRMC,140528.00,A,5204.12613,N,00423.09995,E,50.215,49.16,120308,,,A*68
+$GPRMC,140529.00,A,5204.13509,N,00423.11735,E,50.798,50.24,120308,,,A*64
+$GPRMC,140530.00,A,5204.14403,N,00423.13509,E,50.760,50.72,120308,,,A*6B
+$GPRMC,140531.00,A,5204.15291,N,00423.15283,E,50.438,50.74,120308,,,A*6D
+$GPRMC,140532.00,A,5204.16173,N,00423.17042,E,49.940,50.65,120308,,,A*65
+$GPRMC,140533.00,A,5204.17054,N,00423.18763,E,49.237,50.12,120308,,,A*61
+$GPRMC,140534.00,A,5204.17909,N,00423.20476,E,48.890,50.85,120308,,,A*63
+$GPRMC,140535.00,A,5204.18753,N,00423.22167,E,48.273,50.85,120308,,,A*6C
+$GPRMC,140536.00,A,5204.19589,N,00423.23853,E,47.791,51.25,120308,,,A*69
+$GPRMC,140537.00,A,5204.20406,N,00423.25537,E,47.316,52.10,120308,,,A*63
+$GPRMC,140538.00,A,5204.21203,N,00423.27217,E,46.792,52.85,120308,,,A*6C
+$GPRMC,140539.00,A,5204.21983,N,00423.28899,E,46.359,53.35,120308,,,A*64
+$GPRMC,140540.00,A,5204.22743,N,00423.30575,E,45.912,53.82,120308,,,A*67
+$GPRMC,140541.00,A,5204.23489,N,00423.32247,E,45.608,54.50,120308,,,A*6A
+$GPRMC,140542.00,A,5204.24214,N,00423.33915,E,44.946,54.83,120308,,,A*6B
+$GPRMC,140543.00,A,5204.24926,N,00423.35567,E,44.598,55.25,120308,,,A*6D
+$GPRMC,140544.00,A,5204.25621,N,00423.37216,E,44.212,55.64,120308,,,A*60
+$GPRMC,140545.00,A,5204.26303,N,00423.38856,E,43.863,56.11,120308,,,A*6C
+$GPRMC,140546.00,A,5204.26981,N,00423.40532,E,44.934,57.13,120308,,,A*68
+$GPRMC,140547.00,A,5204.27625,N,00423.42182,E,43.261,57.70,120308,,,A*6D
+$GPRMC,140548.00,A,5204.28272,N,00423.43759,E,42.113,56.29,120308,,,A*60
+$GPRMC,140549.00,A,5204.28958,N,00423.45371,E,43.040,55.97,120308,,,A*6A
+$GPRMC,140550.00,A,5204.29574,N,00423.46961,E,42.898,57.40,120308,,,A*6D
+$GPRMC,140551.00,A,5204.30203,N,00423.48623,E,42.897,56.81,120308,,,A*67
+$GPRMC,140552.00,A,5204.30841,N,00423.50209,E,42.738,56.78,120308,,,A*61
+$GPRMC,140553.00,A,5204.31494,N,00423.51793,E,42.222,56.79,120308,,,A*6D
+$GPRMC,140554.00,A,5204.32144,N,00423.53358,E,41.522,56.57,120308,,,A*68
+$GPRMC,140555.00,A,5204.32760,N,00423.54931,E,40.801,56.51,120308,,,A*60
+$GPRMC,140556.00,A,5204.33386,N,00423.56431,E,39.918,56.38,120308,,,A*69
+$GPRMC,140557.00,A,5204.33998,N,00423.57913,E,39.125,56.41,120308,,,A*69
+$GPRMC,140558.00,A,5204.34597,N,00423.59363,E,38.531,56.43,120308,,,A*63
+$GPRMC,140559.00,A,5204.35183,N,00423.60796,E,38.027,56.60,120308,,,A*65
+$GPRMC,140600.00,A,5204.35749,N,00423.62224,E,37.654,57.88,120308,,,A*6E
+$GPRMC,140601.00,A,5204.36288,N,00423.63653,E,37.437,58.65,120308,,,A*6A
+$GPRMC,140602.00,A,5204.36818,N,00423.65087,E,36.957,59.12,120308,,,A*68
+$GPRMC,140603.00,A,5204.37341,N,00423.66523,E,36.915,59.73,120308,,,A*66
+$GPRMC,140604.00,A,5204.37849,N,00423.67940,E,36.695,59.89,120308,,,A*68
+$GPRMC,140605.00,A,5204.38357,N,00423.69361,E,36.791,59.65,120308,,,A*62
+$GPRMC,140606.00,A,5204.38863,N,00423.70783,E,36.711,60.26,120308,,,A*68
+$GPRMC,140607.00,A,5204.39360,N,00423.72210,E,36.696,60.54,120308,,,A*66
+$GPRMC,140608.00,A,5204.39850,N,00423.73660,E,36.652,61.48,120308,,,A*67
+$GPRMC,140609.00,A,5204.40335,N,00423.75103,E,36.321,61.43,120308,,,A*6E
+$GPRMC,140610.00,A,5204.40769,N,00423.76558,E,35.278,62.99,120308,,,A*68
+$GPRMC,140611.00,A,5204.41232,N,00423.77824,E,33.432,61.29,120308,,,A*62
+$GPRMC,140612.00,A,5204.41641,N,00423.79082,E,31.044,62.64,120308,,,A*66
+$GPRMC,140613.00,A,5204.42004,N,00423.80261,E,27.999,62.95,120308,,,A*6A
+$GPRMC,140614.00,A,5204.42327,N,00423.81344,E,26.230,64.62,120308,,,A*6F
+$GPRMC,140615.00,A,5204.42583,N,00423.82399,E,25.601,70.33,120308,,,A*61
+$GPRMC,140616.00,A,5204.42730,N,00423.83487,E,25.387,81.92,120308,,,A*6F
+$GPRMC,140617.00,A,5204.42663,N,00423.84676,E,25.661,96.00,120308,,,A*62
+$GPRMC,140618.00,A,5204.42462,N,00423.85780,E,26.366,111.78,120308,,,A*57
+$GPRMC,140619.00,A,5204.42086,N,00423.86784,E,27.033,126.10,120308,,,A*57
+$GPRMC,140620.00,A,5204.41537,N,00423.87663,E,27.630,139.34,120308,,,A*55
+$GPRMC,140621.00,A,5204.40868,N,00423.88295,E,27.965,155.49,120308,,,A*5F
+$GPRMC,140622.00,A,5204.40102,N,00423.88618,E,28.243,170.91,120308,,,A*5A
+$GPRMC,140623.00,A,5204.39319,N,00423.88616,E,27.522,186.66,120308,,,A*5D
+$GPRMC,140624.00,A,5204.38579,N,00423.88233,E,27.312,202.73,120308,,,A*56
+$GPRMC,140625.00,A,5204.37907,N,00423.87553,E,27.745,216.69,120308,,,A*5B
+$GPRMC,140626.00,A,5204.37314,N,00423.86671,E,28.221,225.37,120308,,,A*51
+$GPRMC,140627.00,A,5204.36770,N,00423.85718,E,27.816,227.18,120308,,,A*54
+$GPRMC,140628.00,A,5204.36262,N,00423.84798,E,25.918,227.81,120308,,,A*59
+$GPRMC,140629.00,A,5204.35819,N,00423.83946,E,21.874,229.65,120308,,,A*5C
+$GPRMC,140630.00,A,5204.35525,N,00423.83138,E,19.193,247.28,120308,,,A*5D
+$GPRMC,140631.00,A,5204.35470,N,00423.82318,E,17.470,274.82,120308,,,A*5A
+$GPRMC,140632.00,A,5204.35630,N,00423.81563,E,17.931,302.26,120308,,,A*50
+$GPRMC,140633.00,A,5204.35976,N,00423.80885,E,20.496,315.66,120308,,,A*5E
+$GPRMC,140634.00,A,5204.36432,N,00423.80152,E,24.032,315.18,120308,,,A*53
+$GPRMC,140635.00,A,5204.36934,N,00423.79341,E,25.671,315.14,120308,,,A*53
+$GPRMC,140636.00,A,5204.37465,N,00423.78489,E,26.725,315.47,120308,,,A*5F
+$GPRMC,140637.00,A,5204.38033,N,00423.77594,E,28.852,316.16,120308,,,A*52
+$GPRMC,140638.00,A,5204.38648,N,00423.76654,E,31.008,316.93,120308,,,A*5B
+$GPRMC,140639.00,A,5204.39311,N,00423.75658,E,33.062,317.39,120308,,,A*52
+$GPRMC,140640.00,A,5204.40012,N,00423.74625,E,33.950,317.83,120308,,,A*50
+$GPRMC,140641.00,A,5204.40721,N,00423.73589,E,33.507,317.90,120308,,,A*58
+$GPRMC,140642.00,A,5204.41408,N,00423.72579,E,32.506,317.59,120308,,,A*59
+$GPRMC,140643.00,A,5204.42071,N,00423.71580,E,31.695,316.35,120308,,,A*55
+$GPRMC,140644.00,A,5204.42698,N,00423.70587,E,30.742,314.91,120308,,,A*53
+$GPRMC,140645.00,A,5204.43290,N,00423.69622,E,28.817,314.37,120308,,,A*51
+$GPRMC,140646.00,A,5204.43827,N,00423.68744,E,25.350,314.73,120308,,,A*51
+$GPRMC,140647.00,A,5204.44293,N,00423.68003,E,20.975,316.12,120308,,,A*5B
+$GPRMC,140648.00,A,5204.44672,N,00423.67436,E,15.723,317.70,120308,,,A*5C
+$GPRMC,140649.00,A,5204.44947,N,00423.67027,E,10.903,317.59,120308,,,A*52
+$GPRMC,140650.00,A,5204.45116,N,00423.66778,E,5.639,317.87,120308,,,A*6A
+$GPRMC,140651.00,A,5204.45192,N,00423.66663,E,2.081,318.31,120308,,,A*6C
+$GPRMC,140652.00,A,5204.45212,N,00423.66631,E,0.310,318.46,120308,,,A*6A
+$GPRMC,140653.00,A,5204.45208,N,00423.66632,E,0.051,321.59,120308,,,A*61
+$GPRMC,140654.00,A,5204.45197,N,00423.66641,E,0.025,325.59,120308,,,A*60
+$GPRMC,140655.00,A,5204.45187,N,00423.66651,E,0.020,328.49,120308,,,A*68
+$GPRMC,140656.00,A,5204.45178,N,00423.66663,E,0.007,,120308,,,A*75
+$GPRMC,140657.00,A,5204.45171,N,00423.66671,E,0.009,,120308,,,A*70
+$GPRMC,140658.00,A,5204.45164,N,00423.66677,E,0.015,,120308,,,A*70
+$GPRMC,140659.00,A,5204.45160,N,00423.66684,E,0.197,332.60,120308,,,A*68
+$GPRMC,140700.00,A,5204.45157,N,00423.66690,E,0.006,,120308,,,A*77
+$GPRMC,140701.00,A,5204.45152,N,00423.66694,E,0.009,,120308,,,A*78
+$GPRMC,140702.00,A,5204.45147,N,00423.66698,E,0.022,330.52,120308,,,A*63
+$GPRMC,140703.00,A,5204.45141,N,00423.66699,E,0.022,328.92,120308,,,A*60
+$GPRMC,140704.00,A,5204.45134,N,00423.66698,E,0.011,,120308,,,A*78
+$GPRMC,140705.00,A,5204.45127,N,00423.66694,E,0.067,326.44,120308,,,A*6F
+$GPRMC,140706.00,A,5204.45122,N,00423.66690,E,0.007,,120308,,,A*72
+$GPRMC,140707.00,A,5204.45117,N,00423.66687,E,0.007,,120308,,,A*73
+$GPRMC,140708.00,A,5204.45112,N,00423.66684,E,0.005,,120308,,,A*78
+$GPRMC,140709.00,A,5204.45107,N,00423.66681,E,0.003,,120308,,,A*7E
+$GPRMC,140710.00,A,5204.45102,N,00423.66678,E,0.003,,120308,,,A*75
+$GPRMC,140711.00,A,5204.45097,N,00423.66678,E,0.036,325.77,120308,,,A*65
+$GPRMC,140712.00,A,5204.45095,N,00423.66673,E,0.098,325.71,120308,,,A*6D
+$GPRMC,140713.00,A,5204.45095,N,00423.66667,E,0.302,325.51,120308,,,A*6B
+$GPRMC,140714.00,A,5204.45102,N,00423.66651,E,0.552,325.03,120308,,,A*62
+$GPRMC,140715.00,A,5204.45115,N,00423.66627,E,0.853,324.59,120308,,,A*66
+$GPRMC,140716.00,A,5204.45135,N,00423.66597,E,1.050,324.18,120308,,,A*60
+$GPRMC,140717.00,A,5204.45157,N,00423.66566,E,0.989,323.71,120308,,,A*6F
+$GPRMC,140718.00,A,5204.45172,N,00423.66544,E,0.419,323.24,120308,,,A*63
+$GPRMC,140719.00,A,5204.45184,N,00423.66546,E,0.067,323.07,120308,,,A*65
+$GPRMC,140720.00,A,5204.45188,N,00423.66550,E,0.001,,120308,,,A*7F
+$GPRMC,140721.00,A,5204.45191,N,00423.66553,E,0.016,,120308,,,A*73
+$GPRMC,140722.00,A,5204.45194,N,00423.66557,E,0.038,322.14,120308,,,A*65
+$GPRMC,140723.00,A,5204.45205,N,00423.66544,E,0.865,321.90,120308,,,A*62
+$GPRMC,140724.00,A,5204.45254,N,00423.66471,E,3.781,318.02,120308,,,A*61
+$GPRMC,140725.00,A,5204.45369,N,00423.66304,E,7.012,318.16,120308,,,A*66
+$GPRMC,140726.00,A,5204.45545,N,00423.66045,E,9.801,318.38,120308,,,A*63
+$GPRMC,140727.00,A,5204.45772,N,00423.65709,E,11.894,318.28,120308,,,A*5C
+$GPRMC,140728.00,A,5204.46034,N,00423.65327,E,12.990,318.23,120308,,,A*50
+$GPRMC,140729.00,A,5204.46332,N,00423.64890,E,15.521,318.29,120308,,,A*59
+$GPRMC,140730.00,A,5204.46673,N,00423.64395,E,16.730,318.14,120308,,,A*50
+$GPRMC,140731.00,A,5204.47032,N,00423.63873,E,17.338,318.42,120308,,,A*59
+$GPRMC,140732.00,A,5204.47400,N,00423.63340,E,17.570,318.75,120308,,,A*5A
+$GPRMC,140733.00,A,5204.47764,N,00423.62796,E,17.547,316.17,120308,,,A*5A
+$GPRMC,140734.00,A,5204.48085,N,00423.62196,E,17.518,304.91,120308,,,A*5B
+$GPRMC,140735.00,A,5204.48308,N,00423.61500,E,17.516,289.01,120308,,,A*57
+$GPRMC,140736.00,A,5204.48389,N,00423.60719,E,18.117,269.82,120308,,,A*59
+$GPRMC,140737.00,A,5204.48287,N,00423.59895,E,19.641,249.63,120308,,,A*5E
+$GPRMC,140738.00,A,5204.48002,N,00423.59089,E,21.480,233.35,120308,,,A*51
+$GPRMC,140739.00,A,5204.47579,N,00423.58321,E,23.639,225.13,120308,,,A*57
+$GPRMC,140740.00,A,5204.47069,N,00423.57589,E,24.663,220.14,120308,,,A*5C
+$GPRMC,140741.00,A,5204.46477,N,00423.56914,E,26.653,212.52,120308,,,A*5C
+$GPRMC,140742.00,A,5204.45777,N,00423.56311,E,29.711,204.47,120308,,,A*5B
+$GPRMC,140743.00,A,5204.44971,N,00423.55820,E,31.231,198.21,120308,,,A*51
+$GPRMC,140744.00,A,5204.44104,N,00423.55447,E,32.362,192.85,120308,,,A*51
+$GPRMC,140745.00,A,5204.43191,N,00423.55183,E,33.589,187.85,120308,,,A*50
+$GPRMC,140746.00,A,5204.42250,N,00423.54989,E,33.744,186.19,120308,,,A*58
+$GPRMC,140747.00,A,5204.41302,N,00423.54797,E,33.403,188.77,120308,,,A*5B
+$GPRMC,140748.00,A,5204.40381,N,00423.54519,E,33.158,192.59,120308,,,A*56
+$GPRMC,140749.00,A,5204.39483,N,00423.54139,E,32.722,196.98,120308,,,A*59
+$GPRMC,140750.00,A,5204.38617,N,00423.53644,E,32.521,201.87,120308,,,A*57
+$GPRMC,140751.00,A,5204.37814,N,00423.53041,E,30.217,207.31,120308,,,A*5C
+$GPRMC,140752.00,A,5204.37127,N,00423.52409,E,25.897,211.73,120308,,,A*58
+$GPRMC,140753.00,A,5204.36536,N,00423.51771,E,24.600,215.39,120308,,,A*58
+$GPRMC,140754.00,A,5204.35990,N,00423.51095,E,24.193,219.00,120308,,,A*5A
+$GPRMC,140755.00,A,5204.35474,N,00423.50374,E,24.272,222.36,120308,,,A*50
+$GPRMC,140756.00,A,5204.34979,N,00423.49590,E,24.725,225.79,120308,,,A*5D
+$GPRMC,140757.00,A,5204.34502,N,00423.48740,E,25.633,229.16,120308,,,A*50
+$GPRMC,140758.00,A,5204.34032,N,00423.47803,E,27.248,232.09,120308,,,A*50
+$GPRMC,140759.00,A,5204.33571,N,00423.46788,E,28.769,234.40,120308,,,A*5B
+$GPRMC,140800.00,A,5204.33102,N,00423.45689,E,30.214,235.47,120308,,,A*5B
+$GPRMC,140801.00,A,5204.32618,N,00423.44524,E,31.529,236.01,120308,,,A*5B
+$GPRMC,140802.00,A,5204.32118,N,00423.43304,E,33.003,236.29,120308,,,A*59
+$GPRMC,140803.00,A,5204.31592,N,00423.42025,E,34.911,235.91,120308,,,A*51
+$GPRMC,140804.00,A,5204.31026,N,00423.40689,E,36.971,235.17,120308,,,A*54
+$GPRMC,140805.00,A,5204.30416,N,00423.39330,E,37.742,234.21,120308,,,A*51
+$GPRMC,140806.00,A,5204.29750,N,00423.37779,E,40.973,234.39,120308,,,A*59
+$GPRMC,140807.00,A,5204.29038,N,00423.36260,E,41.179,235.14,120308,,,A*50
+$GPRMC,140808.00,A,5204.28362,N,00423.34673,E,41.775,235.31,120308,,,A*5B
+$GPRMC,140809.00,A,5204.27696,N,00423.33072,E,42.185,235.56,120308,,,A*50
+$GPRMC,140810.00,A,5204.27039,N,00423.31462,E,42.509,235.57,120308,,,A*5D
+$GPRMC,140811.00,A,5204.26374,N,00423.29830,E,42.770,235.29,120308,,,A*50
+$GPRMC,140812.00,A,5204.25670,N,00423.28244,E,43.251,234.88,120308,,,A*54
+$GPRMC,140813.00,A,5204.24954,N,00423.26643,E,43.753,234.42,120308,,,A*51
+$GPRMC,140814.00,A,5204.24236,N,00423.25026,E,44.039,234.33,120308,,,A*55
+$GPRMC,140815.00,A,5204.23530,N,00423.23381,E,44.297,235.02,120308,,,A*5F
+$GPRMC,140816.00,A,5204.22829,N,00423.21714,E,44.578,235.35,120308,,,A*50
+$GPRMC,140817.00,A,5204.22119,N,00423.20054,E,44.772,235.22,120308,,,A*57
+$GPRMC,140818.00,A,5204.21399,N,00423.18403,E,44.982,234.83,120308,,,A*57
+$GPRMC,140819.00,A,5204.20672,N,00423.16749,E,45.247,234.82,120308,,,A*56
+$GPRMC,140820.00,A,5204.19933,N,00423.15082,E,45.648,234.41,120308,,,A*5B
+$GPRMC,140821.00,A,5204.19184,N,00423.13406,E,45.922,233.64,120308,,,A*53
+$GPRMC,140822.00,A,5204.18418,N,00423.11735,E,46.178,232.96,120308,,,A*58
+$GPRMC,140823.00,A,5204.17639,N,00423.10074,E,46.307,232.32,120308,,,A*50
+$GPRMC,140824.00,A,5204.16844,N,00423.08418,E,46.660,231.94,120308,,,A*5E
+$GPRMC,140825.00,A,5204.16036,N,00423.06757,E,46.924,231.39,120308,,,A*5C
+$GPRMC,140826.00,A,5204.15209,N,00423.05112,E,46.955,230.46,120308,,,A*59
+$GPRMC,140827.00,A,5204.14367,N,00423.03489,E,46.897,229.56,120308,,,A*57
+$GPRMC,140828.00,A,5204.13512,N,00423.01884,E,47.047,229.03,120308,,,A*5C
+$GPRMC,140829.00,A,5204.12650,N,00423.00279,E,47.230,228.64,120308,,,A*52
+$GPRMC,140830.00,A,5204.11768,N,00422.98699,E,47.175,227.21,120308,,,A*55
+$GPRMC,140831.00,A,5204.10875,N,00422.97144,E,47.232,226.77,120308,,,A*5C
+$GPRMC,140832.00,A,5204.09970,N,00422.95603,E,47.241,225.90,120308,,,A*5B
+$GPRMC,140833.00,A,5204.09043,N,00422.94078,E,47.647,225.08,120308,,,A*5B
+$GPRMC,140834.00,A,5204.08089,N,00422.92585,E,47.313,223.86,120308,,,A*5E
+$GPRMC,140835.00,A,5204.07111,N,00422.91143,E,47.303,222.36,120308,,,A*56
+$GPRMC,140836.00,A,5204.06114,N,00422.89746,E,47.027,220.52,120308,,,A*5E
+$GPRMC,140837.00,A,5204.05104,N,00422.88404,E,46.394,219.29,120308,,,A*55
+$GPRMC,140838.00,A,5204.04097,N,00422.87117,E,45.679,218.03,120308,,,A*54
+$GPRMC,140839.00,A,5204.03090,N,00422.85878,E,45.302,217.16,120308,,,A*55
+$GPRMC,140840.00,A,5204.02081,N,00422.84665,E,45.266,216.68,120308,,,A*52
+$GPRMC,140841.00,A,5204.01066,N,00422.83469,E,45.375,215.97,120308,,,A*50
+$GPRMC,140842.00,A,5204.00038,N,00422.82290,E,45.447,215.15,120308,,,A*54
+$GPRMC,140843.00,A,5203.99002,N,00422.81129,E,45.533,214.36,120308,,,A*5B
+$GPRMC,140844.00,A,5203.97955,N,00422.79985,E,45.546,214.00,120308,,,A*57
+$GPRMC,140845.00,A,5203.96904,N,00422.78846,E,45.717,213.70,120308,,,A*5A
+$GPRMC,140846.00,A,5203.95846,N,00422.77711,E,45.891,213.52,120308,,,A*5E
+$GPRMC,140847.00,A,5203.94784,N,00422.76580,E,45.832,213.35,120308,,,A*5C
+$GPRMC,140848.00,A,5203.93726,N,00422.75457,E,45.495,213.43,120308,,,A*54
+$GPRMC,140849.00,A,5203.92673,N,00422.74340,E,45.267,213.35,120308,,,A*5F
+$GPRMC,140850.00,A,5203.91619,N,00422.73216,E,45.750,213.69,120308,,,A*55
+$GPRMC,140851.00,A,5203.90555,N,00422.72068,E,46.383,213.83,120308,,,A*59
+$GPRMC,140852.00,A,5203.89481,N,00422.70898,E,46.795,214.27,120308,,,A*55
+$GPRMC,140853.00,A,5203.88403,N,00422.69704,E,47.178,214.59,120308,,,A*50
+$GPRMC,140854.00,A,5203.87320,N,00422.68494,E,47.444,214.67,120308,,,A*52
+$GPRMC,140855.00,A,5203.86239,N,00422.67280,E,47.185,214.81,120308,,,A*57
+$GPRMC,140856.00,A,5203.85165,N,00422.66071,E,46.795,214.90,120308,,,A*56
+$GPRMC,140857.00,A,5203.84099,N,00422.64863,E,46.872,215.15,120308,,,A*57
+$GPRMC,140858.00,A,5203.83041,N,00422.63663,E,46.074,215.00,120308,,,A*59
+$GPRMC,140859.00,A,5203.81999,N,00422.62483,E,45.373,215.05,120308,,,A*59
+$GPRMC,140900.00,A,5203.80978,N,00422.61328,E,44.280,214.98,120308,,,A*56
+$GPRMC,140901.00,A,5203.79978,N,00422.60193,E,43.646,215.27,120308,,,A*5E
+$GPRMC,140902.00,A,5203.78990,N,00422.59065,E,43.397,215.24,120308,,,A*52
+$GPRMC,140903.00,A,5203.78000,N,00422.57937,E,43.839,215.07,120308,,,A*5D
+$GPRMC,140904.00,A,5203.76984,N,00422.56814,E,44.489,213.83,120308,,,A*5A
+$GPRMC,140905.00,A,5203.75940,N,00422.55691,E,45.877,213.21,120308,,,A*54
+$GPRMC,140906.00,A,5203.74864,N,00422.54530,E,45.804,213.70,120308,,,A*58
+$GPRMC,140907.00,A,5203.73810,N,00422.53393,E,45.764,213.93,120308,,,A*51
+$GPRMC,140908.00,A,5203.72660,N,00422.52216,E,47.584,213.99,120308,,,A*5F
+$GPRMC,140909.00,A,5203.71645,N,00422.51000,E,45.350,216.88,120308,,,A*54
+$GPRMC,140910.00,A,5203.70474,N,00422.49708,E,48.246,216.37,120308,,,A*54
+$GPRMC,140911.00,A,5203.69322,N,00422.48341,E,49.978,215.85,120308,,,A*5C
+$GPRMC,140912.00,A,5203.68144,N,00422.46997,E,50.848,215.66,120308,,,A*54
+$GPRMC,140913.00,A,5203.66975,N,00422.45666,E,51.360,215.87,120308,,,A*5C
+$GPRMC,140914.00,A,5203.65805,N,00422.44322,E,51.926,215.52,120308,,,A*5A
+$GPRMC,140915.00,A,5203.64632,N,00422.42960,E,52.377,215.43,120308,,,A*57
+$GPRMC,140916.00,A,5203.63444,N,00422.41596,E,52.745,215.43,120308,,,A*53
+$GPRMC,140917.00,A,5203.62256,N,00422.40225,E,52.583,215.60,120308,,,A*51
+$GPRMC,140918.00,A,5203.61066,N,00422.38841,E,52.634,215.72,120308,,,A*57
+$GPRMC,140919.00,A,5203.59880,N,00422.37450,E,52.386,215.93,120308,,,A*5D
+$GPRMC,140920.00,A,5203.58694,N,00422.36073,E,52.304,215.51,120308,,,A*5D
+$GPRMC,140921.00,A,5203.57506,N,00422.34702,E,52.378,215.38,120308,,,A*5C
+$GPRMC,140922.00,A,5203.56320,N,00422.33330,E,52.342,215.52,120308,,,A*5B
+$GPRMC,140923.00,A,5203.55136,N,00422.31950,E,52.350,215.75,120308,,,A*54
+$GPRMC,140924.00,A,5203.53957,N,00422.30562,E,52.304,215.97,120308,,,A*5B
+$GPRMC,140925.00,A,5203.52782,N,00422.29169,E,52.244,216.18,120308,,,A*5B
+$GPRMC,140926.00,A,5203.51614,N,00422.27782,E,51.889,216.14,120308,,,A*5C
+$GPRMC,140927.00,A,5203.50455,N,00422.26406,E,51.477,216.12,120308,,,A*5E
+$GPRMC,140928.00,A,5203.49304,N,00422.25038,E,51.117,216.27,120308,,,A*55
+$GPRMC,140929.00,A,5203.48159,N,00422.23675,E,50.853,216.30,120308,,,A*58
+$GPRMC,140930.00,A,5203.47021,N,00422.22316,E,50.757,216.41,120308,,,A*5D
+$GPRMC,140931.00,A,5203.45889,N,00422.20954,E,50.699,216.63,120308,,,A*59
+$GPRMC,140932.00,A,5203.44761,N,00422.19592,E,50.596,216.71,120308,,,A*51
+$GPRMC,140933.00,A,5203.43637,N,00422.18227,E,50.550,216.89,120308,,,A*50
+$GPRMC,140934.00,A,5203.42514,N,00422.16860,E,50.469,216.92,120308,,,A*52
+$GPRMC,140935.00,A,5203.41399,N,00422.15486,E,50.378,217.36,120308,,,A*5C
+$GPRMC,140936.00,A,5203.40290,N,00422.14102,E,50.314,217.75,120308,,,A*53
+$GPRMC,140937.00,A,5203.39187,N,00422.12709,E,50.311,217.99,120308,,,A*55
+$GPRMC,140938.00,A,5203.38086,N,00422.11310,E,50.231,218.19,120308,,,A*50
+$GPRMC,140939.00,A,5203.36989,N,00422.09903,E,50.545,218.48,120308,,,A*58
+$GPRMC,140940.00,A,5203.35888,N,00422.08477,E,50.910,218.71,120308,,,A*5C
+$GPRMC,140941.00,A,5203.34788,N,00422.07029,E,51.019,219.34,120308,,,A*52
+$GPRMC,140942.00,A,5203.33697,N,00422.05547,E,51.313,220.48,120308,,,A*5E
+$GPRMC,140943.00,A,5203.32615,N,00422.04024,E,51.516,221.39,120308,,,A*51
+$GPRMC,140944.00,A,5203.31562,N,00422.02455,E,51.634,223.05,120308,,,A*5C
+$GPRMC,140945.00,A,5203.30536,N,00422.00835,E,51.728,224.90,120308,,,A*52
+$GPRMC,140946.00,A,5203.29538,N,00421.99158,E,51.918,226.54,120308,,,A*51
+$GPRMC,140947.00,A,5203.28563,N,00421.97421,E,52.323,228.04,120308,,,A*50
+$GPRMC,140948.00,A,5203.27607,N,00421.95634,E,52.691,229.18,120308,,,A*55
+$GPRMC,140949.00,A,5203.26660,N,00421.93816,E,52.681,230.02,120308,,,A*5E
+$GPRMC,140950.00,A,5203.25721,N,00421.91989,E,52.728,230.08,120308,,,A*5C
+$GPRMC,140951.00,A,5203.24774,N,00421.90161,E,53.059,229.61,120308,,,A*54
+$GPRMC,140952.00,A,5203.23816,N,00421.88348,E,53.357,228.82,120308,,,A*5A
+$GPRMC,140953.00,A,5203.22840,N,00421.86561,E,53.132,227.23,120308,,,A*5F
+$GPRMC,140954.00,A,5203.21822,N,00421.84832,E,53.118,224.94,120308,,,A*51
+$GPRMC,140955.00,A,5203.20748,N,00421.83172,E,53.649,222.01,120308,,,A*51
+$GPRMC,140956.00,A,5203.19611,N,00421.81589,E,54.086,219.25,120308,,,A*5B
+$GPRMC,140957.00,A,5203.18423,N,00421.80090,E,54.134,216.66,120308,,,A*54
+$GPRMC,140958.00,A,5203.17192,N,00421.78678,E,54.213,214.21,120308,,,A*5B
+$GPRMC,140959.00,A,5203.15934,N,00421.77342,E,53.877,212.52,120308,,,A*52
+$GPRMC,141000.00,A,5203.14674,N,00421.76065,E,53.045,211.92,120308,,,A*5D
+$GPRMC,141001.00,A,5203.13433,N,00421.74813,E,52.210,212.26,120308,,,A*5E
+$GPRMC,141002.00,A,5203.12216,N,00421.73573,E,51.341,212.38,120308,,,A*58
+$GPRMC,141003.00,A,5203.11020,N,00421.72351,E,50.491,212.45,120308,,,A*5B
+$GPRMC,141004.00,A,5203.09846,N,00421.71145,E,49.686,212.59,120308,,,A*58
+$GPRMC,141005.00,A,5203.08688,N,00421.69957,E,49.055,212.37,120308,,,A*56
+$GPRMC,141006.00,A,5203.07542,N,00421.68790,E,48.455,212.27,120308,,,A*5F
+$GPRMC,141007.00,A,5203.06410,N,00421.67633,E,47.956,212.59,120308,,,A*56
+$GPRMC,141008.00,A,5203.05296,N,00421.66475,E,47.462,213.12,120308,,,A*57
+$GPRMC,141009.00,A,5203.04199,N,00421.65311,E,47.069,213.53,120308,,,A*57
+$GPRMC,141010.00,A,5203.03117,N,00421.64138,E,46.725,214.17,120308,,,A*5F
+$GPRMC,141011.00,A,5203.02048,N,00421.62940,E,46.936,215.23,120308,,,A*5F
+$GPRMC,141012.00,A,5203.00981,N,00421.61704,E,47.530,215.96,120308,,,A*5A
+$GPRMC,141013.00,A,5202.99913,N,00421.60426,E,48.062,216.93,120308,,,A*58
+$GPRMC,141014.00,A,5202.98848,N,00421.59104,E,48.518,217.89,120308,,,A*5C
+$GPRMC,141015.00,A,5202.97787,N,00421.57743,E,48.829,218.78,120308,,,A*5B
+$GPRMC,141016.00,A,5202.96735,N,00421.56349,E,48.997,219.74,120308,,,A*56
+$GPRMC,141017.00,A,5202.95690,N,00421.54920,E,49.408,220.61,120308,,,A*59
+$GPRMC,141018.00,A,5202.94658,N,00421.53448,E,49.895,221.57,120308,,,A*5B
+$GPRMC,141019.00,A,5202.93627,N,00421.51931,E,50.395,222.61,120308,,,A*51
+$GPRMC,141020.00,A,5202.92608,N,00421.50373,E,50.667,223.57,120308,,,A*56
+$GPRMC,141021.00,A,5202.91602,N,00421.48782,E,50.614,224.62,120308,,,A*58
+$GPRMC,141022.00,A,5202.90617,N,00421.47158,E,50.498,226.19,120308,,,A*58
+$GPRMC,141023.00,A,5202.89661,N,00421.45495,E,50.385,227.72,120308,,,A*51
+$GPRMC,141024.00,A,5202.88747,N,00421.43785,E,50.198,229.98,120308,,,A*52
+$GPRMC,141025.00,A,5202.87885,N,00421.42024,E,50.166,232.30,120308,,,A*59
+$GPRMC,141026.00,A,5202.87056,N,00421.40209,E,50.148,233.99,120308,,,A*5D
+$GPRMC,141027.00,A,5202.86306,N,00421.38315,E,49.973,237.88,120308,,,A*54
+$GPRMC,141028.00,A,5202.85618,N,00421.36361,E,49.917,240.35,120308,,,A*5B
+$GPRMC,141029.00,A,5202.84982,N,00421.34367,E,49.793,242.75,120308,,,A*57
+$GPRMC,141030.00,A,5202.84398,N,00421.32337,E,49.641,245.13,120308,,,A*54
+$GPRMC,141031.00,A,5202.83869,N,00421.30284,E,49.526,247.44,120308,,,A*5E
+$GPRMC,141032.00,A,5202.83394,N,00421.28205,E,49.339,249.75,120308,,,A*50
+$GPRMC,141033.00,A,5202.82974,N,00421.26104,E,49.145,252.36,120308,,,A*5C
+$GPRMC,141034.00,A,5202.82616,N,00421.23981,E,48.929,255.00,120308,,,A*51
+$GPRMC,141035.00,A,5202.82306,N,00421.21850,E,48.606,257.21,120308,,,A*58
+$GPRMC,141036.00,A,5202.82054,N,00421.19699,E,48.635,259.15,120308,,,A*56
+$GPRMC,141037.00,A,5202.81836,N,00421.17538,E,48.676,260.12,120308,,,A*54
+$GPRMC,141038.00,A,5202.81629,N,00421.15374,E,48.698,260.39,120308,,,A*5E
+$GPRMC,141039.00,A,5202.81418,N,00421.13212,E,48.696,260.03,120308,,,A*5F
+$GPRMC,141040.00,A,5202.81192,N,00421.11052,E,48.657,259.25,120308,,,A*51
+$GPRMC,141041.00,A,5202.80932,N,00421.08906,E,48.571,257.34,120308,,,A*5A
+$GPRMC,141042.00,A,5202.80620,N,00421.06776,E,48.724,254.96,120308,,,A*5B
+$GPRMC,141043.00,A,5202.80235,N,00421.04667,E,49.057,251.49,120308,,,A*5C
+$GPRMC,141044.00,A,5202.79764,N,00421.02589,E,49.467,247.90,120308,,,A*5D
+$GPRMC,141045.00,A,5202.79201,N,00421.00551,E,49.916,243.81,120308,,,A*52
+$GPRMC,141046.00,A,5202.78534,N,00420.98568,E,50.450,239.33,120308,,,A*58
+$GPRMC,141047.00,A,5202.77766,N,00420.96657,E,50.969,234.96,120308,,,A*57
+$GPRMC,141048.00,A,5202.76898,N,00420.94827,E,51.565,230.65,120308,,,A*55
+$GPRMC,141049.00,A,5202.75937,N,00420.93088,E,51.973,226.39,120308,,,A*5C
+$GPRMC,141050.00,A,5202.74890,N,00420.91456,E,52.479,222.22,120308,,,A*56
+$GPRMC,141051.00,A,5202.73761,N,00420.89948,E,52.788,217.82,120308,,,A*5B
+$GPRMC,141052.00,A,5202.72556,N,00420.88584,E,52.892,213.08,120308,,,A*50
+$GPRMC,141053.00,A,5202.71284,N,00420.87380,E,53.070,208.26,120308,,,A*54
+$GPRMC,141054.00,A,5202.69948,N,00420.86344,E,53.422,203.73,120308,,,A*50
+$GPRMC,141055.00,A,5202.68544,N,00420.85491,E,53.721,199.22,120308,,,A*58
+$GPRMC,141056.00,A,5202.67107,N,00420.84793,E,54.044,195.00,120308,,,A*58
+$GPRMC,141057.00,A,5202.65623,N,00420.84270,E,54.564,190.92,120308,,,A*5B
+$GPRMC,141058.00,A,5202.64104,N,00420.83925,E,54.981,186.58,120308,,,A*5D
+$GPRMC,141059.00,A,5202.62575,N,00420.83773,E,55.027,181.74,120308,,,A*58
+$GPRMC,141100.00,A,5202.61048,N,00420.83848,E,54.713,176.25,120308,,,A*57
+$GPRMC,141101.00,A,5202.59529,N,00420.84148,E,55.058,171.31,120308,,,A*5A
+$GPRMC,141102.00,A,5202.58008,N,00420.84540,E,55.910,170.69,120308,,,A*5B
+$GPRMC,141103.00,A,5202.56473,N,00420.84947,E,56.021,170.71,120308,,,A*56
+$GPRMC,141104.00,A,5202.54897,N,00420.85671,E,55.822,166.52,120308,,,A*50
+$GPRMC,141105.00,A,5202.53441,N,00420.86924,E,57.197,158.95,120308,,,A*5E
+$GPRMC,141106.00,A,5202.51944,N,00420.88373,E,57.347,151.88,120308,,,A*5B
+$GPRMC,141107.00,A,5202.50728,N,00420.90430,E,57.459,144.48,120308,,,A*56
+$GPRMC,141108.00,A,5202.49464,N,00420.92257,E,58.037,142.16,120308,,,A*51
+$GPRMC,141109.00,A,5202.48207,N,00420.94050,E,58.072,140.67,120308,,,A*54
+$GPRMC,141110.00,A,5202.46962,N,00420.95802,E,57.974,139.98,120308,,,A*5A
+$GPRMC,141111.00,A,5202.45750,N,00420.97570,E,57.569,139.72,120308,,,A*59
+$GPRMC,141112.00,A,5202.44519,N,00420.99262,E,57.119,140.64,120308,,,A*54
+$GPRMC,141113.00,A,5202.43278,N,00421.00878,E,56.608,142.57,120308,,,A*56
+$GPRMC,141114.00,A,5202.42003,N,00421.02394,E,56.202,145.07,120308,,,A*59
+$GPRMC,141115.00,A,5202.40703,N,00421.03808,E,55.761,147.11,120308,,,A*54
+$GPRMC,141116.00,A,5202.39387,N,00421.05174,E,56.347,148.13,120308,,,A*5B
+$GPRMC,141117.00,A,5202.38030,N,00421.06462,E,56.388,150.49,120308,,,A*50
+$GPRMC,141118.00,A,5202.36634,N,00421.07549,E,55.192,153.62,120308,,,A*5A
+$GPRMC,141119.00,A,5202.35249,N,00421.08601,E,55.041,156.03,120308,,,A*5B
+$GPRMC,141120.00,A,5202.33826,N,00421.09505,E,54.970,157.96,120308,,,A*55
+$GPRMC,141121.00,A,5202.32389,N,00421.10353,E,54.898,159.66,120308,,,A*50
+$GPRMC,141122.00,A,5202.30941,N,00421.11126,E,54.758,161.83,120308,,,A*5D
+$GPRMC,141123.00,A,5202.29483,N,00421.11808,E,54.611,164.32,120308,,,A*51
+$GPRMC,141124.00,A,5202.28017,N,00421.12386,E,54.373,166.87,120308,,,A*5D
+$GPRMC,141125.00,A,5202.26549,N,00421.12881,E,54.201,168.60,120308,,,A*53
+$GPRMC,141126.00,A,5202.25071,N,00421.13320,E,54.087,169.76,120308,,,A*56
+$GPRMC,141127.00,A,5202.23599,N,00421.13725,E,53.862,170.13,120308,,,A*5C
+$GPRMC,141128.00,A,5202.22128,N,00421.14129,E,53.984,169.95,120308,,,A*5E
+$GPRMC,141129.00,A,5202.20664,N,00421.14539,E,53.506,169.77,120308,,,A*5D
+$GPRMC,141130.00,A,5202.19206,N,00421.14948,E,53.727,170.07,120308,,,A*5B
+$GPRMC,141131.00,A,5202.17740,N,00421.15349,E,53.969,170.18,120308,,,A*53
+$GPRMC,141132.00,A,5202.16264,N,00421.15750,E,54.265,170.27,120308,,,A*52
+$GPRMC,141133.00,A,5202.14780,N,00421.16150,E,54.644,170.20,120308,,,A*5B
+$GPRMC,141134.00,A,5202.13285,N,00421.16565,E,55.004,169.81,120308,,,A*59
+$GPRMC,141135.00,A,5202.11777,N,00421.16994,E,55.576,169.83,120308,,,A*52
+$GPRMC,141136.00,A,5202.10254,N,00421.17421,E,55.921,170.18,120308,,,A*52
+$GPRMC,141137.00,A,5202.08713,N,00421.17836,E,56.591,170.60,120308,,,A*5D
+$GPRMC,141138.00,A,5202.07165,N,00421.18227,E,56.992,171.17,120308,,,A*51
+$GPRMC,141139.00,A,5202.05604,N,00421.18603,E,57.005,171.54,120308,,,A*51
+$GPRMC,141140.00,A,5202.04044,N,00421.18987,E,56.612,171.12,120308,,,A*5C
+$GPRMC,141141.00,A,5202.02505,N,00421.19407,E,56.056,169.74,120308,,,A*50
+$GPRMC,141142.00,A,5202.00989,N,00421.19893,E,55.415,167.95,120308,,,A*59
+$GPRMC,141143.00,A,5201.99509,N,00421.20451,E,54.715,166.08,120308,,,A*50
+$GPRMC,141144.00,A,5201.98049,N,00421.21086,E,54.220,164.09,120308,,,A*58
+$GPRMC,141145.00,A,5201.96613,N,00421.21793,E,53.657,162.39,120308,,,A*5B
+$GPRMC,141146.00,A,5201.95206,N,00421.22569,E,53.153,160.49,120308,,,A*59
+$GPRMC,141147.00,A,5201.93821,N,00421.23407,E,53.034,158.99,120308,,,A*5F
+$GPRMC,141148.00,A,5201.92451,N,00421.24308,E,52.914,157.36,120308,,,A*55
+$GPRMC,141149.00,A,5201.91101,N,00421.25262,E,52.943,155.70,120308,,,A*59
+$GPRMC,141150.00,A,5201.89773,N,00421.26277,E,52.917,154.17,120308,,,A*5D
+$GPRMC,141151.00,A,5201.88464,N,00421.27349,E,52.921,152.73,120308,,,A*54
+$GPRMC,141152.00,A,5201.87169,N,00421.28492,E,53.221,151.39,120308,,,A*59
+$GPRMC,141153.00,A,5201.85885,N,00421.29686,E,53.535,149.87,120308,,,A*59
+$GPRMC,141154.00,A,5201.84614,N,00421.30954,E,53.818,148.25,120308,,,A*5A
+$GPRMC,141155.00,A,5201.83365,N,00421.32283,E,53.575,146.56,120308,,,A*50
+$GPRMC,141156.00,A,5201.82145,N,00421.33654,E,53.130,145.47,120308,,,A*5B
+$GPRMC,141157.00,A,5201.80943,N,00421.35037,E,52.696,144.77,120308,,,A*5B
+$GPRMC,141158.00,A,5201.79746,N,00421.36408,E,52.481,144.69,120308,,,A*59
+$GPRMC,141159.00,A,5201.78552,N,00421.37784,E,51.885,144.43,120308,,,A*5B
+$GPRMC,141200.00,A,5201.77383,N,00421.39141,E,51.170,144.56,120308,,,A*57
+$GPRMC,141201.00,A,5201.76228,N,00421.40484,E,50.347,144.49,120308,,,A*5C
+$GPRMC,141202.00,A,5201.75098,N,00421.41796,E,49.537,144.46,120308,,,A*52
+$GPRMC,141203.00,A,5201.74002,N,00421.43107,E,48.729,144.27,120308,,,A*56
+$GPRMC,141204.00,A,5201.72924,N,00421.44393,E,48.111,144.03,120308,,,A*59
+$GPRMC,141205.00,A,5201.71857,N,00421.45655,E,47.269,143.80,120308,,,A*5F
+$GPRMC,141206.00,A,5201.70821,N,00421.46908,E,46.478,144.06,120308,,,A*56
+$GPRMC,141207.00,A,5201.69805,N,00421.48124,E,45.119,144.18,120308,,,A*5F
+$GPRMC,141208.00,A,5201.68818,N,00421.49299,E,43.603,144.14,120308,,,A*5F
+$GPRMC,141209.00,A,5201.67858,N,00421.50436,E,42.492,144.18,120308,,,A*59
+$GPRMC,141210.00,A,5201.66913,N,00421.51541,E,41.875,144.26,120308,,,A*55
+$GPRMC,141211.00,A,5201.65978,N,00421.52647,E,41.943,144.19,120308,,,A*54
+$GPRMC,141212.00,A,5201.65032,N,00421.53753,E,42.401,144.52,120308,,,A*52
+$GPRMC,141213.00,A,5201.64068,N,00421.54864,E,43.026,144.58,120308,,,A*5B
+$GPRMC,141214.00,A,5201.63097,N,00421.56001,E,43.566,144.41,120308,,,A*5B
+$GPRMC,141215.00,A,5201.62112,N,00421.57154,E,44.161,144.22,120308,,,A*56
+$GPRMC,141216.00,A,5201.61113,N,00421.58320,E,44.617,144.15,120308,,,A*5B
+$GPRMC,141217.00,A,5201.60116,N,00421.59503,E,44.617,144.07,120308,,,A*5B
+$GPRMC,141218.00,A,5201.59120,N,00421.60685,E,44.431,144.00,120308,,,A*5D
+$GPRMC,141219.00,A,5201.58131,N,00421.61863,E,43.940,143.95,120308,,,A*5D
+$GPRMC,141220.00,A,5201.57141,N,00421.63032,E,44.048,143.76,120308,,,A*5A
+$GPRMC,141221.00,A,5201.56147,N,00421.64259,E,44.688,143.84,120308,,,A*53
+$GPRMC,141222.00,A,5201.55144,N,00421.65470,E,44.991,144.39,120308,,,A*5A
+$GPRMC,141223.00,A,5201.54124,N,00421.66650,E,45.318,144.51,120308,,,A*5B
+$GPRMC,141224.00,A,5201.53095,N,00421.67824,E,45.504,144.57,120308,,,A*51
+$GPRMC,141225.00,A,5201.52064,N,00421.69015,E,45.814,144.43,120308,,,A*52
+$GPRMC,141226.00,A,5201.51025,N,00421.70214,E,46.374,144.29,120308,,,A*5E
+$GPRMC,141227.00,A,5201.49969,N,00421.71427,E,46.981,144.21,120308,,,A*58
+$GPRMC,141228.00,A,5201.48902,N,00421.72662,E,47.557,144.24,120308,,,A*58
+$GPRMC,141229.00,A,5201.47819,N,00421.73913,E,48.168,144.28,120308,,,A*5E
+$GPRMC,141230.00,A,5201.46726,N,00421.75182,E,48.695,144.50,120308,,,A*58
+$GPRMC,141231.00,A,5201.45617,N,00421.76456,E,49.160,144.48,120308,,,A*53
+$GPRMC,141232.00,A,5201.44494,N,00421.77743,E,49.576,144.32,120308,,,A*50
+$GPRMC,141233.00,A,5201.43370,N,00421.79045,E,49.869,144.28,120308,,,A*5C
+$GPRMC,141234.00,A,5201.42233,N,00421.80353,E,50.145,144.30,120308,,,A*58
+$GPRMC,141235.00,A,5201.41093,N,00421.81672,E,50.319,144.40,120308,,,A*59
+$GPRMC,141236.00,A,5201.39950,N,00421.82989,E,50.386,144.52,120308,,,A*5E
+$GPRMC,141237.00,A,5201.38811,N,00421.84312,E,50.450,144.30,120308,,,A*5C
+$GPRMC,141238.00,A,5201.37674,N,00421.85648,E,50.637,144.15,120308,,,A*5E
+$GPRMC,141239.00,A,5201.36536,N,00421.86993,E,50.885,144.00,120308,,,A*52
+$GPRMC,141240.00,A,5201.35389,N,00421.88346,E,51.154,143.99,120308,,,A*52
+$GPRMC,141241.00,A,5201.34234,N,00421.89700,E,51.381,144.23,120308,,,A*5E
+$GPRMC,141242.00,A,5201.33072,N,00421.91052,E,51.576,144.34,120308,,,A*5B
+$GPRMC,141243.00,A,5201.31904,N,00421.92403,E,51.692,144.49,120308,,,A*50
+$GPRMC,141244.00,A,5201.30734,N,00421.93758,E,51.769,144.40,120308,,,A*5B
+$GPRMC,141245.00,A,5201.29560,N,00421.95113,E,51.907,144.48,120308,,,A*50
+$GPRMC,141246.00,A,5201.28387,N,00421.96480,E,52.066,144.16,120308,,,A*57
+$GPRMC,141247.00,A,5201.27212,N,00421.97859,E,52.311,144.09,120308,,,A*50
+$GPRMC,141248.00,A,5201.26034,N,00421.99246,E,52.581,144.00,120308,,,A*54
+$GPRMC,141249.00,A,5201.24849,N,00422.00643,E,52.860,143.97,120308,,,A*5C
+$GPRMC,141250.00,A,5201.23653,N,00422.02041,E,53.156,144.15,120308,,,A*50
+$GPRMC,141251.00,A,5201.22450,N,00422.03442,E,53.425,144.52,120308,,,A*55
+$GPRMC,141252.00,A,5201.21241,N,00422.04846,E,53.566,144.46,120308,,,A*5F
+$GPRMC,141253.00,A,5201.20033,N,00422.06255,E,53.447,144.35,120308,,,A*54
+$GPRMC,141254.00,A,5201.18827,N,00422.07659,E,53.314,144.23,120308,,,A*5A
+$GPRMC,141255.00,A,5201.17621,N,00422.09052,E,53.192,144.26,120308,,,A*56
+$GPRMC,141256.00,A,5201.16417,N,00422.10441,E,53.049,144.36,120308,,,A*5B
+$GPRMC,141257.00,A,5201.15216,N,00422.11823,E,52.870,144.54,120308,,,A*50
+$GPRMC,141258.00,A,5201.14019,N,00422.13195,E,52.625,144.68,120308,,,A*54
+$GPRMC,141259.00,A,5201.12825,N,00422.14553,E,52.344,144.80,120308,,,A*59
+$GPRMC,141300.00,A,5201.11648,N,00422.15916,E,51.747,144.15,120308,,,A*56
+$GPRMC,141301.00,A,5201.10491,N,00422.17264,E,50.869,144.24,120308,,,A*5C
+$GPRMC,141302.00,A,5201.09360,N,00422.18580,E,49.467,144.37,120308,,,A*54
+$GPRMC,141303.00,A,5201.08255,N,00422.19857,E,48.327,144.54,120308,,,A*52
+$GPRMC,141304.00,A,5201.07170,N,00422.21107,E,47.646,144.50,120308,,,A*50
+$GPRMC,141305.00,A,5201.06096,N,00422.22344,E,47.358,144.33,120308,,,A*50
+$GPRMC,141306.00,A,5201.05031,N,00422.23583,E,47.121,144.08,120308,,,A*55
+$GPRMC,141307.00,A,5201.03974,N,00422.24821,E,46.780,143.84,120308,,,A*57
+$GPRMC,141308.00,A,5201.02928,N,00422.26053,E,46.437,143.94,120308,,,A*51
+$GPRMC,141309.00,A,5201.01887,N,00422.27265,E,46.002,144.21,120308,,,A*5A
+$GPRMC,141310.00,A,5201.00851,N,00422.28461,E,45.720,144.43,120308,,,A*55
+$GPRMC,141311.00,A,5200.99813,N,00422.29651,E,45.895,144.57,120308,,,A*57
+$GPRMC,141312.00,A,5200.98766,N,00422.30863,E,46.677,144.23,120308,,,A*5D
+$GPRMC,141313.00,A,5200.97711,N,00422.32080,E,46.880,144.56,120308,,,A*50
+$GPRMC,141314.00,A,5200.96645,N,00422.33309,E,47.389,144.39,120308,,,A*5F
+$GPRMC,141315.00,A,5200.95570,N,00422.34561,E,47.961,144.14,120308,,,A*54
+$GPRMC,141316.00,A,5200.94479,N,00422.35825,E,48.538,144.17,120308,,,A*5E
+$GPRMC,141317.00,A,5200.93376,N,00422.37106,E,49.111,144.25,120308,,,A*55
+$GPRMC,141318.00,A,5200.92260,N,00422.38400,E,49.684,144.52,120308,,,A*5A
+$GPRMC,141319.00,A,5200.91133,N,00422.39695,E,49.858,144.54,120308,,,A*5B
+$GPRMC,141320.00,A,5200.90004,N,00422.40991,E,49.703,144.29,120308,,,A*5B
+$GPRMC,141321.00,A,5200.88887,N,00422.42290,E,49.287,144.11,120308,,,A*5A
+$GPRMC,141322.00,A,5200.87781,N,00422.43580,E,48.863,144.08,120308,,,A*51
+$GPRMC,141323.00,A,5200.86689,N,00422.44869,E,48.663,144.31,120308,,,A*51
+$GPRMC,141324.00,A,5200.85605,N,00422.46159,E,48.537,144.19,120308,,,A*51
+$GPRMC,141325.00,A,5200.84510,N,00422.47434,E,48.552,144.25,120308,,,A*55
+$GPRMC,141326.00,A,5200.83415,N,00422.48706,E,48.508,144.24,120308,,,A*56
+$GPRMC,141327.00,A,5200.82318,N,00422.49972,E,48.359,144.41,120308,,,A*51
+$GPRMC,141328.00,A,5200.81226,N,00422.51231,E,48.198,144.38,120308,,,A*55
+$GPRMC,141329.00,A,5200.80153,N,00422.52501,E,48.000,144.28,120308,,,A*52
+$GPRMC,141330.00,A,5200.79079,N,00422.53766,E,47.870,144.38,120308,,,A*56
+$GPRMC,141331.00,A,5200.78010,N,00422.55027,E,47.664,144.40,120308,,,A*59
+$GPRMC,141332.00,A,5200.76934,N,00422.56273,E,47.511,144.39,120308,,,A*54
+$GPRMC,141333.00,A,5200.75863,N,00422.57514,E,47.347,144.26,120308,,,A*59
+$GPRMC,141334.00,A,5200.74808,N,00422.58758,E,47.391,144.07,120308,,,A*5F
+$GPRMC,141335.00,A,5200.73745,N,00422.60017,E,47.669,143.90,120308,,,A*53
+$GPRMC,141336.00,A,5200.72674,N,00422.61287,E,48.029,143.78,120308,,,A*53
+$GPRMC,141337.00,A,5200.71594,N,00422.62564,E,48.369,143.91,120308,,,A*55
+$GPRMC,141338.00,A,5200.70506,N,00422.63844,E,48.623,144.25,120308,,,A*5D
+$GPRMC,141339.00,A,5200.69408,N,00422.65121,E,48.966,144.56,120308,,,A*5D
+$GPRMC,141340.00,A,5200.68299,N,00422.66404,E,49.369,144.54,120308,,,A*5B
+$GPRMC,141341.00,A,5200.67181,N,00422.67706,E,49.850,144.32,120308,,,A*5E
+$GPRMC,141342.00,A,5200.66053,N,00422.69020,E,50.214,144.36,120308,,,A*59
+$GPRMC,141343.00,A,5200.64919,N,00422.70340,E,50.305,144.38,120308,,,A*5F
+$GPRMC,141344.00,A,5200.63789,N,00422.71658,E,50.086,144.37,120308,,,A*52
+$GPRMC,141345.00,A,5200.62666,N,00422.72971,E,49.824,144.27,120308,,,A*5C
+$GPRMC,141346.00,A,5200.61552,N,00422.74281,E,49.370,143.93,120308,,,A*58
+$GPRMC,141347.00,A,5200.60451,N,00422.75578,E,48.833,144.13,120308,,,A*58
+$GPRMC,141348.00,A,5200.59357,N,00422.76855,E,48.447,144.33,120308,,,A*50
+$GPRMC,141349.00,A,5200.58267,N,00422.78116,E,48.161,144.47,120308,,,A*50
+$GPRMC,141350.00,A,5200.57183,N,00422.79369,E,47.923,144.49,120308,,,A*5A
+$GPRMC,141351.00,A,5200.56105,N,00422.80615,E,47.600,144.55,120308,,,A*5F
+$GPRMC,141352.00,A,5200.55030,N,00422.81856,E,47.524,144.50,120308,,,A*50
+$GPRMC,141353.00,A,5200.53955,N,00422.83100,E,47.787,144.50,120308,,,A*5E
+$GPRMC,141354.00,A,5200.52879,N,00422.84349,E,47.689,144.40,120308,,,A*51
+$GPRMC,141355.00,A,5200.51806,N,00422.85596,E,47.589,144.38,120308,,,A*52
+$GPRMC,141356.00,A,5200.50736,N,00422.86845,E,47.592,144.33,120308,,,A*5D
+$GPRMC,141357.00,A,5200.49666,N,00422.88095,E,47.573,144.22,120308,,,A*54
+$GPRMC,141358.00,A,5200.48599,N,00422.89353,E,47.690,143.91,120308,,,A*50
+$GPRMC,141359.00,A,5200.47526,N,00422.90619,E,48.055,144.07,120308,,,A*51
+$GPRMC,141400.00,A,5200.46442,N,00422.91894,E,48.498,144.13,120308,,,A*52
+$GPRMC,141401.00,A,5200.45351,N,00422.93174,E,48.556,144.29,120308,,,A*5A
+$GPRMC,141402.00,A,5200.44258,N,00422.94445,E,48.328,144.45,120308,,,A*55
+$GPRMC,141403.00,A,5200.43173,N,00422.95706,E,47.998,144.46,120308,,,A*51
+$GPRMC,141404.00,A,5200.42098,N,00422.96957,E,47.558,144.28,120308,,,A*52
+$GPRMC,141405.00,A,5200.41030,N,00422.98203,E,47.212,144.22,120308,,,A*55
+$GPRMC,141406.00,A,5200.39985,N,00422.99442,E,46.563,144.39,120308,,,A*56
+$GPRMC,141407.00,A,5200.38933,N,00423.00653,E,46.419,144.50,120308,,,A*5B
+$GPRMC,141408.00,A,5200.37879,N,00423.01856,E,46.448,144.73,120308,,,A*5B
+$GPRMC,141409.00,A,5200.36819,N,00423.03058,E,47.087,145.64,120308,,,A*58
+$GPRMC,141410.00,A,5200.35727,N,00423.04244,E,47.783,146.89,120308,,,A*5A
+$GPRMC,141411.00,A,5200.34606,N,00423.05412,E,48.345,147.76,120308,,,A*5C
+$GPRMC,141412.00,A,5200.33455,N,00423.06555,E,48.772,149.05,120308,,,A*57
+$GPRMC,141413.00,A,5200.32276,N,00423.07659,E,49.194,150.64,120308,,,A*5E
+$GPRMC,141414.00,A,5200.31068,N,00423.08724,E,49.662,151.85,120308,,,A*53
+$GPRMC,141415.00,A,5200.29831,N,00423.09747,E,50.137,153.33,120308,,,A*5B
+$GPRMC,141416.00,A,5200.28567,N,00423.10736,E,50.657,154.63,120308,,,A*5A
+$GPRMC,141417.00,A,5200.27278,N,00423.11688,E,51.184,156.19,120308,,,A*5F
+$GPRMC,141418.00,A,5200.25958,N,00423.12586,E,51.676,157.69,120308,,,A*59
+$GPRMC,141419.00,A,5200.24601,N,00423.13426,E,52.046,159.07,120308,,,A*50
+$GPRMC,141420.00,A,5200.23226,N,00423.14205,E,52.122,160.99,120308,,,A*52
+$GPRMC,141421.00,A,5200.21832,N,00423.14918,E,52.221,162.70,120308,,,A*5C
+$GPRMC,141422.00,A,5200.20429,N,00423.15573,E,52.341,164.15,120308,,,A*5A
+$GPRMC,141423.00,A,5200.19026,N,00423.16189,E,52.207,164.85,120308,,,A*52
+$GPRMC,141424.00,A,5200.17619,N,00423.16786,E,52.100,165.22,120308,,,A*50
+$GPRMC,141425.00,A,5200.16225,N,00423.17375,E,51.876,165.28,120308,,,A*53
+$GPRMC,141426.00,A,5200.14847,N,00423.17959,E,51.004,165.31,120308,,,A*5D
+$GPRMC,141427.00,A,5200.13490,N,00423.18541,E,50.591,165.19,120308,,,A*55
+$GPRMC,141428.00,A,5200.12149,N,00423.19107,E,49.810,165.33,120308,,,A*59
+$GPRMC,141429.00,A,5200.10803,N,00423.19666,E,49.362,165.46,120308,,,A*51
+$GPRMC,141430.00,A,5200.09455,N,00423.20232,E,49.493,165.32,120308,,,A*5B
+$GPRMC,141431.00,A,5200.08121,N,00423.20794,E,49.111,165.19,120308,,,A*52
+$GPRMC,141432.00,A,5200.06806,N,00423.21354,E,48.845,164.94,120308,,,A*57
+$GPRMC,141433.00,A,5200.05500,N,00423.21914,E,48.800,165.08,120308,,,A*55
+$GPRMC,141434.00,A,5200.04189,N,00423.22472,E,48.915,165.37,120308,,,A*51
+$GPRMC,141435.00,A,5200.02878,N,00423.23021,E,48.866,165.43,120308,,,A*54
+$GPRMC,141436.00,A,5200.01578,N,00423.23563,E,48.667,165.21,120308,,,A*51
+$GPRMC,141437.00,A,5200.00284,N,00423.24108,E,48.248,165.07,120308,,,A*56
+$GPRMC,141438.00,A,5159.99005,N,00423.24651,E,47.460,165.18,120308,,,A*5B
+$GPRMC,141439.00,A,5159.97749,N,00423.25184,E,46.544,165.16,120308,,,A*5D
+$GPRMC,141440.00,A,5159.96515,N,00423.25708,E,45.625,165.21,120308,,,A*58
+$GPRMC,141441.00,A,5159.95306,N,00423.26223,E,44.774,165.26,120308,,,A*52
+$GPRMC,141442.00,A,5159.94120,N,00423.26727,E,43.799,165.33,120308,,,A*57
+$GPRMC,141443.00,A,5159.92956,N,00423.27227,E,43.100,164.91,120308,,,A*52
+$GPRMC,141444.00,A,5159.91821,N,00423.27717,E,42.219,164.96,120308,,,A*5C
+$GPRMC,141445.00,A,5159.90709,N,00423.28196,E,41.580,164.93,120308,,,A*58
+$GPRMC,141446.00,A,5159.89612,N,00423.28667,E,40.773,165.11,120308,,,A*55
+$GPRMC,141447.00,A,5159.88539,N,00423.29120,E,39.989,165.34,120308,,,A*58
+$GPRMC,141448.00,A,5159.87483,N,00423.29559,E,39.247,165.53,120308,,,A*5A
+$GPRMC,141449.00,A,5159.86449,N,00423.29984,E,38.454,165.64,120308,,,A*51
+$GPRMC,141450.00,A,5159.85431,N,00423.30405,E,37.495,165.50,120308,,,A*5C
+$GPRMC,141451.00,A,5159.84462,N,00423.30809,E,35.305,165.34,120308,,,A*54
+$GPRMC,141452.00,A,5159.83552,N,00423.31197,E,33.016,164.98,120308,,,A*5D
+$GPRMC,141453.00,A,5159.82718,N,00423.31558,E,29.557,164.98,120308,,,A*5D
+$GPRMC,141454.00,A,5159.81965,N,00423.31888,E,27.503,165.99,120308,,,A*52
+$GPRMC,141455.00,A,5159.81270,N,00423.32174,E,25.139,164.94,120308,,,A*56
+$GPRMC,141456.00,A,5159.80621,N,00423.32421,E,23.208,164.98,120308,,,A*5A
+$GPRMC,141457.00,A,5159.80028,N,00423.32673,E,21.859,164.90,120308,,,A*55
+$GPRMC,141458.00,A,5159.79461,N,00423.32908,E,21.103,165.32,120308,,,A*59
+$GPRMC,141459.00,A,5159.78930,N,00423.33117,E,19.636,165.14,120308,,,A*59
+$GPRMC,141500.00,A,5159.78465,N,00423.33309,E,16.526,165.18,120308,,,A*55
+$GPRMC,141501.00,A,5159.78105,N,00423.33460,E,12.296,165.12,120308,,,A*5D
+$GPRMC,141502.00,A,5159.77862,N,00423.33560,E,7.836,165.16,120308,,,A*68
+$GPRMC,141503.00,A,5159.77718,N,00423.33615,E,5.193,164.84,120308,,,A*64
+$GPRMC,141504.00,A,5159.77615,N,00423.33673,E,4.773,164.97,120308,,,A*64
+$GPRMC,141505.00,A,5159.77511,N,00423.33720,E,4.934,164.69,120308,,,A*69
+$GPRMC,141506.00,A,5159.77412,N,00423.33770,E,4.431,165.37,120308,,,A*6F
+$GPRMC,141507.00,A,5159.77324,N,00423.33815,E,3.420,165.17,120308,,,A*65
+$GPRMC,141508.00,A,5159.77268,N,00423.33841,E,1.964,164.50,120308,,,A*6F
+$GPRMC,141509.00,A,5159.77244,N,00423.33864,E,1.348,164.53,120308,,,A*60
+$GPRMC,141510.00,A,5159.77220,N,00423.33880,E,1.540,164.46,120308,,,A*6A
+$GPRMC,141511.00,A,5159.77181,N,00423.33898,E,2.232,165.10,120308,,,A*69
+$GPRMC,141512.00,A,5159.77108,N,00423.33920,E,3.773,164.88,120308,,,A*68
+$GPRMC,141513.00,A,5159.76995,N,00423.33963,E,5.635,165.12,120308,,,A*64
+$GPRMC,141514.00,A,5159.76852,N,00423.34023,E,6.550,164.88,120308,,,A*62
+$GPRMC,141515.00,A,5159.76707,N,00423.34079,E,5.437,165.05,120308,,,A*64
+$GPRMC,141516.00,A,5159.76596,N,00423.34130,E,3.529,164.94,120308,,,A*60
+$GPRMC,141517.00,A,5159.76528,N,00423.34165,E,2.340,164.76,120308,,,A*60
+$GPRMC,141518.00,A,5159.76479,N,00423.34191,E,2.177,164.74,120308,,,A*65
+$GPRMC,141519.00,A,5159.76425,N,00423.34218,E,1.993,165.18,120308,,,A*65
+$GPRMC,141520.00,A,5159.76372,N,00423.34247,E,1.795,165.12,120308,,,A*62
+$GPRMC,141521.00,A,5159.76334,N,00423.34269,E,1.596,165.16,120308,,,A*68
+$GPRMC,141522.00,A,5159.76285,N,00423.34296,E,1.163,165.39,120308,,,A*63
+$GPRMC,141523.00,A,5159.76251,N,00423.34311,E,1.215,165.34,120308,,,A*6A
+$GPRMC,141524.00,A,5159.76232,N,00423.34320,E,1.021,165.27,120308,,,A*6D
+$GPRMC,141525.00,A,5159.76212,N,00423.34325,E,0.917,165.29,120308,,,A*68
+$GPRMC,141526.00,A,5159.76185,N,00423.34336,E,1.061,165.31,120308,,,A*64
+$GPRMC,141527.00,A,5159.76143,N,00423.34361,E,1.458,165.31,120308,,,A*63
+$GPRMC,141528.00,A,5159.76108,N,00423.34377,E,1.950,163.65,120308,,,A*66
+$GPRMC,141529.00,A,5159.76054,N,00423.34402,E,2.525,164.54,120308,,,A*62
+$GPRMC,141530.00,A,5159.75990,N,00423.34431,E,2.906,164.85,120308,,,A*69
+$GPRMC,141531.00,A,5159.75909,N,00423.34468,E,3.234,164.80,120308,,,A*6A
+$GPRMC,141532.00,A,5159.75821,N,00423.34506,E,3.536,164.80,120308,,,A*6E
+$GPRMC,141533.00,A,5159.75722,N,00423.34549,E,4.046,164.04,120308,,,A*61
+$GPRMC,141534.00,A,5159.75612,N,00423.34595,E,4.272,164.51,120308,,,A*60
+$GPRMC,141535.00,A,5159.75491,N,00423.34650,E,4.423,164.50,120308,,,A*61
+$GPRMC,141536.00,A,5159.75377,N,00423.34701,E,4.119,166.51,120308,,,A*67
+$GPRMC,141537.00,A,5159.75257,N,00423.34763,E,4.210,164.31,120308,,,A*6F
+$GPRMC,141538.00,A,5159.75151,N,00423.34811,E,3.828,164.39,120308,,,A*61
+$GPRMC,141539.00,A,5159.75049,N,00423.34865,E,3.539,164.29,120308,,,A*67
+$GPRMC,141540.00,A,5159.74966,N,00423.34904,E,3.096,164.54,120308,,,A*60
+$GPRMC,141541.00,A,5159.74893,N,00423.34938,E,2.842,164.82,120308,,,A*6E
+$GPRMC,141542.00,A,5159.74818,N,00423.34975,E,3.024,163.36,120308,,,A*66
+$GPRMC,141543.00,A,5159.74740,N,00423.35010,E,3.100,163.89,120308,,,A*6D
+$GPRMC,141544.00,A,5159.74659,N,00423.35045,E,3.386,163.55,120308,,,A*6E
+$GPRMC,141545.00,A,5159.74573,N,00423.35076,E,3.667,164.68,120308,,,A*67
+$GPRMC,141546.00,A,5159.74478,N,00423.35112,E,3.939,165.54,120308,,,A*67
+$GPRMC,141547.00,A,5159.74375,N,00423.35151,E,4.330,165.30,120308,,,A*6D
+$GPRMC,141548.00,A,5159.74257,N,00423.35198,E,4.663,165.82,120308,,,A*6C
+$GPRMC,141549.00,A,5159.74130,N,00423.35244,E,4.895,165.62,120308,,,A*64
+$GPRMC,141550.00,A,5159.74003,N,00423.35286,E,4.795,171.00,120308,,,A*6D
+$GPRMC,141551.00,A,5159.73880,N,00423.35353,E,4.693,159.62,120308,,,A*68
+$GPRMC,141552.00,A,5159.73764,N,00423.35399,E,4.252,165.41,120308,,,A*6F
+$GPRMC,141553.00,A,5159.73662,N,00423.35437,E,4.045,162.22,120308,,,A*6C
+$GPRMC,141554.00,A,5159.73560,N,00423.35416,E,4.152,180.74,120308,,,A*61
+$GPRMC,141555.00,A,5159.73463,N,00423.35407,E,3.640,177.09,120308,,,A*63
+$GPRMC,141556.00,A,5159.73380,N,00423.35422,E,3.149,173.84,120308,,,A*62
+$GPRMC,141557.00,A,5159.73311,N,00423.35482,E,2.764,169.30,120308,,,A*6D
+$GPRMC,141558.00,A,5159.73218,N,00423.35477,E,3.106,158.83,120308,,,A*69
+$GPRMC,141559.00,A,5159.73154,N,00423.35494,E,1.806,159.44,120308,,,A*6F
+$GPRMC,141600.00,A,5159.73097,N,00423.35485,E,1.586,159.84,120308,,,A*67
+$GPRMC,141601.00,A,5159.73068,N,00423.35505,E,1.215,160.06,120308,,,A*62
+$GPRMC,141602.00,A,5159.73051,N,00423.35552,E,1.168,160.28,120308,,,A*6C
+$GPRMC,141603.00,A,5159.73020,N,00423.35575,E,1.599,160.58,120308,,,A*63
+$GPRMC,141604.00,A,5159.72990,N,00423.35632,E,1.939,160.90,120308,,,A*65
+$GPRMC,141605.00,A,5159.72950,N,00423.35678,E,1.794,161.39,120308,,,A*6D
+$GPRMC,141606.00,A,5159.72899,N,00423.35721,E,2.548,167.06,120308,,,A*6D
+$GPRMC,141607.00,A,5159.72823,N,00423.35763,E,3.083,165.44,120308,,,A*6C
+$GPRMC,141608.00,A,5159.72724,N,00423.35827,E,3.226,165.63,120308,,,A*6C
+$GPRMC,141609.00,A,5159.72628,N,00423.35881,E,3.208,164.30,120308,,,A*67
+$GPRMC,141610.00,A,5159.72547,N,00423.35920,E,3.038,164.39,120308,,,A*67
+$GPRMC,141611.00,A,5159.72472,N,00423.35957,E,2.979,165.34,120308,,,A*60
+$GPRMC,141612.00,A,5159.72410,N,00423.35998,E,3.158,165.07,120308,,,A*6E
+$GPRMC,141613.00,A,5159.72326,N,00423.36040,E,3.985,165.21,120308,,,A*6E
+$GPRMC,141614.00,A,5159.72214,N,00423.36095,E,5.479,165.00,120308,,,A*6A
+$GPRMC,141615.00,A,5159.72049,N,00423.36170,E,7.500,165.22,120308,,,A*66
+$GPRMC,141616.00,A,5159.71811,N,00423.36269,E,9.729,165.25,120308,,,A*68
+$GPRMC,141617.00,A,5159.71530,N,00423.36385,E,11.407,165.29,120308,,,A*5E
+$GPRMC,141618.00,A,5159.71214,N,00423.36516,E,11.559,165.39,120308,,,A*57
+$GPRMC,141619.00,A,5159.70899,N,00423.36642,E,12.176,165.38,120308,,,A*51
+$GPRMC,141620.00,A,5159.70556,N,00423.36781,E,13.411,165.49,120308,,,A*58
+$GPRMC,141621.00,A,5159.70182,N,00423.36934,E,14.566,165.31,120308,,,A*5D
+$GPRMC,141622.00,A,5159.69777,N,00423.37098,E,15.600,165.36,120308,,,A*51
+$GPRMC,141623.00,A,5159.69348,N,00423.37269,E,16.700,165.39,120308,,,A*59
+$GPRMC,141624.00,A,5159.68876,N,00423.37469,E,18.125,164.72,120308,,,A*5E
+$GPRMC,141625.00,A,5159.68366,N,00423.37691,E,19.383,164.74,120308,,,A*59
+$GPRMC,141626.00,A,5159.67831,N,00423.37922,E,20.125,164.54,120308,,,A*5D
+$GPRMC,141627.00,A,5159.67274,N,00423.38161,E,20.612,164.98,120308,,,A*54
+$GPRMC,141628.00,A,5159.66700,N,00423.38402,E,21.565,165.05,120308,,,A*5B
+$GPRMC,141629.00,A,5159.66103,N,00423.38652,E,22.494,165.20,120308,,,A*53
+$GPRMC,141630.00,A,5159.65453,N,00423.38934,E,24.002,165.56,120308,,,A*5B
+$GPRMC,141631.00,A,5159.64786,N,00423.39199,E,25.319,165.49,120308,,,A*58
+$GPRMC,141632.00,A,5159.64098,N,00423.39477,E,25.529,165.42,120308,,,A*58
+$GPRMC,141633.00,A,5159.63378,N,00423.39781,E,27.063,165.30,120308,,,A*55
+$GPRMC,141634.00,A,5159.62613,N,00423.40108,E,28.766,164.97,120308,,,A*53
+$GPRMC,141635.00,A,5159.61812,N,00423.40459,E,29.877,165.00,120308,,,A*5E
+$GPRMC,141636.00,A,5159.60992,N,00423.40812,E,30.039,165.26,120308,,,A*58
+$GPRMC,141637.00,A,5159.60179,N,00423.41151,E,30.101,165.45,120308,,,A*54
+$GPRMC,141638.00,A,5159.59367,N,00423.41491,E,29.985,165.29,120308,,,A*53
+$GPRMC,141639.00,A,5159.58550,N,00423.41843,E,30.128,164.99,120308,,,A*5F
+$GPRMC,141640.00,A,5159.57733,N,00423.42200,E,30.355,164.65,120308,,,A*5C
+$GPRMC,141641.00,A,5159.56908,N,00423.42565,E,30.600,164.72,120308,,,A*5D
+$GPRMC,141642.00,A,5159.56076,N,00423.42930,E,30.923,164.83,120308,,,A*52
+$GPRMC,141643.00,A,5159.55242,N,00423.43290,E,31.312,164.89,120308,,,A*56
+$GPRMC,141644.00,A,5159.54387,N,00423.43661,E,31.510,165.33,120308,,,A*56
+$GPRMC,141645.00,A,5159.53536,N,00423.44013,E,31.731,165.63,120308,,,A*5C
+$GPRMC,141646.00,A,5159.52654,N,00423.44388,E,32.198,165.64,120308,,,A*59
+$GPRMC,141647.00,A,5159.51778,N,00423.44753,E,32.624,165.32,120308,,,A*55
+$GPRMC,141648.00,A,5159.50895,N,00423.45131,E,32.953,165.04,120308,,,A*5E
+$GPRMC,141649.00,A,5159.50001,N,00423.45515,E,33.267,165.14,120308,,,A*54
+$GPRMC,141650.00,A,5159.49098,N,00423.45901,E,33.758,165.22,120308,,,A*51
+$GPRMC,141651.00,A,5159.48178,N,00423.46295,E,34.133,165.31,120308,,,A*55
+$GPRMC,141652.00,A,5159.47249,N,00423.46691,E,34.328,165.39,120308,,,A*58
+$GPRMC,141653.00,A,5159.46323,N,00423.47084,E,34.024,165.38,120308,,,A*58
+$GPRMC,141654.00,A,5159.45412,N,00423.47470,E,33.395,165.34,120308,,,A*54
+$GPRMC,141655.00,A,5159.44518,N,00423.47849,E,32.939,165.17,120308,,,A*55
+$GPRMC,141656.00,A,5159.43637,N,00423.48231,E,32.418,165.03,120308,,,A*5E
+$GPRMC,141657.00,A,5159.42775,N,00423.48606,E,31.867,164.91,120308,,,A*54
+$GPRMC,141658.00,A,5159.41929,N,00423.48970,E,31.287,165.09,120308,,,A*55
+$GPRMC,141659.00,A,5159.41096,N,00423.49324,E,30.869,165.27,120308,,,A*54
+$GPRMC,141700.00,A,5159.40267,N,00423.49673,E,30.638,165.58,120308,,,A*51
+$GPRMC,141701.00,A,5159.39436,N,00423.50022,E,30.648,165.71,120308,,,A*5A
+$GPRMC,141702.00,A,5159.38610,N,00423.50362,E,30.963,165.48,120308,,,A*55
+$GPRMC,141703.00,A,5159.37773,N,00423.50717,E,31.433,165.16,120308,,,A*5B
+$GPRMC,141704.00,A,5159.36930,N,00423.51087,E,31.317,164.50,120308,,,A*59
+$GPRMC,141705.00,A,5159.36066,N,00423.51467,E,32.011,164.92,120308,,,A*50
+$GPRMC,141706.00,A,5159.35201,N,00423.51840,E,31.808,165.03,120308,,,A*50
+$GPRMC,141707.00,A,5159.34345,N,00423.52205,E,31.817,165.10,120308,,,A*55
+$GPRMC,141708.00,A,5159.33499,N,00423.52563,E,31.911,165.17,120308,,,A*5C
+$GPRMC,141709.00,A,5159.32644,N,00423.52929,E,32.137,165.21,120308,,,A*56
+$GPRMC,141710.00,A,5159.31774,N,00423.53302,E,32.412,165.17,120308,,,A*5A
+$GPRMC,141711.00,A,5159.30901,N,00423.53674,E,32.492,165.37,120308,,,A*58
+$GPRMC,141712.00,A,5159.30018,N,00423.54060,E,32.497,165.07,120308,,,A*58
+$GPRMC,141713.00,A,5159.29144,N,00423.54439,E,32.531,165.01,120308,,,A*5A
+$GPRMC,141714.00,A,5159.28272,N,00423.54814,E,32.678,164.96,120308,,,A*58
+$GPRMC,141715.00,A,5159.27396,N,00423.55191,E,32.791,165.00,120308,,,A*50
+$GPRMC,141716.00,A,5159.26518,N,00423.55567,E,32.841,165.02,120308,,,A*5F
+$GPRMC,141717.00,A,5159.25637,N,00423.55940,E,32.930,165.17,120308,,,A*59
+$GPRMC,141718.00,A,5159.24753,N,00423.56310,E,33.024,165.43,120308,,,A*54
+$GPRMC,141719.00,A,5159.23865,N,00423.56676,E,32.789,165.63,120308,,,A*5E
+$GPRMC,141720.00,A,5159.22985,N,00423.57036,E,32.562,165.43,120308,,,A*5C
+$GPRMC,141721.00,A,5159.22113,N,00423.57401,E,32.161,165.30,120308,,,A*59
+$GPRMC,141722.00,A,5159.21249,N,00423.57765,E,32.071,165.31,120308,,,A*55
+$GPRMC,141723.00,A,5159.20392,N,00423.58124,E,31.714,165.41,120308,,,A*5E
+$GPRMC,141724.00,A,5159.19538,N,00423.58485,E,31.535,165.28,120308,,,A*55
+$GPRMC,141725.00,A,5159.18695,N,00423.58844,E,31.181,165.19,120308,,,A*59
+$GPRMC,141726.00,A,5159.17864,N,00423.59201,E,30.953,164.95,120308,,,A*5C
+$GPRMC,141727.00,A,5159.17041,N,00423.59558,E,30.764,165.09,120308,,,A*57
+$GPRMC,141728.00,A,5159.16221,N,00423.59916,E,30.565,164.83,120308,,,A*5B
+$GPRMC,141729.00,A,5159.15410,N,00423.60275,E,29.956,164.83,120308,,,A*5D
+$GPRMC,141730.00,A,5159.14618,N,00423.60626,E,29.190,164.73,120308,,,A*51
+$GPRMC,141731.00,A,5159.13840,N,00423.60969,E,28.916,164.96,120308,,,A*5C
+$GPRMC,141732.00,A,5159.13059,N,00423.61304,E,29.355,165.36,120308,,,A*58
+$GPRMC,141733.00,A,5159.12259,N,00423.61641,E,30.083,165.37,120308,,,A*5F
+$GPRMC,141734.00,A,5159.11444,N,00423.61983,E,30.489,165.41,120308,,,A*5F
+$GPRMC,141735.00,A,5159.10620,N,00423.62331,E,30.793,165.35,120308,,,A*54
+$GPRMC,141736.00,A,5159.09780,N,00423.62689,E,31.604,165.12,120308,,,A*59
+$GPRMC,141737.00,A,5159.08919,N,00423.63058,E,32.392,165.20,120308,,,A*54
+$GPRMC,141738.00,A,5159.08033,N,00423.63436,E,33.373,165.18,120308,,,A*53
+$GPRMC,141739.00,A,5159.07123,N,00423.63824,E,34.171,165.18,120308,,,A*55
+$GPRMC,141740.00,A,5159.06196,N,00423.64221,E,34.683,165.14,120308,,,A*5A
+$GPRMC,141741.00,A,5159.05254,N,00423.64621,E,35.170,165.37,120308,,,A*5A
+$GPRMC,141742.00,A,5159.04299,N,00423.65022,E,35.673,165.42,120308,,,A*5B
+$GPRMC,141743.00,A,5159.03332,N,00423.65428,E,36.178,165.37,120308,,,A*5E
+$GPRMC,141744.00,A,5159.02353,N,00423.65837,E,36.639,165.51,120308,,,A*5F
+$GPRMC,141745.00,A,5159.01362,N,00423.66249,E,36.923,165.59,120308,,,A*53
+$GPRMC,141746.00,A,5159.00370,N,00423.66662,E,36.838,165.66,120308,,,A*58
+$GPRMC,141747.00,A,5158.99380,N,00423.67076,E,36.900,165.20,120308,,,A*5D
+$GPRMC,141748.00,A,5158.98394,N,00423.67483,E,36.511,166.08,120308,,,A*5D
+$GPRMC,141749.00,A,5158.97406,N,00423.67899,E,36.791,165.23,120308,,,A*58
+$GPRMC,141750.00,A,5158.96396,N,00423.68341,E,37.468,165.11,120308,,,A*5B
+$GPRMC,141751.00,A,5158.95388,N,00423.68764,E,38.027,165.37,120308,,,A*51
+$GPRMC,141752.00,A,5158.94360,N,00423.69191,E,38.485,165.58,120308,,,A*5D
+$GPRMC,141753.00,A,5158.93302,N,00423.69637,E,39.187,165.51,120308,,,A*5B
+$GPRMC,141754.00,A,5158.92201,N,00423.70127,E,39.886,165.06,120308,,,A*5B
+$GPRMC,141755.00,A,5158.91106,N,00423.70612,E,40.204,164.96,120308,,,A*5A
+$GPRMC,141756.00,A,5158.90035,N,00423.71068,E,39.951,165.29,120308,,,A*53
+$GPRMC,141757.00,A,5158.88949,N,00423.71517,E,40.474,165.54,120308,,,A*5A
+$GPRMC,141758.00,A,5158.87861,N,00423.71957,E,40.729,165.75,120308,,,A*51
+$GPRMC,141759.00,A,5158.86790,N,00423.72377,E,40.425,165.76,120308,,,A*57
+$GPRMC,141800.00,A,5158.85716,N,00423.72800,E,40.816,166.24,120308,,,A*5A
+$GPRMC,141801.00,A,5158.84606,N,00423.73247,E,40.468,166.58,120308,,,A*5C
+$GPRMC,141802.00,A,5158.83513,N,00423.73684,E,39.874,166.40,120308,,,A*52
+$GPRMC,141803.00,A,5158.82435,N,00423.74116,E,39.449,166.19,120308,,,A*52
+$GPRMC,141804.00,A,5158.81369,N,00423.74546,E,39.244,166.19,120308,,,A*52
+$GPRMC,141805.00,A,5158.80316,N,00423.74975,E,38.817,165.99,120308,,,A*50
+$GPRMC,141806.00,A,5158.79265,N,00423.75413,E,38.592,165.85,120308,,,A*51
+$GPRMC,141807.00,A,5158.78207,N,00423.75872,E,38.365,165.58,120308,,,A*50
+$GPRMC,141808.00,A,5158.77174,N,00423.76315,E,38.235,165.48,120308,,,A*5B
+$GPRMC,141809.00,A,5158.76138,N,00423.76756,E,38.307,165.38,120308,,,A*57
+$GPRMC,141810.00,A,5158.75102,N,00423.77200,E,38.279,165.29,120308,,,A*5A
+$GPRMC,141811.00,A,5158.74067,N,00423.77646,E,38.218,165.30,120308,,,A*51
+$GPRMC,141812.00,A,5158.73037,N,00423.78089,E,37.996,165.25,120308,,,A*5C
+$GPRMC,141813.00,A,5158.72013,N,00423.78526,E,37.885,165.43,120308,,,A*59
+$GPRMC,141814.00,A,5158.70994,N,00423.78955,E,37.763,165.68,120308,,,A*5C
+$GPRMC,141815.00,A,5158.69979,N,00423.79381,E,37.683,165.48,120308,,,A*59
+$GPRMC,141816.00,A,5158.68965,N,00423.79809,E,37.713,165.48,120308,,,A*55
+$GPRMC,141817.00,A,5158.67949,N,00423.80236,E,37.723,165.48,120308,,,A*56
+$GPRMC,141818.00,A,5158.66939,N,00423.80661,E,37.670,165.46,120308,,,A*50
+$GPRMC,141819.00,A,5158.65927,N,00423.81089,E,37.815,165.31,120308,,,A*51
+$GPRMC,141820.00,A,5158.64910,N,00423.81520,E,37.979,165.07,120308,,,A*56
+$GPRMC,141821.00,A,5158.63890,N,00423.81962,E,38.095,164.82,120308,,,A*5B
+$GPRMC,141822.00,A,5158.62865,N,00423.82415,E,38.062,164.58,120308,,,A*52
+$GPRMC,141823.00,A,5158.61839,N,00423.82876,E,38.111,164.81,120308,,,A*51
+$GPRMC,141824.00,A,5158.60816,N,00423.83317,E,38.077,165.29,120308,,,A*55
+$GPRMC,141825.00,A,5158.59791,N,00423.83750,E,38.099,165.66,120308,,,A*52
+$GPRMC,141826.00,A,5158.58762,N,00423.84176,E,38.203,165.71,120308,,,A*5E
+$GPRMC,141827.00,A,5158.57729,N,00423.84606,E,38.276,165.62,120308,,,A*5F
+$GPRMC,141828.00,A,5158.56694,N,00423.85039,E,38.346,165.37,120308,,,A*5F
+$GPRMC,141829.00,A,5158.55661,N,00423.85477,E,38.367,165.16,120308,,,A*59
+$GPRMC,141830.00,A,5158.54629,N,00423.85924,E,38.354,164.87,120308,,,A*5E
+$GPRMC,141831.00,A,5158.53596,N,00423.86375,E,38.625,165.03,120308,,,A*5C
+$GPRMC,141832.00,A,5158.52555,N,00423.86826,E,38.916,165.14,120308,,,A*55
+$GPRMC,141833.00,A,5158.51505,N,00423.87275,E,39.087,165.37,120308,,,A*5E
+$GPRMC,141834.00,A,5158.50453,N,00423.87722,E,39.194,165.38,120308,,,A*51
+$GPRMC,141835.00,A,5158.49398,N,00423.88173,E,39.350,165.06,120308,,,A*52
+$GPRMC,141836.00,A,5158.48339,N,00423.88626,E,39.462,165.27,120308,,,A*59
+$GPRMC,141837.00,A,5158.47277,N,00423.89076,E,39.559,165.37,120308,,,A*56
+$GPRMC,141838.00,A,5158.46211,N,00423.89529,E,39.782,165.18,120308,,,A*5E
+$GPRMC,141839.00,A,5158.45141,N,00423.89988,E,39.871,165.08,120308,,,A*5F
+$GPRMC,141840.00,A,5158.44069,N,00423.90453,E,39.949,164.98,120308,,,A*5A
+$GPRMC,141841.00,A,5158.42995,N,00423.90915,E,40.102,165.26,120308,,,A*55
+$GPRMC,141842.00,A,5158.41916,N,00423.91376,E,40.190,165.20,120308,,,A*5D
+$GPRMC,141843.00,A,5158.40838,N,00423.91839,E,40.096,165.06,120308,,,A*53
+$GPRMC,141844.00,A,5158.39766,N,00423.92306,E,40.002,165.10,120308,,,A*50
+$GPRMC,141845.00,A,5158.38698,N,00423.92768,E,39.861,165.27,120308,,,A*5B
+$GPRMC,141846.00,A,5158.37630,N,00423.93221,E,39.746,165.42,120308,,,A*55
+$GPRMC,141847.00,A,5158.36562,N,00423.93673,E,39.711,165.20,120308,,,A*54
+$GPRMC,141848.00,A,5158.35495,N,00423.94129,E,39.712,165.20,120308,,,A*5D
+$GPRMC,141849.00,A,5158.34428,N,00423.94581,E,39.780,165.24,120308,,,A*52
+$GPRMC,141850.00,A,5158.33362,N,00423.95037,E,39.863,165.30,120308,,,A*5A
+$GPRMC,141851.00,A,5158.32292,N,00423.95494,E,39.986,165.23,120308,,,A*51
+$GPRMC,141852.00,A,5158.31220,N,00423.95959,E,40.047,164.77,120308,,,A*5E
+$GPRMC,141853.00,A,5158.30149,N,00423.96443,E,40.138,164.12,120308,,,A*5D
+$GPRMC,141854.00,A,5158.29079,N,00423.96952,E,40.204,163.10,120308,,,A*54
+$GPRMC,141855.00,A,5158.28015,N,00423.97498,E,40.199,161.88,120308,,,A*50
+$GPRMC,141856.00,A,5158.26959,N,00423.98078,E,40.066,160.65,120308,,,A*5A
+$GPRMC,141857.00,A,5158.25910,N,00423.98695,E,39.904,159.58,120308,,,A*57
+$GPRMC,141858.00,A,5158.24874,N,00423.99340,E,39.782,158.69,120308,,,A*55
+$GPRMC,141859.00,A,5158.23842,N,00424.00023,E,39.985,157.52,120308,,,A*59
+$GPRMC,141900.00,A,5158.22814,N,00424.00745,E,40.311,156.23,120308,,,A*5F
+$GPRMC,141901.00,A,5158.21787,N,00424.01509,E,40.590,155.09,120308,,,A*57
+$GPRMC,141902.00,A,5158.20766,N,00424.02303,E,40.796,154.16,120308,,,A*5E
+$GPRMC,141903.00,A,5158.19741,N,00424.03119,E,41.113,154.14,120308,,,A*50
+$GPRMC,141904.00,A,5158.18708,N,00424.03957,E,41.567,154.09,120308,,,A*52
+$GPRMC,141905.00,A,5158.17662,N,00424.04787,E,41.963,154.37,120308,,,A*50
+$GPRMC,141906.00,A,5158.16600,N,00424.05620,E,42.498,154.40,120308,,,A*51
+$GPRMC,141907.00,A,5158.15526,N,00424.06459,E,42.825,154.43,120308,,,A*52
+$GPRMC,141908.00,A,5158.14446,N,00424.07300,E,42.897,154.55,120308,,,A*5F
+$GPRMC,141909.00,A,5158.13370,N,00424.08138,E,42.674,154.44,120308,,,A*5E
+$GPRMC,141910.00,A,5158.12302,N,00424.08976,E,42.410,154.19,120308,,,A*58
+$GPRMC,141911.00,A,5158.11241,N,00424.09827,E,42.390,153.61,120308,,,A*5F
+$GPRMC,141912.00,A,5158.10181,N,00424.10676,E,42.333,154.00,120308,,,A*59
+$GPRMC,141913.00,A,5158.09118,N,00424.11515,E,42.631,154.09,120308,,,A*59
+$GPRMC,141914.00,A,5158.08049,N,00424.12348,E,42.586,154.31,120308,,,A*53
+$GPRMC,141915.00,A,5158.06979,N,00424.13178,E,42.588,154.39,120308,,,A*50
+$GPRMC,141916.00,A,5158.05917,N,00424.13993,E,42.181,154.51,120308,,,A*56
+$GPRMC,141917.00,A,5158.04851,N,00424.14813,E,42.260,154.44,120308,,,A*53
+$GPRMC,141918.00,A,5158.03794,N,00424.15624,E,41.988,154.37,120308,,,A*5C
+$GPRMC,141919.00,A,5158.02740,N,00424.16430,E,41.773,154.35,120308,,,A*59
+$GPRMC,141920.00,A,5158.01695,N,00424.17242,E,41.684,154.45,120308,,,A*55
+$GPRMC,141921.00,A,5158.00654,N,00424.18042,E,41.575,154.50,120308,,,A*5C
+$GPRMC,141922.00,A,5157.99633,N,00424.18821,E,41.350,154.36,120308,,,A*5D
+$GPRMC,141923.00,A,5157.98603,N,00424.19627,E,41.162,153.72,120308,,,A*53
+$GPRMC,141924.00,A,5157.97578,N,00424.20437,E,41.578,153.94,120308,,,A*5A
+$GPRMC,141925.00,A,5157.96551,N,00424.21241,E,41.728,153.84,120308,,,A*51
+$GPRMC,141926.00,A,5157.95507,N,00424.22039,E,41.988,154.94,120308,,,A*5E
+$GPRMC,141927.00,A,5157.94453,N,00424.22840,E,42.034,154.57,120308,,,A*5A
+$GPRMC,141928.00,A,5157.93412,N,00424.23643,E,41.984,154.21,120308,,,A*5B
+$GPRMC,141929.00,A,5157.92368,N,00424.24459,E,41.849,154.04,120308,,,A*58
+$GPRMC,141930.00,A,5157.91326,N,00424.25287,E,41.735,153.81,120308,,,A*53
+$GPRMC,141931.00,A,5157.90287,N,00424.26115,E,41.319,153.87,120308,,,A*5E
+$GPRMC,141932.00,A,5157.89259,N,00424.26934,E,40.663,153.98,120308,,,A*5A
+$GPRMC,141933.00,A,5157.88241,N,00424.27742,E,40.447,154.40,120308,,,A*5B
+$GPRMC,141934.00,A,5157.87223,N,00424.28541,E,40.561,154.43,120308,,,A*5F
+$GPRMC,141935.00,A,5157.86207,N,00424.29332,E,40.718,154.58,120308,,,A*5C
+$GPRMC,141936.00,A,5157.85183,N,00424.30129,E,40.601,154.41,120308,,,A*52
+$GPRMC,141937.00,A,5157.84158,N,00424.30936,E,41.155,154.17,120308,,,A*56
+$GPRMC,141938.00,A,5157.83120,N,00424.31749,E,41.208,154.33,120308,,,A*5B
+$GPRMC,141939.00,A,5157.82097,N,00424.32554,E,40.866,154.40,120308,,,A*5C
+$GPRMC,141940.00,A,5157.81082,N,00424.33352,E,40.903,154.30,120308,,,A*51
+$GPRMC,141941.00,A,5157.80061,N,00424.34103,E,40.158,157.22,120308,,,A*5B
+$GPRMC,141942.00,A,5157.79014,N,00424.34874,E,41.498,155.36,120308,,,A*5A
+$GPRMC,141943.00,A,5157.77961,N,00424.35704,E,42.268,154.34,120308,,,A*5E
+$GPRMC,141944.00,A,5157.76895,N,00424.36542,E,43.044,154.16,120308,,,A*5C
+$GPRMC,141945.00,A,5157.75811,N,00424.37380,E,43.402,154.25,120308,,,A*5D
+$GPRMC,141946.00,A,5157.74708,N,00424.38229,E,43.842,154.25,120308,,,A*5D
+$GPRMC,141947.00,A,5157.73611,N,00424.39070,E,43.770,154.33,120308,,,A*54
+$GPRMC,141948.00,A,5157.72505,N,00424.39908,E,43.884,154.55,120308,,,A*5E
+$GPRMC,141949.00,A,5157.71384,N,00424.40753,E,44.155,154.76,120308,,,A*5E
+$GPRMC,141950.00,A,5157.70258,N,00424.41589,E,44.298,154.90,120308,,,A*59
+$GPRMC,141951.00,A,5157.69138,N,00424.42427,E,44.132,154.64,120308,,,A*5B
+$GPRMC,141952.00,A,5157.68035,N,00424.43278,E,43.934,154.73,120308,,,A*57
+$GPRMC,141953.00,A,5157.66940,N,00424.44139,E,43.599,154.45,120308,,,A*5C
+$GPRMC,141954.00,A,5157.65852,N,00424.45003,E,43.291,154.03,120308,,,A*5E
+$GPRMC,141955.00,A,5157.64776,N,00424.45865,E,42.869,153.93,120308,,,A*5D
+$GPRMC,141956.00,A,5157.63716,N,00424.46725,E,42.308,153.94,120308,,,A*5C
+$GPRMC,141957.00,A,5157.62672,N,00424.47571,E,41.818,154.03,120308,,,A*5D
+$GPRMC,141958.00,A,5157.61638,N,00424.48387,E,41.320,153.77,120308,,,A*5B
+$GPRMC,141959.00,A,5157.60615,N,00424.49199,E,41.236,154.00,120308,,,A*59
+$GPRMC,142000.00,A,5157.59604,N,00424.50009,E,40.742,154.13,120308,,,A*50
+$GPRMC,142001.00,A,5157.58598,N,00424.50792,E,40.033,154.11,120308,,,A*50
+$GPRMC,142002.00,A,5157.57607,N,00424.51557,E,39.206,154.25,120308,,,A*5E
+$GPRMC,142003.00,A,5157.56633,N,00424.52308,E,38.683,154.33,120308,,,A*59
+$GPRMC,142004.00,A,5157.55669,N,00424.53052,E,38.406,154.43,120308,,,A*57
+$GPRMC,142005.00,A,5157.54711,N,00424.53801,E,38.057,153.85,120308,,,A*5A
+$GPRMC,142006.00,A,5157.53764,N,00424.54548,E,38.117,154.29,120308,,,A*5F
+$GPRMC,142007.00,A,5157.52811,N,00424.55288,E,38.165,154.17,120308,,,A*50
+$GPRMC,142008.00,A,5157.51866,N,00424.56024,E,37.741,154.09,120308,,,A*5B
+$GPRMC,142009.00,A,5157.50939,N,00424.56755,E,36.977,154.23,120308,,,A*53
+$GPRMC,142010.00,A,5157.50046,N,00424.57455,E,35.278,154.31,120308,,,A*5C
+$GPRMC,142011.00,A,5157.49203,N,00424.58116,E,32.822,154.24,120308,,,A*5D
+$GPRMC,142012.00,A,5157.48420,N,00424.58742,E,30.703,154.15,120308,,,A*53
+$GPRMC,142013.00,A,5157.47675,N,00424.59333,E,29.636,153.99,120308,,,A*50
+$GPRMC,142014.00,A,5157.46955,N,00424.59922,E,29.006,154.07,120308,,,A*54
+$GPRMC,142015.00,A,5157.46237,N,00424.60488,E,29.057,154.41,120308,,,A*5B
+$GPRMC,142016.00,A,5157.45515,N,00424.61052,E,29.462,154.40,120308,,,A*5D
+$GPRMC,142017.00,A,5157.44785,N,00424.61623,E,29.454,154.34,120308,,,A*50
+$GPRMC,142018.00,A,5157.44060,N,00424.62190,E,29.025,154.43,120308,,,A*5D
+$GPRMC,142019.00,A,5157.43345,N,00424.62749,E,28.629,154.41,120308,,,A*54
+$GPRMC,142020.00,A,5157.42643,N,00424.63295,E,27.937,154.36,120308,,,A*56
+$GPRMC,142021.00,A,5157.41957,N,00424.63828,E,27.248,154.57,120308,,,A*56
+$GPRMC,142022.00,A,5157.41291,N,00424.64351,E,26.467,154.32,120308,,,A*5F
+$GPRMC,142023.00,A,5157.40646,N,00424.64858,E,25.742,154.35,120308,,,A*53
+$GPRMC,142024.00,A,5157.40017,N,00424.65349,E,24.978,154.31,120308,,,A*5E
+$GPRMC,142025.00,A,5157.39406,N,00424.65826,E,24.246,154.30,120308,,,A*50
+$GPRMC,142026.00,A,5157.38807,N,00424.66283,E,23.638,154.43,120308,,,A*57
+$GPRMC,142027.00,A,5157.38215,N,00424.66734,E,23.702,154.59,120308,,,A*55
+$GPRMC,142028.00,A,5157.37618,N,00424.67198,E,24.273,154.48,120308,,,A*59
+$GPRMC,142029.00,A,5157.37010,N,00424.67676,E,24.568,153.80,120308,,,A*5F
+$GPRMC,142030.00,A,5157.36401,N,00424.68158,E,24.518,154.13,120308,,,A*5C
+$GPRMC,142031.00,A,5157.35788,N,00424.68641,E,24.771,154.22,120308,,,A*5C
+$GPRMC,142032.00,A,5157.35168,N,00424.69133,E,25.267,154.15,120308,,,A*53
+$GPRMC,142033.00,A,5157.34532,N,00424.69635,E,25.891,154.16,120308,,,A*59
+$GPRMC,142034.00,A,5157.33875,N,00424.70153,E,26.756,154.16,120308,,,A*5F
+$GPRMC,142035.00,A,5157.33196,N,00424.70687,E,27.639,154.20,120308,,,A*58
+$GPRMC,142036.00,A,5157.32496,N,00424.71238,E,28.311,154.17,120308,,,A*5A
+$GPRMC,142037.00,A,5157.31780,N,00424.71801,E,28.952,154.16,120308,,,A*50
+$GPRMC,142038.00,A,5157.31047,N,00424.72375,E,29.636,154.22,120308,,,A*53
+$GPRMC,142039.00,A,5157.30294,N,00424.72961,E,30.354,154.38,120308,,,A*52
+$GPRMC,142040.00,A,5157.29521,N,00424.73559,E,31.174,154.45,120308,,,A*50
+$GPRMC,142041.00,A,5157.28725,N,00424.74177,E,32.170,154.42,120308,,,A*59
+$GPRMC,142042.00,A,5157.27901,N,00424.74815,E,33.267,154.59,120308,,,A*5E
+$GPRMC,142043.00,A,5157.27050,N,00424.75472,E,34.342,154.49,120308,,,A*5E
+$GPRMC,142044.00,A,5157.26171,N,00424.76150,E,35.440,154.73,120308,,,A*51
+$GPRMC,142045.00,A,5157.25280,N,00424.76822,E,35.043,155.38,120308,,,A*5B
+$GPRMC,142046.00,A,5157.24407,N,00424.77462,E,33.845,155.69,120308,,,A*55
+$GPRMC,142047.00,A,5157.23582,N,00424.78072,E,32.124,155.84,120308,,,A*59
+$GPRMC,142048.00,A,5157.22775,N,00424.78651,E,31.545,156.81,120308,,,A*5C
+$GPRMC,142049.00,A,5157.22035,N,00424.79186,E,28.311,155.84,120308,,,A*5B
+$GPRMC,142050.00,A,5157.21402,N,00424.79656,E,24.308,154.93,120308,,,A*59
+$GPRMC,142051.00,A,5157.20827,N,00424.80073,E,22.399,155.29,120308,,,A*5B
+$GPRMC,142052.00,A,5157.20315,N,00424.80450,E,19.336,155.05,120308,,,A*54
+$GPRMC,142053.00,A,5157.19924,N,00424.80721,E,14.758,154.26,120308,,,A*53
+$GPRMC,142054.00,A,5157.19583,N,00424.80960,E,13.037,153.73,120308,,,A*50
+$GPRMC,142055.00,A,5157.19266,N,00424.81189,E,10.928,153.11,120308,,,A*53
+$GPRMC,142056.00,A,5157.18995,N,00424.81392,E,9.480,154.55,120308,,,A*6E
+$GPRMC,142057.00,A,5157.18764,N,00424.81558,E,7.610,154.30,120308,,,A*69
+$GPRMC,142058.00,A,5157.18578,N,00424.81696,E,4.873,155.31,120308,,,A*60
+$GPRMC,142059.00,A,5157.18487,N,00424.81809,E,2.697,154.46,120308,,,A*6B
+$GPRMC,142100.00,A,5157.18434,N,00424.81864,E,0.984,154.28,120308,,,A*62
+$GPRMC,142101.00,A,5157.18434,N,00424.81892,E,0.057,155.10,120308,,,A*67
+$GPRMC,142102.00,A,5157.18448,N,00424.81910,E,0.039,151.57,120308,,,A*6B
+$GPRMC,142103.00,A,5157.18449,N,00424.81909,E,0.082,155.68,120308,,,A*6B
+$GPRMC,142104.00,A,5157.18444,N,00424.81923,E,0.604,155.55,120308,,,A*6F
+$GPRMC,142105.00,A,5157.18399,N,00424.81947,E,2.284,153.18,120308,,,A*6A
+$GPRMC,142106.00,A,5157.18313,N,00424.82007,E,4.329,154.03,120308,,,A*68
+$GPRMC,142107.00,A,5157.18178,N,00424.82117,E,6.348,153.27,120308,,,A*62
+$GPRMC,142108.00,A,5157.18029,N,00424.82276,E,6.636,153.62,120308,,,A*61
+$GPRMC,142109.00,A,5157.17868,N,00424.82397,E,6.101,153.54,120308,,,A*6A
+$GPRMC,142110.00,A,5157.17726,N,00424.82510,E,5.480,153.05,120308,,,A*65
+$GPRMC,142111.00,A,5157.17618,N,00424.82601,E,3.903,152.65,120308,,,A*6C
+$GPRMC,142112.00,A,5157.17570,N,00424.82633,E,1.271,152.63,120308,,,A*69
+$GPRMC,142113.00,A,5157.17551,N,00424.82675,E,0.308,152.14,120308,,,A*67
+$GPRMC,142114.00,A,5157.17558,N,00424.82686,E,0.034,149.90,120308,,,A*6F
+$GPRMC,142115.00,A,5157.17559,N,00424.82687,E,0.062,151.54,120308,,,A*6C
+$GPRMC,142116.00,A,5157.17563,N,00424.82696,E,0.036,156.81,120308,,,A*68
+$GPRMC,142117.00,A,5157.17565,N,00424.82698,E,0.061,155.18,120308,,,A*60
+$GPRMC,142118.00,A,5157.17565,N,00424.82727,E,0.033,154.57,120308,,,A*67
+$GPRMC,142119.00,A,5157.17560,N,00424.82747,E,0.006,,120308,,,A*7F
+$GPRMC,142120.00,A,5157.17559,N,00424.82766,E,0.021,155.12,120308,,,A*65
+$GPRMC,142121.00,A,5157.17560,N,00424.82775,E,0.015,,120308,,,A*77
+$GPRMC,142122.00,A,5157.17563,N,00424.82782,E,0.047,149.82,120308,,,A*60
+$GPRMC,142123.00,A,5157.17562,N,00424.82786,E,0.128,150.69,120308,,,A*61
+$GPRMC,142124.00,A,5157.17562,N,00424.82786,E,0.015,,120308,,,A*7C
+$GPRMC,142125.00,A,5157.17559,N,00424.82787,E,0.052,149.05,120308,,,A*60
+$GPRMC,142126.00,A,5157.17574,N,00424.82786,E,0.054,151.68,120308,,,A*69
+$GPRMC,142127.00,A,5157.17580,N,00424.82783,E,0.020,154.69,120308,,,A*61
+$GPRMC,142128.00,A,5157.17592,N,00424.82783,E,0.080,154.66,120308,,,A*68
+$GPRMC,142129.00,A,5157.17598,N,00424.82791,E,0.370,153.55,120308,,,A*6B
+$GPRMC,142130.00,A,5157.17594,N,00424.82801,E,0.631,153.37,120308,,,A*6D
+$GPRMC,142131.00,A,5157.17564,N,00424.82830,E,2.185,153.64,120308,,,A*6D
+$GPRMC,142132.00,A,5157.17472,N,00424.82900,E,4.760,154.13,120308,,,A*66
+$GPRMC,142133.00,A,5157.17321,N,00424.83013,E,6.641,154.55,120308,,,A*6E
+$GPRMC,142134.00,A,5157.17129,N,00424.83168,E,7.978,151.66,120308,,,A*6F
+$GPRMC,142135.00,A,5157.16858,N,00424.83380,E,11.679,153.78,120308,,,A*50
+$GPRMC,142136.00,A,5157.16540,N,00424.83625,E,12.695,153.93,120308,,,A*59
+$GPRMC,142137.00,A,5157.16217,N,00424.83868,E,12.247,154.41,120308,,,A*59
+$GPRMC,142138.00,A,5157.15904,N,00424.84099,E,12.177,154.53,120308,,,A*5E
+$GPRMC,142139.00,A,5157.15592,N,00424.84337,E,11.837,154.24,120308,,,A*55
+$GPRMC,142140.00,A,5157.15307,N,00424.84552,E,10.542,154.75,120308,,,A*5E
+$GPRMC,142141.00,A,5157.15053,N,00424.84746,E,9.292,153.80,120308,,,A*65
+$GPRMC,142142.00,A,5157.14831,N,00424.84917,E,8.319,154.06,120308,,,A*6B
+$GPRMC,142143.00,A,5157.14619,N,00424.85078,E,7.922,154.18,120308,,,A*6D
+$GPRMC,142144.00,A,5157.14415,N,00424.85229,E,8.097,154.34,120308,,,A*64
+$GPRMC,142145.00,A,5157.14194,N,00424.85390,E,9.038,153.99,120308,,,A*6E
+$GPRMC,142146.00,A,5157.13943,N,00424.85592,E,10.077,153.83,120308,,,A*54
+$GPRMC,142147.00,A,5157.13674,N,00424.85803,E,10.896,153.74,120308,,,A*54
+$GPRMC,142148.00,A,5157.13402,N,00424.86010,E,10.688,153.67,120308,,,A*52
+$GPRMC,142149.00,A,5157.13149,N,00424.86207,E,9.562,153.43,120308,,,A*64
+$GPRMC,142150.00,A,5157.12917,N,00424.86389,E,8.799,153.67,120308,,,A*68
+$GPRMC,142151.00,A,5157.12693,N,00424.86565,E,8.477,153.47,120308,,,A*6F
+$GPRMC,142152.00,A,5157.12477,N,00424.86740,E,8.296,153.41,120308,,,A*6E
+$GPRMC,142153.00,A,5157.12267,N,00424.86909,E,8.161,153.14,120308,,,A*60
+$GPRMC,142154.00,A,5157.12064,N,00424.87077,E,7.817,152.82,120308,,,A*6E
+$GPRMC,142155.00,A,5157.11877,N,00424.87231,E,7.312,153.11,120308,,,A*63
+$GPRMC,142156.00,A,5157.11696,N,00424.87381,E,7.000,152.84,120308,,,A*66
+$GPRMC,142157.00,A,5157.11524,N,00424.87519,E,6.807,153.43,120308,,,A*6E
+$GPRMC,142158.00,A,5157.11354,N,00424.87655,E,6.569,153.63,120308,,,A*6C
+$GPRMC,142159.00,A,5157.11191,N,00424.87783,E,6.369,153.65,120308,,,A*6C
+$GPRMC,142200.00,A,5157.11034,N,00424.87902,E,6.022,154.43,120308,,,A*65
+$GPRMC,142201.00,A,5157.10891,N,00424.88011,E,5.296,153.82,120308,,,A*62
+$GPRMC,142202.00,A,5157.10768,N,00424.88099,E,4.420,155.34,120308,,,A*69
+$GPRMC,142203.00,A,5157.10672,N,00424.88160,E,3.488,155.35,120308,,,A*61
+$GPRMC,142204.00,A,5157.10593,N,00424.88214,E,3.007,154.58,120308,,,A*63
+$GPRMC,142205.00,A,5157.10526,N,00424.88257,E,2.797,155.34,120308,,,A*6F
+$GPRMC,142206.00,A,5157.10467,N,00424.88289,E,2.580,156.94,120308,,,A*66
+$GPRMC,142207.00,A,5157.10386,N,00424.88355,E,3.195,156.10,120308,,,A*62
+$GPRMC,142208.00,A,5157.10294,N,00424.88426,E,4.112,153.54,120308,,,A*61
+$GPRMC,142209.00,A,5157.10188,N,00424.88503,E,3.721,156.40,120308,,,A*69
+$GPRMC,142210.00,A,5157.10092,N,00424.88569,E,3.346,157.38,120308,,,A*6C
+$GPRMC,142211.00,A,5157.09999,N,00424.88627,E,3.864,157.90,120308,,,A*67
+$GPRMC,142212.00,A,5157.09894,N,00424.88687,E,4.478,159.07,120308,,,A*64
+$GPRMC,142213.00,A,5157.09757,N,00424.88769,E,5.182,158.86,120308,,,A*6D
+$GPRMC,142214.00,A,5157.09612,N,00424.88840,E,5.196,160.85,120308,,,A*63
+$GPRMC,142215.00,A,5157.09490,N,00424.88883,E,4.411,162.34,120308,,,A*66
+$GPRMC,142216.00,A,5157.09371,N,00424.88908,E,3.149,163.14,120308,,,A*63
+$GPRMC,142217.00,A,5157.09283,N,00424.88935,E,1.898,163.11,120308,,,A*62
+$GPRMC,142218.00,A,5157.09232,N,00424.88948,E,0.749,163.16,120308,,,A*68
+$GPRMC,142219.00,A,5157.09207,N,00424.88948,E,0.256,163.36,120308,,,A*66
+$GPRMC,142220.00,A,5157.09182,N,00424.88953,E,0.401,162.77,120308,,,A*68
+$GPRMC,142221.00,A,5157.09177,N,00424.88947,E,0.191,163.09,120308,,,A*62
+$GPRMC,142222.00,A,5157.09158,N,00424.88954,E,0.042,161.63,120308,,,A*6F
+$GPRMC,142223.00,A,5157.09176,N,00424.88911,E,0.056,165.20,120308,,,A*65
+$GPRMC,142224.00,A,5157.09207,N,00424.88882,E,0.069,161.04,120308,,,A*62
+$GPRMC,142225.00,A,5157.09229,N,00424.88866,E,0.096,166.44,120308,,,A*66
+$GPRMC,142226.00,A,5157.09245,N,00424.88858,E,0.032,170.68,120308,,,A*65
+$GPRMC,142227.00,A,5157.09264,N,00424.88842,E,0.036,175.04,120308,,,A*67
+$GPRMC,142228.00,A,5157.09279,N,00424.88830,E,0.041,173.66,120308,,,A*63
+$GPRMC,142229.00,A,5157.09296,N,00424.88809,E,0.016,,120308,,,A*70
+$GPRMC,142230.00,A,5157.09312,N,00424.88797,E,0.037,169.56,120308,,,A*6D
+$GPRMC,142231.00,A,5157.09319,N,00424.88803,E,0.030,170.26,120308,,,A*6D
+$GPRMC,142232.00,A,5157.09328,N,00424.88806,E,0.039,171.67,120308,,,A*64
+$GPRMC,142233.00,A,5157.09328,N,00424.88811,E,0.754,171.01,120308,,,A*6F
+$GPRMC,142234.00,A,5157.09291,N,00424.88832,E,2.585,165.89,120308,,,A*63
+$GPRMC,142235.00,A,5157.09200,N,00424.88868,E,4.721,168.13,120308,,,A*61
+$GPRMC,142236.00,A,5157.09036,N,00424.88943,E,6.252,169.50,120308,,,A*68
+$GPRMC,142237.00,A,5157.08859,N,00424.88991,E,7.029,171.74,120308,,,A*66
+$GPRMC,142238.00,A,5157.08638,N,00424.89048,E,8.548,173.01,120308,,,A*61
+$GPRMC,142239.00,A,5157.08386,N,00424.89099,E,9.430,175.26,120308,,,A*60
+$GPRMC,142240.00,A,5157.08103,N,00424.89144,E,10.315,177.08,120308,,,A*56
+$GPRMC,142241.00,A,5157.07796,N,00424.89181,E,10.965,178.46,120308,,,A*53
+$GPRMC,142242.00,A,5157.07471,N,00424.89205,E,11.583,179.92,120308,,,A*58
+$GPRMC,142243.00,A,5157.07142,N,00424.89212,E,11.648,181.21,120308,,,A*51
+$GPRMC,142244.00,A,5157.06821,N,00424.89202,E,11.031,183.16,120308,,,A*54
+$GPRMC,142245.00,A,5157.06518,N,00424.89171,E,10.332,185.56,120308,,,A*56
+$GPRMC,142246.00,A,5157.06236,N,00424.89133,E,9.504,188.00,120308,,,A*6D
+$GPRMC,142247.00,A,5157.05991,N,00424.89083,E,7.866,190.01,120308,,,A*6C
+$GPRMC,142248.00,A,5157.05781,N,00424.89027,E,7.179,191.60,120308,,,A*63
+$GPRMC,142249.00,A,5157.05593,N,00424.88968,E,6.548,192.11,120308,,,A*62
+$GPRMC,142250.00,A,5157.05420,N,00424.88911,E,5.898,193.47,120308,,,A*6C
+$GPRMC,142251.00,A,5157.05273,N,00424.88863,E,5.087,193.57,120308,,,A*6E
+$GPRMC,142252.00,A,5157.05147,N,00424.88816,E,4.464,194.63,120308,,,A*63
+$GPRMC,142253.00,A,5157.05030,N,00424.88779,E,4.250,191.62,120308,,,A*60
+$GPRMC,142254.00,A,5157.04917,N,00424.88748,E,4.172,194.05,120308,,,A*6F
+$GPRMC,142255.00,A,5157.04792,N,00424.88704,E,4.218,194.30,120308,,,A*6C
+$GPRMC,142256.00,A,5157.04663,N,00424.88662,E,4.192,193.62,120308,,,A*60
+$GPRMC,142257.00,A,5157.04552,N,00424.88626,E,4.038,194.04,120308,,,A*66
+$GPRMC,142258.00,A,5157.04444,N,00424.88586,E,3.489,194.18,120308,,,A*62
+$GPRMC,142259.00,A,5157.04359,N,00424.88556,E,2.537,193.99,120308,,,A*6E
+$GPRMC,142300.00,A,5157.04291,N,00424.88534,E,2.078,193.51,120308,,,A*68
+$GPRMC,142301.00,A,5157.04238,N,00424.88515,E,1.703,193.57,120308,,,A*67
+$GPRMC,142302.00,A,5157.04195,N,00424.88503,E,1.334,193.49,120308,,,A*68
+$GPRMC,142303.00,A,5157.04156,N,00424.88491,E,1.566,193.64,120308,,,A*62
+$GPRMC,142304.00,A,5157.04118,N,00424.88484,E,0.989,193.59,120308,,,A*69
+$GPRMC,142305.00,A,5157.04093,N,00424.88476,E,1.003,193.63,120308,,,A*64
+$GPRMC,142306.00,A,5157.04069,N,00424.88465,E,0.767,193.73,120308,,,A*65
+$GPRMC,142307.00,A,5157.04059,N,00424.88457,E,0.088,193.87,120308,,,A*6B
+$GPRMC,142308.00,A,5157.04060,N,00424.88454,E,0.015,,120308,,,A*73
+$GPRMC,142309.00,A,5157.04059,N,00424.88449,E,0.008,,120308,,,A*78
+$GPRMC,142310.00,A,5157.04061,N,00424.88443,E,0.008,,120308,,,A*71
+$GPRMC,142311.00,A,5157.04064,N,00424.88449,E,0.363,183.40,120308,,,A*61
+$GPRMC,142312.00,A,5157.04069,N,00424.88458,E,0.113,178.21,120308,,,A*69
+$GPRMC,142313.00,A,5157.04070,N,00424.88463,E,0.237,168.47,120308,,,A*6C
+$GPRMC,142314.00,A,5157.04071,N,00424.88469,E,0.023,164.93,120308,,,A*62
+$GPRMC,142315.00,A,5157.04056,N,00424.88461,E,0.034,166.62,120308,,,A*64
+$GPRMC,142316.00,A,5157.04047,N,00424.88460,E,0.015,,120308,,,A*7E
+$GPRMC,142317.00,A,5157.04059,N,00424.88488,E,0.008,,120308,,,A*7A
+$GPRMC,142318.00,A,5157.04069,N,00424.88502,E,0.006,,120308,,,A*7B
+$GPRMC,142319.00,A,5157.04073,N,00424.88508,E,0.023,167.92,120308,,,A*69
+$GPRMC,142320.00,A,5157.04081,N,00424.88521,E,0.089,163.74,120308,,,A*69
+$GPRMC,142321.00,A,5157.04094,N,00424.88534,E,0.021,165.01,120308,,,A*6E
+$GPRMC,142322.00,A,5157.04098,N,00424.88535,E,0.031,162.69,120308,,,A*68
+$GPRMC,142323.00,A,5157.04114,N,00424.88545,E,0.011,,120308,,,A*7D
+$GPRMC,142324.00,A,5157.04101,N,00424.88535,E,0.010,,120308,,,A*78
+$GPRMC,142325.00,A,5157.04099,N,00424.88533,E,0.004,,120308,,,A*7A
+$GPRMC,142326.00,A,5157.04105,N,00424.88531,E,0.006,,120308,,,A*7D
+$GPRMC,142327.00,A,5157.04113,N,00424.88531,E,0.053,164.50,120308,,,A*63
+$GPRMC,142328.00,A,5157.04116,N,00424.88527,E,0.159,159.88,120308,,,A*6E
+$GPRMC,142329.00,A,5157.04121,N,00424.88519,E,0.206,164.16,120308,,,A*66
+$GPRMC,142330.00,A,5157.04113,N,00424.88505,E,0.031,168.84,120308,,,A*63
+$GPRMC,142331.00,A,5157.04112,N,00424.88501,E,0.033,163.71,120308,,,A*64
+$GPRMC,142332.00,A,5157.04107,N,00424.88503,E,0.009,,120308,,,A*74
+$GPRMC,142333.00,A,5157.04107,N,00424.88504,E,0.025,159.04,120308,,,A*6B
+$GPRMC,142334.00,A,5157.04110,N,00424.88501,E,0.022,161.19,120308,,,A*6F
+$GPRMC,142335.00,A,5157.04114,N,00424.88500,E,0.005,,120308,,,A*7E
+$GPRMC,142336.00,A,5157.04123,N,00424.88505,E,0.013,,120308,,,A*7B
+$GPRMC,142337.00,A,5157.04129,N,00424.88511,E,0.022,163.61,120308,,,A*6A
+$GPRMC,142338.00,A,5157.04137,N,00424.88518,E,0.015,,120308,,,A*7A
+$GPRMC,142339.00,A,5157.04140,N,00424.88524,E,0.020,164.86,120308,,,A*61
+$GPRMC,142340.00,A,5157.04146,N,00424.88526,E,0.049,160.76,120308,,,A*6F
+$GPRMC,142341.00,A,5157.04150,N,00424.88526,E,0.066,156.59,120308,,,A*6C
+$GPRMC,142342.00,A,5157.04153,N,00424.88526,E,0.065,158.13,120308,,,A*6F
+$GPRMC,142343.00,A,5157.04154,N,00424.88520,E,0.022,154.40,120308,,,A*66
+$GPRMC,142344.00,A,5157.04159,N,00424.88518,E,0.107,155.85,120308,,,A*69
+$GPRMC,142345.00,A,5157.04162,N,00424.88519,E,0.105,157.37,120308,,,A*68
+$GPRMC,142346.00,A,5157.04160,N,00424.88519,E,0.073,153.76,120308,,,A*68
+$GPRMC,142347.00,A,5157.04159,N,00424.88521,E,0.412,156.56,120308,,,A*6C
+$GPRMC,142348.00,A,5157.04151,N,00424.88518,E,0.319,159.10,120308,,,A*60
+$GPRMC,142349.00,A,5157.04152,N,00424.88520,E,0.007,,120308,,,A*77
+$GPRMC,142350.00,A,5157.04157,N,00424.88523,E,0.007,,120308,,,A*79
+$GPRMC,142351.00,A,5157.04159,N,00424.88525,E,0.028,161.12,120308,,,A*66
+$GPRMC,142352.00,A,5157.04162,N,00424.88522,E,0.019,,120308,,,A*73
+$GPRMC,142353.00,A,5157.04159,N,00424.88518,E,0.368,163.43,120308,,,A*6B
+$GPRMC,142354.00,A,5157.04150,N,00424.88516,E,0.463,165.47,120308,,,A*65
+$GPRMC,142355.00,A,5157.04147,N,00424.88517,E,0.015,,120308,,,A*79
+$GPRMC,142356.00,A,5157.04149,N,00424.88520,E,0.047,167.26,120308,,,A*6D
+$GPRMC,142357.00,A,5157.04148,N,00424.88523,E,0.027,167.92,120308,,,A*67
+$GPRMC,142358.00,A,5157.04148,N,00424.88529,E,0.017,,120308,,,A*74
+$GPRMC,142359.00,A,5157.04155,N,00424.88526,E,0.145,170.63,120308,,,A*6D
+$GPRMC,142400.00,A,5157.04166,N,00424.88532,E,0.057,172.29,120308,,,A*6D
+$GPRMC,142401.00,A,5157.04163,N,00424.88541,E,0.565,173.60,120308,,,A*65
+$GPRMC,142402.00,A,5157.04121,N,00424.88530,E,2.704,194.18,120308,,,A*67
+$GPRMC,142403.00,A,5157.04027,N,00424.88500,E,4.096,189.56,120308,,,A*6E
+$GPRMC,142404.00,A,5157.03826,N,00424.88421,E,7.392,193.41,120308,,,A*6C
+$GPRMC,142405.00,A,5157.03585,N,00424.88325,E,8.917,193.57,120308,,,A*65
+$GPRMC,142406.00,A,5157.03335,N,00424.88226,E,8.604,192.68,120308,,,A*69
+$GPRMC,142407.00,A,5157.03100,N,00424.88146,E,7.736,191.13,120308,,,A*69
+$GPRMC,142408.00,A,5157.02890,N,00424.88087,E,6.782,188.18,120308,,,A*66
+$GPRMC,142409.00,A,5157.02706,N,00424.88052,E,5.723,184.70,120308,,,A*65
+$GPRMC,142410.00,A,5157.02556,N,00424.88035,E,4.626,182.72,120308,,,A*6A
+$GPRMC,142411.00,A,5157.02427,N,00424.88017,E,3.929,182.93,120308,,,A*64
+$GPRMC,142412.00,A,5157.02324,N,00424.88010,E,3.028,179.30,120308,,,A*61
+$GPRMC,142413.00,A,5157.02243,N,00424.88011,E,2.565,178.00,120308,,,A*6E
+$GPRMC,142414.00,A,5157.02173,N,00424.88018,E,2.353,175.78,120308,,,A*61
+$GPRMC,142415.00,A,5157.02116,N,00424.88031,E,1.981,175.55,120308,,,A*61
+$GPRMC,142416.00,A,5157.02063,N,00424.88040,E,1.701,175.46,120308,,,A*63
+$GPRMC,142417.00,A,5157.02022,N,00424.88053,E,1.450,175.32,120308,,,A*61
+$GPRMC,142418.00,A,5157.01987,N,00424.88064,E,1.332,175.17,120308,,,A*6B
+$GPRMC,142419.00,A,5157.01955,N,00424.88073,E,1.332,174.97,120308,,,A*6A
+$GPRMC,142420.00,A,5157.01916,N,00424.88081,E,1.431,174.73,120308,,,A*64
+$GPRMC,142421.00,A,5157.01880,N,00424.88094,E,1.479,174.46,120308,,,A*65
+$GPRMC,142422.00,A,5157.01847,N,00424.88103,E,1.093,174.21,120308,,,A*63
+$GPRMC,142423.00,A,5157.01825,N,00424.88110,E,0.788,173.87,120308,,,A*63
+$GPRMC,142424.00,A,5157.01808,N,00424.88115,E,0.580,173.63,120308,,,A*6E
+$GPRMC,142425.00,A,5157.01776,N,00424.88126,E,1.825,173.40,120308,,,A*6B
+$GPRMC,142426.00,A,5157.01696,N,00424.88147,E,4.003,169.22,120308,,,A*66
+$GPRMC,142427.00,A,5157.01560,N,00424.88190,E,5.782,166.43,120308,,,A*60
+$GPRMC,142428.00,A,5157.01382,N,00424.88272,E,7.132,163.10,120308,,,A*66
+$GPRMC,142429.00,A,5157.01171,N,00424.88384,E,8.533,158.36,120308,,,A*67
+$GPRMC,142430.00,A,5157.00923,N,00424.88565,E,10.580,152.34,120308,,,A*51
+$GPRMC,142431.00,A,5157.00623,N,00424.88838,E,14.041,149.53,120308,,,A*5D
+$GPRMC,142432.00,A,5157.00260,N,00424.89191,E,15.885,147.97,120308,,,A*51
+$GPRMC,142433.00,A,5156.99859,N,00424.89599,E,17.402,147.45,120308,,,A*53
+$GPRMC,142434.00,A,5156.99427,N,00424.90044,E,19.165,147.17,120308,,,A*51
+$GPRMC,142435.00,A,5156.98991,N,00424.90499,E,18.231,147.01,120308,,,A*51
+$GPRMC,142436.00,A,5156.98596,N,00424.90920,E,15.898,146.45,120308,,,A*53
+$GPRMC,142437.00,A,5156.98269,N,00424.91329,E,14.508,137.53,120308,,,A*53
+$GPRMC,142438.00,A,5156.98069,N,00424.91815,E,13.546,116.46,120308,,,A*50
+$GPRMC,142439.00,A,5156.97956,N,00424.92374,E,13.195,98.77,120308,,,A*6B
+$GPRMC,142440.00,A,5156.97971,N,00424.92970,E,13.785,80.31,120308,,,A*62
+$GPRMC,142441.00,A,5156.98185,N,00424.93547,E,15.943,58.42,120308,,,A*65
+$GPRMC,142442.00,A,5156.98493,N,00424.94178,E,18.824,51.39,120308,,,A*63
+$GPRMC,142443.00,A,5156.98856,N,00424.94908,E,21.921,51.99,120308,,,A*6C
+$GPRMC,142444.00,A,5156.99270,N,00424.95760,E,25.121,52.39,120308,,,A*60
+$GPRMC,142445.00,A,5156.99699,N,00424.96720,E,26.587,53.87,120308,,,A*6A
+$GPRMC,142446.00,A,5157.00136,N,00424.97723,E,26.130,54.81,120308,,,A*61
+$GPRMC,142447.00,A,5157.00549,N,00424.98682,E,24.528,54.67,120308,,,A*6E
+$GPRMC,142448.00,A,5157.00930,N,00424.99557,E,21.838,54.71,120308,,,A*67
+$GPRMC,142449.00,A,5157.01257,N,00425.00302,E,17.848,54.53,120308,,,A*68
+$GPRMC,142450.00,A,5157.01511,N,00425.00884,E,13.345,54.33,120308,,,A*64
+$GPRMC,142451.00,A,5157.01688,N,00425.01293,E,8.730,54.49,120308,,,A*5A
+$GPRMC,142452.00,A,5157.01796,N,00425.01546,E,5.010,54.65,120308,,,A*5E
+$GPRMC,142453.00,A,5157.01846,N,00425.01664,E,1.712,54.34,120308,,,A*5B
+$GPRMC,142454.00,A,5157.01853,N,00425.01698,E,0.167,54.31,120308,,,A*5B
+$GPRMC,142455.00,A,5157.01848,N,00425.01700,E,0.104,53.79,120308,,,A*5E
+$GPRMC,142456.00,A,5157.01844,N,00425.01703,E,0.131,53.88,120308,,,A*5A
+$GPRMC,142457.00,A,5157.01838,N,00425.01706,E,0.132,53.78,120308,,,A*59
+$GPRMC,142458.00,A,5157.01836,N,00425.01708,E,0.100,53.74,120308,,,A*5B
+$GPRMC,142459.00,A,5157.01833,N,00425.01709,E,0.030,54.17,120308,,,A*5E
+$GPRMC,142500.00,A,5157.01829,N,00425.01706,E,0.020,54.19,120308,,,A*58
+$GPRMC,142501.00,A,5157.01824,N,00425.01703,E,0.007,,120308,,,A*73
+$GPRMC,142502.00,A,5157.01819,N,00425.01699,E,0.007,,120308,,,A*7C
+$GPRMC,142503.00,A,5157.01813,N,00425.01697,E,0.035,53.06,120308,,,A*56
+$GPRMC,142504.00,A,5157.01807,N,00425.01695,E,0.027,53.32,120308,,,A*52
+$GPRMC,142505.00,A,5157.01801,N,00425.01694,E,0.010,,120308,,,A*79
+$GPRMC,142506.00,A,5157.01796,N,00425.01691,E,0.011,,120308,,,A*7F
+$GPRMC,142507.00,A,5157.01789,N,00425.01690,E,0.008,,120308,,,A*79
+$GPRMC,142508.00,A,5157.01783,N,00425.01687,E,0.011,,120308,,,A*72
+$GPRMC,142509.00,A,5157.01777,N,00425.01688,E,0.009,,120308,,,A*7E
+$GPRMC,142510.00,A,5157.01771,N,00425.01689,E,0.007,,120308,,,A*7F
+$GPRMC,142511.00,A,5157.01767,N,00425.01691,E,0.043,52.01,120308,,,A*58
+$GPRMC,142512.00,A,5157.01759,N,00425.01698,E,0.017,,120308,,,A*76
+$GPRMC,142513.00,A,5157.01755,N,00425.01704,E,0.020,51.16,120308,,,A*56
+$GPRMC,142514.00,A,5157.01753,N,00425.01708,E,0.002,,120308,,,A*76
+$GPRMC,142515.00,A,5157.01753,N,00425.01712,E,0.005,,120308,,,A*7B
+$GPRMC,142516.00,A,5157.01754,N,00425.01716,E,0.021,52.56,120308,,,A*57
+$GPRMC,142517.00,A,5157.01756,N,00425.01720,E,0.023,51.52,120308,,,A*54
+$GPRMC,142518.00,A,5157.01759,N,00425.01724,E,0.030,51.22,120308,,,A*55
+$GPRMC,142519.00,A,5157.01762,N,00425.01726,E,0.019,,120308,,,A*7F
+$GPRMC,142520.00,A,5157.01764,N,00425.01727,E,0.003,,120308,,,A*79
+$GPRMC,142521.00,A,5157.01766,N,00425.01727,E,0.018,,120308,,,A*70
+$GPRMC,142522.00,A,5157.01768,N,00425.01727,E,0.015,,120308,,,A*70
+$GPRMC,142523.00,A,5157.01771,N,00425.01727,E,0.045,51.08,120308,,,A*5E
+$GPRMC,142524.00,A,5157.01771,N,00425.01728,E,0.050,51.92,120308,,,A*51
+$GPRMC,142525.00,A,5157.01768,N,00425.01733,E,0.058,51.32,120308,,,A*50
+$GPRMC,142526.00,A,5157.01768,N,00425.01735,E,0.016,,120308,,,A*74
+$GPRMC,142527.00,A,5157.01768,N,00425.01736,E,0.023,48.71,120308,,,A*54
+$GPRMC,142528.00,A,5157.01769,N,00425.01735,E,0.051,49.40,120308,,,A*5F
+$GPRMC,142529.00,A,5157.01771,N,00425.01736,E,0.042,50.46,120308,,,A*58
+$GPRMC,142530.00,A,5157.01771,N,00425.01737,E,0.069,50.72,120308,,,A*5F
+$GPRMC,142531.00,A,5157.01771,N,00425.01736,E,0.124,50.81,120308,,,A*5B
+$GPRMC,142532.00,A,5157.01772,N,00425.01739,E,0.168,50.94,120308,,,A*58
+$GPRMC,142533.00,A,5157.01773,N,00425.01740,E,0.061,50.43,120308,,,A*54
+$GPRMC,142534.00,A,5157.01773,N,00425.01738,E,0.013,,120308,,,A*75
+$GPRMC,142535.00,A,5157.01773,N,00425.01735,E,0.015,,120308,,,A*7F
+$GPRMC,142536.00,A,5157.01771,N,00425.01736,E,0.051,52.39,120308,,,A*5E
+$GPRMC,142537.00,A,5157.01771,N,00425.01730,E,0.059,48.81,120308,,,A*59
+$GPRMC,142538.00,A,5157.01770,N,00425.01723,E,0.009,,120308,,,A*7B
+$GPRMC,142539.00,A,5157.01774,N,00425.01718,E,0.048,48.72,120308,,,A*54
+$GPRMC,142540.00,A,5157.01774,N,00425.01716,E,0.066,49.12,120308,,,A*5F
+$GPRMC,142541.00,A,5157.01777,N,00425.01711,E,0.086,46.96,120308,,,A*57
+$GPRMC,142542.00,A,5157.01780,N,00425.01700,E,0.027,45.56,120308,,,A*58
+$GPRMC,142543.00,A,5157.01781,N,00425.01692,E,0.023,48.83,120308,,,A*53
+$GPRMC,142544.00,A,5157.01783,N,00425.01711,E,1.031,48.96,120308,,,A*5A
+$GPRMC,142545.00,A,5157.01823,N,00425.01799,E,3.836,54.98,120308,,,A*50
+$GPRMC,142546.00,A,5157.01909,N,00425.02004,E,6.969,54.42,120308,,,A*53
+$GPRMC,142547.00,A,5157.02057,N,00425.02322,E,10.215,53.99,120308,,,A*62
+$GPRMC,142548.00,A,5157.02252,N,00425.02764,E,13.467,54.45,120308,,,A*6A
+$GPRMC,142549.00,A,5157.02488,N,00425.03288,E,14.871,54.67,120308,,,A*60
+$GPRMC,142550.00,A,5157.02739,N,00425.03835,E,14.882,53.80,120308,,,A*6F
+$GPRMC,142551.00,A,5157.03015,N,00425.04329,E,14.989,41.87,120308,,,A*69
+$GPRMC,142552.00,A,5157.03362,N,00425.04638,E,14.412,14.24,120308,,,A*6A
+$GPRMC,142553.00,A,5157.03714,N,00425.04578,E,14.792,342.20,120308,,,A*56
+$GPRMC,142554.00,A,5157.04010,N,00425.04161,E,15.369,310.29,120308,,,A*56
+$GPRMC,142555.00,A,5157.04211,N,00425.03502,E,17.509,288.40,120308,,,A*5F
+$GPRMC,142556.00,A,5157.04353,N,00425.02676,E,19.979,285.33,120308,,,A*56
+$GPRMC,142557.00,A,5157.04535,N,00425.01752,E,22.491,290.52,120308,,,A*55
+$GPRMC,142558.00,A,5157.04807,N,00425.00801,E,23.652,297.93,120308,,,A*58
+$GPRMC,142559.00,A,5157.05179,N,00424.99851,E,25.852,304.24,120308,,,A*53
+$GPRMC,142600.00,A,5157.05642,N,00424.98860,E,28.727,307.96,120308,,,A*5A
+$GPRMC,142601.00,A,5157.06185,N,00424.97800,E,31.428,310.52,120308,,,A*57
+$GPRMC,142602.00,A,5157.06799,N,00424.96695,E,33.812,312.36,120308,,,A*5B
+$GPRMC,142603.00,A,5157.07482,N,00424.95543,E,36.186,314.16,120308,,,A*5C
+$GPRMC,142604.00,A,5157.08213,N,00424.94392,E,36.491,317.03,120308,,,A*55
+$GPRMC,142605.00,A,5157.08992,N,00424.93305,E,36.756,320.87,120308,,,A*5F
+$GPRMC,142606.00,A,5157.09843,N,00424.92284,E,37.830,324.66,120308,,,A*5C
+$GPRMC,142607.00,A,5157.10758,N,00424.91325,E,39.089,328.19,120308,,,A*59
+$GPRMC,142608.00,A,5157.11732,N,00424.90404,E,40.711,330.18,120308,,,A*5E
+$GPRMC,142609.00,A,5157.12761,N,00424.89484,E,42.425,331.29,120308,,,A*5F
+$GPRMC,142610.00,A,5157.13841,N,00424.88558,E,44.051,332.15,120308,,,A*57
+$GPRMC,142611.00,A,5157.14965,N,00424.87618,E,45.603,332.68,120308,,,A*54
+$GPRMC,142612.00,A,5157.16126,N,00424.86664,E,46.794,333.07,120308,,,A*54
+$GPRMC,142613.00,A,5157.17314,N,00424.85698,E,47.647,333.24,120308,,,A*58
+$GPRMC,142614.00,A,5157.18525,N,00424.84717,E,48.411,333.14,120308,,,A*5E
+$GPRMC,142615.00,A,5157.19753,N,00424.83715,E,49.066,333.02,120308,,,A*5A
+$GPRMC,142616.00,A,5157.20996,N,00424.82699,E,49.805,333.21,120308,,,A*5C
+$GPRMC,142617.00,A,5157.22255,N,00424.81667,E,50.653,333.25,120308,,,A*58
+$GPRMC,142618.00,A,5157.23534,N,00424.80616,E,51.375,333.06,120308,,,A*50
+$GPRMC,142619.00,A,5157.24822,N,00424.79570,E,51.291,333.50,120308,,,A*51
+$GPRMC,142620.00,A,5157.26107,N,00424.78547,E,50.669,333.89,120308,,,A*54
+$GPRMC,142621.00,A,5157.27377,N,00424.77552,E,49.808,334.36,120308,,,A*58
+$GPRMC,142622.00,A,5157.28623,N,00424.76586,E,48.652,334.33,120308,,,A*5D
+$GPRMC,142623.00,A,5157.29839,N,00424.75645,E,47.587,334.34,120308,,,A*54
+$GPRMC,142624.00,A,5157.31029,N,00424.74718,E,46.774,334.16,120308,,,A*54
+$GPRMC,142625.00,A,5157.32199,N,00424.73805,E,46.130,334.21,120308,,,A*5A
+$GPRMC,142626.00,A,5157.33358,N,00424.72907,E,45.856,334.46,120308,,,A*5E
+$GPRMC,142627.00,A,5157.34517,N,00424.72015,E,45.919,334.43,120308,,,A*50
+$GPRMC,142628.00,A,5157.35677,N,00424.71119,E,46.046,334.27,120308,,,A*57
+$GPRMC,142629.00,A,5157.36838,N,00424.70225,E,45.958,334.54,120308,,,A*5C
+$GPRMC,142630.00,A,5157.37993,N,00424.69335,E,45.639,334.44,120308,,,A*54
+$GPRMC,142631.00,A,5157.39138,N,00424.68448,E,45.271,334.28,120308,,,A*5C
+$GPRMC,142632.00,A,5157.40273,N,00424.67567,E,44.897,334.30,120308,,,A*54
+$GPRMC,142633.00,A,5157.41397,N,00424.66695,E,44.501,334.31,120308,,,A*53
+$GPRMC,142634.00,A,5157.42512,N,00424.65830,E,44.086,334.36,120308,,,A*53
+$GPRMC,142635.00,A,5157.43615,N,00424.64976,E,43.530,334.48,120308,,,A*53
+$GPRMC,142636.00,A,5157.44705,N,00424.64129,E,43.038,334.29,120308,,,A*5F
+$GPRMC,142637.00,A,5157.45783,N,00424.63284,E,42.635,334.01,120308,,,A*52
+$GPRMC,142638.00,A,5157.46847,N,00424.62445,E,42.177,334.20,120308,,,A*51
+$GPRMC,142639.00,A,5157.47897,N,00424.61623,E,41.678,334.22,120308,,,A*54
+$GPRMC,142640.00,A,5157.48937,N,00424.60811,E,41.313,334.16,120308,,,A*5F
+$GPRMC,142641.00,A,5157.49967,N,00424.60006,E,40.977,334.16,120308,,,A*5D
+$GPRMC,142642.00,A,5157.50988,N,00424.59208,E,40.608,334.22,120308,,,A*51
+$GPRMC,142643.00,A,5157.52003,N,00424.58419,E,40.204,334.30,120308,,,A*54
+$GPRMC,142644.00,A,5157.53008,N,00424.57638,E,39.836,334.32,120308,,,A*50
+$GPRMC,142645.00,A,5157.54005,N,00424.56864,E,39.615,334.35,120308,,,A*55
+$GPRMC,142646.00,A,5157.54997,N,00424.56091,E,39.526,334.36,120308,,,A*56
+$GPRMC,142647.00,A,5157.55994,N,00424.55322,E,39.795,334.56,120308,,,A*51
+$GPRMC,142648.00,A,5157.56997,N,00424.54539,E,40.422,334.16,120308,,,A*56
+$GPRMC,142649.00,A,5157.58013,N,00424.53738,E,40.787,333.95,120308,,,A*58
+$GPRMC,142650.00,A,5157.59027,N,00424.52940,E,40.158,333.78,120308,,,A*51
+$GPRMC,142651.00,A,5157.60025,N,00424.52150,E,39.704,333.91,120308,,,A*57
+$GPRMC,142652.00,A,5157.61020,N,00424.51370,E,39.741,334.08,120308,,,A*55
+$GPRMC,142653.00,A,5157.62020,N,00424.50594,E,40.030,334.39,120308,,,A*57
+$GPRMC,142654.00,A,5157.63052,N,00424.49820,E,41.884,335.63,120308,,,A*56
+$GPRMC,142655.00,A,5157.64083,N,00424.49050,E,40.898,334.77,120308,,,A*5B
+$GPRMC,142656.00,A,5157.65091,N,00424.48252,E,40.628,334.23,120308,,,A*5F
+$GPRMC,142657.00,A,5157.66105,N,00424.47455,E,40.647,334.29,120308,,,A*5C
+$GPRMC,142658.00,A,5157.67132,N,00424.46659,E,41.196,334.36,120308,,,A*5D
+$GPRMC,142659.00,A,5157.68168,N,00424.45859,E,41.382,334.53,120308,,,A*55
+$GPRMC,142700.00,A,5157.69206,N,00424.45062,E,41.297,334.49,120308,,,A*5C
+$GPRMC,142701.00,A,5157.70233,N,00424.44262,E,40.929,334.36,120308,,,A*57
+$GPRMC,142702.00,A,5157.71251,N,00424.43474,E,40.402,334.48,120308,,,A*5A
+$GPRMC,142703.00,A,5157.72259,N,00424.42696,E,40.181,334.51,120308,,,A*59
+$GPRMC,142704.00,A,5157.73266,N,00424.41917,E,40.200,334.41,120308,,,A*5D
+$GPRMC,142705.00,A,5157.74276,N,00424.41140,E,40.164,334.70,120308,,,A*53
+$GPRMC,142706.00,A,5157.75284,N,00424.40362,E,40.190,334.37,120308,,,A*57
+$GPRMC,142707.00,A,5157.76290,N,00424.39578,E,40.235,334.26,120308,,,A*5F
+$GPRMC,142708.00,A,5157.77295,N,00424.38791,E,40.176,334.17,120308,,,A*56
+$GPRMC,142709.00,A,5157.78295,N,00424.38004,E,39.954,334.03,120308,,,A*50
+$GPRMC,142710.00,A,5157.79288,N,00424.37218,E,39.660,333.90,120308,,,A*50
+$GPRMC,142711.00,A,5157.80275,N,00424.36435,E,39.471,334.04,120308,,,A*55
+$GPRMC,142712.00,A,5157.81264,N,00424.35655,E,39.872,334.42,120308,,,A*5D
+$GPRMC,142713.00,A,5157.82271,N,00424.34876,E,40.501,334.57,120308,,,A*56
+$GPRMC,142714.00,A,5157.83287,N,00424.34090,E,40.696,334.66,120308,,,A*56
+$GPRMC,142715.00,A,5157.84306,N,00424.33303,E,40.725,334.68,120308,,,A*51
+$GPRMC,142716.00,A,5157.85324,N,00424.32515,E,40.608,334.54,120308,,,A*52
+$GPRMC,142717.00,A,5157.86337,N,00424.31730,E,40.418,334.54,120308,,,A*57
+$GPRMC,142718.00,A,5157.87348,N,00424.30941,E,40.345,334.15,120308,,,A*52
+$GPRMC,142719.00,A,5157.88352,N,00424.30147,E,40.209,333.98,120308,,,A*52
+$GPRMC,142720.00,A,5157.89351,N,00424.29353,E,39.965,333.98,120308,,,A*5A
+$GPRMC,142721.00,A,5157.90345,N,00424.28564,E,39.999,334.06,120308,,,A*56
+$GPRMC,142722.00,A,5157.91342,N,00424.27780,E,39.960,334.21,120308,,,A*57
+$GPRMC,142723.00,A,5157.92335,N,00424.27001,E,39.691,334.31,120308,,,A*5B
+$GPRMC,142724.00,A,5157.93335,N,00424.26226,E,40.268,334.51,120308,,,A*51
+$GPRMC,142725.00,A,5157.94351,N,00424.25444,E,40.773,334.53,120308,,,A*59
+$GPRMC,142726.00,A,5157.95371,N,00424.24646,E,41.094,334.32,120308,,,A*50
+$GPRMC,142727.00,A,5157.96400,N,00424.23837,E,41.374,334.08,120308,,,A*58
+$GPRMC,142728.00,A,5157.97433,N,00424.23023,E,41.406,334.04,120308,,,A*55
+$GPRMC,142729.00,A,5157.98462,N,00424.22210,E,41.330,334.20,120308,,,A*58
+$GPRMC,142730.00,A,5157.99490,N,00424.21407,E,41.068,334.28,120308,,,A*59
+$GPRMC,142731.00,A,5158.00509,N,00424.20608,E,40.749,334.29,120308,,,A*5E
+$GPRMC,142732.00,A,5158.01522,N,00424.19817,E,40.473,334.16,120308,,,A*59
+$GPRMC,142733.00,A,5158.02529,N,00424.19029,E,40.288,334.06,120308,,,A*56
+$GPRMC,142734.00,A,5158.03533,N,00424.18240,E,40.241,334.04,120308,,,A*50
+$GPRMC,142735.00,A,5158.04541,N,00424.17447,E,40.609,334.23,120308,,,A*50
+$GPRMC,142736.00,A,5158.05562,N,00424.16644,E,41.339,334.12,120308,,,A*56
+$GPRMC,142737.00,A,5158.06599,N,00424.15833,E,41.570,334.29,120308,,,A*5E
+$GPRMC,142738.00,A,5158.07637,N,00424.15023,E,41.447,334.36,120308,,,A*55
+$GPRMC,142739.00,A,5158.08667,N,00424.14221,E,40.830,334.31,120308,,,A*55
+$GPRMC,142740.00,A,5158.09680,N,00424.13429,E,40.255,334.17,120308,,,A*57
+$GPRMC,142741.00,A,5158.10684,N,00424.12642,E,40.060,334.04,120308,,,A*52
+$GPRMC,142742.00,A,5158.11687,N,00424.11855,E,40.164,334.20,120308,,,A*5B
+$GPRMC,142743.00,A,5158.12694,N,00424.11070,E,40.229,334.35,120308,,,A*5A
+$GPRMC,142744.00,A,5158.13700,N,00424.10285,E,40.147,334.25,120308,,,A*53
+$GPRMC,142745.00,A,5158.14702,N,00424.09497,E,40.119,333.97,120308,,,A*5F
+$GPRMC,142746.00,A,5158.15707,N,00424.08706,E,40.349,334.21,120308,,,A*5F
+$GPRMC,142747.00,A,5158.16722,N,00424.07914,E,40.873,334.48,120308,,,A*55
+$GPRMC,142748.00,A,5158.17753,N,00424.07115,E,41.412,334.45,120308,,,A*53
+$GPRMC,142749.00,A,5158.18797,N,00424.06308,E,41.916,334.57,120308,,,A*50
+$GPRMC,142750.00,A,5158.19852,N,00424.05499,E,42.110,334.60,120308,,,A*5A
+$GPRMC,142751.00,A,5158.20910,N,00424.04682,E,42.209,334.37,120308,,,A*56
+$GPRMC,142752.00,A,5158.21972,N,00424.03860,E,42.323,334.47,120308,,,A*5B
+$GPRMC,142753.00,A,5158.23043,N,00424.03037,E,42.541,334.72,120308,,,A*5D
+$GPRMC,142754.00,A,5158.24123,N,00424.02227,E,42.930,335.56,120308,,,A*55
+$GPRMC,142755.00,A,5158.25214,N,00424.01456,E,42.621,337.02,120308,,,A*5D
+$GPRMC,142756.00,A,5158.26309,N,00424.00744,E,42.168,338.79,120308,,,A*58
+$GPRMC,142757.00,A,5158.27403,N,00424.00081,E,41.777,339.78,120308,,,A*50
+$GPRMC,142758.00,A,5158.28493,N,00423.99455,E,41.408,340.70,120308,,,A*5E
+$GPRMC,142759.00,A,5158.29580,N,00423.98866,E,41.012,341.92,120308,,,A*52
+$GPRMC,142800.00,A,5158.30665,N,00423.98322,E,40.719,343.19,120308,,,A*56
+$GPRMC,142801.00,A,5158.31754,N,00423.97817,E,40.768,344.36,120308,,,A*5B
+$GPRMC,142802.00,A,5158.32851,N,00423.97338,E,40.986,344.94,120308,,,A*51
+$GPRMC,142803.00,A,5158.33949,N,00423.96875,E,40.827,345.47,120308,,,A*5F
+$GPRMC,142804.00,A,5158.35039,N,00423.96419,E,40.295,345.10,120308,,,A*57
+$GPRMC,142805.00,A,5158.36113,N,00423.95961,E,39.784,344.92,120308,,,A*5D
+$GPRMC,142806.00,A,5158.37172,N,00423.95503,E,39.240,344.84,120308,,,A*5A
+$GPRMC,142807.00,A,5158.38218,N,00423.95054,E,38.875,345.12,120308,,,A*5F
+$GPRMC,142808.00,A,5158.39259,N,00423.94620,E,38.569,345.49,120308,,,A*5E
+$GPRMC,142809.00,A,5158.40294,N,00423.94194,E,38.356,345.61,120308,,,A*58
+$GPRMC,142810.00,A,5158.41324,N,00423.93769,E,38.219,345.48,120308,,,A*59
+$GPRMC,142811.00,A,5158.42349,N,00423.93342,E,38.068,345.42,120308,,,A*53
+$GPRMC,142812.00,A,5158.43369,N,00423.92920,E,37.882,345.59,120308,,,A*55
+$GPRMC,142813.00,A,5158.44384,N,00423.92506,E,37.569,345.69,120308,,,A*53
+$GPRMC,142814.00,A,5158.45390,N,00423.92093,E,37.330,345.62,120308,,,A*58
+$GPRMC,142815.00,A,5158.46394,N,00423.91676,E,37.530,345.42,120308,,,A*54
+$GPRMC,142816.00,A,5158.47400,N,00423.91251,E,37.554,345.11,120308,,,A*59
+$GPRMC,142817.00,A,5158.48429,N,00423.90809,E,38.878,344.99,120308,,,A*57
+$GPRMC,142818.00,A,5158.49478,N,00423.90350,E,39.707,344.79,120308,,,A*52
+$GPRMC,142819.00,A,5158.50547,N,00423.89879,E,40.264,344.71,120308,,,A*58
+$GPRMC,142820.00,A,5158.51629,N,00423.89402,E,40.585,344.86,120308,,,A*58
+$GPRMC,142821.00,A,5158.52720,N,00423.88929,E,40.868,345.04,120308,,,A*52
+$GPRMC,142822.00,A,5158.53819,N,00423.88458,E,41.094,345.21,120308,,,A*53
+$GPRMC,142823.00,A,5158.54929,N,00423.87989,E,41.414,345.53,120308,,,A*50
+$GPRMC,142824.00,A,5158.56040,N,00423.87524,E,41.192,345.44,120308,,,A*55
+$GPRMC,142825.00,A,5158.57145,N,00423.87058,E,41.099,345.36,120308,,,A*50
+$GPRMC,142826.00,A,5158.58249,N,00423.86590,E,41.114,345.33,120308,,,A*52
+$GPRMC,142827.00,A,5158.59356,N,00423.86121,E,41.202,345.35,120308,,,A*51
+$GPRMC,142828.00,A,5158.60471,N,00423.85649,E,41.681,345.32,120308,,,A*54
+$GPRMC,142829.00,A,5158.61600,N,00423.85171,E,42.197,345.19,120308,,,A*56
+$GPRMC,142830.00,A,5158.62738,N,00423.84685,E,42.500,345.12,120308,,,A*5B
+$GPRMC,142831.00,A,5158.63884,N,00423.84198,E,42.704,345.19,120308,,,A*55
+$GPRMC,142832.00,A,5158.65032,N,00423.83705,E,42.855,345.09,120308,,,A*5A
+$GPRMC,142833.00,A,5158.66188,N,00423.83203,E,43.018,344.86,120308,,,A*5D
+$GPRMC,142834.00,A,5158.67346,N,00423.82691,E,43.225,344.63,120308,,,A*52
+$GPRMC,142835.00,A,5158.68512,N,00423.82175,E,43.553,344.54,120308,,,A*54
+$GPRMC,142836.00,A,5158.69684,N,00423.81657,E,43.767,344.79,120308,,,A*54
+$GPRMC,142837.00,A,5158.70863,N,00423.81147,E,43.978,345.14,120308,,,A*56
+$GPRMC,142838.00,A,5158.72047,N,00423.80644,E,44.182,345.30,120308,,,A*5C
+$GPRMC,142839.00,A,5158.73236,N,00423.80142,E,44.442,345.37,120308,,,A*57
+$GPRMC,142840.00,A,5158.74431,N,00423.79641,E,44.605,345.60,120308,,,A*5E
+$GPRMC,142841.00,A,5158.75636,N,00423.79155,E,45.012,346.44,120308,,,A*5D
+$GPRMC,142842.00,A,5158.76841,N,00423.78688,E,44.913,346.49,120308,,,A*51
+$GPRMC,142843.00,A,5158.78054,N,00423.78225,E,45.252,347.19,120308,,,A*5A
+$GPRMC,142844.00,A,5158.79276,N,00423.77784,E,45.368,347.78,120308,,,A*50
+$GPRMC,142845.00,A,5158.80508,N,00423.77360,E,45.562,348.10,120308,,,A*5A
+$GPRMC,142846.00,A,5158.81747,N,00423.76933,E,45.736,347.91,120308,,,A*59
+$GPRMC,142847.00,A,5158.82993,N,00423.76488,E,45.900,347.18,120308,,,A*5B
+$GPRMC,142848.00,A,5158.84235,N,00423.76021,E,45.917,346.67,120308,,,A*5D
+$GPRMC,142849.00,A,5158.85467,N,00423.75535,E,45.376,346.13,120308,,,A*51
+$GPRMC,142850.00,A,5158.86686,N,00423.75040,E,44.700,345.48,120308,,,A*59
+$GPRMC,142851.00,A,5158.87875,N,00423.74532,E,43.752,345.14,120308,,,A*53
+$GPRMC,142852.00,A,5158.89032,N,00423.74030,E,42.753,345.16,120308,,,A*50
+$GPRMC,142853.00,A,5158.90160,N,00423.73554,E,41.266,345.86,120308,,,A*56
+$GPRMC,142854.00,A,5158.91246,N,00423.73134,E,39.265,347.20,120308,,,A*57
+$GPRMC,142855.00,A,5158.92273,N,00423.72799,E,36.640,349.77,120308,,,A*53
+$GPRMC,142856.00,A,5158.93242,N,00423.72575,E,33.962,353.18,120308,,,A*5B
+$GPRMC,142857.00,A,5158.94126,N,00423.72473,E,30.916,358.74,120308,,,A*5A
+$GPRMC,142858.00,A,5158.94945,N,00423.72573,E,29.793,8.01,120308,,,A*56
+$GPRMC,142859.00,A,5158.95729,N,00423.72897,E,28.923,19.15,120308,,,A*64
+$GPRMC,142900.00,A,5158.96427,N,00423.73448,E,28.365,29.78,120308,,,A*68
+$GPRMC,142901.00,A,5158.97086,N,00423.74177,E,28.422,36.22,120308,,,A*6C
+$GPRMC,142902.00,A,5158.97691,N,00423.74972,E,28.246,38.53,120308,,,A*6E
+$GPRMC,142903.00,A,5158.98279,N,00423.75761,E,27.063,37.09,120308,,,A*65
+$GPRMC,142904.00,A,5158.98863,N,00423.76447,E,25.507,30.71,120308,,,A*6A
+$GPRMC,142905.00,A,5158.99474,N,00423.76938,E,24.012,19.62,120308,,,A*6C
+$GPRMC,142906.00,A,5159.00097,N,00423.77174,E,22.828,4.15,120308,,,A*5D
+$GPRMC,142907.00,A,5159.00722,N,00423.77142,E,22.872,351.57,120308,,,A*5A
+$GPRMC,142908.00,A,5159.01318,N,00423.76932,E,22.146,345.32,120308,,,A*5F
+$GPRMC,142909.00,A,5159.01876,N,00423.76654,E,21.715,343.38,120308,,,A*5D
+$GPRMC,142910.00,A,5159.02430,N,00423.76374,E,21.291,343.75,120308,,,A*5F
+$GPRMC,142911.00,A,5159.02975,N,00423.76111,E,20.534,344.59,120308,,,A*53
+$GPRMC,142912.00,A,5159.03493,N,00423.75866,E,19.669,345.18,120308,,,A*5B
+$GPRMC,142913.00,A,5159.03993,N,00423.75639,E,18.817,345.32,120308,,,A*5D
+$GPRMC,142914.00,A,5159.04478,N,00423.75426,E,18.048,345.43,120308,,,A*5D
+$GPRMC,142915.00,A,5159.04943,N,00423.75225,E,17.170,345.32,120308,,,A*5F
+$GPRMC,142916.00,A,5159.05374,N,00423.75042,E,15.777,346.36,120308,,,A*54
+$GPRMC,142917.00,A,5159.05740,N,00423.74918,E,13.042,351.53,120308,,,A*53
+$GPRMC,142918.00,A,5159.06021,N,00423.74874,E,10.776,0.01,120308,,,A*57
+$GPRMC,142919.00,A,5159.06246,N,00423.74929,E,7.476,16.64,120308,,,A*5D
+$GPRMC,142920.00,A,5159.06370,N,00423.75035,E,4.774,34.11,120308,,,A*56
+$GPRMC,142921.00,A,5159.06404,N,00423.75115,E,2.145,41.49,120308,,,A*5D
+$GPRMC,142922.00,A,5159.06406,N,00423.75145,E,0.144,41.59,120308,,,A*5B
+$GPRMC,142923.00,A,5159.06389,N,00423.75152,E,0.026,40.17,120308,,,A*52
+$GPRMC,142924.00,A,5159.06378,N,00423.75157,E,0.051,40.48,120308,,,A*54
+$GPRMC,142925.00,A,5159.06367,N,00423.75165,E,0.039,41.08,120308,,,A*51
+$GPRMC,142926.00,A,5159.06356,N,00423.75171,E,0.025,35.96,120308,,,A*5C
+$GPRMC,142927.00,A,5159.06349,N,00423.75167,E,0.037,36.14,120308,,,A*5E
+$GPRMC,142928.00,A,5159.06342,N,00423.75160,E,0.034,35.87,120308,,,A*57
+$GPRMC,142929.00,A,5159.06334,N,00423.75150,E,0.023,31.62,120308,,,A*5D
+$GPRMC,142930.00,A,5159.06324,N,00423.75139,E,0.030,31.53,120308,,,A*5B
+$GPRMC,142931.00,A,5159.06317,N,00423.75132,E,0.030,36.76,120308,,,A*51
+$GPRMC,142932.00,A,5159.06307,N,00423.75124,E,0.031,37.06,120308,,,A*53
+$GPRMC,142933.00,A,5159.06293,N,00423.75113,E,0.110,31.52,120308,,,A*5F
+$GPRMC,142934.00,A,5159.06279,N,00423.75096,E,0.559,20.99,120308,,,A*5E
+$GPRMC,142935.00,A,5159.06258,N,00423.75071,E,1.668,11.37,120308,,,A*53
+$GPRMC,142936.00,A,5159.06221,N,00423.75027,E,2.072,223.02,120308,,,A*66
+$GPRMC,142937.00,A,5159.06205,N,00423.75015,E,1.062,221.71,120308,,,A*64
+$GPRMC,142938.00,A,5159.06203,N,00423.75022,E,0.389,229.52,120308,,,A*67
+$GPRMC,142939.00,A,5159.06278,N,00423.75012,E,4.120,339.02,120308,,,A*69
+$GPRMC,142940.00,A,5159.06424,N,00423.74905,E,7.525,330.96,120308,,,A*60
+$GPRMC,142941.00,A,5159.06636,N,00423.74729,E,9.504,331.37,120308,,,A*67
+$GPRMC,142942.00,A,5159.06867,N,00423.74540,E,9.423,336.18,120308,,,A*6D
+$GPRMC,142943.00,A,5159.07099,N,00423.74428,E,8.412,351.10,120308,,,A*61
+$GPRMC,142944.00,A,5159.07317,N,00423.74464,E,6.864,17.43,120308,,,A*5F
+$GPRMC,142945.00,A,5159.07458,N,00423.74589,E,4.827,34.23,120308,,,A*52
+$GPRMC,142946.00,A,5159.07523,N,00423.74681,E,1.423,34.48,120308,,,A*57
+$GPRMC,142947.00,A,5159.07531,N,00423.74706,E,0.018,,120308,,,A*73
+$GPRMC,142948.00,A,5159.07524,N,00423.74712,E,0.014,,120308,,,A*71
+$GPRMC,142949.00,A,5159.07526,N,00423.74721,E,0.014,,120308,,,A*72
+$GPRMC,142950.00,A,5159.07525,N,00423.74722,E,0.017,,120308,,,A*79
+$GPRMC,142951.00,A,5159.07529,N,00423.74726,E,0.012,,120308,,,A*75
+$GPRMC,142952.00,A,5159.07529,N,00423.74710,E,0.009,,120308,,,A*79
+$GPRMC,142953.00,A,5159.07537,N,00423.74700,E,0.100,33.11,120308,,,A*50
+$GPRMC,142954.00,A,5159.07553,N,00423.74701,E,0.005,,120308,,,A*7E
+$GPRMC,142955.00,A,5159.07562,N,00423.74700,E,0.006,,120308,,,A*7F
+$GPRMC,142956.00,A,5159.07569,N,00423.74695,E,0.012,,120308,,,A*7F
+$GPRMC,142957.00,A,5159.07573,N,00423.74690,E,0.003,,120308,,,A*70
+$GPRMC,142958.00,A,5159.07572,N,00423.74679,E,0.009,,120308,,,A*73
+$GPRMC,142959.00,A,5159.07568,N,00423.74666,E,0.010,,120308,,,A*7F
+$GPRMC,143000.00,A,5159.07564,N,00423.74657,E,0.012,,120308,,,A*77
+$GPRMC,143001.00,A,5159.07562,N,00423.74662,E,0.009,,120308,,,A*7C
+$GPRMC,143002.00,A,5159.07561,N,00423.74664,E,0.015,,120308,,,A*77
+$GPRMC,143003.00,A,5159.07560,N,00423.74668,E,0.018,,120308,,,A*76
+$GPRMC,143004.00,A,5159.07558,N,00423.74673,E,0.009,,120308,,,A*70
+$GPRMC,143005.00,A,5159.07556,N,00423.74679,E,0.015,,120308,,,A*78
+$GPRMC,143006.00,A,5159.07555,N,00423.74686,E,0.012,,120308,,,A*7F
+$GPRMC,143007.00,A,5159.07556,N,00423.74693,E,0.014,,120308,,,A*7F
+$GPRMC,143008.00,A,5159.07556,N,00423.74698,E,0.006,,120308,,,A*78
+$GPRMC,143009.00,A,5159.07557,N,00423.74704,E,0.006,,120308,,,A*7C
+$GPRMC,143010.00,A,5159.07558,N,00423.74710,E,0.016,,120308,,,A*7F
+$GPRMC,143011.00,A,5159.07562,N,00423.74721,E,0.007,,120308,,,A*75
+$GPRMC,143012.00,A,5159.07566,N,00423.74736,E,0.006,,120308,,,A*75
+$GPRMC,143013.00,A,5159.07570,N,00423.74749,E,0.007,,120308,,,A*7A
+$GPRMC,143014.00,A,5159.07574,N,00423.74760,E,0.021,33.52,120308,,,A*5F
+$GPRMC,143015.00,A,5159.07578,N,00423.74769,E,0.015,,120308,,,A*75
+$GPRMC,143016.00,A,5159.07581,N,00423.74777,E,0.014,,120308,,,A*7E
+$GPRMC,143017.00,A,5159.07583,N,00423.74783,E,0.066,34.12,120308,,,A*59
+$GPRMC,143018.00,A,5159.07584,N,00423.74784,E,0.010,,120308,,,A*7D
+$GPRMC,143019.00,A,5159.07584,N,00423.74782,E,0.011,,120308,,,A*7B
+$GPRMC,143020.00,A,5159.07583,N,00423.74780,E,0.023,29.06,120308,,,A*56
+$GPRMC,143021.00,A,5159.07583,N,00423.74778,E,0.013,,120308,,,A*70
+$GPRMC,143022.00,A,5159.07584,N,00423.74785,E,0.016,,120308,,,A*73
+$GPRMC,143023.00,A,5159.07585,N,00423.74782,E,0.026,24.49,120308,,,A*52
+$GPRMC,143024.00,A,5159.07585,N,00423.74775,E,0.024,25.83,120308,,,A*58
+$GPRMC,143025.00,A,5159.07586,N,00423.74773,E,0.011,,120308,,,D*7D
+$GPRMC,143026.00,A,5159.07586,N,00423.74766,E,0.020,27.02,120308,,,D*51
+$GPRMC,143027.00,A,5159.07587,N,00423.74766,E,0.019,,120308,,,D*72
+$GPRMC,143028.00,A,5159.07587,N,00423.74766,E,0.012,,120308,,,D*76
+$GPRMC,143029.00,A,5159.07587,N,00423.74763,E,0.133,23.00,120308,,,D*5F
+$GPRMC,143030.00,A,5159.07586,N,00423.74760,E,0.020,18.83,120308,,,D*55
+$GPRMC,143031.00,A,5159.07584,N,00423.74767,E,0.014,,120308,,,D*7A
+$GPRMC,143032.00,A,5159.07584,N,00423.74770,E,0.009,,120308,,,D*73
+$GPRMC,143033.00,A,5159.07583,N,00423.74771,E,0.013,,120308,,,D*7F
+$GPRMC,143034.00,A,5159.07580,N,00423.74770,E,0.005,,120308,,,D*7D
+$GPRMC,143035.00,A,5159.07577,N,00423.74779,E,0.086,19.99,120308,,,D*50
+$GPRMC,143036.00,A,5159.07576,N,00423.74783,E,0.006,,120308,,,D*79
+$GPRMC,143037.00,A,5159.07574,N,00423.74788,E,0.010,,120308,,,D*76
+$GPRMC,143038.00,A,5159.07572,N,00423.74793,E,0.010,,120308,,,D*75
+$GPRMC,143039.00,A,5159.07571,N,00423.74793,E,0.018,,120308,,,D*7F
+$GPRMC,143040.00,A,5159.07571,N,00423.74801,E,0.019,,120308,,,D*74
+$GPRMC,143041.00,A,5159.07569,N,00423.74801,E,0.012,,120308,,,D*77
+$GPRMC,143042.00,A,5159.07570,N,00423.74803,E,0.008,,120308,,,D*75
+$GPRMC,143043.00,A,5159.07571,N,00423.74815,E,0.016,,120308,,,D*7D
+$GPRMC,143044.00,A,5159.07571,N,00423.74815,E,0.023,15.49,120308,,,D*5B
+$GPRMC,143045.00,A,5159.07572,N,00423.74820,E,0.011,,120308,,,D*79
+$GPRMC,143046.00,A,5159.07572,N,00423.74819,E,0.012,,120308,,,D*73
+$GPRMC,143047.00,A,5159.07572,N,00423.74819,E,0.007,,120308,,,D*76
+$GPRMC,143048.00,A,5159.07574,N,00423.74819,E,0.004,,120308,,,D*7C
+$GPRMC,143049.00,A,5159.07575,N,00423.74820,E,0.010,,120308,,,D*73
+$GPRMC,143050.00,A,5159.07576,N,00423.74820,E,0.016,,120308,,,D*7E
+$GPRMC,143051.00,A,5159.07577,N,00423.74820,E,0.007,,120308,,,D*7E
+$GPRMC,143052.00,A,5159.07578,N,00423.74818,E,0.013,,120308,,,D*7C
+$GPRMC,143053.00,A,5159.07579,N,00423.74817,E,0.008,,120308,,,D*79
+$GPRMC,143054.00,A,5159.07580,N,00423.74815,E,0.013,,120308,,,D*70
+$GPRMC,143055.00,A,5159.07581,N,00423.74814,E,0.014,,120308,,,D*76
+$GPRMC,143056.00,A,5159.07585,N,00423.74820,E,0.053,15.99,120308,,,D*5F
+$GPRMC,143057.00,A,5159.07590,N,00423.74827,E,0.048,14.87,120308,,,D*59
+$GPRMC,143058.00,A,5159.07593,N,00423.74834,E,0.063,20.31,120308,,,D*54
+$GPRMC,143059.00,A,5159.07597,N,00423.74843,E,0.005,,120308,,,D*7F
+$GPRMC,143100.00,A,5159.07599,N,00423.74852,E,0.004,,120308,,,D*7D
+$GPRMC,143101.00,A,5159.07601,N,00423.74859,E,0.019,,120308,,,D*79
+$GPRMC,143102.00,A,5159.07603,N,00423.74865,E,0.013,,120308,,,D*7D
+$GPRMC,143103.00,A,5159.07605,N,00423.74866,E,0.018,,120308,,,D*72
+$GPRMC,143104.00,A,5159.07607,N,00423.74869,E,0.008,,120308,,,D*79
+$GPRMC,143105.00,A,5159.07609,N,00423.74875,E,0.004,,120308,,,D*77
+$GPRMC,143106.00,A,5159.07611,N,00423.74878,E,0.008,,120308,,,D*7C
+$GPRMC,143107.00,A,5159.07611,N,00423.74873,E,0.011,,120308,,,D*7E
+$GPRMC,143108.00,A,5159.07614,N,00423.74869,E,0.010,,120308,,,D*7E
+$GPRMC,143109.00,A,5159.07615,N,00423.74872,E,0.009,,120308,,,D*7C
+$GPRMC,143110.00,A,5159.07615,N,00423.74867,E,0.030,16.74,120308,,,D*50
+$GPRMC,143111.00,A,5159.07616,N,00423.74865,E,0.009,,120308,,,D*70
+$GPRMC,143112.00,A,5159.07616,N,00423.74861,E,0.019,,120308,,,D*76
+$GPRMC,143113.00,A,5159.07616,N,00423.74854,E,0.016,,120308,,,D*7E
+$GPRMC,143114.00,A,5159.07616,N,00423.74844,E,0.016,,120308,,,D*78
+$GPRMC,143115.00,A,5159.07618,N,00423.74837,E,0.012,,120308,,,D*77
+$GPRMC,143116.00,A,5159.07618,N,00423.74831,E,0.009,,120308,,,D*78
+$GPRMC,143117.00,A,5159.07619,N,00423.74830,E,0.026,13.02,120308,,,D*5A
+$GPRMC,143118.00,A,5159.07622,N,00423.74834,E,0.015,,120308,,,D*77
+$GPRMC,143119.00,A,5159.07622,N,00423.74838,E,0.010,,120308,,,D*7F
+$GPRMC,143120.00,A,5159.07625,N,00423.74844,E,0.005,,120308,,,D*7D
+$GPRMC,143121.00,A,5159.07626,N,00423.74849,E,0.014,,120308,,,D*72
+$GPRMC,143122.00,A,5159.07625,N,00423.74852,E,0.040,9.79,120308,,,D*60
+$GPRMC,143123.00,A,5159.07625,N,00423.74854,E,0.005,,120308,,,D*7F
+$GPRMC,143124.00,A,5159.07624,N,00423.74854,E,0.006,,120308,,,D*7A
+$GPRMC,143125.00,A,5159.07624,N,00423.74855,E,0.016,,120308,,,D*7B
+$GPRMC,143126.00,A,5159.07624,N,00423.74856,E,0.006,,120308,,,D*7A
+$GPRMC,143127.00,A,5159.07625,N,00423.74856,E,0.010,,120308,,,D*7D
+$GPRMC,143128.00,A,5159.07624,N,00423.74853,E,0.008,,120308,,,D*7F
+$GPRMC,143129.00,A,5159.07625,N,00423.74852,E,0.003,,120308,,,D*75
+$GPRMC,143130.00,A,5159.07628,N,00423.74856,E,0.019,,120308,,,D*7F
+$GPRMC,143131.00,A,5159.07630,N,00423.74859,E,0.018,,120308,,,D*79
+$GPRMC,143132.00,A,5159.07631,N,00423.74860,E,0.005,,120308,,,D*7D
+$GPRMC,143133.00,A,5159.07632,N,00423.74865,E,0.025,15.31,120308,,,D*50
+$GPRMC,143134.00,A,5159.07634,N,00423.74866,E,0.041,14.31,120308,,,D*51
+$GPRMC,143135.00,A,5159.07634,N,00423.74867,E,0.071,13.69,120308,,,D*58
+$GPRMC,143136.00,A,5159.07636,N,00423.74870,E,0.014,,120308,,,D*7F
+$GPRMC,143137.00,A,5159.07636,N,00423.74873,E,0.016,,120308,,,D*7F
+$GPRMC,143138.00,A,5159.07636,N,00423.74873,E,0.022,9.49,120308,,,D*6D
+$GPRMC,143139.00,A,5159.07637,N,00423.74874,E,0.040,5.67,120308,,,D*6E
+$GPRMC,143140.00,A,5159.07640,N,00423.74876,E,0.044,6.88,120308,,,D*64
+$GPRMC,143141.00,A,5159.07642,N,00423.74880,E,0.025,4.04,120308,,,D*6F
+$GPRMC,143142.00,A,5159.07646,N,00423.74883,E,0.033,358.94,120308,,,D*6F
+$GPRMC,143143.00,A,5159.07646,N,00423.74884,E,0.010,,120308,,,D*75
+$GPRMC,143144.00,A,5159.07648,N,00423.74884,E,0.008,,120308,,,D*75
+$GPRMC,143145.00,A,5159.07649,N,00423.74885,E,0.016,,120308,,,D*7B
+$GPRMC,143146.00,A,5159.07648,N,00423.74882,E,0.015,,120308,,,D*7D
+$GPRMC,143147.00,A,5159.07649,N,00423.74880,E,0.011,,120308,,,D*7B
+$GPRMC,143148.00,A,5159.07648,N,00423.74877,E,0.014,,120308,,,D*78
+$GPRMC,143149.00,A,5159.07648,N,00423.74877,E,0.004,,120308,,,D*78
+$GPRMC,143150.00,A,5159.07646,N,00423.74876,E,0.025,354.63,120308,,,D*65
+$GPRMC,143151.00,A,5159.07644,N,00423.74874,E,0.007,,120308,,,D*7D
+$GPRMC,143152.00,A,5159.07642,N,00423.74871,E,0.011,,120308,,,D*7A
+$GPRMC,143153.00,A,5159.07645,N,00423.74879,E,0.009,,120308,,,D*7D
+$GPRMC,143154.00,A,5159.07647,N,00423.74883,E,0.012,,120308,,,D*77
+$GPRMC,143155.00,A,5159.07647,N,00423.74888,E,0.008,,120308,,,D*76
+$GPRMC,143156.00,A,5159.07648,N,00423.74893,E,0.012,,120308,,,D*7B
+$GPRMC,143157.00,A,5159.07647,N,00423.74896,E,0.016,,120308,,,D*74
+$GPRMC,143158.00,A,5159.07647,N,00423.74897,E,0.016,,120308,,,D*7A
+$GPRMC,143159.00,A,5159.07651,N,00423.74893,E,0.026,351.28,120308,,,D*68
+$GPRMC,143200.00,A,5159.07656,N,00423.74895,E,0.011,,120308,,,D*71
+$GPRMC,143201.00,A,5159.07660,N,00423.74891,E,0.008,,120308,,,D*79
+$GPRMC,143202.00,A,5159.07666,N,00423.74891,E,0.069,347.15,120308,,,D*61
+$GPRMC,143203.00,A,5159.07665,N,00423.74897,E,0.003,,120308,,,D*73
+$GPRMC,143204.00,A,5159.07666,N,00423.74902,E,0.018,,120308,,,D*70
+$GPRMC,143205.00,A,5159.07670,N,00423.74904,E,0.019,,120308,,,D*71
+$GPRMC,143206.00,A,5159.07671,N,00423.74909,E,0.003,,120308,,,D*75
+$GPRMC,143207.00,A,5159.07673,N,00423.74910,E,0.009,,120308,,,D*74
+$GPRMC,143208.00,A,5159.07676,N,00423.74911,E,0.008,,120308,,,D*7E
+$GPRMC,143209.00,A,5159.07675,N,00423.74910,E,0.007,,120308,,,D*72
+$GPRMC,143210.00,A,5159.07675,N,00423.74909,E,0.017,,120308,,,D*73
+$GPRMC,143211.00,A,5159.07677,N,00423.74905,E,0.005,,120308,,,D*7F
+$GPRMC,143212.00,A,5159.07676,N,00423.74902,E,0.003,,120308,,,D*7C
+$GPRMC,143213.00,A,5159.07676,N,00423.74903,E,0.001,,120308,,,D*7E
+$GPRMC,143214.00,A,5159.07672,N,00423.74899,E,0.017,,120308,,,D*78
+$GPRMC,143215.00,A,5159.07670,N,00423.74895,E,0.009,,120308,,,D*78
+$GPRMC,143216.00,A,5159.07666,N,00423.74890,E,0.020,352.14,120308,,,D*6D
+$GPRMC,143217.00,A,5159.07662,N,00423.74884,E,0.022,348.28,120308,,,D*6B
+$GPRMC,143218.00,A,5159.07661,N,00423.74883,E,0.012,,120308,,,D*78
+$GPRMC,143219.00,A,5159.07658,N,00423.74882,E,0.015,,120308,,,D*75
+$GPRMC,143220.00,A,5159.07658,N,00423.74884,E,0.002,,120308,,,D*7F
+$GPRMC,143221.00,A,5159.07655,N,00423.74882,E,0.011,,120308,,,D*77
+$GPRMC,143222.00,A,5159.07652,N,00423.74882,E,0.008,,120308,,,D*7B
+$GPRMC,143223.00,A,5159.07647,N,00423.74878,E,0.102,344.29,120308,,,D*66
+$GPRMC,143224.00,A,5159.07643,N,00423.74879,E,0.009,,120308,,,D*78
+$GPRMC,143225.00,A,5159.07635,N,00423.74870,E,0.014,,120308,,,D*7D
+$GPRMC,143226.00,A,5159.07629,N,00423.74869,E,0.023,341.51,120308,,,D*63
+$GPRMC,143227.00,A,5159.07626,N,00423.74869,E,0.012,,120308,,,D*73
+$GPRMC,143228.00,A,5159.07622,N,00423.74866,E,0.026,337.06,120308,,,D*6F
+$GPRMC,143229.00,A,5159.07620,N,00423.74865,E,0.032,338.66,120308,,,D*63
+$GPRMC,143230.00,A,5159.07619,N,00423.74867,E,0.017,,120308,,,D*72
+$GPRMC,143231.00,A,5159.07616,N,00423.74869,E,0.023,333.87,120308,,,D*67
+$GPRMC,143232.00,A,5159.07615,N,00423.74871,E,0.013,,120308,,,D*7F
+$GPRMC,143233.00,A,5159.07612,N,00423.74871,E,0.010,,120308,,,D*7A
+$GPRMC,143234.00,A,5159.07608,N,00423.74877,E,0.003,,120308,,,D*72
+$GPRMC,143235.00,A,5159.07601,N,00423.74887,E,0.012,,120308,,,D*75
+$GPRMC,143236.00,A,5159.07593,N,00423.74897,E,0.015,,120308,,,D*78
+$GPRMC,143237.00,A,5159.07592,N,00423.74897,E,0.002,,120308,,,D*7E
+$GPRMC,143238.00,A,5159.07591,N,00423.74898,E,0.009,,120308,,,D*76
+$GPRMC,143239.00,A,5159.07587,N,00423.74903,E,0.010,,120308,,,D*7B
+$GPRMC,143240.00,A,5159.07585,N,00423.74902,E,0.013,,120308,,,D*75
+$GPRMC,143241.00,A,5159.07584,N,00423.74903,E,0.082,337.29,120308,,,D*6E
+$GPRMC,143242.00,A,5159.07583,N,00423.74905,E,0.021,341.25,120308,,,D*68
+$GPRMC,143243.00,A,5159.07580,N,00423.74904,E,0.014,,120308,,,D*72
+$GPRMC,143244.00,A,5159.07578,N,00423.74904,E,0.020,337.27,120308,,,D*69
+$GPRMC,143245.00,A,5159.07575,N,00423.74903,E,0.018,,120308,,,D*75
+$GPRMC,143246.00,A,5159.07570,N,00423.74901,E,0.015,,120308,,,D*7C
+$GPRMC,143247.00,A,5159.07566,N,00423.74900,E,0.005,,120308,,,D*7A
+$GPRMC,143248.00,A,5159.07562,N,00423.74901,E,0.008,,120308,,,D*7D
+$GPRMC,143249.00,A,5159.07559,N,00423.74900,E,0.002,,120308,,,D*7F
+$GPRMC,143250.00,A,5159.07556,N,00423.74898,E,0.005,,120308,,,D*7F
+$GPRMC,143251.00,A,5159.07553,N,00423.74895,E,0.011,,120308,,,D*73
+$GPRMC,143252.00,A,5159.07551,N,00423.74893,E,0.010,,120308,,,D*75
+$GPRMC,143253.00,A,5159.07547,N,00423.74889,E,0.010,,120308,,,D*78
+$GPRMC,143254.00,A,5159.07544,N,00423.74889,E,0.053,339.13,120308,,,D*6E
+$GPRMC,143255.00,A,5159.07543,N,00423.74891,E,0.005,,120308,,,D*77
+$GPRMC,143256.00,A,5159.07541,N,00423.74891,E,0.027,333.54,120308,,,D*6A
+$GPRMC,143257.00,A,5159.07539,N,00423.74886,E,0.012,,120308,,,D*78
+$GPRMC,143258.00,A,5159.07538,N,00423.74878,E,0.018,,120308,,,D*7D
+$GPRMC,143259.00,A,5159.07536,N,00423.74871,E,0.018,,120308,,,D*7B
+$GPRMC,143300.00,A,5159.07533,N,00423.74863,E,0.016,,120308,,,D*7E
+$GPRMC,143301.00,A,5159.07529,N,00423.74859,E,0.018,,120308,,,D*73
+$GPRMC,143302.00,A,5159.07527,N,00423.74857,E,0.018,,120308,,,D*70
+$GPRMC,143303.00,A,5159.07524,N,00423.74843,E,0.040,329.91,120308,,,D*64
+$GPRMC,143304.00,A,5159.07522,N,00423.74827,E,0.019,,120308,,,D*75
+$GPRMC,143305.00,A,5159.07519,N,00423.74811,E,0.020,335.50,120308,,,D*6D
+$GPRMC,143306.00,A,5159.07518,N,00423.74801,E,0.023,333.53,120308,,,D*68
+$GPRMC,143307.00,A,5159.07519,N,00423.74790,E,0.014,,120308,,,D*70
+$GPRMC,143308.00,A,5159.07522,N,00423.74777,E,0.002,,120308,,,D*79
+$GPRMC,143309.00,A,5159.07525,N,00423.74782,E,0.003,,120308,,,D*74
+$GPRMC,143310.00,A,5159.07529,N,00423.74790,E,0.025,336.58,120308,,,D*62
+$GPRMC,143311.00,A,5159.07531,N,00423.74786,E,0.014,,120308,,,D*7A
+$GPRMC,143312.00,A,5159.07533,N,00423.74787,E,0.011,,120308,,,D*7F
+$GPRMC,143313.00,A,5159.07536,N,00423.74785,E,0.003,,120308,,,D*7A
+$GPRMC,143314.00,A,5159.07541,N,00423.74793,E,0.003,,120308,,,D*7A
+$GPRMC,143315.00,A,5159.07546,N,00423.74802,E,0.014,,120308,,,D*7D
+$GPRMC,143316.00,A,5159.07549,N,00423.74809,E,0.027,333.99,120308,,,D*67
+$GPRMC,143317.00,A,5159.07553,N,00423.74816,E,0.012,,120308,,,D*78
+$GPRMC,143318.00,A,5159.07558,N,00423.74821,E,0.007,,120308,,,D*7C
+$GPRMC,143319.00,A,5159.07562,N,00423.74828,E,0.009,,120308,,,D*73
+$GPRMC,143320.00,A,5159.07565,N,00423.74837,E,0.013,,120308,,,D*7B
+$GPRMC,143321.00,A,5159.07569,N,00423.74846,E,0.035,331.15,120308,,,D*6F
+$GPRMC,143322.00,A,5159.07573,N,00423.74857,E,0.005,,120308,,,D*7F
+$GPRMC,143323.00,A,5159.07576,N,00423.74866,E,0.009,,120308,,,D*75
+$GPRMC,143324.00,A,5159.07579,N,00423.74873,E,0.009,,120308,,,D*79
+$GPRMC,143325.00,A,5159.07584,N,00423.74882,E,0.014,,120308,,,D*78
+$GPRMC,143326.00,A,5159.07590,N,00423.74892,E,0.013,,120308,,,D*78
+$GPRMC,143327.00,A,5159.07595,N,00423.74900,E,0.024,327.45,120308,,,D*6B
+$GPRMC,143328.00,A,5159.07601,N,00423.74909,E,0.005,,120308,,,D*79
+$GPRMC,143329.00,A,5159.07608,N,00423.74918,E,0.015,,120308,,,D*70
+$GPRMC,143330.00,A,5159.07613,N,00423.74925,E,0.021,324.06,120308,,,D*66
+$GPRMC,143331.00,A,5159.07618,N,00423.74933,E,0.011,,120308,,,D*75
+$GPRMC,143332.00,A,5159.07623,N,00423.74939,E,0.025,321.45,120308,,,D*6C
+$GPRMC,143333.00,A,5159.07629,N,00423.74946,E,0.010,,120308,,,D*76
+$GPRMC,143334.00,A,5159.07636,N,00423.74954,E,0.004,,120308,,,D*79
+$GPRMC,143335.00,A,5159.07637,N,00423.74952,E,0.272,318.93,120308,,,D*62
+$GPRMC,143336.00,A,5159.07637,N,00423.74947,E,0.044,316.96,120308,,,D*69
+$GPRMC,143337.00,A,5159.07637,N,00423.74945,E,0.206,314.65,120308,,,D*60
+$GPRMC,143338.00,A,5159.07637,N,00423.74949,E,0.045,313.44,120308,,,D*62
+$GPRMC,143339.00,A,5159.07635,N,00423.74970,E,0.418,322.39,120308,,,D*6F
+$GPRMC,143340.00,A,5159.07634,N,00423.74974,E,0.170,320.94,120308,,,D*6A
+$GPRMC,143341.00,A,5159.07631,N,00423.74995,E,0.401,329.49,120308,,,D*6B
+$GPRMC,143342.00,A,5159.07627,N,00423.75034,E,0.761,337.55,120308,,,D*6B
+$GPRMC,143343.00,A,5159.07624,N,00423.75060,E,0.624,345.19,120308,,,D*65
+$GPRMC,143344.00,A,5159.07617,N,00423.75125,E,0.948,352.24,120308,,,D*6F
+$GPRMC,143345.00,A,5159.07612,N,00423.75166,E,0.918,358.98,120308,,,D*64
+$GPRMC,143346.00,A,5159.07630,N,00423.75076,E,0.727,4.69,120308,,,D*61
+$GPRMC,143347.00,A,5159.07631,N,00423.75081,E,0.079,6.66,120308,,,D*68
+$GPRMC,143348.00,A,5159.07634,N,00423.75090,E,0.019,5.74,120308,,,D*64
+$GPRMC,143349.00,A,5159.07639,N,00423.75097,E,0.391,10.96,120308,,,D*54
+$GPRMC,143350.00,A,5159.07642,N,00423.75065,E,0.166,13.48,120308,,,D*57
+$GPRMC,143351.00,A,5159.07646,N,00423.75039,E,0.198,18.10,120308,,,D*5C
+$GPRMC,143352.00,A,5159.07650,N,00423.75014,E,0.263,22.25,120308,,,D*5F
+$GPRMC,143353.00,A,5159.07653,N,00423.75005,E,0.204,16.30,120308,,,D*5F
+$GPRMC,143354.00,A,5159.07659,N,00423.74947,E,0.594,10.17,120308,,,D*51
+$GPRMC,143355.00,A,5159.07663,N,00423.74932,E,0.235,4.56,120308,,,D*67
+$GPRMC,143356.00,A,5159.07668,N,00423.74870,E,0.133,1.82,120308,,,D*61
+$GPRMC,143357.00,A,5159.07671,N,00423.74767,E,0.099,358.68,120308,,,D*6B
+$GPRMC,143358.00,A,5159.07677,N,00423.74646,E,0.431,353.42,120308,,,D*65
+$GPRMC,143359.00,A,5159.07685,N,00423.74441,E,0.237,348.66,120308,,,D*60
+$GPRMC,143400.00,A,5159.07695,N,00423.74196,E,0.143,348.35,120308,,,D*63
+$GPRMC,143401.00,A,5159.07704,N,00423.74061,E,0.334,344.75,120308,,,D*68
+$GPRMC,143402.00,A,5159.07713,N,00423.73926,E,0.238,341.33,120308,,,D*6A
+$GPRMC,143403.00,A,5159.07719,N,00423.73936,E,0.148,341.81,120308,,,D*6D
+$GPRMC,143404.00,A,5159.07726,N,00423.73917,E,0.091,342.80,120308,,,D*62
+$GPRMC,143405.00,A,5159.07737,N,00423.73879,E,0.098,343.61,120308,,,D*6D
+$GPRMC,143406.00,A,5159.07746,N,00423.73850,E,0.120,344.34,120308,,,D*66
+$GPRMC,143407.00,A,5159.07743,N,00423.73886,E,0.620,339.58,120308,,,D*6E
+$GPRMC,143408.00,A,5159.07703,N,00423.74128,E,0.011,,120308,,,D*71
+$GPRMC,143409.00,A,5159.07679,N,00423.74237,E,0.035,336.90,120308,,,D*66
+$GPRMC,143410.00,A,5159.07670,N,00423.74331,E,0.009,,120308,,,D*7E
+$GPRMC,143411.00,A,5159.07663,N,00423.74397,E,0.009,,120308,,,D*71
+$GPRMC,143412.00,A,5159.07654,N,00423.74443,E,0.005,,120308,,,D*74
+$GPRMC,143413.00,A,5159.07644,N,00423.74477,E,0.011,,120308,,,D*76
+$GPRMC,143414.00,A,5159.07637,N,00423.74508,E,0.021,334.27,120308,,,D*60
+$GPRMC,143415.00,A,5159.07629,N,00423.74532,E,0.020,331.50,120308,,,D*63
+$GPRMC,143416.00,A,5159.07623,N,00423.74556,E,0.013,,120308,,,D*72
+$GPRMC,143417.00,A,5159.07619,N,00423.74577,E,0.018,,120308,,,D*72
+$GPRMC,143418.00,A,5159.07614,N,00423.74595,E,0.003,,120308,,,D*76
+$GPRMC,143419.00,A,5159.07619,N,00423.74588,E,0.280,327.66,120308,,,D*67
+$GPRMC,143420.00,A,5159.07623,N,00423.74572,E,0.438,324.58,120308,,,D*6A
+$GPRMC,143421.00,A,5159.07626,N,00423.74559,E,0.025,323.48,120308,,,D*69
+$GPRMC,143422.00,A,5159.07629,N,00423.74560,E,0.005,,120308,,,D*7D
+$GPRMC,143423.00,A,5159.07633,N,00423.74560,E,0.022,322.71,120308,,,D*69
+$GPRMC,143424.00,A,5159.07637,N,00423.74560,E,0.047,323.71,120308,,,D*68
+$GPRMC,143425.00,A,5159.07632,N,00423.74589,E,0.025,329.31,120308,,,D*61
+$GPRMC,143426.00,A,5159.07636,N,00423.74587,E,0.011,,120308,,,D*7B
+$GPRMC,143427.00,A,5159.07638,N,00423.74590,E,0.015,,120308,,,D*76
+$GPRMC,143428.00,A,5159.07640,N,00423.74598,E,0.251,337.38,120308,,,D*6E
+$GPRMC,143429.00,A,5159.07634,N,00423.74625,E,0.105,341.30,120308,,,D*62
+$GPRMC,143430.00,A,5159.07635,N,00423.74632,E,0.033,340.60,120308,,,D*6D
+$GPRMC,143431.00,A,5159.07638,N,00423.74631,E,0.015,,120308,,,D*79
+$GPRMC,143432.00,A,5159.07640,N,00423.74632,E,0.011,,120308,,,D*72
+$GPRMC,143433.00,A,5159.07635,N,00423.74660,E,0.014,,120308,,,D*73
+$GPRMC,143434.00,A,5159.07631,N,00423.74682,E,0.024,341.88,120308,,,D*67
+$GPRMC,143435.00,A,5159.07628,N,00423.74703,E,0.012,,120308,,,D*7B
+$GPRMC,143436.00,A,5159.07627,N,00423.74721,E,0.023,339.45,120308,,,D*63
+$GPRMC,143437.00,A,5159.07628,N,00423.74742,E,0.006,,120308,,,D*79
+$GPRMC,143438.00,A,5159.07629,N,00423.74760,E,0.006,,120308,,,D*77
+$GPRMC,143439.00,A,5159.07630,N,00423.74773,E,0.002,,120308,,,D*78
+$GPRMC,143440.00,A,5159.07629,N,00423.74783,E,0.009,,120308,,,D*7A
+$GPRMC,143441.00,A,5159.07629,N,00423.74793,E,0.007,,120308,,,D*74
+$GPRMC,143442.00,A,5159.07629,N,00423.74804,E,0.027,341.43,120308,,,D*6B
+$GPRMC,143443.00,A,5159.07629,N,00423.74817,E,0.015,,120308,,,D*76
+$GPRMC,143444.00,A,5159.07628,N,00423.74826,E,0.020,338.08,120308,,,D*6A
+$GPRMC,143445.00,A,5159.07627,N,00423.74832,E,0.006,,120308,,,D*7B
+$GPRMC,143446.00,A,5159.07631,N,00423.74841,E,0.009,,120308,,,D*74
+$GPRMC,143447.00,A,5159.07634,N,00423.74852,E,0.003,,120308,,,D*78
+$GPRMC,143448.00,A,5159.07638,N,00423.74860,E,0.005,,120308,,,D*7C
+$GPRMC,143449.00,A,5159.07642,N,00423.74868,E,0.010,,120308,,,D*7C
+$GPRMC,143450.00,A,5159.07647,N,00423.74879,E,0.022,334.33,120308,,,D*6A
+$GPRMC,143451.00,A,5159.07653,N,00423.74889,E,0.007,,120308,,,D*7C
+$GPRMC,143452.00,A,5159.07659,N,00423.74900,E,0.024,336.74,120308,,,D*6F
+$GPRMC,143453.00,A,5159.07665,N,00423.74910,E,0.002,,120308,,,D*7F
+$GPRMC,143454.00,A,5159.07672,N,00423.74919,E,0.009,,120308,,,D*7C
+$GPRMC,143455.00,A,5159.07677,N,00423.74927,E,0.013,,120308,,,D*7E
+$GPRMC,143456.00,A,5159.07682,N,00423.74935,E,0.014,,120308,,,D*73
+$GPRMC,143457.00,A,5159.07688,N,00423.74943,E,0.011,,120308,,,D*7C
+$GPRMC,143458.00,A,5159.07692,N,00423.74952,E,0.007,,120308,,,D*7F
+$GPRMC,143459.00,A,5159.07696,N,00423.74958,E,0.005,,120308,,,D*72
+$GPRMC,143500.00,A,5159.07700,N,00423.74965,E,0.050,333.64,120308,,,D*60
+$GPRMC,143501.00,A,5159.07706,N,00423.74980,E,0.026,336.99,120308,,,D*6A
+$GPRMC,143502.00,A,5159.07709,N,00423.74995,E,0.013,,120308,,,D*7C
+$GPRMC,143503.00,A,5159.07711,N,00423.75004,E,0.045,333.19,120308,,,D*62
+$GPRMC,143504.00,A,5159.07710,N,00423.75008,E,0.476,326.33,120308,,,D*60
+$GPRMC,143505.00,A,5159.07694,N,00423.74984,E,1.404,320.22,120308,,,D*62
+$GPRMC,143506.00,A,5159.07662,N,00423.74935,E,2.173,227.41,120308,,,D*67
+$GPRMC,143507.00,A,5159.07613,N,00423.74865,E,1.749,226.55,120308,,,D*6C
+$GPRMC,143508.00,A,5159.07582,N,00423.74826,E,0.756,224.44,120308,,,D*62
+$GPRMC,143509.00,A,5159.07557,N,00423.74820,E,0.348,221.42,120308,,,D*65
+$GPRMC,143510.00,A,5159.07552,N,00423.74822,E,0.098,225.14,120308,,,D*63
+$GPRMC,143511.00,A,5159.07575,N,00423.74795,E,2.128,329.46,120308,,,D*66
+$GPRMC,143512.00,A,5159.07647,N,00423.74693,E,4.464,323.07,120308,,,D*64
+$GPRMC,143513.00,A,5159.07767,N,00423.74547,E,6.007,328.49,120308,,,D*6E
+$GPRMC,143514.00,A,5159.07925,N,00423.74397,E,6.875,336.86,120308,,,D*6B
+$GPRMC,143515.00,A,5159.08109,N,00423.74261,E,7.663,340.96,120308,,,D*63
+$GPRMC,143516.00,A,5159.08323,N,00423.74148,E,8.396,342.58,120308,,,D*62
+$GPRMC,143517.00,A,5159.08539,N,00423.74012,E,8.094,340.70,120308,,,D*69
+$GPRMC,143518.00,A,5159.08759,N,00423.73892,E,8.605,344.08,120308,,,D*60
+$GPRMC,143519.00,A,5159.08996,N,00423.73765,E,9.623,344.95,120308,,,D*6A
+$GPRMC,143520.00,A,5159.09261,N,00423.73632,E,10.544,345.13,120308,,,D*54
+$GPRMC,143521.00,A,5159.09544,N,00423.73494,E,11.110,345.12,120308,,,D*5E
+$GPRMC,143522.00,A,5159.09842,N,00423.73351,E,11.511,344.91,120308,,,D*57
+$GPRMC,143523.00,A,5159.10146,N,00423.73198,E,11.763,344.42,120308,,,D*5D
+$GPRMC,143524.00,A,5159.10461,N,00423.73041,E,11.910,343.93,120308,,,D*5E
+$GPRMC,143525.00,A,5159.10777,N,00423.72875,E,12.168,343.79,120308,,,D*55
+$GPRMC,143526.00,A,5159.11103,N,00423.72714,E,12.295,344.46,120308,,,D*50
+$GPRMC,143527.00,A,5159.11428,N,00423.72560,E,12.289,345.24,120308,,,D*54
+$GPRMC,143528.00,A,5159.11746,N,00423.72412,E,11.799,345.40,120308,,,D*51
+$GPRMC,143529.00,A,5159.12043,N,00423.72281,E,10.629,345.90,120308,,,D*5B
+$GPRMC,143530.00,A,5159.12276,N,00423.72155,E,8.263,341.28,120308,,,D*69
+$GPRMC,143531.00,A,5159.12481,N,00423.72033,E,6.942,338.58,120308,,,D*68
+$GPRMC,143532.00,A,5159.12656,N,00423.71919,E,6.322,337.69,120308,,,D*60
+$GPRMC,143533.00,A,5159.12824,N,00423.71798,E,6.638,335.31,120308,,,D*6C
+$GPRMC,143534.00,A,5159.13000,N,00423.71648,E,7.208,330.99,120308,,,D*69
+$GPRMC,143535.00,A,5159.13193,N,00423.71450,E,8.686,326.28,120308,,,D*68
+$GPRMC,143536.00,A,5159.13397,N,00423.71192,E,9.705,317.93,120308,,,D*6F
+$GPRMC,143537.00,A,5159.13585,N,00423.70886,E,9.404,311.29,120308,,,D*63
+$GPRMC,143538.00,A,5159.13746,N,00423.70555,E,9.164,304.74,120308,,,D*6D
+$GPRMC,143539.00,A,5159.13859,N,00423.70195,E,9.108,291.49,120308,,,D*6C
+$GPRMC,143540.00,A,5159.13886,N,00423.69792,E,9.890,263.08,120308,,,D*69
+$GPRMC,143541.00,A,5159.13776,N,00423.69378,E,10.512,235.11,120308,,,D*5C
+$GPRMC,143542.00,A,5159.13558,N,00423.69042,E,11.109,214.50,120308,,,D*52
+$GPRMC,143543.00,A,5159.13277,N,00423.68812,E,11.665,197.86,120308,,,D*5B
+$GPRMC,143544.00,A,5159.12943,N,00423.68696,E,12.006,186.42,120308,,,D*5B
+$GPRMC,143545.00,A,5159.12602,N,00423.68675,E,12.056,176.29,120308,,,D*5A
+$GPRMC,143546.00,A,5159.12288,N,00423.68781,E,11.280,160.49,120308,,,D*5E
+$GPRMC,143547.00,A,5159.12016,N,00423.69006,E,10.641,143.98,120308,,,D*56
+$GPRMC,143548.00,A,5159.11810,N,00423.69319,E,9.903,130.28,120308,,,D*67
+$GPRMC,143549.00,A,5159.11641,N,00423.69710,E,11.116,120.50,120308,,,D*5A
+$GPRMC,143550.00,A,5159.11496,N,00423.70164,E,11.849,114.76,120308,,,D*57
+$GPRMC,143551.00,A,5159.11366,N,00423.70649,E,11.725,113.18,120308,,,D*5C
+$GPRMC,143552.00,A,5159.11267,N,00423.71119,E,10.476,105.28,120308,,,D*5C
+$GPRMC,143553.00,A,5159.11235,N,00423.71509,E,7.294,88.84,120308,,,D*51
+$GPRMC,143554.00,A,5159.11255,N,00423.71765,E,4.268,73.91,120308,,,D*58
+$GPRMC,143555.00,A,5159.11311,N,00423.71915,E,3.741,49.05,120308,,,D*5C
+$GPRMC,143556.00,A,5159.11398,N,00423.71994,E,3.696,18.77,120308,,,D*5D
+$GPRMC,143557.00,A,5159.11532,N,00423.72025,E,5.240,359.36,120308,,,D*60
+$GPRMC,143558.00,A,5159.11675,N,00423.71999,E,4.828,346.93,120308,,,D*66
+$GPRMC,143559.00,A,5159.11787,N,00423.71932,E,4.256,337.63,120308,,,D*60
+$GPRMC,143600.00,A,5159.11862,N,00423.71851,E,3.662,335.04,120308,,,D*68
+$GPRMC,143601.00,A,5159.11909,N,00423.71810,E,0.431,334.88,120308,,,D*62
+$GPRMC,143602.00,A,5159.11912,N,00423.71805,E,0.029,334.40,120308,,,D*66
+$GPRMC,143603.00,A,5159.11916,N,00423.71806,E,0.030,331.01,120308,,,D*68
+$GPRMC,143604.00,A,5159.11917,N,00423.71811,E,0.100,325.53,120308,,,D*68
+$GPRMC,143605.00,A,5159.11919,N,00423.71817,E,0.013,,120308,,,D*7E
+$GPRMC,143606.00,A,5159.11921,N,00423.71818,E,0.145,325.69,120308,,,D*6E
+$GPRMC,143607.00,A,5159.11923,N,00423.71817,E,0.320,325.97,120308,,,D*62
+$GPRMC,143608.00,A,5159.11940,N,00423.71807,E,1.041,326.22,120308,,,D*61
+$GPRMC,143609.00,A,5159.11984,N,00423.71761,E,2.679,322.70,120308,,,D*6A
+$GPRMC,143610.00,A,5159.12058,N,00423.71654,E,4.481,310.39,120308,,,D*61
+$GPRMC,143611.00,A,5159.12138,N,00423.71485,E,4.752,298.12,120308,,,D*6C
+$GPRMC,143612.00,A,5159.12193,N,00423.71328,E,3.519,295.29,120308,,,D*61
+$GPRMC,143613.00,A,5159.12219,N,00423.71233,E,1.569,295.31,120308,,,D*66
+$GPRMC,143614.00,A,5159.12230,N,00423.71202,E,0.454,295.12,120308,,,D*67
+$GPRMC,143615.00,A,5159.12231,N,00423.71205,E,0.009,,120308,,,D*7F
+$GPRMC,143616.00,A,5159.12227,N,00423.71218,E,0.009,,120308,,,D*77
+$GPRMC,143617.00,A,5159.12224,N,00423.71226,E,0.022,293.23,120308,,,D*66
+$GPRMC,143618.00,A,5159.12223,N,00423.71234,E,0.006,,120308,,,D*7C
+$GPRMC,143619.00,A,5159.12223,N,00423.71240,E,0.004,,120308,,,D*7C
+$GPRMC,143620.00,A,5159.12223,N,00423.71246,E,0.016,,120308,,,D*73
+$GPRMC,143621.00,A,5159.12224,N,00423.71259,E,0.005,,120308,,,D*79
+$GPRMC,143622.00,A,5159.12224,N,00423.71263,E,0.018,,120308,,,D*7F
+$GPRMC,143623.00,A,5159.12222,N,00423.71266,E,0.089,289.65,120308,,,D*6B
+$GPRMC,143624.00,A,5159.12220,N,00423.71269,E,0.008,,120308,,,D*76
+$GPRMC,143625.00,A,5159.12219,N,00423.71271,E,0.009,,120308,,,D*75
+$GPRMC,143626.00,A,5159.12220,N,00423.71286,E,0.010,,120308,,,D*7C
+$GPRMC,143627.00,A,5159.12219,N,00423.71289,E,0.003,,120308,,,D*7A
+$GPRMC,143628.00,A,5159.12218,N,00423.71289,E,0.033,284.57,120308,,,D*65
+$GPRMC,143629.00,A,5159.12217,N,00423.71289,E,0.022,284.08,120308,,,D*61
+$GPRMC,143630.00,A,5159.12218,N,00423.71288,E,0.009,,120308,,,D*76
+$GPRMC,143631.00,A,5159.12218,N,00423.71285,E,0.015,,120308,,,D*77
+$GPRMC,143632.00,A,5159.12220,N,00423.71284,E,0.037,283.08,120308,,,D*61
+$GPRMC,143633.00,A,5159.12221,N,00423.71284,E,0.003,,120308,,,D*79
+$GPRMC,143634.00,A,5159.12223,N,00423.71283,E,0.015,,120308,,,D*7C
+$GPRMC,143635.00,A,5159.12226,N,00423.71282,E,0.003,,120308,,,D*7E
+$GPRMC,143636.00,A,5159.12229,N,00423.71278,E,0.017,,120308,,,D*72
+$GPRMC,143637.00,A,5159.12232,N,00423.71277,E,0.008,,120308,,,D*78
+$GPRMC,143638.00,A,5159.12234,N,00423.71275,E,0.000,,120308,,,D*7B
+$GPRMC,143639.00,A,5159.12237,N,00423.71275,E,0.022,282.12,120308,,,D*6C
+$GPRMC,143640.00,A,5159.12238,N,00423.71267,E,0.001,,120308,,,D*7A
+$GPRMC,143641.00,A,5159.12241,N,00423.71264,E,0.008,,120308,,,D*7F
+$GPRMC,143642.00,A,5159.12246,N,00423.71261,E,0.018,,120308,,,D*7F
+$GPRMC,143643.00,A,5159.12248,N,00423.71260,E,0.004,,120308,,,D*7C
+$GPRMC,143644.00,A,5159.12251,N,00423.71251,E,0.011,,120308,,,D*75
+$GPRMC,143645.00,A,5159.12253,N,00423.71242,E,0.005,,120308,,,D*71
+$GPRMC,143646.00,A,5159.12256,N,00423.71247,E,0.013,,120308,,,D*75
+$GPRMC,143647.00,A,5159.12255,N,00423.71236,E,0.002,,120308,,,D*71
+$GPRMC,143648.00,A,5159.12254,N,00423.71229,E,0.022,280.70,120308,,,D*60
+$GPRMC,143649.00,A,5159.12254,N,00423.71216,E,0.016,,120308,,,D*79
+$GPRMC,143650.00,A,5159.12254,N,00423.71204,E,0.011,,120308,,,D*75
+$GPRMC,143651.00,A,5159.12253,N,00423.71193,E,0.013,,120308,,,D*7C
+$GPRMC,143652.00,A,5159.12251,N,00423.71180,E,0.014,,120308,,,D*78
+$GPRMC,143653.00,A,5159.12249,N,00423.71167,E,0.005,,120308,,,D*79
+$GPRMC,143654.00,A,5159.12247,N,00423.71154,E,0.023,279.91,120308,,,D*6E
+$GPRMC,143655.00,A,5159.12248,N,00423.71156,E,0.098,274.95,120308,,,D*6B
+$GPRMC,143656.00,A,5159.12246,N,00423.71156,E,0.163,270.47,120308,,,D*68
+$GPRMC,143657.00,A,5159.12245,N,00423.71158,E,0.137,266.66,120308,,,D*61
+$GPRMC,143658.00,A,5159.12251,N,00423.71153,E,0.019,,120308,,,D*71
+$GPRMC,143659.00,A,5159.12252,N,00423.71149,E,0.015,,120308,,,D*74
+$GPRMC,143700.00,A,5159.12250,N,00423.71137,E,0.023,271.65,120308,,,D*6E
+$GPRMC,143701.00,A,5159.12249,N,00423.71136,E,0.007,,120308,,,D*79
+$GPRMC,143702.00,A,5159.12248,N,00423.71144,E,0.004,,120308,,,D*7D
+$GPRMC,143703.00,A,5159.12248,N,00423.71143,E,0.010,,120308,,,D*7E
+$GPRMC,143704.00,A,5159.12245,N,00423.71136,E,0.008,,120308,,,D*7F
+$GPRMC,143705.00,A,5159.12244,N,00423.71140,E,0.023,276.24,120308,,,D*6C
+$GPRMC,143706.00,A,5159.12242,N,00423.71135,E,0.003,,120308,,,D*72
+$GPRMC,143707.00,A,5159.12241,N,00423.71134,E,0.021,277.10,120308,,,D*6C
+$GPRMC,143708.00,A,5159.12238,N,00423.71129,E,0.015,,120308,,,D*7B
+$GPRMC,143709.00,A,5159.12237,N,00423.71130,E,0.021,282.48,120308,,,D*60
+$GPRMC,143710.00,A,5159.12234,N,00423.71126,E,0.007,,120308,,,D*72
+$GPRMC,143711.00,A,5159.12233,N,00423.71128,E,0.002,,120308,,,D*7F
+$GPRMC,143712.00,A,5159.12232,N,00423.71131,E,0.013,,120308,,,D*75
+$GPRMC,143713.00,A,5159.12229,N,00423.71127,E,0.016,,120308,,,D*7C
+$GPRMC,143714.00,A,5159.12227,N,00423.71129,E,0.011,,120308,,,D*7C
+$GPRMC,143715.00,A,5159.12224,N,00423.71133,E,0.007,,120308,,,D*72
+$GPRMC,143716.00,A,5159.12221,N,00423.71129,E,0.009,,120308,,,D*71
+$GPRMC,143717.00,A,5159.12219,N,00423.71132,E,0.021,286.85,120308,,,D*64
+$GPRMC,143718.00,A,5159.12216,N,00423.71129,E,0.011,,120308,,,D*72
+$GPRMC,143719.00,A,5159.12214,N,00423.71134,E,0.009,,120308,,,D*74
+$GPRMC,143720.00,A,5159.12210,N,00423.71130,E,0.009,,120308,,,D*7E
+$GPRMC,143721.00,A,5159.12206,N,00423.71126,E,0.018,,120308,,,D*7F
+$GPRMC,143722.00,A,5159.12200,N,00423.71113,E,0.107,291.45,120308,,,A*63
+$GPRMC,143723.00,A,5159.12193,N,00423.71100,E,0.021,290.58,120308,,,A*61
+$GPRMC,143724.00,A,5159.12185,N,00423.71083,E,0.018,,120308,,,A*79
+$GPRMC,143725.00,A,5159.12178,N,00423.71067,E,0.017,,120308,,,A*7F
+$GPRMC,143726.00,A,5159.12171,N,00423.71056,E,0.003,,120308,,,A*72
+$GPRMC,143727.00,A,5159.12165,N,00423.71041,E,0.027,294.16,120308,,,A*60
+$GPRMC,143728.00,A,5159.12158,N,00423.71028,E,0.009,,120308,,,A*74
+$GPRMC,143729.00,A,5159.12152,N,00423.71021,E,0.018,,120308,,,A*76
+$GPRMC,143730.00,A,5159.12145,N,00423.71010,E,0.018,,120308,,,A*7A
+$GPRMC,143731.00,A,5159.12138,N,00423.71000,E,0.005,,120308,,,A*7C
+$GPRMC,143732.00,A,5159.12134,N,00423.70995,E,0.008,,120308,,,A*7A
+$GPRMC,143733.00,A,5159.12129,N,00423.70988,E,0.006,,120308,,,A*75
+$GPRMC,143734.00,A,5159.12123,N,00423.70980,E,0.010,,120308,,,A*77
+$GPRMC,143735.00,A,5159.12119,N,00423.70977,E,0.013,,120308,,,A*74
+$GPRMC,143736.00,A,5159.12114,N,00423.70970,E,0.004,,120308,,,A*7B
+$GPRMC,143737.00,A,5159.12111,N,00423.70969,E,0.013,,120308,,,A*71
+$GPRMC,143738.00,A,5159.12108,N,00423.70967,E,0.006,,120308,,,A*7C
+$GPRMC,143739.00,A,5159.12107,N,00423.70972,E,0.015,,120308,,,A*74
+$GPRMC,143740.00,A,5159.12104,N,00423.70971,E,0.021,298.67,120308,,,A*61
+$GPRMC,143741.00,A,5159.12103,N,00423.70976,E,0.002,,120308,,,A*7D
+$GPRMC,143742.00,A,5159.12103,N,00423.70982,E,0.024,301.35,120308,,,A*6B
+$GPRMC,143743.00,A,5159.12104,N,00423.70992,E,0.005,,120308,,,A*75
+$GPRMC,143744.00,A,5159.12105,N,00423.71001,E,0.015,,120308,,,A*70
+$GPRMC,143745.00,A,5159.12106,N,00423.71014,E,0.011,,120308,,,A*72
+$GPRMC,143746.00,A,5159.12107,N,00423.71028,E,0.014,,120308,,,A*7A
+$GPRMC,143747.00,A,5159.12112,N,00423.71039,E,0.128,304.39,120308,,,A*62
+$GPRMC,143748.00,A,5159.12117,N,00423.71056,E,0.006,,120308,,,A*7F
+$GPRMC,143749.00,A,5159.12118,N,00423.71072,E,0.015,,120308,,,A*75
+$GPRMC,143750.00,A,5159.12122,N,00423.71080,E,0.009,,120308,,,A*74
+$GPRMC,143751.00,A,5159.12124,N,00423.71090,E,0.013,,120308,,,A*79
+$GPRMC,143752.00,A,5159.12125,N,00423.71098,E,0.011,,120308,,,A*71
+$GPRMC,143753.00,A,5159.12124,N,00423.71101,E,0.049,303.84,120308,,,A*6F
+$GPRMC,143754.00,A,5159.12123,N,00423.71102,E,0.006,,120308,,,A*75
+$GPRMC,143755.00,A,5159.12122,N,00423.71101,E,0.004,,120308,,,A*74
+$GPRMC,143756.00,A,5159.12121,N,00423.71099,E,0.010,,120308,,,A*71
+$GPRMC,143757.00,A,5159.12121,N,00423.71100,E,0.007,,120308,,,A*77
+$GPRMC,143758.00,A,5159.12120,N,00423.71098,E,0.010,,120308,,,A*7F
+$GPRMC,143759.00,A,5159.12120,N,00423.71107,E,0.021,301.80,120308,,,A*6F
+$GPRMC,143800.00,A,5159.12121,N,00423.71117,E,0.010,,120308,,,A*7A
+$GPRMC,143801.00,A,5159.12123,N,00423.71125,E,0.008,,120308,,,A*71
+$GPRMC,143802.00,A,5159.12124,N,00423.71135,E,0.028,305.24,120308,,,A*68
+$GPRMC,143803.00,A,5159.12126,N,00423.71144,E,0.008,,120308,,,A*71
+$GPRMC,143804.00,A,5159.12128,N,00423.71151,E,0.008,,120308,,,A*7C
+$GPRMC,143805.00,A,5159.12130,N,00423.71159,E,0.015,,120308,,,A*70
+$GPRMC,143806.00,A,5159.12131,N,00423.71168,E,0.020,303.02,120308,,,A*6A
+$GPRMC,143807.00,A,5159.12132,N,00423.71177,E,0.012,,120308,,,A*7B
+$GPRMC,143808.00,A,5159.12130,N,00423.71180,E,0.015,,120308,,,A*79
+$GPRMC,143809.00,A,5159.12129,N,00423.71189,E,0.030,306.50,120308,,,A*60
+$GPRMC,143810.00,A,5159.12131,N,00423.71197,E,0.019,,120308,,,A*7B
+$GPRMC,143811.00,A,5159.12133,N,00423.71206,E,0.013,,120308,,,A*79
+$GPRMC,143812.00,A,5159.12132,N,00423.71213,E,0.002,,120308,,,A*7F
+$GPRMC,143813.00,A,5159.12134,N,00423.71222,E,0.021,309.25,120308,,,A*68
+$GPRMC,143814.00,A,5159.12136,N,00423.71230,E,0.003,,120308,,,A*7D
+$GPRMC,143815.00,A,5159.12139,N,00423.71241,E,0.003,,120308,,,A*75
+$GPRMC,143816.00,A,5159.12143,N,00423.71251,E,0.010,,120308,,,A*78
+$GPRMC,143817.00,A,5159.12147,N,00423.71261,E,0.007,,120308,,,A*78
+$GPRMC,143818.00,A,5159.12153,N,00423.71277,E,0.010,,120308,,,A*73
+$GPRMC,143819.00,A,5159.12159,N,00423.71288,E,0.028,311.59,120308,,,A*62
+$GPRMC,143820.00,A,5159.12165,N,00423.71298,E,0.016,,120308,,,A*7A
+$GPRMC,143821.00,A,5159.12170,N,00423.71308,E,0.019,,120308,,,A*78
+$GPRMC,143822.00,A,5159.12176,N,00423.71320,E,0.011,,120308,,,A*7F
+$GPRMC,143823.00,A,5159.12180,N,00423.71329,E,0.010,,120308,,,A*7F
+$GPRMC,143824.00,A,5159.12184,N,00423.71337,E,0.011,,120308,,,A*72
+$GPRMC,143825.00,A,5159.12188,N,00423.71344,E,0.001,,120308,,,A*7A
+$GPRMC,143826.00,A,5159.12192,N,00423.71351,E,0.012,,120308,,,A*74
+$GPRMC,143827.00,A,5159.12193,N,00423.71357,E,0.019,,120308,,,A*79
+$GPRMC,143828.00,A,5159.12194,N,00423.71362,E,0.012,,120308,,,A*7C
+$GPRMC,143829.00,A,5159.12195,N,00423.71365,E,0.008,,120308,,,A*70
+$GPRMC,143830.00,A,5159.12195,N,00423.71366,E,0.009,,120308,,,A*7A
+$GPRMC,143831.00,A,5159.12197,N,00423.71365,E,0.005,,120308,,,A*76
+$GPRMC,143832.00,A,5159.12198,N,00423.71362,E,0.011,,120308,,,A*78
+$GPRMC,143833.00,A,5159.12200,N,00423.71362,E,0.012,,120308,,,A*78
+$GPRMC,143834.00,A,5159.12201,N,00423.71361,E,0.011,,120308,,,A*7E
+$GPRMC,143835.00,A,5159.12201,N,00423.71355,E,0.003,,120308,,,A*7B
+$GPRMC,143836.00,A,5159.12204,N,00423.71355,E,0.014,,120308,,,A*7B
+$GPRMC,143837.00,A,5159.12205,N,00423.71348,E,0.012,,120308,,,A*71
+$GPRMC,143838.00,A,5159.12207,N,00423.71344,E,0.004,,120308,,,A*77
+$GPRMC,143839.00,A,5159.12207,N,00423.71340,E,0.004,,120308,,,A*72
+$GPRMC,143840.00,A,5159.12207,N,00423.71335,E,0.012,,120308,,,A*79
+$GPRMC,143841.00,A,5159.12207,N,00423.71329,E,0.055,309.65,120308,,,A*61
+$GPRMC,143842.00,A,5159.12205,N,00423.71321,E,0.022,314.08,120308,,,A*6F
+$GPRMC,143843.00,A,5159.12204,N,00423.71317,E,0.009,,120308,,,A*73
+$GPRMC,143844.00,A,5159.12204,N,00423.71316,E,0.005,,120308,,,A*79
+$GPRMC,143845.00,A,5159.12204,N,00423.71314,E,0.006,,120308,,,A*79
+$GPRMC,143846.00,A,5159.12203,N,00423.71311,E,0.003,,120308,,,A*7D
+$GPRMC,143847.00,A,5159.12201,N,00423.71309,E,0.006,,120308,,,A*72
+$GPRMC,143848.00,A,5159.12198,N,00423.71303,E,0.004,,120308,,,A*76
+$GPRMC,143849.00,A,5159.12195,N,00423.71298,E,0.017,,120308,,,A*7B
+$GPRMC,143850.00,A,5159.12194,N,00423.71293,E,0.003,,120308,,,A*7C
+$GPRMC,143851.00,A,5159.12193,N,00423.71290,E,0.006,,120308,,,A*7C
+$GPRMC,143852.00,A,5159.12192,N,00423.71285,E,0.005,,120308,,,A*79
+$GPRMC,143853.00,A,5159.12191,N,00423.71279,E,0.004,,120308,,,A*79
+$GPRMC,143854.00,A,5159.12190,N,00423.71273,E,0.009,,120308,,,A*78
+$GPRMC,143855.00,A,5159.12189,N,00423.71267,E,0.010,,120308,,,A*7C
+$GPRMC,143856.00,A,5159.12188,N,00423.71264,E,0.012,,120308,,,A*7F
+$GPRMC,143857.00,A,5159.12187,N,00423.71259,E,0.018,,120308,,,A*75
+$GPRMC,143858.00,A,5159.12186,N,00423.71254,E,0.003,,120308,,,A*7C
+$GPRMC,143859.00,A,5159.12185,N,00423.71247,E,0.010,,120308,,,A*7E
+$GPRMC,143900.00,A,5159.12183,N,00423.71242,E,0.008,,120308,,,A*79
+$GPRMC,143901.00,A,5159.12183,N,00423.71240,E,0.009,,120308,,,A*7B
+$GPRMC,143902.00,A,5159.12183,N,00423.71236,E,0.010,,120308,,,A*71
+$GPRMC,143903.00,A,5159.12183,N,00423.71232,E,0.008,,120308,,,A*7D
+$GPRMC,143904.00,A,5159.12183,N,00423.71227,E,0.005,,120308,,,A*73
+$GPRMC,143905.00,A,5159.12184,N,00423.71225,E,0.007,,120308,,,A*75
+$GPRMC,143906.00,A,5159.12186,N,00423.71225,E,0.033,311.76,120308,,,A*6F
+$GPRMC,143907.00,A,5159.12186,N,00423.71221,E,0.001,,120308,,,A*77
+$GPRMC,143908.00,A,5159.12186,N,00423.71218,E,0.022,314.79,120308,,,A*65
+$GPRMC,143909.00,A,5159.12187,N,00423.71215,E,0.007,,120308,,,A*79
+$GPRMC,143910.00,A,5159.12189,N,00423.71212,E,0.025,317.34,120308,,,A*64
+$GPRMC,143911.00,A,5159.12191,N,00423.71210,E,0.009,,120308,,,A*7C
+$GPRMC,143912.00,A,5159.12193,N,00423.71207,E,0.008,,120308,,,A*7A
+$GPRMC,143913.00,A,5159.12195,N,00423.71203,E,0.010,,120308,,,A*70
+$GPRMC,143914.00,A,5159.12197,N,00423.71199,E,0.016,,120308,,,A*73
+$GPRMC,143915.00,A,5159.12198,N,00423.71196,E,0.004,,120308,,,A*71
+$GPRMC,143916.00,A,5159.12200,N,00423.71195,E,0.009,,120308,,,A*7E
+$GPRMC,143917.00,A,5159.12200,N,00423.71191,E,0.016,,120308,,,A*75
+$GPRMC,143918.00,A,5159.12200,N,00423.71187,E,0.002,,120308,,,A*78
+$GPRMC,143919.00,A,5159.12201,N,00423.71183,E,0.008,,120308,,,A*76
+$GPRMC,143920.00,A,5159.12201,N,00423.71181,E,0.009,,120308,,,A*7F
+$GPRMC,143921.00,A,5159.12201,N,00423.71178,E,0.007,,120308,,,A*76
+$GPRMC,143922.00,A,5159.12200,N,00423.71175,E,0.021,319.51,120308,,,A*6C
+$GPRMC,143923.00,A,5159.12199,N,00423.71172,E,0.008,,120308,,,A*73
+$GPRMC,143924.00,A,5159.12198,N,00423.71168,E,0.007,,120308,,,A*71
+$GPRMC,143925.00,A,5159.12197,N,00423.71165,E,0.009,,120308,,,A*7C
+$GPRMC,143926.00,A,5159.12197,N,00423.71162,E,0.009,,120308,,,A*78
+$GPRMC,143927.00,A,5159.12196,N,00423.71159,E,0.014,,120308,,,A*7C
+$GPRMC,143928.00,A,5159.12196,N,00423.71157,E,0.004,,120308,,,A*7C
+$GPRMC,143929.00,A,5159.12197,N,00423.71158,E,0.003,,120308,,,A*74
+$GPRMC,143930.00,A,5159.12197,N,00423.71160,E,0.011,,120308,,,A*74
+$GPRMC,143931.00,A,5159.12199,N,00423.71164,E,0.008,,120308,,,A*77
+$GPRMC,143932.00,A,5159.12199,N,00423.71167,E,0.009,,120308,,,A*76
+$GPRMC,143933.00,A,5159.12200,N,00423.71169,E,0.004,,120308,,,A*77
+$GPRMC,143934.00,A,5159.12200,N,00423.71169,E,0.015,,120308,,,A*70
+$GPRMC,143935.00,A,5159.12200,N,00423.71168,E,0.003,,120308,,,A*77
+$GPRMC,143936.00,A,5159.12199,N,00423.71166,E,0.016,,120308,,,A*7D
+$GPRMC,143937.00,A,5159.12199,N,00423.71164,E,0.009,,120308,,,A*70
+$GPRMC,143938.00,A,5159.12199,N,00423.71163,E,0.004,,120308,,,A*75
+$GPRMC,143939.00,A,5159.12200,N,00423.71160,E,0.016,,120308,,,A*77
+$GPRMC,143940.00,A,5159.12201,N,00423.71157,E,0.012,,120308,,,A*78
+$GPRMC,143941.00,A,5159.12201,N,00423.71152,E,0.002,,120308,,,A*7D
+$GPRMC,143942.00,A,5159.12202,N,00423.71147,E,0.014,,120308,,,A*7E
+$GPRMC,143943.00,A,5159.12202,N,00423.71141,E,0.010,,120308,,,A*7D
+$GPRMC,143944.00,A,5159.12201,N,00423.71136,E,0.004,,120308,,,A*7C
+$GPRMC,143945.00,A,5159.12202,N,00423.71132,E,0.011,,120308,,,A*7E
+$GPRMC,143946.00,A,5159.12203,N,00423.71125,E,0.008,,120308,,,A*72
+$GPRMC,143947.00,A,5159.12203,N,00423.71118,E,0.010,,120308,,,A*74
+$GPRMC,143948.00,A,5159.12204,N,00423.71114,E,0.008,,120308,,,A*79
+$GPRMC,143949.00,A,5159.12205,N,00423.71112,E,0.013,,120308,,,A*75
+$GPRMC,143950.00,A,5159.12206,N,00423.71109,E,0.012,,120308,,,A*75
+$GPRMC,143951.00,A,5159.12206,N,00423.71107,E,0.012,,120308,,,A*7A
+$GPRMC,143952.00,A,5159.12204,N,00423.71104,E,0.011,,120308,,,A*7B
+$GPRMC,143953.00,A,5159.12202,N,00423.71099,E,0.001,,120308,,,A*78
+$GPRMC,143954.00,A,5159.12201,N,00423.71097,E,0.012,,120308,,,A*70
+$GPRMC,143955.00,A,5159.12198,N,00423.71095,E,0.028,322.66,120308,,,A*64
+$GPRMC,143956.00,A,5159.12197,N,00423.71094,E,0.024,319.57,120308,,,A*6F
+$GPRMC,143957.00,A,5159.12196,N,00423.71091,E,0.006,,120308,,,A*7D
+$GPRMC,143958.00,A,5159.12195,N,00423.71089,E,0.018,,120308,,,A*77
+$GPRMC,143959.00,A,5159.12194,N,00423.71086,E,0.008,,120308,,,A*79
+$GPRMC,144000.00,A,5159.12193,N,00423.71084,E,0.014,,120308,,,A*73
+$GPRMC,144001.00,A,5159.12190,N,00423.71083,E,0.008,,120308,,,A*7B
+$GPRMC,144002.00,A,5159.12187,N,00423.71084,E,0.003,,120308,,,A*72
+$GPRMC,144003.00,A,5159.12185,N,00423.71088,E,0.006,,120308,,,A*78
+$GPRMC,144004.00,A,5159.12187,N,00423.71092,E,0.003,,120308,,,A*73
+$GPRMC,144005.00,A,5159.12185,N,00423.71091,E,0.015,,120308,,,A*74
+$GPRMC,144006.00,A,5159.12183,N,00423.71090,E,0.028,315.75,120308,,,A*65
+$GPRMC,144007.00,A,5159.12182,N,00423.71087,E,0.004,,120308,,,A*76
+$GPRMC,144008.00,A,5159.12178,N,00423.71080,E,0.014,,120308,,,A*7A
+$GPRMC,144009.00,A,5159.12169,N,00423.71078,E,0.003,,120308,,,A*7A
+$GPRMC,144010.00,A,5159.12161,N,00423.71080,E,0.018,,120308,,,A*77
+$GPRMC,144011.00,A,5159.12158,N,00423.71078,E,0.036,319.98,120308,,,A*63
+$GPRMC,144012.00,A,5159.12154,N,00423.71076,E,0.012,,120308,,,A*70
+$GPRMC,144013.00,A,5159.12148,N,00423.71071,E,0.009,,120308,,,A*71
+$GPRMC,144014.00,A,5159.12141,N,00423.71066,E,0.004,,120308,,,A*74
+$GPRMC,144015.00,A,5159.12138,N,00423.71061,E,0.003,,120308,,,A*7B
+$GPRMC,144016.00,A,5159.12132,N,00423.71053,E,0.011,,120308,,,A*70
+$GPRMC,144017.00,A,5159.12130,N,00423.71048,E,0.100,321.46,120308,,,A*64
+$GPRMC,144018.00,A,5159.12127,N,00423.71042,E,0.029,317.73,120308,,,A*6E
+$GPRMC,144019.00,A,5159.12122,N,00423.71037,E,0.020,319.64,120308,,,A*69
+$GPRMC,144020.00,A,5159.12119,N,00423.71031,E,0.005,,120308,,,A*7D
+$GPRMC,144021.00,A,5159.12118,N,00423.71027,E,0.012,,120308,,,A*7C
+$GPRMC,144022.00,A,5159.12118,N,00423.71026,E,0.012,,120308,,,A*7E
+$GPRMC,144023.00,A,5159.12117,N,00423.71025,E,0.025,319.40,120308,,,A*66
+$GPRMC,144024.00,A,5159.12118,N,00423.71026,E,0.004,,120308,,,A*7F
+$GPRMC,144025.00,A,5159.12119,N,00423.71030,E,0.040,322.29,120308,,,A*6E
+$GPRMC,144026.00,A,5159.12119,N,00423.71032,E,0.023,318.55,120308,,,A*68
+$GPRMC,144027.00,A,5159.12119,N,00423.71035,E,0.006,,120308,,,A*7D
+$GPRMC,144028.00,A,5159.12121,N,00423.71039,E,0.002,,120308,,,A*71
+$GPRMC,144029.00,A,5159.12122,N,00423.71046,E,0.007,,120308,,,A*7E
+$GPRMC,144030.00,A,5159.12123,N,00423.71050,E,0.006,,120308,,,A*71
+$GPRMC,144031.00,A,5159.12126,N,00423.71056,E,0.021,321.54,120308,,,A*69
+$GPRMC,144032.00,A,5159.12129,N,00423.71062,E,0.011,,120308,,,A*7E
+$GPRMC,144033.00,A,5159.12131,N,00423.71069,E,0.014,,120308,,,A*78
+$GPRMC,144034.00,A,5159.12133,N,00423.71076,E,0.010,,120308,,,A*77
+$GPRMC,144035.00,A,5159.12135,N,00423.71083,E,0.005,,120308,,,A*7E
+$GPRMC,144036.00,A,5159.12136,N,00423.71089,E,0.020,323.77,120308,,,A*6F
+$GPRMC,144037.00,A,5159.12137,N,00423.71093,E,0.021,321.09,120308,,,A*6E
+$GPRMC,144038.00,A,5159.12138,N,00423.71095,E,0.018,,120308,,,A*75
+$GPRMC,144039.00,A,5159.12139,N,00423.71098,E,0.006,,120308,,,A*77
+$GPRMC,144040.00,A,5159.12140,N,00423.71103,E,0.004,,120308,,,A*76
+$GPRMC,144041.00,A,5159.12141,N,00423.71108,E,0.038,323.57,120308,,,A*6C
+$GPRMC,144042.00,A,5159.12143,N,00423.71113,E,0.001,,120308,,,A*73
+$GPRMC,144043.00,A,5159.12144,N,00423.71117,E,0.007,,120308,,,A*77
+$GPRMC,144044.00,A,5159.12145,N,00423.71122,E,0.019,,120308,,,A*78
+$GPRMC,144045.00,A,5159.12146,N,00423.71127,E,0.006,,120308,,,A*71
+$GPRMC,144046.00,A,5159.12146,N,00423.71133,E,0.008,,120308,,,A*79
+$GPRMC,144047.00,A,5159.12146,N,00423.71137,E,0.008,,120308,,,A*7C
+$GPRMC,144048.00,A,5159.12146,N,00423.71140,E,0.009,,120308,,,A*72
+$GPRMC,144049.00,A,5159.12146,N,00423.71143,E,0.002,,120308,,,A*7B
+$GPRMC,144050.00,A,5159.12146,N,00423.71147,E,0.004,,120308,,,A*71
+$GPRMC,144051.00,A,5159.12145,N,00423.71147,E,0.005,,120308,,,A*72
+$GPRMC,144052.00,A,5159.12145,N,00423.71146,E,0.010,,120308,,,A*74
+$GPRMC,144053.00,A,5159.12146,N,00423.71147,E,0.057,320.78,120308,,,A*64
+$GPRMC,144054.00,A,5159.12145,N,00423.71147,E,0.005,,120308,,,A*77
+$GPRMC,144055.00,A,5159.12145,N,00423.71148,E,0.003,,120308,,,A*7F
+$GPRMC,144056.00,A,5159.12144,N,00423.71150,E,0.012,,120308,,,A*74
+$GPRMC,144057.00,A,5159.12144,N,00423.71151,E,0.003,,120308,,,A*74
+$GPRMC,144058.00,A,5159.12143,N,00423.71149,E,0.018,,120308,,,A*7F
+$GPRMC,144059.00,A,5159.12143,N,00423.71144,E,0.006,,120308,,,A*7C
+$GPRMC,144100.00,A,5159.12142,N,00423.71142,E,0.004,,120308,,,A*74
+$GPRMC,144101.00,A,5159.12143,N,00423.71139,E,0.003,,120308,,,A*7F
+$GPRMC,144102.00,A,5159.12145,N,00423.71141,E,0.015,,120308,,,A*72
+$GPRMC,144103.00,A,5159.12147,N,00423.71140,E,0.008,,120308,,,A*7C
+$GPRMC,144104.00,A,5159.12148,N,00423.71138,E,0.006,,120308,,,A*75
+$GPRMC,144105.00,A,5159.12149,N,00423.71138,E,0.021,320.58,120308,,,A*62
+$GPRMC,144106.00,A,5159.12150,N,00423.71136,E,0.010,,120308,,,A*77
+$GPRMC,144107.00,A,5159.12151,N,00423.71133,E,0.005,,120308,,,A*76
+$GPRMC,144108.00,A,5159.12151,N,00423.71129,E,0.007,,120308,,,A*70
+$GPRMC,144109.00,A,5159.12151,N,00423.71128,E,0.002,,120308,,,A*75
+$GPRMC,144110.00,A,5159.12151,N,00423.71126,E,0.016,,120308,,,A*76
+$GPRMC,144111.00,A,5159.12153,N,00423.71127,E,0.001,,120308,,,A*72
+$GPRMC,144112.00,A,5159.12155,N,00423.71129,E,0.004,,120308,,,A*7C
+$GPRMC,144113.00,A,5159.12157,N,00423.71132,E,0.005,,120308,,,A*74
+$GPRMC,144114.00,A,5159.12159,N,00423.71136,E,0.004,,120308,,,A*78
+$GPRMC,144115.00,A,5159.12161,N,00423.71138,E,0.026,323.58,120308,,,A*6D
+$GPRMC,144116.00,A,5159.12163,N,00423.71140,E,0.005,,120308,,,A*73
+$GPRMC,144117.00,A,5159.12164,N,00423.71141,E,0.011,,120308,,,A*71
+$GPRMC,144118.00,A,5159.12165,N,00423.71142,E,0.013,,120308,,,A*7E
+$GPRMC,144119.00,A,5159.12166,N,00423.71143,E,0.010,,120308,,,A*7E
+$GPRMC,144120.00,A,5159.12166,N,00423.71139,E,0.006,,120308,,,A*7E
+$GPRMC,144121.00,A,5159.12166,N,00423.71136,E,0.006,,120308,,,A*70
+$GPRMC,144122.00,A,5159.12167,N,00423.71133,E,0.003,,120308,,,A*72
+$GPRMC,144123.00,A,5159.12167,N,00423.71128,E,0.010,,120308,,,A*7B
+$GPRMC,144124.00,A,5159.12168,N,00423.71125,E,0.005,,120308,,,A*7A
+$GPRMC,144125.00,A,5159.12168,N,00423.71121,E,0.006,,120308,,,A*7C
+$GPRMC,144126.00,A,5159.12167,N,00423.71115,E,0.008,,120308,,,A*79
+$GPRMC,144127.00,A,5159.12166,N,00423.71107,E,0.011,,120308,,,A*72
+$GPRMC,144128.00,A,5159.12165,N,00423.71100,E,0.007,,120308,,,A*7E
+$GPRMC,144129.00,A,5159.12165,N,00423.71095,E,0.018,,120308,,,A*7C
+$GPRMC,144130.00,A,5159.12165,N,00423.71092,E,0.007,,120308,,,A*7D
+$GPRMC,144131.00,A,5159.12164,N,00423.71089,E,0.005,,120308,,,A*75
+$GPRMC,144132.00,A,5159.12163,N,00423.71086,E,0.020,320.51,120308,,,A*62
+$GPRMC,144133.00,A,5159.12163,N,00423.71084,E,0.007,,120308,,,A*7F
+$GPRMC,144134.00,A,5159.12164,N,00423.71082,E,0.009,,120308,,,A*77
+$GPRMC,144135.00,A,5159.12165,N,00423.71080,E,0.006,,120308,,,A*7A
+$GPRMC,144136.00,A,5159.12167,N,00423.71077,E,0.008,,120308,,,A*7D
+$GPRMC,144137.00,A,5159.12167,N,00423.71074,E,0.005,,120308,,,A*72
+$GPRMC,144138.00,A,5159.12167,N,00423.71072,E,0.006,,120308,,,A*78
+$GPRMC,144139.00,A,5159.12169,N,00423.71071,E,0.007,,120308,,,A*75
+$GPRMC,144140.00,A,5159.12169,N,00423.71068,E,0.006,,120308,,,A*72
+$GPRMC,144141.00,A,5159.12169,N,00423.71063,E,0.008,,120308,,,A*76
+$GPRMC,144142.00,A,5159.12170,N,00423.71061,E,0.003,,120308,,,A*74
+$GPRMC,144143.00,A,5159.12170,N,00423.71059,E,0.007,,120308,,,A*7A
+$GPRMC,144144.00,A,5159.12171,N,00423.71059,E,0.005,,120308,,,A*7E
+$GPRMC,144145.00,A,5159.12172,N,00423.71061,E,0.015,,120308,,,A*76
+$GPRMC,144146.00,A,5159.12173,N,00423.71065,E,0.001,,120308,,,A*75
+$GPRMC,144147.00,A,5159.12175,N,00423.71072,E,0.009,,120308,,,A*7C
+$GPRMC,144148.00,A,5159.12177,N,00423.71076,E,0.014,,120308,,,A*79
+$GPRMC,144149.00,A,5159.12178,N,00423.71079,E,0.008,,120308,,,A*75
+$GPRMC,144150.00,A,5159.12181,N,00423.71079,E,0.004,,120308,,,A*77
+$GPRMC,144151.00,A,5159.12183,N,00423.71080,E,0.015,,120308,,,A*72
+$GPRMC,144152.00,A,5159.12183,N,00423.71078,E,0.019,,120308,,,A*7A
+$GPRMC,144153.00,A,5159.12183,N,00423.71075,E,0.018,,120308,,,A*77
+$GPRMC,144154.00,A,5159.12184,N,00423.71071,E,0.009,,120308,,,A*73
+$GPRMC,144155.00,A,5159.12184,N,00423.71067,E,0.014,,120308,,,A*79
+$GPRMC,144156.00,A,5159.12185,N,00423.71063,E,0.014,,120308,,,A*7F
+$GPRMC,144157.00,A,5159.12185,N,00423.71060,E,0.012,,120308,,,A*7B
+$GPRMC,144158.00,A,5159.12185,N,00423.71058,E,0.018,,120308,,,A*75
+$GPRMC,144159.00,A,5159.12185,N,00423.71058,E,0.012,,120308,,,A*7E
+$GPRMC,144200.00,A,5159.12187,N,00423.71059,E,0.007,,120308,,,A*76
+$GPRMC,144201.00,A,5159.12188,N,00423.71059,E,0.005,,120308,,,A*7A
+$GPRMC,144202.00,A,5159.12188,N,00423.71058,E,0.007,,120308,,,A*7A
+$GPRMC,144203.00,A,5159.12187,N,00423.71055,E,0.007,,120308,,,A*79
+$GPRMC,144204.00,A,5159.12187,N,00423.71053,E,0.007,,120308,,,A*78
+$GPRMC,144205.00,A,5159.12186,N,00423.71052,E,0.018,,120308,,,A*77
+$GPRMC,144206.00,A,5159.12186,N,00423.71049,E,0.007,,120308,,,A*70
+$GPRMC,144207.00,A,5159.12186,N,00423.71046,E,0.008,,120308,,,A*71
+$GPRMC,144208.00,A,5159.12186,N,00423.71042,E,0.006,,120308,,,A*74
+$GPRMC,144209.00,A,5159.12187,N,00423.71039,E,0.001,,120308,,,A*7F
+$GPRMC,144210.00,A,5159.12186,N,00423.71037,E,0.005,,120308,,,A*7C
+$GPRMC,144211.00,A,5159.12187,N,00423.71036,E,0.009,,120308,,,A*71
+$GPRMC,144212.00,A,5159.12185,N,00423.71033,E,0.010,,120308,,,A*7D
+$GPRMC,144213.00,A,5159.12183,N,00423.71038,E,0.005,,120308,,,A*75
+$GPRMC,144214.00,A,5159.12182,N,00423.71041,E,0.021,315.71,120308,,,A*64
+$GPRMC,144215.00,A,5159.12182,N,00423.71044,E,0.011,,120308,,,A*7C
+$GPRMC,144216.00,A,5159.12181,N,00423.71049,E,0.008,,120308,,,A*79
+$GPRMC,144217.00,A,5159.12180,N,00423.71054,E,0.003,,120308,,,A*7E
+$GPRMC,144218.00,A,5159.12180,N,00423.71059,E,0.010,,120308,,,A*7E
+$GPRMC,144219.00,A,5159.12179,N,00423.71063,E,0.002,,120308,,,A*73
+$GPRMC,144220.00,A,5159.12177,N,00423.71067,E,0.004,,120308,,,A*75
+$GPRMC,144221.00,A,5159.12176,N,00423.71072,E,0.006,,120308,,,A*73
+$GPRMC,144222.00,A,5159.12174,N,00423.71076,E,0.008,,120308,,,A*78
+$GPRMC,144223.00,A,5159.12172,N,00423.71082,E,0.003,,120308,,,A*7F
+$GPRMC,144224.00,A,5159.12171,N,00423.71084,E,0.013,,120308,,,A*7C
+$GPRMC,144225.00,A,5159.12171,N,00423.71088,E,0.004,,120308,,,A*77
+$GPRMC,144226.00,A,5159.12171,N,00423.71092,E,0.002,,120308,,,A*79
+$GPRMC,144227.00,A,5159.12170,N,00423.71096,E,0.016,,120308,,,A*78
+$GPRMC,144228.00,A,5159.12170,N,00423.71102,E,0.019,,120308,,,D*71
+$GPRMC,144229.00,A,5159.12170,N,00423.71102,E,0.011,,120308,,,D*78
+$GPRMC,144230.00,A,5159.12169,N,00423.71102,E,0.012,,120308,,,D*7B
+$GPRMC,144231.00,A,5159.12169,N,00423.71103,E,0.016,,120308,,,D*7F
+$GPRMC,144232.00,A,5159.12169,N,00423.71106,E,0.010,,120308,,,D*7F
+$GPRMC,144233.00,A,5159.12171,N,00423.71118,E,0.012,,120308,,,D*7A
+$GPRMC,144234.00,A,5159.12175,N,00423.71128,E,0.029,317.96,120308,,,D*66
+$GPRMC,144235.00,A,5159.12179,N,00423.71138,E,0.018,,120308,,,D*7C
+$GPRMC,144236.00,A,5159.12183,N,00423.71148,E,0.002,,120308,,,D*76
+$GPRMC,144237.00,A,5159.12187,N,00423.71158,E,0.009,,120308,,,D*79
+$GPRMC,144238.00,A,5159.12191,N,00423.71168,E,0.014,,120308,,,D*7E
+$GPRMC,144239.00,A,5159.12196,N,00423.71178,E,0.006,,120308,,,D*7A
+$GPRMC,144240.00,A,5159.12199,N,00423.71185,E,0.011,,120308,,,D*7F
+$GPRMC,144241.00,A,5159.12203,N,00423.71191,E,0.009,,120308,,,D*72
+$GPRMC,144242.00,A,5159.12207,N,00423.71197,E,0.004,,120308,,,D*7E
+$GPRMC,144243.00,A,5159.12212,N,00423.71202,E,0.014,,120308,,,D*75
+$GPRMC,144244.00,A,5159.12216,N,00423.71209,E,0.004,,120308,,,D*7C
+$GPRMC,144245.00,A,5159.12219,N,00423.71213,E,0.015,,120308,,,D*79
+$GPRMC,144246.00,A,5159.12223,N,00423.71217,E,0.002,,120308,,,D*71
+$GPRMC,144247.00,A,5159.12227,N,00423.71221,E,0.009,,120308,,,D*7A
+$GPRMC,144248.00,A,5159.12231,N,00423.71226,E,0.010,,120308,,,D*7D
+$GPRMC,144249.00,A,5159.12234,N,00423.71231,E,0.004,,120308,,,D*7A
+$GPRMC,144250.00,A,5159.12238,N,00423.71234,E,0.004,,120308,,,D*7B
+$GPRMC,144251.00,A,5159.12244,N,00423.71242,E,0.014,,120308,,,D*71
+$GPRMC,144252.00,A,5159.12247,N,00423.71248,E,0.010,,120308,,,D*7F
+$GPRMC,144253.00,A,5159.12250,N,00423.71253,E,0.003,,120308,,,D*70
+$GPRMC,144254.00,A,5159.12253,N,00423.71258,E,0.014,,120308,,,D*79
+$GPRMC,144255.00,A,5159.12254,N,00423.71263,E,0.007,,120308,,,D*75
+$GPRMC,144256.00,A,5159.12256,N,00423.71268,E,0.005,,120308,,,D*7D
+$GPRMC,144257.00,A,5159.12257,N,00423.71269,E,0.005,,120308,,,D*7C
+$GPRMC,144258.00,A,5159.12260,N,00423.71273,E,0.012,,120308,,,D*7A
+$GPRMC,144259.00,A,5159.12262,N,00423.71275,E,0.005,,120308,,,D*79
+$GPRMC,144300.00,A,5159.12261,N,00423.71278,E,0.004,,120308,,,D*7B
+$GPRMC,144301.00,A,5159.12259,N,00423.71280,E,0.005,,120308,,,D*77
+$GPRMC,144302.00,A,5159.12257,N,00423.71283,E,0.012,,120308,,,D*7F
+$GPRMC,144303.00,A,5159.12257,N,00423.71284,E,0.006,,120308,,,D*7C
+$GPRMC,144304.00,A,5159.12256,N,00423.71284,E,0.007,,120308,,,D*7B
+$GPRMC,144305.00,A,5159.12256,N,00423.71288,E,0.018,,120308,,,D*78
+$GPRMC,144306.00,A,5159.12254,N,00423.71290,E,0.016,,120308,,,D*7E
+$GPRMC,144307.00,A,5159.12253,N,00423.71290,E,0.005,,120308,,,D*7A
+$GPRMC,144308.00,A,5159.12251,N,00423.71288,E,0.003,,120308,,,D*78
+$GPRMC,144309.00,A,5159.12251,N,00423.71289,E,0.013,,120308,,,D*79
+$GPRMC,144310.00,A,5159.12251,N,00423.71286,E,0.004,,120308,,,D*78
+$GPRMC,144311.00,A,5159.12253,N,00423.71283,E,0.012,,120308,,,D*79
+$GPRMC,144312.00,A,5159.12255,N,00423.71280,E,0.029,313.05,120308,,,D*6D
+$GPRMC,144313.00,A,5159.12256,N,00423.71276,E,0.002,,120308,,,D*75
+$GPRMC,144314.00,A,5159.12256,N,00423.71273,E,0.010,,120308,,,D*74
+$GPRMC,144315.00,A,5159.12256,N,00423.71270,E,0.008,,120308,,,D*7F
+$GPRMC,144316.00,A,5159.12256,N,00423.71268,E,0.014,,120308,,,D*78
+$GPRMC,144317.00,A,5159.12256,N,00423.71266,E,0.007,,120308,,,D*75
+$GPRMC,144318.00,A,5159.12256,N,00423.71264,E,0.020,316.92,120308,,,D*6C
+$GPRMC,144319.00,A,5159.12256,N,00423.71264,E,0.019,,120308,,,D*76
+$GPRMC,144320.00,A,5159.12257,N,00423.71262,E,0.015,,120308,,,D*77
+$GPRMC,144321.00,A,5159.12257,N,00423.71260,E,0.025,312.69,120308,,,D*66
+$GPRMC,144322.00,A,5159.12260,N,00423.71257,E,0.007,,120308,,,D*74
+$GPRMC,144323.00,A,5159.12263,N,00423.71254,E,0.003,,120308,,,D*71
+$GPRMC,144324.00,A,5159.12266,N,00423.71250,E,0.008,,120308,,,D*7C
+$GPRMC,144325.00,A,5159.12269,N,00423.71248,E,0.010,,120308,,,D*72
+$GPRMC,144326.00,A,5159.12273,N,00423.71246,E,0.005,,120308,,,D*70
+$GPRMC,144327.00,A,5159.12276,N,00423.71245,E,0.008,,120308,,,D*7A
+$GPRMC,144328.00,A,5159.12278,N,00423.71244,E,0.019,,120308,,,D*7A
+$GPRMC,144329.00,A,5159.12281,N,00423.71242,E,0.015,,120308,,,D*77
+$GPRMC,144330.00,A,5159.12285,N,00423.71240,E,0.009,,120308,,,D*74
+$GPRMC,144331.00,A,5159.12287,N,00423.71237,E,0.009,,120308,,,D*77
+$GPRMC,144332.00,A,5159.12290,N,00423.71234,E,0.014,,120308,,,D*7D
+$GPRMC,144333.00,A,5159.12293,N,00423.71232,E,0.010,,120308,,,D*7D
+$GPRMC,144334.00,A,5159.12296,N,00423.71231,E,0.011,,120308,,,D*7D
+$GPRMC,144335.00,A,5159.12297,N,00423.71230,E,0.016,,120308,,,D*7B
+$GPRMC,144336.00,A,5159.12299,N,00423.71229,E,0.003,,120308,,,D*7A
+$GPRMC,144337.00,A,5159.12301,N,00423.71227,E,0.005,,120308,,,D*73
+$GPRMC,144338.00,A,5159.12303,N,00423.71226,E,0.007,,120308,,,D*7D
+$GPRMC,144339.00,A,5159.12306,N,00423.71224,E,0.018,,120308,,,D*75
+$GPRMC,144340.00,A,5159.12308,N,00423.71223,E,0.007,,120308,,,D*7C
+$GPRMC,144341.00,A,5159.12311,N,00423.71222,E,0.008,,120308,,,D*7B
+$GPRMC,144342.00,A,5159.12314,N,00423.71221,E,0.014,,120308,,,D*73
+$GPRMC,144343.00,A,5159.12316,N,00423.71222,E,0.022,308.67,120308,,,D*62
+$GPRMC,144344.00,A,5159.12319,N,00423.71222,E,0.014,,120308,,,D*7B
+$GPRMC,144345.00,A,5159.12320,N,00423.71225,E,0.014,,120308,,,D*77
+$GPRMC,144346.00,A,5159.12321,N,00423.71227,E,0.016,,120308,,,D*75
+$GPRMC,144347.00,A,5159.12322,N,00423.71228,E,0.007,,120308,,,D*78
+$GPRMC,144348.00,A,5159.12322,N,00423.71230,E,0.005,,120308,,,D*7C
+$GPRMC,144349.00,A,5159.12321,N,00423.71233,E,0.017,,120308,,,D*7E
+$GPRMC,144350.00,A,5159.12320,N,00423.71234,E,0.095,306.72,120308,,,D*64
+$GPRMC,144351.00,A,5159.12320,N,00423.71236,E,0.015,,120308,,,D*71
+$GPRMC,144352.00,A,5159.12321,N,00423.71237,E,0.009,,120308,,,D*7F
+$GPRMC,144353.00,A,5159.12323,N,00423.71238,E,0.081,308.27,120308,,,D*63
+$GPRMC,144354.00,A,5159.12326,N,00423.71240,E,0.007,,120308,,,D*70
+$GPRMC,144355.00,A,5159.12328,N,00423.71242,E,0.006,,120308,,,D*7C
+$GPRMC,144356.00,A,5159.12330,N,00423.71245,E,0.006,,120308,,,D*71
+$GPRMC,144357.00,A,5159.12332,N,00423.71249,E,0.004,,120308,,,D*7C
+$GPRMC,144358.00,A,5159.12334,N,00423.71254,E,0.019,,120308,,,D*75
+$GPRMC,144359.00,A,5159.12336,N,00423.71255,E,0.011,,120308,,,D*7F
+$GPRMC,144400.00,A,5159.12338,N,00423.71255,E,0.011,,120308,,,D*7A
+$GPRMC,144401.00,A,5159.12340,N,00423.71254,E,0.004,,120308,,,D*71
+$GPRMC,144402.00,A,5159.12342,N,00423.71254,E,0.003,,120308,,,D*77
+$GPRMC,144403.00,A,5159.12343,N,00423.71253,E,0.024,310.23,120308,,,D*68
+$GPRMC,144404.00,A,5159.12344,N,00423.71252,E,0.006,,120308,,,D*74
+$GPRMC,144405.00,A,5159.12344,N,00423.71251,E,0.007,,120308,,,D*77
+$GPRMC,144406.00,A,5159.12346,N,00423.71250,E,0.008,,120308,,,D*78
+$GPRMC,144407.00,A,5159.12346,N,00423.71247,E,0.004,,120308,,,D*73
+$GPRMC,144408.00,A,5159.12346,N,00423.71246,E,0.005,,120308,,,D*7C
+$GPRMC,144409.00,A,5159.12346,N,00423.71245,E,0.019,,120308,,,D*73
+$GPRMC,144410.00,A,5159.12345,N,00423.71245,E,0.003,,120308,,,D*73
+$GPRMC,144411.00,A,5159.12345,N,00423.71246,E,0.005,,120308,,,D*77
+$GPRMC,144412.00,A,5159.12345,N,00423.71248,E,0.013,,120308,,,D*7D
+$GPRMC,144413.00,A,5159.12345,N,00423.71250,E,0.009,,120308,,,D*7E
+$GPRMC,144414.00,A,5159.12345,N,00423.71253,E,0.006,,120308,,,D*75
+$GPRMC,144415.00,A,5159.12344,N,00423.71255,E,0.007,,120308,,,D*72
+$GPRMC,144416.00,A,5159.12342,N,00423.71256,E,0.007,,120308,,,D*74
+$GPRMC,144417.00,A,5159.12340,N,00423.71256,E,0.016,,120308,,,D*77
+$GPRMC,144418.00,A,5159.12338,N,00423.71257,E,0.019,,120308,,,D*79
+$GPRMC,144419.00,A,5159.12337,N,00423.71258,E,0.020,312.28,120308,,,D*66
+$GPRMC,144420.00,A,5159.12337,N,00423.71257,E,0.007,,120308,,,D*72
+$GPRMC,144421.00,A,5159.12335,N,00423.71254,E,0.012,,120308,,,D*76
+$GPRMC,144422.00,A,5159.12335,N,00423.71254,E,0.023,315.05,120308,,,D*6B
+$GPRMC,144423.00,A,5159.12335,N,00423.71251,E,0.008,,120308,,,D*7A
+$GPRMC,144424.00,A,5159.12338,N,00423.71279,E,0.010,,120308,,,D*73
+$GPRMC,144425.00,A,5159.12342,N,00423.71304,E,0.008,,120308,,,D*7D
+$GPRMC,144426.00,A,5159.12345,N,00423.71329,E,0.015,,120308,,,D*7A
+$GPRMC,144427.00,A,5159.12349,N,00423.71351,E,0.012,,120308,,,D*7F
+$GPRMC,144428.00,A,5159.12354,N,00423.71371,E,0.011,,120308,,,D*7D
+$GPRMC,144429.00,A,5159.12359,N,00423.71386,E,0.005,,120308,,,D*7C
+$GPRMC,144430.00,A,5159.12364,N,00423.71401,E,0.007,,120308,,,D*70
+$GPRMC,144431.00,A,5159.12369,N,00423.71415,E,0.015,,120308,,,D*7A
+$GPRMC,144432.00,A,5159.12372,N,00423.71427,E,0.006,,120308,,,D*70
+$GPRMC,144433.00,A,5159.12377,N,00423.71442,E,0.006,,120308,,,D*77
+$GPRMC,144434.00,A,5159.12374,N,00423.71447,E,0.014,,120308,,,D*75
+$GPRMC,144435.00,A,5159.12370,N,00423.71452,E,0.006,,120308,,,D*77
+$GPRMC,144436.00,A,5159.12367,N,00423.71457,E,0.012,,120308,,,D*72
+$GPRMC,144437.00,A,5159.12364,N,00423.71459,E,0.014,,120308,,,D*78
+$GPRMC,144438.00,A,5159.12361,N,00423.71458,E,0.005,,120308,,,D*73
+$GPRMC,144439.00,A,5159.12356,N,00423.71454,E,0.015,,120308,,,D*7B
+$GPRMC,144440.00,A,5159.12351,N,00423.71451,E,0.014,,120308,,,D*76
+$GPRMC,144441.00,A,5159.12347,N,00423.71449,E,0.010,,120308,,,D*7D
+$GPRMC,144442.00,A,5159.12344,N,00423.71451,E,0.003,,120308,,,D*76
+$GPRMC,144443.00,A,5159.12340,N,00423.71455,E,0.005,,120308,,,D*71
+$GPRMC,144444.00,A,5159.12336,N,00423.71458,E,0.009,,120308,,,D*76
+$GPRMC,144445.00,A,5159.12334,N,00423.71462,E,0.003,,120308,,,D*76
+$GPRMC,144446.00,A,5159.12331,N,00423.71465,E,0.004,,120308,,,D*70
+$GPRMC,144447.00,A,5159.12328,N,00423.71469,E,0.009,,120308,,,D*78
+$GPRMC,144448.00,A,5159.12326,N,00423.71474,E,0.020,318.39,120308,,,D*60
+$GPRMC,144449.00,A,5159.12324,N,00423.71481,E,0.021,315.94,120308,,,D*62
+$GPRMC,144450.00,A,5159.12321,N,00423.71487,E,0.003,,120308,,,D*7D
+$GPRMC,144451.00,A,5159.12320,N,00423.71494,E,0.015,,120308,,,D*78
+$GPRMC,144452.00,A,5159.12318,N,00423.71502,E,0.006,,120308,,,D*7C
+$GPRMC,144453.00,A,5159.12318,N,00423.71506,E,0.002,,120308,,,D*7D
+$GPRMC,144454.00,A,5159.12316,N,00423.71509,E,0.012,,120308,,,D*7A
+$GPRMC,144455.00,A,5159.12316,N,00423.71508,E,0.002,,120308,,,D*7B
+$GPRMC,144456.00,A,5159.12316,N,00423.71509,E,0.017,,120308,,,D*7D
+$GPRMC,144457.00,A,5159.12316,N,00423.71508,E,0.012,,120308,,,D*78
+$GPRMC,144458.00,A,5159.12315,N,00423.71508,E,0.004,,120308,,,D*73
+$GPRMC,144459.00,A,5159.12315,N,00423.71509,E,0.018,,120308,,,D*7E
+$GPRMC,144500.00,A,5159.12313,N,00423.71510,E,0.018,,120308,,,D*7D
+$GPRMC,144501.00,A,5159.12311,N,00423.71513,E,0.013,,120308,,,D*76
+$GPRMC,144502.00,A,5159.12311,N,00423.71515,E,0.012,,120308,,,D*72
+$GPRMC,144503.00,A,5159.12309,N,00423.71516,E,0.007,,120308,,,D*7D
+$GPRMC,144504.00,A,5159.12309,N,00423.71518,E,0.003,,120308,,,D*70
+$GPRMC,144505.00,A,5159.12309,N,00423.71519,E,0.010,,120308,,,D*72
+$GPRMC,144506.00,A,5159.12304,N,00423.71521,E,0.103,313.42,120308,,,D*6D
+$GPRMC,144507.00,A,5159.12300,N,00423.71523,E,0.021,317.31,120308,,,D*6B
+$GPRMC,144508.00,A,5159.12298,N,00423.71525,E,0.009,,120308,,,D*71
+$GPRMC,144509.00,A,5159.12297,N,00423.71528,E,0.014,,120308,,,D*7E
+$GPRMC,144510.00,A,5159.12296,N,00423.71531,E,0.011,,120308,,,D*7A
+$GPRMC,144511.00,A,5159.12294,N,00423.71536,E,0.007,,120308,,,D*79
+$GPRMC,144512.00,A,5159.12292,N,00423.71538,E,0.016,,120308,,,D*72
+$GPRMC,144513.00,A,5159.12291,N,00423.71540,E,0.010,,120308,,,D*79
+$GPRMC,144514.00,A,5159.12290,N,00423.71541,E,0.013,,120308,,,D*7D
+$GPRMC,144515.00,A,5159.12290,N,00423.71545,E,0.014,,120308,,,D*7F
+$GPRMC,144516.00,A,5159.12291,N,00423.71545,E,0.005,,120308,,,D*7D
+$GPRMC,144517.00,A,5159.12292,N,00423.71544,E,0.009,,120308,,,D*72
+$GPRMC,144518.00,A,5159.12293,N,00423.71546,E,0.008,,120308,,,D*7F
+$GPRMC,144519.00,A,5159.12293,N,00423.71546,E,0.073,321.99,120308,,,D*6C
+$GPRMC,144520.00,A,5159.12291,N,00423.71551,E,0.269,331.55,120308,,,D*6A
+$GPRMC,144521.00,A,5159.12286,N,00423.71565,E,0.504,340.71,120308,,,D*66
+$GPRMC,144522.00,A,5159.12280,N,00423.71587,E,0.593,349.24,120308,,,D*68
+$GPRMC,144523.00,A,5159.12272,N,00423.71608,E,0.498,357.19,120308,,,D*6B
+$GPRMC,144524.00,A,5159.12268,N,00423.71622,E,0.132,0.81,120308,,,D*6A
+$GPRMC,144525.00,A,5159.12266,N,00423.71620,E,0.004,,120308,,,D*74
+$GPRMC,144526.00,A,5159.12267,N,00423.71622,E,0.017,,120308,,,D*76
+$GPRMC,144527.00,A,5159.12268,N,00423.71626,E,0.003,,120308,,,D*79
+$GPRMC,144528.00,A,5159.12268,N,00423.71631,E,0.019,,120308,,,D*7B
+$GPRMC,144529.00,A,5159.12268,N,00423.71636,E,0.013,,120308,,,D*77
+$GPRMC,144530.00,A,5159.12267,N,00423.71638,E,0.014,,120308,,,D*79
+$GPRMC,144531.00,A,5159.12266,N,00423.71643,E,0.015,,120308,,,D*74
+$GPRMC,144532.00,A,5159.12265,N,00423.71646,E,0.020,356.68,120308,,,D*67
+$GPRMC,144533.00,A,5159.12265,N,00423.71648,E,0.002,,120308,,,D*78
+$GPRMC,144534.00,A,5159.12264,N,00423.71650,E,0.001,,120308,,,D*74
+$GPRMC,144535.00,A,5159.12265,N,00423.71654,E,0.013,,120308,,,D*73
+$GPRMC,144536.00,A,5159.12265,N,00423.71657,E,0.018,,120308,,,D*78
+$GPRMC,144537.00,A,5159.12266,N,00423.71657,E,0.003,,120308,,,D*70
+$GPRMC,144538.00,A,5159.12265,N,00423.71654,E,0.005,,120308,,,D*79
+$GPRMC,144539.00,A,5159.12264,N,00423.71653,E,0.008,,120308,,,D*73
+$GPRMC,144540.00,A,5159.12264,N,00423.71648,E,0.017,,120308,,,D*79
+$GPRMC,144541.00,A,5159.12263,N,00423.71642,E,0.009,,120308,,,D*7A
+$GPRMC,144542.00,A,5159.12261,N,00423.71635,E,0.012,,120308,,,D*71
+$GPRMC,144543.00,A,5159.12260,N,00423.71625,E,0.010,,120308,,,D*72
+$GPRMC,144544.00,A,5159.12259,N,00423.71617,E,0.008,,120308,,,D*77
+$GPRMC,144545.00,A,5159.12257,N,00423.71610,E,0.018,,120308,,,D*7E
+$GPRMC,144546.00,A,5159.12256,N,00423.71606,E,0.014,,120308,,,D*77
+$GPRMC,144547.00,A,5159.12255,N,00423.71603,E,0.015,,120308,,,D*71
+$GPRMC,144548.00,A,5159.12254,N,00423.71599,E,0.014,,120308,,,D*7E
+$GPRMC,144549.00,A,5159.12254,N,00423.71594,E,0.002,,120308,,,D*75
+$GPRMC,144550.00,A,5159.12254,N,00423.71591,E,0.018,,120308,,,D*73
+$GPRMC,144551.00,A,5159.12255,N,00423.71590,E,0.017,,120308,,,D*7D
+$GPRMC,144552.00,A,5159.12255,N,00423.71589,E,0.010,,120308,,,D*71
+$GPRMC,144553.00,A,5159.12254,N,00423.71585,E,0.021,356.92,120308,,,D*6A
+$GPRMC,144554.00,A,5159.12257,N,00423.71591,E,0.011,,120308,,,D*7D
+$GPRMC,144555.00,A,5159.12256,N,00423.71589,E,0.025,354.36,120308,,,D*6A
+$GPRMC,144556.00,A,5159.12258,N,00423.71593,E,0.010,,120308,,,D*73
+$GPRMC,144557.00,A,5159.12259,N,00423.71596,E,0.013,,120308,,,D*75
+$GPRMC,144558.00,A,5159.12260,N,00423.71600,E,0.012,,120308,,,D*7D
+$GPRMC,144559.00,A,5159.12261,N,00423.71603,E,0.017,,120308,,,D*7B
+$GPRMC,144600.00,A,5159.12262,N,00423.71605,E,0.018,,120308,,,D*7E
+$GPRMC,144601.00,A,5159.12264,N,00423.71606,E,0.005,,120308,,,D*76
+$GPRMC,144602.00,A,5159.12266,N,00423.71604,E,0.018,,120308,,,D*79
+$GPRMC,144603.00,A,5159.12270,N,00423.71601,E,0.006,,120308,,,D*75
+$GPRMC,144604.00,A,5159.12273,N,00423.71602,E,0.016,,120308,,,D*73
+$GPRMC,144605.00,A,5159.12276,N,00423.71603,E,0.005,,120308,,,D*74
+$GPRMC,144606.00,A,5159.12279,N,00423.71605,E,0.016,,120308,,,D*7C
+$GPRMC,144607.00,A,5159.12281,N,00423.71605,E,0.017,,120308,,,D*7B
+$GPRMC,144608.00,A,5159.12282,N,00423.71603,E,0.017,,120308,,,D*71
+$GPRMC,144609.00,A,5159.12284,N,00423.71601,E,0.025,351.15,120308,,,D*68
+$GPRMC,144610.00,A,5159.12279,N,00423.71586,E,0.166,350.13,120308,,,D*6F
+$GPRMC,144611.00,A,5159.12287,N,00423.71564,E,0.783,347.65,120308,,,D*69
+$GPRMC,144612.00,A,5159.12302,N,00423.71500,E,1.895,345.14,120308,,,D*69
+$GPRMC,144613.00,A,5159.12334,N,00423.71384,E,3.433,300.22,120308,,,D*61
+$GPRMC,144614.00,A,5159.12378,N,00423.71202,E,4.828,295.43,120308,,,D*6A
+$GPRMC,144615.00,A,5159.12432,N,00423.70979,E,5.262,295.38,120308,,,D*6D
+$GPRMC,144616.00,A,5159.12496,N,00423.70736,E,6.087,296.98,120308,,,D*66
+$GPRMC,144617.00,A,5159.12588,N,00423.70460,E,7.513,308.34,120308,,,D*60
+$GPRMC,144618.00,A,5159.12754,N,00423.70196,E,9.321,322.41,120308,,,D*63
+$GPRMC,144619.00,A,5159.12989,N,00423.69960,E,10.765,334.17,120308,,,D*5D
+$GPRMC,144620.00,A,5159.13264,N,00423.69759,E,11.122,337.26,120308,,,D*5F
+$GPRMC,144621.00,A,5159.13557,N,00423.69529,E,12.256,332.19,120308,,,D*56
+$GPRMC,144622.00,A,5159.13846,N,00423.69202,E,13.323,319.70,120308,,,D*52
+$GPRMC,144623.00,A,5159.14096,N,00423.68733,E,14.462,304.15,120308,,,D*5D
+$GPRMC,144624.00,A,5159.14301,N,00423.68130,E,16.006,295.18,120308,,,D*52
+$GPRMC,144625.00,A,5159.14476,N,00423.67443,E,16.854,290.04,120308,,,D*5D
+$GPRMC,144626.00,A,5159.14631,N,00423.66727,E,16.909,288.22,120308,,,D*5B
+$GPRMC,144627.00,A,5159.14777,N,00423.65999,E,16.988,287.76,120308,,,D*56
+$GPRMC,144628.00,A,5159.14929,N,00423.65275,E,16.854,289.57,120308,,,D*58
+$GPRMC,144629.00,A,5159.15117,N,00423.64561,E,17.140,295.69,120308,,,D*53
+$GPRMC,144630.00,A,5159.15388,N,00423.63900,E,18.168,310.45,120308,,,D*54
+$GPRMC,144631.00,A,5159.15794,N,00423.63350,E,20.190,327.65,120308,,,D*59
+$GPRMC,144632.00,A,5159.16339,N,00423.62913,E,23.157,338.72,120308,,,D*56
+$GPRMC,144633.00,A,5159.16989,N,00423.62540,E,26.023,341.65,120308,,,D*53
+$GPRMC,144634.00,A,5159.17685,N,00423.62182,E,26.416,342.63,120308,,,D*5B
+$GPRMC,144635.00,A,5159.18412,N,00423.61826,E,28.222,343.36,120308,,,D*53
+$GPRMC,144636.00,A,5159.19194,N,00423.61455,E,30.359,343.95,120308,,,D*5F
+$GPRMC,144637.00,A,5159.20034,N,00423.61062,E,32.416,344.13,120308,,,D*58
+$GPRMC,144638.00,A,5159.20930,N,00423.60646,E,34.346,344.21,120308,,,D*5E
+$GPRMC,144639.00,A,5159.21849,N,00423.60222,E,34.463,344.62,120308,,,D*50
+$GPRMC,144640.00,A,5159.22787,N,00423.59800,E,35.496,344.92,120308,,,D*54
+$GPRMC,144641.00,A,5159.23768,N,00423.59368,E,37.226,345.16,120308,,,D*52
+$GPRMC,144642.00,A,5159.24799,N,00423.58920,E,38.638,345.41,120308,,,D*59
+$GPRMC,144643.00,A,5159.25868,N,00423.58465,E,39.870,345.61,120308,,,D*55
+$GPRMC,144644.00,A,5159.26966,N,00423.57997,E,41.046,345.50,120308,,,D*51
+$GPRMC,144645.00,A,5159.28088,N,00423.57512,E,42.055,345.21,120308,,,D*51
+$GPRMC,144646.00,A,5159.29227,N,00423.57006,E,42.912,345.03,120308,,,D*5E
+$GPRMC,144647.00,A,5159.30392,N,00423.56491,E,43.631,345.12,120308,,,D*5C
+$GPRMC,144648.00,A,5159.31576,N,00423.55976,E,44.307,345.11,120308,,,D*5D
+$GPRMC,144649.00,A,5159.32781,N,00423.55445,E,44.993,344.97,120308,,,D*50
+$GPRMC,144650.00,A,5159.34002,N,00423.54911,E,45.744,345.07,120308,,,D*52
+$GPRMC,144651.00,A,5159.35234,N,00423.54370,E,46.389,345.03,120308,,,D*5A
+$GPRMC,144652.00,A,5159.36491,N,00423.53814,E,47.167,344.98,120308,,,D*5D
+$GPRMC,144653.00,A,5159.37763,N,00423.53245,E,47.853,344.96,120308,,,D*5D
+$GPRMC,144654.00,A,5159.39051,N,00423.52672,E,48.330,344.94,120308,,,D*50
+$GPRMC,144655.00,A,5159.40355,N,00423.52098,E,48.689,345.00,120308,,,D*51
+$GPRMC,144656.00,A,5159.41675,N,00423.51521,E,49.105,345.08,120308,,,D*5A
+$GPRMC,144657.00,A,5159.42999,N,00423.50949,E,49.439,345.15,120308,,,D*50
+$GPRMC,144658.00,A,5159.44344,N,00423.50373,E,49.797,345.23,120308,,,D*52
+$GPRMC,144659.00,A,5159.45699,N,00423.49798,E,50.187,345.37,120308,,,D*54
+$GPRMC,144700.00,A,5159.47058,N,00423.49222,E,50.554,345.50,120308,,,D*5F
+$GPRMC,144701.00,A,5159.48422,N,00423.48648,E,51.063,346.02,120308,,,D*55
+$GPRMC,144702.00,A,5159.49776,N,00423.48078,E,50.452,345.88,120308,,,D*56
+$GPRMC,144703.00,A,5159.51142,N,00423.47530,E,50.492,346.46,120308,,,D*54
+$GPRMC,144704.00,A,5159.52519,N,00423.47027,E,50.434,347.92,120308,,,D*5D
+$GPRMC,144705.00,A,5159.53902,N,00423.46579,E,50.525,349.25,120308,,,D*57
+$GPRMC,144706.00,A,5159.55272,N,00423.46171,E,50.330,350.20,120308,,,D*5D
+$GPRMC,144707.00,A,5159.56649,N,00423.45798,E,49.902,350.50,120308,,,D*55
+$GPRMC,144708.00,A,5159.58007,N,00423.45423,E,49.109,349.63,120308,,,D*50
+$GPRMC,144709.00,A,5159.59331,N,00423.45016,E,47.660,348.58,120308,,,D*5B
+$GPRMC,144710.00,A,5159.60610,N,00423.44594,E,45.957,348.35,120308,,,D*53
+$GPRMC,144711.00,A,5159.61837,N,00423.44195,E,44.225,349.17,120308,,,D*53
+$GPRMC,144712.00,A,5159.63012,N,00423.43838,E,42.381,349.95,120308,,,D*57
+$GPRMC,144713.00,A,5159.64139,N,00423.43529,E,40.470,351.14,120308,,,D*5F
+$GPRMC,144714.00,A,5159.65212,N,00423.43261,E,38.577,351.71,120308,,,D*52
+$GPRMC,144715.00,A,5159.66225,N,00423.43021,E,36.014,351.99,120308,,,D*5A
+$GPRMC,144716.00,A,5159.67168,N,00423.42811,E,33.335,352.48,120308,,,D*52
+$GPRMC,144717.00,A,5159.68065,N,00423.42646,E,31.639,353.75,120308,,,D*58
+$GPRMC,144718.00,A,5159.68909,N,00423.42530,E,29.521,355.78,120308,,,D*5E
+$GPRMC,144719.00,A,5159.69708,N,00423.42469,E,28.208,357.70,120308,,,D*5B
+$GPRMC,144720.00,A,5159.70474,N,00423.42458,E,27.662,0.03,120308,,,D*51
+$GPRMC,144721.00,A,5159.71242,N,00423.42496,E,28.159,2.06,120308,,,D*57
+$GPRMC,144722.00,A,5159.72032,N,00423.42569,E,29.309,3.20,120308,,,D*50
+$GPRMC,144723.00,A,5159.72858,N,00423.42667,E,30.648,4.04,120308,,,D*51
+$GPRMC,144724.00,A,5159.73731,N,00423.42805,E,32.168,5.79,120308,,,D*51
+$GPRMC,144725.00,A,5159.74634,N,00423.42999,E,32.953,8.37,120308,,,D*50
+$GPRMC,144726.00,A,5159.75538,N,00423.43264,E,32.867,11.21,120308,,,D*6C
+$GPRMC,144727.00,A,5159.76422,N,00423.43585,E,32.233,13.09,120308,,,D*6F
+$GPRMC,144728.00,A,5159.77278,N,00423.43926,E,31.346,13.72,120308,,,D*61
+$GPRMC,144729.00,A,5159.78107,N,00423.44247,E,30.356,12.36,120308,,,D*6E
+$GPRMC,144730.00,A,5159.78908,N,00423.44464,E,28.999,5.69,120308,,,D*5A
+$GPRMC,144731.00,A,5159.79685,N,00423.44487,E,27.884,356.36,120308,,,D*50
+$GPRMC,144732.00,A,5159.80426,N,00423.44291,E,26.764,345.56,120308,,,D*5B
+$GPRMC,144733.00,A,5159.81089,N,00423.43881,E,25.889,336.22,120308,,,D*5E
+$GPRMC,144734.00,A,5159.81696,N,00423.43321,E,25.502,327.90,120308,,,D*57
+$GPRMC,144735.00,A,5159.82242,N,00423.42629,E,25.659,320.42,120308,,,D*51
+$GPRMC,144736.00,A,5159.82731,N,00423.41807,E,25.557,312.20,120308,,,D*5A
+$GPRMC,144737.00,A,5159.83144,N,00423.40881,E,25.313,304.03,120308,,,D*51
+$GPRMC,144738.00,A,5159.83500,N,00423.39878,E,26.032,297.03,120308,,,D*5A
+$GPRMC,144739.00,A,5159.83790,N,00423.38796,E,26.240,290.77,120308,,,D*5D
+$GPRMC,144740.00,A,5159.83998,N,00423.37649,E,26.933,283.41,120308,,,D*51
+$GPRMC,144741.00,A,5159.84094,N,00423.36430,E,27.529,272.79,120308,,,D*5C
+$GPRMC,144742.00,A,5159.84047,N,00423.35173,E,28.064,262.40,120308,,,D*58
+$GPRMC,144743.00,A,5159.83864,N,00423.33923,E,28.996,253.19,120308,,,D*56
+$GPRMC,144744.00,A,5159.83566,N,00423.32670,E,30.182,246.44,120308,,,D*5E
+$GPRMC,144745.00,A,5159.83178,N,00423.31429,E,31.071,241.47,120308,,,D*51
+$GPRMC,144746.00,A,5159.82720,N,00423.30221,E,31.532,236.95,120308,,,D*5A
+$GPRMC,144747.00,A,5159.82210,N,00423.29033,E,32.303,234.29,120308,,,D*56
+$GPRMC,144748.00,A,5159.81652,N,00423.27834,E,33.796,232.66,120308,,,D*5D
+$GPRMC,144749.00,A,5159.81042,N,00423.26597,E,34.794,232.76,120308,,,D*5A
+$GPRMC,144750.00,A,5159.80436,N,00423.25308,E,35.787,233.50,120308,,,D*51
+$GPRMC,144751.00,A,5159.79827,N,00423.23966,E,36.587,234.56,120308,,,D*5E
+$GPRMC,144752.00,A,5159.79238,N,00423.22576,E,36.583,237.14,120308,,,D*54
+$GPRMC,144753.00,A,5159.78704,N,00423.21159,E,37.046,239.19,120308,,,D*5A
+$GPRMC,144754.00,A,5159.78111,N,00423.19648,E,38.450,239.73,120308,,,D*53
+$GPRMC,144755.00,A,5159.77583,N,00423.18111,E,37.907,243.13,120308,,,D*53
+$GPRMC,144756.00,A,5159.77096,N,00423.16563,E,38.149,245.20,120308,,,D*55
+$GPRMC,144757.00,A,5159.76662,N,00423.14978,E,38.693,246.85,120308,,,D*50
+$GPRMC,144758.00,A,5159.76250,N,00423.13352,E,39.367,248.00,120308,,,D*53
+$GPRMC,144759.00,A,5159.75852,N,00423.11668,E,40.106,248.81,120308,,,D*55
+$GPRMC,144800.00,A,5159.75467,N,00423.09947,E,40.729,249.81,120308,,,D*5D
+$GPRMC,144801.00,A,5159.75075,N,00423.08231,E,40.609,248.89,120308,,,D*5A
+$GPRMC,144802.00,A,5159.74690,N,00423.06531,E,39.805,249.52,120308,,,D*57
+$GPRMC,144803.00,A,5159.74314,N,00423.04857,E,39.242,249.95,120308,,,D*52
+$GPRMC,144804.00,A,5159.73935,N,00423.03220,E,38.733,250.03,120308,,,D*53
+$GPRMC,144805.00,A,5159.73549,N,00423.01610,E,37.990,249.30,120308,,,D*50
+$GPRMC,144806.00,A,5159.73169,N,00423.00071,E,35.729,248.56,120308,,,D*5A
+$GPRMC,144807.00,A,5159.72832,N,00422.98655,E,31.806,249.51,120308,,,D*5D
+$GPRMC,144808.00,A,5159.72536,N,00422.97408,E,28.101,248.55,120308,,,D*5D
+$GPRMC,144809.00,A,5159.72261,N,00422.96319,E,23.836,248.23,120308,,,D*58
+$GPRMC,144810.00,A,5159.72027,N,00422.95408,E,19.968,247.90,120308,,,D*50
+$GPRMC,144811.00,A,5159.71829,N,00422.94655,E,16.645,246.88,120308,,,D*58
+$GPRMC,144812.00,A,5159.71667,N,00422.94060,E,12.564,247.77,120308,,,D*5A
+$GPRMC,144813.00,A,5159.71553,N,00422.93628,E,8.702,248.21,120308,,,D*67
+$GPRMC,144814.00,A,5159.71477,N,00422.93343,E,5.664,248.04,120308,,,D*64
+$GPRMC,144815.00,A,5159.71426,N,00422.93174,E,3.064,248.44,120308,,,D*63
+$GPRMC,144816.00,A,5159.71396,N,00422.93076,E,2.299,247.97,120308,,,D*6F
+$GPRMC,144817.00,A,5159.71366,N,00422.92977,E,3.004,248.56,120308,,,D*6D
+$GPRMC,144818.00,A,5159.71323,N,00422.92826,E,4.517,247.96,120308,,,D*65
+$GPRMC,144819.00,A,5159.71273,N,00422.92646,E,4.403,248.57,120308,,,D*6E
+$GPRMC,144820.00,A,5159.71221,N,00422.92477,E,4.397,247.77,120308,,,D*64
+$GPRMC,144821.00,A,5159.71170,N,00422.92307,E,4.311,246.17,120308,,,D*6B
+$GPRMC,144822.00,A,5159.71131,N,00422.92150,E,4.109,243.34,120308,,,D*62
+$GPRMC,144823.00,A,5159.71091,N,00422.92007,E,3.666,240.22,120308,,,D*66
+$GPRMC,144824.00,A,5159.71051,N,00422.91899,E,2.802,235.66,120308,,,D*6E
+$GPRMC,144825.00,A,5159.71027,N,00422.91838,E,1.467,235.55,120308,,,D*69
+$GPRMC,144826.00,A,5159.71016,N,00422.91820,E,0.593,235.43,120308,,,D*6D
+$GPRMC,144827.00,A,5159.71016,N,00422.91823,E,0.171,235.34,120308,,,D*67
+$GPRMC,144828.00,A,5159.71014,N,00422.91819,E,0.977,235.14,120308,,,D*6F
+$GPRMC,144829.00,A,5159.70984,N,00422.91757,E,3.249,231.20,120308,,,D*6C
+$GPRMC,144830.00,A,5159.70896,N,00422.91609,E,6.228,226.20,120308,,,D*68
+$GPRMC,144831.00,A,5159.70761,N,00422.91417,E,6.708,218.94,120308,,,D*66
+$GPRMC,144832.00,A,5159.70631,N,00422.91265,E,5.166,211.63,120308,,,D*6E
+$GPRMC,144833.00,A,5159.70548,N,00422.91183,E,2.371,205.61,120308,,,D*6D
+$GPRMC,144834.00,A,5159.70502,N,00422.91143,E,1.835,205.90,120308,,,D*6E
+$GPRMC,144835.00,A,5159.70429,N,00422.91093,E,4.003,202.54,120308,,,D*6C
+$GPRMC,144836.00,A,5159.70271,N,00422.91024,E,8.272,191.08,120308,,,D*60
+$GPRMC,144837.00,A,5159.69989,N,00422.91003,E,12.496,176.95,120308,,,D*5A
+$GPRMC,144838.00,A,5159.69629,N,00422.91098,E,13.978,166.35,120308,,,D*55
+$GPRMC,144839.00,A,5159.69213,N,00422.91317,E,17.105,159.04,120308,,,D*55
+$GPRMC,144840.00,A,5159.68721,N,00422.91636,E,20.710,158.16,120308,,,D*5C
+$GPRMC,144841.00,A,5159.68140,N,00422.92000,E,22.486,158.66,120308,,,D*55
+$GPRMC,144842.00,A,5159.67524,N,00422.92340,E,23.020,160.00,120308,,,D*5A
+$GPRMC,144843.00,A,5159.66966,N,00422.92942,E,23.702,153.24,120308,,,D*59
+$GPRMC,144844.00,A,5159.66320,N,00422.93434,E,25.871,155.81,120308,,,D*5F
+$GPRMC,144845.00,A,5159.65597,N,00422.93927,E,28.261,157.40,120308,,,D*51
+$GPRMC,144846.00,A,5159.64845,N,00422.94447,E,30.146,157.59,120308,,,D*5A
+$GPRMC,144847.00,A,5159.64068,N,00422.94969,E,30.104,157.01,120308,,,D*56
+$GPRMC,144848.00,A,5159.63307,N,00422.95523,E,30.028,155.25,120308,,,D*5C
+$GPRMC,144849.00,A,5159.62560,N,00422.96102,E,29.903,153.11,120308,,,D*56
+$GPRMC,144850.00,A,5159.61835,N,00422.96741,E,29.563,151.36,120308,,,D*5C
+$GPRMC,144851.00,A,5159.61136,N,00422.97389,E,28.261,150.39,120308,,,D*5C
+$GPRMC,144852.00,A,5159.60468,N,00422.98020,E,27.577,150.29,120308,,,D*51
+$GPRMC,144853.00,A,5159.59820,N,00422.98667,E,26.011,149.38,120308,,,D*53
+$GPRMC,144854.00,A,5159.59232,N,00422.99266,E,23.105,148.76,120308,,,D*53
+$GPRMC,144855.00,A,5159.58691,N,00422.99785,E,20.260,151.33,120308,,,D*5C
+$GPRMC,144856.00,A,5159.58185,N,00423.00109,E,17.477,167.35,120308,,,D*59
+$GPRMC,144857.00,A,5159.57735,N,00423.00081,E,16.051,195.21,120308,,,D*52
+$GPRMC,144858.00,A,5159.57338,N,00422.99727,E,16.259,220.41,120308,,,D*5F
+$GPRMC,144859.00,A,5159.57098,N,00422.99081,E,17.661,240.74,120308,,,D*52
+$GPRMC,144900.00,A,5159.56885,N,00422.98297,E,19.470,245.05,120308,,,D*51
+$GPRMC,144901.00,A,5159.56668,N,00422.97426,E,21.155,245.52,120308,,,D*55
+$GPRMC,144902.00,A,5159.56439,N,00422.96507,E,22.797,245.73,120308,,,D*5B
+$GPRMC,144903.00,A,5159.56186,N,00422.95526,E,24.360,246.23,120308,,,D*57
+$GPRMC,144904.00,A,5159.55909,N,00422.94486,E,26.026,246.72,120308,,,D*51
+$GPRMC,144905.00,A,5159.55621,N,00422.93363,E,27.795,246.51,120308,,,D*51
+$GPRMC,144906.00,A,5159.55314,N,00422.92162,E,29.645,247.28,120308,,,D*5E
+$GPRMC,144907.00,A,5159.54995,N,00422.90875,E,31.303,246.59,120308,,,D*59
+$GPRMC,144908.00,A,5159.54652,N,00422.89525,E,32.979,247.04,120308,,,D*5F
+$GPRMC,144909.00,A,5159.54291,N,00422.88129,E,33.837,247.61,120308,,,D*55
+$GPRMC,144910.00,A,5159.53927,N,00422.86699,E,34.145,246.88,120308,,,D*53
+$GPRMC,144911.00,A,5159.53547,N,00422.85322,E,32.519,246.91,120308,,,D*5D
+$GPRMC,144912.00,A,5159.53250,N,00422.83974,E,29.364,248.17,120308,,,D*56
+$GPRMC,144913.00,A,5159.52953,N,00422.82844,E,25.416,246.88,120308,,,D*5B
+$GPRMC,144914.00,A,5159.52692,N,00422.81889,E,21.471,246.86,120308,,,D*57
+$GPRMC,144915.00,A,5159.52465,N,00422.81132,E,17.028,246.69,120308,,,D*59
+$GPRMC,144916.00,A,5159.52289,N,00422.80567,E,12.078,246.21,120308,,,D*57
+$GPRMC,144917.00,A,5159.52164,N,00422.80179,E,8.356,246.59,120308,,,D*66
+$GPRMC,144918.00,A,5159.52068,N,00422.79886,E,7.609,246.32,120308,,,D*66
+$GPRMC,144919.00,A,5159.51985,N,00422.79640,E,5.770,244.88,120308,,,D*64
+$GPRMC,144920.00,A,5159.51916,N,00422.79465,E,4.471,240.33,120308,,,D*66
+$GPRMC,144921.00,A,5159.51819,N,00422.79320,E,5.531,226.54,120308,,,D*6A
+$GPRMC,144922.00,A,5159.51670,N,00422.79174,E,7.254,210.94,120308,,,D*64
+$GPRMC,144923.00,A,5159.51435,N,00422.79081,E,10.538,186.87,120308,,,D*58
+$GPRMC,144924.00,A,5159.51132,N,00422.79128,E,11.263,168.22,120308,,,D*58
+$GPRMC,144925.00,A,5159.50804,N,00422.79322,E,13.339,155.84,120308,,,D*52
+$GPRMC,144926.00,A,5159.50413,N,00422.79635,E,17.078,154.25,120308,,,D*50
+$GPRMC,144927.00,A,5159.49923,N,00422.80013,E,20.875,156.53,120308,,,D*51
+$GPRMC,144928.00,A,5159.49338,N,00422.80423,E,23.935,158.87,120308,,,D*58
+$GPRMC,144929.00,A,5159.48687,N,00422.80827,E,25.301,161.04,120308,,,D*5B
+$GPRMC,144930.00,A,5159.48014,N,00422.81208,E,25.203,162.06,120308,,,D*5B
+$GPRMC,144931.00,A,5159.47355,N,00422.81555,E,23.853,163.14,120308,,,D*57
+$GPRMC,144932.00,A,5159.46743,N,00422.81862,E,21.712,163.48,120308,,,D*5E
+$GPRMC,144933.00,A,5159.46217,N,00422.82110,E,17.685,164.87,120308,,,D*5A
+$GPRMC,144934.00,A,5159.45796,N,00422.82234,E,13.532,175.56,120308,,,D*50
+$GPRMC,144935.00,A,5159.45444,N,00422.82166,E,12.366,196.08,120308,,,D*59
+$GPRMC,144936.00,A,5159.45132,N,00422.81877,E,13.361,220.08,120308,,,D*5C
+$GPRMC,144937.00,A,5159.44888,N,00422.81343,E,15.724,240.40,120308,,,D*51
+$GPRMC,144938.00,A,5159.44687,N,00422.80631,E,18.831,246.74,120308,,,D*59
+$GPRMC,144939.00,A,5159.44484,N,00422.79772,E,21.687,248.78,120308,,,D*52
+$GPRMC,144940.00,A,5159.44249,N,00422.78797,E,24.081,247.33,120308,,,D*54
+$GPRMC,144941.00,A,5159.44003,N,00422.77760,E,23.951,246.53,120308,,,D*5A
+$GPRMC,144942.00,A,5159.43752,N,00422.76722,E,24.882,247.15,120308,,,D*51
+$GPRMC,144943.00,A,5159.43515,N,00422.75615,E,25.914,246.48,120308,,,D*51
+$GPRMC,144944.00,A,5159.43249,N,00422.74481,E,26.911,246.83,120308,,,D*57
+$GPRMC,144945.00,A,5159.42965,N,00422.73321,E,27.556,246.29,120308,,,D*56
+$GPRMC,144946.00,A,5159.42662,N,00422.72178,E,27.296,245.78,120308,,,D*5E
+$GPRMC,144947.00,A,5159.42362,N,00422.71086,E,25.669,245.26,120308,,,D*54
+$GPRMC,144948.00,A,5159.42070,N,00422.70083,E,23.228,245.49,120308,,,D*51
+$GPRMC,144949.00,A,5159.41833,N,00422.69193,E,19.601,245.27,120308,,,D*5A
+$GPRMC,144950.00,A,5159.41644,N,00422.68439,E,16.560,245.25,120308,,,D*51
+$GPRMC,144951.00,A,5159.41466,N,00422.67920,E,11.657,237.93,120308,,,D*50
+$GPRMC,144952.00,A,5159.41283,N,00422.67569,E,9.578,218.74,120308,,,D*6C
+$GPRMC,144953.00,A,5159.41081,N,00422.67438,E,7.471,194.94,120308,,,D*67
+$GPRMC,144954.00,A,5159.40909,N,00422.67430,E,5.841,171.99,120308,,,D*6B
+$GPRMC,144955.00,A,5159.40756,N,00422.67535,E,6.068,157.91,120308,,,D*66
+$GPRMC,144956.00,A,5159.40490,N,00422.67669,E,9.631,164.08,120308,,,D*63
+$GPRMC,144957.00,A,5159.40216,N,00422.67825,E,10.562,155.53,120308,,,D*5D
+$GPRMC,144958.00,A,5159.39906,N,00422.68058,E,11.900,154.54,120308,,,D*54
+$GPRMC,144959.00,A,5159.39588,N,00422.68301,E,11.725,155.47,120308,,,D*5A
+$GPRMC,145000.00,A,5159.39280,N,00422.68521,E,11.025,156.55,120308,,,D*52
+$GPRMC,145001.00,A,5159.38985,N,00422.68716,E,10.801,158.35,120308,,,D*5D
+$GPRMC,145002.00,A,5159.38698,N,00422.68897,E,10.592,160.01,120308,,,D*50
+$GPRMC,145003.00,A,5159.38422,N,00422.69056,E,10.301,161.16,120308,,,D*5D
+$GPRMC,145004.00,A,5159.38156,N,00422.69217,E,10.022,159.29,120308,,,D*5E
+$GPRMC,145005.00,A,5159.37916,N,00422.69403,E,9.468,150.56,120308,,,D*6C
+$GPRMC,145006.00,A,5159.37662,N,00422.69648,E,9.145,136.17,120308,,,D*61
+$GPRMC,145007.00,A,5159.37535,N,00422.69978,E,8.795,108.92,120308,,,D*67
+$GPRMC,145008.00,A,5159.37518,N,00422.70382,E,9.619,85.31,120308,,,D*59
+$GPRMC,145009.00,A,5159.37571,N,00422.70820,E,10.263,76.46,120308,,,D*69
+$GPRMC,145010.00,A,5159.37678,N,00422.71246,E,9.877,64.07,120308,,,D*51
+$GPRMC,145011.00,A,5159.37813,N,00422.71679,E,11.090,62.70,120308,,,D*65
+$GPRMC,145012.00,A,5159.37895,N,00422.72173,E,12.994,64.46,120308,,,D*6B
+$GPRMC,145013.00,A,5159.38060,N,00422.72715,E,13.379,66.28,120308,,,D*63
+$GPRMC,145014.00,A,5159.38215,N,00422.73272,E,13.052,67.64,120308,,,D*62
+$GPRMC,145015.00,A,5159.38358,N,00422.73802,E,11.510,67.76,120308,,,D*64
+$GPRMC,145016.00,A,5159.38472,N,00422.74238,E,8.773,66.15,120308,,,D*57
+$GPRMC,145017.00,A,5159.38554,N,00422.74551,E,5.826,66.25,120308,,,D*5A
+$GPRMC,145018.00,A,5159.38602,N,00422.74734,E,2.820,65.02,120308,,,D*53
+$GPRMC,145019.00,A,5159.38612,N,00422.74805,E,0.347,64.86,120308,,,D*5B
+$GPRMC,145020.00,A,5159.38604,N,00422.74826,E,0.003,,120308,,,D*76
+$GPRMC,145021.00,A,5159.38595,N,00422.74837,E,0.008,,120308,,,D*77
+$GPRMC,145022.00,A,5159.38590,N,00422.74844,E,0.013,,120308,,,D*7F
+$GPRMC,145023.00,A,5159.38579,N,00422.74855,E,0.010,,120308,,,D*7A
+$GPRMC,145024.00,A,5159.38568,N,00422.74863,E,0.024,68.53,120308,,,D*59
+$GPRMC,145025.00,A,5159.38558,N,00422.74867,E,0.020,64.95,120308,,,D*5D
+$GPRMC,145026.00,A,5159.38547,N,00422.74870,E,0.020,64.99,120308,,,D*5A
+$GPRMC,145027.00,A,5159.38541,N,00422.74872,E,0.043,60.51,120308,,,D*5A
+$GPRMC,145028.00,A,5159.38536,N,00422.74876,E,0.011,,120308,,,D*7A
+$GPRMC,145029.00,A,5159.38535,N,00422.74878,E,0.054,58.08,120308,,,D*5C
+$GPRMC,145030.00,A,5159.38519,N,00422.74865,E,1.297,66.20,120308,,,D*5D
+$GPRMC,145031.00,A,5159.38546,N,00422.74787,E,1.953,311.87,120308,,,D*68
+$GPRMC,145032.00,A,5159.38467,N,00422.74750,E,3.175,197.61,120308,,,D*69
+$GPRMC,145033.00,A,5159.38441,N,00422.74756,E,1.980,216.42,120308,,,D*61
+$GPRMC,145034.00,A,5159.38516,N,00422.74722,E,1.117,220.85,120308,,,D*6E
+$GPRMC,145035.00,A,5159.38506,N,00422.74702,E,1.333,218.37,120308,,,D*6A
+$GPRMC,145036.00,A,5159.38519,N,00422.74706,E,0.756,215.37,120308,,,D*68
+$GPRMC,145037.00,A,5159.38589,N,00422.74695,E,0.690,222.09,120308,,,D*69
+$GPRMC,145038.00,A,5159.38667,N,00422.74634,E,1.048,229.50,120308,,,D*6B
+$GPRMC,145039.00,A,5159.38749,N,00422.74627,E,1.540,236.73,120308,,,D*67
+$GPRMC,145040.00,A,5159.38791,N,00422.74662,E,0.660,245.20,120308,,,D*6F
+$GPRMC,145041.00,A,5159.38768,N,00422.74700,E,0.084,243.06,120308,,,D*63
+$GPRMC,145042.00,A,5159.38732,N,00422.74711,E,0.187,239.86,120308,,,D*68
+$GPRMC,145043.00,A,5159.38734,N,00422.74860,E,1.316,230.05,120308,,,D*6F
+$GPRMC,145044.00,A,5159.38728,N,00422.74918,E,0.384,223.65,120308,,,D*65
+$GPRMC,145045.00,A,5159.38719,N,00422.74853,E,0.714,218.46,120308,,,D*6C
+$GPRMC,145046.00,A,5159.38704,N,00422.74846,E,0.530,216.03,120308,,,D*6C
+$GPRMC,145047.00,A,5159.38720,N,00422.74833,E,0.431,225.01,120308,,,D*6B
+$GPRMC,145048.00,A,5159.38724,N,00422.74776,E,1.381,228.00,120308,,,D*6F
+$GPRMC,145049.00,A,5159.38729,N,00422.74790,E,0.462,233.39,120308,,,D*60
+$GPRMC,145050.00,A,5159.38746,N,00422.74788,E,0.733,237.92,120308,,,D*6A
+$GPRMC,145051.00,A,5159.38735,N,00422.74817,E,0.779,236.75,120308,,,D*60
+$GPRMC,145052.00,A,5159.38731,N,00422.74830,E,0.108,237.92,120308,,,D*6A
+$GPRMC,145053.00,A,5159.38733,N,00422.74843,E,0.127,242.92,120308,,,D*62
+$GPRMC,145054.00,A,5159.38750,N,00422.74918,E,0.449,252.02,120308,,,D*6A
+$GPRMC,145055.00,A,5159.38734,N,00422.75127,E,0.637,259.11,120308,,,D*6E
+$GPRMC,145056.00,A,5159.38704,N,00422.75118,E,0.108,262.71,120308,,,D*67
+$GPRMC,145057.00,A,5159.38696,N,00422.75109,E,0.916,256.41,120308,,,D*6F
+$GPRMC,145058.00,A,5159.38683,N,00422.75064,E,0.236,253.51,120308,,,D*63
+$GPRMC,145059.00,A,5159.38705,N,00422.75013,E,0.710,258.42,120308,,,D*65
+$GPRMC,145100.00,A,5159.38692,N,00422.74895,E,1.768,256.25,120308,,,D*61
+$GPRMC,145101.00,A,5159.38650,N,00422.74804,E,1.615,253.34,120308,,,D*68
+$GPRMC,145102.00,A,5159.38622,N,00422.74740,E,0.741,250.82,120308,,,D*6E
+$GPRMC,145103.00,A,5159.38600,N,00422.74687,E,0.677,248.13,120308,,,D*60
+$GPRMC,145104.00,A,5159.38592,N,00422.74650,E,0.665,245.53,120308,,,D*6F
+$GPRMC,145105.00,A,5159.38586,N,00422.74620,E,0.239,242.49,120308,,,D*6D
+$GPRMC,145106.00,A,5159.38604,N,00422.74625,E,0.318,250.80,120308,,,D*66
+$GPRMC,145107.00,A,5159.38624,N,00422.74606,E,0.551,255.08,120308,,,D*6A
+$GPRMC,145108.00,A,5159.38537,N,00422.74600,E,0.061,256.51,120308,,,D*6B
+$GPRMC,145109.00,A,5159.38501,N,00422.74580,E,0.308,263.43,120308,,,D*6D
+$GPRMC,145110.00,A,5159.38522,N,00422.74612,E,0.093,259.68,120308,,,D*6D
+$GPRMC,145111.00,A,5159.38529,N,00422.74703,E,0.828,256.53,120308,,,D*69
Index: /liacs/se/gps-data/110/characteroutput-20080312-091106.txt
===================================================================
--- /liacs/se/gps-data/110/characteroutput-20080312-091106.txt	(revision 2)
+++ /liacs/se/gps-data/110/characteroutput-20080312-091106.txt	(revision 2)
@@ -0,0 +1,4119 @@
+$GPRMC,081055.00,A,5159.38767,N,00422.71904,E,0.644,342.57,120308,,,A*64
+$GPRMC,081056.00,A,5159.38909,N,00422.72017,E,0.685,352.02,120308,,,A*65
+$GPRMC,081057.00,A,5159.38906,N,00422.72093,E,0.380,344.36,120308,,,A*67
+$GPRMC,081058.00,A,5159.38817,N,00422.72131,E,0.694,341.95,120308,,,A*6C
+$GPRMC,081059.00,A,5159.38759,N,00422.72148,E,0.735,336.08,120308,,,A*68
+$GPRMC,081100.00,A,5159.38683,N,00422.72181,E,0.690,330.73,120308,,,A*62
+$GPRMC,081101.00,A,5159.38706,N,00422.72152,E,0.819,329.62,120308,,,A*66
+$GPRMC,081102.00,A,5159.38635,N,00422.72170,E,0.123,324.57,120308,,,A*6F
+$GPRMC,081103.00,A,5159.38587,N,00422.72175,E,0.244,315.19,120308,,,A*6B
+$GPRMC,081104.00,A,5159.38544,N,00422.72182,E,0.128,310.65,120308,,,A*6C
+$GPRMC,081105.00,A,5159.38523,N,00422.72187,E,0.469,313.57,120308,,,A*6B
+$GPRMC,081106.00,A,5159.38547,N,00422.72175,E,1.151,316.15,120308,,,A*6B
+$GPRMC,081107.00,A,5159.38537,N,00422.72174,E,0.008,,120308,,,A*7E
+$GPRMC,081108.00,A,5159.38555,N,00422.72160,E,0.098,317.73,120308,,,A*66
+$GPRMC,081109.00,A,5159.38622,N,00422.72128,E,0.457,316.86,120308,,,A*64
+$GPRMC,081110.00,A,5159.38672,N,00422.72106,E,0.248,324.55,120308,,,A*62
+$GPRMC,081111.00,A,5159.38666,N,00422.72102,E,0.171,319.59,120308,,,A*69
+$GPRMC,081112.00,A,5159.38666,N,00422.72093,E,0.379,321.84,120308,,,A*62
+$GPRMC,081113.00,A,5159.38657,N,00422.72088,E,0.900,312.60,120308,,,A*65
+$GPRMC,081114.00,A,5159.38691,N,00422.72077,E,1.116,303.77,120308,,,A*60
+$GPRMC,081115.00,A,5159.38752,N,00422.72072,E,0.073,305.08,120308,,,A*67
+$GPRMC,081116.00,A,5159.38781,N,00422.72085,E,0.040,308.21,120308,,,A*64
+$GPRMC,081117.00,A,5159.38841,N,00422.72089,E,0.484,311.15,120308,,,A*69
+$GPRMC,081118.00,A,5159.38913,N,00422.72094,E,0.985,313.82,120308,,,A*6C
+$GPRMC,081119.00,A,5159.38962,N,00422.72104,E,0.200,316.34,120308,,,A*6D
+$GPRMC,081120.00,A,5159.39051,N,00422.72109,E,0.567,318.61,120308,,,A*6A
+$GPRMC,081121.00,A,5159.39080,N,00422.72119,E,0.139,320.18,120308,,,A*6C
+$GPRMC,081122.00,A,5159.39130,N,00422.72120,E,0.052,321.40,120308,,,A*6F
+$GPRMC,081123.00,A,5159.39181,N,00422.72117,E,0.520,323.45,120308,,,A*67
+$GPRMC,081124.00,A,5159.39211,N,00422.72108,E,0.361,320.57,120308,,,A*67
+$GPRMC,081125.00,A,5159.39270,N,00422.72102,E,1.259,322.65,120308,,,A*63
+$GPRMC,081126.00,A,5159.39314,N,00422.72100,E,0.865,324.72,120308,,,A*65
+$GPRMC,081127.00,A,5159.39333,N,00422.72097,E,0.746,326.52,120308,,,A*60
+$GPRMC,081128.00,A,5159.39357,N,00422.72090,E,0.693,328.38,120308,,,A*61
+$GPRMC,081129.00,A,5159.39374,N,00422.72081,E,0.455,329.84,120308,,,A*6F
+$GPRMC,081130.00,A,5159.39366,N,00422.72075,E,0.359,331.38,120308,,,A*6A
+$GPRMC,081131.00,A,5159.39364,N,00422.72068,E,0.151,332.07,120308,,,A*60
+$GPRMC,081132.00,A,5159.39345,N,00422.72069,E,0.400,321.15,120308,,,A*61
+$GPRMC,081133.00,A,5159.39319,N,00422.72072,E,0.947,311.82,120308,,,A*60
+$GPRMC,081134.00,A,5159.39308,N,00422.72068,E,0.080,307.47,120308,,,A*60
+$GPRMC,081135.00,A,5159.39296,N,00422.72066,E,0.103,309.42,120308,,,A*68
+$GPRMC,081136.00,A,5159.39300,N,00422.72060,E,0.184,310.86,120308,,,A*6C
+$GPRMC,081137.00,A,5159.39270,N,00422.72057,E,0.203,313.64,120308,,,A*6C
+$GPRMC,081138.00,A,5159.39242,N,00422.72050,E,0.252,304.88,120308,,,A*65
+$GPRMC,081139.00,A,5159.39224,N,00422.72042,E,0.634,308.00,120308,,,A*6F
+$GPRMC,081140.00,A,5159.39218,N,00422.72033,E,0.668,310.81,120308,,,A*61
+$GPRMC,081141.00,A,5159.39180,N,00422.72029,E,0.451,313.55,120308,,,A*6B
+$GPRMC,081142.00,A,5159.39149,N,00422.72028,E,0.152,315.19,120308,,,A*64
+$GPRMC,081143.00,A,5159.39094,N,00422.72036,E,0.359,306.32,120308,,,A*69
+$GPRMC,081144.00,A,5159.39051,N,00422.72043,E,0.974,298.06,120308,,,A*61
+$GPRMC,081145.00,A,5159.39026,N,00422.72052,E,0.180,294.00,120308,,,A*69
+$GPRMC,081146.00,A,5159.39000,N,00422.72066,E,0.237,286.65,120308,,,A*66
+$GPRMC,081147.00,A,5159.38955,N,00422.72082,E,0.164,284.44,120308,,,A*61
+$GPRMC,081148.00,A,5159.38922,N,00422.72097,E,0.020,284.01,120308,,,A*6A
+$GPRMC,081149.00,A,5159.38887,N,00422.72114,E,0.067,279.98,120308,,,A*6E
+$GPRMC,081150.00,A,5159.38845,N,00422.72133,E,0.147,282.35,120308,,,A*6D
+$GPRMC,081151.00,A,5159.38790,N,00422.72154,E,0.367,275.25,120308,,,A*63
+$GPRMC,081152.00,A,5159.38774,N,00422.72168,E,0.355,268.98,120308,,,A*6E
+$GPRMC,081153.00,A,5159.38815,N,00422.72169,E,0.160,270.56,120308,,,A*69
+$GPRMC,081154.00,A,5159.38853,N,00422.72181,E,0.037,264.96,120308,,,A*60
+$GPRMC,081155.00,A,5159.38943,N,00422.72175,E,0.007,,120308,,,A*78
+$GPRMC,081156.00,A,5159.39029,N,00422.72177,E,0.016,,120308,,,A*7D
+$GPRMC,081157.00,A,5159.39085,N,00422.72180,E,0.256,270.73,120308,,,A*6B
+$GPRMC,081158.00,A,5159.39115,N,00422.72204,E,0.690,262.81,120308,,,A*63
+$GPRMC,081159.00,A,5159.39138,N,00422.72236,E,0.136,257.62,120308,,,A*6C
+$GPRMC,081200.00,A,5159.39167,N,00422.72253,E,0.576,264.13,120308,,,A*6C
+$GPRMC,081201.00,A,5159.39177,N,00422.72299,E,0.253,270.29,120308,,,A*66
+$GPRMC,081202.00,A,5159.39174,N,00422.72344,E,0.052,274.30,120308,,,A*68
+$GPRMC,081203.00,A,5159.39190,N,00422.72373,E,0.045,269.57,120308,,,A*6C
+$GPRMC,081204.00,A,5159.39235,N,00422.72375,E,0.088,265.54,120308,,,A*6F
+$GPRMC,081205.00,A,5159.39258,N,00422.72385,E,0.160,268.75,120308,,,A*63
+$GPRMC,081206.00,A,5159.39283,N,00422.72391,E,0.150,266.05,120308,,,A*69
+$GPRMC,081207.00,A,5159.39306,N,00422.72398,E,0.172,269.06,120308,,,A*61
+$GPRMC,081208.00,A,5159.39326,N,00422.72406,E,0.116,272.20,120308,,,A*60
+$GPRMC,081209.00,A,5159.39343,N,00422.72409,E,0.038,267.69,120308,,,A*69
+$GPRMC,081210.00,A,5159.39357,N,00422.72416,E,0.036,271.95,120308,,,A*60
+$GPRMC,081211.00,A,5159.39372,N,00422.72425,E,0.198,262.85,120308,,,A*60
+$GPRMC,081212.00,A,5159.39378,N,00422.72433,E,0.022,266.39,120308,,,A*6D
+$GPRMC,081213.00,A,5159.39381,N,00422.72440,E,0.045,262.63,120308,,,A*64
+$GPRMC,081214.00,A,5159.39389,N,00422.72444,E,0.003,,120308,,,A*70
+$GPRMC,081215.00,A,5159.39390,N,00422.72441,E,0.106,260.32,120308,,,A*63
+$GPRMC,081216.00,A,5159.39387,N,00422.72438,E,0.074,258.16,120308,,,A*61
+$GPRMC,081217.00,A,5159.39387,N,00422.72441,E,0.258,253.62,120308,,,A*6A
+$GPRMC,081218.00,A,5159.39396,N,00422.72444,E,0.071,250.48,120308,,,A*62
+$GPRMC,081219.00,A,5159.39419,N,00422.72449,E,0.039,253.68,120308,,,A*63
+$GPRMC,081220.00,A,5159.39443,N,00422.72442,E,0.038,248.45,120308,,,A*69
+$GPRMC,081221.00,A,5159.39456,N,00422.72433,E,0.019,,120308,,,A*78
+$GPRMC,081222.00,A,5159.39478,N,00422.72422,E,0.061,245.75,120308,,,A*67
+$GPRMC,081223.00,A,5159.39465,N,00422.72408,E,0.062,250.28,120308,,,A*6D
+$GPRMC,081224.00,A,5159.39480,N,00422.72406,E,0.017,,120308,,,A*7E
+$GPRMC,081225.00,A,5159.39488,N,00422.72405,E,0.582,257.04,120308,,,A*67
+$GPRMC,081226.00,A,5159.39486,N,00422.72408,E,0.079,254.05,120308,,,A*64
+$GPRMC,081227.00,A,5159.39488,N,00422.72409,E,0.046,252.04,120308,,,A*61
+$GPRMC,081228.00,A,5159.39440,N,00422.72411,E,0.650,247.15,120308,,,A*66
+$GPRMC,081229.00,A,5159.39419,N,00422.72408,E,0.580,251.04,120308,,,A*6A
+$GPRMC,081230.00,A,5159.39382,N,00422.72415,E,0.122,248.40,120308,,,A*6F
+$GPRMC,081231.00,A,5159.39365,N,00422.72423,E,0.059,245.55,120308,,,A*66
+$GPRMC,081232.00,A,5159.39357,N,00422.72432,E,0.193,248.92,120308,,,A*65
+$GPRMC,081233.00,A,5159.39356,N,00422.72439,E,0.046,244.92,120308,,,A*6B
+$GPRMC,081234.00,A,5159.39356,N,00422.72445,E,0.018,,120308,,,A*7B
+$GPRMC,081235.00,A,5159.39375,N,00422.72432,E,0.016,,120308,,,A*75
+$GPRMC,081236.00,A,5159.39378,N,00422.72421,E,0.162,248.21,120308,,,A*68
+$GPRMC,081237.00,A,5159.39391,N,00422.72406,E,0.014,,120308,,,A*78
+$GPRMC,081238.00,A,5159.39397,N,00422.72392,E,0.045,246.24,120308,,,A*67
+$GPRMC,081239.00,A,5159.39402,N,00422.72377,E,0.079,244.61,120308,,,A*6A
+$GPRMC,081240.00,A,5159.39411,N,00422.72361,E,0.150,243.25,120308,,,A*6C
+$GPRMC,081241.00,A,5159.39430,N,00422.72350,E,0.431,237.98,120308,,,A*6B
+$GPRMC,081242.00,A,5159.39434,N,00422.72338,E,0.307,234.61,120308,,,A*65
+$GPRMC,081243.00,A,5159.39448,N,00422.72322,E,0.144,233.69,120308,,,A*6E
+$GPRMC,081244.00,A,5159.39459,N,00422.72299,E,0.256,231.48,120308,,,A*69
+$GPRMC,081245.00,A,5159.39473,N,00422.72273,E,0.207,230.61,120308,,,A*6A
+$GPRMC,081246.00,A,5159.39483,N,00422.72253,E,0.213,229.21,120308,,,A*6D
+$GPRMC,081247.00,A,5159.39490,N,00422.72237,E,0.200,227.17,120308,,,A*65
+$GPRMC,081248.00,A,5159.39496,N,00422.72220,E,0.130,226.59,120308,,,A*61
+$GPRMC,081249.00,A,5159.39502,N,00422.72207,E,0.147,225.85,120308,,,A*6B
+$GPRMC,081250.00,A,5159.39506,N,00422.72194,E,0.167,224.88,120308,,,A*60
+$GPRMC,081251.00,A,5159.39507,N,00422.72177,E,0.087,223.99,120308,,,A*65
+$GPRMC,081252.00,A,5159.39505,N,00422.72164,E,0.127,223.36,120308,,,A*68
+$GPRMC,081253.00,A,5159.39497,N,00422.72152,E,0.202,221.19,120308,,,A*6D
+$GPRMC,081254.00,A,5159.39490,N,00422.72137,E,0.400,218.96,120308,,,A*67
+$GPRMC,081255.00,A,5159.39485,N,00422.72131,E,0.146,218.52,120308,,,A*6B
+$GPRMC,081256.00,A,5159.39493,N,00422.72120,E,0.117,218.29,120308,,,A*67
+$GPRMC,081257.00,A,5159.39500,N,00422.72108,E,0.266,216.05,120308,,,A*62
+$GPRMC,081258.00,A,5159.39507,N,00422.72095,E,0.178,215.50,120308,,,A*60
+$GPRMC,081259.00,A,5159.39504,N,00422.72074,E,0.235,213.70,120308,,,A*63
+$GPRMC,081300.00,A,5159.39500,N,00422.72052,E,0.092,215.47,120308,,,A*63
+$GPRMC,081301.00,A,5159.39500,N,00422.72029,E,0.154,215.17,120308,,,A*60
+$GPRMC,081302.00,A,5159.39492,N,00422.72009,E,0.302,212.80,120308,,,A*63
+$GPRMC,081303.00,A,5159.39485,N,00422.71993,E,0.162,212.03,120308,,,A*62
+$GPRMC,081304.00,A,5159.39476,N,00422.71987,E,0.306,210.68,120308,,,A*63
+$GPRMC,081305.00,A,5159.39461,N,00422.71985,E,0.300,208.97,120308,,,A*69
+$GPRMC,081306.00,A,5159.39440,N,00422.71981,E,0.326,207.10,120308,,,A*69
+$GPRMC,081307.00,A,5159.39429,N,00422.71978,E,0.205,208.87,120308,,,A*60
+$GPRMC,081308.00,A,5159.39444,N,00422.71977,E,0.845,216.36,120308,,,A*60
+$GPRMC,081309.00,A,5159.39474,N,00422.71980,E,0.898,225.77,120308,,,A*6F
+$GPRMC,081310.00,A,5159.39461,N,00422.71907,E,2.339,262.88,120308,,,A*6D
+$GPRMC,081311.00,A,5159.39461,N,00422.71754,E,3.927,252.13,120308,,,A*61
+$GPRMC,081312.00,A,5159.39395,N,00422.71550,E,5.205,240.37,120308,,,A*60
+$GPRMC,081313.00,A,5159.39289,N,00422.71344,E,6.224,236.96,120308,,,A*64
+$GPRMC,081314.00,A,5159.39241,N,00422.70938,E,6.705,241.39,120308,,,A*64
+$GPRMC,081315.00,A,5159.39213,N,00422.70543,E,6.342,245.90,120308,,,A*62
+$GPRMC,081316.00,A,5159.39214,N,00422.70264,E,7.074,266.06,120308,,,A*6D
+$GPRMC,081317.00,A,5159.39217,N,00422.69677,E,7.068,278.99,120308,,,A*65
+$GPRMC,081318.00,A,5159.39293,N,00422.69331,E,7.615,286.51,120308,,,A*68
+$GPRMC,081319.00,A,5159.39436,N,00422.69214,E,7.338,313.08,120308,,,A*6D
+$GPRMC,081320.00,A,5159.39619,N,00422.69068,E,8.026,325.40,120308,,,A*6B
+$GPRMC,081321.00,A,5159.39863,N,00422.68938,E,10.108,331.06,120308,,,A*57
+$GPRMC,081322.00,A,5159.40142,N,00422.68771,E,10.389,335.88,120308,,,A*5A
+$GPRMC,081323.00,A,5159.40376,N,00422.68684,E,8.772,337.72,120308,,,A*6B
+$GPRMC,081324.00,A,5159.40529,N,00422.68605,E,6.303,328.89,120308,,,A*6F
+$GPRMC,081325.00,A,5159.40684,N,00422.68485,E,6.305,334.12,120308,,,A*69
+$GPRMC,081326.00,A,5159.40868,N,00422.68405,E,6.493,352.85,120308,,,A*68
+$GPRMC,081327.00,A,5159.40998,N,00422.68463,E,5.796,27.03,120308,,,A*5D
+$GPRMC,081328.00,A,5159.41208,N,00422.68659,E,9.631,52.73,120308,,,A*5F
+$GPRMC,081329.00,A,5159.41382,N,00422.69092,E,11.093,55.13,120308,,,A*6B
+$GPRMC,081330.00,A,5159.41537,N,00422.69684,E,13.587,64.96,120308,,,A*67
+$GPRMC,081331.00,A,5159.41704,N,00422.70403,E,16.185,71.73,120308,,,A*6D
+$GPRMC,081332.00,A,5159.41931,N,00422.71281,E,18.723,68.81,120308,,,A*6A
+$GPRMC,081333.00,A,5159.42191,N,00422.72224,E,20.597,67.25,120308,,,A*61
+$GPRMC,081334.00,A,5159.42462,N,00422.73139,E,21.635,66.71,120308,,,A*6B
+$GPRMC,081335.00,A,5159.42725,N,00422.74040,E,22.165,65.37,120308,,,A*62
+$GPRMC,081336.00,A,5159.42961,N,00422.74878,E,20.052,67.05,120308,,,A*68
+$GPRMC,081337.00,A,5159.43185,N,00422.75634,E,19.281,66.44,120308,,,A*6F
+$GPRMC,081338.00,A,5159.43411,N,00422.76404,E,18.592,66.09,120308,,,A*67
+$GPRMC,081339.00,A,5159.43593,N,00422.77052,E,15.722,65.62,120308,,,A*61
+$GPRMC,081340.00,A,5159.43725,N,00422.77562,E,12.141,65.64,120308,,,A*64
+$GPRMC,081341.00,A,5159.43803,N,00422.77933,E,8.700,66.88,120308,,,A*5F
+$GPRMC,081342.00,A,5159.43879,N,00422.78183,E,4.781,66.26,120308,,,A*5C
+$GPRMC,081343.00,A,5159.43916,N,00422.78281,E,1.590,66.22,120308,,,A*57
+$GPRMC,081344.00,A,5159.43927,N,00422.78289,E,0.253,65.81,120308,,,A*59
+$GPRMC,081345.00,A,5159.43927,N,00422.78275,E,0.102,66.42,120308,,,A*50
+$GPRMC,081346.00,A,5159.43926,N,00422.78276,E,0.120,66.01,120308,,,A*56
+$GPRMC,081347.00,A,5159.43924,N,00422.78283,E,0.049,70.86,120308,,,A*59
+$GPRMC,081348.00,A,5159.43919,N,00422.78285,E,0.014,,120308,,,A*71
+$GPRMC,081349.00,A,5159.43918,N,00422.78284,E,0.030,69.39,120308,,,A*5D
+$GPRMC,081350.00,A,5159.43917,N,00422.78283,E,0.043,72.73,120308,,,A*5D
+$GPRMC,081351.00,A,5159.43917,N,00422.78281,E,0.028,68.83,120308,,,A*57
+$GPRMC,081352.00,A,5159.43918,N,00422.78281,E,0.073,65.98,120308,,,A*52
+$GPRMC,081353.00,A,5159.43918,N,00422.78285,E,0.010,,120308,,,A*7E
+$GPRMC,081354.00,A,5159.43919,N,00422.78289,E,0.052,65.70,120308,,,A*58
+$GPRMC,081355.00,A,5159.43934,N,00422.78344,E,2.338,66.90,120308,,,A*56
+$GPRMC,081356.00,A,5159.44030,N,00422.78575,E,6.858,60.13,120308,,,A*5F
+$GPRMC,081357.00,A,5159.44208,N,00422.78940,E,9.851,53.96,120308,,,A*56
+$GPRMC,081358.00,A,5159.44406,N,00422.79405,E,11.271,58.74,120308,,,A*6A
+$GPRMC,081359.00,A,5159.44604,N,00422.79904,E,13.556,57.65,120308,,,A*68
+$GPRMC,081400.00,A,5159.44822,N,00422.80458,E,14.900,59.87,120308,,,A*61
+$GPRMC,081401.00,A,5159.45008,N,00422.81110,E,15.886,66.24,120308,,,A*62
+$GPRMC,081402.00,A,5159.45196,N,00422.81743,E,15.866,63.02,120308,,,A*68
+$GPRMC,081403.00,A,5159.45394,N,00422.82342,E,15.316,58.30,120308,,,A*6A
+$GPRMC,081404.00,A,5159.45627,N,00422.82752,E,13.447,44.73,120308,,,A*6A
+$GPRMC,081405.00,A,5159.45925,N,00422.82923,E,12.998,15.50,120308,,,A*65
+$GPRMC,081406.00,A,5159.46305,N,00422.82865,E,14.652,350.97,120308,,,A*58
+$GPRMC,081407.00,A,5159.46735,N,00422.82637,E,17.665,340.87,120308,,,A*50
+$GPRMC,081408.00,A,5159.47210,N,00422.82357,E,19.186,339.05,120308,,,A*5F
+$GPRMC,081409.00,A,5159.47737,N,00422.82048,E,20.525,339.30,120308,,,A*52
+$GPRMC,081410.00,A,5159.48286,N,00422.81693,E,21.820,338.97,120308,,,A*5C
+$GPRMC,081411.00,A,5159.48827,N,00422.81362,E,21.135,339.84,120308,,,A*59
+$GPRMC,081412.00,A,5159.49391,N,00422.80981,E,20.597,337.59,120308,,,A*58
+$GPRMC,081413.00,A,5159.49939,N,00422.80649,E,19.737,338.55,120308,,,A*5B
+$GPRMC,081414.00,A,5159.50456,N,00422.80332,E,18.605,339.14,120308,,,A*5C
+$GPRMC,081415.00,A,5159.50907,N,00422.80024,E,16.454,339.87,120308,,,A*52
+$GPRMC,081416.00,A,5159.51304,N,00422.79954,E,12.896,355.15,120308,,,A*56
+$GPRMC,081417.00,A,5159.51678,N,00422.80221,E,14.219,29.20,120308,,,A*63
+$GPRMC,081418.00,A,5159.51949,N,00422.80767,E,15.957,50.24,120308,,,A*6C
+$GPRMC,081419.00,A,5159.52224,N,00422.81422,E,18.041,57.28,120308,,,A*65
+$GPRMC,081420.00,A,5159.52415,N,00422.82180,E,18.824,65.47,120308,,,A*66
+$GPRMC,081421.00,A,5159.52671,N,00422.83083,E,21.709,67.40,120308,,,A*6B
+$GPRMC,081422.00,A,5159.52942,N,00422.84060,E,24.374,67.23,120308,,,A*63
+$GPRMC,081423.00,A,5159.53219,N,00422.85084,E,24.815,68.58,120308,,,A*62
+$GPRMC,081424.00,A,5159.53496,N,00422.86153,E,25.888,67.55,120308,,,A*6B
+$GPRMC,081425.00,A,5159.53777,N,00422.87240,E,26.088,67.55,120308,,,A*6D
+$GPRMC,081426.00,A,5159.54088,N,00422.88376,E,27.298,66.51,120308,,,A*62
+$GPRMC,081427.00,A,5159.54405,N,00422.89520,E,27.328,65.78,120308,,,A*64
+$GPRMC,081428.00,A,5159.54719,N,00422.90679,E,27.577,66.41,120308,,,A*67
+$GPRMC,081429.00,A,5159.55035,N,00422.91829,E,27.485,66.35,120308,,,A*6B
+$GPRMC,081430.00,A,5159.55356,N,00422.92911,E,27.316,65.16,120308,,,A*63
+$GPRMC,081431.00,A,5159.55670,N,00422.93994,E,27.175,66.08,120308,,,A*64
+$GPRMC,081432.00,A,5159.55988,N,00422.95122,E,28.209,66.41,120308,,,A*66
+$GPRMC,081433.00,A,5159.56266,N,00422.96207,E,26.421,66.00,120308,,,A*6F
+$GPRMC,081434.00,A,5159.56565,N,00422.97275,E,25.432,65.79,120308,,,A*64
+$GPRMC,081435.00,A,5159.56853,N,00422.98285,E,24.125,65.75,120308,,,A*63
+$GPRMC,081436.00,A,5159.57143,N,00422.99215,E,21.492,66.13,120308,,,A*6E
+$GPRMC,081437.00,A,5159.57353,N,00423.00004,E,18.471,65.01,120308,,,A*68
+$GPRMC,081438.00,A,5159.57572,N,00423.00632,E,15.514,57.30,120308,,,A*6D
+$GPRMC,081439.00,A,5159.57855,N,00423.01091,E,14.418,34.60,120308,,,A*66
+$GPRMC,081440.00,A,5159.58228,N,00423.01137,E,14.023,3.55,120308,,,A*54
+$GPRMC,081441.00,A,5159.58655,N,00423.00988,E,15.866,349.84,120308,,,A*5F
+$GPRMC,081442.00,A,5159.59108,N,00423.00723,E,16.655,340.77,120308,,,A*55
+$GPRMC,081443.00,A,5159.59596,N,00423.00380,E,18.982,338.12,120308,,,A*5D
+$GPRMC,081444.00,A,5159.60136,N,00423.00003,E,21.303,338.62,120308,,,A*58
+$GPRMC,081445.00,A,5159.60745,N,00422.99584,E,24.035,338.39,120308,,,A*5D
+$GPRMC,081446.00,A,5159.61441,N,00422.99073,E,27.251,338.17,120308,,,A*5A
+$GPRMC,081447.00,A,5159.62173,N,00422.98543,E,29.375,339.10,120308,,,A*54
+$GPRMC,081448.00,A,5159.62964,N,00422.98026,E,30.519,339.59,120308,,,A*5A
+$GPRMC,081449.00,A,5159.63769,N,00422.97521,E,30.602,338.66,120308,,,A*50
+$GPRMC,081450.00,A,5159.64535,N,00422.97033,E,28.198,338.23,120308,,,A*5E
+$GPRMC,081451.00,A,5159.65207,N,00422.96586,E,24.006,336.26,120308,,,A*53
+$GPRMC,081452.00,A,5159.65762,N,00422.96208,E,19.839,336.77,120308,,,A*59
+$GPRMC,081453.00,A,5159.66240,N,00422.96002,E,17.554,348.79,120308,,,A*59
+$GPRMC,081454.00,A,5159.66687,N,00422.96197,E,16.763,19.57,120308,,,A*60
+$GPRMC,081455.00,A,5159.66980,N,00422.96671,E,16.834,45.68,120308,,,A*6E
+$GPRMC,081456.00,A,5159.67230,N,00422.97402,E,19.565,62.21,120308,,,A*65
+$GPRMC,081457.00,A,5159.67472,N,00422.98567,E,25.324,67.88,120308,,,A*63
+$GPRMC,081458.00,A,5159.67813,N,00422.99835,E,29.421,67.53,120308,,,A*64
+$GPRMC,081459.00,A,5159.68119,N,00423.01082,E,30.024,70.83,120308,,,A*6F
+$GPRMC,081500.00,A,5159.68448,N,00423.02590,E,33.134,68.65,120308,,,A*64
+$GPRMC,081501.00,A,5159.68768,N,00423.03935,E,31.931,68.89,120308,,,A*6B
+$GPRMC,081502.00,A,5159.69088,N,00423.05426,E,32.916,69.04,120308,,,A*6B
+$GPRMC,081503.00,A,5159.69409,N,00423.06838,E,32.935,68.91,120308,,,A*6B
+$GPRMC,081504.00,A,5159.69760,N,00423.08360,E,33.311,68.60,120308,,,A*6B
+$GPRMC,081505.00,A,5159.70023,N,00423.09635,E,28.918,70.62,120308,,,A*64
+$GPRMC,081506.00,A,5159.70274,N,00423.10829,E,26.541,71.16,120308,,,A*60
+$GPRMC,081507.00,A,5159.70515,N,00423.11922,E,24.176,67.70,120308,,,A*6F
+$GPRMC,081508.00,A,5159.70762,N,00423.12871,E,20.646,70.46,120308,,,A*65
+$GPRMC,081509.00,A,5159.70927,N,00423.13664,E,17.210,70.89,120308,,,A*60
+$GPRMC,081510.00,A,5159.71004,N,00423.14179,E,12.683,72.21,120308,,,A*66
+$GPRMC,081511.00,A,5159.71084,N,00423.14542,E,7.554,71.91,120308,,,A*56
+$GPRMC,081512.00,A,5159.71123,N,00423.14730,E,4.543,72.99,120308,,,A*50
+$GPRMC,081513.00,A,5159.71149,N,00423.14906,E,5.683,72.41,120308,,,A*5D
+$GPRMC,081514.00,A,5159.71210,N,00423.15223,E,9.328,81.27,120308,,,A*5C
+$GPRMC,081515.00,A,5159.71321,N,00423.15766,E,14.678,71.53,120308,,,A*6A
+$GPRMC,081516.00,A,5159.71444,N,00423.16363,E,14.796,72.48,120308,,,A*67
+$GPRMC,081517.00,A,5159.71562,N,00423.16990,E,15.998,72.86,120308,,,A*66
+$GPRMC,081518.00,A,5159.71692,N,00423.17687,E,17.626,74.25,120308,,,A*6A
+$GPRMC,081519.00,A,5159.71825,N,00423.18430,E,18.552,75.27,120308,,,A*64
+$GPRMC,081520.00,A,5159.71951,N,00423.19219,E,19.261,77.50,120308,,,A*64
+$GPRMC,081521.00,A,5159.72068,N,00423.20088,E,20.904,79.13,120308,,,A*6E
+$GPRMC,081522.00,A,5159.72155,N,00423.21064,E,22.738,83.13,120308,,,A*67
+$GPRMC,081523.00,A,5159.72255,N,00423.22129,E,23.793,80.78,120308,,,A*60
+$GPRMC,081524.00,A,5159.72415,N,00423.23196,E,23.765,77.88,120308,,,A*6E
+$GPRMC,081525.00,A,5159.72562,N,00423.24296,E,23.857,75.68,120308,,,A*68
+$GPRMC,081526.00,A,5159.72608,N,00423.25570,E,27.551,83.37,120308,,,A*66
+$GPRMC,081527.00,A,5159.72645,N,00423.26809,E,26.603,85.29,120308,,,A*62
+$GPRMC,081528.00,A,5159.72647,N,00423.28016,E,25.689,88.39,120308,,,A*6A
+$GPRMC,081529.00,A,5159.72587,N,00423.29119,E,24.815,92.48,120308,,,A*6C
+$GPRMC,081530.00,A,5159.72267,N,00423.29988,E,22.575,111.47,120308,,,A*55
+$GPRMC,081531.00,A,5159.71960,N,00423.30835,E,22.906,123.82,120308,,,A*54
+$GPRMC,081532.00,A,5159.71475,N,00423.31554,E,24.929,136.60,120308,,,A*56
+$GPRMC,081533.00,A,5159.70853,N,00423.32218,E,27.840,145.58,120308,,,A*50
+$GPRMC,081534.00,A,5159.70111,N,00423.32850,E,30.746,152.79,120308,,,A*54
+$GPRMC,081535.00,A,5159.69291,N,00423.33552,E,33.778,154.14,120308,,,A*5B
+$GPRMC,081536.00,A,5159.68377,N,00423.34185,E,35.969,157.97,120308,,,A*59
+$GPRMC,081537.00,A,5159.67412,N,00423.34809,E,37.787,158.61,120308,,,A*54
+$GPRMC,081538.00,A,5159.66397,N,00423.35445,E,38.732,159.09,120308,,,A*5B
+$GPRMC,081539.00,A,5159.65364,N,00423.36055,E,39.269,159.61,120308,,,A*57
+$GPRMC,081540.00,A,5159.64291,N,00423.36704,E,39.645,160.79,120308,,,A*59
+$GPRMC,081541.00,A,5159.63206,N,00423.37314,E,39.722,161.43,120308,,,A*5D
+$GPRMC,081542.00,A,5159.62134,N,00423.37914,E,39.618,160.84,120308,,,A*55
+$GPRMC,081543.00,A,5159.61051,N,00423.38557,E,39.560,160.64,120308,,,A*53
+$GPRMC,081544.00,A,5159.59974,N,00423.39220,E,40.170,159.47,120308,,,A*57
+$GPRMC,081545.00,A,5159.58895,N,00423.39890,E,40.402,159.95,120308,,,A*57
+$GPRMC,081546.00,A,5159.57818,N,00423.40531,E,41.257,159.83,120308,,,A*56
+$GPRMC,081547.00,A,5159.56728,N,00423.41196,E,41.599,159.32,120308,,,A*5D
+$GPRMC,081548.00,A,5159.55618,N,00423.41868,E,42.744,159.95,120308,,,A*57
+$GPRMC,081549.00,A,5159.54491,N,00423.42537,E,42.809,159.94,120308,,,A*57
+$GPRMC,081550.00,A,5159.53358,N,00423.43188,E,43.305,160.26,120308,,,A*5E
+$GPRMC,081551.00,A,5159.52258,N,00423.43822,E,43.325,160.58,120308,,,A*5D
+$GPRMC,081552.00,A,5159.51122,N,00423.44440,E,43.417,161.44,120308,,,A*56
+$GPRMC,081553.00,A,5159.49980,N,00423.45023,E,43.286,162.49,120308,,,A*5E
+$GPRMC,081554.00,A,5159.48815,N,00423.45595,E,44.325,163.15,120308,,,A*5A
+$GPRMC,081555.00,A,5159.47627,N,00423.46146,E,44.683,163.48,120308,,,A*53
+$GPRMC,081556.00,A,5159.46425,N,00423.46688,E,45.380,163.52,120308,,,A*58
+$GPRMC,081557.00,A,5159.45212,N,00423.47274,E,45.815,162.00,120308,,,A*5F
+$GPRMC,081558.00,A,5159.43980,N,00423.47907,E,46.654,161.63,120308,,,A*57
+$GPRMC,081559.00,A,5159.42740,N,00423.48529,E,46.559,162.88,120308,,,A*52
+$GPRMC,081600.00,A,5159.41490,N,00423.49099,E,46.443,164.04,120308,,,A*57
+$GPRMC,081601.00,A,5159.40229,N,00423.49619,E,46.877,165.16,120308,,,A*54
+$GPRMC,081602.00,A,5159.38966,N,00423.50150,E,47.381,164.96,120308,,,A*50
+$GPRMC,081603.00,A,5159.37689,N,00423.50679,E,47.547,165.36,120308,,,A*5B
+$GPRMC,081604.00,A,5159.36419,N,00423.51192,E,46.670,166.22,120308,,,A*55
+$GPRMC,081605.00,A,5159.35136,N,00423.51659,E,46.518,166.37,120308,,,A*56
+$GPRMC,081606.00,A,5159.33896,N,00423.52212,E,46.412,164.84,120308,,,A*59
+$GPRMC,081607.00,A,5159.32644,N,00423.52781,E,46.719,164.03,120308,,,A*50
+$GPRMC,081608.00,A,5159.31381,N,00423.53315,E,46.784,164.67,120308,,,A*5E
+$GPRMC,081609.00,A,5159.30117,N,00423.53837,E,46.233,165.21,120308,,,A*52
+$GPRMC,081610.00,A,5159.28868,N,00423.54346,E,46.124,165.70,120308,,,A*59
+$GPRMC,081611.00,A,5159.27626,N,00423.54869,E,45.564,164.80,120308,,,A*58
+$GPRMC,081612.00,A,5159.26394,N,00423.55387,E,45.834,165.27,120308,,,A*58
+$GPRMC,081613.00,A,5159.25142,N,00423.55931,E,45.870,165.06,120308,,,A*57
+$GPRMC,081614.00,A,5159.23900,N,00423.56423,E,45.542,165.10,120308,,,A*5E
+$GPRMC,081615.00,A,5159.22669,N,00423.56978,E,46.057,164.78,120308,,,A*50
+$GPRMC,081616.00,A,5159.21407,N,00423.57542,E,47.986,162.32,120308,,,A*52
+$GPRMC,081617.00,A,5159.20139,N,00423.58255,E,48.321,160.77,120308,,,A*5F
+$GPRMC,081618.00,A,5159.18834,N,00423.58895,E,49.034,163.33,120308,,,A*5C
+$GPRMC,081619.00,A,5159.17517,N,00423.59503,E,49.692,164.49,120308,,,A*5D
+$GPRMC,081620.00,A,5159.16176,N,00423.60092,E,50.296,164.77,120308,,,A*57
+$GPRMC,081621.00,A,5159.14818,N,00423.60675,E,50.798,165.01,120308,,,A*51
+$GPRMC,081622.00,A,5159.13446,N,00423.61252,E,51.412,165.11,120308,,,A*53
+$GPRMC,081623.00,A,5159.12076,N,00423.61849,E,51.417,165.24,120308,,,A*57
+$GPRMC,081624.00,A,5159.10699,N,00423.62423,E,51.332,165.41,120308,,,A*55
+$GPRMC,081625.00,A,5159.09324,N,00423.62988,E,51.107,164.90,120308,,,A*5A
+$GPRMC,081626.00,A,5159.07959,N,00423.63573,E,51.136,165.46,120308,,,A*56
+$GPRMC,081627.00,A,5159.06582,N,00423.64142,E,51.409,165.28,120308,,,A*5C
+$GPRMC,081628.00,A,5159.05201,N,00423.64723,E,51.663,165.18,120308,,,A*50
+$GPRMC,081629.00,A,5159.03805,N,00423.65293,E,52.096,165.54,120308,,,A*51
+$GPRMC,081630.00,A,5159.02395,N,00423.65881,E,52.861,165.10,120308,,,A*53
+$GPRMC,081631.00,A,5159.00972,N,00423.66506,E,53.326,164.81,120308,,,A*52
+$GPRMC,081632.00,A,5158.99535,N,00423.67214,E,54.784,162.69,120308,,,A*51
+$GPRMC,081633.00,A,5158.98052,N,00423.67979,E,57.052,163.31,120308,,,A*56
+$GPRMC,081634.00,A,5158.96503,N,00423.68722,E,58.357,163.89,120308,,,A*5B
+$GPRMC,081635.00,A,5158.94925,N,00423.69436,E,59.169,164.63,120308,,,A*5A
+$GPRMC,081636.00,A,5158.93330,N,00423.70137,E,59.551,165.13,120308,,,A*55
+$GPRMC,081637.00,A,5158.91718,N,00423.70851,E,60.459,164.65,120308,,,A*52
+$GPRMC,081638.00,A,5158.90097,N,00423.71571,E,60.840,164.88,120308,,,A*55
+$GPRMC,081639.00,A,5158.88461,N,00423.72275,E,60.923,165.61,120308,,,A*52
+$GPRMC,081640.00,A,5158.86820,N,00423.72970,E,61.002,165.44,120308,,,A*59
+$GPRMC,081641.00,A,5158.85183,N,00423.73673,E,61.480,165.15,120308,,,A*5C
+$GPRMC,081642.00,A,5158.83527,N,00423.74388,E,61.845,165.26,120308,,,A*50
+$GPRMC,081643.00,A,5158.81853,N,00423.75095,E,62.419,165.31,120308,,,A*53
+$GPRMC,081644.00,A,5158.80167,N,00423.75806,E,62.629,165.14,120308,,,A*5F
+$GPRMC,081645.00,A,5158.78480,N,00423.76516,E,62.481,165.16,120308,,,A*58
+$GPRMC,081646.00,A,5158.76793,N,00423.77228,E,62.478,165.36,120308,,,A*5B
+$GPRMC,081647.00,A,5158.75103,N,00423.77936,E,62.803,165.47,120308,,,A*54
+$GPRMC,081648.00,A,5158.73398,N,00423.78645,E,63.354,165.27,120308,,,A*57
+$GPRMC,081649.00,A,5158.71683,N,00423.79365,E,63.844,165.36,120308,,,A*57
+$GPRMC,081650.00,A,5158.69959,N,00423.80091,E,64.155,165.25,120308,,,A*5C
+$GPRMC,081651.00,A,5158.68228,N,00423.80828,E,64.384,165.11,120308,,,A*52
+$GPRMC,081652.00,A,5158.66497,N,00423.81571,E,64.318,165.05,120308,,,A*5D
+$GPRMC,081653.00,A,5158.64766,N,00423.82306,E,64.362,165.24,120308,,,A*58
+$GPRMC,081654.00,A,5158.63036,N,00423.83048,E,64.388,165.12,120308,,,A*53
+$GPRMC,081655.00,A,5158.61300,N,00423.83785,E,64.432,165.18,120308,,,A*5C
+$GPRMC,081656.00,A,5158.59562,N,00423.84522,E,64.580,165.38,120308,,,A*54
+$GPRMC,081657.00,A,5158.57819,N,00423.85256,E,64.703,165.35,120308,,,A*5B
+$GPRMC,081658.00,A,5158.56074,N,00423.85991,E,64.818,165.17,120308,,,A*53
+$GPRMC,081659.00,A,5158.54326,N,00423.86730,E,64.977,165.44,120308,,,A*5C
+$GPRMC,081700.00,A,5158.52575,N,00423.87476,E,64.947,165.10,120308,,,A*55
+$GPRMC,081701.00,A,5158.50830,N,00423.88231,E,64.851,164.95,120308,,,A*5A
+$GPRMC,081702.00,A,5158.49092,N,00423.88992,E,64.771,164.83,120308,,,A*59
+$GPRMC,081703.00,A,5158.47352,N,00423.89764,E,65.028,164.69,120308,,,A*51
+$GPRMC,081704.00,A,5158.45599,N,00423.90530,E,65.618,165.12,120308,,,A*56
+$GPRMC,081705.00,A,5158.43838,N,00423.91272,E,65.287,165.15,120308,,,A*52
+$GPRMC,081706.00,A,5158.42095,N,00423.92008,E,64.444,165.38,120308,,,A*54
+$GPRMC,081707.00,A,5158.40374,N,00423.92727,E,63.371,165.49,120308,,,A*51
+$GPRMC,081708.00,A,5158.38687,N,00423.93434,E,61.979,165.26,120308,,,A*51
+$GPRMC,081709.00,A,5158.37041,N,00423.94137,E,60.512,164.96,120308,,,A*58
+$GPRMC,081710.00,A,5158.35437,N,00423.94827,E,58.932,165.27,120308,,,A*51
+$GPRMC,081711.00,A,5158.33896,N,00423.95484,E,55.805,165.25,120308,,,A*5F
+$GPRMC,081712.00,A,5158.32422,N,00423.96114,E,54.297,165.37,120308,,,A*52
+$GPRMC,081713.00,A,5158.30984,N,00423.96744,E,53.321,164.76,120308,,,A*5C
+$GPRMC,081714.00,A,5158.29576,N,00423.97371,E,52.091,164.41,120308,,,A*5C
+$GPRMC,081715.00,A,5158.28202,N,00423.98047,E,51.738,162.31,120308,,,A*57
+$GPRMC,081716.00,A,5158.26839,N,00423.98808,E,52.550,160.59,120308,,,A*58
+$GPRMC,081717.00,A,5158.25470,N,00423.99650,E,53.218,159.23,120308,,,A*54
+$GPRMC,081718.00,A,5158.24111,N,00424.00538,E,52.781,157.97,120308,,,A*57
+$GPRMC,081719.00,A,5158.22762,N,00424.01473,E,53.165,156.65,120308,,,A*5C
+$GPRMC,081720.00,A,5158.21406,N,00424.02480,E,54.229,155.18,120308,,,A*5E
+$GPRMC,081721.00,A,5158.20035,N,00424.03545,E,54.990,154.25,120308,,,A*55
+$GPRMC,081722.00,A,5158.18664,N,00424.04631,E,55.303,154.24,120308,,,A*58
+$GPRMC,081723.00,A,5158.17289,N,00424.05714,E,54.837,154.39,120308,,,A*57
+$GPRMC,081724.00,A,5158.15928,N,00424.06793,E,54.202,154.22,120308,,,A*58
+$GPRMC,081725.00,A,5158.14563,N,00424.07876,E,54.719,154.57,120308,,,A*53
+$GPRMC,081726.00,A,5158.13188,N,00424.08950,E,55.159,154.47,120308,,,A*5E
+$GPRMC,081727.00,A,5158.11805,N,00424.10035,E,55.589,154.23,120308,,,A*59
+$GPRMC,081728.00,A,5158.10416,N,00424.11126,E,55.880,154.19,120308,,,A*56
+$GPRMC,081729.00,A,5158.09017,N,00424.12239,E,55.572,154.24,120308,,,A*5A
+$GPRMC,081730.00,A,5158.07629,N,00424.13339,E,55.298,154.15,120308,,,A*56
+$GPRMC,081731.00,A,5158.06248,N,00424.14439,E,55.218,154.02,120308,,,A*5B
+$GPRMC,081732.00,A,5158.04868,N,00424.15528,E,55.030,154.43,120308,,,A*5F
+$GPRMC,081733.00,A,5158.03504,N,00424.16596,E,53.979,154.26,120308,,,A*59
+$GPRMC,081734.00,A,5158.02162,N,00424.17645,E,53.434,154.37,120308,,,A*53
+$GPRMC,081735.00,A,5158.00821,N,00424.18696,E,53.873,154.09,120308,,,A*5D
+$GPRMC,081736.00,A,5157.99474,N,00424.19746,E,54.190,154.35,120308,,,A*5C
+$GPRMC,081737.00,A,5157.98122,N,00424.20803,E,54.257,154.31,120308,,,A*52
+$GPRMC,081738.00,A,5157.96773,N,00424.21849,E,54.069,154.59,120308,,,A*5F
+$GPRMC,081739.00,A,5157.95425,N,00424.22894,E,53.717,154.68,120308,,,A*55
+$GPRMC,081740.00,A,5157.94077,N,00424.23958,E,53.696,154.26,120308,,,A*5B
+$GPRMC,081741.00,A,5157.92742,N,00424.25010,E,53.573,154.19,120308,,,A*5A
+$GPRMC,081742.00,A,5157.91408,N,00424.26066,E,53.585,154.10,120308,,,A*55
+$GPRMC,081743.00,A,5157.90072,N,00424.27116,E,53.625,154.31,120308,,,A*51
+$GPRMC,081744.00,A,5157.88738,N,00424.28165,E,53.491,154.02,120308,,,A*50
+$GPRMC,081745.00,A,5157.87404,N,00424.29212,E,53.654,154.39,120308,,,A*53
+$GPRMC,081746.00,A,5157.86043,N,00424.30268,E,55.024,154.64,120308,,,A*5C
+$GPRMC,081747.00,A,5157.84648,N,00424.31346,E,56.164,154.44,120308,,,A*5A
+$GPRMC,081748.00,A,5157.83229,N,00424.32448,E,57.097,154.39,120308,,,A*5D
+$GPRMC,081749.00,A,5157.81810,N,00424.33562,E,56.532,154.17,120308,,,A*51
+$GPRMC,081750.00,A,5157.80416,N,00424.34678,E,55.318,153.45,120308,,,A*50
+$GPRMC,081751.00,A,5157.79041,N,00424.35784,E,55.265,153.86,120308,,,A*56
+$GPRMC,081752.00,A,5157.77640,N,00424.36860,E,55.707,154.32,120308,,,A*53
+$GPRMC,081753.00,A,5157.76243,N,00424.37959,E,56.388,154.25,120308,,,A*58
+$GPRMC,081754.00,A,5157.74829,N,00424.39066,E,56.844,154.40,120308,,,A*58
+$GPRMC,081755.00,A,5157.73392,N,00424.40158,E,57.010,154.81,120308,,,A*52
+$GPRMC,081756.00,A,5157.71968,N,00424.41258,E,56.849,154.86,120308,,,A*5C
+$GPRMC,081757.00,A,5157.70537,N,00424.42320,E,57.120,155.13,120308,,,A*5D
+$GPRMC,081758.00,A,5157.69078,N,00424.43391,E,58.320,156.01,120308,,,A*52
+$GPRMC,081759.00,A,5157.67602,N,00424.44449,E,58.103,156.25,120308,,,A*56
+$GPRMC,081800.00,A,5157.66145,N,00424.45512,E,57.288,155.30,120308,,,A*56
+$GPRMC,081801.00,A,5157.64714,N,00424.46599,E,56.679,154.53,120308,,,A*58
+$GPRMC,081802.00,A,5157.63299,N,00424.47700,E,56.556,154.29,120308,,,A*5C
+$GPRMC,081803.00,A,5157.61883,N,00424.48807,E,56.628,154.11,120308,,,A*58
+$GPRMC,081804.00,A,5157.60478,N,00424.49912,E,56.270,153.95,120308,,,A*50
+$GPRMC,081805.00,A,5157.59075,N,00424.51016,E,56.159,153.96,120308,,,A*5D
+$GPRMC,081806.00,A,5157.57674,N,00424.52110,E,55.783,154.39,120308,,,A*53
+$GPRMC,081807.00,A,5157.56278,N,00424.53183,E,55.581,154.39,120308,,,A*50
+$GPRMC,081808.00,A,5157.54871,N,00424.54269,E,56.458,154.36,120308,,,A*57
+$GPRMC,081809.00,A,5157.53434,N,00424.55383,E,58.041,154.14,120308,,,A*5A
+$GPRMC,081810.00,A,5157.51952,N,00424.56524,E,59.663,154.61,120308,,,A*50
+$GPRMC,081811.00,A,5157.50434,N,00424.57689,E,61.161,154.41,120308,,,A*54
+$GPRMC,081812.00,A,5157.48889,N,00424.58908,E,62.522,153.82,120308,,,A*55
+$GPRMC,081813.00,A,5157.47306,N,00424.60154,E,63.747,154.19,120308,,,A*58
+$GPRMC,081814.00,A,5157.45694,N,00424.61399,E,64.338,154.58,120308,,,A*5F
+$GPRMC,081815.00,A,5157.44077,N,00424.62647,E,64.262,154.44,120308,,,A*52
+$GPRMC,081816.00,A,5157.42463,N,00424.63881,E,64.120,155.07,120308,,,A*50
+$GPRMC,081817.00,A,5157.40846,N,00424.65080,E,63.634,155.92,120308,,,A*5E
+$GPRMC,081818.00,A,5157.39249,N,00424.66240,E,62.496,156.11,120308,,,A*54
+$GPRMC,081819.00,A,5157.37689,N,00424.67390,E,61.134,155.45,120308,,,A*52
+$GPRMC,081820.00,A,5157.36167,N,00424.68532,E,59.911,155.13,120308,,,A*58
+$GPRMC,081821.00,A,5157.34678,N,00424.69662,E,58.716,154.86,120308,,,A*50
+$GPRMC,081822.00,A,5157.33224,N,00424.70781,E,57.456,154.56,120308,,,A*58
+$GPRMC,081823.00,A,5157.31808,N,00424.71878,E,55.960,154.33,120308,,,A*5E
+$GPRMC,081824.00,A,5157.30464,N,00424.72921,E,51.751,154.33,120308,,,A*58
+$GPRMC,081825.00,A,5157.29217,N,00424.73884,E,48.199,154.40,120308,,,A*52
+$GPRMC,081826.00,A,5157.28025,N,00424.74799,E,47.194,154.67,120308,,,A*50
+$GPRMC,081827.00,A,5157.26835,N,00424.75700,E,47.710,155.04,120308,,,A*59
+$GPRMC,081828.00,A,5157.25616,N,00424.76608,E,49.173,155.19,120308,,,A*51
+$GPRMC,081829.00,A,5157.24354,N,00424.77530,E,50.681,155.96,120308,,,A*5E
+$GPRMC,081830.00,A,5157.23050,N,00424.78469,E,52.168,155.99,120308,,,A*59
+$GPRMC,081831.00,A,5157.21708,N,00424.79436,E,53.540,156.00,120308,,,A*57
+$GPRMC,081832.00,A,5157.20348,N,00424.80435,E,54.011,155.15,120308,,,A*51
+$GPRMC,081833.00,A,5157.19004,N,00424.81458,E,53.077,154.39,120308,,,A*53
+$GPRMC,081834.00,A,5157.17707,N,00424.82479,E,50.981,153.53,120308,,,A*56
+$GPRMC,081835.00,A,5157.16464,N,00424.83476,E,49.717,153.43,120308,,,A*56
+$GPRMC,081836.00,A,5157.15252,N,00424.84385,E,48.858,154.14,120308,,,A*59
+$GPRMC,081837.00,A,5157.14054,N,00424.85322,E,47.910,153.67,120308,,,A*50
+$GPRMC,081838.00,A,5157.12894,N,00424.86236,E,45.940,153.76,120308,,,A*5D
+$GPRMC,081839.00,A,5157.11789,N,00424.87106,E,42.940,154.18,120308,,,A*55
+$GPRMC,081840.00,A,5157.10756,N,00424.87900,E,40.351,154.68,120308,,,A*59
+$GPRMC,081841.00,A,5157.09843,N,00424.88526,E,37.228,157.40,120308,,,A*5A
+$GPRMC,081842.00,A,5157.08903,N,00424.89029,E,36.010,162.70,120308,,,A*5B
+$GPRMC,081843.00,A,5157.08013,N,00424.89353,E,32.985,167.60,120308,,,A*59
+$GPRMC,081844.00,A,5157.07019,N,00424.89447,E,35.042,177.90,120308,,,A*52
+$GPRMC,081845.00,A,5157.06005,N,00424.89317,E,36.246,185.72,120308,,,A*59
+$GPRMC,081846.00,A,5157.04976,N,00424.89082,E,36.642,191.35,120308,,,A*5C
+$GPRMC,081847.00,A,5157.04037,N,00424.88743,E,35.251,193.98,120308,,,A*5A
+$GPRMC,081848.00,A,5157.03211,N,00424.88445,E,30.654,191.55,120308,,,A*56
+$GPRMC,081849.00,A,5157.02449,N,00424.88199,E,28.123,187.57,120308,,,A*52
+$GPRMC,081850.00,A,5157.01806,N,00424.88199,E,24.518,179.95,120308,,,A*51
+$GPRMC,081851.00,A,5157.01218,N,00424.88384,E,22.450,164.85,120308,,,A*5D
+$GPRMC,081852.00,A,5157.00750,N,00424.88710,E,17.987,154.47,120308,,,A*53
+$GPRMC,081853.00,A,5157.00373,N,00424.89017,E,13.271,149.23,120308,,,A*5E
+$GPRMC,081854.00,A,5157.00137,N,00424.89271,E,9.031,148.06,120308,,,A*62
+$GPRMC,081855.00,A,5156.99995,N,00424.89435,E,5.019,147.06,120308,,,A*6D
+$GPRMC,081856.00,A,5156.99942,N,00424.89496,E,2.075,147.40,120308,,,A*62
+$GPRMC,081857.00,A,5156.99940,N,00424.89524,E,0.507,147.32,120308,,,A*6E
+$GPRMC,081858.00,A,5156.99968,N,00424.89515,E,0.089,152.43,120308,,,A*68
+$GPRMC,081859.00,A,5156.99991,N,00424.89487,E,0.134,151.05,120308,,,A*63
+$GPRMC,081900.00,A,5157.00009,N,00424.89461,E,0.075,156.06,120308,,,A*6F
+$GPRMC,081901.00,A,5157.00023,N,00424.89436,E,0.057,160.74,120308,,,A*64
+$GPRMC,081902.00,A,5157.00035,N,00424.89425,E,0.058,165.96,120308,,,A*64
+$GPRMC,081903.00,A,5157.00045,N,00424.89410,E,0.062,170.47,120308,,,A*65
+$GPRMC,081904.00,A,5157.00055,N,00424.89392,E,0.064,174.65,120308,,,A*6C
+$GPRMC,081905.00,A,5157.00070,N,00424.89362,E,0.231,181.28,120308,,,A*64
+$GPRMC,081906.00,A,5157.00078,N,00424.89345,E,0.084,185.13,120308,,,A*6A
+$GPRMC,081907.00,A,5157.00086,N,00424.89329,E,0.039,189.14,120308,,,A*6D
+$GPRMC,081908.00,A,5157.00093,N,00424.89319,E,0.012,,120308,,,A*77
+$GPRMC,081909.00,A,5157.00094,N,00424.89315,E,0.012,,120308,,,A*7D
+$GPRMC,081910.00,A,5157.00097,N,00424.89311,E,0.039,192.43,120308,,,A*68
+$GPRMC,081911.00,A,5157.00097,N,00424.89312,E,0.036,192.40,120308,,,A*66
+$GPRMC,081912.00,A,5157.00098,N,00424.89309,E,0.029,190.28,120308,,,A*62
+$GPRMC,081913.00,A,5157.00096,N,00424.89310,E,0.030,188.19,120308,,,A*66
+$GPRMC,081914.00,A,5157.00097,N,00424.89314,E,0.007,,120308,,,A*77
+$GPRMC,081915.00,A,5157.00099,N,00424.89316,E,0.022,188.63,120308,,,A*67
+$GPRMC,081916.00,A,5157.00078,N,00424.89340,E,1.646,186.05,120308,,,A*63
+$GPRMC,081917.00,A,5157.00001,N,00424.89419,E,4.870,147.40,120308,,,A*65
+$GPRMC,081918.00,A,5156.99834,N,00424.89590,E,9.004,147.38,120308,,,A*6C
+$GPRMC,081919.00,A,5156.99573,N,00424.89862,E,12.908,147.14,120308,,,A*52
+$GPRMC,081920.00,A,5156.99266,N,00424.90180,E,13.278,147.64,120308,,,A*5C
+$GPRMC,081921.00,A,5156.98943,N,00424.90514,E,14.105,146.85,120308,,,A*59
+$GPRMC,081922.00,A,5156.98604,N,00424.90867,E,15.638,146.98,120308,,,A*5B
+$GPRMC,081923.00,A,5156.98292,N,00424.91357,E,16.192,131.05,120308,,,A*58
+$GPRMC,081924.00,A,5156.98087,N,00424.92006,E,16.425,114.17,120308,,,A*50
+$GPRMC,081925.00,A,5156.98051,N,00424.92846,E,16.273,91.63,120308,,,A*6C
+$GPRMC,081926.00,A,5156.98209,N,00424.93726,E,18.013,65.53,120308,,,A*6A
+$GPRMC,081927.00,A,5156.98518,N,00424.94548,E,19.660,52.72,120308,,,A*65
+$GPRMC,081928.00,A,5156.98881,N,00424.95363,E,23.077,50.51,120308,,,A*63
+$GPRMC,081929.00,A,5156.99309,N,00424.96242,E,24.758,52.99,120308,,,A*62
+$GPRMC,081930.00,A,5156.99735,N,00424.97179,E,25.286,54.46,120308,,,A*68
+$GPRMC,081931.00,A,5157.00132,N,00424.98075,E,23.029,54.51,120308,,,A*6C
+$GPRMC,081932.00,A,5157.00480,N,00424.98851,E,19.683,54.53,120308,,,A*60
+$GPRMC,081933.00,A,5157.00773,N,00424.99486,E,15.916,54.23,120308,,,A*61
+$GPRMC,081934.00,A,5157.00994,N,00424.99965,E,11.409,54.10,120308,,,A*66
+$GPRMC,081935.00,A,5157.01150,N,00425.00294,E,7.970,53.85,120308,,,A*5D
+$GPRMC,081936.00,A,5157.01254,N,00425.00499,E,4.955,53.20,120308,,,A*59
+$GPRMC,081937.00,A,5157.01310,N,00425.00586,E,1.981,54.40,120308,,,A*5B
+$GPRMC,081938.00,A,5157.01328,N,00425.00598,E,0.391,54.84,120308,,,A*52
+$GPRMC,081939.00,A,5157.01323,N,00425.00585,E,0.037,54.67,120308,,,A*56
+$GPRMC,081940.00,A,5157.01321,N,00425.00565,E,0.033,51.84,120308,,,A*58
+$GPRMC,081941.00,A,5157.01317,N,00425.00546,E,0.250,55.33,120308,,,A*52
+$GPRMC,081942.00,A,5157.01318,N,00425.00528,E,0.027,57.60,120308,,,A*50
+$GPRMC,081943.00,A,5157.01317,N,00425.00506,E,0.145,59.74,120308,,,A*5C
+$GPRMC,081944.00,A,5157.01315,N,00425.00488,E,0.024,54.99,120308,,,A*56
+$GPRMC,081945.00,A,5157.01314,N,00425.00473,E,0.008,,120308,,,A*73
+$GPRMC,081946.00,A,5157.01312,N,00425.00458,E,0.021,59.77,120308,,,A*56
+$GPRMC,081947.00,A,5157.01311,N,00425.00447,E,0.204,55.95,120308,,,A*5F
+$GPRMC,081948.00,A,5157.01313,N,00425.00438,E,0.114,52.84,120308,,,A*5F
+$GPRMC,081949.00,A,5157.01312,N,00425.00423,E,0.072,54.03,120308,,,A*5D
+$GPRMC,081950.00,A,5157.01313,N,00425.00404,E,0.057,50.82,120308,,,A*5B
+$GPRMC,081951.00,A,5157.01314,N,00425.00382,E,0.633,43.41,120308,,,A*5D
+$GPRMC,081952.00,A,5157.01313,N,00425.00369,E,0.133,39.92,120308,,,A*58
+$GPRMC,081953.00,A,5157.01313,N,00425.00355,E,0.052,37.14,120308,,,A*50
+$GPRMC,081954.00,A,5157.01314,N,00425.00343,E,0.102,33.87,120308,,,A*5D
+$GPRMC,081955.00,A,5157.01315,N,00425.00327,E,0.147,30.88,120308,,,A*52
+$GPRMC,081956.00,A,5157.01313,N,00425.00319,E,0.095,27.48,120308,,,A*5E
+$GPRMC,081957.00,A,5157.01314,N,00425.00303,E,0.044,30.74,120308,,,A*56
+$GPRMC,081958.00,A,5157.01313,N,00425.00300,E,0.038,33.45,120308,,,A*57
+$GPRMC,081959.00,A,5157.01316,N,00425.00298,E,0.175,34.05,120308,,,A*58
+$GPRMC,082000.00,A,5157.01316,N,00425.00297,E,0.156,30.70,120308,,,A*56
+$GPRMC,082001.00,A,5157.01313,N,00425.00302,E,0.053,27.75,120308,,,A*58
+$GPRMC,082002.00,A,5157.01311,N,00425.00310,E,0.133,30.51,120308,,,A*5D
+$GPRMC,082003.00,A,5157.01312,N,00425.00314,E,0.182,33.27,120308,,,A*53
+$GPRMC,082004.00,A,5157.01312,N,00425.00314,E,0.040,30.02,120308,,,A*5F
+$GPRMC,082005.00,A,5157.01314,N,00425.00319,E,0.048,28.80,120308,,,A*5E
+$GPRMC,082006.00,A,5157.01314,N,00425.00327,E,0.061,31.48,120308,,,A*57
+$GPRMC,082007.00,A,5157.01310,N,00425.00337,E,0.025,27.57,120308,,,A*5A
+$GPRMC,082008.00,A,5157.01315,N,00425.00329,E,0.014,,120308,,,A*74
+$GPRMC,082009.00,A,5157.01317,N,00425.00324,E,0.033,27.90,120308,,,A*5D
+$GPRMC,082010.00,A,5157.01319,N,00425.00323,E,0.013,,120308,,,A*7C
+$GPRMC,082011.00,A,5157.01315,N,00425.00326,E,0.048,30.74,120308,,,A*54
+$GPRMC,082012.00,A,5157.01311,N,00425.00324,E,0.185,27.77,120308,,,A*54
+$GPRMC,082013.00,A,5157.01306,N,00425.00330,E,0.232,22.26,120308,,,A*58
+$GPRMC,082014.00,A,5157.01304,N,00425.00331,E,0.184,19.58,120308,,,A*53
+$GPRMC,082015.00,A,5157.01304,N,00425.00332,E,0.029,22.26,120308,,,A*56
+$GPRMC,082016.00,A,5157.01304,N,00425.00330,E,0.021,20.46,120308,,,A*5B
+$GPRMC,082017.00,A,5157.01300,N,00425.00334,E,0.027,24.42,120308,,,A*5C
+$GPRMC,082018.00,A,5157.01301,N,00425.00341,E,0.372,29.59,120308,,,A*54
+$GPRMC,082019.00,A,5157.01305,N,00425.00352,E,0.113,32.25,120308,,,A*57
+$GPRMC,082020.00,A,5157.01306,N,00425.00383,E,0.170,34.93,120308,,,A*5C
+$GPRMC,082021.00,A,5157.01307,N,00425.00402,E,0.026,34.59,120308,,,A*56
+$GPRMC,082022.00,A,5157.01311,N,00425.00420,E,0.029,31.45,120308,,,A*55
+$GPRMC,082023.00,A,5157.01317,N,00425.00445,E,0.020,28.20,120308,,,A*53
+$GPRMC,082024.00,A,5157.01326,N,00425.00463,E,0.101,25.60,120308,,,A*59
+$GPRMC,082025.00,A,5157.01334,N,00425.00463,E,0.024,29.31,120308,,,A*55
+$GPRMC,082026.00,A,5157.01343,N,00425.00446,E,0.453,29.54,120308,,,A*56
+$GPRMC,082027.00,A,5157.01362,N,00425.00451,E,0.924,30.05,120308,,,A*53
+$GPRMC,082028.00,A,5157.01378,N,00425.00474,E,0.753,29.54,120308,,,A*52
+$GPRMC,082029.00,A,5157.01426,N,00425.00508,E,3.247,47.07,120308,,,A*58
+$GPRMC,082030.00,A,5157.01529,N,00425.00708,E,7.989,53.09,120308,,,A*5A
+$GPRMC,082031.00,A,5157.01688,N,00425.01080,E,11.416,55.02,120308,,,A*64
+$GPRMC,082032.00,A,5157.01894,N,00425.01530,E,13.146,54.29,120308,,,A*60
+$GPRMC,082033.00,A,5157.02119,N,00425.02032,E,13.926,54.91,120308,,,A*67
+$GPRMC,082034.00,A,5157.02350,N,00425.02556,E,14.224,55.46,120308,,,A*6D
+$GPRMC,082035.00,A,5157.02574,N,00425.03076,E,13.577,55.22,120308,,,A*6E
+$GPRMC,082036.00,A,5157.02790,N,00425.03566,E,13.038,55.38,120308,,,A*64
+$GPRMC,082037.00,A,5157.03005,N,00425.04049,E,12.979,52.46,120308,,,A*63
+$GPRMC,082038.00,A,5157.03259,N,00425.04464,E,12.685,37.31,120308,,,A*63
+$GPRMC,082039.00,A,5157.03575,N,00425.04732,E,12.471,19.42,120308,,,A*6A
+$GPRMC,082040.00,A,5157.03904,N,00425.04708,E,12.219,349.79,120308,,,A*51
+$GPRMC,082041.00,A,5157.04247,N,00425.04340,E,14.511,324.32,120308,,,A*5E
+$GPRMC,082042.00,A,5157.04461,N,00425.03870,E,13.374,305.19,120308,,,A*58
+$GPRMC,082043.00,A,5157.04600,N,00425.03278,E,14.471,292.93,120308,,,A*56
+$GPRMC,082044.00,A,5157.04790,N,00425.02677,E,15.733,297.72,120308,,,A*5D
+$GPRMC,082045.00,A,5157.04920,N,00425.01964,E,16.861,295.13,120308,,,A*59
+$GPRMC,082046.00,A,5157.05124,N,00425.01180,E,18.810,298.83,120308,,,A*59
+$GPRMC,082047.00,A,5157.05436,N,00425.00376,E,21.667,301.99,120308,,,A*5A
+$GPRMC,082048.00,A,5157.05792,N,00424.99487,E,23.931,306.47,120308,,,A*5A
+$GPRMC,082049.00,A,5157.06199,N,00424.98588,E,25.151,306.15,120308,,,A*55
+$GPRMC,082050.00,A,5157.06668,N,00424.97642,E,27.448,308.36,120308,,,A*5E
+$GPRMC,082051.00,A,5157.07262,N,00424.96751,E,28.788,314.71,120308,,,A*5C
+$GPRMC,082052.00,A,5157.07830,N,00424.95755,E,30.494,313.16,120308,,,A*54
+$GPRMC,082053.00,A,5157.08394,N,00424.94672,E,31.525,314.73,120308,,,A*54
+$GPRMC,082054.00,A,5157.09046,N,00424.93673,E,31.661,318.89,120308,,,A*52
+$GPRMC,082055.00,A,5157.09754,N,00424.92772,E,32.354,323.88,120308,,,A*5F
+$GPRMC,082056.00,A,5157.10529,N,00424.91893,E,33.787,327.42,120308,,,A*56
+$GPRMC,082057.00,A,5157.11339,N,00424.91061,E,34.213,328.89,120308,,,A*53
+$GPRMC,082058.00,A,5157.12210,N,00424.90229,E,36.570,328.93,120308,,,A*51
+$GPRMC,082059.00,A,5157.13135,N,00424.89415,E,37.278,330.73,120308,,,A*5D
+$GPRMC,082100.00,A,5157.14125,N,00424.88649,E,37.741,331.67,120308,,,A*57
+$GPRMC,082101.00,A,5157.15101,N,00424.87829,E,39.366,332.02,120308,,,A*59
+$GPRMC,082102.00,A,5157.16093,N,00424.86989,E,39.690,332.90,120308,,,A*5E
+$GPRMC,082103.00,A,5157.17083,N,00424.86219,E,39.073,333.75,120308,,,A*5C
+$GPRMC,082104.00,A,5157.18067,N,00424.85414,E,39.240,333.55,120308,,,A*56
+$GPRMC,082105.00,A,5157.19055,N,00424.84600,E,39.680,332.87,120308,,,A*57
+$GPRMC,082106.00,A,5157.20058,N,00424.83747,E,40.276,332.69,120308,,,A*55
+$GPRMC,082107.00,A,5157.21073,N,00424.82878,E,41.123,332.69,120308,,,A*5C
+$GPRMC,082108.00,A,5157.22095,N,00424.81989,E,42.508,331.72,120308,,,A*53
+$GPRMC,082109.00,A,5157.23162,N,00424.81023,E,45.239,331.13,120308,,,A*56
+$GPRMC,082110.00,A,5157.24300,N,00424.80018,E,48.219,331.83,120308,,,A*50
+$GPRMC,082111.00,A,5157.25513,N,00424.78970,E,50.645,332.62,120308,,,A*5C
+$GPRMC,082112.00,A,5157.26785,N,00424.77925,E,52.228,333.62,120308,,,A*52
+$GPRMC,082113.00,A,5157.28089,N,00424.76907,E,52.642,334.35,120308,,,A*5A
+$GPRMC,082114.00,A,5157.29421,N,00424.75864,E,53.535,334.38,120308,,,A*52
+$GPRMC,082115.00,A,5157.30774,N,00424.74809,E,54.146,334.35,120308,,,A*58
+$GPRMC,082116.00,A,5157.32142,N,00424.73740,E,54.112,334.25,120308,,,A*5F
+$GPRMC,082117.00,A,5157.33498,N,00424.72673,E,53.883,334.54,120308,,,A*5D
+$GPRMC,082118.00,A,5157.34848,N,00424.71616,E,53.523,334.17,120308,,,A*54
+$GPRMC,082119.00,A,5157.36191,N,00424.70561,E,53.586,334.20,120308,,,A*53
+$GPRMC,082120.00,A,5157.37536,N,00424.69507,E,53.562,334.26,120308,,,A*55
+$GPRMC,082121.00,A,5157.38880,N,00424.68454,E,53.724,334.29,120308,,,A*52
+$GPRMC,082122.00,A,5157.40236,N,00424.67396,E,54.423,334.32,120308,,,A*56
+$GPRMC,082123.00,A,5157.41606,N,00424.66336,E,54.489,334.42,120308,,,A*5D
+$GPRMC,082124.00,A,5157.42983,N,00424.65268,E,55.203,334.29,120308,,,A*5A
+$GPRMC,082125.00,A,5157.44382,N,00424.64176,E,56.040,334.27,120308,,,A*53
+$GPRMC,082126.00,A,5157.45796,N,00424.63069,E,56.520,334.13,120308,,,A*5C
+$GPRMC,082127.00,A,5157.47212,N,00424.61952,E,56.800,334.07,120308,,,A*5F
+$GPRMC,082128.00,A,5157.48638,N,00424.60832,E,57.487,334.32,120308,,,A*51
+$GPRMC,082129.00,A,5157.50074,N,00424.59708,E,57.297,334.27,120308,,,A*58
+$GPRMC,082130.00,A,5157.51506,N,00424.58594,E,57.036,334.25,120308,,,A*5C
+$GPRMC,082131.00,A,5157.52937,N,00424.57480,E,56.969,334.30,120308,,,A*5D
+$GPRMC,082132.00,A,5157.54361,N,00424.56375,E,56.617,334.27,120308,,,A*5D
+$GPRMC,082133.00,A,5157.55795,N,00424.55248,E,57.762,333.91,120308,,,A*56
+$GPRMC,082134.00,A,5157.57250,N,00424.54099,E,58.459,334.01,120308,,,A*5A
+$GPRMC,082135.00,A,5157.58731,N,00424.52929,E,59.676,334.00,120308,,,A*5D
+$GPRMC,082136.00,A,5157.60230,N,00424.51760,E,59.859,334.35,120308,,,A*54
+$GPRMC,082137.00,A,5157.61725,N,00424.50606,E,59.124,334.53,120308,,,A*56
+$GPRMC,082138.00,A,5157.63205,N,00424.49464,E,58.800,334.41,120308,,,A*5F
+$GPRMC,082139.00,A,5157.64672,N,00424.48331,E,58.293,334.34,120308,,,A*59
+$GPRMC,082140.00,A,5157.66115,N,00424.47204,E,57.200,333.93,120308,,,A*54
+$GPRMC,082141.00,A,5157.67540,N,00424.46082,E,56.505,334.14,120308,,,A*56
+$GPRMC,082142.00,A,5157.68953,N,00424.44977,E,56.389,334.28,120308,,,A*58
+$GPRMC,082143.00,A,5157.70363,N,00424.43881,E,56.497,334.48,120308,,,A*58
+$GPRMC,082144.00,A,5157.71781,N,00424.42787,E,56.750,334.34,120308,,,A*5D
+$GPRMC,082145.00,A,5157.73210,N,00424.41680,E,57.343,334.34,120308,,,A*51
+$GPRMC,082146.00,A,5157.74645,N,00424.40567,E,57.214,334.40,120308,,,A*5A
+$GPRMC,082147.00,A,5157.76077,N,00424.39456,E,57.306,334.34,120308,,,A*52
+$GPRMC,082148.00,A,5157.77513,N,00424.38339,E,57.623,334.22,120308,,,A*51
+$GPRMC,082149.00,A,5157.78952,N,00424.37218,E,57.499,334.34,120308,,,A*5F
+$GPRMC,082150.00,A,5157.80385,N,00424.36099,E,57.244,334.02,120308,,,A*59
+$GPRMC,082151.00,A,5157.81817,N,00424.34941,E,57.916,332.83,120308,,,A*54
+$GPRMC,082152.00,A,5157.83278,N,00424.33694,E,59.604,331.90,120308,,,A*55
+$GPRMC,082153.00,A,5157.84763,N,00424.32442,E,60.261,333.00,120308,,,A*52
+$GPRMC,082154.00,A,5157.86271,N,00424.31218,E,60.495,333.82,120308,,,A*5C
+$GPRMC,082155.00,A,5157.87798,N,00424.30013,E,61.373,334.22,120308,,,A*55
+$GPRMC,082156.00,A,5157.89345,N,00424.28799,E,61.915,334.34,120308,,,A*5D
+$GPRMC,082157.00,A,5157.90918,N,00424.27564,E,62.781,334.31,120308,,,A*5C
+$GPRMC,082158.00,A,5157.92484,N,00424.26328,E,61.913,334.23,120308,,,A*53
+$GPRMC,082159.00,A,5157.94029,N,00424.25116,E,60.830,334.29,120308,,,A*50
+$GPRMC,082200.00,A,5157.95555,N,00424.23931,E,60.496,334.38,120308,,,A*5B
+$GPRMC,082201.00,A,5157.97079,N,00424.22735,E,60.887,334.17,120308,,,A*59
+$GPRMC,082202.00,A,5157.98612,N,00424.21528,E,61.537,334.00,120308,,,A*52
+$GPRMC,082203.00,A,5158.00149,N,00424.20315,E,61.609,334.12,120308,,,A*50
+$GPRMC,082204.00,A,5158.01671,N,00424.19121,E,60.679,334.11,120308,,,A*50
+$GPRMC,082205.00,A,5158.03180,N,00424.17940,E,60.206,334.30,120308,,,A*54
+$GPRMC,082206.00,A,5158.04685,N,00424.16758,E,60.447,334.23,120308,,,A*55
+$GPRMC,082207.00,A,5158.06207,N,00424.15567,E,61.490,334.17,120308,,,A*59
+$GPRMC,082208.00,A,5158.07750,N,00424.14361,E,61.787,334.37,120308,,,A*56
+$GPRMC,082209.00,A,5158.09307,N,00424.13144,E,62.707,334.09,120308,,,A*5B
+$GPRMC,082210.00,A,5158.10894,N,00424.11894,E,64.159,334.01,120308,,,A*5F
+$GPRMC,082211.00,A,5158.12515,N,00424.10621,E,65.549,334.19,120308,,,A*54
+$GPRMC,082212.00,A,5158.14170,N,00424.09331,E,66.650,334.36,120308,,,A*5F
+$GPRMC,082213.00,A,5158.15854,N,00424.08013,E,67.869,334.10,120308,,,A*53
+$GPRMC,082214.00,A,5158.17569,N,00424.06674,E,69.012,334.38,120308,,,A*5C
+$GPRMC,082215.00,A,5158.19310,N,00424.05326,E,69.679,334.51,120308,,,A*5E
+$GPRMC,082216.00,A,5158.21055,N,00424.03972,E,69.361,334.19,120308,,,A*59
+$GPRMC,082217.00,A,5158.22805,N,00424.02633,E,69.825,335.02,120308,,,A*5D
+$GPRMC,082218.00,A,5158.24578,N,00424.01330,E,70.215,335.99,120308,,,A*55
+$GPRMC,082219.00,A,5158.26384,N,00424.00097,E,70.712,338.11,120308,,,A*53
+$GPRMC,082220.00,A,5158.28223,N,00423.98974,E,70.995,340.33,120308,,,A*57
+$GPRMC,082221.00,A,5158.30091,N,00423.97967,E,71.024,342.37,120308,,,A*5D
+$GPRMC,082222.00,A,5158.31989,N,00423.97061,E,71.162,344.42,120308,,,A*57
+$GPRMC,082223.00,A,5158.33904,N,00423.96218,E,71.420,345.05,120308,,,A*5D
+$GPRMC,082224.00,A,5158.35810,N,00423.95427,E,70.603,345.23,120308,,,A*57
+$GPRMC,082225.00,A,5158.37709,N,00423.94625,E,70.446,345.27,120308,,,A*55
+$GPRMC,082226.00,A,5158.39604,N,00423.93827,E,70.634,345.19,120308,,,A*55
+$GPRMC,082227.00,A,5158.41504,N,00423.93029,E,70.392,345.31,120308,,,A*5D
+$GPRMC,082228.00,A,5158.43392,N,00423.92239,E,69.789,345.36,120308,,,A*5A
+$GPRMC,082229.00,A,5158.45267,N,00423.91450,E,69.417,345.23,120308,,,A*5C
+$GPRMC,082230.00,A,5158.47129,N,00423.90661,E,69.072,344.97,120308,,,A*57
+$GPRMC,082231.00,A,5158.48982,N,00423.89863,E,68.887,344.79,120308,,,A*57
+$GPRMC,082232.00,A,5158.50822,N,00423.89087,E,68.207,345.13,120308,,,A*5B
+$GPRMC,082233.00,A,5158.52651,N,00423.88316,E,67.937,345.21,120308,,,A*5E
+$GPRMC,082234.00,A,5158.54475,N,00423.87549,E,67.762,345.26,120308,,,A*51
+$GPRMC,082235.00,A,5158.56293,N,00423.86778,E,67.505,345.16,120308,,,A*5D
+$GPRMC,082236.00,A,5158.58110,N,00423.86003,E,67.465,345.10,120308,,,A*52
+$GPRMC,082237.00,A,5158.59922,N,00423.85244,E,67.456,345.27,120308,,,A*5D
+$GPRMC,082238.00,A,5158.61733,N,00423.84488,E,67.435,345.18,120308,,,A*59
+$GPRMC,082239.00,A,5158.63547,N,00423.83720,E,67.758,345.09,120308,,,A*55
+$GPRMC,082240.00,A,5158.65371,N,00423.82944,E,68.104,345.03,120308,,,A*59
+$GPRMC,082241.00,A,5158.67199,N,00423.82165,E,68.171,345.19,120308,,,A*5C
+$GPRMC,082242.00,A,5158.69041,N,00423.81372,E,68.764,345.19,120308,,,A*50
+$GPRMC,082243.00,A,5158.70889,N,00423.80594,E,68.918,345.14,120308,,,A*52
+$GPRMC,082244.00,A,5158.72750,N,00423.79788,E,69.417,344.97,120308,,,A*5C
+$GPRMC,082245.00,A,5158.74622,N,00423.79015,E,69.813,345.91,120308,,,A*53
+$GPRMC,082246.00,A,5158.76512,N,00423.78260,E,70.168,346.44,120308,,,A*55
+$GPRMC,082247.00,A,5158.78415,N,00423.77525,E,70.353,346.27,120308,,,A*5A
+$GPRMC,082248.00,A,5158.80317,N,00423.76785,E,70.505,345.88,120308,,,A*5D
+$GPRMC,082249.00,A,5158.82214,N,00423.76018,E,70.286,345.46,120308,,,A*51
+$GPRMC,082250.00,A,5158.84101,N,00423.75247,E,69.860,345.48,120308,,,A*57
+$GPRMC,082251.00,A,5158.85977,N,00423.74469,E,69.520,345.36,120308,,,A*55
+$GPRMC,082252.00,A,5158.87846,N,00423.73690,E,69.403,345.54,120308,,,A*50
+$GPRMC,082253.00,A,5158.89713,N,00423.72916,E,69.624,345.25,120308,,,A*51
+$GPRMC,082254.00,A,5158.91581,N,00423.72143,E,69.606,345.30,120308,,,A*5A
+$GPRMC,082255.00,A,5158.93466,N,00423.71293,E,70.239,344.30,120308,,,A*5D
+$GPRMC,082256.00,A,5158.95343,N,00423.70433,E,70.005,344.13,120308,,,A*59
+$GPRMC,082257.00,A,5158.97209,N,00423.69611,E,70.133,344.84,120308,,,A*55
+$GPRMC,082258.00,A,5158.99078,N,00423.68804,E,69.872,345.09,120308,,,A*5B
+$GPRMC,082259.00,A,5159.00961,N,00423.67958,E,70.026,345.08,120308,,,A*5D
+$GPRMC,082300.00,A,5159.02829,N,00423.67183,E,70.085,345.22,120308,,,A*50
+$GPRMC,082301.00,A,5159.04704,N,00423.66397,E,70.129,345.34,120308,,,A*51
+$GPRMC,082302.00,A,5159.06577,N,00423.65593,E,69.835,345.34,120308,,,A*5B
+$GPRMC,082303.00,A,5159.08434,N,00423.64820,E,69.310,345.29,120308,,,A*56
+$GPRMC,082304.00,A,5159.10280,N,00423.64038,E,68.719,345.28,120308,,,A*5D
+$GPRMC,082305.00,A,5159.12115,N,00423.63242,E,68.222,345.06,120308,,,A*58
+$GPRMC,082306.00,A,5159.13932,N,00423.62463,E,67.406,345.43,120308,,,A*5D
+$GPRMC,082307.00,A,5159.15738,N,00423.61687,E,67.187,345.31,120308,,,A*5C
+$GPRMC,082308.00,A,5159.17534,N,00423.60935,E,66.787,345.67,120308,,,A*5C
+$GPRMC,082309.00,A,5159.19327,N,00423.60177,E,66.420,345.50,120308,,,A*53
+$GPRMC,082310.00,A,5159.21116,N,00423.59376,E,66.344,344.75,120308,,,A*5A
+$GPRMC,082311.00,A,5159.22876,N,00423.58603,E,65.525,344.35,120308,,,A*57
+$GPRMC,082312.00,A,5159.24609,N,00423.57810,E,64.407,344.51,120308,,,A*55
+$GPRMC,082313.00,A,5159.26298,N,00423.57101,E,62.311,345.32,120308,,,A*51
+$GPRMC,082314.00,A,5159.27940,N,00423.56392,E,60.078,345.27,120308,,,A*5A
+$GPRMC,082315.00,A,5159.29520,N,00423.55720,E,57.978,345.16,120308,,,A*5E
+$GPRMC,082316.00,A,5159.31039,N,00423.55071,E,55.520,345.63,120308,,,A*5B
+$GPRMC,082317.00,A,5159.32513,N,00423.54453,E,54.607,345.44,120308,,,A*53
+$GPRMC,082318.00,A,5159.33972,N,00423.53820,E,54.209,345.18,120308,,,A*5A
+$GPRMC,082319.00,A,5159.35417,N,00423.53167,E,54.289,343.71,120308,,,A*58
+$GPRMC,082320.00,A,5159.36891,N,00423.52528,E,55.728,345.07,120308,,,A*55
+$GPRMC,082321.00,A,5159.38372,N,00423.51892,E,55.451,345.11,120308,,,A*59
+$GPRMC,082322.00,A,5159.39843,N,00423.51267,E,55.215,345.21,120308,,,A*57
+$GPRMC,082323.00,A,5159.41329,N,00423.50623,E,56.026,345.10,120308,,,A*58
+$GPRMC,082324.00,A,5159.42821,N,00423.50000,E,55.898,345.38,120308,,,A*5C
+$GPRMC,082325.00,A,5159.44310,N,00423.49381,E,55.220,345.82,120308,,,A*58
+$GPRMC,082326.00,A,5159.45783,N,00423.48780,E,54.428,346.11,120308,,,A*56
+$GPRMC,082327.00,A,5159.47221,N,00423.48231,E,52.885,346.32,120308,,,A*5B
+$GPRMC,082328.00,A,5159.48638,N,00423.47638,E,52.336,346.04,120308,,,A*53
+$GPRMC,082329.00,A,5159.50046,N,00423.47043,E,52.294,346.09,120308,,,A*5A
+$GPRMC,082330.00,A,5159.51452,N,00423.46439,E,52.526,345.68,120308,,,A*50
+$GPRMC,082331.00,A,5159.52853,N,00423.45837,E,52.161,345.56,120308,,,A*54
+$GPRMC,082332.00,A,5159.54247,N,00423.45225,E,51.534,345.20,120308,,,A*51
+$GPRMC,082333.00,A,5159.55626,N,00423.44610,E,51.198,345.00,120308,,,A*51
+$GPRMC,082334.00,A,5159.56991,N,00423.44031,E,50.984,345.37,120308,,,A*53
+$GPRMC,082335.00,A,5159.58359,N,00423.43454,E,51.362,344.98,120308,,,A*55
+$GPRMC,082336.00,A,5159.59738,N,00423.42859,E,51.610,345.15,120308,,,A*50
+$GPRMC,082337.00,A,5159.61116,N,00423.42278,E,51.416,345.15,120308,,,A*5D
+$GPRMC,082338.00,A,5159.62504,N,00423.41671,E,51.748,345.17,120308,,,A*52
+$GPRMC,082339.00,A,5159.63907,N,00423.41076,E,52.986,345.10,120308,,,A*54
+$GPRMC,082340.00,A,5159.65351,N,00423.40456,E,54.350,345.27,120308,,,A*51
+$GPRMC,082341.00,A,5159.66822,N,00423.39848,E,55.142,345.48,120308,,,A*58
+$GPRMC,082342.00,A,5159.68300,N,00423.39212,E,54.685,345.24,120308,,,A*5C
+$GPRMC,082343.00,A,5159.69764,N,00423.38581,E,54.096,345.33,120308,,,A*54
+$GPRMC,082344.00,A,5159.71225,N,00423.37951,E,54.656,345.25,120308,,,A*59
+$GPRMC,082345.00,A,5159.72690,N,00423.37323,E,54.774,345.10,120308,,,A*59
+$GPRMC,082346.00,A,5159.74156,N,00423.36663,E,55.067,343.78,120308,,,A*5D
+$GPRMC,082347.00,A,5159.75645,N,00423.36006,E,55.519,344.63,120308,,,A*5C
+$GPRMC,082348.00,A,5159.77124,N,00423.35401,E,55.525,345.28,120308,,,A*50
+$GPRMC,082349.00,A,5159.78633,N,00423.34756,E,57.309,344.96,120308,,,A*51
+$GPRMC,082350.00,A,5159.80188,N,00423.34094,E,58.458,345.17,120308,,,A*54
+$GPRMC,082351.00,A,5159.81753,N,00423.33427,E,58.117,345.16,120308,,,A*50
+$GPRMC,082352.00,A,5159.83319,N,00423.32698,E,57.970,344.00,120308,,,A*5C
+$GPRMC,082353.00,A,5159.84895,N,00423.31985,E,58.424,344.23,120308,,,A*57
+$GPRMC,082354.00,A,5159.86443,N,00423.31283,E,58.247,344.67,120308,,,A*5B
+$GPRMC,082355.00,A,5159.87999,N,00423.30658,E,58.606,344.98,120308,,,A*53
+$GPRMC,082356.00,A,5159.89568,N,00423.29989,E,59.124,344.99,120308,,,A*50
+$GPRMC,082357.00,A,5159.91144,N,00423.29332,E,59.014,344.87,120308,,,A*55
+$GPRMC,082358.00,A,5159.92709,N,00423.28673,E,58.370,344.86,120308,,,A*56
+$GPRMC,082359.00,A,5159.94256,N,00423.28027,E,57.749,345.28,120308,,,A*5D
+$GPRMC,082400.00,A,5159.95802,N,00423.27380,E,57.623,345.24,120308,,,A*5C
+$GPRMC,082401.00,A,5159.97349,N,00423.26691,E,57.604,344.62,120308,,,A*59
+$GPRMC,082402.00,A,5159.98883,N,00423.26012,E,57.417,345.18,120308,,,A*59
+$GPRMC,082403.00,A,5200.00425,N,00423.25351,E,57.149,345.36,120308,,,A*53
+$GPRMC,082404.00,A,5200.01929,N,00423.24809,E,57.021,345.17,120308,,,A*5F
+$GPRMC,082405.00,A,5200.03436,N,00423.24242,E,57.430,344.68,120308,,,A*57
+$GPRMC,082406.00,A,5200.04975,N,00423.23578,E,57.193,344.91,120308,,,A*5A
+$GPRMC,082407.00,A,5200.06495,N,00423.22935,E,56.477,345.33,120308,,,A*59
+$GPRMC,082408.00,A,5200.08020,N,00423.22245,E,56.121,345.31,120308,,,A*5A
+$GPRMC,082409.00,A,5200.09525,N,00423.21596,E,55.484,345.17,120308,,,A*5D
+$GPRMC,082410.00,A,5200.11006,N,00423.20987,E,54.604,345.84,120308,,,A*54
+$GPRMC,082411.00,A,5200.12471,N,00423.20407,E,54.947,345.52,120308,,,A*54
+$GPRMC,082412.00,A,5200.13930,N,00423.19876,E,54.737,345.87,120308,,,A*5F
+$GPRMC,082413.00,A,5200.15392,N,00423.19329,E,54.494,345.98,120308,,,A*5F
+$GPRMC,082414.00,A,5200.16871,N,00423.18697,E,54.347,345.84,120308,,,A*58
+$GPRMC,082415.00,A,5200.18343,N,00423.18077,E,54.519,345.57,120308,,,A*56
+$GPRMC,082416.00,A,5200.19831,N,00423.17376,E,54.845,344.54,120308,,,A*51
+$GPRMC,082417.00,A,5200.21312,N,00423.16685,E,55.145,343.81,120308,,,A*5E
+$GPRMC,082418.00,A,5200.22783,N,00423.15931,E,54.908,342.45,120308,,,A*54
+$GPRMC,082419.00,A,5200.24253,N,00423.15066,E,54.646,340.96,120308,,,A*59
+$GPRMC,082420.00,A,5200.25696,N,00423.14209,E,54.378,340.08,120308,,,A*5A
+$GPRMC,082421.00,A,5200.27112,N,00423.13322,E,54.510,338.62,120308,,,A*56
+$GPRMC,082422.00,A,5200.28497,N,00423.12373,E,55.019,336.68,120308,,,A*5E
+$GPRMC,082423.00,A,5200.29868,N,00423.11347,E,54.961,335.18,120308,,,A*55
+$GPRMC,082424.00,A,5200.31251,N,00423.10245,E,55.513,333.69,120308,,,A*51
+$GPRMC,082425.00,A,5200.32606,N,00423.09102,E,54.754,331.90,120308,,,A*59
+$GPRMC,082426.00,A,5200.33960,N,00423.07808,E,55.345,330.47,120308,,,A*57
+$GPRMC,082427.00,A,5200.35326,N,00423.06527,E,56.471,330.83,120308,,,A*52
+$GPRMC,082428.00,A,5200.36666,N,00423.05209,E,55.825,328.67,120308,,,A*5A
+$GPRMC,082429.00,A,5200.37902,N,00423.03804,E,54.166,326.28,120308,,,A*5C
+$GPRMC,082430.00,A,5200.39176,N,00423.02346,E,53.979,325.15,120308,,,A*51
+$GPRMC,082431.00,A,5200.40398,N,00423.00893,E,53.392,324.78,120308,,,A*58
+$GPRMC,082432.00,A,5200.41611,N,00422.99454,E,53.661,324.66,120308,,,A*5E
+$GPRMC,082433.00,A,5200.42817,N,00422.98012,E,53.591,324.21,120308,,,A*5C
+$GPRMC,082434.00,A,5200.44062,N,00422.96595,E,54.066,324.26,120308,,,A*5E
+$GPRMC,082435.00,A,5200.45291,N,00422.95178,E,53.862,324.17,120308,,,A*5D
+$GPRMC,082436.00,A,5200.46518,N,00422.93759,E,54.081,324.47,120308,,,A*5F
+$GPRMC,082437.00,A,5200.47766,N,00422.92307,E,55.380,324.50,120308,,,A*5F
+$GPRMC,082438.00,A,5200.49027,N,00422.90806,E,57.044,324.48,120308,,,A*54
+$GPRMC,082439.00,A,5200.50323,N,00422.89267,E,58.680,324.38,120308,,,A*59
+$GPRMC,082440.00,A,5200.51656,N,00422.87693,E,59.919,323.87,120308,,,A*5D
+$GPRMC,082441.00,A,5200.53024,N,00422.86077,E,61.449,323.80,120308,,,A*54
+$GPRMC,082442.00,A,5200.54412,N,00422.84395,E,62.714,323.92,120308,,,A*57
+$GPRMC,082443.00,A,5200.55845,N,00422.82701,E,64.043,324.05,120308,,,A*5C
+$GPRMC,082444.00,A,5200.57312,N,00422.81000,E,64.774,324.43,120308,,,A*54
+$GPRMC,082445.00,A,5200.58776,N,00422.79303,E,64.369,324.35,120308,,,A*52
+$GPRMC,082446.00,A,5200.60231,N,00422.77597,E,64.102,324.34,120308,,,A*57
+$GPRMC,082447.00,A,5200.61669,N,00422.75927,E,62.918,324.49,120308,,,A*54
+$GPRMC,082448.00,A,5200.63080,N,00422.74292,E,61.575,324.39,120308,,,A*5F
+$GPRMC,082449.00,A,5200.64455,N,00422.72674,E,60.709,324.12,120308,,,A*5E
+$GPRMC,082450.00,A,5200.65810,N,00422.71069,E,60.004,324.16,120308,,,A*5D
+$GPRMC,082451.00,A,5200.67146,N,00422.69492,E,58.999,324.33,120308,,,A*5C
+$GPRMC,082452.00,A,5200.68459,N,00422.67953,E,57.729,324.39,120308,,,A*55
+$GPRMC,082453.00,A,5200.69744,N,00422.66442,E,56.659,324.20,120308,,,A*59
+$GPRMC,082454.00,A,5200.71013,N,00422.64944,E,56.342,324.09,120308,,,A*5F
+$GPRMC,082455.00,A,5200.72275,N,00422.63456,E,56.005,324.21,120308,,,A*5C
+$GPRMC,082456.00,A,5200.73524,N,00422.61986,E,55.104,324.31,120308,,,A*5D
+$GPRMC,082457.00,A,5200.74752,N,00422.60541,E,54.080,324.35,120308,,,A*56
+$GPRMC,082458.00,A,5200.75958,N,00422.59131,E,53.101,324.38,120308,,,A*57
+$GPRMC,082459.00,A,5200.77139,N,00422.57748,E,52.063,324.38,120308,,,A*59
+$GPRMC,082500.00,A,5200.78296,N,00422.56385,E,51.156,324.16,120308,,,A*51
+$GPRMC,082501.00,A,5200.79431,N,00422.55059,E,50.157,324.34,120308,,,A*5B
+$GPRMC,082502.00,A,5200.80556,N,00422.53750,E,49.672,324.33,120308,,,A*59
+$GPRMC,082503.00,A,5200.81675,N,00422.52442,E,49.825,324.23,120308,,,A*57
+$GPRMC,082504.00,A,5200.82803,N,00422.51109,E,50.761,324.23,120308,,,A*52
+$GPRMC,082505.00,A,5200.83948,N,00422.49770,E,51.307,324.49,120308,,,A*54
+$GPRMC,082506.00,A,5200.85107,N,00422.48426,E,51.613,324.46,120308,,,A*5C
+$GPRMC,082507.00,A,5200.86275,N,00422.47073,E,52.160,324.26,120308,,,A*55
+$GPRMC,082508.00,A,5200.87451,N,00422.45699,E,52.553,324.32,120308,,,A*5A
+$GPRMC,082509.00,A,5200.88640,N,00422.44310,E,53.083,324.32,120308,,,A*5A
+$GPRMC,082510.00,A,5200.89846,N,00422.42902,E,54.113,324.37,120308,,,A*5E
+$GPRMC,082511.00,A,5200.91064,N,00422.41482,E,54.144,324.16,120308,,,A*59
+$GPRMC,082512.00,A,5200.92276,N,00422.40062,E,53.968,324.07,120308,,,A*52
+$GPRMC,082513.00,A,5200.93484,N,00422.38650,E,53.473,324.20,120308,,,A*53
+$GPRMC,082514.00,A,5200.94684,N,00422.37249,E,53.221,324.22,120308,,,A*51
+$GPRMC,082515.00,A,5200.95878,N,00422.35858,E,52.881,324.46,120308,,,A*57
+$GPRMC,082516.00,A,5200.97070,N,00422.34477,E,52.875,324.37,120308,,,A*5B
+$GPRMC,082517.00,A,5200.98259,N,00422.33101,E,52.710,324.32,120308,,,A*56
+$GPRMC,082518.00,A,5200.99444,N,00422.31720,E,52.393,324.31,120308,,,A*59
+$GPRMC,082519.00,A,5201.00625,N,00422.30341,E,52.369,324.34,120308,,,A*5E
+$GPRMC,082520.00,A,5201.01808,N,00422.28963,E,52.404,324.19,120308,,,A*54
+$GPRMC,082521.00,A,5201.02993,N,00422.27574,E,52.681,324.23,120308,,,A*56
+$GPRMC,082522.00,A,5201.04183,N,00422.26180,E,52.866,324.14,120308,,,A*57
+$GPRMC,082523.00,A,5201.05371,N,00422.24800,E,52.758,324.28,120308,,,A*56
+$GPRMC,082524.00,A,5201.06558,N,00422.23437,E,52.605,324.47,120308,,,A*50
+$GPRMC,082525.00,A,5201.07745,N,00422.22052,E,52.308,324.26,120308,,,A*57
+$GPRMC,082526.00,A,5201.08919,N,00422.20673,E,51.874,324.14,120308,,,A*59
+$GPRMC,082527.00,A,5201.10086,N,00422.19308,E,51.534,324.34,120308,,,A*56
+$GPRMC,082528.00,A,5201.11250,N,00422.17956,E,51.514,324.53,120308,,,A*5D
+$GPRMC,082529.00,A,5201.12413,N,00422.16596,E,51.429,324.33,120308,,,A*56
+$GPRMC,082530.00,A,5201.13569,N,00422.15250,E,51.115,324.58,120308,,,A*5A
+$GPRMC,082531.00,A,5201.14721,N,00422.13909,E,51.017,324.18,120308,,,A*54
+$GPRMC,082532.00,A,5201.15872,N,00422.12558,E,51.066,324.07,120308,,,A*5E
+$GPRMC,082533.00,A,5201.17024,N,00422.11199,E,51.439,323.81,120308,,,A*5B
+$GPRMC,082534.00,A,5201.18177,N,00422.09847,E,51.187,324.18,120308,,,A*50
+$GPRMC,082535.00,A,5201.19330,N,00422.08509,E,51.072,324.39,120308,,,A*5F
+$GPRMC,082536.00,A,5201.20476,N,00422.07186,E,50.348,324.50,120308,,,A*5B
+$GPRMC,082537.00,A,5201.21608,N,00422.05880,E,50.000,324.47,120308,,,A*54
+$GPRMC,082538.00,A,5201.22743,N,00422.04566,E,50.560,324.33,120308,,,A*52
+$GPRMC,082539.00,A,5201.23886,N,00422.03238,E,50.900,324.39,120308,,,A*5F
+$GPRMC,082540.00,A,5201.25029,N,00422.01905,E,50.629,324.19,120308,,,A*5B
+$GPRMC,082541.00,A,5201.26173,N,00422.00573,E,50.541,324.16,120308,,,A*59
+$GPRMC,082542.00,A,5201.27312,N,00421.99248,E,50.546,324.19,120308,,,A*5A
+$GPRMC,082543.00,A,5201.28449,N,00421.97918,E,50.713,324.29,120308,,,A*5C
+$GPRMC,082544.00,A,5201.29584,N,00421.96608,E,50.599,324.47,120308,,,A*5D
+$GPRMC,082545.00,A,5201.30721,N,00421.95295,E,50.379,324.47,120308,,,A*52
+$GPRMC,082546.00,A,5201.31855,N,00421.93973,E,50.290,324.22,120308,,,A*5C
+$GPRMC,082547.00,A,5201.32994,N,00421.92641,E,51.048,324.15,120308,,,A*5F
+$GPRMC,082548.00,A,5201.34164,N,00421.91277,E,52.538,324.20,120308,,,A*54
+$GPRMC,082549.00,A,5201.35358,N,00421.89887,E,53.232,324.34,120308,,,A*5C
+$GPRMC,082550.00,A,5201.36560,N,00421.88492,E,53.137,324.38,120308,,,A*59
+$GPRMC,082551.00,A,5201.37759,N,00421.87102,E,53.001,324.40,120308,,,A*59
+$GPRMC,082552.00,A,5201.38956,N,00421.85714,E,52.862,324.53,120308,,,A*59
+$GPRMC,082553.00,A,5201.40150,N,00421.84326,E,52.916,324.28,120308,,,A*53
+$GPRMC,082554.00,A,5201.41339,N,00421.82928,E,52.595,324.18,120308,,,A*5E
+$GPRMC,082555.00,A,5201.42517,N,00421.81548,E,52.185,324.19,120308,,,A*5B
+$GPRMC,082556.00,A,5201.43688,N,00421.80172,E,51.937,324.10,120308,,,A*5B
+$GPRMC,082557.00,A,5201.44859,N,00421.78792,E,52.300,324.05,120308,,,A*59
+$GPRMC,082558.00,A,5201.46035,N,00421.77409,E,52.232,324.25,120308,,,A*5A
+$GPRMC,082559.00,A,5201.47211,N,00421.76037,E,52.311,324.39,120308,,,A*5B
+$GPRMC,082600.00,A,5201.48385,N,00421.74658,E,52.160,323.88,120308,,,A*53
+$GPRMC,082601.00,A,5201.49574,N,00421.73257,E,53.669,323.85,120308,,,A*55
+$GPRMC,082602.00,A,5201.50796,N,00421.71821,E,55.039,324.17,120308,,,A*50
+$GPRMC,082603.00,A,5201.52051,N,00421.70354,E,56.170,324.28,120308,,,A*54
+$GPRMC,082604.00,A,5201.53351,N,00421.68844,E,58.093,324.33,120308,,,A*5A
+$GPRMC,082605.00,A,5201.54677,N,00421.67299,E,59.050,324.34,120308,,,A*51
+$GPRMC,082606.00,A,5201.56016,N,00421.65743,E,59.306,324.27,120308,,,A*53
+$GPRMC,082607.00,A,5201.57357,N,00421.64179,E,59.293,324.29,120308,,,A*58
+$GPRMC,082608.00,A,5201.58683,N,00421.62652,E,58.015,324.92,120308,,,A*51
+$GPRMC,082609.00,A,5201.60012,N,00421.61138,E,58.223,324.83,120308,,,A*5A
+$GPRMC,082610.00,A,5201.61318,N,00421.59621,E,57.600,324.44,120308,,,A*5F
+$GPRMC,082611.00,A,5201.62601,N,00421.58106,E,57.032,324.02,120308,,,A*56
+$GPRMC,082612.00,A,5201.63872,N,00421.56611,E,56.360,324.23,120308,,,A*57
+$GPRMC,082613.00,A,5201.65137,N,00421.55139,E,55.958,324.28,120308,,,A*5F
+$GPRMC,082614.00,A,5201.66391,N,00421.53664,E,55.823,324.39,120308,,,A*51
+$GPRMC,082615.00,A,5201.67644,N,00421.52195,E,55.705,324.59,120308,,,A*59
+$GPRMC,082616.00,A,5201.68897,N,00421.50724,E,55.793,324.40,120308,,,A*5C
+$GPRMC,082617.00,A,5201.70160,N,00421.49246,E,56.034,324.50,120308,,,A*54
+$GPRMC,082618.00,A,5201.71435,N,00421.47763,E,56.735,324.62,120308,,,A*54
+$GPRMC,082619.00,A,5201.72739,N,00421.46246,E,58.106,324.23,120308,,,A*57
+$GPRMC,082620.00,A,5201.74065,N,00421.44689,E,59.455,323.96,120308,,,A*5B
+$GPRMC,082621.00,A,5201.75427,N,00421.43094,E,60.919,324.44,120308,,,A*53
+$GPRMC,082622.00,A,5201.76816,N,00421.41480,E,61.715,324.51,120308,,,A*59
+$GPRMC,082623.00,A,5201.78222,N,00421.39848,E,62.087,324.38,120308,,,A*5C
+$GPRMC,082624.00,A,5201.79651,N,00421.38180,E,63.058,324.56,120308,,,A*5D
+$GPRMC,082625.00,A,5201.81080,N,00421.36535,E,63.144,324.66,120308,,,A*5A
+$GPRMC,082626.00,A,5201.82523,N,00421.34889,E,63.520,324.87,120308,,,A*57
+$GPRMC,082627.00,A,5201.84009,N,00421.33258,E,64.904,325.59,120308,,,A*53
+$GPRMC,082628.00,A,5201.85508,N,00421.31645,E,65.221,326.18,120308,,,A*58
+$GPRMC,082629.00,A,5201.87099,N,00421.30138,E,66.125,328.50,120308,,,A*5C
+$GPRMC,082630.00,A,5201.88738,N,00421.28707,E,66.457,330.89,120308,,,A*59
+$GPRMC,082631.00,A,5201.90363,N,00421.27331,E,66.477,332.59,120308,,,A*58
+$GPRMC,082632.00,A,5201.92048,N,00421.26024,E,67.206,335.04,120308,,,A*5B
+$GPRMC,082633.00,A,5201.93722,N,00421.24770,E,67.362,336.63,120308,,,A*55
+$GPRMC,082634.00,A,5201.95457,N,00421.23615,E,67.335,338.29,120308,,,A*52
+$GPRMC,082635.00,A,5201.97222,N,00421.22582,E,67.700,340.30,120308,,,A*5C
+$GPRMC,082636.00,A,5201.99004,N,00421.21653,E,67.241,342.86,120308,,,A*54
+$GPRMC,082637.00,A,5202.00802,N,00421.20826,E,66.948,344.69,120308,,,A*51
+$GPRMC,082638.00,A,5202.02592,N,00421.20107,E,66.671,346.91,120308,,,A*52
+$GPRMC,082639.00,A,5202.04401,N,00421.19466,E,67.433,348.59,120308,,,A*59
+$GPRMC,082640.00,A,5202.06237,N,00421.18908,E,67.473,349.58,120308,,,A*56
+$GPRMC,082641.00,A,5202.08068,N,00421.18395,E,67.310,349.97,120308,,,A*5E
+$GPRMC,082642.00,A,5202.09901,N,00421.17877,E,67.319,349.93,120308,,,A*5F
+$GPRMC,082643.00,A,5202.11736,N,00421.17345,E,67.183,349.81,120308,,,A*55
+$GPRMC,082644.00,A,5202.13556,N,00421.16846,E,66.754,350.40,120308,,,A*55
+$GPRMC,082645.00,A,5202.15362,N,00421.16344,E,66.634,350.39,120308,,,A*53
+$GPRMC,082646.00,A,5202.17184,N,00421.15831,E,66.461,349.93,120308,,,A*58
+$GPRMC,082647.00,A,5202.19001,N,00421.15302,E,66.506,349.75,120308,,,A*58
+$GPRMC,082648.00,A,5202.20819,N,00421.14798,E,66.642,350.26,120308,,,A*57
+$GPRMC,082649.00,A,5202.22631,N,00421.14328,E,66.558,351.25,120308,,,A*55
+$GPRMC,082650.00,A,5202.24463,N,00421.13919,E,66.316,352.66,120308,,,A*59
+$GPRMC,082651.00,A,5202.26299,N,00421.13602,E,66.151,354.65,120308,,,A*58
+$GPRMC,082652.00,A,5202.28130,N,00421.13396,E,66.062,356.65,120308,,,A*5E
+$GPRMC,082653.00,A,5202.29968,N,00421.13276,E,66.165,358.02,120308,,,A*5D
+$GPRMC,082654.00,A,5202.31779,N,00421.13236,E,64.740,359.08,120308,,,A*51
+$GPRMC,082655.00,A,5202.33564,N,00421.13244,E,63.865,359.65,120308,,,A*5D
+$GPRMC,082656.00,A,5202.35324,N,00421.13281,E,63.002,359.99,120308,,,A*59
+$GPRMC,082657.00,A,5202.37053,N,00421.13329,E,61.757,0.36,120308,,,A*55
+$GPRMC,082658.00,A,5202.38744,N,00421.13350,E,60.524,0.58,120308,,,A*55
+$GPRMC,082659.00,A,5202.40400,N,00421.13443,E,59.189,0.97,120308,,,A*57
+$GPRMC,082700.00,A,5202.42056,N,00421.13469,E,59.556,359.79,120308,,,A*5E
+$GPRMC,082701.00,A,5202.43708,N,00421.13525,E,59.716,0.01,120308,,,A*5D
+$GPRMC,082702.00,A,5202.45384,N,00421.13608,E,60.008,0.81,120308,,,A*5E
+$GPRMC,082703.00,A,5202.47066,N,00421.13785,E,60.496,2.48,120308,,,A*52
+$GPRMC,082704.00,A,5202.48720,N,00421.14048,E,60.303,5.11,120308,,,A*5E
+$GPRMC,082705.00,A,5202.50380,N,00421.14409,E,60.358,7.49,120308,,,A*58
+$GPRMC,082706.00,A,5202.52031,N,00421.14872,E,60.536,10.10,120308,,,A*64
+$GPRMC,082707.00,A,5202.53674,N,00421.15444,E,60.577,12.59,120308,,,A*61
+$GPRMC,082708.00,A,5202.55300,N,00421.16124,E,60.513,15.07,120308,,,A*60
+$GPRMC,082709.00,A,5202.56908,N,00421.16901,E,60.017,17.48,120308,,,A*67
+$GPRMC,082710.00,A,5202.58478,N,00421.17799,E,59.393,20.58,120308,,,A*65
+$GPRMC,082711.00,A,5202.60005,N,00421.18817,E,60.513,22.98,120308,,,A*6D
+$GPRMC,082712.00,A,5202.61537,N,00421.19956,E,60.858,25.30,120308,,,A*69
+$GPRMC,082713.00,A,5202.63047,N,00421.21248,E,62.216,28.07,120308,,,A*6C
+$GPRMC,082714.00,A,5202.64556,N,00421.22644,E,63.635,30.47,120308,,,A*6B
+$GPRMC,082715.00,A,5202.66063,N,00421.24200,E,64.986,32.87,120308,,,A*67
+$GPRMC,082716.00,A,5202.67558,N,00421.25886,E,66.411,35.39,120308,,,A*6E
+$GPRMC,082717.00,A,5202.69052,N,00421.27729,E,67.760,38.07,120308,,,A*62
+$GPRMC,082718.00,A,5202.70520,N,00421.29671,E,68.527,39.15,120308,,,A*6B
+$GPRMC,082719.00,A,5202.71983,N,00421.31649,E,68.329,39.91,120308,,,A*68
+$GPRMC,082720.00,A,5202.73436,N,00421.33663,E,68.653,40.41,120308,,,A*62
+$GPRMC,082721.00,A,5202.74888,N,00421.35688,E,68.779,40.50,120308,,,A*67
+$GPRMC,082722.00,A,5202.76334,N,00421.37728,E,69.034,40.36,120308,,,A*6C
+$GPRMC,082723.00,A,5202.77788,N,00421.39791,E,69.294,40.33,120308,,,A*6E
+$GPRMC,082724.00,A,5202.79254,N,00421.41850,E,68.954,40.55,120308,,,A*68
+$GPRMC,082725.00,A,5202.80712,N,00421.43869,E,68.541,39.93,120308,,,A*6C
+$GPRMC,082726.00,A,5202.82155,N,00421.45900,E,68.465,40.01,120308,,,A*62
+$GPRMC,082727.00,A,5202.83592,N,00421.47913,E,68.286,40.48,120308,,,A*6B
+$GPRMC,082728.00,A,5202.85027,N,00421.49921,E,68.060,40.38,120308,,,A*6B
+$GPRMC,082729.00,A,5202.86467,N,00421.51917,E,67.867,40.16,120308,,,A*69
+$GPRMC,082730.00,A,5202.87904,N,00421.53909,E,67.823,40.28,120308,,,A*68
+$GPRMC,082731.00,A,5202.89340,N,00421.55910,E,68.022,40.39,120308,,,A*65
+$GPRMC,082732.00,A,5202.90777,N,00421.57920,E,68.182,40.51,120308,,,A*6A
+$GPRMC,082733.00,A,5202.92215,N,00421.59939,E,68.481,40.54,120308,,,A*6D
+$GPRMC,082734.00,A,5202.93656,N,00421.61959,E,68.787,40.53,120308,,,A*67
+$GPRMC,082735.00,A,5202.95119,N,00421.63997,E,68.971,40.39,120308,,,A*67
+$GPRMC,082736.00,A,5202.96584,N,00421.66019,E,69.022,40.28,120308,,,A*63
+$GPRMC,082737.00,A,5202.98050,N,00421.68041,E,69.149,40.34,120308,,,A*62
+$GPRMC,082738.00,A,5202.99508,N,00421.70071,E,68.958,40.58,120308,,,A*6D
+$GPRMC,082739.00,A,5203.00950,N,00421.72103,E,68.715,40.84,120308,,,A*6C
+$GPRMC,082740.00,A,5203.02384,N,00421.74115,E,67.947,40.54,120308,,,A*69
+$GPRMC,082741.00,A,5203.03817,N,00421.76094,E,68.183,40.33,120308,,,A*6C
+$GPRMC,082742.00,A,5203.05267,N,00421.78107,E,68.759,40.76,120308,,,A*61
+$GPRMC,082743.00,A,5203.06702,N,00421.80166,E,68.738,41.98,120308,,,A*63
+$GPRMC,082744.00,A,5203.08105,N,00421.82271,E,69.266,43.30,120308,,,A*63
+$GPRMC,082745.00,A,5203.09477,N,00421.84434,E,69.473,44.36,120308,,,A*61
+$GPRMC,082746.00,A,5203.10840,N,00421.86641,E,69.486,45.10,120308,,,A*6F
+$GPRMC,082747.00,A,5203.12179,N,00421.88855,E,68.616,45.68,120308,,,A*6F
+$GPRMC,082748.00,A,5203.13484,N,00421.91026,E,66.732,45.50,120308,,,A*60
+$GPRMC,082749.00,A,5203.14774,N,00421.93149,E,65.570,45.19,120308,,,A*6A
+$GPRMC,082750.00,A,5203.16064,N,00421.95195,E,64.756,43.73,120308,,,A*6C
+$GPRMC,082751.00,A,5203.17380,N,00421.97121,E,62.993,40.86,120308,,,A*60
+$GPRMC,082752.00,A,5203.18718,N,00421.98881,E,61.397,37.81,120308,,,A*6F
+$GPRMC,082753.00,A,5203.20085,N,00422.00491,E,60.354,34.55,120308,,,A*6D
+$GPRMC,082754.00,A,5203.21423,N,00422.01899,E,56.886,31.64,120308,,,A*60
+$GPRMC,082755.00,A,5203.22718,N,00422.03155,E,54.632,29.11,120308,,,A*6A
+$GPRMC,082756.00,A,5203.24027,N,00422.04295,E,53.134,26.96,120308,,,A*6A
+$GPRMC,082757.00,A,5203.25338,N,00422.05355,E,52.703,26.24,120308,,,A*61
+$GPRMC,082758.00,A,5203.26647,N,00422.06384,E,52.627,25.75,120308,,,A*6F
+$GPRMC,082759.00,A,5203.27963,N,00422.07392,E,52.506,25.66,120308,,,A*62
+$GPRMC,082800.00,A,5203.29270,N,00422.08423,E,52.149,26.35,120308,,,A*6E
+$GPRMC,082801.00,A,5203.30570,N,00422.09462,E,52.493,27.28,120308,,,A*6B
+$GPRMC,082802.00,A,5203.31887,N,00422.10554,E,54.211,27.97,120308,,,A*6E
+$GPRMC,082803.00,A,5203.33224,N,00422.11718,E,55.165,28.60,120308,,,A*63
+$GPRMC,082804.00,A,5203.34568,N,00422.12918,E,55.091,29.84,120308,,,A*60
+$GPRMC,082805.00,A,5203.35899,N,00422.14166,E,55.722,30.45,120308,,,A*6E
+$GPRMC,082806.00,A,5203.37224,N,00422.15441,E,55.463,31.11,120308,,,A*64
+$GPRMC,082807.00,A,5203.38528,N,00422.16732,E,54.791,31.48,120308,,,A*66
+$GPRMC,082808.00,A,5203.39834,N,00422.18027,E,55.584,31.43,120308,,,A*69
+$GPRMC,082809.00,A,5203.41149,N,00422.19342,E,55.763,31.81,120308,,,A*60
+$GPRMC,082810.00,A,5203.42453,N,00422.20648,E,55.027,32.34,120308,,,A*6A
+$GPRMC,082811.00,A,5203.43727,N,00422.21957,E,54.324,32.59,120308,,,A*60
+$GPRMC,082812.00,A,5203.44980,N,00422.23270,E,53.433,33.18,120308,,,A*69
+$GPRMC,082813.00,A,5203.46207,N,00422.24593,E,52.843,33.84,120308,,,A*6C
+$GPRMC,082814.00,A,5203.47422,N,00422.25928,E,52.811,34.50,120308,,,A*6F
+$GPRMC,082815.00,A,5203.48645,N,00422.27298,E,54.095,34.50,120308,,,A*62
+$GPRMC,082816.00,A,5203.49852,N,00422.28660,E,52.971,34.84,120308,,,A*68
+$GPRMC,082817.00,A,5203.51051,N,00422.30022,E,53.063,34.88,120308,,,A*65
+$GPRMC,082818.00,A,5203.52256,N,00422.31400,E,53.213,35.05,120308,,,A*68
+$GPRMC,082819.00,A,5203.53453,N,00422.32768,E,52.617,34.87,120308,,,A*6F
+$GPRMC,082820.00,A,5203.54647,N,00422.34131,E,52.515,35.13,120308,,,A*64
+$GPRMC,082821.00,A,5203.55837,N,00422.35511,E,52.432,35.57,120308,,,A*6E
+$GPRMC,082822.00,A,5203.57018,N,00422.36890,E,52.346,35.90,120308,,,A*62
+$GPRMC,082823.00,A,5203.58202,N,00422.38278,E,52.388,35.97,120308,,,A*62
+$GPRMC,082824.00,A,5203.59398,N,00422.39674,E,52.952,35.62,120308,,,A*68
+$GPRMC,082825.00,A,5203.60596,N,00422.41067,E,52.590,35.45,120308,,,A*67
+$GPRMC,082826.00,A,5203.61785,N,00422.42436,E,51.795,35.31,120308,,,A*61
+$GPRMC,082827.00,A,5203.62957,N,00422.43790,E,51.353,35.47,120308,,,A*63
+$GPRMC,082828.00,A,5203.64104,N,00422.45139,E,50.908,36.09,120308,,,A*6B
+$GPRMC,082829.00,A,5203.65254,N,00422.46490,E,51.380,35.91,120308,,,A*61
+$GPRMC,082830.00,A,5203.66415,N,00422.47890,E,52.738,37.39,120308,,,A*60
+$GPRMC,082831.00,A,5203.67592,N,00422.49358,E,54.314,37.84,120308,,,A*65
+$GPRMC,082832.00,A,5203.68794,N,00422.50868,E,54.786,37.36,120308,,,A*6B
+$GPRMC,082833.00,A,5203.70023,N,00422.52332,E,54.609,36.16,120308,,,A*6B
+$GPRMC,082834.00,A,5203.71255,N,00422.53762,E,54.430,35.21,120308,,,A*61
+$GPRMC,082835.00,A,5203.72467,N,00422.55226,E,54.528,36.61,120308,,,A*68
+$GPRMC,082836.00,A,5203.73675,N,00422.56683,E,54.499,36.21,120308,,,A*6C
+$GPRMC,082837.00,A,5203.74933,N,00422.58098,E,54.974,34.60,120308,,,A*6C
+$GPRMC,082838.00,A,5203.76176,N,00422.59545,E,54.547,34.81,120308,,,A*6F
+$GPRMC,082839.00,A,5203.77408,N,00422.60961,E,54.259,35.76,120308,,,A*62
+$GPRMC,082840.00,A,5203.78656,N,00422.62367,E,55.189,34.84,120308,,,A*67
+$GPRMC,082841.00,A,5203.79874,N,00422.63827,E,55.058,35.30,120308,,,A*64
+$GPRMC,082842.00,A,5203.81113,N,00422.65272,E,54.999,35.57,120308,,,A*60
+$GPRMC,082843.00,A,5203.82381,N,00422.66681,E,55.157,34.72,120308,,,A*6D
+$GPRMC,082844.00,A,5203.83635,N,00422.68094,E,55.120,35.04,120308,,,A*6D
+$GPRMC,082845.00,A,5203.84879,N,00422.69510,E,55.134,35.34,120308,,,A*63
+$GPRMC,082846.00,A,5203.86115,N,00422.70931,E,55.053,35.09,120308,,,A*68
+$GPRMC,082847.00,A,5203.87365,N,00422.72354,E,55.448,34.98,120308,,,A*61
+$GPRMC,082848.00,A,5203.88614,N,00422.73772,E,55.127,35.61,120308,,,A*68
+$GPRMC,082849.00,A,5203.89912,N,00422.75208,E,55.418,35.56,120308,,,A*62
+$GPRMC,082850.00,A,5203.91185,N,00422.76661,E,55.703,36.04,120308,,,A*60
+$GPRMC,082851.00,A,5203.92461,N,00422.78100,E,55.948,36.82,120308,,,A*6C
+$GPRMC,082852.00,A,5203.93702,N,00422.79596,E,55.868,37.68,120308,,,A*64
+$GPRMC,082853.00,A,5203.94920,N,00422.81117,E,55.693,38.49,120308,,,A*60
+$GPRMC,082854.00,A,5203.96130,N,00422.82643,E,55.726,39.22,120308,,,A*6A
+$GPRMC,082855.00,A,5203.97308,N,00422.84238,E,56.406,39.62,120308,,,A*6B
+$GPRMC,082856.00,A,5203.98488,N,00422.85880,E,56.836,40.88,120308,,,A*65
+$GPRMC,082857.00,A,5203.99664,N,00422.87592,E,57.618,41.87,120308,,,A*64
+$GPRMC,082858.00,A,5204.00826,N,00422.89330,E,57.062,42.76,120308,,,A*62
+$GPRMC,082859.00,A,5204.01988,N,00422.91139,E,58.261,43.34,120308,,,A*6C
+$GPRMC,082900.00,A,5204.03136,N,00422.92967,E,58.212,44.53,120308,,,A*6C
+$GPRMC,082901.00,A,5204.04223,N,00422.94829,E,57.022,45.70,120308,,,A*6E
+$GPRMC,082902.00,A,5204.05286,N,00422.96677,E,56.124,46.41,120308,,,A*63
+$GPRMC,082903.00,A,5204.06333,N,00422.98511,E,55.234,46.57,120308,,,A*65
+$GPRMC,082904.00,A,5204.07356,N,00423.00334,E,54.522,46.37,120308,,,A*66
+$GPRMC,082905.00,A,5204.08389,N,00423.02107,E,53.994,45.59,120308,,,A*67
+$GPRMC,082906.00,A,5204.09375,N,00423.03827,E,52.379,45.92,120308,,,A*63
+$GPRMC,082907.00,A,5204.10345,N,00423.05550,E,51.757,46.88,120308,,,A*61
+$GPRMC,082908.00,A,5204.11271,N,00423.07266,E,52.118,48.63,120308,,,A*6C
+$GPRMC,082909.00,A,5204.12168,N,00423.09037,E,52.843,49.54,120308,,,A*6F
+$GPRMC,082910.00,A,5204.13103,N,00423.10876,E,54.158,50.16,120308,,,A*65
+$GPRMC,082911.00,A,5204.14054,N,00423.12755,E,54.632,50.48,120308,,,A*6C
+$GPRMC,082912.00,A,5204.15003,N,00423.14629,E,54.417,49.74,120308,,,A*62
+$GPRMC,082913.00,A,5204.15956,N,00423.16480,E,54.290,49.41,120308,,,A*66
+$GPRMC,082914.00,A,5204.16916,N,00423.18315,E,53.386,49.36,120308,,,A*62
+$GPRMC,082915.00,A,5204.17865,N,00423.20133,E,52.757,49.67,120308,,,A*67
+$GPRMC,082916.00,A,5204.18799,N,00423.21942,E,52.240,50.39,120308,,,A*68
+$GPRMC,082917.00,A,5204.19712,N,00423.23740,E,51.649,50.74,120308,,,A*62
+$GPRMC,082918.00,A,5204.20594,N,00423.25546,E,50.622,51.89,120308,,,A*66
+$GPRMC,082919.00,A,5204.21429,N,00423.27307,E,48.404,52.39,120308,,,A*67
+$GPRMC,082920.00,A,5204.22231,N,00423.28997,E,47.002,52.89,120308,,,A*6B
+$GPRMC,082921.00,A,5204.23002,N,00423.30691,E,46.602,53.32,120308,,,A*6F
+$GPRMC,082922.00,A,5204.23765,N,00423.32366,E,46.334,53.77,120308,,,A*64
+$GPRMC,082923.00,A,5204.24506,N,00423.34064,E,46.020,54.34,120308,,,A*64
+$GPRMC,082924.00,A,5204.25210,N,00423.35797,E,45.782,55.17,120308,,,A*64
+$GPRMC,082925.00,A,5204.25917,N,00423.37484,E,45.673,55.94,120308,,,A*6E
+$GPRMC,082926.00,A,5204.26586,N,00423.39238,E,45.662,56.52,120308,,,A*6C
+$GPRMC,082927.00,A,5204.27282,N,00423.40940,E,45.832,57.11,120308,,,A*68
+$GPRMC,082928.00,A,5204.27966,N,00423.42708,E,46.364,57.18,120308,,,A*64
+$GPRMC,082929.00,A,5204.28652,N,00423.44454,E,46.193,57.83,120308,,,A*66
+$GPRMC,082930.00,A,5204.29297,N,00423.46254,E,46.125,59.34,120308,,,A*69
+$GPRMC,082931.00,A,5204.29944,N,00423.48072,E,45.939,58.42,120308,,,A*63
+$GPRMC,082932.00,A,5204.30615,N,00423.49841,E,45.776,57.62,120308,,,A*62
+$GPRMC,082933.00,A,5204.31291,N,00423.51538,E,45.355,57.28,120308,,,A*6B
+$GPRMC,082934.00,A,5204.31942,N,00423.53250,E,45.245,57.42,120308,,,A*6E
+$GPRMC,082935.00,A,5204.32595,N,00423.54910,E,44.364,57.02,120308,,,A*65
+$GPRMC,082936.00,A,5204.33239,N,00423.56542,E,43.871,57.30,120308,,,A*66
+$GPRMC,082937.00,A,5204.33869,N,00423.58162,E,43.263,57.20,120308,,,A*68
+$GPRMC,082938.00,A,5204.34512,N,00423.59780,E,43.860,56.54,120308,,,A*61
+$GPRMC,082939.00,A,5204.35121,N,00423.61383,E,42.916,58.10,120308,,,A*66
+$GPRMC,082940.00,A,5204.35731,N,00423.62981,E,42.579,58.20,120308,,,A*62
+$GPRMC,082941.00,A,5204.36341,N,00423.64604,E,41.709,58.82,120308,,,A*69
+$GPRMC,082942.00,A,5204.36932,N,00423.66213,E,42.347,59.29,120308,,,A*69
+$GPRMC,082943.00,A,5204.37548,N,00423.67829,E,41.720,59.39,120308,,,A*6D
+$GPRMC,082944.00,A,5204.38124,N,00423.69340,E,38.749,60.60,120308,,,A*66
+$GPRMC,082945.00,A,5204.38652,N,00423.70719,E,35.706,60.20,120308,,,A*63
+$GPRMC,082946.00,A,5204.39147,N,00423.72053,E,34.676,60.03,120308,,,A*6F
+$GPRMC,082947.00,A,5204.39669,N,00423.73416,E,33.914,60.81,120308,,,A*67
+$GPRMC,082948.00,A,5204.40141,N,00423.74759,E,34.482,60.21,120308,,,A*6B
+$GPRMC,082949.00,A,5204.40672,N,00423.76040,E,34.858,55.73,120308,,,A*6A
+$GPRMC,082950.00,A,5204.41106,N,00423.77353,E,33.773,59.92,120308,,,A*65
+$GPRMC,082951.00,A,5204.41512,N,00423.78564,E,31.590,61.62,120308,,,A*61
+$GPRMC,082952.00,A,5204.41903,N,00423.79766,E,30.707,61.60,120308,,,A*60
+$GPRMC,082953.00,A,5204.42298,N,00423.80974,E,31.059,61.76,120308,,,A*6A
+$GPRMC,082954.00,A,5204.42668,N,00423.82226,E,30.944,65.12,120308,,,A*6A
+$GPRMC,082955.00,A,5204.42868,N,00423.83519,E,29.714,77.61,120308,,,A*6B
+$GPRMC,082956.00,A,5204.42878,N,00423.84772,E,28.111,91.90,120308,,,A*65
+$GPRMC,082957.00,A,5204.42694,N,00423.86055,E,27.935,105.21,120308,,,A*5F
+$GPRMC,082958.00,A,5204.42269,N,00423.87155,E,28.718,123.19,120308,,,A*57
+$GPRMC,082959.00,A,5204.41729,N,00423.88158,E,27.304,134.09,120308,,,A*57
+$GPRMC,083000.00,A,5204.40989,N,00423.88717,E,27.060,154.40,120308,,,A*51
+$GPRMC,083001.00,A,5204.40244,N,00423.89002,E,26.038,171.36,120308,,,A*52
+$GPRMC,083002.00,A,5204.39487,N,00423.88988,E,25.866,185.55,120308,,,A*52
+$GPRMC,083003.00,A,5204.38844,N,00423.88601,E,24.271,199.73,120308,,,A*5B
+$GPRMC,083004.00,A,5204.38288,N,00423.88069,E,22.151,210.91,120308,,,A*57
+$GPRMC,083005.00,A,5204.37830,N,00423.87501,E,20.074,217.22,120308,,,A*5F
+$GPRMC,083006.00,A,5204.37477,N,00423.86948,E,17.020,222.63,120308,,,A*55
+$GPRMC,083007.00,A,5204.37243,N,00423.86575,E,11.538,226.70,120308,,,A*5B
+$GPRMC,083008.00,A,5204.37121,N,00423.86313,E,6.439,228.85,120308,,,A*67
+$GPRMC,083009.00,A,5204.37101,N,00423.86204,E,1.965,229.02,120308,,,A*6E
+$GPRMC,083010.00,A,5204.37149,N,00423.86185,E,0.019,,120308,,,A*76
+$GPRMC,083011.00,A,5204.37193,N,00423.86200,E,0.023,225.92,120308,,,A*67
+$GPRMC,083012.00,A,5204.37244,N,00423.86200,E,0.025,229.37,120308,,,A*68
+$GPRMC,083013.00,A,5204.37312,N,00423.86212,E,0.016,,120308,,,A*7B
+$GPRMC,083014.00,A,5204.37355,N,00423.86241,E,0.009,,120308,,,A*77
+$GPRMC,083015.00,A,5204.37381,N,00423.86295,E,0.043,224.63,120308,,,A*67
+$GPRMC,083016.00,A,5204.37400,N,00423.86353,E,0.007,,120308,,,A*7E
+$GPRMC,083017.00,A,5204.37410,N,00423.86396,E,0.321,225.63,120308,,,A*6E
+$GPRMC,083018.00,A,5204.37420,N,00423.86440,E,0.016,,120308,,,A*77
+$GPRMC,083019.00,A,5204.37427,N,00423.86490,E,0.002,,120308,,,A*79
+$GPRMC,083020.00,A,5204.37433,N,00423.86532,E,0.028,226.54,120308,,,A*6E
+$GPRMC,083021.00,A,5204.37438,N,00423.86572,E,0.029,226.43,120308,,,A*67
+$GPRMC,083022.00,A,5204.37440,N,00423.86577,E,0.039,227.34,120308,,,A*6E
+$GPRMC,083023.00,A,5204.37442,N,00423.86593,E,0.068,223.98,120308,,,A*61
+$GPRMC,083024.00,A,5204.37444,N,00423.86596,E,0.052,226.49,120308,,,A*65
+$GPRMC,083025.00,A,5204.37448,N,00423.86608,E,0.039,221.78,120308,,,A*64
+$GPRMC,083026.00,A,5204.37448,N,00423.86617,E,0.004,,120308,,,A*77
+$GPRMC,083027.00,A,5204.37446,N,00423.86628,E,0.050,222.22,120308,,,A*69
+$GPRMC,083028.00,A,5204.37447,N,00423.86629,E,0.037,227.23,120308,,,A*63
+$GPRMC,083029.00,A,5204.37447,N,00423.86629,E,0.031,227.97,120308,,,A*6B
+$GPRMC,083030.00,A,5204.37447,N,00423.86627,E,0.009,,120308,,,A*71
+$GPRMC,083031.00,A,5204.37449,N,00423.86638,E,0.262,217.58,120308,,,A*68
+$GPRMC,083032.00,A,5204.37424,N,00423.86604,E,1.765,218.24,120308,,,A*68
+$GPRMC,083033.00,A,5204.37372,N,00423.86513,E,3.336,227.11,120308,,,A*62
+$GPRMC,083034.00,A,5204.37277,N,00423.86324,E,6.965,229.13,120308,,,A*66
+$GPRMC,083035.00,A,5204.37115,N,00423.86002,E,10.360,231.00,120308,,,A*54
+$GPRMC,083036.00,A,5204.36862,N,00423.85624,E,13.173,227.41,120308,,,A*5F
+$GPRMC,083037.00,A,5204.36591,N,00423.85207,E,13.571,227.16,120308,,,A*5E
+$GPRMC,083038.00,A,5204.36318,N,00423.84759,E,14.098,227.53,120308,,,A*5D
+$GPRMC,083039.00,A,5204.36064,N,00423.84347,E,12.683,229.76,120308,,,A*5C
+$GPRMC,083040.00,A,5204.35892,N,00423.83890,E,11.631,242.55,120308,,,A*50
+$GPRMC,083041.00,A,5204.35847,N,00423.83198,E,14.741,274.97,120308,,,A*50
+$GPRMC,083042.00,A,5204.35957,N,00423.82494,E,15.761,292.15,120308,,,A*5A
+$GPRMC,083043.00,A,5204.36272,N,00423.81763,E,19.489,307.44,120308,,,A*5C
+$GPRMC,083044.00,A,5204.36661,N,00423.80980,E,22.771,311.34,120308,,,A*53
+$GPRMC,083045.00,A,5204.37082,N,00423.80115,E,23.209,315.80,120308,,,A*5C
+$GPRMC,083046.00,A,5204.37513,N,00423.79264,E,23.418,314.20,120308,,,A*5C
+$GPRMC,083047.00,A,5204.37945,N,00423.78434,E,22.637,313.96,120308,,,A*54
+$GPRMC,083048.00,A,5204.38376,N,00423.77655,E,21.798,314.99,120308,,,A*5B
+$GPRMC,083049.00,A,5204.38826,N,00423.76929,E,21.951,316.69,120308,,,A*57
+$GPRMC,083050.00,A,5204.39292,N,00423.76189,E,22.658,316.96,120308,,,A*5C
+$GPRMC,083051.00,A,5204.39760,N,00423.75465,E,22.078,317.23,120308,,,A*5A
+$GPRMC,083052.00,A,5204.40232,N,00423.74756,E,22.402,317.20,120308,,,A*5D
+$GPRMC,083053.00,A,5204.40725,N,00423.73996,E,24.635,316.80,120308,,,A*51
+$GPRMC,083054.00,A,5204.41235,N,00423.73170,E,25.453,316.30,120308,,,A*5B
+$GPRMC,083055.00,A,5204.41773,N,00423.72315,E,26.585,317.31,120308,,,A*54
+$GPRMC,083056.00,A,5204.42352,N,00423.71433,E,28.640,317.50,120308,,,A*50
+$GPRMC,083057.00,A,5204.42921,N,00423.70513,E,28.340,314.55,120308,,,A*5E
+$GPRMC,083058.00,A,5204.43424,N,00423.69637,E,25.648,313.54,120308,,,A*53
+$GPRMC,083059.00,A,5204.43845,N,00423.68895,E,19.998,314.43,120308,,,A*52
+$GPRMC,083100.00,A,5204.44174,N,00423.68331,E,15.254,315.32,120308,,,A*56
+$GPRMC,083101.00,A,5204.44374,N,00423.68019,E,9.444,316.31,120308,,,A*66
+$GPRMC,083102.00,A,5204.44511,N,00423.67788,E,6.096,314.19,120308,,,A*6C
+$GPRMC,083103.00,A,5204.44601,N,00423.67632,E,4.431,316.35,120308,,,A*68
+$GPRMC,083104.00,A,5204.44692,N,00423.67473,E,6.234,309.95,120308,,,A*67
+$GPRMC,083105.00,A,5204.44863,N,00423.67189,E,11.250,314.72,120308,,,A*57
+$GPRMC,083106.00,A,5204.45139,N,00423.66796,E,15.718,315.58,120308,,,A*5E
+$GPRMC,083107.00,A,5204.45491,N,00423.66236,E,19.005,313.76,120308,,,A*5A
+$GPRMC,083108.00,A,5204.45899,N,00423.65573,E,22.174,314.35,120308,,,A*5B
+$GPRMC,083109.00,A,5204.46371,N,00423.64868,E,23.926,316.82,120308,,,A*52
+$GPRMC,083110.00,A,5204.46865,N,00423.64155,E,22.967,319.30,120308,,,A*51
+$GPRMC,083111.00,A,5204.47342,N,00423.63518,E,20.649,319.36,120308,,,A*52
+$GPRMC,083112.00,A,5204.47759,N,00423.62974,E,18.213,320.01,120308,,,A*56
+$GPRMC,083113.00,A,5204.48080,N,00423.62402,E,16.426,312.04,120308,,,A*5D
+$GPRMC,083114.00,A,5204.48273,N,00423.61763,E,15.653,295.99,120308,,,A*5A
+$GPRMC,083115.00,A,5204.48371,N,00423.61073,E,14.916,279.18,120308,,,A*5A
+$GPRMC,083116.00,A,5204.48344,N,00423.60435,E,13.839,262.29,120308,,,A*5B
+$GPRMC,083117.00,A,5204.48267,N,00423.59792,E,13.018,254.91,120308,,,A*53
+$GPRMC,083118.00,A,5204.48071,N,00423.59299,E,13.933,238.31,120308,,,A*57
+$GPRMC,083119.00,A,5204.47806,N,00423.58845,E,15.124,229.78,120308,,,A*5E
+$GPRMC,083120.00,A,5204.47523,N,00423.58374,E,14.411,231.26,120308,,,A*57
+$GPRMC,083121.00,A,5204.47175,N,00423.57884,E,17.198,223.99,120308,,,A*5A
+$GPRMC,083122.00,A,5204.46747,N,00423.57306,E,19.970,221.89,120308,,,A*5D
+$GPRMC,083123.00,A,5204.46240,N,00423.56723,E,20.626,213.42,120308,,,A*5C
+$GPRMC,083124.00,A,5204.45632,N,00423.56298,E,22.739,204.09,120308,,,A*58
+$GPRMC,083125.00,A,5204.45002,N,00423.55929,E,23.073,197.19,120308,,,A*5E
+$GPRMC,083126.00,A,5204.44361,N,00423.55684,E,23.961,191.08,120308,,,A*5E
+$GPRMC,083127.00,A,5204.43697,N,00423.55548,E,23.603,186.00,120308,,,A*52
+$GPRMC,083128.00,A,5204.42986,N,00423.55409,E,24.833,186.15,120308,,,A*59
+$GPRMC,083129.00,A,5204.42237,N,00423.55281,E,26.466,184.45,120308,,,A*56
+$GPRMC,083130.00,A,5204.41478,N,00423.55055,E,26.601,189.52,120308,,,A*53
+$GPRMC,083131.00,A,5204.40727,N,00423.54781,E,27.772,192.57,120308,,,A*5E
+$GPRMC,083132.00,A,5204.39968,N,00423.54494,E,27.772,195.03,120308,,,A*57
+$GPRMC,083133.00,A,5204.39215,N,00423.54150,E,28.238,199.05,120308,,,A*54
+$GPRMC,083134.00,A,5204.38444,N,00423.53680,E,29.613,203.53,120308,,,A*52
+$GPRMC,083135.00,A,5204.37660,N,00423.53066,E,31.399,207.69,120308,,,A*55
+$GPRMC,083136.00,A,5204.36916,N,00423.52291,E,31.587,213.99,120308,,,A*51
+$GPRMC,083137.00,A,5204.36173,N,00423.51437,E,31.903,216.89,120308,,,A*56
+$GPRMC,083138.00,A,5204.35502,N,00423.50511,E,32.420,222.44,120308,,,A*55
+$GPRMC,083139.00,A,5204.34859,N,00423.49473,E,33.332,226.68,120308,,,A*54
+$GPRMC,083140.00,A,5204.34273,N,00423.48391,E,31.048,231.30,120308,,,A*55
+$GPRMC,083141.00,A,5204.33770,N,00423.47298,E,29.653,233.81,120308,,,A*5F
+$GPRMC,083142.00,A,5204.33303,N,00423.46183,E,29.516,235.26,120308,,,A*5D
+$GPRMC,083143.00,A,5204.32834,N,00423.45025,E,30.767,235.60,120308,,,A*52
+$GPRMC,083144.00,A,5204.32325,N,00423.43783,E,33.304,235.29,120308,,,A*5C
+$GPRMC,083145.00,A,5204.31791,N,00423.42468,E,35.144,235.94,120308,,,A*54
+$GPRMC,083146.00,A,5204.31224,N,00423.41139,E,35.956,234.36,120308,,,A*5C
+$GPRMC,083147.00,A,5204.30653,N,00423.39823,E,35.546,235.01,120308,,,A*5D
+$GPRMC,083148.00,A,5204.30079,N,00423.38469,E,36.106,235.51,120308,,,A*59
+$GPRMC,083149.00,A,5204.29459,N,00423.37021,E,37.862,233.33,120308,,,A*59
+$GPRMC,083150.00,A,5204.28753,N,00423.35547,E,39.276,232.78,120308,,,A*51
+$GPRMC,083151.00,A,5204.28042,N,00423.33970,E,42.791,233.77,120308,,,A*57
+$GPRMC,083152.00,A,5204.27348,N,00423.32316,E,45.198,234.49,120308,,,A*5B
+$GPRMC,083153.00,A,5204.26617,N,00423.30604,E,46.989,234.48,120308,,,A*5A
+$GPRMC,083154.00,A,5204.25858,N,00423.28833,E,48.308,234.65,120308,,,A*5A
+$GPRMC,083155.00,A,5204.25088,N,00423.26995,E,49.687,235.35,120308,,,A*5A
+$GPRMC,083156.00,A,5204.24296,N,00423.25094,E,51.483,235.31,120308,,,A*55
+$GPRMC,083157.00,A,5204.23493,N,00423.23141,E,52.659,235.67,120308,,,A*5A
+$GPRMC,083158.00,A,5204.22668,N,00423.21150,E,53.881,235.33,120308,,,A*5B
+$GPRMC,083159.00,A,5204.21808,N,00423.19124,E,55.596,234.84,120308,,,A*59
+$GPRMC,083200.00,A,5204.20897,N,00423.17051,E,56.360,234.99,120308,,,A*5C
+$GPRMC,083201.00,A,5204.19980,N,00423.14961,E,57.686,234.33,120308,,,A*55
+$GPRMC,083202.00,A,5204.19025,N,00423.12840,E,58.864,233.40,120308,,,A*5A
+$GPRMC,083203.00,A,5204.18025,N,00423.10691,E,60.066,232.80,120308,,,A*56
+$GPRMC,083204.00,A,5204.16995,N,00423.08525,E,61.061,232.14,120308,,,A*53
+$GPRMC,083205.00,A,5204.15924,N,00423.06372,E,61.400,230.64,120308,,,A*57
+$GPRMC,083206.00,A,5204.14825,N,00423.04240,E,61.232,230.39,120308,,,A*58
+$GPRMC,083207.00,A,5204.13688,N,00423.02099,E,62.575,229.12,120308,,,A*51
+$GPRMC,083208.00,A,5204.12518,N,00422.99991,E,62.368,227.95,120308,,,A*5C
+$GPRMC,083209.00,A,5204.11334,N,00422.97952,E,62.380,226.73,120308,,,A*58
+$GPRMC,083210.00,A,5204.10113,N,00422.95893,E,63.011,226.33,120308,,,A*56
+$GPRMC,083211.00,A,5204.08854,N,00422.93878,E,63.120,224.98,120308,,,A*57
+$GPRMC,083212.00,A,5204.07570,N,00422.91962,E,62.289,223.03,120308,,,A*5C
+$GPRMC,083213.00,A,5204.06291,N,00422.90063,E,61.842,221.17,120308,,,A*54
+$GPRMC,083214.00,A,5204.04969,N,00422.88250,E,61.862,219.29,120308,,,A*52
+$GPRMC,083215.00,A,5204.03623,N,00422.86495,E,61.996,218.11,120308,,,A*54
+$GPRMC,083216.00,A,5204.02264,N,00422.84788,E,61.994,217.57,120308,,,A*53
+$GPRMC,083217.00,A,5204.00864,N,00422.83167,E,61.779,215.49,120308,,,A*5A
+$GPRMC,083218.00,A,5203.99445,N,00422.81577,E,61.856,214.86,120308,,,A*5A
+$GPRMC,083219.00,A,5203.98007,N,00422.79985,E,61.911,214.17,120308,,,A*54
+$GPRMC,083220.00,A,5203.96573,N,00422.78426,E,61.621,213.71,120308,,,A*58
+$GPRMC,083221.00,A,5203.95140,N,00422.76900,E,61.556,213.41,120308,,,A*59
+$GPRMC,083222.00,A,5203.93709,N,00422.75376,E,61.422,213.55,120308,,,A*58
+$GPRMC,083223.00,A,5203.92276,N,00422.73835,E,61.558,213.55,120308,,,A*53
+$GPRMC,083224.00,A,5203.90859,N,00422.72330,E,60.875,213.41,120308,,,A*58
+$GPRMC,083225.00,A,5203.89463,N,00422.70806,E,60.451,214.00,120308,,,A*50
+$GPRMC,083226.00,A,5203.88080,N,00422.69271,E,60.493,214.24,120308,,,A*51
+$GPRMC,083227.00,A,5203.86686,N,00422.67716,E,60.620,214.43,120308,,,A*5F
+$GPRMC,083228.00,A,5203.85299,N,00422.66153,E,60.556,215.02,120308,,,A*59
+$GPRMC,083229.00,A,5203.83914,N,00422.64577,E,60.845,214.98,120308,,,A*5D
+$GPRMC,083230.00,A,5203.82533,N,00422.62988,E,60.630,215.38,120308,,,A*50
+$GPRMC,083231.00,A,5203.81153,N,00422.61406,E,60.598,215.29,120308,,,A*59
+$GPRMC,083232.00,A,5203.79768,N,00422.59807,E,61.335,215.27,120308,,,A*5B
+$GPRMC,083233.00,A,5203.78368,N,00422.58243,E,61.211,214.53,120308,,,A*51
+$GPRMC,083234.00,A,5203.77003,N,00422.56705,E,59.857,214.46,120308,,,A*59
+$GPRMC,083235.00,A,5203.75626,N,00422.55149,E,60.406,215.24,120308,,,A*51
+$GPRMC,083236.00,A,5203.74257,N,00422.53494,E,61.395,216.30,120308,,,A*58
+$GPRMC,083237.00,A,5203.72897,N,00422.51891,E,60.681,216.08,120308,,,A*58
+$GPRMC,083238.00,A,5203.71544,N,00422.50339,E,59.995,214.98,120308,,,A*54
+$GPRMC,083239.00,A,5203.70207,N,00422.48761,E,59.928,216.38,120308,,,A*5A
+$GPRMC,083240.00,A,5203.68883,N,00422.47221,E,59.320,215.96,120308,,,A*50
+$GPRMC,083241.00,A,5203.67580,N,00422.45654,E,59.501,215.81,120308,,,A*57
+$GPRMC,083242.00,A,5203.66261,N,00422.44070,E,59.626,216.69,120308,,,A*5F
+$GPRMC,083243.00,A,5203.64921,N,00422.42455,E,60.160,216.04,120308,,,A*52
+$GPRMC,083244.00,A,5203.63539,N,00422.40915,E,60.620,214.47,120308,,,A*5A
+$GPRMC,083245.00,A,5203.62123,N,00422.39415,E,61.009,213.46,120308,,,A*5C
+$GPRMC,083246.00,A,5203.60684,N,00422.37936,E,61.606,213.49,120308,,,A*53
+$GPRMC,083247.00,A,5203.59259,N,00422.36405,E,62.007,214.22,120308,,,A*5E
+$GPRMC,083248.00,A,5203.57830,N,00422.34843,E,62.349,214.99,120308,,,A*5F
+$GPRMC,083249.00,A,5203.56401,N,00422.33241,E,62.465,215.11,120308,,,A*56
+$GPRMC,083250.00,A,5203.54992,N,00422.31626,E,61.814,215.75,120308,,,A*57
+$GPRMC,083251.00,A,5203.53598,N,00422.29992,E,61.502,216.08,120308,,,A*5D
+$GPRMC,083252.00,A,5203.52213,N,00422.28365,E,61.323,216.31,120308,,,A*57
+$GPRMC,083253.00,A,5203.50824,N,00422.26730,E,61.782,216.32,120308,,,A*5C
+$GPRMC,083254.00,A,5203.49441,N,00422.25077,E,61.914,216.40,120308,,,A*5F
+$GPRMC,083255.00,A,5203.48029,N,00422.23432,E,62.530,215.96,120308,,,A*57
+$GPRMC,083256.00,A,5203.46632,N,00422.21784,E,62.112,216.54,120308,,,A*53
+$GPRMC,083257.00,A,5203.45239,N,00422.20095,E,63.104,217.38,120308,,,A*55
+$GPRMC,083258.00,A,5203.43863,N,00422.18356,E,63.105,218.54,120308,,,A*5A
+$GPRMC,083259.00,A,5203.42499,N,00422.16608,E,62.746,218.80,120308,,,A*5A
+$GPRMC,083300.00,A,5203.41146,N,00422.14865,E,62.204,218.47,120308,,,A*5C
+$GPRMC,083301.00,A,5203.39794,N,00422.13167,E,61.197,218.00,120308,,,A*5E
+$GPRMC,083302.00,A,5203.38472,N,00422.11496,E,60.231,217.97,120308,,,A*51
+$GPRMC,083303.00,A,5203.37180,N,00422.09824,E,59.848,218.57,120308,,,A*56
+$GPRMC,083304.00,A,5203.35907,N,00422.08130,E,59.776,219.02,120308,,,A*5A
+$GPRMC,083305.00,A,5203.34633,N,00422.06417,E,59.843,219.78,120308,,,A*58
+$GPRMC,083306.00,A,5203.33373,N,00422.04645,E,59.972,221.38,120308,,,A*56
+$GPRMC,083307.00,A,5203.32128,N,00422.02833,E,60.068,222.30,120308,,,A*50
+$GPRMC,083308.00,A,5203.30909,N,00422.00985,E,60.078,223.76,120308,,,A*5A
+$GPRMC,083309.00,A,5203.29731,N,00421.99081,E,59.907,225.77,120308,,,A*54
+$GPRMC,083310.00,A,5203.28578,N,00421.97112,E,60.134,227.60,120308,,,A*51
+$GPRMC,083311.00,A,5203.27452,N,00421.95066,E,60.892,228.82,120308,,,A*50
+$GPRMC,083312.00,A,5203.26382,N,00421.92994,E,59.672,230.42,120308,,,A*54
+$GPRMC,083313.00,A,5203.25320,N,00421.90937,E,59.125,230.04,120308,,,A*52
+$GPRMC,083314.00,A,5203.24297,N,00421.88934,E,57.911,229.44,120308,,,A*5E
+$GPRMC,083315.00,A,5203.23280,N,00421.86997,E,56.768,228.39,120308,,,A*53
+$GPRMC,083316.00,A,5203.22245,N,00421.85171,E,55.666,225.75,120308,,,A*52
+$GPRMC,083317.00,A,5203.21160,N,00421.83465,E,54.722,222.71,120308,,,A*51
+$GPRMC,083318.00,A,5203.20033,N,00421.81862,E,54.085,220.04,120308,,,A*5B
+$GPRMC,083319.00,A,5203.18862,N,00421.80343,E,54.072,217.45,120308,,,A*5D
+$GPRMC,083320.00,A,5203.17653,N,00421.78923,E,53.495,214.81,120308,,,A*5E
+$GPRMC,083321.00,A,5203.16429,N,00421.77611,E,52.589,212.51,120308,,,A*56
+$GPRMC,083322.00,A,5203.15201,N,00421.76381,E,52.061,210.94,120308,,,A*5F
+$GPRMC,083323.00,A,5203.13965,N,00421.75185,E,51.854,210.91,120308,,,A*5C
+$GPRMC,083324.00,A,5203.12728,N,00421.74004,E,52.033,210.50,120308,,,A*53
+$GPRMC,083325.00,A,5203.11481,N,00421.72815,E,52.608,210.35,120308,,,A*52
+$GPRMC,083326.00,A,5203.10226,N,00421.71581,E,53.486,211.37,120308,,,A*5E
+$GPRMC,083327.00,A,5203.08967,N,00421.70342,E,53.348,211.71,120308,,,A*57
+$GPRMC,083328.00,A,5203.07720,N,00421.69077,E,53.822,212.16,120308,,,A*52
+$GPRMC,083329.00,A,5203.06457,N,00421.67778,E,54.586,212.61,120308,,,A*53
+$GPRMC,083330.00,A,5203.05187,N,00421.66441,E,54.628,213.61,120308,,,A*5E
+$GPRMC,083331.00,A,5203.03937,N,00421.65099,E,53.716,213.55,120308,,,A*54
+$GPRMC,083332.00,A,5203.02695,N,00421.63741,E,53.943,214.47,120308,,,A*5F
+$GPRMC,083333.00,A,5203.01440,N,00421.62333,E,55.224,214.91,120308,,,A*50
+$GPRMC,083334.00,A,5203.00175,N,00421.60860,E,56.330,216.43,120308,,,A*50
+$GPRMC,083335.00,A,5202.98908,N,00421.59315,E,57.386,217.73,120308,,,A*5E
+$GPRMC,083336.00,A,5202.97679,N,00421.57729,E,56.265,218.86,120308,,,A*56
+$GPRMC,083337.00,A,5202.96483,N,00421.56119,E,56.026,220.14,120308,,,A*50
+$GPRMC,083338.00,A,5202.95315,N,00421.54478,E,55.496,221.27,120308,,,A*59
+$GPRMC,083339.00,A,5202.94194,N,00421.52801,E,54.912,222.29,120308,,,A*5B
+$GPRMC,083340.00,A,5202.93086,N,00421.51144,E,54.251,223.04,120308,,,A*59
+$GPRMC,083341.00,A,5202.92010,N,00421.49468,E,53.567,224.52,120308,,,A*55
+$GPRMC,083342.00,A,5202.90977,N,00421.47767,E,53.295,225.69,120308,,,A*5D
+$GPRMC,083343.00,A,5202.89963,N,00421.46040,E,53.014,227.13,120308,,,A*56
+$GPRMC,083344.00,A,5202.88982,N,00421.44243,E,53.620,229.02,120308,,,A*53
+$GPRMC,083345.00,A,5202.88068,N,00421.42388,E,53.274,232.19,120308,,,A*5A
+$GPRMC,083346.00,A,5202.87210,N,00421.40452,E,53.430,235.14,120308,,,A*55
+$GPRMC,083347.00,A,5202.86405,N,00421.38455,E,53.194,236.81,120308,,,A*5B
+$GPRMC,083348.00,A,5202.85684,N,00421.36419,E,52.765,240.00,120308,,,A*5B
+$GPRMC,083349.00,A,5202.85009,N,00421.34325,E,53.111,242.62,120308,,,A*51
+$GPRMC,083350.00,A,5202.84373,N,00421.32128,E,54.164,245.24,120308,,,A*5F
+$GPRMC,083351.00,A,5202.83784,N,00421.29852,E,54.859,247.51,120308,,,A*5C
+$GPRMC,083352.00,A,5202.83273,N,00421.27556,E,53.878,250.64,120308,,,A*51
+$GPRMC,083353.00,A,5202.82854,N,00421.25279,E,52.210,253.38,120308,,,A*59
+$GPRMC,083354.00,A,5202.82508,N,00421.23048,E,50.754,255.72,120308,,,A*53
+$GPRMC,083355.00,A,5202.82192,N,00421.20812,E,50.776,257.80,120308,,,A*5E
+$GPRMC,083356.00,A,5202.81956,N,00421.18551,E,51.626,259.47,120308,,,A*5F
+$GPRMC,083357.00,A,5202.81761,N,00421.16275,E,51.780,259.89,120308,,,A*54
+$GPRMC,083358.00,A,5202.81529,N,00421.13979,E,51.564,259.99,120308,,,A*5E
+$GPRMC,083359.00,A,5202.81299,N,00421.11714,E,50.964,259.29,120308,,,A*52
+$GPRMC,083400.00,A,5202.81028,N,00421.09456,E,51.469,257.69,120308,,,A*56
+$GPRMC,083401.00,A,5202.80732,N,00421.07198,E,51.571,255.45,120308,,,A*57
+$GPRMC,083402.00,A,5202.80365,N,00421.04980,E,51.176,251.68,120308,,,A*58
+$GPRMC,083403.00,A,5202.79892,N,00421.02804,E,51.239,247.66,120308,,,A*56
+$GPRMC,083404.00,A,5202.79317,N,00421.00677,E,52.200,243.90,120308,,,A*5B
+$GPRMC,083405.00,A,5202.78650,N,00420.98599,E,52.428,239.87,120308,,,A*59
+$GPRMC,083406.00,A,5202.77881,N,00420.96645,E,50.891,235.09,120308,,,A*5D
+$GPRMC,083407.00,A,5202.77018,N,00420.94814,E,51.080,230.33,120308,,,A*59
+$GPRMC,083408.00,A,5202.76047,N,00420.93092,E,51.299,225.64,120308,,,A*50
+$GPRMC,083409.00,A,5202.74998,N,00420.91491,E,51.817,222.14,120308,,,A*51
+$GPRMC,083410.00,A,5202.73856,N,00420.89989,E,52.824,217.35,120308,,,A*56
+$GPRMC,083411.00,A,5202.72605,N,00420.88608,E,54.142,212.99,120308,,,A*55
+$GPRMC,083412.00,A,5202.71272,N,00420.87342,E,54.866,208.94,120308,,,A*5C
+$GPRMC,083413.00,A,5202.69811,N,00420.86333,E,55.554,203.63,120308,,,A*52
+$GPRMC,083414.00,A,5202.68349,N,00420.85475,E,55.296,199.50,120308,,,A*5D
+$GPRMC,083415.00,A,5202.66869,N,00420.84780,E,55.195,195.03,120308,,,A*59
+$GPRMC,083416.00,A,5202.65367,N,00420.84300,E,54.877,189.66,120308,,,A*5A
+$GPRMC,083417.00,A,5202.63836,N,00420.84053,E,53.942,184.06,120308,,,A*5C
+$GPRMC,083418.00,A,5202.62312,N,00420.84021,E,54.876,179.90,120308,,,A*56
+$GPRMC,083419.00,A,5202.60784,N,00420.84160,E,54.803,175.29,120308,,,A*56
+$GPRMC,083420.00,A,5202.59246,N,00420.84463,E,55.017,172.96,120308,,,A*54
+$GPRMC,083421.00,A,5202.57714,N,00420.84828,E,55.089,172.52,120308,,,A*55
+$GPRMC,083422.00,A,5202.56176,N,00420.85180,E,55.944,172.00,120308,,,A*50
+$GPRMC,083423.00,A,5202.54634,N,00420.85556,E,55.637,171.44,120308,,,A*55
+$GPRMC,083424.00,A,5202.53108,N,00420.86397,E,56.864,164.09,120308,,,A*53
+$GPRMC,083425.00,A,5202.51661,N,00420.87467,E,53.882,157.46,120308,,,A*57
+$GPRMC,083426.00,A,5202.50471,N,00420.89337,E,54.603,147.31,120308,,,A*5B
+$GPRMC,083427.00,A,5202.49270,N,00420.91092,E,56.299,143.25,120308,,,A*54
+$GPRMC,083428.00,A,5202.48046,N,00420.92827,E,57.281,141.01,120308,,,A*54
+$GPRMC,083429.00,A,5202.46864,N,00420.94637,E,57.861,139.61,120308,,,A*57
+$GPRMC,083430.00,A,5202.45665,N,00420.96403,E,57.945,139.99,120308,,,A*54
+$GPRMC,083431.00,A,5202.44448,N,00420.98180,E,58.232,140.95,120308,,,A*5F
+$GPRMC,083432.00,A,5202.43239,N,00421.00003,E,58.817,142.59,120308,,,A*5E
+$GPRMC,083433.00,A,5202.41980,N,00421.01741,E,58.295,145.05,120308,,,A*5A
+$GPRMC,083434.00,A,5202.40656,N,00421.03338,E,58.743,146.58,120308,,,A*55
+$GPRMC,083435.00,A,5202.39262,N,00421.04812,E,59.891,148.17,120308,,,A*59
+$GPRMC,083436.00,A,5202.37819,N,00421.06276,E,61.183,150.03,120308,,,A*55
+$GPRMC,083437.00,A,5202.36253,N,00421.07541,E,62.820,154.38,120308,,,A*5C
+$GPRMC,083438.00,A,5202.34635,N,00421.08793,E,64.193,156.61,120308,,,A*5E
+$GPRMC,083439.00,A,5202.32944,N,00421.09935,E,65.610,159.08,120308,,,A*5E
+$GPRMC,083440.00,A,5202.31189,N,00421.10962,E,66.759,161.83,120308,,,A*57
+$GPRMC,083441.00,A,5202.29368,N,00421.11828,E,68.054,164.89,120308,,,A*57
+$GPRMC,083442.00,A,5202.27488,N,00421.12602,E,69.424,167.28,120308,,,A*5C
+$GPRMC,083443.00,A,5202.25575,N,00421.13251,E,69.704,169.15,120308,,,A*5E
+$GPRMC,083444.00,A,5202.23667,N,00421.13825,E,69.126,169.78,120308,,,A*5B
+$GPRMC,083445.00,A,5202.21775,N,00421.14357,E,68.395,170.26,120308,,,A*5B
+$GPRMC,083446.00,A,5202.19897,N,00421.14869,E,67.956,170.04,120308,,,A*5C
+$GPRMC,083447.00,A,5202.18032,N,00421.15403,E,67.360,170.12,120308,,,A*52
+$GPRMC,083448.00,A,5202.16178,N,00421.15914,E,66.937,170.42,120308,,,A*5B
+$GPRMC,083449.00,A,5202.14349,N,00421.16418,E,66.279,169.99,120308,,,A*55
+$GPRMC,083450.00,A,5202.12539,N,00421.16941,E,65.844,169.48,120308,,,A*50
+$GPRMC,083451.00,A,5202.10749,N,00421.17457,E,64.793,170.14,120308,,,A*58
+$GPRMC,083452.00,A,5202.08978,N,00421.17938,E,64.098,170.41,120308,,,A*56
+$GPRMC,083453.00,A,5202.07227,N,00421.18419,E,63.529,169.95,120308,,,A*51
+$GPRMC,083454.00,A,5202.05492,N,00421.18923,E,63.059,169.58,120308,,,A*5B
+$GPRMC,083455.00,A,5202.03778,N,00421.19433,E,62.798,168.95,120308,,,A*5D
+$GPRMC,083456.00,A,5202.02077,N,00421.19973,E,62.599,167.72,120308,,,A*5B
+$GPRMC,083457.00,A,5202.00393,N,00421.20589,E,62.482,166.30,120308,,,A*5E
+$GPRMC,083458.00,A,5201.98717,N,00421.21236,E,62.584,165.53,120308,,,A*58
+$GPRMC,083459.00,A,5201.97062,N,00421.22049,E,62.659,162.77,120308,,,A*58
+$GPRMC,083500.00,A,5201.95424,N,00421.22941,E,62.567,160.81,120308,,,A*55
+$GPRMC,083501.00,A,5201.93788,N,00421.23900,E,62.989,159.27,120308,,,A*59
+$GPRMC,083502.00,A,5201.92158,N,00421.24965,E,63.410,156.85,120308,,,A*5F
+$GPRMC,083503.00,A,5201.90546,N,00421.26158,E,63.942,155.35,120308,,,A*51
+$GPRMC,083504.00,A,5201.88931,N,00421.27421,E,64.505,154.38,120308,,,A*5D
+$GPRMC,083505.00,A,5201.87339,N,00421.28778,E,64.969,151.99,120308,,,A*59
+$GPRMC,083506.00,A,5201.85788,N,00421.30253,E,65.172,149.42,120308,,,A*5F
+$GPRMC,083507.00,A,5201.84243,N,00421.31805,E,65.445,147.89,120308,,,A*5D
+$GPRMC,083508.00,A,5201.82717,N,00421.33426,E,66.093,146.27,120308,,,A*56
+$GPRMC,083509.00,A,5201.81205,N,00421.35108,E,66.551,145.53,120308,,,A*56
+$GPRMC,083510.00,A,5201.79688,N,00421.36817,E,66.447,144.90,120308,,,A*54
+$GPRMC,083511.00,A,5201.78161,N,00421.38616,E,67.576,144.07,120308,,,A*59
+$GPRMC,083512.00,A,5201.76644,N,00421.40450,E,67.801,144.01,120308,,,A*50
+$GPRMC,083513.00,A,5201.75123,N,00421.42242,E,67.561,144.31,120308,,,A*5B
+$GPRMC,083514.00,A,5201.73600,N,00421.44024,E,67.522,144.42,120308,,,A*5B
+$GPRMC,083515.00,A,5201.72073,N,00421.45792,E,67.687,144.61,120308,,,A*5F
+$GPRMC,083516.00,A,5201.70550,N,00421.47553,E,67.681,144.47,120308,,,A*55
+$GPRMC,083517.00,A,5201.69030,N,00421.49325,E,67.978,144.27,120308,,,A*59
+$GPRMC,083518.00,A,5201.67510,N,00421.51091,E,67.958,144.44,120308,,,A*5D
+$GPRMC,083519.00,A,5201.65987,N,00421.52895,E,68.145,144.32,120308,,,A*59
+$GPRMC,083520.00,A,5201.64461,N,00421.54698,E,68.286,144.12,120308,,,A*5C
+$GPRMC,083521.00,A,5201.62923,N,00421.56524,E,68.429,144.26,120308,,,A*52
+$GPRMC,083522.00,A,5201.61381,N,00421.58318,E,68.814,144.41,120308,,,A*54
+$GPRMC,083523.00,A,5201.59836,N,00421.60123,E,68.937,144.46,120308,,,A*5F
+$GPRMC,083524.00,A,5201.58268,N,00421.61949,E,69.449,144.51,120308,,,A*5E
+$GPRMC,083525.00,A,5201.56729,N,00421.63756,E,68.621,143.61,120308,,,A*5A
+$GPRMC,083526.00,A,5201.55173,N,00421.65623,E,69.732,143.61,120308,,,A*54
+$GPRMC,083527.00,A,5201.53615,N,00421.67489,E,69.715,143.97,120308,,,A*58
+$GPRMC,083528.00,A,5201.52048,N,00421.69342,E,69.639,144.20,120308,,,A*52
+$GPRMC,083529.00,A,5201.50491,N,00421.71184,E,69.866,144.16,120308,,,A*51
+$GPRMC,083530.00,A,5201.48923,N,00421.72998,E,69.864,143.96,120308,,,A*5F
+$GPRMC,083531.00,A,5201.47356,N,00421.74789,E,68.847,145.29,120308,,,A*53
+$GPRMC,083532.00,A,5201.45794,N,00421.76582,E,69.351,144.27,120308,,,A*51
+$GPRMC,083533.00,A,5201.44241,N,00421.78379,E,69.042,144.16,120308,,,A*53
+$GPRMC,083534.00,A,5201.42692,N,00421.80175,E,68.812,144.33,120308,,,A*5A
+$GPRMC,083535.00,A,5201.41142,N,00421.81976,E,68.990,144.05,120308,,,A*56
+$GPRMC,083536.00,A,5201.39598,N,00421.83758,E,68.330,144.34,120308,,,A*5B
+$GPRMC,083537.00,A,5201.38065,N,00421.85548,E,67.793,144.38,120308,,,A*57
+$GPRMC,083538.00,A,5201.36542,N,00421.87336,E,67.406,144.23,120308,,,A*5E
+$GPRMC,083539.00,A,5201.35030,N,00421.89120,E,67.018,144.24,120308,,,A*5B
+$GPRMC,083540.00,A,5201.33528,N,00421.90894,E,66.569,144.24,120308,,,A*53
+$GPRMC,083541.00,A,5201.32035,N,00421.92641,E,66.211,144.63,120308,,,A*55
+$GPRMC,083542.00,A,5201.30545,N,00421.94388,E,65.968,144.18,120308,,,A*5A
+$GPRMC,083543.00,A,5201.29074,N,00421.96108,E,65.469,144.45,120308,,,A*58
+$GPRMC,083544.00,A,5201.27608,N,00421.97830,E,65.508,144.14,120308,,,A*5D
+$GPRMC,083545.00,A,5201.26142,N,00421.99534,E,65.239,144.32,120308,,,A*52
+$GPRMC,083546.00,A,5201.24665,N,00422.01274,E,65.553,144.26,120308,,,A*5E
+$GPRMC,083547.00,A,5201.23187,N,00422.03016,E,65.634,144.23,120308,,,A*50
+$GPRMC,083548.00,A,5201.21712,N,00422.04749,E,65.653,144.11,120308,,,A*5D
+$GPRMC,083549.00,A,5201.20241,N,00422.06483,E,65.133,144.20,120308,,,A*5A
+$GPRMC,083550.00,A,5201.18775,N,00422.08191,E,65.201,144.29,120308,,,A*58
+$GPRMC,083551.00,A,5201.17302,N,00422.09909,E,65.364,144.42,120308,,,A*55
+$GPRMC,083552.00,A,5201.15831,N,00422.11621,E,65.198,144.34,120308,,,A*53
+$GPRMC,083553.00,A,5201.14358,N,00422.13324,E,65.165,144.73,120308,,,A*54
+$GPRMC,083554.00,A,5201.12887,N,00422.15014,E,65.255,144.46,120308,,,A*5C
+$GPRMC,083555.00,A,5201.11418,N,00422.16728,E,65.382,144.07,120308,,,A*51
+$GPRMC,083556.00,A,5201.09950,N,00422.18445,E,65.285,144.31,120308,,,A*5F
+$GPRMC,083557.00,A,5201.08484,N,00422.20154,E,65.215,144.28,120308,,,A*54
+$GPRMC,083558.00,A,5201.07018,N,00422.21858,E,65.298,144.33,120308,,,A*5E
+$GPRMC,083559.00,A,5201.05552,N,00422.23562,E,65.112,144.56,120308,,,A*52
+$GPRMC,083600.00,A,5201.04085,N,00422.25265,E,65.237,144.41,120308,,,A*57
+$GPRMC,083601.00,A,5201.02618,N,00422.26977,E,65.191,144.23,120308,,,A*52
+$GPRMC,083602.00,A,5201.01155,N,00422.28681,E,65.090,144.20,120308,,,A*57
+$GPRMC,083603.00,A,5200.99687,N,00422.30411,E,65.351,144.08,120308,,,A*58
+$GPRMC,083604.00,A,5200.98227,N,00422.32120,E,65.336,144.17,120308,,,A*5A
+$GPRMC,083605.00,A,5200.96768,N,00422.33811,E,64.805,144.25,120308,,,A*5A
+$GPRMC,083606.00,A,5200.95308,N,00422.35514,E,64.679,144.36,120308,,,A*51
+$GPRMC,083607.00,A,5200.93854,N,00422.37190,E,64.478,144.33,120308,,,A*58
+$GPRMC,083608.00,A,5200.92407,N,00422.38864,E,64.054,144.28,120308,,,A*51
+$GPRMC,083609.00,A,5200.90960,N,00422.40538,E,63.787,144.48,120308,,,A*5D
+$GPRMC,083610.00,A,5200.89522,N,00422.42185,E,63.180,144.78,120308,,,A*55
+$GPRMC,083611.00,A,5200.88088,N,00422.43852,E,63.189,144.41,120308,,,A*51
+$GPRMC,083612.00,A,5200.86675,N,00422.45489,E,62.258,144.28,120308,,,A*55
+$GPRMC,083613.00,A,5200.85279,N,00422.47106,E,62.115,144.35,120308,,,A*59
+$GPRMC,083614.00,A,5200.83869,N,00422.48744,E,63.162,144.40,120308,,,A*5F
+$GPRMC,083615.00,A,5200.82430,N,00422.50431,E,64.494,144.06,120308,,,A*5E
+$GPRMC,083616.00,A,5200.80960,N,00422.52157,E,65.850,144.21,120308,,,A*50
+$GPRMC,083617.00,A,5200.79461,N,00422.53911,E,66.936,144.23,120308,,,A*50
+$GPRMC,083618.00,A,5200.77944,N,00422.55690,E,67.614,144.16,120308,,,A*53
+$GPRMC,083619.00,A,5200.76416,N,00422.57480,E,68.169,143.98,120308,,,A*5B
+$GPRMC,083620.00,A,5200.74874,N,00422.59277,E,68.644,144.35,120308,,,A*53
+$GPRMC,083621.00,A,5200.73325,N,00422.61079,E,68.762,144.36,120308,,,A*5B
+$GPRMC,083622.00,A,5200.71772,N,00422.62878,E,68.656,144.42,120308,,,A*53
+$GPRMC,083623.00,A,5200.70223,N,00422.64676,E,68.594,144.26,120308,,,A*5B
+$GPRMC,083624.00,A,5200.68677,N,00422.66466,E,68.645,144.38,120308,,,A*51
+$GPRMC,083625.00,A,5200.67121,N,00422.68271,E,68.729,144.53,120308,,,A*53
+$GPRMC,083626.00,A,5200.65568,N,00422.70069,E,68.731,144.44,120308,,,A*56
+$GPRMC,083627.00,A,5200.64016,N,00422.71870,E,68.842,144.32,120308,,,A*51
+$GPRMC,083628.00,A,5200.62462,N,00422.73680,E,68.891,144.34,120308,,,A*54
+$GPRMC,083629.00,A,5200.60911,N,00422.75485,E,68.710,144.24,120308,,,A*58
+$GPRMC,083630.00,A,5200.59364,N,00422.77297,E,68.505,144.18,120308,,,A*5C
+$GPRMC,083631.00,A,5200.57815,N,00422.79111,E,68.508,144.40,120308,,,A*5D
+$GPRMC,083632.00,A,5200.56267,N,00422.80920,E,68.508,144.21,120308,,,A*5B
+$GPRMC,083633.00,A,5200.54723,N,00422.82729,E,68.339,144.39,120308,,,A*55
+$GPRMC,083634.00,A,5200.53176,N,00422.84536,E,68.420,144.39,120308,,,A*56
+$GPRMC,083635.00,A,5200.51630,N,00422.86345,E,68.338,144.28,120308,,,A*5E
+$GPRMC,083636.00,A,5200.50093,N,00422.88144,E,67.780,144.30,120308,,,A*5F
+$GPRMC,083637.00,A,5200.48570,N,00422.89923,E,67.183,144.36,120308,,,A*54
+$GPRMC,083638.00,A,5200.47059,N,00422.91686,E,66.774,144.37,120308,,,A*5D
+$GPRMC,083639.00,A,5200.45555,N,00422.93441,E,66.373,144.33,120308,,,A*5B
+$GPRMC,083640.00,A,5200.44060,N,00422.95182,E,66.180,144.33,120308,,,A*55
+$GPRMC,083641.00,A,5200.42572,N,00422.96910,E,65.803,144.48,120308,,,A*59
+$GPRMC,083642.00,A,5200.41093,N,00422.98639,E,65.148,144.16,120308,,,A*54
+$GPRMC,083643.00,A,5200.39611,N,00423.00359,E,65.833,144.62,120308,,,A*53
+$GPRMC,083644.00,A,5200.38107,N,00423.02089,E,66.269,144.95,120308,,,A*57
+$GPRMC,083645.00,A,5200.36595,N,00423.03757,E,66.095,145.89,120308,,,A*5F
+$GPRMC,083646.00,A,5200.35061,N,00423.05381,E,66.069,147.20,120308,,,A*5A
+$GPRMC,083647.00,A,5200.33502,N,00423.06941,E,66.094,149.18,120308,,,A*5F
+$GPRMC,083648.00,A,5200.31899,N,00423.08434,E,66.698,150.93,120308,,,A*5D
+$GPRMC,083649.00,A,5200.30257,N,00423.09845,E,67.084,152.89,120308,,,A*5D
+$GPRMC,083650.00,A,5200.28573,N,00423.11173,E,67.223,154.75,120308,,,A*52
+$GPRMC,083651.00,A,5200.26860,N,00423.12438,E,67.256,156.72,120308,,,A*5C
+$GPRMC,083652.00,A,5200.25108,N,00423.13617,E,67.361,158.67,120308,,,A*5A
+$GPRMC,083653.00,A,5200.23307,N,00423.14694,E,67.942,160.98,120308,,,A*5C
+$GPRMC,083654.00,A,5200.21499,N,00423.15659,E,67.904,162.60,120308,,,A*5E
+$GPRMC,083655.00,A,5200.19691,N,00423.16509,E,67.765,163.99,120308,,,A*55
+$GPRMC,083656.00,A,5200.17879,N,00423.17302,E,67.186,164.77,120308,,,A*50
+$GPRMC,083657.00,A,5200.16071,N,00423.18085,E,66.751,165.24,120308,,,A*59
+$GPRMC,083658.00,A,5200.14269,N,00423.18849,E,66.363,165.38,120308,,,A*5F
+$GPRMC,083659.00,A,5200.12475,N,00423.19615,E,66.158,165.04,120308,,,A*50
+$GPRMC,083700.00,A,5200.10690,N,00423.20387,E,66.114,164.91,120308,,,A*57
+$GPRMC,083701.00,A,5200.08905,N,00423.21164,E,66.192,164.78,120308,,,A*5B
+$GPRMC,083702.00,A,5200.07115,N,00423.21941,E,66.374,165.11,120308,,,A*55
+$GPRMC,083703.00,A,5200.05326,N,00423.22703,E,66.314,165.18,120308,,,A*50
+$GPRMC,083704.00,A,5200.03534,N,00423.23465,E,66.541,165.27,120308,,,A*5C
+$GPRMC,083705.00,A,5200.01734,N,00423.24222,E,66.892,165.42,120308,,,A*5F
+$GPRMC,083706.00,A,5159.99927,N,00423.24988,E,67.116,165.17,120308,,,A*51
+$GPRMC,083707.00,A,5159.98114,N,00423.25767,E,67.502,165.14,120308,,,A*55
+$GPRMC,083708.00,A,5159.96293,N,00423.26554,E,67.744,164.94,120308,,,A*50
+$GPRMC,083709.00,A,5159.94474,N,00423.27339,E,67.580,165.28,120308,,,A*5C
+$GPRMC,083710.00,A,5159.92649,N,00423.28121,E,67.994,165.32,120308,,,A*58
+$GPRMC,083711.00,A,5159.90816,N,00423.28916,E,68.362,164.85,120308,,,A*52
+$GPRMC,083712.00,A,5159.88978,N,00423.29715,E,68.758,165.00,120308,,,A*5C
+$GPRMC,083713.00,A,5159.87125,N,00423.30512,E,69.000,165.24,120308,,,A*52
+$GPRMC,083714.00,A,5159.85265,N,00423.31303,E,69.495,165.13,120308,,,A*5B
+$GPRMC,083715.00,A,5159.83379,N,00423.32036,E,70.782,167.24,120308,,,A*5D
+$GPRMC,083716.00,A,5159.81482,N,00423.32791,E,70.317,165.90,120308,,,A*50
+$GPRMC,083717.00,A,5159.79606,N,00423.33619,E,69.936,164.98,120308,,,A*50
+$GPRMC,083718.00,A,5159.77737,N,00423.34408,E,69.751,165.04,120308,,,A*5C
+$GPRMC,083719.00,A,5159.75848,N,00423.35215,E,69.560,165.22,120308,,,A*57
+$GPRMC,083720.00,A,5159.73998,N,00423.36007,E,69.365,165.05,120308,,,A*53
+$GPRMC,083721.00,A,5159.72121,N,00423.36810,E,69.667,165.18,120308,,,A*5C
+$GPRMC,083722.00,A,5159.70253,N,00423.37639,E,69.161,165.07,120308,,,A*50
+$GPRMC,083723.00,A,5159.68412,N,00423.38452,E,68.761,164.95,120308,,,A*56
+$GPRMC,083724.00,A,5159.66569,N,00423.39257,E,68.648,165.03,120308,,,A*54
+$GPRMC,083725.00,A,5159.64718,N,00423.40064,E,68.646,165.11,120308,,,A*52
+$GPRMC,083726.00,A,5159.62855,N,00423.40892,E,68.615,165.13,120308,,,A*54
+$GPRMC,083727.00,A,5159.61001,N,00423.41690,E,68.548,165.34,120308,,,A*5C
+$GPRMC,083728.00,A,5159.59155,N,00423.42483,E,68.489,165.01,120308,,,A*51
+$GPRMC,083729.00,A,5159.57314,N,00423.43276,E,68.556,165.44,120308,,,A*56
+$GPRMC,083730.00,A,5159.55477,N,00423.44053,E,68.148,165.47,120308,,,A*54
+$GPRMC,083731.00,A,5159.53652,N,00423.44840,E,68.103,164.97,120308,,,A*5F
+$GPRMC,083732.00,A,5159.51831,N,00423.45643,E,67.824,164.85,120308,,,A*59
+$GPRMC,083733.00,A,5159.50013,N,00423.46433,E,67.744,165.09,120308,,,A*5B
+$GPRMC,083734.00,A,5159.48203,N,00423.47205,E,67.516,165.22,120308,,,A*58
+$GPRMC,083735.00,A,5159.46405,N,00423.47969,E,66.789,165.36,120308,,,A*56
+$GPRMC,083736.00,A,5159.44620,N,00423.48772,E,67.132,164.34,120308,,,A*5D
+$GPRMC,083737.00,A,5159.42823,N,00423.49521,E,66.868,165.52,120308,,,A*54
+$GPRMC,083738.00,A,5159.41042,N,00423.50243,E,66.609,165.25,120308,,,A*55
+$GPRMC,083739.00,A,5159.39261,N,00423.50979,E,66.463,165.10,120308,,,A*52
+$GPRMC,083740.00,A,5159.37485,N,00423.51725,E,66.457,165.06,120308,,,A*58
+$GPRMC,083741.00,A,5159.35693,N,00423.52527,E,66.593,165.26,120308,,,A*56
+$GPRMC,083742.00,A,5159.33892,N,00423.53298,E,66.694,165.28,120308,,,A*54
+$GPRMC,083743.00,A,5159.32089,N,00423.54081,E,66.655,165.12,120308,,,A*5F
+$GPRMC,083744.00,A,5159.30294,N,00423.54849,E,66.800,164.98,120308,,,A*55
+$GPRMC,083745.00,A,5159.28488,N,00423.55623,E,66.952,165.00,120308,,,A*53
+$GPRMC,083746.00,A,5159.26692,N,00423.56396,E,66.727,165.10,120308,,,A*52
+$GPRMC,083747.00,A,5159.24905,N,00423.57129,E,66.684,165.35,120308,,,A*58
+$GPRMC,083748.00,A,5159.23115,N,00423.57892,E,66.805,165.30,120308,,,A*52
+$GPRMC,083749.00,A,5159.21325,N,00423.58630,E,66.375,165.59,120308,,,A*5A
+$GPRMC,083750.00,A,5159.19547,N,00423.59360,E,65.458,165.38,120308,,,A*56
+$GPRMC,083751.00,A,5159.17799,N,00423.60090,E,64.674,165.15,120308,,,A*5C
+$GPRMC,083752.00,A,5159.16080,N,00423.60815,E,63.236,165.16,120308,,,A*52
+$GPRMC,083753.00,A,5159.14395,N,00423.61531,E,62.043,165.09,120308,,,A*53
+$GPRMC,083754.00,A,5159.12742,N,00423.62252,E,61.077,165.18,120308,,,A*59
+$GPRMC,083755.00,A,5159.11107,N,00423.62954,E,60.429,165.64,120308,,,A*54
+$GPRMC,083756.00,A,5159.09497,N,00423.63639,E,59.844,165.16,120308,,,A*5F
+$GPRMC,083757.00,A,5159.07902,N,00423.64309,E,59.302,165.33,120308,,,A*5E
+$GPRMC,083758.00,A,5159.06312,N,00423.64983,E,59.489,164.98,120308,,,A*57
+$GPRMC,083759.00,A,5159.04711,N,00423.65677,E,60.637,164.66,120308,,,A*5A
+$GPRMC,083800.00,A,5159.03094,N,00423.66372,E,60.505,165.18,120308,,,A*5D
+$GPRMC,083801.00,A,5159.01476,N,00423.67062,E,60.770,165.23,120308,,,A*5D
+$GPRMC,083802.00,A,5158.99835,N,00423.67768,E,62.120,165.18,120308,,,A*51
+$GPRMC,083803.00,A,5158.98162,N,00423.68476,E,62.808,165.33,120308,,,A*53
+$GPRMC,083804.00,A,5158.96466,N,00423.69192,E,63.749,165.33,120308,,,A*5E
+$GPRMC,083805.00,A,5158.94756,N,00423.69905,E,64.093,165.42,120308,,,A*5A
+$GPRMC,083806.00,A,5158.93032,N,00423.70669,E,64.584,165.15,120308,,,A*57
+$GPRMC,083807.00,A,5158.91329,N,00423.71337,E,63.910,165.60,120308,,,A*56
+$GPRMC,083808.00,A,5158.89613,N,00423.72045,E,63.993,165.67,120308,,,A*55
+$GPRMC,083809.00,A,5158.87880,N,00423.72802,E,64.261,165.38,120308,,,A*5E
+$GPRMC,083810.00,A,5158.86156,N,00423.73520,E,64.249,165.11,120308,,,A*58
+$GPRMC,083811.00,A,5158.84441,N,00423.74233,E,64.007,165.34,120308,,,A*55
+$GPRMC,083812.00,A,5158.82725,N,00423.74945,E,64.310,165.17,120308,,,A*5F
+$GPRMC,083813.00,A,5158.80999,N,00423.75689,E,64.376,165.26,120308,,,A*59
+$GPRMC,083814.00,A,5158.79273,N,00423.76413,E,64.531,165.20,120308,,,A*56
+$GPRMC,083815.00,A,5158.77548,N,00423.77140,E,64.285,165.30,120308,,,A*5D
+$GPRMC,083816.00,A,5158.75833,N,00423.77866,E,63.786,165.22,120308,,,A*52
+$GPRMC,083817.00,A,5158.74134,N,00423.78595,E,63.375,164.91,120308,,,A*53
+$GPRMC,083818.00,A,5158.72438,N,00423.79323,E,62.847,165.30,120308,,,A*58
+$GPRMC,083819.00,A,5158.70751,N,00423.80030,E,62.141,165.77,120308,,,A*5C
+$GPRMC,083820.00,A,5158.69064,N,00423.80729,E,62.513,165.59,120308,,,A*5F
+$GPRMC,083821.00,A,5158.67371,N,00423.81453,E,62.930,164.84,120308,,,A*54
+$GPRMC,083822.00,A,5158.65682,N,00423.82184,E,62.677,165.23,120308,,,A*50
+$GPRMC,083823.00,A,5158.63989,N,00423.82900,E,62.839,165.35,120308,,,A*54
+$GPRMC,083824.00,A,5158.62297,N,00423.83633,E,62.939,164.68,120308,,,A*50
+$GPRMC,083825.00,A,5158.60604,N,00423.84386,E,63.207,164.79,120308,,,A*56
+$GPRMC,083826.00,A,5158.58908,N,00423.85122,E,63.559,165.09,120308,,,A*5A
+$GPRMC,083827.00,A,5158.57206,N,00423.85847,E,63.928,165.40,120308,,,A*5C
+$GPRMC,083828.00,A,5158.55497,N,00423.86562,E,63.955,165.55,120308,,,A*58
+$GPRMC,083829.00,A,5158.53785,N,00423.87266,E,63.916,165.42,120308,,,A*5C
+$GPRMC,083830.00,A,5158.52079,N,00423.87989,E,64.089,164.91,120308,,,A*5C
+$GPRMC,083831.00,A,5158.50373,N,00423.88714,E,64.038,164.95,120308,,,A*5D
+$GPRMC,083832.00,A,5158.48659,N,00423.89463,E,64.010,165.15,120308,,,A*5B
+$GPRMC,083833.00,A,5158.46948,N,00423.90192,E,64.353,165.09,120308,,,A*51
+$GPRMC,083834.00,A,5158.45224,N,00423.90927,E,64.476,165.46,120308,,,A*59
+$GPRMC,083835.00,A,5158.43501,N,00423.91654,E,64.495,165.15,120308,,,A*5F
+$GPRMC,083836.00,A,5158.41784,N,00423.92397,E,64.040,165.18,120308,,,A*59
+$GPRMC,083837.00,A,5158.40064,N,00423.93131,E,63.974,165.31,120308,,,A*5D
+$GPRMC,083838.00,A,5158.38348,N,00423.93858,E,63.970,165.31,120308,,,A*52
+$GPRMC,083839.00,A,5158.36631,N,00423.94586,E,64.128,165.11,120308,,,A*5F
+$GPRMC,083840.00,A,5158.34908,N,00423.95323,E,64.127,165.12,120308,,,A*52
+$GPRMC,083841.00,A,5158.33188,N,00423.96062,E,64.079,165.09,120308,,,A*51
+$GPRMC,083842.00,A,5158.31474,N,00423.96807,E,63.186,164.93,120308,,,A*59
+$GPRMC,083843.00,A,5158.29789,N,00423.97571,E,62.217,164.08,120308,,,A*55
+$GPRMC,083844.00,A,5158.28135,N,00423.98371,E,61.700,162.83,120308,,,A*5E
+$GPRMC,083845.00,A,5158.26513,N,00423.99222,E,61.167,161.03,120308,,,A*5B
+$GPRMC,083846.00,A,5158.24920,N,00424.00165,E,61.298,158.83,120308,,,A*50
+$GPRMC,083847.00,A,5158.23349,N,00424.01217,E,61.106,157.04,120308,,,A*50
+$GPRMC,083848.00,A,5158.21799,N,00424.02345,E,60.902,155.12,120308,,,A*59
+$GPRMC,083849.00,A,5158.20277,N,00424.03531,E,60.507,154.11,120308,,,A*53
+$GPRMC,083850.00,A,5158.18758,N,00424.04738,E,60.960,154.18,120308,,,A*50
+$GPRMC,083851.00,A,5158.17233,N,00424.05943,E,61.100,154.44,120308,,,A*53
+$GPRMC,083852.00,A,5158.15711,N,00424.07144,E,60.513,154.26,120308,,,A*59
+$GPRMC,083853.00,A,5158.14215,N,00424.08327,E,59.546,154.31,120308,,,A*5C
+$GPRMC,083854.00,A,5158.12730,N,00424.09499,E,59.805,154.26,120308,,,A*50
+$GPRMC,083855.00,A,5158.11244,N,00424.10668,E,59.754,154.26,120308,,,A*5B
+$GPRMC,083856.00,A,5158.09759,N,00424.11842,E,59.515,154.28,120308,,,A*56
+$GPRMC,083857.00,A,5158.08287,N,00424.12992,E,58.824,154.42,120308,,,A*5D
+$GPRMC,083858.00,A,5158.06830,N,00424.14134,E,58.431,154.22,120308,,,A*56
+$GPRMC,083859.00,A,5158.05372,N,00424.15285,E,58.509,154.16,120308,,,A*5C
+$GPRMC,083900.00,A,5158.03910,N,00424.16458,E,58.489,154.01,120308,,,A*53
+$GPRMC,083901.00,A,5158.02468,N,00424.17582,E,57.807,154.12,120308,,,A*51
+$GPRMC,083902.00,A,5158.01030,N,00424.18747,E,57.434,153.84,120308,,,A*58
+$GPRMC,083903.00,A,5157.99613,N,00424.19874,E,56.825,154.08,120308,,,A*50
+$GPRMC,083904.00,A,5157.98203,N,00424.20993,E,56.163,154.54,120308,,,A*53
+$GPRMC,083905.00,A,5157.96794,N,00424.22112,E,56.102,154.46,120308,,,A*50
+$GPRMC,083906.00,A,5157.95414,N,00424.23185,E,54.644,154.16,120308,,,A*56
+$GPRMC,083907.00,A,5157.94085,N,00424.24230,E,52.933,153.87,120308,,,A*56
+$GPRMC,083908.00,A,5157.92774,N,00424.25252,E,51.569,154.12,120308,,,A*58
+$GPRMC,083909.00,A,5157.91515,N,00424.26246,E,50.598,154.04,120308,,,A*51
+$GPRMC,083910.00,A,5157.90261,N,00424.27231,E,51.605,154.09,120308,,,A*56
+$GPRMC,083911.00,A,5157.88969,N,00424.28266,E,52.981,153.77,120308,,,A*5E
+$GPRMC,083912.00,A,5157.87658,N,00424.29309,E,53.601,154.02,120308,,,A*55
+$GPRMC,083913.00,A,5157.86320,N,00424.30371,E,54.420,154.21,120308,,,A*5F
+$GPRMC,083914.00,A,5157.84952,N,00424.31448,E,55.357,154.31,120308,,,A*5E
+$GPRMC,083915.00,A,5157.83561,N,00424.32536,E,56.235,154.40,120308,,,A*5F
+$GPRMC,083916.00,A,5157.82159,N,00424.33630,E,56.331,154.29,120308,,,A*5C
+$GPRMC,083917.00,A,5157.80753,N,00424.34738,E,56.733,154.52,120308,,,A*57
+$GPRMC,083918.00,A,5157.79343,N,00424.35840,E,56.434,154.23,120308,,,A*58
+$GPRMC,083919.00,A,5157.77950,N,00424.36933,E,55.191,154.41,120308,,,A*54
+$GPRMC,083920.00,A,5157.76581,N,00424.37999,E,55.137,154.05,120308,,,A*52
+$GPRMC,083921.00,A,5157.75208,N,00424.39068,E,54.854,154.39,120308,,,A*5D
+$GPRMC,083922.00,A,5157.73838,N,00424.40133,E,54.584,154.29,120308,,,A*51
+$GPRMC,083923.00,A,5157.72482,N,00424.41180,E,53.770,154.73,120308,,,A*54
+$GPRMC,083924.00,A,5157.71143,N,00424.42186,E,52.134,155.56,120308,,,A*5C
+$GPRMC,083925.00,A,5157.69842,N,00424.43132,E,50.429,156.31,120308,,,A*5B
+$GPRMC,083926.00,A,5157.68575,N,00424.44028,E,49.063,156.58,120308,,,A*50
+$GPRMC,083927.00,A,5157.67336,N,00424.44926,E,48.734,155.52,120308,,,A*55
+$GPRMC,083928.00,A,5157.66117,N,00424.45852,E,48.390,154.46,120308,,,A*57
+$GPRMC,083929.00,A,5157.64923,N,00424.46747,E,47.103,154.30,120308,,,A*55
+$GPRMC,083930.00,A,5157.63755,N,00424.47647,E,46.899,154.36,120308,,,A*58
+$GPRMC,083931.00,A,5157.62584,N,00424.48550,E,46.984,154.74,120308,,,A*57
+$GPRMC,083932.00,A,5157.61401,N,00424.49477,E,47.234,154.33,120308,,,A*5C
+$GPRMC,083933.00,A,5157.60230,N,00424.50381,E,47.142,154.12,120308,,,A*5F
+$GPRMC,083934.00,A,5157.59048,N,00424.51348,E,47.118,153.93,120308,,,A*5A
+$GPRMC,083935.00,A,5157.57869,N,00424.52270,E,47.267,154.30,120308,,,A*52
+$GPRMC,083936.00,A,5157.56688,N,00424.53187,E,47.153,154.44,120308,,,A*5C
+$GPRMC,083937.00,A,5157.55509,N,00424.54103,E,46.765,154.47,120308,,,A*5E
+$GPRMC,083938.00,A,5157.54329,N,00424.55025,E,47.485,154.29,120308,,,A*54
+$GPRMC,083939.00,A,5157.53131,N,00424.55956,E,48.129,154.39,120308,,,A*59
+$GPRMC,083940.00,A,5157.51914,N,00424.56899,E,48.864,154.23,120308,,,A*50
+$GPRMC,083941.00,A,5157.50696,N,00424.57853,E,48.518,154.48,120308,,,A*59
+$GPRMC,083942.00,A,5157.49473,N,00424.58806,E,48.978,154.28,120308,,,A*58
+$GPRMC,083943.00,A,5157.48254,N,00424.59764,E,48.330,154.42,120308,,,A*5B
+$GPRMC,083944.00,A,5157.47052,N,00424.60698,E,47.659,154.39,120308,,,A*56
+$GPRMC,083945.00,A,5157.45867,N,00424.61634,E,47.017,154.23,120308,,,A*5B
+$GPRMC,083946.00,A,5157.44704,N,00424.62544,E,46.292,154.21,120308,,,A*58
+$GPRMC,083947.00,A,5157.43559,N,00424.63440,E,45.537,154.19,120308,,,A*50
+$GPRMC,083948.00,A,5157.42437,N,00424.64304,E,44.538,154.74,120308,,,A*52
+$GPRMC,083949.00,A,5157.41343,N,00424.65128,E,43.224,155.60,120308,,,A*50
+$GPRMC,083950.00,A,5157.40268,N,00424.65908,E,42.392,156.38,120308,,,A*58
+$GPRMC,083951.00,A,5157.39223,N,00424.66639,E,41.039,156.81,120308,,,A*55
+$GPRMC,083952.00,A,5157.38200,N,00424.67368,E,40.322,155.94,120308,,,A*59
+$GPRMC,083953.00,A,5157.37210,N,00424.68109,E,39.291,155.22,120308,,,A*56
+$GPRMC,083954.00,A,5157.36239,N,00424.68855,E,38.808,154.66,120308,,,A*51
+$GPRMC,083955.00,A,5157.35274,N,00424.69613,E,38.587,154.44,120308,,,A*5D
+$GPRMC,083956.00,A,5157.34312,N,00424.70368,E,38.808,154.03,120308,,,A*56
+$GPRMC,083957.00,A,5157.33346,N,00424.71132,E,38.973,153.94,120308,,,A*59
+$GPRMC,083958.00,A,5157.32376,N,00424.71900,E,39.032,154.26,120308,,,A*5E
+$GPRMC,083959.00,A,5157.31401,N,00424.72663,E,38.967,154.27,120308,,,A*5B
+$GPRMC,084000.00,A,5157.30424,N,00424.73426,E,39.080,154.34,120308,,,A*5E
+$GPRMC,084001.00,A,5157.29440,N,00424.74186,E,39.106,154.48,120308,,,A*59
+$GPRMC,084002.00,A,5157.28459,N,00424.74943,E,39.035,154.41,120308,,,A*5A
+$GPRMC,084003.00,A,5157.27482,N,00424.75699,E,38.804,154.70,120308,,,A*52
+$GPRMC,084004.00,A,5157.26509,N,00424.76444,E,38.735,154.59,120308,,,A*51
+$GPRMC,084005.00,A,5157.25519,N,00424.77194,E,39.719,155.41,120308,,,A*5C
+$GPRMC,084006.00,A,5157.24507,N,00424.77932,E,40.096,155.78,120308,,,A*51
+$GPRMC,084007.00,A,5157.23500,N,00424.78689,E,39.769,155.07,120308,,,A*51
+$GPRMC,084008.00,A,5157.22506,N,00424.79409,E,39.615,155.28,120308,,,A*55
+$GPRMC,084009.00,A,5157.21535,N,00424.80101,E,38.475,155.87,120308,,,A*5C
+$GPRMC,084010.00,A,5157.20576,N,00424.80829,E,37.918,155.20,120308,,,A*55
+$GPRMC,084011.00,A,5157.19630,N,00424.81527,E,37.335,154.87,120308,,,A*54
+$GPRMC,084012.00,A,5157.18696,N,00424.82286,E,37.449,154.52,120308,,,A*51
+$GPRMC,084013.00,A,5157.17754,N,00424.83050,E,37.438,153.83,120308,,,A*55
+$GPRMC,084014.00,A,5157.16821,N,00424.83771,E,36.813,153.67,120308,,,A*54
+$GPRMC,084015.00,A,5157.15897,N,00424.84469,E,36.398,154.11,120308,,,A*58
+$GPRMC,084016.00,A,5157.14977,N,00424.85146,E,36.211,154.67,120308,,,A*5D
+$GPRMC,084017.00,A,5157.14074,N,00424.85808,E,35.455,154.38,120308,,,A*5A
+$GPRMC,084018.00,A,5157.13200,N,00424.86480,E,34.517,153.80,120308,,,A*5E
+$GPRMC,084019.00,A,5157.12346,N,00424.87136,E,33.814,153.66,120308,,,A*55
+$GPRMC,084020.00,A,5157.11507,N,00424.87790,E,33.095,154.12,120308,,,A*50
+$GPRMC,084021.00,A,5157.10693,N,00424.88421,E,32.424,154.40,120308,,,A*50
+$GPRMC,084022.00,A,5157.09884,N,00424.88987,E,31.538,157.54,120308,,,A*5B
+$GPRMC,084023.00,A,5157.09060,N,00424.89440,E,30.880,163.05,120308,,,A*53
+$GPRMC,084024.00,A,5157.08258,N,00424.89718,E,28.819,169.21,120308,,,A*57
+$GPRMC,084025.00,A,5157.07493,N,00424.89808,E,27.591,175.75,120308,,,A*58
+$GPRMC,084026.00,A,5157.06764,N,00424.89761,E,25.451,180.90,120308,,,A*5F
+$GPRMC,084027.00,A,5157.06100,N,00424.89615,E,23.852,185.78,120308,,,A*52
+$GPRMC,084028.00,A,5157.05477,N,00424.89456,E,22.762,188.28,120308,,,A*5B
+$GPRMC,084029.00,A,5157.04926,N,00424.89290,E,21.119,191.85,120308,,,A*58
+$GPRMC,084030.00,A,5157.04394,N,00424.89061,E,21.443,194.24,120308,,,A*5B
+$GPRMC,084031.00,A,5157.03855,N,00424.88764,E,21.258,194.01,120308,,,A*53
+$GPRMC,084032.00,A,5157.03322,N,00424.88537,E,20.629,192.94,120308,,,A*56
+$GPRMC,084033.00,A,5157.02786,N,00424.88318,E,20.106,191.95,120308,,,A*5F
+$GPRMC,084034.00,A,5157.02265,N,00424.88135,E,18.648,184.50,120308,,,A*56
+$GPRMC,084035.00,A,5157.01793,N,00424.88159,E,16.431,177.93,120308,,,A*53
+$GPRMC,084036.00,A,5157.01316,N,00424.88312,E,16.744,164.71,120308,,,A*5B
+$GPRMC,084037.00,A,5157.00890,N,00424.88564,E,16.287,157.02,120308,,,A*57
+$GPRMC,084038.00,A,5157.00474,N,00424.88955,E,16.808,148.20,120308,,,A*53
+$GPRMC,084039.00,A,5157.00098,N,00424.89362,E,16.480,147.39,120308,,,A*50
+$GPRMC,084040.00,A,5156.99744,N,00424.89751,E,15.837,147.03,120308,,,A*57
+$GPRMC,084041.00,A,5156.99443,N,00424.90055,E,11.678,148.29,120308,,,A*5F
+$GPRMC,084042.00,A,5156.99232,N,00424.90298,E,6.671,147.37,120308,,,A*60
+$GPRMC,084043.00,A,5156.99165,N,00424.90379,E,1.995,147.92,120308,,,A*63
+$GPRMC,084044.00,A,5156.99170,N,00424.90386,E,0.772,147.70,120308,,,A*6A
+$GPRMC,084045.00,A,5156.99192,N,00424.90374,E,0.111,147.75,120308,,,A*6C
+$GPRMC,084046.00,A,5156.99215,N,00424.90354,E,0.007,,120308,,,A*79
+$GPRMC,084047.00,A,5156.99236,N,00424.90336,E,0.009,,120308,,,A*73
+$GPRMC,084048.00,A,5156.99255,N,00424.90323,E,0.116,146.60,120308,,,A*69
+$GPRMC,084049.00,A,5156.99267,N,00424.90315,E,0.036,150.78,120308,,,A*61
+$GPRMC,084050.00,A,5156.99277,N,00424.90323,E,0.317,148.60,120308,,,A*6D
+$GPRMC,084051.00,A,5156.99282,N,00424.90329,E,0.065,153.09,120308,,,A*6F
+$GPRMC,084052.00,A,5156.99289,N,00424.90322,E,0.099,157.61,120308,,,A*65
+$GPRMC,084053.00,A,5156.99295,N,00424.90309,E,0.073,156.42,120308,,,A*64
+$GPRMC,084054.00,A,5156.99296,N,00424.90313,E,0.012,,120308,,,A*76
+$GPRMC,084055.00,A,5156.99296,N,00424.90312,E,0.024,155.35,120308,,,A*6A
+$GPRMC,084056.00,A,5156.99294,N,00424.90317,E,0.089,159.83,120308,,,A*68
+$GPRMC,084057.00,A,5156.99297,N,00424.90308,E,0.039,163.96,120308,,,A*62
+$GPRMC,084058.00,A,5156.99298,N,00424.90301,E,0.185,162.56,120308,,,A*60
+$GPRMC,084059.00,A,5156.99294,N,00424.90318,E,0.042,160.43,120308,,,A*69
+$GPRMC,084100.00,A,5156.99288,N,00424.90338,E,0.130,159.11,120308,,,A*62
+$GPRMC,084101.00,A,5156.99288,N,00424.90333,E,0.051,162.85,120308,,,A*6B
+$GPRMC,084102.00,A,5156.99287,N,00424.90339,E,0.165,166.99,120308,,,A*62
+$GPRMC,084103.00,A,5156.99288,N,00424.90337,E,0.143,165.27,120308,,,A*60
+$GPRMC,084104.00,A,5156.99288,N,00424.90341,E,0.063,169.16,120308,,,A*6B
+$GPRMC,084105.00,A,5156.99287,N,00424.90342,E,0.034,167.32,120308,,,A*6C
+$GPRMC,084106.00,A,5156.99285,N,00424.90348,E,0.002,,120308,,,A*7D
+$GPRMC,084107.00,A,5156.99279,N,00424.90363,E,0.082,171.15,120308,,,A*63
+$GPRMC,084108.00,A,5156.99274,N,00424.90370,E,0.183,175.09,120308,,,A*6A
+$GPRMC,084109.00,A,5156.99271,N,00424.90374,E,0.021,173.60,120308,,,A*6A
+$GPRMC,084110.00,A,5156.99261,N,00424.90398,E,0.103,171.70,120308,,,A*63
+$GPRMC,084111.00,A,5156.99257,N,00424.90410,E,0.129,170.09,120308,,,A*67
+$GPRMC,084112.00,A,5156.99249,N,00424.90433,E,0.004,,120308,,,A*75
+$GPRMC,084113.00,A,5156.99246,N,00424.90448,E,0.010,,120308,,,A*72
+$GPRMC,084114.00,A,5156.99244,N,00424.90456,E,0.111,173.92,120308,,,A*68
+$GPRMC,084115.00,A,5156.99244,N,00424.90457,E,0.014,,120308,,,A*7C
+$GPRMC,084116.00,A,5156.99241,N,00424.90471,E,0.084,172.41,120308,,,A*68
+$GPRMC,084117.00,A,5156.99241,N,00424.90473,E,0.013,,120308,,,A*7A
+$GPRMC,084118.00,A,5156.99243,N,00424.90465,E,0.027,176.82,120308,,,A*63
+$GPRMC,084119.00,A,5156.99245,N,00424.90454,E,0.023,175.50,120308,,,A*6E
+$GPRMC,084120.00,A,5156.99247,N,00424.90438,E,0.060,179.03,120308,,,A*61
+$GPRMC,084121.00,A,5156.99250,N,00424.90426,E,0.159,182.63,120308,,,A*60
+$GPRMC,084122.00,A,5156.99254,N,00424.90408,E,0.081,185.94,120308,,,A*60
+$GPRMC,084123.00,A,5156.99258,N,00424.90393,E,0.054,189.72,120308,,,A*64
+$GPRMC,084124.00,A,5156.99262,N,00424.90384,E,0.014,,120308,,,A*73
+$GPRMC,084125.00,A,5156.99267,N,00424.90368,E,0.032,187.61,120308,,,A*66
+$GPRMC,084126.00,A,5156.99266,N,00424.90368,E,0.013,,120308,,,A*70
+$GPRMC,084127.00,A,5156.99267,N,00424.90361,E,0.072,191.02,120308,,,A*6B
+$GPRMC,084128.00,A,5156.99266,N,00424.90360,E,0.022,188.39,120308,,,A*61
+$GPRMC,084129.00,A,5156.99266,N,00424.90356,E,0.074,186.20,120308,,,A*60
+$GPRMC,084130.00,A,5156.99263,N,00424.90358,E,0.034,184.13,120308,,,A*65
+$GPRMC,084131.00,A,5156.99259,N,00424.90363,E,0.070,187.66,120308,,,A*64
+$GPRMC,084132.00,A,5156.99258,N,00424.90360,E,0.049,190.83,120308,,,A*62
+$GPRMC,084133.00,A,5156.99253,N,00424.90368,E,0.026,194.12,120308,,,A*65
+$GPRMC,084134.00,A,5156.99249,N,00424.90373,E,0.118,197.37,120308,,,A*6B
+$GPRMC,084135.00,A,5156.99245,N,00424.90382,E,0.073,194.82,120308,,,A*69
+$GPRMC,084136.00,A,5156.99238,N,00424.90392,E,0.005,,120308,,,A*78
+$GPRMC,084137.00,A,5156.99234,N,00424.90399,E,0.046,198.00,120308,,,A*67
+$GPRMC,084138.00,A,5156.99232,N,00424.90404,E,0.082,201.18,120308,,,A*6F
+$GPRMC,084139.00,A,5156.99225,N,00424.90422,E,0.043,198.82,120308,,,A*61
+$GPRMC,084140.00,A,5156.99222,N,00424.90427,E,0.039,202.09,120308,,,A*63
+$GPRMC,084141.00,A,5156.99217,N,00424.90437,E,0.029,205.17,120308,,,A*6C
+$GPRMC,084142.00,A,5156.99214,N,00424.90442,E,0.037,208.17,120308,,,A*6C
+$GPRMC,084143.00,A,5156.99212,N,00424.90445,E,0.130,205.36,120308,,,A*64
+$GPRMC,084144.00,A,5156.99208,N,00424.90452,E,0.029,207.73,120308,,,A*64
+$GPRMC,084145.00,A,5156.99209,N,00424.90447,E,0.094,210.65,120308,,,A*67
+$GPRMC,084146.00,A,5156.99206,N,00424.90452,E,0.140,207.67,120308,,,A*63
+$GPRMC,084147.00,A,5156.99204,N,00424.90455,E,0.079,205.23,120308,,,A*6E
+$GPRMC,084148.00,A,5156.99204,N,00424.90446,E,0.051,208.15,120308,,,A*61
+$GPRMC,084149.00,A,5156.99204,N,00424.90439,E,0.029,205.43,120308,,,A*69
+$GPRMC,084150.00,A,5156.99204,N,00424.90442,E,0.069,202.50,120308,,,A*6C
+$GPRMC,084151.00,A,5156.99207,N,00424.90439,E,0.046,205.98,120308,,,A*6C
+$GPRMC,084152.00,A,5156.99210,N,00424.90431,E,0.009,,120308,,,A*72
+$GPRMC,084153.00,A,5156.99208,N,00424.90438,E,0.235,211.62,120308,,,A*66
+$GPRMC,084154.00,A,5156.99210,N,00424.90439,E,0.055,213.97,120308,,,A*65
+$GPRMC,084155.00,A,5156.99213,N,00424.90437,E,0.003,,120308,,,A*7A
+$GPRMC,084156.00,A,5156.99214,N,00424.90442,E,0.024,217.73,120308,,,A*67
+$GPRMC,084157.00,A,5156.99214,N,00424.90449,E,0.070,220.28,120308,,,A*66
+$GPRMC,084158.00,A,5156.99213,N,00424.90451,E,0.163,217.01,120308,,,A*6B
+$GPRMC,084159.00,A,5156.99209,N,00424.90464,E,0.219,210.86,120308,,,A*61
+$GPRMC,084200.00,A,5156.99207,N,00424.90470,E,0.017,,120308,,,A*7A
+$GPRMC,084201.00,A,5156.99208,N,00424.90465,E,0.088,207.81,120308,,,A*64
+$GPRMC,084202.00,A,5156.99212,N,00424.90458,E,0.198,213.48,120308,,,A*62
+$GPRMC,084203.00,A,5156.99213,N,00424.90449,E,0.171,215.85,120308,,,A*62
+$GPRMC,084204.00,A,5156.99215,N,00424.90441,E,0.079,218.68,120308,,,A*6C
+$GPRMC,084205.00,A,5156.99215,N,00424.90438,E,0.032,216.49,120308,,,A*61
+$GPRMC,084206.00,A,5156.99215,N,00424.90437,E,0.170,219.08,120308,,,A*60
+$GPRMC,084207.00,A,5156.99222,N,00424.90419,E,0.197,224.04,120308,,,A*62
+$GPRMC,084208.00,A,5156.99224,N,00424.90418,E,0.143,226.37,120308,,,A*61
+$GPRMC,084209.00,A,5156.99232,N,00424.90410,E,0.119,222.13,120308,,,A*62
+$GPRMC,084210.00,A,5156.99240,N,00424.90397,E,0.096,224.53,120308,,,A*63
+$GPRMC,084211.00,A,5156.99240,N,00424.90439,E,0.090,219.83,120308,,,A*64
+$GPRMC,084212.00,A,5156.99244,N,00424.90448,E,0.111,222.01,120308,,,A*6F
+$GPRMC,084213.00,A,5156.99244,N,00424.90438,E,0.017,,120308,,,A*73
+$GPRMC,084214.00,A,5156.99245,N,00424.90451,E,0.106,224.23,120308,,,A*60
+$GPRMC,084215.00,A,5156.99249,N,00424.90449,E,0.131,220.75,120308,,,A*67
+$GPRMC,084216.00,A,5156.99249,N,00424.90462,E,0.007,,120308,,,A*75
+$GPRMC,084217.00,A,5156.99250,N,00424.90464,E,0.049,223.15,120308,,,A*69
+$GPRMC,084218.00,A,5156.99248,N,00424.90480,E,0.099,219.90,120308,,,A*6C
+$GPRMC,084219.00,A,5156.99249,N,00424.90486,E,0.220,213.61,120308,,,A*6E
+$GPRMC,084220.00,A,5156.99245,N,00424.90493,E,0.448,209.83,120308,,,A*63
+$GPRMC,084221.00,A,5156.99222,N,00424.90508,E,1.739,205.89,120308,,,A*62
+$GPRMC,084222.00,A,5156.99155,N,00424.90581,E,4.394,145.42,120308,,,A*65
+$GPRMC,084223.00,A,5156.99023,N,00424.90712,E,6.944,149.96,120308,,,A*6C
+$GPRMC,084224.00,A,5156.98835,N,00424.90874,E,8.997,150.90,120308,,,A*64
+$GPRMC,084225.00,A,5156.98609,N,00424.91075,E,9.330,151.38,120308,,,A*69
+$GPRMC,084226.00,A,5156.98386,N,00424.91364,E,9.921,140.69,120308,,,A*65
+$GPRMC,084227.00,A,5156.98200,N,00424.91806,E,11.122,126.40,120308,,,A*5D
+$GPRMC,084228.00,A,5156.98083,N,00424.92483,E,12.815,107.38,120308,,,A*5B
+$GPRMC,084229.00,A,5156.98083,N,00424.93248,E,14.272,90.03,120308,,,A*60
+$GPRMC,084230.00,A,5156.98253,N,00424.93911,E,15.376,63.49,120308,,,A*66
+$GPRMC,084231.00,A,5156.98593,N,00424.94609,E,18.650,49.36,120308,,,A*61
+$GPRMC,084232.00,A,5156.98970,N,00424.95400,E,20.066,49.88,120308,,,A*64
+$GPRMC,084233.00,A,5156.99311,N,00424.96195,E,19.152,52.86,120308,,,A*6B
+$GPRMC,084234.00,A,5156.99595,N,00424.96929,E,18.779,55.97,120308,,,A*60
+$GPRMC,084235.00,A,5156.99892,N,00424.97647,E,18.263,55.09,120308,,,A*64
+$GPRMC,084236.00,A,5157.00168,N,00424.98341,E,17.580,54.84,120308,,,A*67
+$GPRMC,084237.00,A,5157.00427,N,00424.99042,E,16.162,55.09,120308,,,A*64
+$GPRMC,084238.00,A,5157.00664,N,00424.99647,E,14.305,55.12,120308,,,A*66
+$GPRMC,084239.00,A,5157.00860,N,00425.00173,E,13.225,56.19,120308,,,A*60
+$GPRMC,084240.00,A,5157.01050,N,00425.00661,E,12.487,54.70,120308,,,A*62
+$GPRMC,084241.00,A,5157.01231,N,00425.01088,E,11.229,54.51,120308,,,A*64
+$GPRMC,084242.00,A,5157.01389,N,00425.01485,E,10.074,54.57,120308,,,A*61
+$GPRMC,084243.00,A,5157.01536,N,00425.01826,E,8.775,54.50,120308,,,A*5F
+$GPRMC,084244.00,A,5157.01657,N,00425.02115,E,7.096,55.44,120308,,,A*57
+$GPRMC,084245.00,A,5157.01750,N,00425.02348,E,5.580,55.07,120308,,,A*5D
+$GPRMC,084246.00,A,5157.01835,N,00425.02541,E,4.642,55.92,120308,,,A*5D
+$GPRMC,084247.00,A,5157.01900,N,00425.02671,E,2.603,47.99,120308,,,A*50
+$GPRMC,084248.00,A,5157.01935,N,00425.02712,E,0.526,48.44,120308,,,A*54
+$GPRMC,084249.00,A,5157.01945,N,00425.02712,E,0.020,47.40,120308,,,A*5A
+$GPRMC,084250.00,A,5157.01945,N,00425.02711,E,0.238,42.24,120308,,,A*5D
+$GPRMC,084251.00,A,5157.01949,N,00425.02701,E,0.389,37.29,120308,,,A*55
+$GPRMC,084252.00,A,5157.01956,N,00425.02679,E,0.486,32.72,120308,,,A*55
+$GPRMC,084253.00,A,5157.01953,N,00425.02670,E,0.121,29.11,120308,,,A*5F
+$GPRMC,084254.00,A,5157.01949,N,00425.02667,E,0.484,25.52,120308,,,A*54
+$GPRMC,084255.00,A,5157.01925,N,00425.02685,E,0.202,21.22,120308,,,A*58
+$GPRMC,084256.00,A,5157.01932,N,00425.02679,E,0.236,18.20,120308,,,A*51
+$GPRMC,084257.00,A,5157.01929,N,00425.02681,E,0.067,16.44,120308,,,A*57
+$GPRMC,084258.00,A,5157.01929,N,00425.02676,E,0.062,19.93,120308,,,A*50
+$GPRMC,084259.00,A,5157.01932,N,00425.02672,E,0.139,24.11,120308,,,A*54
+$GPRMC,084300.00,A,5157.01924,N,00425.02673,E,0.150,27.86,120308,,,A*5D
+$GPRMC,084301.00,A,5157.01930,N,00425.02663,E,0.085,25.76,120308,,,A*5C
+$GPRMC,084302.00,A,5157.01946,N,00425.02642,E,0.081,29.59,120308,,,A*58
+$GPRMC,084303.00,A,5157.01969,N,00425.02613,E,0.067,29.23,120308,,,A*55
+$GPRMC,084304.00,A,5157.01980,N,00425.02586,E,0.118,33.25,120308,,,A*5E
+$GPRMC,084305.00,A,5157.01977,N,00425.02573,E,0.228,29.21,120308,,,A*52
+$GPRMC,084306.00,A,5157.01966,N,00425.02565,E,0.072,27.24,120308,,,A*50
+$GPRMC,084307.00,A,5157.01959,N,00425.02561,E,0.170,26.92,120308,,,A*56
+$GPRMC,084308.00,A,5157.01962,N,00425.02561,E,0.382,29.30,120308,,,A*59
+$GPRMC,084309.00,A,5157.01976,N,00425.02609,E,2.235,56.47,120308,,,A*57
+$GPRMC,084310.00,A,5157.02044,N,00425.02741,E,5.217,54.64,120308,,,A*5D
+$GPRMC,084311.00,A,5157.02150,N,00425.03006,E,8.374,52.10,120308,,,A*51
+$GPRMC,084312.00,A,5157.02317,N,00425.03340,E,10.272,55.16,120308,,,A*6D
+$GPRMC,084313.00,A,5157.02501,N,00425.03742,E,11.518,56.00,120308,,,A*65
+$GPRMC,084314.00,A,5157.02697,N,00425.04170,E,11.777,56.24,120308,,,A*63
+$GPRMC,084315.00,A,5157.02883,N,00425.04612,E,11.724,55.61,120308,,,A*6E
+$GPRMC,084316.00,A,5157.03093,N,00425.04992,E,11.290,46.03,120308,,,A*6E
+$GPRMC,084317.00,A,5157.03362,N,00425.05182,E,10.428,22.78,120308,,,A*60
+$GPRMC,084318.00,A,5157.03643,N,00425.05206,E,10.421,352.45,120308,,,A*55
+$GPRMC,084319.00,A,5157.03933,N,00425.05041,E,11.158,336.93,120308,,,A*5E
+$GPRMC,084320.00,A,5157.04179,N,00425.04627,E,12.602,315.23,120308,,,A*53
+$GPRMC,084321.00,A,5157.04404,N,00425.03998,E,14.155,299.09,120308,,,A*5F
+$GPRMC,084322.00,A,5157.04550,N,00425.03197,E,16.507,289.41,120308,,,A*57
+$GPRMC,084323.00,A,5157.04796,N,00425.02311,E,20.824,295.50,120308,,,A*57
+$GPRMC,084324.00,A,5157.05024,N,00425.01222,E,24.870,294.43,120308,,,A*5B
+$GPRMC,084325.00,A,5157.05406,N,00425.00188,E,26.428,302.33,120308,,,A*56
+$GPRMC,084326.00,A,5157.05847,N,00424.99108,E,28.901,304.43,120308,,,A*5C
+$GPRMC,084327.00,A,5157.06379,N,00424.98035,E,30.417,308.45,120308,,,A*5F
+$GPRMC,084328.00,A,5157.06925,N,00424.96924,E,30.464,311.39,120308,,,A*53
+$GPRMC,084329.00,A,5157.07511,N,00424.95818,E,30.929,312.77,120308,,,A*58
+$GPRMC,084330.00,A,5157.08136,N,00424.94709,E,33.427,314.99,120308,,,A*56
+$GPRMC,084331.00,A,5157.08832,N,00424.93602,E,34.824,316.88,120308,,,A*5D
+$GPRMC,084332.00,A,5157.09632,N,00424.92631,E,35.706,322.11,120308,,,A*59
+$GPRMC,084333.00,A,5157.10515,N,00424.91754,E,36.749,327.33,120308,,,A*5A
+$GPRMC,084334.00,A,5157.11411,N,00424.90915,E,37.534,328.95,120308,,,A*59
+$GPRMC,084335.00,A,5157.12319,N,00424.90082,E,37.935,329.88,120308,,,A*53
+$GPRMC,084336.00,A,5157.13248,N,00424.89273,E,37.875,330.94,120308,,,A*50
+$GPRMC,084337.00,A,5157.14198,N,00424.88467,E,38.413,331.57,120308,,,A*57
+$GPRMC,084338.00,A,5157.15170,N,00424.87670,E,39.069,332.45,120308,,,A*5C
+$GPRMC,084339.00,A,5157.16152,N,00424.86930,E,39.497,332.87,120308,,,A*5F
+$GPRMC,084340.00,A,5157.17122,N,00424.86178,E,39.896,332.64,120308,,,A*53
+$GPRMC,084341.00,A,5157.18136,N,00424.85387,E,41.101,333.30,120308,,,A*51
+$GPRMC,084342.00,A,5157.19184,N,00424.84551,E,41.829,333.56,120308,,,A*55
+$GPRMC,084343.00,A,5157.20237,N,00424.83723,E,42.748,333.78,120308,,,A*52
+$GPRMC,084344.00,A,5157.21305,N,00424.82890,E,43.502,334.21,120308,,,A*54
+$GPRMC,084345.00,A,5157.22385,N,00424.82102,E,43.084,334.04,120308,,,A*50
+$GPRMC,084346.00,A,5157.23446,N,00424.81313,E,42.002,333.84,120308,,,A*5B
+$GPRMC,084347.00,A,5157.24548,N,00424.80482,E,43.849,333.93,120308,,,A*5C
+$GPRMC,084348.00,A,5157.25712,N,00424.79611,E,45.506,333.82,120308,,,A*51
+$GPRMC,084349.00,A,5157.26920,N,00424.78706,E,47.547,334.08,120308,,,A*58
+$GPRMC,084350.00,A,5157.28171,N,00424.77768,E,49.635,334.17,120308,,,A*53
+$GPRMC,084351.00,A,5157.29501,N,00424.76765,E,51.492,334.31,120308,,,A*5E
+$GPRMC,084352.00,A,5157.30838,N,00424.75750,E,53.336,334.26,120308,,,A*5A
+$GPRMC,084353.00,A,5157.32233,N,00424.74703,E,54.191,334.49,120308,,,A*5E
+$GPRMC,084354.00,A,5157.33648,N,00424.73627,E,55.378,334.34,120308,,,A*5E
+$GPRMC,084355.00,A,5157.35074,N,00424.72544,E,56.493,334.43,120308,,,A*56
+$GPRMC,084356.00,A,5157.36500,N,00424.71463,E,55.717,334.80,120308,,,A*54
+$GPRMC,084357.00,A,5157.37909,N,00424.70389,E,55.314,334.37,120308,,,A*58
+$GPRMC,084358.00,A,5157.39296,N,00424.69313,E,54.481,334.40,120308,,,A*55
+$GPRMC,084359.00,A,5157.40636,N,00424.68266,E,53.264,334.88,120308,,,A*58
+$GPRMC,084400.00,A,5157.41971,N,00424.67231,E,52.000,334.42,120308,,,A*54
+$GPRMC,084401.00,A,5157.43288,N,00424.66176,E,51.716,333.94,120308,,,A*54
+$GPRMC,084402.00,A,5157.44611,N,00424.65087,E,52.398,334.17,120308,,,A*55
+$GPRMC,084403.00,A,5157.45936,N,00424.64005,E,53.025,334.16,120308,,,A*51
+$GPRMC,084404.00,A,5157.47256,N,00424.62932,E,53.031,333.92,120308,,,A*5C
+$GPRMC,084405.00,A,5157.48590,N,00424.61853,E,53.292,333.84,120308,,,A*56
+$GPRMC,084406.00,A,5157.49927,N,00424.60766,E,53.786,333.71,120308,,,A*56
+$GPRMC,084407.00,A,5157.51258,N,00424.59632,E,54.454,334.17,120308,,,A*5B
+$GPRMC,084408.00,A,5157.52617,N,00424.58534,E,55.122,334.25,120308,,,A*58
+$GPRMC,084409.00,A,5157.53979,N,00424.57446,E,55.754,334.16,120308,,,A*53
+$GPRMC,084410.00,A,5157.55346,N,00424.56335,E,55.095,333.88,120308,,,A*53
+$GPRMC,084411.00,A,5157.56766,N,00424.55164,E,56.335,333.32,120308,,,A*59
+$GPRMC,084412.00,A,5157.58170,N,00424.54014,E,56.191,332.88,120308,,,A*5E
+$GPRMC,084413.00,A,5157.59534,N,00424.52872,E,54.686,332.61,120308,,,A*50
+$GPRMC,084414.00,A,5157.60862,N,00424.51785,E,54.267,332.93,120308,,,A*51
+$GPRMC,084415.00,A,5157.62197,N,00424.50717,E,53.703,333.48,120308,,,A*5C
+$GPRMC,084416.00,A,5157.63459,N,00424.49681,E,51.205,332.20,120308,,,A*51
+$GPRMC,084417.00,A,5157.64794,N,00424.48645,E,53.405,333.73,120308,,,A*5F
+$GPRMC,084418.00,A,5157.66126,N,00424.47631,E,53.998,334.21,120308,,,A*58
+$GPRMC,084419.00,A,5157.67500,N,00424.46583,E,54.613,334.21,120308,,,A*58
+$GPRMC,084420.00,A,5157.68895,N,00424.45519,E,54.621,334.29,120308,,,A*55
+$GPRMC,084421.00,A,5157.70294,N,00424.44462,E,54.163,334.18,120308,,,A*59
+$GPRMC,084422.00,A,5157.71688,N,00424.43411,E,54.129,333.99,120308,,,A*51
+$GPRMC,084423.00,A,5157.73027,N,00424.42405,E,52.974,334.32,120308,,,A*55
+$GPRMC,084424.00,A,5157.74387,N,00424.41405,E,52.667,335.17,120308,,,A*54
+$GPRMC,084425.00,A,5157.75725,N,00424.40395,E,52.146,334.77,120308,,,A*54
+$GPRMC,084426.00,A,5157.77086,N,00424.39372,E,52.664,334.54,120308,,,A*5A
+$GPRMC,084427.00,A,5157.78408,N,00424.38369,E,52.538,334.05,120308,,,A*53
+$GPRMC,084428.00,A,5157.79845,N,00424.37330,E,55.747,335.00,120308,,,A*52
+$GPRMC,084429.00,A,5157.81269,N,00424.36255,E,56.317,334.44,120308,,,A*50
+$GPRMC,084430.00,A,5157.82713,N,00424.35140,E,57.823,334.22,120308,,,A*5A
+$GPRMC,084431.00,A,5157.84180,N,00424.34021,E,58.772,334.13,120308,,,A*50
+$GPRMC,084432.00,A,5157.85598,N,00424.32910,E,58.990,334.24,120308,,,A*54
+$GPRMC,084433.00,A,5157.87091,N,00424.31757,E,59.904,334.33,120308,,,A*5F
+$GPRMC,084434.00,A,5157.88610,N,00424.30585,E,60.686,334.27,120308,,,A*5E
+$GPRMC,084435.00,A,5157.90138,N,00424.29405,E,60.353,334.56,120308,,,A*51
+$GPRMC,084436.00,A,5157.91654,N,00424.28232,E,59.000,334.41,120308,,,A*54
+$GPRMC,084437.00,A,5157.93180,N,00424.27040,E,59.305,334.35,120308,,,A*54
+$GPRMC,084438.00,A,5157.94687,N,00424.25865,E,59.479,334.16,120308,,,A*5C
+$GPRMC,084439.00,A,5157.96179,N,00424.24696,E,59.135,334.02,120308,,,A*52
+$GPRMC,084440.00,A,5157.97656,N,00424.23533,E,58.797,333.97,120308,,,A*58
+$GPRMC,084441.00,A,5157.99118,N,00424.22395,E,58.811,333.95,120308,,,A*52
+$GPRMC,084442.00,A,5158.00594,N,00424.21244,E,59.543,334.24,120308,,,A*56
+$GPRMC,084443.00,A,5158.02087,N,00424.20085,E,61.040,334.17,120308,,,A*51
+$GPRMC,084444.00,A,5158.03604,N,00424.18909,E,62.240,334.30,120308,,,A*58
+$GPRMC,084445.00,A,5158.05145,N,00424.17707,E,62.108,333.87,120308,,,A*56
+$GPRMC,084446.00,A,5158.06684,N,00424.16488,E,61.942,334.10,120308,,,A*55
+$GPRMC,084447.00,A,5158.08264,N,00424.15245,E,62.473,334.28,120308,,,A*53
+$GPRMC,084448.00,A,5158.09828,N,00424.14035,E,62.511,334.36,120308,,,A*51
+$GPRMC,084449.00,A,5158.11343,N,00424.12851,E,61.404,334.20,120308,,,A*52
+$GPRMC,084450.00,A,5158.12873,N,00424.11637,E,61.297,333.98,120308,,,A*54
+$GPRMC,084451.00,A,5158.14439,N,00424.10411,E,61.837,334.22,120308,,,A*50
+$GPRMC,084452.00,A,5158.16001,N,00424.09195,E,62.148,334.36,120308,,,A*58
+$GPRMC,084453.00,A,5158.17573,N,00424.07985,E,63.370,335.00,120308,,,A*53
+$GPRMC,084454.00,A,5158.19170,N,00424.06763,E,63.704,334.41,120308,,,A*59
+$GPRMC,084455.00,A,5158.20795,N,00424.05519,E,63.993,334.35,120308,,,A*50
+$GPRMC,084456.00,A,5158.22397,N,00424.04261,E,63.737,333.97,120308,,,A*51
+$GPRMC,084457.00,A,5158.23989,N,00424.03020,E,63.277,334.39,120308,,,A*56
+$GPRMC,084458.00,A,5158.25640,N,00424.01837,E,63.599,336.65,120308,,,A*55
+$GPRMC,084459.00,A,5158.27269,N,00424.00790,E,63.164,339.16,120308,,,A*57
+$GPRMC,084500.00,A,5158.28952,N,00423.99782,E,63.040,341.19,120308,,,A*55
+$GPRMC,084501.00,A,5158.30569,N,00423.98874,E,62.633,342.88,120308,,,A*56
+$GPRMC,084502.00,A,5158.32229,N,00423.98079,E,61.828,344.61,120308,,,A*57
+$GPRMC,084503.00,A,5158.33886,N,00423.97332,E,61.257,345.08,120308,,,A*57
+$GPRMC,084504.00,A,5158.35542,N,00423.96615,E,60.292,345.28,120308,,,A*58
+$GPRMC,084505.00,A,5158.37140,N,00423.95936,E,59.446,345.98,120308,,,A*5E
+$GPRMC,084506.00,A,5158.38735,N,00423.95283,E,59.097,346.32,120308,,,A*58
+$GPRMC,084507.00,A,5158.40343,N,00423.94649,E,59.930,346.62,120308,,,A*51
+$GPRMC,084508.00,A,5158.41967,N,00423.94009,E,59.405,346.33,120308,,,A*5E
+$GPRMC,084509.00,A,5158.43554,N,00423.93366,E,58.541,345.98,120308,,,A*5E
+$GPRMC,084510.00,A,5158.45112,N,00423.92724,E,57.437,345.69,120308,,,A*54
+$GPRMC,084511.00,A,5158.46645,N,00423.92083,E,56.291,345.39,120308,,,A*57
+$GPRMC,084512.00,A,5158.48145,N,00423.91457,E,55.434,345.41,120308,,,A*56
+$GPRMC,084513.00,A,5158.49621,N,00423.90837,E,54.513,345.49,120308,,,A*55
+$GPRMC,084514.00,A,5158.51072,N,00423.90231,E,53.715,345.28,120308,,,A*53
+$GPRMC,084515.00,A,5158.52496,N,00423.89630,E,52.827,345.31,120308,,,A*55
+$GPRMC,084516.00,A,5158.53918,N,00423.89011,E,53.399,344.33,120308,,,A*55
+$GPRMC,084517.00,A,5158.55354,N,00423.88322,E,54.770,342.68,120308,,,A*5E
+$GPRMC,084518.00,A,5158.56822,N,00423.87601,E,56.288,343.42,120308,,,A*5A
+$GPRMC,084519.00,A,5158.58345,N,00423.86884,E,57.747,344.22,120308,,,A*5B
+$GPRMC,084520.00,A,5158.59907,N,00423.86183,E,59.148,344.50,120308,,,A*50
+$GPRMC,084521.00,A,5158.61510,N,00423.85489,E,60.491,345.22,120308,,,A*53
+$GPRMC,084522.00,A,5158.63155,N,00423.84807,E,61.609,345.54,120308,,,A*5F
+$GPRMC,084523.00,A,5158.64825,N,00423.84120,E,62.419,345.69,120308,,,A*55
+$GPRMC,084524.00,A,5158.66515,N,00423.83454,E,62.789,346.87,120308,,,A*56
+$GPRMC,084525.00,A,5158.68211,N,00423.82819,E,62.382,347.08,120308,,,A*57
+$GPRMC,084526.00,A,5158.69886,N,00423.82181,E,61.219,346.48,120308,,,A*5C
+$GPRMC,084527.00,A,5158.71528,N,00423.81533,E,60.150,346.01,120308,,,A*51
+$GPRMC,084528.00,A,5158.73136,N,00423.80880,E,59.016,345.90,120308,,,A*51
+$GPRMC,084529.00,A,5158.74715,N,00423.80238,E,58.138,345.89,120308,,,A*5D
+$GPRMC,084530.00,A,5158.76263,N,00423.79622,E,56.553,346.55,120308,,,A*5F
+$GPRMC,084531.00,A,5158.77774,N,00423.79055,E,55.299,347.50,120308,,,A*5C
+$GPRMC,084532.00,A,5158.79248,N,00423.78534,E,53.041,348.02,120308,,,A*51
+$GPRMC,084533.00,A,5158.80662,N,00423.78046,E,50.678,347.75,120308,,,A*5A
+$GPRMC,084534.00,A,5158.82014,N,00423.77560,E,48.862,346.96,120308,,,A*56
+$GPRMC,084535.00,A,5158.83313,N,00423.77068,E,47.197,346.25,120308,,,A*5B
+$GPRMC,084536.00,A,5158.84550,N,00423.76584,E,44.657,346.04,120308,,,A*53
+$GPRMC,084537.00,A,5158.85705,N,00423.76134,E,41.231,346.43,120308,,,A*5C
+$GPRMC,084538.00,A,5158.86796,N,00423.75704,E,40.004,346.03,120308,,,A*5D
+$GPRMC,084539.00,A,5158.87858,N,00423.75269,E,39.162,345.48,120308,,,A*5D
+$GPRMC,084540.00,A,5158.88899,N,00423.74827,E,38.909,344.51,120308,,,A*5D
+$GPRMC,084541.00,A,5158.89888,N,00423.74409,E,35.799,345.33,120308,,,A*52
+$GPRMC,084542.00,A,5158.90806,N,00423.74054,E,32.956,347.76,120308,,,A*5A
+$GPRMC,084543.00,A,5158.91561,N,00423.73775,E,28.123,349.25,120308,,,A*5C
+$GPRMC,084544.00,A,5158.92164,N,00423.73511,E,24.289,348.21,120308,,,A*53
+$GPRMC,084545.00,A,5158.92741,N,00423.73314,E,23.259,349.88,120308,,,A*58
+$GPRMC,084546.00,A,5158.93344,N,00423.73146,E,23.271,351.71,120308,,,A*5B
+$GPRMC,084547.00,A,5158.93908,N,00423.73005,E,21.918,353.74,120308,,,A*5F
+$GPRMC,084548.00,A,5158.94501,N,00423.72961,E,21.529,358.53,120308,,,A*58
+$GPRMC,084549.00,A,5158.95110,N,00423.73046,E,22.002,8.26,120308,,,A*5A
+$GPRMC,084550.00,A,5158.95781,N,00423.73365,E,25.217,19.71,120308,,,A*6D
+$GPRMC,084551.00,A,5158.96439,N,00423.73876,E,26.909,29.01,120308,,,A*65
+$GPRMC,084552.00,A,5158.96973,N,00423.74512,E,26.254,33.33,120308,,,A*64
+$GPRMC,084553.00,A,5158.97517,N,00423.75250,E,27.238,37.08,120308,,,A*6D
+$GPRMC,084554.00,A,5158.98159,N,00423.76060,E,27.576,38.63,120308,,,A*66
+$GPRMC,084555.00,A,5158.98790,N,00423.76784,E,26.556,32.42,120308,,,A*63
+$GPRMC,084556.00,A,5158.99469,N,00423.77343,E,26.721,24.55,120308,,,A*69
+$GPRMC,084557.00,A,5159.00101,N,00423.77504,E,23.755,6.70,120308,,,A*56
+$GPRMC,084558.00,A,5159.00740,N,00423.77461,E,23.663,352.51,120308,,,A*5D
+$GPRMC,084559.00,A,5159.01404,N,00423.77179,E,23.221,346.61,120308,,,A*56
+$GPRMC,084600.00,A,5159.01975,N,00423.76934,E,21.292,343.68,120308,,,A*54
+$GPRMC,084601.00,A,5159.02520,N,00423.76714,E,20.886,344.08,120308,,,A*59
+$GPRMC,084602.00,A,5159.03072,N,00423.76490,E,19.829,344.28,120308,,,A*5B
+$GPRMC,084603.00,A,5159.03605,N,00423.76319,E,18.684,344.77,120308,,,A*58
+$GPRMC,084604.00,A,5159.04115,N,00423.76154,E,17.660,345.90,120308,,,A*58
+$GPRMC,084605.00,A,5159.04567,N,00423.76003,E,15.896,344.40,120308,,,A*52
+$GPRMC,084606.00,A,5159.05015,N,00423.75859,E,15.940,346.62,120308,,,A*5C
+$GPRMC,084607.00,A,5159.05447,N,00423.75723,E,15.667,346.98,120308,,,A*53
+$GPRMC,084608.00,A,5159.05848,N,00423.75575,E,14.635,347.13,120308,,,A*5A
+$GPRMC,084609.00,A,5159.06231,N,00423.75444,E,13.627,346.86,120308,,,A*56
+$GPRMC,084610.00,A,5159.06580,N,00423.75313,E,12.282,343.91,120308,,,A*5F
+$GPRMC,084611.00,A,5159.06923,N,00423.75177,E,12.874,344.81,120308,,,A*5E
+$GPRMC,084612.00,A,5159.07250,N,00423.75034,E,12.296,344.69,120308,,,A*55
+$GPRMC,084613.00,A,5159.07529,N,00423.74898,E,11.169,344.37,120308,,,A*59
+$GPRMC,084614.00,A,5159.07797,N,00423.74773,E,10.257,345.17,120308,,,A*5F
+$GPRMC,084615.00,A,5159.08043,N,00423.74678,E,9.259,346.73,120308,,,A*62
+$GPRMC,084616.00,A,5159.08295,N,00423.74582,E,9.358,347.43,120308,,,A*6C
+$GPRMC,084617.00,A,5159.08510,N,00423.74487,E,8.004,343.58,120308,,,A*66
+$GPRMC,084618.00,A,5159.08737,N,00423.74403,E,8.529,346.05,120308,,,A*65
+$GPRMC,084619.00,A,5159.08951,N,00423.74312,E,8.525,345.40,120308,,,A*63
+$GPRMC,084620.00,A,5159.09177,N,00423.74220,E,8.753,345.38,120308,,,A*68
+$GPRMC,084621.00,A,5159.09415,N,00423.74126,E,9.360,345.60,120308,,,A*65
+$GPRMC,084622.00,A,5159.09667,N,00423.74022,E,9.882,346.63,120308,,,A*63
+$GPRMC,084623.00,A,5159.09940,N,00423.73928,E,10.014,346.60,120308,,,A*50
+$GPRMC,084624.00,A,5159.10206,N,00423.73839,E,9.602,348.48,120308,,,A*6A
+$GPRMC,084625.00,A,5159.10471,N,00423.73780,E,9.125,354.08,120308,,,A*6B
+$GPRMC,084626.00,A,5159.10721,N,00423.73749,E,9.091,357.56,120308,,,A*6D
+$GPRMC,084627.00,A,5159.10950,N,00423.73730,E,8.531,358.58,120308,,,A*65
+$GPRMC,084628.00,A,5159.11166,N,00423.73690,E,7.295,356.39,120308,,,A*62
+$GPRMC,084629.00,A,5159.11326,N,00423.73646,E,5.120,358.94,120308,,,A*68
+$GPRMC,084630.00,A,5159.11424,N,00423.73596,E,3.756,355.02,120308,,,A*68
+$GPRMC,084631.00,A,5159.11487,N,00423.73565,E,2.708,354.49,120308,,,A*68
+$GPRMC,084632.00,A,5159.11531,N,00423.73522,E,1.604,354.51,120308,,,A*63
+$GPRMC,084633.00,A,5159.11540,N,00423.73483,E,0.602,354.24,120308,,,A*6B
+$GPRMC,084634.00,A,5159.11526,N,00423.73456,E,0.007,,120308,,,A*7D
+$GPRMC,084635.00,A,5159.11495,N,00423.73442,E,0.060,353.54,120308,,,A*6B
+$GPRMC,084636.00,A,5159.11470,N,00423.73432,E,0.016,,120308,,,A*7F
+$GPRMC,084637.00,A,5159.11460,N,00423.73405,E,0.025,352.88,120308,,,A*61
+$GPRMC,084638.00,A,5159.11453,N,00423.73376,E,0.048,351.35,120308,,,A*63
+$GPRMC,084639.00,A,5159.11443,N,00423.73366,E,0.057,350.47,120308,,,A*68
+$GPRMC,084640.00,A,5159.11439,N,00423.73345,E,0.030,349.27,120308,,,A*65
+$GPRMC,084641.00,A,5159.11442,N,00423.73321,E,0.128,350.38,120308,,,A*64
+$GPRMC,084642.00,A,5159.11442,N,00423.73304,E,0.111,349.30,120308,,,A*6A
+$GPRMC,084643.00,A,5159.11447,N,00423.73280,E,0.096,348.74,120308,,,A*6C
+$GPRMC,084644.00,A,5159.11451,N,00423.73259,E,0.249,347.50,120308,,,A*61
+$GPRMC,084645.00,A,5159.11448,N,00423.73246,E,0.094,346.11,120308,,,A*60
+$GPRMC,084646.00,A,5159.11451,N,00423.73220,E,0.104,344.64,120308,,,A*63
+$GPRMC,084647.00,A,5159.11448,N,00423.73213,E,0.012,,120308,,,A*73
+$GPRMC,084648.00,A,5159.11448,N,00423.73204,E,0.028,344.77,120308,,,A*6E
+$GPRMC,084649.00,A,5159.11444,N,00423.73191,E,0.033,350.04,120308,,,A*67
+$GPRMC,084650.00,A,5159.11440,N,00423.73183,E,0.043,354.03,120308,,,A*6C
+$GPRMC,084651.00,A,5159.11437,N,00423.73172,E,0.029,358.09,120308,,,A*69
+$GPRMC,084652.00,A,5159.11431,N,00423.73167,E,0.018,,120308,,,A*73
+$GPRMC,084653.00,A,5159.11432,N,00423.73161,E,0.252,356.50,120308,,,A*60
+$GPRMC,084654.00,A,5159.11430,N,00423.73157,E,0.071,355.58,120308,,,A*68
+$GPRMC,084655.00,A,5159.11427,N,00423.73156,E,0.026,353.83,120308,,,A*6C
+$GPRMC,084656.00,A,5159.11422,N,00423.73153,E,0.010,,120308,,,A*7A
+$GPRMC,084657.00,A,5159.11418,N,00423.73156,E,0.032,357.91,120308,,,A*60
+$GPRMC,084658.00,A,5159.11416,N,00423.73150,E,0.008,,120308,,,A*79
+$GPRMC,084659.00,A,5159.11416,N,00423.73143,E,0.052,3.24,120308,,,A*6E
+$GPRMC,084700.00,A,5159.11416,N,00423.73135,E,0.140,2.54,120308,,,A*66
+$GPRMC,084701.00,A,5159.11416,N,00423.73134,E,0.023,358.44,120308,,,A*6F
+$GPRMC,084702.00,A,5159.11414,N,00423.73134,E,0.028,1.72,120308,,,A*6F
+$GPRMC,084703.00,A,5159.11407,N,00423.73136,E,0.029,6.06,120308,,,A*6B
+$GPRMC,084704.00,A,5159.11393,N,00423.73148,E,0.044,9.84,120308,,,A*61
+$GPRMC,084705.00,A,5159.11386,N,00423.73153,E,0.121,9.62,120308,,,A*64
+$GPRMC,084706.00,A,5159.11383,N,00423.73157,E,0.190,13.70,120308,,,A*54
+$GPRMC,084707.00,A,5159.11376,N,00423.73157,E,0.179,17.98,120308,,,A*5A
+$GPRMC,084708.00,A,5159.11364,N,00423.73167,E,0.198,25.66,120308,,,A*5A
+$GPRMC,084709.00,A,5159.11351,N,00423.73178,E,0.210,33.15,120308,,,A*53
+$GPRMC,084710.00,A,5159.11335,N,00423.73196,E,0.333,40.11,120308,,,A*59
+$GPRMC,084711.00,A,5159.11315,N,00423.73219,E,0.400,46.74,120308,,,A*5C
+$GPRMC,084712.00,A,5159.11293,N,00423.73252,E,0.315,52.82,120308,,,A*50
+$GPRMC,084713.00,A,5159.11266,N,00423.73291,E,0.344,58.60,120308,,,A*56
+$GPRMC,084714.00,A,5159.11240,N,00423.73325,E,0.477,64.11,120308,,,A*55
+$GPRMC,084715.00,A,5159.11220,N,00423.73347,E,0.453,69.41,120308,,,A*58
+$GPRMC,084716.00,A,5159.11211,N,00423.73359,E,0.423,74.00,120308,,,A*58
+$GPRMC,084717.00,A,5159.11201,N,00423.73372,E,0.492,78.65,120308,,,A*54
+$GPRMC,084718.00,A,5159.11197,N,00423.73376,E,0.407,82.87,120308,,,A*56
+$GPRMC,084719.00,A,5159.11188,N,00423.73385,E,0.348,86.82,120308,,,A*58
+$GPRMC,084720.00,A,5159.11179,N,00423.73397,E,0.187,88.58,120308,,,A*57
+$GPRMC,084721.00,A,5159.11180,N,00423.73398,E,0.299,92.14,120308,,,A*50
+$GPRMC,084722.00,A,5159.11180,N,00423.73400,E,0.289,95.46,120308,,,A*54
+$GPRMC,084723.00,A,5159.11181,N,00423.73403,E,0.253,98.45,120308,,,A*5E
+$GPRMC,084724.00,A,5159.11167,N,00423.73418,E,0.122,100.28,120308,,,A*65
+$GPRMC,084725.00,A,5159.11239,N,00423.73327,E,0.115,96.28,120308,,,A*5D
+$GPRMC,084726.00,A,5159.11267,N,00423.73290,E,0.145,92.02,120308,,,A*51
+$GPRMC,084727.00,A,5159.11285,N,00423.73266,E,0.100,88.72,120308,,,A*58
+$GPRMC,084728.00,A,5159.11281,N,00423.73267,E,0.045,92.75,120308,,,A*5E
+$GPRMC,084729.00,A,5159.11285,N,00423.73257,E,0.044,89.38,120308,,,A*5A
+$GPRMC,084730.00,A,5159.11305,N,00423.73229,E,0.026,85.37,120308,,,A*55
+$GPRMC,084731.00,A,5159.11317,N,00423.73210,E,0.016,,120308,,,A*79
+$GPRMC,084732.00,A,5159.11325,N,00423.73196,E,0.058,87.40,120308,,,A*59
+$GPRMC,084733.00,A,5159.11330,N,00423.73185,E,0.019,,120308,,,A*7E
+$GPRMC,084734.00,A,5159.11333,N,00423.73177,E,0.010,,120308,,,A*7E
+$GPRMC,084735.00,A,5159.11333,N,00423.73174,E,0.021,90.05,120308,,,A*5C
+$GPRMC,084736.00,A,5159.11332,N,00423.73174,E,0.033,90.65,120308,,,A*5B
+$GPRMC,084737.00,A,5159.11329,N,00423.73176,E,0.062,92.13,120308,,,A*55
+$GPRMC,084738.00,A,5159.11331,N,00423.73175,E,0.010,,120308,,,A*72
+$GPRMC,084739.00,A,5159.11339,N,00423.73169,E,0.074,87.68,120308,,,A*5B
+$GPRMC,084740.00,A,5159.11348,N,00423.73158,E,0.133,89.56,120308,,,A*50
+$GPRMC,084741.00,A,5159.11351,N,00423.73154,E,0.085,90.83,120308,,,A*59
+$GPRMC,084742.00,A,5159.11359,N,00423.73149,E,0.057,92.47,120308,,,A*5B
+$GPRMC,084743.00,A,5159.11375,N,00423.73149,E,0.041,88.96,120308,,,A*54
+$GPRMC,084744.00,A,5159.11387,N,00423.73151,E,0.053,85.20,120308,,,A*54
+$GPRMC,084745.00,A,5159.11401,N,00423.73149,E,0.019,,120308,,,A*7A
+$GPRMC,084746.00,A,5159.11413,N,00423.73149,E,0.036,81.47,120308,,,A*53
+$GPRMC,084747.00,A,5159.11412,N,00423.73166,E,0.008,,120308,,,A*77
+$GPRMC,084748.00,A,5159.11413,N,00423.73179,E,0.002,,120308,,,A*7D
+$GPRMC,084749.00,A,5159.11419,N,00423.73185,E,0.023,83.23,120308,,,A*52
+$GPRMC,084750.00,A,5159.11435,N,00423.73177,E,0.038,78.71,120308,,,A*50
+$GPRMC,084751.00,A,5159.11450,N,00423.73166,E,0.017,,120308,,,A*78
+$GPRMC,084752.00,A,5159.11464,N,00423.73160,E,0.059,80.36,120308,,,A*53
+$GPRMC,084753.00,A,5159.11475,N,00423.73156,E,0.023,76.44,120308,,,A*56
+$GPRMC,084754.00,A,5159.11488,N,00423.73149,E,0.023,71.50,120308,,,A*5F
+$GPRMC,084755.00,A,5159.11500,N,00423.73143,E,0.011,,120308,,,A*79
+$GPRMC,084756.00,A,5159.11510,N,00423.73137,E,0.060,68.15,120308,,,A*5A
+$GPRMC,084757.00,A,5159.11519,N,00423.73133,E,0.052,64.96,120308,,,A*50
+$GPRMC,084758.00,A,5159.11527,N,00423.73126,E,0.018,,120308,,,A*7B
+$GPRMC,084759.00,A,5159.11536,N,00423.73120,E,0.035,67.20,120308,,,A*5E
+$GPRMC,084800.00,A,5159.11543,N,00423.73115,E,0.042,64.01,120308,,,A*59
+$GPRMC,084801.00,A,5159.11549,N,00423.73113,E,0.020,60.86,120308,,,A*5B
+$GPRMC,084802.00,A,5159.11555,N,00423.73110,E,0.041,63.89,120308,,,A*5D
+$GPRMC,084803.00,A,5159.11561,N,00423.73107,E,0.045,60.84,120308,,,A*57
+$GPRMC,084804.00,A,5159.11565,N,00423.73105,E,0.028,58.45,120308,,,A*5B
+$GPRMC,084805.00,A,5159.11572,N,00423.73099,E,0.035,55.59,120308,,,A*54
+$GPRMC,084806.00,A,5159.11574,N,00423.73096,E,0.031,58.28,120308,,,A*51
+$GPRMC,084807.00,A,5159.11579,N,00423.73090,E,0.046,55.51,120308,,,A*58
+$GPRMC,084808.00,A,5159.11581,N,00423.73088,E,0.007,,120308,,,A*76
+$GPRMC,084809.00,A,5159.11581,N,00423.73085,E,0.012,,120308,,,A*7E
+$GPRMC,084810.00,A,5159.11579,N,00423.73082,E,0.035,58.43,120308,,,A*57
+$GPRMC,084811.00,A,5159.11576,N,00423.73080,E,0.040,57.24,120308,,,A*57
+$GPRMC,084812.00,A,5159.11574,N,00423.73079,E,0.033,61.59,120308,,,A*5B
+$GPRMC,084813.00,A,5159.11572,N,00423.73081,E,0.098,58.73,120308,,,A*58
+$GPRMC,084814.00,A,5159.11571,N,00423.73080,E,0.070,55.67,120308,,,A*53
+$GPRMC,084815.00,A,5159.11569,N,00423.73080,E,0.050,52.69,120308,,,A*50
+$GPRMC,084816.00,A,5159.11566,N,00423.73081,E,0.011,,120308,,,A*7E
+$GPRMC,084817.00,A,5159.11563,N,00423.73081,E,0.006,,120308,,,A*7C
+$GPRMC,084818.00,A,5159.11560,N,00423.73081,E,0.009,,120308,,,A*7F
+$GPRMC,084819.00,A,5159.11557,N,00423.73081,E,0.032,48.81,120308,,,A*59
+$GPRMC,084820.00,A,5159.11556,N,00423.73079,E,0.022,47.71,120308,,,A*54
+$GPRMC,084821.00,A,5159.11552,N,00423.73081,E,0.039,43.48,120308,,,A*52
+$GPRMC,084822.00,A,5159.11552,N,00423.73079,E,0.042,41.45,120308,,,A*55
+$GPRMC,084823.00,A,5159.11553,N,00423.73076,E,0.016,,120308,,,A*71
+$GPRMC,084824.00,A,5159.11551,N,00423.73077,E,0.019,,120308,,,A*7A
+$GPRMC,084825.00,A,5159.11550,N,00423.73076,E,0.090,44.17,120308,,,A*52
+$GPRMC,084826.00,A,5159.11550,N,00423.73076,E,0.064,41.32,120308,,,A*58
+$GPRMC,084827.00,A,5159.11551,N,00423.73074,E,0.023,43.66,120308,,,A*5A
+$GPRMC,084828.00,A,5159.11551,N,00423.73075,E,0.009,,120308,,,A*75
+$GPRMC,084829.00,A,5159.11550,N,00423.73077,E,0.129,41.36,120308,,,A*5A
+$GPRMC,084830.00,A,5159.11550,N,00423.73079,E,0.050,38.76,120308,,,A*59
+$GPRMC,084831.00,A,5159.11546,N,00423.73086,E,0.042,42.49,120308,,,A*5D
+$GPRMC,084832.00,A,5159.11543,N,00423.73090,E,0.004,,120308,,,A*7B
+$GPRMC,084833.00,A,5159.11542,N,00423.73095,E,0.027,39.71,120308,,,A*5D
+$GPRMC,084834.00,A,5159.11542,N,00423.73100,E,0.007,,120308,,,A*77
+$GPRMC,084835.00,A,5159.11545,N,00423.73104,E,0.021,41.97,120308,,,A*54
+$GPRMC,084836.00,A,5159.11545,N,00423.73108,E,0.021,45.47,120308,,,A*52
+$GPRMC,084837.00,A,5159.11546,N,00423.73107,E,0.045,43.36,120308,,,A*5D
+$GPRMC,084838.00,A,5159.11547,N,00423.73105,E,0.010,,120308,,,A*7D
+$GPRMC,084839.00,A,5159.11547,N,00423.73105,E,0.010,,120308,,,A*7C
+$GPRMC,084840.00,A,5159.11548,N,00423.73102,E,0.015,,120308,,,A*7F
+$GPRMC,084841.00,A,5159.11548,N,00423.73101,E,0.005,,120308,,,A*7C
+$GPRMC,084842.00,A,5159.11551,N,00423.73098,E,0.037,41.27,120308,,,A*59
+$GPRMC,084843.00,A,5159.11551,N,00423.73097,E,0.021,38.42,120308,,,A*5D
+$GPRMC,084844.00,A,5159.11551,N,00423.73096,E,0.043,35.59,120308,,,A*58
+$GPRMC,084845.00,A,5159.11552,N,00423.73094,E,0.013,,120308,,,A*79
+$GPRMC,084846.00,A,5159.11553,N,00423.73098,E,0.211,41.15,120308,,,A*58
+$GPRMC,084847.00,A,5159.11553,N,00423.73103,E,0.066,43.94,120308,,,A*53
+$GPRMC,084848.00,A,5159.11554,N,00423.73095,E,0.186,40.81,120308,,,A*5D
+$GPRMC,084849.00,A,5159.11551,N,00423.73102,E,0.024,44.19,120308,,,A*5A
+$GPRMC,084850.00,A,5159.11552,N,00423.73101,E,0.021,44.31,120308,,,A*5D
+$GPRMC,084851.00,A,5159.11553,N,00423.73098,E,0.031,47.33,120308,,,A*5C
+$GPRMC,084852.00,A,5159.11551,N,00423.73095,E,0.009,,120308,,,A*76
+$GPRMC,084853.00,A,5159.11551,N,00423.73091,E,0.009,,120308,,,A*73
+$GPRMC,084854.00,A,5159.11551,N,00423.73089,E,0.018,,120308,,,A*7D
+$GPRMC,084855.00,A,5159.11552,N,00423.73086,E,0.006,,120308,,,A*7F
+$GPRMC,084856.00,A,5159.11555,N,00423.73080,E,0.036,45.63,120308,,,A*54
+$GPRMC,084857.00,A,5159.11555,N,00423.73076,E,0.010,,120308,,,A*72
+$GPRMC,084858.00,A,5159.11556,N,00423.73071,E,0.014,,120308,,,A*7D
+$GPRMC,084859.00,A,5159.11556,N,00423.73064,E,0.115,51.02,120308,,,A*50
+$GPRMC,084900.00,A,5159.11555,N,00423.73060,E,0.019,,120308,,,A*7F
+$GPRMC,084901.00,A,5159.11556,N,00423.73057,E,0.024,48.66,120308,,,A*55
+$GPRMC,084902.00,A,5159.11559,N,00423.73053,E,0.018,,120308,,,A*70
+$GPRMC,084903.00,A,5159.11562,N,00423.73047,E,0.018,,120308,,,A*7C
+$GPRMC,084904.00,A,5159.11559,N,00423.73049,E,0.048,45.05,120308,,,A*52
+$GPRMC,084905.00,A,5159.11553,N,00423.73055,E,0.009,,120308,,,A*7B
+$GPRMC,084906.00,A,5159.11548,N,00423.73060,E,0.020,44.14,120308,,,A*54
+$GPRMC,084907.00,A,5159.11545,N,00423.73060,E,0.009,,120308,,,A*78
+$GPRMC,084908.00,A,5159.11541,N,00423.73059,E,0.001,,120308,,,A*71
+$GPRMC,084909.00,A,5159.11537,N,00423.73056,E,0.054,42.13,120308,,,A*54
+$GPRMC,084910.00,A,5159.11536,N,00423.73058,E,0.010,,120308,,,A*79
+$GPRMC,084911.00,A,5159.11532,N,00423.73062,E,0.020,45.06,120308,,,A*5F
+$GPRMC,084912.00,A,5159.11529,N,00423.73067,E,0.006,,120308,,,A*7E
+$GPRMC,084913.00,A,5159.11528,N,00423.73074,E,0.009,,120308,,,A*73
+$GPRMC,084914.00,A,5159.11525,N,00423.73084,E,0.015,,120308,,,A*7B
+$GPRMC,084915.00,A,5159.11521,N,00423.73093,E,0.016,,120308,,,A*7B
+$GPRMC,084916.00,A,5159.11519,N,00423.73100,E,0.008,,120308,,,A*77
+$GPRMC,084917.00,A,5159.11516,N,00423.73111,E,0.133,47.50,120308,,,A*58
+$GPRMC,084918.00,A,5159.11513,N,00423.73122,E,0.055,50.35,120308,,,A*56
+$GPRMC,084919.00,A,5159.11512,N,00423.73126,E,0.018,,120308,,,A*76
+$GPRMC,084920.00,A,5159.11515,N,00423.73129,E,0.017,,120308,,,A*7B
+$GPRMC,084921.00,A,5159.11516,N,00423.73131,E,0.016,,120308,,,A*71
+$GPRMC,084922.00,A,5159.11514,N,00423.73135,E,0.060,53.70,120308,,,A*5A
+$GPRMC,084923.00,A,5159.11513,N,00423.73137,E,0.010,,120308,,,A*76
+$GPRMC,084924.00,A,5159.11514,N,00423.73140,E,0.037,56.30,120308,,,A*5D
+$GPRMC,084925.00,A,5159.11513,N,00423.73145,E,0.019,,120308,,,A*7C
+$GPRMC,084926.00,A,5159.11511,N,00423.73151,E,0.066,53.47,120308,,,A*5B
+$GPRMC,084927.00,A,5159.11508,N,00423.73159,E,0.009,,120308,,,A*78
+$GPRMC,084928.00,A,5159.11505,N,00423.73169,E,0.062,56.26,120308,,,A*5D
+$GPRMC,084929.00,A,5159.11505,N,00423.73176,E,0.021,59.48,120308,,,A*52
+$GPRMC,084930.00,A,5159.11504,N,00423.73183,E,0.020,57.03,120308,,,A*51
+$GPRMC,084931.00,A,5159.11502,N,00423.73191,E,0.095,59.62,120308,,,A*52
+$GPRMC,084932.00,A,5159.11498,N,00423.73201,E,0.032,62.11,120308,,,A*58
+$GPRMC,084933.00,A,5159.11493,N,00423.73211,E,0.014,,120308,,,A*7D
+$GPRMC,084934.00,A,5159.11486,N,00423.73219,E,0.039,63.95,120308,,,A*5E
+$GPRMC,084935.00,A,5159.11482,N,00423.73225,E,0.054,60.95,120308,,,A*5C
+$GPRMC,084936.00,A,5159.11480,N,00423.73226,E,0.048,63.84,120308,,,A*50
+$GPRMC,084937.00,A,5159.11475,N,00423.73230,E,0.030,66.10,120308,,,A*5B
+$GPRMC,084938.00,A,5159.11470,N,00423.73234,E,0.053,68.73,120308,,,A*5B
+$GPRMC,084939.00,A,5159.11463,N,00423.73247,E,0.039,66.27,120308,,,A*5F
+$GPRMC,084940.00,A,5159.11459,N,00423.73253,E,0.010,,120308,,,A*7D
+$GPRMC,084941.00,A,5159.11460,N,00423.73252,E,0.025,63.13,120308,,,A*58
+$GPRMC,084942.00,A,5159.11459,N,00423.73255,E,0.027,65.35,120308,,,A*56
+$GPRMC,084943.00,A,5159.11457,N,00423.73260,E,0.021,60.19,120308,,,A*52
+$GPRMC,084944.00,A,5159.11455,N,00423.73262,E,0.037,61.31,120308,,,A*59
+$GPRMC,084945.00,A,5159.11449,N,00423.73273,E,0.079,64.12,120308,,,A*5B
+$GPRMC,084946.00,A,5159.11446,N,00423.73273,E,0.020,67.36,120308,,,A*5E
+$GPRMC,084947.00,A,5159.11443,N,00423.73273,E,0.019,,120308,,,A*7A
+$GPRMC,084948.00,A,5159.11438,N,00423.73277,E,0.010,,120308,,,A*74
+$GPRMC,084949.00,A,5159.11435,N,00423.73279,E,0.036,69.55,120308,,,A*53
+$GPRMC,084950.00,A,5159.11430,N,00423.73283,E,0.016,,120308,,,A*78
+$GPRMC,084951.00,A,5159.11427,N,00423.73285,E,0.011,,120308,,,A*7E
+$GPRMC,084952.00,A,5159.11424,N,00423.73287,E,0.033,71.51,120308,,,A*50
+$GPRMC,084953.00,A,5159.11419,N,00423.73297,E,0.019,,120308,,,A*7A
+$GPRMC,084954.00,A,5159.11419,N,00423.73299,E,0.005,,120308,,,A*7E
+$GPRMC,084955.00,A,5159.11418,N,00423.73301,E,0.010,,120308,,,A*7A
+$GPRMC,084956.00,A,5159.11417,N,00423.73302,E,0.027,68.54,120308,,,A*50
+$GPRMC,084957.00,A,5159.11417,N,00423.73300,E,0.027,71.03,120308,,,A*59
+$GPRMC,084958.00,A,5159.11416,N,00423.73305,E,0.165,72.38,120308,,,A*5E
+$GPRMC,084959.00,A,5159.11413,N,00423.73308,E,0.084,73.27,120308,,,A*56
+$GPRMC,085000.00,A,5159.11412,N,00423.73310,E,0.092,74.75,120308,,,A*5D
+$GPRMC,085001.00,A,5159.11414,N,00423.73303,E,0.086,70.29,120308,,,A*50
+$GPRMC,085002.00,A,5159.11411,N,00423.73308,E,0.041,66.17,120308,,,A*5C
+$GPRMC,085003.00,A,5159.11409,N,00423.73310,E,0.100,67.74,120308,,,A*5D
+$GPRMC,085004.00,A,5159.11406,N,00423.73320,E,0.042,64.61,120308,,,A*56
+$GPRMC,085005.00,A,5159.11406,N,00423.73318,E,0.010,,120308,,,A*70
+$GPRMC,085006.00,A,5159.11402,N,00423.73322,E,0.048,67.29,120308,,,A*57
+$GPRMC,085007.00,A,5159.11399,N,00423.73326,E,0.012,,120308,,,A*7C
+$GPRMC,085008.00,A,5159.11396,N,00423.73329,E,0.011,,120308,,,A*70
+$GPRMC,085009.00,A,5159.11393,N,00423.73332,E,0.101,69.03,120308,,,A*5C
+$GPRMC,085010.00,A,5159.11390,N,00423.73338,E,0.033,70.54,120308,,,A*57
+$GPRMC,085011.00,A,5159.11386,N,00423.73344,E,0.073,74.81,120308,,,A*52
+$GPRMC,085012.00,A,5159.11385,N,00423.73345,E,0.053,71.03,120308,,,A*5E
+$GPRMC,085013.00,A,5159.11382,N,00423.73354,E,0.034,73.12,120308,,,A*5B
+$GPRMC,085014.00,A,5159.11381,N,00423.73357,E,0.035,77.03,120308,,,A*59
+$GPRMC,085015.00,A,5159.11382,N,00423.73358,E,0.009,,120308,,,A*76
+$GPRMC,085016.00,A,5159.11385,N,00423.73358,E,0.017,,120308,,,A*7D
+$GPRMC,085017.00,A,5159.11384,N,00423.73365,E,0.129,78.25,120308,,,A*59
+$GPRMC,085018.00,A,5159.11382,N,00423.73374,E,0.015,,120308,,,A*78
+$GPRMC,085019.00,A,5159.11384,N,00423.73376,E,0.014,,120308,,,A*7C
+$GPRMC,085020.00,A,5159.11386,N,00423.73381,E,0.018,,120308,,,A*70
+$GPRMC,085021.00,A,5159.11404,N,00423.73374,E,1.105,72.02,120308,,,A*53
+$GPRMC,085022.00,A,5159.11465,N,00423.73317,E,3.018,325.57,120308,,,A*6C
+$GPRMC,085023.00,A,5159.11536,N,00423.73223,E,2.645,318.97,120308,,,A*61
+$GPRMC,085024.00,A,5159.11580,N,00423.73163,E,1.104,320.39,120308,,,A*62
+$GPRMC,085025.00,A,5159.11597,N,00423.73149,E,0.069,321.27,120308,,,A*68
+$GPRMC,085026.00,A,5159.11603,N,00423.73142,E,0.035,317.28,120308,,,A*6D
+$GPRMC,085027.00,A,5159.11611,N,00423.73137,E,0.021,320.28,120308,,,A*6C
+$GPRMC,085028.00,A,5159.11618,N,00423.73132,E,0.147,319.45,120308,,,A*6F
+$GPRMC,085029.00,A,5159.11634,N,00423.73128,E,0.041,313.88,120308,,,A*67
+$GPRMC,085030.00,A,5159.11647,N,00423.73124,E,0.040,309.28,120308,,,A*67
+$GPRMC,085031.00,A,5159.11666,N,00423.73110,E,0.016,,120308,,,A*7F
+$GPRMC,085032.00,A,5159.11680,N,00423.73102,E,0.056,312.39,120308,,,A*67
+$GPRMC,085033.00,A,5159.11691,N,00423.73091,E,0.020,311.74,120308,,,A*66
+$GPRMC,085034.00,A,5159.11695,N,00423.73099,E,0.394,322.86,120308,,,A*6C
+$GPRMC,085035.00,A,5159.11701,N,00423.73112,E,0.422,329.75,120308,,,A*6E
+$GPRMC,085036.00,A,5159.11711,N,00423.73121,E,0.270,338.24,120308,,,A*69
+$GPRMC,085037.00,A,5159.11724,N,00423.73137,E,0.261,340.91,120308,,,A*68
+$GPRMC,085038.00,A,5159.11734,N,00423.73145,E,0.545,349.56,120308,,,A*60
+$GPRMC,085039.00,A,5159.11760,N,00423.73129,E,0.037,353.35,120308,,,A*64
+$GPRMC,085040.00,A,5159.11782,N,00423.73124,E,0.290,349.68,120308,,,A*67
+$GPRMC,085041.00,A,5159.11802,N,00423.73124,E,0.194,346.14,120308,,,A*62
+$GPRMC,085042.00,A,5159.11828,N,00423.73109,E,0.191,344.32,120308,,,A*65
+$GPRMC,085043.00,A,5159.11853,N,00423.73078,E,0.048,339.04,120308,,,A*65
+$GPRMC,085044.00,A,5159.11876,N,00423.73043,E,0.216,339.97,120308,,,A*6E
+$GPRMC,085045.00,A,5159.11897,N,00423.73014,E,0.040,342.24,120308,,,A*67
+$GPRMC,085046.00,A,5159.11915,N,00423.72990,E,0.014,,120308,,,A*77
+$GPRMC,085047.00,A,5159.11928,N,00423.72967,E,0.040,345.41,120308,,,A*68
+$GPRMC,085048.00,A,5159.11942,N,00423.72944,E,0.021,339.80,120308,,,A*6B
+$GPRMC,085049.00,A,5159.11952,N,00423.72922,E,0.093,339.04,120308,,,A*6E
+$GPRMC,085050.00,A,5159.11965,N,00423.72901,E,0.194,339.54,120308,,,A*60
+$GPRMC,085051.00,A,5159.11980,N,00423.72887,E,0.025,336.89,120308,,,A*61
+$GPRMC,085052.00,A,5159.11988,N,00423.72877,E,0.019,,120308,,,A*73
+$GPRMC,085053.00,A,5159.11997,N,00423.72866,E,0.097,342.00,120308,,,A*61
+$GPRMC,085054.00,A,5159.12000,N,00423.72879,E,0.396,342.76,120308,,,A*6F
+$GPRMC,085055.00,A,5159.12020,N,00423.72865,E,0.052,340.43,120308,,,A*6E
+$GPRMC,085056.00,A,5159.12030,N,00423.72859,E,0.041,339.65,120308,,,A*6B
+$GPRMC,085057.00,A,5159.12038,N,00423.72857,E,0.092,334.43,120308,,,A*6B
+$GPRMC,085058.00,A,5159.12042,N,00423.72850,E,0.066,332.37,120308,,,A*60
+$GPRMC,085059.00,A,5159.12047,N,00423.72850,E,0.126,332.32,120308,,,A*64
+$GPRMC,085100.00,A,5159.12058,N,00423.72828,E,0.152,330.39,120308,,,A*62
+$GPRMC,085101.00,A,5159.12063,N,00423.72820,E,0.101,333.82,120308,,,A*66
+$GPRMC,085102.00,A,5159.12078,N,00423.72796,E,0.128,333.44,120308,,,A*6C
+$GPRMC,085103.00,A,5159.12089,N,00423.72765,E,0.993,332.16,120308,,,A*61
+$GPRMC,085104.00,A,5159.12126,N,00423.72656,E,2.437,294.67,120308,,,A*69
+$GPRMC,085105.00,A,5159.12201,N,00423.72493,E,4.187,305.79,120308,,,A*6B
+$GPRMC,085106.00,A,5159.12430,N,00423.72282,E,8.207,326.50,120308,,,A*67
+$GPRMC,085107.00,A,5159.12658,N,00423.72001,E,10.292,325.39,120308,,,A*5A
+$GPRMC,085108.00,A,5159.12976,N,00423.71751,E,11.917,330.00,120308,,,A*5E
+$GPRMC,085109.00,A,5159.13352,N,00423.71489,E,13.288,331.02,120308,,,A*58
+$GPRMC,085110.00,A,5159.13703,N,00423.71136,E,15.058,326.93,120308,,,A*56
+$GPRMC,085111.00,A,5159.13990,N,00423.70661,E,16.139,316.43,120308,,,A*5C
+$GPRMC,085112.00,A,5159.14196,N,00423.70006,E,15.299,299.09,120308,,,A*53
+$GPRMC,085113.00,A,5159.14314,N,00423.69266,E,17.531,289.76,120308,,,A*58
+$GPRMC,085114.00,A,5159.14442,N,00423.68487,E,17.950,289.92,120308,,,A*52
+$GPRMC,085115.00,A,5159.14595,N,00423.67715,E,17.975,292.66,120308,,,A*59
+$GPRMC,085116.00,A,5159.14761,N,00423.66924,E,17.976,291.73,120308,,,A*5A
+$GPRMC,085117.00,A,5159.14896,N,00423.66059,E,18.018,288.38,120308,,,A*56
+$GPRMC,085118.00,A,5159.15044,N,00423.65264,E,17.111,287.76,120308,,,A*52
+$GPRMC,085119.00,A,5159.15199,N,00423.64527,E,16.592,289.82,120308,,,A*58
+$GPRMC,085120.00,A,5159.15382,N,00423.63836,E,17.384,296.04,120308,,,A*50
+$GPRMC,085121.00,A,5159.15761,N,00423.63327,E,18.357,320.32,120308,,,A*5B
+$GPRMC,085122.00,A,5159.16263,N,00423.62869,E,20.365,328.46,120308,,,A*5D
+$GPRMC,085123.00,A,5159.16978,N,00423.62496,E,25.165,339.20,120308,,,A*56
+$GPRMC,085124.00,A,5159.17875,N,00423.62039,E,31.257,341.34,120308,,,A*50
+$GPRMC,085125.00,A,5159.18878,N,00423.61559,E,35.979,342.84,120308,,,A*58
+$GPRMC,085126.00,A,5159.19982,N,00423.61048,E,37.939,343.67,120308,,,A*51
+$GPRMC,085127.00,A,5159.21092,N,00423.60555,E,39.791,344.48,120308,,,A*53
+$GPRMC,085128.00,A,5159.22247,N,00423.60067,E,42.596,344.77,120308,,,A*54
+$GPRMC,085129.00,A,5159.23461,N,00423.59553,E,44.892,344.55,120308,,,A*51
+$GPRMC,085130.00,A,5159.24781,N,00423.58987,E,48.695,343.98,120308,,,A*54
+$GPRMC,085131.00,A,5159.26126,N,00423.58380,E,50.011,344.89,120308,,,A*55
+$GPRMC,085132.00,A,5159.27508,N,00423.57772,E,51.161,344.32,120308,,,A*5E
+$GPRMC,085133.00,A,5159.28899,N,00423.57141,E,51.121,344.27,120308,,,A*53
+$GPRMC,085134.00,A,5159.30291,N,00423.56482,E,51.034,343.44,120308,,,A*53
+$GPRMC,085135.00,A,5159.31668,N,00423.55824,E,50.651,343.48,120308,,,A*5A
+$GPRMC,085136.00,A,5159.33032,N,00423.55197,E,50.426,344.34,120308,,,A*5D
+$GPRMC,085137.00,A,5159.34402,N,00423.54597,E,50.780,344.88,120308,,,A*51
+$GPRMC,085138.00,A,5159.35757,N,00423.53999,E,50.614,344.46,120308,,,A*57
+$GPRMC,085139.00,A,5159.37116,N,00423.53395,E,50.422,344.53,120308,,,A*52
+$GPRMC,085140.00,A,5159.38439,N,00423.52792,E,49.318,344.18,120308,,,A*50
+$GPRMC,085141.00,A,5159.39769,N,00423.52209,E,49.739,344.83,120308,,,A*54
+$GPRMC,085142.00,A,5159.41079,N,00423.51639,E,49.360,345.31,120308,,,A*5A
+$GPRMC,085143.00,A,5159.42393,N,00423.51079,E,49.782,345.23,120308,,,A*56
+$GPRMC,085144.00,A,5159.43756,N,00423.50502,E,50.392,344.57,120308,,,A*5A
+$GPRMC,085145.00,A,5159.45124,N,00423.49886,E,50.498,343.66,120308,,,A*5F
+$GPRMC,085146.00,A,5159.46492,N,00423.49252,E,50.636,343.14,120308,,,A*57
+$GPRMC,085147.00,A,5159.47842,N,00423.48619,E,49.997,343.50,120308,,,A*50
+$GPRMC,085148.00,A,5159.49174,N,00423.48031,E,50.072,344.44,120308,,,A*59
+$GPRMC,085149.00,A,5159.50504,N,00423.47466,E,49.818,344.84,120308,,,A*5A
+$GPRMC,085150.00,A,5159.51820,N,00423.46902,E,49.472,345.08,120308,,,A*53
+$GPRMC,085151.00,A,5159.53142,N,00423.46337,E,49.339,345.16,120308,,,A*56
+$GPRMC,085152.00,A,5159.54443,N,00423.45786,E,48.970,345.51,120308,,,A*5E
+$GPRMC,085153.00,A,5159.55732,N,00423.45279,E,48.331,345.69,120308,,,A*5A
+$GPRMC,085154.00,A,5159.57034,N,00423.44729,E,48.649,345.32,120308,,,A*5B
+$GPRMC,085155.00,A,5159.58305,N,00423.44280,E,48.373,346.53,120308,,,A*5A
+$GPRMC,085156.00,A,5159.59609,N,00423.43734,E,48.677,346.14,120308,,,A*5E
+$GPRMC,085157.00,A,5159.60921,N,00423.43177,E,48.873,345.92,120308,,,A*56
+$GPRMC,085158.00,A,5159.62237,N,00423.42608,E,49.014,345.53,120308,,,A*5C
+$GPRMC,085159.00,A,5159.63566,N,00423.41985,E,49.241,344.73,120308,,,A*57
+$GPRMC,085200.00,A,5159.64874,N,00423.41420,E,48.792,345.32,120308,,,A*5D
+$GPRMC,085201.00,A,5159.66185,N,00423.40842,E,48.995,345.00,120308,,,A*58
+$GPRMC,085202.00,A,5159.67507,N,00423.40230,E,48.885,345.19,120308,,,A*53
+$GPRMC,085203.00,A,5159.68828,N,00423.39640,E,49.175,345.21,120308,,,A*5C
+$GPRMC,085204.00,A,5159.70161,N,00423.39067,E,50.130,345.54,120308,,,A*5E
+$GPRMC,085205.00,A,5159.71522,N,00423.38468,E,50.978,344.94,120308,,,A*5E
+$GPRMC,085206.00,A,5159.72889,N,00423.37859,E,51.002,344.86,120308,,,A*55
+$GPRMC,085207.00,A,5159.74236,N,00423.37255,E,50.232,343.85,120308,,,A*5E
+$GPRMC,085208.00,A,5159.75569,N,00423.36601,E,50.491,342.77,120308,,,A*5A
+$GPRMC,085209.00,A,5159.76905,N,00423.35963,E,50.967,343.58,120308,,,A*5E
+$GPRMC,085210.00,A,5159.78278,N,00423.35335,E,52.176,344.56,120308,,,A*53
+$GPRMC,085211.00,A,5159.79652,N,00423.34723,E,52.367,344.83,120308,,,A*57
+$GPRMC,085212.00,A,5159.81048,N,00423.34111,E,52.695,344.97,120308,,,A*54
+$GPRMC,085213.00,A,5159.82452,N,00423.33514,E,52.637,345.38,120308,,,A*53
+$GPRMC,085214.00,A,5159.83844,N,00423.32951,E,51.654,346.51,120308,,,A*58
+$GPRMC,085215.00,A,5159.85250,N,00423.32448,E,52.147,347.25,120308,,,A*51
+$GPRMC,085216.00,A,5159.86663,N,00423.31841,E,52.786,345.49,120308,,,A*50
+$GPRMC,085217.00,A,5159.88078,N,00423.31202,E,53.290,344.76,120308,,,A*50
+$GPRMC,085218.00,A,5159.89527,N,00423.30489,E,53.553,344.52,120308,,,A*5B
+$GPRMC,085219.00,A,5159.90982,N,00423.29807,E,53.917,344.57,120308,,,A*5A
+$GPRMC,085220.00,A,5159.92409,N,00423.29297,E,52.773,345.96,120308,,,A*5E
+$GPRMC,085221.00,A,5159.93857,N,00423.28681,E,52.921,345.18,120308,,,A*54
+$GPRMC,085222.00,A,5159.95272,N,00423.28095,E,52.490,345.88,120308,,,A*51
+$GPRMC,085223.00,A,5159.96700,N,00423.27501,E,52.788,345.84,120308,,,A*52
+$GPRMC,085224.00,A,5159.98133,N,00423.26906,E,52.956,345.91,120308,,,A*5E
+$GPRMC,085225.00,A,5159.99576,N,00423.26268,E,52.922,345.48,120308,,,A*5F
+$GPRMC,085226.00,A,5200.01036,N,00423.25611,E,52.808,345.17,120308,,,A*59
+$GPRMC,085227.00,A,5200.02478,N,00423.24967,E,52.771,344.08,120308,,,A*54
+$GPRMC,085228.00,A,5200.03935,N,00423.24301,E,53.218,345.19,120308,,,A*5E
+$GPRMC,085229.00,A,5200.05398,N,00423.23638,E,53.604,344.84,120308,,,A*50
+$GPRMC,085230.00,A,5200.06846,N,00423.22994,E,53.446,344.89,120308,,,A*52
+$GPRMC,085231.00,A,5200.08285,N,00423.22361,E,53.189,345.02,120308,,,A*5C
+$GPRMC,085232.00,A,5200.09709,N,00423.21766,E,52.799,345.50,120308,,,A*5E
+$GPRMC,085233.00,A,5200.11158,N,00423.21080,E,52.912,345.01,120308,,,A*52
+$GPRMC,085234.00,A,5200.12585,N,00423.20463,E,53.711,344.71,120308,,,A*50
+$GPRMC,085235.00,A,5200.14020,N,00423.19833,E,53.754,344.72,120308,,,A*5C
+$GPRMC,085236.00,A,5200.15460,N,00423.19208,E,53.922,344.95,120308,,,A*5A
+$GPRMC,085237.00,A,5200.16903,N,00423.18589,E,53.655,345.26,120308,,,A*59
+$GPRMC,085238.00,A,5200.18338,N,00423.17972,E,53.440,345.14,120308,,,A*5A
+$GPRMC,085239.00,A,5200.19770,N,00423.17313,E,53.175,344.65,120308,,,A*5B
+$GPRMC,085240.00,A,5200.21182,N,00423.16682,E,53.006,344.44,120308,,,A*5F
+$GPRMC,085241.00,A,5200.22598,N,00423.16008,E,52.736,343.70,120308,,,A*53
+$GPRMC,085242.00,A,5200.23989,N,00423.15327,E,52.564,342.51,120308,,,A*57
+$GPRMC,085243.00,A,5200.25368,N,00423.14561,E,51.941,340.74,120308,,,A*5D
+$GPRMC,085244.00,A,5200.26722,N,00423.13774,E,51.358,339.65,120308,,,A*5E
+$GPRMC,085245.00,A,5200.28060,N,00423.12916,E,51.857,338.13,120308,,,A*5F
+$GPRMC,085246.00,A,5200.29391,N,00423.12003,E,51.786,336.48,120308,,,A*5E
+$GPRMC,085247.00,A,5200.30720,N,00423.11014,E,52.806,334.85,120308,,,A*5B
+$GPRMC,085248.00,A,5200.32030,N,00423.09974,E,52.842,333.54,120308,,,A*5D
+$GPRMC,085249.00,A,5200.33287,N,00423.08860,E,52.264,331.00,120308,,,A*5B
+$GPRMC,085250.00,A,5200.34513,N,00423.07708,E,51.827,330.11,120308,,,A*5F
+$GPRMC,085251.00,A,5200.35742,N,00423.06492,E,52.683,328.63,120308,,,A*57
+$GPRMC,085252.00,A,5200.36974,N,00423.05236,E,53.323,327.59,120308,,,A*5F
+$GPRMC,085253.00,A,5200.38250,N,00423.03823,E,54.718,325.48,120308,,,A*5C
+$GPRMC,085254.00,A,5200.39490,N,00423.02341,E,54.857,324.86,120308,,,A*59
+$GPRMC,085255.00,A,5200.40742,N,00423.00865,E,55.324,324.70,120308,,,A*52
+$GPRMC,085256.00,A,5200.41969,N,00422.99399,E,55.836,323.53,120308,,,A*50
+$GPRMC,085257.00,A,5200.43146,N,00422.98037,E,54.529,323.79,120308,,,A*5A
+$GPRMC,085258.00,A,5200.44327,N,00422.96699,E,54.004,324.42,120308,,,A*5E
+$GPRMC,085259.00,A,5200.45533,N,00422.95273,E,53.787,324.50,120308,,,A*56
+$GPRMC,085300.00,A,5200.46738,N,00422.93863,E,53.192,324.84,120308,,,A*57
+$GPRMC,085301.00,A,5200.47923,N,00422.92484,E,52.364,324.49,120308,,,A*5C
+$GPRMC,085302.00,A,5200.49074,N,00422.91138,E,51.052,324.41,120308,,,A*56
+$GPRMC,085303.00,A,5200.50209,N,00422.89776,E,50.568,323.87,120308,,,A*52
+$GPRMC,085304.00,A,5200.51322,N,00422.88445,E,49.995,324.11,120308,,,A*50
+$GPRMC,085305.00,A,5200.52418,N,00422.87199,E,50.370,324.28,120308,,,A*54
+$GPRMC,085306.00,A,5200.53541,N,00422.85893,E,50.714,324.35,120308,,,A*50
+$GPRMC,085307.00,A,5200.54678,N,00422.84551,E,51.033,324.11,120308,,,A*58
+$GPRMC,085308.00,A,5200.55815,N,00422.83217,E,51.118,324.09,120308,,,A*50
+$GPRMC,085309.00,A,5200.56948,N,00422.81897,E,51.111,324.25,120308,,,A*5C
+$GPRMC,085310.00,A,5200.58085,N,00422.80585,E,51.041,324.54,120308,,,A*5F
+$GPRMC,085311.00,A,5200.59234,N,00422.79258,E,51.145,324.39,120308,,,A*58
+$GPRMC,085312.00,A,5200.60386,N,00422.77921,E,51.482,324.44,120308,,,A*56
+$GPRMC,085313.00,A,5200.61559,N,00422.76568,E,52.285,324.58,120308,,,A*5D
+$GPRMC,085314.00,A,5200.62738,N,00422.75197,E,52.732,323.96,120308,,,A*57
+$GPRMC,085315.00,A,5200.63909,N,00422.73783,E,52.627,322.91,120308,,,A*5D
+$GPRMC,085316.00,A,5200.65072,N,00422.72329,E,53.120,322.19,120308,,,A*59
+$GPRMC,085317.00,A,5200.66241,N,00422.70855,E,53.269,322.54,120308,,,A*5C
+$GPRMC,085318.00,A,5200.67421,N,00422.69400,E,53.312,322.98,120308,,,A*5B
+$GPRMC,085319.00,A,5200.68608,N,00422.67969,E,53.180,323.53,120308,,,A*5F
+$GPRMC,085320.00,A,5200.69796,N,00422.66549,E,52.922,323.66,120308,,,A*5A
+$GPRMC,085321.00,A,5200.70993,N,00422.65155,E,52.754,324.62,120308,,,A*5E
+$GPRMC,085322.00,A,5200.72187,N,00422.63747,E,53.096,324.13,120308,,,A*5F
+$GPRMC,085323.00,A,5200.73372,N,00422.62359,E,52.682,324.25,120308,,,A*5A
+$GPRMC,085324.00,A,5200.74572,N,00422.60951,E,52.828,324.54,120308,,,A*54
+$GPRMC,085325.00,A,5200.75779,N,00422.59534,E,52.975,324.31,120308,,,A*52
+$GPRMC,085326.00,A,5200.76975,N,00422.58126,E,52.944,324.35,120308,,,A*50
+$GPRMC,085327.00,A,5200.78174,N,00422.56725,E,53.211,324.29,120308,,,A*5A
+$GPRMC,085328.00,A,5200.79372,N,00422.55335,E,52.968,324.32,120308,,,A*58
+$GPRMC,085329.00,A,5200.80577,N,00422.53987,E,53.690,324.29,120308,,,A*5A
+$GPRMC,085330.00,A,5200.81793,N,00422.52604,E,53.855,324.22,120308,,,A*52
+$GPRMC,085331.00,A,5200.83012,N,00422.51205,E,53.909,324.52,120308,,,A*56
+$GPRMC,085332.00,A,5200.84240,N,00422.49794,E,53.987,324.49,120308,,,A*5F
+$GPRMC,085333.00,A,5200.85474,N,00422.48361,E,54.324,324.64,120308,,,A*5A
+$GPRMC,085334.00,A,5200.86716,N,00422.46921,E,54.934,324.48,120308,,,A*5C
+$GPRMC,085335.00,A,5200.87960,N,00422.45480,E,55.159,324.56,120308,,,A*5B
+$GPRMC,085336.00,A,5200.89218,N,00422.43993,E,55.668,324.18,120308,,,A*54
+$GPRMC,085337.00,A,5200.90494,N,00422.42491,E,57.346,324.21,120308,,,A*50
+$GPRMC,085338.00,A,5200.91808,N,00422.40948,E,59.125,324.09,120308,,,A*5F
+$GPRMC,085339.00,A,5200.93151,N,00422.39368,E,60.196,323.98,120308,,,A*52
+$GPRMC,085340.00,A,5200.94512,N,00422.37775,E,60.483,324.31,120308,,,A*5B
+$GPRMC,085341.00,A,5200.95887,N,00422.36183,E,60.825,324.55,120308,,,A*56
+$GPRMC,085342.00,A,5200.97270,N,00422.34578,E,61.281,324.34,120308,,,A*55
+$GPRMC,085343.00,A,5200.98659,N,00422.32957,E,61.648,324.42,120308,,,A*53
+$GPRMC,085344.00,A,5201.00061,N,00422.31330,E,62.046,324.41,120308,,,A*59
+$GPRMC,085345.00,A,5201.01470,N,00422.29687,E,62.398,324.05,120308,,,A*5D
+$GPRMC,085346.00,A,5201.02874,N,00422.28035,E,62.561,324.41,120308,,,A*5B
+$GPRMC,085347.00,A,5201.04299,N,00422.26366,E,63.063,324.38,120308,,,A*56
+$GPRMC,085348.00,A,5201.05739,N,00422.24724,E,63.115,325.44,120308,,,A*5D
+$GPRMC,085349.00,A,5201.07176,N,00422.23077,E,62.826,324.50,120308,,,A*59
+$GPRMC,085350.00,A,5201.08607,N,00422.21426,E,62.650,324.65,120308,,,A*54
+$GPRMC,085351.00,A,5201.10007,N,00422.19760,E,62.546,324.33,120308,,,A*57
+$GPRMC,085352.00,A,5201.11406,N,00422.18048,E,63.152,324.14,120308,,,A*59
+$GPRMC,085353.00,A,5201.12805,N,00422.16368,E,62.908,324.78,120308,,,A*57
+$GPRMC,085354.00,A,5201.14236,N,00422.14740,E,62.662,325.33,120308,,,A*5D
+$GPRMC,085355.00,A,5201.15677,N,00422.13136,E,62.396,325.58,120308,,,A*5F
+$GPRMC,085356.00,A,5201.17093,N,00422.11549,E,61.207,324.77,120308,,,A*5A
+$GPRMC,085357.00,A,5201.18508,N,00422.09975,E,61.747,325.42,120308,,,A*5F
+$GPRMC,085358.00,A,5201.19929,N,00422.08390,E,61.305,325.43,120308,,,A*5D
+$GPRMC,085359.00,A,5201.21350,N,00422.06768,E,61.874,324.62,120308,,,A*51
+$GPRMC,085400.00,A,5201.22754,N,00422.05158,E,61.754,324.80,120308,,,A*5E
+$GPRMC,085401.00,A,5201.24164,N,00422.03553,E,61.553,324.90,120308,,,A*51
+$GPRMC,085402.00,A,5201.25552,N,00422.01952,E,61.077,324.50,120308,,,A*52
+$GPRMC,085403.00,A,5201.26938,N,00422.00354,E,61.432,324.17,120308,,,A*5B
+$GPRMC,085404.00,A,5201.28334,N,00421.98717,E,62.710,323.75,120308,,,A*56
+$GPRMC,085405.00,A,5201.29743,N,00421.97082,E,62.931,324.22,120308,,,A*5E
+$GPRMC,085406.00,A,5201.31175,N,00421.95428,E,63.793,324.33,120308,,,A*56
+$GPRMC,085407.00,A,5201.32617,N,00421.93746,E,64.030,323.70,120308,,,A*53
+$GPRMC,085408.00,A,5201.34045,N,00421.91993,E,65.031,322.62,120308,,,A*5D
+$GPRMC,085409.00,A,5201.35483,N,00421.90181,E,66.004,322.28,120308,,,A*52
+$GPRMC,085410.00,A,5201.36953,N,00421.88353,E,66.935,323.54,120308,,,A*5C
+$GPRMC,085411.00,A,5201.38444,N,00421.86572,E,66.499,324.05,120308,,,A*5B
+$GPRMC,085412.00,A,5201.39944,N,00421.84801,E,66.446,323.98,120308,,,A*5E
+$GPRMC,085413.00,A,5201.41443,N,00421.83043,E,66.312,324.27,120308,,,A*56
+$GPRMC,085414.00,A,5201.42944,N,00421.81287,E,66.159,324.27,120308,,,A*5D
+$GPRMC,085415.00,A,5201.44429,N,00421.79536,E,66.055,323.99,120308,,,A*59
+$GPRMC,085416.00,A,5201.45917,N,00421.77812,E,65.952,324.20,120308,,,A*56
+$GPRMC,085417.00,A,5201.47407,N,00421.76076,E,66.014,324.33,120308,,,A*58
+$GPRMC,085418.00,A,5201.48879,N,00421.74350,E,65.794,324.22,120308,,,A*54
+$GPRMC,085419.00,A,5201.50358,N,00421.72630,E,65.697,324.22,120308,,,A*53
+$GPRMC,085420.00,A,5201.51832,N,00421.70920,E,65.695,324.30,120308,,,A*52
+$GPRMC,085421.00,A,5201.53308,N,00421.69205,E,65.801,324.14,120308,,,A*52
+$GPRMC,085422.00,A,5201.54797,N,00421.67490,E,66.144,324.39,120308,,,A*54
+$GPRMC,085423.00,A,5201.56292,N,00421.65748,E,66.130,324.39,120308,,,A*50
+$GPRMC,085424.00,A,5201.57785,N,00421.64020,E,66.084,324.43,120308,,,A*5E
+$GPRMC,085425.00,A,5201.59283,N,00421.62287,E,66.399,324.67,120308,,,A*52
+$GPRMC,085426.00,A,5201.60785,N,00421.60542,E,66.206,324.62,120308,,,A*56
+$GPRMC,085427.00,A,5201.62270,N,00421.58841,E,66.027,324.49,120308,,,A*57
+$GPRMC,085428.00,A,5201.63781,N,00421.57082,E,66.452,324.14,120308,,,A*54
+$GPRMC,085429.00,A,5201.65274,N,00421.55332,E,66.527,324.45,120308,,,A*51
+$GPRMC,085430.00,A,5201.66776,N,00421.53589,E,66.837,324.36,120308,,,A*55
+$GPRMC,085431.00,A,5201.68292,N,00421.51866,E,67.106,324.55,120308,,,A*54
+$GPRMC,085432.00,A,5201.69838,N,00421.50131,E,67.356,325.33,120308,,,A*50
+$GPRMC,085433.00,A,5201.71386,N,00421.48430,E,67.021,325.98,120308,,,A*59
+$GPRMC,085434.00,A,5201.72926,N,00421.46740,E,66.793,325.91,120308,,,A*51
+$GPRMC,085435.00,A,5201.74464,N,00421.45036,E,66.765,325.26,120308,,,A*5D
+$GPRMC,085436.00,A,5201.75979,N,00421.43318,E,66.596,324.77,120308,,,A*5C
+$GPRMC,085437.00,A,5201.77484,N,00421.41563,E,66.478,323.78,120308,,,A*51
+$GPRMC,085438.00,A,5201.78966,N,00421.39768,E,66.444,322.76,120308,,,A*56
+$GPRMC,085439.00,A,5201.80436,N,00421.37958,E,66.400,322.81,120308,,,A*53
+$GPRMC,085440.00,A,5201.81906,N,00421.36147,E,66.607,322.75,120308,,,A*5B
+$GPRMC,085441.00,A,5201.83386,N,00421.34404,E,66.011,324.43,120308,,,A*58
+$GPRMC,085442.00,A,5201.84897,N,00421.32766,E,65.614,326.23,120308,,,A*52
+$GPRMC,085443.00,A,5201.86398,N,00421.31175,E,65.313,327.42,120308,,,A*56
+$GPRMC,085444.00,A,5201.87934,N,00421.29656,E,64.902,329.49,120308,,,A*5D
+$GPRMC,085445.00,A,5201.89483,N,00421.28246,E,64.382,331.68,120308,,,A*5F
+$GPRMC,085446.00,A,5201.91016,N,00421.26980,E,62.014,332.15,120308,,,A*51
+$GPRMC,085447.00,A,5201.92633,N,00421.25787,E,63.165,335.27,120308,,,A*58
+$GPRMC,085448.00,A,5201.94291,N,00421.24698,E,63.909,337.70,120308,,,A*51
+$GPRMC,085449.00,A,5201.95998,N,00421.23640,E,64.084,339.24,120308,,,A*55
+$GPRMC,085450.00,A,5201.97687,N,00421.22717,E,63.509,341.35,120308,,,A*54
+$GPRMC,085451.00,A,5201.99409,N,00421.21890,E,63.803,343.26,120308,,,A*5B
+$GPRMC,085452.00,A,5202.01166,N,00421.21149,E,63.477,345.19,120308,,,A*5E
+$GPRMC,085453.00,A,5202.02912,N,00421.20483,E,63.652,346.83,120308,,,A*50
+$GPRMC,085454.00,A,5202.04655,N,00421.19916,E,64.349,348.65,120308,,,A*58
+$GPRMC,085455.00,A,5202.06436,N,00421.19364,E,64.934,349.52,120308,,,A*56
+$GPRMC,085456.00,A,5202.08246,N,00421.18805,E,65.439,350.20,120308,,,A*5B
+$GPRMC,085457.00,A,5202.10055,N,00421.18300,E,65.560,349.95,120308,,,A*56
+$GPRMC,085458.00,A,5202.11853,N,00421.17796,E,64.759,350.07,120308,,,A*58
+$GPRMC,085459.00,A,5202.13637,N,00421.17298,E,65.192,350.22,120308,,,A*5B
+$GPRMC,085500.00,A,5202.15434,N,00421.16797,E,65.624,350.14,120308,,,A*55
+$GPRMC,085501.00,A,5202.17237,N,00421.16301,E,65.924,350.32,120308,,,A*53
+$GPRMC,085502.00,A,5202.19045,N,00421.15826,E,65.708,351.10,120308,,,A*55
+$GPRMC,085503.00,A,5202.20850,N,00421.15393,E,65.447,351.88,120308,,,A*5E
+$GPRMC,085504.00,A,5202.22648,N,00421.15008,E,65.210,352.73,120308,,,A*5E
+$GPRMC,085505.00,A,5202.24444,N,00421.14658,E,65.029,353.45,120308,,,A*59
+$GPRMC,085506.00,A,5202.26238,N,00421.14355,E,64.890,354.43,120308,,,A*57
+$GPRMC,085507.00,A,5202.28031,N,00421.14103,E,64.727,355.92,120308,,,A*5C
+$GPRMC,085508.00,A,5202.29818,N,00421.13944,E,64.592,357.89,120308,,,A*59
+$GPRMC,085509.00,A,5202.31607,N,00421.13878,E,64.419,359.43,120308,,,A*55
+$GPRMC,085510.00,A,5202.33393,N,00421.13862,E,64.336,359.92,120308,,,A*5A
+$GPRMC,085511.00,A,5202.35183,N,00421.13852,E,64.195,359.92,120308,,,A*56
+$GPRMC,085512.00,A,5202.36965,N,00421.13866,E,64.097,0.25,120308,,,A*51
+$GPRMC,085513.00,A,5202.38734,N,00421.13891,E,63.613,0.52,120308,,,A*51
+$GPRMC,085514.00,A,5202.40471,N,00421.13917,E,63.480,0.27,120308,,,A*5E
+$GPRMC,085515.00,A,5202.42203,N,00421.13921,E,63.355,359.91,120308,,,A*56
+$GPRMC,085516.00,A,5202.43950,N,00421.13921,E,63.325,359.97,120308,,,A*58
+$GPRMC,085517.00,A,5202.45696,N,00421.13966,E,63.021,1.22,120308,,,A*5E
+$GPRMC,085518.00,A,5202.47433,N,00421.14083,E,62.517,2.61,120308,,,A*5E
+$GPRMC,085519.00,A,5202.49170,N,00421.14280,E,62.644,4.86,120308,,,A*58
+$GPRMC,085520.00,A,5202.50886,N,00421.14624,E,62.311,7.85,120308,,,A*55
+$GPRMC,085521.00,A,5202.52582,N,00421.15093,E,62.058,11.14,120308,,,A*65
+$GPRMC,085522.00,A,5202.54287,N,00421.15676,E,62.288,12.87,120308,,,A*69
+$GPRMC,085523.00,A,5202.55975,N,00421.16341,E,62.628,14.12,120308,,,A*69
+$GPRMC,085524.00,A,5202.57645,N,00421.17124,E,62.567,17.23,120308,,,A*69
+$GPRMC,085525.00,A,5202.59272,N,00421.18050,E,62.436,20.41,120308,,,A*6E
+$GPRMC,085526.00,A,5202.60868,N,00421.19131,E,63.049,23.13,120308,,,A*68
+$GPRMC,085527.00,A,5202.62454,N,00421.20326,E,63.200,24.93,120308,,,A*66
+$GPRMC,085528.00,A,5202.64027,N,00421.21761,E,64.735,29.38,120308,,,A*61
+$GPRMC,085529.00,A,5202.65567,N,00421.23328,E,65.278,32.16,120308,,,A*60
+$GPRMC,085530.00,A,5202.67057,N,00421.25030,E,65.641,34.61,120308,,,A*68
+$GPRMC,085531.00,A,5202.68522,N,00421.26822,E,66.174,36.67,120308,,,A*6F
+$GPRMC,085532.00,A,5202.69978,N,00421.28712,E,66.754,38.58,120308,,,A*6A
+$GPRMC,085533.00,A,5202.71399,N,00421.30659,E,66.510,39.68,120308,,,A*60
+$GPRMC,085534.00,A,5202.72814,N,00421.32630,E,66.451,40.03,120308,,,A*60
+$GPRMC,085535.00,A,5202.74224,N,00421.34609,E,66.570,40.40,120308,,,A*67
+$GPRMC,085536.00,A,5202.75632,N,00421.36580,E,66.354,40.44,120308,,,A*62
+$GPRMC,085537.00,A,5202.77056,N,00421.38575,E,66.757,40.65,120308,,,A*65
+$GPRMC,085538.00,A,5202.78485,N,00421.40575,E,67.097,40.42,120308,,,A*6F
+$GPRMC,085539.00,A,5202.79918,N,00421.42554,E,66.946,40.26,120308,,,A*61
+$GPRMC,085540.00,A,5202.81345,N,00421.44522,E,66.826,39.87,120308,,,A*6F
+$GPRMC,085541.00,A,5202.82754,N,00421.46513,E,66.815,40.50,120308,,,A*6D
+$GPRMC,085542.00,A,5202.84172,N,00421.48483,E,66.811,40.30,120308,,,A*6E
+$GPRMC,085543.00,A,5202.85592,N,00421.50448,E,66.853,40.07,120308,,,A*68
+$GPRMC,085544.00,A,5202.87009,N,00421.52428,E,66.949,40.89,120308,,,A*62
+$GPRMC,085545.00,A,5202.88422,N,00421.54418,E,66.983,40.82,120308,,,A*69
+$GPRMC,085546.00,A,5202.89832,N,00421.56407,E,66.731,40.76,120308,,,A*66
+$GPRMC,085547.00,A,5202.91240,N,00421.58372,E,66.771,40.66,120308,,,A*6F
+$GPRMC,085548.00,A,5202.92654,N,00421.60321,E,66.640,40.72,120308,,,A*69
+$GPRMC,085549.00,A,5202.94064,N,00421.62278,E,66.575,40.62,120308,,,A*60
+$GPRMC,085550.00,A,5202.95470,N,00421.64230,E,66.439,40.64,120308,,,A*6D
+$GPRMC,085551.00,A,5202.96872,N,00421.66175,E,66.273,40.57,120308,,,A*69
+$GPRMC,085552.00,A,5202.98278,N,00421.68098,E,66.077,40.41,120308,,,A*69
+$GPRMC,085553.00,A,5202.99673,N,00421.70035,E,66.061,40.95,120308,,,A*66
+$GPRMC,085554.00,A,5203.01070,N,00421.71973,E,66.289,40.67,120308,,,A*67
+$GPRMC,085555.00,A,5203.02475,N,00421.73914,E,66.448,40.30,120308,,,A*6E
+$GPRMC,085556.00,A,5203.03886,N,00421.75847,E,66.416,40.31,120308,,,A*67
+$GPRMC,085557.00,A,5203.05281,N,00421.77800,E,66.374,41.10,120308,,,A*6D
+$GPRMC,085558.00,A,5203.06658,N,00421.79785,E,66.291,41.69,120308,,,A*69
+$GPRMC,085559.00,A,5203.08016,N,00421.81783,E,66.088,42.67,120308,,,A*6C
+$GPRMC,085600.00,A,5203.09349,N,00421.83825,E,65.942,44.04,120308,,,A*65
+$GPRMC,085601.00,A,5203.10657,N,00421.85907,E,65.806,45.32,120308,,,A*64
+$GPRMC,085602.00,A,5203.11931,N,00421.88025,E,65.581,46.15,120308,,,A*69
+$GPRMC,085603.00,A,5203.13175,N,00421.90173,E,65.280,46.68,120308,,,A*65
+$GPRMC,085604.00,A,5203.14411,N,00421.92322,E,64.991,46.44,120308,,,A*62
+$GPRMC,085605.00,A,5203.15652,N,00421.94430,E,64.701,46.08,120308,,,A*6A
+$GPRMC,085606.00,A,5203.16918,N,00421.96482,E,64.200,43.36,120308,,,A*6C
+$GPRMC,085607.00,A,5203.18249,N,00421.98375,E,63.717,39.53,120308,,,A*67
+$GPRMC,085608.00,A,5203.19647,N,00422.00101,E,63.305,35.52,120308,,,A*6A
+$GPRMC,085609.00,A,5203.21100,N,00422.01676,E,63.011,32.59,120308,,,A*68
+$GPRMC,085610.00,A,5203.22590,N,00422.03115,E,62.537,29.28,120308,,,A*62
+$GPRMC,085611.00,A,5203.24112,N,00422.04428,E,62.394,27.03,120308,,,A*6F
+$GPRMC,085612.00,A,5203.25661,N,00422.05654,E,62.264,26.07,120308,,,A*6D
+$GPRMC,085613.00,A,5203.27208,N,00422.06855,E,61.927,25.78,120308,,,A*6D
+$GPRMC,085614.00,A,5203.28756,N,00422.08011,E,61.387,25.84,120308,,,A*6E
+$GPRMC,085615.00,A,5203.30286,N,00422.09188,E,61.103,26.19,120308,,,A*67
+$GPRMC,085616.00,A,5203.31808,N,00422.10396,E,60.910,27.13,120308,,,A*6C
+$GPRMC,085617.00,A,5203.33296,N,00422.11651,E,59.944,28.38,120308,,,A*60
+$GPRMC,085618.00,A,5203.34746,N,00422.12931,E,59.298,29.67,120308,,,A*6B
+$GPRMC,085619.00,A,5203.36167,N,00422.14253,E,58.983,30.57,120308,,,A*6F
+$GPRMC,085620.00,A,5203.37576,N,00422.15604,E,58.992,31.16,120308,,,A*63
+$GPRMC,085621.00,A,5203.38974,N,00422.16977,E,59.013,31.54,120308,,,A*6C
+$GPRMC,085622.00,A,5203.40365,N,00422.18371,E,59.065,32.19,120308,,,A*63
+$GPRMC,085623.00,A,5203.41742,N,00422.19799,E,58.978,32.82,120308,,,A*67
+$GPRMC,085624.00,A,5203.43113,N,00422.21245,E,58.996,33.14,120308,,,A*61
+$GPRMC,085625.00,A,5203.44483,N,00422.22705,E,59.353,33.27,120308,,,A*6B
+$GPRMC,085626.00,A,5203.45853,N,00422.24186,E,59.572,33.65,120308,,,A*60
+$GPRMC,085627.00,A,5203.47214,N,00422.25690,E,59.397,34.14,120308,,,A*67
+$GPRMC,085628.00,A,5203.48561,N,00422.27201,E,59.161,34.44,120308,,,A*62
+$GPRMC,085629.00,A,5203.49899,N,00422.28717,E,58.789,34.68,120308,,,A*6A
+$GPRMC,085630.00,A,5203.51229,N,00422.30230,E,58.449,34.76,120308,,,A*63
+$GPRMC,085631.00,A,5203.52543,N,00422.31746,E,58.086,35.14,120308,,,A*6D
+$GPRMC,085632.00,A,5203.53848,N,00422.33272,E,57.848,35.72,120308,,,A*6C
+$GPRMC,085633.00,A,5203.55143,N,00422.34804,E,57.724,35.98,120308,,,A*64
+$GPRMC,085634.00,A,5203.56426,N,00422.36337,E,57.372,36.26,120308,,,A*6E
+$GPRMC,085635.00,A,5203.57692,N,00422.37861,E,56.622,36.15,120308,,,A*6B
+$GPRMC,085636.00,A,5203.58949,N,00422.39351,E,56.002,35.50,120308,,,A*6E
+$GPRMC,085637.00,A,5203.60220,N,00422.40826,E,55.912,35.17,120308,,,A*6D
+$GPRMC,085638.00,A,5203.61485,N,00422.42282,E,56.231,35.11,120308,,,A*63
+$GPRMC,085639.00,A,5203.62747,N,00422.43737,E,55.888,35.11,120308,,,A*6D
+$GPRMC,085640.00,A,5203.63968,N,00422.45153,E,53.091,35.46,120308,,,A*67
+$GPRMC,085641.00,A,5203.65122,N,00422.46479,E,51.088,35.18,120308,,,A*69
+$GPRMC,085642.00,A,5203.66265,N,00422.47796,E,50.350,35.39,120308,,,A*6E
+$GPRMC,085643.00,A,5203.67400,N,00422.49104,E,50.596,35.34,120308,,,A*69
+$GPRMC,085644.00,A,5203.68536,N,00422.50406,E,50.548,35.40,120308,,,A*6A
+$GPRMC,085645.00,A,5203.69665,N,00422.51725,E,50.008,35.44,120308,,,A*69
+$GPRMC,085646.00,A,5203.70782,N,00422.53025,E,49.584,35.67,120308,,,A*67
+$GPRMC,085647.00,A,5203.71876,N,00422.54333,E,49.317,35.38,120308,,,A*66
+$GPRMC,085648.00,A,5203.73005,N,00422.55633,E,50.487,34.95,120308,,,A*63
+$GPRMC,085649.00,A,5203.74118,N,00422.56949,E,49.679,35.60,120308,,,A*69
+$GPRMC,085650.00,A,5203.75251,N,00422.58322,E,50.732,35.65,120308,,,A*64
+$GPRMC,085651.00,A,5203.76418,N,00422.59708,E,51.425,35.47,120308,,,A*64
+$GPRMC,085652.00,A,5203.77601,N,00422.61101,E,51.713,35.52,120308,,,A*6A
+$GPRMC,085653.00,A,5203.78776,N,00422.62460,E,52.304,35.20,120308,,,A*60
+$GPRMC,085654.00,A,5203.79954,N,00422.63817,E,52.835,35.27,120308,,,A*6B
+$GPRMC,085655.00,A,5203.81142,N,00422.65205,E,53.134,35.55,120308,,,A*61
+$GPRMC,085656.00,A,5203.82343,N,00422.66605,E,53.057,35.62,120308,,,A*65
+$GPRMC,085657.00,A,5203.83537,N,00422.68009,E,53.112,35.64,120308,,,A*62
+$GPRMC,085658.00,A,5203.84743,N,00422.69413,E,52.887,35.64,120308,,,A*61
+$GPRMC,085659.00,A,5203.85929,N,00422.70801,E,52.392,35.36,120308,,,A*6C
+$GPRMC,085700.00,A,5203.87103,N,00422.72173,E,52.012,35.52,120308,,,A*64
+$GPRMC,085701.00,A,5203.88272,N,00422.73547,E,51.817,35.70,120308,,,A*63
+$GPRMC,085702.00,A,5203.89437,N,00422.74918,E,51.828,36.00,120308,,,A*6F
+$GPRMC,085703.00,A,5203.90598,N,00422.76297,E,51.943,36.17,120308,,,A*66
+$GPRMC,085704.00,A,5203.91757,N,00422.77702,E,52.112,36.79,120308,,,A*6E
+$GPRMC,085705.00,A,5203.92920,N,00422.79131,E,51.863,37.48,120308,,,A*65
+$GPRMC,085706.00,A,5203.94064,N,00422.80574,E,51.592,38.28,120308,,,A*60
+$GPRMC,085707.00,A,5203.95195,N,00422.82026,E,51.776,38.69,120308,,,A*62
+$GPRMC,085708.00,A,5203.96303,N,00422.83508,E,51.462,39.50,120308,,,A*66
+$GPRMC,085709.00,A,5203.97405,N,00422.84977,E,50.865,40.05,120308,,,A*60
+$GPRMC,085710.00,A,5203.98490,N,00422.86473,E,50.476,41.07,120308,,,A*6D
+$GPRMC,085711.00,A,5203.99538,N,00422.87986,E,49.858,42.19,120308,,,A*6C
+$GPRMC,085712.00,A,5204.00551,N,00422.89502,E,49.027,43.07,120308,,,A*67
+$GPRMC,085713.00,A,5204.01539,N,00422.91006,E,48.043,43.11,120308,,,A*65
+$GPRMC,085714.00,A,5204.02469,N,00422.92488,E,46.759,44.56,120308,,,A*62
+$GPRMC,085715.00,A,5204.03319,N,00422.93905,E,44.117,45.30,120308,,,A*64
+$GPRMC,085716.00,A,5204.04132,N,00422.95317,E,44.227,45.92,120308,,,A*6C
+$GPRMC,085717.00,A,5204.04918,N,00422.96684,E,42.735,46.10,120308,,,A*68
+$GPRMC,085718.00,A,5204.05702,N,00422.98045,E,42.324,46.67,120308,,,A*62
+$GPRMC,085719.00,A,5204.06492,N,00422.99436,E,42.196,46.44,120308,,,A*61
+$GPRMC,085720.00,A,5204.07284,N,00423.00835,E,42.956,46.88,120308,,,A*61
+$GPRMC,085721.00,A,5204.08089,N,00423.02213,E,42.807,46.41,120308,,,A*6C
+$GPRMC,085722.00,A,5204.08913,N,00423.03587,E,43.319,45.99,120308,,,A*6D
+$GPRMC,085723.00,A,5204.09744,N,00423.04997,E,44.153,46.88,120308,,,A*63
+$GPRMC,085724.00,A,5204.10571,N,00423.06464,E,44.910,47.59,120308,,,A*69
+$GPRMC,085725.00,A,5204.11426,N,00423.07985,E,46.429,48.90,120308,,,A*66
+$GPRMC,085726.00,A,5204.12279,N,00423.09537,E,46.367,48.70,120308,,,A*62
+$GPRMC,085727.00,A,5204.13129,N,00423.11070,E,46.000,48.53,120308,,,A*68
+$GPRMC,085728.00,A,5204.13981,N,00423.12585,E,46.117,48.11,120308,,,A*60
+$GPRMC,085729.00,A,5204.14850,N,00423.14134,E,47.268,48.01,120308,,,A*68
+$GPRMC,085730.00,A,5204.15735,N,00423.15725,E,49.123,48.69,120308,,,A*66
+$GPRMC,085731.00,A,5204.16643,N,00423.17397,E,50.356,48.79,120308,,,A*62
+$GPRMC,085732.00,A,5204.17559,N,00423.19134,E,51.300,50.02,120308,,,A*6A
+$GPRMC,085733.00,A,5204.18491,N,00423.20963,E,53.000,50.35,120308,,,A*64
+$GPRMC,085734.00,A,5204.19428,N,00423.22857,E,54.189,50.54,120308,,,A*64
+$GPRMC,085735.00,A,5204.20351,N,00423.24767,E,54.476,51.69,120308,,,A*66
+$GPRMC,085736.00,A,5204.21272,N,00423.26714,E,54.319,52.51,120308,,,A*64
+$GPRMC,085737.00,A,5204.22177,N,00423.28671,E,53.941,53.09,120308,,,A*60
+$GPRMC,085738.00,A,5204.23061,N,00423.30628,E,53.456,53.59,120308,,,A*63
+$GPRMC,085739.00,A,5204.23922,N,00423.32555,E,52.043,54.53,120308,,,A*6B
+$GPRMC,085740.00,A,5204.24732,N,00423.34469,E,50.862,55.20,120308,,,A*69
+$GPRMC,085741.00,A,5204.25528,N,00423.36361,E,50.741,55.54,120308,,,A*60
+$GPRMC,085742.00,A,5204.26303,N,00423.38271,E,50.268,56.17,120308,,,A*6B
+$GPRMC,085743.00,A,5204.27075,N,00423.40171,E,50.025,56.47,120308,,,A*6B
+$GPRMC,085744.00,A,5204.27817,N,00423.42077,E,49.466,57.18,120308,,,A*65
+$GPRMC,085745.00,A,5204.28571,N,00423.43952,E,49.903,56.60,120308,,,A*69
+$GPRMC,085746.00,A,5204.29331,N,00423.45784,E,49.176,56.11,120308,,,A*66
+$GPRMC,085747.00,A,5204.30043,N,00423.47660,E,48.707,56.52,120308,,,A*66
+$GPRMC,085748.00,A,5204.30782,N,00423.49554,E,48.728,57.58,120308,,,A*6F
+$GPRMC,085749.00,A,5204.31521,N,00423.51406,E,48.519,57.37,120308,,,A*62
+$GPRMC,085750.00,A,5204.32268,N,00423.53229,E,48.359,57.11,120308,,,A*6C
+$GPRMC,085751.00,A,5204.33018,N,00423.55047,E,48.349,56.58,120308,,,A*68
+$GPRMC,085752.00,A,5204.33778,N,00423.56877,E,48.536,56.44,120308,,,A*61
+$GPRMC,085753.00,A,5204.34540,N,00423.58696,E,48.006,56.50,120308,,,A*62
+$GPRMC,085754.00,A,5204.35272,N,00423.60493,E,47.020,56.53,120308,,,A*66
+$GPRMC,085755.00,A,5204.35989,N,00423.62263,E,46.620,57.32,120308,,,A*62
+$GPRMC,085756.00,A,5204.36676,N,00423.64041,E,46.462,57.95,120308,,,A*60
+$GPRMC,085757.00,A,5204.37357,N,00423.65857,E,47.390,59.18,120308,,,A*68
+$GPRMC,085758.00,A,5204.38040,N,00423.67738,E,48.730,59.48,120308,,,A*6D
+$GPRMC,085759.00,A,5204.38730,N,00423.69768,E,51.066,60.59,120308,,,A*61
+$GPRMC,085800.00,A,5204.39432,N,00423.71782,E,51.498,60.88,120308,,,A*66
+$GPRMC,085801.00,A,5204.40124,N,00423.73815,E,51.331,60.96,120308,,,A*63
+$GPRMC,085802.00,A,5204.40835,N,00423.75810,E,51.380,59.27,120308,,,A*60
+$GPRMC,085803.00,A,5204.41496,N,00423.77797,E,50.001,60.71,120308,,,A*65
+$GPRMC,085804.00,A,5204.42040,N,00423.79592,E,45.359,61.86,120308,,,A*64
+$GPRMC,085805.00,A,5204.42569,N,00423.81275,E,39.809,63.41,120308,,,A*6E
+$GPRMC,085806.00,A,5204.42975,N,00423.82771,E,34.415,68.14,120308,,,A*69
+$GPRMC,085807.00,A,5204.43255,N,00423.84146,E,32.599,73.58,120308,,,A*65
+$GPRMC,085808.00,A,5204.43233,N,00423.85414,E,28.872,92.48,120308,,,A*64
+$GPRMC,085809.00,A,5204.43084,N,00423.86437,E,27.651,109.57,120308,,,A*54
+$GPRMC,085810.00,A,5204.42763,N,00423.87407,E,26.590,118.22,120308,,,A*5C
+$GPRMC,085811.00,A,5204.42068,N,00423.88311,E,28.467,139.96,120308,,,A*55
+$GPRMC,085812.00,A,5204.41199,N,00423.88792,E,29.221,157.21,120308,,,A*54
+$GPRMC,085813.00,A,5204.40344,N,00423.88927,E,29.801,170.84,120308,,,A*54
+$GPRMC,085814.00,A,5204.39506,N,00423.88839,E,28.159,183.32,120308,,,A*57
+$GPRMC,085815.00,A,5204.38759,N,00423.88423,E,26.648,199.94,120308,,,A*56
+$GPRMC,085816.00,A,5204.37997,N,00423.87468,E,29.865,218.82,120308,,,A*55
+$GPRMC,085817.00,A,5204.37469,N,00423.86559,E,25.356,225.33,120308,,,A*59
+$GPRMC,085818.00,A,5204.36961,N,00423.85680,E,22.043,223.91,120308,,,A*58
+$GPRMC,085819.00,A,5204.36632,N,00423.84973,E,15.232,230.38,120308,,,A*53
+$GPRMC,085820.00,A,5204.36383,N,00423.84498,E,9.599,231.10,120308,,,A*6E
+$GPRMC,085821.00,A,5204.36220,N,00423.84182,E,4.278,232.21,120308,,,A*6D
+$GPRMC,085822.00,A,5204.36180,N,00423.84051,E,0.523,233.97,120308,,,A*69
+$GPRMC,085823.00,A,5204.36182,N,00423.84000,E,0.092,236.85,120308,,,A*67
+$GPRMC,085824.00,A,5204.36191,N,00423.83963,E,0.019,,120308,,,A*7E
+$GPRMC,085825.00,A,5204.36203,N,00423.83927,E,0.007,,120308,,,A*78
+$GPRMC,085826.00,A,5204.36215,N,00423.83898,E,0.009,,120308,,,A*77
+$GPRMC,085827.00,A,5204.36224,N,00423.83879,E,0.028,239.56,120308,,,A*6D
+$GPRMC,085828.00,A,5204.36236,N,00423.83860,E,0.017,,120308,,,A*70
+$GPRMC,085829.00,A,5204.36253,N,00423.83841,E,0.190,241.63,120308,,,A*63
+$GPRMC,085830.00,A,5204.36266,N,00423.83828,E,0.186,244.30,120308,,,A*66
+$GPRMC,085831.00,A,5204.36278,N,00423.83818,E,0.120,246.98,120308,,,A*67
+$GPRMC,085832.00,A,5204.36290,N,00423.83808,E,0.050,249.41,120308,,,A*6E
+$GPRMC,085833.00,A,5204.36303,N,00423.83798,E,0.050,252.04,120308,,,A*69
+$GPRMC,085834.00,A,5204.36315,N,00423.83787,E,0.076,254.49,120308,,,A*6C
+$GPRMC,085835.00,A,5204.36330,N,00423.83771,E,0.044,251.26,120308,,,A*6E
+$GPRMC,085836.00,A,5204.36341,N,00423.83757,E,0.014,,120308,,,A*76
+$GPRMC,085837.00,A,5204.36351,N,00423.83747,E,0.033,248.31,120308,,,A*60
+$GPRMC,085838.00,A,5204.36361,N,00423.83738,E,0.022,244.55,120308,,,A*6A
+$GPRMC,085839.00,A,5204.36370,N,00423.83731,E,0.091,241.76,120308,,,A*6E
+$GPRMC,085840.00,A,5204.36378,N,00423.83724,E,0.038,238.08,120308,,,A*68
+$GPRMC,085841.00,A,5204.36384,N,00423.83720,E,0.023,234.84,120308,,,A*6C
+$GPRMC,085842.00,A,5204.36391,N,00423.83715,E,0.029,232.57,120308,,,A*6F
+$GPRMC,085843.00,A,5204.36400,N,00423.83707,E,0.011,,120308,,,A*76
+$GPRMC,085844.00,A,5204.36409,N,00423.83696,E,0.005,,120308,,,A*74
+$GPRMC,085845.00,A,5204.36419,N,00423.83685,E,0.059,235.54,120308,,,A*64
+$GPRMC,085846.00,A,5204.36428,N,00423.83671,E,0.039,238.56,120308,,,A*67
+$GPRMC,085847.00,A,5204.36432,N,00423.83665,E,0.100,235.64,120308,,,A*6F
+$GPRMC,085848.00,A,5204.36440,N,00423.83655,E,0.004,,120308,,,A*7B
+$GPRMC,085849.00,A,5204.36446,N,00423.83646,E,0.056,238.59,120308,,,A*62
+$GPRMC,085850.00,A,5204.36453,N,00423.83634,E,0.002,,120308,,,A*71
+$GPRMC,085851.00,A,5204.36457,N,00423.83628,E,0.069,235.92,120308,,,A*65
+$GPRMC,085852.00,A,5204.36459,N,00423.83623,E,0.049,233.27,120308,,,A*69
+$GPRMC,085853.00,A,5204.36461,N,00423.83617,E,0.030,230.41,120308,,,A*69
+$GPRMC,085854.00,A,5204.36462,N,00423.83615,E,0.034,233.37,120308,,,A*69
+$GPRMC,085855.00,A,5204.36462,N,00423.83616,E,0.038,236.25,120308,,,A*61
+$GPRMC,085856.00,A,5204.36460,N,00423.83616,E,0.018,,120308,,,A*7C
+$GPRMC,085857.00,A,5204.36458,N,00423.83617,E,0.028,239.81,120308,,,A*6B
+$GPRMC,085858.00,A,5204.36456,N,00423.83619,E,0.017,,120308,,,A*77
+$GPRMC,085859.00,A,5204.36438,N,00423.83598,E,1.415,239.21,120308,,,A*66
+$GPRMC,085900.00,A,5204.36366,N,00423.83460,E,6.339,231.71,120308,,,A*62
+$GPRMC,085901.00,A,5204.36180,N,00423.83139,E,12.664,229.13,120308,,,A*55
+$GPRMC,085902.00,A,5204.35969,N,00423.82675,E,13.053,232.46,120308,,,A*5D
+$GPRMC,085903.00,A,5204.35768,N,00423.82171,E,13.342,237.24,120308,,,A*52
+$GPRMC,085904.00,A,5204.35657,N,00423.81588,E,13.486,248.14,120308,,,A*5D
+$GPRMC,085905.00,A,5204.35617,N,00423.80879,E,14.720,257.66,120308,,,A*59
+$GPRMC,085906.00,A,5204.35636,N,00423.80047,E,16.464,264.73,120308,,,A*59
+$GPRMC,085907.00,A,5204.35829,N,00423.79216,E,17.359,274.63,120308,,,A*50
+$GPRMC,085908.00,A,5204.36229,N,00423.78392,E,18.505,286.54,120308,,,A*53
+$GPRMC,085909.00,A,5204.36709,N,00423.77472,E,20.512,294.47,120308,,,A*5F
+$GPRMC,085910.00,A,5204.37329,N,00423.76416,E,23.595,300.50,120308,,,A*55
+$GPRMC,085911.00,A,5204.37948,N,00423.75182,E,26.802,302.09,120308,,,A*5A
+$GPRMC,085912.00,A,5204.39201,N,00423.74190,E,31.727,313.17,120308,,,A*52
+$GPRMC,085913.00,A,5204.40017,N,00423.73044,E,33.469,314.42,120308,,,A*5B
+$GPRMC,085914.00,A,5204.40836,N,00423.71938,E,33.808,315.26,120308,,,A*5F
+$GPRMC,085915.00,A,5204.41499,N,00423.70934,E,30.926,314.59,120308,,,A*5C
+$GPRMC,085916.00,A,5204.42149,N,00423.70020,E,26.638,315.54,120308,,,A*53
+$GPRMC,085917.00,A,5204.42715,N,00423.69319,E,22.057,320.37,120308,,,A*54
+$GPRMC,085918.00,A,5204.43101,N,00423.68795,E,17.740,322.20,120308,,,A*5B
+$GPRMC,085919.00,A,5204.43186,N,00423.68409,E,12.098,315.48,120308,,,A*5E
+$GPRMC,085920.00,A,5204.43487,N,00423.68089,E,11.293,322.53,120308,,,A*58
+$GPRMC,085921.00,A,5204.43798,N,00423.67708,E,12.555,319.76,120308,,,A*54
+$GPRMC,085922.00,A,5204.44155,N,00423.67245,E,14.528,317.32,120308,,,A*59
+$GPRMC,085923.00,A,5204.44539,N,00423.66781,E,15.018,317.72,120308,,,A*59
+$GPRMC,085924.00,A,5204.44901,N,00423.66276,E,15.668,316.53,120308,,,A*57
+$GPRMC,085925.00,A,5204.45412,N,00423.65638,E,19.060,317.13,120308,,,A*52
+$GPRMC,085926.00,A,5204.45802,N,00423.65022,E,19.153,316.22,120308,,,A*53
+$GPRMC,085927.00,A,5204.46210,N,00423.64439,E,19.155,316.54,120308,,,A*50
+$GPRMC,085928.00,A,5204.46624,N,00423.63868,E,18.950,316.94,120308,,,A*53
+$GPRMC,085929.00,A,5204.47019,N,00423.63332,E,18.325,317.32,120308,,,A*5A
+$GPRMC,085930.00,A,5204.47396,N,00423.62782,E,18.134,317.08,120308,,,A*53
+$GPRMC,085931.00,A,5204.47656,N,00423.62112,E,17.480,310.66,120308,,,A*5E
+$GPRMC,085932.00,A,5204.47871,N,00423.61518,E,16.185,306.53,120308,,,A*5B
+$GPRMC,085933.00,A,5204.48011,N,00423.60932,E,14.911,300.08,120308,,,A*51
+$GPRMC,085934.00,A,5204.48094,N,00423.60226,E,14.769,292.60,120308,,,A*50
+$GPRMC,085935.00,A,5204.48060,N,00423.59485,E,14.664,282.97,120308,,,A*5A
+$GPRMC,085936.00,A,5204.47020,N,00423.58680,E,18.937,232.49,120308,,,A*59
+$GPRMC,085937.00,A,5204.46683,N,00423.57935,E,21.199,231.68,120308,,,A*5E
+$GPRMC,085938.00,A,5204.46183,N,00423.57316,E,22.152,221.12,120308,,,A*55
+$GPRMC,085939.00,A,5204.45716,N,00423.56696,E,22.048,218.44,120308,,,A*52
+$GPRMC,085940.00,A,5204.45128,N,00423.56306,E,23.503,204.64,120308,,,A*5F
+$GPRMC,085941.00,A,5204.44401,N,00423.55802,E,26.902,201.79,120308,,,A*5C
+$GPRMC,085942.00,A,5204.43708,N,00423.55391,E,26.692,200.22,120308,,,A*5A
+$GPRMC,085943.00,A,5204.42981,N,00423.55050,E,26.957,197.80,120308,,,A*58
+$GPRMC,085944.00,A,5204.42116,N,00423.54845,E,29.148,192.15,120308,,,A*54
+$GPRMC,085945.00,A,5204.41221,N,00423.54512,E,29.866,193.04,120308,,,A*5A
+$GPRMC,085946.00,A,5204.40238,N,00423.54235,E,31.707,191.80,120308,,,A*5D
+$GPRMC,085947.00,A,5204.39427,N,00423.53822,E,30.583,195.54,120308,,,A*53
+$GPRMC,085948.00,A,5204.38507,N,00423.53118,E,32.205,200.92,120308,,,A*50
+$GPRMC,085949.00,A,5204.37792,N,00423.52566,E,30.507,206.61,120308,,,A*51
+$GPRMC,085950.00,A,5204.37023,N,00423.51899,E,31.377,209.67,120308,,,A*53
+$GPRMC,085951.00,A,5204.36412,N,00423.51169,E,30.116,215.38,120308,,,A*50
+$GPRMC,085952.00,A,5204.35736,N,00423.50339,E,31.160,218.14,120308,,,A*50
+$GPRMC,085953.00,A,5204.35048,N,00423.49423,E,32.468,220.90,120308,,,A*52
+$GPRMC,085954.00,A,5204.34575,N,00423.48381,E,30.897,228.76,120308,,,A*5F
+$GPRMC,085955.00,A,5204.33947,N,00423.47153,E,34.542,232.80,120308,,,A*55
+$GPRMC,085956.00,A,5204.33335,N,00423.45826,E,37.181,233.93,120308,,,A*5B
+$GPRMC,085957.00,A,5204.32679,N,00423.44398,E,40.671,233.07,120308,,,A*5C
+$GPRMC,085958.00,A,5204.31949,N,00423.42865,E,44.074,232.28,120308,,,A*58
+$GPRMC,085959.00,A,5204.31171,N,00423.41243,E,46.212,232.32,120308,,,A*5C
+$GPRMC,090000.00,A,5204.30386,N,00423.39585,E,46.301,232.49,120308,,,A*5B
+$GPRMC,090001.00,A,5204.29605,N,00423.37820,E,47.462,233.71,120308,,,A*59
+$GPRMC,090002.00,A,5204.28775,N,00423.35964,E,48.985,234.08,120308,,,A*5C
+$GPRMC,090003.00,A,5204.27872,N,00423.34058,E,51.184,233.35,120308,,,A*55
+$GPRMC,090004.00,A,5204.27063,N,00423.32144,E,50.142,234.63,120308,,,A*5F
+$GPRMC,090005.00,A,5204.26324,N,00423.30150,E,49.701,236.42,120308,,,A*50
+$GPRMC,090006.00,A,5204.25576,N,00423.28335,E,47.145,236.31,120308,,,A*55
+$GPRMC,090007.00,A,5204.24889,N,00423.26623,E,43.334,236.66,120308,,,A*56
+$GPRMC,090008.00,A,5204.24245,N,00423.25047,E,40.764,236.43,120308,,,A*51
+$GPRMC,090009.00,A,5204.23628,N,00423.23533,E,39.386,236.11,120308,,,A*59
+$GPRMC,090010.00,A,5204.23029,N,00423.22078,E,38.259,235.68,120308,,,A*52
+$GPRMC,090011.00,A,5204.22435,N,00423.20658,E,37.669,235.55,120308,,,A*5B
+$GPRMC,090012.00,A,5204.21840,N,00423.19271,E,37.396,235.33,120308,,,A*55
+$GPRMC,090013.00,A,5204.21254,N,00423.17892,E,36.980,235.24,120308,,,A*58
+$GPRMC,090014.00,A,5204.20658,N,00423.16529,E,36.756,234.68,120308,,,A*56
+$GPRMC,090015.00,A,5204.20073,N,00423.15179,E,36.548,234.62,120308,,,A*5D
+$GPRMC,090016.00,A,5204.19483,N,00423.13832,E,36.350,234.29,120308,,,A*5F
+$GPRMC,090017.00,A,5204.18891,N,00423.12511,E,35.875,233.84,120308,,,A*52
+$GPRMC,090018.00,A,5204.18293,N,00423.11218,E,35.579,232.87,120308,,,A*5B
+$GPRMC,090019.00,A,5204.17685,N,00423.09943,E,35.621,232.59,120308,,,A*57
+$GPRMC,090020.00,A,5204.17080,N,00423.08659,E,36.057,232.79,120308,,,A*5D
+$GPRMC,090021.00,A,5204.16458,N,00423.07359,E,36.815,231.90,120308,,,A*5C
+$GPRMC,090022.00,A,5204.15805,N,00423.06061,E,37.240,230.75,120308,,,A*50
+$GPRMC,090023.00,A,5204.15147,N,00423.04783,E,36.850,229.84,120308,,,A*5B
+$GPRMC,090024.00,A,5204.14488,N,00423.03536,E,36.362,229.52,120308,,,A*51
+$GPRMC,090025.00,A,5204.13826,N,00423.02304,E,35.961,228.87,120308,,,A*5A
+$GPRMC,090026.00,A,5204.13156,N,00423.01089,E,36.747,228.11,120308,,,A*54
+$GPRMC,090027.00,A,5204.12451,N,00422.99870,E,37.640,227.23,120308,,,A*51
+$GPRMC,090028.00,A,5204.11723,N,00422.98632,E,38.155,226.95,120308,,,A*52
+$GPRMC,090029.00,A,5204.10989,N,00422.97366,E,39.017,226.94,120308,,,A*50
+$GPRMC,090030.00,A,5204.10238,N,00422.96079,E,39.381,226.38,120308,,,A*5F
+$GPRMC,090031.00,A,5204.09464,N,00422.94771,E,39.780,225.64,120308,,,A*5B
+$GPRMC,090032.00,A,5204.08683,N,00422.93536,E,38.611,224.02,120308,,,A*5D
+$GPRMC,090033.00,A,5204.07916,N,00422.92334,E,37.843,222.92,120308,,,A*5C
+$GPRMC,090034.00,A,5204.07147,N,00422.91177,E,37.262,221.98,120308,,,A*51
+$GPRMC,090035.00,A,5204.06369,N,00422.90062,E,37.236,220.72,120308,,,A*5F
+$GPRMC,090036.00,A,5204.05579,N,00422.88980,E,37.599,219.48,120308,,,A*55
+$GPRMC,090037.00,A,5204.04773,N,00422.87912,E,37.726,218.61,120308,,,A*55
+$GPRMC,090038.00,A,5204.03961,N,00422.86850,E,38.043,217.81,120308,,,A*5C
+$GPRMC,090039.00,A,5204.03131,N,00422.85792,E,38.390,217.17,120308,,,A*50
+$GPRMC,090040.00,A,5204.02275,N,00422.84743,E,38.858,216.59,120308,,,A*55
+$GPRMC,090041.00,A,5204.01403,N,00422.83690,E,39.406,215.99,120308,,,A*51
+$GPRMC,090042.00,A,5204.00512,N,00422.82638,E,39.950,215.75,120308,,,A*5D
+$GPRMC,090043.00,A,5203.99605,N,00422.81591,E,40.480,214.93,120308,,,A*5A
+$GPRMC,090044.00,A,5203.98677,N,00422.80549,E,41.032,214.26,120308,,,A*5F
+$GPRMC,090045.00,A,5203.97721,N,00422.79515,E,41.548,213.69,120308,,,A*58
+$GPRMC,090046.00,A,5203.96734,N,00422.78455,E,42.684,213.74,120308,,,A*56
+$GPRMC,090047.00,A,5203.95733,N,00422.77389,E,43.041,213.82,120308,,,A*5D
+$GPRMC,090048.00,A,5203.94731,N,00422.76324,E,42.994,213.38,120308,,,A*56
+$GPRMC,090049.00,A,5203.93729,N,00422.75267,E,42.975,213.15,120308,,,A*5C
+$GPRMC,090050.00,A,5203.92733,N,00422.74210,E,42.894,213.67,120308,,,A*54
+$GPRMC,090051.00,A,5203.91739,N,00422.73145,E,42.838,213.74,120308,,,A*5C
+$GPRMC,090052.00,A,5203.90745,N,00422.72078,E,42.902,213.55,120308,,,A*50
+$GPRMC,090053.00,A,5203.89742,N,00422.71003,E,43.511,213.63,120308,,,A*5B
+$GPRMC,090054.00,A,5203.88730,N,00422.69913,E,43.801,213.92,120308,,,A*5B
+$GPRMC,090055.00,A,5203.87711,N,00422.68820,E,44.172,213.99,120308,,,A*57
+$GPRMC,090056.00,A,5203.86685,N,00422.67700,E,44.649,214.51,120308,,,A*57
+$GPRMC,090057.00,A,5203.85658,N,00422.66561,E,44.594,214.85,120308,,,A*5B
+$GPRMC,090058.00,A,5203.84635,N,00422.65414,E,44.755,215.38,120308,,,A*56
+$GPRMC,090059.00,A,5203.83610,N,00422.64237,E,45.310,215.41,120308,,,A*5B
+$GPRMC,090100.00,A,5203.82582,N,00422.63055,E,45.390,215.42,120308,,,A*55
+$GPRMC,090101.00,A,5203.81553,N,00422.61880,E,45.035,215.04,120308,,,A*57
+$GPRMC,090102.00,A,5203.80532,N,00422.60719,E,44.827,215.18,120308,,,A*5B
+$GPRMC,090103.00,A,5203.79516,N,00422.59555,E,44.775,215.13,120308,,,A*59
+$GPRMC,090104.00,A,5203.78496,N,00422.58380,E,45.305,215.45,120308,,,A*58
+$GPRMC,090105.00,A,5203.77475,N,00422.57196,E,45.321,215.75,120308,,,A*54
+$GPRMC,090106.00,A,5203.76455,N,00422.56013,E,45.180,215.81,120308,,,A*5B
+$GPRMC,090107.00,A,5203.75420,N,00422.54821,E,45.837,215.58,120308,,,A*51
+$GPRMC,090108.00,A,5203.74388,N,00422.53658,E,44.880,214.93,120308,,,A*56
+$GPRMC,090109.00,A,5203.73366,N,00422.52550,E,43.733,214.02,120308,,,A*52
+$GPRMC,090110.00,A,5203.72344,N,00422.51414,E,45.051,214.74,120308,,,A*5D
+$GPRMC,090111.00,A,5203.71324,N,00422.50220,E,45.215,216.41,120308,,,A*5F
+$GPRMC,090112.00,A,5203.70304,N,00422.49115,E,42.985,215.19,120308,,,A*59
+$GPRMC,090113.00,A,5203.69315,N,00422.47951,E,45.019,216.07,120308,,,A*51
+$GPRMC,090114.00,A,5203.68337,N,00422.46820,E,44.764,215.74,120308,,,A*5A
+$GPRMC,090115.00,A,5203.67342,N,00422.45653,E,45.210,215.85,120308,,,A*56
+$GPRMC,090116.00,A,5203.66328,N,00422.44453,E,45.308,215.62,120308,,,A*5A
+$GPRMC,090117.00,A,5203.65318,N,00422.43249,E,45.459,215.80,120308,,,A*5E
+$GPRMC,090118.00,A,5203.64296,N,00422.42050,E,45.579,215.94,120308,,,A*5A
+$GPRMC,090119.00,A,5203.63279,N,00422.40870,E,44.597,215.47,120308,,,A*5A
+$GPRMC,090120.00,A,5203.62258,N,00422.39719,E,45.131,214.58,120308,,,A*5A
+$GPRMC,090121.00,A,5203.61195,N,00422.38582,E,46.519,212.45,120308,,,A*5C
+$GPRMC,090122.00,A,5203.60097,N,00422.37463,E,46.947,212.44,120308,,,A*5A
+$GPRMC,090123.00,A,5203.58988,N,00422.36310,E,47.518,212.81,120308,,,A*5B
+$GPRMC,090124.00,A,5203.57853,N,00422.35084,E,49.761,214.31,120308,,,A*56
+$GPRMC,090125.00,A,5203.56679,N,00422.33761,E,52.017,215.23,120308,,,A*54
+$GPRMC,090126.00,A,5203.55470,N,00422.32361,E,54.208,215.78,120308,,,A*5E
+$GPRMC,090127.00,A,5203.54223,N,00422.30887,E,56.338,215.97,120308,,,A*5E
+$GPRMC,090128.00,A,5203.52934,N,00422.29340,E,58.194,216.21,120308,,,A*56
+$GPRMC,090129.00,A,5203.51593,N,00422.27721,E,60.081,216.15,120308,,,A*51
+$GPRMC,090130.00,A,5203.50234,N,00422.26098,E,60.773,216.24,120308,,,A*5E
+$GPRMC,090131.00,A,5203.48871,N,00422.24450,E,60.365,216.57,120308,,,A*58
+$GPRMC,090132.00,A,5203.47514,N,00422.22810,E,60.070,215.95,120308,,,A*5E
+$GPRMC,090133.00,A,5203.46151,N,00422.21151,E,60.550,216.58,120308,,,A*51
+$GPRMC,090134.00,A,5203.44797,N,00422.19498,E,60.426,216.69,120308,,,A*51
+$GPRMC,090135.00,A,5203.43446,N,00422.17834,E,60.353,216.84,120308,,,A*5A
+$GPRMC,090136.00,A,5203.42087,N,00422.16170,E,60.721,217.22,120308,,,A*55
+$GPRMC,090137.00,A,5203.40739,N,00422.14462,E,61.053,217.85,120308,,,A*5E
+$GPRMC,090138.00,A,5203.39392,N,00422.12744,E,61.533,217.93,120308,,,A*5F
+$GPRMC,090139.00,A,5203.38023,N,00422.10999,E,62.716,218.31,120308,,,A*5B
+$GPRMC,090140.00,A,5203.36647,N,00422.09195,E,63.637,219.31,120308,,,A*51
+$GPRMC,090141.00,A,5203.35275,N,00422.07299,E,64.493,221.48,120308,,,A*59
+$GPRMC,090142.00,A,5203.33918,N,00422.05334,E,65.175,222.00,120308,,,A*5B
+$GPRMC,090143.00,A,5203.32585,N,00422.03325,E,65.491,223.05,120308,,,A*5E
+$GPRMC,090144.00,A,5203.31286,N,00422.01279,E,64.709,224.57,120308,,,A*57
+$GPRMC,090145.00,A,5203.30032,N,00421.99208,E,63.725,226.10,120308,,,A*56
+$GPRMC,090146.00,A,5203.28830,N,00421.97121,E,62.695,227.91,120308,,,A*53
+$GPRMC,090147.00,A,5203.27690,N,00421.95001,E,61.686,229.34,120308,,,A*58
+$GPRMC,090148.00,A,5203.26579,N,00421.92873,E,61.565,230.13,120308,,,A*5B
+$GPRMC,090149.00,A,5203.25474,N,00421.90748,E,61.386,229.91,120308,,,A*59
+$GPRMC,090150.00,A,5203.24342,N,00421.88675,E,61.256,227.48,120308,,,A*52
+$GPRMC,090151.00,A,5203.23165,N,00421.86690,E,60.574,225.15,120308,,,A*5A
+$GPRMC,090152.00,A,5203.21911,N,00421.84717,E,62.305,223.27,120308,,,A*59
+$GPRMC,090153.00,A,5203.20612,N,00421.82822,E,62.939,220.83,120308,,,A*52
+$GPRMC,090154.00,A,5203.19247,N,00421.81030,E,63.010,217.83,120308,,,A*54
+$GPRMC,090155.00,A,5203.17823,N,00421.79343,E,63.412,215.14,120308,,,A*59
+$GPRMC,090156.00,A,5203.16356,N,00421.77789,E,63.476,212.32,120308,,,A*5F
+$GPRMC,090157.00,A,5203.14846,N,00421.76316,E,64.318,211.03,120308,,,A*5C
+$GPRMC,090158.00,A,5203.13301,N,00421.74863,E,64.074,210.37,120308,,,A*58
+$GPRMC,090159.00,A,5203.11783,N,00421.73404,E,63.456,211.25,120308,,,A*5E
+$GPRMC,090200.00,A,5203.10294,N,00421.71911,E,63.218,212.38,120308,,,A*5B
+$GPRMC,090201.00,A,5203.08844,N,00421.70371,E,62.523,213.81,120308,,,A*54
+$GPRMC,090202.00,A,5203.07428,N,00421.68812,E,61.571,214.24,120308,,,A*55
+$GPRMC,090203.00,A,5203.06034,N,00421.67272,E,60.659,214.08,120308,,,A*59
+$GPRMC,090204.00,A,5203.04657,N,00421.65754,E,59.737,214.00,120308,,,A*57
+$GPRMC,090205.00,A,5203.03303,N,00421.64249,E,58.665,214.62,120308,,,A*5E
+$GPRMC,090206.00,A,5203.01984,N,00421.62742,E,57.865,215.40,120308,,,A*52
+$GPRMC,090207.00,A,5203.00691,N,00421.61228,E,57.336,215.97,120308,,,A*54
+$GPRMC,090208.00,A,5202.99405,N,00421.59686,E,57.870,216.83,120308,,,A*51
+$GPRMC,090209.00,A,5202.98122,N,00421.58074,E,59.064,218.10,120308,,,A*5C
+$GPRMC,090210.00,A,5202.96829,N,00421.56380,E,59.774,219.80,120308,,,A*50
+$GPRMC,090211.00,A,5202.95556,N,00421.54628,E,59.961,220.86,120308,,,A*54
+$GPRMC,090212.00,A,5202.94305,N,00421.52830,E,60.007,221.93,120308,,,A*51
+$GPRMC,090213.00,A,5202.93082,N,00421.50984,E,59.809,223.49,120308,,,A*5E
+$GPRMC,090214.00,A,5202.91892,N,00421.49103,E,59.423,224.60,120308,,,A*55
+$GPRMC,090215.00,A,5202.90747,N,00421.47200,E,59.155,225.95,120308,,,A*53
+$GPRMC,090216.00,A,5202.89624,N,00421.45247,E,59.570,227.75,120308,,,A*52
+$GPRMC,090217.00,A,5202.88556,N,00421.43249,E,58.560,230.83,120308,,,A*53
+$GPRMC,090218.00,A,5202.87581,N,00421.41208,E,57.324,233.63,120308,,,A*5A
+$GPRMC,090219.00,A,5202.86678,N,00421.39094,E,55.726,236.24,120308,,,A*55
+$GPRMC,090220.00,A,5202.85850,N,00421.36921,E,56.707,238.03,120308,,,A*5B
+$GPRMC,090221.00,A,5202.85093,N,00421.34705,E,56.577,241.24,120308,,,A*59
+$GPRMC,090222.00,A,5202.84468,N,00421.32374,E,57.216,244.87,120308,,,A*52
+$GPRMC,090223.00,A,5202.83852,N,00421.29961,E,58.721,247.31,120308,,,A*55
+$GPRMC,090224.00,A,5202.83339,N,00421.27449,E,60.013,250.84,120308,,,A*58
+$GPRMC,090225.00,A,5202.82850,N,00421.24813,E,62.356,252.73,120308,,,A*56
+$GPRMC,090226.00,A,5202.82430,N,00421.22147,E,61.969,256.26,120308,,,A*50
+$GPRMC,090227.00,A,5202.82045,N,00421.19422,E,63.073,256.86,120308,,,A*53
+$GPRMC,090228.00,A,5202.81778,N,00421.16582,E,63.626,259.62,120308,,,A*51
+$GPRMC,090229.00,A,5202.81515,N,00421.13738,E,63.188,259.85,120308,,,A*55
+$GPRMC,090230.00,A,5202.81207,N,00421.10958,E,62.608,258.90,120308,,,A*59
+$GPRMC,090231.00,A,5202.80846,N,00421.08244,E,61.907,256.31,120308,,,A*5F
+$GPRMC,090232.00,A,5202.80402,N,00421.05550,E,61.281,253.75,120308,,,A*5F
+$GPRMC,090233.00,A,5202.79856,N,00421.02958,E,59.983,250.55,120308,,,A*55
+$GPRMC,090234.00,A,5202.79154,N,00421.00377,E,60.272,244.69,120308,,,A*59
+$GPRMC,090235.00,A,5202.78335,N,00420.97979,E,59.327,239.24,120308,,,A*5F
+$GPRMC,090236.00,A,5202.77364,N,00420.95727,E,59.526,232.86,120308,,,A*54
+$GPRMC,090237.00,A,5202.76257,N,00420.93602,E,59.895,228.56,120308,,,A*56
+$GPRMC,090238.00,A,5202.75093,N,00420.91661,E,58.971,224.60,120308,,,A*54
+$GPRMC,090239.00,A,5202.73778,N,00420.89936,E,59.652,218.06,120308,,,A*55
+$GPRMC,090240.00,A,5202.72422,N,00420.88430,E,59.429,212.87,120308,,,A*51
+$GPRMC,090241.00,A,5202.70985,N,00420.87107,E,60.082,207.86,120308,,,A*56
+$GPRMC,090242.00,A,5202.69489,N,00420.85997,E,60.560,203.09,120308,,,A*55
+$GPRMC,090243.00,A,5202.67887,N,00420.85099,E,61.044,198.01,120308,,,A*54
+$GPRMC,090244.00,A,5202.66216,N,00420.84376,E,61.855,193.72,120308,,,A*54
+$GPRMC,090245.00,A,5202.64478,N,00420.83931,E,62.293,188.16,120308,,,A*5C
+$GPRMC,090246.00,A,5202.62773,N,00420.83834,E,62.346,181.74,120308,,,A*51
+$GPRMC,090247.00,A,5202.61081,N,00420.83945,E,62.420,176.77,120308,,,A*52
+$GPRMC,090248.00,A,5202.59344,N,00420.84384,E,62.240,170.93,120308,,,A*50
+$GPRMC,090249.00,A,5202.57673,N,00420.84783,E,60.821,171.86,120308,,,A*57
+$GPRMC,090250.00,A,5202.55964,N,00420.85444,E,62.841,167.55,120308,,,A*50
+$GPRMC,090251.00,A,5202.54522,N,00420.86913,E,63.133,155.93,120308,,,A*54
+$GPRMC,090252.00,A,5202.52972,N,00420.88316,E,63.853,152.07,120308,,,A*5C
+$GPRMC,090253.00,A,5202.51346,N,00420.89936,E,64.698,147.26,120308,,,A*53
+$GPRMC,090254.00,A,5202.49838,N,00420.91755,E,64.000,142.75,120308,,,A*59
+$GPRMC,090255.00,A,5202.48399,N,00420.93726,E,64.143,140.98,120308,,,A*58
+$GPRMC,090256.00,A,5202.46992,N,00420.95731,E,64.119,139.64,120308,,,A*56
+$GPRMC,090257.00,A,5202.45651,N,00420.97655,E,64.792,139.92,120308,,,A*59
+$GPRMC,090258.00,A,5202.44288,N,00420.99573,E,64.990,140.47,120308,,,A*54
+$GPRMC,090259.00,A,5202.42963,N,00421.01529,E,65.662,141.89,120308,,,A*52
+$GPRMC,090300.00,A,5202.41500,N,00421.03414,E,66.390,144.51,120308,,,A*53
+$GPRMC,090301.00,A,5202.39972,N,00421.05145,E,67.090,145.54,120308,,,A*55
+$GPRMC,090302.00,A,5202.38205,N,00421.06675,E,68.709,150.79,120308,,,A*58
+$GPRMC,090303.00,A,5202.36429,N,00421.08084,E,69.540,152.97,120308,,,A*55
+$GPRMC,090304.00,A,5202.34641,N,00421.09310,E,69.989,156.54,120308,,,A*51
+$GPRMC,090305.00,A,5202.32815,N,00421.10425,E,69.665,159.40,120308,,,A*57
+$GPRMC,090306.00,A,5202.30969,N,00421.11371,E,69.364,162.48,120308,,,A*5F
+$GPRMC,090307.00,A,5202.29076,N,00421.12213,E,69.874,164.53,120308,,,A*51
+$GPRMC,090308.00,A,5202.27184,N,00421.12919,E,69.303,166.82,120308,,,A*58
+$GPRMC,090309.00,A,5202.25289,N,00421.13472,E,69.382,169.14,120308,,,A*5D
+$GPRMC,090310.00,A,5202.23368,N,00421.14008,E,70.328,170.47,120308,,,A*55
+$GPRMC,090311.00,A,5202.21453,N,00421.14487,E,70.866,170.40,120308,,,A*5C
+$GPRMC,090312.00,A,5202.19511,N,00421.14977,E,70.741,170.37,120308,,,A*5B
+$GPRMC,090313.00,A,5202.17621,N,00421.15482,E,69.419,170.17,120308,,,A*56
+$GPRMC,090314.00,A,5202.15696,N,00421.15962,E,69.328,170.86,120308,,,A*51
+$GPRMC,090315.00,A,5202.13759,N,00421.16403,E,70.137,171.60,120308,,,A*50
+$GPRMC,090316.00,A,5202.11825,N,00421.16834,E,69.579,171.55,120308,,,A*5D
+$GPRMC,090317.00,A,5202.09914,N,00421.17280,E,68.984,171.46,120308,,,A*5F
+$GPRMC,090318.00,A,5202.08014,N,00421.17760,E,68.653,171.04,120308,,,A*50
+$GPRMC,090319.00,A,5202.06119,N,00421.18258,E,68.287,170.23,120308,,,A*5B
+$GPRMC,090320.00,A,5202.04237,N,00421.18802,E,68.423,169.43,120308,,,A*5F
+$GPRMC,090321.00,A,5202.02379,N,00421.19404,E,67.650,168.15,120308,,,A*53
+$GPRMC,090322.00,A,5202.00532,N,00421.20077,E,67.480,166.69,120308,,,A*5B
+$GPRMC,090323.00,A,5201.98709,N,00421.20847,E,67.454,165.21,120308,,,A*5F
+$GPRMC,090324.00,A,5201.96947,N,00421.21738,E,67.690,162.99,120308,,,A*5A
+$GPRMC,090325.00,A,5201.95180,N,00421.22717,E,67.926,160.63,120308,,,A*50
+$GPRMC,090326.00,A,5201.93435,N,00421.23832,E,68.080,158.21,120308,,,A*50
+$GPRMC,090327.00,A,5201.91718,N,00421.25042,E,68.434,156.59,120308,,,A*5C
+$GPRMC,090328.00,A,5201.89988,N,00421.26339,E,68.776,155.26,120308,,,A*5F
+$GPRMC,090329.00,A,5201.88266,N,00421.27751,E,69.395,153.23,120308,,,A*54
+$GPRMC,090330.00,A,5201.86575,N,00421.29280,E,69.693,150.86,120308,,,A*5F
+$GPRMC,090331.00,A,5201.84898,N,00421.30953,E,70.199,148.41,120308,,,A*58
+$GPRMC,090332.00,A,5201.83291,N,00421.32735,E,70.253,145.34,120308,,,A*59
+$GPRMC,090333.00,A,5201.81710,N,00421.34632,E,70.306,143.30,120308,,,A*55
+$GPRMC,090334.00,A,5201.80141,N,00421.36518,E,70.192,143.57,120308,,,A*56
+$GPRMC,090335.00,A,5201.78570,N,00421.38443,E,70.666,143.62,120308,,,A*5D
+$GPRMC,090336.00,A,5201.76984,N,00421.40355,E,71.332,144.09,120308,,,A*57
+$GPRMC,090337.00,A,5201.75400,N,00421.42249,E,71.439,144.11,120308,,,A*5F
+$GPRMC,090338.00,A,5201.73810,N,00421.44150,E,71.197,144.24,120308,,,A*51
+$GPRMC,090339.00,A,5201.72229,N,00421.46059,E,71.058,144.36,120308,,,A*5A
+$GPRMC,090340.00,A,5201.70657,N,00421.47966,E,71.007,144.28,120308,,,A*5A
+$GPRMC,090341.00,A,5201.69083,N,00421.49860,E,71.089,144.29,120308,,,A*52
+$GPRMC,090342.00,A,5201.67505,N,00421.51737,E,70.629,144.28,120308,,,A*5C
+$GPRMC,090343.00,A,5201.65949,N,00421.53574,E,70.042,144.30,120308,,,A*5E
+$GPRMC,090344.00,A,5201.64398,N,00421.55387,E,69.841,144.30,120308,,,A*51
+$GPRMC,090345.00,A,5201.62855,N,00421.57154,E,68.788,144.43,120308,,,A*5D
+$GPRMC,090346.00,A,5201.61306,N,00421.58945,E,68.606,144.43,120308,,,A*50
+$GPRMC,090347.00,A,5201.59752,N,00421.60738,E,68.866,144.46,120308,,,A*5D
+$GPRMC,090348.00,A,5201.58204,N,00421.62571,E,68.564,143.29,120308,,,A*59
+$GPRMC,090349.00,A,5201.56639,N,00421.64433,E,70.181,143.71,120308,,,A*56
+$GPRMC,090350.00,A,5201.55065,N,00421.66316,E,70.407,144.15,120308,,,A*5E
+$GPRMC,090351.00,A,5201.53502,N,00421.68173,E,69.860,144.10,120308,,,A*52
+$GPRMC,090352.00,A,5201.51924,N,00421.70008,E,69.540,144.24,120308,,,A*57
+$GPRMC,090353.00,A,5201.50347,N,00421.71838,E,69.472,144.23,120308,,,A*55
+$GPRMC,090354.00,A,5201.48792,N,00421.73660,E,69.109,144.18,120308,,,A*57
+$GPRMC,090355.00,A,5201.47249,N,00421.75489,E,69.132,144.25,120308,,,A*5F
+$GPRMC,090356.00,A,5201.45696,N,00421.77308,E,69.111,144.18,120308,,,A*5B
+$GPRMC,090357.00,A,5201.44141,N,00421.79131,E,69.239,144.34,120308,,,A*57
+$GPRMC,090358.00,A,5201.42588,N,00421.80947,E,69.377,144.35,120308,,,A*5A
+$GPRMC,090359.00,A,5201.41025,N,00421.82762,E,69.443,144.19,120308,,,A*5F
+$GPRMC,090400.00,A,5201.39462,N,00421.84580,E,69.460,144.12,120308,,,A*5E
+$GPRMC,090401.00,A,5201.37900,N,00421.86397,E,69.500,144.16,120308,,,A*59
+$GPRMC,090402.00,A,5201.36346,N,00421.88211,E,69.267,144.26,120308,,,A*57
+$GPRMC,090403.00,A,5201.34788,N,00421.90017,E,68.822,144.45,120308,,,A*50
+$GPRMC,090404.00,A,5201.33239,N,00421.91800,E,68.342,144.60,120308,,,A*5A
+$GPRMC,090405.00,A,5201.31701,N,00421.93560,E,67.803,144.60,120308,,,A*5F
+$GPRMC,090406.00,A,5201.30180,N,00421.95322,E,67.464,144.15,120308,,,A*5B
+$GPRMC,090407.00,A,5201.28668,N,00421.97093,E,67.312,144.16,120308,,,A*5C
+$GPRMC,090408.00,A,5201.27175,N,00421.98836,E,66.186,144.19,120308,,,A*5E
+$GPRMC,090409.00,A,5201.25701,N,00422.00553,E,64.934,144.24,120308,,,A*59
+$GPRMC,090410.00,A,5201.24245,N,00422.02243,E,64.457,144.30,120308,,,A*5C
+$GPRMC,090411.00,A,5201.22805,N,00422.03922,E,64.042,143.97,120308,,,A*52
+$GPRMC,090412.00,A,5201.21379,N,00422.05600,E,63.989,143.96,120308,,,A*53
+$GPRMC,090413.00,A,5201.19947,N,00422.07274,E,63.732,144.47,120308,,,A*5E
+$GPRMC,090414.00,A,5201.18515,N,00422.08936,E,63.568,144.45,120308,,,A*5E
+$GPRMC,090415.00,A,5201.17076,N,00422.10588,E,63.589,144.29,120308,,,A*55
+$GPRMC,090416.00,A,5201.15645,N,00422.12255,E,63.811,144.26,120308,,,A*54
+$GPRMC,090417.00,A,5201.14214,N,00422.13923,E,63.835,144.33,120308,,,A*5D
+$GPRMC,090418.00,A,5201.12772,N,00422.15595,E,64.435,144.25,120308,,,A*5A
+$GPRMC,090419.00,A,5201.11324,N,00422.17286,E,64.707,144.22,120308,,,A*5D
+$GPRMC,090420.00,A,5201.09865,N,00422.18963,E,64.328,144.40,120308,,,A*52
+$GPRMC,090421.00,A,5201.08416,N,00422.20657,E,64.145,144.23,120308,,,A*55
+$GPRMC,090422.00,A,5201.06980,N,00422.22339,E,64.069,144.36,120308,,,A*5E
+$GPRMC,090423.00,A,5201.05533,N,00422.24009,E,64.477,144.45,120308,,,A*51
+$GPRMC,090424.00,A,5201.04075,N,00422.25695,E,64.950,144.48,120308,,,A*57
+$GPRMC,090425.00,A,5201.02600,N,00422.27395,E,65.356,144.30,120308,,,A*51
+$GPRMC,090426.00,A,5201.01118,N,00422.29114,E,65.760,144.38,120308,,,A*53
+$GPRMC,090427.00,A,5200.99643,N,00422.30858,E,65.930,143.49,120308,,,A*58
+$GPRMC,090428.00,A,5200.98154,N,00422.32630,E,66.611,143.93,120308,,,A*5D
+$GPRMC,090429.00,A,5200.96642,N,00422.34414,E,67.537,144.18,120308,,,A*52
+$GPRMC,090430.00,A,5200.95109,N,00422.36214,E,68.160,144.19,120308,,,A*5D
+$GPRMC,090431.00,A,5200.93566,N,00422.38037,E,68.557,144.18,120308,,,A*5B
+$GPRMC,090432.00,A,5200.92017,N,00422.39851,E,68.818,144.33,120308,,,A*5C
+$GPRMC,090433.00,A,5200.90455,N,00422.41666,E,69.141,144.26,120308,,,A*58
+$GPRMC,090434.00,A,5200.88892,N,00422.43473,E,69.375,144.23,120308,,,A*55
+$GPRMC,090435.00,A,5200.87322,N,00422.45272,E,69.130,144.74,120308,,,A*5B
+$GPRMC,090436.00,A,5200.85749,N,00422.47078,E,69.333,144.52,120308,,,A*5C
+$GPRMC,090437.00,A,5200.84181,N,00422.48885,E,69.472,144.43,120308,,,A*59
+$GPRMC,090438.00,A,5200.82615,N,00422.50718,E,69.797,143.94,120308,,,A*5D
+$GPRMC,090439.00,A,5200.81037,N,00422.52576,E,70.467,144.08,120308,,,A*57
+$GPRMC,090440.00,A,5200.79440,N,00422.54438,E,71.001,144.45,120308,,,A*5B
+$GPRMC,090441.00,A,5200.77831,N,00422.56295,E,71.303,144.47,120308,,,A*5E
+$GPRMC,090442.00,A,5200.76208,N,00422.58163,E,71.368,144.58,120308,,,A*5B
+$GPRMC,090443.00,A,5200.74573,N,00422.60034,E,71.784,144.91,120308,,,A*58
+$GPRMC,090444.00,A,5200.72929,N,00422.61879,E,72.105,145.74,120308,,,A*5C
+$GPRMC,090445.00,A,5200.71273,N,00422.63715,E,72.207,145.58,120308,,,A*52
+$GPRMC,090446.00,A,5200.69619,N,00422.65561,E,72.223,145.27,120308,,,A*59
+$GPRMC,090447.00,A,5200.67974,N,00422.67416,E,71.696,144.89,120308,,,A*5D
+$GPRMC,090448.00,A,5200.66347,N,00422.69278,E,71.308,144.52,120308,,,A*5D
+$GPRMC,090449.00,A,5200.64734,N,00422.71145,E,71.276,144.39,120308,,,A*5F
+$GPRMC,090450.00,A,5200.63128,N,00422.73009,E,71.095,144.38,120308,,,A*5E
+$GPRMC,090451.00,A,5200.61530,N,00422.74859,E,70.816,144.25,120308,,,A*54
+$GPRMC,090452.00,A,5200.59935,N,00422.76711,E,70.621,144.29,120308,,,A*52
+$GPRMC,090453.00,A,5200.58333,N,00422.78581,E,70.933,144.11,120308,,,A*5C
+$GPRMC,090454.00,A,5200.56736,N,00422.80459,E,71.021,143.94,120308,,,A*56
+$GPRMC,090455.00,A,5200.55140,N,00422.82359,E,71.551,143.45,120308,,,A*58
+$GPRMC,090456.00,A,5200.53542,N,00422.84292,E,71.981,143.10,120308,,,A*5A
+$GPRMC,090457.00,A,5200.51942,N,00422.86246,E,71.951,142.99,120308,,,A*53
+$GPRMC,090458.00,A,5200.50340,N,00422.88190,E,71.866,143.48,120308,,,A*5B
+$GPRMC,090459.00,A,5200.48731,N,00422.90112,E,71.975,143.78,120308,,,A*52
+$GPRMC,090500.00,A,5200.47116,N,00422.92020,E,72.024,144.28,120308,,,A*5D
+$GPRMC,090501.00,A,5200.45497,N,00422.93919,E,71.969,144.17,120308,,,A*5F
+$GPRMC,090502.00,A,5200.43878,N,00422.95814,E,71.972,144.25,120308,,,A*56
+$GPRMC,090503.00,A,5200.42259,N,00422.97702,E,71.817,144.37,120308,,,A*54
+$GPRMC,090504.00,A,5200.40642,N,00422.99584,E,71.500,144.36,120308,,,A*57
+$GPRMC,090505.00,A,5200.39032,N,00423.01444,E,70.970,144.81,120308,,,A*52
+$GPRMC,090506.00,A,5200.37423,N,00423.03268,E,70.482,145.47,120308,,,A*5A
+$GPRMC,090507.00,A,5200.35804,N,00423.05034,E,69.959,146.86,120308,,,A*50
+$GPRMC,090508.00,A,5200.34164,N,00423.06715,E,69.723,148.48,120308,,,A*59
+$GPRMC,090509.00,A,5200.32498,N,00423.08311,E,69.567,150.23,120308,,,A*50
+$GPRMC,090510.00,A,5200.30791,N,00423.09796,E,69.515,152.18,120308,,,A*55
+$GPRMC,090511.00,A,5200.29050,N,00423.11191,E,69.723,153.99,120308,,,A*51
+$GPRMC,090512.00,A,5200.27268,N,00423.12445,E,69.814,156.97,120308,,,A*5A
+$GPRMC,090513.00,A,5200.25466,N,00423.13634,E,69.547,157.90,120308,,,A*59
+$GPRMC,090514.00,A,5200.23620,N,00423.14685,E,69.651,160.30,120308,,,A*5F
+$GPRMC,090515.00,A,5200.21753,N,00423.15585,E,69.633,162.36,120308,,,A*5B
+$GPRMC,090516.00,A,5200.19852,N,00423.16419,E,70.432,163.96,120308,,,A*5A
+$GPRMC,090517.00,A,5200.17938,N,00423.17231,E,70.974,164.82,120308,,,A*58
+$GPRMC,090518.00,A,5200.16021,N,00423.18060,E,71.381,164.73,120308,,,A*51
+$GPRMC,090519.00,A,5200.14061,N,00423.18882,E,72.759,164.65,120308,,,A*57
+$GPRMC,090520.00,A,5200.12122,N,00423.19693,E,71.484,165.09,120308,,,A*59
+$GPRMC,090521.00,A,5200.10172,N,00423.20491,E,70.744,165.29,120308,,,A*59
+$GPRMC,090522.00,A,5200.08264,N,00423.21275,E,69.958,165.11,120308,,,A*5A
+$GPRMC,090523.00,A,5200.06371,N,00423.22062,E,69.454,165.05,120308,,,A*53
+$GPRMC,090524.00,A,5200.04503,N,00423.22840,E,68.964,165.17,120308,,,A*51
+$GPRMC,090525.00,A,5200.02634,N,00423.23613,E,68.632,164.99,120308,,,A*53
+$GPRMC,090526.00,A,5200.00787,N,00423.24356,E,68.872,165.96,120308,,,A*5C
+$GPRMC,090527.00,A,5159.98935,N,00423.25126,E,69.069,165.21,120308,,,A*5F
+$GPRMC,090528.00,A,5159.97083,N,00423.25908,E,69.219,165.05,120308,,,A*5C
+$GPRMC,090529.00,A,5159.95250,N,00423.26666,E,68.355,165.13,120308,,,A*58
+$GPRMC,090530.00,A,5159.93425,N,00423.27435,E,68.779,165.37,120308,,,A*5B
+$GPRMC,090531.00,A,5159.91564,N,00423.28219,E,69.390,165.09,120308,,,A*54
+$GPRMC,090532.00,A,5159.89699,N,00423.29020,E,69.862,165.09,120308,,,A*50
+$GPRMC,090533.00,A,5159.87813,N,00423.29817,E,70.165,165.39,120308,,,A*5A
+$GPRMC,090534.00,A,5159.85914,N,00423.30625,E,70.269,165.06,120308,,,A*5D
+$GPRMC,090535.00,A,5159.84019,N,00423.31413,E,69.532,165.37,120308,,,A*5C
+$GPRMC,090536.00,A,5159.82156,N,00423.32257,E,69.768,164.13,120308,,,A*5C
+$GPRMC,090537.00,A,5159.80285,N,00423.33072,E,69.606,164.56,120308,,,A*5E
+$GPRMC,090538.00,A,5159.78403,N,00423.33880,E,69.905,164.81,120308,,,A*5D
+$GPRMC,090539.00,A,5159.76543,N,00423.34678,E,69.330,164.93,120308,,,A*56
+$GPRMC,090540.00,A,5159.74624,N,00423.35459,E,70.779,165.15,120308,,,A*56
+$GPRMC,090541.00,A,5159.72742,N,00423.36272,E,70.016,165.05,120308,,,A*53
+$GPRMC,090542.00,A,5159.70825,N,00423.37076,E,71.001,165.15,120308,,,A*5D
+$GPRMC,090543.00,A,5159.68908,N,00423.37859,E,70.845,165.47,120308,,,A*50
+$GPRMC,090544.00,A,5159.67018,N,00423.38687,E,70.491,164.91,120308,,,A*5D
+$GPRMC,090545.00,A,5159.65110,N,00423.39492,E,70.562,164.96,120308,,,A*5A
+$GPRMC,090546.00,A,5159.63224,N,00423.40311,E,70.016,165.16,120308,,,A*56
+$GPRMC,090547.00,A,5159.61347,N,00423.41131,E,70.077,164.83,120308,,,A*5A
+$GPRMC,090548.00,A,5159.59487,N,00423.41968,E,69.349,165.03,120308,,,A*5E
+$GPRMC,090549.00,A,5159.57626,N,00423.42769,E,68.824,165.13,120308,,,A*54
+$GPRMC,090550.00,A,5159.55753,N,00423.43588,E,69.419,164.91,120308,,,A*59
+$GPRMC,090551.00,A,5159.53882,N,00423.44404,E,69.310,165.04,120308,,,A*5C
+$GPRMC,090552.00,A,5159.52020,N,00423.45206,E,68.933,165.29,120308,,,A*5E
+$GPRMC,090553.00,A,5159.50158,N,00423.45989,E,68.537,165.34,120308,,,A*5B
+$GPRMC,090554.00,A,5159.48324,N,00423.46772,E,68.518,165.20,120308,,,A*5D
+$GPRMC,090555.00,A,5159.46484,N,00423.47515,E,68.882,166.15,120308,,,A*56
+$GPRMC,090556.00,A,5159.44663,N,00423.48280,E,68.439,165.42,120308,,,A*55
+$GPRMC,090557.00,A,5159.42856,N,00423.49036,E,68.042,165.35,120308,,,A*5C
+$GPRMC,090558.00,A,5159.41057,N,00423.49801,E,68.259,165.53,120308,,,A*5D
+$GPRMC,090559.00,A,5159.39245,N,00423.50569,E,68.518,165.35,120308,,,A*5B
+$GPRMC,090600.00,A,5159.37425,N,00423.51348,E,68.569,165.16,120308,,,A*59
+$GPRMC,090601.00,A,5159.35615,N,00423.52099,E,67.798,165.51,120308,,,A*57
+$GPRMC,090602.00,A,5159.33805,N,00423.52869,E,68.213,164.85,120308,,,A*5B
+$GPRMC,090603.00,A,5159.31979,N,00423.53651,E,68.713,165.80,120308,,,A*57
+$GPRMC,090604.00,A,5159.30155,N,00423.54421,E,68.218,165.48,120308,,,A*5F
+$GPRMC,090605.00,A,5159.28332,N,00423.55165,E,68.180,166.09,120308,,,A*54
+$GPRMC,090606.00,A,5159.26516,N,00423.55953,E,68.038,165.95,120308,,,A*50
+$GPRMC,090607.00,A,5159.24682,N,00423.56690,E,68.487,166.40,120308,,,A*55
+$GPRMC,090608.00,A,5159.22850,N,00423.57423,E,68.759,166.19,120308,,,A*5A
+$GPRMC,090609.00,A,5159.20996,N,00423.58142,E,68.283,166.31,120308,,,A*57
+$GPRMC,090610.00,A,5159.19173,N,00423.58902,E,67.340,165.36,120308,,,A*5F
+$GPRMC,090611.00,A,5159.17391,N,00423.59687,E,66.306,165.21,120308,,,A*58
+$GPRMC,090612.00,A,5159.15608,N,00423.60460,E,66.180,165.50,120308,,,A*57
+$GPRMC,090613.00,A,5159.13826,N,00423.61209,E,65.561,165.30,120308,,,A*54
+$GPRMC,090614.00,A,5159.12011,N,00423.62022,E,65.206,165.16,120308,,,A*54
+$GPRMC,090615.00,A,5159.10222,N,00423.62791,E,64.485,165.41,120308,,,A*54
+$GPRMC,090616.00,A,5159.08486,N,00423.63545,E,64.063,165.25,120308,,,A*52
+$GPRMC,090617.00,A,5159.06754,N,00423.64300,E,64.354,164.94,120308,,,A*5D
+$GPRMC,090618.00,A,5159.05017,N,00423.65042,E,64.531,165.14,120308,,,A*59
+$GPRMC,090619.00,A,5159.03299,N,00423.65781,E,64.824,164.93,120308,,,A*55
+$GPRMC,090620.00,A,5159.01560,N,00423.66523,E,65.206,165.08,120308,,,A*5D
+$GPRMC,090621.00,A,5158.99810,N,00423.67243,E,65.508,165.64,120308,,,A*55
+$GPRMC,090622.00,A,5158.98064,N,00423.67967,E,64.945,165.20,120308,,,A*55
+$GPRMC,090623.00,A,5158.96304,N,00423.68711,E,66.368,165.05,120308,,,A*5F
+$GPRMC,090624.00,A,5158.94522,N,00423.69472,E,67.139,164.96,120308,,,A*53
+$GPRMC,090625.00,A,5158.92722,N,00423.70237,E,67.751,165.22,120308,,,A*5F
+$GPRMC,090626.00,A,5158.90904,N,00423.71011,E,68.170,164.66,120308,,,A*58
+$GPRMC,090627.00,A,5158.89092,N,00423.71848,E,68.526,163.90,120308,,,A*5A
+$GPRMC,090628.00,A,5158.87274,N,00423.72706,E,68.495,163.38,120308,,,A*5C
+$GPRMC,090629.00,A,5158.85454,N,00423.73499,E,67.289,164.89,120308,,,A*56
+$GPRMC,090630.00,A,5158.83633,N,00423.74295,E,67.791,164.61,120308,,,A*5C
+$GPRMC,090631.00,A,5158.81839,N,00423.75077,E,66.534,165.18,120308,,,A*57
+$GPRMC,090632.00,A,5158.80046,N,00423.75842,E,66.294,165.03,120308,,,A*5C
+$GPRMC,090633.00,A,5158.78274,N,00423.76618,E,65.435,164.58,120308,,,A*5A
+$GPRMC,090634.00,A,5158.76510,N,00423.77397,E,64.601,164.92,120308,,,A*57
+$GPRMC,090635.00,A,5158.74753,N,00423.78161,E,64.415,165.34,120308,,,A*5F
+$GPRMC,090636.00,A,5158.73049,N,00423.78925,E,63.636,164.34,120308,,,A*5A
+$GPRMC,090637.00,A,5158.71332,N,00423.79662,E,63.407,164.67,120308,,,A*5D
+$GPRMC,090638.00,A,5158.69606,N,00423.80388,E,63.421,165.42,120308,,,A*5C
+$GPRMC,090639.00,A,5158.67888,N,00423.81113,E,63.439,165.27,120308,,,A*50
+$GPRMC,090640.00,A,5158.66173,N,00423.81829,E,63.893,165.41,120308,,,A*5E
+$GPRMC,090641.00,A,5158.64435,N,00423.82550,E,64.755,165.19,120308,,,A*55
+$GPRMC,090642.00,A,5158.62695,N,00423.83303,E,65.271,165.24,120308,,,A*55
+$GPRMC,090643.00,A,5158.60924,N,00423.84046,E,66.227,165.51,120308,,,A*54
+$GPRMC,090644.00,A,5158.59162,N,00423.84827,E,66.379,165.32,120308,,,A*53
+$GPRMC,090645.00,A,5158.57392,N,00423.85623,E,67.120,164.91,120308,,,A*5D
+$GPRMC,090646.00,A,5158.55600,N,00423.86416,E,67.257,164.96,120308,,,A*51
+$GPRMC,090647.00,A,5158.53806,N,00423.87195,E,67.449,165.13,120308,,,A*54
+$GPRMC,090648.00,A,5158.52000,N,00423.87975,E,67.653,165.47,120308,,,A*5A
+$GPRMC,090649.00,A,5158.50186,N,00423.88744,E,67.726,165.33,120308,,,A*55
+$GPRMC,090650.00,A,5158.48380,N,00423.89530,E,67.303,165.18,120308,,,A*5A
+$GPRMC,090651.00,A,5158.46577,N,00423.90284,E,66.675,165.89,120308,,,A*56
+$GPRMC,090652.00,A,5158.44793,N,00423.91030,E,66.233,165.32,120308,,,A*55
+$GPRMC,090653.00,A,5158.43026,N,00423.91792,E,66.263,165.19,120308,,,A*59
+$GPRMC,090654.00,A,5158.41259,N,00423.92562,E,66.091,165.10,120308,,,A*5E
+$GPRMC,090655.00,A,5158.39500,N,00423.93327,E,65.614,164.98,120308,,,A*54
+$GPRMC,090656.00,A,5158.37761,N,00423.94091,E,65.112,165.19,120308,,,A*5C
+$GPRMC,090657.00,A,5158.36029,N,00423.94867,E,64.756,164.92,120308,,,A*53
+$GPRMC,090658.00,A,5158.34296,N,00423.95625,E,64.394,165.20,120308,,,A*53
+$GPRMC,090659.00,A,5158.32573,N,00423.96390,E,64.123,165.18,120308,,,A*55
+$GPRMC,090700.00,A,5158.30848,N,00423.97149,E,63.845,164.68,120308,,,A*50
+$GPRMC,090701.00,A,5158.29124,N,00423.97957,E,64.363,163.44,120308,,,A*5C
+$GPRMC,090702.00,A,5158.27430,N,00423.98898,E,64.679,161.37,120308,,,A*54
+$GPRMC,090703.00,A,5158.25752,N,00423.99912,E,64.945,159.80,120308,,,A*55
+$GPRMC,090704.00,A,5158.24072,N,00424.00999,E,65.489,157.63,120308,,,A*5D
+$GPRMC,090705.00,A,5158.22404,N,00424.02201,E,66.034,155.46,120308,,,A*53
+$GPRMC,090706.00,A,5158.20734,N,00424.03474,E,66.838,153.96,120308,,,A*58
+$GPRMC,090707.00,A,5158.19093,N,00424.04756,E,65.591,154.43,120308,,,A*5F
+$GPRMC,090708.00,A,5158.17472,N,00424.06044,E,64.445,154.03,120308,,,A*5E
+$GPRMC,090709.00,A,5158.15883,N,00424.07280,E,63.573,154.51,120308,,,A*50
+$GPRMC,090710.00,A,5158.14312,N,00424.08521,E,62.498,154.53,120308,,,A*5E
+$GPRMC,090711.00,A,5158.12786,N,00424.09764,E,61.628,153.03,120308,,,A*5A
+$GPRMC,090712.00,A,5158.11263,N,00424.10960,E,61.409,154.37,120308,,,A*57
+$GPRMC,090713.00,A,5158.09740,N,00424.12171,E,61.475,154.05,120308,,,A*5B
+$GPRMC,090714.00,A,5158.08219,N,00424.13390,E,61.503,153.88,120308,,,A*5A
+$GPRMC,090715.00,A,5158.06696,N,00424.14587,E,61.002,154.76,120308,,,A*53
+$GPRMC,090716.00,A,5158.05191,N,00424.15777,E,60.703,154.61,120308,,,A*5E
+$GPRMC,090717.00,A,5158.03700,N,00424.16940,E,60.197,154.77,120308,,,A*52
+$GPRMC,090718.00,A,5158.02235,N,00424.18107,E,58.758,154.14,120308,,,A*51
+$GPRMC,090719.00,A,5158.00801,N,00424.19244,E,57.523,154.66,120308,,,A*5E
+$GPRMC,090720.00,A,5157.99391,N,00424.20353,E,56.237,154.28,120308,,,A*5D
+$GPRMC,090721.00,A,5157.98014,N,00424.21462,E,55.253,153.36,120308,,,A*5E
+$GPRMC,090722.00,A,5157.96660,N,00424.22569,E,54.430,153.79,120308,,,A*56
+$GPRMC,090723.00,A,5157.95293,N,00424.23636,E,54.244,153.89,120308,,,A*5E
+$GPRMC,090724.00,A,5157.93890,N,00424.24681,E,55.550,154.79,120308,,,A*56
+$GPRMC,090725.00,A,5157.92451,N,00424.25799,E,56.931,153.83,120308,,,A*54
+$GPRMC,090726.00,A,5157.91009,N,00424.26949,E,57.909,153.86,120308,,,A*52
+$GPRMC,090727.00,A,5157.89543,N,00424.28057,E,58.376,155.01,120308,,,A*5D
+$GPRMC,090728.00,A,5157.88068,N,00424.29187,E,58.539,154.23,120308,,,A*5E
+$GPRMC,090729.00,A,5157.86596,N,00424.30322,E,58.471,154.11,120308,,,A*5C
+$GPRMC,090730.00,A,5157.85132,N,00424.31422,E,57.658,154.51,120308,,,A*59
+$GPRMC,090731.00,A,5157.83681,N,00424.32525,E,57.928,154.26,120308,,,A*5C
+$GPRMC,090732.00,A,5157.82202,N,00424.33628,E,59.083,154.70,120308,,,A*5B
+$GPRMC,090733.00,A,5157.80721,N,00424.34729,E,58.329,154.38,120308,,,A*55
+$GPRMC,090734.00,A,5157.79260,N,00424.35819,E,57.143,154.57,120308,,,A*51
+$GPRMC,090735.00,A,5157.77845,N,00424.36913,E,55.726,153.24,120308,,,A*5F
+$GPRMC,090736.00,A,5157.76466,N,00424.38012,E,55.395,154.22,120308,,,A*5B
+$GPRMC,090737.00,A,5157.75074,N,00424.39078,E,55.557,155.28,120308,,,A*50
+$GPRMC,090738.00,A,5157.73687,N,00424.40124,E,55.279,155.29,120308,,,A*5F
+$GPRMC,090739.00,A,5157.72306,N,00424.41150,E,54.907,155.85,120308,,,A*54
+$GPRMC,090740.00,A,5157.70924,N,00424.42118,E,53.958,156.42,120308,,,A*58
+$GPRMC,090741.00,A,5157.69572,N,00424.43083,E,53.339,156.16,120308,,,A*50
+$GPRMC,090742.00,A,5157.68251,N,00424.44054,E,52.703,155.36,120308,,,A*54
+$GPRMC,090743.00,A,5157.66911,N,00424.45013,E,53.597,155.86,120308,,,A*53
+$GPRMC,090744.00,A,5157.65533,N,00424.45982,E,54.912,156.43,120308,,,A*56
+$GPRMC,090745.00,A,5157.64135,N,00424.46965,E,55.035,155.92,120308,,,A*5C
+$GPRMC,090746.00,A,5157.62752,N,00424.47976,E,54.097,154.96,120308,,,A*51
+$GPRMC,090747.00,A,5157.61408,N,00424.48990,E,53.026,153.79,120308,,,A*53
+$GPRMC,090748.00,A,5157.60098,N,00424.50018,E,52.025,153.49,120308,,,A*51
+$GPRMC,090749.00,A,5157.58807,N,00424.51013,E,51.138,154.07,120308,,,A*5C
+$GPRMC,090750.00,A,5157.57538,N,00424.51996,E,50.408,154.25,120308,,,A*59
+$GPRMC,090751.00,A,5157.56288,N,00424.52950,E,49.517,154.29,120308,,,A*57
+$GPRMC,090752.00,A,5157.55055,N,00424.53882,E,48.734,154.44,120308,,,A*53
+$GPRMC,090753.00,A,5157.53838,N,00424.54805,E,48.369,154.27,120308,,,A*56
+$GPRMC,090754.00,A,5157.52629,N,00424.55736,E,47.639,154.06,120308,,,A*5C
+$GPRMC,090755.00,A,5157.51454,N,00424.56637,E,46.612,154.21,120308,,,A*58
+$GPRMC,090756.00,A,5157.50298,N,00424.57523,E,45.929,154.14,120308,,,A*59
+$GPRMC,090757.00,A,5157.49156,N,00424.58395,E,45.426,154.23,120308,,,A*53
+$GPRMC,090758.00,A,5157.48024,N,00424.59267,E,45.179,154.08,120308,,,A*52
+$GPRMC,090759.00,A,5157.46888,N,00424.60131,E,45.454,154.84,120308,,,A*57
+$GPRMC,090800.00,A,5157.45738,N,00424.60993,E,45.808,154.64,120308,,,A*58
+$GPRMC,090801.00,A,5157.44577,N,00424.61863,E,46.475,154.51,120308,,,A*5D
+$GPRMC,090802.00,A,5157.43404,N,00424.62755,E,46.853,154.36,120308,,,A*5C
+$GPRMC,090803.00,A,5157.42231,N,00424.63663,E,46.914,154.21,120308,,,A*5D
+$GPRMC,090804.00,A,5157.41061,N,00424.64574,E,46.501,154.11,120308,,,A*57
+$GPRMC,090805.00,A,5157.39908,N,00424.65473,E,45.928,154.12,120308,,,A*5F
+$GPRMC,090806.00,A,5157.38771,N,00424.66366,E,45.152,154.19,120308,,,A*53
+$GPRMC,090807.00,A,5157.37653,N,00424.67238,E,44.694,154.29,120308,,,A*58
+$GPRMC,090808.00,A,5157.36545,N,00424.68097,E,44.406,154.45,120308,,,A*59
+$GPRMC,090809.00,A,5157.35445,N,00424.68948,E,43.937,154.24,120308,,,A*5E
+$GPRMC,090810.00,A,5157.34361,N,00424.69796,E,43.255,154.25,120308,,,A*54
+$GPRMC,090811.00,A,5157.33295,N,00424.70625,E,42.658,154.30,120308,,,A*55
+$GPRMC,090812.00,A,5157.32235,N,00424.71457,E,42.332,154.44,120308,,,A*51
+$GPRMC,090813.00,A,5157.31179,N,00424.72284,E,42.261,154.64,120308,,,A*56
+$GPRMC,090814.00,A,5157.30119,N,00424.73109,E,42.541,154.79,120308,,,A*58
+$GPRMC,090815.00,A,5157.29054,N,00424.73938,E,42.779,154.68,120308,,,A*5A
+$GPRMC,090816.00,A,5157.27991,N,00424.74758,E,42.387,154.61,120308,,,A*54
+$GPRMC,090817.00,A,5157.26944,N,00424.75572,E,41.784,154.31,120308,,,A*56
+$GPRMC,090818.00,A,5157.25903,N,00424.76385,E,41.958,154.49,120308,,,A*54
+$GPRMC,090819.00,A,5157.24840,N,00424.77193,E,43.049,155.30,120308,,,A*52
+$GPRMC,090820.00,A,5157.23734,N,00424.78002,E,44.667,156.02,120308,,,A*5A
+$GPRMC,090821.00,A,5157.22582,N,00424.78827,E,46.225,156.13,120308,,,A*5A
+$GPRMC,090822.00,A,5157.21401,N,00424.79676,E,47.126,156.04,120308,,,A*5C
+$GPRMC,090823.00,A,5157.20209,N,00424.80551,E,47.218,155.57,120308,,,A*59
+$GPRMC,090824.00,A,5157.19022,N,00424.81434,E,46.984,155.08,120308,,,A*59
+$GPRMC,090825.00,A,5157.17825,N,00424.82373,E,48.218,153.74,120308,,,A*53
+$GPRMC,090826.00,A,5157.16657,N,00424.83332,E,47.150,153.52,120308,,,A*5A
+$GPRMC,090827.00,A,5157.15483,N,00424.84265,E,47.021,153.97,120308,,,A*59
+$GPRMC,090828.00,A,5157.14353,N,00424.85186,E,45.432,153.41,120308,,,A*5D
+$GPRMC,090829.00,A,5157.13221,N,00424.86051,E,44.213,154.91,120308,,,A*59
+$GPRMC,090830.00,A,5157.12134,N,00424.86964,E,42.645,154.05,120308,,,A*54
+$GPRMC,090831.00,A,5157.11097,N,00424.87803,E,40.477,154.68,120308,,,A*55
+$GPRMC,090832.00,A,5157.10112,N,00424.88575,E,38.029,155.29,120308,,,A*5C
+$GPRMC,090833.00,A,5157.09206,N,00424.89164,E,36.334,161.38,120308,,,A*50
+$GPRMC,090834.00,A,5157.08223,N,00424.89490,E,34.892,170.60,120308,,,A*57
+$GPRMC,090835.00,A,5157.07254,N,00424.89568,E,34.794,179.21,120308,,,A*5A
+$GPRMC,090836.00,A,5157.06230,N,00424.89369,E,36.106,186.50,120308,,,A*54
+$GPRMC,090837.00,A,5157.05315,N,00424.89094,E,35.875,191.71,120308,,,A*5A
+$GPRMC,090838.00,A,5157.04407,N,00424.88725,E,34.872,194.60,120308,,,A*5F
+$GPRMC,090839.00,A,5157.03668,N,00424.88416,E,29.589,194.05,120308,,,A*57
+$GPRMC,090840.00,A,5157.02976,N,00424.88193,E,25.792,189.42,120308,,,A*5B
+$GPRMC,090841.00,A,5157.02347,N,00424.88141,E,23.106,180.49,120308,,,A*52
+$GPRMC,090842.00,A,5157.01866,N,00424.88217,E,20.369,172.22,120308,,,A*52
+$GPRMC,090843.00,A,5157.01497,N,00424.88388,E,15.374,164.46,120308,,,A*59
+$GPRMC,090844.00,A,5157.01162,N,00424.88568,E,10.916,161.09,120308,,,A*5C
+$GPRMC,090845.00,A,5157.01038,N,00424.88710,E,5.377,149.63,120308,,,A*61
+$GPRMC,090846.00,A,5157.00967,N,00424.88774,E,2.450,160.06,120308,,,A*6F
+$GPRMC,090847.00,A,5157.00976,N,00424.88828,E,1.221,158.35,120308,,,A*60
+$GPRMC,090848.00,A,5157.01007,N,00424.88877,E,0.054,155.91,120308,,,A*69
+$GPRMC,090849.00,A,5157.01042,N,00424.88927,E,0.021,156.17,120308,,,A*62
+$GPRMC,090850.00,A,5157.01096,N,00424.88949,E,0.034,153.98,120308,,,A*6D
+$GPRMC,090851.00,A,5157.01148,N,00424.89006,E,0.075,151.66,120308,,,A*6B
+$GPRMC,090852.00,A,5157.01174,N,00424.89032,E,0.029,150.71,120308,,,A*6E
+$GPRMC,090853.00,A,5157.01190,N,00424.89037,E,0.003,,120308,,,A*74
+$GPRMC,090854.00,A,5157.01188,N,00424.89029,E,0.051,149.29,120308,,,A*6B
+$GPRMC,090855.00,A,5157.01189,N,00424.89030,E,0.042,147.77,120308,,,A*64
+$GPRMC,090856.00,A,5157.01191,N,00424.89036,E,0.006,,120308,,,A*74
+$GPRMC,090857.00,A,5157.01186,N,00424.89034,E,0.055,145.37,120308,,,A*6D
+$GPRMC,090858.00,A,5157.01184,N,00424.89032,E,0.007,,120308,,,A*7B
+$GPRMC,090859.00,A,5157.01189,N,00424.89036,E,0.024,140.15,120308,,,A*6D
+$GPRMC,090900.00,A,5157.01189,N,00424.89042,E,0.093,137.95,120308,,,A*67
+$GPRMC,090901.00,A,5157.01195,N,00424.89047,E,0.052,141.87,120308,,,A*61
+$GPRMC,090902.00,A,5157.01196,N,00424.89050,E,0.053,146.66,120308,,,A*6E
+$GPRMC,090903.00,A,5157.01199,N,00424.89048,E,0.029,148.22,120308,,,A*6A
+$GPRMC,090904.00,A,5157.01198,N,00424.89043,E,0.044,146.30,120308,,,A*61
+$GPRMC,090905.00,A,5157.01203,N,00424.89040,E,0.070,150.49,120308,,,A*6C
+$GPRMC,090906.00,A,5157.01208,N,00424.89029,E,0.046,153.68,120308,,,A*6E
+$GPRMC,090907.00,A,5157.01212,N,00424.89016,E,0.098,157.05,120308,,,A*64
+$GPRMC,090908.00,A,5157.01218,N,00424.89001,E,0.057,160.23,120308,,,A*64
+$GPRMC,090909.00,A,5157.01229,N,00424.88993,E,0.005,,120308,,,A*7B
+$GPRMC,090910.00,A,5157.01235,N,00424.88981,E,0.046,162.45,120308,,,A*60
+$GPRMC,090911.00,A,5157.01239,N,00424.88973,E,0.017,,120308,,,A*7E
+$GPRMC,090912.00,A,5157.01244,N,00424.88967,E,0.023,168.03,120308,,,A*67
+$GPRMC,090913.00,A,5157.01248,N,00424.88964,E,0.031,169.10,120308,,,A*69
+$GPRMC,090914.00,A,5157.01252,N,00424.88959,E,0.006,,120308,,,A*7E
+$GPRMC,090915.00,A,5157.01250,N,00424.88950,E,0.043,169.32,120308,,,A*64
+$GPRMC,090916.00,A,5157.01249,N,00424.88945,E,0.076,172.75,120308,,,A*64
+$GPRMC,090917.00,A,5157.01247,N,00424.88940,E,0.022,175.54,120308,,,A*6B
+$GPRMC,090918.00,A,5157.01243,N,00424.88934,E,0.079,172.41,120308,,,A*6E
+$GPRMC,090919.00,A,5157.01239,N,00424.88929,E,0.037,174.92,120308,,,A*6C
+$GPRMC,090920.00,A,5157.01234,N,00424.88930,E,0.049,172.70,120308,,,A*60
+$GPRMC,090921.00,A,5157.01230,N,00424.88924,E,0.075,176.53,120308,,,A*6A
+$GPRMC,090922.00,A,5157.01223,N,00424.88920,E,0.073,174.13,120308,,,A*6F
+$GPRMC,090923.00,A,5157.01218,N,00424.88915,E,0.129,178.13,120308,,,A*62
+$GPRMC,090924.00,A,5157.01210,N,00424.88927,E,0.452,174.68,120308,,,A*65
+$GPRMC,090925.00,A,5157.01203,N,00424.88937,E,0.359,170.77,120308,,,A*61
+$GPRMC,090926.00,A,5157.01206,N,00424.88909,E,0.014,,120308,,,A*78
+$GPRMC,090927.00,A,5157.01205,N,00424.88895,E,0.055,168.11,120308,,,A*6A
+$GPRMC,090928.00,A,5157.01199,N,00424.88891,E,0.026,168.14,120308,,,A*66
+$GPRMC,090929.00,A,5157.01195,N,00424.88890,E,0.014,,120308,,,A*7F
+$GPRMC,090930.00,A,5157.01187,N,00424.88899,E,0.027,168.22,120308,,,A*6C
+$GPRMC,090931.00,A,5157.01181,N,00424.88904,E,0.014,,120308,,,A*7F
+$GPRMC,090932.00,A,5157.01176,N,00424.88912,E,0.142,166.06,120308,,,A*68
+$GPRMC,090933.00,A,5157.01167,N,00424.88929,E,0.531,162.91,120308,,,A*6B
+$GPRMC,090934.00,A,5157.01159,N,00424.88940,E,0.094,161.40,120308,,,A*6B
+$GPRMC,090935.00,A,5157.01152,N,00424.88947,E,0.165,165.66,120308,,,A*69
+$GPRMC,090936.00,A,5157.01145,N,00424.88955,E,0.025,169.80,120308,,,A*6E
+$GPRMC,090937.00,A,5157.01141,N,00424.88957,E,0.017,,120308,,,A*70
+$GPRMC,090938.00,A,5157.01140,N,00424.88955,E,0.010,,120308,,,A*7B
+$GPRMC,090939.00,A,5157.01136,N,00424.88959,E,0.085,173.07,120308,,,A*67
+$GPRMC,090940.00,A,5157.01136,N,00424.88948,E,0.026,171.70,120308,,,A*62
+$GPRMC,090941.00,A,5157.01134,N,00424.88940,E,0.060,176.35,120308,,,A*6D
+$GPRMC,090942.00,A,5157.01127,N,00424.88952,E,0.811,172.95,120308,,,A*6F
+$GPRMC,090943.00,A,5157.01108,N,00424.88962,E,0.419,171.23,120308,,,A*6A
+$GPRMC,090944.00,A,5157.01100,N,00424.88970,E,0.066,173.76,120308,,,A*68
+$GPRMC,090945.00,A,5157.01099,N,00424.88971,E,0.321,177.04,120308,,,A*68
+$GPRMC,090946.00,A,5157.01110,N,00424.89003,E,1.127,169.29,120308,,,A*63
+$GPRMC,090947.00,A,5157.01105,N,00424.89012,E,0.518,162.27,120308,,,A*6A
+$GPRMC,090948.00,A,5157.01099,N,00424.89040,E,0.050,163.72,120308,,,A*6E
+$GPRMC,090949.00,A,5157.01095,N,00424.89039,E,0.084,169.00,120308,,,A*6B
+$GPRMC,090950.00,A,5157.01089,N,00424.89032,E,0.040,170.22,120308,,,A*65
+$GPRMC,090951.00,A,5157.01080,N,00424.89034,E,0.352,168.39,120308,,,A*68
+$GPRMC,090952.00,A,5157.01039,N,00424.89071,E,2.618,147.50,120308,,,A*63
+$GPRMC,090953.00,A,5157.00922,N,00424.89176,E,6.540,148.46,120308,,,A*64
+$GPRMC,090954.00,A,5157.00721,N,00424.89372,E,9.849,147.86,120308,,,A*60
+$GPRMC,090955.00,A,5157.00451,N,00424.89606,E,12.089,149.56,120308,,,A*5E
+$GPRMC,090956.00,A,5157.00138,N,00424.89903,E,13.453,147.51,120308,,,A*56
+$GPRMC,090957.00,A,5156.99815,N,00424.90197,E,12.610,150.64,120308,,,A*59
+$GPRMC,090958.00,A,5156.99515,N,00424.90501,E,12.336,150.08,120308,,,A*5B
+$GPRMC,090959.00,A,5156.99227,N,00424.90799,E,12.044,146.76,120308,,,A*57
+$GPRMC,091000.00,A,5156.98936,N,00424.91118,E,12.706,145.35,120308,,,A*52
+$GPRMC,091001.00,A,5156.98655,N,00424.91556,E,13.943,136.16,120308,,,A*5C
+$GPRMC,091002.00,A,5156.98414,N,00424.92001,E,12.818,129.50,120308,,,A*5E
+$GPRMC,091003.00,A,5156.98234,N,00424.92617,E,15.364,112.26,120308,,,A*54
+$GPRMC,091004.00,A,5156.98257,N,00424.93265,E,13.797,86.58,120308,,,A*6D
+$GPRMC,091005.00,A,5156.98487,N,00424.93965,E,15.748,55.02,120308,,,A*69
+$GPRMC,091006.00,A,5156.98909,N,00424.94760,E,21.633,46.84,120308,,,A*6B
+$GPRMC,091007.00,A,5156.99351,N,00424.95668,E,26.096,49.40,120308,,,A*6D
+$GPRMC,091008.00,A,5156.99837,N,00424.96661,E,27.364,52.90,120308,,,A*6B
+$GPRMC,091009.00,A,5157.00320,N,00424.97686,E,27.880,54.81,120308,,,A*69
+$GPRMC,091010.00,A,5157.00808,N,00424.98774,E,28.071,54.46,120308,,,A*61
+$GPRMC,091011.00,A,5157.01285,N,00424.99843,E,27.558,54.99,120308,,,A*67
+$GPRMC,091012.00,A,5157.01741,N,00425.00864,E,25.627,54.44,120308,,,A*64
+$GPRMC,091013.00,A,5157.02151,N,00425.01789,E,22.948,54.66,120308,,,A*6D
+$GPRMC,091014.00,A,5157.02496,N,00425.02565,E,18.855,55.37,120308,,,A*66
+$GPRMC,091015.00,A,5157.02774,N,00425.03156,E,14.445,54.43,120308,,,A*6E
+$GPRMC,091016.00,A,5157.02979,N,00425.03579,E,10.423,52.59,120308,,,A*6E
+$GPRMC,091017.00,A,5157.03109,N,00425.03821,E,5.030,49.51,120308,,,A*51
+$GPRMC,091018.00,A,5157.03161,N,00425.03913,E,1.828,49.54,120308,,,A*50
+$GPRMC,091019.00,A,5157.03169,N,00425.03964,E,1.108,49.78,120308,,,A*5C
+$GPRMC,091020.00,A,5157.03178,N,00425.03971,E,0.785,50.16,120308,,,A*50
+$GPRMC,091021.00,A,5157.03173,N,00425.03984,E,0.192,49.97,120308,,,A*51
+$GPRMC,091022.00,A,5157.03133,N,00425.04041,E,0.162,52.42,120308,,,A*5C
+$GPRMC,091023.00,A,5157.03115,N,00425.04042,E,0.286,56.52,120308,,,A*56
+$GPRMC,091024.00,A,5157.03099,N,00425.04027,E,0.311,60.01,120308,,,A*5B
+$GPRMC,091025.00,A,5157.03085,N,00425.04028,E,0.256,63.52,120308,,,A*5F
+$GPRMC,091026.00,A,5157.03078,N,00425.04008,E,0.229,55.56,120308,,,A*55
+$GPRMC,091027.00,A,5157.03036,N,00425.04080,E,0.175,52.15,120308,,,A*54
+$GPRMC,091028.00,A,5157.03014,N,00425.04098,E,0.010,,120308,,,A*7D
+$GPRMC,091029.00,A,5157.02994,N,00425.04114,E,0.056,49.05,120308,,,A*5D
+$GPRMC,091030.00,A,5157.02973,N,00425.04131,E,0.066,51.09,120308,,,A*5D
+$GPRMC,091031.00,A,5157.02966,N,00425.04123,E,0.076,54.13,120308,,,A*54
+$GPRMC,091032.00,A,5157.02961,N,00425.04108,E,0.081,56.40,120308,,,A*55
+$GPRMC,091033.00,A,5157.02951,N,00425.04101,E,0.177,58.54,120308,,,A*5D
+$GPRMC,091034.00,A,5157.02947,N,00425.04082,E,0.105,54.62,120308,,,A*5B
+$GPRMC,091035.00,A,5157.02954,N,00425.04040,E,0.187,50.86,120308,,,A*52
+$GPRMC,091036.00,A,5157.02949,N,00425.04025,E,0.092,52.85,120308,,,A*5A
+$GPRMC,091037.00,A,5157.02944,N,00425.04015,E,0.131,55.20,120308,,,A*55
+$GPRMC,091038.00,A,5157.02939,N,00425.04005,E,0.169,57.33,120308,,,A*5C
+$GPRMC,091039.00,A,5157.02935,N,00425.03992,E,0.057,59.03,120308,,,A*50
+$GPRMC,091040.00,A,5157.02932,N,00425.03978,E,0.093,60.96,120308,,,A*53
+$GPRMC,091041.00,A,5157.02929,N,00425.03959,E,0.004,,120308,,,A*72
+$GPRMC,091042.00,A,5157.02925,N,00425.03946,E,0.116,62.34,120308,,,A*5C
+$GPRMC,091043.00,A,5157.02924,N,00425.03922,E,0.034,58.02,120308,,,A*53
+$GPRMC,091044.00,A,5157.02924,N,00425.03903,E,0.082,54.60,120308,,,A*52
+$GPRMC,091045.00,A,5157.02923,N,00425.03887,E,0.106,50.83,120308,,,A*5D
+$GPRMC,091046.00,A,5157.02921,N,00425.03871,E,0.114,47.30,120308,,,A*58
+$GPRMC,091047.00,A,5157.02921,N,00425.03848,E,0.173,43.96,120308,,,A*5A
+$GPRMC,091048.00,A,5157.02918,N,00425.03838,E,0.147,40.84,120308,,,A*5F
+$GPRMC,091049.00,A,5157.02920,N,00425.03812,E,0.166,37.71,120308,,,A*54
+$GPRMC,091050.00,A,5157.02922,N,00425.03784,E,0.247,31.73,120308,,,A*5A
+$GPRMC,091051.00,A,5157.02924,N,00425.03766,E,0.274,26.31,120308,,,A*51
+$GPRMC,091052.00,A,5157.02924,N,00425.03753,E,0.249,21.07,120308,,,A*58
+$GPRMC,091053.00,A,5157.02919,N,00425.03752,E,0.020,22.58,120308,,,A*52
+$GPRMC,091054.00,A,5157.02915,N,00425.03752,E,0.157,20.33,120308,,,A*57
+$GPRMC,091055.00,A,5157.02908,N,00425.03761,E,0.159,23.49,120308,,,A*5A
+$GPRMC,091056.00,A,5157.02903,N,00425.03763,E,0.175,20.99,120308,,,A*50
+$GPRMC,091057.00,A,5157.02894,N,00425.03776,E,0.147,18.42,120308,,,A*56
+$GPRMC,091058.00,A,5157.02887,N,00425.03779,E,0.073,16.23,120308,,,A*5B
+$GPRMC,091059.00,A,5157.02872,N,00425.03807,E,0.036,15.01,120308,,,A*54
+$GPRMC,091100.00,A,5157.02866,N,00425.03814,E,0.029,11.83,120308,,,A*5E
+$GPRMC,091101.00,A,5157.02861,N,00425.03828,E,0.011,,120308,,,A*79
+$GPRMC,091102.00,A,5157.02858,N,00425.03842,E,0.170,9.61,120308,,,A*6A
+$GPRMC,091103.00,A,5157.02874,N,00425.03869,E,1.553,12.11,120308,,,A*55
+$GPRMC,091104.00,A,5157.02953,N,00425.04072,E,6.289,54.79,120308,,,A*58
+$GPRMC,091105.00,A,5157.03104,N,00425.04424,E,11.509,51.18,120308,,,A*6E
+$GPRMC,091106.00,A,5157.03352,N,00425.04810,E,13.212,38.44,120308,,,A*6E
+$GPRMC,091107.00,A,5157.03700,N,00425.05040,E,14.369,12.87,120308,,,A*6D
+$GPRMC,091108.00,A,5157.04085,N,00425.04993,E,14.232,338.34,120308,,,A*55
+$GPRMC,091109.00,A,5157.04420,N,00425.04482,E,17.921,307.31,120308,,,A*51
+$GPRMC,091110.00,A,5157.04730,N,00425.03707,E,21.023,300.68,120308,,,A*57
+$GPRMC,091111.00,A,5157.04978,N,00425.02695,E,25.697,291.53,120308,,,A*53
+$GPRMC,091112.00,A,5157.05272,N,00425.01478,E,30.089,293.97,120308,,,A*55
+$GPRMC,091113.00,A,5157.05707,N,00425.00252,E,32.269,299.44,120308,,,A*56
+$GPRMC,091114.00,A,5157.06264,N,00424.98958,E,36.127,305.04,120308,,,A*5E
+$GPRMC,091115.00,A,5157.06934,N,00424.97530,E,39.971,307.74,120308,,,A*5D
+$GPRMC,091116.00,A,5157.07722,N,00424.96060,E,42.900,310.56,120308,,,A*5B
+$GPRMC,091117.00,A,5157.08523,N,00424.94623,E,42.646,312.65,120308,,,A*5A
+$GPRMC,091118.00,A,5157.09520,N,00424.93308,E,44.857,319.86,120308,,,A*52
+$GPRMC,091119.00,A,5157.10677,N,00424.92044,E,48.852,327.52,120308,,,A*5D
+$GPRMC,091120.00,A,5157.11927,N,00424.90861,E,50.703,330.23,120308,,,A*53
+$GPRMC,091121.00,A,5157.13220,N,00424.89665,E,52.493,331.59,120308,,,A*5A
+$GPRMC,091122.00,A,5157.14549,N,00424.88507,E,53.518,331.85,120308,,,A*52
+$GPRMC,091123.00,A,5157.15873,N,00424.87331,E,53.139,331.82,120308,,,A*5A
+$GPRMC,091124.00,A,5157.17215,N,00424.86222,E,53.175,332.92,120308,,,A*5D
+$GPRMC,091125.00,A,5157.18549,N,00424.85127,E,52.918,333.11,120308,,,A*50
+$GPRMC,091126.00,A,5157.19890,N,00424.83987,E,54.167,332.17,120308,,,A*5E
+$GPRMC,091127.00,A,5157.21261,N,00424.82745,E,56.268,331.11,120308,,,A*5A
+$GPRMC,091128.00,A,5157.22635,N,00424.81468,E,56.077,331.27,120308,,,A*55
+$GPRMC,091129.00,A,5157.24059,N,00424.80356,E,55.788,332.90,120308,,,A*5E
+$GPRMC,091130.00,A,5157.25466,N,00424.79205,E,55.969,333.64,120308,,,A*55
+$GPRMC,091131.00,A,5157.26872,N,00424.78088,E,55.897,334.22,120308,,,A*5D
+$GPRMC,091132.00,A,5157.28271,N,00424.76997,E,55.361,334.36,120308,,,A*57
+$GPRMC,091133.00,A,5157.29678,N,00424.75930,E,54.842,334.44,120308,,,A*5A
+$GPRMC,091134.00,A,5157.31065,N,00424.74865,E,54.381,334.14,120308,,,A*5F
+$GPRMC,091135.00,A,5157.32445,N,00424.73755,E,55.268,333.09,120308,,,A*5C
+$GPRMC,091136.00,A,5157.33841,N,00424.72602,E,56.176,332.67,120308,,,A*52
+$GPRMC,091137.00,A,5157.35224,N,00424.71432,E,56.616,332.46,120308,,,A*5C
+$GPRMC,091138.00,A,5157.36624,N,00424.70264,E,56.555,333.03,120308,,,A*54
+$GPRMC,091139.00,A,5157.38030,N,00424.69113,E,56.325,333.77,120308,,,A*51
+$GPRMC,091140.00,A,5157.39421,N,00424.67984,E,56.190,333.39,120308,,,A*54
+$GPRMC,091141.00,A,5157.40841,N,00424.66841,E,57.777,333.43,120308,,,A*5B
+$GPRMC,091142.00,A,5157.42251,N,00424.65707,E,56.903,334.12,120308,,,A*50
+$GPRMC,091143.00,A,5157.43672,N,00424.64587,E,57.233,334.24,120308,,,A*52
+$GPRMC,091144.00,A,5157.45121,N,00424.63463,E,58.132,334.36,120308,,,A*50
+$GPRMC,091145.00,A,5157.46590,N,00424.62341,E,58.860,335.36,120308,,,A*55
+$GPRMC,091146.00,A,5157.48092,N,00424.61248,E,59.574,336.73,120308,,,A*5F
+$GPRMC,091147.00,A,5157.49598,N,00424.60121,E,60.149,336.18,120308,,,A*50
+$GPRMC,091148.00,A,5157.51077,N,00424.59004,E,59.153,334.67,120308,,,A*55
+$GPRMC,091149.00,A,5157.52541,N,00424.57858,E,58.588,334.33,120308,,,A*5A
+$GPRMC,091150.00,A,5157.54027,N,00424.56721,E,58.638,334.21,120308,,,A*5A
+$GPRMC,091151.00,A,5157.55506,N,00424.55562,E,59.403,334.16,120308,,,A*55
+$GPRMC,091152.00,A,5157.57001,N,00424.54376,E,59.932,333.54,120308,,,A*5A
+$GPRMC,091153.00,A,5157.58522,N,00424.53189,E,59.834,334.34,120308,,,A*53
+$GPRMC,091154.00,A,5157.60030,N,00424.52033,E,59.259,334.18,120308,,,A*57
+$GPRMC,091155.00,A,5157.61509,N,00424.50878,E,58.013,334.02,120308,,,A*5B
+$GPRMC,091156.00,A,5157.62973,N,00424.49738,E,57.611,334.07,120308,,,A*57
+$GPRMC,091157.00,A,5157.64439,N,00424.48603,E,57.485,334.13,120308,,,A*51
+$GPRMC,091158.00,A,5157.65910,N,00424.47473,E,57.571,334.40,120308,,,A*5F
+$GPRMC,091159.00,A,5157.67381,N,00424.46356,E,58.535,334.44,120308,,,A*54
+$GPRMC,091200.00,A,5157.68868,N,00424.45226,E,59.017,334.39,120308,,,A*53
+$GPRMC,091201.00,A,5157.70363,N,00424.44087,E,59.326,334.42,120308,,,A*5E
+$GPRMC,091202.00,A,5157.71863,N,00424.42938,E,59.292,334.46,120308,,,A*56
+$GPRMC,091203.00,A,5157.73362,N,00424.41794,E,59.356,334.64,120308,,,A*5D
+$GPRMC,091204.00,A,5157.74882,N,00424.40664,E,59.864,335.44,120308,,,A*5E
+$GPRMC,091205.00,A,5157.76411,N,00424.39569,E,59.608,336.44,120308,,,A*5C
+$GPRMC,091206.00,A,5157.77928,N,00424.38481,E,59.396,335.53,120308,,,A*58
+$GPRMC,091207.00,A,5157.79420,N,00424.37382,E,58.212,335.12,120308,,,A*50
+$GPRMC,091208.00,A,5157.80874,N,00424.36290,E,56.945,334.63,120308,,,A*57
+$GPRMC,091209.00,A,5157.82293,N,00424.35212,E,56.013,334.47,120308,,,A*52
+$GPRMC,091210.00,A,5157.83683,N,00424.34149,E,54.954,334.60,120308,,,A*5F
+$GPRMC,091211.00,A,5157.85051,N,00424.33101,E,54.075,334.34,120308,,,A*51
+$GPRMC,091212.00,A,5157.86397,N,00424.32065,E,53.353,334.56,120308,,,A*5E
+$GPRMC,091213.00,A,5157.87728,N,00424.31047,E,52.778,334.79,120308,,,A*5C
+$GPRMC,091214.00,A,5157.89043,N,00424.30039,E,52.378,334.35,120308,,,A*5B
+$GPRMC,091215.00,A,5157.90338,N,00424.29024,E,51.945,334.17,120308,,,A*5E
+$GPRMC,091216.00,A,5157.91626,N,00424.28008,E,51.693,334.06,120308,,,A*5D
+$GPRMC,091217.00,A,5157.92905,N,00424.27007,E,51.089,334.43,120308,,,A*5D
+$GPRMC,091218.00,A,5157.94173,N,00424.26012,E,50.892,334.32,120308,,,A*5D
+$GPRMC,091219.00,A,5157.95433,N,00424.25017,E,50.478,333.85,120308,,,A*59
+$GPRMC,091220.00,A,5157.96690,N,00424.24020,E,50.588,333.96,120308,,,A*52
+$GPRMC,091221.00,A,5157.97950,N,00424.23021,E,51.045,333.74,120308,,,A*5E
+$GPRMC,091222.00,A,5157.99212,N,00424.22035,E,51.247,334.17,120308,,,A*58
+$GPRMC,091223.00,A,5158.00473,N,00424.21036,E,51.735,334.37,120308,,,A*55
+$GPRMC,091224.00,A,5158.01759,N,00424.20027,E,51.368,334.14,120308,,,A*54
+$GPRMC,091225.00,A,5158.03021,N,00424.19019,E,51.164,334.09,120308,,,A*5A
+$GPRMC,091226.00,A,5158.04318,N,00424.18005,E,51.854,334.39,120308,,,A*52
+$GPRMC,091227.00,A,5158.05613,N,00424.16977,E,52.303,334.19,120308,,,A*56
+$GPRMC,091228.00,A,5158.06922,N,00424.15954,E,52.240,334.40,120308,,,A*5F
+$GPRMC,091229.00,A,5158.08232,N,00424.14934,E,52.272,334.39,120308,,,A*52
+$GPRMC,091230.00,A,5158.09548,N,00424.13907,E,52.420,334.28,120308,,,A*57
+$GPRMC,091231.00,A,5158.10865,N,00424.12885,E,52.407,334.27,120308,,,A*5C
+$GPRMC,091232.00,A,5158.12181,N,00424.11857,E,52.319,334.23,120308,,,A*5E
+$GPRMC,091233.00,A,5158.13494,N,00424.10838,E,52.219,334.30,120308,,,A*54
+$GPRMC,091234.00,A,5158.14802,N,00424.09820,E,51.991,334.46,120308,,,A*5F
+$GPRMC,091235.00,A,5158.16102,N,00424.08817,E,51.461,334.51,120308,,,A*54
+$GPRMC,091236.00,A,5158.17386,N,00424.07821,E,50.830,334.46,120308,,,A*5D
+$GPRMC,091237.00,A,5158.18648,N,00424.06846,E,49.912,334.49,120308,,,A*52
+$GPRMC,091238.00,A,5158.19886,N,00424.05884,E,48.952,334.34,120308,,,A*52
+$GPRMC,091239.00,A,5158.21103,N,00424.04938,E,48.223,334.47,120308,,,A*52
+$GPRMC,091240.00,A,5158.22304,N,00424.03995,E,48.002,334.03,120308,,,A*5B
+$GPRMC,091241.00,A,5158.23515,N,00424.03056,E,48.716,334.85,120308,,,A*57
+$GPRMC,091242.00,A,5158.24733,N,00424.02139,E,48.500,335.63,120308,,,A*50
+$GPRMC,091243.00,A,5158.25958,N,00424.01266,E,48.357,336.98,120308,,,A*5A
+$GPRMC,091244.00,A,5158.27218,N,00424.00447,E,49.465,338.77,120308,,,A*5C
+$GPRMC,091245.00,A,5158.28516,N,00423.99671,E,50.123,340.23,120308,,,A*5A
+$GPRMC,091246.00,A,5158.29797,N,00423.98979,E,48.974,341.95,120308,,,A*5A
+$GPRMC,091247.00,A,5158.31105,N,00423.98323,E,49.742,343.26,120308,,,A*5A
+$GPRMC,091248.00,A,5158.32435,N,00423.97716,E,50.540,344.94,120308,,,A*5B
+$GPRMC,091249.00,A,5158.33797,N,00423.97134,E,51.259,345.25,120308,,,A*53
+$GPRMC,091250.00,A,5158.35191,N,00423.96537,E,52.565,345.26,120308,,,A*53
+$GPRMC,091251.00,A,5158.36637,N,00423.95897,E,54.894,344.78,120308,,,A*51
+$GPRMC,091252.00,A,5158.38136,N,00423.95238,E,56.287,344.97,120308,,,A*5E
+$GPRMC,091253.00,A,5158.39672,N,00423.94575,E,57.530,344.60,120308,,,A*54
+$GPRMC,091254.00,A,5158.41243,N,00423.93880,E,58.868,344.88,120308,,,A*53
+$GPRMC,091255.00,A,5158.42867,N,00423.93170,E,60.140,345.10,120308,,,A*53
+$GPRMC,091256.00,A,5158.44506,N,00423.92456,E,60.760,345.31,120308,,,A*5B
+$GPRMC,091257.00,A,5158.46160,N,00423.91805,E,60.959,345.54,120308,,,A*52
+$GPRMC,091258.00,A,5158.47792,N,00423.91123,E,60.045,345.30,120308,,,A*5C
+$GPRMC,091259.00,A,5158.49407,N,00423.90432,E,59.674,344.88,120308,,,A*54
+$GPRMC,091300.00,A,5158.51011,N,00423.89752,E,59.402,345.15,120308,,,A*58
+$GPRMC,091301.00,A,5158.52593,N,00423.89094,E,58.437,345.33,120308,,,A*5B
+$GPRMC,091302.00,A,5158.54145,N,00423.88464,E,57.457,345.32,120308,,,A*53
+$GPRMC,091303.00,A,5158.55654,N,00423.87851,E,55.680,345.62,120308,,,A*5E
+$GPRMC,091304.00,A,5158.57157,N,00423.87244,E,55.045,345.29,120308,,,A*51
+$GPRMC,091305.00,A,5158.58623,N,00423.86661,E,54.067,346.04,120308,,,A*54
+$GPRMC,091306.00,A,5158.60076,N,00423.86074,E,53.144,345.04,120308,,,A*5C
+$GPRMC,091307.00,A,5158.61487,N,00423.85470,E,52.133,345.24,120308,,,A*56
+$GPRMC,091308.00,A,5158.62875,N,00423.84895,E,51.458,345.24,120308,,,A*56
+$GPRMC,091309.00,A,5158.64246,N,00423.84315,E,51.034,345.56,120308,,,A*53
+$GPRMC,091310.00,A,5158.65614,N,00423.83747,E,51.095,345.32,120308,,,A*54
+$GPRMC,091311.00,A,5158.67000,N,00423.83177,E,51.749,345.64,120308,,,A*54
+$GPRMC,091312.00,A,5158.68453,N,00423.82615,E,52.637,345.46,120308,,,A*53
+$GPRMC,091313.00,A,5158.69869,N,00423.82022,E,52.184,345.03,120308,,,A*5A
+$GPRMC,091314.00,A,5158.71250,N,00423.81449,E,51.902,345.55,120308,,,A*58
+$GPRMC,091315.00,A,5158.72648,N,00423.80855,E,51.861,345.84,120308,,,A*5F
+$GPRMC,091316.00,A,5158.74036,N,00423.80261,E,51.158,345.87,120308,,,A*58
+$GPRMC,091317.00,A,5158.75421,N,00423.79676,E,51.007,345.84,120308,,,A*56
+$GPRMC,091318.00,A,5158.76865,N,00423.79142,E,51.663,346.60,120308,,,A*5B
+$GPRMC,091319.00,A,5158.78265,N,00423.78629,E,52.301,347.74,120308,,,A*53
+$GPRMC,091320.00,A,5158.79697,N,00423.78159,E,52.535,348.65,120308,,,A*5F
+$GPRMC,091321.00,A,5158.81117,N,00423.77696,E,52.379,347.86,120308,,,A*51
+$GPRMC,091322.00,A,5158.82530,N,00423.77189,E,51.702,346.73,120308,,,A*59
+$GPRMC,091323.00,A,5158.83926,N,00423.76647,E,51.187,346.13,120308,,,A*5B
+$GPRMC,091324.00,A,5158.85324,N,00423.76089,E,50.853,345.93,120308,,,A*5C
+$GPRMC,091325.00,A,5158.86637,N,00423.75507,E,48.863,344.68,120308,,,A*56
+$GPRMC,091326.00,A,5158.87963,N,00423.74936,E,48.371,345.00,120308,,,A*52
+$GPRMC,091327.00,A,5158.89230,N,00423.74442,E,47.325,346.75,120308,,,A*51
+$GPRMC,091328.00,A,5158.90431,N,00423.73959,E,43.428,346.02,120308,,,A*5F
+$GPRMC,091329.00,A,5158.91567,N,00423.73516,E,41.365,346.16,120308,,,A*53
+$GPRMC,091330.00,A,5158.92691,N,00423.73202,E,39.802,350.29,120308,,,A*5E
+$GPRMC,091331.00,A,5158.93676,N,00423.72992,E,34.739,352.87,120308,,,A*58
+$GPRMC,091332.00,A,5158.94567,N,00423.72916,E,32.132,358.52,120308,,,A*5A
+$GPRMC,091333.00,A,5158.95345,N,00423.73070,E,29.338,8.01,120308,,,A*56
+$GPRMC,091334.00,A,5158.96112,N,00423.73462,E,29.472,18.39,120308,,,A*66
+$GPRMC,091335.00,A,5158.96832,N,00423.74017,E,29.410,27.80,120308,,,A*67
+$GPRMC,091336.00,A,5158.97385,N,00423.74701,E,27.923,35.35,120308,,,A*6C
+$GPRMC,091337.00,A,5158.97913,N,00423.75465,E,26.804,38.72,120308,,,A*63
+$GPRMC,091338.00,A,5158.98409,N,00423.76201,E,24.873,39.45,120308,,,A*65
+$GPRMC,091339.00,A,5158.98834,N,00423.76830,E,21.593,37.68,120308,,,A*69
+$GPRMC,091340.00,A,5158.99310,N,00423.77240,E,18.667,27.15,120308,,,A*6E
+$GPRMC,091341.00,A,5158.99806,N,00423.77458,E,18.470,13.59,120308,,,A*67
+$GPRMC,091342.00,A,5159.00283,N,00423.77571,E,17.577,2.09,120308,,,A*54
+$GPRMC,091343.00,A,5159.00750,N,00423.77503,E,17.425,351.24,120308,,,A*57
+$GPRMC,091344.00,A,5159.01175,N,00423.77323,E,15.606,346.59,120308,,,A*59
+$GPRMC,091345.00,A,5159.01568,N,00423.77161,E,14.393,346.41,120308,,,A*55
+$GPRMC,091346.00,A,5159.01948,N,00423.76963,E,13.583,344.33,120308,,,A*54
+$GPRMC,091347.00,A,5159.02300,N,00423.76839,E,11.286,346.64,120308,,,A*5E
+$GPRMC,091348.00,A,5159.02554,N,00423.76690,E,8.158,343.50,120308,,,A*61
+$GPRMC,091349.00,A,5159.02749,N,00423.76570,E,7.375,345.53,120308,,,A*64
+$GPRMC,091350.00,A,5159.02979,N,00423.76445,E,8.664,345.00,120308,,,A*6A
+$GPRMC,091351.00,A,5159.03307,N,00423.76326,E,11.178,341.05,120308,,,A*58
+$GPRMC,091352.00,A,5159.03645,N,00423.76176,E,13.064,346.75,120308,,,A*51
+$GPRMC,091353.00,A,5159.04022,N,00423.76022,E,14.414,348.18,120308,,,A*51
+$GPRMC,091354.00,A,5159.04520,N,00423.75841,E,17.599,349.17,120308,,,A*56
+$GPRMC,091355.00,A,5159.05032,N,00423.75620,E,19.305,345.21,120308,,,A*5D
+$GPRMC,091356.00,A,5159.05565,N,00423.75358,E,19.315,344.54,120308,,,A*51
+$GPRMC,091357.00,A,5159.06102,N,00423.75102,E,18.854,346.59,120308,,,A*5B
+$GPRMC,091358.00,A,5159.06657,N,00423.74837,E,19.685,343.93,120308,,,A*5D
+$GPRMC,091359.00,A,5159.07190,N,00423.74564,E,19.481,342.85,120308,,,A*5A
+$GPRMC,091400.00,A,5159.07715,N,00423.74321,E,18.514,344.15,120308,,,A*5E
+$GPRMC,091401.00,A,5159.08229,N,00423.74092,E,17.366,344.49,120308,,,A*54
+$GPRMC,091402.00,A,5159.08726,N,00423.73949,E,16.010,345.20,120308,,,A*58
+$GPRMC,091403.00,A,5159.09173,N,00423.73824,E,14.563,345.99,120308,,,A*55
+$GPRMC,091404.00,A,5159.09578,N,00423.73807,E,13.514,358.42,120308,,,A*51
+$GPRMC,091405.00,A,5159.09894,N,00423.73759,E,10.213,350.85,120308,,,A*5B
+$GPRMC,091406.00,A,5159.10163,N,00423.73679,E,8.606,349.75,120308,,,A*6C
+$GPRMC,091407.00,A,5159.10412,N,00423.73655,E,8.750,341.63,120308,,,A*6D
+$GPRMC,091408.00,A,5159.10477,N,00423.73498,E,4.229,308.31,120308,,,A*6F
+$GPRMC,091409.00,A,5159.10567,N,00423.73265,E,6.502,306.86,120308,,,A*64
+$GPRMC,091410.00,A,5159.10660,N,00423.73003,E,6.196,301.66,120308,,,A*6A
+$GPRMC,091411.00,A,5159.10744,N,00423.72697,E,5.415,298.58,120308,,,A*67
+$GPRMC,091412.00,A,5159.10832,N,00423.72445,E,5.342,302.31,120308,,,A*6F
+$GPRMC,091413.00,A,5159.10910,N,00423.72221,E,4.386,303.21,120308,,,A*62
+$GPRMC,091414.00,A,5159.10946,N,00423.72068,E,1.850,302.86,120308,,,A*60
+$GPRMC,091415.00,A,5159.10963,N,00423.72004,E,0.324,301.71,120308,,,A*6E
+$GPRMC,091416.00,A,5159.10963,N,00423.71988,E,0.086,298.13,120308,,,A*6D
+$GPRMC,091417.00,A,5159.10959,N,00423.71973,E,0.106,294.24,120308,,,A*60
+$GPRMC,091418.00,A,5159.10948,N,00423.71957,E,0.087,290.74,120308,,,A*60
+$GPRMC,091419.00,A,5159.10935,N,00423.71942,E,0.147,287.24,120308,,,A*61
+$GPRMC,091420.00,A,5159.10921,N,00423.71912,E,0.169,283.83,120308,,,A*6E
+$GPRMC,091421.00,A,5159.10911,N,00423.71893,E,0.278,277.60,120308,,,A*61
+$GPRMC,091422.00,A,5159.10906,N,00423.71880,E,0.101,274.14,120308,,,A*6B
+$GPRMC,091423.00,A,5159.10901,N,00423.71875,E,0.045,270.57,120308,,,A*65
+$GPRMC,091424.00,A,5159.10896,N,00423.71873,E,0.029,267.16,120308,,,A*62
+$GPRMC,091425.00,A,5159.10896,N,00423.71875,E,0.029,263.88,120308,,,A*66
+$GPRMC,091426.00,A,5159.10897,N,00423.71879,E,0.021,260.86,120308,,,A*6D
+$GPRMC,091427.00,A,5159.10894,N,00423.71881,E,0.011,,120308,,,A*7F
+$GPRMC,091428.00,A,5159.10892,N,00423.71885,E,0.089,264.50,120308,,,A*68
+$GPRMC,091429.00,A,5159.10887,N,00423.71888,E,0.060,267.09,120308,,,A*68
+$GPRMC,091430.00,A,5159.10880,N,00423.71889,E,0.064,270.38,120308,,,A*66
+$GPRMC,091431.00,A,5159.10876,N,00423.71892,E,0.149,273.46,120308,,,A*60
+$GPRMC,091432.00,A,5159.10875,N,00423.71895,E,0.042,275.93,120308,,,A*63
+$GPRMC,091433.00,A,5159.10873,N,00423.71897,E,0.029,278.00,120308,,,A*6C
+$GPRMC,091434.00,A,5159.10877,N,00423.71893,E,0.800,282.13,120308,,,A*6F
+$GPRMC,091435.00,A,5159.10889,N,00423.71889,E,0.205,290.95,120308,,,A*66
+$GPRMC,091436.00,A,5159.10896,N,00423.71887,E,0.044,292.45,120308,,,A*6D
+$GPRMC,091437.00,A,5159.10907,N,00423.71871,E,0.207,294.29,120308,,,A*65
+$GPRMC,091438.00,A,5159.10919,N,00423.71841,E,0.421,294.62,120308,,,A*6B
+$GPRMC,091439.00,A,5159.10924,N,00423.71836,E,0.172,294.67,120308,,,A*62
+$GPRMC,091440.00,A,5159.10940,N,00423.71818,E,0.084,293.86,120308,,,A*62
+$GPRMC,091441.00,A,5159.10953,N,00423.71808,E,0.271,286.27,120308,,,A*67
+$GPRMC,091442.00,A,5159.10961,N,00423.71786,E,0.015,,120308,,,A*7B
+$GPRMC,091443.00,A,5159.10974,N,00423.71781,E,0.008,,120308,,,A*75
+$GPRMC,091444.00,A,5159.10985,N,00423.71780,E,0.059,288.16,120308,,,A*62
+$GPRMC,091445.00,A,5159.10995,N,00423.71780,E,0.025,286.30,120308,,,A*63
+$GPRMC,091446.00,A,5159.11004,N,00423.71787,E,0.018,,120308,,,A*78
+$GPRMC,091447.00,A,5159.11016,N,00423.71784,E,0.065,290.62,120308,,,A*62
+$GPRMC,091448.00,A,5159.11028,N,00423.71781,E,0.099,290.82,120308,,,A*68
+$GPRMC,091449.00,A,5159.11044,N,00423.71774,E,0.060,289.38,120308,,,A*66
+$GPRMC,091450.00,A,5159.11055,N,00423.71762,E,0.011,,120308,,,A*79
+$GPRMC,091451.00,A,5159.11067,N,00423.71753,E,0.021,290.71,120308,,,A*6B
+$GPRMC,091452.00,A,5159.11078,N,00423.71745,E,0.035,292.10,120308,,,A*61
+$GPRMC,091453.00,A,5159.11087,N,00423.71741,E,0.271,300.14,120308,,,A*68
+$GPRMC,091454.00,A,5159.11091,N,00423.71741,E,0.006,,120308,,,A*72
+$GPRMC,091455.00,A,5159.11093,N,00423.71733,E,0.063,299.85,120308,,,A*66
+$GPRMC,091456.00,A,5159.11095,N,00423.71727,E,0.011,,120308,,,A*72
+$GPRMC,091457.00,A,5159.11097,N,00423.71721,E,0.023,302.22,120308,,,A*69
+$GPRMC,091458.00,A,5159.11098,N,00423.71716,E,0.023,307.15,120308,,,A*6C
+$GPRMC,091459.00,A,5159.11097,N,00423.71710,E,0.031,308.00,120308,,,A*6C
+$GPRMC,091500.00,A,5159.11094,N,00423.71705,E,0.014,,120308,,,A*74
+$GPRMC,091501.00,A,5159.11092,N,00423.71700,E,0.010,,120308,,,A*72
+$GPRMC,091502.00,A,5159.11088,N,00423.71695,E,0.026,304.69,120308,,,A*64
+$GPRMC,091503.00,A,5159.11081,N,00423.71693,E,0.020,301.05,120308,,,A*63
+$GPRMC,091504.00,A,5159.11073,N,00423.71693,E,0.031,305.96,120308,,,A*67
+$GPRMC,091505.00,A,5159.11067,N,00423.71693,E,0.160,302.26,120308,,,A*6A
+$GPRMC,091506.00,A,5159.11057,N,00423.71697,E,0.098,297.93,120308,,,A*6B
+$GPRMC,091507.00,A,5159.11048,N,00423.71700,E,0.101,294.53,120308,,,A*65
+$GPRMC,091508.00,A,5159.11041,N,00423.71704,E,0.086,290.90,120308,,,A*62
+$GPRMC,091509.00,A,5159.11034,N,00423.71706,E,0.027,287.40,120308,,,A*63
+$GPRMC,091510.00,A,5159.11028,N,00423.71700,E,0.177,287.31,120308,,,A*62
+$GPRMC,091511.00,A,5159.11013,N,00423.71707,E,0.029,284.16,120308,,,A*60
+$GPRMC,091512.00,A,5159.11000,N,00423.71709,E,0.021,287.59,120308,,,A*6F
+$GPRMC,091513.00,A,5159.10992,N,00423.71712,E,0.208,292.34,120308,,,A*61
+$GPRMC,091514.00,A,5159.10983,N,00423.71715,E,0.145,294.12,120308,,,A*69
+$GPRMC,091515.00,A,5159.10973,N,00423.71717,E,0.065,296.24,120308,,,A*61
+$GPRMC,091516.00,A,5159.10969,N,00423.71720,E,0.008,,120308,,,A*73
+$GPRMC,091517.00,A,5159.10961,N,00423.71725,E,0.027,299.31,120308,,,A*6C
+$GPRMC,091518.00,A,5159.10957,N,00423.71726,E,0.068,299.29,120308,,,A*67
+$GPRMC,091519.00,A,5159.10956,N,00423.71729,E,0.023,300.70,120308,,,A*6A
+$GPRMC,091520.00,A,5159.10956,N,00423.71734,E,0.001,,120308,,,A*76
+$GPRMC,091521.00,A,5159.10954,N,00423.71739,E,0.027,299.10,120308,,,A*61
+$GPRMC,091522.00,A,5159.10953,N,00423.71744,E,0.024,300.64,120308,,,A*6E
+$GPRMC,091523.00,A,5159.10957,N,00423.71748,E,0.206,305.02,120308,,,A*60
+$GPRMC,091524.00,A,5159.10960,N,00423.71750,E,0.190,306.79,120308,,,A*69
+$GPRMC,091525.00,A,5159.10962,N,00423.71751,E,0.111,308.45,120308,,,A*63
+$GPRMC,091526.00,A,5159.10962,N,00423.71752,E,0.054,309.68,120308,,,A*6D
+$GPRMC,091527.00,A,5159.10962,N,00423.71756,E,0.038,310.93,120308,,,A*6E
+$GPRMC,091528.00,A,5159.10964,N,00423.71759,E,0.028,311.84,120308,,,A*6E
+$GPRMC,091529.00,A,5159.10974,N,00423.71756,E,0.133,310.96,120308,,,A*68
+$GPRMC,091530.00,A,5159.10974,N,00423.71756,E,0.059,311.84,120308,,,A*6F
+$GPRMC,091531.00,A,5159.10976,N,00423.71763,E,0.029,312.58,120308,,,A*6F
+$GPRMC,091532.00,A,5159.10976,N,00423.71772,E,0.004,,120308,,,A*70
+$GPRMC,091533.00,A,5159.10978,N,00423.71782,E,0.012,,120308,,,A*77
+$GPRMC,091534.00,A,5159.10979,N,00423.71791,E,0.024,309.37,120308,,,A*66
+$GPRMC,091535.00,A,5159.10982,N,00423.71800,E,0.020,309.66,120308,,,A*64
+$GPRMC,091536.00,A,5159.10981,N,00423.71808,E,0.054,311.12,120308,,,A*65
+$GPRMC,091537.00,A,5159.10986,N,00423.71817,E,0.011,,120308,,,A*72
+$GPRMC,091538.00,A,5159.10991,N,00423.71823,E,0.021,309.64,120308,,,A*69
+$GPRMC,091539.00,A,5159.10994,N,00423.71828,E,0.041,314.30,120308,,,A*6D
+$GPRMC,091540.00,A,5159.11000,N,00423.71828,E,0.039,314.18,120308,,,A*63
+$GPRMC,091541.00,A,5159.11009,N,00423.71834,E,0.227,319.51,120308,,,A*6B
+$GPRMC,091542.00,A,5159.11017,N,00423.71843,E,0.106,313.91,120308,,,A*61
+$GPRMC,091543.00,A,5159.11023,N,00423.71848,E,0.083,318.77,120308,,,A*63
+$GPRMC,091544.00,A,5159.11030,N,00423.71851,E,0.050,313.32,120308,,,A*6A
+$GPRMC,091545.00,A,5159.11034,N,00423.71856,E,0.026,318.16,120308,,,A*64
+$GPRMC,091546.00,A,5159.11039,N,00423.71857,E,0.211,311.84,120308,,,A*6F
+$GPRMC,091547.00,A,5159.11047,N,00423.71858,E,0.063,308.38,120308,,,A*60
+$GPRMC,091548.00,A,5159.11053,N,00423.71857,E,0.048,311.28,120308,,,A*65
+$GPRMC,091549.00,A,5159.11060,N,00423.71853,E,0.022,311.28,120308,,,A*6C
+$GPRMC,091550.00,A,5159.11067,N,00423.71850,E,0.027,307.79,120308,,,A*66
+$GPRMC,091551.00,A,5159.11071,N,00423.71848,E,0.029,313.40,120308,,,A*68
+$GPRMC,091552.00,A,5159.11080,N,00423.71839,E,0.026,312.88,120308,,,A*69
+$GPRMC,091553.00,A,5159.11094,N,00423.71833,E,0.233,316.70,120308,,,A*62
+$GPRMC,091554.00,A,5159.11103,N,00423.71832,E,0.131,321.27,120308,,,A*6C
+$GPRMC,091555.00,A,5159.11106,N,00423.71831,E,0.039,321.83,120308,,,A*6C
+$GPRMC,091556.00,A,5159.11107,N,00423.71825,E,0.033,321.46,120308,,,A*68
+$GPRMC,091557.00,A,5159.11110,N,00423.71817,E,0.040,321.92,120308,,,A*63
+$GPRMC,091558.00,A,5159.11111,N,00423.71813,E,0.049,322.06,120308,,,A*6E
+$GPRMC,091559.00,A,5159.11112,N,00423.71811,E,0.029,322.51,120308,,,A*6A
+$GPRMC,091600.00,A,5159.11114,N,00423.71808,E,0.024,322.94,120308,,,A*6F
+$GPRMC,091601.00,A,5159.11115,N,00423.71807,E,0.038,322.94,120308,,,A*6D
+$GPRMC,091602.00,A,5159.11117,N,00423.71807,E,0.009,,120308,,,A*7E
+$GPRMC,091603.00,A,5159.11117,N,00423.71807,E,0.005,,120308,,,A*73
+$GPRMC,091604.00,A,5159.11117,N,00423.71808,E,0.029,323.92,120308,,,A*62
+$GPRMC,091605.00,A,5159.11115,N,00423.71807,E,0.052,322.81,120308,,,A*61
+$GPRMC,091606.00,A,5159.11112,N,00423.71804,E,0.043,322.75,120308,,,A*6D
+$GPRMC,091607.00,A,5159.11110,N,00423.71801,E,0.036,323.87,120308,,,A*65
+$GPRMC,091608.00,A,5159.11106,N,00423.71798,E,0.003,,120308,,,A*77
+$GPRMC,091609.00,A,5159.11104,N,00423.71796,E,0.011,,120308,,,A*79
+$GPRMC,091610.00,A,5159.11099,N,00423.71796,E,0.005,,120308,,,A*71
+$GPRMC,091611.00,A,5159.11096,N,00423.71796,E,0.025,328.64,120308,,,A*68
+$GPRMC,091612.00,A,5159.11092,N,00423.71795,E,0.012,,120308,,,A*7D
+$GPRMC,091613.00,A,5159.11090,N,00423.71794,E,0.011,,120308,,,A*7C
+$GPRMC,091614.00,A,5159.11089,N,00423.71794,E,0.047,329.29,120308,,,A*6D
+$GPRMC,091615.00,A,5159.11085,N,00423.71796,E,0.011,,120308,,,A*7C
+$GPRMC,091616.00,A,5159.11083,N,00423.71795,E,0.018,,120308,,,A*73
+$GPRMC,091617.00,A,5159.11082,N,00423.71795,E,0.022,334.60,120308,,,A*66
+$GPRMC,091618.00,A,5159.11081,N,00423.71795,E,0.018,,120308,,,A*7F
+$GPRMC,091619.00,A,5159.11081,N,00423.71795,E,0.044,340.19,120308,,,A*66
+$GPRMC,091620.00,A,5159.11080,N,00423.71796,E,0.016,,120308,,,A*78
+$GPRMC,091621.00,A,5159.11080,N,00423.71797,E,0.020,339.96,120308,,,A*65
+$GPRMC,091622.00,A,5159.11079,N,00423.71795,E,0.018,,120308,,,A*71
+$GPRMC,091623.00,A,5159.11077,N,00423.71794,E,0.034,345.58,120308,,,A*60
+$GPRMC,091624.00,A,5159.11073,N,00423.71789,E,0.015,,120308,,,A*7D
+$GPRMC,091625.00,A,5159.11068,N,00423.71787,E,0.038,346.16,120308,,,A*6F
+$GPRMC,091626.00,A,5159.11061,N,00423.71785,E,0.049,346.39,120308,,,A*6C
+$GPRMC,091627.00,A,5159.11056,N,00423.71785,E,0.015,,120308,,,A*75
+$GPRMC,091628.00,A,5159.11049,N,00423.71784,E,0.078,340.82,120308,,,A*6D
+$GPRMC,091629.00,A,5159.11043,N,00423.71784,E,0.027,342.54,120308,,,A*65
+$GPRMC,091630.00,A,5159.11039,N,00423.71783,E,0.017,,120308,,,A*7E
+$GPRMC,091631.00,A,5159.11033,N,00423.71781,E,0.015,,120308,,,A*75
+$GPRMC,091632.00,A,5159.11029,N,00423.71780,E,0.013,,120308,,,A*7A
+$GPRMC,091633.00,A,5159.11025,N,00423.71779,E,0.015,,120308,,,A*77
+$GPRMC,091634.00,A,5159.11019,N,00423.71779,E,0.013,,120308,,,A*79
+$GPRMC,091635.00,A,5159.11013,N,00423.71777,E,0.034,341.50,120308,,,A*64
+$GPRMC,091636.00,A,5159.11008,N,00423.71774,E,0.022,345.58,120308,,,A*65
+$GPRMC,091637.00,A,5159.11003,N,00423.71773,E,0.006,,120308,,,A*7F
+$GPRMC,091638.00,A,5159.10999,N,00423.71772,E,0.010,,120308,,,A*7D
+$GPRMC,091639.00,A,5159.10994,N,00423.71770,E,0.017,,120308,,,A*74
+$GPRMC,091640.00,A,5159.10990,N,00423.71768,E,0.035,345.49,120308,,,A*66
+$GPRMC,091641.00,A,5159.10987,N,00423.71765,E,0.018,,120308,,,A*72
+$GPRMC,091642.00,A,5159.10983,N,00423.71763,E,0.014,,120308,,,A*7F
+$GPRMC,091643.00,A,5159.10979,N,00423.71760,E,0.068,340.04,120308,,,A*6E
+$GPRMC,091644.00,A,5159.10973,N,00423.71759,E,0.017,,120308,,,A*7C
+$GPRMC,091645.00,A,5159.10968,N,00423.71760,E,0.012,,120308,,,A*78
+$GPRMC,091646.00,A,5159.10964,N,00423.71762,E,0.020,335.69,120308,,,A*60
+$GPRMC,091647.00,A,5159.10960,N,00423.71765,E,0.108,336.60,120308,,,A*63
+$GPRMC,091648.00,A,5159.10954,N,00423.71768,E,0.024,331.59,120308,,,A*64
+$GPRMC,091649.00,A,5159.10944,N,00423.71772,E,0.069,333.28,120308,,,A*62
+$GPRMC,091650.00,A,5159.10940,N,00423.71776,E,0.025,331.03,120308,,,A*69
+$GPRMC,091651.00,A,5159.10933,N,00423.71780,E,0.039,332.80,120308,,,A*60
+$GPRMC,091652.00,A,5159.10926,N,00423.71784,E,0.071,333.49,120308,,,A*6B
+$GPRMC,091653.00,A,5159.10918,N,00423.71788,E,0.016,,120308,,,A*7A
+$GPRMC,091654.00,A,5159.10911,N,00423.71792,E,0.039,336.96,120308,,,A*65
+$GPRMC,091655.00,A,5159.10903,N,00423.71794,E,0.078,332.52,120308,,,A*68
+$GPRMC,091656.00,A,5159.10894,N,00423.71795,E,0.016,,120308,,,A*76
+$GPRMC,091657.00,A,5159.10888,N,00423.71797,E,0.038,327.53,120308,,,A*6A
+$GPRMC,091658.00,A,5159.10879,N,00423.71800,E,0.075,322.48,120308,,,A*6C
+$GPRMC,091659.00,A,5159.10878,N,00423.71801,E,0.144,323.77,120308,,,A*63
+$GPRMC,091700.00,A,5159.10872,N,00423.71802,E,0.108,324.84,120308,,,A*64
+$GPRMC,091701.00,A,5159.10869,N,00423.71805,E,0.050,326.48,120308,,,A*66
+$GPRMC,091702.00,A,5159.10862,N,00423.71809,E,0.009,,120308,,,A*7B
+$GPRMC,091703.00,A,5159.10858,N,00423.71812,E,0.014,,120308,,,A*75
+$GPRMC,091704.00,A,5159.10848,N,00423.71821,E,0.016,,120308,,,A*71
+$GPRMC,091705.00,A,5159.10842,N,00423.71827,E,0.011,,120308,,,A*7B
+$GPRMC,091706.00,A,5159.10839,N,00423.71830,E,0.035,327.93,120308,,,A*66
+$GPRMC,091707.00,A,5159.10837,N,00423.71834,E,0.014,,120308,,,A*7C
+$GPRMC,091708.00,A,5159.10838,N,00423.71839,E,0.219,331.58,120308,,,A*6C
+$GPRMC,091709.00,A,5159.10837,N,00423.71841,E,0.071,334.90,120308,,,A*60
+$GPRMC,091710.00,A,5159.10840,N,00423.71837,E,0.056,333.42,120308,,,A*64
+$GPRMC,091711.00,A,5159.10837,N,00423.71824,E,0.077,328.83,120308,,,A*63
+$GPRMC,091712.00,A,5159.10840,N,00423.71820,E,0.038,330.15,120308,,,A*69
+$GPRMC,091713.00,A,5159.10842,N,00423.71811,E,0.036,332.05,120308,,,A*65
+$GPRMC,091714.00,A,5159.10841,N,00423.71803,E,0.065,326.76,120308,,,A*65
+$GPRMC,091715.00,A,5159.10836,N,00423.71790,E,0.084,321.79,120308,,,A*66
+$GPRMC,091716.00,A,5159.10828,N,00423.71779,E,0.018,,120308,,,A*78
+$GPRMC,091717.00,A,5159.10823,N,00423.71770,E,0.063,327.32,120308,,,A*6E
+$GPRMC,091718.00,A,5159.10818,N,00423.71760,E,0.040,326.94,120308,,,A*64
+$GPRMC,091719.00,A,5159.10812,N,00423.71749,E,0.020,324.24,120308,,,A*6B
+$GPRMC,091720.00,A,5159.10809,N,00423.71736,E,0.068,324.32,120308,,,A*68
+$GPRMC,091721.00,A,5159.10805,N,00423.71723,E,0.054,323.17,120308,,,A*6E
+$GPRMC,091722.00,A,5159.10807,N,00423.71709,E,0.180,323.38,120308,,,A*62
+$GPRMC,091723.00,A,5159.10817,N,00423.71694,E,0.282,326.33,120308,,,A*68
+$GPRMC,091724.00,A,5159.10823,N,00423.71683,E,0.030,325.29,120308,,,A*6D
+$GPRMC,091725.00,A,5159.10822,N,00423.71667,E,0.112,330.77,120308,,,A*69
+$GPRMC,091726.00,A,5159.10816,N,00423.71658,E,0.071,336.02,120308,,,A*61
+$GPRMC,091727.00,A,5159.10812,N,00423.71644,E,0.007,,120308,,,A*72
+$GPRMC,091728.00,A,5159.10811,N,00423.71638,E,0.038,331.00,120308,,,A*66
+$GPRMC,091729.00,A,5159.10807,N,00423.71634,E,0.046,325.83,120308,,,A*6B
+$GPRMC,091730.00,A,5159.10806,N,00423.71627,E,0.012,,120308,,,A*70
+$GPRMC,091731.00,A,5159.10803,N,00423.71623,E,0.017,,120308,,,A*75
+$GPRMC,091732.00,A,5159.10802,N,00423.71613,E,0.024,322.85,120308,,,A*64
+$GPRMC,091733.00,A,5159.10799,N,00423.71607,E,0.091,327.35,120308,,,A*6D
+$GPRMC,091734.00,A,5159.10793,N,00423.71608,E,0.039,326.32,120308,,,A*6B
+$GPRMC,091735.00,A,5159.10787,N,00423.71605,E,0.032,323.41,120308,,,A*68
+$GPRMC,091736.00,A,5159.10784,N,00423.71598,E,0.021,323.11,120308,,,A*68
+$GPRMC,091737.00,A,5159.10778,N,00423.71597,E,0.025,322.35,120308,,,A*66
+$GPRMC,091738.00,A,5159.10772,N,00423.71594,E,0.018,,120308,,,A*75
+$GPRMC,091739.00,A,5159.10774,N,00423.71581,E,0.042,322.12,120308,,,A*67
+$GPRMC,091740.00,A,5159.10772,N,00423.71575,E,0.055,322.04,120308,,,A*65
+$GPRMC,091741.00,A,5159.10766,N,00423.71575,E,0.128,326.66,120308,,,A*6A
+$GPRMC,091742.00,A,5159.10761,N,00423.71575,E,0.037,324.10,120308,,,A*62
+$GPRMC,091743.00,A,5159.10759,N,00423.71573,E,0.056,324.66,120308,,,A*68
+$GPRMC,091744.00,A,5159.10757,N,00423.71570,E,0.027,325.01,120308,,,A*64
+$GPRMC,091745.00,A,5159.10752,N,00423.71573,E,0.023,321.92,120308,,,A*69
+$GPRMC,091746.00,A,5159.10759,N,00423.71555,E,0.044,321.68,120308,,,A*61
+$GPRMC,091747.00,A,5159.10761,N,00423.71547,E,0.040,320.96,120308,,,A*6C
+$GPRMC,091748.00,A,5159.10765,N,00423.71536,E,0.046,320.64,120308,,,A*6A
+$GPRMC,091749.00,A,5159.10767,N,00423.71530,E,0.053,320.63,120308,,,A*6C
+$GPRMC,091750.00,A,5159.10766,N,00423.71528,E,0.043,319.57,120308,,,A*60
+$GPRMC,091751.00,A,5159.10767,N,00423.71521,E,0.040,317.25,120308,,,A*61
+$GPRMC,091752.00,A,5159.10762,N,00423.71524,E,0.050,316.91,120308,,,A*6D
+$GPRMC,091753.00,A,5159.10755,N,00423.71531,E,0.053,317.85,120308,,,A*6B
+$GPRMC,091754.00,A,5159.10749,N,00423.71538,E,0.008,,120308,,,A*70
+$GPRMC,091755.00,A,5159.10743,N,00423.71539,E,0.043,314.88,120308,,,A*6D
+$GPRMC,091756.00,A,5159.10738,N,00423.71539,E,0.026,314.48,120308,,,A*6D
+$GPRMC,091757.00,A,5159.10733,N,00423.71539,E,0.031,312.43,120308,,,A*6C
+$GPRMC,091758.00,A,5159.10731,N,00423.71535,E,0.024,313.04,120308,,,A*6B
+$GPRMC,091759.00,A,5159.10795,N,00423.71443,E,0.342,314.73,120308,,,A*60
+$GPRMC,091800.00,A,5159.10819,N,00423.71415,E,0.054,313.66,120308,,,A*6C
+$GPRMC,091801.00,A,5159.10830,N,00423.71406,E,0.067,312.25,120308,,,A*62
+$GPRMC,091802.00,A,5159.10848,N,00423.71386,E,0.028,309.30,120308,,,A*64
+$GPRMC,091803.00,A,5159.10861,N,00423.71374,E,0.044,306.60,120308,,,A*63
+$GPRMC,091804.00,A,5159.10890,N,00423.71341,E,0.051,304.82,120308,,,A*66
+$GPRMC,091805.00,A,5159.10916,N,00423.71307,E,0.062,300.61,120308,,,A*63
+$GPRMC,091806.00,A,5159.10941,N,00423.71277,E,0.057,297.37,120308,,,A*6E
+$GPRMC,091807.00,A,5159.10962,N,00423.71253,E,0.092,295.37,120308,,,A*63
+$GPRMC,091808.00,A,5159.10982,N,00423.71228,E,0.129,293.02,120308,,,A*6F
+$GPRMC,091809.00,A,5159.11002,N,00423.71207,E,0.020,292.05,120308,,,A*6D
+$GPRMC,091810.00,A,5159.11022,N,00423.71191,E,0.029,291.04,120308,,,A*60
+$GPRMC,091811.00,A,5159.11035,N,00423.71168,E,0.359,285.87,120308,,,A*6B
+$GPRMC,091812.00,A,5159.11048,N,00423.71149,E,0.292,280.83,120308,,,A*66
+$GPRMC,091813.00,A,5159.11052,N,00423.71147,E,0.260,276.78,120308,,,A*62
+$GPRMC,091814.00,A,5159.11070,N,00423.71154,E,0.092,275.47,120308,,,A*67
+$GPRMC,091815.00,A,5159.11089,N,00423.71164,E,0.088,278.21,120308,,,A*65
+$GPRMC,091816.00,A,5159.11118,N,00423.71167,E,0.104,273.31,120308,,,A*63
+$GPRMC,091817.00,A,5159.11145,N,00423.71217,E,0.319,263.71,120308,,,A*65
+$GPRMC,091818.00,A,5159.11176,N,00423.71226,E,0.234,266.91,120308,,,A*6D
+$GPRMC,091819.00,A,5159.11207,N,00423.71247,E,0.062,272.06,120308,,,A*64
+$GPRMC,091820.00,A,5159.11227,N,00423.71253,E,0.156,273.08,120308,,,A*60
+$GPRMC,091821.00,A,5159.11223,N,00423.71317,E,0.447,263.27,120308,,,A*6D
+$GPRMC,091822.00,A,5159.11235,N,00423.71350,E,0.299,254.60,120308,,,A*68
+$GPRMC,091823.00,A,5159.11234,N,00423.71383,E,0.028,250.65,120308,,,A*6F
+$GPRMC,091824.00,A,5159.11237,N,00423.71395,E,0.028,250.28,120308,,,A*65
+$GPRMC,091825.00,A,5159.11242,N,00423.71399,E,0.015,,120308,,,A*77
+$GPRMC,091826.00,A,5159.11232,N,00423.71435,E,0.024,248.73,120308,,,A*64
+$GPRMC,091827.00,A,5159.11224,N,00423.71459,E,0.036,243.60,120308,,,A*62
+$GPRMC,091828.00,A,5159.11214,N,00423.71478,E,0.036,247.72,120308,,,A*6A
+$GPRMC,091829.00,A,5159.11207,N,00423.71490,E,0.091,250.43,120308,,,A*66
+$GPRMC,091830.00,A,5159.11198,N,00423.71502,E,0.037,253.80,120308,,,A*61
+$GPRMC,091831.00,A,5159.11186,N,00423.71514,E,0.016,,120308,,,A*79
+$GPRMC,091832.00,A,5159.11173,N,00423.71529,E,0.048,257.52,120308,,,A*6C
+$GPRMC,091833.00,A,5159.11162,N,00423.71542,E,0.039,260.03,120308,,,A*66
+$GPRMC,091834.00,A,5159.11152,N,00423.71552,E,0.020,260.03,120308,,,A*6B
+$GPRMC,091835.00,A,5159.11140,N,00423.71563,E,0.031,257.52,120308,,,A*6B
+$GPRMC,091836.00,A,5159.11128,N,00423.71574,E,0.057,253.94,120308,,,A*6E
+$GPRMC,091837.00,A,5159.11119,N,00423.71581,E,0.012,,120308,,,A*71
+$GPRMC,091838.00,A,5159.11108,N,00423.71588,E,0.011,,120308,,,A*74
+$GPRMC,091839.00,A,5159.11097,N,00423.71595,E,0.038,257.31,120308,,,A*69
+$GPRMC,091840.00,A,5159.11085,N,00423.71603,E,0.036,260.42,120308,,,A*66
+$GPRMC,091841.00,A,5159.11072,N,00423.71611,E,0.078,265.17,120308,,,A*63
+$GPRMC,091842.00,A,5159.11060,N,00423.71620,E,0.101,262.57,120308,,,A*6D
+$GPRMC,091843.00,A,5159.11047,N,00423.71626,E,0.072,260.10,120308,,,A*6B
+$GPRMC,091844.00,A,5159.11036,N,00423.71632,E,0.044,257.64,120308,,,A*6D
+$GPRMC,091845.00,A,5159.11029,N,00423.71637,E,0.041,260.91,120308,,,A*6C
+$GPRMC,091846.00,A,5159.11020,N,00423.71642,E,0.017,,120308,,,A*75
+$GPRMC,091847.00,A,5159.11012,N,00423.71647,E,0.036,258.20,120308,,,A*60
+$GPRMC,091848.00,A,5159.11005,N,00423.71650,E,0.084,256.25,120308,,,A*6D
+$GPRMC,091849.00,A,5159.10993,N,00423.71654,E,0.017,,120308,,,A*7D
+$GPRMC,091850.00,A,5159.10985,N,00423.71652,E,0.011,,120308,,,A*72
+$GPRMC,091851.00,A,5159.10977,N,00423.71650,E,0.044,253.27,120308,,,A*63
+$GPRMC,091852.00,A,5159.10968,N,00423.71650,E,0.049,251.06,120308,,,A*62
+$GPRMC,091853.00,A,5159.10957,N,00423.71652,E,0.022,248.47,120308,,,A*6D
+$GPRMC,091854.00,A,5159.10948,N,00423.71657,E,0.069,245.70,120308,,,A*67
+$GPRMC,091855.00,A,5159.10933,N,00423.71657,E,0.024,244.41,120308,,,A*60
+$GPRMC,091856.00,A,5159.10923,N,00423.71665,E,0.064,241.41,120308,,,A*62
+$GPRMC,091857.00,A,5159.10914,N,00423.71670,E,0.102,240.92,120308,,,A*6D
+$GPRMC,091858.00,A,5159.10901,N,00423.71675,E,0.073,245.91,120308,,,A*62
+$GPRMC,091859.00,A,5159.10893,N,00423.71681,E,0.122,250.00,120308,,,A*6B
+$GPRMC,091900.00,A,5159.10882,N,00423.71692,E,0.025,246.99,120308,,,A*65
+$GPRMC,091901.00,A,5159.10871,N,00423.71701,E,0.019,,120308,,,A*72
+$GPRMC,091902.00,A,5159.10861,N,00423.71709,E,0.003,,120308,,,A*73
+$GPRMC,091903.00,A,5159.10853,N,00423.71716,E,0.047,251.35,120308,,,A*63
+$GPRMC,091904.00,A,5159.10846,N,00423.71724,E,0.014,,120308,,,A*79
+$GPRMC,091905.00,A,5159.10841,N,00423.71731,E,0.127,256.28,120308,,,A*6F
+$GPRMC,091906.00,A,5159.10836,N,00423.71741,E,0.029,254.23,120308,,,A*6D
+$GPRMC,091907.00,A,5159.10827,N,00423.71746,E,0.005,,120308,,,A*79
+$GPRMC,091908.00,A,5159.10821,N,00423.71751,E,0.010,,120308,,,A*72
+$GPRMC,091909.00,A,5159.10816,N,00423.71753,E,0.057,257.29,120308,,,A*63
+$GPRMC,091910.00,A,5159.10808,N,00423.71755,E,0.058,260.45,120308,,,A*63
+$GPRMC,091911.00,A,5159.10805,N,00423.71758,E,0.188,264.02,120308,,,A*69
+$GPRMC,091912.00,A,5159.10802,N,00423.71760,E,0.046,267.06,120308,,,A*62
+$GPRMC,091913.00,A,5159.10799,N,00423.71759,E,0.010,,120308,,,A*7C
+$GPRMC,091914.00,A,5159.10795,N,00423.71758,E,0.037,264.45,120308,,,A*6C
+$GPRMC,091915.00,A,5159.10791,N,00423.71757,E,0.020,268.55,120308,,,A*6D
+$GPRMC,091916.00,A,5159.10790,N,00423.71756,E,0.016,,120308,,,A*79
+$GPRMC,091917.00,A,5159.10792,N,00423.71755,E,0.016,,120308,,,A*79
+$GPRMC,091918.00,A,5159.10793,N,00423.71752,E,0.014,,120308,,,A*72
+$GPRMC,091919.00,A,5159.10795,N,00423.71749,E,0.006,,120308,,,A*7C
+$GPRMC,091920.00,A,5159.10798,N,00423.71747,E,0.020,271.50,120308,,,A*6E
+$GPRMC,091921.00,A,5159.10802,N,00423.71745,E,0.043,274.61,120308,,,A*63
+$GPRMC,091922.00,A,5159.10807,N,00423.71744,E,0.016,,120308,,,A*7C
+$GPRMC,091923.00,A,5159.10815,N,00423.71743,E,0.166,277.86,120308,,,A*6D
+$GPRMC,091924.00,A,5159.10823,N,00423.71743,E,0.014,,120308,,,A*79
+$GPRMC,091925.00,A,5159.10825,N,00423.71729,E,0.007,,120308,,,A*70
+$GPRMC,091926.00,A,5159.10829,N,00423.71719,E,0.044,280.59,120308,,,A*63
+$GPRMC,091927.00,A,5159.10832,N,00423.71708,E,0.009,,120308,,,A*79
+$GPRMC,091928.00,A,5159.10834,N,00423.71698,E,0.026,282.86,120308,,,A*6D
+$GPRMC,091929.00,A,5159.10836,N,00423.71695,E,0.027,288.14,120308,,,A*63
+$GPRMC,091930.00,A,5159.10839,N,00423.71691,E,0.009,,120308,,,A*75
+$GPRMC,091931.00,A,5159.10840,N,00423.71688,E,0.005,,120308,,,A*7E
+$GPRMC,091932.00,A,5159.10841,N,00423.71685,E,0.016,,120308,,,A*73
+$GPRMC,091933.00,A,5159.10843,N,00423.71684,E,0.017,,120308,,,A*70
Index: /liacs/se/gps-data/110/characteroutput-20080312-102157.txt
===================================================================
--- /liacs/se/gps-data/110/characteroutput-20080312-102157.txt	(revision 2)
+++ /liacs/se/gps-data/110/characteroutput-20080312-102157.txt	(revision 2)
@@ -0,0 +1,6661 @@
+$GPRMC,092146.00,A,5159.12113,N,00423.71834,E,0.538,14.59,120308,,,A*5D
+$GPRMC,092147.00,A,5159.12323,N,00423.71726,E,0.395,15.68,120308,,,A*53
+$GPRMC,092148.00,A,5159.12241,N,00423.70534,E,1.380,7.16,120308,,,A*66
+$GPRMC,092149.00,A,5159.12255,N,00423.70731,E,0.244,4.34,120308,,,A*6E
+$GPRMC,092150.00,A,5159.12233,N,00423.70878,E,0.517,7.62,120308,,,A*65
+$GPRMC,092151.00,A,5159.12261,N,00423.70936,E,0.490,9.31,120308,,,A*6E
+$GPRMC,092152.00,A,5159.12247,N,00423.70941,E,0.011,,120308,,,A*71
+$GPRMC,092153.00,A,5159.12249,N,00423.70867,E,0.050,6.48,120308,,,A*6A
+$GPRMC,092154.00,A,5159.12258,N,00423.70887,E,0.024,11.41,120308,,,A*5F
+$GPRMC,092155.00,A,5159.12250,N,00423.70900,E,0.038,9.92,120308,,,A*62
+$GPRMC,092156.00,A,5159.12257,N,00423.70895,E,0.034,13.61,120308,,,A*50
+$GPRMC,092157.00,A,5159.12263,N,00423.70909,E,0.011,,120308,,,A*7E
+$GPRMC,092158.00,A,5159.12273,N,00423.70877,E,0.116,11.12,120308,,,A*53
+$GPRMC,092159.00,A,5159.12259,N,00423.70886,E,0.147,8.83,120308,,,A*60
+$GPRMC,092200.00,A,5159.12255,N,00423.70889,E,0.143,6.50,120308,,,A*68
+$GPRMC,092201.00,A,5159.12257,N,00423.70892,E,0.033,4.82,120308,,,A*6A
+$GPRMC,092202.00,A,5159.12264,N,00423.70923,E,0.092,2.55,120308,,,A*65
+$GPRMC,092203.00,A,5159.12267,N,00423.70940,E,0.035,358.48,120308,,,A*6F
+$GPRMC,092204.00,A,5159.12274,N,00423.70933,E,0.036,353.31,120308,,,A*68
+$GPRMC,092205.00,A,5159.12274,N,00423.70938,E,0.041,348.55,120308,,,A*6A
+$GPRMC,092206.00,A,5159.12277,N,00423.70937,E,0.100,346.94,120308,,,A*62
+$GPRMC,092207.00,A,5159.12282,N,00423.70938,E,0.048,343.36,120308,,,A*66
+$GPRMC,092208.00,A,5159.12285,N,00423.70948,E,0.113,341.74,120308,,,A*62
+$GPRMC,092209.00,A,5159.12289,N,00423.70958,E,0.038,338.00,120308,,,A*6B
+$GPRMC,092210.00,A,5159.12291,N,00423.70963,E,0.037,333.91,120308,,,A*6E
+$GPRMC,092211.00,A,5159.12292,N,00423.70977,E,0.017,,120308,,,A*7E
+$GPRMC,092212.00,A,5159.12296,N,00423.70993,E,0.078,332.76,120308,,,A*67
+$GPRMC,092213.00,A,5159.12299,N,00423.71004,E,0.024,332.40,120308,,,A*63
+$GPRMC,092214.00,A,5159.12305,N,00423.71007,E,0.063,326.87,120308,,,A*6E
+$GPRMC,092215.00,A,5159.12311,N,00423.71010,E,0.012,,120308,,,A*7C
+$GPRMC,092216.00,A,5159.12315,N,00423.71026,E,0.153,331.22,120308,,,A*65
+$GPRMC,092217.00,A,5159.12316,N,00423.71047,E,0.048,329.05,120308,,,A*67
+$GPRMC,092218.00,A,5159.12320,N,00423.71044,E,0.152,327.55,120308,,,A*6F
+$GPRMC,092219.00,A,5159.12319,N,00423.71050,E,0.355,324.96,120308,,,A*68
+$GPRMC,092220.00,A,5159.12319,N,00423.71042,E,0.099,324.94,120308,,,A*60
+$GPRMC,092221.00,A,5159.12301,N,00423.71084,E,0.091,330.43,120308,,,A*65
+$GPRMC,092222.00,A,5159.12295,N,00423.71084,E,0.077,333.35,120308,,,A*60
+$GPRMC,092223.00,A,5159.12290,N,00423.71081,E,0.019,,120308,,,A*72
+$GPRMC,092224.00,A,5159.12289,N,00423.71066,E,0.052,338.80,120308,,,A*65
+$GPRMC,092225.00,A,5159.12289,N,00423.71058,E,0.051,334.21,120308,,,A*6D
+$GPRMC,092226.00,A,5159.12288,N,00423.71043,E,0.113,334.33,120308,,,A*61
+$GPRMC,092227.00,A,5159.12291,N,00423.71039,E,0.020,335.92,120308,,,A*6E
+$GPRMC,092228.00,A,5159.12289,N,00423.71041,E,0.079,331.16,120308,,,A*63
+$GPRMC,092229.00,A,5159.12280,N,00423.71050,E,0.014,,120308,,,A*78
+$GPRMC,092230.00,A,5159.12275,N,00423.71049,E,0.051,329.83,120308,,,A*6E
+$GPRMC,092231.00,A,5159.12276,N,00423.71016,E,1.770,327.65,120308,,,A*65
+$GPRMC,092232.00,A,5159.12304,N,00423.70912,E,4.017,296.53,120308,,,A*63
+$GPRMC,092233.00,A,5159.12354,N,00423.70709,E,5.722,295.87,120308,,,A*69
+$GPRMC,092234.00,A,5159.12430,N,00423.70478,E,6.782,300.22,120308,,,A*65
+$GPRMC,092235.00,A,5159.12533,N,00423.70165,E,8.832,302.49,120308,,,A*6A
+$GPRMC,092236.00,A,5159.12790,N,00423.69854,E,11.941,327.41,120308,,,A*53
+$GPRMC,092237.00,A,5159.13154,N,00423.69584,E,14.769,340.22,120308,,,A*58
+$GPRMC,092238.00,A,5159.13515,N,00423.69358,E,14.550,341.52,120308,,,A*5F
+$GPRMC,092239.00,A,5159.13876,N,00423.69179,E,13.742,342.04,120308,,,A*51
+$GPRMC,092240.00,A,5159.14233,N,00423.68990,E,13.654,336.86,120308,,,A*52
+$GPRMC,092241.00,A,5159.14448,N,00423.68669,E,12.012,316.89,120308,,,A*58
+$GPRMC,092242.00,A,5159.14688,N,00423.68257,E,13.600,309.13,120308,,,A*55
+$GPRMC,092243.00,A,5159.14817,N,00423.67734,E,14.219,288.75,120308,,,A*50
+$GPRMC,092244.00,A,5159.14923,N,00423.67092,E,15.334,287.99,120308,,,A*58
+$GPRMC,092245.00,A,5159.15028,N,00423.66340,E,17.214,288.05,120308,,,A*5C
+$GPRMC,092246.00,A,5159.15128,N,00423.65554,E,17.446,287.54,120308,,,A*54
+$GPRMC,092247.00,A,5159.15237,N,00423.64779,E,16.862,288.38,120308,,,A*5A
+$GPRMC,092248.00,A,5159.15402,N,00423.64089,E,16.632,297.97,120308,,,A*5D
+$GPRMC,092249.00,A,5159.15661,N,00423.63507,E,15.973,312.66,120308,,,A*54
+$GPRMC,092250.00,A,5159.16052,N,00423.63016,E,17.866,328.56,120308,,,A*51
+$GPRMC,092251.00,A,5159.16583,N,00423.62621,E,19.897,333.53,120308,,,A*55
+$GPRMC,092252.00,A,5159.17185,N,00423.62192,E,22.217,335.11,120308,,,A*50
+$GPRMC,092253.00,A,5159.17832,N,00423.61814,E,24.201,338.63,120308,,,A*59
+$GPRMC,092254.00,A,5159.18526,N,00423.61426,E,25.894,339.79,120308,,,A*59
+$GPRMC,092255.00,A,5159.19291,N,00423.61100,E,27.715,342.55,120308,,,A*55
+$GPRMC,092256.00,A,5159.20078,N,00423.60682,E,29.878,340.43,120308,,,A*5A
+$GPRMC,092257.00,A,5159.20918,N,00423.60235,E,30.860,340.43,120308,,,A*5D
+$GPRMC,092258.00,A,5159.21788,N,00423.59833,E,31.447,342.54,120308,,,A*5E
+$GPRMC,092259.00,A,5159.22639,N,00423.59446,E,31.590,343.62,120308,,,A*56
+$GPRMC,092300.00,A,5159.23479,N,00423.59103,E,31.307,345.25,120308,,,A*55
+$GPRMC,092301.00,A,5159.24341,N,00423.58742,E,32.392,344.51,120308,,,A*50
+$GPRMC,092302.00,A,5159.25244,N,00423.58320,E,34.388,343.25,120308,,,A*5F
+$GPRMC,092303.00,A,5159.26192,N,00423.57825,E,36.499,341.66,120308,,,A*54
+$GPRMC,092304.00,A,5159.27210,N,00423.57319,E,38.991,342.46,120308,,,A*55
+$GPRMC,092305.00,A,5159.28325,N,00423.56879,E,41.103,343.31,120308,,,A*5C
+$GPRMC,092306.00,A,5159.29504,N,00423.56381,E,43.696,344.16,120308,,,A*5C
+$GPRMC,092307.00,A,5159.30699,N,00423.55819,E,45.730,344.81,120308,,,A*5E
+$GPRMC,092308.00,A,5159.31975,N,00423.55273,E,47.717,345.24,120308,,,A*52
+$GPRMC,092309.00,A,5159.33300,N,00423.54717,E,49.792,345.35,120308,,,A*5C
+$GPRMC,092310.00,A,5159.34669,N,00423.54117,E,51.654,344.38,120308,,,A*51
+$GPRMC,092311.00,A,5159.36096,N,00423.53473,E,53.438,344.97,120308,,,A*5B
+$GPRMC,092312.00,A,5159.37587,N,00423.52814,E,55.588,344.85,120308,,,A*5F
+$GPRMC,092313.00,A,5159.39104,N,00423.52136,E,57.002,344.42,120308,,,A*58
+$GPRMC,092314.00,A,5159.40665,N,00423.51365,E,58.986,343.45,120308,,,A*5C
+$GPRMC,092315.00,A,5159.42250,N,00423.50606,E,59.796,343.61,120308,,,A*54
+$GPRMC,092316.00,A,5159.43855,N,00423.49844,E,59.918,344.24,120308,,,A*57
+$GPRMC,092317.00,A,5159.45487,N,00423.49086,E,60.909,344.49,120308,,,A*54
+$GPRMC,092318.00,A,5159.47132,N,00423.48324,E,60.588,344.83,120308,,,A*5B
+$GPRMC,092319.00,A,5159.48773,N,00423.47600,E,61.561,344.73,120308,,,A*53
+$GPRMC,092320.00,A,5159.50384,N,00423.46890,E,59.647,344.82,120308,,,A*58
+$GPRMC,092321.00,A,5159.51977,N,00423.46233,E,59.252,345.25,120308,,,A*51
+$GPRMC,092322.00,A,5159.53579,N,00423.45539,E,59.481,345.04,120308,,,A*57
+$GPRMC,092323.00,A,5159.55175,N,00423.44941,E,59.167,345.41,120308,,,A*56
+$GPRMC,092324.00,A,5159.56768,N,00423.44310,E,59.153,344.90,120308,,,A*5C
+$GPRMC,092325.00,A,5159.58358,N,00423.43664,E,59.248,344.90,120308,,,A*5C
+$GPRMC,092326.00,A,5159.59966,N,00423.42997,E,60.381,344.80,120308,,,A*54
+$GPRMC,092327.00,A,5159.61605,N,00423.42304,E,61.529,344.57,120308,,,A*5B
+$GPRMC,092328.00,A,5159.63277,N,00423.41549,E,63.178,343.58,120308,,,A*51
+$GPRMC,092329.00,A,5159.64983,N,00423.40746,E,64.375,343.63,120308,,,A*5B
+$GPRMC,092330.00,A,5159.66721,N,00423.39936,E,65.376,343.94,120308,,,A*5A
+$GPRMC,092331.00,A,5159.68478,N,00423.39124,E,65.489,344.22,120308,,,A*5C
+$GPRMC,092332.00,A,5159.70250,N,00423.38314,E,65.909,344.96,120308,,,A*50
+$GPRMC,092333.00,A,5159.72037,N,00423.37517,E,66.379,344.93,120308,,,A*51
+$GPRMC,092334.00,A,5159.73832,N,00423.36739,E,66.676,345.50,120308,,,A*51
+$GPRMC,092335.00,A,5159.75636,N,00423.35987,E,66.864,345.40,120308,,,A*58
+$GPRMC,092336.00,A,5159.77446,N,00423.35200,E,67.306,344.95,120308,,,A*5F
+$GPRMC,092337.00,A,5159.79260,N,00423.34419,E,67.271,345.37,120308,,,A*55
+$GPRMC,092338.00,A,5159.81074,N,00423.33667,E,67.124,345.31,120308,,,A*53
+$GPRMC,092339.00,A,5159.82889,N,00423.32892,E,67.433,345.04,120308,,,A*5B
+$GPRMC,092340.00,A,5159.84697,N,00423.32109,E,67.460,344.89,120308,,,A*5B
+$GPRMC,092341.00,A,5159.86507,N,00423.31322,E,67.862,344.74,120308,,,A*56
+$GPRMC,092342.00,A,5159.88321,N,00423.30528,E,67.732,345.15,120308,,,A*58
+$GPRMC,092343.00,A,5159.90146,N,00423.29743,E,67.930,345.21,120308,,,A*5F
+$GPRMC,092344.00,A,5159.91978,N,00423.28967,E,68.081,345.21,120308,,,A*59
+$GPRMC,092345.00,A,5159.93812,N,00423.28187,E,67.911,345.19,120308,,,A*55
+$GPRMC,092346.00,A,5159.95642,N,00423.27420,E,67.908,345.34,120308,,,A*5B
+$GPRMC,092347.00,A,5159.97471,N,00423.26640,E,68.408,344.71,120308,,,A*5D
+$GPRMC,092348.00,A,5159.99314,N,00423.25836,E,68.967,344.83,120308,,,A*5D
+$GPRMC,092349.00,A,5200.01159,N,00423.25065,E,68.596,345.16,120308,,,A*58
+$GPRMC,092350.00,A,5200.02979,N,00423.24360,E,67.871,345.23,120308,,,A*53
+$GPRMC,092351.00,A,5200.04770,N,00423.23700,E,67.046,345.16,120308,,,A*5C
+$GPRMC,092352.00,A,5200.06592,N,00423.22860,E,67.715,343.86,120308,,,A*55
+$GPRMC,092353.00,A,5200.08371,N,00423.22142,E,66.610,345.06,120308,,,A*53
+$GPRMC,092354.00,A,5200.10144,N,00423.21441,E,66.734,344.68,120308,,,A*52
+$GPRMC,092355.00,A,5200.11914,N,00423.20720,E,66.512,344.67,120308,,,A*53
+$GPRMC,092356.00,A,5200.13688,N,00423.19937,E,65.980,344.70,120308,,,A*58
+$GPRMC,092357.00,A,5200.15447,N,00423.19152,E,65.486,344.64,120308,,,A*5B
+$GPRMC,092358.00,A,5200.17188,N,00423.18370,E,64.562,344.55,120308,,,A*5B
+$GPRMC,092359.00,A,5200.18913,N,00423.17590,E,64.221,344.59,120308,,,A*54
+$GPRMC,092400.00,A,5200.20627,N,00423.16820,E,63.785,344.52,120308,,,A*5C
+$GPRMC,092401.00,A,5200.22316,N,00423.16084,E,63.506,343.91,120308,,,A*5F
+$GPRMC,092402.00,A,5200.24000,N,00423.15227,E,63.896,341.86,120308,,,A*56
+$GPRMC,092403.00,A,5200.25692,N,00423.14278,E,65.056,340.25,120308,,,A*5A
+$GPRMC,092404.00,A,5200.27407,N,00423.13231,E,66.356,338.82,120308,,,A*59
+$GPRMC,092405.00,A,5200.29112,N,00423.12059,E,67.018,336.67,120308,,,A*57
+$GPRMC,092406.00,A,5200.30828,N,00423.10763,E,68.029,334.41,120308,,,A*5B
+$GPRMC,092407.00,A,5200.32501,N,00423.09438,E,66.726,332.85,120308,,,A*53
+$GPRMC,092408.00,A,5200.34123,N,00423.08001,E,65.301,330.78,120308,,,A*53
+$GPRMC,092409.00,A,5200.35685,N,00423.06518,E,64.045,328.94,120308,,,A*52
+$GPRMC,092410.00,A,5200.37204,N,00423.04983,E,64.814,326.97,120308,,,A*58
+$GPRMC,092411.00,A,5200.38726,N,00423.03344,E,65.973,325.40,120308,,,A*5D
+$GPRMC,092412.00,A,5200.40246,N,00423.01617,E,67.256,324.97,120308,,,A*56
+$GPRMC,092413.00,A,5200.41773,N,00422.99845,E,68.152,324.03,120308,,,A*59
+$GPRMC,092414.00,A,5200.43336,N,00422.98078,E,68.897,325.38,120308,,,A*57
+$GPRMC,092415.00,A,5200.44922,N,00422.96356,E,68.681,325.43,120308,,,A*5A
+$GPRMC,092416.00,A,5200.46495,N,00422.94592,E,68.161,324.97,120308,,,A*57
+$GPRMC,092417.00,A,5200.48010,N,00422.92887,E,66.333,324.76,120308,,,A*5A
+$GPRMC,092418.00,A,5200.49486,N,00422.91185,E,64.673,324.23,120308,,,A*54
+$GPRMC,092419.00,A,5200.50951,N,00422.89445,E,64.120,323.70,120308,,,A*5A
+$GPRMC,092420.00,A,5200.52409,N,00422.87650,E,64.162,323.94,120308,,,A*56
+$GPRMC,092421.00,A,5200.53854,N,00422.85959,E,64.109,324.06,120308,,,A*57
+$GPRMC,092422.00,A,5200.55309,N,00422.84265,E,63.545,324.29,120308,,,A*52
+$GPRMC,092423.00,A,5200.56752,N,00422.82593,E,63.445,324.44,120308,,,A*58
+$GPRMC,092424.00,A,5200.58197,N,00422.80913,E,63.514,324.82,120308,,,A*57
+$GPRMC,092425.00,A,5200.59638,N,00422.79245,E,62.853,324.22,120308,,,A*5E
+$GPRMC,092426.00,A,5200.61051,N,00422.77583,E,62.476,324.28,120308,,,A*5D
+$GPRMC,092427.00,A,5200.62451,N,00422.75941,E,62.359,324.38,120308,,,A*50
+$GPRMC,092428.00,A,5200.63852,N,00422.74307,E,62.148,324.29,120308,,,A*5A
+$GPRMC,092429.00,A,5200.65249,N,00422.72677,E,62.146,324.47,120308,,,A*5F
+$GPRMC,092430.00,A,5200.66655,N,00422.71047,E,62.396,324.33,120308,,,A*57
+$GPRMC,092431.00,A,5200.68065,N,00422.69405,E,62.402,324.46,120308,,,A*5E
+$GPRMC,092432.00,A,5200.69464,N,00422.67780,E,61.931,324.26,120308,,,A*51
+$GPRMC,092433.00,A,5200.70849,N,00422.66155,E,61.641,324.04,120308,,,A*5C
+$GPRMC,092434.00,A,5200.72231,N,00422.64528,E,61.893,323.99,120308,,,A*52
+$GPRMC,092435.00,A,5200.73626,N,00422.62935,E,62.085,324.93,120308,,,A*57
+$GPRMC,092436.00,A,5200.75022,N,00422.61327,E,61.821,324.51,120308,,,A*51
+$GPRMC,092437.00,A,5200.76405,N,00422.59717,E,61.549,324.38,120308,,,A*52
+$GPRMC,092438.00,A,5200.77809,N,00422.58092,E,62.012,324.41,120308,,,A*51
+$GPRMC,092439.00,A,5200.79208,N,00422.56447,E,62.272,324.17,120308,,,A*50
+$GPRMC,092440.00,A,5200.80613,N,00422.54793,E,62.318,324.18,120308,,,A*5C
+$GPRMC,092441.00,A,5200.82016,N,00422.53146,E,62.370,324.30,120308,,,A*51
+$GPRMC,092442.00,A,5200.83430,N,00422.51488,E,62.608,324.27,120308,,,A*5A
+$GPRMC,092443.00,A,5200.84836,N,00422.49847,E,62.389,324.46,120308,,,A*5B
+$GPRMC,092444.00,A,5200.86237,N,00422.48209,E,61.487,324.58,120308,,,A*51
+$GPRMC,092445.00,A,5200.87609,N,00422.46595,E,61.087,324.16,120308,,,A*5A
+$GPRMC,092446.00,A,5200.88980,N,00422.44981,E,61.148,324.17,120308,,,A*50
+$GPRMC,092447.00,A,5200.90358,N,00422.43358,E,61.500,324.12,120308,,,A*53
+$GPRMC,092448.00,A,5200.91741,N,00422.41737,E,61.859,324.32,120308,,,A*5D
+$GPRMC,092449.00,A,5200.93137,N,00422.40105,E,62.316,324.14,120308,,,A*58
+$GPRMC,092450.00,A,5200.94534,N,00422.38438,E,62.897,323.54,120308,,,A*55
+$GPRMC,092451.00,A,5200.95956,N,00422.36767,E,63.445,324.32,120308,,,A*5F
+$GPRMC,092452.00,A,5200.97388,N,00422.35101,E,63.720,324.35,120308,,,A*55
+$GPRMC,092453.00,A,5200.98832,N,00422.33416,E,64.230,324.35,120308,,,A*57
+$GPRMC,092454.00,A,5201.00272,N,00422.31739,E,63.826,324.43,120308,,,A*59
+$GPRMC,092455.00,A,5201.01698,N,00422.30083,E,63.103,324.31,120308,,,A*55
+$GPRMC,092456.00,A,5201.03106,N,00422.28444,E,62.417,324.45,120308,,,A*50
+$GPRMC,092457.00,A,5201.04498,N,00422.26807,E,62.058,324.25,120308,,,A*58
+$GPRMC,092458.00,A,5201.05885,N,00422.25185,E,62.128,324.41,120308,,,A*52
+$GPRMC,092459.00,A,5201.07284,N,00422.23544,E,63.039,324.45,120308,,,A*51
+$GPRMC,092500.00,A,5201.08694,N,00422.21853,E,63.872,323.10,120308,,,A*5F
+$GPRMC,092501.00,A,5201.10106,N,00422.20192,E,63.262,324.20,120308,,,A*51
+$GPRMC,092502.00,A,5201.11520,N,00422.18530,E,62.390,324.19,120308,,,A*53
+$GPRMC,092503.00,A,5201.12929,N,00422.16920,E,62.389,324.70,120308,,,A*50
+$GPRMC,092504.00,A,5201.14342,N,00422.15291,E,62.894,324.43,120308,,,A*53
+$GPRMC,092505.00,A,5201.15758,N,00422.13639,E,63.184,324.18,120308,,,A*5B
+$GPRMC,092506.00,A,5201.17167,N,00422.11991,E,63.624,324.07,120308,,,A*5C
+$GPRMC,092507.00,A,5201.18591,N,00422.10320,E,63.720,324.09,120308,,,A*55
+$GPRMC,092508.00,A,5201.20019,N,00422.08652,E,63.704,324.27,120308,,,A*57
+$GPRMC,092509.00,A,5201.21456,N,00422.06977,E,63.525,324.40,120308,,,A*5E
+$GPRMC,092510.00,A,5201.22889,N,00422.05331,E,63.621,324.74,120308,,,A*50
+$GPRMC,092511.00,A,5201.24308,N,00422.03689,E,62.204,324.39,120308,,,A*5E
+$GPRMC,092512.00,A,5201.25686,N,00422.02091,E,59.934,324.24,120308,,,A*5D
+$GPRMC,092513.00,A,5201.27014,N,00422.00525,E,58.416,324.15,120308,,,A*55
+$GPRMC,092514.00,A,5201.28328,N,00421.98941,E,59.137,323.85,120308,,,A*54
+$GPRMC,092515.00,A,5201.29655,N,00421.97370,E,59.578,324.39,120308,,,A*53
+$GPRMC,092516.00,A,5201.31015,N,00421.95779,E,60.985,324.13,120308,,,A*58
+$GPRMC,092517.00,A,5201.32391,N,00421.94166,E,62.315,324.19,120308,,,A*57
+$GPRMC,092518.00,A,5201.33799,N,00421.92529,E,63.154,324.22,120308,,,A*52
+$GPRMC,092519.00,A,5201.35220,N,00421.90916,E,62.738,325.11,120308,,,A*5C
+$GPRMC,092520.00,A,5201.36600,N,00421.89331,E,61.297,324.36,120308,,,A*53
+$GPRMC,092521.00,A,5201.37971,N,00421.87747,E,60.370,324.65,120308,,,A*5E
+$GPRMC,092522.00,A,5201.39323,N,00421.86163,E,59.909,324.29,120308,,,A*59
+$GPRMC,092523.00,A,5201.40655,N,00421.84651,E,58.582,324.41,120308,,,A*56
+$GPRMC,092524.00,A,5201.41989,N,00421.83158,E,58.288,324.47,120308,,,A*5C
+$GPRMC,092525.00,A,5201.43311,N,00421.81633,E,58.122,324.34,120308,,,A*5B
+$GPRMC,092526.00,A,5201.44627,N,00421.80086,E,58.991,324.13,120308,,,A*53
+$GPRMC,092527.00,A,5201.45940,N,00421.78524,E,59.391,324.26,120308,,,A*5A
+$GPRMC,092528.00,A,5201.47278,N,00421.76925,E,60.425,323.90,120308,,,A*5C
+$GPRMC,092529.00,A,5201.48643,N,00421.75281,E,61.943,323.84,120308,,,A*51
+$GPRMC,092530.00,A,5201.50025,N,00421.73610,E,62.461,323.45,120308,,,A*5F
+$GPRMC,092531.00,A,5201.51440,N,00421.71939,E,63.265,324.19,120308,,,A*53
+$GPRMC,092532.00,A,5201.52877,N,00421.70263,E,64.441,324.32,120308,,,A*50
+$GPRMC,092533.00,A,5201.54337,N,00421.68541,E,65.564,324.17,120308,,,A*56
+$GPRMC,092534.00,A,5201.55826,N,00421.66788,E,66.625,324.31,120308,,,A*53
+$GPRMC,092535.00,A,5201.57338,N,00421.65008,E,67.490,324.31,120308,,,A*55
+$GPRMC,092536.00,A,5201.58860,N,00421.63222,E,67.887,324.10,120308,,,A*5A
+$GPRMC,092537.00,A,5201.60396,N,00421.61406,E,68.717,324.02,120308,,,A*5A
+$GPRMC,092538.00,A,5201.61967,N,00421.59559,E,70.354,323.73,120308,,,A*5B
+$GPRMC,092539.00,A,5201.63589,N,00421.57729,E,71.195,324.36,120308,,,A*57
+$GPRMC,092540.00,A,5201.65199,N,00421.55831,E,71.942,324.22,120308,,,A*59
+$GPRMC,092541.00,A,5201.66833,N,00421.53902,E,72.825,324.18,120308,,,A*5F
+$GPRMC,092542.00,A,5201.68500,N,00421.51975,E,73.602,324.52,120308,,,A*59
+$GPRMC,092543.00,A,5201.70180,N,00421.50033,E,74.257,324.36,120308,,,A*56
+$GPRMC,092544.00,A,5201.71867,N,00421.48076,E,74.571,324.43,120308,,,A*59
+$GPRMC,092545.00,A,5201.73548,N,00421.46126,E,73.663,324.24,120308,,,A*56
+$GPRMC,092546.00,A,5201.75202,N,00421.44206,E,72.656,324.60,120308,,,A*5E
+$GPRMC,092547.00,A,5201.76841,N,00421.42321,E,71.546,324.51,120308,,,A*50
+$GPRMC,092548.00,A,5201.78451,N,00421.40445,E,71.373,324.28,120308,,,A*55
+$GPRMC,092549.00,A,5201.80056,N,00421.38568,E,71.510,324.17,120308,,,A*5E
+$GPRMC,092550.00,A,5201.81670,N,00421.36688,E,71.896,324.53,120308,,,A*55
+$GPRMC,092551.00,A,5201.83290,N,00421.34860,E,71.053,325.13,120308,,,A*52
+$GPRMC,092552.00,A,5201.84941,N,00421.33115,E,71.144,326.18,120308,,,A*52
+$GPRMC,092553.00,A,5201.86643,N,00421.31445,E,71.662,327.57,120308,,,A*57
+$GPRMC,092554.00,A,5201.88343,N,00421.29789,E,71.774,329.75,120308,,,A*59
+$GPRMC,092555.00,A,5201.90062,N,00421.28244,E,71.380,331.98,120308,,,A*51
+$GPRMC,092556.00,A,5201.91809,N,00421.26765,E,70.973,334.10,120308,,,A*5C
+$GPRMC,092557.00,A,5201.93572,N,00421.25407,E,71.054,335.94,120308,,,A*5A
+$GPRMC,092558.00,A,5201.95332,N,00421.24131,E,70.054,337.43,120308,,,A*59
+$GPRMC,092559.00,A,5201.97145,N,00421.22983,E,69.873,339.95,120308,,,A*5F
+$GPRMC,092600.00,A,5201.98978,N,00421.21979,E,69.930,342.36,120308,,,A*5C
+$GPRMC,092601.00,A,5202.00866,N,00421.21098,E,70.264,344.35,120308,,,A*50
+$GPRMC,092602.00,A,5202.02769,N,00421.20335,E,70.465,346.61,120308,,,A*50
+$GPRMC,092603.00,A,5202.04690,N,00421.19696,E,70.361,348.43,120308,,,A*5B
+$GPRMC,092604.00,A,5202.06624,N,00421.19126,E,70.829,349.51,120308,,,A*58
+$GPRMC,092605.00,A,5202.08583,N,00421.18621,E,71.120,350.04,120308,,,A*51
+$GPRMC,092606.00,A,5202.10548,N,00421.18112,E,71.293,350.24,120308,,,A*52
+$GPRMC,092607.00,A,5202.12499,N,00421.17594,E,71.017,350.10,120308,,,A*50
+$GPRMC,092608.00,A,5202.14441,N,00421.17078,E,71.042,350.14,120308,,,A*5F
+$GPRMC,092609.00,A,5202.16373,N,00421.16553,E,70.399,350.03,120308,,,A*55
+$GPRMC,092610.00,A,5202.18280,N,00421.16027,E,69.192,349.89,120308,,,A*53
+$GPRMC,092611.00,A,5202.20168,N,00421.15517,E,69.080,350.35,120308,,,A*54
+$GPRMC,092612.00,A,5202.22070,N,00421.15017,E,69.838,350.74,120308,,,A*56
+$GPRMC,092613.00,A,5202.23994,N,00421.14553,E,70.332,351.93,120308,,,A*50
+$GPRMC,092614.00,A,5202.25933,N,00421.14172,E,70.441,353.76,120308,,,A*51
+$GPRMC,092615.00,A,5202.27891,N,00421.13898,E,70.975,355.81,120308,,,A*55
+$GPRMC,092616.00,A,5202.29869,N,00421.13719,E,71.596,357.61,120308,,,A*55
+$GPRMC,092617.00,A,5202.31867,N,00421.13636,E,72.072,359.09,120308,,,A*53
+$GPRMC,092618.00,A,5202.33874,N,00421.13607,E,72.275,359.53,120308,,,A*54
+$GPRMC,092619.00,A,5202.35878,N,00421.13599,E,71.894,359.79,120308,,,A*55
+$GPRMC,092620.00,A,5202.37871,N,00421.13597,E,71.716,359.72,120308,,,A*54
+$GPRMC,092621.00,A,5202.39843,N,00421.13602,E,70.509,0.26,120308,,,A*56
+$GPRMC,092622.00,A,5202.41893,N,00421.13667,E,72.987,0.34,120308,,,A*5F
+$GPRMC,092623.00,A,5202.43945,N,00421.13711,E,73.354,0.58,120308,,,A*59
+$GPRMC,092624.00,A,5202.45958,N,00421.13749,E,72.137,0.29,120308,,,A*59
+$GPRMC,092625.00,A,5202.47961,N,00421.13882,E,72.366,2.56,120308,,,A*54
+$GPRMC,092626.00,A,5202.49992,N,00421.14241,E,72.966,6.45,120308,,,A*5B
+$GPRMC,092627.00,A,5202.52107,N,00421.14782,E,74.300,9.63,120308,,,A*59
+$GPRMC,092628.00,A,5202.54137,N,00421.15437,E,73.742,12.78,120308,,,A*6A
+$GPRMC,092629.00,A,5202.56107,N,00421.16294,E,73.313,15.76,120308,,,A*6F
+$GPRMC,092630.00,A,5202.58050,N,00421.17291,E,72.993,18.99,120308,,,A*61
+$GPRMC,092631.00,A,5202.59929,N,00421.18516,E,72.728,22.06,120308,,,A*60
+$GPRMC,092632.00,A,5202.61761,N,00421.19862,E,71.997,25.05,120308,,,A*68
+$GPRMC,092633.00,A,5202.63533,N,00421.21348,E,71.975,28.07,120308,,,A*65
+$GPRMC,092634.00,A,5202.65271,N,00421.22969,E,72.333,30.74,120308,,,A*69
+$GPRMC,092635.00,A,5202.66976,N,00421.24746,E,72.738,33.51,120308,,,A*69
+$GPRMC,092636.00,A,5202.68667,N,00421.26738,E,73.973,36.30,120308,,,A*62
+$GPRMC,092637.00,A,5202.70272,N,00421.28812,E,73.504,38.47,120308,,,A*61
+$GPRMC,092638.00,A,5202.71828,N,00421.30925,E,73.400,39.35,120308,,,A*67
+$GPRMC,092639.00,A,5202.73378,N,00421.33083,E,73.056,40.08,120308,,,A*6B
+$GPRMC,092640.00,A,5202.74918,N,00421.35245,E,73.105,40.09,120308,,,A*66
+$GPRMC,092641.00,A,5202.76458,N,00421.37398,E,73.210,40.39,120308,,,A*6B
+$GPRMC,092642.00,A,5202.77994,N,00421.39537,E,73.347,40.06,120308,,,A*66
+$GPRMC,092643.00,A,5202.79537,N,00421.41693,E,73.925,40.07,120308,,,A*61
+$GPRMC,092644.00,A,5202.81087,N,00421.43889,E,74.522,40.26,120308,,,A*67
+$GPRMC,092645.00,A,5202.82656,N,00421.46091,E,74.877,40.13,120308,,,A*60
+$GPRMC,092646.00,A,5202.84232,N,00421.48292,E,75.010,40.38,120308,,,A*6D
+$GPRMC,092647.00,A,5202.85810,N,00421.50500,E,74.927,40.20,120308,,,A*67
+$GPRMC,092648.00,A,5202.87390,N,00421.52700,E,74.878,40.26,120308,,,A*64
+$GPRMC,092649.00,A,5202.88959,N,00421.54905,E,74.690,40.58,120308,,,A*69
+$GPRMC,092650.00,A,5202.90521,N,00421.57118,E,74.545,40.72,120308,,,A*6F
+$GPRMC,092651.00,A,5202.92084,N,00421.59303,E,74.220,40.47,120308,,,A*62
+$GPRMC,092652.00,A,5202.93646,N,00421.61485,E,74.199,40.31,120308,,,A*6A
+$GPRMC,092653.00,A,5202.95210,N,00421.63669,E,74.350,40.34,120308,,,A*6A
+$GPRMC,092654.00,A,5202.96771,N,00421.65859,E,74.391,40.57,120308,,,A*6F
+$GPRMC,092655.00,A,5202.98337,N,00421.68047,E,74.487,40.59,120308,,,A*62
+$GPRMC,092656.00,A,5202.99907,N,00421.70229,E,74.534,40.29,120308,,,A*64
+$GPRMC,092657.00,A,5203.01485,N,00421.72402,E,74.516,40.18,120308,,,A*6D
+$GPRMC,092658.00,A,5203.03056,N,00421.74567,E,74.148,40.19,120308,,,A*60
+$GPRMC,092659.00,A,5203.04620,N,00421.76741,E,74.192,40.62,120308,,,A*6E
+$GPRMC,092700.00,A,5203.06166,N,00421.78944,E,74.437,41.36,120308,,,A*6B
+$GPRMC,092701.00,A,5203.07695,N,00421.81203,E,74.519,42.88,120308,,,A*65
+$GPRMC,092702.00,A,5203.09186,N,00421.83525,E,74.166,44.21,120308,,,A*65
+$GPRMC,092703.00,A,5203.10640,N,00421.85889,E,73.635,45.06,120308,,,A*6E
+$GPRMC,092704.00,A,5203.12057,N,00421.88262,E,72.657,45.96,120308,,,A*65
+$GPRMC,092705.00,A,5203.13443,N,00421.90617,E,71.529,46.00,120308,,,A*6E
+$GPRMC,092706.00,A,5203.14842,N,00421.92931,E,70.889,45.06,120308,,,A*6D
+$GPRMC,092707.00,A,5203.16264,N,00421.95169,E,69.712,43.49,120308,,,A*6A
+$GPRMC,092708.00,A,5203.17705,N,00421.97267,E,68.471,40.65,120308,,,A*63
+$GPRMC,092709.00,A,5203.19184,N,00421.99182,E,67.549,36.82,120308,,,A*68
+$GPRMC,092710.00,A,5203.20724,N,00422.00926,E,67.540,33.40,120308,,,A*61
+$GPRMC,092711.00,A,5203.22352,N,00422.02495,E,67.223,29.52,120308,,,A*6A
+$GPRMC,092712.00,A,5203.23953,N,00422.03885,E,65.609,27.87,120308,,,A*67
+$GPRMC,092713.00,A,5203.25582,N,00422.05216,E,66.133,25.94,120308,,,A*6B
+$GPRMC,092714.00,A,5203.27261,N,00422.06524,E,67.246,25.41,120308,,,A*69
+$GPRMC,092715.00,A,5203.28960,N,00422.07851,E,67.912,25.91,120308,,,A*64
+$GPRMC,092716.00,A,5203.30654,N,00422.09201,E,67.717,26.80,120308,,,A*6F
+$GPRMC,092717.00,A,5203.32314,N,00422.10596,E,67.129,27.89,120308,,,A*6F
+$GPRMC,092718.00,A,5203.33940,N,00422.12020,E,66.306,29.17,120308,,,A*67
+$GPRMC,092719.00,A,5203.35523,N,00422.13464,E,65.334,30.00,120308,,,A*60
+$GPRMC,092720.00,A,5203.37068,N,00422.14916,E,64.495,30.72,120308,,,A*65
+$GPRMC,092721.00,A,5203.38584,N,00422.16367,E,63.599,31.18,120308,,,A*65
+$GPRMC,092722.00,A,5203.40088,N,00422.17832,E,62.736,31.74,120308,,,A*66
+$GPRMC,092723.00,A,5203.41568,N,00422.19298,E,62.276,32.11,120308,,,A*68
+$GPRMC,092724.00,A,5203.43013,N,00422.20761,E,61.345,32.72,120308,,,A*6A
+$GPRMC,092725.00,A,5203.44434,N,00422.22232,E,60.982,33.06,120308,,,A*6E
+$GPRMC,092726.00,A,5203.45837,N,00422.23729,E,60.443,33.63,120308,,,A*6E
+$GPRMC,092727.00,A,5203.47233,N,00422.25254,E,59.753,34.22,120308,,,A*60
+$GPRMC,092728.00,A,5203.48647,N,00422.26791,E,60.019,34.41,120308,,,A*6E
+$GPRMC,092729.00,A,5203.50020,N,00422.28315,E,59.351,34.73,120308,,,A*63
+$GPRMC,092730.00,A,5203.51358,N,00422.29827,E,58.382,34.94,120308,,,A*6B
+$GPRMC,092731.00,A,5203.52665,N,00422.31319,E,57.004,35.26,120308,,,A*67
+$GPRMC,092732.00,A,5203.53922,N,00422.32801,E,56.187,35.67,120308,,,A*66
+$GPRMC,092733.00,A,5203.55155,N,00422.34267,E,55.115,36.48,120308,,,A*63
+$GPRMC,092734.00,A,5203.56339,N,00422.35751,E,54.089,38.39,120308,,,A*63
+$GPRMC,092735.00,A,5203.57488,N,00422.37239,E,53.417,38.32,120308,,,A*68
+$GPRMC,092736.00,A,5203.58649,N,00422.38691,E,53.677,36.93,120308,,,A*63
+$GPRMC,092737.00,A,5203.59844,N,00422.40107,E,53.891,35.61,120308,,,A*6F
+$GPRMC,092738.00,A,5203.61044,N,00422.41497,E,53.663,35.48,120308,,,A*66
+$GPRMC,092739.00,A,5203.62249,N,00422.42882,E,53.803,35.47,120308,,,A*67
+$GPRMC,092740.00,A,5203.63460,N,00422.44270,E,53.949,35.18,120308,,,A*61
+$GPRMC,092741.00,A,5203.64689,N,00422.45667,E,54.066,34.83,120308,,,A*61
+$GPRMC,092742.00,A,5203.65888,N,00422.47026,E,52.521,35.07,120308,,,A*60
+$GPRMC,092743.00,A,5203.67061,N,00422.48378,E,51.554,35.53,120308,,,A*6B
+$GPRMC,092744.00,A,5203.68213,N,00422.49720,E,50.680,35.81,120308,,,A*68
+$GPRMC,092745.00,A,5203.69346,N,00422.51031,E,49.903,35.54,120308,,,A*63
+$GPRMC,092746.00,A,5203.70468,N,00422.52337,E,49.647,35.25,120308,,,A*6C
+$GPRMC,092747.00,A,5203.71579,N,00422.53614,E,48.900,35.07,120308,,,A*65
+$GPRMC,092748.00,A,5203.72689,N,00422.54870,E,48.844,34.63,120308,,,A*6C
+$GPRMC,092749.00,A,5203.73820,N,00422.56017,E,49.032,33.06,120308,,,A*66
+$GPRMC,092750.00,A,5203.74915,N,00422.57250,E,48.463,34.47,120308,,,A*6D
+$GPRMC,092751.00,A,5203.76010,N,00422.58449,E,48.640,34.40,120308,,,A*67
+$GPRMC,092752.00,A,5203.76992,N,00422.59615,E,46.372,34.67,120308,,,A*62
+$GPRMC,092753.00,A,5203.77984,N,00422.60916,E,46.676,35.49,120308,,,A*6F
+$GPRMC,092754.00,A,5203.79022,N,00422.62162,E,46.347,35.49,120308,,,A*6D
+$GPRMC,092755.00,A,5203.80070,N,00422.63386,E,46.671,35.48,120308,,,A*65
+$GPRMC,092756.00,A,5203.81138,N,00422.64604,E,47.365,35.26,120308,,,A*6B
+$GPRMC,092757.00,A,5203.82204,N,00422.65830,E,47.665,35.17,120308,,,A*6A
+$GPRMC,092758.00,A,5203.83171,N,00422.67069,E,46.807,35.90,120308,,,A*67
+$GPRMC,092759.00,A,5203.84155,N,00422.68293,E,46.362,35.36,120308,,,A*6B
+$GPRMC,092800.00,A,5203.85125,N,00422.69490,E,45.928,35.61,120308,,,A*6F
+$GPRMC,092801.00,A,5203.86115,N,00422.70678,E,45.792,35.39,120308,,,A*60
+$GPRMC,092802.00,A,5203.87110,N,00422.71879,E,45.450,35.67,120308,,,A*6F
+$GPRMC,092803.00,A,5203.88103,N,00422.73070,E,45.349,35.17,120308,,,A*68
+$GPRMC,092804.00,A,5203.89156,N,00422.74267,E,46.517,35.07,120308,,,A*62
+$GPRMC,092805.00,A,5203.90189,N,00422.75478,E,46.866,36.00,120308,,,A*6F
+$GPRMC,092806.00,A,5203.91243,N,00422.76727,E,47.268,36.38,120308,,,A*6C
+$GPRMC,092807.00,A,5203.92301,N,00422.77997,E,47.738,36.91,120308,,,A*6E
+$GPRMC,092808.00,A,5203.93373,N,00422.79303,E,48.801,38.01,120308,,,A*61
+$GPRMC,092809.00,A,5203.94452,N,00422.80648,E,49.708,38.50,120308,,,A*6C
+$GPRMC,092810.00,A,5203.95527,N,00422.82022,E,49.725,38.43,120308,,,A*63
+$GPRMC,092811.00,A,5203.96602,N,00422.83400,E,49.086,38.98,120308,,,A*68
+$GPRMC,092812.00,A,5203.97650,N,00422.84804,E,49.179,40.32,120308,,,A*6C
+$GPRMC,092813.00,A,5203.98682,N,00422.86227,E,48.631,41.05,120308,,,A*6B
+$GPRMC,092814.00,A,5203.99687,N,00422.87670,E,48.149,42.17,120308,,,A*67
+$GPRMC,092815.00,A,5204.00671,N,00422.89139,E,48.174,43.35,120308,,,A*63
+$GPRMC,092816.00,A,5204.01634,N,00422.90647,E,48.283,43.91,120308,,,A*63
+$GPRMC,092817.00,A,5204.02589,N,00422.92166,E,47.982,44.44,120308,,,A*68
+$GPRMC,092818.00,A,5204.03530,N,00422.93742,E,48.545,45.28,120308,,,A*66
+$GPRMC,092819.00,A,5204.04474,N,00422.95347,E,48.617,46.24,120308,,,A*6D
+$GPRMC,092820.00,A,5204.05420,N,00422.96966,E,49.008,46.88,120308,,,A*62
+$GPRMC,092821.00,A,5204.06347,N,00422.98578,E,48.830,46.50,120308,,,A*6C
+$GPRMC,092822.00,A,5204.07276,N,00423.00133,E,48.153,44.65,120308,,,A*6E
+$GPRMC,092823.00,A,5204.08207,N,00423.01721,E,48.551,45.58,120308,,,A*6B
+$GPRMC,092824.00,A,5204.09120,N,00423.03296,E,48.775,45.91,120308,,,A*61
+$GPRMC,092825.00,A,5204.10095,N,00423.04987,E,50.484,45.86,120308,,,A*69
+$GPRMC,092826.00,A,5204.11085,N,00423.06715,E,51.978,46.11,120308,,,A*6F
+$GPRMC,092827.00,A,5204.12141,N,00423.08513,E,54.752,45.40,120308,,,A*6A
+$GPRMC,092828.00,A,5204.13209,N,00423.10354,E,56.965,46.21,120308,,,A*6B
+$GPRMC,092829.00,A,5204.14325,N,00423.12311,E,57.485,47.44,120308,,,A*61
+$GPRMC,092830.00,A,5204.15415,N,00423.14314,E,58.693,48.93,120308,,,A*60
+$GPRMC,092831.00,A,5204.16467,N,00423.16362,E,59.662,50.16,120308,,,A*6F
+$GPRMC,092832.00,A,5204.17523,N,00423.18492,E,59.816,51.64,120308,,,A*63
+$GPRMC,092833.00,A,5204.18555,N,00423.20680,E,60.108,52.97,120308,,,A*65
+$GPRMC,092834.00,A,5204.19599,N,00423.22972,E,62.381,53.83,120308,,,A*66
+$GPRMC,092835.00,A,5204.20636,N,00423.25339,E,64.029,54.66,120308,,,A*62
+$GPRMC,092836.00,A,5204.21684,N,00423.27754,E,65.065,54.44,120308,,,A*6D
+$GPRMC,092837.00,A,5204.22750,N,00423.30191,E,64.855,54.37,120308,,,A*60
+$GPRMC,092838.00,A,5204.23796,N,00423.32597,E,64.446,54.58,120308,,,A*63
+$GPRMC,092839.00,A,5204.24822,N,00423.35016,E,64.035,55.31,120308,,,A*60
+$GPRMC,092840.00,A,5204.25833,N,00423.37448,E,65.106,55.88,120308,,,A*60
+$GPRMC,092841.00,A,5204.26844,N,00423.39940,E,66.552,56.40,120308,,,A*68
+$GPRMC,092842.00,A,5204.27875,N,00423.42482,E,66.847,56.70,120308,,,A*6D
+$GPRMC,092843.00,A,5204.28891,N,00423.45004,E,66.892,56.96,120308,,,A*64
+$GPRMC,092844.00,A,5204.29924,N,00423.47590,E,67.533,56.92,120308,,,A*64
+$GPRMC,092845.00,A,5204.30919,N,00423.50097,E,66.003,56.94,120308,,,A*66
+$GPRMC,092846.00,A,5204.31924,N,00423.52520,E,64.315,56.77,120308,,,A*6A
+$GPRMC,092847.00,A,5204.32894,N,00423.54907,E,63.075,56.62,120308,,,A*6B
+$GPRMC,092848.00,A,5204.33836,N,00423.57231,E,61.717,56.52,120308,,,A*62
+$GPRMC,092849.00,A,5204.34753,N,00423.59500,E,60.528,56.73,120308,,,A*6F
+$GPRMC,092850.00,A,5204.35650,N,00423.61712,E,59.356,57.47,120308,,,A*6D
+$GPRMC,092851.00,A,5204.36495,N,00423.63909,E,56.777,58.29,120308,,,A*6D
+$GPRMC,092852.00,A,5204.37280,N,00423.66028,E,53.783,58.98,120308,,,A*66
+$GPRMC,092853.00,A,5204.38041,N,00423.68108,E,53.855,59.38,120308,,,A*65
+$GPRMC,092854.00,A,5204.38759,N,00423.70135,E,52.628,60.15,120308,,,A*6B
+$GPRMC,092855.00,A,5204.39473,N,00423.72173,E,51.980,60.64,120308,,,A*68
+$GPRMC,092856.00,A,5204.40184,N,00423.74180,E,51.034,59.55,120308,,,A*6C
+$GPRMC,092857.00,A,5204.40896,N,00423.76115,E,50.052,59.01,120308,,,A*69
+$GPRMC,092858.00,A,5204.41444,N,00423.77869,E,45.055,60.59,120308,,,A*63
+$GPRMC,092859.00,A,5204.41777,N,00423.79198,E,36.787,62.18,120308,,,A*63
+$GPRMC,092900.00,A,5204.42194,N,00423.80519,E,32.482,62.26,120308,,,A*62
+$GPRMC,092901.00,A,5204.42570,N,00423.81769,E,30.898,65.03,120308,,,A*6C
+$GPRMC,092902.00,A,5204.42834,N,00423.82910,E,29.771,71.75,120308,,,A*65
+$GPRMC,092903.00,A,5204.43024,N,00423.84174,E,30.172,81.49,120308,,,A*6D
+$GPRMC,092904.00,A,5204.42977,N,00423.85317,E,26.536,96.31,120308,,,A*68
+$GPRMC,092905.00,A,5204.42694,N,00423.86503,E,27.233,115.42,120308,,,A*56
+$GPRMC,092906.00,A,5204.42254,N,00423.87345,E,27.327,130.06,120308,,,A*5B
+$GPRMC,092907.00,A,5204.41627,N,00423.88062,E,27.250,146.88,120308,,,A*56
+$GPRMC,092908.00,A,5204.40903,N,00423.88572,E,27.095,159.18,120308,,,A*59
+$GPRMC,092909.00,A,5204.40146,N,00423.88754,E,26.862,173.43,120308,,,A*50
+$GPRMC,092910.00,A,5204.39356,N,00423.88697,E,25.854,186.04,120308,,,A*54
+$GPRMC,092911.00,A,5204.38545,N,00423.88052,E,27.742,207.42,120308,,,A*5D
+$GPRMC,092912.00,A,5204.37878,N,00423.87207,E,28.033,219.42,120308,,,A*5E
+$GPRMC,092913.00,A,5204.37289,N,00423.86192,E,28.751,227.08,120308,,,A*55
+$GPRMC,092914.00,A,5204.36716,N,00423.85182,E,28.012,227.56,120308,,,A*59
+$GPRMC,092915.00,A,5204.36162,N,00423.84198,E,25.895,228.19,120308,,,A*59
+$GPRMC,092916.00,A,5204.35689,N,00423.83226,E,24.684,237.73,120308,,,A*57
+$GPRMC,092917.00,A,5204.35536,N,00423.82369,E,18.509,261.79,120308,,,A*5A
+$GPRMC,092918.00,A,5204.35602,N,00423.81565,E,18.366,285.12,120308,,,A*50
+$GPRMC,092919.00,A,5204.35949,N,00423.80728,E,21.095,300.68,120308,,,A*5F
+$GPRMC,092920.00,A,5204.36474,N,00423.79923,E,23.911,309.27,120308,,,A*53
+$GPRMC,092921.00,A,5204.37073,N,00423.79112,E,26.289,314.29,120308,,,A*57
+$GPRMC,092922.00,A,5204.37671,N,00423.78200,E,29.340,314.14,120308,,,A*54
+$GPRMC,092923.00,A,5204.38301,N,00423.77220,E,31.064,315.00,120308,,,A*5D
+$GPRMC,092924.00,A,5204.38983,N,00423.76251,E,30.799,317.01,120308,,,A*5A
+$GPRMC,092925.00,A,5204.39679,N,00423.75317,E,30.708,317.68,120308,,,A*57
+$GPRMC,092926.00,A,5204.40346,N,00423.74406,E,30.415,317.32,120308,,,A*55
+$GPRMC,092927.00,A,5204.40993,N,00423.73508,E,29.125,318.13,120308,,,A*5C
+$GPRMC,092928.00,A,5204.41618,N,00423.72668,E,28.044,318.05,120308,,,A*5A
+$GPRMC,092929.00,A,5204.42205,N,00423.71883,E,26.390,318.10,120308,,,A*58
+$GPRMC,092930.00,A,5204.42728,N,00423.71151,E,23.119,316.97,120308,,,A*5B
+$GPRMC,092931.00,A,5204.43139,N,00423.70534,E,18.314,314.83,120308,,,A*5B
+$GPRMC,092932.00,A,5204.43450,N,00423.70010,E,14.705,312.68,120308,,,A*5A
+$GPRMC,092933.00,A,5204.43696,N,00423.69576,E,12.615,314.06,120308,,,A*56
+$GPRMC,092934.00,A,5204.43926,N,00423.69177,E,11.598,316.31,120308,,,A*53
+$GPRMC,092935.00,A,5204.44152,N,00423.68842,E,11.542,317.83,120308,,,A*5F
+$GPRMC,092936.00,A,5204.44387,N,00423.68474,E,11.191,317.03,120308,,,A*5D
+$GPRMC,092937.00,A,5204.44638,N,00423.68067,E,12.055,317.47,120308,,,A*51
+$GPRMC,092938.00,A,5204.44897,N,00423.67755,E,11.886,319.37,120308,,,A*50
+$GPRMC,092939.00,A,5204.45149,N,00423.67400,E,12.001,317.49,120308,,,A*5A
+$GPRMC,092940.00,A,5204.45386,N,00423.67083,E,11.429,317.99,120308,,,A*5A
+$GPRMC,092941.00,A,5204.45620,N,00423.66762,E,11.013,317.65,120308,,,A*55
+$GPRMC,092942.00,A,5204.45825,N,00423.66486,E,9.989,318.39,120308,,,A*61
+$GPRMC,092943.00,A,5204.46009,N,00423.66232,E,8.443,318.55,120308,,,A*6C
+$GPRMC,092944.00,A,5204.46154,N,00423.66059,E,5.274,320.08,120308,,,A*61
+$GPRMC,092945.00,A,5204.46220,N,00423.66005,E,1.893,320.42,120308,,,A*60
+$GPRMC,092946.00,A,5204.46241,N,00423.66002,E,0.527,321.00,120308,,,A*67
+$GPRMC,092947.00,A,5204.46234,N,00423.66054,E,0.517,329.12,120308,,,A*6F
+$GPRMC,092948.00,A,5204.46228,N,00423.66077,E,0.994,318.22,120308,,,A*6A
+$GPRMC,092949.00,A,5204.46223,N,00423.66120,E,1.199,328.40,120308,,,A*60
+$GPRMC,092950.00,A,5204.46236,N,00423.66103,E,0.549,337.52,120308,,,A*68
+$GPRMC,092951.00,A,5204.46243,N,00423.66096,E,0.379,345.41,120308,,,A*64
+$GPRMC,092952.00,A,5204.46245,N,00423.66095,E,0.317,352.19,120308,,,A*61
+$GPRMC,092953.00,A,5204.46242,N,00423.66105,E,0.253,359.16,120308,,,A*6A
+$GPRMC,092954.00,A,5204.46255,N,00423.66082,E,0.199,356.46,120308,,,A*6A
+$GPRMC,092955.00,A,5204.46264,N,00423.66058,E,0.232,351.39,120308,,,A*63
+$GPRMC,092956.00,A,5204.46272,N,00423.66025,E,0.030,345.82,120308,,,A*68
+$GPRMC,092957.00,A,5204.46277,N,00423.66016,E,0.041,343.43,120308,,,A*61
+$GPRMC,092958.00,A,5204.46306,N,00423.65979,E,2.326,340.33,120308,,,A*6E
+$GPRMC,092959.00,A,5204.46410,N,00423.65857,E,6.273,323.08,120308,,,A*6A
+$GPRMC,093000.00,A,5204.46604,N,00423.65609,E,10.217,320.42,120308,,,A*54
+$GPRMC,093001.00,A,5204.46855,N,00423.65238,E,12.615,318.89,120308,,,A*51
+$GPRMC,093002.00,A,5204.47132,N,00423.64833,E,13.848,317.79,120308,,,A*5C
+$GPRMC,093003.00,A,5204.47429,N,00423.64404,E,15.044,318.35,120308,,,A*5F
+$GPRMC,093004.00,A,5204.47740,N,00423.63953,E,15.669,317.83,120308,,,A*57
+$GPRMC,093005.00,A,5204.48071,N,00423.63465,E,16.842,317.29,120308,,,A*50
+$GPRMC,093006.00,A,5204.48386,N,00423.62911,E,16.777,309.66,120308,,,A*5A
+$GPRMC,093007.00,A,5204.48635,N,00423.62318,E,16.589,301.99,120308,,,A*5E
+$GPRMC,093008.00,A,5204.48736,N,00423.61520,E,16.501,282.24,120308,,,A*51
+$GPRMC,093009.00,A,5204.48719,N,00423.60787,E,15.796,266.95,120308,,,A*5C
+$GPRMC,093010.00,A,5204.48524,N,00423.60083,E,16.484,245.81,120308,,,A*5C
+$GPRMC,093011.00,A,5204.48173,N,00423.59301,E,18.741,232.38,120308,,,A*5E
+$GPRMC,093012.00,A,5204.47699,N,00423.58562,E,22.528,225.99,120308,,,A*5A
+$GPRMC,093013.00,A,5204.47189,N,00423.57695,E,24.910,222.22,120308,,,A*5F
+$GPRMC,093014.00,A,5204.46660,N,00423.56958,E,24.529,215.95,120308,,,A*58
+$GPRMC,093015.00,A,5204.46007,N,00423.56346,E,25.466,206.61,120308,,,A*59
+$GPRMC,093016.00,A,5204.45336,N,00423.55877,E,26.196,202.02,120308,,,A*5A
+$GPRMC,093017.00,A,5204.44660,N,00423.55598,E,25.541,193.28,120308,,,A*5E
+$GPRMC,093018.00,A,5204.43947,N,00423.55367,E,25.928,190.67,120308,,,A*51
+$GPRMC,093019.00,A,5204.43230,N,00423.55243,E,25.984,187.16,120308,,,A*5A
+$GPRMC,093020.00,A,5204.42483,N,00423.55148,E,26.316,184.50,120308,,,A*54
+$GPRMC,093021.00,A,5204.41726,N,00423.54986,E,27.044,187.12,120308,,,A*51
+$GPRMC,093022.00,A,5204.40952,N,00423.54796,E,28.545,190.30,120308,,,A*5C
+$GPRMC,093023.00,A,5204.40141,N,00423.54463,E,30.343,195.78,120308,,,A*5E
+$GPRMC,093024.00,A,5204.39327,N,00423.54027,E,30.570,199.62,120308,,,A*50
+$GPRMC,093025.00,A,5204.38501,N,00423.53503,E,31.985,203.12,120308,,,A*56
+$GPRMC,093026.00,A,5204.37744,N,00423.52797,E,31.840,210.10,120308,,,A*5F
+$GPRMC,093027.00,A,5204.36952,N,00423.51947,E,32.922,214.26,120308,,,A*51
+$GPRMC,093028.00,A,5204.36180,N,00423.51011,E,33.458,219.07,120308,,,A*5C
+$GPRMC,093029.00,A,5204.35495,N,00423.49983,E,33.632,224.39,120308,,,A*59
+$GPRMC,093030.00,A,5204.34840,N,00423.48820,E,34.968,228.57,120308,,,A*5E
+$GPRMC,093031.00,A,5204.34212,N,00423.47575,E,36.330,232.06,120308,,,A*5A
+$GPRMC,093032.00,A,5204.33604,N,00423.46206,E,37.532,234.56,120308,,,A*59
+$GPRMC,093033.00,A,5204.33031,N,00423.44774,E,38.604,234.81,120308,,,A*59
+$GPRMC,093034.00,A,5204.32414,N,00423.43346,E,39.699,233.13,120308,,,A*57
+$GPRMC,093035.00,A,5204.31740,N,00423.41900,E,41.545,231.29,120308,,,A*5B
+$GPRMC,093036.00,A,5204.31033,N,00423.40401,E,42.226,233.54,120308,,,A*5F
+$GPRMC,093037.00,A,5204.30398,N,00423.38785,E,42.285,237.86,120308,,,A*5F
+$GPRMC,093038.00,A,5204.29671,N,00423.37073,E,44.327,235.60,120308,,,A*5E
+$GPRMC,093039.00,A,5204.28972,N,00423.35349,E,44.357,235.96,120308,,,A*54
+$GPRMC,093040.00,A,5204.28242,N,00423.33662,E,44.665,235.52,120308,,,A*54
+$GPRMC,093041.00,A,5204.27506,N,00423.31981,E,44.295,235.75,120308,,,A*53
+$GPRMC,093042.00,A,5204.26788,N,00423.30301,E,44.026,236.16,120308,,,A*5A
+$GPRMC,093043.00,A,5204.26078,N,00423.28634,E,44.019,235.93,120308,,,A*5B
+$GPRMC,093044.00,A,5204.25391,N,00423.27005,E,42.550,236.14,120308,,,A*52
+$GPRMC,093045.00,A,5204.24721,N,00423.25442,E,41.195,236.16,120308,,,A*54
+$GPRMC,093046.00,A,5204.24093,N,00423.23954,E,39.377,235.97,120308,,,A*5E
+$GPRMC,093047.00,A,5204.23460,N,00423.22531,E,36.968,235.22,120308,,,A*5B
+$GPRMC,093048.00,A,5204.22877,N,00423.21198,E,35.575,235.16,120308,,,A*5F
+$GPRMC,093049.00,A,5204.22328,N,00423.19932,E,34.352,235.38,120308,,,A*52
+$GPRMC,093050.00,A,5204.21771,N,00423.18675,E,34.576,235.28,120308,,,A*5D
+$GPRMC,093051.00,A,5204.21225,N,00423.17424,E,33.824,235.01,120308,,,A*57
+$GPRMC,093052.00,A,5204.20667,N,00423.16171,E,34.715,235.02,120308,,,A*5A
+$GPRMC,093053.00,A,5204.20095,N,00423.14896,E,35.145,234.41,120308,,,A*56
+$GPRMC,093054.00,A,5204.19478,N,00423.13570,E,36.906,233.41,120308,,,A*55
+$GPRMC,093055.00,A,5204.18844,N,00423.12230,E,37.477,233.19,120308,,,A*53
+$GPRMC,093056.00,A,5204.18210,N,00423.10883,E,37.855,232.95,120308,,,A*52
+$GPRMC,093057.00,A,5204.17570,N,00423.09537,E,37.817,232.30,120308,,,A*5E
+$GPRMC,093058.00,A,5204.16884,N,00423.08140,E,38.366,231.54,120308,,,A*50
+$GPRMC,093059.00,A,5204.16202,N,00423.06723,E,39.127,231.37,120308,,,A*5B
+$GPRMC,093100.00,A,5204.15496,N,00423.05306,E,40.822,230.58,120308,,,A*54
+$GPRMC,093101.00,A,5204.14752,N,00423.03881,E,41.697,229.46,120308,,,A*5B
+$GPRMC,093102.00,A,5204.13996,N,00423.02442,E,41.806,228.62,120308,,,A*5A
+$GPRMC,093103.00,A,5204.13214,N,00423.01016,E,41.822,228.18,120308,,,A*57
+$GPRMC,093104.00,A,5204.12429,N,00422.99592,E,42.228,227.61,120308,,,A*52
+$GPRMC,093105.00,A,5204.11638,N,00422.98211,E,42.040,227.64,120308,,,A*56
+$GPRMC,093106.00,A,5204.10836,N,00422.96821,E,42.176,227.16,120308,,,A*52
+$GPRMC,093107.00,A,5204.10026,N,00422.95440,E,42.004,226.16,120308,,,A*57
+$GPRMC,093108.00,A,5204.09179,N,00422.94108,E,42.429,224.67,120308,,,A*5C
+$GPRMC,093109.00,A,5204.08333,N,00422.92809,E,41.911,223.97,120308,,,A*53
+$GPRMC,093110.00,A,5204.07459,N,00422.91524,E,42.409,221.93,120308,,,A*5F
+$GPRMC,093111.00,A,5204.06572,N,00422.90269,E,42.546,220.60,120308,,,A*5F
+$GPRMC,093112.00,A,5204.05662,N,00422.89043,E,42.761,219.73,120308,,,A*50
+$GPRMC,093113.00,A,5204.04754,N,00422.87826,E,42.562,219.61,120308,,,A*53
+$GPRMC,093114.00,A,5204.03820,N,00422.86610,E,43.540,218.74,120308,,,A*51
+$GPRMC,093115.00,A,5204.02857,N,00422.85403,E,43.829,217.56,120308,,,A*5F
+$GPRMC,093116.00,A,5204.01888,N,00422.84229,E,43.785,216.16,120308,,,A*5E
+$GPRMC,093117.00,A,5204.00913,N,00422.83077,E,43.877,215.61,120308,,,A*52
+$GPRMC,093118.00,A,5203.99921,N,00422.81951,E,44.227,215.22,120308,,,A*5B
+$GPRMC,093119.00,A,5203.98921,N,00422.80820,E,44.482,214.42,120308,,,A*53
+$GPRMC,093120.00,A,5203.97906,N,00422.79694,E,44.900,214.08,120308,,,A*5D
+$GPRMC,093121.00,A,5203.96873,N,00422.78556,E,45.737,213.81,120308,,,A*5F
+$GPRMC,093122.00,A,5203.95813,N,00422.77418,E,46.344,213.50,120308,,,A*52
+$GPRMC,093123.00,A,5203.94735,N,00422.76264,E,46.651,213.30,120308,,,A*52
+$GPRMC,093124.00,A,5203.93656,N,00422.75113,E,46.950,213.17,120308,,,A*5D
+$GPRMC,093125.00,A,5203.92569,N,00422.73960,E,46.944,213.11,120308,,,A*5B
+$GPRMC,093126.00,A,5203.91487,N,00422.72799,E,46.735,213.63,120308,,,A*5E
+$GPRMC,093127.00,A,5203.90409,N,00422.71629,E,46.975,213.94,120308,,,A*53
+$GPRMC,093128.00,A,5203.89318,N,00422.70442,E,47.836,213.77,120308,,,A*57
+$GPRMC,093129.00,A,5203.88202,N,00422.69221,E,49.054,214.26,120308,,,A*57
+$GPRMC,093130.00,A,5203.87066,N,00422.67962,E,49.965,214.45,120308,,,A*5C
+$GPRMC,093131.00,A,5203.85916,N,00422.66676,E,50.410,214.72,120308,,,A*59
+$GPRMC,093132.00,A,5203.84760,N,00422.65360,E,51.062,215.30,120308,,,A*52
+$GPRMC,093133.00,A,5203.83576,N,00422.64024,E,52.584,214.51,120308,,,A*5B
+$GPRMC,093134.00,A,5203.82344,N,00422.62696,E,53.885,212.93,120308,,,A*56
+$GPRMC,093135.00,A,5203.81069,N,00422.61362,E,55.319,212.91,120308,,,A*5F
+$GPRMC,093136.00,A,5203.79777,N,00422.59971,E,56.485,214.21,120308,,,A*5C
+$GPRMC,093137.00,A,5203.78481,N,00422.58521,E,56.802,214.99,120308,,,A*5E
+$GPRMC,093138.00,A,5203.77196,N,00422.57035,E,56.653,216.04,120308,,,A*5E
+$GPRMC,093139.00,A,5203.75923,N,00422.55563,E,55.966,215.28,120308,,,A*58
+$GPRMC,093140.00,A,5203.74680,N,00422.54125,E,54.884,215.12,120308,,,A*53
+$GPRMC,093141.00,A,5203.73422,N,00422.52701,E,54.958,215.33,120308,,,A*5A
+$GPRMC,093142.00,A,5203.72206,N,00422.51303,E,54.194,215.41,120308,,,A*50
+$GPRMC,093143.00,A,5203.70993,N,00422.49845,E,53.984,217.02,120308,,,A*5F
+$GPRMC,093144.00,A,5203.69740,N,00422.48469,E,53.374,215.79,120308,,,A*58
+$GPRMC,093145.00,A,5203.68461,N,00422.47008,E,54.404,215.79,120308,,,A*53
+$GPRMC,093146.00,A,5203.67201,N,00422.45542,E,55.491,215.78,120308,,,A*5A
+$GPRMC,093147.00,A,5203.65906,N,00422.44056,E,56.883,215.70,120308,,,A*50
+$GPRMC,093148.00,A,5203.64581,N,00422.42542,E,58.256,215.35,120308,,,A*56
+$GPRMC,093149.00,A,5203.63235,N,00422.41023,E,57.970,215.32,120308,,,A*5E
+$GPRMC,093150.00,A,5203.61904,N,00422.39497,E,57.983,215.61,120308,,,A*53
+$GPRMC,093151.00,A,5203.60578,N,00422.37963,E,58.069,215.67,120308,,,A*58
+$GPRMC,093152.00,A,5203.59242,N,00422.36424,E,58.777,215.59,120308,,,A*55
+$GPRMC,093153.00,A,5203.57909,N,00422.34881,E,58.461,215.48,120308,,,A*5B
+$GPRMC,093154.00,A,5203.56577,N,00422.33353,E,58.202,215.34,120308,,,A*53
+$GPRMC,093155.00,A,5203.55244,N,00422.31827,E,58.257,215.52,120308,,,A*5C
+$GPRMC,093156.00,A,5203.53919,N,00422.30280,E,58.687,216.12,120308,,,A*52
+$GPRMC,093157.00,A,5203.52587,N,00422.28707,E,59.175,216.29,120308,,,A*59
+$GPRMC,093158.00,A,5203.51252,N,00422.27121,E,59.545,216.33,120308,,,A*5B
+$GPRMC,093159.00,A,5203.49912,N,00422.25526,E,59.663,216.45,120308,,,A*5B
+$GPRMC,093200.00,A,5203.48572,N,00422.23919,E,59.816,216.82,120308,,,A*5E
+$GPRMC,093201.00,A,5203.47233,N,00422.22302,E,59.973,216.72,120308,,,A*5E
+$GPRMC,093202.00,A,5203.45869,N,00422.20681,E,60.679,216.73,120308,,,A*58
+$GPRMC,093203.00,A,5203.44509,N,00422.19057,E,60.468,216.54,120308,,,A*53
+$GPRMC,093204.00,A,5203.43162,N,00422.17437,E,60.065,216.84,120308,,,A*52
+$GPRMC,093205.00,A,5203.41816,N,00422.15815,E,60.247,216.98,120308,,,A*5A
+$GPRMC,093206.00,A,5203.40474,N,00422.14180,E,60.317,217.12,120308,,,A*53
+$GPRMC,093207.00,A,5203.39121,N,00422.12530,E,61.211,217.49,120308,,,A*58
+$GPRMC,093208.00,A,5203.37758,N,00422.10825,E,62.324,217.97,120308,,,A*5D
+$GPRMC,093209.00,A,5203.36374,N,00422.09085,E,63.250,218.13,120308,,,A*5D
+$GPRMC,093210.00,A,5203.34995,N,00422.07303,E,63.396,219.33,120308,,,A*59
+$GPRMC,093211.00,A,5203.33633,N,00422.05464,E,63.839,220.47,120308,,,A*5F
+$GPRMC,093212.00,A,5203.32322,N,00422.03489,E,64.914,221.85,120308,,,A*5B
+$GPRMC,093213.00,A,5203.31006,N,00422.01470,E,65.835,223.71,120308,,,A*52
+$GPRMC,093214.00,A,5203.29737,N,00421.99375,E,65.451,225.94,120308,,,A*5A
+$GPRMC,093215.00,A,5203.28589,N,00421.97239,E,63.558,228.51,120308,,,A*50
+$GPRMC,093216.00,A,5203.27482,N,00421.95111,E,61.785,229.57,120308,,,A*5A
+$GPRMC,093217.00,A,5203.26363,N,00421.92980,E,60.931,229.92,120308,,,A*5C
+$GPRMC,093218.00,A,5203.25300,N,00421.90887,E,60.110,229.83,120308,,,A*5A
+$GPRMC,093219.00,A,5203.24246,N,00421.88830,E,59.462,229.40,120308,,,A*59
+$GPRMC,093220.00,A,5203.23163,N,00421.86815,E,59.460,227.83,120308,,,A*5A
+$GPRMC,093221.00,A,5203.22040,N,00421.84884,E,59.100,225.27,120308,,,A*5F
+$GPRMC,093222.00,A,5203.20857,N,00421.83071,E,58.978,222.43,120308,,,A*56
+$GPRMC,093223.00,A,5203.19615,N,00421.81361,E,58.880,218.92,120308,,,A*56
+$GPRMC,093224.00,A,5203.18276,N,00421.79732,E,59.670,216.23,120308,,,A*50
+$GPRMC,093225.00,A,5203.16914,N,00421.78225,E,60.271,213.33,120308,,,A*59
+$GPRMC,093226.00,A,5203.15500,N,00421.76778,E,60.663,211.21,120308,,,A*55
+$GPRMC,093227.00,A,5203.14063,N,00421.75383,E,60.371,210.30,120308,,,A*51
+$GPRMC,093228.00,A,5203.12638,N,00421.74010,E,60.288,211.08,120308,,,A*55
+$GPRMC,093229.00,A,5203.11232,N,00421.72578,E,60.753,212.63,120308,,,A*59
+$GPRMC,093230.00,A,5203.09829,N,00421.71068,E,61.582,213.70,120308,,,A*53
+$GPRMC,093231.00,A,5203.08415,N,00421.69538,E,61.263,213.52,120308,,,A*51
+$GPRMC,093232.00,A,5203.06998,N,00421.68019,E,61.151,213.30,120308,,,A*55
+$GPRMC,093233.00,A,5203.05583,N,00421.66493,E,61.278,213.71,120308,,,A*54
+$GPRMC,093234.00,A,5203.04184,N,00421.64977,E,60.162,213.90,120308,,,A*52
+$GPRMC,093235.00,A,5203.02813,N,00421.63459,E,59.335,214.75,120308,,,A*52
+$GPRMC,093236.00,A,5203.01473,N,00421.61925,E,58.487,215.79,120308,,,A*5E
+$GPRMC,093237.00,A,5203.00138,N,00421.60340,E,59.595,216.59,120308,,,A*5E
+$GPRMC,093238.00,A,5202.98820,N,00421.58723,E,59.330,217.69,120308,,,A*50
+$GPRMC,093239.00,A,5202.97536,N,00421.57062,E,58.595,219.46,120308,,,A*52
+$GPRMC,093240.00,A,5202.96273,N,00421.55362,E,59.083,220.23,120308,,,A*50
+$GPRMC,093241.00,A,5202.95038,N,00421.53627,E,58.907,221.38,120308,,,A*52
+$GPRMC,093242.00,A,5202.93823,N,00421.51844,E,59.339,222.65,120308,,,A*51
+$GPRMC,093243.00,A,5202.92615,N,00421.49984,E,60.424,224.15,120308,,,A*5E
+$GPRMC,093244.00,A,5202.91408,N,00421.48030,E,61.497,225.24,120308,,,A*59
+$GPRMC,093245.00,A,5202.90247,N,00421.46011,E,62.301,227.69,120308,,,A*59
+$GPRMC,093246.00,A,5202.89088,N,00421.43878,E,62.917,229.60,120308,,,A*5B
+$GPRMC,093247.00,A,5202.88008,N,00421.41686,E,62.155,232.51,120308,,,A*58
+$GPRMC,093248.00,A,5202.86995,N,00421.39330,E,63.567,235.95,120308,,,A*58
+$GPRMC,093249.00,A,5202.86074,N,00421.36884,E,63.880,239.25,120308,,,A*57
+$GPRMC,093250.00,A,5202.85236,N,00421.34304,E,63.748,242.64,120308,,,A*5B
+$GPRMC,093251.00,A,5202.84471,N,00421.31719,E,62.810,245.44,120308,,,A*55
+$GPRMC,093252.00,A,5202.83783,N,00421.29111,E,62.724,247.48,120308,,,A*5E
+$GPRMC,093253.00,A,5202.83253,N,00421.26442,E,61.569,251.98,120308,,,A*59
+$GPRMC,093254.00,A,5202.82789,N,00421.23791,E,60.501,255.17,120308,,,A*59
+$GPRMC,093255.00,A,5202.82404,N,00421.21154,E,59.853,256.96,120308,,,A*59
+$GPRMC,093256.00,A,5202.82126,N,00421.18517,E,59.021,259.76,120308,,,A*5A
+$GPRMC,093257.00,A,5202.81861,N,00421.15894,E,57.965,260.27,120308,,,A*50
+$GPRMC,093258.00,A,5202.81605,N,00421.13335,E,57.027,259.89,120308,,,A*54
+$GPRMC,093259.00,A,5202.81332,N,00421.10815,E,55.848,258.95,120308,,,A*51
+$GPRMC,093300.00,A,5202.81028,N,00421.08377,E,54.866,257.19,120308,,,A*54
+$GPRMC,093301.00,A,5202.80660,N,00421.06013,E,53.878,253.96,120308,,,A*5A
+$GPRMC,093302.00,A,5202.80214,N,00421.03747,E,52.626,250.66,120308,,,A*55
+$GPRMC,093303.00,A,5202.79687,N,00421.01560,E,51.846,246.79,120308,,,A*5B
+$GPRMC,093304.00,A,5202.79062,N,00420.99437,E,52.307,242.44,120308,,,A*55
+$GPRMC,093305.00,A,5202.78322,N,00420.97395,E,52.461,238.04,120308,,,A*5D
+$GPRMC,093306.00,A,5202.77458,N,00420.95422,E,52.881,233.02,120308,,,A*5D
+$GPRMC,093307.00,A,5202.76441,N,00420.93607,E,53.637,227.95,120308,,,A*5F
+$GPRMC,093308.00,A,5202.75364,N,00420.91892,E,54.120,223.70,120308,,,A*5A
+$GPRMC,093309.00,A,5202.74242,N,00420.90297,E,53.257,220.00,120308,,,A*51
+$GPRMC,093310.00,A,5202.73041,N,00420.88885,E,53.175,215.18,120308,,,A*53
+$GPRMC,093311.00,A,5202.71717,N,00420.87635,E,54.496,209.64,120308,,,A*57
+$GPRMC,093312.00,A,5202.70341,N,00420.86539,E,54.884,205.60,120308,,,A*5B
+$GPRMC,093313.00,A,5202.68900,N,00420.85567,E,55.742,201.94,120308,,,A*5F
+$GPRMC,093314.00,A,5202.67383,N,00420.84790,E,56.946,196.58,120308,,,A*59
+$GPRMC,093315.00,A,5202.65798,N,00420.84319,E,57.270,190.93,120308,,,A*5F
+$GPRMC,093316.00,A,5202.64242,N,00420.84109,E,56.312,184.87,120308,,,A*58
+$GPRMC,093317.00,A,5202.62681,N,00420.84052,E,56.011,181.04,120308,,,A*55
+$GPRMC,093318.00,A,5202.61166,N,00420.84238,E,55.512,176.62,120308,,,A*54
+$GPRMC,093319.00,A,5202.59645,N,00420.84540,E,55.739,173.23,120308,,,A*5B
+$GPRMC,093320.00,A,5202.58087,N,00420.84885,E,56.310,172.27,120308,,,A*55
+$GPRMC,093321.00,A,5202.56455,N,00420.85271,E,58.844,171.86,120308,,,A*5D
+$GPRMC,093322.00,A,5202.54788,N,00420.85657,E,59.720,172.01,120308,,,A*5F
+$GPRMC,093323.00,A,5202.53485,N,00420.87118,E,56.956,157.99,120308,,,A*5F
+$GPRMC,093324.00,A,5202.52061,N,00420.88304,E,57.468,155.54,120308,,,A*55
+$GPRMC,093325.00,A,5202.50869,N,00420.90053,E,59.032,147.04,120308,,,A*5D
+$GPRMC,093326.00,A,5202.49687,N,00420.91993,E,61.331,142.95,120308,,,A*5A
+$GPRMC,093327.00,A,5202.48426,N,00420.93961,E,62.146,140.40,120308,,,A*57
+$GPRMC,093328.00,A,5202.47141,N,00420.95893,E,63.456,139.79,120308,,,A*58
+$GPRMC,093329.00,A,5202.45817,N,00420.97835,E,64.413,140.17,120308,,,A*5F
+$GPRMC,093330.00,A,5202.44458,N,00420.99761,E,65.129,140.69,120308,,,A*55
+$GPRMC,093331.00,A,5202.43027,N,00421.01573,E,64.301,143.29,120308,,,A*50
+$GPRMC,093332.00,A,5202.41540,N,00421.03315,E,65.581,143.86,120308,,,A*5B
+$GPRMC,093333.00,A,5202.39961,N,00421.05001,E,66.643,145.73,120308,,,A*58
+$GPRMC,093334.00,A,5202.38332,N,00421.06631,E,68.009,147.98,120308,,,A*55
+$GPRMC,093335.00,A,5202.36488,N,00421.07960,E,69.083,153.67,120308,,,A*50
+$GPRMC,093336.00,A,5202.34702,N,00421.09189,E,68.951,156.50,120308,,,A*57
+$GPRMC,093337.00,A,5202.32937,N,00421.10292,E,68.102,159.37,120308,,,A*59
+$GPRMC,093338.00,A,5202.31159,N,00421.11301,E,67.523,162.17,120308,,,A*5D
+$GPRMC,093339.00,A,5202.29382,N,00421.12163,E,67.395,164.72,120308,,,A*5A
+$GPRMC,093340.00,A,5202.27586,N,00421.12844,E,67.242,167.66,120308,,,A*59
+$GPRMC,093341.00,A,5202.25772,N,00421.13405,E,67.336,169.41,120308,,,A*52
+$GPRMC,093342.00,A,5202.23908,N,00421.13929,E,67.807,169.98,120308,,,A*5A
+$GPRMC,093343.00,A,5202.22026,N,00421.14456,E,68.588,170.21,120308,,,A*52
+$GPRMC,093344.00,A,5202.20129,N,00421.14955,E,69.113,170.39,120308,,,A*59
+$GPRMC,093345.00,A,5202.18225,N,00421.15461,E,68.858,170.12,120308,,,A*59
+$GPRMC,093346.00,A,5202.16340,N,00421.15954,E,68.272,169.92,120308,,,A*5F
+$GPRMC,093347.00,A,5202.14483,N,00421.16449,E,68.136,170.42,120308,,,A*50
+$GPRMC,093348.00,A,5202.12637,N,00421.16904,E,67.688,170.33,120308,,,A*5B
+$GPRMC,093349.00,A,5202.10809,N,00421.17371,E,67.163,170.37,120308,,,A*54
+$GPRMC,093350.00,A,5202.08989,N,00421.17865,E,66.895,170.37,120308,,,A*53
+$GPRMC,093351.00,A,5202.07166,N,00421.18366,E,67.323,170.16,120308,,,A*57
+$GPRMC,093352.00,A,5202.05318,N,00421.18914,E,68.051,169.87,120308,,,A*5B
+$GPRMC,093353.00,A,5202.03479,N,00421.19492,E,67.393,168.65,120308,,,A*51
+$GPRMC,093354.00,A,5202.01659,N,00421.20112,E,67.448,167.46,120308,,,A*5C
+$GPRMC,093355.00,A,5201.99872,N,00421.20855,E,66.329,165.10,120308,,,A*52
+$GPRMC,093356.00,A,5201.98126,N,00421.21658,E,65.411,163.62,120308,,,A*56
+$GPRMC,093357.00,A,5201.96408,N,00421.22555,E,64.781,161.75,120308,,,A*52
+$GPRMC,093358.00,A,5201.94711,N,00421.23494,E,64.278,159.75,120308,,,A*51
+$GPRMC,093359.00,A,5201.93040,N,00421.24533,E,64.341,158.40,120308,,,A*53
+$GPRMC,093400.00,A,5201.91415,N,00421.25713,E,64.184,156.36,120308,,,A*5B
+$GPRMC,093401.00,A,5201.89816,N,00421.26980,E,64.059,154.50,120308,,,A*58
+$GPRMC,093402.00,A,5201.88229,N,00421.28289,E,63.925,152.14,120308,,,A*53
+$GPRMC,093403.00,A,5201.86663,N,00421.29663,E,63.829,151.23,120308,,,A*5D
+$GPRMC,093404.00,A,5201.85119,N,00421.31120,E,64.468,149.16,120308,,,A*5B
+$GPRMC,093405.00,A,5201.83631,N,00421.32742,E,64.524,146.74,120308,,,A*52
+$GPRMC,093406.00,A,5201.82139,N,00421.34344,E,64.230,146.26,120308,,,A*5E
+$GPRMC,093407.00,A,5201.80649,N,00421.35965,E,64.708,146.11,120308,,,A*5F
+$GPRMC,093408.00,A,5201.79193,N,00421.37643,E,64.193,145.17,120308,,,A*5E
+$GPRMC,093409.00,A,5201.77781,N,00421.39395,E,63.667,143.97,120308,,,A*51
+$GPRMC,093410.00,A,5201.76327,N,00421.41106,E,64.446,143.72,120308,,,A*5A
+$GPRMC,093411.00,A,5201.74884,N,00421.42832,E,64.805,144.14,120308,,,A*5A
+$GPRMC,093412.00,A,5201.73414,N,00421.44597,E,65.972,144.14,120308,,,A*5F
+$GPRMC,093413.00,A,5201.71926,N,00421.46429,E,67.179,144.27,120308,,,A*57
+$GPRMC,093414.00,A,5201.70395,N,00421.48237,E,68.254,144.34,120308,,,A*55
+$GPRMC,093415.00,A,5201.68842,N,00421.50064,E,68.698,144.31,120308,,,A*50
+$GPRMC,093416.00,A,5201.67280,N,00421.51897,E,69.241,144.29,120308,,,A*55
+$GPRMC,093417.00,A,5201.65704,N,00421.53728,E,69.783,144.60,120308,,,A*50
+$GPRMC,093418.00,A,5201.64119,N,00421.55562,E,69.859,144.53,120308,,,A*56
+$GPRMC,093419.00,A,5201.62527,N,00421.57410,E,70.677,144.68,120308,,,A*5C
+$GPRMC,093420.00,A,5201.60925,N,00421.59262,E,70.838,144.55,120308,,,A*5C
+$GPRMC,093421.00,A,5201.59326,N,00421.61114,E,70.612,144.26,120308,,,A*55
+$GPRMC,093422.00,A,5201.57732,N,00421.62951,E,70.316,144.81,120308,,,A*5F
+$GPRMC,093423.00,A,5201.56123,N,00421.64779,E,70.804,144.75,120308,,,A*58
+$GPRMC,093424.00,A,5201.54531,N,00421.66648,E,70.324,144.07,120308,,,A*57
+$GPRMC,093425.00,A,5201.52959,N,00421.68517,E,70.181,143.84,120308,,,A*54
+$GPRMC,093426.00,A,5201.51395,N,00421.70400,E,70.232,143.98,120308,,,A*56
+$GPRMC,093427.00,A,5201.49810,N,00421.72233,E,70.020,144.45,120308,,,A*5A
+$GPRMC,093428.00,A,5201.48238,N,00421.74070,E,69.940,144.05,120308,,,A*54
+$GPRMC,093429.00,A,5201.46662,N,00421.75913,E,69.876,143.76,120308,,,A*5A
+$GPRMC,093430.00,A,5201.45079,N,00421.77744,E,69.894,144.06,120308,,,A*5F
+$GPRMC,093431.00,A,5201.43498,N,00421.79565,E,69.804,144.29,120308,,,A*58
+$GPRMC,093432.00,A,5201.41926,N,00421.81386,E,69.672,144.17,120308,,,A*5F
+$GPRMC,093433.00,A,5201.40377,N,00421.83199,E,68.581,143.80,120308,,,A*58
+$GPRMC,093434.00,A,5201.38861,N,00421.84976,E,66.703,144.19,120308,,,A*53
+$GPRMC,093435.00,A,5201.37362,N,00421.86723,E,66.786,144.19,120308,,,A*54
+$GPRMC,093436.00,A,5201.35847,N,00421.88509,E,67.711,144.14,120308,,,A*5F
+$GPRMC,093437.00,A,5201.34311,N,00421.90330,E,68.886,143.98,120308,,,A*5F
+$GPRMC,093438.00,A,5201.32765,N,00421.92129,E,69.556,144.03,120308,,,A*5D
+$GPRMC,093439.00,A,5201.31199,N,00421.93954,E,70.105,144.43,120308,,,A*57
+$GPRMC,093440.00,A,5201.29629,N,00421.95832,E,70.493,143.06,120308,,,A*57
+$GPRMC,093441.00,A,5201.28058,N,00421.97700,E,70.233,143.79,120308,,,A*5F
+$GPRMC,093442.00,A,5201.26477,N,00421.99574,E,70.173,143.61,120308,,,A*5A
+$GPRMC,093443.00,A,5201.24911,N,00422.01384,E,69.224,143.97,120308,,,A*5F
+$GPRMC,093444.00,A,5201.23335,N,00422.03225,E,70.284,144.25,120308,,,A*57
+$GPRMC,093445.00,A,5201.21761,N,00422.05074,E,70.089,144.08,120308,,,A*51
+$GPRMC,093446.00,A,5201.20179,N,00422.06900,E,69.956,144.40,120308,,,A*5A
+$GPRMC,093447.00,A,5201.18618,N,00422.08711,E,68.670,144.26,120308,,,A*5A
+$GPRMC,093448.00,A,5201.17083,N,00422.10460,E,67.367,144.32,120308,,,A*5B
+$GPRMC,093449.00,A,5201.15573,N,00422.12189,E,66.233,144.73,120308,,,A*56
+$GPRMC,093450.00,A,5201.14080,N,00422.13896,E,65.587,144.73,120308,,,A*5B
+$GPRMC,093451.00,A,5201.12602,N,00422.15598,E,65.215,144.62,120308,,,A*59
+$GPRMC,093452.00,A,5201.11146,N,00422.17281,E,64.322,144.19,120308,,,A*5B
+$GPRMC,093453.00,A,5201.09714,N,00422.18922,E,62.967,144.34,120308,,,A*5D
+$GPRMC,093454.00,A,5201.08305,N,00422.20533,E,61.800,144.61,120308,,,A*5B
+$GPRMC,093455.00,A,5201.06921,N,00422.22124,E,60.607,144.34,120308,,,A*50
+$GPRMC,093456.00,A,5201.05564,N,00422.23692,E,59.541,144.54,120308,,,A*5B
+$GPRMC,093457.00,A,5201.04233,N,00422.25209,E,58.376,144.42,120308,,,A*5A
+$GPRMC,093458.00,A,5201.02926,N,00422.26697,E,57.491,144.48,120308,,,A*57
+$GPRMC,093459.00,A,5201.01638,N,00422.28167,E,56.738,144.58,120308,,,A*53
+$GPRMC,093500.00,A,5201.00366,N,00422.29637,E,56.352,144.26,120308,,,A*53
+$GPRMC,093501.00,A,5200.99095,N,00422.31132,E,56.781,144.39,120308,,,A*53
+$GPRMC,093502.00,A,5200.97809,N,00422.32651,E,57.815,143.98,120308,,,A*5D
+$GPRMC,093503.00,A,5200.96500,N,00422.34200,E,59.398,143.90,120308,,,A*57
+$GPRMC,093504.00,A,5200.95150,N,00422.35786,E,60.610,144.13,120308,,,A*5B
+$GPRMC,093505.00,A,5200.93767,N,00422.37393,E,62.075,144.37,120308,,,A*5D
+$GPRMC,093506.00,A,5200.92349,N,00422.39045,E,63.336,144.41,120308,,,A*55
+$GPRMC,093507.00,A,5200.90900,N,00422.40705,E,64.753,144.47,120308,,,A*5A
+$GPRMC,093508.00,A,5200.89417,N,00422.42380,E,66.055,144.82,120308,,,A*57
+$GPRMC,093509.00,A,5200.87904,N,00422.44137,E,67.511,144.26,120308,,,A*55
+$GPRMC,093510.00,A,5200.86368,N,00422.45930,E,68.585,144.18,120308,,,A*5D
+$GPRMC,093511.00,A,5200.84823,N,00422.47720,E,68.710,144.16,120308,,,A*57
+$GPRMC,093512.00,A,5200.83280,N,00422.49524,E,68.785,144.24,120308,,,A*55
+$GPRMC,093513.00,A,5200.81734,N,00422.51339,E,68.573,144.11,120308,,,A*52
+$GPRMC,093514.00,A,5200.80198,N,00422.53141,E,67.810,144.30,120308,,,A*5F
+$GPRMC,093515.00,A,5200.78682,N,00422.54883,E,66.751,144.43,120308,,,A*5A
+$GPRMC,093516.00,A,5200.77176,N,00422.56621,E,66.030,145.13,120308,,,A*5A
+$GPRMC,093517.00,A,5200.75689,N,00422.58335,E,65.380,144.37,120308,,,A*5C
+$GPRMC,093518.00,A,5200.74226,N,00422.60039,E,64.910,144.05,120308,,,A*54
+$GPRMC,093519.00,A,5200.72771,N,00422.61735,E,64.671,144.42,120308,,,A*55
+$GPRMC,093520.00,A,5200.71339,N,00422.63437,E,63.667,144.80,120308,,,A*59
+$GPRMC,093521.00,A,5200.69938,N,00422.65102,E,62.077,144.20,120308,,,A*53
+$GPRMC,093522.00,A,5200.68567,N,00422.66727,E,60.484,144.49,120308,,,A*50
+$GPRMC,093523.00,A,5200.67220,N,00422.68297,E,59.462,144.61,120308,,,A*52
+$GPRMC,093524.00,A,5200.65914,N,00422.69771,E,56.906,145.00,120308,,,A*51
+$GPRMC,093525.00,A,5200.64654,N,00422.71213,E,54.576,144.48,120308,,,A*56
+$GPRMC,093526.00,A,5200.63439,N,00422.72623,E,54.012,144.42,120308,,,A*52
+$GPRMC,093527.00,A,5200.62233,N,00422.74030,E,53.740,144.19,120308,,,A*55
+$GPRMC,093528.00,A,5200.61035,N,00422.75436,E,53.246,144.16,120308,,,A*52
+$GPRMC,093529.00,A,5200.59841,N,00422.76826,E,53.070,144.42,120308,,,A*5B
+$GPRMC,093530.00,A,5200.58651,N,00422.78198,E,52.741,144.55,120308,,,A*5D
+$GPRMC,093531.00,A,5200.57471,N,00422.79575,E,52.145,144.10,120308,,,A*56
+$GPRMC,093532.00,A,5200.56307,N,00422.80930,E,51.760,143.96,120308,,,A*52
+$GPRMC,093533.00,A,5200.55148,N,00422.82281,E,51.556,144.30,120308,,,A*56
+$GPRMC,093534.00,A,5200.53991,N,00422.83620,E,51.812,143.89,120308,,,A*5D
+$GPRMC,093535.00,A,5200.52825,N,00422.84997,E,52.729,143.70,120308,,,A*55
+$GPRMC,093536.00,A,5200.51629,N,00422.86389,E,53.464,144.23,120308,,,A*5A
+$GPRMC,093537.00,A,5200.50421,N,00422.87774,E,53.206,144.48,120308,,,A*58
+$GPRMC,093538.00,A,5200.49229,N,00422.89153,E,52.599,144.51,120308,,,A*54
+$GPRMC,093539.00,A,5200.48059,N,00422.90549,E,52.246,143.57,120308,,,A*52
+$GPRMC,093540.00,A,5200.46880,N,00422.91931,E,52.527,144.40,120308,,,A*5D
+$GPRMC,093541.00,A,5200.45680,N,00422.93318,E,53.772,144.83,120308,,,A*5E
+$GPRMC,093542.00,A,5200.44456,N,00422.94727,E,54.588,145.16,120308,,,A*57
+$GPRMC,093543.00,A,5200.43226,N,00422.96216,E,55.700,144.28,120308,,,A*5A
+$GPRMC,093544.00,A,5200.41943,N,00422.97751,E,56.791,144.64,120308,,,A*53
+$GPRMC,093545.00,A,5200.40654,N,00422.99294,E,57.802,144.50,120308,,,A*5B
+$GPRMC,093546.00,A,5200.39333,N,00423.00821,E,58.755,145.18,120308,,,A*58
+$GPRMC,093547.00,A,5200.38003,N,00423.02295,E,57.712,145.97,120308,,,A*54
+$GPRMC,093548.00,A,5200.36701,N,00423.03698,E,54.032,146.28,120308,,,A*59
+$GPRMC,093549.00,A,5200.35450,N,00423.05001,E,52.440,147.56,120308,,,A*53
+$GPRMC,093550.00,A,5200.34225,N,00423.06287,E,52.535,147.46,120308,,,A*53
+$GPRMC,093551.00,A,5200.32921,N,00423.07554,E,54.404,149.40,120308,,,A*5E
+$GPRMC,093552.00,A,5200.31626,N,00423.08826,E,55.469,151.54,120308,,,A*57
+$GPRMC,093553.00,A,5200.30250,N,00423.10019,E,56.948,153.38,120308,,,A*5A
+$GPRMC,093554.00,A,5200.28790,N,00423.11155,E,58.816,155.37,120308,,,A*58
+$GPRMC,093555.00,A,5200.27275,N,00423.12323,E,60.381,155.21,120308,,,A*51
+$GPRMC,093556.00,A,5200.25714,N,00423.13475,E,62.143,156.76,120308,,,A*58
+$GPRMC,093557.00,A,5200.24061,N,00423.14492,E,64.104,160.26,120308,,,A*56
+$GPRMC,093558.00,A,5200.22338,N,00423.15411,E,65.618,162.23,120308,,,A*56
+$GPRMC,093559.00,A,5200.20579,N,00423.16315,E,66.915,162.96,120308,,,A*59
+$GPRMC,093600.00,A,5200.18785,N,00423.17204,E,67.917,163.72,120308,,,A*54
+$GPRMC,093601.00,A,5200.16930,N,00423.18021,E,69.475,164.37,120308,,,A*50
+$GPRMC,093602.00,A,5200.15041,N,00423.18857,E,71.019,164.71,120308,,,A*53
+$GPRMC,093603.00,A,5200.13126,N,00423.19709,E,71.791,164.78,120308,,,A*5F
+$GPRMC,093604.00,A,5200.11209,N,00423.20562,E,71.336,165.10,120308,,,A*57
+$GPRMC,093605.00,A,5200.09306,N,00423.21384,E,70.451,165.26,120308,,,A*5C
+$GPRMC,093606.00,A,5200.07400,N,00423.22152,E,70.053,165.43,120308,,,A*5F
+$GPRMC,093607.00,A,5200.05500,N,00423.22919,E,70.136,165.28,120308,,,A*55
+$GPRMC,093608.00,A,5200.03605,N,00423.23698,E,70.123,165.10,120308,,,A*52
+$GPRMC,093609.00,A,5200.01706,N,00423.24479,E,70.562,165.36,120308,,,A*5C
+$GPRMC,093610.00,A,5159.99799,N,00423.25250,E,70.438,165.18,120308,,,A*52
+$GPRMC,093611.00,A,5159.97911,N,00423.26019,E,69.280,165.04,120308,,,A*5F
+$GPRMC,093612.00,A,5159.96058,N,00423.26803,E,68.671,165.28,120308,,,A*5F
+$GPRMC,093613.00,A,5159.94214,N,00423.27571,E,68.367,165.03,120308,,,A*54
+$GPRMC,093614.00,A,5159.92375,N,00423.28344,E,68.362,165.17,120308,,,A*5C
+$GPRMC,093615.00,A,5159.90542,N,00423.29112,E,67.900,165.17,120308,,,A*5C
+$GPRMC,093616.00,A,5159.88723,N,00423.29879,E,67.249,165.14,120308,,,A*52
+$GPRMC,093617.00,A,5159.86923,N,00423.30624,E,66.261,165.20,120308,,,A*51
+$GPRMC,093618.00,A,5159.85152,N,00423.31357,E,65.444,165.39,120308,,,A*59
+$GPRMC,093619.00,A,5159.83388,N,00423.32085,E,65.642,165.90,120308,,,A*53
+$GPRMC,093620.00,A,5159.81611,N,00423.32839,E,66.561,165.15,120308,,,A*5D
+$GPRMC,093621.00,A,5159.79782,N,00423.33549,E,67.714,166.02,120308,,,A*5F
+$GPRMC,093622.00,A,5159.77951,N,00423.34333,E,68.617,165.27,120308,,,A*57
+$GPRMC,093623.00,A,5159.76091,N,00423.35090,E,68.865,165.35,120308,,,A*51
+$GPRMC,093624.00,A,5159.74245,N,00423.35897,E,69.136,164.80,120308,,,A*51
+$GPRMC,093625.00,A,5159.72373,N,00423.36759,E,70.772,163.86,120308,,,A*53
+$GPRMC,093626.00,A,5159.70482,N,00423.37597,E,70.426,164.98,120308,,,A*50
+$GPRMC,093627.00,A,5159.68589,N,00423.38422,E,70.998,165.06,120308,,,A*5C
+$GPRMC,093628.00,A,5159.66682,N,00423.39241,E,71.118,165.29,120308,,,A*5B
+$GPRMC,093629.00,A,5159.64776,N,00423.40061,E,71.004,165.22,120308,,,A*5B
+$GPRMC,093630.00,A,5159.62860,N,00423.40879,E,71.424,164.97,120308,,,A*55
+$GPRMC,093631.00,A,5159.60944,N,00423.41706,E,71.236,165.00,120308,,,A*5D
+$GPRMC,093632.00,A,5159.59023,N,00423.42464,E,70.720,165.11,120308,,,A*5B
+$GPRMC,093633.00,A,5159.57120,N,00423.43241,E,70.455,165.12,120308,,,A*54
+$GPRMC,093634.00,A,5159.55232,N,00423.44033,E,70.051,165.19,120308,,,A*5A
+$GPRMC,093635.00,A,5159.53349,N,00423.44800,E,69.524,164.39,120308,,,A*54
+$GPRMC,093636.00,A,5159.51482,N,00423.45601,E,69.789,165.12,120308,,,A*56
+$GPRMC,093637.00,A,5159.49601,N,00423.46387,E,70.199,165.37,120308,,,A*57
+$GPRMC,093638.00,A,5159.47703,N,00423.47161,E,70.629,165.51,120308,,,A*52
+$GPRMC,093639.00,A,5159.45808,N,00423.47945,E,70.338,165.29,120308,,,A*51
+$GPRMC,093640.00,A,5159.43908,N,00423.48716,E,70.259,165.20,120308,,,A*50
+$GPRMC,093641.00,A,5159.42005,N,00423.49500,E,70.660,165.08,120308,,,A*54
+$GPRMC,093642.00,A,5159.40088,N,00423.50276,E,70.931,165.10,120308,,,A*5C
+$GPRMC,093643.00,A,5159.38173,N,00423.51055,E,70.539,165.14,120308,,,A*55
+$GPRMC,093644.00,A,5159.36289,N,00423.51820,E,69.032,165.68,120308,,,A*5D
+$GPRMC,093645.00,A,5159.34470,N,00423.52556,E,65.979,165.70,120308,,,A*52
+$GPRMC,093646.00,A,5159.32736,N,00423.53257,E,63.108,165.61,120308,,,A*59
+$GPRMC,093647.00,A,5159.31068,N,00423.53956,E,61.440,165.07,120308,,,A*56
+$GPRMC,093648.00,A,5159.29436,N,00423.54641,E,60.349,165.20,120308,,,A*5B
+$GPRMC,093649.00,A,5159.27821,N,00423.55315,E,60.132,165.15,120308,,,A*53
+$GPRMC,093650.00,A,5159.26231,N,00423.56036,E,59.970,165.08,120308,,,A*58
+$GPRMC,093651.00,A,5159.24628,N,00423.56700,E,59.299,165.43,120308,,,A*56
+$GPRMC,093652.00,A,5159.23047,N,00423.57344,E,58.095,165.38,120308,,,A*5B
+$GPRMC,093653.00,A,5159.21514,N,00423.58020,E,56.920,164.34,120308,,,A*51
+$GPRMC,093654.00,A,5159.19983,N,00423.58681,E,57.373,165.19,120308,,,A*51
+$GPRMC,093655.00,A,5159.18431,N,00423.59321,E,58.217,164.88,120308,,,A*5E
+$GPRMC,093656.00,A,5159.16865,N,00423.59977,E,58.558,165.16,120308,,,A*5D
+$GPRMC,093657.00,A,5159.15305,N,00423.60633,E,57.659,164.92,120308,,,A*57
+$GPRMC,093658.00,A,5159.13756,N,00423.61289,E,57.862,165.02,120308,,,A*56
+$GPRMC,093659.00,A,5159.12208,N,00423.61974,E,58.435,165.09,120308,,,A*5B
+$GPRMC,093700.00,A,5159.10656,N,00423.62654,E,57.854,165.10,120308,,,A*59
+$GPRMC,093701.00,A,5159.09125,N,00423.63325,E,56.793,164.94,120308,,,A*59
+$GPRMC,093702.00,A,5159.07629,N,00423.63995,E,55.718,165.59,120308,,,A*5E
+$GPRMC,093703.00,A,5159.06159,N,00423.64651,E,55.060,165.41,120308,,,A*5F
+$GPRMC,093704.00,A,5159.04679,N,00423.65311,E,56.265,165.01,120308,,,A*5F
+$GPRMC,093705.00,A,5159.03161,N,00423.65984,E,57.693,165.21,120308,,,A*5F
+$GPRMC,093706.00,A,5159.01591,N,00423.66638,E,59.133,165.32,120308,,,A*5F
+$GPRMC,093707.00,A,5158.99964,N,00423.67288,E,60.639,165.90,120308,,,A*59
+$GPRMC,093708.00,A,5158.98317,N,00423.67977,E,61.875,165.37,120308,,,A*58
+$GPRMC,093709.00,A,5158.96644,N,00423.68705,E,63.140,165.26,120308,,,A*5D
+$GPRMC,093710.00,A,5158.94934,N,00423.69453,E,64.433,165.07,120308,,,A*5B
+$GPRMC,093711.00,A,5158.93193,N,00423.70208,E,65.631,165.18,120308,,,A*57
+$GPRMC,093712.00,A,5158.91420,N,00423.70969,E,66.852,165.21,120308,,,A*55
+$GPRMC,093713.00,A,5158.89611,N,00423.71746,E,67.851,165.18,120308,,,A*57
+$GPRMC,093714.00,A,5158.87770,N,00423.72522,E,68.948,165.28,120308,,,A*5E
+$GPRMC,093715.00,A,5158.85904,N,00423.73320,E,69.567,165.04,120308,,,A*5B
+$GPRMC,093716.00,A,5158.84029,N,00423.74121,E,69.306,165.43,120308,,,A*59
+$GPRMC,093717.00,A,5158.82184,N,00423.74921,E,68.735,164.49,120308,,,A*5E
+$GPRMC,093718.00,A,5158.80343,N,00423.75728,E,68.427,165.10,120308,,,A*51
+$GPRMC,093719.00,A,5158.78507,N,00423.76519,E,67.969,164.83,120308,,,A*51
+$GPRMC,093720.00,A,5158.76683,N,00423.77307,E,67.437,165.23,120308,,,A*5F
+$GPRMC,093721.00,A,5158.74877,N,00423.78079,E,66.815,165.07,120308,,,A*57
+$GPRMC,093722.00,A,5158.73087,N,00423.78840,E,66.401,165.45,120308,,,A*59
+$GPRMC,093723.00,A,5158.71304,N,00423.79564,E,66.020,165.72,120308,,,A*5B
+$GPRMC,093724.00,A,5158.69526,N,00423.80294,E,65.935,165.45,120308,,,A*57
+$GPRMC,093725.00,A,5158.67764,N,00423.81043,E,65.957,165.35,120308,,,A*56
+$GPRMC,093726.00,A,5158.65987,N,00423.81791,E,66.495,165.37,120308,,,A*5E
+$GPRMC,093727.00,A,5158.64194,N,00423.82554,E,66.858,165.10,120308,,,A*54
+$GPRMC,093728.00,A,5158.62411,N,00423.83357,E,66.730,164.97,120308,,,A*5E
+$GPRMC,093729.00,A,5158.60624,N,00423.84137,E,66.652,165.35,120308,,,A*56
+$GPRMC,093730.00,A,5158.58835,N,00423.84899,E,66.530,165.45,120308,,,A*56
+$GPRMC,093731.00,A,5158.57066,N,00423.85656,E,65.482,165.41,120308,,,A*55
+$GPRMC,093732.00,A,5158.55329,N,00423.86412,E,64.329,165.32,120308,,,A*5E
+$GPRMC,093733.00,A,5158.53629,N,00423.87163,E,63.104,165.10,120308,,,A*54
+$GPRMC,093734.00,A,5158.51955,N,00423.87889,E,61.993,165.03,120308,,,A*5E
+$GPRMC,093735.00,A,5158.50319,N,00423.88627,E,60.776,164.25,120308,,,A*58
+$GPRMC,093736.00,A,5158.48718,N,00423.89346,E,59.554,165.25,120308,,,A*5D
+$GPRMC,093737.00,A,5158.47148,N,00423.90035,E,58.340,165.22,120308,,,A*5A
+$GPRMC,093738.00,A,5158.45593,N,00423.90685,E,57.762,165.63,120308,,,A*56
+$GPRMC,093739.00,A,5158.44048,N,00423.91337,E,57.733,165.49,120308,,,A*54
+$GPRMC,093740.00,A,5158.42493,N,00423.91978,E,58.159,165.18,120308,,,A*5E
+$GPRMC,093741.00,A,5158.40923,N,00423.92635,E,58.813,165.34,120308,,,A*57
+$GPRMC,093742.00,A,5158.39354,N,00423.93317,E,58.527,164.82,120308,,,A*52
+$GPRMC,093743.00,A,5158.37787,N,00423.93994,E,58.492,165.12,120308,,,A*51
+$GPRMC,093744.00,A,5158.36223,N,00423.94673,E,58.399,165.02,120308,,,A*50
+$GPRMC,093745.00,A,5158.34662,N,00423.95354,E,58.269,165.46,120308,,,A*5D
+$GPRMC,093746.00,A,5158.33096,N,00423.96038,E,58.714,165.16,120308,,,A*54
+$GPRMC,093747.00,A,5158.31518,N,00423.96738,E,59.435,164.52,120308,,,A*53
+$GPRMC,093748.00,A,5158.29922,N,00423.97449,E,60.033,164.50,120308,,,A*5E
+$GPRMC,093749.00,A,5158.28337,N,00423.98253,E,60.100,162.63,120308,,,A*55
+$GPRMC,093750.00,A,5158.26778,N,00423.99132,E,59.340,160.41,120308,,,A*57
+$GPRMC,093751.00,A,5158.25222,N,00424.00059,E,60.043,159.05,120308,,,A*54
+$GPRMC,093752.00,A,5158.23655,N,00424.01079,E,60.943,157.23,120308,,,A*55
+$GPRMC,093753.00,A,5158.22103,N,00424.02207,E,61.829,155.40,120308,,,A*52
+$GPRMC,093754.00,A,5158.20556,N,00424.03452,E,62.996,154.03,120308,,,A*54
+$GPRMC,093755.00,A,5158.18992,N,00424.04719,E,63.277,154.02,120308,,,A*55
+$GPRMC,093756.00,A,5158.17432,N,00424.05983,E,62.743,154.17,120308,,,A*55
+$GPRMC,093757.00,A,5158.15868,N,00424.07224,E,63.088,154.11,120308,,,A*56
+$GPRMC,093758.00,A,5158.14300,N,00424.08462,E,63.031,154.52,120308,,,A*53
+$GPRMC,093759.00,A,5158.12720,N,00424.09698,E,63.484,154.62,120308,,,A*5D
+$GPRMC,093800.00,A,5158.11139,N,00424.10915,E,62.860,154.67,120308,,,A*53
+$GPRMC,093801.00,A,5158.09599,N,00424.12106,E,60.676,154.20,120308,,,A*55
+$GPRMC,093802.00,A,5158.08116,N,00424.13260,E,58.836,154.03,120308,,,A*56
+$GPRMC,093803.00,A,5158.06666,N,00424.14380,E,57.468,154.33,120308,,,A*5A
+$GPRMC,093804.00,A,5158.05243,N,00424.15480,E,56.693,154.51,120308,,,A*58
+$GPRMC,093805.00,A,5158.03818,N,00424.16580,E,56.771,154.16,120308,,,A*57
+$GPRMC,093806.00,A,5158.02412,N,00424.17693,E,56.487,153.89,120308,,,A*58
+$GPRMC,093807.00,A,5158.00988,N,00424.18796,E,56.402,154.79,120308,,,A*5B
+$GPRMC,093808.00,A,5157.99574,N,00424.19869,E,55.568,154.83,120308,,,A*51
+$GPRMC,093809.00,A,5157.98180,N,00424.20958,E,55.210,154.26,120308,,,A*50
+$GPRMC,093810.00,A,5157.96784,N,00424.22063,E,56.170,154.44,120308,,,A*55
+$GPRMC,093811.00,A,5157.95362,N,00424.23174,E,57.301,154.52,120308,,,A*5F
+$GPRMC,093812.00,A,5157.93889,N,00424.24329,E,59.516,154.30,120308,,,A*53
+$GPRMC,093813.00,A,5157.92393,N,00424.25501,E,60.245,154.41,120308,,,A*53
+$GPRMC,093814.00,A,5157.90845,N,00424.26734,E,62.531,154.16,120308,,,A*55
+$GPRMC,093815.00,A,5157.89236,N,00424.28013,E,64.911,154.09,120308,,,A*58
+$GPRMC,093816.00,A,5157.87600,N,00424.29312,E,66.489,154.26,120308,,,A*54
+$GPRMC,093817.00,A,5157.85924,N,00424.30629,E,67.577,154.44,120308,,,A*5E
+$GPRMC,093818.00,A,5157.84229,N,00424.31956,E,67.799,154.41,120308,,,A*57
+$GPRMC,093819.00,A,5157.82558,N,00424.33256,E,66.908,154.39,120308,,,A*50
+$GPRMC,093820.00,A,5157.80901,N,00424.34551,E,65.660,154.22,120308,,,A*57
+$GPRMC,093821.00,A,5157.79270,N,00424.35807,E,63.856,154.96,120308,,,A*50
+$GPRMC,093822.00,A,5157.77667,N,00424.37003,E,62.469,155.40,120308,,,A*5A
+$GPRMC,093823.00,A,5157.76094,N,00424.38151,E,61.772,156.00,120308,,,A*54
+$GPRMC,093824.00,A,5157.74547,N,00424.39270,E,60.774,155.87,120308,,,A*50
+$GPRMC,093825.00,A,5157.73029,N,00424.40385,E,59.443,155.85,120308,,,A*51
+$GPRMC,093826.00,A,5157.71519,N,00424.41435,E,58.236,156.87,120308,,,A*5F
+$GPRMC,093827.00,A,5157.70023,N,00424.42476,E,57.583,156.73,120308,,,A*5A
+$GPRMC,093828.00,A,5157.68577,N,00424.43526,E,56.615,155.81,120308,,,A*5E
+$GPRMC,093829.00,A,5157.67147,N,00424.44607,E,56.402,154.71,120308,,,A*5A
+$GPRMC,093830.00,A,5157.65777,N,00424.45680,E,55.764,153.95,120308,,,A*56
+$GPRMC,093831.00,A,5157.64398,N,00424.46775,E,55.024,154.07,120308,,,A*54
+$GPRMC,093832.00,A,5157.63045,N,00424.47852,E,53.764,154.18,120308,,,A*53
+$GPRMC,093833.00,A,5157.61727,N,00424.48892,E,52.247,154.67,120308,,,A*5D
+$GPRMC,093834.00,A,5157.60464,N,00424.49888,E,49.918,154.41,120308,,,A*5A
+$GPRMC,093835.00,A,5157.59233,N,00424.50842,E,47.873,154.53,120308,,,A*5A
+$GPRMC,093836.00,A,5157.58056,N,00424.51756,E,47.012,154.44,120308,,,A*5B
+$GPRMC,093837.00,A,5157.56896,N,00424.52660,E,46.173,154.27,120308,,,A*55
+$GPRMC,093838.00,A,5157.55755,N,00424.53554,E,45.450,154.18,120308,,,A*57
+$GPRMC,093839.00,A,5157.54636,N,00424.54434,E,44.932,154.29,120308,,,A*59
+$GPRMC,093840.00,A,5157.53529,N,00424.55303,E,44.343,154.14,120308,,,A*5D
+$GPRMC,093841.00,A,5157.52444,N,00424.56161,E,43.711,154.03,120308,,,A*50
+$GPRMC,093842.00,A,5157.51370,N,00424.57013,E,43.474,154.11,120308,,,A*56
+$GPRMC,093843.00,A,5157.50309,N,00424.57834,E,42.948,154.51,120308,,,A*52
+$GPRMC,093844.00,A,5157.49250,N,00424.58649,E,43.181,154.09,120308,,,A*5A
+$GPRMC,093845.00,A,5157.48181,N,00424.59488,E,43.474,154.09,120308,,,A*54
+$GPRMC,093846.00,A,5157.47100,N,00424.60328,E,44.154,154.60,120308,,,A*59
+$GPRMC,093847.00,A,5157.45998,N,00424.61176,E,44.393,154.36,120308,,,A*51
+$GPRMC,093848.00,A,5157.44897,N,00424.62027,E,44.985,154.33,120308,,,A*5F
+$GPRMC,093849.00,A,5157.43783,N,00424.62887,E,45.244,154.53,120308,,,A*50
+$GPRMC,093850.00,A,5157.42619,N,00424.63789,E,47.156,154.50,120308,,,A*5A
+$GPRMC,093851.00,A,5157.41454,N,00424.64704,E,46.283,153.85,120308,,,A*54
+$GPRMC,093852.00,A,5157.40327,N,00424.65583,E,44.805,153.98,120308,,,A*53
+$GPRMC,093853.00,A,5157.39275,N,00424.66397,E,41.449,154.05,120308,,,A*58
+$GPRMC,093854.00,A,5157.38262,N,00424.67191,E,40.048,154.09,120308,,,A*55
+$GPRMC,093855.00,A,5157.37253,N,00424.67964,E,39.401,154.49,120308,,,A*58
+$GPRMC,093856.00,A,5157.36236,N,00424.68736,E,39.757,154.69,120308,,,A*5D
+$GPRMC,093857.00,A,5157.35216,N,00424.69510,E,39.573,154.40,120308,,,A*55
+$GPRMC,093858.00,A,5157.34220,N,00424.70286,E,39.767,154.18,120308,,,A*54
+$GPRMC,093859.00,A,5157.33220,N,00424.71073,E,40.015,154.04,120308,,,A*5A
+$GPRMC,093900.00,A,5157.32213,N,00424.71868,E,40.159,153.90,120308,,,A*57
+$GPRMC,093901.00,A,5157.31216,N,00424.72656,E,39.986,154.20,120308,,,A*58
+$GPRMC,093902.00,A,5157.30201,N,00424.73437,E,40.237,154.86,120308,,,A*5B
+$GPRMC,093903.00,A,5157.29202,N,00424.74195,E,38.958,154.67,120308,,,A*59
+$GPRMC,093904.00,A,5157.28199,N,00424.74973,E,39.842,154.21,120308,,,A*57
+$GPRMC,093905.00,A,5157.27164,N,00424.75776,E,41.206,154.28,120308,,,A*5D
+$GPRMC,093906.00,A,5157.26124,N,00424.76578,E,41.108,154.97,120308,,,A*5D
+$GPRMC,093907.00,A,5157.25070,N,00424.77372,E,41.531,155.21,120308,,,A*50
+$GPRMC,093908.00,A,5157.23941,N,00424.78193,E,43.805,155.85,120308,,,A*56
+$GPRMC,093909.00,A,5157.22827,N,00424.78951,E,44.292,156.46,120308,,,A*5E
+$GPRMC,093910.00,A,5157.21712,N,00424.79736,E,43.626,155.90,120308,,,A*56
+$GPRMC,093911.00,A,5157.20634,N,00424.80538,E,42.347,155.00,120308,,,A*53
+$GPRMC,093912.00,A,5157.19588,N,00424.81334,E,41.796,154.47,120308,,,A*5C
+$GPRMC,093913.00,A,5157.18581,N,00424.82085,E,39.326,154.14,120308,,,A*59
+$GPRMC,093914.00,A,5157.17651,N,00424.82754,E,36.174,154.94,120308,,,A*56
+$GPRMC,093915.00,A,5157.16805,N,00424.83374,E,33.239,155.31,120308,,,A*5F
+$GPRMC,093916.00,A,5157.16039,N,00424.83955,E,30.194,155.25,120308,,,A*50
+$GPRMC,093917.00,A,5157.15333,N,00424.84488,E,26.858,155.69,120308,,,A*57
+$GPRMC,093918.00,A,5157.14689,N,00424.85039,E,24.960,154.02,120308,,,A*56
+$GPRMC,093919.00,A,5157.14115,N,00424.85516,E,23.221,153.68,120308,,,A*5F
+$GPRMC,093920.00,A,5157.13555,N,00424.85981,E,22.783,153.70,120308,,,A*55
+$GPRMC,093921.00,A,5157.13006,N,00424.86432,E,22.877,153.14,120308,,,A*57
+$GPRMC,093922.00,A,5157.12455,N,00424.86896,E,22.231,153.11,120308,,,A*58
+$GPRMC,093923.00,A,5157.11916,N,00424.87344,E,21.629,153.46,120308,,,A*59
+$GPRMC,093924.00,A,5157.11383,N,00424.87785,E,21.327,153.18,120308,,,A*51
+$GPRMC,093925.00,A,5157.10887,N,00424.88186,E,19.196,154.25,120308,,,A*5E
+$GPRMC,093926.00,A,5157.10424,N,00424.88548,E,18.154,155.39,120308,,,A*5D
+$GPRMC,093927.00,A,5157.09973,N,00424.88858,E,17.069,158.62,120308,,,A*54
+$GPRMC,093928.00,A,5157.09563,N,00424.89130,E,15.825,158.46,120308,,,A*54
+$GPRMC,093929.00,A,5157.09158,N,00424.89360,E,15.359,160.91,120308,,,A*5F
+$GPRMC,093930.00,A,5157.08758,N,00424.89527,E,15.898,166.44,120308,,,A*5D
+$GPRMC,093931.00,A,5157.08324,N,00424.89644,E,16.221,169.49,120308,,,A*5C
+$GPRMC,093932.00,A,5157.07865,N,00424.89677,E,17.525,178.12,120308,,,A*52
+$GPRMC,093933.00,A,5157.07308,N,00424.89574,E,20.126,182.45,120308,,,A*57
+$GPRMC,093934.00,A,5157.06768,N,00424.89484,E,20.067,183.47,120308,,,A*5A
+$GPRMC,093935.00,A,5157.06252,N,00424.89364,E,19.687,186.13,120308,,,A*58
+$GPRMC,093936.00,A,5157.05730,N,00424.89188,E,19.142,189.52,120308,,,A*5D
+$GPRMC,093937.00,A,5157.05250,N,00424.88983,E,18.799,194.63,120308,,,A*52
+$GPRMC,093938.00,A,5157.04737,N,00424.88826,E,18.183,195.14,120308,,,A*5A
+$GPRMC,093939.00,A,5157.04280,N,00424.88723,E,17.165,191.08,120308,,,A*56
+$GPRMC,093940.00,A,5157.03869,N,00424.88610,E,15.579,193.07,120308,,,A*55
+$GPRMC,093941.00,A,5157.03504,N,00424.88524,E,12.962,193.68,120308,,,A*5E
+$GPRMC,093942.00,A,5157.03263,N,00424.88481,E,9.088,196.70,120308,,,A*6E
+$GPRMC,093943.00,A,5157.03184,N,00424.88562,E,4.843,193.85,120308,,,A*64
+$GPRMC,093944.00,A,5157.03115,N,00424.88569,E,3.220,193.35,120308,,,A*63
+$GPRMC,093945.00,A,5157.03043,N,00424.88523,E,2.994,193.05,120308,,,A*68
+$GPRMC,093946.00,A,5157.03012,N,00424.88505,E,1.150,192.69,120308,,,A*63
+$GPRMC,093947.00,A,5157.03003,N,00424.88510,E,0.372,195.70,120308,,,A*6A
+$GPRMC,093948.00,A,5157.03009,N,00424.88495,E,0.075,190.43,120308,,,A*62
+$GPRMC,093949.00,A,5157.03015,N,00424.88514,E,0.257,184.89,120308,,,A*67
+$GPRMC,093950.00,A,5157.03022,N,00424.88505,E,0.032,184.01,120308,,,A*6A
+$GPRMC,093951.00,A,5157.03027,N,00424.88501,E,0.297,179.39,120308,,,A*6E
+$GPRMC,093952.00,A,5157.03029,N,00424.88489,E,0.018,,120308,,,A*7C
+$GPRMC,093953.00,A,5157.03034,N,00424.88471,E,0.067,182.65,120308,,,A*68
+$GPRMC,093954.00,A,5157.03039,N,00424.88467,E,0.107,180.65,120308,,,A*60
+$GPRMC,093955.00,A,5157.03043,N,00424.88457,E,0.359,182.53,120308,,,A*61
+$GPRMC,093956.00,A,5157.03046,N,00424.88478,E,0.074,180.79,120308,,,A*6C
+$GPRMC,093957.00,A,5157.03051,N,00424.88478,E,0.265,176.19,120308,,,A*66
+$GPRMC,093958.00,A,5157.03064,N,00424.88447,E,0.170,180.88,120308,,,A*65
+$GPRMC,093959.00,A,5157.03066,N,00424.88443,E,0.072,179.01,120308,,,A*66
+$GPRMC,094000.00,A,5157.03049,N,00424.88456,E,1.097,178.63,120308,,,A*62
+$GPRMC,094001.00,A,5157.03034,N,00424.88422,E,0.706,181.29,120308,,,A*6C
+$GPRMC,094002.00,A,5157.02987,N,00424.88482,E,2.501,176.30,120308,,,A*62
+$GPRMC,094003.00,A,5157.03010,N,00424.88553,E,0.627,167.61,120308,,,A*69
+$GPRMC,094004.00,A,5157.03015,N,00424.88562,E,0.439,174.99,120308,,,A*61
+$GPRMC,094005.00,A,5157.03030,N,00424.88566,E,0.078,179.64,120308,,,A*6D
+$GPRMC,094006.00,A,5157.03049,N,00424.88591,E,0.231,186.25,120308,,,A*62
+$GPRMC,094007.00,A,5157.03057,N,00424.88600,E,0.030,190.83,120308,,,A*6F
+$GPRMC,094008.00,A,5157.03069,N,00424.88590,E,0.235,196.63,120308,,,A*68
+$GPRMC,094009.00,A,5157.03075,N,00424.88594,E,0.063,199.81,120308,,,A*62
+$GPRMC,094010.00,A,5157.03081,N,00424.88600,E,0.029,199.10,120308,,,A*69
+$GPRMC,094011.00,A,5157.03078,N,00424.88629,E,0.998,195.11,120308,,,A*6B
+$GPRMC,094012.00,A,5157.03033,N,00424.88622,E,1.527,194.72,120308,,,A*61
+$GPRMC,094013.00,A,5157.02992,N,00424.88649,E,1.478,192.40,120308,,,A*62
+$GPRMC,094014.00,A,5157.02973,N,00424.88630,E,1.113,193.03,120308,,,A*6A
+$GPRMC,094015.00,A,5157.02969,N,00424.88628,E,0.720,192.78,120308,,,A*63
+$GPRMC,094016.00,A,5157.02985,N,00424.88589,E,0.501,194.69,120308,,,A*6D
+$GPRMC,094017.00,A,5157.03005,N,00424.88562,E,0.133,194.86,120308,,,A*6D
+$GPRMC,094018.00,A,5157.03025,N,00424.88474,E,0.021,191.57,120308,,,A*6D
+$GPRMC,094019.00,A,5157.03036,N,00424.88402,E,0.197,195.24,120308,,,A*63
+$GPRMC,094020.00,A,5157.03055,N,00424.88350,E,0.226,185.74,120308,,,A*61
+$GPRMC,094021.00,A,5157.03060,N,00424.88304,E,0.024,189.87,120308,,,A*67
+$GPRMC,094022.00,A,5157.03059,N,00424.88264,E,0.138,188.89,120308,,,A*6A
+$GPRMC,094023.00,A,5157.03060,N,00424.88245,E,0.162,188.48,120308,,,A*60
+$GPRMC,094024.00,A,5157.03051,N,00424.88236,E,0.398,188.49,120308,,,A*67
+$GPRMC,094025.00,A,5157.03052,N,00424.88238,E,0.229,187.14,120308,,,A*67
+$GPRMC,094026.00,A,5157.03086,N,00424.88251,E,0.087,190.80,120308,,,A*6F
+$GPRMC,094027.00,A,5157.03073,N,00424.88230,E,0.145,193.19,120308,,,A*6F
+$GPRMC,094028.00,A,5157.03086,N,00424.88224,E,0.184,194.94,120308,,,A*60
+$GPRMC,094029.00,A,5157.03077,N,00424.88195,E,0.425,198.63,120308,,,A*6C
+$GPRMC,094030.00,A,5157.03102,N,00424.88193,E,0.122,199.99,120308,,,A*67
+$GPRMC,094031.00,A,5157.03093,N,00424.88187,E,0.276,200.44,120308,,,A*6B
+$GPRMC,094032.00,A,5157.03094,N,00424.88174,E,0.356,200.57,120308,,,A*62
+$GPRMC,094033.00,A,5157.03095,N,00424.88192,E,0.386,193.03,120308,,,A*6F
+$GPRMC,094034.00,A,5157.03080,N,00424.88178,E,0.185,192.62,120308,,,A*6F
+$GPRMC,094035.00,A,5157.03088,N,00424.88176,E,0.209,203.71,120308,,,A*66
+$GPRMC,094036.00,A,5157.03102,N,00424.88168,E,0.109,204.71,120308,,,A*6D
+$GPRMC,094037.00,A,5157.03109,N,00424.88161,E,0.109,204.85,120308,,,A*65
+$GPRMC,094038.00,A,5157.03098,N,00424.88154,E,0.218,205.73,120308,,,A*6E
+$GPRMC,094039.00,A,5157.03112,N,00424.88157,E,0.660,211.76,120308,,,A*64
+$GPRMC,094040.00,A,5157.03124,N,00424.88190,E,0.110,216.59,120308,,,A*6E
+$GPRMC,094041.00,A,5157.03131,N,00424.88209,E,0.198,214.10,120308,,,A*67
+$GPRMC,094042.00,A,5157.03156,N,00424.88204,E,0.209,217.08,120308,,,A*69
+$GPRMC,094043.00,A,5157.03192,N,00424.88201,E,0.087,220.11,120308,,,A*6D
+$GPRMC,094044.00,A,5157.03238,N,00424.88203,E,0.022,222.43,120308,,,A*61
+$GPRMC,094045.00,A,5157.03253,N,00424.88189,E,0.075,224.31,120308,,,A*6D
+$GPRMC,094046.00,A,5157.03262,N,00424.88170,E,0.044,226.80,120308,,,A*60
+$GPRMC,094047.00,A,5157.03290,N,00424.88113,E,0.320,234.56,120308,,,A*60
+$GPRMC,094048.00,A,5157.03303,N,00424.88069,E,0.100,236.28,120308,,,A*63
+$GPRMC,094049.00,A,5157.03278,N,00424.88043,E,0.029,232.81,120308,,,A*6A
+$GPRMC,094050.00,A,5157.03252,N,00424.88021,E,0.414,229.75,120308,,,A*65
+$GPRMC,094051.00,A,5157.03193,N,00424.88012,E,2.577,186.08,120308,,,A*60
+$GPRMC,094052.00,A,5157.03090,N,00424.87999,E,4.823,181.75,120308,,,A*63
+$GPRMC,094053.00,A,5157.02943,N,00424.87988,E,5.923,168.91,120308,,,A*69
+$GPRMC,094054.00,A,5157.02733,N,00424.88026,E,8.608,175.49,120308,,,A*67
+$GPRMC,094055.00,A,5157.02459,N,00424.88118,E,10.149,170.22,120308,,,A*56
+$GPRMC,094056.00,A,5157.02130,N,00424.88251,E,11.183,166.62,120308,,,A*55
+$GPRMC,094057.00,A,5157.01781,N,00424.88412,E,11.715,160.65,120308,,,A*52
+$GPRMC,094058.00,A,5157.01445,N,00424.88617,E,12.375,156.35,120308,,,A*50
+$GPRMC,094059.00,A,5157.01093,N,00424.88906,E,12.902,151.08,120308,,,A*52
+$GPRMC,094100.00,A,5157.00752,N,00424.89233,E,12.212,148.93,120308,,,A*58
+$GPRMC,094101.00,A,5157.00439,N,00424.89521,E,11.344,150.76,120308,,,A*50
+$GPRMC,094102.00,A,5157.00137,N,00424.89801,E,12.330,148.36,120308,,,A*5A
+$GPRMC,094103.00,A,5156.99812,N,00424.90123,E,13.731,147.42,120308,,,A*5D
+$GPRMC,094104.00,A,5156.99461,N,00424.90469,E,14.683,148.67,120308,,,A*5E
+$GPRMC,094105.00,A,5156.99119,N,00424.90825,E,13.693,145.66,120308,,,A*5B
+$GPRMC,094106.00,A,5156.98773,N,00424.91151,E,14.268,145.03,120308,,,A*5C
+$GPRMC,094107.00,A,5156.98453,N,00424.91627,E,14.013,134.07,120308,,,A*56
+$GPRMC,094108.00,A,5156.98257,N,00424.92199,E,14.093,112.86,120308,,,A*5F
+$GPRMC,094109.00,A,5156.98210,N,00424.92862,E,14.026,91.41,120308,,,A*6F
+$GPRMC,094110.00,A,5156.98376,N,00424.93607,E,17.241,70.46,120308,,,A*62
+$GPRMC,094111.00,A,5156.98654,N,00424.94294,E,18.268,52.81,120308,,,A*60
+$GPRMC,094112.00,A,5156.98998,N,00424.95105,E,21.388,52.67,120308,,,A*6B
+$GPRMC,094113.00,A,5156.99336,N,00424.95904,E,22.107,55.03,120308,,,A*6F
+$GPRMC,094114.00,A,5156.99706,N,00424.96741,E,22.635,54.80,120308,,,A*6F
+$GPRMC,094115.00,A,5157.00043,N,00424.97540,E,20.305,54.53,120308,,,A*61
+$GPRMC,094116.00,A,5157.00364,N,00424.98261,E,18.397,54.37,120308,,,A*6D
+$GPRMC,094117.00,A,5157.00663,N,00424.98889,E,15.637,54.86,120308,,,A*6A
+$GPRMC,094118.00,A,5157.00892,N,00424.99375,E,11.076,55.12,120308,,,A*67
+$GPRMC,094119.00,A,5157.01046,N,00424.99694,E,7.132,54.92,120308,,,A*53
+$GPRMC,094120.00,A,5157.01150,N,00424.99897,E,5.121,55.21,120308,,,A*5B
+$GPRMC,094121.00,A,5157.01235,N,00425.00050,E,4.570,52.96,120308,,,A*52
+$GPRMC,094122.00,A,5157.01296,N,00425.00205,E,3.819,54.23,120308,,,A*57
+$GPRMC,094123.00,A,5157.01339,N,00425.00292,E,2.238,55.12,120308,,,A*57
+$GPRMC,094124.00,A,5157.01352,N,00425.00331,E,0.473,55.13,120308,,,A*5F
+$GPRMC,094125.00,A,5157.01350,N,00425.00331,E,0.010,,120308,,,A*71
+$GPRMC,094126.00,A,5157.01345,N,00425.00327,E,0.010,,120308,,,A*71
+$GPRMC,094127.00,A,5157.01340,N,00425.00323,E,0.006,,120308,,,A*76
+$GPRMC,094128.00,A,5157.01334,N,00425.00321,E,0.009,,120308,,,A*77
+$GPRMC,094129.00,A,5157.01330,N,00425.00318,E,0.010,,120308,,,A*70
+$GPRMC,094130.00,A,5157.01326,N,00425.00316,E,0.023,50.49,120308,,,A*57
+$GPRMC,094131.00,A,5157.01323,N,00425.00316,E,0.032,51.65,120308,,,A*5C
+$GPRMC,094132.00,A,5157.01321,N,00425.00318,E,0.026,54.42,120308,,,A*56
+$GPRMC,094133.00,A,5157.01321,N,00425.00319,E,0.014,,120308,,,A*7E
+$GPRMC,094134.00,A,5157.01320,N,00425.00319,E,0.013,,120308,,,A*7F
+$GPRMC,094135.00,A,5157.01317,N,00425.00321,E,0.015,,120308,,,A*77
+$GPRMC,094136.00,A,5157.01314,N,00425.00320,E,0.016,,120308,,,A*75
+$GPRMC,094137.00,A,5157.01311,N,00425.00325,E,0.018,,120308,,,A*7A
+$GPRMC,094138.00,A,5157.01310,N,00425.00326,E,0.028,55.23,120308,,,A*5B
+$GPRMC,094139.00,A,5157.01309,N,00425.00325,E,0.013,,120308,,,A*76
+$GPRMC,094140.00,A,5157.01307,N,00425.00325,E,0.070,51.04,120308,,,A*5D
+$GPRMC,094141.00,A,5157.01305,N,00425.00328,E,0.021,48.23,120308,,,A*5A
+$GPRMC,094142.00,A,5157.01304,N,00425.00330,E,0.009,,120308,,,A*78
+$GPRMC,094143.00,A,5157.01302,N,00425.00334,E,0.017,,120308,,,A*74
+$GPRMC,094144.00,A,5157.01301,N,00425.00336,E,0.004,,120308,,,A*70
+$GPRMC,094145.00,A,5157.01301,N,00425.00339,E,0.008,,120308,,,A*72
+$GPRMC,094146.00,A,5157.01300,N,00425.00342,E,0.010,,120308,,,A*75
+$GPRMC,094147.00,A,5157.01298,N,00425.00343,E,0.002,,120308,,,A*76
+$GPRMC,094148.00,A,5157.01296,N,00425.00343,E,0.004,,120308,,,A*71
+$GPRMC,094149.00,A,5157.01294,N,00425.00344,E,0.011,,120308,,,A*71
+$GPRMC,094150.00,A,5157.01293,N,00425.00341,E,0.008,,120308,,,A*73
+$GPRMC,094151.00,A,5157.01291,N,00425.00343,E,0.081,50.05,120308,,,A*5D
+$GPRMC,094152.00,A,5157.01288,N,00425.00346,E,0.012,,120308,,,A*77
+$GPRMC,094153.00,A,5157.01288,N,00425.00341,E,0.008,,120308,,,A*7A
+$GPRMC,094154.00,A,5157.01288,N,00425.00337,E,0.015,,120308,,,A*70
+$GPRMC,094155.00,A,5157.01287,N,00425.00333,E,0.007,,120308,,,A*79
+$GPRMC,094156.00,A,5157.01286,N,00425.00331,E,0.105,51.79,120308,,,A*5E
+$GPRMC,094157.00,A,5157.01285,N,00425.00329,E,0.004,,120308,,,A*71
+$GPRMC,094158.00,A,5157.01284,N,00425.00318,E,0.024,51.89,120308,,,A*54
+$GPRMC,094159.00,A,5157.01285,N,00425.00313,E,0.012,,120308,,,A*71
+$GPRMC,094200.00,A,5157.01285,N,00425.00311,E,0.031,55.79,120308,,,A*5D
+$GPRMC,094201.00,A,5157.01284,N,00425.00310,E,0.015,,120308,,,A*7A
+$GPRMC,094202.00,A,5157.01285,N,00425.00312,E,0.053,51.94,120308,,,A*5F
+$GPRMC,094203.00,A,5157.01286,N,00425.00309,E,0.003,,120308,,,A*75
+$GPRMC,094204.00,A,5157.01287,N,00425.00308,E,0.008,,120308,,,A*79
+$GPRMC,094205.00,A,5157.01286,N,00425.00308,E,0.003,,120308,,,A*72
+$GPRMC,094206.00,A,5157.01284,N,00425.00308,E,0.013,,120308,,,A*72
+$GPRMC,094207.00,A,5157.01284,N,00425.00310,E,0.014,,120308,,,A*7D
+$GPRMC,094208.00,A,5157.01285,N,00425.00315,E,0.175,51.91,120308,,,A*52
+$GPRMC,094209.00,A,5157.01292,N,00425.00331,E,0.507,52.09,120308,,,A*50
+$GPRMC,094210.00,A,5157.01299,N,00425.00348,E,0.240,52.22,120308,,,A*50
+$GPRMC,094211.00,A,5157.01305,N,00425.00360,E,0.315,52.06,120308,,,A*58
+$GPRMC,094212.00,A,5157.01311,N,00425.00372,E,0.429,52.56,120308,,,A*50
+$GPRMC,094213.00,A,5157.01313,N,00425.00383,E,0.232,52.75,120308,,,A*50
+$GPRMC,094214.00,A,5157.01317,N,00425.00397,E,0.521,52.94,120308,,,A*5C
+$GPRMC,094215.00,A,5157.01344,N,00425.00461,E,2.777,53.52,120308,,,A*5D
+$GPRMC,094216.00,A,5157.01414,N,00425.00627,E,5.946,54.29,120308,,,A*5C
+$GPRMC,094217.00,A,5157.01551,N,00425.00953,E,11.091,54.94,120308,,,A*61
+$GPRMC,094218.00,A,5157.01769,N,00425.01466,E,15.995,54.72,120308,,,A*6C
+$GPRMC,094219.00,A,5157.02031,N,00425.02072,E,16.168,54.05,120308,,,A*6F
+$GPRMC,094220.00,A,5157.02296,N,00425.02677,E,16.392,54.56,120308,,,A*68
+$GPRMC,094221.00,A,5157.02557,N,00425.03270,E,15.748,54.37,120308,,,A*66
+$GPRMC,094222.00,A,5157.02801,N,00425.03813,E,13.746,54.41,120308,,,A*6D
+$GPRMC,094223.00,A,5157.03021,N,00425.04265,E,12.069,50.45,120308,,,A*60
+$GPRMC,094224.00,A,5157.03227,N,00425.04613,E,10.036,42.78,120308,,,A*63
+$GPRMC,094225.00,A,5157.03474,N,00425.04830,E,9.641,25.84,120308,,,A*51
+$GPRMC,094226.00,A,5157.03712,N,00425.04874,E,9.523,0.87,120308,,,A*62
+$GPRMC,094227.00,A,5157.04027,N,00425.04836,E,10.710,342.73,120308,,,A*57
+$GPRMC,094228.00,A,5157.04298,N,00425.04559,E,11.877,322.87,120308,,,A*58
+$GPRMC,094229.00,A,5157.04517,N,00425.03977,E,15.397,301.27,120308,,,A*54
+$GPRMC,094230.00,A,5157.04741,N,00425.03326,E,16.249,297.83,120308,,,A*52
+$GPRMC,094231.00,A,5157.04846,N,00425.02380,E,20.694,287.46,120308,,,A*5F
+$GPRMC,094232.00,A,5157.05098,N,00425.01409,E,24.630,293.08,120308,,,A*56
+$GPRMC,094233.00,A,5157.05436,N,00425.00358,E,26.065,301.00,120308,,,A*53
+$GPRMC,094234.00,A,5157.05879,N,00424.99330,E,26.767,305.68,120308,,,A*53
+$GPRMC,094235.00,A,5157.06326,N,00424.98321,E,26.719,309.00,120308,,,A*5A
+$GPRMC,094236.00,A,5157.06782,N,00424.97356,E,26.762,310.71,120308,,,A*5E
+$GPRMC,094237.00,A,5157.07276,N,00424.96399,E,27.851,311.75,120308,,,A*59
+$GPRMC,094238.00,A,5157.07814,N,00424.95432,E,29.181,313.42,120308,,,A*51
+$GPRMC,094239.00,A,5157.08393,N,00424.94495,E,29.383,315.79,120308,,,A*59
+$GPRMC,094240.00,A,5157.08991,N,00424.93594,E,29.072,316.75,120308,,,A*5A
+$GPRMC,094241.00,A,5157.09699,N,00424.92744,E,31.412,321.75,120308,,,A*5C
+$GPRMC,094242.00,A,5157.10522,N,00424.91951,E,34.039,327.43,120308,,,A*56
+$GPRMC,094243.00,A,5157.11415,N,00424.91144,E,35.817,329.74,120308,,,A*50
+$GPRMC,094244.00,A,5157.12276,N,00424.90347,E,35.715,329.91,120308,,,A*51
+$GPRMC,094245.00,A,5157.13151,N,00424.89531,E,36.066,330.68,120308,,,A*56
+$GPRMC,094246.00,A,5157.14055,N,00424.88726,E,36.484,331.72,120308,,,A*50
+$GPRMC,094247.00,A,5157.14959,N,00424.87962,E,36.140,333.56,120308,,,A*5C
+$GPRMC,094248.00,A,5157.15861,N,00424.87224,E,35.448,334.35,120308,,,A*5D
+$GPRMC,094249.00,A,5157.16763,N,00424.86522,E,35.543,334.71,120308,,,A*58
+$GPRMC,094250.00,A,5157.17692,N,00424.85845,E,35.698,334.33,120308,,,A*52
+$GPRMC,094251.00,A,5157.18601,N,00424.85119,E,36.288,333.81,120308,,,A*5E
+$GPRMC,094252.00,A,5157.19520,N,00424.84386,E,36.394,333.57,120308,,,A*5E
+$GPRMC,094253.00,A,5157.20474,N,00424.83649,E,37.947,332.97,120308,,,A*5C
+$GPRMC,094254.00,A,5157.21394,N,00424.82848,E,37.517,330.83,120308,,,A*53
+$GPRMC,094255.00,A,5157.22334,N,00424.82002,E,39.114,331.02,120308,,,A*5C
+$GPRMC,094256.00,A,5157.23321,N,00424.81128,E,41.235,331.09,120308,,,A*54
+$GPRMC,094257.00,A,5157.24381,N,00424.80231,E,44.123,331.61,120308,,,A*5D
+$GPRMC,094258.00,A,5157.25528,N,00424.79321,E,46.156,332.94,120308,,,A*59
+$GPRMC,094259.00,A,5157.26819,N,00424.78386,E,50.332,334.19,120308,,,A*5C
+$GPRMC,094300.00,A,5157.28138,N,00424.77372,E,52.689,334.32,120308,,,A*5F
+$GPRMC,094301.00,A,5157.29480,N,00424.76296,E,55.015,334.26,120308,,,A*52
+$GPRMC,094302.00,A,5157.30864,N,00424.75213,E,55.618,334.55,120308,,,A*5E
+$GPRMC,094303.00,A,5157.32269,N,00424.74116,E,56.372,334.46,120308,,,A*55
+$GPRMC,094304.00,A,5157.33686,N,00424.72982,E,57.609,332.98,120308,,,A*58
+$GPRMC,094305.00,A,5157.35136,N,00424.71764,E,59.291,331.84,120308,,,A*53
+$GPRMC,094306.00,A,5157.36646,N,00424.70489,E,61.103,331.69,120308,,,A*52
+$GPRMC,094307.00,A,5157.38230,N,00424.69206,E,63.102,333.05,120308,,,A*5A
+$GPRMC,094308.00,A,5157.39818,N,00424.67918,E,64.203,333.78,120308,,,A*51
+$GPRMC,094309.00,A,5157.41443,N,00424.66646,E,64.236,334.17,120308,,,A*50
+$GPRMC,094310.00,A,5157.43077,N,00424.65386,E,64.331,334.20,120308,,,A*51
+$GPRMC,094311.00,A,5157.44733,N,00424.64121,E,65.141,334.12,120308,,,A*5B
+$GPRMC,094312.00,A,5157.46382,N,00424.62847,E,64.913,334.41,120308,,,A*53
+$GPRMC,094313.00,A,5157.48011,N,00424.61585,E,64.194,334.42,120308,,,A*51
+$GPRMC,094314.00,A,5157.49594,N,00424.60346,E,62.075,334.45,120308,,,A*58
+$GPRMC,094315.00,A,5157.51105,N,00424.59162,E,58.658,334.12,120308,,,A*50
+$GPRMC,094316.00,A,5157.52546,N,00424.57932,E,58.440,331.82,120308,,,A*57
+$GPRMC,094317.00,A,5157.53973,N,00424.56672,E,59.541,332.11,120308,,,A*5F
+$GPRMC,094318.00,A,5157.55457,N,00424.55415,E,59.890,332.54,120308,,,A*5D
+$GPRMC,094319.00,A,5157.57008,N,00424.54172,E,62.135,333.86,120308,,,A*55
+$GPRMC,094320.00,A,5157.58565,N,00424.52923,E,63.255,334.10,120308,,,A*58
+$GPRMC,094321.00,A,5157.60137,N,00424.51664,E,63.110,334.24,120308,,,A*5B
+$GPRMC,094322.00,A,5157.61734,N,00424.50413,E,63.526,334.31,120308,,,A*5A
+$GPRMC,094323.00,A,5157.63332,N,00424.49167,E,63.774,334.88,120308,,,A*52
+$GPRMC,094324.00,A,5157.64951,N,00424.47952,E,63.896,335.52,120308,,,A*58
+$GPRMC,094325.00,A,5157.66534,N,00424.46724,E,62.790,334.68,120308,,,A*5A
+$GPRMC,094326.00,A,5157.68120,N,00424.45500,E,62.672,334.38,120308,,,A*59
+$GPRMC,094327.00,A,5157.69713,N,00424.44250,E,64.027,334.13,120308,,,A*55
+$GPRMC,094328.00,A,5157.71336,N,00424.42975,E,64.989,334.13,120308,,,A*57
+$GPRMC,094329.00,A,5157.72973,N,00424.41685,E,65.536,334.10,120308,,,A*57
+$GPRMC,094330.00,A,5157.74621,N,00424.40393,E,65.718,334.26,120308,,,A*59
+$GPRMC,094331.00,A,5157.76270,N,00424.39103,E,65.804,334.43,120308,,,A*5E
+$GPRMC,094332.00,A,5157.77919,N,00424.37817,E,65.945,334.36,120308,,,A*5C
+$GPRMC,094333.00,A,5157.79572,N,00424.36518,E,66.172,334.21,120308,,,A*58
+$GPRMC,094334.00,A,5157.81224,N,00424.35227,E,65.808,334.46,120308,,,A*52
+$GPRMC,094335.00,A,5157.82863,N,00424.33944,E,64.926,334.41,120308,,,A*5A
+$GPRMC,094336.00,A,5157.84482,N,00424.32673,E,64.080,334.16,120308,,,A*51
+$GPRMC,094337.00,A,5157.86072,N,00424.31424,E,62.983,334.22,120308,,,A*51
+$GPRMC,094338.00,A,5157.87636,N,00424.30209,E,62.053,334.51,120308,,,A*51
+$GPRMC,094339.00,A,5157.89191,N,00424.29010,E,62.182,334.42,120308,,,A*59
+$GPRMC,094340.00,A,5157.90752,N,00424.27799,E,62.695,334.36,120308,,,A*5C
+$GPRMC,094341.00,A,5157.92321,N,00424.26579,E,63.170,334.35,120308,,,A*5C
+$GPRMC,094342.00,A,5157.93903,N,00424.25359,E,63.360,334.81,120308,,,A*5F
+$GPRMC,094343.00,A,5157.95509,N,00424.24153,E,64.336,335.52,120308,,,A*5C
+$GPRMC,094344.00,A,5157.97121,N,00424.22960,E,63.875,335.59,120308,,,A*59
+$GPRMC,094345.00,A,5157.98712,N,00424.21770,E,62.732,334.85,120308,,,A*50
+$GPRMC,094346.00,A,5158.00284,N,00424.20564,E,62.847,334.60,120308,,,A*57
+$GPRMC,094347.00,A,5158.01868,N,00424.19342,E,63.476,334.45,120308,,,A*5F
+$GPRMC,094348.00,A,5158.03448,N,00424.18111,E,62.893,334.27,120308,,,A*5B
+$GPRMC,094349.00,A,5158.05007,N,00424.16896,E,61.803,334.48,120308,,,A*58
+$GPRMC,094350.00,A,5158.06544,N,00424.15712,E,60.772,334.57,120308,,,A*57
+$GPRMC,094351.00,A,5158.08058,N,00424.14545,E,59.828,334.50,120308,,,A*5C
+$GPRMC,094352.00,A,5158.09547,N,00424.13393,E,58.914,334.43,120308,,,A*52
+$GPRMC,094353.00,A,5158.11006,N,00424.12258,E,57.741,334.46,120308,,,A*59
+$GPRMC,094354.00,A,5158.12427,N,00424.11163,E,55.920,334.43,120308,,,A*5C
+$GPRMC,094355.00,A,5158.13810,N,00424.10087,E,54.985,334.32,120308,,,A*56
+$GPRMC,094356.00,A,5158.15179,N,00424.09021,E,54.547,334.29,120308,,,A*59
+$GPRMC,094357.00,A,5158.16536,N,00424.07952,E,54.495,334.00,120308,,,A*52
+$GPRMC,094358.00,A,5158.17901,N,00424.06879,E,55.081,334.28,120308,,,A*57
+$GPRMC,094359.00,A,5158.19275,N,00424.05815,E,55.139,334.63,120308,,,A*54
+$GPRMC,094400.00,A,5158.20679,N,00424.04750,E,55.626,334.45,120308,,,A*5F
+$GPRMC,094401.00,A,5158.22092,N,00424.03665,E,57.293,334.74,120308,,,A*55
+$GPRMC,094402.00,A,5158.23545,N,00424.02570,E,58.048,334.81,120308,,,A*5F
+$GPRMC,094403.00,A,5158.25046,N,00424.01487,E,59.646,336.10,120308,,,A*57
+$GPRMC,094404.00,A,5158.26596,N,00424.00431,E,60.972,338.01,120308,,,A*5B
+$GPRMC,094405.00,A,5158.28188,N,00423.99450,E,62.308,340.01,120308,,,A*55
+$GPRMC,094406.00,A,5158.29842,N,00423.98537,E,63.495,341.54,120308,,,A*5A
+$GPRMC,094407.00,A,5158.31508,N,00423.97656,E,64.366,342.35,120308,,,A*52
+$GPRMC,094408.00,A,5158.33260,N,00423.96888,E,65.634,344.55,120308,,,A*59
+$GPRMC,094409.00,A,5158.35056,N,00423.96155,E,66.973,345.17,120308,,,A*58
+$GPRMC,094410.00,A,5158.36861,N,00423.95392,E,68.082,345.07,120308,,,A*5D
+$GPRMC,094411.00,A,5158.38703,N,00423.94631,E,69.103,345.48,120308,,,A*56
+$GPRMC,094412.00,A,5158.40573,N,00423.93864,E,69.928,345.48,120308,,,A*57
+$GPRMC,094413.00,A,5158.42449,N,00423.93113,E,69.147,345.95,120308,,,A*54
+$GPRMC,094414.00,A,5158.44308,N,00423.92395,E,68.865,346.86,120308,,,A*53
+$GPRMC,094415.00,A,5158.46174,N,00423.91700,E,69.595,346.93,120308,,,A*55
+$GPRMC,094416.00,A,5158.48064,N,00423.90977,E,70.454,346.10,120308,,,A*58
+$GPRMC,094417.00,A,5158.49965,N,00423.90197,E,71.030,345.43,120308,,,A*54
+$GPRMC,094418.00,A,5158.51872,N,00423.89391,E,71.142,345.07,120308,,,A*5D
+$GPRMC,094419.00,A,5158.53773,N,00423.88572,E,71.006,345.09,120308,,,A*55
+$GPRMC,094420.00,A,5158.55661,N,00423.87760,E,70.061,345.13,120308,,,A*5E
+$GPRMC,094421.00,A,5158.57519,N,00423.86965,E,68.773,345.18,120308,,,A*5D
+$GPRMC,094422.00,A,5158.59336,N,00423.86197,E,67.181,345.34,120308,,,A*54
+$GPRMC,094423.00,A,5158.61106,N,00423.85449,E,65.067,345.26,120308,,,A*52
+$GPRMC,094424.00,A,5158.62799,N,00423.84732,E,61.679,345.26,120308,,,A*55
+$GPRMC,094425.00,A,5158.64434,N,00423.84037,E,60.952,345.47,120308,,,A*54
+$GPRMC,094426.00,A,5158.66062,N,00423.83343,E,60.954,345.13,120308,,,A*52
+$GPRMC,094427.00,A,5158.67651,N,00423.82663,E,58.752,345.39,120308,,,A*59
+$GPRMC,094428.00,A,5158.69196,N,00423.82039,E,56.655,346.32,120308,,,A*5D
+$GPRMC,094429.00,A,5158.70669,N,00423.81454,E,53.351,346.26,120308,,,A*5E
+$GPRMC,094430.00,A,5158.72065,N,00423.80920,E,50.712,346.50,120308,,,A*50
+$GPRMC,094431.00,A,5158.73402,N,00423.80404,E,49.255,346.54,120308,,,A*54
+$GPRMC,094432.00,A,5158.74702,N,00423.79887,E,48.142,345.97,120308,,,A*5A
+$GPRMC,094433.00,A,5158.75982,N,00423.79377,E,47.504,345.98,120308,,,A*5E
+$GPRMC,094434.00,A,5158.77237,N,00423.78889,E,46.990,346.37,120308,,,A*53
+$GPRMC,094435.00,A,5158.78496,N,00423.78410,E,47.399,346.95,120308,,,A*56
+$GPRMC,094436.00,A,5158.79777,N,00423.77939,E,48.656,347.33,120308,,,A*55
+$GPRMC,094437.00,A,5158.81062,N,00423.77456,E,48.486,347.16,120308,,,A*5C
+$GPRMC,094438.00,A,5158.82353,N,00423.76943,E,48.420,345.78,120308,,,A*5F
+$GPRMC,094439.00,A,5158.83641,N,00423.76392,E,47.897,345.20,120308,,,A*5D
+$GPRMC,094440.00,A,5158.84910,N,00423.75830,E,47.718,345.19,120308,,,A*5D
+$GPRMC,094441.00,A,5158.86183,N,00423.75295,E,47.814,345.54,120308,,,A*53
+$GPRMC,094442.00,A,5158.87415,N,00423.74765,E,46.579,345.61,120308,,,A*51
+$GPRMC,094443.00,A,5158.88649,N,00423.74270,E,46.092,345.93,120308,,,A*58
+$GPRMC,094444.00,A,5158.89870,N,00423.73788,E,45.705,346.72,120308,,,A*59
+$GPRMC,094445.00,A,5158.91072,N,00423.73326,E,43.846,346.93,120308,,,A*5A
+$GPRMC,094446.00,A,5158.92198,N,00423.72936,E,41.013,349.01,120308,,,A*5B
+$GPRMC,094447.00,A,5158.93269,N,00423.72681,E,36.999,352.63,120308,,,A*50
+$GPRMC,094448.00,A,5158.94251,N,00423.72586,E,34.943,358.63,120308,,,A*58
+$GPRMC,094449.00,A,5158.95136,N,00423.72781,E,32.925,9.38,120308,,,A*50
+$GPRMC,094450.00,A,5158.95981,N,00423.73133,E,31.231,17.82,120308,,,A*61
+$GPRMC,094451.00,A,5158.96725,N,00423.73815,E,30.844,31.54,120308,,,A*68
+$GPRMC,094452.00,A,5158.97392,N,00423.74717,E,31.668,38.05,120308,,,A*64
+$GPRMC,094453.00,A,5158.98126,N,00423.75671,E,31.313,38.96,120308,,,A*64
+$GPRMC,094454.00,A,5158.98793,N,00423.76533,E,29.019,33.85,120308,,,A*64
+$GPRMC,094455.00,A,5158.99475,N,00423.77142,E,29.156,21.79,120308,,,A*66
+$GPRMC,094456.00,A,5159.00243,N,00423.77348,E,27.152,4.05,120308,,,A*59
+$GPRMC,094457.00,A,5159.00975,N,00423.77176,E,28.227,351.16,120308,,,A*56
+$GPRMC,094458.00,A,5159.01705,N,00423.76831,E,28.483,345.41,120308,,,A*55
+$GPRMC,094459.00,A,5159.02417,N,00423.76457,E,27.900,344.46,120308,,,A*54
+$GPRMC,094500.00,A,5159.03127,N,00423.76103,E,27.518,346.16,120308,,,A*58
+$GPRMC,094501.00,A,5159.03855,N,00423.75792,E,26.876,346.27,120308,,,A*5E
+$GPRMC,094502.00,A,5159.04570,N,00423.75503,E,26.470,346.81,120308,,,A*5C
+$GPRMC,094503.00,A,5159.05272,N,00423.75261,E,25.543,346.88,120308,,,A*51
+$GPRMC,094504.00,A,5159.05955,N,00423.74992,E,25.468,346.41,120308,,,A*53
+$GPRMC,094505.00,A,5159.06634,N,00423.74739,E,24.630,346.81,120308,,,A*54
+$GPRMC,094506.00,A,5159.07283,N,00423.74458,E,24.737,346.32,120308,,,A*54
+$GPRMC,094507.00,A,5159.07928,N,00423.74173,E,23.930,345.42,120308,,,A*59
+$GPRMC,094508.00,A,5159.08519,N,00423.73949,E,22.189,344.86,120308,,,A*53
+$GPRMC,094509.00,A,5159.09059,N,00423.73694,E,19.067,344.42,120308,,,A*5C
+$GPRMC,094510.00,A,5159.09519,N,00423.73510,E,15.819,347.95,120308,,,A*5E
+$GPRMC,094511.00,A,5159.09897,N,00423.73384,E,13.765,349.15,120308,,,A*5B
+$GPRMC,094512.00,A,5159.10252,N,00423.73313,E,13.283,350.85,120308,,,A*51
+$GPRMC,094513.00,A,5159.10572,N,00423.73215,E,11.878,348.15,120308,,,A*5E
+$GPRMC,094514.00,A,5159.10899,N,00423.73191,E,11.023,357.79,120308,,,A*5C
+$GPRMC,094515.00,A,5159.11086,N,00423.73234,E,7.420,18.79,120308,,,A*5E
+$GPRMC,094516.00,A,5159.11130,N,00423.73326,E,5.142,35.12,120308,,,A*52
+$GPRMC,094517.00,A,5159.11138,N,00423.73377,E,1.832,35.49,120308,,,A*5B
+$GPRMC,094518.00,A,5159.11134,N,00423.73426,E,0.380,36.13,120308,,,A*54
+$GPRMC,094519.00,A,5159.11111,N,00423.73416,E,0.008,,120308,,,A*7B
+$GPRMC,094520.00,A,5159.11093,N,00423.73399,E,0.039,41.08,120308,,,A*5B
+$GPRMC,094521.00,A,5159.11076,N,00423.73394,E,0.027,44.36,120308,,,A*5B
+$GPRMC,094522.00,A,5159.11049,N,00423.73386,E,0.028,42.83,120308,,,A*50
+$GPRMC,094523.00,A,5159.11030,N,00423.73378,E,0.034,40.81,120308,,,A*53
+$GPRMC,094524.00,A,5159.11003,N,00423.73365,E,0.017,,120308,,,A*7A
+$GPRMC,094525.00,A,5159.10982,N,00423.73350,E,0.021,46.33,120308,,,A*55
+$GPRMC,094526.00,A,5159.10975,N,00423.73337,E,0.011,,120308,,,A*70
+$GPRMC,094527.00,A,5159.10964,N,00423.73329,E,0.022,46.88,120308,,,A*52
+$GPRMC,094528.00,A,5159.10949,N,00423.73320,E,0.049,43.55,120308,,,A*53
+$GPRMC,094529.00,A,5159.10935,N,00423.73312,E,0.160,38.06,120308,,,A*58
+$GPRMC,094530.00,A,5159.10923,N,00423.73309,E,0.050,36.32,120308,,,A*56
+$GPRMC,094531.00,A,5159.10918,N,00423.73309,E,0.014,,120308,,,A*75
+$GPRMC,094532.00,A,5159.10916,N,00423.73311,E,0.017,,120308,,,A*72
+$GPRMC,094533.00,A,5159.10916,N,00423.73311,E,0.024,35.92,120308,,,A*50
+$GPRMC,094534.00,A,5159.10917,N,00423.73313,E,0.023,34.21,120308,,,A*5A
+$GPRMC,094535.00,A,5159.10914,N,00423.73312,E,0.006,,120308,,,A*74
+$GPRMC,094536.00,A,5159.10913,N,00423.73312,E,0.050,32.89,120308,,,A*5D
+$GPRMC,094537.00,A,5159.10908,N,00423.73323,E,0.036,31.90,120308,,,A*5F
+$GPRMC,094538.00,A,5159.10898,N,00423.73337,E,0.010,,120308,,,A*7C
+$GPRMC,094539.00,A,5159.10889,N,00423.73341,E,0.021,28.14,120308,,,A*5F
+$GPRMC,094540.00,A,5159.10882,N,00423.73345,E,0.054,32.77,120308,,,A*52
+$GPRMC,094541.00,A,5159.10872,N,00423.73357,E,0.136,36.41,120308,,,A*5B
+$GPRMC,094542.00,A,5159.10859,N,00423.73367,E,0.041,41.10,120308,,,A*57
+$GPRMC,094543.00,A,5159.10850,N,00423.73373,E,0.016,,120308,,,A*72
+$GPRMC,094544.00,A,5159.10844,N,00423.73378,E,0.031,43.14,120308,,,A*52
+$GPRMC,094545.00,A,5159.10834,N,00423.73383,E,0.023,39.06,120308,,,A*5D
+$GPRMC,094546.00,A,5159.10823,N,00423.73387,E,0.029,42.50,120308,,,A*59
+$GPRMC,094547.00,A,5159.10813,N,00423.73391,E,0.008,,120308,,,A*72
+$GPRMC,094548.00,A,5159.10803,N,00423.73394,E,0.022,47.25,120308,,,A*5B
+$GPRMC,094549.00,A,5159.10794,N,00423.73395,E,0.032,52.17,120308,,,A*5E
+$GPRMC,094550.00,A,5159.10787,N,00423.73397,E,0.013,,120308,,,A*7A
+$GPRMC,094551.00,A,5159.10780,N,00423.73397,E,0.015,,120308,,,A*7A
+$GPRMC,094552.00,A,5159.10773,N,00423.73397,E,0.004,,120308,,,A*75
+$GPRMC,094553.00,A,5159.10764,N,00423.73399,E,0.015,,120308,,,A*7C
+$GPRMC,094554.00,A,5159.10758,N,00423.73399,E,0.024,49.68,120308,,,A*5B
+$GPRMC,094555.00,A,5159.10752,N,00423.73401,E,0.019,47.83,120308,,,A*53
+$GPRMC,094556.00,A,5159.10743,N,00423.73404,E,0.005,,120308,,,A*7E
+$GPRMC,094557.00,A,5159.10733,N,00423.73409,E,0.030,51.87,120308,,,A*56
+$GPRMC,094558.00,A,5159.10726,N,00423.73412,E,0.021,50.16,120308,,,A*5E
+$GPRMC,094559.00,A,5159.10718,N,00423.73415,E,0.106,53.99,120308,,,A*55
+$GPRMC,094600.00,A,5159.10711,N,00423.73418,E,0.015,,120308,,,A*75
+$GPRMC,094601.00,A,5159.10705,N,00423.73421,E,0.020,51.94,120308,,,A*5A
+$GPRMC,094602.00,A,5159.10699,N,00423.73427,E,0.004,,120308,,,A*7A
+$GPRMC,094603.00,A,5159.10692,N,00423.73432,E,0.007,,120308,,,A*77
+$GPRMC,094604.00,A,5159.10687,N,00423.73436,E,0.018,,120308,,,A*7E
+$GPRMC,094605.00,A,5159.10680,N,00423.73441,E,0.018,,120308,,,A*78
+$GPRMC,094606.00,A,5159.10673,N,00423.73446,E,0.007,,120308,,,A*7E
+$GPRMC,094607.00,A,5159.10665,N,00423.73450,E,0.028,56.19,120308,,,A*57
+$GPRMC,094608.00,A,5159.10658,N,00423.73454,E,0.014,,120308,,,A*78
+$GPRMC,094609.00,A,5159.10652,N,00423.73459,E,0.014,,120308,,,A*7E
+$GPRMC,094610.00,A,5159.10645,N,00423.73462,E,0.012,,120308,,,A*7E
+$GPRMC,094611.00,A,5159.10641,N,00423.73467,E,0.020,53.96,120308,,,A*58
+$GPRMC,094612.00,A,5159.10638,N,00423.73471,E,0.038,51.80,120308,,,A*5E
+$GPRMC,094613.00,A,5159.10635,N,00423.73476,E,0.027,50.51,120308,,,A*56
+$GPRMC,094614.00,A,5159.10631,N,00423.73481,E,0.018,,120308,,,A*7E
+$GPRMC,094615.00,A,5159.10627,N,00423.73487,E,0.014,,120308,,,A*72
+$GPRMC,094616.00,A,5159.10627,N,00423.73493,E,0.001,,120308,,,A*70
+$GPRMC,094617.00,A,5159.10626,N,00423.73498,E,0.010,,120308,,,A*7B
+$GPRMC,094618.00,A,5159.10627,N,00423.73504,E,0.009,,120308,,,A*79
+$GPRMC,094619.00,A,5159.10628,N,00423.73511,E,0.010,,120308,,,A*7B
+$GPRMC,094620.00,A,5159.10630,N,00423.73518,E,0.039,54.23,120308,,,A*54
+$GPRMC,094621.00,A,5159.10631,N,00423.73524,E,0.046,57.72,120308,,,A*54
+$GPRMC,094622.00,A,5159.10632,N,00423.73530,E,0.023,55.26,120308,,,A*51
+$GPRMC,094623.00,A,5159.10635,N,00423.73535,E,0.017,,120308,,,A*7F
+$GPRMC,094624.00,A,5159.10638,N,00423.73543,E,0.011,,120308,,,A*72
+$GPRMC,094625.00,A,5159.10641,N,00423.73550,E,0.029,53.56,120308,,,A*5F
+$GPRMC,094626.00,A,5159.10647,N,00423.73555,E,0.006,,120308,,,A*79
+$GPRMC,094627.00,A,5159.10652,N,00423.73561,E,0.027,56.96,120308,,,A*5A
+$GPRMC,094628.00,A,5159.10654,N,00423.73568,E,0.010,,120308,,,A*7C
+$GPRMC,094629.00,A,5159.10658,N,00423.73574,E,0.037,54.10,120308,,,A*57
+$GPRMC,094630.00,A,5159.10661,N,00423.73581,E,0.003,,120308,,,A*76
+$GPRMC,094631.00,A,5159.10667,N,00423.73587,E,0.017,,120308,,,A*72
+$GPRMC,094632.00,A,5159.10672,N,00423.73592,E,0.019,,120308,,,A*7F
+$GPRMC,094633.00,A,5159.10675,N,00423.73599,E,0.011,,120308,,,A*7A
+$GPRMC,094634.00,A,5159.10677,N,00423.73605,E,0.009,,120308,,,A*70
+$GPRMC,094635.00,A,5159.10677,N,00423.73609,E,0.038,57.68,120308,,,A*5D
+$GPRMC,094636.00,A,5159.10676,N,00423.73614,E,0.020,54.98,120308,,,A*56
+$GPRMC,094637.00,A,5159.10675,N,00423.73619,E,0.013,,120308,,,A*77
+$GPRMC,094638.00,A,5159.10675,N,00423.73623,E,0.010,,120308,,,A*72
+$GPRMC,094639.00,A,5159.10675,N,00423.73624,E,0.013,,120308,,,A*77
+$GPRMC,094640.00,A,5159.10674,N,00423.73625,E,0.028,58.27,120308,,,A*57
+$GPRMC,094641.00,A,5159.10672,N,00423.73626,E,0.127,61.81,120308,,,A*5B
+$GPRMC,094642.00,A,5159.10669,N,00423.73625,E,0.065,59.43,120308,,,A*53
+$GPRMC,094643.00,A,5159.10670,N,00423.73623,E,0.007,,120308,,,A*7D
+$GPRMC,094644.00,A,5159.10669,N,00423.73621,E,0.037,62.47,120308,,,A*5A
+$GPRMC,094645.00,A,5159.10667,N,00423.73619,E,0.018,,120308,,,A*7A
+$GPRMC,094646.00,A,5159.10667,N,00423.73619,E,0.008,,120308,,,A*78
+$GPRMC,094647.00,A,5159.10668,N,00423.73617,E,0.032,66.47,120308,,,A*5C
+$GPRMC,094648.00,A,5159.10667,N,00423.73613,E,0.024,64.66,120308,,,A*5E
+$GPRMC,094649.00,A,5159.10665,N,00423.73614,E,0.005,,120308,,,A*75
+$GPRMC,094650.00,A,5159.10664,N,00423.73613,E,0.033,62.14,120308,,,A*51
+$GPRMC,094651.00,A,5159.10664,N,00423.73610,E,0.007,,120308,,,A*7B
+$GPRMC,094652.00,A,5159.10665,N,00423.73607,E,0.004,,120308,,,A*7C
+$GPRMC,094653.00,A,5159.10664,N,00423.73604,E,0.030,60.23,120308,,,A*51
+$GPRMC,094654.00,A,5159.10666,N,00423.73600,E,0.009,,120308,,,A*73
+$GPRMC,094655.00,A,5159.10675,N,00423.73594,E,0.020,65.39,120308,,,A*52
+$GPRMC,094656.00,A,5159.10682,N,00423.73588,E,0.016,,120308,,,A*76
+$GPRMC,094657.00,A,5159.10688,N,00423.73583,E,0.003,,120308,,,A*72
+$GPRMC,094658.00,A,5159.10694,N,00423.73576,E,0.009,,120308,,,A*70
+$GPRMC,094659.00,A,5159.10714,N,00423.73570,E,0.102,68.70,120308,,,A*53
+$GPRMC,094700.00,A,5159.10714,N,00423.73566,E,0.009,,120308,,,A*74
+$GPRMC,094701.00,A,5159.10715,N,00423.73565,E,0.008,,120308,,,A*76
+$GPRMC,094702.00,A,5159.10717,N,00423.73562,E,0.014,,120308,,,A*7D
+$GPRMC,094703.00,A,5159.10717,N,00423.73560,E,0.006,,120308,,,A*7D
+$GPRMC,094704.00,A,5159.10717,N,00423.73559,E,0.010,,120308,,,A*77
+$GPRMC,094705.00,A,5159.10719,N,00423.73557,E,0.010,,120308,,,A*76
+$GPRMC,094706.00,A,5159.10723,N,00423.73556,E,0.016,,120308,,,A*7B
+$GPRMC,094707.00,A,5159.10725,N,00423.73556,E,0.024,70.70,120308,,,A*53
+$GPRMC,094708.00,A,5159.10728,N,00423.73556,E,0.011,,120308,,,A*79
+$GPRMC,094709.00,A,5159.10731,N,00423.73557,E,0.020,73.59,120308,,,A*55
+$GPRMC,094710.00,A,5159.10733,N,00423.73557,E,0.015,,120308,,,A*7F
+$GPRMC,094711.00,A,5159.10737,N,00423.73556,E,0.011,,120308,,,A*7F
+$GPRMC,094712.00,A,5159.10741,N,00423.73553,E,0.011,,120308,,,A*78
+$GPRMC,094713.00,A,5159.10743,N,00423.73550,E,0.006,,120308,,,A*7E
+$GPRMC,094714.00,A,5159.10744,N,00423.73547,E,0.005,,120308,,,A*7B
+$GPRMC,094715.00,A,5159.10747,N,00423.73544,E,0.016,,120308,,,A*78
+$GPRMC,094716.00,A,5159.10749,N,00423.73543,E,0.003,,120308,,,A*76
+$GPRMC,094717.00,A,5159.10751,N,00423.73541,E,0.027,76.84,120308,,,A*59
+$GPRMC,094718.00,A,5159.10752,N,00423.73540,E,0.013,,120308,,,A*70
+$GPRMC,094719.00,A,5159.10753,N,00423.73539,E,0.010,,120308,,,A*7D
+$GPRMC,094720.00,A,5159.10755,N,00423.73538,E,0.004,,120308,,,A*75
+$GPRMC,094721.00,A,5159.10755,N,00423.73537,E,0.010,,120308,,,A*7E
+$GPRMC,094722.00,A,5159.10756,N,00423.73535,E,0.020,72.86,120308,,,A*5A
+$GPRMC,094723.00,A,5159.10757,N,00423.73534,E,0.018,,120308,,,A*75
+$GPRMC,094724.00,A,5159.10757,N,00423.73534,E,0.005,,120308,,,A*7E
+$GPRMC,094725.00,A,5159.10758,N,00423.73534,E,0.010,,120308,,,A*74
+$GPRMC,094726.00,A,5159.10760,N,00423.73536,E,0.029,70.09,120308,,,A*54
+$GPRMC,094727.00,A,5159.10762,N,00423.73537,E,0.006,,120308,,,A*7B
+$GPRMC,094728.00,A,5159.10765,N,00423.73539,E,0.003,,120308,,,A*78
+$GPRMC,094729.00,A,5159.10766,N,00423.73538,E,0.012,,120308,,,A*7B
+$GPRMC,094730.00,A,5159.10766,N,00423.73538,E,0.008,,120308,,,A*78
+$GPRMC,094731.00,A,5159.10766,N,00423.73540,E,0.018,,120308,,,A*77
+$GPRMC,094732.00,A,5159.10769,N,00423.73543,E,0.044,68.68,120308,,,A*5F
+$GPRMC,094733.00,A,5159.10770,N,00423.73545,E,0.046,72.85,120308,,,A*5A
+$GPRMC,094734.00,A,5159.10768,N,00423.73546,E,0.023,70.20,120308,,,A*59
+$GPRMC,094735.00,A,5159.10768,N,00423.73545,E,0.012,,120308,,,A*72
+$GPRMC,094736.00,A,5159.10769,N,00423.73544,E,0.031,67.58,120308,,,A*52
+$GPRMC,094737.00,A,5159.10771,N,00423.73542,E,0.014,,120308,,,A*79
+$GPRMC,094738.00,A,5159.10772,N,00423.73540,E,0.011,,120308,,,A*72
+$GPRMC,094739.00,A,5159.10780,N,00423.73538,E,0.024,66.82,120308,,,A*53
+$GPRMC,094740.00,A,5159.10787,N,00423.73534,E,0.014,,120308,,,A*71
+$GPRMC,094741.00,A,5159.10795,N,00423.73527,E,0.065,64.88,120308,,,A*5B
+$GPRMC,094742.00,A,5159.10800,N,00423.73521,E,0.012,,120308,,,A*71
+$GPRMC,094743.00,A,5159.10806,N,00423.73513,E,0.030,66.23,120308,,,A*58
+$GPRMC,094744.00,A,5159.10811,N,00423.73504,E,0.009,,120308,,,A*7A
+$GPRMC,094745.00,A,5159.10815,N,00423.73492,E,0.027,69.75,120308,,,A*5E
+$GPRMC,094746.00,A,5159.10826,N,00423.73481,E,0.029,64.14,120308,,,A*5B
+$GPRMC,094747.00,A,5159.10839,N,00423.73471,E,0.019,,120308,,,A*71
+$GPRMC,094748.00,A,5159.10849,N,00423.73463,E,0.016,,120308,,,A*75
+$GPRMC,094749.00,A,5159.10857,N,00423.73459,E,0.018,,120308,,,A*7C
+$GPRMC,094750.00,A,5159.10866,N,00423.73455,E,0.038,61.05,120308,,,A*54
+$GPRMC,094751.00,A,5159.10865,N,00423.73453,E,0.012,,120308,,,A*74
+$GPRMC,094752.00,A,5159.10869,N,00423.73449,E,0.015,,120308,,,A*77
+$GPRMC,094753.00,A,5159.10868,N,00423.73444,E,0.006,,120308,,,A*78
+$GPRMC,094754.00,A,5159.10871,N,00423.73436,E,0.019,,120308,,,A*7C
+$GPRMC,094755.00,A,5159.10874,N,00423.73429,E,0.015,,120308,,,A*7A
+$GPRMC,094756.00,A,5159.10879,N,00423.73422,E,0.008,,120308,,,A*73
+$GPRMC,094757.00,A,5159.10882,N,00423.73421,E,0.013,,120308,,,A*7F
+$GPRMC,094758.00,A,5159.10884,N,00423.73418,E,0.022,59.41,120308,,,A*59
+$GPRMC,094759.00,A,5159.10886,N,00423.73413,E,0.092,61.81,120308,,,A*5D
+$GPRMC,094800.00,A,5159.10887,N,00423.73411,E,0.057,60.72,120308,,,A*59
+$GPRMC,094801.00,A,5159.10890,N,00423.73409,E,0.008,,120308,,,A*70
+$GPRMC,094802.00,A,5159.10892,N,00423.73405,E,0.009,,120308,,,A*7C
+$GPRMC,094803.00,A,5159.10896,N,00423.73396,E,0.070,59.05,120308,,,A*5D
+$GPRMC,094804.00,A,5159.10898,N,00423.73388,E,0.031,57.15,120308,,,A*51
+$GPRMC,094805.00,A,5159.10898,N,00423.73381,E,0.044,60.67,120308,,,A*5A
+$GPRMC,094806.00,A,5159.10897,N,00423.73376,E,0.022,64.76,120308,,,A*5A
+$GPRMC,094807.00,A,5159.10896,N,00423.73371,E,0.031,63.22,120308,,,A*59
+$GPRMC,094808.00,A,5159.10894,N,00423.73363,E,0.005,,120308,,,A*7B
+$GPRMC,094809.00,A,5159.10893,N,00423.73362,E,0.025,62.68,120308,,,A*5A
+$GPRMC,094810.00,A,5159.10894,N,00423.73360,E,0.018,,120308,,,A*7D
+$GPRMC,094811.00,A,5159.10896,N,00423.73360,E,0.046,61.14,120308,,,A*59
+$GPRMC,094812.00,A,5159.10895,N,00423.73358,E,0.036,65.55,120308,,,A*54
+$GPRMC,094813.00,A,5159.10893,N,00423.73357,E,0.020,67.63,120308,,,A*5C
+$GPRMC,094814.00,A,5159.10891,N,00423.73357,E,0.023,72.69,120308,,,A*54
+$GPRMC,094815.00,A,5159.10891,N,00423.73355,E,0.037,70.94,120308,,,A*52
+$GPRMC,094816.00,A,5159.10884,N,00423.73358,E,0.055,68.62,120308,,,A*5C
+$GPRMC,094817.00,A,5159.10888,N,00423.73360,E,0.080,65.57,120308,,,A*59
+$GPRMC,094818.00,A,5159.10889,N,00423.73361,E,0.004,,120308,,,A*75
+$GPRMC,094819.00,A,5159.10884,N,00423.73363,E,0.016,,120308,,,A*78
+$GPRMC,094820.00,A,5159.10883,N,00423.73365,E,0.014,,120308,,,A*71
+$GPRMC,094821.00,A,5159.10886,N,00423.73367,E,0.022,62.19,120308,,,A*50
+$GPRMC,094822.00,A,5159.10888,N,00423.73368,E,0.032,65.51,120308,,,A*58
+$GPRMC,094823.00,A,5159.10890,N,00423.73371,E,0.110,66.35,120308,,,A*58
+$GPRMC,094824.00,A,5159.10893,N,00423.73373,E,0.022,63.41,120308,,,A*58
+$GPRMC,094825.00,A,5159.10895,N,00423.73374,E,0.005,,120308,,,A*73
+$GPRMC,094826.00,A,5159.10894,N,00423.73374,E,0.022,67.20,120308,,,A*59
+$GPRMC,094827.00,A,5159.10892,N,00423.73378,E,0.023,65.20,120308,,,A*51
+$GPRMC,094828.00,A,5159.10894,N,00423.73383,E,0.047,62.94,120308,,,A*56
+$GPRMC,094829.00,A,5159.10896,N,00423.73385,E,0.119,66.10,120308,,,A*51
+$GPRMC,094830.00,A,5159.10894,N,00423.73386,E,0.028,64.32,120308,,,A*59
+$GPRMC,094831.00,A,5159.10894,N,00423.73385,E,0.038,61.14,120308,,,A*5B
+$GPRMC,094832.00,A,5159.10893,N,00423.73385,E,0.013,,120308,,,A*7A
+$GPRMC,094833.00,A,5159.10894,N,00423.73384,E,0.015,,120308,,,A*7B
+$GPRMC,094834.00,A,5159.10893,N,00423.73383,E,0.021,55.90,120308,,,A*5C
+$GPRMC,094835.00,A,5159.10892,N,00423.73384,E,0.022,55.57,120308,,,A*53
+$GPRMC,094836.00,A,5159.10892,N,00423.73384,E,0.017,,120308,,,A*7A
+$GPRMC,094837.00,A,5159.10893,N,00423.73379,E,0.002,,120308,,,A*7C
+$GPRMC,094838.00,A,5159.10893,N,00423.73373,E,0.016,,120308,,,A*7C
+$GPRMC,094839.00,A,5159.10892,N,00423.73373,E,0.016,,120308,,,A*7C
+$GPRMC,094840.00,A,5159.10891,N,00423.73371,E,0.033,52.94,120308,,,A*50
+$GPRMC,094841.00,A,5159.10885,N,00423.73370,E,0.023,57.15,120308,,,A*58
+$GPRMC,094842.00,A,5159.10879,N,00423.73368,E,0.018,,120308,,,A*71
+$GPRMC,094843.00,A,5159.10875,N,00423.73366,E,0.017,,120308,,,A*7D
+$GPRMC,094844.00,A,5159.10869,N,00423.73364,E,0.023,60.74,120308,,,A*59
+$GPRMC,094845.00,A,5159.10869,N,00423.73358,E,0.014,,120308,,,A*78
+$GPRMC,094846.00,A,5159.10867,N,00423.73353,E,0.015,,120308,,,A*7F
+$GPRMC,094847.00,A,5159.10866,N,00423.73347,E,0.069,59.78,120308,,,A*5C
+$GPRMC,094848.00,A,5159.10865,N,00423.73343,E,0.047,62.86,120308,,,A*51
+$GPRMC,094849.00,A,5159.10857,N,00423.73340,E,0.026,60.81,120308,,,A*50
+$GPRMC,094850.00,A,5159.10852,N,00423.73335,E,0.022,56.10,120308,,,A*56
+$GPRMC,094851.00,A,5159.10845,N,00423.73332,E,0.009,,120308,,,A*73
+$GPRMC,094852.00,A,5159.10837,N,00423.73329,E,0.007,,120308,,,A*71
+$GPRMC,094853.00,A,5159.10831,N,00423.73328,E,0.010,,120308,,,A*71
+$GPRMC,094854.00,A,5159.10826,N,00423.73326,E,0.064,59.81,120308,,,A*56
+$GPRMC,094855.00,A,5159.10815,N,00423.73329,E,0.016,,120308,,,A*76
+$GPRMC,094856.00,A,5159.10812,N,00423.73328,E,0.022,56.69,120308,,,A*56
+$GPRMC,094857.00,A,5159.10814,N,00423.73322,E,0.008,,120308,,,A*71
+$GPRMC,094858.00,A,5159.10814,N,00423.73318,E,0.025,60.19,120308,,,A*58
+$GPRMC,094859.00,A,5159.10814,N,00423.73314,E,0.009,,120308,,,A*7B
+$GPRMC,094900.00,A,5159.10810,N,00423.73311,E,0.006,,120308,,,A*78
+$GPRMC,094901.00,A,5159.10809,N,00423.73307,E,0.010,,120308,,,A*71
+$GPRMC,094902.00,A,5159.10811,N,00423.73301,E,0.003,,120308,,,A*7F
+$GPRMC,094903.00,A,5159.10814,N,00423.73295,E,0.017,,120308,,,A*72
+$GPRMC,094904.00,A,5159.10817,N,00423.73289,E,0.013,,120308,,,A*7F
+$GPRMC,094905.00,A,5159.10819,N,00423.73284,E,0.017,,120308,,,A*79
+$GPRMC,094906.00,A,5159.10822,N,00423.73279,E,0.020,58.14,120308,,,A*52
+$GPRMC,094907.00,A,5159.10826,N,00423.73276,E,0.016,,120308,,,A*7B
+$GPRMC,094908.00,A,5159.10828,N,00423.73263,E,0.010,,120308,,,A*78
+$GPRMC,094909.00,A,5159.10830,N,00423.73254,E,0.008,,120308,,,A*7D
+$GPRMC,094910.00,A,5159.10832,N,00423.73245,E,0.008,,120308,,,A*77
+$GPRMC,094911.00,A,5159.10835,N,00423.73239,E,0.016,,120308,,,A*75
+$GPRMC,094912.00,A,5159.10839,N,00423.73234,E,0.018,,120308,,,A*79
+$GPRMC,094913.00,A,5159.10838,N,00423.73238,E,0.025,57.86,120308,,,A*59
+$GPRMC,094914.00,A,5159.10840,N,00423.73244,E,0.008,,120308,,,A*77
+$GPRMC,094915.00,A,5159.10840,N,00423.73249,E,0.008,,120308,,,A*7B
+$GPRMC,094916.00,A,5159.10842,N,00423.73254,E,0.018,,120308,,,A*77
+$GPRMC,094917.00,A,5159.10844,N,00423.73260,E,0.009,,120308,,,A*77
+$GPRMC,094918.00,A,5159.10842,N,00423.73266,E,0.012,,120308,,,A*72
+$GPRMC,094919.00,A,5159.10841,N,00423.73273,E,0.006,,120308,,,A*71
+$GPRMC,094920.00,A,5159.10841,N,00423.73277,E,0.013,,120308,,,A*7B
+$GPRMC,094921.00,A,5159.10840,N,00423.73282,E,0.016,,120308,,,A*74
+$GPRMC,094922.00,A,5159.10841,N,00423.73286,E,0.014,,120308,,,A*70
+$GPRMC,094923.00,A,5159.10843,N,00423.73290,E,0.012,,120308,,,A*72
+$GPRMC,094924.00,A,5159.10845,N,00423.73294,E,0.001,,120308,,,A*75
+$GPRMC,094925.00,A,5159.10846,N,00423.73299,E,0.012,,120308,,,A*78
+$GPRMC,094926.00,A,5159.10849,N,00423.73301,E,0.014,,120308,,,A*72
+$GPRMC,094927.00,A,5159.10853,N,00423.73308,E,0.008,,120308,,,A*7C
+$GPRMC,094928.00,A,5159.10857,N,00423.73316,E,0.011,,120308,,,A*70
+$GPRMC,094929.00,A,5159.10859,N,00423.73323,E,0.014,,120308,,,A*7C
+$GPRMC,094930.00,A,5159.10862,N,00423.73329,E,0.015,,120308,,,A*77
+$GPRMC,094931.00,A,5159.10866,N,00423.73332,E,0.002,,120308,,,A*7E
+$GPRMC,094932.00,A,5159.10868,N,00423.73335,E,0.010,,120308,,,A*77
+$GPRMC,094933.00,A,5159.10871,N,00423.73336,E,0.020,56.11,120308,,,A*53
+$GPRMC,094934.00,A,5159.10873,N,00423.73336,E,0.008,,120308,,,A*71
+$GPRMC,094935.00,A,5159.10874,N,00423.73334,E,0.004,,120308,,,A*79
+$GPRMC,094936.00,A,5159.10875,N,00423.73331,E,0.009,,120308,,,A*73
+$GPRMC,094937.00,A,5159.10877,N,00423.73327,E,0.018,,120308,,,A*77
+$GPRMC,094938.00,A,5159.10878,N,00423.73323,E,0.018,,120308,,,A*73
+$GPRMC,094939.00,A,5159.10879,N,00423.73316,E,0.016,,120308,,,A*7B
+$GPRMC,094940.00,A,5159.10879,N,00423.73310,E,0.014,,120308,,,A*71
+$GPRMC,094941.00,A,5159.10877,N,00423.73304,E,0.001,,120308,,,A*7F
+$GPRMC,094942.00,A,5159.10876,N,00423.73298,E,0.004,,120308,,,A*7C
+$GPRMC,094943.00,A,5159.10875,N,00423.73294,E,0.007,,120308,,,A*71
+$GPRMC,094944.00,A,5159.10873,N,00423.73292,E,0.031,56.30,120308,,,A*5D
+$GPRMC,094945.00,A,5159.10872,N,00423.73292,E,0.015,,120308,,,A*75
+$GPRMC,094946.00,A,5159.10870,N,00423.73293,E,0.008,,120308,,,A*79
+$GPRMC,094947.00,A,5159.10867,N,00423.73295,E,0.008,,120308,,,A*78
+$GPRMC,094948.00,A,5159.10866,N,00423.73299,E,0.003,,120308,,,A*71
+$GPRMC,094949.00,A,5159.10864,N,00423.73301,E,0.003,,120308,,,A*72
+$GPRMC,094950.00,A,5159.10864,N,00423.73303,E,0.008,,120308,,,A*73
+$GPRMC,094951.00,A,5159.10864,N,00423.73304,E,0.013,,120308,,,A*7F
+$GPRMC,094952.00,A,5159.10864,N,00423.73303,E,0.016,,120308,,,A*7E
+$GPRMC,094953.00,A,5159.10864,N,00423.73302,E,0.003,,120308,,,A*7A
+$GPRMC,094954.00,A,5159.10864,N,00423.73302,E,0.002,,120308,,,A*7C
+$GPRMC,094955.00,A,5159.10863,N,00423.73300,E,0.006,,120308,,,A*7C
+$GPRMC,094956.00,A,5159.10863,N,00423.73297,E,0.004,,120308,,,A*72
+$GPRMC,094957.00,A,5159.10862,N,00423.73294,E,0.003,,120308,,,A*76
+$GPRMC,094958.00,A,5159.10861,N,00423.73289,E,0.015,,120308,,,A*71
+$GPRMC,094959.00,A,5159.10860,N,00423.73283,E,0.006,,120308,,,A*79
+$GPRMC,095000.00,A,5159.10860,N,00423.73279,E,0.021,57.49,120308,,,A*5C
+$GPRMC,095001.00,A,5159.10862,N,00423.73275,E,0.003,,120308,,,A*72
+$GPRMC,095002.00,A,5159.10864,N,00423.73271,E,0.004,,120308,,,A*74
+$GPRMC,095003.00,A,5159.10867,N,00423.73268,E,0.011,,120308,,,A*7A
+$GPRMC,095004.00,A,5159.10869,N,00423.73265,E,0.013,,120308,,,A*7C
+$GPRMC,095005.00,A,5159.10873,N,00423.73263,E,0.009,,120308,,,A*7B
+$GPRMC,095006.00,A,5159.10877,N,00423.73259,E,0.009,,120308,,,A*75
+$GPRMC,095007.00,A,5159.10880,N,00423.73255,E,0.011,,120308,,,A*79
+$GPRMC,095008.00,A,5159.10884,N,00423.73252,E,0.015,,120308,,,A*71
+$GPRMC,095009.00,A,5159.10887,N,00423.73249,E,0.005,,120308,,,A*78
+$GPRMC,095010.00,A,5159.10890,N,00423.73247,E,0.011,,120308,,,A*7D
+$GPRMC,095011.00,A,5159.10892,N,00423.73243,E,0.025,59.93,120308,,,A*55
+$GPRMC,095012.00,A,5159.10892,N,00423.73240,E,0.006,,120308,,,A*7C
+$GPRMC,095013.00,A,5159.10892,N,00423.73241,E,0.042,55.34,120308,,,A*55
+$GPRMC,095014.00,A,5159.10893,N,00423.73241,E,0.002,,120308,,,A*7E
+$GPRMC,095015.00,A,5159.10892,N,00423.73244,E,0.030,60.35,120308,,,A*54
+$GPRMC,095016.00,A,5159.10887,N,00423.73248,E,0.013,,120308,,,A*70
+$GPRMC,095017.00,A,5159.10884,N,00423.73251,E,0.014,,120308,,,A*7D
+$GPRMC,095018.00,A,5159.10881,N,00423.73252,E,0.017,,120308,,,A*77
+$GPRMC,095019.00,A,5159.10879,N,00423.73246,E,0.022,60.03,120308,,,A*59
+$GPRMC,095020.00,A,5159.10878,N,00423.73237,E,0.034,55.96,120308,,,A*59
+$GPRMC,095021.00,A,5159.10878,N,00423.73235,E,0.036,58.60,120308,,,A*5C
+$GPRMC,095022.00,A,5159.10877,N,00423.73234,E,0.006,,120308,,,A*77
+$GPRMC,095023.00,A,5159.10875,N,00423.73231,E,0.107,61.42,120308,,,A*5E
+$GPRMC,095024.00,A,5159.10873,N,00423.73224,E,0.040,58.69,120308,,,A*5A
+$GPRMC,095025.00,A,5159.10872,N,00423.73216,E,0.033,53.07,120308,,,A*5C
+$GPRMC,095026.00,A,5159.10873,N,00423.73211,E,0.142,54.64,120308,,,A*5C
+$GPRMC,095027.00,A,5159.10872,N,00423.73207,E,0.011,,120308,,,A*71
+$GPRMC,095028.00,A,5159.10872,N,00423.73202,E,0.006,,120308,,,A*7D
+$GPRMC,095029.00,A,5159.10872,N,00423.73199,E,0.020,53.90,120308,,,A*58
+$GPRMC,095030.00,A,5159.10870,N,00423.73197,E,0.007,,120308,,,A*78
+$GPRMC,095031.00,A,5159.10869,N,00423.73196,E,0.030,58.59,120308,,,A*5B
+$GPRMC,095032.00,A,5159.10864,N,00423.73191,E,0.291,69.18,120308,,,A*5C
+$GPRMC,095033.00,A,5159.10842,N,00423.73161,E,1.829,78.92,120308,,,A*5C
+$GPRMC,095034.00,A,5159.10800,N,00423.73094,E,2.356,226.30,120308,,,A*67
+$GPRMC,095035.00,A,5159.10741,N,00423.72993,E,3.519,229.37,120308,,,A*67
+$GPRMC,095036.00,A,5159.10684,N,00423.72911,E,2.609,221.00,120308,,,A*69
+$GPRMC,095037.00,A,5159.10644,N,00423.72894,E,0.997,219.50,120308,,,A*6C
+$GPRMC,095038.00,A,5159.10655,N,00423.72886,E,1.122,228.41,120308,,,A*65
+$GPRMC,095039.00,A,5159.10760,N,00423.72847,E,5.373,346.57,120308,,,A*62
+$GPRMC,095040.00,A,5159.10964,N,00423.72752,E,8.771,338.50,120308,,,A*68
+$GPRMC,095041.00,A,5159.11257,N,00423.72643,E,11.236,344.03,120308,,,A*51
+$GPRMC,095042.00,A,5159.11587,N,00423.72535,E,11.999,346.55,120308,,,A*55
+$GPRMC,095043.00,A,5159.11954,N,00423.72379,E,14.260,342.20,120308,,,A*56
+$GPRMC,095044.00,A,5159.12339,N,00423.72172,E,14.078,342.58,120308,,,A*5E
+$GPRMC,095045.00,A,5159.12563,N,00423.72019,E,6.652,339.18,120308,,,A*6F
+$GPRMC,095046.00,A,5159.12640,N,00423.71927,E,1.807,339.54,120308,,,A*68
+$GPRMC,095047.00,A,5159.12658,N,00423.71885,E,0.316,344.78,120308,,,A*67
+$GPRMC,095048.00,A,5159.12637,N,00423.71861,E,0.888,355.07,120308,,,A*6F
+$GPRMC,095049.00,A,5159.12595,N,00423.71842,E,1.206,5.05,120308,,,A*6D
+$GPRMC,095050.00,A,5159.12547,N,00423.71813,E,0.807,14.59,120308,,,A*5D
+$GPRMC,095051.00,A,5159.12515,N,00423.71771,E,0.301,23.64,120308,,,A*57
+$GPRMC,095052.00,A,5159.12504,N,00423.71741,E,0.031,24.76,120308,,,A*53
+$GPRMC,095053.00,A,5159.12490,N,00423.71702,E,0.529,26.72,120308,,,A*53
+$GPRMC,095054.00,A,5159.12480,N,00423.71678,E,0.139,22.03,120308,,,A*5E
+$GPRMC,095055.00,A,5159.12473,N,00423.71659,E,0.022,18.49,120308,,,A*5C
+$GPRMC,095056.00,A,5159.12463,N,00423.71635,E,0.053,20.10,120308,,,A*55
+$GPRMC,095057.00,A,5159.12454,N,00423.71613,E,0.070,15.46,120308,,,A*50
+$GPRMC,095058.00,A,5159.12448,N,00423.71602,E,0.045,11.76,120308,,,A*53
+$GPRMC,095059.00,A,5159.12447,N,00423.71610,E,0.632,14.94,120308,,,A*51
+$GPRMC,095100.00,A,5159.12446,N,00423.71611,E,0.021,13.37,120308,,,A*56
+$GPRMC,095101.00,A,5159.12441,N,00423.71611,E,0.036,15.06,120308,,,A*52
+$GPRMC,095102.00,A,5159.12436,N,00423.71618,E,0.053,10.57,120308,,,A*5A
+$GPRMC,095103.00,A,5159.12427,N,00423.71620,E,0.122,11.82,120308,,,A*5E
+$GPRMC,095104.00,A,5159.12420,N,00423.71622,E,0.020,7.70,120308,,,A*65
+$GPRMC,095105.00,A,5159.12414,N,00423.71614,E,0.064,9.49,120308,,,A*62
+$GPRMC,095106.00,A,5159.12409,N,00423.71613,E,0.026,12.68,120308,,,A*55
+$GPRMC,095107.00,A,5159.12404,N,00423.71609,E,0.086,8.33,120308,,,A*6D
+$GPRMC,095108.00,A,5159.12407,N,00423.71612,E,0.003,,120308,,,A*70
+$GPRMC,095109.00,A,5159.12407,N,00423.71622,E,0.018,,120308,,,A*78
+$GPRMC,095110.00,A,5159.12399,N,00423.71613,E,0.021,13.48,120308,,,A*58
+$GPRMC,095111.00,A,5159.12396,N,00423.71617,E,0.012,,120308,,,A*72
+$GPRMC,095112.00,A,5159.12393,N,00423.71616,E,0.027,15.34,120308,,,A*5E
+$GPRMC,095113.00,A,5159.12397,N,00423.71630,E,0.017,,120308,,,A*71
+$GPRMC,095114.00,A,5159.12402,N,00423.71637,E,0.066,12.31,120308,,,A*53
+$GPRMC,095115.00,A,5159.12427,N,00423.71646,E,2.149,8.18,120308,,,A*6D
+$GPRMC,095116.00,A,5159.12548,N,00423.71606,E,6.973,340.89,120308,,,A*60
+$GPRMC,095117.00,A,5159.12773,N,00423.71366,E,12.308,316.39,120308,,,A*53
+$GPRMC,095118.00,A,5159.13051,N,00423.70992,E,13.502,317.67,120308,,,A*5D
+$GPRMC,095119.00,A,5159.13340,N,00423.70498,E,15.395,312.58,120308,,,A*5F
+$GPRMC,095120.00,A,5159.13673,N,00423.69953,E,17.265,306.98,120308,,,A*57
+$GPRMC,095121.00,A,5159.13867,N,00423.69162,E,19.778,295.63,120308,,,A*5F
+$GPRMC,095122.00,A,5159.14134,N,00423.68276,E,21.534,290.03,120308,,,A*51
+$GPRMC,095123.00,A,5159.14336,N,00423.67329,E,22.126,286.59,120308,,,A*58
+$GPRMC,095124.00,A,5159.14574,N,00423.66422,E,20.962,287.52,120308,,,A*52
+$GPRMC,095125.00,A,5159.14773,N,00423.65588,E,18.034,287.79,120308,,,A*5C
+$GPRMC,095126.00,A,5159.14924,N,00423.64934,E,13.118,288.14,120308,,,A*59
+$GPRMC,095127.00,A,5159.15040,N,00423.64534,E,7.896,290.80,120308,,,A*60
+$GPRMC,095128.00,A,5159.15086,N,00423.64279,E,5.014,279.04,120308,,,A*60
+$GPRMC,095129.00,A,5159.15087,N,00423.64160,E,2.820,271.33,120308,,,A*6F
+$GPRMC,095130.00,A,5159.15073,N,00423.64121,E,1.669,270.00,120308,,,A*68
+$GPRMC,095131.00,A,5159.15081,N,00423.64103,E,0.788,271.30,120308,,,A*69
+$GPRMC,095132.00,A,5159.15109,N,00423.64119,E,0.841,276.56,120308,,,A*6D
+$GPRMC,095133.00,A,5159.15135,N,00423.64129,E,0.159,279.36,120308,,,A*69
+$GPRMC,095134.00,A,5159.15149,N,00423.64133,E,0.277,278.32,120308,,,A*64
+$GPRMC,095135.00,A,5159.15195,N,00423.64115,E,2.189,282.32,120308,,,A*65
+$GPRMC,095136.00,A,5159.15313,N,00423.64006,E,6.629,309.14,120308,,,A*66
+$GPRMC,095137.00,A,5159.15433,N,00423.63691,E,10.210,309.14,120308,,,A*54
+$GPRMC,095138.00,A,5159.15657,N,00423.63414,E,9.699,317.04,120308,,,A*67
+$GPRMC,095139.00,A,5159.15916,N,00423.63169,E,10.662,328.88,120308,,,A*57
+$GPRMC,095140.00,A,5159.16188,N,00423.62946,E,10.946,339.16,120308,,,A*5F
+$GPRMC,095141.00,A,5159.16479,N,00423.62752,E,11.998,339.49,120308,,,A*56
+$GPRMC,095142.00,A,5159.16856,N,00423.62556,E,14.280,341.80,120308,,,A*5F
+$GPRMC,095143.00,A,5159.17274,N,00423.62327,E,16.483,341.19,120308,,,A*52
+$GPRMC,095144.00,A,5159.17719,N,00423.62038,E,18.148,341.35,120308,,,A*54
+$GPRMC,095145.00,A,5159.18220,N,00423.61735,E,19.569,341.94,120308,,,A*51
+$GPRMC,095146.00,A,5159.18790,N,00423.61449,E,21.731,342.57,120308,,,A*5C
+$GPRMC,095147.00,A,5159.19395,N,00423.61170,E,22.115,343.69,120308,,,A*5D
+$GPRMC,095148.00,A,5159.20008,N,00423.60908,E,22.093,344.62,120308,,,A*5A
+$GPRMC,095149.00,A,5159.20625,N,00423.60651,E,22.531,344.59,120308,,,A*54
+$GPRMC,095150.00,A,5159.21255,N,00423.60390,E,23.167,344.96,120308,,,A*53
+$GPRMC,095151.00,A,5159.21911,N,00423.60120,E,24.545,344.73,120308,,,A*58
+$GPRMC,095152.00,A,5159.22599,N,00423.59830,E,25.734,345.00,120308,,,A*56
+$GPRMC,095153.00,A,5159.23303,N,00423.59537,E,25.584,345.21,120308,,,A*53
+$GPRMC,095154.00,A,5159.24018,N,00423.59245,E,27.385,344.79,120308,,,A*51
+$GPRMC,095155.00,A,5159.24783,N,00423.58916,E,28.811,345.29,120308,,,A*54
+$GPRMC,095156.00,A,5159.25577,N,00423.58588,E,29.465,345.90,120308,,,A*58
+$GPRMC,095157.00,A,5159.26394,N,00423.58256,E,30.417,345.26,120308,,,A*55
+$GPRMC,095158.00,A,5159.27237,N,00423.57911,E,31.261,344.94,120308,,,A*5A
+$GPRMC,095159.00,A,5159.28099,N,00423.57550,E,32.155,344.89,120308,,,A*50
+$GPRMC,095200.00,A,5159.28994,N,00423.57172,E,33.648,345.06,120308,,,A*53
+$GPRMC,095201.00,A,5159.29927,N,00423.56783,E,34.978,345.02,120308,,,A*5D
+$GPRMC,095202.00,A,5159.30883,N,00423.56383,E,35.441,345.08,120308,,,A*51
+$GPRMC,095203.00,A,5159.31841,N,00423.55979,E,34.882,345.22,120308,,,A*59
+$GPRMC,095204.00,A,5159.32797,N,00423.55538,E,35.780,343.06,120308,,,A*5C
+$GPRMC,095205.00,A,5159.33790,N,00423.55024,E,38.675,341.82,120308,,,A*5B
+$GPRMC,095206.00,A,5159.34870,N,00423.54487,E,41.519,343.52,120308,,,A*5A
+$GPRMC,095207.00,A,5159.36061,N,00423.54001,E,44.541,345.23,120308,,,A*53
+$GPRMC,095208.00,A,5159.37347,N,00423.53485,E,47.084,345.48,120308,,,A*57
+$GPRMC,095209.00,A,5159.38660,N,00423.52940,E,49.142,345.99,120308,,,A*55
+$GPRMC,095210.00,A,5159.40072,N,00423.52461,E,51.993,348.06,120308,,,A*5F
+$GPRMC,095211.00,A,5159.41533,N,00423.51969,E,52.902,347.71,120308,,,A*5D
+$GPRMC,095212.00,A,5159.42988,N,00423.51412,E,53.152,346.05,120308,,,A*5E
+$GPRMC,095213.00,A,5159.44437,N,00423.50815,E,53.692,345.54,120308,,,A*56
+$GPRMC,095214.00,A,5159.45886,N,00423.50182,E,53.798,345.10,120308,,,A*5A
+$GPRMC,095215.00,A,5159.47334,N,00423.49544,E,53.627,345.27,120308,,,A*5C
+$GPRMC,095216.00,A,5159.48783,N,00423.48900,E,53.925,345.01,120308,,,A*5C
+$GPRMC,095217.00,A,5159.50213,N,00423.48256,E,52.832,344.96,120308,,,A*59
+$GPRMC,095218.00,A,5159.51654,N,00423.47658,E,52.808,346.45,120308,,,A*50
+$GPRMC,095219.00,A,5159.53094,N,00423.47100,E,52.242,347.37,120308,,,A*53
+$GPRMC,095220.00,A,5159.54521,N,00423.46655,E,51.815,350.18,120308,,,A*53
+$GPRMC,095221.00,A,5159.55933,N,00423.46276,E,50.405,350.55,120308,,,A*5C
+$GPRMC,095222.00,A,5159.57340,N,00423.45933,E,50.520,351.18,120308,,,A*54
+$GPRMC,095223.00,A,5159.58793,N,00423.45518,E,50.287,349.91,120308,,,A*57
+$GPRMC,095224.00,A,5159.60167,N,00423.45071,E,49.907,348.03,120308,,,A*5D
+$GPRMC,095225.00,A,5159.61528,N,00423.44586,E,49.286,347.46,120308,,,A*52
+$GPRMC,095226.00,A,5159.62872,N,00423.44114,E,48.712,348.79,120308,,,A*55
+$GPRMC,095227.00,A,5159.64189,N,00423.43693,E,47.288,349.87,120308,,,A*59
+$GPRMC,095228.00,A,5159.65459,N,00423.43341,E,45.442,351.00,120308,,,A*51
+$GPRMC,095229.00,A,5159.66650,N,00423.43060,E,41.691,352.05,120308,,,A*56
+$GPRMC,095230.00,A,5159.67720,N,00423.42826,E,37.016,352.81,120308,,,A*56
+$GPRMC,095231.00,A,5159.68665,N,00423.42624,E,32.963,353.20,120308,,,A*50
+$GPRMC,095232.00,A,5159.69519,N,00423.42448,E,30.652,353.62,120308,,,A*5B
+$GPRMC,095233.00,A,5159.70327,N,00423.42281,E,29.335,354.33,120308,,,A*55
+$GPRMC,095234.00,A,5159.71119,N,00423.42150,E,28.854,355.11,120308,,,A*5F
+$GPRMC,095235.00,A,5159.71900,N,00423.42059,E,28.423,357.38,120308,,,A*53
+$GPRMC,095236.00,A,5159.72669,N,00423.42040,E,29.173,0.61,120308,,,A*57
+$GPRMC,095237.00,A,5159.73474,N,00423.42085,E,29.933,3.08,120308,,,A*50
+$GPRMC,095238.00,A,5159.74320,N,00423.42189,E,31.848,5.30,120308,,,A*5A
+$GPRMC,095239.00,A,5159.75193,N,00423.42376,E,33.407,8.31,120308,,,A*5B
+$GPRMC,095240.00,A,5159.76071,N,00423.42682,E,33.939,11.01,120308,,,A*6E
+$GPRMC,095241.00,A,5159.76956,N,00423.43049,E,33.406,14.38,120308,,,A*6D
+$GPRMC,095242.00,A,5159.77810,N,00423.43459,E,32.563,16.13,120308,,,A*61
+$GPRMC,095243.00,A,5159.78664,N,00423.43840,E,32.288,14.24,120308,,,A*62
+$GPRMC,095244.00,A,5159.79535,N,00423.44063,E,31.486,4.71,120308,,,A*57
+$GPRMC,095245.00,A,5159.80400,N,00423.44035,E,31.095,353.44,120308,,,A*55
+$GPRMC,095246.00,A,5159.81251,N,00423.43775,E,31.881,346.31,120308,,,A*5A
+$GPRMC,095247.00,A,5159.82053,N,00423.43155,E,31.896,333.35,120308,,,A*5C
+$GPRMC,095248.00,A,5159.82713,N,00423.42248,E,32.361,319.81,120308,,,A*59
+$GPRMC,095249.00,A,5159.83226,N,00423.41194,E,31.584,307.93,120308,,,A*59
+$GPRMC,095250.00,A,5159.83650,N,00423.39928,E,32.198,297.92,120308,,,A*57
+$GPRMC,095251.00,A,5159.83931,N,00423.38473,E,33.810,287.93,120308,,,A*54
+$GPRMC,095252.00,A,5159.84044,N,00423.36911,E,34.246,276.62,120308,,,A*52
+$GPRMC,095253.00,A,5159.83910,N,00423.35309,E,34.117,262.54,120308,,,A*5B
+$GPRMC,095254.00,A,5159.83620,N,00423.33757,E,33.660,253.45,120308,,,A*5B
+$GPRMC,095255.00,A,5159.83186,N,00423.32271,E,35.458,245.33,120308,,,A*58
+$GPRMC,095256.00,A,5159.82691,N,00423.30863,E,35.184,238.54,120308,,,A*5F
+$GPRMC,095257.00,A,5159.82176,N,00423.29554,E,34.022,235.09,120308,,,A*58
+$GPRMC,095258.00,A,5159.81708,N,00423.28522,E,28.940,230.47,120308,,,A*54
+$GPRMC,095259.00,A,5159.81193,N,00423.27774,E,24.426,217.00,120308,,,A*58
+$GPRMC,095300.00,A,5159.80561,N,00423.27396,E,24.232,196.21,120308,,,A*5F
+$GPRMC,095301.00,A,5159.79864,N,00423.27348,E,25.038,178.66,120308,,,A*59
+$GPRMC,095302.00,A,5159.79092,N,00423.27589,E,28.770,169.18,120308,,,A*5F
+$GPRMC,095303.00,A,5159.78237,N,00423.27877,E,30.844,169.23,120308,,,A*57
+$GPRMC,095304.00,A,5159.77395,N,00423.28184,E,30.418,168.93,120308,,,A*53
+$GPRMC,095305.00,A,5159.76624,N,00423.28472,E,26.542,167.76,120308,,,A*5D
+$GPRMC,095306.00,A,5159.75943,N,00423.28747,E,23.303,164.82,120308,,,A*58
+$GPRMC,095307.00,A,5159.75313,N,00423.29037,E,23.142,163.13,120308,,,A*5F
+$GPRMC,095308.00,A,5159.74658,N,00423.29395,E,25.558,160.24,120308,,,A*5E
+$GPRMC,095309.00,A,5159.73935,N,00423.29830,E,27.374,159.06,120308,,,A*58
+$GPRMC,095310.00,A,5159.73236,N,00423.30363,E,27.370,155.57,120308,,,A*51
+$GPRMC,095311.00,A,5159.72539,N,00423.30922,E,28.141,155.03,120308,,,A*58
+$GPRMC,095312.00,A,5159.71832,N,00423.31494,E,28.297,155.48,120308,,,A*58
+$GPRMC,095313.00,A,5159.71107,N,00423.32040,E,27.723,156.82,120308,,,A*58
+$GPRMC,095314.00,A,5159.70377,N,00423.32509,E,27.675,158.85,120308,,,A*58
+$GPRMC,095315.00,A,5159.69653,N,00423.32949,E,27.749,159.30,120308,,,A*5B
+$GPRMC,095316.00,A,5159.68932,N,00423.33425,E,27.798,158.28,120308,,,A*53
+$GPRMC,095317.00,A,5159.68183,N,00423.33890,E,28.601,158.58,120308,,,A*5B
+$GPRMC,095318.00,A,5159.67424,N,00423.34402,E,29.756,156.86,120308,,,A*5C
+$GPRMC,095319.00,A,5159.66634,N,00423.34920,E,30.500,157.59,120308,,,A*58
+$GPRMC,095320.00,A,5159.65823,N,00423.35431,E,31.308,158.31,120308,,,A*5B
+$GPRMC,095321.00,A,5159.64987,N,00423.35958,E,32.348,158.65,120308,,,A*50
+$GPRMC,095322.00,A,5159.64129,N,00423.36492,E,33.011,158.86,120308,,,A*54
+$GPRMC,095323.00,A,5159.63245,N,00423.37023,E,33.322,159.25,120308,,,A*5F
+$GPRMC,095324.00,A,5159.62359,N,00423.37548,E,33.429,159.59,120308,,,A*5A
+$GPRMC,095325.00,A,5159.61465,N,00423.38059,E,33.200,160.06,120308,,,A*57
+$GPRMC,095326.00,A,5159.60613,N,00423.38579,E,33.064,159.78,120308,,,A*52
+$GPRMC,095327.00,A,5159.59739,N,00423.39106,E,33.777,159.12,120308,,,A*54
+$GPRMC,095328.00,A,5159.58833,N,00423.39651,E,34.801,159.22,120308,,,A*50
+$GPRMC,095329.00,A,5159.57909,N,00423.40199,E,35.145,159.86,120308,,,A*5D
+$GPRMC,095330.00,A,5159.56965,N,00423.40749,E,36.469,159.89,120308,,,A*52
+$GPRMC,095331.00,A,5159.55978,N,00423.41321,E,37.924,159.72,120308,,,A*56
+$GPRMC,095332.00,A,5159.54968,N,00423.41911,E,38.569,160.39,120308,,,A*53
+$GPRMC,095333.00,A,5159.53985,N,00423.42523,E,38.524,160.79,120308,,,A*55
+$GPRMC,095334.00,A,5159.52966,N,00423.43086,E,38.500,160.97,120308,,,A*53
+$GPRMC,095335.00,A,5159.51940,N,00423.43643,E,38.370,161.16,120308,,,A*53
+$GPRMC,095336.00,A,5159.50923,N,00423.44194,E,38.014,161.46,120308,,,A*5A
+$GPRMC,095337.00,A,5159.49906,N,00423.44721,E,38.075,162.57,120308,,,A*58
+$GPRMC,095338.00,A,5159.48872,N,00423.45226,E,38.264,162.90,120308,,,A*5E
+$GPRMC,095339.00,A,5159.47838,N,00423.45719,E,38.445,163.56,120308,,,A*59
+$GPRMC,095340.00,A,5159.46796,N,00423.46201,E,39.384,164.24,120308,,,A*5B
+$GPRMC,095341.00,A,5159.45723,N,00423.46700,E,41.195,163.78,120308,,,A*50
+$GPRMC,095342.00,A,5159.44599,N,00423.47232,E,43.113,163.00,120308,,,A*57
+$GPRMC,095343.00,A,5159.43455,N,00423.47823,E,43.545,161.48,120308,,,A*53
+$GPRMC,095344.00,A,5159.42285,N,00423.48444,E,44.726,161.72,120308,,,A*55
+$GPRMC,095345.00,A,5159.41064,N,00423.49080,E,46.687,161.94,120308,,,A*57
+$GPRMC,095346.00,A,5159.39785,N,00423.49725,E,48.153,162.44,120308,,,A*55
+$GPRMC,095347.00,A,5159.38440,N,00423.50345,E,50.139,164.34,120308,,,A*51
+$GPRMC,095348.00,A,5159.37063,N,00423.50951,E,51.789,164.74,120308,,,A*53
+$GPRMC,095349.00,A,5159.35606,N,00423.51563,E,54.582,165.11,120308,,,A*57
+$GPRMC,095350.00,A,5159.34120,N,00423.52233,E,56.393,163.59,120308,,,A*52
+$GPRMC,095351.00,A,5159.32609,N,00423.52987,E,57.986,162.47,120308,,,A*5C
+$GPRMC,095352.00,A,5159.31056,N,00423.53770,E,58.861,162.90,120308,,,A*5A
+$GPRMC,095353.00,A,5159.29408,N,00423.54524,E,61.173,164.21,120308,,,A*55
+$GPRMC,095354.00,A,5159.27771,N,00423.55258,E,62.458,165.11,120308,,,A*51
+$GPRMC,095355.00,A,5159.26049,N,00423.55944,E,62.771,165.75,120308,,,A*51
+$GPRMC,095356.00,A,5159.24420,N,00423.56673,E,64.059,165.30,120308,,,A*59
+$GPRMC,095357.00,A,5159.22809,N,00423.57466,E,63.805,164.90,120308,,,A*53
+$GPRMC,095358.00,A,5159.21049,N,00423.58202,E,64.103,165.57,120308,,,A*5A
+$GPRMC,095359.00,A,5159.19303,N,00423.58917,E,64.747,165.28,120308,,,A*5C
+$GPRMC,095400.00,A,5159.17578,N,00423.59707,E,65.352,164.14,120308,,,A*52
+$GPRMC,095401.00,A,5159.15819,N,00423.60512,E,66.180,164.35,120308,,,A*5A
+$GPRMC,095402.00,A,5159.14022,N,00423.61303,E,66.488,164.80,120308,,,A*5C
+$GPRMC,095403.00,A,5159.12218,N,00423.62025,E,65.683,165.21,120308,,,A*54
+$GPRMC,095404.00,A,5159.10454,N,00423.62773,E,64.697,165.24,120308,,,A*5A
+$GPRMC,095405.00,A,5159.08720,N,00423.63512,E,64.679,165.65,120308,,,A*53
+$GPRMC,095406.00,A,5159.07003,N,00423.64237,E,63.874,165.62,120308,,,A*5D
+$GPRMC,095407.00,A,5159.05341,N,00423.64966,E,62.325,165.24,120308,,,A*58
+$GPRMC,095408.00,A,5159.03690,N,00423.65697,E,61.814,165.00,120308,,,A*54
+$GPRMC,095409.00,A,5159.02054,N,00423.66445,E,62.048,164.97,120308,,,A*59
+$GPRMC,095410.00,A,5159.00384,N,00423.67175,E,62.533,165.15,120308,,,A*58
+$GPRMC,095411.00,A,5158.98688,N,00423.67888,E,63.372,165.98,120308,,,A*5C
+$GPRMC,095412.00,A,5158.97014,N,00423.68614,E,62.110,165.15,120308,,,A*55
+$GPRMC,095413.00,A,5158.95330,N,00423.69379,E,63.181,164.72,120308,,,A*55
+$GPRMC,095414.00,A,5158.93653,N,00423.70126,E,62.859,165.00,120308,,,A*5D
+$GPRMC,095415.00,A,5158.91983,N,00423.70865,E,62.092,165.15,120308,,,A*59
+$GPRMC,095416.00,A,5158.90338,N,00423.71585,E,61.233,165.27,120308,,,A*58
+$GPRMC,095417.00,A,5158.88715,N,00423.72297,E,60.764,165.64,120308,,,A*5D
+$GPRMC,095418.00,A,5158.87112,N,00423.73011,E,60.006,164.94,120308,,,A*5C
+$GPRMC,095419.00,A,5158.85528,N,00423.73743,E,59.549,165.00,120308,,,A*5A
+$GPRMC,095420.00,A,5158.83957,N,00423.74419,E,59.191,165.01,120308,,,A*59
+$GPRMC,095421.00,A,5158.82395,N,00423.75088,E,58.921,165.20,120308,,,A*51
+$GPRMC,095422.00,A,5158.80823,N,00423.75776,E,58.816,165.24,120308,,,A*51
+$GPRMC,095423.00,A,5158.79252,N,00423.76452,E,58.552,165.16,120308,,,A*50
+$GPRMC,095424.00,A,5158.77704,N,00423.77120,E,57.503,165.19,120308,,,A*5A
+$GPRMC,095425.00,A,5158.76187,N,00423.77781,E,56.516,165.27,120308,,,A*52
+$GPRMC,095426.00,A,5158.74727,N,00423.78441,E,53.669,164.00,120308,,,A*55
+$GPRMC,095427.00,A,5158.73336,N,00423.79090,E,51.490,164.23,120308,,,A*59
+$GPRMC,095428.00,A,5158.71986,N,00423.79687,E,49.991,165.20,120308,,,A*52
+$GPRMC,095429.00,A,5158.70650,N,00423.80259,E,50.124,165.37,120308,,,A*5F
+$GPRMC,095430.00,A,5158.69334,N,00423.80853,E,49.562,165.04,120308,,,A*56
+$GPRMC,095431.00,A,5158.68020,N,00423.81430,E,49.618,165.10,120308,,,A*53
+$GPRMC,095432.00,A,5158.66716,N,00423.82030,E,49.119,165.14,120308,,,A*59
+$GPRMC,095433.00,A,5158.65411,N,00423.82602,E,48.738,165.08,120308,,,A*51
+$GPRMC,095434.00,A,5158.64105,N,00423.83159,E,48.707,165.33,120308,,,A*5B
+$GPRMC,095435.00,A,5158.62808,N,00423.83726,E,48.625,164.70,120308,,,A*51
+$GPRMC,095436.00,A,5158.61491,N,00423.84285,E,49.407,165.15,120308,,,A*57
+$GPRMC,095437.00,A,5158.60147,N,00423.84841,E,50.458,165.54,120308,,,A*5C
+$GPRMC,095438.00,A,5158.58771,N,00423.85425,E,51.933,165.15,120308,,,A*50
+$GPRMC,095439.00,A,5158.57341,N,00423.86041,E,53.778,164.88,120308,,,A*5A
+$GPRMC,095440.00,A,5158.55877,N,00423.86681,E,55.425,164.94,120308,,,A*52
+$GPRMC,095441.00,A,5158.54366,N,00423.87336,E,56.592,164.69,120308,,,A*5D
+$GPRMC,095442.00,A,5158.52808,N,00423.87995,E,58.376,165.02,120308,,,A*56
+$GPRMC,095443.00,A,5158.51199,N,00423.88668,E,60.021,165.09,120308,,,A*56
+$GPRMC,095444.00,A,5158.49553,N,00423.89370,E,61.678,164.83,120308,,,A*5F
+$GPRMC,095445.00,A,5158.47871,N,00423.90106,E,62.787,164.66,120308,,,A*5F
+$GPRMC,095446.00,A,5158.46164,N,00423.90846,E,63.505,164.83,120308,,,A*5F
+$GPRMC,095447.00,A,5158.44413,N,00423.91574,E,65.169,165.14,120308,,,A*53
+$GPRMC,095448.00,A,5158.42623,N,00423.92307,E,65.796,165.04,120308,,,A*5D
+$GPRMC,095449.00,A,5158.40816,N,00423.93052,E,66.619,165.03,120308,,,A*56
+$GPRMC,095450.00,A,5158.38972,N,00423.93803,E,67.702,164.94,120308,,,A*5B
+$GPRMC,095451.00,A,5158.37104,N,00423.94564,E,68.554,165.22,120308,,,A*55
+$GPRMC,095452.00,A,5158.35235,N,00423.95341,E,68.753,165.15,120308,,,A*54
+$GPRMC,095453.00,A,5158.33370,N,00423.96110,E,68.179,165.46,120308,,,A*5E
+$GPRMC,095454.00,A,5158.31534,N,00423.96887,E,67.480,164.91,120308,,,A*5D
+$GPRMC,095455.00,A,5158.29732,N,00423.97699,E,67.024,164.06,120308,,,A*55
+$GPRMC,095456.00,A,5158.27934,N,00423.98543,E,66.696,161.92,120308,,,A*5D
+$GPRMC,095457.00,A,5158.26164,N,00423.99495,E,66.563,160.15,120308,,,A*5C
+$GPRMC,095458.00,A,5158.24421,N,00424.00548,E,66.582,158.18,120308,,,A*5A
+$GPRMC,095459.00,A,5158.22713,N,00424.01699,E,67.222,156.48,120308,,,A*56
+$GPRMC,095500.00,A,5158.21012,N,00424.02947,E,67.874,154.83,120308,,,A*5D
+$GPRMC,095501.00,A,5158.19315,N,00424.04236,E,66.909,154.35,120308,,,A*5F
+$GPRMC,095502.00,A,5158.17690,N,00424.05535,E,65.186,153.98,120308,,,A*53
+$GPRMC,095503.00,A,5158.16072,N,00424.06808,E,63.853,154.14,120308,,,A*5D
+$GPRMC,095504.00,A,5158.14493,N,00424.08050,E,62.947,154.59,120308,,,A*54
+$GPRMC,095505.00,A,5158.12931,N,00424.09266,E,62.215,154.57,120308,,,A*52
+$GPRMC,095506.00,A,5158.11380,N,00424.10478,E,62.130,154.34,120308,,,A*52
+$GPRMC,095507.00,A,5158.09831,N,00424.11703,E,62.347,154.22,120308,,,A*50
+$GPRMC,095508.00,A,5158.08283,N,00424.12934,E,62.263,154.10,120308,,,A*52
+$GPRMC,095509.00,A,5158.06745,N,00424.14165,E,61.627,153.97,120308,,,A*57
+$GPRMC,095510.00,A,5158.05226,N,00424.15385,E,61.040,154.29,120308,,,A*54
+$GPRMC,095511.00,A,5158.03726,N,00424.16573,E,59.803,154.36,120308,,,A*50
+$GPRMC,095512.00,A,5158.02259,N,00424.17727,E,58.357,154.49,120308,,,A*5E
+$GPRMC,095513.00,A,5158.00821,N,00424.18856,E,57.418,154.34,120308,,,A*57
+$GPRMC,095514.00,A,5157.99398,N,00424.19972,E,57.181,154.38,120308,,,A*59
+$GPRMC,095515.00,A,5157.97978,N,00424.21091,E,56.988,154.19,120308,,,A*5E
+$GPRMC,095516.00,A,5157.96561,N,00424.22210,E,57.090,154.11,120308,,,A*59
+$GPRMC,095517.00,A,5157.95143,N,00424.23330,E,57.199,154.04,120308,,,A*51
+$GPRMC,095518.00,A,5157.93717,N,00424.24431,E,57.474,154.28,120308,,,A*56
+$GPRMC,095519.00,A,5157.92280,N,00424.25552,E,58.271,154.17,120308,,,A*58
+$GPRMC,095520.00,A,5157.90831,N,00424.26695,E,58.662,154.04,120308,,,A*5F
+$GPRMC,095521.00,A,5157.89377,N,00424.27846,E,58.621,154.39,120308,,,A*57
+$GPRMC,095522.00,A,5157.87932,N,00424.28982,E,57.746,154.26,120308,,,A*56
+$GPRMC,095523.00,A,5157.86510,N,00424.30095,E,56.739,154.45,120308,,,A*50
+$GPRMC,095524.00,A,5157.85113,N,00424.31182,E,55.423,154.45,120308,,,A*5E
+$GPRMC,095525.00,A,5157.83753,N,00424.32238,E,53.695,154.30,120308,,,A*51
+$GPRMC,095526.00,A,5157.82427,N,00424.33277,E,52.964,154.29,120308,,,A*51
+$GPRMC,095527.00,A,5157.81113,N,00424.34314,E,52.878,154.02,120308,,,A*57
+$GPRMC,095528.00,A,5157.79800,N,00424.35357,E,52.809,153.89,120308,,,A*50
+$GPRMC,095529.00,A,5157.78481,N,00424.36384,E,52.589,154.45,120308,,,A*5A
+$GPRMC,095530.00,A,5157.77164,N,00424.37396,E,52.495,154.35,120308,,,A*5A
+$GPRMC,095531.00,A,5157.75857,N,00424.38411,E,52.087,154.19,120308,,,A*5E
+$GPRMC,095532.00,A,5157.74561,N,00424.39414,E,51.715,154.46,120308,,,A*55
+$GPRMC,095533.00,A,5157.73272,N,00424.40398,E,51.361,154.55,120308,,,A*5E
+$GPRMC,095534.00,A,5157.71996,N,00424.41371,E,50.675,154.52,120308,,,A*5A
+$GPRMC,095535.00,A,5157.70733,N,00424.42336,E,50.302,154.57,120308,,,A*5B
+$GPRMC,095536.00,A,5157.69476,N,00424.43301,E,50.235,154.37,120308,,,A*54
+$GPRMC,095537.00,A,5157.68208,N,00424.44287,E,51.331,154.33,120308,,,A*53
+$GPRMC,095538.00,A,5157.66910,N,00424.45304,E,52.710,154.12,120308,,,A*5C
+$GPRMC,095539.00,A,5157.65590,N,00424.46340,E,53.129,154.09,120308,,,A*5E
+$GPRMC,095540.00,A,5157.64265,N,00424.47377,E,52.875,154.31,120308,,,A*53
+$GPRMC,095541.00,A,5157.62942,N,00424.48405,E,52.960,154.42,120308,,,A*56
+$GPRMC,095542.00,A,5157.61620,N,00424.49439,E,52.933,154.19,120308,,,A*5B
+$GPRMC,095543.00,A,5157.60309,N,00424.50473,E,52.137,153.86,120308,,,A*5E
+$GPRMC,095544.00,A,5157.59014,N,00424.51489,E,51.531,154.32,120308,,,A*51
+$GPRMC,095545.00,A,5157.57737,N,00424.52485,E,50.783,154.19,120308,,,A*54
+$GPRMC,095546.00,A,5157.56475,N,00424.53470,E,50.340,154.33,120308,,,A*5B
+$GPRMC,095547.00,A,5157.55216,N,00424.54451,E,50.444,154.37,120308,,,A*59
+$GPRMC,095548.00,A,5157.53949,N,00424.55438,E,51.060,154.18,120308,,,A*51
+$GPRMC,095549.00,A,5157.52682,N,00424.56431,E,50.727,154.28,120308,,,A*55
+$GPRMC,095550.00,A,5157.51415,N,00424.57421,E,50.899,154.33,120308,,,A*52
+$GPRMC,095551.00,A,5157.50136,N,00424.58410,E,51.569,154.43,120308,,,A*5F
+$GPRMC,095552.00,A,5157.48838,N,00424.59418,E,52.432,154.19,120308,,,A*58
+$GPRMC,095553.00,A,5157.47514,N,00424.60458,E,53.668,154.10,120308,,,A*5E
+$GPRMC,095554.00,A,5157.46173,N,00424.61509,E,53.752,154.31,120308,,,A*52
+$GPRMC,095555.00,A,5157.44835,N,00424.62553,E,53.324,154.37,120308,,,A*55
+$GPRMC,095556.00,A,5157.43502,N,00424.63593,E,53.068,154.40,120308,,,A*5E
+$GPRMC,095557.00,A,5157.42167,N,00424.64636,E,53.593,154.15,120308,,,A*53
+$GPRMC,095558.00,A,5157.40817,N,00424.65698,E,54.592,154.09,120308,,,A*5E
+$GPRMC,095559.00,A,5157.39452,N,00424.66776,E,54.825,154.17,120308,,,A*50
+$GPRMC,095600.00,A,5157.38079,N,00424.67853,E,55.098,154.35,120308,,,A*55
+$GPRMC,095601.00,A,5157.36705,N,00424.68927,E,54.846,154.32,120308,,,A*56
+$GPRMC,095602.00,A,5157.35345,N,00424.69989,E,54.183,154.36,120308,,,A*57
+$GPRMC,095603.00,A,5157.34004,N,00424.71035,E,53.198,154.25,120308,,,A*59
+$GPRMC,095604.00,A,5157.32687,N,00424.72068,E,52.222,154.41,120308,,,A*5F
+$GPRMC,095605.00,A,5157.31387,N,00424.73081,E,51.815,154.43,120308,,,A*51
+$GPRMC,095606.00,A,5157.30104,N,00424.74083,E,50.882,154.27,120308,,,A*52
+$GPRMC,095607.00,A,5157.28845,N,00424.75068,E,49.928,154.34,120308,,,A*59
+$GPRMC,095608.00,A,5157.27611,N,00424.76036,E,48.999,154.18,120308,,,A*5B
+$GPRMC,095609.00,A,5157.26400,N,00424.76989,E,48.085,154.20,120308,,,A*5B
+$GPRMC,095610.00,A,5157.25211,N,00424.77917,E,47.197,154.45,120308,,,A*5E
+$GPRMC,095611.00,A,5157.24039,N,00424.78820,E,46.561,154.47,120308,,,A*52
+$GPRMC,095612.00,A,5157.22889,N,00424.79707,E,45.752,154.43,120308,,,A*5A
+$GPRMC,095613.00,A,5157.21730,N,00424.80613,E,47.241,153.74,120308,,,A*51
+$GPRMC,095614.00,A,5157.20563,N,00424.81535,E,47.224,153.58,120308,,,A*58
+$GPRMC,095615.00,A,5157.19393,N,00424.82469,E,47.295,153.66,120308,,,A*56
+$GPRMC,095616.00,A,5157.18222,N,00424.83396,E,47.067,153.64,120308,,,A*54
+$GPRMC,095617.00,A,5157.17052,N,00424.84323,E,47.314,153.53,120308,,,A*55
+$GPRMC,095618.00,A,5157.15879,N,00424.85267,E,47.248,153.53,120308,,,A*51
+$GPRMC,095619.00,A,5157.14721,N,00424.86170,E,46.140,153.89,120308,,,A*58
+$GPRMC,095620.00,A,5157.13573,N,00424.87065,E,45.923,153.74,120308,,,A*58
+$GPRMC,095621.00,A,5157.12436,N,00424.87981,E,46.249,152.81,120308,,,A*54
+$GPRMC,095622.00,A,5157.11299,N,00424.88959,E,46.263,151.29,120308,,,A*54
+$GPRMC,095623.00,A,5157.10196,N,00424.89998,E,46.018,149.40,120308,,,A*5C
+$GPRMC,095624.00,A,5157.09115,N,00424.91106,E,45.788,148.17,120308,,,A*50
+$GPRMC,095625.00,A,5157.08045,N,00424.92234,E,45.973,146.85,120308,,,A*5A
+$GPRMC,095626.00,A,5157.06987,N,00424.93394,E,46.021,145.90,120308,,,A*50
+$GPRMC,095627.00,A,5157.05942,N,00424.94564,E,46.013,145.16,120308,,,A*5A
+$GPRMC,095628.00,A,5157.04902,N,00424.95762,E,46.093,144.91,120308,,,A*53
+$GPRMC,095629.00,A,5157.03856,N,00424.96957,E,46.187,144.87,120308,,,A*5D
+$GPRMC,095630.00,A,5157.02823,N,00424.98164,E,45.692,143.86,120308,,,A*56
+$GPRMC,095631.00,A,5157.01811,N,00424.99369,E,44.836,143.73,120308,,,A*50
+$GPRMC,095632.00,A,5157.00807,N,00425.00531,E,44.078,144.56,120308,,,A*5D
+$GPRMC,095633.00,A,5156.99717,N,00425.01550,E,45.466,148.62,120308,,,A*54
+$GPRMC,095634.00,A,5156.98713,N,00425.02700,E,44.353,145.49,120308,,,A*56
+$GPRMC,095635.00,A,5156.97710,N,00425.03855,E,44.261,145.25,120308,,,A*5F
+$GPRMC,095636.00,A,5156.96702,N,00425.05013,E,44.557,144.99,120308,,,A*56
+$GPRMC,095637.00,A,5156.95684,N,00425.06184,E,45.115,144.38,120308,,,A*5F
+$GPRMC,095638.00,A,5156.94657,N,00425.07383,E,45.686,144.00,120308,,,A*5D
+$GPRMC,095639.00,A,5156.93622,N,00425.08587,E,45.764,144.51,120308,,,A*5D
+$GPRMC,095640.00,A,5156.92589,N,00425.09792,E,45.905,144.47,120308,,,A*59
+$GPRMC,095641.00,A,5156.91542,N,00425.10996,E,46.298,144.99,120308,,,A*51
+$GPRMC,095642.00,A,5156.90498,N,00425.12201,E,45.909,144.89,120308,,,A*53
+$GPRMC,095643.00,A,5156.89470,N,00425.13393,E,45.226,144.77,120308,,,A*50
+$GPRMC,095644.00,A,5156.88449,N,00425.14572,E,44.908,144.72,120308,,,A*51
+$GPRMC,095645.00,A,5156.87426,N,00425.15747,E,45.279,144.93,120308,,,A*50
+$GPRMC,095646.00,A,5156.86399,N,00425.16930,E,45.507,144.64,120308,,,A*5A
+$GPRMC,095647.00,A,5156.85369,N,00425.18111,E,45.324,144.85,120308,,,A*5A
+$GPRMC,095648.00,A,5156.84339,N,00425.19282,E,45.325,145.02,120308,,,A*56
+$GPRMC,095649.00,A,5156.83311,N,00425.20454,E,45.314,144.96,120308,,,A*53
+$GPRMC,095650.00,A,5156.82283,N,00425.21624,E,45.277,144.79,120308,,,A*51
+$GPRMC,095651.00,A,5156.81258,N,00425.22796,E,45.184,144.91,120308,,,A*57
+$GPRMC,095652.00,A,5156.80228,N,00425.23977,E,45.678,144.84,120308,,,A*52
+$GPRMC,095653.00,A,5156.79163,N,00425.25132,E,46.330,146.80,120308,,,A*5A
+$GPRMC,095654.00,A,5156.78103,N,00425.26306,E,46.327,145.81,120308,,,A*58
+$GPRMC,095655.00,A,5156.77043,N,00425.27479,E,46.172,146.06,120308,,,A*53
+$GPRMC,095656.00,A,5156.75996,N,00425.28641,E,45.321,145.72,120308,,,A*52
+$GPRMC,095657.00,A,5156.74974,N,00425.29789,E,44.402,145.50,120308,,,A*5D
+$GPRMC,095658.00,A,5156.73975,N,00425.30917,E,43.502,144.86,120308,,,A*59
+$GPRMC,095659.00,A,5156.72998,N,00425.32031,E,42.688,144.68,120308,,,A*55
+$GPRMC,095700.00,A,5156.72043,N,00425.33140,E,42.253,144.44,120308,,,A*5D
+$GPRMC,095701.00,A,5156.71097,N,00425.34251,E,42.231,144.35,120308,,,A*50
+$GPRMC,095702.00,A,5156.70140,N,00425.35360,E,42.726,144.47,120308,,,A*5D
+$GPRMC,095703.00,A,5156.69169,N,00425.36485,E,43.424,144.60,120308,,,A*55
+$GPRMC,095704.00,A,5156.68187,N,00425.37620,E,43.523,144.50,120308,,,A*5A
+$GPRMC,095705.00,A,5156.67211,N,00425.38754,E,43.335,144.62,120308,,,A*55
+$GPRMC,095706.00,A,5156.66237,N,00425.39884,E,43.313,144.58,120308,,,A*5D
+$GPRMC,095707.00,A,5156.65264,N,00425.41016,E,43.289,144.59,120308,,,A*56
+$GPRMC,095708.00,A,5156.64286,N,00425.42154,E,43.679,144.45,120308,,,A*56
+$GPRMC,095709.00,A,5156.63298,N,00425.43296,E,43.884,144.92,120308,,,A*55
+$GPRMC,095710.00,A,5156.62305,N,00425.44456,E,44.411,145.03,120308,,,A*5A
+$GPRMC,095711.00,A,5156.61305,N,00425.45618,E,44.108,144.64,120308,,,A*5C
+$GPRMC,095712.00,A,5156.60296,N,00425.46772,E,44.472,144.66,120308,,,A*51
+$GPRMC,095713.00,A,5156.59277,N,00425.47916,E,44.593,144.87,120308,,,A*59
+$GPRMC,095714.00,A,5156.58256,N,00425.49046,E,44.226,144.89,120308,,,A*59
+$GPRMC,095715.00,A,5156.57245,N,00425.50186,E,43.868,144.46,120308,,,A*54
+$GPRMC,095716.00,A,5156.56244,N,00425.51321,E,43.670,144.70,120308,,,A*5B
+$GPRMC,095717.00,A,5156.55244,N,00425.52447,E,43.998,144.96,120308,,,A*5C
+$GPRMC,095718.00,A,5156.54239,N,00425.53593,E,44.776,144.60,120308,,,A*51
+$GPRMC,095719.00,A,5156.53222,N,00425.54760,E,45.222,144.85,120308,,,A*5A
+$GPRMC,095720.00,A,5156.52195,N,00425.55922,E,45.217,145.12,120308,,,A*5E
+$GPRMC,095721.00,A,5156.51178,N,00425.57077,E,44.460,144.61,120308,,,A*56
+$GPRMC,095722.00,A,5156.50176,N,00425.58219,E,44.023,144.83,120308,,,A*50
+$GPRMC,095723.00,A,5156.49176,N,00425.59344,E,43.815,144.81,120308,,,A*59
+$GPRMC,095724.00,A,5156.48175,N,00425.60452,E,43.936,145.70,120308,,,A*59
+$GPRMC,095725.00,A,5156.47152,N,00425.61538,E,44.333,146.90,120308,,,A*5B
+$GPRMC,095726.00,A,5156.46111,N,00425.62617,E,44.451,146.70,120308,,,A*5E
+$GPRMC,095727.00,A,5156.45075,N,00425.63705,E,44.232,146.23,120308,,,A*59
+$GPRMC,095728.00,A,5156.44039,N,00425.64791,E,44.755,147.09,120308,,,A*58
+$GPRMC,095729.00,A,5156.42979,N,00425.65854,E,45.137,148.02,120308,,,A*52
+$GPRMC,095730.00,A,5156.41899,N,00425.66932,E,45.454,147.39,120308,,,A*53
+$GPRMC,095731.00,A,5156.40819,N,00425.68036,E,45.688,146.71,120308,,,A*56
+$GPRMC,095732.00,A,5156.39739,N,00425.69191,E,46.162,145.96,120308,,,A*51
+$GPRMC,095733.00,A,5156.38675,N,00425.70368,E,46.518,145.34,120308,,,A*55
+$GPRMC,095734.00,A,5156.37610,N,00425.71559,E,46.576,145.16,120308,,,A*53
+$GPRMC,095735.00,A,5156.36533,N,00425.72747,E,46.778,145.46,120308,,,A*56
+$GPRMC,095736.00,A,5156.35461,N,00425.73939,E,46.590,145.13,120308,,,A*52
+$GPRMC,095737.00,A,5156.34395,N,00425.75133,E,46.678,145.23,120308,,,A*5C
+$GPRMC,095738.00,A,5156.33321,N,00425.76327,E,47.045,145.70,120308,,,A*50
+$GPRMC,095739.00,A,5156.32242,N,00425.77516,E,46.969,145.75,120308,,,A*52
+$GPRMC,095740.00,A,5156.31153,N,00425.78707,E,47.130,145.61,120308,,,A*51
+$GPRMC,095741.00,A,5156.30084,N,00425.79922,E,47.075,145.13,120308,,,A*57
+$GPRMC,095742.00,A,5156.29013,N,00425.81140,E,47.016,144.90,120308,,,A*56
+$GPRMC,095743.00,A,5156.27947,N,00425.82361,E,46.978,145.47,120308,,,A*58
+$GPRMC,095744.00,A,5156.26882,N,00425.83574,E,46.735,145.12,120308,,,A*52
+$GPRMC,095745.00,A,5156.25820,N,00425.84782,E,46.386,145.01,120308,,,A*5A
+$GPRMC,095746.00,A,5156.24783,N,00425.86004,E,46.072,144.53,120308,,,A*5B
+$GPRMC,095747.00,A,5156.23745,N,00425.87208,E,45.873,144.76,120308,,,A*55
+$GPRMC,095748.00,A,5156.22712,N,00425.88397,E,45.741,145.09,120308,,,A*56
+$GPRMC,095749.00,A,5156.21668,N,00425.89562,E,46.026,145.90,120308,,,A*50
+$GPRMC,095750.00,A,5156.20630,N,00425.90754,E,46.012,144.71,120308,,,A*52
+$GPRMC,095751.00,A,5156.19565,N,00425.91920,E,46.434,144.46,120308,,,A*52
+$GPRMC,095752.00,A,5156.18512,N,00425.93139,E,46.934,143.93,120308,,,A*50
+$GPRMC,095753.00,A,5156.17452,N,00425.94362,E,46.995,144.33,120308,,,A*56
+$GPRMC,095754.00,A,5156.16401,N,00425.95619,E,47.060,143.70,120308,,,A*5C
+$GPRMC,095755.00,A,5156.15355,N,00425.96887,E,47.028,143.08,120308,,,A*51
+$GPRMC,095756.00,A,5156.14317,N,00425.98159,E,46.908,142.72,120308,,,A*57
+$GPRMC,095757.00,A,5156.13305,N,00425.99476,E,46.815,142.74,120308,,,A*50
+$GPRMC,095758.00,A,5156.12271,N,00426.00754,E,46.990,142.66,120308,,,A*53
+$GPRMC,095759.00,A,5156.11257,N,00426.02091,E,47.334,142.16,120308,,,A*5B
+$GPRMC,095800.00,A,5156.10221,N,00426.03375,E,46.862,143.31,120308,,,A*5D
+$GPRMC,095801.00,A,5156.09191,N,00426.04636,E,46.433,142.78,120308,,,A*5D
+$GPRMC,095802.00,A,5156.08169,N,00426.05894,E,46.257,143.31,120308,,,A*57
+$GPRMC,095803.00,A,5156.07134,N,00426.07119,E,46.104,143.98,120308,,,A*59
+$GPRMC,095804.00,A,5156.06094,N,00426.08325,E,46.036,144.35,120308,,,A*56
+$GPRMC,095805.00,A,5156.05051,N,00426.09520,E,46.152,144.79,120308,,,A*54
+$GPRMC,095806.00,A,5156.04009,N,00426.10725,E,46.296,145.01,120308,,,A*51
+$GPRMC,095807.00,A,5156.02970,N,00426.11926,E,45.900,144.68,120308,,,A*54
+$GPRMC,095808.00,A,5156.01939,N,00426.13095,E,45.075,144.30,120308,,,A*50
+$GPRMC,095809.00,A,5156.00929,N,00426.14243,E,44.228,144.90,120308,,,A*5E
+$GPRMC,095810.00,A,5155.99946,N,00426.15358,E,42.726,144.81,120308,,,A*5B
+$GPRMC,095811.00,A,5155.99007,N,00426.16440,E,40.972,144.62,120308,,,A*5B
+$GPRMC,095812.00,A,5155.98106,N,00426.17504,E,39.881,144.09,120308,,,A*57
+$GPRMC,095813.00,A,5155.97222,N,00426.18534,E,39.095,144.41,120308,,,A*51
+$GPRMC,095814.00,A,5155.96359,N,00426.19542,E,38.253,144.69,120308,,,A*59
+$GPRMC,095815.00,A,5155.95515,N,00426.20521,E,37.250,145.07,120308,,,A*5F
+$GPRMC,095816.00,A,5155.94702,N,00426.21453,E,35.347,145.43,120308,,,A*59
+$GPRMC,095817.00,A,5155.93918,N,00426.22293,E,32.568,147.54,120308,,,A*5B
+$GPRMC,095818.00,A,5155.93188,N,00426.22984,E,28.390,150.37,120308,,,A*51
+$GPRMC,095819.00,A,5155.92532,N,00426.23540,E,25.155,151.97,120308,,,A*5C
+$GPRMC,095820.00,A,5155.91945,N,00426.24019,E,22.467,153.70,120308,,,A*5F
+$GPRMC,095821.00,A,5155.91402,N,00426.24357,E,20.253,161.02,120308,,,A*5E
+$GPRMC,095822.00,A,5155.90853,N,00426.24488,E,19.849,170.64,120308,,,A*5A
+$GPRMC,095823.00,A,5155.90328,N,00426.24359,E,18.849,181.11,120308,,,A*5A
+$GPRMC,095824.00,A,5155.89824,N,00426.24215,E,18.790,182.79,120308,,,A*5D
+$GPRMC,095825.00,A,5155.89248,N,00426.23996,E,20.530,181.10,120308,,,A*54
+$GPRMC,095826.00,A,5155.88676,N,00426.23995,E,20.600,175.88,120308,,,A*56
+$GPRMC,095827.00,A,5155.87992,N,00426.23722,E,22.292,166.93,120308,,,A*5A
+$GPRMC,095828.00,A,5155.87427,N,00426.24132,E,24.789,159.46,120308,,,A*5B
+$GPRMC,095829.00,A,5155.86819,N,00426.24730,E,26.864,151.27,120308,,,A*5F
+$GPRMC,095830.00,A,5155.86296,N,00426.25550,E,28.482,145.11,120308,,,A*55
+$GPRMC,095831.00,A,5155.85777,N,00426.26464,E,27.828,139.49,120308,,,A*5D
+$GPRMC,095832.00,A,5155.85341,N,00426.27493,E,28.342,133.32,120308,,,A*58
+$GPRMC,095833.00,A,5155.84799,N,00426.28404,E,27.380,129.41,120308,,,A*56
+$GPRMC,095834.00,A,5155.84478,N,00426.29575,E,27.206,119.30,120308,,,A*51
+$GPRMC,095835.00,A,5155.84200,N,00426.30695,E,25.027,110.51,120308,,,A*51
+$GPRMC,095836.00,A,5155.84030,N,00426.31735,E,22.265,104.98,120308,,,A*5A
+$GPRMC,095837.00,A,5155.83981,N,00426.32775,E,20.794,98.74,120308,,,A*67
+$GPRMC,095838.00,A,5155.84035,N,00426.33781,E,20.585,86.14,120308,,,A*68
+$GPRMC,095839.00,A,5155.84140,N,00426.34713,E,19.408,81.08,120308,,,A*62
+$GPRMC,095840.00,A,5155.84437,N,00426.35616,E,19.401,63.63,120308,,,A*64
+$GPRMC,095841.00,A,5155.84685,N,00426.36359,E,18.698,62.41,120308,,,A*61
+$GPRMC,095842.00,A,5155.84937,N,00426.37056,E,17.613,59.91,120308,,,A*60
+$GPRMC,095843.00,A,5155.85404,N,00426.37494,E,17.568,34.45,120308,,,A*6A
+$GPRMC,095844.00,A,5155.85826,N,00426.37845,E,16.497,28.80,120308,,,A*65
+$GPRMC,095845.00,A,5155.86178,N,00426.38024,E,13.694,25.28,120308,,,A*6E
+$GPRMC,095846.00,A,5155.86467,N,00426.38184,E,9.040,22.60,120308,,,A*52
+$GPRMC,095847.00,A,5155.86694,N,00426.38337,E,5.595,21.37,120308,,,A*57
+$GPRMC,095848.00,A,5155.86815,N,00426.38394,E,2.108,20.95,120308,,,A*58
+$GPRMC,095849.00,A,5155.86864,N,00426.38393,E,0.156,20.70,120308,,,A*5A
+$GPRMC,095850.00,A,5155.86891,N,00426.38368,E,0.011,,120308,,,A*75
+$GPRMC,095851.00,A,5155.86914,N,00426.38346,E,0.006,,120308,,,A*72
+$GPRMC,095852.00,A,5155.86934,N,00426.38331,E,0.001,,120308,,,A*74
+$GPRMC,095853.00,A,5155.86946,N,00426.38324,E,0.129,22.96,120308,,,A*5E
+$GPRMC,095854.00,A,5155.86955,N,00426.38319,E,0.028,22.16,120308,,,A*5D
+$GPRMC,095855.00,A,5155.86977,N,00426.38325,E,0.828,22.09,120308,,,A*55
+$GPRMC,095856.00,A,5155.87022,N,00426.38344,E,2.427,21.91,120308,,,A*5A
+$GPRMC,095857.00,A,5155.87092,N,00426.38365,E,2.518,18.63,120308,,,A*59
+$GPRMC,095858.00,A,5155.87151,N,00426.38387,E,1.709,18.84,120308,,,A*5C
+$GPRMC,095859.00,A,5155.87174,N,00426.38385,E,0.427,19.15,120308,,,A*5F
+$GPRMC,095900.00,A,5155.87180,N,00426.38396,E,0.369,19.13,120308,,,A*50
+$GPRMC,095901.00,A,5155.87207,N,00426.38413,E,2.127,20.29,120308,,,A*5E
+$GPRMC,095902.00,A,5155.87293,N,00426.38475,E,4.622,23.57,120308,,,A*5E
+$GPRMC,095903.00,A,5155.87417,N,00426.38550,E,4.762,19.86,120308,,,A*53
+$GPRMC,095904.00,A,5155.87532,N,00426.38612,E,3.986,17.55,120308,,,A*54
+$GPRMC,095905.00,A,5155.87650,N,00426.38674,E,4.688,21.27,120308,,,A*54
+$GPRMC,095906.00,A,5155.87825,N,00426.38765,E,8.467,18.08,120308,,,A*52
+$GPRMC,095907.00,A,5155.88099,N,00426.38853,E,11.137,5.77,120308,,,A*55
+$GPRMC,095908.00,A,5155.88454,N,00426.38839,E,13.949,353.14,120308,,,A*55
+$GPRMC,095909.00,A,5155.88885,N,00426.38782,E,15.988,354.11,120308,,,A*52
+$GPRMC,095910.00,A,5155.89325,N,00426.38478,E,18.007,338.39,120308,,,A*5F
+$GPRMC,095911.00,A,5155.89807,N,00426.38058,E,19.751,331.23,120308,,,A*54
+$GPRMC,095912.00,A,5155.90302,N,00426.37568,E,20.980,327.99,120308,,,A*56
+$GPRMC,095913.00,A,5155.90817,N,00426.37066,E,21.526,327.98,120308,,,A*53
+$GPRMC,095914.00,A,5155.91310,N,00426.36508,E,21.650,324.83,120308,,,A*5E
+$GPRMC,095915.00,A,5155.91799,N,00426.35830,E,22.095,318.29,120308,,,A*5C
+$GPRMC,095916.00,A,5155.92234,N,00426.35102,E,21.731,314.83,120308,,,A*50
+$GPRMC,095917.00,A,5155.92663,N,00426.34402,E,21.437,310.84,120308,,,A*55
+$GPRMC,095918.00,A,5155.92983,N,00426.33644,E,20.604,304.33,120308,,,A*56
+$GPRMC,095919.00,A,5155.93268,N,00426.32798,E,21.472,300.31,120308,,,A*5D
+$GPRMC,095920.00,A,5155.93559,N,00426.31903,E,21.280,298.51,120308,,,A*50
+$GPRMC,095921.00,A,5155.93769,N,00426.30992,E,20.811,293.94,120308,,,A*58
+$GPRMC,095922.00,A,5155.93933,N,00426.30137,E,18.918,290.53,120308,,,A*56
+$GPRMC,095923.00,A,5155.94185,N,00426.29403,E,18.010,302.02,120308,,,A*50
+$GPRMC,095924.00,A,5155.94343,N,00426.28554,E,18.306,304.36,120308,,,A*58
+$GPRMC,095925.00,A,5155.94817,N,00426.27882,E,22.041,313.15,120308,,,A*54
+$GPRMC,095926.00,A,5155.95480,N,00426.27276,E,26.251,323.13,120308,,,A*57
+$GPRMC,095927.00,A,5155.96180,N,00426.26630,E,28.936,325.09,120308,,,A*5E
+$GPRMC,095928.00,A,5155.96934,N,00426.25812,E,32.678,324.20,120308,,,A*5F
+$GPRMC,095929.00,A,5155.97798,N,00426.24890,E,36.635,324.03,120308,,,A*50
+$GPRMC,095930.00,A,5155.98723,N,00426.23876,E,39.706,324.49,120308,,,A*58
+$GPRMC,095931.00,A,5155.99725,N,00426.22872,E,41.726,327.40,120308,,,A*5C
+$GPRMC,095932.00,A,5156.00767,N,00426.21762,E,44.777,324.87,120308,,,A*5E
+$GPRMC,095933.00,A,5156.01766,N,00426.20558,E,44.691,322.90,120308,,,A*5C
+$GPRMC,095934.00,A,5156.02817,N,00426.19259,E,47.890,321.29,120308,,,A*50
+$GPRMC,095935.00,A,5156.03859,N,00426.17921,E,48.537,320.90,120308,,,A*5C
+$GPRMC,095936.00,A,5156.04909,N,00426.16537,E,47.366,318.57,120308,,,A*5B
+$GPRMC,095937.00,A,5156.05945,N,00426.15158,E,46.400,318.00,120308,,,A*59
+$GPRMC,095938.00,A,5156.06958,N,00426.13841,E,45.688,318.87,120308,,,A*50
+$GPRMC,095939.00,A,5156.07933,N,00426.12457,E,45.682,318.17,120308,,,A*54
+$GPRMC,095940.00,A,5156.08944,N,00426.11014,E,46.208,318.33,120308,,,A*56
+$GPRMC,095941.00,A,5156.09897,N,00426.09613,E,45.357,317.54,120308,,,A*57
+$GPRMC,095942.00,A,5156.10829,N,00426.08282,E,44.447,319.11,120308,,,A*5C
+$GPRMC,095943.00,A,5156.11748,N,00426.06955,E,43.935,317.55,120308,,,A*5A
+$GPRMC,095944.00,A,5156.12637,N,00426.05625,E,43.301,317.46,120308,,,A*53
+$GPRMC,095945.00,A,5156.13486,N,00426.04282,E,42.505,316.55,120308,,,A*53
+$GPRMC,095946.00,A,5156.14320,N,00426.02967,E,41.592,316.36,120308,,,A*52
+$GPRMC,095947.00,A,5156.15161,N,00426.01728,E,40.822,316.86,120308,,,A*5F
+$GPRMC,095948.00,A,5156.15976,N,00426.00506,E,39.884,318.02,120308,,,A*51
+$GPRMC,095949.00,A,5156.16788,N,00425.99336,E,39.133,316.92,120308,,,A*58
+$GPRMC,095950.00,A,5156.17608,N,00425.98200,E,39.087,319.31,120308,,,A*55
+$GPRMC,095951.00,A,5156.18414,N,00425.97062,E,38.656,319.82,120308,,,A*5E
+$GPRMC,095952.00,A,5156.19227,N,00425.95950,E,38.245,320.80,120308,,,A*5E
+$GPRMC,095953.00,A,5156.20062,N,00425.94911,E,37.680,322.70,120308,,,A*5D
+$GPRMC,095954.00,A,5156.20900,N,00425.93925,E,37.049,323.16,120308,,,A*55
+$GPRMC,095955.00,A,5156.21717,N,00425.92941,E,36.458,322.39,120308,,,A*57
+$GPRMC,095956.00,A,5156.22517,N,00425.91947,E,36.417,321.49,120308,,,A*5F
+$GPRMC,095957.00,A,5156.23320,N,00425.90965,E,36.225,322.83,120308,,,A*5E
+$GPRMC,095958.00,A,5156.24123,N,00425.89990,E,36.080,323.39,120308,,,A*58
+$GPRMC,095959.00,A,5156.24925,N,00425.89037,E,36.002,323.73,120308,,,A*57
+$GPRMC,100000.00,A,5156.25736,N,00425.88083,E,36.647,324.21,120308,,,A*5B
+$GPRMC,100001.00,A,5156.26562,N,00425.87121,E,37.138,324.33,120308,,,A*51
+$GPRMC,100002.00,A,5156.27401,N,00425.86160,E,37.270,324.97,120308,,,A*52
+$GPRMC,100003.00,A,5156.28238,N,00425.85205,E,36.862,325.14,120308,,,A*51
+$GPRMC,100004.00,A,5156.29067,N,00425.84264,E,36.605,324.93,120308,,,A*58
+$GPRMC,100005.00,A,5156.29893,N,00425.83298,E,36.797,324.47,120308,,,A*5D
+$GPRMC,100006.00,A,5156.30718,N,00425.82303,E,37.544,323.61,120308,,,A*56
+$GPRMC,100007.00,A,5156.31555,N,00425.81257,E,39.121,321.93,120308,,,A*58
+$GPRMC,100008.00,A,5156.32420,N,00425.80131,E,40.577,321.73,120308,,,A*52
+$GPRMC,100009.00,A,5156.33313,N,00425.78999,E,41.164,322.97,120308,,,A*56
+$GPRMC,100010.00,A,5156.34248,N,00425.77845,E,43.062,323.06,120308,,,A*55
+$GPRMC,100011.00,A,5156.35216,N,00425.76617,E,44.742,321.73,120308,,,A*54
+$GPRMC,100012.00,A,5156.36228,N,00425.75357,E,46.603,323.05,120308,,,A*5E
+$GPRMC,100013.00,A,5156.37267,N,00425.74068,E,47.556,322.97,120308,,,A*53
+$GPRMC,100014.00,A,5156.38324,N,00425.72805,E,47.580,324.14,120308,,,A*5E
+$GPRMC,100015.00,A,5156.39395,N,00425.71560,E,47.562,324.51,120308,,,A*54
+$GPRMC,100016.00,A,5156.40461,N,00425.70319,E,47.394,324.41,120308,,,A*52
+$GPRMC,100017.00,A,5156.41524,N,00425.69083,E,47.363,324.50,120308,,,A*52
+$GPRMC,100018.00,A,5156.42582,N,00425.67838,E,46.919,324.56,120308,,,A*54
+$GPRMC,100019.00,A,5156.43632,N,00425.66612,E,46.513,324.63,120308,,,A*5B
+$GPRMC,100020.00,A,5156.44676,N,00425.65398,E,46.039,324.71,120308,,,A*5C
+$GPRMC,100021.00,A,5156.45706,N,00425.64188,E,45.457,324.47,120308,,,A*52
+$GPRMC,100022.00,A,5156.46720,N,00425.62997,E,44.845,324.51,120308,,,A*5F
+$GPRMC,100023.00,A,5156.47727,N,00425.61807,E,44.834,324.22,120308,,,A*51
+$GPRMC,100024.00,A,5156.48736,N,00425.60622,E,44.965,324.54,120308,,,A*55
+$GPRMC,100025.00,A,5156.49754,N,00425.59455,E,45.342,324.44,120308,,,A*56
+$GPRMC,100026.00,A,5156.50778,N,00425.58263,E,45.714,324.33,120308,,,A*56
+$GPRMC,100027.00,A,5156.51808,N,00425.57065,E,45.900,323.71,120308,,,A*5F
+$GPRMC,100028.00,A,5156.52848,N,00425.55879,E,45.996,324.62,120308,,,A*5A
+$GPRMC,100029.00,A,5156.53886,N,00425.54700,E,45.660,324.99,120308,,,A*5A
+$GPRMC,100030.00,A,5156.54918,N,00425.53538,E,45.486,324.87,120308,,,A*58
+$GPRMC,100031.00,A,5156.55947,N,00425.52372,E,45.573,324.65,120308,,,A*5C
+$GPRMC,100032.00,A,5156.56988,N,00425.51198,E,46.084,325.31,120308,,,A*54
+$GPRMC,100033.00,A,5156.58040,N,00425.50011,E,46.126,325.34,120308,,,A*5B
+$GPRMC,100034.00,A,5156.59098,N,00425.48821,E,46.370,325.04,120308,,,A*58
+$GPRMC,100035.00,A,5156.60163,N,00425.47622,E,46.814,325.19,120308,,,A*51
+$GPRMC,100036.00,A,5156.61238,N,00425.46386,E,47.253,325.07,120308,,,A*53
+$GPRMC,100037.00,A,5156.62322,N,00425.45155,E,47.714,324.83,120308,,,A*5F
+$GPRMC,100038.00,A,5156.63413,N,00425.43901,E,48.129,324.43,120308,,,A*50
+$GPRMC,100039.00,A,5156.64510,N,00425.42649,E,47.956,325.22,120308,,,A*5F
+$GPRMC,100040.00,A,5156.65612,N,00425.41409,E,48.033,325.48,120308,,,A*5D
+$GPRMC,100041.00,A,5156.66722,N,00425.40130,E,48.415,325.10,120308,,,A*5E
+$GPRMC,100042.00,A,5156.67827,N,00425.38890,E,48.497,325.41,120308,,,A*54
+$GPRMC,100043.00,A,5156.68924,N,00425.37622,E,48.346,325.12,120308,,,A*5D
+$GPRMC,100044.00,A,5156.70020,N,00425.36387,E,47.560,325.32,120308,,,A*5A
+$GPRMC,100045.00,A,5156.71093,N,00425.35175,E,46.574,325.04,120308,,,A*5F
+$GPRMC,100046.00,A,5156.72137,N,00425.33996,E,45.605,325.04,120308,,,A*55
+$GPRMC,100047.00,A,5156.73158,N,00425.32822,E,44.592,324.51,120308,,,A*5E
+$GPRMC,100048.00,A,5156.74166,N,00425.31690,E,43.956,325.42,120308,,,A*5F
+$GPRMC,100049.00,A,5156.75172,N,00425.30615,E,42.958,326.81,120308,,,A*55
+$GPRMC,100050.00,A,5156.76163,N,00425.29569,E,42.248,327.20,120308,,,A*5E
+$GPRMC,100051.00,A,5156.77158,N,00425.28542,E,42.382,327.74,120308,,,A*58
+$GPRMC,100052.00,A,5156.78130,N,00425.27505,E,41.944,326.54,120308,,,A*56
+$GPRMC,100053.00,A,5156.79106,N,00425.26434,E,42.693,325.62,120308,,,A*51
+$GPRMC,100054.00,A,5156.80081,N,00425.25340,E,43.230,325.50,120308,,,A*54
+$GPRMC,100055.00,A,5156.81092,N,00425.24259,E,44.106,325.35,120308,,,A*5C
+$GPRMC,100056.00,A,5156.82121,N,00425.23130,E,45.473,325.27,120308,,,A*5B
+$GPRMC,100057.00,A,5156.83170,N,00425.21929,E,46.361,325.75,120308,,,A*5D
+$GPRMC,100058.00,A,5156.84278,N,00425.20692,E,49.048,325.36,120308,,,A*50
+$GPRMC,100059.00,A,5156.85367,N,00425.19443,E,48.142,324.72,120308,,,A*50
+$GPRMC,100100.00,A,5156.86454,N,00425.18185,E,48.303,324.99,120308,,,A*55
+$GPRMC,100101.00,A,5156.87538,N,00425.16936,E,48.120,324.89,120308,,,A*52
+$GPRMC,100102.00,A,5156.88623,N,00425.15709,E,47.851,325.30,120308,,,A*55
+$GPRMC,100103.00,A,5156.89720,N,00425.14485,E,47.820,325.54,120308,,,A*55
+$GPRMC,100104.00,A,5156.90807,N,00425.13229,E,48.148,324.79,120308,,,A*51
+$GPRMC,100105.00,A,5156.91894,N,00425.11974,E,47.986,324.70,120308,,,A*56
+$GPRMC,100106.00,A,5156.92972,N,00425.10737,E,47.306,324.98,120308,,,A*53
+$GPRMC,100107.00,A,5156.94021,N,00425.09483,E,46.817,324.56,120308,,,A*57
+$GPRMC,100108.00,A,5156.95071,N,00425.08257,E,46.426,325.00,120308,,,A*5E
+$GPRMC,100109.00,A,5156.96110,N,00425.07023,E,46.227,324.69,120308,,,A*5D
+$GPRMC,100110.00,A,5156.97154,N,00425.05806,E,46.096,324.41,120308,,,A*5B
+$GPRMC,100111.00,A,5156.98182,N,00425.04577,E,45.912,324.10,120308,,,A*56
+$GPRMC,100112.00,A,5156.99218,N,00425.03354,E,46.073,324.79,120308,,,A*56
+$GPRMC,100113.00,A,5157.00259,N,00425.02132,E,46.635,324.57,120308,,,A*58
+$GPRMC,100114.00,A,5157.01312,N,00425.00916,E,46.743,324.03,120308,,,A*5D
+$GPRMC,100115.00,A,5157.02388,N,00424.99737,E,47.221,324.99,120308,,,A*53
+$GPRMC,100116.00,A,5157.03487,N,00424.98541,E,47.381,325.59,120308,,,A*5D
+$GPRMC,100117.00,A,5157.04591,N,00424.97339,E,47.321,325.56,120308,,,A*5E
+$GPRMC,100118.00,A,5157.05680,N,00424.96093,E,47.770,325.31,120308,,,A*50
+$GPRMC,100119.00,A,5157.06787,N,00424.94861,E,48.790,325.05,120308,,,A*55
+$GPRMC,100120.00,A,5157.07909,N,00424.93643,E,48.808,325.37,120308,,,A*50
+$GPRMC,100121.00,A,5157.09013,N,00424.92417,E,47.411,325.69,120308,,,A*5F
+$GPRMC,100122.00,A,5157.10140,N,00424.91167,E,49.205,326.16,120308,,,A*54
+$GPRMC,100123.00,A,5157.11283,N,00424.89976,E,49.279,326.89,120308,,,A*54
+$GPRMC,100124.00,A,5157.12473,N,00424.88871,E,49.162,328.31,120308,,,A*5A
+$GPRMC,100125.00,A,5157.13728,N,00424.87906,E,49.588,331.65,120308,,,A*50
+$GPRMC,100126.00,A,5157.14977,N,00424.86941,E,49.214,332.99,120308,,,A*50
+$GPRMC,100127.00,A,5157.16234,N,00424.86047,E,48.837,334.39,120308,,,A*56
+$GPRMC,100128.00,A,5157.17451,N,00424.85085,E,49.259,334.54,120308,,,A*58
+$GPRMC,100129.00,A,5157.18689,N,00424.84106,E,49.888,334.64,120308,,,A*5F
+$GPRMC,100130.00,A,5157.19931,N,00424.83120,E,49.842,334.69,120308,,,A*52
+$GPRMC,100131.00,A,5157.21180,N,00424.82127,E,49.760,334.51,120308,,,A*58
+$GPRMC,100132.00,A,5157.22424,N,00424.81151,E,49.922,333.95,120308,,,A*56
+$GPRMC,100133.00,A,5157.23687,N,00424.80158,E,50.876,334.40,120308,,,A*52
+$GPRMC,100134.00,A,5157.24921,N,00424.79140,E,49.427,333.91,120308,,,A*55
+$GPRMC,100135.00,A,5157.26153,N,00424.78146,E,49.315,334.04,120308,,,A*51
+$GPRMC,100136.00,A,5157.27399,N,00424.77167,E,49.820,334.13,120308,,,A*50
+$GPRMC,100137.00,A,5157.28651,N,00424.76179,E,50.391,334.27,120308,,,A*5F
+$GPRMC,100138.00,A,5157.29875,N,00424.75199,E,49.489,334.29,120308,,,A*5C
+$GPRMC,100139.00,A,5157.31109,N,00424.74240,E,49.221,334.38,120308,,,A*54
+$GPRMC,100140.00,A,5157.32362,N,00424.73269,E,50.665,334.25,120308,,,A*5A
+$GPRMC,100141.00,A,5157.33645,N,00424.72265,E,51.905,334.11,120308,,,A*58
+$GPRMC,100142.00,A,5157.34964,N,00424.71211,E,53.253,333.53,120308,,,A*5B
+$GPRMC,100143.00,A,5157.36304,N,00424.70105,E,54.735,332.93,120308,,,A*5C
+$GPRMC,100144.00,A,5157.37679,N,00424.68958,E,56.606,332.87,120308,,,A*5A
+$GPRMC,100145.00,A,5157.39101,N,00424.67794,E,57.609,333.56,120308,,,A*5F
+$GPRMC,100146.00,A,5157.40583,N,00424.66534,E,58.937,334.01,120308,,,A*5D
+$GPRMC,100147.00,A,5157.42074,N,00424.65334,E,59.752,335.13,120308,,,A*58
+$GPRMC,100148.00,A,5157.43641,N,00424.64179,E,61.781,336.09,120308,,,A*51
+$GPRMC,100149.00,A,5157.45238,N,00424.63018,E,62.767,335.65,120308,,,A*5F
+$GPRMC,100150.00,A,5157.46840,N,00424.61828,E,63.762,335.13,120308,,,A*5D
+$GPRMC,100151.00,A,5157.48447,N,00424.60606,E,63.876,334.69,120308,,,A*5C
+$GPRMC,100152.00,A,5157.50069,N,00424.59341,E,64.767,334.42,120308,,,A*53
+$GPRMC,100153.00,A,5157.51721,N,00424.58015,E,66.145,333.88,120308,,,A*5E
+$GPRMC,100154.00,A,5157.53373,N,00424.56701,E,66.754,333.86,120308,,,A*5C
+$GPRMC,100155.00,A,5157.55055,N,00424.55375,E,67.714,334.18,120308,,,A*5D
+$GPRMC,100156.00,A,5157.56741,N,00424.54048,E,67.849,333.89,120308,,,A*5B
+$GPRMC,100157.00,A,5157.58420,N,00424.52746,E,66.300,334.23,120308,,,A*5F
+$GPRMC,100158.00,A,5157.60080,N,00424.51457,E,66.309,334.15,120308,,,A*59
+$GPRMC,100159.00,A,5157.61718,N,00424.50180,E,65.320,333.78,120308,,,A*55
+$GPRMC,100200.00,A,5157.63316,N,00424.48960,E,63.313,334.34,120308,,,A*54
+$GPRMC,100201.00,A,5157.64892,N,00424.47746,E,62.268,334.18,120308,,,A*52
+$GPRMC,100202.00,A,5157.66458,N,00424.46537,E,62.658,334.24,120308,,,A*54
+$GPRMC,100203.00,A,5157.68037,N,00424.45333,E,62.694,334.35,120308,,,A*57
+$GPRMC,100204.00,A,5157.69623,N,00424.44128,E,63.580,334.66,120308,,,A*5A
+$GPRMC,100205.00,A,5157.71213,N,00424.42903,E,63.119,334.16,120308,,,A*51
+$GPRMC,100206.00,A,5157.72793,N,00424.41684,E,62.561,334.11,120308,,,A*52
+$GPRMC,100207.00,A,5157.74368,N,00424.40464,E,62.196,334.15,120308,,,A*50
+$GPRMC,100208.00,A,5157.75927,N,00424.39258,E,62.028,334.50,120308,,,A*5D
+$GPRMC,100209.00,A,5157.77503,N,00424.38058,E,62.007,334.54,120308,,,A*5E
+$GPRMC,100210.00,A,5157.79039,N,00424.36874,E,61.157,334.38,120308,,,A*51
+$GPRMC,100211.00,A,5157.80569,N,00424.35692,E,60.656,334.44,120308,,,A*5F
+$GPRMC,100212.00,A,5157.82098,N,00424.34487,E,60.592,333.70,120308,,,A*59
+$GPRMC,100213.00,A,5157.83619,N,00424.33288,E,60.801,333.90,120308,,,A*51
+$GPRMC,100214.00,A,5157.85136,N,00424.32050,E,61.083,333.21,120308,,,A*55
+$GPRMC,100215.00,A,5157.86653,N,00424.30773,E,61.607,332.48,120308,,,A*53
+$GPRMC,100216.00,A,5157.88196,N,00424.29484,E,62.588,333.25,120308,,,A*5E
+$GPRMC,100217.00,A,5157.89773,N,00424.28190,E,62.907,334.13,120308,,,A*5B
+$GPRMC,100218.00,A,5157.91330,N,00424.26914,E,62.288,334.07,120308,,,A*5D
+$GPRMC,100219.00,A,5157.92884,N,00424.25683,E,61.703,333.94,120308,,,A*51
+$GPRMC,100220.00,A,5157.94426,N,00424.24444,E,60.833,333.77,120308,,,A*51
+$GPRMC,100221.00,A,5157.95917,N,00424.23262,E,59.652,333.50,120308,,,A*5D
+$GPRMC,100222.00,A,5157.97338,N,00424.22185,E,56.880,334.27,120308,,,A*59
+$GPRMC,100223.00,A,5157.98718,N,00424.21103,E,55.253,333.68,120308,,,A*57
+$GPRMC,100224.00,A,5158.00016,N,00424.20127,E,52.237,334.13,120308,,,A*5E
+$GPRMC,100225.00,A,5158.01308,N,00424.19106,E,51.589,333.97,120308,,,A*51
+$GPRMC,100226.00,A,5158.02591,N,00424.18089,E,51.556,333.52,120308,,,A*5B
+$GPRMC,100227.00,A,5158.03870,N,00424.17092,E,50.922,334.26,120308,,,A*56
+$GPRMC,100228.00,A,5158.05157,N,00424.16126,E,50.852,334.68,120308,,,A*50
+$GPRMC,100229.00,A,5158.06424,N,00424.15150,E,49.993,334.09,120308,,,A*52
+$GPRMC,100230.00,A,5158.07676,N,00424.14175,E,49.717,334.28,120308,,,A*59
+$GPRMC,100231.00,A,5158.08922,N,00424.13182,E,50.124,333.24,120308,,,A*53
+$GPRMC,100232.00,A,5158.10178,N,00424.12156,E,50.544,333.22,120308,,,A*52
+$GPRMC,100233.00,A,5158.11433,N,00424.11202,E,49.380,335.51,120308,,,A*5D
+$GPRMC,100234.00,A,5158.12638,N,00424.10312,E,46.059,335.60,120308,,,A*5B
+$GPRMC,100235.00,A,5158.13848,N,00424.09409,E,47.702,335.70,120308,,,A*5E
+$GPRMC,100236.00,A,5158.15123,N,00424.08440,E,50.615,335.09,120308,,,A*5C
+$GPRMC,100237.00,A,5158.16408,N,00424.07495,E,50.377,335.42,120308,,,A*5B
+$GPRMC,100238.00,A,5158.17688,N,00424.06542,E,50.791,335.27,120308,,,A*5A
+$GPRMC,100239.00,A,5158.18958,N,00424.05536,E,50.519,334.81,120308,,,A*59
+$GPRMC,100240.00,A,5158.20222,N,00424.04538,E,50.530,334.10,120308,,,A*56
+$GPRMC,100241.00,A,5158.21467,N,00424.03537,E,50.338,333.50,120308,,,A*54
+$GPRMC,100242.00,A,5158.22752,N,00424.02564,E,51.688,334.84,120308,,,A*57
+$GPRMC,100243.00,A,5158.24042,N,00424.01600,E,51.914,335.68,120308,,,A*5D
+$GPRMC,100244.00,A,5158.25285,N,00424.00691,E,50.348,336.23,120308,,,A*55
+$GPRMC,100245.00,A,5158.26544,N,00423.99833,E,50.378,338.34,120308,,,A*57
+$GPRMC,100246.00,A,5158.27841,N,00423.99034,E,49.675,340.62,120308,,,A*5E
+$GPRMC,100247.00,A,5158.29150,N,00423.98303,E,48.870,341.83,120308,,,A*5A
+$GPRMC,100248.00,A,5158.30438,N,00423.97606,E,48.184,343.14,120308,,,A*57
+$GPRMC,100249.00,A,5158.31755,N,00423.97006,E,48.471,344.88,120308,,,A*54
+$GPRMC,100250.00,A,5158.33081,N,00423.96454,E,48.738,345.21,120308,,,A*5E
+$GPRMC,100251.00,A,5158.34421,N,00423.95889,E,49.597,344.95,120308,,,A*51
+$GPRMC,100252.00,A,5158.35784,N,00423.95321,E,49.958,344.93,120308,,,A*5F
+$GPRMC,100253.00,A,5158.37158,N,00423.94759,E,50.730,345.28,120308,,,A*58
+$GPRMC,100254.00,A,5158.38558,N,00423.94180,E,51.757,344.92,120308,,,A*56
+$GPRMC,100255.00,A,5158.39983,N,00423.93605,E,52.938,345.27,120308,,,A*5A
+$GPRMC,100256.00,A,5158.41427,N,00423.93009,E,53.643,345.19,120308,,,A*50
+$GPRMC,100257.00,A,5158.42884,N,00423.92395,E,54.066,345.33,120308,,,A*5E
+$GPRMC,100258.00,A,5158.44358,N,00423.91787,E,54.802,345.50,120308,,,A*56
+$GPRMC,100259.00,A,5158.45839,N,00423.91179,E,54.595,345.28,120308,,,A*51
+$GPRMC,100300.00,A,5158.47313,N,00423.90561,E,54.480,345.33,120308,,,A*5E
+$GPRMC,100301.00,A,5158.48813,N,00423.89929,E,55.860,344.97,120308,,,A*5F
+$GPRMC,100302.00,A,5158.50344,N,00423.89277,E,57.369,345.02,120308,,,A*51
+$GPRMC,100303.00,A,5158.51921,N,00423.88613,E,58.885,345.21,120308,,,A*58
+$GPRMC,100304.00,A,5158.53540,N,00423.87932,E,60.328,345.13,120308,,,A*53
+$GPRMC,100305.00,A,5158.55195,N,00423.87237,E,61.683,345.22,120308,,,A*51
+$GPRMC,100306.00,A,5158.56884,N,00423.86523,E,63.042,345.14,120308,,,A*57
+$GPRMC,100307.00,A,5158.58612,N,00423.85791,E,64.257,345.23,120308,,,A*54
+$GPRMC,100308.00,A,5158.60375,N,00423.85050,E,65.448,345.17,120308,,,A*50
+$GPRMC,100309.00,A,5158.62151,N,00423.84298,E,65.763,345.18,120308,,,A*55
+$GPRMC,100310.00,A,5158.63916,N,00423.83553,E,65.209,345.26,120308,,,A*54
+$GPRMC,100311.00,A,5158.65664,N,00423.82808,E,64.581,344.95,120308,,,A*54
+$GPRMC,100312.00,A,5158.67405,N,00423.82064,E,64.416,345.26,120308,,,A*54
+$GPRMC,100313.00,A,5158.69132,N,00423.81332,E,63.520,345.21,120308,,,A*5D
+$GPRMC,100314.00,A,5158.70841,N,00423.80598,E,62.933,345.30,120308,,,A*57
+$GPRMC,100315.00,A,5158.72524,N,00423.79875,E,62.132,345.06,120308,,,A*5E
+$GPRMC,100316.00,A,5158.74179,N,00423.79166,E,61.212,345.25,120308,,,A*5F
+$GPRMC,100317.00,A,5158.75812,N,00423.78462,E,60.112,345.08,120308,,,A*56
+$GPRMC,100318.00,A,5158.77426,N,00423.77775,E,59.744,345.24,120308,,,A*5B
+$GPRMC,100319.00,A,5158.79035,N,00423.77095,E,59.700,345.27,120308,,,A*58
+$GPRMC,100320.00,A,5158.80646,N,00423.76406,E,59.945,345.11,120308,,,A*53
+$GPRMC,100321.00,A,5158.82266,N,00423.75712,E,60.394,345.14,120308,,,A*5A
+$GPRMC,100322.00,A,5158.83898,N,00423.75021,E,60.798,345.37,120308,,,A*5D
+$GPRMC,100323.00,A,5158.85543,N,00423.74326,E,61.179,345.31,120308,,,A*5A
+$GPRMC,100324.00,A,5158.87190,N,00423.73626,E,61.474,345.00,120308,,,A*5D
+$GPRMC,100325.00,A,5158.88850,N,00423.72920,E,61.887,345.43,120308,,,A*59
+$GPRMC,100326.00,A,5158.90524,N,00423.72213,E,62.368,345.43,120308,,,A*5F
+$GPRMC,100327.00,A,5158.92210,N,00423.71514,E,62.797,345.76,120308,,,A*5D
+$GPRMC,100328.00,A,5158.93918,N,00423.70835,E,63.649,346.56,120308,,,A*5D
+$GPRMC,100329.00,A,5158.95652,N,00423.70190,E,63.956,347.27,120308,,,A*5B
+$GPRMC,100330.00,A,5158.97390,N,00423.69533,E,64.210,346.34,120308,,,A*52
+$GPRMC,100331.00,A,5158.99122,N,00423.68838,E,63.746,345.81,120308,,,A*5D
+$GPRMC,100332.00,A,5159.00832,N,00423.68133,E,63.209,345.76,120308,,,A*53
+$GPRMC,100333.00,A,5159.02531,N,00423.67456,E,63.012,346.63,120308,,,A*58
+$GPRMC,100334.00,A,5159.04239,N,00423.66814,E,63.141,347.26,120308,,,A*5A
+$GPRMC,100335.00,A,5159.05960,N,00423.66178,E,63.421,346.90,120308,,,A*51
+$GPRMC,100336.00,A,5159.07674,N,00423.65511,E,63.241,345.93,120308,,,A*52
+$GPRMC,100337.00,A,5159.09370,N,00423.64812,E,62.562,345.39,120308,,,A*54
+$GPRMC,100338.00,A,5159.11031,N,00423.64100,E,61.276,345.01,120308,,,A*54
+$GPRMC,100339.00,A,5159.12635,N,00423.63404,E,58.802,345.07,120308,,,A*57
+$GPRMC,100340.00,A,5159.14173,N,00423.62746,E,56.171,345.37,120308,,,A*5E
+$GPRMC,100341.00,A,5159.15659,N,00423.62118,E,54.807,345.30,120308,,,A*51
+$GPRMC,100342.00,A,5159.17104,N,00423.61504,E,53.403,345.24,120308,,,A*5F
+$GPRMC,100343.00,A,5159.18516,N,00423.60900,E,52.268,345.15,120308,,,A*57
+$GPRMC,100344.00,A,5159.19897,N,00423.60309,E,51.085,345.20,120308,,,A*52
+$GPRMC,100345.00,A,5159.21250,N,00423.59730,E,50.147,345.09,120308,,,A*58
+$GPRMC,100346.00,A,5159.22584,N,00423.59151,E,49.807,344.85,120308,,,A*57
+$GPRMC,100347.00,A,5159.23909,N,00423.58568,E,49.633,344.80,120308,,,A*5D
+$GPRMC,100348.00,A,5159.25239,N,00423.57989,E,49.974,345.13,120308,,,A*57
+$GPRMC,100349.00,A,5159.26598,N,00423.57426,E,51.340,346.09,120308,,,A*5D
+$GPRMC,100350.00,A,5159.28005,N,00423.56904,E,52.747,347.90,120308,,,A*57
+$GPRMC,100351.00,A,5159.29456,N,00423.56420,E,53.980,348.58,120308,,,A*51
+$GPRMC,100352.00,A,5159.30929,N,00423.55934,E,54.289,348.30,120308,,,A*5F
+$GPRMC,100353.00,A,5159.32404,N,00423.55424,E,54.255,347.39,120308,,,A*55
+$GPRMC,100354.00,A,5159.33870,N,00423.54879,E,54.029,346.63,120308,,,A*5E
+$GPRMC,100355.00,A,5159.35333,N,00423.54297,E,54.364,345.64,120308,,,A*51
+$GPRMC,100356.00,A,5159.36771,N,00423.53699,E,53.025,345.21,120308,,,A*5E
+$GPRMC,100357.00,A,5159.38183,N,00423.53110,E,52.610,345.41,120308,,,A*5B
+$GPRMC,100358.00,A,5159.39585,N,00423.52518,E,51.971,345.13,120308,,,A*56
+$GPRMC,100359.00,A,5159.40971,N,00423.51919,E,51.423,344.86,120308,,,A*57
+$GPRMC,100400.00,A,5159.42332,N,00423.51335,E,50.554,345.10,120308,,,A*59
+$GPRMC,100401.00,A,5159.43669,N,00423.50763,E,49.595,345.26,120308,,,A*54
+$GPRMC,100402.00,A,5159.44983,N,00423.50195,E,48.747,345.29,120308,,,A*57
+$GPRMC,100403.00,A,5159.46273,N,00423.49636,E,47.835,345.13,120308,,,A*5A
+$GPRMC,100404.00,A,5159.47542,N,00423.49077,E,46.830,345.11,120308,,,A*5C
+$GPRMC,100405.00,A,5159.48794,N,00423.48531,E,46.548,345.20,120308,,,A*5D
+$GPRMC,100406.00,A,5159.50019,N,00423.48001,E,45.407,346.03,120308,,,A*58
+$GPRMC,100407.00,A,5159.51234,N,00423.47512,E,44.949,346.04,120308,,,A*5C
+$GPRMC,100408.00,A,5159.52452,N,00423.47021,E,45.171,346.77,120308,,,A*55
+$GPRMC,100409.00,A,5159.53668,N,00423.46576,E,45.039,347.75,120308,,,A*56
+$GPRMC,100410.00,A,5159.54879,N,00423.46190,E,43.817,349.67,120308,,,A*54
+$GPRMC,100411.00,A,5159.56095,N,00423.45866,E,44.290,351.18,120308,,,A*5D
+$GPRMC,100412.00,A,5159.57314,N,00423.45585,E,44.887,351.79,120308,,,A*5E
+$GPRMC,100413.00,A,5159.58545,N,00423.45291,E,45.143,350.97,120308,,,A*51
+$GPRMC,100414.00,A,5159.59788,N,00423.44873,E,45.687,347.94,120308,,,A*59
+$GPRMC,100415.00,A,5159.61033,N,00423.44391,E,46.963,346.89,120308,,,A*58
+$GPRMC,100416.00,A,5159.62307,N,00423.43954,E,48.139,348.04,120308,,,A*5A
+$GPRMC,100417.00,A,5159.63642,N,00423.43543,E,48.964,350.40,120308,,,A*5D
+$GPRMC,100418.00,A,5159.64977,N,00423.43206,E,48.448,351.73,120308,,,A*58
+$GPRMC,100419.00,A,5159.66277,N,00423.42923,E,47.060,352.14,120308,,,A*5E
+$GPRMC,100420.00,A,5159.67522,N,00423.42683,E,45.674,352.95,120308,,,A*5F
+$GPRMC,100421.00,A,5159.68683,N,00423.42491,E,43.473,353.30,120308,,,A*55
+$GPRMC,100422.00,A,5159.69822,N,00423.42319,E,40.106,354.22,120308,,,A*55
+$GPRMC,100423.00,A,5159.70859,N,00423.42221,E,36.736,355.49,120308,,,A*52
+$GPRMC,100424.00,A,5159.71831,N,00423.42160,E,33.870,358.47,120308,,,A*57
+$GPRMC,100425.00,A,5159.72727,N,00423.42115,E,31.962,0.25,120308,,,A*55
+$GPRMC,100426.00,A,5159.73454,N,00423.42216,E,26.329,5.36,120308,,,A*54
+$GPRMC,100427.00,A,5159.74073,N,00423.42361,E,21.267,7.79,120308,,,A*57
+$GPRMC,100428.00,A,5159.74467,N,00423.42419,E,13.779,6.62,120308,,,A*51
+$GPRMC,100429.00,A,5159.74715,N,00423.42494,E,7.008,8.46,120308,,,A*6F
+$GPRMC,100430.00,A,5159.74794,N,00423.42527,E,1.264,9.20,120308,,,A*68
+$GPRMC,100431.00,A,5159.74784,N,00423.42539,E,0.248,15.31,120308,,,A*55
+$GPRMC,100432.00,A,5159.74754,N,00423.42539,E,0.196,20.89,120308,,,A*5E
+$GPRMC,100433.00,A,5159.74731,N,00423.42536,E,0.236,26.27,120308,,,A*58
+$GPRMC,100434.00,A,5159.74717,N,00423.42519,E,0.124,28.84,120308,,,A*51
+$GPRMC,100435.00,A,5159.74711,N,00423.42492,E,0.200,25.57,120308,,,A*52
+$GPRMC,100436.00,A,5159.74699,N,00423.42511,E,0.060,22.56,120308,,,A*58
+$GPRMC,100437.00,A,5159.74667,N,00423.42575,E,0.015,,120308,,,A*75
+$GPRMC,100438.00,A,5159.74641,N,00423.42626,E,0.012,,120308,,,A*7C
+$GPRMC,100439.00,A,5159.74622,N,00423.42665,E,0.037,25.19,120308,,,A*59
+$GPRMC,100440.00,A,5159.74606,N,00423.42695,E,0.121,27.53,120308,,,A*54
+$GPRMC,100441.00,A,5159.74593,N,00423.42724,E,0.126,30.25,120308,,,A*51
+$GPRMC,100442.00,A,5159.74582,N,00423.42750,E,0.005,,120308,,,A*7B
+$GPRMC,100443.00,A,5159.74573,N,00423.42770,E,0.026,30.57,120308,,,A*58
+$GPRMC,100444.00,A,5159.74565,N,00423.42789,E,0.010,,120308,,,A*74
+$GPRMC,100445.00,A,5159.74558,N,00423.42803,E,0.036,32.86,120308,,,A*53
+$GPRMC,100446.00,A,5159.74551,N,00423.42817,E,0.020,29.21,120308,,,A*5C
+$GPRMC,100447.00,A,5159.74547,N,00423.42830,E,0.013,,120308,,,A*79
+$GPRMC,100448.00,A,5159.74542,N,00423.42840,E,0.010,,120308,,,A*77
+$GPRMC,100449.00,A,5159.74558,N,00423.42856,E,1.524,27.88,120308,,,A*52
+$GPRMC,100450.00,A,5159.74684,N,00423.42910,E,7.710,8.10,120308,,,A*64
+$GPRMC,100451.00,A,5159.75001,N,00423.43011,E,14.976,9.06,120308,,,A*5C
+$GPRMC,100452.00,A,5159.75427,N,00423.43108,E,15.747,9.18,120308,,,A*54
+$GPRMC,100453.00,A,5159.76010,N,00423.43284,E,21.707,12.41,120308,,,A*64
+$GPRMC,100454.00,A,5159.76645,N,00423.43536,E,24.565,15.31,120308,,,A*68
+$GPRMC,100455.00,A,5159.77351,N,00423.43838,E,26.094,15.08,120308,,,A*68
+$GPRMC,100456.00,A,5159.78141,N,00423.44162,E,28.550,14.65,120308,,,A*6F
+$GPRMC,100457.00,A,5159.78949,N,00423.44390,E,29.823,6.86,120308,,,A*57
+$GPRMC,100458.00,A,5159.79816,N,00423.44382,E,29.844,356.54,120308,,,A*59
+$GPRMC,100459.00,A,5159.80644,N,00423.44153,E,30.319,345.25,120308,,,A*56
+$GPRMC,100500.00,A,5159.81461,N,00423.43608,E,31.565,336.11,120308,,,A*5E
+$GPRMC,100501.00,A,5159.82234,N,00423.42885,E,32.168,327.70,120308,,,A*5D
+$GPRMC,100502.00,A,5159.82915,N,00423.41857,E,33.943,316.73,120308,,,A*5B
+$GPRMC,100503.00,A,5159.83395,N,00423.40640,E,33.053,303.90,120308,,,A*51
+$GPRMC,100504.00,A,5159.83742,N,00423.39244,E,33.176,289.98,120308,,,A*5B
+$GPRMC,100505.00,A,5159.83929,N,00423.37706,E,34.131,282.09,120308,,,A*53
+$GPRMC,100506.00,A,5159.83914,N,00423.36127,E,32.680,269.71,120308,,,A*5B
+$GPRMC,100507.00,A,5159.83733,N,00423.34562,E,32.926,254.84,120308,,,A*51
+$GPRMC,100508.00,A,5159.83401,N,00423.33137,E,33.442,246.75,120308,,,A*5C
+$GPRMC,100509.00,A,5159.82976,N,00423.31700,E,34.152,244.28,120308,,,A*58
+$GPRMC,100510.00,A,5159.82470,N,00423.30378,E,33.134,237.53,120308,,,A*5E
+$GPRMC,100511.00,A,5159.81960,N,00423.29149,E,32.023,234.74,120308,,,A*58
+$GPRMC,100512.00,A,5159.81401,N,00423.28074,E,30.139,227.38,120308,,,A*5D
+$GPRMC,100513.00,A,5159.80737,N,00423.27345,E,28.475,212.05,120308,,,A*59
+$GPRMC,100514.00,A,5159.80058,N,00423.27165,E,26.178,188.29,120308,,,A*58
+$GPRMC,100515.00,A,5159.79342,N,00423.27273,E,26.710,173.91,120308,,,A*5C
+$GPRMC,100516.00,A,5159.78523,N,00423.27533,E,29.621,169.37,120308,,,A*57
+$GPRMC,100517.00,A,5159.77732,N,00423.27841,E,29.040,167.18,120308,,,A*51
+$GPRMC,100518.00,A,5159.76980,N,00423.28148,E,26.252,167.32,120308,,,A*51
+$GPRMC,100519.00,A,5159.76326,N,00423.28457,E,22.191,165.13,120308,,,A*54
+$GPRMC,100520.00,A,5159.75799,N,00423.28731,E,17.202,164.23,120308,,,A*53
+$GPRMC,100521.00,A,5159.75399,N,00423.28925,E,12.025,163.73,120308,,,A*5D
+$GPRMC,100522.00,A,5159.75175,N,00423.29040,E,5.584,163.05,120308,,,A*6C
+$GPRMC,100523.00,A,5159.75085,N,00423.29083,E,1.591,163.28,120308,,,A*63
+$GPRMC,100524.00,A,5159.75041,N,00423.29101,E,1.384,163.15,120308,,,A*6B
+$GPRMC,100525.00,A,5159.74937,N,00423.29171,E,5.742,161.88,120308,,,A*68
+$GPRMC,100526.00,A,5159.74671,N,00423.29372,E,11.832,152.96,120308,,,A*55
+$GPRMC,100527.00,A,5159.74248,N,00423.29724,E,17.740,152.77,120308,,,A*5E
+$GPRMC,100528.00,A,5159.73678,N,00423.30120,E,22.490,154.51,120308,,,A*51
+$GPRMC,100529.00,A,5159.73001,N,00423.30615,E,26.963,154.44,120308,,,A*58
+$GPRMC,100530.00,A,5159.72288,N,00423.31228,E,30.847,153.88,120308,,,A*5E
+$GPRMC,100531.00,A,5159.71455,N,00423.31831,E,33.030,155.80,120308,,,A*5D
+$GPRMC,100532.00,A,5159.70575,N,00423.32467,E,35.620,156.50,120308,,,A*5F
+$GPRMC,100533.00,A,5159.69628,N,00423.33104,E,37.380,157.59,120308,,,A*59
+$GPRMC,100534.00,A,5159.68648,N,00423.33761,E,39.226,157.74,120308,,,A*50
+$GPRMC,100535.00,A,5159.67615,N,00423.34428,E,39.950,157.89,120308,,,A*57
+$GPRMC,100536.00,A,5159.66581,N,00423.35093,E,39.718,157.91,120308,,,A*55
+$GPRMC,100537.00,A,5159.65560,N,00423.35753,E,39.194,157.67,120308,,,A*58
+$GPRMC,100538.00,A,5159.64519,N,00423.36385,E,39.467,158.81,120308,,,A*5A
+$GPRMC,100539.00,A,5159.63508,N,00423.37026,E,38.699,158.71,120308,,,A*5A
+$GPRMC,100540.00,A,5159.62558,N,00423.37624,E,36.468,159.78,120308,,,A*5E
+$GPRMC,100541.00,A,5159.61692,N,00423.38169,E,33.897,159.56,120308,,,A*5D
+$GPRMC,100542.00,A,5159.60884,N,00423.38710,E,32.098,157.83,120308,,,A*5E
+$GPRMC,100543.00,A,5159.60049,N,00423.39240,E,32.136,158.28,120308,,,A*5C
+$GPRMC,100544.00,A,5159.59186,N,00423.39746,E,32.920,158.94,120308,,,A*58
+$GPRMC,100545.00,A,5159.58302,N,00423.40267,E,33.687,159.12,120308,,,A*52
+$GPRMC,100546.00,A,5159.57442,N,00423.40791,E,32.711,158.92,120308,,,A*57
+$GPRMC,100547.00,A,5159.56553,N,00423.41303,E,33.203,159.40,120308,,,A*51
+$GPRMC,100548.00,A,5159.55658,N,00423.41816,E,33.312,159.26,120308,,,A*5B
+$GPRMC,100549.00,A,5159.54729,N,00423.42347,E,34.404,159.34,120308,,,A*54
+$GPRMC,100550.00,A,5159.53823,N,00423.42903,E,35.016,159.32,120308,,,A*54
+$GPRMC,100551.00,A,5159.52826,N,00423.43442,E,36.398,160.51,120308,,,A*51
+$GPRMC,100552.00,A,5159.51852,N,00423.43979,E,36.307,160.83,120308,,,A*5E
+$GPRMC,100553.00,A,5159.50853,N,00423.44499,E,36.769,161.53,120308,,,A*5B
+$GPRMC,100554.00,A,5159.49832,N,00423.45004,E,37.978,162.83,120308,,,A*53
+$GPRMC,100555.00,A,5159.48776,N,00423.45507,E,40.239,163.81,120308,,,A*57
+$GPRMC,100556.00,A,5159.47663,N,00423.46009,E,41.359,164.22,120308,,,A*5E
+$GPRMC,100557.00,A,5159.46527,N,00423.46516,E,42.436,164.17,120308,,,A*5D
+$GPRMC,100558.00,A,5159.45344,N,00423.47045,E,44.560,164.11,120308,,,A*52
+$GPRMC,100559.00,A,5159.44267,N,00423.47626,E,46.645,164.47,120308,,,A*54
+$GPRMC,100600.00,A,5159.42987,N,00423.48204,E,46.818,163.22,120308,,,A*51
+$GPRMC,100601.00,A,5159.41730,N,00423.48810,E,45.921,162.78,120308,,,A*58
+$GPRMC,100602.00,A,5159.40506,N,00423.49402,E,44.851,163.34,120308,,,A*5D
+$GPRMC,100603.00,A,5159.39305,N,00423.49962,E,43.683,164.00,120308,,,A*5A
+$GPRMC,100604.00,A,5159.38121,N,00423.50488,E,42.729,164.62,120308,,,A*5D
+$GPRMC,100605.00,A,5159.36973,N,00423.50990,E,42.210,164.77,120308,,,A*52
+$GPRMC,100606.00,A,5159.35837,N,00423.51482,E,41.453,164.93,120308,,,A*54
+$GPRMC,100607.00,A,5159.34715,N,00423.51978,E,41.139,164.82,120308,,,A*5A
+$GPRMC,100608.00,A,5159.33580,N,00423.52473,E,41.027,164.03,120308,,,A*5E
+$GPRMC,100609.00,A,5159.32460,N,00423.52988,E,41.695,163.44,120308,,,A*53
+$GPRMC,100610.00,A,5159.31346,N,00423.53533,E,42.781,162.05,120308,,,A*55
+$GPRMC,100611.00,A,5159.30185,N,00423.54133,E,44.559,162.00,120308,,,A*5F
+$GPRMC,100612.00,A,5159.28966,N,00423.54756,E,46.210,162.19,120308,,,A*55
+$GPRMC,100613.00,A,5159.27673,N,00423.55421,E,49.117,161.46,120308,,,A*50
+$GPRMC,100614.00,A,5159.26314,N,00423.56113,E,51.141,162.57,120308,,,A*5C
+$GPRMC,100615.00,A,5159.24874,N,00423.56780,E,52.910,164.28,120308,,,A*5F
+$GPRMC,100616.00,A,5159.23410,N,00423.57418,E,54.897,165.05,120308,,,A*50
+$GPRMC,100617.00,A,5159.21913,N,00423.58068,E,56.792,165.26,120308,,,A*58
+$GPRMC,100618.00,A,5159.20353,N,00423.58785,E,58.912,165.02,120308,,,A*52
+$GPRMC,100619.00,A,5159.18741,N,00423.59531,E,60.254,164.81,120308,,,A*5B
+$GPRMC,100620.00,A,5159.17119,N,00423.60257,E,60.662,164.82,120308,,,A*5A
+$GPRMC,100621.00,A,5159.15462,N,00423.60992,E,61.498,165.17,120308,,,A*59
+$GPRMC,100622.00,A,5159.13804,N,00423.61732,E,61.884,165.37,120308,,,A*56
+$GPRMC,100623.00,A,5159.12135,N,00423.62461,E,62.200,165.50,120308,,,A*5F
+$GPRMC,100624.00,A,5159.10460,N,00423.63194,E,62.459,165.17,120308,,,A*58
+$GPRMC,100625.00,A,5159.08792,N,00423.63929,E,62.155,165.16,120308,,,A*58
+$GPRMC,100626.00,A,5159.07133,N,00423.64661,E,61.710,165.18,120308,,,A*57
+$GPRMC,100627.00,A,5159.05482,N,00423.65388,E,61.388,165.11,120308,,,A*54
+$GPRMC,100628.00,A,5159.03829,N,00423.66115,E,61.644,165.19,120308,,,A*58
+$GPRMC,100629.00,A,5159.02170,N,00423.66819,E,62.002,165.22,120308,,,A*57
+$GPRMC,100630.00,A,5159.00501,N,00423.67523,E,62.535,165.16,120308,,,A*5C
+$GPRMC,100631.00,A,5158.98819,N,00423.68241,E,63.270,164.96,120308,,,A*5B
+$GPRMC,100632.00,A,5158.97127,N,00423.68968,E,63.511,164.86,120308,,,A*52
+$GPRMC,100633.00,A,5158.95418,N,00423.69715,E,63.911,164.77,120308,,,A*5F
+$GPRMC,100634.00,A,5158.93697,N,00423.70473,E,64.257,164.52,120308,,,A*59
+$GPRMC,100635.00,A,5158.91979,N,00423.71246,E,64.158,164.64,120308,,,A*5D
+$GPRMC,100636.00,A,5158.90272,N,00423.72003,E,63.511,164.44,120308,,,A*53
+$GPRMC,100637.00,A,5158.88561,N,00423.72737,E,63.974,164.59,120308,,,A*5D
+$GPRMC,100638.00,A,5158.86820,N,00423.73456,E,65.032,164.95,120308,,,A*5C
+$GPRMC,100639.00,A,5158.85056,N,00423.74206,E,66.031,164.90,120308,,,A*56
+$GPRMC,100640.00,A,5158.83265,N,00423.74968,E,67.115,164.86,120308,,,A*5E
+$GPRMC,100641.00,A,5158.81465,N,00423.75729,E,67.298,165.04,120308,,,A*5C
+$GPRMC,100642.00,A,5158.79656,N,00423.76526,E,67.968,164.04,120308,,,A*51
+$GPRMC,100643.00,A,5158.77862,N,00423.77308,E,67.716,164.51,120308,,,A*5B
+$GPRMC,100644.00,A,5158.76067,N,00423.77982,E,67.343,165.08,120308,,,A*51
+$GPRMC,100645.00,A,5158.74263,N,00423.78748,E,67.398,165.21,120308,,,A*5E
+$GPRMC,100646.00,A,5158.72456,N,00423.79515,E,67.563,165.38,120308,,,A*5A
+$GPRMC,100647.00,A,5158.70639,N,00423.80316,E,68.006,164.97,120308,,,A*5C
+$GPRMC,100648.00,A,5158.68818,N,00423.81094,E,68.034,165.47,120308,,,A*52
+$GPRMC,100649.00,A,5158.66992,N,00423.81865,E,68.248,165.27,120308,,,A*57
+$GPRMC,100650.00,A,5158.65152,N,00423.82642,E,68.462,165.59,120308,,,A*57
+$GPRMC,100651.00,A,5158.63305,N,00423.83342,E,68.509,166.15,120308,,,A*53
+$GPRMC,100652.00,A,5158.61464,N,00423.84086,E,68.489,165.92,120308,,,A*5B
+$GPRMC,100653.00,A,5158.59627,N,00423.84839,E,68.284,165.69,120308,,,A*57
+$GPRMC,100654.00,A,5158.57780,N,00423.85593,E,68.399,165.47,120308,,,A*5F
+$GPRMC,100655.00,A,5158.55942,N,00423.86348,E,68.121,165.40,120308,,,A*59
+$GPRMC,100656.00,A,5158.54107,N,00423.87114,E,68.165,165.36,120308,,,A*59
+$GPRMC,100657.00,A,5158.52269,N,00423.87877,E,68.218,165.69,120308,,,A*5A
+$GPRMC,100658.00,A,5158.50437,N,00423.88645,E,68.101,165.19,120308,,,A*56
+$GPRMC,100659.00,A,5158.48605,N,00423.89424,E,68.332,165.35,120308,,,A*55
+$GPRMC,100700.00,A,5158.46770,N,00423.90202,E,68.287,165.25,120308,,,A*51
+$GPRMC,100701.00,A,5158.44937,N,00423.90989,E,68.265,164.99,120308,,,A*5D
+$GPRMC,100702.00,A,5158.43109,N,00423.91782,E,68.070,165.01,120308,,,A*5E
+$GPRMC,100703.00,A,5158.41300,N,00423.92559,E,66.988,165.26,120308,,,A*54
+$GPRMC,100704.00,A,5158.39512,N,00423.93330,E,66.389,164.90,120308,,,A*56
+$GPRMC,100705.00,A,5158.37739,N,00423.94099,E,66.238,164.91,120308,,,A*5F
+$GPRMC,100706.00,A,5158.35971,N,00423.94860,E,65.977,165.06,120308,,,A*5E
+$GPRMC,100707.00,A,5158.34215,N,00423.95615,E,65.785,164.84,120308,,,A*52
+$GPRMC,100708.00,A,5158.32468,N,00423.96366,E,65.479,164.84,120308,,,A*55
+$GPRMC,100709.00,A,5158.30731,N,00423.97120,E,65.114,164.24,120308,,,A*5C
+$GPRMC,100710.00,A,5158.29007,N,00423.97929,E,64.610,163.04,120308,,,A*58
+$GPRMC,100711.00,A,5158.27303,N,00423.98808,E,64.639,161.14,120308,,,A*55
+$GPRMC,100712.00,A,5158.25603,N,00423.99756,E,65.188,160.46,120308,,,A*5E
+$GPRMC,100713.00,A,5158.23900,N,00424.00818,E,66.087,158.65,120308,,,A*50
+$GPRMC,100714.00,A,5158.22236,N,00424.02066,E,66.538,155.75,120308,,,A*56
+$GPRMC,100715.00,A,5158.20557,N,00424.03303,E,66.611,155.12,120308,,,A*5D
+$GPRMC,100716.00,A,5158.18895,N,00424.04609,E,66.717,153.83,120308,,,A*57
+$GPRMC,100717.00,A,5158.17173,N,00424.05928,E,67.821,153.99,120308,,,A*55
+$GPRMC,100718.00,A,5158.15464,N,00424.07237,E,68.136,153.97,120308,,,A*52
+$GPRMC,100719.00,A,5158.13773,N,00424.08544,E,67.602,154.23,120308,,,A*5B
+$GPRMC,100720.00,A,5158.12096,N,00424.09820,E,67.746,154.25,120308,,,A*55
+$GPRMC,100721.00,A,5158.10424,N,00424.11113,E,67.825,154.10,120308,,,A*57
+$GPRMC,100722.00,A,5158.08761,N,00424.12395,E,67.753,153.99,120308,,,A*58
+$GPRMC,100723.00,A,5158.07126,N,00424.13702,E,67.318,153.45,120308,,,A*52
+$GPRMC,100724.00,A,5158.05501,N,00424.15089,E,67.915,152.27,120308,,,A*56
+$GPRMC,100725.00,A,5158.03852,N,00424.16472,E,68.171,152.80,120308,,,A*51
+$GPRMC,100726.00,A,5158.02190,N,00424.17844,E,67.799,152.79,120308,,,A*55
+$GPRMC,100727.00,A,5158.00523,N,00424.19183,E,66.932,153.50,120308,,,A*52
+$GPRMC,100728.00,A,5157.98899,N,00424.20522,E,65.595,153.23,120308,,,A*5C
+$GPRMC,100729.00,A,5157.97303,N,00424.21817,E,64.371,154.43,120308,,,A*5C
+$GPRMC,100730.00,A,5157.95685,N,00424.23074,E,64.412,154.36,120308,,,A*52
+$GPRMC,100731.00,A,5157.94031,N,00424.24338,E,65.639,154.41,120308,,,A*5D
+$GPRMC,100732.00,A,5157.92366,N,00424.25606,E,66.788,154.38,120308,,,A*56
+$GPRMC,100733.00,A,5157.90685,N,00424.26882,E,67.193,154.68,120308,,,A*54
+$GPRMC,100734.00,A,5157.89003,N,00424.28156,E,67.586,154.34,120308,,,A*54
+$GPRMC,100735.00,A,5157.87310,N,00424.29448,E,67.920,154.45,120308,,,A*57
+$GPRMC,100736.00,A,5157.85614,N,00424.30744,E,67.987,154.39,120308,,,A*56
+$GPRMC,100737.00,A,5157.83914,N,00424.32075,E,68.070,153.65,120308,,,A*59
+$GPRMC,100738.00,A,5157.82228,N,00424.33424,E,67.771,153.60,120308,,,A*5E
+$GPRMC,100739.00,A,5157.80523,N,00424.34732,E,68.562,154.23,120308,,,A*5D
+$GPRMC,100740.00,A,5157.78829,N,00424.36022,E,67.777,154.16,120308,,,A*58
+$GPRMC,100741.00,A,5157.77147,N,00424.37309,E,67.234,153.98,120308,,,A*5F
+$GPRMC,100742.00,A,5157.75486,N,00424.38592,E,66.063,153.81,120308,,,A*54
+$GPRMC,100743.00,A,5157.73836,N,00424.39880,E,65.950,154.30,120308,,,A*5C
+$GPRMC,100744.00,A,5157.72237,N,00424.41123,E,64.614,154.04,120308,,,A*57
+$GPRMC,100745.00,A,5157.70674,N,00424.42322,E,63.081,154.01,120308,,,A*5F
+$GPRMC,100746.00,A,5157.69121,N,00424.43521,E,62.695,154.07,120308,,,A*53
+$GPRMC,100747.00,A,5157.67570,N,00424.44720,E,62.103,153.53,120308,,,A*56
+$GPRMC,100748.00,A,5157.66046,N,00424.45926,E,61.230,153.17,120308,,,A*51
+$GPRMC,100749.00,A,5157.64564,N,00424.47126,E,60.128,153.05,120308,,,A*55
+$GPRMC,100750.00,A,5157.63064,N,00424.48278,E,59.398,154.27,120308,,,A*5C
+$GPRMC,100751.00,A,5157.61595,N,00424.49383,E,58.565,154.38,120308,,,A*5B
+$GPRMC,100752.00,A,5157.60172,N,00424.50481,E,57.096,154.15,120308,,,A*50
+$GPRMC,100753.00,A,5157.58763,N,00424.51569,E,56.739,154.59,120308,,,A*51
+$GPRMC,100754.00,A,5157.57371,N,00424.52630,E,55.966,154.57,120308,,,A*5B
+$GPRMC,100755.00,A,5157.55988,N,00424.53704,E,55.323,154.29,120308,,,A*51
+$GPRMC,100756.00,A,5157.54617,N,00424.54685,E,54.484,154.83,120308,,,A*5E
+$GPRMC,100757.00,A,5157.53263,N,00424.55691,E,53.312,154.87,120308,,,A*50
+$GPRMC,100758.00,A,5157.51970,N,00424.56666,E,50.106,154.66,120308,,,A*54
+$GPRMC,100759.00,A,5157.50754,N,00424.57609,E,47.923,154.70,120308,,,A*5A
+$GPRMC,100800.00,A,5157.49601,N,00424.58512,E,46.217,154.28,120308,,,A*56
+$GPRMC,100801.00,A,5157.48509,N,00424.59397,E,44.181,153.76,120308,,,A*55
+$GPRMC,100802.00,A,5157.47431,N,00424.60244,E,43.464,153.97,120308,,,A*50
+$GPRMC,100803.00,A,5157.46344,N,00424.61080,E,44.406,154.35,120308,,,A*52
+$GPRMC,100804.00,A,5157.45243,N,00424.61953,E,45.424,154.00,120308,,,A*50
+$GPRMC,100805.00,A,5157.44106,N,00424.62857,E,46.605,153.92,120308,,,A*5A
+$GPRMC,100806.00,A,5157.42946,N,00424.63772,E,47.243,153.97,120308,,,A*58
+$GPRMC,100807.00,A,5157.41763,N,00424.64682,E,48.067,154.25,120308,,,A*5F
+$GPRMC,100808.00,A,5157.40577,N,00424.65628,E,48.093,153.71,120308,,,A*5A
+$GPRMC,100809.00,A,5157.39393,N,00424.66570,E,48.064,153.84,120308,,,A*56
+$GPRMC,100810.00,A,5157.38229,N,00424.67492,E,47.373,153.71,120308,,,A*53
+$GPRMC,100811.00,A,5157.37069,N,00424.68382,E,46.296,153.36,120308,,,A*5A
+$GPRMC,100812.00,A,5157.35907,N,00424.69277,E,45.857,153.99,120308,,,A*51
+$GPRMC,100813.00,A,5157.34757,N,00424.70143,E,45.208,154.01,120308,,,A*50
+$GPRMC,100814.00,A,5157.33638,N,00424.71006,E,44.913,153.89,120308,,,A*5E
+$GPRMC,100815.00,A,5157.32527,N,00424.71864,E,43.753,153.63,120308,,,A*56
+$GPRMC,100816.00,A,5157.31444,N,00424.72668,E,42.782,154.12,120308,,,A*5F
+$GPRMC,100817.00,A,5157.30381,N,00424.73473,E,42.657,154.70,120308,,,A*55
+$GPRMC,100818.00,A,5157.29383,N,00424.74266,E,40.493,154.19,120308,,,A*52
+$GPRMC,100819.00,A,5157.28517,N,00424.75023,E,35.902,153.13,120308,,,A*51
+$GPRMC,100820.00,A,5157.27766,N,00424.75634,E,30.292,153.55,120308,,,A*55
+$GPRMC,100821.00,A,5157.27137,N,00424.76181,E,25.437,152.90,120308,,,A*59
+$GPRMC,100822.00,A,5157.26557,N,00424.76665,E,24.167,152.76,120308,,,A*5D
+$GPRMC,100823.00,A,5157.26012,N,00424.77111,E,22.680,152.93,120308,,,A*5E
+$GPRMC,100824.00,A,5157.25443,N,00424.77504,E,22.241,153.55,120308,,,A*58
+$GPRMC,100825.00,A,5157.24927,N,00424.77929,E,21.042,152.57,120308,,,A*55
+$GPRMC,100826.00,A,5157.24435,N,00424.78317,E,19.981,152.33,120308,,,A*5F
+$GPRMC,100827.00,A,5157.24038,N,00424.78663,E,16.474,153.56,120308,,,A*5B
+$GPRMC,100828.00,A,5157.23648,N,00424.78929,E,14.160,156.88,120308,,,A*57
+$GPRMC,100829.00,A,5157.23328,N,00424.79043,E,12.145,158.83,120308,,,A*55
+$GPRMC,100830.00,A,5157.23034,N,00424.79216,E,11.731,155.12,120308,,,A*52
+$GPRMC,100831.00,A,5157.22736,N,00424.79454,E,11.776,154.43,120308,,,A*51
+$GPRMC,100832.00,A,5157.22421,N,00424.79672,E,12.404,154.23,120308,,,A*52
+$GPRMC,100833.00,A,5157.22157,N,00424.79823,E,10.689,158.21,120308,,,A*56
+$GPRMC,100834.00,A,5157.21932,N,00424.80019,E,9.513,152.77,120308,,,A*6F
+$GPRMC,100835.00,A,5157.21822,N,00424.80242,E,7.334,149.15,120308,,,A*61
+$GPRMC,100836.00,A,5157.21705,N,00424.80385,E,5.676,154.61,120308,,,A*6C
+$GPRMC,100837.00,A,5157.21611,N,00424.80443,E,3.724,155.61,120308,,,A*65
+$GPRMC,100838.00,A,5157.21562,N,00424.80464,E,2.143,153.04,120308,,,A*6B
+$GPRMC,100839.00,A,5157.21529,N,00424.80482,E,1.024,153.18,120308,,,A*63
+$GPRMC,100840.00,A,5157.21515,N,00424.80496,E,0.720,153.37,120308,,,A*68
+$GPRMC,100841.00,A,5157.21520,N,00424.80468,E,0.364,156.56,120308,,,A*68
+$GPRMC,100842.00,A,5157.21508,N,00424.80471,E,0.219,155.40,120308,,,A*66
+$GPRMC,100843.00,A,5157.21495,N,00424.80499,E,0.421,153.74,120308,,,A*68
+$GPRMC,100844.00,A,5157.21488,N,00424.80495,E,0.376,151.87,120308,,,A*64
+$GPRMC,100845.00,A,5157.21476,N,00424.80541,E,0.246,145.08,120308,,,A*6C
+$GPRMC,100846.00,A,5157.21463,N,00424.80580,E,0.250,143.71,120308,,,A*69
+$GPRMC,100847.00,A,5157.21439,N,00424.80632,E,0.314,142.66,120308,,,A*6B
+$GPRMC,100848.00,A,5157.21398,N,00424.80705,E,1.630,142.54,120308,,,A*6E
+$GPRMC,100849.00,A,5157.21305,N,00424.80813,E,4.496,152.27,120308,,,A*6D
+$GPRMC,100850.00,A,5157.21181,N,00424.80981,E,7.571,141.94,120308,,,A*60
+$GPRMC,100851.00,A,5157.20981,N,00424.81250,E,10.655,143.72,120308,,,A*57
+$GPRMC,100852.00,A,5157.20702,N,00424.81479,E,12.183,152.13,120308,,,A*55
+$GPRMC,100853.00,A,5157.20394,N,00424.81740,E,12.081,151.25,120308,,,A*53
+$GPRMC,100854.00,A,5157.20106,N,00424.81967,E,11.912,151.88,120308,,,A*51
+$GPRMC,100855.00,A,5157.19843,N,00424.82158,E,10.687,152.23,120308,,,A*55
+$GPRMC,100856.00,A,5157.19588,N,00424.82358,E,10.552,151.17,120308,,,A*51
+$GPRMC,100857.00,A,5157.19336,N,00424.82551,E,10.878,151.46,120308,,,A*5D
+$GPRMC,100858.00,A,5157.19090,N,00424.82687,E,11.208,152.70,120308,,,A*5F
+$GPRMC,100859.00,A,5157.18808,N,00424.82886,E,12.039,154.27,120308,,,A*5E
+$GPRMC,100900.00,A,5157.18507,N,00424.83124,E,12.037,152.81,120308,,,A*55
+$GPRMC,100901.00,A,5157.18228,N,00424.83329,E,12.125,152.41,120308,,,A*5F
+$GPRMC,100902.00,A,5157.17950,N,00424.83536,E,11.874,152.19,120308,,,A*5C
+$GPRMC,100903.00,A,5157.17698,N,00424.83706,E,11.206,151.82,120308,,,A*59
+$GPRMC,100904.00,A,5157.17507,N,00424.83933,E,9.241,144.25,120308,,,A*60
+$GPRMC,100905.00,A,5157.17227,N,00424.84153,E,10.723,153.26,120308,,,A*51
+$GPRMC,100906.00,A,5157.16911,N,00424.84396,E,12.798,152.88,120308,,,A*51
+$GPRMC,100907.00,A,5157.16551,N,00424.84658,E,14.287,155.85,120308,,,A*58
+$GPRMC,100908.00,A,5157.16229,N,00424.84823,E,11.815,157.92,120308,,,A*5D
+$GPRMC,100909.00,A,5157.15931,N,00424.85049,E,11.141,156.79,120308,,,A*54
+$GPRMC,100910.00,A,5157.15589,N,00424.85259,E,11.867,158.09,120308,,,A*54
+$GPRMC,100911.00,A,5157.15211,N,00424.85502,E,13.018,158.26,120308,,,A*55
+$GPRMC,100912.00,A,5157.14857,N,00424.85783,E,12.783,154.74,120308,,,A*5B
+$GPRMC,100913.00,A,5157.14546,N,00424.85996,E,11.319,154.64,120308,,,A*58
+$GPRMC,100914.00,A,5157.14264,N,00424.86201,E,10.011,156.47,120308,,,A*57
+$GPRMC,100915.00,A,5157.13987,N,00424.86435,E,9.588,156.28,120308,,,A*62
+$GPRMC,100916.00,A,5157.13753,N,00424.86719,E,9.973,153.46,120308,,,A*6E
+$GPRMC,100917.00,A,5157.13506,N,00424.86979,E,10.603,153.81,120308,,,A*5E
+$GPRMC,100918.00,A,5157.13268,N,00424.87341,E,10.738,149.43,120308,,,A*52
+$GPRMC,100919.00,A,5157.12997,N,00424.87659,E,11.478,152.00,120308,,,A*5E
+$GPRMC,100920.00,A,5157.12707,N,00424.87973,E,12.494,151.92,120308,,,A*5D
+$GPRMC,100921.00,A,5157.12388,N,00424.88302,E,13.241,151.18,120308,,,A*51
+$GPRMC,100922.00,A,5157.12060,N,00424.88648,E,14.031,149.98,120308,,,A*5F
+$GPRMC,100923.00,A,5157.11716,N,00424.89007,E,14.405,149.89,120308,,,A*54
+$GPRMC,100924.00,A,5157.11359,N,00424.89364,E,14.383,149.29,120308,,,A*59
+$GPRMC,100925.00,A,5157.11018,N,00424.89688,E,13.969,148.80,120308,,,A*52
+$GPRMC,100926.00,A,5157.10685,N,00424.90013,E,14.023,146.97,120308,,,A*56
+$GPRMC,100927.00,A,5157.10345,N,00424.90356,E,14.729,147.67,120308,,,A*5F
+$GPRMC,100928.00,A,5157.10010,N,00424.90683,E,14.100,146.30,120308,,,A*50
+$GPRMC,100929.00,A,5157.09674,N,00424.91045,E,14.821,143.59,120308,,,A*50
+$GPRMC,100930.00,A,5157.09295,N,00424.91440,E,16.002,145.87,120308,,,A*5C
+$GPRMC,100931.00,A,5157.08910,N,00424.91818,E,16.093,146.97,120308,,,A*51
+$GPRMC,100932.00,A,5157.08532,N,00424.92170,E,15.739,147.63,120308,,,A*54
+$GPRMC,100933.00,A,5157.08185,N,00424.92496,E,14.401,146.65,120308,,,A*5E
+$GPRMC,100934.00,A,5157.07830,N,00424.92832,E,14.673,145.78,120308,,,A*5B
+$GPRMC,100935.00,A,5157.07498,N,00424.93098,E,13.914,146.58,120308,,,A*55
+$GPRMC,100936.00,A,5157.07198,N,00424.93388,E,12.956,148.95,120308,,,A*59
+$GPRMC,100937.00,A,5157.06627,N,00424.93215,E,10.500,149.41,120308,,,A*5A
+$GPRMC,100938.00,A,5157.06284,N,00424.93361,E,10.152,146.40,120308,,,A*57
+$GPRMC,100939.00,A,5157.06035,N,00424.93523,E,9.222,146.20,120308,,,A*64
+$GPRMC,100940.00,A,5157.05804,N,00424.93676,E,8.330,146.22,120308,,,A*61
+$GPRMC,100941.00,A,5157.05621,N,00424.93860,E,8.002,148.85,120308,,,A*61
+$GPRMC,100942.00,A,5157.05414,N,00424.94082,E,9.200,146.70,120308,,,A*60
+$GPRMC,100943.00,A,5157.05185,N,00424.94360,E,10.737,145.13,120308,,,A*5C
+$GPRMC,100944.00,A,5157.04936,N,00424.94651,E,11.114,145.25,120308,,,A*5E
+$GPRMC,100945.00,A,5157.04695,N,00424.95002,E,11.620,144.19,120308,,,A*56
+$GPRMC,100946.00,A,5157.04436,N,00424.95349,E,12.149,144.41,120308,,,A*54
+$GPRMC,100947.00,A,5157.04186,N,00424.95681,E,12.315,143.06,120308,,,A*55
+$GPRMC,100948.00,A,5157.03879,N,00424.95989,E,13.982,146.52,120308,,,A*52
+$GPRMC,100949.00,A,5157.03575,N,00424.96333,E,14.524,144.70,120308,,,A*5F
+$GPRMC,100950.00,A,5157.03305,N,00424.96724,E,13.909,142.59,120308,,,A*5D
+$GPRMC,100951.00,A,5157.02987,N,00424.97102,E,14.915,143.95,120308,,,A*55
+$GPRMC,100952.00,A,5157.02712,N,00424.97573,E,15.066,144.37,120308,,,A*55
+$GPRMC,100953.00,A,5157.02389,N,00424.98016,E,15.364,144.58,120308,,,A*53
+$GPRMC,100954.00,A,5157.02040,N,00424.98479,E,16.112,141.88,120308,,,A*57
+$GPRMC,100955.00,A,5157.01693,N,00424.98968,E,16.623,138.88,120308,,,A*5B
+$GPRMC,100956.00,A,5157.01362,N,00424.99526,E,16.305,136.96,120308,,,A*54
+$GPRMC,100957.00,A,5157.00930,N,00425.00096,E,19.406,138.57,120308,,,A*5E
+$GPRMC,100958.00,A,5157.00495,N,00425.00652,E,19.461,141.55,120308,,,A*50
+$GPRMC,100959.00,A,5156.99992,N,00425.01205,E,20.610,144.67,120308,,,A*57
+$GPRMC,101000.00,A,5156.99466,N,00425.01901,E,21.842,146.15,120308,,,A*55
+$GPRMC,101001.00,A,5156.98976,N,00425.02501,E,21.249,145.16,120308,,,A*57
+$GPRMC,101002.00,A,5156.98502,N,00425.03051,E,20.689,144.77,120308,,,A*55
+$GPRMC,101003.00,A,5156.98027,N,00425.03574,E,20.514,145.22,120308,,,A*52
+$GPRMC,101004.00,A,5156.97580,N,00425.04160,E,20.521,142.87,120308,,,A*5A
+$GPRMC,101005.00,A,5156.97172,N,00425.04707,E,18.674,140.51,120308,,,A*54
+$GPRMC,101006.00,A,5156.96729,N,00425.05294,E,20.184,142.59,120308,,,A*59
+$GPRMC,101007.00,A,5156.96234,N,00425.05892,E,21.567,144.11,120308,,,A*5F
+$GPRMC,101008.00,A,5156.95729,N,00425.06499,E,23.095,143.23,120308,,,A*52
+$GPRMC,101009.00,A,5156.95211,N,00425.07131,E,23.132,142.31,120308,,,A*55
+$GPRMC,101010.00,A,5156.94677,N,00425.07769,E,23.520,143.36,120308,,,A*52
+$GPRMC,101011.00,A,5156.94218,N,00425.08401,E,21.970,145.17,120308,,,A*52
+$GPRMC,101012.00,A,5156.93734,N,00425.09009,E,21.707,141.89,120308,,,A*5D
+$GPRMC,101013.00,A,5156.93175,N,00425.09602,E,22.840,144.87,120308,,,A*56
+$GPRMC,101014.00,A,5156.92634,N,00425.10158,E,22.148,145.62,120308,,,A*59
+$GPRMC,101015.00,A,5156.92080,N,00425.10698,E,21.959,144.90,120308,,,A*5D
+$GPRMC,101016.00,A,5156.91535,N,00425.11265,E,22.226,144.76,120308,,,A*59
+$GPRMC,101017.00,A,5156.90993,N,00425.11917,E,21.949,145.13,120308,,,A*54
+$GPRMC,101018.00,A,5156.90505,N,00425.12521,E,20.956,144.55,120308,,,A*5E
+$GPRMC,101019.00,A,5156.90028,N,00425.13084,E,20.789,143.87,120308,,,A*5A
+$GPRMC,101020.00,A,5156.89511,N,00425.13675,E,21.534,144.10,120308,,,A*53
+$GPRMC,101021.00,A,5156.88955,N,00425.14257,E,22.305,144.14,120308,,,A*5F
+$GPRMC,101022.00,A,5156.88401,N,00425.14933,E,24.396,144.07,120308,,,A*57
+$GPRMC,101023.00,A,5156.87872,N,00425.15526,E,24.524,143.68,120308,,,A*59
+$GPRMC,101024.00,A,5156.87312,N,00425.16184,E,24.907,143.97,120308,,,A*51
+$GPRMC,101025.00,A,5156.86712,N,00425.16830,E,25.924,144.44,120308,,,A*5A
+$GPRMC,101026.00,A,5156.86126,N,00425.17480,E,25.406,145.11,120308,,,A*52
+$GPRMC,101027.00,A,5156.85560,N,00425.18078,E,25.024,144.51,120308,,,A*5B
+$GPRMC,101028.00,A,5156.84946,N,00425.18738,E,26.744,144.54,120308,,,A*59
+$GPRMC,101029.00,A,5156.84326,N,00425.19394,E,26.681,144.82,120308,,,A*54
+$GPRMC,101030.00,A,5156.83726,N,00425.20131,E,26.528,144.60,120308,,,A*54
+$GPRMC,101031.00,A,5156.83162,N,00425.20873,E,26.868,141.85,120308,,,A*5B
+$GPRMC,101032.00,A,5156.82534,N,00425.21568,E,27.890,143.89,120308,,,A*50
+$GPRMC,101033.00,A,5156.81899,N,00425.22329,E,27.862,144.44,120308,,,A*53
+$GPRMC,101034.00,A,5156.81325,N,00425.22964,E,25.523,143.76,120308,,,A*57
+$GPRMC,101035.00,A,5156.80758,N,00425.23568,E,24.742,144.18,120308,,,A*53
+$GPRMC,101036.00,A,5156.80174,N,00425.24207,E,25.054,143.68,120308,,,A*50
+$GPRMC,101037.00,A,5156.79610,N,00425.24725,E,24.139,145.66,120308,,,A*54
+$GPRMC,101038.00,A,5156.79011,N,00425.25338,E,25.491,144.98,120308,,,A*53
+$GPRMC,101039.00,A,5156.78400,N,00425.26043,E,25.942,144.43,120308,,,A*5E
+$GPRMC,101040.00,A,5156.77819,N,00425.26731,E,25.563,142.31,120308,,,A*55
+$GPRMC,101041.00,A,5156.77217,N,00425.27425,E,25.942,143.80,120308,,,A*53
+$GPRMC,101042.00,A,5156.76661,N,00425.28123,E,25.361,144.13,120308,,,A*5E
+$GPRMC,101043.00,A,5156.76067,N,00425.28833,E,25.467,143.59,120308,,,A*5F
+$GPRMC,101044.00,A,5156.75455,N,00425.29492,E,25.592,143.62,120308,,,A*5B
+$GPRMC,101045.00,A,5156.74842,N,00425.30138,E,25.173,143.25,120308,,,A*54
+$GPRMC,101046.00,A,5156.74226,N,00425.30770,E,25.887,143.23,120308,,,A*51
+$GPRMC,101047.00,A,5156.73559,N,00425.31437,E,27.656,144.45,120308,,,A*5E
+$GPRMC,101048.00,A,5156.72863,N,00425.32168,E,29.354,145.12,120308,,,A*52
+$GPRMC,101049.00,A,5156.72199,N,00425.32928,E,29.600,144.85,120308,,,A*58
+$GPRMC,101050.00,A,5156.71533,N,00425.33674,E,29.660,146.58,120308,,,A*54
+$GPRMC,101051.00,A,5156.70850,N,00425.34420,E,30.208,147.45,120308,,,A*57
+$GPRMC,101052.00,A,5156.70126,N,00425.35191,E,30.810,147.42,120308,,,A*56
+$GPRMC,101053.00,A,5156.69352,N,00425.35999,E,33.579,147.22,120308,,,A*59
+$GPRMC,101054.00,A,5156.68502,N,00425.36836,E,36.350,147.13,120308,,,A*51
+$GPRMC,101055.00,A,5156.67623,N,00425.37726,E,37.483,148.41,120308,,,A*50
+$GPRMC,101056.00,A,5156.66726,N,00425.38668,E,39.375,145.89,120308,,,A*5B
+$GPRMC,101057.00,A,5156.65808,N,00425.39691,E,40.801,144.53,120308,,,A*5D
+$GPRMC,101058.00,A,5156.64837,N,00425.40865,E,43.736,143.56,120308,,,A*5E
+$GPRMC,101059.00,A,5156.63874,N,00425.42035,E,43.566,144.19,120308,,,A*5B
+$GPRMC,101100.00,A,5156.62887,N,00425.43206,E,43.904,143.89,120308,,,A*5E
+$GPRMC,101101.00,A,5156.61838,N,00425.44358,E,44.270,143.43,120308,,,A*5C
+$GPRMC,101102.00,A,5156.60816,N,00425.45501,E,43.940,144.13,120308,,,A*54
+$GPRMC,101103.00,A,5156.59833,N,00425.46627,E,43.966,144.60,120308,,,A*5C
+$GPRMC,101104.00,A,5156.58819,N,00425.47749,E,43.725,144.62,120308,,,A*51
+$GPRMC,101105.00,A,5156.57846,N,00425.48904,E,43.187,144.74,120308,,,A*54
+$GPRMC,101106.00,A,5156.56872,N,00425.50000,E,42.409,145.34,120308,,,A*52
+$GPRMC,101107.00,A,5156.55925,N,00425.51096,E,41.804,145.24,120308,,,A*5E
+$GPRMC,101108.00,A,5156.54964,N,00425.52230,E,42.449,144.61,120308,,,A*5E
+$GPRMC,101109.00,A,5156.54012,N,00425.53344,E,41.679,144.38,120308,,,A*5A
+$GPRMC,101110.00,A,5156.53064,N,00425.54446,E,42.193,144.98,120308,,,A*5C
+$GPRMC,101111.00,A,5156.52052,N,00425.55567,E,43.499,146.23,120308,,,A*56
+$GPRMC,101112.00,A,5156.51139,N,00425.56607,E,42.348,144.55,120308,,,A*55
+$GPRMC,101113.00,A,5156.50193,N,00425.57660,E,41.934,145.43,120308,,,A*51
+$GPRMC,101114.00,A,5156.49271,N,00425.58741,E,41.204,146.47,120308,,,A*53
+$GPRMC,101115.00,A,5156.48338,N,00425.59923,E,40.696,147.15,120308,,,A*5C
+$GPRMC,101116.00,A,5156.47328,N,00425.60957,E,41.180,148.27,120308,,,A*57
+$GPRMC,101117.00,A,5156.46366,N,00425.62027,E,41.511,146.91,120308,,,A*5E
+$GPRMC,101118.00,A,5156.45463,N,00425.63109,E,40.646,144.87,120308,,,A*59
+$GPRMC,101119.00,A,5156.44530,N,00425.64179,E,41.370,144.42,120308,,,A*56
+$GPRMC,101120.00,A,5156.43589,N,00425.65309,E,41.823,144.03,120308,,,A*55
+$GPRMC,101121.00,A,5156.42573,N,00425.66443,E,44.490,145.18,120308,,,A*50
+$GPRMC,101122.00,A,5156.41530,N,00425.67557,E,45.033,146.14,120308,,,A*51
+$GPRMC,101123.00,A,5156.40484,N,00425.68693,E,45.571,144.28,120308,,,A*55
+$GPRMC,101124.00,A,5156.39430,N,00425.69859,E,46.047,144.71,120308,,,A*55
+$GPRMC,101125.00,A,5156.38361,N,00425.71026,E,46.400,144.43,120308,,,A*59
+$GPRMC,101126.00,A,5156.37337,N,00425.72107,E,45.207,145.11,120308,,,A*53
+$GPRMC,101127.00,A,5156.36312,N,00425.73172,E,44.554,145.21,120308,,,A*54
+$GPRMC,101128.00,A,5156.35268,N,00425.74188,E,44.029,146.72,120308,,,A*5C
+$GPRMC,101129.00,A,5156.34257,N,00425.75251,E,43.431,145.55,120308,,,A*5A
+$GPRMC,101130.00,A,5156.33256,N,00425.76334,E,43.312,145.09,120308,,,A*5A
+$GPRMC,101131.00,A,5156.32249,N,00425.77376,E,43.019,145.74,120308,,,A*51
+$GPRMC,101132.00,A,5156.31262,N,00425.78404,E,42.338,146.02,120308,,,A*56
+$GPRMC,101133.00,A,5156.30264,N,00425.79431,E,42.589,146.03,120308,,,A*5A
+$GPRMC,101134.00,A,5156.29246,N,00425.80531,E,43.754,145.85,120308,,,A*5C
+$GPRMC,101135.00,A,5156.28238,N,00425.81609,E,43.149,146.27,120308,,,A*5D
+$GPRMC,101136.00,A,5156.27202,N,00425.82699,E,44.058,146.16,120308,,,A*56
+$GPRMC,101137.00,A,5156.26203,N,00425.83792,E,43.247,145.48,120308,,,A*5F
+$GPRMC,101138.00,A,5156.25173,N,00425.84917,E,43.942,145.48,120308,,,A*5D
+$GPRMC,101139.00,A,5156.24159,N,00425.86059,E,44.070,145.36,120308,,,A*52
+$GPRMC,101140.00,A,5156.23156,N,00425.87145,E,43.469,145.66,120308,,,A*57
+$GPRMC,101141.00,A,5156.22166,N,00425.88217,E,42.743,145.78,120308,,,A*5A
+$GPRMC,101142.00,A,5156.21208,N,00425.89316,E,42.894,144.83,120308,,,A*50
+$GPRMC,101143.00,A,5156.20237,N,00425.90478,E,43.288,144.30,120308,,,A*55
+$GPRMC,101144.00,A,5156.19281,N,00425.91706,E,44.356,142.75,120308,,,A*5C
+$GPRMC,101145.00,A,5156.18264,N,00425.92859,E,44.666,143.30,120308,,,A*57
+$GPRMC,101146.00,A,5156.17274,N,00425.94016,E,44.035,143.91,120308,,,A*54
+$GPRMC,101147.00,A,5156.16279,N,00425.95226,E,44.853,142.76,120308,,,A*59
+$GPRMC,101148.00,A,5156.15278,N,00425.96457,E,44.393,142.08,120308,,,A*59
+$GPRMC,101149.00,A,5156.14378,N,00425.97639,E,43.364,142.99,120308,,,A*54
+$GPRMC,101150.00,A,5156.13403,N,00425.98800,E,44.041,144.87,120308,,,A*51
+$GPRMC,101151.00,A,5156.12434,N,00425.99971,E,43.976,145.08,120308,,,A*5F
+$GPRMC,101152.00,A,5156.11480,N,00426.01161,E,43.829,143.79,120308,,,A*50
+$GPRMC,101153.00,A,5156.10557,N,00426.02383,E,43.355,142.19,120308,,,A*51
+$GPRMC,101154.00,A,5156.09625,N,00426.03547,E,43.087,143.60,120308,,,A*54
+$GPRMC,101155.00,A,5156.08687,N,00426.04704,E,43.046,144.09,120308,,,A*5B
+$GPRMC,101156.00,A,5156.07752,N,00426.05831,E,42.944,143.39,120308,,,A*58
+$GPRMC,101157.00,A,5156.06785,N,00426.06948,E,43.088,143.90,120308,,,A*55
+$GPRMC,101158.00,A,5156.05807,N,00426.08051,E,42.937,144.63,120308,,,A*54
+$GPRMC,101159.00,A,5156.04827,N,00426.09130,E,42.656,145.55,120308,,,A*5D
+$GPRMC,101200.00,A,5156.03869,N,00426.10179,E,42.124,145.02,120308,,,A*5A
+$GPRMC,101201.00,A,5156.02924,N,00426.11261,E,41.787,145.39,120308,,,A*5D
+$GPRMC,101202.00,A,5156.01971,N,00426.12373,E,42.519,145.19,120308,,,A*58
+$GPRMC,101203.00,A,5156.01012,N,00426.13471,E,42.410,144.90,120308,,,A*59
+$GPRMC,101204.00,A,5156.00072,N,00426.14580,E,41.993,143.78,120308,,,A*55
+$GPRMC,101205.00,A,5155.99161,N,00426.15705,E,41.428,143.31,120308,,,A*5A
+$GPRMC,101206.00,A,5155.98272,N,00426.16761,E,39.517,144.26,120308,,,A*5B
+$GPRMC,101207.00,A,5155.97400,N,00426.17766,E,38.427,144.64,120308,,,A*55
+$GPRMC,101208.00,A,5155.96577,N,00426.18684,E,35.614,145.11,120308,,,A*54
+$GPRMC,101209.00,A,5155.95779,N,00426.19566,E,34.159,146.34,120308,,,A*5F
+$GPRMC,101210.00,A,5155.95004,N,00426.20411,E,33.366,146.35,120308,,,A*59
+$GPRMC,101211.00,A,5155.94228,N,00426.21197,E,31.532,148.28,120308,,,A*58
+$GPRMC,101212.00,A,5155.93491,N,00426.21893,E,29.555,149.73,120308,,,A*52
+$GPRMC,101213.00,A,5155.92958,N,00426.22639,E,24.881,142.94,120308,,,A*5C
+$GPRMC,101214.00,A,5155.92450,N,00426.23018,E,19.478,155.63,120308,,,A*50
+$GPRMC,101215.00,A,5155.92202,N,00426.23357,E,13.292,153.49,120308,,,A*5E
+$GPRMC,101216.00,A,5155.91972,N,00426.23508,E,9.769,161.33,120308,,,A*68
+$GPRMC,101217.00,A,5155.91631,N,00426.23668,E,11.600,165.86,120308,,,A*59
+$GPRMC,101218.00,A,5155.91156,N,00426.23621,E,13.455,173.26,120308,,,A*50
+$GPRMC,101219.00,A,5155.90541,N,00426.23555,E,17.767,178.69,120308,,,A*54
+$GPRMC,101220.00,A,5155.89818,N,00426.23475,E,21.572,179.35,120308,,,A*5F
+$GPRMC,101221.00,A,5155.89230,N,00426.23693,E,22.740,172.68,120308,,,A*57
+$GPRMC,101222.00,A,5155.88636,N,00426.23990,E,23.005,164.89,120308,,,A*54
+$GPRMC,101223.00,A,5155.88016,N,00426.24407,E,25.414,157.10,120308,,,A*57
+$GPRMC,101224.00,A,5155.87574,N,00426.25213,E,26.349,151.28,120308,,,A*5D
+$GPRMC,101225.00,A,5155.86545,N,00426.25599,E,28.673,150.41,120308,,,A*56
+$GPRMC,101226.00,A,5155.85894,N,00426.26492,E,27.428,138.94,120308,,,A*5B
+$GPRMC,101227.00,A,5155.85296,N,00426.27406,E,27.135,133.48,120308,,,A*5D
+$GPRMC,101228.00,A,5155.84789,N,00426.28406,E,26.659,130.24,120308,,,A*52
+$GPRMC,101229.00,A,5155.84455,N,00426.29487,E,26.568,122.74,120308,,,A*5E
+$GPRMC,101230.00,A,5155.84127,N,00426.30526,E,25.644,119.42,120308,,,A*57
+$GPRMC,101231.00,A,5155.83849,N,00426.31648,E,25.466,111.84,120308,,,A*5A
+$GPRMC,101232.00,A,5155.83840,N,00426.32825,E,24.610,98.08,120308,,,A*60
+$GPRMC,101233.00,A,5155.83910,N,00426.34003,E,25.669,86.63,120308,,,A*62
+$GPRMC,101234.00,A,5155.84084,N,00426.35147,E,24.998,68.35,120308,,,A*65
+$GPRMC,101235.00,A,5155.84415,N,00426.36139,E,24.965,58.71,120308,,,A*63
+$GPRMC,101236.00,A,5155.84842,N,00426.36951,E,23.485,48.53,120308,,,A*6D
+$GPRMC,101237.00,A,5155.85413,N,00426.37606,E,24.016,36.28,120308,,,A*65
+$GPRMC,101238.00,A,5155.86197,N,00426.38213,E,25.286,25.35,120308,,,A*6B
+$GPRMC,101239.00,A,5155.86852,N,00426.38642,E,22.920,18.81,120308,,,A*6B
+$GPRMC,101240.00,A,5155.87372,N,00426.38964,E,18.260,17.25,120308,,,A*61
+$GPRMC,101241.00,A,5155.87950,N,00426.39158,E,18.097,10.28,120308,,,A*6C
+$GPRMC,101242.00,A,5155.88596,N,00426.39221,E,19.658,0.53,120308,,,A*52
+$GPRMC,101243.00,A,5155.89278,N,00426.39121,E,22.072,352.73,120308,,,A*56
+$GPRMC,101244.00,A,5155.89775,N,00426.38558,E,21.909,335.70,120308,,,A*56
+$GPRMC,101245.00,A,5155.90357,N,00426.38011,E,23.228,332.41,120308,,,A*5C
+$GPRMC,101246.00,A,5155.90865,N,00426.37537,E,21.478,329.67,120308,,,A*54
+$GPRMC,101247.00,A,5155.91494,N,00426.36627,E,25.318,323.16,120308,,,A*5C
+$GPRMC,101248.00,A,5155.92095,N,00426.35834,E,26.542,318.18,120308,,,A*56
+$GPRMC,101249.00,A,5155.92592,N,00426.34891,E,26.979,312.56,120308,,,A*5F
+$GPRMC,101250.00,A,5155.93093,N,00426.33896,E,27.262,306.21,120308,,,A*57
+$GPRMC,101251.00,A,5155.93437,N,00426.32769,E,26.908,299.00,120308,,,A*50
+$GPRMC,101252.00,A,5155.93714,N,00426.31769,E,23.213,290.21,120308,,,A*5C
+$GPRMC,101253.00,A,5155.93804,N,00426.30843,E,19.598,284.49,120308,,,A*53
+$GPRMC,101254.00,A,5155.93910,N,00426.30122,E,15.459,285.98,120308,,,A*53
+$GPRMC,101255.00,A,5155.94092,N,00426.29543,E,14.802,295.11,120308,,,A*5E
+$GPRMC,101256.00,A,5155.94315,N,00426.28983,E,15.146,302.04,120308,,,A*53
+$GPRMC,101257.00,A,5155.94624,N,00426.28342,E,18.382,306.09,120308,,,A*5C
+$GPRMC,101258.00,A,5155.95189,N,00426.27692,E,25.691,321.37,120308,,,A*54
+$GPRMC,101259.00,A,5155.95814,N,00426.26907,E,29.803,321.91,120308,,,A*5F
+$GPRMC,101300.00,A,5155.96468,N,00426.26091,E,29.952,322.93,120308,,,A*54
+$GPRMC,101301.00,A,5155.97182,N,00426.25230,E,32.239,323.95,120308,,,A*54
+$GPRMC,101302.00,A,5155.97995,N,00426.24312,E,35.214,325.95,120308,,,A*57
+$GPRMC,101303.00,A,5155.98814,N,00426.23379,E,37.099,325.17,120308,,,A*54
+$GPRMC,101304.00,A,5155.99672,N,00426.22378,E,38.941,324.54,120308,,,A*59
+$GPRMC,101305.00,A,5156.00572,N,00426.21330,E,40.952,323.89,120308,,,A*5D
+$GPRMC,101306.00,A,5156.01579,N,00426.20246,E,42.968,324.58,120308,,,A*55
+$GPRMC,101307.00,A,5156.02697,N,00426.19084,E,45.591,324.06,120308,,,A*54
+$GPRMC,101308.00,A,5156.03753,N,00426.17821,E,45.966,322.00,120308,,,A*5E
+$GPRMC,101309.00,A,5156.04785,N,00426.16444,E,47.184,319.31,120308,,,A*51
+$GPRMC,101310.00,A,5156.05781,N,00426.14999,E,46.944,318.55,120308,,,A*55
+$GPRMC,101311.00,A,5156.06743,N,00426.13490,E,46.767,317.99,120308,,,A*5A
+$GPRMC,101312.00,A,5156.07645,N,00426.11848,E,46.512,316.32,120308,,,A*54
+$GPRMC,101313.00,A,5156.08583,N,00426.10412,E,45.410,317.84,120308,,,A*5D
+$GPRMC,101314.00,A,5156.09522,N,00426.09019,E,44.740,316.72,120308,,,A*58
+$GPRMC,101315.00,A,5156.10457,N,00426.07690,E,43.417,317.62,120308,,,A*5D
+$GPRMC,101316.00,A,5156.11366,N,00426.06417,E,42.680,318.23,120308,,,A*51
+$GPRMC,101317.00,A,5156.12261,N,00426.05155,E,42.472,318.37,120308,,,A*5F
+$GPRMC,101318.00,A,5156.13167,N,00426.03914,E,42.438,319.37,120308,,,A*50
+$GPRMC,101319.00,A,5156.14081,N,00426.02611,E,41.885,319.05,120308,,,A*5C
+$GPRMC,101320.00,A,5156.14972,N,00426.01366,E,41.348,318.05,120308,,,A*5E
+$GPRMC,101321.00,A,5156.15838,N,00426.00163,E,40.598,318.81,120308,,,A*51
+$GPRMC,101322.00,A,5156.16689,N,00425.99034,E,39.601,317.94,120308,,,A*53
+$GPRMC,101323.00,A,5156.17524,N,00425.97910,E,39.477,319.29,120308,,,A*5D
+$GPRMC,101324.00,A,5156.18364,N,00425.96767,E,39.743,319.73,120308,,,A*53
+$GPRMC,101325.00,A,5156.19224,N,00425.95631,E,40.523,321.11,120308,,,A*52
+$GPRMC,101326.00,A,5156.20134,N,00425.94470,E,42.614,321.14,120308,,,A*5F
+$GPRMC,101327.00,A,5156.21079,N,00425.93240,E,44.633,320.20,120308,,,A*50
+$GPRMC,101328.00,A,5156.22036,N,00425.91974,E,44.404,321.13,120308,,,A*5E
+$GPRMC,101329.00,A,5156.22989,N,00425.90728,E,43.973,320.83,120308,,,A*56
+$GPRMC,101330.00,A,5156.23994,N,00425.89452,E,46.225,321.49,120308,,,A*5F
+$GPRMC,101331.00,A,5156.25040,N,00425.88103,E,48.485,320.90,120308,,,A*5F
+$GPRMC,101332.00,A,5156.26105,N,00425.86793,E,48.103,322.97,120308,,,A*50
+$GPRMC,101333.00,A,5156.27208,N,00425.85529,E,48.606,324.51,120308,,,A*50
+$GPRMC,101334.00,A,5156.28286,N,00425.84224,E,48.694,322.78,120308,,,A*53
+$GPRMC,101335.00,A,5156.29369,N,00425.82930,E,48.496,323.17,120308,,,A*53
+$GPRMC,101336.00,A,5156.30459,N,00425.81644,E,48.312,324.29,120308,,,A*52
+$GPRMC,101337.00,A,5156.31555,N,00425.80411,E,47.674,325.14,120308,,,A*59
+$GPRMC,101338.00,A,5156.32655,N,00425.79166,E,47.698,324.86,120308,,,A*5D
+$GPRMC,101339.00,A,5156.33688,N,00425.77855,E,47.369,322.20,120308,,,A*5B
+$GPRMC,101340.00,A,5156.34713,N,00425.76557,E,47.215,321.16,120308,,,A*53
+$GPRMC,101341.00,A,5156.35764,N,00425.75299,E,47.076,321.66,120308,,,A*55
+$GPRMC,101342.00,A,5156.36793,N,00425.74016,E,47.098,321.38,120308,,,A*52
+$GPRMC,101343.00,A,5156.37836,N,00425.72812,E,45.924,324.26,120308,,,A*5E
+$GPRMC,101344.00,A,5156.38874,N,00425.71638,E,44.874,323.60,120308,,,A*55
+$GPRMC,101345.00,A,5156.39920,N,00425.70521,E,45.422,325.08,120308,,,A*59
+$GPRMC,101346.00,A,5156.40963,N,00425.69432,E,44.852,326.30,120308,,,A*5A
+$GPRMC,101347.00,A,5156.41988,N,00425.68332,E,44.103,327.19,120308,,,A*5E
+$GPRMC,101348.00,A,5156.42983,N,00425.67242,E,43.183,326.10,120308,,,A*57
+$GPRMC,101349.00,A,5156.43981,N,00425.66154,E,43.652,326.66,120308,,,A*5A
+$GPRMC,101350.00,A,5156.44956,N,00425.65054,E,43.639,326.47,120308,,,A*53
+$GPRMC,101351.00,A,5156.45929,N,00425.63977,E,43.166,325.75,120308,,,A*5A
+$GPRMC,101352.00,A,5156.46895,N,00425.62865,E,42.765,325.26,120308,,,A*5D
+$GPRMC,101353.00,A,5156.47861,N,00425.61740,E,43.191,325.71,120308,,,A*53
+$GPRMC,101354.00,A,5156.48807,N,00425.60637,E,42.287,324.72,120308,,,A*5C
+$GPRMC,101355.00,A,5156.49750,N,00425.59473,E,42.841,324.07,120308,,,A*5B
+$GPRMC,101356.00,A,5156.50732,N,00425.58328,E,43.341,323.67,120308,,,A*57
+$GPRMC,101357.00,A,5156.51696,N,00425.57071,E,44.287,323.31,120308,,,A*57
+$GPRMC,101358.00,A,5156.52669,N,00425.55720,E,44.943,323.85,120308,,,A*56
+$GPRMC,101359.00,A,5156.53656,N,00425.54478,E,44.518,324.69,120308,,,A*52
+$GPRMC,101400.00,A,5156.54661,N,00425.53355,E,44.565,324.65,120308,,,A*53
+$GPRMC,101401.00,A,5156.55663,N,00425.52206,E,44.744,324.98,120308,,,A*54
+$GPRMC,101402.00,A,5156.56671,N,00425.51127,E,44.820,325.83,120308,,,A*52
+$GPRMC,101403.00,A,5156.57707,N,00425.50039,E,45.191,326.38,120308,,,A*5C
+$GPRMC,101404.00,A,5156.58754,N,00425.48922,E,45.252,325.94,120308,,,A*51
+$GPRMC,101405.00,A,5156.59788,N,00425.47832,E,44.609,327.24,120308,,,A*5D
+$GPRMC,101406.00,A,5156.60803,N,00425.46737,E,44.070,326.08,120308,,,A*54
+$GPRMC,101407.00,A,5156.61820,N,00425.45655,E,43.598,325.92,120308,,,A*57
+$GPRMC,101408.00,A,5156.62823,N,00425.44566,E,43.630,325.17,120308,,,A*56
+$GPRMC,101409.00,A,5156.63822,N,00425.43519,E,43.485,326.07,120308,,,A*56
+$GPRMC,101410.00,A,5156.64836,N,00425.42424,E,43.829,325.68,120308,,,A*52
+$GPRMC,101411.00,A,5156.65844,N,00425.41305,E,43.991,325.01,120308,,,A*5D
+$GPRMC,101412.00,A,5156.66854,N,00425.40228,E,44.107,325.48,120308,,,A*5E
+$GPRMC,101413.00,A,5156.67886,N,00425.39164,E,44.017,327.09,120308,,,A*53
+$GPRMC,101414.00,A,5156.68893,N,00425.38076,E,44.001,326.19,120308,,,A*5B
+$GPRMC,101415.00,A,5156.69875,N,00425.36967,E,43.502,325.14,120308,,,A*5B
+$GPRMC,101416.00,A,5156.70884,N,00425.35892,E,43.625,326.08,120308,,,A*5E
+$GPRMC,101417.00,A,5156.71882,N,00425.34774,E,43.607,324.68,120308,,,A*5A
+$GPRMC,101418.00,A,5156.72904,N,00425.33684,E,44.141,325.25,120308,,,A*5A
+$GPRMC,101419.00,A,5156.73917,N,00425.32565,E,44.111,325.46,120308,,,A*55
+$GPRMC,101420.00,A,5156.74929,N,00425.31460,E,43.263,326.41,120308,,,A*57
+$GPRMC,101421.00,A,5156.75927,N,00425.30378,E,43.655,326.53,120308,,,A*54
+$GPRMC,101422.00,A,5156.76916,N,00425.29236,E,44.399,324.40,120308,,,A*57
+$GPRMC,101423.00,A,5156.77927,N,00425.28103,E,44.982,325.45,120308,,,A*55
+$GPRMC,101424.00,A,5156.78938,N,00425.26954,E,44.673,325.11,120308,,,A*57
+$GPRMC,101425.00,A,5156.79958,N,00425.25800,E,44.577,325.07,120308,,,A*52
+$GPRMC,101426.00,A,5156.80976,N,00425.24674,E,44.124,325.37,120308,,,A*56
+$GPRMC,101427.00,A,5156.81993,N,00425.23514,E,45.475,325.22,120308,,,A*5B
+$GPRMC,101428.00,A,5156.82992,N,00425.22236,E,46.387,323.25,120308,,,A*58
+$GPRMC,101429.00,A,5156.84078,N,00425.20913,E,49.401,323.41,120308,,,A*58
+$GPRMC,101430.00,A,5156.85194,N,00425.19514,E,51.730,323.12,120308,,,A*5D
+$GPRMC,101431.00,A,5156.86378,N,00425.18128,E,53.101,324.48,120308,,,A*5B
+$GPRMC,101432.00,A,5156.87599,N,00425.16687,E,54.854,324.48,120308,,,A*52
+$GPRMC,101433.00,A,5156.88878,N,00425.15215,E,56.961,324.73,120308,,,A*5F
+$GPRMC,101434.00,A,5156.90189,N,00425.13722,E,57.908,324.85,120308,,,A*56
+$GPRMC,101435.00,A,5156.91471,N,00425.12165,E,57.782,323.35,120308,,,A*50
+$GPRMC,101436.00,A,5156.92762,N,00425.10599,E,58.289,322.85,120308,,,A*5F
+$GPRMC,101437.00,A,5156.94120,N,00425.09021,E,60.359,323.30,120308,,,A*5E
+$GPRMC,101438.00,A,5156.95463,N,00425.07440,E,59.332,323.38,120308,,,A*50
+$GPRMC,101439.00,A,5156.96792,N,00425.05905,E,57.834,324.56,120308,,,A*5D
+$GPRMC,101440.00,A,5156.98093,N,00425.04408,E,56.968,324.43,120308,,,A*57
+$GPRMC,101441.00,A,5156.99386,N,00425.02927,E,56.738,323.64,120308,,,A*5F
+$GPRMC,101442.00,A,5157.00668,N,00425.01472,E,55.900,324.32,120308,,,A*54
+$GPRMC,101443.00,A,5157.01932,N,00425.00020,E,55.750,324.62,120308,,,A*58
+$GPRMC,101444.00,A,5157.03224,N,00424.98581,E,56.233,325.42,120308,,,A*5F
+$GPRMC,101445.00,A,5157.04494,N,00424.97085,E,55.889,324.99,120308,,,A*55
+$GPRMC,101446.00,A,5157.05764,N,00424.95657,E,55.151,325.44,120308,,,A*5D
+$GPRMC,101447.00,A,5157.06985,N,00424.94246,E,54.312,324.87,120308,,,A*51
+$GPRMC,101448.00,A,5157.08182,N,00424.92841,E,54.285,325.36,120308,,,A*50
+$GPRMC,101449.00,A,5157.09496,N,00424.91585,E,54.774,326.48,120308,,,A*57
+$GPRMC,101450.00,A,5157.10824,N,00424.90354,E,55.386,328.37,120308,,,A*57
+$GPRMC,101451.00,A,5157.12161,N,00424.89078,E,56.706,329.32,120308,,,A*52
+$GPRMC,101452.00,A,5157.13515,N,00424.87819,E,56.589,330.96,120308,,,A*55
+$GPRMC,101453.00,A,5157.14887,N,00424.86668,E,55.668,332.67,120308,,,A*5F
+$GPRMC,101454.00,A,5157.16280,N,00424.85571,E,55.950,333.69,120308,,,A*54
+$GPRMC,101455.00,A,5157.17672,N,00424.84492,E,55.375,333.99,120308,,,A*52
+$GPRMC,101456.00,A,5157.19013,N,00424.83443,E,53.983,333.90,120308,,,A*59
+$GPRMC,101457.00,A,5157.20341,N,00424.82388,E,53.333,333.69,120308,,,A*50
+$GPRMC,101458.00,A,5157.21683,N,00424.81356,E,54.085,334.09,120308,,,A*5D
+$GPRMC,101459.00,A,5157.23037,N,00424.80289,E,55.586,333.76,120308,,,A*5D
+$GPRMC,101500.00,A,5157.24435,N,00424.79187,E,57.088,334.05,120308,,,A*50
+$GPRMC,101501.00,A,5157.25815,N,00424.78031,E,57.556,333.92,120308,,,A*5C
+$GPRMC,101502.00,A,5157.27259,N,00424.76872,E,58.581,334.20,120308,,,A*55
+$GPRMC,101503.00,A,5157.28721,N,00424.75716,E,59.832,334.39,120308,,,A*53
+$GPRMC,101504.00,A,5157.30257,N,00424.74536,E,61.210,334.44,120308,,,A*53
+$GPRMC,101505.00,A,5157.31822,N,00424.73341,E,62.460,334.80,120308,,,A*50
+$GPRMC,101506.00,A,5157.33400,N,00424.72143,E,62.302,334.56,120308,,,A*54
+$GPRMC,101507.00,A,5157.34982,N,00424.70919,E,63.401,334.28,120308,,,A*5C
+$GPRMC,101508.00,A,5157.36574,N,00424.69683,E,63.770,334.19,120308,,,A*57
+$GPRMC,101509.00,A,5157.38178,N,00424.68436,E,64.090,334.17,120308,,,A*5D
+$GPRMC,101510.00,A,5157.39802,N,00424.67180,E,65.242,334.39,120308,,,A*57
+$GPRMC,101511.00,A,5157.41456,N,00424.65904,E,66.240,334.31,120308,,,A*5B
+$GPRMC,101512.00,A,5157.43135,N,00424.64600,E,67.342,334.18,120308,,,A*59
+$GPRMC,101513.00,A,5157.44828,N,00424.63267,E,68.182,334.12,120308,,,A*53
+$GPRMC,101514.00,A,5157.46556,N,00424.61934,E,69.052,334.22,120308,,,A*53
+$GPRMC,101515.00,A,5157.48307,N,00424.60583,E,69.852,334.23,120308,,,A*56
+$GPRMC,101516.00,A,5157.50077,N,00424.59222,E,70.487,334.42,120308,,,A*55
+$GPRMC,101517.00,A,5157.51849,N,00424.57866,E,69.936,334.48,120308,,,A*51
+$GPRMC,101518.00,A,5157.53610,N,00424.56506,E,70.087,334.08,120308,,,A*5B
+$GPRMC,101519.00,A,5157.55366,N,00424.55144,E,69.815,334.34,120308,,,A*5D
+$GPRMC,101520.00,A,5157.57112,N,00424.53797,E,69.240,334.31,120308,,,A*55
+$GPRMC,101521.00,A,5157.58824,N,00424.52440,E,68.335,334.06,120308,,,A*59
+$GPRMC,101522.00,A,5157.60559,N,00424.51139,E,68.581,334.87,120308,,,A*5E
+$GPRMC,101523.00,A,5157.62275,N,00424.49956,E,66.897,336.23,120308,,,A*54
+$GPRMC,101524.00,A,5157.63971,N,00424.48721,E,66.346,335.23,120308,,,A*56
+$GPRMC,101525.00,A,5157.65633,N,00424.47507,E,65.061,334.84,120308,,,A*58
+$GPRMC,101526.00,A,5157.67268,N,00424.46284,E,63.972,334.93,120308,,,A*55
+$GPRMC,101527.00,A,5157.68869,N,00424.45066,E,62.917,334.60,120308,,,A*53
+$GPRMC,101528.00,A,5157.70437,N,00424.43854,E,62.102,334.37,120308,,,A*53
+$GPRMC,101529.00,A,5157.71981,N,00424.42643,E,61.222,333.77,120308,,,A*5B
+$GPRMC,101530.00,A,5157.73498,N,00424.41455,E,59.999,334.41,120308,,,A*50
+$GPRMC,101531.00,A,5157.74997,N,00424.40338,E,59.231,336.19,120308,,,A*5F
+$GPRMC,101532.00,A,5157.76471,N,00424.39258,E,58.372,336.01,120308,,,A*5C
+$GPRMC,101533.00,A,5157.77926,N,00424.38174,E,58.369,335.09,120308,,,A*5E
+$GPRMC,101534.00,A,5157.79400,N,00424.37076,E,58.784,335.15,120308,,,A*58
+$GPRMC,101535.00,A,5157.80835,N,00424.35918,E,57.993,334.36,120308,,,A*51
+$GPRMC,101536.00,A,5157.82257,N,00424.34808,E,56.842,333.73,120308,,,A*55
+$GPRMC,101537.00,A,5157.83641,N,00424.33705,E,55.640,333.63,120308,,,A*5D
+$GPRMC,101538.00,A,5157.84999,N,00424.32628,E,54.463,333.92,120308,,,A*5C
+$GPRMC,101539.00,A,5157.86336,N,00424.31589,E,53.178,334.15,120308,,,A*5B
+$GPRMC,101540.00,A,5157.87651,N,00424.30584,E,52.218,334.30,120308,,,A*5F
+$GPRMC,101541.00,A,5157.88937,N,00424.29596,E,50.844,334.02,120308,,,A*55
+$GPRMC,101542.00,A,5157.90180,N,00424.28611,E,49.870,333.57,120308,,,A*5E
+$GPRMC,101543.00,A,5157.91408,N,00424.27665,E,48.351,333.87,120308,,,A*53
+$GPRMC,101544.00,A,5157.92596,N,00424.26796,E,47.078,333.84,120308,,,A*59
+$GPRMC,101545.00,A,5157.93746,N,00424.25972,E,45.522,334.27,120308,,,A*57
+$GPRMC,101546.00,A,5157.94866,N,00424.25146,E,44.408,334.35,120308,,,A*5A
+$GPRMC,101547.00,A,5157.95977,N,00424.24304,E,44.562,334.40,120308,,,A*51
+$GPRMC,101548.00,A,5157.97094,N,00424.23466,E,45.028,334.15,120308,,,A*56
+$GPRMC,101549.00,A,5157.98202,N,00424.22604,E,44.440,334.12,120308,,,A*5E
+$GPRMC,101550.00,A,5157.99294,N,00424.21752,E,43.901,334.13,120308,,,A*57
+$GPRMC,101551.00,A,5158.00372,N,00424.20902,E,43.470,333.95,120308,,,A*58
+$GPRMC,101552.00,A,5158.01449,N,00424.20048,E,43.565,333.68,120308,,,A*55
+$GPRMC,101553.00,A,5158.02532,N,00424.19193,E,43.792,333.89,120308,,,A*52
+$GPRMC,101554.00,A,5158.03625,N,00424.18339,E,43.970,334.20,120308,,,A*54
+$GPRMC,101555.00,A,5158.04724,N,00424.17494,E,43.968,334.53,120308,,,A*50
+$GPRMC,101556.00,A,5158.05818,N,00424.16648,E,43.981,334.40,120308,,,A*55
+$GPRMC,101557.00,A,5158.06912,N,00424.15798,E,43.887,334.15,120308,,,A*54
+$GPRMC,101558.00,A,5158.08001,N,00424.14943,E,43.635,333.93,120308,,,A*59
+$GPRMC,101559.00,A,5158.09085,N,00424.14087,E,43.645,334.06,120308,,,A*58
+$GPRMC,101600.00,A,5158.10178,N,00424.13239,E,44.056,334.37,120308,,,A*5D
+$GPRMC,101601.00,A,5158.11287,N,00424.12372,E,44.980,334.18,120308,,,A*5E
+$GPRMC,101602.00,A,5158.12425,N,00424.11505,E,45.631,334.84,120308,,,A*54
+$GPRMC,101603.00,A,5158.13547,N,00424.10602,E,45.720,334.67,120308,,,A*58
+$GPRMC,101604.00,A,5158.14698,N,00424.09714,E,46.401,334.57,120308,,,A*57
+$GPRMC,101605.00,A,5158.15864,N,00424.08815,E,47.187,334.58,120308,,,A*50
+$GPRMC,101606.00,A,5158.17060,N,00424.07898,E,48.252,334.49,120308,,,A*53
+$GPRMC,101607.00,A,5158.18278,N,00424.06954,E,49.099,334.24,120308,,,A*59
+$GPRMC,101608.00,A,5158.19501,N,00424.05994,E,49.019,334.16,120308,,,A*58
+$GPRMC,101609.00,A,5158.20724,N,00424.05038,E,49.039,334.34,120308,,,A*5B
+$GPRMC,101610.00,A,5158.21958,N,00424.04093,E,49.168,334.63,120308,,,A*50
+$GPRMC,101611.00,A,5158.23174,N,00424.03178,E,48.277,335.41,120308,,,A*5B
+$GPRMC,101612.00,A,5158.24378,N,00424.02330,E,47.027,337.11,120308,,,A*51
+$GPRMC,101613.00,A,5158.25585,N,00424.01482,E,47.736,336.87,120308,,,A*51
+$GPRMC,101614.00,A,5158.26816,N,00424.00680,E,47.702,338.49,120308,,,A*58
+$GPRMC,101615.00,A,5158.28053,N,00423.99931,E,47.119,340.24,120308,,,A*54
+$GPRMC,101616.00,A,5158.29265,N,00423.99249,E,46.241,341.83,120308,,,A*56
+$GPRMC,101617.00,A,5158.30463,N,00423.98650,E,44.952,342.93,120308,,,A*5B
+$GPRMC,101618.00,A,5158.31648,N,00423.98092,E,44.240,343.95,120308,,,A*59
+$GPRMC,101619.00,A,5158.32842,N,00423.97551,E,44.689,344.37,120308,,,A*54
+$GPRMC,101620.00,A,5158.34051,N,00423.97005,E,45.402,344.05,120308,,,A*57
+$GPRMC,101621.00,A,5158.35294,N,00423.96451,E,46.586,343.55,120308,,,A*54
+$GPRMC,101622.00,A,5158.36576,N,00423.95895,E,48.396,344.13,120308,,,A*54
+$GPRMC,101623.00,A,5158.37892,N,00423.95311,E,48.964,344.34,120308,,,A*56
+$GPRMC,101624.00,A,5158.39190,N,00423.94776,E,47.555,344.86,120308,,,A*58
+$GPRMC,101625.00,A,5158.40472,N,00423.94243,E,46.799,345.05,120308,,,A*54
+$GPRMC,101626.00,A,5158.41730,N,00423.93734,E,46.567,345.15,120308,,,A*53
+$GPRMC,101627.00,A,5158.42976,N,00423.93227,E,46.109,345.16,120308,,,A*55
+$GPRMC,101628.00,A,5158.44213,N,00423.92711,E,45.668,345.38,120308,,,A*5A
+$GPRMC,101629.00,A,5158.45443,N,00423.92186,E,45.773,344.96,120308,,,A*5F
+$GPRMC,101630.00,A,5158.46669,N,00423.91696,E,45.851,345.49,120308,,,A*57
+$GPRMC,101631.00,A,5158.47887,N,00423.91203,E,45.071,345.61,120308,,,A*51
+$GPRMC,101632.00,A,5158.49097,N,00423.90690,E,44.953,345.17,120308,,,A*53
+$GPRMC,101633.00,A,5158.50288,N,00423.90195,E,44.294,345.27,120308,,,A*57
+$GPRMC,101634.00,A,5158.51472,N,00423.89707,E,44.252,345.04,120308,,,A*5C
+$GPRMC,101635.00,A,5158.52660,N,00423.89177,E,44.464,344.89,120308,,,A*59
+$GPRMC,101636.00,A,5158.53854,N,00423.88675,E,45.111,344.99,120308,,,A*51
+$GPRMC,101637.00,A,5158.55069,N,00423.88133,E,45.509,345.05,120308,,,A*5C
+$GPRMC,101638.00,A,5158.56298,N,00423.87598,E,46.213,344.96,120308,,,A*52
+$GPRMC,101639.00,A,5158.57541,N,00423.87063,E,46.648,344.65,120308,,,A*56
+$GPRMC,101640.00,A,5158.58763,N,00423.86495,E,46.310,344.88,120308,,,A*52
+$GPRMC,101641.00,A,5158.59998,N,00423.85920,E,46.026,344.92,120308,,,A*55
+$GPRMC,101642.00,A,5158.61236,N,00423.85315,E,45.940,344.57,120308,,,A*5D
+$GPRMC,101643.00,A,5158.62466,N,00423.84749,E,45.881,344.78,120308,,,A*51
+$GPRMC,101644.00,A,5158.63691,N,00423.84222,E,45.540,344.69,120308,,,A*55
+$GPRMC,101645.00,A,5158.64908,N,00423.83687,E,45.064,344.91,120308,,,A*54
+$GPRMC,101646.00,A,5158.66117,N,00423.83178,E,45.087,344.90,120308,,,A*58
+$GPRMC,101647.00,A,5158.67315,N,00423.82640,E,44.667,344.27,120308,,,A*50
+$GPRMC,101648.00,A,5158.68499,N,00423.82095,E,44.634,343.72,120308,,,A*5C
+$GPRMC,101649.00,A,5158.69682,N,00423.81620,E,44.439,344.74,120308,,,A*51
+$GPRMC,101650.00,A,5158.70873,N,00423.81121,E,44.298,344.43,120308,,,A*5E
+$GPRMC,101651.00,A,5158.72067,N,00423.80583,E,44.827,344.31,120308,,,A*56
+$GPRMC,101652.00,A,5158.73283,N,00423.80096,E,45.496,345.56,120308,,,A*5A
+$GPRMC,101653.00,A,5158.74537,N,00423.79559,E,46.684,345.25,120308,,,A*52
+$GPRMC,101654.00,A,5158.75814,N,00423.79035,E,48.156,345.83,120308,,,A*5D
+$GPRMC,101655.00,A,5158.77113,N,00423.78524,E,48.678,346.96,120308,,,A*58
+$GPRMC,101656.00,A,5158.78476,N,00423.78066,E,50.835,348.31,120308,,,A*5C
+$GPRMC,101657.00,A,5158.79875,N,00423.77619,E,52.390,348.42,120308,,,A*50
+$GPRMC,101658.00,A,5158.81299,N,00423.77139,E,52.180,347.82,120308,,,A*55
+$GPRMC,101659.00,A,5158.82697,N,00423.76626,E,51.256,346.79,120308,,,A*5B
+$GPRMC,101700.00,A,5158.84070,N,00423.76082,E,49.994,346.04,120308,,,A*51
+$GPRMC,101701.00,A,5158.85406,N,00423.75528,E,48.730,345.63,120308,,,A*51
+$GPRMC,101702.00,A,5158.86720,N,00423.74980,E,47.371,345.41,120308,,,A*57
+$GPRMC,101703.00,A,5158.87976,N,00423.74440,E,45.586,345.07,120308,,,A*55
+$GPRMC,101704.00,A,5158.89161,N,00423.73921,E,43.088,345.31,120308,,,A*57
+$GPRMC,101705.00,A,5158.90277,N,00423.73428,E,40.210,344.85,120308,,,A*50
+$GPRMC,101706.00,A,5158.91325,N,00423.72988,E,38.538,346.01,120308,,,A*5E
+$GPRMC,101707.00,A,5158.92353,N,00423.72650,E,37.335,348.94,120308,,,A*51
+$GPRMC,101708.00,A,5158.93359,N,00423.72377,E,36.251,350.02,120308,,,A*51
+$GPRMC,101709.00,A,5158.94296,N,00423.72215,E,33.277,355.41,120308,,,A*53
+$GPRMC,101710.00,A,5158.95091,N,00423.72314,E,29.450,4.04,120308,,,A*51
+$GPRMC,101711.00,A,5158.95916,N,00423.72601,E,30.595,12.37,120308,,,A*60
+$GPRMC,101712.00,A,5158.96602,N,00423.73273,E,29.429,26.56,120308,,,A*64
+$GPRMC,101713.00,A,5158.97262,N,00423.74039,E,29.999,34.10,120308,,,A*6A
+$GPRMC,101714.00,A,5158.97907,N,00423.74918,E,29.809,37.66,120308,,,A*65
+$GPRMC,101715.00,A,5158.98548,N,00423.75757,E,29.453,37.17,120308,,,A*6D
+$GPRMC,101716.00,A,5158.99225,N,00423.76485,E,28.703,27.28,120308,,,A*66
+$GPRMC,101717.00,A,5158.99910,N,00423.76878,E,25.419,14.40,120308,,,A*6F
+$GPRMC,101718.00,A,5159.00604,N,00423.77023,E,24.829,5.95,120308,,,A*5A
+$GPRMC,101719.00,A,5159.01387,N,00423.76914,E,27.522,356.52,120308,,,A*53
+$GPRMC,101720.00,A,5159.02083,N,00423.76639,E,26.558,348.40,120308,,,A*5D
+$GPRMC,101721.00,A,5159.02769,N,00423.76325,E,26.181,345.66,120308,,,A*5E
+$GPRMC,101722.00,A,5159.03453,N,00423.76017,E,25.574,344.29,120308,,,A*53
+$GPRMC,101723.00,A,5159.04096,N,00423.75735,E,24.301,345.68,120308,,,A*5D
+$GPRMC,101724.00,A,5159.04708,N,00423.75471,E,21.885,346.74,120308,,,A*55
+$GPRMC,101725.00,A,5159.05304,N,00423.75207,E,21.596,345.79,120308,,,A*5B
+$GPRMC,101726.00,A,5159.05889,N,00423.74913,E,22.235,342.84,120308,,,A*51
+$GPRMC,101727.00,A,5159.06477,N,00423.74639,E,22.153,344.35,120308,,,A*56
+$GPRMC,101728.00,A,5159.07059,N,00423.74378,E,21.838,344.01,120308,,,A*50
+$GPRMC,101729.00,A,5159.07644,N,00423.74079,E,21.430,342.59,120308,,,A*56
+$GPRMC,101730.00,A,5159.08190,N,00423.73856,E,20.112,346.24,120308,,,A*57
+$GPRMC,101731.00,A,5159.08717,N,00423.73613,E,20.073,344.05,120308,,,A*57
+$GPRMC,101732.00,A,5159.09222,N,00423.73413,E,17.946,345.89,120308,,,A*5A
+$GPRMC,101733.00,A,5159.09680,N,00423.73194,E,17.728,342.79,120308,,,A*53
+$GPRMC,101734.00,A,5159.10133,N,00423.72969,E,16.880,343.79,120308,,,A*55
+$GPRMC,101735.00,A,5159.10565,N,00423.72764,E,15.595,339.61,120308,,,A*5E
+$GPRMC,101736.00,A,5159.10946,N,00423.72440,E,14.518,338.62,120308,,,A*53
+$GPRMC,101737.00,A,5159.11287,N,00423.72229,E,12.737,339.75,120308,,,A*52
+$GPRMC,101738.00,A,5159.11568,N,00423.72032,E,10.415,336.58,120308,,,A*52
+$GPRMC,101739.00,A,5159.11776,N,00423.71895,E,7.539,332.31,120308,,,A*6A
+$GPRMC,101740.00,A,5159.11887,N,00423.71753,E,5.496,323.39,120308,,,A*6E
+$GPRMC,101741.00,A,5159.11926,N,00423.71594,E,4.665,309.79,120308,,,A*6F
+$GPRMC,101742.00,A,5159.11901,N,00423.71486,E,3.116,280.69,120308,,,A*6E
+$GPRMC,101743.00,A,5159.11913,N,00423.71405,E,2.793,295.12,120308,,,A*65
+$GPRMC,101744.00,A,5159.11916,N,00423.71325,E,2.122,290.20,120308,,,A*6A
+$GPRMC,101745.00,A,5159.11882,N,00423.71334,E,1.197,289.83,120308,,,A*6B
+$GPRMC,101746.00,A,5159.11852,N,00423.71367,E,0.370,284.11,120308,,,A*6F
+$GPRMC,101747.00,A,5159.11803,N,00423.71426,E,0.064,286.68,120308,,,A*62
+$GPRMC,101748.00,A,5159.11772,N,00423.71475,E,0.083,289.39,120308,,,A*60
+$GPRMC,101749.00,A,5159.11752,N,00423.71519,E,0.087,286.30,120308,,,A*6A
+$GPRMC,101750.00,A,5159.11744,N,00423.71540,E,0.103,288.14,120308,,,A*6C
+$GPRMC,101751.00,A,5159.11732,N,00423.71542,E,0.399,289.24,120308,,,A*6D
+$GPRMC,101752.00,A,5159.11723,N,00423.71559,E,0.158,288.99,120308,,,A*6C
+$GPRMC,101753.00,A,5159.11724,N,00423.71559,E,0.303,286.88,120308,,,A*68
+$GPRMC,101754.00,A,5159.11728,N,00423.71561,E,0.702,288.87,120308,,,A*6C
+$GPRMC,101755.00,A,5159.11732,N,00423.71553,E,0.578,289.92,120308,,,A*6D
+$GPRMC,101756.00,A,5159.11718,N,00423.71561,E,0.062,290.98,120308,,,A*6B
+$GPRMC,101757.00,A,5159.11699,N,00423.71581,E,0.030,287.64,120308,,,A*6E
+$GPRMC,101758.00,A,5159.11686,N,00423.71601,E,0.033,288.22,120308,,,A*6A
+$GPRMC,101759.00,A,5159.11677,N,00423.71616,E,0.065,288.09,120308,,,A*69
+$GPRMC,101800.00,A,5159.11671,N,00423.71631,E,0.134,287.63,120308,,,A*6F
+$GPRMC,101801.00,A,5159.11669,N,00423.71615,E,0.069,287.74,120308,,,A*6E
+$GPRMC,101802.00,A,5159.11664,N,00423.71620,E,0.036,282.53,120308,,,A*6C
+$GPRMC,101803.00,A,5159.11665,N,00423.71618,E,0.059,282.64,120308,,,A*6A
+$GPRMC,101804.00,A,5159.11665,N,00423.71621,E,0.016,,120308,,,A*78
+$GPRMC,101805.00,A,5159.11668,N,00423.71613,E,0.273,284.11,120308,,,A*64
+$GPRMC,101806.00,A,5159.11668,N,00423.71613,E,0.013,,120308,,,A*73
+$GPRMC,101807.00,A,5159.11666,N,00423.71611,E,0.085,283.75,120308,,,A*64
+$GPRMC,101808.00,A,5159.11666,N,00423.71610,E,0.114,283.63,120308,,,A*64
+$GPRMC,101809.00,A,5159.11659,N,00423.71603,E,0.036,280.39,120308,,,A*66
+$GPRMC,101810.00,A,5159.11654,N,00423.71601,E,0.029,281.81,120308,,,A*6D
+$GPRMC,101811.00,A,5159.11652,N,00423.71592,E,0.165,281.65,120308,,,A*60
+$GPRMC,101812.00,A,5159.11651,N,00423.71594,E,0.029,276.44,120308,,,A*64
+$GPRMC,101813.00,A,5159.11649,N,00423.71580,E,0.121,276.60,120308,,,A*66
+$GPRMC,101814.00,A,5159.11649,N,00423.71574,E,0.035,276.69,120308,,,A*67
+$GPRMC,101815.00,A,5159.11650,N,00423.71570,E,0.080,271.20,120308,,,A*6E
+$GPRMC,101816.00,A,5159.11659,N,00423.71530,E,0.112,271.50,120308,,,A*6D
+$GPRMC,101817.00,A,5159.11664,N,00423.71525,E,0.368,273.87,120308,,,A*61
+$GPRMC,101818.00,A,5159.11677,N,00423.71492,E,0.645,275.77,120308,,,A*62
+$GPRMC,101819.00,A,5159.11687,N,00423.71467,E,0.241,275.70,120308,,,A*61
+$GPRMC,101820.00,A,5159.11697,N,00423.71429,E,0.189,275.35,120308,,,A*66
+$GPRMC,101821.00,A,5159.11698,N,00423.71429,E,0.357,277.04,120308,,,A*69
+$GPRMC,101822.00,A,5159.11716,N,00423.71391,E,1.205,278.79,120308,,,A*6B
+$GPRMC,101823.00,A,5159.11733,N,00423.71360,E,0.892,280.94,120308,,,A*62
+$GPRMC,101824.00,A,5159.11735,N,00423.71368,E,0.338,281.87,120308,,,A*63
+$GPRMC,101825.00,A,5159.11719,N,00423.71427,E,0.083,281.47,120308,,,A*6F
+$GPRMC,101826.00,A,5159.11715,N,00423.71474,E,0.110,276.25,120308,,,A*61
+$GPRMC,101827.00,A,5159.11706,N,00423.71511,E,0.125,276.39,120308,,,A*6B
+$GPRMC,101828.00,A,5159.11685,N,00423.71568,E,0.148,271.36,120308,,,A*63
+$GPRMC,101829.00,A,5159.11674,N,00423.71599,E,0.215,273.69,120308,,,A*61
+$GPRMC,101830.00,A,5159.11666,N,00423.71625,E,0.100,275.12,120308,,,A*63
+$GPRMC,101831.00,A,5159.11646,N,00423.71673,E,0.208,275.20,120308,,,A*69
+$GPRMC,101832.00,A,5159.11624,N,00423.71725,E,0.030,274.99,120308,,,A*66
+$GPRMC,101833.00,A,5159.11608,N,00423.71769,E,0.360,277.25,120308,,,A*63
+$GPRMC,101834.00,A,5159.11589,N,00423.71819,E,0.121,277.70,120308,,,A*61
+$GPRMC,101835.00,A,5159.11577,N,00423.71854,E,0.272,278.85,120308,,,A*68
+$GPRMC,101836.00,A,5159.11576,N,00423.71868,E,0.048,279.78,120308,,,A*6D
+$GPRMC,101837.00,A,5159.11576,N,00423.71883,E,0.086,274.58,120308,,,A*64
+$GPRMC,101838.00,A,5159.11576,N,00423.71906,E,0.452,281.61,120308,,,A*6A
+$GPRMC,101839.00,A,5159.11552,N,00423.71926,E,1.447,273.90,120308,,,A*69
+$GPRMC,101840.00,A,5159.11523,N,00423.71949,E,0.978,266.74,120308,,,A*66
+$GPRMC,101841.00,A,5159.11546,N,00423.71983,E,0.045,264.71,120308,,,A*62
+$GPRMC,101842.00,A,5159.11578,N,00423.72009,E,0.066,266.87,120308,,,A*6E
+$GPRMC,101843.00,A,5159.11622,N,00423.72013,E,0.294,269.64,120308,,,A*65
+$GPRMC,101844.00,A,5159.11659,N,00423.72005,E,0.039,268.74,120308,,,A*6C
+$GPRMC,101845.00,A,5159.11696,N,00423.71984,E,0.101,268.57,120308,,,A*66
+$GPRMC,101846.00,A,5159.11729,N,00423.71970,E,0.093,268.48,120308,,,A*6F
+$GPRMC,101847.00,A,5159.11766,N,00423.71942,E,1.591,271.32,120308,,,A*67
+$GPRMC,101848.00,A,5159.11833,N,00423.71886,E,2.167,343.64,120308,,,A*63
+$GPRMC,101849.00,A,5159.11897,N,00423.71819,E,2.686,323.94,120308,,,A*6B
+$GPRMC,101850.00,A,5159.11944,N,00423.71719,E,2.621,300.71,120308,,,A*64
+$GPRMC,101851.00,A,5159.12002,N,00423.71599,E,2.861,301.01,120308,,,A*6B
+$GPRMC,101852.00,A,5159.12032,N,00423.71518,E,1.232,299.50,120308,,,A*69
+$GPRMC,101853.00,A,5159.12069,N,00423.71469,E,0.726,300.53,120308,,,A*62
+$GPRMC,101854.00,A,5159.12104,N,00423.71408,E,1.056,301.08,120308,,,A*66
+$GPRMC,101855.00,A,5159.12123,N,00423.71342,E,1.072,301.89,120308,,,A*64
+$GPRMC,101856.00,A,5159.12127,N,00423.71298,E,0.653,301.31,120308,,,A*62
+$GPRMC,101857.00,A,5159.12114,N,00423.71266,E,0.068,299.82,120308,,,A*64
+$GPRMC,101858.00,A,5159.12095,N,00423.71257,E,0.311,307.85,120308,,,A*6D
+$GPRMC,101859.00,A,5159.12091,N,00423.71290,E,0.114,313.19,120308,,,A*64
+$GPRMC,101900.00,A,5159.12092,N,00423.71294,E,0.245,311.64,120308,,,A*61
+$GPRMC,101901.00,A,5159.12115,N,00423.71253,E,0.113,310.26,120308,,,A*62
+$GPRMC,101902.00,A,5159.12110,N,00423.71211,E,0.124,312.34,120308,,,A*67
+$GPRMC,101903.00,A,5159.12099,N,00423.71211,E,0.067,312.92,120308,,,A*6C
+$GPRMC,101904.00,A,5159.12087,N,00423.71205,E,0.073,313.41,120308,,,A*6B
+$GPRMC,101905.00,A,5159.12085,N,00423.71198,E,0.221,308.79,120308,,,A*6B
+$GPRMC,101906.00,A,5159.12065,N,00423.71179,E,0.130,308.77,120308,,,A*64
+$GPRMC,101907.00,A,5159.12056,N,00423.71167,E,0.148,309.87,120308,,,A*6B
+$GPRMC,101908.00,A,5159.12048,N,00423.71168,E,0.142,314.16,120308,,,A*6A
+$GPRMC,101909.00,A,5159.12043,N,00423.71160,E,0.147,316.27,120308,,,A*6D
+$GPRMC,101910.00,A,5159.12037,N,00423.71169,E,0.350,324.74,120308,,,A*6C
+$GPRMC,101911.00,A,5159.12033,N,00423.71176,E,0.187,327.08,120308,,,A*67
+$GPRMC,101912.00,A,5159.12033,N,00423.71169,E,0.155,328.41,120308,,,A*67
+$GPRMC,101913.00,A,5159.12038,N,00423.71171,E,0.189,331.00,120308,,,A*68
+$GPRMC,101914.00,A,5159.12039,N,00423.71149,E,0.149,332.01,120308,,,A*6B
+$GPRMC,101915.00,A,5159.12032,N,00423.71117,E,0.272,329.31,120308,,,A*68
+$GPRMC,101916.00,A,5159.12025,N,00423.71105,E,0.285,326.86,120308,,,A*65
+$GPRMC,101917.00,A,5159.12014,N,00423.71111,E,0.288,323.32,120308,,,A*64
+$GPRMC,101918.00,A,5159.12007,N,00423.71106,E,0.233,320.99,120308,,,A*6D
+$GPRMC,101919.00,A,5159.11992,N,00423.71100,E,0.339,318.01,120308,,,A*6D
+$GPRMC,101920.00,A,5159.11976,N,00423.71091,E,0.080,316.00,120308,,,A*6A
+$GPRMC,101921.00,A,5159.11959,N,00423.71097,E,0.219,312.84,120308,,,A*6A
+$GPRMC,101922.00,A,5159.11945,N,00423.71082,E,0.109,311.22,120308,,,A*6D
+$GPRMC,101923.00,A,5159.11938,N,00423.71084,E,0.071,314.08,120308,,,A*63
+$GPRMC,101924.00,A,5159.11936,N,00423.71099,E,0.104,311.75,120308,,,A*6A
+$GPRMC,101925.00,A,5159.11924,N,00423.71079,E,0.362,308.20,120308,,,A*6C
+$GPRMC,101926.00,A,5159.11915,N,00423.71064,E,0.065,303.19,120308,,,A*64
+$GPRMC,101927.00,A,5159.11908,N,00423.71063,E,0.062,297.70,120308,,,A*6A
+$GPRMC,101928.00,A,5159.11901,N,00423.71063,E,0.171,295.79,120308,,,A*64
+$GPRMC,101929.00,A,5159.11900,N,00423.71069,E,0.227,292.39,120308,,,A*6D
+$GPRMC,101930.00,A,5159.11902,N,00423.71065,E,0.110,290.75,120308,,,A*66
+$GPRMC,101931.00,A,5159.11906,N,00423.71061,E,0.122,288.81,120308,,,A*64
+$GPRMC,101932.00,A,5159.11912,N,00423.71035,E,0.170,287.83,120308,,,A*69
+$GPRMC,101933.00,A,5159.11920,N,00423.71018,E,0.180,287.08,120308,,,A*6A
+$GPRMC,101934.00,A,5159.11929,N,00423.71004,E,0.104,286.74,120308,,,A*6F
+$GPRMC,101935.00,A,5159.11937,N,00423.70982,E,0.196,284.90,120308,,,A*64
+$GPRMC,101936.00,A,5159.11945,N,00423.70951,E,0.323,283.66,120308,,,A*6E
+$GPRMC,101937.00,A,5159.11951,N,00423.70922,E,0.452,282.48,120308,,,A*62
+$GPRMC,101938.00,A,5159.11956,N,00423.70898,E,0.255,280.81,120308,,,A*6C
+$GPRMC,101939.00,A,5159.11962,N,00423.70858,E,0.413,279.91,120308,,,A*65
+$GPRMC,101940.00,A,5159.11966,N,00423.70839,E,0.274,278.21,120308,,,A*65
+$GPRMC,101941.00,A,5159.11972,N,00423.70862,E,0.019,,120308,,,A*76
+$GPRMC,101942.00,A,5159.11973,N,00423.70851,E,0.013,,120308,,,A*7E
+$GPRMC,101943.00,A,5159.11975,N,00423.70842,E,0.035,282.63,120308,,,A*6C
+$GPRMC,101944.00,A,5159.11978,N,00423.70827,E,0.081,280.72,120308,,,A*68
+$GPRMC,101945.00,A,5159.11979,N,00423.70816,E,0.013,,120308,,,A*70
+$GPRMC,101946.00,A,5159.11980,N,00423.70812,E,0.029,278.18,120308,,,A*62
+$GPRMC,101947.00,A,5159.11983,N,00423.70815,E,0.121,283.22,120308,,,A*63
+$GPRMC,101948.00,A,5159.11986,N,00423.70819,E,0.015,,120308,,,A*74
+$GPRMC,101949.00,A,5159.11988,N,00423.70826,E,0.039,280.37,120308,,,A*69
+$GPRMC,101950.00,A,5159.11991,N,00423.70829,E,0.009,,120308,,,A*75
+$GPRMC,101951.00,A,5159.11993,N,00423.70830,E,0.035,283.42,120308,,,A*60
+$GPRMC,101952.00,A,5159.11994,N,00423.70830,E,0.058,280.40,120308,,,A*6E
+$GPRMC,101953.00,A,5159.11997,N,00423.70832,E,0.049,284.17,120308,,,A*68
+$GPRMC,101954.00,A,5159.11998,N,00423.70838,E,0.025,284.10,120308,,,A*67
+$GPRMC,101955.00,A,5159.11999,N,00423.70848,E,0.033,289.24,120308,,,A*6D
+$GPRMC,101956.00,A,5159.12000,N,00423.70859,E,0.005,,120308,,,A*7A
+$GPRMC,101957.00,A,5159.12000,N,00423.70868,E,0.042,284.93,120308,,,A*60
+$GPRMC,101958.00,A,5159.11994,N,00423.70876,E,0.079,283.30,120308,,,A*61
+$GPRMC,101959.00,A,5159.11988,N,00423.70881,E,0.056,287.38,120308,,,A*64
+$GPRMC,102000.00,A,5159.11985,N,00423.70890,E,0.033,284.08,120308,,,A*6C
+$GPRMC,102001.00,A,5159.11980,N,00423.70906,E,0.343,294.37,120308,,,A*6F
+$GPRMC,102002.00,A,5159.11977,N,00423.70924,E,0.081,297.49,120308,,,A*63
+$GPRMC,102003.00,A,5159.11973,N,00423.70928,E,0.184,296.09,120308,,,A*6B
+$GPRMC,102004.00,A,5159.11967,N,00423.70938,E,0.094,293.65,120308,,,A*67
+$GPRMC,102005.00,A,5159.11961,N,00423.70962,E,0.141,290.64,120308,,,A*64
+$GPRMC,102006.00,A,5159.11953,N,00423.70974,E,0.130,286.48,120308,,,A*6E
+$GPRMC,102007.00,A,5159.11950,N,00423.70984,E,0.047,280.89,120308,,,A*69
+$GPRMC,102008.00,A,5159.11962,N,00423.70982,E,0.581,283.25,120308,,,A*6B
+$GPRMC,102009.00,A,5159.11990,N,00423.70917,E,2.129,280.99,120308,,,A*6B
+$GPRMC,102010.00,A,5159.12016,N,00423.70832,E,2.368,290.69,120308,,,A*68
+$GPRMC,102011.00,A,5159.12045,N,00423.70786,E,0.943,291.90,120308,,,A*69
+$GPRMC,102012.00,A,5159.12051,N,00423.70765,E,0.971,291.84,120308,,,A*66
+$GPRMC,102013.00,A,5159.12066,N,00423.70707,E,2.149,298.10,120308,,,A*62
+$GPRMC,102014.00,A,5159.12088,N,00423.70564,E,4.065,301.64,120308,,,A*69
+$GPRMC,102015.00,A,5159.12205,N,00423.70316,E,7.251,320.05,120308,,,A*6E
+$GPRMC,102016.00,A,5159.12413,N,00423.70080,E,8.964,320.61,120308,,,A*60
+$GPRMC,102017.00,A,5159.12718,N,00423.69779,E,13.119,331.67,120308,,,A*5E
+$GPRMC,102018.00,A,5159.13076,N,00423.69546,E,14.492,340.46,120308,,,A*55
+$GPRMC,102019.00,A,5159.13471,N,00423.69273,E,16.518,337.87,120308,,,A*5A
+$GPRMC,102020.00,A,5159.13889,N,00423.68942,E,17.088,328.66,120308,,,A*5F
+$GPRMC,102021.00,A,5159.14285,N,00423.68326,E,17.989,310.05,120308,,,A*51
+$GPRMC,102022.00,A,5159.14550,N,00423.67629,E,18.608,300.27,120308,,,A*50
+$GPRMC,102023.00,A,5159.14821,N,00423.66668,E,20.657,292.55,120308,,,A*50
+$GPRMC,102024.00,A,5159.14992,N,00423.65867,E,19.505,290.22,120308,,,A*50
+$GPRMC,102025.00,A,5159.15201,N,00423.65034,E,19.202,291.97,120308,,,A*50
+$GPRMC,102026.00,A,5159.15425,N,00423.64280,E,18.394,296.92,120308,,,A*52
+$GPRMC,102027.00,A,5159.15756,N,00423.63563,E,19.809,310.47,120308,,,A*50
+$GPRMC,102028.00,A,5159.16163,N,00423.62895,E,21.504,322.19,120308,,,A*58
+$GPRMC,102029.00,A,5159.16749,N,00423.62364,E,26.822,336.60,120308,,,A*57
+$GPRMC,102030.00,A,5159.17561,N,00423.61980,E,31.203,343.81,120308,,,A*57
+$GPRMC,102031.00,A,5159.18453,N,00423.61552,E,34.186,343.42,120308,,,A*5E
+$GPRMC,102032.00,A,5159.19379,N,00423.61084,E,34.959,343.89,120308,,,A*50
+$GPRMC,102033.00,A,5159.20351,N,00423.60625,E,36.682,343.87,120308,,,A*58
+$GPRMC,102034.00,A,5159.21379,N,00423.60129,E,38.439,344.08,120308,,,A*53
+$GPRMC,102035.00,A,5159.22433,N,00423.59630,E,38.647,344.39,120308,,,A*54
+$GPRMC,102036.00,A,5159.23492,N,00423.59145,E,39.049,344.75,120308,,,A*59
+$GPRMC,102037.00,A,5159.24547,N,00423.58645,E,39.196,344.52,120308,,,A*56
+$GPRMC,102038.00,A,5159.25659,N,00423.58131,E,41.062,344.75,120308,,,A*50
+$GPRMC,102039.00,A,5159.26794,N,00423.57634,E,42.008,344.99,120308,,,A*52
+$GPRMC,102040.00,A,5159.27937,N,00423.57127,E,42.089,344.45,120308,,,A*57
+$GPRMC,102041.00,A,5159.29045,N,00423.56707,E,41.815,344.84,120308,,,A*52
+$GPRMC,102042.00,A,5159.30185,N,00423.56201,E,41.560,345.05,120308,,,A*50
+$GPRMC,102043.00,A,5159.31312,N,00423.55698,E,41.571,345.13,120308,,,A*5C
+$GPRMC,102044.00,A,5159.32432,N,00423.55205,E,41.629,345.38,120308,,,A*5A
+$GPRMC,102045.00,A,5159.33556,N,00423.54722,E,41.604,345.46,120308,,,A*5E
+$GPRMC,102046.00,A,5159.34680,N,00423.54256,E,41.783,345.92,120308,,,A*53
+$GPRMC,102047.00,A,5159.35801,N,00423.53770,E,42.138,344.92,120308,,,A*56
+$GPRMC,102048.00,A,5159.36944,N,00423.53306,E,43.004,345.51,120308,,,A*5E
+$GPRMC,102049.00,A,5159.38067,N,00423.52838,E,42.229,345.11,120308,,,A*56
+$GPRMC,102050.00,A,5159.39201,N,00423.52363,E,42.363,345.80,120308,,,A*5F
+$GPRMC,102051.00,A,5159.40333,N,00423.51877,E,42.162,345.24,120308,,,A*50
+$GPRMC,102052.00,A,5159.41472,N,00423.51388,E,42.546,345.19,120308,,,A*57
+$GPRMC,102053.00,A,5159.42602,N,00423.50881,E,43.004,344.73,120308,,,A*5C
+$GPRMC,102054.00,A,5159.43763,N,00423.50355,E,43.603,344.45,120308,,,A*5A
+$GPRMC,102055.00,A,5159.44944,N,00423.49822,E,43.772,344.53,120308,,,A*54
+$GPRMC,102056.00,A,5159.46127,N,00423.49313,E,43.147,345.04,120308,,,A*52
+$GPRMC,102057.00,A,5159.47271,N,00423.48815,E,41.921,345.15,120308,,,A*54
+$GPRMC,102058.00,A,5159.48388,N,00423.48369,E,40.551,345.66,120308,,,A*5D
+$GPRMC,102059.00,A,5159.49472,N,00423.47915,E,40.156,344.81,120308,,,A*5A
+$GPRMC,102100.00,A,5159.50532,N,00423.47549,E,39.202,347.38,120308,,,A*52
+$GPRMC,102101.00,A,5159.51567,N,00423.47136,E,38.139,345.95,120308,,,A*51
+$GPRMC,102102.00,A,5159.52592,N,00423.46729,E,37.722,346.65,120308,,,A*5D
+$GPRMC,102103.00,A,5159.53560,N,00423.46418,E,36.200,347.04,120308,,,A*53
+$GPRMC,102104.00,A,5159.54465,N,00423.46178,E,34.645,348.80,120308,,,A*50
+$GPRMC,102105.00,A,5159.55336,N,00423.45933,E,32.979,350.21,120308,,,A*51
+$GPRMC,102106.00,A,5159.56204,N,00423.45722,E,31.149,351.54,120308,,,A*54
+$GPRMC,102107.00,A,5159.57054,N,00423.45531,E,30.616,350.33,120308,,,A*5F
+$GPRMC,102108.00,A,5159.57888,N,00423.45336,E,31.182,350.23,120308,,,A*52
+$GPRMC,102109.00,A,5159.58745,N,00423.45120,E,31.830,350.50,120308,,,A*53
+$GPRMC,102110.00,A,5159.59640,N,00423.44859,E,32.825,348.96,120308,,,A*5C
+$GPRMC,102111.00,A,5159.60548,N,00423.44544,E,34.014,347.16,120308,,,A*56
+$GPRMC,102112.00,A,5159.61471,N,00423.44205,E,34.201,347.19,120308,,,A*54
+$GPRMC,102113.00,A,5159.62379,N,00423.43884,E,33.127,347.85,120308,,,A*58
+$GPRMC,102114.00,A,5159.63241,N,00423.43571,E,31.975,349.97,120308,,,A*53
+$GPRMC,102115.00,A,5159.64071,N,00423.43392,E,30.589,351.57,120308,,,A*54
+$GPRMC,102116.00,A,5159.64887,N,00423.43212,E,29.790,352.06,120308,,,A*5A
+$GPRMC,102117.00,A,5159.65694,N,00423.43056,E,29.567,352.05,120308,,,A*5D
+$GPRMC,102118.00,A,5159.66457,N,00423.42878,E,29.098,352.09,120308,,,A*50
+$GPRMC,102119.00,A,5159.67228,N,00423.42742,E,28.255,352.41,120308,,,A*56
+$GPRMC,102120.00,A,5159.67991,N,00423.42618,E,27.810,353.46,120308,,,A*59
+$GPRMC,102121.00,A,5159.68740,N,00423.42502,E,26.923,353.85,120308,,,A*52
+$GPRMC,102122.00,A,5159.69465,N,00423.42398,E,26.021,354.04,120308,,,A*54
+$GPRMC,102123.00,A,5159.70139,N,00423.42339,E,23.436,355.89,120308,,,A*59
+$GPRMC,102124.00,A,5159.70722,N,00423.42308,E,19.375,356.68,120308,,,A*55
+$GPRMC,102125.00,A,5159.71197,N,00423.42264,E,15.733,355.53,120308,,,A*57
+$GPRMC,102126.00,A,5159.71574,N,00423.42272,E,12.517,356.61,120308,,,A*5B
+$GPRMC,102127.00,A,5159.71845,N,00423.42328,E,9.049,0.30,120308,,,A*6B
+$GPRMC,102128.00,A,5159.72058,N,00423.42356,E,8.127,358.31,120308,,,A*6D
+$GPRMC,102129.00,A,5159.72234,N,00423.42386,E,6.388,1.06,120308,,,A*6B
+$GPRMC,102130.00,A,5159.72380,N,00423.42396,E,4.312,0.17,120308,,,A*6C
+$GPRMC,102131.00,A,5159.72468,N,00423.42388,E,2.210,350.72,120308,,,A*63
+$GPRMC,102132.00,A,5159.72499,N,00423.42378,E,0.399,349.70,120308,,,A*69
+$GPRMC,102133.00,A,5159.72496,N,00423.42376,E,0.043,347.55,120308,,,A*64
+$GPRMC,102134.00,A,5159.72489,N,00423.42381,E,0.096,351.01,120308,,,A*6B
+$GPRMC,102135.00,A,5159.72481,N,00423.42394,E,0.142,356.27,120308,,,A*6D
+$GPRMC,102136.00,A,5159.72474,N,00423.42389,E,0.092,359.62,120308,,,A*6A
+$GPRMC,102137.00,A,5159.72461,N,00423.42407,E,0.129,2.69,120308,,,A*69
+$GPRMC,102138.00,A,5159.72449,N,00423.42426,E,0.266,8.68,120308,,,A*6C
+$GPRMC,102139.00,A,5159.72443,N,00423.42401,E,0.036,10.97,120308,,,A*5C
+$GPRMC,102140.00,A,5159.72438,N,00423.42380,E,0.005,,120308,,,A*71
+$GPRMC,102141.00,A,5159.72430,N,00423.42360,E,0.012,,120308,,,A*70
+$GPRMC,102142.00,A,5159.72420,N,00423.42346,E,0.020,5.73,120308,,,A*68
+$GPRMC,102143.00,A,5159.72417,N,00423.42334,E,0.082,4.97,120308,,,A*6B
+$GPRMC,102144.00,A,5159.72445,N,00423.42326,E,2.046,4.67,120308,,,A*6D
+$GPRMC,102145.00,A,5159.72543,N,00423.42327,E,4.981,2.70,120308,,,A*6E
+$GPRMC,102146.00,A,5159.72683,N,00423.42325,E,5.076,1.02,120308,,,A*66
+$GPRMC,102147.00,A,5159.72843,N,00423.42316,E,6.465,2.51,120308,,,A*65
+$GPRMC,102148.00,A,5159.73073,N,00423.42332,E,9.896,3.91,120308,,,A*64
+$GPRMC,102149.00,A,5159.73395,N,00423.42367,E,13.100,3.60,120308,,,A*5D
+$GPRMC,102150.00,A,5159.73771,N,00423.42415,E,13.866,5.58,120308,,,A*5D
+$GPRMC,102151.00,A,5159.74194,N,00423.42478,E,16.417,5.70,120308,,,A*58
+$GPRMC,102152.00,A,5159.74669,N,00423.42570,E,18.050,7.55,120308,,,A*5B
+$GPRMC,102153.00,A,5159.75205,N,00423.42661,E,19.853,6.68,120308,,,A*53
+$GPRMC,102154.00,A,5159.75800,N,00423.42842,E,22.035,11.07,120308,,,A*6B
+$GPRMC,102155.00,A,5159.76402,N,00423.43070,E,22.338,14.27,120308,,,A*66
+$GPRMC,102156.00,A,5159.77029,N,00423.43337,E,23.503,15.79,120308,,,A*6C
+$GPRMC,102157.00,A,5159.77687,N,00423.43640,E,24.868,15.96,120308,,,A*6C
+$GPRMC,102158.00,A,5159.78358,N,00423.43976,E,25.437,12.11,120308,,,A*6E
+$GPRMC,102159.00,A,5159.79052,N,00423.44164,E,24.843,6.18,120308,,,A*59
+$GPRMC,102200.00,A,5159.79791,N,00423.44115,E,25.796,355.40,120308,,,A*56
+$GPRMC,102201.00,A,5159.80573,N,00423.43889,E,27.674,348.59,120308,,,A*5F
+$GPRMC,102202.00,A,5159.81287,N,00423.43464,E,28.284,338.33,120308,,,A*51
+$GPRMC,102203.00,A,5159.82012,N,00423.42840,E,29.319,331.34,120308,,,A*5C
+$GPRMC,102204.00,A,5159.82583,N,00423.41991,E,28.782,320.76,120308,,,A*59
+$GPRMC,102205.00,A,5159.83145,N,00423.41021,E,29.406,312.37,120308,,,A*5F
+$GPRMC,102206.00,A,5159.83531,N,00423.39896,E,28.733,301.68,120308,,,A*5C
+$GPRMC,102207.00,A,5159.83768,N,00423.38531,E,29.638,287.02,120308,,,A*5A
+$GPRMC,102208.00,A,5159.83931,N,00423.37245,E,27.994,282.79,120308,,,A*52
+$GPRMC,102209.00,A,5159.83883,N,00423.35850,E,28.098,268.99,120308,,,A*57
+$GPRMC,102210.00,A,5159.83707,N,00423.34581,E,27.174,256.86,120308,,,A*53
+$GPRMC,102211.00,A,5159.83403,N,00423.33271,E,29.668,248.99,120308,,,A*5F
+$GPRMC,102212.00,A,5159.83065,N,00423.32029,E,29.851,244.00,120308,,,A*5E
+$GPRMC,102213.00,A,5159.82634,N,00423.30770,E,29.484,240.36,120308,,,A*50
+$GPRMC,102214.00,A,5159.82213,N,00423.29653,E,28.724,236.62,120308,,,A*56
+$GPRMC,102215.00,A,5159.81753,N,00423.28637,E,27.030,231.05,120308,,,A*5D
+$GPRMC,102216.00,A,5159.81271,N,00423.27769,E,24.869,225.27,120308,,,A*5C
+$GPRMC,102217.00,A,5159.80710,N,00423.27189,E,24.197,210.62,120308,,,A*59
+$GPRMC,102218.00,A,5159.80155,N,00423.27133,E,22.187,183.54,120308,,,A*5B
+$GPRMC,102219.00,A,5159.79457,N,00423.27309,E,25.076,171.32,120308,,,A*55
+$GPRMC,102220.00,A,5159.78658,N,00423.27690,E,28.266,165.05,120308,,,A*59
+$GPRMC,102221.00,A,5159.77901,N,00423.28082,E,26.960,164.32,120308,,,A*58
+$GPRMC,102222.00,A,5159.77177,N,00423.28414,E,24.059,164.93,120308,,,A*53
+$GPRMC,102223.00,A,5159.76569,N,00423.28701,E,20.007,164.89,120308,,,A*5B
+$GPRMC,102224.00,A,5159.76050,N,00423.28958,E,17.632,164.35,120308,,,A*52
+$GPRMC,102225.00,A,5159.75576,N,00423.29187,E,16.950,164.16,120308,,,A*51
+$GPRMC,102226.00,A,5159.75089,N,00423.29421,E,18.761,162.81,120308,,,A*54
+$GPRMC,102227.00,A,5159.74481,N,00423.29723,E,23.248,161.62,120308,,,A*51
+$GPRMC,102228.00,A,5159.73803,N,00423.30085,E,25.341,160.90,120308,,,A*5E
+$GPRMC,102229.00,A,5159.73176,N,00423.30630,E,26.285,156.28,120308,,,A*50
+$GPRMC,102230.00,A,5159.72495,N,00423.31162,E,27.763,155.96,120308,,,A*5A
+$GPRMC,102231.00,A,5159.71731,N,00423.31716,E,30.895,155.60,120308,,,A*59
+$GPRMC,102232.00,A,5159.70890,N,00423.32349,E,34.520,156.32,120308,,,A*51
+$GPRMC,102233.00,A,5159.69934,N,00423.32989,E,37.860,156.64,120308,,,A*58
+$GPRMC,102234.00,A,5159.68897,N,00423.33721,E,41.177,156.35,120308,,,A*51
+$GPRMC,102235.00,A,5159.67825,N,00423.34461,E,41.577,156.40,120308,,,A*50
+$GPRMC,102236.00,A,5159.66703,N,00423.35135,E,43.366,159.07,120308,,,A*54
+$GPRMC,102237.00,A,5159.65542,N,00423.35810,E,44.708,159.86,120308,,,A*5D
+$GPRMC,102238.00,A,5159.64371,N,00423.36511,E,44.556,159.16,120308,,,A*5A
+$GPRMC,102239.00,A,5159.63194,N,00423.37201,E,44.479,159.74,120308,,,A*5A
+$GPRMC,102240.00,A,5159.62028,N,00423.37900,E,43.743,160.53,120308,,,A*5B
+$GPRMC,102241.00,A,5159.60885,N,00423.38580,E,43.064,160.32,120308,,,A*59
+$GPRMC,102242.00,A,5159.59752,N,00423.39232,E,42.392,160.29,120308,,,A*5B
+$GPRMC,102243.00,A,5159.58655,N,00423.39926,E,41.939,158.17,120308,,,A*5D
+$GPRMC,102244.00,A,5159.57571,N,00423.40590,E,42.018,159.21,120308,,,A*52
+$GPRMC,102245.00,A,5159.56483,N,00423.41239,E,42.308,159.34,120308,,,A*5D
+$GPRMC,102246.00,A,5159.55373,N,00423.41898,E,42.528,159.74,120308,,,A*54
+$GPRMC,102247.00,A,5159.54280,N,00423.42559,E,42.594,160.02,120308,,,A*56
+$GPRMC,102248.00,A,5159.53175,N,00423.43205,E,42.338,160.36,120308,,,A*5F
+$GPRMC,102249.00,A,5159.52072,N,00423.43832,E,41.487,161.31,120308,,,A*51
+$GPRMC,102250.00,A,5159.50997,N,00423.44408,E,40.123,161.96,120308,,,A*5C
+$GPRMC,102251.00,A,5159.49943,N,00423.44948,E,39.456,162.68,120308,,,A*5E
+$GPRMC,102252.00,A,5159.48879,N,00423.45484,E,39.565,162.94,120308,,,A*5A
+$GPRMC,102253.00,A,5159.47820,N,00423.45987,E,39.252,163.56,120308,,,A*5A
+$GPRMC,102254.00,A,5159.46765,N,00423.46499,E,39.034,163.72,120308,,,A*57
+$GPRMC,102255.00,A,5159.45719,N,00423.46983,E,39.428,164.11,120308,,,A*53
+$GPRMC,102256.00,A,5159.44659,N,00423.47461,E,39.030,162.79,120308,,,A*51
+$GPRMC,102257.00,A,5159.43577,N,00423.47976,E,40.378,162.40,120308,,,A*58
+$GPRMC,102258.00,A,5159.42464,N,00423.48526,E,41.530,161.81,120308,,,A*56
+$GPRMC,102259.00,A,5159.41319,N,00423.49118,E,43.920,161.30,120308,,,A*54
+$GPRMC,102300.00,A,5159.40130,N,00423.49758,E,45.938,161.51,120308,,,A*5B
+$GPRMC,102301.00,A,5159.38880,N,00423.50396,E,47.622,162.24,120308,,,A*5E
+$GPRMC,102302.00,A,5159.37558,N,00423.51011,E,49.753,163.97,120308,,,A*57
+$GPRMC,102303.00,A,5159.36219,N,00423.51633,E,50.376,165.16,120308,,,A*57
+$GPRMC,102304.00,A,5159.34851,N,00423.52217,E,50.485,165.27,120308,,,A*5C
+$GPRMC,102305.00,A,5159.33500,N,00423.52811,E,49.962,164.70,120308,,,A*50
+$GPRMC,102306.00,A,5159.32177,N,00423.53414,E,49.151,165.34,120308,,,A*57
+$GPRMC,102307.00,A,5159.30887,N,00423.54027,E,48.326,164.05,120308,,,A*51
+$GPRMC,102308.00,A,5159.29529,N,00423.54638,E,51.102,163.56,120308,,,A*5A
+$GPRMC,102309.00,A,5159.28133,N,00423.55306,E,53.004,162.97,120308,,,A*55
+$GPRMC,102310.00,A,5159.26693,N,00423.55985,E,54.234,163.68,120308,,,A*58
+$GPRMC,102311.00,A,5159.25216,N,00423.56675,E,55.939,164.48,120308,,,A*52
+$GPRMC,102312.00,A,5159.23711,N,00423.57363,E,56.404,164.57,120308,,,A*58
+$GPRMC,102313.00,A,5159.22225,N,00423.58063,E,55.960,164.92,120308,,,A*53
+$GPRMC,102314.00,A,5159.20707,N,00423.58695,E,55.976,165.42,120308,,,A*57
+$GPRMC,102315.00,A,5159.19220,N,00423.59341,E,54.957,165.21,120308,,,A*56
+$GPRMC,102316.00,A,5159.17741,N,00423.59971,E,54.540,165.23,120308,,,A*58
+$GPRMC,102317.00,A,5159.16296,N,00423.60603,E,53.560,164.85,120308,,,A*5F
+$GPRMC,102318.00,A,5159.14860,N,00423.61218,E,52.968,165.80,120308,,,A*5F
+$GPRMC,102319.00,A,5159.13450,N,00423.61822,E,52.424,165.03,120308,,,A*5B
+$GPRMC,102320.00,A,5159.12055,N,00423.62428,E,51.733,165.34,120308,,,A*56
+$GPRMC,102321.00,A,5159.10687,N,00423.63017,E,50.545,165.19,120308,,,A*58
+$GPRMC,102322.00,A,5159.09352,N,00423.63593,E,49.302,165.21,120308,,,A*51
+$GPRMC,102323.00,A,5159.08050,N,00423.64153,E,48.155,165.33,120308,,,A*5D
+$GPRMC,102324.00,A,5159.06774,N,00423.64706,E,47.207,164.94,120308,,,A*54
+$GPRMC,102325.00,A,5159.05511,N,00423.65256,E,47.268,165.18,120308,,,A*5A
+$GPRMC,102326.00,A,5159.04238,N,00423.65808,E,47.808,165.06,120308,,,A*56
+$GPRMC,102327.00,A,5159.02950,N,00423.66366,E,48.188,165.05,120308,,,A*59
+$GPRMC,102328.00,A,5159.01660,N,00423.66928,E,48.305,165.02,120308,,,A*59
+$GPRMC,102329.00,A,5159.00368,N,00423.67485,E,48.254,165.30,120308,,,A*5B
+$GPRMC,102330.00,A,5158.99075,N,00423.68045,E,48.557,165.06,120308,,,A*5B
+$GPRMC,102331.00,A,5158.97784,N,00423.68604,E,48.031,164.95,120308,,,A*50
+$GPRMC,102332.00,A,5158.96542,N,00423.69116,E,46.087,165.58,120308,,,A*5C
+$GPRMC,102333.00,A,5158.95349,N,00423.69597,E,44.612,165.22,120308,,,A*5B
+$GPRMC,102334.00,A,5158.94213,N,00423.70043,E,42.060,165.49,120308,,,A*5F
+$GPRMC,102335.00,A,5158.93126,N,00423.70498,E,40.117,165.07,120308,,,A*57
+$GPRMC,102336.00,A,5158.92072,N,00423.70932,E,39.021,165.45,120308,,,A*54
+$GPRMC,102337.00,A,5158.91014,N,00423.71400,E,39.470,165.27,120308,,,A*5F
+$GPRMC,102338.00,A,5158.89979,N,00423.71844,E,38.058,165.37,120308,,,A*59
+$GPRMC,102339.00,A,5158.89005,N,00423.72274,E,35.627,164.28,120308,,,A*5C
+$GPRMC,102340.00,A,5158.88089,N,00423.72697,E,33.129,165.08,120308,,,A*52
+$GPRMC,102341.00,A,5158.87277,N,00423.73052,E,30.687,165.22,120308,,,A*59
+$GPRMC,102342.00,A,5158.86472,N,00423.73412,E,29.892,165.09,120308,,,A*53
+$GPRMC,102343.00,A,5158.85691,N,00423.73751,E,29.262,165.13,120308,,,A*54
+$GPRMC,102344.00,A,5158.84911,N,00423.74084,E,28.492,165.19,120308,,,A*5F
+$GPRMC,102345.00,A,5158.84152,N,00423.74395,E,28.292,165.48,120308,,,A*50
+$GPRMC,102346.00,A,5158.83400,N,00423.74697,E,28.049,165.62,120308,,,A*5D
+$GPRMC,102347.00,A,5158.82639,N,00423.75000,E,28.131,165.81,120308,,,A*5F
+$GPRMC,102348.00,A,5158.81875,N,00423.75313,E,28.366,165.17,120308,,,A*5B
+$GPRMC,102349.00,A,5158.81095,N,00423.75647,E,29.530,165.53,120308,,,A*5C
+$GPRMC,102350.00,A,5158.80309,N,00423.76000,E,30.134,164.90,120308,,,A*53
+$GPRMC,102351.00,A,5158.79492,N,00423.76358,E,30.638,165.46,120308,,,A*5E
+$GPRMC,102352.00,A,5158.78673,N,00423.76719,E,30.942,165.57,120308,,,A*52
+$GPRMC,102353.00,A,5158.77825,N,00423.77080,E,32.108,165.50,120308,,,A*54
+$GPRMC,102354.00,A,5158.76945,N,00423.77454,E,32.745,165.10,120308,,,A*53
+$GPRMC,102355.00,A,5158.76074,N,00423.77830,E,32.737,165.05,120308,,,A*56
+$GPRMC,102356.00,A,5158.75190,N,00423.78214,E,32.846,164.68,120308,,,A*5D
+$GPRMC,102357.00,A,5158.74291,N,00423.78603,E,34.069,165.20,120308,,,A*53
+$GPRMC,102358.00,A,5158.73352,N,00423.78998,E,35.357,165.33,120308,,,A*55
+$GPRMC,102359.00,A,5158.72387,N,00423.79415,E,36.283,165.14,120308,,,A*5A
+$GPRMC,102400.00,A,5158.71426,N,00423.79819,E,35.264,165.18,120308,,,A*58
+$GPRMC,102401.00,A,5158.70529,N,00423.80204,E,31.628,165.24,120308,,,A*51
+$GPRMC,102402.00,A,5158.69721,N,00423.80554,E,29.070,165.68,120308,,,A*58
+$GPRMC,102403.00,A,5158.68983,N,00423.80867,E,26.552,165.65,120308,,,A*54
+$GPRMC,102404.00,A,5158.68296,N,00423.81160,E,25.038,165.34,120308,,,A*5D
+$GPRMC,102405.00,A,5158.67636,N,00423.81446,E,24.767,165.11,120308,,,A*57
+$GPRMC,102406.00,A,5158.66989,N,00423.81728,E,23.958,165.24,120308,,,A*56
+$GPRMC,102407.00,A,5158.66363,N,00423.81997,E,23.266,165.74,120308,,,A*50
+$GPRMC,102408.00,A,5158.65785,N,00423.82238,E,20.503,166.03,120308,,,A*59
+$GPRMC,102409.00,A,5158.65284,N,00423.82441,E,17.630,167.80,120308,,,A*59
+$GPRMC,102410.00,A,5158.64851,N,00423.82636,E,16.354,164.77,120308,,,A*5D
+$GPRMC,102411.00,A,5158.64431,N,00423.82826,E,16.085,164.10,120308,,,A*57
+$GPRMC,102412.00,A,5158.64031,N,00423.83025,E,15.633,164.81,120308,,,A*5A
+$GPRMC,102413.00,A,5158.63632,N,00423.83194,E,14.760,165.03,120308,,,A*5F
+$GPRMC,102414.00,A,5158.63280,N,00423.83353,E,12.454,164.97,120308,,,A*52
+$GPRMC,102415.00,A,5158.62984,N,00423.83486,E,10.627,165.71,120308,,,A*5F
+$GPRMC,102416.00,A,5158.62708,N,00423.83607,E,10.001,165.45,120308,,,A*58
+$GPRMC,102417.00,A,5158.62462,N,00423.83719,E,9.145,165.19,120308,,,A*68
+$GPRMC,102418.00,A,5158.62244,N,00423.83821,E,8.181,165.38,120308,,,A*6B
+$GPRMC,102419.00,A,5158.62040,N,00423.83912,E,7.452,165.28,120308,,,A*68
+$GPRMC,102420.00,A,5158.61838,N,00423.84000,E,8.169,165.19,120308,,,A*6B
+$GPRMC,102421.00,A,5158.61628,N,00423.84094,E,8.101,164.86,120308,,,A*61
+$GPRMC,102422.00,A,5158.61418,N,00423.84190,E,7.873,164.63,120308,,,A*6E
+$GPRMC,102423.00,A,5158.61216,N,00423.84280,E,7.680,165.35,120308,,,A*65
+$GPRMC,102424.00,A,5158.61015,N,00423.84371,E,7.787,164.10,120308,,,A*6C
+$GPRMC,102425.00,A,5158.60806,N,00423.84467,E,8.386,163.95,120308,,,A*66
+$GPRMC,102426.00,A,5158.60584,N,00423.84573,E,8.526,164.50,120308,,,A*64
+$GPRMC,102427.00,A,5158.60358,N,00423.84680,E,8.658,164.73,120308,,,A*66
+$GPRMC,102428.00,A,5158.60136,N,00423.84774,E,8.218,164.93,120308,,,A*67
+$GPRMC,102429.00,A,5158.59923,N,00423.84864,E,8.185,165.14,120308,,,A*67
+$GPRMC,102430.00,A,5158.59710,N,00423.84953,E,8.033,165.35,120308,,,A*6B
+$GPRMC,102431.00,A,5158.59486,N,00423.85049,E,9.077,165.68,120308,,,A*6C
+$GPRMC,102432.00,A,5158.59227,N,00423.85156,E,10.460,166.16,120308,,,A*5D
+$GPRMC,102433.00,A,5158.58929,N,00423.85278,E,11.849,166.11,120308,,,A*56
+$GPRMC,102434.00,A,5158.58596,N,00423.85415,E,13.183,165.83,120308,,,A*51
+$GPRMC,102435.00,A,5158.58228,N,00423.85563,E,14.348,166.14,120308,,,A*5D
+$GPRMC,102436.00,A,5158.57830,N,00423.85730,E,15.412,165.21,120308,,,A*5A
+$GPRMC,102437.00,A,5158.57394,N,00423.85916,E,16.958,165.40,120308,,,A*53
+$GPRMC,102438.00,A,5158.56912,N,00423.86120,E,18.815,165.27,120308,,,A*50
+$GPRMC,102439.00,A,5158.56414,N,00423.86335,E,18.355,164.87,120308,,,A*58
+$GPRMC,102440.00,A,5158.55934,N,00423.86544,E,17.506,165.11,120308,,,A*5B
+$GPRMC,102441.00,A,5158.55468,N,00423.86737,E,17.191,165.89,120308,,,A*53
+$GPRMC,102442.00,A,5158.54995,N,00423.86929,E,17.841,165.81,120308,,,A*53
+$GPRMC,102443.00,A,5158.54522,N,00423.87125,E,17.233,165.21,120308,,,A*52
+$GPRMC,102444.00,A,5158.54060,N,00423.87317,E,16.794,165.31,120308,,,A*5D
+$GPRMC,102445.00,A,5158.53609,N,00423.87503,E,16.585,165.63,120308,,,A*54
+$GPRMC,102446.00,A,5158.53176,N,00423.87680,E,15.673,165.68,120308,,,A*52
+$GPRMC,102447.00,A,5158.52766,N,00423.87848,E,15.283,165.76,120308,,,A*5B
+$GPRMC,102448.00,A,5158.52348,N,00423.88015,E,15.295,165.40,120308,,,A*51
+$GPRMC,102449.00,A,5158.51926,N,00423.88188,E,15.639,164.74,120308,,,A*50
+$GPRMC,102450.00,A,5158.51503,N,00423.88366,E,15.746,164.37,120308,,,A*5F
+$GPRMC,102451.00,A,5158.51084,N,00423.88547,E,15.478,164.49,120308,,,A*56
+$GPRMC,102452.00,A,5158.50674,N,00423.88728,E,14.818,164.80,120308,,,A*58
+$GPRMC,102453.00,A,5158.50262,N,00423.88910,E,15.686,165.19,120308,,,A*56
+$GPRMC,102454.00,A,5158.49839,N,00423.89094,E,16.018,165.12,120308,,,A*50
+$GPRMC,102455.00,A,5158.49422,N,00423.89274,E,15.591,165.22,120308,,,A*5F
+$GPRMC,102456.00,A,5158.49008,N,00423.89451,E,15.328,165.25,120308,,,A*52
+$GPRMC,102457.00,A,5158.48603,N,00423.89627,E,14.628,165.18,120308,,,A*56
+$GPRMC,102458.00,A,5158.48223,N,00423.89789,E,13.545,164.96,120308,,,A*52
+$GPRMC,102459.00,A,5158.47890,N,00423.89932,E,11.502,165.27,120308,,,A*5A
+$GPRMC,102500.00,A,5158.47605,N,00423.90050,E,9.990,165.32,120308,,,A*6A
+$GPRMC,102501.00,A,5158.47353,N,00423.90156,E,9.113,165.45,120308,,,A*69
+$GPRMC,102502.00,A,5158.47110,N,00423.90249,E,8.881,167.29,120308,,,A*69
+$GPRMC,102503.00,A,5158.46862,N,00423.90341,E,9.861,165.65,120308,,,A*69
+$GPRMC,102504.00,A,5158.46587,N,00423.90449,E,11.025,165.71,120308,,,A*53
+$GPRMC,102505.00,A,5158.46305,N,00423.90570,E,11.325,165.42,120308,,,A*56
+$GPRMC,102506.00,A,5158.45980,N,00423.90697,E,12.482,165.32,120308,,,A*55
+$GPRMC,102507.00,A,5158.45638,N,00423.90837,E,13.107,165.30,120308,,,A*57
+$GPRMC,102508.00,A,5158.45287,N,00423.90987,E,13.498,165.14,120308,,,A*57
+$GPRMC,102509.00,A,5158.44924,N,00423.91147,E,13.825,165.11,120308,,,A*5F
+$GPRMC,102510.00,A,5158.44564,N,00423.91304,E,13.335,165.36,120308,,,A*55
+$GPRMC,102511.00,A,5158.44226,N,00423.91445,E,12.124,166.24,120308,,,A*54
+$GPRMC,102512.00,A,5158.43917,N,00423.91576,E,11.258,165.92,120308,,,A*5D
+$GPRMC,102513.00,A,5158.43632,N,00423.91699,E,10.518,165.38,120308,,,A*54
+$GPRMC,102514.00,A,5158.43356,N,00423.91819,E,10.443,165.54,120308,,,A*57
+$GPRMC,102515.00,A,5158.43078,N,00423.91939,E,10.827,165.41,120308,,,A*50
+$GPRMC,102516.00,A,5158.42788,N,00423.92066,E,11.215,165.37,120308,,,A*51
+$GPRMC,102517.00,A,5158.42493,N,00423.92195,E,11.128,165.32,120308,,,A*5C
+$GPRMC,102518.00,A,5158.42203,N,00423.92319,E,10.887,165.69,120308,,,A*59
+$GPRMC,102519.00,A,5158.41922,N,00423.92438,E,10.577,165.64,120308,,,A*58
+$GPRMC,102520.00,A,5158.41650,N,00423.92551,E,10.236,165.87,120308,,,A*59
+$GPRMC,102521.00,A,5158.41390,N,00423.92658,E,9.465,165.75,120308,,,A*6E
+$GPRMC,102522.00,A,5158.41156,N,00423.92756,E,8.415,165.32,120308,,,A*6F
+$GPRMC,102523.00,A,5158.40943,N,00423.92849,E,8.267,164.98,120308,,,A*60
+$GPRMC,102524.00,A,5158.40726,N,00423.92944,E,8.654,165.01,120308,,,A*63
+$GPRMC,102525.00,A,5158.40497,N,00423.93043,E,8.947,165.25,120308,,,A*6F
+$GPRMC,102526.00,A,5158.40260,N,00423.93145,E,8.815,165.10,120308,,,A*65
+$GPRMC,102527.00,A,5158.40019,N,00423.93251,E,9.162,164.96,120308,,,A*69
+$GPRMC,102528.00,A,5158.39754,N,00423.93365,E,10.755,165.41,120308,,,A*51
+$GPRMC,102529.00,A,5158.39446,N,00423.93499,E,12.159,165.03,120308,,,A*5A
+$GPRMC,102530.00,A,5158.39119,N,00423.93640,E,12.277,165.25,120308,,,A*50
+$GPRMC,102531.00,A,5158.38793,N,00423.93775,E,11.904,166.48,120308,,,A*57
+$GPRMC,102532.00,A,5158.38480,N,00423.93894,E,11.308,167.47,120308,,,A*5D
+$GPRMC,102533.00,A,5158.38188,N,00423.93997,E,10.382,168.29,120308,,,A*57
+$GPRMC,102534.00,A,5158.37912,N,00423.94085,E,10.008,169.12,120308,,,A*51
+$GPRMC,102535.00,A,5158.37638,N,00423.94168,E,10.181,169.45,120308,,,A*57
+$GPRMC,102536.00,A,5158.37372,N,00423.94231,E,9.775,172.57,120308,,,A*6C
+$GPRMC,102537.00,A,5158.37116,N,00423.94318,E,9.599,168.37,120308,,,A*6A
+$GPRMC,102538.00,A,5158.36859,N,00423.94401,E,9.634,169.06,120308,,,A*6E
+$GPRMC,102539.00,A,5158.36624,N,00423.94494,E,9.345,167.65,120308,,,A*6F
+$GPRMC,102540.00,A,5158.36390,N,00423.94559,E,8.387,165.89,120308,,,A*64
+$GPRMC,102541.00,A,5158.36177,N,00423.94653,E,7.732,164.99,120308,,,A*62
+$GPRMC,102542.00,A,5158.35977,N,00423.94727,E,7.327,165.48,120308,,,A*65
+$GPRMC,102543.00,A,5158.35783,N,00423.94802,E,7.424,165.25,120308,,,A*66
+$GPRMC,102544.00,A,5158.35577,N,00423.94878,E,7.977,165.27,120308,,,A*6C
+$GPRMC,102545.00,A,5158.35348,N,00423.94967,E,8.854,164.88,120308,,,A*63
+$GPRMC,102546.00,A,5158.35081,N,00423.95075,E,10.690,165.17,120308,,,A*55
+$GPRMC,102547.00,A,5158.34746,N,00423.95215,E,13.871,164.80,120308,,,A*50
+$GPRMC,102548.00,A,5158.34370,N,00423.95382,E,14.084,164.82,120308,,,A*56
+$GPRMC,102549.00,A,5158.33992,N,00423.95547,E,13.898,165.54,120308,,,A*51
+$GPRMC,102550.00,A,5158.33625,N,00423.95707,E,13.753,164.63,120308,,,A*51
+$GPRMC,102551.00,A,5158.33261,N,00423.95868,E,13.233,164.87,120308,,,A*5B
+$GPRMC,102552.00,A,5158.32941,N,00423.96024,E,11.607,165.10,120308,,,A*5D
+$GPRMC,102553.00,A,5158.32622,N,00423.96173,E,11.825,165.20,120308,,,A*58
+$GPRMC,102554.00,A,5158.32319,N,00423.96301,E,11.453,165.66,120308,,,A*5A
+$GPRMC,102555.00,A,5158.32014,N,00423.96418,E,11.290,165.55,120308,,,A*53
+$GPRMC,102556.00,A,5158.31709,N,00423.96554,E,10.982,165.24,120308,,,A*5E
+$GPRMC,102557.00,A,5158.31389,N,00423.96677,E,11.966,165.46,120308,,,A*5E
+$GPRMC,102558.00,A,5158.31050,N,00423.96816,E,12.382,164.14,120308,,,A*5A
+$GPRMC,102559.00,A,5158.30723,N,00423.96961,E,12.243,164.99,120308,,,A*51
+$GPRMC,102600.00,A,5158.30405,N,00423.97094,E,11.307,165.14,120308,,,A*5D
+$GPRMC,102601.00,A,5158.30109,N,00423.97220,E,10.541,164.69,120308,,,A*56
+$GPRMC,102602.00,A,5158.29819,N,00423.97349,E,10.371,164.18,120308,,,A*58
+$GPRMC,102603.00,A,5158.29519,N,00423.97474,E,10.595,164.08,120308,,,A*50
+$GPRMC,102604.00,A,5158.29221,N,00423.97610,E,11.272,162.65,120308,,,A*59
+$GPRMC,102605.00,A,5158.28909,N,00423.97773,E,11.989,160.70,120308,,,A*55
+$GPRMC,102606.00,A,5158.28589,N,00423.97950,E,12.848,160.76,120308,,,A*54
+$GPRMC,102607.00,A,5158.28253,N,00423.98122,E,13.229,161.68,120308,,,A*55
+$GPRMC,102608.00,A,5158.27906,N,00423.98283,E,13.225,161.12,120308,,,A*57
+$GPRMC,102609.00,A,5158.27583,N,00423.98463,E,12.525,159.20,120308,,,A*53
+$GPRMC,102610.00,A,5158.27283,N,00423.98619,E,11.360,160.92,120308,,,A*54
+$GPRMC,102611.00,A,5158.27013,N,00423.98768,E,10.391,161.13,120308,,,A*5E
+$GPRMC,102612.00,A,5158.26752,N,00423.98904,E,9.878,160.51,120308,,,A*69
+$GPRMC,102613.00,A,5158.26498,N,00423.99042,E,9.738,159.79,120308,,,A*6C
+$GPRMC,102614.00,A,5158.26249,N,00423.99178,E,9.464,160.57,120308,,,A*65
+$GPRMC,102615.00,A,5158.26015,N,00423.99303,E,8.728,159.88,120308,,,A*63
+$GPRMC,102616.00,A,5158.25798,N,00423.99429,E,8.083,159.69,120308,,,A*67
+$GPRMC,102617.00,A,5158.25590,N,00423.99555,E,8.252,161.34,120308,,,A*6B
+$GPRMC,102618.00,A,5158.25372,N,00423.99682,E,8.705,158.90,120308,,,A*64
+$GPRMC,102619.00,A,5158.25139,N,00423.99827,E,9.401,159.08,120308,,,A*6F
+$GPRMC,102620.00,A,5158.24904,N,00423.99979,E,9.087,158.38,120308,,,A*60
+$GPRMC,102621.00,A,5158.24693,N,00424.00129,E,8.268,157.91,120308,,,A*64
+$GPRMC,102622.00,A,5158.24492,N,00424.00273,E,7.764,159.09,120308,,,A*61
+$GPRMC,102623.00,A,5158.24310,N,00424.00433,E,7.393,155.17,120308,,,A*60
+$GPRMC,102624.00,A,5158.24116,N,00424.00597,E,8.592,156.55,120308,,,A*61
+$GPRMC,102625.00,A,5158.23889,N,00424.00764,E,9.531,156.17,120308,,,A*68
+$GPRMC,102626.00,A,5158.23665,N,00424.00962,E,10.654,155.94,120308,,,A*5F
+$GPRMC,102627.00,A,5158.23401,N,00424.01162,E,11.288,155.86,120308,,,A*50
+$GPRMC,102628.00,A,5158.23118,N,00424.01375,E,11.563,155.80,120308,,,A*52
+$GPRMC,102629.00,A,5158.22831,N,00424.01597,E,11.897,155.03,120308,,,A*57
+$GPRMC,102630.00,A,5158.22543,N,00424.01828,E,11.738,155.03,120308,,,A*54
+$GPRMC,102631.00,A,5158.22263,N,00424.02041,E,11.421,154.45,120308,,,A*5C
+$GPRMC,102632.00,A,5158.21987,N,00424.02242,E,11.225,154.70,120308,,,A*58
+$GPRMC,102633.00,A,5158.21704,N,00424.02453,E,11.782,154.35,120308,,,A*53
+$GPRMC,102634.00,A,5158.21408,N,00424.02661,E,12.234,154.79,120308,,,A*5B
+$GPRMC,102635.00,A,5158.21100,N,00424.02863,E,12.337,156.60,120308,,,A*53
+$GPRMC,102636.00,A,5158.20794,N,00424.03095,E,12.123,154.37,120308,,,A*5D
+$GPRMC,102637.00,A,5158.20505,N,00424.03320,E,11.038,154.11,120308,,,A*57
+$GPRMC,102638.00,A,5158.20242,N,00424.03509,E,10.238,154.69,120308,,,A*5D
+$GPRMC,102639.00,A,5158.19992,N,00424.03674,E,10.086,155.64,120308,,,A*52
+$GPRMC,102640.00,A,5158.19747,N,00424.03857,E,9.581,156.05,120308,,,A*6B
+$GPRMC,102641.00,A,5158.19518,N,00424.04026,E,8.751,155.71,120308,,,A*65
+$GPRMC,102642.00,A,5158.19309,N,00424.04197,E,8.224,154.63,120308,,,A*6E
+$GPRMC,102643.00,A,5158.19104,N,00424.04360,E,8.335,154.13,120308,,,A*6C
+$GPRMC,102644.00,A,5158.18896,N,00424.04532,E,8.420,154.52,120308,,,A*6F
+$GPRMC,102645.00,A,5158.18692,N,00424.04697,E,7.973,154.11,120308,,,A*6B
+$GPRMC,102646.00,A,5158.18501,N,00424.04850,E,7.619,154.17,120308,,,A*61
+$GPRMC,102647.00,A,5158.18311,N,00424.05005,E,7.919,153.40,120308,,,A*64
+$GPRMC,102648.00,A,5158.18110,N,00424.05159,E,8.557,154.27,120308,,,A*6F
+$GPRMC,102649.00,A,5158.17906,N,00424.05313,E,8.235,154.28,120308,,,A*6E
+$GPRMC,102650.00,A,5158.17706,N,00424.05462,E,7.925,154.52,120308,,,A*61
+$GPRMC,102651.00,A,5158.17506,N,00424.05624,E,8.527,153.19,120308,,,A*6B
+$GPRMC,102652.00,A,5158.17304,N,00424.05783,E,8.032,153.74,120308,,,A*6A
+$GPRMC,102653.00,A,5158.17132,N,00424.05923,E,5.983,152.97,120308,,,A*6A
+$GPRMC,102654.00,A,5158.17004,N,00424.06018,E,4.751,153.75,120308,,,A*66
+$GPRMC,102655.00,A,5158.16913,N,00424.06087,E,2.660,155.11,120308,,,A*6E
+$GPRMC,102656.00,A,5158.16868,N,00424.06112,E,1.211,155.02,120308,,,A*6E
+$GPRMC,102657.00,A,5158.16870,N,00424.06053,E,0.331,155.76,120308,,,A*63
+$GPRMC,102658.00,A,5158.16870,N,00424.06044,E,0.015,,120308,,,A*71
+$GPRMC,102659.00,A,5158.16858,N,00424.06049,E,1.100,156.13,120308,,,A*6D
+$GPRMC,102700.00,A,5158.16805,N,00424.06082,E,3.256,152.47,120308,,,A*68
+$GPRMC,102701.00,A,5158.16711,N,00424.06160,E,4.479,155.39,120308,,,A*6C
+$GPRMC,102702.00,A,5158.16589,N,00424.06261,E,5.279,153.42,120308,,,A*63
+$GPRMC,102703.00,A,5158.16450,N,00424.06382,E,6.072,152.60,120308,,,A*60
+$GPRMC,102704.00,A,5158.16283,N,00424.06524,E,7.382,154.75,120308,,,A*6A
+$GPRMC,102705.00,A,5158.16085,N,00424.06682,E,8.264,154.76,120308,,,A*65
+$GPRMC,102706.00,A,5158.15880,N,00424.06840,E,8.034,154.32,120308,,,A*6F
+$GPRMC,102707.00,A,5158.15696,N,00424.06975,E,6.714,154.01,120308,,,A*6B
+$GPRMC,102708.00,A,5158.15538,N,00424.07103,E,6.000,154.81,120308,,,A*61
+$GPRMC,102709.00,A,5158.15403,N,00424.07205,E,4.992,154.84,120308,,,A*69
+$GPRMC,102710.00,A,5158.15291,N,00424.07293,E,4.172,154.47,120308,,,A*6A
+$GPRMC,102711.00,A,5158.15191,N,00424.07358,E,3.794,157.42,120308,,,A*61
+$GPRMC,102712.00,A,5158.15081,N,00424.07449,E,4.839,155.33,120308,,,A*6E
+$GPRMC,102713.00,A,5158.14935,N,00424.07564,E,6.720,155.10,120308,,,A*62
+$GPRMC,102714.00,A,5158.14741,N,00424.07715,E,8.531,155.72,120308,,,A*64
+$GPRMC,102715.00,A,5158.14516,N,00424.07889,E,9.190,154.84,120308,,,A*69
+$GPRMC,102716.00,A,5158.14287,N,00424.08061,E,8.770,155.37,120308,,,A*64
+$GPRMC,102717.00,A,5158.14068,N,00424.08227,E,8.549,154.47,120308,,,A*68
+$GPRMC,102718.00,A,5158.13861,N,00424.08361,E,8.323,154.74,120308,,,A*68
+$GPRMC,102719.00,A,5158.13655,N,00424.08510,E,8.328,154.21,120308,,,A*6B
+$GPRMC,102720.00,A,5158.13441,N,00424.08680,E,8.626,153.85,120308,,,A*6E
+$GPRMC,102721.00,A,5158.13226,N,00424.08855,E,8.536,154.22,120308,,,A*66
+$GPRMC,102722.00,A,5158.13008,N,00424.09031,E,8.953,153.96,120308,,,A*67
+$GPRMC,102723.00,A,5158.12777,N,00424.09216,E,9.515,154.25,120308,,,A*6F
+$GPRMC,102724.00,A,5158.12529,N,00424.09404,E,10.213,155.10,120308,,,A*5A
+$GPRMC,102725.00,A,5158.12264,N,00424.09600,E,10.675,155.35,120308,,,A*50
+$GPRMC,102726.00,A,5158.11996,N,00424.09800,E,10.359,155.21,120308,,,A*56
+$GPRMC,102727.00,A,5158.11747,N,00424.09997,E,9.416,155.22,120308,,,A*6D
+$GPRMC,102728.00,A,5158.11521,N,00424.10176,E,8.575,154.96,120308,,,A*64
+$GPRMC,102729.00,A,5158.11318,N,00424.10293,E,7.596,156.57,120308,,,A*6C
+$GPRMC,102730.00,A,5158.11125,N,00424.10432,E,7.672,155.32,120308,,,A*6C
+$GPRMC,102731.00,A,5158.10918,N,00424.10581,E,8.580,155.14,120308,,,A*66
+$GPRMC,102732.00,A,5158.10697,N,00424.10739,E,8.799,155.52,120308,,,A*64
+$GPRMC,102733.00,A,5158.10470,N,00424.10895,E,8.929,157.90,120308,,,A*6E
+$GPRMC,102734.00,A,5158.10217,N,00424.11079,E,10.601,155.39,120308,,,A*58
+$GPRMC,102735.00,A,5158.09933,N,00424.11291,E,11.787,155.19,120308,,,A*54
+$GPRMC,102736.00,A,5158.09638,N,00424.11515,E,11.838,154.76,120308,,,A*5B
+$GPRMC,102737.00,A,5158.09343,N,00424.11764,E,11.482,154.45,120308,,,A*5A
+$GPRMC,102738.00,A,5158.09059,N,00424.12011,E,11.072,154.38,120308,,,A*5A
+$GPRMC,102739.00,A,5158.08798,N,00424.12212,E,9.895,155.44,120308,,,A*63
+$GPRMC,102740.00,A,5158.08567,N,00424.12402,E,8.358,155.68,120308,,,A*6D
+$GPRMC,102741.00,A,5158.08373,N,00424.12569,E,6.927,154.74,120308,,,A*63
+$GPRMC,102742.00,A,5158.08212,N,00424.12712,E,5.859,154.36,120308,,,A*65
+$GPRMC,102743.00,A,5158.08083,N,00424.12824,E,4.455,153.92,120308,,,A*6C
+$GPRMC,102744.00,A,5158.07982,N,00424.12906,E,3.754,155.24,120308,,,A*63
+$GPRMC,102745.00,A,5158.07885,N,00424.12983,E,4.114,155.27,120308,,,A*6F
+$GPRMC,102746.00,A,5158.07783,N,00424.13064,E,4.215,155.30,120308,,,A*60
+$GPRMC,102747.00,A,5158.07687,N,00424.13122,E,3.668,157.68,120308,,,A*61
+$GPRMC,102748.00,A,5158.07589,N,00424.13197,E,4.286,154.94,120308,,,A*6E
+$GPRMC,102749.00,A,5158.07466,N,00424.13292,E,5.487,156.60,120308,,,A*66
+$GPRMC,102750.00,A,5158.07306,N,00424.13407,E,7.000,155.55,120308,,,A*69
+$GPRMC,102751.00,A,5158.07106,N,00424.13555,E,8.621,156.03,120308,,,A*66
+$GPRMC,102752.00,A,5158.06888,N,00424.13710,E,8.350,156.40,120308,,,A*6C
+$GPRMC,102753.00,A,5158.06694,N,00424.13841,E,6.682,157.20,120308,,,A*66
+$GPRMC,102754.00,A,5158.06546,N,00424.13997,E,5.328,156.61,120308,,,A*65
+$GPRMC,102755.00,A,5158.06411,N,00424.14154,E,5.715,156.12,120308,,,A*69
+$GPRMC,102756.00,A,5158.06254,N,00424.14319,E,6.873,155.49,120308,,,A*67
+$GPRMC,102757.00,A,5158.06067,N,00424.14475,E,8.018,154.51,120308,,,A*6A
+$GPRMC,102758.00,A,5158.05863,N,00424.14646,E,8.268,155.12,120308,,,A*6B
+$GPRMC,102759.00,A,5158.05650,N,00424.14816,E,8.673,153.87,120308,,,A*6B
+$GPRMC,102800.00,A,5158.05426,N,00424.14986,E,9.026,153.96,120308,,,A*64
+$GPRMC,102801.00,A,5158.05208,N,00424.15147,E,8.145,154.42,120308,,,A*60
+$GPRMC,102802.00,A,5158.05002,N,00424.15303,E,7.932,154.65,120308,,,A*6B
+$GPRMC,102803.00,A,5158.04803,N,00424.15452,E,7.714,154.73,120308,,,A*6C
+$GPRMC,102804.00,A,5158.04611,N,00424.15599,E,7.540,154.70,120308,,,A*60
+$GPRMC,102805.00,A,5158.04421,N,00424.15753,E,7.572,154.13,120308,,,A*60
+$GPRMC,102806.00,A,5158.04227,N,00424.15911,E,7.830,154.29,120308,,,A*69
+$GPRMC,102807.00,A,5158.04027,N,00424.16077,E,8.080,154.03,120308,,,A*64
+$GPRMC,102808.00,A,5158.03825,N,00424.16245,E,7.923,154.15,120308,,,A*6D
+$GPRMC,102809.00,A,5158.03647,N,00424.16394,E,6.209,153.53,120308,,,A*6C
+$GPRMC,102810.00,A,5158.03530,N,00424.16486,E,3.410,154.05,120308,,,A*6C
+$GPRMC,102811.00,A,5158.03451,N,00424.16549,E,3.116,151.72,120308,,,A*6F
+$GPRMC,102812.00,A,5158.03370,N,00424.16616,E,3.582,152.00,120308,,,A*6E
+$GPRMC,102813.00,A,5158.03285,N,00424.16683,E,3.122,154.01,120308,,,A*61
+$GPRMC,102814.00,A,5158.03206,N,00424.16750,E,3.057,153.55,120308,,,A*67
+$GPRMC,102815.00,A,5158.03104,N,00424.16829,E,4.729,153.43,120308,,,A*68
+$GPRMC,102816.00,A,5158.02956,N,00424.16954,E,6.987,153.62,120308,,,A*65
+$GPRMC,102817.00,A,5158.02760,N,00424.17121,E,8.454,155.07,120308,,,A*6C
+$GPRMC,102818.00,A,5158.02522,N,00424.17301,E,10.349,155.10,120308,,,A*53
+$GPRMC,102819.00,A,5158.02240,N,00424.17513,E,11.756,155.44,120308,,,A*5E
+$GPRMC,102820.00,A,5158.01936,N,00424.17749,E,12.145,154.90,120308,,,A*5F
+$GPRMC,102821.00,A,5158.01632,N,00424.17972,E,11.650,155.32,120308,,,A*5A
+$GPRMC,102822.00,A,5158.01340,N,00424.18207,E,11.523,154.52,120308,,,A*5F
+$GPRMC,102823.00,A,5158.01060,N,00424.18429,E,10.895,154.58,120308,,,A*5E
+$GPRMC,102824.00,A,5158.00791,N,00424.18639,E,10.476,154.69,120308,,,A*51
+$GPRMC,102825.00,A,5158.00528,N,00424.18839,E,10.353,154.57,120308,,,A*53
+$GPRMC,102826.00,A,5158.00269,N,00424.19037,E,10.308,153.80,120308,,,A*56
+$GPRMC,102827.00,A,5158.00013,N,00424.19232,E,10.121,155.10,120308,,,A*59
+$GPRMC,102828.00,A,5157.99752,N,00424.19424,E,10.479,154.35,120308,,,A*54
+$GPRMC,102829.00,A,5157.99481,N,00424.19632,E,10.954,154.14,120308,,,A*5C
+$GPRMC,102830.00,A,5157.99202,N,00424.19846,E,11.224,154.46,120308,,,A*5E
+$GPRMC,102831.00,A,5157.98919,N,00424.20066,E,11.466,153.47,120308,,,A*59
+$GPRMC,102832.00,A,5157.98631,N,00424.20290,E,11.630,153.78,120308,,,A*59
+$GPRMC,102833.00,A,5157.98339,N,00424.20506,E,11.720,154.26,120308,,,A*51
+$GPRMC,102834.00,A,5157.98045,N,00424.20742,E,11.811,153.85,120308,,,A*5F
+$GPRMC,102835.00,A,5157.97758,N,00424.20970,E,11.259,154.26,120308,,,A*5D
+$GPRMC,102836.00,A,5157.97477,N,00424.21185,E,11.293,154.24,120308,,,A*57
+$GPRMC,102837.00,A,5157.97205,N,00424.21398,E,10.622,153.89,120308,,,A*54
+$GPRMC,102838.00,A,5157.96951,N,00424.21601,E,9.875,153.77,120308,,,A*60
+$GPRMC,102839.00,A,5157.96714,N,00424.21791,E,9.211,153.72,120308,,,A*6B
+$GPRMC,102840.00,A,5157.96490,N,00424.21968,E,8.712,153.93,120308,,,A*6A
+$GPRMC,102841.00,A,5157.96270,N,00424.22142,E,8.919,154.68,120308,,,A*66
+$GPRMC,102842.00,A,5157.96036,N,00424.22323,E,9.745,155.27,120308,,,A*6C
+$GPRMC,102843.00,A,5157.95771,N,00424.22536,E,11.098,154.81,120308,,,A*5B
+$GPRMC,102844.00,A,5157.95490,N,00424.22756,E,11.324,154.18,120308,,,A*50
+$GPRMC,102845.00,A,5157.95215,N,00424.22972,E,10.668,154.07,120308,,,A*50
+$GPRMC,102846.00,A,5157.94958,N,00424.23177,E,9.956,154.28,120308,,,A*6B
+$GPRMC,102847.00,A,5157.94718,N,00424.23367,E,9.230,155.27,120308,,,A*66
+$GPRMC,102848.00,A,5157.94504,N,00424.23531,E,8.038,154.26,120308,,,A*68
+$GPRMC,102849.00,A,5157.94310,N,00424.23691,E,7.780,154.54,120308,,,A*6D
+$GPRMC,102850.00,A,5157.94103,N,00424.23855,E,8.954,154.38,120308,,,A*61
+$GPRMC,102851.00,A,5157.93876,N,00424.24038,E,9.354,154.13,120308,,,A*6A
+$GPRMC,102852.00,A,5157.93647,N,00424.24221,E,9.193,154.55,120308,,,A*64
+$GPRMC,102853.00,A,5157.93420,N,00424.24403,E,9.195,154.04,120308,,,A*62
+$GPRMC,102854.00,A,5157.93198,N,00424.24577,E,8.517,154.12,120308,,,A*69
+$GPRMC,102855.00,A,5157.92993,N,00424.24738,E,7.950,153.88,120308,,,A*67
+$GPRMC,102856.00,A,5157.92797,N,00424.24887,E,7.829,154.02,120308,,,A*6F
+$GPRMC,102857.00,A,5157.92602,N,00424.25041,E,7.793,154.14,120308,,,A*69
+$GPRMC,102858.00,A,5157.92403,N,00424.25197,E,8.022,153.83,120308,,,A*64
+$GPRMC,102859.00,A,5157.92193,N,00424.25362,E,8.751,152.93,120308,,,A*62
+$GPRMC,102900.00,A,5157.91952,N,00424.25553,E,10.326,154.37,120308,,,A*58
+$GPRMC,102901.00,A,5157.91667,N,00424.25776,E,12.138,154.53,120308,,,A*58
+$GPRMC,102902.00,A,5157.91337,N,00424.26031,E,13.761,154.07,120308,,,A*56
+$GPRMC,102903.00,A,5157.90986,N,00424.26303,E,13.863,154.17,120308,,,A*58
+$GPRMC,102904.00,A,5157.90642,N,00424.26570,E,13.277,154.20,120308,,,A*51
+$GPRMC,102905.00,A,5157.90315,N,00424.26821,E,12.460,154.44,120308,,,A*5D
+$GPRMC,102906.00,A,5157.89999,N,00424.27069,E,12.642,154.03,120308,,,A*5C
+$GPRMC,102907.00,A,5157.89669,N,00424.27329,E,13.599,153.76,120308,,,A*5B
+$GPRMC,102908.00,A,5157.89314,N,00424.27607,E,14.608,154.14,120308,,,A*5D
+$GPRMC,102909.00,A,5157.88941,N,00424.27906,E,15.177,153.87,120308,,,A*5A
+$GPRMC,102910.00,A,5157.88554,N,00424.28213,E,15.691,154.17,120308,,,A*5B
+$GPRMC,102911.00,A,5157.88150,N,00424.28536,E,16.531,154.41,120308,,,A*53
+$GPRMC,102912.00,A,5157.87735,N,00424.28862,E,16.619,154.05,120308,,,A*5F
+$GPRMC,102913.00,A,5157.87308,N,00424.29198,E,17.447,154.32,120308,,,A*55
+$GPRMC,102914.00,A,5157.86857,N,00424.29549,E,18.455,154.47,120308,,,A*54
+$GPRMC,102915.00,A,5157.86388,N,00424.29907,E,18.815,154.54,120308,,,A*50
+$GPRMC,102916.00,A,5157.85911,N,00424.30280,E,18.884,154.37,120308,,,A*5B
+$GPRMC,102917.00,A,5157.85441,N,00424.30653,E,18.658,153.62,120308,,,A*50
+$GPRMC,102918.00,A,5157.84990,N,00424.31015,E,17.484,154.31,120308,,,A*57
+$GPRMC,102919.00,A,5157.84565,N,00424.31346,E,16.608,154.03,120308,,,A*53
+$GPRMC,102920.00,A,5157.84172,N,00424.31651,E,14.730,154.60,120308,,,A*55
+$GPRMC,102921.00,A,5157.83823,N,00424.31912,E,13.136,154.03,120308,,,A*54
+$GPRMC,102922.00,A,5157.83494,N,00424.32166,E,13.120,154.19,120308,,,A*53
+$GPRMC,102923.00,A,5157.83161,N,00424.32421,E,13.258,154.55,120308,,,A*5F
+$GPRMC,102924.00,A,5157.82817,N,00424.32686,E,13.911,154.45,120308,,,A*59
+$GPRMC,102925.00,A,5157.82447,N,00424.32973,E,15.482,154.35,120308,,,A*52
+$GPRMC,102926.00,A,5157.82035,N,00424.33288,E,17.140,154.56,120308,,,A*52
+$GPRMC,102927.00,A,5157.81587,N,00424.33637,E,18.371,154.62,120308,,,A*54
+$GPRMC,102928.00,A,5157.81113,N,00424.34003,E,19.133,154.46,120308,,,A*57
+$GPRMC,102929.00,A,5157.80637,N,00424.34361,E,18.538,155.21,120308,,,A*5F
+$GPRMC,102930.00,A,5157.80184,N,00424.34729,E,17.606,154.40,120308,,,A*57
+$GPRMC,102931.00,A,5157.79745,N,00424.35086,E,17.496,155.03,120308,,,A*55
+$GPRMC,102932.00,A,5157.79302,N,00424.35441,E,17.710,154.86,120308,,,A*5F
+$GPRMC,102933.00,A,5157.78850,N,00424.35785,E,17.997,154.56,120308,,,A*54
+$GPRMC,102934.00,A,5157.78403,N,00424.36121,E,17.417,154.69,120308,,,A*5B
+$GPRMC,102935.00,A,5157.77965,N,00424.36443,E,17.385,154.55,120308,,,A*5A
+$GPRMC,102936.00,A,5157.77521,N,00424.36792,E,18.004,154.21,120308,,,A*5C
+$GPRMC,102937.00,A,5157.77068,N,00424.37143,E,18.220,154.38,120308,,,A*52
+$GPRMC,102938.00,A,5157.76620,N,00424.37485,E,17.772,153.98,120308,,,A*59
+$GPRMC,102939.00,A,5157.76181,N,00424.37827,E,17.627,154.74,120308,,,A*54
+$GPRMC,102940.00,A,5157.75740,N,00424.38163,E,17.690,154.57,120308,,,A*59
+$GPRMC,102941.00,A,5157.75294,N,00424.38510,E,17.993,154.30,120308,,,A*59
+$GPRMC,102942.00,A,5157.74837,N,00424.38860,E,18.584,154.75,120308,,,A*56
+$GPRMC,102943.00,A,5157.74361,N,00424.39217,E,19.387,154.37,120308,,,A*56
+$GPRMC,102944.00,A,5157.73860,N,00424.39603,E,20.515,154.55,120308,,,A*5E
+$GPRMC,102945.00,A,5157.73319,N,00424.40033,E,22.668,153.76,120308,,,A*5C
+$GPRMC,102946.00,A,5157.72726,N,00424.40488,E,24.420,153.88,120308,,,A*5B
+$GPRMC,102947.00,A,5157.72097,N,00424.40962,E,25.513,154.56,120308,,,A*5A
+$GPRMC,102948.00,A,5157.71455,N,00424.41437,E,25.365,154.13,120308,,,A*56
+$GPRMC,102949.00,A,5157.70808,N,00424.41940,E,25.794,154.53,120308,,,A*51
+$GPRMC,102950.00,A,5157.70137,N,00424.42384,E,26.889,154.56,120308,,,A*58
+$GPRMC,102951.00,A,5157.69432,N,00424.42915,E,28.879,154.75,120308,,,A*53
+$GPRMC,102952.00,A,5157.68695,N,00424.43456,E,29.465,154.24,120308,,,A*51
+$GPRMC,102953.00,A,5157.67948,N,00424.44030,E,29.953,153.76,120308,,,A*5B
+$GPRMC,102954.00,A,5157.67173,N,00424.44650,E,31.919,153.79,120308,,,A*54
+$GPRMC,102955.00,A,5157.66355,N,00424.45288,E,33.089,154.20,120308,,,A*5B
+$GPRMC,102956.00,A,5157.65516,N,00424.46050,E,33.213,153.74,120308,,,A*59
+$GPRMC,102957.00,A,5157.64662,N,00424.46838,E,34.461,153.77,120308,,,A*58
+$GPRMC,102958.00,A,5157.63770,N,00424.47604,E,36.193,154.07,120308,,,A*58
+$GPRMC,102959.00,A,5157.62838,N,00424.48368,E,37.625,154.00,120308,,,A*57
+$GPRMC,103000.00,A,5157.61876,N,00424.49143,E,39.293,152.50,120308,,,A*54
+$GPRMC,103001.00,A,5157.60876,N,00424.49987,E,41.816,151.29,120308,,,A*51
+$GPRMC,103002.00,A,5157.59805,N,00424.50895,E,43.555,152.27,120308,,,A*53
+$GPRMC,103003.00,A,5157.58676,N,00424.51799,E,45.459,153.12,120308,,,A*57
+$GPRMC,103004.00,A,5157.57503,N,00424.52711,E,47.617,154.61,120308,,,A*54
+$GPRMC,103005.00,A,5157.56259,N,00424.53643,E,49.777,155.26,120308,,,A*50
+$GPRMC,103006.00,A,5157.54948,N,00424.54707,E,52.328,154.35,120308,,,A*5B
+$GPRMC,103007.00,A,5157.53595,N,00424.55743,E,54.367,154.28,120308,,,A*51
+$GPRMC,103008.00,A,5157.52218,N,00424.56796,E,54.701,154.16,120308,,,A*5F
+$GPRMC,103009.00,A,5157.50829,N,00424.57875,E,55.252,154.27,120308,,,A*57
+$GPRMC,103010.00,A,5157.49418,N,00424.58973,E,56.387,154.14,120308,,,A*5B
+$GPRMC,103011.00,A,5157.47970,N,00424.60102,E,57.170,154.48,120308,,,A*50
+$GPRMC,103012.00,A,5157.46509,N,00424.61230,E,57.854,154.44,120308,,,A*50
+$GPRMC,103013.00,A,5157.45042,N,00424.62367,E,58.239,154.29,120308,,,A*5D
+$GPRMC,103014.00,A,5157.43580,N,00424.63529,E,58.382,154.13,120308,,,A*52
+$GPRMC,103015.00,A,5157.42103,N,00424.64721,E,59.137,154.35,120308,,,A*59
+$GPRMC,103016.00,A,5157.40617,N,00424.65901,E,59.690,154.19,120308,,,A*53
+$GPRMC,103017.00,A,5157.39117,N,00424.67100,E,59.862,154.05,120308,,,A*5E
+$GPRMC,103018.00,A,5157.37622,N,00424.68275,E,59.253,154.36,120308,,,A*58
+$GPRMC,103019.00,A,5157.36143,N,00424.69432,E,58.360,154.59,120308,,,A*55
+$GPRMC,103020.00,A,5157.34686,N,00424.70585,E,57.546,154.39,120308,,,A*5D
+$GPRMC,103021.00,A,5157.33261,N,00424.71734,E,56.296,154.22,120308,,,A*5E
+$GPRMC,103022.00,A,5157.31866,N,00424.72844,E,55.161,154.47,120308,,,A*52
+$GPRMC,103023.00,A,5157.30492,N,00424.73928,E,54.502,154.11,120308,,,A*5C
+$GPRMC,103024.00,A,5157.29142,N,00424.74994,E,53.577,154.18,120308,,,A*57
+$GPRMC,103025.00,A,5157.27811,N,00424.76036,E,52.762,154.17,120308,,,A*5C
+$GPRMC,103026.00,A,5157.26503,N,00424.77064,E,51.924,154.08,120308,,,A*57
+$GPRMC,103027.00,A,5157.25210,N,00424.78075,E,51.503,154.47,120308,,,A*5D
+$GPRMC,103028.00,A,5157.23925,N,00424.79078,E,51.323,154.11,120308,,,A*52
+$GPRMC,103029.00,A,5157.22646,N,00424.80080,E,51.252,153.91,120308,,,A*51
+$GPRMC,103030.00,A,5157.21366,N,00424.81062,E,51.088,154.36,120308,,,A*5F
+$GPRMC,103031.00,A,5157.20081,N,00424.82060,E,51.460,154.17,120308,,,A*55
+$GPRMC,103032.00,A,5157.18783,N,00424.83074,E,52.128,154.05,120308,,,A*55
+$GPRMC,103033.00,A,5157.17468,N,00424.84110,E,53.002,153.91,120308,,,A*5B
+$GPRMC,103034.00,A,5157.16133,N,00424.85156,E,53.765,153.84,120308,,,A*57
+$GPRMC,103035.00,A,5157.14785,N,00424.86210,E,53.769,154.33,120308,,,A*5A
+$GPRMC,103036.00,A,5157.13443,N,00424.87288,E,53.380,153.28,120308,,,A*59
+$GPRMC,103037.00,A,5157.12128,N,00424.88383,E,53.124,152.23,120308,,,A*52
+$GPRMC,103038.00,A,5157.10830,N,00424.89493,E,53.499,150.32,120308,,,A*59
+$GPRMC,103039.00,A,5157.09548,N,00424.90718,E,53.491,148.68,120308,,,A*54
+$GPRMC,103040.00,A,5157.08290,N,00424.92016,E,53.273,147.08,120308,,,A*51
+$GPRMC,103041.00,A,5157.07044,N,00424.93299,E,53.395,146.55,120308,,,A*50
+$GPRMC,103042.00,A,5157.05817,N,00424.94630,E,52.582,145.76,120308,,,A*5C
+$GPRMC,103043.00,A,5157.04620,N,00424.95971,E,51.940,144.86,120308,,,A*52
+$GPRMC,103044.00,A,5157.03457,N,00424.97312,E,50.860,144.55,120308,,,A*51
+$GPRMC,103045.00,A,5157.02310,N,00424.98621,E,50.330,144.89,120308,,,A*50
+$GPRMC,103046.00,A,5157.01176,N,00424.99913,E,49.661,144.78,120308,,,A*5A
+$GPRMC,103047.00,A,5157.00056,N,00425.01178,E,49.058,145.01,120308,,,A*5F
+$GPRMC,103048.00,A,5156.98921,N,00425.02425,E,49.452,145.39,120308,,,A*52
+$GPRMC,103049.00,A,5156.97837,N,00425.03660,E,48.249,144.63,120308,,,A*5B
+$GPRMC,103050.00,A,5156.96780,N,00425.04898,E,46.260,144.92,120308,,,A*54
+$GPRMC,103051.00,A,5156.95763,N,00425.06079,E,44.883,144.69,120308,,,A*5F
+$GPRMC,103052.00,A,5156.94784,N,00425.07281,E,44.219,144.46,120308,,,A*54
+$GPRMC,103053.00,A,5156.93830,N,00425.08475,E,43.636,143.25,120308,,,A*5C
+$GPRMC,103054.00,A,5156.92866,N,00425.09614,E,42.921,144.27,120308,,,A*50
+$GPRMC,103055.00,A,5156.91915,N,00425.10709,E,42.150,144.72,120308,,,A*5C
+$GPRMC,103056.00,A,5156.90987,N,00425.11799,E,41.257,144.50,120308,,,A*5A
+$GPRMC,103057.00,A,5156.90082,N,00425.12870,E,40.454,144.17,120308,,,A*5B
+$GPRMC,103058.00,A,5156.89186,N,00425.13903,E,39.674,144.68,120308,,,A*5B
+$GPRMC,103059.00,A,5156.88303,N,00425.14911,E,39.264,144.64,120308,,,A*59
+$GPRMC,103100.00,A,5156.87409,N,00425.15909,E,38.860,144.68,120308,,,A*5D
+$GPRMC,103101.00,A,5156.86544,N,00425.16898,E,38.679,145.03,120308,,,A*55
+$GPRMC,103102.00,A,5156.85663,N,00425.17881,E,38.475,144.49,120308,,,A*5B
+$GPRMC,103103.00,A,5156.84803,N,00425.18862,E,38.101,144.68,120308,,,A*54
+$GPRMC,103104.00,A,5156.83963,N,00425.19822,E,37.250,144.43,120308,,,A*57
+$GPRMC,103105.00,A,5156.83135,N,00425.20776,E,36.767,144.47,120308,,,A*5D
+$GPRMC,103106.00,A,5156.82323,N,00425.21708,E,35.956,144.75,120308,,,A*5C
+$GPRMC,103107.00,A,5156.81554,N,00425.22611,E,33.416,143.70,120308,,,A*5F
+$GPRMC,103108.00,A,5156.80852,N,00425.23447,E,31.862,143.66,120308,,,A*50
+$GPRMC,103109.00,A,5156.80150,N,00425.24268,E,32.015,145.14,120308,,,A*5E
+$GPRMC,103110.00,A,5156.79439,N,00425.25101,E,32.474,144.86,120308,,,A*5E
+$GPRMC,103111.00,A,5156.78709,N,00425.25958,E,33.358,144.65,120308,,,A*5F
+$GPRMC,103112.00,A,5156.77953,N,00425.26844,E,34.611,144.05,120308,,,A*54
+$GPRMC,103113.00,A,5156.77175,N,00425.27740,E,35.224,144.69,120308,,,A*5A
+$GPRMC,103114.00,A,5156.76380,N,00425.28660,E,35.398,145.25,120308,,,A*57
+$GPRMC,103115.00,A,5156.75585,N,00425.29582,E,35.400,144.37,120308,,,A*5C
+$GPRMC,103116.00,A,5156.74795,N,00425.30516,E,35.472,144.23,120308,,,A*58
+$GPRMC,103117.00,A,5156.73985,N,00425.31441,E,35.820,144.40,120308,,,A*5D
+$GPRMC,103118.00,A,5156.73152,N,00425.32365,E,36.297,144.29,120308,,,A*58
+$GPRMC,103119.00,A,5156.72320,N,00425.33293,E,36.282,144.71,120308,,,A*5F
+$GPRMC,103120.00,A,5156.71500,N,00425.34207,E,35.997,145.45,120308,,,A*52
+$GPRMC,103121.00,A,5156.70683,N,00425.35090,E,35.326,146.48,120308,,,A*59
+$GPRMC,103122.00,A,5156.69872,N,00425.35961,E,34.879,146.71,120308,,,A*5F
+$GPRMC,103123.00,A,5156.69070,N,00425.36810,E,34.435,146.68,120308,,,A*5C
+$GPRMC,103124.00,A,5156.68275,N,00425.37661,E,34.354,145.98,120308,,,A*58
+$GPRMC,103125.00,A,5156.67496,N,00425.38515,E,33.741,146.09,120308,,,A*5E
+$GPRMC,103126.00,A,5156.66715,N,00425.39348,E,33.965,146.44,120308,,,A*5A
+$GPRMC,103127.00,A,5156.65949,N,00425.40196,E,34.113,145.47,120308,,,A*5E
+$GPRMC,103128.00,A,5156.65167,N,00425.41070,E,34.928,144.68,120308,,,A*51
+$GPRMC,103129.00,A,5156.64337,N,00425.41967,E,36.145,144.38,120308,,,A*5D
+$GPRMC,103130.00,A,5156.63486,N,00425.42900,E,37.240,144.97,120308,,,A*5F
+$GPRMC,103131.00,A,5156.62623,N,00425.43924,E,38.659,143.60,120308,,,A*59
+$GPRMC,103132.00,A,5156.61740,N,00425.44923,E,38.048,144.36,120308,,,A*5F
+$GPRMC,103133.00,A,5156.60850,N,00425.45859,E,37.410,144.88,120308,,,A*5F
+$GPRMC,103134.00,A,5156.59969,N,00425.46813,E,37.539,144.70,120308,,,A*59
+$GPRMC,103135.00,A,5156.59110,N,00425.47801,E,38.028,144.57,120308,,,A*53
+$GPRMC,103136.00,A,5156.58240,N,00425.48807,E,38.639,144.53,120308,,,A*5C
+$GPRMC,103137.00,A,5156.57339,N,00425.49813,E,39.352,145.02,120308,,,A*55
+$GPRMC,103138.00,A,5156.56418,N,00425.50818,E,40.131,146.29,120308,,,A*5F
+$GPRMC,103139.00,A,5156.55493,N,00425.51872,E,40.855,144.57,120308,,,A*53
+$GPRMC,103140.00,A,5156.54566,N,00425.52938,E,41.035,144.54,120308,,,A*57
+$GPRMC,103141.00,A,5156.53638,N,00425.54013,E,41.093,144.12,120308,,,A*51
+$GPRMC,103142.00,A,5156.52712,N,00425.55086,E,40.980,144.81,120308,,,A*57
+$GPRMC,103143.00,A,5156.51795,N,00425.56143,E,40.209,144.60,120308,,,A*54
+$GPRMC,103144.00,A,5156.50893,N,00425.57175,E,39.510,144.90,120308,,,A*51
+$GPRMC,103145.00,A,5156.50014,N,00425.58205,E,39.320,144.44,120308,,,A*50
+$GPRMC,103146.00,A,5156.49105,N,00425.59238,E,40.827,144.99,120308,,,A*57
+$GPRMC,103147.00,A,5156.48159,N,00425.60324,E,42.833,144.96,120308,,,A*50
+$GPRMC,103148.00,A,5156.47134,N,00425.61462,E,45.694,145.21,120308,,,A*56
+$GPRMC,103149.00,A,5156.46090,N,00425.62670,E,46.307,144.54,120308,,,A*54
+$GPRMC,103150.00,A,5156.45022,N,00425.63880,E,46.600,145.27,120308,,,A*51
+$GPRMC,103151.00,A,5156.43891,N,00425.65060,E,48.425,146.74,120308,,,A*58
+$GPRMC,103152.00,A,5156.42740,N,00425.66382,E,49.043,148.51,120308,,,A*59
+$GPRMC,103153.00,A,5156.41605,N,00425.67595,E,48.461,145.33,120308,,,A*56
+$GPRMC,103154.00,A,5156.40460,N,00425.68723,E,48.010,147.33,120308,,,A*51
+$GPRMC,103155.00,A,5156.39332,N,00425.69885,E,47.568,146.76,120308,,,A*59
+$GPRMC,103156.00,A,5156.38220,N,00425.71052,E,47.611,146.60,120308,,,A*58
+$GPRMC,103157.00,A,5156.37113,N,00425.72216,E,47.239,147.01,120308,,,A*5C
+$GPRMC,103158.00,A,5156.36036,N,00425.73395,E,46.427,146.00,120308,,,A*57
+$GPRMC,103159.00,A,5156.34985,N,00425.74574,E,45.621,145.17,120308,,,A*59
+$GPRMC,103200.00,A,5156.33929,N,00425.75729,E,45.674,145.34,120308,,,A*5D
+$GPRMC,103201.00,A,5156.32900,N,00425.76905,E,45.353,144.23,120308,,,A*52
+$GPRMC,103202.00,A,5156.31867,N,00425.78072,E,45.313,144.54,120308,,,A*51
+$GPRMC,103203.00,A,5156.30853,N,00425.79277,E,45.632,144.58,120308,,,A*5A
+$GPRMC,103204.00,A,5156.29787,N,00425.80439,E,45.965,145.09,120308,,,A*51
+$GPRMC,103205.00,A,5156.28730,N,00425.81597,E,45.785,144.57,120308,,,A*53
+$GPRMC,103206.00,A,5156.27695,N,00425.82787,E,46.120,145.07,120308,,,A*5F
+$GPRMC,103207.00,A,5156.26661,N,00425.83979,E,46.110,144.73,120308,,,A*5B
+$GPRMC,103208.00,A,5156.25633,N,00425.85126,E,45.680,144.91,120308,,,A*55
+$GPRMC,103209.00,A,5156.24604,N,00425.86299,E,45.159,144.58,120308,,,A*53
+$GPRMC,103210.00,A,5156.23579,N,00425.87486,E,45.243,144.54,120308,,,A*58
+$GPRMC,103211.00,A,5156.22560,N,00425.88633,E,44.850,145.63,120308,,,A*5F
+$GPRMC,103212.00,A,5156.21577,N,00425.89806,E,44.307,143.86,120308,,,A*54
+$GPRMC,103213.00,A,5156.20603,N,00425.90954,E,43.697,144.56,120308,,,A*5B
+$GPRMC,103214.00,A,5156.19648,N,00425.92080,E,43.383,144.54,120308,,,A*59
+$GPRMC,103215.00,A,5156.18689,N,00425.93232,E,43.036,143.58,120308,,,A*58
+$GPRMC,103216.00,A,5156.17720,N,00425.94283,E,42.235,144.47,120308,,,A*52
+$GPRMC,103217.00,A,5156.16763,N,00425.95384,E,42.228,144.65,120308,,,A*5E
+$GPRMC,103218.00,A,5156.15806,N,00425.96444,E,41.712,144.40,120308,,,A*5E
+$GPRMC,103219.00,A,5156.14875,N,00425.97546,E,41.570,143.75,120308,,,A*5F
+$GPRMC,103220.00,A,5156.13934,N,00425.98655,E,41.409,144.11,120308,,,A*52
+$GPRMC,103221.00,A,5156.12995,N,00425.99732,E,40.773,144.35,120308,,,A*51
+$GPRMC,103222.00,A,5156.12051,N,00426.00780,E,40.779,145.03,120308,,,A*57
+$GPRMC,103223.00,A,5156.11131,N,00426.01928,E,41.150,142.99,120308,,,A*57
+$GPRMC,103224.00,A,5156.10215,N,00426.03085,E,41.060,142.67,120308,,,A*5B
+$GPRMC,103225.00,A,5156.09302,N,00426.04240,E,40.933,142.61,120308,,,A*51
+$GPRMC,103226.00,A,5156.08430,N,00426.05399,E,40.582,143.06,120308,,,A*57
+$GPRMC,103227.00,A,5156.07545,N,00426.06539,E,40.472,143.91,120308,,,A*55
+$GPRMC,103228.00,A,5156.06621,N,00426.07618,E,40.418,144.16,120308,,,A*5F
+$GPRMC,103229.00,A,5156.05697,N,00426.08724,E,40.556,143.95,120308,,,A*56
+$GPRMC,103230.00,A,5156.04788,N,00426.09786,E,40.486,144.71,120308,,,A*58
+$GPRMC,103231.00,A,5156.03880,N,00426.10827,E,40.442,144.54,120308,,,A*5A
+$GPRMC,103232.00,A,5156.02974,N,00426.11858,E,40.380,144.83,120308,,,A*58
+$GPRMC,103233.00,A,5156.02062,N,00426.12900,E,40.373,144.84,120308,,,A*53
+$GPRMC,103234.00,A,5156.01142,N,00426.13943,E,40.457,144.59,120308,,,A*53
+$GPRMC,103235.00,A,5156.00235,N,00426.14977,E,40.299,144.35,120308,,,A*5E
+$GPRMC,103236.00,A,5155.99332,N,00426.16021,E,40.471,144.33,120308,,,A*56
+$GPRMC,103237.00,A,5155.98422,N,00426.17076,E,40.541,144.52,120308,,,A*56
+$GPRMC,103238.00,A,5155.97481,N,00426.18119,E,41.258,145.34,120308,,,A*57
+$GPRMC,103239.00,A,5155.96581,N,00426.19173,E,40.069,144.57,120308,,,A*5E
+$GPRMC,103240.00,A,5155.95705,N,00426.20202,E,38.492,144.76,120308,,,A*5E
+$GPRMC,103241.00,A,5155.94889,N,00426.21144,E,35.314,146.12,120308,,,A*51
+$GPRMC,103242.00,A,5155.94096,N,00426.21949,E,32.737,150.29,120308,,,A*5C
+$GPRMC,103243.00,A,5155.93335,N,00426.22595,E,30.079,153.72,120308,,,A*5C
+$GPRMC,103244.00,A,5155.92772,N,00426.23278,E,23.961,148.30,120308,,,A*56
+$GPRMC,103245.00,A,5155.92325,N,00426.23629,E,17.581,155.04,120308,,,A*5F
+$GPRMC,103246.00,A,5155.91992,N,00426.23783,E,12.523,163.13,120308,,,A*56
+$GPRMC,103247.00,A,5155.91742,N,00426.23759,E,9.388,180.95,120308,,,A*6D
+$GPRMC,103248.00,A,5155.91451,N,00426.23874,E,10.788,167.01,120308,,,A*5B
+$GPRMC,103249.00,A,5155.91038,N,00426.23861,E,13.970,178.75,120308,,,A*52
+$GPRMC,103250.00,A,5155.90505,N,00426.23807,E,18.213,182.38,120308,,,A*59
+$GPRMC,103251.00,A,5155.89935,N,00426.23753,E,20.154,183.46,120308,,,A*52
+$GPRMC,103252.00,A,5155.89442,N,00426.23790,E,19.165,179.07,120308,,,A*5B
+$GPRMC,103253.00,A,5155.88857,N,00426.24071,E,22.650,164.12,120308,,,A*5D
+$GPRMC,103254.00,A,5155.88255,N,00426.24450,E,25.735,158.42,120308,,,A*5A
+$GPRMC,103255.00,A,5155.87657,N,00426.25108,E,27.065,150.03,120308,,,A*56
+$GPRMC,103256.00,A,5155.86959,N,00426.25916,E,28.183,144.85,120308,,,A*5F
+$GPRMC,103257.00,A,5155.86339,N,00426.26733,E,28.681,139.43,120308,,,A*5D
+$GPRMC,103258.00,A,5155.85753,N,00426.27660,E,28.853,131.45,120308,,,A*50
+$GPRMC,103259.00,A,5155.85203,N,00426.28612,E,27.400,128.34,120308,,,A*50
+$GPRMC,103300.00,A,5155.84751,N,00426.29614,E,26.440,121.57,120308,,,A*50
+$GPRMC,103301.00,A,5155.84411,N,00426.30644,E,26.360,117.30,120308,,,A*5A
+$GPRMC,103302.00,A,5155.84145,N,00426.31732,E,25.404,111.64,120308,,,A*5D
+$GPRMC,103303.00,A,5155.84008,N,00426.32939,E,26.341,102.69,120308,,,A*58
+$GPRMC,103304.00,A,5155.84118,N,00426.34145,E,25.227,85.78,120308,,,A*66
+$GPRMC,103305.00,A,5155.84334,N,00426.35392,E,24.588,71.01,120308,,,A*64
+$GPRMC,103306.00,A,5155.84678,N,00426.36448,E,25.788,59.64,120308,,,A*63
+$GPRMC,103307.00,A,5155.85106,N,00426.37367,E,25.410,52.91,120308,,,A*65
+$GPRMC,103308.00,A,5155.85702,N,00426.37975,E,23.725,32.53,120308,,,A*6A
+$GPRMC,103309.00,A,5155.86375,N,00426.38363,E,22.077,22.71,120308,,,A*6E
+$GPRMC,103310.00,A,5155.86969,N,00426.38778,E,20.279,18.90,120308,,,A*67
+$GPRMC,103311.00,A,5155.87461,N,00426.39037,E,17.509,17.01,120308,,,A*6C
+$GPRMC,103312.00,A,5155.87934,N,00426.39264,E,17.521,15.57,120308,,,A*6D
+$GPRMC,103313.00,A,5155.88433,N,00426.39421,E,18.743,9.57,120308,,,A*5A
+$GPRMC,103314.00,A,5155.88981,N,00426.39324,E,19.184,351.55,120308,,,A*5B
+$GPRMC,103315.00,A,5155.89469,N,00426.38968,E,18.946,336.37,120308,,,A*51
+$GPRMC,103316.00,A,5155.89989,N,00426.38205,E,23.003,320.06,120308,,,A*54
+$GPRMC,103317.00,A,5155.90582,N,00426.37507,E,25.454,323.75,120308,,,A*57
+$GPRMC,103318.00,A,5155.91213,N,00426.36724,E,26.601,323.12,120308,,,A*54
+$GPRMC,103319.00,A,5155.91776,N,00426.35894,E,27.301,316.72,120308,,,A*50
+$GPRMC,103320.00,A,5155.92297,N,00426.34868,E,29.053,309.87,120308,,,A*5F
+$GPRMC,103321.00,A,5155.92741,N,00426.33742,E,29.584,303.32,120308,,,A*5B
+$GPRMC,103322.00,A,5155.93134,N,00426.32628,E,28.522,297.85,120308,,,A*5C
+$GPRMC,103323.00,A,5155.93461,N,00426.31670,E,26.715,295.61,120308,,,A*56
+$GPRMC,103324.00,A,5155.93635,N,00426.30676,E,21.445,287.59,120308,,,A*5C
+$GPRMC,103325.00,A,5155.93712,N,00426.29877,E,15.572,280.47,120308,,,A*54
+$GPRMC,103326.00,A,5155.93915,N,00426.29370,E,13.354,298.79,120308,,,A*52
+$GPRMC,103327.00,A,5155.94137,N,00426.28927,E,14.424,299.31,120308,,,A*5F
+$GPRMC,103328.00,A,5155.94604,N,00426.28511,E,20.916,323.28,120308,,,A*5D
+$GPRMC,103329.00,A,5155.95170,N,00426.28005,E,25.363,328.01,120308,,,A*54
+$GPRMC,103330.00,A,5155.95843,N,00426.27433,E,29.948,329.89,120308,,,A*55
+$GPRMC,103331.00,A,5155.96557,N,00426.26868,E,31.124,333.20,120308,,,A*5F
+$GPRMC,103332.00,A,5155.97329,N,00426.26223,E,32.367,328.17,120308,,,A*5F
+$GPRMC,103333.00,A,5155.98081,N,00426.25387,E,35.367,327.73,120308,,,A*56
+$GPRMC,103334.00,A,5155.99159,N,00426.23925,E,41.611,326.30,120308,,,A*51
+$GPRMC,103335.00,A,5156.00240,N,00426.22758,E,45.472,325.81,120308,,,A*57
+$GPRMC,103336.00,A,5156.01329,N,00426.21558,E,45.593,324.31,120308,,,A*5E
+$GPRMC,103337.00,A,5156.02363,N,00426.20346,E,44.680,322.46,120308,,,A*5C
+$GPRMC,103338.00,A,5156.03354,N,00426.19058,E,43.426,320.36,120308,,,A*5C
+$GPRMC,103339.00,A,5156.04300,N,00426.17769,E,43.259,319.62,120308,,,A*55
+$GPRMC,103340.00,A,5156.05244,N,00426.16454,E,43.182,319.10,120308,,,A*57
+$GPRMC,103341.00,A,5156.06193,N,00426.15080,E,43.467,318.73,120308,,,A*58
+$GPRMC,103342.00,A,5156.07112,N,00426.13696,E,43.066,318.44,120308,,,A*55
+$GPRMC,103343.00,A,5156.08043,N,00426.12354,E,43.271,318.65,120308,,,A*53
+$GPRMC,103344.00,A,5156.09001,N,00426.10960,E,44.013,318.89,120308,,,A*5F
+$GPRMC,103345.00,A,5156.09919,N,00426.09594,E,43.774,318.77,120308,,,A*51
+$GPRMC,103346.00,A,5156.10839,N,00426.08217,E,43.612,317.86,120308,,,A*54
+$GPRMC,103347.00,A,5156.11717,N,00426.06881,E,43.736,317.11,120308,,,A*55
+$GPRMC,103348.00,A,5156.12668,N,00426.05540,E,44.855,318.98,120308,,,A*50
+$GPRMC,103349.00,A,5156.13562,N,00426.04209,E,43.378,317.90,120308,,,A*56
+$GPRMC,103350.00,A,5156.14430,N,00426.02894,E,42.427,317.64,120308,,,A*50
+$GPRMC,103351.00,A,5156.15295,N,00426.01621,E,41.790,318.15,120308,,,A*5F
+$GPRMC,103352.00,A,5156.16115,N,00426.00368,E,40.592,318.45,120308,,,A*59
+$GPRMC,103353.00,A,5156.17020,N,00425.99389,E,40.396,319.80,120308,,,A*58
+$GPRMC,103354.00,A,5156.17888,N,00425.98350,E,39.612,320.14,120308,,,A*50
+$GPRMC,103355.00,A,5156.18683,N,00425.97200,E,39.171,319.72,120308,,,A*58
+$GPRMC,103356.00,A,5156.19517,N,00425.96137,E,38.281,321.52,120308,,,A*56
+$GPRMC,103357.00,A,5156.20370,N,00425.95082,E,38.431,322.89,120308,,,A*5E
+$GPRMC,103358.00,A,5156.21221,N,00425.93996,E,38.564,322.61,120308,,,A*58
+$GPRMC,103359.00,A,5156.22061,N,00425.92909,E,38.440,322.13,120308,,,A*59
+$GPRMC,103400.00,A,5156.22938,N,00425.91861,E,39.098,323.71,120308,,,A*5E
+$GPRMC,103401.00,A,5156.23795,N,00425.90750,E,40.178,322.62,120308,,,A*59
+$GPRMC,103402.00,A,5156.24704,N,00425.89593,E,42.734,321.92,120308,,,A*50
+$GPRMC,103403.00,A,5156.25580,N,00425.88335,E,43.465,320.87,120308,,,A*56
+$GPRMC,103404.00,A,5156.26522,N,00425.87087,E,43.354,322.47,120308,,,A*54
+$GPRMC,103405.00,A,5156.27409,N,00425.85840,E,43.233,324.00,120308,,,A*58
+$GPRMC,103406.00,A,5156.28350,N,00425.84639,E,43.250,324.49,120308,,,A*56
+$GPRMC,103407.00,A,5156.29328,N,00425.83480,E,43.449,324.74,120308,,,A*5E
+$GPRMC,103408.00,A,5156.30288,N,00425.82304,E,43.764,324.38,120308,,,A*5C
+$GPRMC,103409.00,A,5156.31255,N,00425.81116,E,43.584,324.42,120308,,,A*5F
+$GPRMC,103410.00,A,5156.32220,N,00425.79939,E,43.609,324.32,120308,,,A*55
+$GPRMC,103411.00,A,5156.33191,N,00425.78772,E,43.514,324.64,120308,,,A*50
+$GPRMC,103412.00,A,5156.34144,N,00425.77629,E,42.706,324.52,120308,,,A*59
+$GPRMC,103413.00,A,5156.35088,N,00425.76504,E,42.611,324.84,120308,,,A*59
+$GPRMC,103414.00,A,5156.36045,N,00425.75394,E,42.460,324.70,120308,,,A*5F
+$GPRMC,103415.00,A,5156.37006,N,00425.74298,E,42.354,324.92,120308,,,A*58
+$GPRMC,103416.00,A,5156.37969,N,00425.73199,E,42.530,324.80,120308,,,A*59
+$GPRMC,103417.00,A,5156.38945,N,00425.72107,E,42.681,324.57,120308,,,A*5C
+$GPRMC,103418.00,A,5156.39919,N,00425.70979,E,43.128,324.41,120308,,,A*5A
+$GPRMC,103419.00,A,5156.40918,N,00425.69873,E,43.534,324.56,120308,,,A*58
+$GPRMC,103420.00,A,5156.41920,N,00425.68751,E,43.500,324.59,120308,,,A*5E
+$GPRMC,103421.00,A,5156.42907,N,00425.67605,E,43.657,324.49,120308,,,A*56
+$GPRMC,103422.00,A,5156.43901,N,00425.66479,E,43.609,324.40,120308,,,A*58
+$GPRMC,103423.00,A,5156.44887,N,00425.65335,E,43.683,324.52,120308,,,A*5C
+$GPRMC,103424.00,A,5156.45865,N,00425.64216,E,42.519,324.53,120308,,,A*57
+$GPRMC,103425.00,A,5156.46827,N,00425.63109,E,42.505,323.94,120308,,,A*58
+$GPRMC,103426.00,A,5156.47806,N,00425.61881,E,43.897,323.00,120308,,,A*58
+$GPRMC,103427.00,A,5156.48795,N,00425.60745,E,43.886,324.18,120308,,,A*5B
+$GPRMC,103428.00,A,5156.49784,N,00425.59610,E,43.945,323.78,120308,,,A*51
+$GPRMC,103429.00,A,5156.50784,N,00425.58428,E,44.977,323.66,120308,,,A*59
+$GPRMC,103430.00,A,5156.51792,N,00425.57290,E,45.411,324.55,120308,,,A*56
+$GPRMC,103431.00,A,5156.52812,N,00425.56087,E,44.550,324.59,120308,,,A*5F
+$GPRMC,103432.00,A,5156.53806,N,00425.54925,E,43.540,324.51,120308,,,A*55
+$GPRMC,103433.00,A,5156.54787,N,00425.53798,E,42.789,325.37,120308,,,A*5D
+$GPRMC,103434.00,A,5156.55756,N,00425.52697,E,42.451,324.75,120308,,,A*59
+$GPRMC,103435.00,A,5156.56715,N,00425.51625,E,41.771,324.74,120308,,,A*55
+$GPRMC,103436.00,A,5156.57666,N,00425.50566,E,41.492,324.84,120308,,,A*56
+$GPRMC,103437.00,A,5156.58609,N,00425.49514,E,41.061,325.18,120308,,,A*50
+$GPRMC,103438.00,A,5156.59543,N,00425.48462,E,40.963,324.76,120308,,,A*51
+$GPRMC,103439.00,A,5156.60481,N,00425.47395,E,41.544,324.64,120308,,,A*5E
+$GPRMC,103440.00,A,5156.61433,N,00425.46309,E,42.121,324.59,120308,,,A*56
+$GPRMC,103441.00,A,5156.62387,N,00425.45214,E,42.049,324.55,120308,,,A*51
+$GPRMC,103442.00,A,5156.63348,N,00425.44125,E,42.303,324.76,120308,,,A*5C
+$GPRMC,103443.00,A,5156.64307,N,00425.43031,E,41.981,324.93,120308,,,A*5A
+$GPRMC,103444.00,A,5156.65273,N,00425.41946,E,42.335,325.00,120308,,,A*58
+$GPRMC,103445.00,A,5156.66241,N,00425.40841,E,42.668,324.93,120308,,,A*5A
+$GPRMC,103446.00,A,5156.67208,N,00425.39725,E,42.824,324.73,120308,,,A*5E
+$GPRMC,103447.00,A,5156.68187,N,00425.38632,E,42.698,324.78,120308,,,A*50
+$GPRMC,103448.00,A,5156.69153,N,00425.37525,E,42.429,324.77,120308,,,A*5A
+$GPRMC,103449.00,A,5156.70113,N,00425.36446,E,41.767,324.95,120308,,,A*54
+$GPRMC,103450.00,A,5156.71067,N,00425.35369,E,42.026,325.20,120308,,,A*58
+$GPRMC,103451.00,A,5156.72030,N,00425.34279,E,42.627,325.02,120308,,,A*5E
+$GPRMC,103452.00,A,5156.72997,N,00425.33190,E,42.351,325.11,120308,,,A*5C
+$GPRMC,103453.00,A,5156.73968,N,00425.32095,E,42.863,325.54,120308,,,A*52
+$GPRMC,103454.00,A,5156.74947,N,00425.30998,E,43.037,325.80,120308,,,A*58
+$GPRMC,103455.00,A,5156.75936,N,00425.29894,E,43.545,325.68,120308,,,A*5D
+$GPRMC,103456.00,A,5156.76943,N,00425.28768,E,44.716,325.49,120308,,,A*52
+$GPRMC,103457.00,A,5156.77958,N,00425.27623,E,44.530,325.14,120308,,,A*57
+$GPRMC,103458.00,A,5156.78954,N,00425.26476,E,43.490,324.59,120308,,,A*5C
+$GPRMC,103459.00,A,5156.79929,N,00425.25357,E,42.705,325.19,120308,,,A*5A
+$GPRMC,103500.00,A,5156.80901,N,00425.24257,E,42.827,325.14,120308,,,A*59
+$GPRMC,103501.00,A,5156.81879,N,00425.23157,E,43.025,325.32,120308,,,A*5C
+$GPRMC,103502.00,A,5156.82861,N,00425.22044,E,43.171,324.68,120308,,,A*59
+$GPRMC,103503.00,A,5156.83849,N,00425.20921,E,43.516,324.97,120308,,,A*5E
+$GPRMC,103504.00,A,5156.84855,N,00425.19756,E,45.102,324.57,120308,,,A*5C
+$GPRMC,103505.00,A,5156.85891,N,00425.18573,E,45.830,325.01,120308,,,A*5A
+$GPRMC,103506.00,A,5156.86940,N,00425.17388,E,46.525,324.90,120308,,,A*59
+$GPRMC,103507.00,A,5156.88014,N,00425.16158,E,48.058,324.60,120308,,,A*5E
+$GPRMC,103508.00,A,5156.89108,N,00425.14890,E,48.938,324.42,120308,,,A*5C
+$GPRMC,103509.00,A,5156.90210,N,00425.13604,E,49.053,324.39,120308,,,A*52
+$GPRMC,103510.00,A,5156.91325,N,00425.12318,E,49.527,324.87,120308,,,A*56
+$GPRMC,103511.00,A,5156.92465,N,00425.11024,E,50.694,325.22,120308,,,A*55
+$GPRMC,103512.00,A,5156.93622,N,00425.09697,E,51.097,324.58,120308,,,A*59
+$GPRMC,103513.00,A,5156.94790,N,00425.08340,E,52.237,324.27,120308,,,A*5A
+$GPRMC,103514.00,A,5156.95976,N,00425.06961,E,52.844,324.52,120308,,,A*51
+$GPRMC,103515.00,A,5156.97186,N,00425.05575,E,53.750,324.85,120308,,,A*5E
+$GPRMC,103516.00,A,5156.98431,N,00425.04169,E,55.555,324.94,120308,,,A*52
+$GPRMC,103517.00,A,5156.99716,N,00425.02709,E,57.242,324.86,120308,,,A*52
+$GPRMC,103518.00,A,5157.01033,N,00425.01215,E,58.655,324.78,120308,,,A*5A
+$GPRMC,103519.00,A,5157.02366,N,00424.99691,E,58.737,324.83,120308,,,A*52
+$GPRMC,103520.00,A,5157.03706,N,00424.98193,E,58.504,325.16,120308,,,A*50
+$GPRMC,103521.00,A,5157.05039,N,00424.96693,E,58.084,325.31,120308,,,A*5D
+$GPRMC,103522.00,A,5157.06371,N,00424.95186,E,58.469,324.73,120308,,,A*52
+$GPRMC,103523.00,A,5157.07713,N,00424.93671,E,59.031,325.28,120308,,,A*5C
+$GPRMC,103524.00,A,5157.09089,N,00424.92153,E,60.074,325.94,120308,,,A*5B
+$GPRMC,103525.00,A,5157.10519,N,00424.90674,E,60.837,328.58,120308,,,A*5C
+$GPRMC,103526.00,A,5157.11991,N,00424.89243,E,61.560,329.26,120308,,,A*5C
+$GPRMC,103527.00,A,5157.13495,N,00424.87857,E,62.292,330.72,120308,,,A*57
+$GPRMC,103528.00,A,5157.15050,N,00424.86550,E,62.900,333.25,120308,,,A*59
+$GPRMC,103529.00,A,5157.16621,N,00424.85283,E,63.198,334.47,120308,,,A*5A
+$GPRMC,103530.00,A,5157.18215,N,00424.84019,E,64.114,334.06,120308,,,A*59
+$GPRMC,103531.00,A,5157.19858,N,00424.82763,E,65.339,334.33,120308,,,A*5C
+$GPRMC,103532.00,A,5157.21493,N,00424.81438,E,66.260,334.24,120308,,,A*59
+$GPRMC,103533.00,A,5157.23166,N,00424.80129,E,67.121,334.14,120308,,,A*55
+$GPRMC,103534.00,A,5157.24860,N,00424.78795,E,67.668,333.86,120308,,,A*5A
+$GPRMC,103535.00,A,5157.26567,N,00424.77453,E,67.803,334.31,120308,,,A*5D
+$GPRMC,103536.00,A,5157.28280,N,00424.76124,E,67.865,334.16,120308,,,A*5F
+$GPRMC,103537.00,A,5157.29981,N,00424.74788,E,67.962,334.27,120308,,,A*53
+$GPRMC,103538.00,A,5157.31683,N,00424.73466,E,67.657,334.46,120308,,,A*52
+$GPRMC,103539.00,A,5157.33381,N,00424.72138,E,67.200,334.39,120308,,,A*57
+$GPRMC,103540.00,A,5157.35066,N,00424.70830,E,66.524,334.36,120308,,,A*59
+$GPRMC,103541.00,A,5157.36737,N,00424.69542,E,66.173,334.32,120308,,,A*5A
+$GPRMC,103542.00,A,5157.38391,N,00424.68260,E,65.564,334.26,120308,,,A*5D
+$GPRMC,103543.00,A,5157.40037,N,00424.66991,E,65.510,334.51,120308,,,A*54
+$GPRMC,103544.00,A,5157.41675,N,00424.65722,E,65.092,334.60,120308,,,A*5A
+$GPRMC,103545.00,A,5157.43315,N,00424.64478,E,65.257,335.18,120308,,,A*52
+$GPRMC,103546.00,A,5157.44939,N,00424.63251,E,64.389,334.32,120308,,,A*52
+$GPRMC,103547.00,A,5157.46529,N,00424.61990,E,63.952,334.08,120308,,,A*5A
+$GPRMC,103548.00,A,5157.48119,N,00424.60734,E,63.951,334.29,120308,,,A*5D
+$GPRMC,103549.00,A,5157.49710,N,00424.59485,E,63.904,334.43,120308,,,A*5D
+$GPRMC,103550.00,A,5157.51301,N,00424.58249,E,63.464,334.56,120308,,,A*50
+$GPRMC,103551.00,A,5157.52878,N,00424.57015,E,62.927,333.94,120308,,,A*51
+$GPRMC,103552.00,A,5157.54447,N,00424.55777,E,63.003,334.00,120308,,,A*51
+$GPRMC,103553.00,A,5157.56029,N,00424.54547,E,63.549,334.40,120308,,,A*51
+$GPRMC,103554.00,A,5157.57614,N,00424.53303,E,63.623,334.11,120308,,,A*55
+$GPRMC,103555.00,A,5157.59207,N,00424.52057,E,63.758,334.46,120308,,,A*50
+$GPRMC,103556.00,A,5157.60798,N,00424.50825,E,63.372,335.10,120308,,,A*5B
+$GPRMC,103557.00,A,5157.62392,N,00424.49610,E,63.649,334.97,120308,,,A*55
+$GPRMC,103558.00,A,5157.63953,N,00424.48314,E,64.109,334.03,120308,,,A*55
+$GPRMC,103559.00,A,5157.65549,N,00424.47063,E,64.572,334.32,120308,,,A*53
+$GPRMC,103600.00,A,5157.67176,N,00424.45797,E,65.168,334.15,120308,,,A*53
+$GPRMC,103601.00,A,5157.68814,N,00424.44500,E,66.062,334.02,120308,,,A*53
+$GPRMC,103602.00,A,5157.70475,N,00424.43188,E,66.869,334.20,120308,,,A*52
+$GPRMC,103603.00,A,5157.72139,N,00424.41880,E,66.320,334.39,120308,,,A*51
+$GPRMC,103604.00,A,5157.73787,N,00424.40582,E,65.751,334.32,120308,,,A*50
+$GPRMC,103605.00,A,5157.75428,N,00424.39305,E,65.356,334.69,120308,,,A*5B
+$GPRMC,103606.00,A,5157.77071,N,00424.38036,E,65.630,334.30,120308,,,A*59
+$GPRMC,103607.00,A,5157.78711,N,00424.36745,E,65.790,334.21,120308,,,A*50
+$GPRMC,103608.00,A,5157.80363,N,00424.35457,E,66.102,334.26,120308,,,A*53
+$GPRMC,103609.00,A,5157.82008,N,00424.34174,E,65.606,334.61,120308,,,A*58
+$GPRMC,103610.00,A,5157.83641,N,00424.32884,E,65.138,333.96,120308,,,A*5F
+$GPRMC,103611.00,A,5157.85270,N,00424.31618,E,64.803,334.35,120308,,,A*58
+$GPRMC,103612.00,A,5157.86885,N,00424.30361,E,64.136,334.10,120308,,,A*5A
+$GPRMC,103613.00,A,5157.88499,N,00424.29129,E,63.886,334.18,120308,,,A*5F
+$GPRMC,103614.00,A,5157.90096,N,00424.27861,E,64.278,333.92,120308,,,A*58
+$GPRMC,103615.00,A,5157.91717,N,00424.26622,E,64.151,334.27,120308,,,A*5F
+$GPRMC,103616.00,A,5157.93336,N,00424.25410,E,63.480,334.31,120308,,,A*50
+$GPRMC,103617.00,A,5157.94921,N,00424.24178,E,63.153,334.20,120308,,,A*5B
+$GPRMC,103618.00,A,5157.96495,N,00424.22951,E,62.685,334.45,120308,,,A*5F
+$GPRMC,103619.00,A,5157.98043,N,00424.21717,E,62.103,334.17,120308,,,A*5E
+$GPRMC,103620.00,A,5157.99602,N,00424.20530,E,61.627,334.40,120308,,,A*50
+$GPRMC,103621.00,A,5158.01148,N,00424.19322,E,61.841,335.37,120308,,,A*56
+$GPRMC,103622.00,A,5158.02619,N,00424.18041,E,60.538,334.00,120308,,,A*55
+$GPRMC,103623.00,A,5158.04133,N,00424.16861,E,60.517,334.25,120308,,,A*53
+$GPRMC,103624.00,A,5158.05653,N,00424.15678,E,61.166,334.27,120308,,,A*50
+$GPRMC,103625.00,A,5158.07182,N,00424.14487,E,61.104,334.25,120308,,,A*5D
+$GPRMC,103626.00,A,5158.08712,N,00424.13280,E,61.500,334.08,120308,,,A*57
+$GPRMC,103627.00,A,5158.10260,N,00424.12050,E,62.720,334.02,120308,,,A*58
+$GPRMC,103628.00,A,5158.11831,N,00424.10799,E,63.293,333.70,120308,,,A*56
+$GPRMC,103629.00,A,5158.13429,N,00424.09546,E,64.167,334.23,120308,,,A*56
+$GPRMC,103630.00,A,5158.15042,N,00424.08282,E,64.812,334.28,120308,,,A*5F
+$GPRMC,103631.00,A,5158.16661,N,00424.07019,E,64.743,334.51,120308,,,A*50
+$GPRMC,103632.00,A,5158.18277,N,00424.05761,E,64.466,334.40,120308,,,A*50
+$GPRMC,103633.00,A,5158.19887,N,00424.04494,E,64.441,334.06,120308,,,A*5A
+$GPRMC,103634.00,A,5158.21505,N,00424.03233,E,64.894,334.18,120308,,,A*56
+$GPRMC,103635.00,A,5158.23137,N,00424.02027,E,64.386,335.66,120308,,,A*56
+$GPRMC,103636.00,A,5158.24794,N,00424.00933,E,64.219,337.53,120308,,,A*50
+$GPRMC,103637.00,A,5158.26444,N,00423.99876,E,64.189,338.14,120308,,,A*5C
+$GPRMC,103638.00,A,5158.28103,N,00423.98860,E,63.201,339.56,120308,,,A*5E
+$GPRMC,103639.00,A,5158.29776,N,00423.97949,E,63.394,341.60,120308,,,A*58
+$GPRMC,103640.00,A,5158.31446,N,00423.97148,E,62.429,344.23,120308,,,A*54
+$GPRMC,103641.00,A,5158.33131,N,00423.96430,E,62.841,345.25,120308,,,A*5C
+$GPRMC,103642.00,A,5158.34812,N,00423.95720,E,63.082,345.24,120308,,,A*56
+$GPRMC,103643.00,A,5158.36495,N,00423.95004,E,63.211,345.18,120308,,,A*50
+$GPRMC,103644.00,A,5158.38175,N,00423.94307,E,63.086,345.82,120308,,,A*5C
+$GPRMC,103645.00,A,5158.39845,N,00423.93628,E,63.351,345.74,120308,,,A*59
+$GPRMC,103646.00,A,5158.41533,N,00423.92942,E,63.235,345.91,120308,,,A*53
+$GPRMC,103647.00,A,5158.43225,N,00423.92222,E,63.125,345.55,120308,,,A*57
+$GPRMC,103648.00,A,5158.44899,N,00423.91522,E,62.221,345.73,120308,,,A*54
+$GPRMC,103649.00,A,5158.46561,N,00423.90810,E,62.004,345.40,120308,,,A*55
+$GPRMC,103650.00,A,5158.48218,N,00423.90097,E,61.420,345.39,120308,,,A*52
+$GPRMC,103651.00,A,5158.49860,N,00423.89385,E,61.135,344.55,120308,,,A*55
+$GPRMC,103652.00,A,5158.51469,N,00423.88718,E,59.773,345.47,120308,,,A*56
+$GPRMC,103653.00,A,5158.53060,N,00423.88030,E,59.119,345.29,120308,,,A*57
+$GPRMC,103654.00,A,5158.54640,N,00423.87358,E,58.920,345.17,120308,,,A*5F
+$GPRMC,103655.00,A,5158.56216,N,00423.86710,E,58.781,345.59,120308,,,A*5D
+$GPRMC,103656.00,A,5158.57810,N,00423.86036,E,59.567,345.42,120308,,,A*51
+$GPRMC,103657.00,A,5158.59424,N,00423.85333,E,60.426,344.78,120308,,,A*56
+$GPRMC,103658.00,A,5158.61041,N,00423.84620,E,60.464,344.89,120308,,,A*5B
+$GPRMC,103659.00,A,5158.62684,N,00423.83851,E,60.916,344.77,120308,,,A*50
+$GPRMC,103700.00,A,5158.64308,N,00423.83139,E,60.360,345.05,120308,,,A*52
+$GPRMC,103701.00,A,5158.65925,N,00423.82417,E,60.358,344.86,120308,,,A*5E
+$GPRMC,103702.00,A,5158.67551,N,00423.81665,E,60.638,344.69,120308,,,A*56
+$GPRMC,103703.00,A,5158.69175,N,00423.80955,E,60.752,344.86,120308,,,A*5A
+$GPRMC,103704.00,A,5158.70800,N,00423.80265,E,61.073,344.62,120308,,,A*59
+$GPRMC,103705.00,A,5158.72438,N,00423.79564,E,61.673,344.78,120308,,,A*50
+$GPRMC,103706.00,A,5158.74079,N,00423.78884,E,61.538,345.00,120308,,,A*54
+$GPRMC,103707.00,A,5158.75722,N,00423.78205,E,61.460,345.25,120308,,,A*55
+$GPRMC,103708.00,A,5158.77368,N,00423.77523,E,61.717,345.26,120308,,,A*5E
+$GPRMC,103709.00,A,5158.79019,N,00423.76863,E,62.091,345.26,120308,,,A*56
+$GPRMC,103710.00,A,5158.80684,N,00423.76177,E,62.367,345.33,120308,,,A*58
+$GPRMC,103711.00,A,5158.82358,N,00423.75480,E,62.546,345.09,120308,,,A*5D
+$GPRMC,103712.00,A,5158.84032,N,00423.74801,E,62.608,345.26,120308,,,A*57
+$GPRMC,103713.00,A,5158.85733,N,00423.74036,E,63.266,345.24,120308,,,A*52
+$GPRMC,103714.00,A,5158.87436,N,00423.73307,E,63.323,345.41,120308,,,A*54
+$GPRMC,103715.00,A,5158.89122,N,00423.72625,E,62.887,345.11,120308,,,A*5E
+$GPRMC,103716.00,A,5158.90797,N,00423.71947,E,62.166,345.34,120308,,,A*54
+$GPRMC,103717.00,A,5158.92459,N,00423.71251,E,61.903,345.44,120308,,,A*55
+$GPRMC,103718.00,A,5158.94115,N,00423.70617,E,61.632,346.49,120308,,,A*55
+$GPRMC,103719.00,A,5158.95761,N,00423.70028,E,61.111,347.17,120308,,,A*56
+$GPRMC,103720.00,A,5158.97405,N,00423.69434,E,60.508,346.87,120308,,,A*5B
+$GPRMC,103721.00,A,5158.99046,N,00423.68801,E,60.606,346.00,120308,,,A*5E
+$GPRMC,103722.00,A,5159.00650,N,00423.68183,E,59.900,345.64,120308,,,A*5C
+$GPRMC,103723.00,A,5159.02247,N,00423.67502,E,59.291,345.58,120308,,,A*53
+$GPRMC,103724.00,A,5159.03840,N,00423.66806,E,59.449,345.06,120308,,,A*58
+$GPRMC,103725.00,A,5159.05436,N,00423.66116,E,59.235,345.47,120308,,,A*52
+$GPRMC,103726.00,A,5159.07037,N,00423.65433,E,60.122,345.34,120308,,,A*5C
+$GPRMC,103727.00,A,5159.08676,N,00423.64681,E,60.498,345.38,120308,,,A*53
+$GPRMC,103728.00,A,5159.10263,N,00423.64035,E,58.893,345.52,120308,,,A*5C
+$GPRMC,103729.00,A,5159.11834,N,00423.63354,E,57.921,345.49,120308,,,A*5A
+$GPRMC,103730.00,A,5159.13362,N,00423.62750,E,56.408,346.45,120308,,,A*51
+$GPRMC,103731.00,A,5159.14872,N,00423.62197,E,55.817,347.27,120308,,,A*54
+$GPRMC,103732.00,A,5159.16361,N,00423.61660,E,54.566,347.43,120308,,,A*58
+$GPRMC,103733.00,A,5159.17818,N,00423.61107,E,53.308,346.63,120308,,,A*51
+$GPRMC,103734.00,A,5159.19243,N,00423.60525,E,52.185,345.84,120308,,,A*55
+$GPRMC,103735.00,A,5159.20632,N,00423.59926,E,51.109,345.25,120308,,,A*55
+$GPRMC,103736.00,A,5159.21991,N,00423.59318,E,50.066,345.11,120308,,,A*58
+$GPRMC,103737.00,A,5159.23312,N,00423.58778,E,48.900,345.95,120308,,,A*55
+$GPRMC,103738.00,A,5159.24610,N,00423.58355,E,48.722,347.42,120308,,,A*57
+$GPRMC,103739.00,A,5159.25925,N,00423.57922,E,49.183,348.36,120308,,,A*5B
+$GPRMC,103740.00,A,5159.27251,N,00423.57501,E,49.088,348.76,120308,,,A*5C
+$GPRMC,103741.00,A,5159.28565,N,00423.57070,E,48.335,347.88,120308,,,A*5B
+$GPRMC,103742.00,A,5159.29832,N,00423.56606,E,45.862,346.81,120308,,,A*5C
+$GPRMC,103743.00,A,5159.31016,N,00423.56128,E,42.458,345.81,120308,,,A*50
+$GPRMC,103744.00,A,5159.32133,N,00423.55643,E,41.183,345.08,120308,,,A*5A
+$GPRMC,103745.00,A,5159.33224,N,00423.55171,E,40.812,344.96,120308,,,A*5F
+$GPRMC,103746.00,A,5159.34329,N,00423.54684,E,41.892,344.91,120308,,,A*55
+$GPRMC,103747.00,A,5159.35459,N,00423.54179,E,42.547,344.77,120308,,,A*5E
+$GPRMC,103748.00,A,5159.36594,N,00423.53696,E,42.891,345.26,120308,,,A*50
+$GPRMC,103749.00,A,5159.37735,N,00423.53225,E,42.952,345.86,120308,,,A*51
+$GPRMC,103750.00,A,5159.38889,N,00423.52725,E,43.162,345.63,120308,,,A*5B
+$GPRMC,103751.00,A,5159.40045,N,00423.52234,E,43.081,345.46,120308,,,A*53
+$GPRMC,103752.00,A,5159.41186,N,00423.51749,E,42.656,345.16,120308,,,A*5B
+$GPRMC,103753.00,A,5159.42318,N,00423.51283,E,42.200,345.47,120308,,,A*5C
+$GPRMC,103754.00,A,5159.43443,N,00423.50813,E,42.207,345.32,120308,,,A*54
+$GPRMC,103755.00,A,5159.44565,N,00423.50362,E,41.514,345.89,120308,,,A*5C
+$GPRMC,103756.00,A,5159.45667,N,00423.49916,E,40.540,346.15,120308,,,A*58
+$GPRMC,103757.00,A,5159.46759,N,00423.49462,E,40.711,345.30,120308,,,A*5A
+$GPRMC,103758.00,A,5159.47821,N,00423.49019,E,39.238,345.81,120308,,,A*56
+$GPRMC,103759.00,A,5159.48889,N,00423.48579,E,39.793,345.82,120308,,,A*5F
+$GPRMC,103800.00,A,5159.49927,N,00423.48137,E,39.100,345.80,120308,,,A*58
+$GPRMC,103801.00,A,5159.50960,N,00423.47743,E,38.878,346.38,120308,,,A*5F
+$GPRMC,103802.00,A,5159.52011,N,00423.47298,E,39.151,346.59,120308,,,A*56
+$GPRMC,103803.00,A,5159.53037,N,00423.46971,E,39.797,347.43,120308,,,A*59
+$GPRMC,103804.00,A,5159.54109,N,00423.46596,E,40.616,348.91,120308,,,A*56
+$GPRMC,103805.00,A,5159.55196,N,00423.46318,E,39.974,350.20,120308,,,A*56
+$GPRMC,103806.00,A,5159.56294,N,00423.46000,E,39.458,351.14,120308,,,A*58
+$GPRMC,103807.00,A,5159.57395,N,00423.45725,E,39.135,351.48,120308,,,A*5C
+$GPRMC,103808.00,A,5159.58442,N,00423.45460,E,37.755,350.22,120308,,,A*50
+$GPRMC,103809.00,A,5159.59470,N,00423.45137,E,36.940,347.37,120308,,,A*5F
+$GPRMC,103810.00,A,5159.60459,N,00423.44776,E,36.338,348.02,120308,,,A*58
+$GPRMC,103811.00,A,5159.61429,N,00423.44431,E,35.650,347.33,120308,,,A*5A
+$GPRMC,103812.00,A,5159.62385,N,00423.44082,E,34.961,348.58,120308,,,A*59
+$GPRMC,103813.00,A,5159.63335,N,00423.43831,E,34.441,350.47,120308,,,A*5D
+$GPRMC,103814.00,A,5159.64286,N,00423.43579,E,34.636,351.60,120308,,,A*53
+$GPRMC,103815.00,A,5159.65211,N,00423.43375,E,33.630,352.48,120308,,,A*5F
+$GPRMC,103816.00,A,5159.66128,N,00423.43171,E,32.597,352.64,120308,,,A*51
+$GPRMC,103817.00,A,5159.66994,N,00423.42982,E,31.702,352.85,120308,,,A*58
+$GPRMC,103818.00,A,5159.67857,N,00423.42818,E,31.089,353.22,120308,,,A*52
+$GPRMC,103819.00,A,5159.68705,N,00423.42654,E,30.573,353.72,120308,,,A*56
+$GPRMC,103820.00,A,5159.69536,N,00423.42517,E,30.148,354.60,120308,,,A*53
+$GPRMC,103821.00,A,5159.70366,N,00423.42401,E,29.968,355.62,120308,,,A*5E
+$GPRMC,103822.00,A,5159.71185,N,00423.42293,E,29.375,357.04,120308,,,A*5A
+$GPRMC,103823.00,A,5159.71988,N,00423.42303,E,28.074,359.44,120308,,,A*5F
+$GPRMC,103824.00,A,5159.72678,N,00423.42364,E,24.982,1.84,120308,,,A*54
+$GPRMC,103825.00,A,5159.73272,N,00423.42412,E,18.989,2.66,120308,,,A*57
+$GPRMC,103826.00,A,5159.73711,N,00423.42451,E,13.821,3.21,120308,,,A*59
+$GPRMC,103827.00,A,5159.73959,N,00423.42461,E,8.126,1.78,120308,,,A*63
+$GPRMC,103828.00,A,5159.74067,N,00423.42491,E,3.763,3.69,120308,,,A*6E
+$GPRMC,103829.00,A,5159.74121,N,00423.42536,E,1.712,3.77,120308,,,A*6B
+$GPRMC,103830.00,A,5159.74156,N,00423.42544,E,1.199,3.97,120308,,,A*6D
+$GPRMC,103831.00,A,5159.74194,N,00423.42567,E,2.485,2.40,120308,,,A*63
+$GPRMC,103832.00,A,5159.74336,N,00423.42611,E,7.571,7.11,120308,,,A*66
+$GPRMC,103833.00,A,5159.74586,N,00423.42679,E,10.548,7.84,120308,,,A*54
+$GPRMC,103834.00,A,5159.74895,N,00423.42767,E,11.853,9.61,120308,,,A*51
+$GPRMC,103835.00,A,5159.75261,N,00423.42882,E,14.123,10.18,120308,,,A*69
+$GPRMC,103836.00,A,5159.75672,N,00423.43012,E,15.713,11.59,120308,,,A*6C
+$GPRMC,103837.00,A,5159.76112,N,00423.43185,E,17.106,13.58,120308,,,A*63
+$GPRMC,103838.00,A,5159.76574,N,00423.43381,E,17.535,14.77,120308,,,A*60
+$GPRMC,103839.00,A,5159.77056,N,00423.43611,E,18.806,16.12,120308,,,A*6A
+$GPRMC,103840.00,A,5159.77588,N,00423.43874,E,21.124,16.03,120308,,,A*6C
+$GPRMC,103841.00,A,5159.78171,N,00423.44133,E,22.139,13.39,120308,,,A*6E
+$GPRMC,103842.00,A,5159.78800,N,00423.44323,E,23.223,8.79,120308,,,A*56
+$GPRMC,103843.00,A,5159.79450,N,00423.44405,E,22.823,0.82,120308,,,A*5B
+$GPRMC,103844.00,A,5159.80112,N,00423.44295,E,23.935,352.36,120308,,,A*5A
+$GPRMC,103845.00,A,5159.80792,N,00423.44075,E,24.780,347.31,120308,,,A*5D
+$GPRMC,103846.00,A,5159.81445,N,00423.43538,E,25.536,333.35,120308,,,A*54
+$GPRMC,103847.00,A,5159.82067,N,00423.42883,E,25.648,324.47,120308,,,A*57
+$GPRMC,103848.00,A,5159.82629,N,00423.42129,E,25.894,318.23,120308,,,A*5F
+$GPRMC,103849.00,A,5159.83088,N,00423.41164,E,27.128,305.84,120308,,,A*55
+$GPRMC,103850.00,A,5159.83455,N,00423.40096,E,27.112,298.11,120308,,,A*54
+$GPRMC,103851.00,A,5159.83693,N,00423.38944,E,26.837,289.49,120308,,,A*56
+$GPRMC,103852.00,A,5159.83876,N,00423.37784,E,25.359,284.02,120308,,,A*5F
+$GPRMC,103853.00,A,5159.83938,N,00423.36632,E,24.533,275.58,120308,,,A*52
+$GPRMC,103854.00,A,5159.83865,N,00423.35411,E,23.849,261.52,120308,,,A*54
+$GPRMC,103855.00,A,5159.83683,N,00423.34394,E,23.489,254.31,120308,,,A*5B
+$GPRMC,103856.00,A,5159.83434,N,00423.33372,E,23.703,248.98,120308,,,A*56
+$GPRMC,103857.00,A,5159.83170,N,00423.32428,E,22.912,245.61,120308,,,A*5F
+$GPRMC,103858.00,A,5159.82882,N,00423.31509,E,22.658,242.96,120308,,,A*5A
+$GPRMC,103859.00,A,5159.82529,N,00423.30633,E,22.658,237.71,120308,,,A*57
+$GPRMC,103900.00,A,5159.82172,N,00423.29820,E,21.949,235.78,120308,,,A*53
+$GPRMC,103901.00,A,5159.81796,N,00423.29053,E,21.083,233.45,120308,,,A*56
+$GPRMC,103902.00,A,5159.81423,N,00423.28281,E,21.267,230.63,120308,,,A*5B
+$GPRMC,103903.00,A,5159.81006,N,00423.27648,E,20.002,218.47,120308,,,A*5B
+$GPRMC,103904.00,A,5159.80469,N,00423.27313,E,19.978,198.55,120308,,,A*5D
+$GPRMC,103905.00,A,5159.79863,N,00423.27252,E,21.674,179.66,120308,,,A*5F
+$GPRMC,103906.00,A,5159.79208,N,00423.27377,E,23.141,170.86,120308,,,A*59
+$GPRMC,103907.00,A,5159.78547,N,00423.27584,E,24.203,167.47,120308,,,A*56
+$GPRMC,103908.00,A,5159.77807,N,00423.27926,E,27.283,165.33,120308,,,A*51
+$GPRMC,103909.00,A,5159.77001,N,00423.28276,E,30.607,165.09,120308,,,A*58
+$GPRMC,103910.00,A,5159.76106,N,00423.28666,E,33.435,164.39,120308,,,A*50
+$GPRMC,103911.00,A,5159.75175,N,00423.29134,E,33.574,162.93,120308,,,A*55
+$GPRMC,103912.00,A,5159.74270,N,00423.29708,E,34.946,156.46,120308,,,A*5D
+$GPRMC,103913.00,A,5159.73368,N,00423.30385,E,34.741,155.85,120308,,,A*5F
+$GPRMC,103914.00,A,5159.72451,N,00423.31095,E,35.961,155.10,120308,,,A*56
+$GPRMC,103915.00,A,5159.71476,N,00423.31828,E,38.833,155.92,120308,,,A*5E
+$GPRMC,103916.00,A,5159.70508,N,00423.32520,E,38.323,156.74,120308,,,A*53
+$GPRMC,103917.00,A,5159.69520,N,00423.33212,E,38.314,157.43,120308,,,A*56
+$GPRMC,103918.00,A,5159.68520,N,00423.33898,E,38.729,157.72,120308,,,A*58
+$GPRMC,103919.00,A,5159.67518,N,00423.34583,E,38.521,157.58,120308,,,A*5F
+$GPRMC,103920.00,A,5159.66535,N,00423.35247,E,37.403,157.78,120308,,,A*59
+$GPRMC,103921.00,A,5159.65575,N,00423.35886,E,36.871,157.91,120308,,,A*57
+$GPRMC,103922.00,A,5159.64642,N,00423.36503,E,34.895,157.74,120308,,,A*52
+$GPRMC,103923.00,A,5159.63779,N,00423.37067,E,31.702,158.56,120308,,,A*50
+$GPRMC,103924.00,A,5159.63002,N,00423.37569,E,28.813,158.91,120308,,,A*5B
+$GPRMC,103925.00,A,5159.62291,N,00423.38018,E,26.304,158.91,120308,,,A*5C
+$GPRMC,103926.00,A,5159.61643,N,00423.38420,E,23.906,159.29,120308,,,A*57
+$GPRMC,103927.00,A,5159.61065,N,00423.38776,E,21.297,159.51,120308,,,A*5A
+$GPRMC,103928.00,A,5159.60565,N,00423.39091,E,18.569,159.43,120308,,,A*51
+$GPRMC,103929.00,A,5159.60124,N,00423.39352,E,15.689,159.36,120308,,,A*5F
+$GPRMC,103930.00,A,5159.59773,N,00423.39549,E,12.385,160.37,120308,,,A*50
+$GPRMC,103931.00,A,5159.59577,N,00423.39670,E,7.701,159.29,120308,,,A*67
+$GPRMC,103932.00,A,5159.59443,N,00423.39754,E,4.744,158.57,120308,,,A*6F
+$GPRMC,103933.00,A,5159.59371,N,00423.39797,E,3.271,160.20,120308,,,A*68
+$GPRMC,103934.00,A,5159.59331,N,00423.39817,E,1.998,159.85,120308,,,A*67
+$GPRMC,103935.00,A,5159.59286,N,00423.39836,E,2.613,163.74,120308,,,A*60
+$GPRMC,103936.00,A,5159.59224,N,00423.39869,E,3.409,160.07,120308,,,A*6E
+$GPRMC,103937.00,A,5159.59172,N,00423.39907,E,2.042,157.71,120308,,,A*69
+$GPRMC,103938.00,A,5159.59161,N,00423.39921,E,0.409,157.45,120308,,,A*6E
+$GPRMC,103939.00,A,5159.59163,N,00423.39922,E,0.113,156.35,120308,,,A*66
+$GPRMC,103940.00,A,5159.59088,N,00423.39970,E,4.192,155.92,120308,,,A*68
+$GPRMC,103941.00,A,5159.58800,N,00423.40113,E,12.225,158.37,120308,,,A*59
+$GPRMC,103942.00,A,5159.58382,N,00423.40336,E,16.771,161.03,120308,,,A*53
+$GPRMC,103943.00,A,5159.57868,N,00423.40624,E,19.644,160.99,120308,,,A*5E
+$GPRMC,103944.00,A,5159.57172,N,00423.40953,E,25.689,163.12,120308,,,A*5A
+$GPRMC,103945.00,A,5159.56396,N,00423.41382,E,30.125,160.48,120308,,,A*5C
+$GPRMC,103946.00,A,5159.55546,N,00423.41811,E,32.330,160.91,120308,,,A*56
+$GPRMC,103947.00,A,5159.54669,N,00423.42328,E,34.273,159.89,120308,,,A*59
+$GPRMC,103948.00,A,5159.53759,N,00423.42881,E,34.511,159.79,120308,,,A*57
+$GPRMC,103949.00,A,5159.52861,N,00423.43411,E,33.606,160.71,120308,,,A*57
+$GPRMC,103950.00,A,5159.51987,N,00423.43910,E,32.543,161.08,120308,,,A*55
+$GPRMC,103951.00,A,5159.51145,N,00423.44371,E,31.497,161.65,120308,,,A*58
+$GPRMC,103952.00,A,5159.50330,N,00423.44813,E,30.518,162.01,120308,,,A*53
+$GPRMC,103953.00,A,5159.49546,N,00423.45231,E,29.374,162.11,120308,,,A*53
+$GPRMC,103954.00,A,5159.48789,N,00423.45619,E,28.531,163.29,120308,,,A*56
+$GPRMC,103955.00,A,5159.48057,N,00423.45984,E,27.650,163.68,120308,,,A*56
+$GPRMC,103956.00,A,5159.47343,N,00423.46317,E,26.835,164.16,120308,,,A*5D
+$GPRMC,103957.00,A,5159.46664,N,00423.46634,E,25.014,163.41,120308,,,A*54
+$GPRMC,103958.00,A,5159.46015,N,00423.46960,E,24.689,161.55,120308,,,A*51
+$GPRMC,103959.00,A,5159.45421,N,00423.47305,E,21.889,159.93,120308,,,A*52
+$GPRMC,104000.00,A,5159.44964,N,00423.47595,E,15.775,159.96,120308,,,A*5C
+$GPRMC,104001.00,A,5159.44625,N,00423.47813,E,11.967,159.24,120308,,,A*54
+$GPRMC,104002.00,A,5159.44330,N,00423.48027,E,11.920,152.48,120308,,,A*54
+$GPRMC,104003.00,A,5159.44003,N,00423.48292,E,13.898,153.68,120308,,,A*59
+$GPRMC,104004.00,A,5159.43649,N,00423.48569,E,14.637,156.26,120308,,,A*51
+$GPRMC,104005.00,A,5159.43205,N,00423.48805,E,17.080,161.66,120308,,,A*52
+$GPRMC,104006.00,A,5159.42753,N,00423.49021,E,17.314,164.33,120308,,,A*52
+$GPRMC,104007.00,A,5159.42329,N,00423.49195,E,14.359,166.59,120308,,,A*50
+$GPRMC,104008.00,A,5159.41966,N,00423.49329,E,13.286,168.57,120308,,,A*5C
+$GPRMC,104009.00,A,5159.41595,N,00423.49487,E,14.576,163.49,120308,,,A*55
+$GPRMC,104010.00,A,5159.41205,N,00423.49737,E,16.523,157.75,120308,,,A*51
+$GPRMC,104011.00,A,5159.40676,N,00423.50081,E,20.997,157.47,120308,,,A*54
+$GPRMC,104012.00,A,5159.40072,N,00423.50385,E,22.051,162.04,120308,,,A*52
+$GPRMC,104013.00,A,5159.39500,N,00423.50652,E,20.266,164.58,120308,,,A*59
+$GPRMC,104014.00,A,5159.39020,N,00423.50861,E,16.954,165.59,120308,,,A*58
+$GPRMC,104015.00,A,5159.38609,N,00423.51034,E,15.041,165.27,120308,,,A*5B
+$GPRMC,104016.00,A,5159.38237,N,00423.51182,E,13.377,165.70,120308,,,A*5F
+$GPRMC,104017.00,A,5159.37883,N,00423.51322,E,13.008,164.94,120308,,,A*5C
+$GPRMC,104018.00,A,5159.37540,N,00423.51454,E,13.010,167.68,120308,,,A*5E
+$GPRMC,104019.00,A,5159.37246,N,00423.51562,E,10.108,166.16,120308,,,A*59
+$GPRMC,104020.00,A,5159.36941,N,00423.51643,E,10.756,168.39,120308,,,A*50
+$GPRMC,104021.00,A,5159.36616,N,00423.51764,E,10.455,165.60,120308,,,A*59
+$GPRMC,104022.00,A,5159.36320,N,00423.51861,E,9.105,164.72,120308,,,A*6A
+$GPRMC,104023.00,A,5159.36089,N,00423.51939,E,7.135,165.02,120308,,,A*6C
+$GPRMC,104024.00,A,5159.35868,N,00423.52005,E,6.159,165.20,120308,,,A*61
+$GPRMC,104025.00,A,5159.35710,N,00423.52041,E,3.564,165.95,120308,,,A*61
+$GPRMC,104026.00,A,5159.35609,N,00423.52054,E,3.512,172.63,120308,,,A*61
+$GPRMC,104027.00,A,5159.35545,N,00423.52051,E,2.258,166.97,120308,,,A*68
+$GPRMC,104028.00,A,5159.35472,N,00423.52055,E,2.563,177.79,120308,,,A*69
+$GPRMC,104029.00,A,5159.35412,N,00423.52049,E,2.078,168.80,120308,,,A*64
+$GPRMC,104030.00,A,5159.35379,N,00423.52063,E,1.534,169.35,120308,,,A*6F
+$GPRMC,104031.00,A,5159.35379,N,00423.52082,E,0.252,168.71,120308,,,A*66
+$GPRMC,104032.00,A,5159.35395,N,00423.52087,E,0.025,167.72,120308,,,A*6C
+$GPRMC,104033.00,A,5159.35382,N,00423.52099,E,0.708,167.18,120308,,,A*60
+$GPRMC,104034.00,A,5159.35336,N,00423.52120,E,2.381,154.06,120308,,,A*63
+$GPRMC,104035.00,A,5159.35231,N,00423.52186,E,4.786,163.80,120308,,,A*67
+$GPRMC,104036.00,A,5159.35049,N,00423.52263,E,7.766,165.16,120308,,,A*65
+$GPRMC,104037.00,A,5159.34805,N,00423.52372,E,9.938,164.81,120308,,,A*60
+$GPRMC,104038.00,A,5159.34497,N,00423.52527,E,12.095,163.21,120308,,,A*57
+$GPRMC,104039.00,A,5159.34123,N,00423.52695,E,14.725,162.68,120308,,,A*50
+$GPRMC,104040.00,A,5159.33687,N,00423.52896,E,16.537,163.39,120308,,,A*5B
+$GPRMC,104041.00,A,5159.33234,N,00423.53073,E,17.562,165.14,120308,,,A*5C
+$GPRMC,104042.00,A,5159.32783,N,00423.53287,E,17.826,164.21,120308,,,A*54
+$GPRMC,104043.00,A,5159.32289,N,00423.53493,E,18.416,165.57,120308,,,A*59
+$GPRMC,104044.00,A,5159.31799,N,00423.53666,E,17.401,165.89,120308,,,A*5B
+$GPRMC,104045.00,A,5159.31348,N,00423.53859,E,16.886,165.82,120308,,,A*59
+$GPRMC,104046.00,A,5159.30899,N,00423.54054,E,16.911,164.71,120308,,,A*5C
+$GPRMC,104047.00,A,5159.30429,N,00423.54269,E,17.856,164.57,120308,,,A*51
+$GPRMC,104048.00,A,5159.29932,N,00423.54486,E,18.945,165.12,120308,,,A*5A
+$GPRMC,104049.00,A,5159.29414,N,00423.54724,E,19.914,164.58,120308,,,A*53
+$GPRMC,104050.00,A,5159.28860,N,00423.54973,E,20.484,165.05,120308,,,A*5E
+$GPRMC,104051.00,A,5159.28321,N,00423.55215,E,19.193,163.24,120308,,,A*57
+$GPRMC,104052.00,A,5159.27816,N,00423.55465,E,18.259,163.24,120308,,,A*51
+$GPRMC,104053.00,A,5159.27331,N,00423.55692,E,18.228,165.01,120308,,,A*53
+$GPRMC,104054.00,A,5159.26842,N,00423.55897,E,18.243,165.49,120308,,,A*50
+$GPRMC,104055.00,A,5159.26343,N,00423.56118,E,19.134,165.29,120308,,,A*52
+$GPRMC,104056.00,A,5159.25810,N,00423.56352,E,20.811,165.10,120308,,,A*5D
+$GPRMC,104057.00,A,5159.25244,N,00423.56598,E,21.274,164.81,120308,,,A*56
+$GPRMC,104058.00,A,5159.24677,N,00423.56853,E,20.841,164.64,120308,,,A*50
+$GPRMC,104059.00,A,5159.24125,N,00423.57092,E,20.005,164.98,120308,,,A*5E
+$GPRMC,104100.00,A,5159.23601,N,00423.57324,E,18.712,165.22,120308,,,A*51
+$GPRMC,104101.00,A,5159.23085,N,00423.57527,E,19.137,165.50,120308,,,A*5A
+$GPRMC,104102.00,A,5159.22556,N,00423.57743,E,19.780,164.79,120308,,,A*53
+$GPRMC,104103.00,A,5159.22029,N,00423.57979,E,20.031,164.26,120308,,,A*55
+$GPRMC,104104.00,A,5159.21455,N,00423.58232,E,21.106,165.21,120308,,,A*57
+$GPRMC,104105.00,A,5159.20867,N,00423.58452,E,21.799,167.38,120308,,,A*50
+$GPRMC,104106.00,A,5159.20286,N,00423.58692,E,21.863,164.68,120308,,,A*54
+$GPRMC,104107.00,A,5159.19685,N,00423.58939,E,21.900,165.21,120308,,,A*5E
+$GPRMC,104108.00,A,5159.19084,N,00423.59180,E,21.604,165.60,120308,,,A*53
+$GPRMC,104109.00,A,5159.18479,N,00423.59439,E,21.242,165.08,120308,,,A*5A
+$GPRMC,104110.00,A,5159.17867,N,00423.59707,E,22.204,164.76,120308,,,A*59
+$GPRMC,104111.00,A,5159.17245,N,00423.59978,E,22.536,165.19,120308,,,A*5A
+$GPRMC,104112.00,A,5159.16651,N,00423.60242,E,21.133,165.26,120308,,,A*5F
+$GPRMC,104113.00,A,5159.16115,N,00423.60480,E,18.689,165.06,120308,,,A*5F
+$GPRMC,104114.00,A,5159.15626,N,00423.60703,E,17.531,164.78,120308,,,A*53
+$GPRMC,104115.00,A,5159.15166,N,00423.60921,E,17.395,165.60,120308,,,A*5F
+$GPRMC,104116.00,A,5159.14697,N,00423.61132,E,17.744,165.46,120308,,,A*53
+$GPRMC,104117.00,A,5159.14202,N,00423.61339,E,18.878,166.16,120308,,,A*5A
+$GPRMC,104118.00,A,5159.13675,N,00423.61549,E,19.795,165.38,120308,,,A*55
+$GPRMC,104119.00,A,5159.13148,N,00423.61789,E,19.742,165.15,120308,,,A*56
+$GPRMC,104120.00,A,5159.12622,N,00423.62020,E,19.384,165.70,120308,,,A*5C
+$GPRMC,104121.00,A,5159.12098,N,00423.62249,E,19.451,165.10,120308,,,A*5E
+$GPRMC,104122.00,A,5159.11555,N,00423.62476,E,20.848,164.75,120308,,,A*5C
+$GPRMC,104123.00,A,5159.10977,N,00423.62720,E,21.985,165.54,120308,,,A*53
+$GPRMC,104124.00,A,5159.10358,N,00423.62974,E,23.532,165.66,120308,,,A*5F
+$GPRMC,104125.00,A,5159.09666,N,00423.63244,E,26.074,166.08,120308,,,A*5E
+$GPRMC,104126.00,A,5159.08941,N,00423.63545,E,27.435,164.69,120308,,,A*55
+$GPRMC,104127.00,A,5159.08160,N,00423.63883,E,29.290,165.23,120308,,,A*50
+$GPRMC,104128.00,A,5159.07342,N,00423.64217,E,30.776,165.73,120308,,,A*52
+$GPRMC,104129.00,A,5159.06472,N,00423.64578,E,32.480,165.63,120308,,,A*51
+$GPRMC,104130.00,A,5159.05557,N,00423.64980,E,33.491,165.31,120308,,,A*51
+$GPRMC,104131.00,A,5159.04629,N,00423.65375,E,35.067,165.29,120308,,,A*58
+$GPRMC,104132.00,A,5159.03664,N,00423.65786,E,35.973,165.43,120308,,,A*5D
+$GPRMC,104133.00,A,5159.02691,N,00423.66201,E,36.334,165.34,120308,,,A*54
+$GPRMC,104134.00,A,5159.01698,N,00423.66615,E,37.194,165.51,120308,,,A*52
+$GPRMC,104135.00,A,5159.00696,N,00423.67047,E,37.203,164.90,120308,,,A*5D
+$GPRMC,104136.00,A,5158.99678,N,00423.67483,E,37.733,164.71,120308,,,A*5A
+$GPRMC,104137.00,A,5158.98656,N,00423.67931,E,38.231,164.46,120308,,,A*5E
+$GPRMC,104138.00,A,5158.97593,N,00423.68367,E,39.511,165.62,120308,,,A*51
+$GPRMC,104139.00,A,5158.96525,N,00423.68804,E,39.743,165.62,120308,,,A*57
+$GPRMC,104140.00,A,5158.95441,N,00423.69271,E,40.271,165.36,120308,,,A*5B
+$GPRMC,104141.00,A,5158.94350,N,00423.69760,E,40.770,165.30,120308,,,A*5B
+$GPRMC,104142.00,A,5158.93271,N,00423.70246,E,40.496,165.09,120308,,,A*55
+$GPRMC,104143.00,A,5158.92197,N,00423.70703,E,39.661,165.49,120308,,,A*5A
+$GPRMC,104144.00,A,5158.91151,N,00423.71157,E,38.740,165.67,120308,,,A*5D
+$GPRMC,104145.00,A,5158.90126,N,00423.71615,E,38.175,165.11,120308,,,A*5D
+$GPRMC,104146.00,A,5158.89122,N,00423.72072,E,37.270,164.95,120308,,,A*52
+$GPRMC,104147.00,A,5158.88190,N,00423.72497,E,34.274,164.68,120308,,,A*51
+$GPRMC,104148.00,A,5158.87264,N,00423.72939,E,31.963,164.99,120308,,,A*56
+$GPRMC,104149.00,A,5158.86389,N,00423.73331,E,31.362,165.41,120308,,,A*58
+$GPRMC,104150.00,A,5158.85531,N,00423.73706,E,30.366,165.03,120308,,,A*55
+$GPRMC,104151.00,A,5158.84724,N,00423.74077,E,29.912,164.87,120308,,,A*59
+$GPRMC,104152.00,A,5158.83900,N,00423.74443,E,30.066,164.96,120308,,,A*54
+$GPRMC,104153.00,A,5158.83056,N,00423.74801,E,31.472,165.33,120308,,,A*5B
+$GPRMC,104154.00,A,5158.82168,N,00423.75148,E,32.909,166.13,120308,,,A*57
+$GPRMC,104155.00,A,5158.81169,N,00423.75437,E,36.364,167.70,120308,,,A*58
+$GPRMC,104156.00,A,5158.80121,N,00423.75763,E,38.678,167.41,120308,,,A*50
+$GPRMC,104157.00,A,5158.79033,N,00423.76156,E,41.020,166.69,120308,,,A*58
+$GPRMC,104158.00,A,5158.77923,N,00423.76611,E,40.820,165.39,120308,,,A*5A
+$GPRMC,104159.00,A,5158.76812,N,00423.77065,E,41.020,165.66,120308,,,A*5E
+$GPRMC,104200.00,A,5158.75715,N,00423.77557,E,40.699,165.05,120308,,,A*5E
+$GPRMC,104201.00,A,5158.74613,N,00423.78006,E,40.467,165.70,120308,,,A*56
+$GPRMC,104202.00,A,5158.73538,N,00423.78466,E,39.767,165.52,120308,,,A*57
+$GPRMC,104203.00,A,5158.72486,N,00423.78906,E,38.986,165.55,120308,,,A*5F
+$GPRMC,104204.00,A,5158.71444,N,00423.79309,E,38.360,166.41,120308,,,A*55
+$GPRMC,104205.00,A,5158.70411,N,00423.79716,E,38.392,165.91,120308,,,A*5C
+$GPRMC,104206.00,A,5158.69395,N,00423.80124,E,37.773,165.50,120308,,,A*54
+$GPRMC,104207.00,A,5158.68383,N,00423.80545,E,37.897,165.80,120308,,,A*58
+$GPRMC,104208.00,A,5158.67367,N,00423.80970,E,38.116,165.65,120308,,,A*5C
+$GPRMC,104209.00,A,5158.66354,N,00423.81415,E,37.918,164.65,120308,,,A*5B
+$GPRMC,104210.00,A,5158.65326,N,00423.81879,E,38.470,164.26,120308,,,A*58
+$GPRMC,104211.00,A,5158.64312,N,00423.82305,E,37.575,165.17,120308,,,A*54
+$GPRMC,104212.00,A,5158.63326,N,00423.82752,E,36.976,164.33,120308,,,A*58
+$GPRMC,104213.00,A,5158.62315,N,00423.83169,E,37.903,165.57,120308,,,A*57
+$GPRMC,104214.00,A,5158.61311,N,00423.83587,E,37.032,165.20,120308,,,A*58
+$GPRMC,104215.00,A,5158.60296,N,00423.83997,E,37.605,165.89,120308,,,A*5A
+$GPRMC,104216.00,A,5158.59280,N,00423.84434,E,37.856,165.42,120308,,,A*58
+$GPRMC,104217.00,A,5158.58259,N,00423.84837,E,38.070,165.97,120308,,,A*58
+$GPRMC,104218.00,A,5158.57238,N,00423.85224,E,37.851,166.08,120308,,,A*57
+$GPRMC,104219.00,A,5158.56236,N,00423.85601,E,37.285,166.37,120308,,,A*55
+$GPRMC,104220.00,A,5158.55238,N,00423.86029,E,37.477,165.09,120308,,,A*58
+$GPRMC,104221.00,A,5158.54255,N,00423.86456,E,36.413,165.44,120308,,,A*55
+$GPRMC,104222.00,A,5158.53250,N,00423.86798,E,35.785,165.80,120308,,,A*52
+$GPRMC,104223.00,A,5158.52256,N,00423.87178,E,35.365,165.57,120308,,,A*5D
+$GPRMC,104224.00,A,5158.51306,N,00423.87599,E,35.101,165.04,120308,,,A*50
+$GPRMC,104225.00,A,5158.50360,N,00423.88033,E,34.917,165.04,120308,,,A*54
+$GPRMC,104226.00,A,5158.49424,N,00423.88435,E,35.165,166.15,120308,,,A*55
+$GPRMC,104227.00,A,5158.48486,N,00423.88841,E,35.122,165.31,120308,,,A*54
+$GPRMC,104228.00,A,5158.47550,N,00423.89247,E,34.940,165.18,120308,,,A*55
+$GPRMC,104229.00,A,5158.46623,N,00423.89674,E,34.682,164.84,120308,,,A*53
+$GPRMC,104230.00,A,5158.45709,N,00423.90121,E,34.930,164.29,120308,,,A*5F
+$GPRMC,104231.00,A,5158.44763,N,00423.90511,E,35.151,165.41,120308,,,A*55
+$GPRMC,104232.00,A,5158.43813,N,00423.90908,E,35.094,165.46,120308,,,A*52
+$GPRMC,104233.00,A,5158.42877,N,00423.91300,E,34.350,165.18,120308,,,A*52
+$GPRMC,104234.00,A,5158.41958,N,00423.91671,E,33.550,165.31,120308,,,A*53
+$GPRMC,104235.00,A,5158.41055,N,00423.92027,E,32.760,165.40,120308,,,A*56
+$GPRMC,104236.00,A,5158.40183,N,00423.92404,E,32.116,165.12,120308,,,A*5B
+$GPRMC,104237.00,A,5158.39317,N,00423.92789,E,32.202,164.52,120308,,,A*5E
+$GPRMC,104238.00,A,5158.38462,N,00423.93165,E,32.561,165.20,120308,,,A*56
+$GPRMC,104239.00,A,5158.37582,N,00423.93536,E,32.999,165.09,120308,,,A*55
+$GPRMC,104240.00,A,5158.36694,N,00423.93917,E,33.195,165.67,120308,,,A*5C
+$GPRMC,104241.00,A,5158.35835,N,00423.94292,E,32.129,164.85,120308,,,A*51
+$GPRMC,104242.00,A,5158.34964,N,00423.94688,E,32.853,164.68,120308,,,A*5E
+$GPRMC,104243.00,A,5158.34088,N,00423.95073,E,33.151,165.22,120308,,,A*52
+$GPRMC,104244.00,A,5158.33209,N,00423.95447,E,33.154,165.49,120308,,,A*52
+$GPRMC,104245.00,A,5158.32328,N,00423.95844,E,33.147,165.14,120308,,,A*55
+$GPRMC,104246.00,A,5158.31450,N,00423.96251,E,32.665,165.10,120308,,,A*52
+$GPRMC,104247.00,A,5158.30575,N,00423.96636,E,32.678,164.61,120308,,,A*5A
+$GPRMC,104248.00,A,5158.29689,N,00423.97071,E,32.651,163.65,120308,,,A*51
+$GPRMC,104249.00,A,5158.28803,N,00423.97522,E,32.845,162.76,120308,,,A*56
+$GPRMC,104250.00,A,5158.27902,N,00423.98004,E,33.863,161.74,120308,,,A*5B
+$GPRMC,104251.00,A,5158.27027,N,00423.98529,E,33.679,160.11,120308,,,A*59
+$GPRMC,104252.00,A,5158.26170,N,00423.99067,E,33.227,159.56,120308,,,A*50
+$GPRMC,104253.00,A,5158.25314,N,00423.99624,E,33.309,158.87,120308,,,A*53
+$GPRMC,104254.00,A,5158.24450,N,00424.00197,E,33.727,157.63,120308,,,A*57
+$GPRMC,104255.00,A,5158.23586,N,00424.00807,E,33.404,155.78,120308,,,A*51
+$GPRMC,104256.00,A,5158.22748,N,00424.01448,E,32.627,154.94,120308,,,A*54
+$GPRMC,104257.00,A,5158.21916,N,00424.02083,E,32.381,154.78,120308,,,A*58
+$GPRMC,104258.00,A,5158.21095,N,00424.02716,E,32.272,154.61,120308,,,A*5B
+$GPRMC,104259.00,A,5158.20284,N,00424.03344,E,32.240,154.23,120308,,,A*5C
+$GPRMC,104300.00,A,5158.19485,N,00424.03973,E,31.662,154.47,120308,,,A*57
+$GPRMC,104301.00,A,5158.18706,N,00424.04586,E,31.007,153.90,120308,,,A*56
+$GPRMC,104302.00,A,5158.17951,N,00424.05189,E,30.396,153.88,120308,,,A*5F
+$GPRMC,104303.00,A,5158.17197,N,00424.05787,E,30.052,154.28,120308,,,A*52
+$GPRMC,104304.00,A,5158.16446,N,00424.06387,E,29.807,154.21,120308,,,A*53
+$GPRMC,104305.00,A,5158.15700,N,00424.06977,E,29.999,154.02,120308,,,A*52
+$GPRMC,104306.00,A,5158.14949,N,00424.07569,E,29.944,154.45,120308,,,A*52
+$GPRMC,104307.00,A,5158.14207,N,00424.08150,E,29.149,154.56,120308,,,A*54
+$GPRMC,104308.00,A,5158.13533,N,00424.08728,E,26.458,151.58,120308,,,A*54
+$GPRMC,104309.00,A,5158.12984,N,00424.09309,E,22.651,147.80,120308,,,A*5F
+$GPRMC,104310.00,A,5158.12386,N,00424.09810,E,24.792,154.31,120308,,,A*5C
+$GPRMC,104311.00,A,5158.11758,N,00424.10310,E,25.501,154.20,120308,,,A*53
+$GPRMC,104312.00,A,5158.11106,N,00424.10838,E,26.546,154.07,120308,,,A*59
+$GPRMC,104313.00,A,5158.10440,N,00424.11379,E,27.324,153.51,120308,,,A*56
+$GPRMC,104314.00,A,5158.09715,N,00424.11961,E,28.111,153.85,120308,,,A*5B
+$GPRMC,104315.00,A,5158.09011,N,00424.12531,E,28.636,153.86,120308,,,A*52
+$GPRMC,104316.00,A,5158.08310,N,00424.13103,E,28.564,153.72,120308,,,A*59
+$GPRMC,104317.00,A,5158.07622,N,00424.13685,E,27.979,152.90,120308,,,A*58
+$GPRMC,104318.00,A,5158.06912,N,00424.14331,E,28.927,153.06,120308,,,A*5D
+$GPRMC,104319.00,A,5158.06172,N,00424.14925,E,29.373,153.38,120308,,,A*5A
+$GPRMC,104320.00,A,5158.05427,N,00424.15540,E,29.321,153.32,120308,,,A*55
+$GPRMC,104321.00,A,5158.04670,N,00424.16135,E,29.862,153.58,120308,,,A*50
+$GPRMC,104322.00,A,5158.03894,N,00424.16740,E,30.914,153.93,120308,,,A*5B
+$GPRMC,104323.00,A,5158.03101,N,00424.17334,E,31.035,153.89,120308,,,A*59
+$GPRMC,104324.00,A,5158.02316,N,00424.17939,E,31.245,153.75,120308,,,A*5A
+$GPRMC,104325.00,A,5158.01514,N,00424.18532,E,31.519,154.18,120308,,,A*56
+$GPRMC,104326.00,A,5158.00709,N,00424.19126,E,31.388,153.69,120308,,,A*55
+$GPRMC,104327.00,A,5157.99904,N,00424.19743,E,31.607,154.30,120308,,,A*54
+$GPRMC,104328.00,A,5157.99106,N,00424.20365,E,31.810,154.25,120308,,,A*57
+$GPRMC,104329.00,A,5157.98333,N,00424.20988,E,31.582,152.94,120308,,,A*50
+$GPRMC,104330.00,A,5157.97600,N,00424.21636,E,30.047,151.62,120308,,,A*5E
+$GPRMC,104331.00,A,5157.96777,N,00424.22281,E,32.566,154.06,120308,,,A*57
+$GPRMC,104332.00,A,5157.95954,N,00424.22921,E,32.490,153.47,120308,,,A*53
+$GPRMC,104333.00,A,5157.95119,N,00424.23569,E,33.011,153.24,120308,,,A*5B
+$GPRMC,104334.00,A,5157.94343,N,00424.24215,E,32.495,153.41,120308,,,A*51
+$GPRMC,104335.00,A,5157.93583,N,00424.24886,E,32.394,153.40,120308,,,A*5A
+$GPRMC,104336.00,A,5157.92772,N,00424.25535,E,33.099,154.40,120308,,,A*58
+$GPRMC,104337.00,A,5157.91976,N,00424.26158,E,32.382,153.97,120308,,,A*59
+$GPRMC,104338.00,A,5157.91204,N,00424.26759,E,31.215,154.21,120308,,,A*59
+$GPRMC,104339.00,A,5157.90440,N,00424.27329,E,29.665,153.65,120308,,,A*50
+$GPRMC,104340.00,A,5157.89552,N,00424.27813,E,28.976,154.27,120308,,,A*5B
+$GPRMC,104341.00,A,5157.88868,N,00424.28369,E,27.453,154.08,120308,,,A*5E
+$GPRMC,104342.00,A,5157.88221,N,00424.28928,E,26.464,153.85,120308,,,A*52
+$GPRMC,104343.00,A,5157.87559,N,00424.29528,E,26.987,153.51,120308,,,A*50
+$GPRMC,104344.00,A,5157.86886,N,00424.30091,E,27.200,153.98,120308,,,A*56
+$GPRMC,104345.00,A,5157.86184,N,00424.30653,E,26.926,153.69,120308,,,A*54
+$GPRMC,104346.00,A,5157.85475,N,00424.31214,E,27.411,153.80,120308,,,A*56
+$GPRMC,104347.00,A,5157.84776,N,00424.31748,E,27.585,154.63,120308,,,A*5C
+$GPRMC,104348.00,A,5157.84048,N,00424.32245,E,27.097,154.97,120308,,,A*5F
+$GPRMC,104349.00,A,5157.83255,N,00424.32750,E,26.509,155.82,120308,,,A*50
+$GPRMC,104350.00,A,5157.82605,N,00424.33217,E,25.320,155.63,120308,,,A*5E
+$GPRMC,104351.00,A,5157.81951,N,00424.33630,E,23.256,156.03,120308,,,A*50
+$GPRMC,104352.00,A,5157.81409,N,00424.34031,E,19.710,154.66,120308,,,A*5C
+$GPRMC,104353.00,A,5157.80975,N,00424.34384,E,17.322,154.54,120308,,,A*5D
+$GPRMC,104354.00,A,5157.80545,N,00424.34686,E,16.570,154.35,120308,,,A*55
+$GPRMC,104355.00,A,5157.80085,N,00424.35019,E,17.162,153.15,120308,,,A*5F
+$GPRMC,104356.00,A,5157.79625,N,00424.35386,E,19.080,153.21,120308,,,A*57
+$GPRMC,104357.00,A,5157.79110,N,00424.35793,E,21.689,153.25,120308,,,A*57
+$GPRMC,104358.00,A,5157.78542,N,00424.36224,E,24.093,154.25,120308,,,A*5F
+$GPRMC,104359.00,A,5157.77925,N,00424.36713,E,25.934,153.74,120308,,,A*5B
+$GPRMC,104400.00,A,5157.77254,N,00424.37223,E,26.671,155.14,120308,,,A*57
+$GPRMC,104401.00,A,5157.76563,N,00424.37715,E,25.955,154.80,120308,,,A*52
+$GPRMC,104402.00,A,5157.75992,N,00424.38204,E,22.888,154.82,120308,,,A*5E
+$GPRMC,104403.00,A,5157.75413,N,00424.38662,E,23.622,154.85,120308,,,A*57
+$GPRMC,104404.00,A,5157.74794,N,00424.39131,E,24.788,155.20,120308,,,A*55
+$GPRMC,104405.00,A,5157.74181,N,00424.39639,E,25.559,153.68,120308,,,A*5C
+$GPRMC,104406.00,A,5157.73490,N,00424.40195,E,27.716,154.35,120308,,,A*56
+$GPRMC,104407.00,A,5157.72775,N,00424.40735,E,28.581,156.13,120308,,,A*57
+$GPRMC,104408.00,A,5157.72062,N,00424.41287,E,28.159,155.15,120308,,,A*50
+$GPRMC,104409.00,A,5157.71374,N,00424.41857,E,28.204,154.01,120308,,,A*5E
+$GPRMC,104410.00,A,5157.70725,N,00424.42453,E,26.577,153.39,120308,,,A*5D
+$GPRMC,104411.00,A,5157.70106,N,00424.43033,E,26.289,152.09,120308,,,A*5C
+$GPRMC,104412.00,A,5157.69406,N,00424.43561,E,27.334,153.71,120308,,,A*58
+$GPRMC,104413.00,A,5157.68715,N,00424.44127,E,27.595,152.21,120308,,,A*51
+$GPRMC,104414.00,A,5157.67993,N,00424.44686,E,28.484,153.71,120308,,,A*5F
+$GPRMC,104415.00,A,5157.67299,N,00424.45283,E,28.054,153.20,120308,,,A*52
+$GPRMC,104416.00,A,5157.66620,N,00424.45830,E,27.141,154.55,120308,,,A*5B
+$GPRMC,104417.00,A,5157.65936,N,00424.46332,E,25.875,154.91,120308,,,A*5F
+$GPRMC,104418.00,A,5157.65318,N,00424.46814,E,23.452,154.03,120308,,,A*5D
+$GPRMC,104419.00,A,5157.64757,N,00424.47240,E,21.127,154.52,120308,,,A*59
+$GPRMC,104420.00,A,5157.64246,N,00424.47637,E,20.148,155.41,120308,,,A*59
+$GPRMC,104421.00,A,5157.63768,N,00424.48028,E,19.127,154.07,120308,,,A*51
+$GPRMC,104422.00,A,5157.63290,N,00424.48404,E,19.273,154.14,120308,,,A*5A
+$GPRMC,104423.00,A,5157.62834,N,00424.48758,E,17.841,154.22,120308,,,A*54
+$GPRMC,104424.00,A,5157.62363,N,00424.49061,E,17.733,157.02,120308,,,A*5D
+$GPRMC,104425.00,A,5157.61908,N,00424.49364,E,17.248,154.04,120308,,,A*52
+$GPRMC,104426.00,A,5157.61493,N,00424.49683,E,15.663,152.55,120308,,,A*5F
+$GPRMC,104427.00,A,5157.61099,N,00424.49956,E,14.967,154.95,120308,,,A*57
+$GPRMC,104428.00,A,5157.60730,N,00424.50243,E,14.820,153.65,120308,,,A*50
+$GPRMC,104429.00,A,5157.60348,N,00424.50526,E,15.726,155.20,120308,,,A*51
+$GPRMC,104430.00,A,5157.59965,N,00424.50846,E,16.521,154.26,120308,,,A*5C
+$GPRMC,104431.00,A,5157.59548,N,00424.51181,E,17.668,154.25,120308,,,A*51
+$GPRMC,104432.00,A,5157.59090,N,00424.51541,E,19.047,154.81,120308,,,A*51
+$GPRMC,104433.00,A,5157.58598,N,00424.51918,E,20.670,154.86,120308,,,A*53
+$GPRMC,104434.00,A,5157.58075,N,00424.52344,E,21.661,153.79,120308,,,A*54
+$GPRMC,104435.00,A,5157.57516,N,00424.52798,E,23.223,154.06,120308,,,A*50
+$GPRMC,104436.00,A,5157.56932,N,00424.53281,E,23.852,152.38,120308,,,A*53
+$GPRMC,104437.00,A,5157.56342,N,00424.53775,E,24.134,153.74,120308,,,A*56
+$GPRMC,104438.00,A,5157.55777,N,00424.54273,E,22.884,151.15,120308,,,A*5D
+$GPRMC,104439.00,A,5157.55172,N,00424.54768,E,24.875,153.36,120308,,,A*5B
+$GPRMC,104440.00,A,5157.54529,N,00424.55292,E,26.348,153.00,120308,,,A*5D
+$GPRMC,104441.00,A,5157.53876,N,00424.55842,E,26.656,152.48,120308,,,A*5C
+$GPRMC,104442.00,A,5157.53141,N,00424.56394,E,28.717,154.87,120308,,,A*5E
+$GPRMC,104443.00,A,5157.52401,N,00424.56986,E,29.066,153.99,120308,,,A*5E
+$GPRMC,104444.00,A,5157.51655,N,00424.57550,E,28.712,154.10,120308,,,A*5C
+$GPRMC,104445.00,A,5157.50928,N,00424.58107,E,28.059,153.96,120308,,,A*51
+$GPRMC,104446.00,A,5157.50201,N,00424.58675,E,28.015,154.17,120308,,,A*56
+$GPRMC,104447.00,A,5157.49512,N,00424.59185,E,27.253,154.75,120308,,,A*58
+$GPRMC,104448.00,A,5157.48856,N,00424.59716,E,26.467,153.14,120308,,,A*57
+$GPRMC,104449.00,A,5157.48207,N,00424.60218,E,26.282,153.39,120308,,,A*5B
+$GPRMC,104450.00,A,5157.47542,N,00424.60737,E,26.603,153.74,120308,,,A*56
+$GPRMC,104451.00,A,5157.46868,N,00424.61261,E,26.728,153.78,120308,,,A*50
+$GPRMC,104452.00,A,5157.46194,N,00424.61812,E,27.327,153.47,120308,,,A*51
+$GPRMC,104453.00,A,5157.45467,N,00424.62361,E,28.238,154.04,120308,,,A*56
+$GPRMC,104454.00,A,5157.44698,N,00424.62942,E,29.409,153.64,120308,,,A*5D
+$GPRMC,104455.00,A,5157.43955,N,00424.63554,E,30.944,153.99,120308,,,A*51
+$GPRMC,104456.00,A,5157.43181,N,00424.64182,E,31.378,153.70,120308,,,A*58
+$GPRMC,104457.00,A,5157.42413,N,00424.64833,E,31.211,152.52,120308,,,A*5A
+$GPRMC,104458.00,A,5157.41563,N,00424.65465,E,32.066,154.11,120308,,,A*5E
+$GPRMC,104459.00,A,5157.40770,N,00424.66100,E,32.303,154.56,120308,,,A*58
+$GPRMC,104500.00,A,5157.39953,N,00424.66733,E,32.061,155.32,120308,,,A*56
+$GPRMC,104501.00,A,5157.39165,N,00424.67363,E,31.717,154.13,120308,,,A*5D
+$GPRMC,104502.00,A,5157.38389,N,00424.68017,E,31.185,153.17,120308,,,A*5E
+$GPRMC,104503.00,A,5157.37598,N,00424.68637,E,31.485,153.71,120308,,,A*57
+$GPRMC,104504.00,A,5157.36804,N,00424.69268,E,31.670,153.48,120308,,,A*54
+$GPRMC,104505.00,A,5157.35999,N,00424.69905,E,32.654,154.20,120308,,,A*5F
+$GPRMC,104506.00,A,5157.35157,N,00424.70555,E,33.233,154.10,120308,,,A*50
+$GPRMC,104507.00,A,5157.34321,N,00424.71213,E,33.303,154.34,120308,,,A*53
+$GPRMC,104508.00,A,5157.33499,N,00424.71860,E,32.445,154.00,120308,,,A*52
+$GPRMC,104509.00,A,5157.32694,N,00424.72509,E,31.657,153.32,120308,,,A*58
+$GPRMC,104510.00,A,5157.31891,N,00424.73148,E,32.035,154.23,120308,,,A*5E
+$GPRMC,104511.00,A,5157.31036,N,00424.73782,E,32.914,154.33,120308,,,A*51
+$GPRMC,104512.00,A,5157.30184,N,00424.74408,E,33.131,155.05,120308,,,A*57
+$GPRMC,104513.00,A,5157.29330,N,00424.75024,E,33.362,155.37,120308,,,A*5D
+$GPRMC,104514.00,A,5157.28471,N,00424.75663,E,34.182,154.87,120308,,,A*5D
+$GPRMC,104515.00,A,5157.27580,N,00424.76339,E,35.592,154.44,120308,,,A*5E
+$GPRMC,104516.00,A,5157.26658,N,00424.77036,E,37.044,154.29,120308,,,A*50
+$GPRMC,104517.00,A,5157.25713,N,00424.77761,E,37.935,154.48,120308,,,A*51
+$GPRMC,104518.00,A,5157.24744,N,00424.78481,E,38.049,154.52,120308,,,A*59
+$GPRMC,104519.00,A,5157.23749,N,00424.79182,E,39.045,156.24,120308,,,A*5B
+$GPRMC,104520.00,A,5157.22778,N,00424.79950,E,39.077,154.71,120308,,,A*56
+$GPRMC,104521.00,A,5157.21801,N,00424.80711,E,39.403,154.52,120308,,,A*5E
+$GPRMC,104522.00,A,5157.20799,N,00424.81455,E,39.740,154.41,120308,,,A*56
+$GPRMC,104523.00,A,5157.19788,N,00424.82226,E,40.009,154.12,120308,,,A*5E
+$GPRMC,104524.00,A,5157.18760,N,00424.82989,E,40.059,154.06,120308,,,A*50
+$GPRMC,104525.00,A,5157.17737,N,00424.83750,E,39.890,153.94,120308,,,A*58
+$GPRMC,104526.00,A,5157.16719,N,00424.84503,E,39.852,153.95,120308,,,A*5A
+$GPRMC,104527.00,A,5157.15728,N,00424.85267,E,39.142,153.98,120308,,,A*5B
+$GPRMC,104528.00,A,5157.14757,N,00424.86022,E,38.269,154.02,120308,,,A*52
+$GPRMC,104529.00,A,5157.13801,N,00424.86766,E,37.910,153.52,120308,,,A*57
+$GPRMC,104530.00,A,5157.12869,N,00424.87538,E,37.759,152.23,120308,,,A*5C
+$GPRMC,104531.00,A,5157.11951,N,00424.88342,E,37.533,151.61,120308,,,A*5B
+$GPRMC,104532.00,A,5157.11058,N,00424.89175,E,36.891,150.14,120308,,,A*58
+$GPRMC,104533.00,A,5157.10204,N,00424.90057,E,37.732,148.70,120308,,,A*56
+$GPRMC,104534.00,A,5157.09326,N,00424.90980,E,38.623,147.37,120308,,,A*59
+$GPRMC,104535.00,A,5157.08370,N,00424.91892,E,39.029,147.31,120308,,,A*52
+$GPRMC,104536.00,A,5157.07401,N,00424.92844,E,39.977,146.62,120308,,,A*52
+$GPRMC,104537.00,A,5157.06443,N,00424.93814,E,39.717,146.24,120308,,,A*5A
+$GPRMC,104538.00,A,5157.05530,N,00424.94810,E,39.027,145.57,120308,,,A*53
+$GPRMC,104539.00,A,5157.04626,N,00424.95818,E,38.672,144.23,120308,,,A*5B
+$GPRMC,104540.00,A,5157.03744,N,00424.96799,E,38.037,144.96,120308,,,A*5B
+$GPRMC,104541.00,A,5157.02861,N,00424.97775,E,38.219,145.11,120308,,,A*50
+$GPRMC,104542.00,A,5157.01965,N,00424.98768,E,39.433,144.40,120308,,,A*5C
+$GPRMC,104543.00,A,5157.01045,N,00424.99807,E,41.567,145.77,120308,,,A*5B
+$GPRMC,104544.00,A,5157.00091,N,00425.00898,E,42.307,144.54,120308,,,A*50
+$GPRMC,104545.00,A,5156.99090,N,00425.02068,E,44.764,144.18,120308,,,A*5B
+$GPRMC,104546.00,A,5156.98046,N,00425.03291,E,47.090,143.93,120308,,,A*5C
+$GPRMC,104547.00,A,5156.96976,N,00425.04575,E,48.530,143.88,120308,,,A*59
+$GPRMC,104548.00,A,5156.95884,N,00425.05845,E,48.257,144.50,120308,,,A*52
+$GPRMC,104549.00,A,5156.94793,N,00425.07110,E,47.609,144.00,120308,,,A*55
+$GPRMC,104550.00,A,5156.93698,N,00425.08332,E,46.956,144.72,120308,,,A*5C
+$GPRMC,104551.00,A,5156.92622,N,00425.09531,E,46.440,144.84,120308,,,A*5A
+$GPRMC,104552.00,A,5156.91551,N,00425.10703,E,45.846,145.27,120308,,,A*57
+$GPRMC,104553.00,A,5156.90504,N,00425.11855,E,45.654,144.84,120308,,,A*5F
+$GPRMC,104554.00,A,5156.89476,N,00425.13012,E,45.017,144.46,120308,,,A*52
+$GPRMC,104555.00,A,5156.88477,N,00425.14162,E,44.293,144.64,120308,,,A*5D
+$GPRMC,104556.00,A,5156.87475,N,00425.15291,E,43.558,145.02,120308,,,A*5B
+$GPRMC,104557.00,A,5156.86492,N,00425.16406,E,42.734,144.79,120308,,,A*5D
+$GPRMC,104558.00,A,5156.85510,N,00425.17504,E,42.151,144.86,120308,,,A*5D
+$GPRMC,104559.00,A,5156.84553,N,00425.18591,E,41.355,144.52,120308,,,A*55
+$GPRMC,104600.00,A,5156.83615,N,00425.19661,E,40.712,144.65,120308,,,A*53
+$GPRMC,104601.00,A,5156.82667,N,00425.20721,E,40.309,144.73,120308,,,A*50
+$GPRMC,104602.00,A,5156.81740,N,00425.21759,E,40.699,145.49,120308,,,A*5E
+$GPRMC,104603.00,A,5156.80816,N,00425.22795,E,40.380,144.86,120308,,,A*5E
+$GPRMC,104604.00,A,5156.79942,N,00425.23842,E,38.874,142.79,120308,,,A*52
+$GPRMC,104605.00,A,5156.79060,N,00425.24905,E,39.647,143.04,120308,,,A*5B
+$GPRMC,104606.00,A,5156.78150,N,00425.25959,E,40.418,144.23,120308,,,A*57
+$GPRMC,104607.00,A,5156.77249,N,00425.27027,E,40.376,143.47,120308,,,A*5A
+$GPRMC,104608.00,A,5156.76312,N,00425.28104,E,41.775,144.42,120308,,,A*50
+$GPRMC,104609.00,A,5156.75378,N,00425.29182,E,41.628,144.34,120308,,,A*59
+$GPRMC,104610.00,A,5156.74445,N,00425.30242,E,41.324,144.47,120308,,,A*53
+$GPRMC,104611.00,A,5156.73518,N,00425.31316,E,40.412,144.21,120308,,,A*5E
+$GPRMC,104612.00,A,5156.72598,N,00425.32384,E,40.261,143.83,120308,,,A*51
+$GPRMC,104613.00,A,5156.71675,N,00425.33452,E,39.760,143.64,120308,,,A*5D
+$GPRMC,104614.00,A,5156.70751,N,00425.34466,E,39.252,144.51,120308,,,A*59
+$GPRMC,104615.00,A,5156.69822,N,00425.35501,E,39.741,144.69,120308,,,A*56
+$GPRMC,104616.00,A,5156.68920,N,00425.36516,E,39.493,144.52,120308,,,A*56
+$GPRMC,104617.00,A,5156.67999,N,00425.37526,E,39.903,146.08,120308,,,A*51
+$GPRMC,104618.00,A,5156.67071,N,00425.38581,E,40.836,144.29,120308,,,A*5B
+$GPRMC,104619.00,A,5156.66099,N,00425.39662,E,42.000,145.09,120308,,,A*5E
+$GPRMC,104620.00,A,5156.65119,N,00425.40781,E,42.655,144.33,120308,,,A*52
+$GPRMC,104621.00,A,5156.64148,N,00425.41920,E,43.333,144.35,120308,,,A*50
+$GPRMC,104622.00,A,5156.63180,N,00425.43047,E,42.808,145.08,120308,,,A*57
+$GPRMC,104623.00,A,5156.62184,N,00425.44165,E,43.016,144.58,120308,,,A*57
+$GPRMC,104624.00,A,5156.61160,N,00425.45273,E,44.164,146.08,120308,,,A*58
+$GPRMC,104625.00,A,5156.60087,N,00425.46396,E,45.432,147.10,120308,,,A*56
+$GPRMC,104626.00,A,5156.59058,N,00425.47506,E,44.478,146.12,120308,,,A*5F
+$GPRMC,104627.00,A,5156.58052,N,00425.48603,E,43.377,145.81,120308,,,A*5A
+$GPRMC,104628.00,A,5156.57074,N,00425.49677,E,42.353,145.26,120308,,,A*56
+$GPRMC,104629.00,A,5156.56133,N,00425.50741,E,41.022,144.68,120308,,,A*55
+$GPRMC,104630.00,A,5156.55202,N,00425.51788,E,40.747,144.93,120308,,,A*5A
+$GPRMC,104631.00,A,5156.54280,N,00425.52835,E,40.440,144.47,120308,,,A*57
+$GPRMC,104632.00,A,5156.53343,N,00425.53886,E,40.867,144.65,120308,,,A*5D
+$GPRMC,104633.00,A,5156.52400,N,00425.54939,E,41.157,144.66,120308,,,A*57
+$GPRMC,104634.00,A,5156.51427,N,00425.56019,E,41.644,144.68,120308,,,A*54
+$GPRMC,104635.00,A,5156.50487,N,00425.57122,E,40.923,144.20,120308,,,A*55
+$GPRMC,104636.00,A,5156.49566,N,00425.58190,E,40.373,143.76,120308,,,A*5D
+$GPRMC,104637.00,A,5156.48654,N,00425.59257,E,39.932,144.48,120308,,,A*5D
+$GPRMC,104638.00,A,5156.47750,N,00425.60295,E,39.966,144.93,120308,,,A*5B
+$GPRMC,104639.00,A,5156.46818,N,00425.61362,E,41.480,145.52,120308,,,A*56
+$GPRMC,104640.00,A,5156.45888,N,00425.62400,E,41.107,145.76,120308,,,A*5E
+$GPRMC,104641.00,A,5156.44960,N,00425.63471,E,41.783,144.78,120308,,,A*5B
+$GPRMC,104642.00,A,5156.43961,N,00425.64547,E,44.181,147.30,120308,,,A*53
+$GPRMC,104643.00,A,5156.42916,N,00425.65678,E,46.198,147.24,120308,,,A*52
+$GPRMC,104644.00,A,5156.41854,N,00425.66863,E,47.841,146.40,120308,,,A*59
+$GPRMC,104645.00,A,5156.40751,N,00425.68102,E,48.881,146.17,120308,,,A*52
+$GPRMC,104646.00,A,5156.39661,N,00425.69358,E,48.508,145.21,120308,,,A*5B
+$GPRMC,104647.00,A,5156.38552,N,00425.70522,E,47.768,144.93,120308,,,A*58
+$GPRMC,104648.00,A,5156.37508,N,00425.71686,E,45.994,144.90,120308,,,A*57
+$GPRMC,104649.00,A,5156.36446,N,00425.72879,E,45.908,144.68,120308,,,A*53
+$GPRMC,104650.00,A,5156.35343,N,00425.74048,E,46.197,144.74,120308,,,A*56
+$GPRMC,104651.00,A,5156.34277,N,00425.75233,E,46.209,144.43,120308,,,A*5F
+$GPRMC,104652.00,A,5156.33207,N,00425.76412,E,46.485,144.94,120308,,,A*52
+$GPRMC,104653.00,A,5156.32156,N,00425.77594,E,45.087,145.34,120308,,,A*55
+$GPRMC,104654.00,A,5156.31123,N,00425.78740,E,44.760,144.92,120308,,,A*55
+$GPRMC,104655.00,A,5156.30065,N,00425.79924,E,45.865,144.80,120308,,,A*53
+$GPRMC,104656.00,A,5156.29039,N,00425.81112,E,45.623,144.52,120308,,,A*58
+$GPRMC,104657.00,A,5156.27961,N,00425.82309,E,46.382,145.13,120308,,,A*51
+$GPRMC,104658.00,A,5156.26869,N,00425.83509,E,46.302,144.86,120308,,,A*54
+$GPRMC,104659.00,A,5156.25795,N,00425.84718,E,46.351,144.66,120308,,,A*57
+$GPRMC,104700.00,A,5156.24725,N,00425.85933,E,46.135,144.55,120308,,,A*56
+$GPRMC,104701.00,A,5156.23692,N,00425.87140,E,45.799,144.47,120308,,,A*53
+$GPRMC,104702.00,A,5156.22675,N,00425.88319,E,44.539,144.51,120308,,,A*57
+$GPRMC,104703.00,A,5156.21607,N,00425.89525,E,46.266,144.30,120308,,,A*50
+$GPRMC,104704.00,A,5156.20495,N,00425.90752,E,46.605,144.37,120308,,,A*53
+$GPRMC,104705.00,A,5156.19365,N,00425.92015,E,47.569,144.07,120308,,,A*5D
+$GPRMC,104706.00,A,5156.18225,N,00425.93302,E,47.821,143.87,120308,,,A*50
+$GPRMC,104707.00,A,5156.17113,N,00425.94568,E,47.429,143.82,120308,,,A*54
+$GPRMC,104708.00,A,5156.16022,N,00425.95843,E,47.225,143.55,120308,,,A*5C
+$GPRMC,104709.00,A,5156.14969,N,00425.97111,E,46.877,143.26,120308,,,A*5D
+$GPRMC,104710.00,A,5156.13894,N,00425.98387,E,47.332,143.27,120308,,,A*59
+$GPRMC,104711.00,A,5156.12820,N,00425.99691,E,48.013,143.50,120308,,,A*5A
+$GPRMC,104712.00,A,5156.11695,N,00426.00985,E,48.776,143.43,120308,,,A*55
+$GPRMC,104713.00,A,5156.10617,N,00426.02284,E,48.009,143.04,120308,,,A*5B
+$GPRMC,104714.00,A,5156.09569,N,00426.03588,E,47.654,142.42,120308,,,A*56
+$GPRMC,104715.00,A,5156.08523,N,00426.04869,E,47.473,142.89,120308,,,A*5D
+$GPRMC,104716.00,A,5156.07466,N,00426.06132,E,47.841,143.50,120308,,,A*5C
+$GPRMC,104717.00,A,5156.06421,N,00426.07399,E,48.195,144.20,120308,,,A*52
+$GPRMC,104718.00,A,5156.05325,N,00426.08664,E,48.836,144.81,120308,,,A*5E
+$GPRMC,104719.00,A,5156.04210,N,00426.09921,E,48.979,145.31,120308,,,A*56
+$GPRMC,104720.00,A,5156.03101,N,00426.11164,E,48.558,145.08,120308,,,A*5D
+$GPRMC,104721.00,A,5156.02010,N,00426.12405,E,47.780,144.93,120308,,,A*56
+$GPRMC,104722.00,A,5156.00938,N,00426.13640,E,47.188,144.59,120308,,,A*5E
+$GPRMC,104723.00,A,5155.99870,N,00426.14882,E,47.120,144.48,120308,,,A*54
+$GPRMC,104724.00,A,5155.98833,N,00426.16090,E,45.699,144.35,120308,,,A*51
+$GPRMC,104725.00,A,5155.97819,N,00426.17260,E,44.650,144.75,120308,,,A*5B
+$GPRMC,104726.00,A,5155.96835,N,00426.18388,E,43.070,144.87,120308,,,A*51
+$GPRMC,104727.00,A,5155.95891,N,00426.19468,E,40.907,144.49,120308,,,A*5D
+$GPRMC,104728.00,A,5155.95026,N,00426.20481,E,37.939,144.75,120308,,,A*59
+$GPRMC,104729.00,A,5155.94167,N,00426.21393,E,36.277,148.38,120308,,,A*5D
+$GPRMC,104730.00,A,5155.93325,N,00426.22168,E,34.340,151.59,120308,,,A*5B
+$GPRMC,104731.00,A,5155.92599,N,00426.22763,E,29.955,154.69,120308,,,A*53
+$GPRMC,104732.00,A,5155.92064,N,00426.23286,E,23.750,155.33,120308,,,A*57
+$GPRMC,104733.00,A,5155.91553,N,00426.23603,E,20.528,161.67,120308,,,A*55
+$GPRMC,104734.00,A,5155.91068,N,00426.23838,E,18.944,164.17,120308,,,A*56
+$GPRMC,104735.00,A,5155.90518,N,00426.23916,E,19.086,172.98,120308,,,A*5F
+$GPRMC,104736.00,A,5155.90026,N,00426.23907,E,20.778,188.44,120308,,,A*5C
+$GPRMC,104737.00,A,5155.89443,N,00426.23785,E,22.215,190.55,120308,,,A*53
+$GPRMC,104738.00,A,5155.88794,N,00426.23707,E,23.983,181.99,120308,,,A*5B
+$GPRMC,104739.00,A,5155.88498,N,00426.23905,E,22.655,172.55,120308,,,A*50
+$GPRMC,104740.00,A,5155.87822,N,00426.24167,E,24.868,163.90,120308,,,A*58
+$GPRMC,104741.00,A,5155.87147,N,00426.24530,E,25.561,159.13,120308,,,A*52
+$GPRMC,104742.00,A,5155.86525,N,00426.24964,E,24.255,154.45,120308,,,A*52
+$GPRMC,104743.00,A,5155.85870,N,00426.25608,E,25.443,146.40,120308,,,A*5F
+$GPRMC,104744.00,A,5155.85392,N,00426.26391,E,24.524,138.13,120308,,,A*57
+$GPRMC,104745.00,A,5155.84966,N,00426.27196,E,24.660,133.01,120308,,,A*59
+$GPRMC,104746.00,A,5155.84667,N,00426.28242,E,25.302,126.39,120308,,,A*5E
+$GPRMC,104747.00,A,5155.84395,N,00426.29322,E,24.754,117.44,120308,,,A*5F
+$GPRMC,104748.00,A,5155.84131,N,00426.30282,E,22.007,116.49,120308,,,A*54
+$GPRMC,104749.00,A,5155.84030,N,00426.31017,E,15.673,112.26,120308,,,A*56
+$GPRMC,104750.00,A,5155.83952,N,00426.31565,E,11.285,106.66,120308,,,A*5C
+$GPRMC,104751.00,A,5155.83965,N,00426.32082,E,10.043,98.99,120308,,,A*69
+$GPRMC,104752.00,A,5155.83941,N,00426.32572,E,11.270,95.11,120308,,,A*68
+$GPRMC,104753.00,A,5155.83923,N,00426.33169,E,13.451,92.13,120308,,,A*60
+$GPRMC,104754.00,A,5155.83991,N,00426.33919,E,15.711,85.52,120308,,,A*63
+$GPRMC,104755.00,A,5155.84121,N,00426.34543,E,15.272,76.22,120308,,,A*69
+$GPRMC,104756.00,A,5155.84273,N,00426.35238,E,16.540,68.14,120308,,,A*6B
+$GPRMC,104757.00,A,5155.84481,N,00426.35874,E,16.486,62.78,120308,,,A*68
+$GPRMC,104758.00,A,5155.84853,N,00426.36626,E,19.270,50.49,120308,,,A*6D
+$GPRMC,104759.00,A,5155.85195,N,00426.37227,E,17.904,46.95,120308,,,A*6A
+$GPRMC,104800.00,A,5155.85606,N,00426.37779,E,17.501,39.91,120308,,,A*6F
+$GPRMC,104801.00,A,5155.86038,N,00426.38199,E,17.077,29.06,120308,,,A*6A
+$GPRMC,104802.00,A,5155.86434,N,00426.38512,E,14.969,22.94,120308,,,A*63
+$GPRMC,104803.00,A,5155.86773,N,00426.38676,E,12.055,15.66,120308,,,A*6A
+$GPRMC,104804.00,A,5155.86892,N,00426.38760,E,5.827,15.94,120308,,,A*5D
+$GPRMC,104805.00,A,5155.86994,N,00426.38772,E,2.919,2.51,120308,,,A*6C
+$GPRMC,104806.00,A,5155.87074,N,00426.38761,E,2.534,7.65,120308,,,A*6A
+$GPRMC,104807.00,A,5155.87169,N,00426.38761,E,3.712,4.59,120308,,,A*6D
+$GPRMC,104808.00,A,5155.87326,N,00426.38795,E,6.426,15.27,120308,,,A*58
+$GPRMC,104809.00,A,5155.87524,N,00426.38894,E,6.474,19.93,120308,,,A*57
+$GPRMC,104810.00,A,5155.87629,N,00426.38954,E,2.710,6.40,120308,,,A*69
+$GPRMC,104811.00,A,5155.87724,N,00426.39002,E,1.353,7.30,120308,,,A*69
+$GPRMC,104812.00,A,5155.87791,N,00426.39005,E,3.265,14.14,120308,,,A*51
+$GPRMC,104813.00,A,5155.87972,N,00426.38991,E,6.328,1.60,120308,,,A*6C
+$GPRMC,104814.00,A,5155.88323,N,00426.38998,E,10.324,350.75,120308,,,A*5B
+$GPRMC,104815.00,A,5155.88663,N,00426.38868,E,12.330,345.56,120308,,,A*57
+$GPRMC,104816.00,A,5155.89112,N,00426.38652,E,14.949,339.98,120308,,,A*58
+$GPRMC,104817.00,A,5155.89529,N,00426.38347,E,16.276,332.12,120308,,,A*58
+$GPRMC,104818.00,A,5155.89999,N,00426.37932,E,18.090,328.62,120308,,,A*5F
+$GPRMC,104819.00,A,5155.90450,N,00426.37447,E,18.971,325.76,120308,,,A*5F
+$GPRMC,104820.00,A,5155.90943,N,00426.36815,E,20.829,323.34,120308,,,A*57
+$GPRMC,104821.00,A,5155.91450,N,00426.36169,E,21.702,315.67,120308,,,A*5E
+$GPRMC,104822.00,A,5155.91933,N,00426.35432,E,22.653,315.34,120308,,,A*5D
+$GPRMC,104823.00,A,5155.92271,N,00426.34648,E,22.650,309.25,120308,,,A*52
+$GPRMC,104824.00,A,5155.92615,N,00426.33818,E,22.620,303.61,120308,,,A*52
+$GPRMC,104825.00,A,5155.92968,N,00426.32924,E,23.388,300.33,120308,,,A*5B
+$GPRMC,104826.00,A,5155.93287,N,00426.31938,E,23.353,294.62,120308,,,A*53
+$GPRMC,104827.00,A,5155.93506,N,00426.31046,E,21.433,289.49,120308,,,A*5A
+$GPRMC,104828.00,A,5155.93650,N,00426.30164,E,19.620,287.61,120308,,,A*5A
+$GPRMC,104829.00,A,5155.93777,N,00426.29487,E,16.026,287.27,120308,,,A*52
+$GPRMC,104830.00,A,5155.93978,N,00426.28923,E,14.631,297.91,120308,,,A*57
+$GPRMC,104831.00,A,5155.94522,N,00426.28422,E,18.864,322.09,120308,,,A*52
+$GPRMC,104832.00,A,5155.95154,N,00426.27744,E,25.525,322.30,120308,,,A*55
+$GPRMC,104833.00,A,5155.95841,N,00426.26970,E,29.667,323.52,120308,,,A*5D
+$GPRMC,104834.00,A,5155.96582,N,00426.26124,E,32.927,325.16,120308,,,A*55
+$GPRMC,104835.00,A,5155.97440,N,00426.25191,E,36.351,324.79,120308,,,A*50
+$GPRMC,104836.00,A,5155.98352,N,00426.24222,E,39.024,326.60,120308,,,A*56
+$GPRMC,104837.00,A,5155.99331,N,00426.23146,E,42.545,325.98,120308,,,A*5F
+$GPRMC,104838.00,A,5156.00398,N,00426.22037,E,44.052,325.34,120308,,,A*55
+$GPRMC,104839.00,A,5156.01447,N,00426.20913,E,44.121,324.76,120308,,,A*5F
+$GPRMC,104840.00,A,5156.02509,N,00426.19759,E,43.473,322.02,120308,,,A*53
+$GPRMC,104841.00,A,5156.03466,N,00426.18514,E,43.847,321.21,120308,,,A*58
+$GPRMC,104842.00,A,5156.04449,N,00426.17311,E,42.965,321.63,120308,,,A*5B
+$GPRMC,104843.00,A,5156.05397,N,00426.16112,E,40.644,320.34,120308,,,A*52
+$GPRMC,104844.00,A,5156.06223,N,00426.14896,E,38.681,317.49,120308,,,A*57
+$GPRMC,104845.00,A,5156.07002,N,00426.13740,E,37.178,317.97,120308,,,A*58
+$GPRMC,104846.00,A,5156.07746,N,00426.12664,E,35.816,318.35,120308,,,A*5E
+$GPRMC,104847.00,A,5156.08438,N,00426.11635,E,33.529,317.89,120308,,,A*52
+$GPRMC,104848.00,A,5156.09118,N,00426.10679,E,31.721,318.24,120308,,,A*52
+$GPRMC,104849.00,A,5156.09747,N,00426.09772,E,29.693,318.02,120308,,,A*58
+$GPRMC,104850.00,A,5156.10332,N,00426.08892,E,28.564,317.96,120308,,,A*56
+$GPRMC,104851.00,A,5156.10907,N,00426.08034,E,28.231,317.03,120308,,,A*54
+$GPRMC,104852.00,A,5156.11477,N,00426.07189,E,27.891,316.92,120308,,,A*52
+$GPRMC,104853.00,A,5156.12053,N,00426.06362,E,27.293,317.92,120308,,,A*5D
+$GPRMC,104854.00,A,5156.12597,N,00426.05521,E,27.014,316.11,120308,,,A*52
+$GPRMC,104855.00,A,5156.13148,N,00426.04639,E,27.856,315.67,120308,,,A*53
+$GPRMC,104856.00,A,5156.13723,N,00426.03816,E,28.217,316.44,120308,,,A*5D
+$GPRMC,104857.00,A,5156.14303,N,00426.02967,E,28.679,317.72,120308,,,A*53
+$GPRMC,104858.00,A,5156.14912,N,00426.02085,E,30.259,318.58,120308,,,A*5B
+$GPRMC,104859.00,A,5156.15565,N,00426.01169,E,31.994,318.79,120308,,,A*5F
+$GPRMC,104900.00,A,5156.16233,N,00426.00206,E,32.713,318.97,120308,,,A*5C
+$GPRMC,104901.00,A,5156.16931,N,00425.99235,E,33.970,319.72,120308,,,A*57
+$GPRMC,104902.00,A,5156.17653,N,00425.98234,E,34.403,319.99,120308,,,A*55
+$GPRMC,104903.00,A,5156.18398,N,00425.97242,E,34.989,320.17,120308,,,A*54
+$GPRMC,104904.00,A,5156.19176,N,00425.96168,E,37.119,320.79,120308,,,A*50
+$GPRMC,104905.00,A,5156.20027,N,00425.95091,E,38.999,322.08,120308,,,A*51
+$GPRMC,104906.00,A,5156.20928,N,00425.93952,E,40.727,321.64,120308,,,A*59
+$GPRMC,104907.00,A,5156.21824,N,00425.92783,E,41.684,321.52,120308,,,A*5B
+$GPRMC,104908.00,A,5156.22730,N,00425.91581,E,42.128,322.07,120308,,,A*5F
+$GPRMC,104909.00,A,5156.23655,N,00425.90436,E,41.742,323.69,120308,,,A*51
+$GPRMC,104910.00,A,5156.24575,N,00425.89323,E,41.114,323.95,120308,,,A*52
+$GPRMC,104911.00,A,5156.25474,N,00425.88221,E,40.324,323.06,120308,,,A*5A
+$GPRMC,104912.00,A,5156.26344,N,00425.87093,E,40.163,321.03,120308,,,A*5C
+$GPRMC,104913.00,A,5156.27212,N,00425.85936,E,40.721,321.03,120308,,,A*5A
+$GPRMC,104914.00,A,5156.28115,N,00425.84776,E,42.044,322.18,120308,,,A*52
+$GPRMC,104915.00,A,5156.29040,N,00425.83558,E,43.798,321.10,120308,,,A*56
+$GPRMC,104916.00,A,5156.30018,N,00425.82265,E,46.073,321.18,120308,,,A*57
+$GPRMC,104917.00,A,5156.31049,N,00425.80922,E,47.506,322.19,120308,,,A*5D
+$GPRMC,104918.00,A,5156.32117,N,00425.79604,E,47.441,323.58,120308,,,A*50
+$GPRMC,104919.00,A,5156.33226,N,00425.78298,E,49.027,323.77,120308,,,A*56
+$GPRMC,104920.00,A,5156.34344,N,00425.76993,E,49.115,324.65,120308,,,A*54
+$GPRMC,104921.00,A,5156.35466,N,00425.75704,E,48.968,324.99,120308,,,A*50
+$GPRMC,104922.00,A,5156.36588,N,00425.74429,E,48.938,324.97,120308,,,A*57
+$GPRMC,104923.00,A,5156.37694,N,00425.73163,E,48.491,324.74,120308,,,A*56
+$GPRMC,104924.00,A,5156.38792,N,00425.71904,E,48.084,324.76,120308,,,A*50
+$GPRMC,104925.00,A,5156.39867,N,00425.70658,E,47.633,324.46,120308,,,A*54
+$GPRMC,104926.00,A,5156.40923,N,00425.69431,E,46.587,324.71,120308,,,A*54
+$GPRMC,104927.00,A,5156.41964,N,00425.68237,E,45.779,324.90,120308,,,A*59
+$GPRMC,104928.00,A,5156.42984,N,00425.67058,E,45.329,324.42,120308,,,A*51
+$GPRMC,104929.00,A,5156.44009,N,00425.65909,E,45.160,324.91,120308,,,A*54
+$GPRMC,104930.00,A,5156.45032,N,00425.64757,E,45.403,324.84,120308,,,A*55
+$GPRMC,104931.00,A,5156.46040,N,00425.63610,E,44.743,324.91,120308,,,A*55
+$GPRMC,104932.00,A,5156.47028,N,00425.62442,E,44.716,324.73,120308,,,A*51
+$GPRMC,104933.00,A,5156.48040,N,00425.61296,E,44.571,324.82,120308,,,A*50
+$GPRMC,104934.00,A,5156.49050,N,00425.60152,E,44.776,324.74,120308,,,A*51
+$GPRMC,104935.00,A,5156.50060,N,00425.59007,E,44.779,324.68,120308,,,A*52
+$GPRMC,104936.00,A,5156.51064,N,00425.57862,E,44.238,324.65,120308,,,A*5C
+$GPRMC,104937.00,A,5156.52066,N,00425.56729,E,44.226,324.93,120308,,,A*5B
+$GPRMC,104938.00,A,5156.53077,N,00425.55585,E,44.730,324.70,120308,,,A*5D
+$GPRMC,104939.00,A,5156.54092,N,00425.54427,E,44.865,324.66,120308,,,A*50
+$GPRMC,104940.00,A,5156.55109,N,00425.53270,E,44.958,324.78,120308,,,A*5F
+$GPRMC,104941.00,A,5156.56127,N,00425.52109,E,44.983,324.72,120308,,,A*51
+$GPRMC,104942.00,A,5156.57145,N,00425.50944,E,45.121,324.93,120308,,,A*5A
+$GPRMC,104943.00,A,5156.58171,N,00425.49784,E,45.040,324.80,120308,,,A*5D
+$GPRMC,104944.00,A,5156.59201,N,00425.48604,E,45.285,324.54,120308,,,A*55
+$GPRMC,104945.00,A,5156.60237,N,00425.47417,E,45.664,324.81,120308,,,A*57
+$GPRMC,104946.00,A,5156.61278,N,00425.46223,E,45.924,324.76,120308,,,A*5D
+$GPRMC,104947.00,A,5156.62341,N,00425.45019,E,46.404,325.08,120308,,,A*58
+$GPRMC,104948.00,A,5156.63408,N,00425.43803,E,47.253,324.79,120308,,,A*5B
+$GPRMC,104949.00,A,5156.64493,N,00425.42574,E,47.270,325.14,120308,,,A*58
+$GPRMC,104950.00,A,5156.65540,N,00425.41332,E,47.505,324.72,120308,,,A*5D
+$GPRMC,104951.00,A,5156.66605,N,00425.40096,E,47.064,324.91,120308,,,A*5E
+$GPRMC,104952.00,A,5156.67676,N,00425.38876,E,47.162,325.07,120308,,,A*58
+$GPRMC,104953.00,A,5156.68746,N,00425.37661,E,47.084,325.35,120308,,,A*5B
+$GPRMC,104954.00,A,5156.69817,N,00425.36449,E,47.058,325.04,120308,,,A*5C
+$GPRMC,104955.00,A,5156.70890,N,00425.35236,E,47.087,325.11,120308,,,A*51
+$GPRMC,104956.00,A,5156.71965,N,00425.34029,E,46.785,324.96,120308,,,A*5F
+$GPRMC,104957.00,A,5156.73037,N,00425.32829,E,46.602,325.02,120308,,,A*5E
+$GPRMC,104958.00,A,5156.74105,N,00425.31640,E,46.562,325.46,120308,,,A*51
+$GPRMC,104959.00,A,5156.75182,N,00425.30459,E,46.783,325.85,120308,,,A*57
+$GPRMC,105000.00,A,5156.76258,N,00425.29288,E,46.457,325.60,120308,,,A*57
+$GPRMC,105001.00,A,5156.77322,N,00425.28108,E,46.422,325.15,120308,,,A*51
+$GPRMC,105002.00,A,5156.78386,N,00425.26922,E,46.370,324.88,120308,,,A*58
+$GPRMC,105003.00,A,5156.79445,N,00425.25730,E,46.502,325.07,120308,,,A*5B
+$GPRMC,105004.00,A,5156.80511,N,00425.24536,E,46.653,325.09,120308,,,A*56
+$GPRMC,105005.00,A,5156.81585,N,00425.23334,E,47.253,325.06,120308,,,A*52
+$GPRMC,105006.00,A,5156.82677,N,00425.22106,E,48.200,325.14,120308,,,A*54
+$GPRMC,105007.00,A,5156.83785,N,00425.20858,E,48.875,324.87,120308,,,A*5B
+$GPRMC,105008.00,A,5156.84886,N,00425.19606,E,47.916,324.86,120308,,,A*5A
+$GPRMC,105009.00,A,5156.85938,N,00425.18409,E,44.991,324.93,120308,,,A*5A
+$GPRMC,105010.00,A,5156.86877,N,00425.17309,E,40.404,324.30,120308,,,A*5F
+$GPRMC,105011.00,A,5156.87755,N,00425.16295,E,37.749,324.53,120308,,,A*5A
+$GPRMC,105012.00,A,5156.88591,N,00425.15361,E,36.023,324.93,120308,,,A*53
+$GPRMC,105013.00,A,5156.89388,N,00425.14457,E,34.904,324.70,120308,,,A*5D
+$GPRMC,105014.00,A,5156.90154,N,00425.13576,E,33.479,324.51,120308,,,A*57
+$GPRMC,105015.00,A,5156.90877,N,00425.12753,E,30.783,324.87,120308,,,A*54
+$GPRMC,105016.00,A,5156.91518,N,00425.12021,E,26.443,324.54,120308,,,A*56
+$GPRMC,105017.00,A,5156.92089,N,00425.11391,E,24.477,325.27,120308,,,A*52
+$GPRMC,105018.00,A,5156.92598,N,00425.10828,E,21.253,324.90,120308,,,A*58
+$GPRMC,105019.00,A,5156.93054,N,00425.10328,E,19.248,324.58,120308,,,A*53
+$GPRMC,105020.00,A,5156.93457,N,00425.09869,E,17.594,324.52,120308,,,A*5A
+$GPRMC,105021.00,A,5156.93823,N,00425.09455,E,15.940,324.51,120308,,,A*53
+$GPRMC,105022.00,A,5156.94154,N,00425.09079,E,14.625,324.19,120308,,,A*55
+$GPRMC,105023.00,A,5156.94449,N,00425.08727,E,12.826,324.26,120308,,,A*57
+$GPRMC,105024.00,A,5156.94702,N,00425.08450,E,10.179,325.31,120308,,,A*59
+$GPRMC,105025.00,A,5156.94897,N,00425.08242,E,7.894,325.05,120308,,,A*65
+$GPRMC,105026.00,A,5156.95045,N,00425.08084,E,6.138,325.13,120308,,,A*61
+$GPRMC,105027.00,A,5156.95141,N,00425.07982,E,3.363,325.06,120308,,,A*68
+$GPRMC,105028.00,A,5156.95196,N,00425.07913,E,2.375,324.63,120308,,,A*61
+$GPRMC,105029.00,A,5156.95238,N,00425.07860,E,2.040,325.43,120308,,,A*64
+$GPRMC,105030.00,A,5156.95261,N,00425.07828,E,2.261,324.53,120308,,,A*6D
+$GPRMC,105031.00,A,5156.95313,N,00425.07762,E,4.062,324.43,120308,,,A*6F
+$GPRMC,105032.00,A,5156.95406,N,00425.07653,E,5.293,324.60,120308,,,A*60
+$GPRMC,105033.00,A,5156.95520,N,00425.07521,E,5.968,324.24,120308,,,A*6D
+$GPRMC,105034.00,A,5156.95649,N,00425.07382,E,6.532,324.50,120308,,,A*6A
+$GPRMC,105035.00,A,5156.95798,N,00425.07223,E,7.251,325.55,120308,,,A*6B
+$GPRMC,105036.00,A,5156.95966,N,00425.07045,E,7.680,325.50,120308,,,A*68
+$GPRMC,105037.00,A,5156.96141,N,00425.06859,E,8.182,326.42,120308,,,A*69
+$GPRMC,105038.00,A,5156.96304,N,00425.06677,E,7.305,324.23,120308,,,A*60
+$GPRMC,105039.00,A,5156.96456,N,00425.06502,E,7.156,324.72,120308,,,A*60
+$GPRMC,105040.00,A,5156.96609,N,00425.06330,E,7.129,324.56,120308,,,A*6F
+$GPRMC,105041.00,A,5156.96762,N,00425.06158,E,7.073,324.62,120308,,,A*67
+$GPRMC,105042.00,A,5156.96907,N,00425.05985,E,7.005,325.09,120308,,,A*6F
+$GPRMC,105043.00,A,5156.97050,N,00425.05816,E,6.910,325.45,120308,,,A*6B
+$GPRMC,105044.00,A,5156.97194,N,00425.05650,E,6.617,325.49,120308,,,A*6D
+$GPRMC,105045.00,A,5156.97316,N,00425.05502,E,5.899,325.52,120308,,,A*61
+$GPRMC,105046.00,A,5156.97438,N,00425.05349,E,6.388,325.05,120308,,,A*6A
+$GPRMC,105047.00,A,5156.97573,N,00425.05187,E,6.625,326.10,120308,,,A*60
+$GPRMC,105048.00,A,5156.97710,N,00425.05022,E,6.560,324.69,120308,,,A*68
+$GPRMC,105049.00,A,5156.97866,N,00425.04842,E,7.554,325.10,120308,,,A*61
+$GPRMC,105050.00,A,5156.98036,N,00425.04647,E,7.667,325.07,120308,,,A*65
+$GPRMC,105051.00,A,5156.98212,N,00425.04442,E,8.060,325.13,120308,,,A*6C
+$GPRMC,105052.00,A,5156.98402,N,00425.04221,E,8.800,324.55,120308,,,A*66
+$GPRMC,105053.00,A,5156.98602,N,00425.03984,E,9.106,324.77,120308,,,A*68
+$GPRMC,105054.00,A,5156.98807,N,00425.03741,E,9.175,324.50,120308,,,A*62
+$GPRMC,105055.00,A,5156.99014,N,00425.03499,E,9.172,324.69,120308,,,A*63
+$GPRMC,105056.00,A,5156.99228,N,00425.03259,E,9.560,324.93,120308,,,A*65
+$GPRMC,105057.00,A,5156.99461,N,00425.02994,E,10.923,324.83,120308,,,A*56
+$GPRMC,105058.00,A,5156.99732,N,00425.02691,E,12.283,324.78,120308,,,A*51
+$GPRMC,105059.00,A,5157.00031,N,00425.02357,E,13.588,325.51,120308,,,A*5D
+$GPRMC,105100.00,A,5157.00364,N,00425.01985,E,14.984,324.91,120308,,,A*5F
+$GPRMC,105101.00,A,5157.00719,N,00425.01582,E,15.912,324.68,120308,,,A*53
+$GPRMC,105102.00,A,5157.01083,N,00425.01195,E,15.298,328.89,120308,,,A*5D
+$GPRMC,105103.00,A,5157.01451,N,00425.00825,E,15.827,328.14,120308,,,A*5E
+$GPRMC,105104.00,A,5157.01798,N,00425.00391,E,15.610,323.14,120308,,,A*5A
+$GPRMC,105105.00,A,5157.02163,N,00424.99875,E,16.962,323.64,120308,,,A*54
+$GPRMC,105106.00,A,5157.02509,N,00424.99391,E,17.116,322.79,120308,,,A*59
+$GPRMC,105107.00,A,5157.02962,N,00424.98898,E,19.442,324.67,120308,,,A*59
+$GPRMC,105108.00,A,5157.03436,N,00424.98360,E,20.976,324.70,120308,,,A*51
+$GPRMC,105109.00,A,5157.03938,N,00424.97756,E,22.994,324.93,120308,,,A*5E
+$GPRMC,105110.00,A,5157.04486,N,00424.97125,E,24.096,324.85,120308,,,A*51
+$GPRMC,105111.00,A,5157.05064,N,00424.96466,E,24.751,324.87,120308,,,A*54
+$GPRMC,105112.00,A,5157.05652,N,00424.95791,E,25.902,324.74,120308,,,A*59
+$GPRMC,105113.00,A,5157.06268,N,00424.95079,E,27.193,324.77,120308,,,A*56
+$GPRMC,105114.00,A,5157.06909,N,00424.94351,E,28.036,324.86,120308,,,A*5A
+$GPRMC,105115.00,A,5157.07569,N,00424.93617,E,28.732,325.32,120308,,,A*5D
+$GPRMC,105116.00,A,5157.08242,N,00424.92883,E,29.218,325.90,120308,,,A*59
+$GPRMC,105117.00,A,5157.08917,N,00424.92147,E,28.747,326.59,120308,,,A*5A
+$GPRMC,105118.00,A,5157.09583,N,00424.91446,E,28.229,328.20,120308,,,A*5F
+$GPRMC,105119.00,A,5157.10248,N,00424.90789,E,27.843,328.88,120308,,,A*5C
+$GPRMC,105120.00,A,5157.10882,N,00424.90154,E,26.224,328.71,120308,,,A*50
+$GPRMC,105121.00,A,5157.11472,N,00424.89588,E,23.896,329.89,120308,,,A*5E
+$GPRMC,105122.00,A,5157.12019,N,00424.89082,E,21.708,330.32,120308,,,A*5A
+$GPRMC,105123.00,A,5157.12522,N,00424.88604,E,20.899,328.77,120308,,,A*51
+$GPRMC,105124.00,A,5157.12925,N,00424.88184,E,17.168,329.16,120308,,,A*57
+$GPRMC,105125.00,A,5157.13386,N,00424.87773,E,18.757,330.50,120308,,,A*5A
+$GPRMC,105126.00,A,5157.13906,N,00424.87356,E,20.763,332.20,120308,,,A*51
+$GPRMC,105127.00,A,5157.14417,N,00424.86932,E,20.459,333.65,120308,,,A*59
+$GPRMC,105128.00,A,5157.14916,N,00424.86541,E,19.733,333.98,120308,,,A*55
+$GPRMC,105129.00,A,5157.15387,N,00424.86175,E,18.110,334.16,120308,,,A*53
+$GPRMC,105130.00,A,5157.15798,N,00424.85917,E,15.148,334.34,120308,,,A*5E
+$GPRMC,105131.00,A,5157.16125,N,00424.85704,E,12.146,333.48,120308,,,A*55
+$GPRMC,105132.00,A,5157.16371,N,00424.85535,E,8.966,334.03,120308,,,A*6C
+$GPRMC,105133.00,A,5157.16553,N,00424.85408,E,6.268,334.30,120308,,,A*6F
+$GPRMC,105134.00,A,5157.16685,N,00424.85325,E,5.169,334.30,120308,,,A*69
+$GPRMC,105135.00,A,5157.16804,N,00424.85245,E,5.117,334.14,120308,,,A*67
+$GPRMC,105136.00,A,5157.16916,N,00424.85174,E,4.839,333.68,120308,,,A*6F
+$GPRMC,105137.00,A,5157.17005,N,00424.85112,E,3.235,334.99,120308,,,A*6C
+$GPRMC,105138.00,A,5157.17048,N,00424.85083,E,1.213,334.84,120308,,,A*69
+$GPRMC,105139.00,A,5157.17053,N,00424.85073,E,0.125,335.45,120308,,,A*66
+$GPRMC,105140.00,A,5157.17045,N,00424.85087,E,0.021,333.64,120308,,,A*64
+$GPRMC,105141.00,A,5157.17042,N,00424.85091,E,0.201,324.85,120308,,,A*6C
+$GPRMC,105142.00,A,5157.17039,N,00424.85085,E,0.103,329.36,120308,,,A*62
+$GPRMC,105143.00,A,5157.17040,N,00424.85076,E,0.055,324.99,120308,,,A*6B
+$GPRMC,105144.00,A,5157.17035,N,00424.85065,E,0.065,325.00,120308,,,A*6E
+$GPRMC,105145.00,A,5157.17063,N,00424.85034,E,1.961,326.32,120308,,,A*66
+$GPRMC,105146.00,A,5157.17159,N,00424.84954,E,5.297,333.95,120308,,,A*6C
+$GPRMC,105147.00,A,5157.17336,N,00424.84812,E,8.349,333.70,120308,,,A*61
+$GPRMC,105148.00,A,5157.17568,N,00424.84631,E,9.664,334.24,120308,,,A*61
+$GPRMC,105149.00,A,5157.17821,N,00424.84446,E,9.701,334.50,120308,,,A*63
+$GPRMC,105150.00,A,5157.18072,N,00424.84264,E,9.613,334.74,120308,,,A*68
+$GPRMC,105151.00,A,5157.18304,N,00424.84090,E,8.458,334.52,120308,,,A*6A
+$GPRMC,105152.00,A,5157.18498,N,00424.83947,E,6.756,334.65,120308,,,A*68
+$GPRMC,105153.00,A,5157.18664,N,00424.83831,E,6.675,335.90,120308,,,A*63
+$GPRMC,105154.00,A,5157.18821,N,00424.83717,E,5.927,335.02,120308,,,A*60
+$GPRMC,105155.00,A,5157.18961,N,00424.83615,E,5.127,334.26,120308,,,A*68
+$GPRMC,105156.00,A,5157.19088,N,00424.83519,E,4.621,334.35,120308,,,A*69
+$GPRMC,105157.00,A,5157.19201,N,00424.83434,E,4.190,334.42,120308,,,A*68
+$GPRMC,105158.00,A,5157.19303,N,00424.83358,E,3.815,333.67,120308,,,A*6A
+$GPRMC,105159.00,A,5157.19397,N,00424.83281,E,4.045,333.18,120308,,,A*61
+$GPRMC,105200.00,A,5157.19510,N,00424.83191,E,4.973,334.01,120308,,,A*66
+$GPRMC,105201.00,A,5157.19647,N,00424.83081,E,5.898,333.61,120308,,,A*62
+$GPRMC,105202.00,A,5157.19810,N,00424.82960,E,7.251,334.86,120308,,,A*69
+$GPRMC,105203.00,A,5157.20019,N,00424.82796,E,9.231,334.52,120308,,,A*65
+$GPRMC,105204.00,A,5157.20289,N,00424.82589,E,12.013,334.00,120308,,,A*5A
+$GPRMC,105205.00,A,5157.20644,N,00424.82312,E,14.757,334.07,120308,,,A*5C
+$GPRMC,105206.00,A,5157.21064,N,00424.81986,E,17.830,334.28,120308,,,A*5E
+$GPRMC,105207.00,A,5157.21557,N,00424.81609,E,20.695,334.43,120308,,,A*5A
+$GPRMC,105208.00,A,5157.22097,N,00424.81196,E,21.561,334.57,120308,,,A*52
+$GPRMC,105209.00,A,5157.22650,N,00424.80773,E,21.594,334.64,120308,,,A*58
+$GPRMC,105210.00,A,5157.23215,N,00424.80334,E,22.446,334.49,120308,,,A*51
+$GPRMC,105211.00,A,5157.23799,N,00424.79878,E,23.531,334.70,120308,,,A*5E
+$GPRMC,105212.00,A,5157.24424,N,00424.79392,E,25.224,334.18,120308,,,A*5B
+$GPRMC,105213.00,A,5157.25071,N,00424.78880,E,26.091,333.89,120308,,,A*56
+$GPRMC,105214.00,A,5157.25728,N,00424.78367,E,25.753,334.98,120308,,,A*55
+$GPRMC,105215.00,A,5157.26362,N,00424.77854,E,24.979,333.97,120308,,,A*56
+$GPRMC,105216.00,A,5157.26983,N,00424.77365,E,24.036,334.11,120308,,,A*52
+$GPRMC,105217.00,A,5157.27530,N,00424.76926,E,20.336,334.45,120308,,,A*5C
+$GPRMC,105218.00,A,5157.27980,N,00424.76569,E,16.372,334.42,120308,,,A*51
+$GPRMC,105219.00,A,5157.28356,N,00424.76274,E,14.070,334.06,120308,,,A*56
+$GPRMC,105220.00,A,5157.28683,N,00424.76022,E,12.374,334.82,120308,,,A*5D
+$GPRMC,105221.00,A,5157.28966,N,00424.75810,E,10.674,335.34,120308,,,A*59
+$GPRMC,105222.00,A,5157.29214,N,00424.75623,E,9.569,335.75,120308,,,A*69
+$GPRMC,105223.00,A,5157.29444,N,00424.75443,E,9.416,334.71,120308,,,A*63
+$GPRMC,105224.00,A,5157.29684,N,00424.75247,E,10.188,333.86,120308,,,A*5D
+$GPRMC,105225.00,A,5157.29946,N,00424.75027,E,11.147,331.44,120308,,,A*57
+$GPRMC,105226.00,A,5157.30229,N,00424.74807,E,11.449,334.02,120308,,,A*59
+$GPRMC,105227.00,A,5157.30516,N,00424.74588,E,11.228,333.18,120308,,,A*54
+$GPRMC,105228.00,A,5157.30795,N,00424.74383,E,11.035,334.46,120308,,,A*5D
+$GPRMC,105229.00,A,5157.31060,N,00424.74171,E,10.761,334.50,120308,,,A*5F
+$GPRMC,105230.00,A,5157.31336,N,00424.73972,E,10.906,334.64,120308,,,A*53
+$GPRMC,105231.00,A,5157.31629,N,00424.73750,E,12.109,334.31,120308,,,A*52
+$GPRMC,105232.00,A,5157.31953,N,00424.73490,E,13.986,334.19,120308,,,A*58
+$GPRMC,105233.00,A,5157.32330,N,00424.73186,E,16.149,334.14,120308,,,A*54
+$GPRMC,105234.00,A,5157.32743,N,00424.72854,E,16.899,334.53,120308,,,A*53
+$GPRMC,105235.00,A,5157.33169,N,00424.72518,E,17.100,334.39,120308,,,A*5C
+$GPRMC,105236.00,A,5157.33606,N,00424.72172,E,17.833,333.44,120308,,,A*5D
+$GPRMC,105237.00,A,5157.34059,N,00424.71806,E,18.401,333.85,120308,,,A*51
+$GPRMC,105238.00,A,5157.34505,N,00424.71450,E,17.481,334.59,120308,,,A*5C
+$GPRMC,105239.00,A,5157.34903,N,00424.71139,E,14.587,334.69,120308,,,A*5A
+$GPRMC,105240.00,A,5157.35237,N,00424.70886,E,12.315,336.03,120308,,,A*50
+$GPRMC,105241.00,A,5157.35519,N,00424.70670,E,10.560,333.89,120308,,,A*5C
+$GPRMC,105242.00,A,5157.35770,N,00424.70471,E,9.905,333.44,120308,,,A*67
+$GPRMC,105243.00,A,5157.36003,N,00424.70289,E,9.177,335.08,120308,,,A*64
+$GPRMC,105244.00,A,5157.36217,N,00424.70142,E,7.919,334.64,120308,,,A*65
+$GPRMC,105245.00,A,5157.36411,N,00424.70015,E,7.338,334.80,120308,,,A*64
+$GPRMC,105246.00,A,5157.36596,N,00424.69884,E,7.506,334.58,120308,,,A*6F
+$GPRMC,105247.00,A,5157.36778,N,00424.69751,E,7.275,334.24,120308,,,A*63
+$GPRMC,105248.00,A,5157.36957,N,00424.69621,E,7.104,333.99,120308,,,A*6D
+$GPRMC,105249.00,A,5157.37129,N,00424.69505,E,6.349,334.38,120308,,,A*6F
+$GPRMC,105250.00,A,5157.37284,N,00424.69419,E,5.462,339.99,120308,,,A*64
+$GPRMC,105251.00,A,5157.37414,N,00424.69333,E,4.821,334.30,120308,,,A*61
+$GPRMC,105252.00,A,5157.37533,N,00424.69242,E,4.987,334.38,120308,,,A*64
+$GPRMC,105253.00,A,5157.37676,N,00424.69133,E,6.438,334.24,120308,,,A*64
+$GPRMC,105254.00,A,5157.37854,N,00424.68988,E,7.825,333.50,120308,,,A*61
+$GPRMC,105255.00,A,5157.38048,N,00424.68830,E,7.716,331.88,120308,,,A*60
+$GPRMC,105256.00,A,5157.38243,N,00424.68657,E,7.941,331.07,120308,,,A*6E
+$GPRMC,105257.00,A,5157.38459,N,00424.68496,E,8.603,334.31,120308,,,A*6B
+$GPRMC,105258.00,A,5157.38678,N,00424.68330,E,8.819,336.69,120308,,,A*64
+$GPRMC,105259.00,A,5157.38905,N,00424.68154,E,9.098,337.64,120308,,,A*6C
+$GPRMC,105300.00,A,5157.39142,N,00424.67966,E,9.244,334.39,120308,,,A*65
+$GPRMC,105301.00,A,5157.39376,N,00424.67770,E,9.512,334.73,120308,,,A*62
+$GPRMC,105302.00,A,5157.39613,N,00424.67569,E,9.445,334.12,120308,,,A*69
+$GPRMC,105303.00,A,5157.39832,N,00424.67380,E,8.553,334.93,120308,,,A*6A
+$GPRMC,105304.00,A,5157.40032,N,00424.67206,E,8.029,335.12,120308,,,A*64
+$GPRMC,105305.00,A,5157.40233,N,00424.67036,E,8.141,334.47,120308,,,A*69
+$GPRMC,105306.00,A,5157.40426,N,00424.66872,E,7.826,335.30,120308,,,A*67
+$GPRMC,105307.00,A,5157.40615,N,00424.66720,E,7.390,334.26,120308,,,A*6C
+$GPRMC,105308.00,A,5157.40781,N,00424.66588,E,6.007,334.36,120308,,,A*62
+$GPRMC,105309.00,A,5157.40898,N,00424.66497,E,3.833,334.09,120308,,,A*6D
+$GPRMC,105310.00,A,5157.40953,N,00424.66468,E,0.838,334.34,120308,,,A*65
+$GPRMC,105311.00,A,5157.40963,N,00424.66479,E,0.152,338.46,120308,,,A*6B
+$GPRMC,105312.00,A,5157.40961,N,00424.66498,E,0.061,333.51,120308,,,A*69
+$GPRMC,105313.00,A,5157.40978,N,00424.66508,E,0.774,333.93,120308,,,A*65
+$GPRMC,105314.00,A,5157.41036,N,00424.66477,E,3.231,332.66,120308,,,A*65
+$GPRMC,105315.00,A,5157.41134,N,00424.66421,E,3.910,333.50,120308,,,A*68
+$GPRMC,105316.00,A,5157.41249,N,00424.66348,E,4.658,334.76,120308,,,A*6D
+$GPRMC,105317.00,A,5157.41377,N,00424.66263,E,4.779,333.10,120308,,,A*6D
+$GPRMC,105318.00,A,5157.41500,N,00424.66175,E,4.806,334.29,120308,,,A*6A
+$GPRMC,105319.00,A,5157.41620,N,00424.66078,E,5.740,334.57,120308,,,A*63
+$GPRMC,105320.00,A,5157.41779,N,00424.65951,E,7.690,334.67,120308,,,A*68
+$GPRMC,105321.00,A,5157.42002,N,00424.65771,E,10.522,334.11,120308,,,A*50
+$GPRMC,105322.00,A,5157.42292,N,00424.65546,E,12.938,334.58,120308,,,A*56
+$GPRMC,105323.00,A,5157.42616,N,00424.65293,E,13.225,334.57,120308,,,A*59
+$GPRMC,105324.00,A,5157.42938,N,00424.65049,E,12.357,336.47,120308,,,A*5E
+$GPRMC,105325.00,A,5157.43230,N,00424.64832,E,10.589,335.41,120308,,,A*5A
+$GPRMC,105326.00,A,5157.43512,N,00424.64624,E,11.092,336.87,120308,,,A*50
+$GPRMC,105327.00,A,5157.43805,N,00424.64391,E,11.783,332.99,120308,,,A*5D
+$GPRMC,105328.00,A,5157.44104,N,00424.64147,E,12.344,334.11,120308,,,A*5E
+$GPRMC,105329.00,A,5157.44425,N,00424.63892,E,13.375,334.43,120308,,,A*5B
+$GPRMC,105330.00,A,5157.44782,N,00424.63602,E,15.320,334.33,120308,,,A*5B
+$GPRMC,105331.00,A,5157.45202,N,00424.63264,E,18.118,334.22,120308,,,A*56
+$GPRMC,105332.00,A,5157.45683,N,00424.62872,E,20.645,334.27,120308,,,A*55
+$GPRMC,105333.00,A,5157.46217,N,00424.62443,E,22.001,334.12,120308,,,A*52
+$GPRMC,105334.00,A,5157.46767,N,00424.62010,E,21.630,334.47,120308,,,A*52
+$GPRMC,105335.00,A,5157.47319,N,00424.61586,E,22.177,335.37,120308,,,A*57
+$GPRMC,105336.00,A,5157.47904,N,00424.61143,E,23.793,335.32,120308,,,A*57
+$GPRMC,105337.00,A,5157.48527,N,00424.60657,E,24.980,334.14,120308,,,A*59
+$GPRMC,105338.00,A,5157.49160,N,00424.60148,E,25.585,334.33,120308,,,A*54
+$GPRMC,105339.00,A,5157.49807,N,00424.59630,E,26.213,334.12,120308,,,A*57
+$GPRMC,105340.00,A,5157.50462,N,00424.59098,E,26.298,334.13,120308,,,A*58
+$GPRMC,105341.00,A,5157.51104,N,00424.58579,E,25.279,334.21,120308,,,A*5B
+$GPRMC,105342.00,A,5157.51722,N,00424.58078,E,24.433,334.10,120308,,,A*55
+$GPRMC,105343.00,A,5157.52320,N,00424.57596,E,23.440,333.89,120308,,,A*5F
+$GPRMC,105344.00,A,5157.52894,N,00424.57138,E,22.375,333.99,120308,,,A*5D
+$GPRMC,105345.00,A,5157.53442,N,00424.56704,E,21.482,334.21,120308,,,A*5A
+$GPRMC,105346.00,A,5157.53967,N,00424.56291,E,20.545,334.33,120308,,,A*52
+$GPRMC,105347.00,A,5157.54469,N,00424.55895,E,19.566,334.37,120308,,,A*55
+$GPRMC,105348.00,A,5157.54950,N,00424.55514,E,19.021,334.22,120308,,,A*5B
+$GPRMC,105349.00,A,5157.55421,N,00424.55130,E,18.810,334.50,120308,,,A*5C
+$GPRMC,105350.00,A,5157.55885,N,00424.54762,E,18.543,334.02,120308,,,A*5A
+$GPRMC,105351.00,A,5157.56337,N,00424.54402,E,18.022,334.21,120308,,,A*5C
+$GPRMC,105352.00,A,5157.56778,N,00424.54049,E,17.519,334.45,120308,,,A*5B
+$GPRMC,105353.00,A,5157.57216,N,00424.53709,E,17.333,334.65,120308,,,A*5E
+$GPRMC,105354.00,A,5157.57656,N,00424.53369,E,18.026,334.45,120308,,,A*51
+$GPRMC,105355.00,A,5157.58118,N,00424.53011,E,18.932,334.25,120308,,,A*54
+$GPRMC,105356.00,A,5157.58595,N,00424.52638,E,19.391,333.92,120308,,,A*53
+$GPRMC,105357.00,A,5157.59078,N,00424.52255,E,19.346,333.86,120308,,,A*55
+$GPRMC,105358.00,A,5157.59558,N,00424.51882,E,19.001,334.34,120308,,,A*50
+$GPRMC,105359.00,A,5157.60021,N,00424.51526,E,18.104,334.74,120308,,,A*52
+$GPRMC,105400.00,A,5157.60471,N,00424.51180,E,17.672,334.48,120308,,,A*56
+$GPRMC,105401.00,A,5157.60917,N,00424.50836,E,17.789,334.33,120308,,,A*56
+$GPRMC,105402.00,A,5157.61364,N,00424.50487,E,17.943,334.12,120308,,,A*57
+$GPRMC,105403.00,A,5157.61810,N,00424.50137,E,17.692,334.20,120308,,,A*52
+$GPRMC,105404.00,A,5157.62258,N,00424.49786,E,17.989,334.00,120308,,,A*53
+$GPRMC,105405.00,A,5157.62704,N,00424.49430,E,17.578,333.52,120308,,,A*52
+$GPRMC,105406.00,A,5157.63134,N,00424.49102,E,16.540,335.41,120308,,,A*5F
+$GPRMC,105407.00,A,5157.63552,N,00424.48792,E,16.329,335.56,120308,,,A*5B
+$GPRMC,105408.00,A,5157.63946,N,00424.48480,E,15.601,335.24,120308,,,A*54
+$GPRMC,105409.00,A,5157.64316,N,00424.48182,E,14.748,335.30,120308,,,A*52
+$GPRMC,105410.00,A,5157.64656,N,00424.47910,E,13.294,335.30,120308,,,A*54
+$GPRMC,105411.00,A,5157.64945,N,00424.47641,E,11.996,331.78,120308,,,A*50
+$GPRMC,105412.00,A,5157.65247,N,00424.47374,E,12.677,331.89,120308,,,A*55
+$GPRMC,105413.00,A,5157.65545,N,00424.47078,E,13.443,331.09,120308,,,A*52
+$GPRMC,105414.00,A,5157.65890,N,00424.46810,E,13.553,334.66,120308,,,A*5B
+$GPRMC,105415.00,A,5157.66208,N,00424.46545,E,12.736,335.09,120308,,,A*57
+$GPRMC,105416.00,A,5157.66523,N,00424.46312,E,11.902,334.74,120308,,,A*5F
+$GPRMC,105417.00,A,5157.66799,N,00424.46076,E,11.555,335.15,120308,,,A*54
+$GPRMC,105418.00,A,5157.67063,N,00424.45848,E,11.111,334.27,120308,,,A*5A
+$GPRMC,105419.00,A,5157.67349,N,00424.45626,E,11.887,334.61,120308,,,A*52
+$GPRMC,105420.00,A,5157.67659,N,00424.45385,E,13.303,334.53,120308,,,A*54
+$GPRMC,105421.00,A,5157.68011,N,00424.45112,E,14.622,334.16,120308,,,A*5C
+$GPRMC,105422.00,A,5157.68416,N,00424.44816,E,16.389,334.05,120308,,,A*54
+$GPRMC,105423.00,A,5157.68907,N,00424.44452,E,21.105,333.97,120308,,,A*5A
+$GPRMC,105424.00,A,5157.69495,N,00424.44010,E,24.504,334.31,120308,,,A*53
+$GPRMC,105425.00,A,5157.70128,N,00424.43544,E,24.550,335.07,120308,,,A*5F
+$GPRMC,105426.00,A,5157.70737,N,00424.43094,E,23.305,335.77,120308,,,A*5A
+$GPRMC,105427.00,A,5157.71314,N,00424.42670,E,21.913,335.88,120308,,,A*5D
+$GPRMC,105428.00,A,5157.71892,N,00424.42293,E,21.840,337.78,120308,,,A*54
+$GPRMC,105429.00,A,5157.72492,N,00424.41907,E,23.677,337.41,120308,,,A*5D
+$GPRMC,105430.00,A,5157.73125,N,00424.41479,E,24.777,336.62,120308,,,A*5F
+$GPRMC,105431.00,A,5157.73765,N,00424.41026,E,25.067,335.77,120308,,,A*52
+$GPRMC,105432.00,A,5157.74396,N,00424.40557,E,24.723,335.48,120308,,,A*56
+$GPRMC,105433.00,A,5157.75008,N,00424.40084,E,24.044,334.86,120308,,,A*5C
+$GPRMC,105434.00,A,5157.75614,N,00424.39609,E,24.401,334.67,120308,,,A*57
+$GPRMC,105435.00,A,5157.76235,N,00424.39120,E,25.155,334.46,120308,,,A*58
+$GPRMC,105436.00,A,5157.76855,N,00424.38627,E,24.628,334.28,120308,,,A*52
+$GPRMC,105437.00,A,5157.77444,N,00424.38157,E,22.578,334.28,120308,,,A*5E
+$GPRMC,105438.00,A,5157.77996,N,00424.37721,E,21.343,334.16,120308,,,A*5B
+$GPRMC,105439.00,A,5157.78494,N,00424.37323,E,18.609,333.80,120308,,,A*55
+$GPRMC,105440.00,A,5157.78915,N,00424.36986,E,15.063,333.71,120308,,,A*52
+$GPRMC,105441.00,A,5157.79256,N,00424.36705,E,12.987,334.73,120308,,,A*5A
+$GPRMC,105442.00,A,5157.79556,N,00424.36464,E,11.568,333.61,120308,,,A*50
+$GPRMC,105443.00,A,5157.79817,N,00424.36253,E,10.202,334.66,120308,,,A*51
+$GPRMC,105444.00,A,5157.80017,N,00424.36090,E,7.075,334.91,120308,,,A*69
+$GPRMC,105445.00,A,5157.80140,N,00424.35979,E,5.011,336.55,120308,,,A*6C
+$GPRMC,105446.00,A,5157.80229,N,00424.35900,E,4.020,335.12,120308,,,A*6E
+$GPRMC,105447.00,A,5157.80307,N,00424.35838,E,3.741,335.62,120308,,,A*68
+$GPRMC,105448.00,A,5157.80391,N,00424.35781,E,3.515,335.54,120308,,,A*63
+$GPRMC,105449.00,A,5157.80494,N,00424.35722,E,3.503,334.66,120308,,,A*6E
+$GPRMC,105450.00,A,5157.80571,N,00424.35666,E,3.228,336.10,120308,,,A*60
+$GPRMC,105451.00,A,5157.80666,N,00424.35591,E,4.881,334.71,120308,,,A*64
+$GPRMC,105452.00,A,5157.80815,N,00424.35469,E,7.278,329.67,120308,,,A*6F
+$GPRMC,105453.00,A,5157.81056,N,00424.35311,E,9.869,335.00,120308,,,A*60
+$GPRMC,105454.00,A,5157.81340,N,00424.35104,E,12.566,334.56,120308,,,A*5F
+$GPRMC,105455.00,A,5157.81686,N,00424.34841,E,15.014,335.09,120308,,,A*54
+$GPRMC,105456.00,A,5157.82065,N,00424.34529,E,15.659,332.75,120308,,,A*5F
+$GPRMC,105457.00,A,5157.82501,N,00424.34194,E,17.893,333.71,120308,,,A*54
+$GPRMC,105458.00,A,5157.82965,N,00424.33828,E,19.044,333.93,120308,,,A*5C
+$GPRMC,105459.00,A,5157.83433,N,00424.33456,E,18.741,334.34,120308,,,A*5E
+$GPRMC,105500.00,A,5157.83876,N,00424.33107,E,16.851,334.54,120308,,,A*59
+$GPRMC,105501.00,A,5157.84269,N,00424.32803,E,14.625,334.51,120308,,,A*5D
+$GPRMC,105502.00,A,5157.84602,N,00424.32542,E,12.164,334.39,120308,,,A*55
+$GPRMC,105503.00,A,5157.84897,N,00424.32323,E,11.038,333.90,120308,,,A*58
+$GPRMC,105504.00,A,5157.85178,N,00424.32117,E,11.052,335.00,120308,,,A*50
+$GPRMC,105505.00,A,5157.85473,N,00424.31896,E,12.175,333.21,120308,,,A*5E
+$GPRMC,105506.00,A,5157.85785,N,00424.31658,E,12.521,334.43,120308,,,A*5D
+$GPRMC,105507.00,A,5157.86087,N,00424.31428,E,11.603,334.62,120308,,,A*5C
+$GPRMC,105508.00,A,5157.86332,N,00424.31241,E,8.418,334.61,120308,,,A*64
+$GPRMC,105509.00,A,5157.86503,N,00424.31117,E,5.218,335.02,120308,,,A*6E
+$GPRMC,105510.00,A,5157.86612,N,00424.31036,E,3.788,334.89,120308,,,A*6F
+$GPRMC,105511.00,A,5157.86695,N,00424.30973,E,3.221,334.56,120308,,,A*6C
+$GPRMC,105512.00,A,5157.86767,N,00424.30920,E,2.864,334.54,120308,,,A*6D
+$GPRMC,105513.00,A,5157.86850,N,00424.30857,E,4.103,334.40,120308,,,A*6D
+$GPRMC,105514.00,A,5157.86983,N,00424.30748,E,6.882,333.75,120308,,,A*67
+$GPRMC,105515.00,A,5157.87179,N,00424.30586,E,9.102,333.48,120308,,,A*6A
+$GPRMC,105516.00,A,5157.87435,N,00424.30375,E,11.696,333.79,120308,,,A*5F
+$GPRMC,105517.00,A,5157.87746,N,00424.30123,E,13.122,332.52,120308,,,A*5A
+$GPRMC,105518.00,A,5157.88075,N,00424.29878,E,12.836,334.56,120308,,,A*5D
+$GPRMC,105519.00,A,5157.88409,N,00424.29623,E,13.566,334.45,120308,,,A*58
+$GPRMC,105520.00,A,5157.88770,N,00424.29353,E,14.615,334.41,120308,,,A*59
+$GPRMC,105521.00,A,5157.89148,N,00424.29066,E,15.160,334.50,120308,,,A*55
+$GPRMC,105522.00,A,5157.89541,N,00424.28770,E,15.687,334.44,120308,,,A*51
+$GPRMC,105523.00,A,5157.89946,N,00424.28460,E,16.181,334.27,120308,,,A*5E
+$GPRMC,105524.00,A,5157.90353,N,00424.28140,E,16.226,334.10,120308,,,A*52
+$GPRMC,105525.00,A,5157.90756,N,00424.27828,E,15.758,334.78,120308,,,A*5B
+$GPRMC,105526.00,A,5157.91143,N,00424.27530,E,14.957,334.59,120308,,,A*5C
+$GPRMC,105527.00,A,5157.91501,N,00424.27254,E,13.589,334.52,120308,,,A*59
+$GPRMC,105528.00,A,5157.91826,N,00424.27000,E,12.619,334.41,120308,,,A*54
+$GPRMC,105529.00,A,5157.92158,N,00424.26743,E,13.903,334.05,120308,,,A*52
+$GPRMC,105530.00,A,5157.92541,N,00424.26448,E,16.446,334.03,120308,,,A*51
+$GPRMC,105531.00,A,5157.92980,N,00424.26099,E,18.694,333.92,120308,,,A*55
+$GPRMC,105532.00,A,5157.93472,N,00424.25706,E,20.434,333.80,120308,,,A*55
+$GPRMC,105533.00,A,5157.94005,N,00424.25282,E,21.896,333.78,120308,,,A*5C
+$GPRMC,105534.00,A,5157.94619,N,00424.24828,E,24.975,334.62,120308,,,A*5E
+$GPRMC,105535.00,A,5157.95295,N,00424.24295,E,28.213,334.20,120308,,,A*53
+$GPRMC,105536.00,A,5157.96019,N,00424.23716,E,28.724,334.11,120308,,,A*5F
+$GPRMC,105537.00,A,5157.96774,N,00424.23120,E,30.837,334.29,120308,,,A*5E
+$GPRMC,105538.00,A,5157.97578,N,00424.22470,E,32.101,333.95,120308,,,A*51
+$GPRMC,105539.00,A,5157.98391,N,00424.21841,E,32.494,334.37,120308,,,A*55
+$GPRMC,105540.00,A,5157.99233,N,00424.21182,E,33.276,334.34,120308,,,A*5D
+$GPRMC,105541.00,A,5158.00078,N,00424.20509,E,33.231,333.74,120308,,,A*58
+$GPRMC,105542.00,A,5158.00934,N,00424.19827,E,34.236,334.29,120308,,,A*5E
+$GPRMC,105543.00,A,5158.01812,N,00424.19131,E,34.303,334.27,120308,,,A*5C
+$GPRMC,105544.00,A,5158.02693,N,00424.18432,E,34.689,334.15,120308,,,A*5E
+$GPRMC,105545.00,A,5158.03582,N,00424.17731,E,35.119,334.12,120308,,,A*5A
+$GPRMC,105546.00,A,5158.04472,N,00424.17021,E,35.445,333.83,120308,,,A*55
+$GPRMC,105547.00,A,5158.05394,N,00424.16319,E,36.694,334.85,120308,,,A*5F
+$GPRMC,105548.00,A,5158.06346,N,00424.15613,E,37.642,334.46,120308,,,A*55
+$GPRMC,105549.00,A,5158.07323,N,00424.14868,E,39.074,334.22,120308,,,A*5A
+$GPRMC,105550.00,A,5158.08331,N,00424.14092,E,40.507,334.28,120308,,,A*56
+$GPRMC,105551.00,A,5158.09370,N,00424.13287,E,41.790,334.25,120308,,,A*52
+$GPRMC,105552.00,A,5158.10450,N,00424.12457,E,43.422,334.17,120308,,,A*5F
+$GPRMC,105553.00,A,5158.11570,N,00424.11588,E,45.088,333.99,120308,,,A*5F
+$GPRMC,105554.00,A,5158.12733,N,00424.10684,E,46.953,334.19,120308,,,A*53
+$GPRMC,105555.00,A,5158.13930,N,00424.09766,E,47.638,334.51,120308,,,A*54
+$GPRMC,105556.00,A,5158.15136,N,00424.08841,E,47.757,334.10,120308,,,A*59
+$GPRMC,105557.00,A,5158.16366,N,00424.07904,E,49.151,334.59,120308,,,A*50
+$GPRMC,105558.00,A,5158.17616,N,00424.06930,E,50.525,334.39,120308,,,A*53
+$GPRMC,105559.00,A,5158.18898,N,00424.05929,E,51.812,334.65,120308,,,A*5F
+$GPRMC,105600.00,A,5158.20221,N,00424.04927,E,53.155,335.60,120308,,,A*50
+$GPRMC,105601.00,A,5158.21598,N,00424.03956,E,54.123,336.69,120308,,,A*58
+$GPRMC,105602.00,A,5158.22997,N,00424.02993,E,54.860,337.25,120308,,,A*54
+$GPRMC,105603.00,A,5158.24395,N,00424.02037,E,54.372,337.43,120308,,,A*54
+$GPRMC,105604.00,A,5158.25766,N,00424.01131,E,53.373,337.98,120308,,,A*5E
+$GPRMC,105605.00,A,5158.27138,N,00424.00265,E,52.425,339.68,120308,,,A*57
+$GPRMC,105606.00,A,5158.28504,N,00423.99486,E,51.813,341.00,120308,,,A*57
+$GPRMC,105607.00,A,5158.29871,N,00423.98749,E,51.468,342.29,120308,,,A*51
+$GPRMC,105608.00,A,5158.31228,N,00423.98072,E,50.887,343.38,120308,,,A*53
+$GPRMC,105609.00,A,5158.32593,N,00423.97467,E,50.477,345.07,120308,,,A*50
+$GPRMC,105610.00,A,5158.33922,N,00423.96904,E,49.002,345.19,120308,,,A*57
+$GPRMC,105611.00,A,5158.35233,N,00423.96376,E,48.034,345.46,120308,,,A*5A
+$GPRMC,105612.00,A,5158.36505,N,00423.95855,E,47.049,345.23,120308,,,A*57
+$GPRMC,105613.00,A,5158.37746,N,00423.95337,E,46.021,345.12,120308,,,A*50
+$GPRMC,105614.00,A,5158.38953,N,00423.94829,E,45.026,345.21,120308,,,A*53
+$GPRMC,105615.00,A,5158.40140,N,00423.94330,E,44.104,345.15,120308,,,A*53
+$GPRMC,105616.00,A,5158.41307,N,00423.93839,E,43.338,345.21,120308,,,A*58
+$GPRMC,105617.00,A,5158.42454,N,00423.93362,E,42.565,345.38,120308,,,A*59
+$GPRMC,105618.00,A,5158.43580,N,00423.92891,E,41.684,345.24,120308,,,A*5B
+$GPRMC,105619.00,A,5158.44689,N,00423.92426,E,41.118,345.33,120308,,,A*53
+$GPRMC,105620.00,A,5158.45799,N,00423.91970,E,41.241,345.60,120308,,,A*5C
+$GPRMC,105621.00,A,5158.46917,N,00423.91513,E,41.608,345.62,120308,,,A*54
+$GPRMC,105622.00,A,5158.48041,N,00423.91043,E,41.913,345.13,120308,,,A*50
+$GPRMC,105623.00,A,5158.49166,N,00423.90558,E,41.876,344.60,120308,,,A*5D
+$GPRMC,105624.00,A,5158.50292,N,00423.90067,E,41.899,344.93,120308,,,A*5E
+$GPRMC,105625.00,A,5158.51419,N,00423.89582,E,42.086,345.05,120308,,,A*56
+$GPRMC,105626.00,A,5158.52549,N,00423.89103,E,42.134,345.42,120308,,,A*54
+$GPRMC,105627.00,A,5158.53681,N,00423.88629,E,41.910,345.32,120308,,,A*57
+$GPRMC,105628.00,A,5158.54805,N,00423.88160,E,41.772,345.31,120308,,,A*5E
+$GPRMC,105629.00,A,5158.55931,N,00423.87692,E,42.020,345.38,120308,,,A*57
+$GPRMC,105630.00,A,5158.57059,N,00423.87219,E,41.938,345.19,120308,,,A*5D
+$GPRMC,105631.00,A,5158.58180,N,00423.86746,E,41.628,345.33,120308,,,A*5E
+$GPRMC,105632.00,A,5158.59298,N,00423.86281,E,41.505,345.48,120308,,,A*58
+$GPRMC,105633.00,A,5158.60414,N,00423.85817,E,41.536,345.48,120308,,,A*57
+$GPRMC,105634.00,A,5158.61526,N,00423.85347,E,41.339,345.07,120308,,,A*5D
+$GPRMC,105635.00,A,5158.62639,N,00423.84866,E,41.332,344.78,120308,,,A*59
+$GPRMC,105636.00,A,5158.63746,N,00423.84386,E,41.172,345.17,120308,,,A*59
+$GPRMC,105637.00,A,5158.64853,N,00423.83915,E,40.987,345.28,120308,,,A*5C
+$GPRMC,105638.00,A,5158.65958,N,00423.83448,E,40.982,345.24,120308,,,A*54
+$GPRMC,105639.00,A,5158.67060,N,00423.82978,E,41.062,345.14,120308,,,A*5F
+$GPRMC,105640.00,A,5158.68160,N,00423.82502,E,40.926,344.72,120308,,,A*57
+$GPRMC,105641.00,A,5158.69266,N,00423.82026,E,41.467,345.34,120308,,,A*5B
+$GPRMC,105642.00,A,5158.70389,N,00423.81552,E,41.972,345.27,120308,,,A*5E
+$GPRMC,105643.00,A,5158.71537,N,00423.81076,E,43.295,345.75,120308,,,A*59
+$GPRMC,105644.00,A,5158.72718,N,00423.80590,E,44.361,345.47,120308,,,A*52
+$GPRMC,105645.00,A,5158.73925,N,00423.80081,E,45.519,345.26,120308,,,A*58
+$GPRMC,105646.00,A,5158.75162,N,00423.79561,E,46.504,345.47,120308,,,A*53
+$GPRMC,105647.00,A,5158.76416,N,00423.79036,E,46.804,345.65,120308,,,A*5D
+$GPRMC,105648.00,A,5158.77703,N,00423.78563,E,47.635,347.75,120308,,,A*5E
+$GPRMC,105649.00,A,5158.79007,N,00423.78099,E,48.412,347.91,120308,,,A*50
+$GPRMC,105650.00,A,5158.80333,N,00423.77629,E,49.059,347.50,120308,,,A*5F
+$GPRMC,105651.00,A,5158.81673,N,00423.77143,E,49.538,347.40,120308,,,A*56
+$GPRMC,105652.00,A,5158.83020,N,00423.76637,E,49.723,346.48,120308,,,A*53
+$GPRMC,105653.00,A,5158.84358,N,00423.76101,E,49.214,346.12,120308,,,A*55
+$GPRMC,105654.00,A,5158.85662,N,00423.75563,E,47.610,345.55,120308,,,A*52
+$GPRMC,105655.00,A,5158.86921,N,00423.75059,E,45.393,346.05,120308,,,A*5E
+$GPRMC,105656.00,A,5158.88130,N,00423.74608,E,43.708,346.99,120308,,,A*5D
+$GPRMC,105657.00,A,5158.89279,N,00423.74153,E,41.867,346.53,120308,,,A*58
+$GPRMC,105658.00,A,5158.90365,N,00423.73684,E,39.733,345.53,120308,,,A*5B
+$GPRMC,105659.00,A,5158.91403,N,00423.73284,E,37.207,347.50,120308,,,A*55
+$GPRMC,105700.00,A,5158.92390,N,00423.72953,E,35.797,349.65,120308,,,A*50
+$GPRMC,105701.00,A,5158.93319,N,00423.72674,E,34.510,350.77,120308,,,A*5C
+$GPRMC,105702.00,A,5158.94157,N,00423.72512,E,31.118,355.06,120308,,,A*59
+$GPRMC,105703.00,A,5158.94916,N,00423.72477,E,27.870,358.24,120308,,,A*5A
+$GPRMC,105704.00,A,5158.95618,N,00423.72498,E,25.056,1.30,120308,,,A*58
+$GPRMC,105705.00,A,5158.96296,N,00423.72548,E,24.144,3.67,120308,,,A*57
+$GPRMC,105706.00,A,5158.96905,N,00423.72657,E,22.151,8.66,120308,,,A*50
+$GPRMC,105707.00,A,5158.97491,N,00423.72819,E,21.421,11.92,120308,,,A*66
+$GPRMC,105708.00,A,5158.97988,N,00423.73040,E,20.139,14.33,120308,,,A*6A
+$GPRMC,105709.00,A,5158.98475,N,00423.73303,E,19.224,17.06,120308,,,A*6F
+$GPRMC,105710.00,A,5158.98914,N,00423.73548,E,15.423,20.81,120308,,,A*62
+$GPRMC,105711.00,A,5158.99206,N,00423.73826,E,11.304,28.62,120308,,,A*6C
+$GPRMC,105712.00,A,5158.99382,N,00423.74013,E,7.456,24.04,120308,,,A*50
+$GPRMC,105713.00,A,5158.99589,N,00423.74099,E,8.169,10.01,120308,,,A*5A
+$GPRMC,105714.00,A,5158.99813,N,00423.74109,E,8.629,359.39,120308,,,A*6D
+$GPRMC,105715.00,A,5159.00033,N,00423.74095,E,8.520,356.86,120308,,,A*62
+$GPRMC,105716.00,A,5159.00081,N,00423.73975,E,3.364,327.81,120308,,,A*64
+$GPRMC,105717.00,A,5159.00051,N,00423.73816,E,2.793,267.21,120308,,,A*6E
+$GPRMC,105718.00,A,5159.00007,N,00423.73575,E,4.554,264.70,120308,,,A*62
+$GPRMC,105719.00,A,5158.99964,N,00423.73373,E,4.474,254.08,120308,,,A*61
+$GPRMC,105720.00,A,5158.99920,N,00423.73082,E,5.683,256.73,120308,,,A*63
+$GPRMC,105721.00,A,5158.99854,N,00423.72698,E,7.270,256.18,120308,,,A*6B
+$GPRMC,105722.00,A,5158.99780,N,00423.72336,E,8.428,248.42,120308,,,A*6B
+$GPRMC,105723.00,A,5158.99729,N,00423.72007,E,7.721,252.00,120308,,,A*60
+$GPRMC,105724.00,A,5158.99719,N,00423.71681,E,8.004,263.00,120308,,,A*62
+$GPRMC,105725.00,A,5158.99738,N,00423.71429,E,6.283,271.17,120308,,,A*66
+$GPRMC,105726.00,A,5158.99906,N,00423.71070,E,6.866,298.64,120308,,,A*6C
+$GPRMC,105727.00,A,5159.00100,N,00423.70743,E,7.677,309.65,120308,,,A*63
+$GPRMC,105728.00,A,5159.00257,N,00423.70534,E,7.031,329.40,120308,,,A*6E
+$GPRMC,105729.00,A,5159.00423,N,00423.70403,E,6.765,347.23,120308,,,A*65
+$GPRMC,105730.00,A,5159.00670,N,00423.70262,E,7.698,1.54,120308,,,A*6B
+$GPRMC,105731.00,A,5159.00909,N,00423.70199,E,8.019,357.08,120308,,,A*65
+$GPRMC,105732.00,A,5159.01021,N,00423.70161,E,5.834,347.78,120308,,,A*6F
+$GPRMC,105733.00,A,5159.00985,N,00423.70201,E,1.715,347.55,120308,,,A*6A
+$GPRMC,105734.00,A,5159.00947,N,00423.70184,E,0.117,342.18,120308,,,A*64
+$GPRMC,105735.00,A,5159.00911,N,00423.70169,E,1.139,333.18,120308,,,A*6E
+$GPRMC,105736.00,A,5159.00843,N,00423.70145,E,1.732,323.80,120308,,,A*68
+$GPRMC,105737.00,A,5159.00776,N,00423.70151,E,2.569,154.97,120308,,,A*6E
+$GPRMC,105738.00,A,5159.00747,N,00423.70173,E,2.237,156.15,120308,,,A*67
+$GPRMC,105739.00,A,5159.00754,N,00423.70181,E,1.173,156.35,120308,,,A*6B
+$GPRMC,105740.00,A,5159.00739,N,00423.70204,E,0.229,156.93,120308,,,A*61
+$GPRMC,105741.00,A,5159.00737,N,00423.70217,E,0.003,,120308,,,A*70
+$GPRMC,105742.00,A,5159.00741,N,00423.70215,E,0.042,152.94,120308,,,A*60
+$GPRMC,105743.00,A,5159.00740,N,00423.70221,E,0.062,153.44,120308,,,A*69
+$GPRMC,105744.00,A,5159.00736,N,00423.70227,E,0.035,150.17,120308,,,A*6E
+$GPRMC,105745.00,A,5159.00735,N,00423.70223,E,0.017,,120308,,,A*74
+$GPRMC,105746.00,A,5159.00733,N,00423.70217,E,0.013,,120308,,,A*72
+$GPRMC,105747.00,A,5159.00733,N,00423.70209,E,0.035,147.11,120308,,,A*64
+$GPRMC,105748.00,A,5159.00740,N,00423.70200,E,0.029,143.69,120308,,,A*60
+$GPRMC,105749.00,A,5159.00747,N,00423.70190,E,0.009,,120308,,,A*79
+$GPRMC,105750.00,A,5159.00759,N,00423.70185,E,0.048,141.34,120308,,,A*62
+$GPRMC,105751.00,A,5159.00767,N,00423.70177,E,0.059,139.45,120308,,,A*6A
+$GPRMC,105752.00,A,5159.00773,N,00423.70174,E,0.033,136.99,120308,,,A*6D
+$GPRMC,105753.00,A,5159.00782,N,00423.70173,E,0.030,133.12,120308,,,A*60
+$GPRMC,105754.00,A,5159.00792,N,00423.70165,E,0.034,133.87,120308,,,A*69
+$GPRMC,105755.00,A,5159.00799,N,00423.70162,E,0.035,132.38,120308,,,A*60
+$GPRMC,105756.00,A,5159.00798,N,00423.70146,E,0.046,129.26,120308,,,A*65
+$GPRMC,105757.00,A,5159.00800,N,00423.70150,E,0.019,,120308,,,A*77
+$GPRMC,105758.00,A,5159.00804,N,00423.70156,E,0.002,,120308,,,A*70
+$GPRMC,105759.00,A,5159.00809,N,00423.70172,E,0.017,,120308,,,A*7E
+$GPRMC,105800.00,A,5159.00811,N,00423.70179,E,0.020,131.37,120308,,,A*62
+$GPRMC,105801.00,A,5159.00813,N,00423.70185,E,0.031,135.77,120308,,,A*62
+$GPRMC,105802.00,A,5159.00815,N,00423.70190,E,0.028,134.25,120308,,,A*6D
+$GPRMC,105803.00,A,5159.00817,N,00423.70197,E,0.012,,120308,,,A*7F
+$GPRMC,105804.00,A,5159.00816,N,00423.70199,E,0.021,130.66,120308,,,A*6B
+$GPRMC,105805.00,A,5159.00817,N,00423.70205,E,0.062,129.94,120308,,,A*6F
+$GPRMC,105806.00,A,5159.00815,N,00423.70211,E,0.033,128.22,120308,,,A*63
+$GPRMC,105807.00,A,5159.00815,N,00423.70215,E,0.001,,120308,,,A*72
+$GPRMC,105808.00,A,5159.00813,N,00423.70213,E,0.004,,120308,,,A*78
+$GPRMC,105809.00,A,5159.00811,N,00423.70211,E,0.013,,120308,,,A*7F
+$GPRMC,105810.00,A,5159.00809,N,00423.70209,E,0.018,,120308,,,A*7C
+$GPRMC,105811.00,A,5159.00817,N,00423.70206,E,0.015,,120308,,,A*70
+$GPRMC,105812.00,A,5159.00823,N,00423.70204,E,0.026,127.17,120308,,,A*6A
+$GPRMC,105813.00,A,5159.00828,N,00423.70203,E,0.015,,120308,,,A*7B
+$GPRMC,105814.00,A,5159.00832,N,00423.70203,E,0.016,,120308,,,A*74
+$GPRMC,105815.00,A,5159.00838,N,00423.70201,E,0.005,,120308,,,A*7F
+$GPRMC,105816.00,A,5159.00843,N,00423.70199,E,0.042,123.17,120308,,,A*69
+$GPRMC,105817.00,A,5159.00848,N,00423.70197,E,0.014,,120308,,,A*76
+$GPRMC,105818.00,A,5159.00847,N,00423.70197,E,0.011,,120308,,,A*73
+$GPRMC,105819.00,A,5159.00846,N,00423.70198,E,0.010,,120308,,,A*7D
+$GPRMC,105820.00,A,5159.00846,N,00423.70198,E,0.009,,120308,,,A*7F
+$GPRMC,105821.00,A,5159.00851,N,00423.70198,E,0.002,,120308,,,A*73
+$GPRMC,105822.00,A,5159.00855,N,00423.70198,E,0.004,,120308,,,A*72
+$GPRMC,105823.00,A,5159.00858,N,00423.70200,E,0.045,122.37,120308,,,A*62
+$GPRMC,105824.00,A,5159.00860,N,00423.70202,E,0.024,122.16,120308,,,A*68
+$GPRMC,105825.00,A,5159.00864,N,00423.70204,E,0.043,121.79,120308,,,A*60
+$GPRMC,105826.00,A,5159.00869,N,00423.70203,E,0.020,126.15,120308,,,A*61
+$GPRMC,105827.00,A,5159.00874,N,00423.70204,E,0.018,,120308,,,A*7F
+$GPRMC,105828.00,A,5159.00879,N,00423.70204,E,0.015,,120308,,,A*70
+$GPRMC,105829.00,A,5159.00882,N,00423.70205,E,0.031,128.99,120308,,,A*67
+$GPRMC,105830.00,A,5159.00887,N,00423.70206,E,0.013,,120308,,,A*7C
+$GPRMC,105831.00,A,5159.00891,N,00423.70208,E,0.005,,120308,,,A*73
+$GPRMC,105832.00,A,5159.00893,N,00423.70211,E,0.005,,120308,,,A*7A
+$GPRMC,105833.00,A,5159.00896,N,00423.70214,E,0.014,,120308,,,A*7B
+$GPRMC,105834.00,A,5159.00897,N,00423.70216,E,0.014,,120308,,,A*7F
+$GPRMC,105835.00,A,5159.00898,N,00423.70219,E,0.036,128.31,120308,,,A*69
+$GPRMC,105836.00,A,5159.00898,N,00423.70222,E,0.003,,120308,,,A*73
+$GPRMC,105837.00,A,5159.00897,N,00423.70225,E,0.015,,120308,,,A*7D
+$GPRMC,105838.00,A,5159.00896,N,00423.70229,E,0.014,,120308,,,A*7E
+$GPRMC,105839.00,A,5159.00896,N,00423.70233,E,0.015,,120308,,,A*75
+$GPRMC,105840.00,A,5159.00896,N,00423.70237,E,0.010,,120308,,,A*7A
+$GPRMC,105841.00,A,5159.00895,N,00423.70241,E,0.006,,120308,,,A*7E
+$GPRMC,105842.00,A,5159.00895,N,00423.70243,E,0.014,,120308,,,A*7C
+$GPRMC,105843.00,A,5159.00895,N,00423.70245,E,0.002,,120308,,,A*7C
+$GPRMC,105844.00,A,5159.00896,N,00423.70247,E,0.015,,120308,,,A*7C
+$GPRMC,105845.00,A,5159.00896,N,00423.70249,E,0.023,127.15,120308,,,A*68
+$GPRMC,105846.00,A,5159.00897,N,00423.70250,E,0.021,130.80,120308,,,A*6A
+$GPRMC,105847.00,A,5159.00897,N,00423.70252,E,0.001,,120308,,,A*7F
+$GPRMC,105848.00,A,5159.00896,N,00423.70255,E,0.033,132.67,120308,,,A*68
+$GPRMC,105849.00,A,5159.00894,N,00423.70256,E,0.017,,120308,,,A*71
+$GPRMC,105850.00,A,5159.00892,N,00423.70259,E,0.040,130.09,120308,,,A*67
+$GPRMC,105851.00,A,5159.00889,N,00423.70265,E,0.010,,120308,,,A*73
+$GPRMC,105852.00,A,5159.00885,N,00423.70269,E,0.027,124.74,120308,,,A*6E
+$GPRMC,105853.00,A,5159.00879,N,00423.70271,E,0.007,,120308,,,A*7D
+$GPRMC,105854.00,A,5159.00873,N,00423.70272,E,0.011,,120308,,,A*74
+$GPRMC,105855.00,A,5159.00868,N,00423.70272,E,0.009,,120308,,,A*76
+$GPRMC,105856.00,A,5159.00862,N,00423.70270,E,0.003,,120308,,,A*77
+$GPRMC,105857.00,A,5159.00858,N,00423.70272,E,0.019,,120308,,,A*76
+$GPRMC,105858.00,A,5159.00854,N,00423.70271,E,0.019,,120308,,,A*76
+$GPRMC,105859.00,A,5159.00849,N,00423.70272,E,0.024,126.97,120308,,,A*63
+$GPRMC,105900.00,A,5159.00844,N,00423.70274,E,0.003,,120308,,,A*75
+$GPRMC,105901.00,A,5159.00841,N,00423.70277,E,0.007,,120308,,,A*76
+$GPRMC,105902.00,A,5159.00836,N,00423.70280,E,0.023,128.71,120308,,,A*68
+$GPRMC,105903.00,A,5159.00832,N,00423.70284,E,0.027,125.24,120308,,,A*60
+$GPRMC,105904.00,A,5159.00829,N,00423.70287,E,0.020,126.12,120308,,,A*6F
+$GPRMC,105905.00,A,5159.00823,N,00423.70288,E,0.069,126.50,120308,,,A*60
+$GPRMC,105906.00,A,5159.00819,N,00423.70290,E,0.006,,120308,,,A*74
+$GPRMC,105907.00,A,5159.00816,N,00423.70291,E,0.011,,120308,,,A*7D
+$GPRMC,105908.00,A,5159.00815,N,00423.70292,E,0.027,123.18,120308,,,A*60
+$GPRMC,105909.00,A,5159.00814,N,00423.70294,E,0.015,,120308,,,A*70
+$GPRMC,105910.00,A,5159.00813,N,00423.70293,E,0.014,,120308,,,A*79
+$GPRMC,105911.00,A,5159.00811,N,00423.70290,E,0.007,,120308,,,A*7B
+$GPRMC,105912.00,A,5159.00807,N,00423.70284,E,0.039,120.37,120308,,,A*6E
+$GPRMC,105913.00,A,5159.00804,N,00423.70278,E,0.020,115.03,120308,,,A*66
+$GPRMC,105914.00,A,5159.00801,N,00423.70271,E,0.073,116.91,120308,,,A*63
+$GPRMC,105915.00,A,5159.00797,N,00423.70268,E,0.025,112.83,120308,,,A*6E
+$GPRMC,105916.00,A,5159.00796,N,00423.70264,E,0.005,,120308,,,A*75
+$GPRMC,105917.00,A,5159.00797,N,00423.70261,E,0.012,,120308,,,A*76
+$GPRMC,105918.00,A,5159.00798,N,00423.70259,E,0.008,,120308,,,A*76
+$GPRMC,105919.00,A,5159.00799,N,00423.70255,E,0.005,,120308,,,A*77
+$GPRMC,105920.00,A,5159.00801,N,00423.70255,E,0.059,108.73,120308,,,A*69
+$GPRMC,105921.00,A,5159.00802,N,00423.70255,E,0.006,,120308,,,A*72
+$GPRMC,105922.00,A,5159.00803,N,00423.70257,E,0.008,,120308,,,A*7C
+$GPRMC,105923.00,A,5159.00802,N,00423.70256,E,0.041,113.20,120308,,,A*6F
+$GPRMC,105924.00,A,5159.00803,N,00423.70253,E,0.006,,120308,,,A*70
+$GPRMC,105925.00,A,5159.00803,N,00423.70253,E,0.017,,120308,,,A*71
+$GPRMC,105926.00,A,5159.00802,N,00423.70255,E,0.018,,120308,,,A*7A
+$GPRMC,105927.00,A,5159.00799,N,00423.70256,E,0.011,,120308,,,A*7C
+$GPRMC,105928.00,A,5159.00796,N,00423.70258,E,0.013,,120308,,,A*70
+$GPRMC,105929.00,A,5159.00793,N,00423.70260,E,0.025,113.90,120308,,,A*6E
+$GPRMC,105930.00,A,5159.00789,N,00423.70263,E,0.021,115.39,120308,,,A*6F
+$GPRMC,105931.00,A,5159.00786,N,00423.70265,E,0.013,,120308,,,A*77
+$GPRMC,105932.00,A,5159.00782,N,00423.70267,E,0.017,,120308,,,A*76
+$GPRMC,105933.00,A,5159.00778,N,00423.70271,E,0.023,110.78,120308,,,A*63
+$GPRMC,105934.00,A,5159.00775,N,00423.70275,E,0.005,,120308,,,A*78
+$GPRMC,105935.00,A,5159.00772,N,00423.70276,E,0.013,,120308,,,A*7A
+$GPRMC,105936.00,A,5159.00768,N,00423.70276,E,0.023,112.62,120308,,,A*69
+$GPRMC,105937.00,A,5159.00764,N,00423.70279,E,0.015,,120308,,,A*76
+$GPRMC,105938.00,A,5159.00760,N,00423.70280,E,0.013,,120308,,,A*7D
+$GPRMC,105939.00,A,5159.00756,N,00423.70280,E,0.006,,120308,,,A*7D
+$GPRMC,105940.00,A,5159.00750,N,00423.70281,E,0.009,,120308,,,A*7B
+$GPRMC,105941.00,A,5159.00746,N,00423.70282,E,0.083,113.42,120308,,,A*67
+$GPRMC,105942.00,A,5159.00740,N,00423.70283,E,0.004,,120308,,,A*77
+$GPRMC,105943.00,A,5159.00734,N,00423.70283,E,0.052,108.64,120308,,,A*63
+$GPRMC,105944.00,A,5159.00729,N,00423.70282,E,0.020,109.18,120308,,,A*66
+$GPRMC,105945.00,A,5159.00725,N,00423.70282,E,0.012,,120308,,,A*75
+$GPRMC,105946.00,A,5159.00720,N,00423.70281,E,0.024,110.83,120308,,,A*60
+$GPRMC,105947.00,A,5159.00715,N,00423.70281,E,0.044,111.18,120308,,,A*62
+$GPRMC,105948.00,A,5159.00712,N,00423.70279,E,0.058,106.71,120308,,,A*69
+$GPRMC,105949.00,A,5159.00710,N,00423.70272,E,0.094,108.00,120308,,,A*69
+$GPRMC,105950.00,A,5159.00705,N,00423.70268,E,0.010,,120308,,,A*75
+$GPRMC,105951.00,A,5159.00702,N,00423.70261,E,0.004,,120308,,,A*7F
+$GPRMC,105952.00,A,5159.00697,N,00423.70258,E,0.018,,120308,,,A*76
+$GPRMC,105953.00,A,5159.00692,N,00423.70254,E,0.033,109.83,120308,,,A*6A
+$GPRMC,105954.00,A,5159.00689,N,00423.70250,E,0.024,105.38,120308,,,A*69
+$GPRMC,105955.00,A,5159.00685,N,00423.70247,E,0.003,,120308,,,A*76
+$GPRMC,105956.00,A,5159.00680,N,00423.70245,E,0.010,,120308,,,A*70
+$GPRMC,105957.00,A,5159.00677,N,00423.70242,E,0.013,,120308,,,A*7D
+$GPRMC,105958.00,A,5159.00675,N,00423.70239,E,0.019,,120308,,,A*76
+$GPRMC,105959.00,A,5159.00673,N,00423.70236,E,0.086,106.71,120308,,,A*67
+$GPRMC,110000.00,A,5159.00669,N,00423.70234,E,0.027,104.71,120308,,,A*66
+$GPRMC,110001.00,A,5159.00668,N,00423.70229,E,0.031,109.89,120308,,,A*67
+$GPRMC,110002.00,A,5159.00668,N,00423.70221,E,0.011,,120308,,,A*79
+$GPRMC,110003.00,A,5159.00667,N,00423.70215,E,0.024,105.32,120308,,,A*6D
+$GPRMC,110004.00,A,5159.00668,N,00423.70210,E,0.073,101.24,120308,,,A*61
+$GPRMC,110005.00,A,5159.00671,N,00423.70205,E,0.017,,120308,,,A*76
+$GPRMC,110006.00,A,5159.00674,N,00423.70199,E,0.022,103.64,120308,,,A*6E
+$GPRMC,110007.00,A,5159.00677,N,00423.70194,E,0.030,99.65,120308,,,A*51
+$GPRMC,110008.00,A,5159.00681,N,00423.70188,E,0.008,,120308,,,A*7C
+$GPRMC,110009.00,A,5159.00689,N,00423.70176,E,0.015,,120308,,,A*78
+$GPRMC,110010.00,A,5159.00697,N,00423.70165,E,0.018,,120308,,,A*70
+$GPRMC,110011.00,A,5159.00704,N,00423.70157,E,0.004,,120308,,,A*76
+$GPRMC,110012.00,A,5159.00711,N,00423.70151,E,0.027,95.32,120308,,,A*55
+$GPRMC,110013.00,A,5159.00717,N,00423.70147,E,0.004,,120308,,,A*77
+$GPRMC,110014.00,A,5159.00722,N,00423.70145,E,0.021,96.13,120308,,,A*50
+$GPRMC,110015.00,A,5159.00727,N,00423.70145,E,0.002,,120308,,,A*76
+$GPRMC,110016.00,A,5159.00734,N,00423.70145,E,0.006,,120308,,,A*73
+$GPRMC,110017.00,A,5159.00740,N,00423.70143,E,0.016,,120308,,,A*76
+$GPRMC,110018.00,A,5159.00747,N,00423.70142,E,0.003,,120308,,,A*7B
+$GPRMC,110019.00,A,5159.00752,N,00423.70140,E,0.016,,120308,,,A*78
+$GPRMC,110020.00,A,5159.00756,N,00423.70136,E,0.004,,120308,,,A*74
+$GPRMC,110021.00,A,5159.00762,N,00423.70133,E,0.008,,120308,,,A*7B
+$GPRMC,110022.00,A,5159.00766,N,00423.70130,E,0.006,,120308,,,A*71
+$GPRMC,110023.00,A,5159.00771,N,00423.70128,E,0.010,,120308,,,A*78
+$GPRMC,110024.00,A,5159.00775,N,00423.70126,E,0.011,,120308,,,A*74
+$GPRMC,110025.00,A,5159.00778,N,00423.70126,E,0.005,,120308,,,A*7D
+$GPRMC,110026.00,A,5159.00783,N,00423.70127,E,0.011,,120308,,,A*7E
+$GPRMC,110027.00,A,5159.00787,N,00423.70127,E,0.003,,120308,,,A*78
+$GPRMC,110028.00,A,5159.00790,N,00423.70128,E,0.007,,120308,,,A*7A
+$GPRMC,110029.00,A,5159.00793,N,00423.70129,E,0.007,,120308,,,A*79
+$GPRMC,110030.00,A,5159.00794,N,00423.70131,E,0.010,,120308,,,A*79
+$GPRMC,110031.00,A,5159.00795,N,00423.70133,E,0.011,,120308,,,A*7A
+$GPRMC,110032.00,A,5159.00794,N,00423.70135,E,0.013,,120308,,,A*7C
+$GPRMC,110033.00,A,5159.00793,N,00423.70136,E,0.017,,120308,,,A*7D
+$GPRMC,110034.00,A,5159.00791,N,00423.70137,E,0.010,,120308,,,A*7E
+$GPRMC,110035.00,A,5159.00790,N,00423.70142,E,0.070,96.71,120308,,,A*5D
+$GPRMC,110036.00,A,5159.00790,N,00423.70143,E,0.013,,120308,,,A*7D
+$GPRMC,110037.00,A,5159.00792,N,00423.70141,E,0.034,99.46,120308,,,A*55
+$GPRMC,110038.00,A,5159.00794,N,00423.70141,E,0.026,96.32,120308,,,A*53
+$GPRMC,110039.00,A,5159.00795,N,00423.70144,E,0.011,,120308,,,A*72
+$GPRMC,110040.00,A,5159.00794,N,00423.70150,E,0.018,,120308,,,A*71
+$GPRMC,110041.00,A,5159.00792,N,00423.70156,E,0.012,,120308,,,A*7A
+$GPRMC,110042.00,A,5159.00792,N,00423.70161,E,0.015,,120308,,,A*7A
+$GPRMC,110043.00,A,5159.00791,N,00423.70167,E,0.016,,120308,,,A*7D
+$GPRMC,110044.00,A,5159.00789,N,00423.70175,E,0.003,,120308,,,A*74
+$GPRMC,110045.00,A,5159.00788,N,00423.70181,E,0.007,,120308,,,A*7B
+$GPRMC,110046.00,A,5159.00788,N,00423.70187,E,0.008,,120308,,,A*71
+$GPRMC,110047.00,A,5159.00787,N,00423.70194,E,0.006,,120308,,,A*73
+$GPRMC,110048.00,A,5159.00783,N,00423.70197,E,0.009,,120308,,,A*74
+$GPRMC,110049.00,A,5159.00780,N,00423.70200,E,0.011,,120308,,,A*72
+$GPRMC,110050.00,A,5159.00776,N,00423.70204,E,0.013,,120308,,,A*75
+$GPRMC,110051.00,A,5159.00772,N,00423.70207,E,0.018,,120308,,,A*78
+$GPRMC,110052.00,A,5159.00768,N,00423.70209,E,0.006,,120308,,,A*71
+$GPRMC,110053.00,A,5159.00765,N,00423.70210,E,0.019,,120308,,,A*7B
+$GPRMC,110054.00,A,5159.00764,N,00423.70216,E,0.023,94.90,120308,,,A*58
+$GPRMC,110055.00,A,5159.00771,N,00423.70212,E,0.036,96.96,120308,,,A*59
+$GPRMC,110056.00,A,5159.00778,N,00423.70205,E,0.060,91.44,120308,,,A*5E
+$GPRMC,110057.00,A,5159.00777,N,00423.70200,E,0.040,85.93,120308,,,A*58
+$GPRMC,110058.00,A,5159.00778,N,00423.70194,E,0.018,,120308,,,A*72
+$GPRMC,110059.00,A,5159.00780,N,00423.70189,E,0.016,,120308,,,A*76
+$GPRMC,110100.00,A,5159.00781,N,00423.70181,E,0.013,,120308,,,A*77
+$GPRMC,110101.00,A,5159.00781,N,00423.70173,E,0.014,,120308,,,A*7C
+$GPRMC,110102.00,A,5159.00781,N,00423.70168,E,0.014,,120308,,,A*75
+$GPRMC,110103.00,A,5159.00782,N,00423.70162,E,0.018,,120308,,,A*71
+$GPRMC,110104.00,A,5159.00785,N,00423.70158,E,0.007,,120308,,,A*76
+$GPRMC,110105.00,A,5159.00787,N,00423.70159,E,0.082,84.90,120308,,,A*52
+$GPRMC,110106.00,A,5159.00787,N,00423.70163,E,0.020,79.83,120308,,,A*50
+$GPRMC,110107.00,A,5159.00788,N,00423.70164,E,0.012,,120308,,,A*73
+$GPRMC,110108.00,A,5159.00788,N,00423.70164,E,0.017,,120308,,,A*79
+$GPRMC,110109.00,A,5159.00788,N,00423.70165,E,0.010,,120308,,,A*7E
+$GPRMC,110110.00,A,5159.00788,N,00423.70167,E,0.010,,120308,,,A*74
+$GPRMC,110111.00,A,5159.00784,N,00423.70174,E,0.023,75.71,120308,,,A*51
+$GPRMC,110112.00,A,5159.00785,N,00423.70178,E,0.014,,120308,,,A*71
+$GPRMC,110113.00,A,5159.00787,N,00423.70174,E,0.024,71.64,120308,,,A*57
+$GPRMC,110114.00,A,5159.00788,N,00423.70175,E,0.040,67.88,120308,,,A*59
+$GPRMC,110115.00,A,5159.00788,N,00423.70170,E,0.068,64.29,120308,,,A*5F
+$GPRMC,110116.00,A,5159.00789,N,00423.70165,E,0.023,60.20,120308,,,A*5B
+$GPRMC,110117.00,A,5159.00790,N,00423.70165,E,0.049,56.81,120308,,,A*50
+$GPRMC,110118.00,A,5159.00791,N,00423.70164,E,0.049,54.07,120308,,,A*53
+$GPRMC,110119.00,A,5159.00788,N,00423.70165,E,0.020,49.39,120308,,,A*55
+$GPRMC,110120.00,A,5159.00785,N,00423.70166,E,0.020,45.59,120308,,,A*5B
+$GPRMC,110121.00,A,5159.00783,N,00423.70164,E,0.035,43.07,120308,,,A*57
+$GPRMC,110122.00,A,5159.00781,N,00423.70163,E,0.011,,120308,,,A*79
+$GPRMC,110123.00,A,5159.00779,N,00423.70160,E,0.015,,120308,,,A*78
+$GPRMC,110124.00,A,5159.00777,N,00423.70157,E,0.017,,120308,,,A*77
+$GPRMC,110125.00,A,5159.00775,N,00423.70158,E,0.014,,120308,,,A*78
+$GPRMC,110126.00,A,5159.00773,N,00423.70158,E,0.011,,120308,,,A*78
+$GPRMC,110127.00,A,5159.00772,N,00423.70154,E,0.024,45.65,120308,,,A*5E
+$GPRMC,110128.00,A,5159.00769,N,00423.70155,E,0.009,,120308,,,A*79
+$GPRMC,110129.00,A,5159.00767,N,00423.70152,E,0.007,,120308,,,A*7F
+$GPRMC,110130.00,A,5159.00765,N,00423.70152,E,0.007,,120308,,,A*75
+$GPRMC,110131.00,A,5159.00764,N,00423.70153,E,0.025,47.48,120308,,,A*55
+$GPRMC,110132.00,A,5159.00763,N,00423.70156,E,0.003,,120308,,,A*71
+$GPRMC,110133.00,A,5159.00762,N,00423.70157,E,0.026,49.89,120308,,,A*55
+$GPRMC,110134.00,A,5159.00761,N,00423.70160,E,0.021,46.53,120308,,,A*5A
+$GPRMC,110135.00,A,5159.00760,N,00423.70163,E,0.006,,120308,,,A*76
+$GPRMC,110136.00,A,5159.00759,N,00423.70167,E,0.015,,120308,,,A*79
+$GPRMC,110137.00,A,5159.00758,N,00423.70170,E,0.009,,120308,,,A*72
+$GPRMC,110138.00,A,5159.00758,N,00423.70174,E,0.009,,120308,,,A*79
+$GPRMC,110139.00,A,5159.00756,N,00423.70178,E,0.004,,120308,,,A*77
+$GPRMC,110140.00,A,5159.00755,N,00423.70182,E,0.012,,120308,,,A*78
+$GPRMC,110141.00,A,5159.00754,N,00423.70190,E,0.083,49.74,120308,,,A*53
+$GPRMC,110142.00,A,5159.00755,N,00423.70192,E,0.034,50.48,120308,,,A*58
+$GPRMC,110143.00,A,5159.00754,N,00423.70197,E,0.018,,120308,,,A*74
+$GPRMC,110144.00,A,5159.00752,N,00423.70199,E,0.003,,120308,,,A*71
+$GPRMC,110145.00,A,5159.00750,N,00423.70204,E,0.004,,120308,,,A*72
+$GPRMC,110146.00,A,5159.00748,N,00423.70214,E,0.010,,120308,,,A*7C
+$GPRMC,110147.00,A,5159.00749,N,00423.70218,E,0.003,,120308,,,A*72
+$GPRMC,110148.00,A,5159.00748,N,00423.70224,E,0.007,,120308,,,A*77
+$GPRMC,110149.00,A,5159.00748,N,00423.70229,E,0.005,,120308,,,A*79
+$GPRMC,110150.00,A,5159.00749,N,00423.70237,E,0.008,,120308,,,A*72
+$GPRMC,110151.00,A,5159.00746,N,00423.70251,E,0.018,,120308,,,A*7D
+$GPRMC,110152.00,A,5159.00742,N,00423.70264,E,0.005,,120308,,,A*70
+$GPRMC,110153.00,A,5159.00738,N,00423.70273,E,0.016,,120308,,,A*78
+$GPRMC,110154.00,A,5159.00733,N,00423.70282,E,0.004,,120308,,,A*79
+$GPRMC,110155.00,A,5159.00728,N,00423.70292,E,0.006,,120308,,,A*71
+$GPRMC,110156.00,A,5159.00724,N,00423.70299,E,0.018,,120308,,,A*7A
+$GPRMC,110157.00,A,5159.00720,N,00423.70305,E,0.012,,120308,,,A*71
+$GPRMC,110158.00,A,5159.00717,N,00423.70309,E,0.002,,120308,,,A*77
+$GPRMC,110159.00,A,5159.00714,N,00423.70315,E,0.038,54.18,120308,,,A*57
+$GPRMC,110200.00,A,5159.00713,N,00423.70318,E,0.053,56.48,120308,,,A*58
+$GPRMC,110201.00,A,5159.00711,N,00423.70323,E,0.019,,120308,,,A*7C
+$GPRMC,110202.00,A,5159.00711,N,00423.70327,E,0.032,58.97,120308,,,A*5F
+$GPRMC,110203.00,A,5159.00711,N,00423.70330,E,0.007,,120308,,,A*73
+$GPRMC,110204.00,A,5159.00712,N,00423.70333,E,0.007,,120308,,,A*74
+$GPRMC,110205.00,A,5159.00712,N,00423.70335,E,0.006,,120308,,,A*72
+$GPRMC,110206.00,A,5159.00711,N,00423.70337,E,0.006,,120308,,,A*70
+$GPRMC,110207.00,A,5159.00710,N,00423.70339,E,0.005,,120308,,,A*7D
+$GPRMC,110208.00,A,5159.00711,N,00423.70340,E,0.008,,120308,,,A*70
+$GPRMC,110209.00,A,5159.00712,N,00423.70336,E,0.070,55.90,120308,,,A*5B
+$GPRMC,110210.00,A,5159.00714,N,00423.70335,E,0.019,,120308,,,A*7E
+$GPRMC,110211.00,A,5159.00714,N,00423.70334,E,0.007,,120308,,,A*71
+$GPRMC,110212.00,A,5159.00715,N,00423.70331,E,0.024,58.49,120308,,,A*59
+$GPRMC,110213.00,A,5159.00717,N,00423.70327,E,0.021,55.62,120308,,,A*5C
+$GPRMC,110214.00,A,5159.00719,N,00423.70324,E,0.006,,120308,,,A*79
+$GPRMC,110215.00,A,5159.00724,N,00423.70320,E,0.004,,120308,,,A*70
+$GPRMC,110216.00,A,5159.00729,N,00423.70314,E,0.011,,120308,,,A*7D
+$GPRMC,110217.00,A,5159.00736,N,00423.70306,E,0.015,,120308,,,A*75
+$GPRMC,110218.00,A,5159.00743,N,00423.70298,E,0.016,,120308,,,A*7D
+$GPRMC,110219.00,A,5159.00750,N,00423.70290,E,0.025,58.49,120308,,,A*58
+$GPRMC,110220.00,A,5159.00754,N,00423.70284,E,0.018,,120308,,,A*73
+$GPRMC,110221.00,A,5159.00760,N,00423.70279,E,0.029,55.25,120308,,,A*5C
+$GPRMC,110222.00,A,5159.00766,N,00423.70274,E,0.006,,120308,,,A*70
+$GPRMC,110223.00,A,5159.00772,N,00423.70268,E,0.017,,120308,,,A*79
+$GPRMC,110224.00,A,5159.00777,N,00423.70260,E,0.006,,120308,,,A*73
+$GPRMC,110225.00,A,5159.00782,N,00423.70251,E,0.018,,120308,,,A*75
+$GPRMC,110226.00,A,5159.00786,N,00423.70245,E,0.012,,120308,,,A*7D
+$GPRMC,110227.00,A,5159.00791,N,00423.70239,E,0.022,52.49,120308,,,A*56
+$GPRMC,110228.00,A,5159.00796,N,00423.70235,E,0.014,,120308,,,A*73
+$GPRMC,110229.00,A,5159.00802,N,00423.70230,E,0.007,,120308,,,A*77
+$GPRMC,110230.00,A,5159.00807,N,00423.70225,E,0.004,,120308,,,A*7D
+$GPRMC,110231.00,A,5159.00811,N,00423.70220,E,0.010,,120308,,,A*7B
+$GPRMC,110232.00,A,5159.00816,N,00423.70217,E,0.032,50.43,120308,,,A*57
+$GPRMC,110233.00,A,5159.00820,N,00423.70217,E,0.019,,120308,,,A*76
+$GPRMC,110234.00,A,5159.00822,N,00423.70216,E,0.015,,120308,,,A*7E
+$GPRMC,110235.00,A,5159.00823,N,00423.70215,E,0.010,,120308,,,A*78
+$GPRMC,110236.00,A,5159.00825,N,00423.70213,E,0.004,,120308,,,A*7E
+$GPRMC,110237.00,A,5159.00826,N,00423.70211,E,0.013,,120308,,,A*78
+$GPRMC,110238.00,A,5159.00828,N,00423.70208,E,0.003,,120308,,,A*70
+$GPRMC,110239.00,A,5159.00830,N,00423.70203,E,0.005,,120308,,,A*75
+$GPRMC,110240.00,A,5159.00832,N,00423.70199,E,0.016,,120308,,,A*7B
+$GPRMC,110241.00,A,5159.00833,N,00423.70199,E,0.011,,120308,,,A*7C
+$GPRMC,110242.00,A,5159.00833,N,00423.70198,E,0.012,,120308,,,A*7D
+$GPRMC,110243.00,A,5159.00834,N,00423.70198,E,0.008,,120308,,,A*70
+$GPRMC,110244.00,A,5159.00834,N,00423.70198,E,0.006,,120308,,,A*79
+$GPRMC,110245.00,A,5159.00834,N,00423.70198,E,0.008,,120308,,,A*76
+$GPRMC,110246.00,A,5159.00831,N,00423.70199,E,0.011,,120308,,,A*79
+$GPRMC,110247.00,A,5159.00827,N,00423.70199,E,0.006,,120308,,,A*79
+$GPRMC,110248.00,A,5159.00824,N,00423.70202,E,0.024,46.88,120308,,,A*58
+$GPRMC,110249.00,A,5159.00821,N,00423.70205,E,0.009,,120308,,,A*78
+$GPRMC,110250.00,A,5159.00818,N,00423.70209,E,0.005,,120308,,,A*7A
+$GPRMC,110251.00,A,5159.00814,N,00423.70217,E,0.017,,120308,,,A*7B
+$GPRMC,110252.00,A,5159.00811,N,00423.70226,E,0.025,44.59,120308,,,A*5C
+$GPRMC,110253.00,A,5159.00807,N,00423.70232,E,0.009,,120308,,,A*73
+$GPRMC,110254.00,A,5159.00803,N,00423.70239,E,0.017,,120308,,,A*74
+$GPRMC,110255.00,A,5159.00798,N,00423.70247,E,0.011,,120308,,,A*77
+$GPRMC,110256.00,A,5159.00794,N,00423.70254,E,0.002,,120308,,,A*78
+$GPRMC,110257.00,A,5159.00790,N,00423.70262,E,0.014,,120308,,,A*7F
+$GPRMC,110258.00,A,5159.00787,N,00423.70271,E,0.012,,120308,,,A*72
+$GPRMC,110259.00,A,5159.00784,N,00423.70279,E,0.001,,120308,,,A*7A
+$GPRMC,110300.00,A,5159.00782,N,00423.70287,E,0.009,,120308,,,A*78
+$GPRMC,110301.00,A,5159.00779,N,00423.70296,E,0.008,,120308,,,A*7C
+$GPRMC,110302.00,A,5159.00776,N,00423.70306,E,0.012,,120308,,,A*73
+$GPRMC,110303.00,A,5159.00775,N,00423.70312,E,0.007,,120308,,,A*70
+$GPRMC,110304.00,A,5159.00772,N,00423.70320,E,0.005,,120308,,,A*73
+$GPRMC,110305.00,A,5159.00770,N,00423.70328,E,0.006,,120308,,,A*7B
+$GPRMC,110306.00,A,5159.00768,N,00423.70335,E,0.012,,120308,,,A*78
+$GPRMC,110307.00,A,5159.00765,N,00423.70343,E,0.008,,120308,,,A*7E
+$GPRMC,110308.00,A,5159.00762,N,00423.70349,E,0.008,,120308,,,A*7C
+$GPRMC,110309.00,A,5159.00759,N,00423.70356,E,0.023,48.25,120308,,,A*57
+$GPRMC,110310.00,A,5159.00756,N,00423.70359,E,0.009,,120308,,,A*72
+$GPRMC,110311.00,A,5159.00754,N,00423.70362,E,0.008,,120308,,,A*78
+$GPRMC,110312.00,A,5159.00753,N,00423.70364,E,0.008,,120308,,,A*7A
+$GPRMC,110313.00,A,5159.00751,N,00423.70368,E,0.008,,120308,,,A*75
+$GPRMC,110314.00,A,5159.00749,N,00423.70372,E,0.009,,120308,,,A*71
+$GPRMC,110315.00,A,5159.00747,N,00423.70376,E,0.011,,120308,,,A*73
+$GPRMC,110316.00,A,5159.00743,N,00423.70380,E,0.008,,120308,,,A*75
+$GPRMC,110317.00,A,5159.00740,N,00423.70383,E,0.016,,120308,,,A*7B
+$GPRMC,110318.00,A,5159.00739,N,00423.70385,E,0.006,,120308,,,A*7D
+$GPRMC,110319.00,A,5159.00736,N,00423.70387,E,0.011,,120308,,,A*77
+$GPRMC,110320.00,A,5159.00735,N,00423.70388,E,0.015,,120308,,,A*75
+$GPRMC,110321.00,A,5159.00734,N,00423.70388,E,0.011,,120308,,,A*71
+$GPRMC,110322.00,A,5159.00733,N,00423.70387,E,0.008,,120308,,,A*72
+$GPRMC,110323.00,A,5159.00732,N,00423.70386,E,0.014,,120308,,,A*7E
+$GPRMC,110324.00,A,5159.00731,N,00423.70384,E,0.012,,120308,,,A*7E
+$GPRMC,110325.00,A,5159.00730,N,00423.70382,E,0.008,,120308,,,A*73
+$GPRMC,110326.00,A,5159.00731,N,00423.70382,E,0.009,,120308,,,A*70
+$GPRMC,110327.00,A,5159.00732,N,00423.70380,E,0.009,,120308,,,A*70
+$GPRMC,110328.00,A,5159.00733,N,00423.70380,E,0.009,,120308,,,A*7E
+$GPRMC,110329.00,A,5159.00734,N,00423.70380,E,0.010,,120308,,,A*70
+$GPRMC,110330.00,A,5159.00734,N,00423.70381,E,0.010,,120308,,,A*79
+$GPRMC,110331.00,A,5159.00736,N,00423.70382,E,0.013,,120308,,,A*7A
+$GPRMC,110332.00,A,5159.00736,N,00423.70383,E,0.015,,120308,,,A*7E
+$GPRMC,110333.00,A,5159.00737,N,00423.70384,E,0.005,,120308,,,A*78
+$GPRMC,110334.00,A,5159.00738,N,00423.70384,E,0.017,,120308,,,A*73
+$GPRMC,110335.00,A,5159.00739,N,00423.70383,E,0.019,,120308,,,A*7A
+$GPRMC,110336.00,A,5159.00739,N,00423.70381,E,0.018,,120308,,,A*7A
+$GPRMC,110337.00,A,5159.00739,N,00423.70379,E,0.006,,120308,,,A*73
+$GPRMC,110338.00,A,5159.00740,N,00423.70376,E,0.006,,120308,,,A*7D
+$GPRMC,110339.00,A,5159.00741,N,00423.70374,E,0.005,,120308,,,A*7C
+$GPRMC,110340.00,A,5159.00742,N,00423.70371,E,0.006,,120308,,,A*77
+$GPRMC,110341.00,A,5159.00743,N,00423.70369,E,0.007,,120308,,,A*7F
+$GPRMC,110342.00,A,5159.00744,N,00423.70367,E,0.008,,120308,,,A*7A
+$GPRMC,110343.00,A,5159.00745,N,00423.70366,E,0.017,,120308,,,A*75
+$GPRMC,110344.00,A,5159.00748,N,00423.70363,E,0.010,,120308,,,A*7D
+$GPRMC,110345.00,A,5159.00749,N,00423.70362,E,0.004,,120308,,,A*79
+$GPRMC,110346.00,A,5159.00751,N,00423.70361,E,0.012,,120308,,,A*77
+$GPRMC,110347.00,A,5159.00755,N,00423.70359,E,0.003,,120308,,,A*79
+$GPRMC,110348.00,A,5159.00758,N,00423.70358,E,0.004,,120308,,,A*7D
+$GPRMC,110349.00,A,5159.00758,N,00423.70357,E,0.003,,120308,,,A*74
+$GPRMC,110350.00,A,5159.00759,N,00423.70356,E,0.013,,120308,,,A*7D
+$GPRMC,110351.00,A,5159.00762,N,00423.70357,E,0.007,,120308,,,A*70
+$GPRMC,110352.00,A,5159.00764,N,00423.70360,E,0.005,,120308,,,A*73
+$GPRMC,110353.00,A,5159.00766,N,00423.70364,E,0.008,,120308,,,A*79
+$GPRMC,110354.00,A,5159.00769,N,00423.70366,E,0.008,,120308,,,A*73
+$GPRMC,110355.00,A,5159.00774,N,00423.70367,E,0.015,,120308,,,A*73
+$GPRMC,110356.00,A,5159.00776,N,00423.70369,E,0.016,,120308,,,A*7F
+$GPRMC,110357.00,A,5159.00777,N,00423.70372,E,0.008,,120308,,,A*7A
+$GPRMC,110358.00,A,5159.00779,N,00423.70372,E,0.007,,120308,,,A*74
+$GPRMC,110359.00,A,5159.00781,N,00423.70370,E,0.008,,120308,,,A*7F
+$GPRMC,110400.00,A,5159.00782,N,00423.70366,E,0.013,,120308,,,A*7A
+$GPRMC,110401.00,A,5159.00784,N,00423.70362,E,0.016,,120308,,,A*7C
+$GPRMC,110402.00,A,5159.00785,N,00423.70360,E,0.010,,120308,,,A*7A
+$GPRMC,110403.00,A,5159.00785,N,00423.70358,E,0.004,,120308,,,A*75
+$GPRMC,110404.00,A,5159.00786,N,00423.70355,E,0.021,46.29,120308,,,A*5C
+$GPRMC,110405.00,A,5159.00787,N,00423.70352,E,0.027,50.66,120308,,,A*51
+$GPRMC,110406.00,A,5159.00789,N,00423.70348,E,0.014,,120308,,,A*7C
+$GPRMC,110407.00,A,5159.00789,N,00423.70345,E,0.005,,120308,,,A*70
+$GPRMC,110408.00,A,5159.00790,N,00423.70341,E,0.009,,120308,,,A*7F
+$GPRMC,110409.00,A,5159.00791,N,00423.70336,E,0.007,,120308,,,A*71
+$GPRMC,110410.00,A,5159.00792,N,00423.70331,E,0.012,,120308,,,A*79
+$GPRMC,110411.00,A,5159.00793,N,00423.70327,E,0.012,,120308,,,A*7E
+$GPRMC,110412.00,A,5159.00795,N,00423.70322,E,0.009,,120308,,,A*74
+$GPRMC,110413.00,A,5159.00797,N,00423.70318,E,0.003,,120308,,,A*74
+$GPRMC,110414.00,A,5159.00799,N,00423.70314,E,0.006,,120308,,,A*74
+$GPRMC,110415.00,A,5159.00802,N,00423.70309,E,0.016,,120308,,,A*75
+$GPRMC,110416.00,A,5159.00803,N,00423.70306,E,0.013,,120308,,,A*7D
+$GPRMC,110417.00,A,5159.00805,N,00423.70302,E,0.009,,120308,,,A*75
+$GPRMC,110418.00,A,5159.00807,N,00423.70299,E,0.009,,120308,,,A*7B
+$GPRMC,110419.00,A,5159.00809,N,00423.70294,E,0.009,,120308,,,A*79
+$GPRMC,110420.00,A,5159.00811,N,00423.70290,E,0.003,,120308,,,A*74
+$GPRMC,110421.00,A,5159.00813,N,00423.70286,E,0.003,,120308,,,A*70
+$GPRMC,110422.00,A,5159.00813,N,00423.70282,E,0.018,,120308,,,A*7D
+$GPRMC,110423.00,A,5159.00814,N,00423.70278,E,0.012,,120308,,,A*74
+$GPRMC,110424.00,A,5159.00815,N,00423.70275,E,0.019,,120308,,,A*74
+$GPRMC,110425.00,A,5159.00816,N,00423.70273,E,0.014,,120308,,,A*7D
+$GPRMC,110426.00,A,5159.00818,N,00423.70274,E,0.010,,120308,,,A*73
+$GPRMC,110427.00,A,5159.00819,N,00423.70275,E,0.008,,120308,,,A*7B
+$GPRMC,110428.00,A,5159.00820,N,00423.70274,E,0.009,,120308,,,A*7E
+$GPRMC,110429.00,A,5159.00821,N,00423.70273,E,0.019,,120308,,,A*78
+$GPRMC,110430.00,A,5159.00822,N,00423.70272,E,0.017,,120308,,,A*7C
+$GPRMC,110431.00,A,5159.00823,N,00423.70271,E,0.007,,120308,,,A*7E
+$GPRMC,110432.00,A,5159.00823,N,00423.70270,E,0.011,,120308,,,A*7B
+$GPRMC,110433.00,A,5159.00823,N,00423.70269,E,0.005,,120308,,,A*77
+$GPRMC,110434.00,A,5159.00824,N,00423.70268,E,0.012,,120308,,,A*70
+$GPRMC,110435.00,A,5159.00824,N,00423.70269,E,0.020,53.58,120308,,,A*54
+$GPRMC,110436.00,A,5159.00824,N,00423.70273,E,0.028,56.92,120308,,,A*57
+$GPRMC,110437.00,A,5159.00826,N,00423.70266,E,0.032,53.99,120308,,,A*55
+$GPRMC,110438.00,A,5159.00830,N,00423.70257,E,0.028,57.31,120308,,,A*52
+$GPRMC,110439.00,A,5159.00829,N,00423.70263,E,0.051,60.79,120308,,,A*5A
+$GPRMC,110440.00,A,5159.00831,N,00423.70261,E,0.038,58.99,120308,,,A*55
+$GPRMC,110441.00,A,5159.00843,N,00423.70260,E,0.074,56.73,120308,,,A*52
+$GPRMC,110442.00,A,5159.00849,N,00423.70261,E,0.027,59.49,120308,,,A*5A
+$GPRMC,110443.00,A,5159.00854,N,00423.70253,E,0.013,,120308,,,A*7E
+$GPRMC,110444.00,A,5159.00858,N,00423.70240,E,0.026,63.94,120308,,,A*57
+$GPRMC,110445.00,A,5159.00860,N,00423.70231,E,0.029,62.68,120308,,,A*56
+$GPRMC,110446.00,A,5159.00865,N,00423.70223,E,0.152,60.29,120308,,,A*59
+$GPRMC,110447.00,A,5159.00873,N,00423.70213,E,0.150,63.88,120308,,,A*56
+$GPRMC,110448.00,A,5159.00879,N,00423.70194,E,0.207,70.53,120308,,,A*5A
+$GPRMC,110449.00,A,5159.00881,N,00423.70176,E,0.044,73.88,120308,,,A*50
+$GPRMC,110450.00,A,5159.00883,N,00423.70162,E,0.028,76.57,120308,,,A*52
+$GPRMC,110451.00,A,5159.00888,N,00423.70149,E,0.173,74.81,120308,,,A*57
+$GPRMC,110452.00,A,5159.00892,N,00423.70136,E,0.022,71.81,120308,,,A*57
+$GPRMC,110453.00,A,5159.00895,N,00423.70127,E,0.012,,120308,,,A*73
+$GPRMC,110454.00,A,5159.00898,N,00423.70121,E,0.004,,120308,,,A*78
+$GPRMC,110455.00,A,5159.00896,N,00423.70117,E,0.030,75.13,120308,,,A*5B
+$GPRMC,110456.00,A,5159.00893,N,00423.70115,E,0.040,73.27,120308,,,A*59
+$GPRMC,110457.00,A,5159.00895,N,00423.70114,E,0.014,,120308,,,A*71
+$GPRMC,110458.00,A,5159.00892,N,00423.70114,E,0.017,,120308,,,A*7A
+$GPRMC,110459.00,A,5159.00890,N,00423.70113,E,0.171,71.53,120308,,,A*51
+$GPRMC,110500.00,A,5159.00888,N,00423.70115,E,0.004,,120308,,,A*7E
+$GPRMC,110501.00,A,5159.00881,N,00423.70116,E,0.006,,120308,,,A*77
+$GPRMC,110502.00,A,5159.00879,N,00423.70117,E,0.006,,120308,,,A*72
+$GPRMC,110503.00,A,5159.00877,N,00423.70116,E,0.014,,120308,,,A*7F
+$GPRMC,110504.00,A,5159.00866,N,00423.70120,E,0.016,,120308,,,A*7F
+$GPRMC,110505.00,A,5159.00855,N,00423.70121,E,0.137,75.59,120308,,,A*5D
+$GPRMC,110506.00,A,5159.00842,N,00423.70125,E,0.286,80.97,120308,,,A*5D
+$GPRMC,110507.00,A,5159.00814,N,00423.70138,E,1.374,86.04,120308,,,A*52
+$GPRMC,110508.00,A,5159.00773,N,00423.70162,E,1.291,90.86,120308,,,A*5B
+$GPRMC,110509.00,A,5159.00747,N,00423.70177,E,0.259,95.59,120308,,,A*5B
+$GPRMC,110510.00,A,5159.00740,N,00423.70186,E,0.018,,120308,,,A*73
+$GPRMC,110511.00,A,5159.00736,N,00423.70195,E,0.023,92.08,120308,,,A*54
+$GPRMC,110512.00,A,5159.00730,N,00423.70203,E,0.022,95.17,120308,,,A*55
+$GPRMC,110513.00,A,5159.00723,N,00423.70215,E,0.031,92.41,120308,,,A*57
+$GPRMC,110514.00,A,5159.00720,N,00423.70228,E,0.019,,120308,,,A*77
+$GPRMC,110515.00,A,5159.00714,N,00423.70239,E,0.059,96.26,120308,,,A*50
+$GPRMC,110516.00,A,5159.00712,N,00423.70246,E,0.106,92.70,120308,,,A*51
+$GPRMC,110517.00,A,5159.00722,N,00423.70231,E,1.171,84.27,120308,,,A*57
+$GPRMC,110518.00,A,5159.00751,N,00423.70187,E,1.616,76.18,120308,,,A*55
+$GPRMC,110519.00,A,5159.00801,N,00423.70038,E,4.006,298.54,120308,,,A*63
+$GPRMC,110520.00,A,5159.00898,N,00423.69885,E,4.598,317.92,120308,,,A*61
+$GPRMC,110521.00,A,5159.01040,N,00423.69804,E,6.913,349.63,120308,,,A*6D
+$GPRMC,110522.00,A,5159.01231,N,00423.69778,E,8.096,0.65,120308,,,A*6C
+$GPRMC,110523.00,A,5159.01502,N,00423.69888,E,10.227,21.33,120308,,,A*6B
+$GPRMC,110524.00,A,5159.01786,N,00423.70034,E,10.295,20.06,120308,,,A*6B
+$GPRMC,110525.00,A,5159.02173,N,00423.70043,E,12.493,355.10,120308,,,A*51
+$GPRMC,110526.00,A,5159.02441,N,00423.69793,E,12.157,328.12,120308,,,A*51
+$GPRMC,110527.00,A,5159.02761,N,00423.69396,E,14.956,319.21,120308,,,A*5D
+$GPRMC,110528.00,A,5159.03184,N,00423.68931,E,19.770,327.27,120308,,,A*54
+$GPRMC,110529.00,A,5159.03791,N,00423.68513,E,23.346,338.38,120308,,,A*53
+$GPRMC,110530.00,A,5159.04535,N,00423.68144,E,28.327,343.75,120308,,,A*5F
+$GPRMC,110531.00,A,5159.05350,N,00423.67778,E,29.047,344.43,120308,,,A*5A
+$GPRMC,110532.00,A,5159.06202,N,00423.67400,E,31.190,345.11,120308,,,A*54
+$GPRMC,110533.00,A,5159.07106,N,00423.67017,E,33.316,345.17,120308,,,A*59
+$GPRMC,110534.00,A,5159.08060,N,00423.66589,E,34.831,345.25,120308,,,A*5B
+$GPRMC,110535.00,A,5159.09036,N,00423.66139,E,35.477,344.73,120308,,,A*5A
+$GPRMC,110536.00,A,5159.10019,N,00423.65690,E,35.973,344.74,120308,,,A*55
+$GPRMC,110537.00,A,5159.11002,N,00423.65251,E,36.109,344.56,120308,,,A*50
+$GPRMC,110538.00,A,5159.11993,N,00423.64806,E,37.075,344.27,120308,,,A*5A
+$GPRMC,110539.00,A,5159.13005,N,00423.64340,E,37.688,344.25,120308,,,A*50
+$GPRMC,110540.00,A,5159.14028,N,00423.63850,E,37.956,342.35,120308,,,A*50
+$GPRMC,110541.00,A,5159.15050,N,00423.63318,E,38.017,341.85,120308,,,A*53
+$GPRMC,110542.00,A,5159.16082,N,00423.62776,E,39.267,341.69,120308,,,A*57
+$GPRMC,110543.00,A,5159.17118,N,00423.62242,E,39.867,342.48,120308,,,A*5D
+$GPRMC,110544.00,A,5159.18195,N,00423.61706,E,40.944,343.08,120308,,,A*5D
+$GPRMC,110545.00,A,5159.19312,N,00423.61166,E,42.310,343.28,120308,,,A*5B
+$GPRMC,110546.00,A,5159.20467,N,00423.60623,E,43.710,343.94,120308,,,A*52
+$GPRMC,110547.00,A,5159.21672,N,00423.60083,E,45.274,344.85,120308,,,A*5E
+$GPRMC,110548.00,A,5159.22913,N,00423.59548,E,46.790,344.87,120308,,,A*5C
+$GPRMC,110549.00,A,5159.24189,N,00423.59008,E,47.648,345.28,120308,,,A*50
+$GPRMC,110550.00,A,5159.25476,N,00423.58478,E,47.380,345.65,120308,,,A*56
+$GPRMC,110551.00,A,5159.26769,N,00423.57950,E,48.065,345.43,120308,,,A*52
+$GPRMC,110552.00,A,5159.28074,N,00423.57403,E,48.324,345.05,120308,,,A*5B
+$GPRMC,110553.00,A,5159.29379,N,00423.56842,E,48.377,344.93,120308,,,A*55
+$GPRMC,110554.00,A,5159.30691,N,00423.56282,E,48.693,345.22,120308,,,A*5B
+$GPRMC,110555.00,A,5159.32017,N,00423.55725,E,49.262,345.46,120308,,,A*52
+$GPRMC,110556.00,A,5159.33353,N,00423.55166,E,49.713,345.44,120308,,,A*53
+$GPRMC,110557.00,A,5159.34701,N,00423.54600,E,49.958,345.34,120308,,,A*56
+$GPRMC,110558.00,A,5159.36050,N,00423.54039,E,49.726,345.91,120308,,,A*5C
+$GPRMC,110559.00,A,5159.37408,N,00423.53452,E,50.448,344.97,120308,,,A*5F
+$GPRMC,110600.00,A,5159.38771,N,00423.52858,E,50.559,345.13,120308,,,A*59
+$GPRMC,110601.00,A,5159.40139,N,00423.52271,E,50.576,345.14,120308,,,A*56
+$GPRMC,110602.00,A,5159.41506,N,00423.51684,E,50.756,344.93,120308,,,A*5F
+$GPRMC,110603.00,A,5159.42875,N,00423.51093,E,50.933,344.82,120308,,,A*59
+$GPRMC,110604.00,A,5159.44250,N,00423.50499,E,51.139,345.07,120308,,,A*55
+$GPRMC,110605.00,A,5159.45631,N,00423.49912,E,51.422,345.06,120308,,,A*5E
+$GPRMC,110606.00,A,5159.47013,N,00423.49326,E,51.183,345.28,120308,,,A*56
+$GPRMC,110607.00,A,5159.48387,N,00423.48739,E,50.860,344.95,120308,,,A*5F
+$GPRMC,110608.00,A,5159.49756,N,00423.48157,E,50.832,345.57,120308,,,A*5F
+$GPRMC,110609.00,A,5159.51124,N,00423.47604,E,50.680,346.12,120308,,,A*5F
+$GPRMC,110610.00,A,5159.52495,N,00423.47087,E,50.575,347.25,120308,,,A*5A
+$GPRMC,110611.00,A,5159.53868,N,00423.46630,E,50.452,349.19,120308,,,A*5A
+$GPRMC,110612.00,A,5159.55247,N,00423.46240,E,49.996,350.68,120308,,,A*58
+$GPRMC,110613.00,A,5159.56612,N,00423.45889,E,49.449,350.89,120308,,,A*52
+$GPRMC,110614.00,A,5159.57959,N,00423.45529,E,49.098,350.23,120308,,,A*5B
+$GPRMC,110615.00,A,5159.59288,N,00423.45149,E,48.480,349.67,120308,,,A*55
+$GPRMC,110616.00,A,5159.60598,N,00423.44760,E,47.868,349.69,120308,,,A*5D
+$GPRMC,110617.00,A,5159.61904,N,00423.44394,E,47.204,350.77,120308,,,A*5C
+$GPRMC,110618.00,A,5159.63176,N,00423.44073,E,45.868,351.56,120308,,,A*56
+$GPRMC,110619.00,A,5159.64412,N,00423.43779,E,44.364,351.79,120308,,,A*56
+$GPRMC,110620.00,A,5159.65608,N,00423.43504,E,42.827,352.27,120308,,,A*5E
+$GPRMC,110621.00,A,5159.66761,N,00423.43251,E,41.012,352.53,120308,,,A*5B
+$GPRMC,110622.00,A,5159.67844,N,00423.43024,E,37.969,352.89,120308,,,A*52
+$GPRMC,110623.00,A,5159.68835,N,00423.42827,E,34.264,353.52,120308,,,A*52
+$GPRMC,110624.00,A,5159.69727,N,00423.42691,E,30.589,355.36,120308,,,A*5F
+$GPRMC,110625.00,A,5159.70514,N,00423.42620,E,26.185,358.27,120308,,,A*5C
+$GPRMC,110626.00,A,5159.71173,N,00423.42612,E,21.691,0.83,120308,,,A*5F
+$GPRMC,110627.00,A,5159.71738,N,00423.42628,E,19.231,2.15,120308,,,A*56
+$GPRMC,110628.00,A,5159.72247,N,00423.42679,E,18.569,3.31,120308,,,A*5F
+$GPRMC,110629.00,A,5159.72756,N,00423.42749,E,18.998,4.23,120308,,,A*5F
+$GPRMC,110630.00,A,5159.73279,N,00423.42837,E,19.381,5.38,120308,,,A*50
+$GPRMC,110631.00,A,5159.73801,N,00423.42942,E,19.092,5.97,120308,,,A*53
+$GPRMC,110632.00,A,5159.74313,N,00423.43062,E,18.836,6.35,120308,,,A*59
+$GPRMC,110633.00,A,5159.74819,N,00423.43191,E,19.058,8.21,120308,,,A*5E
+$GPRMC,110634.00,A,5159.75324,N,00423.43344,E,18.950,9.79,120308,,,A*5B
+$GPRMC,110635.00,A,5159.75839,N,00423.43527,E,20.047,11.82,120308,,,A*67
+$GPRMC,110636.00,A,5159.76401,N,00423.43735,E,21.941,13.52,120308,,,A*60
+$GPRMC,110637.00,A,5159.77026,N,00423.44003,E,24.891,15.24,120308,,,A*6A
+$GPRMC,110638.00,A,5159.77712,N,00423.44321,E,26.530,16.10,120308,,,A*66
+$GPRMC,110639.00,A,5159.78446,N,00423.44610,E,27.266,12.51,120308,,,A*69
+$GPRMC,110640.00,A,5159.79223,N,00423.44770,E,27.615,4.69,120308,,,A*58
+$GPRMC,110641.00,A,5159.79976,N,00423.44736,E,27.086,356.69,120308,,,A*58
+$GPRMC,110642.00,A,5159.80718,N,00423.44508,E,27.772,346.22,120308,,,A*56
+$GPRMC,110643.00,A,5159.81470,N,00423.44086,E,28.458,336.52,120308,,,A*5C
+$GPRMC,110644.00,A,5159.82110,N,00423.43495,E,27.850,327.68,120308,,,A*58
+$GPRMC,110645.00,A,5159.82716,N,00423.42686,E,28.124,318.94,120308,,,A*52
+$GPRMC,110646.00,A,5159.83212,N,00423.41735,E,28.395,308.55,120308,,,A*5F
+$GPRMC,110647.00,A,5159.83648,N,00423.40663,E,27.993,302.67,120308,,,A*5E
+$GPRMC,110648.00,A,5159.84049,N,00423.39560,E,28.013,300.08,120308,,,A*5A
+$GPRMC,110649.00,A,5159.84294,N,00423.38422,E,26.511,289.33,120308,,,A*5E
+$GPRMC,110650.00,A,5159.84455,N,00423.37263,E,25.614,280.39,120308,,,A*57
+$GPRMC,110651.00,A,5159.84537,N,00423.36075,E,26.065,273.56,120308,,,A*51
+$GPRMC,110652.00,A,5159.84372,N,00423.34942,E,24.530,260.74,120308,,,A*5F
+$GPRMC,110653.00,A,5159.84164,N,00423.33839,E,23.926,251.85,120308,,,A*51
+$GPRMC,110654.00,A,5159.83920,N,00423.32835,E,23.583,248.14,120308,,,A*57
+$GPRMC,110655.00,A,5159.83639,N,00423.31835,E,24.344,244.42,120308,,,A*57
+$GPRMC,110656.00,A,5159.83321,N,00423.30796,E,25.109,242.67,120308,,,A*54
+$GPRMC,110657.00,A,5159.82941,N,00423.29779,E,26.442,238.80,120308,,,A*5C
+$GPRMC,110658.00,A,5159.82478,N,00423.28707,E,28.319,234.32,120308,,,A*5E
+$GPRMC,110659.00,A,5159.81986,N,00423.27604,E,30.046,232.61,120308,,,A*5D
+$GPRMC,110700.00,A,5159.81449,N,00423.26475,E,31.406,232.82,120308,,,A*57
+$GPRMC,110701.00,A,5159.80882,N,00423.25288,E,32.980,233.37,120308,,,A*54
+$GPRMC,110702.00,A,5159.80299,N,00423.24029,E,35.081,233.39,120308,,,A*5E
+$GPRMC,110703.00,A,5159.79690,N,00423.22705,E,36.677,234.28,120308,,,A*50
+$GPRMC,110704.00,A,5159.79070,N,00423.21307,E,38.329,235.05,120308,,,A*54
+$GPRMC,110705.00,A,5159.78440,N,00423.19868,E,39.827,235.84,120308,,,A*57
+$GPRMC,110706.00,A,5159.77798,N,00423.18355,E,40.975,235.51,120308,,,A*59
+$GPRMC,110707.00,A,5159.77207,N,00423.16731,E,41.929,239.44,120308,,,A*53
+$GPRMC,110708.00,A,5159.76720,N,00423.15101,E,40.629,243.89,120308,,,A*59
+$GPRMC,110709.00,A,5159.76340,N,00423.13423,E,40.028,248.80,120308,,,A*5C
+$GPRMC,110710.00,A,5159.75940,N,00423.11710,E,39.524,250.32,120308,,,A*5B
+$GPRMC,110711.00,A,5159.75597,N,00423.09999,E,39.480,251.70,120308,,,A*52
+$GPRMC,110712.00,A,5159.75303,N,00423.08240,E,39.408,253.72,120308,,,A*54
+$GPRMC,110713.00,A,5159.74922,N,00423.06591,E,38.307,250.76,120308,,,A*56
+$GPRMC,110714.00,A,5159.74565,N,00423.04978,E,37.408,250.30,120308,,,A*52
+$GPRMC,110715.00,A,5159.74225,N,00423.03415,E,35.524,250.97,120308,,,A*51
+$GPRMC,110716.00,A,5159.73908,N,00423.01946,E,33.624,250.82,120308,,,A*59
+$GPRMC,110717.00,A,5159.73570,N,00423.00499,E,32.499,248.86,120308,,,A*5D
+$GPRMC,110718.00,A,5159.73239,N,00422.99124,E,32.017,249.21,120308,,,A*54
+$GPRMC,110719.00,A,5159.72900,N,00422.97790,E,31.204,249.26,120308,,,A*56
+$GPRMC,110720.00,A,5159.72599,N,00422.96569,E,27.660,249.75,120308,,,A*52
+$GPRMC,110721.00,A,5159.72367,N,00422.95509,E,23.543,251.02,120308,,,A*5E
+$GPRMC,110722.00,A,5159.72165,N,00422.94648,E,19.378,249.18,120308,,,A*5F
+$GPRMC,110723.00,A,5159.71964,N,00422.93959,E,16.258,244.49,120308,,,A*59
+$GPRMC,110724.00,A,5159.71815,N,00422.93400,E,12.958,248.13,120308,,,A*54
+$GPRMC,110725.00,A,5159.71696,N,00422.92984,E,9.906,248.66,120308,,,A*63
+$GPRMC,110726.00,A,5159.71597,N,00422.92698,E,6.334,246.49,120308,,,A*67
+$GPRMC,110727.00,A,5159.71545,N,00422.92558,E,3.374,243.55,120308,,,A*6F
+$GPRMC,110728.00,A,5159.71487,N,00422.92526,E,1.591,244.96,120308,,,A*61
+$GPRMC,110729.00,A,5159.71472,N,00422.92535,E,0.867,244.75,120308,,,A*60
+$GPRMC,110730.00,A,5159.71412,N,00422.92593,E,0.780,243.29,120308,,,A*6A
+$GPRMC,110731.00,A,5159.71374,N,00422.92638,E,0.491,242.21,120308,,,A*64
+$GPRMC,110732.00,A,5159.71361,N,00422.92659,E,0.154,244.30,120308,,,A*6E
+$GPRMC,110733.00,A,5159.71352,N,00422.92677,E,0.478,248.01,120308,,,A*66
+$GPRMC,110734.00,A,5159.71343,N,00422.92637,E,2.510,253.31,120308,,,A*61
+$GPRMC,110735.00,A,5159.71319,N,00422.92482,E,5.429,254.53,120308,,,A*6C
+$GPRMC,110736.00,A,5159.71255,N,00422.92241,E,7.325,246.27,120308,,,A*66
+$GPRMC,110737.00,A,5159.71194,N,00422.91949,E,6.645,240.13,120308,,,A*6A
+$GPRMC,110738.00,A,5159.71183,N,00422.91746,E,3.459,250.61,120308,,,A*6C
+$GPRMC,110739.00,A,5159.71137,N,00422.91678,E,1.379,248.52,120308,,,A*60
+$GPRMC,110740.00,A,5159.71135,N,00422.91680,E,0.534,246.81,120308,,,A*65
+$GPRMC,110741.00,A,5159.71106,N,00422.91673,E,0.588,245.00,120308,,,A*65
+$GPRMC,110742.00,A,5159.71035,N,00422.91597,E,3.029,209.35,120308,,,A*6D
+$GPRMC,110743.00,A,5159.70954,N,00422.91447,E,5.203,228.77,120308,,,A*66
+$GPRMC,110744.00,A,5159.70824,N,00422.91262,E,6.079,222.85,120308,,,A*6D
+$GPRMC,110745.00,A,5159.70637,N,00422.91074,E,6.750,216.46,120308,,,A*61
+$GPRMC,110746.00,A,5159.70365,N,00422.91011,E,7.108,196.52,120308,,,A*67
+$GPRMC,110747.00,A,5159.70001,N,00422.91074,E,9.173,179.37,120308,,,A*64
+$GPRMC,110748.00,A,5159.69568,N,00422.91160,E,11.351,175.18,120308,,,A*57
+$GPRMC,110749.00,A,5159.68918,N,00422.91536,E,15.291,164.59,120308,,,A*57
+$GPRMC,110750.00,A,5159.67974,N,00422.92350,E,21.492,156.16,120308,,,A*57
+$GPRMC,110751.00,A,5159.66367,N,00422.93224,E,32.906,157.63,120308,,,A*5D
+$GPRMC,110752.00,A,5159.65446,N,00422.93848,E,33.329,158.05,120308,,,A*50
+$GPRMC,110753.00,A,5159.64514,N,00422.94521,E,33.666,157.35,120308,,,A*51
+$GPRMC,110754.00,A,5159.63547,N,00422.95203,E,33.809,156.29,120308,,,A*5A
+$GPRMC,110755.00,A,5159.62594,N,00422.95990,E,34.483,154.32,120308,,,A*54
+$GPRMC,110756.00,A,5159.61809,N,00422.96765,E,32.862,151.05,120308,,,A*5E
+$GPRMC,110757.00,A,5159.61004,N,00422.97528,E,32.787,149.52,120308,,,A*5F
+$GPRMC,110758.00,A,5159.60224,N,00422.98288,E,32.420,148.76,120308,,,A*5A
+$GPRMC,110759.00,A,5159.59470,N,00422.98948,E,30.784,150.97,120308,,,A*58
+$GPRMC,110800.00,A,5159.58750,N,00422.99571,E,30.222,152.35,120308,,,A*5F
+$GPRMC,110801.00,A,5159.58187,N,00422.99790,E,26.393,159.31,120308,,,A*5C
+$GPRMC,110802.00,A,5159.57737,N,00422.99677,E,22.431,170.20,120308,,,A*55
+$GPRMC,110803.00,A,5159.57407,N,00422.99369,E,18.943,182.02,120308,,,A*52
+$GPRMC,110804.00,A,5159.57015,N,00422.98359,E,19.624,207.58,120308,,,A*5E
+$GPRMC,110805.00,A,5159.56518,N,00422.97501,E,23.046,218.18,120308,,,A*53
+$GPRMC,110806.00,A,5159.56264,N,00422.96700,E,22.947,226.11,120308,,,A*53
+$GPRMC,110807.00,A,5159.56034,N,00422.95837,E,23.102,232.36,120308,,,A*55
+$GPRMC,110808.00,A,5159.55811,N,00422.94919,E,23.718,237.42,120308,,,A*51
+$GPRMC,110809.00,A,5159.55570,N,00422.93940,E,24.702,241.03,120308,,,A*59
+$GPRMC,110810.00,A,5159.55275,N,00422.92910,E,26.129,242.69,120308,,,A*55
+$GPRMC,110811.00,A,5159.55017,N,00422.91791,E,27.693,244.69,120308,,,A*57
+$GPRMC,110812.00,A,5159.54731,N,00422.90629,E,28.415,245.71,120308,,,A*5E
+$GPRMC,110813.00,A,5159.54412,N,00422.89451,E,28.664,245.95,120308,,,A*56
+$GPRMC,110814.00,A,5159.54114,N,00422.88252,E,28.892,246.48,120308,,,A*52
+$GPRMC,110815.00,A,5159.53803,N,00422.87055,E,28.756,246.44,120308,,,A*5A
+$GPRMC,110816.00,A,5159.53504,N,00422.85883,E,28.318,246.36,120308,,,A*59
+$GPRMC,110817.00,A,5159.53218,N,00422.84779,E,27.065,246.46,120308,,,A*58
+$GPRMC,110818.00,A,5159.52954,N,00422.83698,E,25.463,247.23,120308,,,A*5E
+$GPRMC,110819.00,A,5159.52723,N,00422.82786,E,23.121,247.30,120308,,,A*59
+$GPRMC,110820.00,A,5159.52502,N,00422.81888,E,21.229,247.42,120308,,,A*5C
+$GPRMC,110821.00,A,5159.52307,N,00422.81087,E,18.312,246.65,120308,,,A*5E
+$GPRMC,110822.00,A,5159.52140,N,00422.80370,E,16.161,246.67,120308,,,A*5C
+$GPRMC,110823.00,A,5159.51959,N,00422.79729,E,15.913,245.69,120308,,,A*53
+$GPRMC,110824.00,A,5159.51691,N,00422.79199,E,14.990,238.87,120308,,,A*52
+$GPRMC,110825.00,A,5159.51434,N,00422.78813,E,13.135,232.05,120308,,,A*54
+$GPRMC,110826.00,A,5159.51199,N,00422.78583,E,11.197,224.00,120308,,,A*59
+$GPRMC,110827.00,A,5159.50848,N,00422.78680,E,9.834,201.53,120308,,,A*64
+$GPRMC,110828.00,A,5159.50295,N,00422.79178,E,12.254,168.92,120308,,,A*57
+$GPRMC,110829.00,A,5159.49783,N,00422.79502,E,14.175,163.75,120308,,,A*51
+$GPRMC,110830.00,A,5159.49320,N,00422.79782,E,14.635,162.92,120308,,,A*55
+$GPRMC,110831.00,A,5159.49023,N,00422.80043,E,13.147,162.08,120308,,,A*5E
+$GPRMC,110832.00,A,5159.48690,N,00422.80230,E,12.363,164.00,120308,,,A*5F
+$GPRMC,110833.00,A,5159.48471,N,00422.80189,E,10.080,174.16,120308,,,A*58
+$GPRMC,110834.00,A,5159.48260,N,00422.80238,E,8.502,180.50,120308,,,A*6F
+$GPRMC,110835.00,A,5159.48133,N,00422.80256,E,6.627,186.28,120308,,,A*60
+$GPRMC,110836.00,A,5159.48065,N,00422.80269,E,5.134,183.91,120308,,,A*6C
+$GPRMC,110837.00,A,5159.48002,N,00422.80294,E,4.282,179.06,120308,,,A*6A
+$GPRMC,110838.00,A,5159.48018,N,00422.80365,E,2.821,165.48,120308,,,A*63
+$GPRMC,110839.00,A,5159.48040,N,00422.80386,E,1.921,165.35,120308,,,A*6A
+$GPRMC,110840.00,A,5159.48059,N,00422.80399,E,1.506,165.23,120308,,,A*6C
+$GPRMC,110841.00,A,5159.48099,N,00422.80406,E,0.939,165.33,120308,,,A*60
+$GPRMC,110842.00,A,5159.48132,N,00422.80406,E,0.776,165.69,120308,,,A*69
+$GPRMC,110843.00,A,5159.48171,N,00422.80396,E,0.587,166.06,120308,,,A*67
+$GPRMC,110844.00,A,5159.48237,N,00422.80421,E,0.508,177.03,120308,,,A*68
+$GPRMC,110845.00,A,5159.48309,N,00422.80465,E,0.053,171.49,120308,,,A*66
+$GPRMC,110846.00,A,5159.48354,N,00422.80492,E,0.025,172.47,120308,,,A*69
+$GPRMC,110847.00,A,5159.48398,N,00422.80537,E,0.770,173.68,120308,,,A*6D
+$GPRMC,110848.00,A,5159.48389,N,00422.80576,E,0.189,175.63,120308,,,A*6A
+$GPRMC,110849.00,A,5159.48352,N,00422.80661,E,0.050,176.17,120308,,,A*6D
+$GPRMC,110850.00,A,5159.48316,N,00422.80719,E,0.292,166.34,120308,,,A*67
+$GPRMC,110851.00,A,5159.48285,N,00422.80779,E,0.023,168.82,120308,,,A*60
+$GPRMC,110852.00,A,5159.48257,N,00422.80841,E,0.036,167.38,120308,,,A*62
+$GPRMC,110853.00,A,5159.48195,N,00422.80953,E,0.037,172.95,120308,,,A*6E
+$GPRMC,110854.00,A,5159.48144,N,00422.81034,E,0.079,172.60,120308,,,A*6C
+$GPRMC,110855.00,A,5159.48113,N,00422.81095,E,0.031,171.07,120308,,,A*6A
+$GPRMC,110856.00,A,5159.48100,N,00422.81131,E,0.022,167.47,120308,,,A*65
+$GPRMC,110857.00,A,5159.48089,N,00422.81156,E,0.194,167.69,120308,,,A*65
+$GPRMC,110858.00,A,5159.48081,N,00422.81180,E,0.035,171.59,120308,,,A*67
+$GPRMC,110859.00,A,5159.48064,N,00422.81207,E,0.193,171.58,120308,,,A*6D
+$GPRMC,110900.00,A,5159.48039,N,00422.81235,E,0.222,171.21,120308,,,A*6E
+$GPRMC,110901.00,A,5159.48017,N,00422.81261,E,0.330,171.00,120308,,,A*63
+$GPRMC,110902.00,A,5159.47983,N,00422.81286,E,0.512,171.08,120308,,,A*6C
+$GPRMC,110903.00,A,5159.48005,N,00422.81288,E,0.574,172.27,120308,,,A*65
+$GPRMC,110904.00,A,5159.47996,N,00422.81301,E,0.057,177.77,120308,,,A*6A
+$GPRMC,110905.00,A,5159.47997,N,00422.81313,E,0.039,179.28,120308,,,A*65
+$GPRMC,110906.00,A,5159.48009,N,00422.81317,E,0.160,179.94,120308,,,A*69
+$GPRMC,110907.00,A,5159.48030,N,00422.81323,E,0.181,177.97,120308,,,A*67
+$GPRMC,110908.00,A,5159.48053,N,00422.81319,E,0.074,172.59,120308,,,A*68
+$GPRMC,110909.00,A,5159.48075,N,00422.81323,E,0.024,177.82,120308,,,A*62
+$GPRMC,110910.00,A,5159.48098,N,00422.81325,E,0.026,182.34,120308,,,A*6A
+$GPRMC,110911.00,A,5159.48121,N,00422.81324,E,0.107,183.10,120308,,,A*6C
+$GPRMC,110912.00,A,5159.48154,N,00422.81317,E,0.080,177.87,120308,,,A*66
+$GPRMC,110913.00,A,5159.48185,N,00422.81312,E,0.138,182.65,120308,,,A*6A
+$GPRMC,110914.00,A,5159.48225,N,00422.81295,E,0.497,189.76,120308,,,A*63
+$GPRMC,110915.00,A,5159.48273,N,00422.81266,E,0.030,186.12,120308,,,A*69
+$GPRMC,110916.00,A,5159.48312,N,00422.81246,E,0.021,184.96,120308,,,A*60
+$GPRMC,110917.00,A,5159.48339,N,00422.81232,E,0.052,184.74,120308,,,A*63
+$GPRMC,110918.00,A,5159.48356,N,00422.81220,E,0.104,189.18,120308,,,A*63
+$GPRMC,110919.00,A,5159.48381,N,00422.81213,E,0.235,178.44,120308,,,A*6E
+$GPRMC,110920.00,A,5159.48430,N,00422.81211,E,0.657,167.95,120308,,,A*69
+$GPRMC,110921.00,A,5159.48453,N,00422.81201,E,0.040,170.00,120308,,,A*66
+$GPRMC,110922.00,A,5159.48493,N,00422.81198,E,0.906,159.97,120308,,,A*64
+$GPRMC,110923.00,A,5159.48555,N,00422.81192,E,0.626,150.52,120308,,,A*69
+$GPRMC,110924.00,A,5159.48674,N,00422.81180,E,0.534,141.68,120308,,,A*64
+$GPRMC,110925.00,A,5159.48744,N,00422.81168,E,0.234,144.70,120308,,,A*6A
+$GPRMC,110926.00,A,5159.48688,N,00422.81134,E,0.090,146.06,120308,,,A*6E
+$GPRMC,110927.00,A,5159.48646,N,00422.81108,E,0.098,146.72,120308,,,A*69
+$GPRMC,110928.00,A,5159.48621,N,00422.81088,E,0.067,147.71,120308,,,A*6C
+$GPRMC,110929.00,A,5159.48589,N,00422.81070,E,0.384,150.42,120308,,,A*63
+$GPRMC,110930.00,A,5159.48544,N,00422.81045,E,1.309,152.87,120308,,,A*63
+$GPRMC,110931.00,A,5159.48521,N,00422.81037,E,1.196,154.20,120308,,,A*6B
+$GPRMC,110932.00,A,5159.48503,N,00422.81039,E,1.249,155.17,120308,,,A*62
+$GPRMC,110933.00,A,5159.48502,N,00422.81067,E,1.283,154.06,120308,,,A*6E
+$GPRMC,110934.00,A,5159.48340,N,00422.81118,E,6.940,161.65,120308,,,A*60
+$GPRMC,110935.00,A,5159.48029,N,00422.81234,E,11.630,164.88,120308,,,A*58
+$GPRMC,110936.00,A,5159.47661,N,00422.81417,E,13.334,160.96,120308,,,A*51
+$GPRMC,110937.00,A,5159.47261,N,00422.81611,E,14.250,163.16,120308,,,A*5F
+$GPRMC,110938.00,A,5159.46889,N,00422.81798,E,13.721,160.38,120308,,,A*56
+$GPRMC,110939.00,A,5159.46497,N,00422.81968,E,14.337,164.29,120308,,,A*55
+$GPRMC,110940.00,A,5159.46055,N,00422.82024,E,14.003,176.95,120308,,,A*53
+$GPRMC,110941.00,A,5159.45703,N,00422.81837,E,14.049,201.40,120308,,,A*59
+$GPRMC,110942.00,A,5159.45372,N,00422.81342,E,15.426,225.08,120308,,,A*57
+$GPRMC,110943.00,A,5159.45067,N,00422.80595,E,19.039,239.32,120308,,,A*5E
+$GPRMC,110944.00,A,5159.44784,N,00422.79646,E,24.272,246.59,120308,,,A*5F
+$GPRMC,110945.00,A,5159.44519,N,00422.78538,E,26.294,250.02,120308,,,A*50
+$GPRMC,110946.00,A,5159.44252,N,00422.77440,E,24.822,248.40,120308,,,A*50
+$GPRMC,110947.00,A,5159.43917,N,00422.76294,E,26.870,244.91,120308,,,A*57
+$GPRMC,110948.00,A,5159.43595,N,00422.75128,E,27.301,247.21,120308,,,A*5D
+$GPRMC,110949.00,A,5159.43309,N,00422.73940,E,27.548,249.78,120308,,,A*56
+$GPRMC,110950.00,A,5159.43035,N,00422.72732,E,27.029,250.48,120308,,,A*51
+$GPRMC,110951.00,A,5159.42741,N,00422.71541,E,28.432,249.43,120308,,,A*52
+$GPRMC,110952.00,A,5159.42507,N,00422.70499,E,24.089,251.51,120308,,,A*56
+$GPRMC,110953.00,A,5159.42279,N,00422.69530,E,22.668,251.58,120308,,,A*55
+$GPRMC,110954.00,A,5159.42086,N,00422.68759,E,17.574,251.90,120308,,,A*50
+$GPRMC,110955.00,A,5159.41938,N,00422.68185,E,13.050,248.02,120308,,,A*5D
+$GPRMC,110956.00,A,5159.41701,N,00422.67799,E,11.207,225.81,120308,,,A*5C
+$GPRMC,110957.00,A,5159.41400,N,00422.67550,E,8.760,203.58,120308,,,A*64
+$GPRMC,110958.00,A,5159.41099,N,00422.67493,E,8.231,178.04,120308,,,A*66
+$GPRMC,110959.00,A,5159.40900,N,00422.67551,E,7.135,164.35,120308,,,A*67
+$GPRMC,111000.00,A,5159.40626,N,00422.67715,E,7.772,154.77,120308,,,A*6A
+$GPRMC,111001.00,A,5159.40343,N,00422.67897,E,8.767,155.90,120308,,,A*6B
+$GPRMC,111002.00,A,5159.40074,N,00422.68065,E,7.508,158.89,120308,,,A*64
+$GPRMC,111003.00,A,5159.39831,N,00422.68229,E,6.614,158.30,120308,,,A*65
+$GPRMC,111004.00,A,5159.39689,N,00422.68333,E,3.434,158.42,120308,,,A*65
+$GPRMC,111005.00,A,5159.39590,N,00422.68408,E,1.564,158.61,120308,,,A*67
+$GPRMC,111006.00,A,5159.39568,N,00422.68421,E,0.453,158.50,120308,,,A*6E
+$GPRMC,111007.00,A,5159.39552,N,00422.68425,E,1.076,158.81,120308,,,A*6C
+$GPRMC,111008.00,A,5159.39509,N,00422.68477,E,1.548,158.84,120308,,,A*67
+$GPRMC,111009.00,A,5159.39377,N,00422.68577,E,4.839,163.85,120308,,,A*6F
+$GPRMC,111010.00,A,5159.39126,N,00422.68713,E,8.428,162.26,120308,,,A*69
+$GPRMC,111011.00,A,5159.38789,N,00422.68961,E,11.230,155.36,120308,,,A*53
+$GPRMC,111012.00,A,5159.38446,N,00422.69182,E,11.697,156.52,120308,,,A*5C
+$GPRMC,111013.00,A,5159.38135,N,00422.69439,E,11.435,153.10,120308,,,A*50
+$GPRMC,111014.00,A,5159.37871,N,00422.69720,E,10.482,139.36,120308,,,A*5F
+$GPRMC,111015.00,A,5159.37736,N,00422.70137,E,10.739,116.53,120308,,,A*57
+$GPRMC,111016.00,A,5159.37757,N,00422.70623,E,10.148,92.84,120308,,,A*66
+$GPRMC,111017.00,A,5159.37822,N,00422.70935,E,5.549,76.19,120308,,,A*5D
+$GPRMC,111018.00,A,5159.37927,N,00422.71074,E,2.347,43.78,120308,,,A*55
+$GPRMC,111019.00,A,5159.37977,N,00422.71149,E,2.065,42.09,120308,,,A*5A
+$GPRMC,111020.00,A,5159.38014,N,00422.71215,E,1.912,42.08,120308,,,A*52
+$GPRMC,111021.00,A,5159.37947,N,00422.71238,E,1.421,46.39,120308,,,A*57
+$GPRMC,111022.00,A,5159.37967,N,00422.71378,E,4.790,77.15,120308,,,A*53
+$GPRMC,111023.00,A,5159.38084,N,00422.71734,E,8.949,70.49,120308,,,A*5D
+$GPRMC,111024.00,A,5159.38186,N,00422.72200,E,11.658,66.21,120308,,,A*66
+$GPRMC,111025.00,A,5159.38330,N,00422.72692,E,11.665,65.49,120308,,,A*64
+$GPRMC,111026.00,A,5159.38464,N,00422.73145,E,10.625,62.67,120308,,,A*63
+$GPRMC,111027.00,A,5159.38560,N,00422.73564,E,8.891,63.91,120308,,,A*50
+$GPRMC,111028.00,A,5159.38561,N,00422.73862,E,6.332,89.23,120308,,,A*54
+$GPRMC,111029.00,A,5159.38489,N,00422.74142,E,5.978,114.00,120308,,,A*6D
+$GPRMC,111030.00,A,5159.38297,N,00422.74402,E,9.121,141.63,120308,,,A*60
+$GPRMC,111031.00,A,5159.38076,N,00422.74633,E,9.692,153.36,120308,,,A*60
+$GPRMC,111032.00,A,5159.37779,N,00422.74861,E,11.040,156.87,120308,,,A*52
+$GPRMC,111033.00,A,5159.37458,N,00422.75060,E,11.426,158.25,120308,,,A*59
+$GPRMC,111034.00,A,5159.37198,N,00422.75263,E,9.774,153.76,120308,,,A*66
+$GPRMC,111035.00,A,5159.36919,N,00422.75484,E,8.983,154.76,120308,,,A*68
+$GPRMC,111036.00,A,5159.36702,N,00422.75624,E,8.430,163.43,120308,,,A*60
+$GPRMC,111037.00,A,5159.36475,N,00422.75574,E,8.915,189.86,120308,,,A*63
+$GPRMC,111038.00,A,5159.36318,N,00422.75405,E,6.583,202.80,120308,,,A*6C
+$GPRMC,111039.00,A,5159.36272,N,00422.75289,E,3.485,188.92,120308,,,A*62
+$GPRMC,111040.00,A,5159.36269,N,00422.75253,E,0.579,188.09,120308,,,A*62
+$GPRMC,111041.00,A,5159.36302,N,00422.75249,E,0.138,187.67,120308,,,A*62
+$GPRMC,111042.00,A,5159.36296,N,00422.75243,E,0.041,186.75,120308,,,A*6A
+$GPRMC,111043.00,A,5159.36286,N,00422.75238,E,0.034,186.24,120308,,,A*60
+$GPRMC,111044.00,A,5159.36292,N,00422.75238,E,0.021,190.99,120308,,,A*67
+$GPRMC,111045.00,A,5159.36284,N,00422.75249,E,0.069,190.33,120308,,,A*6B
+$GPRMC,111046.00,A,5159.36285,N,00422.75255,E,0.022,194.78,120308,,,A*60
+$GPRMC,111047.00,A,5159.36288,N,00422.75259,E,0.102,194.23,120308,,,A*6D
+$GPRMC,111048.00,A,5159.36293,N,00422.75261,E,0.028,193.46,120308,,,A*6E
+$GPRMC,111049.00,A,5159.36298,N,00422.75260,E,0.011,,120308,,,A*78
+$GPRMC,111050.00,A,5159.36310,N,00422.75258,E,0.007,,120308,,,A*7D
+$GPRMC,111051.00,A,5159.36305,N,00422.75259,E,0.120,192.83,120308,,,A*62
+$GPRMC,111052.00,A,5159.36312,N,00422.75257,E,0.017,,120308,,,A*73
+$GPRMC,111053.00,A,5159.36317,N,00422.75254,E,0.005,,120308,,,A*77
+$GPRMC,111054.00,A,5159.36322,N,00422.75250,E,0.015,,120308,,,A*73
+$GPRMC,111055.00,A,5159.36325,N,00422.75245,E,0.023,197.59,120308,,,A*69
+$GPRMC,111056.00,A,5159.36327,N,00422.75241,E,0.009,,120308,,,A*79
+$GPRMC,111057.00,A,5159.36328,N,00422.75236,E,0.011,,120308,,,A*7E
+$GPRMC,111058.00,A,5159.36329,N,00422.75233,E,0.004,,120308,,,A*71
+$GPRMC,111059.00,A,5159.36332,N,00422.75231,E,0.004,,120308,,,A*78
+$GPRMC,111100.00,A,5159.36335,N,00422.75228,E,0.003,,120308,,,A*7D
+$GPRMC,111101.00,A,5159.36340,N,00422.75227,E,0.005,,120308,,,A*77
+$GPRMC,111102.00,A,5159.36345,N,00422.75226,E,0.003,,120308,,,A*76
+$GPRMC,111103.00,A,5159.36348,N,00422.75228,E,0.004,,120308,,,A*73
+$GPRMC,111104.00,A,5159.36351,N,00422.75230,E,0.002,,120308,,,A*73
+$GPRMC,111105.00,A,5159.36352,N,00422.75228,E,0.011,,120308,,,A*7A
+$GPRMC,111106.00,A,5159.36353,N,00422.75226,E,0.012,,120308,,,A*75
+$GPRMC,111107.00,A,5159.36353,N,00422.75221,E,0.019,,120308,,,A*78
+$GPRMC,111108.00,A,5159.36352,N,00422.75217,E,0.013,,120308,,,A*79
+$GPRMC,111109.00,A,5159.36353,N,00422.75217,E,0.015,,120308,,,A*7F
+$GPRMC,111110.00,A,5159.36351,N,00422.75210,E,0.012,,120308,,,A*75
+$GPRMC,111111.00,A,5159.36349,N,00422.75206,E,0.022,196.08,120308,,,A*61
+$GPRMC,111112.00,A,5159.36348,N,00422.75202,E,0.014,,120308,,,A*7A
+$GPRMC,111113.00,A,5159.36349,N,00422.75203,E,0.022,199.76,120308,,,A*60
+$GPRMC,111114.00,A,5159.36350,N,00422.75203,E,0.009,,120308,,,A*78
+$GPRMC,111115.00,A,5159.36351,N,00422.75203,E,0.028,199.84,120308,,,A*68
+$GPRMC,111116.00,A,5159.36351,N,00422.75204,E,0.025,205.10,120308,,,A*6A
+$GPRMC,111117.00,A,5159.36351,N,00422.75205,E,0.018,,120308,,,A*7C
+$GPRMC,111118.00,A,5159.36348,N,00422.75202,E,0.011,,120308,,,A*75
+$GPRMC,111119.00,A,5159.36345,N,00422.75210,E,0.032,200.92,120308,,,A*6C
+$GPRMC,111120.00,A,5159.36341,N,00422.75221,E,0.016,,120308,,,A*71
+$GPRMC,111121.00,A,5159.36337,N,00422.75229,E,0.158,205.78,120308,,,A*64
+$GPRMC,111122.00,A,5159.36338,N,00422.75235,E,0.195,215.49,120308,,,A*67
+$GPRMC,111123.00,A,5159.36335,N,00422.75238,E,0.109,214.24,120308,,,A*69
+$GPRMC,111124.00,A,5159.36317,N,00422.75254,E,0.146,213.21,120308,,,A*6D
+$GPRMC,111125.00,A,5159.36303,N,00422.75264,E,0.055,217.25,120308,,,A*69
+$GPRMC,111126.00,A,5159.36283,N,00422.75270,E,0.023,219.75,120308,,,A*6C
+$GPRMC,111127.00,A,5159.36279,N,00422.75263,E,0.041,219.22,120308,,,A*6C
+$GPRMC,111128.00,A,5159.36276,N,00422.75262,E,0.038,223.23,120308,,,A*6B
+$GPRMC,111129.00,A,5159.36271,N,00422.75258,E,0.009,,120308,,,A*7A
+$GPRMC,111130.00,A,5159.36267,N,00422.75254,E,0.089,221.17,120308,,,A*68
+$GPRMC,111131.00,A,5159.36265,N,00422.75248,E,0.023,218.04,120308,,,A*6E
+$GPRMC,111132.00,A,5159.36262,N,00422.75243,E,0.023,212.86,120308,,,A*61
+$GPRMC,111133.00,A,5159.36260,N,00422.75233,E,0.020,216.27,120308,,,A*69
+$GPRMC,111134.00,A,5159.36258,N,00422.75225,E,0.013,,120308,,,A*7C
+$GPRMC,111135.00,A,5159.36256,N,00422.75216,E,0.014,,120308,,,A*74
+$GPRMC,111136.00,A,5159.36254,N,00422.75210,E,0.028,213.84,120308,,,A*6E
+$GPRMC,111137.00,A,5159.36254,N,00422.75205,E,0.009,,120308,,,A*7A
+$GPRMC,111138.00,A,5159.36253,N,00422.75200,E,0.006,,120308,,,A*78
+$GPRMC,111139.00,A,5159.36251,N,00422.75196,E,0.016,,120308,,,A*76
+$GPRMC,111140.00,A,5159.36246,N,00422.75194,E,0.013,,120308,,,A*79
+$GPRMC,111141.00,A,5159.36241,N,00422.75193,E,0.069,219.36,120308,,,A*64
+$GPRMC,111142.00,A,5159.36236,N,00422.75191,E,0.034,217.59,120308,,,A*6A
+$GPRMC,111143.00,A,5159.36230,N,00422.75189,E,0.013,,120308,,,A*77
+$GPRMC,111144.00,A,5159.36222,N,00422.75187,E,0.023,216.48,120308,,,A*69
+$GPRMC,111145.00,A,5159.36213,N,00422.75185,E,0.016,,120308,,,A*79
+$GPRMC,111146.00,A,5159.36207,N,00422.75184,E,0.006,,120308,,,A*7F
+$GPRMC,111147.00,A,5159.36201,N,00422.75183,E,0.019,,120308,,,A*71
+$GPRMC,111148.00,A,5159.36195,N,00422.75182,E,0.002,,120308,,,A*7B
+$GPRMC,111149.00,A,5159.36194,N,00422.75183,E,0.212,206.99,120308,,,A*63
+$GPRMC,111150.00,A,5159.36194,N,00422.75187,E,0.121,203.20,120308,,,A*6B
+$GPRMC,111151.00,A,5159.36189,N,00422.75167,E,0.007,,120308,,,A*70
+$GPRMC,111152.00,A,5159.36186,N,00422.75161,E,0.030,202.51,120308,,,A*64
+$GPRMC,111153.00,A,5159.36182,N,00422.75157,E,0.015,,120308,,,A*79
+$GPRMC,111154.00,A,5159.36179,N,00422.75152,E,0.009,,120308,,,A*72
+$GPRMC,111155.00,A,5159.36175,N,00422.75144,E,0.009,,120308,,,A*78
+$GPRMC,111156.00,A,5159.36173,N,00422.75139,E,0.018,,120308,,,A*77
+$GPRMC,111157.00,A,5159.36170,N,00422.75134,E,0.014,,120308,,,A*74
+$GPRMC,111158.00,A,5159.36166,N,00422.75129,E,0.024,202.81,120308,,,A*64
+$GPRMC,111159.00,A,5159.36158,N,00422.75124,E,0.185,202.71,120308,,,A*60
+$GPRMC,111200.00,A,5159.36147,N,00422.75122,E,0.019,,120308,,,A*7B
+$GPRMC,111201.00,A,5159.36138,N,00422.75123,E,0.014,,120308,,,A*7E
+$GPRMC,111202.00,A,5159.36130,N,00422.75124,E,0.012,,120308,,,A*74
+$GPRMC,111203.00,A,5159.36121,N,00422.75125,E,0.015,,120308,,,A*73
+$GPRMC,111204.00,A,5159.36111,N,00422.75127,E,0.014,,120308,,,A*74
+$GPRMC,111205.00,A,5159.36102,N,00422.75127,E,0.060,197.75,120308,,,A*67
+$GPRMC,111206.00,A,5159.36093,N,00422.75128,E,0.028,196.04,120308,,,A*69
+$GPRMC,111207.00,A,5159.36083,N,00422.75128,E,0.050,195.44,120308,,,A*61
+$GPRMC,111208.00,A,5159.36073,N,00422.75129,E,0.053,195.06,120308,,,A*65
+$GPRMC,111209.00,A,5159.36063,N,00422.75130,E,0.025,200.14,120308,,,A*60
+$GPRMC,111210.00,A,5159.36054,N,00422.75132,E,0.012,,120308,,,A*73
+$GPRMC,111211.00,A,5159.36046,N,00422.75134,E,0.002,,120308,,,A*76
+$GPRMC,111212.00,A,5159.36036,N,00422.75134,E,0.012,,120308,,,A*73
+$GPRMC,111213.00,A,5159.36027,N,00422.75131,E,0.032,199.10,120308,,,A*6B
+$GPRMC,111214.00,A,5159.36021,N,00422.75129,E,0.042,203.70,120308,,,A*62
+$GPRMC,111215.00,A,5159.36013,N,00422.75125,E,0.069,202.49,120308,,,A*6C
+$GPRMC,111216.00,A,5159.36005,N,00422.75123,E,0.020,197.21,120308,,,A*62
+$GPRMC,111217.00,A,5159.36007,N,00422.75121,E,0.029,198.09,120308,,,A*6F
+$GPRMC,111218.00,A,5159.36008,N,00422.75120,E,0.012,,120308,,,A*71
+$GPRMC,111219.00,A,5159.36011,N,00422.75121,E,0.020,193.65,120308,,,A*6E
+$GPRMC,111220.00,A,5159.36017,N,00422.75123,E,0.009,,120308,,,A*7D
+$GPRMC,111221.00,A,5159.36022,N,00422.75124,E,0.044,199.16,120308,,,A*6C
+$GPRMC,111222.00,A,5159.36027,N,00422.75126,E,0.032,198.96,120308,,,A*60
+$GPRMC,111223.00,A,5159.36032,N,00422.75128,E,0.018,,120308,,,A*72
+$GPRMC,111224.00,A,5159.36033,N,00422.75126,E,0.010,,120308,,,A*72
+$GPRMC,111225.00,A,5159.36034,N,00422.75126,E,0.029,198.88,120308,,,A*60
+$GPRMC,111226.00,A,5159.36035,N,00422.75126,E,0.005,,120308,,,A*72
+$GPRMC,111227.00,A,5159.36034,N,00422.75128,E,0.077,198.26,120308,,,A*63
+$GPRMC,111228.00,A,5159.36031,N,00422.75125,E,0.133,199.16,120308,,,A*67
+$GPRMC,111229.00,A,5159.36032,N,00422.75128,E,0.220,195.15,120308,,,A*66
+$GPRMC,111230.00,A,5159.36032,N,00422.75129,E,0.180,199.92,120308,,,A*65
+$GPRMC,111231.00,A,5159.36033,N,00422.75131,E,0.061,199.61,120308,,,A*6E
+$GPRMC,111232.00,A,5159.36031,N,00422.75125,E,0.042,200.02,120308,,,A*6D
+$GPRMC,111233.00,A,5159.36029,N,00422.75119,E,0.068,204.21,120308,,,A*67
+$GPRMC,111234.00,A,5159.36025,N,00422.75116,E,0.114,203.12,120308,,,A*6E
+$GPRMC,111235.00,A,5159.36027,N,00422.75116,E,0.230,213.51,120308,,,A*6E
+$GPRMC,111236.00,A,5159.36030,N,00422.75115,E,0.035,213.05,120308,,,A*6E
+$GPRMC,111237.00,A,5159.36032,N,00422.75114,E,0.014,,120308,,,A*74
+$GPRMC,111238.00,A,5159.36034,N,00422.75114,E,0.091,217.05,120308,,,A*6F
+$GPRMC,111239.00,A,5159.36042,N,00422.75113,E,0.038,214.57,120308,,,A*6F
+$GPRMC,111240.00,A,5159.36040,N,00422.75110,E,0.035,211.94,120308,,,A*67
+$GPRMC,111241.00,A,5159.36040,N,00422.75114,E,0.035,217.57,120308,,,A*6B
+$GPRMC,111242.00,A,5159.36042,N,00422.75117,E,0.057,212.75,120308,,,A*68
+$GPRMC,111243.00,A,5159.36043,N,00422.75119,E,0.053,209.31,120308,,,A*68
+$GPRMC,111244.00,A,5159.36056,N,00422.75115,E,0.012,,120308,,,A*75
+$GPRMC,111245.00,A,5159.36069,N,00422.75111,E,0.008,,120308,,,A*77
+$GPRMC,111246.00,A,5159.36081,N,00422.75106,E,0.016,,120308,,,A*7B
Index: /liacs/se/gps-data/110/characteroutput-20080312-132900.txt
===================================================================
--- /liacs/se/gps-data/110/characteroutput-20080312-132900.txt	(revision 2)
+++ /liacs/se/gps-data/110/characteroutput-20080312-132900.txt	(revision 2)
@@ -0,0 +1,3543 @@
+$GPRMC,122848.00,V,,,,,,,120308,,,N*70
+$GPRMC,122849.00,V,,,,,,,120308,,,N*71
+$GPRMC,122850.00,V,,,,,,,120308,,,N*79
+$GPRMC,122851.00,V,,,,,,,120308,,,N*78
+$GPRMC,122852.00,V,,,,,,,120308,,,N*7B
+$GPRMC,122853.00,V,,,,,,,120308,,,N*7A
+$GPRMC,122854.02,V,,,,,,,120308,,,N*7F
+$GPRMC,122855.02,V,,,,,,,120308,,,N*7E
+$GPRMC,122856.00,V,,,,,,,120308,,,N*7F
+$GPRMC,122857.00,V,,,,,,,120308,,,N*7E
+$GPRMC,122858.00,V,,,,,,,120308,,,N*71
+$GPRMC,122859.00,V,,,,,,,120308,,,N*70
+$GPRMC,122900.00,V,,,,,,,120308,,,N*7D
+$GPRMC,122901.00,V,,,,,,,120308,,,N*7C
+$GPRMC,122902.00,V,,,,,,,120308,,,N*7F
+$GPRMC,122903.00,V,,,,,,,120308,,,N*7E
+$GPRMC,122904.00,V,,,,,,,120308,,,N*79
+$GPRMC,122905.00,V,,,,,,,120308,,,N*78
+$GPRMC,122906.00,V,,,,,,,120308,,,N*7B
+$GPRMC,122907.00,V,,,,,,,120308,,,N*7A
+$GPRMC,122908.00,V,,,,,,,120308,,,N*75
+$GPRMC,122909.00,V,,,,,,,120308,,,N*74
+$GPRMC,122910.00,V,,,,,,,120308,,,N*7C
+$GPRMC,122911.00,V,,,,,,,120308,,,N*7D
+$GPRMC,122912.00,V,,,,,,,120308,,,N*7E
+$GPRMC,122913.00,V,,,,,,,120308,,,N*7F
+$GPRMC,122914.00,V,,,,,,,120308,,,N*78
+$GPRMC,122915.00,V,,,,,,,120308,,,N*79
+$GPRMC,122916.00,V,,,,,,,120308,,,N*7A
+$GPRMC,122917.00,V,,,,,,,120308,,,N*7B
+$GPRMC,122918.00,V,,,,,,,120308,,,N*74
+$GPRMC,122919.00,V,,,,,,,120308,,,N*75
+$GPRMC,122920.00,A,5159.36139,N,00422.75884,E,1.091,128.37,120308,,,A*6E
+$GPRMC,122921.00,A,5159.36016,N,00422.76069,E,0.982,120.71,120308,,,A*6B
+$GPRMC,122922.00,A,5159.35984,N,00422.76093,E,0.008,,120308,,,A*7C
+$GPRMC,122923.00,A,5159.35994,N,00422.76072,E,0.021,117.43,120308,,,A*66
+$GPRMC,122924.00,A,5159.36021,N,00422.76037,E,0.020,113.63,120308,,,A*63
+$GPRMC,122925.00,A,5159.36036,N,00422.76021,E,0.057,113.86,120308,,,A*68
+$GPRMC,122926.00,A,5159.36030,N,00422.76008,E,0.064,115.63,120308,,,A*6B
+$GPRMC,122927.00,A,5159.36011,N,00422.76002,E,0.657,117.74,120308,,,A*61
+$GPRMC,122928.00,A,5159.35941,N,00422.76041,E,0.561,119.77,120308,,,A*6D
+$GPRMC,122929.00,A,5159.35884,N,00422.76097,E,0.561,121.68,120308,,,A*6A
+$GPRMC,122930.00,A,5159.35832,N,00422.75473,E,0.047,125.28,120308,,,A*63
+$GPRMC,122931.00,A,5159.35824,N,00422.75316,E,0.144,126.85,120308,,,A*67
+$GPRMC,122932.00,A,5159.35831,N,00422.75276,E,0.059,128.49,120308,,,A*64
+$GPRMC,122933.00,A,5159.35852,N,00422.75247,E,0.093,130.26,120308,,,A*64
+$GPRMC,122934.00,A,5159.35874,N,00422.75227,E,0.037,131.66,120308,,,A*6A
+$GPRMC,122935.00,A,5159.36031,N,00422.75261,E,0.026,136.13,120308,,,A*66
+$GPRMC,122936.00,A,5159.36063,N,00422.75251,E,0.084,132.03,120308,,,A*6C
+$GPRMC,122937.00,A,5159.36086,N,00422.75242,E,0.058,128.12,120308,,,A*6E
+$GPRMC,122938.00,A,5159.36122,N,00422.75239,E,0.037,122.69,120308,,,A*6D
+$GPRMC,122939.00,A,5159.36151,N,00422.75237,E,0.015,,120308,,,A*76
+$GPRMC,122940.00,A,5159.36176,N,00422.75243,E,0.056,122.45,120308,,,A*67
+$GPRMC,122941.00,A,5159.36191,N,00422.75249,E,0.264,121.85,120308,,,A*69
+$GPRMC,122942.00,A,5159.36195,N,00422.75231,E,0.638,132.93,120308,,,A*69
+$GPRMC,122943.00,A,5159.36202,N,00422.75208,E,0.650,143.50,120308,,,A*68
+$GPRMC,122944.00,A,5159.36204,N,00422.75212,E,0.246,153.37,120308,,,A*61
+$GPRMC,122945.00,A,5159.36217,N,00422.75175,E,0.236,162.66,120308,,,A*61
+$GPRMC,122946.00,A,5159.36239,N,00422.75150,E,0.347,171.41,120308,,,A*69
+$GPRMC,122947.00,A,5159.36278,N,00422.75071,E,0.243,179.21,120308,,,A*64
+$GPRMC,122948.00,A,5159.36294,N,00422.75064,E,0.012,,120308,,,A*79
+$GPRMC,122949.00,A,5159.36319,N,00422.75040,E,0.015,,120308,,,A*7D
+$GPRMC,122950.00,A,5159.36337,N,00422.75023,E,0.020,182.05,120308,,,A*6A
+$GPRMC,122951.00,A,5159.36375,N,00422.75003,E,0.005,,120308,,,A*78
+$GPRMC,122952.00,A,5159.36400,N,00422.74993,E,0.069,182.14,120308,,,A*65
+$GPRMC,122953.00,A,5159.36421,N,00422.74987,E,0.050,187.31,120308,,,A*6A
+$GPRMC,122954.00,A,5159.36439,N,00422.74987,E,0.009,,120308,,,A*7A
+$GPRMC,122955.00,A,5159.36453,N,00422.74985,E,0.014,,120308,,,A*79
+$GPRMC,122956.00,A,5159.36466,N,00422.74984,E,0.044,186.73,120308,,,A*6D
+$GPRMC,122957.00,A,5159.36478,N,00422.74984,E,0.058,191.72,120308,,,A*69
+$GPRMC,122958.00,A,5159.36489,N,00422.74983,E,0.009,,120308,,,A*79
+$GPRMC,122959.00,A,5159.36499,N,00422.74991,E,0.262,186.97,120308,,,A*6A
+$GPRMC,123000.00,A,5159.36507,N,00422.74999,E,0.026,184.62,120308,,,A*6A
+$GPRMC,123001.00,A,5159.36516,N,00422.75003,E,0.017,,120308,,,A*75
+$GPRMC,123002.00,A,5159.36520,N,00422.75021,E,0.630,180.45,120308,,,A*66
+$GPRMC,123003.00,A,5159.36527,N,00422.75027,E,0.037,177.70,120308,,,A*69
+$GPRMC,123004.00,A,5159.36535,N,00422.75030,E,0.045,181.19,120308,,,A*68
+$GPRMC,123005.00,A,5159.36542,N,00422.75027,E,0.282,172.09,120308,,,A*6B
+$GPRMC,123006.00,A,5159.36548,N,00422.75028,E,0.017,,120308,,,A*70
+$GPRMC,123007.00,A,5159.36550,N,00422.75024,E,0.010,,120308,,,A*73
+$GPRMC,123008.00,A,5159.36552,N,00422.75022,E,0.035,176.41,120308,,,A*64
+$GPRMC,123009.00,A,5159.36554,N,00422.75019,E,0.028,174.13,120308,,,A*62
+$GPRMC,123010.00,A,5159.36557,N,00422.75015,E,0.024,171.52,120308,,,A*69
+$GPRMC,123011.00,A,5159.36559,N,00422.75017,E,0.169,169.83,120308,,,A*69
+$GPRMC,123012.00,A,5159.36560,N,00422.75023,E,0.208,166.60,120308,,,A*61
+$GPRMC,123013.00,A,5159.36564,N,00422.75021,E,0.005,,120308,,,A*70
+$GPRMC,123014.00,A,5159.36570,N,00422.75018,E,0.061,161.85,120308,,,A*6F
+$GPRMC,123015.00,A,5159.36577,N,00422.75015,E,0.065,159.55,120308,,,A*66
+$GPRMC,123016.00,A,5159.36586,N,00422.75003,E,0.033,157.01,120308,,,A*60
+$GPRMC,123017.00,A,5159.36592,N,00422.74995,E,0.246,165.82,120308,,,A*69
+$GPRMC,123018.00,A,5159.36597,N,00422.74990,E,0.014,,120308,,,A*75
+$GPRMC,123019.00,A,5159.36602,N,00422.74986,E,0.055,163.33,120308,,,A*63
+$GPRMC,123020.00,A,5159.36600,N,00422.74985,E,0.168,162.08,120308,,,A*6E
+$GPRMC,123021.00,A,5159.36598,N,00422.74975,E,0.136,160.77,120308,,,A*63
+$GPRMC,123022.00,A,5159.36601,N,00422.74961,E,0.409,169.48,120308,,,A*6A
+$GPRMC,123023.00,A,5159.36599,N,00422.74958,E,0.022,172.50,120308,,,A*6D
+$GPRMC,123024.00,A,5159.36605,N,00422.74930,E,0.043,176.03,120308,,,A*67
+$GPRMC,123025.00,A,5159.36611,N,00422.74897,E,0.261,183.61,120308,,,A*63
+$GPRMC,123026.00,A,5159.36617,N,00422.74869,E,0.232,190.82,120308,,,A*6E
+$GPRMC,123027.00,A,5159.36624,N,00422.74843,E,0.239,197.62,120308,,,A*65
+$GPRMC,123028.00,A,5159.36615,N,00422.74873,E,0.007,,120308,,,A*71
+$GPRMC,123029.00,A,5159.36601,N,00422.74920,E,0.125,202.64,120308,,,A*6F
+$GPRMC,123030.00,A,5159.36604,N,00422.74917,E,0.025,199.86,120308,,,A*6A
+$GPRMC,123031.00,A,5159.36608,N,00422.74908,E,0.019,,120308,,,A*77
+$GPRMC,123032.00,A,5159.36613,N,00422.74894,E,0.021,197.18,120308,,,A*69
+$GPRMC,123033.00,A,5159.36616,N,00422.74890,E,0.079,194.56,120308,,,A*6D
+$GPRMC,123034.00,A,5159.36617,N,00422.74890,E,0.034,192.76,120308,,,A*66
+$GPRMC,123035.00,A,5159.36614,N,00422.74899,E,0.054,195.75,120308,,,A*6F
+$GPRMC,123036.00,A,5159.36613,N,00422.74900,E,0.037,195.09,120308,,,A*64
+$GPRMC,123037.00,A,5159.36608,N,00422.74913,E,0.525,190.58,120308,,,A*6A
+$GPRMC,123038.00,A,5159.36605,N,00422.74921,E,0.014,,120308,,,A*75
+$GPRMC,123039.00,A,5159.36604,N,00422.74928,E,0.081,188.12,120308,,,A*6C
+$GPRMC,123040.00,A,5159.36606,N,00422.74921,E,0.034,184.86,120308,,,A*66
+$GPRMC,123041.00,A,5159.36605,N,00422.74925,E,0.024,183.60,120308,,,A*6E
+$GPRMC,123042.00,A,5159.36604,N,00422.74932,E,0.008,,120308,,,A*76
+$GPRMC,123043.00,A,5159.36603,N,00422.74937,E,0.030,187.24,120308,,,A*68
+$GPRMC,123044.00,A,5159.36603,N,00422.74941,E,0.007,,120308,,,A*7C
+$GPRMC,123045.00,A,5159.36603,N,00422.74942,E,0.031,184.30,120308,,,A*6B
+$GPRMC,123046.00,A,5159.36602,N,00422.74942,E,0.025,189.79,120308,,,A*6C
+$GPRMC,123047.00,A,5159.36602,N,00422.74942,E,0.108,195.11,120308,,,A*60
+$GPRMC,123048.00,A,5159.36600,N,00422.74940,E,0.104,192.53,120308,,,A*62
+$GPRMC,123049.00,A,5159.36598,N,00422.74942,E,0.065,198.07,120308,,,A*6E
+$GPRMC,123050.00,A,5159.36598,N,00422.74933,E,0.050,203.17,120308,,,A*66
+$GPRMC,123051.00,A,5159.36597,N,00422.74928,E,0.017,,120308,,,A*78
+$GPRMC,123052.00,A,5159.36592,N,00422.74924,E,0.051,200.01,120308,,,A*6D
+$GPRMC,123053.00,A,5159.36589,N,00422.74916,E,0.017,,120308,,,A*78
+$GPRMC,123054.00,A,5159.36585,N,00422.74914,E,0.011,,120308,,,A*77
+$GPRMC,123055.00,A,5159.36581,N,00422.74910,E,0.066,197.52,120308,,,A*60
+$GPRMC,123056.00,A,5159.36577,N,00422.74910,E,0.024,202.00,120308,,,A*64
+$GPRMC,123057.00,A,5159.36575,N,00422.74913,E,0.083,199.27,120308,,,A*6D
+$GPRMC,123058.00,A,5159.36573,N,00422.74916,E,0.072,195.27,120308,,,A*63
+$GPRMC,123059.00,A,5159.36573,N,00422.74931,E,0.594,188.18,120308,,,A*6A
+$GPRMC,123100.00,A,5159.36581,N,00422.74968,E,1.010,180.10,120308,,,A*6E
+$GPRMC,123101.00,A,5159.36597,N,00422.75001,E,0.953,172.87,120308,,,A*63
+$GPRMC,123102.00,A,5159.36613,N,00422.75030,E,1.056,165.75,120308,,,A*6B
+$GPRMC,123103.00,A,5159.36626,N,00422.75076,E,1.292,159.03,120308,,,A*6A
+$GPRMC,123104.00,A,5159.36602,N,00422.75141,E,1.562,153.38,120308,,,A*64
+$GPRMC,123105.00,A,5159.36607,N,00422.75207,E,1.400,148.48,120308,,,A*69
+$GPRMC,123106.00,A,5159.36619,N,00422.75295,E,2.465,67.10,120308,,,A*5F
+$GPRMC,123107.00,A,5159.36566,N,00422.75427,E,1.863,68.69,120308,,,A*52
+$GPRMC,123108.00,A,5159.36526,N,00422.75481,E,0.440,69.19,120308,,,A*5F
+$GPRMC,123109.00,A,5159.36507,N,00422.75510,E,0.057,67.44,120308,,,A*50
+$GPRMC,123110.00,A,5159.36498,N,00422.75508,E,0.602,58.73,120308,,,A*58
+$GPRMC,123111.00,A,5159.36517,N,00422.75447,E,2.006,305.54,120308,,,A*6B
+$GPRMC,123112.00,A,5159.36558,N,00422.75352,E,2.517,306.19,120308,,,A*6F
+$GPRMC,123113.00,A,5159.36662,N,00422.75246,E,4.339,331.07,120308,,,A*67
+$GPRMC,123114.00,A,5159.36910,N,00422.74958,E,8.472,326.84,120308,,,A*66
+$GPRMC,123115.00,A,5159.37276,N,00422.74684,E,12.144,333.62,120308,,,A*54
+$GPRMC,123116.00,A,5159.37622,N,00422.74460,E,14.120,335.24,120308,,,A*5A
+$GPRMC,123117.00,A,5159.37963,N,00422.74199,E,13.505,332.29,120308,,,A*5C
+$GPRMC,123118.00,A,5159.38318,N,00422.73938,E,13.706,336.58,120308,,,A*5D
+$GPRMC,123119.00,A,5159.38654,N,00422.73666,E,12.916,334.51,120308,,,A*50
+$GPRMC,123120.00,A,5159.38967,N,00422.73420,E,12.878,336.30,120308,,,A*59
+$GPRMC,123121.00,A,5159.39277,N,00422.73165,E,12.500,333.36,120308,,,A*56
+$GPRMC,123122.00,A,5159.39584,N,00422.72945,E,11.607,333.15,120308,,,A*53
+$GPRMC,123123.00,A,5159.39802,N,00422.72730,E,9.621,321.65,120308,,,A*64
+$GPRMC,123124.00,A,5159.39958,N,00422.72352,E,9.676,292.88,120308,,,A*65
+$GPRMC,123125.00,A,5159.39990,N,00422.71947,E,9.012,276.58,120308,,,A*6E
+$GPRMC,123126.00,A,5159.39921,N,00422.71555,E,9.049,258.99,120308,,,A*67
+$GPRMC,123127.00,A,5159.39763,N,00422.71115,E,10.880,249.03,120308,,,A*58
+$GPRMC,123128.00,A,5159.39642,N,00422.70633,E,11.429,245.13,120308,,,A*54
+$GPRMC,123129.00,A,5159.39516,N,00422.70142,E,11.533,245.64,120308,,,A*5C
+$GPRMC,123130.00,A,5159.39424,N,00422.69729,E,8.785,248.01,120308,,,A*6E
+$GPRMC,123131.00,A,5159.39365,N,00422.69338,E,8.226,254.66,120308,,,A*69
+$GPRMC,123132.00,A,5159.39423,N,00422.68862,E,10.264,277.88,120308,,,A*54
+$GPRMC,123133.00,A,5159.39557,N,00422.68394,E,10.396,296.14,120308,,,A*53
+$GPRMC,123134.00,A,5159.39753,N,00422.68184,E,8.423,323.47,120308,,,A*68
+$GPRMC,123135.00,A,5159.39994,N,00422.68051,E,8.775,338.03,120308,,,A*6F
+$GPRMC,123136.00,A,5159.40190,N,00422.68019,E,7.182,348.65,120308,,,A*64
+$GPRMC,123137.00,A,5159.40371,N,00422.67902,E,6.368,336.87,120308,,,A*66
+$GPRMC,123138.00,A,5159.40521,N,00422.67751,E,4.712,334.50,120308,,,A*61
+$GPRMC,123139.00,A,5159.40627,N,00422.67706,E,2.762,345.61,120308,,,A*62
+$GPRMC,123140.00,A,5159.40727,N,00422.67681,E,2.732,337.40,120308,,,A*60
+$GPRMC,123141.00,A,5159.40847,N,00422.67652,E,3.643,337.34,120308,,,A*63
+$GPRMC,123142.00,A,5159.40998,N,00422.67659,E,4.796,349.39,120308,,,A*62
+$GPRMC,123143.00,A,5159.41139,N,00422.67650,E,5.109,11.64,120308,,,A*5F
+$GPRMC,123144.00,A,5159.41349,N,00422.67830,E,8.133,32.96,120308,,,A*5D
+$GPRMC,123145.00,A,5159.41465,N,00422.68204,E,8.830,57.02,120308,,,A*53
+$GPRMC,123146.00,A,5159.41530,N,00422.68623,E,9.914,68.17,120308,,,A*5E
+$GPRMC,123147.00,A,5159.41566,N,00422.69147,E,10.670,75.65,120308,,,A*64
+$GPRMC,123148.00,A,5159.41670,N,00422.69577,E,9.277,68.86,120308,,,A*52
+$GPRMC,123149.00,A,5159.41722,N,00422.70020,E,6.167,68.44,120308,,,A*59
+$GPRMC,123150.00,A,5159.41767,N,00422.70295,E,3.191,73.21,120308,,,A*59
+$GPRMC,123151.00,A,5159.41817,N,00422.70440,E,2.582,70.75,120308,,,A*5B
+$GPRMC,123152.00,A,5159.41850,N,00422.70583,E,2.610,66.62,120308,,,A*5C
+$GPRMC,123153.00,A,5159.41910,N,00422.70626,E,2.097,62.67,120308,,,A*5C
+$GPRMC,123154.00,A,5159.41941,N,00422.70707,E,1.212,62.89,120308,,,A*51
+$GPRMC,123155.00,A,5159.41960,N,00422.70762,E,0.309,63.46,120308,,,A*58
+$GPRMC,123156.00,A,5159.41954,N,00422.70777,E,0.169,63.56,120308,,,A*5D
+$GPRMC,123157.00,A,5159.41951,N,00422.70781,E,0.026,60.40,120308,,,A*5E
+$GPRMC,123158.00,A,5159.41947,N,00422.70777,E,0.036,61.92,120308,,,A*50
+$GPRMC,123159.00,A,5159.41942,N,00422.70780,E,0.378,56.32,120308,,,A*5B
+$GPRMC,123200.00,A,5159.41940,N,00422.70791,E,0.074,56.22,120308,,,A*58
+$GPRMC,123201.00,A,5159.41915,N,00422.70792,E,0.063,55.38,120308,,,A*54
+$GPRMC,123202.00,A,5159.41901,N,00422.70785,E,0.068,55.78,120308,,,A*5B
+$GPRMC,123203.00,A,5159.41889,N,00422.70787,E,0.053,57.10,120308,,,A*5D
+$GPRMC,123204.00,A,5159.41881,N,00422.70790,E,0.023,57.64,120308,,,A*50
+$GPRMC,123205.00,A,5159.41878,N,00422.70790,E,0.053,57.38,120308,,,A*59
+$GPRMC,123206.00,A,5159.41876,N,00422.70785,E,0.096,58.87,120308,,,A*52
+$GPRMC,123207.00,A,5159.41876,N,00422.70778,E,0.029,59.38,120308,,,A*50
+$GPRMC,123208.00,A,5159.41874,N,00422.70770,E,0.179,59.55,120308,,,A*5A
+$GPRMC,123209.00,A,5159.41875,N,00422.70775,E,0.215,58.24,120308,,,A*51
+$GPRMC,123210.00,A,5159.41877,N,00422.70776,E,0.110,59.71,120308,,,A*5F
+$GPRMC,123211.00,A,5159.41872,N,00422.70776,E,0.058,58.80,120308,,,A*59
+$GPRMC,123212.00,A,5159.41868,N,00422.70780,E,0.037,59.82,120308,,,A*52
+$GPRMC,123213.00,A,5159.41865,N,00422.70777,E,0.044,61.33,120308,,,A*53
+$GPRMC,123214.00,A,5159.41861,N,00422.70779,E,0.034,61.49,120308,,,A*54
+$GPRMC,123215.00,A,5159.41858,N,00422.70784,E,0.015,,120308,,,A*7A
+$GPRMC,123216.00,A,5159.41856,N,00422.70793,E,0.052,62.33,120308,,,A*58
+$GPRMC,123217.00,A,5159.41854,N,00422.70808,E,0.113,61.37,120308,,,A*55
+$GPRMC,123218.00,A,5159.41850,N,00422.70822,E,0.032,62.37,120308,,,A*57
+$GPRMC,123219.00,A,5159.41841,N,00422.70832,E,0.042,63.30,120308,,,A*56
+$GPRMC,123220.00,A,5159.41831,N,00422.70846,E,0.137,63.65,120308,,,A*5B
+$GPRMC,123221.00,A,5159.41827,N,00422.70858,E,0.090,64.16,120308,,,A*5D
+$GPRMC,123222.00,A,5159.41823,N,00422.70868,E,0.109,64.38,120308,,,A*54
+$GPRMC,123223.00,A,5159.41820,N,00422.70879,E,0.074,65.90,120308,,,A*5E
+$GPRMC,123224.00,A,5159.41821,N,00422.70894,E,0.234,66.53,120308,,,A*51
+$GPRMC,123225.00,A,5159.41823,N,00422.70925,E,0.480,66.69,120308,,,A*59
+$GPRMC,123226.00,A,5159.41819,N,00422.70939,E,0.222,68.10,120308,,,A*50
+$GPRMC,123227.00,A,5159.41826,N,00422.70971,E,0.507,68.53,120308,,,A*56
+$GPRMC,123228.00,A,5159.41814,N,00422.70989,E,0.465,73.93,120308,,,A*5C
+$GPRMC,123229.00,A,5159.41819,N,00422.71013,E,0.542,81.77,120308,,,A*58
+$GPRMC,123230.00,A,5159.41840,N,00422.71046,E,0.239,81.18,120308,,,A*5E
+$GPRMC,123231.00,A,5159.41855,N,00422.71068,E,0.143,80.16,120308,,,A*56
+$GPRMC,123232.00,A,5159.41867,N,00422.71077,E,0.100,79.32,120308,,,A*5D
+$GPRMC,123233.00,A,5159.41877,N,00422.71084,E,0.056,77.97,120308,,,A*52
+$GPRMC,123234.00,A,5159.41887,N,00422.71088,E,0.118,77.31,120308,,,A*51
+$GPRMC,123235.00,A,5159.41895,N,00422.71091,E,0.140,76.09,120308,,,A*5C
+$GPRMC,123236.00,A,5159.41901,N,00422.71098,E,0.210,74.66,120308,,,A*57
+$GPRMC,123237.00,A,5159.41911,N,00422.71113,E,0.415,73.58,120308,,,A*5C
+$GPRMC,123238.00,A,5159.41911,N,00422.71112,E,0.637,73.82,120308,,,A*57
+$GPRMC,123239.00,A,5159.41940,N,00422.71194,E,2.838,70.89,120308,,,A*57
+$GPRMC,123240.00,A,5159.42017,N,00422.71363,E,5.183,61.84,120308,,,A*58
+$GPRMC,123241.00,A,5159.42101,N,00422.71653,E,7.244,68.47,120308,,,A*55
+$GPRMC,123242.00,A,5159.42191,N,00422.71900,E,7.515,69.27,120308,,,A*52
+$GPRMC,123243.00,A,5159.42291,N,00422.72248,E,8.974,68.99,120308,,,A*54
+$GPRMC,123244.00,A,5159.42404,N,00422.72596,E,9.514,70.26,120308,,,A*5B
+$GPRMC,123245.00,A,5159.42567,N,00422.73012,E,10.259,66.50,120308,,,A*66
+$GPRMC,123246.00,A,5159.42673,N,00422.73407,E,9.116,70.23,120308,,,A*50
+$GPRMC,123247.00,A,5159.42779,N,00422.73790,E,9.935,68.44,120308,,,A*56
+$GPRMC,123248.00,A,5159.42883,N,00422.74194,E,9.762,72.25,120308,,,A*56
+$GPRMC,123249.00,A,5159.42961,N,00422.74615,E,10.296,69.62,120308,,,A*6B
+$GPRMC,123250.00,A,5159.43065,N,00422.75044,E,10.464,67.13,120308,,,A*6F
+$GPRMC,123251.00,A,5159.43169,N,00422.75473,E,9.914,66.76,120308,,,A*53
+$GPRMC,123252.00,A,5159.43286,N,00422.75888,E,9.095,66.14,120308,,,A*5E
+$GPRMC,123253.00,A,5159.43378,N,00422.76232,E,7.247,66.05,120308,,,A*54
+$GPRMC,123254.00,A,5159.43454,N,00422.76495,E,5.193,65.42,120308,,,A*59
+$GPRMC,123255.00,A,5159.43522,N,00422.76699,E,4.681,63.85,120308,,,A*5E
+$GPRMC,123256.00,A,5159.43585,N,00422.76896,E,4.083,62.16,120308,,,A*5E
+$GPRMC,123257.00,A,5159.43627,N,00422.77059,E,3.315,66.61,120308,,,A*51
+$GPRMC,123258.00,A,5159.43656,N,00422.77179,E,2.289,64.60,120308,,,A*5D
+$GPRMC,123259.00,A,5159.43674,N,00422.77227,E,0.470,64.49,120308,,,A*5D
+$GPRMC,123300.00,A,5159.43676,N,00422.77224,E,0.081,63.20,120308,,,A*53
+$GPRMC,123301.00,A,5159.43672,N,00422.77207,E,0.027,62.13,120308,,,A*5A
+$GPRMC,123302.00,A,5159.43662,N,00422.77192,E,0.049,61.35,120308,,,A*58
+$GPRMC,123303.00,A,5159.43655,N,00422.77169,E,0.079,60.14,120308,,,A*58
+$GPRMC,123304.00,A,5159.43646,N,00422.77142,E,0.077,58.10,120308,,,A*55
+$GPRMC,123305.00,A,5159.43638,N,00422.77117,E,0.112,63.61,120308,,,A*51
+$GPRMC,123306.00,A,5159.43627,N,00422.77095,E,0.092,61.64,120308,,,A*59
+$GPRMC,123307.00,A,5159.43619,N,00422.77080,E,0.101,60.08,120308,,,A*51
+$GPRMC,123308.00,A,5159.43610,N,00422.77066,E,0.101,58.32,120308,,,A*5D
+$GPRMC,123309.00,A,5159.43607,N,00422.77057,E,0.023,56.34,120308,,,A*51
+$GPRMC,123310.00,A,5159.43605,N,00422.77046,E,0.128,54.63,120308,,,A*51
+$GPRMC,123311.00,A,5159.43603,N,00422.77037,E,0.077,52.82,120308,,,A*52
+$GPRMC,123312.00,A,5159.43603,N,00422.77028,E,0.011,,120308,,,A*7C
+$GPRMC,123313.00,A,5159.43600,N,00422.77024,E,0.066,51.92,120308,,,A*53
+$GPRMC,123314.00,A,5159.43597,N,00422.77018,E,0.047,49.88,120308,,,A*57
+$GPRMC,123315.00,A,5159.43595,N,00422.77015,E,0.071,48.71,120308,,,A*5B
+$GPRMC,123316.00,A,5159.43594,N,00422.77011,E,0.130,46.99,120308,,,A*51
+$GPRMC,123317.00,A,5159.43591,N,00422.77011,E,0.041,45.92,120308,,,A*5A
+$GPRMC,123318.00,A,5159.43585,N,00422.77011,E,0.077,44.07,120308,,,A*58
+$GPRMC,123319.00,A,5159.43583,N,00422.77010,E,0.125,42.81,120308,,,A*50
+$GPRMC,123320.00,A,5159.43574,N,00422.77011,E,0.043,42.91,120308,,,A*53
+$GPRMC,123321.00,A,5159.43569,N,00422.77015,E,0.038,42.60,120308,,,A*58
+$GPRMC,123322.00,A,5159.43565,N,00422.77019,E,0.019,,120308,,,A*76
+$GPRMC,123323.00,A,5159.43560,N,00422.77022,E,0.007,,120308,,,A*75
+$GPRMC,123324.00,A,5159.43555,N,00422.77027,E,0.019,,120308,,,A*7E
+$GPRMC,123325.00,A,5159.43550,N,00422.77033,E,0.030,40.64,120308,,,A*5C
+$GPRMC,123326.00,A,5159.43547,N,00422.77039,E,0.010,,120308,,,A*79
+$GPRMC,123327.00,A,5159.43544,N,00422.77045,E,0.048,38.74,120308,,,A*5B
+$GPRMC,123328.00,A,5159.43542,N,00422.77049,E,0.063,38.45,120308,,,A*55
+$GPRMC,123329.00,A,5159.43539,N,00422.77052,E,0.153,33.25,120308,,,A*5D
+$GPRMC,123330.00,A,5159.43536,N,00422.77055,E,0.026,32.96,120308,,,A*57
+$GPRMC,123331.00,A,5159.43535,N,00422.77058,E,0.027,31.18,120308,,,A*5C
+$GPRMC,123332.00,A,5159.43533,N,00422.77062,E,0.029,29.90,120308,,,A*57
+$GPRMC,123333.00,A,5159.43532,N,00422.77065,E,0.009,,120308,,,A*7E
+$GPRMC,123334.00,A,5159.43530,N,00422.77067,E,0.023,27.38,120308,,,A*51
+$GPRMC,123335.00,A,5159.43527,N,00422.77069,E,0.015,,120308,,,A*7D
+$GPRMC,123336.00,A,5159.43524,N,00422.77068,E,0.186,22.52,120308,,,A*5E
+$GPRMC,123337.00,A,5159.43520,N,00422.77068,E,0.038,27.69,120308,,,A*52
+$GPRMC,123338.00,A,5159.43518,N,00422.77068,E,0.161,22.76,120308,,,A*50
+$GPRMC,123339.00,A,5159.43520,N,00422.77071,E,0.068,17.55,120308,,,A*5D
+$GPRMC,123340.00,A,5159.43521,N,00422.77071,E,0.016,,120308,,,A*73
+$GPRMC,123341.00,A,5159.43522,N,00422.77070,E,0.097,17.88,120308,,,A*51
+$GPRMC,123342.00,A,5159.43526,N,00422.77071,E,0.016,,120308,,,A*76
+$GPRMC,123343.00,A,5159.43528,N,00422.77069,E,0.025,17.36,120308,,,A*5D
+$GPRMC,123344.00,A,5159.43530,N,00422.77066,E,0.024,13.19,120308,,,A*54
+$GPRMC,123345.00,A,5159.43533,N,00422.77065,E,0.061,14.34,120308,,,A*5C
+$GPRMC,123346.00,A,5159.43537,N,00422.77063,E,0.042,14.48,120308,,,A*57
+$GPRMC,123347.00,A,5159.43540,N,00422.77061,E,0.168,9.73,120308,,,A*69
+$GPRMC,123348.00,A,5159.43542,N,00422.77057,E,0.008,,120308,,,A*75
+$GPRMC,123349.00,A,5159.43549,N,00422.77055,E,0.020,9.06,120308,,,A*66
+$GPRMC,123350.00,A,5159.43554,N,00422.77055,E,0.023,5.40,120308,,,A*6F
+$GPRMC,123351.00,A,5159.43559,N,00422.77054,E,0.010,,120308,,,A*7D
+$GPRMC,123352.00,A,5159.43565,N,00422.77055,E,0.021,8.03,120308,,,A*67
+$GPRMC,123353.00,A,5159.43570,N,00422.77054,E,0.050,7.42,120308,,,A*6F
+$GPRMC,123354.00,A,5159.43571,N,00422.77053,E,0.017,,120308,,,A*72
+$GPRMC,123355.00,A,5159.43572,N,00422.77051,E,0.064,9.09,120308,,,A*68
+$GPRMC,123356.00,A,5159.43574,N,00422.77052,E,0.065,9.29,120308,,,A*6D
+$GPRMC,123357.00,A,5159.43575,N,00422.77053,E,0.040,7.72,120308,,,A*6B
+$GPRMC,123358.00,A,5159.43576,N,00422.77053,E,0.028,2.88,120308,,,A*69
+$GPRMC,123359.00,A,5159.43575,N,00422.77055,E,0.020,358.74,120308,,,A*6A
+$GPRMC,123400.00,A,5159.43576,N,00422.77058,E,0.004,,120308,,,A*7A
+$GPRMC,123401.00,A,5159.43579,N,00422.77080,E,0.957,3.69,120308,,,A*6C
+$GPRMC,123402.00,A,5159.43621,N,00422.77230,E,5.730,65.51,120308,,,A*59
+$GPRMC,123403.00,A,5159.43720,N,00422.77513,E,7.718,58.66,120308,,,A*5C
+$GPRMC,123404.00,A,5159.43856,N,00422.77858,E,8.932,56.96,120308,,,A*5F
+$GPRMC,123405.00,A,5159.44043,N,00422.78329,E,12.010,58.77,120308,,,A*64
+$GPRMC,123406.00,A,5159.44226,N,00422.78854,E,12.938,61.52,120308,,,A*69
+$GPRMC,123407.00,A,5159.44398,N,00422.79293,E,10.839,60.10,120308,,,A*69
+$GPRMC,123408.00,A,5159.44515,N,00422.79714,E,9.510,65.38,120308,,,A*5E
+$GPRMC,123409.00,A,5159.44622,N,00422.80111,E,8.998,65.69,120308,,,A*54
+$GPRMC,123410.00,A,5159.44703,N,00422.80472,E,7.532,65.23,120308,,,A*53
+$GPRMC,123411.00,A,5159.44804,N,00422.80844,E,8.237,65.86,120308,,,A*51
+$GPRMC,123412.00,A,5159.44939,N,00422.81185,E,7.810,61.79,120308,,,A*5C
+$GPRMC,123413.00,A,5159.45052,N,00422.81524,E,7.928,64.26,120308,,,A*52
+$GPRMC,123414.00,A,5159.45216,N,00422.81869,E,9.999,56.62,120308,,,A*56
+$GPRMC,123415.00,A,5159.45452,N,00422.82098,E,9.977,42.84,120308,,,A*59
+$GPRMC,123416.00,A,5159.45779,N,00422.82148,E,10.639,9.28,120308,,,A*58
+$GPRMC,123417.00,A,5159.46166,N,00422.82044,E,12.262,352.01,120308,,,A*51
+$GPRMC,123418.00,A,5159.46542,N,00422.81902,E,13.239,345.11,120308,,,A*5C
+$GPRMC,123419.00,A,5159.46983,N,00422.81683,E,15.293,341.51,120308,,,A*5C
+$GPRMC,123420.00,A,5159.47483,N,00422.81342,E,17.019,337.73,120308,,,A*51
+$GPRMC,123421.00,A,5159.48009,N,00422.81024,E,18.866,340.12,120308,,,A*52
+$GPRMC,123422.00,A,5159.48480,N,00422.80720,E,17.829,336.61,120308,,,A*57
+$GPRMC,123423.00,A,5159.48984,N,00422.80455,E,18.476,341.25,120308,,,A*57
+$GPRMC,123424.00,A,5159.49441,N,00422.80120,E,16.779,334.84,120308,,,A*59
+$GPRMC,123425.00,A,5159.49881,N,00422.79827,E,15.736,337.35,120308,,,A*51
+$GPRMC,123426.00,A,5159.50279,N,00422.79571,E,14.523,336.00,120308,,,A*59
+$GPRMC,123427.00,A,5159.50627,N,00422.79268,E,12.847,333.65,120308,,,A*57
+$GPRMC,123428.00,A,5159.50871,N,00422.79003,E,9.592,329.82,120308,,,A*67
+$GPRMC,123429.00,A,5159.51139,N,00422.78892,E,10.762,354.02,120308,,,A*54
+$GPRMC,123430.00,A,5159.51427,N,00422.79019,E,12.213,9.21,120308,,,A*57
+$GPRMC,123431.00,A,5159.51693,N,00422.79338,E,12.257,33.09,120308,,,A*68
+$GPRMC,123432.00,A,5159.51957,N,00422.79851,E,14.016,44.66,120308,,,A*60
+$GPRMC,123433.00,A,5159.52105,N,00422.80584,E,15.516,60.65,120308,,,A*6F
+$GPRMC,123434.00,A,5159.52305,N,00422.81355,E,17.461,63.65,120308,,,A*61
+$GPRMC,123435.00,A,5159.52469,N,00422.82215,E,19.082,65.74,120308,,,A*6A
+$GPRMC,123436.00,A,5159.52665,N,00422.83050,E,19.610,66.73,120308,,,A*6C
+$GPRMC,123437.00,A,5159.52884,N,00422.83933,E,20.531,65.69,120308,,,A*62
+$GPRMC,123438.00,A,5159.53072,N,00422.84746,E,18.826,65.96,120308,,,A*66
+$GPRMC,123439.00,A,5159.53287,N,00422.85565,E,19.291,65.77,120308,,,A*65
+$GPRMC,123440.00,A,5159.53448,N,00422.86277,E,16.305,68.16,120308,,,A*60
+$GPRMC,123441.00,A,5159.53646,N,00422.87071,E,18.625,68.25,120308,,,A*61
+$GPRMC,123442.00,A,5159.53870,N,00422.87905,E,19.615,65.84,120308,,,A*67
+$GPRMC,123443.00,A,5159.54097,N,00422.88732,E,19.658,66.79,120308,,,A*6D
+$GPRMC,123444.00,A,5159.54352,N,00422.89586,E,20.136,66.31,120308,,,A*65
+$GPRMC,123445.00,A,5159.54572,N,00422.90448,E,20.419,66.77,120308,,,A*61
+$GPRMC,123446.00,A,5159.54780,N,00422.91281,E,20.124,66.99,120308,,,A*64
+$GPRMC,123447.00,A,5159.55008,N,00422.92090,E,19.251,66.25,120308,,,A*6E
+$GPRMC,123448.00,A,5159.55232,N,00422.92921,E,19.764,65.48,120308,,,A*62
+$GPRMC,123449.00,A,5159.55471,N,00422.93739,E,19.684,65.71,120308,,,A*61
+$GPRMC,123450.00,A,5159.55682,N,00422.94517,E,18.537,67.53,120308,,,A*66
+$GPRMC,123451.00,A,5159.55902,N,00422.95318,E,19.585,66.37,120308,,,A*63
+$GPRMC,123452.00,A,5159.56087,N,00422.96068,E,18.004,67.12,120308,,,A*6B
+$GPRMC,123453.00,A,5159.56273,N,00422.96846,E,18.845,68.04,120308,,,A*62
+$GPRMC,123454.00,A,5159.56454,N,00422.97612,E,17.942,67.07,120308,,,A*6D
+$GPRMC,123455.00,A,5159.56629,N,00422.98326,E,16.741,66.19,120308,,,A*6B
+$GPRMC,123456.00,A,5159.56819,N,00422.98983,E,15.560,65.08,120308,,,A*61
+$GPRMC,123457.00,A,5159.57014,N,00422.99552,E,14.096,61.70,120308,,,A*63
+$GPRMC,123458.00,A,5159.57377,N,00422.99899,E,12.893,40.93,120308,,,A*65
+$GPRMC,123459.00,A,5159.57814,N,00423.00189,E,14.345,23.87,120308,,,A*65
+$GPRMC,123500.00,A,5159.58340,N,00423.00056,E,16.386,356.32,120308,,,A*5C
+$GPRMC,123501.00,A,5159.58818,N,00422.99872,E,16.810,343.39,120308,,,A*5F
+$GPRMC,123502.00,A,5159.59276,N,00422.99629,E,17.120,340.28,120308,,,A*57
+$GPRMC,123503.00,A,5159.59739,N,00422.99389,E,17.839,340.09,120308,,,A*55
+$GPRMC,123504.00,A,5159.60314,N,00422.99047,E,20.600,338.21,120308,,,A*57
+$GPRMC,123505.00,A,5159.60870,N,00422.98708,E,21.904,337.20,120308,,,A*56
+$GPRMC,123506.00,A,5159.61534,N,00422.98295,E,24.447,338.36,120308,,,A*5F
+$GPRMC,123507.00,A,5159.62189,N,00422.97969,E,24.851,341.75,120308,,,A*5A
+$GPRMC,123508.00,A,5159.62818,N,00422.97388,E,25.812,336.74,120308,,,A*56
+$GPRMC,123509.00,A,5159.63514,N,00422.96884,E,26.604,336.92,120308,,,A*53
+$GPRMC,123510.00,A,5159.64253,N,00422.96453,E,26.816,338.34,120308,,,A*51
+$GPRMC,123511.00,A,5159.64915,N,00422.95999,E,24.975,338.50,120308,,,A*55
+$GPRMC,123512.00,A,5159.65486,N,00422.95584,E,21.530,336.85,120308,,,A*5E
+$GPRMC,123513.00,A,5159.65936,N,00422.95213,E,17.036,347.94,120308,,,A*50
+$GPRMC,123514.00,A,5159.66331,N,00422.95098,E,15.445,352.73,120308,,,A*57
+$GPRMC,123515.00,A,5159.66748,N,00422.95482,E,17.240,29.54,120308,,,A*68
+$GPRMC,123516.00,A,5159.67027,N,00422.96190,E,19.160,55.77,120308,,,A*64
+$GPRMC,123517.00,A,5159.67255,N,00422.97251,E,24.532,66.46,120308,,,A*62
+$GPRMC,123518.00,A,5159.67489,N,00422.98540,E,29.306,70.53,120308,,,A*6D
+$GPRMC,123519.00,A,5159.67832,N,00423.00052,E,34.243,68.48,120308,,,A*69
+$GPRMC,123520.00,A,5159.68265,N,00423.01561,E,36.185,67.23,120308,,,A*69
+$GPRMC,123521.00,A,5159.68686,N,00423.03238,E,39.344,67.21,120308,,,A*6A
+$GPRMC,123522.00,A,5159.69072,N,00423.04940,E,39.130,68.96,120308,,,A*64
+$GPRMC,123523.00,A,5159.69476,N,00423.06567,E,38.967,67.99,120308,,,A*65
+$GPRMC,123524.00,A,5159.69874,N,00423.08144,E,37.279,68.97,120308,,,A*6D
+$GPRMC,123525.00,A,5159.70237,N,00423.09636,E,35.720,68.75,120308,,,A*6D
+$GPRMC,123526.00,A,5159.70543,N,00423.10985,E,31.668,70.15,120308,,,A*63
+$GPRMC,123527.00,A,5159.70798,N,00423.12130,E,27.031,70.02,120308,,,A*69
+$GPRMC,123528.00,A,5159.70974,N,00423.13015,E,20.779,70.41,120308,,,A*66
+$GPRMC,123529.00,A,5159.71116,N,00423.13696,E,15.314,71.23,120308,,,A*6B
+$GPRMC,123530.00,A,5159.71182,N,00423.14164,E,10.445,77.68,120308,,,A*6C
+$GPRMC,123531.00,A,5159.71225,N,00423.14416,E,6.163,81.34,120308,,,A*55
+$GPRMC,123532.00,A,5159.71268,N,00423.14406,E,1.245,81.04,120308,,,A*5D
+$GPRMC,123533.00,A,5159.71278,N,00423.14409,E,0.436,81.63,120308,,,A*50
+$GPRMC,123534.00,A,5159.71296,N,00423.14390,E,0.268,72.81,120308,,,A*5D
+$GPRMC,123535.00,A,5159.71316,N,00423.14426,E,0.650,65.13,120308,,,A*5D
+$GPRMC,123536.00,A,5159.71344,N,00423.14459,E,0.559,59.13,120308,,,A*54
+$GPRMC,123537.00,A,5159.71367,N,00423.14516,E,0.353,59.56,120308,,,A*53
+$GPRMC,123538.00,A,5159.71385,N,00423.14567,E,0.412,65.06,120308,,,A*5E
+$GPRMC,123539.00,A,5159.71410,N,00423.14609,E,0.800,66.63,120308,,,A*50
+$GPRMC,123540.00,A,5159.71459,N,00423.14645,E,0.760,67.40,120308,,,A*52
+$GPRMC,123541.00,A,5159.71518,N,00423.14659,E,0.636,69.50,120308,,,A*57
+$GPRMC,123542.00,A,5159.71550,N,00423.14632,E,0.498,79.80,120308,,,A*5F
+$GPRMC,123543.00,A,5159.71588,N,00423.14595,E,0.431,72.50,120308,,,A*50
+$GPRMC,123544.00,A,5159.71622,N,00423.14559,E,1.187,66.27,120308,,,A*58
+$GPRMC,123545.00,A,5159.71643,N,00423.14502,E,1.441,59.15,120308,,,A*52
+$GPRMC,123546.00,A,5159.71668,N,00423.14487,E,1.465,53.76,120308,,,A*5D
+$GPRMC,123547.00,A,5159.71662,N,00423.14440,E,1.165,45.53,120308,,,A*58
+$GPRMC,123548.00,A,5159.71626,N,00423.14438,E,0.710,37.48,120308,,,A*52
+$GPRMC,123549.00,A,5159.71594,N,00423.14451,E,0.203,35.12,120308,,,A*5C
+$GPRMC,123550.00,A,5159.71583,N,00423.14434,E,0.215,34.22,120308,,,A*54
+$GPRMC,123551.00,A,5159.71576,N,00423.14402,E,0.270,34.59,120308,,,A*55
+$GPRMC,123552.00,A,5159.71499,N,00423.14359,E,0.915,23.74,120308,,,A*5E
+$GPRMC,123553.00,A,5159.71451,N,00423.14329,E,0.188,20.41,120308,,,A*55
+$GPRMC,123554.00,A,5159.71434,N,00423.14389,E,2.395,28.61,120308,,,A*5D
+$GPRMC,123555.00,A,5159.71454,N,00423.14676,E,7.967,77.01,120308,,,A*51
+$GPRMC,123556.00,A,5159.71593,N,00423.15307,E,16.766,72.79,120308,,,A*6F
+$GPRMC,123557.00,A,5159.71755,N,00423.16183,E,20.455,71.13,120308,,,A*62
+$GPRMC,123558.00,A,5159.71972,N,00423.17300,E,25.276,69.59,120308,,,A*6B
+$GPRMC,123559.00,A,5159.72185,N,00423.18509,E,27.992,71.24,120308,,,A*69
+$GPRMC,123600.00,A,5159.72332,N,00423.19875,E,28.738,76.69,120308,,,A*60
+$GPRMC,123601.00,A,5159.72477,N,00423.21132,E,27.006,79.92,120308,,,A*68
+$GPRMC,123602.00,A,5159.72627,N,00423.22283,E,25.053,78.84,120308,,,A*62
+$GPRMC,123603.00,A,5159.72814,N,00423.23312,E,22.913,75.10,120308,,,A*6F
+$GPRMC,123604.00,A,5159.73017,N,00423.24258,E,20.148,69.67,120308,,,A*63
+$GPRMC,123605.00,A,5159.73114,N,00423.25112,E,17.813,78.55,120308,,,A*6E
+$GPRMC,123606.00,A,5159.73225,N,00423.25751,E,14.057,76.33,120308,,,A*68
+$GPRMC,123607.00,A,5159.73283,N,00423.26328,E,11.373,77.95,120308,,,A*61
+$GPRMC,123608.00,A,5159.73297,N,00423.26780,E,9.814,89.26,120308,,,A*57
+$GPRMC,123609.00,A,5159.73281,N,00423.27133,E,6.319,93.55,120308,,,A*58
+$GPRMC,123610.00,A,5159.73274,N,00423.27329,E,3.513,82.33,120308,,,A*5A
+$GPRMC,123611.00,A,5159.73260,N,00423.27451,E,1.432,82.34,120308,,,A*51
+$GPRMC,123612.00,A,5159.73210,N,00423.27510,E,0.408,81.56,120308,,,A*5E
+$GPRMC,123613.00,A,5159.73131,N,00423.27577,E,0.338,85.92,120308,,,A*56
+$GPRMC,123614.00,A,5159.73060,N,00423.27635,E,0.427,88.89,120308,,,A*5F
+$GPRMC,123615.00,A,5159.73001,N,00423.27687,E,0.311,90.51,120308,,,A*5E
+$GPRMC,123616.00,A,5159.72947,N,00423.27726,E,0.698,89.83,120308,,,A*5E
+$GPRMC,123617.00,A,5159.72828,N,00423.27841,E,0.796,89.93,120308,,,A*57
+$GPRMC,123618.00,A,5159.72731,N,00423.27912,E,1.167,92.76,120308,,,A*50
+$GPRMC,123619.00,A,5159.72673,N,00423.27961,E,0.418,93.87,120308,,,A*51
+$GPRMC,123620.00,A,5159.72640,N,00423.27995,E,0.581,94.95,120308,,,A*55
+$GPRMC,123621.00,A,5159.72656,N,00423.28059,E,2.743,91.91,120308,,,A*5A
+$GPRMC,123622.00,A,5159.72636,N,00423.28300,E,6.943,94.42,120308,,,A*51
+$GPRMC,123623.00,A,5159.72516,N,00423.28829,E,12.244,107.38,120308,,,A*5E
+$GPRMC,123624.00,A,5159.72357,N,00423.29463,E,14.988,112.60,120308,,,A*5D
+$GPRMC,123625.00,A,5159.72089,N,00423.30225,E,18.260,114.96,120308,,,A*5E
+$GPRMC,123626.00,A,5159.71624,N,00423.30952,E,22.585,136.10,120308,,,A*5F
+$GPRMC,123627.00,A,5159.70875,N,00423.31667,E,28.604,150.27,120308,,,A*59
+$GPRMC,123628.00,A,5159.69940,N,00423.32249,E,34.157,157.08,120308,,,A*54
+$GPRMC,123629.00,A,5159.69034,N,00423.32821,E,34.952,157.63,120308,,,A*5B
+$GPRMC,123630.00,A,5159.68100,N,00423.33431,E,36.383,157.48,120308,,,A*55
+$GPRMC,123631.00,A,5159.67138,N,00423.34077,E,37.842,157.08,120308,,,A*52
+$GPRMC,123632.00,A,5159.66161,N,00423.34798,E,38.735,154.98,120308,,,A*50
+$GPRMC,123633.00,A,5159.65182,N,00423.35550,E,38.908,154.87,120308,,,A*56
+$GPRMC,123634.00,A,5159.64209,N,00423.36277,E,38.027,156.04,120308,,,A*5C
+$GPRMC,123635.00,A,5159.63307,N,00423.36931,E,34.572,156.81,120308,,,A*58
+$GPRMC,123636.00,A,5159.62477,N,00423.37488,E,30.635,158.06,120308,,,A*51
+$GPRMC,123637.00,A,5159.61706,N,00423.37970,E,28.749,158.78,120308,,,A*56
+$GPRMC,123638.00,A,5159.60988,N,00423.38420,E,26.784,158.95,120308,,,A*5B
+$GPRMC,123639.00,A,5159.60336,N,00423.38831,E,23.872,159.51,120308,,,A*53
+$GPRMC,123640.00,A,5159.59772,N,00423.39189,E,20.017,158.97,120308,,,A*5B
+$GPRMC,123641.00,A,5159.59297,N,00423.39501,E,17.103,158.95,120308,,,A*52
+$GPRMC,123642.00,A,5159.58958,N,00423.39729,E,12.459,158.49,120308,,,A*5E
+$GPRMC,123643.00,A,5159.58768,N,00423.39899,E,8.334,153.39,120308,,,A*6D
+$GPRMC,123644.00,A,5159.58695,N,00423.39956,E,4.425,147.69,120308,,,A*60
+$GPRMC,123645.00,A,5159.58675,N,00423.39955,E,1.748,147.68,120308,,,A*60
+$GPRMC,123646.00,A,5159.58665,N,00423.39911,E,3.633,157.30,120308,,,A*61
+$GPRMC,123647.00,A,5159.58518,N,00423.39978,E,8.260,159.62,120308,,,A*66
+$GPRMC,123648.00,A,5159.58239,N,00423.40088,E,13.719,162.61,120308,,,A*5F
+$GPRMC,123649.00,A,5159.57896,N,00423.40277,E,14.120,159.30,120308,,,A*5B
+$GPRMC,123650.00,A,5159.57516,N,00423.40435,E,13.444,165.12,120308,,,A*59
+$GPRMC,123651.00,A,5159.57178,N,00423.40596,E,12.926,160.87,120308,,,A*5D
+$GPRMC,123652.00,A,5159.56860,N,00423.40773,E,12.404,161.43,120308,,,A*52
+$GPRMC,123653.00,A,5159.56550,N,00423.40958,E,12.464,160.43,120308,,,A*5D
+$GPRMC,123654.00,A,5159.56269,N,00423.41170,E,12.792,159.30,120308,,,A*50
+$GPRMC,123655.00,A,5159.55988,N,00423.41386,E,12.084,159.14,120308,,,A*5B
+$GPRMC,123656.00,A,5159.55718,N,00423.41597,E,11.592,158.20,120308,,,A*5E
+$GPRMC,123657.00,A,5159.55469,N,00423.41795,E,10.724,157.52,120308,,,A*5E
+$GPRMC,123658.00,A,5159.55173,N,00423.41947,E,10.177,158.48,120308,,,A*5A
+$GPRMC,123659.00,A,5159.54903,N,00423.42101,E,9.758,159.17,120308,,,A*64
+$GPRMC,123700.00,A,5159.54641,N,00423.42223,E,9.046,159.62,120308,,,A*69
+$GPRMC,123701.00,A,5159.54414,N,00423.42347,E,8.271,160.31,120308,,,A*62
+$GPRMC,123702.00,A,5159.54197,N,00423.42465,E,8.817,160.41,120308,,,A*65
+$GPRMC,123703.00,A,5159.53968,N,00423.42594,E,9.227,160.96,120308,,,A*66
+$GPRMC,123704.00,A,5159.53736,N,00423.42721,E,9.013,159.76,120308,,,A*69
+$GPRMC,123705.00,A,5159.53511,N,00423.42834,E,8.263,160.74,120308,,,A*68
+$GPRMC,123706.00,A,5159.53302,N,00423.42943,E,7.853,161.81,120308,,,A*63
+$GPRMC,123707.00,A,5159.53113,N,00423.43077,E,7.551,148.86,120308,,,A*6C
+$GPRMC,123708.00,A,5159.52927,N,00423.43198,E,7.375,159.76,120308,,,A*62
+$GPRMC,123709.00,A,5159.52757,N,00423.43337,E,6.958,154.45,120308,,,A*64
+$GPRMC,123710.00,A,5159.52568,N,00423.43451,E,7.255,161.34,120308,,,A*62
+$GPRMC,123711.00,A,5159.52383,N,00423.43567,E,6.966,161.06,120308,,,A*6F
+$GPRMC,123712.00,A,5159.52211,N,00423.43687,E,6.887,160.53,120308,,,A*64
+$GPRMC,123713.00,A,5159.52040,N,00423.43802,E,6.630,160.07,120308,,,A*63
+$GPRMC,123714.00,A,5159.51869,N,00423.43910,E,6.624,161.86,120308,,,A*6B
+$GPRMC,123715.00,A,5159.51695,N,00423.44017,E,6.719,159.76,120308,,,A*65
+$GPRMC,123716.00,A,5159.51510,N,00423.44131,E,7.439,159.66,120308,,,A*6C
+$GPRMC,123717.00,A,5159.51297,N,00423.44257,E,8.326,159.94,120308,,,A*6D
+$GPRMC,123718.00,A,5159.51062,N,00423.44392,E,8.980,160.73,120308,,,A*67
+$GPRMC,123719.00,A,5159.50811,N,00423.44536,E,9.662,162.81,120308,,,A*6E
+$GPRMC,123720.00,A,5159.50579,N,00423.44679,E,8.390,161.37,120308,,,A*68
+$GPRMC,123721.00,A,5159.50361,N,00423.44796,E,7.972,161.80,120308,,,A*63
+$GPRMC,123722.00,A,5159.50164,N,00423.44898,E,7.119,160.94,120308,,,A*67
+$GPRMC,123723.00,A,5159.49971,N,00423.45005,E,7.712,160.14,120308,,,A*6A
+$GPRMC,123724.00,A,5159.49773,N,00423.45133,E,8.534,159.15,120308,,,A*67
+$GPRMC,123725.00,A,5159.49547,N,00423.45246,E,8.832,163.59,120308,,,A*68
+$GPRMC,123726.00,A,5159.49326,N,00423.45346,E,8.344,164.78,120308,,,A*65
+$GPRMC,123727.00,A,5159.49105,N,00423.45440,E,8.558,164.57,120308,,,A*60
+$GPRMC,123728.00,A,5159.48833,N,00423.45487,E,9.274,167.87,120308,,,A*6F
+$GPRMC,123729.00,A,5159.48612,N,00423.45591,E,8.339,161.93,120308,,,A*6F
+$GPRMC,123730.00,A,5159.48380,N,00423.45672,E,8.883,170.00,120308,,,A*67
+$GPRMC,123731.00,A,5159.48132,N,00423.45730,E,9.273,171.37,120308,,,A*6B
+$GPRMC,123732.00,A,5159.47875,N,00423.45799,E,8.993,169.47,120308,,,A*64
+$GPRMC,123733.00,A,5159.47636,N,00423.45884,E,8.245,166.57,120308,,,A*61
+$GPRMC,123734.00,A,5159.47430,N,00423.45990,E,7.942,167.17,120308,,,A*60
+$GPRMC,123735.00,A,5159.47187,N,00423.46036,E,7.649,163.67,120308,,,A*69
+$GPRMC,123736.00,A,5159.47017,N,00423.46146,E,6.173,157.63,120308,,,A*68
+$GPRMC,123737.00,A,5159.46818,N,00423.46240,E,7.843,163.22,120308,,,A*63
+$GPRMC,123738.00,A,5159.46598,N,00423.46315,E,7.837,167.28,120308,,,A*65
+$GPRMC,123739.00,A,5159.46405,N,00423.46398,E,6.795,163.33,120308,,,A*6C
+$GPRMC,123740.00,A,5159.46221,N,00423.46472,E,6.697,166.00,120308,,,A*67
+$GPRMC,123741.00,A,5159.46075,N,00423.46539,E,5.324,163.94,120308,,,A*6D
+$GPRMC,123742.00,A,5159.45941,N,00423.46592,E,4.964,165.77,120308,,,A*66
+$GPRMC,123743.00,A,5159.45808,N,00423.46636,E,5.121,170.78,120308,,,A*65
+$GPRMC,123744.00,A,5159.45676,N,00423.46682,E,5.220,170.54,120308,,,A*66
+$GPRMC,123745.00,A,5159.45512,N,00423.46692,E,5.062,170.28,120308,,,A*68
+$GPRMC,123746.00,A,5159.45396,N,00423.46757,E,4.898,169.30,120308,,,A*64
+$GPRMC,123747.00,A,5159.45300,N,00423.46844,E,4.237,163.03,120308,,,A*62
+$GPRMC,123748.00,A,5159.45181,N,00423.46880,E,3.971,165.45,120308,,,A*64
+$GPRMC,123749.00,A,5159.45070,N,00423.46916,E,3.962,164.08,120308,,,A*6E
+$GPRMC,123750.00,A,5159.44972,N,00423.46952,E,3.892,168.74,120308,,,A*65
+$GPRMC,123751.00,A,5159.44854,N,00423.46993,E,3.861,159.93,120308,,,A*6B
+$GPRMC,123752.00,A,5159.44773,N,00423.47064,E,3.016,152.13,120308,,,A*69
+$GPRMC,123753.00,A,5159.44722,N,00423.47140,E,2.573,149.43,120308,,,A*63
+$GPRMC,123754.00,A,5159.44683,N,00423.47190,E,1.788,149.25,120308,,,A*66
+$GPRMC,123755.00,A,5159.44685,N,00423.47217,E,0.611,149.10,120308,,,A*6B
+$GPRMC,123756.00,A,5159.44694,N,00423.47231,E,0.171,146.36,120308,,,A*66
+$GPRMC,123757.00,A,5159.44702,N,00423.47239,E,0.171,146.96,120308,,,A*6B
+$GPRMC,123758.00,A,5159.44704,N,00423.47257,E,0.136,147.61,120308,,,A*60
+$GPRMC,123759.00,A,5159.44703,N,00423.47260,E,0.050,149.30,120308,,,A*69
+$GPRMC,123800.00,A,5159.44698,N,00423.47255,E,0.148,150.10,120308,,,A*6D
+$GPRMC,123801.00,A,5159.44699,N,00423.47258,E,0.126,149.09,120308,,,A*68
+$GPRMC,123802.00,A,5159.44689,N,00423.47262,E,0.104,149.33,120308,,,A*6A
+$GPRMC,123803.00,A,5159.44675,N,00423.47257,E,0.037,147.04,120308,,,A*65
+$GPRMC,123804.00,A,5159.44679,N,00423.47257,E,0.034,148.44,120308,,,A*66
+$GPRMC,123805.00,A,5159.44681,N,00423.47249,E,0.131,150.97,120308,,,A*6C
+$GPRMC,123806.00,A,5159.44683,N,00423.47241,E,0.081,151.43,120308,,,A*67
+$GPRMC,123807.00,A,5159.44678,N,00423.47234,E,0.145,151.33,120308,,,A*6E
+$GPRMC,123808.00,A,5159.44665,N,00423.47231,E,0.464,151.42,120308,,,A*68
+$GPRMC,123809.00,A,5159.44651,N,00423.47244,E,0.673,150.61,120308,,,A*68
+$GPRMC,123810.00,A,5159.44628,N,00423.47265,E,1.147,150.09,120308,,,A*62
+$GPRMC,123811.00,A,5159.44603,N,00423.47290,E,0.815,149.16,120308,,,A*69
+$GPRMC,123812.00,A,5159.44596,N,00423.47280,E,0.158,149.05,120308,,,A*66
+$GPRMC,123813.00,A,5159.44583,N,00423.47274,E,0.865,148.67,120308,,,A*6A
+$GPRMC,123814.00,A,5159.44552,N,00423.47299,E,1.535,147.87,120308,,,A*6A
+$GPRMC,123815.00,A,5159.44521,N,00423.47309,E,0.943,149.61,120308,,,A*6D
+$GPRMC,123816.00,A,5159.44483,N,00423.47315,E,1.266,151.15,120308,,,A*6D
+$GPRMC,123817.00,A,5159.44449,N,00423.47369,E,1.650,150.45,120308,,,A*64
+$GPRMC,123818.00,A,5159.44402,N,00423.47427,E,2.245,155.15,120308,,,A*6A
+$GPRMC,123819.00,A,5159.44348,N,00423.47459,E,1.581,155.81,120308,,,A*6A
+$GPRMC,123820.00,A,5159.44315,N,00423.47482,E,0.805,156.74,120308,,,A*67
+$GPRMC,123821.00,A,5159.44300,N,00423.47524,E,0.217,152.10,120308,,,A*60
+$GPRMC,123822.00,A,5159.44288,N,00423.47566,E,0.329,149.50,120308,,,A*66
+$GPRMC,123823.00,A,5159.44325,N,00423.47613,E,1.126,143.95,120308,,,A*6F
+$GPRMC,123824.00,A,5159.44334,N,00423.47563,E,0.914,150.80,120308,,,A*62
+$GPRMC,123825.00,A,5159.44368,N,00423.47523,E,0.112,148.79,120308,,,A*6F
+$GPRMC,123826.00,A,5159.44400,N,00423.47483,E,0.609,157.93,120308,,,A*69
+$GPRMC,123827.00,A,5159.44398,N,00423.47479,E,0.221,163.22,120308,,,A*68
+$GPRMC,123828.00,A,5159.44370,N,00423.47473,E,1.052,165.07,120308,,,A*6D
+$GPRMC,123829.00,A,5159.44344,N,00423.47460,E,0.728,165.89,120308,,,A*64
+$GPRMC,123830.00,A,5159.44328,N,00423.47506,E,0.920,165.12,120308,,,A*63
+$GPRMC,123831.00,A,5159.44300,N,00423.47529,E,1.205,166.28,120308,,,A*62
+$GPRMC,123832.00,A,5159.44270,N,00423.47537,E,0.746,168.37,120308,,,A*6B
+$GPRMC,123833.00,A,5159.44261,N,00423.47552,E,0.165,164.19,120308,,,A*6E
+$GPRMC,123834.00,A,5159.44267,N,00423.47575,E,0.075,165.29,120308,,,A*68
+$GPRMC,123835.00,A,5159.44259,N,00423.47586,E,0.020,170.11,120308,,,A*67
+$GPRMC,123836.00,A,5159.44261,N,00423.47580,E,0.039,165.33,120308,,,A*65
+$GPRMC,123837.00,A,5159.44265,N,00423.47581,E,0.053,160.84,120308,,,A*64
+$GPRMC,123838.00,A,5159.44279,N,00423.47592,E,0.158,156.98,120308,,,A*66
+$GPRMC,123839.00,A,5159.44285,N,00423.47600,E,0.372,155.94,120308,,,A*69
+$GPRMC,123840.00,A,5159.44281,N,00423.47626,E,1.060,155.25,120308,,,A*6C
+$GPRMC,123841.00,A,5159.44268,N,00423.47648,E,1.287,155.12,120308,,,A*6D
+$GPRMC,123842.00,A,5159.44227,N,00423.47674,E,2.003,158.36,120308,,,A*6C
+$GPRMC,123843.00,A,5159.44154,N,00423.47708,E,3.035,160.48,120308,,,A*66
+$GPRMC,123844.00,A,5159.44069,N,00423.47745,E,3.058,162.45,120308,,,A*63
+$GPRMC,123845.00,A,5159.43999,N,00423.47781,E,2.569,163.23,120308,,,A*6C
+$GPRMC,123846.00,A,5159.43948,N,00423.47816,E,1.954,161.09,120308,,,A*69
+$GPRMC,123847.00,A,5159.43901,N,00423.47842,E,1.849,161.17,120308,,,A*66
+$GPRMC,123848.00,A,5159.43853,N,00423.47868,E,2.218,164.14,120308,,,A*6C
+$GPRMC,123849.00,A,5159.43787,N,00423.47901,E,2.988,164.14,120308,,,A*67
+$GPRMC,123850.00,A,5159.43694,N,00423.47947,E,3.848,164.34,120308,,,A*60
+$GPRMC,123851.00,A,5159.43576,N,00423.47987,E,3.676,164.84,120308,,,A*6A
+$GPRMC,123852.00,A,5159.43446,N,00423.48035,E,4.897,164.84,120308,,,A*62
+$GPRMC,123853.00,A,5159.43294,N,00423.48099,E,5.863,164.75,120308,,,A*68
+$GPRMC,123854.00,A,5159.43125,N,00423.48173,E,6.239,164.86,120308,,,A*69
+$GPRMC,123855.00,A,5159.42947,N,00423.48245,E,6.313,164.96,120308,,,A*6B
+$GPRMC,123856.00,A,5159.42766,N,00423.48317,E,6.491,164.88,120308,,,A*61
+$GPRMC,123857.00,A,5159.42579,N,00423.48390,E,6.781,165.03,120308,,,A*63
+$GPRMC,123858.00,A,5159.42377,N,00423.48468,E,7.283,165.05,120308,,,A*64
+$GPRMC,123859.00,A,5159.42150,N,00423.48546,E,7.628,165.05,120308,,,A*6A
+$GPRMC,123900.00,A,5159.41934,N,00423.48625,E,7.391,165.24,120308,,,A*6C
+$GPRMC,123901.00,A,5159.41722,N,00423.48702,E,7.184,165.37,120308,,,A*64
+$GPRMC,123902.00,A,5159.41498,N,00423.48789,E,8.670,165.56,120308,,,A*62
+$GPRMC,123903.00,A,5159.41242,N,00423.48889,E,9.310,165.17,120308,,,A*6A
+$GPRMC,123904.00,A,5159.40984,N,00423.48996,E,10.131,165.62,120308,,,A*59
+$GPRMC,123905.00,A,5159.40655,N,00423.49112,E,11.339,165.98,120308,,,A*50
+$GPRMC,123906.00,A,5159.40314,N,00423.49244,E,12.641,165.94,120308,,,A*56
+$GPRMC,123907.00,A,5159.39947,N,00423.49393,E,13.227,164.17,120308,,,A*51
+$GPRMC,123908.00,A,5159.39586,N,00423.49552,E,13.005,164.73,120308,,,A*54
+$GPRMC,123909.00,A,5159.39221,N,00423.49708,E,13.616,164.31,120308,,,A*50
+$GPRMC,123910.00,A,5159.38834,N,00423.49873,E,14.681,165.38,120308,,,A*55
+$GPRMC,123911.00,A,5159.38428,N,00423.50039,E,15.084,165.87,120308,,,A*5D
+$GPRMC,123912.00,A,5159.38017,N,00423.50203,E,14.963,165.34,120308,,,A*54
+$GPRMC,123913.00,A,5159.37615,N,00423.50373,E,14.691,165.19,120308,,,A*55
+$GPRMC,123914.00,A,5159.37230,N,00423.50541,E,13.971,163.33,120308,,,A*5E
+$GPRMC,123915.00,A,5159.36851,N,00423.50701,E,13.825,165.95,120308,,,A*5F
+$GPRMC,123916.00,A,5159.36470,N,00423.50841,E,13.704,167.92,120308,,,A*51
+$GPRMC,123917.00,A,5159.36135,N,00423.50994,E,12.841,167.19,120308,,,A*51
+$GPRMC,123918.00,A,5159.35825,N,00423.51151,E,11.859,165.06,120308,,,A*53
+$GPRMC,123919.00,A,5159.35525,N,00423.51294,E,11.231,165.09,120308,,,A*5E
+$GPRMC,123920.00,A,5159.35238,N,00423.51427,E,11.228,167.39,120308,,,A*58
+$GPRMC,123921.00,A,5159.34956,N,00423.51565,E,11.064,164.44,120308,,,A*5F
+$GPRMC,123922.00,A,5159.34662,N,00423.51702,E,11.485,164.48,120308,,,A*50
+$GPRMC,123923.00,A,5159.34351,N,00423.51841,E,11.848,164.83,120308,,,A*56
+$GPRMC,123924.00,A,5159.34026,N,00423.51981,E,12.558,165.28,120308,,,A*50
+$GPRMC,123925.00,A,5159.33698,N,00423.52119,E,12.000,165.64,120308,,,A*5F
+$GPRMC,123926.00,A,5159.33392,N,00423.52263,E,11.647,165.10,120308,,,A*58
+$GPRMC,123927.00,A,5159.33072,N,00423.52395,E,12.122,165.20,120308,,,A*58
+$GPRMC,123928.00,A,5159.32735,N,00423.52530,E,12.926,166.05,120308,,,A*53
+$GPRMC,123929.00,A,5159.32381,N,00423.52678,E,13.222,164.87,120308,,,A*50
+$GPRMC,123930.00,A,5159.32019,N,00423.52842,E,13.451,164.80,120308,,,A*58
+$GPRMC,123931.00,A,5159.31653,N,00423.53007,E,13.857,164.67,120308,,,A*59
+$GPRMC,123932.00,A,5159.31267,N,00423.53185,E,14.810,164.73,120308,,,A*53
+$GPRMC,123933.00,A,5159.30850,N,00423.53370,E,15.839,164.98,120308,,,A*5A
+$GPRMC,123934.00,A,5159.30411,N,00423.53566,E,16.838,164.88,120308,,,A*56
+$GPRMC,123935.00,A,5159.29942,N,00423.53770,E,17.730,164.97,120308,,,A*59
+$GPRMC,123936.00,A,5159.29440,N,00423.53980,E,18.602,165.29,120308,,,A*5F
+$GPRMC,123937.00,A,5159.28922,N,00423.54190,E,18.981,165.67,120308,,,A*56
+$GPRMC,123938.00,A,5159.28388,N,00423.54398,E,18.839,165.80,120308,,,A*52
+$GPRMC,123939.00,A,5159.27847,N,00423.54606,E,19.722,165.87,120308,,,A*55
+$GPRMC,123940.00,A,5159.27276,N,00423.54840,E,21.469,165.18,120308,,,A*5E
+$GPRMC,123941.00,A,5159.26666,N,00423.55095,E,22.628,165.07,120308,,,A*50
+$GPRMC,123942.00,A,5159.26018,N,00423.55365,E,24.471,165.24,120308,,,A*59
+$GPRMC,123943.00,A,5159.25330,N,00423.55656,E,25.749,165.08,120308,,,A*50
+$GPRMC,123944.00,A,5159.24620,N,00423.55959,E,26.167,164.99,120308,,,A*52
+$GPRMC,123945.00,A,5159.23897,N,00423.56268,E,26.806,165.07,120308,,,A*54
+$GPRMC,123946.00,A,5159.23160,N,00423.56580,E,27.226,165.18,120308,,,A*50
+$GPRMC,123947.00,A,5159.22432,N,00423.56889,E,26.391,165.28,120308,,,A*59
+$GPRMC,123948.00,A,5159.21737,N,00423.57200,E,25.153,163.84,120308,,,A*56
+$GPRMC,123949.00,A,5159.21086,N,00423.57483,E,23.204,165.20,120308,,,A*58
+$GPRMC,123950.00,A,5159.20483,N,00423.57725,E,21.150,166.89,120308,,,A*5F
+$GPRMC,123951.00,A,5159.19948,N,00423.57946,E,19.432,167.64,120308,,,A*5D
+$GPRMC,123952.00,A,5159.19432,N,00423.58122,E,18.582,168.25,120308,,,A*5A
+$GPRMC,123953.00,A,5159.18924,N,00423.58296,E,18.241,167.97,120308,,,A*52
+$GPRMC,123954.00,A,5159.18437,N,00423.58490,E,18.060,165.77,120308,,,A*57
+$GPRMC,123955.00,A,5159.17967,N,00423.58713,E,17.690,164.83,120308,,,A*55
+$GPRMC,123956.00,A,5159.17507,N,00423.58936,E,17.300,164.94,120308,,,A*5F
+$GPRMC,123957.00,A,5159.17060,N,00423.59152,E,16.893,164.88,120308,,,A*5C
+$GPRMC,123958.00,A,5159.16607,N,00423.59357,E,17.229,164.98,120308,,,A*59
+$GPRMC,123959.00,A,5159.16119,N,00423.59561,E,18.934,166.61,120308,,,A*5F
+$GPRMC,124000.00,A,5159.15577,N,00423.59792,E,21.387,165.46,120308,,,A*52
+$GPRMC,124001.00,A,5159.15000,N,00423.60067,E,22.514,165.45,120308,,,A*5D
+$GPRMC,124002.00,A,5159.14392,N,00423.60332,E,22.887,165.42,120308,,,A*54
+$GPRMC,124003.00,A,5159.13764,N,00423.60608,E,23.904,165.20,120308,,,A*5C
+$GPRMC,124004.00,A,5159.13107,N,00423.60895,E,25.218,165.34,120308,,,A*57
+$GPRMC,124005.00,A,5159.12419,N,00423.61189,E,25.959,165.08,120308,,,A*59
+$GPRMC,124006.00,A,5159.11719,N,00423.61488,E,26.216,165.87,120308,,,A*5A
+$GPRMC,124007.00,A,5159.11042,N,00423.61801,E,25.036,164.23,120308,,,A*53
+$GPRMC,124008.00,A,5159.10370,N,00423.62099,E,25.030,165.17,120308,,,A*55
+$GPRMC,124009.00,A,5159.09717,N,00423.62391,E,24.206,165.30,120308,,,A*51
+$GPRMC,124010.00,A,5159.09069,N,00423.62669,E,24.154,165.59,120308,,,A*5E
+$GPRMC,124011.00,A,5159.08412,N,00423.62947,E,24.731,165.38,120308,,,A*57
+$GPRMC,124012.00,A,5159.07755,N,00423.63229,E,24.328,165.17,120308,,,A*58
+$GPRMC,124013.00,A,5159.07115,N,00423.63505,E,23.398,165.05,120308,,,A*5D
+$GPRMC,124014.00,A,5159.06495,N,00423.63770,E,22.890,165.41,120308,,,A*54
+$GPRMC,124015.00,A,5159.05876,N,00423.64028,E,23.148,165.39,120308,,,A*58
+$GPRMC,124016.00,A,5159.05248,N,00423.64294,E,23.567,165.39,120308,,,A*50
+$GPRMC,124017.00,A,5159.04602,N,00423.64572,E,24.512,165.06,120308,,,A*5C
+$GPRMC,124018.00,A,5159.03932,N,00423.64863,E,25.382,164.96,120308,,,A*53
+$GPRMC,124019.00,A,5159.03245,N,00423.65157,E,25.696,165.31,120308,,,A*5A
+$GPRMC,124020.00,A,5159.02552,N,00423.65445,E,25.626,165.69,120308,,,A*50
+$GPRMC,124021.00,A,5159.01862,N,00423.65728,E,25.358,165.63,120308,,,A*52
+$GPRMC,124022.00,A,5159.01176,N,00423.66016,E,25.455,165.40,120308,,,A*5F
+$GPRMC,124023.00,A,5159.00490,N,00423.66306,E,25.467,165.44,120308,,,A*55
+$GPRMC,124024.00,A,5158.99783,N,00423.66615,E,26.877,164.61,120308,,,A*5D
+$GPRMC,124025.00,A,5158.99034,N,00423.66953,E,28.342,164.72,120308,,,A*5B
+$GPRMC,124026.00,A,5158.98234,N,00423.67344,E,30.360,163.80,120308,,,A*55
+$GPRMC,124027.00,A,5158.97434,N,00423.67716,E,29.705,164.02,120308,,,A*5C
+$GPRMC,124028.00,A,5158.96643,N,00423.68076,E,30.380,163.42,120308,,,A*5C
+$GPRMC,124029.00,A,5158.95865,N,00423.68364,E,30.027,164.65,120308,,,A*58
+$GPRMC,124030.00,A,5158.95050,N,00423.68722,E,30.309,164.28,120308,,,A*5E
+$GPRMC,124031.00,A,5158.94241,N,00423.69079,E,30.307,164.85,120308,,,A*5D
+$GPRMC,124032.00,A,5158.93434,N,00423.69448,E,30.013,164.20,120308,,,A*52
+$GPRMC,124033.00,A,5158.92616,N,00423.69798,E,30.606,164.81,120308,,,A*57
+$GPRMC,124034.00,A,5158.91810,N,00423.70149,E,30.332,164.51,120308,,,A*56
+$GPRMC,124035.00,A,5158.90979,N,00423.70503,E,29.246,166.42,120308,,,A*58
+$GPRMC,124036.00,A,5158.90223,N,00423.70875,E,28.222,163.48,120308,,,A*5F
+$GPRMC,124037.00,A,5158.89506,N,00423.71224,E,27.392,162.99,120308,,,A*51
+$GPRMC,124038.00,A,5158.88852,N,00423.71534,E,26.275,162.81,120308,,,A*55
+$GPRMC,124039.00,A,5158.88167,N,00423.71895,E,25.287,161.91,120308,,,A*51
+$GPRMC,124040.00,A,5158.87541,N,00423.72191,E,23.916,162.11,120308,,,A*50
+$GPRMC,124041.00,A,5158.86927,N,00423.72481,E,22.777,163.09,120308,,,A*58
+$GPRMC,124042.00,A,5158.86360,N,00423.72731,E,21.410,163.85,120308,,,A*5F
+$GPRMC,124043.00,A,5158.85828,N,00423.72959,E,19.659,164.55,120308,,,A*54
+$GPRMC,124044.00,A,5158.85323,N,00423.73157,E,18.050,165.63,120308,,,A*5E
+$GPRMC,124045.00,A,5158.84869,N,00423.73338,E,17.278,165.33,120308,,,A*52
+$GPRMC,124046.00,A,5158.84416,N,00423.73521,E,17.928,165.13,120308,,,A*57
+$GPRMC,124047.00,A,5158.83942,N,00423.73720,E,18.531,164.80,120308,,,A*5E
+$GPRMC,124048.00,A,5158.83466,N,00423.73926,E,18.401,165.16,120308,,,A*5E
+$GPRMC,124049.00,A,5158.82978,N,00423.74138,E,18.949,165.00,120308,,,A*5A
+$GPRMC,124050.00,A,5158.82472,N,00423.74360,E,19.223,164.90,120308,,,A*54
+$GPRMC,124051.00,A,5158.81993,N,00423.74573,E,17.213,165.01,120308,,,A*54
+$GPRMC,124052.00,A,5158.81592,N,00423.74752,E,13.565,165.48,120308,,,A*54
+$GPRMC,124053.00,A,5158.81246,N,00423.74902,E,12.567,165.31,120308,,,A*5D
+$GPRMC,124054.00,A,5158.80918,N,00423.75042,E,12.444,167.29,120308,,,A*5C
+$GPRMC,124055.00,A,5158.80607,N,00423.75185,E,11.418,164.73,120308,,,A*50
+$GPRMC,124056.00,A,5158.80314,N,00423.75318,E,10.735,165.14,120308,,,A*5F
+$GPRMC,124057.00,A,5158.80041,N,00423.75447,E,10.383,165.30,120308,,,A*5F
+$GPRMC,124058.00,A,5158.79761,N,00423.75574,E,11.166,165.56,120308,,,A*5A
+$GPRMC,124059.00,A,5158.79462,N,00423.75711,E,11.542,164.28,120308,,,A*50
+$GPRMC,124100.00,A,5158.79151,N,00423.75849,E,11.826,162.94,120308,,,A*54
+$GPRMC,124101.00,A,5158.78827,N,00423.75958,E,12.262,168.44,120308,,,A*53
+$GPRMC,124102.00,A,5158.78514,N,00423.76088,E,12.016,168.30,120308,,,A*58
+$GPRMC,124103.00,A,5158.78225,N,00423.76227,E,11.044,166.71,120308,,,A*54
+$GPRMC,124104.00,A,5158.77955,N,00423.76359,E,10.826,168.60,120308,,,A*5B
+$GPRMC,124105.00,A,5158.77688,N,00423.76475,E,10.323,168.47,120308,,,A*57
+$GPRMC,124106.00,A,5158.77417,N,00423.76558,E,9.464,168.48,120308,,,A*6D
+$GPRMC,124107.00,A,5158.77197,N,00423.76657,E,8.010,166.15,120308,,,A*6D
+$GPRMC,124108.00,A,5158.77035,N,00423.76742,E,5.337,166.17,120308,,,A*67
+$GPRMC,124109.00,A,5158.76937,N,00423.76801,E,3.095,164.23,120308,,,A*6C
+$GPRMC,124110.00,A,5158.76913,N,00423.76856,E,1.091,164.40,120308,,,A*63
+$GPRMC,124111.00,A,5158.76905,N,00423.76875,E,0.469,163.44,120308,,,A*65
+$GPRMC,124112.00,A,5158.76898,N,00423.76874,E,0.240,165.65,120308,,,A*6A
+$GPRMC,124113.00,A,5158.76928,N,00423.76904,E,0.420,157.52,120308,,,A*62
+$GPRMC,124114.00,A,5158.76958,N,00423.76928,E,0.385,149.51,120308,,,A*68
+$GPRMC,124115.00,A,5158.76955,N,00423.76910,E,0.059,151.11,120308,,,A*60
+$GPRMC,124116.00,A,5158.76963,N,00423.76907,E,0.081,152.43,120308,,,A*61
+$GPRMC,124117.00,A,5158.76969,N,00423.76903,E,0.032,155.48,120308,,,A*6A
+$GPRMC,124118.00,A,5158.76969,N,00423.76891,E,0.014,,120308,,,A*78
+$GPRMC,124119.00,A,5158.76966,N,00423.76873,E,0.014,,120308,,,A*7A
+$GPRMC,124120.00,A,5158.76977,N,00423.76872,E,0.045,155.16,120308,,,A*6D
+$GPRMC,124121.00,A,5158.76969,N,00423.76858,E,0.580,158.80,120308,,,A*65
+$GPRMC,124122.00,A,5158.76976,N,00423.76858,E,0.175,160.22,120308,,,A*65
+$GPRMC,124123.00,A,5158.76977,N,00423.76862,E,0.710,163.19,120308,,,A*62
+$GPRMC,124124.00,A,5158.76964,N,00423.76858,E,0.554,164.07,120308,,,A*64
+$GPRMC,124125.00,A,5158.76919,N,00423.76875,E,2.393,156.64,120308,,,A*6B
+$GPRMC,124126.00,A,5158.76834,N,00423.76921,E,3.712,161.96,120308,,,A*63
+$GPRMC,124127.00,A,5158.76721,N,00423.76951,E,3.704,165.97,120308,,,A*6C
+$GPRMC,124128.00,A,5158.76594,N,00423.76987,E,4.992,167.58,120308,,,A*63
+$GPRMC,124129.00,A,5158.76431,N,00423.77041,E,6.291,167.14,120308,,,A*6C
+$GPRMC,124130.00,A,5158.76230,N,00423.77110,E,7.894,165.76,120308,,,A*6E
+$GPRMC,124131.00,A,5158.75991,N,00423.77202,E,9.557,164.95,120308,,,A*6C
+$GPRMC,124132.00,A,5158.75717,N,00423.77312,E,10.168,166.26,120308,,,A*55
+$GPRMC,124133.00,A,5158.75425,N,00423.77444,E,11.008,163.95,120308,,,A*59
+$GPRMC,124134.00,A,5158.75098,N,00423.77603,E,12.888,163.25,120308,,,A*55
+$GPRMC,124135.00,A,5158.74758,N,00423.77760,E,12.893,165.10,120308,,,A*50
+$GPRMC,124136.00,A,5158.74380,N,00423.77914,E,14.594,165.09,120308,,,A*5B
+$GPRMC,124137.00,A,5158.73960,N,00423.78089,E,16.336,164.89,120308,,,A*5E
+$GPRMC,124138.00,A,5158.73472,N,00423.78298,E,19.357,164.78,120308,,,A*5B
+$GPRMC,124139.00,A,5158.72942,N,00423.78533,E,19.598,165.05,120308,,,A*5D
+$GPRMC,124140.00,A,5158.72413,N,00423.78773,E,19.625,165.12,120308,,,A*5F
+$GPRMC,124141.00,A,5158.71859,N,00423.79019,E,20.672,164.28,120308,,,A*55
+$GPRMC,124142.00,A,5158.71255,N,00423.79270,E,22.560,165.43,120308,,,A*53
+$GPRMC,124143.00,A,5158.70599,N,00423.79523,E,24.203,165.12,120308,,,A*55
+$GPRMC,124144.00,A,5158.69921,N,00423.79833,E,25.961,164.19,120308,,,A*5D
+$GPRMC,124145.00,A,5158.69173,N,00423.80134,E,27.378,165.27,120308,,,A*57
+$GPRMC,124146.00,A,5158.68345,N,00423.80406,E,28.865,166.57,120308,,,A*5A
+$GPRMC,124147.00,A,5158.67544,N,00423.80736,E,29.968,165.13,120308,,,A*5D
+$GPRMC,124148.00,A,5158.66725,N,00423.81077,E,29.826,165.08,120308,,,A*54
+$GPRMC,124149.00,A,5158.65901,N,00423.81425,E,30.738,165.23,120308,,,A*5C
+$GPRMC,124150.00,A,5158.65056,N,00423.81775,E,31.145,165.28,120308,,,A*5F
+$GPRMC,124151.00,A,5158.64210,N,00423.82133,E,31.274,165.53,120308,,,A*55
+$GPRMC,124152.00,A,5158.63346,N,00423.82490,E,32.452,165.82,120308,,,A*52
+$GPRMC,124153.00,A,5158.62465,N,00423.82876,E,33.059,165.09,120308,,,A*5D
+$GPRMC,124154.00,A,5158.61548,N,00423.83278,E,34.722,165.01,120308,,,A*56
+$GPRMC,124155.00,A,5158.60602,N,00423.83699,E,35.305,165.21,120308,,,A*52
+$GPRMC,124156.00,A,5158.59657,N,00423.84123,E,34.811,165.04,120308,,,A*52
+$GPRMC,124157.00,A,5158.58724,N,00423.84536,E,34.536,165.25,120308,,,A*5C
+$GPRMC,124158.00,A,5158.57793,N,00423.84939,E,34.619,165.35,120308,,,A*5C
+$GPRMC,124159.00,A,5158.56857,N,00423.85345,E,34.993,165.24,120308,,,A*56
+$GPRMC,124200.00,A,5158.55916,N,00423.85748,E,35.108,165.54,120308,,,A*5B
+$GPRMC,124201.00,A,5158.54974,N,00423.86156,E,34.955,164.64,120308,,,A*56
+$GPRMC,124202.00,A,5158.54024,N,00423.86622,E,36.461,162.01,120308,,,A*50
+$GPRMC,124203.00,A,5158.53032,N,00423.87153,E,38.612,161.63,120308,,,A*5E
+$GPRMC,124204.00,A,5158.51972,N,00423.87695,E,40.979,163.16,120308,,,A*56
+$GPRMC,124205.00,A,5158.50844,N,00423.88229,E,43.253,164.22,120308,,,A*5E
+$GPRMC,124206.00,A,5158.49650,N,00423.88767,E,45.447,164.70,120308,,,A*53
+$GPRMC,124207.00,A,5158.48394,N,00423.89309,E,47.357,165.06,120308,,,A*57
+$GPRMC,124208.00,A,5158.47094,N,00423.89868,E,48.626,165.12,120308,,,A*51
+$GPRMC,124209.00,A,5158.45777,N,00423.90431,E,48.982,165.16,120308,,,A*55
+$GPRMC,124210.00,A,5158.44453,N,00423.90995,E,48.931,165.45,120308,,,A*54
+$GPRMC,124211.00,A,5158.43132,N,00423.91555,E,48.649,165.21,120308,,,A*53
+$GPRMC,124212.00,A,5158.41825,N,00423.92122,E,48.272,165.03,120308,,,A*56
+$GPRMC,124213.00,A,5158.40542,N,00423.92682,E,47.138,165.02,120308,,,A*54
+$GPRMC,124214.00,A,5158.39282,N,00423.93228,E,46.496,165.40,120308,,,A*55
+$GPRMC,124215.00,A,5158.38027,N,00423.93763,E,46.779,165.30,120308,,,A*57
+$GPRMC,124216.00,A,5158.36760,N,00423.94309,E,47.409,165.08,120308,,,A*5F
+$GPRMC,124217.00,A,5158.35488,N,00423.94857,E,47.185,165.15,120308,,,A*55
+$GPRMC,124218.00,A,5158.34231,N,00423.95394,E,46.309,165.35,120308,,,A*5F
+$GPRMC,124219.00,A,5158.32987,N,00423.95930,E,46.385,164.91,120308,,,A*51
+$GPRMC,124220.00,A,5158.31749,N,00423.96479,E,45.910,164.71,120308,,,A*5C
+$GPRMC,124221.00,A,5158.30507,N,00423.97035,E,46.713,164.50,120308,,,A*54
+$GPRMC,124222.00,A,5158.29238,N,00423.97629,E,48.158,163.39,120308,,,A*50
+$GPRMC,124223.00,A,5158.27951,N,00423.98281,E,48.633,162.03,120308,,,A*50
+$GPRMC,124224.00,A,5158.26654,N,00423.98988,E,48.979,160.40,120308,,,A*5A
+$GPRMC,124225.00,A,5158.25364,N,00423.99751,E,49.615,159.22,120308,,,A*5F
+$GPRMC,124226.00,A,5158.24065,N,00424.00583,E,50.473,157.70,120308,,,A*56
+$GPRMC,124227.00,A,5158.22765,N,00424.01492,E,51.225,156.01,120308,,,A*55
+$GPRMC,124228.00,A,5158.21458,N,00424.02462,E,51.617,155.09,120308,,,A*56
+$GPRMC,124229.00,A,5158.20154,N,00424.03453,E,51.804,154.77,120308,,,A*58
+$GPRMC,124230.00,A,5158.18872,N,00424.04469,E,50.912,153.99,120308,,,A*58
+$GPRMC,124231.00,A,5158.17609,N,00424.05460,E,50.120,154.39,120308,,,A*58
+$GPRMC,124232.00,A,5158.16346,N,00424.06445,E,50.702,154.25,120308,,,A*5B
+$GPRMC,124233.00,A,5158.15070,N,00424.07443,E,51.112,154.66,120308,,,A*59
+$GPRMC,124234.00,A,5158.13798,N,00424.08420,E,50.607,154.48,120308,,,A*5D
+$GPRMC,124235.00,A,5158.12529,N,00424.09395,E,50.482,154.66,120308,,,A*5E
+$GPRMC,124236.00,A,5158.11245,N,00424.10389,E,51.268,154.47,120308,,,A*56
+$GPRMC,124237.00,A,5158.09964,N,00424.11416,E,51.259,153.60,120308,,,A*56
+$GPRMC,124238.00,A,5158.08691,N,00424.12441,E,51.021,153.30,120308,,,A*54
+$GPRMC,124239.00,A,5158.07423,N,00424.13410,E,50.408,154.53,120308,,,A*58
+$GPRMC,124240.00,A,5158.06151,N,00424.14441,E,50.962,153.62,120308,,,A*50
+$GPRMC,124241.00,A,5158.04879,N,00424.15469,E,51.106,153.82,120308,,,A*5E
+$GPRMC,124242.00,A,5158.03601,N,00424.16495,E,51.119,154.61,120308,,,A*5F
+$GPRMC,124243.00,A,5158.02327,N,00424.17487,E,50.822,154.67,120308,,,A*5A
+$GPRMC,124244.00,A,5158.01091,N,00424.18448,E,50.458,154.34,120308,,,A*5B
+$GPRMC,124245.00,A,5157.99826,N,00424.19455,E,50.745,154.28,120308,,,A*5F
+$GPRMC,124246.00,A,5157.98555,N,00424.20452,E,50.537,154.68,120308,,,A*5A
+$GPRMC,124247.00,A,5157.97278,N,00424.21451,E,49.988,154.65,120308,,,A*53
+$GPRMC,124248.00,A,5157.96022,N,00424.22427,E,49.131,155.05,120308,,,A*5F
+$GPRMC,124249.00,A,5157.94816,N,00424.23329,E,48.652,154.74,120308,,,A*5F
+$GPRMC,124250.00,A,5157.93527,N,00424.24433,E,50.246,153.39,120308,,,A*52
+$GPRMC,124251.00,A,5157.92285,N,00424.25406,E,49.632,154.29,120308,,,A*53
+$GPRMC,124252.00,A,5157.91044,N,00424.26359,E,49.975,154.40,120308,,,A*51
+$GPRMC,124253.00,A,5157.89813,N,00424.27313,E,50.360,154.17,120308,,,A*58
+$GPRMC,124254.00,A,5157.88562,N,00424.28280,E,50.411,154.22,120308,,,A*56
+$GPRMC,124255.00,A,5157.87304,N,00424.29263,E,51.363,153.88,120308,,,A*56
+$GPRMC,124256.00,A,5157.86023,N,00424.30240,E,51.198,154.27,120308,,,A*5F
+$GPRMC,124257.00,A,5157.84742,N,00424.31213,E,50.620,154.30,120308,,,A*58
+$GPRMC,124258.00,A,5157.83481,N,00424.32172,E,49.664,154.38,120308,,,A*5B
+$GPRMC,124259.00,A,5157.82241,N,00424.33124,E,49.032,154.17,120308,,,A*5B
+$GPRMC,124300.00,A,5157.81021,N,00424.34061,E,48.469,153.88,120308,,,A*5C
+$GPRMC,124301.00,A,5157.79809,N,00424.35009,E,48.765,154.37,120308,,,A*5B
+$GPRMC,124302.00,A,5157.78603,N,00424.35974,E,48.729,153.71,120308,,,A*53
+$GPRMC,124303.00,A,5157.77413,N,00424.36871,E,47.667,154.66,120308,,,A*5C
+$GPRMC,124304.00,A,5157.76235,N,00424.37757,E,46.802,155.13,120308,,,A*5D
+$GPRMC,124305.00,A,5157.75067,N,00424.38594,E,45.576,156.78,120308,,,A*5B
+$GPRMC,124306.00,A,5157.73918,N,00424.39428,E,45.026,156.82,120308,,,A*5D
+$GPRMC,124307.00,A,5157.72785,N,00424.40233,E,44.195,156.76,120308,,,A*56
+$GPRMC,124308.00,A,5157.71676,N,00424.41033,E,43.218,155.98,120308,,,A*56
+$GPRMC,124309.00,A,5157.70599,N,00424.41834,E,42.336,155.30,120308,,,A*55
+$GPRMC,124310.00,A,5157.69548,N,00424.42634,E,41.452,155.10,120308,,,A*50
+$GPRMC,124311.00,A,5157.68525,N,00424.43435,E,41.082,154.14,120308,,,A*55
+$GPRMC,124312.00,A,5157.67501,N,00424.44243,E,41.619,154.97,120308,,,A*50
+$GPRMC,124313.00,A,5157.66462,N,00424.45015,E,41.112,155.34,120308,,,A*50
+$GPRMC,124314.00,A,5157.65446,N,00424.45779,E,40.596,155.68,120308,,,A*5F
+$GPRMC,124315.00,A,5157.64446,N,00424.46504,E,40.370,156.82,120308,,,A*5D
+$GPRMC,124316.00,A,5157.63433,N,00424.47205,E,39.445,157.59,120308,,,A*54
+$GPRMC,124317.00,A,5157.62439,N,00424.47902,E,38.686,155.94,120308,,,A*5D
+$GPRMC,124318.00,A,5157.61480,N,00424.48632,E,37.712,153.88,120308,,,A*58
+$GPRMC,124319.00,A,5157.60549,N,00424.49368,E,37.031,153.98,120308,,,A*50
+$GPRMC,124320.00,A,5157.59631,N,00424.50100,E,36.585,153.92,120308,,,A*59
+$GPRMC,124321.00,A,5157.58722,N,00424.50833,E,36.849,153.91,120308,,,A*5D
+$GPRMC,124322.00,A,5157.57793,N,00424.51561,E,37.806,154.36,120308,,,A*50
+$GPRMC,124323.00,A,5157.56833,N,00424.52333,E,38.913,153.75,120308,,,A*5D
+$GPRMC,124324.00,A,5157.55868,N,00424.53102,E,38.899,153.73,120308,,,A*53
+$GPRMC,124325.00,A,5157.54908,N,00424.53853,E,38.525,154.38,120308,,,A*5B
+$GPRMC,124326.00,A,5157.53916,N,00424.54605,E,39.094,154.74,120308,,,A*5C
+$GPRMC,124327.00,A,5157.52944,N,00424.55342,E,38.218,154.23,120308,,,A*59
+$GPRMC,124328.00,A,5157.51982,N,00424.56066,E,37.466,154.18,120308,,,A*51
+$GPRMC,124329.00,A,5157.51048,N,00424.56791,E,36.908,153.92,120308,,,A*51
+$GPRMC,124330.00,A,5157.50132,N,00424.57479,E,36.079,154.01,120308,,,A*52
+$GPRMC,124331.00,A,5157.49241,N,00424.58147,E,35.430,154.15,120308,,,A*54
+$GPRMC,124332.00,A,5157.48366,N,00424.58822,E,34.869,153.94,120308,,,A*57
+$GPRMC,124333.00,A,5157.47507,N,00424.59479,E,34.170,154.39,120308,,,A*5A
+$GPRMC,124334.00,A,5157.46650,N,00424.60136,E,34.132,154.67,120308,,,A*54
+$GPRMC,124335.00,A,5157.45783,N,00424.60795,E,34.877,154.61,120308,,,A*58
+$GPRMC,124336.00,A,5157.44915,N,00424.61445,E,34.749,154.53,120308,,,A*57
+$GPRMC,124337.00,A,5157.44036,N,00424.62138,E,34.863,154.25,120308,,,A*54
+$GPRMC,124338.00,A,5157.43167,N,00424.62807,E,35.092,153.91,120308,,,A*53
+$GPRMC,124339.00,A,5157.42285,N,00424.63499,E,35.712,154.07,120308,,,A*51
+$GPRMC,124340.00,A,5157.41380,N,00424.64203,E,36.910,154.23,120308,,,A*53
+$GPRMC,124341.00,A,5157.40457,N,00424.64917,E,36.975,154.30,120308,,,A*51
+$GPRMC,124342.00,A,5157.39535,N,00424.65634,E,36.933,154.17,120308,,,A*51
+$GPRMC,124343.00,A,5157.38607,N,00424.66356,E,37.347,154.37,120308,,,A*5B
+$GPRMC,124344.00,A,5157.37675,N,00424.67075,E,37.180,154.39,120308,,,A*52
+$GPRMC,124345.00,A,5157.36744,N,00424.67794,E,37.329,154.46,120308,,,A*50
+$GPRMC,124346.00,A,5157.35800,N,00424.68524,E,37.950,154.41,120308,,,A*5A
+$GPRMC,124347.00,A,5157.34841,N,00424.69263,E,38.603,154.54,120308,,,A*58
+$GPRMC,124348.00,A,5157.33861,N,00424.70023,E,39.552,154.22,120308,,,A*5B
+$GPRMC,124349.00,A,5157.32868,N,00424.70796,E,39.695,154.33,120308,,,A*53
+$GPRMC,124350.00,A,5157.31866,N,00424.71581,E,40.408,154.39,120308,,,A*51
+$GPRMC,124351.00,A,5157.30846,N,00424.72375,E,41.058,154.60,120308,,,A*51
+$GPRMC,124352.00,A,5157.29820,N,00424.73166,E,40.702,154.61,120308,,,A*53
+$GPRMC,124353.00,A,5157.28808,N,00424.73951,E,40.181,154.42,120308,,,A*59
+$GPRMC,124354.00,A,5157.27802,N,00424.74732,E,39.710,154.50,120308,,,A*54
+$GPRMC,124355.00,A,5157.26815,N,00424.75497,E,39.427,154.61,120308,,,A*5A
+$GPRMC,124356.00,A,5157.25833,N,00424.76254,E,39.079,154.51,120308,,,A*58
+$GPRMC,124357.00,A,5157.24846,N,00424.77001,E,39.050,155.62,120308,,,A*53
+$GPRMC,124358.00,A,5157.23857,N,00424.77729,E,38.632,155.62,120308,,,A*55
+$GPRMC,124359.00,A,5157.22932,N,00424.78429,E,36.166,155.48,120308,,,A*5B
+$GPRMC,124400.00,A,5157.22106,N,00424.79047,E,32.183,155.47,120308,,,A*52
+$GPRMC,124401.00,A,5157.21293,N,00424.79618,E,30.242,155.53,120308,,,A*5A
+$GPRMC,124402.00,A,5157.20544,N,00424.80156,E,28.369,154.97,120308,,,A*56
+$GPRMC,124403.00,A,5157.19855,N,00424.80647,E,26.545,157.32,120308,,,A*5D
+$GPRMC,124404.00,A,5157.19227,N,00424.81134,E,24.673,154.30,120308,,,A*52
+$GPRMC,124405.00,A,5157.18712,N,00424.81538,E,19.850,155.03,120308,,,A*59
+$GPRMC,124406.00,A,5157.18343,N,00424.81803,E,14.252,157.26,120308,,,A*5F
+$GPRMC,124407.00,A,5157.18006,N,00424.82029,E,10.799,152.86,120308,,,A*56
+$GPRMC,124408.00,A,5157.17757,N,00424.82151,E,7.745,158.32,120308,,,A*69
+$GPRMC,124409.00,A,5157.17595,N,00424.82272,E,7.498,156.94,120308,,,A*67
+$GPRMC,124410.00,A,5157.17411,N,00424.82364,E,8.011,160.17,120308,,,A*60
+$GPRMC,124411.00,A,5157.17289,N,00424.82509,E,6.512,145.89,120308,,,A*63
+$GPRMC,124412.00,A,5157.17187,N,00424.82607,E,5.703,158.67,120308,,,A*6D
+$GPRMC,124413.00,A,5157.17095,N,00424.82665,E,3.902,156.64,120308,,,A*6E
+$GPRMC,124414.00,A,5157.17039,N,00424.82720,E,3.054,160.96,120308,,,A*6D
+$GPRMC,124415.00,A,5157.16995,N,00424.82750,E,2.930,156.78,120308,,,A*6A
+$GPRMC,124416.00,A,5157.16926,N,00424.82826,E,3.888,154.23,120308,,,A*60
+$GPRMC,124417.00,A,5157.16831,N,00424.82920,E,5.669,153.65,120308,,,A*63
+$GPRMC,124418.00,A,5157.16689,N,00424.83047,E,7.256,153.62,120308,,,A*65
+$GPRMC,124419.00,A,5157.16521,N,00424.83193,E,7.392,154.36,120308,,,A*62
+$GPRMC,124420.00,A,5157.16352,N,00424.83346,E,7.359,153.65,120308,,,A*66
+$GPRMC,124421.00,A,5157.16187,N,00424.83509,E,7.230,150.25,120308,,,A*69
+$GPRMC,124422.00,A,5157.16033,N,00424.83665,E,6.714,152.89,120308,,,A*6B
+$GPRMC,124423.00,A,5157.15853,N,00424.83857,E,7.478,152.69,120308,,,A*6E
+$GPRMC,124424.00,A,5157.15650,N,00424.84040,E,9.547,152.94,120308,,,A*6C
+$GPRMC,124425.00,A,5157.15400,N,00424.84255,E,11.637,152.36,120308,,,A*59
+$GPRMC,124426.00,A,5157.15118,N,00424.84470,E,12.523,153.58,120308,,,A*5B
+$GPRMC,124427.00,A,5157.14814,N,00424.84727,E,11.991,153.93,120308,,,A*5E
+$GPRMC,124428.00,A,5157.14522,N,00424.84980,E,11.174,153.69,120308,,,A*5C
+$GPRMC,124429.00,A,5157.14242,N,00424.85219,E,11.395,153.34,120308,,,A*53
+$GPRMC,124430.00,A,5157.13956,N,00424.85442,E,12.201,154.73,120308,,,A*51
+$GPRMC,124431.00,A,5157.13625,N,00424.85711,E,13.878,153.71,120308,,,A*5E
+$GPRMC,124432.00,A,5157.13267,N,00424.86003,E,14.792,153.36,120308,,,A*57
+$GPRMC,124433.00,A,5157.12904,N,00424.86294,E,14.254,154.25,120308,,,A*5F
+$GPRMC,124434.00,A,5157.12564,N,00424.86554,E,13.127,154.84,120308,,,A*52
+$GPRMC,124435.00,A,5157.12250,N,00424.86788,E,12.435,153.56,120308,,,A*5F
+$GPRMC,124436.00,A,5157.11958,N,00424.87024,E,11.356,153.63,120308,,,A*5B
+$GPRMC,124437.00,A,5157.11691,N,00424.87237,E,10.221,153.86,120308,,,A*5B
+$GPRMC,124438.00,A,5157.11452,N,00424.87422,E,9.401,153.68,120308,,,A*67
+$GPRMC,124439.00,A,5157.11233,N,00424.87596,E,8.802,153.47,120308,,,A*6A
+$GPRMC,124440.00,A,5157.11029,N,00424.87758,E,7.926,154.40,120308,,,A*65
+$GPRMC,124441.00,A,5157.10829,N,00424.87918,E,8.646,152.56,120308,,,A*60
+$GPRMC,124442.00,A,5157.10618,N,00424.88101,E,8.816,152.19,120308,,,A*60
+$GPRMC,124443.00,A,5157.10404,N,00424.88277,E,8.577,154.21,120308,,,A*6B
+$GPRMC,124444.00,A,5157.10197,N,00424.88449,E,8.390,153.15,120308,,,A*67
+$GPRMC,124445.00,A,5157.09996,N,00424.88622,E,7.846,155.06,120308,,,A*63
+$GPRMC,124446.00,A,5157.09814,N,00424.88744,E,7.597,157.85,120308,,,A*62
+$GPRMC,124447.00,A,5157.09628,N,00424.88868,E,7.478,159.36,120308,,,A*65
+$GPRMC,124448.00,A,5157.09441,N,00424.89001,E,7.209,161.81,120308,,,A*66
+$GPRMC,124449.00,A,5157.09256,N,00424.89099,E,7.005,162.48,120308,,,A*6E
+$GPRMC,124450.00,A,5157.09081,N,00424.89180,E,6.227,165.43,120308,,,A*68
+$GPRMC,124451.00,A,5157.08915,N,00424.89243,E,5.560,167.70,120308,,,A*65
+$GPRMC,124452.00,A,5157.08772,N,00424.89296,E,4.895,168.42,120308,,,A*69
+$GPRMC,124453.00,A,5157.08652,N,00424.89332,E,3.648,171.52,120308,,,A*64
+$GPRMC,124454.00,A,5157.08564,N,00424.89339,E,2.923,173.38,120308,,,A*63
+$GPRMC,124455.00,A,5157.08491,N,00424.89342,E,2.513,173.64,120308,,,A*63
+$GPRMC,124456.00,A,5157.08423,N,00424.89361,E,2.433,166.95,120308,,,A*61
+$GPRMC,124457.00,A,5157.08366,N,00424.89373,E,2.078,173.56,120308,,,A*65
+$GPRMC,124458.00,A,5157.08307,N,00424.89417,E,2.067,153.31,120308,,,A*65
+$GPRMC,124459.00,A,5157.08267,N,00424.89423,E,1.578,154.37,120308,,,A*6D
+$GPRMC,124500.00,A,5157.08225,N,00424.89412,E,1.639,155.42,120308,,,A*61
+$GPRMC,124501.00,A,5157.08187,N,00424.89396,E,1.187,156.77,120308,,,A*67
+$GPRMC,124502.00,A,5157.08152,N,00424.89404,E,0.558,158.14,120308,,,A*6C
+$GPRMC,124503.00,A,5157.08126,N,00424.89422,E,0.277,157.70,120308,,,A*6D
+$GPRMC,124504.00,A,5157.08123,N,00424.89416,E,0.331,155.97,120308,,,A*60
+$GPRMC,124505.00,A,5157.08111,N,00424.89428,E,0.075,160.29,120308,,,A*6D
+$GPRMC,124506.00,A,5157.08091,N,00424.89471,E,0.136,158.34,120308,,,A*6A
+$GPRMC,124507.00,A,5157.08079,N,00424.89491,E,0.113,161.91,120308,,,A*61
+$GPRMC,124508.00,A,5157.08070,N,00424.89500,E,0.054,160.99,120308,,,A*65
+$GPRMC,124509.00,A,5157.08052,N,00424.89534,E,0.009,,120308,,,A*72
+$GPRMC,124510.00,A,5157.08030,N,00424.89569,E,0.091,161.08,120308,,,A*67
+$GPRMC,124511.00,A,5157.08015,N,00424.89576,E,0.579,167.42,120308,,,A*64
+$GPRMC,124512.00,A,5157.08011,N,00424.89579,E,0.019,,120308,,,A*77
+$GPRMC,124513.00,A,5157.08006,N,00424.89582,E,0.031,168.72,120308,,,A*6A
+$GPRMC,124514.00,A,5157.07994,N,00424.89583,E,0.048,171.67,120308,,,A*63
+$GPRMC,124515.00,A,5157.07982,N,00424.89594,E,0.090,170.00,120308,,,A*66
+$GPRMC,124516.00,A,5157.07976,N,00424.89590,E,0.017,,120308,,,A*7D
+$GPRMC,124517.00,A,5157.07975,N,00424.89585,E,0.070,169.04,120308,,,A*6E
+$GPRMC,124518.00,A,5157.07976,N,00424.89577,E,0.044,172.54,120308,,,A*67
+$GPRMC,124519.00,A,5157.07981,N,00424.89555,E,0.371,180.55,120308,,,A*67
+$GPRMC,124520.00,A,5157.07983,N,00424.89546,E,0.053,183.87,120308,,,A*62
+$GPRMC,124521.00,A,5157.07986,N,00424.89528,E,0.137,185.51,120308,,,A*60
+$GPRMC,124522.00,A,5157.07986,N,00424.89516,E,0.089,189.51,120308,,,A*66
+$GPRMC,124523.00,A,5157.07988,N,00424.89503,E,0.607,196.27,120308,,,A*62
+$GPRMC,124524.00,A,5157.07990,N,00424.89498,E,0.125,199.18,120308,,,A*6B
+$GPRMC,124525.00,A,5157.07995,N,00424.89484,E,0.092,193.62,120308,,,A*68
+$GPRMC,124526.00,A,5157.07997,N,00424.89479,E,0.011,,120308,,,A*71
+$GPRMC,124527.00,A,5157.08000,N,00424.89470,E,0.073,191.57,120308,,,A*60
+$GPRMC,124528.00,A,5157.08002,N,00424.89455,E,0.136,193.25,120308,,,A*6D
+$GPRMC,124529.00,A,5157.08011,N,00424.89429,E,0.575,200.67,120308,,,A*69
+$GPRMC,124530.00,A,5157.08023,N,00424.89405,E,0.042,204.11,120308,,,A*6A
+$GPRMC,124531.00,A,5157.08028,N,00424.89391,E,0.141,206.61,120308,,,A*6D
+$GPRMC,124532.00,A,5157.08034,N,00424.89373,E,0.135,209.44,120308,,,A*64
+$GPRMC,124533.00,A,5157.08042,N,00424.89353,E,0.041,211.22,120308,,,A*6D
+$GPRMC,124534.00,A,5157.08048,N,00424.89335,E,0.039,216.84,120308,,,A*64
+$GPRMC,124535.00,A,5157.08056,N,00424.89316,E,0.071,219.02,120308,,,A*66
+$GPRMC,124536.00,A,5157.08064,N,00424.89301,E,0.118,221.84,120308,,,A*69
+$GPRMC,124537.00,A,5157.08075,N,00424.89285,E,0.141,216.61,120308,,,A*66
+$GPRMC,124538.00,A,5157.08081,N,00424.89276,E,0.104,219.38,120308,,,A*6C
+$GPRMC,124539.00,A,5157.08090,N,00424.89270,E,0.028,222.85,120308,,,A*6A
+$GPRMC,124540.00,A,5157.08099,N,00424.89259,E,0.038,224.13,120308,,,A*6E
+$GPRMC,124541.00,A,5157.08113,N,00424.89237,E,0.540,229.65,120308,,,A*62
+$GPRMC,124542.00,A,5157.08125,N,00424.89223,E,0.043,224.80,120308,,,A*61
+$GPRMC,124543.00,A,5157.08133,N,00424.89210,E,0.448,229.11,120308,,,A*6D
+$GPRMC,124544.00,A,5157.08138,N,00424.89211,E,0.255,237.15,120308,,,A*61
+$GPRMC,124545.00,A,5157.08142,N,00424.89206,E,0.128,239.04,120308,,,A*6C
+$GPRMC,124546.00,A,5157.08147,N,00424.89194,E,0.033,243.12,120308,,,A*63
+$GPRMC,124547.00,A,5157.08146,N,00424.89196,E,0.120,248.04,120308,,,A*6E
+$GPRMC,124548.00,A,5157.08150,N,00424.89175,E,0.144,247.72,120308,,,A*67
+$GPRMC,124549.00,A,5157.08126,N,00424.89168,E,1.784,243.01,120308,,,A*60
+$GPRMC,124550.00,A,5157.08065,N,00424.89169,E,2.509,172.31,120308,,,A*69
+$GPRMC,124551.00,A,5157.08013,N,00424.89168,E,2.154,161.83,120308,,,A*6F
+$GPRMC,124552.00,A,5157.07970,N,00424.89161,E,1.926,162.52,120308,,,A*67
+$GPRMC,124553.00,A,5157.07917,N,00424.89164,E,2.119,172.88,120308,,,A*63
+$GPRMC,124554.00,A,5157.07851,N,00424.89151,E,2.696,182.86,120308,,,A*60
+$GPRMC,124555.00,A,5157.07732,N,00424.89112,E,4.706,179.91,120308,,,A*60
+$GPRMC,124556.00,A,5157.07560,N,00424.89082,E,6.688,182.64,120308,,,A*65
+$GPRMC,124557.00,A,5157.07329,N,00424.89075,E,8.435,180.78,120308,,,A*62
+$GPRMC,124558.00,A,5157.07083,N,00424.89128,E,10.133,181.93,120308,,,A*59
+$GPRMC,124559.00,A,5157.06803,N,00424.89131,E,10.547,184.70,120308,,,A*5E
+$GPRMC,124600.00,A,5157.06498,N,00424.89110,E,11.628,186.81,120308,,,A*5B
+$GPRMC,124601.00,A,5157.06169,N,00424.89021,E,12.479,189.98,120308,,,A*50
+$GPRMC,124602.00,A,5157.05726,N,00424.88955,E,14.470,188.01,120308,,,A*58
+$GPRMC,124603.00,A,5157.05294,N,00424.88819,E,15.471,193.05,120308,,,A*52
+$GPRMC,124604.00,A,5157.04780,N,00424.88593,E,18.634,198.23,120308,,,A*5A
+$GPRMC,124605.00,A,5157.04149,N,00424.88410,E,22.098,193.60,120308,,,A*57
+$GPRMC,124606.00,A,5157.03521,N,00424.88248,E,22.163,188.36,120308,,,A*5E
+$GPRMC,124607.00,A,5157.02913,N,00424.88126,E,21.547,186.25,120308,,,A*55
+$GPRMC,124608.00,A,5157.02344,N,00424.88016,E,19.992,186.58,120308,,,A*55
+$GPRMC,124609.00,A,5157.01877,N,00424.87992,E,16.711,179.80,120308,,,A*59
+$GPRMC,124610.00,A,5157.01494,N,00424.88003,E,12.661,173.11,120308,,,A*5E
+$GPRMC,124611.00,A,5157.01220,N,00424.88053,E,9.290,166.78,120308,,,A*68
+$GPRMC,124612.00,A,5157.00982,N,00424.88139,E,8.645,163.47,120308,,,A*60
+$GPRMC,124613.00,A,5157.00808,N,00424.88244,E,4.762,150.18,120308,,,A*69
+$GPRMC,124614.00,A,5157.00711,N,00424.88335,E,3.601,154.35,120308,,,A*66
+$GPRMC,124615.00,A,5157.00658,N,00424.88383,E,2.824,153.89,120308,,,A*6E
+$GPRMC,124616.00,A,5157.00623,N,00424.88411,E,2.001,153.14,120308,,,A*66
+$GPRMC,124617.00,A,5157.00604,N,00424.88448,E,1.145,152.61,120308,,,A*6F
+$GPRMC,124618.00,A,5157.00622,N,00424.88487,E,0.379,151.43,120308,,,A*68
+$GPRMC,124619.00,A,5157.00643,N,00424.88500,E,0.116,156.51,120308,,,A*6F
+$GPRMC,124620.00,A,5157.00665,N,00424.88508,E,0.022,156.40,120308,,,A*6F
+$GPRMC,124621.00,A,5157.00666,N,00424.88535,E,1.211,156.11,120308,,,A*64
+$GPRMC,124622.00,A,5157.00656,N,00424.88570,E,0.981,156.05,120308,,,A*63
+$GPRMC,124623.00,A,5157.00658,N,00424.88594,E,0.047,152.22,120308,,,A*64
+$GPRMC,124624.00,A,5157.00670,N,00424.88604,E,0.026,157.62,120308,,,A*65
+$GPRMC,124625.00,A,5157.00682,N,00424.88610,E,0.004,,120308,,,A*75
+$GPRMC,124626.00,A,5157.00690,N,00424.88616,E,0.022,158.40,120308,,,A*61
+$GPRMC,124627.00,A,5157.00699,N,00424.88619,E,0.031,161.61,120308,,,A*6D
+$GPRMC,124628.00,A,5157.00707,N,00424.88623,E,0.010,,120308,,,A*71
+$GPRMC,124629.00,A,5157.00712,N,00424.88624,E,0.135,163.70,120308,,,A*68
+$GPRMC,124630.00,A,5157.00724,N,00424.88593,E,0.010,,120308,,,A*71
+$GPRMC,124631.00,A,5157.00732,N,00424.88586,E,0.002,,120308,,,A*70
+$GPRMC,124632.00,A,5157.00738,N,00424.88584,E,0.007,,120308,,,A*7E
+$GPRMC,124633.00,A,5157.00742,N,00424.88585,E,0.015,,120308,,,A*70
+$GPRMC,124634.00,A,5157.00745,N,00424.88588,E,0.008,,120308,,,A*71
+$GPRMC,124635.00,A,5157.00747,N,00424.88597,E,0.019,,120308,,,A*7C
+$GPRMC,124636.00,A,5157.00745,N,00424.88600,E,0.170,165.98,120308,,,A*63
+$GPRMC,124637.00,A,5157.00743,N,00424.88600,E,0.034,167.54,120308,,,A*67
+$GPRMC,124638.00,A,5157.00742,N,00424.88603,E,0.016,,120308,,,A*75
+$GPRMC,124639.00,A,5157.00743,N,00424.88611,E,0.017,,120308,,,A*77
+$GPRMC,124640.00,A,5157.00744,N,00424.88611,E,0.018,,120308,,,A*71
+$GPRMC,124641.00,A,5157.00744,N,00424.88613,E,0.023,168.67,120308,,,A*6A
+$GPRMC,124642.00,A,5157.00747,N,00424.88608,E,0.017,,120308,,,A*77
+$GPRMC,124643.00,A,5157.00748,N,00424.88606,E,0.021,170.58,120308,,,A*67
+$GPRMC,124644.00,A,5157.00751,N,00424.88608,E,0.005,,120308,,,A*75
+$GPRMC,124645.00,A,5157.00752,N,00424.88610,E,0.012,,120308,,,A*78
+$GPRMC,124646.00,A,5157.00754,N,00424.88613,E,0.012,,120308,,,A*7E
+$GPRMC,124647.00,A,5157.00755,N,00424.88611,E,0.173,172.94,120308,,,A*6D
+$GPRMC,124648.00,A,5157.00754,N,00424.88610,E,0.015,,120308,,,A*74
+$GPRMC,124649.00,A,5157.00755,N,00424.88613,E,0.015,,120308,,,A*77
+$GPRMC,124650.00,A,5157.00754,N,00424.88614,E,0.009,,120308,,,A*74
+$GPRMC,124651.00,A,5157.00755,N,00424.88614,E,0.007,,120308,,,A*7A
+$GPRMC,124652.00,A,5157.00757,N,00424.88613,E,0.003,,120308,,,A*78
+$GPRMC,124653.00,A,5157.00757,N,00424.88613,E,0.020,173.97,120308,,,A*6D
+$GPRMC,124654.00,A,5157.00758,N,00424.88610,E,0.022,172.87,120308,,,A*64
+$GPRMC,124655.00,A,5157.00760,N,00424.88607,E,0.032,176.63,120308,,,A*67
+$GPRMC,124656.00,A,5157.00762,N,00424.88604,E,0.027,175.35,120308,,,A*61
+$GPRMC,124657.00,A,5157.00764,N,00424.88603,E,0.023,178.67,120308,,,A*6F
+$GPRMC,124658.00,A,5157.00765,N,00424.88609,E,0.003,,120308,,,A*78
+$GPRMC,124659.00,A,5157.00766,N,00424.88610,E,0.012,,120308,,,A*72
+$GPRMC,124700.00,A,5157.00767,N,00424.88608,E,0.005,,120308,,,A*71
+$GPRMC,124701.00,A,5157.00767,N,00424.88607,E,0.009,,120308,,,A*73
+$GPRMC,124702.00,A,5157.00769,N,00424.88605,E,0.022,179.46,120308,,,A*66
+$GPRMC,124703.00,A,5157.00770,N,00424.88603,E,0.010,,120308,,,A*7B
+$GPRMC,124704.00,A,5157.00771,N,00424.88602,E,0.024,176.43,120308,,,A*62
+$GPRMC,124705.00,A,5157.00772,N,00424.88601,E,0.016,,120308,,,A*7B
+$GPRMC,124706.00,A,5157.00775,N,00424.88598,E,0.003,,120308,,,A*78
+$GPRMC,124707.00,A,5157.00778,N,00424.88594,E,0.021,179.84,120308,,,A*65
+$GPRMC,124708.00,A,5157.00780,N,00424.88590,E,0.028,179.22,120308,,,A*6C
+$GPRMC,124709.00,A,5157.00782,N,00424.88586,E,0.028,173.86,120308,,,A*6C
+$GPRMC,124710.00,A,5157.00784,N,00424.88582,E,0.033,170.00,120308,,,A*61
+$GPRMC,124711.00,A,5157.00786,N,00424.88579,E,0.014,,120308,,,A*7B
+$GPRMC,124712.00,A,5157.00785,N,00424.88577,E,0.067,171.62,120308,,,A*6C
+$GPRMC,124713.00,A,5157.00784,N,00424.88572,E,0.011,,120308,,,A*75
+$GPRMC,124714.00,A,5157.00784,N,00424.88569,E,0.024,177.20,120308,,,A*63
+$GPRMC,124715.00,A,5157.00773,N,00424.88568,E,1.114,175.59,120308,,,A*64
+$GPRMC,124716.00,A,5157.00694,N,00424.88638,E,5.359,150.87,120308,,,A*62
+$GPRMC,124717.00,A,5157.00535,N,00424.88771,E,7.573,153.12,120308,,,A*64
+$GPRMC,124718.00,A,5157.00199,N,00424.89116,E,14.805,147.67,120308,,,A*56
+$GPRMC,124719.00,A,5156.99819,N,00424.89508,E,16.489,147.19,120308,,,A*5F
+$GPRMC,124720.00,A,5156.99415,N,00424.89902,E,15.858,147.85,120308,,,A*55
+$GPRMC,124721.00,A,5156.99019,N,00424.90274,E,15.643,147.29,120308,,,A*5C
+$GPRMC,124722.00,A,5156.98657,N,00424.90629,E,14.244,147.58,120308,,,A*5A
+$GPRMC,124723.00,A,5156.98346,N,00424.90961,E,12.790,145.76,120308,,,A*59
+$GPRMC,124724.00,A,5156.98118,N,00424.91349,E,12.177,131.54,120308,,,A*5A
+$GPRMC,124725.00,A,5156.97985,N,00424.91843,E,12.651,110.76,120308,,,A*59
+$GPRMC,124726.00,A,5156.97900,N,00424.92474,E,14.185,99.06,120308,,,A*63
+$GPRMC,124727.00,A,5156.97954,N,00424.93121,E,15.415,82.02,120308,,,A*64
+$GPRMC,124728.00,A,5156.98239,N,00424.93766,E,17.866,57.08,120308,,,A*69
+$GPRMC,124729.00,A,5156.98619,N,00424.94601,E,23.447,51.81,120308,,,A*66
+$GPRMC,124730.00,A,5156.99101,N,00424.95534,E,26.892,52.70,120308,,,A*69
+$GPRMC,124731.00,A,5156.99510,N,00424.96570,E,27.083,55.17,120308,,,A*60
+$GPRMC,124732.00,A,5156.99915,N,00424.97607,E,26.735,55.32,120308,,,A*64
+$GPRMC,124733.00,A,5157.00325,N,00424.98576,E,25.180,54.16,120308,,,A*6B
+$GPRMC,124734.00,A,5157.00715,N,00424.99480,E,23.581,53.98,120308,,,A*60
+$GPRMC,124735.00,A,5157.01077,N,00425.00332,E,22.212,54.55,120308,,,A*66
+$GPRMC,124736.00,A,5157.01407,N,00425.01112,E,20.209,54.68,120308,,,A*61
+$GPRMC,124737.00,A,5157.01701,N,00425.01793,E,17.122,54.73,120308,,,A*6E
+$GPRMC,124738.00,A,5157.01940,N,00425.02351,E,13.807,55.28,120308,,,A*66
+$GPRMC,124739.00,A,5157.02131,N,00425.02791,E,10.390,55.34,120308,,,A*69
+$GPRMC,124740.00,A,5157.02265,N,00425.03096,E,6.514,55.68,120308,,,A*50
+$GPRMC,124741.00,A,5157.02324,N,00425.03247,E,2.392,40.36,120308,,,A*58
+$GPRMC,124742.00,A,5157.02330,N,00425.03291,E,0.419,41.49,120308,,,A*5A
+$GPRMC,124743.00,A,5157.02328,N,00425.03307,E,0.076,40.90,120308,,,A*54
+$GPRMC,124744.00,A,5157.02330,N,00425.03312,E,0.100,40.69,120308,,,A*58
+$GPRMC,124745.00,A,5157.02318,N,00425.03301,E,0.885,50.31,120308,,,A*59
+$GPRMC,124746.00,A,5157.02315,N,00425.03300,E,0.204,49.23,120308,,,A*5E
+$GPRMC,124747.00,A,5157.02319,N,00425.03305,E,0.185,50.99,120308,,,A*55
+$GPRMC,124748.00,A,5157.02317,N,00425.03308,E,0.294,60.77,120308,,,A*59
+$GPRMC,124749.00,A,5157.02321,N,00425.03310,E,0.014,,120308,,,A*76
+$GPRMC,124750.00,A,5157.02328,N,00425.03319,E,0.012,,120308,,,A*78
+$GPRMC,124751.00,A,5157.02320,N,00425.03307,E,0.216,70.05,120308,,,A*54
+$GPRMC,124752.00,A,5157.02326,N,00425.03312,E,0.226,79.58,120308,,,A*57
+$GPRMC,124753.00,A,5157.02342,N,00425.03326,E,0.173,76.20,120308,,,A*50
+$GPRMC,124754.00,A,5157.02358,N,00425.03337,E,0.025,73.15,120308,,,A*5D
+$GPRMC,124755.00,A,5157.02359,N,00425.03336,E,0.056,76.47,120308,,,A*5A
+$GPRMC,124756.00,A,5157.02361,N,00425.03338,E,0.062,79.89,120308,,,A*56
+$GPRMC,124757.00,A,5157.02365,N,00425.03344,E,0.005,,120308,,,A*78
+$GPRMC,124758.00,A,5157.02366,N,00425.03349,E,0.587,77.38,120308,,,A*53
+$GPRMC,124759.00,A,5157.02359,N,00425.03352,E,0.276,83.37,120308,,,A*59
+$GPRMC,124800.00,A,5157.02364,N,00425.03357,E,0.052,86.79,120308,,,A*5A
+$GPRMC,124801.00,A,5157.02362,N,00425.03356,E,0.146,90.34,120308,,,A*56
+$GPRMC,124802.00,A,5157.02367,N,00425.03359,E,0.015,,120308,,,A*78
+$GPRMC,124803.00,A,5157.02364,N,00425.03352,E,0.106,93.80,120308,,,A*5E
+$GPRMC,124804.00,A,5157.02364,N,00425.03348,E,0.047,96.74,120308,,,A*58
+$GPRMC,124805.00,A,5157.02367,N,00425.03348,E,0.016,,120308,,,A*7C
+$GPRMC,124806.00,A,5157.02369,N,00425.03342,E,0.020,98.96,120308,,,A*5E
+$GPRMC,124807.00,A,5157.02363,N,00425.03335,E,0.208,105.85,120308,,,A*6A
+$GPRMC,124808.00,A,5157.02358,N,00425.03334,E,0.051,102.58,120308,,,A*65
+$GPRMC,124809.00,A,5157.02355,N,00425.03333,E,0.016,,120308,,,A*7D
+$GPRMC,124810.00,A,5157.02349,N,00425.03332,E,0.065,105.00,120308,,,A*67
+$GPRMC,124811.00,A,5157.02341,N,00425.03326,E,0.030,107.34,120308,,,A*6E
+$GPRMC,124812.00,A,5157.02334,N,00425.03320,E,0.100,110.38,120308,,,A*61
+$GPRMC,124813.00,A,5157.02327,N,00425.03315,E,0.156,113.23,120308,,,A*6E
+$GPRMC,124814.00,A,5157.02330,N,00425.03320,E,0.019,,120308,,,A*7F
+$GPRMC,124815.00,A,5157.02329,N,00425.03322,E,0.013,,120308,,,A*7E
+$GPRMC,124816.00,A,5157.02325,N,00425.03316,E,0.128,116.78,120308,,,A*68
+$GPRMC,124817.00,A,5157.02330,N,00425.03313,E,0.479,111.56,120308,,,A*62
+$GPRMC,124818.00,A,5157.02350,N,00425.03327,E,0.238,106.72,120308,,,A*6F
+$GPRMC,124819.00,A,5157.02303,N,00425.03277,E,1.746,113.37,120308,,,A*64
+$GPRMC,124820.00,A,5157.02199,N,00425.03171,E,3.485,213.41,120308,,,A*66
+$GPRMC,124821.00,A,5157.02253,N,00425.03230,E,0.343,213.53,120308,,,A*69
+$GPRMC,124822.00,A,5157.02256,N,00425.03234,E,0.909,213.71,120308,,,A*6F
+$GPRMC,124823.00,A,5157.02292,N,00425.03283,E,0.195,213.75,120308,,,A*63
+$GPRMC,124824.00,A,5157.02336,N,00425.03332,E,0.091,213.76,120308,,,A*66
+$GPRMC,124825.00,A,5157.02370,N,00425.03369,E,0.016,,120308,,,A*7B
+$GPRMC,124826.00,A,5157.02389,N,00425.03393,E,0.102,213.54,120308,,,A*60
+$GPRMC,124827.00,A,5157.02399,N,00425.03410,E,0.067,219.05,120308,,,A*60
+$GPRMC,124828.00,A,5157.02409,N,00425.03427,E,0.179,224.43,120308,,,A*67
+$GPRMC,124829.00,A,5157.02433,N,00425.03477,E,2.047,55.49,120308,,,A*5A
+$GPRMC,124830.00,A,5157.02509,N,00425.03657,E,7.144,55.58,120308,,,A*5D
+$GPRMC,124831.00,A,5157.02643,N,00425.03960,E,8.698,55.80,120308,,,A*56
+$GPRMC,124832.00,A,5157.02795,N,00425.04317,E,10.486,55.04,120308,,,A*6A
+$GPRMC,124833.00,A,5157.02980,N,00425.04731,E,11.753,53.98,120308,,,A*68
+$GPRMC,124834.00,A,5157.03224,N,00425.05076,E,11.385,35.55,120308,,,A*60
+$GPRMC,124835.00,A,5157.03547,N,00425.05161,E,11.152,4.71,120308,,,A*58
+$GPRMC,124836.00,A,5157.03878,N,00425.04859,E,13.423,328.94,120308,,,A*5E
+$GPRMC,124837.00,A,5157.04102,N,00425.04390,E,14.219,305.29,120308,,,A*53
+$GPRMC,124838.00,A,5157.04248,N,00425.03750,E,15.607,291.99,120308,,,A*53
+$GPRMC,124839.00,A,5157.04384,N,00425.02923,E,19.029,285.80,120308,,,A*53
+$GPRMC,124840.00,A,5157.04578,N,00425.01877,E,23.930,286.82,120308,,,A*52
+$GPRMC,124841.00,A,5157.04983,N,00425.00679,E,28.594,296.66,120308,,,A*58
+$GPRMC,124842.00,A,5157.05549,N,00424.99461,E,32.658,304.71,120308,,,A*5E
+$GPRMC,124843.00,A,5157.06122,N,00424.98221,E,34.474,308.28,120308,,,A*5C
+$GPRMC,124844.00,A,5157.06709,N,00424.97008,E,34.716,309.07,120308,,,A*59
+$GPRMC,124845.00,A,5157.07392,N,00424.95798,E,36.488,313.31,120308,,,A*5B
+$GPRMC,124846.00,A,5157.08130,N,00424.94569,E,37.395,314.13,120308,,,A*5D
+$GPRMC,124847.00,A,5157.08916,N,00424.93434,E,37.032,321.93,120308,,,A*5E
+$GPRMC,124848.00,A,5157.09817,N,00424.92396,E,38.887,325.79,120308,,,A*57
+$GPRMC,124849.00,A,5157.10728,N,00424.91420,E,39.129,327.29,120308,,,A*5F
+$GPRMC,124850.00,A,5157.11685,N,00424.90501,E,40.022,329.46,120308,,,A*50
+$GPRMC,124851.00,A,5157.12714,N,00424.89565,E,42.094,330.44,120308,,,A*54
+$GPRMC,124852.00,A,5157.13778,N,00424.88590,E,44.074,330.85,120308,,,A*52
+$GPRMC,124853.00,A,5157.14892,N,00424.87629,E,45.704,332.75,120308,,,A*5D
+$GPRMC,124854.00,A,5157.16090,N,00424.86658,E,46.966,333.61,120308,,,A*58
+$GPRMC,124855.00,A,5157.17279,N,00424.85675,E,46.987,332.79,120308,,,A*56
+$GPRMC,124856.00,A,5157.18431,N,00424.84654,E,46.932,331.84,120308,,,A*5D
+$GPRMC,124857.00,A,5157.19588,N,00424.83617,E,47.378,332.15,120308,,,A*50
+$GPRMC,124858.00,A,5157.20758,N,00424.82623,E,47.144,333.13,120308,,,A*56
+$GPRMC,124859.00,A,5157.21921,N,00424.81668,E,46.784,333.58,120308,,,A*5E
+$GPRMC,124900.00,A,5157.23025,N,00424.80704,E,46.634,334.13,120308,,,A*54
+$GPRMC,124901.00,A,5157.24172,N,00424.79778,E,46.267,333.69,120308,,,A*54
+$GPRMC,124902.00,A,5157.25368,N,00424.78822,E,48.591,333.15,120308,,,A*55
+$GPRMC,124903.00,A,5157.26624,N,00424.77836,E,50.443,334.24,120308,,,A*52
+$GPRMC,124904.00,A,5157.27861,N,00424.76847,E,49.376,334.01,120308,,,A*52
+$GPRMC,124905.00,A,5157.29099,N,00424.75911,E,49.062,334.02,120308,,,A*56
+$GPRMC,124906.00,A,5157.30346,N,00424.74949,E,49.890,334.01,120308,,,A*56
+$GPRMC,124907.00,A,5157.31599,N,00424.73979,E,50.035,334.31,120308,,,A*5A
+$GPRMC,124908.00,A,5157.32839,N,00424.73016,E,49.446,334.42,120308,,,A*5D
+$GPRMC,124909.00,A,5157.34064,N,00424.72064,E,48.927,334.25,120308,,,A*54
+$GPRMC,124910.00,A,5157.35279,N,00424.71114,E,48.519,334.14,120308,,,A*55
+$GPRMC,124911.00,A,5157.36491,N,00424.70166,E,48.713,334.16,120308,,,A*59
+$GPRMC,124912.00,A,5157.37711,N,00424.69220,E,48.717,334.25,120308,,,A*5D
+$GPRMC,124913.00,A,5157.38927,N,00424.68278,E,48.377,334.43,120308,,,A*56
+$GPRMC,124914.00,A,5157.40137,N,00424.67343,E,48.087,334.37,120308,,,A*5E
+$GPRMC,124915.00,A,5157.41331,N,00424.66406,E,47.332,333.75,120308,,,A*5E
+$GPRMC,124916.00,A,5157.42506,N,00424.65447,E,47.272,332.57,120308,,,A*5E
+$GPRMC,124917.00,A,5157.43670,N,00424.64455,E,47.356,332.11,120308,,,A*5B
+$GPRMC,124918.00,A,5157.44856,N,00424.63452,E,48.014,332.52,120308,,,A*54
+$GPRMC,124919.00,A,5157.46063,N,00424.62430,E,49.283,332.30,120308,,,A*55
+$GPRMC,124920.00,A,5157.47296,N,00424.61360,E,50.909,331.36,120308,,,A*53
+$GPRMC,124921.00,A,5157.48563,N,00424.60255,E,52.800,331.81,120308,,,A*50
+$GPRMC,124922.00,A,5157.49891,N,00424.59125,E,54.418,333.04,120308,,,A*50
+$GPRMC,124923.00,A,5157.51272,N,00424.57997,E,56.182,333.62,120308,,,A*54
+$GPRMC,124924.00,A,5157.52699,N,00424.56853,E,57.689,333.91,120308,,,A*58
+$GPRMC,124925.00,A,5157.54151,N,00424.55701,E,57.886,334.10,120308,,,A*58
+$GPRMC,124926.00,A,5157.55617,N,00424.54550,E,58.814,334.11,120308,,,A*5D
+$GPRMC,124927.00,A,5157.57116,N,00424.53370,E,60.391,334.16,120308,,,A*51
+$GPRMC,124928.00,A,5157.58638,N,00424.52184,E,60.480,334.50,120308,,,A*57
+$GPRMC,124929.00,A,5157.60150,N,00424.51028,E,59.485,335.00,120308,,,A*5B
+$GPRMC,124930.00,A,5157.61649,N,00424.49865,E,59.526,334.44,120308,,,A*5C
+$GPRMC,124931.00,A,5157.63144,N,00424.48721,E,59.345,335.00,120308,,,A*59
+$GPRMC,124932.00,A,5157.64631,N,00424.47582,E,58.519,334.55,120308,,,A*53
+$GPRMC,124933.00,A,5157.66118,N,00424.46440,E,59.420,334.47,120308,,,A*5B
+$GPRMC,124934.00,A,5157.67622,N,00424.45285,E,59.768,334.38,120308,,,A*58
+$GPRMC,124935.00,A,5157.69119,N,00424.44137,E,59.311,334.42,120308,,,A*54
+$GPRMC,124936.00,A,5157.70607,N,00424.42986,E,59.115,334.37,120308,,,A*57
+$GPRMC,124937.00,A,5157.72108,N,00424.41822,E,59.944,334.28,120308,,,A*52
+$GPRMC,124938.00,A,5157.73634,N,00424.40651,E,60.967,334.59,120308,,,A*52
+$GPRMC,124939.00,A,5157.75177,N,00424.39471,E,61.538,334.48,120308,,,A*5C
+$GPRMC,124940.00,A,5157.76726,N,00424.38282,E,61.864,334.28,120308,,,A*5A
+$GPRMC,124941.00,A,5157.78278,N,00424.37080,E,62.025,334.06,120308,,,A*56
+$GPRMC,124942.00,A,5157.79836,N,00424.35859,E,62.549,333.97,120308,,,A*5A
+$GPRMC,124943.00,A,5157.81403,N,00424.34630,E,62.926,334.35,120308,,,A*5C
+$GPRMC,124944.00,A,5157.82991,N,00424.33399,E,63.565,334.25,120308,,,A*54
+$GPRMC,124945.00,A,5157.84600,N,00424.32150,E,64.539,334.17,120308,,,A*5D
+$GPRMC,124946.00,A,5157.86226,N,00424.30881,E,64.877,334.13,120308,,,A*58
+$GPRMC,124947.00,A,5157.87854,N,00424.29614,E,64.834,334.27,120308,,,A*5D
+$GPRMC,124948.00,A,5157.89474,N,00424.28364,E,64.038,334.37,120308,,,A*54
+$GPRMC,124949.00,A,5157.91071,N,00424.27128,E,63.259,334.22,120308,,,A*5E
+$GPRMC,124950.00,A,5157.92648,N,00424.25900,E,62.648,334.10,120308,,,A*5D
+$GPRMC,124951.00,A,5157.94208,N,00424.24694,E,61.702,334.28,120308,,,A*5E
+$GPRMC,124952.00,A,5157.95746,N,00424.23513,E,60.818,334.46,120308,,,A*55
+$GPRMC,124953.00,A,5157.97255,N,00424.22344,E,60.173,333.95,120308,,,A*59
+$GPRMC,124954.00,A,5157.98744,N,00424.21179,E,59.542,334.55,120308,,,A*5C
+$GPRMC,124955.00,A,5158.00216,N,00424.20005,E,59.585,334.30,120308,,,A*52
+$GPRMC,124956.00,A,5158.01694,N,00424.18838,E,59.174,334.22,120308,,,A*5A
+$GPRMC,124957.00,A,5158.03165,N,00424.17688,E,58.683,334.25,120308,,,A*53
+$GPRMC,124958.00,A,5158.04637,N,00424.16537,E,59.304,334.44,120308,,,A*51
+$GPRMC,124959.00,A,5158.06133,N,00424.15390,E,59.912,334.57,120308,,,A*56
+$GPRMC,125000.00,A,5158.07647,N,00424.14220,E,61.141,334.29,120308,,,A*50
+$GPRMC,125001.00,A,5158.09191,N,00424.13036,E,61.917,334.31,120308,,,A*53
+$GPRMC,125002.00,A,5158.10741,N,00424.11821,E,62.110,334.32,120308,,,A*50
+$GPRMC,125003.00,A,5158.12315,N,00424.10619,E,62.882,334.27,120308,,,A*54
+$GPRMC,125004.00,A,5158.13896,N,00424.09391,E,63.418,334.14,120308,,,A*51
+$GPRMC,125005.00,A,5158.15479,N,00424.08180,E,63.123,334.39,120308,,,A*5A
+$GPRMC,125006.00,A,5158.17058,N,00424.06965,E,62.790,334.51,120308,,,A*50
+$GPRMC,125007.00,A,5158.18646,N,00424.05757,E,63.411,334.64,120308,,,A*56
+$GPRMC,125008.00,A,5158.20249,N,00424.04528,E,64.219,334.36,120308,,,A*5C
+$GPRMC,125009.00,A,5158.21866,N,00424.03279,E,64.443,334.31,120308,,,A*51
+$GPRMC,125010.00,A,5158.23493,N,00424.02061,E,64.423,335.70,120308,,,A*55
+$GPRMC,125011.00,A,5158.25134,N,00424.00913,E,64.098,336.53,120308,,,A*52
+$GPRMC,125012.00,A,5158.26784,N,00423.99822,E,63.908,338.88,120308,,,A*54
+$GPRMC,125013.00,A,5158.28432,N,00423.98838,E,62.675,340.64,120308,,,A*56
+$GPRMC,125014.00,A,5158.30090,N,00423.97966,E,62.436,342.74,120308,,,A*57
+$GPRMC,125015.00,A,5158.31749,N,00423.97191,E,61.686,344.66,120308,,,A*5B
+$GPRMC,125016.00,A,5158.33396,N,00423.96468,E,61.149,345.21,120308,,,A*58
+$GPRMC,125017.00,A,5158.35020,N,00423.95763,E,60.465,345.17,120308,,,A*55
+$GPRMC,125018.00,A,5158.36623,N,00423.95070,E,60.146,345.10,120308,,,A*5A
+$GPRMC,125019.00,A,5158.38214,N,00423.94364,E,60.714,344.99,120308,,,A*53
+$GPRMC,125020.00,A,5158.39841,N,00423.93638,E,61.663,344.94,120308,,,A*54
+$GPRMC,125021.00,A,5158.41494,N,00423.92910,E,62.308,345.34,120308,,,A*5A
+$GPRMC,125022.00,A,5158.43167,N,00423.92174,E,63.013,345.06,120308,,,A*51
+$GPRMC,125023.00,A,5158.44860,N,00423.91445,E,63.362,345.63,120308,,,A*5B
+$GPRMC,125024.00,A,5158.46580,N,00423.90706,E,64.419,345.25,120308,,,A*56
+$GPRMC,125025.00,A,5158.48318,N,00423.89945,E,65.552,345.00,120308,,,A*57
+$GPRMC,125026.00,A,5158.50065,N,00423.89172,E,64.910,344.94,120308,,,A*5F
+$GPRMC,125027.00,A,5158.51817,N,00423.88405,E,65.815,345.19,120308,,,A*57
+$GPRMC,125028.00,A,5158.53601,N,00423.87630,E,66.896,345.14,120308,,,A*5D
+$GPRMC,125029.00,A,5158.55415,N,00423.86851,E,67.836,345.31,120308,,,A*59
+$GPRMC,125030.00,A,5158.57250,N,00423.86069,E,68.553,345.21,120308,,,A*57
+$GPRMC,125031.00,A,5158.59097,N,00423.85272,E,68.820,345.05,120308,,,A*55
+$GPRMC,125032.00,A,5158.60954,N,00423.84470,E,69.316,345.21,120308,,,A*56
+$GPRMC,125033.00,A,5158.62826,N,00423.83663,E,69.887,345.19,120308,,,A*5E
+$GPRMC,125034.00,A,5158.64708,N,00423.82861,E,70.045,345.33,120308,,,A*57
+$GPRMC,125035.00,A,5158.66583,N,00423.82057,E,69.536,345.13,120308,,,A*53
+$GPRMC,125036.00,A,5158.68447,N,00423.81245,E,69.311,344.82,120308,,,A*5F
+$GPRMC,125037.00,A,5158.70300,N,00423.80459,E,68.400,345.38,120308,,,A*5F
+$GPRMC,125038.00,A,5158.72086,N,00423.79701,E,64.615,345.28,120308,,,A*5C
+$GPRMC,125039.00,A,5158.73773,N,00423.78978,E,61.460,345.02,120308,,,A*5D
+$GPRMC,125040.00,A,5158.75391,N,00423.78282,E,60.074,344.78,120308,,,A*5F
+$GPRMC,125041.00,A,5158.76977,N,00423.77598,E,58.942,345.05,120308,,,A*50
+$GPRMC,125042.00,A,5158.78547,N,00423.76920,E,58.194,345.22,120308,,,A*5A
+$GPRMC,125043.00,A,5158.80095,N,00423.76252,E,57.689,345.08,120308,,,A*54
+$GPRMC,125044.00,A,5158.81633,N,00423.75585,E,57.621,344.88,120308,,,A*5D
+$GPRMC,125045.00,A,5158.83168,N,00423.74920,E,57.127,345.17,120308,,,A*53
+$GPRMC,125046.00,A,5158.84681,N,00423.74260,E,56.210,344.83,120308,,,A*52
+$GPRMC,125047.00,A,5158.86177,N,00423.73616,E,55.496,345.22,120308,,,A*5C
+$GPRMC,125048.00,A,5158.87663,N,00423.72982,E,55.354,344.99,120308,,,A*5B
+$GPRMC,125049.00,A,5158.89141,N,00423.72348,E,55.142,345.29,120308,,,A*50
+$GPRMC,125050.00,A,5158.90611,N,00423.71721,E,54.864,345.27,120308,,,A*58
+$GPRMC,125051.00,A,5158.92089,N,00423.71103,E,55.512,345.87,120308,,,A*5D
+$GPRMC,125052.00,A,5158.93592,N,00423.70471,E,56.813,345.63,120308,,,A*54
+$GPRMC,125053.00,A,5158.95134,N,00423.69808,E,58.175,345.01,120308,,,A*52
+$GPRMC,125054.00,A,5158.96713,N,00423.69120,E,59.621,345.12,120308,,,A*53
+$GPRMC,125055.00,A,5158.98334,N,00423.68429,E,60.998,345.50,120308,,,A*51
+$GPRMC,125056.00,A,5158.99985,N,00423.67725,E,61.757,344.91,120308,,,A*53
+$GPRMC,125057.00,A,5159.01672,N,00423.67000,E,63.242,345.08,120308,,,A*57
+$GPRMC,125058.00,A,5159.03391,N,00423.66262,E,64.425,345.34,120308,,,A*5A
+$GPRMC,125059.00,A,5159.05127,N,00423.65515,E,64.635,345.13,120308,,,A*50
+$GPRMC,125100.00,A,5159.06865,N,00423.64766,E,64.708,345.24,120308,,,A*5D
+$GPRMC,125101.00,A,5159.08608,N,00423.64015,E,64.882,345.23,120308,,,A*5E
+$GPRMC,125102.00,A,5159.10344,N,00423.63278,E,64.678,345.50,120308,,,A*58
+$GPRMC,125103.00,A,5159.12078,N,00423.62553,E,64.374,345.64,120308,,,A*56
+$GPRMC,125104.00,A,5159.13799,N,00423.61827,E,63.766,345.40,120308,,,A*53
+$GPRMC,125105.00,A,5159.15511,N,00423.61100,E,63.832,345.31,120308,,,A*52
+$GPRMC,125106.00,A,5159.17226,N,00423.60362,E,63.780,345.20,120308,,,A*51
+$GPRMC,125107.00,A,5159.18936,N,00423.59624,E,63.528,345.20,120308,,,A*58
+$GPRMC,125108.00,A,5159.20639,N,00423.58893,E,63.247,345.20,120308,,,A*51
+$GPRMC,125109.00,A,5159.22343,N,00423.58161,E,63.612,344.98,120308,,,A*58
+$GPRMC,125110.00,A,5159.24074,N,00423.57409,E,65.173,344.33,120308,,,A*52
+$GPRMC,125111.00,A,5159.25816,N,00423.56689,E,65.080,345.95,120308,,,A*55
+$GPRMC,125112.00,A,5159.27567,N,00423.55969,E,65.552,345.39,120308,,,A*51
+$GPRMC,125113.00,A,5159.29340,N,00423.55213,E,66.097,344.95,120308,,,A*53
+$GPRMC,125114.00,A,5159.31121,N,00423.54442,E,66.470,345.18,120308,,,A*52
+$GPRMC,125115.00,A,5159.32913,N,00423.53667,E,66.785,345.27,120308,,,A*5E
+$GPRMC,125116.00,A,5159.34691,N,00423.52823,E,66.856,342.54,120308,,,A*53
+$GPRMC,125117.00,A,5159.36474,N,00423.52029,E,66.319,345.15,120308,,,A*59
+$GPRMC,125118.00,A,5159.38248,N,00423.51296,E,65.518,345.72,120308,,,A*51
+$GPRMC,125119.00,A,5159.40001,N,00423.50571,E,65.142,345.35,120308,,,A*57
+$GPRMC,125120.00,A,5159.41756,N,00423.49826,E,65.600,345.29,120308,,,A*52
+$GPRMC,125121.00,A,5159.43533,N,00423.49083,E,66.305,345.39,120308,,,A*55
+$GPRMC,125122.00,A,5159.45306,N,00423.48319,E,65.670,344.49,120308,,,A*53
+$GPRMC,125123.00,A,5159.47056,N,00423.47574,E,64.550,345.42,120308,,,A*5E
+$GPRMC,125124.00,A,5159.48782,N,00423.46828,E,63.851,344.80,120308,,,A*59
+$GPRMC,125125.00,A,5159.50496,N,00423.46089,E,63.998,345.15,120308,,,A*5D
+$GPRMC,125126.00,A,5159.52204,N,00423.45334,E,64.249,345.01,120308,,,A*52
+$GPRMC,125127.00,A,5159.53927,N,00423.44562,E,64.984,344.28,120308,,,A*5C
+$GPRMC,125128.00,A,5159.55661,N,00423.43730,E,65.518,343.15,120308,,,A*5B
+$GPRMC,125129.00,A,5159.57384,N,00423.42984,E,64.335,345.13,120308,,,A*5E
+$GPRMC,125130.00,A,5159.59093,N,00423.42238,E,63.937,345.14,120308,,,A*59
+$GPRMC,125131.00,A,5159.60797,N,00423.41499,E,63.509,345.01,120308,,,A*5A
+$GPRMC,125132.00,A,5159.62492,N,00423.40756,E,63.411,345.03,120308,,,A*56
+$GPRMC,125133.00,A,5159.64186,N,00423.40025,E,63.398,345.02,120308,,,A*55
+$GPRMC,125134.00,A,5159.65884,N,00423.39284,E,63.484,344.87,120308,,,A*59
+$GPRMC,125135.00,A,5159.67593,N,00423.38550,E,63.785,345.26,120308,,,A*56
+$GPRMC,125136.00,A,5159.69312,N,00423.37820,E,64.158,345.20,120308,,,A*56
+$GPRMC,125137.00,A,5159.71042,N,00423.37085,E,64.792,345.21,120308,,,A*5E
+$GPRMC,125138.00,A,5159.72796,N,00423.36336,E,65.882,345.17,120308,,,A*5C
+$GPRMC,125139.00,A,5159.74579,N,00423.35573,E,66.787,345.07,120308,,,A*54
+$GPRMC,125140.00,A,5159.76368,N,00423.34830,E,66.849,345.80,120308,,,A*57
+$GPRMC,125141.00,A,5159.78205,N,00423.34050,E,68.082,345.30,120308,,,A*56
+$GPRMC,125142.00,A,5159.80046,N,00423.33271,E,68.462,345.35,120308,,,A*5E
+$GPRMC,125143.00,A,5159.81901,N,00423.32464,E,69.281,345.29,120308,,,A*50
+$GPRMC,125144.00,A,5159.83760,N,00423.31657,E,69.321,344.89,120308,,,A*5D
+$GPRMC,125145.00,A,5159.85606,N,00423.30801,E,69.425,344.84,120308,,,A*59
+$GPRMC,125146.00,A,5159.87485,N,00423.29971,E,69.722,345.16,120308,,,A*51
+$GPRMC,125147.00,A,5159.89378,N,00423.29188,E,70.156,345.27,120308,,,A*5A
+$GPRMC,125148.00,A,5159.91262,N,00423.28365,E,70.128,344.92,120308,,,A*50
+$GPRMC,125149.00,A,5159.93143,N,00423.27550,E,69.426,345.11,120308,,,A*55
+$GPRMC,125150.00,A,5159.95024,N,00423.26747,E,69.501,345.17,120308,,,A*5C
+$GPRMC,125151.00,A,5159.96913,N,00423.25948,E,70.006,345.60,120308,,,A*5B
+$GPRMC,125152.00,A,5159.98804,N,00423.25151,E,70.119,345.54,120308,,,A*59
+$GPRMC,125153.00,A,5200.00703,N,00423.24344,E,70.565,345.41,120308,,,A*52
+$GPRMC,125154.00,A,5200.02598,N,00423.23537,E,70.264,345.44,120308,,,A*51
+$GPRMC,125155.00,A,5200.04481,N,00423.22726,E,69.970,345.08,120308,,,A*52
+$GPRMC,125156.00,A,5200.06359,N,00423.21915,E,69.573,344.78,120308,,,A*55
+$GPRMC,125157.00,A,5200.08235,N,00423.21117,E,69.241,344.86,120308,,,A*5C
+$GPRMC,125158.00,A,5200.10102,N,00423.20337,E,68.847,345.06,120308,,,A*58
+$GPRMC,125159.00,A,5200.11945,N,00423.19547,E,68.455,344.98,120308,,,A*51
+$GPRMC,125200.00,A,5200.13770,N,00423.18755,E,67.860,345.06,120308,,,A*57
+$GPRMC,125201.00,A,5200.15589,N,00423.17976,E,67.970,345.05,120308,,,A*57
+$GPRMC,125202.00,A,5200.17410,N,00423.17197,E,67.888,345.07,120308,,,A*54
+$GPRMC,125203.00,A,5200.19218,N,00423.16421,E,66.812,344.95,120308,,,A*54
+$GPRMC,125204.00,A,5200.20979,N,00423.15632,E,65.340,344.38,120308,,,A*5E
+$GPRMC,125205.00,A,5200.22696,N,00423.14829,E,63.494,343.11,120308,,,A*52
+$GPRMC,125206.00,A,5200.24346,N,00423.13965,E,62.000,340.92,120308,,,A*51
+$GPRMC,125207.00,A,5200.25939,N,00423.13018,E,60.737,338.68,120308,,,A*5B
+$GPRMC,125208.00,A,5200.27502,N,00423.12022,E,59.876,337.80,120308,,,A*53
+$GPRMC,125209.00,A,5200.29020,N,00423.10977,E,59.532,336.23,120308,,,A*57
+$GPRMC,125210.00,A,5200.30488,N,00423.09875,E,58.134,334.45,120308,,,A*5B
+$GPRMC,125211.00,A,5200.31896,N,00423.08715,E,57.540,332.69,120308,,,A*50
+$GPRMC,125212.00,A,5200.33293,N,00423.07512,E,57.304,331.35,120308,,,A*58
+$GPRMC,125213.00,A,5200.34665,N,00423.06211,E,57.810,329.11,120308,,,A*57
+$GPRMC,125214.00,A,5200.36032,N,00423.04862,E,57.806,328.56,120308,,,A*5F
+$GPRMC,125215.00,A,5200.37372,N,00423.03425,E,57.771,326.73,120308,,,A*56
+$GPRMC,125216.00,A,5200.38684,N,00423.01936,E,57.246,324.92,120308,,,A*57
+$GPRMC,125217.00,A,5200.39976,N,00423.00449,E,56.882,324.85,120308,,,A*54
+$GPRMC,125218.00,A,5200.41237,N,00422.98963,E,56.726,324.23,120308,,,A*52
+$GPRMC,125219.00,A,5200.42513,N,00422.97484,E,57.505,324.57,120308,,,A*5B
+$GPRMC,125220.00,A,5200.43767,N,00422.95937,E,57.421,323.76,120308,,,A*55
+$GPRMC,125221.00,A,5200.45047,N,00422.94386,E,58.157,323.90,120308,,,A*55
+$GPRMC,125222.00,A,5200.46354,N,00422.92821,E,59.185,323.89,120308,,,A*52
+$GPRMC,125223.00,A,5200.47661,N,00422.91187,E,59.930,322.72,120308,,,A*54
+$GPRMC,125224.00,A,5200.49040,N,00422.89539,E,62.016,323.87,120308,,,A*5E
+$GPRMC,125225.00,A,5200.50437,N,00422.87873,E,62.788,323.53,120308,,,A*57
+$GPRMC,125226.00,A,5200.51845,N,00422.86165,E,62.869,323.19,120308,,,A*5D
+$GPRMC,125227.00,A,5200.53246,N,00422.84451,E,62.584,322.81,120308,,,A*59
+$GPRMC,125228.00,A,5200.54675,N,00422.82772,E,63.242,323.36,120308,,,A*50
+$GPRMC,125229.00,A,5200.56103,N,00422.81093,E,63.645,323.95,120308,,,A*54
+$GPRMC,125230.00,A,5200.57543,N,00422.79412,E,63.627,323.92,120308,,,A*54
+$GPRMC,125231.00,A,5200.58992,N,00422.77724,E,64.118,324.02,120308,,,A*50
+$GPRMC,125232.00,A,5200.60437,N,00422.76048,E,63.378,324.03,120308,,,A*54
+$GPRMC,125233.00,A,5200.61869,N,00422.74393,E,62.632,324.38,120308,,,A*56
+$GPRMC,125234.00,A,5200.63296,N,00422.72761,E,62.441,324.28,120308,,,A*51
+$GPRMC,125235.00,A,5200.64737,N,00422.71113,E,63.426,324.44,120308,,,A*53
+$GPRMC,125236.00,A,5200.66193,N,00422.69445,E,64.165,324.11,120308,,,A*50
+$GPRMC,125237.00,A,5200.67671,N,00422.67770,E,65.228,324.28,120308,,,A*51
+$GPRMC,125238.00,A,5200.69143,N,00422.66071,E,64.625,324.43,120308,,,A*54
+$GPRMC,125239.00,A,5200.70621,N,00422.64400,E,64.258,324.81,120308,,,A*5E
+$GPRMC,125240.00,A,5200.72097,N,00422.62751,E,64.700,325.70,120308,,,A*5F
+$GPRMC,125241.00,A,5200.73520,N,00422.61092,E,62.964,323.84,120308,,,A*5A
+$GPRMC,125242.00,A,5200.74956,N,00422.59457,E,62.864,324.44,120308,,,A*5F
+$GPRMC,125243.00,A,5200.76389,N,00422.57848,E,63.048,325.23,120308,,,A*5F
+$GPRMC,125244.00,A,5200.77795,N,00422.56214,E,63.032,324.24,120308,,,A*59
+$GPRMC,125245.00,A,5200.79235,N,00422.54556,E,64.479,324.89,120308,,,A*51
+$GPRMC,125246.00,A,5200.80704,N,00422.52865,E,65.485,324.44,120308,,,A*5B
+$GPRMC,125247.00,A,5200.82204,N,00422.51150,E,66.738,324.85,120308,,,A*5A
+$GPRMC,125248.00,A,5200.83701,N,00422.49393,E,66.749,323.87,120308,,,A*53
+$GPRMC,125249.00,A,5200.85159,N,00422.47618,E,66.145,323.63,120308,,,A*57
+$GPRMC,125250.00,A,5200.86643,N,00422.45858,E,65.830,324.08,120308,,,A*5A
+$GPRMC,125251.00,A,5200.88133,N,00422.44122,E,66.570,324.45,120308,,,A*53
+$GPRMC,125252.00,A,5200.89639,N,00422.42369,E,67.255,324.41,120308,,,A*52
+$GPRMC,125253.00,A,5200.91151,N,00422.40602,E,66.851,324.21,120308,,,A*50
+$GPRMC,125254.00,A,5200.92643,N,00422.38853,E,66.366,324.37,120308,,,A*5D
+$GPRMC,125255.00,A,5200.94114,N,00422.37116,E,65.277,324.02,120308,,,A*5C
+$GPRMC,125256.00,A,5200.95554,N,00422.35391,E,64.178,323.85,120308,,,A*54
+$GPRMC,125257.00,A,5200.97001,N,00422.33685,E,64.502,323.91,120308,,,A*58
+$GPRMC,125258.00,A,5200.98421,N,00422.31941,E,63.630,322.95,120308,,,A*5B
+$GPRMC,125259.00,A,5200.99891,N,00422.30217,E,64.359,323.74,120308,,,A*56
+$GPRMC,125300.00,A,5201.01373,N,00422.28524,E,65.115,324.54,120308,,,A*5C
+$GPRMC,125301.00,A,5201.02837,N,00422.26810,E,64.729,324.10,120308,,,A*59
+$GPRMC,125302.00,A,5201.04267,N,00422.25056,E,64.496,324.26,120308,,,A*58
+$GPRMC,125303.00,A,5201.05713,N,00422.23348,E,64.677,324.33,120308,,,A*5D
+$GPRMC,125304.00,A,5201.07161,N,00422.21621,E,64.731,323.90,120308,,,A*5E
+$GPRMC,125305.00,A,5201.08611,N,00422.19893,E,64.266,323.76,120308,,,A*53
+$GPRMC,125306.00,A,5201.10041,N,00422.18177,E,63.594,323.86,120308,,,A*5A
+$GPRMC,125307.00,A,5201.11456,N,00422.16484,E,63.208,323.43,120308,,,A*54
+$GPRMC,125308.00,A,5201.12855,N,00422.14771,E,63.129,322.88,120308,,,A*5A
+$GPRMC,125309.00,A,5201.14292,N,00422.13079,E,63.952,323.70,120308,,,A*56
+$GPRMC,125310.00,A,5201.15743,N,00422.11396,E,64.456,324.56,120308,,,A*5B
+$GPRMC,125311.00,A,5201.17150,N,00422.09728,E,62.912,323.93,120308,,,A*51
+$GPRMC,125312.00,A,5201.18545,N,00422.08051,E,62.352,323.46,120308,,,A*53
+$GPRMC,125313.00,A,5201.19972,N,00422.06425,E,62.558,324.01,120308,,,A*5A
+$GPRMC,125314.00,A,5201.21385,N,00422.04758,E,62.482,323.31,120308,,,A*5D
+$GPRMC,125315.00,A,5201.22711,N,00422.03057,E,60.938,321.81,120308,,,A*5E
+$GPRMC,125316.00,A,5201.24106,N,00422.01424,E,61.264,322.58,120308,,,A*5D
+$GPRMC,125317.00,A,5201.25503,N,00421.99865,E,60.370,323.76,120308,,,A*5F
+$GPRMC,125318.00,A,5201.26851,N,00421.98295,E,60.224,324.21,120308,,,A*58
+$GPRMC,125319.00,A,5201.28207,N,00421.96744,E,59.313,324.50,120308,,,A*50
+$GPRMC,125320.00,A,5201.29519,N,00421.95233,E,58.098,324.24,120308,,,A*57
+$GPRMC,125321.00,A,5201.30795,N,00421.93714,E,56.715,324.10,120308,,,A*55
+$GPRMC,125322.00,A,5201.32077,N,00421.92275,E,56.145,324.81,120308,,,A*57
+$GPRMC,125323.00,A,5201.33365,N,00421.90858,E,55.862,325.18,120308,,,A*5E
+$GPRMC,125324.00,A,5201.34567,N,00421.89455,E,54.770,324.05,120308,,,A*53
+$GPRMC,125325.00,A,5201.35765,N,00421.88030,E,54.742,323.76,120308,,,A*57
+$GPRMC,125326.00,A,5201.36998,N,00421.86601,E,55.318,324.12,120308,,,A*5E
+$GPRMC,125327.00,A,5201.38236,N,00421.85196,E,55.696,324.30,120308,,,A*57
+$GPRMC,125328.00,A,5201.39489,N,00421.83729,E,55.187,323.63,120308,,,A*59
+$GPRMC,125329.00,A,5201.40755,N,00421.82262,E,55.914,323.99,120308,,,A*58
+$GPRMC,125330.00,A,5201.42037,N,00421.80782,E,56.345,323.85,120308,,,A*58
+$GPRMC,125331.00,A,5201.43343,N,00421.79290,E,57.030,323.89,120308,,,A*54
+$GPRMC,125332.00,A,5201.44673,N,00421.77770,E,58.494,323.94,120308,,,A*5A
+$GPRMC,125333.00,A,5201.46011,N,00421.76179,E,59.607,323.34,120308,,,A*56
+$GPRMC,125334.00,A,5201.47360,N,00421.74588,E,59.884,323.09,120308,,,A*56
+$GPRMC,125335.00,A,5201.48684,N,00421.73000,E,59.724,323.40,120308,,,A*5D
+$GPRMC,125336.00,A,5201.50005,N,00421.71418,E,59.299,323.26,120308,,,A*54
+$GPRMC,125337.00,A,5201.51345,N,00421.69848,E,59.321,323.94,120308,,,A*58
+$GPRMC,125338.00,A,5201.52705,N,00421.68301,E,58.522,324.33,120308,,,A*5D
+$GPRMC,125339.00,A,5201.53979,N,00421.66744,E,57.315,323.60,120308,,,A*5F
+$GPRMC,125340.00,A,5201.55264,N,00421.65196,E,57.718,324.21,120308,,,A*51
+$GPRMC,125341.00,A,5201.56538,N,00421.63662,E,57.305,324.09,120308,,,A*55
+$GPRMC,125342.00,A,5201.57862,N,00421.62153,E,58.216,325.59,120308,,,A*59
+$GPRMC,125343.00,A,5201.59161,N,00421.60681,E,57.162,325.27,120308,,,A*50
+$GPRMC,125344.00,A,5201.60426,N,00421.59222,E,56.192,324.66,120308,,,A*56
+$GPRMC,125345.00,A,5201.61672,N,00421.57791,E,54.954,325.34,120308,,,A*50
+$GPRMC,125346.00,A,5201.62880,N,00421.56372,E,53.747,324.62,120308,,,A*52
+$GPRMC,125347.00,A,5201.64100,N,00421.54976,E,53.662,324.47,120308,,,A*59
+$GPRMC,125348.00,A,5201.65326,N,00421.53598,E,53.579,324.52,120308,,,A*57
+$GPRMC,125349.00,A,5201.66519,N,00421.52222,E,53.131,324.06,120308,,,A*51
+$GPRMC,125350.00,A,5201.67724,N,00421.50851,E,53.029,324.26,120308,,,A*52
+$GPRMC,125351.00,A,5201.68947,N,00421.49476,E,53.714,324.23,120308,,,A*5A
+$GPRMC,125352.00,A,5201.70208,N,00421.48063,E,54.646,323.93,120308,,,A*5C
+$GPRMC,125353.00,A,5201.71492,N,00421.46625,E,55.816,324.35,120308,,,A*52
+$GPRMC,125354.00,A,5201.72778,N,00421.45175,E,56.901,324.46,120308,,,A*50
+$GPRMC,125355.00,A,5201.74065,N,00421.43694,E,57.415,324.29,120308,,,A*52
+$GPRMC,125356.00,A,5201.75378,N,00421.42207,E,57.824,324.56,120308,,,A*56
+$GPRMC,125357.00,A,5201.76690,N,00421.40691,E,58.086,324.31,120308,,,A*50
+$GPRMC,125358.00,A,5201.78006,N,00421.39164,E,58.281,324.28,120308,,,A*56
+$GPRMC,125359.00,A,5201.79341,N,00421.37653,E,59.131,324.85,120308,,,A*55
+$GPRMC,125400.00,A,5201.80650,N,00421.36084,E,58.709,322.98,120308,,,A*56
+$GPRMC,125401.00,A,5201.81952,N,00421.34539,E,58.084,323.77,120308,,,A*58
+$GPRMC,125402.00,A,5201.83350,N,00421.33027,E,59.293,325.87,120308,,,A*50
+$GPRMC,125403.00,A,5201.84744,N,00421.31539,E,59.674,326.19,120308,,,A*56
+$GPRMC,125404.00,A,5201.86159,N,00421.30081,E,60.688,327.65,120308,,,A*5D
+$GPRMC,125405.00,A,5201.87659,N,00421.28805,E,60.748,330.22,120308,,,A*5F
+$GPRMC,125406.00,A,5201.89182,N,00421.27609,E,61.362,332.34,120308,,,A*56
+$GPRMC,125407.00,A,5201.90696,N,00421.26383,E,61.409,333.22,120308,,,A*57
+$GPRMC,125408.00,A,5201.92259,N,00421.25203,E,62.318,335.18,120308,,,A*5C
+$GPRMC,125409.00,A,5201.93840,N,00421.24097,E,61.935,336.89,120308,,,A*5D
+$GPRMC,125410.00,A,5201.95436,N,00421.23094,E,61.879,339.26,120308,,,A*59
+$GPRMC,125411.00,A,5201.97081,N,00421.22181,E,62.383,341.39,120308,,,A*5A
+$GPRMC,125412.00,A,5201.98747,N,00421.21335,E,62.271,342.49,120308,,,A*5D
+$GPRMC,125413.00,A,5202.00421,N,00421.20579,E,62.088,344.19,120308,,,A*55
+$GPRMC,125414.00,A,5202.02098,N,00421.19944,E,61.550,346.21,120308,,,A*54
+$GPRMC,125415.00,A,5202.03775,N,00421.19417,E,60.907,347.91,120308,,,A*5E
+$GPRMC,125416.00,A,5202.05413,N,00421.18942,E,59.870,349.42,120308,,,A*5F
+$GPRMC,125417.00,A,5202.07058,N,00421.18495,E,59.634,349.99,120308,,,A*58
+$GPRMC,125418.00,A,5202.08719,N,00421.18031,E,59.950,349.54,120308,,,A*5C
+$GPRMC,125419.00,A,5202.10411,N,00421.17621,E,61.002,350.12,120308,,,A*58
+$GPRMC,125420.00,A,5202.12091,N,00421.17197,E,61.277,350.60,120308,,,A*53
+$GPRMC,125421.00,A,5202.13752,N,00421.16722,E,61.169,349.74,120308,,,A*53
+$GPRMC,125422.00,A,5202.15471,N,00421.16327,E,62.120,350.88,120308,,,A*50
+$GPRMC,125423.00,A,5202.17208,N,00421.15884,E,63.896,350.43,120308,,,A*58
+$GPRMC,125424.00,A,5202.18922,N,00421.15383,E,62.814,349.40,120308,,,A*5F
+$GPRMC,125425.00,A,5202.20628,N,00421.14868,E,62.486,349.34,120308,,,A*5B
+$GPRMC,125426.00,A,5202.22361,N,00421.14421,E,63.206,350.97,120308,,,A*5D
+$GPRMC,125427.00,A,5202.24218,N,00421.14093,E,65.976,353.39,120308,,,A*55
+$GPRMC,125428.00,A,5202.26048,N,00421.13786,E,66.401,354.70,120308,,,A*5F
+$GPRMC,125429.00,A,5202.27903,N,00421.13585,E,66.948,356.56,120308,,,A*5E
+$GPRMC,125430.00,A,5202.29758,N,00421.13442,E,66.810,357.93,120308,,,A*56
+$GPRMC,125431.00,A,5202.31614,N,00421.13374,E,66.813,358.49,120308,,,A*5E
+$GPRMC,125432.00,A,5202.33457,N,00421.13493,E,66.643,0.39,120308,,,A*56
+$GPRMC,125433.00,A,5202.35302,N,00421.13631,E,66.970,0.92,120308,,,A*52
+$GPRMC,125434.00,A,5202.37135,N,00421.13745,E,66.971,0.82,120308,,,A*53
+$GPRMC,125435.00,A,5202.39017,N,00421.13838,E,67.903,0.41,120308,,,A*53
+$GPRMC,125436.00,A,5202.40929,N,00421.13906,E,68.903,0.70,120308,,,A*5B
+$GPRMC,125437.00,A,5202.42836,N,00421.14004,E,68.784,0.70,120308,,,A*5A
+$GPRMC,125438.00,A,5202.44757,N,00421.14063,E,68.792,0.64,120308,,,A*58
+$GPRMC,125439.00,A,5202.46665,N,00421.14183,E,68.515,2.25,120308,,,A*5E
+$GPRMC,125440.00,A,5202.48626,N,00421.14402,E,69.452,4.44,120308,,,A*57
+$GPRMC,125441.00,A,5202.50485,N,00421.14793,E,68.184,7.60,120308,,,A*55
+$GPRMC,125442.00,A,5202.52330,N,00421.15338,E,68.123,10.16,120308,,,A*63
+$GPRMC,125443.00,A,5202.54177,N,00421.16019,E,68.576,13.70,120308,,,A*61
+$GPRMC,125444.00,A,5202.56007,N,00421.16905,E,68.287,16.22,120308,,,A*6D
+$GPRMC,125445.00,A,5202.57828,N,00421.17906,E,68.497,19.40,120308,,,A*66
+$GPRMC,125446.00,A,5202.59616,N,00421.18939,E,68.844,20.11,120308,,,A*67
+$GPRMC,125447.00,A,5202.61343,N,00421.20240,E,68.949,25.06,120308,,,A*69
+$GPRMC,125448.00,A,5202.63062,N,00421.21677,E,69.583,27.15,120308,,,A*6E
+$GPRMC,125449.00,A,5202.64753,N,00421.23272,E,70.271,30.89,120308,,,A*6F
+$GPRMC,125450.00,A,5202.66350,N,00421.24991,E,70.531,33.94,120308,,,A*6F
+$GPRMC,125451.00,A,5202.67922,N,00421.26855,E,70.512,36.51,120308,,,A*66
+$GPRMC,125452.00,A,5202.69460,N,00421.28826,E,70.935,38.42,120308,,,A*6F
+$GPRMC,125453.00,A,5202.70974,N,00421.30872,E,70.857,39.45,120308,,,A*65
+$GPRMC,125454.00,A,5202.72478,N,00421.32930,E,70.845,40.04,120308,,,A*6C
+$GPRMC,125455.00,A,5202.73968,N,00421.35013,E,71.284,40.25,120308,,,A*6A
+$GPRMC,125456.00,A,5202.75456,N,00421.37125,E,71.377,40.42,120308,,,A*65
+$GPRMC,125457.00,A,5202.76957,N,00421.39209,E,71.373,40.11,120308,,,A*6A
+$GPRMC,125458.00,A,5202.78467,N,00421.41323,E,72.019,40.34,120308,,,A*68
+$GPRMC,125459.00,A,5202.79975,N,00421.43431,E,71.156,40.16,120308,,,A*69
+$GPRMC,125500.00,A,5202.81501,N,00421.45488,E,71.311,39.55,120308,,,A*60
+$GPRMC,125501.00,A,5202.83007,N,00421.47565,E,71.047,40.30,120308,,,A*6D
+$GPRMC,125502.00,A,5202.84497,N,00421.49644,E,70.951,40.06,120308,,,A*60
+$GPRMC,125503.00,A,5202.85999,N,00421.51708,E,70.808,40.09,120308,,,A*61
+$GPRMC,125504.00,A,5202.87491,N,00421.53769,E,70.473,40.16,120308,,,A*6A
+$GPRMC,125505.00,A,5202.88984,N,00421.55829,E,70.761,40.37,120308,,,A*63
+$GPRMC,125506.00,A,5202.90465,N,00421.57881,E,69.809,40.42,120308,,,A*60
+$GPRMC,125507.00,A,5202.91951,N,00421.59916,E,69.867,40.30,120308,,,A*66
+$GPRMC,125508.00,A,5202.93433,N,00421.61963,E,70.100,40.61,120308,,,A*6F
+$GPRMC,125509.00,A,5202.94919,N,00421.64005,E,70.424,40.48,120308,,,A*68
+$GPRMC,125510.00,A,5202.96409,N,00421.66059,E,70.467,40.78,120308,,,A*61
+$GPRMC,125511.00,A,5202.97889,N,00421.68128,E,70.182,41.21,120308,,,A*6F
+$GPRMC,125512.00,A,5202.99359,N,00421.70190,E,69.775,40.97,120308,,,A*64
+$GPRMC,125513.00,A,5203.00830,N,00421.72228,E,69.240,41.35,120308,,,A*68
+$GPRMC,125514.00,A,5203.02286,N,00421.74282,E,69.537,41.32,120308,,,A*6C
+$GPRMC,125515.00,A,5203.03713,N,00421.76357,E,68.757,42.41,120308,,,A*6C
+$GPRMC,125516.00,A,5203.05129,N,00421.78453,E,68.477,43.05,120308,,,A*6B
+$GPRMC,125517.00,A,5203.06521,N,00421.80564,E,68.094,43.13,120308,,,A*69
+$GPRMC,125518.00,A,5203.07891,N,00421.82668,E,67.663,43.63,120308,,,A*6A
+$GPRMC,125519.00,A,5203.09237,N,00421.84759,E,67.044,44.49,120308,,,A*6A
+$GPRMC,125520.00,A,5203.10546,N,00421.86882,E,66.424,45.20,120308,,,A*6F
+$GPRMC,125521.00,A,5203.11832,N,00421.89009,E,65.985,45.25,120308,,,A*65
+$GPRMC,125522.00,A,5203.13091,N,00421.91119,E,64.962,45.36,120308,,,A*66
+$GPRMC,125523.00,A,5203.14312,N,00421.93180,E,63.814,45.20,120308,,,A*6A
+$GPRMC,125524.00,A,5203.15566,N,00421.95167,E,62.915,43.73,120308,,,A*67
+$GPRMC,125525.00,A,5203.16848,N,00421.97041,E,62.073,41.13,120308,,,A*6E
+$GPRMC,125526.00,A,5203.18170,N,00421.98779,E,61.079,37.73,120308,,,A*6C
+$GPRMC,125527.00,A,5203.19533,N,00422.00379,E,60.261,34.69,120308,,,A*6B
+$GPRMC,125528.00,A,5203.20924,N,00422.01857,E,59.866,32.04,120308,,,A*68
+$GPRMC,125529.00,A,5203.22346,N,00422.03219,E,59.489,29.59,120308,,,A*68
+$GPRMC,125530.00,A,5203.23765,N,00422.04463,E,58.461,27.30,120308,,,A*6E
+$GPRMC,125531.00,A,5203.25194,N,00422.05615,E,58.390,26.33,120308,,,A*68
+$GPRMC,125532.00,A,5203.26638,N,00422.06748,E,58.358,26.10,120308,,,A*66
+$GPRMC,125533.00,A,5203.28060,N,00422.07865,E,57.113,26.92,120308,,,A*6B
+$GPRMC,125534.00,A,5203.29494,N,00422.09019,E,57.863,27.27,120308,,,A*6E
+$GPRMC,125535.00,A,5203.30916,N,00422.10206,E,57.430,27.94,120308,,,A*66
+$GPRMC,125536.00,A,5203.32335,N,00422.11403,E,57.950,28.60,120308,,,A*61
+$GPRMC,125537.00,A,5203.33760,N,00422.12649,E,58.261,28.84,120308,,,A*66
+$GPRMC,125538.00,A,5203.35185,N,00422.13921,E,58.180,30.00,120308,,,A*6B
+$GPRMC,125539.00,A,5203.36584,N,00422.15240,E,57.844,30.99,120308,,,A*68
+$GPRMC,125540.00,A,5203.37992,N,00422.16601,E,58.803,31.40,120308,,,A*67
+$GPRMC,125541.00,A,5203.39400,N,00422.17986,E,59.396,31.67,120308,,,A*6C
+$GPRMC,125542.00,A,5203.40812,N,00422.19398,E,59.975,32.19,120308,,,A*68
+$GPRMC,125543.00,A,5203.42225,N,00422.20847,E,60.487,32.74,120308,,,A*67
+$GPRMC,125544.00,A,5203.43646,N,00422.22319,E,61.023,32.96,120308,,,A*65
+$GPRMC,125545.00,A,5203.45067,N,00422.23815,E,61.396,33.41,120308,,,A*67
+$GPRMC,125546.00,A,5203.46492,N,00422.25344,E,61.878,33.89,120308,,,A*6F
+$GPRMC,125547.00,A,5203.47913,N,00422.26892,E,61.822,34.13,120308,,,A*63
+$GPRMC,125548.00,A,5203.49347,N,00422.28472,E,62.665,34.52,120308,,,A*6E
+$GPRMC,125549.00,A,5203.50794,N,00422.30099,E,63.845,35.14,120308,,,A*6B
+$GPRMC,125550.00,A,5203.52256,N,00422.31773,E,64.547,35.45,120308,,,A*64
+$GPRMC,125551.00,A,5203.53733,N,00422.33472,E,65.461,35.41,120308,,,A*62
+$GPRMC,125552.00,A,5203.55219,N,00422.35192,E,65.796,35.91,120308,,,A*61
+$GPRMC,125553.00,A,5203.56702,N,00422.36933,E,65.861,35.87,120308,,,A*6C
+$GPRMC,125554.00,A,5203.58178,N,00422.38664,E,65.260,35.85,120308,,,A*64
+$GPRMC,125555.00,A,5203.59643,N,00422.40375,E,64.778,35.54,120308,,,A*60
+$GPRMC,125556.00,A,5203.61108,N,00422.42066,E,64.789,35.21,120308,,,A*6F
+$GPRMC,125557.00,A,5203.62583,N,00422.43745,E,65.005,34.77,120308,,,A*6D
+$GPRMC,125558.00,A,5203.64068,N,00422.45423,E,65.188,35.00,120308,,,A*64
+$GPRMC,125559.00,A,5203.65535,N,00422.47111,E,64.767,35.31,120308,,,A*6B
+$GPRMC,125600.00,A,5203.66982,N,00422.48802,E,64.016,35.45,120308,,,A*61
+$GPRMC,125601.00,A,5203.68436,N,00422.50478,E,64.393,35.17,120308,,,A*6D
+$GPRMC,125602.00,A,5203.69898,N,00422.52152,E,64.317,35.29,120308,,,A*69
+$GPRMC,125603.00,A,5203.71340,N,00422.53821,E,63.516,35.55,120308,,,A*68
+$GPRMC,125604.00,A,5203.72776,N,00422.55478,E,63.648,35.33,120308,,,A*63
+$GPRMC,125605.00,A,5203.74208,N,00422.57092,E,62.986,34.79,120308,,,A*69
+$GPRMC,125606.00,A,5203.75599,N,00422.58755,E,62.363,35.93,120308,,,A*63
+$GPRMC,125607.00,A,5203.77024,N,00422.60401,E,62.306,35.27,120308,,,A*66
+$GPRMC,125608.00,A,5203.78396,N,00422.62034,E,61.516,35.85,120308,,,A*60
+$GPRMC,125609.00,A,5203.79768,N,00422.63657,E,61.358,35.90,120308,,,A*6F
+$GPRMC,125610.00,A,5203.81143,N,00422.65258,E,61.066,35.62,120308,,,A*61
+$GPRMC,125611.00,A,5203.82490,N,00422.66854,E,60.077,35.21,120308,,,A*6B
+$GPRMC,125612.00,A,5203.83834,N,00422.68382,E,59.185,35.28,120308,,,A*6A
+$GPRMC,125613.00,A,5203.85156,N,00422.69916,E,58.412,35.43,120308,,,A*61
+$GPRMC,125614.00,A,5203.86461,N,00422.71443,E,57.962,35.62,120308,,,A*66
+$GPRMC,125615.00,A,5203.87768,N,00422.72949,E,57.892,35.41,120308,,,A*67
+$GPRMC,125616.00,A,5203.89078,N,00422.74429,E,57.171,35.36,120308,,,A*65
+$GPRMC,125617.00,A,5203.90352,N,00422.75915,E,56.228,36.23,120308,,,A*6D
+$GPRMC,125618.00,A,5203.91596,N,00422.77440,E,56.285,37.07,120308,,,A*62
+$GPRMC,125619.00,A,5203.92843,N,00422.78991,E,56.825,37.46,120308,,,A*6E
+$GPRMC,125620.00,A,5203.94086,N,00422.80567,E,56.669,38.41,120308,,,A*6F
+$GPRMC,125621.00,A,5203.95302,N,00422.82160,E,55.668,39.02,120308,,,A*65
+$GPRMC,125622.00,A,5203.96485,N,00422.83746,E,54.797,39.81,120308,,,A*65
+$GPRMC,125623.00,A,5203.97626,N,00422.85353,E,53.991,41.40,120308,,,A*65
+$GPRMC,125624.00,A,5203.98736,N,00422.86958,E,53.144,42.07,120308,,,A*6F
+$GPRMC,125625.00,A,5203.99826,N,00422.88563,E,52.753,42.88,120308,,,A*6D
+$GPRMC,125626.00,A,5204.00886,N,00422.90171,E,52.071,43.96,120308,,,A*64
+$GPRMC,125627.00,A,5204.01922,N,00422.91781,E,51.304,44.35,120308,,,A*6F
+$GPRMC,125628.00,A,5204.02927,N,00422.93380,E,50.378,45.04,120308,,,A*68
+$GPRMC,125629.00,A,5204.03898,N,00422.94978,E,49.519,45.75,120308,,,A*68
+$GPRMC,125630.00,A,5204.04848,N,00422.96557,E,48.831,46.10,120308,,,A*6F
+$GPRMC,125631.00,A,5204.05749,N,00422.98131,E,48.010,46.39,120308,,,A*6B
+$GPRMC,125632.00,A,5204.06645,N,00422.99689,E,47.335,46.53,120308,,,A*64
+$GPRMC,125633.00,A,5204.07536,N,00423.01265,E,47.242,46.90,120308,,,A*6B
+$GPRMC,125634.00,A,5204.08428,N,00423.02821,E,47.357,46.46,120308,,,A*6A
+$GPRMC,125635.00,A,5204.09326,N,00423.04386,E,47.867,46.66,120308,,,A*69
+$GPRMC,125636.00,A,5204.10232,N,00423.05983,E,48.803,47.69,120308,,,A*6B
+$GPRMC,125637.00,A,5204.11135,N,00423.07635,E,49.327,49.29,120308,,,A*69
+$GPRMC,125638.00,A,5204.12021,N,00423.09303,E,49.251,49.82,120308,,,A*6E
+$GPRMC,125639.00,A,5204.12904,N,00423.10989,E,49.514,49.86,120308,,,A*63
+$GPRMC,125640.00,A,5204.13793,N,00423.12683,E,49.650,49.69,120308,,,A*69
+$GPRMC,125641.00,A,5204.14685,N,00423.14362,E,49.021,49.22,120308,,,A*6A
+$GPRMC,125642.00,A,5204.15573,N,00423.16017,E,48.862,49.29,120308,,,A*64
+$GPRMC,125643.00,A,5204.16456,N,00423.17679,E,48.550,49.69,120308,,,A*67
+$GPRMC,125644.00,A,5204.17326,N,00423.19344,E,48.552,50.11,120308,,,A*61
+$GPRMC,125645.00,A,5204.18196,N,00423.21025,E,48.816,50.32,120308,,,A*65
+$GPRMC,125646.00,A,5204.19064,N,00423.22728,E,49.270,50.87,120308,,,A*67
+$GPRMC,125647.00,A,5204.19927,N,00423.24466,E,49.842,51.57,120308,,,A*60
+$GPRMC,125648.00,A,5204.20786,N,00423.26250,E,49.783,52.09,120308,,,A*6B
+$GPRMC,125649.00,A,5204.21631,N,00423.28045,E,49.796,52.79,120308,,,A*6D
+$GPRMC,125650.00,A,5204.22461,N,00423.29860,E,50.096,53.46,120308,,,A*6D
+$GPRMC,125651.00,A,5204.23283,N,00423.31710,E,50.622,54.09,120308,,,A*63
+$GPRMC,125652.00,A,5204.24094,N,00423.33593,E,50.947,54.94,120308,,,A*60
+$GPRMC,125653.00,A,5204.24902,N,00423.35502,E,51.368,55.57,120308,,,A*61
+$GPRMC,125654.00,A,5204.25702,N,00423.37438,E,51.835,56.04,120308,,,A*65
+$GPRMC,125655.00,A,5204.26506,N,00423.39401,E,52.299,56.11,120308,,,A*6E
+$GPRMC,125656.00,A,5204.27312,N,00423.41384,E,52.564,56.57,120308,,,A*6D
+$GPRMC,125657.00,A,5204.28117,N,00423.43365,E,52.739,56.71,120308,,,A*67
+$GPRMC,125658.00,A,5204.28926,N,00423.45370,E,53.052,56.81,120308,,,A*64
+$GPRMC,125659.00,A,5204.29654,N,00423.47402,E,51.700,57.79,120308,,,A*6A
+$GPRMC,125700.00,A,5204.30415,N,00423.49336,E,50.002,56.84,120308,,,A*61
+$GPRMC,125701.00,A,5204.31178,N,00423.51237,E,49.077,56.70,120308,,,A*67
+$GPRMC,125702.00,A,5204.31917,N,00423.53092,E,47.994,56.67,120308,,,A*66
+$GPRMC,125703.00,A,5204.32642,N,00423.54887,E,46.966,56.56,120308,,,A*6E
+$GPRMC,125704.00,A,5204.33343,N,00423.56629,E,45.992,56.54,120308,,,A*6E
+$GPRMC,125705.00,A,5204.34031,N,00423.58337,E,44.954,56.78,120308,,,A*6F
+$GPRMC,125706.00,A,5204.34694,N,00423.59997,E,43.786,57.02,120308,,,A*6E
+$GPRMC,125707.00,A,5204.35344,N,00423.61637,E,43.129,57.46,120308,,,A*6B
+$GPRMC,125708.00,A,5204.35979,N,00423.63272,E,42.809,57.90,120308,,,A*66
+$GPRMC,125709.00,A,5204.36598,N,00423.64909,E,42.304,58.52,120308,,,A*60
+$GPRMC,125710.00,A,5204.37199,N,00423.66540,E,42.106,59.34,120308,,,A*6E
+$GPRMC,125711.00,A,5204.37790,N,00423.68161,E,41.833,59.47,120308,,,A*61
+$GPRMC,125712.00,A,5204.38366,N,00423.69778,E,41.333,59.97,120308,,,A*69
+$GPRMC,125713.00,A,5204.38930,N,00423.71359,E,40.425,59.96,120308,,,A*6F
+$GPRMC,125714.00,A,5204.39485,N,00423.72843,E,37.834,59.97,120308,,,A*64
+$GPRMC,125715.00,A,5204.40005,N,00423.74264,E,36.088,59.77,120308,,,A*6E
+$GPRMC,125716.00,A,5204.40508,N,00423.75645,E,35.788,59.01,120308,,,A*66
+$GPRMC,125717.00,A,5204.40960,N,00423.76926,E,33.914,60.90,120308,,,A*63
+$GPRMC,125718.00,A,5204.41371,N,00423.78155,E,32.430,61.92,120308,,,A*6C
+$GPRMC,125719.00,A,5204.41766,N,00423.79372,E,30.961,61.79,120308,,,A*67
+$GPRMC,125720.00,A,5204.42137,N,00423.80546,E,29.030,62.48,120308,,,A*6F
+$GPRMC,125721.00,A,5204.42462,N,00423.81684,E,27.878,65.22,120308,,,A*66
+$GPRMC,125722.00,A,5204.42723,N,00423.82845,E,27.307,72.92,120308,,,A*6D
+$GPRMC,125723.00,A,5204.42773,N,00423.83993,E,26.390,84.22,120308,,,A*6F
+$GPRMC,125724.00,A,5204.42660,N,00423.85233,E,26.606,97.80,120308,,,A*6C
+$GPRMC,125725.00,A,5204.42408,N,00423.86383,E,27.216,115.24,120308,,,A*59
+$GPRMC,125726.00,A,5204.41898,N,00423.87287,E,27.634,132.33,120308,,,A*5F
+$GPRMC,125727.00,A,5204.41299,N,00423.88018,E,26.578,145.99,120308,,,A*54
+$GPRMC,125728.00,A,5204.40578,N,00423.88419,E,26.848,163.92,120308,,,A*56
+$GPRMC,125729.00,A,5204.39752,N,00423.88483,E,27.597,177.28,120308,,,A*5A
+$GPRMC,125730.00,A,5204.38981,N,00423.88340,E,26.707,189.83,120308,,,A*51
+$GPRMC,125731.00,A,5204.38247,N,00423.87966,E,26.305,203.63,120308,,,A*59
+$GPRMC,125732.00,A,5204.37633,N,00423.87245,E,27.107,220.77,120308,,,A*5D
+$GPRMC,125733.00,A,5204.37067,N,00423.86390,E,26.214,225.63,120308,,,A*53
+$GPRMC,125734.00,A,5204.36492,N,00423.85449,E,26.991,226.88,120308,,,A*5B
+$GPRMC,125735.00,A,5204.35952,N,00423.84532,E,25.437,228.44,120308,,,A*58
+$GPRMC,125736.00,A,5204.35520,N,00423.83658,E,22.355,230.91,120308,,,A*5F
+$GPRMC,125737.00,A,5204.35186,N,00423.82878,E,20.151,240.40,120308,,,A*54
+$GPRMC,125738.00,A,5204.35138,N,00423.82038,E,18.050,267.94,120308,,,A*55
+$GPRMC,125739.00,A,5204.35367,N,00423.81324,E,17.615,300.60,120308,,,A*52
+$GPRMC,125740.00,A,5204.35856,N,00423.80555,E,21.656,311.91,120308,,,A*58
+$GPRMC,125741.00,A,5204.36394,N,00423.79713,E,24.811,313.63,120308,,,A*5E
+$GPRMC,125742.00,A,5204.36909,N,00423.78851,E,25.169,313.75,120308,,,A*5B
+$GPRMC,125743.00,A,5204.37466,N,00423.77967,E,27.504,314.10,120308,,,A*5D
+$GPRMC,125744.00,A,5204.38062,N,00423.77025,E,29.064,315.85,120308,,,A*5A
+$GPRMC,125745.00,A,5204.38707,N,00423.76012,E,29.756,317.11,120308,,,A*53
+$GPRMC,125746.00,A,5204.39368,N,00423.75031,E,30.229,318.04,120308,,,A*50
+$GPRMC,125747.00,A,5204.40015,N,00423.74083,E,30.406,317.02,120308,,,A*5C
+$GPRMC,125748.00,A,5204.40674,N,00423.73102,E,30.737,317.61,120308,,,A*59
+$GPRMC,125749.00,A,5204.41329,N,00423.72129,E,30.996,317.61,120308,,,A*59
+$GPRMC,125750.00,A,5204.41990,N,00423.71154,E,31.388,317.50,120308,,,A*56
+$GPRMC,125751.00,A,5204.42647,N,00423.70151,E,31.838,315.33,120308,,,A*52
+$GPRMC,125752.00,A,5204.43287,N,00423.69112,E,31.898,314.52,120308,,,A*5B
+$GPRMC,125753.00,A,5204.43921,N,00423.68080,E,31.558,315.50,120308,,,A*54
+$GPRMC,125754.00,A,5204.44541,N,00423.67103,E,29.806,316.05,120308,,,A*57
+$GPRMC,125755.00,A,5204.45125,N,00423.66232,E,26.637,318.60,120308,,,A*5F
+$GPRMC,125756.00,A,5204.45613,N,00423.65485,E,22.460,318.45,120308,,,A*54
+$GPRMC,125757.00,A,5204.46037,N,00423.64878,E,18.274,318.75,120308,,,A*50
+$GPRMC,125758.00,A,5204.46354,N,00423.64447,E,12.421,318.99,120308,,,A*57
+$GPRMC,125759.00,A,5204.46551,N,00423.64199,E,6.941,320.04,120308,,,A*62
+$GPRMC,125800.00,A,5204.46667,N,00423.64054,E,4.807,320.34,120308,,,A*65
+$GPRMC,125801.00,A,5204.46748,N,00423.63957,E,3.727,321.04,120308,,,A*6D
+$GPRMC,125802.00,A,5204.46803,N,00423.63906,E,2.107,316.88,120308,,,A*6F
+$GPRMC,125803.00,A,5204.46835,N,00423.63879,E,1.617,316.78,120308,,,A*68
+$GPRMC,125804.00,A,5204.46850,N,00423.63846,E,1.418,316.99,120308,,,A*62
+$GPRMC,125805.00,A,5204.46871,N,00423.63835,E,1.110,317.07,120308,,,A*6F
+$GPRMC,125806.00,A,5204.46897,N,00423.63848,E,0.983,317.60,120308,,,A*6C
+$GPRMC,125807.00,A,5204.46899,N,00423.63848,E,0.324,318.09,120308,,,A*64
+$GPRMC,125808.00,A,5204.46893,N,00423.63861,E,0.035,318.52,120308,,,A*67
+$GPRMC,125809.00,A,5204.46887,N,00423.63879,E,0.172,321.31,120308,,,A*67
+$GPRMC,125810.00,A,5204.46879,N,00423.63896,E,0.060,324.15,120308,,,A*6E
+$GPRMC,125811.00,A,5204.46864,N,00423.63913,E,0.167,329.43,120308,,,A*67
+$GPRMC,125812.00,A,5204.46858,N,00423.63940,E,0.001,,120308,,,A*7D
+$GPRMC,125813.00,A,5204.46850,N,00423.63958,E,0.010,,120308,,,A*7D
+$GPRMC,125814.00,A,5204.46841,N,00423.63973,E,0.020,332.72,120308,,,A*69
+$GPRMC,125815.00,A,5204.46832,N,00423.63983,E,0.056,329.31,120308,,,A*6F
+$GPRMC,125816.00,A,5204.46824,N,00423.63989,E,0.005,,120308,,,A*73
+$GPRMC,125817.00,A,5204.46816,N,00423.63993,E,0.017,,120308,,,A*7B
+$GPRMC,125818.00,A,5204.46807,N,00423.63998,E,0.014,,120308,,,A*7C
+$GPRMC,125819.00,A,5204.46801,N,00423.64003,E,0.007,,120308,,,A*75
+$GPRMC,125820.00,A,5204.46794,N,00423.64010,E,0.009,,120308,,,A*70
+$GPRMC,125821.00,A,5204.46789,N,00423.64021,E,0.025,324.63,120308,,,A*6F
+$GPRMC,125822.00,A,5204.46783,N,00423.64032,E,0.017,,120308,,,A*7B
+$GPRMC,125823.00,A,5204.46779,N,00423.64044,E,0.085,321.77,120308,,,A*6B
+$GPRMC,125824.00,A,5204.46775,N,00423.64055,E,0.018,,120308,,,A*7A
+$GPRMC,125825.00,A,5204.46771,N,00423.64065,E,0.040,321.07,120308,,,A*68
+$GPRMC,125826.00,A,5204.46770,N,00423.64075,E,0.151,321.36,120308,,,A*68
+$GPRMC,125827.00,A,5204.46769,N,00423.64081,E,0.214,320.71,120308,,,A*6A
+$GPRMC,125828.00,A,5204.46775,N,00423.64075,E,0.643,320.52,120308,,,A*64
+$GPRMC,125829.00,A,5204.46832,N,00423.64009,E,4.721,321.63,120308,,,A*60
+$GPRMC,125830.00,A,5204.46966,N,00423.63814,E,8.486,318.95,120308,,,A*6A
+$GPRMC,125831.00,A,5204.47159,N,00423.63536,E,10.001,318.84,120308,,,A*51
+$GPRMC,125832.00,A,5204.47377,N,00423.63222,E,10.822,318.75,120308,,,A*59
+$GPRMC,125833.00,A,5204.47619,N,00423.62870,E,12.362,317.40,120308,,,A*5D
+$GPRMC,125834.00,A,5204.47866,N,00423.62442,E,13.530,309.67,120308,,,A*5B
+$GPRMC,125835.00,A,5204.48052,N,00423.61892,E,15.429,289.68,120308,,,A*51
+$GPRMC,125836.00,A,5204.48152,N,00423.61178,E,16.400,280.31,120308,,,A*53
+$GPRMC,125837.00,A,5204.48187,N,00423.60405,E,18.349,268.53,120308,,,A*52
+$GPRMC,125838.00,A,5204.47964,N,00423.59631,E,19.453,245.09,120308,,,A*55
+$GPRMC,125839.00,A,5204.47664,N,00423.58872,E,20.252,235.88,120308,,,A*50
+$GPRMC,125840.00,A,5204.47242,N,00423.58219,E,21.057,226.54,120308,,,A*5C
+$GPRMC,125841.00,A,5204.46777,N,00423.57542,E,22.567,221.91,120308,,,A*52
+$GPRMC,125842.00,A,5204.46271,N,00423.56911,E,22.688,214.02,120308,,,A*57
+$GPRMC,125843.00,A,5204.45698,N,00423.56367,E,24.590,208.33,120308,,,A*5E
+$GPRMC,125844.00,A,5204.45040,N,00423.55906,E,25.818,201.31,120308,,,A*53
+$GPRMC,125845.00,A,5204.44312,N,00423.55537,E,27.229,196.51,120308,,,A*58
+$GPRMC,125846.00,A,5204.43551,N,00423.55278,E,27.922,191.08,120308,,,A*5A
+$GPRMC,125847.00,A,5204.42731,N,00423.55082,E,29.890,187.69,120308,,,A*5F
+$GPRMC,125848.00,A,5204.41851,N,00423.54930,E,31.342,187.08,120308,,,A*51
+$GPRMC,125849.00,A,5204.40925,N,00423.54774,E,31.777,189.02,120308,,,A*5B
+$GPRMC,125850.00,A,5204.40028,N,00423.54466,E,32.841,193.89,120308,,,A*56
+$GPRMC,125851.00,A,5204.39119,N,00423.54043,E,33.971,197.08,120308,,,A*57
+$GPRMC,125852.00,A,5204.38232,N,00423.53453,E,34.268,203.43,120308,,,A*58
+$GPRMC,125853.00,A,5204.37363,N,00423.52720,E,35.775,207.85,120308,,,A*53
+$GPRMC,125854.00,A,5204.36513,N,00423.51805,E,36.524,213.38,120308,,,A*59
+$GPRMC,125855.00,A,5204.35694,N,00423.50836,E,36.521,219.35,120308,,,A*54
+$GPRMC,125856.00,A,5204.34925,N,00423.49704,E,37.229,225.10,120308,,,A*53
+$GPRMC,125857.00,A,5204.34218,N,00423.48447,E,37.430,230.36,120308,,,A*5C
+$GPRMC,125858.00,A,5204.33565,N,00423.47121,E,37.788,232.65,120308,,,A*57
+$GPRMC,125859.00,A,5204.32922,N,00423.45738,E,39.150,233.12,120308,,,A*58
+$GPRMC,125900.00,A,5204.32241,N,00423.44276,E,41.303,232.79,120308,,,A*52
+$GPRMC,125901.00,A,5204.31522,N,00423.42779,E,41.661,232.59,120308,,,A*5D
+$GPRMC,125902.00,A,5204.30831,N,00423.41277,E,41.816,233.81,120308,,,A*52
+$GPRMC,125903.00,A,5204.30153,N,00423.39675,E,43.306,235.62,120308,,,A*54
+$GPRMC,125904.00,A,5204.29521,N,00423.38116,E,42.337,236.55,120308,,,A*5D
+$GPRMC,125905.00,A,5204.28871,N,00423.36564,E,41.625,236.83,120308,,,A*54
+$GPRMC,125906.00,A,5204.28263,N,00423.34985,E,41.486,235.77,120308,,,A*5C
+$GPRMC,125907.00,A,5204.27627,N,00423.33321,E,43.775,236.59,120308,,,A*57
+$GPRMC,125908.00,A,5204.26948,N,00423.31614,E,45.747,236.71,120308,,,A*53
+$GPRMC,125909.00,A,5204.26247,N,00423.29830,E,47.619,236.64,120308,,,A*5B
+$GPRMC,125910.00,A,5204.25519,N,00423.27993,E,49.143,236.41,120308,,,A*5B
+$GPRMC,125911.00,A,5204.24751,N,00423.26103,E,50.309,236.39,120308,,,A*5E
+$GPRMC,125912.00,A,5204.23954,N,00423.24153,E,52.313,236.24,120308,,,A*53
+$GPRMC,125913.00,A,5204.23136,N,00423.22163,E,53.563,236.24,120308,,,A*5B
+$GPRMC,125914.00,A,5204.22294,N,00423.20144,E,54.361,235.62,120308,,,A*53
+$GPRMC,125915.00,A,5204.21405,N,00423.18097,E,55.831,234.98,120308,,,A*50
+$GPRMC,125916.00,A,5204.20491,N,00423.16032,E,56.169,233.96,120308,,,A*50
+$GPRMC,125917.00,A,5204.19535,N,00423.14017,E,55.832,231.75,120308,,,A*5A
+$GPRMC,125918.00,A,5204.18573,N,00423.12109,E,54.209,231.03,120308,,,A*5C
+$GPRMC,125919.00,A,5204.17633,N,00423.10193,E,54.003,231.83,120308,,,A*54
+$GPRMC,125920.00,A,5204.16699,N,00423.08274,E,53.956,231.52,120308,,,A*5E
+$GPRMC,125921.00,A,5204.15754,N,00423.06358,E,54.480,230.96,120308,,,A*55
+$GPRMC,125922.00,A,5204.14792,N,00423.04475,E,54.011,230.04,120308,,,A*50
+$GPRMC,125923.00,A,5204.13817,N,00423.02614,E,54.025,229.27,120308,,,A*59
+$GPRMC,125924.00,A,5204.12816,N,00423.00771,E,54.248,228.37,120308,,,A*57
+$GPRMC,125925.00,A,5204.11795,N,00422.98954,E,54.584,227.45,120308,,,A*55
+$GPRMC,125926.00,A,5204.10746,N,00422.97139,E,54.935,226.41,120308,,,A*56
+$GPRMC,125927.00,A,5204.09681,N,00422.95341,E,55.042,226.20,120308,,,A*55
+$GPRMC,125928.00,A,5204.08604,N,00422.93550,E,55.680,225.63,120308,,,A*5A
+$GPRMC,125929.00,A,5204.07458,N,00422.91834,E,55.603,223.09,120308,,,A*53
+$GPRMC,125930.00,A,5204.06290,N,00422.90143,E,56.525,221.65,120308,,,A*5C
+$GPRMC,125931.00,A,5204.05091,N,00422.88510,E,55.977,219.36,120308,,,A*53
+$GPRMC,125932.00,A,5204.03886,N,00422.86952,E,54.911,218.30,120308,,,A*5A
+$GPRMC,125933.00,A,5204.02693,N,00422.85451,E,53.773,217.20,120308,,,A*5E
+$GPRMC,125934.00,A,5204.01502,N,00422.84023,E,52.598,215.88,120308,,,A*57
+$GPRMC,125935.00,A,5204.00317,N,00422.82647,E,51.988,215.68,120308,,,A*57
+$GPRMC,125936.00,A,5203.99146,N,00422.81310,E,50.851,214.85,120308,,,A*57
+$GPRMC,125937.00,A,5203.97986,N,00422.80024,E,50.329,214.25,120308,,,A*57
+$GPRMC,125938.00,A,5203.96829,N,00422.78772,E,50.191,213.73,120308,,,A*5B
+$GPRMC,125939.00,A,5203.95670,N,00422.77529,E,50.289,213.48,120308,,,A*5A
+$GPRMC,125940.00,A,5203.94509,N,00422.76290,E,50.248,213.40,120308,,,A*59
+$GPRMC,125941.00,A,5203.93348,N,00422.75045,E,50.199,213.33,120308,,,A*5E
+$GPRMC,125942.00,A,5203.92201,N,00422.73809,E,49.456,213.17,120308,,,A*5E
+$GPRMC,125943.00,A,5203.91050,N,00422.72591,E,49.684,212.83,120308,,,A*56
+$GPRMC,125944.00,A,5203.89891,N,00422.71356,E,50.409,212.99,120308,,,A*57
+$GPRMC,125945.00,A,5203.88732,N,00422.70078,E,50.829,214.10,120308,,,A*56
+$GPRMC,125946.00,A,5203.87564,N,00422.68782,E,51.738,213.93,120308,,,A*52
+$GPRMC,125947.00,A,5203.86389,N,00422.67468,E,52.395,214.63,120308,,,A*57
+$GPRMC,125948.00,A,5203.85191,N,00422.66127,E,52.650,214.39,120308,,,A*5C
+$GPRMC,125949.00,A,5203.83976,N,00422.64796,E,53.614,213.45,120308,,,A*59
+$GPRMC,125950.00,A,5203.82731,N,00422.63479,E,54.078,212.82,120308,,,A*59
+$GPRMC,125951.00,A,5203.81461,N,00422.62125,E,55.286,213.70,120308,,,A*5E
+$GPRMC,125952.00,A,5203.80185,N,00422.60716,E,56.444,214.39,120308,,,A*56
+$GPRMC,125953.00,A,5203.78876,N,00422.59257,E,57.793,214.54,120308,,,A*5C
+$GPRMC,125954.00,A,5203.77561,N,00422.57770,E,58.287,215.00,120308,,,A*5E
+$GPRMC,125955.00,A,5203.76240,N,00422.56254,E,58.080,215.37,120308,,,A*59
+$GPRMC,125956.00,A,5203.74906,N,00422.54710,E,59.068,215.77,120308,,,A*55
+$GPRMC,125957.00,A,5203.73576,N,00422.53159,E,58.849,215.49,120308,,,A*53
+$GPRMC,125958.00,A,5203.72281,N,00422.51598,E,57.886,216.34,120308,,,A*5C
+$GPRMC,125959.00,A,5203.70986,N,00422.50040,E,58.233,216.73,120308,,,A*5A
+$GPRMC,130000.00,A,5203.69648,N,00422.48494,E,58.737,215.60,120308,,,A*5A
+$GPRMC,130001.00,A,5203.68309,N,00422.46899,E,58.998,215.88,120308,,,A*58
+$GPRMC,130002.00,A,5203.66902,N,00422.45354,E,58.937,215.50,120308,,,A*5D
+$GPRMC,130003.00,A,5203.65503,N,00422.43796,E,59.591,215.19,120308,,,A*52
+$GPRMC,130004.00,A,5203.64180,N,00422.42289,E,59.093,215.47,120308,,,A*5D
+$GPRMC,130005.00,A,5203.62840,N,00422.40769,E,58.699,215.45,120308,,,A*59
+$GPRMC,130006.00,A,5203.61430,N,00422.39232,E,59.683,215.19,120308,,,A*54
+$GPRMC,130007.00,A,5203.60061,N,00422.37686,E,59.747,215.28,120308,,,A*5A
+$GPRMC,130008.00,A,5203.58675,N,00422.36133,E,60.077,215.58,120308,,,A*5C
+$GPRMC,130009.00,A,5203.57331,N,00422.34604,E,59.280,215.45,120308,,,A*5A
+$GPRMC,130010.00,A,5203.56009,N,00422.33027,E,59.528,215.29,120308,,,A*54
+$GPRMC,130011.00,A,5203.54690,N,00422.31452,E,58.986,215.37,120308,,,A*53
+$GPRMC,130012.00,A,5203.53336,N,00422.29881,E,59.453,216.00,120308,,,A*56
+$GPRMC,130013.00,A,5203.52001,N,00422.28289,E,58.539,216.20,120308,,,A*5C
+$GPRMC,130014.00,A,5203.50697,N,00422.26719,E,57.741,216.39,120308,,,A*58
+$GPRMC,130015.00,A,5203.49413,N,00422.25160,E,57.268,216.54,120308,,,A*51
+$GPRMC,130016.00,A,5203.48130,N,00422.23614,E,57.414,216.37,120308,,,A*5D
+$GPRMC,130017.00,A,5203.46838,N,00422.22073,E,57.462,216.16,120308,,,A*57
+$GPRMC,130018.00,A,5203.45546,N,00422.20533,E,57.309,216.29,120308,,,A*5A
+$GPRMC,130019.00,A,5203.44251,N,00422.18987,E,57.700,216.38,120308,,,A*5E
+$GPRMC,130020.00,A,5203.42956,N,00422.17424,E,57.925,216.86,120308,,,A*59
+$GPRMC,130021.00,A,5203.41668,N,00422.15847,E,57.696,217.22,120308,,,A*5A
+$GPRMC,130022.00,A,5203.40395,N,00422.14277,E,57.323,217.36,120308,,,A*59
+$GPRMC,130023.00,A,5203.39138,N,00422.12709,E,56.985,217.86,120308,,,A*55
+$GPRMC,130024.00,A,5203.37896,N,00422.11137,E,56.514,218.13,120308,,,A*5E
+$GPRMC,130025.00,A,5203.36669,N,00422.09566,E,56.100,218.43,120308,,,A*5D
+$GPRMC,130026.00,A,5203.35459,N,00422.07993,E,55.689,218.98,120308,,,A*57
+$GPRMC,130027.00,A,5203.34268,N,00422.06414,E,55.297,219.75,120308,,,A*59
+$GPRMC,130028.00,A,5203.33106,N,00422.04797,E,55.087,221.16,120308,,,A*5D
+$GPRMC,130029.00,A,5203.31978,N,00422.03127,E,55.048,222.35,120308,,,A*54
+$GPRMC,130030.00,A,5203.30878,N,00422.01437,E,54.208,223.53,120308,,,A*5C
+$GPRMC,130031.00,A,5203.29828,N,00421.99703,E,54.161,225.76,120308,,,A*5B
+$GPRMC,130032.00,A,5203.28802,N,00421.97880,E,54.727,227.41,120308,,,A*59
+$GPRMC,130033.00,A,5203.27784,N,00421.96036,E,55.386,228.37,120308,,,A*52
+$GPRMC,130034.00,A,5203.26787,N,00421.94149,E,55.189,229.34,120308,,,A*53
+$GPRMC,130035.00,A,5203.25813,N,00421.92259,E,54.861,230.14,120308,,,A*53
+$GPRMC,130036.00,A,5203.24848,N,00421.90362,E,54.861,230.01,120308,,,A*50
+$GPRMC,130037.00,A,5203.23872,N,00421.88474,E,55.061,229.20,120308,,,A*54
+$GPRMC,130038.00,A,5203.22865,N,00421.86610,E,55.289,227.57,120308,,,A*58
+$GPRMC,130039.00,A,5203.21801,N,00421.84814,E,55.313,224.56,120308,,,A*50
+$GPRMC,130040.00,A,5203.20686,N,00421.83113,E,54.809,221.83,120308,,,A*5B
+$GPRMC,130041.00,A,5203.19533,N,00421.81491,E,54.904,219.33,120308,,,A*5C
+$GPRMC,130042.00,A,5203.18331,N,00421.79965,E,54.973,216.55,120308,,,A*54
+$GPRMC,130043.00,A,5203.17089,N,00421.78536,E,54.913,214.04,120308,,,A*51
+$GPRMC,130044.00,A,5203.15813,N,00421.77195,E,54.947,212.08,120308,,,A*56
+$GPRMC,130045.00,A,5203.14492,N,00421.75903,E,56.502,210.58,120308,,,A*5E
+$GPRMC,130046.00,A,5203.13123,N,00421.74603,E,58.096,210.49,120308,,,A*5D
+$GPRMC,130047.00,A,5203.11719,N,00421.73263,E,59.604,210.79,120308,,,A*5B
+$GPRMC,130048.00,A,5203.10289,N,00421.71871,E,61.003,211.50,120308,,,A*52
+$GPRMC,130049.00,A,5203.08838,N,00421.70424,E,62.027,211.87,120308,,,A*58
+$GPRMC,130050.00,A,5203.07369,N,00421.68950,E,62.659,211.55,120308,,,A*57
+$GPRMC,130051.00,A,5203.05905,N,00421.67438,E,62.740,212.84,120308,,,A*5E
+$GPRMC,130052.00,A,5203.04467,N,00421.65884,E,62.083,214.06,120308,,,A*58
+$GPRMC,130053.00,A,5203.03065,N,00421.64297,E,61.374,215.41,120308,,,A*5B
+$GPRMC,130054.00,A,5203.01695,N,00421.62656,E,61.496,217.20,120308,,,A*56
+$GPRMC,130055.00,A,5203.00341,N,00421.60965,E,61.536,217.86,120308,,,A*50
+$GPRMC,130056.00,A,5202.99000,N,00421.59256,E,61.341,218.33,120308,,,A*52
+$GPRMC,130057.00,A,5202.97681,N,00421.57535,E,60.557,219.22,120308,,,A*5F
+$GPRMC,130058.00,A,5202.96394,N,00421.55814,E,59.690,219.96,120308,,,A*51
+$GPRMC,130059.00,A,5202.95139,N,00421.54088,E,58.771,220.84,120308,,,A*5C
+$GPRMC,130100.00,A,5202.93924,N,00421.52361,E,57.566,221.80,120308,,,A*5F
+$GPRMC,130101.00,A,5202.92758,N,00421.50631,E,56.206,223.25,120308,,,A*55
+$GPRMC,130102.00,A,5202.91652,N,00421.48911,E,54.417,224.61,120308,,,A*59
+$GPRMC,130103.00,A,5202.90610,N,00421.47176,E,53.256,225.72,120308,,,A*5E
+$GPRMC,130104.00,A,5202.89611,N,00421.45442,E,52.184,227.67,120308,,,A*5B
+$GPRMC,130105.00,A,5202.88674,N,00421.43676,E,51.441,230.49,120308,,,A*5E
+$GPRMC,130106.00,A,5202.87789,N,00421.41869,E,51.132,232.40,120308,,,A*59
+$GPRMC,130107.00,A,5202.86973,N,00421.39964,E,51.689,235.43,120308,,,A*52
+$GPRMC,130108.00,A,5202.86203,N,00421.38011,E,50.979,237.65,120308,,,A*5C
+$GPRMC,130109.00,A,5202.85500,N,00421.36042,E,50.391,240.43,120308,,,A*5A
+$GPRMC,130110.00,A,5202.84865,N,00421.34091,E,48.476,242.58,120308,,,A*5E
+$GPRMC,130111.00,A,5202.84299,N,00421.32148,E,47.339,244.62,120308,,,A*59
+$GPRMC,130112.00,A,5202.83773,N,00421.30214,E,47.100,247.57,120308,,,A*59
+$GPRMC,130113.00,A,5202.83313,N,00421.28217,E,47.889,249.91,120308,,,A*5C
+$GPRMC,130114.00,A,5202.82907,N,00421.26137,E,48.716,252.64,120308,,,A*5C
+$GPRMC,130115.00,A,5202.82540,N,00421.24003,E,49.927,254.40,120308,,,A*5B
+$GPRMC,130116.00,A,5202.82202,N,00421.21819,E,50.427,256.77,120308,,,A*5C
+$GPRMC,130117.00,A,5202.81917,N,00421.19577,E,50.925,259.01,120308,,,A*5E
+$GPRMC,130118.00,A,5202.81674,N,00421.17298,E,51.255,260.08,120308,,,A*5D
+$GPRMC,130119.00,A,5202.81447,N,00421.15009,E,51.074,260.45,120308,,,A*5E
+$GPRMC,130120.00,A,5202.81216,N,00421.12752,E,50.351,259.80,120308,,,A*5E
+$GPRMC,130121.00,A,5202.80961,N,00421.10566,E,49.126,258.58,120308,,,A*5C
+$GPRMC,130122.00,A,5202.80681,N,00421.08427,E,48.036,256.75,120308,,,A*53
+$GPRMC,130123.00,A,5202.80363,N,00421.06354,E,47.280,254.56,120308,,,A*55
+$GPRMC,130124.00,A,5202.80004,N,00421.04307,E,47.415,253.72,120308,,,A*5F
+$GPRMC,130125.00,A,5202.79566,N,00421.02323,E,46.385,250.02,120308,,,A*52
+$GPRMC,130126.00,A,5202.79017,N,00421.00448,E,45.846,244.74,120308,,,A*59
+$GPRMC,130127.00,A,5202.78389,N,00420.98660,E,45.467,240.32,120308,,,A*5C
+$GPRMC,130128.00,A,5202.77648,N,00420.96937,E,46.320,234.12,120308,,,A*51
+$GPRMC,130129.00,A,5202.76828,N,00420.95240,E,48.295,231.73,120308,,,A*52
+$GPRMC,130130.00,A,5202.75869,N,00420.93606,E,48.850,227.82,120308,,,A*56
+$GPRMC,130131.00,A,5202.74873,N,00420.92107,E,48.635,223.69,120308,,,A*56
+$GPRMC,130132.00,A,5202.73857,N,00420.90652,E,48.558,219.72,120308,,,A*5A
+$GPRMC,130133.00,A,5202.72778,N,00420.89328,E,48.909,215.52,120308,,,A*5E
+$GPRMC,130134.00,A,5202.71634,N,00420.88130,E,49.130,211.10,120308,,,A*58
+$GPRMC,130135.00,A,5202.70433,N,00420.87098,E,48.866,207.06,120308,,,A*5A
+$GPRMC,130136.00,A,5202.69223,N,00420.86186,E,47.647,204.33,120308,,,A*5E
+$GPRMC,130137.00,A,5202.67970,N,00420.85424,E,48.591,200.48,120308,,,A*5D
+$GPRMC,130138.00,A,5202.66613,N,00420.84905,E,49.975,194.92,120308,,,A*58
+$GPRMC,130139.00,A,5202.65193,N,00420.84451,E,50.857,190.84,120308,,,A*53
+$GPRMC,130140.00,A,5202.63828,N,00420.84152,E,50.037,187.24,120308,,,A*56
+$GPRMC,130141.00,A,5202.62431,N,00420.84104,E,50.718,181.58,120308,,,A*56
+$GPRMC,130142.00,A,5202.61007,N,00420.84222,E,51.262,177.58,120308,,,A*50
+$GPRMC,130143.00,A,5202.59563,N,00420.84480,E,51.345,173.31,120308,,,A*5C
+$GPRMC,130144.00,A,5202.58152,N,00420.84768,E,51.012,172.81,120308,,,A*52
+$GPRMC,130145.00,A,5202.56794,N,00420.85207,E,49.870,168.68,120308,,,A*55
+$GPRMC,130146.00,A,5202.55521,N,00420.85847,E,48.297,164.04,120308,,,A*53
+$GPRMC,130147.00,A,5202.54221,N,00420.86832,E,50.648,157.62,120308,,,A*5A
+$GPRMC,130148.00,A,5202.52912,N,00420.88007,E,51.609,153.16,120308,,,A*5B
+$GPRMC,130149.00,A,5202.51625,N,00420.89358,E,53.582,148.07,120308,,,A*52
+$GPRMC,130150.00,A,5202.50351,N,00420.90997,E,56.349,144.56,120308,,,A*50
+$GPRMC,130151.00,A,5202.49084,N,00420.92666,E,57.379,141.83,120308,,,A*5E
+$GPRMC,130152.00,A,5202.47807,N,00420.94430,E,57.110,140.23,120308,,,A*51
+$GPRMC,130153.00,A,5202.46532,N,00420.96209,E,58.248,139.77,120308,,,A*5A
+$GPRMC,130154.00,A,5202.45267,N,00420.97966,E,58.860,140.36,120308,,,A*51
+$GPRMC,130155.00,A,5202.43986,N,00420.99696,E,59.378,141.74,120308,,,A*58
+$GPRMC,130156.00,A,5202.42660,N,00421.01370,E,59.905,143.65,120308,,,A*52
+$GPRMC,130157.00,A,5202.41278,N,00421.02972,E,60.411,145.52,120308,,,A*56
+$GPRMC,130158.00,A,5202.39876,N,00421.04457,E,59.670,147.76,120308,,,A*55
+$GPRMC,130159.00,A,5202.38460,N,00421.05862,E,59.234,149.48,120308,,,A*52
+$GPRMC,130200.00,A,5202.37023,N,00421.07102,E,58.470,152.44,120308,,,A*5D
+$GPRMC,130201.00,A,5202.35595,N,00421.08195,E,56.290,154.67,120308,,,A*56
+$GPRMC,130202.00,A,5202.34153,N,00421.09237,E,55.999,156.86,120308,,,A*5C
+$GPRMC,130203.00,A,5202.32697,N,00421.10173,E,55.684,158.96,120308,,,A*53
+$GPRMC,130204.00,A,5202.31198,N,00421.11044,E,56.135,160.98,120308,,,A*50
+$GPRMC,130205.00,A,5202.29660,N,00421.11752,E,55.765,164.00,120308,,,A*5D
+$GPRMC,130206.00,A,5202.28174,N,00421.12308,E,55.400,166.52,120308,,,A*50
+$GPRMC,130207.00,A,5202.26650,N,00421.12855,E,57.164,167.91,120308,,,A*56
+$GPRMC,130208.00,A,5202.25083,N,00421.13340,E,57.999,169.54,120308,,,A*51
+$GPRMC,130209.00,A,5202.23479,N,00421.13814,E,58.545,170.08,120308,,,A*5E
+$GPRMC,130210.00,A,5202.21882,N,00421.14248,E,58.166,169.75,120308,,,A*5F
+$GPRMC,130211.00,A,5202.20314,N,00421.14674,E,57.116,169.84,120308,,,A*56
+$GPRMC,130212.00,A,5202.18769,N,00421.15085,E,56.009,170.11,120308,,,A*53
+$GPRMC,130213.00,A,5202.17244,N,00421.15491,E,55.025,170.27,120308,,,A*5E
+$GPRMC,130214.00,A,5202.15755,N,00421.15895,E,54.061,169.94,120308,,,A*57
+$GPRMC,130215.00,A,5202.14298,N,00421.16285,E,52.907,170.16,120308,,,A*56
+$GPRMC,130216.00,A,5202.12882,N,00421.16637,E,51.166,170.87,120308,,,A*5B
+$GPRMC,130217.00,A,5202.11472,N,00421.17004,E,51.200,170.37,120308,,,A*55
+$GPRMC,130218.00,A,5202.10075,N,00421.17381,E,50.556,170.23,120308,,,A*56
+$GPRMC,130219.00,A,5202.08698,N,00421.17717,E,50.180,171.16,120308,,,A*58
+$GPRMC,130220.00,A,5202.07322,N,00421.18089,E,50.434,169.69,120308,,,A*5D
+$GPRMC,130221.00,A,5202.05971,N,00421.18469,E,49.709,169.73,120308,,,A*56
+$GPRMC,130222.00,A,5202.04621,N,00421.18848,E,49.579,169.46,120308,,,A*52
+$GPRMC,130223.00,A,5202.03280,N,00421.19223,E,49.025,168.95,120308,,,A*5E
+$GPRMC,130224.00,A,5202.01987,N,00421.19649,E,47.918,168.10,120308,,,A*5B
+$GPRMC,130225.00,A,5202.00707,N,00421.20123,E,47.906,166.50,120308,,,A*59
+$GPRMC,130226.00,A,5201.99420,N,00421.20685,E,48.821,165.03,120308,,,A*5A
+$GPRMC,130227.00,A,5201.98107,N,00421.21301,E,49.842,163.78,120308,,,A*5C
+$GPRMC,130228.00,A,5201.96785,N,00421.21945,E,49.909,162.67,120308,,,A*5A
+$GPRMC,130229.00,A,5201.95444,N,00421.22650,E,50.835,161.58,120308,,,A*57
+$GPRMC,130230.00,A,5201.94159,N,00421.23418,E,49.842,159.82,120308,,,A*5C
+$GPRMC,130231.00,A,5201.92870,N,00421.24257,E,49.651,158.26,120308,,,A*50
+$GPRMC,130232.00,A,5201.91576,N,00421.25147,E,50.120,156.35,120308,,,A*5D
+$GPRMC,130233.00,A,5201.90277,N,00421.26127,E,51.326,155.05,120308,,,A*5B
+$GPRMC,130234.00,A,5201.88955,N,00421.27185,E,52.415,153.71,120308,,,A*56
+$GPRMC,130235.00,A,5201.87655,N,00421.28293,E,52.471,151.70,120308,,,A*5D
+$GPRMC,130236.00,A,5201.86387,N,00421.29449,E,51.934,150.11,120308,,,A*5C
+$GPRMC,130237.00,A,5201.85161,N,00421.30668,E,51.198,148.54,120308,,,A*5B
+$GPRMC,130238.00,A,5201.83966,N,00421.31910,E,50.715,147.50,120308,,,A*55
+$GPRMC,130239.00,A,5201.82800,N,00421.33148,E,49.720,146.37,120308,,,A*5D
+$GPRMC,130240.00,A,5201.81638,N,00421.34413,E,50.164,145.72,120308,,,A*55
+$GPRMC,130241.00,A,5201.80490,N,00421.35708,E,50.321,145.08,120308,,,A*53
+$GPRMC,130242.00,A,5201.79392,N,00421.37045,E,49.664,143.22,120308,,,A*5D
+$GPRMC,130243.00,A,5201.78296,N,00421.38392,E,50.368,144.01,120308,,,A*59
+$GPRMC,130244.00,A,5201.77191,N,00421.39731,E,50.609,144.30,120308,,,A*59
+$GPRMC,130245.00,A,5201.76053,N,00421.41074,E,51.347,144.56,120308,,,A*51
+$GPRMC,130246.00,A,5201.74855,N,00421.42504,E,53.010,143.54,120308,,,A*59
+$GPRMC,130247.00,A,5201.73629,N,00421.43952,E,54.309,144.29,120308,,,A*55
+$GPRMC,130248.00,A,5201.72396,N,00421.45394,E,55.166,144.36,120308,,,A*58
+$GPRMC,130249.00,A,5201.71138,N,00421.46861,E,55.112,144.38,120308,,,A*53
+$GPRMC,130250.00,A,5201.69885,N,00421.48335,E,55.721,144.16,120308,,,A*53
+$GPRMC,130251.00,A,5201.68671,N,00421.49778,E,54.140,143.97,120308,,,A*54
+$GPRMC,130252.00,A,5201.67467,N,00421.51217,E,53.628,143.97,120308,,,A*56
+$GPRMC,130253.00,A,5201.66221,N,00421.52700,E,54.909,144.13,120308,,,A*52
+$GPRMC,130254.00,A,5201.64942,N,00421.54205,E,55.968,144.15,120308,,,A*5F
+$GPRMC,130255.00,A,5201.63676,N,00421.55690,E,55.399,144.34,120308,,,A*5F
+$GPRMC,130256.00,A,5201.62417,N,00421.57150,E,54.645,144.45,120308,,,A*52
+$GPRMC,130257.00,A,5201.61190,N,00421.58584,E,54.131,144.30,120308,,,A*5E
+$GPRMC,130258.00,A,5201.59958,N,00421.60021,E,54.212,144.15,120308,,,A*52
+$GPRMC,130259.00,A,5201.58714,N,00421.61471,E,55.248,144.28,120308,,,A*54
+$GPRMC,130300.00,A,5201.57460,N,00421.62896,E,54.951,145.40,120308,,,A*5D
+$GPRMC,130301.00,A,5201.56203,N,00421.64359,E,55.487,144.22,120308,,,A*52
+$GPRMC,130302.00,A,5201.54986,N,00421.65829,E,54.546,143.40,120308,,,A*56
+$GPRMC,130303.00,A,5201.53761,N,00421.67288,E,54.876,143.82,120308,,,A*54
+$GPRMC,130304.00,A,5201.52512,N,00421.68744,E,55.567,144.35,120308,,,A*59
+$GPRMC,130305.00,A,5201.51272,N,00421.70208,E,55.280,144.22,120308,,,A*56
+$GPRMC,130306.00,A,5201.50037,N,00421.71642,E,55.117,144.22,120308,,,A*51
+$GPRMC,130307.00,A,5201.48755,N,00421.73122,E,56.285,144.53,120308,,,A*54
+$GPRMC,130308.00,A,5201.47449,N,00421.74619,E,57.679,144.64,120308,,,A*50
+$GPRMC,130309.00,A,5201.46146,N,00421.76144,E,58.053,144.07,120308,,,A*53
+$GPRMC,130310.00,A,5201.44880,N,00421.77708,E,57.524,142.97,120308,,,A*50
+$GPRMC,130311.00,A,5201.43521,N,00421.79350,E,59.325,143.90,120308,,,A*58
+$GPRMC,130312.00,A,5201.42157,N,00421.80957,E,59.872,144.14,120308,,,A*56
+$GPRMC,130313.00,A,5201.40806,N,00421.82570,E,59.728,144.09,120308,,,A*5F
+$GPRMC,130314.00,A,5201.39492,N,00421.84155,E,58.296,143.57,120308,,,A*5F
+$GPRMC,130315.00,A,5201.38150,N,00421.85696,E,58.741,144.76,120308,,,A*56
+$GPRMC,130316.00,A,5201.36826,N,00421.87243,E,58.454,144.76,120308,,,A*5A
+$GPRMC,130317.00,A,5201.35517,N,00421.88785,E,57.957,144.14,120308,,,A*52
+$GPRMC,130318.00,A,5201.34236,N,00421.90295,E,56.555,144.46,120308,,,A*5D
+$GPRMC,130319.00,A,5201.33009,N,00421.91717,E,52.567,144.57,120308,,,A*5E
+$GPRMC,130320.00,A,5201.31856,N,00421.93057,E,50.213,144.35,120308,,,A*57
+$GPRMC,130321.00,A,5201.30737,N,00421.94350,E,49.139,144.31,120308,,,A*5B
+$GPRMC,130322.00,A,5201.29640,N,00421.95626,E,48.650,144.23,120308,,,A*5E
+$GPRMC,130323.00,A,5201.28544,N,00421.96912,E,49.016,143.99,120308,,,A*51
+$GPRMC,130324.00,A,5201.27436,N,00421.98195,E,49.268,144.02,120308,,,A*5A
+$GPRMC,130325.00,A,5201.26337,N,00421.99482,E,49.183,144.16,120308,,,A*5D
+$GPRMC,130326.00,A,5201.25210,N,00422.00776,E,50.100,144.29,120308,,,A*5D
+$GPRMC,130327.00,A,5201.24069,N,00422.02095,E,50.996,144.41,120308,,,A*50
+$GPRMC,130328.00,A,5201.22910,N,00422.03447,E,51.936,144.02,120308,,,A*58
+$GPRMC,130329.00,A,5201.21719,N,00422.04831,E,52.986,144.37,120308,,,A*59
+$GPRMC,130330.00,A,5201.20507,N,00422.06211,E,53.653,145.15,120308,,,A*50
+$GPRMC,130331.00,A,5201.19286,N,00422.07602,E,53.921,144.48,120308,,,A*51
+$GPRMC,130332.00,A,5201.18070,N,00422.09018,E,54.011,144.17,120308,,,A*5C
+$GPRMC,130333.00,A,5201.16850,N,00422.10440,E,54.011,144.16,120308,,,A*59
+$GPRMC,130334.00,A,5201.15625,N,00422.11876,E,55.000,144.20,120308,,,A*5D
+$GPRMC,130335.00,A,5201.14378,N,00422.13341,E,55.736,144.19,120308,,,A*55
+$GPRMC,130336.00,A,5201.13114,N,00422.14813,E,56.375,144.42,120308,,,A*5C
+$GPRMC,130337.00,A,5201.11825,N,00422.16263,E,56.872,145.33,120308,,,A*50
+$GPRMC,130338.00,A,5201.10544,N,00422.17760,E,56.910,144.04,120308,,,A*53
+$GPRMC,130339.00,A,5201.09268,N,00422.19225,E,55.895,144.56,120308,,,A*51
+$GPRMC,130340.00,A,5201.08005,N,00422.20669,E,55.191,144.74,120308,,,A*5C
+$GPRMC,130341.00,A,5201.06780,N,00422.22086,E,54.203,144.58,120308,,,A*5B
+$GPRMC,130342.00,A,5201.05557,N,00422.23474,E,53.767,144.91,120308,,,A*5E
+$GPRMC,130343.00,A,5201.04354,N,00422.24883,E,53.573,144.34,120308,,,A*50
+$GPRMC,130344.00,A,5201.03151,N,00422.26300,E,53.993,144.05,120308,,,A*55
+$GPRMC,130345.00,A,5201.01949,N,00422.27742,E,54.227,143.60,120308,,,A*53
+$GPRMC,130346.00,A,5201.00728,N,00422.29189,E,54.877,143.86,120308,,,A*50
+$GPRMC,130347.00,A,5200.99497,N,00422.30653,E,55.316,144.40,120308,,,A*5F
+$GPRMC,130348.00,A,5200.98255,N,00422.32113,E,55.222,143.80,120308,,,A*55
+$GPRMC,130349.00,A,5200.97038,N,00422.33529,E,53.761,144.41,120308,,,A*50
+$GPRMC,130350.00,A,5200.95837,N,00422.34924,E,52.900,144.45,120308,,,A*57
+$GPRMC,130351.00,A,5200.94644,N,00422.36290,E,52.467,144.80,120308,,,A*5E
+$GPRMC,130352.00,A,5200.93470,N,00422.37633,E,51.440,144.54,120308,,,A*5C
+$GPRMC,130353.00,A,5200.92328,N,00422.38982,E,50.690,143.61,120308,,,A*53
+$GPRMC,130354.00,A,5200.91189,N,00422.40310,E,50.599,144.44,120308,,,A*5A
+$GPRMC,130355.00,A,5200.90065,N,00422.41640,E,50.158,144.40,120308,,,A*55
+$GPRMC,130356.00,A,5200.88952,N,00422.42976,E,50.093,143.87,120308,,,A*51
+$GPRMC,130357.00,A,5200.87827,N,00422.44330,E,51.217,143.96,120308,,,A*5D
+$GPRMC,130358.00,A,5200.86679,N,00422.45684,E,51.163,144.24,120308,,,A*53
+$GPRMC,130359.00,A,5200.85522,N,00422.47035,E,51.691,144.25,120308,,,A*59
+$GPRMC,130400.00,A,5200.84340,N,00422.48407,E,52.637,144.33,120308,,,A*53
+$GPRMC,130401.00,A,5200.83143,N,00422.49794,E,53.026,144.32,120308,,,A*5A
+$GPRMC,130402.00,A,5200.81930,N,00422.51200,E,53.724,144.08,120308,,,A*5A
+$GPRMC,130403.00,A,5200.80708,N,00422.52626,E,54.481,144.18,120308,,,A*56
+$GPRMC,130404.00,A,5200.79467,N,00422.54070,E,55.434,144.35,120308,,,A*5E
+$GPRMC,130405.00,A,5200.78204,N,00422.55526,E,55.761,144.42,120308,,,A*59
+$GPRMC,130406.00,A,5200.76962,N,00422.56992,E,54.938,143.88,120308,,,A*5D
+$GPRMC,130407.00,A,5200.75678,N,00422.58472,E,57.283,144.71,120308,,,A*5F
+$GPRMC,130408.00,A,5200.74414,N,00422.59984,E,56.362,143.51,120308,,,A*56
+$GPRMC,130409.00,A,5200.73175,N,00422.61491,E,55.644,143.78,120308,,,A*59
+$GPRMC,130410.00,A,5200.71942,N,00422.62973,E,54.751,143.97,120308,,,A*58
+$GPRMC,130411.00,A,5200.70726,N,00422.64423,E,53.859,144.07,120308,,,A*54
+$GPRMC,130412.00,A,5200.69524,N,00422.65845,E,53.220,144.21,120308,,,A*52
+$GPRMC,130413.00,A,5200.68351,N,00422.67263,E,53.096,144.29,120308,,,A*5D
+$GPRMC,130414.00,A,5200.67137,N,00422.68642,E,53.034,144.29,120308,,,A*57
+$GPRMC,130415.00,A,5200.65937,N,00422.70031,E,52.897,144.18,120308,,,A*55
+$GPRMC,130416.00,A,5200.64725,N,00422.71420,E,53.669,144.31,120308,,,A*5A
+$GPRMC,130417.00,A,5200.63504,N,00422.72832,E,54.510,144.43,120308,,,A*5E
+$GPRMC,130418.00,A,5200.62250,N,00422.74269,E,55.639,144.28,120308,,,A*50
+$GPRMC,130419.00,A,5200.60981,N,00422.75736,E,56.167,144.11,120308,,,A*5F
+$GPRMC,130420.00,A,5200.59707,N,00422.77206,E,56.110,144.16,120308,,,A*5C
+$GPRMC,130421.00,A,5200.58438,N,00422.78673,E,55.949,144.19,120308,,,A*52
+$GPRMC,130422.00,A,5200.57165,N,00422.80145,E,56.331,144.26,120308,,,A*5C
+$GPRMC,130423.00,A,5200.55889,N,00422.81626,E,56.499,144.26,120308,,,A*52
+$GPRMC,130424.00,A,5200.54601,N,00422.83115,E,57.265,144.50,120308,,,A*5A
+$GPRMC,130425.00,A,5200.53297,N,00422.84606,E,57.517,144.67,120308,,,A*53
+$GPRMC,130426.00,A,5200.51989,N,00422.86095,E,57.369,144.66,120308,,,A*56
+$GPRMC,130427.00,A,5200.50680,N,00422.87596,E,57.934,144.28,120308,,,A*5F
+$GPRMC,130428.00,A,5200.49354,N,00422.89134,E,59.143,143.93,120308,,,A*57
+$GPRMC,130429.00,A,5200.47993,N,00422.90724,E,60.913,143.92,120308,,,A*50
+$GPRMC,130430.00,A,5200.46595,N,00422.92345,E,62.346,144.43,120308,,,A*51
+$GPRMC,130431.00,A,5200.45169,N,00422.93982,E,63.199,144.48,120308,,,A*5E
+$GPRMC,130432.00,A,5200.43732,N,00422.95649,E,64.053,144.17,120308,,,A*57
+$GPRMC,130433.00,A,5200.42276,N,00422.97334,E,64.601,144.63,120308,,,A*5D
+$GPRMC,130434.00,A,5200.40821,N,00422.99017,E,64.082,144.12,120308,,,A*57
+$GPRMC,130435.00,A,5200.39362,N,00423.00684,E,64.073,144.83,120308,,,A*5F
+$GPRMC,130436.00,A,5200.37899,N,00423.02333,E,63.694,145.30,120308,,,A*57
+$GPRMC,130437.00,A,5200.36443,N,00423.03949,E,63.223,145.91,120308,,,A*59
+$GPRMC,130438.00,A,5200.34976,N,00423.05520,E,62.953,147.02,120308,,,A*5F
+$GPRMC,130439.00,A,5200.33484,N,00423.07020,E,62.972,148.63,120308,,,A*55
+$GPRMC,130440.00,A,5200.31955,N,00423.08436,E,63.013,150.69,120308,,,A*58
+$GPRMC,130441.00,A,5200.30393,N,00423.09775,E,63.240,152.73,120308,,,A*50
+$GPRMC,130442.00,A,5200.28821,N,00423.10943,E,62.020,155.65,120308,,,A*5E
+$GPRMC,130443.00,A,5200.27223,N,00423.12038,E,61.544,156.62,120308,,,A*5F
+$GPRMC,130444.00,A,5200.25633,N,00423.13019,E,61.071,158.95,120308,,,A*58
+$GPRMC,130445.00,A,5200.24017,N,00423.14048,E,63.032,158.72,120308,,,A*57
+$GPRMC,130446.00,A,5200.22389,N,00423.15016,E,62.629,159.69,120308,,,A*5A
+$GPRMC,130447.00,A,5200.20689,N,00423.15855,E,64.235,162.61,120308,,,A*5C
+$GPRMC,130448.00,A,5200.18939,N,00423.16625,E,64.792,164.41,120308,,,A*5A
+$GPRMC,130449.00,A,5200.17179,N,00423.17371,E,65.532,165.36,120308,,,A*55
+$GPRMC,130450.00,A,5200.15396,N,00423.18117,E,66.297,165.39,120308,,,A*55
+$GPRMC,130451.00,A,5200.13609,N,00423.18859,E,66.525,165.59,120308,,,A*5A
+$GPRMC,130452.00,A,5200.11813,N,00423.19559,E,66.564,165.43,120308,,,A*5C
+$GPRMC,130453.00,A,5200.09994,N,00423.20326,E,67.595,164.57,120308,,,A*55
+$GPRMC,130454.00,A,5200.08212,N,00423.21052,E,66.603,165.21,120308,,,A*5A
+$GPRMC,130455.00,A,5200.06425,N,00423.21767,E,66.286,165.61,120308,,,A*5B
+$GPRMC,130456.00,A,5200.04638,N,00423.22538,E,65.999,164.63,120308,,,A*5A
+$GPRMC,130457.00,A,5200.02859,N,00423.23294,E,65.639,165.40,120308,,,A*51
+$GPRMC,130458.00,A,5200.01096,N,00423.23994,E,64.651,166.43,120308,,,A*52
+$GPRMC,130459.00,A,5159.99347,N,00423.24715,E,64.625,165.68,120308,,,A*5B
+$GPRMC,130500.00,A,5159.97626,N,00423.25480,E,63.675,164.72,120308,,,A*5C
+$GPRMC,130501.00,A,5159.95963,N,00423.26231,E,61.614,164.69,120308,,,A*51
+$GPRMC,130502.00,A,5159.94323,N,00423.27014,E,60.819,163.92,120308,,,A*58
+$GPRMC,130503.00,A,5159.92714,N,00423.27798,E,60.108,163.89,120308,,,A*5F
+$GPRMC,130504.00,A,5159.91115,N,00423.28608,E,60.226,163.51,120308,,,A*51
+$GPRMC,130505.00,A,5159.89516,N,00423.29417,E,60.650,163.42,120308,,,A*54
+$GPRMC,130506.00,A,5159.87894,N,00423.30195,E,61.553,163.90,120308,,,A*57
+$GPRMC,130507.00,A,5159.86244,N,00423.30938,E,61.426,164.23,120308,,,A*53
+$GPRMC,130508.00,A,5159.84600,N,00423.31614,E,61.522,165.13,120308,,,A*5D
+$GPRMC,130509.00,A,5159.82945,N,00423.32312,E,61.681,164.39,120308,,,A*57
+$GPRMC,130510.00,A,5159.81238,N,00423.33080,E,64.051,164.27,120308,,,A*55
+$GPRMC,130511.00,A,5159.79481,N,00423.33768,E,65.187,165.67,120308,,,A*58
+$GPRMC,130512.00,A,5159.77726,N,00423.34476,E,66.448,165.51,120308,,,A*50
+$GPRMC,130513.00,A,5159.75963,N,00423.35177,E,66.556,165.37,120308,,,A*57
+$GPRMC,130514.00,A,5159.74177,N,00423.35916,E,67.076,165.38,120308,,,A*5A
+$GPRMC,130515.00,A,5159.72383,N,00423.36698,E,66.817,164.80,120308,,,A*52
+$GPRMC,130516.00,A,5159.70592,N,00423.37417,E,66.963,165.50,120308,,,A*5F
+$GPRMC,130517.00,A,5159.68789,N,00423.38156,E,67.042,165.26,120308,,,A*5A
+$GPRMC,130518.00,A,5159.66993,N,00423.38934,E,67.276,165.15,120308,,,A*57
+$GPRMC,130519.00,A,5159.65201,N,00423.39718,E,67.424,165.30,120308,,,A*52
+$GPRMC,130520.00,A,5159.63402,N,00423.40470,E,67.098,164.99,120308,,,A*59
+$GPRMC,130521.00,A,5159.61608,N,00423.41212,E,66.483,165.08,120308,,,A*57
+$GPRMC,130522.00,A,5159.59839,N,00423.41945,E,65.588,165.11,120308,,,A*5B
+$GPRMC,130523.00,A,5159.58097,N,00423.42689,E,64.881,165.20,120308,,,A*5C
+$GPRMC,130524.00,A,5159.56366,N,00423.43430,E,64.293,165.13,120308,,,A*50
+$GPRMC,130525.00,A,5159.54644,N,00423.44200,E,64.282,164.59,120308,,,A*5B
+$GPRMC,130526.00,A,5159.52926,N,00423.44948,E,64.187,165.38,120308,,,A*52
+$GPRMC,130527.00,A,5159.51224,N,00423.45678,E,63.450,165.04,120308,,,A*53
+$GPRMC,130528.00,A,5159.49536,N,00423.46397,E,63.316,165.46,120308,,,A*55
+$GPRMC,130529.00,A,5159.47837,N,00423.47100,E,63.753,165.72,120308,,,A*59
+$GPRMC,130530.00,A,5159.46131,N,00423.47781,E,63.760,166.22,120308,,,A*56
+$GPRMC,130531.00,A,5159.44424,N,00423.48451,E,63.569,166.61,120308,,,A*59
+$GPRMC,130532.00,A,5159.42739,N,00423.49112,E,62.439,166.48,120308,,,A*5E
+$GPRMC,130533.00,A,5159.41121,N,00423.49715,E,59.058,166.60,120308,,,A*53
+$GPRMC,130534.00,A,5159.39651,N,00423.50268,E,52.851,166.20,120308,,,A*52
+$GPRMC,130535.00,A,5159.38359,N,00423.50795,E,47.068,165.65,120308,,,A*5C
+$GPRMC,130536.00,A,5159.37192,N,00423.51271,E,43.259,165.69,120308,,,A*53
+$GPRMC,130537.00,A,5159.36055,N,00423.51745,E,42.276,165.89,120308,,,A*59
+$GPRMC,130538.00,A,5159.34940,N,00423.52218,E,42.415,165.20,120308,,,A*57
+$GPRMC,130539.00,A,5159.33797,N,00423.52718,E,43.957,164.76,120308,,,A*58
+$GPRMC,130540.00,A,5159.32602,N,00423.53336,E,45.787,163.24,120308,,,A*56
+$GPRMC,130541.00,A,5159.31373,N,00423.53983,E,47.293,162.27,120308,,,A*53
+$GPRMC,130542.00,A,5159.30092,N,00423.54631,E,49.061,163.31,120308,,,A*5B
+$GPRMC,130543.00,A,5159.28766,N,00423.55246,E,51.051,164.21,120308,,,A*56
+$GPRMC,130544.00,A,5159.27389,N,00423.55846,E,52.442,164.87,120308,,,A*58
+$GPRMC,130545.00,A,5159.25972,N,00423.56441,E,52.816,165.11,120308,,,A*5E
+$GPRMC,130546.00,A,5159.24554,N,00423.57037,E,51.998,165.43,120308,,,A*53
+$GPRMC,130547.00,A,5159.23161,N,00423.57611,E,51.368,165.46,120308,,,A*55
+$GPRMC,130548.00,A,5159.21815,N,00423.58169,E,49.053,165.36,120308,,,A*50
+$GPRMC,130549.00,A,5159.20521,N,00423.58727,E,47.161,164.24,120308,,,A*5A
+$GPRMC,130550.00,A,5159.19333,N,00423.59228,E,43.859,164.77,120308,,,A*56
+$GPRMC,130551.00,A,5159.18246,N,00423.59645,E,40.995,165.79,120308,,,A*57
+$GPRMC,130552.00,A,5159.17143,N,00423.60088,E,41.185,165.58,120308,,,A*5B
+$GPRMC,130553.00,A,5159.16052,N,00423.60531,E,40.559,165.57,120308,,,A*56
+$GPRMC,130554.00,A,5159.14975,N,00423.60967,E,40.390,165.80,120308,,,A*59
+$GPRMC,130555.00,A,5159.13888,N,00423.61430,E,40.583,165.15,120308,,,A*5A
+$GPRMC,130556.00,A,5159.12801,N,00423.61917,E,40.437,165.11,120308,,,A*5B
+$GPRMC,130557.00,A,5159.11716,N,00423.62382,E,40.751,165.69,120308,,,A*59
+$GPRMC,130558.00,A,5159.10616,N,00423.62840,E,41.875,165.22,120308,,,A*54
+$GPRMC,130559.00,A,5159.09471,N,00423.63343,E,43.270,165.08,120308,,,A*52
+$GPRMC,130600.00,A,5159.08289,N,00423.63865,E,44.745,164.88,120308,,,A*5F
+$GPRMC,130601.00,A,5159.07073,N,00423.64414,E,45.512,164.99,120308,,,A*5A
+$GPRMC,130602.00,A,5159.05841,N,00423.64951,E,46.135,165.29,120308,,,A*56
+$GPRMC,130603.00,A,5159.04616,N,00423.65469,E,45.343,165.69,120308,,,A*59
+$GPRMC,130604.00,A,5159.03389,N,00423.66002,E,45.700,165.13,120308,,,A*5E
+$GPRMC,130605.00,A,5159.02161,N,00423.66525,E,45.818,165.31,120308,,,A*5C
+$GPRMC,130606.00,A,5159.00913,N,00423.67038,E,46.699,165.52,120308,,,A*59
+$GPRMC,130607.00,A,5158.99677,N,00423.67535,E,46.171,166.04,120308,,,A*5D
+$GPRMC,130608.00,A,5158.98421,N,00423.68078,E,47.141,165.45,120308,,,A*55
+$GPRMC,130609.00,A,5158.97135,N,00423.68660,E,47.449,164.36,120308,,,A*5C
+$GPRMC,130610.00,A,5158.95866,N,00423.69213,E,47.377,164.96,120308,,,A*58
+$GPRMC,130611.00,A,5158.94584,N,00423.69776,E,47.906,164.68,120308,,,A*52
+$GPRMC,130612.00,A,5158.93294,N,00423.70318,E,48.137,165.70,120308,,,A*59
+$GPRMC,130613.00,A,5158.91979,N,00423.70864,E,49.014,165.70,120308,,,A*53
+$GPRMC,130614.00,A,5158.90652,N,00423.71402,E,49.565,165.42,120308,,,A*5C
+$GPRMC,130615.00,A,5158.89312,N,00423.71957,E,50.079,165.31,120308,,,A*5D
+$GPRMC,130616.00,A,5158.87952,N,00423.72493,E,50.748,165.43,120308,,,A*58
+$GPRMC,130617.00,A,5158.86586,N,00423.73031,E,51.187,165.54,120308,,,A*52
+$GPRMC,130618.00,A,5158.85212,N,00423.73569,E,51.282,166.26,120308,,,A*5C
+$GPRMC,130619.00,A,5158.83813,N,00423.74077,E,52.565,167.37,120308,,,A*51
+$GPRMC,130620.00,A,5158.82371,N,00423.74581,E,54.087,167.20,120308,,,A*50
+$GPRMC,130621.00,A,5158.80897,N,00423.75116,E,54.658,166.62,120308,,,A*58
+$GPRMC,130622.00,A,5158.79415,N,00423.75685,E,54.517,165.87,120308,,,A*56
+$GPRMC,130623.00,A,5158.77967,N,00423.76273,E,53.822,165.44,120308,,,A*5C
+$GPRMC,130624.00,A,5158.76539,N,00423.76871,E,52.894,165.26,120308,,,A*5D
+$GPRMC,130625.00,A,5158.75134,N,00423.77476,E,51.853,165.26,120308,,,A*54
+$GPRMC,130626.00,A,5158.73755,N,00423.78076,E,50.834,165.27,120308,,,A*5A
+$GPRMC,130627.00,A,5158.72402,N,00423.78666,E,49.809,165.36,120308,,,A*5A
+$GPRMC,130628.00,A,5158.71081,N,00423.79232,E,48.904,165.40,120308,,,A*51
+$GPRMC,130629.00,A,5158.69780,N,00423.79798,E,48.179,165.11,120308,,,A*5C
+$GPRMC,130630.00,A,5158.68493,N,00423.80355,E,47.853,165.25,120308,,,A*5E
+$GPRMC,130631.00,A,5158.67221,N,00423.80896,E,47.141,165.27,120308,,,A*53
+$GPRMC,130632.00,A,5158.65969,N,00423.81425,E,46.549,165.18,120308,,,A*51
+$GPRMC,130633.00,A,5158.64739,N,00423.81945,E,45.593,165.02,120308,,,A*5E
+$GPRMC,130634.00,A,5158.63531,N,00423.82468,E,44.823,165.04,120308,,,A*54
+$GPRMC,130635.00,A,5158.62339,N,00423.82981,E,44.291,165.40,120308,,,A*53
+$GPRMC,130636.00,A,5158.61164,N,00423.83480,E,43.530,165.37,120308,,,A*5F
+$GPRMC,130637.00,A,5158.60007,N,00423.83970,E,42.779,165.29,120308,,,A*58
+$GPRMC,130638.00,A,5158.58872,N,00423.84454,E,42.057,165.23,120308,,,A*5B
+$GPRMC,130639.00,A,5158.57754,N,00423.84935,E,41.375,165.12,120308,,,A*56
+$GPRMC,130640.00,A,5158.56659,N,00423.85401,E,40.620,165.04,120308,,,A*5D
+$GPRMC,130641.00,A,5158.55575,N,00423.85871,E,40.272,165.08,120308,,,A*56
+$GPRMC,130642.00,A,5158.54499,N,00423.86316,E,40.494,165.40,120308,,,A*5C
+$GPRMC,130643.00,A,5158.53415,N,00423.86763,E,40.817,165.04,120308,,,A*5F
+$GPRMC,130644.00,A,5158.52333,N,00423.87212,E,40.171,165.54,120308,,,A*54
+$GPRMC,130645.00,A,5158.51268,N,00423.87652,E,39.413,165.47,120308,,,A*54
+$GPRMC,130646.00,A,5158.50222,N,00423.88084,E,38.721,165.60,120308,,,A*5C
+$GPRMC,130647.00,A,5158.49196,N,00423.88513,E,38.009,165.41,120308,,,A*5C
+$GPRMC,130648.00,A,5158.48190,N,00423.88943,E,37.299,165.04,120308,,,A*58
+$GPRMC,130649.00,A,5158.47196,N,00423.89376,E,36.870,164.73,120308,,,A*50
+$GPRMC,130650.00,A,5158.46199,N,00423.89806,E,37.533,165.18,120308,,,A*5D
+$GPRMC,130651.00,A,5158.45180,N,00423.90237,E,38.361,165.38,120308,,,A*5B
+$GPRMC,130652.00,A,5158.44156,N,00423.90670,E,38.080,165.13,120308,,,A*50
+$GPRMC,130653.00,A,5158.43150,N,00423.91100,E,37.167,165.22,120308,,,A*54
+$GPRMC,130654.00,A,5158.42186,N,00423.91505,E,35.072,165.20,120308,,,A*5D
+$GPRMC,130655.00,A,5158.41281,N,00423.91905,E,32.243,164.50,120308,,,A*56
+$GPRMC,130656.00,A,5158.40430,N,00423.92288,E,31.231,164.60,120308,,,A*50
+$GPRMC,130657.00,A,5158.39608,N,00423.92646,E,30.527,164.97,120308,,,A*59
+$GPRMC,130658.00,A,5158.38803,N,00423.93000,E,29.789,164.51,120308,,,A*53
+$GPRMC,130659.00,A,5158.38017,N,00423.93364,E,28.900,163.83,120308,,,A*58
+$GPRMC,130700.00,A,5158.37260,N,00423.93722,E,26.886,162.68,120308,,,A*5B
+$GPRMC,130701.00,A,5158.36566,N,00423.94012,E,25.026,165.08,120308,,,A*59
+$GPRMC,130702.00,A,5158.35919,N,00423.94354,E,24.743,164.18,120308,,,A*59
+$GPRMC,130703.00,A,5158.35270,N,00423.94662,E,24.793,164.81,120308,,,A*51
+$GPRMC,130704.00,A,5158.34628,N,00423.94950,E,24.132,164.96,120308,,,A*5B
+$GPRMC,130705.00,A,5158.34021,N,00423.95175,E,23.602,164.45,120308,,,A*56
+$GPRMC,130706.00,A,5158.33413,N,00423.95443,E,22.709,165.08,120308,,,A*54
+$GPRMC,130707.00,A,5158.32845,N,00423.95670,E,20.995,165.72,120308,,,A*5D
+$GPRMC,130708.00,A,5158.32348,N,00423.95879,E,17.303,165.56,120308,,,A*54
+$GPRMC,130709.00,A,5158.31921,N,00423.96058,E,15.148,165.45,120308,,,A*56
+$GPRMC,130710.00,A,5158.31548,N,00423.96237,E,13.757,164.71,120308,,,A*5E
+$GPRMC,130711.00,A,5158.31209,N,00423.96437,E,12.937,164.63,120308,,,A*51
+$GPRMC,130712.00,A,5158.30876,N,00423.96630,E,12.414,164.60,120308,,,A*5B
+$GPRMC,130713.00,A,5158.30561,N,00423.96774,E,12.312,164.81,120308,,,A*5E
+$GPRMC,130714.00,A,5158.30248,N,00423.96934,E,12.761,164.54,120308,,,A*57
+$GPRMC,130715.00,A,5158.29941,N,00423.97095,E,12.689,164.35,120308,,,A*5F
+$GPRMC,130716.00,A,5158.29631,N,00423.97251,E,12.262,163.93,120308,,,A*54
+$GPRMC,130717.00,A,5158.29345,N,00423.97394,E,12.036,163.83,120308,,,A*59
+$GPRMC,130718.00,A,5158.29026,N,00423.97545,E,13.157,164.37,120308,,,A*55
+$GPRMC,130719.00,A,5158.28677,N,00423.97702,E,13.839,163.83,120308,,,A*5F
+$GPRMC,130720.00,A,5158.28281,N,00423.97908,E,15.799,162.43,120308,,,A*52
+$GPRMC,130721.00,A,5158.27849,N,00423.98134,E,17.383,161.57,120308,,,A*51
+$GPRMC,130722.00,A,5158.27390,N,00423.98384,E,18.298,160.70,120308,,,A*54
+$GPRMC,130723.00,A,5158.26905,N,00423.98657,E,19.239,160.80,120308,,,A*5C
+$GPRMC,130724.00,A,5158.26404,N,00423.98946,E,19.306,160.24,120308,,,A*5B
+$GPRMC,130725.00,A,5158.25884,N,00423.99251,E,20.790,159.48,120308,,,A*50
+$GPRMC,130726.00,A,5158.25337,N,00423.99579,E,21.466,159.35,120308,,,A*5C
+$GPRMC,130727.00,A,5158.24781,N,00423.99914,E,21.604,158.86,120308,,,A*5D
+$GPRMC,130728.00,A,5158.24213,N,00424.00280,E,22.456,158.28,120308,,,A*5F
+$GPRMC,130729.00,A,5158.23617,N,00424.00649,E,23.603,158.80,120308,,,A*59
+$GPRMC,130730.00,A,5158.23021,N,00424.01065,E,23.533,155.99,120308,,,A*5E
+$GPRMC,130731.00,A,5158.22427,N,00424.01485,E,23.405,155.54,120308,,,A*53
+$GPRMC,130732.00,A,5158.21824,N,00424.01941,E,23.985,154.75,120308,,,A*5E
+$GPRMC,130733.00,A,5158.21210,N,00424.02394,E,24.811,154.38,120308,,,A*51
+$GPRMC,130734.00,A,5158.20568,N,00424.02881,E,25.733,153.65,120308,,,A*51
+$GPRMC,130735.00,A,5158.19914,N,00424.03382,E,25.957,154.65,120308,,,A*5F
+$GPRMC,130736.00,A,5158.19247,N,00424.03898,E,26.450,154.11,120308,,,A*5B
+$GPRMC,130737.00,A,5158.18579,N,00424.04420,E,26.611,154.43,120308,,,A*59
+$GPRMC,130738.00,A,5158.17904,N,00424.04948,E,26.910,154.19,120308,,,A*5D
+$GPRMC,130739.00,A,5158.17231,N,00424.05473,E,27.030,154.30,120308,,,A*54
+$GPRMC,130740.00,A,5158.16562,N,00424.06002,E,26.751,154.46,120308,,,A*5B
+$GPRMC,130741.00,A,5158.15913,N,00424.06491,E,25.547,155.48,120308,,,A*54
+$GPRMC,130742.00,A,5158.15267,N,00424.06967,E,25.081,154.79,120308,,,A*57
+$GPRMC,130743.00,A,5158.14631,N,00424.07444,E,25.262,154.27,120308,,,A*59
+$GPRMC,130744.00,A,5158.13982,N,00424.07940,E,26.087,154.17,120308,,,A*5E
+$GPRMC,130745.00,A,5158.13319,N,00424.08445,E,26.747,154.02,120308,,,A*5F
+$GPRMC,130746.00,A,5158.12644,N,00424.08958,E,27.269,154.15,120308,,,A*5F
+$GPRMC,130747.00,A,5158.11955,N,00424.09495,E,27.927,153.90,120308,,,A*54
+$GPRMC,130748.00,A,5158.11258,N,00424.10047,E,28.424,154.04,120308,,,A*55
+$GPRMC,130749.00,A,5158.10533,N,00424.10618,E,28.804,154.22,120308,,,A*59
+$GPRMC,130750.00,A,5158.09809,N,00424.11182,E,28.876,154.16,120308,,,A*5A
+$GPRMC,130751.00,A,5158.09079,N,00424.11761,E,28.906,154.00,120308,,,A*5E
+$GPRMC,130752.00,A,5158.08346,N,00424.12353,E,29.314,154.20,120308,,,A*5F
+$GPRMC,130753.00,A,5158.07605,N,00424.12955,E,30.509,154.55,120308,,,A*5F
+$GPRMC,130754.00,A,5158.06816,N,00424.13569,E,31.587,154.58,120308,,,A*5D
+$GPRMC,130755.00,A,5158.06016,N,00424.14191,E,32.215,154.36,120308,,,A*57
+$GPRMC,130756.00,A,5158.05192,N,00424.14841,E,32.748,154.27,120308,,,A*53
+$GPRMC,130757.00,A,5158.04377,N,00424.15481,E,32.914,154.42,120308,,,A*5F
+$GPRMC,130758.00,A,5158.03544,N,00424.16136,E,33.509,154.11,120308,,,A*5C
+$GPRMC,130759.00,A,5158.02680,N,00424.16797,E,34.260,154.87,120308,,,A*5A
+$GPRMC,130800.00,A,5158.01831,N,00424.17457,E,33.697,154.42,120308,,,A*52
+$GPRMC,130801.00,A,5158.00969,N,00424.18129,E,34.329,154.42,120308,,,A*5A
+$GPRMC,130802.00,A,5158.00112,N,00424.18803,E,33.941,154.18,120308,,,A*50
+$GPRMC,130803.00,A,5157.99250,N,00424.19479,E,34.018,154.16,120308,,,A*57
+$GPRMC,130804.00,A,5157.98364,N,00424.20174,E,35.113,154.21,120308,,,A*5A
+$GPRMC,130805.00,A,5157.97477,N,00424.20872,E,36.048,154.08,120308,,,A*59
+$GPRMC,130806.00,A,5157.96541,N,00424.21607,E,37.621,154.36,120308,,,A*57
+$GPRMC,130807.00,A,5157.95542,N,00424.22374,E,40.009,154.51,120308,,,A*59
+$GPRMC,130808.00,A,5157.94483,N,00424.23212,E,42.329,154.33,120308,,,A*5C
+$GPRMC,130809.00,A,5157.93386,N,00424.24079,E,42.707,153.93,120308,,,A*55
+$GPRMC,130810.00,A,5157.92294,N,00424.24938,E,43.003,154.12,120308,,,A*5E
+$GPRMC,130811.00,A,5157.91216,N,00424.25779,E,42.431,154.05,120308,,,A*5E
+$GPRMC,130812.00,A,5157.90169,N,00424.26599,E,41.085,154.05,120308,,,A*50
+$GPRMC,130813.00,A,5157.89160,N,00424.27423,E,39.915,154.18,120308,,,A*52
+$GPRMC,130814.00,A,5157.88160,N,00424.28206,E,38.999,154.61,120308,,,A*51
+$GPRMC,130815.00,A,5157.87187,N,00424.28983,E,38.846,154.54,120308,,,A*55
+$GPRMC,130816.00,A,5157.86212,N,00424.29755,E,39.059,154.33,120308,,,A*5A
+$GPRMC,130817.00,A,5157.85231,N,00424.30529,E,39.469,154.24,120308,,,A*59
+$GPRMC,130818.00,A,5157.84251,N,00424.31306,E,39.800,153.96,120308,,,A*56
+$GPRMC,130819.00,A,5157.83258,N,00424.32078,E,39.394,154.44,120308,,,A*5E
+$GPRMC,130820.00,A,5157.82283,N,00424.32842,E,38.624,154.44,120308,,,A*5D
+$GPRMC,130821.00,A,5157.81319,N,00424.33604,E,37.919,154.21,120308,,,A*5D
+$GPRMC,130822.00,A,5157.80362,N,00424.34365,E,37.717,154.04,120308,,,A*51
+$GPRMC,130823.00,A,5157.79411,N,00424.35095,E,37.324,155.02,120308,,,A*5B
+$GPRMC,130824.00,A,5157.78450,N,00424.35817,E,37.089,154.56,120308,,,A*5E
+$GPRMC,130825.00,A,5157.77515,N,00424.36532,E,37.426,154.73,120308,,,A*5F
+$GPRMC,130826.00,A,5157.76583,N,00424.37251,E,38.330,154.61,120308,,,A*5D
+$GPRMC,130827.00,A,5157.75622,N,00424.37999,E,38.679,154.73,120308,,,A*53
+$GPRMC,130828.00,A,5157.74669,N,00424.38751,E,38.453,154.34,120308,,,A*5E
+$GPRMC,130829.00,A,5157.73722,N,00424.39501,E,38.106,154.22,120308,,,A*52
+$GPRMC,130830.00,A,5157.72771,N,00424.40265,E,38.193,154.07,120308,,,A*5D
+$GPRMC,130831.00,A,5157.71816,N,00424.41032,E,38.171,154.55,120308,,,A*5B
+$GPRMC,130832.00,A,5157.70858,N,00424.41788,E,38.267,154.55,120308,,,A*51
+$GPRMC,130833.00,A,5157.69904,N,00424.42534,E,38.059,154.61,120308,,,A*5E
+$GPRMC,130834.00,A,5157.68962,N,00424.43270,E,37.629,154.50,120308,,,A*52
+$GPRMC,130835.00,A,5157.68024,N,00424.44000,E,37.676,154.47,120308,,,A*56
+$GPRMC,130836.00,A,5157.67072,N,00424.44730,E,37.633,154.48,120308,,,A*53
+$GPRMC,130837.00,A,5157.66124,N,00424.45466,E,38.126,154.16,120308,,,A*57
+$GPRMC,130838.00,A,5157.65171,N,00424.46207,E,37.826,154.29,120308,,,A*53
+$GPRMC,130839.00,A,5157.64225,N,00424.46932,E,37.144,154.50,120308,,,A*5F
+$GPRMC,130840.00,A,5157.63323,N,00424.47629,E,36.289,154.57,120308,,,A*51
+$GPRMC,130841.00,A,5157.62440,N,00424.48312,E,35.178,154.41,120308,,,A*58
+$GPRMC,130842.00,A,5157.61565,N,00424.48988,E,34.655,154.30,120308,,,A*58
+$GPRMC,130843.00,A,5157.60719,N,00424.49663,E,33.694,154.23,120308,,,A*52
+$GPRMC,130844.00,A,5157.59842,N,00424.50348,E,33.500,154.70,120308,,,A*52
+$GPRMC,130845.00,A,5157.59002,N,00424.50995,E,33.372,155.68,120308,,,A*5E
+$GPRMC,130846.00,A,5157.58143,N,00424.51605,E,33.281,157.14,120308,,,A*5B
+$GPRMC,130847.00,A,5157.57288,N,00424.52192,E,33.305,157.07,120308,,,A*54
+$GPRMC,130848.00,A,5157.56435,N,00424.52808,E,33.843,155.08,120308,,,A*54
+$GPRMC,130849.00,A,5157.55606,N,00424.53443,E,33.234,155.21,120308,,,A*57
+$GPRMC,130850.00,A,5157.54776,N,00424.54072,E,32.728,154.88,120308,,,A*52
+$GPRMC,130851.00,A,5157.53953,N,00424.54705,E,32.434,154.32,120308,,,A*55
+$GPRMC,130852.00,A,5157.53158,N,00424.55318,E,31.978,154.18,120308,,,A*52
+$GPRMC,130853.00,A,5157.52385,N,00424.55930,E,31.333,154.35,120308,,,A*5A
+$GPRMC,130854.00,A,5157.51624,N,00424.56523,E,30.686,154.48,120308,,,A*5D
+$GPRMC,130855.00,A,5157.50861,N,00424.57115,E,30.258,154.46,120308,,,A*5B
+$GPRMC,130856.00,A,5157.50122,N,00424.57693,E,29.543,154.49,120308,,,A*55
+$GPRMC,130857.00,A,5157.49413,N,00424.58251,E,27.937,154.73,120308,,,A*56
+$GPRMC,130858.00,A,5157.48717,N,00424.58796,E,28.073,154.26,120308,,,A*57
+$GPRMC,130859.00,A,5157.47998,N,00424.59373,E,29.872,153.96,120308,,,A*5A
+$GPRMC,130900.00,A,5157.47244,N,00424.59974,E,30.524,154.34,120308,,,A*59
+$GPRMC,130901.00,A,5157.46489,N,00424.60576,E,29.958,154.28,120308,,,A*58
+$GPRMC,130902.00,A,5157.45749,N,00424.61160,E,29.486,154.18,120308,,,A*58
+$GPRMC,130903.00,A,5157.45007,N,00424.61738,E,29.276,154.34,120308,,,A*58
+$GPRMC,130904.00,A,5157.44281,N,00424.62303,E,28.650,154.45,120308,,,A*5A
+$GPRMC,130905.00,A,5157.43596,N,00424.62830,E,26.423,154.43,120308,,,A*58
+$GPRMC,130906.00,A,5157.42961,N,00424.63320,E,25.258,154.50,120308,,,A*5E
+$GPRMC,130907.00,A,5157.42372,N,00424.63778,E,23.655,154.69,120308,,,A*5B
+$GPRMC,130908.00,A,5157.41846,N,00424.64186,E,20.404,154.41,120308,,,A*54
+$GPRMC,130909.00,A,5157.41397,N,00424.64539,E,17.418,153.95,120308,,,A*55
+$GPRMC,130910.00,A,5157.40998,N,00424.64848,E,15.331,154.04,120308,,,A*53
+$GPRMC,130911.00,A,5157.40654,N,00424.65123,E,13.841,153.65,120308,,,A*52
+$GPRMC,130912.00,A,5157.40329,N,00424.65381,E,13.145,153.27,120308,,,A*5F
+$GPRMC,130913.00,A,5157.40045,N,00424.65617,E,11.438,152.73,120308,,,A*50
+$GPRMC,130914.00,A,5157.39776,N,00424.65838,E,10.515,153.15,120308,,,A*53
+$GPRMC,130915.00,A,5157.39522,N,00424.66045,E,10.423,153.30,120308,,,A*53
+$GPRMC,130916.00,A,5157.39249,N,00424.66254,E,11.090,154.88,120308,,,A*51
+$GPRMC,130917.00,A,5157.39030,N,00424.66441,E,10.462,154.28,120308,,,A*5C
+$GPRMC,130918.00,A,5157.38791,N,00424.66629,E,9.560,154.05,120308,,,A*66
+$GPRMC,130919.00,A,5157.38607,N,00424.66779,E,6.745,153.24,120308,,,A*63
+$GPRMC,130920.00,A,5157.38474,N,00424.66884,E,4.779,152.27,120308,,,A*6D
+$GPRMC,130921.00,A,5157.38378,N,00424.66937,E,2.239,149.60,120308,,,A*60
+$GPRMC,130922.00,A,5157.38333,N,00424.66960,E,1.021,149.64,120308,,,A*62
+$GPRMC,130923.00,A,5157.38321,N,00424.66961,E,0.475,149.55,120308,,,A*67
+$GPRMC,130924.00,A,5157.38317,N,00424.66959,E,0.339,149.12,120308,,,A*62
+$GPRMC,130925.00,A,5157.38306,N,00424.66964,E,0.580,148.77,120308,,,A*6B
+$GPRMC,130926.00,A,5157.38259,N,00424.66994,E,2.861,153.02,120308,,,A*64
+$GPRMC,130927.00,A,5157.38169,N,00424.67056,E,4.070,153.82,120308,,,A*65
+$GPRMC,130928.00,A,5157.38065,N,00424.67125,E,3.949,154.39,120308,,,A*61
+$GPRMC,130929.00,A,5157.37944,N,00424.67198,E,4.481,154.12,120308,,,A*64
+$GPRMC,130930.00,A,5157.37835,N,00424.67280,E,4.362,153.91,120308,,,A*67
+$GPRMC,130931.00,A,5157.37749,N,00424.67353,E,3.723,154.89,120308,,,A*65
+$GPRMC,130932.00,A,5157.37681,N,00424.67405,E,2.261,155.41,120308,,,A*60
+$GPRMC,130933.00,A,5157.37664,N,00424.67432,E,1.019,155.28,120308,,,A*6F
+$GPRMC,130934.00,A,5157.37658,N,00424.67441,E,0.145,154.95,120308,,,A*6D
+$GPRMC,130935.00,A,5157.37666,N,00424.67441,E,0.178,160.52,120308,,,A*63
+$GPRMC,130936.00,A,5157.37667,N,00424.67446,E,0.018,,120308,,,A*7F
+$GPRMC,130937.00,A,5157.37672,N,00424.67445,E,0.006,,120308,,,A*76
+$GPRMC,130938.00,A,5157.37680,N,00424.67442,E,0.040,154.99,120308,,,A*6F
+$GPRMC,130939.00,A,5157.37676,N,00424.67438,E,0.037,160.17,120308,,,A*6B
+$GPRMC,130940.00,A,5157.37674,N,00424.67433,E,0.044,158.49,120308,,,A*68
+$GPRMC,130941.00,A,5157.37674,N,00424.67426,E,0.075,160.75,120308,,,A*6B
+$GPRMC,130942.00,A,5157.37676,N,00424.67418,E,0.240,161.06,120308,,,A*66
+$GPRMC,130943.00,A,5157.37662,N,00424.67438,E,1.462,160.84,120308,,,A*6C
+$GPRMC,130944.00,A,5157.37554,N,00424.67529,E,6.256,148.00,120308,,,A*6C
+$GPRMC,130945.00,A,5157.37334,N,00424.67742,E,11.542,152.90,120308,,,A*54
+$GPRMC,130946.00,A,5157.36997,N,00424.68061,E,15.079,152.02,120308,,,A*5E
+$GPRMC,130947.00,A,5157.36595,N,00424.68384,E,16.223,153.28,120308,,,A*5E
+$GPRMC,130948.00,A,5157.36152,N,00424.68749,E,18.268,153.84,120308,,,A*5C
+$GPRMC,130949.00,A,5157.35650,N,00424.69148,E,20.163,154.21,120308,,,A*56
+$GPRMC,130950.00,A,5157.35099,N,00424.69583,E,21.798,154.20,120308,,,A*5C
+$GPRMC,130951.00,A,5157.34505,N,00424.70045,E,22.786,154.21,120308,,,A*56
+$GPRMC,130952.00,A,5157.33894,N,00424.70527,E,23.739,154.34,120308,,,A*57
+$GPRMC,130953.00,A,5157.33248,N,00424.71030,E,25.128,154.24,120308,,,A*5E
+$GPRMC,130954.00,A,5157.32598,N,00424.71533,E,24.518,154.28,120308,,,A*5E
+$GPRMC,130955.00,A,5157.31946,N,00424.72019,E,23.779,154.32,120308,,,A*54
+$GPRMC,130956.00,A,5157.31340,N,00424.72484,E,22.857,154.57,120308,,,A*5A
+$GPRMC,130957.00,A,5157.30836,N,00424.72879,E,18.820,154.63,120308,,,A*50
+$GPRMC,130958.00,A,5157.30399,N,00424.73207,E,14.702,155.03,120308,,,A*57
+$GPRMC,130959.00,A,5157.30056,N,00424.73470,E,12.126,156.23,120308,,,A*57
+$GPRMC,131000.00,A,5157.29783,N,00424.73674,E,10.108,156.90,120308,,,A*54
+$GPRMC,131001.00,A,5157.29507,N,00424.73877,E,9.493,154.17,120308,,,A*64
+$GPRMC,131002.00,A,5157.29268,N,00424.74085,E,9.348,151.63,120308,,,A*6C
+$GPRMC,131003.00,A,5157.29076,N,00424.74216,E,7.187,154.50,120308,,,A*62
+$GPRMC,131004.00,A,5157.28964,N,00424.74323,E,5.392,154.12,120308,,,A*6B
+$GPRMC,131005.00,A,5157.28889,N,00424.74384,E,2.752,163.06,120308,,,A*6B
+$GPRMC,131006.00,A,5157.28857,N,00424.74410,E,1.279,162.60,120308,,,A*6F
+$GPRMC,131007.00,A,5157.28851,N,00424.74429,E,0.826,161.73,120308,,,A*62
+$GPRMC,131008.00,A,5157.28849,N,00424.74455,E,1.101,161.41,120308,,,A*63
+$GPRMC,131009.00,A,5157.28829,N,00424.74484,E,1.657,160.86,120308,,,A*66
+$GPRMC,131010.00,A,5157.28767,N,00424.74520,E,3.569,162.98,120308,,,A*65
+$GPRMC,131011.00,A,5157.28676,N,00424.74583,E,4.391,152.08,120308,,,A*60
+$GPRMC,131012.00,A,5157.28567,N,00424.74681,E,5.255,152.06,120308,,,A*67
+$GPRMC,131013.00,A,5157.28426,N,00424.74766,E,5.899,158.44,120308,,,A*6C
+$GPRMC,131014.00,A,5157.28260,N,00424.74827,E,6.886,159.74,120308,,,A*6A
+$GPRMC,131015.00,A,5157.28056,N,00424.74907,E,7.902,162.01,120308,,,A*69
+$GPRMC,131016.00,A,5157.27856,N,00424.74991,E,7.447,160.48,120308,,,A*61
+$GPRMC,131017.00,A,5157.27699,N,00424.75104,E,6.056,152.12,120308,,,A*63
+$GPRMC,131018.00,A,5157.27570,N,00424.75210,E,4.672,153.50,120308,,,A*6B
+$GPRMC,131019.00,A,5157.27491,N,00424.75241,E,2.682,151.45,120308,,,A*6F
+$GPRMC,131020.00,A,5157.27462,N,00424.75264,E,1.422,152.15,120308,,,A*63
+$GPRMC,131021.00,A,5157.27440,N,00424.75213,E,0.862,153.28,120308,,,A*64
+$GPRMC,131022.00,A,5157.27441,N,00424.75184,E,0.243,154.74,120308,,,A*6C
+$GPRMC,131023.00,A,5157.27437,N,00424.75163,E,0.368,143.96,120308,,,A*67
+$GPRMC,131024.00,A,5157.27448,N,00424.75163,E,0.106,144.51,120308,,,A*6E
+$GPRMC,131025.00,A,5157.27441,N,00424.75173,E,0.719,146.15,120308,,,A*6D
+$GPRMC,131026.00,A,5157.27413,N,00424.75192,E,1.450,146.66,120308,,,A*6D
+$GPRMC,131027.00,A,5157.27371,N,00424.75230,E,1.934,147.36,120308,,,A*6F
+$GPRMC,131028.00,A,5157.27326,N,00424.75260,E,1.899,148.23,120308,,,A*6A
+$GPRMC,131029.00,A,5157.27258,N,00424.75310,E,2.894,154.63,120308,,,A*62
+$GPRMC,131030.00,A,5157.27154,N,00424.75389,E,4.816,155.76,120308,,,A*6C
+$GPRMC,131031.00,A,5157.27014,N,00424.75479,E,5.082,162.81,120308,,,A*68
+$GPRMC,131032.00,A,5157.26815,N,00424.75634,E,7.883,153.36,120308,,,A*6D
+$GPRMC,131033.00,A,5157.26589,N,00424.75814,E,8.610,154.57,120308,,,A*63
+$GPRMC,131034.00,A,5157.26363,N,00424.75990,E,8.621,154.40,120308,,,A*6F
+$GPRMC,131035.00,A,5157.26124,N,00424.76181,E,9.174,153.61,120308,,,A*66
+$GPRMC,131036.00,A,5157.25906,N,00424.76315,E,7.321,160.17,120308,,,A*6C
+$GPRMC,131037.00,A,5157.25692,N,00424.76467,E,8.592,156.71,120308,,,A*69
+$GPRMC,131038.00,A,5157.25438,N,00424.76632,E,10.014,156.26,120308,,,A*56
+$GPRMC,131039.00,A,5157.25170,N,00424.76837,E,10.632,157.06,120308,,,A*54
+$GPRMC,131040.00,A,5157.24935,N,00424.77046,E,9.639,155.72,120308,,,A*6F
+$GPRMC,131041.00,A,5157.24636,N,00424.77292,E,12.251,154.00,120308,,,A*5D
+$GPRMC,131042.00,A,5157.24410,N,00424.77465,E,8.244,151.85,120308,,,A*61
+$GPRMC,131043.00,A,5157.24269,N,00424.77563,E,4.041,149.57,120308,,,A*62
+$GPRMC,131044.00,A,5157.24205,N,00424.77609,E,2.824,153.18,120308,,,A*6D
+$GPRMC,131045.00,A,5157.24116,N,00424.77666,E,3.080,153.53,120308,,,A*6C
+$GPRMC,131046.00,A,5157.23978,N,00424.77755,E,5.250,155.02,120308,,,A*62
+$GPRMC,131047.00,A,5157.23818,N,00424.77884,E,6.925,151.80,120308,,,A*63
+$GPRMC,131048.00,A,5157.23609,N,00424.78069,E,8.604,151.35,120308,,,A*6A
+$GPRMC,131049.00,A,5157.23371,N,00424.78286,E,9.039,149.32,120308,,,A*65
+$GPRMC,131050.00,A,5157.23084,N,00424.78513,E,10.427,153.51,120308,,,A*52
+$GPRMC,131051.00,A,5157.22862,N,00424.78711,E,7.763,153.52,120308,,,A*64
+$GPRMC,131052.00,A,5157.22718,N,00424.78815,E,4.550,157.61,120308,,,A*6B
+$GPRMC,131053.00,A,5157.22627,N,00424.78882,E,2.632,155.08,120308,,,A*65
+$GPRMC,131054.00,A,5157.22585,N,00424.78939,E,1.799,155.03,120308,,,A*60
+$GPRMC,131055.00,A,5157.22540,N,00424.78969,E,1.534,154.95,120308,,,A*66
+$GPRMC,131056.00,A,5157.22486,N,00424.79003,E,2.418,155.79,120308,,,A*65
+$GPRMC,131057.00,A,5157.22402,N,00424.79063,E,3.582,155.47,120308,,,A*60
+$GPRMC,131058.00,A,5157.22310,N,00424.79134,E,3.599,155.42,120308,,,A*67
+$GPRMC,131059.00,A,5157.22210,N,00424.79208,E,4.182,156.50,120308,,,A*62
+$GPRMC,131100.00,A,5157.22093,N,00424.79287,E,4.514,154.48,120308,,,A*61
+$GPRMC,131101.00,A,5157.21985,N,00424.79372,E,4.119,154.45,120308,,,A*62
+$GPRMC,131102.00,A,5157.21873,N,00424.79437,E,3.819,161.32,120308,,,A*67
+$GPRMC,131103.00,A,5157.21784,N,00424.79499,E,3.533,157.58,120308,,,A*69
+$GPRMC,131104.00,A,5157.21709,N,00424.79547,E,2.827,166.48,120308,,,A*63
+$GPRMC,131105.00,A,5157.21666,N,00424.79560,E,1.304,165.95,120308,,,A*65
+$GPRMC,131106.00,A,5157.21639,N,00424.79552,E,0.317,167.93,120308,,,A*6A
+$GPRMC,131107.00,A,5157.21626,N,00424.79540,E,0.114,171.18,120308,,,A*63
+$GPRMC,131108.00,A,5157.21628,N,00424.79547,E,0.213,169.71,120308,,,A*67
+$GPRMC,131109.00,A,5157.21625,N,00424.79573,E,0.585,166.12,120308,,,A*6E
+$GPRMC,131110.00,A,5157.21614,N,00424.79571,E,0.388,167.29,120308,,,A*64
+$GPRMC,131111.00,A,5157.21623,N,00424.79571,E,0.219,178.03,120308,,,A*6E
+$GPRMC,131112.00,A,5157.21625,N,00424.79569,E,0.650,177.75,120308,,,A*65
+$GPRMC,131113.00,A,5157.21625,N,00424.79630,E,1.537,175.13,120308,,,A*6A
+$GPRMC,131114.00,A,5157.21552,N,00424.79688,E,3.882,165.21,120308,,,A*6C
+$GPRMC,131115.00,A,5157.21434,N,00424.79803,E,5.435,155.32,120308,,,A*66
+$GPRMC,131116.00,A,5157.21318,N,00424.79921,E,4.628,154.83,120308,,,A*69
+$GPRMC,131117.00,A,5157.21240,N,00424.79995,E,2.452,152.63,120308,,,A*6A
+$GPRMC,131118.00,A,5157.21207,N,00424.80041,E,1.681,152.86,120308,,,A*64
+$GPRMC,131119.00,A,5157.21187,N,00424.80064,E,0.891,152.95,120308,,,A*65
+$GPRMC,131120.00,A,5157.21180,N,00424.80069,E,0.610,153.02,120308,,,A*6D
+$GPRMC,131121.00,A,5157.21185,N,00424.80067,E,0.168,158.56,120308,,,A*65
+$GPRMC,131122.00,A,5157.21183,N,00424.80073,E,0.125,156.28,120308,,,A*6B
+$GPRMC,131123.00,A,5157.21185,N,00424.80075,E,0.137,152.04,120308,,,A*63
+$GPRMC,131124.00,A,5157.21184,N,00424.80070,E,0.122,146.80,120308,,,A*6D
+$GPRMC,131125.00,A,5157.21185,N,00424.80072,E,0.024,151.60,120308,,,A*60
+$GPRMC,131126.00,A,5157.21170,N,00424.80082,E,0.013,,120308,,,A*7F
+$GPRMC,131127.00,A,5157.21166,N,00424.80087,E,0.016,,120308,,,A*79
+$GPRMC,131128.00,A,5157.21134,N,00424.80106,E,0.033,151.99,120308,,,A*65
+$GPRMC,131129.00,A,5157.21117,N,00424.80107,E,0.247,155.04,120308,,,A*65
+$GPRMC,131130.00,A,5157.21110,N,00424.80118,E,0.393,149.93,120308,,,A*6F
+$GPRMC,131131.00,A,5157.21113,N,00424.80115,E,0.265,153.95,120308,,,A*65
+$GPRMC,131132.00,A,5157.21116,N,00424.80107,E,0.081,151.74,120308,,,A*65
+$GPRMC,131133.00,A,5157.21110,N,00424.80119,E,0.724,151.32,120308,,,A*67
+$GPRMC,131134.00,A,5157.21079,N,00424.80156,E,2.296,142.58,120308,,,A*65
+$GPRMC,131135.00,A,5157.20996,N,00424.80242,E,4.240,152.72,120308,,,A*6F
+$GPRMC,131136.00,A,5157.20898,N,00424.80328,E,4.833,151.23,120308,,,A*67
+$GPRMC,131137.00,A,5157.20790,N,00424.80428,E,4.203,150.40,120308,,,A*6B
+$GPRMC,131138.00,A,5157.20714,N,00424.80440,E,3.039,153.92,120308,,,A*66
+$GPRMC,131139.00,A,5157.20650,N,00424.80471,E,2.466,154.66,120308,,,A*67
+$GPRMC,131140.00,A,5157.20595,N,00424.80500,E,2.257,154.32,120308,,,A*61
+$GPRMC,131141.00,A,5157.20529,N,00424.80530,E,2.929,154.35,120308,,,A*61
+$GPRMC,131142.00,A,5157.20458,N,00424.80577,E,3.035,161.47,120308,,,A*60
+$GPRMC,131143.00,A,5157.20414,N,00424.80636,E,1.948,157.09,120308,,,A*61
+$GPRMC,131144.00,A,5157.20376,N,00424.80667,E,1.111,156.16,120308,,,A*6A
+$GPRMC,131145.00,A,5157.20376,N,00424.80696,E,0.271,153.32,120308,,,A*62
+$GPRMC,131146.00,A,5157.20381,N,00424.80713,E,0.192,157.32,120308,,,A*6F
+$GPRMC,131147.00,A,5157.20386,N,00424.80723,E,0.056,161.38,120308,,,A*6C
+$GPRMC,131148.00,A,5157.20395,N,00424.80716,E,0.043,161.83,120308,,,A*63
+$GPRMC,131149.00,A,5157.20399,N,00424.80721,E,0.032,167.07,120308,,,A*66
+$GPRMC,131150.00,A,5157.20400,N,00424.80720,E,0.190,165.87,120308,,,A*6B
+$GPRMC,131151.00,A,5157.20398,N,00424.80728,E,0.468,163.12,120308,,,A*6C
+$GPRMC,131152.00,A,5157.20399,N,00424.80731,E,0.136,161.94,120308,,,A*64
+$GPRMC,131153.00,A,5157.20397,N,00424.80727,E,0.182,162.09,120308,,,A*64
+$GPRMC,131154.00,A,5157.20387,N,00424.80714,E,0.587,165.68,120308,,,A*63
+$GPRMC,131155.00,A,5157.20384,N,00424.80720,E,0.305,162.01,120308,,,A*62
+$GPRMC,131156.00,A,5157.20368,N,00424.80743,E,1.007,161.44,120308,,,A*64
+$GPRMC,131157.00,A,5157.20354,N,00424.80755,E,0.443,160.67,120308,,,A*68
+$GPRMC,131158.00,A,5157.20344,N,00424.80763,E,0.093,159.20,120308,,,A*63
+$GPRMC,131159.00,A,5157.20347,N,00424.80760,E,0.510,148.19,120308,,,A*66
+$GPRMC,131200.00,A,5157.20329,N,00424.80772,E,0.696,149.20,120308,,,A*64
+$GPRMC,131201.00,A,5157.20234,N,00424.80818,E,3.630,159.66,120308,,,A*67
+$GPRMC,131202.00,A,5157.20102,N,00424.80907,E,4.593,153.84,120308,,,A*66
+$GPRMC,131203.00,A,5157.19975,N,00424.81011,E,4.856,154.47,120308,,,A*66
+$GPRMC,131204.00,A,5157.19812,N,00424.81140,E,6.364,156.09,120308,,,A*64
+$GPRMC,131205.00,A,5157.19640,N,00424.81269,E,6.009,155.21,120308,,,A*65
+$GPRMC,131206.00,A,5157.19498,N,00424.81358,E,4.792,156.51,120308,,,A*61
+$GPRMC,131207.00,A,5157.19390,N,00424.81442,E,3.487,154.07,120308,,,A*62
+$GPRMC,131208.00,A,5157.19303,N,00424.81509,E,2.868,154.36,120308,,,A*67
+$GPRMC,131209.00,A,5157.19249,N,00424.81553,E,1.921,153.84,120308,,,A*67
+$GPRMC,131210.00,A,5157.19205,N,00424.81603,E,2.444,144.48,120308,,,A*6A
+$GPRMC,131211.00,A,5157.19132,N,00424.81637,E,3.635,147.74,120308,,,A*62
+$GPRMC,131212.00,A,5157.19036,N,00424.81738,E,4.242,149.59,120308,,,A*68
+$GPRMC,131213.00,A,5157.18889,N,00424.81859,E,6.276,148.11,120308,,,A*64
+$GPRMC,131214.00,A,5157.18675,N,00424.82018,E,8.193,156.56,120308,,,A*6A
+$GPRMC,131215.00,A,5157.18465,N,00424.82166,E,8.023,155.32,120308,,,A*6B
+$GPRMC,131216.00,A,5157.18293,N,00424.82343,E,7.309,145.81,120308,,,A*6F
+$GPRMC,131217.00,A,5157.18151,N,00424.82456,E,5.755,149.95,120308,,,A*66
+$GPRMC,131218.00,A,5157.17955,N,00424.82601,E,7.808,154.53,120308,,,A*69
+$GPRMC,131219.00,A,5157.17759,N,00424.82733,E,8.075,155.12,120308,,,A*63
+$GPRMC,131220.00,A,5157.17559,N,00424.82914,E,7.760,151.23,120308,,,A*6A
+$GPRMC,131221.00,A,5157.17376,N,00424.83040,E,7.858,152.57,120308,,,A*6D
+$GPRMC,131222.00,A,5157.17201,N,00424.83156,E,6.421,152.70,120308,,,A*6F
+$GPRMC,131223.00,A,5157.17082,N,00424.83235,E,4.106,150.83,120308,,,A*6D
+$GPRMC,131224.00,A,5157.16994,N,00424.83237,E,2.127,158.11,120308,,,A*61
+$GPRMC,131225.00,A,5157.16945,N,00424.83257,E,0.879,157.65,120308,,,A*66
+$GPRMC,131226.00,A,5157.16922,N,00424.83284,E,0.167,156.50,120308,,,A*6B
+$GPRMC,131227.00,A,5157.16911,N,00424.83307,E,0.121,160.18,120308,,,A*6B
+$GPRMC,131228.00,A,5157.16912,N,00424.83330,E,0.091,156.51,120308,,,A*61
+$GPRMC,131229.00,A,5157.16907,N,00424.83345,E,0.142,156.90,120308,,,A*64
+$GPRMC,131230.00,A,5157.16914,N,00424.83349,E,0.038,160.71,120308,,,A*64
+$GPRMC,131231.00,A,5157.16941,N,00424.83376,E,0.019,,120308,,,A*75
+$GPRMC,131232.00,A,5157.16956,N,00424.83406,E,0.114,160.24,120308,,,A*63
+$GPRMC,131233.00,A,5157.16965,N,00424.83417,E,0.047,164.26,120308,,,A*63
+$GPRMC,131234.00,A,5157.16967,N,00424.83438,E,0.212,162.08,120308,,,A*63
+$GPRMC,131235.00,A,5157.16975,N,00424.83442,E,0.068,161.59,120308,,,A*64
+$GPRMC,131236.00,A,5157.16978,N,00424.83446,E,0.078,160.35,120308,,,A*64
+$GPRMC,131237.00,A,5157.16981,N,00424.83429,E,0.116,165.08,120308,,,A*68
+$GPRMC,131238.00,A,5157.16978,N,00424.83430,E,0.074,165.30,120308,,,A*67
+$GPRMC,131239.00,A,5157.16994,N,00424.83390,E,0.431,173.57,120308,,,A*6A
+$GPRMC,131240.00,A,5157.16990,N,00424.83388,E,0.188,177.27,120308,,,A*6D
+$GPRMC,131241.00,A,5157.16966,N,00424.83409,E,0.520,176.53,120308,,,A*6F
+$GPRMC,131242.00,A,5157.16918,N,00424.83445,E,2.397,153.36,120308,,,A*61
+$GPRMC,131243.00,A,5157.16819,N,00424.83526,E,4.571,152.82,120308,,,A*62
+$GPRMC,131244.00,A,5157.16681,N,00424.83612,E,6.040,154.44,120308,,,A*67
+$GPRMC,131245.00,A,5157.16514,N,00424.83709,E,7.192,162.73,120308,,,A*6C
+$GPRMC,131246.00,A,5157.16315,N,00424.83825,E,7.863,157.24,120308,,,A*6A
+$GPRMC,131247.00,A,5157.16102,N,00424.83988,E,9.196,153.86,120308,,,A*68
+$GPRMC,131248.00,A,5157.15852,N,00424.84156,E,10.509,157.64,120308,,,A*56
+$GPRMC,131249.00,A,5157.15561,N,00424.84371,E,11.692,155.09,120308,,,A*54
+$GPRMC,131250.00,A,5157.15240,N,00424.84605,E,12.505,154.96,120308,,,A*57
+$GPRMC,131251.00,A,5157.14952,N,00424.84894,E,12.597,150.12,120308,,,A*5A
+$GPRMC,131252.00,A,5157.14631,N,00424.85169,E,12.879,154.15,120308,,,A*57
+$GPRMC,131253.00,A,5157.14303,N,00424.85440,E,12.921,153.61,120308,,,A*54
+$GPRMC,131254.00,A,5157.13971,N,00424.85719,E,13.562,153.84,120308,,,A*55
+$GPRMC,131255.00,A,5157.13620,N,00424.86001,E,14.220,153.51,120308,,,A*5C
+$GPRMC,131256.00,A,5157.13261,N,00424.86301,E,14.542,153.50,120308,,,A*5F
+$GPRMC,131257.00,A,5157.12896,N,00424.86601,E,14.451,153.78,120308,,,A*51
+$GPRMC,131258.00,A,5157.12541,N,00424.86900,E,13.980,151.99,120308,,,A*5C
+$GPRMC,131259.00,A,5157.12194,N,00424.87183,E,13.640,153.36,120308,,,A*57
+$GPRMC,131300.00,A,5157.11865,N,00424.87437,E,12.639,154.01,120308,,,A*58
+$GPRMC,131301.00,A,5157.11573,N,00424.87656,E,10.962,153.75,120308,,,A*51
+$GPRMC,131302.00,A,5157.11339,N,00424.87832,E,7.932,153.63,120308,,,A*62
+$GPRMC,131303.00,A,5157.11165,N,00424.87961,E,5.793,155.19,120308,,,A*63
+$GPRMC,131304.00,A,5157.11039,N,00424.88048,E,4.883,154.16,120308,,,A*60
+$GPRMC,131305.00,A,5157.10920,N,00424.88107,E,3.721,161.12,120308,,,A*69
+$GPRMC,131306.00,A,5157.10829,N,00424.88127,E,3.072,171.22,120308,,,A*63
+$GPRMC,131307.00,A,5157.10737,N,00424.88158,E,3.069,164.75,120308,,,A*66
+$GPRMC,131308.00,A,5157.10655,N,00424.88207,E,3.150,154.69,120308,,,A*60
+$GPRMC,131309.00,A,5157.10581,N,00424.88262,E,2.446,155.53,120308,,,A*63
+$GPRMC,131310.00,A,5157.10533,N,00424.88292,E,1.648,155.66,120308,,,A*64
+$GPRMC,131311.00,A,5157.10505,N,00424.88310,E,0.683,155.53,120308,,,A*6B
+$GPRMC,131312.00,A,5157.10499,N,00424.88315,E,0.067,151.93,120308,,,A*6D
+$GPRMC,131313.00,A,5157.10507,N,00424.88311,E,0.073,150.43,120308,,,A*67
+$GPRMC,131314.00,A,5157.10516,N,00424.88301,E,0.027,145.91,120308,,,A*6B
+$GPRMC,131315.00,A,5157.10518,N,00424.88303,E,0.038,142.49,120308,,,A*6A
+$GPRMC,131316.00,A,5157.10516,N,00424.88305,E,0.084,143.17,120308,,,A*6C
+$GPRMC,131317.00,A,5157.10508,N,00424.88316,E,0.105,145.57,120308,,,A*6A
+$GPRMC,131318.00,A,5157.10511,N,00424.88318,E,0.191,141.98,120308,,,A*69
+$GPRMC,131319.00,A,5157.10509,N,00424.88329,E,0.583,137.10,120308,,,A*65
+$GPRMC,131320.00,A,5157.10505,N,00424.88337,E,0.062,140.40,120308,,,A*63
+$GPRMC,131321.00,A,5157.10508,N,00424.88333,E,0.075,145.51,120308,,,A*68
+$GPRMC,131322.00,A,5157.10503,N,00424.88335,E,0.210,137.06,120308,,,A*60
+$GPRMC,131323.00,A,5157.10504,N,00424.88326,E,0.235,128.48,120308,,,A*67
+$GPRMC,131324.00,A,5157.10502,N,00424.88329,E,0.156,125.01,120308,,,A*6F
+$GPRMC,131325.00,A,5157.10492,N,00424.88335,E,0.044,127.41,120308,,,A*6F
+$GPRMC,131326.00,A,5157.10488,N,00424.88333,E,0.041,129.16,120308,,,A*68
+$GPRMC,131327.00,A,5157.10474,N,00424.88325,E,0.153,130.88,120308,,,A*60
+$GPRMC,131328.00,A,5157.10488,N,00424.88312,E,0.309,124.06,120308,,,A*66
+$GPRMC,131329.00,A,5157.10496,N,00424.88295,E,0.108,121.24,120308,,,A*60
+$GPRMC,131330.00,A,5157.10494,N,00424.88271,E,0.075,117.97,120308,,,A*66
+$GPRMC,131331.00,A,5157.10483,N,00424.88257,E,0.177,114.93,120308,,,A*61
+$GPRMC,131332.00,A,5157.10482,N,00424.88249,E,0.011,,120308,,,A*7D
+$GPRMC,131333.00,A,5157.10487,N,00424.88238,E,0.073,113.44,120308,,,A*66
+$GPRMC,131334.00,A,5157.10479,N,00424.88236,E,0.117,110.85,120308,,,A*63
+$GPRMC,131335.00,A,5157.10497,N,00424.88228,E,0.191,107.18,120308,,,A*61
+$GPRMC,131336.00,A,5157.10513,N,00424.88226,E,0.517,101.12,120308,,,A*67
+$GPRMC,131337.00,A,5157.10520,N,00424.88217,E,0.476,95.37,120308,,,A*59
+$GPRMC,131338.00,A,5157.10516,N,00424.88201,E,0.312,89.86,120308,,,A*56
+$GPRMC,131339.00,A,5157.10515,N,00424.88190,E,0.143,87.00,120308,,,A*59
+$GPRMC,131340.00,A,5157.10499,N,00424.88181,E,0.274,83.04,120308,,,A*55
+$GPRMC,131341.00,A,5157.10490,N,00424.88169,E,0.283,75.93,120308,,,A*54
+$GPRMC,131342.00,A,5157.10471,N,00424.88158,E,0.206,82.44,120308,,,A*55
+$GPRMC,131343.00,A,5157.10466,N,00424.88145,E,0.105,84.67,120308,,,A*59
+$GPRMC,131344.00,A,5157.10440,N,00424.88140,E,0.232,90.95,120308,,,A*50
+$GPRMC,131345.00,A,5157.10442,N,00424.88114,E,0.320,97.31,120308,,,A*59
+$GPRMC,131346.00,A,5157.10442,N,00424.88088,E,0.232,103.52,120308,,,A*65
+$GPRMC,131347.00,A,5157.10425,N,00424.88081,E,0.615,108.63,120308,,,A*64
+$GPRMC,131348.00,A,5157.10429,N,00424.88077,E,0.273,112.25,120308,,,A*63
+$GPRMC,131349.00,A,5157.10441,N,00424.88074,E,0.117,114.65,120308,,,A*6C
+$GPRMC,131350.00,A,5157.10426,N,00424.88057,E,0.383,119.55,120308,,,A*65
+$GPRMC,131351.00,A,5157.10465,N,00424.88041,E,0.155,120.77,120308,,,A*67
+$GPRMC,131352.00,A,5157.10444,N,00424.88032,E,0.246,127.11,120308,,,A*65
+$GPRMC,131353.00,A,5157.10485,N,00424.88035,E,0.264,119.73,120308,,,A*67
+$GPRMC,131354.00,A,5157.10466,N,00424.88034,E,0.013,,120308,,,A*7D
+$GPRMC,131355.00,A,5157.10457,N,00424.88029,E,0.003,,120308,,,A*73
+$GPRMC,131356.00,A,5157.10438,N,00424.88036,E,0.261,124.19,120308,,,A*60
+$GPRMC,131357.00,A,5157.10478,N,00424.88035,E,0.349,117.70,120308,,,A*62
+$GPRMC,131358.00,A,5157.10468,N,00424.88032,E,0.070,119.61,120308,,,A*6C
+$GPRMC,131359.00,A,5157.10480,N,00424.88039,E,0.247,115.67,120308,,,A*6C
+$GPRMC,131400.00,A,5157.10449,N,00424.88034,E,0.097,111.20,120308,,,A*67
+$GPRMC,131401.00,A,5157.10432,N,00424.88033,E,0.242,107.18,120308,,,A*6B
+$GPRMC,131402.00,A,5157.10410,N,00424.88047,E,0.415,108.13,120308,,,A*6B
+$GPRMC,131403.00,A,5157.10359,N,00424.88067,E,0.548,109.88,120308,,,A*68
+$GPRMC,131404.00,A,5157.10324,N,00424.88084,E,0.594,112.26,120308,,,A*67
+$GPRMC,131405.00,A,5157.10306,N,00424.88084,E,0.467,114.17,120308,,,A*6F
+$GPRMC,131406.00,A,5157.10278,N,00424.88099,E,0.895,116.17,120308,,,A*6B
+$GPRMC,131407.00,A,5157.10236,N,00424.88131,E,1.710,118.35,120308,,,A*6E
+$GPRMC,131408.00,A,5157.10108,N,00424.88131,E,3.195,163.04,120308,,,A*68
+$GPRMC,131409.00,A,5157.10006,N,00424.88178,E,4.211,160.82,120308,,,A*6E
+$GPRMC,131410.00,A,5157.09917,N,00424.88249,E,3.534,151.07,120308,,,A*6E
+$GPRMC,131411.00,A,5157.09833,N,00424.88328,E,3.324,143.93,120308,,,A*67
+$GPRMC,131412.00,A,5157.09750,N,00424.88435,E,3.717,134.10,120308,,,A*6A
+$GPRMC,131413.00,A,5157.09633,N,00424.88486,E,4.513,156.19,120308,,,A*6B
+$GPRMC,131414.00,A,5157.09493,N,00424.88545,E,5.020,157.83,120308,,,A*6C
+$GPRMC,131415.00,A,5157.09356,N,00424.88601,E,4.670,159.46,120308,,,A*65
+$GPRMC,131416.00,A,5157.09240,N,00424.88657,E,4.539,162.46,120308,,,A*65
+$GPRMC,131417.00,A,5157.09150,N,00424.88712,E,4.286,165.19,120308,,,A*68
+$GPRMC,131418.00,A,5157.09087,N,00424.88798,E,4.392,160.73,120308,,,A*63
+$GPRMC,131419.00,A,5157.09024,N,00424.88900,E,3.914,146.63,120308,,,A*62
+$GPRMC,131420.00,A,5157.08961,N,00424.89035,E,3.533,138.22,120308,,,A*6A
+$GPRMC,131421.00,A,5157.08926,N,00424.89086,E,1.908,139.85,120308,,,A*6A
+$GPRMC,131422.00,A,5157.08910,N,00424.89132,E,1.104,138.72,120308,,,A*6F
+$GPRMC,131423.00,A,5157.08898,N,00424.89219,E,0.755,135.25,120308,,,A*69
+$GPRMC,131424.00,A,5157.08889,N,00424.89252,E,0.314,138.71,120308,,,A*6C
+$GPRMC,131425.00,A,5157.08878,N,00424.89253,E,0.528,143.25,120308,,,A*66
+$GPRMC,131426.00,A,5157.08858,N,00424.89248,E,0.922,145.33,120308,,,A*6A
+$GPRMC,131427.00,A,5157.08830,N,00424.89243,E,0.974,147.76,120308,,,A*6E
+$GPRMC,131428.00,A,5157.08787,N,00424.89277,E,1.398,149.07,120308,,,A*64
+$GPRMC,131429.00,A,5157.08745,N,00424.89305,E,1.237,150.38,120308,,,A*6F
+$GPRMC,131430.00,A,5157.08709,N,00424.89366,E,0.852,151.63,120308,,,A*6D
+$GPRMC,131431.00,A,5157.08698,N,00424.89372,E,0.341,152.12,120308,,,A*6C
+$GPRMC,131432.00,A,5157.08687,N,00424.89434,E,0.071,156.04,120308,,,A*67
+$GPRMC,131433.00,A,5157.08681,N,00424.89469,E,0.063,156.60,120308,,,A*69
+$GPRMC,131434.00,A,5157.08681,N,00424.89503,E,0.072,160.51,120308,,,A*64
+$GPRMC,131435.00,A,5157.08682,N,00424.89527,E,0.018,,120308,,,A*71
+$GPRMC,131436.00,A,5157.08682,N,00424.89543,E,0.038,164.54,120308,,,A*6E
+$GPRMC,131437.00,A,5157.08680,N,00424.89551,E,0.096,162.99,120308,,,A*6D
+$GPRMC,131438.00,A,5157.08676,N,00424.89564,E,0.074,161.34,120308,,,A*65
+$GPRMC,131439.00,A,5157.08671,N,00424.89578,E,0.039,155.86,120308,,,A*69
+$GPRMC,131440.00,A,5157.08666,N,00424.89582,E,0.132,153.99,120308,,,A*66
+$GPRMC,131441.00,A,5157.08661,N,00424.89596,E,0.266,152.94,120308,,,A*6B
+$GPRMC,131442.00,A,5157.08647,N,00424.89614,E,0.621,152.89,120308,,,A*6E
+$GPRMC,131443.00,A,5157.08633,N,00424.89621,E,0.503,153.80,120308,,,A*61
+$GPRMC,131444.00,A,5157.08621,N,00424.89634,E,0.451,153.12,120308,,,A*6C
+$GPRMC,131445.00,A,5157.08610,N,00424.89638,E,0.453,153.55,120308,,,A*62
+$GPRMC,131446.00,A,5157.08606,N,00424.89648,E,0.400,153.59,120308,,,A*6B
+$GPRMC,131447.00,A,5157.08587,N,00424.89634,E,0.375,153.93,120308,,,A*68
+$GPRMC,131448.00,A,5157.08574,N,00424.89614,E,0.271,155.94,120308,,,A*6D
+$GPRMC,131449.00,A,5157.08563,N,00424.89605,E,0.246,156.68,120308,,,A*6E
+$GPRMC,131450.00,A,5157.08551,N,00424.89603,E,0.348,156.33,120308,,,A*60
+$GPRMC,131451.00,A,5157.08540,N,00424.89601,E,0.201,156.95,120308,,,A*63
+$GPRMC,131452.00,A,5157.08533,N,00424.89596,E,0.139,157.14,120308,,,A*69
+$GPRMC,131453.00,A,5157.08528,N,00424.89598,E,0.025,153.02,120308,,,A*63
+$GPRMC,131454.00,A,5157.08525,N,00424.89601,E,0.018,,120308,,,A*7F
+$GPRMC,131455.00,A,5157.08526,N,00424.89599,E,0.011,,120308,,,A*76
+$GPRMC,131456.00,A,5157.08525,N,00424.89601,E,0.057,151.87,120308,,,A*62
+$GPRMC,131457.00,A,5157.08527,N,00424.89605,E,0.039,151.65,120308,,,A*61
+$GPRMC,131458.00,A,5157.08530,N,00424.89609,E,0.110,156.74,120308,,,A*69
+$GPRMC,131459.00,A,5157.08538,N,00424.89603,E,0.014,,120308,,,A*70
+$GPRMC,131500.00,A,5157.08541,N,00424.89613,E,0.065,156.54,120308,,,A*69
+$GPRMC,131501.00,A,5157.08543,N,00424.89621,E,0.058,156.04,120308,,,A*60
+$GPRMC,131502.00,A,5157.08547,N,00424.89628,E,0.087,154.69,120308,,,A*65
+$GPRMC,131503.00,A,5157.08547,N,00424.89645,E,0.051,158.35,120308,,,A*61
+$GPRMC,131504.00,A,5157.08552,N,00424.89652,E,0.028,157.72,120308,,,A*66
+$GPRMC,131505.00,A,5157.08555,N,00424.89662,E,0.179,162.42,120308,,,A*63
+$GPRMC,131506.00,A,5157.08554,N,00424.89675,E,0.178,161.33,120308,,,A*63
+$GPRMC,131507.00,A,5157.08545,N,00424.89706,E,0.359,159.46,120308,,,A*6F
+$GPRMC,131508.00,A,5157.08544,N,00424.89718,E,0.326,157.41,120308,,,A*6F
+$GPRMC,131509.00,A,5157.08540,N,00424.89740,E,0.093,156.76,120308,,,A*6F
+$GPRMC,131510.00,A,5157.08538,N,00424.89760,E,0.155,155.78,120308,,,A*6C
+$GPRMC,131511.00,A,5157.08543,N,00424.89765,E,0.045,153.77,120308,,,A*6D
+$GPRMC,131512.00,A,5157.08542,N,00424.89777,E,0.066,153.18,120308,,,A*64
+$GPRMC,131513.00,A,5157.08541,N,00424.89790,E,0.036,156.24,120308,,,A*60
+$GPRMC,131514.00,A,5157.08545,N,00424.89789,E,0.132,161.43,120308,,,A*6B
+$GPRMC,131515.00,A,5157.08547,N,00424.89789,E,0.172,165.97,120308,,,A*61
+$GPRMC,131516.00,A,5157.08548,N,00424.89788,E,0.079,164.54,120308,,,A*68
+$GPRMC,131517.00,A,5157.08548,N,00424.89792,E,0.042,163.72,120308,,,A*69
+$GPRMC,131518.00,A,5157.08548,N,00424.89794,E,0.039,162.59,120308,,,A*64
+$GPRMC,131519.00,A,5157.08553,N,00424.89787,E,0.009,,120308,,,A*79
+$GPRMC,131520.00,A,5157.08553,N,00424.89789,E,0.044,167.56,120308,,,A*69
+$GPRMC,131521.00,A,5157.08555,N,00424.89788,E,0.154,166.44,120308,,,A*6D
+$GPRMC,131522.00,A,5157.08557,N,00424.89784,E,0.504,164.30,120308,,,A*60
+$GPRMC,131523.00,A,5157.08554,N,00424.89786,E,0.036,162.94,120308,,,A*6C
+$GPRMC,131524.00,A,5157.08548,N,00424.89791,E,0.021,163.81,120308,,,A*63
+$GPRMC,131525.00,A,5157.08539,N,00424.89803,E,0.267,161.71,120308,,,A*6D
+$GPRMC,131526.00,A,5157.08535,N,00424.89808,E,0.190,160.77,120308,,,A*65
+$GPRMC,131527.00,A,5157.08538,N,00424.89801,E,0.008,,120308,,,A*79
+$GPRMC,131528.00,A,5157.08534,N,00424.89805,E,0.078,159.88,120308,,,A*6A
+$GPRMC,131529.00,A,5157.08534,N,00424.89804,E,0.032,158.83,120308,,,A*6E
+$GPRMC,131530.00,A,5157.08531,N,00424.89807,E,0.098,157.75,120308,,,A*66
+$GPRMC,131531.00,A,5157.08528,N,00424.89805,E,0.088,162.59,120308,,,A*64
+$GPRMC,131532.00,A,5157.08528,N,00424.89802,E,0.062,167.46,120308,,,A*6F
+$GPRMC,131533.00,A,5157.08527,N,00424.89799,E,0.162,166.33,120308,,,A*6E
+$GPRMC,131534.00,A,5157.08526,N,00424.89797,E,0.078,171.01,120308,,,A*6B
+$GPRMC,131535.00,A,5157.08527,N,00424.89794,E,0.149,175.18,120308,,,A*67
+$GPRMC,131536.00,A,5157.08529,N,00424.89787,E,0.031,179.02,120308,,,A*61
+$GPRMC,131537.00,A,5157.08521,N,00424.89799,E,0.239,175.90,120308,,,A*6A
+$GPRMC,131538.00,A,5157.08521,N,00424.89799,E,0.078,180.08,120308,,,A*69
+$GPRMC,131539.00,A,5157.08530,N,00424.89780,E,0.279,188.57,120308,,,A*61
+$GPRMC,131540.00,A,5157.08531,N,00424.89775,E,0.016,,120308,,,A*72
+$GPRMC,131541.00,A,5157.08528,N,00424.89780,E,0.022,188.12,120308,,,A*6A
+$GPRMC,131542.00,A,5157.08518,N,00424.89798,E,0.035,193.02,120308,,,A*6E
+$GPRMC,131543.00,A,5157.08519,N,00424.89796,E,0.111,190.98,120308,,,A*67
+$GPRMC,131544.00,A,5157.08515,N,00424.89797,E,0.143,189.19,120308,,,A*6B
+$GPRMC,131545.00,A,5157.08505,N,00424.89815,E,0.014,,120308,,,A*7B
+$GPRMC,131546.00,A,5157.08501,N,00424.89818,E,0.122,187.05,120308,,,A*60
+$GPRMC,131547.00,A,5157.08491,N,00424.89834,E,0.262,183.78,120308,,,A*6E
+$GPRMC,131548.00,A,5157.08479,N,00424.89853,E,0.419,180.53,120308,,,A*66
+$GPRMC,131549.00,A,5157.08464,N,00424.89874,E,0.356,177.35,120308,,,A*6A
+$GPRMC,131550.00,A,5157.08457,N,00424.89883,E,0.233,174.63,120308,,,A*68
+$GPRMC,131551.00,A,5157.08446,N,00424.89899,E,0.124,178.73,120308,,,A*6A
+$GPRMC,131552.00,A,5157.08430,N,00424.89920,E,0.140,181.24,120308,,,A*6D
+$GPRMC,131553.00,A,5157.08402,N,00424.89953,E,0.645,179.66,120308,,,A*6A
+$GPRMC,131554.00,A,5157.08374,N,00424.89975,E,0.876,178.63,120308,,,A*65
+$GPRMC,131555.00,A,5157.08347,N,00424.89987,E,1.119,177.43,120308,,,A*65
+$GPRMC,131556.00,A,5157.08315,N,00424.90006,E,1.198,176.52,120308,,,A*61
+$GPRMC,131557.00,A,5157.08280,N,00424.90010,E,1.612,176.42,120308,,,A*6E
+$GPRMC,131558.00,A,5157.08205,N,00424.90035,E,3.871,168.92,120308,,,A*60
+$GPRMC,131559.00,A,5157.08087,N,00424.90053,E,5.755,173.24,120308,,,A*61
+$GPRMC,131600.00,A,5157.07911,N,00424.90074,E,7.738,173.27,120308,,,A*68
+$GPRMC,131601.00,A,5157.07705,N,00424.90079,E,7.344,179.56,120308,,,A*6C
+$GPRMC,131602.00,A,5157.07530,N,00424.90036,E,7.186,180.89,120308,,,A*68
+$GPRMC,131603.00,A,5157.07359,N,00424.90039,E,6.083,173.20,120308,,,A*65
+$GPRMC,131604.00,A,5157.07225,N,00424.90032,E,5.074,177.58,120308,,,A*63
+$GPRMC,131605.00,A,5157.07097,N,00424.90018,E,5.090,179.08,120308,,,A*60
+$GPRMC,131606.00,A,5157.06947,N,00424.90058,E,6.112,170.16,120308,,,A*6C
+$GPRMC,131607.00,A,5157.06721,N,00424.89979,E,9.102,186.83,120308,,,A*6A
+$GPRMC,131608.00,A,5157.06450,N,00424.89890,E,9.945,188.15,120308,,,A*6C
+$GPRMC,131609.00,A,5157.06137,N,00424.89824,E,11.511,185.88,120308,,,A*5B
+$GPRMC,131610.00,A,5157.05791,N,00424.89735,E,12.355,185.79,120308,,,A*5E
+$GPRMC,131611.00,A,5157.05456,N,00424.89593,E,12.926,187.73,120308,,,A*5F
+$GPRMC,131612.00,A,5157.05063,N,00424.89438,E,14.761,190.38,120308,,,A*5C
+$GPRMC,131613.00,A,5157.04633,N,00424.89301,E,15.078,187.50,120308,,,A*54
+$GPRMC,131614.00,A,5157.04230,N,00424.89157,E,14.518,190.12,120308,,,A*57
+$GPRMC,131615.00,A,5157.03863,N,00424.88999,E,13.476,192.03,120308,,,A*5A
+$GPRMC,131616.00,A,5157.03538,N,00424.88826,E,11.431,195.45,120308,,,A*5B
+$GPRMC,131617.00,A,5157.03276,N,00424.88698,E,8.282,193.34,120308,,,A*6A
+$GPRMC,131618.00,A,5157.03064,N,00424.88622,E,5.539,197.70,120308,,,A*6B
+$GPRMC,131619.00,A,5157.02953,N,00424.88563,E,2.622,200.99,120308,,,A*64
+$GPRMC,131620.00,A,5157.02931,N,00424.88537,E,0.393,199.24,120308,,,A*63
+$GPRMC,131621.00,A,5157.02948,N,00424.88511,E,0.274,209.96,120308,,,A*63
+$GPRMC,131622.00,A,5157.02967,N,00424.88497,E,0.356,219.36,120308,,,A*68
+$GPRMC,131623.00,A,5157.02995,N,00424.88501,E,0.217,229.60,120308,,,A*6E
+$GPRMC,131624.00,A,5157.03027,N,00424.88485,E,0.136,229.29,120308,,,A*68
+$GPRMC,131625.00,A,5157.03036,N,00424.88486,E,0.116,227.45,120308,,,A*6C
+$GPRMC,131626.00,A,5157.03047,N,00424.88482,E,0.126,226.41,120308,,,A*6B
+$GPRMC,131627.00,A,5157.03096,N,00424.88438,E,0.765,232.48,120308,,,A*6A
+$GPRMC,131628.00,A,5157.03130,N,00424.88400,E,0.008,,120308,,,A*7E
+$GPRMC,131629.00,A,5157.03165,N,00424.88377,E,0.033,237.21,120308,,,A*6B
+$GPRMC,131630.00,A,5157.03213,N,00424.88375,E,0.007,,120308,,,A*7F
+$GPRMC,131631.00,A,5157.03245,N,00424.88366,E,0.013,,120308,,,A*7A
+$GPRMC,131632.00,A,5157.03263,N,00424.88357,E,0.015,,120308,,,A*79
+$GPRMC,131633.00,A,5157.03280,N,00424.88344,E,0.022,238.10,120308,,,A*65
+$GPRMC,131634.00,A,5157.03293,N,00424.88325,E,0.032,236.60,120308,,,A*6F
+$GPRMC,131635.00,A,5157.03291,N,00424.88309,E,0.087,236.08,120308,,,A*62
+$GPRMC,131636.00,A,5157.03293,N,00424.88305,E,0.121,235.29,120308,,,A*62
+$GPRMC,131637.00,A,5157.03266,N,00424.88298,E,0.184,234.07,120308,,,A*6E
+$GPRMC,131638.00,A,5157.03246,N,00424.88298,E,0.122,232.96,120308,,,A*61
+$GPRMC,131639.00,A,5157.03233,N,00424.88294,E,0.117,231.99,120308,,,A*64
+$GPRMC,131640.00,A,5157.03225,N,00424.88287,E,0.091,231.05,120308,,,A*65
+$GPRMC,131641.00,A,5157.03214,N,00424.88281,E,0.113,229.96,120308,,,A*68
+$GPRMC,131642.00,A,5157.03207,N,00424.88276,E,0.079,228.71,120308,,,A*64
+$GPRMC,131643.00,A,5157.03201,N,00424.88264,E,0.075,227.48,120308,,,A*69
+$GPRMC,131644.00,A,5157.03197,N,00424.88250,E,0.069,227.54,120308,,,A*65
+$GPRMC,131645.00,A,5157.03199,N,00424.88236,E,0.065,226.50,120308,,,A*63
+$GPRMC,131646.00,A,5157.03199,N,00424.88225,E,0.071,225.11,120308,,,A*61
+$GPRMC,131647.00,A,5157.03201,N,00424.88213,E,0.108,224.81,120308,,,A*60
+$GPRMC,131648.00,A,5157.03201,N,00424.88201,E,0.065,224.00,120308,,,A*6F
+$GPRMC,131649.00,A,5157.03206,N,00424.88192,E,0.038,223.91,120308,,,A*67
+$GPRMC,131650.00,A,5157.03211,N,00424.88184,E,0.036,219.01,120308,,,A*60
+$GPRMC,131651.00,A,5157.03216,N,00424.88175,E,0.042,223.94,120308,,,A*6E
+$GPRMC,131652.00,A,5157.03223,N,00424.88166,E,0.035,228.45,120308,,,A*6E
+$GPRMC,131653.00,A,5157.03232,N,00424.88159,E,0.010,,120308,,,A*73
+$GPRMC,131654.00,A,5157.03237,N,00424.88148,E,0.021,227.61,120308,,,A*6D
+$GPRMC,131655.00,A,5157.03244,N,00424.88141,E,0.026,232.50,120308,,,A*60
+$GPRMC,131656.00,A,5157.03250,N,00424.88132,E,0.045,236.74,120308,,,A*65
+$GPRMC,131657.00,A,5157.03252,N,00424.88121,E,0.021,239.68,120308,,,A*64
+$GPRMC,131658.00,A,5157.03253,N,00424.88111,E,0.023,244.79,120308,,,A*61
+$GPRMC,131659.00,A,5157.03257,N,00424.88102,E,0.040,249.51,120308,,,A*64
+$GPRMC,131700.00,A,5157.03257,N,00424.88090,E,0.028,249.78,120308,,,A*66
+$GPRMC,131701.00,A,5157.03259,N,00424.88080,E,0.028,247.19,120308,,,A*61
+$GPRMC,131702.00,A,5157.03264,N,00424.88076,E,0.055,245.61,120308,,,A*62
+$GPRMC,131703.00,A,5157.03263,N,00424.88070,E,0.100,243.62,120308,,,A*66
+$GPRMC,131704.00,A,5157.03264,N,00424.88065,E,0.090,242.51,120308,,,A*6B
+$GPRMC,131705.00,A,5157.03266,N,00424.88061,E,0.009,,120308,,,A*72
+$GPRMC,131706.00,A,5157.03270,N,00424.88060,E,0.004,,120308,,,A*7A
+$GPRMC,131707.00,A,5157.03272,N,00424.88061,E,0.012,,120308,,,A*7F
+$GPRMC,131708.00,A,5157.03277,N,00424.88059,E,0.057,246.99,120308,,,A*61
+$GPRMC,131709.00,A,5157.03279,N,00424.88058,E,0.029,241.73,120308,,,A*65
+$GPRMC,131710.00,A,5157.03282,N,00424.88058,E,0.078,245.76,120308,,,A*6C
+$GPRMC,131711.00,A,5157.03285,N,00424.88058,E,0.035,249.24,120308,,,A*68
+$GPRMC,131712.00,A,5157.03281,N,00424.88057,E,0.057,253.71,120308,,,A*6F
+$GPRMC,131713.00,A,5157.03282,N,00424.88058,E,0.005,,120308,,,A*79
+$GPRMC,131714.00,A,5157.03283,N,00424.88056,E,0.009,,120308,,,A*7D
+$GPRMC,131715.00,A,5157.03288,N,00424.88058,E,0.012,,120308,,,A*73
+$GPRMC,131716.00,A,5157.03291,N,00424.88061,E,0.022,257.43,120308,,,A*68
+$GPRMC,131717.00,A,5157.03290,N,00424.88061,E,0.007,,120308,,,A*76
+$GPRMC,131718.00,A,5157.03288,N,00424.88062,E,0.095,255.02,120308,,,A*66
+$GPRMC,131719.00,A,5157.03289,N,00424.88061,E,0.029,252.81,120308,,,A*6E
+$GPRMC,131720.00,A,5157.03290,N,00424.88060,E,0.071,250.84,120308,,,A*67
+$GPRMC,131721.00,A,5157.03293,N,00424.88058,E,0.015,,120308,,,A*79
+$GPRMC,131722.00,A,5157.03295,N,00424.88055,E,0.029,253.63,120308,,,A*61
+$GPRMC,131723.00,A,5157.03295,N,00424.88052,E,0.014,,120308,,,A*76
+$GPRMC,131724.00,A,5157.03294,N,00424.88050,E,0.024,251.51,120308,,,A*6D
+$GPRMC,131725.00,A,5157.03294,N,00424.88048,E,0.042,249.83,120308,,,A*63
+$GPRMC,131726.00,A,5157.03295,N,00424.88047,E,0.012,,120308,,,A*71
+$GPRMC,131727.00,A,5157.03296,N,00424.88046,E,0.017,,120308,,,A*77
+$GPRMC,131728.00,A,5157.03296,N,00424.88046,E,0.053,247.54,120308,,,A*66
+$GPRMC,131729.00,A,5157.03296,N,00424.88047,E,0.051,245.91,120308,,,A*6F
+$GPRMC,131730.00,A,5157.03298,N,00424.88046,E,0.030,249.06,120308,,,A*6D
+$GPRMC,131731.00,A,5157.03300,N,00424.88047,E,0.025,245.39,120308,,,A*69
+$GPRMC,131732.00,A,5157.03298,N,00424.88046,E,0.015,,120308,,,A*7F
+$GPRMC,131733.00,A,5157.03303,N,00424.88048,E,0.011,,120308,,,A*77
+$GPRMC,131734.00,A,5157.03305,N,00424.88047,E,0.008,,120308,,,A*71
+$GPRMC,131735.00,A,5157.03302,N,00424.88046,E,0.011,,120308,,,A*7E
+$GPRMC,131736.00,A,5157.03296,N,00424.88044,E,0.049,243.31,120308,,,A*67
+$GPRMC,131737.00,A,5157.03279,N,00424.88038,E,1.344,240.21,120308,,,A*61
+$GPRMC,131738.00,A,5157.03200,N,00424.88012,E,4.309,191.81,120308,,,A*61
+$GPRMC,131739.00,A,5157.03033,N,00424.87965,E,8.005,189.96,120308,,,A*68
+$GPRMC,131740.00,A,5157.02759,N,00424.87912,E,11.673,185.38,120308,,,A*5B
+$GPRMC,131741.00,A,5157.02380,N,00424.87892,E,14.381,180.16,120308,,,A*57
+$GPRMC,131742.00,A,5157.01961,N,00424.87946,E,14.788,171.97,120308,,,A*50
+$GPRMC,131743.00,A,5157.01562,N,00424.88097,E,14.024,162.86,120308,,,A*57
+$GPRMC,131744.00,A,5157.01208,N,00424.88301,E,12.174,158.69,120308,,,A*5D
+$GPRMC,131745.00,A,5157.00893,N,00424.88581,E,11.418,148.84,120308,,,A*55
+$GPRMC,131746.00,A,5157.00604,N,00424.88852,E,11.041,149.33,120308,,,A*50
+$GPRMC,131747.00,A,5157.00315,N,00424.89113,E,11.086,148.52,120308,,,A*54
+$GPRMC,131748.00,A,5157.00029,N,00424.89392,E,11.925,149.29,120308,,,A*51
+$GPRMC,131749.00,A,5156.99758,N,00424.89672,E,10.639,148.57,120308,,,A*50
+$GPRMC,131750.00,A,5156.99533,N,00424.89912,E,8.276,145.52,120308,,,A*60
+$GPRMC,131751.00,A,5156.99322,N,00424.90111,E,8.229,148.92,120308,,,A*6F
+$GPRMC,131752.00,A,5156.99092,N,00424.90311,E,9.520,148.98,120308,,,A*63
+$GPRMC,131753.00,A,5156.98847,N,00424.90540,E,10.159,148.24,120308,,,A*54
+$GPRMC,131754.00,A,5156.98578,N,00424.90789,E,11.641,148.80,120308,,,A*54
+$GPRMC,131755.00,A,5156.98303,N,00424.91134,E,13.185,135.64,120308,,,A*53
+$GPRMC,131756.00,A,5156.98068,N,00424.91654,E,14.683,122.15,120308,,,A*59
+$GPRMC,131757.00,A,5156.97910,N,00424.92292,E,15.135,105.35,120308,,,A*50
+$GPRMC,131758.00,A,5156.97910,N,00424.93005,E,15.372,88.42,120308,,,A*67
+$GPRMC,131759.00,A,5156.98119,N,00424.93742,E,17.292,64.28,120308,,,A*6F
+$GPRMC,131800.00,A,5156.98441,N,00424.94483,E,19.565,49.65,120308,,,A*6A
+$GPRMC,131801.00,A,5156.98828,N,00424.95253,E,22.003,49.82,120308,,,A*66
+$GPRMC,131802.00,A,5156.99251,N,00424.96083,E,23.319,52.00,120308,,,A*65
+$GPRMC,131803.00,A,5156.99662,N,00424.96968,E,24.182,54.87,120308,,,A*62
+$GPRMC,131804.00,A,5157.00061,N,00424.97867,E,23.420,55.61,120308,,,A*6D
+$GPRMC,131805.00,A,5157.00417,N,00424.98726,E,22.120,55.34,120308,,,A*68
+$GPRMC,131806.00,A,5157.00750,N,00424.99511,E,19.952,54.58,120308,,,A*62
+$GPRMC,131807.00,A,5157.01033,N,00425.00190,E,16.590,55.71,120308,,,A*6B
+$GPRMC,131808.00,A,5157.01272,N,00425.00743,E,14.321,54.55,120308,,,A*62
+$GPRMC,131809.00,A,5157.01483,N,00425.01243,E,13.009,55.14,120308,,,A*65
+$GPRMC,131810.00,A,5157.01675,N,00425.01707,E,11.779,54.78,120308,,,A*6A
+$GPRMC,131811.00,A,5157.01851,N,00425.02107,E,10.479,54.61,120308,,,A*6C
+$GPRMC,131812.00,A,5157.01995,N,00425.02449,E,8.313,52.67,120308,,,A*5B
+$GPRMC,131813.00,A,5157.02102,N,00425.02679,E,5.196,54.81,120308,,,A*52
+$GPRMC,131814.00,A,5157.02158,N,00425.02794,E,2.126,53.30,120308,,,A*59
+$GPRMC,131815.00,A,5157.02183,N,00425.02845,E,1.195,53.52,120308,,,A*52
+$GPRMC,131816.00,A,5157.02194,N,00425.02877,E,0.794,53.50,120308,,,A*52
+$GPRMC,131817.00,A,5157.02187,N,00425.02908,E,0.553,57.76,120308,,,A*51
+$GPRMC,131818.00,A,5157.02182,N,00425.02907,E,0.218,61.72,120308,,,A*5D
+$GPRMC,131819.00,A,5157.02175,N,00425.02906,E,0.141,63.66,120308,,,A*5D
+$GPRMC,131820.00,A,5157.02170,N,00425.02899,E,0.208,68.19,120308,,,A*58
+$GPRMC,131821.00,A,5157.02161,N,00425.02905,E,0.380,71.01,120308,,,A*5D
+$GPRMC,131822.00,A,5157.02155,N,00425.02907,E,0.208,73.83,120308,,,A*52
+$GPRMC,131823.00,A,5157.02154,N,00425.02889,E,0.031,75.43,120308,,,A*57
+$GPRMC,131824.00,A,5157.02154,N,00425.02872,E,0.120,76.94,120308,,,A*5C
+$GPRMC,131825.00,A,5157.02153,N,00425.02859,E,0.053,78.64,120308,,,A*57
+$GPRMC,131826.00,A,5157.02157,N,00425.02839,E,0.036,79.31,120308,,,A*54
+$GPRMC,131827.00,A,5157.02158,N,00425.02823,E,0.015,,120308,,,A*72
+$GPRMC,131828.00,A,5157.02159,N,00425.02810,E,0.027,80.54,120308,,,A*5A
+$GPRMC,131829.00,A,5157.02157,N,00425.02808,E,0.420,83.20,120308,,,A*5F
+$GPRMC,131830.00,A,5157.02156,N,00425.02803,E,0.039,83.88,120308,,,A*53
+$GPRMC,131831.00,A,5157.02158,N,00425.02792,E,0.014,,120308,,,A*71
+$GPRMC,131832.00,A,5157.02161,N,00425.02778,E,0.135,79.49,120308,,,A*53
+$GPRMC,131833.00,A,5157.02166,N,00425.02761,E,0.140,75.19,120308,,,A*56
+$GPRMC,131834.00,A,5157.02165,N,00425.02758,E,0.065,71.42,120308,,,A*54
+$GPRMC,131835.00,A,5157.02164,N,00425.02755,E,0.012,,120308,,,A*77
+$GPRMC,131836.00,A,5157.02161,N,00425.02757,E,0.051,73.20,120308,,,A*5C
+$GPRMC,131837.00,A,5157.02159,N,00425.02759,E,0.023,74.19,120308,,,A*50
+$GPRMC,131838.00,A,5157.02156,N,00425.02759,E,0.039,69.80,120308,,,A*57
+$GPRMC,131839.00,A,5157.02153,N,00425.02760,E,0.029,67.98,120308,,,A*5F
+$GPRMC,131840.00,A,5157.02146,N,00425.02768,E,0.105,69.68,120308,,,A*53
+$GPRMC,131841.00,A,5157.02142,N,00425.02769,E,0.017,,120308,,,A*7A
+$GPRMC,131842.00,A,5157.02139,N,00425.02768,E,0.013,,120308,,,A*70
+$GPRMC,131843.00,A,5157.02135,N,00425.02770,E,0.182,71.27,120308,,,A*50
+$GPRMC,131844.00,A,5157.02133,N,00425.02769,E,0.003,,120308,,,A*7C
+$GPRMC,131845.00,A,5157.02132,N,00425.02764,E,0.012,,120308,,,A*71
+$GPRMC,131846.00,A,5157.02129,N,00425.02771,E,0.007,,120308,,,A*78
+$GPRMC,131847.00,A,5157.02127,N,00425.02772,E,0.027,66.38,120308,,,A*53
+$GPRMC,131848.00,A,5157.02125,N,00425.02776,E,0.006,,120308,,,A*7C
+$GPRMC,131849.00,A,5157.02123,N,00425.02778,E,0.051,68.43,120308,,,A*50
+$GPRMC,131850.00,A,5157.02121,N,00425.02790,E,0.049,69.53,120308,,,A*55
+$GPRMC,131851.00,A,5157.02115,N,00425.02810,E,0.062,71.56,120308,,,A*51
+$GPRMC,131852.00,A,5157.02107,N,00425.02832,E,0.056,71.89,120308,,,A*54
+$GPRMC,131853.00,A,5157.02103,N,00425.02842,E,0.020,68.45,120308,,,A*5F
+$GPRMC,131854.00,A,5157.02102,N,00425.02849,E,0.109,64.45,120308,,,A*54
+$GPRMC,131855.00,A,5157.02099,N,00425.02858,E,0.136,60.93,120308,,,A*55
+$GPRMC,131856.00,A,5157.02097,N,00425.02865,E,0.117,63.08,120308,,,A*54
+$GPRMC,131857.00,A,5157.02088,N,00425.02887,E,0.075,63.25,120308,,,A*5D
+$GPRMC,131858.00,A,5157.02093,N,00425.02907,E,0.853,62.13,120308,,,A*59
+$GPRMC,131859.00,A,5157.02135,N,00425.03006,E,4.073,44.37,120308,,,A*50
+$GPRMC,131900.00,A,5157.02242,N,00425.03261,E,8.764,53.29,120308,,,A*59
+$GPRMC,131901.00,A,5157.02423,N,00425.03667,E,12.711,54.19,120308,,,A*66
+$GPRMC,131902.00,A,5157.02649,N,00425.04154,E,13.877,53.43,120308,,,A*6D
+$GPRMC,131903.00,A,5157.02905,N,00425.04619,E,13.783,46.30,120308,,,A*61
+$GPRMC,131904.00,A,5157.03227,N,00425.04981,E,14.587,26.68,120308,,,A*68
+$GPRMC,131905.00,A,5157.03607,N,00425.04960,E,13.505,353.86,120308,,,A*5C
+$GPRMC,131906.00,A,5157.03983,N,00425.04578,E,15.472,325.46,120308,,,A*53
+$GPRMC,131907.00,A,5157.04234,N,00425.03973,E,14.755,304.69,120308,,,A*5B
+$GPRMC,131908.00,A,5157.04406,N,00425.03304,E,15.601,292.41,120308,,,A*5C
+$GPRMC,131909.00,A,5157.04579,N,00425.02515,E,17.022,289.80,120308,,,A*51
+$GPRMC,131910.00,A,5157.04783,N,00425.01653,E,21.232,291.82,120308,,,A*51
+$GPRMC,131911.00,A,5157.05093,N,00425.00666,E,25.337,299.09,120308,,,A*5B
+$GPRMC,131912.00,A,5157.05513,N,00424.99591,E,28.405,305.66,120308,,,A*59
+$GPRMC,131913.00,A,5157.06008,N,00424.98535,E,29.005,309.06,120308,,,A*54
+$GPRMC,131914.00,A,5157.06554,N,00424.97502,E,30.476,311.23,120308,,,A*52
+$GPRMC,131915.00,A,5157.07148,N,00424.96457,E,30.829,312.21,120308,,,A*5C
+$GPRMC,131916.00,A,5157.07733,N,00424.95435,E,30.191,313.76,120308,,,A*5B
+$GPRMC,131917.00,A,5157.08319,N,00424.94437,E,30.313,314.38,120308,,,A*5F
+$GPRMC,131918.00,A,5157.08962,N,00424.93463,E,31.985,317.47,120308,,,A*5F
+$GPRMC,131919.00,A,5157.09666,N,00424.92550,E,32.886,323.78,120308,,,A*5E
+$GPRMC,131920.00,A,5157.10462,N,00424.91702,E,34.360,327.32,120308,,,A*53
+$GPRMC,131921.00,A,5157.11303,N,00424.90848,E,36.139,328.40,120308,,,A*55
+$GPRMC,131922.00,A,5157.12222,N,00424.90023,E,37.617,330.45,120308,,,A*54
+$GPRMC,131923.00,A,5157.13152,N,00424.89204,E,37.919,331.69,120308,,,A*51
+$GPRMC,131924.00,A,5157.14155,N,00424.88400,E,39.410,332.88,120308,,,A*53
+$GPRMC,131925.00,A,5157.15173,N,00424.87580,E,40.317,333.44,120308,,,A*5E
+$GPRMC,131926.00,A,5157.16208,N,00424.86735,E,41.562,332.87,120308,,,A*57
+$GPRMC,131927.00,A,5157.17182,N,00424.85816,E,42.088,332.33,120308,,,A*56
+$GPRMC,131928.00,A,5157.18163,N,00424.84890,E,41.928,332.01,120308,,,A*57
+$GPRMC,131929.00,A,5157.19165,N,00424.83968,E,41.455,331.02,120308,,,A*57
+$GPRMC,131930.00,A,5157.20166,N,00424.83094,E,41.057,331.97,120308,,,A*56
+$GPRMC,131931.00,A,5157.21204,N,00424.82286,E,41.640,332.95,120308,,,A*50
+$GPRMC,131932.00,A,5157.22255,N,00424.81354,E,43.857,330.79,120308,,,A*53
+$GPRMC,131933.00,A,5157.23352,N,00424.80388,E,46.124,331.97,120308,,,A*5C
+$GPRMC,131934.00,A,5157.24520,N,00424.79444,E,48.360,333.87,120308,,,A*51
+$GPRMC,131935.00,A,5157.25782,N,00424.78509,E,50.435,334.72,120308,,,A*51
+$GPRMC,131936.00,A,5157.27055,N,00424.77533,E,50.937,334.47,120308,,,A*52
+$GPRMC,131937.00,A,5157.28317,N,00424.76549,E,50.538,333.94,120308,,,A*5F
+$GPRMC,131938.00,A,5157.29602,N,00424.75524,E,51.095,333.82,120308,,,A*5C
+$GPRMC,131939.00,A,5157.30903,N,00424.74501,E,51.955,333.79,120308,,,A*5C
+$GPRMC,131940.00,A,5157.32225,N,00424.73447,E,52.740,333.87,120308,,,A*53
+$GPRMC,131941.00,A,5157.33550,N,00424.72404,E,53.011,334.08,120308,,,A*52
+$GPRMC,131942.00,A,5157.34895,N,00424.71388,E,53.424,335.13,120308,,,A*5B
+$GPRMC,131943.00,A,5157.36262,N,00424.70352,E,54.023,334.85,120308,,,A*56
+$GPRMC,131944.00,A,5157.37631,N,00424.69314,E,54.369,334.69,120308,,,A*57
+$GPRMC,131945.00,A,5157.39013,N,00424.68276,E,54.401,334.62,120308,,,A*58
+$GPRMC,131946.00,A,5157.40382,N,00424.67222,E,54.770,334.10,120308,,,A*50
+$GPRMC,131947.00,A,5157.41736,N,00424.66146,E,53.953,334.27,120308,,,A*57
+$GPRMC,131948.00,A,5157.43081,N,00424.65068,E,53.804,334.29,120308,,,A*52
+$GPRMC,131949.00,A,5157.44440,N,00424.64030,E,53.883,334.74,120308,,,A*56
+$GPRMC,131950.00,A,5157.45807,N,00424.63002,E,54.043,334.50,120308,,,A*53
+$GPRMC,131951.00,A,5157.47159,N,00424.61940,E,54.357,333.83,120308,,,A*50
+$GPRMC,131952.00,A,5157.48515,N,00424.60938,E,53.580,334.59,120308,,,A*55
+$GPRMC,131953.00,A,5157.49874,N,00424.59910,E,53.961,334.79,120308,,,A*5E
+$GPRMC,131954.00,A,5157.51235,N,00424.58892,E,53.646,334.84,120308,,,A*5D
+$GPRMC,131955.00,A,5157.52585,N,00424.57876,E,53.707,334.27,120308,,,A*5B
+$GPRMC,131956.00,A,5157.53945,N,00424.56859,E,54.377,334.46,120308,,,A*56
+$GPRMC,131957.00,A,5157.55342,N,00424.55799,E,55.627,334.72,120308,,,A*5A
+$GPRMC,131958.00,A,5157.56760,N,00424.54708,E,56.893,334.30,120308,,,A*5F
+$GPRMC,131959.00,A,5157.58200,N,00424.53590,E,57.809,334.33,120308,,,A*56
+$GPRMC,132000.00,A,5157.59682,N,00424.52443,E,59.456,334.53,120308,,,A*5F
+$GPRMC,132001.00,A,5157.61190,N,00424.51300,E,60.532,334.60,120308,,,A*5B
+$GPRMC,132002.00,A,5157.62714,N,00424.50143,E,60.297,334.28,120308,,,A*51
+$GPRMC,132003.00,A,5157.64218,N,00424.48963,E,59.702,334.04,120308,,,A*51
+$GPRMC,132004.00,A,5157.65702,N,00424.47795,E,58.529,334.18,120308,,,A*56
+$GPRMC,132005.00,A,5157.67168,N,00424.46645,E,57.650,334.21,120308,,,A*5A
+$GPRMC,132006.00,A,5157.68615,N,00424.45514,E,56.798,334.44,120308,,,A*58
+$GPRMC,132007.00,A,5157.70042,N,00424.44390,E,56.426,334.00,120308,,,A*59
+$GPRMC,132008.00,A,5157.71448,N,00424.43295,E,55.236,334.52,120308,,,A*59
+$GPRMC,132009.00,A,5157.72846,N,00424.42222,E,54.980,334.65,120308,,,A*57
+$GPRMC,132010.00,A,5157.74235,N,00424.41134,E,55.200,334.32,120308,,,A*50
+$GPRMC,132011.00,A,5157.75629,N,00424.40028,E,56.022,333.95,120308,,,A*5F
+$GPRMC,132012.00,A,5157.77039,N,00424.38918,E,56.105,334.27,120308,,,A*56
+$GPRMC,132013.00,A,5157.78441,N,00424.37809,E,55.752,334.43,120308,,,A*58
+$GPRMC,132014.00,A,5157.79830,N,00424.36731,E,55.430,334.91,120308,,,A*59
+$GPRMC,132015.00,A,5157.81202,N,00424.35640,E,54.845,333.97,120308,,,A*5E
+$GPRMC,132016.00,A,5157.82568,N,00424.34581,E,54.817,334.53,120308,,,A*52
+$GPRMC,132017.00,A,5157.83912,N,00424.33499,E,53.872,334.62,120308,,,A*5A
+$GPRMC,132018.00,A,5157.85249,N,00424.32425,E,53.753,334.20,120308,,,A*5A
+$GPRMC,132019.00,A,5157.86585,N,00424.31381,E,53.516,334.67,120308,,,A*55
+$GPRMC,132020.00,A,5157.87933,N,00424.30327,E,53.845,334.56,120308,,,A*5B
+$GPRMC,132021.00,A,5157.89262,N,00424.29269,E,53.308,334.20,120308,,,A*5B
+$GPRMC,132022.00,A,5157.90597,N,00424.28239,E,53.045,335.01,120308,,,A*51
+$GPRMC,132023.00,A,5157.91890,N,00424.27202,E,52.178,334.49,120308,,,A*5F
+$GPRMC,132024.00,A,5157.93167,N,00424.26188,E,51.266,334.81,120308,,,A*50
+$GPRMC,132025.00,A,5157.94420,N,00424.25178,E,50.447,334.26,120308,,,A*55
+$GPRMC,132026.00,A,5157.95638,N,00424.24151,E,49.919,333.19,120308,,,A*53
+$GPRMC,132027.00,A,5157.96865,N,00424.23157,E,49.398,334.12,120308,,,A*59
+$GPRMC,132028.00,A,5157.98081,N,00424.22228,E,48.291,333.80,120308,,,A*55
+$GPRMC,132029.00,A,5157.99292,N,00424.21279,E,48.822,334.28,120308,,,A*55
+$GPRMC,132030.00,A,5158.00522,N,00424.20375,E,48.592,333.93,120308,,,A*53
+$GPRMC,132031.00,A,5158.01736,N,00424.19443,E,48.505,333.81,120308,,,A*51
+$GPRMC,132032.00,A,5158.02950,N,00424.18490,E,49.249,333.49,120308,,,A*5A
+$GPRMC,132033.00,A,5158.04186,N,00424.17514,E,49.802,333.94,120308,,,A*59
+$GPRMC,132034.00,A,5158.05426,N,00424.16557,E,49.159,334.38,120308,,,A*50
+$GPRMC,132035.00,A,5158.06644,N,00424.15621,E,48.203,334.18,120308,,,A*5A
+$GPRMC,132036.00,A,5158.07843,N,00424.14695,E,47.288,334.11,120308,,,A*5A
+$GPRMC,132037.00,A,5158.09013,N,00424.13773,E,46.737,334.15,120308,,,A*52
+$GPRMC,132038.00,A,5158.10167,N,00424.12860,E,46.665,334.28,120308,,,A*53
+$GPRMC,132039.00,A,5158.11338,N,00424.11922,E,47.828,333.83,120308,,,A*5F
+$GPRMC,132040.00,A,5158.12545,N,00424.10969,E,48.791,333.97,120308,,,A*57
+$GPRMC,132041.00,A,5158.13787,N,00424.10027,E,49.180,334.27,120308,,,A*53
+$GPRMC,132042.00,A,5158.15028,N,00424.09079,E,49.013,334.31,120308,,,A*5B
+$GPRMC,132043.00,A,5158.16238,N,00424.08106,E,48.559,334.33,120308,,,A*5A
+$GPRMC,132044.00,A,5158.17451,N,00424.07141,E,48.894,334.14,120308,,,A*50
+$GPRMC,132045.00,A,5158.18676,N,00424.06154,E,49.173,334.25,120308,,,A*5F
+$GPRMC,132046.00,A,5158.19905,N,00424.05181,E,49.365,333.72,120308,,,A*5D
+$GPRMC,132047.00,A,5158.21154,N,00424.04209,E,49.993,334.34,120308,,,A*5F
+$GPRMC,132048.00,A,5158.22424,N,00424.03269,E,50.045,335.42,120308,,,A*5A
+$GPRMC,132049.00,A,5158.23704,N,00424.02286,E,50.936,335.24,120308,,,A*56
+$GPRMC,132050.00,A,5158.25000,N,00424.01307,E,51.587,335.95,120308,,,A*5D
+$GPRMC,132051.00,A,5158.26314,N,00424.00397,E,52.242,338.31,120308,,,A*5F
+$GPRMC,132052.00,A,5158.27690,N,00423.99570,E,53.190,339.90,120308,,,A*5B
+$GPRMC,132053.00,A,5158.29083,N,00423.98808,E,53.101,341.77,120308,,,A*5D
+$GPRMC,132054.00,A,5158.30454,N,00423.98060,E,53.193,342.80,120308,,,A*5A
+$GPRMC,132055.00,A,5158.31851,N,00423.97385,E,52.893,343.89,120308,,,A*54
+$GPRMC,132056.00,A,5158.33243,N,00423.96755,E,52.603,344.66,120308,,,A*55
+$GPRMC,132057.00,A,5158.34615,N,00423.96157,E,52.278,344.93,120308,,,A*52
+$GPRMC,132058.00,A,5158.35970,N,00423.95604,E,50.800,345.54,120308,,,A*5F
+$GPRMC,132059.00,A,5158.37305,N,00423.95052,E,49.714,345.30,120308,,,A*51
+$GPRMC,132100.00,A,5158.38612,N,00423.94492,E,48.913,344.78,120308,,,A*5C
+$GPRMC,132101.00,A,5158.39901,N,00423.93933,E,47.713,345.08,120308,,,A*57
+$GPRMC,132102.00,A,5158.41167,N,00423.93384,E,46.573,345.32,120308,,,A*59
+$GPRMC,132103.00,A,5158.42404,N,00423.92866,E,45.826,345.59,120308,,,A*5E
+$GPRMC,132104.00,A,5158.43624,N,00423.92370,E,45.141,346.28,120308,,,A*59
+$GPRMC,132105.00,A,5158.44844,N,00423.91913,E,45.590,347.19,120308,,,A*50
+$GPRMC,132106.00,A,5158.46073,N,00423.91451,E,45.558,346.90,120308,,,A*52
+$GPRMC,132107.00,A,5158.47317,N,00423.90955,E,46.320,346.14,120308,,,A*5D
+$GPRMC,132108.00,A,5158.48564,N,00423.90453,E,46.669,345.71,120308,,,A*5C
+$GPRMC,132109.00,A,5158.49818,N,00423.89924,E,46.471,345.65,120308,,,A*51
+$GPRMC,132110.00,A,5158.51064,N,00423.89365,E,45.768,345.50,120308,,,A*52
+$GPRMC,132111.00,A,5158.52288,N,00423.88836,E,45.703,344.76,120308,,,A*54
+$GPRMC,132112.00,A,5158.53508,N,00423.88270,E,45.387,344.47,120308,,,A*5B
+$GPRMC,132113.00,A,5158.54708,N,00423.87776,E,44.794,345.54,120308,,,A*57
+$GPRMC,132114.00,A,5158.55895,N,00423.87287,E,43.908,345.88,120308,,,A*5C
+$GPRMC,132115.00,A,5158.57063,N,00423.86789,E,43.566,345.29,120308,,,A*5B
+$GPRMC,132116.00,A,5158.58219,N,00423.86307,E,43.337,345.08,120308,,,A*5B
+$GPRMC,132117.00,A,5158.59370,N,00423.85819,E,42.921,345.86,120308,,,A*58
+$GPRMC,132118.00,A,5158.60527,N,00423.85326,E,43.524,345.39,120308,,,A*52
+$GPRMC,132119.00,A,5158.61694,N,00423.84820,E,43.789,345.14,120308,,,A*5F
+$GPRMC,132120.00,A,5158.62862,N,00423.84314,E,43.640,345.53,120308,,,A*5A
+$GPRMC,132121.00,A,5158.64036,N,00423.83813,E,44.255,345.03,120308,,,A*5D
+$GPRMC,132122.00,A,5158.65220,N,00423.83303,E,44.580,344.93,120308,,,A*57
+$GPRMC,132123.00,A,5158.66410,N,00423.82789,E,44.803,344.79,120308,,,A*55
+$GPRMC,132124.00,A,5158.67606,N,00423.82282,E,44.978,345.28,120308,,,A*50
+$GPRMC,132125.00,A,5158.68811,N,00423.81779,E,45.090,345.42,120308,,,A*56
+$GPRMC,132126.00,A,5158.70018,N,00423.81269,E,45.312,344.83,120308,,,A*5C
+$GPRMC,132127.00,A,5158.71226,N,00423.80773,E,45.205,345.33,120308,,,A*51
+$GPRMC,132128.00,A,5158.72432,N,00423.80287,E,45.126,345.38,120308,,,A*59
+$GPRMC,132129.00,A,5158.73636,N,00423.79824,E,44.769,346.23,120308,,,A*5F
+$GPRMC,132130.00,A,5158.74844,N,00423.79339,E,45.198,345.98,120308,,,A*56
+$GPRMC,132131.00,A,5158.76051,N,00423.78859,E,44.636,346.21,120308,,,A*56
+$GPRMC,132132.00,A,5158.77283,N,00423.78432,E,45.750,347.91,120308,,,A*52
+$GPRMC,132133.00,A,5158.78520,N,00423.78020,E,45.486,348.73,120308,,,A*5E
+$GPRMC,132134.00,A,5158.79749,N,00423.77633,E,45.059,348.57,120308,,,A*5E
+$GPRMC,132135.00,A,5158.80969,N,00423.77215,E,44.823,347.18,120308,,,A*55
+$GPRMC,132136.00,A,5158.82177,N,00423.76774,E,44.540,346.33,120308,,,A*50
+$GPRMC,132137.00,A,5158.83375,N,00423.76311,E,44.452,345.92,120308,,,A*5D
+$GPRMC,132138.00,A,5158.84562,N,00423.75801,E,43.942,344.98,120308,,,A*5C
+$GPRMC,132139.00,A,5158.85726,N,00423.75284,E,43.378,344.11,120308,,,A*5B
+$GPRMC,132140.00,A,5158.86884,N,00423.74764,E,43.139,344.22,120308,,,A*5C
+$GPRMC,132141.00,A,5158.88009,N,00423.74285,E,42.231,344.57,120308,,,A*5C
+$GPRMC,132142.00,A,5158.89129,N,00423.73814,E,41.583,344.81,120308,,,A*5E
+$GPRMC,132143.00,A,5158.90226,N,00423.73379,E,40.576,346.15,120308,,,A*5F
+$GPRMC,132144.00,A,5158.91305,N,00423.72992,E,39.713,347.09,120308,,,A*54
+$GPRMC,132145.00,A,5158.92367,N,00423.72657,E,38.628,349.83,120308,,,A*50
+$GPRMC,132146.00,A,5158.93392,N,00423.72409,E,36.195,352.72,120308,,,A*5A
+$GPRMC,132147.00,A,5158.94351,N,00423.72405,E,34.092,359.37,120308,,,A*51
+$GPRMC,132148.00,A,5158.95227,N,00423.72808,E,32.630,14.07,120308,,,A*6F
+$GPRMC,132149.00,A,5158.96020,N,00423.73436,E,31.980,23.94,120308,,,A*61
+$GPRMC,132150.00,A,5158.96731,N,00423.74181,E,31.399,32.96,120308,,,A*60
+$GPRMC,132151.00,A,5158.97396,N,00423.75050,E,31.376,37.32,120308,,,A*6F
+$GPRMC,132152.00,A,5158.98057,N,00423.75926,E,30.364,38.01,120308,,,A*68
+$GPRMC,132153.00,A,5158.98707,N,00423.76733,E,27.888,32.72,120308,,,A*63
+$GPRMC,132154.00,A,5158.99414,N,00423.77196,E,27.294,18.85,120308,,,A*6B
+$GPRMC,132155.00,A,5159.00145,N,00423.77329,E,26.584,5.14,120308,,,A*5F
+$GPRMC,132156.00,A,5159.00830,N,00423.77100,E,26.306,349.50,120308,,,A*59
+$GPRMC,132157.00,A,5159.01557,N,00423.76772,E,27.734,345.13,120308,,,A*58
+$GPRMC,132158.00,A,5159.02303,N,00423.76458,E,28.707,345.28,120308,,,A*5F
+$GPRMC,132159.00,A,5159.03034,N,00423.76182,E,26.228,347.77,120308,,,A*54
+$GPRMC,132200.00,A,5159.03640,N,00423.75852,E,22.362,341.71,120308,,,A*52
+$GPRMC,132201.00,A,5159.04195,N,00423.75487,E,21.552,338.42,120308,,,A*57
+$GPRMC,132202.00,A,5159.04704,N,00423.75206,E,19.944,340.99,120308,,,A*5C
+$GPRMC,132203.00,A,5159.05237,N,00423.74952,E,20.482,343.00,120308,,,A*5C
+$GPRMC,132204.00,A,5159.05777,N,00423.74720,E,20.211,346.98,120308,,,A*59
+$GPRMC,132205.00,A,5159.06332,N,00423.74490,E,20.885,346.37,120308,,,A*54
+$GPRMC,132206.00,A,5159.06901,N,00423.74215,E,21.700,345.71,120308,,,A*54
+$GPRMC,132207.00,A,5159.07457,N,00423.73967,E,22.253,345.00,120308,,,A*55
+$GPRMC,132208.00,A,5159.08018,N,00423.73724,E,21.883,343.81,120308,,,A*58
+$GPRMC,132209.00,A,5159.08554,N,00423.73510,E,20.442,344.05,120308,,,A*5A
+$GPRMC,132210.00,A,5159.09048,N,00423.73286,E,18.576,344.59,120308,,,A*57
+$GPRMC,132211.00,A,5159.09508,N,00423.73078,E,16.672,343.07,120308,,,A*51
+$GPRMC,132212.00,A,5159.09907,N,00423.72885,E,15.065,340.93,120308,,,A*57
+$GPRMC,132213.00,A,5159.10255,N,00423.72697,E,13.550,343.24,120308,,,A*55
+$GPRMC,132214.00,A,5159.10553,N,00423.72552,E,11.758,341.18,120308,,,A*5C
+$GPRMC,132215.00,A,5159.10829,N,00423.72442,E,9.763,346.28,120308,,,A*68
+$GPRMC,132216.00,A,5159.11056,N,00423.72359,E,7.728,345.25,120308,,,A*68
+$GPRMC,132217.00,A,5159.11238,N,00423.72297,E,6.566,345.13,120308,,,A*6C
+$GPRMC,132218.00,A,5159.11400,N,00423.72269,E,6.150,348.28,120308,,,A*6B
+$GPRMC,132219.00,A,5159.11556,N,00423.72265,E,5.769,349.53,120308,,,A*66
+$GPRMC,132220.00,A,5159.11696,N,00423.72245,E,5.178,336.14,120308,,,A*6C
+$GPRMC,132221.00,A,5159.11815,N,00423.72065,E,4.969,317.05,120308,,,A*62
+$GPRMC,132222.00,A,5159.11907,N,00423.71757,E,5.179,308.21,120308,,,A*66
+$GPRMC,132223.00,A,5159.11937,N,00423.71573,E,4.424,293.84,120308,,,A*60
+$GPRMC,132224.00,A,5159.11964,N,00423.71371,E,3.707,293.68,120308,,,A*62
+$GPRMC,132225.00,A,5159.11996,N,00423.71259,E,2.616,286.70,120308,,,A*68
+$GPRMC,132226.00,A,5159.12004,N,00423.71213,E,1.372,286.99,120308,,,A*67
+$GPRMC,132227.00,A,5159.12011,N,00423.71202,E,0.472,288.13,120308,,,A*68
+$GPRMC,132228.00,A,5159.12008,N,00423.71212,E,0.023,291.04,120308,,,A*60
+$GPRMC,132229.00,A,5159.12010,N,00423.71263,E,0.051,293.68,120308,,,A*63
+$GPRMC,132230.00,A,5159.12009,N,00423.71269,E,0.056,298.63,120308,,,A*6E
+$GPRMC,132231.00,A,5159.12008,N,00423.71275,E,0.147,301.69,120308,,,A*69
+$GPRMC,132232.00,A,5159.12012,N,00423.71286,E,0.174,304.81,120308,,,A*6E
+$GPRMC,132233.00,A,5159.12011,N,00423.71285,E,0.045,306.72,120308,,,A*62
+$GPRMC,132234.00,A,5159.12006,N,00423.71273,E,0.010,,120308,,,A*74
+$GPRMC,132235.00,A,5159.11998,N,00423.71265,E,0.013,,120308,,,A*7C
+$GPRMC,132236.00,A,5159.11990,N,00423.71255,E,0.017,,120308,,,A*70
+$GPRMC,132237.00,A,5159.11984,N,00423.71246,E,0.031,308.09,120308,,,A*6E
+$GPRMC,132238.00,A,5159.11979,N,00423.71246,E,0.026,303.99,120308,,,A*67
+$GPRMC,132239.00,A,5159.11976,N,00423.71245,E,0.032,300.14,120308,,,A*69
+$GPRMC,132240.00,A,5159.11975,N,00423.71249,E,0.027,301.98,120308,,,A*69
+$GPRMC,132241.00,A,5159.11969,N,00423.71249,E,0.179,298.24,120308,,,A*69
+$GPRMC,132242.00,A,5159.11963,N,00423.71260,E,0.010,,120308,,,A*7E
+$GPRMC,132243.00,A,5159.11958,N,00423.71266,E,0.023,299.76,120308,,,A*6C
+$GPRMC,132244.00,A,5159.11957,N,00423.71274,E,0.027,302.40,120308,,,A*65
+$GPRMC,132245.00,A,5159.11954,N,00423.71268,E,0.009,,120308,,,A*7D
+$GPRMC,132246.00,A,5159.11953,N,00423.71264,E,0.041,298.83,120308,,,A*6F
+$GPRMC,132247.00,A,5159.11950,N,00423.71260,E,0.025,302.09,120308,,,A*6B
+$GPRMC,132248.00,A,5159.11945,N,00423.71252,E,0.002,,120308,,,A*72
+$GPRMC,132249.00,A,5159.11940,N,00423.71244,E,0.019,301.79,120308,,,A*69
+$GPRMC,132250.00,A,5159.11942,N,00423.71240,E,0.047,306.39,120308,,,A*6F
+$GPRMC,132251.00,A,5159.11946,N,00423.71235,E,0.011,,120308,,,A*7A
+$GPRMC,132252.00,A,5159.11950,N,00423.71231,E,0.136,309.37,120308,,,A*6E
+$GPRMC,132253.00,A,5159.11958,N,00423.71235,E,0.031,310.29,120308,,,A*62
+$GPRMC,132254.00,A,5159.11966,N,00423.71238,E,0.034,314.48,120308,,,A*63
+$GPRMC,132255.00,A,5159.11982,N,00423.71250,E,0.091,318.95,120308,,,A*65
+$GPRMC,132256.00,A,5159.11992,N,00423.71260,E,0.103,321.91,120308,,,A*60
+$GPRMC,132257.00,A,5159.11994,N,00423.71252,E,0.058,317.00,120308,,,A*64
+$GPRMC,132258.00,A,5159.11995,N,00423.71247,E,0.031,317.06,120308,,,A*67
+$GPRMC,132259.00,A,5159.11994,N,00423.71251,E,0.110,321.81,120308,,,A*68
+$GPRMC,132300.00,A,5159.11993,N,00423.71247,E,0.064,325.54,120308,,,A*6B
+$GPRMC,132301.00,A,5159.11990,N,00423.71244,E,0.032,327.41,120308,,,A*6F
+$GPRMC,132302.00,A,5159.11985,N,00423.71243,E,0.073,331.89,120308,,,A*69
+$GPRMC,132303.00,A,5159.11981,N,00423.71232,E,0.061,331.35,120308,,,A*6E
+$GPRMC,132304.00,A,5159.11974,N,00423.71226,E,0.233,340.37,120308,,,A*67
+$GPRMC,132305.00,A,5159.11965,N,00423.71234,E,0.317,351.08,120308,,,A*6E
+$GPRMC,132306.00,A,5159.11958,N,00423.71246,E,0.016,,120308,,,A*75
+$GPRMC,132307.00,A,5159.11957,N,00423.71248,E,0.000,,120308,,,A*72
+$GPRMC,132308.00,A,5159.11956,N,00423.71250,E,0.056,349.75,120308,,,A*64
+$GPRMC,132309.00,A,5159.11954,N,00423.71241,E,0.347,344.96,120308,,,A*64
+$GPRMC,132310.00,A,5159.11948,N,00423.71226,E,0.104,340.90,120308,,,A*67
+$GPRMC,132311.00,A,5159.11942,N,00423.71236,E,0.244,336.51,120308,,,A*66
+$GPRMC,132312.00,A,5159.11931,N,00423.71260,E,0.040,335.63,120308,,,A*66
+$GPRMC,132313.00,A,5159.11927,N,00423.71269,E,0.125,335.17,120308,,,A*68
+$GPRMC,132314.00,A,5159.11920,N,00423.71276,E,0.076,335.79,120308,,,A*69
+$GPRMC,132315.00,A,5159.11930,N,00423.71268,E,0.610,335.97,120308,,,A*60
+$GPRMC,132316.00,A,5159.11939,N,00423.71271,E,0.082,335.75,120308,,,A*63
+$GPRMC,132317.00,A,5159.11945,N,00423.71279,E,0.010,,120308,,,A*73
+$GPRMC,132318.00,A,5159.11951,N,00423.71286,E,0.292,336.35,120308,,,A*6F
+$GPRMC,132319.00,A,5159.11957,N,00423.71299,E,0.145,330.83,120308,,,A*64
+$GPRMC,132320.00,A,5159.11968,N,00423.71308,E,0.161,331.26,120308,,,A*63
+$GPRMC,132321.00,A,5159.11989,N,00423.71315,E,0.024,336.28,120308,,,A*68
+$GPRMC,132322.00,A,5159.11985,N,00423.71333,E,0.045,330.90,120308,,,A*61
+$GPRMC,132323.00,A,5159.11994,N,00423.71345,E,0.666,332.04,120308,,,A*69
+$GPRMC,132324.00,A,5159.12005,N,00423.71356,E,0.071,332.74,120308,,,A*69
+$GPRMC,132325.00,A,5159.12009,N,00423.71368,E,0.439,333.70,120308,,,A*64
+$GPRMC,132326.00,A,5159.12013,N,00423.71374,E,0.106,333.77,120308,,,A*6F
+$GPRMC,132327.00,A,5159.12011,N,00423.71382,E,0.372,322.96,120308,,,A*6B
+$GPRMC,132328.00,A,5159.12005,N,00423.71391,E,0.133,317.91,120308,,,A*65
+$GPRMC,132329.00,A,5159.12007,N,00423.71396,E,0.033,322.63,120308,,,A*6B
+$GPRMC,132330.00,A,5159.12005,N,00423.71399,E,0.270,312.98,120308,,,A*6C
+$GPRMC,132331.00,A,5159.11984,N,00423.71405,E,0.418,304.08,120308,,,A*6A
+$GPRMC,132332.00,A,5159.11965,N,00423.71413,E,0.050,302.04,120308,,,A*63
+$GPRMC,132333.00,A,5159.11964,N,00423.71413,E,0.009,,120308,,,A*74
+$GPRMC,132334.00,A,5159.11962,N,00423.71412,E,0.051,304.91,120308,,,A*68
+$GPRMC,132335.00,A,5159.11941,N,00423.71418,E,0.119,300.43,120308,,,A*64
+$GPRMC,132336.00,A,5159.11920,N,00423.71428,E,0.086,301.84,120308,,,A*6E
+$GPRMC,132337.00,A,5159.11907,N,00423.71435,E,0.129,298.07,120308,,,A*68
+$GPRMC,132338.00,A,5159.11895,N,00423.71442,E,0.052,293.79,120308,,,A*62
+$GPRMC,132339.00,A,5159.11892,N,00423.71445,E,0.054,297.52,120308,,,A*68
+$GPRMC,132340.00,A,5159.11890,N,00423.71443,E,0.076,294.71,120308,,,A*60
+$GPRMC,132341.00,A,5159.11888,N,00423.71437,E,0.146,292.74,120308,,,A*6A
+$GPRMC,132342.00,A,5159.11889,N,00423.71429,E,0.050,293.66,120308,,,A*63
+$GPRMC,132343.00,A,5159.11890,N,00423.71421,E,0.209,290.89,120308,,,A*6E
+$GPRMC,132344.00,A,5159.11889,N,00423.71417,E,0.084,290.54,120308,,,A*63
+$GPRMC,132345.00,A,5159.11890,N,00423.71412,E,0.107,287.17,120308,,,A*64
+$GPRMC,132346.00,A,5159.11890,N,00423.71405,E,0.048,284.02,120308,,,A*6C
+$GPRMC,132347.00,A,5159.11893,N,00423.71400,E,0.163,279.25,120308,,,A*64
+$GPRMC,132348.00,A,5159.11899,N,00423.71415,E,0.035,281.02,120308,,,A*65
+$GPRMC,132349.00,A,5159.11906,N,00423.71413,E,0.002,,120308,,,A*76
+$GPRMC,132350.00,A,5159.11907,N,00423.71410,E,0.019,,120308,,,A*76
+$GPRMC,132351.00,A,5159.11909,N,00423.71408,E,0.022,275.48,120308,,,A*6A
+$GPRMC,132352.00,A,5159.11910,N,00423.71401,E,0.035,278.45,120308,,,A*6E
+$GPRMC,132353.00,A,5159.11907,N,00423.71396,E,0.114,274.44,120308,,,A*6F
+$GPRMC,132354.00,A,5159.11907,N,00423.71390,E,0.023,271.59,120308,,,A*62
+$GPRMC,132355.00,A,5159.11908,N,00423.71387,E,0.075,268.37,120308,,,A*69
+$GPRMC,132356.00,A,5159.11907,N,00423.71385,E,0.073,265.34,120308,,,A*6F
+$GPRMC,132357.00,A,5159.11906,N,00423.71382,E,0.026,261.55,120308,,,A*6B
+$GPRMC,132358.00,A,5159.11905,N,00423.71379,E,0.032,258.54,120308,,,A*6D
+$GPRMC,132359.00,A,5159.11903,N,00423.71373,E,0.094,258.62,120308,,,A*69
+$GPRMC,132400.00,A,5159.11900,N,00423.71367,E,0.033,261.43,120308,,,A*60
+$GPRMC,132401.00,A,5159.11897,N,00423.71365,E,0.032,259.14,120308,,,A*64
+$GPRMC,132402.00,A,5159.11894,N,00423.71365,E,0.025,261.97,120308,,,A*62
+$GPRMC,132403.00,A,5159.11893,N,00423.71367,E,0.001,,120308,,,A*75
+$GPRMC,132404.00,A,5159.11893,N,00423.71367,E,0.015,,120308,,,A*77
+$GPRMC,132405.00,A,5159.11894,N,00423.71367,E,0.024,259.74,120308,,,A*60
+$GPRMC,132406.00,A,5159.11895,N,00423.71366,E,0.011,,120308,,,A*76
+$GPRMC,132407.00,A,5159.11896,N,00423.71365,E,0.020,257.45,120308,,,A*6A
+$GPRMC,132408.00,A,5159.11897,N,00423.71362,E,0.013,,120308,,,A*7C
+$GPRMC,132409.00,A,5159.11897,N,00423.71361,E,0.021,260.64,120308,,,A*67
+$GPRMC,132410.00,A,5159.11906,N,00423.71351,E,0.009,,120308,,,A*77
+$GPRMC,132411.00,A,5159.11910,N,00423.71345,E,0.038,257.61,120308,,,A*6F
+$GPRMC,132412.00,A,5159.11916,N,00423.71342,E,0.018,,120308,,,A*76
+$GPRMC,132413.00,A,5159.11917,N,00423.71339,E,0.009,,120308,,,A*7A
+$GPRMC,132414.00,A,5159.11915,N,00423.71336,E,0.024,254.71,120308,,,A*64
+$GPRMC,132415.00,A,5159.11914,N,00423.71331,E,0.009,,120308,,,A*77
+$GPRMC,132416.00,A,5159.11910,N,00423.71326,E,0.013,,120308,,,A*7D
+$GPRMC,132417.00,A,5159.11907,N,00423.71317,E,0.079,254.95,120308,,,A*65
+$GPRMC,132418.00,A,5159.11903,N,00423.71310,E,0.014,,120308,,,A*73
+$GPRMC,132419.00,A,5159.11900,N,00423.71304,E,0.022,252.09,120308,,,A*63
+$GPRMC,132420.00,A,5159.11894,N,00423.71301,E,0.253,246.30,120308,,,A*6B
+$GPRMC,132421.00,A,5159.11894,N,00423.71295,E,0.064,243.67,120308,,,A*67
+$GPRMC,132422.00,A,5159.11892,N,00423.71289,E,0.048,241.43,120308,,,A*65
+$GPRMC,132423.00,A,5159.11887,N,00423.71284,E,0.015,,120308,,,A*7B
+$GPRMC,132424.00,A,5159.11887,N,00423.71280,E,0.032,245.22,120308,,,A*60
+$GPRMC,132425.00,A,5159.11886,N,00423.71277,E,0.013,,120308,,,A*76
+$GPRMC,132426.00,A,5159.11897,N,00423.71266,E,0.019,,120308,,,A*7F
+$GPRMC,132427.00,A,5159.11905,N,00423.71257,E,0.020,249.09,120308,,,A*64
+$GPRMC,132428.00,A,5159.11913,N,00423.71246,E,0.015,,120308,,,A*72
+$GPRMC,132429.00,A,5159.11923,N,00423.71236,E,0.016,,120308,,,A*74
+$GPRMC,132430.00,A,5159.11962,N,00423.71205,E,0.008,,120308,,,A*76
+$GPRMC,132431.00,A,5159.11999,N,00423.71176,E,0.025,251.61,120308,,,A*64
+$GPRMC,132432.00,A,5159.12001,N,00423.71174,E,0.010,,120308,,,A*77
+$GPRMC,132433.00,A,5159.12006,N,00423.71174,E,0.031,249.24,120308,,,A*65
+$GPRMC,132434.00,A,5159.12012,N,00423.71175,E,0.008,,120308,,,A*7B
+$GPRMC,132435.00,A,5159.12018,N,00423.71174,E,0.009,,120308,,,A*70
+$GPRMC,132436.00,A,5159.12026,N,00423.71169,E,0.034,246.24,120308,,,A*64
+$GPRMC,132437.00,A,5159.12030,N,00423.71166,E,0.012,,120308,,,A*71
+$GPRMC,132438.00,A,5159.12033,N,00423.71162,E,0.023,247.86,120308,,,A*6A
+$GPRMC,132439.00,A,5159.12037,N,00423.71158,E,0.018,,120308,,,A*7F
+$GPRMC,132440.00,A,5159.12038,N,00423.71159,E,0.026,250.09,120308,,,A*62
+$GPRMC,132441.00,A,5159.12042,N,00423.71159,E,0.033,252.44,120308,,,A*61
+$GPRMC,132442.00,A,5159.12044,N,00423.71155,E,0.005,,120308,,,A*76
+$GPRMC,132443.00,A,5159.12049,N,00423.71147,E,0.039,248.94,120308,,,A*6B
+$GPRMC,132444.00,A,5159.12057,N,00423.71140,E,0.024,250.98,120308,,,A*6D
+$GPRMC,132445.00,A,5159.12065,N,00423.71132,E,0.014,,120308,,,A*73
+$GPRMC,132446.00,A,5159.12073,N,00423.71129,E,0.015,,120308,,,A*7C
+$GPRMC,132447.00,A,5159.12097,N,00423.71111,E,0.017,,120308,,,A*7E
+$GPRMC,132448.00,A,5159.12117,N,00423.71098,E,0.013,,120308,,,A*7C
+$GPRMC,132449.00,A,5159.12122,N,00423.71095,E,0.012,,120308,,,A*77
+$GPRMC,132450.00,A,5159.12125,N,00423.71091,E,0.003,,120308,,,A*7C
+$GPRMC,132451.00,A,5159.12129,N,00423.71089,E,0.025,245.84,120308,,,A*6D
+$GPRMC,132452.00,A,5159.12130,N,00423.71090,E,0.016,,120308,,,A*7F
+$GPRMC,132453.00,A,5159.12132,N,00423.71091,E,0.023,243.30,120308,,,A*63
+$GPRMC,132454.00,A,5159.12134,N,00423.71089,E,0.020,245.53,120308,,,A*6B
+$GPRMC,132455.00,A,5159.12136,N,00423.71085,E,0.023,245.84,120308,,,A*6D
+$GPRMC,132456.00,A,5159.12138,N,00423.71083,E,0.023,251.17,120308,,,A*69
+$GPRMC,132457.00,A,5159.12139,N,00423.71083,E,0.034,247.95,120308,,,A*62
+$GPRMC,132458.00,A,5159.12138,N,00423.71083,E,0.027,251.04,120308,,,A*61
+$GPRMC,132459.00,A,5159.12141,N,00423.71081,E,0.007,,120308,,,A*72
+$GPRMC,132500.00,A,5159.12143,N,00423.71077,E,0.043,247.93,120308,,,A*61
+$GPRMC,132501.00,A,5159.12147,N,00423.71073,E,0.036,250.65,120308,,,A*6D
+$GPRMC,132502.00,A,5159.12149,N,00423.71068,E,0.043,248.41,120308,,,A*67
+$GPRMC,132503.00,A,5159.12153,N,00423.71061,E,0.047,251.46,120308,,,A*6F
+$GPRMC,132504.00,A,5159.12172,N,00423.71039,E,0.009,,120308,,,A*76
+$GPRMC,132505.00,A,5159.12187,N,00423.71020,E,0.227,243.80,120308,,,A*68
+$GPRMC,132506.00,A,5159.12202,N,00423.71003,E,0.022,246.21,120308,,,A*6D
+$GPRMC,132507.00,A,5159.12217,N,00423.70982,E,0.050,246.85,120308,,,A*62
+$GPRMC,132508.00,A,5159.12228,N,00423.70966,E,0.111,245.72,120308,,,A*64
+$GPRMC,132509.00,A,5159.12240,N,00423.70952,E,0.107,245.93,120308,,,A*64
+$GPRMC,132510.00,A,5159.12252,N,00423.70944,E,0.030,246.13,120308,,,A*66
+$GPRMC,132511.00,A,5159.12262,N,00423.70936,E,0.020,249.07,120308,,,A*6A
+$GPRMC,132512.00,A,5159.12269,N,00423.70932,E,0.015,,120308,,,A*76
+$GPRMC,132513.00,A,5159.12277,N,00423.70930,E,0.011,,120308,,,A*7E
+$GPRMC,132514.00,A,5159.12285,N,00423.70923,E,0.072,249.20,120308,,,A*60
+$GPRMC,132515.00,A,5159.12294,N,00423.70917,E,0.032,251.93,120308,,,A*63
+$GPRMC,132516.00,A,5159.12302,N,00423.70911,E,0.054,250.73,120308,,,A*67
+$GPRMC,132517.00,A,5159.12312,N,00423.70907,E,0.007,,120308,,,A*7B
+$GPRMC,132518.00,A,5159.12312,N,00423.70912,E,0.059,250.45,120308,,,A*63
+$GPRMC,132519.00,A,5159.12312,N,00423.70919,E,0.033,251.12,120308,,,A*66
+$GPRMC,132520.00,A,5159.12310,N,00423.70917,E,0.033,247.69,120308,,,A*6B
+$GPRMC,132521.00,A,5159.12308,N,00423.70915,E,0.069,246.00,120308,,,A*60
+$GPRMC,132522.00,A,5159.12308,N,00423.70912,E,0.036,247.73,120308,,,A*6B
+$GPRMC,132523.00,A,5159.12320,N,00423.70899,E,0.012,,120308,,,A*7F
+$GPRMC,132524.00,A,5159.12331,N,00423.70888,E,0.018,,120308,,,A*72
+$GPRMC,132525.00,A,5159.12342,N,00423.70878,E,0.035,249.75,120308,,,A*64
+$GPRMC,132526.00,A,5159.12350,N,00423.70869,E,0.013,,120308,,,A*73
+$GPRMC,132527.00,A,5159.12358,N,00423.70863,E,0.005,,120308,,,A*77
+$GPRMC,132528.00,A,5159.12365,N,00423.70857,E,0.026,248.81,120308,,,A*69
+$GPRMC,132529.00,A,5159.12371,N,00423.70848,E,0.023,250.36,120308,,,A*63
+$GPRMC,132530.00,A,5159.12375,N,00423.70836,E,0.108,249.97,120308,,,A*6D
+$GPRMC,132531.00,A,5159.12379,N,00423.70828,E,0.112,254.88,120308,,,A*66
+$GPRMC,132532.00,A,5159.12383,N,00423.70820,E,0.070,254.53,120308,,,A*6B
+$GPRMC,132533.00,A,5159.12385,N,00423.70810,E,0.009,,120308,,,A*7A
+$GPRMC,132534.00,A,5159.12387,N,00423.70805,E,0.019,,120308,,,A*7A
+$GPRMC,132535.00,A,5159.12388,N,00423.70799,E,0.010,,120308,,,A*77
+$GPRMC,132536.00,A,5159.12390,N,00423.70790,E,0.027,256.21,120308,,,A*6C
+$GPRMC,132537.00,A,5159.12391,N,00423.70781,E,0.002,,120308,,,A*77
+$GPRMC,132538.00,A,5159.12391,N,00423.70773,E,0.001,,120308,,,A*76
+$GPRMC,132539.00,A,5159.12395,N,00423.70762,E,0.049,254.84,120308,,,A*6E
+$GPRMC,132540.00,A,5159.12396,N,00423.70750,E,0.013,,120308,,,A*7C
+$GPRMC,132541.00,A,5159.12400,N,00423.70745,E,0.089,250.38,120308,,,A*60
+$GPRMC,132542.00,A,5159.12402,N,00423.70733,E,0.018,,120308,,,A*7A
+$GPRMC,132543.00,A,5159.12404,N,00423.70720,E,0.045,248.08,120308,,,A*6F
+$GPRMC,132544.00,A,5159.12405,N,00423.70710,E,0.049,248.07,120308,,,A*69
+$GPRMC,132545.00,A,5159.12404,N,00423.70698,E,0.056,247.64,120308,,,A*6C
+$GPRMC,132546.00,A,5159.12397,N,00423.70706,E,0.069,247.98,120308,,,A*6B
+$GPRMC,132547.00,A,5159.12389,N,00423.70715,E,0.028,246.43,120308,,,A*65
+$GPRMC,132548.00,A,5159.12382,N,00423.70725,E,0.031,249.12,120308,,,A*61
+$GPRMC,132549.00,A,5159.12376,N,00423.70737,E,0.007,,120308,,,A*7F
+$GPRMC,132550.00,A,5159.12369,N,00423.70746,E,0.040,245.98,120308,,,A*60
+$GPRMC,132551.00,A,5159.12366,N,00423.70764,E,0.027,249.40,120308,,,A*66
+$GPRMC,132552.00,A,5159.12365,N,00423.70781,E,0.042,251.44,120308,,,A*63
+$GPRMC,132553.00,A,5159.12367,N,00423.70789,E,0.172,247.62,120308,,,A*69
+$GPRMC,132554.00,A,5159.12370,N,00423.70795,E,0.017,,120308,,,A*7C
+$GPRMC,132555.00,A,5159.12366,N,00423.70800,E,0.005,,120308,,,A*7A
+$GPRMC,132556.00,A,5159.12362,N,00423.70807,E,0.012,,120308,,,A*7C
+$GPRMC,132557.00,A,5159.12356,N,00423.70814,E,0.018,,120308,,,A*72
+$GPRMC,132558.00,A,5159.12352,N,00423.70820,E,0.027,245.67,120308,,,A*6E
+$GPRMC,132559.00,A,5159.12347,N,00423.70827,E,0.012,,120308,,,A*76
+$GPRMC,132600.00,A,5159.12341,N,00423.70834,E,0.033,247.15,120308,,,A*65
+$GPRMC,132601.00,A,5159.12336,N,00423.70837,E,0.033,251.14,120308,,,A*61
+$GPRMC,132602.00,A,5159.12327,N,00423.70846,E,0.020,248.35,120308,,,A*6D
+$GPRMC,132603.00,A,5159.12321,N,00423.70853,E,0.031,250.27,120308,,,A*64
+$GPRMC,132604.00,A,5159.12318,N,00423.70857,E,0.028,246.18,120308,,,A*6E
+$GPRMC,132605.00,A,5159.12317,N,00423.70861,E,0.058,249.10,120308,,,A*65
+$GPRMC,132606.00,A,5159.12312,N,00423.70863,E,0.065,248.20,120308,,,A*6D
+$GPRMC,132607.00,A,5159.12305,N,00423.70863,E,0.077,249.76,120308,,,A*6B
+$GPRMC,132608.00,A,5159.12299,N,00423.70867,E,0.020,251.75,120308,,,A*6C
+$GPRMC,132609.00,A,5159.12294,N,00423.70871,E,0.013,,120308,,,A*7D
+$GPRMC,132610.00,A,5159.12290,N,00423.70871,E,0.015,,120308,,,A*77
+$GPRMC,132611.00,A,5159.12288,N,00423.70873,E,0.092,255.60,120308,,,A*68
+$GPRMC,132612.00,A,5159.12288,N,00423.70880,E,0.069,259.80,120308,,,A*61
+$GPRMC,132613.00,A,5159.12287,N,00423.70886,E,0.020,259.84,120308,,,A*60
+$GPRMC,132614.00,A,5159.12289,N,00423.70888,E,0.050,262.14,120308,,,A*61
+$GPRMC,132615.00,A,5159.12285,N,00423.70898,E,0.039,259.07,120308,,,A*68
+$GPRMC,132616.00,A,5159.12280,N,00423.70908,E,0.040,261.93,120308,,,A*6E
+$GPRMC,132617.00,A,5159.12273,N,00423.70924,E,0.025,265.17,120308,,,A*66
+$GPRMC,132618.00,A,5159.12272,N,00423.70934,E,0.016,,120308,,,A*70
+$GPRMC,132619.00,A,5159.12267,N,00423.70944,E,0.015,,120308,,,A*71
+$GPRMC,132620.00,A,5159.12260,N,00423.70945,E,0.046,265.70,120308,,,A*63
+$GPRMC,132621.00,A,5159.12253,N,00423.70948,E,0.011,,120308,,,A*75
+$GPRMC,132622.00,A,5159.12250,N,00423.70948,E,0.050,268.32,120308,,,A*63
+$GPRMC,132623.00,A,5159.12246,N,00423.70949,E,0.049,273.58,120308,,,A*6A
+$GPRMC,132624.00,A,5159.12243,N,00423.70946,E,0.033,274.93,120308,,,A*6A
+$GPRMC,132625.00,A,5159.12240,N,00423.70944,E,0.031,278.10,120308,,,A*6F
+$GPRMC,132626.00,A,5159.12238,N,00423.70949,E,0.023,281.15,120308,,,A*6E
+$GPRMC,132627.00,A,5159.12235,N,00423.70960,E,0.029,285.44,120308,,,A*63
+$GPRMC,132628.00,A,5159.12231,N,00423.70963,E,0.020,290.14,120308,,,A*63
+$GPRMC,132629.00,A,5159.12228,N,00423.70969,E,0.036,291.63,120308,,,A*66
+$GPRMC,132630.00,A,5159.12231,N,00423.70979,E,0.067,295.05,120308,,,A*67
+$GPRMC,132631.00,A,5159.12230,N,00423.70988,E,0.004,,120308,,,A*79
+$GPRMC,132632.00,A,5159.12227,N,00423.71000,E,0.090,299.24,120308,,,A*63
+$GPRMC,132633.00,A,5159.12227,N,00423.71013,E,0.085,303.34,120308,,,A*67
+$GPRMC,132634.00,A,5159.12229,N,00423.71037,E,0.073,306.98,120308,,,A*62
+$GPRMC,132635.00,A,5159.12227,N,00423.71041,E,0.035,308.94,120308,,,A*6C
+$GPRMC,132636.00,A,5159.12227,N,00423.71050,E,0.008,,120308,,,A*79
+$GPRMC,132637.00,A,5159.12231,N,00423.71056,E,0.025,304.77,120308,,,A*6F
+$GPRMC,132638.00,A,5159.12233,N,00423.71065,E,0.017,,120308,,,A*7A
+$GPRMC,132639.00,A,5159.12229,N,00423.71073,E,0.040,308.43,120308,,,A*67
+$GPRMC,132640.00,A,5159.12224,N,00423.71079,E,0.070,306.75,120308,,,A*66
+$GPRMC,132641.00,A,5159.12222,N,00423.71083,E,0.035,306.41,120308,,,A*62
+$GPRMC,132642.00,A,5159.12218,N,00423.71095,E,0.029,305.10,120308,,,A*65
+$GPRMC,132643.00,A,5159.12217,N,00423.71104,E,0.010,,120308,,,A*71
+$GPRMC,132644.00,A,5159.12217,N,00423.71112,E,0.031,307.19,120308,,,A*60
+$GPRMC,132645.00,A,5159.12217,N,00423.71119,E,0.024,311.97,120308,,,A*6F
+$GPRMC,132646.00,A,5159.12216,N,00423.71123,E,0.077,314.98,120308,,,A*68
+$GPRMC,132647.00,A,5159.12219,N,00423.71124,E,0.082,318.66,120308,,,A*66
+$GPRMC,132648.00,A,5159.12220,N,00423.71127,E,0.074,321.16,120308,,,A*64
+$GPRMC,132649.00,A,5159.12222,N,00423.71133,E,0.040,323.92,120308,,,A*6B
+$GPRMC,132650.00,A,5159.12222,N,00423.71139,E,0.043,328.98,120308,,,A*6B
+$GPRMC,132651.00,A,5159.12225,N,00423.71146,E,0.020,324.15,120308,,,A*69
+$GPRMC,132652.00,A,5159.12230,N,00423.71150,E,0.215,327.77,120308,,,A*6A
+$GPRMC,132653.00,A,5159.12234,N,00423.71161,E,0.264,335.16,120308,,,A*6F
+$GPRMC,132654.00,A,5159.12239,N,00423.71168,E,0.074,331.29,120308,,,A*67
+$GPRMC,132655.00,A,5159.12240,N,00423.71170,E,0.036,330.02,120308,,,A*6F
+$GPRMC,132656.00,A,5159.12245,N,00423.71168,E,0.064,327.02,120308,,,A*61
+$GPRMC,132657.00,A,5159.12244,N,00423.71169,E,0.058,324.59,120308,,,A*62
+$GPRMC,132658.00,A,5159.12256,N,00423.71189,E,0.344,325.87,120308,,,A*6C
+$GPRMC,132659.00,A,5159.12255,N,00423.71189,E,0.220,317.92,120308,,,A*68
+$GPRMC,132700.00,A,5159.12253,N,00423.71193,E,0.079,321.96,120308,,,A*67
+$GPRMC,132701.00,A,5159.12252,N,00423.71202,E,0.027,326.31,120308,,,A*6D
+$GPRMC,132702.00,A,5159.12245,N,00423.71205,E,0.028,331.39,120308,,,A*6E
+$GPRMC,132703.00,A,5159.12241,N,00423.71205,E,0.023,332.06,120308,,,A*6F
+$GPRMC,132704.00,A,5159.12240,N,00423.71210,E,0.034,334.75,120308,,,A*69
+$GPRMC,132705.00,A,5159.12244,N,00423.71218,E,0.015,,120308,,,A*7F
+$GPRMC,132706.00,A,5159.12244,N,00423.71225,E,0.037,331.25,120308,,,A*6A
+$GPRMC,132707.00,A,5159.12244,N,00423.71230,E,0.038,325.66,120308,,,A*62
+$GPRMC,132708.00,A,5159.12243,N,00423.71233,E,0.042,325.64,120308,,,A*66
+$GPRMC,132709.00,A,5159.12246,N,00423.71238,E,0.091,328.06,120308,,,A*6E
+$GPRMC,132710.00,A,5159.12249,N,00423.71234,E,0.032,333.54,120308,,,A*61
+$GPRMC,132711.00,A,5159.12254,N,00423.71232,E,0.063,330.65,120308,,,A*6F
+$GPRMC,132712.00,A,5159.12256,N,00423.71224,E,0.021,326.89,120308,,,A*6A
+$GPRMC,132713.00,A,5159.12255,N,00423.71216,E,0.109,324.00,120308,,,A*61
+$GPRMC,132714.00,A,5159.12253,N,00423.71207,E,0.083,321.55,120308,,,A*66
+$GPRMC,132715.00,A,5159.12252,N,00423.71206,E,0.056,323.78,120308,,,A*62
+$GPRMC,132716.00,A,5159.12254,N,00423.71194,E,0.044,321.10,120308,,,A*60
+$GPRMC,132717.00,A,5159.12252,N,00423.71181,E,0.060,317.95,120308,,,A*6D
+$GPRMC,132718.00,A,5159.12250,N,00423.71177,E,0.040,318.28,120308,,,A*62
+$GPRMC,132719.00,A,5159.12247,N,00423.71172,E,0.054,315.01,120308,,,A*63
+$GPRMC,132720.00,A,5159.12237,N,00423.71163,E,0.416,308.23,120308,,,A*60
+$GPRMC,132721.00,A,5159.12237,N,00423.71120,E,0.206,302.48,120308,,,A*66
+$GPRMC,132722.00,A,5159.12228,N,00423.71112,E,0.024,300.89,120308,,,A*67
+$GPRMC,132723.00,A,5159.12225,N,00423.71105,E,0.027,299.73,120308,,,A*6A
+$GPRMC,132724.00,A,5159.12222,N,00423.71105,E,0.093,297.50,120308,,,A*6A
+$GPRMC,132725.00,A,5159.12221,N,00423.71108,E,0.117,296.50,120308,,,A*69
+$GPRMC,132726.00,A,5159.12221,N,00423.71113,E,0.069,294.28,120308,,,A*65
+$GPRMC,132727.00,A,5159.12220,N,00423.71119,E,0.302,289.14,120308,,,A*62
+$GPRMC,132728.00,A,5159.12221,N,00423.71124,E,0.081,288.09,120308,,,A*67
+$GPRMC,132729.00,A,5159.12229,N,00423.71135,E,0.038,289.52,120308,,,A*63
+$GPRMC,132730.00,A,5159.12246,N,00423.71168,E,0.073,292.13,120308,,,A*6A
+$GPRMC,132731.00,A,5159.12257,N,00423.71195,E,0.218,286.40,120308,,,A*65
+$GPRMC,132732.00,A,5159.12259,N,00423.71202,E,0.080,290.06,120308,,,A*63
+$GPRMC,132733.00,A,5159.12276,N,00423.71228,E,0.077,294.73,120308,,,A*69
+$GPRMC,132734.00,A,5159.12289,N,00423.71250,E,0.192,298.25,120308,,,A*64
+$GPRMC,132735.00,A,5159.12295,N,00423.71255,E,0.128,302.73,120308,,,A*6D
+$GPRMC,132736.00,A,5159.12307,N,00423.71259,E,0.253,308.91,120308,,,A*61
+$GPRMC,132737.00,A,5159.12321,N,00423.71263,E,0.080,312.71,120308,,,A*64
+$GPRMC,132738.00,A,5159.12322,N,00423.71261,E,0.118,315.88,120308,,,A*6B
+$GPRMC,132739.00,A,5159.12329,N,00423.71262,E,0.105,319.27,120308,,,A*67
+$GPRMC,132740.00,A,5159.12325,N,00423.71250,E,0.098,315.38,120308,,,A*63
+$GPRMC,132741.00,A,5159.12325,N,00423.71248,E,0.058,312.62,120308,,,A*6F
+$GPRMC,132742.00,A,5159.12330,N,00423.71250,E,0.029,310.57,120308,,,A*63
+$GPRMC,132743.00,A,5159.12336,N,00423.71257,E,0.009,,120308,,,A*7F
+$GPRMC,132744.00,A,5159.12340,N,00423.71257,E,0.016,,120308,,,A*77
+$GPRMC,132745.00,A,5159.12343,N,00423.71253,E,0.122,313.19,120308,,,A*60
+$GPRMC,132746.00,A,5159.12343,N,00423.71246,E,0.012,,120308,,,A*72
+$GPRMC,132747.00,A,5159.12342,N,00423.71241,E,0.253,306.06,120308,,,A*6F
+$GPRMC,132748.00,A,5159.12348,N,00423.71250,E,0.042,310.25,120308,,,A*6E
+$GPRMC,132749.00,A,5159.12362,N,00423.71270,E,0.039,314.54,120308,,,A*6B
+$GPRMC,132750.00,A,5159.12369,N,00423.71246,E,0.007,,120308,,,A*79
Index: /liacs/se/gps-data/110/characteroutput-20080312-143239.txt
===================================================================
--- /liacs/se/gps-data/110/characteroutput-20080312-143239.txt	(revision 2)
+++ /liacs/se/gps-data/110/characteroutput-20080312-143239.txt	(revision 2)
@@ -0,0 +1,6804 @@
+$GPRMC,133228.00,A,5159.12128,N,00423.70672,E,0.080,26.80,120308,,,A*5A
+$GPRMC,133229.00,A,5159.12145,N,00423.70711,E,0.282,18.14,120308,,,A*54
+$GPRMC,133230.00,A,5159.12170,N,00423.70758,E,0.724,20.55,120308,,,A*50
+$GPRMC,133231.00,A,5159.12196,N,00423.70800,E,0.008,,120308,,,A*7E
+$GPRMC,133232.00,A,5159.12234,N,00423.70836,E,0.017,,120308,,,A*7D
+$GPRMC,133233.00,A,5159.12259,N,00423.70864,E,0.039,25.52,120308,,,A*52
+$GPRMC,133234.00,A,5159.12284,N,00423.70877,E,0.019,,120308,,,A*7B
+$GPRMC,133235.00,A,5159.12300,N,00423.70895,E,0.126,28.24,120308,,,A*54
+$GPRMC,133236.00,A,5159.12310,N,00423.70899,E,0.040,32.70,120308,,,A*51
+$GPRMC,133237.00,A,5159.12314,N,00423.70905,E,0.122,38.16,120308,,,A*5F
+$GPRMC,133238.00,A,5159.12313,N,00423.70901,E,0.041,32.58,120308,,,A*57
+$GPRMC,133239.00,A,5159.12318,N,00423.70908,E,0.347,31.75,120308,,,A*5D
+$GPRMC,133240.00,A,5159.12332,N,00423.70918,E,0.670,31.36,120308,,,A*5C
+$GPRMC,133241.00,A,5159.12350,N,00423.70935,E,0.611,30.98,120308,,,A*54
+$GPRMC,133242.00,A,5159.12343,N,00423.70939,E,0.008,,120308,,,A*7B
+$GPRMC,133243.00,A,5159.12337,N,00423.70940,E,0.034,26.85,120308,,,A*5F
+$GPRMC,133244.00,A,5159.12329,N,00423.70944,E,0.028,22.31,120308,,,A*55
+$GPRMC,133245.00,A,5159.12320,N,00423.70941,E,0.081,27.43,120308,,,A*5B
+$GPRMC,133246.00,A,5159.12312,N,00423.70943,E,0.049,27.96,120308,,,A*57
+$GPRMC,133247.00,A,5159.12305,N,00423.70952,E,0.030,27.98,120308,,,A*50
+$GPRMC,133248.00,A,5159.12304,N,00423.70961,E,0.345,27.84,120308,,,A*52
+$GPRMC,133249.00,A,5159.12298,N,00423.70965,E,0.102,27.45,120308,,,A*5F
+$GPRMC,133250.00,A,5159.12293,N,00423.70967,E,0.156,27.32,120308,,,A*5F
+$GPRMC,133251.00,A,5159.12276,N,00423.70958,E,0.013,,120308,,,A*73
+$GPRMC,133252.00,A,5159.12267,N,00423.70958,E,0.046,32.77,120308,,,A*5F
+$GPRMC,133253.00,A,5159.12252,N,00423.70962,E,0.053,37.88,120308,,,A*50
+$GPRMC,133254.00,A,5159.12246,N,00423.70958,E,0.106,37.24,120308,,,A*5C
+$GPRMC,133255.00,A,5159.12235,N,00423.70949,E,0.026,32.50,120308,,,A*5C
+$GPRMC,133256.00,A,5159.12228,N,00423.70946,E,0.044,37.82,120308,,,A*52
+$GPRMC,133257.00,A,5159.12216,N,00423.70939,E,0.221,48.24,120308,,,A*53
+$GPRMC,133258.00,A,5159.12202,N,00423.70931,E,0.110,53.20,120308,,,A*5E
+$GPRMC,133259.00,A,5159.12195,N,00423.70925,E,0.158,58.20,120308,,,A*50
+$GPRMC,133300.00,A,5159.12181,N,00423.70914,E,0.070,57.15,120308,,,A*58
+$GPRMC,133301.00,A,5159.12169,N,00423.70906,E,0.054,62.13,120308,,,A*5A
+$GPRMC,133302.00,A,5159.12159,N,00423.70900,E,0.045,66.23,120308,,,A*5B
+$GPRMC,133303.00,A,5159.12151,N,00423.70898,E,0.088,70.89,120308,,,A*54
+$GPRMC,133304.00,A,5159.12146,N,00423.70899,E,0.045,76.41,120308,,,A*57
+$GPRMC,133305.00,A,5159.12142,N,00423.70900,E,0.043,80.67,120308,,,A*58
+$GPRMC,133306.00,A,5159.12140,N,00423.70904,E,0.015,,120308,,,A*79
+$GPRMC,133307.00,A,5159.12134,N,00423.70905,E,0.226,88.77,120308,,,A*56
+$GPRMC,133308.00,A,5159.12122,N,00423.70899,E,0.233,95.85,120308,,,A*5F
+$GPRMC,133309.00,A,5159.12113,N,00423.70893,E,0.035,99.83,120308,,,A*58
+$GPRMC,133310.00,A,5159.12100,N,00423.70879,E,0.083,103.43,120308,,,A*65
+$GPRMC,133311.00,A,5159.12091,N,00423.70866,E,0.012,,120308,,,A*70
+$GPRMC,133312.00,A,5159.12078,N,00423.70851,E,0.310,109.96,120308,,,A*68
+$GPRMC,133313.00,A,5159.12053,N,00423.70827,E,0.780,116.01,120308,,,A*6C
+$GPRMC,133314.00,A,5159.12045,N,00423.70820,E,0.213,121.78,120308,,,A*6E
+$GPRMC,133315.00,A,5159.12030,N,00423.70804,E,0.127,124.53,120308,,,A*63
+$GPRMC,133316.00,A,5159.12015,N,00423.70788,E,0.174,127.23,120308,,,A*6E
+$GPRMC,133317.00,A,5159.12002,N,00423.70776,E,0.141,129.87,120308,,,A*6E
+$GPRMC,133318.00,A,5159.11997,N,00423.70771,E,0.058,132.52,120308,,,A*6B
+$GPRMC,133319.00,A,5159.11991,N,00423.70766,E,0.057,128.57,120308,,,A*6B
+$GPRMC,133320.00,A,5159.11977,N,00423.70757,E,0.094,131.08,120308,,,A*66
+$GPRMC,133321.00,A,5159.11967,N,00423.70755,E,0.187,133.65,120308,,,A*6E
+$GPRMC,133322.00,A,5159.11955,N,00423.70746,E,0.147,136.07,120308,,,A*63
+$GPRMC,133323.00,A,5159.11946,N,00423.70741,E,0.153,138.50,120308,,,A*6E
+$GPRMC,133324.00,A,5159.11946,N,00423.70741,E,0.111,140.72,120308,,,A*60
+$GPRMC,133325.00,A,5159.11948,N,00423.70745,E,0.099,142.75,120308,,,A*6F
+$GPRMC,133326.00,A,5159.11950,N,00423.70748,E,0.098,145.29,120308,,,A*67
+$GPRMC,133327.00,A,5159.11948,N,00423.70749,E,0.026,147.91,120308,,,A*6A
+$GPRMC,133328.00,A,5159.11948,N,00423.70753,E,0.034,149.30,120308,,,A*68
+$GPRMC,133329.00,A,5159.11954,N,00423.70762,E,0.153,145.39,120308,,,A*63
+$GPRMC,133330.00,A,5159.11960,N,00423.70768,E,0.043,147.39,120308,,,A*64
+$GPRMC,133331.00,A,5159.11971,N,00423.70779,E,0.057,149.44,120308,,,A*64
+$GPRMC,133332.00,A,5159.11983,N,00423.70792,E,0.055,145.99,120308,,,A*61
+$GPRMC,133333.00,A,5159.11989,N,00423.70799,E,0.048,141.90,120308,,,A*60
+$GPRMC,133334.00,A,5159.11994,N,00423.70806,E,0.065,138.39,120308,,,A*60
+$GPRMC,133335.00,A,5159.12005,N,00423.70814,E,0.004,,120308,,,A*79
+$GPRMC,133336.00,A,5159.12017,N,00423.70824,E,0.078,135.30,120308,,,A*6B
+$GPRMC,133337.00,A,5159.12022,N,00423.70829,E,0.166,131.95,120308,,,A*64
+$GPRMC,133338.00,A,5159.12034,N,00423.70843,E,0.153,128.90,120308,,,A*6B
+$GPRMC,133339.00,A,5159.12030,N,00423.70843,E,0.177,125.80,120308,,,A*64
+$GPRMC,133340.00,A,5159.12021,N,00423.70839,E,0.048,122.63,120308,,,A*60
+$GPRMC,133341.00,A,5159.12008,N,00423.70833,E,0.178,125.13,120308,,,A*62
+$GPRMC,133342.00,A,5159.12002,N,00423.70833,E,0.073,122.02,120308,,,A*66
+$GPRMC,133343.00,A,5159.11976,N,00423.70815,E,0.018,,120308,,,A*7A
+$GPRMC,133344.00,A,5159.11975,N,00423.70820,E,0.009,,120308,,,A*78
+$GPRMC,133345.00,A,5159.11972,N,00423.70822,E,0.035,125.52,120308,,,A*6C
+$GPRMC,133346.00,A,5159.11980,N,00423.70832,E,0.088,122.67,120308,,,A*64
+$GPRMC,133347.00,A,5159.11991,N,00423.70846,E,0.011,,120308,,,A*78
+$GPRMC,133348.00,A,5159.11996,N,00423.70852,E,0.048,124.69,120308,,,A*6F
+$GPRMC,133349.00,A,5159.12005,N,00423.70859,E,0.007,,120308,,,A*78
+$GPRMC,133350.00,A,5159.12013,N,00423.70866,E,0.280,129.54,120308,,,A*63
+$GPRMC,133351.00,A,5159.12018,N,00423.70867,E,0.109,132.17,120308,,,A*67
+$GPRMC,133352.00,A,5159.12021,N,00423.70865,E,0.109,129.37,120308,,,A*64
+$GPRMC,133353.00,A,5159.12022,N,00423.70861,E,0.174,126.10,120308,,,A*62
+$GPRMC,133354.00,A,5159.12028,N,00423.70862,E,0.051,123.59,120308,,,A*62
+$GPRMC,133355.00,A,5159.12037,N,00423.70864,E,0.119,120.56,120308,,,A*6A
+$GPRMC,133356.00,A,5159.12044,N,00423.70868,E,0.096,118.04,120308,,,A*6B
+$GPRMC,133357.00,A,5159.12052,N,00423.70875,E,0.150,115.30,120308,,,A*60
+$GPRMC,133358.00,A,5159.12061,N,00423.70881,E,0.171,112.54,120308,,,A*62
+$GPRMC,133359.00,A,5159.12085,N,00423.70905,E,0.151,109.85,120308,,,A*60
+$GPRMC,133400.00,A,5159.12115,N,00423.70927,E,0.086,107.51,120308,,,A*6F
+$GPRMC,133401.00,A,5159.12127,N,00423.70933,E,0.194,105.06,120308,,,A*68
+$GPRMC,133402.00,A,5159.12140,N,00423.70940,E,0.090,103.34,120308,,,A*6C
+$GPRMC,133403.00,A,5159.12146,N,00423.70944,E,0.118,106.03,120308,,,A*6F
+$GPRMC,133404.00,A,5159.12186,N,00423.70985,E,0.195,101.09,120308,,,A*61
+$GPRMC,133405.00,A,5159.12200,N,00423.70998,E,0.126,98.91,120308,,,A*59
+$GPRMC,133406.00,A,5159.12206,N,00423.71004,E,0.120,96.85,120308,,,A*5C
+$GPRMC,133407.00,A,5159.12226,N,00423.71021,E,0.264,90.94,120308,,,A*5D
+$GPRMC,133408.00,A,5159.12242,N,00423.71034,E,0.431,84.00,120308,,,A*5A
+$GPRMC,133409.00,A,5159.12233,N,00423.71026,E,0.116,81.51,120308,,,A*5F
+$GPRMC,133410.00,A,5159.12246,N,00423.71038,E,0.243,78.18,120308,,,A*52
+$GPRMC,133411.00,A,5159.12240,N,00423.71037,E,0.088,76.42,120308,,,A*5E
+$GPRMC,133412.00,A,5159.12251,N,00423.71053,E,0.048,74.68,120308,,,A*59
+$GPRMC,133413.00,A,5159.12265,N,00423.71063,E,0.028,76.56,120308,,,A*55
+$GPRMC,133414.00,A,5159.12277,N,00423.71071,E,0.006,,120308,,,A*72
+$GPRMC,133415.00,A,5159.12283,N,00423.71069,E,0.019,,120308,,,A*7F
+$GPRMC,133416.00,A,5159.12279,N,00423.71058,E,0.037,76.10,120308,,,A*59
+$GPRMC,133417.00,A,5159.12285,N,00423.71050,E,0.374,65.02,120308,,,A*56
+$GPRMC,133418.00,A,5159.12280,N,00423.70986,E,2.157,45.03,120308,,,A*5D
+$GPRMC,133419.00,A,5159.12280,N,00423.70850,E,4.298,263.79,120308,,,A*6B
+$GPRMC,133420.00,A,5159.12231,N,00423.70623,E,5.982,271.12,120308,,,A*6E
+$GPRMC,133421.00,A,5159.12202,N,00423.70354,E,6.196,276.19,120308,,,A*68
+$GPRMC,133422.00,A,5159.12259,N,00423.70035,E,7.265,297.68,120308,,,A*66
+$GPRMC,133423.00,A,5159.12489,N,00423.69723,E,11.382,324.91,120308,,,A*54
+$GPRMC,133424.00,A,5159.12800,N,00423.69394,E,14.333,331.04,120308,,,A*51
+$GPRMC,133425.00,A,5159.13203,N,00423.69161,E,15.238,338.09,120308,,,A*5F
+$GPRMC,133426.00,A,5159.13580,N,00423.68860,E,15.570,332.49,120308,,,A*5C
+$GPRMC,133427.00,A,5159.13912,N,00423.68435,E,16.206,319.32,120308,,,A*56
+$GPRMC,133428.00,A,5159.14123,N,00423.67816,E,16.224,300.08,120308,,,A*57
+$GPRMC,133429.00,A,5159.14307,N,00423.67151,E,16.896,292.32,120308,,,A*58
+$GPRMC,133430.00,A,5159.14474,N,00423.66459,E,17.112,287.93,120308,,,A*54
+$GPRMC,133431.00,A,5159.14635,N,00423.65729,E,18.325,289.74,120308,,,A*5B
+$GPRMC,133432.00,A,5159.14821,N,00423.64955,E,18.566,289.67,120308,,,A*54
+$GPRMC,133433.00,A,5159.15003,N,00423.64183,E,17.870,293.01,120308,,,A*51
+$GPRMC,133434.00,A,5159.15224,N,00423.63467,E,18.076,299.54,120308,,,A*52
+$GPRMC,133435.00,A,5159.15640,N,00423.62910,E,19.773,323.55,120308,,,A*5B
+$GPRMC,133436.00,A,5159.16205,N,00423.62415,E,23.419,334.12,120308,,,A*55
+$GPRMC,133437.00,A,5159.16865,N,00423.61988,E,27.510,337.90,120308,,,A*57
+$GPRMC,133438.00,A,5159.17717,N,00423.61626,E,31.634,342.03,120308,,,A*52
+$GPRMC,133439.00,A,5159.18700,N,00423.61277,E,35.594,342.90,120308,,,A*5D
+$GPRMC,133440.00,A,5159.19692,N,00423.60833,E,36.363,343.26,120308,,,A*52
+$GPRMC,133441.00,A,5159.20725,N,00423.60372,E,38.960,343.65,120308,,,A*5A
+$GPRMC,133442.00,A,5159.21851,N,00423.59904,E,41.506,344.41,120308,,,A*56
+$GPRMC,133443.00,A,5159.23069,N,00423.59396,E,44.954,344.88,120308,,,A*5C
+$GPRMC,133444.00,A,5159.24360,N,00423.58876,E,47.273,345.51,120308,,,A*5A
+$GPRMC,133445.00,A,5159.25646,N,00423.58358,E,48.137,345.80,120308,,,A*5C
+$GPRMC,133446.00,A,5159.26952,N,00423.57817,E,48.252,345.34,120308,,,A*56
+$GPRMC,133447.00,A,5159.28355,N,00423.57333,E,48.768,344.34,120308,,,A*54
+$GPRMC,133448.00,A,5159.29704,N,00423.56718,E,49.918,343.06,120308,,,A*58
+$GPRMC,133449.00,A,5159.31095,N,00423.56048,E,51.379,342.54,120308,,,A*5F
+$GPRMC,133450.00,A,5159.32477,N,00423.55304,E,52.713,342.04,120308,,,A*5A
+$GPRMC,133451.00,A,5159.33906,N,00423.54542,E,54.153,342.18,120308,,,A*5D
+$GPRMC,133452.00,A,5159.35373,N,00423.53810,E,55.291,343.18,120308,,,A*50
+$GPRMC,133453.00,A,5159.36896,N,00423.53062,E,56.926,343.20,120308,,,A*50
+$GPRMC,133454.00,A,5159.38471,N,00423.52293,E,58.415,342.99,120308,,,A*51
+$GPRMC,133455.00,A,5159.40074,N,00423.51528,E,59.879,343.47,120308,,,A*5F
+$GPRMC,133456.00,A,5159.41708,N,00423.50769,E,60.971,344.08,120308,,,A*58
+$GPRMC,133457.00,A,5159.43392,N,00423.50012,E,63.094,344.75,120308,,,A*5C
+$GPRMC,133458.00,A,5159.45116,N,00423.49274,E,63.955,344.89,120308,,,A*56
+$GPRMC,133459.00,A,5159.46842,N,00423.48557,E,63.580,345.32,120308,,,A*5E
+$GPRMC,133500.00,A,5159.48525,N,00423.47863,E,62.156,345.30,120308,,,A*58
+$GPRMC,133501.00,A,5159.50207,N,00423.47152,E,61.966,345.23,120308,,,A*56
+$GPRMC,133502.00,A,5159.51894,N,00423.46480,E,61.749,345.61,120308,,,A*5A
+$GPRMC,133503.00,A,5159.53606,N,00423.45773,E,62.572,345.56,120308,,,A*5D
+$GPRMC,133504.00,A,5159.55292,N,00423.45079,E,61.729,344.92,120308,,,A*5E
+$GPRMC,133505.00,A,5159.56942,N,00423.44364,E,61.264,345.13,120308,,,A*50
+$GPRMC,133506.00,A,5159.58594,N,00423.43693,E,61.111,345.63,120308,,,A*56
+$GPRMC,133507.00,A,5159.60209,N,00423.42967,E,60.523,345.16,120308,,,A*5C
+$GPRMC,133508.00,A,5159.61787,N,00423.42267,E,59.406,344.99,120308,,,A*50
+$GPRMC,133509.00,A,5159.63365,N,00423.41572,E,58.831,345.44,120308,,,A*53
+$GPRMC,133510.00,A,5159.64916,N,00423.40852,E,59.531,345.21,120308,,,A*53
+$GPRMC,133511.00,A,5159.66492,N,00423.40154,E,59.489,345.35,120308,,,A*59
+$GPRMC,133512.00,A,5159.68090,N,00423.39459,E,59.548,345.30,120308,,,A*5D
+$GPRMC,133513.00,A,5159.69682,N,00423.38785,E,60.304,345.37,120308,,,A*58
+$GPRMC,133514.00,A,5159.71268,N,00423.38098,E,60.236,345.05,120308,,,A*5C
+$GPRMC,133515.00,A,5159.72882,N,00423.37394,E,60.651,344.77,120308,,,A*51
+$GPRMC,133516.00,A,5159.74523,N,00423.36674,E,61.584,345.19,120308,,,A*5B
+$GPRMC,133517.00,A,5159.76185,N,00423.35984,E,61.782,345.66,120308,,,A*5F
+$GPRMC,133518.00,A,5159.77851,N,00423.35262,E,62.290,345.24,120308,,,A*51
+$GPRMC,133519.00,A,5159.79537,N,00423.34558,E,62.811,345.24,120308,,,A*5F
+$GPRMC,133520.00,A,5159.81244,N,00423.33857,E,63.831,345.62,120308,,,A*55
+$GPRMC,133521.00,A,5159.82958,N,00423.33159,E,63.626,345.91,120308,,,A*52
+$GPRMC,133522.00,A,5159.84728,N,00423.32483,E,65.392,346.60,120308,,,A*5C
+$GPRMC,133523.00,A,5159.86456,N,00423.31679,E,65.000,345.33,120308,,,A*5C
+$GPRMC,133524.00,A,5159.88224,N,00423.30938,E,65.162,345.17,120308,,,A*5E
+$GPRMC,133525.00,A,5159.89993,N,00423.30174,E,65.075,345.19,120308,,,A*50
+$GPRMC,133526.00,A,5159.91729,N,00423.29393,E,64.523,344.98,120308,,,A*59
+$GPRMC,133527.00,A,5159.93460,N,00423.28637,E,65.330,345.00,120308,,,A*5B
+$GPRMC,133528.00,A,5159.95204,N,00423.27873,E,65.399,345.35,120308,,,A*52
+$GPRMC,133529.00,A,5159.96939,N,00423.27128,E,65.338,345.54,120308,,,A*5E
+$GPRMC,133530.00,A,5159.98671,N,00423.26372,E,63.995,345.30,120308,,,A*5E
+$GPRMC,133531.00,A,5200.00403,N,00423.25606,E,64.602,345.02,120308,,,A*54
+$GPRMC,133532.00,A,5200.02090,N,00423.24851,E,63.352,346.26,120308,,,A*54
+$GPRMC,133533.00,A,5200.03798,N,00423.24137,E,62.656,345.62,120308,,,A*51
+$GPRMC,133534.00,A,5200.05482,N,00423.23340,E,63.855,343.26,120308,,,A*57
+$GPRMC,133535.00,A,5200.07180,N,00423.22518,E,64.432,342.84,120308,,,A*5A
+$GPRMC,133536.00,A,5200.08895,N,00423.21705,E,64.253,343.70,120308,,,A*5D
+$GPRMC,133537.00,A,5200.10627,N,00423.20947,E,64.956,344.59,120308,,,A*59
+$GPRMC,133538.00,A,5200.12342,N,00423.20213,E,64.374,344.83,120308,,,A*55
+$GPRMC,133539.00,A,5200.14073,N,00423.19465,E,64.969,344.87,120308,,,A*5C
+$GPRMC,133540.00,A,5200.15801,N,00423.18711,E,65.118,345.11,120308,,,A*5E
+$GPRMC,133541.00,A,5200.17522,N,00423.17935,E,65.176,344.89,120308,,,A*5E
+$GPRMC,133542.00,A,5200.19238,N,00423.17163,E,64.581,344.94,120308,,,A*55
+$GPRMC,133543.00,A,5200.20958,N,00423.16390,E,64.795,344.75,120308,,,A*54
+$GPRMC,133544.00,A,5200.22686,N,00423.15569,E,65.224,343.35,120308,,,A*53
+$GPRMC,133545.00,A,5200.24407,N,00423.14701,E,65.461,342.53,120308,,,A*54
+$GPRMC,133546.00,A,5200.26130,N,00423.13658,E,65.366,339.54,120308,,,A*55
+$GPRMC,133547.00,A,5200.27836,N,00423.12566,E,65.149,337.47,120308,,,A*56
+$GPRMC,133548.00,A,5200.29506,N,00423.11401,E,64.714,336.33,120308,,,A*57
+$GPRMC,133549.00,A,5200.31167,N,00423.10184,E,64.393,334.13,120308,,,A*5E
+$GPRMC,133550.00,A,5200.32818,N,00423.08928,E,63.664,332.84,120308,,,A*51
+$GPRMC,133551.00,A,5200.34406,N,00423.07547,E,63.949,330.74,120308,,,A*52
+$GPRMC,133552.00,A,5200.35929,N,00423.06066,E,63.378,328.53,120308,,,A*53
+$GPRMC,133553.00,A,5200.37397,N,00423.04504,E,63.259,326.83,120308,,,A*5D
+$GPRMC,133554.00,A,5200.38823,N,00423.02877,E,63.184,325.24,120308,,,A*53
+$GPRMC,133555.00,A,5200.40231,N,00423.01201,E,63.126,324.37,120308,,,A*57
+$GPRMC,133556.00,A,5200.41629,N,00422.99479,E,63.017,324.22,120308,,,A*56
+$GPRMC,133557.00,A,5200.43030,N,00422.97811,E,63.154,324.00,120308,,,A*51
+$GPRMC,133558.00,A,5200.44443,N,00422.96131,E,63.760,323.63,120308,,,A*50
+$GPRMC,133559.00,A,5200.45875,N,00422.94451,E,64.586,324.19,120308,,,A*5F
+$GPRMC,133600.00,A,5200.47347,N,00422.92762,E,65.199,324.33,120308,,,A*5E
+$GPRMC,133601.00,A,5200.48823,N,00422.91048,E,65.525,324.86,120308,,,A*58
+$GPRMC,133602.00,A,5200.50308,N,00422.89341,E,65.680,324.99,120308,,,A*51
+$GPRMC,133603.00,A,5200.51778,N,00422.87609,E,65.413,323.95,120308,,,A*56
+$GPRMC,133604.00,A,5200.53222,N,00422.85878,E,65.268,324.13,120308,,,A*50
+$GPRMC,133605.00,A,5200.54683,N,00422.84144,E,65.177,324.18,120308,,,A*58
+$GPRMC,133606.00,A,5200.56145,N,00422.82419,E,65.296,324.34,120308,,,A*5D
+$GPRMC,133607.00,A,5200.57610,N,00422.80698,E,65.189,324.36,120308,,,A*5C
+$GPRMC,133608.00,A,5200.59072,N,00422.78982,E,64.882,324.27,120308,,,A*5F
+$GPRMC,133609.00,A,5200.60524,N,00422.77268,E,64.506,324.29,120308,,,A*5D
+$GPRMC,133610.00,A,5200.61968,N,00422.75561,E,64.310,324.23,120308,,,A*57
+$GPRMC,133611.00,A,5200.63413,N,00422.73849,E,64.659,324.08,120308,,,A*55
+$GPRMC,133612.00,A,5200.64867,N,00422.72132,E,64.993,324.29,120308,,,A*50
+$GPRMC,133613.00,A,5200.66330,N,00422.70416,E,65.222,324.37,120308,,,A*54
+$GPRMC,133614.00,A,5200.67801,N,00422.68696,E,65.379,324.40,120308,,,A*57
+$GPRMC,133615.00,A,5200.69273,N,00422.66973,E,65.409,324.46,120308,,,A*5B
+$GPRMC,133616.00,A,5200.70748,N,00422.65248,E,65.597,324.41,120308,,,A*5C
+$GPRMC,133617.00,A,5200.72226,N,00422.63507,E,65.918,324.16,120308,,,A*51
+$GPRMC,133618.00,A,5200.73707,N,00422.61754,E,66.152,323.78,120308,,,A*55
+$GPRMC,133619.00,A,5200.75189,N,00422.60015,E,65.974,324.36,120308,,,A*53
+$GPRMC,133620.00,A,5200.76669,N,00422.58296,E,65.149,324.51,120308,,,A*56
+$GPRMC,133621.00,A,5200.78125,N,00422.56583,E,64.382,324.38,120308,,,A*50
+$GPRMC,133622.00,A,5200.79567,N,00422.54890,E,63.830,324.39,120308,,,A*59
+$GPRMC,133623.00,A,5200.81008,N,00422.53221,E,63.724,324.58,120308,,,A*59
+$GPRMC,133624.00,A,5200.82436,N,00422.51527,E,63.797,323.56,120308,,,A*56
+$GPRMC,133625.00,A,5200.83869,N,00422.49832,E,63.963,324.34,120308,,,A*56
+$GPRMC,133626.00,A,5200.85303,N,00422.48147,E,63.546,324.36,120308,,,A*57
+$GPRMC,133627.00,A,5200.86725,N,00422.46487,E,62.851,324.32,120308,,,A*5C
+$GPRMC,133628.00,A,5200.88130,N,00422.44844,E,62.061,324.40,120308,,,A*50
+$GPRMC,133629.00,A,5200.89513,N,00422.43207,E,61.418,323.78,120308,,,A*5A
+$GPRMC,133630.00,A,5200.90882,N,00422.41586,E,60.808,324.12,120308,,,A*54
+$GPRMC,133631.00,A,5200.92251,N,00422.39994,E,60.609,324.20,120308,,,A*5D
+$GPRMC,133632.00,A,5200.93626,N,00422.38405,E,61.046,324.42,120308,,,A*57
+$GPRMC,133633.00,A,5200.95009,N,00422.36824,E,60.982,324.85,120308,,,A*51
+$GPRMC,133634.00,A,5200.96382,N,00422.35224,E,61.052,324.34,120308,,,A*53
+$GPRMC,133635.00,A,5200.97757,N,00422.33619,E,61.279,324.35,120308,,,A*59
+$GPRMC,133636.00,A,5200.99130,N,00422.31981,E,61.703,323.81,120308,,,A*5F
+$GPRMC,133637.00,A,5201.00522,N,00422.30359,E,62.187,324.22,120308,,,A*51
+$GPRMC,133638.00,A,5201.01907,N,00422.28713,E,61.804,323.99,120308,,,A*51
+$GPRMC,133639.00,A,5201.03298,N,00422.27112,E,61.364,324.47,120308,,,A*5E
+$GPRMC,133640.00,A,5201.04673,N,00422.25510,E,61.059,324.69,120308,,,A*53
+$GPRMC,133641.00,A,5201.06037,N,00422.23910,E,60.591,324.14,120308,,,A*56
+$GPRMC,133642.00,A,5201.07382,N,00422.22315,E,59.723,324.34,120308,,,A*54
+$GPRMC,133643.00,A,5201.08721,N,00422.20758,E,59.195,324.22,120308,,,A*54
+$GPRMC,133644.00,A,5201.10054,N,00422.19200,E,59.427,323.70,120308,,,A*51
+$GPRMC,133645.00,A,5201.11390,N,00422.17626,E,59.703,324.21,120308,,,A*52
+$GPRMC,133646.00,A,5201.12727,N,00422.16062,E,59.399,324.38,120308,,,A*52
+$GPRMC,133647.00,A,5201.14062,N,00422.14493,E,59.499,324.14,120308,,,A*52
+$GPRMC,133648.00,A,5201.15405,N,00422.12930,E,59.667,324.51,120308,,,A*59
+$GPRMC,133649.00,A,5201.16757,N,00422.11373,E,59.804,324.60,120308,,,A*58
+$GPRMC,133650.00,A,5201.18085,N,00422.09810,E,58.681,324.14,120308,,,A*50
+$GPRMC,133651.00,A,5201.19399,N,00422.08278,E,58.142,324.30,120308,,,A*55
+$GPRMC,133652.00,A,5201.20698,N,00422.06747,E,57.899,324.12,120308,,,A*5F
+$GPRMC,133653.00,A,5201.21989,N,00422.05235,E,57.122,324.27,120308,,,A*5C
+$GPRMC,133654.00,A,5201.23262,N,00422.03740,E,56.395,324.19,120308,,,A*54
+$GPRMC,133655.00,A,5201.24509,N,00422.02260,E,55.248,323.28,120308,,,A*59
+$GPRMC,133656.00,A,5201.25751,N,00422.00847,E,54.269,324.13,120308,,,A*54
+$GPRMC,133657.00,A,5201.26962,N,00421.99434,E,53.670,324.01,120308,,,A*5B
+$GPRMC,133658.00,A,5201.28177,N,00421.98024,E,54.339,324.31,120308,,,A*5E
+$GPRMC,133659.00,A,5201.29407,N,00421.96597,E,55.048,324.42,120308,,,A*5F
+$GPRMC,133700.00,A,5201.30666,N,00421.95164,E,55.934,324.42,120308,,,A*56
+$GPRMC,133701.00,A,5201.31937,N,00421.93704,E,56.317,324.43,120308,,,A*52
+$GPRMC,133702.00,A,5201.33215,N,00421.92221,E,56.998,324.33,120308,,,A*51
+$GPRMC,133703.00,A,5201.34504,N,00421.90723,E,57.224,324.36,120308,,,A*5D
+$GPRMC,133704.00,A,5201.35785,N,00421.89219,E,56.935,324.46,120308,,,A*59
+$GPRMC,133705.00,A,5201.37069,N,00421.87723,E,57.099,324.17,120308,,,A*57
+$GPRMC,133706.00,A,5201.38357,N,00421.86215,E,57.333,324.04,120308,,,A*55
+$GPRMC,133707.00,A,5201.39646,N,00421.84706,E,57.171,323.99,120308,,,A*52
+$GPRMC,133708.00,A,5201.40926,N,00421.83187,E,57.377,324.18,120308,,,A*58
+$GPRMC,133709.00,A,5201.42216,N,00421.81667,E,57.777,324.20,120308,,,A*57
+$GPRMC,133710.00,A,5201.43509,N,00421.80139,E,57.585,324.27,120308,,,A*52
+$GPRMC,133711.00,A,5201.44795,N,00421.78634,E,56.972,324.25,120308,,,A*59
+$GPRMC,133712.00,A,5201.46061,N,00421.77143,E,56.002,324.12,120308,,,A*56
+$GPRMC,133713.00,A,5201.47302,N,00421.75671,E,55.060,324.11,120308,,,A*50
+$GPRMC,133714.00,A,5201.48530,N,00421.74229,E,54.376,323.69,120308,,,A*5A
+$GPRMC,133715.00,A,5201.49754,N,00421.72820,E,54.126,324.57,120308,,,A*52
+$GPRMC,133716.00,A,5201.50978,N,00421.71414,E,53.951,324.46,120308,,,A*5E
+$GPRMC,133717.00,A,5201.52206,N,00421.70011,E,54.222,324.41,120308,,,A*50
+$GPRMC,133718.00,A,5201.53442,N,00421.68588,E,55.087,324.29,120308,,,A*56
+$GPRMC,133719.00,A,5201.54688,N,00421.67145,E,55.380,324.30,120308,,,A*52
+$GPRMC,133720.00,A,5201.55943,N,00421.65702,E,55.608,324.33,120308,,,A*50
+$GPRMC,133721.00,A,5201.57202,N,00421.64247,E,55.879,324.21,120308,,,A*53
+$GPRMC,133722.00,A,5201.58467,N,00421.62783,E,56.179,324.64,120308,,,A*5A
+$GPRMC,133723.00,A,5201.59764,N,00421.61313,E,56.638,324.79,120308,,,A*5A
+$GPRMC,133724.00,A,5201.61029,N,00421.59844,E,56.172,324.58,120308,,,A*50
+$GPRMC,133725.00,A,5201.62263,N,00421.58388,E,55.467,324.19,120308,,,A*53
+$GPRMC,133726.00,A,5201.63503,N,00421.56939,E,55.303,324.26,120308,,,A*57
+$GPRMC,133727.00,A,5201.64749,N,00421.55507,E,55.217,324.29,120308,,,A*54
+$GPRMC,133728.00,A,5201.65994,N,00421.54044,E,55.801,324.30,120308,,,A*52
+$GPRMC,133729.00,A,5201.67262,N,00421.52573,E,56.404,324.56,120308,,,A*5E
+$GPRMC,133730.00,A,5201.68542,N,00421.51091,E,56.736,324.53,120308,,,A*51
+$GPRMC,133731.00,A,5201.69828,N,00421.49601,E,56.922,324.28,120308,,,A*51
+$GPRMC,133732.00,A,5201.71124,N,00421.48096,E,57.612,324.50,120308,,,A*55
+$GPRMC,133733.00,A,5201.72424,N,00421.46575,E,57.801,324.43,120308,,,A*5A
+$GPRMC,133734.00,A,5201.73724,N,00421.45059,E,57.393,324.37,120308,,,A*54
+$GPRMC,133735.00,A,5201.75012,N,00421.43551,E,56.748,324.39,120308,,,A*57
+$GPRMC,133736.00,A,5201.76299,N,00421.42076,E,56.527,324.14,120308,,,A*53
+$GPRMC,133737.00,A,5201.77567,N,00421.40596,E,55.917,324.14,120308,,,A*50
+$GPRMC,133738.00,A,5201.78823,N,00421.39140,E,55.369,324.35,120308,,,A*5C
+$GPRMC,133739.00,A,5201.80071,N,00421.37707,E,55.049,324.30,120308,,,A*5A
+$GPRMC,133740.00,A,5201.81310,N,00421.36267,E,54.915,324.32,120308,,,A*50
+$GPRMC,133741.00,A,5201.82571,N,00421.34828,E,55.362,324.89,120308,,,A*5B
+$GPRMC,133742.00,A,5201.83871,N,00421.33427,E,55.857,326.38,120308,,,A*55
+$GPRMC,133743.00,A,5201.85143,N,00421.32032,E,55.396,327.02,120308,,,A*55
+$GPRMC,133744.00,A,5201.86439,N,00421.30675,E,56.112,328.09,120308,,,A*57
+$GPRMC,133745.00,A,5201.87757,N,00421.29367,E,56.522,329.37,120308,,,A*59
+$GPRMC,133746.00,A,5201.89128,N,00421.28120,E,56.838,331.15,120308,,,A*55
+$GPRMC,133747.00,A,5201.90522,N,00421.26952,E,56.384,333.35,120308,,,A*5D
+$GPRMC,133748.00,A,5201.91917,N,00421.25883,E,55.618,334.81,120308,,,A*5C
+$GPRMC,133749.00,A,5201.93342,N,00421.24878,E,55.905,336.80,120308,,,A*50
+$GPRMC,133750.00,A,5201.94795,N,00421.23925,E,57.185,338.39,120308,,,A*51
+$GPRMC,133751.00,A,5201.96298,N,00421.23000,E,58.235,339.61,120308,,,A*5F
+$GPRMC,133752.00,A,5201.97861,N,00421.22146,E,59.664,341.89,120308,,,A*5B
+$GPRMC,133753.00,A,5201.99480,N,00421.21363,E,60.994,343.77,120308,,,A*58
+$GPRMC,133754.00,A,5202.01146,N,00421.20648,E,62.285,345.64,120308,,,A*52
+$GPRMC,133755.00,A,5202.02862,N,00421.20006,E,63.641,347.38,120308,,,A*55
+$GPRMC,133756.00,A,5202.04573,N,00421.19434,E,63.564,348.60,120308,,,A*54
+$GPRMC,133757.00,A,5202.06345,N,00421.18897,E,64.591,349.60,120308,,,A*5C
+$GPRMC,133758.00,A,5202.08148,N,00421.18384,E,64.516,350.00,120308,,,A*5A
+$GPRMC,133759.00,A,5202.09914,N,00421.17880,E,64.236,350.02,120308,,,A*5C
+$GPRMC,133800.00,A,5202.11698,N,00421.17374,E,65.050,350.16,120308,,,A*5B
+$GPRMC,133801.00,A,5202.13504,N,00421.16877,E,65.316,350.22,120308,,,A*51
+$GPRMC,133802.00,A,5202.15284,N,00421.16387,E,64.266,350.24,120308,,,A*5E
+$GPRMC,133803.00,A,5202.17026,N,00421.15915,E,63.012,350.14,120308,,,A*50
+$GPRMC,133804.00,A,5202.18737,N,00421.15458,E,61.692,350.22,120308,,,A*52
+$GPRMC,133805.00,A,5202.20409,N,00421.15010,E,60.387,350.34,120308,,,A*59
+$GPRMC,133806.00,A,5202.22054,N,00421.14585,E,59.743,350.85,120308,,,A*50
+$GPRMC,133807.00,A,5202.23659,N,00421.14196,E,58.312,351.58,120308,,,A*5D
+$GPRMC,133808.00,A,5202.25250,N,00421.13844,E,58.033,351.97,120308,,,A*5B
+$GPRMC,133809.00,A,5202.26790,N,00421.13619,E,56.484,354.17,120308,,,A*5D
+$GPRMC,133810.00,A,5202.28300,N,00421.13485,E,55.138,356.63,120308,,,A*51
+$GPRMC,133811.00,A,5202.29843,N,00421.13385,E,55.117,358.32,120308,,,A*5D
+$GPRMC,133812.00,A,5202.31380,N,00421.13355,E,55.412,359.11,120308,,,A*5E
+$GPRMC,133813.00,A,5202.32942,N,00421.13320,E,55.978,359.47,120308,,,A*58
+$GPRMC,133814.00,A,5202.34526,N,00421.13296,E,57.364,359.46,120308,,,A*5F
+$GPRMC,133815.00,A,5202.36094,N,00421.13317,E,56.647,359.94,120308,,,A*52
+$GPRMC,133816.00,A,5202.37619,N,00421.13347,E,55.571,0.03,120308,,,A*52
+$GPRMC,133817.00,A,5202.39162,N,00421.13379,E,55.538,0.10,120308,,,A*54
+$GPRMC,133818.00,A,5202.40667,N,00421.13401,E,54.093,359.93,120308,,,A*5E
+$GPRMC,133819.00,A,5202.42136,N,00421.13403,E,52.995,0.02,120308,,,A*52
+$GPRMC,133820.00,A,5202.43614,N,00421.13412,E,53.479,0.46,120308,,,A*50
+$GPRMC,133821.00,A,5202.45105,N,00421.13434,E,53.793,0.80,120308,,,A*59
+$GPRMC,133822.00,A,5202.46574,N,00421.13534,E,54.283,2.08,120308,,,A*5B
+$GPRMC,133823.00,A,5202.48043,N,00421.13762,E,54.923,4.78,120308,,,A*54
+$GPRMC,133824.00,A,5202.49533,N,00421.14056,E,55.169,6.44,120308,,,A*5D
+$GPRMC,133825.00,A,5202.51058,N,00421.14439,E,56.108,9.22,120308,,,A*5B
+$GPRMC,133826.00,A,5202.52625,N,00421.14849,E,55.957,10.84,120308,,,A*69
+$GPRMC,133827.00,A,5202.54167,N,00421.15430,E,56.723,13.40,120308,,,A*69
+$GPRMC,133828.00,A,5202.55698,N,00421.16154,E,57.071,16.44,120308,,,A*64
+$GPRMC,133829.00,A,5202.57201,N,00421.16927,E,56.173,17.76,120308,,,A*6D
+$GPRMC,133830.00,A,5202.58672,N,00421.17824,E,56.383,19.78,120308,,,A*64
+$GPRMC,133831.00,A,5202.60186,N,00421.18902,E,59.108,23.02,120308,,,A*62
+$GPRMC,133832.00,A,5202.61751,N,00421.20161,E,61.153,25.92,120308,,,A*60
+$GPRMC,133833.00,A,5202.63267,N,00421.21470,E,61.453,27.93,120308,,,A*61
+$GPRMC,133834.00,A,5202.64825,N,00421.23070,E,64.065,31.09,120308,,,A*6B
+$GPRMC,133835.00,A,5202.66344,N,00421.24753,E,65.027,33.81,120308,,,A*60
+$GPRMC,133836.00,A,5202.67857,N,00421.26510,E,66.102,35.85,120308,,,A*6B
+$GPRMC,133837.00,A,5202.69336,N,00421.28386,E,66.812,37.80,120308,,,A*60
+$GPRMC,133838.00,A,5202.70792,N,00421.30367,E,67.738,39.49,120308,,,A*66
+$GPRMC,133839.00,A,5202.72243,N,00421.32390,E,68.536,40.05,120308,,,A*63
+$GPRMC,133840.00,A,5202.73704,N,00421.34436,E,68.162,40.08,120308,,,A*6F
+$GPRMC,133841.00,A,5202.75161,N,00421.36480,E,68.809,40.20,120308,,,A*6C
+$GPRMC,133842.00,A,5202.76617,N,00421.38507,E,68.272,40.35,120308,,,A*68
+$GPRMC,133843.00,A,5202.78068,N,00421.40520,E,68.123,40.25,120308,,,A*65
+$GPRMC,133844.00,A,5202.79515,N,00421.42512,E,67.753,40.20,120308,,,A*64
+$GPRMC,133845.00,A,5202.80954,N,00421.44478,E,66.954,39.98,120308,,,A*64
+$GPRMC,133846.00,A,5202.82377,N,00421.46427,E,66.768,40.07,120308,,,A*6F
+$GPRMC,133847.00,A,5202.83793,N,00421.48374,E,66.623,40.16,120308,,,A*60
+$GPRMC,133848.00,A,5202.85205,N,00421.50318,E,66.530,40.24,120308,,,A*60
+$GPRMC,133849.00,A,5202.86608,N,00421.52255,E,66.338,40.32,120308,,,A*68
+$GPRMC,133850.00,A,5202.88006,N,00421.54181,E,66.077,40.31,120308,,,A*61
+$GPRMC,133851.00,A,5202.89404,N,00421.56106,E,66.183,40.54,120308,,,A*63
+$GPRMC,133852.00,A,5202.90796,N,00421.58031,E,65.791,40.25,120308,,,A*6B
+$GPRMC,133853.00,A,5202.92187,N,00421.59937,E,65.869,39.92,120308,,,A*6A
+$GPRMC,133854.00,A,5202.93583,N,00421.61838,E,65.648,40.11,120308,,,A*61
+$GPRMC,133855.00,A,5202.94963,N,00421.63720,E,64.397,40.04,120308,,,A*63
+$GPRMC,133856.00,A,5202.96349,N,00421.65613,E,65.385,40.15,120308,,,A*65
+$GPRMC,133857.00,A,5202.97734,N,00421.67514,E,65.683,40.23,120308,,,A*6B
+$GPRMC,133858.00,A,5202.99127,N,00421.69434,E,66.202,40.40,120308,,,A*68
+$GPRMC,133859.00,A,5203.00527,N,00421.71351,E,65.969,39.99,120308,,,A*6E
+$GPRMC,133900.00,A,5203.01941,N,00421.73288,E,66.887,40.03,120308,,,A*66
+$GPRMC,133901.00,A,5203.03355,N,00421.75232,E,66.653,40.28,120308,,,A*63
+$GPRMC,133902.00,A,5203.04759,N,00421.77199,E,66.871,40.59,120308,,,A*67
+$GPRMC,133903.00,A,5203.06147,N,00421.79210,E,67.138,41.77,120308,,,A*69
+$GPRMC,133904.00,A,5203.07516,N,00421.81258,E,67.072,42.79,120308,,,A*66
+$GPRMC,133905.00,A,5203.08865,N,00421.83354,E,67.380,44.10,120308,,,A*69
+$GPRMC,133906.00,A,5203.10202,N,00421.85487,E,67.696,44.72,120308,,,A*61
+$GPRMC,133907.00,A,5203.11521,N,00421.87652,E,67.552,45.69,120308,,,A*6F
+$GPRMC,133908.00,A,5203.12823,N,00421.89816,E,66.669,45.52,120308,,,A*6E
+$GPRMC,133909.00,A,5203.14112,N,00421.91934,E,65.939,45.42,120308,,,A*62
+$GPRMC,133910.00,A,5203.15390,N,00421.94037,E,65.843,45.38,120308,,,A*6D
+$GPRMC,133911.00,A,5203.16718,N,00421.95994,E,65.264,42.27,120308,,,A*6C
+$GPRMC,133912.00,A,5203.18082,N,00421.97906,E,65.220,39.63,120308,,,A*60
+$GPRMC,133913.00,A,5203.19522,N,00421.99682,E,64.687,35.83,120308,,,A*68
+$GPRMC,133914.00,A,5203.21007,N,00422.01316,E,64.274,33.17,120308,,,A*6F
+$GPRMC,133915.00,A,5203.22522,N,00422.02846,E,64.115,31.25,120308,,,A*65
+$GPRMC,133916.00,A,5203.24100,N,00422.04277,E,65.939,28.59,120308,,,A*6E
+$GPRMC,133917.00,A,5203.25725,N,00422.05604,E,65.939,26.81,120308,,,A*65
+$GPRMC,133918.00,A,5203.27389,N,00422.06910,E,66.713,26.61,120308,,,A*68
+$GPRMC,133919.00,A,5203.29060,N,00422.08227,E,66.592,26.72,120308,,,A*6B
+$GPRMC,133920.00,A,5203.30721,N,00422.09566,E,66.574,27.57,120308,,,A*66
+$GPRMC,133921.00,A,5203.32371,N,00422.10954,E,66.874,28.21,120308,,,A*62
+$GPRMC,133922.00,A,5203.34008,N,00422.12403,E,67.175,29.05,120308,,,A*69
+$GPRMC,133923.00,A,5203.35633,N,00422.13889,E,67.037,29.94,120308,,,A*67
+$GPRMC,133924.00,A,5203.37237,N,00422.15408,E,66.611,30.85,120308,,,A*6A
+$GPRMC,133925.00,A,5203.38814,N,00422.16958,E,66.089,31.82,120308,,,A*65
+$GPRMC,133926.00,A,5203.40370,N,00422.18521,E,65.603,32.21,120308,,,A*61
+$GPRMC,133927.00,A,5203.41906,N,00422.20092,E,65.183,32.55,120308,,,A*60
+$GPRMC,133928.00,A,5203.43428,N,00422.21665,E,64.797,32.78,120308,,,A*6E
+$GPRMC,133929.00,A,5203.44950,N,00422.23235,E,64.571,33.06,120308,,,A*6B
+$GPRMC,133930.00,A,5203.46440,N,00422.24821,E,64.138,33.52,120308,,,A*6D
+$GPRMC,133931.00,A,5203.47907,N,00422.26403,E,62.948,33.67,120308,,,A*62
+$GPRMC,133932.00,A,5203.49344,N,00422.27983,E,61.950,34.43,120308,,,A*6D
+$GPRMC,133933.00,A,5203.50735,N,00422.29550,E,61.112,34.85,120308,,,A*6E
+$GPRMC,133934.00,A,5203.52112,N,00422.31123,E,60.796,34.86,120308,,,A*69
+$GPRMC,133935.00,A,5203.53469,N,00422.32716,E,60.463,35.51,120308,,,A*61
+$GPRMC,133936.00,A,5203.54816,N,00422.34316,E,59.805,35.51,120308,,,A*65
+$GPRMC,133937.00,A,5203.56150,N,00422.35884,E,58.824,35.46,120308,,,A*68
+$GPRMC,133938.00,A,5203.57459,N,00422.37434,E,58.223,35.54,120308,,,A*61
+$GPRMC,133939.00,A,5203.58759,N,00422.38960,E,57.566,35.26,120308,,,A*63
+$GPRMC,133940.00,A,5203.60064,N,00422.40480,E,57.937,35.36,120308,,,A*6A
+$GPRMC,133941.00,A,5203.61384,N,00422.42026,E,59.064,35.77,120308,,,A*69
+$GPRMC,133942.00,A,5203.62730,N,00422.43605,E,60.183,35.71,120308,,,A*60
+$GPRMC,133943.00,A,5203.64101,N,00422.45200,E,61.037,35.35,120308,,,A*6B
+$GPRMC,133944.00,A,5203.65486,N,00422.46793,E,61.318,35.40,120308,,,A*67
+$GPRMC,133945.00,A,5203.66875,N,00422.48402,E,61.525,35.37,120308,,,A*68
+$GPRMC,133946.00,A,5203.68266,N,00422.50008,E,61.283,35.35,120308,,,A*63
+$GPRMC,133947.00,A,5203.69645,N,00422.51610,E,60.994,35.67,120308,,,A*63
+$GPRMC,133948.00,A,5203.71026,N,00422.53209,E,60.875,35.27,120308,,,A*62
+$GPRMC,133949.00,A,5203.72392,N,00422.54787,E,60.344,35.43,120308,,,A*63
+$GPRMC,133950.00,A,5203.73764,N,00422.56336,E,60.235,34.80,120308,,,A*62
+$GPRMC,133951.00,A,5203.75107,N,00422.57855,E,59.150,34.89,120308,,,A*6A
+$GPRMC,133952.00,A,5203.76396,N,00422.59362,E,57.682,35.35,120308,,,A*61
+$GPRMC,133953.00,A,5203.77653,N,00422.60825,E,57.053,35.65,120308,,,A*60
+$GPRMC,133954.00,A,5203.78941,N,00422.62335,E,56.232,35.31,120308,,,A*69
+$GPRMC,133955.00,A,5203.80220,N,00422.63833,E,55.910,35.37,120308,,,A*61
+$GPRMC,133956.00,A,5203.81472,N,00422.65322,E,55.778,35.60,120308,,,A*6D
+$GPRMC,133957.00,A,5203.82703,N,00422.66802,E,54.834,35.61,120308,,,A*67
+$GPRMC,133958.00,A,5203.83935,N,00422.68280,E,54.329,35.45,120308,,,A*6D
+$GPRMC,133959.00,A,5203.85156,N,00422.69690,E,53.439,35.16,120308,,,A*64
+$GPRMC,134000.00,A,5203.86359,N,00422.71075,E,52.839,35.08,120308,,,A*6E
+$GPRMC,134001.00,A,5203.87546,N,00422.72427,E,52.647,35.32,120308,,,A*68
+$GPRMC,134002.00,A,5203.88719,N,00422.73830,E,52.313,35.92,120308,,,A*69
+$GPRMC,134003.00,A,5203.89886,N,00422.75228,E,52.331,36.26,120308,,,A*69
+$GPRMC,134004.00,A,5203.91047,N,00422.76624,E,52.337,37.08,120308,,,A*62
+$GPRMC,134005.00,A,5203.92197,N,00422.78036,E,51.923,37.45,120308,,,A*62
+$GPRMC,134006.00,A,5203.93324,N,00422.79444,E,51.740,38.04,120308,,,A*6B
+$GPRMC,134007.00,A,5203.94442,N,00422.80876,E,51.528,38.76,120308,,,A*68
+$GPRMC,134008.00,A,5203.95538,N,00422.82311,E,50.768,39.26,120308,,,A*61
+$GPRMC,134009.00,A,5203.96611,N,00422.83740,E,49.896,39.60,120308,,,A*6E
+$GPRMC,134010.00,A,5203.97652,N,00422.85170,E,48.953,40.87,120308,,,A*6D
+$GPRMC,134011.00,A,5203.98662,N,00422.86621,E,48.439,41.80,120308,,,A*67
+$GPRMC,134012.00,A,5203.99644,N,00422.88054,E,47.395,42.19,120308,,,A*66
+$GPRMC,134013.00,A,5204.00598,N,00422.89476,E,46.501,43.05,120308,,,A*61
+$GPRMC,134014.00,A,5204.01523,N,00422.90899,E,45.864,43.65,120308,,,A*69
+$GPRMC,134015.00,A,5204.02431,N,00422.92334,E,45.579,44.59,120308,,,A*6E
+$GPRMC,134016.00,A,5204.03319,N,00422.93781,E,45.128,45.56,120308,,,A*64
+$GPRMC,134017.00,A,5204.04182,N,00422.95232,E,44.503,46.10,120308,,,A*64
+$GPRMC,134018.00,A,5204.05025,N,00422.96670,E,43.701,46.47,120308,,,A*62
+$GPRMC,134019.00,A,5204.05846,N,00422.98088,E,43.234,46.67,120308,,,A*60
+$GPRMC,134020.00,A,5204.06651,N,00422.99490,E,42.306,46.98,120308,,,A*6C
+$GPRMC,134021.00,A,5204.07473,N,00423.00911,E,42.948,46.49,120308,,,A*67
+$GPRMC,134022.00,A,5204.08279,N,00423.02277,E,41.827,46.25,120308,,,A*6F
+$GPRMC,134023.00,A,5204.09090,N,00423.03670,E,42.762,46.12,120308,,,A*61
+$GPRMC,134024.00,A,5204.09927,N,00423.05115,E,43.898,46.99,120308,,,A*69
+$GPRMC,134025.00,A,5204.10756,N,00423.06635,E,44.470,48.67,120308,,,A*6C
+$GPRMC,134026.00,A,5204.11556,N,00423.08256,E,46.589,50.62,120308,,,A*6A
+$GPRMC,134027.00,A,5204.12371,N,00423.09903,E,47.207,50.61,120308,,,A*62
+$GPRMC,134028.00,A,5204.13221,N,00423.11573,E,48.629,49.72,120308,,,A*67
+$GPRMC,134029.00,A,5204.14098,N,00423.13260,E,49.176,48.99,120308,,,A*6E
+$GPRMC,134030.00,A,5204.14990,N,00423.14948,E,49.204,48.89,120308,,,A*66
+$GPRMC,134031.00,A,5204.15874,N,00423.16635,E,49.300,49.37,120308,,,A*6B
+$GPRMC,134032.00,A,5204.16747,N,00423.18313,E,49.091,50.02,120308,,,A*6E
+$GPRMC,134033.00,A,5204.17609,N,00423.19987,E,48.560,50.21,120308,,,A*68
+$GPRMC,134034.00,A,5204.18455,N,00423.21614,E,47.820,50.33,120308,,,A*60
+$GPRMC,134035.00,A,5204.19286,N,00423.23227,E,47.227,50.22,120308,,,A*63
+$GPRMC,134036.00,A,5204.20125,N,00423.24831,E,46.813,51.68,120308,,,A*69
+$GPRMC,134037.00,A,5204.20937,N,00423.26486,E,46.773,52.46,120308,,,A*67
+$GPRMC,134038.00,A,5204.21731,N,00423.28169,E,46.989,52.67,120308,,,A*63
+$GPRMC,134039.00,A,5204.22503,N,00423.29855,E,46.804,53.30,120308,,,A*62
+$GPRMC,134040.00,A,5204.23263,N,00423.31561,E,46.451,53.91,120308,,,A*68
+$GPRMC,134041.00,A,5204.24003,N,00423.33266,E,45.938,54.78,120308,,,A*69
+$GPRMC,134042.00,A,5204.24730,N,00423.34982,E,46.158,55.27,120308,,,A*6D
+$GPRMC,134043.00,A,5204.25441,N,00423.36686,E,45.909,55.38,120308,,,A*60
+$GPRMC,134044.00,A,5204.26156,N,00423.38402,E,45.871,55.83,120308,,,A*69
+$GPRMC,134045.00,A,5204.26863,N,00423.40117,E,45.629,56.15,120308,,,A*66
+$GPRMC,134046.00,A,5204.27540,N,00423.41840,E,45.358,57.31,120308,,,A*66
+$GPRMC,134047.00,A,5204.28216,N,00423.43546,E,45.069,57.18,120308,,,A*6F
+$GPRMC,134048.00,A,5204.28862,N,00423.45167,E,43.031,57.19,120308,,,A*62
+$GPRMC,134049.00,A,5204.29467,N,00423.46766,E,41.869,58.22,120308,,,A*6F
+$GPRMC,134050.00,A,5204.30079,N,00423.48343,E,42.162,57.30,120308,,,A*64
+$GPRMC,134051.00,A,5204.30689,N,00423.49986,E,42.812,57.94,120308,,,A*6E
+$GPRMC,134052.00,A,5204.31299,N,00423.51663,E,43.731,58.51,120308,,,A*6D
+$GPRMC,134053.00,A,5204.31971,N,00423.53336,E,43.637,57.43,120308,,,A*6D
+$GPRMC,134054.00,A,5204.32657,N,00423.54971,E,42.812,56.76,120308,,,A*63
+$GPRMC,134055.00,A,5204.33309,N,00423.56570,E,41.918,56.88,120308,,,A*6B
+$GPRMC,134056.00,A,5204.33934,N,00423.58130,E,41.383,57.36,120308,,,A*6E
+$GPRMC,134057.00,A,5204.34533,N,00423.59640,E,40.440,57.02,120308,,,A*6C
+$GPRMC,134058.00,A,5204.35126,N,00423.61161,E,39.811,57.10,120308,,,A*68
+$GPRMC,134059.00,A,5204.35726,N,00423.62641,E,39.668,57.50,120308,,,A*6D
+$GPRMC,134100.00,A,5204.36319,N,00423.64139,E,39.528,57.71,120308,,,A*61
+$GPRMC,134101.00,A,5204.36906,N,00423.65646,E,38.773,58.88,120308,,,A*6E
+$GPRMC,134102.00,A,5204.37460,N,00423.67128,E,38.556,59.09,120308,,,A*61
+$GPRMC,134103.00,A,5204.38008,N,00423.68598,E,37.781,59.75,120308,,,A*69
+$GPRMC,134104.00,A,5204.38531,N,00423.70074,E,37.250,59.71,120308,,,A*62
+$GPRMC,134105.00,A,5204.39050,N,00423.71537,E,37.089,59.85,120308,,,A*6E
+$GPRMC,134106.00,A,5204.39559,N,00423.72978,E,36.783,60.42,120308,,,A*68
+$GPRMC,134107.00,A,5204.40068,N,00423.74391,E,36.147,58.97,120308,,,A*66
+$GPRMC,134108.00,A,5204.40612,N,00423.75770,E,36.540,57.18,120308,,,A*63
+$GPRMC,134109.00,A,5204.41107,N,00423.77196,E,36.468,60.07,120308,,,A*6D
+$GPRMC,134110.00,A,5204.41535,N,00423.78608,E,35.696,61.78,120308,,,A*66
+$GPRMC,134111.00,A,5204.41975,N,00423.80005,E,34.657,62.71,120308,,,A*65
+$GPRMC,134112.00,A,5204.42368,N,00423.81311,E,30.760,64.52,120308,,,A*62
+$GPRMC,134113.00,A,5204.42656,N,00423.82544,E,28.033,70.44,120308,,,A*64
+$GPRMC,134114.00,A,5204.42801,N,00423.83788,E,27.136,81.04,120308,,,A*6D
+$GPRMC,134115.00,A,5204.42780,N,00423.85027,E,26.623,92.04,120308,,,A*6E
+$GPRMC,134116.00,A,5204.42587,N,00423.86118,E,25.080,107.76,120308,,,A*52
+$GPRMC,134117.00,A,5204.42100,N,00423.87159,E,27.206,125.23,120308,,,A*52
+$GPRMC,134118.00,A,5204.41506,N,00423.87988,E,26.808,137.81,120308,,,A*56
+$GPRMC,134119.00,A,5204.40890,N,00423.88552,E,25.192,151.16,120308,,,A*57
+$GPRMC,134120.00,A,5204.40261,N,00423.88871,E,22.077,165.42,120308,,,A*5E
+$GPRMC,134121.00,A,5204.39585,N,00423.88951,E,19.903,174.26,120308,,,A*5F
+$GPRMC,134122.00,A,5204.38985,N,00423.89018,E,20.504,175.60,120308,,,A*56
+$GPRMC,134123.00,A,5204.38549,N,00423.88862,E,15.984,194.77,120308,,,A*54
+$GPRMC,134124.00,A,5204.38169,N,00423.88780,E,10.959,191.68,120308,,,A*58
+$GPRMC,134125.00,A,5204.37958,N,00423.88687,E,6.903,192.48,120308,,,A*63
+$GPRMC,134126.00,A,5204.37816,N,00423.88563,E,5.524,194.72,120308,,,A*67
+$GPRMC,134127.00,A,5204.37652,N,00423.88548,E,5.807,184.38,120308,,,A*62
+$GPRMC,134128.00,A,5204.37547,N,00423.88248,E,8.504,208.83,120308,,,A*69
+$GPRMC,134129.00,A,5204.37305,N,00423.88036,E,11.081,212.69,120308,,,A*5C
+$GPRMC,134130.00,A,5204.37137,N,00423.87334,E,13.437,223.70,120308,,,A*58
+$GPRMC,134131.00,A,5204.36881,N,00423.86686,E,15.225,227.90,120308,,,A*58
+$GPRMC,134132.00,A,5204.36600,N,00423.86023,E,16.400,225.31,120308,,,A*5E
+$GPRMC,134133.00,A,5204.36298,N,00423.85363,E,17.181,227.46,120308,,,A*51
+$GPRMC,134134.00,A,5204.35980,N,00423.84688,E,17.420,228.40,120308,,,A*51
+$GPRMC,134135.00,A,5204.35660,N,00423.84028,E,17.006,229.31,120308,,,A*5A
+$GPRMC,134136.00,A,5204.35385,N,00423.83400,E,15.866,238.16,120308,,,A*57
+$GPRMC,134137.00,A,5204.35387,N,00423.82671,E,14.268,268.76,120308,,,A*57
+$GPRMC,134138.00,A,5204.35544,N,00423.81999,E,14.941,292.80,120308,,,A*57
+$GPRMC,134139.00,A,5204.35843,N,00423.81333,E,16.764,305.08,120308,,,A*52
+$GPRMC,134140.00,A,5204.36165,N,00423.80676,E,18.304,309.24,120308,,,A*59
+$GPRMC,134141.00,A,5204.36571,N,00423.79979,E,21.192,310.70,120308,,,A*51
+$GPRMC,134142.00,A,5204.37013,N,00423.79185,E,23.373,312.99,120308,,,A*53
+$GPRMC,134143.00,A,5204.37491,N,00423.78390,E,22.921,314.30,120308,,,A*52
+$GPRMC,134144.00,A,5204.37955,N,00423.77602,E,23.245,313.01,120308,,,A*5C
+$GPRMC,134145.00,A,5204.38433,N,00423.76829,E,24.029,315.96,120308,,,A*5E
+$GPRMC,134146.00,A,5204.38946,N,00423.76060,E,25.113,317.58,120308,,,A*5E
+$GPRMC,134147.00,A,5204.39475,N,00423.75289,E,25.770,317.62,120308,,,A*5F
+$GPRMC,134148.00,A,5204.40007,N,00423.74526,E,24.958,317.91,120308,,,A*55
+$GPRMC,134149.00,A,5204.40518,N,00423.73787,E,24.010,318.21,120308,,,A*50
+$GPRMC,134150.00,A,5204.41022,N,00423.73058,E,23.485,318.41,120308,,,A*59
+$GPRMC,134151.00,A,5204.41501,N,00423.72365,E,22.277,318.59,120308,,,A*53
+$GPRMC,134152.00,A,5204.41958,N,00423.71701,E,21.702,317.50,120308,,,A*57
+$GPRMC,134153.00,A,5204.42394,N,00423.71028,E,20.817,315.69,120308,,,A*51
+$GPRMC,134154.00,A,5204.42802,N,00423.70351,E,19.843,313.49,120308,,,A*51
+$GPRMC,134155.00,A,5204.43181,N,00423.69711,E,19.231,314.28,120308,,,A*54
+$GPRMC,134156.00,A,5204.43555,N,00423.69073,E,19.727,314.51,120308,,,A*55
+$GPRMC,134157.00,A,5204.43939,N,00423.68497,E,18.187,317.16,120308,,,A*50
+$GPRMC,134158.00,A,5204.44306,N,00423.67939,E,18.099,316.61,120308,,,A*57
+$GPRMC,134159.00,A,5204.44687,N,00423.67350,E,18.940,315.31,120308,,,A*54
+$GPRMC,134200.00,A,5204.45133,N,00423.66650,E,22.667,314.85,120308,,,A*5B
+$GPRMC,134201.00,A,5204.45639,N,00423.65829,E,25.996,314.73,120308,,,A*5B
+$GPRMC,134202.00,A,5204.46178,N,00423.64979,E,27.438,316.17,120308,,,A*57
+$GPRMC,134203.00,A,5204.46700,N,00423.64224,E,26.396,317.34,120308,,,A*5E
+$GPRMC,134204.00,A,5204.47207,N,00423.63489,E,25.132,317.55,120308,,,A*54
+$GPRMC,134205.00,A,5204.47690,N,00423.62744,E,22.632,315.30,120308,,,A*5D
+$GPRMC,134206.00,A,5204.48076,N,00423.61988,E,20.693,307.21,120308,,,A*58
+$GPRMC,134207.00,A,5204.48269,N,00423.61168,E,19.349,287.72,120308,,,A*54
+$GPRMC,134208.00,A,5204.48327,N,00423.60266,E,20.179,272.97,120308,,,A*56
+$GPRMC,134209.00,A,5204.48208,N,00423.59300,E,21.195,256.28,120308,,,A*51
+$GPRMC,134210.00,A,5204.47816,N,00423.58385,E,22.697,235.33,120308,,,A*56
+$GPRMC,134211.00,A,5204.47338,N,00423.57666,E,22.805,224.31,120308,,,A*50
+$GPRMC,134212.00,A,5204.46834,N,00423.56977,E,23.096,221.09,120308,,,A*56
+$GPRMC,134213.00,A,5204.46284,N,00423.56356,E,23.731,214.95,120308,,,A*56
+$GPRMC,134214.00,A,5204.45678,N,00423.55826,E,25.253,206.72,120308,,,A*57
+$GPRMC,134215.00,A,5204.45008,N,00423.55421,E,26.289,198.07,120308,,,A*5E
+$GPRMC,134216.00,A,5204.44263,N,00423.55163,E,26.984,190.50,120308,,,A*5C
+$GPRMC,134217.00,A,5204.43499,N,00423.55029,E,27.256,186.79,120308,,,A*5F
+$GPRMC,134218.00,A,5204.42707,N,00423.54919,E,28.369,185.71,120308,,,A*57
+$GPRMC,134219.00,A,5204.41879,N,00423.54807,E,29.688,186.79,120308,,,A*5D
+$GPRMC,134220.00,A,5204.41040,N,00423.54606,E,29.994,191.33,120308,,,A*50
+$GPRMC,134221.00,A,5204.40186,N,00423.54297,E,30.511,195.67,120308,,,A*5B
+$GPRMC,134222.00,A,5204.39364,N,00423.53896,E,30.340,199.14,120308,,,A*5E
+$GPRMC,134223.00,A,5204.38558,N,00423.53412,E,30.173,202.56,120308,,,A*52
+$GPRMC,134224.00,A,5204.37797,N,00423.52837,E,29.758,207.17,120308,,,A*56
+$GPRMC,134225.00,A,5204.37067,N,00423.52204,E,28.731,210.60,120308,,,A*5D
+$GPRMC,134226.00,A,5204.36407,N,00423.51471,E,28.528,216.17,120308,,,A*56
+$GPRMC,134227.00,A,5204.35777,N,00423.50675,E,27.939,220.49,120308,,,A*5A
+$GPRMC,134228.00,A,5204.35210,N,00423.49819,E,27.716,224.51,120308,,,A*53
+$GPRMC,134229.00,A,5204.34662,N,00423.48892,E,28.773,228.20,120308,,,A*56
+$GPRMC,134230.00,A,5204.34134,N,00423.47880,E,29.467,230.91,120308,,,A*52
+$GPRMC,134231.00,A,5204.33629,N,00423.46823,E,29.517,233.68,120308,,,A*54
+$GPRMC,134232.00,A,5204.33133,N,00423.45702,E,30.669,234.59,120308,,,A*53
+$GPRMC,134233.00,A,5204.32625,N,00423.44528,E,31.918,235.07,120308,,,A*5A
+$GPRMC,134234.00,A,5204.32089,N,00423.43279,E,34.102,235.40,120308,,,A*5C
+$GPRMC,134235.00,A,5204.31516,N,00423.41945,E,36.563,234.44,120308,,,A*5F
+$GPRMC,134236.00,A,5204.30896,N,00423.40554,E,38.893,233.90,120308,,,A*57
+$GPRMC,134237.00,A,5204.30265,N,00423.39054,E,40.805,235.12,120308,,,A*57
+$GPRMC,134238.00,A,5204.29570,N,00423.37476,E,42.651,234.83,120308,,,A*5D
+$GPRMC,134239.00,A,5204.28812,N,00423.35723,E,46.204,235.72,120308,,,A*5A
+$GPRMC,134240.00,A,5204.28066,N,00423.33925,E,48.191,235.76,120308,,,A*54
+$GPRMC,134241.00,A,5204.27289,N,00423.32048,E,50.079,235.30,120308,,,A*56
+$GPRMC,134242.00,A,5204.26472,N,00423.30142,E,51.576,234.44,120308,,,A*56
+$GPRMC,134243.00,A,5204.25619,N,00423.28192,E,52.253,234.25,120308,,,A*5B
+$GPRMC,134244.00,A,5204.24787,N,00423.26264,E,50.728,234.94,120308,,,A*5E
+$GPRMC,134245.00,A,5204.23991,N,00423.24383,E,49.230,235.49,120308,,,A*5E
+$GPRMC,134246.00,A,5204.23229,N,00423.22563,E,47.846,235.47,120308,,,A*50
+$GPRMC,134247.00,A,5204.22487,N,00423.20792,E,46.912,235.68,120308,,,A*50
+$GPRMC,134248.00,A,5204.21765,N,00423.19098,E,45.042,235.27,120308,,,A*50
+$GPRMC,134249.00,A,5204.21063,N,00423.17441,E,43.945,235.19,120308,,,A*5B
+$GPRMC,134250.00,A,5204.20373,N,00423.15838,E,42.869,234.72,120308,,,A*52
+$GPRMC,134251.00,A,5204.19685,N,00423.14272,E,42.300,234.11,120308,,,A*51
+$GPRMC,134252.00,A,5204.18990,N,00423.12729,E,42.062,233.45,120308,,,A*54
+$GPRMC,134253.00,A,5204.18290,N,00423.11207,E,41.606,233.04,120308,,,A*56
+$GPRMC,134254.00,A,5204.17587,N,00423.09713,E,41.475,232.42,120308,,,A*53
+$GPRMC,134255.00,A,5204.16872,N,00423.08221,E,42.088,232.09,120308,,,A*5B
+$GPRMC,134256.00,A,5204.16127,N,00423.06695,E,43.683,231.63,120308,,,A*57
+$GPRMC,134257.00,A,5204.15356,N,00423.05153,E,44.361,230.55,120308,,,A*55
+$GPRMC,134258.00,A,5204.14568,N,00423.03636,E,44.218,229.73,120308,,,A*51
+$GPRMC,134259.00,A,5204.13772,N,00423.02146,E,43.938,229.00,120308,,,A*55
+$GPRMC,134300.00,A,5204.12964,N,00423.00660,E,44.293,228.65,120308,,,A*5E
+$GPRMC,134301.00,A,5204.12119,N,00422.99144,E,45.803,227.72,120308,,,A*56
+$GPRMC,134302.00,A,5204.11237,N,00422.97615,E,46.771,227.32,120308,,,A*59
+$GPRMC,134303.00,A,5204.10345,N,00422.96077,E,47.123,226.86,120308,,,A*50
+$GPRMC,134304.00,A,5204.09454,N,00422.94562,E,46.469,226.11,120308,,,A*5F
+$GPRMC,134305.00,A,5204.08550,N,00422.93117,E,45.649,224.03,120308,,,A*59
+$GPRMC,134306.00,A,5204.07637,N,00422.91725,E,45.376,222.69,120308,,,A*51
+$GPRMC,134307.00,A,5204.06710,N,00422.90391,E,45.671,221.24,120308,,,A*57
+$GPRMC,134308.00,A,5204.05751,N,00422.89074,E,45.911,219.94,120308,,,A*57
+$GPRMC,134309.00,A,5204.04770,N,00422.87772,E,46.071,218.96,120308,,,A*54
+$GPRMC,134310.00,A,5204.03771,N,00422.86506,E,45.463,217.84,120308,,,A*52
+$GPRMC,134311.00,A,5204.02755,N,00422.85281,E,45.511,216.86,120308,,,A*58
+$GPRMC,134312.00,A,5204.01747,N,00422.84086,E,45.147,216.56,120308,,,A*55
+$GPRMC,134313.00,A,5204.00737,N,00422.82897,E,44.768,216.09,120308,,,A*5C
+$GPRMC,134314.00,A,5203.99719,N,00422.81736,E,44.622,215.00,120308,,,A*52
+$GPRMC,134315.00,A,5203.98692,N,00422.80598,E,44.625,214.36,120308,,,A*54
+$GPRMC,134316.00,A,5203.97670,N,00422.79470,E,44.535,214.45,120308,,,A*53
+$GPRMC,134317.00,A,5203.96652,N,00422.78353,E,44.211,214.02,120308,,,A*56
+$GPRMC,134318.00,A,5203.95642,N,00422.77269,E,43.662,213.40,120308,,,A*5A
+$GPRMC,134319.00,A,5203.94631,N,00422.76198,E,43.602,213.25,120308,,,A*57
+$GPRMC,134320.00,A,5203.93620,N,00422.75126,E,43.868,213.33,120308,,,A*59
+$GPRMC,134321.00,A,5203.92599,N,00422.74033,E,44.401,213.20,120308,,,A*5A
+$GPRMC,134322.00,A,5203.91567,N,00422.72928,E,44.762,213.34,120308,,,A*5D
+$GPRMC,134323.00,A,5203.90529,N,00422.71813,E,44.619,213.78,120308,,,A*58
+$GPRMC,134324.00,A,5203.89503,N,00422.70689,E,44.545,214.09,120308,,,A*58
+$GPRMC,134325.00,A,5203.88480,N,00422.69562,E,44.384,214.24,120308,,,A*58
+$GPRMC,134326.00,A,5203.87456,N,00422.68431,E,44.693,214.27,120308,,,A*59
+$GPRMC,134327.00,A,5203.86426,N,00422.67286,E,45.131,214.53,120308,,,A*56
+$GPRMC,134328.00,A,5203.85387,N,00422.66115,E,45.671,214.95,120308,,,A*57
+$GPRMC,134329.00,A,5203.84351,N,00422.64932,E,45.211,215.46,120308,,,A*5E
+$GPRMC,134330.00,A,5203.83296,N,00422.63717,E,46.784,215.25,120308,,,A*5A
+$GPRMC,134331.00,A,5203.82226,N,00422.62497,E,47.262,214.93,120308,,,A*5B
+$GPRMC,134332.00,A,5203.81141,N,00422.61267,E,47.627,214.83,120308,,,A*57
+$GPRMC,134333.00,A,5203.80059,N,00422.60031,E,47.120,215.18,120308,,,A*5C
+$GPRMC,134334.00,A,5203.78979,N,00422.58809,E,47.218,214.35,120308,,,A*59
+$GPRMC,134335.00,A,5203.77897,N,00422.57628,E,46.391,213.43,120308,,,A*53
+$GPRMC,134336.00,A,5203.76826,N,00422.56478,E,46.148,213.40,120308,,,A*58
+$GPRMC,134337.00,A,5203.75803,N,00422.55378,E,44.097,213.86,120308,,,A*52
+$GPRMC,134338.00,A,5203.74816,N,00422.54209,E,43.475,215.37,120308,,,A*5D
+$GPRMC,134339.00,A,5203.73829,N,00422.53093,E,43.355,215.49,120308,,,A*5D
+$GPRMC,134340.00,A,5203.72829,N,00422.51942,E,44.173,215.34,120308,,,A*5E
+$GPRMC,134341.00,A,5203.71790,N,00422.50796,E,45.513,214.01,120308,,,A*53
+$GPRMC,134342.00,A,5203.70764,N,00422.49685,E,44.289,214.03,120308,,,A*56
+$GPRMC,134343.00,A,5203.69687,N,00422.48591,E,44.240,214.46,120308,,,A*50
+$GPRMC,134344.00,A,5203.68690,N,00422.47413,E,43.387,215.82,120308,,,A*50
+$GPRMC,134345.00,A,5203.67716,N,00422.46218,E,43.003,215.98,120308,,,A*59
+$GPRMC,134346.00,A,5203.66745,N,00422.45058,E,43.136,215.89,120308,,,A*5F
+$GPRMC,134347.00,A,5203.65777,N,00422.43894,E,43.151,215.93,120308,,,A*58
+$GPRMC,134348.00,A,5203.64807,N,00422.42729,E,42.715,215.64,120308,,,A*59
+$GPRMC,134349.00,A,5203.63844,N,00422.41607,E,42.775,215.42,120308,,,A*54
+$GPRMC,134350.00,A,5203.62867,N,00422.40473,E,43.904,215.26,120308,,,A*57
+$GPRMC,134351.00,A,5203.61857,N,00422.39299,E,44.936,215.01,120308,,,A*59
+$GPRMC,134352.00,A,5203.60817,N,00422.38106,E,46.514,215.17,120308,,,A*52
+$GPRMC,134353.00,A,5203.59761,N,00422.36885,E,47.111,215.47,120308,,,A*5E
+$GPRMC,134354.00,A,5203.58666,N,00422.35603,E,49.123,215.67,120308,,,A*50
+$GPRMC,134355.00,A,5203.57538,N,00422.34279,E,50.758,215.64,120308,,,A*5F
+$GPRMC,134356.00,A,5203.56373,N,00422.32922,E,52.590,215.69,120308,,,A*5E
+$GPRMC,134357.00,A,5203.55162,N,00422.31502,E,54.171,216.16,120308,,,A*55
+$GPRMC,134358.00,A,5203.53927,N,00422.30040,E,54.670,216.09,120308,,,A*5F
+$GPRMC,134359.00,A,5203.52666,N,00422.28538,E,54.856,216.44,120308,,,A*55
+$GPRMC,134400.00,A,5203.51444,N,00422.27044,E,54.423,217.74,120308,,,A*52
+$GPRMC,134401.00,A,5203.50209,N,00422.25572,E,55.703,216.36,120308,,,A*58
+$GPRMC,134402.00,A,5203.48934,N,00422.24073,E,56.388,216.20,120308,,,A*51
+$GPRMC,134403.00,A,5203.47653,N,00422.22561,E,56.816,216.57,120308,,,A*5D
+$GPRMC,134404.00,A,5203.46352,N,00422.21006,E,58.013,216.40,120308,,,A*5D
+$GPRMC,134405.00,A,5203.45029,N,00422.19447,E,58.747,216.28,120308,,,A*52
+$GPRMC,134406.00,A,5203.43697,N,00422.17874,E,58.713,216.58,120308,,,A*50
+$GPRMC,134407.00,A,5203.42368,N,00422.16263,E,58.164,217.41,120308,,,A*57
+$GPRMC,134408.00,A,5203.41040,N,00422.14615,E,59.404,217.75,120308,,,A*50
+$GPRMC,134409.00,A,5203.39713,N,00422.12977,E,59.616,217.89,120308,,,A*50
+$GPRMC,134410.00,A,5203.38392,N,00422.11323,E,59.227,218.12,120308,,,A*57
+$GPRMC,134411.00,A,5203.37082,N,00422.09659,E,59.492,217.79,120308,,,A*50
+$GPRMC,134412.00,A,5203.35811,N,00422.08011,E,59.031,218.69,120308,,,A*5B
+$GPRMC,134413.00,A,5203.34561,N,00422.06372,E,58.662,218.74,120308,,,A*54
+$GPRMC,134414.00,A,5203.33345,N,00422.04673,E,58.460,221.04,120308,,,A*5F
+$GPRMC,134415.00,A,5203.32142,N,00422.02930,E,58.282,222.11,120308,,,A*59
+$GPRMC,134416.00,A,5203.30962,N,00422.01111,E,57.952,223.93,120308,,,A*58
+$GPRMC,134417.00,A,5203.29828,N,00421.99239,E,58.081,226.02,120308,,,A*50
+$GPRMC,134418.00,A,5203.28720,N,00421.97321,E,58.420,227.44,120308,,,A*53
+$GPRMC,134419.00,A,5203.27647,N,00421.95376,E,58.714,228.80,120308,,,A*5E
+$GPRMC,134420.00,A,5203.26582,N,00421.93389,E,58.877,229.67,120308,,,A*5B
+$GPRMC,134421.00,A,5203.25523,N,00421.91371,E,59.269,229.97,120308,,,A*5C
+$GPRMC,134422.00,A,5203.24460,N,00421.89332,E,59.688,230.01,120308,,,A*5A
+$GPRMC,134423.00,A,5203.23381,N,00421.87311,E,59.052,228.63,120308,,,A*57
+$GPRMC,134424.00,A,5203.22267,N,00421.85358,E,59.214,225.95,120308,,,A*53
+$GPRMC,134425.00,A,5203.21092,N,00421.83513,E,58.992,222.93,120308,,,A*53
+$GPRMC,134426.00,A,5203.19873,N,00421.81771,E,58.690,220.09,120308,,,A*54
+$GPRMC,134427.00,A,5203.18604,N,00421.80137,E,58.303,217.41,120308,,,A*58
+$GPRMC,134428.00,A,5203.17293,N,00421.78617,E,57.899,214.88,120308,,,A*51
+$GPRMC,134429.00,A,5203.15957,N,00421.77194,E,57.228,212.56,120308,,,A*57
+$GPRMC,134430.00,A,5203.14602,N,00421.75859,E,56.854,211.06,120308,,,A*5D
+$GPRMC,134431.00,A,5203.13250,N,00421.74577,E,56.821,210.19,120308,,,A*55
+$GPRMC,134432.00,A,5203.11885,N,00421.73299,E,56.764,210.70,120308,,,A*57
+$GPRMC,134433.00,A,5203.10537,N,00421.71991,E,56.668,211.26,120308,,,A*5D
+$GPRMC,134434.00,A,5203.09200,N,00421.70673,E,56.507,211.52,120308,,,A*5A
+$GPRMC,134435.00,A,5203.07883,N,00421.69351,E,55.960,212.19,120308,,,A*5B
+$GPRMC,134436.00,A,5203.06589,N,00421.68017,E,55.033,212.72,120308,,,A*5C
+$GPRMC,134437.00,A,5203.05321,N,00421.66690,E,54.348,212.96,120308,,,A*59
+$GPRMC,134438.00,A,5203.04073,N,00421.65372,E,53.405,213.30,120308,,,A*5D
+$GPRMC,134439.00,A,5203.02857,N,00421.64063,E,52.406,214.08,120308,,,A*58
+$GPRMC,134440.00,A,5203.01674,N,00421.62733,E,51.736,215.67,120308,,,A*55
+$GPRMC,134441.00,A,5203.00518,N,00421.61386,E,51.006,215.89,120308,,,A*51
+$GPRMC,134442.00,A,5202.99398,N,00421.60004,E,50.891,217.46,120308,,,A*53
+$GPRMC,134443.00,A,5202.98297,N,00421.58595,E,50.205,218.96,120308,,,A*5E
+$GPRMC,134444.00,A,5202.97238,N,00421.57151,E,49.702,221.06,120308,,,A*59
+$GPRMC,134445.00,A,5202.96215,N,00421.55685,E,49.187,221.92,120308,,,A*5C
+$GPRMC,134446.00,A,5202.95205,N,00421.54210,E,49.188,222.09,120308,,,A*5A
+$GPRMC,134447.00,A,5202.94204,N,00421.52712,E,49.016,223.01,120308,,,A*55
+$GPRMC,134448.00,A,5202.93220,N,00421.51198,E,48.625,223.36,120308,,,A*5F
+$GPRMC,134449.00,A,5202.92250,N,00421.49680,E,48.587,224.00,120308,,,A*56
+$GPRMC,134450.00,A,5202.91291,N,00421.48129,E,48.614,225.19,120308,,,A*55
+$GPRMC,134451.00,A,5202.90355,N,00421.46534,E,49.351,226.29,120308,,,A*5F
+$GPRMC,134452.00,A,5202.89426,N,00421.44868,E,50.464,228.53,120308,,,A*5B
+$GPRMC,134453.00,A,5202.88533,N,00421.43127,E,50.601,230.96,120308,,,A*5A
+$GPRMC,134454.00,A,5202.87671,N,00421.41304,E,51.212,232.92,120308,,,A*57
+$GPRMC,134455.00,A,5202.86854,N,00421.39425,E,51.025,235.61,120308,,,A*58
+$GPRMC,134456.00,A,5202.86082,N,00421.37473,E,51.866,238.49,120308,,,A*5D
+$GPRMC,134457.00,A,5202.85357,N,00421.35437,E,52.594,240.95,120308,,,A*5B
+$GPRMC,134458.00,A,5202.84678,N,00421.33328,E,52.894,243.30,120308,,,A*53
+$GPRMC,134459.00,A,5202.84065,N,00421.31192,E,52.670,245.98,120308,,,A*59
+$GPRMC,134500.00,A,5202.83519,N,00421.29024,E,52.245,248.76,120308,,,A*57
+$GPRMC,134501.00,A,5202.83040,N,00421.26842,E,51.379,251.33,120308,,,A*5C
+$GPRMC,134502.00,A,5202.82631,N,00421.24639,E,50.742,253.78,120308,,,A*5E
+$GPRMC,134503.00,A,5202.82289,N,00421.22450,E,50.092,256.10,120308,,,A*52
+$GPRMC,134504.00,A,5202.82002,N,00421.20265,E,49.173,258.53,120308,,,A*59
+$GPRMC,134505.00,A,5202.81757,N,00421.18120,E,47.948,259.79,120308,,,A*52
+$GPRMC,134506.00,A,5202.81543,N,00421.16016,E,46.905,260.47,120308,,,A*53
+$GPRMC,134507.00,A,5202.81338,N,00421.13957,E,46.111,260.37,120308,,,A*5B
+$GPRMC,134508.00,A,5202.81129,N,00421.11934,E,45.385,258.19,120308,,,A*5A
+$GPRMC,134509.00,A,5202.80909,N,00421.09983,E,43.900,258.00,120308,,,A*5C
+$GPRMC,134510.00,A,5202.80664,N,00421.08039,E,44.237,256.23,120308,,,A*5E
+$GPRMC,134511.00,A,5202.80368,N,00421.06097,E,44.769,254.44,120308,,,A*51
+$GPRMC,134512.00,A,5202.80003,N,00421.04148,E,45.941,250.90,120308,,,A*55
+$GPRMC,134513.00,A,5202.79565,N,00421.02245,E,45.339,247.61,120308,,,A*52
+$GPRMC,134514.00,A,5202.79066,N,00421.00420,E,45.099,244.19,120308,,,A*51
+$GPRMC,134515.00,A,5202.78476,N,00420.98640,E,45.289,239.92,120308,,,A*5A
+$GPRMC,134516.00,A,5202.77801,N,00420.96927,E,45.532,235.56,120308,,,A*59
+$GPRMC,134517.00,A,5202.77047,N,00420.95255,E,46.765,232.42,120308,,,A*5E
+$GPRMC,134518.00,A,5202.76215,N,00420.93627,E,47.452,228.90,120308,,,A*50
+$GPRMC,134519.00,A,5202.75304,N,00420.92082,E,47.714,224.53,120308,,,A*59
+$GPRMC,134520.00,A,5202.74329,N,00420.90658,E,47.218,220.44,120308,,,A*55
+$GPRMC,134521.00,A,5202.73283,N,00420.89362,E,47.113,216.46,120308,,,A*59
+$GPRMC,134522.00,A,5202.72189,N,00420.88188,E,47.368,212.37,120308,,,A*59
+$GPRMC,134523.00,A,5202.71049,N,00420.87136,E,47.305,208.34,120308,,,A*5F
+$GPRMC,134524.00,A,5202.69850,N,00420.86224,E,48.199,204.57,120308,,,A*51
+$GPRMC,134525.00,A,5202.68578,N,00420.85435,E,49.644,200.24,120308,,,A*55
+$GPRMC,134526.00,A,5202.67235,N,00420.84758,E,51.183,196.04,120308,,,A*55
+$GPRMC,134527.00,A,5202.65823,N,00420.84241,E,52.744,191.70,120308,,,A*5C
+$GPRMC,134528.00,A,5202.64350,N,00420.83873,E,54.035,187.07,120308,,,A*51
+$GPRMC,134529.00,A,5202.62822,N,00420.83719,E,55.260,181.99,120308,,,A*59
+$GPRMC,134530.00,A,5202.61265,N,00420.83763,E,56.383,177.54,120308,,,A*51
+$GPRMC,134531.00,A,5202.59666,N,00420.84006,E,57.608,172.70,120308,,,A*5B
+$GPRMC,134532.00,A,5202.58083,N,00420.84338,E,57.434,172.52,120308,,,A*57
+$GPRMC,134533.00,A,5202.56508,N,00420.84688,E,57.252,172.25,120308,,,A*56
+$GPRMC,134534.00,A,5202.54848,N,00420.84962,E,59.341,173.66,120308,,,A*5A
+$GPRMC,134535.00,A,5202.53403,N,00420.86581,E,56.007,159.87,120308,,,A*55
+$GPRMC,134536.00,A,5202.51890,N,00420.87686,E,57.250,157.07,120308,,,A*50
+$GPRMC,134537.00,A,5202.50615,N,00420.88878,E,54.362,155.12,120308,,,A*56
+$GPRMC,134538.00,A,5202.49434,N,00420.90812,E,56.201,144.03,120308,,,A*53
+$GPRMC,134539.00,A,5202.48223,N,00420.92706,E,55.156,141.53,120308,,,A*59
+$GPRMC,134540.00,A,5202.47042,N,00420.94561,E,55.684,140.90,120308,,,A*5E
+$GPRMC,134541.00,A,5202.45824,N,00420.96279,E,56.366,140.68,120308,,,A*54
+$GPRMC,134542.00,A,5202.44604,N,00420.97967,E,56.806,140.94,120308,,,A*51
+$GPRMC,134543.00,A,5202.43342,N,00420.99553,E,56.485,145.09,120308,,,A*53
+$GPRMC,134544.00,A,5202.42062,N,00421.01109,E,57.046,144.64,120308,,,A*5F
+$GPRMC,134545.00,A,5202.40781,N,00421.02630,E,57.401,146.34,120308,,,A*58
+$GPRMC,134546.00,A,5202.39472,N,00421.04010,E,56.786,148.59,120308,,,A*50
+$GPRMC,134547.00,A,5202.38162,N,00421.05325,E,55.541,149.49,120308,,,A*5A
+$GPRMC,134548.00,A,5202.36849,N,00421.06619,E,55.450,152.28,120308,,,A*5E
+$GPRMC,134549.00,A,5202.35497,N,00421.07747,E,55.155,155.24,120308,,,A*53
+$GPRMC,134550.00,A,5202.34092,N,00421.08834,E,56.108,156.92,120308,,,A*5A
+$GPRMC,134551.00,A,5202.32670,N,00421.09779,E,56.277,159.01,120308,,,A*5E
+$GPRMC,134552.00,A,5202.31194,N,00421.10627,E,56.332,161.42,120308,,,A*5D
+$GPRMC,134553.00,A,5202.29696,N,00421.11369,E,56.832,163.89,120308,,,A*50
+$GPRMC,134554.00,A,5202.28159,N,00421.12004,E,57.564,166.23,120308,,,A*53
+$GPRMC,134555.00,A,5202.26581,N,00421.12549,E,58.878,168.22,120308,,,A*51
+$GPRMC,134556.00,A,5202.24964,N,00421.13050,E,59.311,169.36,120308,,,A*5A
+$GPRMC,134557.00,A,5202.23335,N,00421.13511,E,59.197,170.19,120308,,,A*5B
+$GPRMC,134558.00,A,5202.21707,N,00421.13979,E,59.333,169.48,120308,,,A*51
+$GPRMC,134559.00,A,5202.20099,N,00421.14444,E,58.689,170.12,120308,,,A*57
+$GPRMC,134600.00,A,5202.18481,N,00421.14905,E,59.445,169.76,120308,,,A*5F
+$GPRMC,134601.00,A,5202.16852,N,00421.15378,E,59.509,169.97,120308,,,A*55
+$GPRMC,134602.00,A,5202.15226,N,00421.15846,E,59.825,170.07,120308,,,A*58
+$GPRMC,134603.00,A,5202.13591,N,00421.16298,E,59.829,170.19,120308,,,A*5D
+$GPRMC,134604.00,A,5202.11953,N,00421.16763,E,59.885,170.11,120308,,,A*55
+$GPRMC,134605.00,A,5202.10314,N,00421.17215,E,59.594,170.14,120308,,,A*51
+$GPRMC,134606.00,A,5202.08676,N,00421.17677,E,59.689,170.24,120308,,,A*56
+$GPRMC,134607.00,A,5202.07027,N,00421.18147,E,60.106,170.09,120308,,,A*54
+$GPRMC,134608.00,A,5202.05365,N,00421.18623,E,60.640,169.94,120308,,,A*50
+$GPRMC,134609.00,A,5202.03701,N,00421.19119,E,60.642,169.41,120308,,,A*54
+$GPRMC,134610.00,A,5202.02043,N,00421.19651,E,60.984,168.34,120308,,,A*51
+$GPRMC,134611.00,A,5202.00392,N,00421.20250,E,60.990,166.56,120308,,,A*5D
+$GPRMC,134612.00,A,5201.98753,N,00421.20933,E,60.471,164.78,120308,,,A*57
+$GPRMC,134613.00,A,5201.97137,N,00421.21725,E,60.361,162.78,120308,,,A*55
+$GPRMC,134614.00,A,5201.95548,N,00421.22584,E,60.275,161.13,120308,,,A*5C
+$GPRMC,134615.00,A,5201.93976,N,00421.23516,E,60.089,159.39,120308,,,A*52
+$GPRMC,134616.00,A,5201.92427,N,00421.24539,E,60.278,157.69,120308,,,A*54
+$GPRMC,134617.00,A,5201.90882,N,00421.25646,E,61.207,155.76,120308,,,A*5B
+$GPRMC,134618.00,A,5201.89336,N,00421.26825,E,62.353,154.05,120308,,,A*56
+$GPRMC,134619.00,A,5201.87792,N,00421.28145,E,63.211,152.26,120308,,,A*53
+$GPRMC,134620.00,A,5201.86257,N,00421.29554,E,62.784,150.14,120308,,,A*5A
+$GPRMC,134621.00,A,5201.84773,N,00421.31015,E,62.406,148.13,120308,,,A*54
+$GPRMC,134622.00,A,5201.83330,N,00421.32555,E,61.907,146.48,120308,,,A*5E
+$GPRMC,134623.00,A,5201.81920,N,00421.34123,E,61.270,145.60,120308,,,A*57
+$GPRMC,134624.00,A,5201.80534,N,00421.35697,E,60.617,144.63,120308,,,A*57
+$GPRMC,134625.00,A,5201.79208,N,00421.37220,E,58.400,144.94,120308,,,A*55
+$GPRMC,134626.00,A,5201.77860,N,00421.38819,E,58.476,144.25,120308,,,A*58
+$GPRMC,134627.00,A,5201.76582,N,00421.40371,E,57.100,144.24,120308,,,A*59
+$GPRMC,134628.00,A,5201.75311,N,00421.41867,E,56.453,144.16,120308,,,A*57
+$GPRMC,134629.00,A,5201.74058,N,00421.43369,E,56.039,144.04,120308,,,A*55
+$GPRMC,134630.00,A,5201.72803,N,00421.44837,E,55.880,144.24,120308,,,A*51
+$GPRMC,134631.00,A,5201.71568,N,00421.46314,E,55.543,144.41,120308,,,A*5A
+$GPRMC,134632.00,A,5201.70335,N,00421.47780,E,55.484,144.29,120308,,,A*5A
+$GPRMC,134633.00,A,5201.69102,N,00421.49237,E,55.286,144.41,120308,,,A*58
+$GPRMC,134634.00,A,5201.67869,N,00421.50689,E,55.043,144.23,120308,,,A*53
+$GPRMC,134635.00,A,5201.66641,N,00421.52135,E,54.726,144.08,120308,,,A*59
+$GPRMC,134636.00,A,5201.65421,N,00421.53580,E,54.633,144.15,120308,,,A*5F
+$GPRMC,134637.00,A,5201.64203,N,00421.55012,E,54.289,144.25,120308,,,A*57
+$GPRMC,134638.00,A,5201.62983,N,00421.56439,E,54.390,144.55,120308,,,A*5D
+$GPRMC,134639.00,A,5201.61752,N,00421.57880,E,55.218,144.32,120308,,,A*53
+$GPRMC,134640.00,A,5201.60502,N,00421.59350,E,56.186,144.15,120308,,,A*51
+$GPRMC,134641.00,A,5201.59234,N,00421.60831,E,56.451,144.58,120308,,,A*58
+$GPRMC,134642.00,A,5201.57942,N,00421.62304,E,57.353,145.27,120308,,,A*5D
+$GPRMC,134643.00,A,5201.56618,N,00421.63804,E,58.063,144.91,120308,,,A*54
+$GPRMC,134644.00,A,5201.55280,N,00421.65344,E,58.970,144.35,120308,,,A*59
+$GPRMC,134645.00,A,5201.53913,N,00421.66954,E,60.353,144.17,120308,,,A*57
+$GPRMC,134646.00,A,5201.52538,N,00421.68563,E,61.636,144.26,120308,,,A*53
+$GPRMC,134647.00,A,5201.51138,N,00421.70208,E,62.934,144.14,120308,,,A*59
+$GPRMC,134648.00,A,5201.49703,N,00421.71877,E,64.115,144.26,120308,,,A*5E
+$GPRMC,134649.00,A,5201.48247,N,00421.73560,E,64.344,144.37,120308,,,A*54
+$GPRMC,134650.00,A,5201.46791,N,00421.75240,E,64.181,144.29,120308,,,A*5B
+$GPRMC,134651.00,A,5201.45335,N,00421.76923,E,64.273,144.33,120308,,,A*5B
+$GPRMC,134652.00,A,5201.43883,N,00421.78611,E,64.006,144.19,120308,,,A*50
+$GPRMC,134653.00,A,5201.42452,N,00421.80292,E,63.204,144.16,120308,,,A*50
+$GPRMC,134654.00,A,5201.41033,N,00421.81951,E,62.481,144.19,120308,,,A*57
+$GPRMC,134655.00,A,5201.39629,N,00421.83592,E,61.964,144.24,120308,,,A*5E
+$GPRMC,134656.00,A,5201.38233,N,00421.85218,E,61.644,144.34,120308,,,A*5C
+$GPRMC,134657.00,A,5201.36840,N,00421.86835,E,61.551,144.38,120308,,,A*50
+$GPRMC,134658.00,A,5201.35453,N,00421.88455,E,61.403,144.23,120308,,,A*5A
+$GPRMC,134659.00,A,5201.34071,N,00421.90072,E,61.331,144.19,120308,,,A*59
+$GPRMC,134700.00,A,5201.32690,N,00421.91680,E,61.114,144.54,120308,,,A*5D
+$GPRMC,134701.00,A,5201.31313,N,00421.93278,E,61.035,144.48,120308,,,A*5F
+$GPRMC,134702.00,A,5201.29935,N,00421.94882,E,61.434,144.24,120308,,,A*5C
+$GPRMC,134703.00,A,5201.28542,N,00421.96520,E,62.694,144.11,120308,,,A*5A
+$GPRMC,134704.00,A,5201.27126,N,00421.98187,E,63.553,144.18,120308,,,A*53
+$GPRMC,134705.00,A,5201.25688,N,00421.99872,E,64.415,144.05,120308,,,A*59
+$GPRMC,134706.00,A,5201.24248,N,00422.01555,E,64.193,144.27,120308,,,A*52
+$GPRMC,134707.00,A,5201.22798,N,00422.03247,E,64.561,143.87,120308,,,A*5F
+$GPRMC,134708.00,A,5201.21344,N,00422.04924,E,64.208,144.41,120308,,,A*5A
+$GPRMC,134709.00,A,5201.19890,N,00422.06600,E,64.104,144.32,120308,,,A*52
+$GPRMC,134710.00,A,5201.18442,N,00422.08282,E,64.112,144.20,120308,,,A*5C
+$GPRMC,134711.00,A,5201.16993,N,00422.09963,E,64.223,144.32,120308,,,A*55
+$GPRMC,134712.00,A,5201.15539,N,00422.11645,E,64.301,144.41,120308,,,A*5E
+$GPRMC,134713.00,A,5201.14085,N,00422.13331,E,64.364,144.35,120308,,,A*58
+$GPRMC,134714.00,A,5201.12624,N,00422.15022,E,64.482,144.22,120308,,,A*5A
+$GPRMC,134715.00,A,5201.11166,N,00422.16719,E,64.550,144.30,120308,,,A*58
+$GPRMC,134716.00,A,5201.09721,N,00422.18427,E,64.596,144.24,120308,,,A*58
+$GPRMC,134717.00,A,5201.08269,N,00422.20106,E,63.647,144.86,120308,,,A*5C
+$GPRMC,134718.00,A,5201.06806,N,00422.21795,E,64.536,144.41,120308,,,A*5A
+$GPRMC,134719.00,A,5201.05344,N,00422.23477,E,64.528,144.85,120308,,,A*5F
+$GPRMC,134720.00,A,5201.03890,N,00422.25180,E,64.179,144.24,120308,,,A*51
+$GPRMC,134721.00,A,5201.02448,N,00422.26873,E,63.857,144.27,120308,,,A*5F
+$GPRMC,134722.00,A,5201.01012,N,00422.28549,E,63.467,144.35,120308,,,A*52
+$GPRMC,134723.00,A,5200.99580,N,00422.30216,E,63.459,144.61,120308,,,A*55
+$GPRMC,134724.00,A,5200.98161,N,00422.31855,E,62.195,144.51,120308,,,A*53
+$GPRMC,134725.00,A,5200.96763,N,00422.33477,E,61.652,144.39,120308,,,A*57
+$GPRMC,134726.00,A,5200.95367,N,00422.35073,E,61.395,144.77,120308,,,A*55
+$GPRMC,134727.00,A,5200.93973,N,00422.36686,E,61.667,144.27,120308,,,A*5F
+$GPRMC,134728.00,A,5200.92580,N,00422.38316,E,62.032,144.22,120308,,,A*53
+$GPRMC,134729.00,A,5200.91190,N,00422.39959,E,62.321,144.19,120308,,,A*5D
+$GPRMC,134730.00,A,5200.89774,N,00422.41614,E,63.276,144.29,120308,,,A*58
+$GPRMC,134731.00,A,5200.88343,N,00422.43291,E,64.316,144.37,120308,,,A*5C
+$GPRMC,134732.00,A,5200.86888,N,00422.44998,E,65.190,144.35,120308,,,A*57
+$GPRMC,134733.00,A,5200.85417,N,00422.46724,E,65.653,144.34,120308,,,A*5D
+$GPRMC,134734.00,A,5200.83940,N,00422.48463,E,65.761,144.16,120308,,,A*5D
+$GPRMC,134735.00,A,5200.82463,N,00422.50213,E,66.022,144.01,120308,,,A*5C
+$GPRMC,134736.00,A,5200.80978,N,00422.51964,E,66.148,144.19,120308,,,A*54
+$GPRMC,134737.00,A,5200.79493,N,00422.53694,E,65.484,144.45,120308,,,A*56
+$GPRMC,134738.00,A,5200.78015,N,00422.55404,E,65.204,144.42,120308,,,A*56
+$GPRMC,134739.00,A,5200.76547,N,00422.57113,E,64.960,144.26,120308,,,A*50
+$GPRMC,134740.00,A,5200.75082,N,00422.58813,E,64.715,144.37,120308,,,A*5B
+$GPRMC,134741.00,A,5200.73627,N,00422.60508,E,64.457,144.27,120308,,,A*5D
+$GPRMC,134742.00,A,5200.72185,N,00422.62194,E,63.870,144.26,120308,,,A*5C
+$GPRMC,134743.00,A,5200.70756,N,00422.63866,E,63.300,144.10,120308,,,A*5B
+$GPRMC,134744.00,A,5200.69346,N,00422.65534,E,62.987,143.96,120308,,,A*50
+$GPRMC,134745.00,A,5200.67935,N,00422.67200,E,63.260,143.99,120308,,,A*5F
+$GPRMC,134746.00,A,5200.66508,N,00422.68869,E,63.987,144.40,120308,,,A*54
+$GPRMC,134747.00,A,5200.65071,N,00422.70530,E,63.593,144.61,120308,,,A*5F
+$GPRMC,134748.00,A,5200.63644,N,00422.72176,E,63.032,144.60,120308,,,A*5D
+$GPRMC,134749.00,A,5200.62229,N,00422.73815,E,62.576,144.32,120308,,,A*5C
+$GPRMC,134750.00,A,5200.60826,N,00422.75450,E,62.126,144.22,120308,,,A*58
+$GPRMC,134751.00,A,5200.59437,N,00422.77078,E,61.687,144.05,120308,,,A*59
+$GPRMC,134752.00,A,5200.58061,N,00422.78694,E,60.957,144.18,120308,,,A*58
+$GPRMC,134753.00,A,5200.56698,N,00422.80278,E,60.157,144.55,120308,,,A*57
+$GPRMC,134754.00,A,5200.55360,N,00422.81827,E,58.424,144.34,120308,,,A*5D
+$GPRMC,134755.00,A,5200.54074,N,00422.83317,E,55.749,144.53,120308,,,A*55
+$GPRMC,134756.00,A,5200.52839,N,00422.84740,E,53.701,144.54,120308,,,A*5D
+$GPRMC,134757.00,A,5200.51657,N,00422.86107,E,51.235,144.41,120308,,,A*5A
+$GPRMC,134758.00,A,5200.50537,N,00422.87405,E,48.450,144.37,120308,,,A*5B
+$GPRMC,134759.00,A,5200.49464,N,00422.88656,E,47.290,144.13,120308,,,A*5D
+$GPRMC,134800.00,A,5200.48417,N,00422.89889,E,46.425,143.85,120308,,,A*57
+$GPRMC,134801.00,A,5200.47386,N,00422.91108,E,45.939,144.01,120308,,,A*57
+$GPRMC,134802.00,A,5200.46360,N,00422.92306,E,45.627,144.56,120308,,,A*50
+$GPRMC,134803.00,A,5200.45354,N,00422.93469,E,43.732,144.43,120308,,,A*5D
+$GPRMC,134804.00,A,5200.44418,N,00422.94566,E,40.162,144.20,120308,,,A*58
+$GPRMC,134805.00,A,5200.43550,N,00422.95584,E,37.675,144.17,120308,,,A*5B
+$GPRMC,134806.00,A,5200.42739,N,00422.96533,E,35.129,144.39,120308,,,A*5B
+$GPRMC,134807.00,A,5200.41999,N,00422.97391,E,31.176,144.52,120308,,,A*51
+$GPRMC,134808.00,A,5200.41343,N,00422.98150,E,27.306,144.56,120308,,,A*55
+$GPRMC,134809.00,A,5200.40753,N,00422.98837,E,25.935,144.33,120308,,,A*53
+$GPRMC,134810.00,A,5200.40217,N,00422.99459,E,24.092,144.17,120308,,,A*58
+$GPRMC,134811.00,A,5200.39707,N,00423.00049,E,22.789,144.23,120308,,,A*5B
+$GPRMC,134812.00,A,5200.39223,N,00423.00611,E,21.218,144.34,120308,,,A*58
+$GPRMC,134813.00,A,5200.38763,N,00423.01137,E,20.393,144.64,120308,,,A*5D
+$GPRMC,134814.00,A,5200.38331,N,00423.01626,E,19.296,144.90,120308,,,A*5B
+$GPRMC,134815.00,A,5200.37917,N,00423.02087,E,18.372,145.29,120308,,,A*5C
+$GPRMC,134816.00,A,5200.37534,N,00423.02511,E,16.549,145.32,120308,,,A*52
+$GPRMC,134817.00,A,5200.37202,N,00423.02882,E,13.915,144.76,120308,,,A*57
+$GPRMC,134818.00,A,5200.36913,N,00423.03204,E,12.739,145.80,120308,,,A*5E
+$GPRMC,134819.00,A,5200.36637,N,00423.03498,E,12.433,146.13,120308,,,A*55
+$GPRMC,134820.00,A,5200.36358,N,00423.03802,E,12.318,145.83,120308,,,A*58
+$GPRMC,134821.00,A,5200.36104,N,00423.04066,E,10.938,146.75,120308,,,A*5F
+$GPRMC,134822.00,A,5200.35880,N,00423.04294,E,8.768,147.33,120308,,,A*64
+$GPRMC,134823.00,A,5200.35709,N,00423.04474,E,6.798,147.05,120308,,,A*67
+$GPRMC,134824.00,A,5200.35592,N,00423.04597,E,4.038,147.58,120308,,,A*6B
+$GPRMC,134825.00,A,5200.35526,N,00423.04669,E,2.377,147.30,120308,,,A*67
+$GPRMC,134826.00,A,5200.35489,N,00423.04712,E,1.631,147.31,120308,,,A*68
+$GPRMC,134827.00,A,5200.35450,N,00423.04754,E,2.783,147.33,120308,,,A*66
+$GPRMC,134828.00,A,5200.35368,N,00423.04843,E,5.089,146.98,120308,,,A*66
+$GPRMC,134829.00,A,5200.35234,N,00423.04984,E,7.004,146.99,120308,,,A*63
+$GPRMC,134830.00,A,5200.35071,N,00423.05154,E,7.591,146.94,120308,,,A*68
+$GPRMC,134831.00,A,5200.34895,N,00423.05335,E,7.954,147.57,120308,,,A*64
+$GPRMC,134832.00,A,5200.34712,N,00423.05527,E,8.000,147.48,120308,,,A*6B
+$GPRMC,134833.00,A,5200.34536,N,00423.05710,E,7.944,147.79,120308,,,A*6C
+$GPRMC,134834.00,A,5200.34354,N,00423.05901,E,8.362,148.03,120308,,,A*64
+$GPRMC,134835.00,A,5200.34156,N,00423.06110,E,9.103,148.12,120308,,,A*6A
+$GPRMC,134836.00,A,5200.33927,N,00423.06344,E,10.813,148.49,120308,,,A*5D
+$GPRMC,134837.00,A,5200.33671,N,00423.06596,E,11.308,148.76,120308,,,A*55
+$GPRMC,134838.00,A,5200.33413,N,00423.06845,E,10.876,148.92,120308,,,A*56
+$GPRMC,134839.00,A,5200.33172,N,00423.07076,E,9.984,149.60,120308,,,A*64
+$GPRMC,134840.00,A,5200.32938,N,00423.07302,E,9.844,150.11,120308,,,A*6E
+$GPRMC,134841.00,A,5200.32706,N,00423.07512,E,9.881,150.70,120308,,,A*65
+$GPRMC,134842.00,A,5200.32470,N,00423.07725,E,10.115,152.06,120308,,,A*5D
+$GPRMC,134843.00,A,5200.32229,N,00423.07932,E,10.431,151.93,120308,,,A*52
+$GPRMC,134844.00,A,5200.31980,N,00423.08143,E,10.497,152.25,120308,,,A*5D
+$GPRMC,134845.00,A,5200.31736,N,00423.08347,E,9.910,152.38,120308,,,A*6F
+$GPRMC,134846.00,A,5200.31497,N,00423.08545,E,9.918,152.78,120308,,,A*6C
+$GPRMC,134847.00,A,5200.31262,N,00423.08740,E,9.654,152.58,120308,,,A*63
+$GPRMC,134848.00,A,5200.31041,N,00423.08916,E,8.880,152.39,120308,,,A*63
+$GPRMC,134849.00,A,5200.30840,N,00423.09078,E,8.077,152.43,120308,,,A*67
+$GPRMC,134850.00,A,5200.30653,N,00423.09224,E,7.800,152.56,120308,,,A*6B
+$GPRMC,134851.00,A,5200.30469,N,00423.09370,E,7.706,152.72,120308,,,A*6E
+$GPRMC,134852.00,A,5200.30287,N,00423.09515,E,7.718,152.55,120308,,,A*64
+$GPRMC,134853.00,A,5200.30108,N,00423.09657,E,7.171,153.64,120308,,,A*6E
+$GPRMC,134854.00,A,5200.29938,N,00423.09794,E,6.944,153.15,120308,,,A*6D
+$GPRMC,134855.00,A,5200.29780,N,00423.09923,E,6.255,153.51,120308,,,A*68
+$GPRMC,134856.00,A,5200.29632,N,00423.10043,E,6.161,154.17,120308,,,A*65
+$GPRMC,134857.00,A,5200.29471,N,00423.10170,E,7.034,154.07,120308,,,A*61
+$GPRMC,134858.00,A,5200.29286,N,00423.10316,E,7.969,154.27,120308,,,A*61
+$GPRMC,134859.00,A,5200.29081,N,00423.10479,E,8.575,154.22,120308,,,A*60
+$GPRMC,134900.00,A,5200.28872,N,00423.10648,E,8.502,154.95,120308,,,A*64
+$GPRMC,134901.00,A,5200.28666,N,00423.10805,E,8.138,155.78,120308,,,A*66
+$GPRMC,134902.00,A,5200.28454,N,00423.10961,E,8.906,155.79,120308,,,A*61
+$GPRMC,134903.00,A,5200.28229,N,00423.11129,E,9.351,156.11,120308,,,A*6D
+$GPRMC,134904.00,A,5200.28003,N,00423.11285,E,8.776,157.08,120308,,,A*6C
+$GPRMC,134905.00,A,5200.27787,N,00423.11431,E,8.226,156.82,120308,,,A*63
+$GPRMC,134906.00,A,5200.27584,N,00423.11572,E,7.854,156.92,120308,,,A*66
+$GPRMC,134907.00,A,5200.27386,N,00423.11707,E,7.714,156.79,120308,,,A*6D
+$GPRMC,134908.00,A,5200.27205,N,00423.11833,E,6.626,156.39,120308,,,A*65
+$GPRMC,134909.00,A,5200.27065,N,00423.11929,E,4.541,155.86,120308,,,A*6D
+$GPRMC,134910.00,A,5200.26963,N,00423.12003,E,3.772,157.33,120308,,,A*60
+$GPRMC,134911.00,A,5200.26869,N,00423.12072,E,3.821,155.21,120308,,,A*64
+$GPRMC,134912.00,A,5200.26781,N,00423.12135,E,3.320,156.72,120308,,,A*63
+$GPRMC,134913.00,A,5200.26699,N,00423.12188,E,3.137,156.58,120308,,,A*60
+$GPRMC,134914.00,A,5200.26621,N,00423.12239,E,3.071,157.62,120308,,,D*63
+$GPRMC,134915.00,A,5200.26540,N,00423.12292,E,3.343,157.40,120308,,,D*65
+$GPRMC,134916.00,A,5200.26444,N,00423.12368,E,4.375,151.60,120308,,,D*61
+$GPRMC,134917.00,A,5200.26355,N,00423.12374,E,3.462,185.77,120308,,,D*63
+$GPRMC,134918.00,A,5200.26264,N,00423.12332,E,3.840,196.48,120308,,,D*6F
+$GPRMC,134919.00,A,5200.26141,N,00423.12320,E,4.528,184.81,120308,,,D*6B
+$GPRMC,134920.00,A,5200.25938,N,00423.12474,E,6.503,166.59,120308,,,D*60
+$GPRMC,134921.00,A,5200.25676,N,00423.12714,E,8.428,158.59,120308,,,D*6A
+$GPRMC,134922.00,A,5200.25454,N,00423.12839,E,8.187,161.03,120308,,,D*6E
+$GPRMC,134923.00,A,5200.25228,N,00423.12978,E,8.839,158.39,120308,,,D*69
+$GPRMC,134924.00,A,5200.24977,N,00423.13117,E,9.667,160.85,120308,,,D*66
+$GPRMC,134925.00,A,5200.24702,N,00423.13281,E,10.996,160.10,120308,,,D*52
+$GPRMC,134926.00,A,5200.24405,N,00423.13448,E,11.581,160.35,120308,,,D*5A
+$GPRMC,134927.00,A,5200.24093,N,00423.13620,E,12.432,161.05,120308,,,D*54
+$GPRMC,134928.00,A,5200.23750,N,00423.13794,E,12.866,161.40,120308,,,D*56
+$GPRMC,134929.00,A,5200.23410,N,00423.13970,E,12.790,161.86,120308,,,D*58
+$GPRMC,134930.00,A,5200.23087,N,00423.14146,E,12.164,160.45,120308,,,D*53
+$GPRMC,134931.00,A,5200.22786,N,00423.14325,E,10.942,161.72,120308,,,D*59
+$GPRMC,134932.00,A,5200.22486,N,00423.14505,E,11.052,162.50,120308,,,D*57
+$GPRMC,134933.00,A,5200.22157,N,00423.14690,E,12.446,162.42,120308,,,D*51
+$GPRMC,134934.00,A,5200.21789,N,00423.14880,E,14.204,162.97,120308,,,D*51
+$GPRMC,134935.00,A,5200.21376,N,00423.15096,E,15.852,163.14,120308,,,D*58
+$GPRMC,134936.00,A,5200.20909,N,00423.15324,E,18.185,163.89,120308,,,D*58
+$GPRMC,134937.00,A,5200.20392,N,00423.15568,E,19.535,164.15,120308,,,D*53
+$GPRMC,134938.00,A,5200.19848,N,00423.15815,E,20.171,164.89,120308,,,D*56
+$GPRMC,134939.00,A,5200.19269,N,00423.16071,E,22.422,164.95,120308,,,D*5B
+$GPRMC,134940.00,A,5200.18633,N,00423.16346,E,24.325,164.84,120308,,,D*5E
+$GPRMC,134941.00,A,5200.17961,N,00423.16633,E,25.056,165.22,120308,,,D*54
+$GPRMC,134942.00,A,5200.17277,N,00423.16918,E,25.695,165.72,120308,,,D*51
+$GPRMC,134943.00,A,5200.16578,N,00423.17204,E,25.981,165.51,120308,,,D*55
+$GPRMC,134944.00,A,5200.15868,N,00423.17495,E,26.544,165.07,120308,,,D*56
+$GPRMC,134945.00,A,5200.15127,N,00423.17819,E,28.568,164.68,120308,,,D*55
+$GPRMC,134946.00,A,5200.14342,N,00423.18165,E,29.628,164.46,120308,,,D*51
+$GPRMC,134947.00,A,5200.13539,N,00423.18528,E,30.455,164.74,120308,,,D*51
+$GPRMC,134948.00,A,5200.12712,N,00423.18891,E,31.237,165.08,120308,,,D*52
+$GPRMC,134949.00,A,5200.11866,N,00423.19252,E,31.671,165.21,120308,,,D*55
+$GPRMC,134950.00,A,5200.11012,N,00423.19619,E,32.023,165.18,120308,,,D*55
+$GPRMC,134951.00,A,5200.10152,N,00423.19992,E,32.204,165.28,120308,,,D*58
+$GPRMC,134952.00,A,5200.09285,N,00423.20359,E,32.352,165.47,120308,,,D*56
+$GPRMC,134953.00,A,5200.08413,N,00423.20728,E,32.572,165.31,120308,,,D*58
+$GPRMC,134954.00,A,5200.07534,N,00423.21101,E,32.815,165.27,120308,,,D*53
+$GPRMC,134955.00,A,5200.06649,N,00423.21467,E,32.958,165.16,120308,,,D*55
+$GPRMC,134956.00,A,5200.05757,N,00423.21841,E,33.397,165.08,120308,,,D*54
+$GPRMC,134957.00,A,5200.04853,N,00423.22224,E,33.938,165.14,120308,,,D*57
+$GPRMC,134958.00,A,5200.03935,N,00423.22614,E,34.364,165.18,120308,,,D*51
+$GPRMC,134959.00,A,5200.03002,N,00423.23005,E,34.907,165.14,120308,,,D*59
+$GPRMC,135000.00,A,5200.02044,N,00423.23406,E,36.171,165.04,120308,,,D*53
+$GPRMC,135001.00,A,5200.01071,N,00423.23818,E,35.947,165.10,120308,,,D*5F
+$GPRMC,135002.00,A,5200.00105,N,00423.24223,E,35.563,165.29,120308,,,D*5A
+$GPRMC,135003.00,A,5159.99154,N,00423.24619,E,34.950,165.30,120308,,,D*58
+$GPRMC,135004.00,A,5159.98196,N,00423.25032,E,34.479,165.18,120308,,,D*52
+$GPRMC,135005.00,A,5159.97247,N,00423.25449,E,34.316,164.80,120308,,,D*55
+$GPRMC,135006.00,A,5159.96316,N,00423.25858,E,33.782,164.64,120308,,,D*5A
+$GPRMC,135007.00,A,5159.95433,N,00423.26244,E,31.702,165.14,120308,,,D*50
+$GPRMC,135008.00,A,5159.94550,N,00423.26625,E,31.826,165.27,120308,,,D*50
+$GPRMC,135009.00,A,5159.93671,N,00423.27005,E,31.576,165.43,120308,,,D*59
+$GPRMC,135010.00,A,5159.92818,N,00423.27356,E,32.038,165.06,120308,,,D*59
+$GPRMC,135011.00,A,5159.91958,N,00423.27716,E,32.365,165.21,120308,,,D*50
+$GPRMC,135012.00,A,5159.91059,N,00423.28135,E,34.519,163.13,120308,,,D*5F
+$GPRMC,135013.00,A,5159.90128,N,00423.28545,E,34.994,165.89,120308,,,D*57
+$GPRMC,135014.00,A,5159.89160,N,00423.28961,E,36.507,165.61,120308,,,D*5C
+$GPRMC,135015.00,A,5159.88178,N,00423.29344,E,36.387,166.47,120308,,,D*50
+$GPRMC,135016.00,A,5159.87206,N,00423.29751,E,36.304,165.85,120308,,,D*50
+$GPRMC,135017.00,A,5159.86241,N,00423.30192,E,36.228,164.81,120308,,,D*58
+$GPRMC,135018.00,A,5159.85269,N,00423.30629,E,36.230,164.50,120308,,,D*5C
+$GPRMC,135019.00,A,5159.84297,N,00423.31089,E,36.381,163.99,120308,,,D*59
+$GPRMC,135020.00,A,5159.83323,N,00423.31548,E,36.965,163.20,120308,,,D*50
+$GPRMC,135021.00,A,5159.82304,N,00423.32002,E,38.080,164.95,120308,,,D*58
+$GPRMC,135022.00,A,5159.81248,N,00423.32459,E,38.958,164.89,120308,,,D*5A
+$GPRMC,135023.00,A,5159.80156,N,00423.32895,E,39.519,165.09,120308,,,D*5B
+$GPRMC,135024.00,A,5159.79098,N,00423.33325,E,38.988,165.23,120308,,,D*55
+$GPRMC,135025.00,A,5159.78046,N,00423.33710,E,38.179,165.30,120308,,,D*50
+$GPRMC,135026.00,A,5159.77030,N,00423.34155,E,37.715,165.51,120308,,,D*59
+$GPRMC,135027.00,A,5159.76005,N,00423.34574,E,38.026,165.41,120308,,,D*51
+$GPRMC,135028.00,A,5159.74980,N,00423.35012,E,38.119,165.41,120308,,,D*51
+$GPRMC,135029.00,A,5159.73949,N,00423.35490,E,39.046,162.57,120308,,,D*56
+$GPRMC,135030.00,A,5159.72908,N,00423.35880,E,38.529,167.90,120308,,,D*54
+$GPRMC,135031.00,A,5159.71899,N,00423.36283,E,37.500,165.69,120308,,,D*55
+$GPRMC,135032.00,A,5159.70941,N,00423.36715,E,36.301,165.13,120308,,,D*52
+$GPRMC,135033.00,A,5159.69967,N,00423.37137,E,36.279,165.24,120308,,,D*52
+$GPRMC,135034.00,A,5159.68997,N,00423.37540,E,36.174,165.32,120308,,,D*56
+$GPRMC,135035.00,A,5159.68036,N,00423.37941,E,35.614,165.13,120308,,,D*59
+$GPRMC,135036.00,A,5159.67096,N,00423.38338,E,35.382,165.29,120308,,,D*57
+$GPRMC,135037.00,A,5159.66154,N,00423.38749,E,35.146,165.12,120308,,,D*58
+$GPRMC,135038.00,A,5159.65224,N,00423.39155,E,34.614,165.09,120308,,,D*51
+$GPRMC,135039.00,A,5159.64317,N,00423.39554,E,33.834,165.02,120308,,,D*55
+$GPRMC,135040.00,A,5159.63421,N,00423.39955,E,33.194,165.04,120308,,,D*56
+$GPRMC,135041.00,A,5159.62536,N,00423.40345,E,32.751,164.88,120308,,,D*5F
+$GPRMC,135042.00,A,5159.61665,N,00423.40734,E,32.675,165.19,120308,,,D*56
+$GPRMC,135043.00,A,5159.60799,N,00423.41113,E,32.414,165.19,120308,,,D*53
+$GPRMC,135044.00,A,5159.59939,N,00423.41484,E,31.925,165.34,120308,,,D*52
+$GPRMC,135045.00,A,5159.59086,N,00423.41844,E,31.981,165.40,120308,,,D*53
+$GPRMC,135046.00,A,5159.58223,N,00423.42215,E,32.520,165.28,120308,,,D*5B
+$GPRMC,135047.00,A,5159.57346,N,00423.42588,E,32.771,165.36,120308,,,D*5D
+$GPRMC,135048.00,A,5159.56462,N,00423.42965,E,33.051,165.30,120308,,,D*5F
+$GPRMC,135049.00,A,5159.55565,N,00423.43350,E,33.703,165.22,120308,,,D*55
+$GPRMC,135050.00,A,5159.54657,N,00423.43741,E,34.100,165.13,120308,,,D*5A
+$GPRMC,135051.00,A,5159.53745,N,00423.44135,E,33.928,165.33,120308,,,D*5B
+$GPRMC,135052.00,A,5159.52848,N,00423.44512,E,33.389,165.47,120308,,,D*58
+$GPRMC,135053.00,A,5159.51954,N,00423.44901,E,33.213,164.80,120308,,,D*50
+$GPRMC,135054.00,A,5159.51071,N,00423.45297,E,32.733,164.70,120308,,,D*55
+$GPRMC,135055.00,A,5159.50204,N,00423.45686,E,32.176,164.96,120308,,,D*5E
+$GPRMC,135056.00,A,5159.49359,N,00423.46058,E,31.272,164.75,120308,,,D*53
+$GPRMC,135057.00,A,5159.48551,N,00423.46417,E,29.454,164.82,120308,,,D*51
+$GPRMC,135058.00,A,5159.47787,N,00423.46747,E,27.614,165.19,120308,,,D*55
+$GPRMC,135059.00,A,5159.47079,N,00423.47051,E,25.521,165.15,120308,,,D*58
+$GPRMC,135100.00,A,5159.46418,N,00423.47340,E,24.111,164.80,120308,,,D*5F
+$GPRMC,135101.00,A,5159.45791,N,00423.47610,E,22.919,165.23,120308,,,D*51
+$GPRMC,135102.00,A,5159.45199,N,00423.47853,E,21.345,165.58,120308,,,D*59
+$GPRMC,135103.00,A,5159.44670,N,00423.48074,E,18.842,165.63,120308,,,D*55
+$GPRMC,135104.00,A,5159.44203,N,00423.48266,E,16.652,165.63,120308,,,D*52
+$GPRMC,135105.00,A,5159.43792,N,00423.48450,E,15.035,165.60,120308,,,D*5D
+$GPRMC,135106.00,A,5159.43420,N,00423.48610,E,13.154,165.64,120308,,,D*56
+$GPRMC,135107.00,A,5159.43110,N,00423.48739,E,10.791,165.60,120308,,,D*53
+$GPRMC,135108.00,A,5159.42891,N,00423.48828,E,6.557,165.75,120308,,,D*69
+$GPRMC,135109.00,A,5159.42767,N,00423.48882,E,3.435,166.23,120308,,,D*6E
+$GPRMC,135110.00,A,5159.42712,N,00423.48909,E,1.338,166.26,120308,,,D*6B
+$GPRMC,135111.00,A,5159.42698,N,00423.48901,E,0.200,172.54,120308,,,D*6A
+$GPRMC,135112.00,A,5159.42708,N,00423.48902,E,0.141,174.23,120308,,,D*62
+$GPRMC,135113.00,A,5159.42717,N,00423.48900,E,0.004,,120308,,,D*72
+$GPRMC,135114.00,A,5159.42729,N,00423.48900,E,0.026,171.06,120308,,,D*67
+$GPRMC,135115.00,A,5159.42739,N,00423.48899,E,0.024,173.62,120308,,,D*64
+$GPRMC,135116.00,A,5159.42755,N,00423.48895,E,0.026,174.87,120308,,,D*6F
+$GPRMC,135117.00,A,5159.42769,N,00423.48888,E,0.019,177.14,120308,,,D*68
+$GPRMC,135118.00,A,5159.42783,N,00423.48882,E,0.056,181.23,120308,,,D*6F
+$GPRMC,135119.00,A,5159.42798,N,00423.48876,E,0.030,178.76,120308,,,D*69
+$GPRMC,135120.00,A,5159.42809,N,00423.48869,E,0.019,,120308,,,D*70
+$GPRMC,135121.00,A,5159.42819,N,00423.48860,E,0.015,,120308,,,D*75
+$GPRMC,135122.00,A,5159.42831,N,00423.48842,E,0.026,183.38,120308,,,D*63
+$GPRMC,135123.00,A,5159.42835,N,00423.48845,E,0.064,183.06,120308,,,D*6A
+$GPRMC,135124.00,A,5159.42838,N,00423.48838,E,0.072,184.79,120308,,,D*62
+$GPRMC,135125.00,A,5159.42840,N,00423.48833,E,0.067,185.89,120308,,,D*6D
+$GPRMC,135126.00,A,5159.42845,N,00423.48823,E,0.025,184.63,120308,,,D*69
+$GPRMC,135127.00,A,5159.42848,N,00423.48809,E,0.039,187.98,120308,,,D*67
+$GPRMC,135128.00,A,5159.42852,N,00423.48801,E,0.031,183.48,120308,,,D*6A
+$GPRMC,135129.00,A,5159.42854,N,00423.48798,E,0.068,183.48,120308,,,D*6E
+$GPRMC,135130.00,A,5159.42856,N,00423.48791,E,0.045,185.57,120308,,,D*6A
+$GPRMC,135131.00,A,5159.42857,N,00423.48787,E,0.210,183.78,120308,,,D*64
+$GPRMC,135132.00,A,5159.42852,N,00423.48789,E,0.819,182.67,120308,,,D*60
+$GPRMC,135133.00,A,5159.42837,N,00423.48794,E,0.689,181.30,120308,,,D*68
+$GPRMC,135134.00,A,5159.42826,N,00423.48802,E,0.489,180.04,120308,,,D*6B
+$GPRMC,135135.00,A,5159.42817,N,00423.48810,E,0.500,178.45,120308,,,D*69
+$GPRMC,135136.00,A,5159.42792,N,00423.48829,E,2.105,167.02,120308,,,D*6C
+$GPRMC,135137.00,A,5159.42721,N,00423.48861,E,3.654,166.13,120308,,,D*6A
+$GPRMC,135138.00,A,5159.42631,N,00423.48901,E,3.422,163.44,120308,,,D*66
+$GPRMC,135139.00,A,5159.42554,N,00423.48934,E,2.564,164.01,120308,,,D*65
+$GPRMC,135140.00,A,5159.42512,N,00423.48960,E,1.131,163.85,120308,,,D*64
+$GPRMC,135141.00,A,5159.42499,N,00423.48971,E,0.336,163.53,120308,,,D*68
+$GPRMC,135142.00,A,5159.42498,N,00423.48974,E,0.171,163.53,120308,,,D*6E
+$GPRMC,135143.00,A,5159.42502,N,00423.48976,E,0.060,163.27,120308,,,D*6D
+$GPRMC,135144.00,A,5159.42501,N,00423.48975,E,0.512,163.36,120308,,,D*6A
+$GPRMC,135145.00,A,5159.42483,N,00423.48987,E,1.412,163.40,120308,,,D*6C
+$GPRMC,135146.00,A,5159.42441,N,00423.49003,E,2.194,161.90,120308,,,D*62
+$GPRMC,135147.00,A,5159.42368,N,00423.49027,E,3.522,166.01,120308,,,D*6E
+$GPRMC,135148.00,A,5159.42250,N,00423.49085,E,5.562,163.64,120308,,,D*67
+$GPRMC,135149.00,A,5159.42093,N,00423.49167,E,6.393,163.52,120308,,,D*68
+$GPRMC,135150.00,A,5159.41925,N,00423.49243,E,6.694,164.42,120308,,,D*66
+$GPRMC,135151.00,A,5159.41753,N,00423.49315,E,6.471,164.79,120308,,,D*6B
+$GPRMC,135152.00,A,5159.41585,N,00423.49389,E,6.364,163.93,120308,,,D*64
+$GPRMC,135153.00,A,5159.41421,N,00423.49452,E,5.967,164.81,120308,,,D*65
+$GPRMC,135154.00,A,5159.41267,N,00423.49523,E,5.729,163.92,120308,,,D*60
+$GPRMC,135155.00,A,5159.41118,N,00423.49593,E,5.598,164.71,120308,,,D*63
+$GPRMC,135156.00,A,5159.40973,N,00423.49655,E,5.344,164.71,120308,,,D*6A
+$GPRMC,135157.00,A,5159.40830,N,00423.49716,E,5.155,164.72,120308,,,D*6A
+$GPRMC,135158.00,A,5159.40697,N,00423.49773,E,4.843,165.18,120308,,,D*67
+$GPRMC,135159.00,A,5159.40592,N,00423.49827,E,3.360,164.22,120308,,,D*6B
+$GPRMC,135200.00,A,5159.40535,N,00423.49853,E,1.220,164.52,120308,,,D*6A
+$GPRMC,135201.00,A,5159.40521,N,00423.49861,E,0.076,164.09,120308,,,D*61
+$GPRMC,135202.00,A,5159.40523,N,00423.49866,E,0.015,,120308,,,D*76
+$GPRMC,135203.00,A,5159.40511,N,00423.49877,E,1.210,164.28,120308,,,D*67
+$GPRMC,135204.00,A,5159.40441,N,00423.49909,E,4.047,164.68,120308,,,D*6D
+$GPRMC,135205.00,A,5159.40311,N,00423.49969,E,5.755,165.64,120308,,,D*60
+$GPRMC,135206.00,A,5159.40127,N,00423.50052,E,7.830,165.59,120308,,,D*6D
+$GPRMC,135207.00,A,5159.39903,N,00423.50152,E,8.792,165.78,120308,,,D*66
+$GPRMC,135208.00,A,5159.39658,N,00423.50258,E,9.325,165.89,120308,,,D*66
+$GPRMC,135209.00,A,5159.39406,N,00423.50375,E,9.609,165.12,120308,,,D*69
+$GPRMC,135210.00,A,5159.39137,N,00423.50484,E,10.117,165.24,120308,,,D*5A
+$GPRMC,135211.00,A,5159.38856,N,00423.50575,E,10.377,166.18,120308,,,D*53
+$GPRMC,135212.00,A,5159.38557,N,00423.50700,E,11.755,166.10,120308,,,D*51
+$GPRMC,135213.00,A,5159.38240,N,00423.50839,E,11.797,165.40,120308,,,D*5C
+$GPRMC,135214.00,A,5159.37934,N,00423.50957,E,10.801,168.11,120308,,,D*5D
+$GPRMC,135215.00,A,5159.37642,N,00423.51088,E,10.796,164.85,120308,,,D*58
+$GPRMC,135216.00,A,5159.37368,N,00423.51204,E,9.768,165.13,120308,,,D*67
+$GPRMC,135217.00,A,5159.37116,N,00423.51330,E,9.160,161.16,120308,,,D*64
+$GPRMC,135218.00,A,5159.36861,N,00423.51453,E,9.622,162.08,120308,,,D*6C
+$GPRMC,135219.00,A,5159.36637,N,00423.51552,E,8.016,163.64,120308,,,D*6B
+$GPRMC,135220.00,A,5159.36423,N,00423.51639,E,8.075,165.58,120308,,,D*64
+$GPRMC,135221.00,A,5159.36205,N,00423.51719,E,7.999,165.77,120308,,,D*6D
+$GPRMC,135222.00,A,5159.35986,N,00423.51796,E,8.929,165.32,120308,,,D*6F
+$GPRMC,135223.00,A,5159.35746,N,00423.51883,E,8.987,166.08,120308,,,D*69
+$GPRMC,135224.00,A,5159.35501,N,00423.51970,E,8.760,167.64,120308,,,D*6E
+$GPRMC,135225.00,A,5159.35254,N,00423.52071,E,9.316,165.90,120308,,,D*6E
+$GPRMC,135226.00,A,5159.34972,N,00423.52198,E,11.570,165.24,120308,,,D*55
+$GPRMC,135227.00,A,5159.34611,N,00423.52354,E,14.887,165.12,120308,,,D*59
+$GPRMC,135228.00,A,5159.34181,N,00423.52533,E,16.937,165.88,120308,,,D*54
+$GPRMC,135229.00,A,5159.33708,N,00423.52735,E,18.068,165.44,120308,,,D*5C
+$GPRMC,135230.00,A,5159.33201,N,00423.52950,E,19.424,164.57,120308,,,D*5B
+$GPRMC,135231.00,A,5159.32655,N,00423.53195,E,21.114,164.44,120308,,,D*51
+$GPRMC,135232.00,A,5159.32073,N,00423.53452,E,22.358,164.85,120308,,,D*5A
+$GPRMC,135233.00,A,5159.31457,N,00423.53725,E,23.659,165.45,120308,,,D*51
+$GPRMC,135234.00,A,5159.30793,N,00423.54001,E,25.289,165.47,120308,,,D*57
+$GPRMC,135235.00,A,5159.30104,N,00423.54297,E,25.592,164.54,120308,,,D*5D
+$GPRMC,135236.00,A,5159.29409,N,00423.54601,E,25.400,165.02,120308,,,D*5D
+$GPRMC,135237.00,A,5159.28738,N,00423.54886,E,24.335,165.07,120308,,,D*58
+$GPRMC,135238.00,A,5159.28113,N,00423.55146,E,21.949,165.17,120308,,,D*59
+$GPRMC,135239.00,A,5159.27526,N,00423.55392,E,21.381,165.35,120308,,,D*50
+$GPRMC,135240.00,A,5159.26937,N,00423.55637,E,22.141,165.43,120308,,,D*55
+$GPRMC,135241.00,A,5159.26330,N,00423.55889,E,22.351,165.45,120308,,,D*57
+$GPRMC,135242.00,A,5159.25728,N,00423.56140,E,21.788,165.52,120308,,,D*50
+$GPRMC,135243.00,A,5159.25148,N,00423.56386,E,20.854,165.01,120308,,,D*50
+$GPRMC,135244.00,A,5159.24587,N,00423.56630,E,20.228,165.08,120308,,,D*51
+$GPRMC,135245.00,A,5159.24029,N,00423.56870,E,20.816,165.20,120308,,,D*56
+$GPRMC,135246.00,A,5159.23457,N,00423.57116,E,21.422,164.74,120308,,,D*5D
+$GPRMC,135247.00,A,5159.22874,N,00423.57364,E,21.622,164.52,120308,,,D*51
+$GPRMC,135248.00,A,5159.22286,N,00423.57613,E,21.720,166.09,120308,,,D*53
+$GPRMC,135249.00,A,5159.21682,N,00423.57882,E,22.420,165.27,120308,,,D*58
+$GPRMC,135250.00,A,5159.21080,N,00423.58118,E,22.173,167.07,120308,,,D*52
+$GPRMC,135251.00,A,5159.20466,N,00423.58336,E,22.552,167.17,120308,,,D*56
+$GPRMC,135252.00,A,5159.19859,N,00423.58553,E,22.280,165.88,120308,,,D*56
+$GPRMC,135253.00,A,5159.19257,N,00423.58774,E,22.369,165.39,120308,,,D*58
+$GPRMC,135254.00,A,5159.18657,N,00423.59012,E,22.595,165.10,120308,,,D*52
+$GPRMC,135255.00,A,5159.18047,N,00423.59278,E,22.234,164.85,120308,,,D*5B
+$GPRMC,135256.00,A,5159.17440,N,00423.59535,E,22.506,165.26,120308,,,D*54
+$GPRMC,135257.00,A,5159.16839,N,00423.59776,E,22.119,165.46,120308,,,D*5F
+$GPRMC,135258.00,A,5159.16257,N,00423.60009,E,21.670,165.24,120308,,,D*58
+$GPRMC,135259.00,A,5159.15682,N,00423.60251,E,21.155,165.23,120308,,,D*5E
+$GPRMC,135300.00,A,5159.15123,N,00423.60481,E,20.550,165.26,120308,,,D*51
+$GPRMC,135301.00,A,5159.14571,N,00423.60716,E,20.761,165.02,120308,,,D*59
+$GPRMC,135302.00,A,5159.14002,N,00423.60966,E,21.474,165.38,120308,,,D*5D
+$GPRMC,135303.00,A,5159.13388,N,00423.61233,E,23.686,165.70,120308,,,D*51
+$GPRMC,135304.00,A,5159.12720,N,00423.61516,E,25.351,165.45,120308,,,D*5E
+$GPRMC,135305.00,A,5159.12031,N,00423.61827,E,25.880,164.59,120308,,,D*5C
+$GPRMC,135306.00,A,5159.11325,N,00423.62140,E,26.136,165.22,120308,,,D*5B
+$GPRMC,135307.00,A,5159.10611,N,00423.62455,E,27.013,165.83,120308,,,D*54
+$GPRMC,135308.00,A,5159.09873,N,00423.62765,E,27.614,165.47,120308,,,D*50
+$GPRMC,135309.00,A,5159.09114,N,00423.63084,E,28.260,165.10,120308,,,D*5A
+$GPRMC,135310.00,A,5159.08345,N,00423.63408,E,28.344,165.16,120308,,,D*54
+$GPRMC,135311.00,A,5159.07577,N,00423.63734,E,28.029,165.48,120308,,,D*52
+$GPRMC,135312.00,A,5159.06809,N,00423.64057,E,28.284,165.55,120308,,,D*58
+$GPRMC,135313.00,A,5159.06030,N,00423.64388,E,28.749,165.40,120308,,,D*5A
+$GPRMC,135314.00,A,5159.05243,N,00423.64727,E,28.968,165.16,120308,,,D*57
+$GPRMC,135315.00,A,5159.04453,N,00423.65072,E,29.198,165.21,120308,,,D*54
+$GPRMC,135316.00,A,5159.03653,N,00423.65424,E,29.778,165.21,120308,,,D*5D
+$GPRMC,135317.00,A,5159.02837,N,00423.65780,E,30.208,165.27,120308,,,D*50
+$GPRMC,135318.00,A,5159.02014,N,00423.66134,E,30.369,165.21,120308,,,D*5C
+$GPRMC,135319.00,A,5159.01188,N,00423.66485,E,30.408,165.29,120308,,,D*5D
+$GPRMC,135320.00,A,5159.00355,N,00423.66836,E,30.793,165.11,120308,,,D*5A
+$GPRMC,135321.00,A,5158.99505,N,00423.67157,E,30.946,165.15,120308,,,D*54
+$GPRMC,135322.00,A,5158.98672,N,00423.67501,E,30.509,164.11,120308,,,D*50
+$GPRMC,135323.00,A,5158.97806,N,00423.67859,E,32.565,166.14,120308,,,D*5C
+$GPRMC,135324.00,A,5158.96868,N,00423.68237,E,34.368,165.49,120308,,,D*59
+$GPRMC,135325.00,A,5158.95895,N,00423.68659,E,35.460,165.48,120308,,,D*5A
+$GPRMC,135326.00,A,5158.94881,N,00423.69122,E,37.339,164.71,120308,,,D*55
+$GPRMC,135327.00,A,5158.93833,N,00423.69622,E,38.150,164.68,120308,,,D*57
+$GPRMC,135328.00,A,5158.92765,N,00423.70154,E,38.988,164.36,120308,,,D*5D
+$GPRMC,135329.00,A,5158.91698,N,00423.70625,E,39.271,165.06,120308,,,D*53
+$GPRMC,135330.00,A,5158.90622,N,00423.71093,E,39.325,164.61,120308,,,D*51
+$GPRMC,135331.00,A,5158.89543,N,00423.71558,E,39.905,164.61,120308,,,D*56
+$GPRMC,135332.00,A,5158.88428,N,00423.72147,E,40.909,163.02,120308,,,D*51
+$GPRMC,135333.00,A,5158.87330,N,00423.72615,E,40.962,164.97,120308,,,D*57
+$GPRMC,135334.00,A,5158.86244,N,00423.73043,E,41.015,164.90,120308,,,D*58
+$GPRMC,135335.00,A,5158.85136,N,00423.73493,E,41.016,164.78,120308,,,D*50
+$GPRMC,135336.00,A,5158.84023,N,00423.73943,E,40.798,165.28,120308,,,D*53
+$GPRMC,135337.00,A,5158.82928,N,00423.74403,E,40.321,165.38,120308,,,D*5F
+$GPRMC,135338.00,A,5158.81840,N,00423.74850,E,40.385,165.26,120308,,,D*57
+$GPRMC,135339.00,A,5158.80753,N,00423.75304,E,40.577,165.06,120308,,,D*58
+$GPRMC,135340.00,A,5158.79659,N,00423.75779,E,40.758,165.00,120308,,,D*5C
+$GPRMC,135341.00,A,5158.78557,N,00423.76252,E,40.815,165.06,120308,,,D*5E
+$GPRMC,135342.00,A,5158.77458,N,00423.76739,E,41.208,165.27,120308,,,D*50
+$GPRMC,135343.00,A,5158.76352,N,00423.77226,E,41.342,165.29,120308,,,D*56
+$GPRMC,135344.00,A,5158.75241,N,00423.77706,E,41.330,165.40,120308,,,D*5C
+$GPRMC,135345.00,A,5158.74135,N,00423.78156,E,41.168,165.37,120308,,,D*5F
+$GPRMC,135346.00,A,5158.73037,N,00423.78624,E,41.009,165.14,120308,,,D*5D
+$GPRMC,135347.00,A,5158.71938,N,00423.79105,E,41.187,164.62,120308,,,D*5A
+$GPRMC,135348.00,A,5158.70835,N,00423.79582,E,41.244,165.25,120308,,,D*5D
+$GPRMC,135349.00,A,5158.69726,N,00423.80050,E,41.214,165.22,120308,,,D*57
+$GPRMC,135350.00,A,5158.68621,N,00423.80523,E,41.046,165.18,120308,,,D*55
+$GPRMC,135351.00,A,5158.67522,N,00423.80992,E,41.056,165.28,120308,,,D*5F
+$GPRMC,135352.00,A,5158.66419,N,00423.81456,E,41.574,165.66,120308,,,D*5F
+$GPRMC,135353.00,A,5158.65287,N,00423.81928,E,42.565,165.33,120308,,,D*5B
+$GPRMC,135354.00,A,5158.64133,N,00423.82437,E,43.512,165.01,120308,,,D*51
+$GPRMC,135355.00,A,5158.62947,N,00423.82947,E,44.575,165.00,120308,,,D*50
+$GPRMC,135356.00,A,5158.61733,N,00423.83475,E,45.717,165.20,120308,,,D*55
+$GPRMC,135357.00,A,5158.60496,N,00423.84005,E,46.206,165.07,120308,,,D*5E
+$GPRMC,135358.00,A,5158.59250,N,00423.84539,E,46.454,165.06,120308,,,D*5D
+$GPRMC,135359.00,A,5158.58001,N,00423.85069,E,46.455,165.22,120308,,,D*5D
+$GPRMC,135400.00,A,5158.56751,N,00423.85600,E,46.460,165.40,120308,,,D*51
+$GPRMC,135401.00,A,5158.55504,N,00423.86127,E,46.213,165.30,120308,,,D*55
+$GPRMC,135402.00,A,5158.54269,N,00423.86652,E,45.689,165.06,120308,,,D*5F
+$GPRMC,135403.00,A,5158.53038,N,00423.87179,E,45.889,165.24,120308,,,D*5E
+$GPRMC,135404.00,A,5158.51797,N,00423.87703,E,46.418,165.29,120308,,,D*58
+$GPRMC,135405.00,A,5158.50540,N,00423.88235,E,46.974,165.22,120308,,,D*53
+$GPRMC,135406.00,A,5158.49268,N,00423.88778,E,47.465,165.05,120308,,,D*50
+$GPRMC,135407.00,A,5158.47987,N,00423.89329,E,47.719,165.11,120308,,,D*59
+$GPRMC,135408.00,A,5158.46709,N,00423.89875,E,47.248,164.96,120308,,,D*52
+$GPRMC,135409.00,A,5158.45434,N,00423.90413,E,47.631,165.51,120308,,,D*59
+$GPRMC,135410.00,A,5158.44138,N,00423.90942,E,48.658,166.29,120308,,,D*5C
+$GPRMC,135411.00,A,5158.42802,N,00423.91463,E,50.123,166.57,120308,,,D*5F
+$GPRMC,135412.00,A,5158.41434,N,00423.91987,E,51.066,167.11,120308,,,D*53
+$GPRMC,135413.00,A,5158.40040,N,00423.92506,E,51.677,166.81,120308,,,D*5C
+$GPRMC,135414.00,A,5158.38639,N,00423.93042,E,51.746,166.29,120308,,,D*59
+$GPRMC,135415.00,A,5158.37247,N,00423.93597,E,51.265,165.75,120308,,,D*59
+$GPRMC,135416.00,A,5158.35875,N,00423.94166,E,50.614,165.19,120308,,,D*57
+$GPRMC,135417.00,A,5158.34521,N,00423.94743,E,50.189,164.98,120308,,,D*51
+$GPRMC,135418.00,A,5158.33177,N,00423.95319,E,49.895,165.12,120308,,,D*5B
+$GPRMC,135419.00,A,5158.31843,N,00423.95890,E,49.398,164.90,120308,,,D*51
+$GPRMC,135420.00,A,5158.30527,N,00423.96463,E,48.821,164.74,120308,,,D*54
+$GPRMC,135421.00,A,5158.29224,N,00423.97049,E,48.583,163.80,120308,,,D*5D
+$GPRMC,135422.00,A,5158.27940,N,00423.97699,E,48.509,161.85,120308,,,D*57
+$GPRMC,135423.00,A,5158.26665,N,00423.98395,E,48.556,160.63,120308,,,D*5A
+$GPRMC,135424.00,A,5158.25402,N,00423.99142,E,48.388,159.70,120308,,,D*59
+$GPRMC,135425.00,A,5158.24146,N,00423.99943,E,48.872,158.65,120308,,,D*5E
+$GPRMC,135426.00,A,5158.22888,N,00424.00805,E,49.584,156.83,120308,,,D*57
+$GPRMC,135427.00,A,5158.21627,N,00424.01736,E,50.202,155.09,120308,,,D*50
+$GPRMC,135428.00,A,5158.20363,N,00424.02741,E,51.294,153.87,120308,,,D*56
+$GPRMC,135429.00,A,5158.19094,N,00424.03775,E,50.696,154.00,120308,,,D*5F
+$GPRMC,135430.00,A,5158.17836,N,00424.04798,E,50.424,154.04,120308,,,D*52
+$GPRMC,135431.00,A,5158.16582,N,00424.05806,E,50.300,154.33,120308,,,D*5C
+$GPRMC,135432.00,A,5158.15321,N,00424.06810,E,50.708,154.19,120308,,,D*53
+$GPRMC,135433.00,A,5158.14059,N,00424.07804,E,50.347,154.77,120308,,,D*5C
+$GPRMC,135434.00,A,5158.12780,N,00424.08811,E,51.273,154.54,120308,,,D*53
+$GPRMC,135435.00,A,5158.11498,N,00424.09806,E,51.301,154.49,120308,,,D*54
+$GPRMC,135436.00,A,5158.10211,N,00424.10820,E,51.291,154.27,120308,,,D*5D
+$GPRMC,135437.00,A,5158.08929,N,00424.11837,E,51.051,154.13,120308,,,D*5B
+$GPRMC,135438.00,A,5158.07653,N,00424.12853,E,51.151,154.15,120308,,,D*5F
+$GPRMC,135439.00,A,5158.06380,N,00424.13853,E,51.049,154.38,120308,,,D*52
+$GPRMC,135440.00,A,5158.05112,N,00424.14830,E,50.604,154.44,120308,,,D*51
+$GPRMC,135441.00,A,5158.03858,N,00424.15798,E,50.409,154.21,120308,,,D*51
+$GPRMC,135442.00,A,5158.02607,N,00424.16763,E,50.387,154.44,120308,,,D*52
+$GPRMC,135443.00,A,5158.01361,N,00424.17729,E,49.783,154.41,120308,,,D*57
+$GPRMC,135444.00,A,5158.00122,N,00424.18699,E,49.405,154.37,120308,,,D*5D
+$GPRMC,135445.00,A,5157.98894,N,00424.19649,E,49.097,154.48,120308,,,D*5D
+$GPRMC,135446.00,A,5157.97669,N,00424.20593,E,48.968,154.31,120308,,,D*55
+$GPRMC,135447.00,A,5157.96453,N,00424.21512,E,48.118,155.08,120308,,,D*52
+$GPRMC,135448.00,A,5157.95244,N,00424.22409,E,47.878,155.68,120308,,,D*50
+$GPRMC,135449.00,A,5157.94040,N,00424.23268,E,47.110,156.68,120308,,,D*52
+$GPRMC,135450.00,A,5157.92811,N,00424.24186,E,47.718,155.69,120308,,,D*58
+$GPRMC,135451.00,A,5157.91610,N,00424.25072,E,47.145,155.41,120308,,,D*5A
+$GPRMC,135452.00,A,5157.90415,N,00424.25985,E,46.747,154.83,120308,,,D*54
+$GPRMC,135453.00,A,5157.89252,N,00424.26879,E,46.246,154.46,120308,,,D*54
+$GPRMC,135454.00,A,5157.88094,N,00424.27775,E,45.937,154.32,120308,,,D*55
+$GPRMC,135455.00,A,5157.86944,N,00424.28670,E,45.767,154.49,120308,,,D*52
+$GPRMC,135456.00,A,5157.85810,N,00424.29532,E,45.737,154.21,120308,,,D*5D
+$GPRMC,135457.00,A,5157.84671,N,00424.30418,E,45.611,154.24,120308,,,D*55
+$GPRMC,135458.00,A,5157.83531,N,00424.31304,E,45.515,154.47,120308,,,D*53
+$GPRMC,135459.00,A,5157.82393,N,00424.32179,E,45.232,154.83,120308,,,D*5C
+$GPRMC,135500.00,A,5157.81258,N,00424.33062,E,45.144,154.64,120308,,,D*55
+$GPRMC,135501.00,A,5157.80129,N,00424.33959,E,44.955,154.30,120308,,,D*59
+$GPRMC,135502.00,A,5157.79014,N,00424.34839,E,44.891,153.96,120308,,,D*51
+$GPRMC,135503.00,A,5157.77902,N,00424.35706,E,44.178,154.68,120308,,,D*5A
+$GPRMC,135504.00,A,5157.76787,N,00424.36570,E,44.025,154.61,120308,,,D*5F
+$GPRMC,135505.00,A,5157.75692,N,00424.37425,E,43.061,154.41,120308,,,D*5D
+$GPRMC,135506.00,A,5157.74617,N,00424.38280,E,42.804,153.63,120308,,,D*59
+$GPRMC,135507.00,A,5157.73557,N,00424.39137,E,41.969,153.66,120308,,,D*5A
+$GPRMC,135508.00,A,5157.72537,N,00424.39948,E,40.523,154.04,120308,,,D*52
+$GPRMC,135509.00,A,5157.71550,N,00424.40729,E,38.644,154.23,120308,,,D*5E
+$GPRMC,135510.00,A,5157.70601,N,00424.41466,E,37.366,154.40,120308,,,D*56
+$GPRMC,135511.00,A,5157.69695,N,00424.42174,E,36.406,154.09,120308,,,D*5A
+$GPRMC,135512.00,A,5157.68805,N,00424.42857,E,35.849,154.32,120308,,,D*5B
+$GPRMC,135513.00,A,5157.67929,N,00424.43530,E,35.387,154.71,120308,,,D*59
+$GPRMC,135514.00,A,5157.67057,N,00424.44185,E,34.881,155.07,120308,,,D*5F
+$GPRMC,135515.00,A,5157.66194,N,00424.44830,E,34.618,154.87,120308,,,D*51
+$GPRMC,135516.00,A,5157.65336,N,00424.45482,E,34.654,154.22,120308,,,D*58
+$GPRMC,135517.00,A,5157.64487,N,00424.46163,E,34.540,153.86,120308,,,D*53
+$GPRMC,135518.00,A,5157.63638,N,00424.46828,E,34.416,153.88,120308,,,D*57
+$GPRMC,135519.00,A,5157.62789,N,00424.47502,E,34.025,154.15,120308,,,D*5F
+$GPRMC,135520.00,A,5157.61953,N,00424.48170,E,33.786,153.83,120308,,,D*50
+$GPRMC,135521.00,A,5157.61126,N,00424.48831,E,33.679,153.60,120308,,,D*5B
+$GPRMC,135522.00,A,5157.60300,N,00424.49492,E,33.628,153.99,120308,,,D*59
+$GPRMC,135523.00,A,5157.59464,N,00424.50147,E,33.548,154.35,120308,,,D*56
+$GPRMC,135524.00,A,5157.58633,N,00424.50799,E,33.451,154.26,120308,,,D*5E
+$GPRMC,135525.00,A,5157.57798,N,00424.51458,E,33.749,154.10,120308,,,D*50
+$GPRMC,135526.00,A,5157.56954,N,00424.52130,E,34.238,153.95,120308,,,D*5A
+$GPRMC,135527.00,A,5157.56093,N,00424.52819,E,34.769,153.85,120308,,,D*5B
+$GPRMC,135528.00,A,5157.55222,N,00424.53499,E,34.872,154.37,120308,,,D*51
+$GPRMC,135529.00,A,5157.54345,N,00424.54184,E,35.405,154.41,120308,,,D*53
+$GPRMC,135530.00,A,5157.53467,N,00424.54848,E,34.412,155.11,120308,,,D*51
+$GPRMC,135531.00,A,5157.52605,N,00424.55503,E,34.323,154.50,120308,,,D*55
+$GPRMC,135532.00,A,5157.51748,N,00424.56159,E,34.040,154.53,120308,,,D*50
+$GPRMC,135533.00,A,5157.50889,N,00424.56833,E,34.341,154.32,120308,,,D*52
+$GPRMC,135534.00,A,5157.50037,N,00424.57485,E,34.456,154.56,120308,,,D*5B
+$GPRMC,135535.00,A,5157.49187,N,00424.58130,E,34.303,154.55,120308,,,D*58
+$GPRMC,135536.00,A,5157.48336,N,00424.58785,E,34.225,154.33,120308,,,D*5F
+$GPRMC,135537.00,A,5157.47482,N,00424.59450,E,34.448,153.94,120308,,,D*54
+$GPRMC,135538.00,A,5157.46621,N,00424.60122,E,34.455,154.23,120308,,,D*5C
+$GPRMC,135539.00,A,5157.45757,N,00424.60793,E,34.423,154.51,120308,,,D*56
+$GPRMC,135540.00,A,5157.44895,N,00424.61458,E,34.061,154.52,120308,,,D*5C
+$GPRMC,135541.00,A,5157.44049,N,00424.62105,E,33.232,154.58,120308,,,D*53
+$GPRMC,135542.00,A,5157.43214,N,00424.62753,E,32.972,154.50,120308,,,D*5E
+$GPRMC,135543.00,A,5157.42394,N,00424.63394,E,32.407,154.35,120308,,,D*55
+$GPRMC,135544.00,A,5157.41585,N,00424.64041,E,32.306,153.82,120308,,,D*56
+$GPRMC,135545.00,A,5157.40773,N,00424.64696,E,32.913,153.73,120308,,,D*51
+$GPRMC,135546.00,A,5157.39952,N,00424.65358,E,33.042,153.84,120308,,,D*53
+$GPRMC,135547.00,A,5157.39129,N,00424.66010,E,32.941,154.39,120308,,,D*50
+$GPRMC,135548.00,A,5157.38300,N,00424.66658,E,33.446,154.62,120308,,,D*58
+$GPRMC,135549.00,A,5157.37451,N,00424.67316,E,34.301,154.68,120308,,,D*52
+$GPRMC,135550.00,A,5157.36582,N,00424.67991,E,35.047,154.37,120308,,,D*5B
+$GPRMC,135551.00,A,5157.35699,N,00424.68683,E,35.534,154.17,120308,,,D*50
+$GPRMC,135552.00,A,5157.34805,N,00424.69383,E,35.695,154.33,120308,,,D*53
+$GPRMC,135553.00,A,5157.33912,N,00424.70091,E,35.888,154.27,120308,,,D*5D
+$GPRMC,135554.00,A,5157.33008,N,00424.70799,E,36.223,154.35,120308,,,D*5C
+$GPRMC,135555.00,A,5157.32100,N,00424.71509,E,36.286,154.32,120308,,,D*57
+$GPRMC,135556.00,A,5157.31187,N,00424.72227,E,36.587,154.02,120308,,,D*55
+$GPRMC,135557.00,A,5157.30277,N,00424.72943,E,36.068,154.17,120308,,,D*50
+$GPRMC,135558.00,A,5157.29395,N,00424.73609,E,34.604,155.17,120308,,,D*55
+$GPRMC,135559.00,A,5157.28529,N,00424.74260,E,34.165,154.91,120308,,,D*57
+$GPRMC,135600.00,A,5157.27684,N,00424.74890,E,33.121,155.29,120308,,,D*53
+$GPRMC,135601.00,A,5157.26865,N,00424.75485,E,32.379,155.48,120308,,,D*52
+$GPRMC,135602.00,A,5157.26074,N,00424.76038,E,30.646,156.20,120308,,,D*5E
+$GPRMC,135603.00,A,5157.25365,N,00424.76504,E,26.872,156.77,120308,,,D*59
+$GPRMC,135604.00,A,5157.24737,N,00424.76944,E,23.190,156.80,120308,,,A*59
+$GPRMC,135605.00,A,5157.24183,N,00424.77335,E,21.497,157.11,120308,,,A*55
+$GPRMC,135606.00,A,5157.23744,N,00424.77671,E,16.903,153.67,120308,,,A*58
+$GPRMC,135607.00,A,5157.23436,N,00424.77888,E,12.433,156.38,120308,,,A*52
+$GPRMC,135608.00,A,5157.23176,N,00424.78095,E,10.165,155.59,120308,,,A*57
+$GPRMC,135609.00,A,5157.22974,N,00424.78258,E,7.875,156.32,120308,,,A*6E
+$GPRMC,135610.00,A,5157.22805,N,00424.78396,E,6.747,156.18,120308,,,A*65
+$GPRMC,135611.00,A,5157.22647,N,00424.78508,E,6.051,156.67,120308,,,A*65
+$GPRMC,135612.00,A,5157.22505,N,00424.78626,E,5.676,155.85,120308,,,A*63
+$GPRMC,135613.00,A,5157.22371,N,00424.78733,E,5.514,154.30,120308,,,A*6A
+$GPRMC,135614.00,A,5157.22240,N,00424.78819,E,4.914,155.22,120308,,,A*66
+$GPRMC,135615.00,A,5157.22132,N,00424.78914,E,3.492,155.74,120308,,,A*6A
+$GPRMC,135616.00,A,5157.22057,N,00424.78972,E,1.973,156.17,120308,,,A*6D
+$GPRMC,135617.00,A,5157.22014,N,00424.79008,E,1.197,156.79,120308,,,A*64
+$GPRMC,135618.00,A,5157.21984,N,00424.79022,E,1.368,156.47,120308,,,A*6F
+$GPRMC,135619.00,A,5157.21948,N,00424.79036,E,1.444,156.75,120308,,,A*63
+$GPRMC,135620.00,A,5157.21921,N,00424.79037,E,0.559,158.57,120308,,,A*65
+$GPRMC,135621.00,A,5157.21947,N,00424.78975,E,1.073,167.95,120308,,,A*64
+$GPRMC,135622.00,A,5157.21966,N,00424.78926,E,1.556,176.11,120308,,,A*6C
+$GPRMC,135623.00,A,5157.21986,N,00424.78875,E,1.206,184.20,120308,,,A*69
+$GPRMC,135624.00,A,5157.21981,N,00424.78839,E,1.008,189.21,120308,,,A*61
+$GPRMC,135625.00,A,5157.21993,N,00424.78804,E,0.551,193.75,120308,,,A*6F
+$GPRMC,135626.00,A,5157.21945,N,00424.78938,E,2.492,185.89,120308,,,A*61
+$GPRMC,135627.00,A,5157.21877,N,00424.78990,E,2.750,166.23,120308,,,A*62
+$GPRMC,135628.00,A,5157.21828,N,00424.79030,E,2.449,153.77,120308,,,A*69
+$GPRMC,135629.00,A,5157.21784,N,00424.79099,E,2.939,151.88,120308,,,A*6A
+$GPRMC,135630.00,A,5157.21745,N,00424.79159,E,2.219,145.25,120308,,,A*69
+$GPRMC,135631.00,A,5157.21711,N,00424.79182,E,1.744,146.60,120308,,,A*63
+$GPRMC,135632.00,A,5157.21696,N,00424.79160,E,1.311,149.19,120308,,,A*67
+$GPRMC,135633.00,A,5157.21729,N,00424.79130,E,1.129,156.70,120308,,,A*6E
+$GPRMC,135634.00,A,5157.21709,N,00424.79164,E,0.837,160.11,120308,,,A*6F
+$GPRMC,135635.00,A,5157.21666,N,00424.79257,E,1.559,158.42,120308,,,A*6C
+$GPRMC,135636.00,A,5157.21642,N,00424.79289,E,1.805,157.55,120308,,,A*67
+$GPRMC,135637.00,A,5157.21615,N,00424.79351,E,1.939,156.95,120308,,,A*63
+$GPRMC,135638.00,A,5157.21601,N,00424.79405,E,2.241,162.37,120308,,,A*67
+$GPRMC,135639.00,A,5157.21590,N,00424.79466,E,1.910,161.23,120308,,,A*62
+$GPRMC,135640.00,A,5157.21636,N,00424.79518,E,2.481,112.43,120308,,,A*6F
+$GPRMC,135641.00,A,5157.21671,N,00424.79510,E,1.187,115.62,120308,,,A*61
+$GPRMC,135642.00,A,5157.21678,N,00424.79524,E,1.449,119.87,120308,,,A*6C
+$GPRMC,135643.00,A,5157.21689,N,00424.79576,E,1.660,121.80,120308,,,A*61
+$GPRMC,135644.00,A,5157.21685,N,00424.79772,E,1.557,121.76,120308,,,A*62
+$GPRMC,135645.00,A,5157.21735,N,00424.79785,E,1.146,121.04,120308,,,A*60
+$GPRMC,135646.00,A,5157.21748,N,00424.79831,E,1.184,120.59,120308,,,A*6E
+$GPRMC,135647.00,A,5157.21797,N,00424.79806,E,0.159,116.49,120308,,,A*6C
+$GPRMC,135648.00,A,5157.21871,N,00424.79721,E,0.098,117.15,120308,,,A*6A
+$GPRMC,135649.00,A,5157.21883,N,00424.79688,E,0.264,117.83,120308,,,A*6A
+$GPRMC,135650.00,A,5157.21927,N,00424.79610,E,1.069,124.67,120308,,,A*68
+$GPRMC,135651.00,A,5157.21884,N,00424.79652,E,2.898,164.23,120308,,,A*66
+$GPRMC,135652.00,A,5157.21828,N,00424.79735,E,3.050,143.62,120308,,,A*6E
+$GPRMC,135653.00,A,5157.21710,N,00424.79860,E,4.879,153.51,120308,,,A*61
+$GPRMC,135654.00,A,5157.21514,N,00424.80104,E,6.486,148.83,120308,,,A*66
+$GPRMC,135655.00,A,5157.21297,N,00424.80333,E,6.784,152.50,120308,,,A*69
+$GPRMC,135656.00,A,5157.21101,N,00424.80516,E,7.475,151.80,120308,,,A*65
+$GPRMC,135657.00,A,5157.20925,N,00424.80636,E,6.978,155.33,120308,,,A*67
+$GPRMC,135658.00,A,5157.20700,N,00424.80813,E,7.403,158.82,120308,,,A*6F
+$GPRMC,135659.00,A,5157.20496,N,00424.81057,E,6.548,147.86,120308,,,A*6E
+$GPRMC,135700.00,A,5157.20358,N,00424.81174,E,4.491,152.15,120308,,,A*6F
+$GPRMC,135701.00,A,5157.20234,N,00424.81299,E,4.770,161.49,120308,,,A*60
+$GPRMC,135702.00,A,5157.20112,N,00424.81347,E,4.905,166.27,120308,,,A*65
+$GPRMC,135703.00,A,5157.20024,N,00424.81385,E,3.906,153.74,120308,,,A*6A
+$GPRMC,135704.00,A,5157.19932,N,00424.81485,E,2.895,146.94,120308,,,A*6E
+$GPRMC,135705.00,A,5157.19865,N,00424.81523,E,2.041,147.28,120308,,,A*66
+$GPRMC,135706.00,A,5157.19800,N,00424.81537,E,1.719,148.41,120308,,,A*6A
+$GPRMC,135707.00,A,5157.19764,N,00424.81567,E,1.801,149.06,120308,,,A*67
+$GPRMC,135708.00,A,5157.19754,N,00424.81598,E,1.506,150.12,120308,,,A*6C
+$GPRMC,135709.00,A,5157.19724,N,00424.81577,E,1.819,152.63,120308,,,A*6C
+$GPRMC,135710.00,A,5157.19683,N,00424.81600,E,2.080,153.36,120308,,,A*61
+$GPRMC,135711.00,A,5157.19631,N,00424.81578,E,2.156,179.35,120308,,,A*64
+$GPRMC,135712.00,A,5157.19560,N,00424.81582,E,2.683,169.23,120308,,,A*6C
+$GPRMC,135713.00,A,5157.19482,N,00424.81601,E,2.538,154.96,120308,,,A*6B
+$GPRMC,135714.00,A,5157.19418,N,00424.81652,E,2.262,133.29,120308,,,A*64
+$GPRMC,135715.00,A,5157.19332,N,00424.81691,E,2.825,146.10,120308,,,A*64
+$GPRMC,135716.00,A,5157.19248,N,00424.81713,E,3.027,157.89,120308,,,A*6B
+$GPRMC,135717.00,A,5157.19142,N,00424.81807,E,4.865,144.42,120308,,,A*65
+$GPRMC,135718.00,A,5157.19070,N,00424.81837,E,3.092,144.79,120308,,,A*66
+$GPRMC,135719.00,A,5157.18991,N,00424.81880,E,2.779,155.84,120308,,,A*6D
+$GPRMC,135720.00,A,5157.18958,N,00424.81888,E,0.869,153.83,120308,,,A*67
+$GPRMC,135721.00,A,5157.18960,N,00424.81873,E,0.377,158.55,120308,,,A*6D
+$GPRMC,135722.00,A,5157.18985,N,00424.81914,E,1.049,150.66,120308,,,A*62
+$GPRMC,135723.00,A,5157.18989,N,00424.81921,E,0.393,155.40,120308,,,A*6D
+$GPRMC,135724.00,A,5157.18991,N,00424.81947,E,0.420,150.95,120308,,,A*61
+$GPRMC,135725.00,A,5157.18985,N,00424.81997,E,0.860,149.86,120308,,,A*6A
+$GPRMC,135726.00,A,5157.18983,N,00424.81997,E,1.040,147.14,120308,,,A*61
+$GPRMC,135727.00,A,5157.18998,N,00424.81983,E,0.225,145.61,120308,,,A*6F
+$GPRMC,135728.00,A,5157.19007,N,00424.81975,E,0.199,140.33,120308,,,A*61
+$GPRMC,135729.00,A,5157.19032,N,00424.81993,E,0.329,134.30,120308,,,A*67
+$GPRMC,135730.00,A,5157.19062,N,00424.82000,E,0.713,127.06,120308,,,A*60
+$GPRMC,135731.00,A,5157.19090,N,00424.81989,E,0.542,121.48,120308,,,A*6D
+$GPRMC,135732.00,A,5157.19133,N,00424.81982,E,0.466,112.52,120308,,,A*61
+$GPRMC,135733.00,A,5157.19153,N,00424.81981,E,0.436,103.29,120308,,,A*6C
+$GPRMC,135734.00,A,5157.19194,N,00424.81926,E,1.676,93.82,120308,,,A*53
+$GPRMC,135735.00,A,5157.19202,N,00424.81915,E,0.341,82.90,120308,,,A*5D
+$GPRMC,135736.00,A,5157.19205,N,00424.81877,E,1.147,92.94,120308,,,A*5C
+$GPRMC,135737.00,A,5157.19181,N,00424.81958,E,1.037,96.95,120308,,,A*5D
+$GPRMC,135738.00,A,5157.19165,N,00424.81960,E,0.919,102.83,120308,,,A*6C
+$GPRMC,135739.00,A,5157.19079,N,00424.82014,E,2.971,171.32,120308,,,A*6A
+$GPRMC,135740.00,A,5157.18981,N,00424.82111,E,3.554,144.46,120308,,,A*60
+$GPRMC,135741.00,A,5157.18901,N,00424.82129,E,3.693,166.00,120308,,,A*68
+$GPRMC,135742.00,A,5157.18785,N,00424.82287,E,3.413,137.06,120308,,,A*66
+$GPRMC,135743.00,A,5157.18735,N,00424.82331,E,2.983,140.38,120308,,,A*68
+$GPRMC,135744.00,A,5157.18635,N,00424.82426,E,3.610,144.80,120308,,,A*6C
+$GPRMC,135745.00,A,5157.18552,N,00424.82502,E,2.860,146.53,120308,,,A*6C
+$GPRMC,135746.00,A,5157.18419,N,00424.82667,E,3.144,138.81,120308,,,A*69
+$GPRMC,135747.00,A,5157.18320,N,00424.82776,E,2.336,147.51,120308,,,A*67
+$GPRMC,135748.00,A,5157.18226,N,00424.82805,E,2.722,155.82,120308,,,A*68
+$GPRMC,135749.00,A,5157.18172,N,00424.82793,E,1.756,155.48,120308,,,A*6D
+$GPRMC,135750.00,A,5157.18126,N,00424.82815,E,1.501,155.22,120308,,,A*69
+$GPRMC,135751.00,A,5157.18071,N,00424.82811,E,1.152,155.78,120308,,,A*62
+$GPRMC,135752.00,A,5157.18039,N,00424.82792,E,0.661,155.91,120308,,,A*68
+$GPRMC,135753.00,A,5157.17991,N,00424.82781,E,1.116,157.39,120308,,,A*69
+$GPRMC,135754.00,A,5157.17956,N,00424.82781,E,0.938,156.93,120308,,,A*61
+$GPRMC,135755.00,A,5157.17932,N,00424.82782,E,0.981,157.91,120308,,,A*60
+$GPRMC,135756.00,A,5157.17892,N,00424.82794,E,1.088,156.38,120308,,,A*6C
+$GPRMC,135757.00,A,5157.17852,N,00424.82806,E,0.950,156.32,120308,,,A*62
+$GPRMC,135758.00,A,5157.17837,N,00424.82821,E,0.736,155.10,120308,,,A*66
+$GPRMC,135759.00,A,5157.17785,N,00424.82830,E,0.995,155.20,120308,,,A*65
+$GPRMC,135800.00,A,5157.17763,N,00424.82844,E,0.552,156.67,120308,,,A*6A
+$GPRMC,135801.00,A,5157.17760,N,00424.82867,E,0.549,155.93,120308,,,A*6B
+$GPRMC,135802.00,A,5157.17754,N,00424.82882,E,0.951,154.65,120308,,,A*69
+$GPRMC,135803.00,A,5157.17766,N,00424.82886,E,1.032,152.24,120308,,,A*63
+$GPRMC,135804.00,A,5157.17757,N,00424.82791,E,0.404,148.45,120308,,,A*63
+$GPRMC,135805.00,A,5157.17757,N,00424.82724,E,0.976,146.11,120308,,,A*6B
+$GPRMC,135806.00,A,5157.17731,N,00424.82702,E,1.141,145.75,120308,,,A*60
+$GPRMC,135807.00,A,5157.17727,N,00424.82675,E,0.946,142.95,120308,,,A*60
+$GPRMC,135808.00,A,5157.17686,N,00424.82636,E,1.424,144.39,120308,,,A*6A
+$GPRMC,135809.00,A,5157.17671,N,00424.82630,E,1.091,145.92,120308,,,A*6F
+$GPRMC,135810.00,A,5157.17645,N,00424.82635,E,0.164,146.54,120308,,,A*66
+$GPRMC,135811.00,A,5157.17637,N,00424.82610,E,0.652,144.47,120308,,,A*67
+$GPRMC,135812.00,A,5157.17662,N,00424.82517,E,0.049,149.27,120308,,,A*67
+$GPRMC,135813.00,A,5157.17714,N,00424.82490,E,0.167,151.72,120308,,,A*6C
+$GPRMC,135814.00,A,5157.17719,N,00424.82435,E,0.598,157.49,120308,,,A*63
+$GPRMC,135815.00,A,5157.17738,N,00424.82387,E,0.288,165.79,120308,,,A*6B
+$GPRMC,135816.00,A,5157.17772,N,00424.82322,E,0.911,175.39,120308,,,A*67
+$GPRMC,135817.00,A,5157.17771,N,00424.82315,E,0.659,184.65,120308,,,A*65
+$GPRMC,135818.00,A,5157.17779,N,00424.82216,E,0.400,183.66,120308,,,A*6A
+$GPRMC,135819.00,A,5157.17783,N,00424.82153,E,0.286,184.03,120308,,,A*60
+$GPRMC,135820.00,A,5157.17798,N,00424.82148,E,0.332,192.76,120308,,,A*61
+$GPRMC,135821.00,A,5157.17770,N,00424.82206,E,1.917,190.47,120308,,,A*63
+$GPRMC,135822.00,A,5157.17713,N,00424.82297,E,2.458,157.56,120308,,,A*63
+$GPRMC,135823.00,A,5157.17616,N,00424.82387,E,3.177,135.53,120308,,,A*6E
+$GPRMC,135824.00,A,5157.17516,N,00424.82431,E,2.592,168.49,120308,,,A*6D
+$GPRMC,135825.00,A,5157.17500,N,00424.82432,E,1.757,169.66,120308,,,A*6C
+$GPRMC,135826.00,A,5157.17440,N,00424.82522,E,2.679,160.22,120308,,,A*6D
+$GPRMC,135827.00,A,5157.17358,N,00424.82606,E,3.290,153.53,120308,,,A*63
+$GPRMC,135828.00,A,5157.17309,N,00424.82728,E,3.263,150.78,120308,,,A*63
+$GPRMC,135829.00,A,5157.17287,N,00424.82731,E,2.444,173.73,120308,,,A*65
+$GPRMC,135830.00,A,5157.17206,N,00424.82740,E,2.062,180.49,120308,,,A*67
+$GPRMC,135831.00,A,5157.17057,N,00424.82836,E,2.737,164.93,120308,,,A*64
+$GPRMC,135832.00,A,5157.16990,N,00424.82886,E,1.938,164.79,120308,,,A*69
+$GPRMC,135833.00,A,5157.16900,N,00424.82983,E,2.201,158.23,120308,,,A*67
+$GPRMC,135834.00,A,5157.16819,N,00424.83047,E,1.786,158.77,120308,,,A*61
+$GPRMC,135835.00,A,5157.16730,N,00424.83118,E,1.535,159.53,120308,,,A*62
+$GPRMC,135836.00,A,5157.16659,N,00424.83197,E,1.873,159.44,120308,,,A*61
+$GPRMC,135837.00,A,5157.16583,N,00424.83259,E,2.305,163.12,120308,,,A*66
+$GPRMC,135838.00,A,5157.16489,N,00424.83365,E,2.835,152.66,120308,,,A*65
+$GPRMC,135839.00,A,5157.16403,N,00424.83479,E,3.119,143.97,120308,,,A*64
+$GPRMC,135840.00,A,5157.16375,N,00424.83507,E,1.622,144.66,120308,,,A*60
+$GPRMC,135841.00,A,5157.16355,N,00424.83539,E,1.078,144.62,120308,,,A*63
+$GPRMC,135842.00,A,5157.16361,N,00424.83478,E,0.541,151.79,120308,,,A*63
+$GPRMC,135843.00,A,5157.16376,N,00424.83452,E,0.067,151.67,120308,,,A*62
+$GPRMC,135844.00,A,5157.16355,N,00424.83471,E,0.849,153.00,120308,,,A*62
+$GPRMC,135845.00,A,5157.16336,N,00424.83492,E,0.972,154.01,120308,,,A*64
+$GPRMC,135846.00,A,5157.16288,N,00424.83520,E,2.383,158.64,120308,,,A*62
+$GPRMC,135847.00,A,5157.16220,N,00424.83558,E,3.321,154.39,120308,,,A*63
+$GPRMC,135848.00,A,5157.16127,N,00424.83646,E,4.026,149.43,120308,,,A*66
+$GPRMC,135849.00,A,5157.16012,N,00424.83761,E,4.752,152.79,120308,,,A*63
+$GPRMC,135850.00,A,5157.15845,N,00424.83924,E,6.810,152.99,120308,,,A*68
+$GPRMC,135851.00,A,5157.15639,N,00424.84116,E,7.981,153.52,120308,,,A*6C
+$GPRMC,135852.00,A,5157.15404,N,00424.84356,E,9.148,153.02,120308,,,A*63
+$GPRMC,135853.00,A,5157.15130,N,00424.84648,E,10.589,154.15,120308,,,A*5A
+$GPRMC,135854.00,A,5157.14848,N,00424.84919,E,11.311,152.97,120308,,,A*5B
+$GPRMC,135855.00,A,5157.14550,N,00424.85162,E,11.354,153.92,120308,,,A*5E
+$GPRMC,135856.00,A,5157.14263,N,00424.85392,E,10.655,153.63,120308,,,A*5C
+$GPRMC,135857.00,A,5157.13977,N,00424.85632,E,10.653,154.53,120308,,,A*59
+$GPRMC,135858.00,A,5157.13691,N,00424.85825,E,10.760,154.83,120308,,,A*55
+$GPRMC,135859.00,A,5157.13405,N,00424.86061,E,11.167,152.98,120308,,,A*5C
+$GPRMC,135900.00,A,5157.13140,N,00424.86267,E,10.276,153.74,120308,,,A*50
+$GPRMC,135901.00,A,5157.12885,N,00424.86454,E,10.098,152.87,120308,,,A*59
+$GPRMC,135902.00,A,5157.12642,N,00424.86655,E,9.667,153.67,120308,,,A*6D
+$GPRMC,135903.00,A,5157.12414,N,00424.86832,E,8.996,156.04,120308,,,A*62
+$GPRMC,135904.00,A,5157.12184,N,00424.87021,E,8.641,154.27,120308,,,A*64
+$GPRMC,135905.00,A,5157.11987,N,00424.87194,E,7.868,153.15,120308,,,A*6E
+$GPRMC,135906.00,A,5157.11791,N,00424.87334,E,7.495,157.63,120308,,,A*67
+$GPRMC,135907.00,A,5157.11618,N,00424.87457,E,6.601,157.99,120308,,,A*6F
+$GPRMC,135908.00,A,5157.11446,N,00424.87573,E,6.908,157.16,120308,,,A*6F
+$GPRMC,135909.00,A,5157.11269,N,00424.87724,E,7.826,153.79,120308,,,A*64
+$GPRMC,135910.00,A,5157.11059,N,00424.87887,E,8.776,154.69,120308,,,A*68
+$GPRMC,135911.00,A,5157.10840,N,00424.88078,E,9.105,150.93,120308,,,A*6D
+$GPRMC,135912.00,A,5157.10633,N,00424.88262,E,8.760,153.85,120308,,,A*6D
+$GPRMC,135913.00,A,5157.10413,N,00424.88532,E,10.024,142.25,120308,,,A*5A
+$GPRMC,135914.00,A,5157.10193,N,00424.88749,E,9.659,146.95,120308,,,A*65
+$GPRMC,135915.00,A,5157.09997,N,00424.88905,E,8.408,154.50,120308,,,A*6B
+$GPRMC,135916.00,A,5157.09815,N,00424.89079,E,7.484,160.11,120308,,,A*69
+$GPRMC,135917.00,A,5157.09662,N,00424.89197,E,5.641,155.55,120308,,,A*68
+$GPRMC,135918.00,A,5157.09568,N,00424.89296,E,4.088,157.10,120308,,,A*6D
+$GPRMC,135919.00,A,5157.09518,N,00424.89320,E,1.815,157.15,120308,,,A*6B
+$GPRMC,135920.00,A,5157.09507,N,00424.89300,E,0.279,157.51,120308,,,A*6C
+$GPRMC,135921.00,A,5157.09516,N,00424.89317,E,0.189,155.64,120308,,,A*63
+$GPRMC,135922.00,A,5157.09511,N,00424.89377,E,0.726,152.83,120308,,,A*6C
+$GPRMC,135923.00,A,5157.09502,N,00424.89427,E,1.255,150.61,120308,,,A*63
+$GPRMC,135924.00,A,5157.09507,N,00424.89460,E,1.036,148.26,120308,,,A*6F
+$GPRMC,135925.00,A,5157.09503,N,00424.89489,E,1.295,146.46,120308,,,A*6E
+$GPRMC,135926.00,A,5157.09499,N,00424.89480,E,0.369,143.72,120308,,,A*67
+$GPRMC,135927.00,A,5157.09490,N,00424.89512,E,0.761,142.16,120308,,,A*6A
+$GPRMC,135928.00,A,5157.09480,N,00424.89527,E,0.406,140.34,120308,,,A*62
+$GPRMC,135929.00,A,5157.09480,N,00424.89527,E,0.445,138.84,120308,,,A*60
+$GPRMC,135930.00,A,5157.09499,N,00424.89481,E,0.348,149.55,120308,,,A*6D
+$GPRMC,135931.00,A,5157.09509,N,00424.89463,E,0.320,156.60,120308,,,A*6E
+$GPRMC,135932.00,A,5157.09488,N,00424.89455,E,0.492,153.26,120308,,,A*69
+$GPRMC,135933.00,A,5157.09489,N,00424.89412,E,0.354,148.76,120308,,,A*68
+$GPRMC,135934.00,A,5157.09504,N,00424.89337,E,0.370,146.81,120308,,,A*6B
+$GPRMC,135935.00,A,5157.09495,N,00424.89333,E,0.827,146.97,120308,,,A*69
+$GPRMC,135936.00,A,5157.09459,N,00424.89331,E,2.549,151.51,120308,,,A*63
+$GPRMC,135937.00,A,5157.09388,N,00424.89327,E,3.494,160.88,120308,,,A*68
+$GPRMC,135938.00,A,5157.09253,N,00424.89370,E,5.780,157.77,120308,,,A*66
+$GPRMC,135939.00,A,5157.09072,N,00424.89460,E,7.457,159.49,120308,,,A*68
+$GPRMC,135940.00,A,5157.08877,N,00424.89568,E,7.433,152.85,120308,,,A*6A
+$GPRMC,135941.00,A,5157.08597,N,00424.89708,E,9.762,167.00,120308,,,A*6E
+$GPRMC,135942.00,A,5157.08236,N,00424.89826,E,12.024,170.88,120308,,,A*5B
+$GPRMC,135943.00,A,5157.07877,N,00424.89911,E,12.880,172.90,120308,,,A*52
+$GPRMC,135944.00,A,5157.07492,N,00424.89995,E,14.121,178.31,120308,,,A*5B
+$GPRMC,135945.00,A,5157.07088,N,00424.90161,E,13.479,180.82,120308,,,A*5E
+$GPRMC,135946.00,A,5157.06719,N,00424.89857,E,13.475,182.77,120308,,,A*53
+$GPRMC,135947.00,A,5157.06355,N,00424.89658,E,12.629,185.90,120308,,,A*5B
+$GPRMC,135948.00,A,5157.05979,N,00424.89610,E,11.995,185.32,120308,,,A*5C
+$GPRMC,135949.00,A,5157.05635,N,00424.89521,E,9.339,190.81,120308,,,A*62
+$GPRMC,135950.00,A,5157.05351,N,00424.89346,E,9.123,197.40,120308,,,A*69
+$GPRMC,135951.00,A,5157.05103,N,00424.89178,E,7.855,194.96,120308,,,A*6C
+$GPRMC,135952.00,A,5157.04915,N,00424.89045,E,6.924,198.10,120308,,,A*6A
+$GPRMC,135953.00,A,5157.04778,N,00424.88923,E,4.965,209.33,120308,,,A*6B
+$GPRMC,135954.00,A,5157.04614,N,00424.88792,E,6.226,200.36,120308,,,A*61
+$GPRMC,135955.00,A,5157.04457,N,00424.88683,E,5.957,200.32,120308,,,A*6E
+$GPRMC,135956.00,A,5157.04361,N,00424.88553,E,4.932,215.23,120308,,,A*67
+$GPRMC,135957.00,A,5157.04284,N,00424.88432,E,4.525,220.24,120308,,,A*61
+$GPRMC,135958.00,A,5157.04207,N,00424.88312,E,3.007,229.31,120308,,,A*6F
+$GPRMC,135959.00,A,5157.04155,N,00424.88293,E,1.640,227.15,120308,,,A*6D
+$GPRMC,140000.00,A,5157.04169,N,00424.88287,E,0.629,224.83,120308,,,A*62
+$GPRMC,140001.00,A,5157.04197,N,00424.88316,E,0.176,224.37,120308,,,A*69
+$GPRMC,140002.00,A,5157.04179,N,00424.88316,E,1.188,222.79,120308,,,A*66
+$GPRMC,140003.00,A,5157.04158,N,00424.88314,E,1.244,220.66,120308,,,A*69
+$GPRMC,140004.00,A,5157.04090,N,00424.88290,E,2.143,196.63,120308,,,A*6A
+$GPRMC,140005.00,A,5157.04048,N,00424.88334,E,1.465,196.43,120308,,,A*61
+$GPRMC,140006.00,A,5157.04017,N,00424.88343,E,0.853,196.44,120308,,,A*67
+$GPRMC,140007.00,A,5157.03993,N,00424.88361,E,0.849,196.18,120308,,,A*66
+$GPRMC,140008.00,A,5157.03972,N,00424.88378,E,0.588,195.85,120308,,,A*69
+$GPRMC,140009.00,A,5157.03974,N,00424.88376,E,0.347,195.05,120308,,,A*6D
+$GPRMC,140010.00,A,5157.03989,N,00424.88404,E,0.141,194.21,120308,,,A*66
+$GPRMC,140011.00,A,5157.04015,N,00424.88413,E,0.106,194.54,120308,,,A*6B
+$GPRMC,140012.00,A,5157.04031,N,00424.88414,E,0.203,193.83,120308,,,A*62
+$GPRMC,140013.00,A,5157.04031,N,00424.88415,E,0.405,193.56,120308,,,A*6A
+$GPRMC,140014.00,A,5157.04033,N,00424.88412,E,0.398,193.43,120308,,,A*6F
+$GPRMC,140015.00,A,5157.04029,N,00424.88413,E,0.258,193.70,120308,,,A*69
+$GPRMC,140016.00,A,5157.04018,N,00424.88424,E,0.026,194.33,120308,,,A*67
+$GPRMC,140017.00,A,5157.04007,N,00424.88434,E,0.155,199.01,120308,,,A*60
+$GPRMC,140018.00,A,5157.04001,N,00424.88440,E,0.108,199.01,120308,,,A*62
+$GPRMC,140019.00,A,5157.03994,N,00424.88448,E,0.042,200.71,120308,,,A*62
+$GPRMC,140020.00,A,5157.03985,N,00424.88456,E,0.020,198.76,120308,,,A*66
+$GPRMC,140021.00,A,5157.03975,N,00424.88464,E,0.008,,120308,,,A*7C
+$GPRMC,140022.00,A,5157.03977,N,00424.88460,E,0.109,202.48,120308,,,A*6B
+$GPRMC,140023.00,A,5157.03985,N,00424.88451,E,0.237,210.63,120308,,,A*61
+$GPRMC,140024.00,A,5157.03995,N,00424.88444,E,0.161,214.13,120308,,,A*60
+$GPRMC,140025.00,A,5157.03999,N,00424.88442,E,0.059,217.80,120308,,,A*68
+$GPRMC,140026.00,A,5157.04004,N,00424.88446,E,0.035,218.36,120308,,,A*6D
+$GPRMC,140027.00,A,5157.04010,N,00424.88447,E,0.030,220.77,120308,,,A*63
+$GPRMC,140028.00,A,5157.04018,N,00424.88438,E,0.030,220.16,120308,,,A*6B
+$GPRMC,140029.00,A,5157.04024,N,00424.88440,E,0.083,217.87,120308,,,A*6E
+$GPRMC,140030.00,A,5157.04034,N,00424.88435,E,0.025,221.06,120308,,,A*65
+$GPRMC,140031.00,A,5157.04041,N,00424.88432,E,0.089,221.81,120308,,,A*68
+$GPRMC,140032.00,A,5157.04035,N,00424.88434,E,0.458,219.18,120308,,,A*6D
+$GPRMC,140033.00,A,5157.04030,N,00424.88436,E,0.091,220.92,120308,,,A*62
+$GPRMC,140034.00,A,5157.04035,N,00424.88442,E,0.130,225.89,120308,,,A*66
+$GPRMC,140035.00,A,5157.04035,N,00424.88459,E,0.291,234.67,120308,,,A*65
+$GPRMC,140036.00,A,5157.04038,N,00424.88478,E,0.055,237.80,120308,,,A*68
+$GPRMC,140037.00,A,5157.04037,N,00424.88490,E,0.041,240.90,120308,,,A*64
+$GPRMC,140038.00,A,5157.04032,N,00424.88490,E,0.010,,120308,,,A*7B
+$GPRMC,140039.00,A,5157.04024,N,00424.88489,E,0.095,240.67,120308,,,A*61
+$GPRMC,140040.00,A,5157.04019,N,00424.88495,E,0.116,241.51,120308,,,A*62
+$GPRMC,140041.00,A,5157.04013,N,00424.88505,E,0.061,244.11,120308,,,A*61
+$GPRMC,140042.00,A,5157.04009,N,00424.88514,E,0.011,,120308,,,A*72
+$GPRMC,140043.00,A,5157.04003,N,00424.88528,E,0.006,,120308,,,A*70
+$GPRMC,140044.00,A,5157.04000,N,00424.88544,E,0.041,247.06,120308,,,A*64
+$GPRMC,140045.00,A,5157.03999,N,00424.88559,E,0.044,249.28,120308,,,A*60
+$GPRMC,140046.00,A,5157.03994,N,00424.88571,E,0.049,246.29,120308,,,A*67
+$GPRMC,140047.00,A,5157.03990,N,00424.88580,E,0.148,247.71,120308,,,A*60
+$GPRMC,140048.00,A,5157.03988,N,00424.88588,E,0.012,,120308,,,A*79
+$GPRMC,140049.00,A,5157.03986,N,00424.88602,E,0.010,,120308,,,A*75
+$GPRMC,140050.00,A,5157.03981,N,00424.88605,E,0.029,243.51,120308,,,A*68
+$GPRMC,140051.00,A,5157.03977,N,00424.88608,E,0.023,245.98,120308,,,A*64
+$GPRMC,140052.00,A,5157.03974,N,00424.88610,E,0.026,242.11,120308,,,A*6E
+$GPRMC,140053.00,A,5157.03968,N,00424.88605,E,0.205,242.76,120308,,,A*64
+$GPRMC,140054.00,A,5157.03963,N,00424.88605,E,0.040,242.41,120308,,,A*6F
+$GPRMC,140055.00,A,5157.03961,N,00424.88609,E,0.064,246.52,120308,,,A*60
+$GPRMC,140056.00,A,5157.03960,N,00424.88615,E,0.023,246.42,120308,,,A*6D
+$GPRMC,140057.00,A,5157.03958,N,00424.88618,E,0.064,249.02,120308,,,A*62
+$GPRMC,140058.00,A,5157.03934,N,00424.88609,E,1.606,245.75,120308,,,A*68
+$GPRMC,140059.00,A,5157.03842,N,00424.88564,E,4.947,198.87,120308,,,A*60
+$GPRMC,140100.00,A,5157.03685,N,00424.88476,E,7.122,201.03,120308,,,A*6D
+$GPRMC,140101.00,A,5157.03438,N,00424.88369,E,11.125,191.71,120308,,,A*5E
+$GPRMC,140102.00,A,5157.03092,N,00424.88262,E,13.417,191.60,120308,,,A*55
+$GPRMC,140103.00,A,5157.02707,N,00424.88199,E,13.617,185.19,120308,,,A*50
+$GPRMC,140104.00,A,5157.02273,N,00424.88232,E,15.785,175.82,120308,,,A*52
+$GPRMC,140105.00,A,5157.01785,N,00424.88330,E,17.772,171.44,120308,,,A*5B
+$GPRMC,140106.00,A,5157.01248,N,00424.88627,E,20.464,158.96,120308,,,A*5B
+$GPRMC,140107.00,A,5157.00716,N,00424.89116,E,22.228,150.21,120308,,,A*59
+$GPRMC,140108.00,A,5157.00214,N,00424.89633,E,21.837,146.85,120308,,,A*5F
+$GPRMC,140109.00,A,5156.99691,N,00424.90172,E,21.675,149.28,120308,,,A*5C
+$GPRMC,140110.00,A,5156.99231,N,00424.90662,E,18.155,149.35,120308,,,A*5F
+$GPRMC,140111.00,A,5156.98822,N,00424.91040,E,15.845,152.57,120308,,,A*5B
+$GPRMC,140112.00,A,5156.98456,N,00424.91356,E,13.319,145.47,120308,,,A*50
+$GPRMC,140113.00,A,5156.98160,N,00424.91711,E,12.622,140.33,120308,,,A*5C
+$GPRMC,140114.00,A,5156.97903,N,00424.92215,E,13.718,126.84,120308,,,A*5E
+$GPRMC,140115.00,A,5156.97883,N,00424.92871,E,14.434,98.95,120308,,,A*60
+$GPRMC,140116.00,A,5156.97936,N,00424.93471,E,14.057,82.11,120308,,,A*67
+$GPRMC,140117.00,A,5156.98151,N,00424.94124,E,15.726,63.63,120308,,,A*68
+$GPRMC,140118.00,A,5156.98467,N,00424.94753,E,17.904,53.88,120308,,,A*6B
+$GPRMC,140119.00,A,5156.98859,N,00424.95504,E,21.018,51.34,120308,,,A*6E
+$GPRMC,140120.00,A,5156.99296,N,00424.96388,E,23.611,52.15,120308,,,A*60
+$GPRMC,140121.00,A,5156.99716,N,00424.97304,E,23.692,54.52,120308,,,A*67
+$GPRMC,140122.00,A,5157.00107,N,00424.98211,E,23.652,56.34,120308,,,A*67
+$GPRMC,140123.00,A,5157.00471,N,00424.98941,E,20.598,54.41,120308,,,A*6A
+$GPRMC,140124.00,A,5157.00827,N,00424.99609,E,18.636,51.02,120308,,,A*6E
+$GPRMC,140125.00,A,5157.01097,N,00425.00168,E,15.042,54.22,120308,,,A*63
+$GPRMC,140126.00,A,5157.01329,N,00425.00613,E,10.912,53.07,120308,,,A*64
+$GPRMC,140127.00,A,5157.01522,N,00425.00922,E,9.056,48.26,120308,,,A*5D
+$GPRMC,140128.00,A,5157.01656,N,00425.01167,E,7.179,52.86,120308,,,A*59
+$GPRMC,140129.00,A,5157.01791,N,00425.01283,E,4.833,39.97,120308,,,A*52
+$GPRMC,140130.00,A,5157.01898,N,00425.01379,E,4.343,32.23,120308,,,A*50
+$GPRMC,140131.00,A,5157.01947,N,00425.01498,E,2.805,44.75,120308,,,A*57
+$GPRMC,140132.00,A,5157.01998,N,00425.01580,E,2.764,40.45,120308,,,A*51
+$GPRMC,140133.00,A,5157.01989,N,00425.01591,E,0.863,41.19,120308,,,A*52
+$GPRMC,140134.00,A,5157.01975,N,00425.01634,E,0.299,43.94,120308,,,A*52
+$GPRMC,140135.00,A,5157.01973,N,00425.01669,E,0.141,38.76,120308,,,A*5B
+$GPRMC,140136.00,A,5157.01991,N,00425.01746,E,1.544,40.95,120308,,,A*5A
+$GPRMC,140137.00,A,5157.02006,N,00425.01816,E,0.662,40.64,120308,,,A*5D
+$GPRMC,140138.00,A,5157.02030,N,00425.01919,E,1.308,42.37,120308,,,A*55
+$GPRMC,140139.00,A,5157.02007,N,00425.01911,E,0.588,50.72,120308,,,A*55
+$GPRMC,140140.00,A,5157.02015,N,00425.01943,E,0.170,53.34,120308,,,A*5D
+$GPRMC,140141.00,A,5157.01985,N,00425.01960,E,1.046,62.36,120308,,,A*5B
+$GPRMC,140142.00,A,5157.01973,N,00425.01952,E,0.976,72.12,120308,,,A*5C
+$GPRMC,140143.00,A,5157.02015,N,00425.01911,E,0.822,64.84,120308,,,A*58
+$GPRMC,140144.00,A,5157.02028,N,00425.01954,E,0.781,70.94,120308,,,A*52
+$GPRMC,140145.00,A,5157.01992,N,00425.01977,E,1.638,77.73,120308,,,A*55
+$GPRMC,140146.00,A,5157.01986,N,00425.01981,E,1.530,85.61,120308,,,A*5F
+$GPRMC,140147.00,A,5157.02006,N,00425.02019,E,0.348,76.11,120308,,,A*54
+$GPRMC,140148.00,A,5157.02028,N,00425.02060,E,0.605,85.70,120308,,,A*5E
+$GPRMC,140149.00,A,5157.02069,N,00425.02078,E,1.603,74.66,120308,,,A*5D
+$GPRMC,140150.00,A,5157.02113,N,00425.02110,E,1.259,85.25,120308,,,A*54
+$GPRMC,140151.00,A,5157.02172,N,00425.02114,E,1.418,95.77,120308,,,A*53
+$GPRMC,140152.00,A,5157.02173,N,00425.02123,E,0.507,104.05,120308,,,A*67
+$GPRMC,140153.00,A,5157.02223,N,00425.02147,E,0.318,113.73,120308,,,A*6D
+$GPRMC,140154.00,A,5157.02202,N,00425.02111,E,0.183,109.34,120308,,,A*62
+$GPRMC,140155.00,A,5157.02229,N,00425.02104,E,0.780,101.01,120308,,,A*65
+$GPRMC,140156.00,A,5157.02231,N,00425.02065,E,1.064,90.24,120308,,,A*5B
+$GPRMC,140157.00,A,5157.02222,N,00425.02037,E,0.731,100.96,120308,,,A*68
+$GPRMC,140158.00,A,5157.02228,N,00425.02006,E,0.506,110.10,120308,,,A*66
+$GPRMC,140159.00,A,5157.02168,N,00425.02095,E,1.064,114.63,120308,,,A*6A
+$GPRMC,140200.00,A,5157.02193,N,00425.02119,E,1.013,121.26,120308,,,A*63
+$GPRMC,140201.00,A,5157.02212,N,00425.02117,E,0.822,128.73,120308,,,A*64
+$GPRMC,140202.00,A,5157.02240,N,00425.02110,E,0.462,139.84,120308,,,A*67
+$GPRMC,140203.00,A,5157.02258,N,00425.02059,E,0.361,130.42,120308,,,A*64
+$GPRMC,140204.00,A,5157.02315,N,00425.02071,E,0.792,125.95,120308,,,A*67
+$GPRMC,140205.00,A,5157.02339,N,00425.02115,E,1.077,124.71,120308,,,A*6D
+$GPRMC,140206.00,A,5157.02332,N,00425.02173,E,1.061,126.05,120308,,,A*63
+$GPRMC,140207.00,A,5157.02366,N,00425.02178,E,0.643,124.98,120308,,,A*69
+$GPRMC,140208.00,A,5157.02403,N,00425.02159,E,0.691,131.06,120308,,,A*6D
+$GPRMC,140209.00,A,5157.02382,N,00425.02163,E,1.394,136.31,120308,,,A*69
+$GPRMC,140210.00,A,5157.02388,N,00425.02217,E,1.559,138.35,120308,,,A*66
+$GPRMC,140211.00,A,5157.02388,N,00425.02238,E,0.751,144.28,120308,,,A*66
+$GPRMC,140212.00,A,5157.02394,N,00425.02247,E,0.250,149.93,120308,,,A*69
+$GPRMC,140213.00,A,5157.02393,N,00425.02279,E,0.576,150.42,120308,,,A*65
+$GPRMC,140214.00,A,5157.02398,N,00425.02299,E,1.147,145.45,120308,,,A*63
+$GPRMC,140215.00,A,5157.02424,N,00425.02409,E,3.584,52.99,120308,,,A*52
+$GPRMC,140216.00,A,5157.02509,N,00425.02687,E,7.361,54.40,120308,,,A*50
+$GPRMC,140217.00,A,5157.02598,N,00425.02995,E,9.366,54.80,120308,,,A*50
+$GPRMC,140218.00,A,5157.02739,N,00425.03429,E,12.906,53.51,120308,,,A*60
+$GPRMC,140219.00,A,5157.02958,N,00425.03931,E,13.550,54.49,120308,,,A*6C
+$GPRMC,140220.00,A,5157.03187,N,00425.04414,E,13.672,52.66,120308,,,A*68
+$GPRMC,140221.00,A,5157.03467,N,00425.04831,E,14.292,39.93,120308,,,A*63
+$GPRMC,140222.00,A,5157.03860,N,00425.05026,E,15.828,15.15,120308,,,A*6E
+$GPRMC,140223.00,A,5157.04185,N,00425.04770,E,13.091,341.21,120308,,,A*56
+$GPRMC,140224.00,A,5157.04443,N,00425.04229,E,14.925,309.58,120308,,,A*54
+$GPRMC,140225.00,A,5157.04584,N,00425.03565,E,15.202,290.68,120308,,,A*5A
+$GPRMC,140226.00,A,5157.04707,N,00425.02709,E,19.784,285.22,120308,,,A*54
+$GPRMC,140227.00,A,5157.04898,N,00425.01643,E,23.931,289.31,120308,,,A*57
+$GPRMC,140228.00,A,5157.05188,N,00425.00537,E,26.821,299.52,120308,,,A*51
+$GPRMC,140229.00,A,5157.05642,N,00424.99365,E,29.632,301.52,120308,,,A*52
+$GPRMC,140230.00,A,5157.06143,N,00424.98194,E,31.268,306.41,120308,,,A*55
+$GPRMC,140231.00,A,5157.06721,N,00424.97022,E,34.348,309.98,120308,,,A*58
+$GPRMC,140232.00,A,5157.07375,N,00424.95815,E,36.274,312.04,120308,,,A*52
+$GPRMC,140233.00,A,5157.08088,N,00424.94632,E,37.689,313.38,120308,,,A*5E
+$GPRMC,140234.00,A,5157.08827,N,00424.93391,E,37.989,315.94,120308,,,A*50
+$GPRMC,140235.00,A,5157.09714,N,00424.92425,E,37.675,325.46,120308,,,A*56
+$GPRMC,140236.00,A,5157.10620,N,00424.91470,E,38.322,326.49,120308,,,A*5C
+$GPRMC,140237.00,A,5157.11550,N,00424.90538,E,39.485,328.35,120308,,,A*5A
+$GPRMC,140238.00,A,5157.12507,N,00424.89588,E,41.018,327.81,120308,,,A*58
+$GPRMC,140239.00,A,5157.13516,N,00424.88643,E,42.136,328.52,120308,,,A*52
+$GPRMC,140240.00,A,5157.14581,N,00424.87722,E,43.616,329.86,120308,,,A*50
+$GPRMC,140241.00,A,5157.15673,N,00424.86786,E,44.663,330.03,120308,,,A*51
+$GPRMC,140242.00,A,5157.16780,N,00424.85790,E,46.251,329.76,120308,,,A*55
+$GPRMC,140243.00,A,5157.18001,N,00424.84834,E,49.440,332.22,120308,,,A*56
+$GPRMC,140244.00,A,5157.19273,N,00424.83868,E,51.308,332.84,120308,,,A*57
+$GPRMC,140245.00,A,5157.20559,N,00424.82804,E,52.519,332.44,120308,,,A*51
+$GPRMC,140246.00,A,5157.21896,N,00424.81700,E,54.378,333.03,120308,,,A*50
+$GPRMC,140247.00,A,5157.23272,N,00424.80591,E,56.124,334.42,120308,,,A*53
+$GPRMC,140248.00,A,5157.24703,N,00424.79505,E,57.173,333.86,120308,,,A*5F
+$GPRMC,140249.00,A,5157.26159,N,00424.78326,E,57.975,333.11,120308,,,A*53
+$GPRMC,140250.00,A,5157.27662,N,00424.77183,E,58.996,333.37,120308,,,A*51
+$GPRMC,140251.00,A,5157.29168,N,00424.75990,E,60.298,332.63,120308,,,A*55
+$GPRMC,140252.00,A,5157.30685,N,00424.74717,E,61.602,331.98,120308,,,A*5B
+$GPRMC,140253.00,A,5157.32227,N,00424.73459,E,61.263,332.57,120308,,,A*59
+$GPRMC,140254.00,A,5157.33752,N,00424.72194,E,61.694,333.28,120308,,,A*58
+$GPRMC,140255.00,A,5157.35321,N,00424.70972,E,62.721,333.63,120308,,,A*5E
+$GPRMC,140256.00,A,5157.36923,N,00424.69757,E,63.255,334.09,120308,,,A*5B
+$GPRMC,140257.00,A,5157.38539,N,00424.68554,E,63.181,334.06,120308,,,A*56
+$GPRMC,140258.00,A,5157.40128,N,00424.67297,E,63.421,334.41,120308,,,A*59
+$GPRMC,140259.00,A,5157.41724,N,00424.66047,E,63.586,334.26,120308,,,A*50
+$GPRMC,140300.00,A,5157.43321,N,00424.64783,E,63.900,334.22,120308,,,A*55
+$GPRMC,140301.00,A,5157.44919,N,00424.63504,E,63.777,333.81,120308,,,A*58
+$GPRMC,140302.00,A,5157.46525,N,00424.62238,E,63.875,334.13,120308,,,A*52
+$GPRMC,140303.00,A,5157.48116,N,00424.60960,E,63.903,334.26,120308,,,A*5B
+$GPRMC,140304.00,A,5157.49710,N,00424.59691,E,63.890,334.24,120308,,,A*5F
+$GPRMC,140305.00,A,5157.51304,N,00424.58425,E,63.855,334.21,120308,,,A*56
+$GPRMC,140306.00,A,5157.52896,N,00424.57156,E,63.849,333.52,120308,,,A*56
+$GPRMC,140307.00,A,5157.54488,N,00424.55877,E,64.150,334.20,120308,,,A*5E
+$GPRMC,140308.00,A,5157.56087,N,00424.54617,E,63.917,333.83,120308,,,A*53
+$GPRMC,140309.00,A,5157.57656,N,00424.53331,E,63.125,334.13,120308,,,A*58
+$GPRMC,140310.00,A,5157.59200,N,00424.52054,E,62.282,334.03,120308,,,A*56
+$GPRMC,140311.00,A,5157.60734,N,00424.50803,E,61.939,334.14,120308,,,A*59
+$GPRMC,140312.00,A,5157.62271,N,00424.49565,E,62.277,334.59,120308,,,A*52
+$GPRMC,140313.00,A,5157.63832,N,00424.48335,E,62.905,334.11,120308,,,A*5F
+$GPRMC,140314.00,A,5157.65434,N,00424.47121,E,63.959,334.28,120308,,,A*5E
+$GPRMC,140315.00,A,5157.67060,N,00424.45899,E,64.596,334.23,120308,,,A*53
+$GPRMC,140316.00,A,5157.68714,N,00424.44703,E,64.836,334.49,120308,,,A*5D
+$GPRMC,140317.00,A,5157.70364,N,00424.43462,E,65.333,333.92,120308,,,A*5B
+$GPRMC,140318.00,A,5157.72018,N,00424.42195,E,65.844,333.86,120308,,,A*5C
+$GPRMC,140319.00,A,5157.73714,N,00424.40973,E,66.371,334.42,120308,,,A*54
+$GPRMC,140320.00,A,5157.75415,N,00424.39716,E,66.936,334.15,120308,,,A*52
+$GPRMC,140321.00,A,5157.77120,N,00424.38450,E,67.216,334.87,120308,,,A*51
+$GPRMC,140322.00,A,5157.78810,N,00424.37154,E,66.687,334.07,120308,,,A*5C
+$GPRMC,140323.00,A,5157.80480,N,00424.35830,E,66.674,334.01,120308,,,A*5C
+$GPRMC,140324.00,A,5157.82156,N,00424.34516,E,66.746,334.38,120308,,,A*55
+$GPRMC,140325.00,A,5157.83835,N,00424.33215,E,67.010,334.30,120308,,,A*57
+$GPRMC,140326.00,A,5157.85515,N,00424.31914,E,67.127,334.23,120308,,,A*52
+$GPRMC,140327.00,A,5157.87199,N,00424.30599,E,67.103,334.17,120308,,,A*58
+$GPRMC,140328.00,A,5157.88879,N,00424.29285,E,67.011,334.33,120308,,,A*59
+$GPRMC,140329.00,A,5157.90557,N,00424.27978,E,66.845,334.25,120308,,,A*58
+$GPRMC,140330.00,A,5157.92229,N,00424.26674,E,66.602,334.38,120308,,,A*5F
+$GPRMC,140331.00,A,5157.93892,N,00424.25378,E,66.322,334.46,120308,,,A*51
+$GPRMC,140332.00,A,5157.95552,N,00424.24086,E,66.162,334.41,120308,,,A*57
+$GPRMC,140333.00,A,5157.97207,N,00424.22785,E,66.451,334.15,120308,,,A*55
+$GPRMC,140334.00,A,5157.98878,N,00424.21479,E,67.131,334.19,120308,,,A*52
+$GPRMC,140335.00,A,5158.00573,N,00424.20151,E,67.955,334.40,120308,,,A*53
+$GPRMC,140336.00,A,5158.02289,N,00424.18814,E,68.753,334.42,120308,,,A*56
+$GPRMC,140337.00,A,5158.04014,N,00424.17472,E,68.857,334.17,120308,,,A*5F
+$GPRMC,140338.00,A,5158.05740,N,00424.16127,E,69.186,334.38,120308,,,A*5A
+$GPRMC,140339.00,A,5158.07469,N,00424.14764,E,69.089,333.76,120308,,,A*51
+$GPRMC,140340.00,A,5158.09189,N,00424.13410,E,68.613,334.19,120308,,,A*57
+$GPRMC,140341.00,A,5158.10897,N,00424.12067,E,68.120,334.13,120308,,,A*50
+$GPRMC,140342.00,A,5158.12599,N,00424.10722,E,67.962,333.78,120308,,,A*5D
+$GPRMC,140343.00,A,5158.14302,N,00424.09406,E,67.417,334.91,120308,,,A*5C
+$GPRMC,140344.00,A,5158.16000,N,00424.08112,E,66.972,334.81,120308,,,A*57
+$GPRMC,140345.00,A,5158.17716,N,00424.06784,E,67.532,334.56,120308,,,A*53
+$GPRMC,140346.00,A,5158.19421,N,00424.05466,E,67.612,334.31,120308,,,A*55
+$GPRMC,140347.00,A,5158.21114,N,00424.04158,E,67.156,334.46,120308,,,A*52
+$GPRMC,140348.00,A,5158.22809,N,00424.02874,E,67.213,335.03,120308,,,A*58
+$GPRMC,140349.00,A,5158.24489,N,00424.01630,E,66.427,335.70,120308,,,A*52
+$GPRMC,140350.00,A,5158.26197,N,00424.00512,E,66.395,338.07,120308,,,A*53
+$GPRMC,140351.00,A,5158.27923,N,00423.99428,E,66.221,339.08,120308,,,A*5B
+$GPRMC,140352.00,A,5158.29676,N,00423.98481,E,66.518,341.61,120308,,,A*56
+$GPRMC,140353.00,A,5158.31453,N,00423.97602,E,66.695,343.55,120308,,,A*5E
+$GPRMC,140354.00,A,5158.33223,N,00423.96745,E,66.694,343.46,120308,,,A*5A
+$GPRMC,140355.00,A,5158.35000,N,00423.95958,E,66.475,344.98,120308,,,A*56
+$GPRMC,140356.00,A,5158.36735,N,00423.95164,E,65.065,345.05,120308,,,A*53
+$GPRMC,140357.00,A,5158.38481,N,00423.94447,E,64.285,345.25,120308,,,A*5A
+$GPRMC,140358.00,A,5158.40198,N,00423.93730,E,63.571,345.24,120308,,,A*59
+$GPRMC,140359.00,A,5158.41902,N,00423.93024,E,63.147,345.32,120308,,,A*56
+$GPRMC,140400.00,A,5158.43564,N,00423.92296,E,62.155,345.04,120308,,,A*5E
+$GPRMC,140401.00,A,5158.45219,N,00423.91588,E,61.336,344.63,120308,,,A*5B
+$GPRMC,140402.00,A,5158.46850,N,00423.90863,E,61.233,345.21,120308,,,A*56
+$GPRMC,140403.00,A,5158.48476,N,00423.90136,E,60.898,345.00,120308,,,A*51
+$GPRMC,140404.00,A,5158.50117,N,00423.89456,E,60.535,344.63,120308,,,A*58
+$GPRMC,140405.00,A,5158.51766,N,00423.88750,E,61.283,345.26,120308,,,A*57
+$GPRMC,140406.00,A,5158.53406,N,00423.88005,E,61.914,345.30,120308,,,A*56
+$GPRMC,140407.00,A,5158.55064,N,00423.87298,E,61.838,345.19,120308,,,A*5C
+$GPRMC,140408.00,A,5158.56694,N,00423.86547,E,60.876,344.77,120308,,,A*5F
+$GPRMC,140409.00,A,5158.58311,N,00423.85846,E,59.774,344.91,120308,,,A*58
+$GPRMC,140410.00,A,5158.59900,N,00423.85178,E,59.122,346.21,120308,,,A*53
+$GPRMC,140411.00,A,5158.61456,N,00423.84551,E,57.821,346.46,120308,,,A*5C
+$GPRMC,140412.00,A,5158.62962,N,00423.83879,E,56.359,344.88,120308,,,A*53
+$GPRMC,140413.00,A,5158.64449,N,00423.83226,E,55.444,345.21,120308,,,A*5A
+$GPRMC,140414.00,A,5158.65926,N,00423.82577,E,55.200,345.04,120308,,,A*5B
+$GPRMC,140415.00,A,5158.67408,N,00423.81956,E,55.001,345.52,120308,,,A*55
+$GPRMC,140416.00,A,5158.68889,N,00423.81344,E,55.008,345.40,120308,,,A*5F
+$GPRMC,140417.00,A,5158.70361,N,00423.80727,E,54.907,345.29,120308,,,A*52
+$GPRMC,140418.00,A,5158.71824,N,00423.80128,E,54.393,345.63,120308,,,A*56
+$GPRMC,140419.00,A,5158.73301,N,00423.79520,E,55.039,345.05,120308,,,A*51
+$GPRMC,140420.00,A,5158.74795,N,00423.78884,E,55.631,344.79,120308,,,A*53
+$GPRMC,140421.00,A,5158.76317,N,00423.78271,E,56.150,345.90,120308,,,A*5B
+$GPRMC,140422.00,A,5158.77824,N,00423.77643,E,55.446,345.11,120308,,,A*50
+$GPRMC,140423.00,A,5158.79317,N,00423.76999,E,55.176,345.17,120308,,,A*5D
+$GPRMC,140424.00,A,5158.80776,N,00423.76344,E,54.644,345.09,120308,,,A*5D
+$GPRMC,140425.00,A,5158.82254,N,00423.75717,E,54.865,345.13,120308,,,A*5C
+$GPRMC,140426.00,A,5158.83744,N,00423.75094,E,55.460,344.95,120308,,,A*51
+$GPRMC,140427.00,A,5158.85252,N,00423.74461,E,56.489,345.38,120308,,,A*59
+$GPRMC,140428.00,A,5158.86787,N,00423.73812,E,57.405,344.88,120308,,,A*58
+$GPRMC,140429.00,A,5158.88333,N,00423.73161,E,58.562,345.57,120308,,,A*5D
+$GPRMC,140430.00,A,5158.89912,N,00423.72503,E,58.784,345.35,120308,,,A*52
+$GPRMC,140431.00,A,5158.91503,N,00423.71816,E,60.371,345.52,120308,,,A*58
+$GPRMC,140432.00,A,5158.93124,N,00423.71105,E,61.395,345.14,120308,,,A*5A
+$GPRMC,140433.00,A,5158.94788,N,00423.70372,E,62.458,344.85,120308,,,A*53
+$GPRMC,140434.00,A,5158.96481,N,00423.69659,E,63.444,345.47,120308,,,A*5B
+$GPRMC,140435.00,A,5158.98216,N,00423.68953,E,64.545,345.40,120308,,,A*58
+$GPRMC,140436.00,A,5158.99975,N,00423.68229,E,65.628,345.51,120308,,,A*5B
+$GPRMC,140437.00,A,5159.01764,N,00423.67488,E,66.601,345.37,120308,,,A*5E
+$GPRMC,140438.00,A,5159.03573,N,00423.66702,E,67.018,344.93,120308,,,A*57
+$GPRMC,140439.00,A,5159.05380,N,00423.65902,E,67.438,345.01,120308,,,A*5B
+$GPRMC,140440.00,A,5159.07205,N,00423.65125,E,67.823,345.17,120308,,,A*57
+$GPRMC,140441.00,A,5159.09037,N,00423.64347,E,68.263,345.71,120308,,,A*5D
+$GPRMC,140442.00,A,5159.10866,N,00423.63546,E,68.070,345.25,120308,,,A*5B
+$GPRMC,140443.00,A,5159.12685,N,00423.62729,E,68.164,345.20,120308,,,A*50
+$GPRMC,140444.00,A,5159.14506,N,00423.61920,E,67.807,344.90,120308,,,A*54
+$GPRMC,140445.00,A,5159.16341,N,00423.61153,E,67.574,345.21,120308,,,A*5C
+$GPRMC,140446.00,A,5159.18143,N,00423.60369,E,66.864,344.96,120308,,,A*5B
+$GPRMC,140447.00,A,5159.19902,N,00423.59598,E,65.400,344.90,120308,,,A*5F
+$GPRMC,140448.00,A,5159.21645,N,00423.58861,E,64.674,345.69,120308,,,A*5A
+$GPRMC,140449.00,A,5159.23358,N,00423.58121,E,63.804,345.40,120308,,,A*58
+$GPRMC,140450.00,A,5159.25042,N,00423.57387,E,63.210,345.21,120308,,,A*57
+$GPRMC,140451.00,A,5159.26738,N,00423.56694,E,62.728,345.48,120308,,,A*59
+$GPRMC,140452.00,A,5159.28427,N,00423.55999,E,62.086,345.16,120308,,,A*50
+$GPRMC,140453.00,A,5159.30108,N,00423.55294,E,62.078,345.11,120308,,,A*50
+$GPRMC,140454.00,A,5159.31797,N,00423.54604,E,61.716,344.87,120308,,,A*58
+$GPRMC,140455.00,A,5159.33466,N,00423.53890,E,62.016,345.01,120308,,,A*59
+$GPRMC,140456.00,A,5159.35140,N,00423.53171,E,62.464,345.08,120308,,,A*53
+$GPRMC,140457.00,A,5159.36829,N,00423.52458,E,62.771,344.92,120308,,,A*5D
+$GPRMC,140458.00,A,5159.38506,N,00423.51735,E,62.552,345.01,120308,,,A*5F
+$GPRMC,140459.00,A,5159.40169,N,00423.51043,E,62.111,345.43,120308,,,A*5F
+$GPRMC,140500.00,A,5159.41838,N,00423.50330,E,62.133,345.24,120308,,,A*59
+$GPRMC,140501.00,A,5159.43500,N,00423.49621,E,61.681,345.09,120308,,,A*53
+$GPRMC,140502.00,A,5159.45161,N,00423.48924,E,61.561,345.28,120308,,,A*50
+$GPRMC,140503.00,A,5159.46827,N,00423.48237,E,61.401,345.22,120308,,,A*5D
+$GPRMC,140504.00,A,5159.48482,N,00423.47553,E,60.939,345.60,120308,,,A*5C
+$GPRMC,140505.00,A,5159.50125,N,00423.46887,E,60.814,345.58,120308,,,A*5C
+$GPRMC,140506.00,A,5159.51743,N,00423.46191,E,60.552,345.00,120308,,,A*54
+$GPRMC,140507.00,A,5159.53384,N,00423.45516,E,60.999,345.32,120308,,,A*5A
+$GPRMC,140508.00,A,5159.55001,N,00423.44801,E,60.798,345.34,120308,,,A*5E
+$GPRMC,140509.00,A,5159.56631,N,00423.44114,E,60.314,345.17,120308,,,A*55
+$GPRMC,140510.00,A,5159.58244,N,00423.43428,E,59.590,345.10,120308,,,A*5F
+$GPRMC,140511.00,A,5159.59863,N,00423.42770,E,59.113,345.22,120308,,,A*51
+$GPRMC,140512.00,A,5159.61462,N,00423.42105,E,59.110,345.02,120308,,,A*51
+$GPRMC,140513.00,A,5159.63064,N,00423.41425,E,59.325,344.88,120308,,,A*53
+$GPRMC,140514.00,A,5159.64664,N,00423.40748,E,58.854,345.26,120308,,,A*55
+$GPRMC,140515.00,A,5159.66217,N,00423.40062,E,57.722,345.42,120308,,,A*5A
+$GPRMC,140516.00,A,5159.67740,N,00423.39410,E,56.452,345.38,120308,,,A*58
+$GPRMC,140517.00,A,5159.69252,N,00423.38786,E,55.460,345.53,120308,,,A*53
+$GPRMC,140518.00,A,5159.70716,N,00423.38164,E,54.375,345.34,120308,,,A*58
+$GPRMC,140519.00,A,5159.72162,N,00423.37538,E,54.074,345.07,120308,,,A*5E
+$GPRMC,140520.00,A,5159.73604,N,00423.36914,E,53.903,345.08,120308,,,A*50
+$GPRMC,140521.00,A,5159.75068,N,00423.36288,E,55.233,345.57,120308,,,A*51
+$GPRMC,140522.00,A,5159.76562,N,00423.35636,E,56.243,345.34,120308,,,A*5D
+$GPRMC,140523.00,A,5159.78051,N,00423.34964,E,55.932,345.06,120308,,,A*51
+$GPRMC,140524.00,A,5159.79498,N,00423.34220,E,55.705,344.12,120308,,,A*53
+$GPRMC,140525.00,A,5159.80986,N,00423.33555,E,56.667,345.37,120308,,,A*54
+$GPRMC,140526.00,A,5159.82491,N,00423.32865,E,56.784,343.75,120308,,,A*5D
+$GPRMC,140527.00,A,5159.84024,N,00423.32183,E,57.831,344.74,120308,,,A*57
+$GPRMC,140528.00,A,5159.85578,N,00423.31508,E,57.965,344.95,120308,,,A*5E
+$GPRMC,140529.00,A,5159.87075,N,00423.30765,E,57.921,344.73,120308,,,A*55
+$GPRMC,140530.00,A,5159.88625,N,00423.30078,E,58.805,344.44,120308,,,A*56
+$GPRMC,140531.00,A,5159.90205,N,00423.29418,E,59.473,345.18,120308,,,A*56
+$GPRMC,140532.00,A,5159.91826,N,00423.28761,E,60.170,345.69,120308,,,A*59
+$GPRMC,140533.00,A,5159.93448,N,00423.28082,E,60.130,345.64,120308,,,A*5D
+$GPRMC,140534.00,A,5159.95104,N,00423.27428,E,60.795,344.94,120308,,,A*5D
+$GPRMC,140535.00,A,5159.96733,N,00423.26716,E,60.771,344.97,120308,,,A*5B
+$GPRMC,140536.00,A,5159.98336,N,00423.25965,E,60.311,344.54,120308,,,A*53
+$GPRMC,140537.00,A,5159.99982,N,00423.25288,E,60.487,344.50,120308,,,A*52
+$GPRMC,140538.00,A,5200.01633,N,00423.24607,E,61.120,345.09,120308,,,A*50
+$GPRMC,140539.00,A,5200.03282,N,00423.23915,E,60.660,344.56,120308,,,A*5F
+$GPRMC,140540.00,A,5200.04945,N,00423.23224,E,61.402,344.96,120308,,,A*54
+$GPRMC,140541.00,A,5200.06618,N,00423.22540,E,61.520,344.99,120308,,,A*5A
+$GPRMC,140542.00,A,5200.08295,N,00423.21861,E,62.036,345.55,120308,,,A*5B
+$GPRMC,140543.00,A,5200.09972,N,00423.21158,E,61.962,344.75,120308,,,A*52
+$GPRMC,140544.00,A,5200.11629,N,00423.20425,E,61.783,345.37,120308,,,A*55
+$GPRMC,140545.00,A,5200.13271,N,00423.19699,E,61.650,345.33,120308,,,A*5B
+$GPRMC,140546.00,A,5200.14945,N,00423.18987,E,61.133,345.05,120308,,,A*55
+$GPRMC,140547.00,A,5200.16583,N,00423.18274,E,60.956,344.60,120308,,,A*5F
+$GPRMC,140548.00,A,5200.18230,N,00423.17554,E,61.642,345.02,120308,,,A*55
+$GPRMC,140549.00,A,5200.19895,N,00423.16826,E,62.169,344.88,120308,,,A*57
+$GPRMC,140550.00,A,5200.21583,N,00423.16055,E,63.276,344.39,120308,,,A*54
+$GPRMC,140551.00,A,5200.23332,N,00423.15304,E,64.428,342.78,120308,,,A*56
+$GPRMC,140552.00,A,5200.25088,N,00423.14520,E,65.299,342.46,120308,,,A*50
+$GPRMC,140553.00,A,5200.26890,N,00423.13722,E,66.355,340.70,120308,,,A*51
+$GPRMC,140554.00,A,5200.28619,N,00423.12664,E,66.635,338.22,120308,,,A*5E
+$GPRMC,140555.00,A,5200.30312,N,00423.11422,E,67.381,335.15,120308,,,A*59
+$GPRMC,140556.00,A,5200.31963,N,00423.10056,E,67.784,333.09,120308,,,A*5B
+$GPRMC,140557.00,A,5200.33545,N,00423.08557,E,67.905,331.54,120308,,,A*50
+$GPRMC,140558.00,A,5200.35077,N,00423.06947,E,67.383,329.28,120308,,,A*58
+$GPRMC,140559.00,A,5200.36578,N,00423.05316,E,65.944,327.65,120308,,,A*59
+$GPRMC,140600.00,A,5200.38053,N,00423.03665,E,64.664,326.47,120308,,,A*5E
+$GPRMC,140601.00,A,5200.39502,N,00423.02002,E,63.867,325.23,120308,,,A*52
+$GPRMC,140602.00,A,5200.40922,N,00423.00310,E,63.376,324.47,120308,,,A*5B
+$GPRMC,140603.00,A,5200.42318,N,00422.98622,E,62.924,324.01,120308,,,A*51
+$GPRMC,140604.00,A,5200.43714,N,00422.96966,E,62.453,324.63,120308,,,A*57
+$GPRMC,140605.00,A,5200.45106,N,00422.95349,E,62.085,324.56,120308,,,A*58
+$GPRMC,140606.00,A,5200.46492,N,00422.93728,E,61.969,324.38,120308,,,A*55
+$GPRMC,140607.00,A,5200.47874,N,00422.92107,E,61.861,324.15,120308,,,A*5D
+$GPRMC,140608.00,A,5200.49257,N,00422.90476,E,61.783,324.16,120308,,,A*56
+$GPRMC,140609.00,A,5200.50642,N,00422.88856,E,61.672,324.33,120308,,,A*50
+$GPRMC,140610.00,A,5200.52023,N,00422.87242,E,61.349,324.13,120308,,,A*54
+$GPRMC,140611.00,A,5200.53401,N,00422.85619,E,61.522,323.96,120308,,,A*59
+$GPRMC,140612.00,A,5200.54785,N,00422.83979,E,62.050,324.13,120308,,,A*54
+$GPRMC,140613.00,A,5200.56167,N,00422.82360,E,61.073,324.28,120308,,,A*54
+$GPRMC,140614.00,A,5200.57509,N,00422.80784,E,58.735,324.23,120308,,,A*56
+$GPRMC,140615.00,A,5200.58809,N,00422.79260,E,57.199,324.41,120308,,,A*57
+$GPRMC,140616.00,A,5200.60062,N,00422.77793,E,54.507,324.39,120308,,,A*52
+$GPRMC,140617.00,A,5200.61262,N,00422.76369,E,52.855,324.21,120308,,,A*55
+$GPRMC,140618.00,A,5200.62421,N,00422.75003,E,50.984,324.30,120308,,,A*5B
+$GPRMC,140619.00,A,5200.63541,N,00422.73687,E,49.371,324.35,120308,,,A*5D
+$GPRMC,140620.00,A,5200.64634,N,00422.72402,E,48.634,324.38,120308,,,A*57
+$GPRMC,140621.00,A,5200.65714,N,00422.71138,E,48.313,324.45,120308,,,A*51
+$GPRMC,140622.00,A,5200.66791,N,00422.69874,E,48.091,324.38,120308,,,A*57
+$GPRMC,140623.00,A,5200.67864,N,00422.68620,E,47.913,324.37,120308,,,A*5F
+$GPRMC,140624.00,A,5200.68940,N,00422.67350,E,48.367,324.44,120308,,,A*5F
+$GPRMC,140625.00,A,5200.70040,N,00422.66059,E,49.705,324.37,120308,,,A*50
+$GPRMC,140626.00,A,5200.71171,N,00422.64729,E,51.114,324.33,120308,,,A*58
+$GPRMC,140627.00,A,5200.72335,N,00422.63365,E,52.464,324.36,120308,,,A*57
+$GPRMC,140628.00,A,5200.73530,N,00422.61964,E,53.824,324.36,120308,,,A*5A
+$GPRMC,140629.00,A,5200.74758,N,00422.60523,E,55.272,324.58,120308,,,A*59
+$GPRMC,140630.00,A,5200.76010,N,00422.59058,E,56.071,324.53,120308,,,A*52
+$GPRMC,140631.00,A,5200.77282,N,00422.57577,E,56.726,324.55,120308,,,A*5E
+$GPRMC,140632.00,A,5200.78555,N,00422.56090,E,56.211,324.40,120308,,,A*57
+$GPRMC,140633.00,A,5200.79819,N,00422.54616,E,55.966,324.27,120308,,,A*51
+$GPRMC,140634.00,A,5200.81070,N,00422.53150,E,55.496,324.24,120308,,,A*55
+$GPRMC,140635.00,A,5200.82303,N,00422.51693,E,54.555,323.92,120308,,,A*5F
+$GPRMC,140636.00,A,5200.83523,N,00422.50257,E,54.153,323.98,120308,,,A*5C
+$GPRMC,140637.00,A,5200.84746,N,00422.48826,E,54.692,324.31,120308,,,A*50
+$GPRMC,140638.00,A,5200.85982,N,00422.47396,E,54.837,324.51,120308,,,A*50
+$GPRMC,140639.00,A,5200.87217,N,00422.45959,E,54.979,324.37,120308,,,A*54
+$GPRMC,140640.00,A,5200.88455,N,00422.44519,E,54.945,324.21,120308,,,A*54
+$GPRMC,140641.00,A,5200.89693,N,00422.43077,E,54.900,324.27,120308,,,A*51
+$GPRMC,140642.00,A,5200.90940,N,00422.41640,E,55.579,324.36,120308,,,A*58
+$GPRMC,140643.00,A,5200.92198,N,00422.40196,E,56.310,324.05,120308,,,A*51
+$GPRMC,140644.00,A,5200.93471,N,00422.38702,E,56.875,324.05,120308,,,A*59
+$GPRMC,140645.00,A,5200.94772,N,00422.37197,E,57.925,324.72,120308,,,A*5F
+$GPRMC,140646.00,A,5200.96091,N,00422.35659,E,58.523,324.16,120308,,,A*54
+$GPRMC,140647.00,A,5200.97399,N,00422.34133,E,57.484,324.14,120308,,,A*54
+$GPRMC,140648.00,A,5200.98696,N,00422.32632,E,57.250,324.87,120308,,,A*5B
+$GPRMC,140649.00,A,5200.99994,N,00422.31139,E,57.280,325.08,120308,,,A*52
+$GPRMC,140650.00,A,5201.01251,N,00422.29622,E,56.310,323.16,120308,,,A*5C
+$GPRMC,140651.00,A,5201.02523,N,00422.28128,E,57.064,324.30,120308,,,A*52
+$GPRMC,140652.00,A,5201.03779,N,00422.26618,E,56.492,324.02,120308,,,A*5A
+$GPRMC,140653.00,A,5201.05027,N,00422.25116,E,56.223,324.12,120308,,,A*56
+$GPRMC,140654.00,A,5201.06274,N,00422.23625,E,55.822,324.12,120308,,,A*5F
+$GPRMC,140655.00,A,5201.07507,N,00422.22155,E,54.805,324.07,120308,,,A*5D
+$GPRMC,140656.00,A,5201.08733,N,00422.20726,E,54.153,324.53,120308,,,A*5F
+$GPRMC,140657.00,A,5201.09953,N,00422.19321,E,53.841,324.49,120308,,,A*58
+$GPRMC,140658.00,A,5201.11171,N,00422.17925,E,53.637,324.62,120308,,,A*50
+$GPRMC,140659.00,A,5201.12394,N,00422.16518,E,54.332,324.57,120308,,,A*59
+$GPRMC,140700.00,A,5201.13634,N,00422.15095,E,55.096,324.41,120308,,,A*52
+$GPRMC,140701.00,A,5201.14883,N,00422.13627,E,55.291,323.75,120308,,,A*5A
+$GPRMC,140702.00,A,5201.16120,N,00422.12137,E,55.539,323.19,120308,,,A*53
+$GPRMC,140703.00,A,5201.17393,N,00422.10689,E,55.991,324.23,120308,,,A*59
+$GPRMC,140704.00,A,5201.18661,N,00422.09235,E,55.924,324.58,120308,,,A*50
+$GPRMC,140705.00,A,5201.19924,N,00422.07763,E,55.694,324.23,120308,,,A*5E
+$GPRMC,140706.00,A,5201.21183,N,00422.06312,E,55.531,324.32,120308,,,A*5C
+$GPRMC,140707.00,A,5201.22442,N,00422.04869,E,55.554,324.55,120308,,,A*51
+$GPRMC,140708.00,A,5201.23698,N,00422.03416,E,55.920,324.15,120308,,,A*52
+$GPRMC,140709.00,A,5201.24967,N,00422.01971,E,56.182,324.09,120308,,,A*5B
+$GPRMC,140710.00,A,5201.26236,N,00422.00474,E,56.555,324.06,120308,,,A*56
+$GPRMC,140711.00,A,5201.27514,N,00421.98989,E,56.595,324.18,120308,,,A*5F
+$GPRMC,140712.00,A,5201.28788,N,00421.97509,E,56.253,324.15,120308,,,A*5F
+$GPRMC,140713.00,A,5201.30050,N,00421.96052,E,55.310,324.29,120308,,,A*55
+$GPRMC,140714.00,A,5201.31294,N,00421.94622,E,54.572,324.45,120308,,,A*53
+$GPRMC,140715.00,A,5201.32524,N,00421.93209,E,53.751,324.47,120308,,,A*51
+$GPRMC,140716.00,A,5201.33741,N,00421.91805,E,53.760,324.51,120308,,,A*53
+$GPRMC,140717.00,A,5201.34959,N,00421.90398,E,54.045,324.27,120308,,,A*5A
+$GPRMC,140718.00,A,5201.36186,N,00421.88985,E,54.594,324.67,120308,,,A*5F
+$GPRMC,140719.00,A,5201.37423,N,00421.87559,E,54.896,324.44,120308,,,A*59
+$GPRMC,140720.00,A,5201.38647,N,00421.86123,E,54.746,324.25,120308,,,A*51
+$GPRMC,140721.00,A,5201.39878,N,00421.84683,E,54.845,324.15,120308,,,A*53
+$GPRMC,140722.00,A,5201.41110,N,00421.83253,E,54.669,324.56,120308,,,A*51
+$GPRMC,140723.00,A,5201.42338,N,00421.81819,E,54.621,324.30,120308,,,A*51
+$GPRMC,140724.00,A,5201.43572,N,00421.80366,E,55.446,324.20,120308,,,A*5E
+$GPRMC,140725.00,A,5201.44818,N,00421.78902,E,55.738,324.31,120308,,,A*5C
+$GPRMC,140726.00,A,5201.46063,N,00421.77438,E,55.993,324.32,120308,,,A*5E
+$GPRMC,140727.00,A,5201.47324,N,00421.75956,E,56.402,324.23,120308,,,A*5F
+$GPRMC,140728.00,A,5201.48593,N,00421.74450,E,57.013,323.27,120308,,,A*59
+$GPRMC,140729.00,A,5201.49864,N,00421.72901,E,57.842,322.89,120308,,,A*5A
+$GPRMC,140730.00,A,5201.51183,N,00421.71369,E,58.977,324.35,120308,,,A*55
+$GPRMC,140731.00,A,5201.52518,N,00421.69818,E,59.768,324.40,120308,,,A*56
+$GPRMC,140732.00,A,5201.53860,N,00421.68256,E,60.145,324.50,120308,,,A*55
+$GPRMC,140733.00,A,5201.55225,N,00421.66688,E,60.393,324.58,120308,,,A*51
+$GPRMC,140734.00,A,5201.56603,N,00421.65093,E,61.314,324.30,120308,,,A*5A
+$GPRMC,140735.00,A,5201.57979,N,00421.63527,E,59.855,325.67,120308,,,A*52
+$GPRMC,140736.00,A,5201.59360,N,00421.61933,E,60.916,324.49,120308,,,A*57
+$GPRMC,140737.00,A,5201.60781,N,00421.60272,E,62.323,324.37,120308,,,A*5F
+$GPRMC,140738.00,A,5201.62187,N,00421.58635,E,62.095,324.56,120308,,,A*57
+$GPRMC,140739.00,A,5201.63602,N,00421.57003,E,61.767,324.35,120308,,,A*5D
+$GPRMC,140740.00,A,5201.64996,N,00421.55379,E,61.340,324.41,120308,,,A*58
+$GPRMC,140741.00,A,5201.66388,N,00421.53785,E,60.953,324.38,120308,,,A*58
+$GPRMC,140742.00,A,5201.67769,N,00421.52191,E,60.450,324.63,120308,,,A*53
+$GPRMC,140743.00,A,5201.69144,N,00421.50635,E,59.911,324.54,120308,,,A*58
+$GPRMC,140744.00,A,5201.70494,N,00421.49065,E,59.440,324.15,120308,,,A*58
+$GPRMC,140745.00,A,5201.71832,N,00421.47502,E,58.967,324.11,120308,,,A*5F
+$GPRMC,140746.00,A,5201.73157,N,00421.45973,E,57.890,324.56,120308,,,A*59
+$GPRMC,140747.00,A,5201.74460,N,00421.44483,E,56.681,324.73,120308,,,A*55
+$GPRMC,140748.00,A,5201.75735,N,00421.43022,E,55.795,324.58,120308,,,A*5E
+$GPRMC,140749.00,A,5201.76996,N,00421.41582,E,55.342,324.83,120308,,,A*5E
+$GPRMC,140750.00,A,5201.78250,N,00421.40138,E,55.500,324.38,120308,,,A*5D
+$GPRMC,140751.00,A,5201.79490,N,00421.38688,E,54.926,324.42,120308,,,A*50
+$GPRMC,140752.00,A,5201.80732,N,00421.37256,E,54.813,324.63,120308,,,A*52
+$GPRMC,140753.00,A,5201.81961,N,00421.35794,E,54.745,323.47,120308,,,A*5E
+$GPRMC,140754.00,A,5201.83232,N,00421.34380,E,55.297,325.23,120308,,,A*59
+$GPRMC,140755.00,A,5201.84533,N,00421.32979,E,55.716,325.97,120308,,,A*50
+$GPRMC,140756.00,A,5201.85826,N,00421.31616,E,55.100,327.51,120308,,,A*57
+$GPRMC,140757.00,A,5201.87105,N,00421.30306,E,54.377,329.07,120308,,,A*57
+$GPRMC,140758.00,A,5201.88392,N,00421.29086,E,54.043,330.40,120308,,,A*57
+$GPRMC,140759.00,A,5201.89706,N,00421.27935,E,53.764,332.17,120308,,,A*54
+$GPRMC,140800.00,A,5201.91039,N,00421.26852,E,53.987,333.87,120308,,,A*5F
+$GPRMC,140801.00,A,5201.92358,N,00421.25901,E,52.959,336.28,120308,,,A*5F
+$GPRMC,140802.00,A,5201.93724,N,00421.24963,E,53.275,337.23,120308,,,A*59
+$GPRMC,140803.00,A,5201.95112,N,00421.24075,E,53.404,339.02,120308,,,A*5E
+$GPRMC,140804.00,A,5201.96534,N,00421.23206,E,54.129,340.11,120308,,,A*5A
+$GPRMC,140805.00,A,5201.98003,N,00421.22421,E,54.882,341.67,120308,,,A*5E
+$GPRMC,140806.00,A,5201.99494,N,00421.21675,E,55.626,342.99,120308,,,A*55
+$GPRMC,140807.00,A,5202.00999,N,00421.20955,E,56.087,344.92,120308,,,A*58
+$GPRMC,140808.00,A,5202.02516,N,00421.20336,E,55.418,346.87,120308,,,A*56
+$GPRMC,140809.00,A,5202.03982,N,00421.19788,E,54.660,348.38,120308,,,A*5A
+$GPRMC,140810.00,A,5202.05460,N,00421.19330,E,53.945,349.29,120308,,,A*5C
+$GPRMC,140811.00,A,5202.06934,N,00421.18907,E,53.484,349.90,120308,,,A*5F
+$GPRMC,140812.00,A,5202.08380,N,00421.18510,E,53.069,350.08,120308,,,A*53
+$GPRMC,140813.00,A,5202.09830,N,00421.18101,E,52.851,350.13,120308,,,A*5F
+$GPRMC,140814.00,A,5202.11271,N,00421.17699,E,52.574,350.09,120308,,,A*56
+$GPRMC,140815.00,A,5202.12737,N,00421.17329,E,53.004,350.48,120308,,,A*5B
+$GPRMC,140816.00,A,5202.14165,N,00421.16932,E,52.452,350.05,120308,,,A*51
+$GPRMC,140817.00,A,5202.15594,N,00421.16529,E,52.332,349.63,120308,,,A*54
+$GPRMC,140818.00,A,5202.17003,N,00421.16113,E,52.440,350.21,120308,,,A*53
+$GPRMC,140819.00,A,5202.18429,N,00421.15724,E,52.553,350.28,120308,,,A*5A
+$GPRMC,140820.00,A,5202.19845,N,00421.15318,E,52.545,349.79,120308,,,A*57
+$GPRMC,140821.00,A,5202.21265,N,00421.14908,E,52.634,350.39,120308,,,A*56
+$GPRMC,140822.00,A,5202.22710,N,00421.14533,E,53.202,351.43,120308,,,A*59
+$GPRMC,140823.00,A,5202.24188,N,00421.14211,E,53.749,352.37,120308,,,A*54
+$GPRMC,140824.00,A,5202.25668,N,00421.13925,E,53.977,354.27,120308,,,A*54
+$GPRMC,140825.00,A,5202.27172,N,00421.13734,E,54.079,356.05,120308,,,A*57
+$GPRMC,140826.00,A,5202.28683,N,00421.13602,E,54.244,357.20,120308,,,A*5C
+$GPRMC,140827.00,A,5202.30206,N,00421.13521,E,54.447,358.36,120308,,,A*52
+$GPRMC,140828.00,A,5202.31740,N,00421.13493,E,54.844,359.25,120308,,,A*5F
+$GPRMC,140829.00,A,5202.33277,N,00421.13486,E,55.191,359.54,120308,,,A*5F
+$GPRMC,140830.00,A,5202.34813,N,00421.13490,E,55.409,0.21,120308,,,A*56
+$GPRMC,140831.00,A,5202.36342,N,00421.13498,E,54.771,359.90,120308,,,A*5A
+$GPRMC,140832.00,A,5202.37857,N,00421.13567,E,53.852,2.75,120308,,,A*59
+$GPRMC,140833.00,A,5202.39335,N,00421.13693,E,52.504,2.70,120308,,,A*5B
+$GPRMC,140834.00,A,5202.40840,N,00421.13675,E,53.927,0.02,120308,,,A*58
+$GPRMC,140835.00,A,5202.42367,N,00421.13669,E,55.046,0.17,120308,,,A*54
+$GPRMC,140836.00,A,5202.43935,N,00421.13683,E,56.234,0.68,120308,,,A*53
+$GPRMC,140837.00,A,5202.45522,N,00421.13707,E,57.165,0.90,120308,,,A*52
+$GPRMC,140838.00,A,5202.47115,N,00421.13786,E,57.260,2.70,120308,,,A*5C
+$GPRMC,140839.00,A,5202.48698,N,00421.13953,E,56.622,4.63,120308,,,A*51
+$GPRMC,140840.00,A,5202.50275,N,00421.14271,E,56.453,7.79,120308,,,A*51
+$GPRMC,140841.00,A,5202.51817,N,00421.14666,E,55.486,9.89,120308,,,A*57
+$GPRMC,140842.00,A,5202.53309,N,00421.15145,E,54.476,12.45,120308,,,A*61
+$GPRMC,140843.00,A,5202.54763,N,00421.15719,E,54.354,15.12,120308,,,A*62
+$GPRMC,140844.00,A,5202.56202,N,00421.16409,E,54.112,17.39,120308,,,A*6F
+$GPRMC,140845.00,A,5202.57649,N,00421.17203,E,55.295,19.06,120308,,,A*66
+$GPRMC,140846.00,A,5202.59123,N,00421.18140,E,57.085,21.80,120308,,,A*6F
+$GPRMC,140847.00,A,5202.60588,N,00421.19180,E,58.160,23.62,120308,,,A*67
+$GPRMC,140848.00,A,5202.62060,N,00421.20353,E,59.092,26.16,120308,,,A*64
+$GPRMC,140849.00,A,5202.63513,N,00421.21638,E,60.293,28.73,120308,,,A*68
+$GPRMC,140850.00,A,5202.65003,N,00421.23101,E,61.220,32.15,120308,,,A*6F
+$GPRMC,140851.00,A,5202.66484,N,00421.24725,E,63.308,34.36,120308,,,A*6F
+$GPRMC,140852.00,A,5202.67953,N,00421.26444,E,64.590,36.61,120308,,,A*6C
+$GPRMC,140853.00,A,5202.69399,N,00421.28241,E,66.182,37.35,120308,,,A*67
+$GPRMC,140854.00,A,5202.70839,N,00421.30184,E,67.407,39.32,120308,,,A*6A
+$GPRMC,140855.00,A,5202.72273,N,00421.32229,E,68.224,40.57,120308,,,A*6E
+$GPRMC,140856.00,A,5202.73742,N,00421.34312,E,69.429,39.94,120308,,,A*6F
+$GPRMC,140857.00,A,5202.75180,N,00421.36341,E,68.777,40.03,120308,,,A*6D
+$GPRMC,140858.00,A,5202.76615,N,00421.38362,E,68.370,40.35,120308,,,A*63
+$GPRMC,140859.00,A,5202.78036,N,00421.40357,E,68.377,40.59,120308,,,A*6F
+$GPRMC,140900.00,A,5202.79457,N,00421.42334,E,68.068,40.49,120308,,,A*6B
+$GPRMC,140901.00,A,5202.80874,N,00421.44286,E,67.458,40.24,120308,,,A*6C
+$GPRMC,140902.00,A,5202.82295,N,00421.46239,E,67.196,40.31,120308,,,A*6D
+$GPRMC,140903.00,A,5202.83702,N,00421.48209,E,67.245,40.68,120308,,,A*6A
+$GPRMC,140904.00,A,5202.85121,N,00421.50193,E,67.497,40.61,120308,,,A*65
+$GPRMC,140905.00,A,5202.86550,N,00421.52164,E,67.389,40.20,120308,,,A*62
+$GPRMC,140906.00,A,5202.87985,N,00421.54127,E,67.321,39.96,120308,,,A*64
+$GPRMC,140907.00,A,5202.89424,N,00421.56135,E,67.653,40.48,120308,,,A*61
+$GPRMC,140908.00,A,5202.90843,N,00421.58109,E,68.140,40.25,120308,,,A*6B
+$GPRMC,140909.00,A,5202.92255,N,00421.60100,E,66.807,40.63,120308,,,A*61
+$GPRMC,140910.00,A,5202.93651,N,00421.62025,E,66.444,39.90,120308,,,A*65
+$GPRMC,140911.00,A,5202.95078,N,00421.63968,E,66.727,39.96,120308,,,A*6E
+$GPRMC,140912.00,A,5202.96474,N,00421.65886,E,66.366,39.95,120308,,,A*63
+$GPRMC,140913.00,A,5202.97860,N,00421.67829,E,66.630,40.14,120308,,,A*6C
+$GPRMC,140914.00,A,5202.99234,N,00421.69758,E,66.671,38.95,120308,,,A*6A
+$GPRMC,140915.00,A,5203.00634,N,00421.71642,E,66.020,39.38,120308,,,A*69
+$GPRMC,140916.00,A,5203.02022,N,00421.73605,E,65.648,41.07,120308,,,A*60
+$GPRMC,140917.00,A,5203.03404,N,00421.75575,E,65.978,41.17,120308,,,A*6F
+$GPRMC,140918.00,A,5203.04788,N,00421.77547,E,66.434,41.05,120308,,,A*66
+$GPRMC,140919.00,A,5203.06138,N,00421.79548,E,65.342,42.34,120308,,,A*6D
+$GPRMC,140920.00,A,5203.07482,N,00421.81542,E,65.237,43.28,120308,,,A*60
+$GPRMC,140921.00,A,5203.08856,N,00421.83546,E,65.053,43.91,120308,,,A*6F
+$GPRMC,140922.00,A,5203.10162,N,00421.85577,E,63.964,44.76,120308,,,A*6A
+$GPRMC,140923.00,A,5203.11416,N,00421.87600,E,62.801,45.30,120308,,,A*6D
+$GPRMC,140924.00,A,5203.12604,N,00421.89581,E,61.137,45.62,120308,,,A*64
+$GPRMC,140925.00,A,5203.13769,N,00421.91525,E,59.756,45.92,120308,,,A*6C
+$GPRMC,140926.00,A,5203.14923,N,00421.93406,E,58.395,44.85,120308,,,A*67
+$GPRMC,140927.00,A,5203.16094,N,00421.95261,E,57.648,44.90,120308,,,A*6E
+$GPRMC,140928.00,A,5203.17262,N,00421.96977,E,56.512,42.19,120308,,,A*6E
+$GPRMC,140929.00,A,5203.18503,N,00421.98552,E,56.292,38.55,120308,,,A*6F
+$GPRMC,140930.00,A,5203.19820,N,00421.99994,E,56.512,34.38,120308,,,A*65
+$GPRMC,140931.00,A,5203.21140,N,00422.01350,E,56.156,33.05,120308,,,A*6D
+$GPRMC,140932.00,A,5203.22507,N,00422.02692,E,57.160,31.47,120308,,,A*62
+$GPRMC,140933.00,A,5203.23855,N,00422.03954,E,56.888,29.95,120308,,,A*64
+$GPRMC,140934.00,A,5203.25232,N,00422.05175,E,56.669,28.06,120308,,,A*69
+$GPRMC,140935.00,A,5203.26638,N,00422.06347,E,56.702,27.12,120308,,,A*63
+$GPRMC,140936.00,A,5203.28047,N,00422.07483,E,56.974,26.43,120308,,,A*64
+$GPRMC,140937.00,A,5203.29438,N,00422.08599,E,57.094,26.35,120308,,,A*6A
+$GPRMC,140938.00,A,5203.30829,N,00422.09696,E,56.069,26.26,120308,,,A*6D
+$GPRMC,140939.00,A,5203.32212,N,00422.10819,E,56.099,26.96,120308,,,A*69
+$GPRMC,140940.00,A,5203.33579,N,00422.11905,E,55.683,27.75,120308,,,A*63
+$GPRMC,140941.00,A,5203.34928,N,00422.13074,E,55.534,29.14,120308,,,A*66
+$GPRMC,140942.00,A,5203.36264,N,00422.14245,E,55.703,30.21,120308,,,A*6B
+$GPRMC,140943.00,A,5203.37600,N,00422.15507,E,56.285,31.29,120308,,,A*6C
+$GPRMC,140944.00,A,5203.38935,N,00422.16819,E,56.199,31.89,120308,,,A*68
+$GPRMC,140945.00,A,5203.40247,N,00422.18130,E,55.741,32.20,120308,,,A*64
+$GPRMC,140946.00,A,5203.41547,N,00422.19443,E,54.695,32.53,120308,,,A*6C
+$GPRMC,140947.00,A,5203.42786,N,00422.20762,E,53.730,33.37,120308,,,A*61
+$GPRMC,140948.00,A,5203.44018,N,00422.22075,E,52.770,32.94,120308,,,A*66
+$GPRMC,140949.00,A,5203.45226,N,00422.23355,E,52.143,33.08,120308,,,A*6B
+$GPRMC,140950.00,A,5203.46416,N,00422.24637,E,51.250,33.50,120308,,,A*6C
+$GPRMC,140951.00,A,5203.47569,N,00422.25919,E,50.703,35.05,120308,,,A*63
+$GPRMC,140952.00,A,5203.48725,N,00422.27213,E,50.472,34.63,120308,,,A*62
+$GPRMC,140953.00,A,5203.49863,N,00422.28529,E,50.127,35.65,120308,,,A*6C
+$GPRMC,140954.00,A,5203.50992,N,00422.29873,E,50.513,35.87,120308,,,A*60
+$GPRMC,140955.00,A,5203.52127,N,00422.31226,E,50.433,35.65,120308,,,A*69
+$GPRMC,140956.00,A,5203.53298,N,00422.32557,E,51.335,35.19,120308,,,A*65
+$GPRMC,140957.00,A,5203.54491,N,00422.33947,E,53.092,35.64,120308,,,A*66
+$GPRMC,140958.00,A,5203.55734,N,00422.35387,E,54.974,36.00,120308,,,A*63
+$GPRMC,140959.00,A,5203.57000,N,00422.36891,E,56.475,36.09,120308,,,A*68
+$GPRMC,141000.00,A,5203.58278,N,00422.38390,E,56.521,35.20,120308,,,A*62
+$GPRMC,141001.00,A,5203.59554,N,00422.39875,E,56.180,35.06,120308,,,A*61
+$GPRMC,141002.00,A,5203.60833,N,00422.41356,E,56.276,35.10,120308,,,A*6C
+$GPRMC,141003.00,A,5203.62101,N,00422.42869,E,55.965,35.87,120308,,,A*67
+$GPRMC,141004.00,A,5203.63379,N,00422.44357,E,55.783,35.27,120308,,,A*60
+$GPRMC,141005.00,A,5203.64643,N,00422.45771,E,54.201,33.90,120308,,,A*6F
+$GPRMC,141006.00,A,5203.65894,N,00422.47215,E,54.730,34.73,120308,,,A*61
+$GPRMC,141007.00,A,5203.67118,N,00422.48637,E,53.564,34.41,120308,,,A*61
+$GPRMC,141008.00,A,5203.68314,N,00422.50026,E,52.616,34.68,120308,,,A*6C
+$GPRMC,141009.00,A,5203.69507,N,00422.51365,E,51.899,34.29,120308,,,A*62
+$GPRMC,141010.00,A,5203.70669,N,00422.52745,E,51.946,36.13,120308,,,A*64
+$GPRMC,141011.00,A,5203.71803,N,00422.54049,E,50.396,35.48,120308,,,A*60
+$GPRMC,141012.00,A,5203.72946,N,00422.55331,E,50.698,34.07,120308,,,A*6C
+$GPRMC,141013.00,A,5203.74086,N,00422.56521,E,49.557,32.22,120308,,,A*63
+$GPRMC,141014.00,A,5203.75214,N,00422.57674,E,48.685,31.27,120308,,,A*65
+$GPRMC,141015.00,A,5203.76262,N,00422.59032,E,49.406,34.69,120308,,,A*6B
+$GPRMC,141016.00,A,5203.77316,N,00422.60376,E,49.043,37.65,120308,,,A*68
+$GPRMC,141017.00,A,5203.78406,N,00422.61703,E,49.798,36.29,120308,,,A*6F
+$GPRMC,141018.00,A,5203.79523,N,00422.63005,E,50.057,35.21,120308,,,A*63
+$GPRMC,141019.00,A,5203.80659,N,00422.64306,E,49.991,35.18,120308,,,A*6C
+$GPRMC,141020.00,A,5203.81800,N,00422.65649,E,50.920,35.69,120308,,,A*6E
+$GPRMC,141021.00,A,5203.82941,N,00422.67006,E,50.705,35.99,120308,,,A*61
+$GPRMC,141022.00,A,5203.84079,N,00422.68374,E,50.593,36.40,120308,,,A*65
+$GPRMC,141023.00,A,5203.85188,N,00422.69731,E,49.348,36.22,120308,,,A*62
+$GPRMC,141024.00,A,5203.86260,N,00422.70925,E,48.653,36.02,120308,,,A*6C
+$GPRMC,141025.00,A,5203.87346,N,00422.72190,E,48.734,35.50,120308,,,A*69
+$GPRMC,141026.00,A,5203.88405,N,00422.73419,E,46.919,36.17,120308,,,A*6F
+$GPRMC,141027.00,A,5203.89420,N,00422.74598,E,45.296,36.16,120308,,,A*69
+$GPRMC,141028.00,A,5203.90413,N,00422.75724,E,43.907,36.14,120308,,,A*6D
+$GPRMC,141029.00,A,5203.91369,N,00422.76870,E,43.456,37.01,120308,,,A*66
+$GPRMC,141030.00,A,5203.92323,N,00422.78034,E,43.716,36.99,120308,,,A*62
+$GPRMC,141031.00,A,5203.93280,N,00422.79224,E,43.969,37.78,120308,,,A*60
+$GPRMC,141032.00,A,5203.94239,N,00422.80445,E,44.461,38.00,120308,,,A*63
+$GPRMC,141033.00,A,5203.95180,N,00422.81686,E,43.869,39.16,120308,,,A*6B
+$GPRMC,141034.00,A,5203.96115,N,00422.82943,E,44.400,39.86,120308,,,A*6B
+$GPRMC,141035.00,A,5203.97053,N,00422.84261,E,45.196,40.87,120308,,,A*61
+$GPRMC,141036.00,A,5203.98008,N,00422.85660,E,46.143,42.03,120308,,,A*62
+$GPRMC,141037.00,A,5203.99001,N,00422.87080,E,47.009,42.13,120308,,,A*6E
+$GPRMC,141038.00,A,5203.99966,N,00422.88546,E,47.510,42.86,120308,,,A*68
+$GPRMC,141039.00,A,5204.00925,N,00422.90027,E,47.265,43.35,120308,,,A*6E
+$GPRMC,141040.00,A,5204.01874,N,00422.91509,E,47.029,43.90,120308,,,A*69
+$GPRMC,141041.00,A,5204.02806,N,00422.92978,E,46.924,44.65,120308,,,A*6F
+$GPRMC,141042.00,A,5204.03717,N,00422.94466,E,46.513,45.33,120308,,,A*6C
+$GPRMC,141043.00,A,5204.04591,N,00422.95926,E,44.815,45.86,120308,,,A*69
+$GPRMC,141044.00,A,5204.05427,N,00422.97346,E,43.040,46.33,120308,,,A*6F
+$GPRMC,141045.00,A,5204.06232,N,00422.98733,E,42.204,46.20,120308,,,A*67
+$GPRMC,141046.00,A,5204.07041,N,00423.00086,E,42.137,43.83,120308,,,A*65
+$GPRMC,141047.00,A,5204.07857,N,00423.01426,E,41.334,45.94,120308,,,A*66
+$GPRMC,141048.00,A,5204.08646,N,00423.02759,E,40.830,46.29,120308,,,A*6B
+$GPRMC,141049.00,A,5204.09435,N,00423.04101,E,41.521,46.17,120308,,,A*61
+$GPRMC,141050.00,A,5204.10247,N,00423.05483,E,43.429,46.04,120308,,,A*65
+$GPRMC,141051.00,A,5204.11107,N,00423.06915,E,45.212,46.27,120308,,,A*6A
+$GPRMC,141052.00,A,5204.11964,N,00423.08402,E,45.878,46.79,120308,,,A*6C
+$GPRMC,141053.00,A,5204.12830,N,00423.09942,E,47.141,47.73,120308,,,A*6C
+$GPRMC,141054.00,A,5204.13689,N,00423.11566,E,47.587,49.73,120308,,,A*65
+$GPRMC,141055.00,A,5204.14544,N,00423.13261,E,48.488,51.16,120308,,,A*68
+$GPRMC,141056.00,A,5204.15404,N,00423.15000,E,49.354,51.64,120308,,,A*6E
+$GPRMC,141057.00,A,5204.16268,N,00423.16779,E,50.062,51.90,120308,,,A*6F
+$GPRMC,141058.00,A,5204.17114,N,00423.18518,E,49.179,50.42,120308,,,A*6F
+$GPRMC,141059.00,A,5204.17985,N,00423.20233,E,48.898,49.37,120308,,,A*66
+$GPRMC,141100.00,A,5204.18877,N,00423.21929,E,49.236,49.83,120308,,,A*69
+$GPRMC,141101.00,A,5204.19754,N,00423.23616,E,48.830,50.19,120308,,,A*60
+$GPRMC,141102.00,A,5204.20615,N,00423.25332,E,48.864,51.46,120308,,,A*62
+$GPRMC,141103.00,A,5204.21453,N,00423.27064,E,48.436,52.01,120308,,,A*6B
+$GPRMC,141104.00,A,5204.22248,N,00423.28852,E,48.987,53.82,120308,,,A*6C
+$GPRMC,141105.00,A,5204.23009,N,00423.30634,E,48.212,54.54,120308,,,A*67
+$GPRMC,141106.00,A,5204.23780,N,00423.32400,E,48.087,54.46,120308,,,A*68
+$GPRMC,141107.00,A,5204.24519,N,00423.34270,E,48.683,54.89,120308,,,A*6A
+$GPRMC,141108.00,A,5204.25257,N,00423.36087,E,48.062,55.54,120308,,,A*69
+$GPRMC,141109.00,A,5204.25955,N,00423.37868,E,47.068,56.16,120308,,,A*69
+$GPRMC,141110.00,A,5204.26640,N,00423.39696,E,47.000,57.16,120308,,,A*67
+$GPRMC,141111.00,A,5204.27343,N,00423.41544,E,47.566,56.97,120308,,,A*6F
+$GPRMC,141112.00,A,5204.28074,N,00423.43262,E,46.492,55.21,120308,,,A*60
+$GPRMC,141113.00,A,5204.28824,N,00423.44933,E,45.752,54.23,120308,,,A*6B
+$GPRMC,141114.00,A,5204.29568,N,00423.46666,E,46.662,54.81,120308,,,A*6C
+$GPRMC,141115.00,A,5204.30280,N,00423.48479,E,45.992,56.10,120308,,,A*6F
+$GPRMC,141116.00,A,5204.30919,N,00423.50259,E,45.409,57.89,120308,,,A*64
+$GPRMC,141117.00,A,5204.31600,N,00423.51970,E,45.356,56.81,120308,,,A*66
+$GPRMC,141118.00,A,5204.32274,N,00423.53660,E,45.104,57.21,120308,,,A*6F
+$GPRMC,141119.00,A,5204.32948,N,00423.55326,E,44.628,56.30,120308,,,A*62
+$GPRMC,141120.00,A,5204.33583,N,00423.56966,E,43.521,56.72,120308,,,A*64
+$GPRMC,141121.00,A,5204.34184,N,00423.58589,E,42.529,57.05,120308,,,A*6A
+$GPRMC,141122.00,A,5204.34781,N,00423.60168,E,41.441,57.22,120308,,,A*63
+$GPRMC,141123.00,A,5204.35384,N,00423.61684,E,40.533,57.33,120308,,,A*63
+$GPRMC,141124.00,A,5204.35978,N,00423.63186,E,39.843,57.57,120308,,,A*6C
+$GPRMC,141125.00,A,5204.36523,N,00423.64707,E,38.796,58.59,120308,,,A*63
+$GPRMC,141126.00,A,5204.37079,N,00423.66174,E,38.414,58.82,120308,,,A*64
+$GPRMC,141127.00,A,5204.37604,N,00423.67644,E,38.120,59.18,120308,,,A*6C
+$GPRMC,141128.00,A,5204.38117,N,00423.69103,E,38.002,59.66,120308,,,A*6B
+$GPRMC,141129.00,A,5204.38618,N,00423.70568,E,37.924,60.18,120308,,,A*62
+$GPRMC,141130.00,A,5204.39124,N,00423.72049,E,37.965,60.20,120308,,,A*69
+$GPRMC,141131.00,A,5204.39621,N,00423.73534,E,37.285,60.42,120308,,,A*65
+$GPRMC,141132.00,A,5204.40120,N,00423.75046,E,38.742,63.60,120308,,,A*6A
+$GPRMC,141133.00,A,5204.40629,N,00423.76546,E,37.270,60.99,120308,,,A*6D
+$GPRMC,141134.00,A,5204.41083,N,00423.77943,E,34.386,62.24,120308,,,A*6A
+$GPRMC,141135.00,A,5204.41553,N,00423.79235,E,31.824,61.21,120308,,,A*67
+$GPRMC,141136.00,A,5204.42047,N,00423.80516,E,30.776,62.24,120308,,,A*68
+$GPRMC,141137.00,A,5204.42449,N,00423.81765,E,31.475,63.62,120308,,,A*66
+$GPRMC,141138.00,A,5204.42659,N,00423.82927,E,28.590,73.81,120308,,,A*6F
+$GPRMC,141139.00,A,5204.42778,N,00423.84110,E,27.824,83.45,120308,,,A*6C
+$GPRMC,141140.00,A,5204.42741,N,00423.85430,E,28.935,93.78,120308,,,A*6F
+$GPRMC,141141.00,A,5204.42405,N,00423.86423,E,25.516,114.37,120308,,,A*59
+$GPRMC,141142.00,A,5204.41962,N,00423.87356,E,24.640,127.04,120308,,,A*50
+$GPRMC,141143.00,A,5204.41326,N,00423.87974,E,25.058,144.81,120308,,,A*57
+$GPRMC,141144.00,A,5204.40772,N,00423.88497,E,23.868,150.67,120308,,,A*5B
+$GPRMC,141145.00,A,5204.40082,N,00423.88640,E,24.387,168.79,120308,,,A*53
+$GPRMC,141146.00,A,5204.39311,N,00423.88552,E,26.261,186.28,120308,,,A*58
+$GPRMC,141147.00,A,5204.38594,N,00423.88240,E,26.650,194.84,120308,,,A*54
+$GPRMC,141148.00,A,5204.37919,N,00423.87607,E,25.590,209.36,120308,,,A*57
+$GPRMC,141149.00,A,5204.37347,N,00423.86793,E,24.553,221.16,120308,,,A*5C
+$GPRMC,141150.00,A,5204.36854,N,00423.85960,E,22.944,225.96,120308,,,A*5D
+$GPRMC,141151.00,A,5204.36473,N,00423.85306,E,18.262,229.72,120308,,,A*5F
+$GPRMC,141152.00,A,5204.36181,N,00423.84760,E,12.270,230.21,120308,,,A*56
+$GPRMC,141153.00,A,5204.36025,N,00423.84454,E,6.411,229.93,120308,,,A*69
+$GPRMC,141154.00,A,5204.35960,N,00423.84328,E,2.568,229.28,120308,,,A*62
+$GPRMC,141155.00,A,5204.35956,N,00423.84288,E,0.866,229.31,120308,,,A*64
+$GPRMC,141156.00,A,5204.35957,N,00423.84293,E,0.078,228.92,120308,,,A*63
+$GPRMC,141157.00,A,5204.35975,N,00423.84309,E,0.242,218.02,120308,,,A*61
+$GPRMC,141158.00,A,5204.36040,N,00423.84291,E,0.388,229.23,120308,,,A*64
+$GPRMC,141159.00,A,5204.36042,N,00423.84313,E,0.248,218.53,120308,,,A*64
+$GPRMC,141200.00,A,5204.36080,N,00423.84289,E,0.033,222.79,120308,,,A*68
+$GPRMC,141201.00,A,5204.36094,N,00423.84275,E,0.028,220.02,120308,,,A*6B
+$GPRMC,141202.00,A,5204.36110,N,00423.84261,E,0.073,222.73,120308,,,A*6A
+$GPRMC,141203.00,A,5204.36115,N,00423.84255,E,0.021,226.58,120308,,,A*63
+$GPRMC,141204.00,A,5204.36129,N,00423.84238,E,0.043,229.26,120308,,,A*62
+$GPRMC,141205.00,A,5204.36135,N,00423.84244,E,0.025,231.80,120308,,,A*60
+$GPRMC,141206.00,A,5204.36131,N,00423.84251,E,0.045,227.56,120308,,,A*69
+$GPRMC,141207.00,A,5204.36131,N,00423.84248,E,0.038,231.71,120308,,,A*68
+$GPRMC,141208.00,A,5204.36132,N,00423.84246,E,0.004,,120308,,,A*7D
+$GPRMC,141209.00,A,5204.36135,N,00423.84241,E,0.015,,120308,,,A*7C
+$GPRMC,141210.00,A,5204.36136,N,00423.84239,E,0.023,234.53,120308,,,A*60
+$GPRMC,141211.00,A,5204.36137,N,00423.84236,E,0.015,,120308,,,A*77
+$GPRMC,141212.00,A,5204.36128,N,00423.84248,E,0.015,,120308,,,A*73
+$GPRMC,141213.00,A,5204.36120,N,00423.84258,E,0.022,232.24,120308,,,A*64
+$GPRMC,141214.00,A,5204.36111,N,00423.84265,E,0.050,231.40,120308,,,A*6B
+$GPRMC,141215.00,A,5204.36102,N,00423.84269,E,0.021,228.97,120308,,,A*60
+$GPRMC,141216.00,A,5204.36113,N,00423.84266,E,0.015,,120308,,,A*73
+$GPRMC,141217.00,A,5204.36103,N,00423.84272,E,0.133,233.94,120308,,,A*62
+$GPRMC,141218.00,A,5204.36093,N,00423.84279,E,0.022,231.26,120308,,,A*64
+$GPRMC,141219.00,A,5204.36083,N,00423.84282,E,0.003,,120308,,,A*79
+$GPRMC,141220.00,A,5204.36071,N,00423.84284,E,0.009,,120308,,,A*72
+$GPRMC,141221.00,A,5204.36058,N,00423.84282,E,0.025,230.13,120308,,,A*6D
+$GPRMC,141222.00,A,5204.36046,N,00423.84279,E,0.008,,120308,,,A*77
+$GPRMC,141223.00,A,5204.36043,N,00423.84271,E,0.005,,120308,,,A*76
+$GPRMC,141224.00,A,5204.36032,N,00423.84270,E,0.006,,120308,,,A*75
+$GPRMC,141225.00,A,5204.36031,N,00423.84261,E,0.025,233.34,120308,,,A*6D
+$GPRMC,141226.00,A,5204.36030,N,00423.84253,E,0.009,,120308,,,A*7B
+$GPRMC,141227.00,A,5204.36029,N,00423.84245,E,0.054,232.55,120308,,,A*60
+$GPRMC,141228.00,A,5204.36024,N,00423.84247,E,0.024,231.42,120308,,,A*62
+$GPRMC,141229.00,A,5204.36020,N,00423.84249,E,0.046,231.52,120308,,,A*6C
+$GPRMC,141230.00,A,5204.36023,N,00423.84246,E,0.019,,120308,,,A*7B
+$GPRMC,141231.00,A,5204.36025,N,00423.84245,E,0.021,230.96,120308,,,A*64
+$GPRMC,141232.00,A,5204.36029,N,00423.84243,E,0.005,,120308,,,A*7B
+$GPRMC,141233.00,A,5204.36031,N,00423.84240,E,0.070,229.75,120308,,,A*67
+$GPRMC,141234.00,A,5204.36030,N,00423.84239,E,0.032,228.82,120308,,,A*60
+$GPRMC,141235.00,A,5204.36030,N,00423.84238,E,0.019,227.65,120308,,,A*6F
+$GPRMC,141236.00,A,5204.36031,N,00423.84239,E,0.003,,120308,,,A*7D
+$GPRMC,141237.00,A,5204.36033,N,00423.84239,E,0.016,,120308,,,A*7A
+$GPRMC,141238.00,A,5204.36034,N,00423.84240,E,0.043,227.21,120308,,,A*66
+$GPRMC,141239.00,A,5204.36034,N,00423.84240,E,0.012,,120308,,,A*79
+$GPRMC,141240.00,A,5204.36035,N,00423.84240,E,0.025,221.60,120308,,,A*6B
+$GPRMC,141241.00,A,5204.36036,N,00423.84240,E,0.023,220.69,120308,,,A*67
+$GPRMC,141242.00,A,5204.36039,N,00423.84239,E,0.019,,120308,,,A*7D
+$GPRMC,141243.00,A,5204.36042,N,00423.84237,E,0.025,218.45,120308,,,A*65
+$GPRMC,141244.00,A,5204.36044,N,00423.84236,E,0.024,215.84,120308,,,A*64
+$GPRMC,141245.00,A,5204.36048,N,00423.84237,E,0.010,,120308,,,A*7B
+$GPRMC,141246.00,A,5204.36051,N,00423.84238,E,0.024,211.18,120308,,,A*6D
+$GPRMC,141247.00,A,5204.36054,N,00423.84239,E,0.032,212.25,120308,,,A*62
+$GPRMC,141248.00,A,5204.36061,N,00423.84238,E,0.015,,120308,,,A*77
+$GPRMC,141249.00,A,5204.36069,N,00423.84238,E,0.012,,120308,,,A*79
+$GPRMC,141250.00,A,5204.36078,N,00423.84239,E,0.020,215.86,120308,,,A*67
+$GPRMC,141251.00,A,5204.36087,N,00423.84239,E,0.002,,120308,,,A*70
+$GPRMC,141252.00,A,5204.36095,N,00423.84238,E,0.019,,120308,,,A*7B
+$GPRMC,141253.00,A,5204.36106,N,00423.84239,E,0.122,210.97,120308,,,A*6A
+$GPRMC,141254.00,A,5204.36116,N,00423.84240,E,0.030,213.94,120308,,,A*60
+$GPRMC,141255.00,A,5204.36125,N,00423.84240,E,0.077,208.74,120308,,,A*66
+$GPRMC,141256.00,A,5204.36123,N,00423.84209,E,1.287,211.23,120308,,,A*68
+$GPRMC,141257.00,A,5204.36064,N,00423.84060,E,5.883,238.40,120308,,,A*62
+$GPRMC,141258.00,A,5204.35934,N,00423.83735,E,10.628,237.01,120308,,,A*53
+$GPRMC,141259.00,A,5204.35780,N,00423.83297,E,11.807,244.90,120308,,,A*50
+$GPRMC,141300.00,A,5204.35659,N,00423.82805,E,11.781,248.16,120308,,,A*5B
+$GPRMC,141301.00,A,5204.35564,N,00423.82282,E,11.913,253.32,120308,,,A*5B
+$GPRMC,141302.00,A,5204.35601,N,00423.81636,E,12.998,269.52,120308,,,A*5F
+$GPRMC,141303.00,A,5204.35806,N,00423.80963,E,14.412,287.16,120308,,,A*50
+$GPRMC,141304.00,A,5204.36743,N,00423.79840,E,26.929,313.65,120308,,,A*50
+$GPRMC,141305.00,A,5204.37298,N,00423.78946,E,27.782,315.62,120308,,,A*5A
+$GPRMC,141306.00,A,5204.37879,N,00423.78023,E,28.641,316.41,120308,,,A*55
+$GPRMC,141307.00,A,5204.38507,N,00423.77045,E,30.067,317.13,120308,,,A*5D
+$GPRMC,141308.00,A,5204.39160,N,00423.76065,E,30.900,318.19,120308,,,A*58
+$GPRMC,141309.00,A,5204.39815,N,00423.75127,E,30.920,318.64,120308,,,A*5E
+$GPRMC,141310.00,A,5204.40468,N,00423.74215,E,30.535,318.19,120308,,,A*5F
+$GPRMC,141311.00,A,5204.41110,N,00423.73289,E,30.044,317.79,120308,,,A*5D
+$GPRMC,141312.00,A,5204.41683,N,00423.72426,E,28.424,317.46,120308,,,A*56
+$GPRMC,141313.00,A,5204.42263,N,00423.71546,E,27.892,316.37,120308,,,A*53
+$GPRMC,141314.00,A,5204.42789,N,00423.70696,E,26.764,314.80,120308,,,A*53
+$GPRMC,141315.00,A,5204.43253,N,00423.69937,E,24.618,314.69,120308,,,A*52
+$GPRMC,141316.00,A,5204.43715,N,00423.69181,E,22.854,314.23,120308,,,A*5D
+$GPRMC,141317.00,A,5204.44162,N,00423.68462,E,22.289,315.24,120308,,,A*58
+$GPRMC,141318.00,A,5204.44581,N,00423.67810,E,21.021,315.76,120308,,,A*5C
+$GPRMC,141319.00,A,5204.44930,N,00423.67294,E,18.461,316.29,120308,,,A*5E
+$GPRMC,141320.00,A,5204.45189,N,00423.66889,E,15.308,315.74,120308,,,A*56
+$GPRMC,141321.00,A,5204.45407,N,00423.66599,E,12.818,317.51,120308,,,A*50
+$GPRMC,141322.00,A,5204.45537,N,00423.66364,E,10.027,312.26,120308,,,A*56
+$GPRMC,141323.00,A,5204.45633,N,00423.66216,E,7.894,312.98,120308,,,A*67
+$GPRMC,141324.00,A,5204.45670,N,00423.66136,E,5.629,309.00,120308,,,A*67
+$GPRMC,141325.00,A,5204.45574,N,00423.66349,E,0.868,308.60,120308,,,A*62
+$GPRMC,141326.00,A,5204.45576,N,00423.66317,E,0.205,308.56,120308,,,A*6C
+$GPRMC,141327.00,A,5204.45574,N,00423.66283,E,0.112,308.13,120308,,,A*67
+$GPRMC,141328.00,A,5204.45571,N,00423.66248,E,0.041,311.76,120308,,,A*66
+$GPRMC,141329.00,A,5204.45577,N,00423.66215,E,0.034,307.42,120308,,,A*6B
+$GPRMC,141330.00,A,5204.45578,N,00423.66213,E,0.023,310.50,120308,,,A*69
+$GPRMC,141331.00,A,5204.45582,N,00423.66196,E,0.104,310.73,120308,,,A*66
+$GPRMC,141332.00,A,5204.45572,N,00423.66199,E,0.449,321.42,120308,,,A*69
+$GPRMC,141333.00,A,5204.45564,N,00423.66188,E,0.086,316.09,120308,,,A*63
+$GPRMC,141334.00,A,5204.45557,N,00423.66176,E,0.071,315.82,120308,,,A*6D
+$GPRMC,141335.00,A,5204.45547,N,00423.66172,E,0.040,315.24,120308,,,A*67
+$GPRMC,141336.00,A,5204.45537,N,00423.66168,E,0.014,,120308,,,A*76
+$GPRMC,141337.00,A,5204.45529,N,00423.66172,E,0.071,320.56,120308,,,A*6C
+$GPRMC,141338.00,A,5204.45522,N,00423.66180,E,0.021,320.94,120308,,,A*6E
+$GPRMC,141339.00,A,5204.45516,N,00423.66189,E,0.016,,120308,,,A*77
+$GPRMC,141340.00,A,5204.45510,N,00423.66197,E,0.030,318.88,120308,,,A*60
+$GPRMC,141341.00,A,5204.45505,N,00423.66203,E,0.108,315.37,120308,,,A*68
+$GPRMC,141342.00,A,5204.45502,N,00423.66207,E,0.110,314.85,120308,,,A*69
+$GPRMC,141343.00,A,5204.45499,N,00423.66208,E,0.075,320.18,120308,,,A*65
+$GPRMC,141344.00,A,5204.45495,N,00423.66214,E,0.104,324.51,120308,,,A*6D
+$GPRMC,141345.00,A,5204.45493,N,00423.66216,E,0.068,323.47,120308,,,A*63
+$GPRMC,141346.00,A,5204.45491,N,00423.66219,E,0.060,321.92,120308,,,A*6F
+$GPRMC,141347.00,A,5204.45489,N,00423.66220,E,0.129,323.55,120308,,,A*68
+$GPRMC,141348.00,A,5204.45484,N,00423.66219,E,0.070,327.60,120308,,,A*6F
+$GPRMC,141349.00,A,5204.45480,N,00423.66226,E,0.147,331.62,120308,,,A*66
+$GPRMC,141350.00,A,5204.45462,N,00423.66261,E,0.101,335.81,120308,,,A*6A
+$GPRMC,141351.00,A,5204.45470,N,00423.66235,E,1.023,334.77,120308,,,A*61
+$GPRMC,141352.00,A,5204.45525,N,00423.66148,E,3.808,317.02,120308,,,A*6A
+$GPRMC,141353.00,A,5204.45640,N,00423.65947,E,6.923,317.14,120308,,,A*65
+$GPRMC,141354.00,A,5204.45818,N,00423.65653,E,9.728,317.18,120308,,,A*6D
+$GPRMC,141355.00,A,5204.46056,N,00423.65300,E,12.497,317.54,120308,,,A*5B
+$GPRMC,141356.00,A,5204.46336,N,00423.64886,E,13.337,317.58,120308,,,A*59
+$GPRMC,141357.00,A,5204.46629,N,00423.64474,E,13.720,319.09,120308,,,A*5A
+$GPRMC,141358.00,A,5204.46933,N,00423.64031,E,14.712,317.70,120308,,,A*52
+$GPRMC,141359.00,A,5204.47256,N,00423.63550,E,16.579,317.15,120308,,,A*51
+$GPRMC,141400.00,A,5204.47621,N,00423.62943,E,18.052,317.28,120308,,,A*5D
+$GPRMC,141401.00,A,5204.47944,N,00423.62285,E,18.227,306.90,120308,,,A*52
+$GPRMC,141402.00,A,5204.48133,N,00423.61504,E,19.171,288.08,120308,,,A*5C
+$GPRMC,141403.00,A,5204.48209,N,00423.60617,E,19.244,275.28,120308,,,A*52
+$GPRMC,141404.00,A,5204.48163,N,00423.59798,E,17.917,263.44,120308,,,A*58
+$GPRMC,141405.00,A,5204.47939,N,00423.59138,E,18.754,240.97,120308,,,A*54
+$GPRMC,141406.00,A,5204.47618,N,00423.58418,E,20.086,231.93,120308,,,A*5C
+$GPRMC,141407.00,A,5204.47179,N,00423.57755,E,22.794,225.11,120308,,,A*51
+$GPRMC,141408.00,A,5204.46679,N,00423.57019,E,25.145,222.79,120308,,,A*53
+$GPRMC,141409.00,A,5204.46127,N,00423.56383,E,24.684,217.12,120308,,,A*5F
+$GPRMC,141410.00,A,5204.45478,N,00423.55962,E,24.652,205.42,120308,,,A*50
+$GPRMC,141411.00,A,5204.44846,N,00423.55583,E,24.221,197.21,120308,,,A*5F
+$GPRMC,141412.00,A,5204.44204,N,00423.55388,E,24.678,190.69,120308,,,A*5E
+$GPRMC,141413.00,A,5204.43509,N,00423.55300,E,25.358,185.40,120308,,,A*5B
+$GPRMC,141414.00,A,5204.42785,N,00423.55274,E,27.134,183.04,120308,,,A*55
+$GPRMC,141415.00,A,5204.42020,N,00423.55188,E,28.114,184.49,120308,,,A*5F
+$GPRMC,141416.00,A,5204.41227,N,00423.55067,E,28.443,187.82,120308,,,A*59
+$GPRMC,141417.00,A,5204.40459,N,00423.54834,E,27.928,191.55,120308,,,A*5B
+$GPRMC,141418.00,A,5204.39699,N,00423.54538,E,27.538,195.88,120308,,,A*5C
+$GPRMC,141419.00,A,5204.38957,N,00423.54183,E,28.200,197.48,120308,,,A*58
+$GPRMC,141420.00,A,5204.38250,N,00423.53675,E,27.347,204.17,120308,,,A*59
+$GPRMC,141421.00,A,5204.37538,N,00423.53091,E,28.518,208.14,120308,,,A*5E
+$GPRMC,141422.00,A,5204.36822,N,00423.52351,E,29.620,212.93,120308,,,A*59
+$GPRMC,141423.00,A,5204.36140,N,00423.51582,E,29.982,216.68,120308,,,A*59
+$GPRMC,141424.00,A,5204.35492,N,00423.50729,E,30.520,221.40,120308,,,A*57
+$GPRMC,141425.00,A,5204.34875,N,00423.49738,E,31.975,226.25,120308,,,A*53
+$GPRMC,141426.00,A,5204.34280,N,00423.48595,E,34.000,229.65,120308,,,A*51
+$GPRMC,141427.00,A,5204.33688,N,00423.47367,E,35.101,233.39,120308,,,A*5C
+$GPRMC,141428.00,A,5204.33091,N,00423.46002,E,37.503,235.16,120308,,,A*53
+$GPRMC,141429.00,A,5204.32491,N,00423.44550,E,38.720,236.04,120308,,,A*5B
+$GPRMC,141430.00,A,5204.31873,N,00423.43047,E,40.561,235.24,120308,,,A*5D
+$GPRMC,141431.00,A,5204.31206,N,00423.41554,E,40.885,232.96,120308,,,A*58
+$GPRMC,141432.00,A,5204.30512,N,00423.40069,E,41.597,232.70,120308,,,A*55
+$GPRMC,141433.00,A,5204.29745,N,00423.38695,E,41.436,228.27,120308,,,A*55
+$GPRMC,141434.00,A,5204.29043,N,00423.37005,E,43.479,232.98,120308,,,A*55
+$GPRMC,141435.00,A,5204.28382,N,00423.35297,E,45.063,235.22,120308,,,A*5F
+$GPRMC,141436.00,A,5204.27698,N,00423.33623,E,45.206,235.78,120308,,,A*5E
+$GPRMC,141437.00,A,5204.27022,N,00423.31868,E,46.600,236.26,120308,,,A*52
+$GPRMC,141438.00,A,5204.26323,N,00423.30046,E,48.307,236.41,120308,,,A*56
+$GPRMC,141439.00,A,5204.25605,N,00423.28130,E,50.550,237.85,120308,,,A*58
+$GPRMC,141440.00,A,5204.24869,N,00423.26189,E,50.245,236.16,120308,,,A*57
+$GPRMC,141441.00,A,5204.24122,N,00423.24270,E,49.963,236.13,120308,,,A*55
+$GPRMC,141442.00,A,5204.23358,N,00423.22354,E,50.813,236.32,120308,,,A*52
+$GPRMC,141443.00,A,5204.22591,N,00423.20459,E,50.377,236.53,120308,,,A*57
+$GPRMC,141444.00,A,5204.21814,N,00423.18602,E,49.739,234.75,120308,,,A*54
+$GPRMC,141445.00,A,5204.20974,N,00423.16785,E,51.171,232.11,120308,,,A*54
+$GPRMC,141446.00,A,5204.20059,N,00423.14885,E,53.747,231.33,120308,,,A*5E
+$GPRMC,141447.00,A,5204.19114,N,00423.12960,E,55.622,231.79,120308,,,A*5B
+$GPRMC,141448.00,A,5204.18145,N,00423.10948,E,57.176,232.17,120308,,,A*56
+$GPRMC,141449.00,A,5204.17148,N,00423.08885,E,58.760,231.81,120308,,,A*5E
+$GPRMC,141450.00,A,5204.16114,N,00423.06776,E,60.296,231.57,120308,,,A*5F
+$GPRMC,141451.00,A,5204.15063,N,00423.04718,E,58.861,229.94,120308,,,A*59
+$GPRMC,141452.00,A,5204.13999,N,00423.02695,E,58.266,228.99,120308,,,A*53
+$GPRMC,141453.00,A,5204.12956,N,00423.00758,E,55.760,228.79,120308,,,A*52
+$GPRMC,141454.00,A,5204.11887,N,00422.98902,E,56.252,227.43,120308,,,A*5B
+$GPRMC,141455.00,A,5204.10808,N,00422.97064,E,54.961,227.14,120308,,,A*51
+$GPRMC,141456.00,A,5204.09774,N,00422.95282,E,53.479,225.81,120308,,,A*5B
+$GPRMC,141457.00,A,5204.08734,N,00422.93596,E,52.756,224.55,120308,,,A*5C
+$GPRMC,141458.00,A,5204.07724,N,00422.91989,E,51.298,223.31,120308,,,A*5C
+$GPRMC,141459.00,A,5204.06669,N,00422.90467,E,50.582,221.41,120308,,,A*50
+$GPRMC,141500.00,A,5204.05562,N,00422.89030,E,49.970,219.31,120308,,,A*5D
+$GPRMC,141501.00,A,5204.04475,N,00422.87642,E,48.682,218.47,120308,,,A*54
+$GPRMC,141502.00,A,5204.03423,N,00422.86340,E,47.357,217.85,120308,,,A*56
+$GPRMC,141503.00,A,5204.02389,N,00422.85091,E,45.981,217.01,120308,,,A*52
+$GPRMC,141504.00,A,5204.01372,N,00422.83898,E,44.608,216.29,120308,,,A*51
+$GPRMC,141505.00,A,5204.00376,N,00422.82747,E,43.409,215.82,120308,,,A*5F
+$GPRMC,141506.00,A,5203.99395,N,00422.81637,E,42.538,215.39,120308,,,A*51
+$GPRMC,141507.00,A,5203.98428,N,00422.80545,E,41.966,214.23,120308,,,A*59
+$GPRMC,141508.00,A,5203.97461,N,00422.79485,E,41.915,213.39,120308,,,A*57
+$GPRMC,141509.00,A,5203.96494,N,00422.78455,E,41.351,213.36,120308,,,A*54
+$GPRMC,141510.00,A,5203.95532,N,00422.77419,E,41.649,213.86,120308,,,A*52
+$GPRMC,141511.00,A,5203.94566,N,00422.76380,E,41.674,213.79,120308,,,A*5B
+$GPRMC,141512.00,A,5203.93588,N,00422.75340,E,42.308,213.25,120308,,,A*54
+$GPRMC,141513.00,A,5203.92583,N,00422.74274,E,43.896,213.47,120308,,,A*51
+$GPRMC,141514.00,A,5203.91540,N,00422.73159,E,45.697,213.74,120308,,,A*58
+$GPRMC,141515.00,A,5203.90467,N,00422.71995,E,46.974,213.93,120308,,,A*5E
+$GPRMC,141516.00,A,5203.89374,N,00422.70808,E,47.390,213.89,120308,,,A*5E
+$GPRMC,141517.00,A,5203.88260,N,00422.69600,E,48.808,213.90,120308,,,A*59
+$GPRMC,141518.00,A,5203.87111,N,00422.68346,E,50.686,214.21,120308,,,A*56
+$GPRMC,141519.00,A,5203.85923,N,00422.67036,E,52.509,214.27,120308,,,A*57
+$GPRMC,141520.00,A,5203.84690,N,00422.65680,E,54.144,214.81,120308,,,A*55
+$GPRMC,141521.00,A,5203.83432,N,00422.64256,E,55.745,215.51,120308,,,A*5D
+$GPRMC,141522.00,A,5203.82145,N,00422.62775,E,57.222,215.53,120308,,,A*5C
+$GPRMC,141523.00,A,5203.80827,N,00422.61257,E,58.435,215.53,120308,,,A*5B
+$GPRMC,141524.00,A,5203.79485,N,00422.59717,E,59.167,214.94,120308,,,A*5D
+$GPRMC,141525.00,A,5203.78134,N,00422.58190,E,58.723,214.89,120308,,,A*51
+$GPRMC,141526.00,A,5203.76802,N,00422.56666,E,57.510,215.54,120308,,,A*5C
+$GPRMC,141527.00,A,5203.75495,N,00422.55164,E,57.795,214.97,120308,,,A*5B
+$GPRMC,141528.00,A,5203.74181,N,00422.53676,E,57.604,214.87,120308,,,A*5F
+$GPRMC,141529.00,A,5203.72889,N,00422.52196,E,56.586,215.04,120308,,,A*53
+$GPRMC,141530.00,A,5203.71593,N,00422.50731,E,57.088,214.82,120308,,,A*52
+$GPRMC,141531.00,A,5203.70299,N,00422.49307,E,55.787,214.60,120308,,,A*50
+$GPRMC,141532.00,A,5203.69001,N,00422.47869,E,54.921,214.99,120308,,,A*50
+$GPRMC,141533.00,A,5203.67751,N,00422.46449,E,54.739,215.91,120308,,,A*5C
+$GPRMC,141534.00,A,5203.66528,N,00422.45026,E,54.344,215.72,120308,,,A*5B
+$GPRMC,141535.00,A,5203.65307,N,00422.43616,E,54.131,215.58,120308,,,A*59
+$GPRMC,141536.00,A,5203.64096,N,00422.42198,E,54.348,215.83,120308,,,A*5A
+$GPRMC,141537.00,A,5203.62867,N,00422.40761,E,55.173,215.70,120308,,,A*5E
+$GPRMC,141538.00,A,5203.61614,N,00422.39302,E,55.932,215.51,120308,,,A*59
+$GPRMC,141539.00,A,5203.60343,N,00422.37829,E,56.491,215.53,120308,,,A*57
+$GPRMC,141540.00,A,5203.59061,N,00422.36340,E,56.804,215.54,120308,,,A*52
+$GPRMC,141541.00,A,5203.57777,N,00422.34845,E,56.795,215.65,120308,,,A*54
+$GPRMC,141542.00,A,5203.56498,N,00422.33348,E,56.893,215.69,120308,,,A*50
+$GPRMC,141543.00,A,5203.55209,N,00422.31845,E,57.277,215.57,120308,,,A*54
+$GPRMC,141544.00,A,5203.53909,N,00422.30334,E,57.801,215.62,120308,,,A*5F
+$GPRMC,141545.00,A,5203.52604,N,00422.28802,E,58.109,216.05,120308,,,A*56
+$GPRMC,141546.00,A,5203.51299,N,00422.27249,E,58.223,216.32,120308,,,A*53
+$GPRMC,141547.00,A,5203.49993,N,00422.25683,E,58.461,216.43,120308,,,A*5C
+$GPRMC,141548.00,A,5203.48690,N,00422.24124,E,57.962,216.32,120308,,,A*52
+$GPRMC,141549.00,A,5203.47402,N,00422.22589,E,57.102,216.17,120308,,,A*59
+$GPRMC,141550.00,A,5203.46132,N,00422.21071,E,56.394,216.60,120308,,,A*5B
+$GPRMC,141551.00,A,5203.44883,N,00422.19564,E,56.007,216.61,120308,,,A*59
+$GPRMC,141552.00,A,5203.43646,N,00422.18053,E,55.821,217.13,120308,,,A*51
+$GPRMC,141553.00,A,5203.42416,N,00422.16539,E,55.653,217.28,120308,,,A*52
+$GPRMC,141554.00,A,5203.41189,N,00422.15018,E,55.667,217.57,120308,,,A*5F
+$GPRMC,141555.00,A,5203.39972,N,00422.13487,E,55.530,217.84,120308,,,A*56
+$GPRMC,141556.00,A,5203.38762,N,00422.11957,E,55.201,217.84,120308,,,A*5C
+$GPRMC,141557.00,A,5203.37559,N,00422.10430,E,55.004,217.97,120308,,,A*50
+$GPRMC,141558.00,A,5203.36367,N,00422.08906,E,54.496,218.26,120308,,,A*5F
+$GPRMC,141559.00,A,5203.35191,N,00422.07385,E,54.125,218.47,120308,,,A*52
+$GPRMC,141600.00,A,5203.34049,N,00422.05832,E,53.519,220.08,120308,,,A*51
+$GPRMC,141601.00,A,5203.32932,N,00422.04261,E,53.133,221.74,120308,,,A*58
+$GPRMC,141602.00,A,5203.31862,N,00422.02635,E,52.625,223.55,120308,,,A*5F
+$GPRMC,141603.00,A,5203.30835,N,00422.00978,E,51.798,225.17,120308,,,A*5D
+$GPRMC,141604.00,A,5203.29855,N,00421.99310,E,50.463,226.55,120308,,,A*50
+$GPRMC,141605.00,A,5203.28915,N,00421.97641,E,49.703,227.64,120308,,,A*54
+$GPRMC,141606.00,A,5203.28011,N,00421.95995,E,48.404,227.93,120308,,,A*53
+$GPRMC,141607.00,A,5203.27122,N,00421.94359,E,48.166,227.64,120308,,,A*5E
+$GPRMC,141608.00,A,5203.26222,N,00421.92722,E,48.775,227.53,120308,,,A*5D
+$GPRMC,141609.00,A,5203.25324,N,00421.91067,E,49.256,229.05,120308,,,A*55
+$GPRMC,141610.00,A,5203.24435,N,00421.89360,E,49.509,229.62,120308,,,A*5A
+$GPRMC,141611.00,A,5203.23529,N,00421.87708,E,49.677,228.08,120308,,,A*53
+$GPRMC,141612.00,A,5203.22587,N,00421.86084,E,49.855,226.16,120308,,,A*58
+$GPRMC,141613.00,A,5203.21615,N,00421.84495,E,50.212,224.86,120308,,,A*5E
+$GPRMC,141614.00,A,5203.20604,N,00421.82966,E,50.098,222.16,120308,,,A*50
+$GPRMC,141615.00,A,5203.19557,N,00421.81507,E,49.943,219.70,120308,,,A*59
+$GPRMC,141616.00,A,5203.18454,N,00421.80173,E,49.905,216.63,120308,,,A*50
+$GPRMC,141617.00,A,5203.17303,N,00421.78900,E,49.949,214.41,120308,,,A*5A
+$GPRMC,141618.00,A,5203.16114,N,00421.77686,E,50.953,212.46,120308,,,A*5C
+$GPRMC,141619.00,A,5203.14898,N,00421.76492,E,51.218,211.44,120308,,,A*50
+$GPRMC,141620.00,A,5203.13685,N,00421.75288,E,51.337,212.10,120308,,,A*5F
+$GPRMC,141621.00,A,5203.12478,N,00421.74061,E,51.518,212.61,120308,,,A*56
+$GPRMC,141622.00,A,5203.11258,N,00421.72830,E,51.975,212.47,120308,,,A*5B
+$GPRMC,141623.00,A,5203.10033,N,00421.71583,E,52.037,212.70,120308,,,A*5A
+$GPRMC,141624.00,A,5203.08822,N,00421.70335,E,51.310,212.79,120308,,,A*5A
+$GPRMC,141625.00,A,5203.07633,N,00421.69102,E,50.249,212.95,120308,,,A*5A
+$GPRMC,141626.00,A,5203.06476,N,00421.67894,E,48.970,213.24,120308,,,A*50
+$GPRMC,141627.00,A,5203.05362,N,00421.66717,E,47.088,213.36,120308,,,A*57
+$GPRMC,141628.00,A,5203.04287,N,00421.65578,E,45.803,213.46,120308,,,A*55
+$GPRMC,141629.00,A,5203.03228,N,00421.64448,E,45.883,213.66,120308,,,A*5F
+$GPRMC,141630.00,A,5203.02171,N,00421.63269,E,47.003,215.45,120308,,,A*5E
+$GPRMC,141631.00,A,5203.01105,N,00421.61996,E,48.608,217.25,120308,,,A*50
+$GPRMC,141632.00,A,5203.00020,N,00421.60620,E,50.612,218.54,120308,,,A*5C
+$GPRMC,141633.00,A,5202.98917,N,00421.59179,E,51.350,219.20,120308,,,A*51
+$GPRMC,141634.00,A,5202.97818,N,00421.57709,E,51.262,219.44,120308,,,A*5A
+$GPRMC,141635.00,A,5202.96736,N,00421.56237,E,50.576,220.30,120308,,,A*5A
+$GPRMC,141636.00,A,5202.95683,N,00421.54763,E,49.636,221.00,120308,,,A*5E
+$GPRMC,141637.00,A,5202.94663,N,00421.53298,E,48.736,221.92,120308,,,A*5D
+$GPRMC,141638.00,A,5202.93676,N,00421.51836,E,47.849,222.33,120308,,,A*5D
+$GPRMC,141639.00,A,5202.92715,N,00421.50364,E,47.717,223.50,120308,,,A*54
+$GPRMC,141640.00,A,5202.91783,N,00421.48831,E,47.998,225.21,120308,,,A*5D
+$GPRMC,141641.00,A,5202.90864,N,00421.47254,E,48.205,227.16,120308,,,A*5B
+$GPRMC,141642.00,A,5202.89977,N,00421.45635,E,47.996,228.27,120308,,,A*51
+$GPRMC,141643.00,A,5202.89118,N,00421.43971,E,48.544,229.91,120308,,,A*58
+$GPRMC,141644.00,A,5202.88281,N,00421.42245,E,48.862,232.38,120308,,,A*50
+$GPRMC,141645.00,A,5202.87493,N,00421.40452,E,49.566,235.14,120308,,,A*58
+$GPRMC,141646.00,A,5202.86743,N,00421.38583,E,49.357,237.24,120308,,,A*53
+$GPRMC,141647.00,A,5202.86053,N,00421.36670,E,48.645,239.14,120308,,,A*5F
+$GPRMC,141648.00,A,5202.85404,N,00421.34763,E,47.922,241.59,120308,,,A*53
+$GPRMC,141649.00,A,5202.84822,N,00421.32833,E,47.647,244.93,120308,,,A*58
+$GPRMC,141650.00,A,5202.84299,N,00421.30885,E,46.340,246.98,120308,,,A*5F
+$GPRMC,141651.00,A,5202.83846,N,00421.28967,E,44.475,249.16,120308,,,A*5F
+$GPRMC,141652.00,A,5202.83463,N,00421.27060,E,43.922,251.21,120308,,,A*53
+$GPRMC,141653.00,A,5202.83112,N,00421.25132,E,44.797,252.62,120308,,,A*56
+$GPRMC,141654.00,A,5202.82775,N,00421.23202,E,43.973,253.34,120308,,,A*50
+$GPRMC,141655.00,A,5202.82458,N,00421.21310,E,43.229,255.28,120308,,,A*52
+$GPRMC,141656.00,A,5202.82183,N,00421.19379,E,44.148,257.59,120308,,,A*51
+$GPRMC,141657.00,A,5202.81947,N,00421.17379,E,45.693,259.26,120308,,,A*5B
+$GPRMC,141658.00,A,5202.81733,N,00421.15317,E,46.934,260.09,120308,,,A*55
+$GPRMC,141659.00,A,5202.81515,N,00421.13224,E,46.983,259.47,120308,,,A*59
+$GPRMC,141700.00,A,5202.81295,N,00421.11139,E,46.381,258.71,120308,,,A*5A
+$GPRMC,141701.00,A,5202.81038,N,00421.09112,E,45.833,257.36,120308,,,A*53
+$GPRMC,141702.00,A,5202.80745,N,00421.07110,E,45.009,255.11,120308,,,A*56
+$GPRMC,141703.00,A,5202.80409,N,00421.05167,E,44.191,252.49,120308,,,A*55
+$GPRMC,141704.00,A,5202.80018,N,00421.03282,E,44.203,249.77,120308,,,A*57
+$GPRMC,141705.00,A,5202.79536,N,00421.01451,E,44.906,245.96,120308,,,A*5E
+$GPRMC,141706.00,A,5202.78974,N,00420.99618,E,46.464,242.36,120308,,,A*5F
+$GPRMC,141707.00,A,5202.78316,N,00420.97794,E,47.574,237.81,120308,,,A*54
+$GPRMC,141708.00,A,5202.77538,N,00420.96038,E,48.127,233.58,120308,,,A*53
+$GPRMC,141709.00,A,5202.76695,N,00420.94361,E,47.649,229.47,120308,,,A*5F
+$GPRMC,141710.00,A,5202.75799,N,00420.92790,E,47.793,225.70,120308,,,A*5B
+$GPRMC,141711.00,A,5202.74810,N,00420.91337,E,48.346,221.98,120308,,,A*5E
+$GPRMC,141712.00,A,5202.73726,N,00420.89975,E,49.891,217.13,120308,,,A*53
+$GPRMC,141713.00,A,5202.72559,N,00420.88708,E,50.948,212.75,120308,,,A*54
+$GPRMC,141714.00,A,5202.71310,N,00420.87559,E,52.067,208.70,120308,,,A*5A
+$GPRMC,141715.00,A,5202.69980,N,00420.86543,E,53.028,204.04,120308,,,A*5E
+$GPRMC,141716.00,A,5202.68597,N,00420.85645,E,53.335,200.71,120308,,,A*59
+$GPRMC,141717.00,A,5202.67180,N,00420.84937,E,53.504,195.90,120308,,,A*5A
+$GPRMC,141718.00,A,5202.65649,N,00420.84471,E,54.490,190.88,120308,,,A*5D
+$GPRMC,141719.00,A,5202.64097,N,00420.84247,E,55.748,185.49,120308,,,A*55
+$GPRMC,141720.00,A,5202.62518,N,00420.84168,E,55.777,182.03,120308,,,A*50
+$GPRMC,141721.00,A,5202.60927,N,00420.84344,E,55.498,176.82,120308,,,A*5F
+$GPRMC,141722.00,A,5202.59390,N,00420.84630,E,55.649,174.18,120308,,,A*59
+$GPRMC,141723.00,A,5202.57851,N,00420.84909,E,55.438,173.88,120308,,,A*5F
+$GPRMC,141724.00,A,5202.56334,N,00420.85326,E,55.058,171.40,120308,,,A*53
+$GPRMC,141725.00,A,5202.54879,N,00420.86074,E,53.510,166.00,120308,,,A*58
+$GPRMC,141726.00,A,5202.53558,N,00420.87447,E,54.587,156.47,120308,,,A*5E
+$GPRMC,141727.00,A,5202.52194,N,00420.88784,E,55.520,151.63,120308,,,A*54
+$GPRMC,141728.00,A,5202.50883,N,00420.90412,E,55.314,146.44,120308,,,A*51
+$GPRMC,141729.00,A,5202.49620,N,00420.92106,E,56.370,143.16,120308,,,A*5E
+$GPRMC,141730.00,A,5202.48402,N,00420.93803,E,56.276,140.92,120308,,,A*50
+$GPRMC,141731.00,A,5202.47184,N,00420.95449,E,56.001,140.47,120308,,,A*5B
+$GPRMC,141732.00,A,5202.45988,N,00420.97175,E,56.380,140.29,120308,,,A*54
+$GPRMC,141733.00,A,5202.44746,N,00420.98867,E,57.812,141.21,120308,,,A*55
+$GPRMC,141734.00,A,5202.43454,N,00421.00517,E,59.456,142.56,120308,,,A*5E
+$GPRMC,141735.00,A,5202.42125,N,00421.02138,E,60.535,144.49,120308,,,A*50
+$GPRMC,141736.00,A,5202.40724,N,00421.03690,E,61.578,145.81,120308,,,A*5F
+$GPRMC,141737.00,A,5202.39277,N,00421.05153,E,61.106,148.77,120308,,,A*54
+$GPRMC,141738.00,A,5202.37759,N,00421.06565,E,63.194,150.96,120308,,,A*51
+$GPRMC,141739.00,A,5202.36256,N,00421.07797,E,61.848,153.68,120308,,,A*5D
+$GPRMC,141740.00,A,5202.34724,N,00421.08901,E,61.111,156.33,120308,,,A*51
+$GPRMC,141741.00,A,5202.33152,N,00421.09966,E,60.948,158.32,120308,,,A*5A
+$GPRMC,141742.00,A,5202.31574,N,00421.10894,E,60.484,161.18,120308,,,A*50
+$GPRMC,141743.00,A,5202.29940,N,00421.11667,E,61.025,164.07,120308,,,A*55
+$GPRMC,141744.00,A,5202.28257,N,00421.12342,E,61.826,166.40,120308,,,A*55
+$GPRMC,141745.00,A,5202.26612,N,00421.12914,E,61.955,167.57,120308,,,A*54
+$GPRMC,141746.00,A,5202.24921,N,00421.13412,E,62.838,169.23,120308,,,A*54
+$GPRMC,141747.00,A,5202.23207,N,00421.13869,E,63.859,169.85,120308,,,A*57
+$GPRMC,141748.00,A,5202.21464,N,00421.14325,E,64.180,170.53,120308,,,A*54
+$GPRMC,141749.00,A,5202.19718,N,00421.14807,E,64.510,170.42,120308,,,A*50
+$GPRMC,141750.00,A,5202.17950,N,00421.15303,E,65.134,170.02,120308,,,A*5D
+$GPRMC,141751.00,A,5202.16214,N,00421.15785,E,63.515,170.32,120308,,,A*5E
+$GPRMC,141752.00,A,5202.14491,N,00421.16292,E,62.964,169.70,120308,,,A*51
+$GPRMC,141753.00,A,5202.12784,N,00421.16788,E,62.469,169.56,120308,,,A*5B
+$GPRMC,141754.00,A,5202.11080,N,00421.17286,E,62.462,170.02,120308,,,A*54
+$GPRMC,141755.00,A,5202.09390,N,00421.17733,E,61.961,170.70,120308,,,A*5D
+$GPRMC,141756.00,A,5202.07729,N,00421.18169,E,60.824,170.45,120308,,,A*57
+$GPRMC,141757.00,A,5202.06082,N,00421.18622,E,59.967,170.12,120308,,,A*57
+$GPRMC,141758.00,A,5202.04439,N,00421.19070,E,59.641,171.08,120308,,,A*5F
+$GPRMC,141759.00,A,5202.02836,N,00421.19504,E,58.018,169.74,120308,,,A*54
+$GPRMC,141800.00,A,5202.01282,N,00421.20143,E,57.726,166.35,120308,,,A*53
+$GPRMC,141801.00,A,5201.99789,N,00421.20790,E,56.002,164.91,120308,,,A*5A
+$GPRMC,141802.00,A,5201.98279,N,00421.21455,E,56.444,163.64,120308,,,A*52
+$GPRMC,141803.00,A,5201.96761,N,00421.22232,E,57.095,162.19,120308,,,A*57
+$GPRMC,141804.00,A,5201.95289,N,00421.23056,E,56.306,160.84,120308,,,A*5F
+$GPRMC,141805.00,A,5201.93827,N,00421.23956,E,56.525,158.50,120308,,,A*5A
+$GPRMC,141806.00,A,5201.92369,N,00421.24931,E,57.467,157.02,120308,,,A*51
+$GPRMC,141807.00,A,5201.90903,N,00421.25968,E,58.005,155.85,120308,,,A*5B
+$GPRMC,141808.00,A,5201.89457,N,00421.27108,E,58.657,154.05,120308,,,A*54
+$GPRMC,141809.00,A,5201.88000,N,00421.28364,E,59.161,151.80,120308,,,A*5E
+$GPRMC,141810.00,A,5201.86552,N,00421.29675,E,59.025,150.14,120308,,,A*53
+$GPRMC,141811.00,A,5201.85128,N,00421.31042,E,58.843,148.39,120308,,,A*5C
+$GPRMC,141812.00,A,5201.83750,N,00421.32465,E,58.318,146.58,120308,,,A*5E
+$GPRMC,141813.00,A,5201.82420,N,00421.33910,E,57.051,146.16,120308,,,A*5F
+$GPRMC,141814.00,A,5201.81125,N,00421.35363,E,56.221,145.41,120308,,,A*56
+$GPRMC,141815.00,A,5201.79880,N,00421.36777,E,54.449,144.82,120308,,,A*50
+$GPRMC,141816.00,A,5201.78644,N,00421.38262,E,53.897,144.11,120308,,,A*59
+$GPRMC,141817.00,A,5201.77443,N,00421.39752,E,53.023,144.07,120308,,,A*55
+$GPRMC,141818.00,A,5201.76284,N,00421.41141,E,52.168,144.28,120308,,,A*5F
+$GPRMC,141819.00,A,5201.75133,N,00421.42495,E,51.437,144.32,120308,,,A*5A
+$GPRMC,141820.00,A,5201.73990,N,00421.43850,E,50.658,144.11,120308,,,A*58
+$GPRMC,141821.00,A,5201.72866,N,00421.45182,E,49.920,144.22,120308,,,A*58
+$GPRMC,141822.00,A,5201.71748,N,00421.46491,E,49.229,144.48,120308,,,A*51
+$GPRMC,141823.00,A,5201.70651,N,00421.47770,E,47.769,144.47,120308,,,A*55
+$GPRMC,141824.00,A,5201.69593,N,00421.49006,E,46.535,144.46,120308,,,A*54
+$GPRMC,141825.00,A,5201.68555,N,00421.50212,E,46.277,144.26,120308,,,A*56
+$GPRMC,141826.00,A,5201.67520,N,00421.51412,E,46.255,144.26,120308,,,A*5F
+$GPRMC,141827.00,A,5201.66477,N,00421.52617,E,46.087,144.27,120308,,,A*54
+$GPRMC,141828.00,A,5201.65442,N,00421.53815,E,45.686,144.37,120308,,,A*56
+$GPRMC,141829.00,A,5201.64398,N,00421.55019,E,46.615,144.59,120308,,,A*55
+$GPRMC,141830.00,A,5201.63338,N,00421.56236,E,46.870,144.57,120308,,,A*5F
+$GPRMC,141831.00,A,5201.62292,N,00421.57439,E,46.595,144.37,120308,,,A*56
+$GPRMC,141832.00,A,5201.61247,N,00421.58651,E,45.973,144.32,120308,,,A*5F
+$GPRMC,141833.00,A,5201.60227,N,00421.59836,E,45.370,144.43,120308,,,A*58
+$GPRMC,141834.00,A,5201.59206,N,00421.61018,E,45.757,144.48,120308,,,A*53
+$GPRMC,141835.00,A,5201.58170,N,00421.62227,E,46.111,144.11,120308,,,A*57
+$GPRMC,141836.00,A,5201.57135,N,00421.63427,E,45.959,144.31,120308,,,A*58
+$GPRMC,141837.00,A,5201.56098,N,00421.64646,E,46.228,144.02,120308,,,A*52
+$GPRMC,141838.00,A,5201.55060,N,00421.65899,E,45.938,143.92,120308,,,A*53
+$GPRMC,141839.00,A,5201.54010,N,00421.67150,E,47.027,144.37,120308,,,A*57
+$GPRMC,141840.00,A,5201.52956,N,00421.68392,E,47.275,144.70,120308,,,A*51
+$GPRMC,141841.00,A,5201.51862,N,00421.69669,E,47.964,144.62,120308,,,A*5D
+$GPRMC,141842.00,A,5201.50764,N,00421.70944,E,49.671,144.53,120308,,,A*59
+$GPRMC,141843.00,A,5201.49611,N,00421.72297,E,51.145,144.31,120308,,,A*59
+$GPRMC,141844.00,A,5201.48449,N,00421.73664,E,51.750,144.29,120308,,,A*52
+$GPRMC,141845.00,A,5201.47289,N,00421.75020,E,51.689,144.14,120308,,,A*5D
+$GPRMC,141846.00,A,5201.46101,N,00421.76428,E,52.533,143.94,120308,,,A*5D
+$GPRMC,141847.00,A,5201.44914,N,00421.77829,E,52.365,144.11,120308,,,A*51
+$GPRMC,141848.00,A,5201.43727,N,00421.79221,E,53.052,143.97,120308,,,A*54
+$GPRMC,141849.00,A,5201.42536,N,00421.80619,E,52.787,144.15,120308,,,A*5C
+$GPRMC,141850.00,A,5201.41346,N,00421.81996,E,52.485,144.59,120308,,,A*56
+$GPRMC,141851.00,A,5201.40165,N,00421.83361,E,52.085,144.48,120308,,,A*51
+$GPRMC,141852.00,A,5201.38999,N,00421.84713,E,51.335,144.41,120308,,,A*52
+$GPRMC,141853.00,A,5201.37855,N,00421.86047,E,50.280,144.22,120308,,,A*52
+$GPRMC,141854.00,A,5201.36737,N,00421.87361,E,49.601,144.07,120308,,,A*5B
+$GPRMC,141855.00,A,5201.35636,N,00421.88657,E,48.715,144.09,120308,,,A*5D
+$GPRMC,141856.00,A,5201.34551,N,00421.89929,E,48.305,144.32,120308,,,A*57
+$GPRMC,141857.00,A,5201.33457,N,00421.91204,E,48.833,144.42,120308,,,A*52
+$GPRMC,141858.00,A,5201.32353,N,00421.92485,E,49.474,144.48,120308,,,A*57
+$GPRMC,141859.00,A,5201.31240,N,00421.93779,E,49.799,144.27,120308,,,A*5E
+$GPRMC,141900.00,A,5201.30129,N,00421.95076,E,49.820,144.32,120308,,,A*59
+$GPRMC,141901.00,A,5201.29010,N,00421.96377,E,49.961,144.22,120308,,,A*5F
+$GPRMC,141902.00,A,5201.27879,N,00421.97694,E,50.313,144.19,120308,,,A*53
+$GPRMC,141903.00,A,5201.26739,N,00421.99021,E,50.867,144.31,120308,,,A*5C
+$GPRMC,141904.00,A,5201.25592,N,00422.00348,E,51.392,144.55,120308,,,A*56
+$GPRMC,141905.00,A,5201.24428,N,00422.01691,E,51.949,144.47,120308,,,A*59
+$GPRMC,141906.00,A,5201.23250,N,00422.03049,E,52.639,144.34,120308,,,A*5A
+$GPRMC,141907.00,A,5201.22066,N,00422.04418,E,52.347,144.28,120308,,,A*5B
+$GPRMC,141908.00,A,5201.20893,N,00422.05787,E,51.839,143.99,120308,,,A*5C
+$GPRMC,141909.00,A,5201.19733,N,00422.07152,E,51.380,143.98,120308,,,A*56
+$GPRMC,141910.00,A,5201.18575,N,00422.08513,E,51.747,144.19,120308,,,A*50
+$GPRMC,141911.00,A,5201.17410,N,00422.09870,E,51.855,144.33,120308,,,A*51
+$GPRMC,141912.00,A,5201.16233,N,00422.11237,E,52.392,144.26,120308,,,A*53
+$GPRMC,141913.00,A,5201.15053,N,00422.12607,E,52.502,144.46,120308,,,A*58
+$GPRMC,141914.00,A,5201.13850,N,00422.13984,E,52.743,144.70,120308,,,A*55
+$GPRMC,141915.00,A,5201.12645,N,00422.15371,E,52.782,144.33,120308,,,A*53
+$GPRMC,141916.00,A,5201.11429,N,00422.16784,E,52.732,144.31,120308,,,A*5F
+$GPRMC,141917.00,A,5201.10228,N,00422.18176,E,53.277,144.49,120308,,,A*57
+$GPRMC,141918.00,A,5201.09002,N,00422.19598,E,54.477,144.12,120308,,,A*50
+$GPRMC,141919.00,A,5201.07759,N,00422.21051,E,55.529,144.26,120308,,,A*51
+$GPRMC,141920.00,A,5201.06444,N,00422.22595,E,57.804,144.25,120308,,,A*58
+$GPRMC,141921.00,A,5201.05064,N,00422.24180,E,59.835,144.37,120308,,,A*55
+$GPRMC,141922.00,A,5201.03662,N,00422.25796,E,61.497,144.40,120308,,,A*5F
+$GPRMC,141923.00,A,5201.02236,N,00422.27438,E,62.817,144.47,120308,,,A*5F
+$GPRMC,141924.00,A,5201.00827,N,00422.29070,E,63.516,144.36,120308,,,A*5D
+$GPRMC,141925.00,A,5200.99366,N,00422.30757,E,65.287,144.60,120308,,,A*53
+$GPRMC,141926.00,A,5200.97847,N,00422.32488,E,66.657,144.49,120308,,,A*54
+$GPRMC,141927.00,A,5200.96317,N,00422.34263,E,67.733,144.43,120308,,,A*57
+$GPRMC,141928.00,A,5200.94771,N,00422.36053,E,68.519,144.56,120308,,,A*5C
+$GPRMC,141929.00,A,5200.93216,N,00422.37837,E,67.409,144.74,120308,,,A*5A
+$GPRMC,141930.00,A,5200.91719,N,00422.39562,E,66.737,144.53,120308,,,A*53
+$GPRMC,141931.00,A,5200.90248,N,00422.41263,E,65.574,144.43,120308,,,A*5C
+$GPRMC,141932.00,A,5200.88833,N,00422.42916,E,64.550,144.54,120308,,,A*5B
+$GPRMC,141933.00,A,5200.87411,N,00422.44576,E,63.971,144.22,120308,,,A*5C
+$GPRMC,141934.00,A,5200.85983,N,00422.46246,E,63.602,144.08,120308,,,A*5A
+$GPRMC,141935.00,A,5200.84563,N,00422.47903,E,63.209,144.41,120308,,,A*51
+$GPRMC,141936.00,A,5200.83148,N,00422.49546,E,62.785,144.38,120308,,,A*55
+$GPRMC,141937.00,A,5200.81755,N,00422.51170,E,61.770,144.37,120308,,,A*52
+$GPRMC,141938.00,A,5200.80394,N,00422.52767,E,60.582,144.23,120308,,,A*5D
+$GPRMC,141939.00,A,5200.79060,N,00422.54337,E,59.425,144.18,120308,,,A*5B
+$GPRMC,141940.00,A,5200.77741,N,00422.55881,E,58.302,144.33,120308,,,A*52
+$GPRMC,141941.00,A,5200.76441,N,00422.57393,E,57.514,144.37,120308,,,A*51
+$GPRMC,141942.00,A,5200.75174,N,00422.58872,E,56.404,144.06,120308,,,A*5A
+$GPRMC,141943.00,A,5200.73915,N,00422.60346,E,56.058,144.09,120308,,,A*57
+$GPRMC,141944.00,A,5200.72680,N,00422.61791,E,55.157,144.28,120308,,,A*53
+$GPRMC,141945.00,A,5200.71445,N,00422.63228,E,54.942,144.31,120308,,,A*5A
+$GPRMC,141946.00,A,5200.70220,N,00422.64663,E,54.860,144.16,120308,,,A*55
+$GPRMC,141947.00,A,5200.68992,N,00422.66094,E,54.630,144.28,120308,,,A*55
+$GPRMC,141948.00,A,5200.67780,N,00422.67505,E,53.707,144.27,120308,,,A*59
+$GPRMC,141949.00,A,5200.66591,N,00422.68896,E,52.885,144.28,120308,,,A*58
+$GPRMC,141950.00,A,5200.65426,N,00422.70261,E,52.375,144.55,120308,,,A*5B
+$GPRMC,141951.00,A,5200.64271,N,00422.71609,E,51.779,144.56,120308,,,A*5C
+$GPRMC,141952.00,A,5200.63132,N,00422.72945,E,50.807,144.35,120308,,,A*5A
+$GPRMC,141953.00,A,5200.62006,N,00422.74263,E,49.993,144.47,120308,,,A*54
+$GPRMC,141954.00,A,5200.60898,N,00422.75559,E,49.180,144.06,120308,,,A*5E
+$GPRMC,141955.00,A,5200.59802,N,00422.76848,E,49.026,144.17,120308,,,A*55
+$GPRMC,141956.00,A,5200.58709,N,00422.78133,E,48.853,144.25,120308,,,A*52
+$GPRMC,141957.00,A,5200.57631,N,00422.79396,E,47.589,144.29,120308,,,A*53
+$GPRMC,141958.00,A,5200.56623,N,00422.80572,E,42.652,144.41,120308,,,A*5A
+$GPRMC,141959.00,A,5200.55724,N,00422.81618,E,37.981,144.46,120308,,,A*54
+$GPRMC,142000.00,A,5200.54912,N,00422.82563,E,35.216,144.49,120308,,,A*5C
+$GPRMC,142001.00,A,5200.54156,N,00422.83447,E,33.120,144.53,120308,,,A*58
+$GPRMC,142002.00,A,5200.53448,N,00422.84270,E,30.757,144.51,120308,,,A*54
+$GPRMC,142003.00,A,5200.52774,N,00422.85064,E,30.484,144.03,120308,,,A*54
+$GPRMC,142004.00,A,5200.52104,N,00422.85860,E,30.277,143.87,120308,,,A*5F
+$GPRMC,142005.00,A,5200.51451,N,00422.86638,E,29.109,144.03,120308,,,A*51
+$GPRMC,142006.00,A,5200.50835,N,00422.87365,E,26.645,144.11,120308,,,A*52
+$GPRMC,142007.00,A,5200.50291,N,00422.88007,E,23.045,144.08,120308,,,A*54
+$GPRMC,142008.00,A,5200.49814,N,00422.88568,E,20.525,144.14,120308,,,A*55
+$GPRMC,142009.00,A,5200.49405,N,00422.89056,E,18.429,144.20,120308,,,A*50
+$GPRMC,142010.00,A,5200.49034,N,00422.89497,E,17.173,144.30,120308,,,A*53
+$GPRMC,142011.00,A,5200.48683,N,00422.89919,E,16.815,144.08,120308,,,A*51
+$GPRMC,142012.00,A,5200.48338,N,00422.90329,E,16.842,144.35,120308,,,A*5A
+$GPRMC,142013.00,A,5200.47979,N,00422.90743,E,16.160,144.37,120308,,,A*58
+$GPRMC,142014.00,A,5200.47644,N,00422.91144,E,16.487,144.94,120308,,,A*5B
+$GPRMC,142015.00,A,5200.47285,N,00422.91571,E,16.838,144.16,120308,,,A*53
+$GPRMC,142016.00,A,5200.46938,N,00422.91984,E,16.049,143.95,120308,,,A*58
+$GPRMC,142017.00,A,5200.46597,N,00422.92386,E,15.259,144.22,120308,,,A*50
+$GPRMC,142018.00,A,5200.46264,N,00422.92769,E,14.955,144.54,120308,,,A*56
+$GPRMC,142019.00,A,5200.45949,N,00422.93139,E,15.519,144.73,120308,,,A*52
+$GPRMC,142020.00,A,5200.45603,N,00422.93547,E,16.358,144.55,120308,,,A*50
+$GPRMC,142021.00,A,5200.45204,N,00422.94007,E,17.330,144.20,120308,,,A*59
+$GPRMC,142022.00,A,5200.44812,N,00422.94465,E,18.006,143.89,120308,,,A*5B
+$GPRMC,142023.00,A,5200.44404,N,00422.94953,E,18.072,144.05,120308,,,A*59
+$GPRMC,142024.00,A,5200.44035,N,00422.95389,E,14.514,144.38,120308,,,A*53
+$GPRMC,142025.00,A,5200.43763,N,00422.95703,E,11.021,144.75,120308,,,A*58
+$GPRMC,142026.00,A,5200.43548,N,00422.95949,E,8.987,145.08,120308,,,A*66
+$GPRMC,142027.00,A,5200.43377,N,00422.96144,E,7.171,144.78,120308,,,A*63
+$GPRMC,142028.00,A,5200.43233,N,00422.96301,E,6.787,144.88,120308,,,A*6F
+$GPRMC,142029.00,A,5200.43098,N,00422.96443,E,6.183,146.33,120308,,,A*6C
+$GPRMC,142030.00,A,5200.42977,N,00422.96576,E,6.250,144.48,120308,,,A*69
+$GPRMC,142031.00,A,5200.42844,N,00422.96731,E,6.921,144.24,120308,,,A*6F
+$GPRMC,142032.00,A,5200.42686,N,00422.96915,E,8.080,144.26,120308,,,A*6A
+$GPRMC,142033.00,A,5200.42519,N,00422.97117,E,8.608,144.27,120308,,,A*62
+$GPRMC,142034.00,A,5200.42320,N,00422.97354,E,9.598,143.97,120308,,,A*6B
+$GPRMC,142035.00,A,5200.42097,N,00422.97630,E,10.198,143.95,120308,,,A*5C
+$GPRMC,142036.00,A,5200.41858,N,00422.97914,E,10.909,144.14,120308,,,A*50
+$GPRMC,142037.00,A,5200.41606,N,00422.98211,E,11.799,144.34,120308,,,A*51
+$GPRMC,142038.00,A,5200.41370,N,00422.98512,E,10.875,139.42,120308,,,A*59
+$GPRMC,142039.00,A,5200.41116,N,00422.98828,E,11.805,144.26,120308,,,A*50
+$GPRMC,142040.00,A,5200.40867,N,00422.99102,E,11.910,144.78,120308,,,A*5E
+$GPRMC,142041.00,A,5200.40582,N,00422.99448,E,12.694,146.18,120308,,,A*56
+$GPRMC,142042.00,A,5200.40295,N,00422.99769,E,13.442,145.63,120308,,,A*53
+$GPRMC,142043.00,A,5200.39980,N,00423.00135,E,15.124,144.58,120308,,,A*57
+$GPRMC,142044.00,A,5200.39586,N,00423.00580,E,17.734,143.89,120308,,,A*5E
+$GPRMC,142045.00,A,5200.39155,N,00423.01079,E,20.210,144.11,120308,,,A*56
+$GPRMC,142046.00,A,5200.38666,N,00423.01634,E,22.538,144.81,120308,,,A*5A
+$GPRMC,142047.00,A,5200.38131,N,00423.02213,E,23.628,146.06,120308,,,A*52
+$GPRMC,142048.00,A,5200.37561,N,00423.02829,E,25.520,146.17,120308,,,A*5D
+$GPRMC,142049.00,A,5200.36921,N,00423.03516,E,28.688,146.37,120308,,,A*5B
+$GPRMC,142050.00,A,5200.36205,N,00423.04289,E,31.992,146.63,120308,,,A*55
+$GPRMC,142051.00,A,5200.35429,N,00423.05112,E,33.865,147.36,120308,,,A*55
+$GPRMC,142052.00,A,5200.34602,N,00423.05951,E,35.486,148.79,120308,,,A*50
+$GPRMC,142053.00,A,5200.33752,N,00423.06778,E,35.848,149.71,120308,,,A*53
+$GPRMC,142054.00,A,5200.32879,N,00423.07597,E,35.685,150.23,120308,,,A*51
+$GPRMC,142055.00,A,5200.32008,N,00423.08388,E,35.397,151.66,120308,,,A*5F
+$GPRMC,142056.00,A,5200.31132,N,00423.09117,E,34.565,152.66,120308,,,A*5B
+$GPRMC,142057.00,A,5200.30280,N,00423.09816,E,33.848,153.64,120308,,,A*5F
+$GPRMC,142058.00,A,5200.29458,N,00423.10482,E,32.981,154.14,120308,,,A*57
+$GPRMC,142059.00,A,5200.28636,N,00423.11125,E,31.932,154.46,120308,,,A*58
+$GPRMC,142100.00,A,5200.27836,N,00423.11717,E,31.835,156.41,120308,,,A*50
+$GPRMC,142101.00,A,5200.27040,N,00423.12245,E,30.770,157.68,120308,,,A*5C
+$GPRMC,142102.00,A,5200.26275,N,00423.12750,E,29.277,157.90,120308,,,A*56
+$GPRMC,142103.00,A,5200.25530,N,00423.13222,E,28.187,159.86,120308,,,A*57
+$GPRMC,142104.00,A,5200.24844,N,00423.13645,E,25.423,160.03,120308,,,A*5B
+$GPRMC,142105.00,A,5200.24233,N,00423.14023,E,21.923,161.06,120308,,,A*5C
+$GPRMC,142106.00,A,5200.23701,N,00423.14335,E,19.372,161.37,120308,,,A*5F
+$GPRMC,142107.00,A,5200.23207,N,00423.14596,E,17.513,161.44,120308,,,A*59
+$GPRMC,142108.00,A,5200.22751,N,00423.14835,E,15.954,162.15,120308,,,A*5F
+$GPRMC,142109.00,A,5200.22319,N,00423.15055,E,16.160,163.34,120308,,,A*57
+$GPRMC,142110.00,A,5200.21866,N,00423.15264,E,17.402,163.63,120308,,,A*5D
+$GPRMC,142111.00,A,5200.21392,N,00423.15510,E,18.452,163.74,120308,,,A*54
+$GPRMC,142112.00,A,5200.20883,N,00423.15810,E,19.768,162.65,120308,,,A*5A
+$GPRMC,142113.00,A,5200.20344,N,00423.16095,E,20.474,163.65,120308,,,A*58
+$GPRMC,142114.00,A,5200.19787,N,00423.16380,E,21.659,164.56,120308,,,A*52
+$GPRMC,142115.00,A,5200.19191,N,00423.16647,E,22.859,164.49,120308,,,A*5F
+$GPRMC,142116.00,A,5200.18554,N,00423.16923,E,24.034,164.98,120308,,,A*54
+$GPRMC,142117.00,A,5200.17867,N,00423.17166,E,25.590,165.76,120308,,,A*54
+$GPRMC,142118.00,A,5200.17140,N,00423.17461,E,27.421,165.02,120308,,,A*5F
+$GPRMC,142119.00,A,5200.16329,N,00423.17724,E,30.087,167.03,120308,,,A*5D
+$GPRMC,142120.00,A,5200.15504,N,00423.18073,E,30.668,164.63,120308,,,A*55
+$GPRMC,142121.00,A,5200.14673,N,00423.18407,E,30.533,164.86,120308,,,A*57
+$GPRMC,142122.00,A,5200.13844,N,00423.18739,E,30.160,165.99,120308,,,A*5A
+$GPRMC,142123.00,A,5200.13032,N,00423.19059,E,29.619,165.18,120308,,,A*5A
+$GPRMC,142124.00,A,5200.12211,N,00423.19395,E,30.164,165.38,120308,,,A*5B
+$GPRMC,142125.00,A,5200.11375,N,00423.19737,E,30.805,166.35,120308,,,A*56
+$GPRMC,142126.00,A,5200.10539,N,00423.20110,E,31.225,164.66,120308,,,A*5E
+$GPRMC,142127.00,A,5200.09689,N,00423.20532,E,31.869,165.14,120308,,,A*5D
+$GPRMC,142128.00,A,5200.08779,N,00423.20982,E,35.486,164.27,120308,,,A*52
+$GPRMC,142129.00,A,5200.07784,N,00423.21486,E,38.293,163.83,120308,,,A*50
+$GPRMC,142130.00,A,5200.06725,N,00423.22017,E,40.329,163.69,120308,,,A*56
+$GPRMC,142131.00,A,5200.05623,N,00423.22560,E,41.977,163.27,120308,,,A*5C
+$GPRMC,142132.00,A,5200.04454,N,00423.23042,E,43.474,165.34,120308,,,A*50
+$GPRMC,142133.00,A,5200.03245,N,00423.23571,E,45.378,164.57,120308,,,A*5C
+$GPRMC,142134.00,A,5200.02046,N,00423.24109,E,44.911,163.88,120308,,,A*56
+$GPRMC,142135.00,A,5200.00815,N,00423.24636,E,45.471,165.43,120308,,,A*5B
+$GPRMC,142136.00,A,5159.99624,N,00423.25092,E,44.118,165.99,120308,,,A*5E
+$GPRMC,142137.00,A,5159.98431,N,00423.25625,E,44.153,165.02,120308,,,A*5F
+$GPRMC,142138.00,A,5159.97217,N,00423.26089,E,44.160,166.48,120308,,,A*53
+$GPRMC,142139.00,A,5159.96057,N,00423.26574,E,42.954,165.29,120308,,,A*5F
+$GPRMC,142140.00,A,5159.94923,N,00423.27090,E,41.369,165.65,120308,,,A*58
+$GPRMC,142141.00,A,5159.93847,N,00423.27511,E,39.160,165.31,120308,,,A*54
+$GPRMC,142142.00,A,5159.92816,N,00423.27872,E,38.125,167.20,120308,,,A*58
+$GPRMC,142143.00,A,5159.91847,N,00423.28244,E,35.460,166.29,120308,,,A*5F
+$GPRMC,142144.00,A,5159.90893,N,00423.28601,E,35.151,166.48,120308,,,A*55
+$GPRMC,142145.00,A,5159.89939,N,00423.28936,E,35.444,166.87,120308,,,A*54
+$GPRMC,142146.00,A,5159.89019,N,00423.29360,E,33.954,165.46,120308,,,A*50
+$GPRMC,142147.00,A,5159.88042,N,00423.29889,E,35.362,164.05,120308,,,A*5D
+$GPRMC,142148.00,A,5159.87104,N,00423.30285,E,35.525,164.62,120308,,,A*54
+$GPRMC,142149.00,A,5159.86120,N,00423.30725,E,37.175,163.89,120308,,,A*5C
+$GPRMC,142150.00,A,5159.85129,N,00423.31137,E,38.287,163.68,120308,,,A*54
+$GPRMC,142151.00,A,5159.84070,N,00423.31623,E,39.941,165.32,120308,,,A*52
+$GPRMC,142152.00,A,5159.82996,N,00423.32087,E,41.103,164.66,120308,,,A*5C
+$GPRMC,142153.00,A,5159.81871,N,00423.32531,E,42.247,166.06,120308,,,A*5A
+$GPRMC,142154.00,A,5159.80709,N,00423.33138,E,42.941,163.08,120308,,,A*56
+$GPRMC,142155.00,A,5159.79597,N,00423.33555,E,43.086,165.36,120308,,,A*53
+$GPRMC,142156.00,A,5159.78427,N,00423.34086,E,43.733,165.15,120308,,,A*5F
+$GPRMC,142157.00,A,5159.77214,N,00423.34597,E,44.039,165.43,120308,,,A*5B
+$GPRMC,142158.00,A,5159.76046,N,00423.35080,E,44.742,164.98,120308,,,A*5E
+$GPRMC,142159.00,A,5159.74824,N,00423.35646,E,45.510,164.43,120308,,,A*5F
+$GPRMC,142200.00,A,5159.73571,N,00423.36084,E,46.923,167.10,120308,,,A*5B
+$GPRMC,142201.00,A,5159.72351,N,00423.36587,E,45.214,165.23,120308,,,A*57
+$GPRMC,142202.00,A,5159.71161,N,00423.37030,E,44.290,165.89,120308,,,A*53
+$GPRMC,142203.00,A,5159.69980,N,00423.37497,E,44.092,165.42,120308,,,A*52
+$GPRMC,142204.00,A,5159.68828,N,00423.38022,E,44.096,165.18,120308,,,A*59
+$GPRMC,142205.00,A,5159.67641,N,00423.38561,E,45.173,165.38,120308,,,A*5D
+$GPRMC,142206.00,A,5159.66453,N,00423.39111,E,44.761,165.53,120308,,,A*55
+$GPRMC,142207.00,A,5159.65260,N,00423.39646,E,45.268,165.44,120308,,,A*5F
+$GPRMC,142208.00,A,5159.64028,N,00423.40164,E,46.061,165.44,120308,,,A*5E
+$GPRMC,142209.00,A,5159.62779,N,00423.40700,E,47.110,165.13,120308,,,A*5A
+$GPRMC,142210.00,A,5159.61499,N,00423.41264,E,47.738,164.95,120308,,,A*59
+$GPRMC,142211.00,A,5159.60212,N,00423.41821,E,48.484,165.00,120308,,,A*51
+$GPRMC,142212.00,A,5159.58910,N,00423.42388,E,48.997,164.85,120308,,,A*58
+$GPRMC,142213.00,A,5159.57598,N,00423.42960,E,49.163,164.94,120308,,,A*54
+$GPRMC,142214.00,A,5159.56290,N,00423.43514,E,48.542,165.11,120308,,,A*59
+$GPRMC,142215.00,A,5159.54986,N,00423.44094,E,47.525,165.33,120308,,,A*52
+$GPRMC,142216.00,A,5159.53719,N,00423.44658,E,46.636,164.83,120308,,,A*52
+$GPRMC,142217.00,A,5159.52474,N,00423.45199,E,46.275,164.77,120308,,,A*59
+$GPRMC,142218.00,A,5159.51231,N,00423.45760,E,45.627,165.08,120308,,,A*5B
+$GPRMC,142219.00,A,5159.49991,N,00423.46306,E,45.814,165.37,120308,,,A*57
+$GPRMC,142220.00,A,5159.48758,N,00423.46852,E,46.029,164.57,120308,,,A*5F
+$GPRMC,142221.00,A,5159.47523,N,00423.47441,E,46.261,164.79,120308,,,A*52
+$GPRMC,142222.00,A,5159.46280,N,00423.47976,E,46.554,165.47,120308,,,A*5A
+$GPRMC,142223.00,A,5159.45043,N,00423.48516,E,46.573,165.46,120308,,,A*54
+$GPRMC,142224.00,A,5159.43788,N,00423.49055,E,47.292,165.20,120308,,,A*5F
+$GPRMC,142225.00,A,5159.42512,N,00423.49596,E,47.849,165.27,120308,,,A*5F
+$GPRMC,142226.00,A,5159.41211,N,00423.50157,E,49.101,164.83,120308,,,A*5E
+$GPRMC,142227.00,A,5159.39897,N,00423.50748,E,49.457,164.95,120308,,,A*5D
+$GPRMC,142228.00,A,5159.38576,N,00423.51322,E,49.236,165.03,120308,,,A*57
+$GPRMC,142229.00,A,5159.37253,N,00423.51901,E,49.146,164.60,120308,,,A*52
+$GPRMC,142230.00,A,5159.35940,N,00423.52514,E,49.491,163.54,120308,,,A*55
+$GPRMC,142231.00,A,5159.34624,N,00423.53099,E,49.130,164.78,120308,,,A*5E
+$GPRMC,142232.00,A,5159.33314,N,00423.53672,E,48.988,165.18,120308,,,A*52
+$GPRMC,142233.00,A,5159.32012,N,00423.54216,E,48.631,165.13,120308,,,A*50
+$GPRMC,142234.00,A,5159.30738,N,00423.54750,E,46.917,165.37,120308,,,A*5E
+$GPRMC,142235.00,A,5159.29526,N,00423.55257,E,44.544,164.95,120308,,,A*58
+$GPRMC,142236.00,A,5159.28356,N,00423.55748,E,43.308,164.90,120308,,,A*5C
+$GPRMC,142237.00,A,5159.27206,N,00423.56217,E,42.909,165.43,120308,,,A*5F
+$GPRMC,142238.00,A,5159.26052,N,00423.56680,E,44.145,165.22,120308,,,A*59
+$GPRMC,142239.00,A,5159.24879,N,00423.57168,E,44.081,165.30,120308,,,A*51
+$GPRMC,142240.00,A,5159.23712,N,00423.57649,E,43.798,165.34,120308,,,A*52
+$GPRMC,142241.00,A,5159.22537,N,00423.58144,E,43.490,165.02,120308,,,A*5C
+$GPRMC,142242.00,A,5159.21380,N,00423.58641,E,43.631,165.03,120308,,,A*5C
+$GPRMC,142243.00,A,5159.20223,N,00423.59173,E,43.655,164.01,120308,,,A*52
+$GPRMC,142244.00,A,5159.19060,N,00423.59710,E,43.630,164.30,120308,,,A*58
+$GPRMC,142245.00,A,5159.17866,N,00423.60270,E,45.247,164.00,120308,,,A*51
+$GPRMC,142246.00,A,5159.16682,N,00423.60789,E,44.871,164.88,120308,,,A*5A
+$GPRMC,142247.00,A,5159.15492,N,00423.61296,E,44.194,165.22,120308,,,A*52
+$GPRMC,142248.00,A,5159.14321,N,00423.61760,E,43.199,165.81,120308,,,A*5C
+$GPRMC,142249.00,A,5159.13192,N,00423.62238,E,42.230,164.95,120308,,,A*5E
+$GPRMC,142250.00,A,5159.12087,N,00423.62724,E,41.414,164.96,120308,,,A*5A
+$GPRMC,142251.00,A,5159.10982,N,00423.63186,E,41.207,165.40,120308,,,A*54
+$GPRMC,142252.00,A,5159.09881,N,00423.63637,E,41.092,165.91,120308,,,A*52
+$GPRMC,142253.00,A,5159.08784,N,00423.64120,E,41.453,164.79,120308,,,A*50
+$GPRMC,142254.00,A,5159.07642,N,00423.64605,E,42.827,164.91,120308,,,A*59
+$GPRMC,142255.00,A,5159.06459,N,00423.65123,E,44.415,164.91,120308,,,A*58
+$GPRMC,142256.00,A,5159.05245,N,00423.65631,E,45.997,165.74,120308,,,A*5B
+$GPRMC,142257.00,A,5159.03981,N,00423.66157,E,47.374,165.55,120308,,,A*5D
+$GPRMC,142258.00,A,5159.02698,N,00423.66698,E,47.788,165.26,120308,,,A*53
+$GPRMC,142259.00,A,5159.01411,N,00423.67278,E,48.231,164.83,120308,,,A*5F
+$GPRMC,142300.00,A,5159.00127,N,00423.67829,E,47.972,164.78,120308,,,A*5A
+$GPRMC,142301.00,A,5158.98816,N,00423.68381,E,48.889,165.31,120308,,,A*50
+$GPRMC,142302.00,A,5158.97505,N,00423.68921,E,48.693,165.33,120308,,,A*54
+$GPRMC,142303.00,A,5158.96184,N,00423.69493,E,48.441,165.33,120308,,,A*51
+$GPRMC,142304.00,A,5158.94862,N,00423.70096,E,49.043,164.09,120308,,,A*53
+$GPRMC,142305.00,A,5158.93556,N,00423.70717,E,48.736,163.59,120308,,,A*57
+$GPRMC,142306.00,A,5158.92233,N,00423.71310,E,49.563,164.57,120308,,,A*59
+$GPRMC,142307.00,A,5158.90916,N,00423.71843,E,49.324,165.43,120308,,,A*5A
+$GPRMC,142308.00,A,5158.89548,N,00423.72421,E,51.209,165.87,120308,,,A*5E
+$GPRMC,142309.00,A,5158.88182,N,00423.72987,E,50.157,165.52,120308,,,A*5C
+$GPRMC,142310.00,A,5158.86799,N,00423.73644,E,50.993,163.26,120308,,,A*52
+$GPRMC,142311.00,A,5158.85438,N,00423.74262,E,51.121,164.19,120308,,,A*54
+$GPRMC,142312.00,A,5158.84061,N,00423.74825,E,51.071,164.98,120308,,,A*5A
+$GPRMC,142313.00,A,5158.82701,N,00423.75386,E,50.250,165.20,120308,,,A*5D
+$GPRMC,142314.00,A,5158.81365,N,00423.75946,E,49.367,164.84,120308,,,A*5B
+$GPRMC,142315.00,A,5158.80064,N,00423.76486,E,48.631,165.13,120308,,,A*53
+$GPRMC,142316.00,A,5158.78766,N,00423.77031,E,48.738,164.83,120308,,,A*5B
+$GPRMC,142317.00,A,5158.77473,N,00423.77568,E,48.151,165.74,120308,,,A*5B
+$GPRMC,142318.00,A,5158.76167,N,00423.78131,E,49.102,164.90,120308,,,A*5E
+$GPRMC,142319.00,A,5158.74841,N,00423.78724,E,48.924,164.95,120308,,,A*5A
+$GPRMC,142320.00,A,5158.73648,N,00423.79153,E,47.723,165.23,120308,,,A*5D
+$GPRMC,142321.00,A,5158.72408,N,00423.79647,E,47.603,165.38,120308,,,A*50
+$GPRMC,142322.00,A,5158.71164,N,00423.80177,E,47.120,164.74,120308,,,A*52
+$GPRMC,142323.00,A,5158.69884,N,00423.80733,E,48.329,164.94,120308,,,A*51
+$GPRMC,142324.00,A,5158.68569,N,00423.81309,E,49.352,165.01,120308,,,A*55
+$GPRMC,142325.00,A,5158.67252,N,00423.81862,E,50.598,164.86,120308,,,A*54
+$GPRMC,142326.00,A,5158.65869,N,00423.82469,E,51.578,164.71,120308,,,A*54
+$GPRMC,142327.00,A,5158.64485,N,00423.83077,E,52.552,164.38,120308,,,A*56
+$GPRMC,142328.00,A,5158.63114,N,00423.83663,E,51.798,164.75,120308,,,A*5E
+$GPRMC,142329.00,A,5158.61751,N,00423.84239,E,50.933,165.34,120308,,,A*5C
+$GPRMC,142330.00,A,5158.60403,N,00423.84800,E,49.996,165.20,120308,,,A*53
+$GPRMC,142331.00,A,5158.59070,N,00423.85350,E,49.745,165.47,120308,,,A*56
+$GPRMC,142332.00,A,5158.57741,N,00423.85900,E,49.510,165.29,120308,,,A*5B
+$GPRMC,142333.00,A,5158.56419,N,00423.86453,E,49.648,164.95,120308,,,A*55
+$GPRMC,142334.00,A,5158.55099,N,00423.87045,E,49.111,164.91,120308,,,A*50
+$GPRMC,142335.00,A,5158.53793,N,00423.87600,E,49.014,164.93,120308,,,A*5B
+$GPRMC,142336.00,A,5158.52505,N,00423.88142,E,48.440,165.15,120308,,,A*51
+$GPRMC,142337.00,A,5158.51210,N,00423.88685,E,48.130,165.52,120308,,,A*5D
+$GPRMC,142338.00,A,5158.49891,N,00423.89233,E,49.289,165.31,120308,,,A*55
+$GPRMC,142339.00,A,5158.48559,N,00423.89783,E,49.908,165.24,120308,,,A*54
+$GPRMC,142340.00,A,5158.47215,N,00423.90348,E,50.334,165.33,120308,,,A*5A
+$GPRMC,142341.00,A,5158.45872,N,00423.90920,E,50.765,164.87,120308,,,A*58
+$GPRMC,142342.00,A,5158.44514,N,00423.91501,E,51.182,165.25,120308,,,A*5E
+$GPRMC,142343.00,A,5158.43152,N,00423.92083,E,50.956,165.17,120308,,,A*53
+$GPRMC,142344.00,A,5158.41789,N,00423.92676,E,50.674,164.82,120308,,,A*58
+$GPRMC,142345.00,A,5158.40438,N,00423.93304,E,50.957,164.68,120308,,,A*5A
+$GPRMC,142346.00,A,5158.39072,N,00423.93903,E,51.269,165.27,120308,,,A*5D
+$GPRMC,142347.00,A,5158.37700,N,00423.94524,E,51.815,164.61,120308,,,A*5C
+$GPRMC,142348.00,A,5158.36315,N,00423.95116,E,51.727,165.29,120308,,,A*55
+$GPRMC,142349.00,A,5158.34932,N,00423.95725,E,51.863,165.47,120308,,,A*58
+$GPRMC,142350.00,A,5158.33562,N,00423.96366,E,51.659,165.04,120308,,,A*5E
+$GPRMC,142351.00,A,5158.32193,N,00423.96951,E,50.566,165.20,120308,,,A*52
+$GPRMC,142352.00,A,5158.30848,N,00423.97513,E,49.349,164.94,120308,,,A*5A
+$GPRMC,142353.00,A,5158.29543,N,00423.98086,E,48.153,164.10,120308,,,A*57
+$GPRMC,142354.00,A,5158.28261,N,00423.98697,E,48.171,163.39,120308,,,A*5C
+$GPRMC,142355.00,A,5158.26972,N,00423.99338,E,48.960,162.46,120308,,,A*5A
+$GPRMC,142356.00,A,5158.25695,N,00423.99996,E,48.262,160.45,120308,,,A*5A
+$GPRMC,142357.00,A,5158.24464,N,00424.00713,E,46.666,158.72,120308,,,A*53
+$GPRMC,142358.00,A,5158.23297,N,00424.01465,E,44.250,157.48,120308,,,A*57
+$GPRMC,142359.00,A,5158.22187,N,00424.02203,E,41.629,155.93,120308,,,A*5B
+$GPRMC,142400.00,A,5158.21137,N,00424.02970,E,41.115,154.68,120308,,,A*5A
+$GPRMC,142401.00,A,5158.20101,N,00424.03732,E,40.833,154.25,120308,,,A*53
+$GPRMC,142402.00,A,5158.19108,N,00424.04491,E,39.051,154.11,120308,,,A*5B
+$GPRMC,142403.00,A,5158.18175,N,00424.05193,E,36.080,155.52,120308,,,A*52
+$GPRMC,142404.00,A,5158.17294,N,00424.05852,E,34.365,154.85,120308,,,A*53
+$GPRMC,142405.00,A,5158.16481,N,00424.06478,E,31.289,154.56,120308,,,A*5E
+$GPRMC,142406.00,A,5158.15744,N,00424.07069,E,28.511,155.05,120308,,,A*58
+$GPRMC,142407.00,A,5158.15031,N,00424.07643,E,29.260,153.42,120308,,,A*57
+$GPRMC,142408.00,A,5158.14300,N,00424.08237,E,29.795,154.32,120308,,,A*5F
+$GPRMC,142409.00,A,5158.13563,N,00424.08841,E,29.960,154.49,120308,,,A*59
+$GPRMC,142410.00,A,5158.12816,N,00424.09457,E,30.420,154.88,120308,,,A*59
+$GPRMC,142411.00,A,5158.12060,N,00424.10094,E,30.802,154.66,120308,,,A*5E
+$GPRMC,142412.00,A,5158.11296,N,00424.10716,E,30.822,154.20,120308,,,A*58
+$GPRMC,142413.00,A,5158.10532,N,00424.11340,E,30.849,154.16,120308,,,A*5F
+$GPRMC,142414.00,A,5158.09767,N,00424.11952,E,30.505,154.43,120308,,,A*5E
+$GPRMC,142415.00,A,5158.08993,N,00424.12566,E,31.250,154.88,120308,,,A*52
+$GPRMC,142416.00,A,5158.08212,N,00424.13163,E,31.262,155.34,120308,,,A*54
+$GPRMC,142417.00,A,5158.07398,N,00424.13749,E,32.423,156.36,120308,,,A*56
+$GPRMC,142418.00,A,5158.06555,N,00424.14349,E,32.630,155.99,120308,,,A*5A
+$GPRMC,142419.00,A,5158.05722,N,00424.14953,E,32.401,155.77,120308,,,A*5B
+$GPRMC,142420.00,A,5158.04888,N,00424.15536,E,32.478,156.92,120308,,,A*57
+$GPRMC,142421.00,A,5158.04061,N,00424.16109,E,32.263,156.67,120308,,,A*54
+$GPRMC,142422.00,A,5158.03239,N,00424.16686,E,31.768,155.33,120308,,,A*50
+$GPRMC,142423.00,A,5158.02425,N,00424.17281,E,31.692,154.80,120308,,,A*54
+$GPRMC,142424.00,A,5158.01612,N,00424.17898,E,32.357,154.70,120308,,,A*54
+$GPRMC,142425.00,A,5158.00783,N,00424.18517,E,32.986,154.82,120308,,,A*53
+$GPRMC,142426.00,A,5157.99950,N,00424.19153,E,33.045,154.82,120308,,,A*5D
+$GPRMC,142427.00,A,5157.99122,N,00424.19803,E,33.118,154.25,120308,,,A*59
+$GPRMC,142428.00,A,5157.98281,N,00424.20453,E,33.495,154.43,120308,,,A*5E
+$GPRMC,142429.00,A,5157.97446,N,00424.21112,E,33.351,154.04,120308,,,A*50
+$GPRMC,142430.00,A,5157.96627,N,00424.21768,E,32.157,153.72,120308,,,A*54
+$GPRMC,142431.00,A,5157.95828,N,00424.22472,E,32.894,150.89,120308,,,A*5D
+$GPRMC,142432.00,A,5157.95042,N,00424.23136,E,31.922,152.25,120308,,,A*55
+$GPRMC,142433.00,A,5157.94238,N,00424.23755,E,32.554,153.73,120308,,,A*55
+$GPRMC,142434.00,A,5157.93429,N,00424.24366,E,32.654,154.09,120308,,,A*59
+$GPRMC,142435.00,A,5157.92596,N,00424.24973,E,32.976,154.66,120308,,,A*54
+$GPRMC,142436.00,A,5157.91785,N,00424.25563,E,32.236,154.87,120308,,,A*58
+$GPRMC,142437.00,A,5157.90966,N,00424.26131,E,32.185,154.86,120308,,,A*51
+$GPRMC,142438.00,A,5157.90157,N,00424.26702,E,31.829,155.25,120308,,,A*56
+$GPRMC,142439.00,A,5157.89360,N,00424.27293,E,31.100,154.55,120308,,,A*51
+$GPRMC,142440.00,A,5157.88581,N,00424.27889,E,30.934,154.76,120308,,,A*59
+$GPRMC,142441.00,A,5157.87812,N,00424.28495,E,30.963,154.75,120308,,,A*5F
+$GPRMC,142442.00,A,5157.87040,N,00424.29104,E,30.831,154.66,120308,,,A*5B
+$GPRMC,142443.00,A,5157.86289,N,00424.29673,E,29.027,154.83,120308,,,A*57
+$GPRMC,142444.00,A,5157.85619,N,00424.30202,E,25.998,153.70,120308,,,A*5E
+$GPRMC,142445.00,A,5157.85020,N,00424.30669,E,23.310,154.30,120308,,,A*55
+$GPRMC,142446.00,A,5157.84470,N,00424.31098,E,21.658,153.18,120308,,,A*59
+$GPRMC,142447.00,A,5157.83984,N,00424.31517,E,19.170,150.52,120308,,,A*50
+$GPRMC,142448.00,A,5157.83502,N,00424.31808,E,17.710,156.64,120308,,,A*53
+$GPRMC,142449.00,A,5157.83058,N,00424.32099,E,16.643,157.18,120308,,,A*57
+$GPRMC,142450.00,A,5157.82676,N,00424.32393,E,15.033,154.37,120308,,,A*51
+$GPRMC,142451.00,A,5157.82314,N,00424.32696,E,14.891,154.82,120308,,,A*5E
+$GPRMC,142452.00,A,5157.81958,N,00424.32979,E,14.864,154.23,120308,,,A*53
+$GPRMC,142453.00,A,5157.81602,N,00424.33282,E,15.106,154.72,120308,,,A*54
+$GPRMC,142454.00,A,5157.81262,N,00424.33558,E,14.862,154.75,120308,,,A*5C
+$GPRMC,142455.00,A,5157.80912,N,00424.33826,E,14.267,154.53,120308,,,A*5F
+$GPRMC,142456.00,A,5157.80579,N,00424.34101,E,14.713,154.33,120308,,,A*56
+$GPRMC,142457.00,A,5157.80206,N,00424.34413,E,17.079,153.21,120308,,,A*52
+$GPRMC,142458.00,A,5157.79854,N,00424.34753,E,13.649,145.54,120308,,,A*55
+$GPRMC,142459.00,A,5157.79475,N,00424.35146,E,16.808,147.78,120308,,,A*5A
+$GPRMC,142500.00,A,5157.79031,N,00424.35546,E,18.069,151.64,120308,,,A*5C
+$GPRMC,142501.00,A,5157.78550,N,00424.35921,E,18.809,153.56,120308,,,A*5E
+$GPRMC,142502.00,A,5157.78050,N,00424.36292,E,19.021,154.56,120308,,,A*5C
+$GPRMC,142503.00,A,5157.77584,N,00424.36630,E,17.827,154.38,120308,,,A*5A
+$GPRMC,142504.00,A,5157.77101,N,00424.36900,E,17.077,154.28,120308,,,A*54
+$GPRMC,142505.00,A,5157.76639,N,00424.37178,E,17.236,155.90,120308,,,A*5B
+$GPRMC,142506.00,A,5157.76185,N,00424.37493,E,17.649,154.55,120308,,,A*5C
+$GPRMC,142507.00,A,5157.75706,N,00424.37872,E,18.086,154.67,120308,,,A*5B
+$GPRMC,142508.00,A,5157.75248,N,00424.38292,E,18.640,148.03,120308,,,A*53
+$GPRMC,142509.00,A,5157.74748,N,00424.38698,E,20.404,153.40,120308,,,A*5C
+$GPRMC,142510.00,A,5157.74263,N,00424.39064,E,20.478,153.47,120308,,,A*50
+$GPRMC,142511.00,A,5157.73734,N,00424.39458,E,21.125,154.86,120308,,,A*5C
+$GPRMC,142512.00,A,5157.73183,N,00424.39862,E,21.521,154.19,120308,,,A*56
+$GPRMC,142513.00,A,5157.72651,N,00424.40288,E,22.422,154.20,120308,,,A*55
+$GPRMC,142514.00,A,5157.72135,N,00424.40694,E,23.409,154.19,120308,,,A*5C
+$GPRMC,142515.00,A,5157.71558,N,00424.41150,E,24.778,154.42,120308,,,A*53
+$GPRMC,142516.00,A,5157.70946,N,00424.41639,E,25.774,154.38,120308,,,A*5A
+$GPRMC,142517.00,A,5157.70302,N,00424.42171,E,26.405,154.34,120308,,,A*53
+$GPRMC,142518.00,A,5157.69646,N,00424.42723,E,26.699,154.10,120308,,,A*51
+$GPRMC,142519.00,A,5157.68982,N,00424.43270,E,26.808,154.08,120308,,,A*5B
+$GPRMC,142520.00,A,5157.68312,N,00424.43817,E,26.858,154.30,120308,,,A*57
+$GPRMC,142521.00,A,5157.67632,N,00424.44363,E,27.119,154.23,120308,,,A*5E
+$GPRMC,142522.00,A,5157.66943,N,00424.44916,E,27.678,154.24,120308,,,A*5A
+$GPRMC,142523.00,A,5157.66239,N,00424.45479,E,28.319,153.78,120308,,,A*5B
+$GPRMC,142524.00,A,5157.65516,N,00424.46052,E,29.480,154.29,120308,,,A*5E
+$GPRMC,142525.00,A,5157.64768,N,00424.46634,E,30.146,154.38,120308,,,A*54
+$GPRMC,142526.00,A,5157.64007,N,00424.47227,E,30.444,154.57,120308,,,A*50
+$GPRMC,142527.00,A,5157.63231,N,00424.47819,E,31.038,154.60,120308,,,A*5C
+$GPRMC,142528.00,A,5157.62440,N,00424.48430,E,31.664,154.51,120308,,,A*57
+$GPRMC,142529.00,A,5157.61638,N,00424.49059,E,32.313,154.17,120308,,,A*56
+$GPRMC,142530.00,A,5157.60823,N,00424.49703,E,32.444,154.16,120308,,,A*57
+$GPRMC,142531.00,A,5157.60004,N,00424.50350,E,32.685,154.33,120308,,,A*59
+$GPRMC,142532.00,A,5157.59189,N,00424.50979,E,31.702,154.97,120308,,,A*56
+$GPRMC,142533.00,A,5157.58385,N,00424.51602,E,31.740,154.22,120308,,,A*52
+$GPRMC,142534.00,A,5157.57604,N,00424.52219,E,30.335,154.33,120308,,,A*5C
+$GPRMC,142535.00,A,5157.56899,N,00424.52768,E,26.086,154.24,120308,,,A*5F
+$GPRMC,142536.00,A,5157.56292,N,00424.53257,E,23.133,153.17,120308,,,A*58
+$GPRMC,142537.00,A,5157.55736,N,00424.53669,E,21.363,155.08,120308,,,A*55
+$GPRMC,142538.00,A,5157.55202,N,00424.54061,E,21.037,155.10,120308,,,A*5A
+$GPRMC,142539.00,A,5157.54680,N,00424.54463,E,21.222,153.73,120308,,,A*57
+$GPRMC,142540.00,A,5157.54148,N,00424.54885,E,21.266,153.80,120308,,,A*52
+$GPRMC,142541.00,A,5157.53654,N,00424.55336,E,20.862,149.48,120308,,,A*5C
+$GPRMC,142542.00,A,5157.53130,N,00424.55790,E,21.321,152.00,120308,,,A*59
+$GPRMC,142543.00,A,5157.52602,N,00424.56212,E,21.830,151.22,120308,,,A*5B
+$GPRMC,142544.00,A,5157.52064,N,00424.56588,E,21.870,154.16,120308,,,A*58
+$GPRMC,142545.00,A,5157.51527,N,00424.56915,E,21.195,154.68,120308,,,A*5B
+$GPRMC,142546.00,A,5157.51011,N,00424.57240,E,20.262,155.49,120308,,,A*5A
+$GPRMC,142547.00,A,5157.50488,N,00424.57591,E,20.963,155.14,120308,,,A*57
+$GPRMC,142548.00,A,5157.49975,N,00424.57948,E,20.685,155.15,120308,,,A*51
+$GPRMC,142549.00,A,5157.49413,N,00424.58363,E,21.487,154.61,120308,,,A*52
+$GPRMC,142550.00,A,5157.48872,N,00424.58781,E,20.994,154.16,120308,,,A*56
+$GPRMC,142551.00,A,5157.48350,N,00424.59191,E,20.660,154.27,120308,,,A*5C
+$GPRMC,142552.00,A,5157.47851,N,00424.59604,E,19.717,152.90,120308,,,A*50
+$GPRMC,142553.00,A,5157.47341,N,00424.60006,E,20.381,154.64,120308,,,A*59
+$GPRMC,142554.00,A,5157.46829,N,00424.60404,E,20.150,155.04,120308,,,A*55
+$GPRMC,142555.00,A,5157.46324,N,00424.60797,E,20.191,154.97,120308,,,A*5D
+$GPRMC,142556.00,A,5157.45809,N,00424.61183,E,20.837,154.88,120308,,,A*50
+$GPRMC,142557.00,A,5157.45270,N,00424.61599,E,22.039,154.51,120308,,,A*5A
+$GPRMC,142558.00,A,5157.44702,N,00424.62051,E,23.047,154.43,120308,,,A*5D
+$GPRMC,142559.00,A,5157.44114,N,00424.62535,E,23.985,152.77,120308,,,A*5C
+$GPRMC,142600.00,A,5157.43496,N,00424.63039,E,25.341,153.97,120308,,,A*58
+$GPRMC,142601.00,A,5157.42844,N,00424.63560,E,26.711,153.86,120308,,,A*50
+$GPRMC,142602.00,A,5157.42160,N,00424.64153,E,28.602,154.18,120308,,,A*52
+$GPRMC,142603.00,A,5157.41427,N,00424.64773,E,29.561,153.75,120308,,,A*59
+$GPRMC,142604.00,A,5157.40682,N,00424.65383,E,29.906,154.13,120308,,,A*52
+$GPRMC,142605.00,A,5157.39934,N,00424.65962,E,29.303,154.37,120308,,,A*53
+$GPRMC,142606.00,A,5157.39199,N,00424.66524,E,28.694,154.67,120308,,,A*5D
+$GPRMC,142607.00,A,5157.38478,N,00424.67075,E,28.103,154.54,120308,,,A*5E
+$GPRMC,142608.00,A,5157.37769,N,00424.67609,E,27.570,155.23,120308,,,A*5E
+$GPRMC,142609.00,A,5157.37071,N,00424.68144,E,27.449,154.53,120308,,,A*5D
+$GPRMC,142610.00,A,5157.36398,N,00424.68662,E,26.202,154.43,120308,,,A*5A
+$GPRMC,142611.00,A,5157.35790,N,00424.69143,E,23.251,154.20,120308,,,A*57
+$GPRMC,142612.00,A,5157.35255,N,00424.69571,E,20.327,154.23,120308,,,A*5D
+$GPRMC,142613.00,A,5157.34778,N,00424.69958,E,19.098,153.78,120308,,,A*54
+$GPRMC,142614.00,A,5157.34328,N,00424.70337,E,19.046,153.58,120308,,,A*58
+$GPRMC,142615.00,A,5157.33865,N,00424.70717,E,19.157,153.58,120308,,,A*5B
+$GPRMC,142616.00,A,5157.33399,N,00424.71102,E,19.306,153.98,120308,,,A*59
+$GPRMC,142617.00,A,5157.32931,N,00424.71482,E,19.146,154.26,120308,,,A*58
+$GPRMC,142618.00,A,5157.32456,N,00424.71867,E,19.723,154.45,120308,,,A*5C
+$GPRMC,142619.00,A,5157.31956,N,00424.72271,E,20.885,154.60,120308,,,A*53
+$GPRMC,142620.00,A,5157.31424,N,00424.72695,E,22.293,154.46,120308,,,A*54
+$GPRMC,142621.00,A,5157.30854,N,00424.73146,E,23.845,154.12,120308,,,A*56
+$GPRMC,142622.00,A,5157.30241,N,00424.73630,E,25.500,154.03,120308,,,A*57
+$GPRMC,142623.00,A,5157.29598,N,00424.74139,E,26.266,153.70,120308,,,A*53
+$GPRMC,142624.00,A,5157.28951,N,00424.74646,E,25.690,154.53,120308,,,A*5B
+$GPRMC,142625.00,A,5157.28311,N,00424.75140,E,25.130,155.03,120308,,,A*5D
+$GPRMC,142626.00,A,5157.27673,N,00424.75625,E,25.421,155.06,120308,,,A*54
+$GPRMC,142627.00,A,5157.26987,N,00424.76109,E,27.349,156.46,120308,,,A*56
+$GPRMC,142628.00,A,5157.26259,N,00424.76618,E,28.973,155.75,120308,,,A*59
+$GPRMC,142629.00,A,5157.25505,N,00424.77168,E,30.246,155.95,120308,,,A*5E
+$GPRMC,142630.00,A,5157.24736,N,00424.77721,E,29.689,155.51,120308,,,A*59
+$GPRMC,142631.00,A,5157.24026,N,00424.78244,E,27.234,155.67,120308,,,A*5E
+$GPRMC,142632.00,A,5157.23403,N,00424.78678,E,22.743,155.54,120308,,,A*52
+$GPRMC,142633.00,A,5157.22854,N,00424.79054,E,19.955,157.16,120308,,,A*50
+$GPRMC,142634.00,A,5157.22413,N,00424.79378,E,15.871,155.35,120308,,,A*5D
+$GPRMC,142635.00,A,5157.22042,N,00424.79640,E,14.082,156.04,120308,,,A*56
+$GPRMC,142636.00,A,5157.21752,N,00424.79848,E,11.387,153.36,120308,,,A*51
+$GPRMC,142637.00,A,5157.21535,N,00424.80022,E,8.974,151.27,120308,,,A*6D
+$GPRMC,142638.00,A,5157.21367,N,00424.80161,E,7.247,151.79,120308,,,A*6A
+$GPRMC,142639.00,A,5157.21288,N,00424.80221,E,3.971,150.73,120308,,,A*6D
+$GPRMC,142640.00,A,5157.21255,N,00424.80237,E,1.909,150.47,120308,,,A*6E
+$GPRMC,142641.00,A,5157.21220,N,00424.80237,E,2.132,152.22,120308,,,A*6F
+$GPRMC,142642.00,A,5157.21160,N,00424.80262,E,1.192,151.76,120308,,,A*60
+$GPRMC,142643.00,A,5157.21205,N,00424.80241,E,0.719,145.65,120308,,,A*63
+$GPRMC,142644.00,A,5157.21226,N,00424.80222,E,0.458,146.16,120308,,,A*61
+$GPRMC,142645.00,A,5157.21238,N,00424.80192,E,0.200,147.95,120308,,,A*66
+$GPRMC,142646.00,A,5157.21273,N,00424.80171,E,0.994,138.24,120308,,,A*63
+$GPRMC,142647.00,A,5157.21302,N,00424.80159,E,0.634,128.75,120308,,,A*6F
+$GPRMC,142648.00,A,5157.21343,N,00424.80134,E,0.123,129.73,120308,,,A*68
+$GPRMC,142649.00,A,5157.21368,N,00424.80106,E,0.477,139.17,120308,,,A*66
+$GPRMC,142650.00,A,5157.21407,N,00424.80071,E,1.019,129.47,120308,,,A*68
+$GPRMC,142651.00,A,5157.21425,N,00424.80053,E,0.353,120.46,120308,,,A*6D
+$GPRMC,142652.00,A,5157.21437,N,00424.80036,E,0.486,124.12,120308,,,A*64
+$GPRMC,142653.00,A,5157.21430,N,00424.80040,E,0.086,125.70,120308,,,A*62
+$GPRMC,142654.00,A,5157.21404,N,00424.80065,E,0.476,128.29,120308,,,A*6F
+$GPRMC,142655.00,A,5157.21405,N,00424.80064,E,0.177,124.93,120308,,,A*67
+$GPRMC,142656.00,A,5157.21331,N,00424.80118,E,0.254,127.95,120308,,,A*69
+$GPRMC,142657.00,A,5157.21286,N,00424.80146,E,1.050,130.71,120308,,,A*65
+$GPRMC,142658.00,A,5157.21264,N,00424.80160,E,0.193,126.09,120308,,,A*65
+$GPRMC,142659.00,A,5157.21258,N,00424.80174,E,0.096,121.73,120308,,,A*60
+$GPRMC,142700.00,A,5157.21278,N,00424.80149,E,0.250,111.88,120308,,,A*6E
+$GPRMC,142701.00,A,5157.21326,N,00424.80111,E,1.480,104.17,120308,,,A*60
+$GPRMC,142702.00,A,5157.21380,N,00424.80071,E,2.040,343.62,120308,,,A*60
+$GPRMC,142703.00,A,5157.21396,N,00424.80017,E,0.965,342.53,120308,,,A*69
+$GPRMC,142704.00,A,5157.21437,N,00424.79980,E,0.483,339.12,120308,,,A*6F
+$GPRMC,142705.00,A,5157.21473,N,00424.79925,E,0.194,336.81,120308,,,A*67
+$GPRMC,142706.00,A,5157.21516,N,00424.79885,E,0.211,333.61,120308,,,A*68
+$GPRMC,142707.00,A,5157.21542,N,00424.79830,E,0.160,337.53,120308,,,A*66
+$GPRMC,142708.00,A,5157.21473,N,00424.79861,E,3.276,155.29,120308,,,A*62
+$GPRMC,142709.00,A,5157.21352,N,00424.79923,E,5.093,154.76,120308,,,A*64
+$GPRMC,142710.00,A,5157.21180,N,00424.80023,E,6.773,153.03,120308,,,A*61
+$GPRMC,142711.00,A,5157.20934,N,00424.80170,E,10.231,155.62,120308,,,A*54
+$GPRMC,142712.00,A,5157.20600,N,00424.80383,E,12.663,154.65,120308,,,A*56
+$GPRMC,142713.00,A,5157.20266,N,00424.80643,E,12.953,153.67,120308,,,A*53
+$GPRMC,142714.00,A,5157.19925,N,00424.80894,E,12.552,153.71,120308,,,A*5C
+$GPRMC,142715.00,A,5157.19607,N,00424.81120,E,11.913,155.20,120308,,,A*5D
+$GPRMC,142716.00,A,5157.19347,N,00424.81359,E,9.711,152.81,120308,,,A*6A
+$GPRMC,142717.00,A,5157.19162,N,00424.81542,E,6.895,153.97,120308,,,A*68
+$GPRMC,142718.00,A,5157.19018,N,00424.81665,E,4.503,150.93,120308,,,A*6A
+$GPRMC,142719.00,A,5157.18920,N,00424.81739,E,2.723,156.53,120308,,,A*6C
+$GPRMC,142720.00,A,5157.18908,N,00424.81765,E,0.531,155.05,120308,,,A*66
+$GPRMC,142721.00,A,5157.18897,N,00424.81740,E,0.148,152.44,120308,,,A*6F
+$GPRMC,142722.00,A,5157.18884,N,00424.81723,E,0.216,146.75,120308,,,A*64
+$GPRMC,142723.00,A,5157.18866,N,00424.81693,E,0.257,147.04,120308,,,A*61
+$GPRMC,142724.00,A,5157.18850,N,00424.81677,E,0.094,145.02,120308,,,A*60
+$GPRMC,142725.00,A,5157.18837,N,00424.81662,E,0.088,147.73,120308,,,A*6D
+$GPRMC,142726.00,A,5157.18844,N,00424.81663,E,0.075,144.65,120308,,,A*6D
+$GPRMC,142727.00,A,5157.18856,N,00424.81667,E,0.014,,120308,,,A*70
+$GPRMC,142728.00,A,5157.18870,N,00424.81676,E,0.023,145.75,120308,,,A*63
+$GPRMC,142729.00,A,5157.18860,N,00424.81690,E,0.329,145.09,120308,,,A*69
+$GPRMC,142730.00,A,5157.18876,N,00424.81722,E,0.080,145.34,120308,,,A*60
+$GPRMC,142731.00,A,5157.18871,N,00424.81728,E,0.447,146.48,120308,,,A*6B
+$GPRMC,142732.00,A,5157.18834,N,00424.81744,E,1.703,146.96,120308,,,A*62
+$GPRMC,142733.00,A,5157.18744,N,00424.81811,E,4.125,150.35,120308,,,A*6D
+$GPRMC,142734.00,A,5157.18592,N,00424.81919,E,6.086,151.62,120308,,,A*63
+$GPRMC,142735.00,A,5157.18414,N,00424.82055,E,6.546,153.02,120308,,,A*62
+$GPRMC,142736.00,A,5157.18235,N,00424.82184,E,6.276,153.82,120308,,,A*65
+$GPRMC,142737.00,A,5157.18069,N,00424.82286,E,5.417,156.36,120308,,,A*66
+$GPRMC,142738.00,A,5157.17922,N,00424.82393,E,4.605,156.69,120308,,,A*6F
+$GPRMC,142739.00,A,5157.17794,N,00424.82453,E,4.276,160.79,120308,,,A*62
+$GPRMC,142740.00,A,5157.17695,N,00424.82507,E,3.187,154.87,120308,,,A*60
+$GPRMC,142741.00,A,5157.17596,N,00424.82568,E,3.655,154.18,120308,,,A*66
+$GPRMC,142742.00,A,5157.17475,N,00424.82646,E,4.590,154.54,120308,,,A*63
+$GPRMC,142743.00,A,5157.17341,N,00424.82751,E,5.525,149.61,120308,,,A*60
+$GPRMC,142744.00,A,5157.17157,N,00424.82898,E,7.717,150.69,120308,,,A*69
+$GPRMC,142745.00,A,5157.16921,N,00424.83065,E,9.242,152.72,120308,,,A*68
+$GPRMC,142746.00,A,5157.16645,N,00424.83274,E,10.486,154.80,120308,,,A*59
+$GPRMC,142747.00,A,5157.16336,N,00424.83504,E,11.055,155.63,120308,,,A*5E
+$GPRMC,142748.00,A,5157.16036,N,00424.83730,E,11.964,154.75,120308,,,A*5A
+$GPRMC,142749.00,A,5157.15714,N,00424.83976,E,14.005,154.46,120308,,,A*58
+$GPRMC,142750.00,A,5157.15337,N,00424.84292,E,15.077,154.07,120308,,,A*52
+$GPRMC,142751.00,A,5157.14941,N,00424.84618,E,15.790,153.64,120308,,,A*53
+$GPRMC,142752.00,A,5157.14507,N,00424.84975,E,17.903,153.14,120308,,,A*5B
+$GPRMC,142753.00,A,5157.14037,N,00424.85369,E,19.297,152.89,120308,,,A*57
+$GPRMC,142754.00,A,5157.13509,N,00424.85798,E,21.429,152.85,120308,,,A*51
+$GPRMC,142755.00,A,5157.12956,N,00424.86254,E,22.126,153.11,120308,,,A*54
+$GPRMC,142756.00,A,5157.12402,N,00424.86719,E,22.166,152.58,120308,,,A*5F
+$GPRMC,142757.00,A,5157.11863,N,00424.87163,E,21.154,152.62,120308,,,A*57
+$GPRMC,142758.00,A,5157.11356,N,00424.87548,E,19.369,154.63,120308,,,A*58
+$GPRMC,142759.00,A,5157.10925,N,00424.87900,E,16.744,154.50,120308,,,A*52
+$GPRMC,142800.00,A,5157.10539,N,00424.88212,E,14.549,155.01,120308,,,A*5F
+$GPRMC,142801.00,A,5157.10180,N,00424.88467,E,13.202,157.12,120308,,,A*53
+$GPRMC,142802.00,A,5157.09899,N,00424.88717,E,10.589,152.94,120308,,,A*51
+$GPRMC,142803.00,A,5157.09635,N,00424.88943,E,10.617,152.55,120308,,,A*5E
+$GPRMC,142804.00,A,5157.09393,N,00424.89096,E,9.593,156.11,120308,,,A*63
+$GPRMC,142805.00,A,5157.09206,N,00424.89280,E,8.314,150.61,120308,,,A*63
+$GPRMC,142806.00,A,5157.09062,N,00424.89404,E,6.663,152.41,120308,,,A*61
+$GPRMC,142807.00,A,5157.08910,N,00424.89490,E,6.358,165.21,120308,,,A*6F
+$GPRMC,142808.00,A,5157.08840,N,00424.89450,E,3.242,184.82,120308,,,A*61
+$GPRMC,142809.00,A,5157.08713,N,00424.89495,E,4.342,169.14,120308,,,A*6A
+$GPRMC,142810.00,A,5157.08584,N,00424.89517,E,4.488,169.81,120308,,,A*68
+$GPRMC,142811.00,A,5157.08517,N,00424.89517,E,2.452,169.49,120308,,,A*66
+$GPRMC,142812.00,A,5157.08479,N,00424.89531,E,2.330,174.55,120308,,,A*6A
+$GPRMC,142813.00,A,5157.08344,N,00424.89554,E,5.016,177.61,120308,,,A*65
+$GPRMC,142814.00,A,5157.08244,N,00424.89548,E,4.143,177.34,120308,,,A*6E
+$GPRMC,142815.00,A,5157.08188,N,00424.89557,E,2.196,179.92,120308,,,A*6E
+$GPRMC,142816.00,A,5157.08157,N,00424.89552,E,1.203,180.79,120308,,,A*65
+$GPRMC,142817.00,A,5157.08156,N,00424.89554,E,0.551,170.17,120308,,,A*65
+$GPRMC,142818.00,A,5157.08131,N,00424.89543,E,1.170,171.03,120308,,,A*6F
+$GPRMC,142819.00,A,5157.08096,N,00424.89518,E,0.580,171.39,120308,,,A*6F
+$GPRMC,142820.00,A,5157.07998,N,00424.89505,E,0.964,171.47,120308,,,A*6E
+$GPRMC,142821.00,A,5157.07947,N,00424.89496,E,0.672,171.59,120308,,,A*61
+$GPRMC,142822.00,A,5157.07936,N,00424.89497,E,0.321,172.15,120308,,,A*6D
+$GPRMC,142823.00,A,5157.07914,N,00424.89524,E,0.093,170.88,120308,,,A*69
+$GPRMC,142824.00,A,5157.07906,N,00424.89513,E,0.313,169.76,120308,,,A*6B
+$GPRMC,142825.00,A,5157.07875,N,00424.89503,E,0.593,170.28,120308,,,A*63
+$GPRMC,142826.00,A,5157.07846,N,00424.89512,E,0.787,170.91,120308,,,A*65
+$GPRMC,142827.00,A,5157.07796,N,00424.89506,E,0.768,171.47,120308,,,A*68
+$GPRMC,142828.00,A,5157.07774,N,00424.89494,E,1.042,171.61,120308,,,A*6B
+$GPRMC,142829.00,A,5157.07748,N,00424.89486,E,1.597,171.83,120308,,,A*67
+$GPRMC,142830.00,A,5157.07715,N,00424.89481,E,1.622,172.20,120308,,,A*67
+$GPRMC,142831.00,A,5157.07686,N,00424.89471,E,1.296,172.75,120308,,,A*69
+$GPRMC,142832.00,A,5157.07661,N,00424.89456,E,0.849,173.37,120308,,,A*68
+$GPRMC,142833.00,A,5157.07637,N,00424.89433,E,0.488,173.88,120308,,,A*6C
+$GPRMC,142834.00,A,5157.07595,N,00424.89408,E,0.343,174.63,120308,,,A*6A
+$GPRMC,142835.00,A,5157.07590,N,00424.89390,E,0.160,175.01,120308,,,A*6E
+$GPRMC,142836.00,A,5157.07589,N,00424.89382,E,0.085,169.44,120308,,,A*60
+$GPRMC,142837.00,A,5157.07569,N,00424.89360,E,0.058,164.17,120308,,,A*68
+$GPRMC,142838.00,A,5157.07576,N,00424.89357,E,0.133,159.15,120308,,,A*6D
+$GPRMC,142839.00,A,5157.07579,N,00424.89354,E,0.064,154.10,120308,,,A*6B
+$GPRMC,142840.00,A,5157.07594,N,00424.89351,E,0.112,149.40,120308,,,A*6A
+$GPRMC,142841.00,A,5157.07599,N,00424.89352,E,0.133,147.26,120308,,,A*68
+$GPRMC,142842.00,A,5157.07607,N,00424.89345,E,0.089,142.05,120308,,,A*6D
+$GPRMC,142843.00,A,5157.07609,N,00424.89335,E,0.479,144.46,120308,,,A*6F
+$GPRMC,142844.00,A,5157.07588,N,00424.89319,E,1.805,147.00,120308,,,A*6B
+$GPRMC,142845.00,A,5157.07513,N,00424.89291,E,2.151,206.23,120308,,,A*65
+$GPRMC,142846.00,A,5157.07490,N,00424.89129,E,3.216,229.66,120308,,,A*61
+$GPRMC,142847.00,A,5157.07412,N,00424.89080,E,1.956,215.06,120308,,,A*6C
+$GPRMC,142848.00,A,5157.07317,N,00424.88994,E,2.502,216.03,120308,,,A*64
+$GPRMC,142849.00,A,5157.07203,N,00424.88895,E,3.525,216.23,120308,,,A*67
+$GPRMC,142850.00,A,5157.07071,N,00424.88961,E,2.850,194.29,120308,,,A*6F
+$GPRMC,142851.00,A,5157.06916,N,00424.89077,E,2.503,199.07,120308,,,A*62
+$GPRMC,142852.00,A,5157.06793,N,00424.89206,E,0.604,197.37,120308,,,A*6D
+$GPRMC,142853.00,A,5157.06748,N,00424.89254,E,0.107,197.14,120308,,,A*68
+$GPRMC,142854.00,A,5157.06726,N,00424.89296,E,0.033,196.60,120308,,,A*6D
+$GPRMC,142855.00,A,5157.06689,N,00424.89333,E,0.027,197.82,120308,,,A*6E
+$GPRMC,142856.00,A,5157.06674,N,00424.89362,E,0.041,197.36,120308,,,A*64
+$GPRMC,142857.00,A,5157.06662,N,00424.89387,E,0.102,196.40,120308,,,A*6F
+$GPRMC,142858.00,A,5157.06646,N,00424.89412,E,0.240,195.83,120308,,,A*64
+$GPRMC,142859.00,A,5157.06627,N,00424.89438,E,0.204,193.92,120308,,,A*6C
+$GPRMC,142900.00,A,5157.06598,N,00424.89461,E,0.490,193.03,120308,,,A*69
+$GPRMC,142901.00,A,5157.06549,N,00424.89501,E,1.494,191.45,120308,,,A*66
+$GPRMC,142902.00,A,5157.06465,N,00424.89570,E,2.119,183.76,120308,,,A*6C
+$GPRMC,142903.00,A,5157.06380,N,00424.89568,E,3.571,187.84,120308,,,A*6A
+$GPRMC,142904.00,A,5157.06225,N,00424.89560,E,5.604,192.17,120308,,,A*62
+$GPRMC,142905.00,A,5157.06018,N,00424.89532,E,7.919,189.54,120308,,,A*64
+$GPRMC,142906.00,A,5157.05737,N,00424.89521,E,9.786,185.33,120308,,,A*67
+$GPRMC,142907.00,A,5157.05442,N,00424.89442,E,10.893,186.90,120308,,,A*5A
+$GPRMC,142908.00,A,5157.05223,N,00424.89505,E,8.875,172.46,120308,,,A*67
+$GPRMC,142909.00,A,5157.05075,N,00424.89544,E,6.837,165.76,120308,,,A*6F
+$GPRMC,142910.00,A,5157.04967,N,00424.89538,E,5.110,182.36,120308,,,A*65
+$GPRMC,142911.00,A,5157.04688,N,00424.89581,E,6.097,177.05,120308,,,A*6F
+$GPRMC,142912.00,A,5157.04406,N,00424.89629,E,7.165,177.86,120308,,,A*6F
+$GPRMC,142913.00,A,5157.04086,N,00424.89640,E,6.571,176.69,120308,,,A*6D
+$GPRMC,142914.00,A,5157.03664,N,00424.89528,E,10.876,181.84,120308,,,A*5C
+$GPRMC,142915.00,A,5157.03357,N,00424.89216,E,8.928,192.87,120308,,,A*60
+$GPRMC,142916.00,A,5157.03062,N,00424.89052,E,8.859,189.28,120308,,,A*6C
+$GPRMC,142917.00,A,5157.02845,N,00424.88936,E,7.415,181.80,120308,,,A*6A
+$GPRMC,142918.00,A,5157.02596,N,00424.88846,E,6.925,192.05,120308,,,A*60
+$GPRMC,142919.00,A,5157.02412,N,00424.88794,E,5.152,178.26,120308,,,A*62
+$GPRMC,142920.00,A,5157.02275,N,00424.88791,E,3.842,175.70,120308,,,A*6A
+$GPRMC,142921.00,A,5157.02198,N,00424.88832,E,2.690,150.83,120308,,,A*66
+$GPRMC,142922.00,A,5157.02194,N,00424.88831,E,0.816,151.12,120308,,,A*61
+$GPRMC,142923.00,A,5157.02198,N,00424.88765,E,0.375,162.02,120308,,,A*6D
+$GPRMC,142924.00,A,5157.02158,N,00424.88756,E,0.103,161.05,120308,,,A*61
+$GPRMC,142925.00,A,5157.02161,N,00424.88703,E,1.079,170.36,120308,,,A*67
+$GPRMC,142926.00,A,5157.02190,N,00424.88508,E,1.267,178.41,120308,,,A*66
+$GPRMC,142927.00,A,5157.02172,N,00424.88503,E,0.143,179.78,120308,,,A*6F
+$GPRMC,142928.00,A,5157.02194,N,00424.88512,E,0.709,187.94,120308,,,A*63
+$GPRMC,142929.00,A,5157.02194,N,00424.88459,E,0.753,195.23,120308,,,A*6C
+$GPRMC,142930.00,A,5157.02146,N,00424.88476,E,1.035,199.92,120308,,,A*66
+$GPRMC,142931.00,A,5157.02094,N,00424.88553,E,0.376,197.12,120308,,,A*6C
+$GPRMC,142932.00,A,5157.02048,N,00424.88567,E,0.107,193.47,120308,,,A*69
+$GPRMC,142933.00,A,5157.01982,N,00424.88590,E,0.406,198.33,120308,,,A*60
+$GPRMC,142934.00,A,5157.01956,N,00424.88605,E,0.626,208.24,120308,,,A*6D
+$GPRMC,142935.00,A,5157.01949,N,00424.88653,E,0.425,198.13,120308,,,A*6E
+$GPRMC,142936.00,A,5157.01949,N,00424.88601,E,0.709,204.00,120308,,,A*63
+$GPRMC,142937.00,A,5157.01945,N,00424.88506,E,1.251,207.73,120308,,,A*64
+$GPRMC,142938.00,A,5157.01967,N,00424.88444,E,0.889,212.45,120308,,,A*63
+$GPRMC,142939.00,A,5157.01974,N,00424.88349,E,0.374,217.84,120308,,,A*6B
+$GPRMC,142940.00,A,5157.02005,N,00424.88211,E,0.759,223.12,120308,,,A*66
+$GPRMC,142941.00,A,5157.02032,N,00424.88100,E,0.523,227.63,120308,,,A*6D
+$GPRMC,142942.00,A,5157.02036,N,00424.88052,E,0.114,230.13,120308,,,A*6D
+$GPRMC,142943.00,A,5157.02046,N,00424.88020,E,0.370,233.42,120308,,,A*69
+$GPRMC,142944.00,A,5157.02056,N,00424.87960,E,0.492,236.25,120308,,,A*62
+$GPRMC,142945.00,A,5157.02061,N,00424.87910,E,0.174,239.53,120308,,,A*63
+$GPRMC,142946.00,A,5157.02067,N,00424.87868,E,0.443,243.06,120308,,,A*64
+$GPRMC,142947.00,A,5157.02071,N,00424.87842,E,0.296,246.40,120308,,,A*63
+$GPRMC,142948.00,A,5157.02079,N,00424.87829,E,0.088,250.60,120308,,,A*61
+$GPRMC,142949.00,A,5157.02084,N,00424.87807,E,0.044,255.23,120308,,,A*6C
+$GPRMC,142950.00,A,5157.02091,N,00424.87783,E,0.152,257.58,120308,,,A*6B
+$GPRMC,142951.00,A,5157.02093,N,00424.87773,E,0.161,259.79,120308,,,A*6A
+$GPRMC,142952.00,A,5157.02086,N,00424.87733,E,0.822,259.87,120308,,,A*66
+$GPRMC,142953.00,A,5157.02091,N,00424.87688,E,1.124,264.18,120308,,,A*66
+$GPRMC,142954.00,A,5157.02090,N,00424.87645,E,0.202,265.45,120308,,,A*6E
+$GPRMC,142955.00,A,5157.02080,N,00424.87612,E,0.060,261.30,120308,,,A*6C
+$GPRMC,142956.00,A,5157.02066,N,00424.87587,E,0.283,260.58,120308,,,A*68
+$GPRMC,142957.00,A,5157.02060,N,00424.87546,E,0.211,261.86,120308,,,A*6B
+$GPRMC,142958.00,A,5157.02046,N,00424.87514,E,0.776,257.91,120308,,,A*60
+$GPRMC,142959.00,A,5157.02034,N,00424.87499,E,0.183,259.32,120308,,,A*6B
+$GPRMC,143000.00,A,5157.02032,N,00424.87502,E,0.443,261.82,120308,,,A*63
+$GPRMC,143001.00,A,5157.02037,N,00424.87456,E,0.547,263.71,120308,,,A*6C
+$GPRMC,143002.00,A,5157.02038,N,00424.87461,E,0.103,266.25,120308,,,A*64
+$GPRMC,143003.00,A,5157.02043,N,00424.87441,E,0.184,267.05,120308,,,A*67
+$GPRMC,143004.00,A,5157.02047,N,00424.87463,E,0.278,267.91,120308,,,A*69
+$GPRMC,143005.00,A,5157.02051,N,00424.87487,E,0.114,268.27,120308,,,A*6E
+$GPRMC,143006.00,A,5157.02053,N,00424.87532,E,0.103,271.06,120308,,,A*6D
+$GPRMC,143007.00,A,5157.02055,N,00424.87555,E,0.491,266.88,120308,,,A*65
+$GPRMC,143008.00,A,5157.02061,N,00424.87542,E,0.473,264.29,120308,,,A*6E
+$GPRMC,143009.00,A,5157.02062,N,00424.87570,E,0.219,264.08,120308,,,A*64
+$GPRMC,143010.00,A,5157.02065,N,00424.87597,E,0.705,259.79,120308,,,A*62
+$GPRMC,143011.00,A,5157.02076,N,00424.87642,E,0.356,253.95,120308,,,A*60
+$GPRMC,143012.00,A,5157.02109,N,00424.87678,E,0.495,259.55,120308,,,A*6D
+$GPRMC,143013.00,A,5157.02132,N,00424.87733,E,0.047,258.64,120308,,,A*62
+$GPRMC,143014.00,A,5157.02174,N,00424.87804,E,0.866,268.60,120308,,,A*60
+$GPRMC,143015.00,A,5157.02198,N,00424.87812,E,0.433,267.68,120308,,,A*6F
+$GPRMC,143016.00,A,5157.02222,N,00424.87856,E,0.320,274.03,120308,,,A*64
+$GPRMC,143017.00,A,5157.02251,N,00424.87846,E,0.593,278.62,120308,,,A*65
+$GPRMC,143018.00,A,5157.02246,N,00424.87823,E,0.441,275.48,120308,,,A*64
+$GPRMC,143019.00,A,5157.02242,N,00424.87809,E,0.311,278.42,120308,,,A*6C
+$GPRMC,143020.00,A,5157.02231,N,00424.87786,E,0.343,278.59,120308,,,A*67
+$GPRMC,143021.00,A,5157.02223,N,00424.87768,E,0.357,275.06,120308,,,A*67
+$GPRMC,143022.00,A,5157.02224,N,00424.87757,E,0.487,279.78,120308,,,A*60
+$GPRMC,143023.00,A,5157.02227,N,00424.87736,E,0.523,285.38,120308,,,A*6D
+$GPRMC,143024.00,A,5157.02210,N,00424.87738,E,0.270,277.60,120308,,,A*61
+$GPRMC,143025.00,A,5157.02208,N,00424.87765,E,0.481,285.98,120308,,,A*63
+$GPRMC,143026.00,A,5157.02218,N,00424.87760,E,0.291,289.48,120308,,,A*62
+$GPRMC,143027.00,A,5157.02198,N,00424.87779,E,0.101,288.70,120308,,,A*60
+$GPRMC,143028.00,A,5157.02194,N,00424.87811,E,0.174,283.58,120308,,,A*61
+$GPRMC,143029.00,A,5157.02202,N,00424.87866,E,0.685,292.28,120308,,,A*62
+$GPRMC,143030.00,A,5157.02198,N,00424.87959,E,0.523,301.18,120308,,,A*60
+$GPRMC,143031.00,A,5157.02184,N,00424.88034,E,0.111,296.21,120308,,,A*61
+$GPRMC,143032.00,A,5157.02191,N,00424.88075,E,0.942,294.75,120308,,,A*6E
+$GPRMC,143033.00,A,5157.02194,N,00424.88078,E,1.104,295.33,120308,,,A*6F
+$GPRMC,143034.00,A,5157.02188,N,00424.88112,E,0.527,294.83,120308,,,A*66
+$GPRMC,143035.00,A,5157.02178,N,00424.88163,E,0.322,287.78,120308,,,A*6B
+$GPRMC,143036.00,A,5157.02173,N,00424.88176,E,0.588,286.58,120308,,,A*62
+$GPRMC,143037.00,A,5157.02149,N,00424.88217,E,0.703,277.75,120308,,,A*6E
+$GPRMC,143038.00,A,5157.02132,N,00424.88191,E,0.673,276.20,120308,,,A*67
+$GPRMC,143039.00,A,5157.02123,N,00424.88139,E,1.036,275.98,120308,,,A*62
+$GPRMC,143040.00,A,5157.02089,N,00424.88153,E,0.643,268.77,120308,,,A*69
+$GPRMC,143041.00,A,5157.02084,N,00424.88170,E,0.236,262.08,120308,,,A*60
+$GPRMC,143042.00,A,5157.02033,N,00424.88215,E,3.022,245.57,120308,,,A*64
+$GPRMC,143043.00,A,5157.01878,N,00424.88414,E,8.379,133.09,120308,,,A*69
+$GPRMC,143044.00,A,5157.01761,N,00424.88418,E,5.346,155.11,120308,,,A*6D
+$GPRMC,143045.00,A,5157.01614,N,00424.88445,E,6.018,164.13,120308,,,A*6C
+$GPRMC,143046.00,A,5157.01431,N,00424.88527,E,7.284,160.20,120308,,,A*6D
+$GPRMC,143047.00,A,5157.01237,N,00424.88619,E,8.470,159.63,120308,,,A*6D
+$GPRMC,143048.00,A,5157.01030,N,00424.88790,E,8.083,152.38,120308,,,A*6A
+$GPRMC,143049.00,A,5157.00876,N,00424.88958,E,7.083,148.75,120308,,,A*67
+$GPRMC,143050.00,A,5157.00772,N,00424.89069,E,5.822,150.01,120308,,,A*65
+$GPRMC,143051.00,A,5157.00700,N,00424.89136,E,4.710,145.73,120308,,,A*64
+$GPRMC,143052.00,A,5157.00602,N,00424.89233,E,4.461,148.75,120308,,,A*6C
+$GPRMC,143053.00,A,5157.00524,N,00424.89321,E,2.666,148.22,120308,,,A*69
+$GPRMC,143054.00,A,5157.00469,N,00424.89372,E,1.374,148.00,120308,,,A*65
+$GPRMC,143055.00,A,5157.00413,N,00424.89419,E,1.474,148.12,120308,,,A*67
+$GPRMC,143056.00,A,5157.00365,N,00424.89428,E,0.704,149.63,120308,,,A*62
+$GPRMC,143057.00,A,5157.00356,N,00424.89420,E,0.033,153.67,120308,,,A*67
+$GPRMC,143058.00,A,5157.00381,N,00424.89416,E,0.033,155.74,120308,,,A*63
+$GPRMC,143059.00,A,5157.00384,N,00424.89399,E,0.024,159.54,120308,,,A*6F
+$GPRMC,143100.00,A,5157.00388,N,00424.89385,E,0.026,156.90,120308,,,A*66
+$GPRMC,143101.00,A,5157.00390,N,00424.89374,E,0.027,152.62,120308,,,A*68
+$GPRMC,143102.00,A,5157.00417,N,00424.89381,E,0.066,157.78,120308,,,A*62
+$GPRMC,143103.00,A,5157.00396,N,00424.89391,E,1.473,157.01,120308,,,A*63
+$GPRMC,143104.00,A,5157.00308,N,00424.89464,E,4.783,144.91,120308,,,A*6C
+$GPRMC,143105.00,A,5157.00148,N,00424.89615,E,7.412,145.70,120308,,,A*69
+$GPRMC,143106.00,A,5156.99920,N,00424.89809,E,9.298,147.58,120308,,,A*6C
+$GPRMC,143107.00,A,5156.99664,N,00424.90049,E,10.690,147.82,120308,,,A*55
+$GPRMC,143108.00,A,5156.99415,N,00424.90318,E,10.435,146.98,120308,,,A*5E
+$GPRMC,143109.00,A,5156.99209,N,00424.90562,E,8.838,148.02,120308,,,A*6A
+$GPRMC,143110.00,A,5156.99061,N,00424.90732,E,4.904,146.23,120308,,,A*66
+$GPRMC,143111.00,A,5156.98991,N,00424.90815,E,2.078,147.15,120308,,,A*6A
+$GPRMC,143112.00,A,5156.98957,N,00424.90846,E,1.033,147.22,120308,,,A*6D
+$GPRMC,143113.00,A,5156.98939,N,00424.90858,E,0.523,147.05,120308,,,A*6B
+$GPRMC,143114.00,A,5156.98933,N,00424.90860,E,0.157,146.88,120308,,,A*6E
+$GPRMC,143115.00,A,5156.98934,N,00424.90856,E,0.080,141.85,120308,,,A*6C
+$GPRMC,143116.00,A,5156.98940,N,00424.90851,E,0.176,141.90,120308,,,A*67
+$GPRMC,143117.00,A,5156.98940,N,00424.90849,E,0.278,142.13,120308,,,A*6A
+$GPRMC,143118.00,A,5156.98938,N,00424.90847,E,0.356,142.25,120308,,,A*6C
+$GPRMC,143119.00,A,5156.98931,N,00424.90846,E,0.339,142.02,120308,,,A*69
+$GPRMC,143120.00,A,5156.98927,N,00424.90840,E,0.134,141.15,120308,,,A*68
+$GPRMC,143121.00,A,5156.98913,N,00424.90818,E,0.048,143.00,120308,,,A*6F
+$GPRMC,143122.00,A,5156.98911,N,00424.90810,E,0.120,143.78,120308,,,A*66
+$GPRMC,143123.00,A,5156.98911,N,00424.90813,E,0.104,144.42,120308,,,A*6C
+$GPRMC,143124.00,A,5156.98914,N,00424.90806,E,0.077,149.62,120308,,,A*60
+$GPRMC,143125.00,A,5156.98919,N,00424.90800,E,0.059,154.17,120308,,,A*68
+$GPRMC,143126.00,A,5156.98927,N,00424.90795,E,0.061,158.38,120308,,,A*6F
+$GPRMC,143127.00,A,5156.98938,N,00424.90783,E,0.107,162.51,120308,,,A*60
+$GPRMC,143128.00,A,5156.98945,N,00424.90786,E,0.088,165.78,120308,,,A*6A
+$GPRMC,143129.00,A,5156.98956,N,00424.90780,E,0.089,169.33,120308,,,A*6D
+$GPRMC,143130.00,A,5156.98967,N,00424.90774,E,0.145,172.86,120308,,,A*69
+$GPRMC,143131.00,A,5156.98978,N,00424.90769,E,0.129,176.28,120308,,,A*60
+$GPRMC,143132.00,A,5156.98988,N,00424.90755,E,0.168,179.78,120308,,,A*6C
+$GPRMC,143133.00,A,5156.99002,N,00424.90719,E,0.155,182.94,120308,,,A*67
+$GPRMC,143134.00,A,5156.99009,N,00424.90713,E,0.089,185.88,120308,,,A*6B
+$GPRMC,143135.00,A,5156.99018,N,00424.90705,E,0.083,188.48,120308,,,A*66
+$GPRMC,143136.00,A,5156.99026,N,00424.90691,E,0.087,191.69,120308,,,A*6B
+$GPRMC,143137.00,A,5156.99042,N,00424.90609,E,0.154,194.62,120308,,,A*68
+$GPRMC,143138.00,A,5156.99049,N,00424.90604,E,0.168,197.20,120308,,,A*6B
+$GPRMC,143139.00,A,5156.99056,N,00424.90588,E,0.164,199.86,120308,,,A*6D
+$GPRMC,143140.00,A,5156.99063,N,00424.90577,E,0.149,202.33,120308,,,A*65
+$GPRMC,143141.00,A,5156.99070,N,00424.90572,E,0.167,204.90,120308,,,A*60
+$GPRMC,143142.00,A,5156.99079,N,00424.90568,E,0.059,206.28,120308,,,A*6C
+$GPRMC,143143.00,A,5156.99085,N,00424.90562,E,0.130,205.86,120308,,,A*6D
+$GPRMC,143144.00,A,5156.99091,N,00424.90540,E,0.138,206.75,120308,,,A*68
+$GPRMC,143145.00,A,5156.99103,N,00424.90516,E,0.253,212.90,120308,,,A*60
+$GPRMC,143146.00,A,5156.99109,N,00424.90502,E,0.133,213.50,120308,,,A*64
+$GPRMC,143147.00,A,5156.99112,N,00424.90492,E,0.173,212.62,120308,,,A*63
+$GPRMC,143148.00,A,5156.99110,N,00424.90509,E,0.118,211.17,120308,,,A*61
+$GPRMC,143149.00,A,5156.99112,N,00424.90512,E,0.075,209.79,120308,,,A*63
+$GPRMC,143150.00,A,5156.99115,N,00424.90523,E,0.081,207.93,120308,,,A*6F
+$GPRMC,143151.00,A,5156.99115,N,00424.90535,E,0.233,204.18,120308,,,A*62
+$GPRMC,143152.00,A,5156.99113,N,00424.90528,E,0.216,200.78,120308,,,A*6E
+$GPRMC,143153.00,A,5156.99109,N,00424.90535,E,0.360,197.30,120308,,,A*69
+$GPRMC,143154.00,A,5156.99102,N,00424.90536,E,0.381,194.00,120308,,,A*69
+$GPRMC,143155.00,A,5156.99093,N,00424.90542,E,0.420,190.69,120308,,,A*65
+$GPRMC,143156.00,A,5156.99088,N,00424.90546,E,0.255,187.64,120308,,,A*67
+$GPRMC,143157.00,A,5156.99085,N,00424.90549,E,0.097,186.49,120308,,,A*66
+$GPRMC,143158.00,A,5156.99084,N,00424.90552,E,0.029,184.84,120308,,,A*64
+$GPRMC,143159.00,A,5156.99086,N,00424.90556,E,0.010,,120308,,,A*76
+$GPRMC,143200.00,A,5156.99088,N,00424.90564,E,0.015,,120308,,,A*73
+$GPRMC,143201.00,A,5156.99089,N,00424.90570,E,0.011,,120308,,,A*72
+$GPRMC,143202.00,A,5156.99089,N,00424.90578,E,0.039,182.53,120308,,,A*60
+$GPRMC,143203.00,A,5156.99089,N,00424.90583,E,0.018,,120308,,,A*75
+$GPRMC,143204.00,A,5156.99089,N,00424.90593,E,0.006,,120308,,,A*7C
+$GPRMC,143205.00,A,5156.99088,N,00424.90609,E,0.074,179.80,120308,,,A*60
+$GPRMC,143206.00,A,5156.99088,N,00424.90615,E,0.033,177.94,120308,,,A*66
+$GPRMC,143207.00,A,5156.99087,N,00424.90625,E,0.046,175.03,120308,,,A*65
+$GPRMC,143208.00,A,5156.99084,N,00424.90638,E,0.052,173.18,120308,,,A*6C
+$GPRMC,143209.00,A,5156.99081,N,00424.90650,E,0.047,170.34,120308,,,A*6F
+$GPRMC,143210.00,A,5156.99080,N,00424.90659,E,0.061,168.35,120308,,,A*63
+$GPRMC,143211.00,A,5156.99081,N,00424.90667,E,0.106,166.21,120308,,,A*65
+$GPRMC,143212.00,A,5156.99082,N,00424.90673,E,0.053,164.56,120308,,,A*63
+$GPRMC,143213.00,A,5156.99083,N,00424.90670,E,0.017,,120308,,,A*7E
+$GPRMC,143214.00,A,5156.99084,N,00424.90667,E,0.008,,120308,,,A*76
+$GPRMC,143215.00,A,5156.99087,N,00424.90665,E,0.003,,120308,,,A*7D
+$GPRMC,143216.00,A,5156.99089,N,00424.90660,E,0.028,164.70,120308,,,A*66
+$GPRMC,143217.00,A,5156.99090,N,00424.90655,E,0.034,169.28,120308,,,A*64
+$GPRMC,143218.00,A,5156.99092,N,00424.90648,E,0.016,,120308,,,A*7F
+$GPRMC,143219.00,A,5156.99094,N,00424.90642,E,0.055,169.90,120308,,,A*6C
+$GPRMC,143220.00,A,5156.99054,N,00424.90681,E,3.465,167.14,120308,,,A*63
+$GPRMC,143221.00,A,5156.98939,N,00424.90856,E,6.996,133.02,120308,,,A*67
+$GPRMC,143222.00,A,5156.98740,N,00424.91130,E,10.011,138.91,120308,,,A*5C
+$GPRMC,143223.00,A,5156.98581,N,00424.91523,E,10.124,120.03,120308,,,A*51
+$GPRMC,143224.00,A,5156.98461,N,00424.92047,E,12.283,107.29,120308,,,A*5C
+$GPRMC,143225.00,A,5156.98442,N,00424.92563,E,11.280,90.78,120308,,,A*64
+$GPRMC,143226.00,A,5156.98445,N,00424.93032,E,12.014,84.55,120308,,,A*66
+$GPRMC,143227.00,A,5156.98542,N,00424.93635,E,14.787,66.89,120308,,,A*66
+$GPRMC,143228.00,A,5156.98797,N,00424.94266,E,17.495,52.48,120308,,,A*6F
+$GPRMC,143229.00,A,5156.99064,N,00424.94957,E,20.279,53.39,120308,,,A*6A
+$GPRMC,143230.00,A,5156.99398,N,00424.95723,E,21.132,53.91,120308,,,A*61
+$GPRMC,143231.00,A,5156.99759,N,00424.96530,E,22.181,55.05,120308,,,A*6A
+$GPRMC,143232.00,A,5157.00181,N,00424.97380,E,24.614,52.86,120308,,,A*66
+$GPRMC,143233.00,A,5157.00615,N,00424.98360,E,27.551,54.29,120308,,,A*6E
+$GPRMC,143234.00,A,5157.01084,N,00424.99459,E,30.286,54.69,120308,,,A*65
+$GPRMC,143235.00,A,5157.01551,N,00425.00629,E,30.506,55.38,120308,,,A*67
+$GPRMC,143236.00,A,5157.01987,N,00425.01798,E,29.874,54.96,120308,,,A*6C
+$GPRMC,143237.00,A,5157.02452,N,00425.02879,E,28.058,54.98,120308,,,A*61
+$GPRMC,143238.00,A,5157.02868,N,00425.03833,E,23.933,53.11,120308,,,A*6D
+$GPRMC,143239.00,A,5157.03270,N,00425.04579,E,20.417,45.09,120308,,,A*6C
+$GPRMC,143240.00,A,5157.03692,N,00425.04941,E,16.368,25.24,120308,,,A*6E
+$GPRMC,143241.00,A,5157.04056,N,00425.04769,E,12.488,346.62,120308,,,A*5B
+$GPRMC,143242.00,A,5157.04265,N,00425.04328,E,12.573,311.90,120308,,,A*51
+$GPRMC,143243.00,A,5157.04384,N,00425.03292,E,20.498,288.05,120308,,,A*51
+$GPRMC,143244.00,A,5157.04569,N,00425.02111,E,25.994,286.53,120308,,,A*53
+$GPRMC,143245.00,A,5157.04851,N,00425.00894,E,30.541,296.53,120308,,,A*53
+$GPRMC,143246.00,A,5157.05323,N,00424.99627,E,33.834,303.29,120308,,,A*54
+$GPRMC,143247.00,A,5157.05926,N,00424.98343,E,36.344,308.30,120308,,,A*56
+$GPRMC,143248.00,A,5157.06629,N,00424.97015,E,39.785,310.78,120308,,,A*56
+$GPRMC,143249.00,A,5157.07402,N,00424.95545,E,43.220,311.42,120308,,,A*50
+$GPRMC,143250.00,A,5157.08248,N,00424.94164,E,42.588,316.55,120308,,,A*5C
+$GPRMC,143251.00,A,5157.09286,N,00424.93007,E,42.631,324.25,120308,,,A*5A
+$GPRMC,143252.00,A,5157.10273,N,00424.91857,E,42.994,325.31,120308,,,A*50
+$GPRMC,143253.00,A,5157.11289,N,00424.90768,E,42.948,326.31,120308,,,A*55
+$GPRMC,143254.00,A,5157.12335,N,00424.89778,E,42.992,329.44,120308,,,A*54
+$GPRMC,143255.00,A,5157.13393,N,00424.88819,E,43.119,331.70,120308,,,A*55
+$GPRMC,143256.00,A,5157.14427,N,00424.87820,E,42.513,331.01,120308,,,A*55
+$GPRMC,143257.00,A,5157.15482,N,00424.86914,E,42.650,331.78,120308,,,A*57
+$GPRMC,143258.00,A,5157.16558,N,00424.86022,E,43.126,332.48,120308,,,A*56
+$GPRMC,143259.00,A,5157.17669,N,00424.85150,E,43.558,333.04,120308,,,A*54
+$GPRMC,143300.00,A,5157.18776,N,00424.84251,E,44.358,332.96,120308,,,A*51
+$GPRMC,143301.00,A,5157.19903,N,00424.83391,E,44.312,334.57,120308,,,A*52
+$GPRMC,143302.00,A,5157.21031,N,00424.82527,E,44.582,334.65,120308,,,A*56
+$GPRMC,143303.00,A,5157.22170,N,00424.81617,E,45.463,333.71,120308,,,A*5E
+$GPRMC,143304.00,A,5157.23312,N,00424.80723,E,45.273,333.99,120308,,,A*58
+$GPRMC,143305.00,A,5157.24471,N,00424.79860,E,44.689,334.99,120308,,,A*55
+$GPRMC,143306.00,A,5157.25595,N,00424.78916,E,45.465,332.58,120308,,,A*57
+$GPRMC,143307.00,A,5157.26744,N,00424.78049,E,44.735,333.59,120308,,,A*5F
+$GPRMC,143308.00,A,5157.27880,N,00424.77158,E,44.685,333.88,120308,,,A*5E
+$GPRMC,143309.00,A,5157.29034,N,00424.76294,E,44.473,334.05,120308,,,A*5D
+$GPRMC,143310.00,A,5157.30164,N,00424.75472,E,44.431,334.44,120308,,,A*57
+$GPRMC,143311.00,A,5157.31295,N,00424.74630,E,44.624,334.96,120308,,,A*56
+$GPRMC,143312.00,A,5157.32433,N,00424.73783,E,44.882,334.68,120308,,,A*51
+$GPRMC,143313.00,A,5157.33569,N,00424.72921,E,45.041,334.17,120308,,,A*56
+$GPRMC,143314.00,A,5157.34704,N,00424.72021,E,45.371,333.65,120308,,,A*54
+$GPRMC,143315.00,A,5157.35851,N,00424.71108,E,45.717,333.89,120308,,,A*54
+$GPRMC,143316.00,A,5157.37000,N,00424.70225,E,45.825,333.92,120308,,,A*50
+$GPRMC,143317.00,A,5157.38161,N,00424.69358,E,46.025,334.58,120308,,,A*51
+$GPRMC,143318.00,A,5157.39307,N,00424.68491,E,45.340,334.42,120308,,,A*56
+$GPRMC,143319.00,A,5157.40437,N,00424.67646,E,44.767,334.34,120308,,,A*5B
+$GPRMC,143320.00,A,5157.41558,N,00424.66819,E,44.754,335.05,120308,,,A*5E
+$GPRMC,143321.00,A,5157.42709,N,00424.65918,E,46.284,334.09,120308,,,A*5E
+$GPRMC,143322.00,A,5157.43862,N,00424.65034,E,45.548,334.39,120308,,,A*5E
+$GPRMC,143323.00,A,5157.44991,N,00424.64175,E,44.754,334.63,120308,,,A*51
+$GPRMC,143324.00,A,5157.46110,N,00424.63298,E,44.668,334.25,120308,,,A*5E
+$GPRMC,143325.00,A,5157.47217,N,00424.62434,E,44.608,334.05,120308,,,A*5F
+$GPRMC,143326.00,A,5157.48312,N,00424.61604,E,44.390,334.14,120308,,,A*51
+$GPRMC,143327.00,A,5157.49419,N,00424.60725,E,45.054,333.71,120308,,,A*50
+$GPRMC,143328.00,A,5157.50545,N,00424.59865,E,45.387,334.94,120308,,,A*5F
+$GPRMC,143329.00,A,5157.51672,N,00424.59001,E,45.973,334.38,120308,,,A*55
+$GPRMC,143330.00,A,5157.52840,N,00424.58136,E,46.036,334.86,120308,,,A*5B
+$GPRMC,143331.00,A,5157.54019,N,00424.57235,E,46.845,334.39,120308,,,A*5F
+$GPRMC,143332.00,A,5157.55164,N,00424.56334,E,45.888,333.96,120308,,,A*57
+$GPRMC,143333.00,A,5157.56293,N,00424.55437,E,45.840,334.14,120308,,,A*50
+$GPRMC,143334.00,A,5157.57435,N,00424.54543,E,46.191,334.69,120308,,,A*53
+$GPRMC,143335.00,A,5157.58577,N,00424.53612,E,46.694,333.86,120308,,,A*5E
+$GPRMC,143336.00,A,5157.59748,N,00424.52668,E,46.992,334.56,120308,,,A*5D
+$GPRMC,143337.00,A,5157.60930,N,00424.51752,E,46.765,335.13,120308,,,A*5A
+$GPRMC,143338.00,A,5157.62098,N,00424.50881,E,46.112,335.43,120308,,,A*5F
+$GPRMC,143339.00,A,5157.63242,N,00424.49986,E,45.352,334.95,120308,,,A*5B
+$GPRMC,143340.00,A,5157.64373,N,00424.49097,E,45.052,334.97,120308,,,A*59
+$GPRMC,143341.00,A,5157.65514,N,00424.48239,E,45.026,335.30,120308,,,A*56
+$GPRMC,143342.00,A,5157.66663,N,00424.47348,E,45.671,334.71,120308,,,A*5D
+$GPRMC,143343.00,A,5157.67822,N,00424.46458,E,46.009,334.44,120308,,,A*5D
+$GPRMC,143344.00,A,5157.68994,N,00424.45549,E,46.578,334.17,120308,,,A*5E
+$GPRMC,143345.00,A,5157.70182,N,00424.44646,E,47.225,334.24,120308,,,A*5A
+$GPRMC,143346.00,A,5157.71423,N,00424.43641,E,51.177,332.64,120308,,,A*57
+$GPRMC,143347.00,A,5157.72711,N,00424.42541,E,52.706,332.12,120308,,,A*57
+$GPRMC,143348.00,A,5157.73909,N,00424.41595,E,48.059,334.53,120308,,,A*51
+$GPRMC,143349.00,A,5157.75093,N,00424.40654,E,47.436,334.10,120308,,,A*56
+$GPRMC,143350.00,A,5157.76287,N,00424.39719,E,47.622,333.67,120308,,,A*5C
+$GPRMC,143351.00,A,5157.77470,N,00424.38770,E,47.328,333.59,120308,,,A*5E
+$GPRMC,143352.00,A,5157.78646,N,00424.37829,E,47.601,333.66,120308,,,A*5B
+$GPRMC,143353.00,A,5157.79815,N,00424.36862,E,46.867,333.39,120308,,,A*58
+$GPRMC,143354.00,A,5157.80959,N,00424.35935,E,46.003,333.04,120308,,,A*54
+$GPRMC,143355.00,A,5157.82153,N,00424.35024,E,47.513,333.75,120308,,,A*5F
+$GPRMC,143356.00,A,5157.83298,N,00424.34155,E,45.828,334.65,120308,,,A*5E
+$GPRMC,143357.00,A,5157.84432,N,00424.33319,E,44.952,334.80,120308,,,A*55
+$GPRMC,143358.00,A,5157.85550,N,00424.32477,E,44.826,334.02,120308,,,A*58
+$GPRMC,143359.00,A,5157.86638,N,00424.31615,E,44.120,333.79,120308,,,A*56
+$GPRMC,143400.00,A,5157.87733,N,00424.30776,E,44.459,334.54,120308,,,A*50
+$GPRMC,143401.00,A,5157.88841,N,00424.29895,E,45.095,333.91,120308,,,A*55
+$GPRMC,143402.00,A,5157.89942,N,00424.29022,E,45.177,334.03,120308,,,A*50
+$GPRMC,143403.00,A,5157.91071,N,00424.28120,E,46.010,333.68,120308,,,A*5A
+$GPRMC,143404.00,A,5157.92185,N,00424.27269,E,45.114,333.98,120308,,,A*5C
+$GPRMC,143405.00,A,5157.93285,N,00424.26380,E,44.511,332.94,120308,,,A*55
+$GPRMC,143406.00,A,5157.94370,N,00424.25517,E,44.130,333.69,120308,,,A*55
+$GPRMC,143407.00,A,5157.95473,N,00424.24666,E,44.515,334.24,120308,,,A*58
+$GPRMC,143408.00,A,5157.96580,N,00424.23824,E,44.564,334.55,120308,,,A*56
+$GPRMC,143409.00,A,5157.97698,N,00424.22947,E,45.061,334.13,120308,,,A*5A
+$GPRMC,143410.00,A,5157.98818,N,00424.22073,E,45.026,334.40,120308,,,A*50
+$GPRMC,143411.00,A,5157.99937,N,00424.21166,E,45.413,333.81,120308,,,A*52
+$GPRMC,143412.00,A,5158.01068,N,00424.20324,E,45.450,335.68,120308,,,A*5F
+$GPRMC,143413.00,A,5158.02192,N,00424.19429,E,45.668,334.55,120308,,,A*5F
+$GPRMC,143414.00,A,5158.03315,N,00424.18544,E,45.302,335.03,120308,,,A*54
+$GPRMC,143415.00,A,5158.04441,N,00424.17681,E,44.787,334.99,120308,,,A*5B
+$GPRMC,143416.00,A,5158.05580,N,00424.16882,E,44.565,336.27,120308,,,A*50
+$GPRMC,143417.00,A,5158.06714,N,00424.16050,E,44.557,334.81,120308,,,A*55
+$GPRMC,143418.00,A,5158.07837,N,00424.15194,E,44.323,334.58,120308,,,A*5E
+$GPRMC,143419.00,A,5158.08957,N,00424.14349,E,44.398,334.02,120308,,,A*5B
+$GPRMC,143420.00,A,5158.10059,N,00424.13497,E,43.494,333.98,120308,,,A*54
+$GPRMC,143421.00,A,5158.11169,N,00424.12668,E,43.814,334.68,120308,,,A*59
+$GPRMC,143422.00,A,5158.12275,N,00424.11829,E,44.511,334.32,120308,,,A*5F
+$GPRMC,143423.00,A,5158.13393,N,00424.10984,E,44.643,334.56,120308,,,A*57
+$GPRMC,143424.00,A,5158.14512,N,00424.10115,E,44.842,334.09,120308,,,A*5D
+$GPRMC,143425.00,A,5158.15635,N,00424.09235,E,45.672,333.97,120308,,,A*5E
+$GPRMC,143426.00,A,5158.16776,N,00424.08361,E,45.627,334.76,120308,,,A*51
+$GPRMC,143427.00,A,5158.17904,N,00424.07466,E,45.403,334.05,120308,,,A*55
+$GPRMC,143428.00,A,5158.19028,N,00424.06564,E,45.642,334.35,120308,,,A*55
+$GPRMC,143429.00,A,5158.20148,N,00424.05660,E,45.124,334.84,120308,,,A*50
+$GPRMC,143430.00,A,5158.21260,N,00424.04762,E,44.968,334.45,120308,,,A*5E
+$GPRMC,143431.00,A,5158.22375,N,00424.03858,E,44.797,334.52,120308,,,A*50
+$GPRMC,143432.00,A,5158.23490,N,00424.02991,E,44.892,334.77,120308,,,A*56
+$GPRMC,143433.00,A,5158.24610,N,00424.02142,E,44.994,335.27,120308,,,A*5F
+$GPRMC,143434.00,A,5158.25742,N,00424.01326,E,44.991,337.42,120308,,,A*58
+$GPRMC,143435.00,A,5158.26898,N,00424.00582,E,45.128,339.09,120308,,,A*51
+$GPRMC,143436.00,A,5158.28069,N,00423.99897,E,45.239,340.18,120308,,,A*59
+$GPRMC,143437.00,A,5158.29288,N,00423.99187,E,46.119,341.71,120308,,,A*50
+$GPRMC,143438.00,A,5158.30523,N,00423.98555,E,46.651,342.70,120308,,,A*52
+$GPRMC,143439.00,A,5158.31764,N,00423.97900,E,46.274,344.06,120308,,,A*54
+$GPRMC,143440.00,A,5158.32984,N,00423.97342,E,45.352,345.04,120308,,,A*50
+$GPRMC,143441.00,A,5158.34189,N,00423.96811,E,44.782,344.95,120308,,,A*5F
+$GPRMC,143442.00,A,5158.35387,N,00423.96279,E,44.513,344.83,120308,,,A*58
+$GPRMC,143443.00,A,5158.36586,N,00423.95774,E,44.279,344.72,120308,,,A*53
+$GPRMC,143444.00,A,5158.37772,N,00423.95280,E,44.078,345.00,120308,,,A*55
+$GPRMC,143445.00,A,5158.38946,N,00423.94775,E,43.900,345.16,120308,,,A*5A
+$GPRMC,143446.00,A,5158.40117,N,00423.94288,E,43.590,345.04,120308,,,A*5B
+$GPRMC,143447.00,A,5158.41276,N,00423.93794,E,43.146,345.26,120308,,,A*5F
+$GPRMC,143448.00,A,5158.42427,N,00423.93303,E,43.007,345.40,120308,,,A*5F
+$GPRMC,143449.00,A,5158.43568,N,00423.92834,E,42.231,345.62,120308,,,A*5D
+$GPRMC,143450.00,A,5158.44688,N,00423.92375,E,41.537,345.53,120308,,,A*51
+$GPRMC,143451.00,A,5158.45794,N,00423.91919,E,41.369,345.39,120308,,,A*5F
+$GPRMC,143452.00,A,5158.46897,N,00423.91462,E,41.126,345.36,120308,,,A*54
+$GPRMC,143453.00,A,5158.48002,N,00423.90998,E,41.506,345.17,120308,,,A*53
+$GPRMC,143454.00,A,5158.49117,N,00423.90525,E,41.766,345.13,120308,,,A*5A
+$GPRMC,143455.00,A,5158.50240,N,00423.90046,E,42.279,344.77,120308,,,A*59
+$GPRMC,143456.00,A,5158.51376,N,00423.89557,E,42.666,345.10,120308,,,A*58
+$GPRMC,143457.00,A,5158.52523,N,00423.89071,E,43.061,345.18,120308,,,A*55
+$GPRMC,143458.00,A,5158.53678,N,00423.88580,E,43.303,345.11,120308,,,A*52
+$GPRMC,143459.00,A,5158.54836,N,00423.88087,E,43.311,345.12,120308,,,A*52
+$GPRMC,143500.00,A,5158.55994,N,00423.87596,E,43.351,345.29,120308,,,A*51
+$GPRMC,143501.00,A,5158.57160,N,00423.87104,E,43.746,345.36,120308,,,A*52
+$GPRMC,143502.00,A,5158.58329,N,00423.86610,E,43.605,345.08,120308,,,A*59
+$GPRMC,143503.00,A,5158.59490,N,00423.86115,E,43.175,345.41,120308,,,A*53
+$GPRMC,143504.00,A,5158.60647,N,00423.85650,E,42.873,345.66,120308,,,A*58
+$GPRMC,143505.00,A,5158.61797,N,00423.85175,E,42.927,345.57,120308,,,A*56
+$GPRMC,143506.00,A,5158.62954,N,00423.84685,E,43.607,344.94,120308,,,A*5C
+$GPRMC,143507.00,A,5158.64129,N,00423.84173,E,44.182,344.93,120308,,,A*5D
+$GPRMC,143508.00,A,5158.65313,N,00423.83650,E,44.375,344.48,120308,,,A*55
+$GPRMC,143509.00,A,5158.66511,N,00423.83114,E,45.345,344.48,120308,,,A*56
+$GPRMC,143510.00,A,5158.67721,N,00423.82585,E,45.083,345.17,120308,,,A*51
+$GPRMC,143511.00,A,5158.68934,N,00423.82071,E,45.313,345.54,120308,,,A*56
+$GPRMC,143512.00,A,5158.70153,N,00423.81559,E,45.470,345.50,120308,,,A*5F
+$GPRMC,143513.00,A,5158.71367,N,00423.81055,E,44.908,345.79,120308,,,A*5B
+$GPRMC,143514.00,A,5158.72562,N,00423.80561,E,44.039,345.57,120308,,,A*58
+$GPRMC,143515.00,A,5158.73732,N,00423.80070,E,43.184,345.33,120308,,,A*58
+$GPRMC,143516.00,A,5158.74885,N,00423.79580,E,42.870,345.46,120308,,,A*52
+$GPRMC,143517.00,A,5158.76047,N,00423.79101,E,43.414,345.61,120308,,,A*50
+$GPRMC,143518.00,A,5158.77231,N,00423.78633,E,44.297,346.63,120308,,,A*51
+$GPRMC,143519.00,A,5158.78461,N,00423.78220,E,45.662,348.49,120308,,,A*53
+$GPRMC,143520.00,A,5158.79701,N,00423.77814,E,45.444,348.26,120308,,,A*50
+$GPRMC,143521.00,A,5158.80938,N,00423.77389,E,45.393,347.64,120308,,,A*58
+$GPRMC,143522.00,A,5158.82161,N,00423.76948,E,45.028,347.65,120308,,,A*59
+$GPRMC,143523.00,A,5158.83361,N,00423.76488,E,44.186,346.13,120308,,,A*5E
+$GPRMC,143524.00,A,5158.84535,N,00423.76003,E,43.270,345.43,120308,,,A*55
+$GPRMC,143525.00,A,5158.85678,N,00423.75510,E,42.293,345.62,120308,,,A*54
+$GPRMC,143526.00,A,5158.86791,N,00423.75042,E,41.309,345.60,120308,,,A*53
+$GPRMC,143527.00,A,5158.87882,N,00423.74588,E,40.510,346.39,120308,,,A*5C
+$GPRMC,143528.00,A,5158.88940,N,00423.74145,E,38.972,345.50,120308,,,A*5D
+$GPRMC,143529.00,A,5158.89957,N,00423.73718,E,37.269,345.57,120308,,,A*5B
+$GPRMC,143530.00,A,5158.90937,N,00423.73315,E,36.096,345.89,120308,,,A*54
+$GPRMC,143531.00,A,5158.91885,N,00423.72971,E,34.088,348.06,120308,,,A*52
+$GPRMC,143532.00,A,5158.92786,N,00423.72723,E,32.107,352.06,120308,,,A*5C
+$GPRMC,143533.00,A,5158.93639,N,00423.72587,E,30.669,356.02,120308,,,A*58
+$GPRMC,143534.00,A,5158.94418,N,00423.72569,E,28.195,2.45,120308,,,A*55
+$GPRMC,143535.00,A,5158.95159,N,00423.72754,E,27.316,12.72,120308,,,A*6A
+$GPRMC,143536.00,A,5158.95883,N,00423.73116,E,27.184,19.11,120308,,,A*61
+$GPRMC,143537.00,A,5158.96558,N,00423.73625,E,26.852,25.01,120308,,,A*62
+$GPRMC,143538.00,A,5158.97157,N,00423.74336,E,26.697,33.92,120308,,,A*6D
+$GPRMC,143539.00,A,5158.97745,N,00423.75059,E,25.739,35.04,120308,,,A*6D
+$GPRMC,143540.00,A,5158.98321,N,00423.75721,E,24.975,34.33,120308,,,A*60
+$GPRMC,143541.00,A,5158.98911,N,00423.76332,E,24.468,30.87,120308,,,A*67
+$GPRMC,143542.00,A,5158.99502,N,00423.76749,E,23.502,19.42,120308,,,A*6B
+$GPRMC,143543.00,A,5159.00065,N,00423.76948,E,22.369,7.18,120308,,,A*5A
+$GPRMC,143544.00,A,5159.00680,N,00423.76989,E,23.034,0.30,120308,,,A*5A
+$GPRMC,143545.00,A,5159.01236,N,00423.76750,E,23.202,348.66,120308,,,A*52
+$GPRMC,143546.00,A,5159.01801,N,00423.76497,E,22.759,345.05,120308,,,A*55
+$GPRMC,143547.00,A,5159.02379,N,00423.76247,E,22.091,345.79,120308,,,A*50
+$GPRMC,143548.00,A,5159.02933,N,00423.76033,E,21.308,345.59,120308,,,A*58
+$GPRMC,143549.00,A,5159.03464,N,00423.75818,E,20.521,345.45,120308,,,A*54
+$GPRMC,143550.00,A,5159.03968,N,00423.75574,E,19.771,345.21,120308,,,A*55
+$GPRMC,143551.00,A,5159.04462,N,00423.75333,E,19.022,345.15,120308,,,A*57
+$GPRMC,143552.00,A,5159.04946,N,00423.75117,E,18.804,348.60,120308,,,A*59
+$GPRMC,143553.00,A,5159.05420,N,00423.74906,E,18.168,346.11,120308,,,A*56
+$GPRMC,143554.00,A,5159.05884,N,00423.74700,E,17.786,346.16,120308,,,A*55
+$GPRMC,143555.00,A,5159.06349,N,00423.74496,E,17.500,345.86,120308,,,A*57
+$GPRMC,143556.00,A,5159.06800,N,00423.74290,E,16.990,344.30,120308,,,A*5A
+$GPRMC,143557.00,A,5159.07236,N,00423.74085,E,16.593,344.14,120308,,,A*5A
+$GPRMC,143558.00,A,5159.07648,N,00423.73865,E,16.128,342.86,120308,,,A*50
+$GPRMC,143559.00,A,5159.08056,N,00423.73655,E,15.937,344.84,120308,,,A*5B
+$GPRMC,143600.00,A,5159.08470,N,00423.73463,E,15.854,345.92,120308,,,A*51
+$GPRMC,143601.00,A,5159.08875,N,00423.73283,E,15.524,345.89,120308,,,A*51
+$GPRMC,143602.00,A,5159.09272,N,00423.73102,E,15.204,344.77,120308,,,A*51
+$GPRMC,143603.00,A,5159.09655,N,00423.72922,E,14.282,344.08,120308,,,A*5D
+$GPRMC,143604.00,A,5159.10002,N,00423.72755,E,12.303,343.88,120308,,,A*59
+$GPRMC,143605.00,A,5159.10281,N,00423.72613,E,10.112,344.94,120308,,,A*58
+$GPRMC,143606.00,A,5159.10507,N,00423.72495,E,7.870,343.06,120308,,,A*69
+$GPRMC,143607.00,A,5159.10695,N,00423.72411,E,6.594,343.63,120308,,,A*69
+$GPRMC,143608.00,A,5159.10867,N,00423.72325,E,5.967,344.74,120308,,,A*67
+$GPRMC,143609.00,A,5159.11027,N,00423.72262,E,5.625,344.88,120308,,,A*63
+$GPRMC,143610.00,A,5159.11176,N,00423.72203,E,5.347,344.70,120308,,,A*6F
+$GPRMC,143611.00,A,5159.11312,N,00423.72144,E,5.425,343.69,120308,,,A*62
+$GPRMC,143612.00,A,5159.11479,N,00423.72072,E,7.000,343.72,120308,,,A*64
+$GPRMC,143613.00,A,5159.11694,N,00423.71979,E,8.470,342.55,120308,,,A*6D
+$GPRMC,143614.00,A,5159.11916,N,00423.71863,E,8.549,340.78,120308,,,A*63
+$GPRMC,143615.00,A,5159.12108,N,00423.71679,E,7.890,324.56,120308,,,A*6B
+$GPRMC,143616.00,A,5159.12214,N,00423.71406,E,7.244,302.09,120308,,,A*61
+$GPRMC,143617.00,A,5159.12290,N,00423.71194,E,5.056,300.62,120308,,,A*6E
+$GPRMC,143618.00,A,5159.12315,N,00423.71043,E,2.248,296.21,120308,,,A*65
+$GPRMC,143619.00,A,5159.12333,N,00423.70995,E,0.920,296.23,120308,,,A*66
+$GPRMC,143620.00,A,5159.12338,N,00423.70977,E,0.016,,120308,,,A*75
+$GPRMC,143621.00,A,5159.12343,N,00423.70978,E,0.025,294.00,120308,,,A*66
+$GPRMC,143622.00,A,5159.12359,N,00423.70998,E,0.037,297.47,120308,,,A*63
+$GPRMC,143623.00,A,5159.12370,N,00423.71007,E,0.276,293.60,120308,,,A*61
+$GPRMC,143624.00,A,5159.12379,N,00423.71016,E,0.013,,120308,,,A*7E
+$GPRMC,143625.00,A,5159.12387,N,00423.71033,E,0.020,292.09,120308,,,A*67
+$GPRMC,143626.00,A,5159.12397,N,00423.71049,E,0.025,289.30,120308,,,A*6D
+$GPRMC,143627.00,A,5159.12404,N,00423.71068,E,0.037,292.85,120308,,,A*65
+$GPRMC,143628.00,A,5159.12414,N,00423.71091,E,0.039,296.65,120308,,,A*69
+$GPRMC,143629.00,A,5159.12422,N,00423.71101,E,0.044,294.49,120308,,,A*63
+$GPRMC,143630.00,A,5159.12425,N,00423.71107,E,0.070,298.13,120308,,,A*6E
+$GPRMC,143631.00,A,5159.12429,N,00423.71115,E,0.066,296.17,120308,,,A*6D
+$GPRMC,143632.00,A,5159.12432,N,00423.71116,E,0.112,299.78,120308,,,A*63
+$GPRMC,143633.00,A,5159.12434,N,00423.71114,E,0.028,297.27,120308,,,A*6A
+$GPRMC,143634.00,A,5159.12433,N,00423.71107,E,0.094,295.30,120308,,,A*6B
+$GPRMC,143635.00,A,5159.12429,N,00423.71097,E,0.043,292.88,120308,,,A*67
+$GPRMC,143636.00,A,5159.12433,N,00423.71099,E,0.138,296.69,120308,,,A*67
+$GPRMC,143637.00,A,5159.12438,N,00423.71104,E,0.052,299.87,120308,,,A*6A
+$GPRMC,143638.00,A,5159.12441,N,00423.71103,E,0.042,297.51,120308,,,A*68
+$GPRMC,143639.00,A,5159.12441,N,00423.71098,E,0.102,301.15,120308,,,A*61
+$GPRMC,143640.00,A,5159.12439,N,00423.71091,E,0.061,299.15,120308,,,A*6D
+$GPRMC,143641.00,A,5159.12439,N,00423.71088,E,0.049,297.02,120308,,,A*66
+$GPRMC,143642.00,A,5159.12436,N,00423.71077,E,0.030,300.31,120308,,,A*6B
+$GPRMC,143643.00,A,5159.12439,N,00423.71081,E,0.037,303.30,120308,,,A*69
+$GPRMC,143644.00,A,5159.12442,N,00423.71084,E,0.090,304.09,120308,,,A*67
+$GPRMC,143645.00,A,5159.12442,N,00423.71081,E,0.034,304.80,120308,,,A*6C
+$GPRMC,143646.00,A,5159.12442,N,00423.71079,E,0.096,305.06,120308,,,A*6F
+$GPRMC,143647.00,A,5159.12445,N,00423.71075,E,0.140,305.53,120308,,,A*6F
+$GPRMC,143648.00,A,5159.12443,N,00423.71080,E,0.072,308.31,120308,,,A*65
+$GPRMC,143649.00,A,5159.12445,N,00423.71080,E,0.002,,120308,,,A*72
+$GPRMC,143650.00,A,5159.12445,N,00423.71078,E,0.113,305.67,120308,,,A*65
+$GPRMC,143651.00,A,5159.12450,N,00423.71078,E,0.231,306.36,120308,,,A*64
+$GPRMC,143652.00,A,5159.12457,N,00423.71074,E,0.307,306.19,120308,,,A*65
+$GPRMC,143653.00,A,5159.12459,N,00423.71074,E,0.087,308.35,120308,,,A*61
+$GPRMC,143654.00,A,5159.12460,N,00423.71085,E,0.040,310.44,120308,,,A*66
+$GPRMC,143655.00,A,5159.12462,N,00423.71094,E,0.032,313.45,120308,,,A*62
+$GPRMC,143656.00,A,5159.12464,N,00423.71100,E,0.060,310.73,120308,,,A*6A
+$GPRMC,143657.00,A,5159.12466,N,00423.71102,E,0.038,314.05,120308,,,A*63
+$GPRMC,143658.00,A,5159.12466,N,00423.71100,E,0.062,316.82,120308,,,A*6C
+$GPRMC,143659.00,A,5159.12468,N,00423.71097,E,0.223,314.61,120308,,,A*64
+$GPRMC,143700.00,A,5159.12468,N,00423.71090,E,0.068,315.13,120308,,,A*67
+$GPRMC,143701.00,A,5159.12460,N,00423.71088,E,0.054,316.95,120308,,,A*65
+$GPRMC,143702.00,A,5159.12461,N,00423.71087,E,0.033,321.15,120308,,,A*65
+$GPRMC,143703.00,A,5159.12463,N,00423.71088,E,0.045,318.67,120308,,,A*67
+$GPRMC,143704.00,A,5159.12460,N,00423.71080,E,0.022,315.69,120308,,,A*69
+$GPRMC,143705.00,A,5159.12453,N,00423.71066,E,0.017,,120308,,,A*70
+$GPRMC,143706.00,A,5159.12447,N,00423.71054,E,0.041,318.85,120308,,,A*6D
+$GPRMC,143707.00,A,5159.12439,N,00423.71029,E,0.018,,120308,,,A*7A
+$GPRMC,143708.00,A,5159.12433,N,00423.71008,E,0.050,321.43,120308,,,A*69
+$GPRMC,143709.00,A,5159.12425,N,00423.70992,E,0.015,,120308,,,A*7C
+$GPRMC,143710.00,A,5159.12420,N,00423.70979,E,0.005,,120308,,,A*75
+$GPRMC,143711.00,A,5159.12417,N,00423.70970,E,0.063,318.60,120308,,,A*6B
+$GPRMC,143712.00,A,5159.12419,N,00423.70967,E,0.020,319.74,120308,,,A*63
+$GPRMC,143713.00,A,5159.12421,N,00423.70971,E,0.005,,120308,,,A*7F
+$GPRMC,143714.00,A,5159.12421,N,00423.70970,E,0.014,,120308,,,A*79
+$GPRMC,143715.00,A,5159.12419,N,00423.70967,E,0.010,,120308,,,A*71
+$GPRMC,143716.00,A,5159.12417,N,00423.70964,E,0.013,,120308,,,A*7C
+$GPRMC,143717.00,A,5159.12415,N,00423.70962,E,0.036,316.77,120308,,,A*64
+$GPRMC,143718.00,A,5159.12413,N,00423.70958,E,0.006,,120308,,,A*7D
+$GPRMC,143719.00,A,5159.12411,N,00423.70952,E,0.008,,120308,,,A*7A
+$GPRMC,143720.00,A,5159.12411,N,00423.70948,E,0.038,320.19,120308,,,A*6F
+$GPRMC,143721.00,A,5159.12410,N,00423.70942,E,0.026,318.59,120308,,,A*65
+$GPRMC,143722.00,A,5159.12410,N,00423.70939,E,0.059,321.84,120308,,,A*68
+$GPRMC,143723.00,A,5159.12411,N,00423.70935,E,0.017,,120308,,,A*7C
+$GPRMC,143724.00,A,5159.12411,N,00423.70928,E,0.011,,120308,,,A*71
+$GPRMC,143725.00,A,5159.12410,N,00423.70921,E,0.015,,120308,,,A*7C
+$GPRMC,143726.00,A,5159.12409,N,00423.70912,E,0.033,319.64,120308,,,A*64
+$GPRMC,143727.00,A,5159.12407,N,00423.70906,E,0.029,323.38,120308,,,A*65
+$GPRMC,143728.00,A,5159.12404,N,00423.70898,E,0.033,324.98,120308,,,A*69
+$GPRMC,143729.00,A,5159.12406,N,00423.70903,E,0.042,327.78,120308,,,A*62
+$GPRMC,143730.00,A,5159.12404,N,00423.70894,E,0.044,324.46,120308,,,A*6F
+$GPRMC,143731.00,A,5159.12403,N,00423.70884,E,0.024,321.81,120308,,,A*60
+$GPRMC,143732.00,A,5159.12402,N,00423.70874,E,0.013,,120308,,,A*7E
+$GPRMC,143733.00,A,5159.12400,N,00423.70865,E,0.035,324.87,120308,,,A*6D
+$GPRMC,143734.00,A,5159.12399,N,00423.70857,E,0.027,322.04,120308,,,A*62
+$GPRMC,143735.00,A,5159.12396,N,00423.70850,E,0.033,319.16,120308,,,A*65
+$GPRMC,143736.00,A,5159.12394,N,00423.70841,E,0.023,321.85,120308,,,A*64
+$GPRMC,143737.00,A,5159.12390,N,00423.70830,E,0.028,319.40,120308,,,A*6E
+$GPRMC,143738.00,A,5159.12386,N,00423.70820,E,0.017,,120308,,,A*7A
+$GPRMC,143739.00,A,5159.12384,N,00423.70813,E,0.086,322.25,120308,,,A*6B
+$GPRMC,143740.00,A,5159.12381,N,00423.70802,E,0.013,,120308,,,A*76
+$GPRMC,143741.00,A,5159.12378,N,00423.70794,E,0.017,,120308,,,A*75
+$GPRMC,143742.00,A,5159.12374,N,00423.70786,E,0.033,325.17,120308,,,A*63
+$GPRMC,143743.00,A,5159.12370,N,00423.70780,E,0.010,,120308,,,A*7D
+$GPRMC,143744.00,A,5159.12366,N,00423.70778,E,0.034,328.25,120308,,,A*6C
+$GPRMC,143745.00,A,5159.12364,N,00423.70776,E,0.034,330.30,120308,,,A*6C
+$GPRMC,143746.00,A,5159.12360,N,00423.70772,E,0.073,327.08,120308,,,A*61
+$GPRMC,143747.00,A,5159.12356,N,00423.70771,E,0.054,324.15,120308,,,A*6C
+$GPRMC,143748.00,A,5159.12359,N,00423.70774,E,0.064,327.36,120308,,,A*68
+$GPRMC,143749.00,A,5159.12357,N,00423.70771,E,0.044,330.09,120308,,,A*6A
+$GPRMC,143750.00,A,5159.12362,N,00423.70772,E,0.125,333.14,120308,,,A*6E
+$GPRMC,143751.00,A,5159.12366,N,00423.70776,E,0.044,335.27,120308,,,A*6F
+$GPRMC,143752.00,A,5159.12368,N,00423.70776,E,0.113,338.29,120308,,,A*62
+$GPRMC,143753.00,A,5159.12377,N,00423.70799,E,0.044,332.82,120308,,,A*64
+$GPRMC,143754.00,A,5159.12384,N,00423.70812,E,0.036,327.72,120308,,,A*6D
+$GPRMC,143755.00,A,5159.12394,N,00423.70814,E,0.031,331.82,120308,,,A*64
+$GPRMC,143756.00,A,5159.12403,N,00423.70818,E,0.021,335.16,120308,,,A*6A
+$GPRMC,143757.00,A,5159.12410,N,00423.70840,E,0.025,332.42,120308,,,A*66
+$GPRMC,143758.00,A,5159.12416,N,00423.70853,E,0.043,334.97,120308,,,A*63
+$GPRMC,143759.00,A,5159.12423,N,00423.70876,E,0.007,,120308,,,A*77
+$GPRMC,143800.00,A,5159.12425,N,00423.70880,E,0.136,337.07,120308,,,A*66
+$GPRMC,143801.00,A,5159.12430,N,00423.70900,E,0.037,339.48,120308,,,A*6F
+$GPRMC,143802.00,A,5159.12439,N,00423.70928,E,0.006,,120308,,,A*76
+$GPRMC,143803.00,A,5159.12445,N,00423.70949,E,0.041,341.07,120308,,,A*67
+$GPRMC,143804.00,A,5159.12445,N,00423.70990,E,0.005,,120308,,,A*7B
+$GPRMC,143805.00,A,5159.12439,N,00423.71023,E,0.020,342.52,120308,,,A*6A
+$GPRMC,143806.00,A,5159.12432,N,00423.71050,E,0.016,,120308,,,A*7F
+$GPRMC,143807.00,A,5159.12424,N,00423.71075,E,0.037,344.84,120308,,,A*6C
+$GPRMC,143808.00,A,5159.12424,N,00423.71073,E,0.046,341.23,120308,,,A*6B
+$GPRMC,143809.00,A,5159.12419,N,00423.71080,E,0.011,,120308,,,A*73
+$GPRMC,143810.00,A,5159.12415,N,00423.71084,E,0.024,337.70,120308,,,A*6B
+$GPRMC,143811.00,A,5159.12414,N,00423.71092,E,0.156,339.99,120308,,,A*61
+$GPRMC,143812.00,A,5159.12413,N,00423.71096,E,0.038,343.09,120308,,,A*6C
+$GPRMC,143813.00,A,5159.12414,N,00423.71088,E,0.035,340.80,120308,,,A*6A
+$GPRMC,143814.00,A,5159.12412,N,00423.71076,E,0.034,343.10,120308,,,A*61
+$GPRMC,143815.00,A,5159.12408,N,00423.71059,E,0.029,338.50,120308,,,A*62
+$GPRMC,143816.00,A,5159.12402,N,00423.71028,E,0.005,,120308,,,A*70
+$GPRMC,143817.00,A,5159.12395,N,00423.70998,E,0.046,335.23,120308,,,A*66
+$GPRMC,143818.00,A,5159.12390,N,00423.70969,E,0.015,,120308,,,A*7E
+$GPRMC,143819.00,A,5159.12384,N,00423.70960,E,0.020,338.08,120308,,,A*6B
+$GPRMC,143820.00,A,5159.12376,N,00423.70950,E,0.041,334.70,120308,,,A*6B
+$GPRMC,143821.00,A,5159.12380,N,00423.70930,E,0.022,339.69,120308,,,A*65
+$GPRMC,143822.00,A,5159.12387,N,00423.70914,E,0.030,336.96,120308,,,A*6B
+$GPRMC,143823.00,A,5159.12393,N,00423.70901,E,0.004,,120308,,,A*7B
+$GPRMC,143824.00,A,5159.12398,N,00423.70889,E,0.016,,120308,,,A*75
+$GPRMC,143825.00,A,5159.12406,N,00423.70881,E,0.023,339.89,120308,,,A*6C
+$GPRMC,143826.00,A,5159.12411,N,00423.70866,E,0.008,,120308,,,A*7F
+$GPRMC,143827.00,A,5159.12408,N,00423.70857,E,0.100,336.83,120308,,,A*6E
+$GPRMC,143828.00,A,5159.12409,N,00423.70862,E,0.023,334.78,120308,,,A*60
+$GPRMC,143829.00,A,5159.12411,N,00423.70858,E,0.068,335.02,120308,,,A*62
+$GPRMC,143830.00,A,5159.12419,N,00423.70870,E,0.031,337.94,120308,,,A*69
+$GPRMC,143831.00,A,5159.12417,N,00423.70871,E,0.094,333.53,120308,,,A*67
+$GPRMC,143832.00,A,5159.12414,N,00423.70865,E,0.216,340.42,120308,,,A*6E
+$GPRMC,143833.00,A,5159.12412,N,00423.70850,E,0.553,336.62,120308,,,A*6A
+$GPRMC,143834.00,A,5159.12395,N,00423.70764,E,0.897,332.38,120308,,,A*63
+$GPRMC,143835.00,A,5159.12396,N,00423.70759,E,0.093,334.24,120308,,,A*68
+$GPRMC,143836.00,A,5159.12396,N,00423.70747,E,0.025,331.91,120308,,,A*62
+$GPRMC,143837.00,A,5159.12402,N,00423.70748,E,0.043,334.21,120308,,,A*68
+$GPRMC,143838.00,A,5159.12401,N,00423.70737,E,0.072,336.55,120308,,,A*6F
+$GPRMC,143839.00,A,5159.12406,N,00423.70745,E,0.035,338.77,120308,,,A*61
+$GPRMC,143840.00,A,5159.12403,N,00423.70728,E,0.008,,120308,,,A*79
+$GPRMC,143841.00,A,5159.12405,N,00423.70729,E,0.208,343.90,120308,,,A*6E
+$GPRMC,143842.00,A,5159.12402,N,00423.70725,E,0.082,345.67,120308,,,A*68
+$GPRMC,143843.00,A,5159.12400,N,00423.70719,E,0.016,,120308,,,A*74
+$GPRMC,143844.00,A,5159.12398,N,00423.70709,E,0.010,,120308,,,A*72
+$GPRMC,143845.00,A,5159.12401,N,00423.70708,E,0.011,,120308,,,A*74
+$GPRMC,143846.00,A,5159.12405,N,00423.70709,E,0.025,348.54,120308,,,A*65
+$GPRMC,143847.00,A,5159.12409,N,00423.70710,E,0.003,,120308,,,A*74
+$GPRMC,143848.00,A,5159.12414,N,00423.70731,E,0.013,,120308,,,A*75
+$GPRMC,143849.00,A,5159.12423,N,00423.70762,E,0.046,350.47,120308,,,A*6D
+$GPRMC,143850.00,A,5159.12426,N,00423.70772,E,0.023,352.13,120308,,,A*61
+$GPRMC,143851.00,A,5159.12428,N,00423.70778,E,0.020,353.23,120308,,,A*65
+$GPRMC,143852.00,A,5159.12425,N,00423.70802,E,0.018,,120308,,,A*78
+$GPRMC,143853.00,A,5159.12429,N,00423.70811,E,0.141,354.46,120308,,,A*64
+$GPRMC,143854.00,A,5159.12435,N,00423.70827,E,0.056,356.40,120308,,,A*68
+$GPRMC,143855.00,A,5159.12439,N,00423.70840,E,0.011,,120308,,,A*7D
+$GPRMC,143856.00,A,5159.12441,N,00423.70850,E,0.004,,120308,,,A*74
+$GPRMC,143857.00,A,5159.12443,N,00423.70857,E,0.010,,120308,,,A*75
+$GPRMC,143858.00,A,5159.12446,N,00423.70863,E,0.013,,120308,,,A*7B
+$GPRMC,143859.00,A,5159.12447,N,00423.70867,E,0.085,352.77,120308,,,A*6A
+$GPRMC,143900.00,A,5159.12449,N,00423.70877,E,0.054,357.28,120308,,,A*6B
+$GPRMC,143901.00,A,5159.12446,N,00423.70905,E,0.830,4.58,120308,,,A*69
+$GPRMC,143902.00,A,5159.12433,N,00423.70968,E,1.859,11.37,120308,,,A*50
+$GPRMC,143903.00,A,5159.12401,N,00423.71086,E,3.243,118.59,120308,,,A*6B
+$GPRMC,143904.00,A,5159.12354,N,00423.71238,E,4.029,115.11,120308,,,A*64
+$GPRMC,143905.00,A,5159.12300,N,00423.71386,E,3.050,122.51,120308,,,A*69
+$GPRMC,143906.00,A,5159.12279,N,00423.71431,E,0.364,123.42,120308,,,A*6A
+$GPRMC,143907.00,A,5159.12305,N,00423.71407,E,2.654,104.94,120308,,,A*6E
+$GPRMC,143908.00,A,5159.12378,N,00423.71339,E,3.178,318.85,120308,,,A*66
+$GPRMC,143909.00,A,5159.12416,N,00423.71274,E,2.109,328.80,120308,,,A*61
+$GPRMC,143910.00,A,5159.12444,N,00423.71265,E,1.783,329.98,120308,,,A*61
+$GPRMC,143911.00,A,5159.12533,N,00423.71252,E,4.785,353.55,120308,,,A*6A
+$GPRMC,143912.00,A,5159.12750,N,00423.71208,E,9.689,348.87,120308,,,A*64
+$GPRMC,143913.00,A,5159.13056,N,00423.71070,E,13.269,341.32,120308,,,A*5E
+$GPRMC,143914.00,A,5159.13366,N,00423.70722,E,14.170,323.90,120308,,,A*58
+$GPRMC,143915.00,A,5159.13597,N,00423.70241,E,14.205,308.50,120308,,,A*55
+$GPRMC,143916.00,A,5159.13719,N,00423.69721,E,11.807,292.06,120308,,,A*55
+$GPRMC,143917.00,A,5159.13802,N,00423.69232,E,10.629,287.22,120308,,,A*57
+$GPRMC,143918.00,A,5159.13872,N,00423.68739,E,10.391,286.93,120308,,,A*5D
+$GPRMC,143919.00,A,5159.13954,N,00423.68237,E,12.787,288.91,120308,,,A*5F
+$GPRMC,143920.00,A,5159.14086,N,00423.67575,E,17.403,290.14,120308,,,A*54
+$GPRMC,143921.00,A,5159.14274,N,00423.66677,E,22.894,289.60,120308,,,A*55
+$GPRMC,143922.00,A,5159.14493,N,00423.65598,E,25.891,288.70,120308,,,A*5A
+$GPRMC,143923.00,A,5159.14713,N,00423.64536,E,23.152,289.81,120308,,,A*5A
+$GPRMC,143924.00,A,5159.14978,N,00423.63641,E,19.664,299.33,120308,,,A*59
+$GPRMC,143925.00,A,5159.15379,N,00423.62911,E,20.918,316.55,120308,,,A*51
+$GPRMC,143926.00,A,5159.15997,N,00423.62315,E,26.262,329.00,120308,,,A*5A
+$GPRMC,143927.00,A,5159.16818,N,00423.61853,E,30.581,338.10,120308,,,A*58
+$GPRMC,143928.00,A,5159.17762,N,00423.61476,E,34.466,342.82,120308,,,A*55
+$GPRMC,143929.00,A,5159.18767,N,00423.61024,E,36.169,343.49,120308,,,A*53
+$GPRMC,143930.00,A,5159.19819,N,00423.60562,E,38.310,343.52,120308,,,A*52
+$GPRMC,143931.00,A,5159.20925,N,00423.60071,E,41.060,344.33,120308,,,A*5A
+$GPRMC,143932.00,A,5159.22064,N,00423.59547,E,41.969,344.66,120308,,,A*5D
+$GPRMC,143933.00,A,5159.23218,N,00423.59055,E,41.764,345.24,120308,,,A*56
+$GPRMC,143934.00,A,5159.24364,N,00423.58575,E,41.739,345.52,120308,,,A*53
+$GPRMC,143935.00,A,5159.25509,N,00423.58109,E,42.073,345.65,120308,,,A*5F
+$GPRMC,143936.00,A,5159.26670,N,00423.57634,E,42.450,345.05,120308,,,A*57
+$GPRMC,143937.00,A,5159.27827,N,00423.57129,E,42.569,343.70,120308,,,A*5F
+$GPRMC,143938.00,A,5159.28975,N,00423.56592,E,42.300,342.75,120308,,,A*51
+$GPRMC,143939.00,A,5159.30113,N,00423.56030,E,42.461,342.25,120308,,,A*59
+$GPRMC,143940.00,A,5159.31264,N,00423.55453,E,43.416,342.02,120308,,,A*53
+$GPRMC,143941.00,A,5159.32428,N,00423.54856,E,43.848,341.90,120308,,,A*58
+$GPRMC,143942.00,A,5159.33617,N,00423.54234,E,45.252,341.47,120308,,,A*57
+$GPRMC,143943.00,A,5159.34850,N,00423.53566,E,47.317,340.68,120308,,,A*55
+$GPRMC,143944.00,A,5159.36147,N,00423.52909,E,49.298,342.30,120308,,,A*5C
+$GPRMC,143945.00,A,5159.37506,N,00423.52273,E,51.287,343.74,120308,,,A*5D
+$GPRMC,143946.00,A,5159.38911,N,00423.51651,E,52.536,344.61,120308,,,A*51
+$GPRMC,143947.00,A,5159.40343,N,00423.51041,E,53.188,344.85,120308,,,A*5F
+$GPRMC,143948.00,A,5159.41797,N,00423.50434,E,54.134,344.84,120308,,,A*5A
+$GPRMC,143949.00,A,5159.43276,N,00423.49802,E,55.204,344.80,120308,,,A*57
+$GPRMC,143950.00,A,5159.44770,N,00423.49157,E,55.558,345.19,120308,,,A*5D
+$GPRMC,143951.00,A,5159.46277,N,00423.48530,E,55.770,345.42,120308,,,A*5E
+$GPRMC,143952.00,A,5159.47773,N,00423.47908,E,54.900,345.65,120308,,,A*58
+$GPRMC,143953.00,A,5159.49240,N,00423.47285,E,54.635,345.12,120308,,,A*55
+$GPRMC,143954.00,A,5159.50737,N,00423.46660,E,55.504,345.48,120308,,,A*5E
+$GPRMC,143955.00,A,5159.52247,N,00423.46023,E,56.196,345.43,120308,,,A*59
+$GPRMC,143956.00,A,5159.53767,N,00423.45370,E,56.132,345.10,120308,,,A*52
+$GPRMC,143957.00,A,5159.55273,N,00423.44706,E,55.613,344.85,120308,,,A*5B
+$GPRMC,143958.00,A,5159.56753,N,00423.44047,E,54.673,345.11,120308,,,A*59
+$GPRMC,143959.00,A,5159.58213,N,00423.43394,E,54.033,344.76,120308,,,A*5F
+$GPRMC,144000.00,A,5159.59663,N,00423.42745,E,53.791,344.94,120308,,,A*52
+$GPRMC,144001.00,A,5159.61114,N,00423.42109,E,53.970,345.12,120308,,,A*5F
+$GPRMC,144002.00,A,5159.62566,N,00423.41478,E,54.013,345.36,120308,,,A*53
+$GPRMC,144003.00,A,5159.64022,N,00423.40854,E,54.332,345.46,120308,,,A*55
+$GPRMC,144004.00,A,5159.65495,N,00423.40229,E,54.904,345.38,120308,,,A*5D
+$GPRMC,144005.00,A,5159.66991,N,00423.39588,E,55.883,344.98,120308,,,A*50
+$GPRMC,144006.00,A,5159.68512,N,00423.38930,E,56.833,344.72,120308,,,A*58
+$GPRMC,144007.00,A,5159.70072,N,00423.38276,E,58.421,345.46,120308,,,A*5D
+$GPRMC,144008.00,A,5159.71670,N,00423.37610,E,59.702,345.30,120308,,,A*5E
+$GPRMC,144009.00,A,5159.73294,N,00423.36902,E,61.018,344.23,120308,,,A*5A
+$GPRMC,144010.00,A,5159.74947,N,00423.36140,E,62.511,343.99,120308,,,A*57
+$GPRMC,144011.00,A,5159.76642,N,00423.35350,E,63.777,344.29,120308,,,A*51
+$GPRMC,144012.00,A,5159.78348,N,00423.34550,E,63.753,344.54,120308,,,A*58
+$GPRMC,144013.00,A,5159.80054,N,00423.33801,E,62.708,344.99,120308,,,A*50
+$GPRMC,144014.00,A,5159.81753,N,00423.33077,E,62.981,345.13,120308,,,A*53
+$GPRMC,144015.00,A,5159.83441,N,00423.32372,E,62.471,345.98,120308,,,A*56
+$GPRMC,144016.00,A,5159.85150,N,00423.31652,E,63.942,345.54,120308,,,A*5E
+$GPRMC,144017.00,A,5159.86880,N,00423.30920,E,64.708,345.42,120308,,,A*53
+$GPRMC,144018.00,A,5159.88631,N,00423.30164,E,65.090,345.14,120308,,,A*5A
+$GPRMC,144019.00,A,5159.90384,N,00423.29400,E,65.181,345.31,120308,,,A*50
+$GPRMC,144020.00,A,5159.92136,N,00423.28645,E,65.337,345.38,120308,,,A*57
+$GPRMC,144021.00,A,5159.93880,N,00423.27848,E,65.433,345.27,120308,,,A*52
+$GPRMC,144022.00,A,5159.95622,N,00423.27048,E,65.217,345.07,120308,,,A*5B
+$GPRMC,144023.00,A,5159.97352,N,00423.26270,E,64.855,345.35,120308,,,A*5E
+$GPRMC,144024.00,A,5159.99094,N,00423.25508,E,64.720,345.02,120308,,,A*5C
+$GPRMC,144025.00,A,5200.00835,N,00423.24732,E,64.857,344.82,120308,,,A*5D
+$GPRMC,144026.00,A,5200.02586,N,00423.23968,E,64.734,345.03,120308,,,A*5D
+$GPRMC,144027.00,A,5200.04328,N,00423.23195,E,64.766,345.12,120308,,,A*55
+$GPRMC,144028.00,A,5200.06072,N,00423.22433,E,64.746,345.14,120308,,,A*58
+$GPRMC,144029.00,A,5200.07821,N,00423.21684,E,64.821,345.26,120308,,,A*54
+$GPRMC,144030.00,A,5200.09571,N,00423.20941,E,64.893,345.23,120308,,,A*51
+$GPRMC,144031.00,A,5200.11315,N,00423.20197,E,64.690,345.41,120308,,,A*57
+$GPRMC,144032.00,A,5200.13055,N,00423.19456,E,64.535,344.92,120308,,,A*50
+$GPRMC,144033.00,A,5200.14789,N,00423.18692,E,64.692,344.83,120308,,,A*55
+$GPRMC,144034.00,A,5200.16529,N,00423.17924,E,64.966,344.90,120308,,,A*53
+$GPRMC,144035.00,A,5200.18278,N,00423.17161,E,65.249,345.01,120308,,,A*58
+$GPRMC,144036.00,A,5200.20028,N,00423.16395,E,65.215,344.77,120308,,,A*56
+$GPRMC,144037.00,A,5200.21774,N,00423.15602,E,65.208,343.86,120308,,,A*55
+$GPRMC,144038.00,A,5200.23511,N,00423.14738,E,65.605,341.90,120308,,,A*5C
+$GPRMC,144039.00,A,5200.25243,N,00423.13785,E,66.123,340.22,120308,,,A*52
+$GPRMC,144040.00,A,5200.26978,N,00423.12788,E,66.500,340.59,120308,,,A*59
+$GPRMC,144041.00,A,5200.28703,N,00423.11683,E,67.336,338.92,120308,,,A*57
+$GPRMC,144042.00,A,5200.30387,N,00423.10489,E,65.803,334.61,120308,,,A*53
+$GPRMC,144043.00,A,5200.32071,N,00423.09204,E,68.146,334.59,120308,,,A*5F
+$GPRMC,144044.00,A,5200.33711,N,00423.07835,E,66.377,332.19,120308,,,A*52
+$GPRMC,144045.00,A,5200.35268,N,00423.06363,E,65.327,329.57,120308,,,A*51
+$GPRMC,144046.00,A,5200.36768,N,00423.04838,E,64.284,327.00,120308,,,A*56
+$GPRMC,144047.00,A,5200.38287,N,00423.03257,E,64.249,325.62,120308,,,A*5E
+$GPRMC,144048.00,A,5200.39776,N,00423.01649,E,64.085,325.79,120308,,,A*5A
+$GPRMC,144049.00,A,5200.41230,N,00423.00002,E,64.170,324.58,120308,,,A*52
+$GPRMC,144050.00,A,5200.42654,N,00422.98326,E,63.462,323.87,120308,,,A*5E
+$GPRMC,144051.00,A,5200.44089,N,00422.96635,E,63.958,324.56,120308,,,A*59
+$GPRMC,144052.00,A,5200.45482,N,00422.94961,E,62.218,324.15,120308,,,A*51
+$GPRMC,144053.00,A,5200.46875,N,00422.93296,E,62.730,324.63,120308,,,A*5D
+$GPRMC,144054.00,A,5200.48257,N,00422.91635,E,62.081,324.30,120308,,,A*5A
+$GPRMC,144055.00,A,5200.49624,N,00422.90009,E,61.355,323.86,120308,,,A*51
+$GPRMC,144056.00,A,5200.51000,N,00422.88395,E,61.800,324.07,120308,,,A*51
+$GPRMC,144057.00,A,5200.52386,N,00422.86750,E,62.236,323.99,120308,,,A*51
+$GPRMC,144058.00,A,5200.53770,N,00422.85114,E,61.995,324.40,120308,,,A*55
+$GPRMC,144059.00,A,5200.55162,N,00422.83483,E,62.013,324.71,120308,,,A*5C
+$GPRMC,144100.00,A,5200.56545,N,00422.81824,E,61.787,324.35,120308,,,A*59
+$GPRMC,144101.00,A,5200.57930,N,00422.80211,E,61.418,324.32,120308,,,A*58
+$GPRMC,144102.00,A,5200.59304,N,00422.78611,E,61.410,324.53,120308,,,A*54
+$GPRMC,144103.00,A,5200.60683,N,00422.77021,E,61.036,324.50,120308,,,A*5C
+$GPRMC,144104.00,A,5200.62037,N,00422.75429,E,60.004,324.40,120308,,,A*5F
+$GPRMC,144105.00,A,5200.63369,N,00422.73851,E,59.504,324.16,120308,,,A*5E
+$GPRMC,144106.00,A,5200.64683,N,00422.72295,E,58.871,324.27,120308,,,A*54
+$GPRMC,144107.00,A,5200.65979,N,00422.70763,E,58.373,324.44,120308,,,A*5C
+$GPRMC,144108.00,A,5200.67271,N,00422.69245,E,57.777,324.34,120308,,,A*53
+$GPRMC,144109.00,A,5200.68541,N,00422.67753,E,56.624,324.32,120308,,,A*55
+$GPRMC,144110.00,A,5200.69801,N,00422.66278,E,56.185,324.32,120308,,,A*54
+$GPRMC,144111.00,A,5200.71060,N,00422.64809,E,56.069,324.27,120308,,,A*5A
+$GPRMC,144112.00,A,5200.72310,N,00422.63344,E,55.766,324.31,120308,,,A*57
+$GPRMC,144113.00,A,5200.73549,N,00422.61899,E,55.059,324.36,120308,,,A*58
+$GPRMC,144114.00,A,5200.74781,N,00422.60458,E,55.284,323.69,120308,,,A*51
+$GPRMC,144115.00,A,5200.76025,N,00422.59000,E,56.022,323.79,120308,,,A*54
+$GPRMC,144116.00,A,5200.77283,N,00422.57540,E,56.386,323.92,120308,,,A*5F
+$GPRMC,144117.00,A,5200.78553,N,00422.56082,E,56.557,324.41,120308,,,A*52
+$GPRMC,144118.00,A,5200.79817,N,00422.54621,E,56.252,324.38,120308,,,A*50
+$GPRMC,144119.00,A,5200.81071,N,00422.53175,E,56.163,324.40,120308,,,A*51
+$GPRMC,144120.00,A,5200.82327,N,00422.51718,E,56.046,324.14,120308,,,A*50
+$GPRMC,144121.00,A,5200.83585,N,00422.50249,E,56.325,324.19,120308,,,A*55
+$GPRMC,144122.00,A,5200.84834,N,00422.48811,E,56.581,324.35,120308,,,A*5E
+$GPRMC,144123.00,A,5200.86114,N,00422.47303,E,56.914,324.39,120308,,,A*5D
+$GPRMC,144124.00,A,5200.87390,N,00422.45806,E,56.919,324.02,120308,,,A*5C
+$GPRMC,144125.00,A,5200.88681,N,00422.44280,E,57.511,324.25,120308,,,A*52
+$GPRMC,144126.00,A,5200.89973,N,00422.42741,E,58.255,323.85,120308,,,A*59
+$GPRMC,144127.00,A,5200.91238,N,00422.41103,E,58.766,322.79,120308,,,A*51
+$GPRMC,144128.00,A,5200.92553,N,00422.39612,E,59.778,324.62,120308,,,A*5D
+$GPRMC,144129.00,A,5200.93908,N,00422.38044,E,59.906,324.71,120308,,,A*5E
+$GPRMC,144130.00,A,5200.95275,N,00422.36491,E,60.067,325.01,120308,,,A*51
+$GPRMC,144131.00,A,5200.96655,N,00422.34964,E,59.640,325.46,120308,,,A*5A
+$GPRMC,144132.00,A,5200.98009,N,00422.33422,E,59.501,325.01,120308,,,A*55
+$GPRMC,144133.00,A,5200.99324,N,00422.31847,E,59.114,324.55,120308,,,A*54
+$GPRMC,144134.00,A,5201.00656,N,00422.30301,E,58.557,324.37,120308,,,A*5C
+$GPRMC,144135.00,A,5201.01982,N,00422.28789,E,58.621,324.76,120308,,,A*50
+$GPRMC,144136.00,A,5201.03280,N,00422.27302,E,56.908,324.25,120308,,,A*5C
+$GPRMC,144137.00,A,5201.04573,N,00422.25744,E,58.158,323.76,120308,,,A*57
+$GPRMC,144138.00,A,5201.05896,N,00422.24224,E,58.297,324.59,120308,,,A*57
+$GPRMC,144139.00,A,5201.07233,N,00422.22669,E,59.216,324.58,120308,,,A*53
+$GPRMC,144140.00,A,5201.08600,N,00422.21050,E,60.622,324.14,120308,,,A*58
+$GPRMC,144141.00,A,5201.09984,N,00422.19434,E,61.846,323.67,120308,,,A*58
+$GPRMC,144142.00,A,5201.11406,N,00422.17745,E,63.691,323.65,120308,,,A*5A
+$GPRMC,144143.00,A,5201.12843,N,00422.15989,E,65.013,323.58,120308,,,A*5D
+$GPRMC,144144.00,A,5201.14328,N,00422.14230,E,66.326,324.32,120308,,,A*5F
+$GPRMC,144145.00,A,5201.15855,N,00422.12478,E,66.966,324.31,120308,,,A*5F
+$GPRMC,144146.00,A,5201.17372,N,00422.10684,E,67.135,324.39,120308,,,A*54
+$GPRMC,144147.00,A,5201.18924,N,00422.08914,E,68.243,325.30,120308,,,A*59
+$GPRMC,144148.00,A,5201.20458,N,00422.07138,E,68.318,323.96,120308,,,A*57
+$GPRMC,144149.00,A,5201.21997,N,00422.05317,E,67.976,323.95,120308,,,A*5A
+$GPRMC,144150.00,A,5201.23536,N,00422.03521,E,68.187,324.47,120308,,,A*53
+$GPRMC,144151.00,A,5201.25059,N,00422.01745,E,67.682,324.16,120308,,,A*53
+$GPRMC,144152.00,A,5201.26612,N,00421.99998,E,67.313,324.31,120308,,,A*5E
+$GPRMC,144153.00,A,5201.28146,N,00421.98250,E,66.420,324.33,120308,,,A*5D
+$GPRMC,144154.00,A,5201.29632,N,00421.96439,E,66.712,323.73,120308,,,A*59
+$GPRMC,144155.00,A,5201.31130,N,00421.94696,E,65.828,324.86,120308,,,A*59
+$GPRMC,144156.00,A,5201.32615,N,00421.92981,E,65.869,324.77,120308,,,A*5D
+$GPRMC,144157.00,A,5201.34112,N,00421.91240,E,65.950,324.80,120308,,,A*5C
+$GPRMC,144158.00,A,5201.35616,N,00421.89530,E,66.190,324.88,120308,,,A*57
+$GPRMC,144159.00,A,5201.37103,N,00421.87799,E,65.957,324.43,120308,,,A*5F
+$GPRMC,144200.00,A,5201.38612,N,00421.86058,E,66.722,324.31,120308,,,A*59
+$GPRMC,144201.00,A,5201.40134,N,00421.84293,E,66.881,324.08,120308,,,A*5F
+$GPRMC,144202.00,A,5201.41640,N,00421.82513,E,67.051,323.73,120308,,,A*5F
+$GPRMC,144203.00,A,5201.43144,N,00421.80746,E,67.259,324.25,120308,,,A*51
+$GPRMC,144204.00,A,5201.44657,N,00421.78958,E,67.369,323.99,120308,,,A*50
+$GPRMC,144205.00,A,5201.46175,N,00421.77185,E,67.096,324.34,120308,,,A*50
+$GPRMC,144206.00,A,5201.47696,N,00421.75457,E,66.231,323.92,120308,,,A*55
+$GPRMC,144207.00,A,5201.49219,N,00421.73697,E,66.514,324.17,120308,,,A*5B
+$GPRMC,144208.00,A,5201.50729,N,00421.71915,E,66.647,323.87,120308,,,A*56
+$GPRMC,144209.00,A,5201.52223,N,00421.70156,E,66.459,324.25,120308,,,A*56
+$GPRMC,144210.00,A,5201.53716,N,00421.68396,E,66.414,324.31,120308,,,A*57
+$GPRMC,144211.00,A,5201.55193,N,00421.66654,E,65.676,323.70,120308,,,A*59
+$GPRMC,144212.00,A,5201.56698,N,00421.64895,E,66.405,324.34,120308,,,A*56
+$GPRMC,144213.00,A,5201.58195,N,00421.63176,E,66.288,324.58,120308,,,A*59
+$GPRMC,144214.00,A,5201.59699,N,00421.61484,E,67.005,324.73,120308,,,A*51
+$GPRMC,144215.00,A,5201.61200,N,00421.59761,E,66.376,324.75,120308,,,A*5C
+$GPRMC,144216.00,A,5201.62706,N,00421.57977,E,67.177,324.52,120308,,,A*5F
+$GPRMC,144217.00,A,5201.64218,N,00421.56215,E,67.155,324.39,120308,,,A*51
+$GPRMC,144218.00,A,5201.65740,N,00421.54424,E,67.939,324.24,120308,,,A*5F
+$GPRMC,144219.00,A,5201.67268,N,00421.52618,E,67.402,324.49,120308,,,A*56
+$GPRMC,144220.00,A,5201.68807,N,00421.50855,E,67.349,325.17,120308,,,A*57
+$GPRMC,144221.00,A,5201.70339,N,00421.49065,E,67.406,324.94,120308,,,A*5C
+$GPRMC,144222.00,A,5201.71855,N,00421.47277,E,67.026,324.60,120308,,,A*5D
+$GPRMC,144223.00,A,5201.73369,N,00421.45481,E,67.447,324.24,120308,,,A*54
+$GPRMC,144224.00,A,5201.74885,N,00421.43726,E,67.272,324.31,120308,,,A*51
+$GPRMC,144225.00,A,5201.76393,N,00421.41992,E,67.375,324.58,120308,,,A*54
+$GPRMC,144226.00,A,5201.77921,N,00421.40239,E,67.313,324.68,120308,,,A*5D
+$GPRMC,144227.00,A,5201.79452,N,00421.38488,E,67.107,324.38,120308,,,A*5A
+$GPRMC,144228.00,A,5201.80988,N,00421.36730,E,67.513,324.79,120308,,,A*53
+$GPRMC,144229.00,A,5201.82501,N,00421.34982,E,66.691,324.25,120308,,,A*59
+$GPRMC,144230.00,A,5201.84040,N,00421.33334,E,67.091,326.02,120308,,,A*57
+$GPRMC,144231.00,A,5201.85601,N,00421.31727,E,67.021,327.57,120308,,,A*5A
+$GPRMC,144232.00,A,5201.87194,N,00421.30141,E,66.780,328.55,120308,,,A*57
+$GPRMC,144233.00,A,5201.88841,N,00421.28644,E,66.851,331.02,120308,,,A*5A
+$GPRMC,144234.00,A,5201.90505,N,00421.27238,E,67.437,332.52,120308,,,A*52
+$GPRMC,144235.00,A,5201.92186,N,00421.26012,E,66.571,335.16,120308,,,A*50
+$GPRMC,144236.00,A,5201.93912,N,00421.24861,E,66.679,337.24,120308,,,A*51
+$GPRMC,144237.00,A,5201.95637,N,00421.23793,E,66.638,338.60,120308,,,A*51
+$GPRMC,144238.00,A,5201.97390,N,00421.22766,E,66.358,341.07,120308,,,A*53
+$GPRMC,144239.00,A,5201.99159,N,00421.21866,E,66.457,342.80,120308,,,A*53
+$GPRMC,144240.00,A,5202.00953,N,00421.21109,E,66.516,344.85,120308,,,A*5B
+$GPRMC,144241.00,A,5202.02780,N,00421.20434,E,66.849,347.11,120308,,,A*5B
+$GPRMC,144242.00,A,5202.04612,N,00421.19787,E,67.319,348.58,120308,,,A*58
+$GPRMC,144243.00,A,5202.06462,N,00421.19193,E,67.632,349.50,120308,,,A*58
+$GPRMC,144244.00,A,5202.08328,N,00421.18650,E,67.939,349.90,120308,,,A*59
+$GPRMC,144245.00,A,5202.10192,N,00421.18085,E,68.069,349.58,120308,,,A*5B
+$GPRMC,144246.00,A,5202.12049,N,00421.17501,E,68.157,349.49,120308,,,A*57
+$GPRMC,144247.00,A,5202.13924,N,00421.16993,E,68.158,350.20,120308,,,A*5B
+$GPRMC,144248.00,A,5202.15791,N,00421.16475,E,68.324,350.54,120308,,,A*5D
+$GPRMC,144249.00,A,5202.17657,N,00421.15959,E,68.277,350.30,120308,,,A*50
+$GPRMC,144250.00,A,5202.19528,N,00421.15454,E,68.103,349.94,120308,,,A*5B
+$GPRMC,144251.00,A,5202.21395,N,00421.14958,E,67.927,350.04,120308,,,A*51
+$GPRMC,144252.00,A,5202.23266,N,00421.14522,E,67.604,351.57,120308,,,A*55
+$GPRMC,144253.00,A,5202.25109,N,00421.14121,E,66.812,353.25,120308,,,A*50
+$GPRMC,144254.00,A,5202.26966,N,00421.13824,E,67.745,355.05,120308,,,A*56
+$GPRMC,144255.00,A,5202.28873,N,00421.13644,E,69.175,357.35,120308,,,A*5E
+$GPRMC,144256.00,A,5202.30789,N,00421.13541,E,70.139,358.52,120308,,,A*56
+$GPRMC,144257.00,A,5202.32746,N,00421.13494,E,70.728,359.25,120308,,,A*58
+$GPRMC,144258.00,A,5202.34714,N,00421.13479,E,70.844,359.77,120308,,,A*57
+$GPRMC,144259.00,A,5202.36677,N,00421.13489,E,70.686,0.19,120308,,,A*58
+$GPRMC,144300.00,A,5202.38649,N,00421.13501,E,70.866,0.11,120308,,,A*5F
+$GPRMC,144301.00,A,5202.40600,N,00421.13527,E,70.229,0.24,120308,,,A*5F
+$GPRMC,144302.00,A,5202.42540,N,00421.13559,E,69.658,0.35,120308,,,A*5A
+$GPRMC,144303.00,A,5202.44464,N,00421.13559,E,69.209,0.88,120308,,,A*5C
+$GPRMC,144304.00,A,5202.46385,N,00421.13638,E,68.953,1.98,120308,,,A*50
+$GPRMC,144305.00,A,5202.48285,N,00421.13819,E,68.600,4.50,120308,,,A*5B
+$GPRMC,144306.00,A,5202.50185,N,00421.14131,E,68.675,7.07,120308,,,A*55
+$GPRMC,144307.00,A,5202.52078,N,00421.14603,E,69.074,9.54,120308,,,A*5D
+$GPRMC,144308.00,A,5202.53967,N,00421.15220,E,68.862,12.45,120308,,,A*64
+$GPRMC,144309.00,A,5202.55828,N,00421.16015,E,69.395,16.18,120308,,,A*60
+$GPRMC,144310.00,A,5202.57661,N,00421.16987,E,68.764,19.03,120308,,,A*65
+$GPRMC,144311.00,A,5202.59439,N,00421.18106,E,68.738,22.49,120308,,,A*65
+$GPRMC,144312.00,A,5202.61191,N,00421.19347,E,68.212,23.97,120308,,,A*63
+$GPRMC,144313.00,A,5202.62873,N,00421.20748,E,67.646,27.06,120308,,,A*63
+$GPRMC,144314.00,A,5202.64493,N,00421.22276,E,68.199,30.21,120308,,,A*63
+$GPRMC,144315.00,A,5202.66090,N,00421.23870,E,67.002,32.52,120308,,,A*60
+$GPRMC,144316.00,A,5202.67600,N,00421.25649,E,66.495,35.61,120308,,,A*63
+$GPRMC,144317.00,A,5202.69069,N,00421.27518,E,66.027,37.36,120308,,,A*6D
+$GPRMC,144318.00,A,5202.70495,N,00421.29428,E,65.127,39.35,120308,,,A*6E
+$GPRMC,144319.00,A,5202.71848,N,00421.31321,E,63.633,40.13,120308,,,A*6B
+$GPRMC,144320.00,A,5202.73177,N,00421.33254,E,62.804,40.12,120308,,,A*6D
+$GPRMC,144321.00,A,5202.74505,N,00421.35125,E,63.027,40.14,120308,,,A*67
+$GPRMC,144322.00,A,5202.75841,N,00421.36994,E,63.579,40.37,120308,,,A*66
+$GPRMC,144323.00,A,5202.77191,N,00421.38874,E,63.842,40.07,120308,,,A*66
+$GPRMC,144324.00,A,5202.78549,N,00421.40752,E,63.985,40.14,120308,,,A*63
+$GPRMC,144325.00,A,5202.79904,N,00421.42630,E,63.974,40.09,120308,,,A*63
+$GPRMC,144326.00,A,5202.81267,N,00421.44517,E,64.229,40.26,120308,,,A*60
+$GPRMC,144327.00,A,5202.82633,N,00421.46399,E,64.239,40.59,120308,,,A*6C
+$GPRMC,144328.00,A,5202.83982,N,00421.48279,E,64.315,40.25,120308,,,A*62
+$GPRMC,144329.00,A,5202.85326,N,00421.50150,E,63.872,40.33,120308,,,A*6A
+$GPRMC,144330.00,A,5202.86668,N,00421.52009,E,62.826,40.41,120308,,,A*64
+$GPRMC,144331.00,A,5202.87983,N,00421.53835,E,62.213,40.49,120308,,,A*6C
+$GPRMC,144332.00,A,5202.89282,N,00421.55620,E,61.810,40.49,120308,,,A*6D
+$GPRMC,144333.00,A,5202.90583,N,00421.57432,E,61.674,40.64,120308,,,A*62
+$GPRMC,144334.00,A,5202.91882,N,00421.59236,E,61.654,40.41,120308,,,A*61
+$GPRMC,144335.00,A,5202.93188,N,00421.61035,E,61.863,40.05,120308,,,A*61
+$GPRMC,144336.00,A,5202.94501,N,00421.62824,E,61.976,40.08,120308,,,A*63
+$GPRMC,144337.00,A,5202.95813,N,00421.64619,E,61.928,40.33,120308,,,A*68
+$GPRMC,144338.00,A,5202.97119,N,00421.66416,E,61.747,40.51,120308,,,A*6A
+$GPRMC,144339.00,A,5202.98418,N,00421.68183,E,61.554,40.18,120308,,,A*6A
+$GPRMC,144340.00,A,5202.99711,N,00421.69940,E,60.841,40.55,120308,,,A*68
+$GPRMC,144341.00,A,5203.00982,N,00421.71688,E,60.299,40.24,120308,,,A*67
+$GPRMC,144342.00,A,5203.02234,N,00421.73430,E,59.650,40.89,120308,,,A*6F
+$GPRMC,144343.00,A,5203.03486,N,00421.75170,E,60.004,40.63,120308,,,A*6E
+$GPRMC,144344.00,A,5203.04746,N,00421.76899,E,59.676,40.80,120308,,,A*68
+$GPRMC,144345.00,A,5203.05987,N,00421.78678,E,59.686,41.64,120308,,,A*60
+$GPRMC,144346.00,A,5203.07209,N,00421.80491,E,59.910,42.55,120308,,,A*6F
+$GPRMC,144347.00,A,5203.08414,N,00421.82335,E,59.556,43.52,120308,,,A*68
+$GPRMC,144348.00,A,5203.09603,N,00421.84164,E,60.112,43.99,120308,,,A*6B
+$GPRMC,144349.00,A,5203.10745,N,00421.86013,E,57.360,44.78,120308,,,A*69
+$GPRMC,144350.00,A,5203.11827,N,00421.87823,E,54.839,45.49,120308,,,A*66
+$GPRMC,144351.00,A,5203.12858,N,00421.89568,E,52.634,45.80,120308,,,A*60
+$GPRMC,144352.00,A,5203.13860,N,00421.91279,E,51.534,45.80,120308,,,A*67
+$GPRMC,144353.00,A,5203.14853,N,00421.92916,E,50.429,45.09,120308,,,A*6D
+$GPRMC,144354.00,A,5203.15839,N,00421.94506,E,49.444,43.78,120308,,,A*6F
+$GPRMC,144355.00,A,5203.16842,N,00421.96018,E,49.266,41.73,120308,,,A*66
+$GPRMC,144356.00,A,5203.17892,N,00421.97476,E,50.053,39.12,120308,,,A*60
+$GPRMC,144357.00,A,5203.18990,N,00421.98883,E,50.456,36.72,120308,,,A*6C
+$GPRMC,144358.00,A,5203.20177,N,00422.00195,E,52.309,33.67,120308,,,A*6B
+$GPRMC,144359.00,A,5203.21423,N,00422.01422,E,52.534,31.12,120308,,,A*6F
+$GPRMC,144400.00,A,5203.22661,N,00422.02554,E,51.076,29.48,120308,,,A*66
+$GPRMC,144401.00,A,5203.23891,N,00422.03638,E,50.892,27.83,120308,,,A*65
+$GPRMC,144402.00,A,5203.25154,N,00422.04682,E,50.402,26.32,120308,,,A*68
+$GPRMC,144403.00,A,5203.26348,N,00422.05588,E,47.068,25.82,120308,,,A*6B
+$GPRMC,144404.00,A,5203.27480,N,00422.06474,E,44.103,25.97,120308,,,A*64
+$GPRMC,144405.00,A,5203.28560,N,00422.07349,E,43.648,26.51,120308,,,A*6B
+$GPRMC,144406.00,A,5203.29629,N,00422.08245,E,43.456,27.21,120308,,,A*6E
+$GPRMC,144407.00,A,5203.30693,N,00422.09118,E,43.516,27.05,120308,,,A*6F
+$GPRMC,144408.00,A,5203.31746,N,00422.09992,E,43.190,27.97,120308,,,A*63
+$GPRMC,144409.00,A,5203.32782,N,00422.10883,E,42.667,28.24,120308,,,A*69
+$GPRMC,144410.00,A,5203.33791,N,00422.11771,E,41.315,28.77,120308,,,A*64
+$GPRMC,144411.00,A,5203.34795,N,00422.12673,E,42.084,29.24,120308,,,A*69
+$GPRMC,144412.00,A,5203.35797,N,00422.13573,E,42.334,30.36,120308,,,A*68
+$GPRMC,144413.00,A,5203.36803,N,00422.14535,E,43.234,31.31,120308,,,A*6B
+$GPRMC,144414.00,A,5203.37846,N,00422.15546,E,44.524,31.38,120308,,,A*61
+$GPRMC,144415.00,A,5203.38895,N,00422.16582,E,44.425,31.74,120308,,,A*62
+$GPRMC,144416.00,A,5203.39942,N,00422.17629,E,44.494,31.78,120308,,,A*6E
+$GPRMC,144417.00,A,5203.40981,N,00422.18682,E,43.950,32.26,120308,,,A*6A
+$GPRMC,144418.00,A,5203.42003,N,00422.19728,E,44.012,32.52,120308,,,A*6F
+$GPRMC,144419.00,A,5203.43021,N,00422.20776,E,43.939,32.50,120308,,,A*6B
+$GPRMC,144420.00,A,5203.44048,N,00422.21827,E,44.334,32.44,120308,,,A*66
+$GPRMC,144421.00,A,5203.45082,N,00422.22896,E,45.373,33.19,120308,,,A*62
+$GPRMC,144422.00,A,5203.46145,N,00422.24007,E,46.178,32.55,120308,,,A*6D
+$GPRMC,144423.00,A,5203.47179,N,00422.25128,E,45.344,33.35,120308,,,A*66
+$GPRMC,144424.00,A,5203.48200,N,00422.26285,E,44.839,34.84,120308,,,A*69
+$GPRMC,144425.00,A,5203.49172,N,00422.27457,E,43.839,35.16,120308,,,A*6A
+$GPRMC,144426.00,A,5203.50167,N,00422.28597,E,44.574,34.49,120308,,,A*6F
+$GPRMC,144427.00,A,5203.51186,N,00422.29764,E,44.757,34.40,120308,,,A*65
+$GPRMC,144428.00,A,5203.52223,N,00422.30924,E,44.730,34.76,120308,,,A*63
+$GPRMC,144429.00,A,5203.53246,N,00422.32114,E,44.757,35.45,120308,,,A*69
+$GPRMC,144430.00,A,5203.54279,N,00422.33329,E,45.714,35.30,120308,,,A*63
+$GPRMC,144431.00,A,5203.55321,N,00422.34550,E,46.364,35.42,120308,,,A*65
+$GPRMC,144432.00,A,5203.56383,N,00422.35791,E,46.899,35.57,120308,,,A*6E
+$GPRMC,144433.00,A,5203.57485,N,00422.37074,E,47.130,35.31,120308,,,A*6A
+$GPRMC,144434.00,A,5203.58585,N,00422.38346,E,47.177,35.15,120308,,,A*6B
+$GPRMC,144435.00,A,5203.59678,N,00422.39615,E,48.063,35.10,120308,,,A*66
+$GPRMC,144436.00,A,5203.60796,N,00422.40905,E,49.146,35.44,120308,,,A*68
+$GPRMC,144437.00,A,5203.61938,N,00422.42235,E,50.672,35.67,120308,,,A*61
+$GPRMC,144438.00,A,5203.63110,N,00422.43611,E,52.249,35.56,120308,,,A*61
+$GPRMC,144439.00,A,5203.64322,N,00422.45024,E,53.466,35.63,120308,,,A*6E
+$GPRMC,144440.00,A,5203.65537,N,00422.46426,E,53.327,35.45,120308,,,A*60
+$GPRMC,144441.00,A,5203.66745,N,00422.47804,E,53.302,35.30,120308,,,A*6D
+$GPRMC,144442.00,A,5203.67948,N,00422.49184,E,52.612,35.81,120308,,,A*6C
+$GPRMC,144443.00,A,5203.69126,N,00422.50605,E,52.471,37.23,120308,,,A*68
+$GPRMC,144444.00,A,5203.70297,N,00422.52048,E,53.356,37.14,120308,,,A*64
+$GPRMC,144445.00,A,5203.71442,N,00422.53482,E,52.939,37.56,120308,,,A*6D
+$GPRMC,144446.00,A,5203.72622,N,00422.54890,E,52.797,36.31,120308,,,A*6B
+$GPRMC,144447.00,A,5203.73793,N,00422.56270,E,52.822,36.03,120308,,,A*66
+$GPRMC,144448.00,A,5203.74995,N,00422.57689,E,53.928,36.16,120308,,,A*6B
+$GPRMC,144449.00,A,5203.76151,N,00422.58982,E,52.674,35.68,120308,,,A*6E
+$GPRMC,144450.00,A,5203.77358,N,00422.60379,E,52.790,35.82,120308,,,A*66
+$GPRMC,144451.00,A,5203.78533,N,00422.61776,E,52.470,35.67,120308,,,A*6F
+$GPRMC,144452.00,A,5203.79713,N,00422.63137,E,52.240,35.50,120308,,,A*6D
+$GPRMC,144453.00,A,5203.80894,N,00422.64512,E,52.482,35.86,120308,,,A*6D
+$GPRMC,144454.00,A,5203.82052,N,00422.65861,E,52.409,35.97,120308,,,A*61
+$GPRMC,144455.00,A,5203.83214,N,00422.67202,E,52.419,35.77,120308,,,A*63
+$GPRMC,144456.00,A,5203.84380,N,00422.68550,E,52.484,35.41,120308,,,A*65
+$GPRMC,144457.00,A,5203.85561,N,00422.69891,E,51.748,35.05,120308,,,A*6D
+$GPRMC,144458.00,A,5203.86760,N,00422.71260,E,52.871,35.25,120308,,,A*6B
+$GPRMC,144459.00,A,5203.87978,N,00422.72662,E,53.611,35.30,120308,,,A*64
+$GPRMC,144500.00,A,5203.89207,N,00422.74090,E,54.447,35.94,120308,,,A*61
+$GPRMC,144501.00,A,5203.90447,N,00422.75556,E,55.580,36.71,120308,,,A*67
+$GPRMC,144502.00,A,5203.91689,N,00422.77042,E,55.993,37.21,120308,,,A*6D
+$GPRMC,144503.00,A,5203.92943,N,00422.78572,E,56.673,37.90,120308,,,A*67
+$GPRMC,144504.00,A,5203.94219,N,00422.80187,E,58.136,38.56,120308,,,A*66
+$GPRMC,144505.00,A,5203.95524,N,00422.81828,E,58.486,39.08,120308,,,A*66
+$GPRMC,144506.00,A,5203.96788,N,00422.83499,E,57.598,39.66,120308,,,A*6F
+$GPRMC,144507.00,A,5203.98014,N,00422.85192,E,56.601,40.55,120308,,,A*66
+$GPRMC,144508.00,A,5203.99191,N,00422.86897,E,55.887,42.05,120308,,,A*6F
+$GPRMC,144509.00,A,5204.00336,N,00422.88635,E,55.221,43.24,120308,,,A*6A
+$GPRMC,144510.00,A,5204.01455,N,00422.90372,E,55.490,43.41,120308,,,A*61
+$GPRMC,144511.00,A,5204.02558,N,00422.92118,E,54.895,44.25,120308,,,A*6E
+$GPRMC,144512.00,A,5204.03627,N,00422.93865,E,54.712,45.19,120308,,,A*6B
+$GPRMC,144513.00,A,5204.04693,N,00422.95648,E,54.979,45.84,120308,,,A*62
+$GPRMC,144514.00,A,5204.05740,N,00422.97443,E,54.756,46.72,120308,,,A*69
+$GPRMC,144515.00,A,5204.06773,N,00422.99251,E,54.632,47.02,120308,,,A*65
+$GPRMC,144516.00,A,5204.07789,N,00423.01058,E,54.121,47.59,120308,,,A*62
+$GPRMC,144517.00,A,5204.08825,N,00423.02879,E,55.274,46.75,120308,,,A*60
+$GPRMC,144518.00,A,5204.09888,N,00423.04713,E,56.307,46.75,120308,,,A*6A
+$GPRMC,144519.00,A,5204.10908,N,00423.06589,E,56.394,48.10,120308,,,A*6E
+$GPRMC,144520.00,A,5204.11940,N,00423.08509,E,56.747,48.66,120308,,,A*64
+$GPRMC,144521.00,A,5204.13011,N,00423.10448,E,58.355,48.59,120308,,,A*62
+$GPRMC,144522.00,A,5204.14107,N,00423.12464,E,60.039,48.44,120308,,,A*62
+$GPRMC,144523.00,A,5204.15226,N,00423.14507,E,60.821,48.10,120308,,,A*60
+$GPRMC,144524.00,A,5204.16337,N,00423.16569,E,60.366,48.97,120308,,,A*68
+$GPRMC,144525.00,A,5204.17427,N,00423.18623,E,60.090,49.75,120308,,,A*6A
+$GPRMC,144526.00,A,5204.18503,N,00423.20697,E,59.809,50.24,120308,,,A*6B
+$GPRMC,144527.00,A,5204.19564,N,00423.22779,E,59.932,50.77,120308,,,A*66
+$GPRMC,144528.00,A,5204.20600,N,00423.24854,E,59.104,51.62,120308,,,A*6C
+$GPRMC,144529.00,A,5204.21600,N,00423.26968,E,59.154,52.71,120308,,,A*64
+$GPRMC,144530.00,A,5204.22568,N,00423.29080,E,58.377,53.34,120308,,,A*60
+$GPRMC,144531.00,A,5204.23512,N,00423.31215,E,58.487,54.55,120308,,,A*62
+$GPRMC,144532.00,A,5204.24420,N,00423.33382,E,57.656,56.49,120308,,,A*65
+$GPRMC,144533.00,A,5204.25281,N,00423.35566,E,57.672,57.55,120308,,,A*68
+$GPRMC,144534.00,A,5204.26121,N,00423.37750,E,56.065,57.70,120308,,,A*66
+$GPRMC,144535.00,A,5204.26946,N,00423.39870,E,54.737,57.02,120308,,,A*6A
+$GPRMC,144536.00,A,5204.27748,N,00423.41944,E,52.535,57.64,120308,,,A*67
+$GPRMC,144537.00,A,5204.28551,N,00423.43913,E,52.819,56.44,120308,,,A*63
+$GPRMC,144538.00,A,5204.29341,N,00423.45817,E,51.130,56.15,120308,,,A*6C
+$GPRMC,144539.00,A,5204.30095,N,00423.47643,E,47.887,55.61,120308,,,A*60
+$GPRMC,144540.00,A,5204.30788,N,00423.49427,E,44.533,56.55,120308,,,A*6E
+$GPRMC,144541.00,A,5204.31439,N,00423.51102,E,43.801,56.42,120308,,,A*61
+$GPRMC,144542.00,A,5204.32085,N,00423.52743,E,44.107,56.50,120308,,,A*69
+$GPRMC,144543.00,A,5204.32751,N,00423.54413,E,43.604,56.64,120308,,,A*62
+$GPRMC,144544.00,A,5204.33407,N,00423.56112,E,42.669,56.56,120308,,,A*69
+$GPRMC,144545.00,A,5204.34001,N,00423.57698,E,39.877,57.36,120308,,,A*63
+$GPRMC,144546.00,A,5204.34561,N,00423.59159,E,37.649,57.06,120308,,,A*69
+$GPRMC,144547.00,A,5204.35073,N,00423.60514,E,34.838,56.69,120308,,,A*6B
+$GPRMC,144548.00,A,5204.35536,N,00423.61766,E,33.545,57.80,120308,,,A*60
+$GPRMC,144549.00,A,5204.35995,N,00423.63004,E,32.617,57.87,120308,,,A*67
+$GPRMC,144550.00,A,5204.36460,N,00423.64244,E,32.656,58.57,120308,,,A*6D
+$GPRMC,144551.00,A,5204.36923,N,00423.65489,E,32.954,58.78,120308,,,A*60
+$GPRMC,144552.00,A,5204.37386,N,00423.66730,E,32.473,59.12,120308,,,A*60
+$GPRMC,144553.00,A,5204.37822,N,00423.67947,E,31.565,59.87,120308,,,A*62
+$GPRMC,144554.00,A,5204.38244,N,00423.69146,E,30.944,59.95,120308,,,A*6A
+$GPRMC,144555.00,A,5204.38662,N,00423.70321,E,30.177,59.90,120308,,,A*6D
+$GPRMC,144556.00,A,5204.39066,N,00423.71460,E,28.925,60.11,120308,,,A*6B
+$GPRMC,144557.00,A,5204.39451,N,00423.72559,E,28.023,60.80,120308,,,A*65
+$GPRMC,144558.00,A,5204.39811,N,00423.73636,E,27.135,61.93,120308,,,A*63
+$GPRMC,144559.00,A,5204.40173,N,00423.74700,E,26.967,59.61,120308,,,A*6A
+$GPRMC,144600.00,V,,,,,,,120308,,,N*72
+$GPRMC,144601.00,V,,,,,,,120308,,,N*73
+$GPRMC,144602.00,V,,,,,,,120308,,,N*70
+$GPRMC,144603.00,V,,,,,,,120308,,,N*71
+$GPRMC,144604.00,V,,,,,,,120308,,,N*76
+$GPRMC,144605.00,V,,,,,,,120308,,,N*77
+$GPRMC,144606.00,V,,,,,,,120308,,,N*74
+$GPRMC,144607.00,V,,,,,,,120308,,,N*75
+$GPRMC,144608.00,V,,,,,,,120308,,,N*7A
+$GPRMC,144609.00,A,5204.42976,N,00423.83748,E,15.455,76.65,120308,,,A*62
+$GPRMC,144610.00,A,5204.42618,N,00423.85018,E,14.745,107.06,120308,,,A*58
+$GPRMC,144611.00,A,5204.41792,N,00423.86840,E,22.514,125.91,120308,,,A*52
+$GPRMC,144612.00,A,5204.41315,N,00423.87577,E,22.725,136.31,120308,,,A*5A
+$GPRMC,144613.00,A,5204.40780,N,00423.88071,E,22.353,146.88,120308,,,A*5E
+$GPRMC,144614.00,A,5204.40146,N,00423.88437,E,23.691,161.63,120308,,,A*59
+$GPRMC,144615.00,A,5204.39659,N,00423.88528,E,23.387,185.11,120308,,,A*5D
+$GPRMC,144616.00,A,5204.38956,N,00423.88284,E,25.824,193.42,120308,,,A*5B
+$GPRMC,144617.00,A,5204.38234,N,00423.87759,E,23.569,208.98,120308,,,A*5B
+$GPRMC,144618.00,A,5204.37705,N,00423.87254,E,19.956,218.13,120308,,,A*5F
+$GPRMC,144619.00,A,5204.37332,N,00423.86719,E,15.520,225.34,120308,,,A*59
+$GPRMC,144620.00,A,5204.37059,N,00423.86251,E,11.879,230.88,120308,,,A*52
+$GPRMC,144621.00,A,5204.36900,N,00423.85982,E,6.656,226.71,120308,,,A*65
+$GPRMC,144622.00,A,5204.36810,N,00423.85807,E,3.091,229.54,120308,,,A*6A
+$GPRMC,144623.00,A,5204.36750,N,00423.85765,E,1.510,229.48,120308,,,A*68
+$GPRMC,144624.00,A,5204.36723,N,00423.85751,E,0.286,227.70,120308,,,A*60
+$GPRMC,144625.00,A,5204.36704,N,00423.85785,E,1.042,220.79,120308,,,A*68
+$GPRMC,144626.00,A,5204.36712,N,00423.85780,E,0.117,217.30,120308,,,A*60
+$GPRMC,144627.00,A,5204.36721,N,00423.85757,E,0.128,212.71,120308,,,A*67
+$GPRMC,144628.00,A,5204.36737,N,00423.85731,E,0.076,208.18,120308,,,A*61
+$GPRMC,144629.00,A,5204.36755,N,00423.85572,E,0.256,213.75,120308,,,A*60
+$GPRMC,144630.00,A,5204.36776,N,00423.85458,E,0.202,218.08,120308,,,A*60
+$GPRMC,144631.00,A,5204.36788,N,00423.85409,E,0.049,223.19,120308,,,A*61
+$GPRMC,144632.00,A,5204.36784,N,00423.85426,E,0.161,227.30,120308,,,A*67
+$GPRMC,144633.00,A,5204.36789,N,00423.85424,E,0.420,231.21,120308,,,A*6E
+$GPRMC,144634.00,A,5204.36786,N,00423.85402,E,0.637,234.78,120308,,,A*6F
+$GPRMC,144635.00,A,5204.36778,N,00423.85402,E,0.211,234.54,120308,,,A*61
+$GPRMC,144636.00,A,5204.36777,N,00423.85365,E,0.328,237.26,120308,,,A*66
+$GPRMC,144637.00,A,5204.36765,N,00423.85341,E,0.140,237.32,120308,,,A*6B
+$GPRMC,144638.00,A,5204.36755,N,00423.85302,E,0.065,236.84,120308,,,A*6A
+$GPRMC,144639.00,A,5204.36742,N,00423.85267,E,0.107,234.94,120308,,,A*69
+$GPRMC,144640.00,A,5204.36726,N,00423.85235,E,0.131,233.22,120308,,,A*6D
+$GPRMC,144641.00,A,5204.36705,N,00423.85214,E,0.203,229.42,120308,,,A*61
+$GPRMC,144642.00,A,5204.36685,N,00423.85179,E,0.201,226.54,120308,,,A*69
+$GPRMC,144643.00,A,5204.36658,N,00423.85170,E,0.353,223.36,120308,,,A*66
+$GPRMC,144644.00,A,5204.36637,N,00423.85171,E,0.326,220.67,120308,,,A*6C
+$GPRMC,144645.00,A,5204.36612,N,00423.85179,E,0.263,217.84,120308,,,A*6B
+$GPRMC,144646.00,A,5204.36588,N,00423.85192,E,0.335,215.26,120308,,,A*65
+$GPRMC,144647.00,A,5204.36599,N,00423.85215,E,0.141,214.77,120308,,,A*6C
+$GPRMC,144648.00,A,5204.36600,N,00423.85229,E,0.187,213.70,120308,,,A*65
+$GPRMC,144649.00,A,5204.36585,N,00423.85247,E,0.384,210.09,120308,,,A*6E
+$GPRMC,144650.00,A,5204.36612,N,00423.85251,E,0.265,215.86,120308,,,A*60
+$GPRMC,144651.00,A,5204.36612,N,00423.85257,E,0.277,216.50,120308,,,A*6C
+$GPRMC,144652.00,A,5204.36599,N,00423.85254,E,0.645,214.72,120308,,,A*6B
+$GPRMC,144653.00,A,5204.36568,N,00423.85221,E,2.237,219.42,120308,,,A*6B
+$GPRMC,144654.00,A,5204.36490,N,00423.85131,E,5.149,218.25,120308,,,A*65
+$GPRMC,144655.00,A,5204.36348,N,00423.84982,E,8.033,214.92,120308,,,A*66
+$GPRMC,144656.00,A,5204.36163,N,00423.84668,E,10.290,223.23,120308,,,A*59
+$GPRMC,144657.00,A,5204.35931,N,00423.84261,E,12.304,224.59,120308,,,A*5D
+$GPRMC,144658.00,A,5204.35691,N,00423.83841,E,12.834,225.13,120308,,,A*5F
+$GPRMC,144659.00,A,5204.35455,N,00423.83251,E,14.146,240.32,120308,,,A*55
+$GPRMC,144700.00,A,5204.35391,N,00423.82510,E,14.811,260.99,120308,,,A*5C
+$GPRMC,144701.00,A,5204.35607,N,00423.81704,E,16.776,292.71,120308,,,A*54
+$GPRMC,144702.00,A,5204.35901,N,00423.81066,E,17.626,306.89,120308,,,A*53
+$GPRMC,144703.00,A,5204.36311,N,00423.80337,E,20.748,316.36,120308,,,A*54
+$GPRMC,144704.00,A,5204.36767,N,00423.79600,E,22.957,315.45,120308,,,A*54
+$GPRMC,144705.00,A,5204.37242,N,00423.78861,E,23.987,315.81,120308,,,A*5A
+$GPRMC,144706.00,A,5204.37710,N,00423.78139,E,23.067,315.96,120308,,,A*5E
+$GPRMC,144707.00,A,5204.38168,N,00423.77471,E,21.714,317.34,120308,,,A*54
+$GPRMC,144708.00,A,5204.38569,N,00423.76788,E,20.906,316.62,120308,,,A*54
+$GPRMC,144709.00,A,5204.38997,N,00423.76162,E,21.173,317.17,120308,,,A*52
+$GPRMC,144710.00,A,5204.39441,N,00423.75518,E,22.296,317.54,120308,,,A*5B
+$GPRMC,144711.00,A,5204.39893,N,00423.74833,E,22.349,317.87,120308,,,A*51
+$GPRMC,144712.00,A,5204.40354,N,00423.74152,E,23.049,317.77,120308,,,A*5F
+$GPRMC,144713.00,A,5204.40837,N,00423.73434,E,24.227,318.12,120308,,,A*53
+$GPRMC,144714.00,A,5204.41337,N,00423.72695,E,24.551,318.17,120308,,,A*55
+$GPRMC,144715.00,A,5204.41833,N,00423.71966,E,23.754,317.67,120308,,,A*53
+$GPRMC,144716.00,A,5204.42308,N,00423.71247,E,22.860,316.52,120308,,,A*56
+$GPRMC,144717.00,A,5204.42767,N,00423.70533,E,22.251,315.26,120308,,,A*57
+$GPRMC,144718.00,A,5204.43191,N,00423.69855,E,20.814,314.80,120308,,,A*57
+$GPRMC,144719.00,A,5204.43578,N,00423.69242,E,18.306,315.88,120308,,,A*53
+$GPRMC,144720.00,A,5204.43887,N,00423.68729,E,14.104,312.52,120308,,,A*51
+$GPRMC,144721.00,A,5204.44137,N,00423.68348,E,11.110,315.73,120308,,,A*52
+$GPRMC,144722.00,A,5204.44369,N,00423.67996,E,11.988,316.22,120308,,,A*50
+$GPRMC,144723.00,A,5204.44618,N,00423.67656,E,12.334,316.98,120308,,,A*5E
+$GPRMC,144724.00,A,5204.44855,N,00423.67293,E,11.373,315.11,120308,,,A*51
+$GPRMC,144725.00,A,5204.45089,N,00423.66924,E,12.198,313.15,120308,,,A*58
+$GPRMC,144726.00,A,5204.45315,N,00423.66529,E,12.243,310.08,120308,,,A*56
+$GPRMC,144727.00,A,5204.45514,N,00423.66169,E,10.575,311.97,120308,,,A*57
+$GPRMC,144728.00,A,5204.45731,N,00423.65823,E,10.267,314.31,120308,,,A*54
+$GPRMC,144729.00,A,5204.45915,N,00423.65512,E,9.352,315.05,120308,,,A*6B
+$GPRMC,144730.00,A,5204.46092,N,00423.65203,E,8.776,315.19,120308,,,A*6F
+$GPRMC,144731.00,A,5204.46258,N,00423.64892,E,7.729,315.88,120308,,,A*64
+$GPRMC,144732.00,A,5204.46360,N,00423.64704,E,5.105,314.77,120308,,,A*66
+$GPRMC,144733.00,A,5204.46414,N,00423.64604,E,2.460,312.82,120308,,,A*6F
+$GPRMC,144734.00,A,5204.46426,N,00423.64606,E,0.680,311.88,120308,,,A*6C
+$GPRMC,144735.00,A,5204.46447,N,00423.64621,E,0.177,313.03,120308,,,A*61
+$GPRMC,144736.00,A,5204.46457,N,00423.64630,E,0.012,,120308,,,A*7D
+$GPRMC,144737.00,A,5204.46468,N,00423.64652,E,0.016,,120308,,,A*70
+$GPRMC,144738.00,A,5204.46476,N,00423.64665,E,0.010,,120308,,,A*72
+$GPRMC,144739.00,A,5204.46484,N,00423.64701,E,0.003,,120308,,,A*7F
+$GPRMC,144740.00,A,5204.46469,N,00423.64749,E,0.535,323.70,120308,,,A*65
+$GPRMC,144741.00,A,5204.46464,N,00423.64769,E,0.066,325.90,120308,,,A*60
+$GPRMC,144742.00,A,5204.46464,N,00423.64775,E,0.140,326.46,120308,,,A*63
+$GPRMC,144743.00,A,5204.46459,N,00423.64786,E,0.036,324.22,120308,,,A*60
+$GPRMC,144744.00,A,5204.46453,N,00423.64791,E,0.047,322.14,120308,,,A*6E
+$GPRMC,144745.00,A,5204.46448,N,00423.64799,E,0.054,322.20,120308,,,A*68
+$GPRMC,144746.00,A,5204.46443,N,00423.64804,E,0.026,321.48,120308,,,A*63
+$GPRMC,144747.00,A,5204.46430,N,00423.64820,E,0.267,331.98,120308,,,A*6B
+$GPRMC,144748.00,A,5204.46411,N,00423.64845,E,0.023,333.92,120308,,,A*6E
+$GPRMC,144749.00,A,5204.46395,N,00423.64868,E,0.174,329.03,120308,,,A*6B
+$GPRMC,144750.00,A,5204.46386,N,00423.64893,E,0.456,329.67,120308,,,A*62
+$GPRMC,144751.00,A,5204.46372,N,00423.64917,E,0.126,334.87,120308,,,A*65
+$GPRMC,144752.00,A,5204.46355,N,00423.64933,E,0.007,,120308,,,A*72
+$GPRMC,144753.00,A,5204.46350,N,00423.64934,E,0.085,336.64,120308,,,A*61
+$GPRMC,144754.00,A,5204.46341,N,00423.64940,E,0.015,,120308,,,A*76
+$GPRMC,144755.00,A,5204.46328,N,00423.64942,E,0.018,,120308,,,A*77
+$GPRMC,144756.00,A,5204.46316,N,00423.64950,E,0.033,341.95,120308,,,A*67
+$GPRMC,144757.00,A,5204.46300,N,00423.64955,E,0.027,336.88,120308,,,A*6D
+$GPRMC,144758.00,A,5204.46282,N,00423.64962,E,0.336,325.87,120308,,,A*63
+$GPRMC,144759.00,A,5204.46274,N,00423.64960,E,0.258,324.37,120308,,,A*6A
+$GPRMC,144800.00,A,5204.46261,N,00423.64960,E,0.041,324.70,120308,,,A*64
+$GPRMC,144801.00,A,5204.46252,N,00423.64956,E,0.092,326.10,120308,,,A*6A
+$GPRMC,144802.00,A,5204.46243,N,00423.64954,E,0.068,325.94,120308,,,A*61
+$GPRMC,144803.00,A,5204.46233,N,00423.64953,E,0.041,330.74,120308,,,A*61
+$GPRMC,144804.00,A,5204.46223,N,00423.64954,E,0.121,325.82,120308,,,A*6A
+$GPRMC,144805.00,A,5204.46219,N,00423.64948,E,0.038,320.75,120308,,,A*6B
+$GPRMC,144806.00,A,5204.46210,N,00423.64946,E,0.009,,120308,,,A*70
+$GPRMC,144807.00,A,5204.46203,N,00423.64941,E,0.019,,120308,,,A*75
+$GPRMC,144808.00,A,5204.46194,N,00423.64940,E,0.016,,120308,,,A*79
+$GPRMC,144809.00,A,5204.46194,N,00423.64930,E,0.752,320.57,120308,,,A*65
+$GPRMC,144810.00,A,5204.46231,N,00423.64869,E,3.429,314.59,120308,,,A*69
+$GPRMC,144811.00,A,5204.46333,N,00423.64709,E,7.042,317.87,120308,,,A*6F
+$GPRMC,144812.00,A,5204.46543,N,00423.64416,E,11.162,318.24,120308,,,A*52
+$GPRMC,144813.00,A,5204.46804,N,00423.64046,E,13.606,318.94,120308,,,A*50
+$GPRMC,144814.00,A,5204.47100,N,00423.63619,E,14.430,318.73,120308,,,A*59
+$GPRMC,144815.00,A,5204.47410,N,00423.63151,E,15.936,314.70,120308,,,A*52
+$GPRMC,144816.00,A,5204.47700,N,00423.62541,E,16.808,305.08,120308,,,A*57
+$GPRMC,144817.00,A,5204.47832,N,00423.61628,E,18.043,278.85,120308,,,A*50
+$GPRMC,144818.00,A,5204.47826,N,00423.60739,E,18.820,263.86,120308,,,A*5E
+$GPRMC,144819.00,A,5204.47709,N,00423.59832,E,19.858,247.40,120308,,,A*51
+$GPRMC,144820.00,A,5204.47447,N,00423.59023,E,20.594,234.77,120308,,,A*5D
+$GPRMC,144821.00,A,5204.47029,N,00423.58295,E,22.171,224.61,120308,,,A*55
+$GPRMC,144822.00,A,5204.46580,N,00423.57577,E,22.497,220.81,120308,,,A*52
+$GPRMC,144823.00,A,5204.46068,N,00423.56944,E,22.496,214.92,120308,,,A*59
+$GPRMC,144824.00,A,5204.45542,N,00423.56372,E,22.675,209.51,120308,,,A*53
+$GPRMC,144825.00,A,5204.44976,N,00423.55917,E,23.275,203.33,120308,,,A*59
+$GPRMC,144826.00,A,5204.44365,N,00423.55594,E,23.503,198.32,120308,,,A*53
+$GPRMC,144827.00,A,5204.43691,N,00423.55428,E,25.433,189.44,120308,,,A*58
+$GPRMC,144828.00,A,5204.42980,N,00423.55325,E,26.334,185.31,120308,,,A*5E
+$GPRMC,144829.00,A,5204.42248,N,00423.55185,E,26.818,185.28,120308,,,A*55
+$GPRMC,144830.00,A,5204.41497,N,00423.55046,E,27.154,186.91,120308,,,A*55
+$GPRMC,144831.00,A,5204.40738,N,00423.54859,E,27.926,190.49,120308,,,A*5B
+$GPRMC,144832.00,A,5204.39994,N,00423.54557,E,26.955,196.21,120308,,,A*50
+$GPRMC,144833.00,A,5204.39322,N,00423.54216,E,24.244,198.45,120308,,,A*51
+$GPRMC,144834.00,A,5204.38696,N,00423.53833,E,23.944,200.31,120308,,,A*5A
+$GPRMC,144835.00,A,5204.38100,N,00423.53394,E,23.210,204.42,120308,,,A*5F
+$GPRMC,144836.00,A,5204.37521,N,00423.52887,E,23.458,208.96,120308,,,A*53
+$GPRMC,144837.00,A,5204.36972,N,00423.52311,E,23.885,212.54,120308,,,A*54
+$GPRMC,144838.00,A,5204.36422,N,00423.51665,E,24.602,216.54,120308,,,A*54
+$GPRMC,144839.00,A,5204.35874,N,00423.50952,E,25.899,219.90,120308,,,A*59
+$GPRMC,144840.00,A,5204.35319,N,00423.50152,E,27.830,223.91,120308,,,A*56
+$GPRMC,144841.00,A,5204.34772,N,00423.49217,E,28.898,228.54,120308,,,A*5A
+$GPRMC,144842.00,A,5204.34217,N,00423.48095,E,31.662,232.29,120308,,,A*54
+$GPRMC,144843.00,A,5204.33668,N,00423.46863,E,33.726,233.91,120308,,,A*50
+$GPRMC,144844.00,A,5204.33074,N,00423.45527,E,35.915,233.73,120308,,,A*56
+$GPRMC,144845.00,A,5204.32459,N,00423.44170,E,37.764,232.68,120308,,,A*5B
+$GPRMC,144846.00,A,5204.31804,N,00423.42764,E,40.132,232.67,120308,,,A*50
+$GPRMC,144847.00,A,5204.31107,N,00423.41270,E,42.779,232.91,120308,,,A*5A
+$GPRMC,144848.00,A,5204.30394,N,00423.39681,E,43.941,233.86,120308,,,A*5A
+$GPRMC,144849.00,A,5204.29661,N,00423.37951,E,46.143,234.40,120308,,,A*52
+$GPRMC,144850.00,A,5204.28814,N,00423.36008,E,49.944,234.73,120308,,,A*53
+$GPRMC,144851.00,A,5204.28028,N,00423.34102,E,49.610,235.67,120308,,,A*56
+$GPRMC,144852.00,A,5204.27259,N,00423.32156,E,49.498,236.57,120308,,,A*5B
+$GPRMC,144853.00,A,5204.26509,N,00423.30242,E,48.211,236.78,120308,,,A*56
+$GPRMC,144854.00,A,5204.25782,N,00423.28414,E,46.766,236.64,120308,,,A*59
+$GPRMC,144855.00,A,5204.25063,N,00423.26595,E,46.135,236.35,120308,,,A*52
+$GPRMC,144856.00,A,5204.24343,N,00423.24814,E,46.554,235.97,120308,,,A*5F
+$GPRMC,144857.00,A,5204.23622,N,00423.23058,E,46.152,235.91,120308,,,A*58
+$GPRMC,144858.00,A,5204.22900,N,00423.21298,E,46.716,236.08,120308,,,A*50
+$GPRMC,144859.00,A,5204.22172,N,00423.19530,E,47.257,235.95,120308,,,A*54
+$GPRMC,144900.00,A,5204.21428,N,00423.17757,E,48.052,235.40,120308,,,A*5D
+$GPRMC,144901.00,A,5204.20654,N,00423.15931,E,49.450,235.06,120308,,,A*5D
+$GPRMC,144902.00,A,5204.19858,N,00423.14107,E,49.655,234.31,120308,,,A*58
+$GPRMC,144903.00,A,5204.19042,N,00423.12301,E,49.390,233.52,120308,,,A*56
+$GPRMC,144904.00,A,5204.18210,N,00423.10520,E,49.478,232.77,120308,,,A*55
+$GPRMC,144905.00,A,5204.17356,N,00423.08731,E,50.205,232.36,120308,,,A*52
+$GPRMC,144906.00,A,5204.16477,N,00423.06929,E,51.187,231.64,120308,,,A*51
+$GPRMC,144907.00,A,5204.15559,N,00423.05106,E,52.435,230.70,120308,,,A*53
+$GPRMC,144908.00,A,5204.14613,N,00423.03304,E,53.036,229.45,120308,,,A*5E
+$GPRMC,144909.00,A,5204.13643,N,00423.01506,E,53.095,228.36,120308,,,A*57
+$GPRMC,144910.00,A,5204.12641,N,00422.99730,E,53.204,227.27,120308,,,A*5E
+$GPRMC,144911.00,A,5204.11613,N,00422.97993,E,53.177,227.27,120308,,,A*55
+$GPRMC,144912.00,A,5204.10599,N,00422.96250,E,53.092,226.83,120308,,,A*56
+$GPRMC,144913.00,A,5204.09580,N,00422.94563,E,52.819,225.50,120308,,,A*55
+$GPRMC,144914.00,A,5204.08520,N,00422.92934,E,52.841,224.09,120308,,,A*51
+$GPRMC,144915.00,A,5204.07437,N,00422.91333,E,52.473,222.62,120308,,,A*50
+$GPRMC,144916.00,A,5204.06345,N,00422.89793,E,51.832,220.72,120308,,,A*5E
+$GPRMC,144917.00,A,5204.05240,N,00422.88322,E,51.138,219.17,120308,,,A*5D
+$GPRMC,144918.00,A,5204.04132,N,00422.86907,E,49.945,218.21,120308,,,A*59
+$GPRMC,144919.00,A,5204.03046,N,00422.85550,E,48.738,217.58,120308,,,A*54
+$GPRMC,144920.00,A,5204.01988,N,00422.84259,E,47.411,216.81,120308,,,A*5A
+$GPRMC,144921.00,A,5204.00943,N,00422.83028,E,46.311,215.99,120308,,,A*52
+$GPRMC,144922.00,A,5203.99904,N,00422.81842,E,45.710,215.17,120308,,,A*53
+$GPRMC,144923.00,A,5203.98856,N,00422.80690,E,45.234,214.46,120308,,,A*53
+$GPRMC,144924.00,A,5203.97820,N,00422.79557,E,44.701,214.26,120308,,,A*50
+$GPRMC,144925.00,A,5203.96783,N,00422.78435,E,45.048,213.85,120308,,,A*57
+$GPRMC,144926.00,A,5203.95734,N,00422.77309,E,45.557,213.61,120308,,,A*5D
+$GPRMC,144927.00,A,5203.94673,N,00422.76182,E,45.863,213.49,120308,,,A*5F
+$GPRMC,144928.00,A,5203.93599,N,00422.75047,E,46.506,213.37,120308,,,A*5F
+$GPRMC,144929.00,A,5203.92500,N,00422.73897,E,47.644,212.90,120308,,,A*54
+$GPRMC,144930.00,A,5203.91386,N,00422.72732,E,47.720,213.35,120308,,,A*5B
+$GPRMC,144931.00,A,5203.90275,N,00422.71544,E,48.155,213.84,120308,,,A*57
+$GPRMC,144932.00,A,5203.89154,N,00422.70331,E,48.802,213.88,120308,,,A*5E
+$GPRMC,144933.00,A,5203.88025,N,00422.69106,E,48.928,213.98,120308,,,A*5F
+$GPRMC,144934.00,A,5203.86897,N,00422.67872,E,49.193,214.36,120308,,,A*59
+$GPRMC,144935.00,A,5203.85761,N,00422.66607,E,49.785,214.84,120308,,,A*58
+$GPRMC,144936.00,A,5203.84623,N,00422.65302,E,50.181,215.30,120308,,,A*5A
+$GPRMC,144937.00,A,5203.83470,N,00422.63952,E,51.562,215.59,120308,,,A*56
+$GPRMC,144938.00,A,5203.82304,N,00422.62585,E,51.573,215.61,120308,,,A*50
+$GPRMC,144939.00,A,5203.81131,N,00422.61223,E,51.656,215.44,120308,,,A*5D
+$GPRMC,144940.00,A,5203.79957,N,00422.59868,E,51.567,215.04,120308,,,A*57
+$GPRMC,144941.00,A,5203.78779,N,00422.58518,E,51.048,215.13,120308,,,A*50
+$GPRMC,144942.00,A,5203.77626,N,00422.57190,E,49.794,215.36,120308,,,A*54
+$GPRMC,144943.00,A,5203.76506,N,00422.55901,E,48.645,215.80,120308,,,A*56
+$GPRMC,144944.00,A,5203.75381,N,00422.54650,E,49.272,214.28,120308,,,A*53
+$GPRMC,144945.00,A,5203.74244,N,00422.53362,E,49.848,215.32,120308,,,A*51
+$GPRMC,144946.00,A,5203.73086,N,00422.52053,E,50.871,215.12,120308,,,A*59
+$GPRMC,144947.00,A,5203.71918,N,00422.50728,E,51.402,216.38,120308,,,A*5F
+$GPRMC,144948.00,A,5203.70767,N,00422.49314,E,52.122,216.30,120308,,,A*58
+$GPRMC,144949.00,A,5203.69576,N,00422.47965,E,51.983,215.38,120308,,,A*5A
+$GPRMC,144950.00,A,5203.68356,N,00422.46668,E,53.011,215.44,120308,,,A*5F
+$GPRMC,144951.00,A,5203.67153,N,00422.45312,E,52.435,215.80,120308,,,A*56
+$GPRMC,144952.00,A,5203.65965,N,00422.43925,E,52.396,215.27,120308,,,A*51
+$GPRMC,144953.00,A,5203.64786,N,00422.42550,E,52.336,215.25,120308,,,A*55
+$GPRMC,144954.00,A,5203.63613,N,00422.41135,E,52.545,215.55,120308,,,A*59
+$GPRMC,144955.00,A,5203.62431,N,00422.39714,E,53.092,215.57,120308,,,A*5D
+$GPRMC,144956.00,A,5203.61219,N,00422.38315,E,53.468,215.41,120308,,,A*53
+$GPRMC,144957.00,A,5203.60016,N,00422.36940,E,52.883,215.54,120308,,,A*56
+$GPRMC,144958.00,A,5203.58826,N,00422.35547,E,52.631,215.76,120308,,,A*56
+$GPRMC,144959.00,A,5203.57650,N,00422.34171,E,51.749,215.77,120308,,,A*5B
+$GPRMC,145000.00,A,5203.56490,N,00422.32821,E,50.962,215.39,120308,,,A*56
+$GPRMC,145001.00,A,5203.55320,N,00422.31506,E,51.154,214.19,120308,,,A*5C
+$GPRMC,145002.00,A,5203.54134,N,00422.30214,E,51.434,213.73,120308,,,A*54
+$GPRMC,145003.00,A,5203.52948,N,00422.28911,E,51.732,214.13,120308,,,A*53
+$GPRMC,145004.00,A,5203.51769,N,00422.27593,E,51.313,214.89,120308,,,A*57
+$GPRMC,145005.00,A,5203.50609,N,00422.26260,E,50.954,215.59,120308,,,A*5E
+$GPRMC,145006.00,A,5203.49459,N,00422.24897,E,51.464,216.14,120308,,,A*57
+$GPRMC,145007.00,A,5203.48293,N,00422.23507,E,52.612,216.28,120308,,,A*5B
+$GPRMC,145008.00,A,5203.47103,N,00422.22088,E,53.655,216.42,120308,,,A*5C
+$GPRMC,145009.00,A,5203.45890,N,00422.20628,E,54.823,216.57,120308,,,A*5E
+$GPRMC,145010.00,A,5203.44666,N,00422.19148,E,54.884,216.63,120308,,,A*51
+$GPRMC,145011.00,A,5203.43441,N,00422.17659,E,55.531,216.82,120308,,,A*54
+$GPRMC,145012.00,A,5203.42199,N,00422.16139,E,56.453,217.03,120308,,,A*58
+$GPRMC,145013.00,A,5203.40945,N,00422.14598,E,56.841,217.22,120308,,,A*53
+$GPRMC,145014.00,A,5203.39696,N,00422.13027,E,57.051,217.87,120308,,,A*5A
+$GPRMC,145015.00,A,5203.38457,N,00422.11460,E,56.685,217.95,120308,,,A*5D
+$GPRMC,145016.00,A,5203.37230,N,00422.09894,E,56.232,217.71,120308,,,A*5A
+$GPRMC,145017.00,A,5203.35987,N,00422.08270,E,57.982,218.71,120308,,,A*51
+$GPRMC,145018.00,A,5203.34758,N,00422.06615,E,58.089,219.44,120308,,,A*50
+$GPRMC,145019.00,A,5203.33526,N,00422.04899,E,58.906,221.14,120308,,,A*55
+$GPRMC,145020.00,A,5203.32304,N,00422.03128,E,59.599,222.41,120308,,,A*54
+$GPRMC,145021.00,A,5203.31098,N,00422.01294,E,60.017,223.98,120308,,,A*5A
+$GPRMC,145022.00,A,5203.29924,N,00421.99406,E,60.620,225.77,120308,,,A*54
+$GPRMC,145023.00,A,5203.28779,N,00421.97444,E,60.638,227.70,120308,,,A*56
+$GPRMC,145024.00,A,5203.27675,N,00421.95427,E,59.621,229.09,120308,,,A*56
+$GPRMC,145025.00,A,5203.26603,N,00421.93424,E,59.519,229.17,120308,,,A*55
+$GPRMC,145026.00,A,5203.25524,N,00421.91388,E,60.524,229.52,120308,,,A*55
+$GPRMC,145027.00,A,5203.24429,N,00421.89289,E,61.894,229.47,120308,,,A*53
+$GPRMC,145028.00,A,5203.23300,N,00421.87200,E,61.820,227.58,120308,,,A*57
+$GPRMC,145029.00,A,5203.22119,N,00421.85197,E,61.347,224.92,120308,,,A*5D
+$GPRMC,145030.00,A,5203.20874,N,00421.83311,E,61.637,221.95,120308,,,A*5F
+$GPRMC,145031.00,A,5203.19583,N,00421.81548,E,60.754,218.85,120308,,,A*57
+$GPRMC,145032.00,A,5203.18250,N,00421.79917,E,60.152,215.57,120308,,,A*5F
+$GPRMC,145033.00,A,5203.16860,N,00421.78365,E,60.387,213.37,120308,,,A*5D
+$GPRMC,145034.00,A,5203.15459,N,00421.76912,E,59.326,211.55,120308,,,A*5C
+$GPRMC,145035.00,A,5203.14052,N,00421.75551,E,58.456,210.22,120308,,,A*5B
+$GPRMC,145036.00,A,5203.12656,N,00421.74219,E,57.578,210.71,120308,,,A*52
+$GPRMC,145037.00,A,5203.11291,N,00421.72900,E,56.818,211.19,120308,,,A*5F
+$GPRMC,145038.00,A,5203.09946,N,00421.71579,E,56.433,211.41,120308,,,A*51
+$GPRMC,145039.00,A,5203.08617,N,00421.70261,E,55.881,211.72,120308,,,A*53
+$GPRMC,145040.00,A,5203.07313,N,00421.68947,E,54.825,212.26,120308,,,A*58
+$GPRMC,145041.00,A,5203.06043,N,00421.67637,E,53.822,212.80,120308,,,A*55
+$GPRMC,145042.00,A,5203.04789,N,00421.66309,E,53.887,213.21,120308,,,A*59
+$GPRMC,145043.00,A,5203.03531,N,00421.64942,E,54.744,214.04,120308,,,A*5E
+$GPRMC,145044.00,A,5203.02271,N,00421.63534,E,55.091,214.69,120308,,,A*54
+$GPRMC,145045.00,A,5203.01011,N,00421.62071,E,55.664,215.88,120308,,,A*55
+$GPRMC,145046.00,A,5202.99765,N,00421.60514,E,56.129,217.37,120308,,,A*5D
+$GPRMC,145047.00,A,5202.98527,N,00421.58930,E,56.247,218.08,120308,,,A*50
+$GPRMC,145048.00,A,5202.97300,N,00421.57306,E,57.108,219.25,120308,,,A*54
+$GPRMC,145049.00,A,5202.96074,N,00421.55608,E,58.151,221.41,120308,,,A*57
+$GPRMC,145050.00,A,5202.94872,N,00421.53824,E,58.851,223.43,120308,,,A*5C
+$GPRMC,145051.00,A,5202.93686,N,00421.51961,E,59.589,224.69,120308,,,A*5B
+$GPRMC,145052.00,A,5202.92522,N,00421.50080,E,59.074,224.99,120308,,,A*5B
+$GPRMC,145053.00,A,5202.91397,N,00421.48237,E,57.576,225.51,120308,,,A*5A
+$GPRMC,145054.00,A,5202.90317,N,00421.46400,E,56.539,227.29,120308,,,A*5F
+$GPRMC,145055.00,A,5202.89292,N,00421.44518,E,55.827,229.59,120308,,,A*58
+$GPRMC,145056.00,A,5202.88332,N,00421.42588,E,54.446,231.53,120308,,,A*57
+$GPRMC,145057.00,A,5202.87448,N,00421.40643,E,53.124,234.28,120308,,,A*5A
+$GPRMC,145058.00,A,5202.86638,N,00421.38670,E,52.031,236.85,120308,,,A*5F
+$GPRMC,145059.00,A,5202.85897,N,00421.36694,E,50.755,239.42,120308,,,A*51
+$GPRMC,145100.00,A,5202.85215,N,00421.34724,E,49.676,241.47,120308,,,A*56
+$GPRMC,145101.00,A,5202.84607,N,00421.32719,E,48.910,244.28,120308,,,A*5B
+$GPRMC,145102.00,A,5202.84052,N,00421.30699,E,48.917,246.60,120308,,,A*5C
+$GPRMC,145103.00,A,5202.83582,N,00421.28664,E,48.342,249.84,120308,,,A*56
+$GPRMC,145104.00,A,5202.83168,N,00421.26602,E,47.920,251.86,120308,,,A*55
+$GPRMC,145105.00,A,5202.82808,N,00421.24534,E,47.163,253.81,120308,,,A*54
+$GPRMC,145106.00,A,5202.82469,N,00421.22462,E,47.514,255.82,120308,,,A*59
+$GPRMC,145107.00,A,5202.82229,N,00421.20312,E,49.011,258.89,120308,,,A*50
+$GPRMC,145108.00,A,5202.82019,N,00421.18067,E,49.892,260.07,120308,,,A*5A
+$GPRMC,145109.00,A,5202.81797,N,00421.15811,E,50.375,260.45,120308,,,A*51
+$GPRMC,145110.00,A,5202.81570,N,00421.13546,E,50.820,260.42,120308,,,A*57
+$GPRMC,145111.00,A,5202.81337,N,00421.11266,E,51.551,259.43,120308,,,A*55
+$GPRMC,145112.00,A,5202.81055,N,00421.08952,E,52.667,256.94,120308,,,A*55
+$GPRMC,145113.00,A,5202.80678,N,00421.06595,E,54.199,254.83,120308,,,A*51
+$GPRMC,145114.00,A,5202.80243,N,00421.04243,E,54.886,251.46,120308,,,A*5F
+$GPRMC,145115.00,A,5202.79705,N,00421.01943,E,54.451,246.80,120308,,,A*5B
+$GPRMC,145116.00,A,5202.79056,N,00420.99764,E,54.888,242.61,120308,,,A*51
+$GPRMC,145117.00,A,5202.78278,N,00420.97651,E,54.861,237.74,120308,,,A*57
+$GPRMC,145118.00,A,5202.77390,N,00420.95625,E,54.796,232.84,120308,,,A*5C
+$GPRMC,145119.00,A,5202.76394,N,00420.93730,E,54.930,228.38,120308,,,A*55
+$GPRMC,145120.00,A,5202.75300,N,00420.91933,E,56.035,224.40,120308,,,A*53
+$GPRMC,145121.00,A,5202.74128,N,00420.90356,E,55.587,218.14,120308,,,A*52
+$GPRMC,145122.00,A,5202.72810,N,00420.88886,E,56.442,213.40,120308,,,A*5B
+$GPRMC,145123.00,A,5202.71449,N,00420.87582,E,55.720,210.43,120308,,,A*5B
+$GPRMC,145124.00,A,5202.70013,N,00420.86466,E,56.934,205.69,120308,,,A*58
+$GPRMC,145125.00,A,5202.68535,N,00420.85550,E,56.139,201.94,120308,,,A*55
+$GPRMC,145126.00,A,5202.67072,N,00420.84865,E,54.563,196.26,120308,,,A*58
+$GPRMC,145127.00,A,5202.65558,N,00420.84471,E,53.898,190.32,120308,,,A*52
+$GPRMC,145128.00,A,5202.64102,N,00420.84196,E,52.423,185.88,120308,,,A*53
+$GPRMC,145129.00,A,5202.62605,N,00420.84093,E,54.043,181.57,120308,,,A*52
+$GPRMC,145130.00,A,5202.61117,N,00420.84127,E,53.118,179.56,120308,,,A*5D
+$GPRMC,145131.00,A,5202.59627,N,00420.84323,E,53.472,175.40,120308,,,A*57
+$GPRMC,145132.00,A,5202.58083,N,00420.84659,E,55.549,172.96,120308,,,A*56
+$GPRMC,145133.00,A,5202.56528,N,00420.85062,E,56.161,171.55,120308,,,A*53
+$GPRMC,145134.00,A,5202.54985,N,00420.85712,E,56.501,167.68,120308,,,A*56
+$GPRMC,145135.00,A,5202.53470,N,00420.87139,E,57.766,157.48,120308,,,A*59
+$GPRMC,145136.00,A,5202.52050,N,00420.88552,E,57.931,151.64,120308,,,A*5F
+$GPRMC,145137.00,A,5202.50688,N,00420.90349,E,60.244,145.49,120308,,,A*5D
+$GPRMC,145138.00,A,5202.49388,N,00420.92154,E,60.740,143.19,120308,,,A*51
+$GPRMC,145139.00,A,5202.48178,N,00420.94209,E,62.052,140.84,120308,,,A*50
+$GPRMC,145140.00,A,5202.46840,N,00420.96073,E,62.536,140.01,120308,,,A*55
+$GPRMC,145141.00,A,5202.45513,N,00420.97932,E,61.950,140.06,120308,,,A*59
+$GPRMC,145142.00,A,5202.44235,N,00420.99817,E,61.556,141.22,120308,,,A*5D
+$GPRMC,145143.00,A,5202.42876,N,00421.01544,E,61.525,143.41,120308,,,A*5F
+$GPRMC,145144.00,A,5202.41473,N,00421.03123,E,62.058,145.69,120308,,,A*55
+$GPRMC,145145.00,A,5202.40047,N,00421.04643,E,61.793,147.66,120308,,,A*5E
+$GPRMC,145146.00,A,5202.38550,N,00421.06122,E,63.401,149.04,120308,,,A*53
+$GPRMC,145147.00,A,5202.37018,N,00421.07491,E,62.279,151.64,120308,,,A*5F
+$GPRMC,145148.00,A,5202.35446,N,00421.08657,E,62.116,155.68,120308,,,A*58
+$GPRMC,145149.00,A,5202.33800,N,00421.09685,E,63.151,157.86,120308,,,A*5F
+$GPRMC,145150.00,A,5202.32148,N,00421.10616,E,62.973,160.32,120308,,,A*53
+$GPRMC,145151.00,A,5202.30490,N,00421.11507,E,62.361,162.97,120308,,,A*56
+$GPRMC,145152.00,A,5202.28828,N,00421.12229,E,62.232,165.80,120308,,,A*5D
+$GPRMC,145153.00,A,5202.27156,N,00421.12842,E,61.676,167.53,120308,,,A*5F
+$GPRMC,145154.00,A,5202.25469,N,00421.13344,E,61.472,169.55,120308,,,A*51
+$GPRMC,145155.00,A,5202.23782,N,00421.13819,E,61.136,169.91,120308,,,A*5E
+$GPRMC,145156.00,A,5202.22115,N,00421.14260,E,60.347,170.57,120308,,,A*50
+$GPRMC,145157.00,A,5202.20444,N,00421.14706,E,60.720,170.28,120308,,,A*5A
+$GPRMC,145158.00,A,5202.18766,N,00421.15152,E,61.278,170.21,120308,,,A*5B
+$GPRMC,145159.00,A,5202.17071,N,00421.15620,E,62.366,169.87,120308,,,A*5F
+$GPRMC,145200.00,A,5202.15364,N,00421.16086,E,62.852,170.02,120308,,,A*55
+$GPRMC,145201.00,A,5202.13651,N,00421.16545,E,62.934,170.08,120308,,,A*50
+$GPRMC,145202.00,A,5202.11931,N,00421.17010,E,63.300,170.12,120308,,,A*5B
+$GPRMC,145203.00,A,5202.10223,N,00421.17480,E,63.289,170.12,120308,,,A*5E
+$GPRMC,145204.00,A,5202.08485,N,00421.17970,E,63.797,170.15,120308,,,A*55
+$GPRMC,145205.00,A,5202.06733,N,00421.18469,E,63.854,169.93,120308,,,A*58
+$GPRMC,145206.00,A,5202.05007,N,00421.18946,E,62.915,170.12,120308,,,A*5C
+$GPRMC,145207.00,A,5202.03274,N,00421.19496,E,63.224,168.52,120308,,,A*59
+$GPRMC,145208.00,A,5202.01563,N,00421.20116,E,62.080,166.98,120308,,,A*57
+$GPRMC,145209.00,A,5201.99934,N,00421.20722,E,60.111,166.08,120308,,,A*59
+$GPRMC,145210.00,A,5201.98347,N,00421.21388,E,59.990,163.91,120308,,,A*55
+$GPRMC,145211.00,A,5201.96792,N,00421.22164,E,58.382,161.97,120308,,,A*59
+$GPRMC,145212.00,A,5201.95271,N,00421.23010,E,57.486,160.21,120308,,,A*52
+$GPRMC,145213.00,A,5201.93783,N,00421.23928,E,56.599,158.51,120308,,,A*5D
+$GPRMC,145214.00,A,5201.92339,N,00421.24890,E,55.668,157.12,120308,,,A*5D
+$GPRMC,145215.00,A,5201.90954,N,00421.25883,E,53.199,155.67,120308,,,A*53
+$GPRMC,145216.00,A,5201.89679,N,00421.26890,E,49.960,153.75,120308,,,A*59
+$GPRMC,145217.00,A,5201.88478,N,00421.27923,E,48.334,152.09,120308,,,A*52
+$GPRMC,145218.00,A,5201.87366,N,00421.28934,E,45.449,150.88,120308,,,A*58
+$GPRMC,145219.00,A,5201.86335,N,00421.29911,E,41.192,149.88,120308,,,A*57
+$GPRMC,145220.00,A,5201.85425,N,00421.30837,E,36.892,148.58,120308,,,A*50
+$GPRMC,145221.00,A,5201.84643,N,00421.31640,E,32.177,147.47,120308,,,A*5A
+$GPRMC,145222.00,A,5201.83973,N,00421.32377,E,28.251,147.06,120308,,,A*59
+$GPRMC,145223.00,A,5201.83402,N,00421.33016,E,24.236,145.93,120308,,,A*55
+$GPRMC,145224.00,A,5201.82950,N,00421.33588,E,20.590,145.21,120308,,,A*5D
+$GPRMC,145225.00,A,5201.82504,N,00421.34101,E,20.134,145.45,120308,,,A*5B
+$GPRMC,145226.00,A,5201.82068,N,00421.34603,E,19.648,145.27,120308,,,A*50
+$GPRMC,145227.00,A,5201.81626,N,00421.35122,E,19.464,143.48,120308,,,A*58
+$GPRMC,145228.00,A,5201.81207,N,00421.35647,E,19.173,143.97,120308,,,A*55
+$GPRMC,145229.00,A,5201.80809,N,00421.36199,E,19.093,139.23,120308,,,A*5B
+$GPRMC,145230.00,A,5201.80395,N,00421.36853,E,21.406,136.08,120308,,,A*57
+$GPRMC,145231.00,A,5201.79956,N,00421.37632,E,23.646,131.99,120308,,,A*56
+$GPRMC,145232.00,A,5201.79431,N,00421.38318,E,23.865,140.41,120308,,,A*57
+$GPRMC,145233.00,A,5201.78905,N,00421.39084,E,25.208,142.52,120308,,,A*5D
+$GPRMC,145234.00,A,5201.78349,N,00421.39771,E,26.052,143.28,120308,,,A*57
+$GPRMC,145235.00,A,5201.77778,N,00421.40385,E,25.411,143.70,120308,,,A*53
+$GPRMC,145236.00,A,5201.77194,N,00421.41022,E,24.753,143.05,120308,,,A*5D
+$GPRMC,145237.00,A,5201.76657,N,00421.41595,E,23.638,143.44,120308,,,A*52
+$GPRMC,145238.00,A,5201.76159,N,00421.42133,E,21.879,143.92,120308,,,A*5D
+$GPRMC,145239.00,A,5201.75703,N,00421.42639,E,20.254,144.61,120308,,,A*54
+$GPRMC,145240.00,A,5201.75277,N,00421.43104,E,18.185,144.37,120308,,,A*53
+$GPRMC,145241.00,A,5201.74933,N,00421.43505,E,15.073,144.40,120308,,,A*58
+$GPRMC,145242.00,A,5201.74614,N,00421.43848,E,13.981,144.40,120308,,,A*57
+$GPRMC,145243.00,A,5201.74319,N,00421.44164,E,13.502,144.13,120308,,,A*5F
+$GPRMC,145244.00,A,5201.74031,N,00421.44491,E,13.109,144.91,120308,,,A*5B
+$GPRMC,145245.00,A,5201.73727,N,00421.44829,E,14.295,143.30,120308,,,A*5F
+$GPRMC,145246.00,A,5201.73388,N,00421.45221,E,16.166,143.78,120308,,,A*5F
+$GPRMC,145247.00,A,5201.73009,N,00421.45656,E,18.024,144.35,120308,,,A*57
+$GPRMC,145248.00,A,5201.72582,N,00421.46149,E,20.155,144.11,120308,,,A*5F
+$GPRMC,145249.00,A,5201.72095,N,00421.46696,E,22.579,144.02,120308,,,A*52
+$GPRMC,145250.00,A,5201.71548,N,00421.47307,E,24.755,144.37,120308,,,A*5C
+$GPRMC,145251.00,A,5201.70947,N,00421.47994,E,27.553,144.41,120308,,,A*59
+$GPRMC,145252.00,A,5201.70285,N,00421.48740,E,29.934,144.56,120308,,,A*52
+$GPRMC,145253.00,A,5201.69574,N,00421.49541,E,32.525,144.50,120308,,,A*50
+$GPRMC,145254.00,A,5201.68822,N,00421.50420,E,33.819,143.93,120308,,,A*5D
+$GPRMC,145255.00,A,5201.68040,N,00421.51330,E,34.845,144.22,120308,,,A*54
+$GPRMC,145256.00,A,5201.67231,N,00421.52275,E,35.613,144.38,120308,,,A*58
+$GPRMC,145257.00,A,5201.66415,N,00421.53218,E,35.857,144.56,120308,,,A*54
+$GPRMC,145258.00,A,5201.65580,N,00421.54166,E,36.579,144.29,120308,,,A*52
+$GPRMC,145259.00,A,5201.64738,N,00421.55135,E,37.748,144.35,120308,,,A*58
+$GPRMC,145300.00,A,5201.63850,N,00421.56155,E,39.915,144.34,120308,,,A*5F
+$GPRMC,145301.00,A,5201.62923,N,00421.57222,E,41.776,144.00,120308,,,A*5B
+$GPRMC,145302.00,A,5201.61959,N,00421.58340,E,43.075,144.24,120308,,,A*5C
+$GPRMC,145303.00,A,5201.60971,N,00421.59467,E,43.264,144.50,120308,,,A*54
+$GPRMC,145304.00,A,5201.59980,N,00421.60605,E,43.305,144.66,120308,,,A*58
+$GPRMC,145305.00,A,5201.58988,N,00421.61744,E,43.862,144.63,120308,,,A*5A
+$GPRMC,145306.00,A,5201.57997,N,00421.62873,E,43.642,145.14,120308,,,A*5D
+$GPRMC,145307.00,A,5201.56973,N,00421.64014,E,44.248,145.17,120308,,,A*52
+$GPRMC,145308.00,A,5201.55953,N,00421.65174,E,43.940,145.13,120308,,,A*5A
+$GPRMC,145309.00,A,5201.54957,N,00421.66395,E,44.696,144.13,120308,,,A*52
+$GPRMC,145310.00,A,5201.53957,N,00421.67581,E,44.460,144.59,120308,,,A*5A
+$GPRMC,145311.00,A,5201.52948,N,00421.68728,E,43.585,144.57,120308,,,A*59
+$GPRMC,145312.00,A,5201.51966,N,00421.69837,E,42.616,144.30,120308,,,A*5C
+$GPRMC,145313.00,A,5201.51050,N,00421.70892,E,38.792,144.27,120308,,,A*50
+$GPRMC,145314.00,A,5201.50248,N,00421.71833,E,34.458,144.12,120308,,,A*58
+$GPRMC,145315.00,A,5201.49532,N,00421.72663,E,30.377,144.05,120308,,,A*5B
+$GPRMC,145316.00,A,5201.48908,N,00421.73400,E,27.005,144.13,120308,,,A*5D
+$GPRMC,145317.00,A,5201.48336,N,00421.74070,E,25.448,144.05,120308,,,A*57
+$GPRMC,145318.00,A,5201.47806,N,00421.74725,E,24.289,144.18,120308,,,A*5E
+$GPRMC,145319.00,A,5201.47302,N,00421.75338,E,22.235,144.00,120308,,,A*51
+$GPRMC,145320.00,A,5201.46859,N,00421.75861,E,18.271,144.83,120308,,,A*5A
+$GPRMC,145321.00,A,5201.46519,N,00421.76291,E,15.022,142.33,120308,,,A*50
+$GPRMC,145322.00,A,5201.46234,N,00421.76651,E,12.995,145.94,120308,,,A*5B
+$GPRMC,145323.00,A,5201.45960,N,00421.76954,E,12.322,147.45,120308,,,A*51
+$GPRMC,145324.00,A,5201.45717,N,00421.77241,E,10.561,144.18,120308,,,A*5E
+$GPRMC,145325.00,A,5201.45507,N,00421.77522,E,9.847,143.05,120308,,,A*64
+$GPRMC,145326.00,A,5201.45314,N,00421.77781,E,9.296,142.18,120308,,,A*63
+$GPRMC,145327.00,A,5201.45112,N,00421.78014,E,9.160,145.92,120308,,,A*6D
+$GPRMC,145328.00,A,5201.44905,N,00421.78272,E,10.337,145.12,120308,,,A*5F
+$GPRMC,145329.00,A,5201.44640,N,00421.78553,E,12.752,146.97,120308,,,A*5F
+$GPRMC,145330.00,A,5201.44321,N,00421.78948,E,16.351,145.33,120308,,,A*5D
+$GPRMC,145331.00,A,5201.43925,N,00421.79452,E,19.559,144.61,120308,,,A*55
+$GPRMC,145332.00,A,5201.43470,N,00421.80003,E,21.114,144.66,120308,,,A*5C
+$GPRMC,145333.00,A,5201.42998,N,00421.80589,E,21.454,143.36,120308,,,A*53
+$GPRMC,145334.00,A,5201.42485,N,00421.81179,E,23.382,144.34,120308,,,A*54
+$GPRMC,145335.00,A,5201.41956,N,00421.81847,E,24.457,144.17,120308,,,A*58
+$GPRMC,145336.00,A,5201.41420,N,00421.82552,E,24.861,143.11,120308,,,A*55
+$GPRMC,145337.00,A,5201.40846,N,00421.83253,E,26.264,144.29,120308,,,A*5F
+$GPRMC,145338.00,A,5201.40219,N,00421.83998,E,28.999,144.46,120308,,,A*52
+$GPRMC,145339.00,A,5201.39545,N,00421.84790,E,30.452,144.22,120308,,,A*53
+$GPRMC,145340.00,A,5201.38854,N,00421.85577,E,29.902,145.17,120308,,,A*5C
+$GPRMC,145341.00,A,5201.38172,N,00421.86388,E,30.520,142.88,120308,,,A*50
+$GPRMC,145342.00,A,5201.37481,N,00421.87217,E,31.045,143.75,120308,,,A*57
+$GPRMC,145343.00,A,5201.36779,N,00421.88080,E,31.920,144.04,120308,,,A*5B
+$GPRMC,145344.00,A,5201.36026,N,00421.88931,E,33.482,143.96,120308,,,A*59
+$GPRMC,145345.00,A,5201.35237,N,00421.89836,E,35.431,145.13,120308,,,A*5B
+$GPRMC,145346.00,A,5201.34402,N,00421.90787,E,37.298,145.27,120308,,,A*54
+$GPRMC,145347.00,A,5201.33549,N,00421.91806,E,38.307,144.58,120308,,,A*5A
+$GPRMC,145348.00,A,5201.32672,N,00421.92808,E,38.275,144.59,120308,,,A*57
+$GPRMC,145349.00,A,5201.31799,N,00421.93812,E,38.309,144.43,120308,,,A*5A
+$GPRMC,145350.00,A,5201.30930,N,00421.94841,E,38.632,144.17,120308,,,A*53
+$GPRMC,145351.00,A,5201.30054,N,00421.95869,E,38.822,144.06,120308,,,A*5D
+$GPRMC,145352.00,A,5201.29196,N,00421.96879,E,37.578,144.08,120308,,,A*58
+$GPRMC,145353.00,A,5201.28370,N,00421.97845,E,35.693,144.45,120308,,,A*51
+$GPRMC,145354.00,A,5201.27575,N,00421.98750,E,34.104,144.26,120308,,,A*53
+$GPRMC,145355.00,A,5201.26813,N,00421.99600,E,32.633,143.99,120308,,,A*5D
+$GPRMC,145356.00,A,5201.26082,N,00422.00433,E,31.851,143.91,120308,,,A*5E
+$GPRMC,145357.00,A,5201.25369,N,00422.01258,E,31.147,144.14,120308,,,A*54
+$GPRMC,145358.00,A,5201.24666,N,00422.02066,E,31.036,144.55,120308,,,A*5E
+$GPRMC,145359.00,A,5201.23942,N,00422.02902,E,32.989,145.17,120308,,,A*53
+$GPRMC,145400.00,A,5201.23160,N,00422.03799,E,35.091,144.62,120308,,,A*59
+$GPRMC,145401.00,A,5201.22346,N,00422.04776,E,37.416,143.96,120308,,,A*5C
+$GPRMC,145402.00,A,5201.21502,N,00422.05784,E,37.982,144.07,120308,,,A*59
+$GPRMC,145403.00,A,5201.20657,N,00422.06778,E,37.349,143.96,120308,,,A*58
+$GPRMC,145404.00,A,5201.19825,N,00422.07746,E,36.608,144.02,120308,,,A*59
+$GPRMC,145405.00,A,5201.19006,N,00422.08699,E,36.353,144.27,120308,,,A*51
+$GPRMC,145406.00,A,5201.18190,N,00422.09637,E,35.896,144.70,120308,,,A*5B
+$GPRMC,145407.00,A,5201.17390,N,00422.10558,E,35.128,144.38,120308,,,A*55
+$GPRMC,145408.00,A,5201.16608,N,00422.11464,E,34.484,144.30,120308,,,A*5A
+$GPRMC,145409.00,A,5201.15832,N,00422.12354,E,34.364,144.70,120308,,,A*55
+$GPRMC,145410.00,A,5201.15060,N,00422.13236,E,34.131,144.75,120308,,,A*51
+$GPRMC,145411.00,A,5201.14298,N,00422.14111,E,33.575,144.10,120308,,,A*55
+$GPRMC,145412.00,A,5201.13555,N,00422.14977,E,32.798,144.22,120308,,,A*5E
+$GPRMC,145413.00,A,5201.12829,N,00422.15827,E,32.031,144.15,120308,,,A*5D
+$GPRMC,145414.00,A,5201.12129,N,00422.16650,E,30.621,144.09,120308,,,A*56
+$GPRMC,145415.00,A,5201.11485,N,00422.17404,E,27.096,144.23,120308,,,A*51
+$GPRMC,145416.00,A,5201.10909,N,00422.18067,E,24.315,144.36,120308,,,A*5B
+$GPRMC,145417.00,A,5201.10391,N,00422.18652,E,21.457,144.47,120308,,,A*53
+$GPRMC,145418.00,A,5201.09923,N,00422.19177,E,19.679,144.03,120308,,,A*53
+$GPRMC,145419.00,A,5201.09515,N,00422.19653,E,17.079,144.66,120308,,,A*51
+$GPRMC,145420.00,A,5201.09164,N,00422.20042,E,14.287,145.71,120308,,,A*52
+$GPRMC,145421.00,A,5201.08889,N,00422.20357,E,10.802,146.22,120308,,,A*59
+$GPRMC,145422.00,A,5201.08707,N,00422.20568,E,6.580,145.96,120308,,,A*65
+$GPRMC,145423.00,A,5201.08605,N,00422.20668,E,3.619,147.29,120308,,,A*64
+$GPRMC,145424.00,A,5201.08564,N,00422.20731,E,2.013,153.46,120308,,,A*6B
+$GPRMC,145425.00,A,5201.08543,N,00422.20758,E,1.185,152.82,120308,,,A*64
+$GPRMC,145426.00,A,5201.08536,N,00422.20769,E,0.798,152.34,120308,,,A*61
+$GPRMC,145427.00,A,5201.08532,N,00422.20761,E,0.493,151.69,120308,,,A*6F
+$GPRMC,145428.00,A,5201.08527,N,00422.20733,E,0.149,151.61,120308,,,A*69
+$GPRMC,145429.00,A,5201.08530,N,00422.20714,E,0.114,151.59,120308,,,A*68
+$GPRMC,145430.00,A,5201.08536,N,00422.20697,E,0.011,,120308,,,A*7F
+$GPRMC,145431.00,A,5201.08541,N,00422.20678,E,0.070,151.98,120308,,,A*62
+$GPRMC,145432.00,A,5201.08544,N,00422.20649,E,0.031,153.53,120308,,,A*66
+$GPRMC,145433.00,A,5201.08546,N,00422.20619,E,0.172,156.60,120308,,,A*63
+$GPRMC,145434.00,A,5201.08551,N,00422.20586,E,0.012,,120308,,,A*7A
+$GPRMC,145435.00,A,5201.08553,N,00422.20555,E,0.031,158.03,120308,,,A*67
+$GPRMC,145436.00,A,5201.08541,N,00422.20540,E,1.033,157.31,120308,,,A*6E
+$GPRMC,145437.00,A,5201.08476,N,00422.20583,E,4.200,147.67,120308,,,A*60
+$GPRMC,145438.00,A,5201.08386,N,00422.20719,E,4.971,138.95,120308,,,A*6E
+$GPRMC,145439.00,A,5201.08288,N,00422.20888,E,5.402,134.80,120308,,,A*67
+$GPRMC,145440.00,A,5201.08168,N,00422.21060,E,6.481,142.67,120308,,,A*6B
+$GPRMC,145441.00,A,5201.07990,N,00422.21262,E,9.099,145.15,120308,,,A*6A
+$GPRMC,145442.00,A,5201.07765,N,00422.21534,E,11.070,144.07,120308,,,A*55
+$GPRMC,145443.00,A,5201.07510,N,00422.21840,E,11.832,145.02,120308,,,A*50
+$GPRMC,145444.00,A,5201.07258,N,00422.22149,E,11.078,144.67,120308,,,A*5B
+$GPRMC,145445.00,A,5201.07029,N,00422.22446,E,10.211,145.83,120308,,,A*53
+$GPRMC,145446.00,A,5201.06823,N,00422.22712,E,9.117,144.19,120308,,,A*6E
+$GPRMC,145447.00,A,5201.06609,N,00422.22940,E,9.446,145.81,120308,,,A*61
+$GPRMC,145448.00,A,5201.06404,N,00422.23217,E,9.679,144.72,120308,,,A*6A
+$GPRMC,145449.00,A,5201.06210,N,00422.23478,E,8.680,144.61,120308,,,A*62
+$GPRMC,145450.00,A,5201.06063,N,00422.23661,E,5.074,143.31,120308,,,A*64
+$GPRMC,145451.00,A,5201.05976,N,00422.23761,E,3.225,147.05,120308,,,A*69
+$GPRMC,145452.00,A,5201.05927,N,00422.23870,E,2.929,137.44,120308,,,A*65
+$GPRMC,145453.00,A,5201.05901,N,00422.23936,E,1.531,137.85,120308,,,A*68
+$GPRMC,145454.00,A,5201.05877,N,00422.23963,E,0.728,138.11,120308,,,A*66
+$GPRMC,145455.00,A,5201.05868,N,00422.23974,E,0.184,136.58,120308,,,A*6C
+$GPRMC,145456.00,A,5201.05866,N,00422.23971,E,0.035,141.14,120308,,,A*67
+$GPRMC,145457.00,A,5201.05871,N,00422.23982,E,0.272,140.20,120308,,,A*6B
+$GPRMC,145458.00,A,5201.05847,N,00422.23998,E,1.707,140.45,120308,,,A*6F
+$GPRMC,145459.00,A,5201.05807,N,00422.24065,E,2.403,138.48,120308,,,A*60
+$GPRMC,145500.00,A,5201.05765,N,00422.24133,E,2.147,144.44,120308,,,A*66
+$GPRMC,145501.00,A,5201.05714,N,00422.24164,E,1.995,140.79,120308,,,A*6D
+$GPRMC,145502.00,A,5201.05670,N,00422.24229,E,2.325,142.61,120308,,,A*6E
+$GPRMC,145503.00,A,5201.05614,N,00422.24288,E,2.432,157.17,120308,,,A*62
+$GPRMC,145504.00,A,5201.05561,N,00422.24324,E,1.876,156.99,120308,,,A*6B
+$GPRMC,145505.00,A,5201.05513,N,00422.24328,E,1.251,158.16,120308,,,A*65
+$GPRMC,145506.00,A,5201.05494,N,00422.24338,E,0.833,160.73,120308,,,A*6E
+$GPRMC,145507.00,A,5201.05492,N,00422.24346,E,0.103,157.94,120308,,,A*67
+$GPRMC,145508.00,A,5201.05484,N,00422.24318,E,0.652,162.58,120308,,,A*61
+$GPRMC,145509.00,A,5201.05472,N,00422.24289,E,0.731,167.22,120308,,,A*6C
+$GPRMC,145510.00,A,5201.05464,N,00422.24274,E,0.335,171.51,120308,,,A*62
+$GPRMC,145511.00,A,5201.05480,N,00422.24322,E,0.275,171.20,120308,,,A*68
+$GPRMC,145512.00,A,5201.05511,N,00422.24460,E,1.511,169.32,120308,,,A*6D
+$GPRMC,145513.00,A,5201.05455,N,00422.24511,E,3.069,138.99,120308,,,A*67
+$GPRMC,145514.00,A,5201.05341,N,00422.24601,E,5.870,148.92,120308,,,A*6A
+$GPRMC,145515.00,A,5201.05149,N,00422.24762,E,9.397,145.63,120308,,,A*68
+$GPRMC,145516.00,A,5201.04888,N,00422.25076,E,13.573,147.12,120308,,,A*5E
+$GPRMC,145517.00,A,5201.04520,N,00422.25462,E,17.636,145.88,120308,,,A*56
+$GPRMC,145518.00,A,5201.04002,N,00422.25991,E,22.509,145.95,120308,,,A*58
+$GPRMC,145519.00,A,5201.03478,N,00422.26604,E,23.523,145.51,120308,,,A*56
+$GPRMC,145520.00,A,5201.02943,N,00422.27227,E,23.282,144.39,120308,,,A*5F
+$GPRMC,145521.00,A,5201.02402,N,00422.27874,E,24.561,144.16,120308,,,A*5A
+$GPRMC,145522.00,A,5201.01830,N,00422.28568,E,26.133,144.41,120308,,,A*5B
+$GPRMC,145523.00,A,5201.01236,N,00422.29312,E,27.161,143.92,120308,,,A*53
+$GPRMC,145524.00,A,5201.00613,N,00422.30072,E,28.626,144.21,120308,,,A*5F
+$GPRMC,145525.00,A,5200.99931,N,00422.30867,E,29.742,144.53,120308,,,A*5B
+$GPRMC,145526.00,A,5200.99223,N,00422.31655,E,31.078,145.33,120308,,,A*5E
+$GPRMC,145527.00,A,5200.98491,N,00422.32487,E,32.482,144.31,120308,,,A*5E
+$GPRMC,145528.00,A,5200.97757,N,00422.33397,E,33.296,144.19,120308,,,A*58
+$GPRMC,145529.00,A,5200.97006,N,00422.34340,E,34.075,143.72,120308,,,A*55
+$GPRMC,145530.00,A,5200.96210,N,00422.35286,E,35.678,144.09,120308,,,A*52
+$GPRMC,145531.00,A,5200.95371,N,00422.36264,E,37.407,144.15,120308,,,A*5C
+$GPRMC,145532.00,A,5200.94513,N,00422.37292,E,38.210,144.19,120308,,,A*57
+$GPRMC,145533.00,A,5200.93643,N,00422.38287,E,37.666,144.94,120308,,,A*53
+$GPRMC,145534.00,A,5200.92780,N,00422.39276,E,37.646,144.76,120308,,,A*5A
+$GPRMC,145535.00,A,5200.91917,N,00422.40240,E,37.109,145.24,120308,,,A*59
+$GPRMC,145536.00,A,5200.91072,N,00422.41218,E,37.073,144.66,120308,,,A*57
+$GPRMC,145537.00,A,5200.90187,N,00422.42127,E,37.471,145.37,120308,,,A*53
+$GPRMC,145538.00,A,5200.89322,N,00422.43114,E,38.134,144.88,120308,,,A*56
+$GPRMC,145539.00,A,5200.88452,N,00422.44113,E,38.052,144.75,120308,,,A*55
+$GPRMC,145540.00,A,5200.87599,N,00422.45074,E,36.315,144.70,120308,,,A*58
+$GPRMC,145541.00,A,5200.86819,N,00422.45952,E,31.583,144.30,120308,,,A*5A
+$GPRMC,145542.00,A,5200.86161,N,00422.46680,E,25.538,144.42,120308,,,A*5C
+$GPRMC,145543.00,A,5200.85610,N,00422.47267,E,21.904,145.77,120308,,,A*53
+$GPRMC,145544.00,A,5200.85113,N,00422.47796,E,20.915,145.68,120308,,,A*54
+$GPRMC,145545.00,A,5200.84661,N,00422.48359,E,20.443,144.24,120308,,,A*59
+$GPRMC,145546.00,A,5200.84207,N,00422.48886,E,20.040,144.43,120308,,,A*51
+$GPRMC,145547.00,A,5200.83760,N,00422.49405,E,19.693,144.21,120308,,,A*53
+$GPRMC,145548.00,A,5200.83309,N,00422.49946,E,20.734,143.70,120308,,,A*58
+$GPRMC,145549.00,A,5200.82831,N,00422.50527,E,22.117,143.92,120308,,,A*52
+$GPRMC,145550.00,A,5200.82318,N,00422.51142,E,23.637,143.80,120308,,,A*5B
+$GPRMC,145551.00,A,5200.81755,N,00422.51774,E,25.280,145.46,120308,,,A*55
+$GPRMC,145552.00,A,5200.81152,N,00422.52441,E,27.100,146.03,120308,,,A*5A
+$GPRMC,145553.00,A,5200.80519,N,00422.53188,E,29.242,145.41,120308,,,A*5E
+$GPRMC,145554.00,A,5200.79811,N,00422.53935,E,31.326,146.00,120308,,,A*58
+$GPRMC,145555.00,A,5200.79123,N,00422.54850,E,32.318,144.23,120308,,,A*59
+$GPRMC,145556.00,A,5200.78410,N,00422.55773,E,33.058,143.97,120308,,,A*5F
+$GPRMC,145557.00,A,5200.77659,N,00422.56696,E,34.658,144.27,120308,,,A*5A
+$GPRMC,145558.00,A,5200.76884,N,00422.57703,E,36.444,144.25,120308,,,A*59
+$GPRMC,145559.00,A,5200.76071,N,00422.58740,E,37.586,144.07,120308,,,A*5C
+$GPRMC,145600.00,A,5200.75218,N,00422.59745,E,38.056,144.15,120308,,,A*5D
+$GPRMC,145601.00,A,5200.74366,N,00422.60756,E,37.812,144.53,120308,,,A*58
+$GPRMC,145602.00,A,5200.73517,N,00422.61741,E,37.263,144.38,120308,,,A*5A
+$GPRMC,145603.00,A,5200.72676,N,00422.62710,E,37.038,144.42,120308,,,A*58
+$GPRMC,145604.00,A,5200.71840,N,00422.63671,E,36.593,144.18,120308,,,A*5A
+$GPRMC,145605.00,A,5200.71038,N,00422.64591,E,33.981,144.14,120308,,,A*50
+$GPRMC,145606.00,A,5200.70298,N,00422.65448,E,31.555,144.03,120308,,,A*5F
+$GPRMC,145607.00,A,5200.69605,N,00422.66260,E,30.087,143.91,120308,,,A*5E
+$GPRMC,145608.00,A,5200.68940,N,00422.67032,E,29.000,144.45,120308,,,A*53
+$GPRMC,145609.00,A,5200.68265,N,00422.67789,E,30.099,145.09,120308,,,A*58
+$GPRMC,145610.00,A,5200.67568,N,00422.68571,E,30.968,145.18,120308,,,A*58
+$GPRMC,145611.00,A,5200.66861,N,00422.69376,E,31.351,144.76,120308,,,A*54
+$GPRMC,145612.00,A,5200.66139,N,00422.70168,E,31.557,144.47,120308,,,A*54
+$GPRMC,145613.00,A,5200.65426,N,00422.70983,E,31.463,144.47,120308,,,A*56
+$GPRMC,145614.00,A,5200.64722,N,00422.71800,E,31.060,144.22,120308,,,A*58
+$GPRMC,145615.00,A,5200.64032,N,00422.72601,E,30.202,144.04,120308,,,A*50
+$GPRMC,145616.00,A,5200.63384,N,00422.73358,E,27.561,144.22,120308,,,A*52
+$GPRMC,145617.00,A,5200.62794,N,00422.74029,E,24.599,145.77,120308,,,A*50
+$GPRMC,145618.00,A,5200.62259,N,00422.74657,E,23.294,144.51,120308,,,A*5C
+$GPRMC,145619.00,A,5200.61752,N,00422.75246,E,22.102,144.17,120308,,,A*5A
+$GPRMC,145620.00,A,5200.61281,N,00422.75795,E,20.086,144.45,120308,,,A*58
+$GPRMC,145621.00,A,5200.60866,N,00422.76271,E,17.014,144.43,120308,,,A*5E
+$GPRMC,145622.00,A,5200.60503,N,00422.76686,E,15.597,144.58,120308,,,A*59
+$GPRMC,145623.00,A,5200.60173,N,00422.77067,E,14.186,144.16,120308,,,A*5C
+$GPRMC,145624.00,A,5200.59865,N,00422.77416,E,13.765,144.52,120308,,,A*51
+$GPRMC,145625.00,A,5200.59584,N,00422.77810,E,13.522,140.35,120308,,,A*5C
+$GPRMC,145626.00,A,5200.59298,N,00422.78191,E,13.676,141.73,120308,,,A*5B
+$GPRMC,145627.00,A,5200.58976,N,00422.78565,E,15.395,143.62,120308,,,A*53
+$GPRMC,145628.00,A,5200.58643,N,00422.78994,E,15.593,140.84,120308,,,A*5C
+$GPRMC,145629.00,A,5200.58317,N,00422.79408,E,14.699,142.33,120308,,,A*56
+$GPRMC,145630.00,A,5200.57993,N,00422.79774,E,14.286,144.02,120308,,,A*51
+$GPRMC,145631.00,A,5200.57670,N,00422.80138,E,14.586,144.44,120308,,,A*5F
+$GPRMC,145632.00,A,5200.57347,N,00422.80505,E,14.371,144.44,120308,,,A*59
+$GPRMC,145633.00,A,5200.57025,N,00422.80878,E,14.639,144.26,120308,,,A*55
+$GPRMC,145634.00,A,5200.56689,N,00422.81266,E,15.456,144.21,120308,,,A*5A
+$GPRMC,145635.00,A,5200.56332,N,00422.81687,E,16.667,143.85,120308,,,A*5F
+$GPRMC,145636.00,A,5200.55958,N,00422.82129,E,17.022,143.60,120308,,,A*54
+$GPRMC,145637.00,A,5200.55582,N,00422.82548,E,16.176,144.65,120308,,,A*5E
+$GPRMC,145638.00,A,5200.55225,N,00422.82947,E,15.311,145.72,120308,,,A*5F
+$GPRMC,145639.00,A,5200.54874,N,00422.83345,E,15.831,144.56,120308,,,A*56
+$GPRMC,145640.00,A,5200.54495,N,00422.83786,E,17.882,144.52,120308,,,A*5E
+$GPRMC,145641.00,A,5200.54068,N,00422.84274,E,19.736,144.42,120308,,,A*59
+$GPRMC,145642.00,A,5200.53603,N,00422.84820,E,21.650,143.44,120308,,,A*56
+$GPRMC,145643.00,A,5200.53111,N,00422.85406,E,22.417,143.66,120308,,,A*58
+$GPRMC,145644.00,A,5200.52591,N,00422.85987,E,23.066,145.73,120308,,,A*57
+$GPRMC,145645.00,A,5200.52074,N,00422.86591,E,22.900,144.52,120308,,,A*5A
+$GPRMC,145646.00,A,5200.51551,N,00422.87203,E,23.666,143.54,120308,,,A*5A
+$GPRMC,145647.00,A,5200.51010,N,00422.87836,E,24.149,144.15,120308,,,A*58
+$GPRMC,145648.00,A,5200.50464,N,00422.88471,E,24.170,144.08,120308,,,A*57
+$GPRMC,145649.00,A,5200.49916,N,00422.89103,E,24.110,144.30,120308,,,A*5A
+$GPRMC,145650.00,A,5200.49373,N,00422.89738,E,24.039,144.12,120308,,,A*5F
+$GPRMC,145651.00,A,5200.48834,N,00422.90364,E,23.778,144.25,120308,,,A*53
+$GPRMC,145652.00,A,5200.48296,N,00422.90983,E,23.644,144.26,120308,,,A*5C
+$GPRMC,145653.00,A,5200.47761,N,00422.91601,E,23.601,143.99,120308,,,A*59
+$GPRMC,145654.00,A,5200.47217,N,00422.92225,E,24.323,144.57,120308,,,A*5C
+$GPRMC,145655.00,A,5200.46654,N,00422.92869,E,25.207,144.36,120308,,,A*5C
+$GPRMC,145656.00,A,5200.46064,N,00422.93533,E,26.324,144.24,120308,,,A*59
+$GPRMC,145657.00,A,5200.45456,N,00422.94225,E,26.869,144.31,120308,,,A*5F
+$GPRMC,145658.00,A,5200.44833,N,00422.94928,E,27.535,144.18,120308,,,A*56
+$GPRMC,145659.00,A,5200.44194,N,00422.95649,E,28.244,144.56,120308,,,A*5E
+$GPRMC,145700.00,A,5200.43531,N,00422.96407,E,29.775,144.10,120308,,,A*50
+$GPRMC,145701.00,A,5200.42840,N,00422.97208,E,31.141,144.38,120308,,,A*51
+$GPRMC,145702.00,A,5200.42127,N,00422.98045,E,32.111,143.68,120308,,,A*5A
+$GPRMC,145703.00,A,5200.41374,N,00422.98891,E,33.255,145.36,120308,,,A*52
+$GPRMC,145704.00,A,5200.40572,N,00422.99783,E,35.518,145.19,120308,,,A*5C
+$GPRMC,145705.00,A,5200.39733,N,00423.00752,E,38.042,144.51,120308,,,A*53
+$GPRMC,145706.00,A,5200.38838,N,00423.01729,E,39.067,145.39,120308,,,A*51
+$GPRMC,145707.00,A,5200.37924,N,00423.02727,E,39.769,145.83,120308,,,A*56
+$GPRMC,145708.00,A,5200.37011,N,00423.03749,E,39.541,147.36,120308,,,A*5B
+$GPRMC,145709.00,A,5200.36090,N,00423.04687,E,38.777,148.22,120308,,,A*5A
+$GPRMC,145710.00,A,5200.35138,N,00423.05582,E,38.755,148.99,120308,,,A*55
+$GPRMC,145711.00,A,5200.34195,N,00423.06472,E,39.108,149.00,120308,,,A*51
+$GPRMC,145712.00,A,5200.33238,N,00423.07361,E,39.088,149.70,120308,,,A*5B
+$GPRMC,145713.00,A,5200.32293,N,00423.08237,E,38.270,150.84,120308,,,A*50
+$GPRMC,145714.00,A,5200.31363,N,00423.09070,E,37.522,152.32,120308,,,A*5A
+$GPRMC,145715.00,A,5200.30441,N,00423.09825,E,36.582,153.49,120308,,,A*53
+$GPRMC,145716.00,A,5200.29533,N,00423.10546,E,35.850,154.05,120308,,,A*52
+$GPRMC,145717.00,A,5200.28633,N,00423.11213,E,35.858,155.41,120308,,,A*5E
+$GPRMC,145718.00,A,5200.27761,N,00423.11801,E,34.461,156.45,120308,,,A*51
+$GPRMC,145719.00,A,5200.26911,N,00423.12366,E,34.004,157.18,120308,,,A*5F
+$GPRMC,145720.00,A,5200.26060,N,00423.12908,E,33.247,158.39,120308,,,A*56
+$GPRMC,145721.00,A,5200.25227,N,00423.13408,E,32.791,159.29,120308,,,A*56
+$GPRMC,145722.00,A,5200.24374,N,00423.13901,E,32.131,160.44,120308,,,A*5A
+$GPRMC,145723.00,A,5200.23565,N,00423.14352,E,30.841,161.00,120308,,,A*5C
+$GPRMC,145724.00,A,5200.22809,N,00423.14737,E,29.119,162.15,120308,,,A*51
+$GPRMC,145725.00,A,5200.22106,N,00423.15090,E,25.412,162.66,120308,,,A*5B
+$GPRMC,145726.00,A,5200.21482,N,00423.15390,E,22.773,163.05,120308,,,A*56
+$GPRMC,145727.00,A,5200.20870,N,00423.15673,E,23.005,164.04,120308,,,A*5E
+$GPRMC,145728.00,A,5200.20247,N,00423.15957,E,24.057,163.92,120308,,,A*5E
+$GPRMC,145729.00,A,5200.19602,N,00423.16249,E,25.758,164.57,120308,,,A*50
+$GPRMC,145730.00,A,5200.18935,N,00423.16587,E,26.341,164.19,120308,,,A*52
+$GPRMC,145731.00,A,5200.18242,N,00423.16888,E,26.030,164.83,120308,,,A*5C
+$GPRMC,145732.00,A,5200.17554,N,00423.17166,E,25.958,164.89,120308,,,A*56
+$GPRMC,145733.00,A,5200.16867,N,00423.17440,E,25.576,165.19,120308,,,A*52
+$GPRMC,145734.00,A,5200.16193,N,00423.17712,E,25.057,165.23,120308,,,A*5C
+$GPRMC,145735.00,A,5200.15520,N,00423.17962,E,24.629,165.01,120308,,,A*55
+$GPRMC,145736.00,A,5200.14876,N,00423.18224,E,23.696,164.40,120308,,,A*58
+$GPRMC,145737.00,A,5200.14242,N,00423.18475,E,23.701,164.60,120308,,,A*5B
+$GPRMC,145738.00,A,5200.13582,N,00423.18705,E,24.138,165.10,120308,,,A*51
+$GPRMC,145739.00,A,5200.12944,N,00423.18982,E,24.313,165.29,120308,,,A*57
+$GPRMC,145740.00,A,5200.12286,N,00423.19250,E,24.462,165.05,120308,,,A*56
+$GPRMC,145741.00,A,5200.11613,N,00423.19517,E,24.857,165.01,120308,,,A*56
+$GPRMC,145742.00,A,5200.10941,N,00423.19809,E,25.292,165.08,120308,,,A*55
+$GPRMC,145743.00,A,5200.10273,N,00423.20122,E,25.193,165.39,120308,,,A*54
+$GPRMC,145744.00,A,5200.09606,N,00423.20420,E,25.094,165.56,120308,,,A*55
+$GPRMC,145745.00,A,5200.08940,N,00423.20711,E,25.083,165.93,120308,,,A*56
+$GPRMC,145746.00,A,5200.08287,N,00423.21001,E,24.079,165.28,120308,,,A*56
+$GPRMC,145747.00,A,5200.07655,N,00423.21281,E,23.439,165.13,120308,,,A*56
+$GPRMC,145748.00,A,5200.07042,N,00423.21560,E,22.855,164.98,120308,,,A*54
+$GPRMC,145749.00,A,5200.06425,N,00423.21817,E,22.397,165.03,120308,,,A*5A
+$GPRMC,145750.00,A,5200.05815,N,00423.22071,E,21.634,164.30,120308,,,A*5B
+$GPRMC,145751.00,A,5200.05242,N,00423.22332,E,21.566,164.76,120308,,,A*50
+$GPRMC,145752.00,A,5200.04643,N,00423.22555,E,21.269,165.40,120308,,,A*5C
+$GPRMC,145753.00,A,5200.04080,N,00423.22783,E,20.477,165.33,120308,,,A*51
+$GPRMC,145754.00,A,5200.03524,N,00423.23001,E,20.003,165.15,120308,,,A*55
+$GPRMC,145755.00,A,5200.02993,N,00423.23222,E,19.285,164.61,120308,,,A*52
+$GPRMC,145756.00,A,5200.02481,N,00423.23441,E,18.693,164.49,120308,,,A*54
+$GPRMC,145757.00,A,5200.01989,N,00423.23658,E,17.951,164.16,120308,,,A*5D
+$GPRMC,145758.00,A,5200.01497,N,00423.23877,E,18.656,164.82,120308,,,A*59
+$GPRMC,145759.00,A,5200.00970,N,00423.24082,E,19.255,166.20,120308,,,A*54
+$GPRMC,145800.00,A,5200.00444,N,00423.24284,E,19.292,166.11,120308,,,A*50
+$GPRMC,145801.00,A,5159.99916,N,00423.24484,E,19.537,165.15,120308,,,A*5D
+$GPRMC,145802.00,A,5159.99388,N,00423.24692,E,19.413,165.62,120308,,,A*51
+$GPRMC,145803.00,A,5159.98851,N,00423.24906,E,20.224,165.06,120308,,,A*56
+$GPRMC,145804.00,A,5159.98307,N,00423.25128,E,21.443,164.72,120308,,,A*58
+$GPRMC,145805.00,A,5159.97711,N,00423.25398,E,22.717,164.79,120308,,,A*56
+$GPRMC,145806.00,A,5159.97078,N,00423.25659,E,24.231,165.52,120308,,,A*5A
+$GPRMC,145807.00,A,5159.96394,N,00423.25961,E,26.358,163.63,120308,,,A*57
+$GPRMC,145808.00,A,5159.95671,N,00423.26282,E,27.500,165.03,120308,,,A*5A
+$GPRMC,145809.00,A,5159.94917,N,00423.26582,E,28.235,165.53,120308,,,A*59
+$GPRMC,145810.00,A,5159.94154,N,00423.26888,E,28.422,165.77,120308,,,A*5F
+$GPRMC,145811.00,A,5159.93376,N,00423.27207,E,28.523,164.93,120308,,,A*5C
+$GPRMC,145812.00,A,5159.92603,N,00423.27521,E,28.316,166.09,120308,,,A*5B
+$GPRMC,145813.00,A,5159.91837,N,00423.27816,E,27.888,165.44,120308,,,A*50
+$GPRMC,145814.00,A,5159.91082,N,00423.28107,E,27.372,166.19,120308,,,A*52
+$GPRMC,145815.00,A,5159.90305,N,00423.28438,E,28.620,165.09,120308,,,A*58
+$GPRMC,145816.00,A,5159.89537,N,00423.28770,E,28.600,165.91,120308,,,A*58
+$GPRMC,145817.00,A,5159.88754,N,00423.29062,E,28.550,165.85,120308,,,A*59
+$GPRMC,145818.00,A,5159.87987,N,00423.29360,E,28.393,165.15,120308,,,A*58
+$GPRMC,145819.00,A,5159.87221,N,00423.29758,E,28.811,164.14,120308,,,A*50
+$GPRMC,145820.00,A,5159.86425,N,00423.30099,E,30.052,164.46,120308,,,A*5A
+$GPRMC,145821.00,A,5159.85611,N,00423.30463,E,31.243,164.70,120308,,,A*5A
+$GPRMC,145822.00,A,5159.84757,N,00423.30821,E,32.027,165.12,120308,,,A*57
+$GPRMC,145823.00,A,5159.83893,N,00423.31192,E,32.208,165.26,120308,,,A*5E
+$GPRMC,145824.00,A,5159.83011,N,00423.31563,E,33.183,165.74,120308,,,A*57
+$GPRMC,145825.00,A,5159.82069,N,00423.31967,E,33.982,164.89,120308,,,A*5A
+$GPRMC,145826.00,A,5159.81127,N,00423.32365,E,34.687,165.18,120308,,,A*5E
+$GPRMC,145827.00,A,5159.80248,N,00423.32787,E,33.459,164.57,120308,,,A*50
+$GPRMC,145828.00,A,5159.79342,N,00423.33219,E,33.863,165.48,120308,,,A*5B
+$GPRMC,145829.00,A,5159.78426,N,00423.33602,E,33.327,165.60,120308,,,A*51
+$GPRMC,145830.00,A,5159.77533,N,00423.33988,E,33.333,165.73,120308,,,A*59
+$GPRMC,145831.00,A,5159.76619,N,00423.34358,E,33.409,165.25,120308,,,A*5F
+$GPRMC,145832.00,A,5159.75719,N,00423.34711,E,32.962,165.29,120308,,,A*5A
+$GPRMC,145833.00,A,5159.74843,N,00423.35063,E,32.340,165.25,120308,,,A*5F
+$GPRMC,145834.00,A,5159.74001,N,00423.35450,E,31.047,164.29,120308,,,A*58
+$GPRMC,145835.00,A,5159.73211,N,00423.35838,E,29.047,163.80,120308,,,A*52
+$GPRMC,145836.00,A,5159.72489,N,00423.36183,E,26.539,163.66,120308,,,A*56
+$GPRMC,145837.00,A,5159.71827,N,00423.36473,E,24.320,163.87,120308,,,A*55
+$GPRMC,145838.00,A,5159.71223,N,00423.36665,E,22.194,165.77,120308,,,A*53
+$GPRMC,145839.00,A,5159.70667,N,00423.36921,E,21.433,164.97,120308,,,A*5C
+$GPRMC,145840.00,A,5159.70119,N,00423.37108,E,21.495,165.21,120308,,,A*5E
+$GPRMC,145841.00,A,5159.69547,N,00423.37332,E,21.972,165.50,120308,,,A*51
+$GPRMC,145842.00,A,5159.68970,N,00423.37565,E,22.351,165.75,120308,,,A*50
+$GPRMC,145843.00,A,5159.68377,N,00423.37806,E,22.613,165.20,120308,,,A*57
+$GPRMC,145844.00,A,5159.67784,N,00423.38056,E,22.000,165.08,120308,,,A*5B
+$GPRMC,145845.00,A,5159.67189,N,00423.38303,E,23.080,165.05,120308,,,A*56
+$GPRMC,145846.00,A,5159.66560,N,00423.38546,E,24.848,165.36,120308,,,A*5B
+$GPRMC,145847.00,A,5159.65893,N,00423.38816,E,24.567,165.45,120308,,,A*54
+$GPRMC,145848.00,A,5159.65244,N,00423.39091,E,23.801,165.12,120308,,,A*55
+$GPRMC,145849.00,A,5159.64625,N,00423.39344,E,23.003,165.41,120308,,,A*51
+$GPRMC,145850.00,A,5159.64030,N,00423.39573,E,22.240,165.65,120308,,,A*5B
+$GPRMC,145851.00,A,5159.63451,N,00423.39804,E,21.624,165.30,120308,,,A*56
+$GPRMC,145852.00,A,5159.62885,N,00423.40028,E,21.471,164.90,120308,,,A*50
+$GPRMC,145853.00,A,5159.62301,N,00423.40275,E,22.521,165.17,120308,,,A*55
+$GPRMC,145854.00,A,5159.61686,N,00423.40533,E,22.953,164.97,120308,,,A*5E
+$GPRMC,145855.00,A,5159.61066,N,00423.40806,E,23.214,165.09,120308,,,A*53
+$GPRMC,145856.00,A,5159.60427,N,00423.41087,E,23.862,164.95,120308,,,A*5F
+$GPRMC,145857.00,A,5159.59763,N,00423.41367,E,24.934,165.18,120308,,,A*5B
+$GPRMC,145858.00,A,5159.59085,N,00423.41658,E,25.740,165.24,120308,,,A*51
+$GPRMC,145859.00,A,5159.58400,N,00423.41949,E,25.330,165.04,120308,,,A*56
+$GPRMC,145900.00,A,5159.57708,N,00423.42244,E,25.844,165.05,120308,,,A*53
+$GPRMC,145901.00,A,5159.57005,N,00423.42546,E,26.221,165.06,120308,,,A*54
+$GPRMC,145902.00,A,5159.56308,N,00423.42842,E,26.155,164.80,120308,,,A*5E
+$GPRMC,145903.00,A,5159.55612,N,00423.43139,E,25.938,164.98,120308,,,A*5F
+$GPRMC,145904.00,A,5159.54919,N,00423.43431,E,25.591,165.74,120308,,,A*5C
+$GPRMC,145905.00,A,5159.54251,N,00423.43704,E,24.524,165.23,120308,,,A*52
+$GPRMC,145906.00,A,5159.53608,N,00423.43994,E,23.691,164.41,120308,,,A*56
+$GPRMC,145907.00,A,5159.53023,N,00423.44232,E,20.481,165.41,120308,,,A*59
+$GPRMC,145908.00,A,5159.52533,N,00423.44425,E,16.971,164.15,120308,,,A*54
+$GPRMC,145909.00,A,5159.52120,N,00423.44607,E,14.848,161.35,120308,,,A*5F
+$GPRMC,145910.00,A,5159.51755,N,00423.44810,E,12.530,166.12,120308,,,A*5E
+$GPRMC,145911.00,A,5159.51422,N,00423.44969,E,11.077,165.66,120308,,,A*56
+$GPRMC,145912.00,A,5159.51204,N,00423.45078,E,8.104,165.92,120308,,,A*69
+$GPRMC,145913.00,A,5159.51032,N,00423.45191,E,6.213,157.55,120308,,,A*68
+$GPRMC,145914.00,A,5159.50883,N,00423.45282,E,6.030,157.37,120308,,,A*6A
+$GPRMC,145915.00,A,5159.50716,N,00423.45374,E,7.347,161.04,120308,,,A*67
+$GPRMC,145916.00,A,5159.50470,N,00423.45485,E,10.638,161.55,120308,,,A*51
+$GPRMC,145917.00,A,5159.50127,N,00423.45638,E,13.400,163.10,120308,,,A*5A
+$GPRMC,145918.00,A,5159.49677,N,00423.45829,E,17.428,163.69,120308,,,A*51
+$GPRMC,145919.00,A,5159.49225,N,00423.46059,E,17.287,164.73,120308,,,A*50
+$GPRMC,145920.00,A,5159.48764,N,00423.46246,E,17.217,164.75,120308,,,A*58
+$GPRMC,145921.00,A,5159.48304,N,00423.46419,E,16.857,164.95,120308,,,A*56
+$GPRMC,145922.00,A,5159.47848,N,00423.46575,E,16.239,164.76,120308,,,A*5D
+$GPRMC,145923.00,A,5159.47434,N,00423.46737,E,14.744,165.26,120308,,,A*56
+$GPRMC,145924.00,A,5159.47073,N,00423.46898,E,11.520,164.62,120308,,,A*58
+$GPRMC,145925.00,A,5159.46830,N,00423.46943,E,7.450,167.88,120308,,,A*66
+$GPRMC,145926.00,A,5159.46680,N,00423.46965,E,4.991,169.54,120308,,,A*68
+$GPRMC,145927.00,A,5159.46572,N,00423.47017,E,2.644,165.23,120308,,,A*67
+$GPRMC,145928.00,A,5159.46534,N,00423.47048,E,0.844,165.27,120308,,,A*68
+$GPRMC,145929.00,A,5159.46529,N,00423.47014,E,0.365,167.07,120308,,,A*64
+$GPRMC,145930.00,A,5159.46533,N,00423.46966,E,0.070,168.43,120308,,,A*62
+$GPRMC,145931.00,A,5159.46524,N,00423.46935,E,0.026,173.01,120308,,,A*6C
+$GPRMC,145932.00,A,5159.46525,N,00423.46904,E,0.053,168.30,120308,,,A*66
+$GPRMC,145933.00,A,5159.46523,N,00423.46892,E,0.032,167.89,120308,,,A*65
+$GPRMC,145934.00,A,5159.46526,N,00423.46877,E,0.049,169.62,120308,,,A*6B
+$GPRMC,145935.00,A,5159.46528,N,00423.46866,E,0.129,173.06,120308,,,A*6A
+$GPRMC,145936.00,A,5159.46529,N,00423.46860,E,0.014,,120308,,,A*7C
+$GPRMC,145937.00,A,5159.46526,N,00423.46853,E,0.293,175.16,120308,,,A*65
+$GPRMC,145938.00,A,5159.46524,N,00423.46853,E,0.031,171.14,120308,,,A*64
+$GPRMC,145939.00,A,5159.46523,N,00423.46850,E,0.006,,120308,,,A*79
+$GPRMC,145940.00,A,5159.46510,N,00423.46852,E,0.706,170.94,120308,,,A*67
+$GPRMC,145941.00,A,5159.46470,N,00423.46865,E,1.406,170.28,120308,,,A*60
+$GPRMC,145942.00,A,5159.46425,N,00423.46887,E,1.816,169.69,120308,,,A*6F
+$GPRMC,145943.00,A,5159.46336,N,00423.46907,E,3.373,164.33,120308,,,A*6A
+$GPRMC,145944.00,A,5159.46220,N,00423.46931,E,4.301,168.71,120308,,,A*66
+$GPRMC,145945.00,A,5159.46115,N,00423.46945,E,3.452,171.73,120308,,,A*6D
+$GPRMC,145946.00,A,5159.46021,N,00423.46967,E,3.381,169.19,120308,,,A*64
+$GPRMC,145947.00,A,5159.45921,N,00423.47000,E,3.610,163.64,120308,,,A*6B
+$GPRMC,145948.00,A,5159.45804,N,00423.47028,E,4.541,167.61,120308,,,A*69
+$GPRMC,145949.00,A,5159.45673,N,00423.47080,E,4.790,163.87,120308,,,A*66
+$GPRMC,145950.00,A,5159.45547,N,00423.47123,E,5.048,167.93,120308,,,A*60
+$GPRMC,145951.00,A,5159.45417,N,00423.47183,E,4.865,166.83,120308,,,A*69
+$GPRMC,145952.00,A,5159.45310,N,00423.47222,E,3.695,163.61,120308,,,A*6D
+$GPRMC,145953.00,A,5159.45210,N,00423.47263,E,3.566,165.91,120308,,,A*6E
+$GPRMC,145954.00,A,5159.45119,N,00423.47293,E,3.241,166.18,120308,,,A*6C
+$GPRMC,145955.00,A,5159.45042,N,00423.47322,E,2.145,167.03,120308,,,A*64
+$GPRMC,145956.00,A,5159.44993,N,00423.47395,E,0.867,167.19,120308,,,A*6F
+$GPRMC,145957.00,A,5159.44966,N,00423.47387,E,0.247,166.18,120308,,,A*6F
+$GPRMC,145958.00,A,5159.44970,N,00423.47425,E,0.128,164.83,120308,,,A*62
+$GPRMC,145959.00,A,5159.44974,N,00423.47426,E,0.288,169.92,120308,,,A*60
+$GPRMC,150000.00,A,5159.44973,N,00423.47468,E,0.419,169.62,120308,,,A*6D
+$GPRMC,150001.00,A,5159.44950,N,00423.47461,E,1.161,169.41,120308,,,A*6E
+$GPRMC,150002.00,A,5159.44926,N,00423.47455,E,1.008,169.10,120308,,,A*61
+$GPRMC,150003.00,A,5159.44896,N,00423.47457,E,1.179,168.97,120308,,,A*61
+$GPRMC,150004.00,A,5159.44859,N,00423.47469,E,1.707,168.70,120308,,,A*6E
+$GPRMC,150005.00,A,5159.44811,N,00423.47489,E,2.009,167.20,120308,,,A*6D
+$GPRMC,150006.00,A,5159.44734,N,00423.47522,E,4.006,165.94,120308,,,A*62
+$GPRMC,150007.00,A,5159.44616,N,00423.47573,E,5.279,165.47,120308,,,A*63
+$GPRMC,150008.00,A,5159.44489,N,00423.47622,E,4.900,164.54,120308,,,A*68
+$GPRMC,150009.00,A,5159.44368,N,00423.47685,E,4.443,161.11,120308,,,A*62
+$GPRMC,150010.00,A,5159.44231,N,00423.47755,E,5.584,163.34,120308,,,A*65
+$GPRMC,150011.00,A,5159.44091,N,00423.47823,E,5.820,161.12,120308,,,A*67
+$GPRMC,150012.00,A,5159.43940,N,00423.47901,E,6.027,163.83,120308,,,A*61
+$GPRMC,150013.00,A,5159.43823,N,00423.48019,E,5.115,160.42,120308,,,A*66
+$GPRMC,150014.00,A,5159.43697,N,00423.48089,E,5.166,162.99,120308,,,A*69
+$GPRMC,150015.00,A,5159.43568,N,00423.48127,E,4.616,164.63,120308,,,A*6C
+$GPRMC,150016.00,A,5159.43482,N,00423.48212,E,3.756,150.53,120308,,,A*69
+$GPRMC,150017.00,A,5159.43382,N,00423.48268,E,3.727,161.08,120308,,,A*68
+$GPRMC,150018.00,A,5159.43266,N,00423.48305,E,3.681,156.71,120308,,,A*61
+$GPRMC,150019.00,A,5159.43165,N,00423.48359,E,3.357,157.44,120308,,,A*60
+$GPRMC,150020.00,A,5159.43051,N,00423.48393,E,3.172,156.05,120308,,,A*6B
+$GPRMC,150021.00,A,5159.42927,N,00423.48429,E,4.048,164.60,120308,,,A*68
+$GPRMC,150022.00,A,5159.42811,N,00423.48470,E,4.053,165.56,120308,,,A*6D
+$GPRMC,150023.00,A,5159.42692,N,00423.48509,E,4.213,167.37,120308,,,A*65
+$GPRMC,150024.00,A,5159.42569,N,00423.48554,E,4.589,166.60,120308,,,A*6A
+$GPRMC,150025.00,A,5159.42425,N,00423.48599,E,4.903,165.50,120308,,,A*6D
+$GPRMC,150026.00,A,5159.42271,N,00423.48647,E,5.320,167.49,120308,,,A*69
+$GPRMC,150027.00,A,5159.42110,N,00423.48690,E,4.854,165.79,120308,,,A*6E
+$GPRMC,150028.00,A,5159.41957,N,00423.48723,E,4.761,167.83,120308,,,A*6E
+$GPRMC,150029.00,A,5159.41836,N,00423.48784,E,4.361,164.92,120308,,,A*63
+$GPRMC,150030.00,A,5159.41728,N,00423.48829,E,3.280,151.29,120308,,,A*6C
+$GPRMC,150031.00,A,5159.41635,N,00423.48881,E,3.597,154.93,120308,,,A*67
+$GPRMC,150032.00,A,5159.41503,N,00423.48910,E,3.750,159.32,120308,,,A*64
+$GPRMC,150033.00,A,5159.41371,N,00423.48936,E,4.020,165.29,120308,,,A*60
+$GPRMC,150034.00,A,5159.41277,N,00423.48996,E,3.414,163.38,120308,,,A*68
+$GPRMC,150035.00,A,5159.41190,N,00423.49028,E,3.493,163.00,120308,,,A*6A
+$GPRMC,150036.00,A,5159.41087,N,00423.49094,E,4.563,160.29,120308,,,A*68
+$GPRMC,150037.00,A,5159.40971,N,00423.49164,E,4.322,159.13,120308,,,A*66
+$GPRMC,150038.00,A,5159.40890,N,00423.49299,E,4.216,158.78,120308,,,A*6C
+$GPRMC,150039.00,A,5159.40796,N,00423.49402,E,4.062,162.11,120308,,,A*67
+$GPRMC,150040.00,A,5159.40710,N,00423.49479,E,3.565,156.96,120308,,,A*66
+$GPRMC,150041.00,A,5159.40629,N,00423.49533,E,3.601,167.88,120308,,,A*6F
+$GPRMC,150042.00,A,5159.40611,N,00423.49592,E,1.281,167.34,120308,,,A*65
+$GPRMC,150043.00,A,5159.40621,N,00423.49630,E,0.711,166.10,120308,,,A*66
+$GPRMC,150044.00,A,5159.40658,N,00423.49664,E,0.217,158.85,120308,,,A*6C
+$GPRMC,150045.00,A,5159.40671,N,00423.49673,E,0.673,159.94,120308,,,A*67
+$GPRMC,150046.00,A,5159.40683,N,00423.49680,E,0.261,152.17,120308,,,A*62
+$GPRMC,150047.00,A,5159.40697,N,00423.49676,E,0.412,159.92,120308,,,A*6B
+$GPRMC,150048.00,A,5159.40740,N,00423.49700,E,0.142,161.17,120308,,,A*69
+$GPRMC,150049.00,A,5159.40791,N,00423.49766,E,0.193,162.95,120308,,,A*61
+$GPRMC,150050.00,A,5159.40810,N,00423.49777,E,0.098,158.47,120308,,,A*63
+$GPRMC,150051.00,A,5159.40823,N,00423.49792,E,0.170,160.22,120308,,,A*66
+$GPRMC,150052.00,A,5159.40849,N,00423.49811,E,0.063,160.45,120308,,,A*6F
+$GPRMC,150053.00,A,5159.40870,N,00423.49816,E,0.020,162.95,120308,,,A*6B
+$GPRMC,150054.00,A,5159.40879,N,00423.49816,E,0.246,165.25,120308,,,A*6B
+$GPRMC,150055.00,A,5159.40898,N,00423.49826,E,0.537,156.92,120308,,,A*6B
+$GPRMC,150056.00,A,5159.40915,N,00423.49831,E,0.284,161.92,120308,,,A*61
+$GPRMC,150057.00,A,5159.40919,N,00423.49802,E,0.786,163.57,120308,,,A*60
+$GPRMC,150058.00,A,5159.40896,N,00423.49826,E,2.005,161.08,120308,,,A*69
+$GPRMC,150059.00,A,5159.40796,N,00423.49844,E,4.018,163.93,120308,,,A*69
+$GPRMC,150100.00,A,5159.40677,N,00423.49885,E,4.009,163.40,120308,,,A*69
+$GPRMC,150101.00,A,5159.40587,N,00423.49948,E,3.645,161.93,120308,,,A*61
+$GPRMC,150102.00,A,5159.40510,N,00423.49995,E,3.295,159.57,120308,,,A*66
+$GPRMC,150103.00,A,5159.40439,N,00423.50056,E,3.006,164.71,120308,,,A*61
+$GPRMC,150104.00,A,5159.40341,N,00423.50064,E,2.425,164.48,120308,,,A*61
+$GPRMC,150105.00,A,5159.40272,N,00423.50075,E,2.047,166.34,120308,,,A*68
+$GPRMC,150106.00,A,5159.40215,N,00423.50080,E,1.705,166.37,120308,,,A*61
+$GPRMC,150107.00,A,5159.40158,N,00423.50084,E,1.799,166.90,120308,,,A*66
+$GPRMC,150108.00,A,5159.40114,N,00423.50090,E,1.173,166.78,120308,,,A*60
+$GPRMC,150109.00,A,5159.40046,N,00423.50083,E,1.646,166.54,120308,,,A*6A
+$GPRMC,150110.00,A,5159.39954,N,00423.50081,E,3.010,168.55,120308,,,A*6C
+$GPRMC,150111.00,A,5159.39853,N,00423.50122,E,3.746,171.16,120308,,,A*68
+$GPRMC,150112.00,A,5159.39731,N,00423.50151,E,3.553,167.27,120308,,,A*67
+$GPRMC,150113.00,A,5159.39606,N,00423.50165,E,3.414,170.90,120308,,,A*6C
+$GPRMC,150114.00,A,5159.39502,N,00423.50187,E,2.911,168.42,120308,,,A*6F
+$GPRMC,150115.00,A,5159.39434,N,00423.50196,E,1.448,168.59,120308,,,A*62
+$GPRMC,150116.00,A,5159.39367,N,00423.50171,E,0.423,168.59,120308,,,A*65
+$GPRMC,150117.00,A,5159.39329,N,00423.50144,E,0.019,,120308,,,A*78
+$GPRMC,150118.00,A,5159.39302,N,00423.50126,E,0.024,169.35,120308,,,A*62
+$GPRMC,150119.00,A,5159.39285,N,00423.50119,E,0.054,169.67,120308,,,A*61
+$GPRMC,150120.00,A,5159.39271,N,00423.50114,E,0.006,,120308,,,A*7B
+$GPRMC,150121.00,A,5159.39220,N,00423.50105,E,1.173,169.60,120308,,,A*6A
+$GPRMC,150122.00,A,5159.39159,N,00423.50134,E,3.285,162.75,120308,,,A*61
+$GPRMC,150123.00,A,5159.39041,N,00423.50196,E,5.321,160.95,120308,,,A*65
+$GPRMC,150124.00,A,5159.38907,N,00423.50286,E,5.477,163.46,120308,,,A*63
+$GPRMC,150125.00,A,5159.38730,N,00423.50394,E,6.966,164.44,120308,,,A*61
+$GPRMC,150126.00,A,5159.38558,N,00423.50496,E,6.025,165.81,120308,,,A*6D
+$GPRMC,150127.00,A,5159.38408,N,00423.50576,E,5.001,162.57,120308,,,A*6E
+$GPRMC,150128.00,A,5159.38251,N,00423.50636,E,4.386,166.49,120308,,,A*6A
+$GPRMC,150129.00,A,5159.38169,N,00423.50726,E,3.569,158.48,120308,,,A*6F
+$GPRMC,150130.00,A,5159.38085,N,00423.50814,E,4.258,159.92,120308,,,A*6E
+$GPRMC,150131.00,A,5159.37955,N,00423.50878,E,5.194,165.54,120308,,,A*69
+$GPRMC,150132.00,A,5159.37798,N,00423.50923,E,4.618,165.40,120308,,,A*6D
+$GPRMC,150133.00,A,5159.37696,N,00423.50989,E,3.254,156.09,120308,,,A*65
+$GPRMC,150134.00,A,5159.37641,N,00423.51045,E,2.234,148.90,120308,,,A*68
+$GPRMC,150135.00,A,5159.37617,N,00423.51128,E,1.694,149.65,120308,,,A*66
+$GPRMC,150136.00,A,5159.37568,N,00423.51112,E,0.631,149.04,120308,,,A*6E
+$GPRMC,150137.00,A,5159.37529,N,00423.51083,E,0.382,150.07,120308,,,A*65
+$GPRMC,150138.00,A,5159.37514,N,00423.51059,E,0.034,150.25,120308,,,A*6D
+$GPRMC,150139.00,A,5159.37513,N,00423.51042,E,0.152,145.14,120308,,,A*66
+$GPRMC,150140.00,A,5159.37519,N,00423.51032,E,0.068,140.60,120308,,,A*6B
+$GPRMC,150141.00,A,5159.37508,N,00423.51017,E,0.177,144.36,120308,,,A*65
+$GPRMC,150142.00,A,5159.37502,N,00423.51003,E,0.284,148.31,120308,,,A*6D
+$GPRMC,150143.00,A,5159.37507,N,00423.51020,E,0.547,152.20,120308,,,A*6B
+$GPRMC,150144.00,A,5159.37508,N,00423.51021,E,0.049,147.06,120308,,,A*69
+$GPRMC,150145.00,A,5159.37510,N,00423.51015,E,0.106,150.30,120308,,,A*6F
+$GPRMC,150146.00,A,5159.37499,N,00423.51014,E,1.180,151.43,120308,,,A*67
+$GPRMC,150147.00,A,5159.37449,N,00423.51028,E,3.096,160.28,120308,,,A*6F
+$GPRMC,150148.00,A,5159.37357,N,00423.51086,E,3.930,161.64,120308,,,A*60
+$GPRMC,150149.00,A,5159.37262,N,00423.51099,E,3.092,169.80,120308,,,A*6B
+$GPRMC,150150.00,A,5159.37199,N,00423.51099,E,2.136,169.44,120308,,,A*62
+$GPRMC,150151.00,A,5159.37152,N,00423.51101,E,1.816,169.67,120308,,,A*6D
+$GPRMC,150152.00,A,5159.37132,N,00423.51097,E,0.491,169.33,120308,,,A*65
+$GPRMC,150153.00,A,5159.37116,N,00423.51103,E,0.642,168.01,120308,,,A*62
+$GPRMC,150154.00,A,5159.37114,N,00423.51109,E,0.204,161.99,120308,,,A*63
+$GPRMC,150155.00,A,5159.37090,N,00423.51090,E,0.097,161.96,120308,,,A*69
+$GPRMC,150156.00,A,5159.37084,N,00423.51080,E,0.382,162.67,120308,,,A*64
+$GPRMC,150157.00,A,5159.37053,N,00423.51073,E,2.285,167.85,120308,,,A*6E
+$GPRMC,150158.00,A,5159.36990,N,00423.51122,E,3.069,162.27,120308,,,A*6F
+$GPRMC,150159.00,A,5159.36896,N,00423.51208,E,4.186,164.15,120308,,,A*62
+$GPRMC,150200.00,A,5159.36752,N,00423.51320,E,5.562,163.96,120308,,,A*62
+$GPRMC,150201.00,A,5159.36623,N,00423.51436,E,4.382,158.18,120308,,,A*63
+$GPRMC,150202.00,A,5159.36483,N,00423.51557,E,4.493,160.18,120308,,,A*62
+$GPRMC,150203.00,A,5159.36375,N,00423.51715,E,4.644,161.91,120308,,,A*61
+$GPRMC,150204.00,A,5159.36254,N,00423.51871,E,5.584,158.15,120308,,,A*61
+$GPRMC,150205.00,A,5159.36117,N,00423.52005,E,5.237,163.98,120308,,,A*6E
+$GPRMC,150206.00,A,5159.36013,N,00423.52088,E,3.899,161.61,120308,,,A*61
+$GPRMC,150207.00,A,5159.35927,N,00423.52153,E,3.338,159.13,120308,,,A*64
+$GPRMC,150208.00,A,5159.35853,N,00423.52210,E,3.409,159.28,120308,,,A*60
+$GPRMC,150209.00,A,5159.35778,N,00423.52283,E,3.308,150.97,120308,,,A*66
+$GPRMC,150210.00,A,5159.35687,N,00423.52348,E,3.772,157.21,120308,,,A*6A
+$GPRMC,150211.00,A,5159.35599,N,00423.52424,E,3.256,159.74,120308,,,A*67
+$GPRMC,150212.00,A,5159.35503,N,00423.52486,E,4.455,158.55,120308,,,A*6F
+$GPRMC,150213.00,A,5159.35397,N,00423.52548,E,4.211,161.33,120308,,,A*6A
+$GPRMC,150214.00,A,5159.35283,N,00423.52623,E,4.593,164.02,120308,,,A*6D
+$GPRMC,150215.00,A,5159.35189,N,00423.52682,E,4.423,157.17,120308,,,A*60
+$GPRMC,150216.00,A,5159.35084,N,00423.52701,E,3.241,168.05,120308,,,A*6F
+$GPRMC,150217.00,A,5159.34978,N,00423.52664,E,2.434,205.49,120308,,,A*62
+$GPRMC,150218.00,A,5159.34846,N,00423.52704,E,3.648,149.54,120308,,,A*69
+$GPRMC,150219.00,A,5159.34723,N,00423.52765,E,4.220,158.42,120308,,,A*69
+$GPRMC,150220.00,A,5159.34609,N,00423.52793,E,3.446,161.44,120308,,,A*6E
+$GPRMC,150221.00,A,5159.34507,N,00423.52840,E,3.947,160.92,120308,,,A*65
+$GPRMC,150222.00,A,5159.34411,N,00423.52888,E,3.288,167.53,120308,,,A*66
+$GPRMC,150223.00,A,5159.34314,N,00423.52921,E,2.185,168.32,120308,,,A*60
+$GPRMC,150224.00,A,5159.34249,N,00423.52964,E,2.066,162.39,120308,,,A*62
+$GPRMC,150225.00,A,5159.34169,N,00423.53015,E,3.003,164.04,120308,,,A*66
+$GPRMC,150226.00,A,5159.34076,N,00423.53081,E,3.925,164.03,120308,,,A*6D
+$GPRMC,150227.00,A,5159.33958,N,00423.53151,E,4.838,161.21,120308,,,A*6D
+$GPRMC,150228.00,A,5159.33814,N,00423.53227,E,5.544,163.09,120308,,,A*66
+$GPRMC,150229.00,A,5159.33639,N,00423.53312,E,6.814,165.14,120308,,,A*60
+$GPRMC,150230.00,A,5159.33433,N,00423.53406,E,8.120,163.36,120308,,,A*64
+$GPRMC,150231.00,A,5159.33182,N,00423.53511,E,9.356,165.31,120308,,,A*6E
+$GPRMC,150232.00,A,5159.32918,N,00423.53607,E,8.739,166.44,120308,,,A*6E
+$GPRMC,150233.00,A,5159.32674,N,00423.53719,E,8.329,162.75,120308,,,A*67
+$GPRMC,150234.00,A,5159.32388,N,00423.53810,E,9.946,166.56,120308,,,A*67
+$GPRMC,150235.00,A,5159.32084,N,00423.53919,E,10.800,165.87,120308,,,A*55
+$GPRMC,150236.00,A,5159.31757,N,00423.54035,E,11.708,165.19,120308,,,A*5D
+$GPRMC,150237.00,A,5159.31386,N,00423.54171,E,14.027,165.78,120308,,,A*5D
+$GPRMC,150238.00,A,5159.31005,N,00423.54349,E,14.549,164.42,120308,,,A*56
+$GPRMC,150239.00,A,5159.30625,N,00423.54541,E,14.626,164.97,120308,,,A*5E
+$GPRMC,150240.00,A,5159.30246,N,00423.54712,E,13.650,163.51,120308,,,A*5E
+$GPRMC,150241.00,A,5159.29908,N,00423.54894,E,12.263,163.15,120308,,,A*52
+$GPRMC,150242.00,A,5159.29602,N,00423.55013,E,9.107,165.32,120308,,,A*6A
+$GPRMC,150243.00,A,5159.29410,N,00423.55109,E,5.888,161.88,120308,,,A*67
+$GPRMC,150244.00,A,5159.29236,N,00423.55159,E,4.697,164.77,120308,,,A*63
+$GPRMC,150245.00,A,5159.29087,N,00423.55183,E,4.342,165.06,120308,,,A*67
+$GPRMC,150246.00,A,5159.28922,N,00423.55210,E,5.836,165.19,120308,,,A*6D
+$GPRMC,150247.00,A,5159.28726,N,00423.55242,E,6.376,165.75,120308,,,A*67
+$GPRMC,150248.00,A,5159.28518,N,00423.55293,E,7.199,165.43,120308,,,A*6C
+$GPRMC,150249.00,A,5159.28296,N,00423.55358,E,8.342,165.64,120308,,,A*64
+$GPRMC,150250.00,A,5159.28061,N,00423.55435,E,9.355,165.39,120308,,,A*65
+$GPRMC,150251.00,A,5159.27785,N,00423.55524,E,10.138,165.38,120308,,,A*57
+$GPRMC,150252.00,A,5159.27488,N,00423.55633,E,10.773,164.81,120308,,,A*55
+$GPRMC,150253.00,A,5159.27182,N,00423.55747,E,10.815,165.36,120308,,,A*5B
+$GPRMC,150254.00,A,5159.26879,N,00423.55863,E,10.686,165.07,120308,,,A*5F
+$GPRMC,150255.00,A,5159.26577,N,00423.55976,E,10.643,165.26,120308,,,A*52
+$GPRMC,150256.00,A,5159.26276,N,00423.56090,E,10.557,165.28,120308,,,A*5D
+$GPRMC,150257.00,A,5159.25975,N,00423.56206,E,10.957,165.20,120308,,,A*5E
+$GPRMC,150258.00,A,5159.25662,N,00423.56331,E,11.588,165.40,120308,,,A*54
+$GPRMC,150259.00,A,5159.25337,N,00423.56461,E,12.354,165.33,120308,,,A*52
+$GPRMC,150300.00,A,5159.24984,N,00423.56613,E,13.579,164.68,120308,,,A*5C
+$GPRMC,150301.00,A,5159.24599,N,00423.56780,E,14.743,165.93,120308,,,A*5F
+$GPRMC,150302.00,A,5159.24218,N,00423.56950,E,14.167,165.43,120308,,,A*5C
+$GPRMC,150303.00,A,5159.23844,N,00423.57095,E,12.546,165.58,120308,,,A*53
+$GPRMC,150304.00,A,5159.23531,N,00423.57222,E,10.300,164.43,120308,,,A*58
+$GPRMC,150305.00,A,5159.23274,N,00423.57341,E,8.964,163.20,120308,,,A*68
+$GPRMC,150306.00,A,5159.23048,N,00423.57444,E,8.289,164.37,120308,,,A*6D
+$GPRMC,150307.00,A,5159.22842,N,00423.57539,E,7.833,165.30,120308,,,A*66
+$GPRMC,150308.00,A,5159.22647,N,00423.57622,E,6.748,164.79,120308,,,A*65
+$GPRMC,150309.00,A,5159.22500,N,00423.57681,E,4.895,164.34,120308,,,A*69
+$GPRMC,150310.00,A,5159.22395,N,00423.57737,E,4.026,162.57,120308,,,A*64
+$GPRMC,150311.00,A,5159.22318,N,00423.57788,E,2.740,159.46,120308,,,A*6D
+$GPRMC,150312.00,A,5159.22292,N,00423.57814,E,0.778,159.80,120308,,,A*64
+$GPRMC,150313.00,A,5159.22293,N,00423.57814,E,0.061,159.39,120308,,,A*69
+$GPRMC,150314.00,A,5159.22315,N,00423.57818,E,0.025,160.56,120308,,,A*6E
+$GPRMC,150315.00,A,5159.22338,N,00423.57823,E,0.016,,120308,,,A*72
+$GPRMC,150316.00,A,5159.22358,N,00423.57820,E,0.063,156.61,120308,,,A*6D
+$GPRMC,150317.00,A,5159.22372,N,00423.57813,E,0.095,157.43,120308,,,A*6C
+$GPRMC,150318.00,A,5159.22371,N,00423.57815,E,0.904,157.74,120308,,,A*63
+$GPRMC,150319.00,A,5159.22318,N,00423.57849,E,3.491,156.86,120308,,,A*6A
+$GPRMC,150320.00,A,5159.22193,N,00423.57920,E,6.335,162.16,120308,,,A*6D
+$GPRMC,150321.00,A,5159.22018,N,00423.58000,E,6.507,164.20,120308,,,A*6E
+$GPRMC,150322.00,A,5159.21859,N,00423.58065,E,5.297,165.28,120308,,,A*64
+$GPRMC,150323.00,A,5159.21718,N,00423.58099,E,4.070,165.69,120308,,,A*63
+$GPRMC,150324.00,A,5159.21602,N,00423.58146,E,4.448,161.29,120308,,,A*62
+$GPRMC,150325.00,A,5159.21478,N,00423.58206,E,4.779,164.84,120308,,,A*68
+$GPRMC,150326.00,A,5159.21370,N,00423.58289,E,4.254,147.24,120308,,,A*62
+$GPRMC,150327.00,A,5159.21232,N,00423.58387,E,5.727,159.62,120308,,,A*66
+$GPRMC,150328.00,A,5159.21082,N,00423.58458,E,4.982,157.99,120308,,,A*6F
+$GPRMC,150329.00,A,5159.20965,N,00423.58466,E,3.016,164.89,120308,,,A*60
+$GPRMC,150330.00,A,5159.20898,N,00423.58462,E,0.825,162.91,120308,,,A*6B
+$GPRMC,150331.00,A,5159.20865,N,00423.58437,E,0.180,159.40,120308,,,A*6A
+$GPRMC,150332.00,A,5159.20851,N,00423.58413,E,0.057,158.38,120308,,,A*6D
+$GPRMC,150333.00,A,5159.20834,N,00423.58390,E,0.030,163.11,120308,,,A*61
+$GPRMC,150334.00,A,5159.20823,N,00423.58373,E,0.396,166.18,120308,,,A*6E
+$GPRMC,150335.00,A,5159.20791,N,00423.58347,E,0.315,176.84,120308,,,A*61
+$GPRMC,150336.00,A,5159.20797,N,00423.58340,E,0.439,173.93,120308,,,A*69
+$GPRMC,150337.00,A,5159.20789,N,00423.58381,E,1.854,171.65,120308,,,A*67
+$GPRMC,150338.00,A,5159.20739,N,00423.58459,E,3.699,145.31,120308,,,A*6A
+$GPRMC,150339.00,A,5159.20673,N,00423.58544,E,4.863,146.77,120308,,,A*64
+$GPRMC,150340.00,A,5159.20461,N,00423.58563,E,5.916,164.10,120308,,,A*6D
+$GPRMC,150341.00,A,5159.20327,N,00423.58616,E,3.525,164.91,120308,,,A*6B
+$GPRMC,150342.00,A,5159.20263,N,00423.58638,E,1.512,164.88,120308,,,A*6B
+$GPRMC,150343.00,A,5159.20231,N,00423.58663,E,0.478,164.58,120308,,,A*62
+$GPRMC,150344.00,A,5159.20212,N,00423.58677,E,0.685,164.78,120308,,,A*63
+$GPRMC,150345.00,A,5159.20152,N,00423.58689,E,3.179,173.90,120308,,,A*63
+$GPRMC,150346.00,A,5159.20015,N,00423.58762,E,6.404,165.40,120308,,,A*66
+$GPRMC,150347.00,A,5159.19823,N,00423.58838,E,7.765,166.96,120308,,,A*6D
+$GPRMC,150348.00,A,5159.19600,N,00423.58932,E,8.574,165.94,120308,,,A*6A
+$GPRMC,150349.00,A,5159.19357,N,00423.59045,E,9.587,164.79,120308,,,A*6B
+$GPRMC,150350.00,A,5159.19073,N,00423.59161,E,10.991,165.23,120308,,,A*5C
+$GPRMC,150351.00,A,5159.18750,N,00423.59299,E,12.207,166.03,120308,,,A*59
+$GPRMC,150352.00,A,5159.18369,N,00423.59400,E,13.951,166.74,120308,,,A*5B
+$GPRMC,150353.00,A,5159.17992,N,00423.59561,E,13.853,166.23,120308,,,A*5C
+$GPRMC,150354.00,A,5159.17593,N,00423.59716,E,14.431,165.56,120308,,,A*5A
+$GPRMC,150355.00,A,5159.17159,N,00423.59875,E,15.934,165.40,120308,,,A*5D
+$GPRMC,150356.00,A,5159.16689,N,00423.60054,E,17.446,165.07,120308,,,A*5D
+$GPRMC,150357.00,A,5159.16171,N,00423.60258,E,19.076,165.35,120308,,,A*5A
+$GPRMC,150358.00,A,5159.15605,N,00423.60512,E,21.646,165.79,120308,,,A*5D
+$GPRMC,150359.00,A,5159.14979,N,00423.60767,E,23.129,165.48,120308,,,A*57
+$GPRMC,150400.00,A,5159.14350,N,00423.61027,E,23.091,165.17,120308,,,A*57
+$GPRMC,150401.00,A,5159.13709,N,00423.61289,E,23.869,165.56,120308,,,A*55
+$GPRMC,150402.00,A,5159.13058,N,00423.61560,E,24.429,165.98,120308,,,A*58
+$GPRMC,150403.00,A,5159.12415,N,00423.61847,E,23.732,165.99,120308,,,A*52
+$GPRMC,150404.00,A,5159.11799,N,00423.62142,E,22.743,165.46,120308,,,A*5B
+$GPRMC,150405.00,A,5159.11171,N,00423.62408,E,22.587,164.78,120308,,,A*57
+$GPRMC,150406.00,A,5159.10528,N,00423.62701,E,24.926,165.42,120308,,,A*5E
+$GPRMC,150407.00,A,5159.09845,N,00423.63018,E,25.995,164.74,120308,,,A*52
+$GPRMC,150408.00,A,5159.09127,N,00423.63324,E,26.757,165.09,120308,,,A*54
+$GPRMC,150409.00,A,5159.08394,N,00423.63649,E,27.545,164.88,120308,,,A*58
+$GPRMC,150410.00,A,5159.07610,N,00423.63978,E,29.380,165.14,120308,,,A*5E
+$GPRMC,150411.00,A,5159.06765,N,00423.64334,E,31.756,165.16,120308,,,A*5C
+$GPRMC,150412.00,A,5159.05893,N,00423.64712,E,32.078,165.13,120308,,,A*57
+$GPRMC,150413.00,A,5159.05006,N,00423.65063,E,31.199,165.44,120308,,,A*5D
+$GPRMC,150414.00,A,5159.04160,N,00423.65412,E,30.156,165.04,120308,,,A*5E
+$GPRMC,150415.00,A,5159.03343,N,00423.65755,E,29.433,165.05,120308,,,A*54
+$GPRMC,150416.00,A,5159.02546,N,00423.66096,E,29.465,165.21,120308,,,A*5B
+$GPRMC,150417.00,A,5159.01741,N,00423.66441,E,30.144,165.12,120308,,,A*5C
+$GPRMC,150418.00,A,5159.00934,N,00423.66787,E,30.031,165.99,120308,,,A*57
+$GPRMC,150419.00,A,5159.00140,N,00423.67106,E,29.162,166.29,120308,,,A*54
+$GPRMC,150420.00,A,5158.99352,N,00423.67422,E,29.055,165.63,120308,,,A*55
+$GPRMC,150421.00,A,5158.98581,N,00423.67755,E,28.520,165.40,120308,,,A*59
+$GPRMC,150422.00,A,5158.97824,N,00423.68096,E,28.082,164.94,120308,,,A*55
+$GPRMC,150423.00,A,5158.97066,N,00423.68433,E,28.140,164.55,120308,,,A*53
+$GPRMC,150424.00,A,5158.96291,N,00423.68798,E,29.842,164.31,120308,,,A*55
+$GPRMC,150425.00,A,5158.95480,N,00423.69167,E,30.614,164.38,120308,,,A*5A
+$GPRMC,150426.00,A,5158.94648,N,00423.69519,E,31.238,164.96,120308,,,A*5C
+$GPRMC,150427.00,A,5158.93817,N,00423.69895,E,31.411,164.87,120308,,,A*5A
+$GPRMC,150428.00,A,5158.93011,N,00423.70315,E,30.432,164.59,120308,,,A*53
+$GPRMC,150429.00,A,5158.92230,N,00423.70663,E,27.649,164.81,120308,,,A*5B
+$GPRMC,150430.00,A,5158.91523,N,00423.70962,E,24.683,164.40,120308,,,A*53
+$GPRMC,150431.00,A,5158.90873,N,00423.71254,E,23.542,164.04,120308,,,A*5D
+$GPRMC,150432.00,A,5158.90233,N,00423.71506,E,23.079,164.73,120308,,,A*5D
+$GPRMC,150433.00,A,5158.89619,N,00423.71782,E,22.485,165.17,120308,,,A*53
+$GPRMC,150434.00,A,5158.89041,N,00423.72055,E,21.104,165.42,120308,,,A*5E
+$GPRMC,150435.00,A,5158.88482,N,00423.72282,E,20.044,164.87,120308,,,A*51
+$GPRMC,150436.00,A,5158.87986,N,00423.72523,E,18.787,164.14,120308,,,A*51
+$GPRMC,150437.00,A,5158.87501,N,00423.72712,E,17.480,165.07,120308,,,A*5B
+$GPRMC,150438.00,A,5158.87057,N,00423.72881,E,16.140,166.04,120308,,,A*5F
+$GPRMC,150439.00,A,5158.86617,N,00423.73032,E,15.740,166.88,120308,,,A*5D
+$GPRMC,150440.00,A,5158.86210,N,00423.73200,E,15.287,166.00,120308,,,A*5D
+$GPRMC,150441.00,A,5158.85803,N,00423.73376,E,15.633,165.63,120308,,,A*5A
+$GPRMC,150442.00,A,5158.85370,N,00423.73562,E,16.258,165.00,120308,,,A*5A
+$GPRMC,150443.00,A,5158.84934,N,00423.73753,E,16.645,164.55,120308,,,A*59
+$GPRMC,150444.00,A,5158.84464,N,00423.73951,E,17.620,165.05,120308,,,A*5C
+$GPRMC,150445.00,A,5158.83992,N,00423.74160,E,17.818,165.19,120308,,,A*5B
+$GPRMC,150446.00,A,5158.83532,N,00423.74376,E,17.331,165.01,120308,,,A*52
+$GPRMC,150447.00,A,5158.83084,N,00423.74567,E,15.868,165.44,120308,,,A*59
+$GPRMC,150448.00,A,5158.82663,N,00423.74737,E,15.039,164.51,120308,,,A*56
+$GPRMC,150449.00,A,5158.82272,N,00423.74924,E,14.489,162.54,120308,,,A*52
+$GPRMC,150450.00,A,5158.81880,N,00423.75110,E,14.727,163.90,120308,,,A*5E
+$GPRMC,150451.00,A,5158.81518,N,00423.75284,E,12.363,162.90,120308,,,A*5E
+$GPRMC,150452.00,A,5158.81262,N,00423.75421,E,7.750,160.30,120308,,,A*66
+$GPRMC,150453.00,A,5158.81094,N,00423.75519,E,5.498,161.31,120308,,,A*63
+$GPRMC,150454.00,A,5158.80987,N,00423.75579,E,3.267,156.59,120308,,,A*62
+$GPRMC,150455.00,A,5158.80915,N,00423.75608,E,2.365,150.98,120308,,,A*64
+$GPRMC,150456.00,A,5158.80880,N,00423.75611,E,1.204,151.62,120308,,,A*63
+$GPRMC,150457.00,A,5158.80868,N,00423.75621,E,0.845,152.37,120308,,,A*6A
+$GPRMC,150458.00,A,5158.80877,N,00423.75635,E,0.483,152.93,120308,,,A*66
+$GPRMC,150459.00,A,5158.80885,N,00423.75632,E,0.178,150.44,120308,,,A*64
+$GPRMC,150500.00,A,5158.80870,N,00423.75617,E,0.214,151.67,120308,,,A*6D
+$GPRMC,150501.00,A,5158.80877,N,00423.75610,E,0.021,151.92,120308,,,A*62
+$GPRMC,150502.00,A,5158.80876,N,00423.75623,E,0.767,152.92,120308,,,A*66
+$GPRMC,150503.00,A,5158.80846,N,00423.75649,E,2.102,158.84,120308,,,A*62
+$GPRMC,150504.00,A,5158.80783,N,00423.75702,E,3.626,155.44,120308,,,A*6C
+$GPRMC,150505.00,A,5158.80697,N,00423.75784,E,4.347,152.81,120308,,,A*6C
+$GPRMC,150506.00,A,5158.80566,N,00423.75847,E,4.637,162.01,120308,,,A*6B
+$GPRMC,150507.00,A,5158.80447,N,00423.75884,E,3.759,164.14,120308,,,A*6B
+$GPRMC,150508.00,A,5158.80353,N,00423.75928,E,3.587,163.12,120308,,,A*61
+$GPRMC,150509.00,A,5158.80235,N,00423.75947,E,3.569,165.34,120308,,,A*6A
+$GPRMC,150510.00,A,5158.80148,N,00423.76007,E,3.498,156.41,120308,,,A*68
+$GPRMC,150511.00,A,5158.80072,N,00423.76090,E,3.834,150.95,120308,,,A*6A
+$GPRMC,150512.00,A,5158.79979,N,00423.76162,E,4.145,154.35,120308,,,A*67
+$GPRMC,150513.00,A,5158.79894,N,00423.76244,E,3.709,153.22,120308,,,A*6B
+$GPRMC,150514.00,A,5158.79797,N,00423.76295,E,4.183,159.81,120308,,,A*6C
+$GPRMC,150515.00,A,5158.79731,N,00423.76415,E,4.065,156.43,120308,,,A*67
+$GPRMC,150516.00,A,5158.79652,N,00423.76543,E,4.670,152.53,120308,,,A*65
+$GPRMC,150517.00,A,5158.79510,N,00423.76641,E,5.772,154.36,120308,,,A*67
+$GPRMC,150518.00,A,5158.79385,N,00423.76757,E,4.933,150.83,120308,,,A*64
+$GPRMC,150519.00,A,5158.79250,N,00423.76805,E,3.847,156.52,120308,,,A*6B
+$GPRMC,150520.00,A,5158.79123,N,00423.76823,E,3.579,163.16,120308,,,A*64
+$GPRMC,150521.00,A,5158.79001,N,00423.76840,E,3.618,165.83,120308,,,A*6F
+$GPRMC,150522.00,A,5158.78894,N,00423.76861,E,2.936,161.60,120308,,,A*61
+$GPRMC,150523.00,A,5158.78797,N,00423.76884,E,2.957,162.73,120308,,,A*61
+$GPRMC,150524.00,A,5158.78677,N,00423.76893,E,2.821,164.16,120308,,,A*6A
+$GPRMC,150525.00,A,5158.78572,N,00423.76906,E,2.662,165.42,120308,,,A*69
+$GPRMC,150526.00,A,5158.78496,N,00423.76928,E,2.002,166.65,120308,,,A*6B
+$GPRMC,150527.00,A,5158.78449,N,00423.76944,E,0.857,166.28,120308,,,A*61
+$GPRMC,150528.00,A,5158.78410,N,00423.76945,E,0.527,166.44,120308,,,A*63
+$GPRMC,150529.00,A,5158.78397,N,00423.76951,E,0.225,155.82,120308,,,A*60
+$GPRMC,150530.00,A,5158.78385,N,00423.76943,E,0.042,157.01,120308,,,A*62
+$GPRMC,150531.00,A,5158.78373,N,00423.76940,E,0.020,162.42,120308,,,A*6C
+$GPRMC,150532.00,A,5158.78362,N,00423.76941,E,0.018,,120308,,,A*78
+$GPRMC,150533.00,A,5158.78346,N,00423.76934,E,0.041,164.05,120308,,,A*69
+$GPRMC,150534.00,A,5158.78331,N,00423.76927,E,0.129,163.83,120308,,,A*6A
+$GPRMC,150535.00,A,5158.78305,N,00423.76930,E,1.051,163.91,120308,,,A*66
+$GPRMC,150536.00,A,5158.78255,N,00423.76949,E,2.522,165.78,120308,,,A*6C
+$GPRMC,150537.00,A,5158.78158,N,00423.76979,E,4.648,171.41,120308,,,A*66
+$GPRMC,150538.00,A,5158.78006,N,00423.77009,E,5.404,167.51,120308,,,A*61
+$GPRMC,150539.00,A,5158.77862,N,00423.77056,E,4.945,165.47,120308,,,A*63
+$GPRMC,150540.00,A,5158.77730,N,00423.77102,E,4.481,163.62,120308,,,A*61
+$GPRMC,150541.00,A,5158.77604,N,00423.77142,E,4.520,164.74,120308,,,A*68
+$GPRMC,150542.00,A,5158.77483,N,00423.77186,E,4.379,165.05,120308,,,A*63
+$GPRMC,150543.00,A,5158.77379,N,00423.77234,E,3.507,161.50,120308,,,A*66
+$GPRMC,150544.00,A,5158.77306,N,00423.77296,E,3.147,146.26,120308,,,A*65
+$GPRMC,150545.00,A,5158.77239,N,00423.77369,E,3.192,146.97,120308,,,A*6A
+$GPRMC,150546.00,A,5158.77137,N,00423.77401,E,3.730,160.73,120308,,,A*6D
+$GPRMC,150547.00,A,5158.77037,N,00423.77443,E,3.938,166.03,120308,,,A*6C
+$GPRMC,150548.00,A,5158.76944,N,00423.77492,E,3.781,164.60,120308,,,A*68
+$GPRMC,150549.00,A,5158.76882,N,00423.77588,E,3.469,160.59,120308,,,A*63
+$GPRMC,150550.00,A,5158.76805,N,00423.77642,E,3.341,162.66,120308,,,A*62
+$GPRMC,150551.00,A,5158.76731,N,00423.77693,E,3.110,162.94,120308,,,A*6C
+$GPRMC,150552.00,A,5158.76655,N,00423.77738,E,2.908,164.25,120308,,,A*60
+$GPRMC,150553.00,A,5158.76589,N,00423.77769,E,2.278,166.87,120308,,,A*61
+$GPRMC,150554.00,A,5158.76533,N,00423.77781,E,2.225,170.81,120308,,,A*68
+$GPRMC,150555.00,A,5158.76488,N,00423.77785,E,1.485,170.73,120308,,,A*6E
+$GPRMC,150556.00,A,5158.76468,N,00423.77789,E,0.849,170.54,120308,,,A*67
+$GPRMC,150557.00,A,5158.76456,N,00423.77793,E,0.465,170.35,120308,,,A*65
+$GPRMC,150558.00,A,5158.76455,N,00423.77796,E,0.243,170.50,120308,,,A*6D
+$GPRMC,150559.00,A,5158.76448,N,00423.77787,E,0.067,169.99,120308,,,A*69
+$GPRMC,150600.00,A,5158.76431,N,00423.77794,E,1.322,169.58,120308,,,A*64
+$GPRMC,150601.00,A,5158.76370,N,00423.77821,E,3.253,165.15,120308,,,A*66
+$GPRMC,150602.00,A,5158.76259,N,00423.77861,E,4.933,169.00,120308,,,A*69
+$GPRMC,150603.00,A,5158.76103,N,00423.77928,E,6.374,164.14,120308,,,A*6B
+$GPRMC,150604.00,A,5158.75969,N,00423.78005,E,4.346,161.82,120308,,,A*6B
+$GPRMC,150605.00,A,5158.75837,N,00423.78091,E,5.010,153.44,120308,,,A*67
+$GPRMC,150606.00,A,5158.75690,N,00423.78213,E,5.560,158.14,120308,,,A*63
+$GPRMC,150607.00,A,5158.75546,N,00423.78284,E,4.525,159.50,120308,,,A*65
+$GPRMC,150608.00,A,5158.75406,N,00423.78339,E,4.774,164.66,120308,,,A*65
+$GPRMC,150609.00,A,5158.75258,N,00423.78395,E,5.061,164.10,120308,,,A*6C
+$GPRMC,150610.00,A,5158.75123,N,00423.78475,E,4.928,158.20,120308,,,A*6B
+$GPRMC,150611.00,A,5158.74996,N,00423.78560,E,4.932,160.35,120308,,,A*6C
+$GPRMC,150612.00,A,5158.74818,N,00423.78597,E,4.864,169.15,120308,,,A*69
+$GPRMC,150613.00,A,5158.74666,N,00423.78643,E,4.761,164.64,120308,,,A*64
+$GPRMC,150614.00,A,5158.74528,N,00423.78673,E,4.511,166.83,120308,,,A*67
+$GPRMC,150615.00,A,5158.74422,N,00423.78725,E,3.763,164.34,120308,,,A*61
+$GPRMC,150616.00,A,5158.74323,N,00423.78771,E,3.464,161.68,120308,,,A*6D
+$GPRMC,150617.00,A,5158.74223,N,00423.78803,E,3.224,168.75,120308,,,A*60
+$GPRMC,150618.00,A,5158.74132,N,00423.78824,E,2.716,167.84,120308,,,A*6D
+$GPRMC,150619.00,A,5158.74050,N,00423.78842,E,2.383,164.59,120308,,,A*62
+$GPRMC,150620.00,A,5158.73987,N,00423.78866,E,2.182,164.86,120308,,,A*6B
+$GPRMC,150621.00,A,5158.73925,N,00423.78887,E,2.027,165.94,120308,,,A*61
+$GPRMC,150622.00,A,5158.73856,N,00423.78900,E,2.246,162.06,120308,,,A*60
+$GPRMC,150623.00,A,5158.73758,N,00423.78919,E,4.135,164.98,120308,,,A*68
+$GPRMC,150624.00,A,5158.73619,N,00423.78972,E,5.503,164.02,120308,,,A*65
+$GPRMC,150625.00,A,5158.73396,N,00423.79005,E,7.524,167.04,120308,,,A*6C
+$GPRMC,150626.00,A,5158.73128,N,00423.79033,E,9.246,169.78,120308,,,A*65
+$GPRMC,150627.00,A,5158.72872,N,00423.79119,E,8.869,166.89,120308,,,A*6D
+$GPRMC,150628.00,A,5158.72667,N,00423.79247,E,7.297,157.98,120308,,,A*66
+$GPRMC,150629.00,A,5158.72475,N,00423.79374,E,7.608,161.05,120308,,,A*64
+$GPRMC,150630.00,A,5158.72280,N,00423.79489,E,7.948,163.39,120308,,,A*63
+$GPRMC,150631.00,A,5158.72087,N,00423.79603,E,7.567,163.21,120308,,,A*6F
+$GPRMC,150632.00,A,5158.71873,N,00423.79701,E,8.022,163.21,120308,,,A*64
+$GPRMC,150633.00,A,5158.71628,N,00423.79768,E,8.266,165.32,120308,,,A*6C
+$GPRMC,150634.00,A,5158.71393,N,00423.79850,E,7.703,165.31,120308,,,A*60
+$GPRMC,150635.00,A,5158.71174,N,00423.79929,E,7.520,165.09,120308,,,A*6D
+$GPRMC,150636.00,A,5158.70979,N,00423.80022,E,7.004,164.75,120308,,,A*67
+$GPRMC,150637.00,A,5158.70784,N,00423.80102,E,6.864,165.77,120308,,,A*65
+$GPRMC,150638.00,A,5158.70578,N,00423.80173,E,7.240,165.01,120308,,,A*61
+$GPRMC,150639.00,A,5158.70366,N,00423.80270,E,7.806,160.50,120308,,,A*60
+$GPRMC,150640.00,A,5158.70132,N,00423.80381,E,9.139,163.63,120308,,,A*6A
+$GPRMC,150641.00,A,5158.69876,N,00423.80480,E,8.957,162.77,120308,,,A*69
+$GPRMC,150642.00,A,5158.69610,N,00423.80553,E,8.343,163.96,120308,,,A*6A
+$GPRMC,150643.00,A,5158.69371,N,00423.80629,E,7.484,165.37,120308,,,A*69
+$GPRMC,150644.00,A,5158.69161,N,00423.80702,E,6.844,164.02,120308,,,A*63
+$GPRMC,150645.00,A,5158.68950,N,00423.80786,E,7.720,165.45,120308,,,A*6B
+$GPRMC,150646.00,A,5158.68721,N,00423.80887,E,9.050,165.46,120308,,,A*63
+$GPRMC,150647.00,A,5158.68442,N,00423.81020,E,11.255,163.00,120308,,,A*5A
+$GPRMC,150648.00,A,5158.68113,N,00423.81188,E,13.210,164.17,120308,,,A*55
+$GPRMC,150649.00,A,5158.67724,N,00423.81321,E,13.372,164.66,120308,,,A*5B
+$GPRMC,150650.00,A,5158.67358,N,00423.81467,E,12.847,165.02,120308,,,A*56
+$GPRMC,150651.00,A,5158.67037,N,00423.81606,E,10.839,165.10,120308,,,A*50
+$GPRMC,150652.00,A,5158.66790,N,00423.81729,E,8.215,163.78,120308,,,A*61
+$GPRMC,150653.00,A,5158.66587,N,00423.81797,E,5.661,165.08,120308,,,A*6A
+$GPRMC,150654.00,A,5158.66450,N,00423.81837,E,3.676,165.74,120308,,,A*68
+$GPRMC,150655.00,A,5158.66342,N,00423.81865,E,3.789,166.09,120308,,,A*62
+$GPRMC,150656.00,A,5158.66217,N,00423.81901,E,4.990,165.49,120308,,,A*65
+$GPRMC,150657.00,A,5158.66086,N,00423.81962,E,4.921,165.70,120308,,,A*6B
+$GPRMC,150658.00,A,5158.65950,N,00423.82030,E,5.542,162.38,120308,,,A*6B
+$GPRMC,150659.00,A,5158.65773,N,00423.82136,E,7.833,161.09,120308,,,A*6A
+$GPRMC,150700.00,A,5158.65525,N,00423.82241,E,10.279,165.30,120308,,,A*59
+$GPRMC,150701.00,A,5158.65220,N,00423.82370,E,11.765,163.12,120308,,,A*56
+$GPRMC,150702.00,A,5158.64864,N,00423.82523,E,14.196,164.34,120308,,,A*52
+$GPRMC,150703.00,A,5158.64465,N,00423.82695,E,14.932,164.65,120308,,,A*52
+$GPRMC,150704.00,A,5158.64027,N,00423.82879,E,16.371,164.36,120308,,,A*52
+$GPRMC,150705.00,A,5158.63509,N,00423.83066,E,19.153,165.13,120308,,,A*51
+$GPRMC,150706.00,A,5158.62915,N,00423.83266,E,21.274,165.32,120308,,,A*5E
+$GPRMC,150707.00,A,5158.62287,N,00423.83502,E,22.631,165.35,120308,,,A*5B
+$GPRMC,150708.00,A,5158.61646,N,00423.83760,E,24.110,165.60,120308,,,A*5A
+$GPRMC,150709.00,A,5158.60992,N,00423.84035,E,23.825,165.09,120308,,,A*5B
+$GPRMC,150710.00,A,5158.60333,N,00423.84312,E,24.305,165.13,120308,,,A*51
+$GPRMC,150711.00,A,5158.59667,N,00423.84586,E,24.475,165.43,120308,,,A*50
+$GPRMC,150712.00,A,5158.58985,N,00423.84861,E,24.825,165.26,120308,,,A*5F
+$GPRMC,150713.00,A,5158.58320,N,00423.85144,E,24.189,165.08,120308,,,A*57
+$GPRMC,150714.00,A,5158.57661,N,00423.85423,E,24.020,164.61,120308,,,A*57
+$GPRMC,150715.00,A,5158.56993,N,00423.85712,E,24.799,164.27,120308,,,A*53
+$GPRMC,150716.00,A,5158.56293,N,00423.86004,E,25.961,165.19,120308,,,A*5C
+$GPRMC,150717.00,A,5158.55555,N,00423.86310,E,27.920,165.00,120308,,,A*5A
+$GPRMC,150718.00,A,5158.54748,N,00423.86641,E,30.197,165.07,120308,,,A*5E
+$GPRMC,150719.00,A,5158.53897,N,00423.86995,E,31.592,165.19,120308,,,A*5C
+$GPRMC,150720.00,A,5158.53029,N,00423.87355,E,31.687,165.42,120308,,,A*55
+$GPRMC,150721.00,A,5158.52161,N,00423.87709,E,31.863,165.79,120308,,,A*59
+$GPRMC,150722.00,A,5158.51280,N,00423.88063,E,32.637,165.78,120308,,,A*5C
+$GPRMC,150723.00,A,5158.50374,N,00423.88426,E,32.966,165.51,120308,,,A*53
+$GPRMC,150724.00,A,5158.49488,N,00423.88802,E,32.580,165.43,120308,,,A*55
+$GPRMC,150725.00,A,5158.48617,N,00423.89168,E,32.241,165.12,120308,,,A*5B
+$GPRMC,150726.00,A,5158.47747,N,00423.89548,E,32.686,164.91,120308,,,A*50
+$GPRMC,150727.00,A,5158.46860,N,00423.89938,E,33.543,164.91,120308,,,A*5A
+$GPRMC,150728.00,A,5158.45961,N,00423.90336,E,33.920,165.16,120308,,,A*5D
+$GPRMC,150729.00,A,5158.45052,N,00423.90722,E,33.491,165.51,120308,,,A*50
+$GPRMC,150730.00,A,5158.44158,N,00423.91086,E,32.495,165.70,120308,,,A*5C
+$GPRMC,150731.00,A,5158.43292,N,00423.91441,E,31.692,165.56,120308,,,A*52
+$GPRMC,150732.00,A,5158.42448,N,00423.91791,E,30.942,165.07,120308,,,A*58
+$GPRMC,150733.00,A,5158.41614,N,00423.92141,E,30.926,165.14,120308,,,A*59
+$GPRMC,150734.00,A,5158.40766,N,00423.92486,E,31.738,165.10,120308,,,A*51
+$GPRMC,150735.00,A,5158.39893,N,00423.92860,E,33.330,164.65,120308,,,A*52
+$GPRMC,150736.00,A,5158.38989,N,00423.93250,E,34.506,164.62,120308,,,A*51
+$GPRMC,150737.00,A,5158.38061,N,00423.93660,E,34.837,164.90,120308,,,A*5A
+$GPRMC,150738.00,A,5158.37109,N,00423.94066,E,34.826,164.87,120308,,,A*54
+$GPRMC,150739.00,A,5158.36162,N,00423.94464,E,34.221,165.13,120308,,,A*5E
+$GPRMC,150740.00,A,5158.35257,N,00423.94856,E,33.386,165.23,120308,,,A*53
+$GPRMC,150741.00,A,5158.34360,N,00423.95243,E,33.082,165.28,120308,,,A*55
+$GPRMC,150742.00,A,5158.33489,N,00423.95638,E,32.120,165.21,120308,,,A*58
+$GPRMC,150743.00,A,5158.32645,N,00423.96025,E,31.051,164.94,120308,,,A*58
+$GPRMC,150744.00,A,5158.31832,N,00423.96402,E,30.088,164.60,120308,,,A*5D
+$GPRMC,150745.00,A,5158.31038,N,00423.96775,E,29.473,164.64,120308,,,A*51
+$GPRMC,150746.00,A,5158.30259,N,00423.97141,E,28.908,164.37,120308,,,A*50
+$GPRMC,150747.00,A,5158.29500,N,00423.97508,E,27.966,163.52,120308,,,A*58
+$GPRMC,150748.00,A,5158.28772,N,00423.97875,E,26.886,162.02,120308,,,A*5C
+$GPRMC,150749.00,A,5158.28081,N,00423.98252,E,25.945,160.98,120308,,,A*5A
+$GPRMC,150750.00,A,5158.27407,N,00423.98639,E,26.021,160.18,120308,,,A*5E
+$GPRMC,150751.00,A,5158.26734,N,00423.99038,E,25.733,159.93,120308,,,A*55
+$GPRMC,150752.00,A,5158.26084,N,00423.99429,E,24.795,159.81,120308,,,A*50
+$GPRMC,150753.00,A,5158.25452,N,00423.99806,E,23.903,158.69,120308,,,A*5D
+$GPRMC,150754.00,A,5158.24846,N,00424.00194,E,22.950,158.31,120308,,,A*5D
+$GPRMC,150755.00,A,5158.24264,N,00424.00579,E,22.251,157.79,120308,,,A*58
+$GPRMC,150756.00,A,5158.23700,N,00424.00973,E,22.031,156.04,120308,,,A*52
+$GPRMC,150757.00,A,5158.23151,N,00424.01367,E,21.226,156.08,120308,,,A*54
+$GPRMC,150758.00,A,5158.22624,N,00424.01750,E,20.342,155.56,120308,,,A*55
+$GPRMC,150759.00,A,5158.22115,N,00424.02130,E,19.909,154.95,120308,,,A*53
+$GPRMC,150800.00,A,5158.21627,N,00424.02515,E,19.241,154.45,120308,,,A*5C
+$GPRMC,150801.00,A,5158.21167,N,00424.02885,E,18.217,154.42,120308,,,A*5F
+$GPRMC,150802.00,A,5158.20724,N,00424.03237,E,17.551,155.00,120308,,,A*53
+$GPRMC,150803.00,A,5158.20314,N,00424.03565,E,16.212,154.47,120308,,,A*56
+$GPRMC,150804.00,A,5158.19908,N,00424.03893,E,16.223,154.15,120308,,,A*5D
+$GPRMC,150805.00,A,5158.19486,N,00424.04244,E,16.953,152.86,120308,,,A*50
+$GPRMC,150806.00,A,5158.19050,N,00424.04608,E,17.844,153.90,120308,,,A*50
+$GPRMC,150807.00,A,5158.18597,N,00424.04958,E,17.796,155.04,120308,,,A*5F
+$GPRMC,150808.00,A,5158.18163,N,00424.05298,E,16.743,154.31,120308,,,A*57
+$GPRMC,150809.00,A,5158.17755,N,00424.05614,E,15.967,154.80,120308,,,A*5B
+$GPRMC,150810.00,A,5158.17368,N,00424.05905,E,14.889,154.10,120308,,,A*5F
+$GPRMC,150811.00,A,5158.17051,N,00424.06152,E,12.748,153.83,120308,,,A*57
+$GPRMC,150812.00,A,5158.16742,N,00424.06380,E,11.972,154.71,120308,,,A*53
+$GPRMC,150813.00,A,5158.16462,N,00424.06582,E,10.397,155.49,120308,,,A*5D
+$GPRMC,150814.00,A,5158.16215,N,00424.06762,E,9.495,156.33,120308,,,A*63
+$GPRMC,150815.00,A,5158.16010,N,00424.06930,E,8.090,152.66,120308,,,A*68
+$GPRMC,150816.00,A,5158.15848,N,00424.07059,E,6.634,154.23,120308,,,A*6B
+$GPRMC,150817.00,A,5158.15720,N,00424.07154,E,4.498,152.57,120308,,,A*64
+$GPRMC,150818.00,A,5158.15630,N,00424.07219,E,3.186,150.84,120308,,,A*60
+$GPRMC,150819.00,A,5158.15575,N,00424.07258,E,1.432,150.64,120308,,,A*60
+$GPRMC,150820.00,A,5158.15550,N,00424.07266,E,0.966,150.90,120308,,,A*66
+$GPRMC,150821.00,A,5158.15548,N,00424.07265,E,0.254,147.57,120308,,,A*6A
+$GPRMC,150822.00,A,5158.15555,N,00424.07274,E,0.413,146.42,120308,,,A*65
+$GPRMC,150823.00,A,5158.15557,N,00424.07284,E,0.535,147.38,120308,,,A*60
+$GPRMC,150824.00,A,5158.15528,N,00424.07298,E,1.854,148.33,120308,,,A*6D
+$GPRMC,150825.00,A,5158.15476,N,00424.07334,E,2.609,153.77,120308,,,A*6E
+$GPRMC,150826.00,A,5158.15439,N,00424.07381,E,2.284,151.71,120308,,,A*6D
+$GPRMC,150827.00,A,5158.15385,N,00424.07427,E,2.147,152.57,120308,,,A*6C
+$GPRMC,150828.00,A,5158.15340,N,00424.07466,E,1.956,152.69,120308,,,A*69
+$GPRMC,150829.00,A,5158.15282,N,00424.07508,E,1.726,152.75,120308,,,A*6A
+$GPRMC,150830.00,A,5158.15250,N,00424.07536,E,1.639,152.88,120308,,,A*6D
+$GPRMC,150831.00,A,5158.15226,N,00424.07569,E,1.477,153.07,120308,,,A*69
+$GPRMC,150832.00,A,5158.15197,N,00424.07599,E,0.996,153.01,120308,,,A*69
+$GPRMC,150833.00,A,5158.15248,N,00424.07624,E,1.130,152.87,120308,,,A*66
+$GPRMC,150834.00,A,5158.15276,N,00424.07640,E,0.232,152.75,120308,,,A*63
+$GPRMC,150835.00,A,5158.15284,N,00424.07656,E,0.100,148.81,120308,,,A*6A
+$GPRMC,150836.00,A,5158.15299,N,00424.07659,E,0.069,143.85,120308,,,A*6B
+$GPRMC,150837.00,A,5158.15305,N,00424.07661,E,0.133,145.11,120308,,,A*60
+$GPRMC,150838.00,A,5158.15297,N,00424.07664,E,0.192,145.98,120308,,,A*6A
+$GPRMC,150839.00,A,5158.15296,N,00424.07664,E,0.303,148.50,120308,,,A*69
+$GPRMC,150840.00,A,5158.15279,N,00424.07690,E,1.770,148.82,120308,,,A*63
+$GPRMC,150841.00,A,5158.15209,N,00424.07752,E,3.780,154.79,120308,,,A*6E
+$GPRMC,150842.00,A,5158.15105,N,00424.07832,E,4.314,155.46,120308,,,A*68
+$GPRMC,150843.00,A,5158.15000,N,00424.07915,E,3.958,153.06,120308,,,A*6E
+$GPRMC,150844.00,A,5158.14900,N,00424.07986,E,3.729,157.52,120308,,,A*66
+$GPRMC,150845.00,A,5158.14800,N,00424.08053,E,3.708,157.31,120308,,,A*6E
+$GPRMC,150846.00,A,5158.14714,N,00424.08119,E,3.029,153.95,120308,,,A*66
+$GPRMC,150847.00,A,5158.14655,N,00424.08177,E,2.009,150.19,120308,,,A*6F
+$GPRMC,150848.00,A,5158.14616,N,00424.08228,E,2.260,152.71,120308,,,A*6F
+$GPRMC,150849.00,A,5158.14526,N,00424.08284,E,4.214,156.61,120308,,,A*68
+$GPRMC,150850.00,A,5158.14417,N,00424.08348,E,4.181,156.15,120308,,,A*6E
+$GPRMC,150851.00,A,5158.14313,N,00424.08427,E,3.902,155.62,120308,,,A*65
+$GPRMC,150852.00,A,5158.14210,N,00424.08494,E,3.499,153.75,120308,,,A*63
+$GPRMC,150853.00,A,5158.14118,N,00424.08561,E,3.114,153.13,120308,,,A*62
+$GPRMC,150854.00,A,5158.14036,N,00424.08615,E,2.302,152.21,120308,,,A*6C
+$GPRMC,150855.00,A,5158.13976,N,00424.08652,E,1.583,152.40,120308,,,A*6F
+$GPRMC,150856.00,A,5158.13942,N,00424.08673,E,0.392,151.86,120308,,,A*66
+$GPRMC,150857.00,A,5158.13927,N,00424.08677,E,0.095,148.28,120308,,,A*68
+$GPRMC,150858.00,A,5158.13923,N,00424.08680,E,0.084,143.41,120308,,,A*6F
+$GPRMC,150859.00,A,5158.13916,N,00424.08678,E,0.124,144.07,120308,,,A*61
+$GPRMC,150900.00,A,5158.13901,N,00424.08679,E,0.456,144.51,120308,,,A*68
+$GPRMC,150901.00,A,5158.13848,N,00424.08710,E,2.791,147.81,120308,,,A*6F
+$GPRMC,150902.00,A,5158.13729,N,00424.08794,E,5.990,155.23,120308,,,A*6B
+$GPRMC,150903.00,A,5158.13548,N,00424.08927,E,7.919,154.50,120308,,,A*6F
+$GPRMC,150904.00,A,5158.13326,N,00424.09098,E,9.359,154.49,120308,,,A*62
+$GPRMC,150905.00,A,5158.13072,N,00424.09291,E,10.444,154.54,120308,,,A*55
+$GPRMC,150906.00,A,5158.12813,N,00424.09487,E,10.235,153.83,120308,,,A*54
+$GPRMC,150907.00,A,5158.12532,N,00424.09694,E,10.925,155.19,120308,,,A*54
+$GPRMC,150908.00,A,5158.12240,N,00424.09927,E,12.248,154.46,120308,,,A*57
+$GPRMC,150909.00,A,5158.11895,N,00424.10182,E,13.239,154.36,120308,,,A*58
+$GPRMC,150910.00,A,5158.11587,N,00424.10424,E,12.557,154.22,120308,,,A*5C
+$GPRMC,150911.00,A,5158.11276,N,00424.10663,E,11.761,153.89,120308,,,A*57
+$GPRMC,150912.00,A,5158.10988,N,00424.10901,E,12.187,154.86,120308,,,A*51
+$GPRMC,150913.00,A,5158.10663,N,00424.11138,E,12.875,154.74,120308,,,A*50
+$GPRMC,150914.00,A,5158.10332,N,00424.11385,E,13.914,154.87,120308,,,A*59
+$GPRMC,150915.00,A,5158.09966,N,00424.11659,E,14.818,153.82,120308,,,A*57
+$GPRMC,150916.00,A,5158.09590,N,00424.11944,E,14.722,154.59,120308,,,A*55
+$GPRMC,150917.00,A,5158.09235,N,00424.12221,E,13.855,153.83,120308,,,A*5F
+$GPRMC,150918.00,A,5158.08895,N,00424.12471,E,12.642,153.99,120308,,,A*50
+$GPRMC,150919.00,A,5158.08614,N,00424.12696,E,11.503,153.00,120308,,,A*58
+$GPRMC,150920.00,A,5158.08333,N,00424.12928,E,11.417,153.41,120308,,,A*59
+$GPRMC,150921.00,A,5158.08079,N,00424.13158,E,10.640,152.68,120308,,,A*50
+$GPRMC,150922.00,A,5158.07808,N,00424.13373,E,10.481,153.90,120308,,,A*50
+$GPRMC,150923.00,A,5158.07573,N,00424.13581,E,10.479,153.82,120308,,,A*5F
+$GPRMC,150924.00,A,5158.07279,N,00424.13781,E,10.862,154.51,120308,,,A*58
+$GPRMC,150925.00,A,5158.07011,N,00424.13995,E,10.378,152.59,120308,,,A*50
+$GPRMC,150926.00,A,5158.06762,N,00424.14214,E,9.612,150.90,120308,,,A*62
+$GPRMC,150927.00,A,5158.06546,N,00424.14416,E,8.986,152.26,120308,,,A*6F
+$GPRMC,150928.00,A,5158.06311,N,00424.14591,E,9.095,153.83,120308,,,A*6E
+$GPRMC,150929.00,A,5158.06077,N,00424.14782,E,9.741,154.05,120308,,,A*6B
+$GPRMC,150930.00,A,5158.05812,N,00424.14980,E,10.526,156.83,120308,,,A*50
+$GPRMC,150931.00,A,5158.05539,N,00424.15202,E,10.874,152.15,120308,,,A*54
+$GPRMC,150932.00,A,5158.05264,N,00424.15454,E,11.699,153.56,120308,,,A*57
+$GPRMC,150933.00,A,5158.04936,N,00424.15679,E,12.085,154.58,120308,,,A*57
+$GPRMC,150934.00,A,5158.04610,N,00424.15908,E,11.986,154.67,120308,,,A*57
+$GPRMC,150935.00,A,5158.04288,N,00424.16148,E,13.145,155.37,120308,,,A*5D
+$GPRMC,150936.00,A,5158.03954,N,00424.16398,E,13.359,155.05,120308,,,A*52
+$GPRMC,150937.00,A,5158.03650,N,00424.16635,E,11.634,154.06,120308,,,A*54
+$GPRMC,150938.00,A,5158.03421,N,00424.16839,E,8.181,151.46,120308,,,A*6D
+$GPRMC,150939.00,A,5158.03252,N,00424.16988,E,5.781,153.03,120308,,,A*6D
+$GPRMC,150940.00,A,5158.03161,N,00424.17086,E,4.434,150.58,120308,,,A*67
+$GPRMC,150941.00,A,5158.03081,N,00424.17196,E,3.656,137.89,120308,,,A*65
+$GPRMC,150942.00,A,5158.03043,N,00424.17287,E,2.496,143.23,120308,,,A*67
+$GPRMC,150943.00,A,5158.03015,N,00424.17335,E,1.678,143.82,120308,,,A*67
+$GPRMC,150944.00,A,5158.02987,N,00424.17356,E,1.144,144.55,120308,,,A*63
+$GPRMC,150945.00,A,5158.02977,N,00424.17376,E,0.762,145.13,120308,,,A*6F
+$GPRMC,150946.00,A,5158.02973,N,00424.17388,E,0.377,146.02,120308,,,A*6A
+$GPRMC,150947.00,A,5158.02977,N,00424.17391,E,0.034,144.41,120308,,,A*66
+$GPRMC,150948.00,A,5158.02980,N,00424.17392,E,0.161,145.62,120308,,,A*63
+$GPRMC,150949.00,A,5158.02979,N,00424.17394,E,0.360,144.79,120308,,,A*6A
+$GPRMC,150950.00,A,5158.02961,N,00424.17418,E,1.347,145.23,120308,,,A*62
+$GPRMC,150951.00,A,5158.02919,N,00424.17463,E,2.085,147.62,120308,,,A*69
+$GPRMC,150952.00,A,5158.02872,N,00424.17504,E,2.056,155.71,120308,,,A*69
+$GPRMC,150953.00,A,5158.02832,N,00424.17556,E,2.424,150.79,120308,,,A*67
+$GPRMC,150954.00,A,5158.02750,N,00424.17628,E,4.656,153.10,120308,,,A*6C
+$GPRMC,150955.00,A,5158.02609,N,00424.17723,E,6.305,153.81,120308,,,A*63
+$GPRMC,150956.00,A,5158.02435,N,00424.17864,E,8.412,155.13,120308,,,A*63
+$GPRMC,150957.00,A,5158.02207,N,00424.18053,E,10.147,152.63,120308,,,A*5A
+$GPRMC,150958.00,A,5158.01935,N,00424.18258,E,10.830,153.07,120308,,,A*5F
+$GPRMC,150959.00,A,5158.01694,N,00424.18462,E,9.268,152.79,120308,,,A*62
+$GPRMC,151000.00,A,5158.01483,N,00424.18632,E,7.325,153.78,120308,,,A*63
+$GPRMC,151001.00,A,5158.01274,N,00424.18759,E,6.501,155.17,120308,,,A*6E
+$GPRMC,151002.00,A,5158.01100,N,00424.18875,E,6.257,156.36,120308,,,A*68
+$GPRMC,151003.00,A,5158.00957,N,00424.18974,E,5.511,155.51,120308,,,A*66
+$GPRMC,151004.00,A,5158.00797,N,00424.19063,E,5.502,162.00,120308,,,A*6F
+$GPRMC,151005.00,A,5158.00656,N,00424.19146,E,4.702,153.86,120308,,,A*6B
+$GPRMC,151006.00,A,5158.00516,N,00424.19217,E,4.749,160.95,120308,,,A*65
+$GPRMC,151007.00,A,5158.00394,N,00424.19283,E,4.034,156.47,120308,,,A*62
+$GPRMC,151008.00,A,5158.00291,N,00424.19350,E,3.466,152.55,120308,,,A*65
+$GPRMC,151009.00,A,5158.00190,N,00424.19416,E,4.135,154.41,120308,,,A*64
+$GPRMC,151010.00,A,5158.00061,N,00424.19502,E,5.505,152.24,120308,,,A*64
+$GPRMC,151011.00,A,5157.99880,N,00424.19624,E,7.733,152.94,120308,,,A*64
+$GPRMC,151012.00,A,5157.99595,N,00424.19790,E,11.223,155.50,120308,,,A*5C
+$GPRMC,151013.00,A,5157.99287,N,00424.20011,E,12.555,154.68,120308,,,A*52
+$GPRMC,151014.00,A,5157.98940,N,00424.20250,E,12.886,155.34,120308,,,A*58
+$GPRMC,151015.00,A,5157.98624,N,00424.20488,E,12.074,154.16,120308,,,A*53
+$GPRMC,151016.00,A,5157.98324,N,00424.20715,E,11.084,153.82,120308,,,A*54
+$GPRMC,151017.00,A,5157.98034,N,00424.20917,E,10.795,157.76,120308,,,A*52
+$GPRMC,151018.00,A,5157.97766,N,00424.21127,E,10.390,158.50,120308,,,A*52
+$GPRMC,151019.00,A,5157.97468,N,00424.21272,E,10.128,160.62,120308,,,A*56
+$GPRMC,151020.00,A,5157.97190,N,00424.21455,E,10.688,157.07,120308,,,A*57
+$GPRMC,151021.00,A,5157.96892,N,00424.21648,E,11.951,159.29,120308,,,A*5A
+$GPRMC,151022.00,A,5157.96557,N,00424.21880,E,13.164,154.14,120308,,,A*58
+$GPRMC,151023.00,A,5157.96241,N,00424.22105,E,11.744,154.11,120308,,,A*5D
+$GPRMC,151024.00,A,5157.95927,N,00424.22300,E,10.797,160.29,120308,,,A*56
+$GPRMC,151025.00,A,5157.95646,N,00424.22478,E,10.309,159.41,120308,,,A*50
+$GPRMC,151026.00,A,5157.95370,N,00424.22690,E,10.708,155.73,120308,,,A*5F
+$GPRMC,151027.00,A,5157.95107,N,00424.22904,E,10.253,152.87,120308,,,A*59
+$GPRMC,151028.00,A,5157.94810,N,00424.23153,E,11.228,154.20,120308,,,A*55
+$GPRMC,151029.00,A,5157.94518,N,00424.23403,E,11.691,152.26,120308,,,A*57
+$GPRMC,151030.00,A,5157.94225,N,00424.23638,E,11.379,154.13,120308,,,A*5F
+$GPRMC,151031.00,A,5157.93930,N,00424.23855,E,10.932,155.25,120308,,,A*53
+$GPRMC,151032.00,A,5157.93619,N,00424.24067,E,12.000,155.43,120308,,,A*50
+$GPRMC,151033.00,A,5157.93320,N,00424.24307,E,11.761,152.59,120308,,,A*54
+$GPRMC,151034.00,A,5157.93028,N,00424.24537,E,12.098,153.82,120308,,,A*58
+$GPRMC,151035.00,A,5157.92761,N,00424.24750,E,10.906,153.75,120308,,,A*55
+$GPRMC,151036.00,A,5157.92511,N,00424.24957,E,10.646,151.07,120308,,,A*56
+$GPRMC,151037.00,A,5157.92257,N,00424.25137,E,9.788,155.15,120308,,,A*61
+$GPRMC,151038.00,A,5157.92025,N,00424.25320,E,9.437,155.67,120308,,,A*6F
+$GPRMC,151039.00,A,5157.91825,N,00424.25530,E,8.477,147.19,120308,,,A*6D
+$GPRMC,151040.00,A,5157.91615,N,00424.25704,E,8.230,154.74,120308,,,A*67
+$GPRMC,151041.00,A,5157.91424,N,00424.25899,E,8.111,151.34,120308,,,A*6C
+$GPRMC,151042.00,A,5157.91226,N,00424.26071,E,7.766,153.10,120308,,,A*6B
+$GPRMC,151043.00,A,5157.91055,N,00424.26229,E,7.155,152.53,120308,,,A*63
+$GPRMC,151044.00,A,5157.90886,N,00424.26387,E,6.791,148.29,120308,,,A*6F
+$GPRMC,151045.00,A,5157.90710,N,00424.26598,E,8.253,146.09,120308,,,A*6F
+$GPRMC,151046.00,A,5157.90535,N,00424.26791,E,6.972,150.92,120308,,,A*61
+$GPRMC,151047.00,A,5157.90367,N,00424.26944,E,6.659,155.70,120308,,,A*68
+$GPRMC,151048.00,A,5157.90197,N,00424.27106,E,7.575,149.71,120308,,,A*65
+$GPRMC,151049.00,A,5157.90018,N,00424.27262,E,7.190,144.28,120308,,,A*6D
+$GPRMC,151050.00,A,5157.89821,N,00424.27421,E,8.037,153.91,120308,,,A*69
+$GPRMC,151051.00,A,5157.89619,N,00424.27580,E,7.755,152.66,120308,,,A*62
+$GPRMC,151052.00,A,5157.89394,N,00424.27735,E,8.751,154.20,120308,,,A*62
+$GPRMC,151053.00,A,5157.89172,N,00424.27899,E,8.324,150.49,120308,,,A*6D
+$GPRMC,151054.00,A,5157.88946,N,00424.28037,E,7.999,153.31,120308,,,A*68
+$GPRMC,151055.00,A,5157.88727,N,00424.28165,E,7.869,155.56,120308,,,A*6F
+$GPRMC,151056.00,A,5157.88536,N,00424.28292,E,6.824,153.64,120308,,,A*6A
+$GPRMC,151057.00,A,5157.88373,N,00424.28399,E,5.857,152.88,120308,,,A*62
+$GPRMC,151058.00,A,5157.88225,N,00424.28492,E,5.358,153.76,120308,,,A*67
+$GPRMC,151059.00,A,5157.88072,N,00424.28585,E,5.759,153.96,120308,,,A*6A
+$GPRMC,151100.00,A,5157.87914,N,00424.28677,E,5.593,154.86,120308,,,A*6D
+$GPRMC,151101.00,A,5157.87770,N,00424.28772,E,5.409,154.24,120308,,,A*6E
+$GPRMC,151102.00,A,5157.87639,N,00424.28877,E,5.597,154.54,120308,,,A*6A
+$GPRMC,151103.00,A,5157.87512,N,00424.28990,E,5.630,154.30,120308,,,A*65
+$GPRMC,151104.00,A,5157.87376,N,00424.29091,E,6.037,155.21,120308,,,A*6C
+$GPRMC,151105.00,A,5157.87239,N,00424.29203,E,6.161,155.78,120308,,,A*60
+$GPRMC,151106.00,A,5157.87081,N,00424.29316,E,6.712,154.24,120308,,,A*6D
+$GPRMC,151107.00,A,5157.86930,N,00424.29474,E,6.527,146.63,120308,,,A*69
+$GPRMC,151108.00,A,5157.86745,N,00424.29631,E,8.003,154.09,120308,,,A*6B
+$GPRMC,151109.00,A,5157.86533,N,00424.29760,E,10.096,164.85,120308,,,A*5E
+$GPRMC,151110.00,A,5157.86299,N,00424.29902,E,9.172,156.90,120308,,,A*6D
+$GPRMC,151111.00,A,5157.86086,N,00424.30092,E,9.342,147.26,120308,,,A*64
+$GPRMC,151112.00,A,5157.85837,N,00424.30259,E,10.099,159.22,120308,,,A*55
+$GPRMC,151113.00,A,5157.85594,N,00424.30432,E,9.582,153.10,120308,,,A*67
+$GPRMC,151114.00,A,5157.85336,N,00424.30606,E,9.913,153.78,120308,,,A*61
+$GPRMC,151115.00,A,5157.85044,N,00424.30790,E,12.496,159.38,120308,,,A*5C
+$GPRMC,151116.00,A,5157.84683,N,00424.31062,E,14.640,153.99,120308,,,A*56
+$GPRMC,151117.00,A,5157.84254,N,00424.31373,E,18.357,154.07,120308,,,A*55
+$GPRMC,151118.00,A,5157.83765,N,00424.31768,E,19.857,151.96,120308,,,A*53
+$GPRMC,151119.00,A,5157.83233,N,00424.32214,E,21.720,151.88,120308,,,A*52
+$GPRMC,151120.00,A,5157.82646,N,00424.32645,E,23.398,154.62,120308,,,A*5B
+$GPRMC,151121.00,A,5157.82034,N,00424.33091,E,24.100,154.29,120308,,,A*5C
+$GPRMC,151122.00,A,5157.81388,N,00424.33554,E,25.654,155.87,120308,,,A*56
+$GPRMC,151123.00,A,5157.80661,N,00424.34042,E,28.266,158.23,120308,,,A*5A
+$GPRMC,151124.00,A,5157.79941,N,00424.34562,E,29.108,158.55,120308,,,A*5A
+$GPRMC,151125.00,A,5157.79200,N,00424.35117,E,29.172,155.57,120308,,,A*50
+$GPRMC,151126.00,A,5157.78475,N,00424.35694,E,29.884,153.14,120308,,,A*5B
+$GPRMC,151127.00,A,5157.77752,N,00424.36329,E,29.667,153.81,120308,,,A*5C
+$GPRMC,151128.00,A,5157.77001,N,00424.36945,E,30.295,154.04,120308,,,A*59
+$GPRMC,151129.00,A,5157.76216,N,00424.37530,E,31.042,154.80,120308,,,A*57
+$GPRMC,151130.00,A,5157.75430,N,00424.38159,E,31.557,154.32,120308,,,A*52
+$GPRMC,151131.00,A,5157.74610,N,00424.38801,E,32.428,154.97,120308,,,A*53
+$GPRMC,151132.00,A,5157.73790,N,00424.39429,E,32.446,154.56,120308,,,A*5C
+$GPRMC,151133.00,A,5157.72954,N,00424.40059,E,33.178,154.83,120308,,,A*56
+$GPRMC,151134.00,A,5157.72108,N,00424.40689,E,33.119,154.38,120308,,,A*5C
+$GPRMC,151135.00,A,5157.71282,N,00424.41322,E,33.092,154.25,120308,,,A*54
+$GPRMC,151136.00,A,5157.70459,N,00424.41940,E,32.606,154.83,120308,,,A*5E
+$GPRMC,151137.00,A,5157.69625,N,00424.42542,E,32.650,155.63,120308,,,A*5F
+$GPRMC,151138.00,A,5157.68763,N,00424.43175,E,34.275,154.73,120308,,,A*56
+$GPRMC,151139.00,A,5157.67887,N,00424.43859,E,35.713,154.07,120308,,,A*5D
+$GPRMC,151140.00,A,5157.66967,N,00424.44574,E,37.266,154.26,120308,,,A*5E
+$GPRMC,151141.00,A,5157.66031,N,00424.45298,E,37.518,153.74,120308,,,A*5F
+$GPRMC,151142.00,A,5157.65092,N,00424.46024,E,37.362,154.06,120308,,,A*59
+$GPRMC,151143.00,A,5157.64191,N,00424.46778,E,36.370,154.00,120308,,,A*51
+$GPRMC,151144.00,A,5157.63305,N,00424.47479,E,35.445,154.07,120308,,,A*58
+$GPRMC,151145.00,A,5157.62436,N,00424.48156,E,34.328,153.92,120308,,,A*5E
+$GPRMC,151146.00,A,5157.61582,N,00424.48816,E,33.783,154.28,120308,,,A*59
+$GPRMC,151147.00,A,5157.60750,N,00424.49469,E,33.306,154.18,120308,,,A*5B
+$GPRMC,151148.00,A,5157.59921,N,00424.50121,E,33.228,153.56,120308,,,A*57
+$GPRMC,151149.00,A,5157.59096,N,00424.50774,E,33.596,153.81,120308,,,A*5D
+$GPRMC,151150.00,A,5157.58251,N,00424.51444,E,34.321,154.03,120308,,,A*5C
+$GPRMC,151151.00,A,5157.57385,N,00424.52114,E,34.933,153.75,120308,,,A*56
+$GPRMC,151152.00,A,5157.56482,N,00424.52808,E,35.897,153.77,120308,,,A*5C
+$GPRMC,151153.00,A,5157.55565,N,00424.53524,E,36.333,153.28,120308,,,A*58
+$GPRMC,151154.00,A,5157.54644,N,00424.54180,E,35.205,156.48,120308,,,A*57
+$GPRMC,151155.00,A,5157.53719,N,00424.54862,E,36.280,154.75,120308,,,A*5F
+$GPRMC,151156.00,A,5157.52785,N,00424.55598,E,36.669,153.55,120308,,,A*57
+$GPRMC,151157.00,A,5157.51810,N,00424.56298,E,36.598,154.75,120308,,,A*5A
+$GPRMC,151158.00,A,5157.50877,N,00424.56995,E,35.696,154.51,120308,,,A*5B
+$GPRMC,151159.00,A,5157.49987,N,00424.57697,E,35.159,154.19,120308,,,A*58
+$GPRMC,151200.00,A,5157.49113,N,00424.58388,E,34.611,154.09,120308,,,A*5D
+$GPRMC,151201.00,A,5157.48241,N,00424.59076,E,34.750,154.30,120308,,,A*54
+$GPRMC,151202.00,A,5157.47369,N,00424.59761,E,35.357,154.60,120308,,,A*55
+$GPRMC,151203.00,A,5157.46481,N,00424.60456,E,36.014,154.62,120308,,,A*5C
+$GPRMC,151204.00,A,5157.45569,N,00424.61177,E,36.772,154.52,120308,,,A*5C
+$GPRMC,151205.00,A,5157.44658,N,00424.61898,E,36.768,154.57,120308,,,A*5B
+$GPRMC,151206.00,A,5157.43753,N,00424.62616,E,36.156,154.20,120308,,,A*55
+$GPRMC,151207.00,A,5157.42855,N,00424.63318,E,36.051,154.31,120308,,,A*50
+$GPRMC,151208.00,A,5157.41946,N,00424.64032,E,36.336,154.46,120308,,,A*51
+$GPRMC,151209.00,A,5157.41063,N,00424.64760,E,35.633,154.05,120308,,,A*5A
+$GPRMC,151210.00,A,5157.40155,N,00424.65479,E,35.446,154.23,120308,,,A*59
+$GPRMC,151211.00,A,5157.39261,N,00424.66177,E,34.712,154.39,120308,,,A*52
+$GPRMC,151212.00,A,5157.38396,N,00424.66847,E,33.939,154.39,120308,,,A*53
+$GPRMC,151213.00,A,5157.37556,N,00424.67502,E,33.328,154.43,120308,,,A*5D
+$GPRMC,151214.00,A,5157.36726,N,00424.68157,E,33.408,154.03,120308,,,A*54
+$GPRMC,151215.00,A,5157.35883,N,00424.68823,E,34.011,153.99,120308,,,A*53
+$GPRMC,151216.00,A,5157.35021,N,00424.69502,E,34.845,154.21,120308,,,A*52
+$GPRMC,151217.00,A,5157.34150,N,00424.70182,E,34.635,154.27,120308,,,A*5E
+$GPRMC,151218.00,A,5157.33275,N,00424.70860,E,35.042,154.70,120308,,,A*52
+$GPRMC,151219.00,A,5157.32380,N,00424.71546,E,35.842,154.57,120308,,,A*5C
+$GPRMC,151220.00,A,5157.31482,N,00424.72244,E,35.374,153.85,120308,,,A*50
+$GPRMC,151221.00,A,5157.30572,N,00424.72943,E,35.941,154.42,120308,,,A*52
+$GPRMC,151222.00,A,5157.29653,N,00424.73641,E,36.841,154.97,120308,,,A*5F
+$GPRMC,151223.00,A,5157.28715,N,00424.74350,E,36.800,154.69,120308,,,A*5A
+$GPRMC,151224.00,A,5157.27782,N,00424.75047,E,36.603,155.12,120308,,,A*58
+$GPRMC,151225.00,A,5157.26836,N,00424.75750,E,37.724,155.12,120308,,,A*5C
+$GPRMC,151226.00,A,5157.25868,N,00424.76479,E,38.714,155.12,120308,,,A*50
+$GPRMC,151227.00,A,5157.24864,N,00424.77221,E,39.575,154.71,120308,,,A*56
+$GPRMC,151228.00,A,5157.23802,N,00424.77969,E,41.716,155.63,120308,,,A*53
+$GPRMC,151229.00,A,5157.22731,N,00424.78775,E,42.875,155.16,120308,,,A*5B
+$GPRMC,151230.00,A,5157.21614,N,00424.79598,E,45.076,155.85,120308,,,A*50
+$GPRMC,151231.00,A,5157.20482,N,00424.80446,E,44.909,154.81,120308,,,A*5C
+$GPRMC,151232.00,A,5157.19350,N,00424.81308,E,44.878,154.53,120308,,,A*59
+$GPRMC,151233.00,A,5157.18218,N,00424.82181,E,44.988,154.17,120308,,,A*5A
+$GPRMC,151234.00,A,5157.17081,N,00424.83045,E,44.741,153.85,120308,,,A*5F
+$GPRMC,151235.00,A,5157.15961,N,00424.83858,E,43.586,154.60,120308,,,A*5D
+$GPRMC,151236.00,A,5157.14846,N,00424.84727,E,42.829,153.73,120308,,,A*57
+$GPRMC,151237.00,A,5157.13765,N,00424.85579,E,42.064,153.17,120308,,,A*54
+$GPRMC,151238.00,A,5157.12701,N,00424.86415,E,41.473,154.03,120308,,,A*53
+$GPRMC,151239.00,A,5157.11674,N,00424.87243,E,40.745,153.25,120308,,,A*52
+$GPRMC,151240.00,A,5157.10667,N,00424.88013,E,39.824,154.42,120308,,,A*57
+$GPRMC,151241.00,A,5157.09704,N,00424.88778,E,39.223,156.83,120308,,,A*52
+$GPRMC,151242.00,A,5157.08658,N,00424.89283,E,38.212,165.53,120308,,,A*56
+$GPRMC,151243.00,A,5157.07668,N,00424.89541,E,37.114,173.92,120308,,,A*52
+$GPRMC,151244.00,A,5157.06654,N,00424.89619,E,36.718,177.67,120308,,,A*50
+$GPRMC,151245.00,A,5157.05685,N,00424.89473,E,34.490,184.64,120308,,,A*5E
+$GPRMC,151246.00,A,5157.04716,N,00424.89171,E,33.498,190.24,120308,,,A*5E
+$GPRMC,151247.00,A,5157.03840,N,00424.88789,E,30.742,193.09,120308,,,A*5F
+$GPRMC,151248.00,A,5157.03092,N,00424.88474,E,26.602,192.72,120308,,,A*59
+$GPRMC,151249.00,A,5157.02446,N,00424.88206,E,23.025,190.56,120308,,,A*55
+$GPRMC,151250.00,A,5157.01897,N,00424.88127,E,19.461,182.34,120308,,,A*54
+$GPRMC,151251.00,A,5157.01478,N,00424.88132,E,15.257,175.24,120308,,,A*5A
+$GPRMC,151252.00,A,5157.01229,N,00424.88300,E,10.715,165.26,120308,,,A*5D
+$GPRMC,151253.00,A,5157.01083,N,00424.88451,E,6.454,157.05,120308,,,A*6C
+$GPRMC,151254.00,A,5157.00991,N,00424.88581,E,4.080,147.76,120308,,,A*66
+$GPRMC,151255.00,A,5157.00957,N,00424.88691,E,2.709,133.32,120308,,,A*6C
+$GPRMC,151256.00,A,5157.00998,N,00424.88668,E,0.534,134.01,120308,,,A*63
+$GPRMC,151257.00,A,5157.01027,N,00424.88628,E,0.059,135.08,120308,,,A*6C
+$GPRMC,151258.00,A,5157.01056,N,00424.88570,E,0.031,135.53,120308,,,A*6B
+$GPRMC,151259.00,A,5157.01091,N,00424.88555,E,0.037,137.10,120308,,,A*65
+$GPRMC,151300.00,A,5157.01135,N,00424.88516,E,0.501,128.36,120308,,,A*6A
+$GPRMC,151301.00,A,5157.01185,N,00424.88474,E,0.821,120.10,120308,,,A*66
+$GPRMC,151302.00,A,5157.01240,N,00424.88446,E,0.706,112.35,120308,,,A*62
+$GPRMC,151303.00,A,5157.01265,N,00424.88417,E,0.128,115.45,120308,,,A*6A
+$GPRMC,151304.00,A,5157.01299,N,00424.88406,E,0.069,118.55,120308,,,A*66
+$GPRMC,151305.00,A,5157.01307,N,00424.88378,E,0.153,122.46,120308,,,A*6C
+$GPRMC,151306.00,A,5157.01321,N,00424.88353,E,0.388,129.96,120308,,,A*60
+$GPRMC,151307.00,A,5157.01329,N,00424.88327,E,0.094,132.17,120308,,,A*67
+$GPRMC,151308.00,A,5157.01331,N,00424.88305,E,0.139,132.97,120308,,,A*6F
+$GPRMC,151309.00,A,5157.01330,N,00424.88286,E,0.329,136.05,120308,,,A*69
+$GPRMC,151310.00,A,5157.01340,N,00424.88272,E,0.317,137.53,120308,,,A*62
+$GPRMC,151311.00,A,5157.01334,N,00424.88275,E,0.191,142.94,120308,,,A*62
+$GPRMC,151312.00,A,5157.01351,N,00424.88284,E,0.584,132.50,120308,,,A*63
+$GPRMC,151313.00,A,5157.01340,N,00424.88275,E,0.154,136.36,120308,,,A*61
+$GPRMC,151314.00,A,5157.01276,N,00424.88340,E,2.569,138.57,120308,,,A*64
+$GPRMC,151315.00,A,5157.01145,N,00424.88463,E,6.893,152.48,120308,,,A*6E
+$GPRMC,151316.00,A,5157.00956,N,00424.88697,E,9.598,145.61,120308,,,A*6B
+$GPRMC,151317.00,A,5157.00694,N,00424.88973,E,11.676,147.95,120308,,,A*5D
+$GPRMC,151318.00,A,5157.00402,N,00424.89292,E,13.164,147.63,120308,,,A*55
+$GPRMC,151319.00,A,5157.00085,N,00424.89627,E,13.064,147.76,120308,,,A*50
+$GPRMC,151320.00,A,5156.99759,N,00424.89964,E,14.139,148.00,120308,,,A*55
+$GPRMC,151321.00,A,5156.99407,N,00424.90317,E,15.201,147.74,120308,,,A*5F
+$GPRMC,151322.00,A,5156.99035,N,00424.90695,E,15.932,148.20,120308,,,A*53
+$GPRMC,151323.00,A,5156.98641,N,00424.91076,E,16.893,148.72,120308,,,A*52
+$GPRMC,151324.00,A,5156.98329,N,00424.91593,E,16.881,133.61,120308,,,A*5D
+$GPRMC,151325.00,A,5156.98160,N,00424.92256,E,15.961,116.96,120308,,,A*5D
+$GPRMC,151326.00,A,5156.98248,N,00424.93020,E,14.470,86.21,120308,,,A*6D
+$GPRMC,151327.00,A,5156.98489,N,00424.93756,E,16.367,62.85,120308,,,A*66
+$GPRMC,151328.00,A,5156.98827,N,00424.94523,E,19.555,53.82,120308,,,A*6B
+$GPRMC,151329.00,A,5156.99196,N,00424.95331,E,22.299,53.67,120308,,,A*68
+$GPRMC,151330.00,A,5156.99580,N,00424.96222,E,25.161,55.86,120308,,,A*69
+$GPRMC,151331.00,A,5156.99976,N,00424.97175,E,25.310,56.82,120308,,,A*6E
+$GPRMC,151332.00,A,5157.00393,N,00424.98129,E,24.955,54.23,120308,,,A*68
+$GPRMC,151333.00,A,5157.00753,N,00424.98966,E,21.915,53.26,120308,,,A*61
+$GPRMC,151334.00,A,5157.01062,N,00424.99667,E,18.480,54.60,120308,,,A*63
+$GPRMC,151335.00,A,5157.01329,N,00425.00279,E,14.990,54.23,120308,,,A*63
+$GPRMC,151336.00,A,5157.01550,N,00425.00771,E,13.455,50.30,120308,,,A*60
+$GPRMC,151337.00,A,5157.01753,N,00425.01185,E,11.548,49.17,120308,,,A*6E
+$GPRMC,151338.00,A,5157.01909,N,00425.01509,E,9.468,50.89,120308,,,A*55
+$GPRMC,151339.00,A,5157.02018,N,00425.01762,E,6.916,54.18,120308,,,A*56
+$GPRMC,151340.00,A,5157.02122,N,00425.01964,E,5.784,56.46,120308,,,A*57
+$GPRMC,151341.00,A,5157.02201,N,00425.02107,E,4.898,54.71,120308,,,A*5F
+$GPRMC,151342.00,A,5157.02268,N,00425.02223,E,3.406,54.04,120308,,,A*58
+$GPRMC,151343.00,A,5157.02289,N,00425.02252,E,1.388,53.66,120308,,,A*50
+$GPRMC,151344.00,A,5157.02300,N,00425.02227,E,0.119,52.67,120308,,,A*5E
+$GPRMC,151345.00,A,5157.02315,N,00425.02198,E,0.630,49.53,120308,,,A*5D
+$GPRMC,151346.00,A,5157.02303,N,00425.02156,E,0.170,47.41,120308,,,A*55
+$GPRMC,151347.00,A,5157.02288,N,00425.02117,E,0.564,46.25,120308,,,A*51
+$GPRMC,151348.00,A,5157.02283,N,00425.02097,E,0.565,44.68,120308,,,A*56
+$GPRMC,151349.00,A,5157.02268,N,00425.02067,E,0.223,36.62,120308,,,A*57
+$GPRMC,151350.00,A,5157.02253,N,00425.02030,E,0.291,33.34,120308,,,A*5A
+$GPRMC,151351.00,A,5157.02264,N,00425.02005,E,0.881,30.91,120308,,,A*5E
+$GPRMC,151352.00,A,5157.02290,N,00425.01994,E,0.331,22.93,120308,,,A*55
+$GPRMC,151353.00,A,5157.02314,N,00425.01979,E,0.435,19.10,120308,,,A*5A
+$GPRMC,151354.00,A,5157.02349,N,00425.01975,E,0.072,18.28,120308,,,A*54
+$GPRMC,151355.00,A,5157.02390,N,00425.01957,E,0.300,14.86,120308,,,A*5F
+$GPRMC,151356.00,A,5157.02441,N,00425.01981,E,0.099,12.69,120308,,,A*58
+$GPRMC,151357.00,A,5157.02474,N,00425.01958,E,2.411,6.90,120308,,,A*6E
+$GPRMC,151358.00,A,5157.02496,N,00425.01915,E,0.921,3.69,120308,,,A*6B
+$GPRMC,151359.00,A,5157.02487,N,00425.01867,E,0.813,357.92,120308,,,A*68
+$GPRMC,151400.00,A,5157.02455,N,00425.01868,E,0.534,354.36,120308,,,A*66
+$GPRMC,151401.00,A,5157.02421,N,00425.01892,E,0.133,350.46,120308,,,A*61
+$GPRMC,151402.00,A,5157.02411,N,00425.01891,E,0.454,348.30,120308,,,A*6E
+$GPRMC,151403.00,A,5157.02392,N,00425.01899,E,0.200,340.26,120308,,,A*63
+$GPRMC,151404.00,A,5157.02364,N,00425.01845,E,0.939,339.70,120308,,,A*60
+$GPRMC,151405.00,A,5157.02335,N,00425.01900,E,0.082,336.80,120308,,,A*6C
+$GPRMC,151406.00,A,5157.02270,N,00425.01978,E,0.487,346.82,120308,,,A*64
+$GPRMC,151407.00,A,5157.02325,N,00425.02079,E,3.289,349.54,120308,,,A*60
+$GPRMC,151408.00,A,5157.02305,N,00425.02156,E,0.594,350.56,120308,,,A*63
+$GPRMC,151409.00,A,5157.02311,N,00425.02226,E,1.607,352.42,120308,,,A*6C
+$GPRMC,151410.00,A,5157.02298,N,00425.02241,E,0.099,353.25,120308,,,A*65
+$GPRMC,151411.00,A,5157.02292,N,00425.02235,E,0.196,3.67,120308,,,A*63
+$GPRMC,151412.00,A,5157.02290,N,00425.02193,E,0.006,,120308,,,A*79
+$GPRMC,151413.00,A,5157.02293,N,00425.02136,E,0.125,359.53,120308,,,A*63
+$GPRMC,151414.00,A,5157.02306,N,00425.02105,E,0.673,358.14,120308,,,A*6F
+$GPRMC,151415.00,A,5157.02310,N,00425.02007,E,0.866,353.74,120308,,,A*6D
+$GPRMC,151416.00,A,5157.02314,N,00425.01912,E,0.717,347.82,120308,,,A*61
+$GPRMC,151417.00,A,5157.02310,N,00425.01836,E,0.438,340.18,120308,,,A*69
+$GPRMC,151418.00,A,5157.02305,N,00425.01779,E,0.479,333.93,120308,,,A*64
+$GPRMC,151419.00,A,5157.02310,N,00425.01711,E,0.485,327.94,120308,,,A*6E
+$GPRMC,151420.00,A,5157.02327,N,00425.01710,E,0.368,329.93,120308,,,A*6C
+$GPRMC,151421.00,A,5157.02338,N,00425.01766,E,0.508,333.19,120308,,,A*6B
+$GPRMC,151422.00,A,5157.02363,N,00425.01794,E,0.210,325.35,120308,,,A*6C
+$GPRMC,151423.00,A,5157.02386,N,00425.01828,E,0.027,327.05,120308,,,A*69
+$GPRMC,151424.00,A,5157.02396,N,00425.01869,E,0.087,329.42,120308,,,A*6D
+$GPRMC,151425.00,A,5157.02425,N,00425.01920,E,1.050,332.91,120308,,,A*60
+$GPRMC,151426.00,A,5157.02454,N,00425.01969,E,0.708,337.88,120308,,,A*6E
+$GPRMC,151427.00,A,5157.02411,N,00425.01958,E,0.504,342.78,120308,,,A*6F
+$GPRMC,151428.00,A,5157.02405,N,00425.01951,E,0.208,346.76,120308,,,A*6D
+$GPRMC,151429.00,A,5157.02401,N,00425.01945,E,0.163,346.62,120308,,,A*66
+$GPRMC,151430.00,A,5157.02401,N,00425.01938,E,0.334,348.34,120308,,,A*69
+$GPRMC,151431.00,A,5157.02387,N,00425.01927,E,0.099,344.21,120308,,,A*63
+$GPRMC,151432.00,A,5157.02400,N,00425.01923,E,0.520,345.82,120308,,,A*63
+$GPRMC,151433.00,A,5157.02399,N,00425.01918,E,0.409,338.36,120308,,,A*62
+$GPRMC,151434.00,A,5157.02401,N,00425.01915,E,0.490,348.89,120308,,,A*6D
+$GPRMC,151435.00,A,5157.02391,N,00425.01897,E,0.809,359.98,120308,,,A*65
+$GPRMC,151436.00,A,5157.02402,N,00425.01898,E,0.720,6.57,120308,,,A*6A
+$GPRMC,151437.00,A,5157.02470,N,00425.01984,E,3.309,39.34,120308,,,A*57
+$GPRMC,151438.00,A,5157.02576,N,00425.02163,E,6.709,59.50,120308,,,A*58
+$GPRMC,151439.00,A,5157.02733,N,00425.02570,E,11.614,58.71,120308,,,A*65
+$GPRMC,151440.00,A,5157.02950,N,00425.03116,E,14.119,50.25,120308,,,A*63
+$GPRMC,151441.00,A,5157.03210,N,00425.03713,E,14.913,50.93,120308,,,A*60
+$GPRMC,151442.00,A,5157.03450,N,00425.04214,E,13.930,44.19,120308,,,A*65
+$GPRMC,151443.00,A,5157.03752,N,00425.04429,E,13.966,10.72,120308,,,A*62
+$GPRMC,151444.00,A,5157.04091,N,00425.04325,E,14.265,347.36,120308,,,A*5F
+$GPRMC,151445.00,A,5157.04337,N,00425.03758,E,16.852,307.22,120308,,,A*55
+$GPRMC,151446.00,A,5157.04626,N,00425.03075,E,19.693,298.33,120308,,,A*50
+$GPRMC,151447.00,A,5157.04835,N,00425.02024,E,24.027,288.94,120308,,,A*53
+$GPRMC,151448.00,A,5157.05099,N,00425.00941,E,27.281,296.53,120308,,,A*52
+$GPRMC,151449.00,A,5157.05469,N,00424.99831,E,28.487,303.01,120308,,,A*5A
+$GPRMC,151450.00,A,5157.05882,N,00424.98623,E,31.402,305.58,120308,,,A*58
+$GPRMC,151451.00,A,5157.06463,N,00424.97455,E,34.648,308.98,120308,,,A*5D
+$GPRMC,151452.00,A,5157.07129,N,00424.96234,E,37.024,312.08,120308,,,A*59
+$GPRMC,151453.00,A,5157.07867,N,00424.95039,E,37.583,315.46,120308,,,A*52
+$GPRMC,151454.00,A,5157.08647,N,00424.93849,E,39.327,316.76,120308,,,A*59
+$GPRMC,151455.00,A,5157.09491,N,00424.92699,E,39.097,320.09,120308,,,A*57
+$GPRMC,151456.00,A,5157.10421,N,00424.91640,E,40.396,323.93,120308,,,A*5C
+$GPRMC,151457.00,A,5157.11415,N,00424.90776,E,39.584,330.08,120308,,,A*55
+$GPRMC,151458.00,A,5157.12402,N,00424.89881,E,40.042,331.08,120308,,,A*50
+$GPRMC,151459.00,A,5157.13436,N,00424.88995,E,41.737,331.28,120308,,,A*54
+$GPRMC,151500.00,A,5157.14494,N,00424.88052,E,42.656,331.80,120308,,,A*53
+$GPRMC,151501.00,A,5157.15575,N,00424.87135,E,42.705,332.83,120308,,,A*55
+$GPRMC,151502.00,A,5157.16677,N,00424.86250,E,43.503,333.90,120308,,,A*53
+$GPRMC,151503.00,A,5157.17749,N,00424.85346,E,44.393,333.28,120308,,,A*51
+$GPRMC,151504.00,A,5157.18828,N,00424.84462,E,43.589,333.24,120308,,,A*57
+$GPRMC,151505.00,A,5157.19886,N,00424.83533,E,44.017,332.74,120308,,,A*50
+$GPRMC,151506.00,A,5157.20945,N,00424.82566,E,43.826,331.52,120308,,,A*5C
+$GPRMC,151507.00,A,5157.22002,N,00424.81615,E,43.681,331.41,120308,,,A*50
+$GPRMC,151508.00,A,5157.23067,N,00424.80705,E,43.415,332.20,120308,,,A*57
+$GPRMC,151509.00,A,5157.24173,N,00424.79871,E,43.474,333.51,120308,,,A*5F
+$GPRMC,151510.00,A,5157.25259,N,00424.79017,E,43.870,334.20,120308,,,A*5C
+$GPRMC,151511.00,A,5157.26348,N,00424.78165,E,44.004,333.85,120308,,,A*5E
+$GPRMC,151512.00,A,5157.27441,N,00424.77307,E,44.010,333.84,120308,,,A*5F
+$GPRMC,151513.00,A,5157.28543,N,00424.76455,E,44.295,334.35,120308,,,A*51
+$GPRMC,151514.00,A,5157.29656,N,00424.75597,E,44.555,334.53,120308,,,A*57
+$GPRMC,151515.00,A,5157.30772,N,00424.74737,E,44.522,334.46,120308,,,A*54
+$GPRMC,151516.00,A,5157.31883,N,00424.73885,E,44.338,334.66,120308,,,A*59
+$GPRMC,151517.00,A,5157.32992,N,00424.73026,E,44.155,334.21,120308,,,A*51
+$GPRMC,151518.00,A,5157.34100,N,00424.72167,E,44.336,334.14,120308,,,A*5F
+$GPRMC,151519.00,A,5157.35224,N,00424.71301,E,45.554,334.44,120308,,,A*5D
+$GPRMC,151520.00,A,5157.36349,N,00424.70446,E,44.439,334.67,120308,,,A*51
+$GPRMC,151521.00,A,5157.37464,N,00424.69592,E,44.416,334.08,120308,,,A*5D
+$GPRMC,151522.00,A,5157.38584,N,00424.68742,E,44.695,334.29,120308,,,A*5A
+$GPRMC,151523.00,A,5157.39708,N,00424.67870,E,45.318,334.45,120308,,,A*56
+$GPRMC,151524.00,A,5157.40828,N,00424.66993,E,45.377,334.19,120308,,,A*5F
+$GPRMC,151525.00,A,5157.41961,N,00424.66105,E,45.383,333.75,120308,,,A*52
+$GPRMC,151526.00,A,5157.43086,N,00424.65214,E,45.428,334.00,120308,,,A*50
+$GPRMC,151527.00,A,5157.44221,N,00424.64314,E,45.882,333.48,120308,,,A*5E
+$GPRMC,151528.00,A,5157.45382,N,00424.63430,E,46.538,334.45,120308,,,A*5B
+$GPRMC,151529.00,A,5157.46534,N,00424.62535,E,45.853,334.27,120308,,,A*50
+$GPRMC,151530.00,A,5157.47675,N,00424.61644,E,46.033,334.13,120308,,,A*53
+$GPRMC,151531.00,A,5157.48813,N,00424.60749,E,46.261,334.06,120308,,,A*5F
+$GPRMC,151532.00,A,5157.49976,N,00424.59843,E,46.601,334.13,120308,,,A*56
+$GPRMC,151533.00,A,5157.51151,N,00424.58935,E,46.797,334.36,120308,,,A*5B
+$GPRMC,151534.00,A,5157.52329,N,00424.58025,E,47.129,334.33,120308,,,A*5D
+$GPRMC,151535.00,A,5157.53512,N,00424.57112,E,47.226,334.31,120308,,,A*57
+$GPRMC,151536.00,A,5157.54694,N,00424.56194,E,47.457,334.31,120308,,,A*51
+$GPRMC,151537.00,A,5157.55883,N,00424.55272,E,47.576,334.25,120308,,,A*56
+$GPRMC,151538.00,A,5157.57082,N,00424.54337,E,48.010,334.21,120308,,,A*5D
+$GPRMC,151539.00,A,5157.58287,N,00424.53392,E,48.122,334.16,120308,,,A*58
+$GPRMC,151540.00,A,5157.59483,N,00424.52452,E,47.530,334.14,120308,,,A*55
+$GPRMC,151541.00,A,5157.60671,N,00424.51523,E,47.233,334.37,120308,,,A*50
+$GPRMC,151542.00,A,5157.61850,N,00424.50605,E,46.591,334.40,120308,,,A*57
+$GPRMC,151543.00,A,5157.63012,N,00424.49704,E,45.923,334.49,120308,,,A*5D
+$GPRMC,151544.00,A,5157.64159,N,00424.48823,E,45.543,334.72,120308,,,A*5A
+$GPRMC,151545.00,A,5157.65301,N,00424.47947,E,44.886,334.28,120308,,,A*53
+$GPRMC,151546.00,A,5157.66424,N,00424.47071,E,44.573,334.03,120308,,,A*51
+$GPRMC,151547.00,A,5157.67533,N,00424.46205,E,43.807,334.07,120308,,,A*5B
+$GPRMC,151548.00,A,5157.68623,N,00424.45356,E,43.075,334.29,120308,,,A*5C
+$GPRMC,151549.00,A,5157.69696,N,00424.44531,E,42.338,334.47,120308,,,A*57
+$GPRMC,151550.00,A,5157.70752,N,00424.43722,E,41.464,334.60,120308,,,A*51
+$GPRMC,151551.00,A,5157.71788,N,00424.42930,E,40.881,334.52,120308,,,A*5D
+$GPRMC,151552.00,A,5157.72807,N,00424.42147,E,40.341,334.45,120308,,,A*5C
+$GPRMC,151553.00,A,5157.73811,N,00424.41372,E,39.700,334.31,120308,,,A*50
+$GPRMC,151554.00,A,5157.74810,N,00424.40594,E,40.190,334.16,120308,,,A*5A
+$GPRMC,151555.00,A,5157.75822,N,00424.39797,E,41.247,334.15,120308,,,A*5F
+$GPRMC,151556.00,A,5157.76867,N,00424.38971,E,43.200,334.36,120308,,,A*59
+$GPRMC,151557.00,A,5157.77964,N,00424.38109,E,45.134,334.42,120308,,,A*5D
+$GPRMC,151558.00,A,5157.79108,N,00424.37222,E,46.120,334.43,120308,,,A*5C
+$GPRMC,151559.00,A,5157.80276,N,00424.36309,E,47.384,334.51,120308,,,A*56
+$GPRMC,151600.00,A,5157.81474,N,00424.35375,E,48.307,334.11,120308,,,A*54
+$GPRMC,151601.00,A,5157.82716,N,00424.34412,E,49.675,334.35,120308,,,A*51
+$GPRMC,151602.00,A,5157.83967,N,00424.33428,E,50.357,334.34,120308,,,A*59
+$GPRMC,151603.00,A,5157.85225,N,00424.32442,E,50.135,334.30,120308,,,A*5C
+$GPRMC,151604.00,A,5157.86477,N,00424.31467,E,49.416,334.37,120308,,,A*56
+$GPRMC,151605.00,A,5157.87716,N,00424.30515,E,49.032,334.95,120308,,,A*5D
+$GPRMC,151606.00,A,5157.88940,N,00424.29581,E,48.251,334.83,120308,,,A*58
+$GPRMC,151607.00,A,5157.90149,N,00424.28663,E,48.153,335.20,120308,,,A*56
+$GPRMC,151608.00,A,5157.91326,N,00424.27718,E,47.995,334.22,120308,,,A*5F
+$GPRMC,151609.00,A,5157.92513,N,00424.26758,E,48.276,334.00,120308,,,A*51
+$GPRMC,151610.00,A,5157.93708,N,00424.25796,E,48.178,334.05,120308,,,A*59
+$GPRMC,151611.00,A,5157.94900,N,00424.24847,E,47.684,333.99,120308,,,A*52
+$GPRMC,151612.00,A,5157.96087,N,00424.23891,E,48.401,333.97,120308,,,A*57
+$GPRMC,151613.00,A,5157.97285,N,00424.22921,E,48.367,333.67,120308,,,A*54
+$GPRMC,151614.00,A,5157.98478,N,00424.21964,E,48.093,334.18,120308,,,A*5D
+$GPRMC,151615.00,A,5157.99675,N,00424.21022,E,48.040,334.28,120308,,,A*54
+$GPRMC,151616.00,A,5158.00869,N,00424.20099,E,47.156,334.19,120308,,,A*51
+$GPRMC,151617.00,A,5158.02017,N,00424.19195,E,45.128,333.77,120308,,,A*50
+$GPRMC,151618.00,A,5158.03136,N,00424.18321,E,44.149,333.85,120308,,,A*5B
+$GPRMC,151619.00,A,5158.04229,N,00424.17481,E,42.836,334.41,120308,,,A*5A
+$GPRMC,151620.00,A,5158.05302,N,00424.16663,E,42.682,334.56,120308,,,A*51
+$GPRMC,151621.00,A,5158.06373,N,00424.15848,E,42.261,334.37,120308,,,A*5F
+$GPRMC,151622.00,A,5158.07443,N,00424.15023,E,42.921,334.19,120308,,,A*5F
+$GPRMC,151623.00,A,5158.08530,N,00424.14179,E,43.382,333.78,120308,,,A*59
+$GPRMC,151624.00,A,5158.09623,N,00424.13328,E,43.425,334.22,120308,,,A*5D
+$GPRMC,151625.00,A,5158.10707,N,00424.12492,E,42.802,334.59,120308,,,A*50
+$GPRMC,151626.00,A,5158.11775,N,00424.11682,E,41.990,334.29,120308,,,A*59
+$GPRMC,151627.00,A,5158.12822,N,00424.10872,E,41.549,334.16,120308,,,A*52
+$GPRMC,151628.00,A,5158.13864,N,00424.10057,E,41.566,333.99,120308,,,A*5C
+$GPRMC,151629.00,A,5158.14907,N,00424.09239,E,41.944,334.18,120308,,,A*5E
+$GPRMC,151630.00,A,5158.15974,N,00424.08415,E,43.162,334.46,120308,,,A*5F
+$GPRMC,151631.00,A,5158.17066,N,00424.07583,E,43.782,334.55,120308,,,A*5D
+$GPRMC,151632.00,A,5158.18174,N,00424.06735,E,44.824,334.54,120308,,,A*58
+$GPRMC,151633.00,A,5158.19299,N,00424.05863,E,45.571,334.39,120308,,,A*50
+$GPRMC,151634.00,A,5158.20440,N,00424.04981,E,45.518,334.48,120308,,,A*5A
+$GPRMC,151635.00,A,5158.21592,N,00424.04095,E,45.978,334.42,120308,,,A*58
+$GPRMC,151636.00,A,5158.22751,N,00424.03211,E,46.548,334.55,120308,,,A*56
+$GPRMC,151637.00,A,5158.23942,N,00424.02313,E,48.022,335.12,120308,,,A*5D
+$GPRMC,151638.00,A,5158.25171,N,00424.01429,E,48.305,336.18,120308,,,A*5E
+$GPRMC,151639.00,A,5158.26407,N,00424.00605,E,47.648,338.57,120308,,,A*53
+$GPRMC,151640.00,A,5158.27660,N,00423.99891,E,47.158,341.32,120308,,,A*50
+$GPRMC,151641.00,A,5158.28902,N,00423.99241,E,45.918,342.16,120308,,,A*59
+$GPRMC,151642.00,A,5158.30101,N,00423.98605,E,44.998,342.55,120308,,,A*53
+$GPRMC,151643.00,A,5158.31296,N,00423.98033,E,44.628,343.88,120308,,,A*58
+$GPRMC,151644.00,A,5158.32492,N,00423.97481,E,45.048,344.39,120308,,,A*50
+$GPRMC,151645.00,A,5158.33720,N,00423.96942,E,46.145,345.28,120308,,,A*57
+$GPRMC,151646.00,A,5158.34965,N,00423.96408,E,46.470,345.19,120308,,,A*5E
+$GPRMC,151647.00,A,5158.36216,N,00423.95864,E,46.336,345.00,120308,,,A*5A
+$GPRMC,151648.00,A,5158.37465,N,00423.95319,E,46.336,345.03,120308,,,A*54
+$GPRMC,151649.00,A,5158.38716,N,00423.94766,E,45.879,344.41,120308,,,A*54
+$GPRMC,151650.00,A,5158.39957,N,00423.94213,E,45.617,344.50,120308,,,A*57
+$GPRMC,151651.00,A,5158.41180,N,00423.93675,E,45.303,344.97,120308,,,A*53
+$GPRMC,151652.00,A,5158.42398,N,00423.93156,E,44.789,345.10,120308,,,A*57
+$GPRMC,151653.00,A,5158.43596,N,00423.92655,E,44.406,345.37,120308,,,A*5B
+$GPRMC,151654.00,A,5158.44794,N,00423.92159,E,43.559,345.33,120308,,,A*58
+$GPRMC,151655.00,A,5158.45948,N,00423.91668,E,42.487,345.56,120308,,,A*51
+$GPRMC,151656.00,A,5158.47093,N,00423.91200,E,42.090,345.65,120308,,,A*57
+$GPRMC,151657.00,A,5158.48253,N,00423.90718,E,43.198,345.21,120308,,,A*52
+$GPRMC,151658.00,A,5158.49428,N,00423.90200,E,44.141,345.07,120308,,,A*5D
+$GPRMC,151659.00,A,5158.50612,N,00423.89699,E,44.418,345.39,120308,,,A*57
+$GPRMC,151700.00,A,5158.51789,N,00423.89198,E,44.038,345.36,120308,,,A*57
+$GPRMC,151701.00,A,5158.52958,N,00423.88705,E,43.831,345.34,120308,,,A*50
+$GPRMC,151702.00,A,5158.54144,N,00423.88234,E,44.616,346.25,120308,,,A*58
+$GPRMC,151703.00,A,5158.55337,N,00423.87741,E,44.088,345.46,120308,,,A*51
+$GPRMC,151704.00,A,5158.56520,N,00423.87263,E,45.256,346.26,120308,,,A*55
+$GPRMC,151705.00,A,5158.57685,N,00423.86778,E,44.710,345.75,120308,,,A*54
+$GPRMC,151706.00,A,5158.58845,N,00423.86274,E,44.414,345.23,120308,,,A*57
+$GPRMC,151707.00,A,5158.60058,N,00423.85754,E,44.889,345.25,120308,,,A*53
+$GPRMC,151708.00,A,5158.61254,N,00423.85259,E,45.129,345.57,120308,,,A*5C
+$GPRMC,151709.00,A,5158.62474,N,00423.84750,E,45.341,345.21,120308,,,A*5A
+$GPRMC,151710.00,A,5158.63708,N,00423.84219,E,45.743,345.04,120308,,,A*52
+$GPRMC,151711.00,A,5158.64915,N,00423.83695,E,44.687,345.27,120308,,,A*58
+$GPRMC,151712.00,A,5158.66094,N,00423.83177,E,44.496,345.12,120308,,,A*56
+$GPRMC,151713.00,A,5158.67286,N,00423.82622,E,44.744,344.75,120308,,,A*5D
+$GPRMC,151714.00,A,5158.68489,N,00423.82070,E,45.362,344.45,120308,,,A*5F
+$GPRMC,151715.00,A,5158.69726,N,00423.81536,E,46.046,344.71,120308,,,A*5C
+$GPRMC,151716.00,A,5158.71018,N,00423.81026,E,46.901,345.04,120308,,,A*51
+$GPRMC,151717.00,A,5158.72307,N,00423.80474,E,48.157,345.43,120308,,,A*5A
+$GPRMC,151718.00,A,5158.73611,N,00423.79915,E,48.517,345.19,120308,,,A*55
+$GPRMC,151719.00,A,5158.74871,N,00423.79350,E,48.827,345.15,120308,,,A*52
+$GPRMC,151720.00,A,5158.76099,N,00423.78795,E,47.855,345.35,120308,,,A*50
+$GPRMC,151721.00,A,5158.77364,N,00423.78291,E,48.678,346.20,120308,,,A*59
+$GPRMC,151722.00,A,5158.78665,N,00423.77855,E,49.209,348.18,120308,,,A*5A
+$GPRMC,151723.00,A,5158.79987,N,00423.77456,E,47.843,348.01,120308,,,A*54
+$GPRMC,151724.00,A,5158.81233,N,00423.77027,E,44.725,348.15,120308,,,A*5B
+$GPRMC,151725.00,A,5158.82402,N,00423.76607,E,41.758,346.03,120308,,,A*5E
+$GPRMC,151726.00,A,5158.83509,N,00423.76178,E,40.042,346.51,120308,,,A*53
+$GPRMC,151727.00,A,5158.84559,N,00423.75735,E,38.855,345.30,120308,,,A*59
+$GPRMC,151728.00,A,5158.85509,N,00423.75282,E,35.886,344.49,120308,,,A*57
+$GPRMC,151729.00,A,5158.86452,N,00423.74895,E,34.771,345.83,120308,,,A*56
+$GPRMC,151730.00,A,5158.87392,N,00423.74508,E,34.820,345.84,120308,,,A*51
+$GPRMC,151731.00,A,5158.88307,N,00423.74137,E,33.562,346.90,120308,,,A*51
+$GPRMC,151732.00,A,5158.89174,N,00423.73756,E,31.996,345.18,120308,,,A*55
+$GPRMC,151733.00,A,5158.90019,N,00423.73427,E,30.545,345.97,120308,,,A*57
+$GPRMC,151734.00,A,5158.90838,N,00423.73129,E,28.354,348.04,120308,,,A*58
+$GPRMC,151735.00,A,5158.91533,N,00423.72886,E,26.340,348.05,120308,,,A*59
+$GPRMC,151736.00,A,5158.92226,N,00423.72711,E,25.116,350.32,120308,,,A*54
+$GPRMC,151737.00,A,5158.92853,N,00423.72538,E,23.230,351.30,120308,,,A*56
+$GPRMC,151738.00,A,5158.93469,N,00423.72413,E,21.895,352.54,120308,,,A*53
+$GPRMC,151739.00,A,5158.94071,N,00423.72387,E,21.787,358.87,120308,,,A*5A
+$GPRMC,151740.00,A,5158.94683,N,00423.72450,E,21.509,4.53,120308,,,A*55
+$GPRMC,151741.00,A,5158.95277,N,00423.72635,E,23.268,13.40,120308,,,A*6D
+$GPRMC,151742.00,A,5158.95932,N,00423.73057,E,25.465,23.98,120308,,,A*6C
+$GPRMC,151743.00,A,5158.96532,N,00423.73611,E,26.532,30.19,120308,,,A*6D
+$GPRMC,151744.00,A,5158.97123,N,00423.74321,E,26.743,36.69,120308,,,A*6B
+$GPRMC,151745.00,A,5158.97725,N,00423.75149,E,27.937,38.75,120308,,,A*68
+$GPRMC,151746.00,A,5158.98313,N,00423.75954,E,27.544,37.18,120308,,,A*6D
+$GPRMC,151747.00,A,5158.98963,N,00423.76642,E,27.372,27.02,120308,,,A*63
+$GPRMC,151748.00,A,5158.99665,N,00423.77024,E,26.542,13.42,120308,,,A*64
+$GPRMC,151749.00,A,5159.00320,N,00423.76990,E,25.418,357.27,120308,,,A*5A
+$GPRMC,151750.00,A,5159.01101,N,00423.76766,E,26.192,346.66,120308,,,A*54
+$GPRMC,151751.00,A,5159.01839,N,00423.76501,E,26.425,346.15,120308,,,A*59
+$GPRMC,151752.00,A,5159.02563,N,00423.76245,E,26.011,347.83,120308,,,A*51
+$GPRMC,151753.00,A,5159.03262,N,00423.75989,E,25.359,347.27,120308,,,A*5D
+$GPRMC,151754.00,A,5159.03956,N,00423.75723,E,24.796,345.78,120308,,,A*56
+$GPRMC,151755.00,A,5159.04645,N,00423.75461,E,24.604,346.66,120308,,,A*5E
+$GPRMC,151756.00,A,5159.05296,N,00423.75144,E,24.227,344.05,120308,,,A*56
+$GPRMC,151757.00,A,5159.05938,N,00423.74858,E,23.661,344.30,120308,,,A*5A
+$GPRMC,151758.00,A,5159.06558,N,00423.74545,E,22.559,342.15,120308,,,A*55
+$GPRMC,151759.00,A,5159.07170,N,00423.74303,E,21.405,346.40,120308,,,A*50
+$GPRMC,151800.00,A,5159.07739,N,00423.74062,E,21.304,345.52,120308,,,A*5A
+$GPRMC,151801.00,A,5159.08283,N,00423.73804,E,20.346,345.18,120308,,,A*56
+$GPRMC,151802.00,A,5159.08809,N,00423.73533,E,19.730,344.52,120308,,,A*54
+$GPRMC,151803.00,A,5159.09329,N,00423.73275,E,19.177,345.67,120308,,,A*5A
+$GPRMC,151804.00,A,5159.09818,N,00423.73041,E,18.299,344.82,120308,,,A*59
+$GPRMC,151805.00,A,5159.10311,N,00423.72810,E,18.192,344.05,120308,,,A*58
+$GPRMC,151806.00,A,5159.10750,N,00423.72597,E,17.047,342.62,120308,,,A*59
+$GPRMC,151807.00,A,5159.11153,N,00423.72337,E,16.279,338.97,120308,,,A*59
+$GPRMC,151808.00,A,5159.11519,N,00423.72065,E,15.042,335.56,120308,,,A*51
+$GPRMC,151809.00,A,5159.11808,N,00423.71761,E,12.911,325.21,120308,,,A*54
+$GPRMC,151810.00,A,5159.12063,N,00423.71482,E,10.571,322.24,120308,,,A*5E
+$GPRMC,151811.00,A,5159.12198,N,00423.71293,E,6.257,313.90,120308,,,A*65
+$GPRMC,151812.00,A,5159.12216,N,00423.71159,E,3.337,308.62,120308,,,A*63
+$GPRMC,151813.00,A,5159.12202,N,00423.71117,E,1.110,307.75,120308,,,A*61
+$GPRMC,151814.00,A,5159.12195,N,00423.71115,E,0.125,310.56,120308,,,A*69
+$GPRMC,151815.00,A,5159.12187,N,00423.71139,E,0.308,316.40,120308,,,A*69
+$GPRMC,151816.00,A,5159.12171,N,00423.71153,E,0.253,308.41,120308,,,A*6E
+$GPRMC,151817.00,A,5159.12160,N,00423.71177,E,0.090,307.69,120308,,,A*61
+$GPRMC,151818.00,A,5159.12160,N,00423.71200,E,0.030,304.15,120308,,,A*6F
+$GPRMC,151819.00,A,5159.12160,N,00423.71199,E,0.049,305.77,120308,,,A*66
+$GPRMC,151820.00,A,5159.12163,N,00423.71204,E,0.061,302.05,120308,,,A*60
+$GPRMC,151821.00,A,5159.12159,N,00423.71209,E,0.117,303.81,120308,,,A*68
+$GPRMC,151822.00,A,5159.12159,N,00423.71216,E,0.074,304.74,120308,,,A*6C
+$GPRMC,151823.00,A,5159.12157,N,00423.71221,E,0.051,305.81,120308,,,A*6B
+$GPRMC,151824.00,A,5159.12155,N,00423.71192,E,0.083,307.16,120308,,,A*66
+$GPRMC,151825.00,A,5159.12158,N,00423.71173,E,0.047,310.17,120308,,,A*6A
+$GPRMC,151826.00,A,5159.12149,N,00423.71195,E,0.023,309.12,120308,,,D*6B
+$GPRMC,151827.00,A,5159.12149,N,00423.71195,E,0.006,,120308,,,D*7A
+$GPRMC,151828.00,A,5159.12149,N,00423.71195,E,0.025,311.62,120308,,,D*6D
+$GPRMC,151829.00,A,5159.12145,N,00423.71192,E,0.222,305.13,120308,,,D*61
+$GPRMC,151830.00,A,5159.12145,N,00423.71143,E,0.033,302.66,120308,,,D*62
+$GPRMC,151831.00,A,5159.12144,N,00423.71126,E,0.044,304.76,120308,,,D*66
+$GPRMC,151832.00,A,5159.12139,N,00423.71101,E,0.063,307.60,120308,,,D*6B
+$GPRMC,151833.00,A,5159.12127,N,00423.71075,E,0.030,305.31,120308,,,D*67
+$GPRMC,151834.00,A,5159.12119,N,00423.71073,E,0.084,307.69,120308,,,D*6B
+$GPRMC,151835.00,A,5159.12109,N,00423.71074,E,0.057,304.59,120308,,,D*62
+$GPRMC,151836.00,A,5159.12092,N,00423.71061,E,0.040,303.80,120308,,,D*63
+$GPRMC,151837.00,A,5159.12070,N,00423.71063,E,0.045,301.62,120308,,,D*67
+$GPRMC,151838.00,A,5159.12017,N,00423.71043,E,0.388,295.23,120308,,,D*60
+$GPRMC,151839.00,A,5159.11972,N,00423.71027,E,0.090,292.34,120308,,,D*61
+$GPRMC,151840.00,A,5159.11941,N,00423.71015,E,0.121,290.07,120308,,,D*67
+$GPRMC,151841.00,A,5159.11913,N,00423.70993,E,0.023,289.34,120308,,,D*6C
+$GPRMC,151842.00,A,5159.11891,N,00423.70973,E,0.344,283.93,120308,,,D*6F
+$GPRMC,151843.00,A,5159.11880,N,00423.70964,E,0.068,281.34,120308,,,D*6A
+$GPRMC,151844.00,A,5159.11865,N,00423.70950,E,0.011,,120308,,,D*7D
+$GPRMC,151845.00,A,5159.11852,N,00423.70932,E,0.134,280.88,120308,,,D*6E
+$GPRMC,151846.00,A,5159.11842,N,00423.70916,E,0.007,,120308,,,D*7F
+$GPRMC,151847.00,A,5159.11835,N,00423.70902,E,0.477,279.23,120308,,,D*6B
+$GPRMC,151848.00,A,5159.11824,N,00423.70896,E,0.027,275.36,120308,,,D*61
+$GPRMC,151849.00,A,5159.11819,N,00423.70889,E,0.023,279.00,120308,,,D*6D
+$GPRMC,151850.00,A,5159.11819,N,00423.70884,E,0.007,,120308,,,D*7C
+$GPRMC,151851.00,A,5159.11819,N,00423.70877,E,0.016,,120308,,,D*71
+$GPRMC,151852.00,A,5159.11815,N,00423.70871,E,0.096,276.58,120308,,,D*60
+$GPRMC,151853.00,A,5159.11813,N,00423.70865,E,0.274,281.89,120308,,,D*68
+$GPRMC,151854.00,A,5159.11798,N,00423.70848,E,0.200,276.52,120308,,,D*61
+$GPRMC,151855.00,A,5159.11778,N,00423.70829,E,0.324,271.92,120308,,,D*65
+$GPRMC,151856.00,A,5159.11741,N,00423.70795,E,0.298,267.59,120308,,,D*62
+$GPRMC,151857.00,A,5159.11728,N,00423.70792,E,0.351,263.20,120308,,,D*65
+$GPRMC,151858.00,A,5159.11737,N,00423.70807,E,0.022,262.96,120308,,,D*6C
+$GPRMC,151859.00,A,5159.11729,N,00423.70813,E,0.098,259.06,120308,,,D*67
+$GPRMC,151900.00,A,5159.11728,N,00423.70823,E,0.098,258.50,120308,,,D*6A
+$GPRMC,151901.00,A,5159.11711,N,00423.70812,E,0.450,256.29,120308,,,D*63
+$GPRMC,151902.00,A,5159.11720,N,00423.70834,E,0.031,261.44,120308,,,D*6A
+$GPRMC,151903.00,A,5159.11722,N,00423.70845,E,0.081,265.49,120308,,,D*6D
+$GPRMC,151904.00,A,5159.11716,N,00423.70854,E,0.114,263.86,120308,,,D*65
+$GPRMC,151905.00,A,5159.11688,N,00423.70849,E,0.249,259.16,120308,,,D*65
+$GPRMC,151906.00,A,5159.11691,N,00423.70871,E,0.037,253.81,120308,,,D*6A
+$GPRMC,151907.00,A,5159.11705,N,00423.70894,E,0.239,252.53,120308,,,D*6E
+$GPRMC,151908.00,A,5159.11728,N,00423.70928,E,0.399,262.41,120308,,,D*63
+$GPRMC,151909.00,A,5159.11748,N,00423.70969,E,0.623,271.69,120308,,,D*6D
+$GPRMC,151910.00,A,5159.11772,N,00423.70997,E,0.110,276.15,120308,,,D*66
+$GPRMC,151911.00,A,5159.11802,N,00423.71042,E,0.071,280.28,120308,,,D*6E
+$GPRMC,151912.00,A,5159.11830,N,00423.71083,E,0.112,284.66,120308,,,D*6B
+$GPRMC,151913.00,A,5159.11854,N,00423.71118,E,0.095,288.83,120308,,,D*62
+$GPRMC,151914.00,A,5159.11876,N,00423.71148,E,0.416,294.86,120308,,,D*67
+$GPRMC,151915.00,A,5159.11893,N,00423.71171,E,0.335,304.62,120308,,,D*63
+$GPRMC,151916.00,A,5159.11904,N,00423.71179,E,0.164,306.86,120308,,,D*69
+$GPRMC,151917.00,A,5159.11915,N,00423.71199,E,0.524,300.77,120308,,,D*6E
+$GPRMC,151918.00,A,5159.11936,N,00423.71217,E,0.283,300.20,120308,,,D*6D
+$GPRMC,151919.00,A,5159.11956,N,00423.71245,E,0.076,304.19,120308,,,D*6B
+$GPRMC,151920.00,A,5159.11971,N,00423.71272,E,0.127,306.43,120308,,,D*68
+$GPRMC,151921.00,A,5159.11991,N,00423.71300,E,0.124,305.70,120308,,,D*63
+$GPRMC,151922.00,A,5159.12009,N,00423.71324,E,0.342,310.35,120308,,,D*6A
+$GPRMC,151923.00,A,5159.12040,N,00423.71390,E,0.123,306.65,120308,,,D*6E
+$GPRMC,151924.00,A,5159.12039,N,00423.71407,E,0.093,303.28,120308,,,D*68
+$GPRMC,151925.00,A,5159.12047,N,00423.71427,E,0.530,296.26,120308,,,D*6D
+$GPRMC,151926.00,A,5159.12043,N,00423.71427,E,0.210,289.62,120308,,,D*61
+$GPRMC,151927.00,A,5159.12023,N,00423.71410,E,0.234,289.22,120308,,,D*60
+$GPRMC,151928.00,A,5159.12032,N,00423.71382,E,0.837,291.25,120308,,,D*64
+$GPRMC,151929.00,A,5159.12030,N,00423.71354,E,0.757,291.63,120308,,,D*67
+$GPRMC,151930.00,A,5159.12025,N,00423.71330,E,0.523,290.99,120308,,,D*6C
+$GPRMC,151931.00,A,5159.12025,N,00423.71310,E,0.575,290.45,120308,,,D*6D
+$GPRMC,151932.00,A,5159.12022,N,00423.71357,E,0.071,293.99,120308,,,D*69
+$GPRMC,151933.00,A,5159.11982,N,00423.71377,E,0.132,297.60,120308,,,D*6E
+$GPRMC,151934.00,A,5159.11961,N,00423.71377,E,0.178,301.54,120308,,,D*63
+$GPRMC,151935.00,A,5159.11952,N,00423.71383,E,0.301,310.46,120308,,,D*66
+$GPRMC,151936.00,A,5159.11949,N,00423.71379,E,0.192,313.47,120308,,,D*60
+$GPRMC,151937.00,A,5159.11947,N,00423.71377,E,0.067,311.90,120308,,,D*62
+$GPRMC,151938.00,A,5159.11963,N,00423.71348,E,1.690,311.50,120308,,,D*64
+$GPRMC,151939.00,A,5159.12007,N,00423.71207,E,3.747,300.61,120308,,,D*6C
+$GPRMC,151940.00,A,5159.12066,N,00423.70962,E,6.581,296.40,120308,,,D*6C
+$GPRMC,151941.00,A,5159.12153,N,00423.70665,E,9.166,294.46,120308,,,D*64
+$GPRMC,151942.00,A,5159.12363,N,00423.70349,E,11.062,314.39,120308,,,D*50
+$GPRMC,151943.00,A,5159.12809,N,00423.69985,E,14.371,335.49,120308,,,D*54
+$GPRMC,151944.00,A,5159.13278,N,00423.69647,E,16.108,337.74,120308,,,D*5D
+$GPRMC,151945.00,A,5159.13744,N,00423.69249,E,18.610,328.50,120308,,,D*54
+$GPRMC,151946.00,A,5159.14097,N,00423.68617,E,19.894,314.37,120308,,,D*5A
+$GPRMC,151947.00,A,5159.14477,N,00423.67831,E,20.891,306.04,120308,,,D*58
+$GPRMC,151948.00,A,5159.14673,N,00423.66835,E,22.450,292.19,120308,,,D*57
+$GPRMC,151949.00,A,5159.14835,N,00423.65796,E,22.467,287.57,120308,,,D*55
+$GPRMC,151950.00,A,5159.15050,N,00423.64816,E,21.723,288.64,120308,,,D*5E
+$GPRMC,151951.00,A,5159.15358,N,00423.64023,E,20.274,301.24,120308,,,D*58
+$GPRMC,151952.00,A,5159.15832,N,00423.63279,E,23.438,316.16,120308,,,D*5C
+$GPRMC,151953.00,A,5159.16461,N,00423.62778,E,25.325,334.62,120308,,,D*5F
+$GPRMC,151954.00,A,5159.17261,N,00423.62296,E,30.661,340.96,120308,,,D*53
+$GPRMC,151955.00,A,5159.18172,N,00423.61856,E,34.467,342.66,120308,,,D*54
+$GPRMC,151956.00,A,5159.19144,N,00423.61405,E,35.269,343.33,120308,,,D*51
+$GPRMC,151957.00,A,5159.20112,N,00423.60941,E,35.496,343.43,120308,,,D*54
+$GPRMC,151958.00,A,5159.21083,N,00423.60494,E,36.502,343.83,120308,,,D*55
+$GPRMC,151959.00,A,5159.22092,N,00423.60056,E,37.757,345.19,120308,,,D*5B
+$GPRMC,152000.00,A,5159.23205,N,00423.59600,E,40.367,345.46,120308,,,D*52
+$GPRMC,152001.00,A,5159.24349,N,00423.59153,E,41.974,345.01,120308,,,D*56
+$GPRMC,152002.00,A,5159.25542,N,00423.58641,E,44.246,345.40,120308,,,D*56
+$GPRMC,152003.00,A,5159.26784,N,00423.58152,E,45.588,345.56,120308,,,D*5A
+$GPRMC,152004.00,A,5159.28035,N,00423.57633,E,46.969,345.83,120308,,,D*59
+$GPRMC,152005.00,A,5159.29311,N,00423.57111,E,46.749,345.73,120308,,,D*58
+$GPRMC,152006.00,A,5159.30575,N,00423.56587,E,46.457,345.60,120308,,,D*53
+$GPRMC,152007.00,A,5159.31836,N,00423.56060,E,46.644,345.16,120308,,,D*54
+$GPRMC,152008.00,A,5159.33104,N,00423.55514,E,47.558,344.60,120308,,,D*5B
+$GPRMC,152009.00,A,5159.34400,N,00423.54983,E,48.233,345.68,120308,,,D*53
+$GPRMC,152010.00,A,5159.35711,N,00423.54469,E,47.920,346.37,120308,,,D*5F
+$GPRMC,152011.00,A,5159.36991,N,00423.53931,E,47.459,345.32,120308,,,D*59
+$GPRMC,152012.00,A,5159.38271,N,00423.53392,E,47.435,345.02,120308,,,D*5B
+$GPRMC,152013.00,A,5159.39563,N,00423.52836,E,47.673,345.04,120308,,,D*5D
+$GPRMC,152014.00,A,5159.40876,N,00423.52255,E,48.335,344.65,120308,,,D*5C
+$GPRMC,152015.00,A,5159.42211,N,00423.51690,E,49.523,345.08,120308,,,D*50
+$GPRMC,152016.00,A,5159.43540,N,00423.51123,E,49.384,345.62,120308,,,D*59
+$GPRMC,152017.00,A,5159.44894,N,00423.50524,E,50.548,345.05,120308,,,D*56
+$GPRMC,152018.00,A,5159.46273,N,00423.49939,E,51.254,345.62,120308,,,D*5A
+$GPRMC,152019.00,A,5159.47657,N,00423.49352,E,51.360,345.35,120308,,,D*5B
+$GPRMC,152020.00,A,5159.49039,N,00423.48752,E,51.659,345.31,120308,,,D*5F
+$GPRMC,152021.00,A,5159.50438,N,00423.48157,E,51.812,345.56,120308,,,D*50
+$GPRMC,152022.00,A,5159.51828,N,00423.47568,E,51.913,346.09,120308,,,D*51
+$GPRMC,152023.00,A,5159.53234,N,00423.47038,E,52.115,347.89,120308,,,D*51
+$GPRMC,152024.00,A,5159.54632,N,00423.46552,E,51.886,349.52,120308,,,D*53
+$GPRMC,152025.00,A,5159.56029,N,00423.46123,E,51.770,350.72,120308,,,D*52
+$GPRMC,152026.00,A,5159.57433,N,00423.45739,E,51.529,350.88,120308,,,D*5A
+$GPRMC,152027.00,A,5159.58793,N,00423.45346,E,49.965,350.15,120308,,,D*58
+$GPRMC,152028.00,A,5159.60118,N,00423.44948,E,48.338,350.19,120308,,,D*53
+$GPRMC,152029.00,A,5159.61330,N,00423.44536,E,44.308,350.04,120308,,,D*5D
+$GPRMC,152030.00,A,5159.62501,N,00423.44211,E,41.526,350.76,120308,,,D*5A
+$GPRMC,152031.00,A,5159.63602,N,00423.43958,E,39.476,351.28,120308,,,D*5A
+$GPRMC,152032.00,A,5159.64657,N,00423.43736,E,38.055,351.93,120308,,,D*5C
+$GPRMC,152033.00,A,5159.65662,N,00423.43512,E,36.139,352.44,120308,,,D*52
+$GPRMC,152034.00,A,5159.66637,N,00423.43325,E,34.744,352.60,120308,,,D*5C
+$GPRMC,152035.00,A,5159.67598,N,00423.43163,E,35.071,352.65,120308,,,D*5F
+$GPRMC,152036.00,A,5159.68597,N,00423.42998,E,36.665,352.65,120308,,,D*51
+$GPRMC,152037.00,A,5159.69636,N,00423.42850,E,38.157,354.86,120308,,,D*5F
+$GPRMC,152038.00,A,5159.70692,N,00423.42757,E,37.961,358.56,120308,,,D*5D
+$GPRMC,152039.00,A,5159.71738,N,00423.42753,E,37.613,1.24,120308,,,D*58
+$GPRMC,152040.00,A,5159.72794,N,00423.42856,E,37.966,3.99,120308,,,D*50
+$GPRMC,152041.00,A,5159.73867,N,00423.43045,E,38.177,5.48,120308,,,D*55
+$GPRMC,152042.00,A,5159.74823,N,00423.43294,E,35.932,8.49,120308,,,D*57
+$GPRMC,152043.00,A,5159.75770,N,00423.43568,E,35.639,9.60,120308,,,D*54
+$GPRMC,152044.00,A,5159.76715,N,00423.43907,E,34.786,12.58,120308,,,D*63
+$GPRMC,152045.00,A,5159.77605,N,00423.44251,E,32.642,13.69,120308,,,D*60
+$GPRMC,152046.00,A,5159.78440,N,00423.44541,E,29.849,12.23,120308,,,D*69
+$GPRMC,152047.00,A,5159.79225,N,00423.44679,E,27.921,6.29,120308,,,D*5A
+$GPRMC,152048.00,A,5159.79962,N,00423.44678,E,26.676,359.20,120308,,,D*50
+$GPRMC,152049.00,A,5159.80673,N,00423.44556,E,25.611,348.60,120308,,,D*51
+$GPRMC,152050.00,A,5159.81378,N,00423.44244,E,25.959,341.77,120308,,,D*5E
+$GPRMC,152051.00,A,5159.82083,N,00423.43782,E,27.699,334.34,120308,,,D*57
+$GPRMC,152052.00,A,5159.82651,N,00423.43071,E,26.330,322.44,120308,,,D*51
+$GPRMC,152053.00,A,5159.83168,N,00423.42261,E,26.282,314.70,120308,,,D*54
+$GPRMC,152054.00,A,5159.83611,N,00423.41323,E,26.610,308.08,120308,,,D*53
+$GPRMC,152055.00,A,5159.83990,N,00423.40297,E,25.473,300.36,120308,,,D*5A
+$GPRMC,152056.00,A,5159.84321,N,00423.39244,E,25.418,296.02,120308,,,D*5A
+$GPRMC,152057.00,A,5159.84542,N,00423.38191,E,24.515,288.86,120308,,,D*5C
+$GPRMC,152058.00,A,5159.84749,N,00423.37189,E,23.720,291.26,120308,,,D*5D
+$GPRMC,152059.00,A,5159.84739,N,00423.36135,E,22.679,272.04,120308,,,D*5C
+$GPRMC,152100.00,A,5159.84715,N,00423.35117,E,22.491,267.64,120308,,,D*5A
+$GPRMC,152101.00,A,5159.84472,N,00423.34010,E,23.763,256.27,120308,,,D*54
+$GPRMC,152102.00,A,5159.84109,N,00423.32771,E,25.952,248.31,120308,,,D*5A
+$GPRMC,152103.00,A,5159.83740,N,00423.31583,E,27.581,245.47,120308,,,D*57
+$GPRMC,152104.00,A,5159.83196,N,00423.30419,E,30.998,241.98,120308,,,D*5A
+$GPRMC,152105.00,A,5159.82592,N,00423.29316,E,31.950,235.64,120308,,,D*5F
+$GPRMC,152106.00,A,5159.81985,N,00423.28128,E,33.522,234.02,120308,,,D*51
+$GPRMC,152107.00,A,5159.81393,N,00423.26926,E,32.817,233.82,120308,,,D*50
+$GPRMC,152108.00,A,5159.80809,N,00423.25733,E,33.313,233.74,120308,,,D*58
+$GPRMC,152109.00,A,5159.80219,N,00423.24561,E,33.688,233.39,120308,,,D*58
+$GPRMC,152110.00,A,5159.79641,N,00423.23364,E,33.829,232.73,120308,,,D*51
+$GPRMC,152111.00,A,5159.79036,N,00423.22121,E,35.208,232.78,120308,,,D*50
+$GPRMC,152112.00,A,5159.78455,N,00423.20838,E,36.441,235.84,120308,,,D*5C
+$GPRMC,152113.00,A,5159.77880,N,00423.19493,E,37.435,236.32,120308,,,D*5D
+$GPRMC,152114.00,A,5159.77392,N,00423.17981,E,38.378,241.61,120308,,,D*55
+$GPRMC,152115.00,A,5159.76937,N,00423.16421,E,38.972,245.15,120308,,,D*51
+$GPRMC,152116.00,A,5159.76514,N,00423.14758,E,40.349,248.04,120308,,,D*50
+$GPRMC,152117.00,A,5159.76104,N,00423.12935,E,42.583,250.70,120308,,,D*5F
+$GPRMC,152118.00,A,5159.75717,N,00423.11104,E,43.227,251.56,120308,,,D*53
+$GPRMC,152119.00,A,5159.75345,N,00423.09137,E,46.032,253.93,120308,,,D*50
+$GPRMC,152120.00,A,5159.74974,N,00423.07222,E,44.616,253.22,120308,,,D*52
+$GPRMC,152121.00,A,5159.74587,N,00423.05421,E,42.940,252.06,120308,,,D*59
+$GPRMC,152122.00,A,5159.74163,N,00423.03678,E,42.096,251.10,120308,,,D*5A
+$GPRMC,152123.00,A,5159.73804,N,00423.02055,E,38.386,250.73,120308,,,D*57
+$GPRMC,152124.00,A,5159.73465,N,00423.00559,E,33.823,251.53,120308,,,D*5C
+$GPRMC,152125.00,A,5159.73109,N,00422.99257,E,31.968,248.70,120308,,,D*5F
+$GPRMC,152126.00,A,5159.72795,N,00422.98050,E,28.765,248.67,120308,,,D*57
+$GPRMC,152127.00,A,5159.72550,N,00422.97118,E,23.522,248.27,120308,,,D*51
+$GPRMC,152128.00,A,5159.72363,N,00422.96404,E,19.011,248.42,120308,,,D*5E
+$GPRMC,152129.00,A,5159.72170,N,00422.95782,E,16.177,245.90,120308,,,D*5D
+$GPRMC,152130.00,A,5159.72081,N,00422.95373,E,11.881,248.72,120308,,,D*56
+$GPRMC,152131.00,A,5159.71998,N,00422.95025,E,9.596,247.06,120308,,,D*6B
+$GPRMC,152132.00,A,5159.71942,N,00422.94779,E,6.839,247.87,120308,,,D*6E
+$GPRMC,152133.00,A,5159.71886,N,00422.94564,E,5.380,238.84,120308,,,D*69
+$GPRMC,152134.00,A,5159.71834,N,00422.94426,E,3.630,223.06,120308,,,D*68
+$GPRMC,152135.00,A,5159.71843,N,00422.94372,E,2.018,254.59,120308,,,D*68
+$GPRMC,152136.00,A,5159.71803,N,00422.94400,E,1.171,253.04,120308,,,D*6F
+$GPRMC,152137.00,A,5159.71803,N,00422.94485,E,0.945,244.68,120308,,,D*61
+$GPRMC,152138.00,A,5159.71802,N,00422.94582,E,0.545,233.79,120308,,,D*65
+$GPRMC,152139.00,A,5159.71777,N,00422.94608,E,0.594,235.91,120308,,,D*64
+$GPRMC,152140.00,A,5159.71750,N,00422.94548,E,2.682,238.91,120308,,,D*63
+$GPRMC,152141.00,A,5159.71751,N,00422.94336,E,3.016,251.19,120308,,,D*69
+$GPRMC,152142.00,A,5159.71748,N,00422.94005,E,4.235,249.44,120308,,,D*64
+$GPRMC,152143.00,A,5159.71767,N,00422.93694,E,4.373,264.91,120308,,,D*65
+$GPRMC,152144.00,A,5159.71726,N,00422.93376,E,5.430,258.91,120308,,,D*60
+$GPRMC,152145.00,A,5159.71627,N,00422.93105,E,4.561,245.62,120308,,,D*63
+$GPRMC,152146.00,A,5159.71605,N,00422.92953,E,3.858,251.07,120308,,,D*6C
+$GPRMC,152147.00,A,5159.71569,N,00422.92800,E,2.892,240.97,120308,,,D*6D
+$GPRMC,152148.00,A,5159.71533,N,00422.92658,E,2.304,232.35,120308,,,D*67
+$GPRMC,152149.00,A,5159.71546,N,00422.92590,E,0.836,232.51,120308,,,D*69
+$GPRMC,152150.00,A,5159.71543,N,00422.92501,E,0.283,231.13,120308,,,D*6D
+$GPRMC,152151.00,A,5159.71551,N,00422.92423,E,0.348,240.84,120308,,,D*60
+$GPRMC,152152.00,A,5159.71587,N,00422.92329,E,1.013,249.93,120308,,,D*66
+$GPRMC,152153.00,A,5159.71591,N,00422.92211,E,0.778,255.92,120308,,,D*6D
+$GPRMC,152154.00,A,5159.71601,N,00422.92179,E,0.889,257.91,120308,,,D*6D
+$GPRMC,152155.00,A,5159.71629,N,00422.92154,E,1.190,260.84,120308,,,D*69
+$GPRMC,152156.00,A,5159.71556,N,00422.92019,E,1.901,260.37,120308,,,D*61
+$GPRMC,152157.00,A,5159.71408,N,00422.91904,E,4.110,230.49,120308,,,D*6D
+$GPRMC,152158.00,A,5159.71254,N,00422.91630,E,6.730,225.53,120308,,,D*6C
+$GPRMC,152159.00,A,5159.71066,N,00422.91436,E,6.262,221.02,120308,,,D*68
+$GPRMC,152200.00,A,5159.70927,N,00422.91256,E,5.738,216.15,120308,,,D*61
+$GPRMC,152201.00,A,5159.70793,N,00422.91160,E,3.554,207.43,120308,,,D*6A
+$GPRMC,152202.00,A,5159.70731,N,00422.91105,E,2.852,209.97,120308,,,D*6F
+$GPRMC,152203.00,A,5159.70669,N,00422.91094,E,1.074,209.26,120308,,,D*6E
+$GPRMC,152204.00,A,5159.70600,N,00422.91075,E,1.287,208.72,120308,,,D*67
+$GPRMC,152205.00,A,5159.70526,N,00422.91089,E,3.305,189.57,120308,,,D*66
+$GPRMC,152206.00,A,5159.70276,N,00422.91057,E,9.978,184.13,120308,,,D*63
+$GPRMC,152207.00,A,5159.69925,N,00422.91207,E,14.412,171.04,120308,,,D*51
+$GPRMC,152208.00,A,5159.69503,N,00422.91410,E,16.423,164.94,120308,,,D*5B
+$GPRMC,152209.00,A,5159.69006,N,00422.91807,E,20.421,158.39,120308,,,D*5F
+$GPRMC,152210.00,A,5159.68362,N,00422.92237,E,24.618,157.05,120308,,,D*51
+$GPRMC,152211.00,A,5159.67677,N,00422.92722,E,26.289,155.91,120308,,,D*5E
+$GPRMC,152212.00,A,5159.66868,N,00422.93295,E,29.791,156.23,120308,,,D*5D
+$GPRMC,152213.00,A,5159.66058,N,00422.93875,E,32.709,157.36,120308,,,D*5D
+$GPRMC,152214.00,A,5159.65207,N,00422.94451,E,33.856,158.38,120308,,,D*59
+$GPRMC,152215.00,A,5159.64321,N,00422.95060,E,36.091,157.27,120308,,,D*5C
+$GPRMC,152216.00,A,5159.63416,N,00422.95670,E,35.987,156.24,120308,,,D*53
+$GPRMC,152217.00,A,5159.62527,N,00422.96320,E,35.496,154.08,120308,,,D*52
+$GPRMC,152218.00,A,5159.61668,N,00422.97008,E,35.953,152.44,120308,,,D*54
+$GPRMC,152219.00,A,5159.60856,N,00422.97832,E,34.196,148.39,120308,,,D*57
+$GPRMC,152220.00,A,5159.60091,N,00422.98630,E,31.795,147.32,120308,,,D*59
+$GPRMC,152221.00,A,5159.59472,N,00422.99256,E,26.555,150.02,120308,,,D*53
+$GPRMC,152222.00,A,5159.58925,N,00422.99762,E,22.361,155.24,120308,,,D*58
+$GPRMC,152223.00,A,5159.58309,N,00423.00122,E,19.429,158.71,120308,,,D*50
+$GPRMC,152224.00,A,5159.57838,N,00423.00014,E,15.932,186.18,120308,,,D*52
+$GPRMC,152225.00,A,5159.57480,N,00422.99667,E,14.699,218.47,120308,,,D*5E
+$GPRMC,152226.00,A,5159.57185,N,00422.99001,E,16.469,233.45,120308,,,D*5F
+$GPRMC,152227.00,A,5159.56919,N,00422.98189,E,18.628,240.24,120308,,,D*58
+$GPRMC,152228.00,A,5159.56672,N,00422.97256,E,20.110,244.41,120308,,,D*5B
+$GPRMC,152229.00,A,5159.56454,N,00422.96342,E,19.686,246.85,120308,,,D*51
+$GPRMC,152230.00,A,5159.56251,N,00422.95464,E,20.284,246.87,120308,,,D*54
+$GPRMC,152231.00,A,5159.56039,N,00422.94527,E,20.410,247.94,120308,,,D*56
+$GPRMC,152232.00,A,5159.55827,N,00422.93578,E,20.626,248.18,120308,,,D*50
+$GPRMC,152233.00,A,5159.55595,N,00422.92764,E,19.721,247.25,120308,,,D*56
+$GPRMC,152234.00,A,5159.55350,N,00422.91998,E,18.839,245.28,120308,,,D*58
+$GPRMC,152235.00,A,5159.55152,N,00422.91242,E,17.579,244.93,120308,,,D*52
+$GPRMC,152236.00,A,5159.54914,N,00422.90582,E,16.916,243.54,120308,,,D*58
+$GPRMC,152237.00,A,5159.54740,N,00422.89957,E,15.517,245.44,120308,,,D*53
+$GPRMC,152238.00,A,5159.54579,N,00422.89322,E,13.415,244.49,120308,,,D*55
+$GPRMC,152239.00,A,5159.54441,N,00422.88816,E,12.706,244.57,120308,,,D*5C
+$GPRMC,152240.00,A,5159.54315,N,00422.88282,E,12.406,244.60,120308,,,D*54
+$GPRMC,152241.00,A,5159.54202,N,00422.87810,E,11.756,245.94,120308,,,D*53
+$GPRMC,152242.00,A,5159.54080,N,00422.87391,E,10.658,245.46,120308,,,D*5B
+$GPRMC,152243.00,A,5159.53976,N,00422.87076,E,8.425,246.57,120308,,,D*65
+$GPRMC,152244.00,A,5159.53931,N,00422.86845,E,6.679,243.73,120308,,,D*6E
+$GPRMC,152245.00,A,5159.53897,N,00422.86690,E,5.249,247.60,120308,,,D*66
+$GPRMC,152246.00,A,5159.53875,N,00422.86654,E,2.483,241.22,120308,,,D*66
+$GPRMC,152247.00,A,5159.53858,N,00422.86596,E,1.927,241.36,120308,,,D*60
+$GPRMC,152248.00,A,5159.53844,N,00422.86528,E,2.093,242.57,120308,,,D*66
+$GPRMC,152249.00,A,5159.53814,N,00422.86401,E,3.657,245.59,120308,,,D*6E
+$GPRMC,152250.00,A,5159.53780,N,00422.86152,E,5.719,248.90,120308,,,D*62
+$GPRMC,152251.00,A,5159.53701,N,00422.85842,E,7.454,247.21,120308,,,D*6C
+$GPRMC,152252.00,A,5159.53606,N,00422.85452,E,9.032,248.23,120308,,,D*63
+$GPRMC,152253.00,A,5159.53484,N,00422.84948,E,10.472,246.73,120308,,,D*5E
+$GPRMC,152254.00,A,5159.53364,N,00422.84458,E,11.028,247.83,120308,,,D*58
+$GPRMC,152255.00,A,5159.53247,N,00422.83955,E,11.740,246.53,120308,,,D*5B
+$GPRMC,152256.00,A,5159.53157,N,00422.83470,E,12.678,246.97,120308,,,D*51
+$GPRMC,152257.00,A,5159.53001,N,00422.82846,E,13.740,245.90,120308,,,D*55
+$GPRMC,152258.00,A,5159.52879,N,00422.82268,E,13.948,246.74,120308,,,D*55
+$GPRMC,152259.00,A,5159.52735,N,00422.81711,E,12.687,247.42,120308,,,D*52
+$GPRMC,152300.00,A,5159.52621,N,00422.81218,E,11.602,248.81,120308,,,D*59
+$GPRMC,152301.00,A,5159.52484,N,00422.80683,E,13.221,247.26,120308,,,D*57
+$GPRMC,152302.00,A,5159.52249,N,00422.80287,E,12.379,224.80,120308,,,D*57
+$GPRMC,152303.00,A,5159.51956,N,00422.79879,E,13.661,218.74,120308,,,D*54
+$GPRMC,152304.00,A,5159.51560,N,00422.79620,E,15.700,198.01,120308,,,D*51
+$GPRMC,152305.00,A,5159.51081,N,00422.79428,E,17.639,192.26,120308,,,D*56
+$GPRMC,152306.00,A,5159.50527,N,00422.79547,E,19.659,173.04,120308,,,D*52
+$GPRMC,152307.00,A,5159.50026,N,00422.79811,E,19.943,162.60,120308,,,D*5F
+$GPRMC,152308.00,A,5159.49484,N,00422.80129,E,20.608,163.13,120308,,,D*5F
+$GPRMC,152309.00,A,5159.48956,N,00422.80411,E,19.509,163.23,120308,,,D*58
+$GPRMC,152310.00,A,5159.48505,N,00422.80707,E,17.929,163.56,120308,,,D*5C
+$GPRMC,152311.00,A,5159.48078,N,00422.81019,E,17.286,162.76,120308,,,D*56
+$GPRMC,152312.00,A,5159.47629,N,00422.81293,E,17.340,163.60,120308,,,D*55
+$GPRMC,152313.00,A,5159.47178,N,00422.81549,E,16.747,162.38,120308,,,D*59
+$GPRMC,152314.00,A,5159.46754,N,00422.81811,E,15.751,160.83,120308,,,D*51
+$GPRMC,152315.00,A,5159.46361,N,00422.82064,E,15.044,162.75,120308,,,D*53
+$GPRMC,152316.00,A,5159.46012,N,00422.82213,E,13.460,170.03,120308,,,D*53
+$GPRMC,152317.00,A,5159.45683,N,00422.82170,E,12.689,186.44,120308,,,D*57
+$GPRMC,152318.00,A,5159.45312,N,00422.81893,E,15.308,206.96,120308,,,D*5D
+$GPRMC,152319.00,A,5159.45027,N,00422.81400,E,15.891,226.20,120308,,,D*5B
+$GPRMC,152320.00,A,5159.44784,N,00422.80645,E,18.852,238.83,120308,,,D*58
+$GPRMC,152321.00,A,5159.44535,N,00422.79745,E,21.510,243.91,120308,,,D*58
+$GPRMC,152322.00,A,5159.44297,N,00422.78766,E,22.945,245.93,120308,,,D*5F
+$GPRMC,152323.00,A,5159.44036,N,00422.77689,E,24.591,246.08,120308,,,D*5A
+$GPRMC,152324.00,A,5159.43780,N,00422.76615,E,23.954,245.65,120308,,,D*5E
+$GPRMC,152325.00,A,5159.43498,N,00422.75567,E,24.156,245.18,120308,,,D*57
+$GPRMC,152326.00,A,5159.43210,N,00422.74469,E,25.420,246.61,120308,,,D*54
+$GPRMC,152327.00,A,5159.42915,N,00422.73385,E,25.410,246.87,120308,,,D*53
+$GPRMC,152328.00,A,5159.42645,N,00422.72377,E,23.945,246.91,120308,,,D*56
+$GPRMC,152329.00,A,5159.42392,N,00422.71375,E,23.304,248.38,120308,,,D*5B
+$GPRMC,152330.00,A,5159.42114,N,00422.70437,E,22.012,246.16,120308,,,D*58
+$GPRMC,152331.00,A,5159.41891,N,00422.69512,E,20.743,247.99,120308,,,D*57
+$GPRMC,152332.00,A,5159.41726,N,00422.68827,E,15.365,247.56,120308,,,D*58
+$GPRMC,152333.00,A,5159.41558,N,00422.68363,E,10.007,243.52,120308,,,D*5B
+$GPRMC,152334.00,A,5159.41455,N,00422.68142,E,4.960,236.64,120308,,,D*6B
+$GPRMC,152335.00,A,5159.41388,N,00422.67989,E,3.748,241.88,120308,,,D*6C
+$GPRMC,152336.00,A,5159.41369,N,00422.67867,E,2.168,243.49,120308,,,D*6B
+$GPRMC,152337.00,A,5159.41357,N,00422.67847,E,0.765,241.93,120308,,,D*69
+$GPRMC,152338.00,A,5159.41356,N,00422.67883,E,0.566,240.37,120308,,,D*61
+$GPRMC,152339.00,A,5159.41369,N,00422.67940,E,0.410,243.49,120308,,,D*68
+$GPRMC,152340.00,A,5159.41387,N,00422.67954,E,0.145,243.72,120308,,,D*6E
+$GPRMC,152341.00,A,5159.41393,N,00422.67943,E,0.095,238.62,120308,,,D*6D
+$GPRMC,152342.00,A,5159.41398,N,00422.67929,E,0.298,227.62,120308,,,D*68
+$GPRMC,152343.00,A,5159.41336,N,00422.67999,E,0.708,227.42,120308,,,D*68
+$GPRMC,152344.00,A,5159.41290,N,00422.67961,E,1.982,231.56,120308,,,D*6A
+$GPRMC,152345.00,A,5159.41158,N,00422.67865,E,4.693,226.89,120308,,,D*67
+$GPRMC,152346.00,A,5159.40907,N,00422.67862,E,7.423,188.95,120308,,,D*60
+$GPRMC,152347.00,A,5159.40658,N,00422.68009,E,9.167,160.91,120308,,,D*67
+$GPRMC,152348.00,A,5159.40392,N,00422.68270,E,10.825,153.25,120308,,,D*5F
+$GPRMC,152349.00,A,5159.40201,N,00422.68411,E,11.085,154.45,120308,,,D*56
+$GPRMC,152350.00,A,5159.39947,N,00422.68580,E,11.320,152.68,120308,,,D*55
+$GPRMC,152351.00,A,5159.39669,N,00422.68783,E,11.333,154.12,120308,,,D*5F
+$GPRMC,152352.00,A,5159.39434,N,00422.68889,E,10.198,147.40,120308,,,D*54
+$GPRMC,152353.00,A,5159.39216,N,00422.69138,E,8.482,144.74,120308,,,D*62
+$GPRMC,152354.00,A,5159.39102,N,00422.69433,E,5.833,142.29,120308,,,D*68
+$GPRMC,152355.00,A,5159.39066,N,00422.69510,E,3.681,140.53,120308,,,D*64
+$GPRMC,152356.00,A,5159.39111,N,00422.69556,E,0.705,138.96,120308,,,D*6C
+$GPRMC,152357.00,A,5159.39139,N,00422.69608,E,0.713,133.72,120308,,,D*69
+$GPRMC,152358.00,A,5159.39198,N,00422.69746,E,2.211,125.98,120308,,,D*60
+$GPRMC,152359.00,A,5159.39270,N,00422.70077,E,2.838,100.33,120308,,,D*6E
+$GPRMC,152400.00,A,5159.39373,N,00422.70508,E,4.918,82.26,120308,,,D*50
+$GPRMC,152401.00,A,5159.39394,N,00422.70911,E,3.859,98.58,120308,,,D*5D
+$GPRMC,152402.00,A,5159.39394,N,00422.71175,E,3.395,112.02,120308,,,D*62
+$GPRMC,152403.00,A,5159.39550,N,00422.71390,E,0.999,116.49,120308,,,D*6A
+$GPRMC,152404.00,A,5159.39589,N,00422.71574,E,0.034,111.81,120308,,,D*68
+$GPRMC,152405.00,A,5159.39656,N,00422.71662,E,0.039,112.50,120308,,,D*6E
+$GPRMC,152406.00,A,5159.39696,N,00422.71745,E,0.023,116.10,120308,,,D*6E
+$GPRMC,152407.00,A,5159.39751,N,00422.71809,E,0.120,111.96,120308,,,D*69
+$GPRMC,152408.00,A,5159.39712,N,00422.71851,E,0.004,,120308,,,D*7B
+$GPRMC,152409.00,A,5159.39658,N,00422.71859,E,0.037,113.42,120308,,,D*66
+$GPRMC,152410.00,A,5159.39624,N,00422.71863,E,0.017,,120308,,,D*75
+$GPRMC,152411.00,A,5159.39592,N,00422.71861,E,0.006,,120308,,,D*78
+$GPRMC,152412.00,A,5159.39589,N,00422.71861,E,0.191,109.93,120308,,,D*62
+$GPRMC,152413.00,A,5159.39548,N,00422.71874,E,0.653,113.20,120308,,,D*60
+$GPRMC,152414.00,A,5159.39540,N,00422.71915,E,1.492,110.72,120308,,,D*63
+$GPRMC,152415.00,A,5159.39530,N,00422.71856,E,1.250,117.96,120308,,,D*66
+$GPRMC,152416.00,A,5159.39564,N,00422.71826,E,0.213,120.77,120308,,,D*6E
+$GPRMC,152417.00,A,5159.39588,N,00422.71761,E,0.070,122.83,120308,,,D*6F
+$GPRMC,152418.00,A,5159.39600,N,00422.71714,E,0.029,125.50,120308,,,D*64
+$GPRMC,152419.00,A,5159.39610,N,00422.71662,E,0.047,127.37,120308,,,D*6F
+$GPRMC,152420.00,A,5159.39638,N,00422.71616,E,0.018,,120308,,,D*78
+$GPRMC,152421.00,A,5159.39666,N,00422.71576,E,0.041,123.73,120308,,,D*61
+$GPRMC,152422.00,A,5159.39667,N,00422.71555,E,0.144,125.37,120308,,,D*60
+$GPRMC,152423.00,A,5159.39670,N,00422.71527,E,0.335,128.50,120308,,,D*6A
+$GPRMC,152424.00,A,5159.39683,N,00422.71507,E,0.112,130.65,120308,,,D*6B
+$GPRMC,152425.00,A,5159.39710,N,00422.71473,E,0.474,133.75,120308,,,D*64
+$GPRMC,152426.00,A,5159.39712,N,00422.71444,E,0.950,136.96,120308,,,D*62
+$GPRMC,152427.00,A,5159.39753,N,00422.71428,E,0.047,133.71,120308,,,D*6F
+$GPRMC,152428.00,A,5159.39777,N,00422.71414,E,0.093,130.36,120308,,,D*60
+$GPRMC,152429.00,A,5159.39799,N,00422.71402,E,0.051,127.85,120308,,,D*66
+$GPRMC,152430.00,A,5159.39835,N,00422.71383,E,0.030,129.99,120308,,,D*6D
+$GPRMC,152431.00,A,5159.39844,N,00422.71363,E,0.029,132.95,120308,,,D*6A
+$GPRMC,152432.00,A,5159.39848,N,00422.71346,E,0.024,129.51,120308,,,D*6D
+$GPRMC,152433.00,A,5159.39852,N,00422.71337,E,0.057,126.42,120308,,,D*68
+$GPRMC,152434.00,A,5159.39861,N,00422.71337,E,0.010,,120308,,,D*71
+$GPRMC,152435.00,A,5159.39863,N,00422.71336,E,0.310,129.97,120308,,,D*6A
+$GPRMC,152436.00,A,5159.39861,N,00422.71335,E,0.011,,120308,,,D*70
+$GPRMC,152437.00,A,5159.39863,N,00422.71336,E,0.014,,120308,,,D*75
+$GPRMC,152438.00,A,5159.39862,N,00422.71338,E,0.014,,120308,,,D*75
+$GPRMC,152439.00,A,5159.39865,N,00422.71341,E,0.028,132.14,120308,,,D*69
+$GPRMC,152440.00,A,5159.39866,N,00422.71346,E,0.042,133.89,120308,,,D*6A
+$GPRMC,152441.00,A,5159.39868,N,00422.71353,E,0.080,130.41,120308,,,D*68
+$GPRMC,152442.00,A,5159.39870,N,00422.71358,E,0.066,132.81,120308,,,D*6F
+$GPRMC,152443.00,A,5159.39869,N,00422.71362,E,0.027,135.45,120308,,,D*65
+$GPRMC,152444.00,A,5159.39868,N,00422.71371,E,0.042,130.06,120308,,,A*65
+$GPRMC,152445.00,A,5159.39867,N,00422.71382,E,0.049,127.91,120308,,,A*64
+$GPRMC,152446.00,A,5159.39868,N,00422.71392,E,0.595,120.05,120308,,,A*67
+$GPRMC,152447.00,A,5159.39870,N,00422.71402,E,0.084,116.99,120308,,,A*64
+$GPRMC,152448.00,A,5159.39863,N,00422.71411,E,0.128,113.92,120308,,,A*62
+$GPRMC,152449.00,A,5159.39865,N,00422.71427,E,0.088,111.96,120308,,,A*6D
+$GPRMC,152450.00,A,5159.39851,N,00422.71431,E,0.009,,120308,,,A*7C
+$GPRMC,152451.00,A,5159.39837,N,00422.71433,E,0.053,108.90,120308,,,A*6E
+$GPRMC,152452.00,A,5159.39833,N,00422.71443,E,0.074,106.07,120308,,,A*6B
+$GPRMC,152453.00,A,5159.39822,N,00422.71445,E,0.062,101.87,120308,,,A*64
+$GPRMC,152454.00,A,5159.39816,N,00422.71439,E,0.135,106.45,120308,,,A*65
+$GPRMC,152455.00,A,5159.39801,N,00422.71437,E,0.493,111.49,120308,,,A*6F
+$GPRMC,152456.00,A,5159.39792,N,00422.71429,E,0.108,107.38,120308,,,A*60
+$GPRMC,152457.00,A,5159.39794,N,00422.71426,E,0.058,107.64,120308,,,A*65
+$GPRMC,152458.00,A,5159.39801,N,00422.71428,E,0.097,102.02,120308,,,A*61
+$GPRMC,152459.00,A,5159.39799,N,00422.71424,E,0.105,107.00,120308,,,A*6F
+$GPRMC,152500.00,A,5159.39796,N,00422.71423,E,0.035,101.45,120308,,,A*6F
+$GPRMC,152501.00,A,5159.39785,N,00422.71420,E,0.071,98.64,120308,,,A*5D
+$GPRMC,152502.00,A,5159.39789,N,00422.71429,E,0.042,94.26,120308,,,A*51
+$GPRMC,152503.00,A,5159.39789,N,00422.71436,E,0.076,89.05,120308,,,A*54
+$GPRMC,152504.00,A,5159.39805,N,00422.71456,E,0.046,85.28,120308,,,A*5E
+$GPRMC,152505.00,A,5159.39815,N,00422.71472,E,0.227,91.52,120308,,,A*55
+$GPRMC,152506.00,A,5159.39820,N,00422.71483,E,0.047,86.41,120308,,,A*5E
+$GPRMC,152507.00,A,5159.39824,N,00422.71488,E,0.034,86.92,120308,,,A*5A
+$GPRMC,152508.00,A,5159.39827,N,00422.71488,E,0.068,91.24,120308,,,A*54
+$GPRMC,152509.00,A,5159.39831,N,00422.71489,E,0.022,94.02,120308,,,A*5C
+$GPRMC,152510.00,A,5159.39836,N,00422.71488,E,0.069,89.56,120308,,,A*50
+$GPRMC,152511.00,A,5159.39837,N,00422.71487,E,0.084,85.19,120308,,,A*5B
+$GPRMC,152512.00,A,5159.39834,N,00422.71490,E,0.027,79.83,120308,,,A*54
+$GPRMC,152513.00,A,5159.39833,N,00422.71490,E,0.106,77.04,120308,,,A*51
+$GPRMC,152514.00,A,5159.39832,N,00422.71491,E,0.056,73.67,120308,,,A*53
+$GPRMC,152515.00,A,5159.39832,N,00422.71489,E,0.044,71.00,120308,,,A*5B
+$GPRMC,152516.00,A,5159.39831,N,00422.71488,E,0.040,67.44,120308,,,A*59
+$GPRMC,152517.00,A,5159.39838,N,00422.71478,E,0.116,62.82,120308,,,A*53
+$GPRMC,152518.00,A,5159.39842,N,00422.71469,E,0.229,55.30,120308,,,A*53
+$GPRMC,152519.00,A,5159.39847,N,00422.71458,E,0.170,52.47,120308,,,A*5D
+$GPRMC,152520.00,A,5159.39853,N,00422.71452,E,0.141,49.73,120308,,,A*57
+$GPRMC,152521.00,A,5159.39849,N,00422.71460,E,0.142,47.71,120308,,,A*53
+$GPRMC,152522.00,A,5159.39848,N,00422.71467,E,0.036,43.94,120308,,,A*5B
+$GPRMC,152523.00,A,5159.39852,N,00422.71455,E,0.076,40.97,120308,,,A*54
+$GPRMC,152524.00,A,5159.39857,N,00422.71447,E,0.057,39.63,120308,,,A*53
+$GPRMC,152525.00,A,5159.39839,N,00422.71476,E,0.057,44.40,120308,,,A*53
+$GPRMC,152526.00,A,5159.39847,N,00422.71472,E,0.315,40.02,120308,,,A*5A
+$GPRMC,152527.00,A,5159.39859,N,00422.71462,E,0.048,36.93,120308,,,A*57
+$GPRMC,152528.00,A,5159.39844,N,00422.71495,E,0.151,35.18,120308,,,A*55
+$GPRMC,152529.00,A,5159.39843,N,00422.71513,E,0.142,38.70,120308,,,A*5D
+$GPRMC,152530.00,A,5159.39841,N,00422.71539,E,0.035,42.67,120308,,,A*55
+$GPRMC,152531.00,A,5159.39839,N,00422.71559,E,0.026,45.91,120308,,,A*51
+$GPRMC,152532.00,A,5159.39845,N,00422.71575,E,0.009,,120308,,,A*7D
+$GPRMC,152533.00,A,5159.39840,N,00422.71598,E,0.013,,120308,,,A*71
+$GPRMC,152534.00,A,5159.39838,N,00422.71613,E,0.015,,120308,,,A*7F
+$GPRMC,152535.00,A,5159.39840,N,00422.71621,E,0.068,44.70,120308,,,A*53
+$GPRMC,152536.00,A,5159.39844,N,00422.71629,E,0.017,,120308,,,A*7D
+$GPRMC,152537.00,A,5159.39848,N,00422.71633,E,0.022,42.87,120308,,,A*5A
+$GPRMC,152538.00,A,5159.39854,N,00422.71636,E,0.056,47.19,120308,,,A*5C
+$GPRMC,152539.00,A,5159.39855,N,00422.71635,E,0.074,43.85,120308,,,A*5E
+$GPRMC,152540.00,A,5159.39858,N,00422.71633,E,0.040,46.34,120308,,,A*53
+$GPRMC,152541.00,A,5159.39859,N,00422.71635,E,0.211,53.54,120308,,,A*51
+$GPRMC,152542.00,A,5159.39859,N,00422.71634,E,0.062,51.38,120308,,,A*5D
+$GPRMC,152543.00,A,5159.39865,N,00422.71632,E,0.114,49.20,120308,,,A*55
+$GPRMC,152544.00,A,5159.39872,N,00422.71631,E,0.109,47.49,120308,,,A*5A
+$GPRMC,152545.00,A,5159.39876,N,00422.71629,E,0.050,52.01,120308,,,A*53
+$GPRMC,152546.00,A,5159.39863,N,00422.71636,E,0.337,56.81,120308,,,A*54
+$GPRMC,152547.00,A,5159.39859,N,00422.71639,E,0.109,53.50,120308,,,A*55
+$GPRMC,152548.00,A,5159.39857,N,00422.71632,E,0.059,54.28,120308,,,A*53
+$GPRMC,152549.00,A,5159.39847,N,00422.71632,E,0.262,60.10,120308,,,A*55
+$GPRMC,152550.00,A,5159.39846,N,00422.71623,E,0.032,65.42,120308,,,A*59
+$GPRMC,152551.00,A,5159.39844,N,00422.71617,E,0.003,,120308,,,A*74
Index: /liacs/se/requirement-list.txt
===================================================================
--- /liacs/se/requirement-list.txt	(revision 2)
+++ /liacs/se/requirement-list.txt	(revision 2)
@@ -0,0 +1,125 @@
+Software - REQUIREMENTS
+
+Syntax : Requirement - Assignee - [DONE|TODO|N(ot) A(pplicable)] -
+Comment
+
+The device must be able to receive and use information from GPS (Global
+Positioning System) and RDS (Radio Data System). The GPS is used to get
+the location. - RICK - DONE - Comment GPS Only to RDS data
+
+The device must be able to receive and use information from RDS (Radio
+Data System). RDS is used to get data about traffic jams and other
+traffic conditions. - RICK - TODO
+
+The dimensions should be 12 x 12 x 6 cm (width x height x depth), with
+no greater deviation than 1 cm in each direction. - RICK - NA
+
+The screen dimensions must be at least 10 x 10 cm (width x height). -
+RICK - DONE
+
+The screen must be touch sensitive (touch input). - Hugo - TODO -
+Emulate behavious by using the mouse as input only
+
+The weight should stay below 200 gram. - RICK - NA
+
+Energy usage must be kept low, less than 5 Watt. - RICK - NA
+
+Buttons:
+- power on/off - RICK - DONE
+- select between views (discussed below) - RICK - DONE - Touch
+- select - RICK - DONE
+- "+" (zoom in) - RICK - DONE
+- "-" (zoom out) -RICK - DONE
+
+* Functional requirements
+
+The device has two views (screens): - RICK - DONE
+- main screen (default view on powering up) - RICK - DONE
+- target selecting screen - HUGO - TODO
+
+Main screen:
+
+The device must show a map on screen which shows: - RICK - TOTO
+- the car, marked by a green triangle pointed to the current driving
+  direction (or the last driving direction when standing still),
+  centered when no target is selected, and 2 cm from a border directing
+  the opposite direction when driving to a selected target, updated each
+  1 seconds. - RICK - DOME - Implemented a compass instead of map altering as
+  map altering is to intensive
+- the environment (choose map based on current location), updated each 5
+  seconds. - RICK - DONE
+- the route / way to be taken, marked by small (3 mm) dots, updated each
+  60 seconds. - RICK - DONE - Only after simulation
+- if possible, the target, marked by a red circle (a dot of  6 mm),
+  updated each 60 seconds. - RICK - DONE - Blue marker
+- if existent, traffic jams or other problems, marked by a gray shade,
+  updated each 60 seconds. - RICK - NA
+- current speed (bottom centered), updated each 1 seconds. - RICK - DONE
+- current time (upper left), updated each 1 seconds. - RICK - DONE
+- ETA (estimated time of arrival) (upper right), updated each 15
+  seconds. - RICK - TODO - No routing target possible yet
+- driving directions (arrows), updated each 3 seconds. - RICK - TODO -  
+  compass call
+
+Tapping with a finger on the screen should set a new waypoint to which
+the driver should be taken first, before the final target is reached. -
+XXX - TODO
+
+Target selecting screen: - HUGO - TODO
+The device must show a list on screen which shows:
+- current target and waypoints, ordered on current distance, and tapping
+  on one of those should select it. Pressing the "-" should delete the
+  selected target / waypoint. - HUGO - TODO
+- nearby points of interest and important roads (highways) (first half
+  of the screen), which can be added with "+" as waypoint or with
+  "select" as destination (target). - HUGO - TODO
+- a touchscreen virtual keyboard input to specify a target, which can be
+  added with "+" as waypoint or with "select" as destination (target). - HUGO - TODO
+  If the target is not recognized, then it should be shown in red, and
+  not be added as waypoint or destination. If it is recognized, it
+  should be shown in blue. A list of three suggested targets based on
+  the current input should be shown below the text input. - HUGO - TODO
+
+* Usability
+
+The usability is guaranteed by using only a few buttons and where
+possible the touch screen input. Users instantly see their current
+position and current map. The usability is further improved by fast
+updating important information and not showing too much information and
+arcane options. - HUGO - TODO
+
+* Performance
+
+A performance minimum for updating driving directions, current location
+and so forth is given in the requirements for the main screen. The
+performance should allow the driver to act quickly on changing
+directions and to have a relevant and actual view on his/her
+environment. - RICK - TODO
+
+* Accuracy
+
+Here, maximum errors / deviations are given:
+- current speed: max 10% RICK - TODO
+- current location: max 25 meters while driving (less is difficult with
+  current GPS technology) max 12 meters while standing still - HUGO - TODO
+- current time: max 2 min. - RICK - TODO
+- ETA: this is a guess, so up to 20% of the time to travel may be wrong
+  95% of time - RICK - TODO
+- traffic jams: this depends on RDS data, so accuracy cannot be
+  guaranteed by the CNS - RICK - NA
+
+* Quality
+
+The device must withstand small drops of water (like when raining),
+sunshine behind glass, operating temperatures from -20 up to 80 degreed
+Celsius, drops from table-level heights, and firm finger presses on the
+touch screen. - RICK - NA
+
+The GPS and RDS modules must be replaceable with newer modules. - RICK
+- TODO
+
+The internal map must be stored on a removable storage, so make updating
+possible. - RICK - DONE - Stored online.
+
+The software should be programmed using the object oriented paradigm. -
+RICK - DONE - Java
Index: /liacs/se/requirements.txt
===================================================================
--- /liacs/se/requirements.txt	(revision 2)
+++ /liacs/se/requirements.txt	(revision 2)
@@ -0,0 +1,81 @@
+REQUIREMENTS
+
+updated 2008-03-19 by EM
+
+* Problem
+
+The CNS device will help drivers by guiding them to their destination.
+
+* Background information / Domain analysis
+
+The CNS will be used in cars which can very in type. All types of roads have to be considered. Several companies will offer the CNS. CNS is using the GPS Satellite system to get it's location, which means that big buildings, bad weather and tunnels can impact the performance of the device.
+
+* Environment  / system model
+
+The device must be able to receive and use information from GPS (Global Positioning System) and RDS (Radio Data System). The GPS is used to get the location.
+The device must be able to receive and use information from RDS (Radio Data System). RDS is used to get data about traffic jams and other traffic conditions.
+The dimensions should be 12 x 12 x 6 cm (width x height x depth), with no greater deviation than 1 cm in each direction.
+The screen dimensions must be at least 10 x 10 cm (width x height).
+The screen must be touch sensitive (touch input).
+The weight should stay below 200 gram.
+Energy usage must be kept low, less than 5 Watt.
+Buttons:
+- power on/off
+- select between views (discussed below)
+- select
+- "+" (zoom in)
+- "-" (zoom out)
+
+* Functional requirements
+
+The device has two views (screens):
+- main screen (default view on powering up)
+- target selecting screen
+
+Main screen:
+
+The device must show a map on screen which shows:
+- the car, marked by a green triangle pointed to the current driving direction (or the last driving direction when standing still), centered when no target is selected, and 2 cm from a border directing the opposite direction when driving to a selected target, updated each 1 seconds.
+- the environment (choose map based on current location), updated each 5 seconds.
+- the route / way to be taken, marked by small (3 mm) dots, updated each 60 seconds.
+- if possible, the target, marked by a red circle (a dot of  6 mm), updated each 60 seconds.
+- if existent, traffic jams or other problems, marked by a gray shade, updated each 60 seconds.
+- current speed (bottom centered), updated each 1 seconds.
+- current time (upper left), updated each 1 seconds.
+- ETA (estimated time of arrival) (upper right), updated each 15 seconds.
+- driving directions (arrows), updated each 3 seconds.
+
+Tapping with a finger on the screen should set a new waypoint to which the driver should be taken first, before the final target is reached.
+
+Target selecting screen:
+The device must show a list on screen which shows:
+- current target and waypoints, ordered on current distance, and tapping on one of those should select it. Pressing the "-" should delete the selected target / waypoint.
+- nearby points of interest and important roads (highways) (first half of the screen), which can be added with "+" as waypoint or with "select" as destination (target).
+- a touchscreen virtual keyboard input to specify a target, which can be added with "+" as waypoint or with "select" as destination (target). If the target is not recognized, then it should be shown in red, and not be added as waypoint or destination. If it is recognized, it should be shown in blue. A list of three suggested targets based on the current input should be shown below the text input.
+
+* Usability
+
+The usability is guaranteed by using only a few buttons and where possible the touch screen input. Users instantly see their current position and current map. The usability is further improved by fast updating important information and not showing too much information and arcane options.
+
+* Performance
+
+A performance minimum for updating driving directions, current location and so forth is given in the requirements for the main screen. The performance should allow the driver to act quickly on changing directions and to have a relevant and actual view on his/her environment.
+
+* Accuracy
+
+Here, maximum errors / deviations are given:
+- current speed: max 10%
+- current location: max 25 meters while driving (less is difficult with current GPS technology) max 12 meters while standing still
+- current time: max 2 min.
+- ETA: this is a guess, so up to 20% of the time to travel may be wrong 95% of time
+- traffic jams: this depends on RDS data, so accuracy cannot be guaranteed by the CNS
+
+* Quality
+
+The device must withstand small drops of water (like when raining), sunshine behind glass, operating temperatures from -20 up to 80 degreed Celsius, drops from table-level heights, and firm finger presses on the touch screen.
+
+The GPS and RDS modules must be replaceable with newer modules.
+
+The internal map must be stored on a removable storage, so make updating possible.
+
+The software should be programmed using the object oriented paradigm.
Index: /liacs/se/slides/gv-command.sh
===================================================================
--- /liacs/se/slides/gv-command.sh	(revision 2)
+++ /liacs/se/slides/gv-command.sh	(revision 2)
@@ -0,0 +1,12 @@
+#!/bin/sh
+gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=se-all.pdf -dBATCH \
+RE_guidelines.pdf \
+SE_college1_presented.pdf \
+SE_Requirements_Engineering_presented.pdf \
+SE_Software_Architecture_presented2008.pdf \
+Estimation_Measurement.pdf \
+RUP_and_Features.pdf \
+07_Design_Heuristics_and_Styles_presented.pdf \
+09_Design_Heuristics_and_Styles_part2.pdf \
+SW_Quality_Metrics_Inspections_Risk_Management.pdf \
+Testing_in_Practice_Bart_Knaack2008.pdf
Index: /liacs/templates/Makefile
===================================================================
--- /liacs/templates/Makefile	(revision 2)
+++ /liacs/templates/Makefile	(revision 2)
@@ -0,0 +1,23 @@
+# Rick van der Zwet
+# 0433373
+# XXX Assignment XXX
+# Licence: BSD
+# $Id: Makefile 741 2009-08-05 19:26:23Z rick $
+
+include latex.mk
+
+CFLAGS+=-Wall -g
+PROGRAMS=XXX
+
+all: $(PROGRAMS)
+
+clean: doc-clean
+	rm -Rf $(PROGRAMS)
+
+distclean: doc-distclean
+
+debug:
+	@sh -c 'while [ "true" ]; do make clean && make && ./${PROGRAMS}; echo -n "Completed: "; date; sleep 5; done'
+
+ones: $(PROGRAMS)
+	@sh -c ./$(PROGRAMS)
Index: /liacs/templates/latex.mk
===================================================================
--- /liacs/templates/latex.mk	(revision 2)
+++ /liacs/templates/latex.mk	(revision 2)
@@ -0,0 +1,54 @@
+# Rick van der Zwet <rick@wzoeterwoude.net>
+# Licence: BSD
+# Descrip: LaTex file parser
+# $Id: latex.mk 571 2008-04-20 17:31:04Z rick $
+
+TARGET = report
+LATEX = latex
+XDVI = xdvi
+TEX = latex -halt-on-error
+DVIPDF = dvipdf
+ASPELL = aspell
+ASPELL_ARGS = -c --mode=tex
+.SUFFIXES: .pdf
+
+help:
+	@echo "Usage Makefile <option>"
+
+doc-all: doc-distclean buildpdf
+
+view: viewpdf
+
+viewdvi: builddvi
+	$(XDVI) $(TARGET)
+
+builddvi: $(TARGET).dvi
+
+doc-clean:
+	rm -vf *.aux *.log *toc *.out *.bak
+
+doc-distclean: doc-clean
+	rm -vf $(TARGET).dvi $(TARGET).pdf $(PROGRAM)
+
+buildpdf: $(TARGET).pdf
+
+viewpdf: buildpdf
+	xpdf $(TARGET).pdf
+
+spell: spell-en
+
+spell-nl: $(TARGET).tex
+	$(ASPELL) -l nl -p ~/aspell-n.dic $(ASPELL_ARGS) $<
+
+spell-en: $(TARGET).tex
+	$(ASPELL) -l en -p ~/aspell-en.dic $(ASPELL_ARGS) $<
+
+.dvi.pdf:
+	$(DVIPDF) $? $@
+
+.tex.dvi:
+	$(TEX) $? $@
+	$(TEX) $? $@
+
+.gs.png:
+	$(GNUPLOT) $?
Index: /liacs/templates/report.tex
===================================================================
--- /liacs/templates/report.tex	(revision 2)
+++ /liacs/templates/report.tex	(revision 2)
@@ -0,0 +1,60 @@
+%
+% $Id: report.tex 571 2008-04-20 17:31:04Z rick $
+%
+
+\documentclass[12pt,a4paper]{article}
+
+\frenchspacing
+\usepackage[english,dutch]{babel}
+\selectlanguage{dutch}
+\usepackage{graphicx}
+\usepackage{url}
+\usepackage{multicol}
+\usepackage{fancybox}
+\usepackage{amssymb,amsmath}
+
+\author{Rick van der Zwet, Universiteit Leiden}
+\title{XXX \\
+\large{XXX}}
+\author{Rick van der Zwet\\
+  \texttt{<hvdzwet@liacs.nl>}\\
+  \\
+  LIACS\\
+  Leiden University\\
+  Niels Bohrweg 1\\
+  2333 CA Leiden\\
+  The Netherlands}
+\date{\today}
+
+\begin{document}
+
+\maketitle
+
+\section{Inleiding}
+\section{Uitleg probleem}
+\section{Theorie}
+\section{Aanpak}
+\section{Implementatie}
+\section{Experimenten}
+\section{Conclusie}
+\begin{thebibliography}{10}
+\end{thebibliography}
+\newpage
+% \advance\textwidth by 8cm
+% \advance\oddsidemargin by -3cm
+% \advance\evensidemargin by -3cm
+% \advance\topmargin by -2cm
+% \advance\textheight by 4cm
+% \advance\footskip by -4cm
+% \marginparwidth 0cm
+% \twocolumn
+% \section*{Appendix}
+% De NN code en pre-parse.pl code  zagen er als volgt uit:
+% \newline
+% \tiny
+% %preformatted with `source-highlight -n -f latex bridge.cc`
+% \input{nn.c}
+% \input{data/pre-parse.pl}
+% \onecolumn
+
+\end{document}
