%%
%% This is file `fcltxdoc.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% fcltxdoc.dtx  (with options: `package')
%% 
%% This is a generated file.
%% Copyright (FC) 2010-2011 - lppl
%% 
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3 of this license or (at your option) any later
%% version. The latest version of this license is in
%%    http://www.latex-project.org/lppl.txt
%% 
%% This work consists of the main source file fcltxdoc.dtx
%% and the derived files
%%    fcltxdoc.sty, fcltxdoc.pdf, fcltxdoc.ins, fcltxdoc.drv.
%% 
%% fcltxdoc: 2011/03/12 v1.0 - Private additional ltxdoc support (FC)
%% 
%% This package is not intended for public use.
%% It is required to compile some of my documentations files.
%% 
%% ------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{fcltxdoc}
    [2011/03/12 v1.0 - Private additional ltxdoc support (FC)]
\RequirePackage {etex}\def\etex@loggingall {\tracingall \tracingonline\z@ }
\reserveinserts 3
\RequirePackage {filehook}
\RequirePackage {ltxnew,etexcmds,ltxcmds,etoolbox}      % general tools (commands)
\AtEndOfPackage{\fcltx@AtEnd \let\fcltx@AtEnd \@undefined}
\def\fcltx@AtEnd {}
\def\TMP@EnsureCode#1={%
    \edef\fcltx@AtEnd{\fcltx@AtEnd
                     \catcode#1 \the\catcode#1}%
    \catcode#1=%
}% \TMP@EnsureCode
\TMP@EnsureCode 33 = 12 % !
\TMP@EnsureCode 58 = 12 % :
\TMP@EnsureCode124 = 12 % | = text bar
\TMP@EnsureCode 36 =  3 % $ = math shift
\TMP@EnsureCode 38 =  4 % & = tab alignmment character
\TMP@EnsureCode 32 = 10 % space
\TMP@EnsureCode 94 =  7 % ^
\TMP@EnsureCode 95 =  8 % _
\DeclareOption {amsmath}{\AtEndOfPackage{%
    \RequirePackage{amsmath,amsfonts,amsopn,amssymb}
    \newrobustcmd*\dpartial [2]{\displaystyle\genfrac{}{}{}{}
                                        {\partial\mkern.2\thinmuskip#1}
                                        {\partial\mkern.2\thinmuskip#2}}
    \newrobustcmd*\dtotal [2]{\displaystyle\genfrac{}{}{}{}
                                        {\text d\mkern.2\thinmuskip#1}
                                        {\text d\mkern.2\thinmuskip#2}}}
}% amsmath (package option)
\def\fcltx@articleclass {article}
\DeclareOption {scrartcl}{\def\fcltx@articleclass{scrartcl}\let\loadclass \LoadClass
    \def\LoadClass #1{\let\tablename \relax \let\c@table \relax \let\fnum@table \relax
                      \let\abovecaptionskip \relax \let\belowcaptionskip \relax \let\@makecaption \relax
                      \loadclass[abstracton]{scrartcl}\let\scrmaketitle =\maketitle
                      \AtEndOfClass{\let\maketitle =\scrmaketitle}}}
\DeclareOption {nopackages}{%
    \let\fcltx@nopackages \relax}
\DeclareOption {activepar}{\AtBeginDocument{\fcltx@activepar}}
\DeclareOption {\detokenize{§§}}{\ExecuteOptions{activepar}}
{\catcode`\§=\active
\gdef\fcltx@activepar{\catcode`\§=\active
    \def §{\@ifnextchar §{\par\nobreak \vskip-\parskip \ignorespaces }
                         {\par\nobreak \ignorespaces }}%
}% \fcltx@activepar
}% \catcode
\DeclareOption {hyperlistings}{%
    \AtBeginEnvironment {lstlisting}{\let\lsthk@OutputBox \lsthk@OutputBox@fcltxH@@k }%
    \AtEndOfPackageFile*{listings}{\preto\lst@InitFinalize {\let\lsthk@OutputBox \lsthk@OutputBox@fcltxH@@k }}%
}% hyperlistings
\ProcessOptions*
\PassOptionsToPackage {svgnames}{xcolor}
\RequirePackage {xspace}
%% Opacity problem with current pgf version...
\ifdefined\pdfpageattr \pdfpageattr{/Group <</S /Transparency /I true /CS /DeviceRGB>>}\fi
\csname \ifdefined\fcltx@nopackages iffalse\else
                                    iftrue\fi       \endcsname
\PassOptionsToPackage {T1}{fontenc}
\PassOptionsToPackage {normalem}{ulem}
\PassOptionsToPackage {pdfencoding=auto,hyperfootnotes}{hyperref}
\PassOptionsToPackage {official}{eurosym}
\PassOptionsToPackage {explicit}{titlesec}
\RequirePackage {fontenc}
\RequirePackage {hologo}                                % before graphicx (bug)
\RequirePackage {graphicx,grffile,needspace}     % general tools
\RequirePackage {Escan}
\RequirePackage {moresize,manfnt,bbding,eurosym}        % fonts
\RequirePackage {fancyhdr,lastpage,marginnote,framed}   % empagement
\RequirePackage {ulem}
\RequirePackage {nccfoots,nccstretch}                   % \Footnote / \stretchwith
\RequirePackage {linegoal}                              % \linegoal
\RequirePackage {array,delarray,makecell,booktabs}      % tabulars
\RequirePackage {embedfile}                             % .dtx enclosed in .pdf
\RequirePackage {interfaces}                            % interfaces
\usetikz {basic,chains,positioning,patterns,fadings}     % TikZ
\AtEndOfClassFile* \fcltx@articleclass{%
    \RequirePackage {relsize,titlesec,tocloft} % other general tools
    \RequirePackage [numbered]{hypdoc}[2010/03/26]
    \RequirePackage {hyperref}[2010/03/30]
    \RequirePackage {pdftexcmds}[2010/04/01]
    \RequirePackage {enumitem}
    \setitemize{parsep=\parskip,topsep=0pt,partopsep=0pt,itemsep=0pt}
    \RequirePackage {bookmark,hypbmsec}                 % bookmarks and hyper-links
%%    \RequirePackage {enumitem-zref}
    \RequirePackage {fancyvrb}                          % verbatim and listings
    \catcode`\&=7
    \RequirePackage {listings}
    \catcode`\&=4
    \AtBeginDocument{%
%%        \let\c@lstlisting \relax
%%        \newlistof {lstlisting}{lol}{List of listings}
        \listofsetup {lol}{before=\def\csref {\ref*}}}%
}% \AfterClass
\lastlinefit100\widowpenalty=5000\clubpenalty=8000
\else   % <[nopackages] option>
    \RequirePackage {xcolor}
\fi     % <[nopackages] option>
\AtEndOfPackageFile* {interfaces-tocloft}{
    \tocsetup {before+=\def\csref {\ref*}}%
}% \AfterPackage interfaces-tocloft
\AtEndOfPackageFile* {hyperref}{\pdfstringdefDisableCommands{%
            \def\\{\textCR\ignorespaces}%       <for pdfcomment to insert ..
            \def\par{\textCR\ignorespaces}}% .. a line break inside a comment>
}% \AfterPackage
\AtEndOfPackageFile*{fancyvrb}{%
\fvset {gobble=1,framesep=6pt,fontfamily=cmtt,listparameters={\topsep=0pt}}% verbatim basic settings
}
\AtEndOfPackageFile*{listings}{%
\lstset{gobble=1,                                   % listings basic settings
        language=[LaTeX]TeX,
        basicstyle=\usefont{T1}{cmtt}mn\footnotesize,
        breaklines=true,
        alsoletter={*},
        commentstyle=\ttfamily\color{violet},
        moretexcs=[1]{tikz},
        keywordstyle=[2]{\color{ForestGreen}\slshape},
        keywords=[2]{tabular,caption,tabu*,shorttabu*,shorttabu,table,tabu,tabularx,longtable,%
                        Verbatim,lstlisting,Escan-left,Escan-right,Escan-bottom,Escan-top,%
                        align*,align,equation*,equation,split,multline*,multline},
%%        texcsstyle=[3]{\color{ForestGreen}\slshape},
%%        moretexcs=[3]{tabubox*,tabubox,shorttabubox*,shorttabubox},
        texcsstyle=[55]{\color{DarkBlue}},
        texcs=[55]{hline,hhline,firsthline,lasthline,arrayrulewidth,arrayrulecolor},
        texcsstyle=[90]\color{Fuchsia},
        moretexcs=[90]{section*,section,subsection*,
                        subsection,subsubsection*,
                        subsubsection,paragraph*,paragraph,
                        subparagraph*,subparagraph},
        deletetexcs=[1]{section,subsection,subsubsection,paragraph,subparagraph},
        keywordstyle=[100]\color{red},
        texcsstyle=[100]\color{red},
        texcsstyle=[77]{\color{pkgcolor}},
        texcs=[77]{},
}
\define@key{lst}{red}[]{\kvsetkeys{lst}{morekeywords={[100]{#1}}}}
\define@key{lst}{csred}[]{\kvsetkeys{lst}{moretexcs={[100]{#1}}}}
\define@key{lst}{font}[]{\kvsetkeys{lst}{basicstyle={#1}}}
\define@key{lst}{font+}[]{\appto\lst@basicstyle{#1}}
\define@key{lst}{color}[]{\@expandtwoargs\kvsetkeys {lst}%
                            {backgroundcolor=\ifcat$\detokenize{#1}$\else\noexpand\color{#1}\fi}}
\gdef\lst@DefineKeywords#1#2#3{% overwrites to the last definition
    \lst@ifsensitive
        \def\lst@next{\lst@for#2}%
    \else
        \def\lst@next{\uppercase\expandafter{\expandafter\lst@for#2}}%
    \fi
    \fcltx@iflstclass {#2}>{90}
        {\lst@next\do {\global\expandafter\let\csname\@lst#1@##1\endcsname#3}}% <no test>
        {\lst@next\do {\expandafter \ifx \csname \@lst #1@##1\endcsname\relax \global\expandafter\let\csname \@lst #1@##1\endcsname #3\fi }}%
}% After package listings
\def\fcltx@iflstclass #1\@nil {\def\fcltx@iflstclass ##1##2##3{%
    \expandafter\fcltx@ifclass@filter \string##1\@nil
    \ifnum \@tempcnta ##2##3 \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi }%
}\expandafter\fcltx@iflstclass \string\lst@keywords \@nil
\def\fcltx@ifclass@filter #1#2{\def\fcltx@ifclass@filter ##1\@nil
    {\fcltx@ifcl@ss@filter ##1#1{}##1#2\@nil }%
}\@expandtwoargs \fcltx@ifclass@filter {\string\lst@keywords }{\string\lst@texcs }
\def\fcltx@ifcl@ss@filter #1#2{\def\fcltx@ifcl@ss@filter ##1#1##2#2##3\@nil
   {\@defaultunits \@tempcnta \number0##2==\@nnil
    \ifnum \@tempcnta =\z@ \@defaultunits \@tempcnta \number 0##3==\@nnil \fi }%
}\@expandtwoargs \fcltx@ifcl@ss@filter {\string\lst@keywords }{\string\lst@texcs }
\def\lstset {\begingroup \lst@setcatcodes \expandafter\endgroup \lstset@ }
\def\lstset@ #1{\kvsetkeys {lst}{#1}}
}% \AfterPackage listings
\providecommand\pdfstringDisableCommands [1]{\AtBeginDocument{%
    \ifdefined \pdfstringdefDisableCommands
        \let\pdfstringDisableCommands =\pdfstringdefDisableCommands
        \pdfstringdefDisableCommands{#1}\fi}}
\providerobustcmd*\TabU [1][\TabUcolor]{\leavevmode
    {#1{{\fontsize{1.618\dimexpr\f@size\p@}{1.618\dimexpr\f@size\p@}\usefont U{eur}mn\char"1C}%
        $_\aleph \mkern.1666mu b\mskip3mu\mathsurround\z@$\lower.261ex\hbox{\rotatebox[origin=c]{-90}{\usefont{T1}{lmss}mn U}}}}%
    \ifmmode\else\ifhmode \spacefactor3000 \xspaceverb \fi\fi }
\def\TabUcolor {\color{copper}}
\pdfstringDisableCommands{\def\TabU {TabU }}
{\endlinechar`\^^J\obeyspaces%
\gdef\ErrorUpdate#1=#2,{\@ifpackagelater{#1}{#2}\relax%
            {\let\CheckDates=\errmessage%
             \toks@=\expandafter{\the\toks@
                        \thisfile-documentation: updates required !
                        package #1 must be later than #2
                        to compile this documentation.}}%
}% \ErrorUpdate
\gdef\CheckDates#1{\AtBeginDocument{{%
    \toks@{}\let\CheckDates=\relax%
    \@for\x:=\thisfile=\thisdate,#1\do{\expandafter\ErrorUpdate\x,}%
    \CheckDates\expandafter{\the\toks@}}}%
}% \CheckDates
}% \catcode
\providerobustcmd*\showfile{\makeatletter \show\@currname }%
\providecommand*\currentenvir {\@currenvir}
\providecommand*\ifcurrenvir [1]{\expandafter
    \ifx    \csname #1\expandafter\endcsname \csname \@currenvir\endcsname
            \expandafter\@firstoftwo
    \else   \expandafter\@secondoftwo
    \fi
}% \ifcurrenvir
\providerobustcmd*\ifrefundefined [1]{\begingroup \csname @safe@activestrue \endcsname %<babel>
    \expandafter\endgroup \csname @\ifcsname r@#1\endcsname second\else
                                                            first\fi oftwo\endcsname
}% \ifrefundefined
\providecommand\texorpdf[2]  {\texorpdfstring{{#1{#2}}}{#2}}
\providerobustcmd*\xspaceverb {\ifnum \catcode 32=\active \else \expandafter\xspace \fi}
\provide\let\fcltx@NormalSharpChar \#
\renewrobustcmd \#{%
    \ifnum \catcode 32=\active  \expandafter\fcltx@NormalSharpChar
    \else                       \expandafter\fcltx@SharpChar        \fi
}% \#
\provide\def\fcltx@SharpChar #1{{\usefont{T1}{pcr}{bx}{n}\char`\##1}}
\providecommand\textt       {\texttt}
\providecommand\textsfbf [1]{\textsf{\textbf{#1}}} \provide\let\textbfsf =\textsfbf
\providecommand\textttbf [1]{\texttt{\textbf{#1}}} \provide\let\textbftt =\textttbf
                                                    \provide\let\texttbf  =\textttbf
\providecommand\textitbf [1]{\textit{\textbf{#1}}} \provide\let\textbfit =\textitbf
\providecommand\textslbf [1]{\textsl{\textbf{#1}}} \provide\let\textbfsl =\textslbf
\providecommand\textscbf [1]{\textsc{\textbf{#1}}} \provide\let\textbfsc =\textscbf
\providecommand\textscit [1]{\textsc{\textit{#1}}} \provide\let\textitsc =\textscit
\providecommand\textscsl [1]{\textsc{\textsl{#1}}} \provide\let\textslsc =\textscsl
\providerobustcmd*\abs[1]{\left\lvert#1\right\rvert}
\provide\protected\def\Underbrace #1_#2{$\underbrace{\vtop to2ex{}\hbox{#1}}_{\footnotesize\hbox{#2}}$}
\provide\let\cellstrut=\bottopstrut
\AtBeginDocument {%
\providerobustcmd*\ie  {\ifmmode \mbox{\emph{ie.}}\else \emph{ie.}\spacefactor\@cclv \xspaceverb \fi}
\providerobustcmd*\eg  {\ifmmode \mbox{\emph{e.g.}}\else \emph{e.g.}\spacefactor\@cclv \xspaceverb \fi }
\providerobustcmd*\etc {\ifmmode \mbox{\emph{etc.}}\else
                        \ifhmode \ifdim\lastskip>\z@ \unskip\spacefactor\@cclv\space \fi\fi
                        \emph{etc.}\fi \@ifnextchar .{\expandafter\xspaceverb\@gobble}\xspaceverb
}% \etc
}% \AtBeginDocument
\pdfstringDisableCommands      {\let\textt \@empty
    \let\textbftt \@firstofone  \let\textttbf \@firstofone  \let\texttbf  \@firstofone
    \let\textsfbf \@firstofone  \let\textbfsf \@firstofone  \let\textitbf \@firstofone
    \let\textbfit \@firstofone  \let\textslbf \@firstofone  \let\textbfsl \@firstofone
    \let\textscbf \@firstofone  \let\textbfsc \@firstofone  \let\textscit \@firstofone
    \let\textitsc \@firstofone  \let\textscsl \@firstofone  \let\textslsc \@firstofone
    \def\ie {ie.}\def\etc {etc.}\let\textcolor \@secondoftwo
}
\providerobustcmd*\MathVersion [1]{\ifcsundef{mv@#1}
    {\@latex@error{Math version `#1' is not defined}\@eha}
    {\edef\math@version{#1}\gdef\glb@currsize{}\aftergroup\glb@settings
     \ifmmode \check@mathfonts \fi}%
}% \MathVersion
%%\provide\mathchardef\extra@sf =2999 % "extra" spacefactor
%%\providecommand*\extrasf{\ifmmode\else\ifhmode \unskip \spacefactor\extra@sf \space \fi\fi }
\providecommand*\xspaceverb  {\ifnum\catcode`\ =\active\else \expandafter\xspace \fi}
%%\providerobustcmd*\xspaceextra {%
%%    \ifhmode\ifmmode\else \ifdim \fontdimen4\font>\z@ \spacefactor\extra@sf \fi \xspaceverb \fi\fi }
\xspacesetup {exceptions+=\xspaceverb}
\providerobustcmd*\ensurespaceextra {%
    \ifhmode\ifmmode\else \ifdim\fontdimen4\font>\z@
        \ifdim \lastskip>100sp \ifdim \lastskip>\fontdimen4\font \else % \ifnum \spacefactor<\extra@sf
                    \unskip
                    \hskip \glueexpr \fontdimen4\font+.1666em\relax
        \fi\fi\fi\fi\fi }
\pdfstringDisableCommands{\let\, \@empty}
\AtBeginDocument{%
    \ifdefined\cs  \expandafter\renewrobustcmd
    \else          \expandafter\providerobustcmd \fi
                                                *\cs {\ensurespaceextra \leavevmode \begin@grabcs \cs@ }
    \xspacesetup {exceptions+=\cs}
    \pdfstringDisableCommands {\let\cs \cs@pdf }
    \providerobustcmd\meta [1]{\ensuremath\langle \hbox{#1}\/\ensuremath\rangle }
}% \AtBeginDocument
\providerobustcmd*\csbf {\cs [\textbf ]}
\providerobustcmd\cs@ [2][]{\cs@getrefname {#2}\@tempa
    \edef\@tempc {\detokenize \expandafter{\@tempa }}%
    \edef\@tempb {\string\begin}\ifx \@tempc\@tempb \aftergroup\@ne \else
    \edef\@tempb {\string\end}\ifx \@tempc\@tempb   \aftergroup\@ne \else
                                                    \aftergroup\z@  \fi\fi
    \def\x ##1\@nnil {\cs@hyper  {##1} {\cs@font {#1{\string ##1}}}
                                       {\cs@font {#1{\csref {declcs.\string ##1}}}}%
    }\expandafter \x \@tempa \@nnil \egroup
}% \cs@
\def\cs@string {\string\\\string }% for \env => \cs@string becomes only \string (no addition of \ )
\providerobustcmd*\csref {\ref}
\long\def\cs@getrefname #1#2{\begingroup \escapechar\m@ne \csname @safe@activestrue\endcsname
                                    \let\stform \string
                                    \let\lst@UM \string
                                    \let\meta   \@firstofone
    \protected@edef #2{\endgroup \def\noexpand #2{\cs@string #1}}#2%
}% \cs@getrefname
\def\begin@grabcs #1{\hbox\bgroup\bgroup \aftergroup\cs@next
                     \makeatletter      \@ifstar {\def\csref {\ref*}#1}{#1}}
\provide\def\cs@next   #1{\egroup \ifnum #1=\z@ \expandafter\cs@nextnormal \else \expandafter\cs@nextbeginend \fi }
\provide\def\cs@nextnormal {\@ifstar   {\stform*\xspaceverb}\xspaceverb }
\provide\def\cs@nextbeginend{\@ifnextchar\bgroup \cs@nextenv \xspaceverb }
\provide\def\cs@nextenv #1{\M*{\env{#1}}}
\provide\def\cs@font  {\ifdefined\hypersetup \hypersetup {linkcolor=csrefcolor}\fi\textt }
\providerobustcmd*\cs@hyper   [1]{\ifrefundefined {declcs.#1}}
\providerobustcmd*\csanchor [2][]{\begingroup \def\cs@next {\egroup \endgroup \bgroup \cs@next}%
                                              \let\cs@hyper \cs@anchor \cs[{#1}]{#2}}
\providerobustcmd*\cs@anchor [3] {%
    \ifodd  \expandafter\ifx \csname \@gobble #1\endcsname\begin 0 \fi
            \expandafter\ifx \csname \@gobble #1\endcsname\end   0 \fi
        1   \def\@currentHref {declcs.\string\string\space #1}\def\@currentlabel {\protecting{#2}}%
            \settoheight \dimen@ {#2}\advance\dimen@ \dimexpr \dp\strutbox+\arrayrulewidth \relax
            \raisedhyperdef [\dimen@ ]{declcs}{#1}{\ifrefundefined{declcs.#1}{#2}{#3}%
                                                   \label{declcs.\string\string\space #1}}%
            \ifdefined\SpecialUsageIndex \expandafter\SpecialUsageIndex \csname \@gobble #1\endcsname \fi
    \else   #2\fi
}% \cs@anchor
\providecommand*\cs@pdf[1]{\string\\\if\@backslashchar\string#1 \else\string#1\fi}% <note the spaces!>
\providerobustcmd*\env {\leavevmode \begingroup \let\cs@string \string
    \def\cs@next ##1{\egroup \endgroup \@ifstar{ environment\xspaceverb}\xspaceverb}\begin@grabcs   \cs@ }
\providerobustcmd*\envanchor {\leavevmode \begingroup \let\cs@hyper \cs@anchor \let\cs@string \string
    \def\cs@next ##1{\egroup \endgroup }\begin@grabcs \cs@ }
\pdfstringDisableCommands{\let\env \@firstofone }
\def\lsthk@OutputBox@fcltxH@@k {\begingroup \let\lst@UM \@empty
    \edef \@tempc {\the\lst@token }\edef \@tempc {\@tempc }%
                            \expandafter \cs@getrefname \expandafter {\@tempc }\@tempa
    \ifrefundefined {declcs.\@tempa}
        {\let\cs@string =\string % <environments>
            \expandafter \cs@getrefname \expandafter {\@tempc }\@tempa
            \ifrefundefined {declcs.\@tempa }{\endgroup }\fcltx@sethyperlistings
        }
        \fcltx@sethyperlistings
}% \lsthk@OutputBox@fcltxH@@k
\def\fcltx@sethyperlistings {\global\let \fcltx@hyperlistinganchor =\@tempa
                             \endgroup \aftergroup \fcltx@dohyperlistings }% after \hbox
\def\fcltx@dohyperlistings {\def\lst@alloverstyle ##1{\fcltx@hyperlistings ##1}}
\def\fcltx@hyperlistings {\setbox\@tempboxa
    \hbox   \bgroup
            \rlap  {\hypersetup {linkcolor=.}\relax \fboxrule \z@
                    \hyperref {}{declcs}\fcltx@hyperlistinganchor
                              {\boxframe {\wd\@tempboxa}{\ht\@tempboxa}{\dp\@tempboxa}}}%
            \unhbox\@tempboxa
            \egroup
}% \fcltx@hyperlistings
\newenvironment{declcs} [1][ l ]{%
    \@testopt {\declcs@twoopt{#1}}{}}
    {\crcr
     \end{tabu}\par \nobreak \ignorespacesafterend }
\def\declcs@twoopt #1[#2]#3{%
    \if@nobreak \par\nobreak
    \else       \needspace{.08\textheight}\vskip2\parskip \fi
    \changefont{spread=1,fam=\ttdefault }%
    \tabusetup {tabu target=\dimexpr\linewidth-\declmarginwidth , frame=tabu }%
    \declmargin
    \ifblank {#1}{\begin{tabu} {  l  }}{\begin{tabu}spread0pt { #1 }}
                                                        \csanchor [{#2}]{#3}}%
\newenvironment{declcs*} [1][ l ]{%
    \@testopt {\declcs@s@twoopt{#1}}{}}
    {\crcr
     \end{longtabu}\nobreak \ignorespacesafterend }
\def\declcs@s@twoopt #1[#2]#3{%
    \if@nobreak \par\nobreak
    \else       \needspace{.08\textheight}\vskip2\parskip \fi
    \changefont{spread=1,fam=\ttdefault }%
    \tabusetup {longtabu = <\declmarginwidth , frame=tabu }
    \ifblank {#1}{\begin{longtabu} {  l  }}{\begin{longtabu}spread0pt { #1 }}
                                                        \csanchor [{#2}]{#3}}%
\def\declmarginwidth {\dimexpr -\leftmargini +\arrayrulewidth +\tabcolsep\relax}
\def\declmargin {\hspace*\declmarginwidth }
\AtBeginDocument{\ifdefined\nGm@lmargin         \leftmargini = .5\dimexpr \nGm@lmargin \relax
                 \else \ifdefined\Gm@lmargin    \leftmargini = .5\dimexpr \Gm@lmargin \relax   \fi\fi }
\providecommand*\declcsbookmark {\@ifstar \declcsbookmark@star \declcsbookmark@nost }
\providecommand*\declcsbookmark@nost [2][]{\bookmark [{dest=declcs.\string#2,rellevel=1,keeplevel,color=lk,#1}] {\cs#2}}
\providecommand*\declcsbookmark@star [2][]{\bookmark [{rellevel=1,keeplevel,color=lk,#1}] {#2}}
\newenvironment{declenv} [1][ l ]%
    {\@testopt {\declenv@twoopt {#1}}{}}
    {\crcr  \multicolumn -{p*}{\declenv@AtEnd}
     \\  \end{tabu}\nobreak \par \nobreak \noindent
     \ignorespacesafterend}
\def\declenv@twoopt #1[#2]#3{%
    \if@nobreak \par\nobreak
    \else       \par\addvspace\parskip
                \Needspace{.08\textheight}\fi
    \changefont{spread=1,fam=\ttdefault}\hskip-\leftmargini
    \def\declenv@AtEnd{\cs{end}\M*{\env [{#2}]{#3}}}%
    \tabusetup* {framed=tabu}%
    \ifblank {#1}{\begin{tabu}{ l }}{\begin{tabu}{ #1 }}\cs{begin}\M*{\envanchor [{#2}]{#3}}}
\providerobustcmd*\keyvalue {\@ifstar   {\@testopt{\fcltx@keyvalue {}{}}\textt }
                                        {\@testopt{\fcltx@keyvalue \{\}}\textt }}
\provide\def\fcltx@keyvalue #1#2[#3]#4{#3{#1#4#2}\xspaceverb }
\pdfstringDisableCommands{\let\keyvalue \@firstofone}
\providerobustcmd*\fcltx@xfiles [4]{\@ifstar{#1{#2#4}#3}{#1{#2#4}}}
\def\fcltx@xx #1#2#3#4{\provide\def #1{\fcltx@xfiles {#2}{#3}{#4}}}
\fcltx@xx \xext     \textt   .{ file}
\fcltx@xx \xfile    \textt  {}{ file}
\fcltx@xx \xpackage \textsf {}{ package}
\fcltx@xx \xmodule  \textsf {}{ module}
\fcltx@xx \xclass   \textsf {}{ class}
\providecommand*\xemail[1]{\textless\textt{#1}\textgreater }
\pdfstringDisableCommands{%
    \let\xext       \@firstofone    \let\xpackage   \@firstofone
    \let\xmodule    \@firstofone    \let\xclass     \@firstofone
    \let\xemail     \@firstofone
}%
\xspaceaddexceptions {\Footnotemark }
\providerobustcmd*\CTANhref [2][]{\ifblank{#1}
    {\href {http://www.ctan.org/tex-archive/help/Catalogue/entries/#2.html}
                          {\nolinkurl{CTAN:help/Catalogue/entries/#2.html}}}
    {\href {http://www.ctan.org/tex-archive/help/Catalogue/entries/#1.html}{#2}}%
}% \CTANhref
\pdfstringDisableCommands{\let\CTANhref \@firstofone }
\providerobustcmd*\Xpackage [1]{\@ifstar    {\CTANhref [{#1}]{\xpackage {#1}} package\xspaceverb }
                                            {\CTANhref [{#1}]{\xpackage {#1}}\xspaceverb }}
\pdfstringDisableCommands{\let\Xpackage \@firstofone }
\providerobustcmd*\thispackage {\@ifstar          {\xpackage\thisfile \xspaceverb}%
                                {{\color {pkgcolor}\xpackage\thisfile}\xspaceverb}}
\pdfstringDisableCommands {\let\thispackage \thisfile }
\providerobustcmd*\M {\scan@char *\M@ifstar }
\providerobustcmd*\M@ifstar [1]{\@ifnextchar #1{\@firstoftwo
                                                {\let\M@meta \@firstofone \scan@char {|[]()}\M@i }}
                                                {\let\M@meta \meta        \scan@char {|[]()}\M@i }}
\xspacesetup {exceptions+=\M\}]}
\providerobustcmd*\scan@char [2]{\begingroup     \endlinechar \m@ne
    \scantokens{\def\:{#1}}\expandafter \endgroup \expandafter #2\:}
\providerobustcmd*\M@i [5]{\begingroup \@ifnextchar [% ]
    {\iftrue\M@char [][]\fi }
    {\ifcase    \ifx #1\@let@token  \z@     \else
                \ifx #2\@let@token  \@ne    \else
                \ifx #4\@let@token  \tw@    \else
                                    \m@ne   \fi\fi\fi
            \M@char{#1}{#1}{\stform|}{\stform|}%
    \or     \M@char{#2}{#3}[]%
    \or     \M@char{#4}{#5}()%
    \else   \M@char{}{}\{\}%
    \fi     }%
}% \M@i
\provide\def\M@square   #1[#2]{\M@Bracket [{#1}{#2}]}
\provide\def\M@char #1#2#3#4#5\fi {\fi \def\M@char #1##1#2{\M@ch@r {#3}{##1}{#4}}\M@char }
\provide\def\M@ch@r #1#2#3{\endgroup {\ttfamily #1\ifblank{#2}{{\,}}{\M@meta{#2}}#3}}
\providerobustcmd*\CopyRight {\begingroup \@ifnextchar \bgroup
    {\afterassignment\Copy@Right \count@ =\@firstofone }
    {\afterassignment\Copy@Right \count@ =}%
}% \CopyRight
\provide\def\Copy@Right {%
    \def\Copy@Right ##1!##2/##3\@nil {\endgroup \copyright\,%
        \oldstylenums {\ifnum ##2=##1\relax \else ##1\,\textendash\,\fi ##2}%
    }\expandafter\Copy@Right \the\expandafter\count@\expandafter!\thisdate \@nil
}% \Copy@Right
\pretocmd\textasteriskcentered {\usefont{OMS}{cmsy}mn}{}{}
\ifdefined\ifincsname
        \providecommand*\stform {\ifincsname \expandafter\string \else \expandafter\@stform \fi}
\else   \providerobustcmd*\stform {\@stform }
\fi
\providerobustcmd*\@stform    {\ensurespaceextra \@ifnextchar*
                                    {\@@stform[]\textasteriskcentered\@gobble }
                                    {\ifx -\@let@token \@@stform[]\textendash\expandafter\@gobble
                                     \else              \expandafter\@@stform
                                     \fi}}
\providecommand*\@@stform [2][\string]{\texttbf{\stform@font #1#2}\xspaceverb }
\def\stform@font{}
\pdfstringDisableCommands{\let\stform =\string }
\xspacesetup {exceptions+=\stform}
\providerobustcmd*\myunderscore {\ifvmode \noindent \fi \vrule height-\p@ depth1.6\p@ width.4em}
\providerobustcmd*\smex {\leavevmode \hb@xt@2em{\hss $\longrightarrow$\hss }}
\providerobustcmd*\CheckOK {\textsmaller[2]{\textcolor{ForestGreen}\CheckmarkBold}}
\providerobustcmd*\CheckFAIL {\textsmaller[2]{\textcolor{Crimson}\XSolidBrush}}
\providerobustcmd*\CheckTODO{\textsmaller[2]{\textcolor{MediumBlue}\Peace}}
\providecommand*\ifcolorundef[3]{\romannumeral0\ifcsundef{\string\color@#1}{ #2}{ #3}}%
\providerobustcmd*\providecolorlet [2]{\ifcolorundef{#1}{\colorlet{#1}{#2}}{}}
\providecolorlet    {pkgcolor}{teal}
\providecolorlet    {csrefcolor}{pkgcolor}
\providecolor       {macrocode}{rgb}{0.07,0.03,0.10}
\providecolor       {copper}{rgb}{0.67,0.33,0.00}
\providecolor       {dg}{rgb}{0.02,0.29,0.00}           % dg = dark green
\providecolor       {db}{rgb}{0,0,0.502}                % db = dark blue
\providecolor       {dr}{rgb}{0.75,0.00,0.00}           % dr = dark red
\providecolor       {lk}{rgb}{0.25,0.25,0.25}           % lk = 'light' black
\providecolor       {llk}{rgb}{0.40,0.40,0.40}          % llk = 'even more light' black
\provide\def\db  {\color{db}}    \provide\def\dg   {\color{dg}}
\provide\def\red {\color{dr}}    \provide\def\rred {\color{red}}
\providerobustcmd*\pkgcolor {\color {pkgcolor}}
\pdfstringDisableCommands{\let\pkgcolor \relax }
\AtEndOfPackageFile*{hyperref}{%
    \providecolorlet    {linkcolor}{CornflowerBlue!40!Indigo}
    \providecolorlet    {urlcolor}{magenta}
    \providecolorlet    {filecolor}{cyan}
    \providecolorlet    {menucolor}{red}
    \providecolorlet    {runcolor}{filecolor}
    \hypersetup         {linkcolor=linkcolor,
                         urlcolor=urlcolor,
                         filecolor=filecolor,
                         menucolor=menucolor,
                         runcolor=runcolor,
                         pdfpagemode=UseOutlines}
}% \AfterPackage
\newenvironment{Abstract}
          {\small\begin{center}\bfseries \abstractname\vspace{-.5em}\vspace{\z@}\end{center}\quotation}
          \endquotation
\AtEndOfClassFile*{ltxdoc}{
\renewenvironment{quotation}[1][\leftmargin=1.5em]
              {\list{}{\listparindent 1.5em
                       \itemindent    \listparindent
                       \rightmargin   \leftmargin
                       \parsep        \z@ \@plus\p@ #1}%
               \item\relax}
              {\endlist}
}% At End Of Class
\newenvironment{History}{%
    \section {History}%
    \def\Version ##1##2{\HistVersion {##1}{##2}\itemize }
    \let\endVersion =\enditemize
}{}
\providecommand*\HistVersion [2]{%
    \subsection* {[#1 v#2]}% hash-ok
    \addcontentsline {toc}{subsection}{\protect\numberline{v#2}[#1]}% hash-ok
    {\protected@edef \@currentlabel {#1}\label {#2}}%
}% \HistVersion
\let\plainllap =\llap
\newdimen \maxlabelwidth
\newrobustcmd\macro@llap [1]{\begingroup \global\let\llap =\plainllap
    \setbox0=\hbox{\setbox\strutbox =\hbox{\vrule height\ht\strutbox depth\z@ width\z@}% <height only>
                    #1}%
    \toks@ ={\ifdim \maxlabelwidth>\z@ \setbox\@labels
                                        =\llap{\hbox to\maxlabelwidth {\unhbox \@labels \hss}}\fi}%
    \toks@ =\expandafter%
            {\the\expandafter\toks@ \the\everypar \relax
                \ifdim \dimexpr \maxlabelwidth-\Gm@lmargin+(\Gm@rmargin+5mm)>\z@
                    \hangindent \dimexpr \maxlabelwidth-\Gm@lmargin+(\Gm@rmargin+5mm)\relax
                    \hangafter -\macro@cnt
                \fi
                \global\maxlabelwidth \z@
                \global\everypar \expandafter{\the\everypar \hangindent \z@ \hangafter \z@}}%
    \ifdim \wd0>\maxlabelwidth \global\maxlabelwidth \wd0 \fi
    \rlap{\unhbox0}\global\everypar \toks@
    \endgroup
}% \macro@llap
\AtEndOfClassFile* {ltxdoc}{\MacrocodeTopsep\z@skip    \MacroTopsep\z@skip }
\AtBeginEnvironment {macro}{\if@nobreak\else    \Needspace{2\baselineskip}\fi
    \let\llap =\macro@llap  \topsep\z@skip      \itemsep\z@skip
                            \partopsep\z@skip   \parsep\z@skip
    \parskip=2pt plus2pt minus2pt\relax
}
\AtEndEnvironment{macro}{\goodbreak \vskip.3\parskip }
\providecommand*\getpackagebanner [1]{\ltx@ifpackageloaded{#1}
    {\csname ver@#1.\ltx@pkgextension\endcsname}
    {}%
}% \getpackagebanner
\providecommand*\getpackagedate [1]{\ltx@ifpackageloaded{#1}
    {\expandafter \expandafter  % <-note: only required if \pdfmatch undefined>
    \expandafter\fcltx@ParseVersionAsDate
                \csname ver@#1.\ltx@pkgextension\endcsname \@nil}%
    0%
}% \getpackagedate
\providecommand*\getpackageinfo [1]{\ltx@ifpackageloaded{#1}
    {\expandafter \expandafter  % <-note: only required if \pdfmatch undefined>
     \expandafter\LTXcmds@@ParseInfo
                \csname ver@#1.\ltx@pkgextension\endcsname \@nil}%
    {}%
}% \getpackageinfo
\ltx@IfUndefined{pdfmatch}{%
    \provide\def\LTXcmds@ParseInfo#1{%
        \LTXcmds@@ParseInfo#10000/00/00\@nil
    }%
    \provide\def\LTXcmds@@ParseInfo#1/#2/#3#4#5\@nil{%
        \if\space#5\else #5\fi
    }%
    \provide\def\fcltx@ParseVersionAsDate #1\@nil {%
        \fcltx@@ParseVersionAsDate #10000/00/00\@nil
    }%
    \provide\def\fcltx@@ParseVersionAsDate#1#2#3#4/#5#6/#7#8#9\@nil {#1#2#3#4/#5#6/#7#8}%
}{%
    \provide\def\LTXcmds@ParseInfo#1{%
        \ifnum\pdfmatch{%
        ^%
          (199[4-9]|[2-9][0-9][0-9][0-9])/%
          (0[1-9]|1[0-2])/%
          (0[1-9]|[1-2][0-9]|3[0-1])[[:space:]]*(.*$)%
        }{#1}=1 %
        \ltx@StripPrefix\pdflastmatch4 %
        \fi
    }%
    \provide\def\LTXcmds@@ParseInfo #1\@nil {\LTXcmds@ParseInfo {#1}}%
    \provide\def\fcltx@ParseVersionAsDate #1\@nil {
        \ifnum\pdfmatch{%
          ^%
          (199[4-9]|[2-9][0-9][0-9][0-9])/%
          (0[1-9]|1[0-2])/%
          (0[1-9]|[1-2][0-9]|3[0-1])%
        }{#1}=1 %
          \ltx@StripPrefix\pdflastmatch1 %
          /\ltx@StripPrefix\pdflastmatch2 %
          /\ltx@StripPrefix\pdflastmatch3 %
        \else
          0000/00/00%
        \fi}
}
\AtEndOfPackageFile*{fancyvrb}{%
\renewcommand*\FV@DefineCommandChars [3]{%
    \edef\FV@restoreCommandChars{\catcode`\noexpand#1 =\the\catcode`#1
                                 \catcode`\noexpand#2 =\the\catcode`#2
                                 \catcode`\noexpand#3 =\the\catcode`#3\relax}%
    \def \FV@CommandChars {\catcode `#1 =0 \catcode `#2 =1 \catcode `#3 =2\relax }%
    \output =\expandafter{\expandafter\FV@restoreCommandChars \the\output }}%
\DefineVerbatimEnvironment{Verb*}{Verbatim}{commandchars=$()}
}% \AfterPackage
\AtEndOfClassFile* {ltxdoc}{%\message{Now DONOTINDEX !!!^^J}%
\DoNotIndex{%
    \begin,\end,\makeatletter,\makeatother,\@makeother,\filename,\fileversion,\filedate,\frenchspacing,%
    \CodelineIndex,\CodelineNumbered,\OnlyDescription,\RecordChanges,%
                                                        \DisableCrossrefs,\EnableCrossrefs,\GetFileInfo,%
    \def,\gdef,\xdef,\let,\csname,\endcsname,\outer,%
    \newcommand,\newrobustcmd,\providecommand,\providerobustcmd,%
    \newif,\@testopt,\endinput,\expandafter,\else,\relax,%
    \csdef,\csgdef,\csxdef,\cslet,\csletcs,\csundef,\csuse,%
    \csappto,\csgappto,\csxappto,\cseappto,\cspreto,\csxpreto,\csepreto,\csgpreto,%
    \preto,\appto,\epreto,\eappto,\xappto,\xpreto,\gpreto,\xpreto,%
    \~,\\,\&,\;,\,,\:,\[,\],\{,\},\^,\ ,%
    \@ifpackagelater,\@ifpackagewith,\@ifpackageloaded,%
    \m@ne,\z@,\z@skip,\@ne,\p@,\tw@,\thr@@,\@M,\m,\@,\@@,\@elt,\do,\@let@token,\@undefined,%
    \@tempa,
    \@firstofone,\@firstoftwo,\@secondoftwo,%
    \@eha,\@ehd,\on@line,%
    \DocInput,\documentclass,\NeedsTeXFormat,\ProvidesClass,\ProvidesPackage,\ProvidesFile,%
    \RequirePackage,\usepackage,\AtEndOfPackage,\AtBeginDocument,\AtEndDocument,\ProcessOptions,%
    \PackageWarningNoLine,\PackageInfoNoLine,%
    \DefineShortVerb,\DeleteShortVerb,\UndefineShortVerb,\MakeShortVerb,
    \title,\subtitle,\author,\date,\maketitle,\chapter,\section,\subsection,\subsubsection,%
    \paragraph,\subparagraph,\parindent,\parskip,%
    \TMP@EnsureCode,\nobibliography,\nocite,\bibitem,\item,%
    \MessageBreak,\@spaces,%
    \stform,\x,%
}
\CodelineIndex
\EnableCrossrefs
\IndexPrologue{%
  \section*{Index}%
  \markboth{Index}{Index}%
  Numbers written in italic refer to the page %
  where the corresponding entry is described; %
  numbers underlined refer to the %
  \ifcodeline@index
    code line of the %
  \fi
  definition; plain numbers refer to the %
  \ifcodeline@index
    code lines %
  \else
    pages %
  \fi
  where the entry is used.%
}
}% \AtEndOfClassFile
\providerobustcmd*\ClearPage {\@ifstar \clearpage \relax }
\AtEndOfPackageFile*{ulem}{%
\renewcommand*\ULset[1][]{\UL@setULdepth
  \def\UL@leadtype{#1\leaders \hrule \@height\dimen@ \@depth\ULdepth }%
  \ifmmode \ULdepth-4\p@ \fi
  \dimen@-\ULdepth \advance\dimen@\ULthickness \ULon}
}
\providerobustcmd*\HighLight [1][]{\begingroup \bgroup \aftergroup\endgroup
    \ULdepth=\dp\strutbox
    \edef\ULthickness{\the\dimexpr \ht\strutbox+\dp\strutbox }%
    \UL@setULdepth
    \ifcat$\detokenize{#1}$\let\fcltx@HL =\@gobble
    \else                  \let\fcltx@HL =\color    \fi
    \def\UL@leadtype {\dimen@ii\dimen@\fcltx@HL{#1}\dimen@\dimen@ii
                      \leaders \hrule \@depth\ULdepth \@height\dimen@ }%
    \dimen@-\ULdepth \advance\dimen@ \ULthickness
                                                    \ULon
}% \HighLight
\AtBeginDocument{%
    \providerobustcmd*\textsubscript [1]{\@textsubscript {\selectfont #1}}
    \providerobustcmd*\@textsubscript [1]{\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}
}
\AtBeginDocument{\provide\let\lsstyle =\relax
                 \errorcontextlines=10\relax
                 \provide\let\thisfile =\jobname
                 \provide\let\thisversion =\@empty
                 \provide\edef\thisdate {\getpackagedate\thisfile}%
                 \provide\let\thisversion =\@empty
                 \ifdefined\hypersetup
                 \ifdefvoid\@pdftitle
                    {\hypersetup {pdftitle=The \jobname\space package}}
                    {}%
                 \fi
                 \ifdefined\embedfile
                    \IfFileExists{\jobname.dtx}{\embedfile{\jobname.dtx}}{}\fi
}% \AtBeginDocument
\AtEndOfPackageFile*{doc}{\AfterEndPreamble {\DeleteShortVerb {\|}}}
\endinput
%%
%% End of file `fcltxdoc.sty'.
