summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/CHANGELOG8
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/examples/letter.pdfbin70696 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/examples/letter.tex103
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/examples/picture.eps1465
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/examples/picture.jpgbin1693 -> 1645 bytes
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/examples/template-es.pdfbin32634 -> 33258 bytes
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/examples/template-zh.pdfbin246009 -> 245908 bytes
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/examples/template.pdfbin32251 -> 36512 bytes
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/examples/template.tex21
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/examples/template_banking_black.pdfbin21907 -> 25307 bytes
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red.pdfbin21966 -> 25411 bytes
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/examples/template_casual_orange.pdfbin32245 -> 36512 bytes
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/examples/template_classic_green.pdfbin39200 -> 44670 bytes
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/examples/template_multibib.pdfbin32496 -> 33125 bytes
-rw-r--r--Master/texmf-dist/doc/latex/moderncv/examples/template_oldstyle_grey.pdfbin26396 -> 30169 bytes
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncv.cls178
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty7
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty159
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty130
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty124
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty2
-rw-r--r--Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty150
29 files changed, 1233 insertions, 1128 deletions
diff --git a/Master/texmf-dist/doc/latex/moderncv/CHANGELOG b/Master/texmf-dist/doc/latex/moderncv/CHANGELOG
index 992e727e2da..a55383ddc03 100644
--- a/Master/texmf-dist/doc/latex/moderncv/CHANGELOG
+++ b/Master/texmf-dist/doc/latex/moderncv/CHANGELOG
@@ -1,3 +1,11 @@
+version 1.0 (26 Mar 2012)
+ - added commands to generate letters for every resume style: \recipient, \date,
+ \opening, \closing, \enclosure, \makelettertitle and \makeletterclosing. The
+ old \maketitle and \makefooter commands are now deprecated and replaced by
+ \makecvtitle and \makecvfooter.
+ - changed the alignment algorithm for the personal data display in the oldstyle
+ style, as to align on the baseline of the first line with the surrounding text.
+
version 0.19 (06 Feb 2012)
- reintroduced the ability to force the width reserved to display the name
in the resume header for the classic style (\maketitlenamewidth).
diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/letter.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/letter.pdf
deleted file mode 100644
index b21aed75eca..00000000000
--- a/Master/texmf-dist/doc/latex/moderncv/examples/letter.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/letter.tex b/Master/texmf-dist/doc/latex/moderncv/examples/letter.tex
deleted file mode 100644
index cd332e62b86..00000000000
--- a/Master/texmf-dist/doc/latex/moderncv/examples/letter.tex
+++ /dev/null
@@ -1,103 +0,0 @@
-%% start of file `letter.tex'.
-%% Copyright 2006-2012 Xavier Danaux (xdanaux@gmail.com).
-%
-% This work may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License version 1.3c,
-% available at http://www.latex-project.org/lppl/.
-
-
-\documentclass[11pt]{article}
-
-
-\usepackage[utf8x]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage{lmodern}
-\usepackage{marvosym}
-\usepackage{ifpdf}
-\ifpdf
- \usepackage[pdftex]{graphicx}
-\else
- \usepackage[dvips]{graphicx}\fi
-
-\pagestyle{empty}
-
-\usepackage[scale=0.8]{geometry}
-\setlength{\parindent}{0pt}
-\addtolength{\parskip}{6pt}
-
-\def\firstname{John}
-\def\familyname{Doe}
-\def\FileAuthor{\firstname \familyname}
-\def\FileTitle{\firstname \familyname's cover letter}
-\def\FileSubject{Cover letter}
-\def\FileKeyWords{\firstname \familyname, Cover letter}
-
-\usepackage{url}
-\renewcommand{\ttdefault}{pcr}
-\urlstyle{tt}
-\ifpdf
- \usepackage[pdftex,pdfborder=0,breaklinks,baseurl=http://,pdfpagemode=None,pdfstartview=XYZ,pdfstartpage=1]{hyperref}
- \hypersetup{
- pdfauthor = \FileAuthor,%
- pdftitle = \FileTitle,%
- pdfsubject = \FileSubject,%
- pdfkeywords = \FileKeyWords,%
- pdfcreator = \LaTeX,%
- pdfproducer = \LaTeX}
-\else
- \usepackage[dvips]{hyperref}
-\fi
-
-\renewcommand{\familydefault}{\sfdefault}% for use with a résumé using sans serif fonts;
-%\renewcommand{\familydefault}{\rmdefault}% for use with a résumé using sans serif fonts;
-
-\begin{document}
-\hfill%
-\begin{minipage}[t]{.6\textwidth}
-\raggedleft%
-{\bfseries John Doe}\\[.35ex]
-\small\itshape%
-street and number\\
-postcode city\\[.35ex]
-\Telefon~phone number\\
-\Letter~\href{mailto:jdoe@gmail.com}{jdoe@gmail.com}
-\end{minipage}\\[1em]
-%
-\begin{minipage}[t]{.4\textwidth}
-\raggedright%
-{\bfseries Company XYZ}\\[.35ex]
-\small\itshape%
-street and number\\
-postcode city
-\end{minipage}
-\hfill % US style
-%\\[1em] % UK style
-\begin{minipage}[t]{.4\textwidth}
-\raggedleft % US style
-\today
-%April 6, 2006 % US informal style
-%05/04/2006 % UK formal style
-\end{minipage}\\[2em]
-\raggedright
-Dear Sir or Madam:\\[1.5em]
-%
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed nec sem sit amet lacus aliquam blandit. Nunc tristique mollis eros. Praesent elit. Maecenas turpis. Vestibulum consectetuer velit sit amet ipsum. Aliquam pede nunc, dictum ac, dictum nec, bibendum ut, ante. Phasellus justo urna, convallis vitae, scelerisque a, egestas vitae, diam. Cras eu enim a eros tristique varius.
-
-Pellentesque pellentesque magna a arcu. Phasellus enim purus, pellentesque sed, interdum hendrerit, interdum elementum, sapien. Nunc lobortis neque sed elit congue tempus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nam lacus mi, volutpat bibendum, ullamcorper in, imperdiet vel, purus. Aliquam egestas sollicitudin mauris. Maecenas quis massa euismod tortor interdum consectetuer. Mauris rutrum leo adipiscing erat.
-
-Vivamus ullamcorper pellentesque arcu. Sed laoreet. Aenean porttitor, purus vel porta pretium, ante metus ultrices neque, id volutpat felis tellus vitae nunc. Vivamus tellus neque, tincidunt non, cursus non, porttitor vel, erat. Cras dictum, nisi vitae condimentum tempor, erat nisl pharetra diam, vitae scelerisque odio purus scelerisque massa. Curabitur malesuada purus volutpat dui. Fusce vitae sem. Fusce tempor felis vitae pede.
-
-Nurabitur id mi. Morbi tempor porta neque. Curabitur nunc dui, posuere sed, ornare eget, pellentesque eu, nisl. Suspendisse eget nulla in nisl consequat vulputate. Quisque id neque. Curabitur consectetuer, risus viverra suscipit rutrum, tortor mauris consequat lectus, quis gravida dolor arcu a velit. Sed elementum sagittis pede. Fusce erat. Aliquam quis justo. Praesent justo. Fusce turpis justo, fermentum et, placerat quis, vestibulum sed, sem. Morbi iaculis. Nunc in massa.
-
-Nulla mi. Suspendisse potenti. Quisque sapien nisl, congue id, egestas a, lacinia ut, pede. Etiam vehicula nisi eu dolor. Aliquam nulla elit, dignissim nec, suscipit ut, cursus sit amet, dui. Sed vel lorem ut lacus sagittis egestas. Quisque justo nisl, convallis non, ultrices et, tempor at, pede. Phasellus orci. Morbi non velit blandit pede adipiscing mollis. Cras malesuada. Mauris tincidunt massa ut risus. Maecenas sit amet mi nec elit ultrices tincidunt. Nullam hendrerit congue ipsum. Fusce felis.
-
-%Yours sincerely,\\[2em] % if the opening is "Dear Mr(s) Doe,"
-Yours faithfully,\\[2em] % if the opening is "Dear Sir or Madam,"
-%
-%\includegraphics[scale=0.75]{signature_blue}\\
-{\bfseries John Doe}\\
-%
-\vfill%
-{\slshape Enclosure}
-%{\slshape Attachment: curriculum vit\ae{}}
-\end{document}
diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/picture.eps b/Master/texmf-dist/doc/latex/moderncv/examples/picture.eps
index 67696ddc606..e7415b00934 100644
--- a/Master/texmf-dist/doc/latex/moderncv/examples/picture.eps
+++ b/Master/texmf-dist/doc/latex/moderncv/examples/picture.eps
@@ -1,9 +1,9 @@
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: (ImageMagick)
-%%Title: (jdoe_picture.eps)
-%%CreationDate: (Sat Sep 9 12:44:46 2006)
-%%BoundingBox: 0 0 96 96
-%%HiResBoundingBox: 0 0 96 96
+%%Title: (picture.eps)
+%%CreationDate: (2012-03-25T00:18:42-04:00)
+%%BoundingBox: 0 0 94 94
+%%HiResBoundingBox: 0 0 94 94
%%DocumentData: Clean7Bit
%%LanguageLevel: 1
%%Pages: 1
@@ -259,787 +259,698 @@
currentfile buffer readline pop
token pop /compression exch def pop
class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
- grestore
} bind def
%%EndProlog
%%Page: 1 1
-%%PageBoundingBox: 0 0 96 96
+%%PageBoundingBox: 0 0 94 94
userdict begin
DisplayImage
0 0
-96 96
-12.000000
-96 96
+94 94
+12
+94 94
0
0
-BDC1C2D1D5D6CDD1D4C7CBCECCCFD4CCCFD4CBCED3C9CCD1CACFD3CACFD3CACFD3C9CED2
-C9CED2C8CDD1C8CDD1C7CCD0CDD0D9CDD0D9CDD0D9CCCFD8CCCFD8CBCED7CBCED7CBCED7
-CBD0D3CBD0D3CACFD2CACFD2C9CED1C8CDD0C8CDD0C7CCCFCBD0D6CBD0D6CACFD5C9CED4
-C8CDD3C8CDD3C7CCD2C7CCD2C9D0D8C9D0D8C9D0D8C8CFD7C7CED6C6CDD5C6CDD5C5CCD4
-C7CFDAC6CED9C6CED9C5CDD8C4CCD7C4CCD7C3CBD6C3CBD6C5CBD7C5CBD7C4CAD6C4CAD6
-C3C9D5C2C8D4C2C8D4C1C7D3C8CCD5C8CCD5C7CBD4C6CAD3C5C9D2C5C9D2C4C8D1C4C8D1
-C9CED4C9CED4C8CDD3C7CCD2C7CCD2C6CBD1C5CAD0C5CAD0C7D0D5C6CFD4C6CFD4C5CED3
-C4CDD2C3CCD1C3CCD1C2CBD0C6CAD6C5CCD4C3CED2BDCAD3C2CBDCC1C7D5C2C6C5D6DACB
-D2D6D7E9EDEEE8ECEFE4E8EBE9ECF1E8EBF0E7EAEFE5E8EFE5EAEEE5EAEEE4E9EDE4E9ED
-E3E8ECE3E8ECE2E7EBE2E7EBE0E3ECDFE2EBDFE2EBDFE2EBDEE1EADDE0E9DDE0E9DDE0E9
-DCE1E7DBE0E6DBE0E6DADFE5D9DEE4D8DDE3D8DDE3D7DCE2D4D8E3D4D8E3D3D7E2D3D7E2
-D2D6E1D1D5E0D0D4DFD0D4DFCBD1DDCBD1DDCAD0DCCAD0DCC9CFDBC8CEDAC8CEDAC7CDD9
-C7CFDCC6CEDBC6CEDBC5CDDAC4CCD9C3CBD8C3CBD8C3CBD8C2CAD7C2CAD7C1C9D6C1C9D6
-C0C8D5BFC7D4BEC6D3BEC6D3BBC2D5BBC2D5BAC1D4BAC1D4B9C0D3B8BFD2B8BFD2B7BED1
-B4BAD0B4BAD0B3B9CFB3B9CFB2B8CEB1B7CDB1B7CDB0B6CCABB6CAAAB5C9AAB5C9A9B4C8
-A8B3C7A7B2C6A7B2C6A6B1C5A9AECBA9B1C6A6B1C3A1ADC5A4AFCFA5ACC9A8AEBCC0C4C3
-D0D4D7E9EDF0EDF1F4EBEEF3EEF1F6ECEFF6EBEEF5EAEDF4E8EDF3E8EDF3E8EDF3E7ECF2
-E7ECF2E6EBF1E6EBF1E6EBF1E1E5EEE1E5EEE1E5EEE0E4EDE0E4EDDFE3ECDFE3ECDEE2EB
-DAE0ECDAE0ECD9DFEBD8DEEAD7DDE9D7DDE9D6DCE8D6DCE8D4DAE8D4DAE8D3D9E7D3D9E7
-D2D8E6D1D7E5D0D6E4D0D6E4CDD4E4CCD3E3CCD3E3CBD2E2CAD1E1C9D0E0C9D0E0C8CFDF
-C6CDE0C6CDE0C6CDE0C5CCDFC4CBDEC3CADDC3CADDC2C9DCBDC8DABCC7D9BCC7D9BBC6D8
-BAC5D7B9C4D6B9C4D6B9C4D6B6BFDEB6BFDEB5BEDDB4BDDCB3BCDBB3BCDBB2BBDAB2BBDA
-B0B8DDAFB7DCAFB7DCAEB6DBADB5DAACB4D9ACB4D9ABB3D8A6B3D6A6B3D6A5B2D5A4B1D4
-A3B0D3A3B0D3A2AFD2A2AFD2A2A9D5A2ACD09FAECF99A8CF9CA9D69EA7D2A5ACC9C0C8D5
-CACED1E6EAEDEBEEF3E8EBF0EBEEF3E8EBF2E8EBF2E8EBF2E5EAF0E5EAF0E4E9EFE4E9EF
-E3E8EEE3E8EEE2E7EDE2E7EDE1E5F0E1E5F0E0E4EFE0E4EFDFE3EEDFE3EEDFE3EEDEE2ED
-D9DFEFD9DFEFD8DEEED7DDEDD6DCECD6DCECD5DBEBD5DBEBD2D7EAD2D7EAD1D6E9D1D6E9
-D0D5E8CFD4E7CED3E6CED3E6CDD4E7CDD4E7CCD3E6CBD2E5CBD2E5CAD1E4C9D0E3C9D0E3
-C5CDE4C5CDE4C4CCE3C4CCE3C3CBE2C2CAE1C1C9E0C1C9E0B9C8DFB8C7DEB8C7DEB7C6DD
-B6C5DCB5C4DBB5C4DBB4C3DAB4C1E1B4C1E1B4C1E1B3C0E0B2BFDFB1BEDEB1BEDEB0BDDD
-ADB9E1ADB9E1ACB8E0ACB8E0ABB7DFAAB6DEA9B5DDA9B5DDA7B6DDA7B6DDA6B5DCA6B5DC
-A5B4DBA4B3DAA3B2D9A3B2D9A1ACDAA0AFD69FB1D599ACD69BABDE9BA9D6A5B0D0C2CEDE
-CED1D6E9ECF1EDF0F5EAEDF4EBEEF5E8EBF2E9ECF5EAEDF6E7EBF4E6EAF3E6EAF3E6EAF3
-E5E9F2E4E8F1E4E8F1E4E8F1DFE6F0DFE6F0DFE6F0DEE5EFDEE5EFDDE4EEDDE4EEDCE3ED
-D9E0F2D8DFF1D8DFF1D7DEF0D6DDEFD5DCEED5DCEED5DCEED3DAEDD3DAEDD2D9ECD1D8EB
-D0D7EAD0D7EACFD6E9CFD6E9CCD2E8CCD2E8CBD1E7CBD1E7CAD0E6C9CFE5C8CEE4C8CEE4
-C5CCE6C5CCE6C4CBE5C3CAE4C2C9E3C2C9E3C1C8E2C1C8E2B9C7E1B9C7E1B8C6E0B7C5DF
-B6C4DEB6C4DEB5C3DDB5C3DDB1C1DAB1C1DAB0C0D9B0C0D9AFBFD8AEBED7ADBDD6ADBDD6
-ACBBDAACBBDAABBAD9AAB9D8A9B8D7A9B8D7A8B7D6A8B7D6A2B5D5A2B5D5A1B4D4A0B3D3
-A0B3D39FB2D29EB1D19EB1D19DABD09DADCE9BB0CD96ADCF98ABD594A6CC9EADC4BDCBD4
-CDD0D5E7EAEFEAEDF2E6E9F0E7EAF1E4E7F0E6E9F2E6E9F2E4E8F1E3E7F0E3E7F0E3E7F0
-E2E6EFE1E5EEE1E5EEE1E5EEDCE2EEDCE2EEDCE2EEDBE1EDDBE1EDDAE0ECDAE0ECDAE0EC
-D7DEEED6DDEDD6DDEDD5DCECD4DBEBD3DAEAD3DAEAD2D9E9D2D9ECD2D9ECD1D8EBD1D8EB
-D0D7EACFD6E9CED5E8CED5E8CAD2E7CAD2E7C9D1E6C9D1E6C8D0E5C7CFE4C6CEE3C6CEE3
-C3CDE6C2CCE5C2CCE5C1CBE4C0CAE3BFC9E2BFC9E2BFC9E2B9C7E1B9C7E1B8C6E0B8C6E0
-B7C5DFB6C4DEB6C4DEB5C3DDB1C2D6B1C2D6B0C1D5B0C1D5AFC0D4AEBFD3AEBFD3ADBED2
-AEBED7ADBDD6ADBDD6ACBCD5ABBBD4AABAD3AABAD3AABAD3A4B8D3A3B7D2A3B7D2A2B6D1
-A1B5D0A0B4CFA0B4CF9FB3CEA0AFCE9FB0CA9DB3CA9BB0CD9BAFD298A8C99EAEBEBDCCCF
-CDD0D5E7EAF1EAEDF4E6E9F0E8EBF4E6E9F2E7E9F5E6E8F4E4E8F1E4E8F1E4E8F1E3E7F0
-E3E7F0E2E6EFE2E6EFE1E5EEDDE5F0DDE5F0DDE5F0DCE4EFDCE4EFDBE3EEDBE3EEDAE2ED
-D8E0EDD8E0EDD7DFECD7DFECD6DEEBD5DDEAD4DCE9D4DCE9D0D7E9D0D7E9CFD6E8CED5E7
-CED5E7CDD4E6CCD3E5CCD3E5CAD2E5CAD2E5C9D1E4C9D1E4C8D0E3C7CFE2C6CEE1C6CEE1
-C2CDE3C2CDE3C2CDE3C1CCE2C0CBE1BFCAE0BFCAE0BEC9DFBCC6DFBCC6DFBBC5DEBAC4DD
-BAC4DDB9C3DCB8C2DBB8C2DBB4C2DCB4C2DCB3C1DBB3C1DBB2C0DAB1BFD9B0BED8B0BED8
-ACBAD5ABB9D4ABB9D4AAB8D3A9B7D2A8B6D1A8B6D1A7B5D0A5B6D4A4B5D3A4B5D3A3B4D2
-A2B3D1A1B2D0A1B2D0A1B2D0A1AED09EADCA9CB0C99BAECE9BADD398A6C99FACBFBECBD1
-CBCED5E5E8EFE9ECF3E7EAF1EAEDF6E7EAF3E7E9F5E6E8F4E4E8F3E4E8F3E4E8F3E3E7F2
-E3E7F2E2E6F1E2E6F1E1E5F0DBE3EEDBE3EEDAE2EDDAE2EDD9E1ECD9E1ECD8E0EBD8E0EB
-D4DEE8D4DEE8D3DDE7D3DDE7D2DCE6D1DBE5D1DBE5D0DAE4D1DAE9D0D9E8D0D9E8CFD8E7
-CED7E6CED7E6CDD6E5CDD6E5CBD4E5CAD3E4CAD3E4C9D2E3C8D1E2C7D0E1C7D0E1C6CFE0
-C2CDE1C2CDE1C1CCE0C1CCE0C0CBDFBFCADEBFCADEBEC9DDBDC4DEBDC4DEBDC4DEBCC3DD
-BBC2DCBAC1DBBAC1DBB9C0DAB4BEE1B4BEE1B3BDE0B3BDE0B2BCDFB1BBDEB0BADDB0BADD
-AFB9DCAFB9DCAEB8DBADB7DAADB7DAACB6D9ABB5D8ABB5D8A6B4D9A6B4D9A5B3D8A4B2D7
-A3B1D6A3B1D6A2B0D5A2B0D5A4ADD69FACCE9DAECC9CACD09EACD99AA6D0A2ACC7C3CDD7
-CCD1D7E5EAF0E7EBF4E4E8F1E7EBF4E4E8F3E5E9F4E4E8F3E3E7F3E3E7F3E3E7F3E2E6F2
-E2E6F2E1E5F1E1E5F1E0E4F0DCE2F0DCE2F0DBE1EFDBE1EFDAE0EEDAE0EED9DFEDD9DFED
-D7DDEDD7DDEDD7DDEDD6DCECD5DBEBD4DAEAD4DAEAD3D9E9D4DBEED1D8EBCED5E8CED5E8
-D0D7EAD0D7EACDD4E7C9D0E3CDD5ECC9D1E8C5CDE4C6CEE5CAD2E9CBD3EAC8D0E7C5CDE4
-C1CCE2C1CCE2BFCAE0BEC9DFBDC8DEBDC8DEBCC7DDBCC7DDBBC7E1BAC6E0BAC6E0B9C5DF
-B8C4DEB7C3DDB7C3DDB6C2DCB3C1DEB2C0DDB2C0DDB1BFDCB0BEDBAFBDDAAFBDDAAEBCD9
-ABBAD9AAB9D8AAB9D8A9B8D7A8B7D6A8B7D6A7B6D5A7B6D5A5B4D5A4B3D4A4B3D4A3B2D3
-A2B1D2A2B1D2A1B0D1A1B0D1A0AFCE9DACD39BADD19AADCB9CACD099A4D2A2ABCCC4CDD2
-CBD0D6E5EAF0E7EBF4E3E7F0E6EAF3E4E8F3E4E8F3E4E8F3E3E7F3E3E7F3E2E6F2E2E6F2
-E1E5F1E1E5F1E0E4F0E0E4F0DCE2F0DCE2F0DBE1EFDBE1EFDAE0EEDAE0EED9DFEDD9DFED
-D7DDEDD7DDEDD6DCECD6DCECD5DBEBD4DAEAD3D9E9D3D9E9D0D7EAD0D7EAD0D7EAD0D7EA
-D0D7EAD0D7EAD0D7EAD0D7EAC9D1E6C9D1E6C9D1E6C8D0E5C5CDE2C4CCE1C3CBE0C4CCE1
-C4CFE5C4CFE5C2CDE3C1CCE2BFCAE0BEC9DFBCC7DDBCC7DDBAC6E0BAC6E0BAC6E0B9C5DF
-B8C4DEB7C3DDB7C3DDB6C2DCB2C0DDB2C0DDB2C0DDB1BFDCB0BEDBAFBDDAAFBDDAAEBCD9
-ABBAD9AAB9D8AAB9D8A9B8D7A8B7D6A7B6D5A7B6D5A7B6D5A5B4D5A4B3D4A4B3D4A3B2D3
-A2B1D2A1B0D1A1B0D1A1B0D1A0AFCE9DACD39BADD19AADCB9CACD099A4D2A2ABCCC4CDD2
-CBD0D6E4E9EFE6EAF3E3E7F0E6EAF3E3E7F2E4E8F3E3E7F2E2E6F2E2E6F2E2E6F2E1E5F1
-E1E5F1E0E4F0E0E4F0E0E4F0DBE1EFDBE1EFDBE1EFDAE0EEDAE0EED9DFEDD9DFEDD9DFED
-D7DDEDD7DDEDD6DCECD5DBEBD4DAEAD4DAEAD3D9E9D3D9E9CFD6E9D0D7EAD0D7EACED5E8
-CBD2E5C9D0E3C9D0E3CAD1E4C5CDE2C8D0E5CBD3E8CCD4E9CAD2E7C8D0E5C6CEE3C5CDE2
-BDC8DEBDC8DEBDC8DEBDC8DEBDC8DEBDC8DEBDC8DEBEC9DFBAC6E0BAC6E0B9C5DFB9C5DF
-B8C4DEB7C3DDB6C2DCB6C2DCB2C0DDB2C0DDB1BFDCB1BFDCB0BEDBAFBDDAAEBCD9AEBCD9
-AAB9D8AAB9D8AAB9D8A9B8D7A8B7D6A7B6D5A7B6D5A6B5D4A4B3D4A4B3D4A4B3D4A3B2D3
-A2B1D2A1B0D1A1B0D1A0AFD09FAECD9DACD39BADD199ACCA9CACD099A4D2A2ABCCC4CDD2
-CACFD5E3E8EEE5E9F2E2E6EFE5E9F2E3E7F2E3E7F2E2E6F1E2E6F2E1E5F1E1E5F1E0E4F0
-E0E4F0DFE3EFDFE3EFDFE3EFDBE1EFDBE1EFDAE0EEDAE0EED9DFEDD9DFEDD8DEECD8DEEC
-D6DCECD6DCECD5DBEBD5DBEBD4DAEAD3D9E9D3D9E9D2D8E8CFD6E9CFD6E9CFD6E9CED5E8
-CDD4E7CCD3E6CCD3E6CCD3E6CBD3E8C6CEE3C1C9DEC0C8DDC2CADFC5CDE2C5CDE2C4CCE1
-C3CEE4C2CDE3C0CBE1BFCAE0BEC9DFBDC8DEBDC8DEBEC9DFBAC6E0BAC6E0B9C5DFB8C4DE
-B7C3DDB7C3DDB6C2DCB6C2DCB2C0DDB2C0DDB1BFDCB0BEDBAFBDDAAFBDDAAEBCD9AEBCD9
-AAB9D8AAB9D8A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A6B5D4A4B3D4A4B3D4A3B2D3A3B2D3
-A2B1D2A1B0D1A0AFD0A0AFD09FAECD9CABD29BADD199ACCA9CACD099A4D2A1AACBC3CCD1
-C9CED4E2E7EDE4E8F1E1E5EEE4E8F1E2E6F1E2E6F1E1E5F0E1E5F1E1E5F1E0E4F0E0E4F0
-DFE3EFDFE3EFDEE2EEDEE2EEDAE0EEDAE0EEDAE0EED9DFEDD9DFEDD8DEECD8DEECD8DEEC
-D6DCECD5DBEBD5DBEBD4DAEAD3D9E9D3D9E9D2D8E8D2D8E8D1D8EBCFD6E9CDD4E7CDD4E7
-CDD4E7CCD3E6CAD1E4C8CFE2CCD4E7CAD2E5C7CFE2C7CFE2C8D0E3C8D0E3C6CEE1C4CCDF
-C3CEE4C1CCE2BFCAE0BDC8DEBCC7DDBCC7DDBDC8DEBEC9DFBAC6E0B9C5DFB9C5DFB8C4DE
-B7C3DDB6C2DCB6C2DCB6C2DCB2C0DDB1BFDCB1BFDCB0BEDBAFBDDAAEBCD9AEBCD9AEBCD9
-AAB9D8AAB9D8A9B8D7A8B7D6A7B6D5A7B6D5A6B5D4A6B5D4A4B3D4A4B3D4A3B2D3A2B1D2
-A1B0D1A1B0D1A0AFD0A0AFD09FAECD9CABD29BADD199ACCA9CACD099A4D2A1AACBC3CCD1
-C8CDD3E2E7EDE4E8F1E0E4EDE3E7F0E1E5F0E1E5F0E1E5F0E0E4F0E0E4F0DFE3EFDFE3EF
-DEE2EEDEE2EEDDE1EDDDE1EDDAE0EEDAE0EED9DFEDD9DFEDD8DEECD8DEECD7DDEBD7DDEB
-D5DBEBD5DBEBD4DAEAD4DAEAD3D9E9D2D8E8D1D7E7D1D7E7D1D8EBCFD6E9CED5E8CDD4E7
-CDD4E7CCD3E6CAD1E4C9D0E3C6CEE1C8D0E3C9D1E4C6CEE1C1C9DCBFC7DAC1C9DCC4CCDF
-C1CCE2C1CCE2C0CBE1BFCAE0BEC9DFBDC8DEBDC8DEBDC8DEB9C5DFB9C5DFB9C5DFB8C4DE
-B7C3DDB6C2DCB6C2DCB5C1DBB1BFDCB1BFDCB1BFDCB0BEDBAFBDDAAEBCD9AEBCD9ADBBD8
-AAB9D8A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A6B5D4A6B5D4A4B3D4A3B2D3A3B2D3A2B1D2
-A1B0D1A0AFD0A0AFD0A0AFD09FAECD9CABD29AACD099ACCA9BABCF98A3D1A1AACBC3CCD1
-C8CDD3E1E6ECE3E7F0E0E4EDE3E7F0E1E5F0E1E5F0E0E4EFDFE3EFDFE3EFDFE3EFDEE2EE
-DEE2EEDDE1EDDDE1EDDDE1EDD9DFEDD9DFEDD9DFEDD8DEECD8DEECD7DDEBD7DDEBD7DDEB
-D5DBEBD5DBEBD4DAEAD3D9E9D2D8E8D2D8E8D1D7E7D1D7E7CCD3E6CFD6E9D0D7EACED5E8
-C8CFE2C5CCDFC7CEE1CAD1E4CCD5E6C3CCDDB2BBCC9EA7B88E97A88992A38E97A8949DAE
-B8C3D9BAC5DBBDC8DEBFCAE0BFCAE0BEC9DFBBC6DCBAC5DBB9C5DFB9C5DFB8C4DEB8C4DE
-B7C3DDB6C2DCB5C1DBB5C1DBB1BFDCB1BFDCB0BEDBB0BEDBAFBDDAAEBCD9ADBBD8ADBBD8
-A9B8D7A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A6B5D4A5B4D3A3B2D3A3B2D3A3B2D3A2B1D2
-A1B0D1A0AFD0A0AFD09FAECF9EADCC9CABD29AACD098ABC99BABCF98A3D1A1AACBC3CCD1
-C7CCD2E1E6ECE3E7F0E0E4EDE2E6EFE0E4EFE0E4EFE0E4EFDFE3EFDFE3EFDEE2EEDEE2EE
-DDE1EDDDE1EDDCE0ECDCE0ECD9DFEDD9DFEDD9DFEDD8DEECD8DEECD7DDEBD7DDEBD6DCEA
-D5DBEBD4DAEAD4DAEAD3D9E9D2D8E8D1D7E7D1D7E7D1D7E7CCD3E6D0D7EACFD6E9C2C9DC
-B0B7CAA3AABDA2A9BCA6ADC098A1B2929BAC8992A3818A9B7D86977D86977F889980899A
-8B96AC939EB49FAAC0ABB6CCB5C0D6BAC5DBBCC7DDBCC7DDB9C5DFB9C5DFB8C4DEB7C3DD
-B7C3DDB6C2DCB5C1DBB5C1DBB1BFDCB1BFDCB0BEDBAFBDDAAFBDDAAEBCD9ADBBD8ADBBD8
-A9B8D7A9B8D7A8B7D6A8B7D6A7B6D5A6B5D4A6B5D4A5B4D3A3B2D3A3B2D3A2B1D2A2B1D2
-A1B0D1A0AFD0A0AFD09FAECF9EADCC9CABD29AACD098ABC99BABCF98A3D1A1AACBC3CCD1
-CDD0D9DFE2EBE0E4EDE0E4EFDEE5EFDBE1EDDDE5F0DBE3EEDCE2F0DCE2F0DBE1EFDBE1EF
-DAE0EEDAE0EED9DFEDD9DFEDD7DDEDD7DDEDD7DDEDD6DCECD6DCECD5DBEBD5DBEBD5DBEB
-D4DBEDCFD6E8D3DAECD5DCEECFD6E8CED5E7D1D8EACDD4E6D1D7E5BBC1CFA3A9B79298A6
-858B997C82907B818F8086948187978187978086968086968086968086967F85957F8595
-808799777E9072798B7B82949198AAAAB1C3BAC1D3C1C8DABCC7DDB8C2DBB9C5DDB4C0DA
-B3BEDAB3C1DEB1BEDEB5C2E2B0BEDBAFBDDAAFBDDAAEBCD9ADBBD8ACBAD7ACBAD7ABB9D6
-A9B8D7A9B8D7A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A3B1D4A3B1D4A2B0D3A2B0D3
-A1AFD2A0AED19FADD09FADD09DADCF99AAD598ABD397ACCB99ABD197A3D3A0ABC9C2CDCF
-CDD0D9DFE2EBE0E4EDDFE3EEDDE4EEDBE1EDDCE4EFDAE2EDDCE2F0DBE1EFDBE1EFDBE1EF
-DAE0EED9DFEDD9DFEDD9DFEDD7DDEDD7DDEDD7DDEDD6DCECD5DBEBD5DBEBD5DBEBD4DAEA
-CFD6E8D6DDEFD3DAECCED5E7CFD6E8CFD6E8CED5E7D2D9EBB4BAC89CA2B0868C9A838997
-888E9C878D9B8187957D83918187978086968086968086968086967F85957F85957F8595
-7980927C83957E85977B82947980928087999198AA9EA5B7B4BFD5B7C2D8BDC7E0B7C3DD
-B6C1DDB8C6E3B3C1DEB2BFDFAFBDDAAFBDDAAFBDDAAEBCD9ADBBD8ACBAD7ACBAD7ABB9D6
-A9B8D7A9B8D7A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A3B1D4A3B1D4A2B0D3A2B0D3
-A1AFD2A0AED19FADD09FADD09CACCE99AAD598ABD397ACCB99ABD197A3D3A0ABC9C2CDCF
-CCCFD8DEE1EADFE3ECDFE3EEDDE4EEDAE0ECDCE4EFDAE2EDDBE1EFDBE1EFDAE0EEDAE0EE
-D9DFEDD9DFEDD9DFEDD8DEECD7DDEDD6DCECD6DCECD5DBEBD5DBEBD4DAEAD4DAEAD4DAEA
-CED5E7D6DDEFD4DBEDCCD3E5CCD3E5D0D7E9CED5E7CAD1E38D93A18389977C82907F8593
-848A988389978288968389978086968086968086968086968086967F85957F85957F8595
-7C83957E85977E8597798092747B8D747B8D7A81938087998D95AA9AA5B9B3BED4B9C3DC
-B5C1DBB2BDD9ACBAD7B3C1DEAFBDDAAFBDDAAEBCD9AEBCD9ADBBD8ACBAD7ABB9D6ABB9D6
-A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A6B5D4A5B4D3A5B4D3A3B1D4A3B1D4A2B0D3A1AFD2
-A0AED1A0AED19FADD09FADD09CACCE99AAD598ABD397ACCB99ABD197A3D3A0ABC9C2CDCF
-CCCFD8DDE0E9DFE3ECDEE2EDDCE3EDDAE0ECDBE3EED9E1ECDAE0EEDAE0EEDAE0EED9DFED
-D9DFEDD8DEECD8DEECD8DEECD6DCECD6DCECD5DBEBD5DBEBD4DAEAD4DAEAD3D9E9D3D9E9
-D3DAECCDD4E6D3DAECD2D9EBCAD1E3D1D8EACCD3E5AFB6C87F8593808694848A98858B99
-8187957C82907E8492858B998086968086968086968086967F85957F85957F85957F8595
-81889A7C83957980927980927D84967E85977B8294777E90737B8E7F879C9DA8BCB5C0D6
-BCC6DFB6C2DCAFBAD6B6C1DDAFBDDAAFBDDAAEBCD9ADBBD8ACBAD7ACBAD7ABB9D6ABB9D6
-A9B8D7A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A5B4D3A3B1D4A2B0D3A2B0D3A1AFD2
-A0AED19FADD09FADD09FADD09CACCE98A9D498ABD396ABCA98AAD097A3D3A0ABC9C2CDCF
-CBCED7DDE0E9DEE2EBDDE1ECDBE2ECD9DFEBDAE2EDD8E0EBD9DFEDD9DFEDD9DFEDD8DEEC
-D8DEECD7DDEBD7DDEBD7DDEBD5DBEBD5DBEBD4DAEAD4DAEAD3D9E9D3D9E9D2D8E8D2D8E8
-D5DCEECAD1E3CED5E7D3DAECCED5E7CDD4E6B8BFD19299AB878D9B848A98838997858B99
-858B998187957E84927E84928086968086968086967F85957F85957F85957F85957E8494
-7C83957B82947B82947A81937A8193798092787F91777E90778091727A8D80889B949FB3
-AFBAD0BEC8E1B4C0DAADB9D3AFBDDAAEBCD9AEBCD9ADBBD8ACBAD7ABB9D6ABB9D6ABB9D6
-A8B7D6A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A4B3D2A2B0D3A2B0D3A2B0D3A1AFD2
-A0AED19FADD09FADD09EACCF9CACCE98A9D498ABD396ABCA98AAD096A2D29FAAC8C1CCCE
-CACDD6DCDFE8DDE1EADCE0EBDBE2ECD8DEEAD9E1ECD7DFEAD9DFEDD8DEECD8DEECD8DEEC
-D7DDEBD7DDEBD6DCEAD6DCEAD4DAEAD4DAEAD4DAEAD3D9E9D3D9E9D2D8E8D2D8E8D1D7E7
-D0D7E9D1D8EACBD2E4CCD3E5D2D9EBBCC3D5989FB1838A9C878D9B838997818795828896
-848A98848A988187957E84928086967F85957F85957F85957F85957E84947E84947E8494
-7A81937A81937A8193798092787F91787F91777E90777E90798090747B8D727B8C747C8F
-8C97ABAFBAD0B6C0D9B2BED6AEBCD9AEBCD9AEBCD9ADBBD8ACBAD7ABB9D6ABB9D6AAB8D5
-A8B7D6A8B7D6A7B6D5A7B6D5A6B5D4A5B4D3A4B3D2A4B3D2A2B0D3A2B0D3A1AFD2A1AFD2
-A0AED19FADD09EACCF9EACCF9BABCD98A9D497AAD296ABCA98AAD096A2D29FAAC8C1CCCE
-C9CCD5DBDEE7DCE0E9DCE0EBDAE1EBD8DEEAD9E1ECD7DFEAD8DEECD8DEECD8DEECD7DDEB
-D6DCEAD6DCEAD6DCEAD5DBE9D4DAEAD3D9E9D3D9E9D3D9E9D2D8E8D1D7E7D1D7E7D1D7E7
-CDD4E6D3DAECCDD4E6CAD1E3C6CDDFA2A9BB81889A82899B818795828896838997828896
-8086948086948187958288967F85957F85957F85957F85957F85957E84947E84947E8494
-7B8294798092787F917980927B82947D84967B8294798092787F8F7980907B8294727A8D
-788095919CB0A8B3C9BAC5DBAEBCD9AEBCD9ADBBD8ADBBD8ACBAD7ABB9D6AAB8D5AAB8D5
-A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A4B3D2A4B3D2A2B0D3A2B0D3A1AFD2A0AED1
-9FADD09FADD09EACCF9EACCF9BABCD98A9D497AAD296ABCA98AAD096A2D29FAAC8C1CCCE
-C9CCD5DBDEE7DCE0E9DBDFEADAE1EBD7DDE9D9E1ECD7DFEAD8DEECD8DEECD7DDEBD7DDEB
-D6DCEAD6DCEAD5DBE9D5DBE9D3D9E9D3D9E9D3D9E9D2D8E8D2D8E8D1D7E7D1D7E7D1D7E7
-CED5E7CFD6E8D1D8EACED5E7B5BCCE8C93A57A8193858C9E848A98838997828896808694
-8086948086948086947F85937F85957F85957F85957F85957E84947E84947E84947E8494
-787F917B82947C83957B8294787F91777E90787F917A819378808D737A8A798090778091
-727A8D777F948893A9A7B2C8AEBCD9AEBCD9ADBBD8ACBAD7ACBAD7ABB9D6AAB8D5AAB8D5
-A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A4B3D2A4B3D2A2B0D3A2B0D3A1AFD2A0AED1
-9FADD09FADD09EACCF9EACCF9BABCD97A8D397AAD296ABCA98AAD096A2D29FAAC8C1CCCE
-CBD0D4D8DCE5DAE0ECD6DBEED6DDEFD7DEF0D5DCECD4DEEAD5DCEED5DCEED4DBEDD4DBED
-D3DAECD3DAECD2D9EBD2D9EBD1D8EBD1D8EBD1D8EBD0D7EAD0D7EACFD6E9CFD6E9CED5E8
-D1D6E9CCD1E4D2D8E8C3C9D99399A97C8290858B99808694818795818795818795818795
-8187958086948086948086948086968086967F85957F85957E84947E84947D83937D8393
-7B82947B82947A81937A8193798092798092798092787F91747B8E7B8295787F92787F92
-79809370778A798093989FB2B5C1D9B0BCD6ADB9D3ADBBD6ACBAD7AAB7D7A8B7D8A7B6D7
-A6B5D6A6B5D6A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D29FAFD39FAFD39EAED29EAED2
-9DADD19CACD09BABCF9BABCF9BABCD97A8D398ABD392A7C697A9CF97A3D39AA5C3C2CDCF
-CBD0D4D8DCE5DAE0ECD6DBEED5DCEED6DDEFD5DCECD4DEEAD5DCEED4DBEDD4DBEDD4DBED
-D3DAECD2D9EBD2D9EBD2D9EBD1D8EBD1D8EBD0D7EAD0D7EACFD6E9CFD6E9CED5E8CED5E8
-CED3E6CDD2E5D3D9E9B3B9C98A90A0828896818795838997818795818795818795818795
-8086948086948086948086948086967F85957F85957E84947E84947D83937D83937D8393
-7B82947B82947A81937A8193798092798092787F91787F91777E91787F92757C8F777E91
-798093737A8D767D90888FA2A8B4CCADB9D3AEBAD4A9B7D2ABB9D6ACB9D9A9B8D9A7B6D7
-A6B5D6A6B5D6A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D29FAFD39FAFD39EAED29EAED2
-9DADD19CACD09BABCF9BABCF9BABCD97A8D397AAD292A7C697A9CF97A3D39AA5C3C2CDCF
-CACFD3D8DCE5D9DFEBD5DAEDD5DCEED6DDEFD4DBEBD3DDE9D4DBEDD4DBEDD3DAECD3DAEC
-D2D9EBD2D9EBD2D9EBD1D8EAD0D7EAD0D7EAD0D7EACFD6E9CFD6E9CED5E8CED5E8CED5E8
-CACFE2CDD2E5CAD0E09CA2B2818797868C9A7E8492878D9B818795818795818795818795
-8086948086948086948086947F85957F85957F85957E84947E84947D83937D83937C8292
-7B82947B82947A81937A8193798092798092787F91787F91798093757C8F747B8E767D90
-787F92767D90757C8F767D90919DB5A9B5CFB1BDD7A8B6D1A9B7D4ADBADAAAB9DAA7B6D7
-A6B5D6A6B5D6A5B4D5A4B3D4A3B2D3A3B2D3A2B1D2A2B1D29FAFD39FAFD39EAED29DADD1
-9CACD09CACD09BABCF9BABCF9AAACC97A8D397AAD291A6C597A9CF97A3D39AA5C3C2CDCF
-CACFD3D7DBE4D8DEEAD4D9ECD4DBEDD5DCEED3DAEAD3DDE9D3DAECD3DAECD3DAECD2D9EB
-D2D9EBD1D8EAD1D8EAD1D8EAD0D7EACFD6E9CFD6E9CED5E8CED5E8CDD4E7CDD4E7CDD4E7
-CBD0E3CBD0E3B4BACA898F9F7F8595868C9A7F8593878D9B818795818795818795808694
-8086948086948086947F85937F85957E84947E84947E84947D83937C82927C82927C8292
-7B82947A81937A8193798092798092787F91787F91787F91798093747B8E757C8F767D90
-757C8F767D90757C8F6D74877B879FA1ADC7B4C0DAAAB8D3A8B6D3ACB9D9A9B8D9A7B6D7
-A6B5D6A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D2A2B1D29FAFD39EAED29EAED29DADD1
-9CACD09BABCF9BABCF9BABCF9AAACC96A7D297AAD291A6C596A8CE97A3D39AA5C3C2CDCF
-C9CED2D6DAE3D8DEEAD3D8EBD3DAECD4DBEDD3DAEAD2DCE8D2D9EBD2D9EBD2D9EBD1D8EA
-D1D8EAD0D7E9D0D7E9D0D7E9CFD6E9CFD6E9CED5E8CED5E8CDD4E7CDD4E7CCD3E6CCD3E6
-CDD2E5C4C9DC979DAD7F8595848A9A818795828896848A98818795808694808694808694
-8086947F85937F85937F85937E84947E84947E84947D83937C82927C82927C82927B8191
-7A81937A81937A8193798092798092787F91787F91777E90787F92747B8E777E91777E91
-72798C757C8F777E916F76896C789096A2BCB1BDD7ADBBD6A9B7D4A9B6D6A7B6D7A7B6D7
-A5B4D5A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D2A1B0D19EAED29EAED29EAED29DADD1
-9CACD09BABCF9BABCF9AAACE9AAACC96A7D297AAD291A6C596A8CE96A2D299A4C2C2CDCF
-C8CDD1D5D9E2D7DDE9D3D8EBD2D9EBD3DAECD2D9E9D1DBE7D2D9EBD1D8EAD1D8EAD1D8EA
-D0D7E9D0D7E9CFD6E8CFD6E8CED5E8CED5E8CDD4E7CDD4E7CCD3E6CCD3E6CBD2E5CBD2E5
-CED3E6B7BCCF8389997E8494878D9D7E8492848A98828896808694808694808694808694
-7F85937F85937F85937F85937E84947D83937D83937C82927C82927B81917B81917B8191
-7A81937A8193798092798092787F91787F91777E90777E90777E91757C8F777E91777E91
-71788B737A8D767D90737A8D68748C8490AAA2AEC8ACBAD5AAB8D5A7B4D4A6B5D6A6B5D6
-A5B4D5A5B4D5A4B3D4A4B3D4A3B2D3A2B1D2A1B0D1A1B0D19EAED29EAED29DADD19DADD1
-9CACD09BABCF9AAACE9AAACE9AAACC96A7D296A9D191A6C596A8CE96A2D299A4C2C1CCCE
-C7CCD0D5D9E2D6DCE8D2D7EAD2D9EBD3DAECD1D8E8D0DAE6D1D8EAD1D8EAD1D8EAD0D7E9
-CFD6E8CFD6E8CFD6E8CED5E7CDD4E7CDD4E7CDD4E7CCD3E6CCD3E6CBD2E5CBD2E5CBD2E5
-CDD2E5A8ADC07F8595808696868C9C7F8593838997818795808694808694808694808694
-7F85937F85937F85937F85937D83937D83937D83937C82927C82927B81917B81917A8090
-7A81937A8193798092798092787F91787F91777E90777E90787F92757C8F757C8F767D90
-737A8D72798C737A8D737A8D6D7991717D978B97B1A5B3CEABB9D6A8B5D5A7B6D7A5B4D5
-A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D2A1B0D1A1B0D19EAED29EAED29DADD19CACD0
-9BABCF9BABCF9AAACE9AAACE99A9CB96A7D296A9D190A5C496A8CE96A2D299A4C2C1CCCE
-C7CCD0D4D8E1D6DCE8D2D7EAD2D9EBD3DAECD1D8E8D0DAE6D1D8EAD1D8EAD0D7E9D0D7E9
-CFD6E8CFD6E8CED5E7CED5E7CDD4E7CDD4E7CCD3E6CCD3E6CBD2E5CBD2E5CAD1E4CAD1E4
-CBD0E39EA3B68389998288988288988288968086948187958086948086948086947F8593
-7F85937F85937F85937F85937D83937D83937C82927C82927B81917B81917A80907A8090
-7A8193798092798092798092787F91787F91777E90777E90798093747B8E72798C747B8E
-767D9072798C70778A72798C737F9764708A79859F9FADC8ABB9D6A9B6D6A8B7D8A4B3D4
-A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D2A1B0D1A1B0D19EAED29EAED29DADD19CACD0
-9BABCF9BABCF9AAACE9AAACE99A9CB95A6D196A9D190A5C496A8CE96A2D299A4C2C1CCCE
-CCD1D7D1D5E0D2D8E6D0D5E8CFD6E9D0D7EAD0D7E9CDD6E5CDD5E8CDD5E8CDD5E8CDD5E8
-CCD4E7CCD4E7CCD4E7CCD4E7CBD3E6CBD3E6CAD2E5CAD2E5C9D1E4C9D1E4C8D0E3C8D0E3
-B4BACA8A90A07D83938389998389998288987E84948086968086968086967F85957F8595
-7E84947E84947D83937D83937A81937A81937A81937A81937A8193798092798092798092
-798093798093787F92787F92777E91777E91767D90767D90737B8E737B8E737B8E727A8D
-727A8D71798C71798C71798C6F778C6C778D717B9499A5BFA6B4CFA9B8D7A7B7D8A3B3D4
-A4B2D5A4B2D5A3B1D4A2B0D3A1AFD2A1AFD2A0AED1A0AED19DACD39DACD39CABD29BAAD1
-9BAAD19AA9D099A8CF99A8CF98A8CC94A5D196A9D38FA3C494A6CE94A0D299A4C4C2CDD1
-CCD1D7D0D4DFD1D7E5D0D5E8CFD6E9D0D7EACFD6E8CCD5E4CDD5E8CDD5E8CDD5E8CCD4E7
-CCD4E7CCD4E7CCD4E7CCD4E7CBD3E6CAD2E5CAD2E5CAD2E5C9D1E4C8D0E3C8D0E3C8D0E3
-A1A7B78389997E84948288988187978389998187978187978086967F85957F85957E8494
-7E84947D83937D83937D83937A81937A81937A81937A8193798092798092798092798092
-798093787F92787F92777E91777E91767D90767D90767D90737B8E737B8E737B8E727A8D
-727A8D71798C71798C70788B6E768B6E798F737D9698A4BEAAB8D3ADBCDBA6B6D7A2B2D3
-A4B2D5A3B1D4A3B1D4A2B0D3A1AFD2A1AFD2A0AED1A0AED19DACD39DACD39CABD29BAAD1
-9AA9D09AA9D099A8CF99A8CF97A7CB94A5D196A9D38FA3C493A5CD94A0D299A4C4C2CDD1
-CBD0D6D0D4DFD1D7E5D0D5E8CED5E8CFD6E9CFD6E8CCD5E4CCD4E7CCD4E7CCD4E7CCD4E7
-CCD4E7CBD3E6CBD3E6CBD3E6CAD2E5CAD2E5C9D1E4C9D1E4C8D0E3C8D0E3C8D0E3C7CFE2
-9197A77E84948086968288987E84948288988187977F85957F85957F85957F85957E8494
-7E84947D83937D83937C82927A81937A81937A81937A8193798092798092798092798092
-787F92787F92787F92777E91777E91767D90767D90757C8F737B8E737B8E727A8D727A8D
-71798C71798C70788B70788B70788D6E798F68728B828EA89CAAC5A6B5D4A2B2D3A5B5D6
-A3B1D4A3B1D4A2B0D3A2B0D3A1AFD2A0AED1A0AED19FADD09DACD39CABD29CABD29BAAD1
-9AA9D099A8CF99A8CF99A8CF97A7CB94A5D195A8D28FA3C493A5CD94A0D298A3C3C2CDD1
-CACFD5CFD3DED0D6E4CFD4E7CDD4E7CED5E8CED5E7CBD4E3CCD4E7CBD3E6CBD3E6CBD3E6
-CBD3E6CBD3E6CAD2E5CAD2E5C9D1E4C9D1E4C9D1E4C8D0E3C8D0E3C7CFE2C7CFE2C7CFE2
-9399A97F85958086968389997E84947F85957E84947D83937F85957E84947E84947E8494
-7D83937C82927C82927C82927A81937A81937A8193798092798092798092798092787F91
-787F92777E91777E91777E91767D90757C8F757C8F757C8F737B8E737B8E727A8D727A8D
-71798C71798C70788B70788B6E768B707B916A748D7C88A29EACC7A9B8D7A0B0D1A3B3D4
-A3B1D4A3B1D4A2B0D3A1AFD2A0AED1A0AED19FADD09FADD09CABD29CABD29CABD29BAAD1
-9AA9D099A8CF99A8CF98A7CE97A7CB94A5D195A8D28FA3C493A5CD939FD198A3C3C2CDD1
-C9CED4CED2DDCFD5E3CED3E6CCD3E6CED5E8CDD4E6CAD3E2CBD3E6CBD3E6CAD2E5CAD2E5
-CAD2E5CAD2E5CAD2E5C9D1E4C8D0E3C8D0E3C8D0E3C7CFE2C7CFE2C6CEE1C6CEE1C6CEE1
-9DA3B38187977E84948389998086967F85957D83937E84947E84947E84947E84947D8393
-7C82927C82927C82927B81917A8193798092798092798092798092787F91787F91787F91
-777E91777E91777E91767D90757C8F757C8F757C8F747B8E737B8E727A8D727A8D71798C
-71798C70788B70788B70788B6E768B707B9169738C727E9899A7C2A8B7D69FAFD0A3B3D4
-A2B0D3A2B0D3A1AFD2A1AFD2A0AED19FADD09EACCF9EACCF9CABD29CABD29BAAD19BAAD1
-9AA9D099A8CF98A7CE98A7CE97A7CB94A5D195A8D28EA2C393A5CD939FD198A3C3C2CDD1
-C9CED4CDD1DCCED4E2CDD2E5CCD3E6CDD4E7CCD3E5C9D2E1CAD2E5CAD2E5CAD2E5C9D1E4
-C9D1E4C9D1E4C9D1E4C9D1E4C8D0E3C7CFE2C7CFE2C7CFE2C6CEE1C6CEE1C5CDE0C5CDE0
-9EA4B47F85957B81918187978187978187977F85958086967E84947D83937D83937C8292
-7C82927B81917B81917B8191798092798092798092798092787F91787F91787F91787F91
-777E91767D90767D90757C8F757C8F747B8E747B8E747B8E727A8D727A8D727A8D71798C
-71798C70788B70788B6F778A6F778C6D788E66708965718B8D9BB6A2B1D09FAFD0A3B3D4
-A2B0D3A1AFD2A1AFD2A0AED19FADD09FADD09EACCF9EACCF9CABD29CABD29BAAD19AA9D0
-99A8CF99A8CF98A7CE98A7CE96A6CA93A4D095A8D28EA2C392A4CC939FD198A3C3C1CCD0
-C8CDD3CDD1DCCED4E2CDD2E5CBD2E5CCD3E6CCD3E5C9D2E1C9D1E4C9D1E4C9D1E4C9D1E4
-C9D1E4C8D0E3C8D0E3C8D0E3C7CFE2C7CFE2C7CFE2C6CEE1C5CDE0C5CDE0C5CDE0C4CCDF
-959BAB7D83937C82928086967E84948288988086967D83937D83937D83937D83937C8292
-7C82927B81917B81917A8090798092798092798092798092787F91787F91787F91787F91
-767D90767D90767D90757C8F757C8F747B8E747B8E737A8D727A8D727A8D71798C71798C
-70788B70788B6F778A6F778A6C74896D788E6F79926D799393A1BCA8B7D6A3B3D49FAFD0
-A1AFD2A1AFD2A0AED1A0AED19FADD09EACCF9EACCF9DABCE9CABD29BAAD19BAAD19AA9D0
-99A8CF98A7CE98A7CE98A7CE96A6CA93A4D094A7D18EA2C392A4CC939FD197A2C2C1CCD0
-C8CDD3CDD1DCCDD3E1CCD1E4CBD2E5CCD3E6CBD2E4C8D1E0C9D1E4C9D1E4C9D1E4C9D1E4
-C8D0E3C8D0E3C8D0E3C8D0E3C7CFE2C7CFE2C6CEE1C6CEE1C5CDE0C5CDE0C4CCDFC4CCDF
-8C92A27D83938086967F85957B81918187977E8494787E8E7D83937D83937C82927C8292
-7B81917B81917A80907A8090798092798092798092787F91787F91787F91787F91787F91
-767D90767D90757C8F757C8F747B8E747B8E737A8D737A8D727A8D727A8D71798C71798C
-70788B70788B6F778A6F778A6D758A6A758B6D779066728C8A98B3A3B2D1A3B3D4A0B0D1
-A1AFD2A1AFD2A0AED1A0AED19FADD09EACCF9DABCE9DABCE9CABD29BAAD19BAAD19AA9D0
-99A8CF98A7CE98A7CE97A6CD96A6CA93A4D094A7D18EA2C392A4CC939FD197A2C2C1CCD0
-C8D1DAC9D1DEC9D0E2C9D1E6C9D1E8C6D1E7C6D1E5C5D0E2C5D0E4C5D0E4C5D0E4C5D0E4
-C4CFE3C4CFE3C4CFE3C4CFE3C4CFE5C2CDE3C1CCE2C2CDE3C3CEE4C2CDE3BEC9DFBAC5DB
-7E85977D84967B82947C83957D84967B82947A81937E85977A81937A81937A81937A8193
-7A8193798092798092798092798093798093787F92787F92777E91777E91767D90767D90
-737B8E737B8E737B8E737B8E737B8E727A8D727A8D727A8D6F7A8C6F7A8C6E798B6E798B
-6D788A6D788A6D788A6C77896B768A6E7B8E6571876C7A948D9DB79EAFCB9CAFCDA0B3D3
-9FAFD39FAFD39EAED29EAED29DADD19CACD09BABCF9BABCF98AAD298AAD297A9D196A8D0
-95A7CF95A7CF94A6CE94A6CE93A5CB91A3D18EA3CE8FA6C88FA2CA92A0D1949EC1C1CED4
-C8D1DAC8D0DDC9D0E2C8D0E5C8D0E7C6D1E7C5D0E4C5D0E2C5D0E4C5D0E4C5D0E4C4CFE3
-C4CFE3C4CFE3C4CFE3C4CFE3C4CFE5C2CDE3C1CCE2C2CDE3C3CEE4C2CDE3BEC9DFBAC5DB
-7F86987E85977F86987F86987C83957C83957C83957A81937A81937A81937A81937A8193
-798092798092798092798092798093787F92787F92777E91777E91767D90767D90767D90
-737B8E737B8E737B8E737B8E727A8D727A8D727A8D727A8D6F7A8C6F7A8C6E798B6E798B
-6D788A6D788A6C77896C77896E798D6B778D68748C77859F96A6C0A4B5D39EB1D19CAFCF
-9FAFD39FAFD39EAED29DADD19DADD19CACD09BABCF9BABCF98AAD297A9D197A9D196A8D0
-95A7CF95A7CF94A6CE94A6CE93A5CB91A3D18DA2CD8FA6C88FA2CA92A0D1949EC1C0CDD3
-C8D1DAC8D0DDC8CFE1C8D0E5C8D0E7C5D0E6C5D0E4C5D0E2C4CFE3C4CFE3C4CFE3C4CFE3
-C4CFE3C3CEE2C3CEE2C3CEE2C3CEE4C2CDE3C1CCE2C1CCE2C2CDE3C1CCE2BEC9DFBBC6DC
-8087997980927B82947D84967980927B82947D8496777E907A81937A81937A81937A8193
-798092798092798092798092787F92787F92787F92777E91777E91767D90767D90757C8F
-737B8E737B8E737B8E737B8E727A8D727A8D727A8D727A8D6F7A8C6F7A8C6E798B6E798B
-6D788A6D788A6C77896C77896E798D68748A717D958997B19FAECBA5B6D49FB2D29BAECF
-9FAFD39EAED29EAED29DADD19CACD09BABCF9BABCF9AAACE97A9D197A9D196A8D096A8D0
-95A7CF94A6CE94A6CE93A5CD93A5CB91A3D18DA2CD8EA5C78FA2CA92A0D1949EC1C0CDD3
-C7D0D9C7CFDCC8CFE1C7CFE4C7CFE6C5D0E6C4CFE3C4CFE1C4CFE3C3CEE2C3CEE2C3CEE2
-C3CEE2C3CEE2C2CDE1C2CDE1C2CDE3C1CCE2C0CBE1C0CBE1C1CCE2C0CBE1BEC9DFBBC6DC
-939AAC7D8496777E907D84967980927B82947D8496767D8F7A81937A81937A8193798092
-798092798092798092787F91787F92777E91777E91777E91767D90757C8F757C8F757C8F
-737B8E737B8E737B8E727A8D727A8D727A8D727A8D71798C6F7A8C6E798B6E798B6D788A
-6D788A6C77896C77896C77896A758B6571877D89A19BA9C4A2B1CE9FB0CE9FB2D29FB2D3
-9EAED29EAED29DADD19CACD09CACD09BABCF9AAACE9AAACE97A9D197A9D196A8D095A7CF
-94A6CE94A6CE93A5CD93A5CD93A5CB91A3D18DA2CD8EA5C78EA1C992A0D1949EC1C0CDD3
-C6CFD8C6CEDBC7CEE0C6CEE3C6CEE5C4CFE5C3CEE2C3CEE0C3CEE2C3CEE2C2CDE1C2CDE1
-C2CDE1C2CDE1C2CDE1C1CCE0C1CCE2C0CBE1C0CBE1C0CBE1C0CBE1BFCAE0BEC9DFBCC7DD
-B2B9CB8A91A3787F917D84967C83957A81937C8395787F917A8193798092798092798092
-798092787F91787F91787F91777E91777E91777E91767D90757C8F757C8F757C8F747B8E
-737B8E727A8D727A8D727A8D727A8D71798C71798C71798C6E798B6E798B6E798B6D788A
-6D788A6C77896C77896B768869748A647088818DA7A2B0CBA2B1D09CACCD9FB2D39FB1D5
-9EAED29DADD19DADD19CACD09BABCF9AAACE9AAACE99A9CD96A8D096A8D095A7CF95A7CF
-94A6CE93A5CD92A4CC92A4CC92A4CA90A2D08DA2CD8EA5C78EA1C992A0D1939DC0C0CDD3
-C5CED7C6CEDBC6CDDFC5CDE2C5CDE4C3CEE4C3CEE2C2CDDFC2CDE1C2CDE1C2CDE1C1CCE0
-C1CCE0C1CCE0C1CCE0C1CCE0C0CBE1C0CBE1BFCAE0BFCAE0BFCAE0BEC9DFBEC9DFBDC8DE
-BAC1D38F96A8757C8E777E907A81937980927B82947B8294798092798092798092798092
-787F91787F91787F91787F91777E91767D90767D90757C8F757C8F747B8E747B8E747B8E
-727A8D727A8D727A8D727A8D71798C71798C71798C71798C6E798B6E798B6D788A6D788A
-6C77896C77896B76886B76886C768F636F877F8BA5A1AFCCA3B2D19EAECF9EB1D29CAED2
-9DADD19DADD19CACD09BABCF9BABCF9AAACE99A9CD99A9CD96A8D095A7CF95A7CF94A6CE
-93A5CD93A5CD92A4CC92A4CC92A4CA90A2D08CA1CC8EA5C78EA1C9919FD0939DC0BFCCD2
-C5CED7C5CDDAC6CDDFC5CDE2C5CDE4C3CEE4C2CDE1C2CDDFC1CCE0C1CCE0C1CCE0C1CCE0
-C1CCE0C0CBDFC0CBDFC0CBDFC0CBE1BFCAE0BFCAE0BEC9DFBEC9DFBDC8DEBEC9DFBEC9DF
-B9C0D299A0B27C8395757C8E777E90787F917980927B8294798092798092798092798092
-787F91787F91787F91787F91767D90767D90767D90757C8F757C8F747B8E747B8E737A8D
-727A8D727A8D727A8D727A8D71798C71798C71798C71798C6E798B6E798B6D788A6D788A
-6C77896C77896B76886B76886A748D66728C818CA8A1AFCCA3B2D19DADCF9DAFD39CAED2
-9DADD19CACD09CACD09BABCF9AAACE99A9CD99A9CD98A8CC95A7CF95A7CF94A6CE94A6CE
-93A5CD92A4CC92A4CC91A3CB92A4CA90A2D08CA1CC8DA4C68EA1C9919FD0939DC0BFCCD2
-C4CDD6C5CDDAC5CCDEC5CDE2C5CDE4C2CDE3C2CDE1C1CCDEC1CCE0C1CCE0C1CCE0C1CCE0
-C0CBDFC0CBDFC0CBDFC0CBDFBFCAE0BFCAE0BFCAE0BEC9DFBDC8DEBDC8DEBEC9DFBEC9DF
-C2C9DBADB4C69097A97E85977B82947A8193787F91777E90798092798092798092787F91
-787F91787F91787F91787F91767D90767D90757C8F757C8F747B8E747B8E737A8D737A8D
-727A8D727A8D727A8D71798C71798C71798C71798C71798C6E798B6D788A6D788A6D788A
-6C77896C77896B76886B768866708968748E8792AEA3B1CEA1B0D19AAACC9CAED29FB1D5
-9CACD09CACD09CACD09BABCF9AAACE99A9CD99A9CD98A8CC95A7CF95A7CF94A6CE94A6CE
-93A5CD92A4CC91A3CB91A3CB92A4CA90A2D08CA1CC8DA4C68DA0C8919FD0939DC0BFCCD2
-C5CED7C5CDDAC4CBDEC2C9E3C1C8E4BFC9E4BFC9E2BFC9E2BECAE2BECAE2BECAE2BECAE2
-BDC9E1BDC9E1BDC9E1BDC9E1BBC7E1BBC7E1BBC7E1BBC7E1BAC6E0BAC6E0BAC6E0BAC6E0
-B8C2DBBAC4DDBEC6DD868EA3777F92787F92787F917D8494777E91777E91777E91777E91
-767D90767D90767D90767D90737B8E737B8E737B8E737B8E737B8E727A8D727A8D727A8D
-6F7A8C6F7A8C6F7A8C6F7A8C6E798B6E798B6E798B6E798B6F7A906C778D6D788E6F7A90
-6D788E69748A69748A6B768C6C779367728E8A98B59EABCB9FAECFA3B2D39CAACD9FADD0
-99ABD199ABD199ABD198AAD097A9CF96A8CE96A8CE95A7CD95A7CF95A7CF94A6CE93A5CD
-92A4CC92A4CC91A3CB91A3CB8FA1C78D9FCD8BA0CB8BA2C48B9EC68F9DCE939DC0C0CDD3
-C5CED7C4CCD9C3CADDC1C8E2C1C8E4BFC9E4BFC9E2BFC9E2BECAE2BECAE2BECAE2BDC9E1
-BDC9E1BDC9E1BDC9E1BDC9E1BBC7E1BBC7E1BBC7E1BAC6E0BAC6E0BAC6E0BAC6E0BAC6E0
-B9C3DEB6C0D9B9C4DA9098AF767E937A8194787F91757C8E777E91777E91777E91777E91
-767D90767D90767D90767D90737B8E737B8E737B8E737B8E727A8D727A8D727A8D727A8D
-6F7A8C6F7A8C6F7A8C6E798B6E798B6E798B6E798B6D788A6D788E6C778D6C778D6C778D
-6B768C6A758B6A758B6B768C646F8B66718D8B99B69FACCCA0AFD0A4B2D59DABCE9DADD1
-99ABD199ABD198AAD098AAD097A9CF96A8CE95A7CD95A7CD95A7CF94A6CE94A6CE93A5CD
-92A4CC92A4CC91A3CB91A3CB8EA0C68D9FCD8A9FCA8BA2C48B9EC68F9DCE929CBFC0CDD3
-C4CDD6C4CCD9C3CADDC1C8E2C0C7E3BEC8E3BEC8E1BEC8E1BDC9E1BDC9E1BDC9E1BDC9E1
-BDC9E1BCC8E0BCC8E0BCC8E0BAC6E0BAC6E0BAC6E0BAC6E0BAC6E0B9C5DFB9C5DFB9C5DF
-BCC8E2B8C2DBBBC5DE9FAAC0777F94788093798092767D8F777E91777E91767D90767D90
-767D90767D90757C8F757C8F737B8E737B8E737B8E737B8E727A8D727A8D727A8D727A8D
-6E798B6E798B6E798B6E798B6E798B6D788A6D788A6D788A6B768C6C778D6B768C69748A
-6A758B6A758B6A758B6A758B5F6D88697794909EBB9FAECD9FAECFA3B3D59CACD09BABCF
-99ABD199ABD198AAD097A9CF96A8CE96A8CE95A7CD95A7CD94A6CE94A6CE93A5CD93A5CD
-92A4CC91A3CB91A3CB90A2CA8EA0C68D9FCD8A9FCA8BA2C48B9EC68F9DCE929CBFC0CDD3
-C3CCD5C3CBD8C2C9DCC0C7E1BFC6E2BDC7E2BEC8E1BEC8E1BDC9E1BCC8E0BCC8E0BCC8E0
-BCC8E0BCC8E0BBC7DFBBC7DFBAC6E0B9C5DFB9C5DFB9C5DFB9C5DFB9C5DFB8C4DEB8C4DE
-BAC6E0B9C5DFB9C3DCACB7CD788397727A8D727A8D7A8394767D90767D90767D90767D90
-757C8F757C8F757C8F757C8F737B8E737B8E737B8E727A8D727A8D727A8D727A8D71798C
-6E798B6E798B6E798B6D788A6D788A6D788A6D788A6D788A6A758B6E798F6C778D69748A
-6A758B6A758B68738969748A6C7A977A88A598A7C6A0AFD09DACCDA0B0D29CACD09AAACE
-98AAD098AAD097A9CF97A9CF96A8CE95A7CD95A7CD94A6CC94A6CE94A6CE93A5CD92A4CC
-91A3CB91A3CB90A2CA90A2CA8EA0C68D9FCD8A9FCA8BA2C48A9DC58E9CCD929CBFC0CDD3
-C3CCD5C2CAD7C1C8DBBFC6E0BFC6E2BDC7E2BDC7E0BDC7E0BCC8E0BCC8E0BBC7DFBBC7DF
-BBC7DFBBC7DFBBC7DFBAC6DEB9C5DFB9C5DFB8C4DEB8C4DEB8C4DEB8C4DEB8C4DEB7C3DD
-B4BFDBB6C2DCB1BDD7B1BBD48A95AB77829671798C767E91767D90767D90757C8F757C8F
-757C8F757C8F747B8E747B8E737B8E727A8D727A8D727A8D727A8D71798C71798C71798C
-6D788A6D788A6D788A6D788A6D788A6C77896C77896C778969748A6F7A906C778D69748A
-6B768C69748A6671876B768C8392AF8F9EBBA0AFCE9FAFD09AAACC9CACD099ABD198AAD0
-98AAD097A9CF97A9CF96A8CE95A7CD95A7CD94A6CC94A6CC93A5CD93A5CD92A4CC92A4CC
-91A3CB90A2CA8FA1C98FA1C98EA0C68D9FCD8A9FCA8BA2C48A9DC58E9CCD929CBFC0CDD3
-C2CBD4C1C9D6C0C7DABEC5DFBEC5E1BCC6E1BCC6DFBCC6DFBBC7DFBBC7DFBBC7DFBAC6DE
-BAC6DEBAC6DEBAC6DEBAC6DEB8C4DEB8C4DEB8C4DEB7C3DDB7C3DDB7C3DDB7C3DDB7C3DD
-B4C2DDB5C3DEB0BCD6B7C3DBA8B3C9949FB3848FA3737B8E757C8F757C8F757C8F757C8F
-747B8E747B8E747B8E747B8E727A8D727A8D727A8D727A8D71798C71798C71798C71798C
-6D788A6D788A6D788A6C77896C77896C77896C77896C778969748A6E798F6C778D6A758B
-6C778D677288677288737E9498A7C69EADCCA3B2D39EAECF99A9CB98AACE99ABD198AAD0
-97A9CF97A9CF96A8CE96A8CE95A7CD94A6CC93A5CB93A5CB93A5CD92A4CC92A4CC91A3CB
-90A2CA90A2CA8FA1C98FA1C98D9FC58C9ECC899EC98AA1C38A9DC58E9CCD919BBEBFCCD2
-C1CAD3C1C9D6C0C7DABEC5DFBDC4E0BBC5E0BBC5DEBCC6DFBAC6DEBAC6DEBAC6DEBAC6DE
-BAC6DEB9C5DDB9C5DDB9C5DDB7C3DDB7C3DDB7C3DDB7C3DDB7C3DDB6C2DCB6C2DCB6C2DC
-B5C3E0B5C3DEB2C0DBB7C3DDB7C3DBB0BBD1A6B1C5747F93757C8F757C8F747B8E747B8E
-747B8E747B8E737A8D737A8D727A8D727A8D727A8D727A8D71798C71798C71798C71798C
-6D788A6C77896C77896C77896C77896B76886B76886B76886A758B6D788E69748A69748A
-6B768C6671876B768C808BA19FAECDA0B1CF9EAECF9CACCE98AACE98AAD098ACD198ABD3
-97A9CF97A9CF96A8CE95A7CD94A6CC94A6CC93A5CB93A5CB92A4CC92A4CC91A3CB91A3CB
-90A2CA8FA1C98FA1C98EA0C88D9FC58C9ECC899EC98AA1C38A9DC58E9CCD919BBEBFCCD2
-C1CAD3C0C8D5BFC6D9BEC5DFBDC4E0BBC5E0BBC5DEBBC5DEBAC6DEBAC6DEBAC6DEBAC6DE
-B9C5DDB9C5DDB9C5DDB9C5DDB7C3DDB7C3DDB7C3DDB7C3DDB6C2DCB6C2DCB6C2DCB6C2DC
-AFBDDAB0BED9B3C1DCAFBBD5B2BED6B6C2D8BAC5D9768195757C8F747B8E747B8E747B8E
-747B8E737A8D737A8D737A8D727A8D727A8D727A8D71798C71798C71798C71798C71798C
-6C77896C77896C77896C77896B76886B76886B76886B76886B768C6C778D677288677288
-6B768C6570866E798F8A95AB9DAECC9DAECC99A9CA9AAACC9AACD099ABD199ACD498ABD3
-97A9CF96A8CE96A8CE95A7CD94A6CC93A5CB93A5CB93A5CB92A4CC92A4CC91A3CB91A3CB
-90A2CA8FA1C98EA0C88EA0C88D9FC58C9ECC899EC98AA1C3899CC48D9BCC919BBEBFCCD2
-C6CDD3BFC6D8B8C1DEB6C4E1B8C7DEB6C5D8B9C3DEBBC1E3B6C4DFB5C3DEB5C3DEB5C3DE
-B5C3DEB4C2DDB4C2DDB4C2DDB3C1DCB3C1DCB3C1DCB3C1DCB2C0DBB2C0DBB2C0DBB2C0DB
-B1BFDCB3C1DEB2C0DDB0BEDBB3C1DEB3C1DEA6B4D196A4C16E768B737B90767E93737B8E
-727A8D757E8F747D8E6E77886E798D6E798D6E798D6E798D6D788C6D788C6D788C6D788C
-6C778B6C778B6C778B6C778B6B768A6B768A6B768A6B768A6D75886873856A7589656F88
-67738D66718F6D7A9A99A6C69CABD29BAAD19BAAD19AA9D09AA9D099A8CF99A8CF99A8CF
-96A8D095A7CF95A7CF94A6CE93A5CD92A4CC92A4CC92A4CC90A3CD8FA2CC8FA2CC8EA1CB
-8EA1CB8DA0CA8DA0CA8DA0CA8C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C6CDD3BFC6D8B8C1DEB6C4E1B7C6DDB6C5D8B8C2DDBBC1E3B5C3DEB5C3DEB5C3DEB5C3DE
-B4C2DDB4C2DDB4C2DDB4C2DDB3C1DCB3C1DCB3C1DCB2C0DBB2C0DBB2C0DBB2C0DBB2C0DB
-B0BEDBB2C0DDB0BEDBAEBCD9B0BEDBB2C0DDAAB8D59FADCA6F778C777F94727A8F6D7588
-737B8E70788B6C7586747D8E6E798D6E798D6E798D6E798D6D788C6D788C6D788C6D788C
-6C778B6C778B6C778B6B768A6B768A6B768A6B768A6A75896873856A75896873896A748D
-67738D626D8B7683A39BA8C89BAAD19BAAD19BAAD19AA9D09AA9D099A8CF99A8CF99A8CF
-96A8D095A7CF95A7CF94A6CE93A5CD92A4CC92A4CC91A3CB8FA2CC8FA2CC8FA2CC8EA1CB
-8EA1CB8DA0CA8DA0CA8DA0CA8C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C6CDD3BFC6D8B7C0DDB5C3E0B7C6DDB6C5D8B8C2DDBAC0E2B5C3DEB5C3DEB4C2DDB4C2DD
-B4C2DDB4C2DDB3C1DCB3C1DCB2C0DBB2C0DBB2C0DBB2C0DBB2C0DBB1BFDAB1BFDAB1BFDA
-B0BEDBB1BFDCAFBDDAACBAD7AEBCD9B2C0DDAFBDDAA9B7D47A8299767E956F778C70788D
-747C8F6E76896B7386747D8E6E798D6E798D6D788C6D788C6D788C6D788C6C778B6C778B
-6B768A6B768A6B768A6B768A6B768A6A75896A75896A75896671836C778B6671876B778F
-66718D616F8C8491B19DAACC9BAAD19BAAD19AA9D09AA9D099A8CF99A8CF98A7CE98A7CE
-95A7CF95A7CF94A6CE93A5CD93A5CD92A4CC91A3CB91A3CB8FA2CC8FA2CC8EA1CB8EA1CB
-8DA0CA8DA0CA8C9FC98C9FC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C5CCD2BEC5D7B7C0DDB5C3E0B6C5DCB5C4D7B7C1DCBAC0E2B4C2DDB4C2DDB4C2DDB3C1DC
-B3C1DCB3C1DCB3C1DCB2C0DBB2C0DBB1BFDAB1BFDAB1BFDAB1BFDAB1BFDAB0BED9B0BED9
-AFBDDAB1BFDCB0BEDBACBAD7ADBBD8B0BEDBB1BFDCAEBCD9929DB3717C926B768C747F93
-707B8F6F7A8C727D8F6B76886D788C6D788C6D788C6D788C6C778B6C778B6C778B6C778B
-6B768A6B768A6B768A6A75896A75896A75896A75896A75896772866A758965718765718B
-606E896F7C9C909FC09DACCD9AA9D09AA9D09AA9D099A8CF99A8CF98A7CE98A7CE98A7CE
-95A7CF94A6CE94A6CE93A5CD92A4CC91A3CB91A3CB90A2CA8EA1CB8EA1CB8EA1CB8DA0CA
-8DA0CA8C9FC98C9FC98C9FC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C4CBD1BDC4D6B6BFDCB4C2DFB5C4DBB4C3D6B6C0DBB9BFE1B3C1DCB3C1DCB3C1DCB2C0DB
-B2C0DBB2C0DBB2C0DBB2C0DBB1BFDAB1BFDAB0BED9B0BED9B0BED9B0BED9B0BED9AFBDD8
-AEBCD9B1BFDCB1BFDCAEBCD9ADBBD8AEBCD9AFBDDAAEBCD9A9B3CC7D87A069748A6F7A90
-6E798D717C90747F916974866D788C6D788C6C778B6C778B6C778B6C778B6B768A6B768A
-6A75896A75896A75896A75896A75896974886974886974886A778A64708667738B5D6B85
-63718E8392B197A6C79CAACD9AA9D09AA9D099A8CF99A8CF98A7CE98A7CE97A6CD97A6CD
-94A6CE94A6CE93A5CD92A4CC92A4CC91A3CB90A2CA90A2CA8EA1CB8EA1CB8DA0CA8DA0CA
-8C9FC98C9FC98B9EC88B9EC88C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C3CAD0BCC3D5B5BEDBB3C1DEB4C3DAB3C2D5B5BFDAB8BEE0B2C0DBB2C0DBB2C0DBB2C0DB
-B1BFDAB1BFDAB1BFDAB1BFDAB0BED9B0BED9B0BED9AFBDD8AFBDD8AFBDD8AFBDD8AFBDD8
-AEBCD9B0BEDBB0BEDBAFBDDAADBBD8ACBAD7ACBAD7ACBAD7B1BDD595A1B9727E96667288
-6E7A906E7B8E6A778A6D7A8D6C778B6C778B6C778B6C778B6B768A6B768A6B768A6B768A
-6A75896A75896A75896974886974886974886974886974886B778D616D8366758C63718C
-72819E95A4C59BA9CC99A9CB99A8CF99A8CF99A8CF98A7CE98A7CE97A6CD97A6CD97A6CD
-94A6CE93A5CD93A5CD92A4CC91A3CB90A2CA90A2CA8FA1C98DA0CA8DA0CA8DA0CA8C9FC9
-8C9FC98B9EC88B9EC88B9EC88C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C3CAD0BCC3D5B5BEDBB3C1DEB4C3DAB3C2D5B5BFDAB8BEE0B2C0DBB2C0DBB1BFDAB1BFDA
-B1BFDAB1BFDAB0BED9B0BED9AFBDD8AFBDD8AFBDD8AFBDD8AFBDD8AEBCD7AEBCD7AEBCD7
-ADBBD8AEBCD9AEBCD9AEBCD9ACBAD7ABB9D6AAB8D5ABB9D6AFBBD3A8B4CC8D99B176829A
-717D936B778D6673866F7C8F6C778B6C778B6B768A6B768A6B768A6B768A6A75896A7589
-6A758969748869748869748869748868738768738768738766758A606F8666748E75859F
-8B9AB99DACCD9CACCE97A7C999A8CF99A8CF98A7CE98A7CE97A6CD97A6CD96A5CC96A5CC
-93A5CD93A5CD92A4CC91A3CB91A3CB90A2CA8FA1C98FA1C98DA0CA8DA0CA8C9FC98C9FC9
-8B9EC88B9EC88A9DC78A9DC78C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C2C9CFBBC2D4B4BDDAB2C0DDB3C2D9B2C1D4B4BED9B7BDDFB1BFDAB1BFDAB1BFDAB1BFDA
-B1BFDAB0BED9B0BED9B0BED9AFBDD8AFBDD8AFBDD8AFBDD8AEBCD7AEBCD7AEBCD7AEBCD7
-ADBBD8ADBBD8ADBBD8ACBAD7ABB9D6AAB8D5AAB8D5ABB9D6AAB6D0AFBBD3A9B5CD909CB4
-7480966A768C6B788B6D7A8D6C778B6B768A6B768A6B768A6B768A6A75896A75896A7589
-69748869748869748869748868738768738768738768738761708562718865738D8696B0
-9EADCC9CACCD9EAED096A6CA99A8CF99A8CF98A7CE98A7CE97A6CD97A6CD96A5CC96A5CC
-93A5CD93A5CD92A4CC91A3CB90A2CA90A2CA8FA1C98FA1C98DA0CA8DA0CA8C9FC98C9FC9
-8B9EC88B9EC88A9DC78A9DC78C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C9CDD8B6BCD2B3BCDDB0BFE0AEBED7B0C0D7AEBCD7B2BCE0B0BEDBAFBDDAAFBDDAAFBDDA
-AFBDDAAEBCD9AEBCD9AEBCD9ACBCD6ACBCD6ACBCD6ACBCD6ABBBD5ABBBD5ABBBD5ABBBD5
-AAB9D8AAB9D8AAB9D8A9B8D7A9B8D7A9B8D7A9B8D7A9B8D7A6B6D7A6B6D7ACBBDAA6B4CF
-7C88A26E78916C778D6C74896B768C6B768C6B768C6B768C6A758B6A758B6A758B6A758B
-68738968738968738968738967728867728867728867728868748C636F87606E8994A3C0
-99A9CA98AACE95A9CE95A8D095A7CF95A7CF94A6CE94A6CE93A5CD93A5CD92A4CC92A4CC
-90A3CD8FA2CC8FA2CC8EA1CB8EA1CB8DA0CA8DA0CA8DA0CA8B9EC98B9EC98B9EC98B9EC9
-8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C9CDD8B6BCD2B2BBDCAFBEDFAEBED7AFBFD6AEBCD7B2BCE0AFBDDAAFBDDAAFBDDAAFBDDA
-AEBCD9AEBCD9AEBCD9AEBCD9ACBCD6ACBCD6ACBCD6ABBBD5ABBBD5ABBBD5ABBBD5ABBBD5
-AAB9D8AAB9D8A9B8D7A9B8D7A9B8D7A9B8D7A8B7D6A8B7D6A7B7D8A5B5D6A9B8D7A5B3CE
-7B87A16C768F6A758B6D758A6B768C6B768C6B768C6B768C6A758B6A758B6A758B6A758B
-68738968738968738968738967728867728867728867728867738B647088616F8A94A3C0
-99A9CA98AACE95A9CE95A8D095A7CF95A7CF94A6CE94A6CE93A5CD93A5CD92A4CC92A4CC
-8FA2CC8FA2CC8FA2CC8EA1CB8EA1CB8DA0CA8DA0CA8DA0CA8B9EC98B9EC98B9EC98B9EC9
-8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C8CCD7B5BBD1B2BBDCAFBEDFADBDD6AFBFD6ADBBD6B1BBDFAFBDDAAFBDDAAEBCD9AEBCD9
-AEBCD9AEBCD9ADBBD8ADBBD8ABBAD7ABBAD7ABBAD7ABBAD7ABBAD7AAB9D6AAB9D6AAB9D6
-A9B8D7A9B8D7A9B8D7A9B8D7A8B7D6A8B7D6A8B7D6A8B7D6A8B8D9A3B3D4A7B6D5A4B2CD
-7A86A06A748D69748A6E768B6B768C6B768C6A758B6A758B6A758B6A758B69748A69748A
-68738968738967728867728867728867728866718766718765718964708863718C92A1BE
-9AAACB97A9CD94A8CD95A8D094A6CE94A6CE94A6CE93A5CD93A5CD92A4CC92A4CC92A4CC
-8FA2CC8FA2CC8EA1CB8EA1CB8DA0CA8DA0CA8C9FC98C9FC98B9EC98B9EC98B9EC98B9EC9
-8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C7CBD6B4BAD0B1BADBAEBDDEADBDD6AEBED5ACBAD5B1BBDFAEBCD9AEBCD9AEBCD9ADBBD8
-ADBBD8ADBBD8ADBBD8ACBAD7ABBAD7AAB9D6AAB9D6AAB9D6AAB9D6AAB9D6A9B8D5A9B8D5
-A8B7D6A8B7D6A8B7D6A8B7D6A8B7D6A7B6D5A7B6D5A7B6D5A7B7D8A2B2D3A6B5D4A4B2CD
-7A86A069738C6873896D758A6A758B6A758B6A758B6A758B69748A69748A69748A69748A
-677288677288677288677288667187667187667187667187636F8764708864728D8F9EBB
-9AAACB95A7CB94A8CD95A8D094A6CE94A6CE93A5CD93A5CD92A4CC92A4CC91A3CB91A3CB
-8EA1CB8EA1CB8EA1CB8DA0CA8DA0CA8C9FC98C9FC98C9FC98B9EC98B9EC98B9EC98B9EC9
-8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C7CBD6B3B9CFB0B9DAADBCDDACBCD5ADBDD4ABB9D4B0BADEADBBD8ADBBD8ADBBD8ACBAD7
-ACBAD7ACBAD7ACBAD7ACBAD7AAB9D8AAB9D8A9B8D7A9B8D7A9B8D7A9B8D7A9B8D7A8B7D6
-A8B7D6A7B6D5A7B6D5A7B6D5A7B6D5A6B5D4A6B5D4A6B5D4A6B6D7A2B2D3A7B6D5A4B2CD
-7B87A16A748D6873896C74896A758B6A758B69748A69748A69748A69748A687389687389
-677288677288667187667187667187667187657086657086636F8764708863718C8A99B6
-9AAACB94A6CA94A8CD94A7CF93A5CD93A5CD93A5CD92A4CC92A4CC91A3CB91A3CB91A3CB
-8EA1CB8EA1CB8DA0CA8DA0CA8C9FC98C9FC98B9EC88B9EC88B9EC98B9EC98B9EC98B9EC9
-8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C6CAD5B3B9CFB0B9DAACBBDCABBBD4ACBCD3ABB9D4AFB9DDACBAD7ACBAD7ACBAD7ACBAD7
-ABB9D6ABB9D6ABB9D6ABB9D6A9B8D7A9B8D7A9B8D7A8B7D6A8B7D6A8B7D6A8B7D6A8B7D6
-A7B6D5A7B6D5A6B5D4A6B5D4A6B5D4A6B5D4A5B4D3A5B4D3A5B5D6A3B3D4A7B6D5A1AFCA
-77839D6A748D69748A6B738869748A69748A69748A69748A687389687389687389687389
-667187667187667187667187657086657086657086657086636F87647088616F8A8493B0
-99A9CA93A5C993A7CC93A6CE93A5CD93A5CD92A4CC92A4CC91A3CB91A3CB90A2CA90A2CA
-8DA0CA8DA0CA8DA0CA8C9FC98C9FC98B9EC88B9EC88B9EC88B9EC98B9EC98B9EC98B9EC9
-8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C5C9D4B2B8CEAFB8D9ACBBDCAABAD3ACBCD3AAB8D3AEB8DCACBAD7ACBAD7ABB9D6ABB9D6
-ABB9D6ABB9D6AAB8D5AAB8D5A8B7D8A8B7D8A8B7D8A8B7D8A8B7D8A7B6D7A7B6D7A7B6D7
-A6B5D4A6B5D4A6B5D4A6B5D4A5B4D3A5B4D3A5B4D3A5B4D3A4B4D5A4B4D5A6B5D49BA9C4
-717D9769738C6A758B69718669748A69748A687389687389687389687389677288677288
-667187667187657086657086657086657086646F85646F856470886470885E6C877F8EAB
-98A8C993A5C993A7CC91A4CC92A4CC92A4CC92A4CC91A3CB91A3CB90A2CA90A2CA90A2CA
-8DA0CA8DA0CA8C9FC98C9FC98B9EC88B9EC88A9DC78A9DC78B9EC98B9EC98B9EC98B9EC9
-8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C5C9D4B2B8CEAFB8D9ACBBDCAABAD3ABBBD2AAB8D3AEB8DCABB9D6ABB9D6ABB9D6ABB9D6
-ABB9D6AAB8D5AAB8D5AAB8D5A8B7D8A8B7D8A8B7D8A8B7D8A7B6D7A7B6D7A7B6D7A7B6D7
-A6B5D4A6B5D4A6B5D4A5B4D3A5B4D3A5B4D3A5B4D3A4B3D2A3B3D4A4B4D5A4B3D295A3BE
-6B779167718A6A758B69718669748A687389687389687389687389677288677288677288
-667187657086657086657086657086646F85646F85646F85657189636F875D6B867C8BA8
-97A7C892A4C893A7CC91A4CC92A4CC92A4CC92A4CC91A3CB91A3CB90A2CA90A2CA8FA1C9
-8DA0CA8DA0CA8C9FC98C9FC98B9EC88B9EC88A9DC78A9DC78B9EC98B9EC98B9EC98B9EC9
-8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C5CCD4B1B9D0ACB6DAA9B6E0A7B7D8A9BAD4A7B6D3AAB7DAA8B7D8A8B7D8A8B7D8A8B7D8
-A8B7D8A8B7D8A8B7D8A8B7D8A8B7D6A8B7D6A8B7D6A7B6D5A7B6D5A6B5D4A6B5D4A6B5D4
-A9B7DCA6B4D9A2B0D5A2B0D5A5B3D6A7B5D8A5B4D5A3B2D3ABB5CE9FA9C28B95AE77819A
-68728B646E8768728B6D779068728B67718A67718A67718A67718A667089667089667089
-64708A64708A64708A64708A636F89636F89636F89636F8963718B5D6B855B6983677590
-7D8BA6909EB999A7C499A7C48BA1C88EA4CB90A6CD8FA5CE8BA1CA8AA0C98CA1CC8FA4CF
-8FA0CC8E9FCB8D9ECA8C9DC98B9CC88C9DC98C9DC98D9ECA8B9EC98B9EC98B9EC98B9EC9
-8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C5CCD4B1B9D0ABB5D9A8B5DFA7B7D8A9BAD4A7B6D3AAB7DAA8B7D8A8B7D8A8B7D8A8B7D8
-A8B7D8A8B7D8A8B7D8A8B7D8A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A4B3D2A3B2D1A3B2D1
-A0AED3A5B3D8A8B6D9A6B4D7A1B0D19FAECFA3B2D3A8B7D8949EB7838DA6707A9368728B
-6A748D6D77906A748D656F8867718A67718A67718A67718A67718A667089667089667089
-64708A64708A64708A64708A636F89636F89636F89636F89606E8862708A62708A606E89
-616F8A6C7A95808EAB8F9DBA92A6CB8FA3C88DA0C88EA1C990A3CB90A3CD8EA1CB8B9EC8
-8B9CC88B9CC88B9CC88B9CC88C9DC98C9DC98C9DC98C9DC98B9EC98B9EC98B9EC98B9EC9
-8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C4CBD3B0B8CFABB5D9A8B5DFA6B6D7A8B9D3A6B5D2A9B6D9A7B6D7A7B6D7A7B6D7A7B6D7
-A7B6D7A7B6D7A7B6D7A7B6D7A6B5D4A6B5D4A6B5D4A5B4D3A5B4D3A6B5D4A6B5D4A6B5D4
-ABB8DBA4B1D4A0ADCFA4B1D3A8B5D5A3B0D094A1C18593B0717B946C768F667089646E87
-67718A69738C69738C67718A67718A67718A67718A667089667089667089667089667089
-64708A64708A636F89636F89636F89636F89626E88626E885E6C86606E88606E885D6B86
-5967825C6A856573906E7C998498BB889CBF8CA0C38EA2C78CA0C58B9EC68B9EC68C9FC7
-8C9DC98D9ECA8D9ECA8E9FCB8D9ECA8C9DC98B9CC88B9CC88B9EC98B9EC98B9EC98B9EC9
-8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C4CBD3B0B8CFAAB4D8A7B4DEA5B5D6A7B8D2A6B5D2A8B5D8A6B5D6A6B5D6A6B5D6A6B5D6
-A6B5D6A6B5D6A6B5D6A6B5D6A5B4D3A5B4D3A5B4D3A5B4D3A4B3D2A4B3D2A5B4D3A5B4D3
-A4B1D3A7B4D4A9B6D6A5B2D299A7C48593B0717F9A64728D626C8567718A6A748D69738C
-656F88646E876670896A748D667089667089667089667089667089656F88656F88656F88
-636F89636F89636F89636F89626E88626E88626E88626E885D6B855C6A845C6A845E6C87
-606E895F6D885B69865765825E71926D80A18093B48D9FC38FA1C58D9FC58B9DC38B9DC3
-8B9CC88B9CC88C9DC98C9DC98C9DC98B9CC88B9CC88A9BC78B9EC98B9EC98B9EC98B9EC9
-8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C3CAD2AFB7CEA9B3D7A6B3DDA5B5D6A7B8D2A5B4D1A8B5D8A5B4D5A5B4D5A5B4D5A5B4D5
-A5B4D5A5B4D5A5B4D5A5B4D5A4B3D2A5B4D3A5B4D3A4B3D2A4B3D2A3B2D1A1B0CFA1B0CF
-A6B1CFA3AECC99A4C28691AD717C9865718B65718B69758F6A748D68728B68728B69738C
-6A748D6A748D67718A646E87667089667089667089656F88656F88656F88656F88656F88
-636F89636F89626E88626E88626E88626E88616D87616D875F6D875F6D875F6D875E6C87
-5C6A855C6A855C6A875D6B885566845869876070916D7D9E7C8CAE8999BB90A0C292A2C6
-8A9BC78A9BC78A9BC78A9BC78A9BC78B9CC88B9CC88B9CC88B9EC98B9EC98B9EC98B9EC9
-8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C2C9D1AEB6CDA8B2D6A6B3DDA4B4D5A6B7D1A4B3D0A7B4D7A5B4D5A5B4D5A5B4D5A5B4D5
-A5B4D5A5B4D5A5B4D5A5B4D5A2B1D0A3B2D1A5B4D3A6B5D4A6B5D4A4B3D2A2B1D0A1B0CF
-9AA5C18792AE6F7B95626E88626E8667738B69758D68748A6C768F69738C66708967718A
-69738C6A748D667089636D86656F88656F88656F88656F88656F88646E87646E87646E87
-626E88626E88626E88626E88616D87616D87616D87616D87606E885F6D875E6C865C6A85
-5B69845A68835C6A875D6B885E6D8A5968855564815564835D6C8B6D7C9D7E8DAE8998B9
-8E9FCB8E9FCB8E9FCB8E9FCB8D9ECA8C9DC98B9CC88A9BC78B9EC98B9EC98B9EC98B9EC9
-8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C2C9D1ADB5CCA8B2D6A5B2DCA3B3D4A5B6D0A3B2CFA6B3D6A4B3D4A4B3D4A4B3D4A4B3D4
-A4B3D4A4B3D4A4B3D4A4B3D4A1B0CFA2B1D0A1B0CF9FAECD9BAAC994A3C28E9DBC8A99B8
-6C78926A769068748C6A768E6B778D6A768C667288626F8266708968728B68728B67718A
-656F88646E87656F8867718A656F88656F88656F88646E87646E87646E87646E87646E87
-626E88626E88616D87616D87616D87616D87606C86606C865F6D875C6A845B69835C6A85
-5F6D885E6C875B69865765825866815C6A855F6D885C6A875866835966865F6C8C667393
-7B8CB87E8FBB8394C08899C58B9CC88C9DC98C9DC98B9CC88B9EC98B9EC98B9EC98B9EC9
-8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C1C8D0ADB5CCA8B2D6A5B2DCA3B3D4A5B6D0A3B2CFA6B3D6A4B3D4A4B3D4A4B3D4A4B3D4
-A4B3D4A4B3D4A4B3D4A4B3D4A3B2D1A1B0CF9CABCA92A1C08594B37685A4697897627190
-636F8764708865718965718764708665728566738668758867718A67718A667089667089
-656F88656F8866708967718A656F88656F88656F88646E87646E87646E87646E87636D86
-626E88616D87616D87616D87616D87606C86606C86606C865C6A845D6B855D6B855D6B86
-5C6A855B69845C6A875D6B885C6A845A6882586681576580576582576582566481546181
-5566925C6D99697AA67788B48293BF899AC68C9DC98D9ECA8B9EC98B9EC98B9EC98B9EC9
-8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3
-C1CDCDAAB5D1A5B2DEA0B3D39BAFC8A4B4D6A5B3D6A1AFCAA1AED0A5B2D4A6B3D5A3B0D2
-A2AFD1A2AFD19DAACC96A3C5818BA47A849D707A9367718A626C85636D8667718A6A748D
-68728B67718A67718A67718A67718A667089667089667089657189657189657189657189
-647088647088647088647088636F89636F89636F89626E88626E88626E88626E88616D87
-616C88606B87606B87606B87606B875F6A865F6A865F6A865C6A875C6A875B69865B6986
-5B69865B69865A68855A68855A68855A68855A68855A68855A68855A68855A68855A6885
-5A688557658254627F54627F59678463718E6E7C997583A08D9CC38B9AC18A99C08C9BC4
-8F9EC791A0CB8F9EC98C9BC68B9AC38797CA8FA1D38A9DC7899AC88C97CD99A4C4C3CED0
-C2CECEAAB5D1A2AFDB9FB2D29FB3CCA3B3D5A2B0D3A5B3CEA5B2D2A4B1D19EABCB929FBF
-8592B27A87A7727F9F6D7A9A6B758E69738C68728B66708966708968728B69738C6B758E
-67718A67718A67718A67718A67718A667089667089667089657189657189657189647088
-647088647088647088636F87636F89636F89626E88626E88626E88626E88616D87616D87
-606B87606B87606B87606B87606B875F6A865F6A865F6A865C6A875B69865B69865B6986
-5B69865A68855A68855A68855A68855A68855A68855A68855A68855A68855A68855A6885
-5B69865A68855967845866835967845B69865D6B885E6C895E6E906575976F7FA37989AD
-8190B78796BD8B9AC18E9DC6909FC68A9ACB8D9FCF899CC68C9DCB8C97CD96A1C1C2CDCF
-C3CFCFA9B4D09FACD89FB2D2A0B4CDA2B2D4A0AED1A6B4CFA0AEC88C9AB474829C66748E
-62708A62708A62708A62708A636D86646E87656F8867718A68728B68728B67718A67718A
-67718A67718A67718A667089667089667089667089667089647088647088647088647088
-647088636F87636F87636F87626E88626E88626E88626E88616D87616D87616D87616D87
-606B87606B87606B875F6A865F6A865F6A865F6A865F6A865B69865B69865B69865B6986
-5B69865A68855A68855A68855A68855A68855A68855A68855A68855A68855A68855A6885
-5967845967845A68855A6885596784586683566481556380546382566584576685586788
-5C6B8C69779A7C8AAD8A98BB90A0C48C9DCB8C9ECC889BC58FA0CE8D98CE929CBFC1CCCE
-C4D0D0A6B1CDA0ADD99FB2D29DB1CAA2B2D4A0AED19CAAC57C889E6C788E5F6B815E6A80
-65718767738967738966728869738C68728B67718A67718A667089667089667089667089
-667089667089667089667089667089656F88656F88656F88647088647088647088636F87
-636F87636F87636F87636F87626E88626E88616D87616D87616D87616D87606C86606C86
-5F6A865F6A865F6A865F6A865F6A865E69855E69855E69855B69865B69865B69865B6986
-5A68855A68855A68855A68855A68855A68855A68855A68855A68855A68855A68855A6885
-5A68855A68855967845967845967845A68855A68855B69865969835A6A84596983546380
-52617E566582606F8E6978978494B58B9CC88FA2CD879AC28FA0CE8E99CF919BBEC1CCD0
-C4D0D0A4AFCBA1AEDA9FB2D297ABC4A2B2D49EACCF8896B16370836471846976896D7A8D
-6A778A637083626F8266738668728B67718A66708966708966708967718A68728B68728B
-667089667089667089656F88656F88656F88656F88656F88636F87636F87636F87636F87
-636F87626E86626E86626E86616D87616D87616D87616D87606C86606C86606C86606C86
-5F6A865F6A865F6A865E69855E69855E69855E69855E69855B69865B69865B69865A6885
-5A68855A68855A68855967845A68855A68855A68855A68855A68855A68855A68855A6885
-5D6B885C6A875B69865A68855967845967845967845A68855967815B69835D6B855D6B86
-5B69845866815664815563806E7F9D8395BD91A4CE899DC28E9FCD8F9AD0949EC2C1CCD2
-C3CFCFA4AFCBA1AEDA9EB1D196AAC3A0B0D293A1C472809B69748A69748A69748A687389
-657086636E846570866A758B646E87646E87656F88667089667089656F88646E87646E87
-656F88656F88656F88656F88656F88646E87646E87646E87636F87636F87636F87626E86
-626E86626E86626E86626E86616D87616D87606C86606C86606C86606C865F6B855F6B85
-5E69855E69855E69855E69855E69855D68845D68845D68845B69865A68855A68855A6885
-5A68855967845967845967845A68855A68855A68855A68855A68855A68855A68855A6885
-5967845967845A68855A68855A68855967845765825765825A6882596781596781596782
-5B69845B69865A68855967845C6D877587AD8DA0C88A9EC18D9ECA8E99CF959FC3C2CDD3
-C2CECEA7B2CE9DAAD69BAECE9DB1CA9CACCE808EB162708B667089656F88646E87646E87
-67718A6A748D69738C656F88656F88656F88667089667089656F88646E87626C85616B84
-656F88656F88656F88646E87646E87646E87646E87646E87636F87626E86626E86626E86
-626E86616D85616D85616D85606C86606C86606C86606C865F6B855F6B855F6B855F6B85
-5E69855E69855E69855D68845D68845D68845D68845D68845A68855A68855A68855A6885
-5A68855967845967845967845A68855A68855A68855A68855A68855A68855A68855A6885
-5664815765825866835A68855A68855A68855967845967845765805866815A68835B6986
-5B69865B68885A678759668654667E65779B8296BB8B9FC28E9FCB8C97CD959FC3C3CDD6
-C1CDCDA9B4D099A6D298ABCBA4B8D199A9CB717FA25A6883646E8968728D69738E656F8A
-636D88656F8A66708B656F8A667089656F88646E87646E87646E8766708967718A69738C
-656F88656F88656F88646E87646E87646E87646E87636D86626E86626E86626E86626E86
-616D85616D85616D85616D85606C86606C86606C86606C865F6B855F6B855F6B855F6B85
-5E69855E69855E69855D68845D68845D68845D68845C67835A68855A68855A68855A6885
-5967845967845967845967845A68855A68855A68855A68855A68855A68855A68855A6885
-5D6B885C6A875A68855967845866835967845A68855B69865B66845D68865D68865C6787
-5964845963865C66895E688B54667C5A6D8E798DB28CA0C38FA0CC8A95CB939CC3C3CDD6
-C2C9DB9EA4C49EA6D4A0ABD99EAAD08B96B4666C8C6B6F95676F86676F86676F86676F86
-676F86676F86676F86676F86676E8A676E8A676E8A676E8A676E8A676E8A676E8A676E8A
-666C8E666C8E666C8E666C8E666C8E656B8D656B8D656B8D646A8C646A8C646A8C63698B
-63698B63698B63698B63698B62688C62688C61678B61678B61678B61678B61678B60668A
-5D68865D68865D68865D68865D68865D68865D68865D68865B65885B65885B65885B6588
-5B65885B65885B65885B65885B65885B65885B65885B65885B65885B65885B65885B6588
-5B65885B65885B65885B65885B65885B65885B65885B65885B65885B65885B65885B6588
-5B65885B65885B65885B6588616A8B5C67856C7B9C909FCA929FD38A96C6919CBABECAD8
-C5CFD8A1ACC2A1ADD39FADD49CABCA8897AE646E87676E8B657086657086657086657086
-657086657086657086657086646E89646E89646E89646E89646E89646E89646E89646E89
-646E89636D88636D88636D88636D88626C87626C87626C87626C87626C87626C87616B86
-616B86616B86616B86616B86606A85606A85606A855F69845F69845F69845F69845E6883
-5A68825A68825A68825A68825A68825A68825A68825A6882596781596781596781596781
-596781596781596781596781596781596781596781596781596781596781596781596781
-596781596781596781596781596781596781596781596781596781596781596781596781
-59678159678159678159678159648056647E687993899BC18D9ECC8A99C291A0B7BDCCD3
-BFCDD09CACBC9CABCA97AACA94A8C08192A25F6F7F626D8362708A62708A62708A62708A
-62708A62708A62708A62708A616F8A616F8A616F8A616F8A616F8A616F8A616F8A616F8A
-617083617083606F82606F82606F82606F825F6E815F6E81606F825F6E815F6E815F6E81
-5F6E815E6D805E6D805E6D805E6D825E6D825D6C815D6C815D6C815D6C815C6B805C6B80
-5A6A815A6A815A6A815A6A815A6A815A6A815A6A815A6A815A6B7F5A6B7F5A6B7F5A6B7F
-5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F
-5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F
-5A6B7F5A6B7F5A6B7F5A6B7F59687F58687F677B93879BBC8C9FCA8B9DC393A4B8BBCDD1
-C2D1D89DACC19BABCD98AACE95A9C4788A9E5D6C81616D875F6D875F6D875F6D875F6D87
-5F6D875F6D875F6D875F6D875E6C875E6C875E6C875E6C875E6C875E6C875E6C875E6C87
-5D6C835D6C835D6C835D6C835D6C835C6B825C6B825C6B825C6B825C6B825B6A815B6A81
-5B6A815B6A815A69805A69805A68825A68825A68825A6882596781596781596781596781
-566582566582566582566582566582566582566582566582576780576780576780576780
-576780576780576780576780576780576780576780576780576780576780576780576780
-576780576780576780576780576780576780576780576780576780576780576780576780
-57678057678057678057678058668354647E6275938598C08C9ECE8B9CC893A3BDBCCDD5
-C1CFDC99A7C297A6CF97A8D396A9CA72839D5D6B86667191637289637289637289637289
-637289637289637289637289616F89616F89616F89616F89616F89616F89616F89616F89
-616F8C616F8C616F8C616F8C606E8B606E8B606E8B606E8B5F6D8A5E6C895E6C895E6C89
-5E6C895D6B885D6B885D6B885D6A8A5D6A8A5D6A8A5D6A8A5C69895C69895C69895C6989
-5B688B5B688B5B688B5B688B5B688B5B688B5B688B5B688B5B68885B68885B68885B6888
-5B68885B68885B68885B68885B68885B68885B68885B68885B68885B68885B68885B6888
-5B68885B68885B68885B68885B68885B68885B68885B68885B68885B68885B68885B6888
-5B68885B68885B68885B68885E688C5461836171958495C38B9AD18997C88F9CBEBBC8D8
-C7D1DD9FA9C49BA7CF99A6D097A6C76E7C965E6883666C8C626D81626D81626D81626D81
-626D81626D81626D81626D81616C80616C80616C80616C80616C80616C80616C80616C80
-616A87616A87616A87616A876069866069866069866069865F68855F68855E67845E6784
-5E67845E67845D66835D66835E67865E67865D66855D66855D66855D66855C65845C6584
-5C65865C65865C65865C65865C65865C65865C65865C65865C65845C65845C65845C6584
-5C65845C65845C65845C65845C65845C65845C65845C65845C65845C65845C65845C6584
-5C65845C65845C65845C65845C65845C65845C65845C65845C65845C65845C65845C6584
-5C65845C65845C65845C65845F658557607D626F8F8592BC8F9BCD909BC998A1BEC2CCD8
-C1C9CBA2A9B99FA8C598A3C19AA6BC7884926E75857075896C73836C73836C73836C7383
-6C73836C73836C73836C73836B72826B72826B72826B72826B72826B72826B72826B7282
-6C73856C73856C73856B72846B72846B72846B72846B72846B72846B72846B72846B7284
-6A71836A71836A71836A71836A71846A71846A71846A7184697083697083697083697083
-697082697082697082697082697082697082697082697082697083697083697083697083
-697083697083697083697083697083697083697083697083697083697083697083697083
-697083697083697083697083697083697083697083697083697083697083697083697083
-697083697083697083697083696F7F676F7C6F7B8B8894AE8F99BC959EBD9BA3B0BAC3C0
-CFD5CBBBC3C6C5CCDEC4CFE1D6E3ECC9D3D5CBD3D6CED1DACFD5E3CFD5E3CFD5E3CFD5E3
-CFD5E3CFD5E3CFD5E3CFD5E3CFD5E1CFD5E1CFD5E1CFD5E1CFD5E1CFD5E1CFD5E1CFD5E1
-CFD6DCCFD6DCCFD6DCCFD6DCCED5DBCED5DBCED5DBCED5DBD0D7DDD0D7DDD0D7DDCFD6DC
-CFD6DCCFD6DCCFD6DCCFD6DCCFD6DECFD6DECFD6DECFD6DECED5DDCED5DDCED5DDCED5DD
-D0D5D9D0D5D9D0D5D9D0D5D9D0D5D9D0D5D9D0D5D9D0D5D9D0D4DDD0D4DDD0D4DDD0D4DD
-D0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DD
-D0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DD
-D0D4DDD0D4DDD0D4DDD0D4DDD1D5D6CFD5D5CBD5D6CED8E2C6CEE3C5CCDCC0C6C4D1D8C6
+E8EBF0E8EBF0E8EBF0E8EBF0E8EBF2E7EAF1E6E9F0E6E9F0E6EBEFE5EAEEE4E9EDE4E9EDE4E9ED
+E3E8ECE2E7EBE0E5E9DFE3EEDEE2EDDEE2EDDDE1ECDEE2EDDDE1ECDBDFEADADEE9DBE0E6DBE0E6
+DADFE5DADFE5D9DEE4D8DDE3D7DCE2D7DCE2D2D8E4D2D8E4D1D7E3D0D6E2CFD5E1CED4E0CED4E0
+CDD3DFCBD3E0CAD2DFC8D0DDC7CFDCC7CFDCC7CFDCC6CEDBC5CDDAC8D0DDC7CFDCC5CDDAC5CDDA
+C5CDDAC4CCD9C3CBD8C1C9D6C1CBD5C0CAD4C0CAD4BFC9D5BEC8D4BDC7D3BCC5D4BBC4D3B9C1D6
+B9C1D6B8C0D5B7BFD6B6BED5B5BDD4B4BCD3B4BBD5B3BAD4B3BAD4B2B9D3B1B8D2B0B7D1B0B7D1
+AFB6D0AFB6D0ABB5D0AAB4CFA9B3CEA8B2CDA8B2CDA7B1CCA6B0CBA5AFCAA6B0CBA6AFCCA2ADCB
+A0ABC9A2ABC8A7AEC8EAEDF2EAEDF2EAEDF2EAEDF2EAEDF4E9ECF3E8EBF2E8EBF2E7ECF2E6EBF1
+E6EBF1E5EAF0E6EBF1E5EAF0E3E8EEE2E7EDE1E5F0E1E5F0E0E4EFE0E4EFE0E4EFDFE3EEDDE1EC
+DCE0EBD9DFEBD9DFEBD8DEEAD7DDE9D7DDE9D6DCE8D5DBE7D5DBE7D3D9E5D3D9E5D2D8E4D1D7E3
+D0D6E2CFD5E1CED4E0CED4E0CDD4E4CCD3E3CAD1E1CAD1E1CAD1E1CAD1E1C9D0E0C8CFDFC7CEE0
+C6CDDFC4CBDDC4CBDDC4CBDDC3CADCC2C9DBC0C7D9BCC7D9BCC7D9BBC6D8BAC5D7B9C4D8B8C3D7
+B7C2D6B7C2D6B6C0DBB6C0DBB5BFDAB4BED9B3BCD9B2BBD8B1BAD7B1BAD7AFB8D9AFB8D9AEB7D8
+ADB6D7ACB5D6ACB5D6ABB4D5ABB4D5AAB5D5A9B4D4A8B3D3A7B2D2A7B2D2A6B1D1A5B0D0A4AFCF
+A4AFCFA1AED09FACCF9DAACDA1ABCEA5AECDEBEEF3EBEEF3EBEEF3EBEEF5EBEEF5EAEDF4E9ECF5
+E9ECF5E8EDF3E7ECF2E6EBF1E6EBF1E6EBF1E5EAF0E3E8EEE2E7EDE2E6F1E1E5F0E0E4EFE0E4EF
+E0E4EFE0E4EFDEE2EDDDE1ECD9DEF2D8DDF1D8DDF1D7DCF0D6DBEFD5DAEED5DAEED5DAEED3D9E9
+D3D9E9D2D8E8D1D7E7D0D6E6CFD5E5CFD5E5CED4E4CED5E7CDD4E6CBD2E4CBD2E4CBD2E4CBD2E4
+C9D0E2C8CFE1C5CDE2C4CCE1C2CADFC2CADFC2CADFC1C9DEC0C8DDBFC7DCBAC6DEBAC6DEB9C5DF
+B8C4DEB7C3DDB6C1DDB5C0DCB5C0DCB5C0DEB4BFDDB3BEDCB2BDDBB1BCDCB0BBDBB0BBDBAFBADA
+ADB7DBADB7DBACB6DAABB5D9ABB5D9AAB4D8A9B3D7A9B3D7A7B5DAA6B4D9A4B2D7A4B2D7A4B2D7
+A3B1D6A2B0D5A0AED39FADD09EAED29DACD39AA9D09BABCFA1AED0E9ECF1E9ECF1E9ECF3E9ECF3
+E9ECF3E8EBF4E7EAF3E7EAF3E5E9F2E5E9F2E4E8F1E4E8F1E4E8F1E3E7F0E1E5EEE0E4EDDFE5F1
+DEE4F0DDE3EFDDE3EFDDE3EFDCE2EEDAE0ECD9DFEBD8DDF0D8DDF0D7DCEFD7DCEFD6DBEED5DAED
+D4D9ECD4D9ECD2D9EBD1D8EAD1D8EAD0D7E9CFD6E8CED5E7CDD4E6CDD4E6CCD3E6CBD2E5CAD1E4
+CAD1E4CAD1E4C9D0E3C8CFE2C6CDE0C5CCE6C4CBE5C2C9E3C2C9E3C2C9E3C1C8E2C0C7E1BEC5DF
+B9C7E1B8C6E0B8C6E0B7C5E0B6C4DFB5C3DEB4C2DDB4C2DFB3C1DCB2C0DBB1BFDAB1BFDCAFBDDA
+AFBDDAAEBBDBADBADAABB9DCABB9DCABB9DCAAB8DBA9B7DAA8B6D9A8B6D9A7B5D8A4B6DAA3B5D9
+A1B3D7A1B3D7A0B2D6A0B2D69EB0D49DAFD39CAFCF9CAFD09AAED197ABCE98ABCC9DAECCE8EBF2
+E8EBF2E8EBF2E8EBF2E8EBF4E7EAF3E6E9F2E6E9F2E4E8F1E3E7F0E2E6EFE2E6EFE2E6EFE2E6EF
+E0E4EDDFE3ECDDE3EFDCE2EEDBE1EDDBE1EDDBE1EDDBE1EDD9DFEBD8DEEAD7DFECD6DEEBD6DEEB
+D5DDEAD4DCE9D3DBE8D3DBE8D3DBE8D1D8EBD0D7EAD0D7EACFD6E9CED5E8CDD4E7CCD3E6CBD2E5
+CAD2E7C9D1E6C8D0E5C8D0E5C8D0E5C7CFE4C6CEE3C4CCE1C5CCE8C4CBE7C2C9E5C2C9E5C2C9E5
+C1C8E4C0C7E3BFC6E2B9C8DDB9C8DDB8C7DEB7C6DDB6C5DCB5C3DDB5C3DDB4C2DCB3C2D9B3C2D9
+B2C1D8B1C0D7B0BED8AFBDD7AEBCD6AEBCD6ACBBD8ACBBD8ABBAD7AAB9D6A9B8D5A9B8D5A8B7D4
+A8B7D4A4B7D7A2B5D5A1B4D4A0B3D3A0B3D3A0B3D39EB1D19DB0D09CB0CB9CB1CE9BB0CF97ACCB
+96ABC89BACC6E8EBF2E8EBF2E8EBF2E8EBF4E8EBF4E7EAF3E6E8F4E6E8F4E5E9F4E4E8F3E3E7F2
+E3E7F2E3E7F2E2E6F1E0E4EFDFE3EEDDE3EFDCE2EEDBE1EDDBE1EDDBE1EDDBE1EDD9DFEBD8DEEA
+D6DEE9D6DEE9D5DDE8D5DDE8D4DCE7D3DBE6D2DAE5D2DAE5D0D7EAD0D7EACFD6E9CED5E8CDD4E7
+CCD3E6CBD2E5CBD2E5CAD2E7C9D1E6C9D1E6C9D1E6C9D1E6C8D0E5C6CEE3C4CCE1C3CDE6C2CCE5
+C0CAE3C0CAE3C0CAE3BFC9E2BEC8E1BCC6DFBBC8DBBAC6DCB9C5DBB8C4DAB7C3D9B6C2DAB6C2DA
+B5C1D9B3C2D7B3C2D7B2C1D6B1C0D7B0BFD6AFBED5AEBDD4AEBCD6ABBBD5AABAD4AABAD4A9B9D3
+A8B8D2A8B8D2A7B7D1A7B7D1A5B6D2A4B5D1A3B4D0A2B3CFA2B3CFA1B2CEA0B1CD9FB0CC9EAFC9
+9DB1CC9CAFCD98ABC996AAC59BABC4E7EAF1E8EBF2E8EBF4E8EBF4E7EAF3E7E9F5E6E8F4E5E7F3
+E5E9F4E4E8F3E3E7F2E3E7F2E3E7F2E2E6F1E1E5F0DFE3EEDDE3F1DCE2F0DBE1EFDBE1EFDBE1EF
+DAE0EED9DFEDD7DDEBD6DEEBD5DDEAD5DDEAD4DCE9D3DBE8D3DBE8D2DAE7D2DAE7D0D9EACFD8E9
+CED7E8CDD6E7CCD5E6CBD4E5CBD4E5CAD3E4C9D1E6C9D1E6C8D0E5C9D1E6C9D1E6C8D0E5C6CEE3
+C4CCE1C2CDE3C1CCE2BFCAE0BFCAE0BFCAE0BEC9DFBDC8DEBBC6DCBBC5DEBBC5DEBAC4DFB9C3DE
+B8C2DDB7C1DCB6BFDCB6BFDCB4C0DAB4C0DAB3BFD9B2BDD9B1BCD8B0BBD7B0BBD9AFBAD8AAB9D6
+AAB9D6A9B8D5A8B7D4A8B7D4A7B6D3A6B5D2A6B5D2A6B5D6A5B4D5A3B2D3A3B2D3A3B2D3A2B1D2
+A1B0D19FAECF9DACCB9FAECF9EAED09AAACE9AA8CB9DABC8E6E9F0E6E9F2E7EAF3E7EAF3E6E9F2
+E5E7F3E5E7F3E4E6F2E4E8F4E3E7F3E2E6F2E2E6F2E2E6F2E2E6F2E0E4F0DEE2EEDBE3F0DAE2EF
+D9E1EED9E1EED9E1EED8E0EDD7DFECD5DDEAD6DDEFD5DCEED5DCEED4DBEDD3DAECD2D9EBD2D9EB
+D1D8EAD0D9EAD0D9EACFD8E9CED7E8CDD6E7CCD5E6CBD4E5CBD4E5C8D0E3C8D0E3C8D0E3C8D0E3
+C8D0E3C7CFE2C4CCDFC2CADDC1CCE0C0CBDFBEC9DDBEC9DDBEC9DDBDC8DCBCC7DBBAC5D9BEC5E2
+BEC4E4BDC3E3BCC2E2BBC1E1BAC0E2B9BFE1B9BFE1B4BFDFB3BEDEB2BDDDB1BCDCB0BADDAFB9DC
+AFB9DCAEB8DBABB8D8ABB8D8ABB8D8AAB7D7A9B6D6A8B5D5A8B5D5A7B4D4A7B3D9A6B2D8A4B0D6
+A4B0D6A4B0D6A3AFD5A2AED4A0ACD29CA8CE9FABD39FABD59CA8D29BA7CFA1A9CEE5E9F2E5E9F2
+E5E9F2E5E9F2E5E9F4E4E8F3E3E7F2E3E7F2E2E5F4E2E5F4E2E5F4E1E4F3E1E4F3E0E3F2E0E3F2
+DFE2F1DBE1EFDBE1EFDBE1EFDAE0EED9DFEDD9DFEDD8DEECD8DEECD6DCECD6DCECD5DBEBD5DBEB
+D4DAEAD3D9E9D2D8E8D2D8E8D1D8EAD0D7E9CFD6E8D0D7E9D1D8EAD1D8EACFD6E8CDD4E6C8D0E5
+CBD3E8CBD3E8C8D0E7C3CBE2C3CBE2C4CBE5C6CDE7C3D0E3C2CFE2C1CEE1BFCBE1BCC8DEBAC6DC
+BAC6DEBBC7DFBBC7E1B9C5DFB8C4DEB7C3DDB7C2DEB7C2DEB5C0DCB4BFDBB2C0DDB1BFDCB0BEDB
+AFBDDAAFBDDAAEBCD9ADBBD8ACBAD7AAB9D8AAB9D8A9B8D7A8B7D6A7B6D5A6B5D4A6B5D4A5B4D3
+A4B3D4A3B2D3A3B2D3A2B1D2A1B0D1A0AFD0A0AFD09FAECF9BADD59CAED29CACCD9BA9CC9CA8D0
+A0A9D2E4E8F1E4E8F1E4E8F1E4E8F1E4E8F3E3E7F2E2E6F1E2E6F1E2E5F4E2E5F4E1E4F3E1E4F3
+E0E3F2E0E3F2DFE2F1DFE2F1DBE1EFDBE1EFDAE0EEDAE0EED9DFEDD9DFEDD8DEECD8DEECD6DCEC
+D6DCECD5DBEBD4DAEAD4DAEAD3D9E9D2D8E8D2D8E8D1D8EBCFD6E9CED5E8CCD3E6CBD2E5CAD1E4
+C8CFE2C7CEE1C5CDE2C7CFE4CAD2E7CBD3EAC9D1E8C7CFE6C3CBE2C0C7E1BBC7DDBBC7DDBBC7DD
+BCC8DEBDC9E1BCC8E0BBC7DFB9C5DDBBC7E1B9C5DFB8C4DEB7C3DDB7C2DEB7C2DEB5C0DCB4BFDB
+B2C0DDB1BFDCB0BEDBAFBDDAAFBDDAAEBCD9ADBBD8ACBAD7AAB9D8AAB9D8A9B8D7A8B7D6A7B6D5
+A6B5D4A6B5D4A5B4D3A4B3D4A3B2D3A3B2D3A2B1D2A1B0D1A0AFD0A0AFD09FAECF9BADD59CAED2
+9CACCD9BA9CC9CA8D0A0A9D2E3E7F0E3E7F0E3E7F0E3E7F0E3E7F2E2E6F1E1E5F0E1E5F0E1E4F3
+E1E4F3E1E4F3E0E3F2E0E3F2DFE2F1DFE2F1DEE1F0DBE1EFDAE0EEDAE0EED9DFEDD9DFEDD8DEEC
+D8DEECD8DEECD6DCECD5DBEBD5DBEBD4DAEAD3D9E9D2D8E8D2D8E8D1D7E7CCD2E8CDD3E9CED4EA
+CDD3E9CDD3E9CDD3E9CED4EACED4EACAD2E5C6CEE1C1C9DEBFC7DCC0C8DDC3CBE2C5CDE4C7CFE6
+C1CCE2BFCAE0BDC7E0BDC7E0BEC8E1BEC8E3BDC7E2BBC5E0BAC6E0B9C5DFB8C4DEB7C3DDB7C2DE
+B6C1DDB5C0DCB4BFDBB2C0DDB1BFDCAFBDDAAFBDDAAFBDDAAEBCD9ADBBD8ABB9D6AAB9D8AAB9D8
+A9B8D7A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A3B2D3A3B2D3A2B1D2A2B1D2A1B0D1A0AFD0A0AFD0
+9FAECF9BADD59BADD19CACCD9BA9CC9CA8D0A0A9D2E2E6EFE3E7F0E3E7F0E3E7F0E2E6F1E2E6F1
+E1E5F0E0E4EFE1E4F3E0E3F2E0E3F2DFE2F1DFE2F1DEE1F0DEE1F0DEE1F0DAE0EEDAE0EEDAE0EE
+D9DFEDD8DEECD8DEECD7DDEBD7DDEBD5DBEBD5DBEBD4DAEAD3D9E9D3D9E9D2D8E8D1D7E7D1D7E7
+D1D7EDD2D8EED2D8EECFD5EBCBD1E7C8CEE4C7CDE3C8CEE4C5CDE0C5CDE0C8D0E3CBD3E6CBD3E8
+C8D0E5C4CCE1C3CBE0C4CEE7C2CCE5BEC8E1BCC6DFBBC5E0BCC6E1BDC7E2BEC8E3BAC6E0B9C5DF
+B7C3DDB7C3DDB7C2DEB6C1DDB5C0DCB3BEDAB2C0DDB1BFDCAFBDDAAFBDDAAEBCD9AEBCD9ACBAD7
+ABB9D6AAB9D8A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A3B2D3A3B2D3A2B1D2A1B0D1
+A1B0D1A0AFD09FAECF9FAECF9AACD49BADD19CACCD9AA8CB9BA7CFA0A9D2E2E6EFE3E7F0E3E7F0
+E3E7F0E2E6F1E1E5F0E1E5F0E0E4EFE0E3F2E0E3F2DFE2F1DFE2F1DEE1F0DDE0EFDDE0EFDDE0EF
+DAE0EED9DFEDD9DFEDD8DEECD8DEECD7DDEBD7DDEBD7DDEBD5DBEBD4DAEAD4DAEAD3D9E9D2D8E8
+D1D7E7D1D7E7D0D6E6CCD2E8CDD3E9CED4EACDD3E9CAD0E6C9CFE5CAD0E6CBD1E7CDD4E6C9D0E2
+C4CBDDC1C8DBBCC3D6BAC1D4BFC5DBC6CCE2BDC8DEBFCAE0C0CAE3BEC8E1BCC6DFBAC4DFBBC5E0
+BDC7E2BAC6E0B9C5DFB7C3DDB7C3DDB6C1DDB6C1DDB4BFDBB3BEDAB2C0DDB0BEDBAFBDDAAEBCD9
+AEBCD9AEBCD9ACBAD7ABB9D6AAB9D8A9B8D7A8B7D6A8B7D6A6B5D4A6B5D4A5B4D3A4B3D2A3B2D3
+A3B2D3A2B1D2A1B0D1A0AFD0A0AFD09FAECF9FAECF9AACD49BADD19CACCD9AA8CB9BA7CFA0A9D2
+E2E6EFE2E6EFE2E6EFE2E6EFE2E6F1E1E5F0E0E4EFE0E4EFDFE2F1DFE2F1DEE1F0DEE1F0DDE0EF
+DDE0EFDCDFEEDCDFEED9DFEDD9DFEDD8DEECD8DEECD7DDEBD7DDEBD6DCEAD6DCEAD4DAEAD4DAEA
+D3D9E9D2D8E8D2D8E8D1D7E7D0D6E6D0D6E6D1D8EBCFD6E9CCD3E6C9D0E3C7CEE1C7CEE1C9D0E3
+CBD2E5C2C9D9B3BACCA0A7B99198AA8A91A39097AAA3AABDB6BDD0B8C0D5BCC4D9C2CAE1C5CDE4
+C4CCE3C0C7E1BCC3DDBAC1DBBAC6E0B8C4DEB7C3DDB6C2DCB6C1DDB6C1DDB4BFDBB3BEDAB1BFDC
+B0BEDBAFBDDAAEBCD9AEBCD9ADBBD8ACBAD7ABB9D6A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A5B4D3
+A5B4D3A4B3D2A3B2D3A2B1D2A2B1D2A1B0D1A0AFD09FAECF9FAECF9EADCE9AACD49BADD19BABCC
+9AA8CB9BA7CF9FA8D1E1E5EEE1E5EEE1E5EEE1E5EEE1E5F0E0E4EFDFE3EEDFE3EEDFE2F1DEE1F0
+DEE1F0DDE0EFDDE0EFDCDFEEDCDFEEDBDEEDD9DFEDD9DFEDD8DEECD7DDEBD7DDEBD6DCEAD6DCEA
+D6DCEAD4DAEAD3D9E9D3D9E9D2D8E8D1D7E7D0D6E6D0D6E6CFD5E5D7DEEECDD4E4BEC5D5B0B7C7
+A6ADBDA2A9B9A1A8B8A1A8B8939AAA8A91A1838A9A8087997C83957A819381889B8A91A49CA4B7
+9FA7BAA8B0C3B3BBD0BCC4D9C0C8DDBDC5DCBAC2D9B9C5DFB8C4DEB7C3DDB6C2DCB6C1DDB5C0DC
+B4BFDBB3BEDAB1BFDCB0BEDBAEBCD9AEBCD9AEBCD9ADBBD8ACBAD7AAB8D5A9B8D7A9B8D7A8B7D6
+A7B6D5A6B5D4A5B4D3A4B3D2A4B3D2A2B1D2A2B1D2A1B0D1A1B0D1A0AFD09FAECF9FAECF9EADCE
+9AACD49AACD09BABCC9AA8CB9BA7CF9FA8D1E0E4EDE0E4EDE0E4EDE0E4EDE0E4EFDFE3EEDEE2ED
+DEE2EDDEE1F0DEE1F0DEE1F0DDE0EFDCDFEEDCDFEEDBDEEDDBDEEDD9DFEDD8DEECD8DEECD7DDEB
+D7DDEBD6DCEAD6DCEAD5DBE9D3D9E9D3D9E9D3D9E9D2D8E8D1D7E7D0D6E6D0D6E6CFD5E5B4BBCB
+A7AEBE949BAB848B9B7C83937B82927D84947F86968289997C83937B829280879781889A7E8597
+7E859782899B717A8B737C8D7C84979098ABA8B0C3B9C1D6BFC7DCBEC6DBB9C5DFB8C4DEB7C3DD
+B6C2DCB6C1DDB5C0DCB4BFDBB3BEDAB1BFDCB0BEDBAEBCD9AEBCD9AEBCD9ADBBD8ACBAD7AAB8D5
+A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A5B4D3A4B3D2A4B3D2A2B1D2A2B1D2A1B0D1A1B0D1A0AFD0
+9FAECF9EADCE9EADCE99ABD39AACD09BABCC99A7CA9AA6CE9FA8D1DEE3E9E0E4EDE0E4EDDDE4EE
+DCE3EDDEE4F0DDE3EFDAE2EFDBE1EDDBE1EDDBE1EDDAE0ECD9DFEBD9DFEBD8DEEAD8DEEAD6DCEC
+D6DCECD6DCECD5DBEBD5DBEBD4DAEAD4DAEAD3D9E9DAE1F3D4DBEDCCD3E5D2D9EBCCD3E3CDD4E4
+D1D8E8B2B9C9979DAB8B919F838997858B99878D9B8389977E84927E84927F85957F85957F8595
+7F85957F85957E84947D83937D83937D84967D84967C83957980927C83958B92A4A3AABCB6BDCF
+BAC5D9BBC6DCB4BFD5B8C4DCBAC6E0B6C1DDB7C2E0AEBCD9AFBDD8AEBCD7AEBCD7ADBBD8ACBAD7
+ABB9D6ABB8D8AAB7D7AAB9D6A9B8D5A9B8D7A8B7D6A7B6D5A6B5D6A5B4D5A5B4D5A2B0D3A2B0D3
+A1AFD2A1AFD2A0AED19FADD09FADD09EACCF98ABD599ADD299ACCD99A9CD9AA7D19EAAD2DDE2E8
+DFE3ECDFE3ECDCE3EDDBE2ECDDE3EFDCE2F0D9E1EEDAE0ECDAE0ECDAE0ECD9DFEBD8DEEAD8DEEA
+D7DDE9D7DDE9D6DCECD6DCECD5DBEBD5DBEBD4DAEAD4DAEAD3D9E9D3D9E9D5DCEED2D9EBC8CFE1
+CCD3E5D3DAEAD5DCECC2C9D99097A7868C9A7F85937D8391808694828896808694808694838997
+8086968086968086968086967F85957F85957E84947E84947E85977E85977C83957A8193798092
+7D8496848B9D8B92A496A1B5B1BCD0BBC6DCB7C1DAADB9D3ADB8D4B5C0DEAEB9D7AFBDD8AEBCD7
+AEBCD7ADBBD8ACBAD7ABB9D6ABB8D8AAB7D7A9B8D5A8B7D4A8B7D6A7B6D5A6B5D4A5B4D5A4B3D4
+A4B3D4A2B0D3A2B0D3A1AFD2A1AFD2A0AED19FADD09EACCF9EACCF98ABD599ADD299ACCD99A9CD
+9AA7D19EAAD2DCE0E9DEE2EBDEE2EBDAE1EBDAE0ECDCE2EEDBE1EFD8E0EDD9DFEDD9DFEDD9DFED
+D8DEECD7DDEBD7DDEBD6DCEAD6DCEAD5DBEBD5DBEBD5DBEBD4DAEAD4DAEAD3D9E9D3D9E9D2D8E8
+CBD2E4D5DCEED1D8EAD0D7E9D2D9E9CAD1E1AEB5C5818898828896808694818795838997808694
+7C82907E84928389978086968086968086968086968086967F85957E84947E84947C83957B8294
+7A81937B82947A8193798092757C8E72798B7C8799A0ABBFB7C2D8BCC6DFB4C0DAB1BCD8B7C2DE
+B2BDDBAEBCD7AEBCD7ADBBD6ADBBD8ACBAD7ABB9D6ABB8D8AAB7D7A8B7D4A8B7D4A7B6D5A6B5D4
+A5B4D3A4B3D4A3B2D3A3B2D3A2B0D3A2B0D3A1AFD2A0AED1A0AED19FADD09EACCF9EACCF97AAD4
+98ACD198ABCC98A8CC99A6D09DA9D1DBDFE8DDE1EADEE2EDDAE1EBDAE0ECDBE1EFDBE1EFD7DFEC
+D9DFEDD8DEECD8DEECD7DDEBD7DDEBD6DCEAD6DCEAD6DCEAD5DBEBD4DAEAD4DAEAD3D9E9D3D9E9
+D2D8E8D2D8E8D2D8E8C9D0E2D3DAECD4DBEDD1D8EAC9D0E0B3BACA989FAF868D9D858B99858B99
+868C9A868C9A8187957C82907D83918187957F85958086968086968086967F85957F85957E8494
+7D83937A8193798092787F917A81937B82947B8294798092777E9071798C81899C929DB1AEB9CF
+BAC4DDB4C0DAB2BDD9ABB6D2AEBCD7AEBCD7ADBBD6ACBAD7ACBAD7ABB9D6AAB7D7AAB7D7A8B7D4
+A7B6D3A7B6D5A6B5D4A5B4D3A4B3D4A3B2D3A3B2D3A2B0D3A2B0D3A1AFD2A0AED19FADD09FADD0
+9EACCF9EACCF95A8D296AACF96A9CA96A6CA98A5CF9CA8D0DBDFE8DDE1ECDEE2EDDAE0ECDAE0EC
+DBE1EFDAE0F0D7DEEED9DFEDD8DEECD8DEECD7DDEBD7DDEBD6DCEAD6DCEAD6DCEAD4DAEAD4DAEA
+D3D9E9D3D9E9D2D8E8D1D7E7D1D7E7D1D7E7D2D9EBCBD2E4CAD1E3CBD2E4BEC5D59CA3B3838A9A
+848B9B8187958187958288968389978288968086948086948187957E84947F85957F85957F8595
+7E84947D83937D83937C82927B82947A81937A8193798092787F917980927980927A8193737C8D
+727A8D777F92939EB2ADB8CEB4BED7B6C0DBACB8D2AEBCD7AEBCD7ADBBD6ACBAD7ABB9D6ABB9D6
+AAB7D7AAB7D7A8B7D4A8B7D4A7B6D5A6B5D4A5B4D3A4B3D4A3B2D3A3B2D3A2B0D3A1AFD2A1AFD2
+A0AED19FADD09EACCF9EACCF9DABCE96A9D397ABD097AACB97A7CB98A5CF9CA8D0DBDFEADDE1EC
+DDE1ECD9DFEBD9DFEDDBE1EFDAE0F0D7DEEED8DEEED8DEEED8DEEED7DDEDD6DCECD6DCECD5DBEB
+D5DBEBD3D9E9D3D9E9D2D8E8D2D8E8D1D7E7D1D7E7D0D6E6D0D6E6D3DAECCAD1E3CFD6E8C5CCDE
+A7AEBE868D9D787F8F868D9D8187958187958086948187958288968288968187958086947E8494
+7E84947E84947E84947E84947D83937C82927C8292787F917A81937C83957B8294798092787F91
+7980927A81937780917A8394747C8F7D859A8F9AB0A6B0C9B9C3DCB6C0DBAEBCD7ADBBD6ADBBD6
+ACBAD7ABB9D6AAB8D5AAB7D7A9B6D6A8B7D4A7B6D3A7B6D5A6B5D4A5B4D3A4B3D4A3B2D3A3B2D3
+A1AFD2A1AFD2A0AED1A0AED19FADD09EACCF9DABCE9DABCE97AAD498ACD198ABCC98A8CC99A6D0
+9DA9D1DADEE9DCE0EBDCE0ECD8DEEAD8DEECD9DFEFD9DFEFD6DDEDD7DDEDD7DDEDD6DCECD6DCEC
+D5DBEBD5DBEBD4DAEAD4DAEAD3D9E9D2D8E8D2D8E8D1D7E7D1D7E7D0D6E6D0D6E6CFD5E5CED5E7
+CCD3E5D3DAECB3BACC8990A07D84947D8494868D9D848A98848A98838997828896808694808694
+8086947F85937E84947E84947E84947E84947E84947D83937D83937C8292787F917A81937B8294
+7B82947B82947A81937A81937B8294737A8A7B8292737C8D6F778A747C918590A6A6B0C9B3BDD6
+ADBBD6ADBBD6ACBAD5ACBAD7ABB9D6AAB8D5AAB7D7A9B6D6A7B6D3A6B5D2A6B5D4A5B4D3A4B3D2
+A3B2D3A2B1D2A2B1D2A1AFD2A1AFD2A0AED19FADD09FADD09EACCF9DABCE9DABCE97AAD498ACD1
+98ABCC97A7CB98A5CF9BA7CFD9DDE8DBDFEADBDFEBD7DDE9D7DDEBD8DEEED8DEEED5DCECD6DCEC
+D6DCECD5DBEBD5DBEBD4DAEAD4DAEAD3D9E9D3D9E9D2D8E8D2D8E8D2D8E8D1D7E7D0D6E6D0D6E6
+CFD5E5CFD5E5D1D8EACAD1E3C6CDDF979EB0747B8B858C9C878E9E7A81917E8492808694818795
+7F85937D83917E84928086948187957F85957F85957F85957F85957F85957E84947D83937D8393
+7E85977C8395798092787F91777E90777E90777E90777E907A81917C8393778091788093737B90
+777F9698A2BBB4BED7ADBBD6ADBBD6ACBAD5ACBAD7ABB9D6AAB8D5A9B6D6A9B6D6A6B5D2A5B4D1
+A5B4D3A4B3D2A3B2D1A2B1D2A1B0D1A1B0D1A1AFD2A1AFD2A0AED19FADD09FADD09EACCF9DABCE
+9DABCE96A9D397ABD096A9CA95A5C995A2CC99A5CDD7DDE9DAE0EED8DEEED6DBEED8DFF1D6DDEF
+D3DAEAD7DFECD4DBEDD4DBEDD3DAECD3DAECD2D9EBD2D9EBD1D8EAD1D8EAD1D8EBD0D7EACED5E8
+CED5E8CDD4E7CDD4E7CDD4E7CCD3E6CACFE2D8DEEEB0B6C68C92A2848A9A818795858B99808694
+8187958187958187958187958086948086947F85937F85937F85957F85957E84947E84947E8494
+7D83937D83937D83937B82947A8193798092798092787F91787F91787F91798092788095777E91
+777E907A7F92757C8E71798C8590A4AAB6CCA7B5CFB0BED8A5B3CEAAB8D5AEBDDCA5B4D5A8B6D9
+A3B1D4A7B6D7A5B4D5A4B3D4A3B2D3A3B1D4A3B1D4A1AFD2A0AED19EAED29EAED29DADD19DADD1
+9CACD09BABCF9AAACE9AAACE95A8D298ACD193A6C798A8CC98A5CF96A2CAD6DCE8D9DFEDD6DCEC
+D5DAEDD7DEF0D5DCEED2D9E9D5DDEAD4DBEDD4DBEDD3DAECD3DAECD2D9EBD1D8EAD1D8EAD1D8EA
+D2D9ECD0D7EACED5E8CFD6E9D0D7EAD0D7EACDD4E7CAD1E4D0D5E8C9CFDF9FA5B5848A9A808696
+818795888E9C8389978187958187958187958086948086948086947F85937F85937F85957F8595
+7E84947E84947D83937D83937D83937D83937A81937A8193798092798092787F91787F91787F91
+787F91747C91757C8F757C8E787D90767D8F70788B7A8599919DB3A5B3CDB2C0DAA6B4CFA7B5D2
+AEBDDCA8B7D8A9B7DAA7B5D8A7B6D7A5B4D5A4B3D4A3B2D3A3B1D4A3B1D4A1AFD2A0AED19EAED2
+9EAED29DADD19DADD19CACD09BABCF9AAACE9AAACE95A8D298ACD193A6C798A8CC98A5CF96A2CA
+D5DBE7D8DEECD5DBEBD3D8EBD5DCEED4DBEDD1D8E8D4DCE9D3DAECD3DAECD3DAECD2D9EBD1D8EA
+D1D8EAD0D7E9D0D7E9D1D8EBCFD6E9CDD4E7CED5E8D0D7EAD0D7EACCD3E6C9D0E3CFD4E7B1B7C7
+8B91A17F85957F8595828896898F9D8288968187958187958187958086948086947F85937F8593
+7F85937E84947E84947E84947D83937D83937D83937C82927C82927A81937A8193798092787F91
+787F91787F91787F91787F91727A8F757C8F747B8D767B8E777E9071798C6E798D768298A0AEC8
+B4C2DCAAB8D3A5B3D0ADBCDBAAB9DAA7B5D8A8B6D9A6B5D6A5B4D5A4B3D4A3B2D3A3B1D4A3B1D4
+A1AFD2A0AED19EAED29EAED29DADD19CACD09BABCF9BABCF9AAACE9AAACE95A8D298ACD193A6C7
+98A8CC98A5CF95A1C9D4DAE6D7DDEBD4DAEAD3D8EBD5DCEED3DAECD0D7E7D3DBE8D2D9EBD2D9EB
+D2D9EBD1D8EAD1D8EAD0D7E9D0D7E9CFD6E8CDD4E7CDD4E7CCD3E6CCD3E6CDD4E7CCD3E6CCD3E6
+CBD2E5C4C9DC989EAE7F8595838999838999838997868C9A7D8391818795818795808694808694
+8086947F85937F85937F85937E84947E84947D83937D83937D83937C82927C82927C82927A8193
+7A8193798092787F91787F91787F91787F91787F91737B90787F92767D8F757A8D777E90747C8F
+6B768A69758B93A1BBB0BED8AFBDD8A6B4D1ABBAD9A8B7D8A2B0D3A7B5D8A6B5D6A5B4D5A3B2D3
+A3B2D3A3B1D4A2B0D3A1AFD2A0AED19EAED29DADD19DADD19CACD09BABCF9AAACE9AAACE9AAACE
+95A8D298ACD193A6C797A7CB98A5CF95A1C9D4DAE6D7DDEBD4DAEAD2D7EAD4DBEDD3DAECD0D7E7
+D3DBE8D2D9EBD1D8EAD1D8EAD0D7E9D0D7E9CFD6E8CFD6E8CFD6E8CBD2E5CDD4E7CDD4E7CCD3E6
+CAD1E4CAD1E4CCD3E6CFD6E9B6BBCE888E9E7C8292878D9D8389998288968389977D8391818795
+8086948086948086947F85937F85937F85937E84927D83937D83937D83937C82927C82927C8292
+7B81917B81917A8193798092798092787F91787F91777E90787F91787F91737B907A8194777E90
+73788B757C8E747C8F6E798D6B778D7F8DA79FADC7AEBCD7A8B6D3A9B8D7A7B6D7A0AED1A7B5D8
+A6B5D6A5B4D5A3B2D3A3B2D3A3B1D4A2B0D3A1AFD29FADD09DADD19DADD19DADD19CACD09BABCF
+9AAACE9AAACE99A9CD94A7D197ABD093A6C797A7CB98A5CF95A1C9D3D9E5D6DCEAD3D9E9D2D7EA
+D4DBEDD2D9EBCFD6E6D2DAE7D1D8EAD1D8EAD0D7E9D0D7E9CFD6E8CED5E7CED5E7CED5E7CCD3E6
+CED5E8CED5E8CCD3E6CAD1E4C9D0E3CCD3E6CED5E8A8ADC08288987E8494858B9B808696808694
+8187958288968086948086948086947F85937F85937F85937E84927E84927D83937D83937C8292
+7C82927C82927B81917B81917B8191798092798092787F91787F91777E90777E90777E90777E90
+71798E798093767D8F71768972798B727A8D6F7A8E707C926D7B958896B0A7B5D0AAB8D5A7B6D5
+A8B7D8A3B1D4A7B5D8A6B5D6A4B3D4A3B2D3A2B1D2A2B0D3A2B0D3A0AED19FADD09DADD19DADD1
+9CACD09CACD09BABCF9AAACE99A9CD99A9CD94A7D197ABD092A5C697A7CB97A4CE95A1C9D2D8E4
+D5DBE9D2D8E8D0D5E8D2D9EBD1D8EACED5E5D1D9E6D0D7E9D0D7E9D0D7E9CFD6E8CED5E7CED5E7
+CDD4E6CDD4E6CDD4E7CCD3E6CCD3E6CCD3E6CCD3E6CAD1E4C7CEE1C5CCDF999EB17F8595828898
+8389997F85958288967F85938389978086948086948086947F85937F85937E84927E84927E8492
+7C82927C82927C82927C82927B81917B81917A80907A8090798092798092787F91777E90777E90
+777E90777E90777E9070788D767D90737A8C71768972798B727A8D6E798D717D9367758F76849E
+9DABC6A9B7D4A6B5D4AAB9DAA5B3D6A4B2D5A5B4D5A4B3D4A3B2D3A2B1D2A2B0D3A2B0D3A0AED1
+9FADD09DADD19DADD19CACD09BABCF9AAACE9AAACE99A9CD99A9CD94A7D197ABD092A5C697A7CB
+97A4CE94A0C8D0D6E2D4DAE8D1D7E7CFD4E7D1D8EACFD6E8CDD4E4D0D8E5D0D7E9D0D7E9CFD6E8
+CFD6E8CED5E7CED5E7CDD4E6CDD4E6CDD4E7CAD1E4C8CFE2CAD1E4CDD4E7CAD1E4C2C9DCBAC1D4
+8E93A67D8393858B9B848A9A818797858B997D83918187958086948086948086947F85937F8593
+7E84927E84927E84927C82927C82927C82927B81917B81917B81917A80907A8090798092798092
+787F91777E90777E90777E90777E90777E9071798E747B8E72798B72778A757C8E727A8D6D788C
+6F7B916977916D7B9597A5C0A9B7D4A4B3D2ABBADBA4B2D59EACCFA5B4D5A4B3D4A3B2D3A2B1D2
+A2B0D3A1AFD2A0AED19FADD09DADD19DADD19CACD09BABCF9AAACE9AAACE99A9CD99A9CD94A7D1
+97ABD092A5C697A7CB97A4CE94A0C8CFD6E0D0D6E2CFD6E6D0D7E9D0D7EACFD6E9CDD6E7CCD5E6
+CDD5E8CDD5E8CCD4E7CCD4E7CCD4E7CBD3E6CBD3E6CBD3E6C8D0E3CAD2E5CAD2E5C9D1E4CBD2E4
+C9D0E2CDD4E69DA4B67F85958086968187978288988288988288988187978187977F85957F8595
+7E84947E84947D83937C82927C82927C82927A81937A81937A8193798092798092787F91787F91
+787F91787F92787F92787F92777E91767D90767D90757C8F757C8F737B8E737B8E727A8D71798C
+71798C70788B70788B70788B6F7B91707C9494A0BAAEBCD7AAB9D8A8B7D8A7B7D9A4B4D6A3B1D4
+A3B1D4A2B0D3A1AFD2A1AFD4A0AED39FADD29FADD29CABD29CABD29CABD29BAAD19AA9D099A8CF
+99A8CF98A7CE95A8D394A7CF94A6CA95A4CB96A3CF97A3CDCED5DFCFD5E1CED5E5CFD6E8CFD6E9
+CED5E8CCD5E6CBD4E5CCD4E7CCD4E7CBD3E6CBD3E6CBD3E6CAD2E5CAD2E5CAD2E5C9D1E4CAD2E5
+C8D0E3C6CEE1C9D0E2C6CDDFC6CDDF949BAD8086968086968187978187978187978086967F8595
+7E84947F85957E84947E84947D83937D83937C82927C82927C82927A81937A81937A8193798092
+798092787F91787F91787F91787F92787F92777E91777E91767D90767D90757C8F757C8F737B8E
+727A8D727A8D71798C71798C70788B70788B70788B6B778D67738B8692ACA2B0CBA3B2D1A0AFD0
+A1B1D39FAFD1A3B1D4A3B1D4A2B0D3A1AFD2A0AED3A0AED39FADD29FADD29CABD29CABD29BAAD1
+9BAAD19AA9D099A8CF98A7CE98A7CE94A7D293A6CE93A5C994A3CA95A2CE96A2CCCDD3DFCED4E2
+CDD4E4CED5E7CED5E8CDD4E7CBD4E5CAD3E4CBD3E6CBD3E6CAD2E5CAD2E5CAD2E5C9D1E4C9D1E4
+C9D1E4CCD4E9CBD3E6C8D0E3C7CFE2CAD1E4C6CDDFC6CDDF939AAC808696808696808696808696
+8086967F85957D83937C82927E84947E84947E84947D83937C82927C82927B81917B81917A8193
+7A8193798092798092798092787F91787F91787F91787F92777E91777E91767D90767D90757C8F
+757C8F747B8E727A8D727A8D727A8D71798C71798C70788B70788B6F778A737F9569758D7E8AA4
+A0AEC9A8B7D6A5B4D5A6B6D8A6B6D8A2B0D3A2B0D3A2B0D3A1AFD2A0AED39FADD29FADD29EACD1
+9CABD29CABD29BAAD19AA9D099A8CF99A8CF98A7CE98A7CE93A6D192A5CD92A4C893A2C994A1CD
+95A1CBCDD3DFCDD3E1CDD4E4CDD4E7CDD4E7CCD3E6CAD2E5CAD3E4CAD2E5CAD2E5CAD2E5C9D1E4
+C9D1E4C9D1E4C8D0E3C8D0E3C9D1E6C9D1E6C8D0E5C6CEE1C9D0E3C8CFE2CBD2E49AA1B37F8595
+7F85958086968086968086967F85957D83937D83937E84947D83937D83937C82927C82927B8191
+7B81917B81917A8193798092798092798092787F91787F91787F91777E90777E91777E91767D90
+767D90757C8F757C8F747B8E747B8E727A8D727A8D727A8D71798C70788B70788B6F778A6F778A
+707C92636F87707C9696A4BFA6B5D4A1B0D1A2B2D4A2B2D4A2B0D3A2B0D3A1AFD2A0AED19FADD2
+9FADD29EACD19EACD19BAAD19BAAD19AA9D09AA9D099A8CF98A7CE98A7CE97A6CD93A6D192A5CD
+92A4C893A2C994A1CD95A1CBCDD3DFCDD3E1CDD4E6CDD4E7CDD3E9CCD2E8CAD2E5CAD2E5CAD2E5
+CAD2E5CAD2E5C9D1E4C9D1E4C9D1E4C8D0E3C8D0E3C4CCE1C6CEE3C6CEE3C4CCE1C6CDE0C4CBDE
+CAD1E49DA4B77E84947F85957F85958086968086968086967F85957E84947D83937D83937C8292
+7C82927B81917B81917A80907A8090798092798092798092787F91787F91787F91777E90777E90
+777E91767D90767D90757C8F757C8F747B8E747B8E737A8D727A8D727A8D71798C71798C70788B
+6F778A6F778A6F778A6C788E626E8667738D919FBAA6B5D49FAECFA0B0D29EAED0A1AFD2A1AFD2
+A1AFD2A0AED19FADD29EACD19EACD19DABD09BAAD19AA9D09AA9D099A8CF98A7CE98A7CE97A6CD
+97A6CD93A6D192A5CD92A4C893A2C994A1CD95A1CBCCD2E0CDD3E3CCD3E5CDD4E7CDD3E9CCD2E8
+CAD2E5C9D1E4CAD2E5CAD2E5C9D1E4C9D1E4C9D1E4C8D0E3C8D0E3C8D0E3C6CEE5C8D0E5C7CFE4
+C5CDE2C6CCE2C3CADDC7CEE1979EB17D83937E84947F85958086968086968086967F85957F8595
+7D83937C82927C82927B81917B81917A80907A80907A8090798092798092798092787F91787F91
+777E90777E90777E90767D90767D90757C8F757C8F747B8E747B8E737A8D737A8D727A8D71798C
+71798C70788B70788B6F778A6F778A6F778A6E7A9069758D6A769092A0BBABBAD9A3B2D3A5B5D7
+A1B1D3A1AFD2A1AFD2A0AED19FADD09EACD19EACD19DABD09DABD09AA9D09AA9D099A8CF99A8CF
+98A7CE97A6CD96A5CC96A5CC93A6D192A5CD92A4C893A2C994A1CD95A1CBCBD1DFCCD2E2CBD2E4
+CCD2E8CBD1E7CBD1E7C9D1E6C8D0E3C9D1E4C9D1E4C8D0E3C8D0E3C7CFE2C7CFE2C7CFE2C7CFE2
+C8D0E7C7CFE6C6CEE3C5CDE2C9CFE5C4CAE0C1C8DB8B92A57D83937E84947F85957F85957F8595
+7E84947D83937D83937C82927C82927C82927B81917A80907A8090797F8F797F8F798092798092
+787F91787F91787F91777E90777E90777E90767D90757C8F757C8F747B8E747B8E737A8D737A8D
+737A8D71798C71798C71798C70788B70788B6F778A6F778A6E768968748A6B778F67738D8B99B4
+A4B3D29EADCEA3B3D59DADCFA1AFD2A0AED1A0AED19FADD09EACD19DABD09DABD09CAACF9AA9D0
+9AA9D099A8CF98A7CE97A6CD97A6CD96A5CC96A5CC92A5D091A4CC91A3C792A1C893A0CC94A0CA
+CAD0DECBD1E1CAD1E3CBD1E7CAD0E6CAD0E6C8D0E5C7CFE2C8D0E3C7CFE2C7CFE2C7CFE2C6CEE1
+C6CEE1C6CEE1C6CEE1C4CCE3C2CAE1C0C8DFC2CADFC9CFE5C3C9DFBAC1D47F86997E84947E8494
+7E84947E84947E84947D83937B81917A80907C82927C82927B81917B81917A80907A8090797F8F
+797F8F798092798092787F91787F91777E90777E90777E90777E90757C8F757C8F757C8F747B8E
+747B8E737A8D737A8D72798C71798C71798C71798C70788B70788B6F778A6E76896E768969758B
+707C9469758F8A98B3A2B1D09EADCEA5B5D79FAFD1A0AED1A0AED19FADD09FADD09EACD19DABD0
+9CAACF9CAACF9AA9D099A8CF99A8CF98A7CE97A6CD96A5CC96A5CC96A5CC91A4CF90A3CB90A2C6
+91A0C7929FCB939FC9C9D0E2C8D0E3C8D0E5C8D0E7C8D0E7C5D0E6C5D0E4C5D0E4C6D1E5C5D0E4
+C5D0E4C5D0E4C5D0E4C5D0E4C5D0E4C4CFE3BFCCDFC5D1E7BFCAE0C5CFE8BFCAE0C4CCE1BDC5D8
+7B84957D8496848B9D7D84967980927F86987B8294777E907C83957B82947B82947B82947B8294
+7A81937A8193798092798092787F92787F92787F92777E91767D90767D90757C8F757C8F737B8E
+737B8E737B8E737B8E727A8D727A8D727A8D727A8D6F7B8B6F7B8B6E7A8A6E7A8A6D788A6C7789
+6C77896C77896C789065748B75839D97A6C3A9B8D7A1B1D29BABCD9EB0D49EAED09EAED29DADD1
+9DADD19CACD09BAAD19AA9D09AA9D098AAD297A9D196A8D095A7CF94A6CE94A6CE94A6CE94A6CE
+8EA3D08EA4CD8DA3C88FA2CA8FA0CC929FCBC9D0E2C8D0E3C8D0E5C8D0E7C8D0E7C6D1E7C5D0E4
+C5D0E4C4CFE3C4CFE3C4CFE3C4CFE3C4CFE3C4CFE3C3CEE2C3CEE2C0CDE0C3CFE5BEC9DFC3CDE6
+BDC8DEC0C8DDBBC3D6818A9B777E907B82947E85977980927C8395808799798092787F917A8193
+7A81937A81937A8193798092798092798092787F91787F92787F92777E91777E91767D90767D90
+757C8F757C8F737B8E737B8E737B8E727A8D727A8D727A8D727A8D727A8D6F7B8B6F7B8B6E7A8A
+6E7A8A6D788A6C77896C77896C778969758D7180978694AE9CABC8A6B5D4A2B2D39FAFD19FB1D5
+9EAED09EAED29DADD19CACD09CACD09BAAD19AA9D09AA9D098AAD297A9D196A8D095A7CF94A6CE
+94A6CE94A6CE93A5CD8EA3D08EA4CD8DA3C88FA2CA8FA0CC929FCBC8CFE1C7CFE2C7CFE4C7CFE6
+C7CFE6C5D0E6C4CFE3C4CFE3C3CEE2C3CEE2C3CEE2C3CEE2C2CDE1C2CDE1C2CDE1C2CDE1C2CFE2
+C1CDE3BEC8E1C5CFE8BEC8E1BFC7DEBEC6D9949CAF7D8496777E90808799798092787F9182899B
+798092777E907A8193798092798092798092787F91787F91787F91777E90787F92777E91777E91
+767D90767D90757C8F757C8F747B8E737B8E737B8E727A8D727A8D727A8D727A8D727A8D727A8D
+6F7B8B6E7A8A6E7A8A6D788A6D788A6C77896C77896B768A6470887E8CA699A7C2A1B0CDA1B0CF
+A1B1D3A2B2D69EB0D49EAED09DADD19DADD19CACD09BABCF9AA9D09AA9D09AA9D097A9D197A9D1
+96A8D095A7CF94A6CE93A5CD93A5CD93A5CD8EA3D08EA4CD8DA3C88FA2CA8FA0CC919ECAC6CDDF
+C5CDE0C5CDE2C5CDE4C5CDE4C3CEE4C2CDE1C2CDE1C2CDE1C2CDE1C2CDE1C2CDE1C2CDE1C1CCE0
+C1CCE0C1CCE0C1CDE3BECAE0BDC7E0C5CFE8C0CAE3C1C9E0C3CBE0AAB2C58D94A6777E907F8698
+7A8193757C8E7F8698787F91798092798092798092798092787F91787F91787F91777E90777E90
+777E91777E91767D90767D90757C8F757C8F747B8E747B8E727A8D727A8D727A8D727A8D727A8D
+727A8D71798C71798C6E7A8A6E7A8A6E798B6D788A6C77896C778B6B768A6B768A616D858290AA
+A0AEC9A3B2CF9EADCE9EAED0A1B1D59DAFD39DADCF9DADD19CACD09CACD09BABCF9AA9D099A8CF
+99A8CF97A9D196A8D095A7CF94A6CE93A5CD93A5CD93A5CD93A5CD8EA3D08DA3CC8DA3C88EA1C9
+8FA0CC919ECAC6CDDFC5CDE0C5CDE2C5CDE4C5CDE4C3CEE4C2CDE1C2CDE1C2CDE3C2CDE3C2CDE3
+C2CDE3C1CCE2C1CCE2C1CCE2C1CCE2BFCBE1BBC7DFBCC6DFC2CCE7BEC8E1BFC7DEC2CADFB7BFD2
+939AAC757C8E777E907B8294787F917A8193767D8F7C83957A8193798092798092798092787F91
+787F91787F91777E90777E91767D90767D90757C8F757C8F747B8E747B8E737A8D727A8D727A8D
+727A8D727A8D727A8D71798C71798C71798C6E798B6E798B6D788A6D788A6C778B6C778B6B768A
+6B768A636F89818FA99FADC8A4B3D29FAECF9CACCE9EAED29CAED49DADCF9CACD09CACD09BABCF
+9AAACE99A8CF99A8CF99A8CF96A8D096A8D095A7CF94A6CE93A5CD92A4CC92A4CC92A4CC8DA2CF
+8DA3CC8DA3C88EA1C98E9FCB919ECAC7CEE0C6CEE1C6CEE3C6CEE5C6CEE5C4CFE5C3CEE2C3CEE2
+C1CCE2C1CCE2C1CCE2C1CCE2C1CCE2C0CBE1C0CBE1C0CBE1C1CDE3BDC9E1BFC9E4C1CBE6BDC7E2
+BEC5DFC0C8DDBCC4D9959CAE7E859772798B7B82947D8496777E90787F917B8294798092798092
+798092787F91787F91787F91777E90777E90767D90767D90757C8F757C8F747B8E747B8E737A8D
+737A8D727A8D727A8D727A8D71798C71798C71798C71798C71798C6E798B6E798B6D788A6D788C
+6C778B6B768A6B768A6B768C66728C818FAA9EACC9A4B3D2A0AFD09DADD19EADD49CAED49CACCE
+9CACD09BABCF9BABCF9AAACE99A8CF98A7CE98A7CE96A8D095A7CF94A6CE93A5CD92A4CC92A4CC
+92A4CC92A4CC8DA2CF8DA3CC8CA2C78EA1C98E9FCB919ECAC6CDDFC5CDE0C5CDE2C5CDE4C5CDE4
+C2CDE3C2CDE1C1CCE0C0CBE1C0CBE1C0CBE1C0CBE1BFCAE0BFCAE0BFCAE0BFCAE0C0CCE4BDC9E1
+C1CBE6BFC9E4BDC7E2C0C7E1BEC6DDBFC7DCA8AFC19CA3B5798092787F917D8496757C8E7D8496
+787F91787F91787F91787F91787F91777E90777E90767D8F767D8F767D90757C8F757C8F747B8E
+747B8E737A8D737A8D737A8D727A8D727A8D71798C71798C71798C71798C71798C71798C6E798B
+6D788A6D788C6C778B6C778B6B768A6B768C6A758B67738D8492AD9FADCAA2B1D09EACCF9FAFD3
+9FAED59AACD29CACCE9BABCF9BABCF9AAACE99A9CD99A8CF98A7CE98A7CE95A7CF95A7CF94A6CE
+93A5CD92A4CC91A3CB91A3CB91A3CB8DA2CF8DA3CC8CA2C78EA1C98E9FCB909DC9C3CADCC2CADD
+C3CBE0C3CBE2C3CBE2C0CBE1C0CBDFBFCADEBFCAE0BFCAE0BFCAE0BEC9DFBEC9DFBEC9DFBEC9DF
+BEC9DFBAC6DEB9C5DDBDC7E2BAC4DFB9C3DEBFC6E0BCC4DBBEC6DBC0C7D9BCC3D5848B9D767D8F
+798092737A8C81889A767D8F777E90777E90777E90777E90767D8F767D8F767D8F757C8E757C8F
+757C8F757C8F747B8E747B8E737A8D737A8D72798C727A8D727A8D71798C71798C71798C71798C
+71798C71798C6D788A6D788A6D788C6C778B6C778B6B768C6B768C6A758B66718D8795B0A2B0CD
+A0AFCE9BA9CC9FAFD3A0AFD697A9CF9CACCE9BABCF9BABCF9AAACE99A9CD98A7CE98A7CE97A6CD
+95A7CF94A6CE93A5CD92A4CC92A4CC91A3CB91A3CB91A3CB8DA2CF8DA3CC8CA2C78DA0C88E9FCB
+909DC9C5CCDEC3CBDEC2CAE1C2C9E3C1C8E4BFC9E4BFC9E2BFC9E2BECAE2BECAE2BFCBE3BECAE2
+BECAE2BDC9E1BDC9E1BCC8E0BBC7E1BBC7E1BBC7E1BBC7E1BBC7E1BAC6E0BAC6E0BAC6E0B4BFD5
+BCC7DD939BB070788D7A82957A8394747B8D767D8F777E91777E91777E91767D90767D90757C8F
+757C8F757C8F747C8F747C8F747C8F737B8E737B8E737B8E727A8D727A8D6F7A8C6F7A8C6F7A8C
+6E798B6E798B6D788A6D788A6D788A6E78916A758B6D788C6D788C6673866C788E6D7991616D85
+61708F8C9BBAA1B0D1A0AFD0A4B4D6A0B0D498A8CC9CACD099ABD398AAD298AAD297A9D196A8D0
+95A7CF95A7CF94A6CE94A6CE93A5CD93A5CD92A4CC91A3CB90A2CA90A2CA8FA1C98CA1D08BA1CA
+8AA0C78C9FC78C9DC88F9CC6C3CADCC2CADDC1C9E0C1C8E2C0C7E3BEC8E3BEC8E1BEC8E1BDC9E1
+BDC9E1BDC9E1BDC9E1BDC9E1BCC8E0BCC8E0BBC7DFBAC6E0BAC6E0BAC6E0BAC6E0B9C5DFB9C5DF
+B9C5DFB9C5DFB6C1D7BBC6DCA3AEC4747C917B8396777F92787F91787F91777E91777E91767D90
+767D90767D90757C8F757C8F757C8F737B8E737B8E737B8E727A8D727A8D727A8D71798C71798C
+6E798B6E798B6E798B6E798B6D788A6D788A6D788A6C77896D77906A758B6A75896B768A687588
+69758B69758D64708A6978978E9DBC9FAECF9EACCFA2B2D4A0B0D499A9CD9DACD398AAD298AAD2
+97A9D197A9D196A8D095A7CF95A7CF94A6CE93A5CD93A5CD92A4CC92A4CC91A3CB90A2CA90A2CA
+8FA1C98BA0CF8BA1CA8AA0C78C9FC78C9DC88F9CC6C2C9DBC1C9DCC0C8DFBFC6E0BFC6E2BDC7E2
+BDC7E0BDC7E0BCC8E0BCC8E0BCC8E0BCC8E0BCC8E0BBC7DFBAC6DEBAC6DEB9C5DFB9C5DFB8C4DE
+B8C4DEB8C4DEB8C4DEB8C4DEB8C4DEB8C2DBB4BED7B0BBD1778298767E9371798C757D90778091
+767D90767D90767D90767D90757C8F757C8F757C8F747B8E727A8D727A8D727A8D71798C71798C
+71798C70788B70788B6E798B6D788A6D788A6D788A6C77896C77896C77896B76886E798F6C778D
+6974886A75896A778A66728866728A6F7B957B8AA995A4C59FAECF9BABCD9FAFD19EAED299A8CF
+9AACD298AAD298AAD297A9D196A8D095A7CF95A7CF94A6CE94A6CE93A5CD93A5CD92A4CC91A3CB
+90A2CA90A2CA8FA1C98FA1C98BA0CF8BA1CA8AA0C78B9EC68C9DC88F9CC6C1C8DAC0C8DBBFC7DE
+BEC5DFBEC5E1BCC6E1BCC6DFBCC6DFBBC7DFBBC7DFBBC7DFBBC7DFBBC7DFBAC6DEB9C5DDB9C5DD
+B8C4DEB8C4DEB8C4DEB8C4DEB7C3DDB7C3DDB7C3DDB7C3DDBAC6E0ADB7D0B3BDD68893A9768195
+767E9370788B767E91767D90767D90757C8F757C8F757C8F747B8E747B8E747B8E727A8D727A8D
+727A8D71798C71798C70788B70788B70788B6D788A6D788A6C77896C77896B76886B76886B7688
+6B76886E798F707B916B768A6A75896B778D6470886C7892838EAA8F9EBF9EADCEA0B0D19BABCD
+9CACD09AACD096A8CE97A9CF97A9D197A9D197A9D196A8D095A7CF94A6CE94A6CE93A5CD92A4CC
+92A4CC92A4CC91A3CB90A2CA8FA1C98FA1C98EA0C88BA0CF8BA1CA8AA0C78B9EC68C9DC88F9CC6
+C1C8DAC0C8DBBFC7DEBEC5DFBEC5E1BCC6E1BCC6DFBCC6DFBBC7E1BBC7E1BBC7E1BBC7E1BBC7E1
+BAC6E0B9C5DFB9C5DFB8C4DEB8C4DEB7C3DDB7C3DDB7C3DDB7C3DDB7C3DDB7C3DDBCC8E2ADB9D3
+B3BFD7A9B3CC8E99AF8C97AB71798E757D92757C8F757C8F757C8F757C8F747B8E747B8E737A8D
+737A8D727A8D727A8D727A8D71798C71798C71798C70788B70788B6C77896C77896C77896B7688
+6B76886A75876A75876A75876C778D707B916C778B6A758968748A64708A76819D98A3C19CACCD
+A1B1D2A0B0D29BABCD99ABCF99ABD197A9CF97A9D197A9D197A9D196A8D095A7CF94A6CE94A6CE
+93A5CD93A5CD92A4CC92A4CC91A3CB90A2CA8FA1C98FA1C98EA0C88EA0C88BA0CF8AA0C98AA0C7
+8B9EC68C9DC88E9BC5C0C7D9BFC7DABEC6DDBDC4DEBDC4E0BBC5E0BBC5DEBBC5DEBAC6E0BAC6E0
+BAC6E0BAC6E0BAC6E0B9C5DFB8C4DEB8C4DEB7C3DDB7C3DDB7C3DDB6C2DCB6C2DCB6C2DCB6C2DC
+B6C2DCB8C3DFB0BBD7B3BFD9C0CCE4A9B3CCA4AFC57782986F7A8E757C8F757C8F747B8E747B8E
+747B8E737A8D737A8D737A8D727A8D727A8D727A8D71798C71798C70788B70788B70788B6C7789
+6C77896C77896B76886B76886A75876A75876A75876A758B6C778D6B768A687389636F8767738D
+818CAAA3AECE9FAFD09EAED09DADCF99ABCF99ABCF9AACD29AACD498ABD396A8D096A8D096A8D0
+95A7CF94A6CE93A5CD93A5CD92A4CC91A3CB91A3CB91A3CB90A2CA8FA1C98EA0C88EA0C88D9FC7
+8A9FCE8AA0C9899FC68B9EC68B9CC78E9BC5BFC6D8BDC5D8BDC5DCBCC3DDBCC3DFBAC4DFBAC4DD
+BAC4DDB9C5DFB9C5DFB9C5DFB9C5DFB8C4DEB8C4DEB7C3DDB7C3DDB6C2DCB5C1DBB5C1DBB5C1DB
+B5C1DBB5C1DBB5C1DBB5C1DBB2BDD9B4BFDBB0BBD7BDC9E3B6C0D9AEB8D1848FA56C778D747B8E
+747B8E747B8E747B8E737A8D737A8D737A8D72798C71798C71798C71798C70788B70788B70788B
+6F778A6F778A6C77896C77896C77896B76886B76886B76886A75876A75876A758B677286687387
+687389626E866E79958B96B4A4AED19FAFD19AAACC98ABCC9AACD098AAD099ABD199ACD498ABD3
+96A8D096A8D095A7CF94A6CE94A6CE93A5CD92A4CC92A4CC91A3CB91A3CB90A2CA8FA1C98FA1C9
+8EA0C88D9FC78D9FC78A9FCE8AA0C9899FC68A9DC58B9CC78E9BC5BEC5D7BCC4D7BCC4DBBBC2DC
+BBC2DEB8C2DDB9C3DCB9C3DCB8C4DEB8C4DEB8C4DEB8C4DEB7C3DDB7C3DDB6C2DCB5C1DBB4C0DA
+B4C0DAB4C0DAB4C0DAB4C0DAB4C0DAB3BFD9B3BFD9B0BEDBB8C3DFAEB9D5AFBBD5B6C2DAAEB8D1
+919CB26E798F747B8E747B8E747B8E737A8D737A8D737A8D72798C72798C70788B70788B70788B
+6F778A6F778A6F778A6E76896E76896C77896C77896C77896B76886B76886B76886A75876A7587
+6C778D646F8367728669748A647088747F9B929DBDA2ACCF9FAFD198A8CA97A9CD9AACD097A9CF
+95A9CE97AAD295A8D096A8D096A8D095A7CF94A6CE93A5CD93A5CD92A4CC92A4CC91A3CB91A3CB
+90A2CA8FA1C98EA0C88EA0C88D9FC78D9FC78A9FCE8AA0C9899FC68A9DC58B9CC78E9BC5C1C3D8
+B9C3DCB5C5DFB6C6E0BAC4DDBAC1DBB7C0DDB6C3E5B6C4DFB6C4DFB5C3DEB5C3DEB5C3DEB4C2DD
+B4C2DDB4C2DDB3C1DCB3C1DCB3C1DCB2C0DBB2C0DBB2C0DBB1BFDAB1BFDAB3BEDAB6C1DDABB6D4
+B3BEDCB1BCDAAFBAD6A5B1CB69758D757C8E737A8C687182737B8E6E798B6772847380916E7B8C
+6E798D6E798D6D788C6D788C6D788C6C778B6C778B6C778B6C778B6C778B6C778B6B768A6B768A
+6A75896A75896974886D788A6671856A768C69758F606E8B7885A597A6C79FADD09CABD49CABD4
+9BAAD39BAAD39AA9D29AA9D299A8D199A8D195A7CF94A6CE94A6CE93A5CD92A4CC92A4CC91A3CB
+91A3CB8FA2CC8FA2CC8FA2CC8EA1CB8DA0CA8C9FC98C9FC98B9EC8899DCF899EC9899FC68B9EC8
+8C9DC98F9CC8C1C3D8B9C3DCB5C5DFB6C6E0BAC4DDBAC1DBB7C0DDB6C3E5B5C3DEB5C3DEB4C2DD
+B4C2DDB4C2DDB3C1DCB3C1DCB3C1DCB2C0DBB2C0DBB2C0DBB1BFDAB1BFDAB1BFDAB0BED9B0BED9
+B3BEDAB5C0DCACB7D5B4BFDDB2BDDBAFBAD6AAB6D07A869E767E916F778A737B8E717C8E6C7789
+6C77896D7A8B6F7C8D6E798D6D788C6D788C6D788C6C778B6C778B6C778B6C778B6C778B6B768A
+6B768A6B768A6B768A6A75896A75896A75896B768A69748868748C64708A6573908190AF9CAACD
+9EACCF9BAAD39BAAD39AA9D29AA9D299A8D198A7D098A7D098A7D094A6CE94A6CE93A5CD92A4CC
+91A3CB91A3CB90A2CA90A2CA8FA2CC8FA2CC8EA1CB8EA1CB8DA0CA8C9FC98C9FC98B9EC8899DCF
+899EC9899FC68B9EC88C9DC98F9CC8C0C2D7B8C2DBB4C4DEB5C5DFB9C3DCB8BFD9B6BFDCB5C2E4
+B3C1DCB3C1DCB3C1DCB3C1DCB2C0DBB2C0DBB1BFDAB1BFDAB1BFDAB1BFDAB1BFDAB0BED9B0BED9
+B0BED9AFBDD8AFBDD8B4BFDBB4BFDDACB7D5B5C0E0B2BDDBAFBAD6B1BDD7929EB6767E93697186
+768195727D916D788C727D916774856E7B8C6D788C6D788C6D788C6C778B6C778B6C778B6B768A
+6B768A6A75896A75896A75896A75896A75896A75896A75896A75896873876A758B6470885E6C87
+707E9B8F9EBF9FADD09AAACE9AA9D29AA9D299A8D199A8D198A7D097A6CF97A6CF97A6CF93A5CD
+93A5CD92A4CC91A3CB90A2CA90A2CA8FA1C98FA1C98EA1CB8EA1CB8EA1CB8DA0CA8C9FC98C9FC9
+8B9EC88B9EC8899DCF899EC9899FC68B9EC88C9DC98F9CC8BEC0D5B6C0D9B2C2DCB3C3DDB7C1DA
+B6BDD7B4BDDAB3C0E2B3C1DCB3C1DCB2C0DBB2C0DBB1BFDAB1BFDAB1BFDAB1BFDAB1BFDAB1BFDA
+B0BED9B0BED9AFBDD8AFBDD8AFBDD8AFBDD8B2C0DBB0BEDBABB8D8B2BFDFAEBBDBACBAD7B2C0DA
+A4B2CC7B869C6772886C778B727D91727D91717C906774876B788B6D788C6D788C6C778B6C778B
+6B768A6B768A6B768A6B768A6974886974886A75896A75896A75896A75896A75896A7589657086
+657187616D8765738E7F8EAD98A6C99CACD098A8CC99A8D199A8D199A8D198A7D097A6CF97A6CF
+96A5CE96A5CE93A5CD92A4CC92A4CC91A3CB90A2CA8FA1C98FA1C98FA1C98DA0CA8DA0CA8DA0CA
+8DA0CA8C9FC98C9FC98B9EC88B9EC8899DCF899EC9899FC68B9EC88C9DC98F9CC8BEC0D5B6C0D9
+B1C1DBB3C3DDB6C0D9B6BDD7B4BDDAB2BFE1B2C0DBB2C0DBB2C0DBB2C0DBB1BFDAB1BFDAB0BED9
+B0BED9B1BFDAB0BED9B0BED9B0BED9AFBDD8AFBDD8AFBDD8AFBDD8B1BFDCAFBDDAACB9D9AFBCDC
+ACB9D9AAB8D5B0BED9AEBCD6919DB577839B636F87707C92727E946875886E798D6C778B6C778B
+6C778B6C778B6B768A6B768A6B768A6A75896A7589697488697488697488697488697488697488
+6A75896A7589647088636F8765738D7987A492A1C29CACCE9AA9D099A8CF99A8D199A8D199A8D1
+98A7D097A6CF97A6CF96A5CE96A5CE93A5CD93A5CD92A4CC91A3CB90A2CA90A2CA8FA1C98FA1C9
+8DA0CA8C9FC98C9FC98C9FC98C9FC98B9EC88B9EC88B9EC8899DCF899EC9899FC68B9EC88C9DC9
+8F9CC8BEC0D5B6C0D9B2C2DCB3C3DDB7C1DAB7BED8B4BDDAB3C0E2B2C0DBB2C0DBB1BFDAB1BFDA
+B0BED9B0BED9B0BED9B0BED9B0BED9B0BED9B0BED9AFBDD8AFBDD8AFBDD8AEBCD7AEBCD7AFBDDA
+AEBBDBADBADAACB9DBABB8D8A9B7D4ABB9D4AFBDD7A9B7D1909EB86F7B93707C946D798F647086
+737E926D788C6C778B6B768A6B768A6B768A6A75896A75896A75896A7589697488697488697488
+69748869748869748869748869748864708865718B74829D8E9DBC9EADCE9DADD19AA9D098AAD2
+99A8D199A8D198A7D098A7D097A6CF96A5CE96A5CE96A5CE93A5CD92A4CC92A4CC91A3CB90A2CA
+8FA1C98FA1C98FA1C98C9FC98C9FC98B9EC88B9EC88B9EC88B9EC88B9EC88B9EC8899DCF899EC9
+899FC68B9EC88C9DC98F9CC8BDBFD4B5BFD8B0C0DAB2C2DCB5BFD8B5BCD6B3BCD9B2BFE1B0BED9
+B0BED9B0BED9AFBDD8AFBDD8AFBDD8AEBCD7AEBCD7AFBDD8AFBDD8AFBDD8AEBCD7AEBCD7ADBBD6
+ADBBD6ADBBD6ACBAD7ADBADAADBADCA9B6D8AAB7D9ABB8D8A8B6D1ABB9D4AFBDD8A4B2CD8D9BB5
+77839B67738B69758B717C906B768A6B768A6B768A6B768A6A75896A75896A7589697488697488
+697488697488697488687387687387687387687387677286616D8767758F8593B09DACCB9EACCF
+9AAACE99ABD396A8D098A7D097A6CF97A6CF96A5CE96A5CE95A4CD95A4CD95A4CD92A4CC91A3CB
+91A3CB90A2CA8FA1C98FA1C98EA0C88EA0C88B9EC88B9EC88B9EC88B9EC88B9EC88B9EC88B9EC8
+8B9EC8899DCF899EC9899FC68B9EC88C9DC98F9CC8BABCD1B2BCD5AEBED8AFBFD9B3BDD6B3BAD4
+B1BAD7AFBCDEAFBDD8AFBDD8AFBDD8AEBCD7AEBCD7AEBCD7ADBBD6ADBBD6AEBCD7AEBCD7AEBCD7
+ADBBD6ADBBD6ACBAD5ACBAD5ACBAD5A9B8D5ABBAD9ACBBDCA7B6D7AAB9DAACBBDAA5B4D1A7B7D1
+A6B5D2A9B9D3A8B6D17D8BA5657189717D936D788C6671856B768A6B768A6B768A6A75896A7589
+6974886974886974886A75896974886974886873876873876772866772866772865B69836B7994
+8F9DBAA2B1D098A8CA97A6CD9BADD592A3CE97A6CF96A5CE96A5CE95A4CD95A4CD94A3CC94A3CC
+94A3CC91A3CB91A3CB90A2CA8FA1C98EA0C88EA0C88D9FC78D9FC78B9EC88B9EC88B9EC88B9EC8
+8B9EC88B9EC88B9EC88B9EC8899DCF899EC9899FC68B9EC88C9DC98F9CC8B3BED4B2BDD9B0BDDD
+AFBEDBAFBFD8AEBED5AFBDD8B1BBDEAFBDDAAFBDDAAFBDDAAEBCD9AEBCD9ADBBD8ADBBD8ADBBD8
+ACBBD8ACBBD8ACBBD8ACBBD8ACBBD8ABBAD7ABBAD7ABBAD7A9B8D7A9B8D7A9B8D7A9B8D7A8B7D6
+A8B7D6A8B7D6A8B7D6A5B5D7AAB9DAA5B3D07C86A16D788E6772866974886B788B6B768C6B768C
+6A758B6A758B69748A69748A69748A69748A687387687387677286677286677286677286677286
+67728662708B616F8C96A5C499A8C997A7CB97A9D197A8D397A8D494A6CE94A6CE94A6CE93A5CD
+92A4CC92A4CC91A3CB91A3CB8FA2CC8EA1CB8EA1CB8DA0CA8DA0CA8DA0CA8DA0CA8DA0CA8B9EC9
+8B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC9899DCF899EC9899FC68B9EC88C9DC98F9CC8
+B2BDD3B1BCD8AFBCDCAEBDDAAEBED7ADBDD4AEBCD7B0BADDAFBDDAAFBDDAAEBCD9AEBCD9ADBBD8
+ADBBD8ADBBD8ADBBD8ACBBD8ABBAD7ABBAD7ABBAD7ABBAD7ABBAD7ABBAD7ABBAD7A9B8D7A9B8D7
+A9B8D7A8B7D6A8B7D6A8B7D6A8B7D6A8B7D69FAFD1A5B4D5A1AFCC78829D6C778D6A75896B768A
+6B788B6A758B6A758B6A758B6A758B69748A69748A69748A687389677286677286677286677286
+677286677286667185667185616F8A606E8993A2C19AA9CA98A8CC97A9D194A5D090A1CC94A6CE
+94A6CE93A5CD93A5CD92A4CC92A4CC91A3CB91A3CB8FA2CC8EA1CB8EA1CB8DA0CA8C9FC98C9FC9
+8DA0CA8DA0CA8B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC9899DCF899EC9899FC6
+8B9EC88C9DC98F9CC8B1BCD2B0BBD7AEBBDBADBCDBADBDD6ACBCD3ADBBD8AFB9DCAEBCD9AEBCD9
+AEBCD9ADBBD8ADBBD8ACBAD7ACBAD7ACBAD7AAB9D8AAB9D8AAB9D8AAB9D8AAB9D8AAB9D8A9B8D7
+A9B8D7A8B7D6A8B7D6A8B7D6A8B7D6A8B7D6A7B6D5A7B6D5A7B6D5A1B1D3A8B7D6A3B1CC78829D
+6B768C6B768C6B768C68748A6A758B6A758B6A758B69748A69748A687389687389687389677288
+67728867728867728866718766718766718766718764728D62708B8E9DBA9BAACB98A8CC98AAD0
+95A6D191A2CD94A6CE93A5CD93A5CD92A4CC92A4CC91A3CB91A3CB91A3CB8EA1CB8EA1CB8DA0CA
+8C9FC98C9FC98C9FC98C9FC98C9FC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC9
+899DCF899EC9899FC68B9EC88C9DC98F9CC8B1BBD4B0BBD7ADBADCACBBDAACBCD5ACBCD5ADBBD8
+AFB9DDADBBD8ADBBD8ADBBD8ACBAD7ACBAD7ACBAD7ABB9D6ABB9D6A9B8D7A9B8D7A9B8D7A9B8D7
+A9B8D7A8B7D6A8B7D6A8B7D6A7B6D5A7B6D5A7B6D5A7B6D5A7B6D5A7B6D5A6B5D4A6B5D4A1B1D2
+ABBAD9A6B4CF78829B69748A69748A6A758B6773896A758B69748A69748A69748A687389687389
+68738967728867728866718766718766718766718766718766718766718764728C63718C8897B4
+99A8C995A5C796A8CE98AAD296A7D293A5CD93A5CD93A5CD92A4CC91A3CB91A3CB90A2CA90A2CA
+8EA1CB8DA0CA8DA0CA8C9FC98C9FC98B9EC88C9FC98C9FC98B9EC98B9EC98B9EC98B9EC98B9EC9
+8B9EC98B9EC98B9EC9899DCF899EC9899FC68B9EC88C9DC98F9CC8B1BBD4B0BBD9ADBADCACBBDA
+ACBCD6ACBCD5ADBBD8AFB9DDADBADAACB9D9ACB9D9ACB9D9ABB8D8ABB8D8ABB8D8AAB7D7A8B7D6
+A8B7D6A8B7D6A8B7D6A8B7D6A8B7D6A7B6D5A7B6D5A7B6D5A7B6D5A6B5D4A6B5D4A6B5D4A6B5D4
+A6B5D4A6B5D49EAFCDA8B7D4A3B1CC7680996772886772886A748D6A768E69748A69748A69748A
+687389687389677288677288677288667187667187667187667187657086657086657086657086
+606E8863718C8493B09BAAC992A2C492A4CA95A7CF93A4CF93A5CD92A4CC92A4CC91A3CB91A3CB
+90A2CA90A2CA90A2CA8DA0CA8DA0CA8C9FC98B9EC88B9EC88B9EC88B9EC88B9EC88B9EC98B9EC9
+8B9EC98B9EC98B9EC98B9EC98B9EC98B9EC9899DCF899EC9899FC68B9EC88C9DC98F9CC8B0BAD3
+AFBAD8ADBADCACBBDCACBCD6ABBBD4ACB9D9AEB8DCACB9D9ACB9D9ABB8D8ABB8D8AAB7D7AAB7D7
+AAB7D7AAB7D7A8B7D8A8B7D8A8B7D8A8B7D8A7B6D7A7B6D7A7B6D7A7B6D7A6B5D4A6B5D4A6B5D4
+A5B4D3A5B4D3A5B4D3A5B4D3A5B4D3A6B7D5A8B7D49FADC8757F9868728B66708967718A68748C
+69748A687389687389687389677288677288677288667187656F88656F88656F88656F88656F88
+656F88656F88646E875F6D8764728C8090AA9FAECD95A5C794A6CA93A5CD8EA0C892A4CC92A4CC
+91A3CB91A3CB90A2CA90A2CA8FA1C98FA1C98DA0CA8C9FC98C9FC98B9EC88B9EC88A9DC78B9EC8
+8B9EC88B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC9899DCF899EC9899FC68B9EC8
+8C9DC98F9CC8AFB9D4AEB9D7ACB9DCABBADBAABAD4AABAD4ABB8D8ADB6DDABB8D8ABB8D8ABB8D8
+AAB7D7AAB7D7AAB7D7A9B6D6A9B6D6A8B7D8A8B7D8A8B7D8A8B7D8A7B6D7A7B6D7A7B6D7A7B6D7
+A5B4D3A5B4D3A5B4D3A5B4D3A5B4D3A4B3D2A4B3D2A4B3D2A7B8D69EADCA919FB96D779069738C
+67718A67718A67738D687389687389687389677288677288667187667187667187656F88656F88
+656F88656F88646E87646E87646E87646E875F6E85606E8873839D98A7C692A2C395A7CB96A8CE
+8EA0C892A4CC92A4CC91A3CB90A2CA90A2CA8FA1C98FA1C98FA1C98C9FC98C9FC98B9EC88B9EC8
+8A9DC78A9DC78A9DC78A9DC78B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC9899DCF
+899EC9899FC68B9EC88C9DC98F9CC8AEB8D3ADB8D6ABB8DBAAB9DAA9B8D5A9B9D3AAB7D7ACB5DC
+ABB8D8ABB8D8AAB7D7AAB7D7AAB7D7A9B6D6A9B6D6A9B6D6A8B7D8A8B7D8A8B7D8A8B7D8A7B6D7
+A7B6D7A7B6D7A7B6D7A5B4D3A5B4D3A5B4D3A5B4D3A4B3D2A4B3D2A4B3D2A4B3D298A9C58A9AB4
+7B89A3616B8467718A6A748D6A748D6B7791687389687389677288677288677288667187667187
+667187656F88656F88656F88646E87646E87646E87646E87646E875D6C8358668062728C8A99B8
+8898B993A5C997A9CF90A2CA92A4CC91A3CB91A3CB90A2CA90A2CA8FA1C98FA1C98EA0C88C9FC9
+8C9FC98B9EC88A9DC78A9DC78A9DC78A9DC78A9DC78B9EC98B9EC98B9EC98B9EC98B9EC98B9EC9
+8B9EC98B9EC9899DCF899EC9899FC68B9EC88C9DC98F9CC8AFB9D4ACB7D7A9B5DBA8B6DBA7B8D6
+A9B9D3A8B7D4A8B5D7A9B8D9A9B8D9A8B7D8A6B5D6A7B6D7AAB9DAABBADBA8B7D8A5B4D1A6B5D2
+A5B4D1A2B1CEA1B0CDA3B2CFA4B3D0A4B3D0A9B5DDACB8DEA8B4DAA0ADD0A0ADCFA5B2D2A1AFCC
+96A4C17F89A2717B9467718A69738C6D77906B758E67718A67718A67718A67718A667089667089
+667089656F88656F88656F8865718B64708A64708A64708A636F89636F89636F89636F89617087
+617087616F8964728D6B7A977A89A88C9BBA99A8C98EA0C88FA1C78EA0C68D9FC590A2CA92A3CE
+8FA0CC8A9BC98A9ACB8A9ACB8A9ACB8B9BCC8D9DCE8D9DCE8C9CCD8C9CCD8A9DC78A9DC78B9EC8
+8B9EC88B9EC88B9EC88A9DC78A9DC7889CCE8A9FCC8AA0C98A9DC78B9CC88F9CC8AEB8D3ABB6D6
+A8B4DAA7B5DAA6B7D5A8B8D2A7B6D3A7B4D6A8B7D8A9B8D9A8B7D8A6B5D6A5B4D5A6B5D6A5B4D5
+A2B1D2A9B8D7ABBAD9ABBAD9A8B7D6A7B6D5A7B6D5A6B5D4A4B3D29DAACDA0ADD0A2AFD1A3B0D2
+A4B1D19CAAC78694B16F7D98707A9368728B646E8767718A69738C667089646E8766708967718A
+67718A667089667089656F88656F88656F88656F8864708A64708A636F89636F89626E88626E88
+626E88626E8864738A606F865B69835765805968856473907584A38190AF8A9CC291A3C994A6CA
+90A2C68B9DC38B9DC58C9DC98D9ECC91A2CE90A1CD8E9FCB8C9DC98C9DC98B9CC88B9CC88B9CC8
+8B9EC88B9EC88B9EC88B9EC88B9EC88B9EC88B9EC88B9EC8889CCE8A9FCC8AA0C98B9EC88C9DC9
+909DC9ADB7D2AAB5D5A7B3D9A6B4D9A5B6D4A6B6D0A6B5D2A6B3D5A3B2D3A6B5D6A8B7D8A6B5D6
+A6B5D6A6B5D6A6B5D6A4B3D49FAECDA1B0CFA2B1D0A2B1D0A3B2D1A5B4D3A6B5D4A4B3D2ACB9D9
+A9B6D6A3B0D097A5C28593AE72809B62708A58668067718A656F8867718A6A748D69738C646E87
+646E8768728B667089667089667089656F88656F88656F88646E87646E87636F89636F89626E88
+626E88626E88616D87616D87616D875967815C6A845F6D87606E895D6C895C6B885C6B8A5C6B8A
+6E80A47B8DB1899BBF8FA2C38FA1C58D9FC58B9CC7899AC6879AC2889BC3899CC48B9EC68A9DC5
+899CC4879AC28699C18B9EC88B9EC88B9EC88A9DC78A9DC78B9EC88B9EC88B9EC8889CCE8A9FCC
+8AA0C98A9DC78C9DC9919ECAACB6D1AAB5D5A6B2D8A5B3D8A5B6D4A6B6D0A5B4D1A6B3D5A2B1D2
+A6B5D6A7B6D7A5B4D5A5B4D5A6B5D6A7B6D7A6B5D6A8B7D8A8B7D8A7B6D7A4B3D4A4B3D4A5B4D5
+A4B3D4A2B1D2A2ADC996A1BD8691AD77839D68748E606C846571896E7A9269738C69738C6A748D
+6C768F69738C656F88646E8767718A667089667089656F88656F88656F88646E87646E87646E87
+636F89626E88626E88626E88616D87616D87616D87606C86606E88606E885E6C875C6A85586882
+5867845A69865C6B8858688A6070926D7D9E7C8CAD8A9ABC91A1C591A0C98E9DC88B9EC98B9EC9
+8B9EC98B9EC98A9DC88B9EC98C9FCA8DA0CB8C9FC98B9EC88A9DC78A9DC78A9DC78A9DC78B9EC8
+8C9FC9889CCE8A9FCC8AA0C98A9DC78B9CC8909DC9ACB6D1AAB5D5A6B2D8A5B3D8A5B6D4A6B6D0
+A5B4D1A6B3D5A5B4D5A7B6D7A6B5D6A3B2D3A2B1D2A3B2D3A3B2D3A2B1D2A5B2D2A6B3D3A7B4D4
+A6B3D3A5B2D2A4B1D19FACCC9AA7C7828EA8707C94626E86626E8667738B69758D6A768C6C788E
+6B758E69738C68728B68728B67718A656F88646E87656F88656F88656F88656F88646E87646E87
+646E87636D86636D86636F89636F89626E88626E88626E88616D87616D87616D875E6C875E6C87
+5D6B865B69845969835968855B6A875C6B885B6A8B5867865867865F6E8D6D7C9D7D8BAE8A98BD
+919FC68FA1D18EA0D08C9ECE889ACA8698C88799C98A9CCC8D9FCF8C9DC88C9DC88C9DC88B9CC7
+8B9CC78C9DC88C9DC88C9DC8899DCF8A9FCC8AA0C9899CC68A9BC78F9CC8ACB6D1A9B4D4A6B2D8
+A5B3D8A4B5D3A5B5CFA5B4D1A5B2D4A4B3D4A5B4D5A4B3D4A3B2D3A4B3D4A7B6D7A6B5D6A3B2D3
+A1AFCCA1AFCC9FADCA9BA9C695A3C08D9BB88290AD7886A36F7B9367738B636F8767738B6A768E
+66728A626E86606C846A748D67718A656F88656F8866708967718A67718A667089656F88656F88
+646E87646E87646E87636D86636D86636D86636F89626E88626E88626E88616D87616D87616D87
+606C865866815B69845F6D88616F8A60708A5D6D875969835666805B6A875A6986586784566582
+5665825C6B8C6A789B7785AA798AB88091BF899AC88FA0CE90A1CF8E9FCD8B9CCA8A9BC98B9CC7
+8C9DC88C9DC88C9DC88C9DC88C9DC88C9DC88B9CC7899DCF8BA0CD8AA0C9899CC68A9BC78F9CC8
+ABB5D0A8B3D3A5B1D7A3B1D6A3B4D2A4B4CEA4B3D0A4B1D3A2B1D2A3B2D3A2B1D2A3B2D3A5B4D5
+A6B5D6A1B0D19BAACBA2B0CB9DABC692A0BB8593AE7A88A3707E9964728D5B6984636D86667089
+6A748D6A748D667089656F8868728B6C768F68728B67718A66708966708967718A68728B68728B
+67718A646E87646E87646E87646E87636D86636D86626C85626C85626E88616D87616D87616D87
+606C86606C86606C86606C8663718E606E8B5B69845866815767815969835D6D875F6F89596782
+5967825B69845A688355637E525F7F5562845C698C6170996C7BA47A89B28695BE8C9BC48E9DC6
+8F9EC78F9EC78A9BC68B9CC78C9DC88D9EC98D9EC98C9DC88B9CC78A9BC6899DCF8A9FCC8AA0C9
+8A9DC78B9CC8919ECAA9B3CEA7B2D2A4B0D6A2B0D5A2B3D1A3B3CDA3B2CFA3B0D2A5B4D5A4B3D4
+A2B1D2A0AFD0A0AFD09BAACB909FC08695B67984A0727D9967728E5F6A86606B8765708C697490
+69749068728B68728B667089656F8866708967718A66708B646E89646E8766708967718A667089
+646E87646E87646E87636D86646E87646E87646E87636D86636D86636D86626C85626C85616D87
+616D87606C86606C865F6B855F6B855F6B855F6B855A68855B69865C6A875D6B865D6D875B6B85
+5868825666805F6D8859678256647E5967815B69845A68855966865B688A526182536283546384
+5766875F6E8F6D7C9D7D8CAD8998B9899AC58B9CC78D9EC98E9FCA8E9FCA8D9EC98B9CC7899AC5
+889CCE8A9FCC8AA0C98A9DC78D9ECA94A1CDA6B3D5A3B2D3A0B3D49FB3D4A1B4D4A3B4D2A5B3CE
+A8B2CDACB7D3A0ABC7929DB98792AE7C87A3727D996E79956E799568728B68728B68728B68728B
+69738C69738C69738C69738C67718C67718C67718C67718C66708B66708B66708B66708B65718B
+65718B64708A64708A636F89636F89636F89636F89636C89636C89636C89626B88626B88626B88
+616A87616A87606B87606B87606B875F6A865F6A865F6A865F6A865F6A865B69865B69865B6986
+5B69865B69865A68855A68855A68855A68855A68855A68855A68855A68855A68855A68855A6885
+5966885966885A67895A67895B688A5C698B5C698B5D6A8C6776977382A37987AA7D8BB08896BD
+909DC78F9CC68F9CC88C9ECC899BC98B9CC894A3CE8996C094A0C8A9B6D8A1B0D199ACCD9AAECF
+9FB2D2A2B3D1A5B0CCA5AFCA838EAA76819D6A759167728E68738F66718D616C885F6A86667089
+66708966708966708966708966708966708966708967718A67718A67718A667089667089667089
+667089667089647088647088647088647088636F87636F87636F87626E86636D88636D88636D88
+626C87626C87616B86616B86616B86606B87606B875F6A865F6A865F6A865F6A865F6A865F6A86
+5B69865B69865B69865B69865A68855A68855A68855A68855A68855A68855A68855A68855A6885
+5A68855A68855A68855764845764845764845865855865855865855865855865855261805A6988
+5C6B8C5E6D8E6A789B7987AC8795BC94A2C98B9EC98C9FCA8B9CC892A0CD8A97C1939FC7A6B0D3
+A4B3D4A1B1D39DB0D1A1B4D4A4B3D296A1BD828CA76E7A9266728A616D85626E8667738B69758D
+68748C68748C67718A67718A67718A67718A667089667089667089667089667187667187667187
+667187667187667187657086657086647086647086647086636F85636F85626E84626E84626E84
+636D88626C87626C87626C87616B86616B86616B86606A855F6A865F6A865F6A865F6A865F6A86
+5E69855E69855E69855B69865B69865B69865B69865A68855A68855A68855A68855A68855A6885
+5A68855A68855A68855A68855A68855A68855B69865A68855A6885596784596784586683586683
+57658255657F57678152617E4F5E7B5362815D6C8D6F7E9F8493B4899CC690A3CE8B9CC88F9DCA
+8C99C5939FC79EA8CBA8B5D7A6B6D89AADCE9CAFCFA1B0CF8893AF646B8766728868748A6A768C
+68748A64708664708668748A6D798F67718A67718A67718A67718A667089667089667089656F88
+667187667187667187667187657086657086657086657086647086636F85636F85636F85626E84
+626E84626E84616D83626C85626C85626C85616B84616B84606A83606A83606A835F6A865F6A86
+5E69855E69855E69855E69855E69855E69855B69865B69865A68855A68855A68855A68855A6885
+5A68855A68855A68855A68855A68855A68855A68855A68855A68855D6B865C6A855C6A855B6984
+5B69845A68835A68835967825E6E875F6F885A6A8357678155657F52617E5A69866B7A978194BC
+8FA2CC8A9BC78D9BC88E9BC794A0C8A3ADD0A3B0D29EAED097AACB98A8C992A1C07D88A4666D89
+65708669748A6B768C687389626D83606B81636E84677288656F88656F88646E87646E87646E87
+636D86636D86636D86657086657086657086657086657086657086646F85646F85646F85646F85
+646F85636E84636E84626D83626D83626D83626C87616B86616B86616B86606A85606A85606A85
+5F69845E69855E69855E69855E69855D68845D68845D68845D68845A67875A67875A67875A6787
+5A67875A67875966865966865A67875A67875A67875A67875A67875A67875A67875A6787596782
+59678259678259678259678259678259678259678257657F5967815967815C6A855F6D88596782
+576580606E897589AC8A9EC38A9BC68F9DCA8E9BC895A1CBAAB2D69BA8CA9AA8CBA5B5D79BABCC
+7D8AAA69728F69708C6A758B69748A6772886671876873896B768C687389646F85656F88656F88
+656F88656F88646E87646E87646E87646E87656F88656F88656F88646E87646E87646E87646E87
+646E87646E87636D86636D86636D86626C85626C85626C85616B84616A87616A87616A87606986
+6069865F68855F68855F68855E69855E69855D68845D68845D68845D68845D68845D68845A6787
+5A67875A67875A67875966865966865966865966865A67875A67875A67875A67875A67875A6787
+5A67875A6787586683586683586683586683596784596784596784596784576582596784586683
+5A68855E6C895A6885556380586683677B9C7F93B68A9BC692A0CD8C99C694A0CAA6AED29BA5C8
+9EACCFAABADC97A7C86E7B9B5C6582666B88667089656F88636D86626C856670896A748D68728B
+626C85667089667089667089667089667089667089667089667089646D8A646D8A646D8A646D8A
+646D8A646D8A636C89636C89636C89636C89636C89626B88626B88616A87616A87616A87616A89
+6069886069886069885F68875F68875F68875F68875D68845D68845D68845D68845D68845C6783
+5C67835C67835A67875A67875A67875A67875966865966865966865966865A67875A67875A6787
+5A67875A67875A67875A67875A67875966865966865A67875A67875A67875A67875A67875B6888
+5D6A8C606D8F5C698B5764845966865865855461815562825A6F8C7488AB899AC595A3D28996C3
+919DC79FA7CB9DA7CA9EACCF9BABCD8494B5697696626B886C718E636D8867718C69738E656F8A
+626C87646E8966708B656F8A636D86646E87646E87646E87656F88656F88656F88656F88646D8A
+646D8A646D8A646D8A646D8A636C89636C89636C89636C89636C89626B88626B88626B88616A87
+616A87616A8760698A60698A60698A60698A5F68895F68895E67885E67885D68845D68845D6884
+5D68845C67835C67835C67835C67835A67875A67875A6787596686596686596686596686596686
+5A67875A67875A67875A67875A67875A67875A67875A6787596688596688596688596688596688
+5966885966885966885862865F698D5C668A5660845A64875E688B5E688B5F698C5368856D81A2
+899BC397A5D48591C18E9AC4A1ADC59FADCAA1B0D199A8C78898AF617181657285667187656F88
+656F88646E87646E87646E87646E87646E87646E87646E89646E89646E89646E89646E89646E89
+646E89646E89636E84636E84636E84626D83626D83626D83626D83626D83616C82616C82616C82
+616C82616C82616C82616C82606B81616C82616C82606B81606B81606B815F6A805F6A805F6A80
+58687F58687F58687F58687F58687F58687F58687F58687F57687C57687C57687C57687C57687C
+57687C57687C57687C57687C57687C57687C57687C57687C57687C57687C57687C57687C57687C
+57687C57687C57687C57687C57687C57687C57677E57677E57677E57677E57677E57677E57677E
+57677E546873677C91889BBC8B9FC2869AB58FA1B59CAAC49CA9C99EACCF95A4C58292AB5D6C7F
+616E81636D86657189657189657189647088647088647088647088647088616D87616D87616D87
+616D87616D87616D87616D87616D87636F87636F87626E86626E86626E86626E86626E86626E86
+616D85616D85616D85616D85616D85606C84606C84606C84606C84606C84606C84606C845F6B83
+5F6B835E6A825E6A825B6B845B6B845B6B845B6B845B6B845B6B845B6B845B6B845C6C835C6C83
+5C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C83
+5C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C855C6C855C6C855C6C85
+5C6C855C6C855C6C855C6C8556687C6B7C9A8A9BC68FA0CC8A9CC093A4C09CAAC59AA9CA9CACD0
+94A4C67B8CA65A6B7F626E86636F89606C84606C84606C84606C845F6B835F6B835F6B835F6B83
+616D87616D87616D87616D87616D87616D87616D87616D875E69855D68845D68845D68845D6884
+5D68845D68845D68845C67835C67835B66825B66825B66825B66825B66825B66825B66825B6682
+5A65815A65815A6581596480596480596480556380556380556380556380556380556380556380
+556380576580576580576580576580576580576580576580576580576580576580576580576580
+576580576580576580576580576580576580576580576580576580576580576580576580576580
+57658057658057658057658057658057658057658054638067759C8896C78C9CCF8B99C693A1C6
+9CAAC79AA9CA9AA9D094A4C67687A15B6B82647088646F8B67738B67738B67738B67738B67738B
+66728A66728A66728A616D85616D85616D85616D85616D85616D85616D85616D8565708C65708C
+646F8B646F8B646F8B646F8B646F8B646F8B636E8A626D89626D89626D89626D89626D89626D89
+616C88626D89626D89616C88616C88616C88606B87606B87606B875E69895E69895E69895E6989
+5E69895E69895E69895E69895E69855E69855E69855E69855E69855E69855E69855E69855E6985
+5E69855E69855E69855E69855E69855E69855E69855E69855E69855E69855E69855E69855E6985
+5E69855E69855E69875E69875E69875E69875E69875E69875E69875E698752607D627097838FC1
+8B98CC8A97C4919EC19BA9C499A6C698A6CB94A3C471819A5D6C81657187646E875F6C7F5F6C7F
+5F6C7F5F6C7F5F6C7F5F6C7F5E6B7E5E6B7E616D83616D83616D83616D83616D83616D83616D83
+616D835D69835D69835D69835D69835C68825C68825C68825C68825B67815B67815B67815B6781
+5B67815A66805A66805A66805B66825A65815A65815A658159648059648059648058637F5C6584
+5C65845C65845C65845C65845C65845C65845C65845B64815B64815B64815B64815B64815B6481
+5B64815B64815B64815B64815B64815B64815B64815B64815B64815B64815B64815B64815B6481
+5B64815B64815B64815B64815B64815B64815B64815B64815B64815B64815B64815B64815B6481
+59657B6873938692BC8E9BC78F9CBF97A2BEA0ABC19BA6C297A4C498A6C37281966471816D7588
+6870856E77886E77886D76876D76876D76876D76876D76876D7687687083687083687083687083
+6870836870836870836870836C748B6C748B6C748B6B738A6B738A6B738A6B738A6B738A6B738A
+6B738A6B738A6A72896A72896A72896A72896A72896A718B6A718B6A718B69708A69708A686F89
+686F89686F896A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B
+6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B
+6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A72896A72896A72896A72896A7289
+6A72896A72896A7289616D796C788E8993B6919EC1949FBB9BA6BA
end
%%PageTrailer
diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/picture.jpg b/Master/texmf-dist/doc/latex/moderncv/examples/picture.jpg
index ef48e69ce85..6b54f4d0904 100644
--- a/Master/texmf-dist/doc/latex/moderncv/examples/picture.jpg
+++ b/Master/texmf-dist/doc/latex/moderncv/examples/picture.jpg
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template-es.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template-es.pdf
index a1034bc03b6..4a81cdb082e 100644
--- a/Master/texmf-dist/doc/latex/moderncv/examples/template-es.pdf
+++ b/Master/texmf-dist/doc/latex/moderncv/examples/template-es.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template-zh.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template-zh.pdf
index 830560a631a..56bc23d6ff6 100644
--- a/Master/texmf-dist/doc/latex/moderncv/examples/template-zh.pdf
+++ b/Master/texmf-dist/doc/latex/moderncv/examples/template-zh.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template.pdf
index 6a4d37bdbc2..2867349cf48 100644
--- a/Master/texmf-dist/doc/latex/moderncv/examples/template.pdf
+++ b/Master/texmf-dist/doc/latex/moderncv/examples/template.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template.tex b/Master/texmf-dist/doc/latex/moderncv/examples/template.tex
index 267e573ea2c..0eb81b76fde 100644
--- a/Master/texmf-dist/doc/latex/moderncv/examples/template.tex
+++ b/Master/texmf-dist/doc/latex/moderncv/examples/template.tex
@@ -50,7 +50,8 @@
%----------------------------------------------------------------------------------
\begin{document}
%\begin{CJK*}{UTF8}{gbsn} % to typeset your resume in Chinese using CJK
-\maketitle
+%----- resume ---------------------------------------------------------
+\makecvtitle
\section{Education}
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} % arguments 3 to 6 can be left empty
@@ -125,6 +126,24 @@ Detailed achievements:%
%\bibliographystylemisc{plain}
%\bibliographymisc{publications} % 'publications' is the name of a BibTeX file
+\clearpage
+%----- letter ---------------------------------------------------------
+% recipient data
+\recipient{Company Recruitment team}{Company, Inc.\\123 somestreet\\some city}
+\date{January 01, 1984}
+\opening{Dear Sir or Madam,}
+\closing{Yours faithfully,}
+\enclosure{curriculum vit\ae{}}
+\makelettertitle
+
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ullamcorper neque sit amet lectus facilisis sed luctus nisl iaculis. Vivamus at neque arcu, sed tempor quam. Curabitur pharetra tincidunt tincidunt. Morbi volutpat feugiat mauris, quis tempor neque vehicula volutpat. Duis tristique justo vel massa fermentum accumsan. Mauris ante elit, feugiat vestibulum tempor eget, eleifend ac ipsum. Donec scelerisque lobortis ipsum eu vestibulum. Pellentesque vel massa at felis accumsan rhoncus.
+
+Suspendisse commodo, massa eu congue tincidunt, elit mauris pellentesque orci, cursus tempor odio nisl euismod augue. Aliquam adipiscing nibh ut odio sodales et pulvinar tortor laoreet. Mauris a accumsan ligula. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse vulputate sem vehicula ipsum varius nec tempus dui dapibus. Phasellus et est urna, ut auctor erat. Sed tincidunt odio id odio aliquam mattis. Donec sapien nulla, feugiat eget adipiscing sit amet, lacinia ut dolor. Phasellus tincidunt, leo a fringilla consectetur, felis diam aliquam urna, vitae aliquet lectus orci nec velit. Vivamus dapibus varius blandit.
+
+Duis sit amet magna ante, at sodales diam. Aenean consectetur porta risus et sagittis. Ut interdum, enim varius pellentesque tincidunt, magna libero sodales tortor, ut fermentum nunc metus a ante. Vivamus odio leo, tincidunt eu luctus ut, sollicitudin sit amet metus. Nunc sed orci lectus. Ut sodales magna sed velit volutpat sit amet pulvinar diam venenatis.
+
+\makeletterclosing
+
%\clearpage\end{CJK*} % if you are typesetting your resume in Chinese using CJK; the \clearpage is required for fancyhdr to work correctly with CJK, though it kills the page numbering by making \lastpage undefined
\end{document}
diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_black.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_black.pdf
index 555738285db..ff39e67656d 100644
--- a/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_black.pdf
+++ b/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_black.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red.pdf
index eb5cc182ff2..689bb3e0e1f 100644
--- a/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red.pdf
+++ b/Master/texmf-dist/doc/latex/moderncv/examples/template_banking_red.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template_casual_orange.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template_casual_orange.pdf
index 460f165a638..dffc01f90d0 100644
--- a/Master/texmf-dist/doc/latex/moderncv/examples/template_casual_orange.pdf
+++ b/Master/texmf-dist/doc/latex/moderncv/examples/template_casual_orange.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template_classic_green.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template_classic_green.pdf
index 68b159ef6c8..fbb80d42877 100644
--- a/Master/texmf-dist/doc/latex/moderncv/examples/template_classic_green.pdf
+++ b/Master/texmf-dist/doc/latex/moderncv/examples/template_classic_green.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template_multibib.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template_multibib.pdf
index 6f1d5ccf7ca..1a93bb2253e 100644
--- a/Master/texmf-dist/doc/latex/moderncv/examples/template_multibib.pdf
+++ b/Master/texmf-dist/doc/latex/moderncv/examples/template_multibib.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/moderncv/examples/template_oldstyle_grey.pdf b/Master/texmf-dist/doc/latex/moderncv/examples/template_oldstyle_grey.pdf
index ff94c524afc..c4ae4892880 100644
--- a/Master/texmf-dist/doc/latex/moderncv/examples/template_oldstyle_grey.pdf
+++ b/Master/texmf-dist/doc/latex/moderncv/examples/template_oldstyle_grey.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncv.cls b/Master/texmf-dist/tex/latex/moderncv/moderncv.cls
index 5e5026d47e5..55fff7b754b 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncv.cls
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncv.cls
@@ -10,13 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{moderncv}[2012/02/06 v0.19 modern curriculum vitae document class]
-
-
-%-------------------------------------------------------------------------------
-% debugging
-%-------------------------------------------------------------------------------
-\newif\if@DEBUG\@DEBUGfalse
+\ProvidesClass{moderncv}[2012/03/26 v1.0 modern curriculum vitae and letter document class]
%-------------------------------------------------------------------------------
@@ -96,10 +90,9 @@
% symbols like \Telefon, \Mobilefone, \Letter and \Email
\RequirePackage{marvosym}
-% hyper links
+% hyper links (hyperref is loaded at the end of the preamble to pass options required by loaded packages such as CJK)
\RequirePackage{url}
\urlstyle{tt}
-% load hyperref at the end of the preamble to pass options required by loaded packages (like CJK)
\AtEndPreamble{
\@ifpackageloaded{CJK}
{\RequirePackage[unicode]{hyperref}}
@@ -131,6 +124,20 @@
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancyhf{}}
+% page numbers in footer if more than 1 page
+\newif\if@displaypagenumbers\@displaypagenumberstrue
+\newcommand*{\nopagenumbers}{\@displaypagenumbersfalse}
+\AtEndPreamble{%
+ \AtBeginDocument{%
+ \if@displaypagenumbers%
+ \@ifundefined{r@lastpage}{}{%
+ \ifthenelse{\pageref{lastpage}>1}{%
+ \newlength{\pagenumberwidth}%
+ \settowidth{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}%
+ \fancypagestyle{plain}{%
+ \fancyfoot[r]{\parbox{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
+ \pagestyle{plain}}{}}%
+ \AtEndDocument{\label{lastpage}}\else\fi}}
\pagestyle{plain}
% lengths calculations
@@ -167,14 +174,30 @@
%\setlength\doublerulesep{2\p@}
%\setlength\tabbingsep{\labelsep}
-\pagestyle{empty}
\raggedbottom
\onecolumn
%-------------------------------------------------------------------------------
-% design commands definitions
+% overall design commands definitions
%-------------------------------------------------------------------------------
+% elements
+\newcommand*{\firstname}[1]{\def\@firstname{#1}}
+\newcommand*{\familyname}[1]{\def\@familyname{#1}}
+\renewcommand*{\title}[1]{\def\@title{#1}}
+\newcommand*{\address}[2]{\def\@addressstreet{#1}\def\@addresscity{#2}}
+\newcommand*{\mobile}[1]{\def\@mobile{#1}}
+\newcommand*{\phone}[1]{\def\@phone{#1}}
+\renewcommand*{\fax}[1]{\def\@fax{#1}}
+\newcommand*{\email}[1]{\def\@email{#1}}
+\newcommand*{\homepage}[1]{\def\@homepage{#1}}
+
+% colors
+\definecolor{color0}{rgb}{0,0,0}% main default color, normally left to black
+\definecolor{color1}{rgb}{0,0,0}% primary theme color
+\definecolor{color2}{rgb}{0,0,0}% secondary theme color
+\definecolor{color3}{rgb}{0,0,0}% tertiary theme color
+
% symbols
% itemize labels (the struts were added to correct inter-item spacing (works for single line items, until a solution is found for multi-line ones...)
\newcommand*{\labelitemi}{\strut\textcolor{color1}{\Neutral}}% alternative" \fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102}
@@ -195,22 +218,13 @@
\newcommand*{\emailsymbol}{\Letter~}
\newcommand*{\homepagesymbol}{{\Large\ComputerMouse}~}
-% colors
-\definecolor{color0}{rgb}{0,0,0}% main default color, normally left to black
-\definecolor{color1}{rgb}{0,0,0}% primary theme color
-\definecolor{color2}{rgb}{0,0,0}% secondary theme color
-\definecolor{color3}{rgb}{0,0,0}% tertiary theme color
-
% fonts
-\newcommand*{\namefont}{}
-\newcommand*{\titlefont}{}
-\newcommand*{\addressfont}{}
-\newcommand*{\quotefont}{}
-\newcommand*{\sectionfont}{}
-\newcommand*{\subsectionfont}{}
-\newcommand*{\hintfont}{}
\AtBeginDocument{\normalfont\color{color0}}
+% makes the footer (normally used both for the resume and the letter)
+% usage: \makefooter
+\newcommand*{\makefooter}{}%
+
% loads a style scheme
\newcommand*{\moderncvstyle}[1]{
\RequirePackage{moderncvstyle#1}}
@@ -219,70 +233,85 @@
\newcommand*{\moderncvcolor}[1]{
\RequirePackage{moderncvcolor#1}}
-% recompute all automatic lengths
-\newcommand*{\recomputelengths}{}
+% recomputes all automatic lengths
+\newcommand*{\recomputelengths}{\recomputecvlengths}
\AtBeginDocument{\recomputelengths{}}
+% creates a length if not yet defined
+\newcommand*{\@initializelength}[1]{%
+ \ifdefined#1\else\newlength{#1}\fi}
+
%-------------------------------------------------------------------------------
-% structure commands definitions
+% resume design commands definitions
%-------------------------------------------------------------------------------
-% cv elements
-\newcommand*{\firstname}[1]{\def\@firstname{#1}}
-\newcommand*{\familyname}[1]{\def\@familyname{#1}}
-\renewcommand*{\title}[1]{\def\@title{#1}}
-\newcommand*{\address}[2]{\def\@addressstreet{#1}\def\@addresscity{#2}}
-\newcommand*{\mobile}[1]{\def\@mobile{#1}}
-\newcommand*{\phone}[1]{\def\@phone{#1}}
-\renewcommand*{\fax}[1]{\def\@fax{#1}}
-\newcommand*{\email}[1]{\def\@email{#1}}
-\newcommand*{\homepage}[1]{\def\@homepage{#1}}
+% elements
\newcommand*{\extrainfo}[1]{\def\@extrainfo{#1}}
\newcommandx*{\photo}[3][1=64pt,2=0.4pt,usedefault]{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}% the 1st (optional) argument is the width of the photo, the 2nd (optional) argument is the thickness of the frame around it.
\newcommand*{\quote}[1]{\def\@quote{#1}}
-% makes the cv title
-% usage: \maketitle
-\newcommand*{\maketitle}{}%
-\title{}% to avoid LaTeX complaining that \maketitle is a called without first a call to \title
+% fonts
+\newcommand*{\namefont}{}
+\newcommand*{\titlefont}{}
+\newcommand*{\addressfont}{}
+\newcommand*{\quotefont}{}
+\newcommand*{\sectionfont}{}
+\newcommand*{\subsectionfont}{}
+\newcommand*{\hintfont}{}
-% makes the cv footer
-% usage: \makefooter
-\newcommand*{\makefooter}
+% recompute all resume lengths
+\newcommand*{\recomputecvlengths}{}
-% makes a cv section
+% internal maketitle command to issue a new line only when required
+\newif\if@firstdetailselement\@firstdetailselementtrue
+\newcommand*{\makenewline}{
+ \if@firstdetailselement%
+ \strut% to ensure baseline alignment, e.g. with when put in the margin vs sections that also contains a \strut
+ \else%
+ \\\fi%
+ \@firstdetailselementfalse}
+
+% makes the resume title
+% usage: \makecvtitle
+\newcommand*{\makecvtitle}{}%
+
+% makes the resume footer
+% usage: \makecvfooter
+\newcommand*{\makecvfooter}{\makefooter}%
+
+% makes a resume section
% usage: \section{<title>}
\newcommand*{\section}[1]{}
% starred variant, which is identical but defined to allow its use (e.g. for natbib compatibility, who uses \section*{} for the bibliography header)
\RequirePackage{suffix}
\AtBeginDocument{\WithSuffix\newcommand\section*{\section}}
-% makes a cv subsection
+% makes a resume subsection
% usage: \subsection{title}
\newcommand*{\subsection}[1]{}
\AtBeginDocument{\WithSuffix\newcommand\subsection*{\subsection}}
-% makes a cv line with a header and a corresponding text
+% makes a resume line with a header and a corresponding text
% usage: \cvitem[spacing]{header}{text}
\newcommand*{\cvitem}[3][.25em]{}
-% makes a cv line 2 headers and their corresponding text
+% makes a resume line 2 headers and their corresponding text
% usage: \cvdoubleitem[spacing]{header1}{text1}{header2}{text2}
\newcommand*{\cvdoubleitem}[5][.25em]{}
-% makes a cv line with a list item
+% makes a resume line with a list item
% usage: \cvlistitem[label]{item}
\newcommand*{\cvlistitem}[2][\listitemsymbol]{}
-% makes a cv line with 2 list items
+% makes a resume line with 2 list items
% usage: \cvlistdoubleitem[label]{item1}{item2}
\newcommand*{\cvlistdoubleitem}[3][\listitemsymbol]{}
-% makes a typical cv job / education entry
+% makes a typical resume job / education entry
% usage: \cventry[spacing]{years}{degree/job title}{institution/employer}{localization}{optionnal: grade/...}{optional: comment/job description}
\newcommand*{\cventry}[7][.25em]{}
-% makes a cv entry with a proficiency comment
+% makes a resume entry with a proficiency comment
% usage: \cvitemwithcomment[spacing]{header}{text}{comment}
\newcommand*{\cvitemwithcomment}[4][.25em]{}
@@ -307,23 +336,8 @@
{\href{mailto:#2}{#2}}%
{\href{mailto:#2}{#1}}}
-% page numbers in footer if more than 1 page
-\newif\if@displaypagenumbers\@displaypagenumberstrue
-\newcommand*{\nopagenumbers}{\@displaypagenumbersfalse}
-\AtEndPreamble{%
- \AtBeginDocument{%
- \if@displaypagenumbers%
- \@ifundefined{r@lastpage}{}{%
- \ifthenelse{\pageref{lastpage}>1}{%
- \newlength{\pagenumberwidth}%
- \settowidth{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}%
- \fancypagestyle{plain}{%
- \fancyfoot[r]{\parbox{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
- \pagestyle{plain}}{}}%
- \AtEndDocument{\label{lastpage}}\else\fi}}
-
% thebibliography environment, for use with BibTeX and possibly multibib
-\newcommand{\refname}{Publications}
+\newcommand*{\refname}{Publications}
\newlength{\bibindent}
\setlength{\bibindent}{1.5em}
% bibliography item label
@@ -334,7 +348,7 @@
\AtEndPreamble{\@ifpackageloaded{multibib}{\renewcommand*{\bibliographyhead}[1]{\subsection{#1}}}{}}
% thebibliography environment definition
\newenvironment{thebibliography}[1]{}{}
-\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
+\newcommand*{\newblock}{\hskip .11em\@plus.33em\@minus.07em}
\let\@openbib@code\@empty
% itemize, enumerate and description environment
@@ -383,6 +397,32 @@
% \parbox[#1]{\widthofautobox{#2}}{#2}}
+%-------------------------------------------------------------------------------
+% letter design commands definitions
+%-------------------------------------------------------------------------------
+% elements
+\newcommand*{\recipient}[2]{\def\@recipientname{#1}\def\@recipientaddress{#2}}
+\renewcommand*{\date}[1]{\def\@date{#1}}
+\newcommand*{\opening}[1]{\def\@opening{#1}}
+\newcommand*{\closing}[1]{\def\@closing{#1}}
+\newcommand*{\enclosure}[1]{\def\@enclosure{#1}}
+
+% recompute all letter lengths
+\newcommand*{\recomputeletterlengths}{}
+
+% makes the letter title
+% usage: \makelettertitle
+\newcommand*{\makelettertitle}{}%
+
+% makes the letter footer
+% usage: \makeletterfooter
+\newcommand*{\makeletterfooter}{\makefooter}%
+
+% makes the letter closing
+% usage: \makeletterclosing
+\newcommand*{\makeletterclosing}{}%
+
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty
index e3c7d5c576e..762b9b7f6c2 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblack.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorblack}[2012/02/06 v0.19 modern curriculum vitae color scheme: black]
+\ProvidesPackage{moderncvcolorblack}[2012/03/26 v1.0 modern curriculum vitae and letter color scheme: black]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty
index 67e97078131..8bd2f9d2c58 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorblue.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorblue}[2012/02/06 v0.19 modern curriculum vitae color scheme: blue]
+\ProvidesPackage{moderncvcolorblue}[2012/03/26 v1.0 modern curriculum vitae and letter color scheme: blue]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty
index 847bf62d5ae..6f64ac84bc5 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgreen.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorgreen}[2012/02/06 v0.19 modern curriculum vitae color scheme: green]
+\ProvidesPackage{moderncvcolorgreen}[2012/03/26 v1.0 modern curriculum vitae and letter color scheme: green]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty
index 90e9d6e0f3b..4b85eb3a67b 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorgrey.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorgrey}[2012/02/06 v0.19 modern curriculum vitae color scheme: grey]
+\ProvidesPackage{moderncvcolorgrey}[2012/03/26 v1.0 modern curriculum vitae and letter color scheme: grey]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty
index 7a4639257bc..8e26eae3e04 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolororange.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolororange}[2012/02/06 v0.19 modern curriculum vitae color scheme: orange]
+\ProvidesPackage{moderncvcolororange}[2012/03/26 v1.0 modern curriculum vitae and letter color scheme: orange]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty
index 8e761f4de6b..ed0e3988960 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorpurple.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorpurple}[2012/02/06 v0.19 modern curriculum vitae color scheme: purple]
+\ProvidesPackage{moderncvcolorpurple}[2012/03/26 v1.0 modern curriculum vitae and letter color scheme: purple]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty
index 1516f4febac..e3d8203c014 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcolorred.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcolorred}[2012/02/06 v0.19 modern curriculum vitae color scheme: red]
+\ProvidesPackage{moderncvcolorred}[2012/03/26 v1.0 modern curriculum vitae and letter color scheme: red]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty
index 8d196224716..3997bcf49bf 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvcompatibility.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvcompatibility}[2012/02/06 v0.19 modern curriculum vitae compatibility patches]
+\ProvidesPackage{moderncvcompatibility}[2012/03/26 v1.0 modern curriculum vitae and letter compatibility patches]
%-------------------------------------------------------------------------------
@@ -74,6 +74,11 @@
\moderncvcolor{#1}%
\moderncvstyle{#2}}
+% compatibility with versions <= 0.19
+\newcommand*{\maketitle}{\makecvtitle}%
+\title{}% to avoid LaTeX complaining that \maketitle is a called without first a call to \title
+
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty
index e22c47fe577..a8ca0e9eb89 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstylebanking.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstylebanking}[2012/02/06 v0.19 modern curriculum vitae scheme: banking]
+\ProvidesPackage{moderncvstylebanking}[2012/03/26 v1.0 modern curriculum vitae and letter style scheme: banking]
%-------------------------------------------------------------------------------
@@ -26,12 +26,60 @@
%-------------------------------------------------------------------------------
-% style definition
+% overall style definition
+%-------------------------------------------------------------------------------
+% commands
+\newcommand*{\maketitlesymbol}{%
+ {~~~\textbullet~~~}}% \textbullet forces the use of the CMSY font, even when latin modern fonts are used :(
+% internal command to add an element to the footer
+% it collects the elements in a temporary box, and checks when to flush the box
+\newsavebox{\maketitlebox}%
+\newsavebox{\maketitletempbox}%
+\newlength{\maketitlewidth}%
+\newlength{\maketitleboxwidth}%
+% adds an element to the maketitle, separated by maketitlesymbol
+% usage: \addtomaketitle[maketitlesymbol]{element}
+\newcommand*{\addtomaketitle}[2][\maketitlesymbol]{%
+ \savebox{\maketitletempbox}{\usebox{\maketitlebox}#1#2}%
+ \settowidth{\maketitleboxwidth}{\usebox{\maketitletempbox}}%
+ \ifnum\maketitleboxwidth<\maketitlewidth%
+ \savebox{\maketitlebox}{\usebox{\maketitletempbox}}
+ \else%
+ \flushmaketitle{}\\%
+ \savebox{\maketitlebox}{#2}%
+ \savebox{\maketitletempbox}{#2}\fi}
+% internal command to flush the maketitle
+\newcommand*{\flushmaketitle}{%
+ \strut\usebox{\maketitlebox}%
+ \savebox{\maketitlebox}{}%
+ \savebox{\maketitletempbox}{}}
+\renewcommand*{\maketitle}{%
+ \setlength{\maketitlewidth}{0.8\textwidth}%
+ \hfil%
+ \parbox{\maketitlewidth}{%
+ \centering%
+ % name (title is not visible)
+ \namestyle{\@firstname~\@familyname}\\%
+ % detailed information
+ \addressfont\color{color2}%
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\addtomaketitle[]{\addresssymbol\@addressstreet}%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\addtomaketitle[~--~]{\@addresscity}}\flushmaketitle}% if \addresstreet is defined, \addresscity will always be defined but could be empty
+ \ifthenelse{\isundefined{\@mobile}}{}{\addtomaketitle[]{\mobilesymbol\@mobile}}%
+ \ifthenelse{\isundefined{\@phone}}{}{\addtomaketitle{\phonesymbol\@phone}}%
+ \ifthenelse{\isundefined{\@fax}}{}{\addtomaketitle{\faxsymbol\@fax}}%
+ \ifthenelse{\isundefined{\@email}}{}{\addtomaketitle{\emailsymbol\emaillink{\@email}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtomaketitle{\homepagesymbol\httplink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\addtomaketitle{\@extrainfo}}%
+ \flushmaketitle}\\[2.5em]}% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \maketitle
+
+
+%-------------------------------------------------------------------------------
+% resume style definition
%-------------------------------------------------------------------------------
% fonts
\renewcommand*{\namefont}{\Huge\bfseries\upshape}
\renewcommand*{\titlefont}{\LARGE\mdseries\slshape}
-\renewcommand*{\addressfont}{\normalsize\mdseries\upshape}
+\renewcommand*{\addressfont}{\small\mdseries\upshape}
\renewcommand*{\quotefont}{\large\slshape}
\renewcommand*{\sectionfont}{\Large\bfseries\upshape}
\renewcommand*{\subsectionfont}{\large\upshape\fontseries{sb}\selectfont}
@@ -46,7 +94,7 @@
\newcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
\newcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
-% length used
+% lengths
\newlength{\quotewidth}
\newlength{\hintscolumnwidth}
\setlength{\hintscolumnwidth}{0.3\textwidth}%
@@ -59,7 +107,7 @@
\newlength{\listitemmaincolumnwidth}
\newlength{\listdoubleitemmaincolumnwidth}
-% recompute all the lengths that depends on the text width
+% commands
\renewcommand*{\recomputelengths}{%
\setlength{\quotewidth}{0.65\textwidth}%
% main lenghts
@@ -75,58 +123,19 @@
% fancyhdr lengths
\renewcommand{\headwidth}{\textwidth}}
-% cv footer
-\newcommand*{\maketitlesymbol}{%
- {~~~\textbullet~~~}}% \textbullet forces the use of the CMSY font, even when latin modern fonts are used :(
-% internal command to add an element to the footer
-% it collects the elements in a temporary box, and checks when to flush the box
-\newsavebox{\maketitlebox}%
-\newsavebox{\maketitletempbox}%
-\newlength{\maketitlewidth}%
-\newlength{\maketitleboxwidth}%
-% adds an element to the maketitle, separated by maketitlesymbol
-% usage: \addtomaketitle[maketitlesymbol]{element}
-\newcommand*{\addtomaketitle}[2][\maketitlesymbol]{%
- \savebox{\maketitletempbox}{\usebox{\maketitlebox}#1#2}%
- \settowidth{\maketitleboxwidth}{\usebox{\maketitletempbox}}%
- \ifnum\maketitleboxwidth<\maketitlewidth%
- \savebox{\maketitlebox}{\usebox{\maketitletempbox}}
- \else%
- \flushmaketitle{}\\%
- \savebox{\maketitlebox}{#2}%
- \savebox{\maketitletempbox}{#2}\fi}
-% internal command to flush the maketitle
-\newcommand*{\flushmaketitle}{%
- \strut\usebox{\maketitlebox}%
- \savebox{\maketitlebox}{}%
- \savebox{\maketitletempbox}{}}
-\renewcommand*{\maketitle}{%
- \setlength{\maketitlewidth}{0.8\textwidth}%
- \hfil%
- \parbox{\maketitlewidth}{%
- \centering%
- % name (title is not visible)
- \namestyle{\@firstname~\@familyname}\\%
- % detailed information
- \color{color2}\addressfont%
- \ifthenelse{\isundefined{\@addressstreet}}{}{\addtomaketitle[]{\addresssymbol\@addressstreet}%
- \ifthenelse{\equal{\@addresscity}{}}{}{\addtomaketitle[~--~]{\@addresscity}}\flushmaketitle}% if \addresstreet is defined, \addresscity will always be defined but could be empty
- \ifthenelse{\isundefined{\@mobile}}{}{\addtomaketitle[]{\mobilesymbol\@mobile}}%
- \ifthenelse{\isundefined{\@phone}}{}{\addtomaketitle{\phonesymbol\@phone}}%
- \ifthenelse{\isundefined{\@fax}}{}{\addtomaketitle{\faxsymbol\@fax}}%
- \ifthenelse{\isundefined{\@email}}{}{\addtomaketitle{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtomaketitle{\homepagesymbol\httplink{\@homepage}}}%
- \ifthenelse{\isundefined{\@extrainfo}}{}{\addtomaketitle{\@extrainfo}}%
- \flushmaketitle}\\[2.5em]%
- % optional quote
- \ifthenelse{\isundefined{\@quote}}%
- {}%
- {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
- \par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle
+\renewcommand*{\makecvtitle}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputecvlengths%
+ \maketitle%
+ % optional quote
+ \ifthenelse{\isundefined{\@quote}}%
+ {}%
+ {{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
+ \par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle}
\renewcommand*{\section}[1]{%
\par\addvspace{2.5ex}%
- \phantomsection{}%
+ \phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{section}{#1}%
\strut\sectionstyle{#1}%
{\color{color1}\hrule}%
@@ -206,6 +215,48 @@
\end{list}%
}
+
+%-------------------------------------------------------------------------------
+% letter style definition
+%-------------------------------------------------------------------------------
+% commands
+\renewcommand*{\recomputeletterlengths}{
+ \recomputecvlengths%
+ \setlength{\parskip}{6\p@}}
+
+\renewcommand*{\makelettertitle}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputeletterlengths%
+ % sender block
+ \maketitle%
+ \par%
+ % recipient block
+ \begin{minipage}[t]{.5\textwidth}
+ \raggedright%
+ \addressfont%
+ {\bfseries\upshape\@recipientname}\\%
+ \@recipientaddress%
+ \end{minipage}
+ % date
+ \hfill % US style
+% \\[1em] % UK style
+ \hbox{\today}\\[2em]% US informal style: "April 6, 2006"; UK formal style: "05/04/2006"
+ % opening
+ \raggedright%
+ \@opening\\[1.5em]%
+ % ensure no extra spacing after \makelettertitle due to a possible blank line
+% \ignorespacesafterend% not working
+ \hspace{0pt}\par\vspace{-\baselineskip}\vspace{-\parskip}}
+
+\renewcommand*{\makeletterclosing}{
+ \@closing\\[3em]%
+ {\bfseries \@firstname~\@familyname}%
+ \ifthenelse{\isundefined{\@enclosure}}{}{%
+ \\%
+ \vfill%
+ {\color{color2}\itshape Enclosure: \@enclosure}}}
+
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty
index e4d6a617545..861ecccbe36 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstylecasual.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstylecasual}[2012/02/06 v0.19 modern curriculum vitae style scheme: casual]
+\ProvidesPackage{moderncvstylecasual}[2012/03/26 v1.0 modern curriculum vitae and letter style scheme: casual]
%-------------------------------------------------------------------------------
@@ -25,13 +25,9 @@
%-------------------------------------------------------------------------------
-% style scheme definition
+% overall style definition
%-------------------------------------------------------------------------------
-% fonts
-\renewcommand*{\namefont}{\fontsize{38}{40}\mdseries\upshape}
-\renewcommand*{\addressfont}{\small\mdseries\slshape}
-
-% cv footer
+% commands
% footer symbol used to separate footer elements
\newcommand*{\footersymbol}{%
{~~~\textbullet~~~}}% \textbullet forces the use of the CMSY font, even when latin modern fonts are used :(
@@ -54,7 +50,7 @@
\savebox{\footerbox}{\usebox{\footertempbox}}%
\@firstfooterelementfalse%
\else%
- \flushfooter{}\\%
+ \flushfooter\\%
\savebox{\footerbox}{#2}%
\savebox{\footertempbox}{#2}%
\@firstfooterelementfalse\fi}
@@ -63,29 +59,22 @@
\strut\usebox{\footerbox}%
\savebox{\footerbox}{}%
\savebox{\footertempbox}{}}
-\renewcommand*{\makefooter}{%
- \setlength{\footerwidth}{0.8\textwidth}%
- \fancypagestyle{plain}{%
- \fancyfoot[c]{%
- \parbox{\footerwidth}{%
- \centering%
- \color{color2}\addressfont%
- \ifthenelse{\isundefined{\@addressstreet}}{}{\addtofooter[]{\addresssymbol\@addressstreet}%
- \ifthenelse{\equal{\@addresscity}{}}{}{\addtofooter[~--~]{\@addresscity}}\flushfooter\@firstfooterelementtrue\\}% if \addresstreet is defined, \addresscity will always be defined but could be empty
- \ifthenelse{\isundefined{\@mobile}}{}{\addtofooter{\mobilesymbol\@mobile}}%
- \ifthenelse{\isundefined{\@phone}}{}{\addtofooter{\phonesymbol\@phone}}%
- \ifthenelse{\isundefined{\@fax}}{}{\addtofooter{\faxsymbol\@fax}}%
- \ifthenelse{\isundefined{\@email}}{}{\addtofooter{\emailsymbol\emaillink{\@email}}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\addtofooter{\homepagesymbol\httplink{\@homepage}}}%
- \ifthenelse{\isundefined{\@extrainfo}}{}{\addtofooter{\@extrainfo}}%
- \flushfooter}}}%
- \pagestyle{plain}}
-% maketitle
-\renewcommand*{\maketitle}{%
- \makefooter{}%
- \newbox{\maketitlepicturebox}%
- \savebox{\maketitlepicturebox}{%
+
+%-------------------------------------------------------------------------------
+% resume style definition
+%-------------------------------------------------------------------------------
+% fonts
+\renewcommand*{\namefont}{\fontsize{38}{40}\mdseries\upshape}
+\renewcommand*{\addressfont}{\normalsize\mdseries\slshape}
+
+% commands
+\renewcommand*{\makecvtitle}{%
+ % ensure footer with personal information
+ \makecvfooter%
+ % optional picture
+ \newbox{\makecvtitlepicturebox}%
+ \savebox{\makecvtitlepicturebox}{%
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
@@ -93,9 +82,11 @@
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
{\color{color1}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
- \usebox{\maketitlepicturebox}%
- \newlength{\maketitlepicturewidth}\settowidth{\maketitlepicturewidth}{\usebox{\maketitlepicturebox}}%
- \parbox[b]{\textwidth-\maketitlepicturewidth}{%
+ \usebox{\makecvtitlepicturebox}%
+ % name
+ \@initializelength{\makecvtitlepicturewidth}%
+ \settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
+ \parbox[b]{\textwidth-\makecvtitlepicturewidth}{%
\raggedleft\namefont{\color{color2!50}\@firstname} {\color{color2}\@familyname}}\\[-.35em]% alternate design: \MakeLowercase and no space
{\color{color2!50}\rule{\textwidth}{.25ex}}%
% optional title
@@ -106,6 +97,79 @@
{{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle
+\renewcommand*{\makecvfooter}{%
+ \setlength{\footerwidth}{0.8\textwidth}%
+ \fancypagestyle{plain}{%
+ \fancyfoot[c]{%
+ \parbox{\footerwidth}{%
+ \centering%
+ \color{color2}\addressfont%
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\addtofooter[]{\addresssymbol\@addressstreet}%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\addtofooter[~--~]{\@addresscity}}\flushfooter\@firstfooterelementtrue\\}% if \addresstreet is defined, \addresscity will always be defined but could be empty
+ \ifthenelse{\isundefined{\@mobile}}{}{\addtofooter{\mobilesymbol\@mobile}}%
+ \ifthenelse{\isundefined{\@phone}}{}{\addtofooter{\phonesymbol\@phone}}%
+ \ifthenelse{\isundefined{\@fax}}{}{\addtofooter{\faxsymbol\@fax}}%
+ \ifthenelse{\isundefined{\@email}}{}{\addtofooter{\emailsymbol\emaillink{\@email}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtofooter{\homepagesymbol\httplink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\addtofooter{\@extrainfo}}%
+ \flushfooter}}}%
+ \pagestyle{plain}}
+
+
+%-------------------------------------------------------------------------------
+% letter style definition
+%-------------------------------------------------------------------------------
+\renewcommand*{\makelettertitle}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputeletterlengths%
+ % ensure footer with personal information
+ \makeletterfooter%
+ % recipient block
+ \begin{minipage}[t]{.5\textwidth}
+ \raggedright%
+ \addressfont%
+ {\bfseries\upshape\@recipientname}\\%
+ \@recipientaddress%
+ \end{minipage}
+ % date
+ \hfill% US style
+% \\[1em]% UK style
+ \hbox{\today}\\[2em]% US informal style: "April 6, 2006"; UK formal style: "05/04/2006"
+ % opening
+ \raggedright%
+ \@opening\\[1.5em]%
+ % ensure no extra spacing after \makelettertitle due to a possible blank line
+% \ignorespacesafterend% not working
+ \hspace{0pt}\par\vspace{-\baselineskip}\vspace{-\parskip}}
+
+\renewcommand*{\makeletterfooter}{%
+ \setlength{\footerwidth}{0.8\textwidth}%
+ \fancypagestyle{plain}{%
+ \fancyfoot[c]{%
+ \parbox{\footerwidth}{%
+ \centering%
+ \addressfont\color{color2}%
+ {\bfseries\upshape\@firstname~\@familyname}\\
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\addtofooter[]{\addresssymbol\@addressstreet}%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\addtofooter[~--~]{\@addresscity}}\flushfooter\@firstfooterelementtrue\\}% if \addresstreet is defined, \addresscity will always be defined but could be empty
+ \ifthenelse{\isundefined{\@mobile}}{}{\addtofooter{\mobilesymbol\@mobile}}%
+ \ifthenelse{\isundefined{\@phone}}{}{\addtofooter{\phonesymbol\@phone}}%
+ \ifthenelse{\isundefined{\@fax}}{}{\addtofooter{\faxsymbol\@fax}}%
+ \ifthenelse{\isundefined{\@email}}{}{\addtofooter{\emailsymbol\emaillink{\@email}}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\addtofooter{\homepagesymbol\httplink{\@homepage}}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\addtofooter{\@extrainfo}}%
+ \flushfooter}}}%
+ \pagestyle{plain}}
+
+\renewcommand*{\makeletterclosing}{
+ \@closing\\[3em]%
+ {\bfseries\@firstname~\@familyname}%
+ \ifthenelse{\isundefined{\@enclosure}}{}{%
+ \\%
+ \vfil%
+ {\color{color2}\itshape Enclosure: \@enclosure}}%
+ \vfil}
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty
index 2ee5989eb25..bb9d6c13f47 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleclassic.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleclassic}[2012/02/06 v0.19 modern curriculum vitae style scheme: classic]
+\ProvidesPackage{moderncvstyleclassic}[2012/03/26 v1.0 modern curriculum vitae and letter style scheme: classic]
%-------------------------------------------------------------------------------
@@ -24,7 +24,12 @@
%-------------------------------------------------------------------------------
-% style scheme definition
+% overall style definition
+%-------------------------------------------------------------------------------
+
+
+%-------------------------------------------------------------------------------
+% resume style definition
%-------------------------------------------------------------------------------
% fonts
\renewcommand*{\namefont}{\fontsize{34}{36}\mdseries\upshape}
@@ -44,7 +49,7 @@
\newcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
\newcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
-% length used
+% lengths
\newlength{\quotewidth}
\newlength{\hintscolumnwidth}
\setlength{\hintscolumnwidth}{0.175\textwidth}
@@ -57,8 +62,8 @@
\newlength{\listitemmaincolumnwidth}
\newlength{\listdoubleitemmaincolumnwidth}
-% recompute all the lengths that depends on the text width
-\renewcommand*{\recomputelengths}{%
+% commands
+\renewcommand*{\recomputecvlengths}{%
\setlength{\quotewidth}{0.65\textwidth}%
% main lenghts
\setlength{\maincolumnwidth}{\textwidth-\separatorcolumnwidth-\hintscolumnwidth}%
@@ -73,36 +78,30 @@
% fancyhdr lengths
\renewcommand{\headwidth}{\textwidth}}
-
% optional maketitle width to force a certain width (if set to 0pt, the width is calculated automatically)
-\newlength{\maketitlenamewidth}
-\setlength{\maketitlenamewidth}{0pt}% dummy value
-% internal maketitle command to issue a new line only when required
-\newif\if@firstdetailselement\@firstdetailselementtrue
-\newcommand*{\maketitledetailsnewline}{
- \if@firstdetailselement%
- \else%
- \\[.2em]\fi%
- \@firstdetailselementfalse}
-\renewcommand*{\maketitle}{%
+\newlength{\makecvtitlenamewidth}
+\setlength{\makecvtitlenamewidth}{0pt}% dummy value
+\renewcommand*{\makecvtitle}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputecvlengths%
% optional detailed information box
- \newbox{\maketitledetailsbox}%
- \savebox{\maketitledetailsbox}{%
+ \newbox{\makecvtitledetailsbox}%
+ \savebox{\makecvtitledetailsbox}{%
\addressfont\color{color2}%
\begin{tabular}[b]{@{}r@{}}%
- \ifthenelse{\isundefined{\@addressstreet}}{}{\maketitledetailsnewline\addresssymbol\@addressstreet%
- \ifthenelse{\equal{\@addresscity}{}}{}{\maketitledetailsnewline\@addresscity}}% if \addresstreet is defined, \addresscity will always be defined but could be empty
- \ifthenelse{\isundefined{\@mobile}}{}{\maketitledetailsnewline\mobilesymbol\@mobile}%
- \ifthenelse{\isundefined{\@phone}}{}{\maketitledetailsnewline\phonesymbol\@phone}%
- \ifthenelse{\isundefined{\@fax}}{}{\maketitledetailsnewline\faxsymbol\@fax}%
- \ifthenelse{\isundefined{\@email}}{}{\maketitledetailsnewline\emailsymbol\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\maketitledetailsnewline\homepagesymbol\httplink{\@homepage}}%
- \ifthenelse{\isundefined{\@extrainfo}}{}{\maketitledetailsnewline\@extrainfo}%
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}}% if \addresstreet is defined, \addresscity will always be defined but could be empty
+ \ifthenelse{\isundefined{\@mobile}}{}{\makenewline\mobilesymbol\@mobile}%
+ \ifthenelse{\isundefined{\@phone}}{}{\makenewline\phonesymbol\@phone}%
+ \ifthenelse{\isundefined{\@fax}}{}{\makenewline\faxsymbol\@fax}%
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
\end{tabular}
}%
% optional picture box
- \newbox{\maketitlepicturebox}%
- \savebox{\maketitlepicturebox}{%
+ \newbox{\makecvtitlepicturebox}%
+ \savebox{\makecvtitlepicturebox}{%
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
@@ -113,25 +112,25 @@
\setlength{\fboxsep}{0pt}\fi%
\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}%
% name and title
- \newlength{\maketitledetailswidth}\settowidth{\maketitledetailswidth}{\usebox{\maketitledetailsbox}}%
- \newlength{\maketitlepicturewidth}\settowidth{\maketitlepicturewidth}{\usebox{\maketitlepicturebox}}%
- \ifthenelse{\lengthtest{\maketitlenamewidth=0pt}}% check for dummy value (equivalent to \ifdim\maketitlenamewidth=0pt)
- {\setlength{\maketitlenamewidth}{\textwidth-\maketitledetailswidth-\maketitlepicturewidth}}%
+ \newlength{\makecvtitledetailswidth}\settowidth{\makecvtitledetailswidth}{\usebox{\makecvtitledetailsbox}}%
+ \newlength{\makecvtitlepicturewidth}\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
+ \ifthenelse{\lengthtest{\makecvtitlenamewidth=0pt}}% check for dummy value (equivalent to \ifdim\makecvtitlenamewidth=0pt)
+ {\setlength{\makecvtitlenamewidth}{\textwidth-\makecvtitledetailswidth-\makecvtitlepicturewidth}}%
{}%
- \begin{minipage}[b]{\maketitlenamewidth}%
+ \begin{minipage}[b]{\makecvtitlenamewidth}%
\namestyle{\@firstname\ \@familyname}%
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
\end{minipage}%
\hfill%
% detailed information
- \llap{\usebox{\maketitledetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of maketitlenamewidth is forced
+ \llap{\usebox{\makecvtitledetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvtitlenamewidth is forced
% optional photo
- \usebox{\maketitlepicturebox}\\[2.5em]%
+ \usebox{\makecvtitlepicturebox}\\[2.5em]%
% optional quote
\ifthenelse{\isundefined{\@quote}}%
{}%
{{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
- \par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle
+ \par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvtitle
\newlength{\baseletterheight}
\settoheight{\baseletterheight}{\sectionstyle{o}}
@@ -225,6 +224,59 @@
}
+%-------------------------------------------------------------------------------
+% letter style definition
+%-------------------------------------------------------------------------------
+% commands
+\renewcommand*{\recomputeletterlengths}{
+ \recomputecvlengths%
+ \setlength{\parskip}{6\p@}}
+
+\renewcommand*{\makelettertitle}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputeletterlengths%
+ % sender contact info
+ \hfill%
+ \begin{minipage}{.5\textwidth}%
+ \raggedleft%
+ \addressfont\textcolor{color2}{%
+ {\bfseries\upshape\@firstname~\@familyname}\@firstdetailselementfalse%
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}}%
+ \ifthenelse{\isundefined{\@mobile}}{}{\makenewline\mobilesymbol\@mobile}%
+ \ifthenelse{\isundefined{\@phone}}{}{\makenewline\phonesymbol\@phone}%
+ \ifthenelse{\isundefined{\@fax}}{}{\makenewline\faxsymbol\@fax}%
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}%
+ \end{minipage}\\[1em]
+ % recipient block
+ \begin{minipage}[t]{.5\textwidth}
+ \raggedright%
+ \addressfont%
+ {\bfseries\upshape\@recipientname}\\%
+ \@recipientaddress%
+ \end{minipage}
+ % date
+ \hfill% US style
+% \\[1em]% UK style
+ \hbox{\today}\\[2em]% US informal style: "April 6, 2006"; UK formal style: "05/04/2006"
+ % opening
+ \raggedright%
+ \@opening\\[1.5em]%
+ % ensure no extra spacing after \makelettertitle due to a possible blank line
+% \ignorespacesafterend% not working
+ \hspace{0pt}\par\vspace{-\baselineskip}\vspace{-\parskip}}
+
+\renewcommand*{\makeletterclosing}{
+ \@closing\\[3em]%
+ {\bfseries \@firstname~\@familyname}%
+ \ifthenelse{\isundefined{\@enclosure}}{}{%
+ \\%
+ \vfill%
+ {\color{color2}\itshape Enclosure: \@enclosure}}}
+
+
\endinput
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty
index ab4fc99d13e..c11dc6188d0 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleempty.sty
@@ -10,7 +10,7 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleempty}[2012/02/06 v0.19 modern curriculum vitae scheme: empty]
+\ProvidesPackage{moderncvstyleempty}[2012/03/26 v1.0 modern curriculum vitae scheme: empty]
%-------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty
index 9877e45d971..3718c48c116 100644
--- a/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty
+++ b/Master/texmf-dist/tex/latex/moderncv/moderncvstyleoldstyle.sty
@@ -10,12 +10,14 @@
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{moderncvstyleoldstyle}[2012/02/06 v0.19 modern curriculum vitae style: oldstyle]
+\ProvidesPackage{moderncvstyleoldstyle}[2012/03/26 v1.0 modern curriculum vitae and letter style scheme: oldstyle]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
+% change the layout of the page on the fly, for resume or letter layout
+\RequirePackage{changepage}
%-------------------------------------------------------------------------------
@@ -24,12 +26,27 @@
%-------------------------------------------------------------------------------
-% style definition
+% overall style definition
%-------------------------------------------------------------------------------
% fonts
\IfFileExists{kurier.sty}
{\RequirePackage[light,math]{kurier}}
{}
+
+% symbols
+\renewcommand*{\listitemsymbol}{\labelitemi~}
+\renewcommand*{\addresssymbol}{}
+\renewcommand*{\mobilesymbol}{\textbf{M}~}
+\renewcommand*{\phonesymbol}{\textbf{T}~}
+\renewcommand*{\faxsymbol}{\textbf{F}~}
+\renewcommand*{\emailsymbol}{\textbf{E}~}
+\renewcommand*{\homepagesymbol}{}
+
+
+%-------------------------------------------------------------------------------
+% resume style definition
+%-------------------------------------------------------------------------------
+% fonts
\renewcommand*{\namefont}{\fontsize{34}{36}\mdseries\upshape}
\renewcommand*{\titlefont}{\LARGE\mdseries\slshape}
\renewcommand*{\addressfont}{\small\mdseries}
@@ -47,16 +64,7 @@
\newcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
\newcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
-% symbols
-\renewcommand*{\listitemsymbol}{\labelitemi~}
-\renewcommand*{\addresssymbol}{}
-\renewcommand*{\mobilesymbol}{\textbf{M}~}
-\renewcommand*{\phonesymbol}{\textbf{T}~}
-\renewcommand*{\faxsymbol}{\textbf{F}~}
-\renewcommand*{\emailsymbol}{\textbf{E}~}
-\renewcommand*{\homepagesymbol}{}
-
-% length used
+% lengths
\newlength{\quotewidth}
\newlength{\hintscolumnwidth}
\setlength{\hintscolumnwidth}{0.3\textwidth}%
@@ -69,8 +77,8 @@
\newlength{\listitemmaincolumnwidth}
\newlength{\listdoubleitemmaincolumnwidth}
-% recompute all the lengths that depends on the text width
-\renewcommand*{\recomputelengths}{%
+% commands
+\renewcommand*{\recomputecvlengths}{%
\setlength{\quotewidth}{0.65\textwidth}%
% main lenghts
\setlength{\maincolumnwidth}{\textwidth-\hintscolumnwidth-\separatorcolumnwidth}%
@@ -85,27 +93,22 @@
% fancyhdr lengths
\renewcommand{\headwidth}{\textwidth}}
-\newcommand{\makeinfo}[1]{%
- \newbox{\makeinfobox}%
- \savebox{\makeinfobox}{\parbox[b]{\hintscolumnwidth}{\if@DEBUG\rule{20cm}{.1pt}\\\fi#1}}%
- \newlength{\makeinfoheight}%
- \setlength{\makeinfoheight}{\totalheightof{\usebox{\makeinfobox}}}% the total height of the parbox is the sum of its height (\the\ht\makeinfobox) and its depth (\the\dp\makeinfobox); the \totalheightof command is provided by the "calc" package
- \usebox{\makeinfobox}\vspace*{-\makeinfoheight}%
+\newcommand{\makecvinfo}[1]{%
+ \newbox{\makecvinfobox}%
+ \savebox{\makecvinfobox}{\parbox[t]{\hintscolumnwidth}{#1}}%
+ \newlength{\makecvinfoheight}%
+ \setlength{\makecvinfoheight}{\totalheightof{\usebox{\makecvinfobox}}}% the total height of the parbox is the sum of its height (\the\ht\makeinfobox) and its depth (\the\dp\makeinfobox); the \totalheightof command is provided by the "calc" package
+ \usebox{\makecvinfobox}\vspace{-\makecvinfoheight}%
\newlength{\leftcolumnwidth}%
- \setlength{\leftcolumnwidth}{\hintscolumnwidth+\separatorcolumnwidth}
- \par\nointerlineskip\vspace*{-\parskip}\vspace*{-2.5ex}\leftskip=\leftcolumnwidth\if@DEBUG\rule{20cm}{.1pt}\fi}% the -2.5ex vertical slip is to counter the 2.5ex skip of sections
-
-\newif\if@firstdetailselement\@firstdetailselementtrue
-\newcommand*{\maketitledetailsnewline}{
- \if@firstdetailselement%
- \else%
- \\[.2em]\fi%
- \@firstdetailselementfalse%
- \addressfont\color{color2}}
-\renewcommand*{\maketitle}{
+ \setlength{\leftcolumnwidth}{\hintscolumnwidth+\separatorcolumnwidth}%
+ \par\vspace{-\baselineskip}\vspace{-\parskip}\leftskip=\leftcolumnwidth}
+
+\renewcommand*{\makecvtitle}{
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputecvlengths%
% optional picture box
- \newbox{\maketitlepicturebox}%
- \savebox{\maketitlepicturebox}{%
+ \newbox{\makecvtitlepicturebox}%
+ \savebox{\makecvtitlepicturebox}{%
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
@@ -115,28 +118,29 @@
\setlength{\fboxsep}{0pt}\fi%
\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}%
% name and title
- \newlength{\maketitlepicturewidth}\settowidth{\maketitlepicturewidth}{\usebox{\maketitlepicturebox}}%
- \newlength{\maketitlenamewidth}\setlength{\maketitlenamewidth}{\textwidth-\maketitlepicturewidth}%
- \begin{minipage}[b]{\maketitlenamewidth}%
+ \newlength{\makecvtitlepicturewidth}\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
+ \newlength{\makecvtitlenamewidth}\setlength{\makecvtitlenamewidth}{\textwidth-\makecvtitlepicturewidth}%
+ \begin{minipage}[b]{\makecvtitlenamewidth}%
\namestyle{\@firstname\ \@familyname}%
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
\end{minipage}%
% optional photo
- \usebox{\maketitlepicturebox}\\[2.5em]%
+ \usebox{\makecvtitlepicturebox}\\[2.5em]%
% optional quote
\ifthenelse{\isundefined{\@quote}}%
{}%
{{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
% optional details
- \makeinfo{%
- \ifthenelse{\isundefined{\@addressstreet}}{}{\maketitledetailsnewline\addresssymbol\@addressstreet%
- \ifthenelse{\equal{\@addresscity}{}}{}{\maketitledetailsnewline\@addresscity}}% if \addresstreet is defined, \addresscity will always be defined but could be empty
- \ifthenelse{\isundefined{\@mobile}}{}{\maketitledetailsnewline\mobilesymbol\@mobile}%
- \ifthenelse{\isundefined{\@phone}}{}{\maketitledetailsnewline\phonesymbol\@phone}%
- \ifthenelse{\isundefined{\@fax}}{}{\maketitledetailsnewline\faxsymbol\@fax}%
- \ifthenelse{\isundefined{\@email}}{}{\maketitledetailsnewline\emailsymbol\emaillink{\@email}}%
- \ifthenelse{\isundefined{\@homepage}}{}{\maketitledetailsnewline\homepagesymbol\httplink{\@homepage}}%
- \ifthenelse{\isundefined{\@extrainfo}}{}{\maketitledetailsnewline\@extrainfo}}}
+ \makecvinfo{%
+ \addressfont\color{color2}%
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}}% if \addresstreet is defined, \addresscity will always be defined but could be empty
+ \ifthenelse{\isundefined{\@mobile}}{}{\makenewline\mobilesymbol\@mobile}%
+ \ifthenelse{\isundefined{\@phone}}{}{\makenewline\phonesymbol\@phone}%
+ \ifthenelse{\isundefined{\@fax}}{}{\makenewline\faxsymbol\@fax}%
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}
\renewcommand*{\section}[1]{%
\par\addvspace{2.5ex}%
@@ -236,6 +240,60 @@
}
+%-------------------------------------------------------------------------------
+% letter style definition
+%-------------------------------------------------------------------------------
+% commands
+%\newlength{\textwidthdelta}%
+\renewcommand*{\recomputeletterlengths}{%
+ \recomputecvlengths{}%
+ \setlength{\parskip}{6\p@}%
+ \leftskip=0pt%
+% \setlength{\textwidthdelta}{+\marginparwidth+\marginparsep}%
+ \setlength{\marginparwidth}{\hintscolumnwidth}%
+ \setlength{\marginparsep}{2\separatorcolumnwidth}%
+% \addtolength{\textwidthdelta}{-\marginparwidth-\marginparsep}%
+% \changepage{}{\textwidthdelta}{-\textwidthdelta}{}{}{}{}{}{}%\changepage{<textheight>}{<textwidth>}{<evensidemargin>}{<oddsidemargin>}{<columnsep>}{<topmargin>}{<headheight>}{<headsep>}{<footskip>}
+ \changepage{}{-\marginparwidth-\marginparsep}{}{}{}{}{}{}{}%\changepage{<textheight>}{<textwidth>}{<evensidemargin>}{<oddsidemargin>}{<columnsep>}{<topmargin>}{<headheight>}{<headsep>}{<footskip>}
+ }
+
+\renewcommand*{\makelettertitle}{%
+ % recompute lengths (in case we are switching from letter to resume, or vice versa)
+ \recomputeletterlengths%
+ % recipient block
+ {\addressfont%
+ {\bfseries\upshape\@recipientname}\\%
+ \@recipientaddress}\\[1em]%
+ % date
+ \@date\\[2em]%
+ % opening
+ \@opening\\[1.5em]%
+ % sender contact info
+ \hspace{0pt}%
+ \marginpar{%
+ \addressfont\textcolor{color2}{%
+ {\bfseries\@firstname~\@familyname}\@firstdetailselementfalse%
+ \ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
+ \ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}}%
+ \ifthenelse{\isundefined{\@mobile}}{}{\makenewline\mobilesymbol\@mobile}%
+ \ifthenelse{\isundefined{\@phone}}{}{\makenewline\phonesymbol\@phone}%
+ \ifthenelse{\isundefined{\@fax}}{}{\makenewline\faxsymbol\@fax}%
+ \ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
+ \ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
+ \ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}%
+ % ensure no extra spacing after \makelettertitle due to a possible blank line
+% \ignorespacesafterend% not working
+ \par\vspace{-\baselineskip}\vspace{-\parskip}}
+
+\renewcommand*{\makeletterclosing}{
+ \@closing\\[3em]%
+ {\bfseries\@firstname~\@familyname}%
+ \ifthenelse{\isundefined{\@enclosure}}{}{%
+ \\%
+ \vfill%
+ {\color{color2}\itshape{}Enclosure: \@enclosure}}}
+
+
\endinput