# autogenerated by txs
#include:color
#include:endfloat
#include:ifthen
#include:relsize
#include:tocbibind
#include:xspace
\AlCapFnt#S
\AlCapNameFnt#S
\AlCapNameSty{arg1}#S
\AlCapSty{arg1}#S
\AlFnt#S
\AlTitleFnt#S
\AlTitleSty{arg1}#S
\AlgoLineautorefname#S
\ArgSty{arg1}#S
\BlankLine
\CommentSty{arg1}#S
\DataSty{arg1}#S
\DecMargin{arg1}#S
\DontPrintSemicolon#*
\FuncSty{arg1}#S
\Hlne#S
\InOutSizeDefined#S
\IncMargin{arg1}#S
\Indentp{arg1}#S
\Indm#S
\Indmm#S
\Indp#S
\Indpp#S
\KwSty{arg1}#S
\LinesNotNumbered#*
\LinesNumbered#*
\LinesNumberedHidden#*
\NlSty{arg1}#S
\NoCaptionOfAlgo#*
\PrintSemicolon#*
\ProcArgFnt#*
\ProcArgSty{arg1}#*
\ProcFnt#*
\ProcNameFnt#*
\ProcNameSty{arg1}#*
\ProcSty{arg1}#*
\ResetInOut{arg1}#S
\RestoreCaptionOfAlgo#S
\RestyleAlgo{arg1}#S
\SetAlCapFnt{arg1}#*
\SetAlCapHSkip{arg1}#*
\SetAlCapNameFnt{arg1}#*
\SetAlCapNameSty{arg1}#*
\SetAlCapSkip{arg1}#*
\SetAlCapSty{arg1}#*
\SetAlFnt{arg1}#*
\SetAlTitleFnt{arg1}#*
\SetAlTitleSty{arg1}#*
\SetAlgoCaptionLayout{arg1}#*
\SetAlgoCaptionSeparator{arg1}#*
\SetAlgoFuncName{arg1}{arg2}#*
\SetAlgoInsideSkip{arg1}#*
\SetAlgoLined#*
\SetAlgoLongEnd#*
\SetAlgoNlRelativeSize{arg1}#*
\SetAlgoNoEnd#*
\SetAlgoNoLine#*
\SetAlgoProcName{arg1}{arg2}#*
\SetAlgoRefName{arg1}#*
\SetAlgoRefRelativeSize{arg1}#*
\SetAlgoShortEnd#*
\SetAlgoSkip{arg1}#*
\SetAlgoVlined#*
\SetAlgorithmName{arg1}{arg2}{arg3}#*
\SetArgSty{arg1}#*
\SetCommentSty{arg1}#*
\SetDataSty{arg1}#*
\SetEndCharOfAlgoLine{arg1}#*
\SetFillComment#*
\SetFuncSty{arg1}#*
\SetInd{arg1}{arg2}#*
\SetKwArray{arg1}{arg2}
\SetKwBlock{arg1}{arg2}{arg3}
\SetKwComment{arg1}{arg2}{arg3}
\SetKwData{arg1}{arg2}
\SetKwFor{arg1}{arg2}{arg3}{arg4}
\SetKwFunction{arg1}{arg2}
\SetKwHangingKw{arg1}{arg2}
\SetKwIF{arg1}{arg2}{arg3}{arg4}{arg5}{arg6}{arg7}{arg8}
\SetKwInOut{arg1}{arg2}
\SetKwInput{arg1}{arg2}
\SetKwRepeat{arg1}{arg2}{arg3}
\SetKwSty{arg1}
\SetKwSwitch{arg1}{arg2}{arg3}{arg4}{arg5}{arg6}{arg7}{arg8}
\SetKw{arg1}{arg2}
\SetLine#*
\SetNlSkip{arg1}#*
\SetNlSty{arg1}{arg2}{arg3}#*
\SetNoFillComment#*
\SetNoLine#*
\SetNothing#*
\SetProcArgFnt{arg1}#*
\SetProcArgSty{arg1}#*
\SetProcFnt{arg1}#*
\SetProcNameFnt{arg1}#*
\SetProcNameSty{arg1}#*
\SetProcSty{arg1}#*
\SetSideCommentLeft#*
\SetSideCommentRight#*
\SetTitleSty{arg1}{arg2}#*
\SetVline#*
\SetVlineSkip{arg1}#*
\Setnlskip{arg1}#*
\Setnlsty{arg1}{arg2}{arg3}#*
\ShowLn#*
\ShowLnLabel{arg1}#*
\TitleOfAlgo{arg1}#*
\TitleSty{arg1}#*
\Titleofalgo{arg1}#*
\algocfautorefname#S
\algocffuncautorefname#S
\algocfprocautorefname#S
\algoendfloat#S
\algoheightrule
\algoheightruledefault
\algoplace#S
\algorithmautorefname#S
\algorithmcflinename#S
\algorithmcfname#S
\algotitleheightrule
\algotitleheightruledefault
\begin{algocf}
\begin{function}
\begin{function*}#*
\begin{procedure}
\begin{procedure*}#*
\decmargin{arg1}#S
\dontprintsemicolon#*
\end{algocf}
\end{function}
\end{procedure}
\end{function*}#*
\end{procedure*}#*
\enl#S
\functionautorefname#S
\incmargin{arg1}#S
\l#S
\linesnotnumbered#S
\linesnumbered#S
\linesnumberedhidden#S
\listalgorithmcfname#S
\listofalgocfs#S
\lnlset{arg1}{arg2}#S
\lnl{arg1}#S
\next#S
\nl#/algorithm,algorithm*,procedure,procedure*,function,function*
\nlSty{arg1}#S
\nllabel{arg1}#S
\nlset{arg1}#S
\nocaptionofalgo#S
\printsemicolon#S
\procedureautorefname#S
\relsize{arg1}#S
\restorecaptionofalgo#S
\restylealgo{arg1}#S
\setLeftLinesNumbers#S
\setRightLinesNumbers#S
\setalcaphskip{arg1}#S
\setalcapskip{arg1}#S
\setnlskip{arg1}#S
\showln#S
\showlnlabel{arg1}#S
\test#S
\theAlgoLine
\theHAlgoLine#S
\theHalgocf#S
\theHalgocffunc#S
\theHalgocfproc#S
\thealgocf
\thealgocfline
\thealgocfproc
\thepostalgo
\vespace#S
\begin{algorithm}
\end{algorithm}
\begin{algorithm*}#*
\end{algorithm*}#*
# Input, output macros
\KwIn{input}#/algorithm,algorithm*,procedure,procedure*,function,function*
\KwOut{output}#/algorithm,algorithm*,procedure,procedure*,function,function*
\KwData{input}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\KwResult{output}#/algorithm,algorithm*,procedure,procedure*,function,function*

# Basic keywords and blocks
\KwTo#*/algorithm,algorithm*,procedure,procedure*,function,function*
\KwRet{value}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\Return{value}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\Begin{block-inside}#/algorithm,algorithm*,procedure,procedure*,function,function*
\Begin(begin-comment){block-inside}#/algorithm,algorithm*,procedure,procedure*,function,function*

# comments
\tcc{lines-of-comments}#/algorithm,algorithm*,procedure,procedure*,function,function*
\tcc*{right-justified-side-comment}#/algorithm,algorithm*,procedure,procedure*,function,function*
\tcc*[r]{right-justified-side-comment-with-line-ending}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\tcc*[l]{left-justified-side-comment-with-line-ending}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\tcc*[f]{right-justified-side-comment-without-line-ending}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\tcc*[h]{left-justified-side-comment-without-line-ending}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\tcp{lines-of-comments}#/algorithm,algorithm*,procedure,procedure*,function,function*
\tcp*{right-justified-side-comment}#/algorithm,algorithm*,procedure,procedure*,function,function*
\tcp*[r]{right-justified-side-comment-with-line-ending}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\tcp*[l]{left-justified-side-comment-with-line-ending}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\tcp*[f]{right-justified-side-comment-without-line-ending}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\tcp*[h]{left-justified-side-comment-without-line-ending}#*/algorithm,algorithm*,procedure,procedure*,function,function*

# if-then-else macros
\If{condition}{then-block}#/algorithm,algorithm*,procedure,procedure*,function,function*
\If(then-comment){condition}{then-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\uIf{condition}{then-block-without-end}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\uIf(then-comment){condition}{then-block-without-end}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lIf{condition}{then-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lIf(if-comment){condition}{then-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\ElseIf{elseif-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\ElseIf(elseif-comment){elseif-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\uElseIf{elseif-block-without-end}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\uElseIf(elseif-comment){elseif-block-without-end}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lElseIf{elseif-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lElseif(elseif-line){elseif-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\Else{else-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\Else(else-comment){else-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\uElse{else-block-without-end}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\uElse(else-block-comment){else-block-without-end}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lElse{else-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lElse(else-comment){else-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\eIf{condition}{then-block}{else-block}#/algorithm,algorithm*,procedure,procedure*,function,function*
\eIf(then-comment){condition}{then-block}(else-comment){else-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\eIf(then-comment){condition}{then-block}{else-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\eIf{condition}{then-block}(else-comment){else-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\leIf{condition}{then-line}{else-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\leIf(comment){condition}{then-line}{else-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*

# multiple condition selection
\Switch(switch-comment){condition}{switch-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\Switch{condition}{switch-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\Case{case}{case-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\Case(case-comment){case}{case-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\uCase{case}{case-block-without-end}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\uCase(case-comment){case}{case-block-without-end}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lCase{case}{case-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lCase(case-comment){case}{case-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\Other{otherwise-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\Other(otherwise-comment){otherwise-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lOther{otherwise-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lOther(otherwise-comment){otherwise-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*

# loops with test at beginning
\For{condition}{for-block}#/algorithm,algorithm*,procedure,procedure*,function,function*
\For(for-comment){condition}{for-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lFor{condition}{for-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lFor(for-comment){condition}{for-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\While{condition}{while-block}#/algorithm,algorithm*,procedure,procedure*,function,function*
\While(while-comment){condition}{while-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lWhile{condition}{while-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lWhile(while-comment){condition}{while-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\ForEach{condition}{foreach-block}#/algorithm,algorithm*,procedure,procedure*,function,function*
\ForEach(foreach-comment){condition}{foreach-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lForEach{condition}{foreach-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lForEach(foreach-comment){condition}{foreach-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\ForAll{condition}{forall-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\ForAll(forall-comment){condition}{forall-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lForAll{condition}{forall-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lForAll(forall-comment){condition}{forall-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*

# loops with test at end
\Repeat{end-condition}{repeat-block}#/algorithm,algorithm*,procedure,procedure*,function,function*
\Repeat(repeat-comment){end-condition}{repeat-block}(until-comment)#*/algorithm,algorithm*,procedure,procedure*,function,function*
\Repeat(repeat-comment){end-condition}{repeat-block}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\Repeat{end-condition}{repeat-block}(until-comment)#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lRepeat{end-condition}{repeat-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
\lRepeat(repeat-comment){end-condition}{repeat-line}#*/algorithm,algorithm*,procedure,procedure*,function,function*
