%%
%% This is file `cleveref.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% cleveref.dtx  (with options: `package')
%% 
%% LaTeX package for automatic cross-referencing text.
%% 
%% Copyright (C) 2006  Toby Cubitt
%% See the files README and COPYING.
%% 
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.2
%% 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
%%
%% and version 1.2 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{cleveref}
 [2009/08/18 v0.14.1 Intelligent cross-referencing]
%% \CharacterTable
%%  {Upper-case    \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
%%   Lower-case    \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
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
\let\cref@old@refstepcounter\refstepcounter
\def\refstepcounter{%
  \@ifnextchar[{\refstepcounter@optarg}{\refstepcounter@noarg}%]
}
\def\refstepcounter@noarg#1{%
  \cref@old@refstepcounter{#1}%
  \cref@constructprefix{#1}{\@result}%
  \protected@edef\@currentlabel{%
    [#1][\arabic{#1}][\@result]%
    \csname p@#1\endcsname\csname the#1\endcsname}}
\def\refstepcounter@optarg[#1]#2{%
  \cref@old@refstepcounter{#2}%
  \cref@constructprefix{#2}{\@result}%
  \protected@edef\@currentlabel{%
    [#1][\arabic{#2}][\@result]\@currentlabel}}
\def\cref@override@label@type[#1][#2][#3]#4\@nil#5{[#5][#2][#3]#4}
\AtBeginDocument{%
  \let\cref@old@label\label
  \def\label{\@ifnextchar[\label@optarg\cref@old@label}%]
  \def\label@optarg[#1]{%
    \protected@edef\@currentlabel{%
      \expandafter\cref@override@label@type\@currentlabel\@nil{#1}}%
    \cref@old@label}%
  \@ifpackageloaded{amsmath}{%
    \let\cref@label\label
    \let\cref@old@label@in@display\label@in@display
    \def\label@in@display{%
      \@ifnextchar[\label@in@display@optarg\label@in@display@noarg}%]
    \def\label@in@display@noarg#1{\cref@old@label@in@display{{#1}}}
    \def\label@in@display@optarg[#1]#2{%
      \cref@old@label@in@display{[#1]{#2}}}
    \def\ltx@label#1{\cref@label#1}
    \let\cref@old@make@df@tag@@\make@df@tag@@
  \let\cref@old@subequations\subequations%
  \let\cref@old@endsubequations\endsubequations%
  \cref@resetby{equation}{\@result}%
  \ifx\@result\relax\else%
    \@addtoreset{parentequation}{\@result}%
  \fi%
  \renewenvironment{subequations}{%
    \@addtoreset{equation}{parentequation}%
    \cref@old@subequations%
  }{%
    \gdef\cl@parentequation{}%
    \cref@old@endsubequations%
  }%
    \def\make@df@tag@@#1{%
      \gdef\df@tag{\maketag@@@{#1}%
        \def\@currentlabel{[equation][][]#1}}}
    \def\make@df@tag@@@#1{%
      \gdef\df@tag{\tagform@{#1}%
        \toks@\@xp{\p@equation{#1}}%
          \edef\@currentlabel{[equation][][]\the\toks@}}}
  }{}%
}
\def\cref@reflabel#1#2{\@result}
\AtBeginDocument{%
  \DeclareRobustCommand{\ref}{\cref@ref}
  \def\cref@ref#1{%
    \expandafter\ifx\csname r@#1\endcsname\relax%
      \let\@result\relax%
    \else%
      \cref@getlabel{#1}{\@result}%
    \fi%
    \expandafter\@setref\csname r@#1\endcsname{\cref@reflabel}{#1}}%
}
\let\cref@old@appendix\appendix
\renewcommand\appendix{%
  \cref@old@appendix%
  \@ifundefined{chapter}{%
    \gdef\refstepcounter@noarg##1{%
      \cref@old@refstepcounter{##1}%
      \cref@constructprefix{##1}{\@result}%
      \edef\@result{{2147483647}\@result}%
      \def\@tmpa{##1}%
      \def\@tmpb{section}%
      \ifx\@tmpa\@tmpb%
        \protected@edef\@currentlabel{%
          [appendix][\arabic{##1}][\@result]\@currentlabel}%
      \else%
        \def\@tmpa{##1}%
        \def\@tmpb{subsection}%
        \ifx\@tmpa\@tmpb%
          \protected@edef\@currentlabel{%
            [subappendix][\arabic{##1}][\@result]\@currentlabel}%
        \else%
          \def\@tmpa{##1}%
          \def\@tmpb{subsubsection}%
          \ifx\@tmpa\@tmpb%
            \protected@edef\@currentlabel{%
              [subsubappendix][\arabic{##1}][\@result]%
              \@currentlabel}%
          \else%
            \protected@edef\@currentlabel{%
              [##1][\arabic{##1}][\@result]\@currentlabel}%
          \fi%
        \fi%
      \fi}%
  }{%
    \def\refstepcounter@noarg##1{%
      \cref@old@refstepcounter{##1}%
      \cref@constructprefix{##1}{\@result}%
      \edef\@result{{2147483647}\@result}%
      \def\@tmpa{##1}%
      \def\@tmpb{chapter}%
      \ifx\@tmpa\@tmpb%
        \protected@edef\@currentlabel{%
          [appendix][\arabic{##1}][\@result]\@currentlabel}%
      \else%
        \def\@tmpa{##1}%
        \def\@tmpb{section}%
        \ifx\@tmpa\@tmpb%
          \protected@edef\@currentlabel{%
            [subappendix][\arabic{##1}][\@result]\@currentlabel}%
        \else%
          \def\@tmpa{##1}%
          \def\@tmpb{subsection}%
          \ifx\@tmpa\@tmpb%
            \protected@edef\@currentlabel{%
              [subsubappendix][\arabic{##1}][\@result]%
              \@currentlabel}%
          \else%
            \def\@tmpa{##1}%
            \def\@tmpb{subsubsection}%
            \ifx\@tmpa\@tmpb%
              \protected@edef\@currentlabel{%
                [subsubsubappendix][\arabic{##1}]%
                [\@result]\@currentlabel}%
            \else%
              \protected@edef\@currentlabel{%
                [##1][\arabic{##1}][\@result]\@currentlabel}%
            \fi%
          \fi%
        \fi%
      \fi}%
  }%
}
\def\cref@getlabel#1#2{%
  \expandafter\let\expandafter\@tmpa\csname r@#1\endcsname%
  \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpa%
    \expandafter\expandafter\expandafter{%
      \expandafter\@firstoftwo\@tmpa}%
  \expandafter\@cref@getlabel\@tmpa\@nil#2}%
\def\@cref@getlabel{\@ifnextchar[%]
  \@@cref@getlabel{\@@cref@getlabel[][][]}}
\def\@@cref@getlabel[#1][#2][#3]#4\@nil#5{\def#5{#4}}
\def\cref@gettype#1#2{%
  \expandafter\let\expandafter\@tmpa\csname r@#1\endcsname%
  \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpa%
    \expandafter\expandafter\expandafter{%
      \expandafter\@firstoftwo\@tmpa}%
  \expandafter\@cref@gettype\@tmpa\@nil#2}%
\def\@cref@gettype{\@ifnextchar[%]
  \@@cref@gettype{\@@cref@gettype[][][]}}
\def\@@cref@gettype[#1][#2][#3]#4\@nil#5{\def#5{#1}}
\def\cref@getcounter#1#2{%
  \expandafter\let\expandafter\@tmpa\csname r@#1\endcsname%
  \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpa%
    \expandafter\expandafter\expandafter{%
      \expandafter\@firstoftwo\@tmpa}%
  \expandafter\@cref@getcounter\@tmpa\@nil#2}
\def\@cref@getcounter{\@ifnextchar[%]
  \@@cref@getcounter{\@@cref@getcounter[][][]}}
\def\@@cref@getcounter[#1][#2][#3]#4\@nil#5{\def#5{#2}}
\def\cref@getprefix#1#2{%
  \expandafter\let\expandafter\@tmpa\csname r@#1\endcsname%
  \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpa%
    \expandafter\expandafter\expandafter{%
      \expandafter\@firstoftwo\@tmpa}%
  \expandafter\@cref@getprefix\@tmpa\@nil#2}
\def\@cref@getprefix{\@ifnextchar[%]
  \@@cref@getprefix{\@@cref@getprefix[][][]}}
\def\@@cref@getprefix[#1][#2][#3]#4\@nil#5{\def#5{#3}}
\def\cref@constructprefix#1#2{%
  \cref@stack@init{\@tmpstack}%
  \edef\@tmpa{\noexpand{#1\noexpand}}%
  \expandafter\def\expandafter\@tmpa\expandafter{\@tmpa{#2}}%
  \expandafter\@cref@constructprefix\@tmpa%
  \cref@stack@to@list{\@tmpstack}{\@tmpa}%
  \expandafter\def\expandafter#2\expandafter{\@tmpa}}
\def\@cref@constructprefix#1#2{%
  \cref@resetby{#1}{#2}%
  \ifx#2\relax%
  \else%
    \edef\@tmpa{\the\csname c@#2\endcsname}%
    \expandafter\cref@stack@push\expandafter{\@tmpa}{\@tmpstack}%
    \edef\@tmpa{{#2}}%
    \expandafter\expandafter\expandafter\@cref@constructprefix%
      \expandafter\@tmpa\expandafter{\expandafter#2\expandafter}%
  \fi}
\def\cref@append@toks#1#2{\toks0={#2}%
  \edef\act{\noexpand#1={\the#1\the\toks0}}%
  \act}%
\def\cref@stack@init#1{\def#1{\@nil}}
\def\cref@stack@top#1{\expandafter\@cref@stack@top#1}
\def\@cref@stack@top#1,#2\@nil{#1}
\def\cref@stack@pop#1{\expandafter\@cref@stack@pop#1#1}
\def\@cref@stack@pop#1,#2\@nil#3{\def#3{#2\@nil}}
\def\cref@stack@push#1#2{%
  \expandafter\@cref@stack@push\expandafter{#2}{#1}{#2}}
\def\@cref@stack@push#1#2#3{\def#3{#2,#1}}
\def\cref@stack@pull#1#2{\expandafter\@cref@stack@pull#2{#1}{#2}}
\def\@cref@stack@pull#1\@nil#2#3{\def#3{#1#2,\@nil}}
\def\cref@stack@to@list#1#2{%
  \cref@isstackfull{#1}%
  \if@cref@stackfull%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter#2%
    \expandafter\expandafter\expandafter{%
      \expandafter\@cref@stack@to@list#1}%
  \else%
    \def#2{}%
  \fi}
\def\@cref@stack@to@list#1,\@nil{#1}
\def\cref@stack@topandbottom#1#2#3{%
  \def#2{}%
  \def#3{}%
  \cref@isstackfull{#1}%
  \if@cref@stackfull%
    \edef#2{\cref@stack@top{#1}}%
    \cref@stack@pop{#1}%
    \cref@isstackfull{#1}%
    \@whilesw\if@cref@stackfull\fi{%
      \edef#3{\cref@stack@top{#1}}%
      \cref@stack@pop{#1}%
      \cref@isstackfull{#1}}%
  \fi}
\def\cref@stack@add#1#2{%
  \begingroup%
    \def\@arg1{#1}%
    \let\@tmpstack#2%
    \newif\if@notthere%
    \@nottheretrue%
    \cref@isstackfull{\@tmpstack}%
    \@whilesw\if@cref@stackfull\fi{%
      \edef\@tmpb{\cref@stack@top{\@tmpstack}}%
      \def\@tmpa{#1}%
      \ifx\@tmpa\@tmpb%
        \@cref@stackfullfalse%
        \@nottherefalse%
      \else%
        \cref@stack@pop{\@tmpstack}%
        \cref@isstackfull{\@tmpstack}%
      \fi
    }%
  \expandafter\endgroup%
  \if@notthere\cref@stack@push{#1}{#2}\fi}
\newif\if@cref@stackempty
\newif\if@cref@stackfull
\def\cref@isstackempty#1{%
  \def\@tmpa{\@nil}%
  \ifx#1\@tmpa\@cref@stackemptytrue%
  \else\@cref@stackemptyfalse\fi}
\def\cref@isstackfull#1{%
  \def\@tmpa{\@nil}%
  \ifx#1\@tmpa\@cref@stackfullfalse%
  \else\@cref@stackfulltrue\fi}
\def\cref@stack@sort#1#2{%
  \begingroup%
  \cref@stack@init{\@sortstack}%
  \edef\@element{\cref@stack@top{#1}}%
  \expandafter\cref@stack@push\expandafter{\@element}{\@sortstack}%
  \cref@stack@pop{#1}%
  \cref@isstackfull{#1}%
  \if@cref@stackfull%
    \edef\@tmpa{\cref@stack@top{#1}}%
    \@whilesw\ifx\@tmpa\@empty\fi{%
      \cref@stack@pull{}{\@sortstack}%
      \cref@stack@pop{#1}%
      \cref@isstackempty{#1}%
      \if@cref@stackempty%
        \let\@tmpa\relax%
      \else%
        \edef\@tmpa{\cref@stack@top{#1}}%
      \fi}%
  \fi%
  \cref@isstackfull{#1}%
  \@whilesw\if@cref@stackfull\fi{%
    \edef\@element{\cref@stack@top{#1}}%
    \cref@stack@pop{#1}%
    \def\@empties{}%
    \cref@isstackfull{#1}%
    \if@cref@stackfull%
      \edef\@tmpa{\cref@stack@top{#1}}%
      \@whilesw\ifx\@tmpa\@empty\fi{%
        \edef\@empties{\@empties,}%
        \cref@stack@pop{#1}%
        \cref@isstackempty{#1}%
        \if@cref@stackempty%
          \let\@tmpa\relax%
        \else%
          \edef\@tmpa{\cref@stack@top{#1}}%
        \fi}%
    \fi%
    \edef\@tmpa{{\expandafter\noexpand\@element}%
      {\expandafter\noexpand\@empties}%
      {\noexpand\@sortstack}{\noexpand#2}}%
    \expandafter\cref@stack@insert\@tmpa%
    \cref@isstackfull{#1}}%
  \expandafter\endgroup\expandafter%
  \def\expandafter#1\expandafter{\@sortstack}}
\def\cref@stack@insert#1#2#3#4{%
  \let\@cmp#4%
  \@cref@stack@insert{}{#1}{#2}{#3}%
  \cref@stack@pop{#3}}
\def\@cref@stack@insert#1#2#3#4{%
  \let\@iterate\relax%
  \cref@isstackempty{#4}%
  \if@cref@stackempty%
    \cref@stack@push{#1,#2#3}{#4}%
  \else%
    \edef\@tmpa{\cref@stack@top{#4}}%
    \expandafter\@cmp\expandafter{\@tmpa}{#2}{\@result}%
    \ifnum\@result=2\relax%
      \cref@stack@push{#1,#2#3}{#4}%
    \else%
      \cref@stack@pop{#4}%
      \edef\@tmpa{{\noexpand#1,\@tmpa}{\noexpand#2}%
        {\noexpand#3}{\noexpand#4}}%
      \expandafter\def\expandafter\@iterate\expandafter%
        {\expandafter\@cref@stack@insert\@tmpa}%
    \fi%
  \fi%
  \@iterate}
\def\cref@counter@first#1#2\@nil{#1}
\def\cref@counter@rest#1#2\@nil{#2}
\def\cref@countercmp#1#2#3{%
  \begingroup%
  \def\@tmpa{#1}%
  \ifx\@tmpa\@empty%
    \def\@result{1}%
  \else%
    \def\@tmpa{#2}%
    \ifx\@tmpa\@empty%
      \def\@result{2}%
    \else%
      \expandafter\ifx\csname r@#1\endcsname\relax%
        \def\@result{2}%
      \else%
        \expandafter\ifx\csname r@#2\endcsname\relax%
          \def\@result{1}%
        \else%
          \cref@getcounter{#1}{\@countera}%
          \cref@getprefix{#1}{\@prefixa}%
          \cref@getcounter{#2}{\@counterb}%
          \cref@getprefix{#2}{\@prefixb}%
          \cref@stack@init{\@countstacka}%
          \expandafter\cref@stack@push\expandafter%
            {\@countera}{\@countstacka}%
          \ifx\@prefixa\@empty%
          \else%
            \expandafter\cref@stack@push\expandafter%
              {\@prefixa}{\@countstacka}%
          \fi%
          \cref@stack@init{\@countstackb}%
          \expandafter\cref@stack@push\expandafter%
            {\@counterb}{\@countstackb}%
            \ifx\@prefixb\@empty%
            \else%
              \expandafter\cref@stack@push\expandafter%
                {\@prefixb}{\@countstackb}%
            \fi%
          \@cref@countercmp%
        \fi%
      \fi%
    \fi%
  \fi%
  \expandafter\endgroup\expandafter%
  \chardef\expandafter#3\expandafter=\@result\relax}
\def\@cref@countercmp{%
  \let\@iterate\relax%
  \cref@isstackempty{\@countstacka}%
  \if@cref@stackempty%
    \cref@isstackempty{\@countstackb}%
    \if@cref@stackempty%
      \def\@result{0}%
    \else%
      \def\@result{1}%
    \fi%
  \else%
    \cref@isstackempty{\@countstackb}%
    \if@cref@stackempty%
      \def\@result{2}%
    \else%
      \edef\@tmpa{\cref@stack@top{\@countstacka}}%
      \cref@stack@pop{\@countstacka}%
      \edef\@tmpb{\cref@stack@top{\@countstackb}}%
      \cref@stack@pop{\@countstackb}%
      \ifnum\@tmpa<\@tmpb\relax%
        \def\@result{1}%
      \else%
        \ifnum\@tmpa>\@tmpb\relax%
          \def\@result{2}%
        \else%
          \def\@iterate{\@cref@countercmp}%
        \fi%
      \fi%
    \fi%
  \fi%
  \@iterate}
\newif\if@cref@inresetlist
\def\cref@isinresetlist#1#2{%
  \begingroup%
    \def\@counter{#1}%
    \def\@elt##1{##1,}%
    \expandafter\ifx\csname cl@#2\endcsname\relax%
      \def\cref@resetstack{,\@nil}%
    \else%
      \edef\cref@resetstack{\csname cl@#2\endcsname\noexpand\@nil}%
    \fi%
    \let\@nextcounter\relax%
    \cref@isstackfull{\cref@resetstack}%
    \@whilesw\if@cref@stackfull\fi{%
      \edef\@nextcounter{\cref@stack@top{\cref@resetstack}}%
      \ifx\@nextcounter\@counter%
        \@cref@stackfullfalse%
      \else%
        \let\@nextcounter\relax%
        \cref@stack@pop{\cref@resetstack}%
        \cref@isstackfull{\cref@resetstack}%
      \fi}%
    \ifx\@nextcounter\relax%
      \def\@next{\@cref@inresetlistfalse}%
    \else%
      \def\@next{\@cref@inresetlisttrue}%
    \fi%
  \expandafter%
  \endgroup%
  \@next}
\def\cref@resetby#1#2{%
  \let#2\relax%
  \def\@tmpa{#1}%
  \def\@tmpb{subfigure}%
  \ifx\@tmpa\@tmpb%
    \cref@isinresetlist{#1}{figure}%
    \if@cref@inresetlist%
      \def#2{figure}%
    \fi%
  \fi%
  \def\@tmpa{#1}%
  \def\@tmpb{subtable}%
  \ifx\@tmpa\@tmpb%
    \cref@isinresetlist{#1}{table}%
    \if@cref@inresetlist%
      \def#2{table}%
    \fi%
  \fi%
  \@ifundefined{cl@parentequation}{}{%
    \def\@tmpa{#1}%
    \def\@tmpb{equation}%
    \ifx\@tmpa\@tmpb%
      \cref@isinresetlist{#1}{parentequation}%
      \if@cref@inresetlist%
        \def#2{parentequation}%
      \fi%
    \fi}%
  \def\@tmpa{#1}%
  \def\@tmpb{enumii}%
  \ifx\@tmpa\@tmpb%
    \def#2{enum}%
  \fi%
  \def\@tmpb{enumiii}%
  \ifx\@tmpa\@tmpb%
    \def#2{enum}%
  \fi%
  \def\@tmpb{enumiv}%
  \ifx\@tmpa\@tmpb%
    \def#2{enum}%
  \fi%
  \def\@tmpb{enumv}%
  \ifx\@tmpa\@tmpb%
    \def#2{enum}%
  \fi%
  \def\@tmpb{enum}%
  \ifx#2\@tmpb%
    \cref@isinresetlist{#1}{enumiv}%
    \if@cref@inresetlist%
      \def#2{enumiv}%
    \else%
      \cref@isinresetlist{#1}{enumiii}%
      \if@cref@inresetlist%
        \def#2{enumiii}%
      \else%
        \cref@isinresetlist{#1}{enumii}%
        \if@cref@inresetlist%
          \def#2{enumii}%
        \else%
          \cref@isinresetlist{#1}{enumi}%
          \if@cref@inresetlist%
            \def#2{enumi}%
          \else%
           \cref@isinresetlist{#1}{part}%
            \if@cref@inresetlist%
              \def#2{part}%
            \else%
              \let#2\relax%
            \fi%
          \fi%
        \fi%
      \fi%
    \fi%
  \fi%
  \ifx#2\relax%
    \cref@isinresetlist{#1}{table}%
    \if@cref@inresetlist%
      \def#2{table}%
    \else%
      \cref@isinresetlist{#1}{subsubsection}%
      \if@cref@inresetlist%
        \def#2{subsubsection}%
      \else%
        \cref@isinresetlist{#1}{subsection}%
        \if@cref@inresetlist%
          \def#2{subsection}%
        \else%
          \cref@isinresetlist{#1}{section}%
          \if@cref@inresetlist%
            \def#2{section}%
          \else%
            \cref@isinresetlist{#1}{chapter}%
            \if@cref@inresetlist%
              \def#2{chapter}%
            \else%
             \cref@isinresetlist{#1}{part}%
              \if@cref@inresetlist%
                \def#2{part}%
              \else%
                \let#2\relax%
              \fi%
            \fi%
          \fi%
        \fi%
      \fi%
    \fi%
  \fi}
\newif\if@cref@refconsecutive%
\def\cref@isrefconsecutive#1#2{%
  \begingroup%
    \countdef\refa@counter=0%
    \countdef\refb@counter=1%
    \cref@getcounter{#1}{\@result}%
    \refa@counter=\@result%
    \cref@getcounter{#2}{\@result}%
    \refb@counter=\@result%
    \cref@getprefix{#1}{\refa@prefix}%
    \cref@getprefix{#2}{\refb@prefix}%
    \def\@after{\@cref@refconsecutivefalse}%
    \ifx\refa@prefix\refb@prefix%
      \ifnum\refa@counter=\refb@counter\relax%
        \def\@after{\@cref@refconsecutivetrue}%
      \else%
        \advance\refa@counter 1\relax%
        \ifnum\refa@counter=\refb@counter\relax%
          \def\@after{\@cref@refconsecutivetrue}%
        \fi%
      \fi%
    \fi%
  \expandafter\endgroup\@after}
\def\cref@processgroup#1#2{%
  \edef\@nextref{\cref@stack@top{#1}}%
  \expandafter\ifx\csname r@\@nextref\endcsname\relax%
    \def\@grouptype{\@undefined}%
    \def\@groupformat{\@undefined}%
  \else%
    \expandafter\cref@gettype\expandafter{\@nextref}{\@grouptype}%
    \expandafter\expandafter\expandafter\def%
      \expandafter\expandafter\expandafter\@groupformat%
      \expandafter\expandafter\expandafter{%
        \csname cref@\@grouptype @format\endcsname%
        {\@dummya}{\@dummyb}{\@dummyc}}%
  \fi%
  \let\@nexttype\@grouptype%
  \let\@nextformat\@groupformat%
  \@whilesw\ifx\@nextformat\@groupformat\fi{%
    \expandafter\cref@stack@pull\expandafter{\@nextref}{#2}%
    \cref@stack@pop{#1}%
    \cref@isstackempty{#1}%
    \if@cref@stackempty%
      \let\@nexttype\relax%
      \let\@nextformat\relax%
    \else%
      \edef\@nextref{\cref@stack@top{#1}}%
      \ifx\@nextref\@empty%
        \let\@nexttype\@grouptype%
        \let\@nextforamt\@groupformat%
      \else%
        \expandafter\ifx\csname r@\@nextref\endcsname\relax%
          \def\@nexttype{\@undefined}%
          \def\@nextformat{\@undefined}%
        \else%
          \expandafter\cref@gettype\expandafter%
            {\@nextref}{\@nexttype}%
          \def\@tmpa{\@undefined}%
          \ifx\@nexttype\@tmpa%
            \def\@nextformat{\@undefined}%
          \else%
            \expandafter\expandafter\expandafter\def%
              \expandafter\expandafter\expandafter\@nextformat%
              \expandafter\expandafter\expandafter{%
                \csname cref@\@nexttype @format\endcsname%
                {\@dummya}{\@dummyb}{\@dummyc}}%
          \fi%
        \fi%
      \fi%
    \fi}%
}
\def\cref@processgroupall#1#2{%
  \cref@stack@init{\@tmpstack}%
  \edef\@nextref{\cref@stack@top{#1}}%
  \expandafter\ifx\csname r@\@nextref\endcsname\relax%
    \def\@grouptype{\@undefined}%
    \def\@groupformat{\@undefined}%
  \else%
    \expandafter\cref@gettype\expandafter{\@nextref}{\@grouptype}%
    \expandafter\expandafter\expandafter\def%
      \expandafter\expandafter\expandafter\@groupformat%
      \expandafter\expandafter\expandafter{%
        \csname cref@\@grouptype @format\endcsname%
        {\@dummya}{\@dummyb}{\@dummyc}}%
  \fi%
  \let\@lasttype\@grouptype%
  \let\@lastformat\@groupformat%
  \cref@isstackfull{#1}%
  \@whilesw\if@cref@stackfull\fi{%
    \edef\@nextref{\cref@stack@top{#1}}%
    \ifx\@nextref\@empty%
      \ifx\@lastformat\@groupformat%
        \let\@nexttype\@grouptype%
        \let\@nextformat\@groupformat%
      \else%
        \let\@nexttype\relax%
        \let\@nextformat\relax%
      \fi%
    \else%
      \expandafter\ifx\csname r@\@nextref\endcsname\relax%
        \def\@nexttype{\@undefined}%
        \def\@nextformat{\@undefined}%
      \else%
        \expandafter\cref@gettype\expandafter%
          {\@nextref}{\@nexttype}%
        \def\@tmpa{\@undefined}%
        \ifx\@nexttype\@tmpa%
          \def\@nextformat{\@undefined}%
        \else%
          \expandafter\expandafter\expandafter\def%
            \expandafter\expandafter\expandafter\@nextformat%
            \expandafter\expandafter\expandafter{%
              \csname cref@\@nexttype @format\endcsname%
              {\@dummya}{\@dummyb}{\@dummyc}}%
        \fi%
      \fi%
    \fi%
    \ifx\@nextformat\@groupformat%
      \expandafter\cref@stack@pull\expandafter{\@nextref}{#2}%
    \else%
      \expandafter\cref@stack@pull\expandafter{\@nextref}{\@tmpstack}%
    \fi%
    \cref@stack@pop{#1}%
    \let\@lasttype\@nexttype%
    \let\@lastformat\@nextformat%
    \cref@isstackfull{#1}}%
  \let#1\@tmpstack}
\def\cref@processconsecutive#1#2#3#4{%
  #4=0%
  \edef\@nextref{\cref@stack@top{#1}}%
  \cref@stack@pop{#1}%
  \cref@isstackempty{#1}%
  \if@cref@stackempty%
    \edef#2{\@nextref}%
    \let#3\relax%
    #4=1\relax%
  \else%
    \edef#2{\@nextref}%
    \let#3\relax%
    \edef\@nextref{\cref@stack@top{#1}}%
    #4=1\relax%
    \expandafter\ifx\csname r@#2\endcsname\relax%
      \@cref@refconsecutivefalse%
    \else%
      \ifx\@nextref\@empty%
        \@cref@refconsecutivefalse%
        \@whilesw\ifx\@nextref\@empty\fi{%
          \cref@stack@pop{#1}%
          \cref@isstackempty{#1}%
          \if@cref@stackempty%
            \let\@nextref\relax%
          \else%
            \edef\@nextref{\cref@stack@top{#1}}%
          \fi}%
      \else%
        \expandafter\ifx\csname r@\@nextref\endcsname\relax%
          \@cref@refconsecutivefalse%
        \else%
          \edef\@tmpa{{#2}{\@nextref}}%
          \expandafter\cref@isrefconsecutive\@tmpa%
        \fi%
      \fi%
    \fi%
    \@whilesw\if@cref@refconsecutive\fi{%
      \advance#4 1%
      \let#3\@nextref%
      \cref@stack@pop{#1}%
      \cref@isstackempty{#1}%
      \if@cref@stackempty%
        \@cref@refconsecutivefalse%
      \else%
        \edef\@nextref{\cref@stack@top{#1}}%
        \ifx\@nextref\@empty%
          \@cref@refconsecutivefalse%
          \@whilesw\ifx\@nextref\@empty\fi{%
            \cref@stack@pop{#1}%
            \cref@isstackempty{#1}%
            \if@cref@stackempty%
              \let\@nextref\relax%
            \else%
              \edef\@nextref{\cref@stack@top{#1}}%
            \fi}%
        \else%
          \expandafter\ifx\csname r@\@nextref\endcsname\relax%
            \@cref@refconsecutivefalse%
          \else%
            \edef\@tmpa{{#3}{\@nextref}}%
            \expandafter\cref@isrefconsecutive\@tmpa%
          \fi%
        \fi%
      \fi}%
  \fi}
\DeclareRobustCommand{\cref}[1]{\@cref{cref}{#1}}
\DeclareRobustCommand{\Cref}[1]{\@cref{Cref}{#1}}
\DeclareRobustCommand{\crefrange}[2]{\@setcrefrange{#1}{#2}{cref}{}}
\DeclareRobustCommand{\Crefrange}[2]{\@setcrefrange{#1}{#2}{Cref}{}}
\def\@cref#1#2{%
  \begingroup%
  \countdef\count@consecutive=0%
  \countdef\count@group=1%
  \count@group=1%
  \def\cref@variant{#1}%
  \newif\if@secondref%
  \cref@stack@init{\@refstack}%
  \edef\@tmpa{#2}%
  \expandafter\cref@stack@push\expandafter{\@tmpa}{\@refstack}%
  \cref@isstackfull{\@refstack}%
  \@whilesw\if@cref@stackfull\fi{%
    \cref@stack@init{\@refsubstack}%
    \if@cref@sort%
      \cref@processgroupall{\@refstack}{\@refsubstack}%
      \cref@stack@sort{\@refsubstack}{\cref@countercmp}%
    \else%
      \cref@processgroup{\@refstack}{\@refsubstack}%
    \fi%
    \ifnum\count@group=1\relax%
      \advance\count@group 1%
    \else%
      \cref@isstackfull{\@refstack}%
      \if@cref@stackfull%
        \@setcref@middlegroupconjunction%
      \else%
        \ifnum\count@group=2\relax%
          \@setcref@pairgroupconjunction%
        \else%
          \@setcref@lastgroupconjunction%
        \fi%
      \fi%
      \advance\count@group 1%
      \if@cref@capitalise%
        \def\cref@variant{Cref}%
      \else
        \def\cref@variant{cref}%
      \fi%
    \fi%
    \if@cref@compress%
      \cref@processconsecutive%
        {\@refsubstack}{\@beginref}{\@endref}{\count@consecutive}%
    \else%
      \edef\@beginref{\cref@stack@top{\@refsubstack}}%
      \cref@stack@pop{\@refsubstack}%
      \@whilesw\ifx\@beginref\@empty\fi{%
        \cref@stack@pop{\@refsubstack}%
        \cref@isstackempty{\@refsubstack}%
        \if@cref@stackempty%
          \let\@beginref\relax%
        \else%
          \edef\@beginref{\cref@stack@top{\@refsubstack}}%
        \fi}%
      \let\@endref\relax%
      \count@consecutive=1\relax%
    \fi%
    \ifnum\count@consecutive=1\relax%
      \cref@isstackfull{\@refsubstack}%
      \if@cref@stackfull%
        \expandafter\@setcref%
          \expandafter{\@beginref}{\cref@variant}{@first}%
      \else%
        \expandafter\@setcref%
          \expandafter{\@beginref}{\cref@variant}{}%
      \fi%
    \else%
      \ifnum\count@consecutive=2\relax%
        \expandafter\@setcref%
          \expandafter{\@beginref}{\cref@variant}{@first}%
        \expandafter\cref@stack@push\expandafter%
          {\@endref,}{\@refsubstack}%
      \else%
        \edef\@tmpa{{\@beginref}{\@endref}}%
        \if@cref@stackempty%
          \expandafter\@setcrefrange\@tmpa{\cref@variant}{}%
        \else%
          \expandafter\@setcrefrange\@tmpa{\cref@variant}{@first}%
        \fi%
      \fi%
    \fi%
    \@secondreftrue%
    \cref@isstackfull{\@refsubstack}%
    \@whilesw\if@cref@stackfull\fi{%
      \if@cref@compress%
        \cref@processconsecutive%
          {\@refsubstack}{\@beginref}{\@endref}{\count@consecutive}%
      \else%
        \edef\@beginref{\cref@stack@top{\@refsubstack}}%
        \cref@stack@pop{\@refsubstack}%
        \@whilesw\ifx\@beginref\@empty\fi{%
          \cref@stack@pop{\@refsubstack}%
          \cref@isstackempty{\@refsubstack}%
          \if@cref@stackempty%
            \let\@beginref\relax%
          \else%
            \edef\@beginref{\cref@stack@top{\@refsubstack}}%
          \fi}%
        \let\@endref\relax%
        \count@consecutive=1\relax%
      \fi%
      \cref@isstackempty{\@refsubstack}%
      \if@cref@stackempty%
        \if@secondref%
          \def\@pos{@second}%
        \else%
          \def\@pos{@last}%
        \fi%
      \else%
        \def\@pos{@middle}%
      \fi%
      \ifnum\count@consecutive=1\relax%
        \edef\@tmpa{{\@beginref}{cref}{\@pos}}%
        \expandafter\@setcref\@tmpa%
      \else%
        \ifnum\count@consecutive=2\relax%
          \expandafter\@setcref\expandafter%
            {\@beginref}{cref}{@middle}%
          \expandafter\cref@stack@push\expandafter%
            {\@endref}{\@refsubstack}%
        \else%
          \edef\@tmpa{{\@beginref}{\@endref}{cref}{\@pos}}%
          \expandafter\@setcrefrange\@tmpa%
        \fi%
      \fi%
      \@secondreffalse%
      \cref@isstackfull{\@refsubstack}%
    }% end loop over reference substack
    \cref@isstackfull{\@refstack}%
  }% end loop over main reference stack
  \endgroup}
\def\@setcref#1#2#3{%
  \expandafter\ifx\csname r@#1\endcsname\relax%
    \protect\G@refundefinedtrue%
    \nfss@text{\reset@font\bfseries ??}%
    \@latex@warning{Reference `#1' on page \thepage \space undefined}%
  \else%
    \cref@gettype{#1}{\@temptype}%  puts label type in \@temptype
    \cref@getlabel{#1}{\@templabel}%  puts label in \@templabel
    \expandafter\ifx\csname #2@\@temptype @format#3\endcsname\relax%
      \protect\G@refundefinedtrue%
      \nfss@text{\reset@font\bfseries ??}~\@templabel%
      \@latex@warning{\string\Cref \space reference format for label
        type `\@temptype' undefined}%
    \else%
      \expandafter\@@setcref\expandafter%
        {\csname #2@\@temptype @format#3\endcsname}{#1}%
    \fi%
  \fi}
\def\@@setcref#1#2{\cref@getlabel{#2}{\@templabel}#1{\@templabel}{}{}}
\def\@setcrefrange#1#2#3#4{%
  \begingroup%
    \expandafter\ifx\csname r@#1\endcsname\relax%
      \protect\G@refundefinedtrue%
      \@latex@warning{Reference `#1' on page \thepage \space%
        undefined}%
      \expandafter\ifx\csname r@#2\endcsname\relax%
        \nfss@text{\reset@font\bfseries ??}--%
        \nfss@text{\reset@font\bfseries ??}%
        \@latex@warning{Reference `#2' on page \thepage \space%
          undefined}%
      \else%
        \cref@getlabel{#2}{\@labelb}%
        \nfss@text{\reset@font\bfseries ??}--\@labelb%
      \fi%
    \else%
      \expandafter\ifx\csname r@#2\endcsname\relax%
        \protect\G@refundefinedtrue%
        \cref@getlabel{#1}{\@labela}%
        \@labela--\nfss@text{\reset@font\bfseries ??}%
        \@latex@warning{Reference `#2' on page \thepage %
          \space undefined}%
      \else%
        \cref@gettype{#1}{\@typea}%
        \cref@gettype{#2}{\@typeb}%
        \cref@getlabel{#1}{\@labela}%
        \cref@getlabel{#2}{\@labelb}%
        \edef\@formata{\expandafter\noexpand%
          \csname #3range@\@typea @format#4\endcsname}%
        \edef\@formatb{\expandafter\noexpand%
          \csname #3range@\@typeb @format#4\endcsname}%
        \expandafter\ifx\@formata\relax%
          \protect\G@refundefinedtrue%
          \nfss@text{\reset@font\bfseries ??}~\@labela--\@labelb%
          \@latex@warning{#3\space reference range format for label
            type `\@typea' undefined}%
        \else%
          \ifx\formata\formatb%
            \expandafter\@@setcrefrange\expandafter{\@formata}{#1}{#2}%
          \else%
            \protect\G@refundefinedtrue%
            \nfss@text{\reset@font\bfseries ??}~\@labela--\@labelb%
            \@latex@warning{Types inconsistent in reference range for
              references `#1' and `#2' on page \thepage}%
          \fi%
        \fi%
      \fi%
    \fi%
  \endgroup}
\def\@@setcrefrange#1#2#3{%
  \cref@getlabel{#2}{\@labela}%
  \cref@getlabel{#3}{\@labelb}%
  #1{\@labela}{\@labelb}{}{}{}{}}
\def\@setcref@pairgroupconjunction{\crefpairgroupconjunction}
\def\@setcref@middlegroupconjunction{\crefmiddlegroupconjunction}
\def\@setcref@lastgroupconjunction{\creflastgroupconjunction}
\cref@stack@init{\cref@label@types}
\newcommand{\crefdefaultlabelformat}[1]{%
  \def\cref@default@label##1##2##3{#1}}
\newcommand{\crefname}[3]{%
  \@crefname{cref}{#1}{#2}{#3}{}}
\newcommand{\Crefname}[3]{%
  \@crefname{Cref}{#1}{#2}{#3}{}}
\newcommand{\creflabelformat}[2]{%
  \expandafter\def\csname cref@#1@label\endcsname##1##2##3{#2}%
  \cref@stack@add{#1}{\cref@label@types}}
\newcommand{\crefrangelabelformat}[2]{%
  \expandafter\def\csname cref@#1@rangelabel\endcsname%
    ##1##2##3##4##5##6{#2}%
  \cref@stack@add{#1}{\cref@label@types}}
\newcommand{\crefname@preamble}[3]{%
  \@crefname{cref}{#1}{#2}{#3}{@preamble}}
\newcommand{\Crefname@preamble}[3]{%
  \@crefname{Cref}{#1}{#2}{#3}{@preamble}}
\def\@crefname#1#2#3#4#5{%
  \begingroup%
    \expandafter\gdef\csname #1@#2@name#5\endcsname{#3}%
    \expandafter\gdef\csname #1@#2@name@plural#5\endcsname{#4}%
    \def\@tmpa##1##2\@nil{%
      \if##1c%
        \def\@other{C##2}%
        \def\@changecase{\MakeUppercase}%
      \else%
        \def\@other{c##2}%
        \def\@changecase{\MakeLowercase}%
      \fi}%
    \@tmpa#1\@nil%
    \@ifundefined{\@other @#2@name#5}{%
      \expandafter\expandafter\expandafter\def%
      \expandafter\expandafter\expandafter\@tmpa%
      \expandafter\expandafter\expandafter{%
        \csname#1@#2@name\endcsname}%
      \expandafter\expandafter\expandafter\def%
      \expandafter\expandafter\expandafter\@tmpb%
      \expandafter\expandafter\expandafter{%
        \csname#1@#2@name@plural\endcsname}%
      \expandafter\expandafter\expandafter\def%
      \expandafter\expandafter\expandafter\@tmpa%
      \expandafter\expandafter\expandafter{%
        \expandafter\@changecase\@tmpa}%
      \expandafter\expandafter\expandafter\def%
      \expandafter\expandafter\expandafter\@tmpb%
      \expandafter\expandafter\expandafter{%
        \expandafter\@changecase\@tmpb}%
      \toksdef\@toksa=0%
      \@toksa={%
        \expandafter\gdef\csname\@other @#2@name#5\endcsname}%
      \expandafter\the\expandafter\@toksa\expandafter{\@tmpa}%
      \@toksa={%
        \expandafter\gdef\csname\@other @#2@name@plural#5\endcsname}%
      \expandafter\the\expandafter\@toksa\expandafter{\@tmpb}%
    }{}%
  \endgroup%
  \cref@stack@add{#2}{\cref@label@types}}
\def\@crefconstructcomponents#1{%
  \@ifundefined{cref@#1@label}{%
    \let\@tmplabel\cref@default@label%
  }{%
    \expandafter\let\expandafter\@tmplabel%
    \csname cref@#1@label\endcsname%
  }%
  \@ifundefined{cref@#1@rangelabel}{%
    \expandafter\def\expandafter\@tmpa\expandafter{%
      \@tmplabel{####1}{####3}{####4}}%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \@tmplabel{####2}{####5}{####6}}%
    \toksdef\@toksa=0%
    \@toksa={\def\@tmprangelabel##1##2##3##4##5##6}%
    \expandafter\expandafter\expandafter\the%
    \expandafter\expandafter\expandafter\@toksa%
    \expandafter\expandafter\expandafter{%
      \expandafter\expandafter\expandafter\crefrangepreconjunction%
      \expandafter\@tmpa\expandafter\crefrangeconjunction\@tmpb%
      \crefrangepostconjunction}%
  }{%
    \expandafter\let\expandafter\@tmprangelabel%
    \csname cref@#1@rangelabel\endcsname%
  }%
  \expandafter\def\expandafter\@tmplabel\expandafter{%
    \@tmplabel{########1}{########2}{########3}}%
  \expandafter\def\expandafter\@tmprangelabel\expandafter{%
    \@tmprangelabel{########1}{########2}{########3}%
    {########4}{########5}{########6}}%
  % \expandafter\expandafter\expandafter\def%
  % \expandafter\expandafter\expandafter\@tmpname%
  % \expandafter\expandafter\expandafter{%
  %   \csname cref@#1@name\endcsname}%
  \expandafter\def\expandafter\@tmpname\expandafter{%
    \csname cref@#1@name\endcsname}%
  % \expandafter\expandafter\expandafter\def%
  % \expandafter\expandafter\expandafter\@tmpName%
  % \expandafter\expandafter\expandafter{%
  %   \csname Cref@#1@name\endcsname}%
  \expandafter\def\expandafter\@tmpName\expandafter{%
    \csname Cref@#1@name\endcsname}%
  \expandafter\def\expandafter\@tmpnameplural\expandafter{%
    \csname cref@#1@name@plural\endcsname}%
  \expandafter\def\expandafter\@tmpNameplural\expandafter{%
    \csname Cref@#1@name@plural\endcsname}%
}
\def\@crefdefineformat#1{%
  \begingroup%
    \@crefconstructcomponents{#1}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpfirst%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpname\expandafter~\@tmplabel}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpFirst%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpName\expandafter~\@tmplabel}%
    \toksdef\@toksa=0%
    \@toksa={\crefformat{#1}}%
    \expandafter\the\expandafter\@toksa\expandafter{\@tmpfirst}%
    \@toksa={\Crefformat{#1}}%
    \expandafter\the\expandafter\@toksa\expandafter{\@tmpFirst}%
  \endgroup}
\def\@crefrangedefineformat#1{%
  \begingroup%
    \@crefconstructcomponents{#1}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpfirst%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpnameplural\expandafter~\@tmprangelabel}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpFirst%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpNameplural\expandafter~\@tmprangelabel}%
    \toksdef\@toksa=0%
    \@toksa={\crefrangeformat{#1}}%
    \expandafter\the\expandafter\@toksa\expandafter{\@tmpfirst}%
    \@toksa={\Crefrangeformat{#1}}%
    \expandafter\the\expandafter\@toksa\expandafter{\@tmpFirst}%
  \endgroup}
\def\@crefdefinemultiformat#1{%
  \begingroup%
    \@crefconstructcomponents{#1}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpfirst%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpnameplural\expandafter~\@tmplabel}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpFirst%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpNameplural\expandafter~\@tmplabel}%
    % \expandafter\expandafter\expandafter\def%
    % \expandafter\expandafter\expandafter\@tmpsecond%
    % \expandafter\expandafter\expandafter{%
    %   \expandafter\crefpairconjunction\@tmplabel}%
    \expandafter\def\expandafter\@tmpsecond\expandafter{%
      \expandafter\crefpairconjunction\@tmplabel}%
    % \expandafter\expandafter\expandafter\def%
    % \expandafter\expandafter\expandafter\@tmpmiddle%
    % \expandafter\expandafter\expandafter{%
    %   \expandafter\crefmiddleconjunction\@tmplabel}%
    \expandafter\def\expandafter\@tmpmiddle\expandafter{%
      \expandafter\crefmiddleconjunction\@tmplabel}%
    % \expandafter\expandafter\expandafter\def%
    % \expandafter\expandafter\expandafter\@tmplast%
    % \expandafter\expandafter\expandafter{%
    %   \expandafter\creflastconjunction\@tmplabel}%
    \expandafter\def\expandafter\@tmplast\expandafter{%
      \expandafter\creflastconjunction\@tmplabel}%
    \toksdef\@toksa=0%
    \toksdef\@toksb=1%
    \@toksb={}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpfirst}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpsecond}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpmiddle}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmplast}}%
    \@toksa={\crefmultiformat{#1}}%
    \expandafter\the\expandafter\@toksa\the\@toksb%
    \@toksb={}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpFirst}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpsecond}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpmiddle}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmplast}}%
    \@toksa={\Crefmultiformat{#1}}%
    \expandafter\the\expandafter\@toksa\the\@toksb%
  \endgroup}
\def\@crefrangedefinemultiformat#1{%
  \begingroup%
    \@crefconstructcomponents{#1}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpfirst%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpnameplural\expandafter~\@tmprangelabel}%
    \expandafter\expandafter\expandafter\def%
    \expandafter\expandafter\expandafter\@tmpFirst%
    \expandafter\expandafter\expandafter{%
      \expandafter\@tmpNameplural\expandafter~\@tmprangelabel}%
    % \expandafter\expandafter\expandafter\def%
    % \expandafter\expandafter\expandafter\@tmpsecond%
    % \expandafter\expandafter\expandafter{%
    %   \expandafter\crefpairconjunction\@tmprangelabel}%
    \expandafter\def\expandafter\@tmpsecond\expandafter{%
      \expandafter\crefpairconjunction\@tmprangelabel}%
    % \expandafter\expandafter\expandafter\def%
    % \expandafter\expandafter\expandafter\@tmpmiddle%
    % \expandafter\expandafter\expandafter{%
    %   \expandafter\crefmiddleconjunction\@tmprangelabel}%
    \expandafter\def\expandafter\@tmpmiddle\expandafter{%
      \expandafter\crefmiddleconjunction\@tmprangelabel}%
    % \expandafter\expandafter\expandafter\def%
    % \expandafter\expandafter\expandafter\@tmplast%
    % \expandafter\expandafter\expandafter{%
    %   \expandafter\creflastconjunction\@tmprangelabel}%
    \expandafter\def\expandafter\@tmplast\expandafter{%
      \expandafter\creflastconjunction\@tmprangelabel}%
    \toksdef\@toksa=0%
    \toksdef\@toksb=1%
    \@toksb={}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpfirst}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpsecond}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpmiddle}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmplast}}%
    \@toksa={\crefrangemultiformat{#1}}%
    \expandafter\the\expandafter\@toksa\the\@toksb%
    \@toksb={}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpFirst}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpsecond}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmpmiddle}}%
    \expandafter\cref@append@toks\expandafter\@toksb\expandafter{%
      \expandafter{\@tmplast}}%
    \@toksa={\Crefrangemultiformat{#1}}%
    \expandafter\the\expandafter\@toksa\the\@toksb%
  \endgroup}
\def\@crefdefineallformats#1{%
  \@crefdefineformat{#1}%
  \@crefrangedefineformat{#1}%
  \@crefdefinemultiformat{#1}%
  \@crefrangedefinemultiformat{#1}}
\newcommand{\crefformat}[2]{\@crefformat{cref}{#1}{#2}}
\newcommand{\Crefformat}[2]{\@crefformat{Cref}{#1}{#2}}
\newcommand{\crefrangeformat}[2]{\@crefrangeformat{crefrange}{#1}{#2}}
\newcommand{\Crefrangeformat}[2]{\@crefrangeformat{Crefrange}{#1}{#2}}
\newcommand{\crefmultiformat}[5]{%
  \@crefmultiformat{cref}{#1}{#2}{#3}{#4}{#5}}
\newcommand{\Crefmultiformat}[5]{%
  \@crefmultiformat{Cref}{#1}{#2}{#3}{#4}{#5}}
\newcommand{\crefrangemultiformat}[5]{%
  \@crefrangemultiformat{crefrange}{#1}{#2}{#3}{#4}{#5}}
\newcommand{\Crefrangemultiformat}[5]{%
  \@crefrangemultiformat{Crefrange}{#1}{#2}{#3}{#4}{#5}}
\def\@crefformat#1#2#3{%
  \begingroup%
    \expandafter\gdef\csname #1@#2@format\endcsname##1##2##3{#3}%
    \def\@tmpa##1##2\@nil{%
      \if##1c%
        \def\@other{C##2}%
        \def\@changecase{\MakeUppercase}%
      \else%
        \def\@other{c##2}%
        \def\@changecase{\MakeLowercase}%
      \fi}%
    \@tmpa#1\@nil%
    \@ifundefined{\@other @#2@format}{%
      \toksdef\@toksa=0%
      \@toksa={\def\@tmpa##1##2##3}%
      \expandafter\expandafter\expandafter\the%
      \expandafter\expandafter\expandafter\@toksa%
      \expandafter\expandafter\expandafter{%
        \csname#1@#2@format\endcsname{##1}{##2}{##3}}%
      \expandafter\expandafter\expandafter\the%
      \expandafter\expandafter\expandafter\@toksa%
      \expandafter\expandafter\expandafter{%
        \expandafter\@changecase\@tmpa{##1}{##2}{##3}}%
      \@toksa={%
        \expandafter\gdef\csname\@other @#2@format\endcsname##1##2##3}%
      \expandafter\the\expandafter\@toksa\expandafter{%
        \@tmpa{##1}{##2}{##3}}%
    }{}%
  \endgroup}
\def\@crefrangeformat#1#2#3{%
  \begingroup%
    \expandafter\gdef\csname #1@#2@format\endcsname%
      ##1##2##3##4##5##6{#3}%
    \def\@tmpa##1##2\@nil{%
      \if##1c%
        \def\@other{C##2}%
        \def\@changecase{\MakeUppercase}%
      \else%
        \def\@other{c##2}%
        \def\@changecase{\MakeLowercase}%
      \fi}%
    \@tmpa#1\@nil%
    \@ifundefined{\@other @#2@format}{%
      \toksdef\@toksa=0%
      \@toksa={\def\@tmpa##1##2##3##4##5##6}%
      \expandafter\expandafter\expandafter\the%
      \expandafter\expandafter\expandafter\@toksa%
      \expandafter\expandafter\expandafter{%
        \csname#1@#2@format\endcsname{##1}{##2}{##3}{##4}{##5}{##6}}%
      \expandafter\expandafter\expandafter\the%
      \expandafter\expandafter\expandafter\@toksa%
      \expandafter\expandafter\expandafter{%
        \expandafter\@changecase\@tmpa{##1}{##2}{##3}{##4}{##5}{##6}}%
      \@toksa={\expandafter\gdef%
        \csname\@other @#2@format\endcsname##1##2##3##4##5##6}%
      \expandafter\the\expandafter\@toksa\expandafter{%
        \@tmpa{##1}{##2}{##3}{##4}{##5}{##6}}%
    }{}%
  \endgroup}
\def\@crefmultiformat#1#2#3#4#5#6{%
  \begingroup%
    \expandafter\gdef\csname #1@#2@format@first\endcsname##1##2##3{#3}%
    \expandafter\gdef\csname #1@#2@format@second\endcsname##1##2##3{#4}%
    \expandafter\gdef\csname #1@#2@format@middle\endcsname##1##2##3{#5}%
    \expandafter\gdef\csname #1@#2@format@last\endcsname##1##2##3{#6}%
    \def\@tmpa##1##2\@nil{%
      \if##1c%
        \def\@other{C##2}%
        \def\@changecase{\MakeUppercase}%
      \else%
        \def\@other{c##2}%
        \def\@changecase{\MakeLowercase}%
      \fi}%
    \@tmpa#1\@nil%
    \@ifundefined{\@other @#2@format@first}{%
      \toksdef\@toksa=0%
      \@toksa={\def\@tmpa##1##2##3}%
      \expandafter\expandafter\expandafter\the%
      \expandafter\expandafter\expandafter\@toksa%
      \expandafter\expandafter\expandafter{%
        \csname#1@#2@format@first\endcsname{##1}{##2}{##3}}%
      \expandafter\expandafter\expandafter\the%
      \expandafter\expandafter\expandafter\@toksa%
      \expandafter\expandafter\expandafter{%
        \expandafter\@changecase\@tmpa{##1}{##2}{##3}}%
      \@toksa={%
        \expandafter\gdef\csname\@other @#2@format@first\endcsname%
          ##1##2##3}%
      \expandafter\the\expandafter\@toksa\expandafter{%
        \@tmpa{##1}{##2}{##3}}%
    }{}%
    \@ifundefined{\@other @#2@format@second}{%
      \@toksa={%
        \expandafter\global\expandafter\let%
        \csname\@other @#2@format@second\endcsname}%
      \expandafter\the\expandafter\@toksa%
        \csname #1@#2@format@second\endcsname%
    }{}%
    \@ifundefined{\@other @#2@format@middle}{%
      \@toksa={%
        \expandafter\global\expandafter\let%
        \csname\@other @#2@format@middle\endcsname}%
      \expandafter\the\expandafter\@toksa%
        \csname #1@#2@format@middle\endcsname%
    }{}%
    \@ifundefined{\@other @#2@format@last}{%
      \@toksa={%
        \expandafter\global\expandafter\let%
        \csname\@other @#2@format@last\endcsname}%
      \expandafter\the\expandafter\@toksa%
        \csname #1@#2@format@last\endcsname%
    }{}%
  \endgroup}
\def\@crefrangemultiformat#1#2#3#4#5#6{%
  \begingroup%
    \expandafter\gdef\csname #1@#2@format@first\endcsname%
      ##1##2##3##4##5##6{#3}%
    \expandafter\gdef\csname #1@#2@format@second\endcsname%
      ##1##2##3##4##5##6{#4}%
    \expandafter\gdef\csname #1@#2@format@middle\endcsname%
      ##1##2##3##4##5##6{#5}%
    \expandafter\gdef\csname #1@#2@format@last\endcsname%
      ##1##2##3##4##5##6{#6}%
    \def\@tmpa##1##2\@nil{%
      \if##1c%
        \def\@other{C##2}%
        \def\@changecase{\MakeUppercase}%
      \else%
        \def\@other{c##2}%
        \def\@changecase{\MakeLowercase}%
      \fi}%
    \@tmpa#1\@nil%
    \@ifundefined{\@other @#2@format@first}{%
      \toksdef\@toksa=0%
      \@toksa={\def\@tmpa##1##2##3##4##5##6}%
      \expandafter\expandafter\expandafter\the%
      \expandafter\expandafter\expandafter\@toksa%
      \expandafter\expandafter\expandafter{%
        \csname#1@#2@format@first\endcsname%
          {##1}{##2}{##3}{##4}{##5}{##6}}%
      \expandafter\expandafter\expandafter\the%
      \expandafter\expandafter\expandafter\@toksa%
      \expandafter\expandafter\expandafter{%
        \expandafter\@changecase\@tmpa{##1}{##2}{##3}{##4}{##5}{##6}}%
      \@toksa={%
        \expandafter\gdef\csname\@other @#2@format@first\endcsname%
          ##1##2##3##4##5##6}%
      \expandafter\the\expandafter\@toksa\expandafter{%
        \@tmpa{##1}{##2}{##3}{##4}{##5}{##6}}%
    }{}%
    \@ifundefined{\@other @#2@format@second}{%
      \@toksa={%
        \expandafter\global\expandafter\let%
        \csname\@other @#2@format@second\endcsname}%
      \expandafter\the\expandafter\@toksa%
        \csname #1@#2@format@second\endcsname%
    }{}%
    \@ifundefined{\@other @#2@format@middle}{%
      \@toksa={%
        \expandafter\global\expandafter\let%
        \csname\@other @#2@format@middle\endcsname}%
      \expandafter\the\expandafter\@toksa%
        \csname #1@#2@format@middle\endcsname%
    }{}%
    \@ifundefined{\@other @#2@format@last}{%
      \@toksa={%
        \expandafter\global\expandafter\let%
        \csname\@other @#2@format@last\endcsname}%
      \expandafter\the\expandafter\@toksa%
        \csname #1@#2@format@last\endcsname%
    }{}%
  \endgroup}
\@ifpackageloaded{hyperref}{%
  \PackageInfo{cleveref}{`hyperref' support loaded}
  \@ifpackagewith{hyperref}{backref}{%
    \PackageError{cleveref}{`cleveref' is currently incompatible with
      `hyperref's `backref' option}{Remove the `backref' option from
      `hyperref' if you want to use `cleveref'}}{}
  \def\cref@reflabel#1#2#3#4#5{\@result}
  \def\cref@hyperref#1{\expandafter\expandafter\expandafter%
    \@fourthoffive\csname r@#1\endcsname}
  \def\cref@getlabel#1#2{%
    \expandafter\let\expandafter\@tmpa\csname r@#1\endcsname%
    \expandafter\expandafter\expandafter\def%
      \expandafter\expandafter\expandafter\@tmpa%
      \expandafter\expandafter\expandafter{%
        \expandafter\@firstoffive\@tmpa}%
    \expandafter\@cref@getlabel\@tmpa\@nil#2}
  \def\cref@gettype#1#2{%
    \expandafter\let\expandafter\@tmpa\csname r@#1\endcsname%
    \expandafter\expandafter\expandafter\def%
      \expandafter\expandafter\expandafter\@tmpa%
      \expandafter\expandafter\expandafter{%
        \expandafter\@firstoffive\@tmpa}%
    \expandafter\@cref@gettype\@tmpa\@nil#2}
  \def\cref@getcounter#1#2{%
    \expandafter\let\expandafter\@tmpa\csname r@#1\endcsname%
    \expandafter\expandafter\expandafter\def%
      \expandafter\expandafter\expandafter\@tmpa%
      \expandafter\expandafter\expandafter{%
        \expandafter\@firstoffive\@tmpa}%
    \expandafter\@cref@getcounter\@tmpa\@nil#2}
  \def\cref@getprefix#1#2{%
    \expandafter\let\expandafter\@tmpa\csname r@#1\endcsname%
    \expandafter\expandafter\expandafter\def%
      \expandafter\expandafter\expandafter\@tmpa%
      \expandafter\expandafter\expandafter{%
        \expandafter\@firstoffive\@tmpa}%
    \expandafter\@cref@getprefix\@tmpa\@nil#2}
  \def\H@refstepcounter#1{%
    \stepcounter{#1}%
    \cref@constructprefix{#1}{\@result}%
    \protected@edef\@currentlabel{%
      [#1][\arabic{#1}][\@result]%
      \csname p@#1\endcsname\csname the#1\endcsname}}
  \def\refstepcounter@noarg#1{\cref@old@refstepcounter{#1}}
  \def\refstepcounter@optarg[#1]#2{%
    \cref@old@refstepcounter{#2}%
    \expandafter\@cref@getlabel\@currentlabel\@nil{\@tmplabel}%
    \cref@constructprefix{#2}{\@tmpreset}%
    \protected@edef\@currentlabel{%
      [#1][\arabic{#2}][\@tmpreset]\@tmplabel}}
  \renewcommand\appendix{%
    \cref@old@appendix%
    \@ifundefined{chapter}{%
      \def\H@refstepcounter##1{%
        \stepcounter{##1}%
        \cref@constructprefix{##1}{\@result}%
        \edef\@result{{2147483647}\@result}%
        \def\@tmpa{##1}%
        \def\@tmpb{section}%
        \ifx\@tmpa\@tmpb%
          \protected@edef\@currentlabel{%
            [appendix][\arabic{##1}][\@result]%
            \csname p@##1\endcsname\csname the##1\endcsname}%
        \else%
          \def\@tmpa{##1}%
          \def\@tmpb{subsection}%
          \ifx\@tmpa\@tmpb%
            \protected@edef\@currentlabel{%
              [subappendix][\arabic{##1}][\@result]%
              \csname p@##1\endcsname\csname the##1\endcsname}%
          \else%
            \def\@tmpa{##1}%
            \def\@tmpb{subsubsection}%
            \ifx\@tmpa\@tmpb%
              \protected@edef\@currentlabel{%
                [subsubappendix][\arabic{##1}][\@result]%
                \csname p@##1\endcsname\csname the##1\endcsname}%
            \else%
              \protected@edef\@currentlabel{%
                [##1][\arabic{##1}][\@result]%
                \csname p@##1\endcsname\csname the##1\endcsname}%
            \fi%
          \fi%
        \fi}%
    }{%
      \def\H@refstepcounter##1{%
        \stepcounter{##1}%
        \cref@constructprefix{##1}{\@result}%
        \edef\@result{{2147483647}\@result}%
        \def\@tmpa{##1}%
        \def\@tmpb{chapter}%
        \ifx\@tmpa\@tmpb%
          \protected@edef\@currentlabel{%
            [appendix][\arabic{##1}][\@result]%
            \csname p@##1\endcsname\csname the##1\endcsname}%
        \else%
          \def\@tmpa{##1}%
          \def\@tmpb{section}%
          \ifx\@tmpa\@tmpb%
            \protected@edef\@currentlabel{%
              [subappendix][\arabic{##1}][\@result]%
              \csname p@##1\endcsname\csname the##1\endcsname}%
          \else%
            \def\@tmpa{##1}%
            \def\@tmpb{subsection}%
            \ifx\@tmpa\@tmpb%
              \protected@edef\@currentlabel{%
                [subsubappendix][\arabic{##1}][\@result]%
                \csname p@##1\endcsname\csname the##1\endcsname}%
            \else%
              \def\@tmpa{##1}%
              \def\@tmpb{subsubsection}%
              \ifx\@tmpa\@tmpb%
                \protected@edef\@currentlabel{%
                  [subsubsubappendix][\arabic{##1}][\@result]%
                  \csname p@##1\endcsname\csname the##1\endcsname}%
              \else%
                \protected@edef\@currentlabel{%
                  [##1][\arabic{##1}][\@result]%
                  \csname p@##1\endcsname\csname the##1\endcsname}%
              \fi%
            \fi%
          \fi%
        \fi}%
    }%
  }
  \newif\if@crefstarred
  \DeclareRobustCommand{\cref}{%
    \@ifstar{\@crefstar{cref}}{\@crefnostar{cref}}}
  \DeclareRobustCommand{\Cref}{%
    \@ifstar{\@crefstar{Cref}}{\@crefnostar{Cref}}}
  \def\@crefnostar#1#2{\@cref{#1}{#2}}
  \def\@crefstar#1#2{%
    \@crefstarredtrue\@cref{#1}{#2}\@crefstarredfalse}
  \DeclareRobustCommand{\crefrange}{%
    \@ifstar{\@crefrangestar{cref}}{\@crefrangenostar{cref}}}
  \DeclareRobustCommand{\Crefrange}{%
    \@ifstar{\@crefrangestar{Cref}}{\@crefrangenostar{Cref}}}
  \def\@crefrangenostar#1#2#3{\@setcrefrange{#2}{#3}{#1}{}}
  \def\@crefrangestar#1#2#3{%
    \@crefstarredtrue\@setcrefrange{#2}{#3}{#1}{}\@crefstarredfalse}
  \def\@@setcref#1#2{%
    \cref@getlabel{#2}{\@tmplabel}%
    \if@crefstarred%
      #1{\@tmplabel}{}{}%
    \else%
      \edef\@tmplink{\cref@hyperref{#2}}%
      #1{\@tmplabel}{\hyper@linkstart{link}{\@tmplink}}{\hyper@linkend}%
    \fi}
  \def\@@setcrefrange#1#2#3{%
    \cref@getlabel{#2}{\@labela}%
    \cref@getlabel{#3}{\@labelb}%
    \if@crefstarred%
      #1{\@labela}{\@labelb}{}{}{}{}%
    \else%
      \edef\@linka{\cref@hyperref{#2}}%
      \edef\@linkb{\cref@hyperref{#3}}%
      #1{\@labela}{\@labelb}%
        {\hyper@linkstart{link}{\@linka}}{\hyper@linkend}%
        {\hyper@linkstart{link}{\@linkb}}{\hyper@linkend}%
    \fi}%
  \AtBeginDocument{%
   \DeclareRobustCommand{\ref}{\@ifstar\cref@refstar\cref@ref}
   \def\cref@refstar#1{%
     \expandafter\ifx\csname r@#1\endcsname\relax%
       \let\@result\relax%
     \else%
       \cref@getlabel{#1}{\@result}%
     \fi%
     \expandafter\real@setref\csname r@#1\endcsname{%
       \cref@reflabel}{#1}}%
 }
}{}%  end of \@ifpackageloaded{hyperref}
  \@ifpackageloaded{ntheorem}{%
  \PackageInfo{cleveref}{`ntheorem' support loaded}
  \@ifpackagewith{ntheorem}{thref}{%
    \PackageWarning{cleveref}{`cleveref' supersedes `ntheorem's `thref'
      option}%
    \renewcommand{\thref}{\cref}}{}
  \@ifundefined{theorem@prework}{\let\theorem@prework\relax}{}
  \gdef\@thm#1#2#3{%
    \if@thmmarks%
      \stepcounter{end\InTheoType ctr}%
    \fi%
    \renewcommand{\InTheoType}{#1}%
    \if@thmmarks%
      \stepcounter{curr#1ctr}%
      \setcounter{end#1ctr}{0}%
    \fi%
    \refstepcounter[#1]{#2}%  <<<<<
    \theorem@prework%
    \thm@topsepadd \theorempostskipamount%
    \ifvmode \advance\thm@topsepadd\partopsep\fi%
    \trivlist%
    \@topsep \theorempreskipamount%
    \@topsepadd \thm@topsepadd%
    \advance\linewidth -\theorem@indent%
    \advance\@totalleftmargin \theorem@indent%
    \parshape \@ne \@totalleftmargin \linewidth%
    \@ifnextchar[{\@ythm{#1}{#2}{#3}}{\@xthm{#1}{#2}{#3}}%]
  }}{}%  end of \@ifpackageloaded
\@ifpackageloaded{varioref}{%
    \PackageInfo{cleveref}{`varioref' support loaded}
    \PackageInfo{cleveref}{`cleveref' supersedes `varioref's %
      $\backslash$\labelformat command, which will not work}
  \AtBeginDocument{%
    \def\cref@vref#1#2{%
      \if@cref@legacyvarioref%
        \leavevmode\unskip\vref@space
      \fi%
      \@cref{#1}{#2} % space here is deliberate
      \begingroup%
        \def\@tmpstack{#2,\@nil}%
        \cref@stack@topandbottom{\@tmpstack}{\@firstref}{\@lastref}%
        \ifx\@lastref\@empty%
          \vpageref{#2}%
        \else%
          \edef\@tmpa{{\@firstref}{\@lastref}}%
          \expandafter\vpagerefrange\@tmpa%
        \fi%
      \endgroup}
    \def\cref@vrefrange#1#2#3{%
      \@setcrefrange{#2}{#3}{#1}{} \vpagerefrange{#2}{#3}}
    \def\cref@fullref#1#2{%
      \@cref{#1}{#2} % space here is deliberate
      \begingroup%
        \def\@tmpstack{#2,\@nil}%
        \cref@stack@topandbottom{\@tmpstack}{\@firstref}{\@lastref}%
        \ifx\@lastref\@empty%
          \reftextfaraway{#2}%
        \else%
          \expandafter\vrefpagenum\expandafter%
            \@tmpa\expandafter{\@firstref}%
          \expandafter\vrefpagenum\expandafter%
            \@tmpb\expandafter{\@lastref}%
          \ifx\@tmpa\@tmpb
            \expandafter\reftextfaraway\expandafter{\@firstref}%
          \else
            \edef\@tmpa{{\@firstref}{\@lastref}}%
            \expandafter\reftextpagerange\@tmpa%
          \fi%
        \fi%
      \endgroup}
    \if@cref@legacyvarioref%
      \def\vr@f#1{\cref@vref{cref}{#1}}
      \def\Vr@f#1{\cref@vref{Cref}{#1}}
      \renewcommand\vrefrange[3][\reftextcurrent]{%
        \crefrange{#2}{#3} \vpagerefrange{#2}{#3}}
      \def\fullref#1{\cref@fullref{cref}{#1}}
    \else%
      \@ifpackageloaded{hyperref}{%
        \DeclareRobustCommand{\vref}{%
          \@ifstar{\cref@vrefstar{cref}}{\cref@vref{cref}}}
        \DeclareRobustCommand{\Vref}{%
          \@ifstar{\cref@vrefstar{Cref}}{\cref@vref{Cref}}}
        \DeclareRobustCommand{\vrefrange}{%
          \@ifstar{\cref@vrefrangestar{cref}}{\cref@vrefrange{cref}}}
        \DeclareRobustCommand{\Vrefrange}{%
          \@ifstar{\cref@vrefrangestar{Cref}}{\cref@vrefrange{Cref}}}%
        \DeclareRobustCommand{\fullref}{%
          \@ifstar{\cref@fullrefstar{cref}}{\cref@fullref{cref}}}
        \DeclareRobustCommand{\Fullref}{%
          \@ifstar{\cref@fullrefstar{Cref}}{\cref@fullref{Cref}}}
        \def\cref@vrefstar#1#2{%
          \@crefstarredtrue%
          \cref@vref{#1}{#2}%
          \@crefstarredfalse}
        \def\cref@vrefrangestar#1#2#3{%
          \@crefstarredtrue%
          \cref@vrefrange{#1}{#2}{#3}%
          \@crefstarredfalse}
        \def\cref@fullrefstar#1#2{%
          \@crefstarredtrue%
          \cref@fullref{#1}{#2}%
          \@crefstarredfalse}
      }{%
        \DeclareRobustCommand{\vref}{\cref@vref{cref}}
        \DeclareRobustCommand{\Vref}{\cref@vref{Cref}}
        \DeclareRobustCommand{\vrefrange}{\cref@vrefrange{cref}}
        \DeclareRobustCommand{\Vrefrange}{\cref@vrefrange{Cref}}
        \DeclareRobustCommand{\fullref}{\cref@fullref{cref}}
        \DeclareRobustCommand{\Fullref}{\cref@fullref{Cref}}
      }
    \fi%
   }%  end of \AtBeginDocument
 }{}%  end of \@ifpackageloaded
\let\if@cref@legacyvarioref\iffalse
\DeclareOption{legacyvarioref}{%
  \PackageInfo{cleveref}{legacy `varioref' compatibility enabled}
  \let\if@cref@legacyvarioref\iftrue}
\DeclareOption{poorman}{%
  \PackageInfo{cleveref}{option `poorman' loaded}
  \gdef\cref@poorman@text{}
  \AtBeginDocument{%
    \newwrite\@crefscript%
    \immediate\openout\@crefscript=\jobname.sed}
  \newif\if@cref@switched@language
  \@ifpackageloaded{babel}{%
    \AtBeginDocument{%
      \let\cref@old@select@language\select@language
      \def\select@language{%
        \@cref@switched@languagetrue%
        \cref@writelanguagerules%
        \cref@old@select@language}
      \let\cref@old@forreign@language\forreign@language
      \def\forreign@language{%
        \@cref@switched@languagetrue%
        \cref@writelanguagerules%
        \cref@old@forreign@language}
      \edef\cref@inputlineno{\the\inputlineno}}
    \AtEndDocument{%
      \let\select@language\cref@old@select@language%
      \let\forreign@language\cref@old@forreign@language%
      \cref@writelanguagerules}
    \def\cref@writelanguagerules{%
      \begingroup%
        \if@cref@switched@language%
          \edef\@address{\cref@inputlineno,\the\inputlineno}%
        \else%
          \def\@address{}%
        \fi%
        \expandafter\def\expandafter\cref@poorman@text\expandafter{%
          \crefrangeconjunction}%
        \expandafter\def\expandafter\@tmpa\expandafter{%
          \expandafter{\@address}{\string\crefrangeconjunction}}
        \expandafter\cref@writescript\@tmpa%
        \expandafter\def\expandafter\cref@poorman@text\expandafter{%
          \crefrangepreconjunction}%
        \expandafter\def\expandafter\@tmpa\expandafter{%
          \expandafter{\@address}{\string\crefrangepreconjunction}}
        \expandafter\cref@writescript\@tmpa%
        \expandafter\def\expandafter\cref@poorman@text\expandafter{%
          \crefrangepostconjunction}%
        \expandafter\def\expandafter\@tmpa\expandafter{%
          \expandafter{\@address}{\string\crefrangepostconjunction}}
        \expandafter\cref@writescript\@tmpa%
        \expandafter\def\expandafter\cref@poorman@text\expandafter{%
          \crefpairconjunction}%
        \expandafter\def\expandafter\@tmpa\expandafter{%
          \expandafter{\@address}{\string\crefpairconjunction}}
        \expandafter\cref@writescript\@tmpa%
        \expandafter\def\expandafter\cref@poorman@text\expandafter{%
          \crefmiddleconjunction}%
        \expandafter\def\expandafter\@tmpa\expandafter{%
          \expandafter{\@address}{\string\crefmiddleconjunction}}
        \expandafter\cref@writescript\@tmpa%
        \expandafter\def\expandafter\cref@poorman@text\expandafter{%
          \creflastconjunction}%
        \expandafter\def\expandafter\@tmpa\expandafter{%
          \expandafter{\@address}{\string\creflastconjunction}}
        \expandafter\cref@writescript\@tmpa%
        \expandafter\def\expandafter\cref@poorman@text\expandafter{%
          \crefpairgroupconjunction}%
        \expandafter\def\expandafter\@tmpa\expandafter{%
          \expandafter{\@address}{\string\crefpairgroupconjunction}}
        \expandafter\cref@writescript\@tmpa%
        \expandafter\def\expandafter\cref@poorman@text\expandafter{%
          \crefmiddlegroupconjunction}%
        \expandafter\def\expandafter\@tmpa\expandafter{%
          \expandafter{\@address}{\string\crefmiddlegroupconjunction}}
        \expandafter\cref@writescript\@tmpa%
        \expandafter\def\expandafter\cref@poorman@text\expandafter{%
          \creflastgroupconjunction}%
        \expandafter\def\expandafter\@tmpa\expandafter{%
          \expandafter{\@address}{\string\creflastgroupconjunction}}
        \expandafter\cref@writescript\@tmpa%
        \let\@tmpstack\cref@label@types%
        \cref@isstackfull{\@tmpstack}%
        \@whilesw\if@cref@stackfull\fi{%
          \edef\@tmpa{\cref@stack@top{\@tmpstack}}%
          \expandafter\expandafter\expandafter\def%
          \expandafter\expandafter\expandafter\cref@poorman@text%
          \expandafter\expandafter\expandafter{%
            \csname cref@\@tmpa @name\endcsname}%
          \edef\@tmpa{%
            \string\cref@\expandafter\noexpand\@tmpa @name\space}%
          \expandafter\expandafter\expandafter\def%
          \expandafter\expandafter\expandafter\@tmpa%
          \expandafter\expandafter\expandafter{%
            \expandafter\expandafter\expandafter{%
              \expandafter\@address\expandafter}%
            \expandafter{\@tmpa}}
          \expandafter\cref@writescript\@tmpa%
          \edef\@tmpa{\cref@stack@top{\@tmpstack}}%
          \expandafter\expandafter\expandafter\def%
          \expandafter\expandafter\expandafter\cref@poorman@text%
          \expandafter\expandafter\expandafter{%
            \csname cref@\@tmpa @name@plural\endcsname}%
          \edef\@tmpa{%
            \string\cref@\expandafter\noexpand\@tmpa%
            @name@plural\space}%
          \expandafter\expandafter\expandafter\def%
          \expandafter\expandafter\expandafter\@tmpa%
          \expandafter\expandafter\expandafter{%
            \expandafter\expandafter\expandafter{%
              \expandafter\@address\expandafter}%
            \expandafter{\@tmpa}}
          \expandafter\cref@writescript\@tmpa%
          \edef\@tmpa{\cref@stack@top{\@tmpstack}}%
          \expandafter\expandafter\expandafter\def%
          \expandafter\expandafter\expandafter\cref@poorman@text%
          \expandafter\expandafter\expandafter{%
            \csname Cref@\@tmpa @name\endcsname}%
          \edef\@tmpa{%
            \string\Cref@\expandafter\noexpand\@tmpa @name\space}%
          \expandafter\expandafter\expandafter\def%
          \expandafter\expandafter\expandafter\@tmpa%
          \expandafter\expandafter\expandafter{%
            \expandafter\expandafter\expandafter%
            {\expandafter\@address\expandafter}%
            \expandafter{\@tmpa}}
          \expandafter\cref@writescript\@tmpa%
          \edef\@tmpa{\cref@stack@top{\@tmpstack}}%
          \expandafter\expandafter\expandafter\def%
          \expandafter\expandafter\expandafter\cref@poorman@text%
          \expandafter\expandafter\expandafter{%
            \csname Cref@\@tmpa @name@plural\endcsname}%
          \edef\@tmpa{%
            \string\Cref@\expandafter\noexpand\@tmpa%
            @name@plural\space}%
          \expandafter\expandafter\expandafter\def%
          \expandafter\expandafter\expandafter\@tmpa%
          \expandafter\expandafter\expandafter{%
            \expandafter\expandafter\expandafter%
            {\expandafter\@address\expandafter}%
            \expandafter{\@tmpa}}
          \expandafter\cref@writescript\@tmpa%
          \cref@stack@pop{\@tmpstack}%
          \cref@isstackfull{\@tmpstack}}%
      \endgroup%
      \edef\cref@inputlineno{\the\inputlineno}}%
  }{}% end of \@ifpackageloaded
  \AtEndDocument{%
    \immediate\closeout\@crefscript%
    \newread\@crefscript%
    \immediate\openin\@crefscript=\jobname.sed%
    \begingroup%
      \newif\if@not@eof%
      \def\@eof{\par }%
      \catcode`.=13 \catcode`*=13
      \catcode`[=13 \catcode`]=13
      \catcode`^=13 \catcode`$=13 %$
      \catcode`\=0 \catcode`<=1 \catcode`>=2
      \catcode`\\=13 \catcode`\{=12 \catcode`\}=12 \catcode`_=12
      \lccode`/=92
      \lccode`~=92\lowercase{\def~{\string/\string/}}%
      \lccode`~=42\lowercase{\def~{\string/\string*}}%
      \lccode`~=46\lowercase{\def~{\string/\string.}}%
      \lccode`~=91\lowercase{\def~{\string/\string[}}%
      \lccode`~=93\lowercase{\def~{\string/\string]}}%
      \lccode`~=94\lowercase{\def~{\string/\string^}}%
      \lccode`~=36\lowercase{\def~{\string/\string$}}% $
      \lccode`~=0 \lccode`/=0 \catcode`~=12
      \def\cref@poorman@text{}%
      \immediate\read\@crefscript to \@tmpa%
      \ifx\@tmpa\@eof%
        \@not@eoffalse%
      \else%
        \@not@eoftrue%
        \edef\@tmpa{\@tmpa}%
      \fi%
      \@whilesw\if@not@eof\fi{%
        \expandafter\g@addto@macro\expandafter%
          \cref@poorman@text\expandafter{\@tmpa^^J}%
        \immediate\read\@crefscript to \@tmpa%
        \ifx\@tmpa\@eof%
          \@not@eoffalse%
        \else%
          \@not@eoftrue%
          \edef\@tmpa{\@tmpa}%
        \fi}%
    \endgroup%
    \immediate\closein\@crefscript%
    \begingroup%
      \lccode`|=92 \lccode`<=123 \lccode`>=125 \lccode`C=67
      \lowercase{\def\@tmpa{%[
          s/||label|[[^]]*|]/||label/g}}
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||usepackage|(|[.*|]|)|?<cleveref>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||[cC]refformat<.*><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||[cC]refrangeformat<.*><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||[cC]refmultiformat<.*><.*><.*><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{%
          s/||[cC]refrangemultiformat<.*><.*><.*><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||[cC]refname<.*><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||[cC]reflabelformat<.*><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||[cC]refrangelabelformat<.*><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||[cC]refdefaultlabelformat<.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{%
          s/||renewcommand<||crefpairconjunction><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{%
          s/||renewcommand<||crefpairgroupconjunction><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{%
          s/||renewcommand<||crefmiddleconjunction><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{%
          s/||renewcommand<||crefmiddlegroupconjunction><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{%
          s/||renewcommand<||creflastconjunction><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{%
          s/||renewcommand<||creflastgroupconjunction><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||renewcommand<||[cC]ref><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
      \lowercase{\edef\@tmpa{s/||renewcommand<||[cC]refrange><.*>//g}}%
      \expandafter\g@addto@macro\expandafter%
        \cref@poorman@text\expandafter{\@tmpa^^J}%
    \endgroup%
    \newwrite\@crefscript%
    \immediate\openout\@crefscript=\jobname.sed%
    \immediate\write\@crefscript{\cref@poorman@text}%
    \immediate\closeout\@crefscript%
  }
  \def\cref@getmeaning#1{\expandafter\@cref@getmeaning\meaning#1\@nil}
  \def\@cref@getmeaning#1->#2\@nil{#2}
  \def\cref@writescript#1#2{%
    \edef\@tmpa{\cref@getmeaning{\cref@poorman@text}}%
    \immediate\write\@crefscript{#1 s/#2/\@tmpa/g}}
  \@ifpackageloaded{hyperref}{%
    \def\@crefnostar#1#2{%
      \gdef\cref@poorman@text{}%
      \@cref{#1}{#2}%
      \begingroup%
        \lccode`|=92 \lccode`<=123 \lccode`>=125 \lccode`C=67
        \lowercase{\cref@writescript{}{|#1<#2>}}%
      \endgroup}
    \def\@crefstar#1#2{%
      \gdef\cref@poorman@text{}%
      \@crefstarredtrue\@cref{#1}{#2}\@crefstarredfalse%
      \begingroup%
        \lccode`|=92 \lccode`<=123 \lccode`>=125 \lccode`C=67
        \lowercase{\cref@writescript{}{|#1*<#2>}}%
      \endgroup}
    \def\@crefrangenostar#1#2#3{%
      \gdef\cref@poorman@text{}%
      \@setcrefrange{#2}{#3}{#1}{}%
      \begingroup%
        \lccode`|=92 \lccode`<=123 \lccode`>=125 \lccode`C=67
        \lowercase{\cref@writescript{}{|#1range<#2><#3>}}%
      \endgroup}
    \def\@crefrangestar#1#2#3{%
      \gdef\cref@poorman@text{}%
      \@crefstarredtrue\@setcrefrange{#2}{#3}{#1}{}\@crefstarredfalse%
      \begingroup%
        \lccode`|=92 \lccode`<=123 \lccode`>=125 \lccode`C=67
        \lowercase{\cref@writescript{}{|#1range*<#2><#3>}}%
      \endgroup}
  }{%
    \DeclareRobustCommand{\cref}[1]{%
      \edef\cref@poorman@text{}%
      \@cref{cref}{#1}%
      \cref@writescript{}{\string\cref\string{#1\string}}}
    \DeclareRobustCommand{\Cref}[1]{%
      \edef\cref@poorman@text{}%
      \@cref{Cref}{#1}%
      \cref@writescript{}{\string\Cref\string{#1\string}}}
    \DeclareRobustCommand{\crefrange}[2]{%
      \edef\cref@poorman@text{}%
      \@setcrefrange{#1}{#2}{cref}{}%
      \cref@writescript{}{%
        \string\crefrange\string{#1\string}\string{#2\string}}}
    \DeclareRobustCommand{\Crefrange}[2]{%
      \edef\cref@poorman@text{}%
      \@setcrefrange{#1}{#2}{Cref}{}%
      \cref@writescript{}{%
        \string\Crefrange\string{#1\string}\string{#2\string}}}
  }
  \@ifpackageloaded{varioref}{%
    \AtBeginDocument{%
      \if@cref@legacyvarioref%
        \DeclareRobustCommand{\vref}{%
          \@ifstar{\cref@vrefstar{cref}}{\cref@vref{cref}}}
        \def\cref@vrefstar#1#2{%
          \@crefstarredtrue\cref@vref{#1}{#2}\@crefstarredfalse}
      \fi
      \def\cref@vref#1#2{%
        \gdef\cref@poorman@text{}%
        \if@cref@legacyvarioref%
          \leavevmode\unskip\vref@space
        \fi%
        \begingroup%
          \let\if@tmp\if@crefstarred%
          \if@cref@legacyvarioref\@crefstarredfalse\fi%
          \@cref{#1}{#2} % space here is deliberate
          \let\if@crefstarred\if@tmp%
          \def\@tmpstack{#2,\@nil}%
          \cref@stack@topandbottom{\@tmpstack}{\@firstref}{\@lastref}%
          \ifx\@lastref\@empty%
            \vpageref{#2}%
            \g@addto@macro\cref@poorman@text{ \vpageref{#2}}%
          \else%
            \g@addto@macro\cref@poorman@text{ }%
            \edef\@tmpa{{\@firstref}{\@lastref}}%
            \expandafter\vpagerefrange\@tmpa%
            \expandafter\g@addto@macro\expandafter\cref@poorman@text%
              \expandafter{\expandafter\vpagerefrange\@tmpa}%
          \fi%
          \def\@tmpa##1##2\@nil{%
            \if##1c%
              \if@crefstarred%
                \cref@writescript{}{\string\vref*\string{#2\string}}%
              \else%
                \cref@writescript{}{\string\vref\string{#2\string}}%
              \fi%
            \else%
              \if@crefstarred%
                \cref@writescript{}{\string\Vref*\string{#2\string}}%
              \else%
                \cref@writescript{}{\string\Vref\string{#2\string}}%
              \fi%
            \fi}%
          \@tmpa#1\@nil%
        \endgroup}
      \def\cref@vrefrange#1#2#3{%
        \gdef\cref@poorman@text{}%
        \@setcrefrange{#2}{#3}{#1}{} \vpagerefrange{#2}{#3}%
        \g@addto@macro\cref@poorman@text{ \vpagerefrange{#2}{#3}}%
        \def\@tmpa##1##2\@nil{%
          \if##1c%
            \if@crefstarred%
              \cref@writescript{}{%
                \string\vrefrange*\string{#2\string}\string{#3\string}}%
            \else%
              \cref@writescript{}{%
                \string\vrefrange\string{#2\string}\string{#3\string}}%
            \fi%
          \else%
            \if@crefstarred%
              \cref@writescript{}{%
                \string\Vrefrange*\string{#2\string}\string{#3\string}}%
            \else%
              \cref@writescript{}{%
                \string\Vrefrange\string{#2\string}\string{#3\string}}%
            \fi%
          \fi}%
        \@tmpa#1\@nil}
      \def\cref@fullref#1#2{%
        \gdef\cref@poorman@text{}%
        \begingroup%
          \@cref{#1}{#2} % space here is deliberate
          \def\@tmpstack{#2,\@nil}%
          \cref@stack@topandbottom{\@tmpstack}{\@firstref}{\@lastref}%
          \ifx\@lastref\@empty%
            \reftextfaraway{#2}%
            \def\@pageref{\reftextfaraway{#1}}%
          \else%
            \expandafter\vrefpagenum\expandafter%
              \@tmpa\expandafter{\@firstref}%
            \expandafter\vrefpagenum\expandafter%
              \@tmpb\expandafter{\@lastref}%
            \ifx\@tmpa\@tmpb
              \expandafter\reftextfaraway\expandafter{\@firstref}%
              \expandafter\def\expandafter\@pageref\expandafter{%
                \expandafter\reftextfaraway\expandafter{\@firstref}}%
            \else
              \edef\@tmpa{{\@firstref}{\@lastref}}%
              \expandafter\reftextpagerange\@tmpa%
              \expandafter\def\expandafter\@pageref\expandafter{%
                \expandafter\reftextpagerange\@tmpa}%
            \fi%
          \fi%
          \g@addto@macro\cref@poorman@text{ }%
          \expandafter\g@addto@macro\expandafter\cref@poorman@text%
            \expandafter{\@pageref}%
          \def\@tmpa##1##2\@nil{%
            \if##1c%
              \if@crefstarred%
                \cref@writescript{}{\string\fullref*\string{#2\string}}%
              \else%
                \cref@writescript{}{\string\fullref\string{#2\string}}%
              \fi%
            \else%
              \if@crefstarred%
                \cref@writescript{}{\string\Fullref*\string{#2\string}}%
              \else%
                \cref@writescript{}{\string\Fullref\string{#2\string}}%
              \fi%
            \fi}%
          \@tmpa#1\@nil
        \endgroup}
    }% end of \AtBeginDocument
  }{}% end of \@ifpackageloaded
  \def\@setcref@pairgroupconjunction{%
    \crefpairgroupconjunction%
    \expandafter\g@addto@macro\expandafter\cref@poorman@text%
      \expandafter{\crefpairgroupconjunction}}
  \def\@setcref@middlegroupconjunction{%
    \crefmiddlegroupconjunction%
    \expandafter\g@addto@macro\expandafter\cref@poorman@text%
      \expandafter{\crefmiddlegroupconjunction}}
  \def\@setcref@lastgroupconjunction{%
    \creflastgroupconjunction%
    \expandafter\g@addto@macro\expandafter\cref@poorman@text%
      \expandafter{\creflastgroupconjunction}}
  \@ifpackageloaded{hyperref}{%
    \def\@@setcref#1#2{%
      \cref@getlabel{#2}{\@tmplabel}%
      \if@crefstarred%
        #1{\@tmplabel}{}{}%
        \expandafter\g@addto@macro\expandafter\cref@poorman@text%
          \expandafter{#1{\ref*{#2}}{}{}}%
      \else%
        \edef\@tmplink{\cref@hyperref{#2}}%
        #1{\@tmplabel}{\hyper@linkstart{link}{\@tmplink}}%
          {\hyper@linkend}%
        \expandafter\g@addto@macro\expandafter\cref@poorman@text%
          \expandafter{#1{\ref{#2}}{}{}}%
      \fi}
    \def\@@setcrefrange#1#2#3{%
      \cref@getlabel{#2}{\@labela}%
      \cref@getlabel{#3}{\@labelb}%
      \if@crefstarred%
        #1{\@labela}{\@labelb}{}{}{}{}%
        \expandafter\g@addto@macro\expandafter\cref@poorman@text%
          \expandafter{#1{\ref*{#2}}{\ref*{#3}}{}{}{}{}}%
      \else%
        \edef\@linka{\cref@hyperref{#2}}%
        \edef\@linkb{\cref@hyperref{#3}}%
        #1{\@labela}{\@labelb}%
          {\hyper@linkstart{link}{\@linka}}{\hyper@linkend}%
          {\hyper@linkstart{link}{\@linkb}}{\hyper@linkend}%
        \expandafter\g@addto@macro\expandafter\cref@poorman@text%
          \expandafter{#1{\ref{#2}}{\ref{#3}}{}{}{}{}}%
      \fi}
  }{%
    \def\@@setcref#1#2{%
      \old@@setcref{#1}{#2}%
      \expandafter\g@addto@macro\expandafter{%
        \expandafter\cref@poorman@text\expandafter}\expandafter{%
        #1{\ref{#2}}{}{}}}
    \def\@@setcrefrange#1#2#3{%
      \old@@setcrefrange{#1}{#2}{#3}%
      \expandafter\g@addto@macro%
        \expandafter{\expandafter\cref@poorman@text\expandafter}%
        \expandafter{#1{\ref{#2}}{\ref{#3}}{}{}{}{}}}
  }
}%  end of poorman option
\newif\if@cref@sort
\newif\if@cref@compress
\@cref@sorttrue
\@cref@compresstrue
\DeclareOption{sort}{%
  \PackageInfo{cleveref}{sorting but not compressing references}
  \@cref@sorttrue
  \@cref@compressfalse}
\DeclareOption{compress}{%
  \PackageInfo{cleveref}{compressing but not sorting references}
  \@cref@sortfalse
  \@cref@compresstrue}
\DeclareOption{sort&compress}{%
  \PackageInfo{cleveref}{sorting and compressing references}
  \@cref@sorttrue
  \@cref@compresstrue}
\DeclareOption{nosort}{%
  \PackageInfo{cleveref}{neither sorting nor compressing references}
  \@cref@sortfalse
  \@cref@compressfalse}
\newif\if@cref@capitalise
\@cref@capitalisefalse
\DeclareOption{capitalise}{%
  \PackageInfo{cleveref}{always capitalise cross-reference names}
  \@cref@capitalisetrue}
\DeclareOption{capitalize}{%
  \PackageInfo{cleveref}{always capitalise cross-reference names}
  \@cref@capitalisetrue}
\crefdefaultlabelformat{#2#1#3}
\creflabelformat{equation}{\textup{(#2#1#3)}}
\def\cref@addto#1#2{%
  \@temptokena{#2}%
  \ifx#1\undefined
    \edef#1{\the\@temptokena}%
  \else
    \toks@\expandafter{#1}%
    \edef#1{\the\toks@\the\@temptokena}%
  \fi
  \@temptokena{}\toks@\@temptokena%
}
\@onlypreamble\cref@addto
\DeclareOption{english}{%
  \PackageInfo{cleveref}{loaded `english' language definitions}
  \AtBeginDocument{%
    \def\crefrangeconjunction@preamble{ to~}%
    \def\crefrangepreconjunction@preamble{}%
    \def\crefrangepostconjunction@preamble{}%
    \def\crefpairconjunction@preamble{ and~}%
    \def\crefmiddleconjunction@preamble{, }%
    \def\creflastconjunction@preamble{ and~}%
    \def\crefpairgroupconjunction@preamble{ and~}%
    \def\crefmiddlegroupconjunction@preamble{, }%
    \def\creflastgroupconjunction@preamble{, and~}%
    \crefname@preamble{equation}{eq.}{eqs.}%
    \Crefname@preamble{equation}{Equation}{Equations}%
    \crefname@preamble{chapter}{chapter}{chapters}%
    \Crefname@preamble{chapter}{Chapter}{Chapters}%
    \crefname@preamble{section}{section}{sections}%
    \Crefname@preamble{section}{Section}{Sections}%
    \crefname@preamble{appendix}{appendix}{appendices}%
    \Crefname@preamble{appendix}{Appendix}{Appendices}%
    \crefname@preamble{figure}{fig.}{figs.}%
    \Crefname@preamble{figure}{Figure}{Figures}%
    \crefname@preamble{table}{table}{tables}%
    \Crefname@preamble{table}{Table}{Tables}%
    \crefname@preamble{theorem}{theorem}{theorems}%
    \Crefname@preamble{theorem}{Theorem}{Theorems}%
    \crefname@preamble{enumi}{item}{items}%
    \Crefname@preamble{enumi}{Item}{Items}%
    \crefname@preamble{lemma}{lemma}{lemmas}%
    \Crefname@preamble{lemma}{Lemma}{Lemmas}%
    \crefname@preamble{corollary}{corollary}{corollaries}%
    \Crefname@preamble{corollary}{Corollary}{Corollaries}%
    \crefname@preamble{proposition}{proposition}{propositions}%
    \Crefname@preamble{proposition}{Proposition}{Propositions}%
    \crefname@preamble{definition}{definition}{definitions}%
    \Crefname@preamble{definition}{Definition}{Definitions}%
    \crefname@preamble{result}{result}{results}%
    \Crefname@preamble{result}{Result}{Results}%
    \crefname@preamble{example}{example}{examples}%
    \Crefname@preamble{example}{Example}{Examples}%
    \crefname@preamble{remark}{remark}{remarks}%
    \Crefname@preamble{remark}{Remark}{Remarks}%
    \crefname@preamble{note}{note}{notes}%
    \Crefname@preamble{note}{Note}{Notes}%
    \def\cref@language{english}%
    \cref@addto\extrasenglish{%
      \renewcommand{\crefrangeconjunction}{ to~}%
      \renewcommand\crefrangepreconjunction{}%
      \renewcommand\crefrangepostconjunction{}%
      \renewcommand{\crefpairconjunction}{ and~}%
      \renewcommand{\crefmiddleconjunction}{, }%
      \renewcommand{\creflastconjunction}{ and~}%
      \renewcommand{\crefpairgroupconjunction}{ and~}%
      \renewcommand{\crefmiddlegroupconjunction}{, }%
      \renewcommand{\creflastgroupconjunction}{, and~}%
      \crefname{equation}{eq.}{eqs.}%
      \Crefname{equation}{Equation}{Equations}%
      \crefname{chapter}{chapter}{chapters}%
      \Crefname{chapter}{Chapter}{Chapters}%
      \crefname{section}{section}{sections}%
      \Crefname{section}{Section}{Sections}%
      \crefname{subsection}{section}{sections}%
      \Crefname{subsection}{Section}{Sections}%
      \crefname{subsubsection}{section}{sections}%
      \Crefname{subsubsection}{Section}{Sections}%
      \crefname{appendix}{appendix}{appendices}%
      \Crefname{appendix}{Appendix}{Appendices}%
      \crefname{subappendix}{appendix}{appendices}%
      \Crefname{subappendix}{Appendix}{Appendices}%
      \crefname{subsubappendix}{appendix}{appendices}%
      \Crefname{subsubappendix}{Appendix}{Appendices}%
      \crefname{subsubsubappendix}{appendix}{appendices}%
      \Crefname{subsubsubappendix}{Appendix}{Appendices}%
      \crefname{figure}{fig.}{figs.}%
      \Crefname{figure}{Figure}{Figures}%
      \crefname{subfigure}{fig.}{figs.}%
      \Crefname{subfigure}{Figure}{Figures}%
      \crefname{table}{table}{tables}%
      \Crefname{table}{Table}{Tables}%
      \crefname{subtable}{table}{tables}%
      \Crefname{subtable}{Table}{Tables}%
      \crefname{theorem}{theorem}{theorems}%
      \Crefname{theorem}{Theorem}{Theorems}%
      \crefname{enumi}{item}{items}%
      \Crefname{enumi}{Item}{Items}%
      \crefname{enumii}{item}{items}%
      \Crefname{enumii}{Item}{Items}%
      \crefname{enumiii}{item}{items}%
      \Crefname{enumiii}{Item}{Items}%
      \crefname{enumiv}{item}{items}%
      \Crefname{enumiv}{Item}{Items}%
      \crefname{enumv}{item}{items}%
      \Crefname{enumv}{Item}{Items}%
      \crefname{lemma}{lemma}{lemmas}%
      \Crefname{lemma}{Lemma}{Lemmas}%
      \crefname{corollary}{corollary}{corollaries}%
      \Crefname{corollary}{Corollary}{Corollaries}%
      \crefname{proposition}{proposition}{propositions}%
      \Crefname{proposition}{Proposition}{Propositions}%
      \crefname{definition}{definition}{definitions}%
      \Crefname{definition}{Definition}{Definitions}%
      \crefname{result}{result}{results}%
      \Crefname{result}{Result}{Results}%
      \crefname{example}{example}{examples}%
      \Crefname{example}{Example}{Examples}%
      \crefname{remark}{remark}{remarks}%
      \Crefname{remark}{Remark}{Remarks}%
      \crefname{note}{note}{notes}%
      \Crefname{note}{Note}{Notes}%
    }}}
\DeclareOption{german}{%
  \PackageInfo{cleveref}{loaded `german' language definitions}
  \AtBeginDocument{%
    \def\crefrangeconjunction@preamble{ bis~}%
    \def\crefrangepreconjunction@preamble{}%
    \def\crefrangepostconjunction@preamble{}%
    \def\crefpairconjunction@preamble{ und~}%
    \def\crefmiddleconjunction@preamble{, }%
    \def\creflastconjunction@preamble{ und~}%
    \def\crefpairgroupconjunction@preamble{ und~}%
    \def\crefmiddlegroupconjunction@preamble{, }%
    \def\creflastgroupconjunction@preamble{ und~}%
    \crefname@preamble{equation}{Gleichung}{Gleichungen}%
    \Crefname@preamble{equation}{Gleichung}{Gleichungen}%
    \crefname@preamble{chapter}{Kapitel}{Kapitel}%
    \Crefname@preamble{chapter}{Kapitel}{Kapitel}%
    \crefname@preamble{section}{Abschnitt}{Abschnitte}%
    \Crefname@preamble{section}{Abschnitt}{Abschnitte}%
    \crefname@preamble{appendix}{Anhang}{Anh\"ange}%
    \Crefname@preamble{appendix}{Anhang}{Anh\"ange}%
    \crefname@preamble{figure}{Abbildung}{Abbildungen}%
    \Crefname@preamble{figure}{Abbildung}{Abbildungen}%
    \crefname@preamble{table}{Tabelle}{Tabellen}%
    \Crefname@preamble{table}{Tabelle}{Tabellen}%
    \crefname@preamble{theorem}{Theorem}{Theoremen}%
    \Crefname@preamble{theorem}{Theorem}{Theoremen}%
    \crefname@preamble{enumi}{Punkt}{Punkte}%
    \Crefname@preamble{enumi}{Punkt}{Punkte}%
    \crefname@preamble{lemma}{Lemma}{Lemmata}%
    \Crefname@preamble{lemma}{Lemma}{Lemmata}%
    \crefname@preamble{corollary}{Korollar}{Korollaren}%
    \Crefname@preamble{corollary}{Korollar}{Korollaren}%
    \crefname@preamble{proposition}{Satz}{S\"atze}%
    \Crefname@preamble{proposition}{Satz}{S\"atze}%
    \crefname@preamble{definition}{Definition}{Definitionen}%
    \Crefname@preamble{definition}{Definition}{Definitionen}%
    \crefname@preamble{result}{Ergebnis}{Ergebnisse}%
    \Crefname@preamble{result}{Ergebnis}{Ergebnisse}%
    \Crefname@preamble{example}{Beispiel}{Beispiele}%
    \Crefname@preamble{example}{Beispiel}{Beispiele}%
    \crefname@preamble{remark}{Bemerkung}{Bemerkungen}%
    \Crefname@preamble{remark}{Bemerkung}{Bemerkungen}%
    \crefname@preamble{note}{Anmerkung}{Anmerkungen}%
    \Crefname@preamble{note}{Anmerkung}{Anmerkungen}%
    \def\cref@language{german}%
    \cref@addto\extrasgerman{%
      \renewcommand{\crefrangeconjunction}{ bis~}%
      \renewcommand\crefrangepreconjunction{}%
      \renewcommand\crefrangepostconjunction{}%
      \renewcommand{\crefpairconjunction}{ und~}%
      \renewcommand{\crefmiddleconjunction}{, }%
      \renewcommand{\creflastconjunction}{ und~}%
      \renewcommand{\crefpairgroupconjunction}{ und~}%
      \renewcommand{\crefmiddlegroupconjunction}{, }%
      \renewcommand{\creflastgroupconjunction}{ und~}%
      \crefname{equation}{Gleichung}{Gleichungen}%
      \Crefname{equation}{Gleichung}{Gleichungen}%
      \crefname{chapter}{Kapitel}{Kapitel}%
      \Crefname{chapter}{Kapitel}{Kapitel}%
      \crefname{section}{Abschnitt}{Abschnitte}%
      \Crefname{section}{Abschnitt}{Abschnitte}%
      \crefname{subsection}{Abschnitt}{Abschnitte}%
      \Crefname{subsection}{Abschnitt}{Abschnitte}%
      \crefname{subsubsection}{Abschnitt}{Abschnitte}%
      \Crefname{subsubsection}{Abschnitt}{Abschnitte}%
      \crefname{appendix}{Anhang}{Anh\"ange}%
      \Crefname{appendix}{Anhang}{Anh\"ange}%
      \crefname{subappendix}{Anhang}{Anh\"ange}%
      \Crefname{subappendix}{Anhang}{Anh\"ange}%
      \crefname{subsubappendix}{Anhang}{Anh\"ange}%
      \Crefname{subsubappendix}{Anhang}{Anh\"ange}%
      \crefname{subsubsubappendix}{Anhang}{Anh\"ange}%
      \Crefname{subsubsubappendix}{Anhang}{Anh\"ange}%
      \crefname{figure}{Abbildung}{Abbildungen}%
      \Crefname{figure}{Abbildung}{Abbildungen}%
      \crefname{subfigure}{Abbildung}{Abbildungen}%
      \Crefname{subfigure}{Abbildung}{Abbildungen}%
      \crefname{table}{Tabelle}{Tabellen}%
      \Crefname{table}{Tabelle}{Tabellen}%
      \crefname{subtable}{Tabelle}{Tabellen}%
      \Crefname{subtable}{Tabelle}{Tabellen}%
      \crefname{theorem}{Theorem}{Theoremen}%
      \Crefname{theorem}{Theorem}{Theoremen}%
      \crefname{enumi}{Punkt}{Punkte}%
      \Crefname{enumi}{Punkt}{Punkte}%
      \crefname{enumii}{Punkt}{Punkte}%
      \Crefname{enumii}{Punkt}{Punkte}%
      \crefname{enumiii}{Punkt}{Punkte}%
      \Crefname{enumiii}{Punkt}{Punkte}%
      \crefname{enumiv}{Punkt}{Punkte}%
      \Crefname{enumiv}{Punkt}{Punkte}%
      \crefname{enumv}{Punkt}{Punkte}%
      \Crefname{enumv}{Punkt}{Punkte}%
      \crefname{lemma}{Lemma}{Lemmata}%
      \Crefname{lemma}{Lemma}{Lemmata}%
      \crefname{corollary}{Korollar}{Korollaren}%
      \Crefname{corollary}{Korollar}{Korollaren}%
      \crefname{proposition}{Satz}{S\"atze}%
      \Crefname{proposition}{Satz}{S\"atze}%
      \crefname{definition}{Definition}{Definitionen}%
      \Crefname{definition}{Definition}{Definitionen}%
      \crefname{result}{Ergebnis}{Ergebnisse}%
      \Crefname{result}{Ergebnis}{Ergebnisse}%
      \crefname{example}{Beispiel}{Beispiele}%
      \Crefname{example}{Beispiel}{Beispiele}%
      \crefname{remark}{Bemerkung}{Bemerkungen}%
      \Crefname{remark}{Bemerkung}{Bemerkungen}%
      \crefname{note}{Anmerkung}{Anmerkungen}%
      \Crefname{note}{Anmerkung}{Anmerkungen}%
    }}}
\DeclareOption{ngerman}{%
  \PackageInfo{cleveref}{loaded `ngerman' language definitions}
  \ExecuteOptions{german}
  \def\cref@language{ngerman}
  \AtBeginDocument{%
    \cref@addto\extrasngerman{%
      \renewcommand{\crefrangeconjunction}{ bis~}%
      \renewcommand\crefrangepreconjunction{}%
      \renewcommand\crefrangepostconjunction{}%
      \renewcommand{\crefpairconjunction}{ und~}%
      \renewcommand{\crefmiddleconjunction}{, }%
      \renewcommand{\creflastconjunction}{ und~}%
      \renewcommand{\crefpairgroupconjunction}{ und~}%
      \renewcommand{\crefmiddlegroupconjunction}{, }%
      \renewcommand{\creflastgroupconjunction}{ und~}%
      \crefname{equation}{Gleichung}{Gleichungen}%
      \Crefname{equation}{Gleichung}{Gleichungen}%
      \crefname{chapter}{Kapitel}{Kapitel}%
      \Crefname{chapter}{Kapitel}{Kapitel}%
      \crefname{section}{Abschnitt}{Abschnitte}%
      \Crefname{section}{Abschnitt}{Abschnitte}%
      \crefname{subsection}{Abschnitt}{Abschnitte}%
      \Crefname{subsection}{Abschnitt}{Abschnitte}%
      \crefname{subsubsection}{Abschnitt}{Abschnitte}%
      \Crefname{subsubsection}{Abschnitt}{Abschnitte}%
      \crefname{appendix}{Anhang}{Anh\"ange}%
      \Crefname{appendix}{Anhang}{Anh\"ange}%
      \crefname{subappendix}{Anhang}{Anh\"ange}%
      \Crefname{subappendix}{Anhang}{Anh\"ange}%
      \crefname{subsubappendix}{Anhang}{Anh\"ange}%
      \Crefname{subsubappendix}{Anhang}{Anh\"ange}%
      \crefname{subsubsubappendix}{Anhang}{Anh\"ange}%
      \Crefname{subsubsubappendix}{Anhang}{Anh\"ange}%
      \crefname{figure}{Abbildung}{Abbildungen}%
      \Crefname{figure}{Abbildung}{Abbildungen}%
      \crefname{subfigure}{Abbildung}{Abbildungen}%
      \Crefname{subfigure}{Abbildung}{Abbildungen}%
      \crefname{table}{Tabelle}{Tabellen}%
      \Crefname{table}{Tabelle}{Tabellen}%
      \crefname{subtable}{Tabelle}{Tabellen}%
      \Crefname{subtable}{Tabelle}{Tabellen}%
      \crefname{theorem}{Theorem}{Theoremen}%
      \Crefname{theorem}{Theorem}{Theoremen}%
      \crefname{enumi}{Punkt}{Punkte}%
      \Crefname{enumi}{Punkt}{Punkte}%
      \crefname{enumii}{Punkt}{Punkte}%
      \Crefname{enumii}{Punkt}{Punkte}%
      \crefname{enumiii}{Punkt}{Punkte}%
      \Crefname{enumiii}{Punkt}{Punkte}%
      \crefname{enumiv}{Punkt}{Punkte}%
      \Crefname{enumiv}{Punkt}{Punkte}%
      \crefname{enumv}{Punkt}{Punkte}%
      \Crefname{enumv}{Punkt}{Punkte}%
      \crefname{lemma}{Lemma}{Lemmata}%
      \Crefname{lemma}{Lemma}{Lemmata}%
      \crefname{corollary}{Korollar}{Korollaren}%
      \Crefname{corollary}{Korollar}{Korollaren}%
      \crefname{proposition}{Satz}{S\"atze}%
      \Crefname{proposition}{Satz}{S\"atze}%
      \crefname{definition}{Definition}{Definitionen}%
      \Crefname{definition}{Definition}{Definitionen}%
      \crefname{result}{Ergebnis}{Ergebnisse}%
      \Crefname{result}{Ergebnis}{Ergebnisse}%
      \crefname{example}{Beispiel}{Beispiele}%
      \Crefname{example}{Beispiel}{Beispiele}%
      \crefname{remark}{Bemerkung}{Bemerkungen}%
      \Crefname{remark}{Bemerkung}{Bemerkungen}%
      \crefname{note}{Anmerkung}{Anmerkungen}%
      \Crefname{note}{Anmerkung}{Anmerkungen}%
    }}}
\DeclareOption{french}{%
  \PackageInfo{cleveref}{loaded `french' language definitions}
  \AtBeginDocument{%
    \def\crefrangeconjunction@preamble{ \`a~}%
    \def\crefrangepreconjunction@preamble{}%
    \def\crefrangepostconjunction@preamble{}%
    \def\crefpairconjunction@preamble{ et~}%
    \def\crefmiddleconjunction@preamble{, }%
    \def\creflastconjunction@preamble{ et~}%
    \def\crefpairgroupconjunction@preamble{ et~}%
    \def\crefmiddlegroupconjunction@preamble{, }%
    \def\creflastgroupconjunction@preamble{, et~}%
    \crefname@preamble{equation}{{\'e}quation}{{\'e}quations}%
    \Crefname@preamble{equation}{{\'E}quation}{{\'E}quations}%
    \crefname@preamble{chapter}{chapitre}{chapitres}%
    \Crefname@preamble{chapter}{Chapitre}{Chapitres}%
    \crefname@preamble{section}{section}{sections}%
    \Crefname@preamble{section}{Section}{Sections}%
    \crefname@preamble{appendix}{appendice}{appendices}%
    \Crefname@preamble{appendix}{Appendice}{Appendices}%
    \crefname@preamble{figure}{figure}{figures}%
    \Crefname@preamble{figure}{Figure}{Figures}%
    \crefname@preamble{table}{tableau}{tableaux}%
    \Crefname@preamble{table}{Tableau}{Tableaux}%
    \crefname@preamble{theorem}{th\'eor\`eme}{th\'eor\`emes}%
    \Crefname@preamble{theorem}{Th\'eor\`eme}{Th\'eor\`emes}%
    \crefname@preamble{enumi}{point}{points}%
    \Crefname@preamble{enumi}{Point}{Points}%
    \crefname@preamble{lemma}{lemme}{lemmes}%
    \Crefname@preamble{lemma}{Lemme}{Lemmes}%
    \crefname@preamble{corollary}{corollaire}{corollaires}%
    \Crefname@preamble{corollary}{Corollaire}{Corollaires}%
    \crefname@preamble{proposition}{proposition}{propositions}%
    \Crefname@preamble{proposition}{Proposition}{Propositions}%
    \crefname@preamble{definition}{d\'efinition}{d\'efinitions}%
    \Crefname@preamble{definition}{D\'efinition}{D\'efinitions}%
    \crefname@preamble{result}{r\'esultat}{r\'esultats}%
    \Crefname@preamble{result}{R\'esultat}{R\'esultats}%
    \crefname@preamble{example}{exemple}{exemples}%
    \Crefname@preamble{example}{Exemple}{Exemples}%
    \crefname@preamble{remark}{remarque}{remarques}%
    \Crefname@preamble{remark}{Remarque}{Remarques}%
    \crefname@preamble{note}{commentaire}{commentaires}%
    \Crefname@preamble{note}{Commentaire}{Commentaires}%
    \def\cref@language{french}%
    \cref@addto\extrasfrench{%
      \renewcommand{\crefrangeconjunction}{ \`a~}%
      \renewcommand\crefrangepreconjunction{}%
      \renewcommand\crefrangepostconjunction{}%
      \renewcommand{\crefpairconjunction}{ et~}%
      \renewcommand{\crefmiddleconjunction}{, }%
      \renewcommand{\creflastconjunction}{ et~}%
      \renewcommand{\crefpairgroupconjunction}{ et~}%
      \renewcommand{\crefmiddlegroupconjunction}{, }%
      \renewcommand{\creflastgroupconjunction}{ et~}%
      \crefname{equation}{{\'e}quation}{{\'e}quations}%
      \Crefname{equation}{{\'E}quation}{{\'E}quations}%
      \crefname{chapter}{chapitre}{chapitres}%
      \Crefname{chapter}{Chapitre}{Chapitres}%
      \crefname{section}{section}{sections}%
      \Crefname{section}{Section}{Sections}%
      \crefname{subsection}{section}{sections}%
      \Crefname{subsection}{Section}{Sections}%
      \crefname{subsubsection}{section}{sections}%
      \Crefname{subsubsection}{Section}{Sections}%
      \crefname{appendix}{appendice}{appendices}%
      \Crefname{appendix}{Appendice}{Appendices}%
      \crefname{subappendix}{appendice}{appendices}%
      \Crefname{subappendix}{Appendice}{Appendices}%
      \crefname{subsubappendix}{appendice}{appendices}%
      \Crefname{subsubappendix}{Appendice}{Appendices}%
      \crefname{subsubsubappendix}{appendice}{appendices}%
      \Crefname{subsubsubappendix}{Appendice}{Appendices}%
      \crefname{figure}{figure}{figures}%
      \Crefname{figure}{Figure}{Figures}%
      \crefname{subfigure}{figure}{figures}%
      \Crefname{subfigure}{Figure}{Figures}%
      \crefname{table}{tableau}{tableaux}%
      \Crefname{table}{Tableau}{Tableaux}%
      \crefname{subtable}{tableau}{tableaux}%
      \Crefname{subtable}{Tableau}{Tableaux}%
      \crefname{theorem}{th\'eor\`eme}{th\'eor\`emes}%
      \Crefname{theorem}{Th\'eor\`eme}{Th\'eor\`emes}%
      \crefname{enumi}{point}{points}%
      \Crefname{enumi}{Point}{Points}%
      \crefname{enumii}{point}{points}%
      \Crefname{enumii}{Point}{Points}%
      \crefname{enumiii}{point}{points}%
      \Crefname{enumiii}{Point}{Points}%
      \crefname{enumiv}{point}{points}%
      \Crefname{enumiv}{Point}{Points}%
      \crefname{enumv}{point}{points}%
      \Crefname{enumv}{Point}{Points}%
      \crefname{lemma}{lemme}{lemmes}%
      \Crefname{lemma}{Lemme}{Lemmes}%
      \crefname{corollary}{corollaire}{corollaires}%
      \Crefname{corollary}{Corollaire}{Corollaires}%
      \crefname{proposition}{proposition}{propositions}%
      \Crefname{proposition}{Proposition}{Propositions}%
      \crefname{definition}{d\'efinition}{d\'efinitions}%
      \Crefname{definition}{D\'efinition}{D\'efinitions}%
      \crefname{result}{r\'esultat}{r\'esultats}%
      \Crefname{result}{R\'esultat}{R\'esultats}%
      \crefname{example}{exemple}{exemples}%
      \Crefname{example}{Exemple}{Exemples}%
      \crefname{remark}{remarque}{remarques}%
      \Crefname{remark}{Remarque}{Remarques}%
      \crefname{note}{commentaire}{commentaires}%
      \Crefname{note}{Commentaire}{Commentaires}%
    }}}
\DeclareOption{spanish}{%
  \PackageInfo{cleveref}{loaded `spanish' language definitions}
  \AtBeginDocument{%
    \def\crefrangeconjunction@preamble{ a~}%
    \def\crefrangepreconjunction@preamble{}%
    \def\crefrangepostconjunction@preamble{}%
    \def\crefpairconjunction@preamble{ y~}%
    \def\crefmiddleconjunction@preamble{, }%
    \def\creflastconjunction@preamble{ y~}%
    \def\crefpairgroupconjunction@preamble{ y~}%
    \def\crefmiddlegroupconjunction@preamble{, }%
    \def\creflastgroupconjunction@preamble{ y~}%
    \crefname@preamble{equation}{ecuaci\'on}{ecuaciones}%
    \Crefname@preamble{equation}{Ecuaci\'on}{Ecuaciones}%
    \crefname@preamble{chapter}{cap\'itulo}{cap\'itulos}%
    \Crefname@preamble{chapter}{Cap\'itulo}{Cap\'itulos}%
    \crefname@preamble{section}{secci\'on}{secciones}%
    \Crefname@preamble{section}{Secci\'on}{Secciones}%
    \crefname@preamble{appendix}{ap\'endice}{ap\'endices}%
    \Crefname@preamble{appendix}{Ap\'endice}{Ap\'endices}%
    \crefname@preamble{figure}{figura}{figuras}%
    \Crefname@preamble{figure}{Figura}{Figuras}%
    \crefname@preamble{table}{cuadro}{cuadros}%
    \Crefname@preamble{table}{Cuadro}{Cuadros}%
    \crefname@preamble{theorem}{teorema}{teoremas}%
    \Crefname@preamble{theorem}{Teorema}{Teoremas}%
    \crefname@preamble{enumi}{punto}{puntos}%
    \Crefname@preamble{enumi}{Punto}{Puntos}%
    \crefname@preamble{lemma}{lema}{lemas}%
    \Crefname@preamble{lemma}{Lema}{Lemas}%
    \crefname@preamble{corollary}{corolario}{corolarios}%
    \Crefname@preamble{corollary}{Corolario}{Corolarios}%
    \crefname@preamble{proposition}{proposici\'on}{proposiciones}%
    \Crefname@preamble{proposition}{Proposici\'on}{Proposiciones}%
    \crefname@preamble{definition}{definici\'on}{definiciones}%
    \Crefname@preamble{definition}{Definici\'on}{Definiciones}%
    \crefname@preamble{result}{resultado}{resultados}%
    \Crefname@preamble{result}{Resultado}{Resultados}%
    \crefname@preamble{example}{ejemplo}{ejemplos}%
    \Crefname@preamble{example}{Ejemplo}{Ejemplos}%
    \crefname@preamble{remark}{observaci\'on}{observaciones}%
    \Crefname@preamble{remark}{Observaci\'on}{Observaciones}%
    \crefname@preamble{note}{nota}{notas}%
    \Crefname@preamble{note}{Nota}{Notas}%
    \def\cref@language{spanish}%
    \cref@addto\extrasspanish{%
      \renewcommand{\crefrangeconjunction}{ a~}%
      \renewcommand{\crefrangepreconjunction}{}%
      \renewcommand{\crefrangepostconjunction}{}%
      \renewcommand{\crefpairconjunction}{ y~}%
      \renewcommand{\crefmiddleconjunction}{, }%
      \renewcommand{\creflastconjunction}{ y~}%
      \renewcommand{\crefpairgroupconjunction}{ y~}%
      \renewcommand{\crefmiddlegroupconjunction}{, }%
      \renewcommand{\creflastgroupconjunction}{ y~}%
      \crefname{equation}{ecuaci\'on}{ecuaciones}%
      \Crefname{equation}{Ecuaci\'on}{Ecuaciones}%
      \crefname{chapter}{cap\'itulo}{cap\'itulos}%
      \Crefname{chapter}{Cap\'itulo}{Cap\'itulos}%
      \crefname{section}{secci\'on}{secciones}%
      \Crefname{section}{Secci\'on}{Secciones}%
      \crefname{subsection}{secci\'on}{secciones}%
      \Crefname{subsection}{Secci\'on}{Secciones}%
      \crefname{subsubsection}{secci\'on}{secciones}%
      \Crefname{subsubsection}{Secci\'on}{Secciones}%
      \crefname{appendix}{ap\'endice}{ap\'endices}%
      \Crefname{appendix}{Ap\'endice}{Ap\'endices}%
      \crefname{subappendix}{ap\'endice}{ap\'endices}%
      \Crefname{subappendix}{Ap\'endice}{Ap\'endices}%
      \crefname{subsubappendix}{ap\'endice}{ap\'endices}%
      \Crefname{subsubappendix}{Ap\'endice}{Ap\'endices}%
      \crefname{subsubsubappendix}{ap\'endice}{ap\'endices}%
      \Crefname{subsubsubappendix}{Ap\'endice}{Ap\'endices}%
      \crefname{figure}{figura}{figuras}%
      \Crefname{figure}{Figura}{Figuras}%
      \crefname{subfigure}{figura}{figuras}%
      \Crefname{subfigure}{Figura}{Figuras}%
      \crefname{table}{cuadro}{cuadros}%
      \Crefname{table}{Cuadro}{Cuadros}%
      \crefname{subtable}{cuadro}{cuadros}%
      \Crefname{subtable}{Cuadro}{Cuadros}%
      \crefname{theorem}{teorema}{teoremas}%
      \Crefname{theorem}{Teorema}{Teoremas}%
      \crefname{enumi}{punto}{puntos}%
      \Crefname{enumi}{Punto}{Puntos}%
      \crefname{enumii}{punto}{puntos}%
      \Crefname{enumii}{Punto}{Puntos}%
      \crefname{enumiii}{punto}{puntos}%
      \Crefname{enumiii}{Punto}{Puntos}%
      \crefname{enumiv}{punto}{puntos}%
      \Crefname{enumiv}{Punto}{Puntos}%
      \crefname{enumv}{punto}{puntos}%
      \Crefname{enumv}{Punto}{Puntos}%
      \crefname{lemma}{lema}{lemas}%
      \Crefname{lemma}{Lema}{Lemas}%
      \crefname{corollary}{corolario}{corolarios}%
      \Crefname{corollary}{Corolario}{Corolarios}%
      \crefname{proposition}{proposici\'on}{proposiciones}%
      \Crefname{proposition}{Proposici\'on}{Proposiciones}%
      \crefname{definition}{definici\'on}{definiciones}%
      \Crefname{definition}{Definici\'on}{Definiciones}%
      \crefname{result}{resultado}{resultados}%
      \Crefname{result}{Resultado}{Resultados}%
      \crefname{example}{ejemplo}{ejemplos}%
      \Crefname{example}{Ejemplo}{Ejemplos}%
      \crefname{remark}{observaci\'on}{observaci\'ones}%
      \Crefname{remark}{Observaci\'on}{Observaci\'on}%
      \crefname{note}{nota}{notas}%
      \Crefname{note}{Nota}{Notas}%
    }}}
\DeclareOption{italian}{%
  \PackageInfo{cleveref}{loaded `italian' language definitions}
  \AtBeginDocument{%
    \def\crefrangeconjunction@preamble{ a~}%
    \def\crefrangepreconjunction@preamble{da~}%
    \def\crefrangepostconjunction@preamble{}%
    \def\crefpairconjunction@preamble{ e~}%
    \def\crefmiddleconjunction@preamble{, }%
    \def\creflastconjunction@preamble{ e~}%
    \def\crefpairgroupconjunction@preamble{ e~}%
    \def\crefmiddlegroupconjunction@preamble{, }%
    \def\creflastgroupconjunction@preamble{ e~}%
    \crefname@preamble{equation}{eq.}{eq.}%
    \Crefname@preamble{equation}{Equazione}{Equazioni}%
    \crefname@preamble{chapter}{capitolo}{capitoli}%
    \Crefname@preamble{chapter}{Capitolo}{Capitoli}%
    \crefname@preamble{section}{sezione}{sezioni}%
    \Crefname@preamble{section}{Sezione}{Sezioni}%
    \crefname@preamble{appendix}{appendice}{appendici}%
    \Crefname@preamble{appendix}{Appendice}{Appendici}%
    \crefname@preamble{figure}{fig.}{fig.}%
    \Crefname@preamble{figure}{Figura}{Figure}%
    \crefname@preamble{table}{tabella}{tabelle}%
    \Crefname@preamble{table}{Tabella}{Tabelle}%
    \crefname@preamble{theorem}{teorema}{teoremi}%
    \Crefname@preamble{theorem}{Teorema}{Teoremi}%
    \crefname@preamble{enumi}{voce}{voci}%
    \Crefname@preamble{enumi}{Voce}{Voci}%
    \crefname@preamble{lemma}{lemma}{lemmi}%
    \Crefname@preamble{lemma}{Lemma}{Lemmi}%
    \crefname@preamble{corollary}{corollario}{corollari}%
    \Crefname@preamble{corollary}{Corollario}{Corollari}%
    \crefname@preamble{proposition}{proposizione}{proposizioni}%
    \Crefname@preamble{proposition}{Proposizione}{Proposizioni}%
    \crefname@preamble{definition}{definizione}{definizioni}%
    \Crefname@preamble{definition}{Definizioni}{Definizioni}%
    \crefname@preamble{result}{risultato}{risultati}%
    \Crefname@preamble{result}{Risultato}{Risultati}%
    \crefname@preamble{example}{esempio}{esempi}%
    \Crefname@preamble{example}{esempio}{esempi}%
    \crefname@preamble{remark}{osservazione}{osservazioni}%
    \Crefname@preamble{remark}{Osservazione}{Osservazioni}%
    \crefname@preamble{note}{nota}{note}%
    \Crefname@preamble{note}{Nota}{Note}%
    \def\cref@language{italiano}%
    \cref@addto\extrasenglish{%
      \renewcommand{\crefrangeconjunction}{ a~}%
      \renewcommand\crefrangepreconjunction{da~}%
      \renewcommand\crefrangepostconjunction{}%
      \renewcommand{\crefpairconjunction}{ e~}%
      \renewcommand{\crefmiddleconjunction}{, }%
      \renewcommand{\creflastconjunction}{ e~}%
      \renewcommand{\crefpairgroupconjunction}{ e~}%
      \renewcommand{\crefmiddlegroupconjunction}{, }%
      \renewcommand{\creflastgroupconjunction}{ e~}%
      \crefname{equation}{eq.}{eq.}%
      \Crefname{equation}{Equazione}{Equazioni}%
      \crefname{chapter}{capitolo}{capitoli}%
      \Crefname{chapter}{Capitolo}{Capitoli}%
      \crefname{section}{sezione}{sezioni}%
      \Crefname{section}{Sezione}{Sezioni}%
      \crefname{subsection}{sezione}{sezioni}%
      \Crefname{subsection}{Sezione}{Sezioni}%
      \crefname{subsubsection}{sezione}{sezioni}%
      \Crefname{subsubsection}{Sezione}{Sezioni}%
      \crefname{appendix}{appendice}{appendici}%
      \Crefname{appendix}{Appendice}{Appendici}%
      \crefname{subappendix}{appendice}{appendici}%
      \Crefname{subappendix}{Appendice}{Appendici}%
      \crefname{subsubappendix}{appendice}{appendici}%
      \Crefname{subsubappendix}{Appendice}{Appendici}%
      \crefname{subsubsubappendix}{appendice}{appendici}%
      \Crefname{subsubsubappendix}{Appendice}{Appendici}%
      \crefname{figure}{fig.}{fig.}%
      \Crefname{figure}{Figura}{Figure}%
      \crefname{subfigure}{fig.}{fig.}%
      \Crefname{subfigure}{Figura}{Figure}%
      \crefname{table}{tabella}{tabelle}%
      \Crefname{table}{Tabella}{Tabelle}%
      \crefname{subtable}{tabella}{tabelle}%
      \Crefname{subtable}{Tabella}{Tabelle}%
      \crefname{theorem}{teorema}{teoremi}%
      \Crefname{theorem}{Teorema}{Teoremi}%
      \crefname{enumi}{voce}{voci}%
      \Crefname{enumi}{Voce}{Voci}%
      \crefname{enumii}{voce}{voci}%
      \Crefname{enumii}{Voce}{Voci}%
      \crefname{enumiii}{voce}{voci}%
      \Crefname{enumiii}{Voce}{Voci}%
      \crefname{enumiv}{voce}{voci}%
      \Crefname{enumiv}{Voce}{Voci}%
      \crefname{enumv}{voce}{voci}%
      \Crefname{enumv}{Voce}{Voci}%
      \crefname{lemma}{lemma}{lemmi}%
      \Crefname{lemma}{Lemma}{Lemmi}%
      \crefname{corollary}{corollario}{corollari}%
      \Crefname{corollary}{Corollario}{Corollari}%
      \crefname{proposition}{proposizione}{proposizioni}%
      \Crefname{proposition}{Proposizione}{Proposizioni}%
      \crefname{definition}{definizione}{definizione}%
      \Crefname{definition}{Definizione}{Definizione}%
      \crefname{result}{risultato}{risultati}%
      \Crefname{result}{Risultato}{Risultati}%
      \crefname{example}{esempio}{esempi}%
      \Crefname{example}{esempio}{esempi}%
      \crefname{remark}{osservazione}{osservazioni}%
      \Crefname{remark}{Osservazione}{Osservazioni}%
      \crefname{note}{nota}{note}%
      \Crefname{note}{Nota}{Note}%
    }}}
\ExecuteOptions{english}
\ProcessOptions*\relax
\AtBeginDocument{%
  \edef\@tmpa{%
    \expandafter\noexpand\csname extras\cref@language\endcsname}%
  \@ifundefined{crefrangeconjunction}{%
    \let\crefrangeconjunction\crefrangeconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\crefrangeconjunction\expandafter}%
      \expandafter{\crefrangeconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
  }%
  \@ifundefined{crefrangepreconjunction}{%
    \let\crefrangepreconjunction\crefrangepreconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\crefrangepreconjunction\expandafter}%
      \expandafter{\crefrangepreconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
  }%
  \@ifundefined{crefrangepostconjunction}{%
    \let\crefrangepostconjunction\crefrangepostconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\crefrangepostconjunction\expandafter}%
      \expandafter{\crefrangepostconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
  }%
  \@ifundefined{crefpairconjunction}{%
    \let\crefpairconjunction\crefpairconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\crefpairconjunction\expandafter}%
      \expandafter{\crefpairconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
  }%
  \@ifundefined{crefmiddleconjunction}{%
    \let\crefmiddleconjunction\crefmiddleconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\crefmiddleconjunction\expandafter}%
      \expandafter{\crefmiddleconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
  }%
  \@ifundefined{creflastconjunction}{%
    \let\creflastconjunction\creflastconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\creflastconjunction\expandafter}%
      \expandafter{\creflastconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
  }%
  \@ifundefined{crefpairgroupconjunction}{%
    \let\crefpairgroupconjunction%
      \crefpairgroupconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\crefpairgroupconjunction\expandafter}%
      \expandafter{\crefpairgroupconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
  }%
  \@ifundefined{crefmiddlegroupconjunction}{%
    \let\crefmiddlegroupconjunction%
      \crefmiddlegroupconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\crefpairmiddleconjunction\expandafter}%
      \expandafter{\crefpairmiddleconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
  }%
  \@ifundefined{creflastgroupconjunction}{%
    \let\creflastgroupconjunction%
      \creflastgroupconjunction@preamble%
  }{%
    \expandafter\def\expandafter\@tmpb\expandafter{%
      \expandafter\renewcommand\expandafter%
      {\expandafter\crefpairlastconjunction\expandafter}%
      \expandafter{\crefpairlastconjunction}}%
    \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\@tmpa\expandafter{\@tmpb}%
  }%
  \@ifundefined{crefpairgroupconjunction}{%
    \let\crefpairgroupconjunction\crefpairconjunction}{}%
  \@ifundefined{crefmiddlegroupconjunction}{%
    \let\crefmiddlegroupconjunction\crefmiddleconjunction}{}%
  \@ifundefined{creflastgroupconjunction}{%
    \edef\creflastgroupconjunction{, \creflastconjunction}}{}%
  \let\@tmpstack\cref@label@types%
  \cref@isstackfull{\@tmpstack}%
  \@whilesw\if@cref@stackfull\fi{%
    \edef\@tmpa{\cref@stack@top{\@tmpstack}}%
    \@ifundefined{cref@\@tmpa @name}{%
      \expandafter\def\expandafter\@tmpb\expandafter{%
        \csname cref@\@tmpa @name\endcsname}%
      \expandafter\def\expandafter\@tmpc\expandafter{%
        \csname cref@\@tmpa @name@preamble\endcsname}%
      \expandafter\expandafter\expandafter\let\expandafter\@tmpb\@tmpc%
      \expandafter\def\expandafter\@tmpb\expandafter{%
        \csname cref@\@tmpa @name@plural\endcsname}%
      \expandafter\def\expandafter\@tmpc\expandafter{%
        \csname cref@\@tmpa @name@plural@preamble\endcsname}%
      \expandafter\expandafter\expandafter\let\expandafter\@tmpb\@tmpc
    }{%
      \edef\@tmpb{%
        \expandafter\noexpand\csname extras\cref@language\endcsname}%
      \expandafter\def\expandafter\@tmpc\expandafter{%
        \expandafter\crefname\expandafter{\@tmpa}}%
      \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\expandafter\expandafter\@tmpc%
      \expandafter\expandafter\expandafter{%
        \expandafter\expandafter\expandafter{%
          \csname cref@\@tmpa @name\endcsname}}%
      \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\expandafter\expandafter\@tmpc%
      \expandafter\expandafter\expandafter{%
        \expandafter\expandafter\expandafter{%
          \csname cref@\@tmpa @name@plural\endcsname}}%
      \expandafter\expandafter\expandafter\cref@addto%
        \expandafter\@tmpb\expandafter{\@tmpc}%
    }%
    \@ifundefined{Cref@\@tmpa @name}{%
      \expandafter\def\expandafter\@tmpb\expandafter{%
        \csname Cref@\@tmpa @name\endcsname}%
      \expandafter\def\expandafter\@tmpc\expandafter{%
        \csname Cref@\@tmpa @name@preamble\endcsname}%
      \expandafter\expandafter\expandafter\let\expandafter\@tmpb\@tmpc%
      \expandafter\def\expandafter\@tmpb\expandafter{%
        \csname Cref@\@tmpa @name@plural\endcsname}%
      \expandafter\def\expandafter\@tmpc\expandafter{%
        \csname Cref@\@tmpa @name@plural@preamble\endcsname}%
      \expandafter\expandafter\expandafter\let\expandafter\@tmpb\@tmpc
    }{%
      \edef\@tmpb{%
        \expandafter\noexpand\csname extras\cref@language\endcsname}%
      \expandafter\def\expandafter\@tmpc\expandafter{%
        \expandafter\Crefname\expandafter{\@tmpa}}%
      \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\expandafter\expandafter\@tmpc%
      \expandafter\expandafter\expandafter{%
        \expandafter\expandafter\expandafter{%
          \csname Cref@\@tmpa @name\endcsname}}%
      \expandafter\expandafter\expandafter\cref@addto%
      \expandafter\expandafter\expandafter\@tmpc%
      \expandafter\expandafter\expandafter{%
        \expandafter\expandafter\expandafter{%
          \csname Cref@\@tmpa @name@plural\endcsname}}%
      \expandafter\expandafter\expandafter\cref@addto%
        \expandafter\@tmpb\expandafter{\@tmpc}%
    }%
    \@ifundefined{cref@\@tmpa @format}{%
      \expandafter\@crefdefineformat\expandafter{\@tmpa}}{}%
    \@ifundefined{crefrange@\@tmpa @format}{%
      \expandafter\@crefrangedefineformat\expandafter{\@tmpa}}{}%
    \@ifundefined{cref@\@tmpa @format@first}{%
      \expandafter\@crefdefinemultiformat\expandafter{\@tmpa}}{}%
    \@ifundefined{crefrange@\@tmpa @format@first}{%
      \expandafter\@crefrangedefinemultiformat\expandafter{\@tmpa}}{}%
    \cref@stack@pop{\@tmpstack}%
    \cref@isstackfull{\@tmpstack}}%
    \@ifundefined{cref@subsection@format}{%
      \let\cref@subsection@format%
      \cref@section@format}{}%
    \@ifundefined{Cref@subsection@format}{%
      \let\Cref@subsection@format%
      \Cref@section@format}{}%
    \@ifundefined{crefrange@subsection@format}{%
      \let\crefrange@subsection@format%
      \crefrange@section@format}{}%
    \@ifundefined{Crefrange@subsection@format}{%
      \let\Crefrange@subsection@format%
      \Crefrange@section@format}{}%
    \@ifundefined{cref@subsection@format@first}{%
      \let\cref@subsection@format@first%
      \cref@section@format@first}{}%
    \@ifundefined{Cref@subsection@format@first}{%
      \let\Cref@subsection@format@first%
      \Cref@section@format@first}{}%
    \@ifundefined{cref@subsection@format@second}{%
      \let\cref@subsection@format@second%
      \cref@section@format@second}{}%
    \@ifundefined{Cref@subsection@format@second}{%
      \let\Cref@subsection@format@second%
      \Cref@section@format@second}{}%
    \@ifundefined{cref@subsection@format@middle}{%
      \let\cref@subsection@format@middle%
      \cref@section@format@middle}{}%
    \@ifundefined{Cref@subsection@format@middle}{%
      \let\Cref@subsection@format@middle%
      \Cref@section@format@middle}{}%
    \@ifundefined{cref@subsection@format@last}{%
      \let\cref@subsection@format@last%
      \cref@section@format@last}{}%
    \@ifundefined{Cref@subsection@format@last}{%
      \let\Cref@subsection@format@last%
      \Cref@section@format@last}{}%
    \@ifundefined{crefrange@subsection@format@first}{%
      \let\crefrange@subsection@format@first%
      \crefrange@section@format@first}{}%
    \@ifundefined{Crefrange@subsection@format@first}{%
      \let\Crefrange@subsection@format@first%
      \Crefrange@section@format@first}{}%
    \@ifundefined{crefrange@subsection@format@second}{%
      \let\crefrange@subsection@format@second%
      \crefrange@section@format@second}{}%
    \@ifundefined{Crefrange@subsection@format@second}{%
      \let\Crefrange@subsection@format@second%
      \Crefrange@section@format@second}{}%
    \@ifundefined{crefrange@subsection@format@middle}{%
      \let\crefrange@subsection@format@middle%
      \crefrange@section@format@middle}{}%
    \@ifundefined{Crefrange@subsection@format@middle}{%
      \let\Crefrange@subsection@format@middle%
      \Crefrange@section@format@middle}{}%
    \@ifundefined{crefrange@subsection@format@last}{%
      \let\crefrange@subsection@format@last%
      \crefrange@section@format@last}{}%
    \@ifundefined{Crefrange@subsection@format@last}{%
      \let\Crefrange@subsection@format@last%
      \Crefrange@section@format@last}{}%
    \@ifundefined{cref@subsubsection@format}{%
      \let\cref@subsubsection@format%
      \cref@subsection@format}{}%
    \@ifundefined{Cref@subsubsection@format}{%
      \let\Cref@subsubsection@format%
      \Cref@subsection@format}{}%
    \@ifundefined{crefrange@subsubsection@format}{%
      \let\crefrange@subsubsection@format%
      \crefrange@subsection@format}{}%
    \@ifundefined{Crefrange@subsubsection@format}{%
      \let\Crefrange@subsubsection@format%
      \Crefrange@subsection@format}{}%
    \@ifundefined{cref@subsubsection@format@first}{%
      \let\cref@subsubsection@format@first%
      \cref@subsection@format@first}{}%
    \@ifundefined{Cref@subsubsection@format@first}{%
      \let\Cref@subsubsection@format@first%
      \Cref@subsection@format@first}{}%
    \@ifundefined{cref@subsubsection@format@second}{%
      \let\cref@subsubsection@format@second%
      \cref@subsection@format@second}{}%
    \@ifundefined{Cref@subsubsection@format@second}{%
      \let\Cref@subsubsection@format@second%
      \Cref@subsection@format@second}{}%
    \@ifundefined{cref@subsubsection@format@middle}{%
      \let\cref@subsubsection@format@middle%
      \cref@subsection@format@middle}{}%
    \@ifundefined{Cref@subsubsection@format@middle}{%
      \let\Cref@subsubsection@format@middle%
      \Cref@subsection@format@middle}{}%
    \@ifundefined{cref@subsubsection@format@last}{%
      \let\cref@subsubsection@format@last%
      \cref@subsection@format@last}{}%
    \@ifundefined{Cref@subsubsection@format@last}{%
      \let\Cref@subsubsection@format@last%
      \Cref@subsection@format@last}{}%
    \@ifundefined{crefrange@subsubsection@format@first}{%
      \let\crefrange@subsubsection@format@first%
      \crefrange@subsection@format@first}{}%
    \@ifundefined{Crefrange@subsubsection@format@first}{%
      \let\Crefrange@subsubsection@format@first%
      \Crefrange@subsection@format@first}{}%
    \@ifundefined{crefrange@subsubsection@format@second}{%
      \let\crefrange@subsubsection@format@second%
      \crefrange@subsection@format@second}{}%
    \@ifundefined{Crefrange@subsubsection@format@second}{%
      \let\Crefrange@subsubsection@format@second%
      \Crefrange@subsection@format@second}{}%
    \@ifundefined{crefrange@subsubsection@format@middle}{%
      \let\crefrange@subsubsection@format@middle%
      \crefrange@subsection@format@middle}{}%
    \@ifundefined{Crefrange@subsubsection@format@middle}{%
      \let\Crefrange@subsubsection@format@middle%
      \Crefrange@subsection@format@middle}{}%
    \@ifundefined{crefrange@subsubsection@format@last}{%
      \let\crefrange@subsubsection@format@last%
      \crefrange@subsection@format@last}{}%
    \@ifundefined{Crefrange@subsubsection@format@last}{%
      \let\Crefrange@subsubsection@format@last%
      \Crefrange@subsection@format@last}{}%
    \@ifundefined{cref@subappendix@format}{%
      \let\cref@subappendix@format%
      \cref@appendix@format}{}%
    \@ifundefined{Cref@subappendix@format}{%
      \let\Cref@subappendix@format%
      \Cref@appendix@format}{}%
    \@ifundefined{crefrange@subappendix@format}{%
      \let\crefrange@subappendix@format%
      \crefrange@appendix@format}{}%
    \@ifundefined{Crefrange@subappendix@format}{%
      \let\Crefrange@subappendix@format%
      \Crefrange@appendix@format}{}%
    \@ifundefined{cref@subappendix@format@first}{%
      \let\cref@subappendix@format@first%
      \cref@appendix@format@first}{}%
    \@ifundefined{Cref@subappendix@format@first}{%
      \let\Cref@subappendix@format@first%
      \Cref@appendix@format@first}{}%
    \@ifundefined{cref@subappendix@format@second}{%
      \let\cref@subappendix@format@second%
      \cref@appendix@format@second}{}%
    \@ifundefined{Cref@subappendix@format@second}{%
      \let\Cref@subappendix@format@second%
      \Cref@appendix@format@second}{}%
    \@ifundefined{cref@subappendix@format@middle}{%
      \let\cref@subappendix@format@middle%
      \cref@appendix@format@middle}{}%
    \@ifundefined{Cref@subappendix@format@middle}{%
      \let\Cref@subappendix@format@middle%
      \Cref@appendix@format@middle}{}%
    \@ifundefined{cref@subappendix@format@last}{%
      \let\cref@subappendix@format@last%
      \cref@appendix@format@last}{}%
    \@ifundefined{Cref@subappendix@format@last}{%
      \let\Cref@subappendix@format@last%
      \Cref@appendix@format@last}{}%
    \@ifundefined{crefrange@subappendix@format@first}{%
      \let\crefrange@subappendix@format@first%
      \crefrange@appendix@format@first}{}%
    \@ifundefined{Crefrange@subappendix@format@first}{%
      \let\Crefrange@subappendix@format@first%
      \Crefrange@appendix@format@first}{}%
    \@ifundefined{crefrange@subappendix@format@second}{%
      \let\crefrange@subappendix@format@second%
      \crefrange@appendix@format@second}{}%
    \@ifundefined{Crefrange@subappendix@format@second}{%
      \let\Crefrange@subappendix@format@second%
      \Crefrange@appendix@format@second}{}%
    \@ifundefined{crefrange@subappendix@format@middle}{%
      \let\crefrange@subappendix@format@middle%
      \crefrange@appendix@format@middle}{}%
    \@ifundefined{Crefrange@subappendix@format@middle}{%
      \let\Crefrange@subappendix@format@middle%
      \Crefrange@appendix@format@middle}{}%
    \@ifundefined{crefrange@subappendix@format@last}{%
      \let\crefrange@subappendix@format@last%
      \crefrange@appendix@format@last}{}%
    \@ifundefined{Crefrange@subappendix@format@last}{%
      \let\Crefrange@subappendix@format@last%
      \Crefrange@appendix@format@last}{}%
    \@ifundefined{cref@subsubappendix@format}{%
      \let\cref@subsubappendix@format%
      \cref@subappendix@format}{}%
    \@ifundefined{Cref@subsubappendix@format}{%
      \let\Cref@subsubappendix@format%
      \Cref@subappendix@format}{}%
    \@ifundefined{crefrange@subsubappendix@format}{%
      \let\crefrange@subsubappendix@format%
      \crefrange@subappendix@format}{}%
    \@ifundefined{Crefrange@subsubappendix@format}{%
      \let\Crefrange@subsubappendix@format%
      \Crefrange@subappendix@format}{}%
    \@ifundefined{cref@subsubappendix@format@first}{%
      \let\cref@subsubappendix@format@first%
      \cref@subappendix@format@first}{}%
    \@ifundefined{Cref@subsubappendix@format@first}{%
      \let\Cref@subsubappendix@format@first%
      \Cref@subappendix@format@first}{}%
    \@ifundefined{cref@subsubappendix@format@second}{%
      \let\cref@subsubappendix@format@second%
      \cref@subappendix@format@second}{}%
    \@ifundefined{Cref@subsubappendix@format@second}{%
      \let\Cref@subsubappendix@format@second%
      \Cref@subappendix@format@second}{}%
    \@ifundefined{cref@subsubappendix@format@middle}{%
      \let\cref@subsubappendix@format@middle%
      \cref@subappendix@format@middle}{}%
    \@ifundefined{Cref@subsubappendix@format@middle}{%
      \let\Cref@subsubappendix@format@middle%
      \Cref@subappendix@format@middle}{}%
    \@ifundefined{cref@subsubappendix@format@last}{%
      \let\cref@subsubappendix@format@last%
      \cref@subappendix@format@last}{}%
    \@ifundefined{Cref@subsubappendix@format@last}{%
      \let\Cref@subsubappendix@format@last%
      \Cref@subappendix@format@last}{}%
    \@ifundefined{crefrange@subsubappendix@format@first}{%
      \let\crefrange@subsubappendix@format@first%
      \crefrange@subappendix@format@first}{}%
    \@ifundefined{Crefrange@subsubappendix@format@first}{%
      \let\Crefrange@subsubappendix@format@first%
      \Crefrange@subappendix@format@first}{}%
    \@ifundefined{crefrange@subsubappendix@format@second}{%
      \let\crefrange@subsubappendix@format@second%
      \crefrange@subappendix@format@second}{}%
    \@ifundefined{Crefrange@subsubappendix@format@second}{%
      \let\Crefrange@subsubappendix@format@second%
      \Crefrange@subappendix@format@second}{}%
    \@ifundefined{crefrange@subsubappendix@format@middle}{%
      \let\crefrange@subsubappendix@format@middle%
      \crefrange@subappendix@format@middle}{}%
    \@ifundefined{Crefrange@subsubappendix@format@middle}{%
      \let\Crefrange@subsubappendix@format@middle%
      \Crefrange@subappendix@format@middle}{}%
    \@ifundefined{crefrange@subsubappendix@format@last}{%
      \let\crefrange@subsubappendix@format@last%
      \crefrange@subappendix@format@last}{}%
    \@ifundefined{Crefrange@subsubappendix@format@last}{%
      \let\Crefrange@subsubappendix@format@last%
      \Crefrange@subappendix@format@last}{}%
    \@ifundefined{cref@subsubsubappendix@format}{%
      \let\cref@subsubsubappendix@format%
      \cref@subsubappendix@format}{}%
    \@ifundefined{Cref@subsubsubappendix@format}{%
      \let\Cref@subsubsubappendix@format%
      \Cref@subsubappendix@format}{}%
    \@ifundefined{crefrange@subsubsubappendix@format}{%
      \let\crefrange@subsubsubappendix@format%
      \crefrange@subsubappendix@format}{}%
    \@ifundefined{Crefrange@subsubsubappendix@format}{%
      \let\Crefrange@subsubsubappendix@format%
      \Crefrange@subsubappendix@format}{}%
    \@ifundefined{cref@subsubsubappendix@format@first}{%
      \let\cref@subsubsubappendix@format@first%
      \cref@subsubappendix@format@first}{}%
    \@ifundefined{Cref@subsubsubappendix@format@first}{%
      \let\Cref@subsubsubappendix@format@first%
      \Cref@subsubappendix@format@first}{}%
    \@ifundefined{cref@subsubsubappendix@format@second}{%
      \let\cref@subsubsubappendix@format@second%
      \cref@subsubappendix@format@second}{}%
    \@ifundefined{Cref@subsubsubappendix@format@second}{%
      \let\Cref@subsubsubappendix@format@second%
      \Cref@subsubappendix@format@second}{}%
    \@ifundefined{cref@subsubsubappendix@format@middle}{%
      \let\cref@subsubsubappendix@format@middle%
      \cref@subsubappendix@format@middle}{}%
    \@ifundefined{Cref@subsubsubappendix@format@middle}{%
      \let\Cref@subsubsubappendix@format@middle%
      \Cref@subsubappendix@format@middle}{}%
    \@ifundefined{cref@subsubsubappendix@format@last}{%
      \let\cref@subsubsubappendix@format@last%
      \cref@subsubappendix@format@last}{}%
    \@ifundefined{Cref@subsubsubappendix@format@last}{%
      \let\Cref@subsubsubappendix@format@last%
      \Cref@subsubappendix@format@last}{}%
    \@ifundefined{crefrange@subsubsubappendix@format@first}{%
      \let\crefrange@subsubsubappendix@format@first%
      \crefrange@subsubappendix@format@first}{}%
    \@ifundefined{Crefrange@subsubsubappendix@format@first}{%
      \let\Crefrange@subsubsubappendix@format@first%
      \Crefrange@subsubappendix@format@first}{}%
    \@ifundefined{crefrange@subsubsubappendix@format@second}{%
      \let\crefrange@subsubsubappendix@format@second%
      \crefrange@subsubappendix@format@second}{}%
    \@ifundefined{Crefrange@subsubsubappendix@format@second}{%
      \let\Crefrange@subsubsubappendix@format@second%
      \Crefrange@subsubappendix@format@second}{}%
    \@ifundefined{crefrange@subsubsubappendix@format@middle}{%
      \let\crefrange@subsubsubappendix@format@middle%
      \crefrange@subsubappendix@format@middle}{}%
    \@ifundefined{Crefrange@subsubsubappendix@format@middle}{%
      \let\Crefrange@subsubsubappendix@format@middle%
      \Crefrange@subsubappendix@format@middle}{}%
    \@ifundefined{crefrange@subsubsubappendix@format@last}{%
      \let\crefrange@subsubsubappendix@format@last%
      \crefrange@subsubappendix@format@last}{}%
    \@ifundefined{Crefrange@subsubsubappendix@format@last}{%
      \let\Crefrange@subsubsubappendix@format@last%
      \Crefrange@subsubappendix@format@last}{}%
    \@ifundefined{cref@subfigure@format}{%
      \let\cref@subfigure@format%
      \cref@figure@format}{}%
    \@ifundefined{Cref@subfigure@format}{%
      \let\Cref@subfigure@format%
      \Cref@figure@format}{}%
    \@ifundefined{crefrange@subfigure@format}{%
      \let\crefrange@subfigure@format%
      \crefrange@figure@format}{}%
    \@ifundefined{Crefrange@subfigure@format}{%
      \let\Crefrange@subfigure@format%
      \Crefrange@figure@format}{}%
    \@ifundefined{cref@subfigure@format@first}{%
      \let\cref@subfigure@format@first%
      \cref@figure@format@first}{}%
    \@ifundefined{Cref@subfigure@format@first}{%
      \let\Cref@subfigure@format@first%
      \Cref@figure@format@first}{}%
    \@ifundefined{cref@subfigure@format@second}{%
      \let\cref@subfigure@format@second%
      \cref@figure@format@second}{}%
    \@ifundefined{Cref@subfigure@format@second}{%
      \let\Cref@subfigure@format@second%
      \Cref@figure@format@second}{}%
    \@ifundefined{cref@subfigure@format@middle}{%
      \let\cref@subfigure@format@middle%
      \cref@figure@format@middle}{}%
    \@ifundefined{Cref@subfigure@format@middle}{%
      \let\Cref@subfigure@format@middle%
      \Cref@figure@format@middle}{}%
    \@ifundefined{cref@subfigure@format@last}{%
      \let\cref@subfigure@format@last%
      \cref@figure@format@last}{}%
    \@ifundefined{Cref@subfigure@format@last}{%
      \let\Cref@subfigure@format@last%
      \Cref@figure@format@last}{}%
    \@ifundefined{crefrange@subfigure@format@first}{%
      \let\crefrange@subfigure@format@first%
      \crefrange@figure@format@first}{}%
    \@ifundefined{Crefrange@subfigure@format@first}{%
      \let\Crefrange@subfigure@format@first%
      \Crefrange@figure@format@first}{}%
    \@ifundefined{crefrange@subfigure@format@second}{%
      \let\crefrange@subfigure@format@second%
      \crefrange@figure@format@second}{}%
    \@ifundefined{Crefrange@subfigure@format@second}{%
      \let\Crefrange@subfigure@format@second%
      \Crefrange@figure@format@second}{}%
    \@ifundefined{crefrange@subfigure@format@middle}{%
      \let\crefrange@subfigure@format@middle%
      \crefrange@figure@format@middle}{}%
    \@ifundefined{Crefrange@subfigure@format@middle}{%
      \let\Crefrange@subfigure@format@middle%
      \Crefrange@figure@format@middle}{}%
    \@ifundefined{crefrange@subfigure@format@last}{%
      \let\crefrange@subfigure@format@last%
      \crefrange@figure@format@last}{}%
    \@ifundefined{Crefrange@subfigure@format@last}{%
      \let\Crefrange@subfigure@format@last%
      \Crefrange@figure@format@last}{}%
    \@ifundefined{cref@subtable@format}{%
      \let\cref@subtable@format%
      \cref@table@format}{}%
    \@ifundefined{Cref@subtable@format}{%
      \let\Cref@subtable@format%
      \Cref@table@format}{}%
    \@ifundefined{crefrange@subtable@format}{%
      \let\crefrange@subtable@format%
      \crefrange@table@format}{}%
    \@ifundefined{Crefrange@subtable@format}{%
      \let\Crefrange@subtable@format%
      \Crefrange@table@format}{}%
    \@ifundefined{cref@subtable@format@first}{%
      \let\cref@subtable@format@first%
      \cref@table@format@first}{}%
    \@ifundefined{Cref@subtable@format@first}{%
      \let\Cref@subtable@format@first%
      \Cref@table@format@first}{}%
    \@ifundefined{cref@subtable@format@second}{%
      \let\cref@subtable@format@second%
      \cref@table@format@second}{}%
    \@ifundefined{Cref@subtable@format@second}{%
      \let\Cref@subtable@format@second%
      \Cref@table@format@second}{}%
    \@ifundefined{cref@subtable@format@middle}{%
      \let\cref@subtable@format@middle%
      \cref@table@format@middle}{}%
    \@ifundefined{Cref@subtable@format@middle}{%
      \let\Cref@subtable@format@middle%
      \Cref@table@format@middle}{}%
    \@ifundefined{cref@subtable@format@last}{%
      \let\cref@subtable@format@last%
      \cref@table@format@last}{}%
    \@ifundefined{Cref@subtable@format@last}{%
      \let\Cref@subtable@format@last%
      \Cref@table@format@last}{}%
    \@ifundefined{crefrange@subtable@format@first}{%
      \let\crefrange@subtable@format@first%
      \crefrange@table@format@first}{}%
    \@ifundefined{Crefrange@subtable@format@first}{%
      \let\Crefrange@subtable@format@first%
      \Crefrange@table@format@first}{}%
    \@ifundefined{crefrange@subtable@format@second}{%
      \let\crefrange@subtable@format@second%
      \crefrange@table@format@second}{}%
    \@ifundefined{Crefrange@subtable@format@second}{%
      \let\Crefrange@subtable@format@second%
      \Crefrange@table@format@second}{}%
    \@ifundefined{crefrange@subtable@format@middle}{%
      \let\crefrange@subtable@format@middle%
      \crefrange@table@format@middle}{}%
    \@ifundefined{Crefrange@subtable@format@middle}{%
      \let\Crefrange@subtable@format@middle%
      \Crefrange@table@format@middle}{}%
    \@ifundefined{crefrange@subtable@format@last}{%
      \let\crefrange@subtable@format@last%
      \crefrange@table@format@last}{}%
    \@ifundefined{Crefrange@subtable@format@last}{%
      \let\Crefrange@subtable@format@last%
      \Crefrange@table@format@last}{}%
    \@ifundefined{cref@enumii@format}{%
      \let\cref@enumii@format%
      \cref@enumi@format}{}%
    \@ifundefined{Cref@enumii@format}{%
      \let\Cref@enumii@format%
      \Cref@enumi@format}{}%
    \@ifundefined{crefrange@enumii@format}{%
      \let\crefrange@enumii@format%
      \crefrange@enumi@format}{}%
    \@ifundefined{Crefrange@enumii@format}{%
      \let\Crefrange@enumii@format%
      \Crefrange@enumi@format}{}%
    \@ifundefined{cref@enumii@format@first}{%
      \let\cref@enumii@format@first%
      \cref@enumi@format@first}{}%
    \@ifundefined{Cref@enumii@format@first}{%
      \let\Cref@enumii@format@first%
      \Cref@enumi@format@first}{}%
    \@ifundefined{cref@enumii@format@second}{%
      \let\cref@enumii@format@second%
      \cref@enumi@format@second}{}%
    \@ifundefined{Cref@enumii@format@second}{%
      \let\Cref@enumii@format@second%
      \Cref@enumi@format@second}{}%
    \@ifundefined{cref@enumii@format@middle}{%
      \let\cref@enumii@format@middle%
      \cref@enumi@format@middle}{}%
    \@ifundefined{Cref@enumii@format@middle}{%
      \let\Cref@enumii@format@middle%
      \Cref@enumi@format@middle}{}%
    \@ifundefined{cref@enumii@format@last}{%
      \let\cref@enumii@format@last%
      \cref@enumi@format@last}{}%
    \@ifundefined{Cref@enumii@format@last}{%
      \let\Cref@enumii@format@last%
      \Cref@enumi@format@last}{}%
    \@ifundefined{crefrange@enumii@format@first}{%
      \let\crefrange@enumii@format@first%
      \crefrange@enumi@format@first}{}%
    \@ifundefined{Crefrange@enumii@format@first}{%
      \let\Crefrange@enumii@format@first%
      \Crefrange@enumi@format@first}{}%
    \@ifundefined{crefrange@enumii@format@second}{%
      \let\crefrange@enumii@format@second%
      \crefrange@enumi@format@second}{}%
    \@ifundefined{Crefrange@enumii@format@second}{%
      \let\Crefrange@enumii@format@second%
      \Crefrange@enumi@format@second}{}%
    \@ifundefined{crefrange@enumii@format@middle}{%
      \let\crefrange@enumii@format@middle%
      \crefrange@enumi@format@middle}{}%
    \@ifundefined{Crefrange@enumii@format@middle}{%
      \let\Crefrange@enumii@format@middle%
      \Crefrange@enumi@format@middle}{}%
    \@ifundefined{crefrange@enumii@format@last}{%
      \let\crefrange@enumii@format@last%
      \crefrange@enumi@format@last}{}%
    \@ifundefined{Crefrange@enumii@format@last}{%
      \let\Crefrange@enumii@format@last%
      \Crefrange@enumi@format@last}{}%
    \@ifundefined{cref@enumiii@format}{%
      \let\cref@enumiii@format%
      \cref@enumii@format}{}%
    \@ifundefined{Cref@enumiii@format}{%
      \let\Cref@enumiii@format%
      \Cref@enumii@format}{}%
    \@ifundefined{crefrange@enumiii@format}{%
      \let\crefrange@enumiii@format%
      \crefrange@enumii@format}{}%
    \@ifundefined{Crefrange@enumiii@format}{%
      \let\Crefrange@enumiii@format%
      \Crefrange@enumii@format}{}%
    \@ifundefined{cref@enumiii@format@first}{%
      \let\cref@enumiii@format@first%
      \cref@enumii@format@first}{}%
    \@ifundefined{Cref@enumiii@format@first}{%
      \let\Cref@enumiii@format@first%
      \Cref@enumii@format@first}{}%
    \@ifundefined{cref@enumiii@format@second}{%
      \let\cref@enumiii@format@second%
      \cref@enumii@format@second}{}%
    \@ifundefined{Cref@enumiii@format@second}{%
      \let\Cref@enumiii@format@second%
      \Cref@enumii@format@second}{}%
    \@ifundefined{cref@enumiii@format@middle}{%
      \let\cref@enumiii@format@middle%
      \cref@enumii@format@middle}{}%
    \@ifundefined{Cref@enumiii@format@middle}{%
      \let\Cref@enumiii@format@middle%
      \Cref@enumii@format@middle}{}%
    \@ifundefined{cref@enumiii@format@last}{%
      \let\cref@enumiii@format@last%
      \cref@enumii@format@last}{}%
    \@ifundefined{Cref@enumiii@format@last}{%
      \let\Cref@enumiii@format@last%
      \Cref@enumii@format@last}{}%
    \@ifundefined{crefrange@enumiii@format@first}{%
      \let\crefrange@enumiii@format@first%
      \crefrange@enumii@format@first}{}%
    \@ifundefined{Crefrange@enumiii@format@first}{%
      \let\Crefrange@enumiii@format@first%
      \Crefrange@enumii@format@first}{}%
    \@ifundefined{crefrange@enumiii@format@second}{%
      \let\crefrange@enumiii@format@second%
      \crefrange@enumii@format@second}{}%
    \@ifundefined{Crefrange@enumiii@format@second}{%
      \let\Crefrange@enumiii@format@second%
      \Crefrange@enumii@format@second}{}%
    \@ifundefined{crefrange@enumiii@format@middle}{%
      \let\crefrange@enumiii@format@middle%
      \crefrange@enumii@format@middle}{}%
    \@ifundefined{Crefrange@enumiii@format@middle}{%
      \let\Crefrange@enumiii@format@middle%
      \Crefrange@enumii@format@middle}{}%
    \@ifundefined{crefrange@enumiii@format@last}{%
      \let\crefrange@enumiii@format@last%
      \crefrange@enumii@format@last}{}%
    \@ifundefined{Crefrange@enumiii@format@last}{%
      \let\Crefrange@enumiii@format@last%
      \Crefrange@enumii@format@last}{}%
    \@ifundefined{cref@enumiv@format}{%
      \let\cref@enumiv@format%
      \cref@enumiii@format}{}%
    \@ifundefined{Cref@enumiv@format}{%
      \let\Cref@enumiv@format%
      \Cref@enumiii@format}{}%
    \@ifundefined{crefrange@enumiv@format}{%
      \let\crefrange@enumiv@format%
      \crefrange@enumiii@format}{}%
    \@ifundefined{Crefrange@enumiv@format}{%
      \let\Crefrange@enumiv@format%
      \Crefrange@enumiii@format}{}%
    \@ifundefined{cref@enumiv@format@first}{%
      \let\cref@enumiv@format@first%
      \cref@enumiii@format@first}{}%
    \@ifundefined{Cref@enumiv@format@first}{%
      \let\Cref@enumiv@format@first%
      \Cref@enumiii@format@first}{}%
    \@ifundefined{cref@enumiv@format@second}{%
      \let\cref@enumiv@format@second%
      \cref@enumiii@format@second}{}%
    \@ifundefined{Cref@enumiv@format@second}{%
      \let\Cref@enumiv@format@second%
      \Cref@enumiii@format@second}{}%
    \@ifundefined{cref@enumiv@format@middle}{%
      \let\cref@enumiv@format@middle%
      \cref@enumiii@format@middle}{}%
    \@ifundefined{Cref@enumiv@format@middle}{%
      \let\Cref@enumiv@format@middle%
      \Cref@enumiii@format@middle}{}%
    \@ifundefined{cref@enumiv@format@last}{%
      \let\cref@enumiv@format@last%
      \cref@enumiii@format@last}{}%
    \@ifundefined{Cref@enumiv@format@last}{%
      \let\Cref@enumiv@format@last%
      \Cref@enumiii@format@last}{}%
    \@ifundefined{crefrange@enumiv@format@first}{%
      \let\crefrange@enumiv@format@first%
      \crefrange@enumiii@format@first}{}%
    \@ifundefined{Crefrange@enumiv@format@first}{%
      \let\Crefrange@enumiv@format@first%
      \Crefrange@enumiii@format@first}{}%
    \@ifundefined{crefrange@enumiv@format@second}{%
      \let\crefrange@enumiv@format@second%
      \crefrange@enumiii@format@second}{}%
    \@ifundefined{Crefrange@enumiv@format@second}{%
      \let\Crefrange@enumiv@format@second%
      \Crefrange@enumiii@format@second}{}%
    \@ifundefined{crefrange@enumiv@format@middle}{%
      \let\crefrange@enumiv@format@middle%
      \crefrange@enumiii@format@middle}{}%
    \@ifundefined{Crefrange@enumiv@format@middle}{%
      \let\Crefrange@enumiv@format@middle%
      \Crefrange@enumiii@format@middle}{}%
    \@ifundefined{crefrange@enumiv@format@last}{%
      \let\crefrange@enumiv@format@last%
      \crefrange@enumiii@format@last}{}%
    \@ifundefined{Crefrange@enumiv@format@last}{%
      \let\Crefrange@enumiv@format@last%
      \Crefrange@enumiii@format@last}{}%
    \@ifundefined{cref@enumv@format}{%
      \let\cref@enumv@format%
      \cref@enumiv@format}{}%
    \@ifundefined{Cref@enumv@format}{%
      \let\Cref@enumv@format%
      \Cref@enumiv@format}{}%
    \@ifundefined{crefrange@enumv@format}{%
      \let\crefrange@enumv@format%
      \crefrange@enumiv@format}{}%
    \@ifundefined{Crefrange@enumv@format}{%
      \let\Crefrange@enumv@format%
      \Crefrange@enumiv@format}{}%
    \@ifundefined{cref@enumv@format@first}{%
      \let\cref@enumv@format@first%
      \cref@enumiv@format@first}{}%
    \@ifundefined{Cref@enumv@format@first}{%
      \let\Cref@enumv@format@first%
      \Cref@enumiv@format@first}{}%
    \@ifundefined{cref@enumv@format@second}{%
      \let\cref@enumv@format@second%
      \cref@enumiv@format@second}{}%
    \@ifundefined{Cref@enumv@format@second}{%
      \let\Cref@enumv@format@second%
      \Cref@enumiv@format@second}{}%
    \@ifundefined{cref@enumv@format@middle}{%
      \let\cref@enumv@format@middle%
      \cref@enumiv@format@middle}{}%
    \@ifundefined{Cref@enumv@format@middle}{%
      \let\Cref@enumv@format@middle%
      \Cref@enumiv@format@middle}{}%
    \@ifundefined{cref@enumv@format@last}{%
      \let\cref@enumv@format@last%
      \cref@enumiv@format@last}{}%
    \@ifundefined{Cref@enumv@format@last}{%
      \let\Cref@enumv@format@last%
      \Cref@enumiv@format@last}{}%
    \@ifundefined{crefrange@enumv@format@first}{%
      \let\crefrange@enumv@format@first%
      \crefrange@enumiv@format@first}{}%
    \@ifundefined{Crefrange@enumv@format@first}{%
      \let\Crefrange@enumv@format@first%
      \Crefrange@enumiv@format@first}{}%
    \@ifundefined{crefrange@enumv@format@second}{%
      \let\crefrange@enumv@format@second%
      \crefrange@enumiv@format@second}{}%
    \@ifundefined{Crefrange@enumv@format@second}{%
      \let\Crefrange@enumv@format@second%
      \Crefrange@enumiv@format@second}{}%
    \@ifundefined{crefrange@enumv@format@middle}{%
      \let\crefrange@enumv@format@middle%
      \crefrange@enumiv@format@middle}{}%
    \@ifundefined{Crefrange@enumv@format@middle}{%
      \let\Crefrange@enumv@format@middle%
      \Crefrange@enumiv@format@middle}{}%
    \@ifundefined{crefrange@enumv@format@last}{%
      \let\crefrange@enumv@format@last%
      \crefrange@enumiv@format@last}{}%
    \@ifundefined{Crefrange@enumv@format@last}{%
      \let\Crefrange@enumv@format@last%
      \Crefrange@enumiv@format@last}{}%
  \let\cref@language\relax%
}
\endinput
%%
%% End of file `cleveref.sty'.
