%%
%% This is file `hyperref-xetex-bidi.def',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% bidi.dtx  (with options: `table,hyperref-xetex-bidi.def')
%% 
%%   __________________________________________________
%%   Copyright (c) 2009--2015  Vafa Khalighi <persian-tex@tug.org>
%% 
%%   It may be distributed and/or modified under the LaTeX Project Public License,
%%   version 1.3c or higher (your choice). The latest version of
%%   this license is at: http://www.latex-project.org/lppl.txt
%% 
%%   This work is “author-maintained” (as per LPPL maintenance status)
%%   by Vafa Khalighi.
%% 
%% 
%% \CheckSum{44657}
%% \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         \~}
%%
\ProvidesFile{hyperref-xetex-bidi.def}[2014/11/08 v0.8 bidi adaptations for hyperref package for XeTeX engine]
\AtBeginDocument{%
\def\contentsline#1#2#3#4{%
  \ifx\\#4\\%
    \csname l@#1\endcsname{#2}{#3}%
  \else
    \ifcase\Hy@linktoc % none
      \csname l@#1\endcsname{#2}{#3}%
    \or % section
      \csname l@#1\endcsname{%
        \beginL\hyper@linkstart{link}{#4}{\if@RTL\beginR\fi#2\if@RTL\endR\fi}\hyper@linkend\endL
      }{#3}%
    \or % page
      \csname l@#1\endcsname{{#2}}{%
        \beginL\hyper@linkstart{link}{#4}{#3}\hyper@linkend\endL
      }%
    \else % all
      \csname l@#1\endcsname{%
        \beginL\hyper@linkstart{link}{#4}{\if@RTL\beginR\fi#2\if@RTL\endR\fi}\hyper@linkend\endL
      }{%
        \beginL\hyper@linkstart{link}{#4}{#3}\hyper@linkend\endL
      }%
    \fi
  \fi
}
\ifHy@hyperfootnotes
   \let\H@@footnotetext\@footnotetext
   \let\HRTL@@RTLfootnotetext\@RTLfootnotetext
   \let\HLTR@@LTRfootnotetext\@LTRfootnotetext
    \def\@xfootnotenext[#1]{%
    \begingroup
      \csname c@\@mpfn\endcsname #1\relax
      \unrestored@protected@xdef\@thefnmark{\thempfn}%
    \endgroup
    \ifx\@footnotetext\@mpfootnotetext
      \expandafter\H@@mpfootnotetext
    \else
      \expandafter\H@@footnotetext
    \fi
  }%
    \def\@xRTLfootnotenext[#1]{%
    \begingroup
      \csname c@\@mpfn\endcsname #1\relax
      \unrestored@protected@xdef\@thefnmark{\thempfn}%
    \endgroup
    \ifx\@RTLfootnotetext\@mpRTLfootnotetext
      \expandafter\HRTL@@mpRTLfootnotetext
    \else
      \expandafter\HRTL@@RTLfootnotetext
    \fi
  }%
    \def\@xLTRfootnotenext[#1]{%
    \begingroup
      \csname c@\@mpfn\endcsname #1\relax
      \unrestored@protected@xdef\@thefnmark{\thempfn}%
    \endgroup
    \ifx\@LTRfootnotetext\@mpLTRfootnotetext
      \expandafter\HLTR@@mpLTRfootnotetext
    \else
      \expandafter\HLTR@@LTRfootnotetext
    \fi
  }%
    \def\@xfootnotemark[#1]{%
    \begingroup
      \c@footnote #1\relax
      \unrestored@protected@xdef\@thefnmark{\thefootnote}%
    \endgroup
    \H@@footnotemark
  }%
  \let\H@@mpfootnotetext\@mpfootnotetext
  \let\HRTL@@mpRTLfootnotetext\@mpRTLfootnotetext
  \let\HLTR@@mpLTRfootnotetext\@mpLTRfootnotetext
    \long\def\@mpfootnotetext#1{%
    \H@@mpfootnotetext{%
      \ifHy@nesting
        \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
      \else
        \Hy@raisedlink{%
          \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
        }#1%
      \fi
    }%
  }%
  \long\def\@mpRTLfootnotetext#1{%
    \HRTL@@mpRTLfootnotetext{%
      \ifHy@nesting
        \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
      \else
        \Hy@raisedlink{%
          \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
        }#1%
      \fi
    }%
  }%
    \long\def\@mpLTRfootnotetext#1{%
    \HLTR@@mpLTRfootnotetext{%
      \ifHy@nesting
        \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
      \else
        \Hy@raisedlink{%
          \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
        }#1%
      \fi
    }%
  }%
    \long\def\@footnotetext#1{%
    \H@@footnotetext{%
      \ifHy@nesting
        \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
      \else
        \Hy@raisedlink{%
          \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
        }%
        \let\@currentHlabel\Hy@footnote@currentHlabel
        \let\@currentHref\Hy@footnote@currentHref
        \let\@currentlabelname\@empty
        #1%
      \fi
    }%
  }%
    \long\def\@RTLfootnotetext#1{%
    \HRTL@@RTLfootnotetext{%
      \ifHy@nesting
        \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
      \else
        \Hy@raisedlink{%
          \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
        }%
        \let\@currentHlabel\Hy@footnote@currentHlabel
        \let\@currentHref\Hy@footnote@currentHref
        \let\@currentlabelname\@empty
        #1%
      \fi
    }%
  }%
    \long\def\@LTRfootnotetext#1{%
    \HLTR@@LTRfootnotetext{%
      \ifHy@nesting
        \hyper@@anchor{\Hy@footnote@currentHref}{#1}%
      \else
        \Hy@raisedlink{%
          \hyper@@anchor{\Hy@footnote@currentHref}{\relax}%
        }%
        \let\@currentHlabel\Hy@footnote@currentHlabel
        \let\@currentHref\Hy@footnote@currentHref
        \let\@currentlabelname\@empty
        #1%
      \fi
    }%
  }%
  \def\@footnotemark{%
    \leavevmode
    \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
    \stepcounter{Hfootnote}%
    \global\let\Hy@saved@currentHlabel\@currentHlabel
    \global\let\Hy@saved@currentHref\@currentHref
    \hyper@makecurrent{Hfootnote}%
    \global\let\Hy@footnote@currentHlabel\@currentHlabel
    \global\let\Hy@footnote@currentHref\@currentHref
    \global\let\@currentHlabel\Hy@saved@currentHlabel
    \global\let\@currentHref\Hy@saved@currentHref
    \beginL\hyper@linkstart{link}{\Hy@footnote@currentHref}%
    \@makefnmark
    \hyper@linkend\endL
    \ifhmode\spacefactor\@x@sf\fi
    \relax
  }%
    \@ifpackageloaded{tabularx}{%
    \let\HyOrg@TX@endtabularx\TX@endtabularx
    \def\Hy@tabularx@hook{%
      \let\@footnotetext\H@@footnotetext
      \let\@LTRfootnotetext\HLTR@@LTRfootnotetext
      \let\@RTLfootnotetext\HRTL@@RTLfootnotetext
      \let\@footnotemark\H@@footnotemark
      \let\@mpfootnotetext\H@@mpfootnotetext
      \let\@mpLTRfootnotetext\HLTR@@mpLTRfootnotetext
      \let\@mpRTLfootnotetext\HRTL@@mpRTLfootnotetext
    }%
    \begingroup
      \toks@\expandafter{\TX@endtabularx}%
      \xdef\Hy@gtemp{%
        \noexpand\Hy@tabularx@hook
        \the\toks@
      }%
    \endgroup
    \let\TX@endtabularx\Hy@gtemp
  }{}%
    \@ifpackageloaded{longtable}{%
    \CheckCommand*{\LT@p@LTRftntext}[1]{%
      \edef\@tempa{%
        \the\LT@p@ftn
        \noexpand\LTRfootnotetext[\the\c@footnote]%
      }%
      \global\LT@p@ftn\expandafter{\@tempa{#1}}%
    }%
    \long\def\LT@p@LTRftntext#1{%
      \edef\@tempa{%
        \the\LT@p@ftn
        \begingroup
          \noexpand\c@footnote=\the\c@footnote\relax
          \noexpand\protected@xdef\noexpand\@thefnmark{%
            \noexpand\thempfn
          }%
          \noexpand\Hy@LT@LTRfootnotetext{%
            \Hy@footnote@currentHref
          }%
      }%
      \global\LT@p@ftn\expandafter{%
          \@tempa{#1}%
        \endgroup
      }%
    }%
    \long\def\Hy@LT@LTRfootnotetext#1#2{%
     \HLTR@@LTRfootnotetext{%
        \ifHy@nesting
          \hyper@@anchor{#1}{#2}%
        \else
          \Hy@raisedlink{%
            \hyper@@anchor{#1}{\relax}%
          }%
          \def\@currentHref{#1}%
          \let\@currentlabelname\@empty
          #2%
        \fi
      }%
    }%
    \CheckCommand*{\LT@p@RTLftntext}[1]{%
      \edef\@tempa{%
        \the\LT@p@ftn
        \noexpand\RTLfootnotetext[\the\c@footnote]%
      }%
      \global\LT@p@ftn\expandafter{\@tempa{#1}}%
    }%
    \long\def\LT@p@RTLftntext#1{%
      \edef\@tempa{%
        \the\LT@p@ftn
        \begingroup
          \noexpand\c@footnote=\the\c@footnote\relax
          \noexpand\protected@xdef\noexpand\@thefnmark{%
            \noexpand\thempfn
          }%
          \noexpand\Hy@LT@RTLfootnotetext{%
            \Hy@footnote@currentHref
          }%
      }%
      \global\LT@p@ftn\expandafter{%
          \@tempa{#1}%
        \endgroup
      }%
    }%
    \long\def\Hy@LT@RTLfootnotetext#1#2{%
     \HRTL@@RTLfootnotetext{%
        \ifHy@nesting
          \hyper@@anchor{#1}{#2}%
        \else
          \Hy@raisedlink{%
            \hyper@@anchor{#1}{\relax}%
          }%
          \def\@currentHref{#1}%
          \let\@currentlabelname\@empty
          #2%
        \fi
      }%
    }%
  }{}%
    \@ifpackageloaded{bidipoem}{%
    \long\def\bidipoem@p@ftntext#1{%
      \edef\@tempx{%
        \the\bidipoem@p@ftn
        \begingroup
          \noexpand\csname c@\@mpfn\endcsname=\the\csname c@\@mpfn\endcsname\relax
          \noexpand\protected@xdef\noexpand\@thefnmark{%
            \noexpand\thempfn
          }%
          \noexpand\Hy@bidipoem@footnotetext{%
            \Hy@footnote@currentHref
          }%
      }%
      \global\bidipoem@p@ftn\expandafter{%
          \@tempx{#1}%
        \endgroup
      }%
    }%
    \long\def\Hy@bidipoem@footnotetext#1#2{%
      \H@@footnotetext{%
        \ifHy@nesting
          \hyper@@anchor{#1}{#2}%
        \else
          \Hy@raisedlink{%
            \hyper@@anchor{#1}{\relax}%
          }%
          \def\@currentHref{#1}%
          \let\@currentlabelname\@empty
          #2%
        \fi
      }%
    }%
        \long\def\bidipoem@p@LTRftntext#1{%
      \edef\@tempxi{%
        \the\bidipoem@p@ftn
        \begingroup
          \noexpand\csname c@\@mpfn\endcsname=\the\csname c@\@mpfn\endcsname\relax
          \noexpand\protected@xdef\noexpand\@thefnmark{%
            \noexpand\thempfn
          }%
          \noexpand\Hy@bidipoem@LTRfootnotetext{%
            \Hy@footnote@currentHref
          }%
      }%
      \global\bidipoem@p@ftn\expandafter{%
          \@tempxi{#1}%
        \endgroup
      }%
    }%
    \long\def\Hy@bidipoem@LTRfootnotetext#1#2{%
      \HLTR@@LTRfootnotetext{%
        \ifHy@nesting
          \hyper@@anchor{#1}{#2}%
        \else
          \Hy@raisedlink{%
            \hyper@@anchor{#1}{\relax}%
          }%
          \def\@currentHref{#1}%
          \let\@currentlabelname\@empty
          #2%
        \fi
      }%
    }%
        \long\def\bidipoem@p@RTLftntext#1{%
      \edef\@tempxii{%
        \the\bidipoem@p@ftn
        \begingroup
          \noexpand\csname c@\@mpfn\endcsname=\the\csname c@\@mpfn\endcsname\relax
          \noexpand\protected@xdef\noexpand\@thefnmark{%
            \noexpand\thempfn
          }%
          \noexpand\Hy@bidipoem@RTLfootnotetext{%
            \Hy@footnote@currentHref
          }%
      }%
      \global\bidipoem@p@ftn\expandafter{%
          \@tempxii{#1}%
        \endgroup
      }%
    }%
    \long\def\Hy@bidipoem@RTLfootnotetext#1#2{%
      \HRTL@@RTLfootnotetext{%
        \ifHy@nesting
          \hyper@@anchor{#1}{#2}%
        \else
          \Hy@raisedlink{%
            \hyper@@anchor{#1}{\relax}%
          }%
          \def\@currentHref{#1}%
          \let\@currentlabelname\@empty
          #2%
        \fi
      }%
    }%
  }{}%
  \let\HyOrg@maketitle\maketitle
  \def\maketitle{%
    \let\Hy@saved@footnotemark\@footnotemark
    \let\Hy@saved@footnotetext\@footnotetext
    \let\HyRTL@saved@RTLfootnotetext\@RTLfootnotetext
    \let\HyLTR@saved@LTRfootnotetext\@LTRfootnotetext
    \let\@footnotemark\H@@footnotemark
    \let\@footnotetext\H@@footnotetext
    \let\@RTLfootnotetext\HRTL@@RTLfootnotetext
    \let\@LTRfootnotetext\HLTR@@LTRfootnotetext
    \@ifnextchar[\Hy@maketitle@optarg{% ]
      \HyOrg@maketitle
      \Hy@maketitle@end
    }%
  }%
  \def\Hy@maketitle@optarg[#1]{%
    \HyOrg@maketitle[{#1}]%
    \Hy@maketitle@end
  }%
  \def\Hy@maketitle@end{%
    \ifx\@footnotemark\H@@footnotemark
      \let\@footnotemark\Hy@saved@footnotemark
    \fi
    \ifx\@footnotetext\H@@footnotetext
      \let\@footnotetext\Hy@saved@footnotetext
    \fi
    \ifx\@RTLfootnotetext\HRTL@@RTLfootnotetext
      \let\@RTLfootnotetext\HyRTL@saved@RTLfootnotetext
    \fi
    \ifx\@LTRfootnotetext\HLTR@@LTRfootnotetext
      \let\@LTRfootnotetext\HyLTR@saved@LTRfootnotetext
    \fi
  }%
  \def\realfootnote{%
    \@ifnextchar[\@xfootnote{%
      \stepcounter{\@mpfn}%
      \protected@xdef\@thefnmark{\thempfn}%
      \H@@footnotemark\H@@footnotetext
    }%
  }%
\fi
\def\hyper@link#1#2#3{%
  \ifmmode\else\beginL\fi\hyper@linkstart{#1}{#2}\ifmmode\else\if@RTL\beginR\fi\fi#3\ifmmode\else\if@RTL\endR\fi\fi\hyper@linkend\ifmmode\else\endL\fi
}
\def\url@#1{\beginL\hyper@linkurl{\Hurl{#1}}{#1}\endL}
\def\hyper@natlinkstart#1{%
  \Hy@backout{#1}%
  \beginL\hyper@linkstart{cite}{cite.#1}\if@RTL\beginR\fi%
  \def\hyper@nat@current{#1}%
}
\def\hyper@natlinkend{%
  \if@RTL\endR\fi\hyper@linkend\endL
}
\def\hyper@natlinkbreak#1#2{%
  \if@RTL\endR\fi\hyper@linkend\endL#1\beginL\hyper@linkstart{cite}{cite.#2}\if@RTL\beginR\fi%
}%
}
\begingroup
  \catcode`\$=6 %
  \catcode`\#=12 %
  \gdef\href@$1{\expandafter\href@split$1##\\}%
  \gdef\href@split$1#$2#$3\\$4{%
    \beginL\hyper@@link{$1}{$2}{\if@RTL\beginR\fi$4\if@RTL\endR\fi}\endL%
    \endgroup
  }%
\endgroup
\pdfstringdefDisableCommands{%
\let\LRE\@firstofone
\let\LR\@firstofone
\let\RLE\@firstofone
\let\RL\@firstofone
\def\XeTeX{Xe\TeX}
\def\XeLaTeX{Xe\LaTeX}
}
\@ifpackageloaded{longtable}{%
  \begingroup
    \def\y{\LT@array}%
    \@ifundefined{scr@LT@array}{%
      \@ifundefined{adl@LT@array}{}{\def\y{\adl@LT@array}}%
    }{\def\y{\scr@LT@array}}%
    \long\def\x\refstepcounter#1#2\@sharp#3#4\@nil{%
      \expandafter\endgroup
      \expandafter\def\y[##1]##2{%
        \H@refstepcounter{#1}%
        \hyper@makecurrent{table}%
        \let\Hy@LT@currentHref\@currentHref
        #2\@sharp#####4%
      }%
    }%
  \expandafter\expandafter\expandafter\x\y[{#1}]{#2}\@nil
  \begingroup
    \def\x#1\ifvoid\LT@foot#2\fi#3\@nil{%
      \endgroup
      \def\LT@start{%
        #1%
        \ifvoid\LT@foot#2\fi
        \let\@currentHref\Hy@LT@currentHref
        \Hy@raisedlink{%
          \hyper@anchorstart{\@currentHref}\hyper@anchorend
        }%
        #3%
      }%
    }%
  \expandafter\x\LT@start\@nil
}{}
\endinput
%%
%% End of file `hyperref-xetex-bidi.def'.
