diff options
Diffstat (limited to 'systems/doc/pdftex')
56 files changed, 24548 insertions, 0 deletions
diff --git a/systems/doc/pdftex/NEWS b/systems/doc/pdftex/NEWS new file mode 100644 index 0000000000..3a66ff8dd5 --- /dev/null +++ b/systems/doc/pdftex/NEWS @@ -0,0 +1,720 @@ +pdfTeX 3.14159265-2.6-1.40.18 (TeX Live 2017) +- changes: + - rename envvar SOURCE_DATE_EPOCH_TEX_PRIMITIVES to FORCE_SOURCE_DATE; + no changes in functionality. + - if the \pdfpageattr token list contains the string "/MediaBox", + omitting output of the default /MediaBox. + +- bugfixes: + - \pdflastmatch more reliable when there was no match + +--------------------------------------------------- +pdfTeX 3.14159265-2.6-1.40.17 (TeX Live 2016) (May 20, 2016) +- changes: + - if the environment variable SOURCE_DATE_EPOCH is set, use its value for + the PDF CreationDate and ModDate values, and to seed the trailer /ID. + This by itself should suffice to create reproducible PDFs. The + new primitives below support more granular output tweaks with the + same intent. + - if the environment variable SOURCE_DATE_EPOCH_TEX_PRIMITIVES is set + to 1, the \year, \day, and \time primitives are also initialized + from the SOURCE_DATE_EPOCH value, instead of the current time. + + - new primitive \pdfinfoomitdate to omit CreationDate and ModDate keys. + - new primitive \pdftrailerid to set seed for the trailer /ID + computation; with an empty argument \pdftrailerid{}, the /ID is omitted. + - new primitive \pdfsuppressptexinfo to omit PTEX.* keys from output; + the value is a bitmask: + % 1 -> PTEX.Fullbanner + % 2 -> PTEX.FileName + % 4 -> PTEX.PageNumber + % 8 -> PTEX.InfoDict (/Producer /Creator /CreationDate /ModDate /Trapped) + +- bugfixes: + - do not crash if font size of a vf >= 2048pt. + +--------------------------------------------------- +pdfTeX 3.14159265-2.6-1.40.16 (TeX Live 2015) +- changes: + - support JPEG Exif as well as JFIF. + - do not even warn if \pdfinclusionerrorlevel is negative. + - sync with xpdf 3.04. + +- bugfixes: + - ensure line-ending after a group dict in the output. + +--------------------------------------------------- +pdfTeX 3.14159265-2.6-1.40.15 (TeX Live 2014) +- changes: + - sync with Knuth TeX 3.14159265, e-TeX 2.6 + - new warning-suppression parameter \pdfsuppresswarningpagegroup + - new primitives for fake interword spaces: + \pdfinterwordspaceon, \pdfinterwordspaceoff, \pdffakespace + +--------------------------------------------------- +pdfTeX 3.1415926-1.40.14 was released on 2013-05-30 (TeX Live 2013) +- changes: + - sync with e-TeX 2.5 + - better largefile support + +- bugfixes: + - inclusion of particular pdf's failed (http://bugs.debian.org/672951) + +--------------------------------------------------- +pdfTeX 3.1415926-1.40.13 was released on 2012-04-21 (TeX Live 2012) +- changes: + - new warning-suppression parameters + \pdfsuppresswarningdupdest and \pdfsuppresswarningdupmap + +- bugfixes: + - better support for uniABCD and indexXYZ glyph names + - large-file support (from peb) + +--------------------------------------------------- +pdfTeX 3.1415926-1.40.12 was released on 2011-06-20 (TeX Live 2011) +- bugfixes: + - for 16-bit images in PDF 1.4 mode + +--------------------------------------------------- +pdfTeX 3.1415926-1.40.11 was released on 2010-07-28 +- bugfixes: + - ttf2afm reported wrong ItalicAngle for some fonts + - detect/prevent wrong arguments of \pdfsetmatrix [#4301] + - check for pdf nodes in dvi mode + - whitespace should be inserted when concatenating contents stream [#4307] + - pdftex fails to include seemingly good PDF [#4309] + - wrong description of \pdfelapsedtime in manual [#4300] + - \pdfgentounicode conflicts with cmap+\pdffontattr [#4291] + - \rightmarginkern doesn't work for last lines [#4292] + - \pdfximagebbox wrong for PDF files with /Rotate != 0 [#939] + - \leftmarginkern & \rightmarginkern doesn't work with box registers > 255 [#4312] + +- changes: + - pdf inclusion: removed the requirement that named resources must be indirect (#4299) + - added debug messages for pdftex_fail() + +--------------------------------------------------- +pdfTeX 3.1415926-1.40.10 was released on 2009-11-30 +- sync with TL09 +- changes: + - increased sup_dest_names_size + - partial support for TTC + - enable mktexpk by default + - patch #2087: Support for CMap namespace + - \pdfshellescape is 2 if restricted shell escapes are enabled. +- bugfixes: + - segfault when processing certain TTF fonts + - jpg image resolution not set in some cases + - \pdfobj file {foo} for files foo that don't end with '\n' + - bugfix #4289: \primitive\pdfoutput cannot be queried + - bugfix #4288: character width mismatch in font XY.vf ignored + - bugfix #993: "/Names array not sorted correctly" + - bugfix #606: "Forbidden ... while scanning ???" + - bugfix #3253: Bug in Type1 font subsetting + - \show\pdfstartlink is wrong + - pdf_set_rule() uses incorrect variables + - bugfix #2090: enabling LFS breaks PDF inclusion on some systems (warning: not heavily-tested yet) + - t1_log() macro caused problem with some compilers + +-------------------------------------------------- +pdfTeX 3.1415926-1.40.9 was released on 2008-08-16 +- bugfixes: + - pdf inclusion (inconsistent use of -DDISABLE_OUTLINE) + - bug #2068 (cross-platform format dumping/undumping) + - bug #2082 (font_dim[FONTNAME_CODE] not initialized) + - bug #2083 (unchecked assignment) + +-------------------------------------------------- +pdfTeX 3.1415926-1.40.8 was released on 2008-07-10 +- Incorporated synctex +- Incorporated the new version of TeX: 3.1415926 +- The pool file is now compiled in +- Bugfix: + - some large TrueType fonts caused pdftex to segfault (1866) + - fix for copying contents streams of included pdf (1751) + - Fonts from included PDFs for which maplines existed missed their /StemV + values + - \pdflastximagepages was broken for JBIG2 images + - included PDFs with a negative lly in the MediaBox with a depth != 0 with + \pdfximage were wrongly vertically diplaces (936) + - PDF inclusion was broken on ppc-darwin (941) +- pdfTeX uses libpng 1.2.29 + +------------------------------------------------- +pdfTeX 3.141592-1.40.7 was released on 2008-02-17 +- Bugfix: + - PDFs > 2GiB (LFS) were still broken on 32-bit systems + +------------------------------------------------- +pdfTeX 3.141592-1.40.6 was released on 2008-02-04 +- Bugfixes: + - inclusion of encrypted PDFs was broken (861) + - PDFs > 2GiB (LFS) would be broken, even on 64-bit systems. Now the basic + support for LFS is there, you only need to supply the right compiler flags + (this is not yet done automatically). See build.sh for hints on compiling. + - Page groups in pdfs (see the discussion in the notes vor v1.10a) are now + handled correctly (741) + - When including transparent PNGs pdftex now automatically adds a Page Group + (896) + - broken map files would lead to core dumps + - unusual TrueType fonts would lead to an assertion error (874) + - the null object in the object table was never initialized + - included PDFs with /PieceInfo lost their /LastModified date + - an empty colorstack crashed pdftex (897) +- pdfTeX uses libpng 1.2.24 +- pdfTeX uses xpdf 3.02pl2 + +------------------------------------------------- +pdfTeX 3.141592-1.40.5 was released on 2007-07-31 +- Bugfixes: + - calling 'pdftex %' would crash (830) + - fflush the recorder file +- pdfTeX uses xpdf 3.02pl1 + +------------------------------------------------- +pdfTeX 3.141592-1.40.4 was released on 2007-07-11 +- Bugfixes: + - It was impossible to set the font Flags to 4 in map entries (762) + - The font Flags of non-embedded fonts were wrong (794) + Now pdfTeX uses the Flags from map entries (if found) or guesses values for + the base14 fonts. It also warns when you not-embedd a font without Flags + - Subsetted fonts still had their private UniqueID copied (774) + - \pdfunescapehex returned a wrong result if the last character was not a + hexadecimal digit and the last hex pair was incomplete (777) + - Copying a box with \pdfstartlink inside produced the same /Link annotation + object multiply, with same object number and identical coordinates on the + page (799) + - When trying to use a font without TFM, without map entry, and no PK font + available, a broken PDF was produced. Now no PDF is generated and the error + messages have been improved (721) + - Problems with vf fonts (722) + - With pdf inclusion the font descriptor could get mixed up and miss some + required keys (810) + - Font expansion led to wrong log output of \kerns (736) + - \pdfprimitive was broken (see + http://www.ntg.nl/pipermail/ntg-pdftex/2007-April/002860.html) + - The -recorder option of web2c didn't record fonts, included images and some + other files (772) + - Using \pdfximage in IniTeX before \dump caused a crash when the format was + used (824) + - \letterspacefont had some problems (712) + - \letterspacefont and \pdffontexpand had some problems (747) +- Improvements: + - pdf compression is now a bit faster (patch 726) + - the behaviour of TeX when it asks for a file name has been improved (756) +- pdfTeX uses libpng 1.2.18 +- pdfTeX uses xpdf 3.02 + +------------------------------------------------- +pdfTeX 3.141592-1.40.3 was released on 2007-02-04 +- bugfix: documents which used type 1 and truetype or opentype fonts resulted in + broken pdfs (729) + +------------------------------------------------- +pdfTeX 3.141592-1.40.2 was released on 2007-01-31 +- bugfix: maplines starting with = would not work as advertised +- bugfix: xpdf would complain that PDF 1.7 is too new + +------------------------------------------------- +pdfTeX 3.141592-1.40.1 was released on 2007-01-08 +- bugfix: the shell escape function was a bit broken +- bugfix: \pdffontattr gave confusing warnings +- allow JBIG2 images only with PDF >= 1.4 +- allow \pdfglyphtounicode in dvi mode for format generation +- pdfTeX uses libpng 1.2.15 + +------------------------------------------------- +pdfTeX 3.141592-1.40.0 was released on 2007-01-01 +- pdfetex (as a separate binary/program) is gone; all extensions are now in + pdftex. The make files still know about the target pdfetex, but it's just a + copy of pdftex +- The sources of TeX, eTeX and pdfTeX have been merged into one file pdftex.web + and one change file pdftex.ch. The sources of TeX and eTeX distributed are + just there for reference +- New features: + - pdfTeX can now generate PDF 1.5 object streams, which leads to smaller + PDFs. This is controlled by setting \pdfobjcompresslevel to a value >0 (3 + compress everything, 2 don't compress /Info, 1 also don't compress embedded + PDFs) and works only with PDF >=1.5 + - pdfTeX now supports another image file format: JBIG2 files (.jbig2) + - the memory allocated for objects and destination names now grows + dynamically + - pdfTeX now generates smaller PDFs since for char positioning the width of + chars (/Widths) is stored with more precision and so the chars must rarely + be positioned separately + - the PK resolution is now taken from the "pk_dpi" parameter in texmf.cnf if + it has not been set in the format file or by the user + - pdfTeX now removes the generated pdf in case of a fatal error + - pdfTeX now sets /ModDate and /Trapped in the InfoDict by default (the + values can be overridden with \pdfinfo) + - the format of warnings and errors issued by pdfTeX has been changed and + unified + - the output of -version has been extended and now includes information about + the libraries actually used, which can be handy when using shared libraries + - rules and their positioning on the page are now inside a qQ group +- New primitives: + - pdfTeX can now handle colourstacks. + - \pdfcolorstackinit + A stack is initialized by \pdfcolorstackinit. It expands to the number of + the new stack. The common case, the traditinal color stack is already + initialized as first stack: \pdfcolorstackinit page direct {0 g 0 G} + The keyword "page" means that this stack is page based. At the start of + the new page, the current stack value is automatically set. + - \pdfcolorstack + \pdfcolorstack <stack number> push {<new color>} + pushes the current value on the stack and sets the <new color>. + \pdfcolorstack <stack number> pop + pops and sets the current stack value. + \pdfcolorstack <stack number> current + sets the current stack value without changing the stack. This is useful + for stacks that are initialized without keyword "page". Thus the page + start setting can be set manually. + \pdfcolorstack <stack number> set {<new color>} + The current value is set to <new color>. + - Transformation matrices can now be manipulated more cleanly: + Currently matrix changes are done and hidden inside \pdfliteral nodes; + pdfTeX doesn't parse its contents and does not know the new settings of the + transform matrix. Thus the new primitives to save pdfTeX from parsing + \pdfliteral contents and to notify pdfTeX about matrix changes to use them + in calculating link and anchor positions. + - \pdfsetmatrix{<a> <b> <c> <d>} + is the equivalent to \pdfliteral{<a> <b> <c> <d> 0 0 cm} + - \pdfsave is the equivalent to \pdfliteral{q} + - \pdfrestore is the equivalent to \pdfliteral{Q} + - \pdfprimitive\TeX-primitive executes the original \TeX-primitive even if + the command has been redefined since. E.g. + \let\relax\undefined\pdfprimitive\relax + expands to \relax. + \ifpdfprimitive\TeX-primitive is true if \TeX-primitive has its original + meaning + - \ifpdfabsnum and \ifpdfabsdim are like \ifnum and \ifdim, but don't care + about negative numbers + - shell escape: if the first character of a filename for \openin, \openout + \input is a pipe symbol (|), the filename is assumed to be a request for a + pipe to a command line that is given in the rest of the filename + - draftmode: With \pdfdraftmode=1 or the commandline switch -draftmode pdfTeX + doesn't write the output pdf and doesn't actually read any images, thus + speeding up compilations when you know you need an extra run but don't care + about the output, e.g. just to get the BibTeX references right + - \pdfpxdimen (introduced in 1.30) is now a real dimension parameter. It + allows one base dimensions on pixels. 1px defaults to 1bp (or 72dpi), but + can be changed with the \pdfpxdimen primitive: + \pdfpxdimen=1in % 1 dpi + \divide\pdfpxdimen by 96 % 96 dpi + \hsize=1200px + Now \hsize is (1in/96)*1200 + - \pdflastlink returns the object number of the last \pdfstartlink + - \pdfsavepos now works in DVI mode +- Fonts: + - support for subfonts: This creates all needed map entries for subfonts + automatically and handles Unicode mappings + - ToUnicode entries for Type1 fonts (patch 580) +- HZ: + - added patch 462: HZ font expansion in autoexpand mode now produces smaller + pdf files, as it works by modififying the text matrix for single fonts + instead of embedding many expanded font versions. Therefore HZ now can be + used also for TrueType fonts and even for non-embedded fonts (e.g. + Times-Roman) +- Bugfixes: + - the PDF statistics in the log are now correct + - added JFIF detection patch to writejpg.c (bug 548) + - bugfix: invalid pdf created if font name contains space (509) + - bugfix: truetype OS/2 v3 fonts (594) + - bugfix: Type1C (CFF) fonts of embedded pdfs didn't get replaced +- pdfTeX uses libpng 1.2.14 + +------------------------------------------------- +pdfTeX 3.141592-1.30.6 was released on 2006-02-16 +- bugfix: updated xpdf to 3.01pl2 + +------------------------------------------------- +pdfTeX 3.141592-1.30.5 was released on 2005-12-04 +- bugfix: \pdfximage prints the file name twice (bug 441) +- bugfix: buffer overflow with \pdfmatch (bug 444) +- bugfix: updated xpdf to 3.01pl1 + +------------------------------------------------- +pdfTeX 3.141592-1.30.4 was released on 2005-10-17 +- bugfix: whitespaces in filenames didn't work on Unix anymore (bug 377) +- bugfix: two \immediates cancel themselves (bug 437) +- bugfix: wrong file name in error messages of image inclusion (bug 435) + +------------------------------------------------- +pdfTeX 3.141592-1.30.3 was released on 2005-09-04 +- bugfix: \write18 + +------------------------------------------------- +pdfTeX 3.141592-1.30.2 was released on 2005-08-25 +- fixed some build problems and minor bugs introduced in 1.30.1 + +------------------------------------------------- +pdfTeX 3.141592-1.30.1 was released on 2005-08-21 +- the eTeX extensions can now be enabled with the cmdline switch -etex +- pdfTeX uses xpdf 3.01 + +------------------------------------------------- +pdfTeX 3.141592-1.30.0 was released on 2005-08-01 +- pdfxtex (introduced with 1.20a) is gone; all extensions are now in pdf(e)tex. +- Some primitives have been renamed; the old names will still work, but are + deprecated and some give a warning that they are obsolete: + \pdfoptionpdfminorversion -> \pdfminorversion + \pdfoptionalwaysusepdfpagebox -> \pdfforcepagebox + \pdfoptionpdfinclusionerrorlevel -> \pdfinclusionerrorlevel +- pdftex knows two new units: + - new Didot (1nd=0.375mm) + - new Cicero (1nc=12nd) +- New primitives: + - Inclusion of pngs has been greatly improved: It now does + - alpha channel and transparency (only if %!PDF >=1.4) + - 16-bit colour (only if %!PDF >=1.5); this must be enabled by setting + \pdfimagehicolor to 1. + - gamma correction; this must be enabled by setting \pdfimageapplygamma to + 1. The device gamma is taken from \pdfgamma. If no embedded value can be + found in the png image, then the value of \pdfimagegamma is used instead. + - fast direct embedding of png streams, if their structure allows this; the + automatic fall-back is to decompress and re-compress as before. + - pdfTeX now has an interface to the precise system time (if available) as an + aid in benchmarking TeX macro code. + - \pdfelapsedtime is a read-only integer that (initially) returns the + amount of time passed since the start of this run. This amount is given + in `scaled seconds': the value 65536 counts as one second. If more time + has passed than 32767 seconds, (2^31)-1 will be returned. + - \pdfresettimer updates the internal timer, such that subsequent calls to + \pdfelapsedtime will restart from 0. + - pdfTeX can now generate random numbers: + - \pdfuniformdeviate <count> generates a uniformly distributed random + integer value between 0 (inclusive) and <count> (exclusive). + - \pdfnormaldeviate expands to a random integer value with a mean of 0 and + a unit of 65536. + - \pdfrandomseed allows access to the current seed value. + - \pdfsetrandomseed <count> sets the random seed to a specific value. + - \pdfnoligatures\f disables ligatures for the loaded font \f. + - Escaping strings: + - \pdfescapestring{<a>} escapes the string <a> so that it can be used as + PDF string. + - \pdfescapename{<a>} escapes the string <a> so that it can be used as PDF + name. + - \pdfescapehex{<a>} converts the string <a> to uppercase hexadecimal + representation. + - \pdfunescapehex{<b>} reverses the effect of \pdfescapehex + - \pdfcreationdate expands to the date string that pdfTeX uses in the info + dict as default. + - \pdffilemoddate{<file>} expands to the modification date of <file> in the + same format as \pdfcreationdate (PDF date format). + - \pdffilesize{<file>} expands to the size of <file> as string. + - \pdfmdfivesum{<abc>} or \pdfmdfivesum file {<file>} calculates the md5 + sum (of a string or a file) and converts it to uppercase hexadecimal format + (same as \pdfescapehex). + - \pdffiledump [offset <int>] [length <int>] <general text> + Expands to a hex dump of the file given in <general text>, starting at + given offset or 0 with given length. + - \pdfshellescape is a read-only integer that is 1 if \write18 is enabled, 0 + otherwise. + - \pdfxformname <object number>, which expands to the number in the + corresponding form XObject name. + - \leftmarginkern <box number> and \rightmarginkern <box number> tell the + margin kern at the left and right side of the horizontal list stored in box + <box number>. + - \pdfpkmode is a token register that sets the MF mode for pixel font + generation. The contents of this register is dumped into the format, so one + can (optionally) preset it e.g. in part of pdftexconfig.tex. + - \pdftracingfonts: An integer variable controlling the tracing of font + expansion. It is zero by default; then we get a log (with fontexpansion) + like this + ...\tenrm t + ...\tenrm (+20) e + Without font expansion, this default should be compatible with TeX's + original log output. + If \pdftracingfonts is set to 1 (or greater), we get a more verbose log: + ...\xivtt (cmtt10@14.0pt) t + ...\xivtt (cmtt10+20@14.0pt) e + See also bug 304. +- New experimental primitives: + - \pdfmatch [icase] [subcount <number>}] {<pattern>}{<string>} + Implements pattern matching using the POSIX regex. + It returns the same values as \pdfstrcmp, but with the following semantics: + -1: error case (invalid pattern, ...) + 0: no match + 1: match found + Options: + * icase: case insensitive matching + * subcount: it sets the table size for found subpatterns. + A number "-1" resets the table size to the start default. + - \pdflastmatch <number> + The result of \pdfmatch is stored in an array. The entry "0" contains the + match, the following entries submatches. The positions of the matches are + also available. They are encoded: + <position> "->" <match string> + The position "-1" with an empty string indicates that this entry is not + set. + - \pdfstrcmp{<a>}{<b>} compares two strings and returns the strings "0" if + <a> equals <b>, "-1" if <a> is less than <b>, "1" if <a> is greater than + <b> +- The primitive \pdfmovechars has been removed (bug 294) +- Bugfixes: + - empty strings are not supressed anymore (bug 335) + - \unhboxing and character protusion didn't work well together (bug 292) + - --jobname didn't work if there was no filename at all (bug 302) + - Some problem with fonts on solaris (bug 315) + - Dangling font objects with non-replacable fonts (bug 311). + - \pdfxform didn't work with box>255 (bug 310) + - cmap: unicode ???? is mapped to multiple glyphs (bug 306). +- pdfTeX uses zlib 1.2.3 + +------------------------------------------------ +pdfTeX 3.141592-1.21a was released on 2005-02-04 +- ttf2afm 1.0: + - added support for refering to glyphs via unicode in encoding files (ie 'uniXXX') + - added some more info to the AFM output + - some minor bug fixes + - a short documentation available +- pdftex now understand forms 'uniXXXX' in encoding files (only makes sense + with TrueType fonts) +- added subset tag for TrueType fonts +- PDF strings are now printed as following: + (This is a string) -> (This is a string) + This is a string -> (This is a string) + <a1b245c1a2...> -> <a1b245c1a2...> +- check for double newline char to get rid of empty lines in PDF output +- Fixed a bug in the scanning of map lines introduced in the fix of bug #242 in + 1.20b. +- Fixed three problems in xpdf; xpdf is now 3.00pl3 +- \ifeof18 is a simple method to test if \write18 is enabled. +- a few extensions in pdfxtex: + - \pdflastximagecolordepth returns the last color depth + - \pdfximage supports a keyword "colorspace" following an object number + representing a ColorSpace object + - \pdfstrcmp compares two strings + - \pdfescapestring/\pdflastescapedstring provide a way to escape string + - \pdffirstlineheight/\pdflastlinedepth/\pdfeachlineheight/\pdfeachlinedepth + allow fixing line dimen + - patches from Taco + - px dimen unit + - tagcode patch + - quitvmode patch + +------------------------------------------------ +pdfTeX 3.141592-1.20b was released on 2004-12-22 +- Fixed some minor bugs, mostly with hz +- The info line "output format initialized to PDF/DVI" isn't shown anymore, as + this info wasn't reliable (bug 112). +- Now the PDF-related statistics (PDF objects...) in the .log file is only + shown in PDF output mode. It start with a line "PDF statistics:". +- \pdfimageresolution is not limited to 2400 [dpi] anymore, can now be between + 0 and 65535 [dpi]. +- pdfTeX uses xpdf 3.00pl2 +- pdfTeX uses libpng 1.2.8, which fixes some png-related bugs. + +------------------------------------------------ +pdfTeX 3.141592-1.20a was released on 2004-09-06 +- There is a new program pdfxtex, which contains experimental features which + might end up in pdftex in the future. +- Most distributions now use eTeX as the default engine, so when you call + pdftex you will get pdfeTeX. Most distributions now also use pdfTeX as the + default engine, so when you call latex you will get pdfeTeX running LaTeX.:-) +- We are setting up pdfTeX as a project at sarovar + (http://sarovar.org/projects/pdftex/). Please report bugs etc. through the + site. +- Support for the file pdftex.cfg is gone completely. All parameters that had + previously been set by it can be set through primitives; their values are + dumped to the format file. +- The searchpath for encoding and mapfiles has been changed. + See http://tug.org/pipermail/tex-live/2004-January/004734.html and + http://tug.org/pipermail/tex-live/2004-January/004791.html +- eTeX is now version 2.2, incorporating the last changes to TeX (3.141592). +- New options for \pdfmapfile: + General functionality: Map items (map files, new: also single map lines; see + \pdfmapline) are put in list of pending map items. During the next shipout, + pending map items are sequentially scanned for their map entries, and an + internal map entry database is updated, using the modes below. Then the list + of pending map items is cleared. Map entries of fonts already in use are left + untouched. New: All \pdfmapfile and \pdfmapline commands can also be given + after shipout of the first page. + - \pdfmapfile {foo.map} clears the list of pending map items and starts a new + list with the only pending file foo.map. When the map entry lines of + foo.map are scanned, duplicate map entries are ignored and a warning is + issued. This is the old behaviour. + - \pdfmapfile {+foo.map} puts foo.map in the list of pending map items. When + the map entry lines of foo.map are scanned, duplicate map entries are + ignored and a warning is issued. + - \pdfmapfile {=foo.map} puts foo.map in the list of pending map items. When + foo.map is scanned, matching map entries in database are replaced by new + entries from foo.map. + - \pdfmapfile {-foo.map} puts foo.map in the list of pending map items. When + foo.map is scanned, matching map entries are deleted from database. + - \pdfmapfile {} clears the list of pending map items. It does not affect map + entries already registered into the database. This is the old behaviour. +- New command \pdfmapline {line}. It's like \pdfmapfile but here you can set + single map lines like in the map files directly. The modifiers (+-=) have the + same effect as with \pdfmapfile. +- Simplified the handling of the 14 Type 1 "standard fonts" (Times, + Helvetica...): They are now more or less handled like any other Type 1 font. + See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000648.html +- hz: So far the font expansion feature required that the user must be able to + create expanded tfms (eg cmr10+10.tfm). Now font expansion can be used + without creating these tfms. + See http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html +- hz: Changed \pdffontexpand primitive --> the expand factor is now fixed to + 1000 and the argument is ignored. This will lead to spurious texts of "1000" + in your output if you compile old documents. +- New command \pdftexbanner which returns a string with the full banner of the + current binary (e.g. "This is pdfTeX, Version 3.141592-1.20a (Web2C 7.5.3) + kpathsea version 3.5.3") +- The PTEX.FullBanner key is now inserted in the document info dict instead of + the catalog. Newer versions of Acrobat display it. +- Now includes support for encTeX. +- Extended \pdfannot to use reserveobjnum/useobjnum + See http://www.ntg.nl/pipermail/ntg-pdftex/2004-March/000424.html +- Bugfix: pdfTeX would read an .xpdfrc when including pdfs. + See http://tug.org/pipermail/pdftex/2004-March/004835.html +- Bugfix: The strings in /ID would sometimes be empty. +- Bugfix: Even when mapfiles or encodings or PostScript font files were + missing, pdfTeX still produced a (most often corrupt) pdf. Now it aborts with + an error in these cases. +- numerous small bugfixes. +- pdfTeX now uses the GNU libavl from Ben Pfaff for managing of fontmap + entries. +- pdfTeX uses zlib 1.2.1 +- pdfTeX uses xpdf 3.00 +- pdfTeX uses libpng 1.2.7 + +------------------------------------------------ +pdfTeX 3.141592-1.11b was released on 2003-10-06 +- Bugfix: The handling of /Rotate produced displaced images when /Rotate was 90 + or 270. + +------------------------------------------------ +pdfTeX 3.141592-1.11a was released on 2003-08-02 +- New command \pdftrailer analogue to \pdfcatalog whose argument ends up in the + trailer dictionary. +- The behaviour when an included pdf has a newer version than the one specified + with \pdfoptionpdfminorversion can be controlled by the new internal integer + \pdfoptionpdfinclusionerrorlevel: If it's 0, pdfTeX gives only a warning; if + it's 1, it raises an error. + This can also be set in pdftex.cfg with pdf_inclusion_errorlevel +- The syntax for outlines has been extended to allow attributes: + <outline spec> --> <attr spec> <action spec> [count <number>] <general text> + See http://www.ntg.nl/pipermail/ntg-pdftex/2003-June/000165.html +- The syntax of \pdfobj has been extended: + \pdfobj <object type spec> (h, v, m) + <object type spec> --> reserveobjnum + | [useobjnum <number>] [<attr spec>] [stream [<attr spec>]] <object contents> + <object contents> --> <file spec> + | <general text> + When the optional keyword `reserveobjnum' and `useobjnum' is not given, the + behaviour is unchanged. + See also http://tug.org/mailman/htdig/pdftex/2003-March/003814.html +- Bugfix: /CreationDate didn't care for the timezone and could be fooled. + See http://www.ntg.nl/pipermail/ntg-pdftex/2003-July/000223.html +- Bugfix: The translation of 8-bit characters in included pdfs that had their + eighth bit set sometimes got wrong because of a missing typecast. + See http://www.ntg.nl/pipermail/ntg-pdftex/2003-July/000216.html +- Bugfix: pdfTeX -ini would crash with a minimal file because it didn't read + it's config and so didn't know anything about fonts. + See http://tug.org/pipermail/pdftex/2003-July/004262.html +- Bugfix: \pdfstartlink would produce spurious /NewWindow entries. Also the + syntax of <action spec> and <goto-action spec> has been cleaned up. + See http://www.ntg.nl/pipermail/ntg-pdftex/2003-June/000167.html +- Bugfix: \pdffontattr was not used for T3 fonts. + See http://tug.org/pipermail/pdftex/2003-June/004127.html +- Bugfix: The cropbox of an included pdf would sometimes not be used. + See http://tug.org/pipermail/pdftex/2003-May/004037.html +- pdfTeX uses xpdf 2.02 + +------------------------------------------------ +pdfTeX 3.141592-1.10b was released on 2003-02-26 +- The numbers in transformation matrices are allways written with maximum + precision (see http://tug.org/pipermail/pdftex/2003-February/003596.html). +- Incorporated the new version of TeX: 3.141592 +- Bugfix: Numbers in pdfs would sometimes be just a wee bit of (changed + implementation of pdftoepdf.convertNumToPDF). +- Bugfix: When setting the /Producer, /Creator or /CreationDate keys with + \pdfinfo pdfTeX would also insert default values which caused duplicate keys + in the info dict (see + http://tug.org/pipermail/pdftex/2003-February/003524.html). +- The reading of mapfiles is much faster (see + http://tug.org/pipermail/pdftex/2002-July/002843.html). +- Bugfix: AR5 had problems with the CTM when displaying in "fit visible" mode + (see http://tug.org/pipermail/pdftex/2002-May/002688.html). +- Bugfix: str_in_str had wrong indices (see + http://tug.org/pipermail/pdftex/2002-March/002367.html). +- Bugfix: decimal_digits defaulted to 0, which caused problems with included + images when including pdfs (see + http://tug.org/pipermail/pdftex/2003-February/003518.html). + It now defaults to 4. +- Bugfix: the type of included images was decided based only on the extensions; + now pdfTeX looks for magic bytes at the start of files (see + http://tug.org/pipermail/pdftex/2003-February/003519.html) + +----------------------------------------------- +pdfTeX 3.14159-1.10a was released on 2003-01-16 +- pdfTeX is now able to produce pdf1.4 (which is also the default) and has + almost complete support for including pdf1.4 files: + - Additional attributes like MetaData are copied from included pdfs. + - Currently the Page Group attribute (see sections 7.3.6 and 7.5.5 of the pdf + 1.4 reference) of included pdfs is NOT copied (as we don't know how to + handle this when imposing pdfs). + This means including pdfs with transparency features will work as long as + the included pdf doesn't use Page Groups; if it does, the result might not + be what is expected (One application known to use Page Groups is Adobe + Illustrator v9++). The distributed pdfTeX binaries will give a warning + about any occurance of a Page Group in an included pdf and ignore the Page + Group (thus producing syntactically correct pdfs but probably not the + intended output). + Acrobat 5++ and newer versions of Jaws display files without Page Groups + correctly, so this might not really be a problem. + See pdftoepdf.cc for preprocessor flags which allow this behaviour to be + changed (copying the Page Group (most likely producing incorrect pdf) or + treating Page Groups as errors). +- The new primitive \pdfoptionpdfminorversion sets the pdf version of the + generated file and the latest allowed pdf version of included pdfs: + \pdfoptionpdfminorversion=3 + tells pdfTeX to set the pdf version to 1.3 and allows only included pdfs with + versions <= 1.3 . + The default for \pdfoptionpdfminorversion is 4 for pdf 1.4 + This must appear before any data is written to the generated pdf file, so + you should put it at the very start of your files. + This can also be set in pdftex.cfg with pdf_minorversion +- It is now possible to specify the pdf page box to use when including pdfs. + The syntax has been extended: + \pdfximage [<image attr spec>] <general text> (h, v, m) + <image attr spec> --> [<rule spec>] [<attr spec>] [<page spec>] [<pdf box spec>] + <pdf box spec> --> mediabox|cropbox|bleedbox|trimbox|artbox + The default is cropbox (which defaults to mediabox), to be compatible with + previous versions of pdfTeX. + The page box specified at \pdfximage can be globally overridden with the + config parameter always_use_pdfpagebox and the command + \pdfoptionalwaysusepdfpagebox <integer>, where 0 is the default (use whatever + is specified with \pdfximage), 1 is media, 2 is crop, 3 is bleed, 4 is trim + and 5 is artbox. This can only be set once per object, i.e. the value used at + \pdfximage is remembered. + See the pdf reference for an explanation of the boxes. +- The support for the inclusion of jpeg images has been extended to allow the + inclusion of JPEG/Exif files which are produced by digital photo cameras + (thanks to Hartmut Henkel). +- The support for the inclusion of tif images has been removed as it was of + limited use (it worked only for gray-scale and rgb images) and produced wrong + results (all other images types where treated as rgb images). + Tif images can be converted on *nix on-the-fly to pngs with the help of + ImageMagick, epstopdf.sty or pdftex.def v0.4 or newer, and this rule: + \DeclareGraphicsRule{.tif}{png}{.png}{`convert #1 `basename #1 .tif`.png} +- The extensions for pdf encryption have been removed, since they make the + pdfTeX code overly complex. Those needing pdf encryption are encouraged to + produce a standalone program for encrypting pdfs. +- pdfTeX now writes a usage statistic about the pdfTeX specific memory to the + log. +- numerous bugfixes, most of them in the inclusion of pdfs. +- pdfTeX uses xpdf 2.01 +- pdfTeX uses libpng 1.2.5 + +--------------------------------------------------------------------- +pdfTeX 3.14159-1.00a-pretest-20011127-ojmw was released on 2002-01-29 + +---------------------------------------------------------------- +pdfTeX 3.14159-1.00a-pretest-20010806 was released on 2001-08-06 + +---------------------------------------------------------------- +pdfTeX 3.14159-1.00a-pretest-20010804 was released on 2001-08-04 + +(This file public domain.) +// vim: tw=79:ts=2:expandtab:autoindent diff --git a/systems/doc/pdftex/README b/systems/doc/pdftex/README new file mode 100644 index 0000000000..785ab5b459 --- /dev/null +++ b/systems/doc/pdftex/README @@ -0,0 +1,60 @@ +pdfTeX is an extended version of eTeX that can create PDF directly from +TeX source files and enhance the result of TeX typesetting with the help +of PDF. When PDF output is not selected, pdfTeX produces normal DVI +output, otherwise it produces PDF output that looks essentially +identical to the DVI output + +An important aspect of this project was to investigate alternative +justification algorithms, resulting in the "microtypography" features of +margin kerning and font expansion. This was inspired by Peter Karow's +and Hermann Zapf's work. + +pdfTeX is integrated with the original e-TeX sources and Web2c. It is +actively maintained, but stability is paramount now; only bug fixes and +small enhancements are expected. Releases are made through TeX Live. + +See the file NEWS for changes to the program. +Documentation about pdfTeX can be found at http://www.pdftex.org. +Mailing lists: +http://lists.tug.org/pdftex - help requests, general user discussion +http://www.ntg.nl/mailman/listinfo/ntg-pdftex - bug reports, development + + +LEGAL ISSUES +============ + +pdfTeX is free software; you can redistribute it and/or modify it under the +terms of the GNU General Public License as published by the Free Software +Foundation; either version 2 of the License, or (at your option) any later +version. + +pdfTeX is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +details. + +You should have received a copy of the GNU General Public License along +with this program. If not, see <http://www.gnu.org/licenses/>. + +pdfTeX uses code from TeX; for these parts the original copyright by Don +Knuth applies. See the source files for details. + +pdfeTeX uses code from eTeX; for these parts the original copyright by +Peter Breitenlohner applies. See the source files for details. + +CONTRIBUTORS +============ + +Karl Berry, Peter Breitenlohner, Ricardo Sanchez Carmenes, Otfried +Cheong, Thomas Esser, Hans Hagen, Hartmut Henkel, Taco Hoekwater, Pawel +Jackowski, Pavel Janik, Tom Kacvinsky, Akira Kakuto, Reinhard Kotucha, +Derek B. Noonburg, Heiko Oberdiek, Jiri Osoba, Fabrice Popineau, +Sebastian Rahtz, Bernd Raichle, Tomas Rokicki, Leonard Rosenthol, Martin +Schröder, Petr Sojka, Ralf Utermann, Olaf Weber, Jiri Zlatuska. + +Some companies have supported the developement of pdfTeX: Adobe Systems +Inc., ArtCom GmbH, Pragma ADE, QuinScape GmbH. + +pdfTeX is built on top of TeX, written by Donald Knuth cum suis (Frank +Liang et al.), and e-TeX, written by Peter Breitenlohner cum suis; +the advanced paragraph optimization is inspired by the work of Hermann Zapf. diff --git a/systems/doc/pdftex/manual/ChangeLog b/systems/doc/pdftex/manual/ChangeLog new file mode 100644 index 0000000000..3c90f87a7d --- /dev/null +++ b/systems/doc/pdftex/manual/ChangeLog @@ -0,0 +1,254 @@ +2018-01-01 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex (encodingfile): supported for Type 3 fonts. + +2017-12-14 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex (\pdfinfo): describe [+-]HH'mm' time zone + specification as well as Z. + +2017-11-28 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex (\pdfprimitive): clarify further. + +2017-11-14 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex (\pdftrailerid): absolute file name is no longer + used in the /ID seed, just the base name, for reproducibility. + (\pdfprimitive): clarify. + +2017-04-20 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex (\currentpdftex): 1.40.18 (for TeX Live 2017). + + * pdftex-t.tex (Map files): omit description of tfm-only map + entries (and pgc), since the behavior might change. Use "psname" + instead of "basename" for possible clarity. Various other rewordings. + + *pdftex-t.tex (--version, --pdf): do not erroneously output a tt + ligature. + +2017-03-18 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex: starting from -> starting with + * pdftex-t.tex: starting from -> starting with. + +2017-03-17 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex (\efcode, \rpcode, \lpcode, \knbscode, \knstcode, + \knshcode, \knbccode, \knaccode): state that changes to these + tables are global, not affected by TeX's grouping, and only to the + particular <font> specified. Report from Doug McKenna. + +2017-03-16 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex: behavior, not behaviour, for consistency with + seemingly all else (color, math, etc.). + + * pdftex-t.tex: behavior, not behaviour. Nothing else here is UK.Eng. + + * pdftex-t.tex (Map files) <encodingfile>: can be specified for + bitmap PK fonts now also. + + * pdftex-t.tex (\tagcode): use <8-bit number> like everything else, + rather than <character code>. Report from Doug McKenna. + +2017-02-18 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex (\pdfpageattr): document new behavior of + omitting our /MediaBox if "/MediaBox" is present in this token list. + +2017-02-01 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex (Map files): clarify that decimal 4 = bit position 3 + = symbolic, for embedded fonts, and specify the 0x22 default for + non-embedded fonts. + Report from Gernot Hassenpflug to pdftex, 1 Dec 2016 14:01:30. + +2016-07-05 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex (\pdfcatalog): show "openaction <action spec>" + after the <general text>, instead of creating an <open-action spec>, + for (hopefully) more clarity. + (open-action spec): remove \Syntax item. + Report from Douglas McKenna to pdftex list, 3 Jul 2016 12:46:59. + + (\pdftrailer, \pdftrailerid): give simple examples. + +2016-06-12 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex (\pdfmatch): mention default subcount 10; wording. + (\pdflastmatch): clarify match position, wording; + + * pdftex-t.tex (Invoking \PDFTEX): new name FORCE_SOURCE_DATE for + SOURCE_DATE_EPOCH_TEX_PRIMITIVES. + +2016-05-20 Karl Berry <karl@tug.org> + + * TeX Live 2016 release. + +2016-05-05 Karl Berry <karl@tug.org> + + * pdftex-t.tex: missed \ + +2016-05-04 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex (Invoking \PDFTEX): describe + SOURCE_DATE_EPOCH_TEX_PRIMITIVES, with caveats. + +2016-04-25 Karl Berry <karl@freefriends.org> + + * samplepdf: move subdir up a level for more visibility. + * pdftex-t.tex: adjust doc. + + * pdftex-t.tex: reduce long lines, reduce spaces after markup. + (\pdftex-syntax.tex): \input this autogenerated file, + instead of having redundant (and out of date) text. + (\Modelist): new macro for the (h,v,m) listings, + so we can autogenerate complete primitive/syntax info. + (\pdfpageresources): document this, previously missing. + + * syntaxform.pl: new script to generate pdftex-syntax.tex. + * syntaxform.awk: handle \Modelist, discard \unkern. + * Makefile (default): build only what we distribute in TL. + (all): build everything else. + (pdftex-syntax.tex): new rule using syntaxform.pl; related changes. + * README: bring up to date, avoid redundancies. + +2016-04-25 Karl Berry <karl@freefriends.org> + + * pdftex-w.txt: rename from pdftex-t.txt. + * pdftex-t.tex: change \typefile call. + * Makefile: change calls and dependencies. + + * pdftex-t.tex: use \type{-}\type{-help}, etc., to work + with both older and newer ConTeXt. + + * Makefile (pdftex_binary): use "pdftex" if no binary + in the build path. + +2016-04-23 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex: Update for 1.40.17 (TeX Live 2016). + (Invoking \PDFTEX): new section, with description of + new support for envvar SOURCE_DATE_EPOCH. + New primitives: \pdfinfoomitdate \pdftrailerid \pdfsuppressptexinfo. + +2015-03-25 Karl Berry <karl@gnu.org> + + * pdftex-t.tex (\currentpdftex): 1.40.16. (TeX Live 2015.) + +2014-12-12 Karl Berry <karl@gnu.org> + + * pdftex-t.tex (\pdfinclusionerrorlevel): if negative, no diagnostic. + +2014-10-18 Karl Berry <karl@gnu.org> + + * pdftex-t.tex (\pdfminorversion): better explain the compiled + default (4) vs. the typical format default (5). Report from Heiko + on ntg-pdftex, 20 Sep 2014 23:51:01. + +2014-04-23 Karl Berry <karl@gnu.org> + + * pdftex-t.tex (\currentpdftex): 1.40.15. (Update TeX Live.) + +2014-04-04 Karl Berry <karl@gnu.org> + + * pdftex-t.tex (\pdfinterwordspace...): mention dummy-space font. + +2014-03-23 Han The Thanh <hanthethanh@gmail.com> + + * pdftex-t.tex (\pdfinterwordspace...): add new sections. + +2014-03-23 Karl Berry <karl@gnu.org> + + * pdftex-t.tex (\pdfgentounicode, \pdfglyphtounicode): be a bit + less terse; mention failure of ligatures to be searchable by default. + (glyphtounicode.tex): \input this at the end, why not. + +2014-02-23 Karl Berry <karl@gnu.org> + + * pdftex-t.tex: small changes to the build process, copyright + year, no pool file any more, etc. + + * pdftex-t.tex (\pdfnobuiltintounicode): belated doc. + +2014-02-14 Karl Berry <karl@gnu.org> + + * pdftex-t.tex (\pdfsuppresswarningpagegroup): doc. + +2012-04-15 Karl Berry <karl@gnu.org> + + * pdftex-t.tex: update copyright and other years. + (\currentpdftex): bump to 1.40.13 (missed this last year). + (\PDFReference): italics looks nicer, I think. + (Setting up fonts): description is written better to start on same + line as item name. Also avoids bad page break after item name. + (\pdfsuppresswarningdupdest, \pdfsuppresswarningdupmap): doc. + + * Makefile (pdftexversion): get from \currentpdftex (also missed). + + * pdftex-w.tex: use flags (2=serif) to avoid warnings. + +2011-04-01 Karl Berry <karl@gnu.org> + + * pdftex-t.tex: Explain \pdfnormaldeviate a bit more fully. + Tweak wording of nearby entries. + +2010-11-22 Karl Berry <karl@gnu.org> + + * Makefile (distall): use $(distnopdf) instead of duplicating file + list. + + * pdftex-t.tex: Fix \pdfobj example, PDF reference url, + MacTeX much more current than CMacTeX, etc. + From Paul I. + + * pdftex-t.tex: avoid text lines >=80 chars. + No need for ~ after a and an in English. + * pdftex-w.tex: make consistent with pdftex-t.tex. + +2010-11-22 Paul Isambert <zappathustra@free.fr> + + * pdftex-t.tex: fixes for \Something instead of \type + +2010-11-19 Karl Berry <karl@gnu.org> + + * pdftex-t.tex: use \tex{foo} instead of \type{\foo} for bookmarks, + so we get the \'s. + Remove section about truetype details that became a TUB paper, + to avoid duplication. + + * pdftex-w.tex (\pdfobjcompresslevel): must set to 0 explicitly. + Noticed by Paul I. + * pdftex-t.tex (titlepagelines): consequent update. + + * pdftex-t.tex: alphabetize misc new primitives list; typos. + +2010-11-18 Karl Berry <karl@gnu.org> + + * pdftex-t.tex (\pdfretval): minimally document. + +2010-11-16 Karl Berry <karl@gnu.org> + + * pdftex-t.tex: a couple more abbreviations, English, etc. + +2010-11-15 Paul Isambert <zappathustra@free.fr> + + * pdftex-t.tex: more primitives. + +2010-11-14 Karl Berry <karl@gnu.org> + + * All files: expand keywords again, so the manual appears + updated, among other things. + + * Makefile (pdftexversion): 1.40.11 now. + (pdftex-t.txt): set GREP_OPTIONS=--text. + + * pdftex-i.tex: add \pdfmapline for contnav, somehow omitted + from TL for years now. + + * pdftex-t.tex: update intro information about distributions, + etc., to be somewhat more accurate. + +(This ChangeLog file is public domain.) diff --git a/systems/doc/pdftex/manual/Makefile b/systems/doc/pdftex/manual/Makefile new file mode 100644 index 0000000000..d6589ac1c0 --- /dev/null +++ b/systems/doc/pdftex/manual/Makefile @@ -0,0 +1,140 @@ +# $Id: Makefile 767 2017-02-18 23:49:54Z karl $ +# Makefile for pdfTeX documentation. Public domain. + +# Get version we're documenting from the \def in the manual. +pdftexversion=`sed -n 's,^.def.currentpdftex{\(.*\)},\1,p' manual/pdftex-t.tex` + +context = texexec --batchmode +# context does not have \setupoutput. +# texmfstart exits immediately. + +# what we distribute in TeX Live. +default: pdftex-a.pdf pdftex-syntax.txt + +# the other formats (everything that can be built). +all: pdftex-l.pdf pdftex-s.pdf booklet + +common_deps = pdftex-t.tex pdftex-w.txt pdftex-help.txt pdftex-syntax.tex +pdftex-a.pdf a: $(common_deps) + $(context) --mode=a4 --result=$@ $< + +pdftex-l.pdf l: $(common_deps) + $(context) --mode=letter --result=$@ $< + +pdftex-s.pdf s: $(common_deps) pdftex-i.tex + $(context) --mode=screen --result=$@ $< + + +# booklet version is not made by default. +booklet: pdftex-b.pdf pdftex-b-e.pdf pdftex-b-o.pdf + +pdftex-b.pdf b: pdftex-a.pdf + $(context) --pdfarrange --paper=a5a4 --print=up --addempty=1,2 \ + --result=$@ $< + +pdftex-b-e.pdf: pdftex-a.pdf + $(context) --pdfarrange --paper=a5a4 --print=up --addempty=1,2 \ + --pages=even --result=$@ $< + +pdftex-b-o.pdf: pdftex-a.pdf + $(context) --pdfarrange --paper=a5a4 --print=up --addempty=1,2 \ + --pages=odd --result=$@ $< + + +# Creating the subsidiary/dependent files. + +# TeXable text for the title page. +pdftex-w.txt: pdftex-w.pdf + cat $< \ + | expand \ + | fmt -s -w36 \ + | grep --text . \ + | expand >$@ || rm -f $@ + wc -l pdftex-w.txt # set titlepagelines=half of this + +# PDF for the title page. +pdftex-w.pdf: pdftex-w.tex + pdftex $< + + +# Too annoying to remake help text every time; check by hand when needed. +pdftex-help.txt: force + $(pdftex_binary) --help >$@ || rm -f $@ +force: + +# if we don't have a build tree around, just try from the path. +build_binary := ../../source/build-pdftex/texk/web2c/pdftex +ifneq "$(realpath $(build_binary))" "" +pdftex_binary := $(build_binary) +else +pdftex_binary := pdftex +endif + +# Primitives and syntax, in TeX for the printed manual, and then in +# plain text for human convenience. +pdftex-syntax.tex: pdftex-t.tex syntaxform.pl + perl syntaxform.pl pdftex-t.tex >pdftex-syntax.tex || rm -f $@ + +pdftex-syntax.txt: pdftex-t.tex pdftex-syntax.tex syntaxform.awk + gawk -f syntaxform.awk pdftex-syntax.tex $< >$@ || rm -f $@ + + +# Install from this source directory to TL. + +tltree = /home/texlive/karl/Master/texmf-dist +dest = $(tltree)/doc/pdftex/manual + +INSTALL_DATA = cp -p + +install: default + $(INSTALL_DATA) ChangeLog Makefile README makefiles.cmd $(dest) + $(INSTALL_DATA) pdftex-a.pdf pdftex-syntax.txt $(dest) + $(INSTALL_DATA) pdftex-t.tex pdftex-w.tex pdftex-i.tex $(dest) + $(INSTALL_DATA) syntaxform.awk syntaxform.pl $(dest) + + +# Dist and clean. +# tar/zip including pdftex-a.pdf, pdftex-l.pdf, pdftex-s.pdf, +# although we don't ever make such distributions any more. + +distall=$(distnopdf) pdftex-a.pdf pdftex-l.pdf pdftex-s.pdf + +mandir=manual +distdate=`date +%y%m%d` +distrev=`awk '/Id:/{print $$4; exit}' $(mandir)/pdftex-t.tex` + +distnopdf=pdftex-w.tex pdftex-w.txt pdftex-t.tex \ + pdftex-i.tex syntaxform.awk Makefile makefiles.cmd \ + pdftex-syntax.txt pdftex-help.txt README ChangeLog + +alltar: $(distall) + cd .. && tar cvjf $(mandir)/pdftex-$(pdftexversion)-userman-$(distrev).tar.bz2 \ + $(patsubst %, $(mandir)/%, $(distall)) + +allzip: $(distall) + cd .. && zip $(mandir)/pdftex-$(pdftexversion)-userman-$(distrev).zip \ + $(patsubst %, $(mandir)/%, $(distall)) + + +# tar/zip without PDF files: + +tar: $(distnopdf) + cd .. && tar cvjf $(mandir)/pdftex-$(pdftexversion)-userman-$(distrev)-src.tar.bz2 \ + $(patsubst %, $(mandir)/%, $(distnopdf)) + ls -l *.tar.bz2 + +zip: $(distnopdf) + cd .. && zip $(mandir)/pdftex-$(pdftexversion)-userman-$(distrev)-src.zip \ + $(patsubst %, $(mandir)/%, $(distnopdf)) + + +clean: + rm -f *.log *.tuo *.tui *.top *.tmp *-mpgraph.mp + +maintainer-clean: clean + rm -f pdftex-a.pdf pdftex-l.pdf pdftex-s.pdf + rm -f pdftex-b.pdf pdftex-b-e.pdf pdftex-b-o.pdf + rm -f pdftex-help.txt pdftex-syntax.txt pdftex-syntax.tex + rm -f pdftex-w.pdf pdftex-w.txt + +clobber allclean realclean distclean: maintainer-clean diff --git a/systems/doc/pdftex/manual/README b/systems/doc/pdftex/manual/README new file mode 100644 index 0000000000..be29ce125f --- /dev/null +++ b/systems/doc/pdftex/manual/README @@ -0,0 +1,29 @@ +$Id: README 742 2016-04-25 17:30:55Z karl $ + +(This README file public domain.) + +Documentation files for pdfTeX: + +pdftex-a.pdf A4 paper size +pdftex-l.pdf letter paper size +pdftex-s.pdf screen format +pdftex-b.pdf A5 booklet made from pdftex-a.pdf +pdftex-b-e.pdf A5 booklet, even pages +pdftex-b-o.pdf A5 booklet, odd pages + +pdftex-t.tex source for manual (ConTeXt) +pdftex-w.tex source for title page (plain) +pdftex-i.tex settings for screen output (ConTeXt) + +pdftex-help.txt output of --help +pdftex-syntax.tex primitives and syntax rules, autogenerated from manual +pdftex-syntax.txt autogenerated from .tex + +syntaxform.pl script for making pdftex-syntax.tex +syntaxform.awk script for making pdftex-syntax.txt + +The Makefile has the rules for building everything. +For Windows, see makefiles.cmd, though it has not been updated in years. + +If working on the manual, make clean removes all the temporary files. +make maintainer-clean removes everything that can be generated. diff --git a/systems/doc/pdftex/manual/makefiles.cmd b/systems/doc/pdftex/manual/makefiles.cmd new file mode 100644 index 0000000000..5bda71136c --- /dev/null +++ b/systems/doc/pdftex/manual/makefiles.cmd @@ -0,0 +1,13 @@ +rem texexec --format=plain pdftex-x +rem copy pdf file to pdftex-y and edit that file +rem texexec --format=plain pdftex-z + +texexec --pdf --result=pdftex-a pdftex-t +texexec --pdf --result=pdftex-b pdftex-a --pdfarrange --print=up --paper=A4A3 --addempty=1,2 + +texexec --pdf --result=pdftex-l pdftex-t --mode=letter +texexec --pdf --result=pdftex-s pdftex-t --mode=screen + +del /q pdftex.zip + +zip pdftex pdftex-a.pdf pdftex-l.pdf pdftex-s.pdf pdftex-t.tex pdftex-i.tex pdftex-t.txt makefiles.cmd diff --git a/systems/doc/pdftex/manual/pdftex-a.pdf b/systems/doc/pdftex/manual/pdftex-a.pdf Binary files differnew file mode 100644 index 0000000000..f29ac5d9a4 --- /dev/null +++ b/systems/doc/pdftex/manual/pdftex-a.pdf diff --git a/systems/doc/pdftex/manual/pdftex-i.tex b/systems/doc/pdftex/manual/pdftex-i.tex new file mode 100644 index 0000000000..28036649bc --- /dev/null +++ b/systems/doc/pdftex/manual/pdftex-i.tex @@ -0,0 +1,136 @@ +%$Id: pdftex-i.tex 635 2010-11-14 19:15:12Z karl $ + +\pdfmapline{+contnav ContextNavigation <contnav.pfb} +\startmode[screen] + +\setuppapersize + [S6][S6] + +\setuplayout + [topspace=20pt, + backspace=40pt, + width=520pt, + height=390pt, + lines=29, + header=0pt, + footer=0pt, + bottomdistance=10pt, + bottom=20pt, + leftmargin=30pt, + leftmargindistance=10pt, + rightmargin=0pt, + rightedge=27.5pt, + rightedgedistance=7.5pt] + +\setupcolors + [state=start] + +\setupbackgrounds + [page] + [background=color, + backgroundcolor=ColorP] + +\setupbackgrounds + [text][text] + [backgroundoffset=2.5pt, + background=color, + backgroundcolor=ColorT] + +\definecolor [ColorT] [s=.85] +\definecolor [ColorP] [r=.3,g=.4,b=.5] +\definecolor [ColorI] [r=.95,g=.95,b=0] + +\setupinteraction + [state=start, + menu=on, + color=ColorP, + contrastcolor=ColorP] + +\setupfootnotedefinition + [location=serried, + width=fit] + +\setuptabulate + [rulecolor=ColorP] + +\setupfootnotes + [rulecolor=ColorP] + +\setupinteractionmenu + [right,bottom] + [state=start, + color=ColorI, + contrastcolor=ColorI, + style=bold, + frame=off] + +\setuplist + [chapter,section] + [pagenumber=off] + +\startinteractionmenu[right] + \bodyfontsize=20pt + \but [firstpage] \rotate[rotation=270]{\symbol[firstpage]} \\ + \but [lastpage] \rotate[rotation=270]{\symbol[lastpage]} \\ \vfill + \but [previouspage] \rotate[rotation=270]{\symbol[previouspage]} \\ + \but [nextpage] \rotate[rotation=270]{\symbol[nextpage]} \\ \vfill + \but [PreviousJump] \rotate[rotation=270]{\symbol[PreviousJump]} \\ + \but [NextJump] \rotate[rotation=270]{\symbol[NextJump]} \\ +\stopinteractionmenu + +\startinteractionmenu[bottom] + \but [contents] content \\ \hfill + \but [paperversion::] The pdf\TeX\ user manual \\ \hfill + \but [CloseDocument] exit \\ +\stopinteractionmenu + +\setuphead + [section,subsection,subsubsection,pdftexprimitive,subject] + [textcolor=ColorP, + numbercolor=ColorT] + +\def\SubSub#1{\mathematics{\color[ColorT]{\blacktriangleright}}} + +\useexternaldocument[paperversion][pdftex-a] + +\coupledocument + [paperversion] + [pdftex-a] + [section,subsection,subsubsection,pdftexprimitive] + [the paper version] + +\setuphead + [section,subsection,subsubsection,pdftexprimitive] + [file=paperversion] + +\stopmode + +\startbuffer[screen] + +\setupbackgrounds [page] [background={color,content}] +\defineoverlay [content] [\overlaybutton{contents}] +\setupinteraction [menu=off] + +\startstandardmakeup + \setupalign[middle] + \startcolor[ColorP] + \definefont[test][TitleFont at 130pt] \test \setupinterlinespace + \strut PDF\kern.1em\TeX + \definefont[test][TitleFont at 60pt] \test \setupinterlinespace + \vfill + users manual + \vfill + \definefont[test][TitleFont at 15pt] \test \setupinterlinespace + \leavevmode + \gotobox{\strut \underbar{H\`an Th\^e Th\`anh}}[url(thanh)]\quad + \gotobox{\strut Sebastian Rahtz}[url(sebastian)]\quad + \gotobox{\strut Hans Hagen}[url(hans)]\quad + \gotobox{\strut Hartmut Henkel}[url(hartmut)] + \vfill + \stopcolor +\stopstandardmakeup + +\setupinteraction [menu=on] +\setupbackgrounds [page] [background=color] + +\stopbuffer diff --git a/systems/doc/pdftex/manual/pdftex-syntax.txt b/systems/doc/pdftex/manual/pdftex-syntax.txt new file mode 100644 index 0000000000..70a1a454d8 --- /dev/null +++ b/systems/doc/pdftex/manual/pdftex-syntax.txt @@ -0,0 +1,220 @@ +%% $Id: syntaxform.pl 742 2016-04-25 17:30:55Z karl $ +%% This is the list of new or extended primitives provided by pdftex. +%% Don't edit this file, as it is now auto-generated from the +%% pdfTeX manual source pdftex-t.tex (and the generated +%% pdftex-syntax.tex) by the script syntaxform.awk. +%% Syntax rule conventions borrowed from `TeXbook naruby' by Petr Olsak. + +%% Integer registers: +\efcode <font> <8-bit number> (integer) +\knaccode <font> <8-bit number> (integer) +\knbccode <font> <8-bit number> (integer) +\knbscode <font> <8-bit number> (integer) +\lpcode <font> <8-bit number> (integer) +\pdfadjustinterwordglue (integer) +\pdfadjustspacing (integer) +\pdfappendkern (integer) +\pdfcompresslevel (integer) +\pdfdecimaldigits (integer) +\pdfdraftmode (integer) +\pdfforcepagebox (integer) +\pdfgamma (integer) +\pdfgentounicode (integer) +\pdfimageapplygamma (integer) +\pdfimagegamma (integer) +\pdfimagehicolor (integer) +\pdfimageresolution (integer) +\pdfinclusioncopyfonts (integer) +\pdfinclusionerrorlevel (integer) +\pdfinfoomitdate (integer) +\pdfminorversion (integer) +\pdfobjcompresslevel (integer) +\pdfoutput (integer) +\pdfpagebox (integer) +\pdfpkresolution (integer) +\pdfprependkern (integer) +\pdfprotrudechars (integer) +\pdfsuppressptexinfo (integer) +\pdfsuppresswarningdupdest (integer) +\pdfsuppresswarningdupmap (integer) +\pdfsuppresswarningpagegroup (integer) +\pdftracingfonts (integer) +\pdfuniqueresname (integer) +\rpcode <font> <8-bit number> (integer) +\shbscode <font> <8-bit number> (integer) +\stbscode <font> <8-bit number> (integer) +\tagcode <font> <8-bit number> (integer) + +%% Read-only integers: +\pdfelapsedtime (read-only integer) +\pdflastannot (read-only integer) +\pdflastlink (read-only integer) +\pdflastobj (read-only integer) +\pdflastxform (read-only integer) +\pdflastximage (read-only integer) +\pdflastximagecolordepth (read-only integer) +\pdflastximagepages (read-only integer) +\pdflastxpos (read-only integer) +\pdflastypos (read-only integer) +\pdfrandomseed (read-only integer) +\pdfretval (read-only integer) +\pdfshellescape (read-only integer) +\pdftexversion (read-only integer) + +%% Dimen registers: +\pdfdestmargin (dimen) +\pdfeachlinedepth (dimen) +\pdfeachlineheight (dimen) +\pdffirstlineheight (dimen) +\pdfhorigin (dimen) +\pdfignoreddimen (dimen) +\pdflastlinedepth (dimen) +\pdflinkmargin (dimen) +\pdfpageheight (dimen) +\pdfpagewidth (dimen) +\pdfpxdimen (dimen) +\pdfthreadmargin (dimen) +\pdfvorigin (dimen) + +%% Token registers: +\pdfpageattr (tokens) +\pdfpageresources (tokens) +\pdfpagesattr (tokens) +\pdfpkmode (tokens) + +%% Expandable commands: +\ifincsname (expandable) +\ifpdfabsdim (expandable) +\ifpdfabsnum (expandable) +\ifpdfprimitive <control sequence> (expandable) +\leftmarginkern <box number> (expandable) +\pdfcolorstackinit [page] [direct] <general text> (expandable) +\pdfcreationdate (expandable) +\pdfescapehex <general text> (expandable) +\pdfescapename <general text> (expandable) +\pdfescapestring <general text> (expandable) +\pdffiledump [offset <number>] [length <number>] <general text> (expandable) +\pdffilemoddate <general text> (expandable) +\pdffilesize <general text> (expandable) +\pdffontname <font> (expandable) +\pdffontobjnum <font> (expandable) +\pdffontsize <font> (expandable) +\pdfincludechars <font> <general text> (expandable) +\pdfinsertht <integer> (expandable) +\pdflastmatch <integer> (expandable) +\pdfmatch [icase] [subcount <integer>] <general text> <general text> (expandable) +\pdfmdfivesum file <general text> (expandable) +\pdfnormaldeviate (expandable) +\pdfpageref <page number> (expandable) +\pdfstrcmp <general text> <general text> (expandable) +\pdftexbanner (expandable) +\pdftexrevision (expandable) +\pdfunescapehex <general text> (expandable) +\pdfuniformdeviate <number> (expandable) +\pdfxformname <object number> (expandable) +\pdfximagebbox <integer> <integer> (expandable) +\rightmarginkern <box number> (expandable) + +%% General commands: +\letterspacefont <control sequence> <font> <integer> +\pdfannot <annot type spec> (h, v, m) +\pdfcatalog <general text> [openaction <action spec>] +\pdfcolorstack <stack number> <stack action> <general text> +\pdfcopyfont <control sequence> <font> +\pdfdest <dest spec> (h, v, m) +\pdfendlink (h, m) +\pdfendthread (v, m) +\pdffakespace +\pdffontattr <font> <general text> +\pdffontexpand <font> <stretch> <shrink> <step> [autoexpand] +\pdfglyphtounicode <general text> <general text> +\pdfinfo <general text> +\pdfinterwordspaceoff +\pdfinterwordspaceon +\pdfliteral [<pdfliteral spec>] <general text> (h, v, m) +\pdfmapfile <map spec> +\pdfmapline <map spec> +\pdfnames <general text> +\pdfnobuiltintounicode <font> +\pdfnoligatures <font> +\pdfobj <object type spec> (h, v, m) +\pdfoutline [<attr spec>] <action spec> [count <integer>] <general text> (h, v, m) +\pdfprimitive <control sequence> +\pdfrefobj <object number> (h, v, m) +\pdfrefxform <object number> (h, v, m) +\pdfrefximage <object number> +\pdfresettimer +\pdfrestore +\pdfsave +\pdfsavepos (h, v, m) +\pdfsetmatrix +\pdfsetrandomseed <number> +\pdfstartlink [<rule spec>] [<attr spec>] <action spec> (h, m) +\pdfthread [<rule spec>] [<attr spec>] <id spec> (h, v, m) +\pdftrailer <general text> +\pdftrailerid <general text> +\pdftstartthread [<rule spec>] [<attr spec>] <id spec> (v, m) +\pdfxform [<attr spec>] [<resources spec>] <box number> (h, v, m) +\pdfximage [<rule spec>] [<attr spec>] [<page spec>] [<colorspace spec>] [<pdf box spec>] <general text> (h, v, m) +\quitvmode +\special {pdf: <text> } +\special {pdf:direct: <text> } +\special {pdf:page: <text> } +\vadjust [<pre spec>] <filler> { <vertical mode material> } (h, m) + +%% Syntax rules: +<general text> --> { <balanced text> } +<attr spec> --> attr <general text> +<resources spec> --> resources <general text> +<rule spec> --> (width | height | depth) <dimen> [<rule spec>] +<object type spec> --> reserveobjnum + | [useobjnum <number>] [stream [<attr spec>]] <object contents> +<annot type spec> --> reserveobjnum + | [useobjnum <number>] [<rule spec>] <general text> +<object contents> --> <file spec> + | <general text> +<xform attr spec> --> [<attr spec>] [<resources spec>] +<image attr spec> --> [<rule spec>] [<attr spec>] [<page spec>] [<colorspace spec>] [<pdf box spec>] +<outline spec> --> [<attr spec>] <action spec> [count <number>] <general text> +<action spec> --> user <user-action spec> + | goto <goto-action spec> + | thread <thread-action spec> +<user-action spec> --> <general text> +<goto-action spec> --> <numid> + | [<file spec>] <nameid> + | [<file spec>] [<page spec>] <general text> + | <file spec> <nameid> <newwindow spec> + | <file spec> [<page spec>] <general text> <newwindow spec> +<thread-action spec> --> [<file spec>] <numid> + | [<file spec>] <nameid> +<colorspace spec> --> colorspace <number> +<pdf box spec> --> mediabox | cropbox | bleedbox | trimbox | artbox +<map spec> --> { [<map modifier>] <balanced text> } +<map modifier> --> + | = | - +<numid> --> num <number> +<nameid> --> name <general text> +<newwindow spec> --> newwindow | nonewwindow +<dest spec> --> <numid> <dest type> + | <nameid> <dest type> +<dest type> --> xyz [zoom <number>] + | fitr <rule spec> + | fitbh + | fitbv + | fitb + | fith + | fitv + | fit +<thread spec> --> [<rule spec>] [<attr spec>] <id spec> +<id spec> --> <numid> | <nameid> +<file spec> --> file <general text> +<page spec> --> page <number> +<expand spec> --> <stretch> <shrink> <step> [autoexpand] +<stretch> --> <number> +<shrink> --> <number> +<step> --> <number> +<pre spec> --> pre +<pdfliteral spec> --> direct | page +<pdfspecial spec> --> { [<pdfspecial id> [<pdfspecial modifier>]] <balanced text> } +<pdfspecial id> --> pdf: | PDF: +<pdfspecial modifier> --> direct: +<stack action> --> set | push | pop | current diff --git a/systems/doc/pdftex/manual/pdftex-t.tex b/systems/doc/pdftex/manual/pdftex-t.tex new file mode 100644 index 0000000000..da2703fe56 --- /dev/null +++ b/systems/doc/pdftex/manual/pdftex-t.tex @@ -0,0 +1,5151 @@ +% interface=english modes=letter,screen output=pdftex +% vim: tw=79 + +% $Id: pdftex-t.tex 790 2018-01-02 00:12:04Z karl $ + +% The number of lines on the title page depends on exactly +% what \PDF\ code is generated. +\setvariables[pdftex][titlepagelines=64] + +\setupoutput + [pdftex] + +%D ConTeXt defaults to 1.5; we want to be maximally compatible (and we don't +%D use any features from 1.4++ anyway, do we?) +\pdfminorversion=3 + +%D First we define ourselves some abbreviations, if only to force +%D consistency and to save typing. We use real small capitals, not pseudo. + +\setupsynonyms + [abbreviation] + [textstyle=smallcaps, + style=smallcaps, + location=left, + width=broad, + sample=\POSTSCRIPT] + +\setupcapitals + [title=no] + +\def\svnscan $#1 #2 #3 #4-#5-#6 #7${ + \def\rcsrevision{#3} + \def\rcsyear{#4} + \def\rcsmonth{#5} + \def\rcsday{{\count0=#6\relax\the\count0}} + \def\rcsmonthname{\ifcase\rcsmonth ERROR\or + January\or February\or March\or April\or May\or June\or July\or + August\or September\or October\or November\or December\else ERROR\fi} +} + +\svnscan $Id: pdftex-t.tex 790 2018-01-02 00:12:04Z karl $ + +\def\currentpdftex{1.40.18} + +%*********************************************************************** + +\def\eTeX{{$\varepsilon$}-\kern-.125em\TeX} +\def\eg{e.g.} +\def\Eg{E.g.} +\def\PDFReference{{\sl PDF Reference}} % PDF with capital letters + +\abbreviation [AFM] {afm} {Adobe Font Metrics} +\abbreviation [BIBTEX] {Bib\TeX} {Handles bibliographies} +\abbreviation [ASCII] {ascii} {American Standard Code for Information Interchange} +\abbreviation [CONTEXT] {\ConTeXt} {general purpose macro package} +\abbreviation [CTAN] {ctan} {global \TEX\ archive server} +\abbreviation [DVI] {dvi} {native \TEX\ Device Independent file format} +\abbreviation [ENCTEX] {enc\TeX} {enc\TeX\ extension to \TEX} +\abbreviation [EPSTOPDF] {epstopdf} {\EPS\ to \PDF\ conversion tool} +\abbreviation [EPS] {eps} {Encapsulated PostScript} +\abbreviation [ETEX] {\eTeX} {an extension to \TEX} +\abbreviation [EXIF] {exif} {Exchangeable Image File format (JPEG file variant)} +\abbreviation [FPTEX] {fp\TeX} {\WIN\ \WEBC\ distribution} +\abbreviation [GHOSTSCRIPT] {Ghostscript} {\PS\ and \PDF\ language interpreter} +\abbreviation [GNU] {gnu} {GNU's Not Unix} +\abbreviation [HZ] {hz} {Hermann Zapf optimization} +\abbreviation [ISO] {iso} {International Organization for Standardization} +\abbreviation [JBIG] {jbig} {Joint Bi-level Image Experts Group} +\abbreviation [JBIGTWO] {jbig2} {Joint Bi-level Image Experts Group} +\abbreviation [JFIF] {jfif} {JPEG File Interchange Format} +\abbreviation [JPEG] {jpeg} {Joint Photographic Experts Group} +\abbreviation [JPEG] {jpeg} {Joint Photographic Experts Group} +\abbreviation [LATEX] {\LaTeX} {general purpose macro package} +\abbreviation [MAC] {Macintosh} {Macintosh hardware platform} +\abbreviation [MACOSX] {Mac\,OS\,X} {Macintosh operating system version 10} +\abbreviation [MACTEX] {Mac\TeX} {\MAC\ \WEBC\ distribution} +\abbreviation [MDFIVE] {md5} {MD5 message-digest algorithm} +\abbreviation [METAFONT] {\MetaFont} {graphic programming environment, bitmap output} +\abbreviation [METAPOST] {\MetaPost} {graphic programming environment, vector output} +\abbreviation [MIKTEX] {MiK\TeX} {\WIN\ distribution} +\abbreviation [MLTEX] {ml\TeX} {ML\TeX\ extension to \TEX} +\abbreviation [MPTOPDF] {mptopdf} {\METAPOST\ to \PDF\ conversion tool} +\abbreviation [MSDOS] {ms-dos} {Microsoft DOS platform (Intel)} +\abbreviation [PDFETEX] {pdfe\TeX} {\ETEX\ extension producing \PDF\ output} +\abbreviation [PDFLATEX] {pdf\LaTeX} {\TEX\ extension producing \PDF\ output (\LATEX\ format loaded)} +\abbreviation [PDFTEX] {pdf\TeX} {\TEX\ extension producing \PDF\ output} +\abbreviation [PDF] {pdf} {Portable Document Format} +\abbreviation [PERL] {Perl} {Perl programming environment} +\abbreviation [PFA] {PFA} {Adobe PostScript Font format (ASCII)} +\abbreviation [PFB] {PFB} {Adobe PostScript Font format (Binary)} +\abbreviation [PK] {pk} {Packed bitmap font} +\abbreviation [PNG] {png} {Portable Network Graphics} +\abbreviation [POSIX] {posix} {Portable Operating System Interface} +\abbreviation [PROTEXT] {pro\TeX t} {\WIN\ \WEBC\ distribution based on \MIKTEX} +\abbreviation [PS] {ps} {PostScript} +\abbreviation [POSTSCRIPT] {PostScript} {PostScript} +\abbreviation [PSTOPDF] {PStoPDF} {PostScript to \PDF\ converter (on top of \GHOSTSCRIPT)} +\abbreviation [RGB] {rgb} {Red Green Blue color specification} +\abbreviation [TCX] {tcx} {\TEX\ Character Translation} +\abbreviation [TDS] {tds} {\TEX\ Directory Standard} +\abbreviation [TETEX] {te\TeX} {\TEX\ distribution for \UNIX\ (based on \WEBC)} +\abbreviation [TEXEXEC] {\TeX exec} {\CONTEXT\ command line interface} +\abbreviation [TEXINFO] {Texinfo} {generate typeset documentation from info pages} +\abbreviation [TEXUTIL] {\TeX util} {\CONTEXT\ utility tool} +\abbreviation [TEX] {\TeX} {typographic language and program} +\abbreviation [TEXLIVE] {\TeX\ Live} {\TeX\ Live distribution (multiple platform)} +\abbreviation [TFM] {tfm} {\TEX\ Font Metrics} +\abbreviation [TIF] {tiff} {Tagged Interchange File format} +\abbreviation [TUG] {tug} {\TEX\ Users Group} +\abbreviation [UNIX] {Unix} {Unix platform} +\abbreviation [URL] {url} {Uniform Resource Locator} +\abbreviation [WEBC] {Web2c} {official multi||platform \WEB\ environment} +\abbreviation [WEB] {web} {literate programming environment} +\abbreviation [WIN] {Windows} {Microsoft Windows platform} +\abbreviation [XEMTEX] {XEm\TeX} {\WIN\ \WEBC\ distribution} +\abbreviation [ZIP] {zip} {compressed file format} + +%D It makes sense to predefine the name of the author of \PDFTEX, doesn't it? + +\def\THANH{H\`an Th\^e\llap{\raise 0.5ex\hbox{\'{}}} Th\`anh} + +%D Because they are subjected to change and tend to spoil the visual +%D appearance of the \TEX\ source, \URL's are defined here. + +\useURL [ptex_org] [http://www.pdftex.org] % links to ptex_examples +\useURL [ptex_ctan] [http://ctan.org/pkg/pdftex] +\useURL [ptex_devel] [http://foundry.supelec.fr/projects/pdftex] + +% where bug reports should go: +\useURL [ptex_bugs] [mailto:pdftex@tug.org] [] [pdftex@tug.org] +\useURL [ptex_listinfo] [http://lists.tug.org/pdftex] + +\useURL [kpathsea] [http://tug.org/kpathsea] +\useURL [texlive] [http://tug.org/texlive] +\useURL [web2c] [http://tug.org/web2c] +\useURL [ctan_systems] [http://mirror.ctan.org/systems] +\useURL [win32] [http://mirror.ctan.org/systems/win32] +\useURL [context] [http://www.pragma-ade.com] +\useURL [tex_showcase] [http://tug.org/texshowcase] + +\useURL [pdfreference] [http://www.adobe.com/devnet/pdf/pdf_reference.html] +\useURL [thanh_truetype_tub] [http://tug.org/TUGboat/tb30-1/tb94thanh.pdf] +\useURL [jbig2enc] [https://github.com/agl/jbig2enc] + +%D The primitive definitions are specified a bit fuzzy using the next set of +%D commands. Some day I'll write some proper macros to deal with this. + +% keep next 2 lines as temporary kludge for a while to make \type{} of +% older ConTeXt versions handle these two new primitives; the original +% problem with \type{} is already solved in ConTeXt as of 2006-02-14. +\let\ifpdfabsnum\relax +\let\ifpdfabsdim\relax + +\def\Syntax #1{\strut\kern-.25em{#1}\kern-.25em} +\def\Next {\crlf\hbox to 2em{}\nobreak} +\def\Sugar #1{\unskip\unskip\unskip\kern.25em{#1}\kern.25em\ignorespaces} +% +\def\Lbrace {\Sugar{\tttf\leftargument}} +\def\Literal #1{\Sugar{\type{#1}}} +\def\Means {\Sugar{\mathematics{\rightarrow}}} +\def\Modelist #1{\Sugar{\mathematics{(\hbox{#1})}}} +\def\Optional #1{\Sugar{\mathematics{[\hbox{#1}]}}} +\def\Or {\Sugar{\mathematics{\vert}}} +\def\Rbrace {\Sugar{\tttf\rightargument}} +\def\Tex #1{\Sugar{\type{#1}}} +\def\Whatever #1{\Sugar{\mathematics{(\hbox{#1})}}} + +% hyphenates +\def\Something#1{\Sugar{\mathematics{\langle}\prewordbreak + {#1}\prewordbreak\mathematics{\rangle}}} + +\hbadness=10000 % don't care + +% Break after these chars in urls, not before. +\sethyphenatedurlafter / +\sethyphenatedurlafter . +\sethyphenatedurlafter _ + +% introduced +\def\introduced#1{The primitive was introduced in \PDFTEX\ #1.} + +% to get bookmarks for primitives like \ifpdfprimitive +\appendtoks\def\tex#1{\string\\#1}\to\simplifiedcommands + +%D We typeset the \URL's in a monospaced font. + +\setupurl + [style=type] + +%D The basic layout is pretty simple. Because we want non european readers to +%D read the whole text as well, a letter size based alternative is offered +%D too. Mode switching is taken care of at the command line when running +%D \TEXEXEC. + +\startmode[letter] + + \setuppapersize + [letter][letter] + +\stopmode + +\setuplayout + [topspace=1.5cm, + backspace=2.5cm, + leftmargin=2.5cm, + width=middle, + footer=1.5cm, + header=1.5cm, + height=middle] + +%D For the moment we use the description mechanism to typeset keywords etc. +%D Well, I should have used capitals. + +\definedescription + [description] + [location=serried, + width=broad] + +\definedescription + [PathDescription] + [location=left, + sample=TEXPSHEADERS, + width=broad, + headstyle=type] + +\definehead + [pdftexprimitive] + [subsubsection] + +\setuphead + [pdftexprimitive] + [style=, + before=\blank, + after=\blank, + numbercommand=\SubSub] + +%D This is typically a document where we want to save pages, +%D so we don't start any matter (part) on a new page. + +\setupsectionblock [frontpart] [page=] +\setupsectionblock [bodypart] [page=] +\setupsectionblock [backpart] [page=] + +%D The \type{\SubSub} command is rather simple and generates a triangle. +%D This makes the primitives stand out a bit more. + +\def\SubSub#1{\mathematics{\blacktriangleright}} + +%D But, for non Lucida users, the next one is more safe: + +\def\SubSub#1{\goforwardcharacter} + +%D I could have said: +%D +%D \starttyping +%D \setupsection[section-5][previousnumber=no,bodypartconversion=empty] +%D \setuplabeltext[subsubsection=\mathematics{\blacktriangleright}] +%D \stoptyping +%D +%D but this is less clear. + +%D We use white space, but not too much. + +\setupwhitespace + [medium] + +\setupblank + [medium] + +%D Verbatim things get a small margin. + +\setuptyping + [margin=standard] + +\definetyping + [esctyping] +\setuptyping + [esctyping] + [margin=standard,option=commands,escape=@] + +%D Due to the lots of verbatim we will be a bit more tolerant in breaking +%D paragraphs into lines. + +\setuptolerance + [verytolerant,stretch] + +%D We put the chapter and section numbers in the margin and use bold fonts. + +\setupheads + [alternative=margin] + +\setuphead + [section] + [style=\bfb] + +\setuphead + [subsection] + [style=\bfa] + +%D The small table of contents is limited to section titles and is fully +%D interactive. + +\setuplist + [section] + [criterium=all, + interaction=all, + width=2em, + aligntitle=yes, + alternative=a] + +%D Ah, this manual is in english! + +\mainlanguage + [en] + +%D We use Palatino fonts, because they look so well on the screen. The +%D version generated at \PRAGMA\ uses Optima Nova instead. Both fonts are +%D designed by Hermann Zapf. + +\setupfonthandling [hz] [min=25,max=25,step=5] + +\setupalign + [hz,hanging] + +\startnotmode[atpragma] + + \setupfontsynonym [Serif] [handling=quality] + \setupfontsynonym [SerifBold] [handling=quality] + \setupfontsynonym [SerifSlanted] [handling=quality] + \setupfontsynonym [SerifItalic] [handling=quality] + \setupfontsynonym [SerifBoldSlanted] [handling=quality] + \setupfontsynonym [SerifBoldItalic] [handling=quality] + + %setupfontsynonym [Mono] [handling=quality] % sloooow + + % We use adobe metrics instead of urw metrics because tetex only + % ships the former. Beware, these metrics differ! + + \loadmapfile[context-base.map] + \usetypescript [adobekb] [\defaultencoding] + \usetypescript [palatino][\defaultencoding] + + \setupbodyfont + [palatino,10pt] + + \definefontsynonym[TitleFont][SerifBold] + +\stopnotmode + +\startmode[atpragma] + + \usetypescriptfile[type-ghz] + + \setupfontsynonym [Sans] [handling=quality] + \setupfontsynonym [SansBold] [handling=quality] + \setupfontsynonym [SansSlanted] [handling=quality] + \setupfontsynonym [SansItalic] [handling=quality] + \setupfontsynonym [SansBoldSlanted] [handling=quality] + \setupfontsynonym [SansBoldItalic] [handling=quality] + + %setupfontsynonym [Mono] [handling=quality] % sloooow + + \definetypeface[optima][ss][sans][optima-nova] [default][encoding=\defaultencoding] + \definetypeface[optima][tt][mono][latin-modern][default][encoding=\defaultencoding,rscale=1.1] + + \setupbodyfont[optima,10pt,ss] + + \definefontsynonym[TitleFont][SansBold] + +\stopmode + +%D This document is mildly interactive. Yes, Thanh's name will end up ok in +%D the document information data. + +\setupinteraction + [state=start, + style=normal, + color=, + page=yes, + openaction=firstpage, + title=pdfTeX users manual, + author={H\`an Th\^e Th\`anh, Sebastian Rahtz, Hans Hagen, Hartmut Henkel, + Pawe\l\ Jackowski, Martin Schr\"oder, Karl Berry}] + +\setupinteractionscreen % still needed? + +\startnotmode[screen] + +\setupinteractionscreen + [option=bookmark] + +\stopnotmode + +%D Some headers and footers will complete the layout. + +\setupheadertexts + [The pdf\TeX\ user manual] + +\setupfootertexts + [pagenumber] + +%D For Tobias Burnus, who loves bookmarks, I've enabled them. + +\placebookmarks + [section,subsection,pdftexprimitive] + +%D Let's also define a screen layout: + +\startmode[screen] \environment pdftex-i \stopmode + +%D We auto-cross link the paper and screen version: + +\startnotmode[screen] + +%\coupledocument +% [screenversion] +% [pdftex-s] +% [section,subsection,subsubsection,pdftexprimitive] +% [the screen version] + +\setuphead + [section,subsection,subsubsection,pdftexprimitive] + [file=screenversion] + +\setuplist + [section] + [alternative=c] + +\stopnotmode + +%D The text starts here! + +\starttext + +%D Being lazy, I don't split the file, so paper and screen get +%D mixed in one document. + +\startmode[screen] \getbuffer[screen] \stopmode + +\startnotmode[screen] + +%D But first we typeset the title page. It has a background. This +%D background, showing a piece of \PDF\ code, will be referred to +%D later on. + +%D We can use more modern \CONTEXT\ features, but for the moment +%D stick to the old style and methods. + +\NormalizeFontWidth + \TitleFont + {\hskip.5mm The pdf\TeX\ user manual} % \hskip is fake offset + \paperheight + {TitleFont} + +\setupbackgrounds + [page] + [background={title,joke,names,content}] + +\defineoverlay + [title] + [\hbox to \paperwidth + {\hfill + \TitleFont\setstrut + \rotate{The pdf\TeX\ user manual}% + \hskip.5cm}] % \dp\strutbox}] + +% \defineoverlay +% [joke] +% [\hbox to \paperwidth +% {\TitleFont\setstrut +% \dimen0=\overlaywidth +% \advance\dimen0 by -\ht\strutbox +% \advance\dimen0 by -\dp\strutbox +% \advance\dimen0 by -1cm +% \dimen2=\overlayheight +% \advance\dimen2 by -1cm +% \hskip.5cm\expanded{\externalfigure +% [pdftex-z.pdf] +% [width=\the\dimen0,height=\the\dimen2]}% +% \hfill}] + +% \defineoverlay +% [names] +% [\vbox to \paperheight +% {\dontcomplain +% \TitleFont\setstrut +% \setbox0=\hbox{\TeX}% +% \hsize\paperwidth +% \rightskip\ht0 +% \advance\rightskip\dp\strutbox +% \advance\rightskip\dp\strutbox +% \bfa \setupinterlinespace +% \vfill +% \hfill \THANH \endgraf +% \hfill Sebastian Rahtz \endgraf +% \hfill Hans Hagen +% \hfill Hartmut Henkel +% \hfill Pawe\l\ Jackowski +% \vskip 1ex +% \hfill \currentdate +% \vskip 2ex}] + +\defineoverlay + [content] + [\overlaybutton{contents}] + +% title page + +\definelayout + [titlepage] + [backspace=.5cm, + cutspace=3.5cm, + topspace=.5cm, + bottomspace=.5cm, + header=0pt, + footer=0pt, + lines=\getvariable{pdftex}{titlepagelines}, + grid=yes, + width=middle] + +\definecolumnset + [titlepage] + [n=2,distance=0.2cm] + +\start + + \chardef\fontdigits=2 + \switchtobodyfont[10pt,tt] + \setupinterlinespace + [line=\dimexpr((\paperheight-1cm)/\getvariable{pdftex}{titlepagelines})] + \setuptyping[margin=,color=] + \setuplayout[titlepage] + + \startcolumnset[titlepage] + \typefile{pdftex-w.txt} + \stopcolumnset + + \page + \setuplayout + +\stop + +% \startstandardmakeup +% +% %D The titlepage is generated using the background overlay mechanism. This +% %D saves me the trouble of determining funny skips and alignments. So no text +% %D goes here. +% +% \stopstandardmakeup + +\setupbackgrounds + [page] + [background=] + +%D The inside title page is as follows. + +\startstandardmakeup[footerstate=none] + + \dontcomplain + + \setupalign[left] + + \start + + \bfd The pdf\TeX\ user manual + + \bfa \setupinterlinespace + + \vskip4ex + + \THANH\par + Sebastian Rahtz\par + Hans Hagen\par + Hartmut Henkel\par + Pawe\l\ Jackowski\par + Martin Schr\"oder\par + + \vskip3ex + + \rcsmonthname\ \rcsday, \rcsyear\par + \vskip1ex + Rev.\ \rcsrevision + + \stop + + \vfill + + \startlines + The title page is the result of + this plain \TeX\ text: + \stoplines + + \blank[2*big] \setuptyping[after=] + + \starttyping + \pdfoutput=1 + \pdfcompresslevel=0 + \pdfobjcompresslevel=0 + \pdfmapline{ptmr8r Times-Roman 2 <8r.enc} + \font\tenrm=ptmr8r + \tenrm + Welcome to pdf\TeX! + \bye + \stoptyping + +\stopstandardmakeup + +\setuppagenumber[number=1] % added in case of single sided usage + +%D So far for non screen mode. + +\stopnotmode + +%D We start with a small table of contents, typeset in double column format. + +\startfrontmatter + +\subject[contents]{Contents} + +\startcolumns[distance=3em] + \placelist[section] +\stopcolumns + +\stopfrontmatter + +%D And here it is: the main piece of text. + +\startbodymatter + +%*********************************************************************** + +\section{Introduction} + +The main purpose of the \PDFTEX\ project is to create and maintain +an extension of \TEX\ that can produce \PDF\ directly from \TEX\ +source files and improve|/|enhance the result of \TEX\ typesetting +with the help of \PDF. When \PDF\ output is not selected, \PDFTEX\ +produces standard \DVI\ output, otherwise it generates \PDF\ output +that looks identical to the \DVI\ output. An important aspect of this +project is to investigate alternative justification algorithms (\eg\ +a font expansion algorithm akin to the \HZ\ micro||typography algorithm by +Prof.~Hermann Zapf). + +\PDFTEX\ is based on the original \TEX\ sources and \WEBC, and has been +successfully compiled on \UNIX, \WIN\ and \MSDOS\ systems. It is +actively maintained, with new features trickling in. Great care is taken +to keep new \PDFTEX\ versions backward compatible with earlier ones. + +For some years there has been a \quote {conservative} successor to \TEX\ +available, called \ETEX. Because mainstream macro packages such as +\LATEX\ have started supporting this welcome extension, the \ETEX\ +functionality has also been integrated into the \PDFTEX\ code. For a +while (\TEXLIVE~2004 and~2005) \PDFTEX\ therefore came in two flavours: +the \ETEX\ enabled \PDFETEX\ engine and the standard one, \PDFTEX. The +ability to produce both \PDF\ and \DVI\ output made \PDFETEX\ the +primary \TEX\ engine in these distributions. Since \PDFTEX\ version 1.40 +now the \ETEX\ extensions are part already of the \PDFTEX\ engine, so +there is no longer any need to ship \PDFETEX. The \ETEX\ functionality +of \PDFTEX\ can be disabled if not required. Other extensions are +\MLTEX\ and \ENCTEX; these are also included in the current \PDFTEX\ +code. + +\PDFTEX\ is maintained by \THANH, Martin Schr\"oder, and others. The +\PDFTEX\ homepage is \from [ptex_org]. Please send \PDFTEX\ comments and +bug reports to the mailing list \from [ptex_bugs] (\from [ptex_listinfo]). + +%*********************************************************************** + +\subsection{About this manual} + +This manual revision (\rcsrevision) is intended to cover +\PDFTEX\ development up to version \currentpdftex. The primary +repository for the manual and its sources is at \from[ptex_devel]. +Copies in \PDF\ format can also be found on \CTAN\ via \from[ptex_ctan]. + +Thanks to the many people who have contributed to the manual. +New errors might have slipped in afterwards by the editor. +Please send questions or suggestions by email to \from[ptex_bugs]. + +%*********************************************************************** + +\subsection{Legal Notice} + +Copyright \copyright\ 1996||2017 \THANH. +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.2 +or any later version published by the Free Software Foundation; +with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. +A copy of the license is included in the section entitled ``GNU +Free Documentation License''. + +%*********************************************************************** + +\section{About \PDF} + +The cover of this manual lists an almost minimal \PDF\ file generated by +\PDFTEX, from the corresponding source on the next page. Since +compression is not enabled, such a \PDF\ file is rather verbose and +readable. The first line specifies the version used. \PDF\ viewers are +supposed to silently skip over all elements they cannot handle. + +A \PDF\ file consists of objects. These objects can be recognized by their +number and keywords: + +\starttyping +9 0 obj << /Type /Catalog /Pages 5 0 R >> endobj +\stoptyping + +Here \typ{9 0 obj ... endobj} is the object capsule. The first number +is the object number. The sequence \type{5 0 R} is an object reference, +a pointer to another object (no.~5). The second number (here a zero) +is currently not used in \PDFTEX; it is the version number of the +object. It is for instance used by \PDF\ editors, when they replace +objects by new ones. + +When a viewer opens a \PDF\ file, it goes to the end of the file, +looking for the keyword \type{startxref}. The number after +\type{startxref} gives the absolute position (byte offset from the file +start) of the so||called \quote {object cross-reference table} that +begins with the keyword \type{xref}. This table in turn tells the byte +offsets of all objects that make up the \PDF\ file, providing fast +random access to the individual objects (here the \type{xref} table +shows 11~objects, numbered from~0 to~10; the object no.~0 is always +unused). The actual starting point of the file's object structure is +defined after the \type{trailer}: the \type{/Root} entry points to the +\type{/Catalog} object (no.~9). In this object the viewer can find the +pointer \type{/Pages} to the page list object (no.~5). In our example we +have only one page. The trailer also holds an \type{/Info} entry, which +points to an object (no.~10) with a bit more about the document. Just +follow the thread: + +\startnarrower +\type{/Root} $\longrightarrow$ object~9 $\longrightarrow$ +\type{/Pages} $\longrightarrow$ object~5 $\longrightarrow$ +\type{/Kids} $\longrightarrow$ object~2 $\longrightarrow$ +\type{/Contents} $\longrightarrow$ object~3 +\stopnarrower + +As soon as we add annotations, a fancy word for hyperlinks and the like, +some more entries will be present in the catalog. We invite users to +take a look at the \PDF\ code of this file to get an impression of that. + +The page content is a stream of drawing operations. Such a stream +can be compressed, where the level of compression can be set with +\type{\pdfcompresslevel} (compression is switched off for the title +page). Let's take a closer look at this stream in object~3. Often +(but not in our example) there is a transformation matrix, six numbers +followed by \type{cm}. As in \POSTSCRIPT, the operator comes after the +operands. Between \type{BT} and \type{ET} comes the text. A font is +selected by a \type{Tf} operator, which is given a font resource name +\type{/F..} and the font size. The actual text goes into \type{()} +bracket pairs so that it creates a \POSTSCRIPT\ string. The numbers +in bracket pairs provide horizontal movements like spaces and +fine glyph positioning (kerning). When one analyzes a file produced by +a less sophisticated typesetting engine, whole sequences of words can +be recognized. In \PDF\ files generated by \PDFTEX\ however, many words +come out rather fragmented, mainly because a lot of kerning takes place; +in our example the \type{80} moves the text \type{(elcome)} left towards +the letter \type{(W)} by 80/1000 of the font size. \PDF\ viewers in search +mode simply ignore the kerning information in these text streams. When +a document is searched, the search engine reconstructs the text from these +(string) snippets. + +Every \type{/Page} object points also to a \type{/Resources} object +(no.~1) that gives all ingredients needed to assemble the page. In our +example only a \type{/Font} object (no.~4) is referenced, which in turn +tells that the text is typeset in \type{/Font} \type{/Times-Roman}. The +\type{/Font} object points also to a \type{/Widths} array (object no.~7) +that tells for each character by how much the viewer must move forward +horizontally after typesetting a glyph. More details about the font +can be found in the \type{/FontDescriptor} object (no.~8); if a font +file is embedded, this object points to the font program stream. But as +the Times-Roman font used for our example is one of the 14 so||called +standard fonts that should always be present in any \PDF\ viewer and +therefore need not be embedded in the \PDF\ file, it is left out here +for brevity. However, when we use for instance a Computer Modern Roman +font, we have to make sure that this font is later available to the \PDF\ +viewer, and the best way to do this is to embed the font. +It's highly recommended nowadays to embed even the standard fonts; +you can't know how it looks exactly at the viewer side unless you embed +every font. + +In this simple file we don't specify in what way the file should be opened, +for instance full screen or clipped. A closer look at the page object no.~2 +(\typ{/Type /Page}) shows that a mediabox (\typ{/MediaBox}) is part of the +page description. A mediabox acts like the (high-resolution) bounding box +in a \POSTSCRIPT\ file. \PDFTEX\ users can add dictionary entries to page +objects with the \type{\pdfpageattr} primitive. + +Although in most cases macro packages will shield users from these +internals, \PDFTEX\ provides access to many of the entries described +here, either automatically by translating the \TEX\ data structures into +\PDF\ ones, or manually by pushing entries to the catalog, page, info or +self-created objects. One can for instance create an object by using +\type{\pdfobj}, after which \type{\pdflastobj} returns its number. So + +\starttyping +\pdfobj{<< /Type/ExtGState /LW 2 >>} +\stoptyping + +inserts an object into the \PDF\ file (it creates a ``graphics state'' +object setting the line width to 2~units), and \type{\pdflastobj} now +returns the number \PDFTEX\ assigned to this object. Unless objects are +referenced by others, they will just end up as isolated entities, not +doing any real harm but bloating the \PDF\ file. + +In general this rather direct way of pushing objects in the \PDF\ files +by primitives like \type{\pdfobj} is not very useful, and only makes +sense when implementing, say, fill||in field support or annotation +content reuse. We will come to that later. + +Of course, this is just the barest introduction to \PDF\ format. For +those who want to learn more about the gory \PDF\ details, the best bet +is to read the \PDFReference. You can download this book as a big \PDF\ +file from Adobe's \PDF\ Technology Center, \from[pdfreference] --- or +get the heavy paper version. + +We now turn to specifics of \PDFTEX. + +%*********************************************************************** + +\section{Getting started} + +This section describes the steps needed to get \PDFTEX\ running on +a system where \PDFTEX\ is not yet installed. Nowadays virtually all +\TEX\ distributions have \PDFTEX\ as a component, such as \TEXLIVE, +\MIKTEX, \TETEX, \XEMTEX, \PROTEXT, and \MACTEX. The ready to run +\TEXLIVE\ distribution comes with \PDFTEX\ versions for many \UNIX, +\WIN, and \MACOSX\ systems; more information can be found at +\hbox{\from[texlive].} There are also \WIN-specific distributions which +contain \PDFTEX, under \from[win32]: \MIKTEX\ by Christian Schenk, and +\PROTEXT\ (based on \MIKTEX) by Thomas Feuerstack. When you use any +of these distributions, you don't need to bother with the \PDFTEX\ +installation procedure in the next sections. + +If there is no precompiled \PDFTEX\ binary for your system, or the version +coming with a distribution is not the current one and you would like to +try out a fresh \PDFTEX\ immediately, you will need to build \PDFTEX\ +from sources; read on. You should already have a working \TEX\ system, +\eg\ \TEXLIVE\ or \TETEX, into which the freshly compiled \PDFTEX\ will +be integrated. Note that the installation description in this manual +is \WEBC||specific. + +%*********************************************************************** + +\subsection{Getting sources and binaries} + +The latest sources of \PDFTEX\ are distributed for compilation on \UNIX\ +systems (including \GNU/Linux), and \WIN\ systems. The primary home +page is \from[ptex_org], where you also find bug tracking information. +Development sources are at \from[ptex_devel]. Precompiled \PDFTEX\ +binaries for various systems might be available in subdirectories below +\from[ctan_systems], or via \TEX\ distribution web pages. + +%*********************************************************************** + +\subsection{Compiling} + +The compilation is expected to be easy on \UNIX||like systems and +can be described best by example. Assuming that the file \filename +{pdftex.zip} is downloaded to some working directory, \eg\ +\filename {\$HOME/pdftex}, on a \UNIX\ system the following steps are +needed to compile \PDFTEX: + +\startesctyping +cd pdftex.../source +./build-pdftex.sh +\stopesctyping + +The binary \filename{pdftex} is then built in the subdirectory +\filename{build/texk/web2c}. + +The obsolescent binary \filename{pdfetex} is still generated for backward +compatibility, but since version 1.40 it is just a file copy +of the file \filename{pdftex}. + +As well as the main \filename{pdftex} binary, binaries for the utilities +\filename{pdftosrc} and \filename{ttf2afm} are generated. + +Incidentally, for \PDFTEX\ maintains, a sibling script to +\type{build-pdftex.sh} is included, namely \type{sync-pdftex.sh}, which +syncs changes from a \TEXLIVE\ source repository to a \PDFTEX\ source +repository. Read the script before using it. And don't use it unless +you understand what you read. + +%*********************************************************************** + +\subsection{Placing files} + +The next step is to put the freshly compiled \filename{pdftex}, +\filename{pdftosrc}, and \filename{ttf2afm} binaries into the binary +directory (\eg\ for a typical \TEXLIVE\ system, and on the appropriate +platform) \filename{/usr/local/texlive/\rcsyear/bin/x86_64-linux}. + +If you're doing this into a live hierarchy, don't forget to do a +\type{texconfig-sys init} afterwards, so that all formats are +regenerated system-wide with the fresh \filename{pdftex} binary. + +%*********************************************************************** + +\subsection{Setting search paths} + +\WEBC||based programs, including \PDFTEX, use the \WEBC\ run||time +configuration file called \filename {texmf.cnf}. The location +of this file is the appropriate position within the \TDS\ tree +relative to the place of the \PDFTEX\ binary; on a \TEXLIVE\ system, +\filename{texmf.cnf} is typically located either in directory +\filename{texmf/web2c} or \filename{texmf-local/web2c}. The path to +file \filename{texmf.cnf} can also be set up by the environment variable +\type{TEXMFCNF}. + +The \filename{texmf.cnf} files coming with the major \TEX\ distributions +should already be set up for normal use, so you shouldn't need to edit +it. You might still like to read it to see where the various bits and +pieces are going. + +\PDFTEX\ uses the search path variables shown in +\in{table}[tbl:spathvar], among others. + +\startbuffer +\starttabulate[|l|l|] +\HL +\NC \bf used for \NC \bf texmf.cnf \NC\NR +\HL +\NC output files \NC \type{TEXMFOUTPUT} \NC\NR +\NC input files, images \NC \type{TEXINPUTS} \NC\NR +\NC format files \NC \type{TEXFORMATS} \NC\NR +\NC \TeX\ pool files \NC \type{TEXPOOL} \NC\NR +\NC encoding files \NC \type{ENCFONTS} \NC\NR +\NC font map files \NC \type{TEXFONTMAPS} \NC\NR +\NC \TFM\ files \NC \type{TFMFONTS} \NC\NR +\NC virtual fonts \NC \type{VFFONTS} \NC\NR +\NC Type~1 fonts \NC \type{T1FONTS} \NC\NR +\NC TrueType fonts \NC \type{TTFONTS} \NC\NR +\NC OpenType fonts \NC \type{OPENTYPEFONTS} \NC\NR +\NC bitmap fonts \NC \type{PKFONTS} \NC\NR +\HL +\stoptabulate +\stopbuffer + +\placetable[here][tbl:spathvar] + {The principal \WEBC\ variables.} + {\getbuffer} + +\PathDescription {TEXMFOUTPUT} Normally, \PDFTEX\ puts its output files +in the current directory, overridden by the \type{-output-directory} +option. If any output file cannot be opened there, it tries to open it +in the environment variable \type{TEXMFOUTPUT}, if that is set. There is +no default value for that variable. For example, if \type{TEXMFOUTPUT} +has the value \type{/tmp}, and you run \type{pdftex paper} when the +current directory is not writable, \PDFTEX\ attempts to create +\type{/tmp/paper.log} (and \type{/tmp/paper.pdf}, etc.) + +\PathDescription {TEXINPUTS} This variable specifies where \PDFTEX\ finds +its input files. Image files are considered +input files and searched for along this path. + +\PathDescription {TEXFORMATS} Search path for format (\type{.fmt}) files. + +\PathDescription {TEXPOOL} Search path for pool (\type{.pool}) files; no +longer used, since the pool file (program strings) are compiled into +the binary. + +\PathDescription {ENCFONTS} Search path for encoding (\type{.enc}) files. + +\PathDescription {TEXFONTMAPS} Search path for font map (\type{.map}) files. + +\PathDescription {TFMFONTS} Search path for font metric (\type{.tfm}) files. + +\PathDescription {VFFONTS} Search path for virtual font (\type{.vf}) +files. Virtual fonts are fonts made up of other fonts. +Because \PDFTEX\ produces the +final output code, it must consult those files. + +\PathDescription {T1FONTS} Search path for Type~1 font files (\type{.pfa} +and \type{.pfb}). These outline (vector) fonts are to be preferred over +bitmap \PK\ fonts. In most cases Type~1 fonts are used and this variable +tells \PDFTEX\ where to find them. + +\PathDescription {TTFONTS,\hfil\break \hbox{OPENTYPEFONTS}} Search paths +for TrueType (\type{.ttf}) and OpenType (\type{.otf}) font files. Like +Type~1 fonts, TrueType and OpenType fonts are also outlines. + +\PathDescription {PKFONTS} Search path for packed (bitmap) font +(\type{.pk}) files. +Unfortunately bitmap fonts are still displayed poorly by some \PDF\ +viewers, so when possible one should use outline fonts. When no outline +is available, \PDFTEX\ tries to locate a suitable \PK\ font (or invoke +a process that generates it). + +\PathDescription{TEXFONTS} Fallback for all the font paths, so that if +you want to look in a particular directory for fonts on a given run, you +can set that one variable. + +Many more variables may be consulted, and there are many details to +file name lookups. See the Kpathsea manual (\from [kpathsea]). + +%*********************************************************************** + +\subsection[cfg]{The \PDFTEX\ configuration} + +We must keep in mind that, as opposed to \TEX\ with its \DVI\ output, +the \PDFTEX\ program does not have a separate postprocessing stage to +transform the \TEX\ input into final \PDF. As a consequence, all data +needed for building a ready \PDF\ page must be available during the +\PDFTEX\ run, in particular information on media dimensions and offsets, +graphics files for embedding, and font information (font files, +encodings). + +When \TEX\ builds a page, it places items relative to the top left page +corner (the \DVI\ reference point). Separate \DVI\ postprocessors allow +specifying the paper size (\eg\ \quote {A4} or \quote{letter}), so +that this reference point is moved to the correct position on the paper, +and the text ends up at the right place. + +In \PDF, the paper dimensions are part of the page definition, and +\PDFTEX\ therefore requires that they be defined at the beginning of +the \PDFTEX\ run. As with pages described by \POSTSCRIPT, the \PDF\ +reference point is in the lower||left corner. + +Formerly, these dimensions and other \PDFTEX\ parameters were read +in from a configuration file named \filename{pdftex.cfg}, which had +a special (non-\TEX) format, at the start of processing. Nowadays such +a file is ignored by \PDFTEX. Instead, the page dimensions and offsets, +as well as many other parameters, can be set by \PDFTEX\ primitives +during the \PDFTEX\ format building process, so that the settings are +dumped into the fresh format and consequently will be used when \PDFTEX\ +is later called with that format. All settings from the format can +still be overridden during a \PDFTEX\ run by using the same primitives. +This new configuration concept is a more unified approach, as it avoids +the configuration file with a special format. + +A list of \PDFTEX\ primitives relevant to setting up the \PDFTEX\ engine +is given in \in{table}[tbl:configparms]. All primitives are described in +detail within later sections. \in{Figure}[in:pdftexconfig] shows a recent +configuration file (\type{pdftexconfig.tex}) in \TEX\ format, using the +primitives from \in{table}[tbl:configparms], which typically is read +in during the format building process. It enables \PDF\ output, sets paper +dimensions and the default pixel density for \PK\ font inclusion. The default +values are chosen so that \PDFTEX\ often can be used (\eg\ in \type{-ini} mode) +even without setting any parameters. + +\startbuffer +\starttabulate[|l|l|l|l|l|] +\HL +\NC \bf internal name \NC \bf type \NC\bf default\NC\bf comment\NC\NR +\HL +\NC \type{\pdfoutput} \NC integer \NC 0 \NC \DVI \NC\NR +\NC \type{\pdfadjustspacing} \NC integer \NC 0 \NC off \NC\NR +\NC \type{\pdfcompresslevel} \NC integer \NC 9 \NC best \NC\NR +\NC \type{\pdfobjcompresslevel} \NC integer \NC 0 \NC no object streams \NC\NR +\NC \type{\pdfdecimaldigits} \NC integer \NC 4 \NC max. \NC\NR +\NC \type{\pdfimageresolution} \NC integer \NC 72 \NC dpi \NC\NR +\NC \type{\pdfpkresolution} \NC integer \NC 0 \NC 72\,dpi \NC\NR +\NC \type{\pdfpkmode} \NC token reg.\NC empty \NC mode set in \type{mktex.cnf} \NC\NR +\NC \type{\pdfuniqueresname} \NC integer \NC 0 \NC \NC\NR +\NC \type{\pdfprotrudechars} \NC integer \NC 0 \NC \NC\NR +\NC \type{\pdfgentounicode} \NC integer \NC 0 \NC \NC\NR +\NC \type{\pdfminorversion} \NC integer \NC 4 \NC \PDF\ 1.4 \NC\NR +\NC \type{\pdfpagebox} \NC integer \NC 0 \NC \NC\NR +\NC \type{\pdfforcepagebox} \NC integer \NC 0 \NC \NC\NR +\NC \type{\pdfinclusionerrorlevel} \NC integer \NC 0 \NC \NC\NR +%----------------------------------------------------------------------- +\NC \type{\pdfhorigin} \NC dimension \NC 1\,in \NC \NC\NR +\NC \type{\pdfvorigin} \NC dimension \NC 1\,in \NC \NC\NR +\NC \type{\pdfpagewidth} \NC dimension \NC 0\,pt \NC \NC\NR +\NC \type{\pdfpageheight} \NC dimension \NC 0\,pt \NC \NC\NR +%\NC \type{\pdffirstlineheight} \NC dimention \NC -1000\,pt \NC \NC\NR +%\NC \type{\pdflastlinedepth} \NC dimention \NC -1000\,pt \NC \NC\NR +%\NC \type{\pdfeachlineheight} \NC dimention \NC -1000\,pt \NC \NC\NR +%\NC \type{\pdfeachlinedepth} \NC dimention \NC -1000\,pt \NC \NC\NR +\NC \type{\pdflinkmargin} \NC dimension \NC 0\,pt \NC \NC\NR +\NC \type{\pdfdestmargin} \NC dimension \NC 0\,pt \NC \NC\NR +\NC \type{\pdfthreadmargin} \NC dimension \NC 0\,pt \NC \NC\NR +\NC \type{\pdfmapfile} \NC text \NC \filename{pdftex.map} \NC not dumped\NC\NR +\HL +\stoptabulate +\stopbuffer + +\placetable[here][tbl:configparms] + {The set of \PDFTEX\ configuration parameters.} + {\getbuffer} + +\startbuffer +\tx\setupinterlinespace +\startframedtext +\starttyping +% tex-ini-files 2016-04-15: pdftexconfig.tex + +% Load shared (PDF) settings in pdfTeX + +% Enable PDF output +\pdfoutput = 1 + +% Paper size: dimensions given in absolute terms +\pdfpageheight = 11 true in +\pdfpagewidth = 8.5 true in + +% Enable PDF 1.5 output and thus more compression +\pdfminorversion = 5 +\pdfobjcompresslevel = 2 + +% Low-level settings unlikely ever to need to change +\pdfcompresslevel = 9 +\pdfdecimaldigits = 3 +\pdfpkresolution = 600 +\pdfhorigin = 1 true in +\pdfvorigin = 1 true in +\stoptyping +\stopframedtext +\stopbuffer + +\placefigure[here][in:pdftexconfig] + {\PDFTEX\ configuration file for \TEXLIVE\ (\filename{pdftexconfig.tex}).} + {\getbuffer} + +Independent of whether such a configuration file is read or not, the +first action in a \PDFTEX\ run is that the program reads the global \WEBC\ +configuration file (\filename{texmf.cnf}), which is common to all programs +in the \WEBC\ system. This file mainly defines file search paths, the +memory layout (\eg\ string pool and hash size), and other general parameters. + +%*********************************************************************** + +\subsection{Creating format files} + +\startbuffer +\tx\setupinterlinespace +\startframedtext +\starttyping +% Thomas Esser, 1998. public domain. +\input etex.src +\dump +\endinput +\stoptyping +\stopframedtext +\stopbuffer + +\placefigure[here][in:etexini] + {File \type{etex.ini} for the plain \ETEX\ format with \DVI\ output.} + {\getbuffer} + +\startbuffer +\tx\setupinterlinespace +\startframedtext +\starttyping +% Thomas Esser, 1998. public domain. +% This is used for pdftex and pdfetex, which are now identical: both +% with e-TeX extensions, both with pdf output. +\input pdftexconfig.tex +\input etex.src +\input pdftexmagfix.tex +\dump +\endinput +\stoptyping +\stopframedtext +\stopbuffer + +\placefigure[here][in:pdfetexini] + {File \type{pdfetex.ini} for plain \ETEX\ with \PDF\ output.} + {\getbuffer} + +\startbuffer +\tx\setupinterlinespace +\startframedtext +\starttyping +% Thomas Esser, 1998. public domain. +\input pdftexconfig.tex +\scrollmode +\input latex.ltx +\endinput +\stoptyping +\stopframedtext +\stopbuffer + +\placefigure[here][in:pdflatexini] + {File \type{pdflatex.ini} for the \LATEX\ format with \PDF\ output.} + {\getbuffer} + +The \PDFTEX\ engine supports building formats for \DVI\ and \PDF\ output +in the same way as the classical \TEX\ engine does for \DVI. Format +generation is enabled by the \type{-ini} option. The default mode (\DVI\ +or \PDF) can be chosen either on the command line by setting the option +\type{-output-format} to \type{dvi} or \type{pdf}, or by setting the +\type{\pdfoutput} parameter. The format file then inherits this setting, +so that a later invocation of \PDFTEX\ with this format starts in the +preselected mode (which still can be overridden). A format file can be +read in only by the engine that has generated it; a format incompatible +with an engine leads to a fatal error. + +It is customary to package the configuration and macro file input +into a \type{.ini} file. \Eg, the file \type{etex.ini} in +\in{figure}[in:etexini] is for generating an \ETEX\ format with \DVI\ +output. It has been traditional for many years to generate +\type{etex.fmt} with \PDFTEX\ rather than the original \ETEX, because +\PDFTEX\ contains a few additional programming and other +non-\PDF-related features on which people have come to rely. + +The \type{pdfetex.ini} file \in{figure}[in:etexini] shows the +corresponding format with \PDF\ output by default; this is what creates +the format file read when \type{pdftex} is normally invoked. + +Finally, \type{pdflatex.ini} \in{figure}[in:pdflatexini] shows how the +\LATEX\ format with \PDF\ output by default is generated. + +The corresponding \PDFTEX\ calls for format generation are: + +\starttyping +pdftex -ini *etex.ini +pdftex -ini *pdfetex.ini +pdftex -ini *pdflatex.ini +\stoptyping + +These calls produce format files \filename{etex.fmt}, +\filename{pdfetex.fmt}, and \filename{pdflatex.fmt}, as the default +format file name is taken from the input file name. You can overrule +this with the \type{-jobname} option. The asterisk \type{*} before the +file name is a unusual feature, only in \type{-ini} mode, which causes +the \PDFTEX\ engine to enable \ETEX\ features. + +\subsection{Testing the installation} + +When everything is set up, you can test the installation. A simple test +of plain \PDFTEX\ is: + +\starttyping +pdftex story \\end +\stoptyping + +This should typeset the famous one-page short story by A.U. Thor. + +A more thorough and descriptive test is the plain \TEX\ test file +\filename{samplepdf.tex}, available in the distribution in the +\type{samplepdftex/} directory. Process this file by typing: + +\starttyping +pdftex samplepdf +\stoptyping + +If the installation is ok, this should produce a file called +\filename{samplepdf.pdf}. The file \filename {samplepdf.tex} is a good +place to look for examples of how to use \PDFTEX's primitives. + +%*********************************************************************** + +\subsection{Common problems} + +The most common problem with installations is that \PDFTEX\ complains +that something cannot be found. In such cases make sure that +\type{TEXMFCNF} is set correctly, so \PDFTEX\ can find \filename +{texmf.cnf}. The next best place to look|/|edit is the file +\type{texmf.cnf}. When still in deep trouble, set +\type{KPATHSEA_DEBUG=255} before running \PDFTEX\ or use the option +\type{-kpathsea-debug 255}. This will cause \PDFTEX\ to write a lot of +debugging information that can be useful to trace problems. More options +can be found in the \WEBC\ documentation. + +Variables in \filename {texmf.cnf} can be overwritten by environment +variables. Here are some of the most common problems you can encounter when +getting started: + +\startitemize + +\head \type{I can't find the format file `pdftex.fmt'!} \crlf + \type{I can't find the format file `pdflatex.fmt'!} + + The format file is not created (see above how to do that) or + is not properly placed. Make sure that \type{TEXFORMATS} in + \filename {texmf.cnf} contains the path to \filename {pdftex.fmt} + or \filename {pdflatex.fmt}. + +\head \type{Fatal format file error; I'm stymied} + + This appears \eg\ if you forgot to regenerate the \type{.fmt} + files after installing a new version of the \PDFTEX\ binary. + The first line tells by which engine the offending format was generated. + +\head \PDFTEX\ cannot find one or more map files (\type{*.map}), + encoding vectors (\type{*.enc}), virtual fonts, Type~1 fonts, + TrueType or OpenType fonts, or some image file. + + Make sure that the required file exists and the corresponding variable + in \filename {texmf.cnf} contains a path to the file. See above which + variables \PDFTEX\ needs apart from the ones \TEX\ uses. + + When you have installed new fonts, and your \PDF\ viewer complains + about missing fonts, you should take a look at the log file produced + by \PDFTEX. Missing fonts, map files, encoding vectors as well as + missing characters (glyphs) are reported there. + +\stopitemize + +Normally the page content takes one object. This means that one seldom +finds more than a few hundred objects in a simple file. This \PDFTEX\ +manual for instance uses approx.~750 objects. In more complex applications +this number can grow quite rapidly, especially when one uses a lot of +widget annotations, shared annotations or other shared things. In any +case \PDFTEX's internal object table size will automatically grow to the +required size (the parameter \type{obj_tab_size} for manual control of +the object table size is now obsolete and ignored). + +%*********************************************************************** + +\section{Invoking \PDFTEX} + +\PDFTEX\ has many command line options. With the exception of the +simple and rarely-used \type{-draftmode} and \type{-output-format} +options, they are all inherited from the common framework for \TeX\ +engines as implemented in \WEBC\ (\from [web2c] has the manual). + +The same commonality holds for environment variables; see the section +``Setting search paths'' above for an overview. Two additional +environment variables need more description here: first, +\type{SOURCE_DATE_EPOCH} (introduced in version 1.40.17, 2016). If this +is set, it must be a positive integer (with one trivial exception: if it +is set but empty, that is equivalent to 0). Non-integer values cause a +fatal error. The value is used as the current time in seconds since the +usual Unix ``epoch'': the beginning of 1970-01-01, UTC. Thus, a value +of \type{32} would result in a \type{/CreationDate} and \type{/ModDate} +values of \type{19700101000032Z}. This is useful for reproducible +builds of documents. (See also \type{\pdfinfoomitdate}, +\type{\pdfsuppressptexinfo}, et al.) + +The second, related, environment variable is \type{FORCE_SOURCE_DATE}. +If this is set to~\type{1}, \TEX's time-related primitives are also +initialized from the value of \type{SOURCE_DATE_EPOCH}. These +primitives are \type{\year}, \type{\month}, \type{\day}, and +\type{\time}. If \type{SOURCE_DATE_EPOCH} is not set, setting +\type{FORCE_SOURCE_DATE} has no effect. If \type{FORCE_SOURCE_DATE} is +unset, set to the empty string, or set to~\type{0}, the primitives +reflect the current time as usual. Any other value elicits a warning, +and the current time is used. (This is useful only if one wants to make +reproducible \PDF{}s for a set of documents without changing them in any +way, e.g., an operating system distribution with manuals that use +\type{\today}. Except in such unusual circumstances, it is better not +to set this, and let the \TEX\ primitives retain the meaning they have +always had.) + +Finally, just to have the list of options and basic invocation at hand, +here is a verbatim listing of the \type{-}\type{-help} output. All +options can be specified with one or two dashes and unambiguously +abbreviated. + +\startnotmode[screen] + \switchtobodyfont[9pt] % squeeze everything on one page +\stopnotmode + +\typefile{pdftex-help.txt} + +\startnotmode[screen] + \switchtobodyfont[10pt] % squeeze everything on one page +\stopnotmode + +%*********************************************************************** + +\section{Macro packages supporting \PDFTEX} + +As \PDFTEX\ generates the final \PDF\ output without help of +a postprocessor, macro packages that take care of these \PDF\ features +have to be set up properly. Typical tasks are handling color, +graphics, hyperlink support, threading, font||inclusion, as well as +page imposition and manipulation. All these \PDF||specific tasks can be +controlled by \PDFTEX's own primitives (a few also by a \PDFTEX||specific +\type{\special{pdf: ...}} primitive). Any other \type{\special{}} commands, +like the ones defined for various \DVI\ postprocessors, are simply +ignored by \PDFTEX\ when in \PDF\ output mode; a warning is given only +for non||empty \type{\special{}} commands. + +When a macro package already written for classical \TEX\ with \DVI\ output +is to be modified for use with \PDFTEX, it is very helpful to get some +insight to what extent \PDFTEX||specific support is needed. This info can +be gathered \eg\ by outputting the various \type{\special} commands +as \type{\message}. Simply type + +\starttyping +\pdfoutput=1 \let\special\message +\stoptyping + +or, if this leads to confusion, + +\starttyping +\pdfoutput=1 \def\special#1{\write16{special: #1}} +\stoptyping + +and see what happens. As soon as one \quote {special} message turns up, one +knows for sure that some kind of \PDFTEX\ specific support is needed, and +often the message itself gives a indication of what is needed. + +Currently all mainstream macro packages offer \PDFTEX\ support, with +automatic detection of \PDFTEX\ as engine. So there is normally no need +to turn on \PDFTEX\ support explicitly. + +\startitemize + +\item For \LATEX\ users, Sebastian Rahtz and Heiko Oberdiek's \type + {hyperref} package has substantial support for \PDFTEX\ and + provides access to most of its features. In the simplest and + most common case, the user merely needs to load \type{hyperref}, + and all cross||references will be converted to \PDF\ hypertext + links. \PDF\ output is automatically selected, compression is + turned on, and the page size is set up correctly. Bookmarks are + created to match the table of contents. + +\item The standard \LATEX\ \type{graphics}, \type{graphicx}, and + \type{color} packages also have automatic \pdfTeX\ support, which + allow use of color, text rotation, and graphics inclusion commands. + +\item The \CONTEXT\ macro package by Hans Hagen has very full support + for \PDFTEX\ in its generalized hypertext features. Support for + \PDFTEX\ is implemented as a special driver, and is invoked by + typing \type{\setupoutput[pdftex]} or feeding \TEXEXEC\ with the + \hbox{\tt -{}-pdf} option. + +\item \PDF\ from \TEXINFO\ documents can be created by running \PDFTEX\ on + the \TEXINFO\ file, instead of \TEX. Alternatively, run the shell + command \type{texi2pdf} instead of \type{texi2dvi}. + +\item A small modification of \filename {webmac.tex}, called \filename + {pdfwebmac.tex}, allows production of hyperlinked \PDF\ versions + of the program code written in \WEB. + +\stopitemize + +Some nice samples of \PDFTEX\ output can be found at +\from[ptex_org], \from[context], and \from[tex_showcase]. + +%*********************************************************************** + +\section{Setting up fonts} + +\PDFTEX\ can work with Type~1 and TrueType fonts (and to some extent +also with OpenType fonts). Font files should be available and embedded +for all fonts used in the generated PDF. It is possible to use +\METAFONT||generated fonts in \PDFTEX\ --- but it is strongly +recommended not to use these fonts if an equivalent is available in +Type~1 or TrueType format, if only because bitmap Type~3 fonts render +poorly under enlargement. + +%*********************************************************************** + +\subsection[mapfile]{Map files} + +Font map files provide the connection between \TEX\ \TFM\ font files +and outline font file names. They contain also information about +re||encoding arrays, partial font embedding (``subsetting''), and +character transformation parameters (like SlantFont and ExtendFont). Those +map files were first created for \DVI\ postprocessors. But, as \PDFTEX\ +in \PDF\ output mode includes all \PDF\ processing steps, it also needs +to know about font mapping, and therefore reads in one or more map files. +Map files are not read in when \PDFTEX\ is in \DVI\ mode. Bitmap fonts +can (and normally should) be used without being listed in the map file. + +By default, \PDFTEX\ reads the map file \filename{pdftex.map}. In \WEBC, +map files are searched for using the \type{TEXFONTMAPS} config file value +and environment variable. By default, the current directory and various +system directories are searched. + +Within the map file, each font is listed on a single line. The syntax of +each line is upward||compatible with \type{dvips} map files and can contain +the following fields (some are optional; explanations follow): + +\startnarrower +{\em tfmname psname fontflags special encodingfile fontfile} +\stopnarrower + +It is mandatory that {\em tfmname} is the first field. If a {\em +psname} is given, it must be the second field. Similarly if {\em +fontflags} is given it must be the third field (if {\em psname} is +present) or the second field (if {\em psname} is left out). The +positions of {\em special}, {\em encodingfile}, and {\em fontfile} can +be mixed. + +\startdescription {tfmname} +sets the name of the \TFM\ file for a font --- the file name given in a +\TEX\ \type{\font} command. This name must always be given. + +\stopdescription + +\startdescription {psname} +sets the (\POSTSCRIPT) base font name, which has two uses: + +First, when a \PDF\ file is embedded by \type{\pdfximage}, the +\type{/BaseFont} names in the font dictionaries of Type~1 and Type~1C +(CFF) fonts from the embedded \PDF\ file are checked against this {\em +psname} field. If names match, the glyphs of that font will not be +copied from the embedded \PDF\ file, but instead a local font is opened, +and all needed glyphs will be taken from the Type~1 font file that is +mentioned in the map line (see {\em fontfile} below). By this collecting +mechanism Type~1 glyphs can be shared between several embedded \PDF\ +files and with text that is typeset by \PDFTEX, which helps keeping the +resulting \PDF\ file size small, if many files with similar Type~1(C) +fonts are embedded. Replacing Type~1 fonts from embedded \PDF\ files +requires that also a Type~1 font file name is in the {\em fontfile} field +(see below). + +Second, if a font file is not to be embedded into the \PDF\ output +({\em fontfile} field missing), then the {\em psname} field will be +copied to the \type{/BaseFont} and \type{/FontName} dictionary entries +in the \PDF\ file, so that the \POSTSCRIPT\ font name will be known to +reading applications (\eg\ viewers). + +It is highly recommended to use the {\em psname} field, but +strictly speaking it is optional. + +\stopdescription + +\startdescription {fontflags} +optionally specify some characteristics of the font. The following description of +these flags is taken, with slight modification, from the \PDFReference\ +(the section on font descriptor flags). Viewers can adapt their rendering +to these flags, especially when they substitute a non-embedded font by +some own approximation. + +\startnarrower + +The value of the flags key in a font descriptor is a 32||bit integer that +contains a collection of boolean attributes. These attributes are true if the +corresponding bit is set to~1. \in{Table}[flags] specifies the meanings of +the bits, with bit~1 being the least significant. Reserved bits must be set +to zero. + +\startbuffer +\starttabulate[|c|l|] +\HL +\NC \bf bit position \NC \bf semantics \NC\NR +\HL +\NC 1 \NC Fixed||width font \NC\NR +\NC 2 \NC Serif font \NC\NR +\NC 3 \NC Symbolic font \NC\NR +\NC 4 \NC Script font \NC\NR +\NC 5 \NC Reserved \NC\NR +\NC 6 \NC Uses the Adobe Standard Roman Character Set \NC\NR +\NC 7 \NC Italic \NC\NR +\NC 8--16 \NC Reserved \NC\NR +\NC 17 \NC All||cap font \NC\NR +\NC 18 \NC Small||cap font \NC\NR +\NC 19 \NC Force bold at small text sizes \NC\NR +\NC 20--32 \NC Reserved \NC\NR +\HL +\stoptabulate +\stopbuffer + +\placetable + [here][flags] + {The meaning of flags in the font descriptor.} + {\getbuffer} + +All characters in a {\em fixed||width} font have the same width, while +characters in a proportional font have different widths. Characters in a {\em +serif font} have short strokes drawn at an angle on the top and bottom of +character stems, while sans serif fonts do not have such strokes. A {\em +symbolic font} contains symbols rather than letters and numbers. Characters +in a {\em script font} resemble cursive handwriting. An {\em all||cap} font, +which is typically used for display purposes such as titles or headlines, +contains no lowercase letters. It differs from a {\em small||cap} font in +that characters in the latter, while also capital letters, have been sized +and their proportions adjusted so that they have the same size and stroke +weight as lowercase characters in the same typeface family. + +Bit~6 in the flags field indicates that the font's character set +conforms to the +Adobe Standard Roman Character Set, or a subset of that, and that it uses +the standard names for those characters. + +Finally, bit~19 is used to determine whether or not bold characters are +drawn with extra pixels even at very small text sizes. Typically, when +characters are drawn at small sizes on very low resolution devices such +as display screens, features of bold characters may appear only one pixel +wide. Because this is the minimum feature width on a pixel||based device, +ordinary non||bold characters also appear with one||pixel wide features, +and thus cannot be distinguished from bold characters. If bit~19 is set, +features of bold characters may be thickened at small text sizes. + +\stopnarrower + +If the {\em fontflags} field is not given, and the font is embedded, +\PDFTEX\ treats it as the value~4 (decimal, that is, bit position 3 is set), +a symbolic font. For non-embedded fonts, the default value is +\type{0x22}, a non-symbolic serif font. If you do not know the correct +value, it is best not to specify it at all, as specifying a bad value of +font flags may cause trouble in viewers. On the other hand this option +is not absolutely useless because it provides backward compatibility +with older map files (see the {\em fontfile} description below). + +\stopdescription + +\startdescription {special} +specifies font manipulations in the same way as +\type{dvips}. Currently only the keywords \type{SlantFont} +and \type{ExtendFont} are interpreted, other instructions (notably +\type{ReEncodeFont} and its parameters, see {\em encoding} below) are +just ignored. The permitted \type{SlantFont} range is $-$1..1; +for \type{ExtendFont} it's $-$2..2. The block of {\em special} +instruction must be enclosed by double quote characters: \type{"}. + +\stopdescription + +\startdescription {encodingfile} specifies the name of the file +containing the external encoding vector to be used for the font. The +encoding file name must have the extension \type{.enc}, and the file +name including extension must be given with either a preceding~\type{<} +character or a preceding~\type{<[}. The format of the encoding vector is +identical to that used by \type{dvips}. If no encoding is specified, the +font's built||in default encoding is used. The {\em encodingfile} field +may be omitted if you are sure that the font resource has the correct +built||in encoding. In general this option is highly recommended, and it +is {\em required} when subsetting a TrueType font. + +Starting with version 1.40.19, an encoding file can also be specified +for bitmap \PK\ fonts. In this case, it assigns the glyph names from the +given encoding vector, which can be used with the +\type{\pdfglyphtounicode} primitive (q.v.). For example: + +\starttyping +\pdfglyphtounicode{ffi}{0066 0066 0069} % normally: \input glyphtounicode +\pdfgentounicode=1 +\pdfmapline{cmb10 <7t.enc} +\font\cmb=cmb10 \cmb ffi +\stoptyping + +The result is a \PDF\ file with a correctly-labeled \type{/ffi} +character instead of the numeric character position in the +\type{cmb10.tfm} (decimal 14). + +\stopdescription + +\startdescription {fontfile} +sets the name of the font file to be embedded into the \PDF\ output for a +given \TeX\ font (the {\em tfmname}~$\leftrightarrow$~{\em fontfile} +mapping is the most prominent use of the \filename{pdftex.map} file). +The font file name must belong to a Type~1 or TrueType font file. If +the {\em fontfile} field is missing, no font embedding can take place; +in case the {\em psname} field does not contain one of the 14 standard +font names also a warning will be given. Not embedding a font into a \PDF\ +file might be troublesome, as it requires that the font or some similar +looking replacement font is available within the \PDF\ viewer, so that +it can render the glyphs with its own font version. + +The font file name should be preceded by one or two special characters, +specifying how to handle the font file: + +\startitemize + +\item If the font file name is preceded by a \type{<} character, the + font file will be only partially embedded in the \PDF\ output + (``subsetted''), meaning that only used glyphs are written to + the \PDF\ file. This is the most common use and is {\em strongly + recommended} for any font, as it ensures the portability and + reduces the size of the \PDF\ output. Subsetted fonts are included + in such a way that name and cache clashes are minimized. + +\item If the font file name is preceded by a double \type{<<}, the font + file will be included entirely --- all glyphs of the font are + embedded, including even those not used in the document. Apart + from causing large size \PDF\ output, this option may cause + troubles with TrueType fonts, so it is normally not recommended + for Type~1 or TrueType fonts. But this is currently the only mode + that allows the use of OpenType fonts. This mode might also be + useful in case the font is atypical and cannot be subsetted well + by \PDFTEX. {\em Beware: proprietary font vendors typically + forbid full font inclusion.} + +\item If no special character precedes the font file name, it is + ignored, with a warning (this case was deprecated in \PDFTEX\ + version 1.40.0). You achieve exactly the same \PDF\ result if you + just remove the font file name from the map entry. Then the glyph + widths that go into the \PDF~file are extracted from the + \TFM~file, and a font descriptor object is created that contains + approximations of the font metrics for the selected font. + +\item Specifying the {\em psname} and no font file name is only useful + as a last-ditch fallback when you do not want to embed the font + (\eg\ due to font license restrictions), but wish to use the font + metrics and let the \PDF\ viewer generate instances that look + close to the used font in case the font resource is not installed + on the system where the \PDF\ output will be viewed or + printed. To use this feature, the font flags {\em must} be + specified, and it must have the bit~6 set on, which means that + only fonts with the Adobe Standard Roman Character Set can be + simulated. The only exception is the case of a symbolic font, + which is not very useful. + +\stopitemize + +If you encounter problematic lookups, for instance if \PDFTEX\ tries +to open a \type{.pfa} file instead of a \type{.pfb}, you can add +the suffix to the filename. In this respect, \PDFTEX\ completely relies +on the \type{kpathsea} library. + +\stopdescription + +For Type~1 and TrueType fonts, the font file will be included only once +in the \PDF\ output, regardless of how many \TeX\ \type{\font} instances +are used in the document. For instance, given + +\starttyping +\font\a = cmr12 +\font\b = cmr12 at 11pt +\stoptyping + +the outline file \type{cmr12.pfb} will only be included once in the +\PDF, and merely scaled down to create the instance for \type{\b}. + +If a used font is not present in the map files, \PDFTEX\ will try to use +\PK~fonts as most \DVI\ drivers do, creating \PK~fonts on||the||fly if +needed. This is the normal, and recommended, way to use bitmap fonts. + +To summarize this rather confusing story, we include some example map +lines. The most common way is to embed only a subset of glyphs from a +font for a particular desired encoding, like this: + +\starttyping +ptmri8r Times-Italic <8r.enc <ptmri8a.pfb +\stoptyping + +Without re||encoding it looks like this: + +\starttyping +cmr10 CMR10 <cmr10.pfb +\stoptyping + +\type{SlantFont} and \type{ExtendFont} fields are specified as with +\type{dvips}. \type{SlantFont} and \type{ExtendFont} work only with +embedded Type~1 fonts: + +\starttyping +psyro StandardSymL ".167 SlantFont" <usyr.pfb +pcrr8rn Courier ".85 ExtendFont" <8r.enc <pcrr8a.pfb +\stoptyping + +Entirely embed a font into the \PDF\ file without and with re||encoding +(not typically useful): + +\starttyping +fmvr8x MarVoSym <<marvosym.pfb +pgsr8r GillSans <8r.enc <<pgsr8a.pfb +\stoptyping + +A TrueType font can be used in the same way as a Type~1 font: + +\starttyping +verdana8r Verdana <8r.enc <verdana.ttf +\stoptyping + +Finally, a few cases with non-embedded fonts. If the fontfile is +missing, the viewer application will have to use its own approximation +of the missing font (with and without re||encoding): + +\starttyping +ptmr8r Times-Roman <8r.enc +psyr Symbol +\stoptyping + +In the next example the numerical font flags give some rough hint what +general characteristics the GillSans font has, so \eg\ the Adobe Reader +might try an approximation, if it doesn't have the font resource nor +any clue how a font named GillSans should look like: + +\starttyping +pgsr8r GillSans 32 <8r.enc +\stoptyping + +Not embedding fonts is rather risky and should generally be avoided. +The recommendation these days is to embed all fonts, even the 14 standard ones. + +%*********************************************************************** + +\subsection{Helper tools for TrueType fonts} + +As mentioned above, \PDFTEX\ can work with TrueType fonts. Defining +TrueType fonts is similar to Type~1. The only extra thing to do +with TrueType is to create a \TFM\ file. There is a program called +\type{ttf2afm} in the \PDFTEX\ distribution which can be used to +extract \AFM\ from TrueType fonts (another conversion program is +\type{ttf2pt1}). Usage of \type{ttf2afm} is simple: + +\starttyping +ttf2afm -e <encoding vector> -o <afm outputfile> <ttf input file> +\stoptyping + +A TrueType file can be recognized by its suffix \filename {ttf}. The optional +{\em encoding} specifies the encoding, which is the same as the encoding +vector used in map files for \PDFTEX\ and \type{dvips}. If the encoding is +not given, all the glyphs of the \AFM\ output will be mapped to \type +{/.notdef}. \type{ttf2afm} writes the output \AFM\ to standard output. If we +need to know which glyphs are available in the font, we can run \type +{ttf2afm} without encoding to get all glyph names. The resulting \AFM\ file +can be used to generate a \TFM\ one by applying \filename {afm2tfm}. + +To use a new TrueType font the minimal steps may look like below. We suppose +that \filename {test.map} is used. + +\starttyping +ttf2afm -e 8r.enc -o times.afm times.ttf +afm2tfm times.afm -T 8r.enc +echo "times TimesNewRomanPSMT <8r.enc <times.ttf" >>test.map +\stoptyping + +There are a few limitations with TrueType fonts in comparison with +Type~1 fonts: + +\startitemize[a,packed] +\item The special effects SlantFont|/|ExtendFont did not work + before version 1.40.0. +\item To subset a TrueType font, the font must be specified as re||encoded, + therefore an encoding vector must be given. +\item TrueType fonts coming with embedded \PDF\ files are kept + untouched; they are not replaced by local ones. +\stopitemize + +For much more about \PDFTEX\ and TrueType fonts, including many details +on handling glyph names, see ``A closer look at TrueType fonts and +\PDFTEX'', {\em TUGboat} 30:1 (2009), pp.~32||34, \from[thanh_truetype_tub] + +%*********************************************************************** + +\section{Formal syntax specification} + +This section formally specifies the \PDFTEX-specific extensions to the +\TEX\ macro programming language. Most primitives are prefixed by +\type{pdf}. The general definitions and syntax rules follow after the +list of primitives. + +Two new units of measure were introduced in \PDFTEX\ 1.30.0: the +new Didot (1\,nd~=~0.375\,mm) and the new Cicero (1\,nc~=~12\,nd) +(the former was proposed by \ISO\ in 1975). + +% Generated list of primitives (see Makefile). +\input pdftex-syntax.tex + +\subsubject{General definitions and syntax rules} + +\startpacked + +%%S NL +%%S Syntax rules: + +\Syntax{ +\Something{general text} \Means % + \Lbrace \Something{balanced text} \Rbrace +} + +\Syntax{ +\Something{attr spec} \Means % + \Literal{attr} \Something{general text} +} + +\Syntax{ +\Something{resources spec} \Means % + \Literal{resources} \Something{general text} +} + +\Syntax{ +\Something{rule spec} \Means % + (\Literal{width} \Or \Literal{height} \Or \Literal{depth}) % + \Something{dimen} \Optional{\Something{rule spec}} +} + +%\Syntax{\Something{object type spec} \Means +% \Optional{\Literal{stream} +% \Optional{\Something{attr spec}}} \Something{object contents}} + +\Syntax{ +\Something{object type spec} \Means % + \Literal{reserveobjnum} + \Or \Next % + \Optional{\Literal{useobjnum} \Something{number}} \Next % + \Optional{\Literal{stream} \Optional{\Something{attr spec}}} % + \Something{object contents} +} + +\Syntax{ +\Something{annot type spec} \Means % + \Literal{reserveobjnum} + \Or \Next % + \Optional{\Literal{useobjnum} \Something{number}} % + \Optional{\Something{rule spec}} % + \Something{general text} +} + +\Syntax{ +\Something{object contents} \Means % + \Something{file spec} + \Or \Something{general text} +} + +\Syntax{ +\Something{xform attr spec} \Means % + \Optional{\Something{attr spec}} \Optional{\Something{resources spec}} +} + +\Syntax{ +\Something{image attr spec} \Means % + \Optional{\Something{rule spec}} % + \Optional{\Something{attr spec}} % + \Optional{\Something{page spec}} % + \Optional{\Something{colorspace spec}} % + \Optional{\Something{pdf box spec}} +} + +\Syntax{ +\Something{outline spec} \Means % + \Optional{\Something{attr spec}} % + \Something{action spec} % + \Optional{\Literal{count} \Something{number}} % + \Something{general text} +} + +\Syntax{ +\Something{action spec} \Means % + \Literal{user} \Something{user-action spec} + \Or \Literal{goto} \Something{goto-action spec} + \Or \Next \Literal{thread} \Something{thread-action spec} +} + +\Syntax{ +\Something{user-action spec} \Means % + \Something{general text} +} + +%HE Check: +\Syntax{ +\Something{goto-action spec} \Means % + \Something{numid} + \Or \Next \Optional{\Something{file spec}} \Something{nameid} + \Or \Next \Optional{\Something{file spec}} \Optional{\Something{page spec}} \Something{general text} + \Or \Next \Something{file spec} \Something{nameid} \Something{newwindow spec} + \Or \Next \Something{file spec} \Optional{\Something{page spec}} \Something{general text} \Something{newwindow spec} +} + +\Syntax{ +\Something{thread-action spec} \Means % + \Optional{\Something{file spec}} \Something{numid} + \Or \Optional{\Something{file spec}} \Something{nameid} +} + +\Syntax{ +\Something{colorspace spec} \Means % + \Literal{colorspace} \Something{number} +} + +\Syntax{ +\Something{pdf box spec} \Means % + \Literal{mediabox} % + \Or \Literal{cropbox} % + \Or \Literal{bleedbox} % + \Or \Literal{trimbox} % + \Or \Literal{artbox} +} + +\Syntax{ +\Something{map spec} \Means % + \Lbrace \Optional{\Something{map modifier}} % + \Something{balanced text} \Rbrace +} + +\Syntax{ +\Something{map modifier} \Means % + \Literal{+} \Or \Literal{=} \Or \Literal{-} +} + +\Syntax{ +\Something{numid} \Means % + \Literal{num} \Something{number} +} + +\Syntax{ +\Something{nameid} \Means % + \Literal{name} \Something{general text} +} + +\Syntax{ +\Something{newwindow spec} \Means % + \Literal{newwindow} \Or \Literal{nonewwindow} +} + +\Syntax{ +\Something{dest spec} \Means % + \Something{numid} \Something{dest type} + \Or \Something{nameid} \Something{dest type} +} + +\Syntax{ +\Something{dest type} \Means % + \Literal{xyz} \Optional{\Literal{zoom} \Something{number}} + \Or \Literal{fitr} \Something{rule spec} + \Or \Next \Literal{fitbh} + \Or \Literal{fitbv} + \Or \Literal{fitb} + \Or \Literal{fith} + \Or \Literal{fitv} + \Or \Literal{fit} +} + +\Syntax{ +\Something{thread spec} \Means % + \Optional{\Something{rule spec}} % + \Optional{\Something{attr spec}} % + \Something{id spec} +} + +\Syntax{ +\Something{id spec} \Means % + \Something{numid} \Or \Something{nameid} +} + +\Syntax{ +\Something{file spec} \Means % + \Literal{file} \Something{general text} +} + +\Syntax{ +\Something{page spec} \Means % + \Literal{page} \Something{number} +} + +\Syntax{ +\Something{expand spec} \Means % + \Something{stretch} % + \Something{shrink} % + \Something{step} % + \Optional{\Literal{autoexpand}} +} + +\Syntax{ +\Something{stretch} \Means % + \Something{number} +} + +\Syntax{ +\Something{shrink} \Means % + \Something{number} +} + +\Syntax{ +\Something{step} \Means % + \Something{number} +} + +\Syntax{ +\Something{pre spec} \Means % + \Literal{pre} +} + +\Syntax{ +\Something{pdfliteral spec} \Means % + \Literal{direct} \Or \Literal{page} +} + +\Syntax{ +\Something{pdfspecial spec} \Means % + \Lbrace \Optional{\Something{pdfspecial id} % + \Optional{\Something{pdfspecial modifier}}} % + \Something{balanced text} \Rbrace +} + +\Syntax{ +\Something{pdfspecial id} \Means % + \Literal{pdf:} \Or \Literal{PDF:} +} + +\Syntax{ +\Something{pdfspecial modifier} \Means % + \Literal{direct:} +} + +\Syntax{ +\Something{stack action} \Means % + \Literal{set} \Or \Literal{push} \Or \Literal{pop} \Or \Literal{current} +} + +\stoppacked + +A \Something{general text} is expanded immediately, like \type{\special} +in traditional \TEX, unless explicitly mentioned otherwise. + +Some of the object and image related primitives can be prefixed by +\type{\immediate}. More about that in the next sections. + +%*********************************************************************** + +\section[primitives]{\PDFTEX\ primitives} + +Here follows a description of the primitives added by \PDFTEX\ to the +original \TEX\ engine (other extensions by \ETEX, \MLTEX\ and \ENCTEX\ +are not listed). Many of these primitives are described further in the +\filename {samplepdf.tex} file in the \PDFTEX\ distribution. + +If the output is \DVI, then the \PDFTEX-specific dimension parameters +are not used at all. However, some \PDFTEX\ integer parameters can +affect \DVI\ as well as \PDF\ output (specifically, \type{\pdfoutput} and +\type{\pdfadjustspacing}). + +%A warning to macro writers: The \PDFTEX-team reserves the namespaces +%\type{\pdf*} and \type{\ptex*} for use by \PDFTEX; if you define macros +%whose names start with \type{\pdf} or \type{\ptex}, you risk nameclashes +%with new primitives introduced in future versions of \PDFTEX. + +General warning: many of these new primitives, for example +\type{\pdfdest} and \type{\pdfoutline}, write their arguments directly +to the \PDF\ output file (when producing \PDF), as \PDF\ string +constants. This means that {\em you} (or, more likely, the macros you +write) must escape characters as necessary (namely \type{\}, \type{(}, +and \type{)}. Otherwise, an invalid \PDF\ file may result. The +\type{hyperref} and \TEXINFO\ packages have code which may serve as +a starting point for implementing +this, although it will certainly need to be adapted to any particular +situation. + +%*********************************************************************** + +\subsection{Document setup} + +\pdftexprimitive{\Syntax{\Tex{\pdfoutput} \Whatever{integer}}} +\bookmark{\tex{pdfoutput}} + +This parameter specifies whether the output format should be \DVI\ or +\PDF. A positive value means \PDF\ output, otherwise (default 0) one gets +\DVI\ output. This primitive is the only one that must be set to produce +\PDF\ output (unless the commandline option \type{-output-format=pdf} +is used); all other primitives are optional. This parameter cannot be +specified {\em after} shipping out the first page. In other words, if +we want \PDF\ output, we have to set \type{\pdfoutput} before \PDFTEX\ +ships out the first page. + +When \PDFTEX\ starts complaining about specials, one can be rather sure +that a macro package is not aware of the \PDF\ mode. A simple way of +making macros aware of \PDFTEX\ in \PDF\ or \DVI\ mode is: + +\starttyping +\ifx\pdfoutput\undefined \csname newcount\endcsname\pdfoutput \fi +\ifcase\pdfoutput DVI CODE \else PDF CODE \fi +\stoptyping + +Using the \type{ifpdf.sty} file, which works with both \LATEX\ and plain +\TeX, is a cleaner way of doing this. Historically, the simple test +\type{\ifx\pdfoutput\undefined} was defined; but nowadays, the \PDFTEX\ +engine is used in distributions also for non-\PDF\ formats (\eg\ +\LATEX), so \type{\pdfoutput} may be defined even when the output format +is \DVI. + +\pdftexprimitive{\Syntax{\Tex{\pdfminorversion} \Whatever{integer}}} +\bookmark{\tex{pdfminorversion}} + +This primitive sets the \PDF\ version of the generated file and the +highest \PDF\ version of included \PDF{}s allowed without warning, by +default (see \type{\pdfinclusionerrorlevel}). The default compiled into +the \PDFTEX\ program is \type{\pdfminorversion=4}, setting the \PDF\ +version to~1.4 and allowing included \PDF\ files with versions up +to~1.4. If specified, this primitive must appear before any data is to +be written to the generated \PDF\ file. + +Distributions typically alter the engine's compiled default of~4 when +building formats; for example, as of 2010, \TEXLIVE\ sets +\type{\pdfminorversion=5} when formats are built. This is so object +compression can be enabled (described below). + +This was originally a shortened synonym of the +\type{\pdfoptionpdfminorversion} command, which is now obsolete. +\introduced{1.30.0} + + +\pdftexprimitive{\Syntax{\Tex{\pdfcompresslevel} \Whatever{integer}}} +\bookmark{\tex{pdfcompresslevel}} + +This integer parameter specifies the level of {\em stream} compression +(text, inline graphics, and embedded \PNG\ images (only if they are un- +and re-compressed during the embedding process); all done by the +\type{zlib} library). Zero means no compression, 1~means fastest, +9~means best, $2..8$ means something in between. A value outside this +range will be adjusted to the nearest meaningful value. This parameter +is read each time \PDFTEX\ starts a stream. Setting +\type{\pdfcompresslevel=0} is useful for \PDF\ stream debugging. + +\pdftexprimitive{\Syntax{\Tex{\pdfobjcompresslevel} \Whatever{integer}}} +\bookmark{\tex{pdfobjcompresslevel}} + +This integer parameter controls the compression of {\em non-stream} +objects. In the \PDF-1.4 specification these objects still had to go into +the \PDF\ file as clear text, uncompressed. The \PDF-1.5 specification +now allows to collect non-stream objects as ``compressed objects'' into +``object stream'' objects (\type{/Type /ObjStm}, see \PDF\ Ref.\ 5th~ed., +sect.~3.4.6). At the \PDF\ file end instead of the object table then +an \type{/XRef} cross-reference stream is written out. This results in +considerably smaller \PDF\ files, particularly if lots of annotations +and links are used. +\introduced{1.40.0} + +The writing of compressed objects is enabled by setting +\type{\pdfobjcompresslevel} to a value between~1 and~3; it's +disabled by value~0 (default). Enabling requires that also +\type{\pdfminorversion}~$>$~4. If \type{\pdfobjcompresslevel}~$>$~0, +but \type{\pdfminorversion}~$<$~5, a warning is given and object stream +writing is disabled. The \type{\pdfobjcompresslevel} value is clipped +to the range $0..3$. Using values outside this range is not recommended +(for future extension). + +The \type{\pdfobjcompresslevel} settings have the following effects: +When set to~0, no object streams are generated at all. When set to~1, +all non-stream objects are compressed with the exception of any objects +coming with embedded \PDF\ files (``paranoid'' mode, to avoid yet unknown +problems), and also the \type{/Info} dictionary is not compressed for +clear-text legibility. When set to~2, also all non-stream objects coming +with embedded \PDF\ files are compressed, but the \type{/Info} dictionary +is still not compressed. Finally, when set to~3, all non-stream objects +are compressed, including the \type{/Info} dictionary (this means that +the \type{/Info} can't be read as clear text any more). If object streams +are to be used, currently \type{\pdfobjcompresslevel=2} is recommended, +and is so specified in some distributions, including \TEXLIVE~2010 and later. + +\description{Caveat:} \PDF\ files generated with object streams enabled +can't be read with (sufficiently old) \PDF\ viewers that don't +understand \PDF-1.5 files. For widest distribution and unknown audience, +don't activate object stream writing. The \PDF-1.5 standard describes +also a hybrid object compression mode that gives some backward +compatibility, but this is currently not implemented, as \PDF-1.5 was +rather quickly adopted by modern \PDF\ viewers. Also not implemented is +the optional \type{/Extends} key. + +\pdftexprimitive{\Syntax{\Tex{\pdfdecimaldigits} \Whatever{integer}}} +\bookmark{\tex{pdfdecimaldigits}} + +This integer parameter specifies the numeric accuracy of real +coordinates as written to the \PDF\ file. It gives the maximal number of +decimal digits after the decimal point. Valid values are in range +$0..4$. A higher value means more precise output, but also results in a +larger file size and more time to display or print. In most cases the +optimal value is~2. This parameter does not influence the precision of +numbers used in raw \PDF\ code, like that used in \type{\pdfliteral} and +annotation action specifications; also multiplication items (\eg\ +scaling factors) are not affected and are always output with best +precision. This parameter is read when \PDFTEX\ writes a real number to +the \PDF\ output. + +When including huge \METAPOST\ images using \filename {supp-pdf.tex}, one can +limit the accuracy to two digits by typing: \type{\twodigitMPoutput}. + +\pdftexprimitive{\Syntax{\Tex{\pdfhorigin} \Whatever{dimen}}} +\bookmark{\tex{pdfhorigin}} + +This parameter can be used to set the horizontal offset the output box +from the top left corner of the page. A value of 1~inch corresponds to the +normal \TEX\ offset. This parameter is read when \PDFTEX\ starts shipping +out a page to the \PDF\ output. + +For standard purposes, this parameter should always be kept at +1~true inch. If you want to shift text on the page, use \TEX's +own \type{\hoffset} primitive. To avoid surprises, after global +magnification has been changed by the \type{\mag} primitive, the +\type{\pdfhorigin} parameter should still be 1~true inch, \eg\ +by typing \type{\pdfhorigin=1 true in} after issuing the \type{\mag} +command. Or, you can preadjust the \type{\pdfhorigin} value before typing +\type{\mag}, so that its value after the \type{\mag} command ends up at +1~true inch again. + +\pdftexprimitive{\Syntax{\Tex{\pdfvorigin} \Whatever{dimen}}} +\bookmark{\tex{pdfvorigin}} + +This parameter is the vertical companion of \type{\pdfhorigin}, and the +notes above regarding \type{\mag} and true dimensions apply. Also keep +in mind that the \TEX\ coordinate system starts in the top left corner +(downward), while \PDF\ coordinates start at the bottom left corner +(upward). + +\pdftexprimitive{\Syntax{\Tex{\pdfpagewidth} \Whatever{dimen}}} +\bookmark{\tex{pdfpagewidth}} + +This dimension parameter specifies the page width of the \PDF\ output +(the screen, the paper, etc.). \PDFTEX\ reads this parameter when it +starts shipping out a page. After magnification has been changed by +the \type{\mag} primitive, check that this parameter reflects the wished +true page width. + +If the value is set to zero, the page width is calculated as +$w_{\hbox{\txx box being shipped out}} + 2 \times (\hbox{horigin} + +\hbox{\type{\hoffset}})$. When part of the page falls off the paper or +screen, you can be rather sure that this parameter is set wrong. + +\pdftexprimitive{\Syntax{\Tex{\pdfpageheight} \Whatever{dimen}}} +\bookmark{\tex{pdfpageheight}} + +Similar to the previous item, this dimension parameter specifies the +page height of the \PDF\ output. If set to zero, the page height will +be calculated analogously to the above. After magnification has been +changed by the \type{\mag} primitive, check that this parameter reflects +the wished true page height. + +%*********************************************************************** + +\subsection[sec.docinfocatalog]{The document info and catalog} + +\pdftexprimitive{\Syntax{\Tex{\pdfinfo} \Something{general text}}} +\bookmark{\tex{pdfinfo}} + +This primitive allows the user to specify information for the document +info dictionary; if this information is provided, it can be extracted, +\eg\ by the \type{pdfinfo} program. The \Something{general text} is a +collection of key||value||pairs. The key names are preceded by a +\type{/}, and the values, being strings, are given between +parentheses. All keys, and the primitive itself, are optional. Possible +keys are:\crlf +\type{/Title},\crlf +\type{/Author},\crlf +\type{/Subject},\crlf +\type{/Keywords},\crlf +\type{/Producer} (defaults to \hbox{\tt pdfTeX-\currentpdftex}),\crlf +\type{/Creator} (defaults to \type{TeX}),\crlf +\type{/CreationDate} (defaults to current date and time, with time zone),\crlf +\type{/ModDate} (same default),\crlf +\type{/Trapped} (defaults to \type{/False},\crlf +\type{/PTEX.Fullbanner} (defaults to the \type{\pdftexbanner} string, q.v.). + +\type{/CreationDate} and \type{/ModDate} are expressed in the form +\type{D:YYYYMMDDhhmmssTZ}, where \type{YYYY} is the year, \type{MM} is +the month, \type{DD} is the day, hh is the hour, \type{mm} is the +minutes, \type{ss} is the seconds, and \type{TZ} is an optional string +denoting the time zone, \type{Z} for universal time. For example, this +is the Unix epoch, the beginning of 1970-01-01 UTC, in this format: +\type{19700101000000Z}. If the time zone is not UTC, it is given as +\type{+HH'mm'} or \type{-HH'mm'}, indicating an offset of the given +hours and minutes from UTC, with the given either later (\type{+}) or +earlier (\type{-}) than UTC. (This syntax is specified by the PDF +definition.) + +Multiple appearances of \type{\pdfinfo} are concatenated. Usually if a +key is given more than once, the first appearance will be used, but this +is viewer||dependent. Except for standard \TeX\ expansion, \PDFTEX\ does +not perform any further operations in the \Something{general text} +provided by the user. + +Here is an example of using \type{\pdfinfo} to include the +information not supplied by \PDFTEX: + +\starttyping +\pdfinfo { + /Title (example.pdf) + /Author (Tom and Jerry) + /Subject (Example) + /Keywords (mouse, cat) +} +\stoptyping + +For more details on all this, see the \PDFReference. + +\pdftexprimitive{\Syntax{\Tex{\pdfinfoomitdate} \Whatever{integer}}} +\bookmark{\tex{pdfinfoomitdate}} + +If nonzero, omit the \type{/CreationDate} and \type{/ModDate} keys from +the document info dictionary described above. This can be useful in +making reproducible \PDF{}s. \introduced{1.40.17} + +\pdftexprimitive{\Syntax{\Tex{\pdfsuppressptexinfo} \Whatever{integer}}} +\bookmark{\tex{pdfsuppressptexinfo}} + +Treated as a bitmask, specifying which \type{PTEX.*} keys to omit from +the output: + +\startbuffer +\starttabulate[|l|l|] +\HL +\NC \bf value \NC \bf suppresses \NC\NR +\HL +\NC \tt 1 \NC \type{PTEX.Fullbanner} \NC\NR +\NC \tt 2 \NC \type{PTEX.FileName} \NC\NR +\NC \tt 4 \NC \type{PTEX.PageNumber} \NC\NR +\NC \tt 8 \NC \type{PTEX.InfoDict} \NC\NR +\HL +\stoptabulate +\stopbuffer + +\placetable + [here][suppressptexinfo] + {\type{\pdfsuppressptexinfo} bit meanings.} + {\getbuffer} + +Thus, the value \type{-1}, or the sum of all defined bits, will suppress +everything. + +\type{PTEX.Fullbanner} is included by default in the general document +info dictionary, as mentioned under \type{\pdfinfo} above. The other +\type{PTEX.*} keys are included when a \PDF\ is included in the document +(and not otherwise), as described in \in{section}[sec.addpdfkeys]. + +This conditional suppression can be useful in making reproducible +\PDF{}s. \introduced{1.40.17} + +\pdftexprimitive{\Syntax{\Tex{\pdfcatalog} \Something{general text} + \Optional{\Literal{openaction} \Something{action spec}}}} +\bookmark{\tex{pdfcatalog}} + +Similar to the document info section is the document catalog, where +possible keys are \type{/URI}, which specifies the base \URL\ of the +document, and \type {/PageMode}, which determines how the \PDF\ viewer +displays the document on startup. The possibilities for the latter are +explained in \in {table} [pagemode]: + +\startbuffer +\starttabulate[|l|l|] +\HL +\NC \bf value \NC \bf meaning \NC\NR +\HL +\NC \tt /UseNone \NC neither outline nor thumbnails visible \NC\NR +\NC \tt /UseOutlines \NC outline visible \NC\NR +\NC \tt /UseThumbs \NC thumbnails visible \NC\NR +\NC \tt /FullScreen \NC full||screen mode \NC\NR +\HL +\stoptabulate +\stopbuffer + +\placetable + [here][pagemode] + {Supported \type{/PageMode} values.} + {\getbuffer} + +The default \type{/PageMode} setting is \type{/UseNone}. In +full||screen mode, there is no menu bar, window controls, nor any other +window present. + +After the \Something{general text}, a construct \Literal{openaction} +\Something{action spec} can be given, where \Literal{openaction} is a +\PDFTEX\ keyword, and \Something{action spec} specifies the action to be +taken when opening the document. This \Something{action spec} is the +same as for internal links; see \in {section} [linking]. (Instead of +using this method, one can also write the open action directly into the +catalog.) + +Several settings can be made in one \type{\pdfcatalog} call, for +example: + +\starttyping +\pdfcatalog{ + /PageMode /FullScreen +} openaction goto page 2 {/Fit} +\stoptyping + +\pdftexprimitive{\Syntax{\Tex{\pdfnames} \Something{general text}}} +\bookmark{\tex{pdfnames}} + +This primitive inserts the \Something{general text} to the \type +{/Names} array. The text must +conform to the specifications as laid down in the \PDFReference, +otherwise the document can be invalid. + +\pdftexprimitive{\Syntax{\Tex{\pdftrailer} \Something{general text}}} +\bookmark{\tex{pdftrailer}} + +This command puts its argument text verbatim into the file trailer +dictionary. Example: \type{\pdftrailer {/mytrlrkey /mytrlrval}}. +\introduced{1.11a} + +\pdftexprimitive{\Syntax{\Tex{\pdftrailerid} \Something{general text}}} +\bookmark{\tex{pdftrailerid}} + +Use the \Something{general text} to seed the \type{/ID} value in the +trailer, instead of the default combination of the input file +name and starting time. If the argument is empty, the \type{/ID} is +omitted entirely. Example: \type{\pdftrailerid{}}. This can be useful +in making reproducible \PDF{}s. \introduced{1.40.17} + +%*********************************************************************** + +\subsection{Fonts} + +\pdftexprimitive{\Syntax{\Tex{\pdfpkresolution} \Whatever{integer}}} +\bookmark{\tex{pdfpkresolution}} + +This integer parameter specifies the default resolution of embedded \PK\ +fonts and is read when \PDFTEX\ embeds a \PK\ font during finishing the +\PDF\ output. As bitmap fonts are still rendered poorly by some \PDF\ +viewers, it is best to use Type~1 fonts when available. + +\pdftexprimitive{\Syntax{\Tex{\pdffontexpand} + \Something{font} \Something{stretch} \Something{shrink} + \Something{step} \Optional{\Literal{autoexpand}}}} +\bookmark{\tex{pdffontexpand}} + +This extension to \TEX's font definitions controls a major \PDFTEX\ feature +called {\em font expansion}. We describe this by an example: + +\starttyping +\font\somefont=sometfm at 10pt +\pdffontexpand\somefont 30 20 10 autoexpand +\pdfadjustspacing=2 +\stoptyping + +The \type{30 20 10} means this: \quotation {hey \TEX, when line breaking +is going badly, you may stretch the glyphs from this font as much as +3\,\% or shrink them as much as 2\,\%}. For practical reasons \PDFTEX\ +uses discrete expansion steps, in this example, 1\,\%. Roughly spoken, the +trick is as follows. Consider a text typeset in triple column mode. When +\TEX\ cannot break a line in the appropriate way, the unbreakable parts +of the word will stick into the margin. When \PDFTEX\ notes this, it +will try to scale (shrink) the glyphs in that line using fixed steps, +until the line fits. When lines are too spacy, the opposite happens: +\PDFTEX\ starts scaling (stretching) the glyphs until the white space +gaps is acceptable. This glyph stretching and shrinking is called +{\em font expansion}. To enable font expansion, don't forget to set +\type{\pdfadjustspacing} to a value greater than zero. + +There are two different modes for font expansion: + +First, if the \type{autoexpand} option is given --- which is the +recommended mode --- only a single map entry is needed for all expanded +font versions, using the name of the unexpanded \TFM\ file ({\em +tfmname}). No expanded {\em tfmname} versions need to mentioned (they are +ignored), as \PDFTEX\ generates expanded copies of the unexpanded \TFM\ +data structures and keeps them in its memory. Since \PDFTEX~1.40.0 the +\type{autoexpand} mode happens within the page stream by modification of +the text matrix (\PDF\ operator ``\type{Tm}''), and not anymore on font +file level, giving the advantage that it now works not only with Type~1 +but also with TrueType and OpenType fonts (and even without embedding +a font file; but that's not recommended). In this mode \PDFTEX\ requires +only unexpanded font files. + +Second, if the \type{autoexpand} option is missing, setting up font +expansion gets more tedious, as there must be map entries for \TFM\ files +in all required expansion values. The expanded {\em tfmname} variants +are constructed by adding the font expansion value to the {\em tfmname} +of the base font, \eg\ there must be a map entry with {\em tfmname} +\type{sometfm+10} for 1\,\% stretch or \type{sometfm-15} for 1.5\,\% +shrink. This also means, that for each expanded font variant a \TFM\ +file with properly expanded metrics must exist. Having several map +entries for the various expansion values of a font requires to provide +for each expansion value an individually crafted font file with expanded +glyphs. Depending on how these glyphs are generated, this might give +slightly better glyph forms than the rather simple glyph stretching +used in \type{autoexpand mode}. The drawback is that several font +files will be embedded in the \PDF\ output for each expanded font, +leading to significantly larger \PDF\ files than in \type{autoexpand} +mode. For moderate expansion values going without \type{autoexpand} +mode is not worth the trouble. + +The font expansion mechanism is inspired by an optimization first +introduced by Prof.~Hermann Zapf, which in itself goes back to +optimizations used in the early days of typesetting: use different +glyphs to optimize the grayness of a page. So, there are many, slightly +different~a's, e's, etc. For practical reasons \PDFTEX\ does not use +such huge glyph collections; it uses horizontal scaling instead. This is +sub||optimal, and for many fonts, possibly offensive to the design. But, +when using \PDF, it's not illogical: \PDF\ viewers use so||called +Multiple Master fonts when no fonts are embedded and|/|or can be found +on the target system. Such fonts are designed to adapt their design to +the different scaling parameters. It is up to the user to determine +to what extent mixing slightly remastered fonts can be used without +violating the design. Think of an O: when geometrically stretched, the +vertical part of the glyph becomes thicker, and looks incompatible with +an unscaled original. With a Multiple Master situation, one can stretch +while keeping this thickness compatible. + +\pdftexprimitive{\Syntax{\Tex{\pdfadjustspacing} \Whatever{integer}}} +\bookmark{\tex{pdfadjustspacing}} + +This primitive provides a switch for enabling font expansion. By default, +\type{\pdfadjustspacing} is set to~0; then font expansion is disabled, +so that the \PDFTEX\ output is identical to that from the original \TEX\ +engine. + +Font expansion can be activated in two modes. When +\type{\pdfadjustspacing} is set to~1, font expansion is applied {\em +after} \TEX's normal paragraph breaking routines have broken the paragraph +into lines. In this case, line breaks are identical to standard \TEX\ +behavior. + +When set to~2, the width changes that are the result of stretching and +shrinking are taken into account {\em while} the paragraph is broken into +lines. In this case, line breaks are likely to be different from those of +standard \TEX. In fact, paragraphs may even become longer or shorter. + +Both alternatives require a collection of \TFM\ files that are +related to the \Something{stretch} and \Something{shrink} settings +for the \type{\pdffontexpand} primitive, unless this is given with the +\type{autoexpand} option. + +\pdftexprimitive{\Syntax{\Tex{\efcode} \Something{font} + \Something{8-bit number} \Whatever{integer}}} +\bookmark{\tex{efcode}} + +We haven't yet told the whole story. One can imagine that some glyphs are +visually more sensitive to stretching or shrinking than others. Then the +\type{\efcode} primitive can be used to influence the expandability of +individual glyphs within a given font, as a factor to the expansion +setting from the \type{\pdffontexpand} primitive. The syntax is similar +to \type{\sfcode} (but with the \Something{font} required), and it +defaults to~1000, meaning 100\,\% expandability. The given integer value +is clipped to the range $0..1000$, corresponding to a usable +expandability range of $0..100$\,\%. Example: + +\starttyping +\efcode\somefont`A=800 +\efcode\somefont`O=0 +\stoptyping + +Here an A may stretch or shrink only by 80\,\% of the current expansion +value for that font, and expansion for the~O is disabled. The actual +expansion is still bound to the steps as defined by \type{\pdffontexpand} +primitive, otherwise one would end up with more possible font inclusions +than would be comfortable. + +Changes to this table are global, i.e., ignore \TeX's usual grouping, +and apply only to the given \Something{font}. + +\pdftexprimitive{\Syntax{\Tex{\pdfprotrudechars} \Whatever{integer}}} +\bookmark{\tex{pdfprotrudechars}} + +Yet another way of optimizing paragraph breaking is to let certain +characters move into the margin (`character protrusion'). When +\type{\pdfprotrudechars=1}, the glyphs qualified as such will make +this move when applicable, without changing the line-breaking. When +\type{\pdfprotrudechars=2} (or greater), character protrusion will +be taken into account while considering breakpoints, so line-breaking +might be changed. This qualification and the amount of shift are set by +the primitives \type{\rpcode} and \type{\lpcode}. Character protrusion +is disabled when \type{\pdfprotrudechars=0} (or negative). + +If you want to protrude some item other than a character (\eg\ +a \type{\hbox}), you can do so by padding the item with an invisible +zero||width character, for which protrusion is activated. + +\pdftexprimitive{\Syntax{\Tex{\rpcode} \Something{font} + \Something{8-bit number} \Whatever{integer}}} +\bookmark{\tex{rpcode}} + +The amount that a character from a given font may shift into the right +margin (`character protrusion') is set by the primitive \type{\rpcode}. +The protrusion distance is the integer value given to \type{\rpcode}, +multiplied with 0.001\,em from the current font. The given integer value +is clipped to the range $-1000..1000$, corresponding to a usable +protrusion range of $-$1\,em..1\,em. Example: + +\starttyping +\rpcode\somefont`,=200 +\rpcode\somefont`-=150 +\stoptyping + +Here the comma may shift by 0.2\,em into the margin and the hyphen by +0.15\,em. All these small bits and pieces will help \PDFTEX\ to give +you better paragraphs (use \type{\rpcode} judiciously; don't overdo it). + +Remark: old versions of \PDFTEX\ use the character width as measure. This +was changed to a proportion of the em-width after \THANH\ finished his +master's thesis. + +Changes to this table are global, i.e., ignore \TeX's usual grouping, +and apply only to the given \Something{font}. + +\pdftexprimitive{\Syntax{\Tex{\lpcode} \Something{font} + \Something{8-bit number} \Whatever{integer}}} +\bookmark{\tex{lpcode}} + +This is similar to \type{\rpcode}, but affects the amount by which +characters may protrude into the left margin. Here also the given integer +value is clipped to the range $-1000..1000$. + +Changes to this table are global, i.e., ignore \TeX's usual grouping, +and apply only to the given \Something{font}. + +\pdftexprimitive{\Syntax{\Tex{\leftmarginkern} \Something{box number} + \Whatever{expandable}}} +\bookmark{\tex{leftmarginkern}} + +The \Tex{\leftmarginkern} \Something{box number} primitive expands to the +width of the margin kern at the left side of the horizontal list stored +in \Tex{\box} \Something{box number}. The expansion string includes the +unit \type{pt}. \Eg, when the left margin kern of \type{\box0} amounts +to $-$10\,pt, \type{\leftmarginkern0} will expand to \type{-10pt}. +A similar primitive \type{\rightmarginkern} exists for the right margin. +\introduced{1.30.0} + +These are auxiliary primitives to make character protrusion +more versatile. When using the \TEX\ primitive \type{\unhbox} or +\type{\unhcopy}, the margin kerns at either end of the unpackaged +hbox will be removed (\eg\ to avoid weird effects if several +hboxes are unpackaged behind each other into the same horizontal +list). These \type{\unhbox} or \type{\unhcopy} are often used together +with \type{\vsplit} for dis- and re||assembling of paragraphs, \eg\ to +add line numbers. Paragraphs treated like this do not show character +protrusion by default, as the margin kerns have been removed during the +unpacking process. + +The \type{\leftmarginkern} and \type{\rightmarginkern} primitives allow +to access the margin kerns and store them away before unpackaging the +hbox. \Eg\, the following code snipplet restores margin kerning of +a horizontal list stored in \type{\box\testline}, resulting in a hbox with +proper margin kerning (which is then done by ordinary kerns). + +\starttyping +\dimen0=\leftmarginkern\testline +\dimen1=\rightmarginkern\testline +\hbox to\hsize{\kern\dimen0\unhcopy\testline\kern\dimen1} +\stoptyping + +\pdftexprimitive{\Syntax{\Tex{\rightmarginkern} \Something{box number} + \Whatever{expandable}}} +\bookmark{\tex{rightmarginkern}} + +The \Tex{\rightmarginkern} \Something{box number} primitive expands to +the width of the margin kern at the right side of the horizontal list +stored in \Tex{\box} \Something{box number}. See \type{\leftmarginkern} +for more details. +\introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\letterspacefont} \Something{control sequence} + \Something{font} \Something{integer}}} +\bookmark{\tex{letterspacefont}} + +This primitive creates an instance of \Something{font} with the widths +of all glyphs increased by \Something{integer} thousandths of an em (as +set in \Something{font}). The effect is letter spacing, but the glyphs +are actually larger (sidebearings are increased), so a single glyph will +take more space. For instance, the following creates a font +\type{\lsfont} whose glyphs are all 1.2\,pt larger than those of +\type{\normalfont}: + +\starttyping +\font\normalfont=myfont at 12pt +\letterspacefont\lsfont\normalfont 100 +\stoptyping + +Negative values are allowed for \Something{integer}. +Letter spacing works natively in \PDF\ mode only, unless special fonts are +devised (in our example, a \type{myfont+100ls} font), as with font expansion. + +\pdftexprimitive{\Syntax{\Tex{\pdfcopyfont} \Something{control sequence} + \Something{font}}} +\bookmark{\tex{pdfcopyfont}} + +This primitive defines \Something{control sequence} as a synonym for +\Something{font}. + +\pdftexprimitive{\Syntax{\Tex{\pdffontattr} \Something{font} + \Something{general text}}} +\bookmark{\tex{pdffontattr}} + +This primitive inserts the \Something{general text} to the \type{/Font} +dictionary. The text must conform to the specifications as laid down in +the \PDFReference, otherwise the document can be invalid. For examples, +see the \type{cmap} and \type{CJK} packages. + +\pdftexprimitive{\Syntax{\Tex{\pdffontname} \Something{font} + \Whatever{expandable}}} +\bookmark{\tex{pdffontname}} + +In \PDF\ files produced by \PDFTEX\ one can recognize a font resource +by the prefix~\type{/F} followed by a number, for instance \type{/F12} +or \type{/F54}. For a given \TEX\ \Something{font}, this primitive +expands to the number from the corresponding font resource name. +\Eg, if \type{/F12} corresponds to some \TEX\ font \type{\foo}, the +\type{\pdffontname\foo} expands to the number~\type{12}. + +In the current implementation, when \type{\pdfuniqueresname} (see below) +is set to a positive value, the \type{\pdffontname} still returns only the +number from the font resource name, but not the appended random string. + +\pdftexprimitive{\Syntax{\Tex{\pdffontobjnum} \Something{font} + \Whatever{expandable}}} +\bookmark{\tex{pdffontobjnum}} + +This command is similar to \type{\pdffontname}, but it returns the +\PDF\ object number of the font dictionary instead of the number from +the font resource name. \Eg, if the font dictionary (\type{/Type +/Font}) in \PDF\ object~3 corresponds to some \TEX\ font \type{\foo}, +the \type{\pdffontobjnum\foo} gives the number~\type{3}. + +Use of \type{\pdffontname} and \type{\pdffontobjnum} allows users full +access to all the font resources used in the document. + +\pdftexprimitive{\Syntax{\Tex{\pdffontsize} \Something{font} + \Whatever{expandable}}} +\bookmark{\tex{pdffontsize}} + +This primitive expands to the font size of the given font, with unit +\type{pt}. \Eg, when using the plain \TeX\ macro package, the call +\type{\pdffontsize\tenrm} expands to \type{10.0pt}. + +\pdftexprimitive{\Syntax{\Tex{\pdfincludechars} \Something{font} + \Something{general text} \Whatever{expandable}}} +\bookmark{\tex{pdfincludechars}} + +This command causes \PDFTEX\ to treat the characters in \Something{general +text} as if they were used with \Something{font}\unkern, which means that the +corresponding glyphs will be embedded into the font resources in the \PDF\ +output. Nothing is appended to the list being built. + +\pdftexprimitive{\Syntax{\Tex{\pdfuniqueresname} \Whatever{integer}}} +\bookmark{\tex{pdfuniqueresname}} + +When this primitive is assigned a positive number, \PDF\ resource names +will be made reasonably unique by appending a random string consisting +of six \ASCII\ characters. + +\pdftexprimitive{\Syntax{\Tex{\pdfmapfile} \Something{map spec}}} +\bookmark{\tex{pdfmapfile}} + +This primitive is used for reading a font map file consisting of +one or more font map lines. The name of the map file is given in +the \Something{map spec} together with an optional leading modifier +character. If no \type{\pdfmapfile} primitive is given, the default map +file \filename{pdftex.map} will be read by \PDFTEX. There is a companion +primitive \type{\pdfmapline} that allows to scan single map lines; +its map line argument has the same syntax as the map lines from a map +file. Both primitives can be used concurrently. The \type{\pdfmapfile} +primitive is fast for reading external bulk font map information (many +map lines collected in a map file), whereas the \type{\pdfmapline} allows +to put the font map information for individual \TeX\ fonts right into +the \TeX\ source or a style file. In any case the map line information +is scanned by \PDFTEX, and in the most common case the data are put into +a fresh internal map entry data structure, which is then consulted once +a font is called. + +Normally there is no need for the \PDFTEX\ user to bother about the +\type{\pdfmapfile} or \type{\pdfmapline} primitives, as the main \TEX\ +distributions provide nice helper tools that automatically assemble +the default font map file. Prominent tool examples are the scripts +\type{updmap} and \type{updmap-sys} coming with \TEXLIVE\ and \TETEX. +If your map file isn't in the current directory (or a standard system +directory), you will need to set the \type{TEXFONTMAPS} variable (in +\WEBC) or give an explicit path so that it will be found. + +When the \type{\pdfmapfile} or \type{\pdfmapline} primitive is read +by \PDFTEX, the argument (map file or map line) will be processed +{\em immediately}, and the internal map entry database is updated. +The operation mode of the \type{\pdfmapfile} and \type{\pdfmapline} +primitives is selected by an optional modifier character (\type{+}, +\type{=}, \type{-}) in front of the {\em tfmname} field. This modifier +defines how the individual map lines are going to be handled, and how +a collision between an already registered map entry and a newer one is +resolved; either ignoring a later entry, or replacing or deleting an +existing entry. But in any case, map entries of fonts already in use +are kept untouched. Here are two examples: + +\starttyping +\pdfmapfile{+myfont.map} +\pdfmapline{+ptmri8r Times-Italic <8r.enc <ptmri8a.pfb} +\stoptyping + +When no modifier character is given (\eg\ \type{\pdfmapfile{foo.map}} +or \type{\pdfmapline{phvr8r Helvetica}}) and there hasn't already been +any call of one of these primitives before, then the default map file +\filename{pdftex.map} will {\em not} be read in. Apart from this the +given map file will be processed similarly as with a \type{+} modifier: +duplicate later map entries within the file are ignored and a warning is +issued. This means, that you can block reading of the default map file +also by an empty \type{\pdfmapfile{}} or \type{\pdfmapline{}} early in +the \TeX\ file. When the default map file is large but you don't need it +anyway, these command variants might considerably speed up the \PDFTEX\ +startup process. + +If a modifier is given, the mechanism is so that before reading the +items given as arguments to \type{\pdfmapfile} or \type{\pdfmapline} +the default map file will be read first --- if this hasn't already +been done or been prevented by the above blocking cases. This should +be mostly compatible with the traditional behavior. If you want to add +support for a new font through an additional font map file while keeping +all the existing mappings, don't use the primitive versions without +modifier, but instead type either \type{\pdfmapfile{+myfont.map}} or +\type{\pdfmapfile{=myfont.map}}, as described below. + +\type{\pdfmapfile {+foo.map}} reads the file \filename{foo.map}; duplicate +later map entries within the file are ignored and a warning is issued. + +\type{\pdfmapfile {=foo.map}} reads the file \filename{foo.map}; +matching map entries in the database are replaced by new entries from +\filename{foo.map} (if they aren't already in use). + +\type{\pdfmapfile {-foo.map}} reads the file \filename{foo.map}; matching +map entries are deleted from the database (if not yet in use). + +If you want to use a base map file name other than \type{pdftex.map}, +or change its processing options through a \PDFTEX\ format, you can do +this by appending the \type{\pdfmapfile} command to the \type{\everyjob{}} +token list for the \type{-ini} run, \eg: + +\starttyping +\everyjob\expandafter{\the\everyjob\pdfmapfile{+myspecial.map}} +\dump +\stoptyping + +This would always read the file \type{myspecial.map} after the default +\type{pdftex.map} file. + + +\pdftexprimitive{\Syntax{\Tex{\pdfmapline} \Something{map spec}}} +\bookmark{\tex{pdfmapline}} + +Similar to \type{\pdfmapfile}, but here you can give a single +map line (like the ones in map files) as an argument. The optional modifiers +(\type{+-=}) have the same effect as with \type{\pdfmapfile}; see also +the description above. Example: + +\starttyping +\pdfmapline{+ptmri8r Times-Italic <8r.enc <ptmri8a.pfb} +\stoptyping + +This primitive (especially the \type{\pdfmapline{=...}} variant) is useful +for temporary quick checks of a new font map entry during development, +before finally putting it into a map file. + +\type{\pdfmapline {}} like \type{\pdfmapfile {}} blocks reading +of the default map file, if it comes early enough in the \TeX\ +input. \introduced{1.20a} + + +\pdftexprimitive{\Syntax{\Tex{\pdfsuppresswarningdupmap} \Whatever{integer}}} +\bookmark{\tex{pdfsuppresswarningdupmap}} + +Ordinarily, \PDFTEX\ gives a warning when a duplicate map entry for a +given font is read, whatever the mechanism. However, sometimes it is +useful to include map information within the document, using +\type{\pdfmapfile} or \type{\pdfmapline}, even for fonts that happen to +be installed on the system. Then seeing the warnings on every run is +just noise, and can be suppressed by setting this parameter to a +positive number. \introduced{1.40.13} + +\pdftexprimitive{\Syntax{\Tex{\pdftracingfonts} \Whatever{integer}}} +\bookmark{\tex{pdftracingfonts}} + +This integer parameter specifies the level of verbosity for info about +expanded fonts given in the log, \eg\ when \type{\tracingoutput=1}. +If \type{\pdftracingfonts=0}, which is the default, the log shows the +actual non-zero signed expansion value for each expanded letter within +brackets, \eg: + +\starttyping +...\xivtt (+20) t +\stoptyping + +If \type{\pdftracingfonts=1}, also the name of the \TFM\ file is listed, +together with the font size, \eg: + +\starttyping +...\xivtt (cmtt10+20@14.0pt) t +\stoptyping + +Setting \type{\pdftracingfonts} to a value other than~0 or~1 is not +recommended, to allow future extensions. \introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfmovechars} \Whatever{integer}}} +\bookmark{\tex{pdfmovechars}} + +Since \PDFTEX\ version 1.30.0 the primitive \type{\pdfmovechars} is obsolete, +and its use merely leads to a warning. (This primitive specified whether +\PDFTEX\ should try to move characters in range 0..31 to higher slots; +its sole purpose was to remedy certain bugs of early \PDF\ viewers.) + +\pdftexprimitive{\Syntax{\Tex{\pdfpkmode} \Whatever{tokens}}} +\bookmark{\tex{pdfpkmode}} + +The \type{\pdfpkmode} is a token register that sets the \METAFONT\ mode for +pixel font generation. The contents of this register is dumped into the +format, so one can (optionally) preset it \eg\ in \type{pdftexconfig.tex}. +\introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfnoligatures} \Something{font}}} +\bookmark{\tex{pdfnoligatures}} + +This disables all ligatures in the loaded font \Something{font}. +\introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\tagcode} \Something{font} + \Something{8-bit number} \Whatever{integer}}} +\bookmark{\tex{tagcode}} + +This primitive accesses a character's \type{char_tag} info. It is meant +to delete \type{lig_tag} (the character's ligature/kerning program), +\type{list_tag} (which indicates that the character belongs to a chain of +ascending sizes) and/or \type{ext_tag} (which indicates that the character +is extensible), with the following options: assigning \type{-7} or smaller +clears all tags, \type{-6} clears \type{ext_tag} and \type{list_tag}, +\type{-5} clears \type{ext_tag} and \type{lig_tag}, \type{-4} clears +\type{ext_tag}, \type{-3} clears \type{list_tag} and \type{lig_tag}, +\type{-2} clears \type{list_tag}, \type{-1} clears \type{lig_tag}, +and \type{0} or larger does nothing. Changes are irreversible and global. + +Conversely, when queried, the primitive returns \type{0} if the tag's +value is \type{no_tag}, \type{1} if \type{lig_tag} is set, \type{2} if +\type{list_tag} is set or \type{4} (not~3) if \type{ext_tag} is set. + +\pdftexprimitive{\Syntax{\Tex{\pdfgentounicode} \Whatever{integer}}} + +By default, \PDFTEX\ does not include a \type{/ToUnicode} resource when +including fonts in the output. Such a resource (also called a CMap +resource) maps glyph names to Unicode characters in a \PDF\ file. +Lacking such a resource, it is the \PDF\ reader which determines how and +whether searching in the \PDF\ file works. In practice, searching for +basic ASCII characters generally works, but searching for anything +beyond those, including ligatures such as `fi', fails in some versions +of some PDF browsers (most notably Adobe Reader). + +If \type{\pdfgentounicode} is set to \type{1} when the job ends, the +\type{/ToUnicode} resource will be included in the output, with mappings +for Type~1 fonts used in the documents. The mapping is created as +follows: for each glyph in the font, look for its \type{ToUnicode} value +in a global hash table. By default that global hash table is empty; +entries are added to the table using the following command: + +\pdftexprimitive{\Syntax{\Tex{\pdfglyphtounicode} \Something{general text} + \Something{general text}}} + +The first argument is the name of a glyph, the second is a string of Unicode +numeric values denoting characters, separated by spaces. For instance: + +\starttyping +\pdfgentounicode=1 +\pdfglyphtounicode{ff}{0066 0066} +\stoptyping + +\noindent maps the \type{ff} ligature to a pair of \type{f}'s (whose +code is \type{U+0066}). + +The \type{glyphtounicode.tex} file (distributed with \PDFTEX\ and other +software) contains thousands of such definitions, covering most common +glyph names. So, for practical purposes, one would probably want: + +\starttyping +\input glyphtounicode +\pdfgentounicode=1 +\stoptyping + +\LATEX\ users could load the \type{cmap} package to achieve the same +effect. + + +\pdftexprimitive{\Syntax{\Tex{\pdfnobuiltintounicode} \Something{font}}} + +The primary purpose of this command is to prevent \PDFTEX\ from +generating the \type{ToUnicode}/CMap resource for the given font when +\type{\pdfgentounicode=1}, most likely because the CMap resource is +already generated by some other method (for example, the \LATEX\ +\type{cmap} package uses \type{\pdffontattr} to generate a CMap +resource). + +Minimal example: +\starttyping +\font\f=cmb10 +\pdfnobuiltintounicode\f +\f No unicode mappings for this output. +\stoptyping +\introduced{1.40.11} + + +\pdftexprimitive{\Syntax{\Tex{\pdfinterwordspaceon}}} +\pdftexprimitive{\Syntax{\Tex{\pdfinterwordspaceoff}}} + +These commands create corresponding whatsit nodes which turn on/off +generation of faked interword spaces in the output. This allows for +better reflowing of text on the fly by \PDF\ readers, better extraction +of textual content, and is required by \PDF/A. It does not affect the +normal \TeX\ justification with glue. + +This requires finding and reading font files \type{dummy-space.tfm} and +\type{pfb}; the font is included in the \PDF\ output and character 32 is +inserted from it as the ``fake'' space. + +Example of usage (see also the \type{fake-interword-space.tex} test file): + +\starttyping +Text with no interword spaces. + +\pdfmapline{+dummy-space <dummy-space.pfb} +\pdfglyphtounicode{space}{0020} +\pdfinterwordspaceon + +Switch to text with faked interword spaces. + +\pdfinterwordspaceoff + +Back to text with no interword spaces. +\stoptyping +\introduced{1.40.15} + +\pdftexprimitive{\Syntax{\Tex{\pdffakespace}}} + +Insert a faked interword space to the output, regardless of the value of +\type{\pdfinterwordspaceon} and \type{\pdfinterwordspaceoff}. Example: + +\starttyping +Text with no interword \pdffakespace\pdffakespace spaces. +\stoptyping +\introduced{1.40.15} + +%*********************************************************************** + +\subsection{Spacing} + +Controlling spacing before and after characters was introduced in +version 1.30, mostly to handle punctuation rules in different +languages. The \type{\...code} tables here, like those in the previous +section, operate globally, i.e., ignore \TeX's usual grouping, and apply +only to the given \Something{font}, not other instances of the +underlying font. + +\pdftexprimitive{\Syntax{\Tex{\pdfadjustinterwordglue} \Whatever{integer}}} +\bookmark{\tex{pdfadjustinterwordglue}} + +If positive, adjustment of interword glue is enabled and controlled by the +following three primitives. + +\pdftexprimitive{\Syntax{\Tex{\knbscode} \Something{font} + \Something{8-bit number} \Whatever{integer}}} +\bookmark{\tex{knbscode}} + +The amount of space, in thousandths of an em, added to the natural width +of the glue following a character (the name stands for ``kern before +space'', although technically it is looking at glue items, not kern +items). This amounts is clipped to the range $-1000..1000$. For +instance, the following example means that glues after periods will be +increased by .2\,em. + +\starttyping +\pdfadjustinterwordglue=1 +\knsbcode\font`\.=200 +\stoptyping + +\pdftexprimitive{\Syntax{\Tex{\stbscode} \Something{font} + \Something{8-bit number} \Whatever{integer}}} +\bookmark{\tex{stbscode}} + +This works like \type{\knbscode}, but applies to the stretch component of +the following glue. + +\pdftexprimitive{\Syntax{\Tex{\shbscode} \Something{font} + \Something{8-bit number} \Whatever{integer}}} +\bookmark{\tex{shbscode}} + +Like \type{\stbscode}, but for the shrink component. + +\pdftexprimitive{\Syntax{\Tex{\pdfprependkern} \Whatever{integer}}} +\bookmark{\tex{pdfprependkern}} + +If positive, automatic insertion of kerns before characters is enabled. + +\pdftexprimitive{\Syntax{\Tex{\knbccode} \Something{font} + \Something{8-bit number} \Whatever{integer}}} +\bookmark{\tex{knbccode}} + +The width of the kern, in thousandths of an em, inserted before a character. +It is clipped to the range $-1000..1000$. For instance, with the +following code, a .15\,em-kern will be inserted before all question marks +(useful for \eg\ French punctuation): + +\starttyping +\pdfprependkern=1 +\knbccode\font`\?=150 +\stoptyping + +\pdftexprimitive{\Syntax{\Tex{\pdfappendkern} \Whatever{integer}}} +\bookmark{\tex{pdfappendkern}} + +Same as \type{\pdfprependkern}, but for kerns inserted after characters. + +\pdftexprimitive{\Syntax{\Tex{\knaccode} \Something{font} + \Something{8-bit number} \Whatever{integer}}} +\bookmark{\tex{knaccode}} + +Same as \type{\knbccode}, except the kern is inserted after the +character. Such a kern is required for instance after a left guillemet +in French punctuation. + +%*********************************************************************** + +\subsection{Vertical adjustments} + +\pdftexprimitive{\Syntax{\Tex{\pdfignoreddimen} \Whatever{dimen}}} +\bookmark{\tex{pdfignoreddimen}} + +This is the dimension which must assigned to the following four primitives +so they are ignored. Default is \type{-1000pt}, and it should be modified +with care since it also influences when a previous paragraph's depth is ignored +(for instance, the plain \TEX\ macro \type{\nointerlineskip} should be +modified accordingly). + +\pdftexprimitive{\Syntax{\Tex{\pdffirstlineheight} \Whatever{dimen}}} +\bookmark{\tex{pdffirstlineheight}} + +This parameter specifies the height of the first line of a paragraph, +regardless of its content. It is read when the paragraph builder is +called, and ignored when set to \type{\pdfignoreddimen}. By default, +it is set to \type{-1000pt}, so it is ignored as long as the value +of \type{\pdfignoreddimen} is the same. + +\pdftexprimitive{\Syntax{\Tex{\pdflastlinedepth} \Whatever{dimen}}} +\bookmark{\tex{pdflastlinedepth}} + +This is similar to the previous parameter, but affects the last line's +depth of a paragraph. + +\pdftexprimitive{\Syntax{\Tex{\pdfeachlineheight} \Whatever{dimen}}} +\bookmark{\tex{pdfeachlineheight}} + +Similar to \type{\pdffirstlineheight}, but for all lines of a paragraph, +including the first one, unless \type{\pdffirstlineheight} is specified. + +\pdftexprimitive{\Syntax{\Tex{\pdfeachlinedepth} \Whatever{dimen}}} +\bookmark{\tex{pdfeachlinedepth}} + +Like the preceding parameter, but for depth. + +%*********************************************************************** + +\subsection{\PDF\ objects} + +\pdftexprimitive{\Syntax{\Tex{\pdfobj} \Something{object type spec} + \Modelist{h, v, m}}} +\bookmark{\tex{pdfobj}} + +This command creates a raw \PDF\ object that is written to the \PDF\ +file as \type{1 0 obj} \unknown\ \type{endobj}. The object is written to +\PDF\ output as provided by the user. When \Something{object type spec} +is not given, \PDFTEX\ no longer creates a dictionary object with +contents \Something{general text}, as it did in the past. + +When, however, \Something{object type spec} is given as \Something{attr +spec} \Literal{stream}, the object will be created as a stream with +contents \Something{general text} and additional attributes in +\Something{attr spec}\unkern. + +When \Something{object type spec} is given as \Something{attr spec} +\Literal{file}, then the \Something{general text} will be treated as a file +name and its contents will be copied into the stream contents. + +When \Something{object type spec} is given as \type{reserveobjnum}, +just a new object number is reserved. The number of the reserved object +is accessible via \type{\pdflastobj}. The object can later be filled +with contents by \Syntax{\Tex{\pdfobj} \Literal{useobjnum} +\Something{number} \Lbrace\Something{balanced text}\Rbrace}. +But the reserved object number can already be used before by other +objects, which provides a forward||referencing mechanism. + +The object is kept in memory and will be written to the \PDF\ output only +when its number is referred to by \type{\pdfrefobj} or when \type{\pdfobj} +is preceded by \type{\immediate}. Nothing is appended to the list being +built. The number of the most recently created object is accessible via +\type{\pdflastobj}. + +\pdftexprimitive{\Syntax{\Tex{\pdflastobj} \Whatever{read||only integer}}} +\bookmark{\tex{pdflastobj}} + +This command returns the object number of the last object created by \type +{\pdfobj}. + +\pdftexprimitive{\Syntax{\Tex{\pdfrefobj} \Something{object number} + \Modelist{h, v, m}}} +\bookmark{\tex{pdfrefobj}} + +This command appends a whatsit node to the list being built. When the whatsit +node is searched at shipout time, \PDFTEX\ will write the object +\Something{object number} +to the \PDF\ output if it has not been written yet. + +%*********************************************************************** + +\subsection{Page and pages objects} + +\pdftexprimitive{\Syntax{\Tex{\pdfpagesattr} \Whatever{tokens}}} +\bookmark{\tex{pdfpagesattr}} + +\PDFTEX\ expands this token list when it finishes the \PDF\ output and +adds the resulting character stream to the root \type{Pages} +object. When defined, these are applied to all pages in the +document. Some examples of attributes are \type{/CropBox}, the rectangle +specifying the region of the page being displayed and printed, and +\type{/Rotate}, the number of degrees (in multiples of 90) the page +should be rotated clockwise when it is displayed or printed. + +% /MediaBox is not a good example, since will never take effect + +\starttyping +\pdfpagesattr + { /Rotate 90 % rotate all pages by 90 degrees + /CropBox [0 0 612 792] } % the crop size of all pages (in bp) +\stoptyping + +\pdftexprimitive{\Syntax{\Tex{\pdfpageattr} \Whatever{tokens}}} +\bookmark{\tex{pdfpageattr}} + +This is similar to \type{\pdfpagesattr}, but has priority over it. +It can be used to override any attribute given by \type{\pdfpagesattr} +for an individual page. The token list is expanded when \PDFTEX\ ships out +a page. The contents are added to the attributes of the current page. + +If the \type{\pdfpageattr} value contains the string \type{/MediaBox}, +then \PDFTEX\ omits outputting its own \type{/MediaBox} value (which is +\type{[0 0 }\Something{\it page\_width} \Something{\it +page\_height}\type{]}). (This behavior was introduced in version +1.40.18.) + +\pdftexprimitive{\Syntax{\Tex{\pdfpageresources} \Whatever{tokens}}} +\bookmark{\tex{pdfpageresources}} + +These tokens are added to the resource dictionary for all pages, before +the font, XOBject, and other resources. + +\starttyping +\pdfpageresources{/MyPageResourceAttribute /MyValue} +\stoptyping + +\pdftexprimitive{\Syntax{\Tex{\pdfpageref} \Something{page number} + \Whatever{expandable}}} +\bookmark{\tex{pdfpageref}} + +This primitive expands to the number of the page object that contains +the dictionary for page \Something{page number}. If the page +\Something{page number} does not exist, a warning will be issued, +a fresh unused \PDF\ object will be generated, and \type{\pdfpageref} +will expand to that object number. + +\Eg, if the dictionary for page~5 of the \TEX\ document is contained in +\PDF\ object no.~18, \tex{pdfpageref5} expands to the number 18. + +%*********************************************************************** + +\subsection{Form XObjects} + +The next three primitives support a \PDF\ feature called \quote {object +reuse} in \PDFTEX. The idea is first to create a `form XObject' in +\PDF. The content of this object corresponds to the content of a \TEX\ +box; it can contain pictures and references to other form XObjects +as well. After creation, the form XObject can be used multiple times +by simply referring to its object number. This feature can be useful +for large documents with many similar elements, as it can reduce the +duplication of identical objects. + +These commands behave similarly to \type{\pdfobj}, \type{\pdfrefobj} +and \type{\pdflastobj}, but instead of taking raw \PDF\ code, they handle +text typeset by \TEX. + +\pdftexprimitive{\Syntax{\Tex{\pdfxform} \Optional{\Something{attr spec}} + \Optional{\Something{resources spec}} \Something{box number} + \Modelist{h, v, m}}} +\bookmark{\tex{pdfxform}} + +This command creates a form XObject corresponding to the contents of the +box \Something{box number}. The box can contain other raw objects, form +XObjects, or images as well. It can however {\em not} contain annotations +because they are laid out on a separate layer, are positioned absolutely, +and have dedicated housekeeping. \type{\pdfxform} makes the box void, +as \type{\box} does. + +When \Something{attr spec} is given, the text will be written +as additional attribute into the form XObject dictionary. The +\Something{resources spec} is similar, but the text will be added +to the resources dictionary of the form XObject. The text given by +\Something{attr spec} or \Something{resources spec} is written before +other entries of the form dictionary and|/|or the resources dictionary +and takes priority over later ones. + +\pdftexprimitive{\Syntax{\Tex{\pdfrefxform} \Something{object number} + \Modelist{h, v, m}}} +\bookmark{\tex{pdfrefxform}} + +The form XObject is kept in memory and will be written to the \PDF\ +output only when its object number is referred to by \type{\pdfrefxform} +or when \type{\pdfxform} is preceded by \type{\immediate}. Nothing is +appended to the list being built. The number of the most recently created +form XObject is accessible via \type{\pdflastxform}. + +When issued, \type{\pdfrefxform} appends a whatsit node to the list being +built. When the whatsit node is searched at shipout time, \PDFTEX\ will +write the form \Something{object number} to the \PDF\ output if it is +not written yet. + +\pdftexprimitive{\Syntax{\Tex{\pdflastxform} \Whatever{read||only integer}}} +\bookmark{\tex{pdflastxform}} + +The object number of the most recently created form XObject is accessible +via \type{\pdflastxform}. + +As said, this feature can be used for reusing information. This mechanism +also plays a role in typesetting fill||in forms. Such widgets sometimes +depends on visuals that show up on user request, but are hidden otherwise. + +\pdftexprimitive{\Syntax{\Tex{\pdfxformname} \Something{object number} + \Whatever{expandable}}} +\bookmark{\tex{pdfxformname}} + +In \PDF\ files produced by \PDFTEX\ one can recognize a form Xobject by +the prefix~\type{/Fm} followed by a number, for instance \type{/Fm2}. +For a given form XObject number, this primitive expands to the number in +the corresponding form XObject name. \Eg, if \type{/Fm2} corresponds to +some form XObject with object number 7, the \type{\pdfxformname7} +expands to the number~\type{2}. \introduced{1.30.0} + +%*********************************************************************** + +\subsection{Graphics inclusion} + +\PDF\ provides a mechanism for embedding graphic and textual objects: form +XObjects. In \PDFTEX\ this mechanism is accessed by means of \type{\pdfxform}, +\type{\pdflastxform} and \type{\pdfrefxform}. A special kind of XObjects +are bitmap graphics and for manipulating them similar commands are provided. + +\pdftexprimitive{\Syntax{\Tex{\pdfximage} + \Optional{\Something{rule spec}} + \Optional{\Something{attr spec}} + \Optional{\Something{page spec}} + \Optional{\Something{colorspace spec}} + \Optional{\Something{pdf box spec}} + \Something{general text} + \Modelist{h, v, m} +}} +\bookmark{\tex{pdfximage}} + +This command creates an image object. The dimensions of the image can be +controlled via \Something{rule spec}\unkern. The default values are zero +for depth and \quote {running} for height and width. If all of them are +given, the image will be scaled to fit the specified values. If some +(but not all) are given, the rest will be set to a value corresponding +to the remaining ones so as to make the image size to yield the same +proportion of $width : (height+depth)$ as the original image size, where +depth is treated as zero. If none are given then the image will take its +natural size. + +An image inserted at its natural size often has a resolution of \type +{\pdfimageresolution} (see below) given in dots per inch in the output +file, but some images may contain data specifying the image resolution, +and in such a case the image will be scaled to the correct +resolution. The dimensions of an image can be accessed by enclosing the +\type{\pdfrefximage} command to a box and checking the dimensions of the +box: + +\starttyping +\setbox0=\hbox{\pdfximage{somefile.png}\pdfrefximage\pdflastximage} +\stoptyping + +Now we can use \type{\wd0} and \type{\ht0} to question the natural size of +the image as determined by \PDFTEX. When dimensions are specified before the +\type{{somefile.png}}, the graphic is scaled to fit these. Note that, unlike +the \eg\ \type{\input} primitive, the filename is supplied between +braces. + +The image type is specified by the extension of the given file name: +\type{.png} stands for \PNG\ image, \type{.jpg} (or \type{.jpeg}) for +\JPEG, \type{.jbig2} (preferred, but \type{.jb2} works also) for \JBIGTWO, +and \type{.pdf} for \PDF\ file. But once \PDFTEX\ has opened the file, +it checks the file type first by looking to the magic number at the +file start, which gets precedence over the file name extension. This +gives a certain degree of fault tolerance, if the file name extension +is stated wrongly. + +Similarly to \type{\pdfxform}, the optional text given by \Something{attr +spec} will be written as additional attributes of the image before +other keys of the image dictionary. One should be aware, that slightly +different type of \PDF\ object is created while including \PNG, \JPEG, +or \JBIG2\ bitmaps and \PDF\ images. + +While working with \PDF\ or \JBIG2\ images, \Something{page spec} +allows to decide which page of the document is to be included; +the \Something{page spec} is irrelevant for the other two image +formats. Starting with \PDFTEX\ 1.11 one may also decide in the \PDF\ +image case, which page box of the image is to be treated as a final +bounding box. If \Something{pdf box spec} is present, it overrides the +default behavior specified by the \type{\pdfpagebox} parameter, and is +overridden by the (obsolete) \type{\pdfforcepagebox} parameter. This +option is irrelevant for non||\PDF\ inclusions. + +Starting with \PDFTEX\ 1.21, \type{\pdfximage} command supports +\type{colorspace} keyword followed by an object number (user||defined +colorspace for the image being included). This feature works for \JPEG\ +images only. \PNG s are \RGB\ palettes, \JBIG2 s are bitonal, and \PDF\ +images have always self||contained color space information. + +\pdftexprimitive{\Syntax{\Tex{\pdfrefximage} \Something{object number}}} +\bookmark{\tex{pdfrefximage}} + +The image is kept in memory and will be written to the \PDF\ output only when +its number is referred to by \type{\pdfrefximage} or \type{\pdfximage} is +preceded by \type{\immediate}. Nothing is appended to the list being built. + +\type{\pdfrefximage} appends a whatsit node to the list being built. When +the whatsit node is searched at shipout time, \PDFTEX\ will write the image +with number \Something{object number} to the \PDF\ output if it has not been +written yet. + +\pdftexprimitive{\Syntax{\Tex{\pdflastximage} \Whatever{read||only integer}}} +\bookmark{\tex{pdflastximage}} + +The number of the most recently created XObject image is accessible via \type +{\pdflastximage}. + +\pdftexprimitive{\Syntax{\Tex{\pdfximagebbox} \Something{integer} + \Something{integer} \Whatever{expandable}}} +\bookmark{\tex{pdfximagebbox}} + +The dimensions of the bounding box of a \PDF\ image loaded with +\type{\pdfximage} are stored in a table. This primitive returns those +dimensions as follows: + +\starttyping +\pdfximage{afile.pdf} +\pdfximagebbox\pdflastximage 1 % Returns lower-left x +\pdfximagebbox\pdflastximage 2 % Returns lower-left y +\pdfximagebbox\pdflastximage 3 % Returns upper-right x +\pdfximagebbox\pdflastximage 4 % Returns upper-right y +\stoptyping + +\pdftexprimitive{\Syntax{\Tex{\pdflastximagecolordepth} + \Whatever{read||only integer}}} +\bookmark{\tex{pdflastximagecolordepth}} + +The color depth (\type{1} for 1-bit images, \type{2} for 2-bit images, +and so on) of the last image accessed with \type{\pdfximage}. + +\pdftexprimitive{\Syntax{\Tex{\pdflastximagepages} + \Whatever{read||only integer}}} +\bookmark{\tex{pdflastximagepages}} + +This read||only register returns the highest page number from a file +previously accessed via the \type{\pdfximage} command. +This is useful only for \PDF\ files; it always returns \type{1} +for \PNG, \JPEG, or \JBIGTWO\ files. + +\pdftexprimitive{\Syntax{\Tex{\pdfimageresolution} \Whatever{integer}}} +\bookmark{\tex{pdfimageresolution}} + +The integer \type{\pdfimageresolution} parameter (unit: dots per +inch, dpi) is a last resort value, used only for bitmap (\JPEG, \PNG, +\JBIGTWO) images, but not for \PDF{}s. The priorities are as follows: +Often one image dimension (\type{width} or \type{height}) is stated +explicitly in the \TEX\ file. Then the image is properly scaled so +that the aspect ratio is kept. If both image dimensions are given, +the image will be stretched accordingly, whereby the aspect ratio might +get distorted. Only if no image dimension is given in the \TEX\ file, +the image size will be calculated from its width and height in pixels, +using the $x$ and $y$ resolution values normally contained in the image +file. If one of these resolution values is missing or weird (either +$<$~0 or $>$~65535), the \type{\pdfimageresolution} value will be used +for both $x$ and $y$ resolution, when calculating the image size. And +if the \type{\pdfimageresolution} is zero, finally a default resolution +of 72\,dpi would be taken. The \type{\pdfimageresolution} is read when +\PDFTEX\ creates an image via \type{\pdfximage}. The given value is +clipped to the range $0..65535$\,(dpi). + +Currently this parameter is used particularly for calculating the +dimensions of \JPEG\ images in \EXIF\ format (unless at least one +dimension is stated explicitly); the resolution values coming with +\EXIF\ files are currently ignored. + +\pdftexprimitive{\Syntax{\Tex{\pdfpagebox} \Whatever{integer}}} +\bookmark{\tex{pdfpagebox}} + +When \PDF\ files are included, the command \type{\pdfximage} allows the +selection of which \PDF\ page box to use in the optional field +\Something{image attr spec}\unkern. If the option isn't present, the +page box defaults to the value of \type{\pdfpagebox} as follows: +(1)~media box, (2)~crop box, (3)~bleed box, (4)~trim box, and +(5)~artbox. + +\pdftexprimitive{\Syntax{\Tex{\pdfforcepagebox} \Whatever{integer}}} +\bookmark{\tex{pdfforcepagebox}} + +%- It is now possible to specify the pdf page box to use when including pdfs. +% The syntax has been extended: +% \pdfximage [<image attr spec>] <general text> (h, v, m) +% <image attr spec> --> [<rule spec>] [<attr spec>] [<page spec>] [<pdf box spec>] +% <pdf box spec> --> mediabox|cropbox|bleedbox|trimbox|artbox +% The default is cropbox (which defaults to mediabox), to be compatible with +% previous versions of pdfTeX. +% The page box specified at \pdfximage can be globally overridden with the +% config parameter always_use_pdfpagebox and the command +% \pdfoptionalwaysusepdfpagebox <integer>, where 0 is the default (use +% whatever is specified with \pdfximage), 1 is media, 2 is crop, 3 is +% bleed, 4 is trim and 5 is artbox. This can only be set once per +% object, i.\,e.\ the value used at \pdfximage is remembered. +% See the PDF Reference for an explanation of the boxes. + +The integer primitive \type{\pdfforcepagebox} allows globally +overriding the choice of the page box used with \type{\pdfximage}. It +takes the same values as \type{\pdfpagebox}. The command is available +starting with \PDFTEX\ 1.30.0, as a shortened synonym of obsolete +\type{\pdfoptionalwaysusepdfpagebox} instruction, but is itself +now considered obsolete --- a mixture of \type{\pdfpagebox} and +\Something{image attr spec} is better. + +\pdftexprimitive{\Syntax{\Tex{\pdfinclusionerrorlevel} \Whatever{integer}}} +\bookmark{\tex{pdfinclusionerrorlevel}} + +This controls the behavior of \PDFTEX\ when a \PDF\ file is included +that has a newer version than the one specified by +\type{\pdfminorversion}. If \type{\pdfinclusionerrorlevel} is set to~0 +(the default), \PDFTEX\ gives only a warning; if 1, \PDFTEX\ raises an +error; if negative, no diagnostic at all is given. + +It was originally a shortened synonym of +\type{\pdfoptionpdfinclusionerrorlevel}, which is now obsolete. +\introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfimagehicolor} \Whatever{integer}}} +\bookmark{\tex{pdfimagehicolor}} + +This primitive, when set to~1, enables embedding of \PNG\ images with +16~bit wide color channels at their full color resolution. As such an +embedding mode is defined only from \PDF\ version~1.5 onwards, the +\type{\pdfimagehicolor} functionality is automatically disabled in +\PDFTEX\ if \type{\pdfminorversion}~$<$~5; then each 16~bit color +channel is reduced to a width of 8~bit by stripping the lower 8~bits +before embedding. The same stripping happens when +\type{\pdfimagehicolor} is set to~0. For \type{\pdfminorversion}~$\ge$~5 +the default value of \type{\pdfimagehicolor} is~1. If specified, the +parameter must appear before any data is written to the \PDF\ output. +\introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfimageapplygamma} \Whatever{integer}}} +\bookmark{\tex{pdfimageapplygamma}} + +This primitive, when set to~1, enables gamma correction while embedding +\PNG\ images, taking the values of the primitives \type{\pdfgamma} as +well as the gamma value embedded in the \PNG\ image into account. When +\type{\pdfimageapplygamma} is set to~0, no gamma correction is +performed. If specified, the parameter must appear before any data is +written to the \PDF\ output. \introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfgamma} \Whatever{integer}}} +\bookmark{\tex{pdfgamma}} + +This primitive defines the `device gamma' for \PDFTEX. Values are in +promilles (same as \type{\mag}). The default value of this primitive +is~1000, defining a device gamma value of~1.0. + +When \type{\pdfimageapplygamma} is set to~1, then whenever a \PNG\ image +is included, \PDFTEX\ applies a gamma correction. This correction is +based on the value of the \type{\pdfgamma} primitive and the `assumed +device gamma' that is derived from the value embedded in the actual +image. If no embedded value can be found in the \PNG\ image, then the +value of \type{\pdfimagegamma} is used instead. +If specified, the parameter must appear before any data is written to the +\PDF\ output. +\introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfimagegamma} \Whatever{integer}}} +\bookmark{\tex{pdfimagegamma}} + +This primitive gives a default `assumed gamma' value for \PNG\ images. +Values are in promilles (same as for \type{\pdfamma}). The default value +of this primitive is~2200, implying an assumed gamma value of~2.2. + +When \PDFTEX\ is applying gamma corrections, images that do not have an +embedded `assumed gamma' value are assumed to have been created for +a device with a gamma of 2.2. Experiments show that this default setting +is correct for a large number of images; however, if your images come +out too dark, you probably want to set \type{\pdfimagegamma} to a lower +value, like~1000. +If specified, the parameter must appear before any data is written to the +\PDF\ output. +\introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfpxdimen} \Whatever{dimen}}} +\bookmark{\tex{pdfpxdimen}} + +While working with bitmap graphics or typesetting electronic documents, +it might be convenient to base dimensions on pixels rather than \TeX's +standard units like \type{pt} or \type{em}. For this purpose, \PDFTEX\ +provides an extra unit called \type{px} that takes the dimension given to +the \type{\pdfpxdimen} primitive. In example, to make the unit \type{px} +corresponding to 96\,dpi pixel density (then 1\,px~=~72/96\,bp), one +can do the following calculation: + +\starttyping +\pdfpxdimen=1in % 1 dpi +\divide\pdfpxdimen by 96 % 96 dpi +\hsize=1200px +\stoptyping + +Then \type{\hsize} amounts to 1200~pixels in 96\,dpi, which is +exactly 903.375\,pt (but \TeX\ rounds it to 903.36914\,pt). The +default value of \type{\pdfpxdimen} is 1\,bp, corresponding to a pixel +density of 72\,dpi. This primitive is completely independent from the +\type{\pdfimageresolution} and \type{\pdfpkresolution} parameters. +\introduced{1.30.0} It used to be an integer register that gave +the dimension 1\,px as number of scaled points, defaulting to 65536 +(1\,px equal to 65536\,sp~$=$~1\,pt). Starting with \PDFTEX\ 1.40.0, +\type{\pdfpxdimen} is now a real dimension parameter. + +\pdftexprimitive{\Syntax{\Tex{\pdfinclusioncopyfonts} \Whatever{integer}}} +\bookmark{\tex{pdfinclusioncopyfonts}} + +If positive, this parameter forces \PDFTEX\ to include fonts from a \PDF\ +file loaded with \type{\pdfximage}, even if those fonts are available on +disk. Bigger files might be created, but included \PDF\ files are sure to +be embedded with the adequate fonts; indeed, the fonts on disk might be +different from the embedded ones, and glyphs might be missing. + +\pdftexprimitive{\Syntax{\Tex{\pdfsuppresswarningpagegroup} + \Whatever{integer}}} +\bookmark{\tex{pdfsuppresswarningpagegroup}} + +Ordinarily, \PDFTEX\ gives a warning when more than one included \PDF\ +file has a so-called ``page group object'' (\type{/Group}), because only +one can ``win'' --- that is, be propagated to the page level. Usually +the page groups are identical, but when they are not, the result is +unpredictable. It would be ideal if \PDFTEX\ in fact detected whether +the page groups were the same and only gave the warning in the +problematic case; unfortunately, this is not easy (a patch would be +welcome). Nevertheless, often one observes that there is no actual +problem. Then seeing the warnings on every run is just noise, and can +be suppressed by setting this parameter to a positive number. +\introduced{1.40.15} + +%*********************************************************************** + +\subsection{Annotations} + +\PDF\ 1.4 provides four basic kinds of annotations: + +\startitemize[packed] +\item hyperlinks, general navigation +\item text clips (notes) +\item movies +\item sound fragments +\stopitemize + +The first type differs from the other three in that there is a designated +area involved on which one can click, or when moved over some action occurs. +\PDFTEX\ is able to calculate this area, as we will see later. All +annotations can be supported using the next two general annotation +primitives. + +\pdftexprimitive{\Syntax{\Tex{\pdfannot} \Something{annot type spec} + \Modelist{h, v, m}}} +\bookmark{\tex{pdfannot}} + +This command appends a whatsit node corresponding to an annotation to +the list being built. The dimensions of the annotation can be controlled +via the \Something{rule spec}. The default values are running for all +width, height and depth. When an annotation is written out, running +dimensions will take the corresponding values from the box containing +the whatsit node representing the annotation. The \Something{general +text} is inserted as raw \PDF\ code to the contents of annotation. The +annotation is written out only if the corresponding whatsit node is +searched at shipout time. + +\pdftexprimitive{\Syntax{\Tex{\pdflastannot} \Whatever{read||only integer}}} +\bookmark{\tex{pdflastannot}} + +This primitive returns the object number of the last annotation created by +\type{\pdfannot}. These two primitives allow users to create any annotation +that cannot be created by \type{\pdfstartlink} (see below). + +%*********************************************************************** + +\subsection[linking]{Destinations and links} + +The first type of annotation, mentioned above, is implemented by three +primitives. The first one is used to define a specific location as being +referred to. This location is tied to the page, not the exact location on the +page. The main reason for this is that \PDF\ maintains a dedicated list of +these annotations |<|and some more when optimized|>| for the sole purpose of +speed. + +\pdftexprimitive{\Syntax{\Tex{\pdfdest} \Something{dest spec} + \Modelist{h, v, m}}} +\bookmark{\tex{pdfdest}} + +This primitive appends a whatsit node which establishes a destination +for links and bookmark outlines; the link is identified by either +a number or a symbolic name, and the way the viewer is to display the +page must be specified in \Something{dest type}\unkern, which must be +one of those mentioned in \in{table}[appearance]. + +\startbuffer +\starttabulate[|l|l|] +\HL +\NC \bf keyword \NC \bf meaning \NC\NR +\HL +\NC \tt fit \NC fit the page in the window \NC\NR +\NC \tt fith \NC fit the width of the page \NC\NR +\NC \tt fitv \NC fit the height of the page \NC\NR +\NC \tt fitb \NC fit the \quote{Bounding Box} of the page \NC\NR +\NC \tt fitbh \NC fit the width of \quote{Bounding Box} of the page \NC\NR +\NC \tt fitbv \NC fit the height of \quote{Bounding Box} of the page \NC\NR +\NC \tt xyz \NC goto the current position (see below) \NC\NR +\HL +\stoptabulate +\stopbuffer + +\placetable + [here][appearance] + {Options for display of outline and destinations.} + {\getbuffer} + +The specification \Literal{xyz} can optionally be followed by \Literal +{zoom} \Something{integer} to provide a fixed zoom||in. The \Something +{integer} is processed like \TEX\ magnification, i.\,e.\ 1000 is the +normal page view. When \Literal{zoom} \Something{integer} is given, +the zoom factor changes to 0.001 of the \Something{integer} value, +otherwise the current zoom factor is kept unchanged. + +The destination is written out only if the corresponding whatsit node is +searched at shipout time. + +\pdftexprimitive{\Syntax{\Tex{\pdfstartlink} + \Optional{\Something{rule spec}} + \Optional{\Something{attr spec}} + \Something{action spec} + \Modelist{h, m} +}} +\bookmark{\tex{pdfstartlink}} + +This primitive is used along with \type{\pdfendlink} and appends +a whatsit node corresponding to the start of a hyperlink. The whatsit +node representing the end of the hyperlink is created by +\type{\pdfendlink}. The dimensions of the link are handled in the +similar way as in \type{\pdfannot}. Both \type{\pdfstartlink} and +\type{\pdfendlink} must be in the same level of box nesting. A hyperlink +with running width can be multi||line or even multi||page, in which case +all horizontal boxes with the same nesting level as the boxes containing +\type{\pdfstartlink} and \type{\pdfendlink} will be treated as part of +the hyperlink. The hyperlink is written out only if the corresponding +whatsit node is searched at shipout time. + +Additional attributes, which are explained in great detail in the +\PDFReference, can be given via \Something{attr spec}\unkern. Typically, +the attributes specify the color and thickness of any border around +the link. Thus \typ {/C [0.9 0 0] /Border [0 0 2]} specifies a color +(in \RGB) of dark red, and a border thickness of 2~points. + +While all graphics and text in a \PDF\ document have relative positions, +annotations have internally hard||coded absolute positions. Again this +is for the sake of speed optimization. The main disadvantage is that these +annotations do {\em not} obey transformations issued by \type +{\pdfliteral}'s. + +The \Something{action spec} specifies the action that should be performed +when the hyperlink is activated while the \Something{user-action spec} +performs a user||defined action. A typical use of the latter is to specify +a \URL, like \typ {/S /URI /URI (http://www.tug.org/)}, or a named action like +\typ {/S /Named /N /NextPage}. + +A \Something{goto-action spec} performs a GoTo action. Here \Something +{numid} and \Something{nameid} specify the destination identifier (see +below). The \Something{page spec} specifies the page number of the +destination, in this case the zoom factor is given by \Something{general +text}\unkern. A destination can be performed in another \PDF\ file by +specifying \Something{file spec}\unkern, in which case +\Something{newwindow spec} specifies whether the file should be opened +in a new window. A \Something{file spec} can be either a \type{(string)} +or a \type{<<dictionary>>}. The default behavior of the +\Something{newwindow spec} depends on the browser setting. + +A \Something{thread-action spec} performs an article thread reading. The +thread identifier is similar to the destination identifier. A thread can be +performed in another \PDF\ file by specifying a \Something{file spec}\unkern. + +\pdftexprimitive{\Syntax{\Tex{\pdfendlink} \Modelist{h, m}}} +\bookmark{\tex{pdfendlink}} + +This primitive ends a link started with \type{\pdfstartlink}. All text +between \type{\pdfstartlink} and \type{\pdfendlink} will be treated as part +of this link. \PDFTEX\ may break the result across lines (or pages), in which +case it will make several links with the same content. + +\pdftexprimitive{\Syntax{\Tex{\pdflastlink} \Whatever{read||only integer}}} +\bookmark{\tex{pdflastlink}} + +This primitive returns the object number of the last link created by +\type{\pdfstartlink} (analogous to \type{\pdflastannot}). +\introduced{1.40.0} + +\pdftexprimitive{\Syntax{\Tex{\pdflinkmargin} \Whatever{dimen}}} +\bookmark{\tex{pdflinkmargin}} + +This dimension parameter specifies the margin of the box representing +a hyperlink and is read when a page containing hyperlinks is shipped out. + +\pdftexprimitive{\Syntax{\Tex{\pdfdestmargin} \Whatever{dimen}}} +\bookmark{\tex{pdfdestmargin}} + +Margin added to the dimensions of the rectangle around the destinations. + +\pdftexprimitive{\Syntax{\Tex{\pdfsuppresswarningdupdest} \Whatever{integer}}} +\bookmark{\tex{pdfsuppresswarningdupdest}} + +Ordinarily, \PDFTEX\ gives a warning when the same destination is used +more than once. However, due to problematic macro packages, sometimes a +document may end up producing the warning through no fault of its own, +and fixing the macros may well not be trivial. Then seeing the warnings +on every run is just noise, and can be suppressed by setting this +parameter to a positive number. \introduced{1.40.13} + +%*********************************************************************** + +\subsection{Bookmarks} + +\pdftexprimitive{\Syntax{\Tex{\pdfoutline} + \Optional{\Something{attr spec}} + \Something{action spec} + \Optional{\Literal{count} \Something{integer}} + \Something{general text} + \Modelist{h, v, m} +}} +\bookmark{\tex{pdfoutline}} + +This primitive creates an outline (or bookmark) entry. The first parameter +specifies the action to be taken, and is the same as that allowed for \type +{\pdfstartlink}. The \Something{count} specifies the number of direct +subentries under this entry; specify~0 or omit it if this entry has no +subentries. If the number is negative, then all subentries will be closed and +the absolute value of this number specifies the number of subentries. The +\Something{text} is what will be shown in the outline window. Note that this +is limited to characters in the \PDF\ Document Encoding vector. The outline +is written to the \PDF\ output immediately. + +%*********************************************************************** + +\subsection{Article threads} + +\pdftexprimitive{\Syntax{\Tex{\pdfthread} \Optional{\Something{rule spec}} + \Optional{\Something{attr spec}} \Something{id spec} \Modelist{h, v, m}}} +\bookmark{\tex{pdfthread}} + +Defines a bead within an article thread. Thread beads with same +identifiers (spread across the document) will be joined together. + +\pdftexprimitive{\Syntax{\Tex{\pdftstartthread} + \Optional{\Something{rule spec}} + \Optional{\Something{attr spec}} + \Something{id spec} \Modelist{v, m}}} +\bookmark{\tex{pdfstartthread}} + +This uses the same syntax as \type{\pdfthread}, apart that it must be +followed by a \type{\pdfendthread}. \type{\pdfstartthread} and the +corresponding \type{\pdfendthread} must end up in vboxes with the same +nesting level; all vboxes between them will be added into the thread. +Note that during output runtime if there are other newly created +boxes which have the same nesting level as the vbox/vboxes containing +\type{\pdfstartthread} and \type{\pdfendthread}, they will be also added +into the thread, which is probably not what you want. To avoid such +unconsidered behavior, it's often enough to wrap boxes that shouldn't +belong to the thread by a box to change their box nesting level. + +\pdftexprimitive{\Syntax{\Tex{\pdfendthread} \Modelist{v, m}}} +\bookmark{\tex{pdfendthread}} + +This ends an article thread started before by \type{\pdfstartthread}. + +\pdftexprimitive{\Syntax{\Tex{\pdfthreadmargin} \Whatever{dimen}}} +\bookmark{\tex{pdfthreadmargin}} + +Specifies a margin to be added to the dimensions of a bead within +an article thread. + +%*********************************************************************** + +\subsection{Literals and specials} + +\pdftexprimitive{\Syntax{\Tex{\pdfliteral} + \Optional{\Something{pdfliteral spec}} + \Something{general text} + \Modelist{h, v, m} + }} +\bookmark{\tex{pdfliteral}} + +Like \type{\special} in normal \TEX, this command inserts raw +\PDF\ code into the output. This allows support of color and text +transformation. This primitive is heavily used in the \METAPOST\ +inclusion macros. Normally \PDFTEX\ ends a text section in the \PDF\ +output and sets the transformation matrix to the current location on the +page before inserting \Something{general text}\unkern, however this can be +turned off by giving the optional keyword \Literal{direct}. This command +appends a whatsit node to the list being built. \Something{general text} +is expanded when the whatsit node is created and not when it is shipped +out, as with \type{\special}. + +Starting with version 1.30.0, \PDFTEX\ allows to use a new keyword +\type{page} instead of \type{direct}. Both modify the default behavior +of \type{\pdfliteral}, avoiding translation of the coordinates space +before inserting the literal code. The difference is that the \type{page} +keyword instructs \PDFTEX\ to close a \type{BT ET} text block before +inserting anything. It means that the literal code inserted refers to the +origin (lower||left corner of the page) and can be safely enclosed with +\type{q Q}. Note, that in most cases using \type{q Q} operators inside +\type{\pdfliteral} with \type{direct} keyword will produce corrupted +\PDF\ output, as the \PDF\ standard doesn't allow to do anything like +this within a \type{BT ET} block. + +% HE: \unkern is a kludge here; wanted to have tight "{pdf:" +\pdftexprimitive{\Syntax{\Tex{\special} \Lbrace\unkern\Literal{pdf:} + \Something{text} \Rbrace}} +\bookmark{\tex{special}} + +This is equivalent to \Syntax{\Tex{\pdfliteral} \Lbrace \Something{text} +\Rbrace}. + +\pdftexprimitive{\Syntax{\Tex{\special} \Lbrace\unkern\Literal{pdf:direct:} + \Something{text} \Rbrace}} +\bookmark{\tex{special\ direct}} + +This is equivalent to \Syntax{\Tex{\pdfliteral} \Literal{direct} \Lbrace +\Something{text} \Rbrace}. + +\pdftexprimitive{\Syntax{\Tex{\special} \Lbrace\unkern\Literal{pdf:page:} + \Something{text} \Rbrace}} +\bookmark{\tex{special\ page}} + +This is equivalent to \Syntax{\Tex{\pdfliteral} \Literal{page} \Lbrace +\Something{text} \Rbrace}. + +%*********************************************************************** + +\subsection{Strings} + +\pdftexprimitive{\Syntax{\Tex{\pdfescapestring} \Something{general text} + \Whatever{expandable}}} +\bookmark{\tex{pdfescapestring}} + +Starting with version 1.30.0, \PDFTEX\ provides a mechanism for converting +a general text into \PDF\ string. Many characters that may be needed inside +such a text (especially parenthesis), have a special meaning inside a \PDF\ +string object and thus, can't be used literally. The primitive replaces each +special \PDF\ character by its literal representation by inserting a backslash +before that character. Some characters (\eg\ space) are also converted into +3||digit octal number. In example, \type{\pdfescapestring{Text (1)}} will be +expanded to \type{Text\040\(1\)}. This ensures a literal interpretation of the +text by the \PDF\ viewer. +\introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfescapename} \Something{general text} + \Whatever{expandable}}} +\bookmark{\tex{pdfescapename}} + +In analogy to \type{\pdfescapestring}, \type{\pdfescapename} replaces each +special \PDF\ character inside the general text by its hexadecimal +representation preceded by \type{#} character. This ensures the proper +interpretation of the text if used as a \PDF\ name object. In example, +\type{Text (1)} will be replaced by \type{Text#20#281#29}. +\introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfescapehex} \Something{general text} + \Whatever{expandable}}} +\bookmark{\tex{pdfescapehex}} + +This command converts each character of \Something{general text} into its +hexadecimal representation. Each character of the argument becomes a pair of +hexadecimal digits. \introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfunescapehex} \Something{general text} + \Whatever{expandable}}} +\bookmark{\tex{pdfunescapehex}} + +This command treats each character pair of \Something{general text} as +a hexadecimal number and returns an \ASCII\ character of this code. +\introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfstrcmp} \Something{general text} + \Something{general text} \Whatever{expandable}}} +\bookmark{\tex{pdfstrcmp}} + +This command compares two strings and expands to \type{0} if the strings +are equal, to \type{-1} if the first string ranks before the second, and +to \type{1} otherwise. \introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfmatch} \Optional{\Literal{icase}} + \Optional{\Literal{subcount} \Something{integer}} \Something{general text} + \Something{general text} \Whatever{expandable}}} +\bookmark{\tex{pdfmatch}} + +This command implements pattern matching (using the syntax of \POSIX\ +extended regular expressions). The first \Something{general text} is a +pattern and the second is a string. The command expands to \type{-1} if +the pattern is invalid, to \type{0} if no match is found, and to +\type{1} if a match is found. With the \type{icase} option, the matching +is case-insensitive. The \type{subcount} option sets the size of the +table storing the found (sub)patterns; its default is 10. +\introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdflastmatch} \Something{integer} + \Whatever{expandable}}} +\bookmark{\tex{pdflastmatch}} + +The matches found with \type{\pdfmatch} are stored in a table. This +command returns the entry for \Something{integer}, in the format +\Something{position}\type{->}\Something{string}; \Something{position} is +the position of the match (starting at zero) or \type{-1} if no match +was found, and \Something{string} is the matched substring. + +Entry~0 contains the match as a whole; the subsequent entries contain +submatches corresponding to the subpatterns, up to \type{subcount-1}. + +If \Something{integer} is less than zero, an error is given. + +For instance: + +\starttyping +\pdfmatch subcount 3 {ab(cd)*ef(gh)(ij)}{abefghij} +\pdflastmatch0 % "0->abefghij" +\pdflastmatch1 % "-1->" +\pdflastmatch2 % "4->gh" +\pdflastmatch3 % "-1->" +\stoptyping + +Entry~1 is empty because no match was found for \type{cd}, and entry~3 +is empty because it exceeds the table's size as set by \type{subcount}. +\introduced{1.30.0} + +%*********************************************************************** + +\subsection{Numbers} + +\pdftexprimitive{\Syntax{\Tex{\ifpdfabsnum} \Whatever{expandable}}} +\bookmark{\tex{ifpdfabsnum}} + +This conditional works like the standard \type{\ifnum}, except that it +compares absolute values of numbers. Although it seems to be a trivial +shortcut for a couple of \type{\ifnum x<0} tests, as a primitive it is +considerably more friendly in usage and works a bit faster. +\introduced{1.40.0} + +\pdftexprimitive{\Syntax{\Tex{\ifpdfabsdim} \Whatever{expandable}}} +\bookmark{\tex{ifpdfabsdim}} + +Analogous to \type{\ifpdfabsnum}, this conditional works like +\type{\ifdim}, except that it compares absolute values of +dimensions. \introduced{1.40.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfuniformdeviate} \Something{number} + \Whatever{expandable}}} +\bookmark{\tex{pdfuniformdeviate}} + +Generate a uniformly-distributed random integer value between 0 +(inclusive) and \Something{number} (exclusive). This primitive expands +to a list of tokens. \introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfnormaldeviate} \Whatever{expandable}}} +\bookmark{\tex{pdfnormaldeviate}} + +Generate a normally-distributed random integer with a mean of~0 and +standard deviation 65\,536. That is, about 68\% of the time, the result +will be between $-65536$ and $65536$ (one standard deviation away from +the mean). About 95\% of results will be within two standard +deviations, and 99.7\% within three. This primitive expands to a list +of tokens. \introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfrandomseed} \Whatever{read||only integer}}} +\bookmark{\tex{pdfrandomseed}} + +You can use \type{\the\pdfrandomseed} to query the current seed value, +so you can \eg\ write the value to the log file. The initial value of +the seed is derived from the system time, and is not more than +1\,000\,999\,999 (this ensures that the value can be used with commands +like \type{\count}). \introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfsetrandomseed} \Something{number}}} +\bookmark{\tex{pdfsetrandomseed}} + +Set the random seed (\type{\pdfrandomseed}) to a specific value, +allowing you to replay sequences of semi-randoms at a later moment. +\introduced{1.30.0} + +%*********************************************************************** + +\subsection{Timekeeping} + +\pdftexprimitive{\Syntax{\Tex{\pdfelapsedtime} \Whatever{read||only integer}}} +\bookmark{\tex{pdfelapsedtime}} + +Return a number that represents the time elapsed from the moment of the +start of the run. The elapsed time is returned in `scaled seconds', +meaning seconds divided by 65536, \eg\ \PDFTEX\ has run for +\the\pdfelapsedtime\ `scaled seconds' when this paragraph was +typeset. Of course, the command will never return a value greater than +the highest number available in \TeX: if the time exceeds 32767 seconds, +the constant value $2^{31}-1$ will be returned. \introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfresettimer}}} +\bookmark{\tex{pdfresettimer}} + +Reset the internal timer so that \type{\pdfelapsedtime} +starts returning micro||time from~0 again. \introduced{1.30.0} + +%*********************************************************************** + +\subsection{Files} + +\pdftexprimitive{\Syntax{\Tex{\pdffilemoddate} \Something{general text} + \Whatever{expandable}}} +\bookmark{\tex{pdffilemoddate}} + +Expands to the modification date of file \Something{general text} in the same +format as for \type{\pdfcreationdate}, \eg\ it's {\tt \pdffilemoddate +{./pdftex-t.tex}} for the source of this manual. +\introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdffilesize} \Something{general text} + \Whatever{expandable}}} +\bookmark{\tex{pdffilesize}} + +Expands to the size of file \Something{general text}, \eg\ it's {\tt +\pdffilesize {./pdftex-t.tex}} for the source of this manual. +\introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfmdfivesum} file \Something{general text} + \Whatever{expandable}}} +\bookmark{\tex{pdfmdfivesum\ file}} + +Expands to the \MDFIVE\ of file \Something{general text} in uppercase +hexadecimal format (same as \type{\pdfescapehex}), \eg\ it's {\tt +\pdfmdfivesum file {./pdftex-t.tex}} for the source of this manual. +\introduced{1.30.0} + +\pdftexprimitive{\Syntax{\Tex{\pdffiledump} \Optional{\Literal{offset} + \Something{number}} \Optional{\Literal{length} + \Something{number}} \Something{general text} \Whatever{expandable}}} +\bookmark{\tex{pdffiledump}} + +Expands to the dump of the file \Something{general text} in uppercase +hexadecimal format (same as \type{\pdfescapehex}), starting at offset +\Something{number} or 0 with length \Something{number}, if given. The first ten +bytes of the source of this manual are {\tt \pdffiledump length 10 +{./pdftex-t.tex}}. \introduced{1.30.0} + +%*********************************************************************** + +\subsection{Color stack} + +\PDFTEX\ 1.40.0 comes with color stack support (actually any graphic state +stack). + +\pdftexprimitive{\Syntax{\Tex{\pdfcolorstackinit} \Optional{\Literal{page}} + \Optional{\Literal{direct}} \Something{general text} \Whatever{expandable}}} +\bookmark{\tex{pdfcolorstackinit}} + +The primitive initializes a new graphic stack and returns its number. Optional +\Literal{page} keyword instructs \PDFTEX\ to restore the graphic at the +beginning of every new page. Also optional \Literal{direct} has the same effect +as for \Tex{\pdfliteral} primitive. \introduced{1.40.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfcolorstack} \Something{stack number} + \Something{stack action} \Something{general text}}} +\bookmark{\tex{pdfcolorstack}} + +The command operates on the stack of a given number. If \Something{stack +action} is \Literal{push} keyword, the new value provided as +\Something{general text} is inserted into the top of the graphic stack +and becomes the current stack value. If followed by \Literal{pop}, the +top value is removed from the stack and the new top value becomes the +current. \Literal{set} keyword replaces the current value with +\Something{general text} without changing the stack size. +\Literal{current} keyword instructs just to use the current stack value +without modifying the stack at all. \introduced{1.40.0} + +\subsection{Transformations} + +Since the content of \Tex{\pdfliteral} is not interpreted anyhow, any +transformation inserted directly into the content stream, as well as saving +and restoring the current transformation matrix, remains unnoticed by +\PDFTEX\ positioning mechanism. As a consequence, links and other annotations +(that are formed in \PDF\ as different layer then the page content) are not +affected by such user-defined transformations. \PDFTEX\ 1.40.0 solves this +problem with three new primitives. + +\pdftexprimitive{\Syntax{\Tex{\pdfsetmatrix}}} +\bookmark{\tex{pdfsetmatrix}} + +Afine transformations are normally expressed with six numbers. First +four (no unit) values defining scaling, rotating and skewing, plus two +extra dimensions for shifting. Since the translation is handled by \TeX\ +itself, \Tex{\pdfsetmatrix} primitive expects as an argument a string +containing just the first four numbers of the transformation separated +by a space and assumes two position coordinates to be~0. In example, +\type{\pdfsetmatrix{0.87 -0.5 0.5 0.87}} rotates the current space by 30 +degrees, inserting \type{0.87 -0.5 0.5 0.87 0 0 cm} into the content +stream. \introduced{1.40.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfsave}}} +\bookmark{\tex{pdfsave}} + +The command saves the current transformation by inserting \type{q} +operator into the content stream. \introduced{1.40.0} + +\pdftexprimitive{\Syntax{\Tex{\pdfrestore}}} +\bookmark{\tex{pdfrestore}} + +The command restores previously saved transformation by inserting \type{Q} +operator into the content stream. One should keep in mind that \Tex{\pdfsave} +and \Tex{\pdfrestore} pairs should always be properly nested and should start +and end at the same group level. \introduced{1.40.0} + +%*********************************************************************** + +\subsection{Miscellaneous} + +\pdftexprimitive{\Syntax{\tex {ifincsname} \Whatever{expandable}}} +\bookmark{\tex{ifincsname}} + +This conditional is true if evaluated inside \type{\csname ... \endcsname}, +and false otherwise. + + +\pdftexprimitive{\Syntax{\tex {ifpdfprimitive} \Something{control sequence} + \Whatever{expandable}}} +\bookmark{\tex{ifpdfprimitive}} + +This condition checks if the following control sequence has its +primitive meaning. If it has, \type{\ifpdfprimitive} returns true. In +any other case (redefined, made \type{\undefined}, has never been +primitive) false is returned. \introduced{1.40.0} + + +\pdftexprimitive{\Syntax{\Tex{\pdfcreationdate} \Whatever{expandable}}} +\bookmark{\tex{pdfcreationdate}} + +Expands to the date string \PDFTEX\ uses in the info dictionary of the +document, \eg\ for this file {\tt\pdfcreationdate}. \introduced{1.30.0} + + +\pdftexprimitive{\Syntax{\tex {pdfdraftmode} \Whatever{integer}}} +\bookmark{\tex{pdfdraftmode}} + +When set to 1 (or set by the command-line switch \type{-draftmode}) +\PDFTEX\ doesn't write the output \PDF\ file and doesn't actually read any +images but does everything else (including writing auxiliary files), +thus speeding up compilations when you know you need an extra run but +don't care about the output, \eg\ just to get the \BIBTEX\ references +right. \introduced{1.40.0} + + +\pdftexprimitive{\Syntax{\Tex{\pdfinsertht} \Something{integer} + \Whatever{expandable}}} +\bookmark{\tex{pdfinsertht}} + +If \Something{integer} is the number of an insertion class, this command +returns the height of the corresponding box at the current time. +For instance, the following returns \type{12pt} in plain \TEX: + +\starttyping +Abc\footnote*{Whatever.}\par +\pdfinsertht\footins +\stoptyping + + +\pdftexprimitive{\Syntax{\Tex{\pdflastxpos} \Whatever{read||only integer}}} +\bookmark{\tex{pdflastxpos}} + +This primitive returns an integer number representing the absolute $x$ +coordinate of the last point marked by \type{\pdfsavepos}. The unit is +`scaled points' (sp). + + +\pdftexprimitive{\Syntax{\Tex{\pdflastypos} \Whatever{read||only integer}}} +\bookmark{\tex{pdflastypos}} + +Completely analogous to \type{\pdflastxpos}, returning the $y$ coordinate. + + +\pdftexprimitive{\Syntax{\tex {pdfprimitive} \Something{control sequence}}} +\bookmark{\tex{pdfprimitive}} + +This command executes the primitive meaning of the following control +sequence, regardless of whether the control sequence has been redefined +or made undefined. If the primitive was expandable, \type{\pdfprimitive} +expands also. On the other hand, if the following control sequence never +was a primitive, nothing happens and no error is raised. (In some +versions of \PDFTEX\ prior to 1.40.19, an error was wrongly given.) +\introduced{1.40.0} + + +\pdftexprimitive{\Syntax{\Tex{\pdfretval} \Whatever{read||only integer}}} +\bookmark{\tex{pdfretval}} + +Set to $-1$ if \type{\pdfobj} ignores an invalid object number. Perhaps +this will be used to store the error status of other primitives in the +future. + + +\pdftexprimitive{\Syntax{\Tex{\pdfsavepos} \Modelist{h, v, m}}} +\bookmark{\tex{pdfsavepos}} + +This primitive marks the current absolute ($x,y$) position on the +media, with the reference point in the lower left corner. It is active +only during page shipout, when the page is finally assembled. The +position coordinates can then be retrieved by the \type{\pdflastxpos} +and \type{\pdflastypos} primitives, and \eg\ written out to some +auxiliary file. The coordinates can be used only after the current +\type{\shipout} has been finalized, therefore normally two \PDFTEX\ +runs are required to utilize these primitives. Starting with +\PDFTEX\ 1.40.0, this mechanism can be used also while running +in \DVI\ mode. + + +\pdftexprimitive{\Syntax{\Tex{\pdfshellescape} \Whatever{read||only integer}}} +\bookmark{\tex{pdfshellescape}} + +This primitive is~1 if \type{\write18} is enabled, 2 if it is +restricted, and 0 otherwise. (\type{\write18} was +\ifnum\pdfshellescape=0\relax not \fi enabled when this manual was +typeset.) \introduced{1.30.0} + + +\pdftexprimitive{\Syntax{\Tex{\pdftexbanner} \Whatever{expandable}}} +\bookmark{\tex{pdftexbanner}} + +Returns the \PDFTEX\ banner message, \eg\ for the version used here: +{\tt \pdftexbanner}. \introduced{1.20a} + + +\pdftexprimitive{\Syntax{\Tex{\pdftexrevision} \Whatever{expandable}}} +\bookmark{\tex{pdftexrevision}} + +\def\versplit#1#2#3{#1.#2#3} + +Returns the revision number of \PDFTEX, \eg\ for \PDFTEX\ version +\expandafter\versplit\the\pdftexversion.\pdftexrevision\ (used to produce +this document), it returns the number {\tt \pdftexrevision}. + + +\pdftexprimitive{\Syntax{\Tex{\pdftexversion} \Whatever{read||only integer}}} +\bookmark{\tex{pdftexversion}} + +Returns the version of \PDFTEX\ multiplied by 100, \eg\ for \PDFTEX\ +version \expandafter\versplit\the\pdftexversion.\pdftexrevision\ used to +produce this document, it returns {\tt \number\pdftexversion}. + + +\pdftexprimitive{\Syntax{\Tex{\quitvmode}}} +\bookmark{\tex{quitvmode}} + +The primitive instructs \PDFTEX\ to quit vertical mode and start +typesetting a paragraph. \type{\quitvmode} has the same effect as +\type{\leavevmode} definition from \type{plain} macro package. Note +however, that \type{\leavevmode} may conflict with \type{\everypar} +tokens list. No such risk while using \type{\quitvmode} instead. +\introduced{1.21a} + + +\pdftexprimitive{\Syntax{\Tex{\vadjust} + \Optional{\Something{pre spec}} + \Something{filler} + \Lbrace \Something{vertical mode material} \Rbrace + \Modelist{h, m} +}} +\bookmark{\tex{vadjust}} + +The \type{\vadjust} implementation of \PDFTEX\ adds an optional +qualifier \Something{pre spec}, which is simply the string \type{pre}, to +the original \TEX\ primitive with the same name. If +no \type{pre} is given, \type{\vadjust} behaves exactly as the original +(see the \TEX book, p.~281): it appends an adjustment item created +from \Something{vertical mode material} to the current list {\em after} +the line in which \type{\vadjust} appears. However, with the qualifier +\type{pre}, the adjustment item is put {\em before} the line in which +\type{\vadjust pre} appears. + +%*********************************************************************** + +\section{Graphics} + +\PDFTEX\ supports inclusion of pictures in \PNG, \JPEG, \JBIGTWO, and +\PDF\ format; a few differences between these are discussed below. The +most common technique with \TEX\ |<|the inclusion of \EPS\ figures|>| +is replaced by \PDF\ inclusion. \EPS\ files can be converted to \PDF\ by +\GHOSTSCRIPT, Adobe Distiller or other \POSTSCRIPT||to||\PDF\ converters. + +The \PDF\ format is currently the most versatile source format for +graphics embedding. \PDFTEX\ allows to insert arbitrary pages from +\PDF\ files with their own fonts, graphics, and pixel images into +a document. The cover page of this manual is an example of such an insert, +being a one page document generated by \PDFTEX. + +By default \PDFTEX\ takes the BoundingBox of a \PDF\ file from its CropBox +if available, otherwise from its MediaBox. This can be influenced by +the \Something{pdf box spec} option to the \type{\pdfximage} primitive, +or by setting the \type{\pdfpagebox} or \type{\pdfforcepagebox} primitives to +a value corresponding to the wanted box type. + +To get the right BoundingBox from a \EPS\ file, before converting to \PDF, +it is necessary to transform the \EPS\ file so that the start point is +at the (0,0)~coordinate and the page size is set exactly corresponding +to the BoundingBox. A \PERL\ script (\EPSTOPDF) for this purpose has been +written. The \TEXUTIL\ utility script and the \PSTOPDF\ program that comes +with \GHOSTSCRIPT\ can so a similar job. (Concerning this conversion, +they can handle complete directories, remove some garbage from files, +takes precautions against duplicate conversion, etc.) + +The lossless compressing \PNG\ format is great for embedding crisp pixel +graphics (\eg\ line scans, screen shots). Since \PDFTEX\ 1.30.0 also the +alpha-channel of \PNG\ images is processed if available; this allows +embedding of images with simple transparency. The \PNG\ format does not +support the CMYK color model, which is sometimes required for print media +(this often can be replaced by four component \JPEG\ in high quality or +lossless compression mode). Photos in \PNG\ format have a rather weak +compression; here the \JPEG\ format is preferable. + +Embedding \PNG\ images in the general case requires \PDFTEX\ to uncompress +the pixel array and to re||compress it to the \PDF\ requirements; this +process often takes a noticeable amount of time. Since \PDFTEX\ 1.30.0 +there is now a fast \PNG\ embedding mode that goes without uncompressing; +the image data are directly copied into the \PDF\ stream, resulting in +a much higher embedding speed. However this mode is only activated, if +the image array structure of the \PNG\ file is compatible with the \PDF\ +image structure (\eg\ an interlaced \PNG\ image requires uncompressing to +re||arrange the image lines). Luckily it seems that the most common \PNG\ +files also allow fast copying. The use of gamma correction disables fast +copying, as it requires calculations with individual pixels. Whether the +fast copy mode is used for a \PNG\ image can be seen from the log file, +which then shows the string `(PNG copy)' after the \PNG\ file name. + +The \JPEG\ format is normally used in lossy mode; then it's ideal for +embedding photos. It's not recommended for crisp images from synthetic +sources with a limited amount of colors. Both \JFIF\ and \EXIF\ are +supported for additional information. + +The \JBIGTWO\ format works only for bitonal (black and white) pixel +images like scanned line and text documents, but for these it has +typically a much higher compression ratio than the other two pixel +image formats. The \JBIGTWO\ format is part of the \PDF\ standard since +version 1.5; native \JBIGTWO\ image inclusion is available in \PDFTEX\ +since version 1.40.0. A \JBIGTWO\ file might contain many images, which +gives an even better compression ratio than with a single image per file, +as \JBIGTWO\ encoders can exploit similarities between bit patterns over +several images. Encoders for \JBIGTWO\ can operate in lossy as well as +lossless modes. Only recently a free \JBIGTWO\ encoder has been written +and made available, see \from[jbig2enc]. + +Other options for graphics in \PDFTEX\ are: + +\description {\LATEX\ picture mode} Since this is implemented simply in terms +of font characters, it works in exactly the same way as usual. + +\description {Xy||pic} If the \POSTSCRIPT\ back||end is not requested, Xy||pic +uses its own Type~1 fonts, and needs no special attention. + +\description {tpic} The \quote {tpic} \type{\special} commands (used in some +macro packages) can be redefined to produce literal \PDF, using some macros +written by Hans Hagen. + +\description {\METAPOST} Although the output of \METAPOST\ is \POSTSCRIPT, +it is in a highly simplified form, and a \METAPOST\ to \PDF\ conversion +(\MPTOPDF, written by Hans Hagen and Tanmoy Bhattacharya) is implemented +as a set of macros which reads \METAPOST\ output and supports all of +its features. + +For new work, the \METAPOST\ route is highly recommended. For the future, +Adobe has announced that they will define a specification for \quote +{encapsulated \PDF}. + +The inclusion of raw \POSTSCRIPT\ commands |<|a technique utilized +by for instance the \type{pstricks} package|>| cannot directly be +supported. Although \PDF\ is direct a descendant of \POSTSCRIPT, it +lacks any programming language commands, and cannot deal with arbitrary +\POSTSCRIPT. + +%*********************************************************************** + +\section{Character translation} + +Characters that are input to \PDFTEX\ are subject to optional +\TEX\ character translation (\TCX) under control of a \TCX\ file. +The \TCX\ maps the input character codes (\eg\ from \type{\input} or +\type{\read}) to the character codes as seen by \PDFTEX. This mapping +takes place before the characters enter \PDFTEX's `mouth'. If no \TCX\ +file is read, the input characters enter \PDFTEX\ directly; no mapping +is done. + +\TCX\ files consist of lines each containing one or two integer numbers +in the range 0..255, either in decimal or hex notation. +% strtol() C-function +A comment sign \type{%} in a \TCX\ line starts a comment until the +end of line. The first number in each line is for matching the input +character code, the second, optional number is the corresponding \TEX\ +character code. If a line contains only one number, characters with +this code enter \PDFTEX\ unchanged; no mapping is done. + +\TCX\ mapping also influences \PDFTEX\ output streams for \type{\message} and +\type{\write}. Without \TCX\ mapping, only characters that are within +the range 32..126 are flagged as `printable', meaning that these +characters are output directly by \type{\message} and \type{\write} +primitives. Characters outside the range 32..126 are instead output +in escaped form, \eg\ as \type{^^A} for a character with code +\type{0x01}. When a character code is mentioned in the 2nd column of the +\TCX\ file, or as the only value in a line, it is flagged as `printable'. +During \type{\message} and \type{\write}, output characters are mapped +in reverse direction: they are looked up in the 2nd column of the \TCX\ +file and the corresponding values from the 1st column are output. Again, +if a \PDFTEX\ character code is found as the only number in a line, no +mapping is done. Mentioning a character code as the only number on +a line has the sole purpose to flag this code `printable'; remember that +character within the range 32..126 are `printable' anyway. + +The characters output into the \PDF\ file, \eg\ by \type{\pdfliteral} +or \type{\special} primitives, are not subject to \TCX\ output remapping. + +Beware: Character translation interferes with the \ENCTEX\ primitives; to +avoid surprises, don't use \ENCTEX\ and \TCX\ mapping at the same time. +Further details about \TCX\ file loading can be found in the \TETEX\ +manual. + +%*********************************************************************** + +\stopbodymatter + +%D We did use some abbreviations. Only those really used will end up in the +%D following list. + +\startbackmatter + +\writebetweenlist[section]{\blank[line]} + +%*********************************************************************** + +\section{Abbreviations} + +In this document we use numerous abbreviations. For convenience we mention +their meaning here. + +\placelistofabbreviations + +%*********************************************************************** + +\start \setupalign[nothanging,nohz] + +\section{Examples of HZ and protruding} + +In the following sections we will demonstrate \PDFTEX's protruding and +\HZ\ features, using a text from E.~Tufte. This sample text has a lot +of punctuation and often needs hyphenation. Former \PDFTEX\ versions +had sometimes problems with combining these features, but from version +1.21a on it should be ok. If you still encounter problems, please try +to prepare a small test file that demonstrates the problem and send it +to one of the maintainers. + +\startbuffer + \input tufte + \blank[big] + \startcolumns + \input tufte + \stopcolumns +\stopbuffer + +\subsection{Normal} \start \getbuffer \stop +\subsection{HZ} \start \setupalign[hz] \getbuffer \stop +\subsection{Protruding} \start \setupalign[hanging] \getbuffer \stop +\subsection{Both} \start \setupalign[hz,hanging] \getbuffer \stop + +\stop + +%*********************************************************************** + +\section[sec.addpdfkeys]{Additional \PDF\ keys} + +{\em This section is based on the manual on keys written by Martin +Schr\"oder, one of the maintainers of \PDFTEX.} + +A \PDF\ document should contain only the structures and attributes defined +in the \PDF\ specification. However, the specification allows applications +to insert additional keys, provided they follow certain rules. + +The most important rule is that developers have to register with Adobe +prefixes for the keys they want to insert. Hans Hagen has registered the +prefix \type{PTEX} for \PDFTEX. + +\PDFTEX\ generates an XObject for every included \PDF. The dictionary of +this object contains these additional keys: + +\starttabulate[|lT|l|p|] +\HL +\NC \bf key \NC \bf type \NC meaning \NC \NR +\HL +\NC PTEX.FileName \NC string \NC The name of the included file as seen by + \PDFTEX. \NC \NR +\NC PTEX.InfoDict \NC dictionary \NC The document information dictionary of the included + \PDF\ (an indirect object). \NC \NR +\NC PTEX.PageNumber \NC integer \NC The page number of the included file. \NC \NR +\HL +\stoptabulate + +The \PDFReference\ says: \quotation {Although viewer applications can +store custom metadata in the document information dictionary, it is +inappropriate to store private content or structural information there; +such information should be stored in the document catalog instead.} + +Although it would seem more natural to put this information in the +document information dictionary, we have to obey the rules laid down in +the \PDFReference. The following key ends up in the document catalog. + +\starttabulate[|lT|l|p|] +\HL +\NC \bf key \NC \bf type \NC meaning \NC \NR +\HL +\NC PTEX.Fullbanner \NC string \NC The full version of the \pt binary that +produced the file as displayed by {\tt pdftex \hbox{-{}-version}}, \eg\ +{\tt\pdftexbanner}. This is necessary because the string in the +\type{Producer} key in the info dictionary is rather short, +namely {\tt pdfTeX-\currentpdftex}. \NC \NR +\HL +\stoptabulate + +Any or all of these keys can be suppressed with the +\type{\pdfsuppressptexinfo} primitive, described in +\in{section}[sec.docinfocatalog]. + +%*********************************************************************** + +\section{Colophon} + +This manual is typeset in \CONTEXT. One can generate an A4 version from +the source code by typing: + +\starttyping +texexec --result=pdftex-a.pdf pdftex-t +\stoptyping + +Or in letter size: + +\starttyping +texexec --mode=letter --result=pdftex-l.pdf pdftex-t +\stoptyping + +Given that the A4 version is typeset, one can generate an A5 booklet by +typing: + +\starttyping +texexec --pdfarrange --paper=a5a4 --print=up --addempty=1,2 + --result=pdftex-b.pdf pdftex-a +\stoptyping + +Odd and even page sets for non-duplex printers can be generated using +\type{-}\type{-pages=odd} and \type{-}\type{-pages=even} options +(which might require some disciplined shuffling of sheet). + +This also demonstrates that \PDFTEX\ can be used for page imposition +purposes (given that \PDFTEX\ and the fonts are set up properly). + +%*********************************************************************** + +\page + +\definehead[gnusection][subsection] +\definehead[gnusubject][subsubject] + +\setuphead[gnusection,gnusubject][style=\bfa,before=\blank,after=\blank,align={right,broad,nothyphenated}] + +\setuphead[gnusection][ownnumber=yes] + +\section{GNU Free Documentation License} + +\startnotmode[screen] + \switchtobodyfont[4.6pt] % squeeze everything on one page :-} + \setuplayout[grid=yes] + \setupcolumns[n=7] +\stopnotmode + +\startmode[screen] + \setupcolumns[n=2] +\stopmode + +\startcolumns[tolerance=verytolerant,distance=10pt] \widowpenalty10000 \clubpenalty10000 + +\startlines +Version 1.2, November 2002 +Copyright \copyright\ 2000, 2001, 2002 +Free Software Foundation, Inc. +59 Temple Place, Suite 330, +Boston, MA 02111-1307 USA +\stoplines + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +\gnusubject{Preamble} + +The purpose of this License is to make a manual, textbook, or other +functional and useful document ``free'' in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. + +This License is a kind of ``copyleft'', which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + +\gnusection{1}{APPLICABILITY AND DEFINITIONS} + +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants +a world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The {\bf ``Document''}, below, +refers to any such manual or work. Any member of the public is +a licensee, and is addressed as {\bf ``you''}. You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. + +A {\bf ``Modified Version''} of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A {\bf ``Secondary Section''} is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall subject +(or to related matters) and contains nothing that could fall directly +within that overall subject. (Thus, if the Document is in part +a textbook of mathematics, a Secondary Section may not explain any +mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The {\bf ``Invariant Sections''} are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If +a section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. + +The {\bf ``Cover Texts''} are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A {\bf ``Transparent''} copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by \PDF\ viewers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not ``Transparent'' is called {\bf ``Opaque''}. + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML +or XML using a publicly available DTD, and standard-conforming simple +HTML, \POSTSCRIPT\ or \PDF\ designed for human modification. Examples of +transparent image formats include PNG, XCF and JPG. Opaque formats +include proprietary formats that can be read and edited only by +proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the +machine-generated HTML, \POSTSCRIPT\ or \PDF\ produced by some word +processors for output purposes only. + +The {\bf ''Title Page''} means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, ``Title Page'' means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +A section {\bf ``Entitled XYZ''} means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for +a specific section name mentioned below, such as {\bf ``Acknowledgements''}, +{\bf ``Dedications''}, {\bf ``Endorsements''}, or {\bf ``History''}.) +To {\bf ``Preserve the Title''} +of such a section when you modify the Document means that it remains +a section ``Entitled XYZ'' according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + + +\gnusection{2}{VERBATIM COPYING} + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + + +\gnusection{3}{COPYING IN QUANTITY} + +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. + + +\gnusection{4}{MODIFICATIONS} + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +\startitemize[A,packed] +\item + Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions + (which should, if there were any, be listed in the History section + of the Document). You may use the same title as a previous version + if the original publisher of that version gives permission. + +\item + List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified + Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has fewer than five), + unless they release you from this requirement. + +\item + State on the Title page the name of the publisher of the + Modified Version, as the publisher. + +\item + Preserve all the copyright notices of the Document. + +\item + Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. + +\item + Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the + terms of this License, in the form shown in the Addendum below. + +\item + Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document's license notice. + +\item + Include an unaltered copy of this License. + +\item + Preserve the section Entitled ``History'', Preserve its Title, and add + to it an item stating at least the title, year, new authors, and + publisher of the Modified Version as given on the Title Page. If + there is no section Entitled ``History'' in the Document, create one + stating the title, year, authors, and publisher of the Document as + given on its Title Page, then add an item describing the Modified + Version as stated in the previous sentence. + +\item + Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and likewise + the network locations given in the Document for previous versions + it was based on. These may be placed in the ``History'' section. + You may omit a network location for a work that was published at + least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. + +\item + For any section Entitled ``Acknowledgements'' or ``Dedications'', + Preserve the Title of the section, and preserve in the section all + the substance and tone of each of the contributor acknowledgements + and/or dedications given therein. + +\item + Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section titles. + +\item + Delete any section Entitled ``Endorsements''. Such a section + may not be included in the Modified Version. + +\item + Do not retitle any existing section to be Entitled ``Endorsements'' + or to conflict in title with any Invariant Section. + +\item + Preserve any Warranty Disclaimers. +\stopitemize + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled ``Endorsements'', provided it contains +nothing but endorsements of your Modified Version by various +parties---for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of +a standard. + +You may add a passage of up to five words as a Front-Cover Text, and +a passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + +\gnusection{5}{COMBINING DOCUMENTS} + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled ``History'' +in the various original documents, forming one section Entitled +``History''; likewise combine any sections Entitled ``Acknowledgements'', +and any sections Entitled ``Dedications''. You must delete all sections +Entitled ``Endorsements''. + +\gnusection{6}{COLLECTIONS OF DOCUMENTS} + +You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. + +\gnusection{7}{AGGREGATION WITH INDEPENDENT WORKS} + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an ``aggregate'' if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + +\gnusection{8}{TRANSLATION} + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include +a translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled ``Acknowledgements'', +``Dedications'', or ``History'', the requirement (section 4) to Preserve +its Title (section~1) will typically require changing the actual +title. + +\gnusection{9}{TERMINATION} + +You may not copy, modify, sublicense, or distribute the Document except +as expressly provided for under this License. Any other attempt to +copy, modify, sublicense or distribute the Document is void, and will +automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + +\gnusection{10}{FUTURE REVISIONS OF THIS LICENSE} + +The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +http:/\!/www.gnu.org/copyleft/. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License ``or any later version'' applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. +\stopcolumns + +%*********************************************************************** + +\stopbackmatter + +%D And then we're done. + +% Evidently ConTeXt somewhere sets \pdfgentounicode=1. Or something. +% So insert the mappings. Seems like a good thing anyway. +\input glyphtounicode +\stoptext diff --git a/systems/doc/pdftex/manual/pdftex-w.tex b/systems/doc/pdftex/manual/pdftex-w.tex new file mode 100644 index 0000000000..5afdf9f44a --- /dev/null +++ b/systems/doc/pdftex/manual/pdftex-w.tex @@ -0,0 +1,9 @@ +% $Id: pdftex-w.tex 689 2012-04-15 18:05:10Z karl $ +\pdfoutput=1 +\pdfcompresslevel=0 +\pdfobjcompresslevel=0 +\pdfmapline{ptmr8r Times-Roman 2 <8r.enc} +\font\tenrm=ptmr8r +\tenrm +Welcome to pdf\TeX! +\bye diff --git a/systems/doc/pdftex/manual/syntaxform.awk b/systems/doc/pdftex/manual/syntaxform.awk new file mode 100644 index 0000000000..cdabfe77f8 --- /dev/null +++ b/systems/doc/pdftex/manual/syntaxform.awk @@ -0,0 +1,124 @@ +# $Id: syntaxform.awk 742 2016-04-25 17:30:55Z karl $ +# Public domain. Originally written by Petr Olsak. +# pdftex-syntax.tex and pdftex-t.tex --> pdftex-syntax.txt +# requires gawk due to gensub() function + +BEGIN{ + buffer = ""; +} + +/\015*$/ { + gsub(/\015*$/, ""); +} + +/^%%S NL/ { + print ""; + next; +} + +/^%%S/ { + gsub (/^%%S/, "%%" ); + print; + next; +} + +/^\\Syntax/ { + printing = 1; + indentation = 0; + next; +} + +// { + if (buffer != "") { + gsub(/^ */, ""); + $0 = buffer $0; + } + buffer = ""; +} + +/\|\|/ { + gsub(/\|\|/, "-"); +} + +/^ */{ + gsub(/^ */, indspaces); +} + +/\\Something/ { + $0 = gensub(/\\Something *{([^}]*)}/, "<\\1>", "g"); +} + +/\\Literal/ { + $0 = gensub(/\\Literal *{([^}]*)}/, "\\1", "g"); +} + +/\\Tex/ { + $0 = gensub(/\\Tex *{([^}]*)}/, "\\1", "g"); +} + +/\\tex/ { + $0 = gensub(/\\tex *{([^}]*)}/, "\\\\\\1", "g"); +} + + +/\\Optional/ { + $0 = gensub(/\\Optional *{([^}]*)}/, "[\\1]", "g"); +} + +/\\Means/ { + gsub(/\\Means/, "-->"); + indentation = match($0, /-->/); + indspaces = " "; + for(i=0; i < indentation; i++) + indspaces = indspaces " "; +} + +/\\Lbrace/ { + gsub(/\\Lbrace/, "{"); +} + +/\\Rbrace/ { + gsub(/\\Rbrace/, "}"); +} + +/\\Or/ { + gsub(/\\Or/, "|"); +} + +/\\Next/ { + gsub(/\\Next /, ""); +} + +/\\unkern/ { + gsub(/\\unkern */, ""); +} + +/\\(Whatever|Modelist)/ { + whatind = 57; + whatpos = match($0, /\\(Whatever|Modelist)/); + b = substr($0, 0, whatpos - 1) + c = substr($0, whatpos) + c = gensub(/\\(Whatever|Modelist) *{([^}]*)}/, "(\\2)", "g", c); + $0 = b; + for(i = whatpos; i < whatind; i++) + $0 = $0 " "; + $0 = $0 c; +} + +/^}/ {printing = 0;} + +/% *$/ { + gsub(/% *$/, ""); + buffer = $0; + next; +} + +/^ *$/ { + $0 = "================= ERROR"; +} + +/ *$/ { + gsub(/ *$/, ""); +} + +{ if (printing) print; } diff --git a/systems/doc/pdftex/manual/syntaxform.pl b/systems/doc/pdftex/manual/syntaxform.pl new file mode 100755 index 0000000000..ad92b3ce30 --- /dev/null +++ b/systems/doc/pdftex/manual/syntaxform.pl @@ -0,0 +1,131 @@ +#!/usr/bin/env perl +# $Id: syntaxform.pl 743 2016-04-25 17:34:08Z karl $ +# Public domain. Originally written by Karl Berry, 2016. +# Read pdftex-t.tex, generate pdftex-syntax.tex +# by looking for the primitive descriptions. + +use warnings; + +sub main { + my %primitive = &read_manual_for_primitives (); + + # group primitives into classes based on their \Whatever construct. + my %class; + for my $p (sort keys %primitive) { + my ($class) = $primitive{$p} =~ /\\Whatever *\{(.*?)\}/; + # general commands don't have a \Whatever. + $class = "general" if ! $class; + + # append this primitive, comma-separated. + $class{$class} .= "$p," + } + + print <<END_HEADER; +%%S \$Id: syntaxform.pl 742 2016-04-25 17:30:55Z karl \$ +%%S This is the list of new or extended primitives provided by pdftex. +%%S Don't edit this file, as it is now auto-generated from the +%%S pdfTeX manual source pdftex-t.tex (and the generated +%%S pdftex-syntax.tex) by the script syntaxform.awk. +%%S Syntax rule conventions borrowed from `TeXbook naruby' by Petr Olsak. +END_HEADER + &print_by_class (\%class, \%primitive); + return 0; +} + +{ + # classes should be shown in a specific order, + # and have specific text for the headings. + # sorry for using an array. + my %class_info = ( + "integer" => [1, "Integer registers"], + "read||only integer" => [2, "Read-only integers"], + "dimen" => [3, "Dimen registers"], + "tokens" => [4, "Token registers"], + "expandable" => [5, "Expandable commands"], + "general" => [6, "General commands"], + ); + +sub print_by_class { + my ($class_ref,$primitive_ref) = @_; + my %class = %$class_ref; + + for my $c (sort by_class keys %class) { + my $aref = $class_info{$c}; + my $heading_name = $class_info{$c}->[1]; + # the %%S lines are for syntaxform.awk + print <<END_START_CLASS; +%%S NL +%%S $heading_name: +\\subsubject{$heading_name} + +\\startpacked +END_START_CLASS + + # extract list of primitives for this class. + my @prims = split (/,/, $class{$c}); + for my $p (@prims) { + my $val = $primitive_ref->{$p}; + + # get rid of the \pdftexprimitive{ and trailing } + $val =~ s,^\\pdftexprimitive *\{,,; + $val =~ s, *\} *$,,; + + # leading \Syntax and trailing } on their own lines for syntaxform.awk. + $val =~ s,^ *\\Syntax *\{,\\Syntax\{\n,; + $val =~ s, *\} *$,\n\},; + + # collapse multiple spaces + $val =~ s, +, ,g; + + print "\n$val\n"; + } + print "\n\\stoppacked\n"; + } +} + +sub by_class { $class_info{$a}->[0] <=> $class_info{$b}->[0]; } + +} # end block for %class_info + + +# read <> for \pdftexprimitive blocks. Return hash with keys being the +# primitive name (including the leading \) and values the entire block, +# without newlines. +# +sub read_manual_for_primitives { + my $printing = 0; + my $primitive = ""; + + while (<>) { + # \pdftexprimitive block ends at next unindented blank or \... line. + $printing = 0 if /^($|\\)/; + if (/^\\pdftexprimitive/) { + $printing = 1; + + my $type; + # \tex is used for primitives specified without a leading \. + ($type,$primitive) = m/\\([Tt])ex *\{(.*?)\}/; + warn "$ARGV:$.: no primitive found in: $_" if (! $primitive); + $primitive = "\\$primitive" if $type eq "t"; + + # \pdfmovechars is still in the manual, but doesn't do anything. + # Omit it from the output. + next if $primitive eq "\\pdfmovechars"; + + # Just one case, \special, has multiple instances of \pdftexprimitive. + # kludge by appending spaces to the name to make it unique; + # we later reduce multiple spaces to one, so it's not visible. + $primitive .= " " until ! exists $primitive{$primitive}; + } + + if ($printing) { + # concatenate lines of definition; assume spacing is reasonable. + chomp; + $primitive{$primitive} .= $_; + } + } + + return %primitive; +} + +exit (&main ()); diff --git a/systems/doc/pdftex/samplepdftex/cmr10.103 b/systems/doc/pdftex/samplepdftex/cmr10.103 new file mode 100644 index 0000000000..0db63e9892 --- /dev/null +++ b/systems/doc/pdftex/samplepdftex/cmr10.103 @@ -0,0 +1,255 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: -1 -90 185 270 +%%Creator: MetaPost +%%CreationDate: 2000.01.22:1541 +%%Pages: 1 +%%DocumentFonts: cmr10 + /cmr10 /cmr10 def +/fshow {exch findfont exch scalefont setfont show}bind def +%%EndProlog +%%Page: 1 1 + 0.7 setgray 0 6.97377 dtransform truncate idtransform setlinewidth pop + [] 0 setdash 1 setlinejoin 10 setmiterlimit +newpath 79.70117 153.42459 moveto +69.02646 153.42459 59.0136 148.29141 52.6969 139.6834 curveto +45.66814 130.105 44.83253 117.78 44.83253 105.9077 curveto +44.83253 94.03539 45.66814 81.71039 52.6969 72.13199 curveto +59.0136 63.52397 69.02646 58.3908 79.70117 58.3908 curveto +79.70117 56.89613 lineto +65.45702 56.89613 51.56941 61.75742 40.95534 71.25125 curveto +31.02951 80.12946 24.90634 92.60257 24.90634 105.9077 curveto +24.90634 119.21283 31.02951 131.68593 40.95534 140.56413 curveto +51.56941 150.05795 65.45702 154.91924 79.70117 154.91924 curveto + closepath +gsave fill grestore stroke +newpath 79.70117 58.3908 moveto +90.3759 58.3908 100.38876 63.52397 106.70546 72.13199 curveto +113.73422 81.71039 114.56981 94.03539 114.56981 105.9077 curveto +114.56981 117.78 113.73422 130.105 106.70546 139.6834 curveto +100.38876 148.29141 90.3759 153.42459 79.70117 153.42459 curveto +79.70117 154.91924 lineto +93.94534 154.91924 107.83295 150.05795 118.44702 140.56413 curveto +128.37285 131.68593 134.49602 119.21283 134.49602 105.9077 curveto +134.49602 92.60257 128.37285 80.12946 118.44702 71.25125 curveto +107.83295 61.75742 93.94534 56.89613 79.70117 56.89613 curveto + closepath +gsave fill grestore stroke +newpath 118.44714 140.564 moveto +128.22917 151.59401 142.26622 157.90715 157.00899 157.90715 curveto +157.00899 158.90407 lineto +142.05032 158.90407 127.88689 152.16806 118.4469 140.56427 curveto + closepath +gsave fill grestore stroke +newpath 157.00899 157.90715 moveto +163.8467 157.90715 168.8665 151.67432 168.8665 144.55785 curveto +170.85944 144.55785 lineto +170.85944 152.3925 164.75017 158.90407 157.00899 158.90407 curveto + closepath +gsave fill grestore stroke +newpath 156.91127 144.55785 moveto +156.91127 150.94083 163.48349 152.94232 167.60516 150.56235 curveto +170.85944 144.55785 lineto +170.85944 135.25906 156.91127 135.25906 156.91127 144.55785 curveto closepath +gsave fill grestore stroke +newpath 45.30899 71.57796 moveto +18.50632 46.29672 31.5723 5.98181 60.25307 5.98181 curveto +60.25546 5.98181 89.66144 5.98181 89.66383 5.98181 curveto +89.66383 20.01962 lineto +89.66144 20.01962 60.25546 20.01962 60.25307 20.01962 curveto +36.18747 20.01962 24.78682 52.22023 45.30922 71.5777 curveto + closepath +gsave fill grestore stroke +newpath 89.66383 5.98181 moveto +106.425 5.98181 123.6577 5.5558 138.45341 -2.39297 curveto +148.08914 -7.56964 154.04207 -17.66093 154.04207 -28.60449 curveto +154.04207 -40.80983 145.60735 -50.88159 135.18617 -57.49542 curveto +121.66623 -66.0759 105.67108 -69.46239 89.66383 -69.46239 curveto +73.65659 -69.46239 57.66144 -66.0759 44.14148 -57.49542 curveto +33.72032 -50.88159 25.28558 -40.80984 25.28558 -28.60449 curveto +25.28558 -19.41197 28.99132 -10.61298 35.5273 -4.14825 curveto +42.1066 2.35933 50.99866 5.98181 60.25307 5.98181 curveto +60.25307 6.48044 lineto +48.39644 6.48044 36.64467 3.3158 27.15794 -3.79567 curveto +19.15564 -9.79437 13.44954 -18.64792 13.44954 -28.60449 curveto +13.44954 -41.88544 23.93777 -51.97589 35.77214 -58.55229 curveto +52.15475 -67.65616 70.93266 -70.95703 89.66383 -70.95703 curveto +108.395 -70.95703 127.1729 -67.65616 143.55553 -58.55229 curveto +155.3899 -51.97589 165.8781 -41.88544 165.8781 -28.60449 curveto +165.8781 -13.9194 159.7333 0.3921 147.42345 8.2457 curveto +130.47827 19.0566 109.73244 20.01962 89.66383 20.01962 curveto + closepath +gsave fill grestore stroke + 0 setgray +114.57275 143.564 moveto +(0l) cmr10 9.96265 fshow + 0 3 dtransform truncate idtransform setlinewidth pop 1 setlinecap +newpath 118.44714 140.564 moveto 0 0 rlineto stroke +75.8268 156.42459 moveto +(1l) cmr10 9.96265 fshow +newpath 79.70117 153.42459 moveto 0 0 rlineto stroke +40.95816 108.9077 moveto +(2l) cmr10 9.96265 fshow +newpath 44.83253 105.9077 moveto 0 0 rlineto stroke +75.8268 61.39078 moveto +(3l) cmr10 9.96265 fshow +newpath 79.70117 58.3908 moveto 0 0 rlineto stroke +110.69543 108.9077 moveto +(4l) cmr10 9.96265 fshow +newpath 114.56981 105.9077 moveto 0 0 rlineto stroke +153.1346 160.90715 moveto +(5l) cmr10 9.96265 fshow +newpath 157.00899 157.90715 moveto 0 0 rlineto stroke +164.99213 147.55785 moveto +(6l) cmr10 9.96265 fshow +newpath 168.8665 144.55785 moveto 0 0 rlineto stroke +153.03688 147.55785 moveto +(7l) cmr10 9.96265 fshow +newpath 156.91127 144.55785 moveto 0 0 rlineto stroke +41.4346 74.57796 moveto +(8l) cmr10 9.96265 fshow +newpath 45.30899 71.57796 moveto 0 0 rlineto stroke +53.88802 8.9818 moveto +(10l) cmr10 9.96265 fshow +newpath 60.25307 5.98181 moveto 0 0 rlineto stroke +83.29877 8.9818 moveto +(11l) cmr10 9.96265 fshow +newpath 89.66383 5.98181 moveto 0 0 rlineto stroke +147.67702 -25.6045 moveto +(12l) cmr10 9.96265 fshow +newpath 154.04207 -28.60449 moveto 0 0 rlineto stroke +83.29877 -66.46239 moveto +(13l) cmr10 9.96265 fshow +newpath 89.66383 -69.46239 moveto 0 0 rlineto stroke +18.92052 -25.6045 moveto +(14l) cmr10 9.96265 fshow +newpath 25.28558 -28.60449 moveto 0 0 rlineto stroke +115.95634 143.56413 moveto +(0) cmr10 9.96265 fshow +newpath 118.44702 140.56413 moveto 0 0 rlineto stroke +77.2105 157.1719 moveto +(1) cmr10 9.96265 fshow +newpath 79.70117 154.17192 moveto 0 0 rlineto stroke +32.37875 108.9077 moveto +(2) cmr10 9.96265 fshow +newpath 34.86945 105.9077 moveto 0 0 rlineto stroke +77.2105 60.64346 moveto +(3) cmr10 9.96265 fshow +newpath 79.70117 57.64346 moveto 0 0 rlineto stroke +122.04224 108.9077 moveto +(4) cmr10 9.96265 fshow +newpath 124.53291 105.9077 moveto 0 0 rlineto stroke +154.5183 161.40561 moveto +(5) cmr10 9.96265 fshow +newpath 157.00899 158.40561 moveto 0 0 rlineto stroke +167.37228 147.55785 moveto +(6) cmr10 9.96265 fshow +newpath 169.86298 144.55785 moveto 0 0 rlineto stroke +161.39467 147.55785 moveto +(7) cmr10 9.96265 fshow +newpath 163.88535 144.55785 moveto 0 0 rlineto stroke +42.81842 74.57782 moveto +(8) cmr10 9.96265 fshow +newpath 45.3091 71.57782 moveto 0 0 rlineto stroke +55.27171 16.0007 moveto +(10) cmr10 9.96265 fshow +newpath 60.25307 13.00072 moveto 0 0 rlineto stroke +84.68248 16.0007 moveto +(11) cmr10 9.96265 fshow +newpath 89.66383 13.00072 moveto 0 0 rlineto stroke +154.97873 -25.6045 moveto +(12) cmr10 9.96265 fshow +newpath 159.96008 -28.60449 moveto 0 0 rlineto stroke +84.68248 -67.2097 moveto +(13) cmr10 9.96265 fshow +newpath 89.66383 -70.2097 moveto 0 0 rlineto stroke +14.38622 -25.6045 moveto +(14) cmr10 9.96265 fshow +newpath 19.36757 -28.60449 moveto 0 0 rlineto stroke +114.0052 143.56425 moveto +(0r) cmr10 9.96265 fshow +newpath 118.4469 140.56427 moveto 0 0 rlineto stroke +75.25948 157.91924 moveto +(1r) cmr10 9.96265 fshow +newpath 79.70117 154.91924 moveto 0 0 rlineto stroke +20.46463 108.9077 moveto +(2r) cmr10 9.96265 fshow +newpath 24.90634 105.9077 moveto 0 0 rlineto stroke +75.25948 59.89613 moveto +(3r) cmr10 9.96265 fshow +newpath 79.70117 56.89613 moveto 0 0 rlineto stroke +130.0543 108.9077 moveto +(4r) cmr10 9.96265 fshow +newpath 134.49602 105.9077 moveto 0 0 rlineto stroke +152.56728 161.90407 moveto +(5r) cmr10 9.96265 fshow +newpath 157.00899 158.90407 moveto 0 0 rlineto stroke +166.41772 147.55785 moveto +(6r) cmr10 9.96265 fshow +newpath 170.85944 144.55785 moveto 0 0 rlineto stroke +166.41772 147.55785 moveto +(7r) cmr10 9.96265 fshow +newpath 170.85944 144.55785 moveto 0 0 rlineto stroke +40.86751 74.57768 moveto +(8r) cmr10 9.96265 fshow +newpath 45.30922 71.5777 moveto 0 0 rlineto stroke +53.3207 23.0196 moveto +(10r) cmr10 9.96265 fshow +newpath 60.25307 20.01962 moveto 0 0 rlineto stroke +82.73145 23.0196 moveto +(11r) cmr10 9.96265 fshow +newpath 89.66383 20.01962 moveto 0 0 rlineto stroke +158.94572 -25.6045 moveto +(12r) cmr10 9.96265 fshow +newpath 165.8781 -28.60449 moveto 0 0 rlineto stroke +82.73145 -67.95703 moveto +(13r) cmr10 9.96265 fshow +newpath 89.66383 -70.95703 moveto 0 0 rlineto stroke +6.51717 -25.6045 moveto +(14r) cmr10 9.96265 fshow +newpath 13.44954 -28.60449 moveto 0 0 rlineto stroke +37.08095 74.25125 moveto +(8') cmr10 9.96265 fshow +newpath 40.95534 71.25125 moveto 0 0 rlineto stroke +42.74222 74.7797 moveto +(8'') cmr10 9.96265 fshow +newpath 48.00032 71.7797 moveto 0 0 rlineto stroke + 0 0.4 dtransform truncate idtransform setlinewidth pop 2 setlinecap +newpath 0 0 moveto +179.32765 0 lineto stroke +newpath 0 249.06535 moveto +179.32765 249.06535 lineto stroke +newpath 0 268.99066 moveto +179.32765 268.99066 lineto stroke +newpath 0 154.42062 moveto +179.32765 154.42062 lineto stroke +newpath 0 86.67494 moveto +179.32765 86.67494 lineto stroke +newpath 0 -69.73825 moveto +179.32765 -69.73825 lineto stroke +newpath 0 -89.66356 moveto +179.32765 -89.66356 lineto stroke + 0.4 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 0 -89.66356 moveto +0 268.99066 lineto stroke +newpath 179.32765 -89.66356 moveto +179.32765 268.99066 lineto stroke +newpath 19.9253 -89.66356 moveto +19.9253 268.99066 lineto stroke +newpath 39.85059 -89.66356 moveto +39.85059 268.99066 lineto stroke +newpath 59.77588 -89.66356 moveto +59.77588 268.99066 lineto stroke +newpath 79.70117 -89.66356 moveto +79.70117 268.99066 lineto stroke +newpath 99.62646 -89.66356 moveto +99.62646 268.99066 lineto stroke +newpath 119.55176 -89.66356 moveto +119.55176 268.99066 lineto stroke +newpath 139.47705 -89.66356 moveto +139.47705 268.99066 lineto stroke +newpath 159.40233 -89.66356 moveto +159.40233 268.99066 lineto stroke +newpath 184.30884 154.42062 moveto +184.30884 77.21031 lineto stroke +showpage +%%EOF diff --git a/systems/doc/pdftex/samplepdftex/obj.dat b/systems/doc/pdftex/samplepdftex/obj.dat new file mode 100644 index 0000000000..40f513288b --- /dev/null +++ b/systems/doc/pdftex/samplepdftex/obj.dat @@ -0,0 +1,4 @@ +<< +/Type /File +/Name (obj.dat) +>> diff --git a/systems/doc/pdftex/samplepdftex/pdfcolor.tex b/systems/doc/pdftex/samplepdftex/pdfcolor.tex new file mode 100644 index 0000000000..f09ecbcb75 --- /dev/null +++ b/systems/doc/pdftex/samplepdftex/pdfcolor.tex @@ -0,0 +1,158 @@ +% Very simple macros to show how to use colors with pdftex + +\def\cmykGreenYellow{0.15 0 0.69 0} +\def\cmykYellow{0 0 1 0} +\def\cmykGoldenrod{0 0.10 0.84 0} +\def\cmykDandelion{0 0.29 0.84 0} +\def\cmykApricot{0 0.32 0.52 0} +\def\cmykPeach{0 0.50 0.70 0} +\def\cmykMelon{0 0.46 0.50 0} +\def\cmykYellowOrange{0 0.42 1 0} +\def\cmykOrange{0 0.61 0.87 0} +\def\cmykBurntOrange{0 0.51 1 0} +\def\cmykBittersweet{0 0.75 1 0.24} +\def\cmykRedOrange{0 0.77 0.87 0} +\def\cmykMahogany{0 0.85 0.87 0.35} +\def\cmykMaroon{0 0.87 0.68 0.32} +\def\cmykBrickRed{0 0.89 0.94 0.28} +\def\cmykRed{0 1 1 0} +\def\cmykOrangeRed{0 1 0.50 0} +\def\cmykRubineRed{0 1 0.13 0} +\def\cmykWildStrawberry{0 0.96 0.39 0} +\def\cmykSalmon{0 0.53 0.38 0} +\def\cmykCarnationPink{0 0.63 0 0} +\def\cmykMagenta{0 1 0 0} +\def\cmykVioletRed{0 0.81 0 0} +\def\cmykRhodamine{0 0.82 0 0} +\def\cmykMulberry{0.34 0.90 0 0.02} +\def\cmykRedViolet{0.07 0.90 0 0.34} +\def\cmykFuchsia{0.47 0.91 0 0.08} +\def\cmykLavender{0 0.48 0 0} +\def\cmykThistle{0.12 0.59 0 0} +\def\cmykOrchid{0.32 0.64 0 0} +\def\cmykDarkOrchid{0.40 0.80 0.20 0} +\def\cmykPurple{0.45 0.86 0 0} +\def\cmykPlum{0.50 1 0 0} +\def\cmykViolet{0.79 0.88 0 0} +\def\cmykRoyalPurple{0.75 0.90 0 0} +\def\cmykBlueViolet{0.86 0.91 0 0.04} +\def\cmykPeriwinkle{0.57 0.55 0 0} +\def\cmykCadetBlue{0.62 0.57 0.23 0} +\def\cmykCornflowerBlue{0.65 0.13 0 0} +\def\cmykMidnightBlue{0.98 0.13 0 0.43} +\def\cmykNavyBlue{0.94 0.54 0 0} +\def\cmykRoyalBlue{1 0.50 0 0} +\def\cmykBlue{1 1 0 0} +\def\cmykCerulean{0.94 0.11 0 0} +\def\cmykCyan{1 0 0 0} +\def\cmykProcessBlue{0.96 0 0 0} +\def\cmykSkyBlue{0.62 0 0.12 0} +\def\cmykTurquoise{0.85 0 0.20 0} +\def\cmykTealBlue{0.86 0 0.34 0.02} +\def\cmykAquamarine{0.82 0 0.30 0} +\def\cmykBlueGreen{0.85 0 0.33 0} +\def\cmykEmerald{1 0 0.50 0} +\def\cmykJungleGreen{0.99 0 0.52 0} +\def\cmykSeaGreen{0.69 0 0.50 0} +\def\cmykGreen{1 0 1 0} +\def\cmykForestGreen{0.91 0 0.88 0.12} +\def\cmykPineGreen{0.92 0 0.59 0.25} +\def\cmykLimeGreen{0.50 0 1 0} +\def\cmykYellowGreen{0.44 0 0.74 0} +\def\cmykSpringGreen{0.26 0 0.76 0} +\def\cmykOliveGreen{0.64 0 0.95 0.40} +\def\cmykRawSienna{0 0.72 1 0.45} +\def\cmykSepia{0 0.83 1 0.70} +\def\cmykBrown{0 0.81 1 0.60} +\def\cmykTan{0.14 0.42 0.56 0} +\def\cmykGray{0 0 0 0.50} +\def\cmykBlack{0 0 0 1} +\def\cmykWhite{0 0 0 0} + +\def\GreenYellow{\pdfsetcolor{\cmykGreenYellow}} +\def\Yellow{\pdfsetcolor{\cmykYellow}} +\def\Goldenrod{\pdfsetcolor{\cmykGoldenrod}} +\def\Dandelion{\pdfsetcolor{\cmykDandelion}} +\def\Apricot{\pdfsetcolor{\cmykApricot}} +\def\Peach{\pdfsetcolor{\cmykPeach}} +\def\Melon{\pdfsetcolor{\cmykMelon}} +\def\YellowOrange{\pdfsetcolor{\cmykYellowOrange}} +\def\Orange{\pdfsetcolor{\cmykOrange}} +\def\BurntOrange{\pdfsetcolor{\cmykBurntOrange}} +\def\Bittersweet{\pdfsetcolor{\cmykBittersweet}} +\def\RedOrange{\pdfsetcolor{\cmykRedOrange}} +\def\Mahogany{\pdfsetcolor{\cmykMahogany}} +\def\Maroon{\pdfsetcolor{\cmykMaroon}} +\def\BrickRed{\pdfsetcolor{\cmykBrickRed}} +\def\Red{\pdfsetcolor{\cmykRed}} +\def\OrangeRed{\pdfsetcolor{\cmykOrangeRed}} +\def\RubineRed{\pdfsetcolor{\cmykRubineRed}} +\def\WildStrawberry{\pdfsetcolor{\cmykWildStrawberry}} +\def\Salmon{\pdfsetcolor{\cmykSalmon}} +\def\CarnationPink{\pdfsetcolor{\cmykCarnationPink}} +\def\Magenta{\pdfsetcolor{\cmykMagenta}} +\def\VioletRed{\pdfsetcolor{\cmykVioletRed}} +\def\Rhodamine{\pdfsetcolor{\cmykRhodamine}} +\def\Mulberry{\pdfsetcolor{\cmykMulberry}} +\def\RedViolet{\pdfsetcolor{\cmykRedViolet}} +\def\Fuchsia{\pdfsetcolor{\cmykFuchsia}} +\def\Lavender{\pdfsetcolor{\cmykLavender}} +\def\Thistle{\pdfsetcolor{\cmykThistle}} +\def\Orchid{\pdfsetcolor{\cmykOrchid}} +\def\DarkOrchid{\pdfsetcolor{\cmykDarkOrchid}} +\def\Purple{\pdfsetcolor{\cmykPurple}} +\def\Plum{\pdfsetcolor{\cmykPlum}} +\def\Violet{\pdfsetcolor{\cmykViolet}} +\def\RoyalPurple{\pdfsetcolor{\cmykRoyalPurple}} +\def\BlueViolet{\pdfsetcolor{\cmykBlueViolet}} +\def\Periwinkle{\pdfsetcolor{\cmykPeriwinkle}} +\def\CadetBlue{\pdfsetcolor{\cmykCadetBlue}} +\def\CornflowerBlue{\pdfsetcolor{\cmykCornflowerBlue}} +\def\MidnightBlue{\pdfsetcolor{\cmykMidnightBlue}} +\def\NavyBlue{\pdfsetcolor{\cmykNavyBlue}} +\def\RoyalBlue{\pdfsetcolor{\cmykRoyalBlue}} +\def\Blue{\pdfsetcolor{\cmykBlue}} +\def\Cerulean{\pdfsetcolor{\cmykCerulean}} +\def\Cyan{\pdfsetcolor{\cmykCyan}} +\def\ProcessBlue{\pdfsetcolor{\cmykProcessBlue}} +\def\SkyBlue{\pdfsetcolor{\cmykSkyBlue}} +\def\Turquoise{\pdfsetcolor{\cmykTurquoise}} +\def\TealBlue{\pdfsetcolor{\cmykTealBlue}} +\def\Aquamarine{\pdfsetcolor{\cmykAquamarine}} +\def\BlueGreen{\pdfsetcolor{\cmykBlueGreen}} +\def\Emerald{\pdfsetcolor{\cmykEmerald}} +\def\JungleGreen{\pdfsetcolor{\cmykJungleGreen}} +\def\SeaGreen{\pdfsetcolor{\cmykSeaGreen}} +\def\Green{\pdfsetcolor{\cmykGreen}} +\def\ForestGreen{\pdfsetcolor{\cmykForestGreen}} +\def\PineGreen{\pdfsetcolor{\cmykPineGreen}} +\def\LimeGreen{\pdfsetcolor{\cmykLimeGreen}} +\def\YellowGreen{\pdfsetcolor{\cmykYellowGreen}} +\def\SpringGreen{\pdfsetcolor{\cmykSpringGreen}} +\def\OliveGreen{\pdfsetcolor{\cmykOliveGreen}} +\def\RawSienna{\pdfsetcolor{\cmykRawSienna}} +\def\Sepia{\pdfsetcolor{\cmykSepia}} +\def\Brown{\pdfsetcolor{\cmykBrown}} +\def\Tan{\pdfsetcolor{\cmykTan}} +\def\Gray{\pdfsetcolor{\cmykGray}} +\def\Black{\pdfsetcolor{\cmykBlack}} +\def\White{\pdfsetcolor{\cmykWhite}} + +\def\pdfsetcolor#1{\pdfliteral{#1 k}} +\def\setcolor#1{\mark{#1}\pdfsetcolor{#1}} + +\pdfoutput=1 +\def\maincolor{\cmykBlack} +\pdfsetcolor{\maincolor} + +\def\makefootline{ + \baselineskip24pt + \line{\pdfsetcolor{\maincolor}\the\footline}} + +\def\makeheadline{% + \edef\M{\topmark} + \ifx\M\empty\let\M=\maincolor\fi + \vbox to 0pt{\vskip-22.5pt + \line{\vbox to8.5pt{}% + \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\M}}\vss}% + \nointerlineskip} diff --git a/systems/doc/pdftex/samplepdftex/pic.eps b/systems/doc/pdftex/samplepdftex/pic.eps new file mode 100644 index 0000000000..b3dd0d71da --- /dev/null +++ b/systems/doc/pdftex/samplepdftex/pic.eps @@ -0,0 +1,12486 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: tiff2ps +%%Title: pic.tif +%%CreationDate: Thu Aug 31 14:36:15 2000 +%%DocumentData: Clean7Bit +%%Origin: 0 0 +%%BoundingBox: 0 0 440 311 +%%LanguageLevel: 1 +%%Pages: (atend) +%%EndComments +%%BeginSetup +%%EndSetup +%%Page: 1 1 +gsave +100 dict begin +440.000000 311.000000 scale +/bwproc { + rgbproc + dup length 3 idiv string 0 3 0 + 5 -1 roll { + add 2 1 roll 1 sub dup 0 eq { + pop 3 idiv + 3 -1 roll + dup 4 -1 roll + dup 3 1 roll + 5 -1 roll put + 1 add 3 0 + } { 2 1 roll } ifelse + } forall + pop pop pop +} def +/colorimage where {pop} { + /colorimage {pop pop /rgbproc exch def {bwproc} image} bind def +} ifelse +%ImageData: 440 311 8 3 0 1 2 "false 3 colorimage" +/scanLine 440 string def +440 311 8 +[440 0 0 -311 0 311] +{currentfile scanLine readhexstring pop} bind +false 3 colorimage +a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7b0cbdca5c4d7 +a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7 +a5c4d7b0cbdca5c4d7a5c4d7b0cbdcb0cbdcb0cbdcb0cbdca5c4d7a5c4d7b0cbdc +a5c4d7b0cbdca5c4d7b0cbdca5c4d7aec4d0a5c4d7aec4d0a5c4d7a5c4d7b0cbdc +b0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdcaec4d0a5c4d7b0cbdca5c4d7b0cbdc +aec4d0a5c4d7b0cbdcb0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +a5c4d7b0cbdcaec4d0b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcaec4d0 +b0cbdcb0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdc +bacdd9b0cbdcaec4d0bacdd9b0cbdcb8c3c6bacdd9b0cbdcb0cbdcb0cbdcaec4d0 +b0cbdcbacdd9aec4d0b0cbdcb0cbdca5c4d7b0cbdcaec4d0aec4d0b0cbdcb0cbdc +b0cbdcb0cbdcb0cbdca5c4d7aec4d0a5c4d7b0cbdcaec4d0b0cbdcb0cbdcb0cbdc +b0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7aec4d0b0cbdcaec4d0b0cbdcb0cbdc +a5c4d7b0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcaec4d0b0cbdca5c4d7b0cbdc +b0cbdcb0cbdca5c4d7a5c4d7b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcaec4d0 +b0cbdcb0cbdcb0cbdcaec4d0aec4d0a5c4d7b0cbdcb0cbdca5c4d7b0cbdcaec4d0 +b0cbdcb0cbdcaec4d0b0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +aec4d0b0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcaec4d0aec4d0 +a5c4d7b0cbdcb0cbdcb0cbdcaec4d0b0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdc +aec4d0b2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0a5c4d7b0cbdcb0cbdcb0cbdc +bacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcaec4d0 +aec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdc +b0cbdcb0cbdcaec4d0b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcbacdd9 +aec4d0b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcaec4d0b0cbdc +bacdd9aec4d0b0cbdcb0cbdcbacdd9aec4d0b0cbdcb0cbdcb0cbdcb0cbdcaec4d0 +b0cbdcbacdd9b0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcbacdd9bacdd9b0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b8c3c6b0cbdcbacdd9b0cbdc +bacdd9b0cbdcb0cbdcb0cbdca3b8bcafc0ab8b98826b8673757c718b98828b9882 +7d98b17e98828da0b6b0cbdcb0cbdcbacdd9b0cbdcb0cbdcbacdd9bacdd9b0cbdc +b2d2e0b2d2e0bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9c1d4e2cdd5de +bacdd9bacdd9bacdd9c1d4e2bacdd9c1d4e2cccdcccdd5dec1d4e2c1d4e2bacdd9 +cdd5debacdd9c1d4e2cccdcccdd5dec1d4e2cdd5decccdcccdd5decdd5decdd5de +d2dee6cccdcccdd5dec5dae4cdd5decdd5decdd5decdd5decdd5decdd5dedcd6d6 +c1d4e2cccdccc1d4e2cccdccbacdd9c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2b0cbdcc1d4e2c1d4e2c1d4e2cccdccc1d4e2cdd5dec1d4e2 +c1d4e2cccdccc1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2cdd5decdd5dedfe1e6 +dcd6d6dfe1e6dcd6d6d2dee6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6 +dfe1e6dfe1e6dfe1e6cccdccc1c4c7dcd6d6dcd6d6cfc6b89da1abc1c4c7cccdcc +afb9bccccdcccccdcccfc6b8c1c4c7afb9bcc0b8a6c1c4c7c0b8a6c1c4c7dcd6d6 +a5c4d7a5c4d7a5c4d7a5c4d7b0cbdcb0cbdca5c4d7b0cbdca5c4d7a5c4d7b0cbdc +a5c4d7a5c4d7a5c4d7b0cbdcb0cbdca5c4d7a5c4d7b0cbdcb0cbdca5c4d7a5c4d7 +a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7b2d2e0a5c4d7a5c4d7 +a5c4d7b0cbdca5c4d7a5c4d7b0cbdca5c4d7b0cbdcaec4d0a5c4d7a5c4d7a5c4d7 +b0cbdcb0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdc +b0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdc +aec4d0b0cbdcaec4d0b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcaec4d0 +b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcaec4d0bacdd9aec4d0aec4d0 +b0cbdcbacdd9b0cbdcaec4d0b2d2e0bacdd9aec4d0bacdd9b8c3c6bacdd9b0cbdc +b0cbdcb0cbdcb0cbdca5c4d7b0cbdcaec4d0b0cbdcb0cbdcaec4d0b0cbdcaec4d0 +b0cbdcb0cbdcb0cbdcb0cbdcaec4d0aec4d0b0cbdcb0cbdcaec4d0aec4d0b0cbdc +aec4d0b0cbdca5c4d7aec4d0b0cbdcb0cbdcaec4d0b0cbdcaec4d0aec4d0b0cbdc +b0cbdca5c4d7b0cbdca5c4d7aec4d0aec4d0aec4d0aec4d0b0cbdca5c4d7a5c4d7 +b0cbdcb0cbdcb0cbdca5c4d7aec4d0b0cbdca5c4d7b0cbdcaec4d0b0cbdcaec4d0 +b0cbdcb0cbdcb0cbdcb0cbdca5c4d7aec4d0b0cbdcb0cbdcaec4d0b0cbdcaec4d0 +aec4d0b0cbdcaec4d0b0cbdcb0cbdca5c4d7b0cbdcaec4d0b0cbdca5c4d7b2d2e0 +b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcaec4d0bacdd9aec4d0bacdd9 +b0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdca5c4d7b0cbdc +aec4d0b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0 +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdc +b0cbdcb0cbdcb0cbdcb8c3c6b0cbdcbacdd9b0cbdcb8c3c6b0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcbacdd9aec4d0b0cbdcb0cbdcb0cbdcb8c3c6b0cbdc +b8c3c6bacdd9b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9aec4d0bacdd9 +bacdd9b0cbdcb8c3c6b0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcbacdd9 +b0cbdcbacdd9bacdd9aec4d0b0cbdcb0cbdcb8c3c6b0cbdcb0cbdcb0cbdcaec4d0 +bacdd9bacdd9aec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb8c3c6bacdd9b0cbdcb0cbdc +bacdd9bacdd9b0cbdcb0cbdcbacdd9aec4d0bacdd9b0cbdcbacdd9b0cbdcbacdd9 +b0cbdcbacdd9bacdd9bacdd9a3b8bc8ea089637471475832657c44767b47778772 +a0b09f819fb7a4bfb5b0cbdcb0cbdcb0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9 +bacdd9b2d2e0bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9bacdd9bacdd9 +c1d4e2bacdd9cccdcccdd5dec1d4e2c1d4e2bacdd9c1d4e2cccdccc1d4e2bacdd9 +c1d4e2cccdccc1d4e2bacdd9cdd5decdd5decdd5decccdccc1d4e2cdd5decdd5de +cdd5debacdd9cccdccd2dee6cdd5decdd5ded2dee6cdd5decdd5ded2dee6cdd5de +d2dee6cdd5dec1d4e2c1d4e2bacdd9bacdd9c1d4e2bacdd9cccdccc1d4e2c1d4e2 +c1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2cccdcc +c1d4e2bacdd9c1d4e2bacdd9c1d4e2cccdcccdd5dec1d4e2d2dee6cdd5dedfe1e6 +cdd5dedfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6 +dcd6d6e0e6e8dcd6d6dcd6d6dcd6d6dcd6d6dcd6d69da1ababa9a6cccdccdcd6d6 +c1c4c7aeb0bdc1c4c7cccdcccfc6b8aeb0bdc1c4c7c1c4c7cccdcccccdccc1c4c7 +a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7a5c4d7b0cbdca5c4d7a5c4d7b0cbdca5c4d7 +b0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7a5c4d7a5c4d7a5c4d7b0cbdca5c4d7 +a5c4d7a5c4d7a5c4d7a5c4d7b0cbdca5c4d7b0cbdca5c4d7a5c4d7a5c4d7b0cbdc +a5c4d7a5c4d7b0cbdca5c4d7a5c4d7aec4d0a5c4d7b0cbdca5c4d7b0cbdcb0cbdc +a5c4d7a5c4d7b0cbdca5c4d7b0cbdca5c4d7a5c4d7b0cbdcb0cbdca5c4d7a5c4d7 +b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdc +b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9bacdd9 +b0cbdcb0cbdcb0cbdcbacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb8c3c6 +bacdd9b8c3c6b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcaec4d0b0cbdc +aec4d0a5c4d7b0cbdcb0cbdcaec4d0b0cbdcaec4d0b0cbdcaec4d0b0cbdcaec4d0 +b0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdca5c4d7 +aec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcaec4d0b0cbdcb0cbdc +a5c4d7b0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0 +b0cbdcb0cbdca5c4d7aec4d0b0cbdcb0cbdcaec4d0aec4d0b0cbdcaec4d0bacdd9 +b0cbdcaec4d0a5c4d7b0cbdcb0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcaec4d0 +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcbacdd9aec4d0b0cbdcb0cbdcbacdd9aec4d0bacdd9 +b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +c1c4c7b0cbdcb0cbdcb0cbdcb8c3c6b0cbdcb0cbdcb0cbdcb8c3c6b0cbdcb0cbdc +b0cbdcb0cbdcb8c3c6bacdd9aec4d0b0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdc +bacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb2d2e0bacdd9b0cbdcb2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +aec4d0bacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9b0cbdcbacdd9aec4d0b0cbdc +b0cbdcb0cbdcbacdd9b0cbdcaec4d0c1c4c7b0cbdcb0cbdcb0cbdcb0cbdcc1c4c7 +b0cbdcb0cbdcbacdd9b0cbdcc1c4c7b0cbdcbacdd9b0cbdcb0cbdcb0cbdcbacdd9 +b0cbdcb0cbdcbacdd9b0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdc +c1d4e2b0cbdcb0cbdcbacdd9aec4d09da1ab757c716374717d908277877275704d +7d90828b98829fb0bbb0cbdcbacdd9bacdd9aec4d0bacdd9b0cbdcbacdd9bacdd9 +bacdd9b0cbdcbacdd9b0cbdcb2d2e0b2d2e0bacdd9bacdd9bacdd9cccdccc1d4e2 +c1d4e2c1d4e2bacdd9bacdd9bacdd9c1d4e2c1d4e2cdd5dec1d4e2cccdccc1d4e2 +c1d4e2cdd5decccdcccccdcccdd5decdd5decdd5decdd5decdd5decdd5debacdd9 +d2dee6cccdccc1d4e2c1d4e2cdd5decdd5decdd5decdd5ded2dee6cdd5ded2dee6 +cdd5decdd5ded2dee6cdd5decdd5decdd5debacdd9bacdd9c1d4e2bacdd9c1d4e2 +c1d4e2bacdd9c1d4e2cccdccbacdd9cdd5decdd5decdd5dec1d4e2c1d4e2c1d4e2 +bacdd9c1d4e2bacdd9cdd5dec1d4e2c1d4e2cdd5ded2dee6d2dee6dfe1e6dcd6d6 +dfe1e6dcd6d6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dcd6d6ebeae7dfe1e6dfe1e6 +dfe1e6dfe1e6cccdcccccdcccccdccdcd6d6dfe1e6dcd6d6dcd6d6dfe1e6dcd6d6 +dcd6d6dcd6d6cccdccc1c4c7cfc6b8dcd6d6cccdcccccdcccccdccaeb0bd9da1ab +a5c4d7a5c4d7b0cbdca5c4d7a5c4d7b0cbdca5c4d7b0cbdcb0cbdcb0cbdca5c4d7 +b0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdca5c4d7a5c4d7a5c4d7a5c4d7a5c4d7 +b0cbdcb0cbdca5c4d7b0cbdca5c4d7b0cbdca5c4d7a5c4d7b2d2e0a5c4d7b0cbdc +a5c4d7a5c4d7b0cbdca5c4d7b2d2e0a5c4d7a5c4d7b0cbdca5c4d7b0cbdca5c4d7 +b0cbdcb0cbdca5c4d7a5c4d7b0cbdcaec4d0a5c4d7b0cbdcb0cbdcb0cbdcb0cbdc +b0cbdca5c4d7b2d2e0aec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcaec4d0b0cbdcb0cbdcbacdd9 +bacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcbacdd9b0cbdcb8c3c6bacdd9b0cbdc +bacdd9aec4d0b0cbdcb0cbdcb0cbdcbacdd9b0cbdcaec4d0b0cbdcbacdd9b0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0aec4d0b0cbdcb0cbdcb8c3c6aec4d0 +b0cbdcb0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0 +b0cbdcb0cbdcaec4d0a5c4d7b0cbdca5c4d7aec4d0b0cbdcaec4d0b0cbdcb0cbdc +a5c4d7aec4d0b0cbdcaec4d0a5c4d7a5c4d7b0cbdcb0cbdcaec4d0b0cbdcaec4d0 +aec4d0bacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdc +b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdca5c4d7b2d2e0b0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcbacdd9 +aec4d0b8c3c6b0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b8c3c6b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcc1c4c7 +bacdd9b0cbdcc1c4c7b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcbacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9 +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcc1c4c7b0cbdcbacdd9bacdd9b0cbdc +bacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9bacdd9 +b0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb8c3c6b0cbdcbacdd9b0cbdcbacdd9 +b0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcc1c4c7b0cbdcc1c4c7bacdd9 +b0cbdcbacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdc +bacdd9b0cbdcb8c3c6bacdd9bacdd9b8c3c69fb0bbaec4d09fb0bb8a99ab9ea08a +6b85458b9882afb9bcc1d4e2b8c3c6bacdd9bacdd9bacdd9b0cbdcbacdd9c1d4e2 +aec4d0bacdd9bacdd9bacdd9bacdd9b0cbdcc1d4e2bacdd9c1d4e2bacdd9bacdd9 +c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2cdd5dec1d4e2cdd5decdd5decdd5decdd5decdd5decdd5decdd5de +c5dae4cdd5decdd5dec1d4e2c1d4e2c1d4e2cdd5decdd5decdd5decdd5dedcd6d6 +cdd5decdd5decdd5dec1d4e2bacdd9c1d4e2cdd5debacdd9c1d4e2bacdd9cccdcc +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5decccdcccdd5dec1d4e2c1d4e2 +cccdcccdd5dec1d4e2cdd5decdd5decdd5decdd5decdd5dedcd6d6d2dee6dfe1e6 +dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6ebeae7dfe1e6ebeae7dfe1e6ebeae7 +dfe1e6dcd6d69da1abdcd6d6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6 +cdd5dec1c4c7c1c4c7dcd6d6dcd6d6dcd6d6dcd6d6cccdccaeb0bdaeb0bdaeb0bd +a5c4d7a5c4d7a5c4d7b0cbdca5c4d7a5c4d7a5c4d7a5c4d7a5c4d7b0cbdca5c4d7 +a5c4d7b0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7 +a5c4d7a5c4d7a5c4d7b0cbdca5c4d7a5c4d7b2d2e0a5c4d7b0cbdca5c4d7b0cbdc +a5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcaec4d0b0cbdca5c4d7b0cbdc +a5c4d7b0cbdcb0cbdcb0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcaec4d0b0cbdcb0cbdcaec4d0b0cbdcb0cbdcaec4d0b0cbdcb0cbdcbacdd9 +b0cbdcb0cbdcbacdd9bacdd9aec4d0b0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdc +b8c3c6b0cbdcbacdd9b0cbdcb0cbdcb8c3c6b0cbdcb0cbdcb0cbdcaec4d0aec4d0 +b0cbdcaec4d0b0cbdcaec4d0aec4d0b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdc +aec4d0b0cbdcb0cbdcaec4d0b0cbdcb0cbdcaec4d0b0cbdcaec4d0b0cbdcb0cbdc +b0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcbacdd9a5c4d7b0cbdcb0cbdcbacdd9aec4d0b0cbdcb0cbdcaec4d0b0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcaec4d0aec4d0b0cbdcb0cbdcb0cbdcb0cbdcb8c3c6 +b0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0aec4d0b0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9aec4d0aec4d0b0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9b0cbdc +bacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9aec4d0bacdd9b0cbdcb0cbdc +b0cbdcbacdd9b0cbdcb0cbdcbacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcb2d2e0 +b0cbdcb0cbdcbacdd9bacdd9b8c3c6b0cbdcb0cbdcb0cbdcc1c4c7b0cbdcb0cbdc +bacdd9bacdd9b0cbdcb0cbdcb0cbdcaec4d0bacdd9b0cbdcb0cbdcb0cbdcb8c3c6 +b0cbdcbacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdc +c1c4c7b0cbdcb0cbdcbacdd9c1c4c7b0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9 +aec4d0bacdd9b2d2e0bacdd9b0cbdcbacdd9b0cbdcb0cbdcc1c4c7b0cbdcaec4d0 +b0cbdcbacdd9b0cbdcc1c4c7b0cbdcbacdd9bacdd9c1c4c7b0cbdcbacdd9b0cbdc +b0cbdcc1c4c7b0cbdcbacdd9bacdd9c1c4c7b0cbdcbacdd9b0cbdcbacdd9b0cbdc +bacdd9b0cbdcb0cbdcbacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9bacdd9c1d4e2 +bacdd9b0cbdca5c4d7b8c3c6bacdd9bacdd9c1d4e2b8c3c67d9082757c718b919f +757c719da1abaec4d0aec4d0aeb0bdaba9a6bacdd9bacdd9bacdd9bacdd9bacdd9 +c1d4e2b0cbdcb0cbdcbacdd9b2d2e0c1d4e2b0cbdcbacdd9bacdd9bacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9cccdccbacdd9bacdd9bacdd9 +cccdccc1d4e2cdd5decccdccc5dae4cdd5decdd5decdd5decdd5decdd5decdd5de +cdd5decdd5decdd5dec1d4e2c1d4e2c1d4e2c1d4e2cdd5decdd5decdd5ded2dee6 +cccdcccdd5decdd5decdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +bacdd9c1d4e2c1d4e2cdd5decdd5decdd5decdd5dec1d4e2cdd5decdd5dec1d4e2 +c1d4e2d2dee6d2dee6c1d4e2cdd5decdd5decdd5ded2dee6d2dee6dcd6d6dfe1e6 +dcd6d6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6 +dfe1e6cdd5dedcd6d6dfe1e6dcd6d6cccdccdfe1e6dfe1e6dfe1e6c1c4c7c1c4c7 +cdd5decccdcccdd5decccdcccdd5decdd5deaba9a6c1c2ae9da1ababa9a6afb9bc +a5c4d7a5c4d7a5c4d7a5c4d7b2d2e0a5c4d7a5c4d7b0cbdca5c4d7a5c4d7b0cbdc +a5c4d7a5c4d7b0cbdcb0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdca5c4d7 +b2d2e0b0cbdca5c4d7a5c4d7b0cbdca5c4d7a5c4d7b0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb0cbdca5c4d7b0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdc +b0cbdcb0cbdcb8c3c6bacdd9b0cbdcb0cbdcb2d2e0b0cbdcb0cbdcbacdd9b0cbdc +bacdd9b0cbdcc1c4c7b0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcbacdd9bacdd9 +bacdd9aec4d0bacdd9aec4d0bacdd9b0cbdcb0cbdcaec4d0b0cbdcbacdd9b0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcaec4d0bacdd9b0cbdcb0cbdcb0cbdcaec4d0b0cbdcaec4d0aec4d0b0cbdc +b0cbdcb0cbdcaec4d0a5c4d7b0cbdcb0cbdca5c4d7b0cbdcaec4d0b0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9bacdd9b0cbdc +b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcb8c3c6 +b0cbdcb0cbdcbacdd9b0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdc +b0cbdcbacdd9b0cbdcb2d2e0b0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcc1c4c7bacdd9bacdd9 +bacdd9b0cbdcb0cbdcbacdd9bacdd9bacdd9b0cbdcb0cbdcb0cbdcc1c4c7b0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcbacdd9bacdd9 +b0cbdcb0cbdcc1c4c7b0cbdcbacdd9bacdd9b0cbdcb0cbdcbacdd9b0cbdcb0cbdc +bacdd9b0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9b0cbdcbacdd9b2d2e0b0cbdc +bacdd9b0cbdcb0cbdcb0cbdcbacdd9bacdd9b0cbdcb0cbdcbacdd9b0cbdcc1c4c7 +b0cbdcbacdd9bacdd9b0cbdcb0cbdcaec4d0bacdd9b0cbdcbacdd9bacdd9b0cbdc +bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9c1c4c7bacdd9bacdd9bacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9 +cccdccb0cbdc9ea9b4afb9bcc1d4e2bacdd9c1d4e29fb0bb667c74667c74667c74 +576b339da1abafc0ab848887757c719da1abbacdd9c1d4e2bacdd9bacdd9bacdd9 +bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9cdd5de +bacdd9bacdd9bacdd9bacdd9c1d4e2c1d4e2c1d4e2bacdd9c1d4e2cccdccbacdd9 +c1d4e2cdd5dec1d4e2c1d4e2cdd5dec1d4e2cdd5dec1d4e2c5dae4c1d4e2cdd5de +cdd5decdd5decdd5debacdd9c1d4e2c1d4e2cdd5dec1d4e2cdd5decdd5decdd5de +d2dee6c1d4e2cccdccc1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2cdd5dec1d4e2cdd5debacdd9cdd5ded2dee6c1d4e2cdd5dec5dae4d2dee6 +c1d4e2cdd5decdd5decdd5decdd5decdd5dedcd6d6d2dee6dcd6d6d2dee6dcd6d6 +dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6ebeae7dfe1e6dcd6d6dfe1e6 +dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dcd6d6dcd6d6cccdccdcd6d6dcd6d6c1c4c7 +cccdccb8c3c6afb9bcaeb0bdafb9bcafb9bc9da1ababa9a6aba9a68b919faeb0bd +a5c4d7a5c4d7b0cbdca5c4d7a5c4d7a5c4d7b0cbdcb0cbdca5c4d7a5c4d7b0cbdc +b2d2e0a5c4d7b0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdc +b0cbdcb0cbdca5c4d7b0cbdcb2d2e0a5c4d7b0cbdca5c4d7b0cbdca5c4d7b0cbdc +a5c4d7b2d2e0a5c4d7b0cbdca5c4d7b0cbdcb0cbdca5c4d7a5c4d7b0cbdca5c4d7 +b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdca5c4d7b2d2e0 +aec4d0b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcaec4d0b0cbdcaec4d0 +b0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcbacdd9 +b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9b0cbdcbacdd9 +bacdd9b0cbdcbacdd9bacdd9b8c3c6b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdc +bacdd9bacdd9b0cbdcb0cbdcc1c4c7b0cbdcb0cbdcbacdd9aec4d0b0cbdcb0cbdc +b0cbdcaec4d0bacdd9b0cbdcaec4d0b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdc +aec4d0b0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb8c3c6 +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0aec4d0b0cbdcb0cbdcb0cbdc +b0cbdcaec4d0b0cbdcb0cbdcaec4d0b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb8c3c6b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcc1c4c7 +b0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdc +bacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9 +b0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcc1c4c7b0cbdc +aec4d0b0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9 +b0cbdcbacdd9b0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcc1d4e2b0cbdcb0cbdc +bacdd9bacdd9b0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdc +bacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdc +bacdd9bacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9 +b0cbdcbacdd9b0cbdcc1d4e2b0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcbacdd9 +bacdd9b0cbdcbacdd9bacdd9c1c4c7bacdd9bacdd9b2d2e0bacdd9bacdd9b0cbdc +bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdc +bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9c1d4e2cccdccbacdd9 +c1d4e2bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9afb9bc +9ea9b49fb0bb92a8b6aeb0bdb0cbdcbacdd9bacdd9a0b09f7b90346b8545627444 +576a626374716b8673547443667c74afb9bcb0cbdcb0cbdcbacdd9b0cbdcbacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9cdd5dec1d4e2cccdccbacdd9c1d4e2 +c1d4e2c1d4e2c1d4e2bacdd9bacdd9bacdd9cdd5debacdd9c1d4e2cdd5debacdd9 +c1d4e2bacdd9cdd5decdd5dec1d4e2cdd5dec1d4e2cdd5dec1d4e2c1d4e2c1d4e2 +c1d4e2cccdcccdd5debacdd9c1d4e2bacdd9bacdd9cdd5dec1d4e2c1d4e2cdd5de +c1d4e2cdd5dec1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2cdd5decdd5dec1d4e2cdd5decdd5decdd5decdd5de +d2dee6cdd5decdd5decdd5ded2dee6cdd5ded2dee6cdd5ded2dee6dcd6d6dfe1e6 +dfe1e6dcd6d6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6ebeae7 +dfe1e6dcd6d6dcd6d6dfe1e6dfe1e6dfe1e6cccdccafb9bccccdccc1c4c7c1c4c7 +c1c4c7aba9a69da1ab9d99819d99819da1ab9ea88eafb9bcb8c3c68488878b919f +b0cbdca5c4d7a5c4d7b2d2e0b0cbdca5c4d7b2d2e0a5c4d7b0cbdca5c4d7a5c4d7 +b2d2e0a5c4d7b0cbdcb0cbdca5c4d7b2d2e0a5c4d7b2d2e0b0cbdcb0cbdca5c4d7 +b0cbdcb0cbdcb0cbdca5c4d7b2d2e0b0cbdcb0cbdcb0cbdca5c4d7b2d2e0a5c4d7 +b0cbdca5c4d7a5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdc +b2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0 +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb8c3c6b0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcbacdd9b0cbdc +b0cbdcbacdd9b0cbdcb0cbdcb0cbdcc1d4e2b0cbdcb0cbdcb0cbdcbacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9b0cbdcc1c4c7b0cbdcbacdd9b0cbdc +c1c4c7bacdd9b0cbdcbacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcb0cbdcb8c3c6 +b0cbdcb0cbdcbacdd9bacdd9b0cbdcb0cbdcb0cbdcb0cbdcbacdd9aec4d0bacdd9 +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb8c3c6b0cbdcb0cbdcaec4d0aec4d0b0cbdcb0cbdcaec4d0b0cbdcb0cbdc +b0cbdcb0cbdcaec4d0bacdd9aec4d0b0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0bacdd9b0cbdc +b0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +bacdd9b0cbdcb0cbdcb2d2e0b0cbdcb0cbdcbacdd9bacdd9bacdd9b0cbdcbacdd9 +b0cbdcb0cbdcb8c3c6b0cbdcb0cbdcbacdd9b0cbdcbacdd9b2d2e0b0cbdcbacdd9 +bacdd9b0cbdcb0cbdcbacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcb2d2e0 +b0cbdcb0cbdcb2d2e0b0cbdcb0cbdcbacdd9c1c4c7b0cbdcb0cbdcbacdd9bacdd9 +b0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9b0cbdcb0cbdc +bacdd9b0cbdcbacdd9b0cbdcbacdd9bacdd9b0cbdcb0cbdcbacdd9b0cbdcb0cbdc +b0cbdcbacdd9bacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcbacdd9 +bacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9 +bacdd9bacdd9b2d2e0b2d2e0bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcb0cbdcbacdd9bacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2cccdcc +bacdd9bacdd9c1d4e2bacdd9bacdd9c1d4e2bacdd9bacdd9c1d4e2c1d4e2bacdd9 +9d99818b9080857d6787886d8b98829ea08a8ea0896b8545627444576b334c5026 +3f4e32576a624960326b86737e9882aeb0bdafb9bcaec4d0bacdd9bacdd9bacdd9 +bacdd9c1d4e2bacdd9bacdd9bacdd9bacdd9cccdccc1d4e2cdd5decdd5dec1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9cdd5decdd5decdd5decdd5dec1d4e2 +cdd5debacdd9cdd5decdd5decdd5decdd5dec1d4e2cccdccc1d4e2cdd5debacdd9 +c1d4e2bacdd9c1d4e2c1d4e2bacdd9cdd5debacdd9c1d4e2c1d4e2c1d4e2c1d4e2 +bacdd9cdd5decdd5debacdd9cdd5decdd5dec1d4e2bacdd9c1d4e2cccdccc1d4e2 +cdd5decdd5dec5dae4cdd5dec1d4e2cdd5decdd5decdd5decdd5dec1d4e2cdd5de +cdd5decdd5ded2dee6cdd5dec5dae4dcd6d6d2dee6dcd6d6d2dee6d2dee6dcd6d6 +d2dee6dfe1e6dfe1e6dcd6d6dfe1e6dcd6d6dfe1e6ebeae7dfe1e6dfe1e6dfe1e6 +dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dcd6d6dfe1e6dcd6d6cdd5dec1c4c7 +afb9bca0b09fa0b09f8a99ab8ea0899ea9b4aeb0bdaeb0bdaeb0bdafb9bcb8c3c6 +a5c4d7b2d2e0a5c4d7a5c4d7b2d2e0a5c4d7a5c4d7a5c4d7b0cbdcb0cbdcb0cbdc +a5c4d7b2d2e0a5c4d7a5c4d7b2d2e0a5c4d7b0cbdca5c4d7a5c4d7b0cbdca5c4d7 +a5c4d7a5c4d7b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +a5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +c1c4c7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9b0cbdcb0cbdc +b0cbdcbacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcbacdd9bacdd9bacdd9bacdd9 +bacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9b0cbdc +bacdd9b0cbdcbacdd9bacdd9b0cbdcb0cbdcb0cbdcbacdd9c1c4c7bacdd9b0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb8c3c6b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +bacdd9b8c3c6b0cbdcb0cbdcb0cbdcb0cbdcaec4d0b0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb8c3c6b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcbacdd9bacdd9bacdd9bacdd9b0cbdcb0cbdcbacdd9b0cbdcb0cbdc +bacdd9bacdd9b0cbdcb0cbdcbacdd9c1c4c7b0cbdcb0cbdcb0cbdcb0cbdcbacdd9 +bacdd9b0cbdcb2d2e0bacdd9b0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcbacdd9 +b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcbacdd9b0cbdcb0cbdcbacdd9b0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdc +b0cbdcbacdd9b0cbdcbacdd9bacdd9b0cbdcb0cbdcb0cbdcc1d4e2b0cbdcbacdd9 +bacdd9b0cbdcbacdd9b0cbdcbacdd9b0cbdcc1d4e2bacdd9bacdd9bacdd9bacdd9 +bacdd9bacdd9b0cbdcbacdd9c1c4c7b0cbdcb2d2e0bacdd9b0cbdcbacdd9bacdd9 +c1c4c7b0cbdcb0cbdcbacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9b0cbdc +bacdd9c1c4c7bacdd9bacdd9bacdd9b0cbdcc1d4e2b0cbdcb2d2e0b0cbdcbacdd9 +bacdd9bacdd9bacdd9bacdd9b2d2e0b2d2e0bacdd9bacdd9bacdd9b2d2e0bacdd9 +bacdd9b2d2e0b0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2cccdccc1d4e2cdd5de +bacdd9cccdccbacdd9c1d4e2c1d4e2cccdccc1d4e2c1d4e2bacdd9c1d4e2c1c4c7 +ada17f857d6786874a95885c9a9178767b4762744468752b576b333f4e1e272c1f +2b33223944463a4423667c74757c71848887aba9a6aec4d0c1d4e2bacdd9bacdd9 +c1d4e2bacdd9c1d4e2bacdd9c1d4e2cdd5dec1d4e2d2dee6c1d4e2c5dae4cdd5de +d2dee6cdd5decccdccd2dee6cdd5dec5dae4cdd5decdd5decdd5decdd5debacdd9 +cdd5decdd5decdd5decdd5ded2dee6d2dee6cdd5decdd5decdd5decdd5decdd5de +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2cdd5de +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5ded2dee6c1d4e2c1d4e2cdd5de +c1d4e2cdd5dec1d4e2c1d4e2c1d4e2cdd5dec1d4e2d2dee6cdd5decccdcccdd5de +d2dee6cdd5decdd5ded2dee6cdd5ded2dee6cdd5ded2dee6dcd6d6dcd6d6dfe1e6 +dcd6d6dcd6d6dfe1e6dfe1e6dcd6d6ebeae7dcd6d6dfe1e6dfe1e6dcd6d6dfe1e6 +dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6c1c4c7c1c4c7 +b8c1afafb9bcc1c4c79da1ab9da1ab9ea9b4aeb0bdafb9bcc1c4c7cfc6b8c1c4c7 +a5c4d7a5c4d7a5c4d7b2d2e0a5c4d7b0cbdcb2d2e0a5c4d7b2d2e0a5c4d7b0cbdc +a5c4d7a5c4d7b0cbdcb0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdca5c4d7b2d2e0 +b0cbdca5c4d7b2d2e0a5c4d7b2d2e0a5c4d7b0cbdcb2d2e0b2d2e0b2d2e0b0cbdc +b0cbdcb0cbdcb0cbdcb0cbdca5c4d7b2d2e0a5c4d7b2d2e0b0cbdcb0cbdcb0cbdc +b0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +aec4d0b0cbdcb0cbdcb0cbdcbacdd9bacdd9b0cbdcbacdd9b0cbdcb0cbdcb2d2e0 +b0cbdcbacdd9b0cbdcbacdd9bacdd9c1c4c7bacdd9b2d2e0b0cbdcb0cbdcbacdd9 +bacdd9b0cbdcbacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9b0cbdcb0cbdcbacdd9 +b0cbdcb0cbdcc1c4c7bacdd9b0cbdcbacdd9b0cbdcc1c4c7bacdd9bacdd9b0cbdc +b0cbdcbacdd9b0cbdcb8c3c6b0cbdcb0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdc +bacdd9b0cbdcbacdd9b0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcaec4d0bacdd9b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcbacdd9bacdd9b0cbdcb0cbdcb0cbdcbacdd9b0cbdcb0cbdcbacdd9b0cbdc +b0cbdcb0cbdcb0cbdcbacdd9bacdd9bacdd9b0cbdcb0cbdcb2d2e0b0cbdcbacdd9 +bacdd9b2d2e0b0cbdcb0cbdcbacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9 +b0cbdcb0cbdcbacdd9b0cbdcc1c4c7b0cbdcbacdd9bacdd9b2d2e0b0cbdcb0cbdc +bacdd9c1d4e2b0cbdcbacdd9bacdd9bacdd9c1d4e2b0cbdcbacdd9b0cbdcb2d2e0 +bacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9bacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9b2d2e0b0cbdcbacdd9b0cbdcbacdd9bacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b2d2e0c1d4e2bacdd9 +bacdd9b2d2e0bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9c1d4e2b0cbdc +bacdd9bacdd9bacdd9b2d2e0b0cbdcbacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2 +c1d4e2c1d4e2bacdd9b2d2e0c1d4e2bacdd9bacdd9c1d4e2bacdd9bacdd9c1d4e2 +bacdd9c1d4e2bacdd9c1d4e2c1d4e2cdd5dec1d4e2c1d4e2cccdcccdd5decdd5de +cdd5decdd5dec1d4e2bacdd9c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2 +c0b8a69a917874643e75704d666033767b47576b335e7429576b33475832475832 +354c313f4e323944467787728a99ab8488879d9981bacdd9cccdccc1d4e2c1d4e2 +cdd5dec1d4e2bacdd9c1d4e2c1d4e2cdd5decdd5dec1d4e2c1d4e2cdd5decdd5de +d2dee6d2dee6cdd5decdd5decdd5decdd5ded2dee6cdd5decdd5decdd5dec1d4e2 +cdd5decdd5ded2dee6d2dee6cdd5dedfe1e6d2dee6cdd5decdd5decdd5dec1d4e2 +cdd5decdd5dec1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2cdd5dec1d4e2c1d4e2 +bacdd9c1d4e2c1d4e2cdd5decdd5dec1d4e2cdd5dec1d4e2cdd5dec5dae4cdd5de +cdd5decdd5decdd5decdd5decdd5decdd5decdd5decdd5ded2dee6cdd5decdd5de +d2dee6cdd5ded2dee6cdd5ded2dee6dcd6d6dfe1e6d2dee6cdd5dedfe1e6dcd6d6 +dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6dcd6d6dcd6d6dfe1e6 +dfe1e6dcd6d6dfe1e6dcd6d6cdd5dedfe1e6cdd5dedfe1e6c1c4c79da1ababa9a6 +b8c3c6cdd5dec1c4c78ea089637471afb09e9ea9b4c0b8a69da1ab9da1ababa9a6 +b0cbdca5c4d7b0cbdca5c4d7a5c4d7b0cbdca5c4d7b0cbdca5c4d7b0cbdcb0cbdc +a5c4d7b0cbdca5c4d7b2d2e0b2d2e0a5c4d7b0cbdcb0cbdcb0cbdcb0cbdca5c4d7 +b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0 +b2d2e0b2d2e0bacdd9b0cbdcb2d2e0b0cbdcb2d2e0a5c4d7b2d2e0b0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcc1c4c7 +b0cbdcc1c4c7b0cbdcb2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2c1d4e2bacdd9bacdd9bacdd9bacdd9 +bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcbacdd9c1c4c7bacdd9bacdd9 +bacdd9bacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9b2d2e0b0cbdcbacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcbacdd9 +b0cbdcbacdd9b0cbdcbacdd9c1c4c7b0cbdcb0cbdcc1d4e2b0cbdcbacdd9b0cbdc +b0cbdcb0cbdcbacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9 +bacdd9bacdd9b0cbdcb2d2e0c1d4e2b0cbdcb0cbdcbacdd9b8c3c6bacdd9bacdd9 +b0cbdcc1d4e2b0cbdcbacdd9b0cbdcbacdd9b0cbdcbacdd9b2d2e0b0cbdcbacdd9 +bacdd9b0cbdcbacdd9bacdd9b0cbdcbacdd9b2d2e0b2d2e0b0cbdcbacdd9bacdd9 +b0cbdcbacdd9b0cbdcbacdd9b2d2e0bacdd9b2d2e0b0cbdcbacdd9bacdd9bacdd9 +bacdd9bacdd9bacdd9b2d2e0bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdc +bacdd9bacdd9b0cbdcc1d4e2c1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2bacdd9 +bacdd9bacdd9b2d2e0bacdd9b2d2e0bacdd9b2d2e0bacdd9bacdd9b0cbdcbacdd9 +bacdd9b0cbdcc1d4e2b0cbdcc1d4e2c1d4e2bacdd9bacdd9bacdd9bacdd9c1d4e2 +b2d2e0bacdd9bacdd9bacdd9bacdd9b2d2e0c1d4e2b2d2e0bacdd9b0cbdcc1d4e2 +b0cbdcb2d2e0c1d4e2b2d2e0bacdd9b2d2e0c1d4e2b0cbdcc1d4e2bacdd9bacdd9 +c1d4e2b2d2e0c1d4e2bacdd9bacdd9c1d4e2bacdd9bacdd9b2d2e0b2d2e0c1d4e2 +b2d2e0bacdd9c1d4e2bacdd9b2d2e0b2d2e0bacdd9bacdd9c1d4e2c1d4e2bacdd9 +c1d4e2c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2cdd5dec1d4e2cdd5decdd5de +c1d4e2cccdccc1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4cccdcc +c1d4e2afb9bc9d998175704d4e44255658383f4e1e5474435e7429576b33547443 +6b8673637471667c749fb0bbbacdd98a99abafb9bcc1d4e2c1d4e2cdd5decdd5de +cdd5decdd5dec1d4e2cdd5decdd5decccdcccdd5decdd5decdd5ded2dee6cdd5de +cdd5decdd5decdd5decdd5ded2dee6d2dee6cdd5decdd5decdd5decdd5decdd5de +c5dae4cdd5decdd5decdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5decdd5de +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2 +cdd5decdd5dec1d4e2c1d4e2bacdd9cdd5dec1d4e2cdd5dec1d4e2d2dee6cdd5de +d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6dfe1e6d2dee6cdd5ded2dee6dfe1e6 +dcd6d6d2dee6dcd6d6d2dee6cdd5decdd5decdd5ded2dee6d2dee6d2dee6d2dee6 +d2dee6dcd6d6dfe1e6dcd6d6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6 +dcd6d6dfe1e6dfe1e6d2dee6dfe1e6dcd6d6d2dee6cccdcccdd5dec0b8a6afb9bc +b8c3c6c1c4c7b8c1afa0b09fb0b8a3a3b7a48ea0898a99ab8b919f9da1ab757c71 +b0cbdcb0cbdca5c4d7b2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdca5c4d7 +b0cbdcb0cbdcb0cbdca5c4d7b2d2e0b2d2e0b0cbdca5c4d7b2d2e0b0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdca5c4d7a5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcbacdd9b2d2e0b2d2e0b2d2e0b0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcc1d4e2b0cbdc +b0cbdcb0cbdcbacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcb2d2e0bacdd9b2d2e0 +b0cbdcbacdd9bacdd9c1d4e2b2d2e0bacdd9bacdd9c1d4e2b2d2e0bacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9 +c1d4e2bacdd9c1d4e2bacdd9bacdd9bacdd9bacdd9c1d4e2c1d4e2bacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2b2d2e0b2d2e0bacdd9bacdd9bacdd9 +bacdd9b0cbdcb0cbdcbacdd9bacdd9b0cbdcbacdd9c1d4e2bacdd9bacdd9b0cbdc +bacdd9b0cbdcc1d4e2b0cbdcb0cbdcbacdd9b0cbdcbacdd9bacdd9bacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9 +bacdd9b0cbdcbacdd9b0cbdcbacdd9b0cbdcb0cbdcbacdd9bacdd9bacdd9b0cbdc +b0cbdcbacdd9bacdd9b0cbdcb2d2e0bacdd9bacdd9c1d4e2bacdd9b0cbdcb2d2e0 +b0cbdcbacdd9b2d2e0bacdd9bacdd9b2d2e0bacdd9bacdd9bacdd9b2d2e0c1d4e2 +bacdd9bacdd9bacdd9bacdd9b0cbdcc1d4e2bacdd9bacdd9c1d4e2b0cbdcbacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2b2d2e0b0cbdcc1d4e2b2d2e0 +bacdd9c1d4e2bacdd9c1d4e2b2d2e0c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2 +bacdd9bacdd9cccdccc1d4e2c1d4e2cdd5dec1d4e2c1d4e2cdd5dec1d4e2c1d4e2 +c1d4e2bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2c1d4e2 +bacdd9bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2b2d2e0bacdd9bacdd9 +bacdd9c1d4e2b2d2e0c1d4e2c1d4e2bacdd9c1d4e2b2d2e0c1d4e2bacdd9c1d4e2 +c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2bacdd9b2d2e0b2d2e0c1d4e2 +c1d4e2b2d2e0c1d4e2bacdd9bacdd9c1d4e2c1d4e2c1d4e2bacdd9b2d2e0bacdd9 +c1d4e2c1d4e2b2d2e0bacdd9c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2bacdd9 +bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2cdd5decccdcccdd5de +d2dee6c1d4e2cdd5dec1d4e2c1d4e2c1d4e2bacdd9cdd5decdd5dec1d4e2aec4d0 +aec4d08da0b6848887626e8c3944463f4e325474436b8545657c444960324b6865 +7d98b1aec4d0bacdd9bacdd9c1c4c78a99abc1d4e2c5dae4c5dae4cdd5dec5dae4 +cdd5decdd5decdd5decdd5ded2dee6cdd5ded2dee6cdd5decdd5decdd5decdd5de +cdd5ded2dee6dfe1e6cdd5ded2dee6d2dee6cdd5decdd5decdd5ded2dee6cdd5de +cdd5ded2dee6d2dee6cdd5decdd5decdd5decdd5dec1d4e2c1d4e2c1d4e2cdd5de +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5decdd5dec5dae4 +c1d4e2cdd5dec1d4e2cdd5decdd5ded2dee6d2dee6cdd5decdd5ded2dee6cdd5de +d2dee6cdd5ded2dee6d2dee6cdd5ded2dee6cdd5dedfe1e6d2dee6d2dee6d2dee6 +dfe1e6d2dee6d2dee6dcd6d6dfe1e6dfe1e6cdd5dedfe1e6cdd5decdd5dedfe1e6 +dcd6d6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6d2dee6dcd6d6dfe1e6 +dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6cdd5dec0b8a6c1c4c7dcd6d6cccdccafb9bc +afb9bcc0b8a6b8c3c6cdd5deb8c3c6afc0abbacdd9afb9bc9ea9b4a3b8bc9ea9b4 +b0cbdca5c4d7b2d2e0b0cbdca5c4d7b2d2e0a5c4d7b0cbdca5c4d7b2d2e0b2d2e0 +a5c4d7b0cbdcb2d2e0b2d2e0b0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdc +b0cbdcb0cbdcb0cbdcb2d2e0b2d2e0b0cbdca5c4d7b2d2e0b0cbdcb0cbdcb0cbdc +bacdd9b0cbdcb0cbdcb0cbdcb0cbdcbacdd9bacdd9c1d4e2b2d2e0b2d2e0b2d2e0 +b2d2e0b2d2e0b0cbdcbacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b0cbdcb2d2e0bacdd9 +bacdd9bacdd9bacdd9b0cbdcbacdd9bacdd9bacdd9b0cbdcc1d4e2bacdd9bacdd9 +bacdd9b2d2e0b2d2e0b2d2e0c1d4e2bacdd9c1d4e2bacdd9bacdd9bacdd9c1d4e2 +c1c4c7c1d4e2c1d4e2bacdd9c1d4e2c1d4e2bacdd9bacdd9bacdd9bacdd9c1d4e2 +bacdd9c1d4e2b2d2e0c1d4e2bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9 +bacdd9bacdd9bacdd9c1d4e2bacdd9bacdd9b0cbdcbacdd9b0cbdcc1d4e2c1d4e2 +bacdd9bacdd9bacdd9c1d4e2bacdd9c1d4e2bacdd9b0cbdcbacdd9bacdd9bacdd9 +bacdd9bacdd9b0cbdcb2d2e0bacdd9bacdd9bacdd9b2d2e0b0cbdcbacdd9c1d4e2 +b0cbdcb2d2e0b0cbdcbacdd9bacdd9c1d4e2c1d4e2b2d2e0bacdd9bacdd9bacdd9 +c1d4e2b0cbdcc1d4e2bacdd9bacdd9b0cbdcc1d4e2b2d2e0bacdd9bacdd9b2d2e0 +c1d4e2b2d2e0b0cbdcc1d4e2b2d2e0c1d4e2c1d4e2bacdd9b2d2e0c1d4e2aec4d0 +b2d2e0b2d2e0c1d4e2c1d4e2bacdd9bacdd9b2d2e0b2d2e0b0cbdcc1d4e2c1d4e2 +bacdd9c1d4e2bacdd9b2d2e0bacdd9bacdd9bacdd9b2d2e0b2d2e0bacdd9bacdd9 +bacdd9bacdd9bacdd9c1d4e2bacdd9bacdd9b2d2e0c1d4e2bacdd9c1d4e2bacdd9 +c1d4e2c1d4e2c1d4e2cccdcccdd5decdd5decdd5dec1d4e2c1d4e2cdd5dec1d4e2 +c1d4e2b0cbdcc5dae4bacdd9bacdd9b2d2e0b2d2e0bacdd9bacdd9bacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9c1d4e2b2d2e0bacdd9b2d2e0c1d4e2c1d4e2c1d4e2 +c1d4e2b2d2e0c1d4e2b2d2e0bacdd9c1d4e2bacdd9bacdd9bacdd9c1d4e2b0cbdc +c1d4e2b2d2e0b2d2e0c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2b2d2e0b2d2e0 +bacdd9c1d4e2c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2b2d2e0bacdd9c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2cdd5de +cdd5decdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9afb9bc +92a8b6a3b8bc54605f4658644960656b8673657c44666c5e56603a547443819fb7 +a3b8bcaec4d0c1d4e2afb9bc8b98828da0b6c1c4c7d2dee6cdd5decdd5decdd5de +d2dee6cdd5decdd5decdd5ded2dee6d2dee6cdd5ded2dee6d2dee6d2dee6dcd6d6 +d2dee6dcd6d6cdd5dedfe1e6dcd6d6dfe1e6d2dee6dfe1e6cdd5decdd5dec5dae4 +c5dae4d2dee6cdd5ded2dee6cdd5decdd5decdd5dec1d4e2c1d4e2c1d4e2c1d4e2 +cdd5dec5dae4cdd5decdd5dec1d4e2c1d4e2cdd5decdd5dec1d4e2cdd5decdd5de +d2dee6c5dae4c5dae4c5dae4d2dee6cdd5decdd5ded2dee6d2dee6cdd5ded2dee6 +cdd5dedfe1e6d2dee6cdd5decdd5dedfe1e6dcd6d6dfe1e6dfe1e6dcd6d6dcd6d6 +dfe1e6dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6dcd6d6 +dfe1e6d2dee6dfe1e6dcd6d6dcd6d6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d2dee6 +dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6cccdccc1c4c7cccdcccdd5dedcd6d6afb9bc +cdd5decdd5deafb9bcafb9bc9da1abaeb0bdaeb0bdafb9bcb8c3c6c1c4c7cccdcc +b0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdca5c4d7b2d2e0b0cbdcb2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0b0cbdcb2d2e0 +b0cbdcb0cbdcb0cbdcb0cbdcb2d2e0bacdd9b0cbdcb2d2e0b0cbdcc1d4e2c1d4e2 +b2d2e0c5dae4b2d2e0c1d4e2bacdd9bacdd9b2d2e0c1d4e2b2d2e0b2d2e0bacdd9 +bacdd9b2d2e0c1d4e2b2d2e0b2d2e0bacdd9b2d2e0bacdd9b2d2e0b2d2e0b2d2e0 +b2d2e0bacdd9b2d2e0b2d2e0c1d4e2bacdd9bacdd9c1d4e2b0cbdcbacdd9bacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2b2d2e0c1d4e2c1d4e2bacdd9bacdd9 +bacdd9c1d4e2bacdd9bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2c1d4e2 +bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2bacdd9 +bacdd9c1d4e2c1d4e2b0cbdcc1d4e2bacdd9b2d2e0c1d4e2bacdd9bacdd9b2d2e0 +bacdd9c1d4e2b0cbdcc1d4e2b0cbdcc1d4e2bacdd9bacdd9bacdd9bacdd9bacdd9 +bacdd9c1d4e2bacdd9bacdd9bacdd9bacdd9bacdd9b2d2e0b0cbdcbacdd9bacdd9 +b0cbdcc1d4e2bacdd9bacdd9bacdd9b2d2e0b0cbdcc1d4e2b0cbdcc1d4e2bacdd9 +c1d4e2bacdd9c1d4e2bacdd9b2d2e0b2d2e0b0cbdcb2d2e0bacdd9c1d4e2bacdd9 +b0cbdcc1d4e2bacdd9c1d4e2bacdd9b2d2e0c1d4e2b0cbdcbacdd9c1d4e2bacdd9 +bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2c1d4e2bacdd9c1d4e2bacdd9b2d2e0 +b0cbdcbacdd9c1d4e2b2d2e0bacdd9b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2 +bacdd9c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c5dae4c1d4e2 +c1d4e2cdd5decdd5decdd5decdd5decdd5ded2dee6cdd5decdd5decdd5dec1d4e2 +c1d4e2bacdd9c1d4e2b2d2e0c1d4e2c1d4e2bacdd9c1d4e2c5dae4bacdd9b2d2e0 +bacdd9c1d4e2b2d2e0bacdd9c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2 +c1d4e2b0cbdcc1d4e2b2d2e0c1d4e2b0cbdcc1d4e2c1d4e2bacdd9bacdd9c1d4e2 +c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2 +bacdd9bacdd9bacdd9bacdd9c1d4e2c1d4e2bacdd9c1d4e2c1d4e2b2d2e0c1d4e2 +c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5decdd5de +c1d4e2cdd5decdd5dec1d4e2cccdccc1d4e2c1d4e2c1d4e2c1d4e2cdd5deafb9bc +8b919f87886d657c44657c446b86738b9882576a626274444960326b8673709081 +7a91a8607590757c716b8673757c71a3b8bccdd5ded2dee6cdd5decdd5ded2dee6 +d2dee6cccdcc9ea9b4cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5dedfe1e6 +d2dee6dfe1e6d2dee6cdd5ded2dee6cdd5decdd5ded2dee6d2dee6cdd5decdd5de +d2dee6cdd5ded2dee6cdd5ded2dee6cdd5decdd5decdd5decdd5dec1d4e2c5dae4 +c5dae4d9e6ead2dee6cdd5dec5dae4c1d4e2cdd5dec5dae4d2dee6c1d4e2cdd5de +cdd5dec5dae4d2dee6c1d4e2d2dee6cdd5ded2dee6cdd5dedfe1e6cdd5dedfe1e6 +d2dee6dcd6d6dfe1e6dfe1e6d2dee6dfe1e6d2dee6dcd6d6dfe1e6cdd5dedfe1e6 +dcd6d6dcd6d6dfe1e6dcd6d6d2dee6d2dee6dcd6d6dfe1e6dfe1e6d2dee6dcd6d6 +dcd6d6d2dee6d2dee6dfe1e6dcd6d6d2dee6d2dee6dfe1e6cdd5dedfe1e6dfe1e6 +dfe1e6dcd6d6d2dee6dcd6d6cdd5deafb9bcaeb0bdcdd5decdd5dec1c4c7c1c4c7 +cccdccaba9a6a0b09f9ea88e8ea089a3b7a48b90808a99abcccdccc1c4c7cdd5de +a5c4d7b0cbdcb2d2e0a5c4d7b0cbdcb2d2e0b0cbdcb0cbdcb2d2e0b0cbdcb0cbdc +b0cbdcb0cbdcb2d2e0b0cbdcb2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0 +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b0cbdcbacdd9b0cbdcb0cbdcb2d2e0b0cbdcb2d2e0b0cbdcb2d2e0b0cbdcbacdd9 +b2d2e0b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2bacdd9b2d2e0bacdd9b2d2e0 +bacdd9bacdd9c1d4e2b0cbdcc1d4e2b2d2e0bacdd9b2d2e0bacdd9bacdd9b0cbdc +b2d2e0bacdd9bacdd9b2d2e0c1d4e2bacdd9b2d2e0bacdd9c1d4e2c1d4e2b2d2e0 +c1d4e2bacdd9c1d4e2b2d2e0c1d4e2bacdd9bacdd9bacdd9bacdd9bacdd9c1d4e2 +bacdd9bacdd9c1d4e2c1d4e2bacdd9cccdccbacdd9c1d4e2bacdd9b2d2e0bacdd9 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9bacdd9 +c1d4e2bacdd9bacdd9bacdd9bacdd9b0cbdcc1d4e2bacdd9bacdd9c1d4e2c1d4e2 +b2d2e0b0cbdcc1d4e2bacdd9b2d2e0bacdd9b2d2e0b2d2e0bacdd9bacdd9bacdd9 +b2d2e0bacdd9b2d2e0bacdd9b2d2e0bacdd9bacdd9b0cbdcc1d4e2bacdd9b2d2e0 +b2d2e0c1d4e2c1d4e2b2d2e0bacdd9b0cbdcc1d4e2bacdd9bacdd9bacdd9bacdd9 +bacdd9b2d2e0bacdd9bacdd9c1d4e2bacdd9b2d2e0bacdd9c1d4e2b0cbdcb2d2e0 +c1d4e2b0cbdcc1d4e2b2d2e0bacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9bacdd9 +bacdd9c1d4e2b2d2e0c1d4e2bacdd9bacdd9bacdd9b2d2e0b0cbdcbacdd9bacdd9 +c1d4e2b2d2e0bacdd9c1d4e2bacdd9bacdd9c1d4e2b2d2e0c1d4e2c1d4e2bacdd9 +c1d4e2bacdd9c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2bacdd9c1d4e2cdd5de +cdd5decdd5decdd5decdd5ded2dee6cdd5decdd5dec1d4e2cdd5dec5dae4c1d4e2 +cdd5dec1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2 +b2d2e0c1d4e2bacdd9c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2c1d4e2bacdd9 +c1d4e2c5dae4bacdd9c1d4e2bacdd9c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2bacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9c1d4e2bacdd9 +c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2 +bacdd9bacdd9c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9 +c1d4e2c1d4e2c1d4e2bacdd9cdd5dec1d4e2c1d4e2cdd5dec1d4e2c1d4e2bacdd9 +cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b8c3c6b8c3c69ea08a +867c4c757c71657c44618345778746627444657c44627444657c44627444394446 +354c315773767787726b86738ea089b8c3c6cdd5ded2dee6cdd5ded2dee6cdd5de +cdd5dea0b09f8a99abc5dae4dcd6d6d2dee6dcd6d6dcd6d6d2dee6dcd6d6cdd5de +d2dee6d2dee6dcd6d6d2dee6d2dee6d2dee6cdd5decdd5decdd5decdd5ded2dee6 +cdd5ded2dee6d2dee6cdd5decdd5ded2dee6d2dee6cdd5ded2dee6cdd5decdd5de +cdd5ded2dee6cdd5ded2dee6cdd5decdd5dec1d4e2d2dee6cdd5decdd5ded2dee6 +c1d4e2d2dee6c1d4e2d2dee6cdd5ded2dee6dcd6d6d2dee6d2dee6d2dee6dfe1e6 +d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6 +d2dee6d2dee6dfe1e6dcd6d6dfe1e6d2dee6dfe1e6dcd6d6dfe1e6d2dee6dfe1e6 +d2dee6dfe1e6cdd5dedfe1e6dfe1e6dcd6d6dfe1e6cdd5dedfe1e6dcd6d6dfe1e6 +dfe1e6dfe1e6dfe1e6cdd5dedfe1e6cdd5ded2dee6cdd5decfc6b8aba9a6a0b09f +aba9a687886d8488877787729fb0bbc0cbb8b8c3c6c1c4c7bacdd99ea9b4b8c3c6 +b0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7b0cbdcb0cbdcb2d2e0 +b2d2e0a5c4d7b2d2e0a5c4d7b2d2e0b0cbdcb0cbdcb0cbdcb2d2e0a5c4d7b2d2e0 +b2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb2d2e0b2d2e0b2d2e0b0cbdcb0cbdcbacdd9 +b0cbdcb2d2e0b0cbdcb0cbdcb2d2e0b0cbdcb0cbdcb0cbdcb2d2e0b0cbdcc1d4e2 +b0cbdcb2d2e0bacdd9b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2 +b2d2e0bacdd9bacdd9bacdd9c1d4e2c1d4e2bacdd9b2d2e0b2d2e0c1d4e2c1d4e2 +b0cbdcbacdd9b0cbdcc1d4e2b2d2e0b2d2e0b2d2e0bacdd9b2d2e0bacdd9b0cbdc +c1d4e2bacdd9c1d4e2bacdd9c1d4e2b2d2e0c1d4e2bacdd9c1d4e2c1d4e2bacdd9 +c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2bacdd9 +bacdd9c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2bacdd9c1d4e2bacdd9bacdd9 +c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2bacdd9bacdd9c1d4e2 +c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b0cbdcc1d4e2bacdd9 +c1d4e2c1d4e2bacdd9bacdd9c1d4e2b2d2e0c1d4e2b0cbdcbacdd9bacdd9c1d4e2 +b2d2e0bacdd9bacdd9bacdd9bacdd9c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0 +bacdd9c1d4e2b2d2e0bacdd9c1d4e2bacdd9bacdd9bacdd9b2d2e0bacdd9bacdd9 +c1d4e2b0cbdcc1d4e2b2d2e0c1d4e2bacdd9c1d4e2c1d4e2b2d2e0c1d4e2b2d2e0 +b2d2e0c1d4e2bacdd9c1d4e2b2d2e0c1d4e2b0cbdcc1d4e2c1d4e2c1d4e2bacdd9 +bacdd9c1d4e2b0cbdcc1d4e2c1d4e2c1d4e2bacdd9c1d4e2bacdd9c5dae4c1d4e2 +c1d4e2c1d4e2bacdd9c1d4e2c1d4e2b0cbdcc5dae4cccdcccdd5dec1d4e2cdd5de +cdd5decdd5decdd5decdd5ded2dee6c1d4e2cdd5decdd5decdd5decdd5dec1d4e2 +c5dae4c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9c1d4e2 +b2d2e0c1d4e2c1d4e2bacdd9c1d4e2b2d2e0c1d4e2bacdd9c1d4e2bacdd9c1d4e2 +bacdd9c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2c1d4e2 +b2d2e0bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9 +c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2 +cdd5dec5dae4d2dee6bacdd99ea9b4b8c3c6c1d4e2bacdd9aeb0bd8a99ab857d67 +767b475f615647583249603277874686874a767b475e7429657c446274443d573b +576a62709081637471666c5eb8c3c6cdd5decdd5ded2dee6d2dee6cdd5decdd5de +c1c4c79d9981aeb0bdcdd5decdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5de +d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6 +dcd6d6d2dee6d2dee6cdd5ded2dee6cdd5ded2dee6cdd5decdd5dec5dae4cdd5de +cdd5ded2dee6cdd5dec5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4d2dee6cdd5de +cdd5ded2dee6cdd5decdd5decdd5ded2dee6dfe1e6dcd6d6dfe1e6dfe1e6dcd6d6 +dfe1e6dcd6d6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6 +dcd6d6d2dee6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6 +d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6dfe1e6cdd5ded2dee6d2dee6 +dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6c1c4c7dcd6d6cccdccb8c3c69da1ab95af7a +8b9882a0b09f8ea0898a99abaec4d0b8c3c6c1d4e2dcd6d69da1ab666c5e8da0b6 +b2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb2d2e0b2d2e0b0cbdcb2d2e0b2d2e0b0cbdc +a5c4d7b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0b2d2e0b0cbdcb0cbdcb0cbdc +a5c4d7b2d2e0b0cbdcb0cbdcb2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb2d2e0b0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0b2d2e0b0cbdcbacdd9b0cbdc +b2d2e0b0cbdcbacdd9c1d4e2b0cbdcbacdd9c1d4e2c1d4e2c1d4e2c5dae4c1d4e2 +c1d4e2c1d4e2c1d4e2bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2bacdd9bacdd9 +c1d4e2c1d4e2bacdd9c1d4e2bacdd9b2d2e0c1d4e2c1d4e2bacdd9b2d2e0c5dae4 +bacdd9b2d2e0bacdd9c1d4e2b2d2e0c1d4e2bacdd9c1d4e2bacdd9bacdd9c1d4e2 +c1d4e2bacdd9c1d4e2c1d4e2bacdd9cccdccc1d4e2c1d4e2bacdd9c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2bacdd9c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2 +bacdd9c1d4e2bacdd9c1d4e2bacdd9bacdd9c1d4e2bacdd9c1d4e2b2d2e0c1d4e2 +bacdd9c1d4e2bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9bacdd9b2d2e0 +bacdd9bacdd9b2d2e0bacdd9bacdd9c1d4e2bacdd9b2d2e0c1d4e2bacdd9bacdd9 +bacdd9bacdd9b0cbdcb0cbdcc1d4e2bacdd9bacdd9bacdd9c1d4e2bacdd9bacdd9 +c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2b2d2e0c1d4e2c1d4e2bacdd9b2d2e0 +bacdd9c1d4e2bacdd9c1d4e2bacdd9b2d2e0b2d2e0b2d2e0bacdd9b2d2e0c1d4e2 +c1d4e2bacdd9b2d2e0c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2 +c1d4e2b2d2e0c1d4e2b2d2e0bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5de +c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5decdd5decdd5decdd5de +cdd5ded2dee6cdd5decdd5decdd5decdd5decccdccc1d4e2cdd5decdd5decdd5de +cdd5dec1d4e2cdd5dec1d4e2c1d4e2c1d4e2bacdd9bacdd9bacdd9c1d4e2c1d4e2 +c1d4e2c5dae4c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c5dae4b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2 +c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2bacdd9bacdd9 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c5dae4c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2cdd5dec1d4e2cdd5dec5dae4 +cdd5dec1d4e2c1d4e2bacdd99ea9b48a99abafb9bc9fb0bb9fb0bbb8c3c6b0b8a3 +8a99ab757c71667c74627444778746767b4756603a778772576b3386874a6b8545 +7d98b1a4bfb5778746666c5eafb9bcd2dee6d2dee6cdd5decdd5ded2dee6afb9bc +9d99819da1abafb9bcc1d4e2d2dee6cccdcccdd5decdd5decdd5decdd5dedfe1e6 +cdd5decdd5ded2dee6cdd5decdd5decdd5ded2dee6cdd5decdd5ded2dee6d2dee6 +d2dee6d2dee6d2dee6dfe1e6dcd6d6d2dee6cdd5ded2dee6cdd5decdd5dec5dae4 +cdd5decdd5dec5dae4d2dee6cdd5dec5dae4cdd5decdd5decdd5dec1d4e2c1d4e2 +c5dae4cdd5ded2dee6cdd5decdd5dedcd6d6dfe1e6d2dee6d2dee6dfe1e6dfe1e6 +dfe1e6dfe1e6d2dee6dcd6d6dfe1e6d2dee6dfe1e6d2dee6dfe1e6dcd6d6dfe1e6 +dfe1e6dcd6d6d2dee6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6d2dee6 +dfe1e6dcd6d6dfe1e6dfe1e6dcd6d6dfe1e6cdd5dedfe1e6d2dee6dcd6d6d2dee6 +cdd5dedfe1e6d2dee6dfe1e6cdd5debacdd9cccdcccdd5decdd5de9ea88ea0b09f +a0b09f9da1ab848887afc0ab9ea9b475889bb8c3c6d2dee6afb9bc8da0b6afb9bc +a5c4d7b2d2e0b0cbdcb0cbdca5c4d7b0cbdcb0cbdca5c4d7b2d2e0b2d2e0b2d2e0 +b2d2e0b2d2e0b0cbdcb0cbdcb2d2e0b0cbdca5c4d7b2d2e0b2d2e0b2d2e0b0cbdc +b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0bacdd9b0cbdcb2d2e0b2d2e0 +b2d2e0b2d2e0bacdd9bacdd9b2d2e0b2d2e0bacdd9bacdd9b2d2e0b2d2e0c1d4e2 +b2d2e0b2d2e0bacdd9b0cbdcc1d4e2b0cbdcb2d2e0c1d4e2c1d4e2b2d2e0bacdd9 +c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2b2d2e0bacdd9 +bacdd9b2d2e0c1d4e2b0cbdcc1d4e2b0cbdcbacdd9c1d4e2b2d2e0b2d2e0b2d2e0 +b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2 +bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2bacdd9bacdd9bacdd9bacdd9 +bacdd9c1d4e2c1d4e2bacdd9c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2bacdd9 +c1d4e2bacdd9bacdd9c1d4e2c1d4e2bacdd9c1d4e2c1d4e2bacdd9bacdd9c1d4e2 +bacdd9c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2c1d4e2b0cbdcc1d4e2bacdd9 +c1d4e2c1d4e2bacdd9c1d4e2b2d2e0bacdd9bacdd9bacdd9bacdd9c1d4e2bacdd9 +c1d4e2bacdd9c1d4e2c1d4e2b2d2e0c1d4e2b2d2e0bacdd9c1d4e2c1d4e2c1d4e2 +c1d4e2bacdd9b2d2e0c1d4e2c1d4e2bacdd9bacdd9bacdd9c1d4e2b2d2e0bacdd9 +c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0bacdd9bacdd9bacdd9 +c1d4e2c1d4e2bacdd9bacdd9c1d4e2bacdd9bacdd9bacdd9c1d4e2bacdd9bacdd9 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +bacdd9cdd5dec5dae4c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2d2dee6cdd5de +cdd5decdd5decdd5decdd5decdd5dec1d4e2cdd5decccdcccdd5dec5dae4cdd5de +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2bacdd9 +c1d4e2c1d4e2b2d2e0c5dae4b2d2e0c1d4e2c1d4e2bacdd9c1d4e2c1d4e2bacdd9 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +b2d2e0c1d4e2c1d4e2c1d4e2bacdd9c5dae4c1d4e2c1d4e2c1d4e2c1d4e2bacdd9 +c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2cdd5dec1d4e2cdd5dec1d4e2 +cdd5dec1d4e2c5dae4cccdccaba9a68b90808ea0898b9882657c448ea089b8c3c6 +bacdd9a3b8bc94afa18b98826f8f52757c718b90806b8673666b3b6374717d9082 +8ea0898ea0896b86736b8673a0b09fc1d4e2cdd5decdd5dec1c4c79ea9b4848887 +9ea08abacdd9cdd5dec5dae4c5dae4cdd5ded2dee6cdd5ded2dee6cdd5decdd5de +d2dee6cdd5decdd5decdd5dec5dae4cdd5dec1d4e2d2dee6cdd5ded2dee6cdd5de +dcd6d6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6cdd5ded2dee6c5dae4 +d2dee6cdd5ded2dee6cdd5dec5dae4c1d4e2c1d4e2c5dae4c5dae4d2dee6c1d4e2 +d2dee6c5dae4d2dee6dcd6d6d2dee6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6 +dcd6d6dfe1e6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6 +dfe1e6dcd6d6dfe1e6d2dee6dcd6d6d2dee6dcd6d6dfe1e6dfe1e6dfe1e6d2dee6 +dfe1e6dfe1e6cdd5dedfe1e6cdd5dedfe1e6dcd6d6dcd6d6d2dee6d2dee6dfe1e6 +d2dee6dfe1e6d2dee6d2dee6dcd6d6cdd5debacdd9c1c4c7b8c3c68a99ab7d9082 +667c7477877275889bafb9bcafb9bc9ea9b48da0b6cdd5dec1c4c7b8c3c6b8c3c6 +a5c4d7a5c4d7b0cbdcb2d2e0b2d2e0b2d2e0b2d2e0b0cbdcb0cbdcb2d2e0a5c4d7 +b0cbdcb0cbdcb0cbdcb0cbdcb2d2e0b2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdc +b2d2e0b2d2e0b0cbdcbacdd9b0cbdcb2d2e0b0cbdcb0cbdcb0cbdcb0cbdcbacdd9 +b2d2e0b2d2e0bacdd9b0cbdcb2d2e0b2d2e0b2d2e0bacdd9bacdd9b2d2e0bacdd9 +b2d2e0b2d2e0b2d2e0c1d4e2b0cbdcc1d4e2b2d2e0b2d2e0bacdd9b8c3c6c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c5dae4c1d4e2bacdd9c1d4e2 +c1d4e2b2d2e0b0cbdcc1d4e2bacdd9bacdd9c1d4e2c1d4e2c1d4e2b2d2e0b2d2e0 +c1d4e2bacdd9bacdd9bacdd9c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2cccdccc1d4e2bacdd9cdd5dec1d4e2bacdd9c1d4e2c1d4e2 +c1d4e2c1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2 +c1d4e2c5dae4c1d4e2c1d4e2bacdd9bacdd9c1d4e2bacdd9c1d4e2c1d4e2c1d4e2 +c1d4e2bacdd9bacdd9c1d4e2c1d4e2bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2 +b0cbdcc1d4e2b2d2e0bacdd9c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2b2d2e0 +c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9c1d4e2b2d2e0bacdd9bacdd9c1d4e2 +b2d2e0c1d4e2c1d4e2b0cbdcc1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2bacdd9 +c1d4e2b0cbdcc1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2bacdd9b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2bacdd9c1d4e2b0cbdc +c1d4e2c5dae4b2d2e0c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5de +cdd5dec1d4e2cccdcccdd5decccdcccdd5dec1d4e2c1d4e2cdd5decdd5decdd5de +cdd5decdd5decdd5decdd5dec5dae4c1d4e2c1d4e2cdd5ded2dee6cdd5dec1d4e2 +cdd5dec1d4e2cdd5dec1d4e2bacdd9c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c5dae4c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4cdd5dec1d4e2c5dae4c1d4e2c5dae4 +cdd5dec5dae4c1d4e2cdd5deaba9a69a91789a91789e9853867c4c656c2687886d +7e98827e988292a88d778746657c44666b3b667c74757c71627444697c2b657c44 +7c90535f7b2a5e7429667c74bacdd9c5dae4c1d4e2a3b8bc7d90828b98829d9981 +9da1abcdd5ded2dee6cdd5decdd5ded2dee6cdd5decdd5ded2dee6cdd5decdd5de +c1d4e2cdd5decdd5ded2dee6cdd5dec1d4e2d2dee6c1d4e2c5dae4cdd5ded2dee6 +cdd5decdd5ded2dee6cdd5decdd5decdd5ded2dee6cdd5ded2dee6c5dae4dfe1e6 +cdd5ded2dee6c5dae4d2dee6cdd5ded2dee6c5dae4cdd5dec5dae4cdd5decdd5de +dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dcd6d6dfe1e6 +d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dcd6d6dfe1e6dcd6d6dfe1e6 +dfe1e6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d2dee6dfe1e6 +d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6cdd5dedfe1e6cdd5de +d2dee6cdd5dedfe1e6d2dee6dfe1e6d2dee6c1c4c7afb9bcafb9bc92a88d92a8b6 +9fb0bbafb9bcbacdd9b8c3c6b8c3c6aec4d0a3b8bcb8c3c6b8c3c6cdd5dec1d4e2 +b0cbdcb0cbdcb0cbdca5c4d7b0cbdcb0cbdcb2d2e0b0cbdcb0cbdcb0cbdcb2d2e0 +b2d2e0b2d2e0b0cbdcb2d2e0b0cbdcb2d2e0b0cbdcb2d2e0b2d2e0b2d2e0b2d2e0 +b0cbdcb0cbdcb0cbdcc1d4e2b0cbdcb2d2e0b2d2e0bacdd9b2d2e0b2d2e0b0cbdc +b2d2e0b2d2e0b2d2e0bacdd9b2d2e0b2d2e0b2d2e0c1d4e2b0cbdcb2d2e0bacdd9 +bacdd9c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2bacdd9cdd5dec1d4e2 +b2d2e0b0cbdcc1d4e2b2d2e0c1d4e2c1d4e2c1d4e2d2dee6c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2b2d2e0c1d4e2bacdd9c1d4e2bacdd9 +c1d4e2c1d4e2c1d4e2bacdd9bacdd9bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2 +c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2c1d4e2c1d4e2bacdd9 +c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9 +c1d4e2bacdd9bacdd9bacdd9bacdd9c1d4e2c1d4e2c1d4e2c1d4e2b0cbdcc1d4e2 +c1d4e2bacdd9c1d4e2b2d2e0bacdd9c1d4e2bacdd9c1d4e2c1d4e2b2d2e0c1d4e2 +c1d4e2bacdd9c1d4e2bacdd9c1d4e2bacdd9c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2 +c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9c5dae4c1d4e2bacdd9c1d4e2bacdd9 +c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9bacdd9 +c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2 +cdd5dec5dae4cdd5decdd5ded2dee6cdd5decdd5decdd5decdd5decdd5decdd5de +cdd5decdd5decdd5decdd5decdd5dec1d4e2c1d4e2c1d4e2cdd5decdd5ded2dee6 +c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2 +c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c5dae4c5dae4c1d4e2cdd5dec1d4e2 +c5dae4cdd5dec1d4e2cdd5dec1d4e2c5dae4cdd5decdd5dec5dae4c5dae4c1d4e2 +cdd5dec5dae4c5dae4c1d4e2aeb0bd84888766603395885c857d674b69335e7429 +6b852c657c446b8545697c2b5474287c9053618345576b33627444666b3b5e7429 +6b85455f7b2a4b681e627444afb9bcc0cbb88b9882657c4468752b9ea08ab8c1af +c0b8a6dfe1e6dfe1e6d2dee6dcd6d6cdd5ded2dee6cdd5decdd5ded2dee6cdd5de +cdd5dec1d4e2cdd5dec1d4e2cdd5decdd5ded2dee6d2dee6c1d4e2c1d4e2d2dee6 +c5dae4d2dee6cdd5decdd5ded2dee6d2dee6c5dae4d2dee6cdd5ded2dee6d2dee6 +d2dee6dcd6d6d2dee6c5dae4cdd5dec5dae4cdd5decdd5ded2dee6d2dee6d2dee6 +dcd6d6d2dee6d2dee6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6 +d2dee6dfe1e6dfe1e6dcd6d6dcd6d6dfe1e6dcd6d6dfe1e6d2dee6dcd6d6dcd6d6 +dfe1e6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6dcd6d6dfe1e6 +d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6cdd5dedfe1e6cdd5ded2dee6dfe1e6 +dfe1e6dfe1e6dcd6d6dfe1e6cdd5dedcd6d6c1c4c79ea9b4b8c3c6cccdccbacdd9 +bacdd9cccdccbacdd9bacdd9afb9bc9ea9b492a8b69fb0bbafb9bcd2dee6cdd5de +b2d2e0b0cbdcb2d2e0b0cbdcb2d2e0b2d2e0b0cbdcb2d2e0b0cbdcb2d2e0b2d2e0 +b2d2e0bacdd9b0cbdcb0cbdcaec4d0b2d2e0b2d2e0b0cbdcb0cbdcbacdd9b2d2e0 +b0cbdcb2d2e0b2d2e0b0cbdcc1d4e2b0cbdcbacdd9b2d2e0b0cbdcb2d2e0b2d2e0 +b2d2e0bacdd9bacdd9b2d2e0bacdd9b2d2e0b2d2e0c1d4e2b2d2e0b2d2e0b2d2e0 +bacdd9bacdd9c1d4e2bacdd9b2d2e0c1d4e2b2d2e0c1d4e2bacdd9dcd6d6bacdd9 +b2d2e0c5dae4b2d2e0c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c5dae4c5dae4 +c5dae4d2dee6c1d4e2c5dae4c5dae4bacdd9c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2 +c1d4e2b2d2e0bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5debacdd9c1d4e2 +c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2cccdccbacdd9c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2cdd5debacdd9c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2bacdd9c1d4e2 +c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2b0cbdc +c1d4e2c1d4e2b2d2e0c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2 +b2d2e0c1d4e2b2d2e0c1d4e2bacdd9b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2bacdd9c5dae4b2d2e0 +b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2cdd5de +cdd5decccdccc5dae4c1d4e2c5dae4cdd5dec5dae4c1d4e2c5dae4c1d4e2d2dee6 +cdd5decdd5decdd5ded2dee6c1d4e2c5dae4cdd5dec1d4e2c1d4e2c1d4e2c1d4e2 +cdd5dec1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4b2d2e0c5dae4c1d4e2c5dae4 +c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2 +c1d4e2c1d4e2c5dae4c1d4e2cdd5dec5dae4c1d4e2c1d4e2c1d4e2c5dae4c5dae4 +c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c5dae4 +c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4cdd5dec5dae4 +c1d4e2d2dee6c5dae4cdd5decccdcc9fb0bb75889b9ea08a9ea08a778772627444 +576b33576a1f576b33627444657c44657c446b85455f7b2a556024666b3b778746 +656c263a44234960323d573b627444767b47666b3b5474286274449ea9b4d2dee6 +d2dee6dfe1e6dcd6d6dfe1e6dfe1e6d2dee6c5dae4d2dee6cdd5dec1d4e2d2dee6 +cdd5dec1d4e2d2dee6cdd5decdd5dec1d4e2d2dee6d2dee6d2dee6c5dae4c1d4e2 +cdd5decdd5ded2dee6c1d4e2cdd5dec5dae4cdd5decdd5ded2dee6c1d4e2cdd5de +d2dee6c1d4e2d2dee6d2dee6c1d4e2d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6 +cdd5dedfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6 +dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6 +d2dee6dfe1e6dcd6d6dfe1e6dfe1e6cdd5dedfe1e6d2dee6d2dee6dfe1e6d2dee6 +dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6dfe1e6cdd5dedfe1e6 +cdd5ded2dee6d2dee6cdd5ded2dee6d2dee6cdd5decdd5debacdd9c1c4c7b8c3c6 +a3b8bc9da1ab9da1abb8c3c6afb9bc9da1ab9da1ab667c74aec4d0c1d4e2d2dee6 +b0cbdcb0cbdcb2d2e0b0cbdcb0cbdcb2d2e0b2d2e0b2d2e0b0cbdcb2d2e0b2d2e0 +b0cbdcbacdd9b0cbdcafb9bcb0cbdcbacdd9bacdd9b0cbdcb2d2e0b0cbdcb2d2e0 +b0cbdcb2d2e0b2d2e0b2d2e0bacdd9b2d2e0bacdd9c1d4e2b2d2e0b2d2e0bacdd9 +b2d2e0b2d2e0bacdd9b2d2e0b2d2e0c1d4e2b0cbdcc1d4e2c1d4e2b2d2e0c1d4e2 +b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2bacdd9c1d4e2bacdd9dcd6d6bacdd9 +c1d4e2c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2cdd5dec5dae4c5dae4c5dae4c1d4e2c1d4e2bacdd9c1d4e2c1d4e2 +b2d2e0c1d4e2bacdd9bacdd9c1d4e2b2d2e0bacdd9c1d4e2bacdd9c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +bacdd9bacdd9c5dae4c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +bacdd9c1d4e2bacdd9c1d4e2bacdd9bacdd9c1d4e2bacdd9c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2bacdd9c1d4e2c1d4e2 +c1d4e2bacdd9c5dae4c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4 +c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9c1d4e2cdd5dec1d4e2c1d4e2 +c5dae4cdd5decdd5dec1d4e2c5dae4cdd5dec1d4e2cdd5decdd5dec1d4e2cdd5de +cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4cdd5dec5dae4c1d4e2 +c1d4e2cdd5dec1d4e2cdd5dec1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c5dae4 +c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2 +c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2 +d2dee6c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2cdd5dec5dae4c5dae4 +c1d4e2d2dee6c1d4e2cdd5dec5dae4c5dae4cdd5dec1d4e2c5dae4d2dee6cdd5de +c1d4e2cdd5ded2dee6c1d4e2d2dee6c1d4e2bacdd9a0b09f9da1ab7d9082576b33 +4b69334758324b693349603249601f4b681e6f8f526b852c4960323f4e1e5e7429 +576b333a44235f6156576b33576b33656c2656603a4960327d9082cdd5dedcd6d6 +dfe1e6d2dee6d2dee6dfe1e6dcd6d6cdd5decdd5ded2dee6c1d4e2cdd5dec1d4e2 +c5dae4c1d4e2c1d4e2c5dae4cdd5decdd5decdd5decdd5decdd5ded2dee6c1d4e2 +c5dae4c1d4e2cdd5dec1d4e2d2dee6c5dae4c1d4e2cdd5dec1d4e2cdd5decdd5de +cdd5decdd5ded2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6 +d2dee6dfe1e6dfe1e6d2dee6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6 +dfe1e6dfe1e6d2dee6dcd6d6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6cdd5dedfe1e6 +d2dee6d2dee6d2dee6cdd5ded2dee6dfe1e6d2dee6dfe1e6d2dee6cdd5ded2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6d2dee6 +d2dee6dfe1e6d2dee6cdd5decdd5ded2dee6cdd5decdd5dec1d4e2c1d4e2afb9bc +a3b8bc9ea9b48da0b6afb9bc9fb0bb8ea0898a99ab8b98829ea9b4bacdd9cccdcc +b2d2e0b0cbdcb0cbdcb0cbdcb0cbdcb0cbdcb2d2e0b2d2e0b2d2e0b2d2e0b0cbdc +b2d2e0bacdd9b0cbdcc1d4e2bacdd9b2d2e0b2d2e0c1d4e2b0cbdcc1d4e2b2d2e0 +c1d4e2b2d2e0b2d2e0bacdd9c1d4e2bacdd9b2d2e0bacdd9c1d4e2b0cbdcc1d4e2 +b2d2e0b0cbdcbacdd9bacdd9c5dae4b0cbdcc1d4e2b0cbdcb2d2e0c1d4e2c1d4e2 +c5dae4b2d2e0c1d4e2b2d2e0b2d2e0bacdd9c1d4e2b2d2e0c1d4e2cdd5decdd5de +bacdd9bacdd9c5dae4b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0bacdd9c1d4e2 +c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2 +c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2cccdccc1d4e2bacdd9c1d4e2cdd5dec1d4e2cdd5debacdd9c1d4e2c1d4e2 +cdd5dec1d4e2cccdccc1d4e2cdd5dec1d4e2cdd5dec1d4e2c1d4e2c1d4e2cdd5de +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9 +c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2b0cbdcc1d4e2bacdd9c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2bacdd9c1d4e2b2d2e0c1d4e2c1d4e2bacdd9c1d4e2c1d4e2b2d2e0 +c1d4e2c1d4e2bacdd9c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2bacdd9c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2bacdd9 +c1d4e2c1d4e2bacdd9c1d4e2bacdd9c5dae4c1d4e2c1d4e2b0cbdcc5dae4c5dae4 +bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +cccdccc1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2d2dee6c1d4e2 +cdd5dec1d4e2d2dee6c1d4e2cdd5debacdd9c5dae4c5dae4c1d4e2c1d4e2c5dae4 +c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2 +c1d4e2c1d4e2c1d4e2c5dae4cdd5dec1d4e2c5dae4c1d4e2d2dee6c1d4e2c1d4e2 +c1d4e2c5dae4c1d4e2cdd5dec1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4 +c5dae4c1d4e2c5dae4c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2 +c5dae4c5dae4c1d4e2cdd5dec1d4e2c5dae4c1d4e2c5dae4d2dee6c1d4e2c5dae4 +c1d4e2c5dae4c1d4e2cdd5dec1d4e2d2dee6c5dae4c1d4e2c1d4e2c5dae4c5dae4 +c1d4e2c1d4e2c1d4e2c5dae4cdd5dec1d4e2c5dae4cdd5decdd5dec1d4e2c1d4e2 +d2dee6c1d4e2cdd5dec5dae4bacdd9b8c3c6c5dae4c5dae4afb9bc92a88d709081 +6274444b69335474436f8f52576b335e7429697c2b5e74293f4e1e47581f5e7429 +56603a2f3c224758323f4e323f4e1e657c445474437d9082b8c3c6d2dee6cdd5de +d2dee6dfe1e6cdd5ded2dee6d2dee6cdd5ded2dee6c1d4e2cdd5ded2dee6c5dae4 +cdd5decdd5decdd5dec1d4e2c5dae4c5dae4cdd5ded2dee6c1d4e2c5dae4d2dee6 +d2dee6cdd5decdd5dec5dae4cdd5ded2dee6c5dae4cdd5dec5dae4c5dae4d2dee6 +d2dee6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6d2dee6d2dee6 +dcd6d6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6 +dfe1e6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6 +cdd5ded2dee6d2dee6d2dee6dcd6d6d2dee6cdd5ded2dee6dfe1e6d2dee6dfe1e6 +d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6cdd5ded2dee6dfe1e6cdd5ded9e6ea +d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6bacdd9c1d4e2bacdd9 +a3b8bc94afb98b90808ea0898b90808b90807090818ea0898b919f9ea9b48da0b6 +b0cbdcb0cbdcb0cbdcb0cbdcb2d2e0bacdd9b0cbdcbacdd9b0cbdcb2d2e0b2d2e0 +b2d2e0b2d2e0bacdd9b2d2e0b2d2e0b0cbdcb2d2e0b2d2e0b2d2e0b0cbdcc1d4e2 +bacdd9b0cbdcb2d2e0b2d2e0bacdd9c1d4e2b2d2e0c1d4e2bacdd9b2d2e0c1d4e2 +b2d2e0c1d4e2b2d2e0bacdd9b2d2e0b2d2e0c1d4e2c1d4e2bacdd9c1d4e2bacdd9 +c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c5dae4b2d2e0c1d4e2b2d2e0cdd5de +c1d4e2bacdd9c1d4e2c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2b0cbdcc1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5decdd5dec1d4e2d2dee6c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2 +c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c1d4e2 +bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c5dae4b2d2e0c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c5dae4c1d4e2c1d4e2b2d2e0c1d4e2c5dae4 +bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2 +cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2 +cdd5dec1d4e2c5dae4c1d4e2c1d4e2cdd5dec1d4e2c5dae4c1d4e2c5dae4c5dae4 +cdd5ded2dee6c1d4e2c5dae4bacdd9cdd5dec1d4e2c5dae4c1d4e2c1d4e2c5dae4 +c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4 +c1d4e2c5dae4c5dae4c5dae4cdd5dec5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4 +cdd5dec1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4cdd5dec5dae4c5dae4cdd5de +c1d4e2c1d4e2c5dae4c1d4e2cdd5decdd5dec1d4e2c5dae4c1d4e2c1d4e2c1d4e2 +cdd5dec1d4e2c5dae4c1d4e2c5dae4c1d4e2d2dee6c1d4e2c1d4e2c1d4e2c5dae4 +d2dee6c1d4e2d2dee6c1d4e2d2dee6c1d4e2d2dee6c1d4e2c1d4e2c1d4e2cdd5de +c5dae4c5dae4cdd5debacdd9b8c3c68da0b6a0b09fc1d4e2c5dae49ea9b4778772 +576b33627444657c446b85455e74296183455e74293f4e32383c233f4e323d573b +4758324960656b8545637471576a6292a88da0b09fd4dcd0d2dee6d2dee6dfe1e6 +cdd5ded2dee6cdd5decdd5ded2dee6c1d4e2cdd5dec1d4e2cdd5decdd5dec1d4e2 +c1d4e2c5dae4c5dae4cdd5dec1d4e2c5dae4c1d4e2d2dee6cdd5dec1d4e2c5dae4 +cdd5decdd5decdd5ded2dee6cdd5decdd5decdd5decdd5ded2dee6d2dee6d2dee6 +d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6d2dee6 +dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6dcd6d6d2dee6dfe1e6d2dee6 +dcd6d6d2dee6dcd6d6d2dee6d2dee6dcd6d6cdd5decdd5decdd5ded2dee6d2dee6 +dfe1e6d2dee6dcd6d6d2dee6d2dee6d2dee6dfe1e6cdd5dedfe1e6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6cdd5dedfe1e6 +d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6cdd5decdd5decdd5decdd5debacdd9 +cccdccbacdd9aec4d0aec4d08a99ab6b8673576a6275889b92a8b68ea0898a99ab +bacdd9b0cbdcb2d2e0b2d2e0b2d2e0b2d2e0b0cbdcb2d2e0b2d2e0b2d2e0bacdd9 +b2d2e0bacdd9b2d2e0bacdd9b2d2e0b2d2e0bacdd9b2d2e0b2d2e0c1d4e2b0cbdc +b2d2e0c1d4e2b2d2e0bacdd9bacdd9bacdd9bacdd9bacdd9b2d2e0c1d4e2b2d2e0 +bacdd9bacdd9c1d4e2b2d2e0bacdd9c1d4e2b2d2e0bacdd9b2d2e0c1d4e2c1d4e2 +b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0c5dae4bacdd9c1d4e2c1d4e2c1d4e2b2d2e0 +c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b0cbdcc1d4e2c1d4e2c1d4e2 +b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5ded2dee6 +cdd5decdd5ded2dee6c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c5dae4cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c5dae4bacdd9c1d4e2c1d4e2 +c1d4e2c1d4e2cccdccc1d4e2c1d4e2c1d4e2cdd5debacdd9c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4b2d2e0c1d4e2bacdd9 +c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2bacdd9bacdd9c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c5dae4b2d2e0bacdd9c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2d2dee6c1d4e2c5dae4 +c1d4e2c5dae4c1d4e2cdd5decdd5dec5dae4c5dae4cdd5dec1d4e2d2dee6c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4 +c1d4e2c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2 +c5dae4c5dae4c5dae4cdd5dec5dae4c1d4e2c5dae4c1d4e2cdd5dec5dae4c5dae4 +c1d4e2c5dae4c5dae4cdd5dec1d4e2c5dae4c1d4e2c5dae4c5dae4cdd5dec5dae4 +c5dae4c5dae4c5dae4c5dae4cdd5dec1d4e2c5dae4c5dae4c5dae4c5dae4cdd5de +c1d4e2c1d4e2c1d4e2c5dae4c5dae4cdd5dec1d4e2d2dee6bacdd99fb0bbbacdd9 +c5dae4c5dae4d2dee6bacdd99fb0bb6b85456374717e98828ea0896b8673567f3a +547443667c74657c444960325773764b6933576b333a4423383c233335223d4f56 +3d573b3944467d9082c1c4c7afb9bcaec4d0cdd5ded2dee6d2dee6d2dee6d2dee6 +cdd5decdd5decdd5decdd5dec1d4e2cdd5dec1d4e2c1d4e2c5dae4cdd5decdd5de +c1d4e2c5dae4c5dae4c1d4e2d2dee6d2dee6cdd5dec1d4e2d2dee6c5dae4c5dae4 +d2dee6c5dae4d2dee6cdd5decdd5ded2dee6cdd5ded2dee6d2dee6d2dee6dcd6d6 +dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6cdd5dedfe1e6 +d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6d2dee6dfe1e6 +d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6 +d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6dfe1e6d2dee6d2dee6d2dee6 +dfe1e6d2dee6cdd5dedfe1e6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6 +cdd5ded2dee6d2dee6d2dee6d2dee6cdd5ded2dee6cdd5dec1d4e2bacdd9bacdd9 +bacdd9bacdd9c1d4e2a3b8bc8a99ab75889b6b86738ea089aeb0bd8a99ab9ea9b4 +b0cbdcb0cbdcb0cbdcb0cbdcb2d2e0bacdd9b2d2e0b0cbdcc1d4e2b2d2e0bacdd9 +b2d2e0b2d2e0b2d2e0bacdd9b2d2e0c1d4e2b2d2e0bacdd9b2d2e0bacdd9bacdd9 +bacdd9b0cbdcb2d2e0c1d4e2bacdd9b2d2e0c1d4e2c1d4e2bacdd9bacdd9c1d4e2 +b2d2e0c1d4e2c1d4e2b2d2e0bacdd9c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2 +b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4bacdd9 +c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4 +c1d4e2c1d4e2d2dee6cdd5ded2dee6d2dee6c1d4e2cdd5dec1d4e2c1d4e2c1d4e2 +bacdd9c1d4e2c1d4e2c1d4e2cdd5dec1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c5dae4c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c5dae4c1d4e2bacdd9cdd5dec1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c5dae4c1d4e2c1d4e2c5dae4 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2 +c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c5dae4bacdd9c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2 +c1d4e2c5dae4c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2 +cdd5dec1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2cdd5dec1d4e2c1d4e2 +d2dee6c1d4e2cdd5dec1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2cdd5decdd5de +c1d4e2c1d4e2cdd5dec5dae4cdd5dec5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2 +c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2d2dee6 +c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c5dae4c1d4e2c5dae4cdd5dec1d4e2c1d4e2 +c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2 +c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2d2dee6c1d4e2 +c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4cdd5ded2dee69da1ab9fb0bb +bacdd9c1d4e2c5dae4cdd5deafb9bc92a8b68ea0897a91a86b8673576a626b8673 +92a8b64b68657d90828b9882607590666c5e3f4e32333522342d1f272c1f3d4f56 +6b867375889baec4d0c5dae4d2dee6cdd5ded2dee6d2dee6dcd6d6d2dee6cdd5de +cdd5dec1d4e2cdd5decdd5dec1d4e2c5dae4c1d4e2c1d4e2c1d4e2d2dee6c1d4e2 +cdd5ded2dee6c5dae4c1d4e2cdd5dec1d4e2d2dee6cdd5decdd5decdd5ded2dee6 +d2dee6d2dee6d2dee6c1d4e2d2dee6c5dae4d2dee6cdd5decdd5ded2dee6dfe1e6 +d2dee6d2dee6dcd6d6cdd5ded2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6 +dfe1e6dcd6d6d2dee6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6 +dfe1e6d2dee6d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6d2dee6cdd5decdd5de +cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6 +d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6 +d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4c1d4e2cccdccb0cbdcc1d4e2c1d4e2 +b8c3c6afb9bcb8c3c6b0cbdc8a99ab92a8b6a5c4d79fb0bb8da0b69da1abaeb0bd +b2d2e0b2d2e0b2d2e0b0cbdcb2d2e0c1d4e2b2d2e0b0cbdcb0cbdcbacdd9b2d2e0 +b2d2e0bacdd9b2d2e0c1d4e2b2d2e0b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0b2d2e0 +b2d2e0c5dae4b2d2e0b2d2e0c1d4e2bacdd9b2d2e0c1d4e2b2d2e0c1d4e2b0cbdc +c1d4e2b0cbdcc1d4e2c1d4e2b2d2e0bacdd9c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c5dae4c1d4e2 +c1d4e2b2d2e0c1d4e2c5dae4c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c1d4e2b2d2e0 +c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2cdd5dec1d4e2cdd5decdd5decdd5ded2dee6cdd5decdd5dec1d4e2c5dae4 +c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c5dae4cdd5dec1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2d2dee6c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c5dae4c1d4e2 +c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c5dae4 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2cdd5dec5dae4c1d4e2c5dae4c5dae4c1d4e2cdd5dec5dae4c1d4e2c5dae4 +c1d4e2d2dee6c1d4e2cdd5dec1d4e2c5dae4cdd5dec5dae4c1d4e2cdd5decdd5de +c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c1d4e2cdd5dec1d4e2c5dae4 +c1d4e2d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c1d4e2d2dee6c1d4e2 +c1d4e2cdd5dec5dae4cdd5dec5dae4c5dae4c1d4e2c1d4e2cdd5dec1d4e2c1d4e2 +d2dee6c5dae4c5dae4c1d4e2cdd5dec5dae4c5dae4c1d4e2c5dae4cdd5dec5dae4 +cdd5dec1d4e2d2dee6c1d4e2c5dae4c1d4e2c5dae4c1d4e2d2dee6c1d4e2c5dae4 +cdd5dec5dae4c1d4e2d2dee6c5dae4cdd5decdd5dec5dae4cdd5dec1d4e2cdd5de +cdd5decdd5ded2dee6c5dae4d2dee6cdd5dec1d4e2cdd5decdd5de9ea9b48ea089 +8da0b67d98b1afb9bcafc0ab7d9082a3b8bcaec4d092a88d7d98b17e98827e9882 +7e988249606577877275889b496065576a624960322f3c22272c1f2f3c22475832 +96b7aba5c4d7d2dee6dfe1e6d2dee6cdd5decdd5decdd5ded2dee6c1c4c7d2dee6 +cdd5dec5dae4c5dae4c1d4e2c1d4e2d2dee6c5dae4d2dee6c1d4e2cdd5decdd5de +c1d4e2cdd5ded2dee6cdd5dec5dae4d2dee6cdd5dec5dae4c5dae4cdd5ded2dee6 +cdd5ded2dee6cdd5decdd5ded2dee6cdd5ded2dee6cdd5ded2dee6d2dee6d2dee6 +dcd6d6d2dee6d2dee6d2dee6cdd5dedfe1e6dcd6d6dfe1e6dcd6d6dfe1e6dfe1e6 +cdd5dedfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6 +cdd5decdd5decdd5decdd5dec5dae4d2dee6c1d4e2d2dee6cdd5ded2dee6d2dee6 +d2dee6cdd5dec5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4 +cdd5ded2dee6d2dee6cdd5dec1d4e2cdd5dec1d4e2afb9bcafb9bcbacdd9afb9bc +a3b8bcb8c3c6aeb0bdaec4d09fb0bbb0cbdcc1d4e2c1d4e2b8c3c6aeb0bd8da0b6 +b0cbdcb2d2e0b2d2e0bacdd9b2d2e0bacdd9b2d2e0b2d2e0c1d4e2bacdd9b2d2e0 +b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0b2d2e0b2d2e0b2d2e0bacdd9bacdd9c1d4e2 +b2d2e0b2d2e0c1d4e2b2d2e0b2d2e0b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2 +bacdd9c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c5dae4 +b2d2e0c1d4e2c1d4e2b2d2e0c5dae4c5dae4c5dae4c5dae4b2d2e0c5dae4b2d2e0 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2b2d2e0c5dae4c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c5dae4b2d2e0 +c1d4e2c1d4e2c1d4e2c5dae4c1d4e2d2dee6c1d4e2d2dee6d2dee6c1d4e2d2dee6 +cdd5ded2dee6c1d4e2d2dee6cdd5dec1d4e2cdd5dec1d4e2c1d4e2c5dae4cdd5de +c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2cdd5dec5dae4c1d4e2c5dae4c1d4e2 +c1d4e2c1d4e2c1d4e2cdd5decdd5dec1d4e2c5dae4cdd5dec5dae4c1d4e2c5dae4 +c1d4e2cdd5dec1d4e2cdd5dec5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c5dae4 +c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2d2dee6c5dae4c1d4e2c1d4e2c5dae4 +c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2cdd5dec1d4e2c1d4e2 +c1d4e2c5dae4c5dae4c1d4e2cdd5dec5dae4cdd5dec5dae4c5dae4c5dae4cdd5de +c5dae4c1d4e2cdd5dec1d4e2c5dae4c5dae4cdd5dec1d4e2c5dae4cdd5ded2dee6 +c5dae4c1d4e2c1d4e2d2dee6bacdd9cdd5dec5dae4cdd5dec1d4e2c5dae4d2dee6 +c1d4e2cdd5dec5dae4c1d4e2cdd5dec5dae4d2dee6c5dae4c5dae4c1d4e2c5dae4 +cdd5dec1d4e2d2dee6c1d4e2c5dae4c5dae4c5dae4d2dee6c5dae4c1d4e2c5dae4 +c5dae4cdd5decdd5dec1d4e2c5dae4c1d4e2d2dee6c1d4e2c5dae4c1d4e2c1d4e2 +c5dae4cdd5dec1d4e2d2dee6c5dae4c1d4e2d2dee6c5dae4c5dae4d2dee6c5dae4 +c5dae4c1d4e2d2dee6d2dee6cdd5ded2dee6d2dee6cdd5decdd5dec1c4c7afb9bc +92a88d6b86737d90826b85454b69336b86737f97536274445773764b6933496065 +757c714960654b6865757c71496065627444666b3b2f3c222f3c22354c313f4e32 +597c75b0cbdcd4dcd0d2dee6d2dee6d2dee6cdd5decdd5dec1d4e2afb9bcc1d4e2 +c1d4e2cdd5ded2dee6cdd5dec1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2d2dee6 +c5dae4cdd5ded2dee6c5dae4cdd5dec5dae4d2dee6d2dee6cdd5ded2dee6cdd5de +d2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6dcd6d6cdd5de +cdd5decdd5ded2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6dcd6d6 +d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6dcd6d6d2dee6cdd5ded2dee6d2dee6 +d2dee6d2dee6d2dee6cdd5decdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5de +d2dee6d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6dfe1e6d2dee6c5dae4d2dee6 +cdd5ded2dee6d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4 +d2dee6d2dee6d2dee6b0cbdca3b8bcafb9bcbacdd98a99ab9da1abafb9bc94afb9 +a5c4d7aec4d09ea9b49fb0bba3b8bcbacdd9c1d4e2d2dee6bacdd99ea9b492a8b6 +bacdd9bacdd9bacdd9b2d2e0bacdd9b2d2e0c1d4e2b2d2e0b2d2e0b2d2e0b2d2e0 +b0cbdcbacdd9c1d4e2bacdd9b2d2e0c1d4e2c1d4e2bacdd9c1d4e2c1d4e2b2d2e0 +c1d4e2c1d4e2bacdd9c1d4e2bacdd9c1d4e2b2d2e0b2d2e0c1d4e2c1d4e2b2d2e0 +c1d4e2bacdd9b2d2e0b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2 +c1d4e2c5dae4c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c5dae4c5dae4c1d4e2 +c1d4e2c1d4e2c1d4e2b2d2e0b2d2e0c1d4e2c1d4e2c1d4e2c5dae4c1d4e2b2d2e0 +c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2d2dee6c5dae4c1d4e2 +cdd5dec1d4e2cdd5decdd5dec5dae4cdd5ded2dee6cdd5ded2dee6cdd5dec1d4e2 +cdd5decdd5dec1d4e2c5dae4c1d4e2d2dee6c1d4e2c1d4e2cdd5dec1d4e2cdd5de +c1d4e2d2dee6c1d4e2c5dae4c5dae4c1d4e2cdd5dec1d4e2cccdcccdd5dec5dae4 +c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4 +c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2 +c1d4e2cdd5dec1d4e2cdd5decdd5dec1d4e2cdd5decdd5dec1d4e2d2dee6cdd5de +c1d4e2d2dee6c1d4e2cdd5dec1d4e2c5dae4c1d4e2c1d4e2d2dee6c5dae4c5dae4 +cdd5ded2dee6c1d4e2cdd5dec1d4e2cdd5ded2dee6d2dee6c1d4e2c5dae4c1d4e2 +d2dee6c1d4e2c5dae4cdd5ded2dee6c5dae4c5dae4c5dae4c1d4e2cdd5debacdd9 +cdd5dec1d4e2c1d4e2cdd5dec5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4d2dee6 +c5dae4c5dae4c1d4e2d2dee6cdd5dec5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4 +c1d4e2c5dae4d2dee6c1d4e2c5dae4d2dee6c5dae4cdd5dec5dae4c5dae4d2dee6 +c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2c5dae4cdd5dec5dae4c5dae4d2dee6 +d2dee6c5dae4cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6 +afb9bc9ea88e7e98826274444b681e5474287787465f7b2a5e74295f7b2a627444 +576b334b69336b8673667c746b8673657c444960322f3c22304321373e43354c31 +4b686575889bb8c3c6d2dee6d2dee6cdd5ded2dee6c1d4e29fb0bb8da0b6bacdd9 +d2dee6d2dee6c5dae4cdd5dec5dae4cdd5ded2dee6cdd5dec1d4e2d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5decdd5ded2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6dcd6d6dfe1e6d2dee6dfe1e6cdd5dedfe1e6dfe1e6d2dee6 +dfe1e6cdd5ded2dee6d2dee6cdd5ded2dee6cdd5ded2dee6d2dee6d2dee6d2dee6 +d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +cdd5ded2dee6d2dee6d2dee6d2dee6cdd5ded2dee6cdd5ded2dee6c5dae4d2dee6 +d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +c5dae4cdd5dec5dae4d2dee6cdd5ded2dee6c5dae4d2dee6c5dae4d2dee6d2dee6 +d2dee6cdd5ded2dee6bacdd9aec4d092a8b68da0b68b98827d908281a08975889b +a3b8bc92a8b68da0b6c1d4e2bacdd9afb9bcafb9bcaec4d0afb9bca3b8bc9fb0bb +b0cbdcc1d4e2b0cbdcc1d4e2b2d2e0b2d2e0b2d2e0c1d4e2c1d4e2bacdd9b2d2e0 +b2d2e0c1d4e2bacdd9b2d2e0b2d2e0b2d2e0c1d4e2bacdd9c1d4e2bacdd9bacdd9 +c1d4e2b2d2e0bacdd9c1d4e2bacdd9c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2b2d2e0 +c1d4e2c1d4e2c5dae4b2d2e0c5dae4b2d2e0c5dae4b2d2e0c5dae4b2d2e0c5dae4 +c1d4e2b2d2e0c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2 +c1d4e2c1d4e2c1d4e2c5dae4c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c5dae4c5dae4 +c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0b2d2e0 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c5dae4 +cdd5ded2dee6c1d4e2d2dee6c1d4e2cdd5ded2dee6c1d4e2c5dae4cdd5dec5dae4 +d2dee6c1d4e2cdd5decdd5dec1d4e2c5dae4c5dae4c5dae4c1d4e2cdd5dec1d4e2 +cdd5dec5dae4c1d4e2c1d4e2c1d4e2c5dae4d2dee6c1d4e2c5dae4c1d4e2c5dae4 +c5dae4c1d4e2cdd5decdd5dec1d4e2cdd5dec1d4e2cdd5dec1d4e2c5dae4c1d4e2 +c1d4e2c1d4e2cdd5dec5dae4cdd5dec1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4 +b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec5dae4 +c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2cdd5decdd5dec1d4e2c5dae4 +c1d4e2d2dee6c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec1d4e2 +c1d4e2c5dae4c1d4e2c5dae4c1d4e2d2dee6c1d4e2c1d4e2c1d4e2c5dae4c1d4e2 +c1d4e2c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2cdd5decdd5dec1d4e2c5dae4 +cdd5dec1d4e2c5dae4c5dae4d2dee6cdd5decdd5dec1d4e2cdd5dec1d4e2c5dae4 +c1d4e2d2dee6c1d4e2c1d4e2d2dee6c1d4e2cdd5dec5dae4cdd5ded2dee6c1d4e2 +d2dee6c1d4e2c1d4e2cdd5dec5dae4c1d4e2c5dae4d2dee6c1d4e2d2dee6c1d4e2 +cccdccc1d4e2c1d4e2cdd5dec1d4e2cdd5dec5dae4cdd5dec5dae4c1d4e2d2dee6 +c1d4e2c1d4e2d2dee6c5dae4c5dae4d2dee6c1d4e2c5dae4c5dae4c5dae4d2dee6 +c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2c5dae4cdd5ded2dee6 +c5dae4d2dee6c5dae4c5dae4d2dee6cdd5dec5dae4d2dee6d2dee6d2dee6d2dee6 +d9e6ead9e6ead2dee6b8c3c6b8c3c6cdd5ded2dee6d2dee6d2dee6d2dee6dfe1e6 +cccdcccccdcc8ea089496032657c44576b336274445e74294b69335e74295e7429 +77877287886d7f97537787726f8f52657c44576b332f3c223944464960653f4e32 +3d573b4b68657e9882cccdcc9ea9b4aec4d0b8c3c68a99ab8b988292a8b6c1d4e2 +c1d4e2d2dee6d2dee6cdd5dec5dae4cdd5debacdd9cdd5dec5dae4cdd5ded2dee6 +cdd5ded2dee6d2dee6d9e6eacdd5ded2dee6d2dee6dfe1e6cdd5dedfe1e6d2dee6 +d2dee6cdd5ded2dee6cdd5ded2dee6cdd5ded2dee6cdd5ded2dee6d2dee6d2dee6 +d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6cdd5decdd5ded2dee6cdd5de +d2dee6d2dee6d2dee6cdd5ded2dee6cdd5decdd5decdd5ded2dee6cdd5ded2dee6 +cdd5ded2dee6cdd5ded2dee6c5dae4cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4 +d2dee6cdd5ded2dee6d2dee6c1d4e2b8c3c692a88d7d908270908175889b7d9082 +a3b8bc7a91a88da0b6a5c4d7afb9bca3b8bc9ea9b48a99ab92a8b69fb0bba4bfb5 +bacdd9b0cbdcc1d4e2bacdd9bacdd9c1d4e2b2d2e0bacdd9b2d2e0c1d4e2c1d4e2 +b2d2e0b0cbdcc1d4e2bacdd9c5dae4b2d2e0b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0 +c1d4e2c1d4e2b2d2e0b2d2e0c5dae4c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c5dae4 +b2d2e0c1d4e2b2d2e0b2d2e0c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2 +c1d4e2c5dae4c5dae4c1d4e2c5dae4bacdd9c5dae4c5dae4b2d2e0c5dae4c1d4e2 +c1d4e2c1d4e2c5dae4b2d2e0c5dae4c5dae4c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c5dae4c1d4e2 +c5dae4b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2 +c1d4e2c1d4e2c5dae4c5dae4cdd5dec1d4e2d2dee6cdd5decdd5dec5dae4d2dee6 +cdd5ded2dee6c5dae4c1d4e2cdd5decdd5dec1d4e2c5dae4c5dae4c1d4e2d2dee6 +c1d4e2c1d4e2d2dee6c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2d2dee6c1d4e2 +cdd5dec1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +cdd5dec5dae4c1d4e2cdd5dec1d4e2c1d4e2cdd5dec1d4e2c1d4e2c5dae4c1d4e2 +c1d4e2c1d4e2d2dee6c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2 +c1d4e2c5dae4c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2 +c5dae4c5dae4cdd5dec5dae4c1d4e2cdd5dec1d4e2c5dae4c5dae4c5dae4c1d4e2 +cdd5dec1d4e2c5dae4c1d4e2c5dae4bacdd9c5dae4c5dae4c1d4e2c1d4e2c1d4e2 +d2dee6c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4cdd5dec1d4e2cdd5dec1d4e2 +c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4cdd5dec5dae4c1d4e2cdd5de +c5dae4c1d4e2c5dae4c1d4e2c5dae4cdd5decdd5dec1d4e2c1d4e2c5dae4c5dae4 +cdd5ded2dee6c5dae4c1d4e2c1d4e2d2dee6cdd5ded2dee6cdd5dec5dae4cdd5de +c1d4e2d2dee6c1d4e2c1d4e2d2dee6d2dee6c5dae4c5dae4c1d4e2d2dee6cdd5de +b8c3c6b8c3c6c1d4e2c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4 +c5dae4d2dee6c1d4e2c5dae4c1d4e2c5dae4c5dae4d2dee6c1d4e2c5dae4c5dae4 +c5dae4d2dee6d2dee6c5dae4c5dae4c5dae4d2dee6c1d4e2d2dee6c1d4e2c5dae4 +c5dae4c1d4e2d2dee6cdd5dec5dae4c5dae4c1d4e2c5dae4d2dee6d2dee6d2dee6 +d2dee6d2dee6dcd6d6c1c4c792a8b6b0cbdccdd5ded2dee6d2dee6dfe1e6d2dee6 +dfe1e6dfe1e6c0cbb8667c748ea0896b8545627444767b47475832576b33657c44 +81a0898b98827c90536274447e98826b85454960325560243043213d4f56496065 +344d59576b336b86737e988254605f7787729ea9b47090818a99aba4bfb5d2dee6 +cdd5ded2dee6c5dae4cdd5ded2dee6bacdd99ea9b4b0cbdcd2dee6cdd5ded2dee6 +cdd5ded2dee6cdd5ded2dee6d2dee6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6cdd5de +d2dee6d2dee6cdd5dedfe1e6cdd5ded2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6 +d2dee6dfe1e6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6cdd5de +d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6 +d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6 +c5dae4d2dee6d2dee6d2dee6cdd5dec5dae4d2dee6d2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6d2dee6c1d4e2b8c3c6bacdd9afb9bc7d98b181a08992a8b68a99ab +7d98b17a91a894afb9a3b8bcb0cbdc9fb0bba3b8bc92a88d7787727e9882a3b7a4 +bacdd9b0cbdcb2d2e0c1d4e2b2d2e0b2d2e0b2d2e0c1d4e2b2d2e0bacdd9c1d4e2 +b2d2e0b2d2e0c1d4e2bacdd9c5dae4b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2b2d2e0 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c5dae4b2d2e0c1d4e2c1d4e2 +b2d2e0c1d4e2c1d4e2c5dae4b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +b2d2e0c5dae4b2d2e0c5dae4b2d2e0c1d4e2c1d4e2c5dae4c5dae4c5dae4b2d2e0 +c1d4e2c1d4e2c1d4e2c1d4e2c5dae4b2d2e0c5dae4c1d4e2c1d4e2c5dae4b2d2e0 +c5dae4c1d4e2c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c5dae4b2d2e0c1d4e2c1d4e2 +c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2cdd5decdd5dec5dae4 +cdd5ded2dee6cdd5ded2dee6c5dae4d2dee6cdd5ded2dee6c1d4e2cdd5decdd5de +c5dae4c5dae4c5dae4c1d4e2c5dae4c1d4e2d2dee6cdd5dec1d4e2cdd5dec5dae4 +c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2d2dee6c1d4e2c5dae4c5dae4 +c1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2d2dee6cdd5decdd5dec1d4e2d2dee6 +c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4cdd5dec1d4e2c1d4e2c1d4e2c5dae4 +c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2cdd5dec5dae4c1d4e2c5dae4cdd5de +bacdd9c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2d2dee6c1d4e2c5dae4c5dae4 +cdd5dec1d4e2c1d4e2c1d4e2c5dae4cdd5dec1d4e2c5dae4c1d4e2cdd5dec1d4e2 +cdd5dec1d4e2c5dae4c1d4e2c1d4e2c5dae4c5dae4cdd5dec1d4e2d2dee6c1d4e2 +c1d4e2cdd5dec5dae4cdd5decdd5dec5dae4c1d4e2c1d4e2c1d4e2d2dee6c1d4e2 +c5dae4d2dee6c5dae4c1d4e2c5dae4cdd5ded2dee6c5dae4c5dae4cdd5ded2dee6 +c1d4e2d2dee6c5dae4d2dee6c1d4e2c5dae4c5dae4c5dae4cdd5dec5dae4d2dee6 +c5dae4d2dee6c5dae4d2dee6cdd5dec5dae4cdd5decdd5dec1d4e2c5dae4c1d4e2 +cccdccc1d4e2c1d4e2c1d4e2d2dee6c1d4e2d2dee6c1d4e2c5dae4d2dee6c5dae4 +c1d4e2c5dae4c5dae4d2dee6c1d4e2d2dee6c5dae4c5dae4d2dee6c1d4e2d2dee6 +c1d4e2c5dae4c5dae4d2dee6cdd5dec5dae4c5dae4d2dee6c5dae4cdd5dec5dae4 +d2dee6c5dae4c5dae4c5dae4d2dee6d2dee6cdd5dec5dae4cdd5ded2dee6d2dee6 +d2dee6c1d4e2d2dee6c1d4e284888781a089b8c3c6c1d4e2d2dee6d2dee6d2dee6 +dfe1e6dcd6d6dfe1e6bacdd9bacdd97e9882657c447090814b6933576b333f4e1e +4e5043576b336274444960326b8673657c443f4e324c5026394446577376597c75 +576a62577376547443576a1f6b8545a4bfb594afb994afa194afb9bacdd9d2dee6 +c1d4e2d2dee6c5dae4d2dee6cdd5de9ea9b48b919fc1d4e2c1d4e2cdd5decdd5de +d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6 +dfe1e6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6cdd5ded2dee6 +d2dee6cdd5dedfe1e6d2dee6d2dee6dfe1e6d2dee6dfe1e6cdd5dec5dae4d2dee6 +cdd5ded2dee6d2dee6cdd5ded2dee6c5dae4c5dae4d2dee6cdd5decdd5ded2dee6 +cdd5ded2dee6cdd5decdd5ded2dee6d2dee6d2dee6d2dee6d2dee6c1d4e2d2dee6 +d2dee6c5dae4d2dee6d2dee6d2dee6cdd5dec5dae4d2dee6d2dee6c5dae4d2dee6 +c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6 +d2dee6cdd5deaec4d0a4bfb5bacdd9bacdd9a3b8bc9fb0bb819fb792a8b69ea88e +7787727e988296b7aba5c4d7aec4d0aeb0bd8da0b66b86735474436b85458b9882 +bacdd9bacdd9bacdd9b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2 +b2d2e0c1d4e2bacdd9c1d4e2b2d2e0c5dae4b2d2e0c1d4e2c5dae4b2d2e0c1d4e2 +c1d4e2c5dae4c1d4e2c5dae4b2d2e0c5dae4b2d2e0c1d4e2c5dae4b2d2e0c5dae4 +c1d4e2b2d2e0c1d4e2b2d2e0c5dae4c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c5dae4 +c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2 +c5dae4b2d2e0c5dae4c5dae4b2d2e0c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2d2dee6c1d4e2c1d4e2d2dee6cdd5de +c5dae4c1d4e2d2dee6cdd5decdd5decdd5dec5dae4d2dee6d2dee6c5dae4c1d4e2 +d2dee6c1d4e2cdd5dec5dae4c1d4e2cdd5dec5dae4c5dae4cdd5dec5dae4cdd5de +d2dee6c1d4e2c5dae4c5dae4cdd5decdd5dec5dae4c1d4e2d2dee6c5dae4cdd5de +cdd5ded2dee6c1d4e2cdd5dec1d4e2c5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2 +cdd5dec1d4e2c5dae4c5dae4c1d4e2c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4 +c1d4e2cdd5dec5dae4c1d4e2c5dae4d2dee6c1d4e2c1d4e2cdd5dec5dae4c5dae4 +c5dae4d2dee6c1d4e2d2dee6c1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2c1d4e2 +cdd5decdd5dec5dae4c5dae4c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4 +c5dae4c1d4e2d2dee6c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2c1d4e2 +c5dae4c5dae4c1d4e2c1d4e2cdd5dec5dae4d2dee6c5dae4cdd5dec5dae4c5dae4 +cdd5dec1d4e2cdd5ded2dee6c1d4e2c5dae4cdd5dec5dae4d2dee6c1d4e2c1d4e2 +d2dee6c1d4e2d2dee6c1d4e2d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4c1d4e2 +c5dae4c1d4e2cdd5dec5dae4cdd5ded2dee6c1d4e2d2dee6cccdccbacdd9cdd5de +b8c3c6bacdd9d2dee6cdd5decdd5dec1d4e2c1d4e2d2dee6c5dae4c5dae4d2dee6 +d2dee6d2dee6c5dae4c5dae4c5dae4c1d4e2c5dae4cdd5dec1d4e2d2dee6c5dae4 +c5dae4d2dee6c1d4e2c5dae4c1d4e2d2dee6c1d4e2d2dee6cdd5dec5dae4c5dae4 +c5dae4c5dae4c5dae4cdd5ded2dee6c5dae4d2dee6cdd5dec5dae4d2dee6c1d4e2 +d2dee6c5dae4d2dee6cdd5de9fb0bb8b98827787729ea9b4cdd5ded2dee6d4dcd0 +d9e6ead2dee6dfe1e6dcd6d6d2dee69d99813d573b496032767b47576a1f475832 +3335223f4e325e7429576b336b8673496065496065565838394446627d9930444d +344d59608471637471767b479d9981b0cbdcc1d4e2c1d4e2c5dae4c5dae4c5dae4 +d2dee6c1d4e2d2dee6bacdd99da1ab8b919f9fb0bbc1d4e2c1d4e2d2dee6d2dee6 +cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6cdd5de +dfe1e6dcd6d6d2dee6d2dee6d2dee6cdd5decdd5ded2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6cdd5dedfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4 +cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6d2dee6cdd5dec5dae4d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6 +d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c1d4e2 +cccdccb8c3c69fb0bbaec4d0c5dae4c1d4e2bacdd9aec4d0aec4d092a8b66b8673 +7090817e988292a8b69fb0bb8a99abafb9bc9fb0bb848887757c717787728b919f +c1d4e2b2d2e0c1d4e2bacdd9b2d2e0c1d4e2b2d2e0bacdd9c1d4e2c1d4e2c1d4e2 +b2d2e0c1d4e2bacdd9c5dae4b2d2e0c1d4e2c1d4e2bacdd9c1d4e2b2d2e0b2d2e0 +c1d4e2b2d2e0b2d2e0c1d4e2c1d4e2c5dae4b2d2e0c1d4e2c5dae4b2d2e0c1d4e2 +c1d4e2c1d4e2c1d4e2c5dae4b2d2e0c5dae4c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0 +c5dae4b2d2e0c1d4e2b2d2e0c5dae4b2d2e0c5dae4c1d4e2c1d4e2c5dae4c1d4e2 +c5dae4c5dae4bacdd9c5dae4b2d2e0c5dae4b2d2e0c1d4e2b2d2e0c1d4e2c5dae4 +c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4b2d2e0c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2b2d2e0c5dae4c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2 +d2dee6c1d4e2c5dae4cdd5ded2dee6cdd5decdd5dec5dae4cdd5ded2dee6c1d4e2 +d2dee6c5dae4d2dee6c5dae4c5dae4cdd5ded2dee6c1d4e2d2dee6c5dae4c1d4e2 +d2dee6c5dae4c5dae4c5dae4c5dae4cdd5ded2dee6c1d4e2c1d4e2c5dae4c5dae4 +c1d4e2cdd5decdd5decdd5dec1d4e2d2dee6c1d4e2c1d4e2c5dae4cdd5dec5dae4 +c1d4e2cdd5dec1d4e2c5dae4d2dee6c1d4e2c5dae4cdd5dec1d4e2cdd5dec1d4e2 +c1d4e2cdd5dec1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2 +c1d4e2c5dae4c1d4e2cdd5dec1d4e2cdd5dec5dae4c1d4e2c5dae4c5dae4c1d4e2 +cdd5dec1d4e2cdd5decdd5dec1d4e2d2dee6c1d4e2c5dae4c5dae4cdd5decdd5de +c1d4e2c1d4e2c5dae4c5dae4c1d4e2d2dee6c1d4e2cdd5dec5dae4c1d4e2d2dee6 +c1d4e2d2dee6cdd5dec1d4e2c5dae4c1d4e2c1d4e2d2dee6c1d4e2c5dae4c5dae4 +cdd5dec5dae4cdd5dec5dae4c1d4e2d2dee6c5dae4c1d4e2d2dee6d2dee6c1d4e2 +d2dee6cdd5ded2dee6cdd5dec5dae4c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6 +c1d4e2d2dee6c5dae4c5dae4cdd5decdd5decdd5decdd5dec1c4c7bacdd9cdd5de +cdd5debacdd9c5dae4c5dae4cdd5dec5dae4d2dee6c5dae4c5dae4cdd5dec5dae4 +c5dae4c5dae4cdd5dec5dae4d2dee6d2dee6c1d4e2d2dee6c1d4e2cdd5decdd5de +c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6c1d4e2c5dae4 +c5dae4c5dae4c5dae4c1d4e2d2dee6cdd5dec5dae4d2dee6d2dee6c5dae4c1d4e2 +d2dee6d2dee6d2dee6d2dee6c1d4e28b98826374718b90809da1aba0b09fd2dee6 +d2dee6dfe1e6d9e6eacdd5dec1d4e287886d354c31547428697c2b656c26496032 +2a34383f4e326183455773763d573b576a627787725f61562e3c44465864465864 +475832657c448b9080757b2db8c3c6d2dee6d2dee6c5dae4cdd5ded2dee6cdd5de +c5dae4c1d4e2b8c3c69ea9b49ea88e9ea9b4afb9bcd2dee6c1d4e2cdd5decdd5de +d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6dfe1e6cdd5decdd5dedfe1e6d2dee6 +d2dee6cdd5decdd5ded2dee6d2dee6d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6 +d2dee6cdd5dedfe1e6d2dee6d2dee6cdd5dec5dae4d2dee6d2dee6cdd5decdd5de +d2dee6d2dee6cdd5ded2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6c5dae4d2dee6d2dee6cdd5ded2dee6d2dee6cdd5ded2dee6d2dee6c5dae4 +d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6bacdd9 +9ea9b49fb0bbafb9bca3b8bcafb9bcaec4d0cdd5decdd5deaec4d09fb0bb75889b +6b86737e98827a91a892a8b6709081a0b09faec4d08b9882757c717e9882aec4d0 +bacdd9bacdd9b2d2e0c1d4e2c1d4e2bacdd9c1d4e2b2d2e0bacdd9b2d2e0c1d4e2 +b2d2e0c1d4e2b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c1d4e2 +b2d2e0c1d4e2c5dae4c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4 +c1d4e2c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c5dae4b2d2e0c5dae4c5dae4c5dae4 +c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4b2d2e0c5dae4c5dae4c1d4e2 +c1d4e2c1d4e2c5dae4b2d2e0c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2c1d4e2 +c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c5dae4c1d4e2c1d4e2c1d4e2cdd5dec1d4e2c1d4e2c1d4e2d2dee6c5dae4c1d4e2 +c1d4e2cdd5dec5dae4cccdccd2dee6c1d4e2cdd5ded2dee6c1d4e2d2dee6c1d4e2 +d2dee6c5dae4c1d4e2d2dee6c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2c5dae4 +d2dee6c1d4e2d2dee6c5dae4c5dae4cdd5dec1d4e2c1d4e2d2dee6c5dae4c1d4e2 +d2dee6c1d4e2c1d4e2c5dae4cdd5dec1d4e2c5dae4d2dee6c1d4e2c1d4e2c5dae4 +c5dae4cdd5dec5dae4c1d4e2c1d4e2cdd5dec1d4e2c5dae4c5dae4c5dae4c1d4e2 +d2dee6c1d4e2cdd5dec5dae4c5dae4c5dae4c1d4e2c1d4e2cdd5dec5dae4c5dae4 +c1d4e2c5dae4c5dae4d2dee6c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2 +c5dae4cdd5ded2dee6c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2 +c5dae4d2dee6c1d4e2cdd5dec5dae4c5dae4cdd5dec1d4e2d2dee6c1d4e2cdd5de +c5dae4c5dae4c5dae4cdd5decdd5dec5dae4c5dae4c1d4e2d2dee6cdd5dec1d4e2 +d2dee6c1d4e2d2dee6c5dae4c5dae4c5dae4cdd5ded2dee6cdd5decdd5dec1d4e2 +c1d4e2c5dae4cdd5dec5dae4d2dee6cdd5dec5dae4d2dee6c1d4e2d2dee6c5dae4 +cdd5dec5dae4d2dee6c5dae4d2dee6c1d4e2d2dee6bacdd9bacdd9c1d4e2cdd5de +c1c4c7b8c3c6c5dae4bacdd9c1d4e2cdd5dec5dae4c5dae4c5dae4c5dae4d2dee6 +c1d4e2d2dee6d2dee6cdd5dec5dae4c1d4e2d2dee6c1d4e2d2dee6c5dae4d2dee6 +c1d4e2c5dae4c5dae4c5dae4c5dae4d2dee6c1d4e2c5dae4c1d4e2d2dee6d2dee6 +d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4cdd5dec5dae4c5dae4d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d4dcd0c0cbb87787726f8f526f8f5277874681a089 +c0cbb8cdd5debacdd9b0b8a392a8b6667c745474436f8f526f8f524b6933304321 +4b68656084717e988294afa17d98b1667c749da1ab848887373e43354c316b8673 +6f8f525e742949601f6b854594afa1c5dae4cccdccd4dcd0c1d4e2bacdd9bacdd9 +b8c3c69ea88e7787726084717d9082afc0abbacdd9c1d4e2c5dae4d2dee6d2dee6 +cdd5ded2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6 +d2dee6cdd5ded2dee6cdd5ded2dee6d2dee6dfe1e6cdd5decdd5ded2dee6cdd5de +cdd5ded2dee6cdd5ded2dee6cdd5ded9e6ead2dee6d2dee6cdd5ded2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6 +d2dee6cdd5ded2dee6cdd5ded2dee6cdd5decdd5ded2dee6c5dae4d2dee6d2dee6 +c5dae4cdd5ded2dee6d2dee6d9e6eac5dae4d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4d2dee6c5dae4c1d4e2b8c3c6c0cbb8 +92a8b69ea08a9ea9b49ea9b4778772819fb7aec4d0b8c3c6b8c3c6b0cbdc9fb0bb +7d90828da0b69da1ab9ea9b47d908270908192a8b6afb9bc8a99ab6b86738ea089 +bacdd9c1d4e2bacdd9bacdd9b2d2e0b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +b2d2e0c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c5dae4b2d2e0 +c1d4e2c1d4e2b2d2e0b2d2e0c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2 +c5dae4c1d4e2c1d4e2c5dae4b2d2e0b2d2e0c5dae4c1d4e2c5dae4b2d2e0c1d4e2 +b2d2e0c5dae4c1d4e2b2d2e0c1d4e2c1d4e2b2d2e0c5dae4b2d2e0c5dae4b2d2e0 +c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c5dae4c5dae4c1d4e2c5dae4b2d2e0c1d4e2 +c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2 +c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2cdd5ded2dee6 +c1d4e2c1d4e2c5dae4cccdcccdd5dec1d4e2c1d4e2cdd5dec1d4e2d2dee6c1d4e2 +d2dee6c5dae4c1d4e2d2dee6d2dee6cdd5decdd5ded2dee6d2dee6c5dae4c5dae4 +c5dae4c5dae4cdd5dec1d4e2c5dae4cdd5ded2dee6c1d4e2c5dae4d2dee6c1d4e2 +c5dae4c5dae4c1d4e2c5dae4c1d4e2cdd5dec5dae4c5dae4cdd5decdd5dec5dae4 +c1d4e2cdd5decdd5dec1d4e2c5dae4d2dee6c1d4e2c5dae4c1d4e2c5dae4c5dae4 +c5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2cdd5dec1d4e2c5dae4 +d2dee6c1d4e2cdd5dec5dae4cdd5ded2dee6c1d4e2c5dae4cdd5dec5dae4c1d4e2 +c5dae4c1d4e2cdd5decdd5dec1d4e2d2dee6c5dae4d2dee6c1d4e2c1d4e2cdd5de +c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2 +cdd5ded2dee6c1d4e2c5dae4cdd5decdd5dec5dae4c5dae4c5dae4c5dae4cdd5de +cdd5dec5dae4d2dee6c5dae4c5dae4cdd5dec1d4e2d2dee6c1d4e2cdd5dec1d4e2 +d2dee6d2dee6cdd5dec5dae4c5dae4cdd5dec5dae4d2dee6c1d4e2cdd5dec5dae4 +c5dae4c1d4e2d2dee6c1d4e2d2dee6c1d4e2cdd5debacdd99ea9b4afb9bcbacdd9 +bacdd9bacdd9bacdd99fb0bbc1d4e2cdd5ded2dee6cdd5decdd5dec5dae4c5dae4 +cdd5dec5dae4c5dae4c5dae4d2dee6c1d4e2d2dee6c1d4e2c5dae4c5dae4d2dee6 +d2dee6c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4 +c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6 +d2dee6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e68ea0897f97536b8673697c2b657c44 +8ea0898ea0898b98828ea08992a88d81a08996b7aba3b7a481a089577376577376 +8a99abaec4d0a5c4d7aec4d09ea9b48b919f637471565838394446576a626f8f52 +576b33354c314b69335e74298b98828ea0898a99ab7787727787726b8673667c74 +667c7462744477877295af7a9fb0bbafb9bc9da1abcdd5dec1d4e2cdd5ded2dee6 +cdd5ded2dee6d2dee6d2dee6d2dee6cdd5ded2dee6cdd5ded2dee6cdd5decdd5de +dfe1e6d2dee6cdd5decdd5decdd5decdd5ded2dee6d2dee6cdd5decdd5ded2dee6 +cdd5ded2dee6d2dee6cdd5decdd5ded2dee6d2dee6d2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6cdd5dedfe1e6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6 +d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6 +d2dee6d2dee6c5dae4cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4 +d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6bacdd9aec4d0aec4d0a3b8bc +afc0ab92a88d9da1ab8b98828b98827d98b192a8b6aeb0bda5c4d7aec4d0aec4d0 +aec4d0aec4d09fb0bb8da0b66886a67e9882a3b8bcaec4d09ea9b48da0b6778772 +b2d2e0b2d2e0b2d2e0c1d4e2bacdd9c1d4e2b2d2e0c1d4e2b2d2e0b2d2e0c1d4e2 +c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c5dae4c1d4e2b2d2e0c1d4e2 +c1d4e2c1d4e2c1d4e2c5dae4c5dae4b2d2e0b2d2e0c5dae4c1d4e2c1d4e2c5dae4 +c1d4e2c5dae4b2d2e0c5dae4c5dae4c5dae4b2d2e0c5dae4c1d4e2c5dae4c1d4e2 +c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4 +c5dae4b2d2e0c5dae4c5dae4b2d2e0c5dae4b2d2e0c5dae4c1d4e2c1d4e2c5dae4 +b2d2e0c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2 +c5dae4c1d4e2c1d4e2c1d4e2c5dae4c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2cdd5decdd5dec1d4e2c1d4e2 +c1d4e2d2dee6c5dae4c5dae4d2dee6c5dae4cdd5ded2dee6c1d4e2cdd5decdd5de +c1d4e2c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4c1d4e2d2dee6d2dee6 +cdd5ded2dee6c5dae4d2dee6cdd5dec5dae4cdd5dec5dae4cdd5ded2dee6cdd5de +d2dee6c5dae4c1d4e2d2dee6c1d4e2d2dee6cdd5dec1d4e2c5dae4cdd5dec5dae4 +c5dae4c1d4e2c5dae4c5dae4cdd5dec1d4e2c1d4e2d2dee6c1d4e2cdd5decdd5de +cdd5dec1d4e2d2dee6cdd5dec5dae4c5dae4c5dae4c5dae4d2dee6c1d4e2cdd5de +c1d4e2c5dae4c5dae4c5dae4c1d4e2c1d4e2d2dee6cdd5dec5dae4c5dae4c5dae4 +c5dae4d2dee6c1d4e2c1d4e2c5dae4c5dae4c5dae4d2dee6c1d4e2c5dae4c5dae4 +d2dee6c5dae4c1d4e2d2dee6c1d4e2d2dee6cdd5ded2dee6c5dae4c5dae4d2dee6 +c1d4e2c1d4e2d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4cdd5dec5dae4 +cdd5decdd5decdd5dec1d4e2d2dee6c1d4e2d2dee6c1d4e2bacdd9bacdd9b8c3c6 +cdd5dec1d4e2c1d4e2d2dee6cdd5dec1d4e2d2dee6c1d4e2d2dee6c5dae4c1d4e2 +d2dee6cdd5dec5dae4c5dae4c5dae4d2dee6c1d4e2bacdd9a3b8bcafb9bc9fb0bb +afb9bcafb9bcaec4d0a3b8bcb2d2e0d2dee6d2dee6cdd5dec5dae4c5dae4d2dee6 +c5dae4c1d4e2d2dee6d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6cdd5dec5dae4 +cdd5ded2dee6d2dee6c5dae4c1d4e2d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4 +d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c1d4e2 +d2dee6d9e6ead2dee6dfe1e6dfe1e6d4dcd0b8c1af8c9853778746697c2b657c44 +60832a697c2b697c2b697c2b7787466f8f528c98537d9082475832576a627d9082 +9fb0bbafb9bc8a99ab77877284888784888754605f4e50433a442356603a657c44 +576b333f4e1e68752b86874a867c4c3f4e323f4e323944464960654b68653d5f25 +666c5e6b867394afa1c1d4e2cdd5de9da1abada17fb8c3c6cdd5dec1d4e2c1d4e2 +d2dee6cdd5ded2dee6cdd5decdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6c1d4e2d2dee6bacdd9cccdcccdd5ded2dee6d2dee6d2dee6 +d2dee6cdd5dedfe1e6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6c1d4e2 +d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6 +c1d4e2d2dee6d2dee6cdd5decdd5ded2dee6c1d4e2d2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6 +c5dae4d2dee6c1d4e2d2dee6d2dee6c1d4e2c5dae4bacdd9bacdd9afb9bcaec4d0 +c5dae49fb0bba4bfb58a99ab92a8b6a3b8bcb0cbdc9fb0bb8da0b6aeb0bdc1c4c7 +c1d4e2c5dae4c1d4e2aec4d07a91a8627d9992a8b6aec4d0aec4d09ea9b47d9082 +bacdd9bacdd9b2d2e0c1d4e2c1d4e2bacdd9b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0 +bacdd9c1d4e2c5dae4c5dae4b2d2e0c1d4e2c1d4e2b2d2e0c5dae4c5dae4c5dae4 +c5dae4c1d4e2c1d4e2c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4 +c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c5dae4c5dae4c5dae4c1d4e2c1d4e2c5dae4 +c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c5dae4 +c5dae4c5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2 +c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c5dae4c5dae4c1d4e2c1d4e2c1d4e2c5dae4 +c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2c1d4e2cdd5ded2dee6c1d4e2 +c5dae4c5dae4c1d4e2c5dae4cdd5dec5dae4c5dae4cdd5dec5dae4c5dae4d2dee6 +cdd5ded2dee6cdd5dec5dae4d2dee6cdd5dec1d4e2d2dee6c5dae4c5dae4c5dae4 +c1d4e2d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4c1d4e2c1d4e2c1d4e2 +cdd5ded2dee6c1d4e2c5dae4c1d4e2c1d4e2c5dae4c5dae4c5dae4cdd5dec1d4e2 +c5dae4cdd5dec5dae4c5dae4d2dee6cdd5dec1d4e2c5dae4c5dae4c5dae4d2dee6 +c1d4e2c5dae4c5dae4c1d4e2cdd5ded2dee6c1d4e2c1d4e2c5dae4cdd5decdd5de +c5dae4d2dee6c5dae4d2dee6c5dae4c1d4e2d2dee6d2dee6c1d4e2d2dee6c5dae4 +c5dae4c5dae4cdd5dec5dae4c1d4e2c5dae4c1d4e2d2dee6c1d4e2c5dae4c1d4e2 +d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2cdd5dec1d4e2c5dae4c5dae4 +cdd5dec5dae4c5dae4c5dae4d2dee6d2dee6c1d4e2d2dee6c5dae4d2dee6c5dae4 +c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4cdd5dec1d4e2b8c3c6b8c3c6aec4d0 +cdd5debacdd9c1d4e2c5dae4cdd5ded2dee6c5dae4c1d4e2d2dee6d2dee6c1d4e2 +d2dee6c5dae4cdd5dec5dae4c5dae4d2dee6bacdd9bacdd9afb9bcb8c3c692a8b6 +94afa1afc0ab9ea9b4b2d2e0c1d4e2c5dae4d2dee6c1d4e2d2dee6cdd5ded2dee6 +c5dae4c5dae4c5dae4d2dee6cdd5ded2dee6d2dee6c1d4e2d2dee6c5dae4d2dee6 +c1d4e2c5dae4c1d4e2d2dee6d2dee6d2dee6c5dae4c5dae4c1d4e2d2dee6d2dee6 +cdd5ded2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6d2dee6c1d4e2cdd5decdd5decdd5de9ea08a576b335e74294b6933 +4b69335474285474285e74297b90347c90536f8f525e74294758324b6865608471 +94afa19fb0bba0b09f757c7163747175704d3944465f61565658386b8673627444 +576b33576a1f7787469f90356660334c50263d5f253d573b496065709081819fb7 +a3b7a4b8c3c6b8c3c6a0b09f8b905587886dafb09ecccdccd2dee6c1d4e2cdd5de +c1d4e2cdd5ded2dee6cdd5decdd5dec1d4e2d2dee6d2dee6cdd5ded2dee6d2dee6 +c5dae4c5dae4d9e6eacdd5decccdcca3b8bcbacdd9cdd5ded2dee6c5dae4cdd5de +d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6cdd5de +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6d2dee6 +c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6aec4d0aec4d0bacdd99ea9b4b0cbdca3b8bcaec4d0bacdd9bacdd9 +aec4d0b8c3c6aec4d0a3b8bca3b8bcb0cbdcb8c3c6aec4d0aec4d0a3b8bca3b8bc +a3b8bcc1d4e2c5dae4d2dee68b919fa3b8bca5c4d79fb0bbafb9bc8a99ab8ea089 +c1d4e2c1d4e2b2d2e0bacdd9b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2 +c5dae4c1d4e2b2d2e0c1d4e2c5dae4b2d2e0c1d4e2c1d4e2b2d2e0c5dae4b2d2e0 +b2d2e0c5dae4c1d4e2c1d4e2c5dae4c5dae4b2d2e0c5dae4c1d4e2c1d4e2c5dae4 +c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2 +c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2 +c1d4e2b2d2e0c5dae4c1d4e2c5dae4c5dae4b2d2e0c1d4e2c1d4e2c5dae4c5dae4 +c5dae4c1d4e2c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c1d4e2d2dee6 +c1d4e2c5dae4c5dae4c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2 +d2dee6c1d4e2c5dae4c5dae4c1d4e2c5dae4cdd5dec5dae4c1d4e2c5dae4c5dae4 +c5dae4cdd5dec5dae4cdd5dec5dae4cdd5dec1d4e2c5dae4d2dee6c5dae4cdd5de +d2dee6c1d4e2d2dee6cdd5dec1d4e2d2dee6d2dee6c5dae4c5dae4c1d4e2d2dee6 +d2dee6c5dae4d2dee6c1d4e2d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4 +c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6c1d4e2c5dae4cdd5dec5dae4 +cdd5dec5dae4cdd5ded2dee6c1d4e2c5dae4d2dee6cdd5dec5dae4d2dee6c1d4e2 +d2dee6c5dae4c5dae4d2dee6c1d4e2cdd5decdd5dec1d4e2d2dee6c5dae4c1d4e2 +d2dee6c1d4e2d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4 +c5dae4d2dee6c5dae4cdd5dec1d4e2cdd5dec5dae4c5dae4d2dee6c5dae4c5dae4 +c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4d2dee6d2dee6c5dae4cdd5de +c5dae4d2dee6cdd5dec5dae4c5dae4c5dae4d2dee6c1d4e2c5dae4c5dae4d2dee6 +d2dee6c1d4e2d2dee6d2dee6c5dae4c5dae4c5dae4bacdd9b8c3c6a4bfb5aec4d0 +c0cbb8bacdd9bacdd9c1d4e2c5dae4c5dae4d2dee6c5dae4d2dee6c1d4e2d2dee6 +c5dae4d2dee6c5dae4c5dae4c1c4c7c1d4e2bacdd9aec4d0a3b8bca4bfb5a4bfb5 +a0b09f9da1abafc0abc5dae4c1d4e2d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6 +c5dae4d2dee6d2dee6c5dae4cdd5ded2dee6c5dae4d2dee6c1d4e2d2dee6c5dae4 +d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6cdd5ded2dee6 +d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6cdd5de +d2dee6d2dee6c5dae4afb9bc9fb0bbcccdccd2dee6c0cbb87787727c9053618345 +576b334b6933567f3a576b338b9055656c266b85455f7b2a576a62597c7592a8b6 +a3b8bc9fb0bb8488874e50434e50433a44233d4f56666c5e56603a757c714b6933 +3c58223f4e1e77874687872c75704d475832657c447e988254744381a08994afa1 +b0b8a39ea88e778746657c44657c44657c449fb0bbc1d4e2d2dee6bacdd9c5dae4 +c1d4e2c5dae4cdd5ded2dee6cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6c1d4e2 +d2dee6d2dee6c5dae4d2dee6bacdd9c1c4c7cccdccd2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6d2dee6cdd5ded2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6cdd5decdd5ded2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6dcd6d6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6cdd5de +d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6d2dee6cdd5dec5dae4d2dee6c5dae4 +d2dee6d2dee6c5dae4c1d4e2cdd5deb0cbdcc5dae4aec4d0a3b8bc9fb0bba3b8bc +aec4d0c1d4e2bacdd9bacdd9aec4d0afb9bcafb9bc9ea9b49fb0bba5c4d7819fb7 +7d98b1a3b8bc9fb0bbaec4d0a3b8bc96b7abd2dee6c1d4e29ea9b48b9882778772 +c1d4e2b2d2e0c5dae4bacdd9c1d4e2b2d2e0b2d2e0c1d4e2c1d4e2c1d4e2b2d2e0 +b2d2e0c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2b2d2e0c5dae4 +c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4 +c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4 +c1d4e2c5dae4c5dae4c1d4e2c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4 +c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c1d4e2c1d4e2c1d4e2 +c5dae4c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4 +c1d4e2c5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4 +c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4cdd5dec5dae4c5dae4d2dee6c1d4e2 +d2dee6c1d4e2d2dee6d2dee6c5dae4d2dee6c5dae4c1d4e2d2dee6c5dae4cdd5de +d2dee6c5dae4c5dae4d2dee6c5dae4cdd5ded2dee6d2dee6d2dee6c1d4e2d2dee6 +d2dee6c5dae4cdd5ded2dee6c5dae4c5dae4d2dee6c1d4e2d2dee6d2dee6c5dae4 +d2dee6c5dae4cdd5ded2dee6c5dae4d2dee6d2dee6c1d4e2d2dee6cdd5ded2dee6 +c5dae4c1d4e2cdd5decdd5decdd5dec5dae4d2dee6c5dae4cdd5dec5dae4c5dae4 +c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4d2dee6c1d4e2c5dae4d2dee6c5dae4 +d2dee6c1d4e2cdd5ded2dee6c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4 +c1d4e2c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c1d4e2d2dee6 +c5dae4c1d4e2d2dee6c5dae4c1d4e2d2dee6c1d4e2c5dae4cdd5dec5dae4c5dae4 +d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6d2dee6d2dee6c1d4e2c5dae4 +d2dee6cdd5ded2dee6c5dae4c5dae4d2dee6c5dae4c1d4e2afc0abafb9bc9fb0bb +a4bfb5a3b8bcb8c3c6c1d4e2cdd5dec5dae4d2dee6c5dae4c5dae4c5dae4c5dae4 +d2dee6c5dae4d2dee6c5dae4bacdd9bacdd9bacdd9a3b8bca3b7a494afb992a8b6 +b8c3c692a88daec4d0bacdd9c1d4e2d2dee6c5dae4cdd5ded2dee6c5dae4d2dee6 +c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4 +c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6 +c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4 +d2dee6d2dee6d2dee6bacdd99fb0bbafb9bccdd5decdd5decccdcc8b9882657c44 +5474436b86736183457d90827787468b90556f8f5281a0897d98b17d98b19fb0bb +aec4d09ea9b4666b3b4c50263a4423383c235f615687886d87886daeb0bd778772 +5474436b8545767b47574f26383c23556024618345778746657c447b90347c9053 +7d97365e74295e74295f7b2a709081819fb7a3b8bcbacdd9c5dae4cdd5dec1d4e2 +cdd5dec5dae4d2dee6d2dee6c1d4e2d2dee6cdd5ded2dee6c1d4e2d2dee6c5dae4 +d2dee6cdd5ded2dee6cdd5deb0cbdcafb9bcb8c3c6d2dee6cdd5dec5dae4cdd5de +cdd5ded2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6 +c1d4e2d2dee6d2dee6cdd5ded2dee6dfe1e6cdd5ded2dee6d2dee6d2dee6d2dee6 +d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6bacdd9c1d4e2c5dae4 +cdd5ded2dee6c5dae4d2dee6d2dee6b8c3c6bacdd99fb0bba0b09faec4d0a4bfb5 +a5c4d7aec4d0aec4d0afb9bcafb9bcaec4d0b8c3c69ea9b4aec4d09ea9b47a91a8 +7a91a8819fb78da0b692a8b68da0b681a089aec4d0c1d4e2b8c3c67d9082778772 +c1d4e2c1d4e2b2d2e0b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2 +c5dae4c1d4e2b2d2e0b2d2e0c5dae4c5dae4b2d2e0b2d2e0c5dae4c1d4e2c5dae4 +c5dae4c5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4b2d2e0c1d4e2c5dae4c5dae4 +c1d4e2c5dae4c1d4e2c5dae4c1d4e2d2dee6c5dae4c5dae4c1d4e2c5dae4c5dae4 +c5dae4d2dee6c5dae4c5dae4c5dae4c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2 +c5dae4c5dae4c1d4e2c5dae4b2d2e0c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4 +c5dae4c1d4e2c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4 +c5dae4c5dae4c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2c5dae4 +c5dae4c5dae4c1d4e2d2dee6c5dae4c5dae4c5dae4c5dae4c1d4e2d2dee6c5dae4 +c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2d2dee6 +cdd5ded2dee6cdd5ded2dee6d2dee6c5dae4cdd5decdd5ded2dee6d2dee6c5dae4 +cdd5ded2dee6d2dee6d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4c1d4e2c5dae4 +c5dae4d2dee6c5dae4cdd5dec5dae4c5dae4c5dae4d2dee6c5dae4c1d4e2d2dee6 +c5dae4c1d4e2d2dee6cdd5dec5dae4d2dee6c1d4e2d2dee6c1d4e2c5dae4d2dee6 +d2dee6c5dae4d2dee6d2dee6c5dae4c1d4e2d2dee6c5dae4c1d4e2d2dee6c5dae4 +c1d4e2d2dee6c1d4e2d2dee6c1d4e2d2dee6c1d4e2d2dee6c5dae4c5dae4d2dee6 +d2dee6c1d4e2c5dae4c1d4e2c1d4e2d2dee6c5dae4cdd5ded2dee6c5dae4c5dae4 +d2dee6d2dee6c1d4e2d2dee6c5dae4c5dae4d2dee6c1d4e2d2dee6c5dae4cdd5de +c5dae4c5dae4d2dee6c5dae4d2dee6c1d4e2d2dee6c1d4e2c5dae4d2dee6d2dee6 +c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6bacdd9bacdd992a88d81a089 +8ea0899ea9b4aec4d0c1d4e2cdd5dec5dae4d2dee6c5dae4d2dee6c5dae4d2dee6 +d2dee6c5dae4d2dee6cdd5ded2dee6cdd5deb0cbdca3b8bc92a8b694afa1709081 +9ea88e7d90829fb0bbbacdd9d2dee6c1d4e2c1d4e2c5dae4d2dee6c5dae4d2dee6 +d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6 +c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d9e6ead2dee6 +dfe1e6c5dae4d2dee6d2dee6d2dee6d9e6ead2dee6c5dae4d2dee6d9e6eac5dae4 +d2dee6d2dee6d2dee6d2dee6c0cbb88b98828a99abafb9bccccdcc75889b3d5f25 +547443657c446b85456b854577874668752b576b3371975392a8b6c0cbb8b0cbdc +bacdd98b9080666b3b5560243a44234758327787468b90558ea0899ea08a778772 +6f8f527b90345560243a44233a44233c5822697c2b4b6933556024767b476b8545 +697c2b68752b6b8545657c4492a88da4bfb5afc0abc1d4e2cdd5dec5dae4cdd5de +d2dee6d2dee6c5dae4c1d4e2d2dee6c5dae4cdd5decdd5dec5dae4d2dee6d2dee6 +cdd5debacdd9cccdccc5dae4afb9bc9fb0bbcdd5decdd5ded2dee6cdd5decdd5de +d2dee6cdd5decdd5ded2dee6d2dee6d2dee6cdd5ded9e6eac5dae4d2dee6d2dee6 +d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d9e6ead2dee6d2dee6cccdccd2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +cdd5ded2dee6d2dee6d2dee6c5dae4d2dee6d9e6eac5dae4bacdd9a3b8bcafb9bc +bacdd9cccdccb8c3c6bacdd9c1d4e2bacdd9b8c3c6afb9bc94afa175889b8a99ab +c1d4e2bacdd9bacdd9c1d4e2c1d4e2cdd5dec1d4e2b0cbdca3b8bc6b86737a91a8 +94afb9a5c4d796b7ab9fb0bb94afb9a4bfb57e98828ea0898da0b68ea089709081 +c1d4e2b2d2e0c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c5dae4b2d2e0c5dae4c1d4e2 +c1d4e2c5dae4c1d4e2c5dae4b2d2e0c5dae4c5dae4c5dae4b2d2e0c5dae4c1d4e2 +c5dae4b2d2e0c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4 +c1d4e2d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4 +c5dae4c5dae4c5dae4d2dee6c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4 +c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4 +c5dae4c5dae4c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2 +c1d4e2c1d4e2c5dae4c5dae4c5dae4c1d4e2c5dae4c1d4e2d2dee6c1d4e2c1d4e2 +d2dee6c5dae4c1d4e2c5dae4c5dae4c5dae4cdd5ded2dee6c5dae4c5dae4c5dae4 +c5dae4d2dee6c5dae4d2dee6d2dee6cdd5dec5dae4c5dae4d2dee6d2dee6c1d4e2 +d2dee6c5dae4cdd5ded2dee6cdd5decdd5ded2dee6cdd5ded2dee6d2dee6d2dee6 +c1d4e2d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6 +c5dae4d2dee6d2dee6c5dae4d2dee6cdd5dec1d4e2c5dae4d2dee6cdd5decdd5de +d2dee6c5dae4c5dae4d2dee6c1d4e2d9e6eac1d4e2d2dee6c5dae4d2dee6c1d4e2 +d2dee6c1d4e2cdd5ded2dee6d2dee6c1d4e2d2dee6c5dae4c5dae4d2dee6d2dee6 +c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4cdd5ded2dee6d2dee6c5dae4 +d2dee6d2dee6d2dee6c5dae4c5dae4c5dae4c5dae4c1d4e2d2dee6c5dae4c5dae4 +c1d4e2d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4 +d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6c1d4e2d2dee6c5dae4c5dae4 +d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c1d4e2bacdd9b8c3c68ea0898ea089 +81a08992a88da3b8bcbacdd9cdd5dec1d4e2c5dae4cdd5ded2dee6c1d4e2d2dee6 +c5dae4c5dae4d2dee6c5dae4d2dee6bacdd9a3b8bca3b7a49ea9b4bacdd996b7ab +81a0897090819fb0bbb2d2e0c5dae4b0cbdcaec4d0c1d4e2c5dae4c5dae4c5dae4 +d2dee6d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6 +c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +c5dae4d2dee6d2dee6d2dee6c1d4e29ea9b46b85456b85458c98537c9053608471 +7090816b85456b8545657c446f8f52778746778746697c2b6b867392a7599ea88e +9ea88e87886d86874a666b3b757c717e9882697c2b697c2b867c4c9e98538c9853 +6b852c6b852c56603a3335222f3c224b69336b852c757b2d8b9033757b2d767b47 +6b852c68752b7787467090817090818b90809ea9b4cdd5decdd5ded2dee6c5dae4 +c5dae4d2dee6d2dee6c5dae4cdd5dec5dae4d2dee6cdd5ded2dee6c5dae4d2dee6 +d2dee6c1d4e2c1d4e2bacdd9c1c4c7b8c3c6cdd5ded2dee6cdd5debacdd9cccdcc +cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6 +d2dee6d2dee6d2dee6cdd5dec1d4e2d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6 +d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6cdd5dec1c4c7c5dae4a5c4d7a5c4d7 +b8c3c6bacdd9b0cbdcc1d4e294afa192a88daec4d0a4bfb57090817e988294afb9 +a4bfb5aec4d0bacdd9aec4d0a4bfb5bacdd9bacdd99fb0bb9da1ab75889b819fb7 +aec4d09fb0bb819fb7819fb77a91a8819fb76b86736374716b867375889b92a8b6 +c1d4e2c1d4e2c1d4e2b2d2e0b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4 +b2d2e0c1d4e2b2d2e0c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4 +c1d4e2c5dae4c1d4e2c5dae4c1d4e2b2d2e0c5dae4c5dae4c5dae4c5dae4c5dae4 +c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4 +d2dee6c1d4e2c5dae4d2dee6c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2 +c1d4e2c1d4e2c5dae4c5dae4c5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4 +c1d4e2d2dee6c1d4e2c5dae4c5dae4c5dae4c1d4e2c1d4e2c1d4e2c5dae4c5dae4 +c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4 +c1d4e2c5dae4c5dae4c1d4e2d2dee6c5dae4c1d4e2c5dae4c1d4e2c5dae4d2dee6 +d2dee6c5dae4c1d4e2cdd5dec1d4e2d2dee6c5dae4c5dae4c1d4e2d2dee6c1d4e2 +d2dee6c5dae4cdd5ded2dee6c5dae4d2dee6d2dee6d2dee6c5dae4c5dae4d2dee6 +d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6c1d4e2d2dee6d2dee6c5dae4 +d2dee6c1d4e2c5dae4d2dee6c1d4e2d2dee6c5dae4d2dee6cdd5dec5dae4d2dee6 +c5dae4d2dee6d2dee6c5dae4c5dae4cdd5ded2dee6c5dae4c5dae4c1d4e2d2dee6 +c5dae4d2dee6c5dae4c1d4e2d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4c5dae4 +d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6cdd5ded2dee6cdd5de +d2dee6c5dae4c5dae4d2dee6cdd5ded2dee6c5dae4d2dee6c5dae4cdd5decdd5de +d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4 +d2dee6c1d4e2c5dae4cdd5dec5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6 +cdd5ded2dee6d2dee6c1d4e2d2dee6cdd5decdd5debacdd9b8c3c695af7a7e9882 +7d90827e9882a3b8bcc1d4e2bacdd9c1d4e2cdd5ded2dee6c5dae4d2dee6c1d4e2 +d2dee6cdd5decdd5decdd5ded2dee6c1d4e2a3b7a4709081a3b7a496b7ab94afa1 +819f5960847192a88dafc0abbacdd98ea08994afb9c1d4e2d2dee6d2dee6c5dae4 +d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4 +c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6c5dae4d2dee6d4dcd0bacdd9afb09e87886d547443657c446f8f52 +7e98827c90537787466f8f5292a88d86874a8b9055656c26576b334b69337b9034 +657c44576b336b85455f7b2a6b86738b9055697c2b68752b7787467b90346b852c +7b9034627444547443354c31576b337787467b90347b90348b9055766e2d757b2d +657c44547443657c447e98827e98827e988275889bc1d4e2d2dee6d2dee6d2dee6 +cdd5ded2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4 +cdd5ded2dee6cdd5deb8c3c6aec4d0afb9bcc1d4e2d2dee6d2dee6cdd5decdd5de +cdd5decdd5ded2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6cdd5ded2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6c5dae4d2dee6bacdd9d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6b0cbdca3b8bcbacdd9b8c3c6 +b8c3c6bacdd9b8c3c6a5c4d79fb0bba3b8bca4bfb58da0b694afa1b0cbdcbacdd9 +aec4d0a3b8bc9fb0bb8b98826374717d90829ea9b494afa192a8b67e9882819fb7 +aec4d0b0cbdca3b8bcb0cbdc81a08992a8b6819fb77d98b19ea9b48da0b68da0b6 +c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c5dae4b2d2e0c5dae4b2d2e0c1d4e2 +c5dae4c5dae4c1d4e2c5dae4b2d2e0c1d4e2c5dae4c1d4e2c1d4e2c5dae4c5dae4 +c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4 +c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4cdd5dec5dae4c5dae4 +d2dee6c5dae4c5dae4c5dae4d2dee6c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4 +c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4 +c5dae4c1d4e2c1d4e2c5dae4c1d4e2d2dee6c5dae4c5dae4c1d4e2c5dae4c5dae4 +c5dae4c1d4e2c1d4e2c5dae4d2dee6c5dae4c5dae4c1d4e2c5dae4d2dee6c5dae4 +c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6c1d4e2d2dee6 +c5dae4d2dee6c5dae4c5dae4d2dee6c1d4e2d2dee6c5dae4c5dae4d2dee6c1d4e2 +d2dee6c5dae4cdd5ded2dee6c5dae4cdd5dec5dae4d2dee6d2dee6c5dae4d2dee6 +d2dee6d2dee6c5dae4d2dee6d2dee6c1d4e2d9e6eacdd5dec5dae4d2dee6d2dee6 +d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6cdd5dec5dae4 +c5dae4cdd5ded2dee6d2dee6c5dae4cdd5ded2dee6cdd5ded2dee6cdd5ded2dee6 +c5dae4c5dae4d2dee6d2dee6c1d4e2c5dae4d2dee6c1d4e2cdd5ded2dee6c1d4e2 +d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6 +d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4 +d2dee6c5dae4c5dae4d2dee6c1d4e2d2dee6d2dee6c5dae4cdd5ded2dee6d2dee6 +d2dee6c5dae4c5dae4d2dee6cdd5dec5dae4c5dae4cdd5ded2dee6c5dae4c5dae4 +d2dee6cdd5ded2dee6cdd5ded2dee6c5dae4cdd5debacdd9a0b09f8ea0897c9053 +8b988281a089a0b09faec4d0b8c3c6bacdd9c5dae4d2dee6c1c4c7c5dae4c1d4e2 +d2dee6c1d4e2bacdd9c1d4e2d2dee6c5dae4a3b7a47c90536b86736b867392a88d +6b8673576b33597c757090817e98828b9882b2d2e0d2dee6d2dee6d2dee6d2dee6 +c5dae4d2dee6c5dae4d2dee6d2dee6c1d4e2c5dae4d2dee6c1d4e2d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6c5dae4d2dee6d2dee6 +c5dae4d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6c5dae4d9e6ead2dee6d4dcd0cccdcc848887547443597c755f7b2a +6b85456b852c54742854744392a88d7c905356603a3f4e32576b335474285f7b2a +5e74295f7b2a6b85457787467d90826f8f526b852c778746767b4787872c60832a +6b854592a88d92a8b692a88d81a08992a8b67787467c905386874a666b3b555824 +47583270908181a089a4bfb5bacdd9bacdd9b8c3c6c1d4e2d4dcd0cdd5ded2dee6 +d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6d2dee6 +d2dee6cdd5decdd5debacdd9aec4d09ea9b4c1c4c7bacdd9cdd5decccdcccccdcc +c5dae4d2dee6cdd5ded2dee6d2dee6d2dee6cdd5ded2dee6dfe1e6d2dee6d2dee6 +d2dee6dfe1e6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d9e6ea +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c1d4e29ea9b494afb9a3b8bc +aec4d0b8c3c69fb0bba3b8bc92a8b692a8b6a3b8bc9fb0bb9ea88e9da1abafb9bc +bacdd9afb9bc9ea9b475889b7787727090817e988270908196b7ab81a08994afb9 +b0cbdcbacdd9cccdccb0cbdc7d98b19fb0bba3b8bc7e988292a8b6c0cbb8a3b8bc +c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c5dae4c5dae4b2d2e0c1d4e2c5dae4 +c5dae4b2d2e0c5dae4c5dae4c5dae4c1d4e2c5dae4b2d2e0c5dae4c5dae4c1d4e2 +c5dae4c5dae4c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4 +c1d4e2c5dae4c5dae4c1d4e2c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6 +cdd5ded2dee6c5dae4d2dee6c5dae4c5dae4c5dae4c1d4e2c5dae4d2dee6c5dae4 +c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2c1d4e2c5dae4 +d2dee6c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c1d4e2d2dee6c1d4e2c5dae4 +c5dae4c5dae4c1d4e2c5dae4c5dae4cdd5decdd5dec5dae4d2dee6c1d4e2c5dae4 +c5dae4c5dae4c1d4e2d2dee6c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6 +cdd5ded2dee6c5dae4cdd5dec1d4e2d2dee6c1d4e2c5dae4d2dee6c5dae4cdd5de +d2dee6d2dee6c1d4e2d2dee6d2dee6c1d4e2d2dee6c1d4e2d2dee6c5dae4cdd5de +cdd5ded2dee6d2dee6c1d4e2d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4c5dae4 +d2dee6d2dee6c5dae4d2dee6cdd5dec5dae4d2dee6c5dae4cdd5ded2dee6d2dee6 +d2dee6c5dae4d2dee6c5dae4d2dee6c1d4e2d2dee6c5dae4d2dee6d2dee6c5dae4 +d2dee6d2dee6c1d4e2d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6c1d4e2 +d2dee6c5dae4cdd5ded2dee6c5dae4cdd5ded2dee6d2dee6d2dee6cdd5ded2dee6 +c5dae4d2dee6cdd5ded2dee6c1d4e2c5dae4cdd5dec5dae4d2dee6c1d4e2d2dee6 +d2dee6c5dae4d2dee6d2dee6c5dae4cdd5ded2dee6cdd5ded2dee6c5dae4c5dae4 +d2dee6c1d4e2c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6cdd5ded2dee6cdd5de +d2dee6c5dae4c1d4e2c1d4e2c1d4e2cdd5dec0cbb8bacdd994afa18b98827f9753 +7c905392a88d92a88da3b8bca3b8bcaec4d0c5dae4cdd5deb8c3c6bacdd9d2dee6 +cdd5deb8c3c6a5c4d7a3b8bcbacdd9cdd5dec5dae47d908254744354744392a88d +6b8673547443567f3a6084716b8673a3b8bcc5dae4cdd5ded2dee6c1d4e2c5dae4 +d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +cdd5ded2dee6d2dee6cdd5ded9e6ead2dee6d2dee6d2dee6d2dee6c1d4e2cdd5de +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c1d4e29fb0bb7e98827d90823d573b +5474435e7429657c444b6933657c446b854554742849601f475832576b3349601f +6183455f7b2a819f59778746657c446274445e7429576b336274447b9034657c44 +6f8f52c1d4e2c1d4e2c5dae4b0cbdcc0cbb87c9053627444666b3b6660333f4e1e +3a442370908194afb9c1d4e2d2dee6d4dcd0d2dee6dfe1e6dfe1e6dfe1e6d2dee6 +d2dee6d2dee6d2dee6d2dee6c5dae4aec4d0b8c3c6c1d4e2d2dee6cdd5ded2dee6 +cdd5ded2dee6cdd5deaec4d09fb0bbaeb0bdb8c3c69ea9b4bacdd9bacdd9aeb0bd +cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6 +d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6cdd5ded2dee6cdd5ded2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6c5dae4c1d4e2c1d4e2b8c3c6a4bfb581a0899fb0bb +a5c4d7a4bfb5aec4d094afa18b98828ea089a0b09f9fb0bba0b09f8b98829fb0bb +aec4d09fb0bb9fb0bbafb9bcaec4d09fb0bb7d908281a089a3b8bc7e988294afb9 +a3b8bc9fb0bbafb9bca3b8bc7d90828da0b6a3b8bc9da1ab8b98829ea88e9ea08a +bacdd9c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c5dae4c1d4e2c5dae4 +b2d2e0c5dae4c5dae4c5dae4b2d2e0c5dae4c5dae4c1d4e2c5dae4c1d4e2c1d4e2 +c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2 +c1d4e2c5dae4c5dae4d2dee6c1d4e2c1d4e2c5dae4c1d4e2d2dee6c1d4e2c5dae4 +c1d4e2c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4c1d4e2 +d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4 +c1d4e2c5dae4d2dee6c5dae4c1d4e2c5dae4d2dee6c1d4e2d2dee6c1d4e2c1d4e2 +c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2d2dee6c5dae4c5dae4c5dae4 +c1d4e2d2dee6c1d4e2d2dee6c5dae4c1d4e2d2dee6c5dae4c5dae4c1d4e2c5dae4 +c5dae4cdd5ded2dee6d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4 +cdd5ded2dee6c5dae4c5dae4cdd5ded2dee6d2dee6c5dae4d2dee6cdd5dec5dae4 +d2dee6c1d4e2d2dee6d2dee6d2dee6cdd5dec5dae4d2dee6d2dee6d2dee6d2dee6 +c1d4e2d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6cdd5ded2dee6 +cdd5ded2dee6d2dee6cdd5ded2dee6c1d4e2d2dee6d2dee6c5dae4c1d4e2d2dee6 +c1d4e2d2dee6d2dee6c5dae4d2dee6c1d4e2d2dee6c5dae4d2dee6d2dee6c5dae4 +d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6c5dae4c5dae4d2dee6 +cdd5ded2dee6c5dae4d2dee6d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6cdd5de +d2dee6c5dae4c1d4e2d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6 +d2dee6d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6cdd5ded2dee6c5dae4 +d2dee6d2dee6cdd5debacdd9b0cbdcc1d4e2c1d4e2b8c3c6a0b09f8ea0897f9753 +8b98827787468ea08994afa1a4bfb5aec4d0bacdd9bacdd9b8c3c6c1d4e2d2dee6 +c5dae4d2dee6aec4d0afc0ab92a88da0b09fbacdd994afa1547443547443608471 +4b6933547443657c44a5c4d7c5dae4c5dae4d2dee6c1d4e2bacdd9d2dee6c5dae4 +d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5debacdd9c1d4e2 +d2dee6c1c4c7bacdd9cdd5ded2dee6d2dee6d2dee6c1d4e2aec4d092a8b63d4f56 +667c74637471344d1e497323708f317c9053697c2b697c2b3a4423383c23304321 +5474434b681e6b8545657c447787726b8673657c444e5043576b336b85456f8f52 +8b9882a3b8bcc5dae4d2dee6c5dae4b8c3c66274443f4e323335223f4e1e565838 +4e5043496065709081afc0abcdd5ded2dee6d2dee6d2dee6d2dee6cdd5ded2dee6 +cdd5ded2dee6d2dee6cdd5dec1c4c78a99ab9fb0bbc1d4e2d2dee6d2dee6d2dee6 +cdd5dec1d4e2aec4d0afb9bc94afb9afb9bcafb9bc8da0b6b8c3c692a8b69ea88e +c1d4e2d2dee6cdd5decdd5decdd5ded2dee6d2dee6d2dee6d2dee6cdd5dedfe1e6 +d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6 +d2dee6d2dee6b0cbdcbacdd9cccdccbacdd9bacdd9aec4d0a3b8bc94afa1819fb7 +94afb994afb9b8c3c67d90826b8673a3b7a494afa19ea08a8b98827d90828da0b6 +bacdd9c1c4c79fb0bb8da0b6a0b09f9da1ab7d9082757c718da0b69fb0bb94afb9 +92a8b69ea9b48b9882a0b09fa4bfb5afb9bc9ea9b48b988292a88d7c90538b9080 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2b2d2e0c5dae4c5dae4 +b2d2e0c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4 +c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4 +c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4c1d4e2d2dee6c5dae4 +d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6 +c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4c1d4e2d2dee6c5dae4c5dae4c5dae4 +d2dee6c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4d2dee6c1d4e2 +d2dee6c5dae4c5dae4c5dae4d2dee6c1d4e2d2dee6c1d4e2d2dee6c1d4e2d2dee6 +c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c1d4e2d2dee6cdd5ded2dee6c5dae4 +d2dee6c1d4e2d2dee6cdd5ded2dee6c5dae4c5dae4d2dee6c1d4e2cdd5ded2dee6 +cdd5decdd5dec5dae4d2dee6d2dee6d2dee6c1d4e2d2dee6d2dee6d2dee6d2dee6 +c5dae4d2dee6d2dee6c1d4e2d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6 +c5dae4d2dee6d9e6eacdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6 +d2dee6cdd5ded2dee6d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6c5dae4d2dee6 +d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4 +c5dae4c5dae4cdd5ded2dee6d2dee6cdd5ded2dee6d2dee6d2dee6cdd5ded2dee6 +c5dae4d2dee6cdd5decdd5ded2dee6d2dee6d2dee6cdd5ded2dee6c5dae4c5dae4 +d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4c5dae4 +d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6d2dee6 +cdd5ded2dee6c0cbb8bacdd9afb9bcbacdd9c0cbb896b7aba0b09f92a88d7e9882 +7c90537c90538b98828a99abafb9bca3b8bcafc0abaeb0bdafc0abc1d4e2cdd5de +cdd5dec5dae4c1d4e28b98826b86736b854592a88d7d90824b6865608471667c74 +81a0896b867360847181a089c1d4e2c1d4e2cdd5debacdd9b8c3c6c5dae4c5dae4 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d9e6eacdd5ded9e6eacdd5deaeb0bdaec4d0 +d2dee6c1d4e2a0b09fb8c3c6d2dee6cdd5ded9e6ead2dee6d4dcd092a8b6a0b09f +b2d2e06b8673597c757e98827c90537c905360832a567f3a496032304321304321 +304321475832576b335f7b2a92a88db8c3c694afa15658384c50267787728da0b6 +92a8b6667c74aec4d0d4dcd0cdd5de9d9981576b332f3c222f3c224c5026496032 +667c74709081bacdd9c1c4c7d2dee6dcd6d6d2dee6d2dee6d2dee6d2dee6d2dee6 +cdd5deb8c3c6afb9bc9fb0bb7787728ea089b8c3c6cdd5ded2dee6d2dee6d2dee6 +cdd5deb8c3c69fb0bb8da0b67787728ea0899da1ab6b8673608471757c7192a8b6 +cdd5deb0cbdcaec4d0c5dae4dfe1e6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6c5dae4d2dee6d9e6ead2dee6d2dee6d2dee6c5dae4d2dee6 +d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6afb9bcb8c3c6aec4d0cccdccaec4d0b8c3c670908192a88db0cbdc +a5c4d7aec4d0bacdd97d908270908192a8b68ea0899fb0bb70908194afb9a4bfb5 +a3b8bc9ea9b4a3b7a4a3b7a4a0b09f8da0b694afb97e98827d908292a88db8c3c6 +a3b7a49fb0bba3b7a492a88da3b8bcbacdd9b8c3c69ea9b47d90827787468b9080 +c1d4e2c1d4e2bacdd9c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2 +c5dae4c5dae4c1d4e2c1d4e2c5dae4c5dae4c5dae4c1d4e2c5dae4c1d4e2c5dae4 +c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4c1d4e2d2dee6c5dae4c1d4e2c5dae4 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2d2dee6c5dae4c5dae4c1d4e2c5dae4c5dae4 +c5dae4c5dae4cdd5ded2dee6d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4 +d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4 +d2dee6c5dae4c5dae4c5dae4d2dee6c1d4e2d2dee6c5dae4d2dee6c5dae4c1d4e2 +c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4 +d2dee6d2dee6c5dae4c5dae4c1d4e2c5dae4c5dae4cdd5decdd5ded2dee6c5dae4 +d2dee6c5dae4c5dae4c5dae4d2dee6cdd5dec1d4e2d2dee6c5dae4cdd5ded2dee6 +c1d4e2d2dee6d2dee6c1d4e2c1d4e2d2dee6d2dee6cdd5dec5dae4d2dee6c5dae4 +d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d9e6eacdd5dec5dae4 +d2dee6d2dee6d2dee6d2dee6c5dae4cdd5ded2dee6d2dee6d2dee6d2dee6cdd5de +d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6 +d2dee6cdd5ded2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4 +d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6cdd5de +c5dae4cdd5ded2dee6c5dae4d9e6eac1d4e2d2dee6c5dae4d2dee6c1d4e2d2dee6 +c1d4e2c5dae4bacdd9b8c3c6a4bfb5b8c3c6c1c4c794afa195af7a8ea0897c9053 +8c98537c90537e9882709081a3b8bcaec4d092a8b68b9882afb9bcbacdd9c1d4e2 +cdd5dec5dae4c0cbb895af7a6f8f525474435773764b6865354c31496065597c75 +7787725f7b2a54744394afb996b7abbacdd99ea9b4a3b8bcbacdd9b8c3c6c1d4e2 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d9e6ea +d2dee6d2dee6d9e6ead2dee6dfe1e6d2dee6d2dee6d2dee6cdd5de8da0b6a3b7a4 +cccdccc5dae4a3b8bc81a089a0b09fb8c3c6cdd5ded2dee6cdd5deafb9bcaec4d0 +cccdcc6274447e988294afa176872d697c2b6b85454b69337090814b69333f4e32 +333522383c23496032497323657c449ea88e7e9882565838767b47767b476b8673 +4658646374717a91a8a3b7a4b0b8a3778746656c263f4e1e30432156603a778772 +556c8492a8b6c1d4e2cdd5ded2dee6cdd5dec1c4c7cccdccc1c4c7cfc6b8afb9bc +9ea08a7787727d908281a08975889b92a8b6d2dee6d2dee6dcd6d6d2dee6d2dee6 +d2dee6cdd5de8da0b67d90827787728b9080666c5e57737660847170908181a089 +aec4d09fb0bbc1c4c7d2dee6d2dee6d2dee6dfe1e6cdd5dedfe1e6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d9e6ead2dee6d2dee6 +d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ea +d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4bacdd9afb9bc92a8b6b0cbdcc5dae4 +bacdd9bacdd9b8c3c6aec4d0aec4d07d90828b9882c1d4e28da0b6a5c4d7b8c3c6 +81a0897d908292a88d8b98828b90808ea0898da0b6a3b7a49fb0bb95af7aafc0ab +92a88d81a089a4bfb5a4bfb5a5c4d7b0cbdcb8c3c6b8c3c692a88d81a0898ea089 +c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c5dae4 +c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4 +c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c1d4e2 +d2dee6c5dae4d2dee6c1d4e2c5dae4d2dee6cdd5ded2dee6c1d4e2d2dee6c5dae4 +c5dae4d2dee6c5dae4cdd5dec5dae4c5dae4d2dee6d2dee6d2dee6c5dae4cdd5de +d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4cdd5de +c5dae4c5dae4d2dee6cdd5dec5dae4cdd5dec5dae4c1d4e2d2dee6c1d4e2d2dee6 +c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2c5dae4d2dee6 +c5dae4c5dae4cdd5dec1d4e2c1d4e2c5dae4cdd5ded2dee6d2dee6d2dee6c1d4e2 +d2dee6cdd5ded2dee6cdd5dec5dae4c5dae4c5dae4cdd5ded2dee6c5dae4d2dee6 +d2dee6cdd5dec5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +cdd5decdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6 +c5dae4d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4c5dae4cdd5ded2dee6d2dee6 +d2dee6d2dee6d2dee6c5dae4cdd5ded2dee6d2dee6d2dee6d2dee6cdd5ded2dee6 +c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6cdd5de +d2dee6d2dee6d2dee6d2dee6d2dee6cdd5dec5dae4d2dee6c1d4e2d2dee6d2dee6 +d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4 +c1d4e2cdd5debacdd9a4bfb5a0b09fafb9bcafc0ab8ea0898ea089819f598b9882 +8ea0597f97537f975381a08992a88d8da0b66b8673709081aec4d0cccdccc1d4e2 +d2dee6cdd5debacdd9c1d4e281a0894b69334b693392a88d70908192a88d94afa1 +7e9882597c754b6865587ca0a3b8bcaec4d092a88d778772a3b7a4aec4d0d2dee6 +c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d9e6eac5dae4d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4cdd5ded9e6ead2dee6 +dfe1e6d9e6eadfe1e6d9e6ead9e6ead2dee6d9e6eadfe1e6cdd5dea3b8bc8ea089 +7787728ea089afb9bc8ea0897c9053657c447787728b988292a88d77877254605f +6374715474437e98827d9082767b4768752b4b6933657c4481a08992a8b64e5043 +272c1f2b33223f4e1e47581f5474436b8545778746666b3b847144574f26394446 +3335222f3c225474437c90536b852c5f7b2a576a1f576b333f4e1e304321637471 +63747194afa1afb09eafb09e8b98827d9082778746757c71778772778772778772 +6b854562744454744370908181a089bacdd9d2dee6d2dee6d2dee6dfe1e6d2dee6 +d2dee6d2dee6bacdd9bacdd98ea08975889b8b988281a08981a0898da0b68da0b6 +b8c3c6b8c3c6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6 +d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6 +d2dee6d9e6eac5dae4d2dee6d2dee6d2dee6d2dee6bacdd9bacdd9bacdd9aec4d0 +c1d4e2aec4d0afb9bca0b09f9ea9b4a4bfb5c1d4e2aec4d0a3b8bc7e98828ea089 +7d90827e98827787467c9053819f597d908296b7abafc0ab95af7a92a75995af7a +a4bb7eb2d2e0d4dcd0c1d4e2a3b7a4afc0abcccdccafb09e77874692a7597e9882 +bacdd9c1d4e2c1d4e2c5dae4c5dae4c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2 +c1d4e2c1d4e2c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2d2dee6c1d4e2 +cdd5dec5dae4d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4c1d4e2d2dee6c5dae4 +c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2d2dee6d2dee6 +c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4 +d2dee6d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6cdd5ded2dee6cdd5de +d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4 +c5dae4c5dae4c1d4e2d2dee6c5dae4c5dae4d2dee6d2dee6c1d4e2d2dee6c5dae4 +d2dee6c5dae4c5dae4bacdd9b0cbdcc5dae4c5dae4cdd5dec5dae4c5dae4d2dee6 +c5dae4c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4cdd5ded2dee6cdd5dec5dae4 +d2dee6d2dee6d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6c1d4e2d2dee6d2dee6 +d2dee6d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6cdd5ded2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5de +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6 +cdd5dec5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6 +d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6c1d4e2d2dee6d2dee6cdd5ded2dee6 +cdd5ded2dee6c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6 +d2dee6c5dae4d2dee6c1d4e2d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6c5dae4d2dee6d2dee6cdd5de +b8c3c6bacdd9b8c1afa0b09f92a88daec4d0afb9bc95af7a8ea0898c98538b9882 +8ea0598c98538b98827c905381a0896b86736b86737a91a8a3b7a4b8c3c6aec4d0 +c5dae4c1d4e2b0b8a3a3b7a481a0893c5822496032597c75597c758a99ab96b7ab +7e9882657c443d5f25597c75aec4d092a8b694afa1819fb796b7abd2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6c5dae4d2dee6d2dee6 +c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d4dcd092a88d709081 +7c9053567f3a6183456b86736b852c6183454b69334960323d573b4960324b6933 +5f7b2a6b8545618345475832767b474758324960324b6933576b336374713f4e32 +30432130432147581f4960327090816b85457d9082767b4795885c555824304321 +3a44234758326b8545697c2b5e7429547428555824354c313f4e322b33223f4e32 +54605f4e50435f6156666b3b576b33547443627444576b33657c44576b33627444 +7e9882b0b8a38b9882a0b09fc0cbb8d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6 +d2dee6cdd5deafb9bcaec4d09fb0bb92a88d7d9082819fb792a8b68b98829fb0bb +afb9bcb8c3c6cdd5ded2dee6d2dee6cdd5dedfe1e6d2dee6cdd5ded2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d9e6ead2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6c5dae4c5dae4d2dee6c1d4e2d4dcd0c1c4c7d2dee6 +c1d4e2aec4d0bacdd99ea9b4a0b09fa3b8bcafb9bc7d90827e98827090817e9882 +8b98828ea0897e98826b85457f97537197537e988281a0897e98827e988281a089 +a5c4d7b0cbdcbacdd98ea08960847196b7ab95af7a56603a49601f7f97537c9053 +c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c5dae4c5dae4 +c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c1d4e2d2dee6c1d4e2c5dae4 +c5dae4c1d4e2c5dae4c5dae4d2dee6c5dae4c5dae4c1d4e2c5dae4c5dae4c1d4e2 +d2dee6cdd5dec5dae4d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4 +c5dae4c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4c5dae4d2dee6 +cdd5dec5dae4d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4 +d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4 +d2dee6d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4 +c5dae4c5dae4c5dae4cdd5deaec4d0c5dae4cdd5dec5dae4d2dee6c5dae4d2dee6 +d2dee6cdd5ded2dee6c1d4e2c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6 +c5dae4d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6 +d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6 +dfe1e6d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6c5dae4d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6cdd5de +d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c1d4e2d2dee6d2dee6 +c5dae4d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4 +cdd5ded2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6 +a4bfb5a3b8bca0b09f94afa19ea88ea3b8bca3b8bca3b7a48ea0598ea0898ea059 +92a7598b98827f9753778772667c745474436b867394afa19fb0bba4bfb5c5dae4 +d2dee6d4dcd0c1d4e292a88d597c754b69334b69334b6933657c4494afa1a4bfb5 +7090815474434b68654b693381a0898ea08994afa1a4bfb5b0cbdcc5dae4cdd5de +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6c5dae4d2dee6d2dee6d2dee6d9e6eac5dae4d2dee6c5dae4dfe1e6d2dee6 +d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6d2dee6bacdd99ea88e +8b98826b8673657c44657c446b85456274444960323f4e322f3c223a44233d573b +6274445f7b2a3f4e323a44235658384c50263d573b3c58224b69337c9053657c44 +576a1f576b33657c446b86737787725474436b8545767b479f9154556024475832 +5560246b854560832a657c445474283f4e1e2f3c223d4f5675889b3f4e32475832 +576a623d573b2f3c223a44236274447d9082576b336374717d9082657c447e9882 +aec4d0d2dee6cdd5ded2dee6d9e6eac1c4c7cdd5ded2dee6dfe1e6dfe1e6d2dee6 +dfe1e6d2dee6cdd5deafb9bc819fb777877257737670908181a0897e98829fb0bb +9fb0bbafb9bcaec4d0d2dee6d2dee6cdd5decdd5ded2dee6dfe1e6d2dee6d2dee6 +d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6c1d4e2b8c3c69fb0bbb8c3c6bacdd9afb9bcbacdd9 +afb9bcafb9bcafb9bc9fb0bba3b8bc92a88d8ea0897d90827d90828ea0597d9082 +7787467787728ea0896b867370908192a8b68da0b692a88d7e988281a08994afa1 +a4bfb5b8c3c6bacdd994afa160847196b7ab8b98824758325474436f8f527f9753 +c1d4e2c1d4e2c1d4e2b2d2e0c1d4e2c1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2 +c1d4e2c5dae4c1d4e2c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6c1d4e2 +d2dee6c1d4e2c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4 +c5dae4d2dee6c1d4e2c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6 +c5dae4d9e6eac5dae4c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6 +c5dae4c5dae4d2dee6c5dae4c5dae4d9e6eac5dae4d2dee6c5dae4c5dae4c5dae4 +d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6 +d2dee6d2dee6c5dae4bacdd9b8c3c6d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4 +c5dae4cdd5ded2dee6c5dae4d2dee6c5dae4d2dee6c5dae4cdd5ded2dee6c5dae4 +c1d4e2d2dee6c1d4e2d2dee6cdd5decdd5ded2dee6d2dee6d2dee6d2dee6d2dee6 +c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6cdd5de +d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +cdd5ded2dee6d9e6ead9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6 +cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4 +d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d4dcd0 +bacdd9a3b7a49fb0bb92a88d94afa18ea0899ea9b48ea0898b98828b90557e9882 +8ea0597c90538c98537c90536b867381a0897090819fb0bba3b8bc9fb0bba5c4d7 +bacdd9c5dae4d2dee6bacdd97e98825474436b8545567f3a4b6933576a62778772 +5474433f4e32496032597c75547443597c7594afb9a5c4d7a3b8bcbacdd9cdd5de +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4 +d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +94afa1a4bfb57e9882627444697c2b576b3349601f4b6933354c313a4423304321 +4b6933383c23262e35342d1f2a34383f4e323043214960324b681e576b335e7429 +7b90348ea0598ea0598c98535f7b2a5474434b69336274449f915474643e576b33 +778746697c2b6b852c697c2b3c58224758323944464758329fb0bb757c71778772 +75889b577376757c71394446576a62afc0ab8b919f8a99abafb9bca3b7a4bacdd9 +d4dcd0dfe1e6dfe1e6dfe1e6cccdccaeb0bdcdd5dedfe1e6cdd5decdd5dedfe1e6 +d2dee6dfe1e6d2dee6c1c4c78a99ab7e98828b98827090816b86737090818ea089 +709081afb9bcbacdd9cdd5deb8c3c6b8c3c6d2dee6d2dee6d2dee6dfe1e6cdd5de +d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6cdd5dedfe1e6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6 +c1d4e2c5dae4d2dee6d2dee6bacdd9bacdd9a3b8bc9fb0bb8a99ab8da0b6a4bfb5 +a3b8bc9fb0bba3b8bc9fb0bb92a88d7e98827c9053657c446b86737f9753778746 +8c98537e988295af7a94afb996b7ab96b7ab92a8b692a8b67e9882b2d2e0b8c3c6 +a3b8bcaec4d0bacdd984888781a089b0cbdca0b09f4b6865597c7595af7a6f8f52 +b2d2e0c1d4e2c5dae4c5dae4c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4 +c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4 +c1d4e2d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4 +c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4 +c5dae4c5dae4c5dae4d2dee6cdd5dec5dae4c5dae4d2dee6c5dae4d2dee6c5dae4 +c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4 +d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6d2dee6c5dae4 +d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6d2dee6 +c1d4e2c1d4e2d2dee6bacdd9aec4d0d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6 +d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4d2dee6 +d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6dcd6d6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6c5dae4 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6 +d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4cdd5de +bacdd9a0b09fa0b09f8ea0898ea0898ea08994afa192a88d819f597c9053778746 +8b90558ea0898ea0897f975381a08992a8b68b98828ea089a0b09f81a089afb9bc +bacdd9d4dcd0c5dae4d2dee6aec4d07090816f8f526084713d5f254b68654b6933 +657c44576a624b69335773765474437090817a91a8819fb7a4bfb5bacdd9c5dae4 +d2dee6dfe1e6d2dee6d9e6ead2dee6c5dae4d2dee6d2dee6d2dee6d2dee6cdd5de +d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +c5dae4d2dee6c0cbb86b86736b85456b8545576b335e74294960324b6933475832 +56603a383c232e3c442b33224658644758323f4e32576b334b693349601f4b681e +7c90538ea0597787466b8545627444657c44475832666033847144767b47767b47 +576a1f5f7b2a5e7429576a1f49601f657c44576a62496065c1c4c7cccdcca3b8bc +8da0b692a8b6afc0ab637471a3b8bccdd5deafb09eb8c3c6d4dcd0c5dae4dcd6d6 +afb9bcaeb0bdb8c1af9ea9b4848887aeb0bddfe1e6cdd5de9ea9b4cdd5decdd5de +cccdccbacdd9cccdccd4dcd0c1d4e2b8c3c6657c44597c755474436b86736b8673 +7e98829fb0bbafc0ab9fb0bbafb9bccdd5ded2dee6d2dee6dfe1e6cdd5dedfe1e6 +d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6 +d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6cdd5de +bacdd9cdd5debacdd9b8c3c6a3b8bc9fb0bba3b8bca3b8bc9fb0bb7a91a8a5c4d7 +aec4d0b8c3c6a3b8bc92a88d7090817e98826b86734b6933618345667c74778772 +778772657c4481a0897d98b192a8b68da0b67d98b192a8b6a4bfb59fb0bb8b9882 +a3b8bcb8c3c6aba9a68ea0899ea08a6f8f526b86737c9053657c447e9882819f59 +c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c1d4e2c5dae4 +c1d4e2c5dae4c5dae4d2dee6c1d4e2c5dae4c5dae4c1d4e2c5dae4d2dee6c5dae4 +c5dae4c5dae4c5dae4c1d4e2d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4 +d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4 +c5dae4d2dee6c5dae4c5dae4c1d4e2d2dee6c5dae4c5dae4c5dae4d2dee6d2dee6 +c5dae4d2dee6c1d4e2d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6d2dee6c5dae4d9e6eac5dae4d2dee6c5dae4d2dee6c5dae4d2dee6 +c5dae4c5dae4d2dee6c5dae4d2dee6d9e6eac5dae4c5dae4d2dee6c5dae4c5dae4 +d2dee6bacdd9bacdd9a3b8bc9fb0bbc1d4e2c5dae4d2dee6c5dae4c1d4e2c5dae4 +d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6 +cdd5ded2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4 +d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6c5dae4c0cbb8 +afc0abafb9bc8ea0898c98538ea089b0b8a3a1b1709ea88e8b9882767b47778746 +8b90808b98828b9080657c4470908181a08992a8b68ea08994afa192a8b6b8c3c6 +c1d4e2c1d4e2d2dee6c1d4e2c5dae492a88d597c75547443577376597c756b8673 +92a8b67e9882667c74657c444b69336886a696b7aba3b8bca3b8bcc1d4e2cdd5de +d2dee6d2dee6d2dee6d2dee6cdd5decdd5dec5dae4d2dee6d2dee6d2dee6c5dae4 +d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6 +d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6c5dae4d4dcd0a4bfb592a88d6b86736b86736b8545767b475474437c9053 +576a623f4e323d4f563043214960654b68657090814758323f4e323a4423496032 +657c447c90537c9053657c44576b333f4e1e3f4e3274643eab91589a9178627444 +6274446b8545576a62576b335e7429697c2b383c233f4e327d90828488878b919f +666c5e757c718da0b69da1abafb9bc8da0b6757c717787728b9080b0b8a39ea08a +63747154605f7d9082667c748b9080aeb0bddcd6d6b0b8a39d9981d2dee6afb9bc +aba9a68ea0898a99ab9fb0bbc1d4e2afb09e5f61563f4e32576b33576a62576b33 +7d90827d908270908192a8b6c1d4e2d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6 +aec4d0cccdccafb9bc9fb0bba5c4d7b0cbdcc1d4e2c1d4e2a0b09f92a8b6b8c3c6 +9ea9b4a3b8bca0b09f8ea08992a88d8ea08992a88d6084717e988292a88d92a88d +9fb0bb8b988292a8b692a88da3b8bc8da0b67d98b194afb9aec4d07e98827d9082 +94afb9a4bfb58da0b692a88d8b98828c98537e9882a4bb7e778772778772657c44 +c5dae4c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4c1d4e2c5dae4c1d4e2c1d4e2 +c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6 +d2dee6d2dee6c5dae4c5dae4c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4 +d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4 +c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4 +c5dae4d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6 +c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4 +d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6cdd5ded2dee6 +d2dee6c1d4e2aec4d092a88d8da0b6c1d4e2c5dae4d2dee6d2dee6d2dee6c5dae4 +d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6c5dae4 +d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6 +c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6dfe1e6cdd5ded2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6 +d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +dfe1e6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6cdd5ded2dee6d2dee6 +d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +c5dae4cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6cdd5de +d2dee6d2dee6d2dee6d2dee6d2dee6c1d4e2d9e6eac5dae4d2dee6d2dee6c5dae4 +d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c1d4e2 +b8c3c6afc0ab9ea88e87886dafb9bcb8c3c69ea08a8ea0898ea089657c448c9853 +8ea05992a7597c9053667c7471975394afa194afa1b0cbdc8ea08994afa1b8c3c6 +bacdd9b8c3c6c1d4e2b8c3c6b2d2e07e98824b68653c58225474285e7429547443 +6b8673567f3a4b69334b69336b867381a089a4bfb5819fb7a0b09fbacdd9bacdd9 +c1d4e2c5dae4d2dee6d2dee6cdd5decccdccc5dae4d2dee6d4dcd0c1d4e2d2dee6 +d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6 +d9e6eadfe1e6d2dee6d2dee6d9e6ead2dee6d2dee6cdd5dec1d4e2c5dae4d2dee6 +d2dee6d9e6ead2dee6c0cbb8a3b7a47e988292a88d6b867381a08971975381a089 +81a08970908141678a70908192a8b681a0897e9882354c313a4423333522383c23 +576b3362744456603a3f4e32547428576b33667c74848887a48954ada17f8b9080 +7787727e98828b98827e9882697c2b627444373e43576a623d4f56394446373e43 +3944463f4e323944465658384658644e5043383c2330444d3a4423465864637471 +4e50433944467090817d9082b8c3c6cdd5deaeb0bd9d9981aba9a6d2dee6cccdcc +8b98827787726084717e98829ea88e7d90825f61563f4e324b6933576b33475832 +5773767090818a99aba3b8bcd9e6ead2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6 +dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6 +d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d9e6ead9e6eadfe1e6cdd5de +a3b8bcaec4d0aeb0bd92a8b6b0cbdcd2dee6cdd5de9fb0bb9ea9b47d9082a4bfb5 +8ea0897d98b1b8c3c69fb0bb7e988294afb97e98827f975396b7aba3b7a4b0cbdc +b0cbdca4bfb59ea9b49da1ab94afb9aec4d08a99ab8ea0898b919f77877281a089 +8da0b6afc0aba3b7a47787727d90828ea0597f97538c98536b85453f4e324b6933 +c5dae4c5dae4c1d4e2c1d4e2c5dae4c5dae4c5dae4c1d4e2d2dee6c5dae4c5dae4 +c5dae4c5dae4c5dae4c5dae4d2dee6d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4 +c5dae4c1d4e2d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4 +c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6 +c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d9e6ead2dee6 +c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d9e6eac5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6 +d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6cdd5ded2dee6c5dae4c1d4e2 +d2dee6c5dae49fb0bb709081819fb7aec4d0c1d4e2cdd5decdd5ded2dee6d2dee6 +c5dae4d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6 +c5dae4d2dee6d2dee6d2dee6c5dae4d9e6eacdd5ded2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6dfe1e6cdd5dedfe1e6d2dee6 +d2dee6d2dee6d2dee6dfe1e6d2dee6d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d2dee6d2dee6 +c1d4e2dfe1e6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6c5dae4d2dee6 +d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6cdd5decdd5ded2dee6d2dee6cdd5de +d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +c5dae4d9e6ead2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6cdd5de +bacdd9afb9bc8ea0898b98828b98829ea9b4a0b09f8ea0598ea0598c9853757c71 +6b85457c9053778772778746576a626b8673a3b8bcbacdd9afc0aba3b7a49ea9b4 +afc0abb8c3c6a0b09f8ea089bacdd9afc0ab6b86734b693341671b547443597c75 +627444567f3a567f3a608471a4bfb592a88d81a08992a8b6afc0ab8da0b694afa1 +c1d4e2d2dee6cdd5ded2dee6cdd5dec0cbb8c1d4e2d4dcd0bacdd9b8c1afc1d4e2 +d4dcd0cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6c1d4e29ea88ec1c4c7d9e6ea +d2dee6d2dee6d2dee6cdd5deafb9bc92a8b6a3b7a4a4bfb5a4bfb5a4bfb5a4bfb5 +b0cbdcb0cbdc94afa196b7abb2d2e09fb0bb757c71373e433f4e325f61565f6156 +75704d68752b4758323f4e1e576b33657c4492a8b6666c5e847144aea8868b9882 +8b9080709081778772a3b7a475889b7787724e5043626e8c757c71637471394446 +60759054605f2e3c443944463944463043213d4f56496065637471576a62637471 +9ea9b49da1aba0b09fafb9bc9ea88e7f97537787729d9981c1c2aedfe1e6d2dee6 +afb9bc7787724b68656b86736b86737d9082496032354c314b6933597c75667c74 +7e988296b7abaec4d0cdd5dedfe1e6d2dee6d2dee6dcd6d6d2dee6d2dee6d2dee6 +d2dee6dfe1e6d2dee6d9e6ead9e6ead2dee6dfe1e6d2dee6d2dee6cdd5dedfe1e6 +dfe1e6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d9e6eacdd5de +b8c3c6c1d4e2d4dcd0cdd5debacdd9cccdcc9ea9b4a3b8bc9fb0bb7d908292a8b6 +8b9882a4bfb5d2dee6afc0aba4bfb5b8c3c6a0b09f709081afc0abc1d4e29fb0bb +9fb0bbbacdd9a4bfb5b8c3c6afb9bc8da0b68da0b68ea0896374717787728ea089 +8b98828ea0898ea0898b98828b90807c90538c9853657c444960323f4e1e576b33 +b2d2e0c1d4e2c5dae4c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c5dae4c5dae4 +c1d4e2c5dae4c1d4e2c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4d2dee6 +d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6 +c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4c5dae4c5dae4 +d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4 +cdd5ded2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d9e6eac5dae4d2dee6 +c5dae4c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6 +c5dae4c5dae496b7ab6b867392a8b6aec4d0c5dae4c1d4e2d2dee6c5dae4d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6dcd6d6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +c5dae4d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d4dcd0 +cdd5de92a88d8b98828ea08977877294afa1b0b8a392a88d7c90537787467f9753 +8b90808b90806b8673618345597c757090818ea0898a99aba3b8bca3b7a4c0cbb8 +c1d4e2c1d4e2a3b8bc6b86738ea089aec4d07d98b1577376354c313a44233f4e1e +4b69334b681e4b693381a089a4bfb57197b494afa16b8673597c7581a089afb9bc +d2dee6d4dcd0d4dcd0d4dcd0c5dae4c0cbb8c0cbb8c1d4e2c0cbb8c0cbb8b8c3c6 +d4dcd0cdd5ded2dee6cdd5ded9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6cdd5de8ea089778772aba9a6 +bacdd9cdd5decccdccd4dcd0c1c2aeaba9a6afb9bcbacdd994afa1c5dae494afa1 +b0b8a3bacdd9a3b8bc819fb7cccdccafb9bc4e5043333522383c23475832666b3b +75704d657c44576a1f496032576b335474286374715f6156977c4f9ea08a8b9882 +7d90828b98826b86736b867375889b8a99ab6b8673576a628da0b6848887637471 +819fb7aba9a64658644658644b6865667c746b867392a88da3b7a48b98828ea089 +a0b09fb0b8a38ea0896b8545657c446b854587886d8ea089dcd6d6cdd5dedcd6d6 +d2dee6cdd5de8ea089576a626b86737787725773764b69334b69336b86736b8673 +709081819fb7bacdd9d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d9e6ea +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6 +d2dee6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8e0e6e8dcd6d6 +bacdd9cccdccb8c3c6bacdd9cccdccc1c4c7a3b8bca4bfb5afc0ab81a0899fb0bb +8b9882b8c3c6bacdd9b0cbdc9ea9b494afa192a88d7e9882a0b09faec4d08da0b6 +a3b8bca3b8bcafb9bcc5dae4bacdd9afb9bc7d9082667c748ea089afc0ab9fb0bb +9ea08a4758324b686595af7a8ea089778746819f59666b3b344d1e576b3347581f +c1d4e2c1d4e2d2dee6c1d4e2c5dae4c5dae4c5dae4c1d4e2c5dae4c5dae4c5dae4 +c5dae4d2dee6c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4 +d2dee6c5dae4c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6 +c5dae4c5dae4c5dae4c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4 +d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4 +c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d9e6ead9e6ea +c5dae4d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6cdd5ded9e6ea +d2dee6d2dee6d2dee6c5dae4d9e6eac5dae4d2dee6d2dee6d2dee6c5dae4d2dee6 +d2dee6c5dae492a88d6374717a91a8a3b8bcc5dae4b8c3c6d2dee6d2dee6c5dae4 +d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6 +d2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6 +dcd6d6d2dee6dfe1e6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6 +d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6 +d2dee6d2dee6d2dee6d2dee6cdd5dedfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6 +d2dee6d2dee6d2dee6c5dae4d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6d9e6ead2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6bacdd9c1c4c7 +afc0ab9ea9b4b0b8a392a7597d90829ea88ea0b09f8c98536f8f527787467d9082 +8b98829ea88e8ea089667c746b86737090817d90828b90809ea9b49fb0bbaec4d0 +b8c3c6c1d4e2a0b09f7e98824b6933577376657c444960652f3c222f3c223d573b +5474284b69334b69337090817e9882577376627444547443576a6281a089c1d4e2 +d2dee6cdd5ded9e6eac5dae4c1d4e2c0cbb8c0cbb8c0cbb8a4bfb5afc0abb8c3c6 +d2dee6c1d4e2c0cbb8cccdccd2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6d4dcd0d4dcd09ea88e7c90536b8545 +7d90827d90828ea0898ea0897d90827c90538b90806b86737787726f8f526f8f52 +5f615654605f666c5e4b6865576a62465864333642272c1f342d1f2a34384e5043 +75704d6274444c5026344d1e3f4e1e657c44778772857d67ab9158b8c1afc1c4c7 +afb9bcb8c3c6a0b09f7d90827a91a884888775889b626e8c576a623d4f563f4e32 +667c74848887576a6254605f547443657c447e988292a88d9ea08a8b9882767b47 +7787468b9055767b47767b47667c746b86739ea88ecccdccdfe1e6c1c4c7afb9bc +d2dee6dfe1e6b8c3c6778772709081657c446b86734b6933597c7581a089627d99 +7090817e9882b0cbdcc1d4e2bacdd9d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6 +dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d9e6ead9e6ead2dee6dfe1e6 +dfe1e6dfe1e6cdd5ded2dee6e0e6e8e0e6e8dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6 +cdd5decdd5deb8c3c69fb0bbafb9bc8a99aba0b09faec4d0b8c3c692a8b6afc0ab +8ea08992a8b6a0b09f7e98828ea089a3b8bc778772627444657c4492a8b68da0b6 +bacdd9bacdd9cdd5ded2dee6bacdd9cdd5dea0b09f8b988275889bafb9bca4bfb5 +afb9bc667c7460847192a88d7c90538b9055a4bb7e666c5e5474437c9053767b47 +c1d4e2c5dae4cdd5dec5dae4c1d4e2c5dae4d2dee6c1d4e2c5dae4c1d4e2c5dae4 +c5dae4c5dae4c5dae4d2dee6c5dae4c5dae4c5dae4d2dee6c1d4e2d2dee6d2dee6 +d2dee6c1d4e2d2dee6d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4 +d2dee6d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6 +d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6c5dae4 +d2dee6c5dae4d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6 +d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4b8c3c6 +c1d4e2d2dee681a0897e98827d98b1a4bfb5a4bfb59fb0bbc5dae4c5dae4d2dee6 +d2dee6c5dae4d2dee6c5dae4c1d4e2d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d9e6eacdd5ded2dee6d2dee6d2dee6dfe1e6d2dee6 +d2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6d2dee6dfe1e6dcd6d6dfe1e6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d9e6ead2dee6dfe1e6d2dee6 +d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6c1c4c7b8c3c6 +b0b8a3a4bb7e9ea88e7e98828b90808b98828ea0897787726f8f527d90827d9082 +8b98829ea88e8da0b692a88d8b988281a0897e9882a3b8bc7e9882a3b8bc94afa1 +a0b09fbacdd99fb0bb8b98823c58223c58224b69333f4e323043213f4e32354c31 +3c5822576b334960324658643043213d573b3d5f256b867396b7abaec4d0d2dee6 +cdd5ded4dcd0cdd5dec0cbb8aec4d0c0cbb8a3b7a4afc0aba0b09fafc0abc1c4c7 +b8c3c6bacdd9aec4d0c1d4e2cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d9e6eabacdd9c1c4c7d2dee6d2dee6cccdccb0b8a38b9882 +7d90827c90537787466b8545657c448c98538c9853666b3b4960323f4e32475832 +2f3c222a34383d4f563f4e323a44233d4f562e3c442a3438342d1f394446637471 +8ea0898b90804758322f3c223f4e324b6933567f3a8b9055c0b197c1c2aed2dee6 +cdd5decccdccbacdd9b8c3c6b8c3c692a8b67d90828ea0898da0b6576a62465864 +3944463043213d4f566374717787728ea0899ea88e757c716b8545576b334b6933 +6274446b85456b86738ea089a3b7a4bacdd9d4dcd0dfe1e6cdd5dec1c4c7afb9bc +afb9bccccdccb8c1af8da0b692a88d8ea089657c44576b334b69337090817e9882 +8488876084718b9882aeb0bdcdd5ded2dee6cdd5ded2dee6dfe1e6d2dee6d2dee6 +d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6dfe1e6dfe1e6 +d2dee6d2dee6cdd5decdd5ded2dee6dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6cdd5de +bacdd9b8c3c6c1c4c79ea88e92a8b67d908281a089a3b8bcb8c3c692a88dafc0ab +a3b7a4b0cbdcb0cbdc92a88daec4d092a8b6667c74576b33576b3370908194afa1 +c1d4e2cdd5debacdd9c5dae4cccdccd2dee6bacdd99fb0bba4bfb5c1d4e2b8c3c6 +b0cbdcaec4d08ea089709081778746b0b8a3778746576b33657c448ea059778746 +c1d4e2c1d4e2c1d4e2c5dae4c1d4e2c5dae4c5dae4c1d4e2d2dee6c5dae4d2dee6 +c5dae4c5dae4c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6c5dae4 +d2dee6c5dae4c5dae4d2dee6d2dee6c1d4e2c5dae4d2dee6d2dee6c5dae4d2dee6 +c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6 +c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4 +c5dae4d9e6ead2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6c5dae4d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6 +d9e6ead2dee6d9e6eac5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4a3b8bc +92a8b6c5dae494afa181a0897090818da0b6819fb7aec4d0d2dee6d2dee6d2dee6 +d2dee6d2dee6cdd5debacdd9cdd5ded2dee6d2dee6d2dee6c5dae4d2dee6d2dee6 +c5dae4d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6 +d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6 +dfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6 +d2dee6d2dee6dfe1e6d2dee6d2dee6d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6cdd5de +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6c5dae4b8c3c6b8c1af +8ea0898c98537787728ea0598b98828b98827c90537d908281a08992a88d9fb0bb +9ea08aa0b09f8ea0897d908292a88d92a88da3b7a4c5dae4b8c3c6a3b7a4aec4d0 +92a88d8ea089a3b8bc7787724c5026344d1e3c58223d573b2f3c223f4e322f3c22 +3f4e1e4b6933475832304321304321344d59709081aec4d0bacdd9cdd5decdd5de +d4dcd0b8c3c6afc0abb8c3c6bacdd9b8c1afa3b7a4a1b170a4bb7eb0b8a3b8c1af +b0b8a3a0b09fc1d4e2bacdd9d2dee6d2dee6c5dae4dfe1e6c5dae4d2dee6d2dee6 +d2dee6d2dee6cccdcccdd5deafb9bc8a99abc1c4c7c1d4e2cccdccc1d4e2b8c1af +afb9bc8ea0898b9882657c444b69338b90808b9055757c71354c3130444d496065 +354c31354c31848887394446394446709081667c746374712a343854605f576a62 +9ea9b4a0b09f6374713f4e1e3f4e323f4e1e4b6933757b2dada17fc1c2aecdd5de +cdd5decdd5debacdd9aeb0bdcdd5deb8c3c68a99ab9fb0bb757c71667c74637471 +54605f354c3154605f6b8545667c747787468b9055778746656c26576b33627444 +657c44afc0ab92a88d9ea9b4cdd5decdd5deb8c1afcdd5dedcd6d6afb9bc9ea9b4 +7d90828b9080afb9bc8ea089657c44618345576b3330432149606594afa18ea089 +667c74496032709081c1c4c7cdd5deafb9bcb0cbdcd2dee6cdd5dedfe1e6d2dee6 +d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6dfe1e6d2dee6d2dee6 +cdd5dec1c4c7cccdccd2dee6c5dae4d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6 +cdd5deafb9bc9fb0bb8b988281a089a3b8bca3b8bcbacdd9b0b8a38ea089a3b7a4 +afc0abbacdd9bacdd99fb0bbb0b8a3afb9bc637471475832576b33608471a3b7a4 +c5dae4c0cbb8b8c3c6cdd5debacdd99fb0bbc1d4e29fb0bba3b8bcc5dae4bacdd9 +afb9bcbacdd9bacdd98b9882637471778746555824627444576b33778746767b47 +c1d4e2d2dee6cdd5dec5dae4d2dee6c1d4e2d2dee6c5dae4c5dae4c5dae4c5dae4 +d2dee6c1d4e2c5dae4c1d4e2d2dee6c5dae4d2dee6c5dae4d2dee6c1d4e2d2dee6 +d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4c5dae4c5dae4 +d2dee6c5dae4d2dee6d2dee6c5dae4c5dae4c5dae4d2dee6c1d4e2b0cbdcbacdd9 +cdd5dec5dae4d2dee6c5dae4d9e6eac5dae4d2dee6c5dae4d2dee6c5dae4d9e6ea +c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6 +c5dae4d9e6eac5dae4c5dae4d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4 +92a88d8da0b692a88d7a91a86084716b867392a8b6bacdd9cdd5dec1d4e2d2dee6 +d2dee6d2dee6c1d4e2bacdd9d2dee6c1d4e2d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6dfe1e6dfe1e6d2dee6d2dee6 +d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6d9e6eadfe1e6dfe1e6d2dee6d2dee6 +dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6cdd5dedfe1e6d2dee6d2dee6d2dee6cdd5dedfe1e6 +cdd5dedfe1e6d2dee6d2dee6d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d9e6ead2dee6d2dee6d2dee6dfe1e6d2dee6d4dcd0c1d4e2cdd5dea0b09f +92a75992a88d8ea0898ea0897c90537787727c905392a88d7d90827e98829ea08a +9ea88e8b98828b988294afa1a3b7a48ea089aec4d0cdd5debacdd99ea08aaec4d0 +b8c3c67d90826b86737c9053657c444b6933576b333f4e323f4e1e333522333522 +4960325474434b69333d5f25576a62667c74a4bfb5a3b7a4c1d4e2cdd5decdd5de +c1c4c7a3b7a4b8c1afc0cbb8c0cbb8afc0aba0b09fa4bb7e8ea059a3b7a4a3b7a4 +95af7aa3b7a4b0cbdcc0cbb8bacdd9d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6cccdccafb9bcbacdd98b98828b9882a1b1709ea88eafb09ea0b09f +b8c1afafb09e9ea88e87886d7787468b908095885c8b9080576b33576a624b6865 +608471709081a3b8bc465864587ca096b7ab96b7ab92a8b6577376496065637471 +afb9bcafb9bc49603247581f3a4423383c23576b33697c2b9d9981c0b8a6d2dee6 +cdd5ded2dee6bacdd98da0b6bacdd9cdd5de9ea9b48a99ab7a91a89ea08a637471 +383c232e3c44496032576b333f4e1e55602476872d68752b576b336f8f527e9882 +9ea88ebacdd9b8c3c6a3b7a4b8c3c69da1abaeb0bddcd6d6dcd6d6cfc6b88ea089 +547443657c445773767787726b85454b69334960323043213f4e32547443627444 +3f4e324b68657e98829fb0bb7e98828b9882b0cbdccdd5dedfe1e6d2dee6dfe1e6 +dfe1e6d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6dfe1e6d2dee6d2dee6 +bacdd9bacdd9cdd5dec1d4e2c5dae4afb9bcbacdd9d2dee6cdd5ded2dee6d2dee6 +cdd5deaec4d0c0cbb8a3b8bcafb9bcc0cbb8aec4d0aec4d0afb9bc7e988294afa1 +92a8b6bacdd9afb9bc81a0897e9882a3b8bc757c71496065576b3370908196b7ab +92a8b6b8c3c6bacdd9bacdd9cccdccc1d4e2cdd5de75889b92a8b6c5dae4c1d4e2 +afb9bca3b8bca3b8bc7d90827787726274444e5043475832657c446b8545475832 +c1d4e2c1d4e2c5dae4c1d4e2c1d4e2c1d4e2c1d4e2c1d4e2d2dee6c5dae4c5dae4 +c5dae4d2dee6c5dae4d2dee6c5dae4c5dae4d2dee6c1d4e2d2dee6c5dae4c5dae4 +c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6 +d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c1d4e2b8c3c6afb9bcb8c3c6 +c5dae4c5dae4d2dee6c5dae4d2dee6c5dae4d9e6eac5dae4d9e6eac5dae4d2dee6 +d9e6ead2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4c1d4e2 +94afa17090817090816b867360847160847194afb9c1d4e2bacdd9bacdd9d2dee6 +d2dee6d2dee6cdd5dec1d4e2d2dee6cdd5ded2dee6c5dae4d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6 +dfe1e6dfe1e6d9e6ead2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6dfe1e6 +d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d9e6ead2dee6 +dfe1e6d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6dfe1e6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6 +d2dee6d9e6ead2dee6d2dee6cdd5decdd5decdd5ded2dee6cdd5dec1d4e2afc0ab +b0b8a3a4bb7e8ea089a0b09f8ea0898b90557d90828ea0597c90537e98829ea88e +9ea08a8b98828a99ab8a99ab94afa17e98827d90829fb0bbc0cbb89fb0bbb0b8a3 +a4bfb577877292a88d7e98828c98535e7429657c4468752b5474434960323f4e32 +3d573b3c5822496065597c757090816886a695af7a9ea9b4c0cbb8cccdccb8c1af +b0b8a3c0cbb8afc0abc1c2aec0cbb8b0b8a38ea089afbf779ea88ea1b1709ea08a +81a089b0b8a3afc0abb8c3c6bacdd9d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6 +dfe1e6cdd5decdd5deafb9bc9ea88e8b9882778772657c446b854576872d778746 +767b477c90538b98828b98828c98538b988286874a7787468b90808da0b66b8673 +597c75a4bfb581a089576a6275889bbacdd9c1d4e2c1d4e28da0b675889b6b8673 +aec4d0a0b09f3f4e1e627444344d1e354c316b8545767b47ada17fc0b197cdd5de +c5dae4d2dee6c1d4e28b919faec4d0dfe1e69da1ab627d997d98b17e98827d9082 +5f61563a4423475832627444496032496032697c2b5f7b2a657c44a0b09fa0b09f +b8c1afbacdd9b8c1af9ea88e7c90538b9882c0cbb8dfe1e6c1c4c7cccdccb8c3c6 +6374713f4e3241671b41671b576b33576b333d573b354c313f4e1e4960323d5f25 +3d573b3d5f256b8673597c757d90828b9882b0cbdcd2dee6dcd6d6dfe1e6d2dee6 +dfe1e6d2dee6cccdccbacdd9d2dee6cdd5ded2dee6cdd5ded2dee6cdd5decdd5de +c1d4e2c1c4c7c1d4e2bacdd9b8c3c6afc0abb8c3c6bacdd9cccdccc1c4c7bacdd9 +b8c3c6afb9bcaec4d09fb0bbb0cbdcd2dee6d2dee6c5dae4c1d4e2a4bfb5aec4d0 +94afa194afa19fb0bb778772667c74547443637471667c74576a62778746618345 +709081aec4d0cdd5dec1c4c7bacdd9b8c3c6c1d4e29ea88ea4bfb5c1d4e2d2dee6 +cdd5dea3b8bcb0cbdc7d98b1709081657c44344d1e5560244758323f4e322f3c22 +c1d4e2c1d4e2c1d4e2cccdccbacdd9aec4d0bacdd9c5dae4c1d4e2c5dae4d2dee6 +c5dae4d2dee6c5dae4d2dee6cdd5ded2dee6d2dee6d2dee6c1d4e2c5dae4d2dee6 +c5dae4d2dee6d2dee6c5dae4d2dee6c1d4e2d2dee6d2dee6d2dee6c5dae4d2dee6 +d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c1d4e2cdd5deafc0abb8c3c6b8c3c6 +d2dee6d2dee6d2dee6d2dee6d9e6eac5dae4c5dae4d2dee6d2dee6d2dee6d2dee6 +c5dae4d2dee6d2dee6c5dae4d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d9e6ead2dee6d2dee6c5dae4d2dee6d9e6eac5dae4d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d9e6eacdd5dea3b8bc +96b7ab709081709081597c757e9882819fb79fb0bbbacdd99fb0bbaec4d0d2dee6 +cdd5dec1c4c7bacdd9b8c3c6c1d4e2b8c3c6cdd5ded2dee6d2dee6cdd5ded2dee6 +d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6d9e6ea +d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6 +d2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6 +d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d9e6ead9e6ead9e6ead2dee6 +d9e6ead2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6 +d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d9e6ead2dee6 +d2dee6d2dee6d2dee6d2dee6cdd5debacdd9afb9bcc0cbb8cdd5dec1d4e2afb9bc +b0b8a39ea88e8c98538ea0898c98538ea0899ea08a92a88d7f97538b98828ea089 +a0b09f9ea88e8b98827e98828da0b68ea0899da1ab8ea089afb9bcafc0aba3b7a4 +c1d4e2afc0aba0b09f81a0897f9753778746757b2d6274448c98538b9882576a62 +41671b344d1e3c58224b68656b86737090817c9053a0b09fcccdccb0b8a395af7a +c1cd99b8c1afb8c1afa4bb7eb8c1afafc0ab8ea089a1b170a1b17092a88d8ea059 +a1b170afc0ab95af7aa3b7a4c0cbb8c1d4e2d2dee6d2dee6cdd5decdd5ded2dee6 +d2dee6d2dee6dcd6d6bacdd98ea0898b9882667c7456603a56603a576a1f6b8545 +68752b77874686874a86874a767b47867c4c767b4768752b87886d8b9882757c71 +667c7481a0898ea08961834561834595af7aafc0abb8c1af7e9882709081626e8c +7e98827c9053576a1f3f4e1e333522333522547443767b47c4a979c0b8a6cdd5de +cdd5decdd5deb8c3c67d98b19fb0bbd2dee69da1ab7a91a8a3b8bc8a99ab7d9082 +7787726374716b86737787466274446274446b85458b9882b0b8a3c0cbb8d4dcd0 +cccdcc8b98827787728b98827d9082b0b8a3c1c2aeaeb0bddcd6d6cdd5deb8c3c6 +778772667c746b86737090814960653a4423304321354c3141671b4b69337c9053 +7090815773766f8f52576a62608471a3b8bcb8c3c6cdd5ded2dee6dfe1e6dfe1e6 +d2dee6dfe1e6dfe1e6d2dee6d2dee6d2dee6cdd5debacdd9c1c4c7b8c1afc1d4e2 +c1d4e2d2dee6d2dee6cdd5dec1d4e29ea88eb0b8a3afb09ea3b8bcaec4d0c1c4c7 +bacdd9b0cbdcbacdd9a3b8bcbacdd9dfe1e6d4dcd0cdd5dec1d4e2cdd5deb8c3c6 +92a8b68a99ab7d90828ea0896b86734960324b6933657c44667c74637471657c44 +b0cbdcd2dee6d2dee6aeb0bdbacdd9aec4d0b8c3c681a08992a88db2d2e0d2dee6 +d2dee6c5dae4c5dae46b86736274446f8f52618345657c444960323d5f2547581f +c1d4e2c1d4e2bacdd9b8c3c6bacdd9bacdd9c1d4e2c1d4e2d2dee6c5dae4c5dae4 +d2dee6c1d4e2d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6 +c5dae4d9e6eac5dae4c1d4e2d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6 +d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4 +d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6eac5dae4d2dee6d2dee6c5dae4 +d9e6eac5dae4c5dae4d9e6ead9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d9e6eac5dae4d2dee6d2dee6cdd5ded2dee6d2dee6cdd5deb0cbdc +92a8b6608471618345547443597c758da0b6c5dae4aec4d09ea9b4afb9bcd2dee6 +d2dee6bacdd9afb9bcafb9bca4bfb5c1d4e2d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d9e6ead2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6 +d2dee6d2dee6d2dee6dfe1e6d9e6ead2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6 +dfe1e6d9e6ead2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6 +d2dee6dfe1e6dfe1e6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6dfe1e6cdd5ded2dee6d2dee6d2dee6dcd6d6dfe1e6d2dee6 +d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6cdd5ded2dee6d2dee6 +d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +dfe1e6d2dee6d2dee6dfe1e6d2dee6d4dcd0afc0aba3b7a4afb9bcb8c1afb0b8a3 +a0b09f95af7a8ea059819f597e98828c98538ea059a1b17081a0897e988292a88d +afc0ab94afa1afb9bc92a88d7d908292a88d8ea0898b988294afa19ea88e9da1ab +c0cbb8c1d4e2a3b7a48c9853767b47576b3368752b5e74297c90538ea059778746 +5f7b2a4960323d573b60847192a88d4b69336b854595af7aa1b170b0b86ca4bb7e +afc0abafbf77afc0aba4bb7eb0b8a3c1cd999ea88e9ea88e8ea059a4bb7e8ea059 +b0b8a38c985392a75992a88db8c3c6c1d4e2cdd5decdd5decccdcccdd5decdd5de +d2dee6dfe1e6d2dee6d2dee6c1d4e2afc0ab92a88d57737677877277877268752b +697c2b8b90558b90558b9055576b336274448b905586874a87886d9e98539ea08a +86874a757b2d7787465e74296f8f526274446b85456b85456274443f4e322f3c22 +4960327b9034767b472b3322272c1f272c1f3f4e1e87886dd8c291c0b8a6c0b8a6 +afb9bc9da1ab8488877a91a875889b8a99ab8a99ab8a99ab9ea9b48a99ab75889b +626e8c778772667c74576a62576b33627444576b33778772b0b8a3c1c2ae9ea88e +8b9055576a1f4b69336f8f52a0b09f9ea88ea0b09f8b98829fb0bbcccdcccccdcc +a3b8bc7090817a91a88b919f7787723a44234758326274445474433d5f25608471 +667c744b69333d573b5474436084717e9882aec4d0cdd5dedfe1e6c5dae4cdd5de +d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6cdd5dec1d4e2c1c4c7cdd5dec1c4c7 +b8c3c6c1d4e2afc0abbacdd9cccdcc92a88d9ea88eb8c3c6b0b8a3b8c3c6d4dcd0 +d2dee6d2dee6c5dae4afc0abbacdd9cdd5debacdd9bacdd9afb9bcaec4d0afb9bc +8da0b6757c717d908275889b667c744b6865496032608471657c444b69337d9082 +a4bfb5a3b8bcc1d4e2afb9bccdd5dec1d4e2a0b09f77877277877292a8b6b8c3c6 +d2dee6cdd5decdd5de92a88d597c757b90346f8f526b85456b85455f7b2a627444 +c5dae4c1d4e2bacdd9c1d4e2cdd5decdd5ded2dee6c5dae4d2dee6c5dae4c5dae4 +c5dae4cdd5dec5dae4c5dae4c5dae4c5dae4c5dae4cdd5ded2dee6c5dae4d2dee6 +d2dee6c5dae4c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +cdd5dec5dae4cdd5ded2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6 +c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4d9e6ead2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6aec4d0a0b09f +7e9882597c75597c75547443597c75597c75bacdd99fb0bba5c4d7c1d4e2d2dee6 +d2dee6d2dee6b0cbdcaec4d0b8c3c6c5dae4d2dee6c5dae4d2dee6d2dee6dfe1e6 +d2dee6d9e6ead2dee6dfe1e6d2dee6d2dee6d9e6ead2dee6d2dee6d9e6ead9e6ea +d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6 +d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6dfe1e6cdd5dedfe1e6dfe1e6cdd5de +d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6 +dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6 +d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d9e6ead2dee6d2dee6 +dfe1e6d2dee6dfe1e6d2dee6d9e6ead2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6 +d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d9e6ead2dee6dfe1e6 +d2dee6d2dee6d2dee6d2dee6dfe1e6d4dcd0cdd5dec0cbb8afc0aba3b7a48b9882 +9ea88e8b90807c90538ea0897f97536b86738ea0898ea0598b988294afa19ea9b4 +a0b09f9fb0bba0b09f9fb0bba3b7a4a0b09fafc0ab9fb0bba0b09f92a88d81a089 +bacdd9bacdd9a0b09f7d9082657c44778746757b2d657c447787468c98536f8f52 +496032344d1e3d5f256f8f5281a0896b85456b85457f9753a0b09fa1b170afbf77 +b0b8a3a1b170afc0aba1b170a4bb7eafbf7792a88d92a88d9ea88eafb09e8ea089 +8c985392a88da4bb7e92a88da0b09fb8c3c6c1c4c7cdd5ded2dee6d2dee6d9e6ea +d2dee6d2dee6d2dee6dfe1e6d2dee6cdd5dec1d4e2c0cbb8b0cbdca0b09f92a88d +767b478b90558c98539a9178767b47627444857d67767b47767b4777874687886d +86874a8b905575704d68752b5e74294b693349601f5e7429576b334960323f4e1e +576b335f7b2a49601f44362324261c342d1f3336428b9055c0b197c0b19787886d +8b919f9ea9b4757c71667c74637471576a627a91a8666c5e627d998b988254605f +6374714b68653f4e326374717787467c90537787467d90828b90557c9053757b2d +697c2b5e74294960324b69336183457787728b9882b0b8a38ea089aeb0bdafb9bc +c0cbb8cccdcc94afa163747156603a576b33576b33567f3a47581f49601f657c44 +547443354c313d5f256f8f5281a089aec4d0cdd5ded2dee6a3b8bcafb9bcd2dee6 +d2dee6dfe1e6d2dee6cdd5ded2dee6cdd5decccdccd2dee6d2dee6cdd5dec1d4e2 +aec4d0b8c3c6afb9bcafc0abafc0aba0b09f94afa1a0b09fa4bfb5c1d4e2c0cbb8 +c1d4e2bacdd9c1d4e2aeb0bdd9e6eabacdd9a3b8bcc1d4e29fb0bbaec4d09fb0bb +7d908292a8b67d90828da0b692a8b6778772547443576b3349601f657c447d9082 +94afa18a99abafc0abc1c4c7b0cbdc8a99ab8b9882547443597c7596b7aba3b8bc +afb9bcc5dae4aec4d08ea0897787467c9053708f317f97537c90535474433f4e1e +c5dae4c1d4e2cdd5decdd5dec5dae4c5dae4c5dae4c5dae4cdd5ded2dee6c5dae4 +d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6cdd5ded2dee6cdd5ded2dee6 +d2dee6cdd5ded2dee6d2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d2dee6d9e6ea +c5dae4d2dee6d2dee6c5dae4d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ea +d2dee6d2dee6d2dee6d9e6eac5dae4d9e6ead9e6ead2dee6d9e6ead2dee6d2dee6 +d9e6ead9e6eac5dae4d2dee6c5dae4d9e6ead2dee6d9e6ead2dee6c5dae4d2dee6 +d9e6eac5dae4d2dee6d2dee6d2dee6d2dee6b8c3c6c1d4e2cdd5de9fb0bb9fb0bb +94afa15474434b68654b69334b68656b867394afb99fb0bbb0cbdcc1d4e2dfe1e6 +d2dee6d2dee6cdd5dec1c4c7bacdd9cccdccd2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d9e6ead9e6ead2dee6d9e6ea +d9e6ead9e6ead9e6ead2dee6dfe1e6dfe1e6d9e6eadfe1e6d2dee6d2dee6d2dee6 +d2dee6dfe1e6d2dee6d9e6ead2dee6d9e6ead9e6eadfe1e6d2dee6dfe1e6dfe1e6 +dfe1e6dfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6dfe1e6 +dfe1e6d2dee6dfe1e6d2dee6dfe1e6d9e6ead2dee6d2dee6dfe1e6d2dee6dfe1e6 +d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6cdd5de +d2dee6d2dee6dfe1e6d2dee6d9e6ead2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6 +d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6d2dee6dfe1e6d2dee6 +dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6aec4d0afc0aba3b7a481a089 +92a88da1b1708b9080a0b09f81a0897e98828ea089afb09e92a88dbacdd9a3b7a4 +afc0aba4bfb5c1c4c7a0b09fa0b09f92a8b6b8c3c6a3b8bc94afa1afb9bc81a089 +a0b09fbacdd99ea88e8b98828b90557c9053697c2b4b6933627444767b475e7429 +3d5f25354c314b69335474435474286b8545627444719753afc0aba3b7a4a4bb7e +9fa8578c985395af7a8ea0899fa857a0b09f8c985392a75992a7599ea88e7c9053 +8b9882a1b170a4bb7e92a7598ea089a3b7a4b8c3c6cdd5decdd5decccdccc5dae4 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d4dcd0d2dee6cdd5decdd5de +8b98828b98828c98538b908095885c86874a857d67857d67757c714c502675704d +767b4775704d8b9080767b47496032547443576b333f4e32576b334b681e49601f +49601f576b333a4423342d1f24261c342d1f2b3322576b3395885cafb09e9a9178 +757c71666c5e626e8c627d998a99ab92a8b6aec4d094afb996b7aba3b8bc778772 +7d9082496032637471666c5e7787468c9853767b477f9753657c445e74295e7429 +656c26475832496032496032576a62a3b7a48b9882a4bfb5a3b8bc8b9882576a62 +8b9882c0cbb8afc0ab6b86735474286b85456b85454b69333d5f253c58223d5f25 +4b69334b6933597c7581a089b2d2e0cdd5decccdcc9da1ab92a8b6c1d4e2d2dee6 +d2dee6dfe1e6cccdcccdd5dec1c4c7b8c3c6c1c4c7c1d4e2cdd5debacdd9b8c3c6 +a3b7a4a0b09f92a88d8ea089a0b09fafc0ab96b7aba0b09fbacdd9c1d4e2b8c3c6 +afb9bca4bfb5b8c3c6c5dae4dfe1e6cdd5dec1d4e2afb9bcb8c3c6bacdd992a8b6 +81a089a4bfb5a4bfb5a4bfb5bacdd97d90826183456b8545657c446b867392a88d +a0b09f7d90827d9082afb9bca3b8bc92a8b6667c744b69335e742970908194afa1 +a4bfb5c5dae4afb9bc7d9082627444576b336b85457c9053666b3b3f4e1e496032 +cdd5dec5dae4c5dae4c5dae4d2dee6c5dae4c5dae4d2dee6c5dae4cdd5ded2dee6 +c1d4e2d2dee6c5dae4c5dae4c5dae4d2dee6d2dee6d2dee6c5dae4c5dae4d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6c5dae4 +d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d9e6eac5dae4d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6 +d9e6eac5dae4d9e6ead9e6ead2dee6d2dee6c5dae4d9e6ead2dee6d2dee6d2dee6 +d2dee6d2dee6d9e6ead2dee6d9e6ead9e6eac5dae4d9e6ead2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6b8c3c6aec4d0c5dae494afa18da0b6 +81a0896084713d573b354c31496032667c7470908194afb9a3b8bcafb9bcd2dee6 +d2dee6d2dee6c1d4e2cccdccc1d4e2c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6 +d9e6ead9e6ead9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d9e6ead2dee6d2dee6d2dee6d9e6eacdd5dedfe1e6dfe1e6d2dee6d2dee6 +dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6cdd5dedfe1e6d2dee6d2dee6d2dee6 +d2dee6d2dee6dfe1e6d2dee6dfe1e6d9e6ead2dee6d2dee6dfe1e6dfe1e6dfe1e6 +d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d9e6ead2dee6d2dee6 +d2dee6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6dfe1e6 +dfe1e6dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d2dee6 +dfe1e6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d9e6eadfe1e6d2dee6dfe1e6 +d9e6eadfe1e6d2dee6d2dee6d9e6ead2dee6d2dee6b8c1afa3b8bcb8c3c6b8c1af +a0b09f9ea88e9ea88eb0b8a38ea089b0b8a39ea88ea0b09f8ea0899da1aba0b09f +a0b09fa3b7a4afc0abb8c3c6a0b09fa3b7a4afc0abafb9bcafc0abafc0ab9da1ab +7e9882b0b8a394afa1a0b09f7c9053778746576b3347581f4b681e5f7b2a4b6933 +547428496032496032304321657c4492a7598ea089a3b7a4c0cbb8b8c1af92a88d +8ea059819f598ea05992a88d8ea089a1b1708b988292a7598ea0598c98538ea059 +81a089a1b17092a88d95af7a8ea059a0b09fcdd5decdd5decdd5decdd5ded2dee6 +dfe1e6d2dee6d9e6ead2dee6d2dee6d2dee6dfe1e6dcd6d6d2dee6d4dcd0d4dcd0 +cdd5de8ea0898ea0898b98828ea0898b988286874a8c985384888756603a7d9082 +757c71576b3362744487886d778772a0b09f8ea0895474436274443f4e1e475832 +4960325e7429354c313d4f56333522272c1f2b33225658389f9154c0b8a6ada17f +565838394446383c23333522394446666c5e77877275889b8a99ab7d9082757c71 +657c444b69337787728b9882627444778772767b478b9882778772657c44576b33 +576b33344d1e63747177877294afb9c0cbb89fb0bbb0b8a37d9082657c444b6865 +4b6933709081a0b09f618345657c44719753576b33344d1e4b6933496032475832 +567f3a6f8f52618345709081a4bfb5a3b7a4778772608471a3b8bccdd5dedfe1e6 +d2dee6d2dee6aec4d0cccdccaec4d0afb9bcb8c3c6b8c3c6aec4d0b8c3c692a88d +8b98828b98828ea0598ea08992a88d8ea089a0b09fa3b8bca4bfb5bacdd9afc0ab +a3b8bcaec4d0b0cbdccdd5ded2dee6d2dee6bacdd9a3b8bcc1d4e2cdd5dea0b09f +81a089b0cbdcafb9bc7d90827e98827e9882819f598c98538c98537c90538b9080 +6274446274447090819ea88e7e98828ea08975704d56603a496032567f3a92a8b6 +8da0b692a8b68ea089637471576b334b6933576a1f767b4768752b576b335e7429 +c1d4e2cdd5ded2dee6c1d4e2d2dee6d2dee6c1d4e2d2dee6c5dae4cdd5dec1d4e2 +bacdd9cccdccd2dee6d2dee6c5dae4d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6 +d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d2dee6c5dae4 +d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d9e6ead2dee6d9e6ea +d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead9e6ead2dee6d9e6ea +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6bacdd992a8b6b2d2e07e9882709081 +9fb0bb6b86733d5f253d573b5474436b867381a0897d98b175889b8da0b6c5dae4 +c1d4e2d4dcd0c1d4e2afb9bcbacdd9b8c3c6cdd5ded2dee6d2dee6dfe1e6d2dee6 +d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d9e6ea +d2dee6dfe1e6d9e6ead9e6ead2dee6dfe1e6d2dee6d9e6ead2dee6dfe1e6d9e6ea +d2dee6d2dee6d9e6ead2dee6dfe1e6d2dee6d9e6ead2dee6dfe1e6dfe1e6dfe1e6 +dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d9e6ead9e6ead9e6ead2dee6 +dfe1e6e0e6e8dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6 +d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6cdd5dedfe1e6d2dee6dfe1e6 +d2dee6d2dee6dcd6d6dfe1e6d2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6 +d9e6ead2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6 +d9e6ead2dee6cccdcccccdccd2dee6d2dee6d2dee6b8c3c6aec4d0b0b8a3b8c3c6 +afc0aba0b09f8ea05992a88d8c985395af7a8ea0898ea05992a88d9ea88eafb09e +9ea88e9ea88eafb9bcb8c3c6b8c3c6b8c3c6bacdd9cccdccb8c3c6a3b8bc8da0b6 +70908177877295af7a8ea0897c90535e74294b69334b6933697c2b5f7b2a5e7429 +41671b576b334758322f3c224b69336f8f529fb0bbb8c3c6afc0aba0b09fa4bb7e +a0b09f95af7a8ea0599ea88e95af7a92a7597787468c9853a1b1708ea0899fa056 +92a88d92a88d95af7a7f97537787728ea089bacdd9cccdccd2dee6cdd5ded2dee6 +d2dee6d2dee6dfe1e6dfe1e6d4dcd0d2dee6d9e6ead2dee6d2dee6d2dee6dfe1e6 +dfe1e6bacdd9cdd5deb8c1afaba9a69ea88e9a91788b9882778772757c71c0cbb8 +8ea0896374718b9882767b47757c71b8c3c6b0b8a3757c71657c443d5f253c5822 +354c31576b33475832666c5e4e5043262e353335224c5026857d67aea886ada17f +5f61565f6156394446394446333522262e35262e35342d1f3336423a4423576b33 +576b334960327a91a8a0b09fb0b8a3a0b09f778772657c447e98826b8673667c74 +496065576a62a3b7a4c1d4e2cdd5dedfe1e6cdd5deb8c1af7d90826374713d5f25 +3f4e323d5f25547443657c445474434b69333c58223c58224973233c58223a4423 +3d5f2557737692a88d6b85456f8f526b86736b8545a3b8bcd2dee6d2dee6dfe1e6 +dfe1e6d2dee6aec4d0c1c4c7bacdd9c1c4c7bacdd9b8c3c6afb9bcafc0aba0b09f +8ea0898ea05992a7598ea0598ea0596b86739ea08aa3b7a4a4bfb5b8c3c6b8c1af +9ea88ea4bfb5bacdd9b8c1afaec4d0cdd5deafb9bcaec4d08ea08994afa18ea089 +7e9882a4bfb5afc0ab8b98827e98827c90536b85456b852c76872d778746657c44 +54742861834594afa181a08981a0896f8f52697c2b576b3354744381a089709081 +6b8673667c746374716b8545666b3b618345576b33767b4768752b857d67576b33 +c1d4e2c5dae4d2dee6c5dae4c5dae4cdd5ded2dee6c5dae4d2dee6cdd5decdd5de +bacdd9c1d4e2c1d4e2d2dee6d2dee6c5dae4d2dee6cdd5dec5dae4d2dee6d2dee6 +d2dee6c5dae4d2dee6d2dee6d2dee6d9e6ead9e6ead2dee6d2dee6d2dee6d2dee6 +d2dee6c5dae4d9e6eac5dae4d9e6ead2dee6d2dee6d2dee6d9e6ead2dee6d2dee6 +c5dae4d9e6ead2dee6c5dae4d9e6ead2dee6d2dee6d2dee6d2dee6d9e6ead2dee6 +d2dee6d9e6ead9e6ead9e6ead9e6ead2dee6d9e6ead2dee6d2dee6d9e6ead2dee6 +d9e6ead2dee6d9e6ead2dee6d9e6ead9e6ead2dee6d2dee6c5dae4d9e6ead9e6ea +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c0cbb8afb9bcb2d2e096b7ab709081 +81a0897090815474433c58226274445474437e988281a089819fb7a4bfb5d2dee6 +bacdd9a3b8bcafb9bc8da0b6a3b8bcc5dae4d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead9e6ead9e6ea +d9e6ead2dee6dfe1e6d2dee6d9e6eadfe1e6dfe1e6d9e6eadfe1e6d2dee6d9e6ea +d2dee6d9e6ead2dee6dfe1e6d9e6ead2dee6d2dee6d2dee6d9e6ead2dee6d9e6ea +dfe1e6d2dee6d9e6eadfe1e6dfe1e6d2dee6d2dee6dfe1e6dfe1e6d2dee6dfe1e6 +d2dee6d9e6ead9e6eadfe1e6dfe1e6d9e6eadfe1e6dfe1e6d2dee6d2dee6dfe1e6 +dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6 +d2dee6dfe1e6d9e6eadfe1e6dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6d9e6ea +d2dee6d9e6eadfe1e6d2dee6d9e6ead2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6 +dfe1e6d2dee6cdd5debacdd9d2dee6d9e6eacdd5dec0cbb8a3b7a4bacdd9b0b8a3 +92a88d8b988286874a8b90557c90537787727c90537c90538c98538b98828ea089 +8ea0598ea089a0b09fa0b09fcccdccd4dcd0bacdd9aec4d0afc0abafb9bcc0cbb8 +95af7a8ea089a0b09f7c905362744468752b68752b576a1f657c4449601f354c31 +304321354c312f3c223d573b5474436f8f52aec4d0afc0aba0b09f8ea05992a88d +8ea0899fa85792a759a4bb7e95af7a92a7599ea88e92a7598ea0598c98538ea089 +92a88d8b98826b8545667c74597c7592a88d94afa1b0b8a3b8c3c6d2dee6d2dee6 +d2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6d4dcd0dfe1e6cdd5ded4dcd0d2dee6 +dcd6d6d2dee6dfe1e6d4dcd0cccdccb0b8a3aea8869ea08a8b90809ea9b4c1d4e2 +cdd5deb8c3c6a0b09f857d67666c5e8b98829ea08a7d9082547443666c5e627444 +3f4e32576b33637471757c71394446342d1f2f3c223f4e328b9055aea8869a9178 +767b4787886d5f6156373e4333352233352224261c272c1f2b33223a4423576b33 +6183458ea089cdd5debacdd9cdd5deafb9bc8b9882667c747787729ea9b494afa1 +94afa1afb9bccccdccd2dee6dfe1e6dfe1e6dfe1e6cdd5de8da0b692a88d576a62 +496032576b33576b335474286274444b693347581f657c444b69332f3c222a3438 +3d5f254b6933657c444b69334b681e597c75a4bfb5d2dee6d2dee6d9e6eadfe1e6 +d2dee6d2dee6cdd5ded2dee6cdd5ded2dee6dfe1e6bacdd9aec4d0aec4d0afb9bc +b8c3c68b98827c905381a08992a88d81a08994afa1a0b09fb0b8a3afc0abafc0ab +a0b09fa0b09f9ea88e8a99ab8ea0898a99ab94afb981a0898da0b692a88d7e9882 +8ea08994afa19fb0bb94afa1a4bfb581a0896b8545576b33767b47767b47778746 +7f9753709081a4bfb5aec4d0778772576a625e74294b69335474287d9082627444 +657c44637471576b336f8f526274445e7429657c44767b47666b3b576b336b8545 +cdd5dec5dae4d2dee6c5dae4c5dae4cdd5ded2dee6d2dee6c5dae4c5dae4d2dee6 +d9e6eacdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d9e6ead2dee6c5dae4d2dee6c5dae4d2dee6c5dae4d9e6eac5dae4d2dee6d2dee6 +d2dee6c5dae4d2dee6d2dee6c5dae4d9e6eac5dae4d2dee6d2dee6c5dae4d9e6ea +d2dee6d9e6ead9e6eac5dae4d9e6ead2dee6d9e6ead9e6ead2dee6d9e6ead2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead9e6ead2dee6d2dee6d9e6ea +d9e6ead2dee6d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6 +d9e6ead2dee6d9e6ead2dee6d9e6ead2dee6b8c3c6a3b8bca4bfb5a4bfb592a8b6 +6f8f5281a089608471547443657c445474437090816886a6b0cbdcc1d4e2b8c3c6 +bacdd9aec4d07d90827e9882aec4d0c1d4e2d2dee6d2dee6d2dee6d2dee6dfe1e6 +d2dee6d2dee6d2dee6d9e6eadfe1e6d2dee6d2dee6d2dee6d9e6ead9e6ead2dee6 +d2dee6d9e6ead2dee6d9e6ead9e6ead2dee6dfe1e6d2dee6dfe1e6d2dee6d9e6ea +d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6dfe1e6d9e6ead2dee6d2dee6d2dee6 +dfe1e6d2dee6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6 +d2dee6dfe1e6dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6dfe1e6 +d9e6ead2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6dcd6d6dfe1e6 +d2dee6d2dee6d2dee6cdd5dedfe1e6dfe1e6dfe1e6d2dee6dcd6d6d9e6ead2dee6 +d2dee6d2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6dfe1e6d9e6eadfe1e6d9e6ea +d2dee6dfe1e6cccdccbacdd9c1c4c7d4dcd0d4dcd0b8c1afb0b8a3a3b7a495af7a +8b98828b905577877277874687886d92a88d7e98826b85456f8f527d90829ea88e +9ea88e8b98828ea089a3b8bcb8c3c6c1c4c7c1c4c7afc0abb8c3c6a3b8bcc1d4e2 +afc0abb0b8a39ea88e8b9055666b3b5474434758324960326b8545576b33304321 +3c58222f3c22304321547443657c447e9882afc0ab92a88d92a7598ea05992a759 +7f97538ea05992a759a1b1707787466f8f5292a7598ea0597c90538c98537c9053 +8ea0898ea05992a88d7e98826b8673aec4d0a0b09fafc0abafc0abcdd5ded2dee6 +d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6cdd5deafb9bcafc0ab +d4dcd0d2dee6dfe1e6e0e6e8dfe1e6b8c1afafb09e9d9981757c71aeb0bdcdd5de +dcd6d6d2dee6bacdd99ea08a667c74a0b09fafb9bc9ea88e7787726274445f6156 +767b47666b3b354c31465864373e43333522333642383c235f61569d99819f9154 +667c749da1ab9ea9b44e5043383c23333522342d1f2b33223f4e324b6933627444 +778772aec4d0d4dcd0cdd5decdd5dedfe1e6afb9bc757c717e9882b8c3c6d2dee6 +d2dee6d2dee6e0e6e8dfe1e6cdd5decdd5dedfe1e6d2dee6d4dcd09fb0bb637471 +4b6865354c31344d1e344d1e344d1e344d1e47583247581f2f3c223a4423333522 +354c314b69333d5f25547443576a6292a88da4bfb5c1d4e2d2dee6d2dee6dfe1e6 +d2dee6d2dee6d2dee6d2dee6dcd6d6c1d4e2cccdccbacdd9bacdd9a3b8bcbacdd9 +bacdd9afb9bca0b09fb0b8a39ea88e8ea089b0b8a38ea08992a88d8ea0598ea059 +8b988281a0898b98828ea089a4bfb592a88da0b09fa0b09fb0b8a38b98827c9053 +6b86737787727d98b194afa18ea0897e9882767b47496032576b33556024555824 +778746778772a0b09faeb0bda0b09f757c71576b33576b334b6933576b33767b47 +667c747787466274446b8545767b475e7429657c44778746556024496032576b33 +c5dae4c1d4e2d2dee6cdd5ded2dee6d2dee6cdd5ded2dee6c1d4e2d2dee6d2dee6 +c1d4e2d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d9e6ea +d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d9e6ead9e6ea +d2dee6c5dae4b2d2e0d9e6ead2dee6d2dee6c5dae4d9e6ead9e6eac5dae4d2dee6 +c5dae4d2dee6d2dee6d9e6eac5dae4d9e6ead2dee6d2dee6d2dee6d2dee6d9e6ea +d9e6ead2dee6d2dee6d2dee6d9e6ead9e6ead2dee6d2dee6d9e6ead9e6ead2dee6 +d2dee6d9e6ead2dee6d9e6ead9e6ead2dee6d9e6ead2dee6d9e6ead2dee6c5dae4 +d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6c1d4e29fb0bb92a8b67090816b8673 +567f3a6b86734b6933567f3a5474434b6933577376819fb79ea9b4aec4d092a88d +c1d4e2a5c4d770908181a089a5c4d7cdd5dedfe1e6d2dee6dfe1e6d2dee6d2dee6 +d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6e0e6e8d2dee6d9e6ead9e6ea +d2dee6dfe1e6d2dee6d9e6ead2dee6e0e6e8d2dee6dfe1e6d9e6eadfe1e6d2dee6 +d9e6ead9e6eae0e6e8d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6d9e6ea +d2dee6dfe1e6d9e6eadfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d9e6ea +dfe1e6d9e6eadfe1e6e0e6e8dfe1e6e0e6e8d2dee6dfe1e6dfe1e6dfe1e6dfe1e6 +d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d9e6eadfe1e6 +d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6 +d2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6 +d2dee6d2dee6cdd5deb8c1afafb9bcbacdd9cdd5deafc0abb0b8a3b0b8a392a88d +7f97539ea88e9ea88e8ea0598b98828ea0897c90537787468ea059778772a0b09f +cccdcca0b09f94afa194afa1b8c3c6afc0abc1d4e2b8c3c6afc0abcdd5decdd5de +afb9bcb8c3c69fb0bb8ea0898b98827787465474433f4e1e576b3347581f475832 +4960324b69335474436b854592a88dc0cbb8b0b8a3819f598ea089a0b09f92a759 +7c90536f8f528c98538c98537c90538c98538c98538c9853657c447f9753778746 +6274446b854592a88d8ea0898ea089a0b09fafb9bcc0cbb8c1d4e2d2dee6dfe1e6 +d2dee6d2dee6dfe1e6d2dee6dfe1e6cdd5dec1c4c7dfe1e6d2dee6afc0ab8b9080 +8ea089b0b8a3c1d4e2d4dcd0dcd6d6c1c4c7cccdccb8c3c69da1abc1c2aeb8c1af +dcd6d6d4dcd0cdd5decccdccaec4d0cdd5debacdd9c0cbb8b8c3c66374713f4e32 +778772757c71576b335f61564e50434e50435f61565f6156574f2686874aa1b170 +8b9055afb9bcc0b8a663747156603a394446576a623d573b7d90826b854547581f +637471c0cbb8bacdd9aeb0bdafb9bccdd5de9ea9b492a8b6757c7192a8b6dcd6d6 +dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6c1c4c7b8c3c6cdd5ded4dcd0b8c3c692a88d +a3b8bc576a624658644b6865657c445474284b69334758322b33222f3c222a3438 +354c314973237090817090817090816f8faea3b8bcc1d4e2c1c4c7cdd5ded2dee6 +d2dee6dfe1e6d2dee6dfe1e6cdd5deb8c1af9fb0bbb8c1afd2dee6bacdd9cdd5de +cdd5deb8c3c67e98828ea0598ea0898ea0597e988292a75992a88d8ea0896f8f52 +7c9053a4bfb581a0898ea08992a88d9ea88e8ea0898ea089afc0ab8b98826b8545 +6b854561834594afa1a4bfb57e9882627444576b33576b33576b33657c44576b33 +757c7192a8b68a99ab81a089778772666b3b657c4462744456603a62744468752b +657c44576a625e74297787466274445e74295f7b2a656c26556024576b33576b33 +d2dee6c5dae4d2dee6c1d4e2c5dae4c5dae4cdd5ded2dee6d2dee6c5dae4d2dee6 +d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6 +d2dee6d2dee6b0cbdcc5dae4d2dee6d2dee6d2dee6c5dae4d9e6eac5dae4d9e6ea +d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6 +d9e6ead9e6ead9e6ead2dee6d2dee6d9e6ead9e6eac5dae4d2dee6d9e6eac5dae4 +d2dee6d9e6ead2dee6c5dae4d2dee6d9e6ead2dee6d2dee6d2dee6d9e6ead2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6bacdd99fb0bb96b7ab608471597c75 +6b86735474284b69334b69333d573b3d573b49603281a089a3b8bc94afb9a3b8bc +c1d4e2afc0ab96b7ab94afb9c1d4e2cdd5decdd5decccdccd2dee6d2dee6d2dee6 +d9e6ead2dee6d2dee6d2dee6d2dee6d9e6eadfe1e6dfe1e6d2dee6d2dee6d2dee6 +d9e6ead9e6ead2dee6d9e6ead9e6eadfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6 +d2dee6d9e6eadfe1e6d2dee6dfe1e6dfe1e6d9e6ead2dee6d9e6ead9e6ead2dee6 +d2dee6dfe1e6d2dee6d9e6ead2dee6d9e6ead9e6ead2dee6dfe1e6d2dee6dfe1e6 +d9e6ead2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6 +d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6 +dfe1e6d2dee6dfe1e6dfe1e6d2dee6d2dee6dcd6d6dfe1e6dfe1e6d2dee6dfe1e6 +d2dee6dfe1e6d2dee6d9e6ead2dee6dfe1e6dfe1e6d9e6eadfe1e6d2dee6dfe1e6 +d4dcd0c5dae4cdd5deb0b8a3b8c3c6c0cbb8b8c3c6b0b8a3b0b8a3a0b09f8ea059 +7787467e98828b90808b90558b98827d9082657c446183457c90538b9882afb09e +cccdccc1c2ae8b98828a99ab9fb0bbb8c3c6c1c4c7b8c3c6d2dee6d2dee6c1c4c7 +b8c3c6bacdd9b0b8a38b9882848887767b47576b333a44233f4e32344d1e475832 +47581f7787466f8f526f8f5292a88dafbf77a1b1708c9853a1b170a4bb7e9fa857 +8c985392a7598c98538c985392a88d7f97536b85457c9053767b477c90538ea059 +767b476b85456f8f528b98827787468b9882a0b09fa3b7a4c1d4e2d4dcd0d2dee6 +dfe1e6d2dee6d2dee6dcd6d6dfe1e6d2dee6bacdd9dcd6d6d2dee6b8c3c67d9082 +7090816b86738488877e98828b919f8a99ababa9a6b8c3c6aba9a6aeb0bdb8c3c6 +c0b8a6c1c4c7c1c4c7afb9bcaeb0bd8488878b919f637471757c71576b33637471 +92a88d8b98826b8673576a623d4f565f61564e50433944464e5043766e2d8c9853 +7c90538ea089afb09e7d90824960326374715f6156667c74a0b09f657c445e7429 +5474439ea9b4c1c4c79d9981757c719fb0bbc1c4c79fb0bb9fb0bbcdd5ded4dcd0 +dfe1e6dfe1e6dfe1e6dfe1e6d2dee6cdd5dea0b09fa0b09fb8c3c6bacdd9b8c3c6 +a5c4d792a88d576a627197535f7b2a354c313f4e32354c313c5822496032344d1e +4b69335773766084714b68654b6933709081a4bfb58da0b6b8c3c6d2dee6d2dee6 +d2dee6cdd5dedfe1e6d2dee6bacdd9c1c4c7aec4d0a0b09fb8c3c6c1d4e2bacdd9 +c0cbb8afc0ab7d90827e98828c98538c98537d90828c985392a88d8c98537e9882 +a3b7a4a0b09f8ea08992a88d8c98537c90537e98828ea05992a88d8c9853778746 +627444819f5992a88da4bfb592a88d666c5e3f4e1e4960326274446b854556603a +6374718b98827787727d9082667c74576b33697c2b576b33576b33627444627444 +7c9053576b336b8545576b33576b334b69335474435e7429576b33657c44576b33 +c1d4e2d2dee6c5dae4d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6 +c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6 +d2dee6a3b8bc92a8b6a5c4d7c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ea +d2dee6c5dae4d9e6eac5dae4d9e6ead2dee6d2dee6d2dee6d9e6ead2dee6d9e6ea +d9e6ead9e6ead9e6ead9e6ead9e6ead2dee6d9e6ead2dee6d9e6ead2dee6d2dee6 +d9e6ead2dee6d9e6ead2dee6d9e6ead2dee6d2dee6a5c4d792a8b66b8673547443 +567f3a597c754973235474433d573b3d5f254b69336b8673819fb7a3b8bc92a8b6 +b0cbdc8b9882709081a4bfb5a3b8bc8da0b69fb0bbc1d4e2d2dee6d2dee6d9e6ea +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead9e6ea +d2dee6d2dee6dfe1e6d2dee6d9e6ead9e6ead9e6eadfe1e6d9e6ead2dee6dfe1e6 +dfe1e6d9e6ead2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6d9e6ea +d2dee6dfe1e6d2dee6d9e6ead9e6ead2dee6d9e6eadfe1e6dfe1e6d2dee6dfe1e6 +d2dee6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6d2dee6 +dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6 +dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d9e6ead2dee6dfe1e6dfe1e6d2dee6 +d9e6ead9e6ead9e6ead2dee6d9e6ead2dee6d9e6ead2dee6dfe1e6d2dee6d4dcd0 +afc0abb8c3c6afc0aba4bfb5b0b8a3a0b09fa3b7a4b0b8a3afb09ea0b09f8b9882 +7c90537d90827c90536b85458b9055666c5e7787727e98827d908281a089b0b8a3 +aeb0bdcfc6b88a99ab94afa1b2d2e0b8c3c6afb9bccdd5decdd5ded2dee6a3b7a4 +8ea089a0b09f8ea08992a88d778746627444576b335474435e74294960323d5f25 +5474287c9053778746778746a1b170a1b1709fa85792a759afbf77a1b1707b9034 +7787467f97537d97367c9053657c44576b336183455e7429657c447787467c9053 +6b85456b8545576b336b85457e988281a0897e9882a0b09fbacdd9cdd5ded2dee6 +dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6c1c4c7cdd5ded4dcd0d2dee6b8c3c6 +a3b8bc8a99ab7787723d4f563a44233944463d4f56465864666c5e6374718b919f +9d99819a91789d9981757c715f6156666c5e757c717787727787467787468b9882 +c0b197666c5e3944464e5043373e432a3438272c1f342d1f565838767b477c9053 +7787467c90538b90557787466b85457d9082757c717090817d90824b6933576a1f +49603281a089bacdd992a8b69fb0bbafb9bccdd5ded2dee6dcd6d6dfe1e6dfe1e6 +dfe1e6d9e6eadfe1e6e0e6e8dfe1e6cccdcca0b09f7e98826f8f528ea05992a88d +81a089778772597c75597c754b69334b69333c582249601f567f3a618345547443 +547443344d1e4b69334b693349732370908192a88d9fb0bbbacdd9b8c3c6a3b8bc +bacdd9dfe1e6d2dee6d2dee6d2dee6cdd5deb0cbdcafc0abb8c3c6b8c3c6c0cbb8 +bacdd9b8c3c69ea88ea0b09f9ea08ab0b86ca1b1708b98828ea0597f9753778746 +92a88d92a88d7e98828ea0898ea0897c905392a8b6a3b8bca3b7a481a0897c9053 +7c90537c9053618345657c44666b3b576b33354c313c5822657c445e7429597c75 +4b69337787466f8f52afc0ab778772778746627444576b33657c44576b33657c44 +657c445474434758323f4e1e47581f3f4e32475832657c4468752b6b8545666b3b +c5dae4d2dee6d2dee6cdd5dec5dae4d2dee6d2dee6c5dae4d2dee6c5dae4d2dee6 +cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d9e6eac5dae4 +d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee692a8b6709081a4bfb5c5dae4d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6 +d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ea +d2dee6d2dee6d9e6ead2dee6d9e6ead9e6ead9e6eac5dae4d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d9e6eadfe1e6d2dee6 +d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6cdd5deaec4d081a0896084714b6865 +567f3a6f8f524b69333f4e3230444d354c31597c756b854570908181a0898da0b6 +81a0896183456b867381a08970908181a089aec4d0d2dee6d9e6ead2dee6dfe1e6 +d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d9e6ea +dfe1e6d9e6ead2dee6d9e6ead2dee6dfe1e6dfe1e6d2dee6dfe1e6d9e6ead2dee6 +dfe1e6dfe1e6d9e6eadfe1e6dfe1e6d9e6eadfe1e6d2dee6dfe1e6d2dee6dfe1e6 +d2dee6dfe1e6d9e6ead2dee6d2dee6dfe1e6d2dee6d9e6eadfe1e6dfe1e6d9e6ea +d9e6eadfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6dfe1e6d9e6ea +dfe1e6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6d9e6ead2dee6 +d2dee6d2dee6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6 +d9e6eadfe1e6d9e6ead2dee6d9e6ead2dee6dfe1e6d9e6eadfe1e6d2dee6d2dee6 +c0cbb8a3b7a49ea08a94afa1c0cbb89ea88ea0b09fafc0ab8ea0598c98538ea059 +7787467c90537787466b85458b90806b8545757c7181a0898ea0897090819da1ab +b8c1afc0b8a69da1abb8c3c6d2dee6afc0aba3b8bcd2dee6b8c3c6bacdd9b8c1af +a0b09f8ea0897c90537090816b85457f9753778746657c4449603249601f49601f +6b85456b8545819f59767b47819f5992a759a1b170a1b170a1b1707f97537f9753 +92a7596f8f527c90535e7429576b33767b476274443d5f255f7b2a5474436b8545 +767b47547443657c447d908281a0897e98827e9882a4bfb5c1d4e2dfe1e6d2dee6 +d2dee6d2dee6dcd6d6dfe1e6d2dee6d4dcd0afb9bc9ea08aafb09ebacdd9cdd5de +c0cbb8bacdd9a3b7a43f4e32304321576a623d4f562f3c22757c717787727c9053 +9ea88e9ea08a87886d757c716374717e98828b98827c90536f8f528b90559fb0bb +aeb0bd4e5043443623262e35272c1f342d1f262e35342d1f383c23767b47778746 +86874a8c98537c90537787467f97537090818ea0897f9753576b333a44232f3c22 +3d573b7d9082c1c4c7cdd5decdd5decccdcccccdcccdd5dedfe1e6dfe1e6dfe1e6 +dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6cdd5de8b9882618345729e34819f597c9053 +5474287c9053819f597f97534758323f4e1e3c58224b681e54742841671b4b6933 +70908154744341671b4b69333d573b567f3a96b7ab94afa17e98827d9082b8c3c6 +c5dae4d2dee6dfe1e6d4dcd0c1d4e2c1c4c7a3b7a4a4bfb5a4bfb5b0b8a3b8c3c6 +c0cbb8aec4d0a1b170a0b09f8ea059a1b1709ea88e8ea0598ea0897c9053597c75 +6183457e98827c90537e98827f97537d908281a089b0cbdca0b09f8ea0896b8545 +819f597c90537d97365f7b2a62744456603a2f3c223f4e1e6274444b6933547443 +6b8545757c7192a88dcccdcc8ea089627444627444666b3b6274444b6933657c44 +657c445e742949601f4b69333f4e1e344d1e49601f576b33697c2b77874668752b +d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6 +d2dee6d2dee6d2dee6c5dae4d2dee6d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6 +d9e6ead2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d9e6ead2dee6 +d2dee6aec4d0a3b8bcc1d4e2c5dae4d2dee6d2dee6d9e6ead2dee6d2dee6d9e6ea +d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6 +d2dee6d9e6ead9e6ead2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d9e6ead9e6ea +d9e6ead2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6 +d9e6ead2dee6d2dee6d9e6eadfe1e6d2dee6d2dee6a5c4d794afa1709081608471 +657c446b85455474434960323043213043213d573b4b69336084717197537e9882 +6b8545576b33597c75497323597c7592a88dc5dae4c5dae4b8c3c6c5dae4d9e6ea +d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d2dee6d9e6ead2dee6d9e6ea +d9e6ead2dee6d2dee6d9e6eadfe1e6d2dee6d2dee6dfe1e6d9e6eadfe1e6dfe1e6 +dfe1e6d9e6eadfe1e6d2dee6dfe1e6d9e6eadfe1e6e0e6e8dfe1e6dfe1e6dfe1e6 +dfe1e6d2dee6d2dee6e0e6e8dfe1e6d2dee6d9e6ead2dee6dfe1e6dfe1e6d2dee6 +d9e6ead2dee6dfe1e6dfe1e6e0e6e8d2dee6e0e6e8dfe1e6d2dee6dfe1e6d2dee6 +d9e6eadfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6 +dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6 +d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead9e6ead2dee6dfe1e6d2dee6d2dee6 +d4dcd0a0b09f8ea089a0b09fa0b09fa1b170b0b8a39ea9b48ea0898ea0598ea089 +7787467787466274447c90537d90827787466b86736b8673757c716b86738ea089 +afb09eafb9bca3b8bcbacdd9c5dae4afb9bcafb9bcb8c3c692a88dafb9bcb8c3c6 +a3b8bca0b09f7e9882778746657c446274447c9053576b33496032576b335e7429 +697c2b657c447787467f97538ea0597c90538ea0598ea08992a88d6b85455f7b2a +92a75992a759778746556024576b338c98537c90538ea0597f97538b9882627444 +6b85457c90538c98536b85458ea089a4bfb5b0cbdcafb9bccdd5ded2dee6dcd6d6 +dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6b8c3c68ea0897c90539d99818ea089 +8ea0898ea0898b9882547443618345778772576a62496032576b33576b33778746 +9fa0569ea88eada17f8b90559d9981778772778772778772778746667c74778772 +757c713944462b3322333642342d1f262e35342d1f2b33223335224c5026778746 +7f97537c90537c90536b852c657c447787467c9053708f31576b333a44232a3438 +3335222f3c22666c5e8b919f9ea08aaeb0bdcccdccdcd6d6dcd6d6dfe1e6dfe1e6 +dfe1e6dfe1e6d9e6eadfe1e6dfe1e6cdd5de81a0897090817c90537197536b8545 +5e74295474437197536183454b6933344d1e3d5f256b85456b8545497323547428 +5474434b693347581f3f4e1e5773764b69335474435474437090817e9882c1d4e2 +d9e6ead2dee6dfe1e6d2dee6c0cbb8c5dae4afc0aba3b7a4c0cbb8c0cbb8afc0ab +7d90828c9853a0b09f8ea0598b9882a0b09fb0b8a39ea88e9ea88e7787727e9882 +81a08981a0898ea0598ea0897c905381a08992a88d92a8b692a88dafc0ab8b9882 +576b334b69336b854560832a576b33496032304321344d1e576a1f68752b4b6933 +576b33697c2b8b98829ea08a8b9882666b3b576b334960326b85455e7429778746 +7c90537c90534b693347581f3c58223c58224960325e74295e7429767b47666033 +c5dae4cdd5ded2dee6c5dae4cdd5ded2dee6d2dee6c5dae4d2dee6d2dee6c5dae4 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6eac5dae4 +d2dee6d9e6ead2dee6d9e6ead9e6ead2dee6d9e6ead2dee6d2dee6d2dee6d2dee6 +d2dee6b0cbdc94afa1aec4d0c1d4e2c5dae4d2dee6d9e6ead9e6eac5dae4d2dee6 +d9e6ead9e6ead2dee6d2dee6c1d4e2c1d4e2d2dee6d2dee6d2dee6d9e6ead9e6ea +d9e6ead2dee6d9e6ead9e6ead2dee6d9e6ead2dee6d9e6ead9e6ead2dee6d2dee6 +d9e6ead2dee6d2dee6d9e6ead9e6ead9e6ead2dee6dfe1e6d9e6ead2dee6d9e6ea +d2dee6c1d4e2b8c3c6d2dee6d2dee6d2dee6cdd5dea5c4d781a089608471608471 +567f3a657c44496032354c31304321354c313c58224b6933608471618345547443 +5474436183457e98826f8f5254744370908181a0897d90828a99abd4dcd0d9e6ea +d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d9e6ead2dee6dfe1e6d2dee6d2dee6 +dfe1e6d2dee6d2dee6d9e6ead9e6eadfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6 +d2dee6d9e6eadfe1e6d9e6eadfe1e6d2dee6e0e6e8d2dee6dfe1e6d2dee6dfe1e6 +d9e6ead9e6ead9e6ead2dee6dfe1e6d2dee6dfe1e6d9e6ead2dee6dfe1e6dfe1e6 +d9e6ead9e6ead2dee6dfe1e6d2dee6dfe1e6d9e6eadfe1e6d2dee6dfe1e6d2dee6 +d2dee6d2dee6d9e6ead9e6ead9e6eadfe1e6d2dee6dfe1e6dfe1e6d9e6ead2dee6 +dfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6 +dfe1e6dfe1e6d9e6ead2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d9e6eacdd5de +b8c3c692a88d7e988292a88da3b7a4b8c1afb0b8a3a0b09fc0cbb87d90828ea089 +7c90538b90806b86738b98828b9080767b47667c74757c71778772667c748b9882 +afb09ea3b7a4bacdd9bacdd9cccdccbacdd992a8b6a3b7a47e988294afa1b8c3c6 +a0b09fafb9bc92a88d6b86735f7b2a627444666c5e4960325474286f8f525e7429 +3a4423576b33757c71819f598ea059819f597f975395af7a95af7a7c90538ea059 +a1b1708c9853778746576b3349603268752b7c90537787466f8f527f9753778746 +657c448c98538ea0597e98828b988292a88db8c3c6b8c3c6b8c1afcdd5ded2dee6 +d2dee6dcd6d6dfe1e6d2dee6d2dee6dfe1e6cdd5deb0b8a38ea0597c9053697c2b +7787467787465e74296b85456b852c576b3349601f3f4e323f4e32475832627444 +7787469a91789fa8579d99819a91788b98828ea08994afa1afb9bca3b7a4a0b09f +9d9981373e43272c1f333522262e35342d1f272c1f3336423335224c5026767b47 +6b852c697c2b6b852c6b852c6b852c708f3160832a6b852c576a1f47581f3a4423 +4758323043212a34382f3c2256603a576b33848887ada17fc0b8a6c1c4c7cdd5de +dfe1e6dfe1e6d4dcd0dfe1e6d4dcd0cccdcc92a88d95af7a7090816b85454b681e +47581f618345618345576b333f4e1e3a44234b6933547428697c2b4b693341671b +49601f3c5822576b334960323a4423344d1e4b6933547428618345709081bacdd9 +dfe1e6d2dee6cdd5deb8c3c6a3b7a4bacdd9bacdd9aec4d08ea08992a88d819f59 +7f97537787468b9882a0b09f7d9082a0b09fc0cbb8aeb0bd8b98827e988294afa1 +92a8b67787726b852c7f97538b988281a08995af7a8ea0897787727e98826b8545 +576b33344d1e4b69335f7b2a708f31657c44576b336274446b854568752b47581f +627444778746778746697c2b6b854568752b66603347581f7787466b8545697c2b +657c446b85454758323f4e1e4960324b6933657c444b69335e74295560243a4423 +d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6ea +d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6aec4d0b0cbdc +a3b8bca3b8bc709081a0b09fbacdd9c5dae4d9e6ead2dee6d2dee6d2dee6d9e6ea +d2dee6d9e6ead2dee6c1d4e2aec4d0aec4d0d2dee6d9e6ead2dee6d9e6ead2dee6 +d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6 +d9e6ead2dee6d9e6ead2dee6d9e6ead2dee6d9e6ead2dee6dfe1e6d2dee6d2dee6 +d2dee6c5dae49da1abbacdd9c1d4e2bacdd9aec4d0a4bfb5a5c4d7608471597c75 +6183456183454b69333d5f253043213d573b3d573b3d573b3d573b4b693341671b +3c5822657c447090815474434b6933547443709081709081afc0abd2dee6d2dee6 +d2dee6d9e6ead2dee6d9e6ead9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d9e6ea +d2dee6dfe1e6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d9e6ead9e6ead9e6ea +dfe1e6d9e6ead2dee6d9e6eadfe1e6dfe1e6d2dee6dfe1e6d9e6eadfe1e6dfe1e6 +d2dee6dfe1e6d9e6eadfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6d2dee6d9e6ea +dfe1e6dfe1e6e0e6e8d2dee6d9e6eadfe1e6d9e6eadfe1e6dfe1e6d9e6eadfe1e6 +d2dee6dfe1e6dfe1e6d9e6ead2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6 +d2dee6d2dee6dfe1e6dfe1e6d2dee6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6 +dfe1e6d9e6eadfe1e6dfe1e6d4dcd0d2dee6d2dee6cdd5decdd5decdd5deb8c3c6 +b8c3c6a0b09f7e98828ea08994afa195af7a92a88db8c1afcccdcc8b98828b9882 +8ea0897c90539da1ab7d908281a0898ea0897787467c90537787466f8f528b9080 +b8c1afb0b8a38b919f9fb0bbbacdd9c1c4c7cdd5deaec4d08b98829ea9b49fb0bb +b8c3c6a4bfb592a88d8b9882667c74576b3354605f354c314b6933576b33496032 +5474286b85457d90827c90536183457c90538ea08995af7a95af7a7787468b9882 +778746697c2b6b85455e7429576b337c90537787466b8545767b476b8673778746 +7c90536183457c905392a88d9ea9b48ea0899ea88eafc0abcdd5dedcd6d6d2dee6 +cccdccafb9bccdd5dedfe1e6dfe1e6d2dee6dfe1e6cdd5dea3b7a487886d8ea089 +8b9882778746657c446b85456183455f7b2a656c265560243f4e324c5026565838 +87886d9a91789d99819d99818b90808488879ea08aaeb0bdafb9bcafb9bc9fb0bb +757c71394446333522262e352b33223944463944463f4e324e50434e5043778746 +627444576b33576b33697c2b657c446b852c76872d6b852c5e74295e7429576b33 +657c4447583239444630444d576b33767b478b90558b9080857d678488879ea9b4 +cdd5dedfe1e6dfe1e6cccdccc1c2aea0b09f6183456f8f526b852c6b8545344d1e +3d5f254960325560243a4423383c233f4e1e6b854568752b6660332f3c224b681e +49601f3f4e323f4e32373e43354c31354c314973235474436b867392a88dc1d4e2 +d4dcd0cdd5dec1c4c7a3b8bcb8c3c6d4dcd0c1d4e2a3b8bc92a88d94afa192a88d +94afa196b7ab92a88d81a08992a88d9ea9b49fb0bb8b98827787726b854592a88d +a4bfb57d90826f8f5281a08996b7ab92a88d81a0897787466374715f7b2a5e7429 +4b681e547428576b335f7b2a6b8545708f316f8f527787466b8545767b47576b33 +757c71778746778746767b47697c2b8c9853767b4747581f6274448b90337c9053 +7c90535f7b2a5f7b2a657c44657c44656c266274445e7429576b334b6933555824 +c5dae4cdd5decdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6c5dae4d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d9e6ead9e6ead2dee6dfe1e6d2dee6d2dee6d9e6eabacdd97e9882 +94afa181a0897e9882a3b8bcbacdd9d4dcd0d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6aec4d094afa1c1d4e2d2dee6d2dee6d2dee6d2dee6d9e6ea +d9e6ead2dee6d2dee6d9e6ead9e6ead2dee6d2dee6d9e6ead9e6ead2dee6d2dee6 +dfe1e6d2dee6d9e6ead2dee6d2dee6d9e6eadfe1e6d2dee6d9e6ead9e6ead9e6ea +d2dee6d2dee6a3b8bcafb9bcb8c3c6a4bfb59fb0bb96b7ab92a8b66f8f523d573b +576b336183453d5f254b6933354c313f4e32354c313043213f4e323d573b4b6865 +5474435474434b69335474433c586f60847194afa1c5dae4d2dee6d2dee6d2dee6 +dfe1e6d2dee6d2dee6d2dee6dfe1e6d9e6ead2dee6d9e6ead9e6ead2dee6d2dee6 +d2dee6dfe1e6dfe1e6d2dee6d9e6eadfe1e6dfe1e6d9e6ead9e6ead9e6ead2dee6 +d9e6ead9e6ead2dee6dfe1e6d2dee6e0e6e8dfe1e6dfe1e6d2dee6dfe1e6d9e6ea +dfe1e6d9e6eadfe1e6dfe1e6d9e6eadfe1e6d2dee6d9e6eadfe1e6d2dee6dfe1e6 +d9e6ead2dee6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d2dee6d9e6eadfe1e6dfe1e6 +d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6d2dee6dfe1e6 +dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6d9e6eadfe1e6d2dee6dfe1e6d9e6ea +d2dee6d4dcd0d9e6eadfe1e6dfe1e6dfe1e6cdd5deafb9bcaeb0bdcdd5dec1d4e2 +b8c3c6a3b7a4a3b7a492a88d9ea08a9ea88e9ea88eb0b8a3a0b09f8ea0597c9053 +8b988262744492a8b6afb9bc8b988292a88d7787727e98828ea0897787728b9882 +aba9a6b8c3c69fb0bb7d90829fb0bbbacdd9cdd5deafb9bc7e988294afa18b9080 +9ea88eafc0ab8ea089657c44667c74576b333f4e3247581f657c44344d1e576b33 +7c90537c90537d97367c9053819f5995af7aa0b09fa3b7a4a3b7a492a88d7c9053 +618345657c44576b336b8545697c2b697c2b5f7b2a7c90537f97536b8545778746 +6b85456b85458b98828ea0898ea0898ea05994afa1afc0abd9e6eadfe1e6dfe1e6 +dfe1e6d2dee6cdd5ded2dee6dfe1e6dfe1e6dfe1e6d4dcd0cdd5deb0b8a3b8c1af +b0b8a37c90537d90827c9053778772557f225f7b2a5474434960326374718b9882 +a0b09f9ea08a95885c857d67afb09e8b9080afb09eb8c1afc1c4c7666c5e54605f +56603a3a4423333522342d1f3d4f56848887b8c1afaeb0bd848887574f26767b47 +7787468ea0898b98824960325f7b2a6b852c5f7b2a4b681e4b681e6b852c547428 +6274445773763f4e32576a626b854577874687886d86874a9a917884888787886d +afc0abd2dee6d4dcd0cccdcc9ea9b48c98536b852c76872d6b852c7c9053597c75 +618345496065344d1e3c582249601f6b852c49732368752b3a44233a4423547428 +5f7b2a4b681e5f7b2a3d4f56304321637471497323497323709081b0cbdcb8c3c6 +bacdd9bacdd9c0cbb8b8c3c6bacdd9c1d4e2b8c1afafb9bcbacdd9b8c3c6a3b7a4 +c0cbb894afb970908192a88d81a0898b9882a3b8bc8488877787726274447c9053 +afc0aba3b8bc94afa1a3b7a492a88d7e988292a88d92a88d7d9082576b33657c44 +5e742960832a41671b3d5f25576a1f576b335f7b2a697c2b657c447e98827d9082 +666b3b697c2b77874687886d767b47867c4c766e2d666b3b656c26767b478c9853 +76872d77874660832a778746767b47657c44778746657c4455602449601f657c44 +d2dee6d2dee6c5dae4d2dee6d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d9e6ead2dee6 +d9e6ead2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d9e6ead2dee6b0cbdc +7d98b1608471709081a5c4d7a3b8bcbacdd9d2dee6d2dee6d2dee6d9e6eadfe1e6 +dfe1e6dfe1e6d9e6eac1d4e294afa1c5dae4d2dee6d2dee6d9e6ead2dee6d9e6ea +d2dee6d9e6ead9e6ead2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d9e6ead9e6ea +d2dee6d9e6ead9e6ead2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6 +dfe1e6d9e6eabacdd99fb0bb94afa18a99ab94afb9a4bfb581a089608471496065 +5474434b69334960323d573b3d573b3d5f25354c31344d1e3d5f25496032709081 +94afb9597c754960323d573b5d83a4a3b8bcc1d4e2d2dee6d9e6eadfe1e6d2dee6 +d2dee6d9e6eadfe1e6d9e6ead2dee6d2dee6d9e6ead2dee6dfe1e6d9e6ead9e6ea +d9e6ead9e6eadfe1e6c1d4e2d2dee6dfe1e6d2dee6d9e6ead2dee6d2dee6dfe1e6 +dfe1e6d2dee6dfe1e6dfe1e6d2dee6d9e6ead2dee6d9e6ead9e6eadfe1e6d2dee6 +dfe1e6d2dee6dfe1e6d2dee6d2dee6d9e6eadfe1e6d2dee6dfe1e6dfe1e6d2dee6 +dfe1e6dfe1e6d9e6ead9e6eadfe1e6dfe1e6e0e6e8d9e6ead2dee6dfe1e6d9e6ea +d9e6eadfe1e6d9e6ead9e6ead2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6 +dfe1e6d2dee6d2dee6dfe1e6dfe1e6d2dee6d9e6eadfe1e6d2dee6dfe1e6d2dee6 +e0e6e8dfe1e6d9e6eacdd5decccdccbacdd9c0cbb8b8c1afc1c4c7cdd5deb8c3c6 +b8c1af92a88da0b09f8ea089a0b09fa3b7a4b0b8a3afb09e92a88d8ea0598ea089 +92a88d7787729ea88ea3b8bc8a99ab8b988287886d8b98827e98827787727d9082 +9ea88eaeb0bd9ea9b47d908281a089b8c1afc1c4c7b8c3c6afb9bc92a8b68b9882 +9ea08a8ea0899ea88e8b98827d90827e9882576b33576b334960323335223f4e32 +5e742961834560832a7c90538c985392a88da1b17092a88db0b8a38ea059778746 +5e74295e74295e7429697c2b5e74296b852c6b85457c90537c90537c9053778746 +7c90536b85455f7b2a7c9053819f5992a88db8c3c6cdd5dedcd6d6d2dee6d9e6ea +dcd6d6cdd5dec1c4c7cccdccdcd6d6d2dee6d4dcd0dfe1e6d2dee6dfe1e6cdd5de +c0cbb89ea08a94afa19ea88e6b8673576b337d90828ea0897d9082b8c3c692a8b6 +afb09eaba9a68b9080857d679d99818b908087886d87886d9da1ab5f61565f6156 +56603a767b4756603a373e43757c71b8c3c6bacdd9aeb0bd7787725f615668752b +767b477d90826374714960325f7b2a576b33576a1f3d5f255e74295e74293f4e32 +4b693395af7a87886d6274447787467787468b908095885c767b4756603a3d4f56 +4e50435f61566374716374716274446b852c697c2b55602447583281a089afc0ab +6b8673354c314960325f7b2a6b852c708f3176872d68752b4c5026344d1e4b6933 +4960323d573b547443567f3a597c75657c443d573b4b686554744381a08992a88d +9ea88eafb9bcb8c3c6a4bfb5b8c3c6bacdd9aec4d0a4bfb5c0cbb8a3b8bcafb9bc +aec4d0afb9bc92a8b692a8b69ea88e92a8b68b98828ea0897e9882666b3b657c44 +657c448b988292a88d7e988281a0898ea08992a88d92a88d778772576b336b8545 +697c2b6274445e74295f7b2a5e7429576b3360832a6b85455e742981a08981a089 +6183455f7b2a60832a7e988287886d77874668752b7c9053778746757b2d68752b +8c985376872d7b90348c9853627444666b3b7c9053778746767b47657c446b8545 +d2dee6cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d2dee6dfe1e6d2dee6 +dfe1e6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d2dee6d2dee6c5dae4c0cbb8 +96b7ab94afa170908196b7ab9fb0bbbacdd9c1d4e2d2dee6d2dee6d9e6ead2dee6 +d9e6ead2dee6dfe1e6cccdccaec4d0aec4d0d2dee6d9e6ead9e6ead9e6ead9e6ea +d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6dfe1e6d2dee6d9e6ead2dee6d9e6ead9e6ead2dee6dfe1e6 +d2dee6d2dee6d2dee696b7ab71975381a08981a089a4bfb57090816b8673618345 +657c44547443576b33354c313f4e324b693354744362744454744354744392a88d +6b86736b8673567f3a5474437a91a8a4bfb5c1d4e2d9e6ead2dee6d2dee6cdd5de +d2dee6d2dee6d9e6eadfe1e6d9e6eadfe1e6dfe1e6d2dee6d2dee6d9e6ead9e6ea +d2dee6d2dee6d2dee6cccdccd2dee6d2dee6dfe1e6d9e6ead9e6ead9e6ead2dee6 +d9e6ead9e6ead2dee6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d9e6ea +d2dee6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d9e6eadfe1e6dfe1e6d9e6ea +d9e6ead2dee6d2dee6e0e6e8d2dee6d9e6ead9e6eae0e6e8dfe1e6d9e6ead2dee6 +dfe1e6d2dee6d2dee6e0e6e8d9e6ead2dee6dfe1e6dfe1e6d2dee6d9e6eadfe1e6 +dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6dfe1e6d4dcd0 +d9e6eadfe1e6d4dcd0b8c3c6afb9bccccdccc0cbb8c1d4e2afc0abb8c1afc0cbb8 +b8c1af8ea089a0b09f9ea88e9ea08aa3b7a4b8c1afa0b09fa1b1708ea0898ea089 +8ea0897e98829ea08aafb9bc9ea9b48b98828c98537d90827090817d90829da1ab +8b98829fb0bba0b09f7d90828b9882aec4d0b8c3c6b8c3c6afb9bc8b98828b9882 +8b98827c90538b98827c9053657c447787464960324758322f3c222e3c44383c23 +3f4e32697c2b576b336183457f97537e98827c905392a7599fa857778746778746 +6274447c9053778746657c4468752b7787466b852c5e74297c905376872d767b47 +657c444b6933657c447d90828ea0597f9753afc0abc5dae4dfe1e6dcd6d6d2dee6 +dcd6d6d4dcd0c1c4c79d9981c0b8a6cdd5dedfe1e6d2dee6dfe1e6dfe1e6d4dcd0 +d2dee6cdd5dec0cbb8b8c3c6a0b09f576a62afc0abc0cbb86b86738b90808b9080 +84888787886d75704d56603a75704d86874a75704d666033857d67767b47565838 +5f6156757c718b908054605f7d90829ea9b49da1ab8488874e4425666033867c4c +5658384c5026496032697c2b5f7b2a5e742949601f576a1f576a1f47581f3a4423 +333522496032767b477787467b90348c98538c98539a9178778746666b3b4b6933 +3f4e1e4758325e74295f7b2a6b852c656c263a4423383c233f4e1e7f97538b9882 +7787466f8f526183454b681e6b85455e74295e7429778746556024657c444b681e +4b681e3f4e1e576a624b69335474433c58224960324b6933608471819f597f9753 +8b9882c1cd99c1d4e2afc0aba3b7a4afb9bca0b09fafb9bc92a88d92a88da3b8bc +8ea0899fb0bba0b09f9ea88e8ea0897d9082576a62666b3b657c447c9053767b47 +7f97538b98827c90537e98826f8f52778772778772637471657c446b8545657c44 +7c905377874668752b5e74295e742949601f6274444960323c582260832a618345 +576b33576b33555824627444767b478b9080666b3b7787467c9053767b4768752b +757b2d7787468ea0598ea059767b4768752b8b9055778746767b478c9853778746 +d2dee6cdd5ded2dee6cdd5dec5dae4d2dee6c5dae4d2dee6d9e6ead2dee6d2dee6 +d2dee6c5dae4d2dee6d9e6eac5dae4d2dee6d9e6ead2dee6d2dee6d2dee6d9e6ea +d2dee6d2dee6dfe1e6d2dee6d9e6ead9e6ead2dee6d2dee6cdd5dec1d4e294afa1 +7e98827e988270908192a88da0b09fd2dee6d2dee6d2dee6d2dee6d2dee6d9e6ea +d2dee6d2dee6d2dee6c5dae4b8c3c6afb9bcd2dee6dfe1e6d2dee6d9e6ead2dee6 +d9e6ead2dee6d9e6ead9e6ead2dee6d9e6ead9e6ead2dee6dfe1e6d2dee6dfe1e6 +d9e6ead9e6ead2dee6d2dee6d9e6ead2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6 +dfe1e6d2dee6c1d4e2a5c4d76b8673567f3a81a0897090816b8673597c756b8545 +6f8f526b85455474435474434b69333f4e323f4e325474286183456084717e9882 +7090816f8f52618345597c7581a089c1d4e2d2dee6d2dee6dfe1e6d2dee6cccdcc +d2dee6d2dee6d9e6ead2dee6d2dee6d9e6ead9e6ead9e6eadfe1e6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d9e6ea +dfe1e6d2dee6d9e6ead9e6ead9e6ead9e6ead2dee6dfe1e6d2dee6dfe1e6d2dee6 +dfe1e6d2dee6d9e6ead9e6eadfe1e6dfe1e6d2dee6d2dee6dfe1e6d2dee6d2dee6 +dfe1e6dfe1e6dfe1e6d9e6eae0e6e8d2dee6d2dee6d9e6eadfe1e6d2dee6dfe1e6 +d9e6eadfe1e6dfe1e6d2dee6e0e6e8d2dee6d9e6eadfe1e6d9e6ead2dee6dfe1e6 +d2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6d4dcd0d9e6ead2dee6 +dfe1e6d9e6ead4dcd0d2dee6d2dee6cdd5dec1c4c7c1c4c7a0b09fafb9bc9ea9b4 +b0b8a38b90808ea0898b98828ea089afb09eafc0ababa9a69fa0569ea88e8ea089 +8b98828b98828ea089a0b09f8ea089757c719ea88e7d908277877294afa17e9882 +9da1abafb09e9ea9b49ea9b47e9882afb9bc9fb0bbc1c4c7b0b8a39ea08a92a759 +8ea0897c90537c9053657c4456603a6b8545657c44576b332f3c223335222a3438 +3a44238ea0598c98537c90538ea0597c90536b85458c98538c98538c98358ea059 +7c90537f97537c9053757b2d68752b666b3b767b47556024778746697c2b657c44 +576b3356603a576b337f97536f8f527c9053afc0abbacdd9cccdcccdd5ded2dee6 +d9e6eadcd6d6bacdd99ea08a9d99819ea88eafb09ec1c4c7cdd5ded4dcd0d2dee6 +dcd6d6dcd6d6d4dcd0d2dee6b0b8a3778772c1c4c78b919f576a627d90828b9080 +848887857d674c50264e5043565838666b3b56583866603374643e8b9055757c71 +757c718b919f9fb0bb7d9082afb9bc9ea9b4757c71666c5e6374715658389a9178 +574f26475832657c446b852c5f7b2a778746576a1f656c26576a1f576a1f47581f +344d1e3043216274447c90537c90538b90558c98538b9055767b4776872d708f31 +6b852c6b852c7d97365f7b2a697c2b4b69332f3c22344d1e4b69337b903476872d +7c9053657c44697c2b354c313f4e1e3f4e1e5e74293f4e1e49601f76872d547428 +556024333522383c233043213c5822576b334b6933576b336b85456b85457d9736 +8c9853a3b7a492a88d92a88da4bfb5aec4d0a0b09f8b98828ea05981a08981a089 +7090818b98828b98827e98827787727d90828b98824960327f97537c90537c9053 +778746819f597e98827787726b86737e98827e9882778772627444778746778746 +7b90347c9053697c2b555824576a1f5e742947581f475832657c446b8545657c44 +576b33576b33576b334e5043666b3b8c9853576b335e74295e7429778746778746 +8b905586874a757b2d86874a767b4775704d666b3b556024657c447b90349e9853 +d2dee6c5dae4cdd5ded2dee6d2dee6d9e6ead2dee6c5dae4d2dee6c5dae4d2dee6 +d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6 +d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d9e6ead2dee6a4bfb5bacdd9a4bfb5 +6f8f526183456084717090817e9882aec4d0cdd5deb8c3c6d2dee6d9e6eadfe1e6 +dfe1e6bacdd99ea9b4aec4d0b8c3c6a4bfb5bacdd9cdd5ded2dee6dfe1e6dfe1e6 +d9e6ead2dee6dfe1e6d9e6ead9e6ead9e6eadfe1e6d2dee6dfe1e6dfe1e6d2dee6 +dfe1e6d2dee6d9e6ead9e6ead9e6ead2dee6d9e6ead9e6ead2dee6d9e6ead2dee6 +d9e6eadfe1e6c0cbb8a4bfb596b7ab6084716f8f52567f3a6b86736f8f52618345 +4973234b69334960323c58222e3c442f3c224b69334b69334b693341671b709081 +618345567f3a60847181a0898da0b6afc0ab9ea9b4b8c1afd2dee6c1d4e2b8c3c6 +c1d4e2d2dee6d9e6eadfe1e6d2dee6d2dee6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6 +d2dee6dfe1e6d2dee6d9e6ead9e6eadfe1e6d9e6eadfe1e6d9e6ead9e6ead2dee6 +dfe1e6dfe1e6dfe1e6d2dee6d2dee6dfe1e6d9e6eadfe1e6d2dee6dfe1e6d9e6ea +dfe1e6d2dee6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6d9e6ead2dee6dfe1e6d2dee6 +d9e6ead2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6d2dee6e0e6e8d9e6ead2dee6 +dfe1e6d9e6eadfe1e6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6 +d2dee6dfe1e6d2dee6dfe1e6d9e6ead2dee6d2dee6dfe1e6dfe1e6d9e6ead2dee6 +d9e6ead9e6eadfe1e6dfe1e6d2dee6bacdd9cccdccc0cbb8afb9bcafc0ab92a759 +8b98827c90538b90559fa0568ea089afb09e9ea88e8c98538b98828ea0598b9882 +7787467787468ea089afb09e7d90826b86738b908087886d7787729fb0bba0b09f +afb09ea0b09fb8c3c69ea88e8a99ab9da1ab7a91a892a8b6b0b8a39ea88e9ea88e +7e98827c9053496032627444576a1f657c44576b33576b33354c314758322a3438 +3a44236f8f52657c44576b3392a7597c90536274447787467787467b90347c9053 +6b852c819f598ea0598c98538b90336274446274448c98537c9053767b47778746 +7c9053778746657c44657c445e74295474437d9082bacdd9afb9bca0b09fbacdd9 +d4dcd0cdd5ded4dcd0b0b8a387886d778746767b477787469d99819ea9b4b8c3c6 +cdd5ded4dcd0dfe1e6dfe1e6afb9bca4bfb5b8c3c68488878da0b69fb0bb8da0b6 +9ea88e8ea089565838394446565838666c5e475832666c5e75704d87886d87886d +aba9a6afb9bc9ea9b48488877d908275889b757c71576a6254605f604f2a867c4c +565838757c715e7429697c2b76872d697c2b5e74295e742949601f576b33547428 +54742854742849601f7c90538b90558b90809e98537c90538b90337c90537b9034 +6b8545576b33576a1f5e7429656c26344d1e344d1e697c2b5f7b2a7b9034697c2b +76872d5e74295f7b2a576a1f576a1f49601f49601f47581f6183455f7b2a49601f +3f4e1e2f3c222f3c223f4e32576b3341671b5e7429708f318ea05992a75992a759 +697c2b7f975394afa1b8c3c6aec4d0b0cbdc92a88d8ea08992a88d5474436f8f52 +94afa1a3b8bc7e98827d908295af7aa3b8bc92a88d657c447c90536b85457c9053 +6b86736f8f52afc0abb0cbdc92a88dafc0ab778772778772576b33767b47627444 +5f7b2a5f7b2a5e7429475832576b33697c2b5e74294960325e74294b681e5e7429 +576b33627444576a1f4758323c5822778746576b33576b335e7429657c44656c26 +697c2b8b90558b9055757b2d62744477874686874a767b47767b47778746757b2d +cdd5ded2dee6d2dee6d2dee6cdd5ded2dee6c5dae4d2dee6d9e6eac5dae4d2dee6 +d9e6eac5dae4d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6d2dee6d2dee6d2dee6 +d2dee6dfe1e6d4dcd0dfe1e6d4dcd0d9e6ead4dcd0c1d4e2afb9bca3b7a4aec4d0 +70908141671b4b6933608471819fb7a4bfb5a4bfb5b0cbdccdd5ded2dee6dfe1e6 +dfe1e6d4dcd0a3b8bc7e98828a99ab8da0b69fb0bbcdd5dedfe1e6d2dee6dfe1e6 +d2dee6dfe1e6dfe1e6dfe1e6d9e6eadfe1e6d2dee6dfe1e6d2dee6d9e6eadfe1e6 +d9e6ead9e6eadfe1e6d2dee6d2dee6d2dee6d2dee6dfe1e6d9e6ead9e6ead2dee6 +d9e6ead2dee6c5dae494afa1a5c4d781a0896183454b6933547443597c75547443 +5f7b2a3d573b4758323d573b2b33222a34384960324b6933354c31344d1e4b6933 +41671b3c58223d5f25657c446084716f8f526b86738da0b6b8c3c6b8c3c69ea9b4 +9fb0bbc1d4e2d2dee6d2dee6dfe1e6dfe1e6d9e6eadfe1e6d9e6eadfe1e6d9e6ea +d9e6ead2dee6d2dee6d2dee6d9e6ead9e6eadfe1e6dfe1e6dfe1e6dfe1e6dfe1e6 +d9e6eadfe1e6d9e6ead9e6ead9e6eadfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6 +d9e6ead9e6ead9e6ead9e6ead2dee6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6 +dfe1e6d9e6eadfe1e6dfe1e6d9e6ead9e6ead9e6eadfe1e6dfe1e6d2dee6e0e6e8 +d2dee6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6dfe1e6d9e6eadfe1e6d2dee6d9e6ea +dfe1e6d2dee6e0e6e8d9e6eadfe1e6e0e6e8dfe1e6dfe1e6d4dcd0dfe1e6e0e6e8 +d2dee6dfe1e6d2dee6dfe1e6dfe1e6d2dee6d4dcd0c0cbb8b0b8a38ea08992a759 +8ea0899fa85792a7598c98539d9981a1b1708ea0898c98537787468b90806f8f52 +6b86737e988294afa1afb9bc9ea88e7787467e98827787467d908292a88d92a8b6 +a3b7a49ea08abacdd9a0b09fa0b09f81a089657c447d90828ea0898ea0898ea089 +a1b1707d9082576b336274446274445e7429576a1f4758324758324758322b3322 +3a4423627444657c446f8f527c90537787467c905368752b76872d76872d778746 +6b852c697c2b7787467b90348ea0598ea0598c98537c90537787467c90537f9753 +657c44767b477c90534b6933657c447f97537d9082a0b09fa0b09fa0b09fb8c1af +cdd5ded2dee6dfe1e6d4dcd08ea0897c90537787466b85457787468b9055778772 +7787728b908092a8b69ea88eb8c3c6cccdcccdd5dedcd6d6cdd5dedcd6d6c1c2ae +cccdccafb09ea0b09f9da1ab9da1ab757c714e504384888787886d9a91788b9080 +87886d9ea08a8b9080c1c2aeaeb0bd8b919f757c7163747154605f4e504375704d +666c5e7787466b85455f7b2a6b852c5e74295e7429656c263f4e1e3f4e32496032 +47581f5f7b2a60832a8ea0598c98538ea0598b90557787467787465e742960832a +576a1f47581f49601f5e7429547428576a1f47581f5f7b2a697c2b60832a557f22 +547428557f226b852c576b3368752b344d1e3c58225e7429576b33304321576a1f +576b3347581f576a1f54742849601f6183457d90827f975395af7ab0b8a39fa056 +697c2b778746a0b09fc0cbb8b0cbdca4bfb57e98827e988281a0897090817c9053 +81a08992a8b694afa1c1d4e2c1d4e2bacdd9a3b8bc8ea089778772778746767b47 +767b477d9082a3b8bc9ea88e7e9882a4bb7e8b98827d90826b8545667c745e7429 +62744455602468752b697c2b7787466b85455f7b2a4b69334b69334b69335e7429 +576b33576b33576b335474435f7b2a576b335474436183455e74295e74295f7b2a +657c44767b4776872d56603a556024627444767b47767b4786874a867c4c767b47 +c1d4e2d2dee6cdd5ded2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6 +d9e6eadfe1e6d2dee6d9e6ead9e6ead2dee6c0cbb892a8b692a88d96b7ab92a88d +5474433d5f253c586f41671b709081a3b8bc94afb992a8b6c1d4e2d4dcd0d4dcd0 +d9e6ead9e6eac5dae4a4bfb594afa1b2d2e0d4dcd0d2dee6d9e6eadfe1e6dfe1e6 +d2dee6d2dee6dfe1e6d2dee6d9e6eadfe1e6d9e6eadfe1e6d2dee6dfe1e6d9e6ea +d2dee6e0e6e8d2dee6e0e6e8dfe1e6d9e6ead9e6ead2dee6d2dee6dfe1e6d9e6ea +d9e6eadfe1e6d2dee694afa16b867381a0896f8f526183455474434b6933547443 +4b69333d573b3c58223d573b2f3c22344d1e567f3a4b6933354c31354c3141671b +3d5f254b6865496065496032608471819f5960847170908194afa1bacdd9a0b09f +a0b09fcdd5ded9e6eadfe1e6d2dee6d2dee6dfe1e6d9e6ead2dee6dfe1e6d2dee6 +d9e6ead2dee6dfe1e6d9e6ead9e6ead2dee6d9e6eadfe1e6dfe1e6d9e6ead9e6ea +d9e6ead9e6ead9e6ead2dee6d9e6eae0e6e8d9e6eadfe1e6d9e6eadfe1e6d2dee6 +dfe1e6dfe1e6d2dee6dfe1e6dfe1e6d9e6eadfe1e6d9e6eadfe1e6dfe1e6d9e6ea +dfe1e6dfe1e6d2dee6d9e6eadfe1e6dfe1e6d2dee6dfe1e6dfe1e6d2dee6e0e6e8 +dfe1e6d9e6ead2dee6dfe1e6dfe1e6dfe1e6d2dee6e0e6e8dfe1e6d9e6ead2dee6 +dfe1e6dfe1e6d2dee6dfe1e6d9e6ead2dee6dfe1e6e0e6e8dfe1e6d9e6eadfe1e6 +d2dee6d4dcd0e0e6e8dfe1e6dfe1e6d2dee6d2dee6c0cbb89ea88e9ea08aa0b09f +92a88d95af7a92a88d8ea0598b98828b98829ea08a9ea88e7e98828b90556b8673 +77874692a88da0b09fa3b7a494afa17787728b98828b98828c98538ea0899da1ab +a0b09f8b9882afb9bcb8c3c6afb9bc9ea9b4667c747e98829ea88e8ea0598b9080 +77874649603249603247581f4960326274444960323a4423576b33576b333f4e1e +576b337787469fa8578c9853657c445474437c90537787468c98538c98538ea059 +7f97536f8f527787468c98538e9f3b8c98537787466f8f528b90557787466b8545 +7b90347e98826b85456b8545657c446f8f5294afa1a0b09fa3b8bcafb9bccdd5de +dfe1e6d4dcd0dcd6d6dfe1e6b8c1af92a88d7787727787727787468b988286874a +627444697c2b778746576b33637471757c71757c71afb9bccccdccdcd6d6cccdcc +cdd5dec1c4c7cccdcccccdcc8a99ab4e50433d573b757c718b908087886d857d67 +87886dada17faeb0bdc1c2aeaba9a675704d54605f54605f4436234e504366592c +565838666b3b6b852c76872d697c2b4960323a4423354c312b332233352247581f +4b69335f7b2a6f8f528b90558b90559d998186874a697c2b656c2649601f5f7b2a +576a1f697c2b576a1f5e74295e7429697c2b3c582249601f49601f697c2b576a1f +5474285f7b2a49601f3c58225e74293c5822576b3360832a4c50262b33223c5822 +3d5f2560832a6b8545618345657c4481a089b8c1afa3b7a4a4bb7e7d908268752b +657c448ea059819f5981a08992a88d81a08981a08992a88d92a88d81a0897e9882 +92a88d94afa16b8673aec4d0a3b8bcafc0abb8c3c67d90826b8545627444547428 +576b33657c447787727787728b90808c98537c9053778746697c2b7c90537d9082 +7c9053767b477787465f7b2a5f7b2a697c2b5e742955602447581f3043213f4e1e +49732349601f49601f5f7b2a6f8f52576b33576b334b6933496032496032496032 +4b681e68752b556024666b3b556024576b3347581f556024666b3b95885c8b9055 +cccdccc1d4e2d2dee6cdd5ded2dee6d9e6eac5dae4d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d9e6ead9e6ead2dee6d2dee6d2dee6d2dee6d9e6ea +d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6afb9bc81a0896084717090816b8673 +4973233d573b3d4f563d4f5660847196b7ab7090817e9882c1d4e2cdd5dedfe1e6 +d2dee6dfe1e6bacdd9a0b09fa5c4d7b8c3c6d2dee6cdd5ded2dee6dfe1e6dfe1e6 +e0e6e8dfe1e6d9e6eadfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6 +dfe1e6d9e6eadfe1e6d9e6eadfe1e6d9e6eadfe1e6d9e6eae0e6e8d2dee6d4dcd0 +d9e6ead2dee6d2dee6afc0ab7787726f8f526b8545567f3a5474435474434b6933 +41671b3d573b3d5f253d5f253043214b6933547443567f3a3f4e32354c31344d59 +6b86733d5f253d573b657c4470908181a0896b867381a08970908192a88d81a089 +92a88dc1d4e2d2dee6d2dee6dfe1e6d2dee6d9e6eadfe1e6dfe1e6d9e6eadfe1e6 +cdd5ded9e6eacdd5ded9e6ead9e6eadfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6 +d2dee6d9e6ead9e6ead9e6eadfe1e6d2dee6dfe1e6dfe1e6d9e6eadfe1e6d2dee6 +dfe1e6dfe1e6d2dee6d9e6eadfe1e6d2dee6dfe1e6d2dee6d2dee6dfe1e6dfe1e6 +d2dee6d9e6eae0e6e8d9e6eadfe1e6d9e6eadfe1e6dfe1e6d9e6eadfe1e6d9e6ea +d9e6eadfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6dfe1e6d9e6eadfe1e6dfe1e6 +d9e6ead9e6eadfe1e6d9e6eadfe1e6dfe1e6dfe1e6dfe1e6e0e6e8d2dee6dfe1e6 +dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6c0cbb8a3b7a4afc0abb0b8a3 +a0b09f8ea0899ea08a7d90827787469d9981a1b1708ea0898ea0897c90537e9882 +8ea089a0b09fa0b09f8a99aba0b09f77877294afa1aba9a695af7a9ea08aa0b09f +b0b8a392a8b6b8c1afc1c4c7b8c3c692a8b677877292a88d95af7a8b98827c9053 +666c5e4758324e50434960322e3c44475832354c31304321556024627444767b47 +8c98537c90537c9053767b477c905386874a8c98538ea0598ea0599fa8579ea88e +7c90535f7b2a576b3368752b7c90537787468c98537197538ea0598ea059819f59 +92a7597f97537d90828c98537c90537787728ea0898b9882bacdd9afb9bcbacdd9 +d2dee6cdd5deb8c1afcdd5ded4dcd0c0cbb8a3b7a49ea88e87886d7c905387886d +7c9053778746778746657c44666b3b394446354c31637471626e8c9da1ab8b919f +9da1ab9d99819da1abc0b8a68b90803f4e32373e437787729da1ab9ea88e8a99ab +9d9981aba9a6aba9a6c0b8a69a9178666c5e5f61564e4425383c234e4425565838 +574f26666b3b68752b5e74293f4e1e3335222b3322272c1f272c1f2f3c22496032 +697c2b3f4e1e697c2b8b90559d99818c985368752b576a1f41671b4b681e6b852c +76872d708f316b852c5e74294b681e5e74295f7b2a5f7b2a5f7b2a6b852c4b681e +4b681e6b852c4b681e3d5f25547428576b33344d1e54742860832a5474284b681e +3c58225474436b85457197536f8f52a1b170a3b7a48c98538b9033697c2b547428 +7b90347197537d97367787465f7b2a6183456f8f527090817f9753819f5981a089 +a3b7a4aec4d092a88da3b8bc7d90827e98828b98827c90536374714b6933697c2b +68752b657c447c90538ea089a0b09f7787725e7429576a1f4b6933657c4492a759 +8ea059778746547428496032576b3368752b576b3355602447581f354c313a4423 +3d5f254960323c58225f7b2a567f3a56603a4960325560244b69333f4e1e4c5026 +475832556024556024627444576b33666033576b33576b3368752b778746767b47 +c1d4e2bacdd9d2dee6c5dae4d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead9e6ead2dee6dfe1e6d2dee6d2dee6 +dfe1e6d2dee6dfe1e6dfe1e6d9e6ead2dee6b2d2e081a0896b86734973234b6865 +3d573b354c313c586f576a625474436183454b686581a089b0cbdcc5dae4dfe1e6 +d4dcd0d2dee6bacdd981a0899fb0bbc1d4e2bacdd97d98b1b0cbdcdfe1e6d2dee6 +dfe1e6d9e6eadfe1e6dfe1e6d2dee6dfe1e6d9e6eadfe1e6d2dee6d2dee6dfe1e6 +d9e6eadfe1e6d2dee6dfe1e6d9e6ead2dee6dfe1e6d2dee6e0e6e8dfe1e6cdd5de +d4dcd0d9e6eadcd6d6c5dae481a0896f8f52618345547443547443547443547443 +4960323d573b3043213d573b3d5f25567f3a576b333d5f255474283d573b354c31 +6084716084716183456f8f526f8f52608471618345576a6270908192a88d6f8f52 +6f8f52b0cbdcbacdd9dfe1e6d9e6eadfe1e6d2dee6dfe1e6d9e6ead9e6eadfe1e6 +cdd5ded2dee6d2dee6dfe1e6d2dee6d9e6ead2dee6d9e6ead2dee6dfe1e6dfe1e6 +dfe1e6d2dee6dfe1e6e0e6e8e0e6e8d9e6eadfe1e6d9e6ead9e6eadfe1e6d9e6ea +d2dee6dfe1e6dfe1e6d9e6ead9e6ead2dee6e0e6e8dfe1e6d9e6ead9e6eadfe1e6 +d9e6eadfe1e6d2dee6dfe1e6d9e6ead2dee6e0e6e8d2dee6d9e6ead4dcd0dfe1e6 +e0e6e8d2dee6e0e6e8d9e6ead9e6eadfe1e6dfe1e6e0e6e8d4dcd0dfe1e6dfe1e6 +d2dee6dfe1e6d2dee6d9e6eadfe1e6d9e6eadfe1e6d2dee6e0e6e8d9e6eadfe1e6 +d2dee6e0e6e8e0e6e8dfe1e6dfe1e6e0e6e8dfe1e6cdd5dec0cbb8a4bfb5afb9bc +a3b7a492a88d8ea0897787467d90829ea08a8ea0599e98538b98828ea0898b9882 +8b9080aba9a6aba9a68b988292a88d9ea88ea0b09f9ea08ab8c1afa0b09f8ea089 +8b98828b9882a4bfb5b8c3c6b0b8a3a0b09f92a8b69ea88ea0b09f9ea08a7e9882 +7d90826b8673576a62657c4447583249603249603247583247581f41671b7c9053 +8c98538ea0597b90347c90539fa857b1b0699fa8577c90537c9053aea8868ea059 +76872d5f7b2a5e74298c98537c90537c90537c9053a1b1707b90348b90559ea88e +92a88d7c90536b86738ea0598b98828c985392a88d8ea0898ea089bacdd9d4dcd0 +d2dee6c5dae4a0b09f8ea089c0cbb8d2dee6c0cbb8a3b7a48b98828ea0597d9082 +9ea88e8b98827d90828b9882576b334758326374717787724658648ea0899da1ab +8488878488878b908075704d6274444c5026574f26666c5e857d67848887848887 +afb09eafb09e9ea9b4b8c1afaba9a68a99ab757c71373e434e504375704d74643e +4c502655602468752b75704d4c5026342d1f342d1f272c1f272c1f383c2347581f +68752b3a442368752ba1b170aea8868b905568752b576b3347581f54742847581f +68752b5f7b2a708f317b903468752b697c2b76872d60832a6b852c76872d697c2b +60832a6b85455474284b681e3a4423383c233043214973235e74296b852c5e7429 +49601f657c44475832567f3a92a75992a7599fa8578ea0598c98536b852c6b8545 +60832a618345547428576b33547428819f599ea88e92a88d7c90537f975381a089 +81a08992a8b69ea9b48b9882667c746b86736b8545767b47778746697c2b7c9053 +778746657c446f8f52a3b7a4afc0ab8b90806b85457c90536b86735e74295e7429 +8c98538b90555e74294b693354742862744447581f3a44233a44234960323c5822 +3f4e324960324960323d5f254b69334758324758324758324960323c582249601f +576b334c5026496032666b3b55582456583855582475704d778746666b3b666b3b +afb9bccdd5ded2dee6cdd5decdd5ded2dee6d2dee6d2dee6d2dee6c5dae4d9e6ea +d2dee6d9e6ead9e6ead2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d9e6ea +d2dee6d2dee6d2dee6d2dee6d4dcd0d9e6ead4dcd0a3b8bc597c75597c754b6933 +354c31354c3157737649732354744349732360847181a0899fb0bbd2dee6dcd6d6 +c1d4e2afb9bcb8c3c68da0b69ea88e9da1ab8b9882afb9bcc5dae4d2dee6dfe1e6 +dfe1e6d2dee6d2dee6d9e6eadfe1e6d9e6ead2dee6dfe1e6dfe1e6dfe1e6dfe1e6 +d2dee6d9e6ead9e6eadfe1e6d9e6eae0e6e8d9e6eadfe1e6dfe1e6dfe1e6d2dee6 +b8c3c6cdd5deb8c3c6c0cbb892a8b66b86737197534b69334960324b69334b6933 +3d573b344d1e2e3c443f4e324b69336183456f8f524b69333d5f254b6933547443 +81a08981a0896183456183454973236084715474434b6933709081709081567f3a +6084718ea089bacdd9d2dee6d2dee6dfe1e6dfe1e6d9e6ead2dee6d9e6eadfe1e6 +d2dee6d2dee6dfe1e6dfe1e6d9e6ead9e6ead9e6eadfe1e6e0e6e8d9e6ead9e6ea +e0e6e8dfe1e6d9e6ead9e6eadfe1e6d2dee6dfe1e6dfe1e6d2dee6dfe1e6d2dee6 +e0e6e8d2dee6e0e6e8d9e6eadfe1e6dfe1e6dfe1e6d9e6eadfe1e6dfe1e6d9e6ea +d2dee6d2dee6e0e6e8d2dee6dfe1e6e0e6e8d9e6eae0e6e8dfe1e6e0e6e8dfe1e6 +e0e6e8dfe1e6dfe1e6e0e6e8e0e6e8d9e6ead9e6eadfe1e6dfe1e6dfe1e6dfe1e6 +e0e6e8dfe1e6dfe1e6dfe1e6e0e6e8d4dcd0e0e6e8dfe1e6e0e6e8dfe1e6e0e6e8 +d9e6eadfe1e6dfe1e6d9e6eae0e6e8dfe1e6dfe1e6d9e6eac0cbb8b0b8a3afb9bc +b8c1afafb9bc8ea0897f97537c90538b98828b908077874687886d9ea88e9ea88e +94afa19ea88ea1b1708b90557787468ea0898b9882aba9a69ea88e9da1ab7d9082 +a0b09f8b98828ea089a0b09f9da1abafb9bca0b09f92a88d8ea0899ea88e8b9882 +7e988281a08992a88d7d9082597c754b68654b6933344d1e4758325f7b2a7b9034 +7c90538ea0598c98538ea05992a759b0b86c8ea0597f97538c98538b9033778746 +697c2b7c90538c98538ea0597d9736778772657c448ea0595f7b2a5e74297c9053 +8b98827e98828b98828c98538c98537f97538ea0898ea08995af7ab0b8a3cdd5de +d4dcd0d9e6eab8c1af8b98827d90829ea88eb0b8a3c0cbb8b0b8a39ea08a9d9981 +92a7597c9053a0b09fafb09e7787728ea0899fb0bb9da1ab6b86737d9082757c71 +767b47857d679a9178767b475658384c50264e5043565838857d67afb09eb8c1af +c1c4c7c1c4c7aeb0bdaba9a6757c714e4425333522373e43666c5e95885c95885c +666b3b68752b68752b3f4e1e3f4e323a44233a44233335223a4423666b3b697c2b +8b90558b98829fa056aea8869d9981666b3b5560244b681e3f4e1e576a1f576a1f +5560246b85458ea0597f97535f7b2a697c2b60832a5f7b2a6b852c76872d708f31 +6b8545547443657c443c58224b681e5f7b2a49601f47581f4b69334b681e4b681e +6b852c547428344d1e547443819f597787466b852c7b903492a7598ea0598c9835 +68752b4b6933627444576b33657c447c9053afb9bc7c9053627444667c747e9882 +576b337090817e988254744354605f5474435474437b90346b854576872d778746 +627444576b3394afa1bacdd9afb9bc7d90827787466f8f527f97536b852c60832a +7787468b9055576b335e74297787466b85454b681e56603a354c3147581f496032 +49601f4b693347581f54742847581f3f4e1e4960324c502647581f3c58223d5f25 +557f2249603247581f55602447581f627444767b47556024666b3b7787466b8545 +aec4d0c5dae4d2dee6c1d4e2cdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d9e6ead2dee6d2dee6dfe1e6d2dee6 +d9e6ead9e6ead9e6ead2dee6d2dee6c1d4e2cdd5dec5dae4a3b8bc6b8673547443 +3d5f25354c31354c313d573b3d5f25597c7560847196b7abc1d4e2dfe1e6dfe1e6 +bacdd9b8c3c6c0b8a69da1ab8b9882667c7494afb9c1d4e2d9e6eadfe1e6d9e6ea +dfe1e6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6d9e6ead9e6ead2dee6dfe1e6dfe1e6 +d2dee6dfe1e6d9e6eadfe1e6d2dee6dfe1e6d9e6eadfe1e6dfe1e6d9e6ead2dee6 +9fb0bbb8c1afafb9bcc1d4e2a3b7a45474436b86734b69334b6933657c443d5f25 +354c314758322f3c222b33222f3c223f4e324b69334b69333043213d573b4b6933 +6f8f52719753719753618345567f3a4b693341671b547443567f3a567f3a567f3a +70908192a88dbacdd9d2dee6d9e6eadfe1e6d2dee6dfe1e6d2dee6d9e6eadfe1e6 +dfe1e6d9e6ead9e6eadfe1e6d2dee6d9e6ead9e6ead9e6ead2dee6dfe1e6dfe1e6 +d9e6eadfe1e6d9e6eae0e6e8dfe1e6d9e6eadfe1e6dfe1e6d2dee6dfe1e6dfe1e6 +dfe1e6d2dee6dfe1e6dfe1e6d9e6ead2dee6d2dee6dfe1e6d2dee6d9e6eae0e6e8 +dfe1e6d9e6eadfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6dfe1e6d9e6eae0e6e8 +e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d9e6ead9e6eadfe1e6d2dee6e0e6e8 +dfe1e6d2dee6e0e6e8e0e6e8e0e6e8dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8 +dfe1e6d9e6eae0dfc6dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8cccdccafb9bccccdcc +c1c4c7afb9bc9ea88e7d90827787468ea0897d90827787468b9882afb9bcafb9bc +a0b09fa1b1709ea88e8c98537787467d90828b9882b8c1afa0b09fa0b09f9d9981 +afb9bcafb09e7d9082afb9bc8b90807e98828ea0898b98828ea0899ea88e8ea089 +8b9882a3b7a492a88d7e98826f8f52576a62597c7547583256603a7787469ea88e +8c985386874a7b90349fa8578b90559fa8577787467f97538ea059767b47576b33 +5f7b2a76872d8b9055656c265e7429496032576b337787725f7b2a657c446f8f52 +657c447f97537c90537f97538b90806f8f528b98827d9082a0b09fa3b7a4c1d4e2 +d4dcd0dfe1e6cccdcc8b98827c90538b90558b98828c98538ea0899ea88e9ea88e +8c9853778746a3b7a4b8c1af7d9082576a62667c748b98829ea9b47d9082778772 +5f6156867c4c867c4c77874675704d576a625f61568b9080afb9bcc1c4c7cccdcc +cdd5dec0b8a68b98825f61564e4425373e433336426b867387886dada17f95885c +767b47757b2d5658384e504375889b7d9082848887848887657c4486874a86874a +9e98539e98539a91789e985386874a666b3b576b3349601f49601f4b681e5e7429 +3f4e3263747194afa192a88d7f9753576a1f5f7b2a708f316b852c6b852c5f7b2a +576a1f3c58226183454b69333a44233a44232f3c2247581f4b693354742849601f +4b681e5e742947581f49601f7d97367b903477874676872d7b90347b90347b9034 +778746a1b170b0b86c8b905568752b6b8545637471576b334960324b6933608471 +597c757e988281a0898b98824960326084717d90827787466b85457787466b8545 +657c4470908192a8b6c0cbb88b919f767b477c9053627444618345697c2b708f31 +7c90539e98535e7429576b335e74295f7b2a5f7b2a496032496032344d1e3f4e1e +576b333c58224758323d5f253c58223f4e324758323f4e323a4423344d1e3c5822 +5f7b2a576b3349601f55602455602456603a666033666b3b66603356603a666033 +aec4d0cdd5dec1d4e2cccdcccdd5ded2dee6d2dee6d2dee6d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d2dee6d2dee6d2dee6dfe1e6 +d2dee6d2dee6d2dee6dfe1e6dfe1e69fb0bb94afa1bacdd9c5dae4a4bfb5709081 +5474433d573b344d593d573b3c586f6b8673587ca094afb9c5dae4dfe1e6d2dee6 +d2dee69fb0bbafb09e9ea88e8ea0898ea0898b919fb8c3c6d2dee6dfe1e6d2dee6 +d9e6ead9e6eadfe1e6d9e6ead2dee6dfe1e6d2dee6dfe1e6dfe1e6d9e6eae0e6e8 +e0e6e8dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8d2dee6dfe1e6d4dcd0c1d4e2 +bacdd98b988294afa19fb0bb96b7ab657c446b8545567f3a547443576b333c5822 +3d573b2b33222f3c22262e352a34382f3c22354c31344d1e354c31354c31709081 +576a62547443567f3a4b69333d573b30444d354c313d5f254b6933547443567f3a +719753709081afb9bcd2dee6d2dee6d2dee6dfe1e6d9e6eadfe1e6dfe1e6d9e6ea +dfe1e6dfe1e6d2dee6d9e6eae0e6e8d9e6eadfe1e6d9e6eadfe1e6d9e6ead2dee6 +dfe1e6d2dee6dfe1e6d9e6eadfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6d9e6ea +dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6d9e6eadfe1e6d9e6ea +d9e6eadfe1e6d9e6eadfe1e6d4dcd0d9e6ead9e6ead9e6ead9e6eadfe1e6dfe1e6 +dfe1e6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8d2dee6e0e6e8e0e6e8d4dcd0 +dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8e0e6e8dfe1e6 +dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6cdd5deafb9bccccdcc +b8c3c6cccdccb0b8a37d90829ea08a9ea88e7d90827c90538b98829ea08aa0b09f +9ea08a9ea08a92a88d8b90806b85457787467c905387886d8ea089aeb0bda3b7a4 +9ea08ac1c2aea0b09fa0b09f7d908292a88da0b09f9ea88e9ea08aafb09ea0b09f +8b988294afa17d90827d90827d90825474436374713f4e322f3c22666c5e8ea059 +9fa857a1b1708c983592a75986874a7c90536b85457c90537c9053627444556024 +576a1f778746767b476b854568752b627444627444657c44778746567f3a657c44 +7c9053667c7492a88d7c90537787726274447d908281a08981a089b0b8a3c0cbb8 +d4dcd0dfe1e6d4dcd0cccdcca0b09f8b9882afb09e7c90537b90348c98538c9853 +7787468b905587886d8b90558ea059767b477c90538ea0599ea88e7c9053778746 +767b4786874a87886d857d678b9080aba9a6b0b8a3c1c4c7cccdccc0b8a68a99ab +848887757c718b919f7787724e50433a44234658649ea08a9ea08ac0b1979fa056 +76872d767b475558244e504354605f84888784888754605f565838778746778746 +9a9178778746857d67767b47666b3b87886d778772576b33576b33547443767b47 +576a624960327c9053709081a3b7a47e98828ea0597787464b681e5e742960832a +6f8f525f7b2a576b334b681e3c5822475832697c2b7f975376872d697c2b4b681e +576b33697c2b576a1f3c58226f8f527787467b90347d97367b90347b90348c9835 +92a7597c90538b90558c9853656c26656c26556024576b33576b33719753819f59 +92a88d7d9082757c717090816274447e98828ea0897e9882767b474b69338b9080 +afc0abbacdd9afc0abb0b8a3667c74666b3b778746657c44656c26697c2b76872d +8c9853778746576b33576b33576b3349601f49601f3f4e1e576a1f576b33576b33 +475832344d1e47581f4960324960323c58224960323f4e1e344d1e3f4e32496032 +4960324c5026576b33576b33666b3b496032556024666b3b666b3b475832565838 +a4bfb5afb9bcaec4d0bacdd9cdd5ded2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6 +d2dee6dfe1e6d9e6ead2dee6d2dee6d2dee6d2dee6d9e6ead2dee6d9e6ead2dee6 +dfe1e6d2dee6dfe1e6d2dee6d2dee6a4bfb56084717e988296b7ab94afa1618345 +4973234973234973234b686554744381a08992a8b692a8b6c0cbb8d2dee6d2dee6 +d9e6ead2dee6aba9a68488879fb0bb8da0b692a8b6d2dee6d2dee6d2dee6d2dee6 +dfe1e6d2dee6d9e6eadfe1e6dfe1e6dfe1e6d9e6ead2dee6dfe1e6d2dee6dfe1e6 +d2dee6dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6d4dcd0afb9bc +b0b8a37090816b86737d90827e9882657c44657c44547443657c446b8545496032 +354c312b33222f3c22272c1f3335223f4e323d573b304321304321344d594b6933 +354c31304321576a62475832344d1e3043213043214b6865547443547443567f3a +567f3a608471b8c3c6b8c3c6cdd5ded2dee6d2dee6d9e6ead9e6ead9e6ead2dee6 +dfe1e6dfe1e6dfe1e6d9e6eadfe1e6d9e6ead9e6ead9e6eadfe1e6e0e6e8e0e6e8 +e0e6e8dfe1e6d9e6eadfe1e6d9e6eadfe1e6d9e6ead9e6eadfe1e6d9e6ead9e6ea +dfe1e6d9e6ead9e6eadfe1e6d2dee6d9e6ead2dee6dfe1e6d2dee6dfe1e6d9e6ea +d9e6ead2dee6dfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6d9e6ead2dee6e0e6e8 +e0e6e8e0e6e8d9e6ead9e6eadfe1e6d9e6eadfe1e6d4dcd0dfe1e6dfe1e6dfe1e6 +d2dee6dfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8ebeae7 +dfe1e6dfe1e6e0e6e8cdd5ded4dcd0d4dcd0dfe1e6dfe1e6dcd6d6afb09ec1d4e2 +c1c2aec1d4e29ea88e8b9882b0b8a39ea88eafb09e9e98538b98829ea88e8c9853 +92a7599fa0568ea0899ea88e8b98827c90537787468b90808b9882b0b8a3c1c2ae +8b9882ada17fb8c1af9fb0bb8b988292a88d7d9082a0b09f8b98829ea88e8ea089 +7787726b86737d90827787724b6933475832637471576a62304321496032778746 +8c98537787468c98538ea83e8b90338c98537f97537b90346b852c5e74296b8545 +697c2b5f7b2a68752b8c98538c985376872d576b33576b33666b3b77874686874a +7787466b85457d90827f9753778772576b33576a6281a089a3b7a4afc0ab92a88d +c1c4c7dfe1e6dfe1e6e0e6e8c0cbb8c0cbb8c1c4c78b9033576b33697c2b76872d +76872d778746656c265e74296b85456b8545697c2b68752b7787465e7429697c2b +819f598ea0598b90809e985386874aafb09ec0b8a69ea9b48b919f9da1ab9d9981 +9a9178aba9a6c0b8a68b90805f615687886d8b905595885c857d6795885c9e9853 +76872d757b2d576b3354605f757c71637471342d1f383c23666b3b87886d8c9853 +95885c8b90809ea88e757c718b9882a0b09fa0b09f8b98828b988292a8b6b0b8a3 +666c5e4960326f8f527d9082a0b09fcdd5deb8c3c6757c713a44233d5f25697c2b +5f7b2a4b681e576a1f4b6933576a1f7c90538b903392a7597c90538c98538c9853 +8c98538e9f3b76872d5e74297d97367c90538c98537b90347b90347b9034697c2b +757b2d5e742968752b576a1f496032576b333f4e323f4e326b85458ea089a3b7a4 +a0b09f8b98826274447090816274444b6933576a626b8673697c2b5e74298ea089 +c0cbb8afc0ab9da1ab8488877c9053576b33576b33767b47666b3b5e7429576b33 +697c2b767b476274444b69334b69335560243f4e323c5822576a1f5e7429657c44 +5560244b69335e74293f4e1e496032576b3356603a576b334960324c502647581f +56603a55582455602486874a55602447581f627444666b3b666b3b666033565838 +a5c4d792a8b69ea9b4bacdd9c5dae4cdd5ded2dee6cdd5decdd5decdd5ded2dee6 +d2dee6d2dee6d2dee6d9e6ead2dee6d9e6eadfe1e6d2dee6d9e6ead9e6eadfe1e6 +d2dee6dfe1e6d4dcd0dfe1e6d2dee6bacdd996b7ab608471608471719753719753 +5474435474433d5f253d5f254b6865709081618345597c757e9882bacdd99fb0bb +b8c3c6d2dee6c0cbb88ea08992a88d8b98829ea9b4cdd5dedcd6d6bacdd9b8c3c6 +d2dee6d2dee6dfe1e6dfe1e6d2dee6d2dee6dfe1e6dfe1e6dfe1e6d9e6eadfe1e6 +dfe1e6dfe1e6d9e6eadfe1e6dfe1e6d9e6eadcd6d6d2dee6dfe1e6d4dcd0a3b8bc +92a88d7e98826183456183457090816b86735474286183454b69336f8f524b6933 +3c58223043212e3c44272c1f2e3c44547443344d1e3d573b354c31354c31475832 +3d5f253f4e1e3944463c58223d5f253043212e3c4449603254605f496032547443 +4b6933667c7494afb99fb0bbafb9bccdd5ded2dee6dfe1e6d2dee6dfe1e6dfe1e6 +d9e6ead9e6ead9e6eadfe1e6dfe1e6dfe1e6dfe1e6d9e6eae0e6e8e0e6e8d2dee6 +d9e6ead9e6eadfe1e6d9e6eae0e6e8d9e6eae0e6e8d2dee6d9e6ead9e6ead9e6ea +dfe1e6dfe1e6dfe1e6d9e6ead9e6ead9e6eadfe1e6dfe1e6e0e6e8d2dee6d9e6ea +d2dee6dfe1e6d9e6ead9e6ead2dee6dfe1e6d9e6eadfe1e6d4dcd0dfe1e6d9e6ea +dfe1e6d2dee6dfe1e6d4dcd0dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d4dcd0dfe1e6 +d4dcd0d9e6eadfe1e6d2dee6d9e6eadfe1e6dfe1e6dfe1e6dfe1e6ebeae7dfe1e6 +ebeae7dfe1e6dcd6d6cccdccd4dcd0cdd5decdd5dedcd6d6c0cbb8c1c4c7c1c4c7 +b0b8a3afb09ec1c2aec0b8a6cccdccc0b8a6c1c2ae8b90558ea089afb09e9ea08a +9ea88e9ea88e9fa0569ea08a87886d7787467c90537f975387886dc0b8a6afb9bc +9d99818b9080a0b09fafb09e92a88da3b8bc8ea0899ea88e9ea88e92a88d7e9882 +6b85457d90827d9082667c744b69336b86737f97537e9882547443576b3356603a +8c98537b90347787466b85455e74297c905368752b6f8f526b85457787468c9853 +656c26576b337787468c98538c9853666b3b778746767b4762744484888792a88d +8b98828ea08981a08987886d778746627444576b337787729ea9b4a3b7a48b9080 +94afa1d4dcd0d2dee6dfe1e6cccdcccdd5dec0cbb8778772767b478c9853778746 +757b2d778746697c2b5e7429767b4786874a767b47556024697c2b6b852c6b852c +8b90558b90559e98538b988295885c9ea08a9ea08aada17fada17fc0b197aba9a6 +9d9981ada17fada17f857d6787886d9a91789da1abc1c2aec1c2aeaba9a68b9033 +7b9034778746697c2b63747175889b666c5e4e44255f61568c9853aea8869e9853 +8b90559ea08a92a88d848887b0b8a3b8c3c68a99ab9ea9b4b8c1afb8c3c6cccdcc +7d9082576b33767b4768752b5f615654605f4e50433a44232b33224758325e7429 +657c443c58226b85455f7b2a7787468ea0598c985376872d76872d80a03b8ea059 +91af499fa8578e9f3b8c98538e9f3b7b903460832a697c2b6b852c7d9736697c2b +576a1f697c2b778746576b3349601f4b69335e7429767b476b85457f97538b9055 +8ea0598ea0597e98827e98826b86736183457197536b86736b85456183456f8f52 +8b90807e988292a88da4bfb57d90826b8545576b3362744487886d697c2b5e7429 +697c2b5558246660333a44233f4e323a44234b6933656c266274444b681e5e7429 +496032666b3b4b69334758323a44232f3c22354c31657c44666033576b33576b33 +8b903387872c6b8545778746656c26576a1f666033666b3b666033576b33576b33 +bacdd9b0b8a3a0b09fcccdccd2dee6cdd5decdd5dec1c4c7c1d4e2d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d9e6ead2dee6dfe1e6d2dee6d2dee6d2dee6d2dee6 +dfe1e6d2dee6dfe1e6d2dee6d4dcd0afb9bc94afa181a089608471567f3a547443 +4b69333d5f253d573b3d5f254b6933608471567f3a60847196b7ab94afb98b9882 +8ea089a0b09fafc0ab7d9082627444778772aeb0bdb8c3c69fb0bbb8c3c6d2dee6 +d2dee6d9e6ead9e6eadfe1e6dfe1e6d2dee6dfe1e6d2dee6dfe1e6d9e6ead9e6ea +d9e6eadfe1e6dfe1e6dfe1e6d9e6eadfe1e6d4dcd0cccdccd9e6ead2dee6b8c3c6 +7e9882719753657c444b69334b69334b6933657c44618345547428657c44576b33 +4b69332f3c22394446272c1f3a44234b6933354c313d573b3f4e324960324b6933 +4b69333d5f253f4e1e344d1e3d5f252f3c22354c31608471618345567f3a618345 +5474434b69337d98b194afa18ea089cdd5ded9e6eadfe1e6d9e6eadfe1e6dfe1e6 +d2dee6dfe1e6d9e6ead9e6eadfe1e6dfe1e6d2dee6dfe1e6d9e6eae0e6e8dfe1e6 +d9e6eadfe1e6dfe1e6e0e6e8dfe1e6d9e6eae0e6e8dfe1e6d9e6eadfe1e6d9e6ea +d9e6eadfe1e6dfe1e6d9e6eadfe1e6d9e6ead9e6eadfe1e6d9e6eae0e6e8d9e6ea +e0e6e8d9e6eae0e6e8dfe1e6e0e6e8d2dee6d9e6eadfe1e6dfe1e6dfe1e6d9e6ea +dfe1e6d2dee6dfe1e6d4dcd0dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6d9e6eae0e6e8 +dfe1e6d2dee6e0e6e8dfe1e6d9e6eadfe1e6e0e6e8e0dfc6ebeae7e0e6e8ebeae7 +ebeae7dcd6d6c1c4c7c1c4c7cdd5dec1c4c7b8c1afb8c1afaeb0bdcccdcccccdcc +9ea88eaba9a6c1c2aecccdccc1c4c7afb9bccdd5deada17fb0b8a3c1c2aeaea886 +9ea88eb1b0699ea08a8c985387886d6183457e98828ea0596b85459ea88eb8c1af +9ea08aa0b09fa0b09f9da1ab9da1aba0b09f92a88d8b9882a0b09f9fb0bb8b9882 +7d90828ea089a0b09f7787724b686592a759667c746274444b69333c58226b8545 +8ea05968752b68752b697c2b4b681e7c9053576b33697c2b7b9034697c2b8c9853 +697c2b657c44697c2b7c9053778746757b2d778746767b47767b47666b3b7d9082 +7c90537787726b8545627444627444576b33657c447787467e9882bacdd9afb09e +a3b7a4cdd5dedcd6d6d9e6eac1c2ae8b98828ea08968752b8c98539ea08a5e7429 +7787467787467c90537b90346b852c8b90558c9853767b47757b2d77874668752b +77874686874a9f91548b905595885c87886daea886aba9a6aba9a6aba9a69d9981 +ada17fafb09ec1c2aec0b197c1c2aec0b8a6cccdcccccdcce0dfc6afb09e87872c +7787467787465e74299d99819ea88e87886d75704d9d99819fa0569ea08a767b47 +8b9055aba9a68ea0898b9882afc0abb8c1af9da1abcccdcccdd5decccdccdcd6d6 +b8c3c68b98826b85455e74293f4e1e3a44233a4423333522272c1f2b33222f3c22 +576b33344d1e627444a0b09f8ea0598c98538e9f3b8c98538b90338ea0599fa857 +9fa8578ea0598c98538c98357787465e7429576a1f7b90347f97537d973676872d +697c2b7b90348ea059697c2b6b852c76872d7c90537787467787467c90538ea089 +7c90539ea88e95af7a657c44657c444b69334b6933709081666b3b6183457c9053 +8c98536b86738b988294afa1667c745e742949601f576b33576b338b9055627444 +576b333f4e324758323f4e1e2f3c22576b33657c44778746656c26657c44556024 +3f4e3247583249601f4758325e74293a442362744492a75986874a767b47576b33 +6b85458b903368752b627444767b4768752b55602462744468752b857d67666033 +a4bfb5a3b8bca3b8bca3b8bcc1d4e2d2dee6d2dee6cdd5ded2dee6d2dee6dfe1e6 +d2dee6dfe1e6d2dee6d2dee6d9e6ead9e6ead9e6ead2dee6d2dee6dfe1e6dfe1e6 +d2dee6dfe1e6d2dee6dfe1e6dfe1e6bacdd992a8b681a089719753497323597c75 +3d5f25344d592e3c443d573b567f3a54744354744381a08996b7ab7a91a8819fb7 +bacdd97787728b9882657c44576b33637471757c71757c71b8c3c6c1d4e2afb9bc +cdd5ded2dee6dfe1e6d2dee6d9e6eadfe1e6d9e6eadfe1e6dfe1e6dfe1e6d2dee6 +d2dee6dfe1e6d2dee6dfe1e6dfe1e6e0e6e8cdd5deb8c3c6c1c4c7d2dee6afc0ab +7e9882597c755474434960324b69334b69333d5f25576b333d573b4b69334b6933 +496032344d1e272c1f272c1f3d4f565e7429496032344d1e354c313c58225e7429 +567f3a5f7b2a567f3a3d573b3c5822547443497323618345597c75497323567f3a +4b69334b6933597c7570908181a089cdd5ded2dee6d9e6eae0e6e8d9e6ead9e6ea +e0e6e8d9e6eadfe1e6d9e6eadfe1e6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8d9e6ea +dfe1e6d9e6ead9e6ead9e6ead9e6ead9e6eadfe1e6d9e6ead9e6eae0e6e8d2dee6 +dfe1e6d9e6ead9e6eadfe1e6dfe1e6d2dee6dfe1e6d9e6eadfe1e6e0e6e8d2dee6 +d9e6eadfe1e6e0e6e8d4dcd0dfe1e6d9e6eadfe1e6d9e6ead9e6eadfe1e6dfe1e6 +d9e6eadfe1e6cdd5decdd5dedfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6 +d4dcd0dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6ebeae7dfe1e6dfe1e6 +ebeae7d4dcd0cccdccc0cbb8c0cbb8c1d4e2afb09eaba9a6afb09eb0b8a3c1c4c7 +aea886a0b09fb0b8a3afb09e9ea08ac0b197b0b8a39ea88ec1c2aecccdccc0b8a6 +c0b8a6afb09eb0b8a38b98828c98537787468b98827d90828b98828b9882b0b8a3 +afb09eafb09eafb9bc9d99819ea88ea3b7a48b9882b0b8a3a3b7a4a0b09f8b9882 +92a88d81a08994afa18ea089576a62657c44475832576b333c5822657c448ea059 +8ea0597c90537c90537c9053656c26576b33556024657c448c98537f97538b9055 +556024767b47697c2b697c2b697c2b62744468752b666b3b8c98538b90559ea08a +8ea05987886d767b47767b47627444657c447c9053657c447d9082c0cbb8bacdd9 +c1c4c7cdd5dedfe1e6dfe1e6d4dcd0afb09e767b4776872d7c9053697c2b75704d +576b33697c2b757b2d7b9034767b479e98538c98538b9033767b47757b2d76872d +656c26767b478b90558b9055857d6787886d87886dc0b8a6c0b197c1c2aeafb09e +9a9178ada17faeb0bdcccdcccccdccafb9bcc1c4c7cdd5dec0cbb89d99819fa857 +9fa0569fa8579ea88eb8c1afc1c2aeafb09eb1b069ada17f857d679a91788b9080 +778772afb09e9ea88e8b9080cccdccafb9bcaba9a6b8c3c6dcd6d6dfe1e6d2dee6 +aeb0bd8b9080556024576b3349601f2f3c223f4e32383c23333522272c1f2b3322 +5e7429576b337f97539fa0568c985387872c8ea05992a7598c98538e9f3b8c9835 +a1af4e9fa8578e9f3b8e9f3b7d97367b9034697c2b8ea0598c98538c983576872d +76872d76872d76872d6b85457787466b852c68752b6b854577874676872d7c9053 +7c90538c98539ea88e7f97536274443d5f255474435e742949601f547443576b33 +7787466b85457c9053667c74657c446274444960323c5822496032666b3b767b47 +556024555824576b33576b33666b3b576b33576b3356603a496032656c2649601f +344d1e47581f576b333c58224b6933576b33576b33778746847144576a1f576b33 +666033576a1f657c446b852c778746767b47697c2b62744468752b6660334c5026 +a0b09f92a88d94afb98da0b6b0cbdccdd5ded2dee6cdd5decdd5ded2dee6dfe1e6 +d2dee6d2dee6dfe1e6d2dee6d2dee6d2dee6d9e6ead2dee6dfe1e6d2dee6d2dee6 +dfe1e6dfe1e6d9e6ead2dee6dfe1e6d2dee6b0cbdc709081709081567f3a4b6933 +3f4e323043213043213043213d5f253c5822344d593d573b81a089afb9bcc0cbb8 +bacdd992a88d6b85456274446b867377877275889b84888792a8b6709081aec4d0 +d2dee6dfe1e6dfe1e6dfe1e6d9e6ead2dee6d9e6ead2dee6d9e6eadfe1e6dfe1e6 +d9e6eadfe1e6e0e6e8dfe1e6d9e6eadfe1e6d2dee6a4bfb59fb0bbd2dee6bacdd9 +81a0896f8f525474433d573b496032354c3130444d547443547428657c444b6933 +4960323d573b2b33222b33223a4423657c44657c444960324b69334b6933697c2b +5474283c58225474284b6933497323697c2b60832a567f3a49601f576b335f7b2a +4758324960324b693370908181a089cdd5ded4dcd0dfe1e6d9e6ead9e6eadfe1e6 +d2dee6e0e6e8dfe1e6d9e6eae0e6e8dfe1e6d2dee6dfe1e6d9e6eadfe1e6dfe1e6 +dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d9e6eae0e6e8dfe1e6d9e6eae0e6e8d9e6ea +e0e6e8d9e6ead9e6eadfe1e6d2dee6e0e6e8d9e6eadfe1e6d2dee6e0e6e8dfe1e6 +d9e6eadfe1e6d9e6eae0e6e8dfe1e6d2dee6e0e6e8dfe1e6dfe1e6d2dee6e0e6e8 +d2dee6e0e6e8dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6 +dfe1e6dfe1e6e0e6e8e0e6e8dfe1e6e0e6e8ebeae7dfe1e6ebeae7ebeae7dfe1e6 +ebeae7dfe1e6dcd6d6c1c2aec0b8a6afb09e8ea089b0b8a3afb09eb0b8a3c1c2ae +afb09eb1b069aba9a6c1c2aeafb09eaba9a69d9981c1c4c7cfc6b8d3cea2cccdcc +b8c1af9d99819ea88e7787467787468b9882a0b09f8b98828b98828b98829ea88e +aea886b0b8a3bacdd9afb09eafb09eaba9a69ea08aa3b8bc9ea08a8ea089848887 +667c746b8545667c746b8545627444666b3b47581f576a1f3043214758326f8f52 +7d97367c90538b90338ea0598ea05968752b68752b68752b7787468c9853697c2b +4b681e757b2d68752b767b47576b337c90537c9053778746767b479ea88ecccdcc +afb09e8c98538c9853778746778746576b337d90828c98538ea059b0b8a3cdd5de +e0dfc6dfe1e6d4dcd0e0e6e8d4dcd0d4dcd0b0b8a37787467787467c90538c9853 +666b3b75704d76872d697c2b576a1f68752b778746656c26666b3b666b3b767b47 +68752b767b47857d678b905587886daba9a687886d9a9178c1c4c7c0b8a6aba9a6 +8b9882b2a856b0b8a3cccdccdcd6d6dcd6d6cfc6b8c1c2aeada17f9d9981afb09e +b1b069c0b197c0b8a6c3c17ac1c2aec0b1979d9981867c4c757c71c0b8a6b8c1af +c0b8a6afb9bcaba9a6778772dcd6d6c0cbb8aeb0bd8b9882c1c4c7dcd6d6dfe1e6 +aba9a68b98825e74297787465e74295560243f4e1e3f4e1e333522333522304321 +60832a92a7598ea0599fa8578c98538b90338c98539e98537b90347b90348c9853 +7c905376872d7c905376872d8c985376872d7b90347b90347d97368ea0597b9034 +7b903476872d5e7429697c2b5e7429576b33576b336b852c77874676872d8c9853 +7787467c90539ea88e7f9753767b475e7429708f317b9034576b33697c2b778746 +8b90556b85456b852c778746819f59778772576b3349601f576a1f56603a778746 +778746767b47697c2b657c4477874649601f576b33697c2b496032697c2b576b33 +4b681e6b85457b9034778746697c2b767b475e742968752b75704d666b3b697c2b +576b333f4e1e5558244b69336b852c8b90338c9853656c26666c5e778746666033 +a0b09f7e98826f8f527a91a8aec4d0cdd5decccdccbacdd9d2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6 +dfe1e6d2dee6c5dae4cccdccd2dee6cdd5deb0cbdc92a88d7090814b68654b6933 +5474433d573b354c314b686541671b3d5f253043215773769ea88e8ea089778772 +7e988294afa17d9082576a62667c749da1ab9fb0bb94afa1556c847d9082c1d4e2 +dfe1e6dfe1e6d2dee6d9e6ead9e6ead9e6eadfe1e6dfe1e6d2dee6d2dee6dfe1e6 +dfe1e6d2dee6dfe1e6dfe1e6dfe1e6d9e6ead2dee6afc0ab757c71a0b09fc0cbb8 +7e9882657c444b69333d573b576b333c5822496032547443547443475832547443 +4b69334758322f3c222b33222e3c445f7b2a4b69335474435e742949601f5f7b2a +4b69332f3c224758323c5822576b335f7b2a5f7b2a567f3a4b69333c5822657c44 +3d5f253c582241671b657c448da0b6cccdccb8c3c6cdd5ded2dee6d9e6eae0e6e8 +e0e6e8d9e6eae0e6e8dfe1e6d9e6ead2dee6dfe1e6e0e6e8e0e6e8d9e6ead9e6ea +d9e6ead9e6ead9e6ead9e6eae0e6e8dfe1e6d9e6eae0e6e8dfe1e6dfe1e6dfe1e6 +d9e6eadfe1e6d2dee6e0e6e8dfe1e6dfe1e6dfe1e6d2dee6dfe1e6d9e6ead9e6ea +d9e6eae0e6e8d2dee6dfe1e6e0e6e8e0e6e8d2dee6d2dee6e0e6e8e0e6e8dfe1e6 +d9e6eadfe1e6d2dee6dfe1e6d9e6eadfe1e6d9e6ead2dee6dfe1e6e0e6e8d2dee6 +e0e6e8dfe1e6ebeae7ebeae7dfe1e6ebeae7dfe1e6ebeae7ebeae7ebeae7ebeae7 +ebeae7e0e6e8cdd5deb8c1afb8c1af9ea08aa0b09f9ea88e9ea88eaba9a6c0b197 +c0cbb8c1c2aec0b8a6cfc6b8b0b8a3afb09e9d9981c1c4c7cccdccc1c2aec0b8a6 +afb09e9ea88e9e98537787728ea0598b988287886d8c98537787727787469ea88e +9ea08ac1c2aeaeb0bd9d99818b98829ea88e8b988292a8b69ea88e8ea0897c9053 +56603a496032576a62657c44576b3349601f576a1f576b332f3c2256603a7b9034 +8ea0597787467787467b90347c90538c98537787467787467b90347c9053576a1f +56583868752b627444656c26757b2d8c985386874a697c2b576b33afb09ec1c2ae +afb09e87886d7787468b98827787466f8f529ea88eafb09e8c98538b9882cccdcc +d4dcd0dcd6d6dfe1e6dfe1e6dfe1e6dcd6d6c1c2aea1b170b0b8a3b0b8a39ea88e +8b90558b98828b90338b9055666b3b867c4c77874668752b68752b86874a767b47 +576b338c9853757c71767b478ea0899ea08a8b9080857d67aba9a6cccdcca1b170 +9d99818b90558b9882c1c2aedcd6d6dfe1e6dcd6d6c0b8a6aea8869ea08a95885c +867c4cada17faea886c0b197c4a979ada17f95885c666b3b8b9882afb9bccfc6b8 +c1c4c7c1c2ae9ea08a87886dcdd5dedfe1e6c1d4e29ea9b4bacdd9dfe1e6dcd6d6 +b0b8a37c9053697c2b60832a697c2b6274443f4e1e656c263a4423383c233f4e1e +77874676872d8c98358ea0599fa85792a7599fa8578b90337c90537d9736697c2b +4b681e555824556024576a1f697c2b68752b697c2b7b903492a759757b2d76872d +6b852c5e7429556024657c44576b334b681e49601f7787467c90539fa8578ea089 +7787465474437b9034819f597787464b681e60832a6b854586874a76872d7f9753 +8b9055778746778746697c2b6f8f526b8545697c2b556024627444556024778746 +7c9053767b47666b3b656c2676872d7c90538e9f3b92a7598ea0597b9034778746 +697c2b757b2d576a1f666b3b757b2d76872d8ea0598c983586874a86874a767b47 +576b33576a1f5e7429555824767b47576b3376872d5560244c50265f6156576b33 +92a88d70908160847157737681a089b8c3c6afb9bcaec4d0cdd5ded2dee6d2dee6 +d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6d2dee6 +dfe1e6d9e6eaa4bfb58b9882c5dae4cccdccc0cbb8a4bfb57e98825474434b6933 +3d573b2e3c44344d1e4973233d5f253c586f6b8673afb9bcbacdd97d90824b6933 +597c7581a0896b86734b69333f4e323d573b576a625474437197b4b8c3c6d2dee6 +d2dee6dfe1e6dfe1e6dfe1e6d2dee6d9e6eae0e6e8dfe1e6dfe1e6d9e6eadfe1e6 +dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6c5dae47d908260847192a88d +81a089657c44567f3a3d5f253d573b354c3162744460832a6183455474433d5f25 +5474433f4e322a34382b33222f3c225f7b2a657c444b69334b69334b6933496032 +4758323043213d573b4b69336183455474284973234b69334b69334b69336f8f52 +4b6933547428618345547443aec4d0b8c3c68da0b69fb0bbcdd5dedfe1e6dfe1e6 +dfe1e6d9e6eadfe1e6dfe1e6e0e6e8d2dee6d2dee6dfe1e6dfe1e6dfe1e6e0e6e8 +dfe1e6dfe1e6d2dee6dfe1e6d9e6ead9e6ead9e6eadfe1e6e0e6e8e0e6e8d2dee6 +e0e6e8dfe1e6e0e6e8dfe1e6dfe1e6d9e6eae0e6e8d9e6eae0e6e8dfe1e6e0e6e8 +e0e6e8dfe1e6e0e6e8d4dcd0dfe1e6dfe1e6e0e6e8d9e6ead9e6ead2dee6dfe1e6 +dfe1e6cdd5ded4dcd0d2dee6dfe1e6dfe1e6d4dcd0e0e6e8d9e6ead2dee6dfe1e6 +dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6ebeae7dfe1e6ebeae7 +dfe1e6e0dfc6dcd6d6cccdccb8c1afb0b8a3afb09ea0b09f8b98829ea08ac1c2ae +afb09ecccdcccdd5dec1c2aecfc6b8cfc6b8afb09e9ea08ac0b8a6c0b8a6aea886 +afb09e9fa8578b98827c90537c90538b98828b90558b98827787467c90538ea059 +9fa056afb09e9ea88e8ea0898b98828ea0898b988292a8b6a0b09f7d9082657c44 +576b3347581f576b336274444960324758324758325474435e74298b9055a1b170 +a1af4ea1b170b1af4d8ea0598ea0597c90536b852c8b90556b8545757b2d576a1f +56603a657c447787466274447f97538c985368752b576b336b854587886d9d9981 +8b988286874a9ea88e7c90538ea0897787728b98828b98827c90539ea88eb8c3c6 +afb9bcdcd6d6dfe1e6dfe1e6e0e6e8dfe1e6dcd6d6dcd6d6dfe1e6cdd5dec1c2ae +8ea089a1b170afb09e8ea0599ea88e9ea88e9fa0567787468b90559a91788c9853 +778772778772576b33627444afc0abc0cbb89ea88eaeb0bd8b9080c0b8a6aba9a6 +8b90557787467787469ea9b4cdd5dedcd6d6cfc6b8afb09ec0b8a6aea886b2a053 +ab9158ada17f9d9981ada17fada17f9a917895885c74643e848887afb9bcaeb0bd +cfc6b8cfc6b88b9080778772cccdccdcd6d6d4dcd0cfc6b8cccdccdfe1e6cdd5de +b0b8a37c9053697c2b6f8f52697c2b5e74294b681e697c2b47581f4b681e5e7429 +7f97537b90348c9853a1af4e9fa8577787468ea0597b903476872d8c985368752b +5e7429576b33576a1f6b852c7d9736708f315f7b2a697c2b76872d76872d76872d +7787467787465e74295e742947581f49601f6b854576872d7b90348b9055767b47 +9ea88e7f97537c90539fa85792a75976872d576a1f4b681e7787466b85457d9736 +7b90347c90538ea059697c2b5f7b2a6b852c68752b68752b7787467b9034697c2b +7787467c90538b905577874676872d8c98538b9033a1b1708e9f3b8b90338c9853 +7c90538b9055697c2b657c4468752b68752b77874676872d8b9033767b47766427 +47581f6b852c8b9033778746766e2d56603a666b3b778746666b3b56603a666b3b +7d90827197536b86734b68656886a68da0b6a3b8bcb8c3c6c1d4e2d2dee6d2dee6 +dfe1e6d2dee6dfe1e6d2dee6d2dee6d2dee6dfe1e6dfe1e6d2dee6d2dee6d4dcd0 +d2dee6d2dee6bacdd981a08994afa194afa194afa1719753618345567f3a41671b +344d1e3043214b686541671b354c31344d59627d9981a08992a88d667c743d5f25 +576a624b69334960656b86734b68654960324b6933597c7581a0899fb0bbcdd5de +d2dee6dfe1e6d2dee6dfe1e6dfe1e6d9e6eadfe1e6d9e6eadfe1e6e0e6e8dfe1e6 +dfe1e6dfe1e6d9e6ead9e6eadfe1e6d2dee6dfe1e6c0cbb87e98826183455f7b2a +657c44657c44778746576b33576b334b69334b6933576b33496032496032496032 +4b6933344d1e3043212b33223d573b4b69334b6933576b33576b33496032576b33 +4b681e4b681e576b335474283d5f2541671b4b693341671b344d1e4b681e4b6933 +344d1e576b33567f3a6b8673b8c3c681a089667c74afc0abd2dee6dfe1e6dfe1e6 +e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6d2dee6d4dcd0d9e6eadfe1e6e0e6e8dfe1e6 +e0e6e8dfe1e6dfe1e6d9e6eadfe1e6e0e6e8dfe1e6d9e6eadfe1e6dfe1e6dfe1e6 +dfe1e6e0e6e8d9e6eadfe1e6dfe1e6e0e6e8e0e6e8d2dee6d9e6eadfe1e6d9e6ea +e0e6e8e0e6e8dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6d2dee6d2dee6 +dfe1e6c1c4c7dcd6d6d4dcd0e0e6e8d2dee6dfe1e6dfe1e6d9e6eadfe1e6dfe1e6 +dfe1e6dcd6d6dfe1e6dfe1e6ebeae7dfe1e6ebeae7ebeae7dfe1e6dcd6d6ebeae7 +dfe1e6dfe1e6e0dfc6cccdccb0b8a3b0b8a3c1c2aeb0b8a3c1c2aeafb09ec1c4c7 +c1c2aec0b8a6dcd6d6cfc6b8c1c4c7aea886afb09e9ea08ac0b8a6cccdccb0b8a3 +afb09eafb09ea0b09f9fa0569ea08a9fa8578ea0599fa0568b98828c985392a88d +9fa056b0b8a39ea88e9ea88e8b90808b9882b0b8a38ea0898b9882778772627444 +4b69333f4e1e4e5043576b33778772767b476b86738b908068752b8b9055a1b170 +7d973692a7598e9f3b8c985376872d697c2b8c9853697c2b5560246274448c9853 +576a1f68752b697c2b49601f7c90536b8545767b476b8545657c44757c71c1c2ae +a1b1708c98539ea88e8c9853b0b8a39ea08a75704d7c9053767b47a0b09fcccdcc +cccdccafb09eafb9bccccdccdcd6d6e0e6e8e0e6e8dfe1e6e0e6e8e0e6e8d4dcd0 +c1c2aeb0b8a3afb09eaea886afb09eb0b8a3b0b8a3aea8868b98827c90538ea089 +7787727d90828b908087886dcdd5decccdccc0b8a6c0b8a6c0b8a69ea88eafb09e +8b90557787728b9882c1c4c7dcd6d6cccdccc0b8a6c0b197c0b8a69d9981c4a979 +ada17f9a917895885cada17f95885c66603375704d75704d75704d666c5e9d9981 +c0b8a69a9178757c71778772bacdd9dfe1e6dcd6d6c1c4c7cccdccd4dcd0c1c2ae +9ea88e8c98536b852c767b47627444697c2b576a1f576b3347581f47581f7c9053 +9fa8579fa0566b852c7f97537c905376872d9fa8578c985386874a7c90537b9034 +7f975376872d708f31708f316b852c54742860832a5f7b2a547428576b334b681e +5474286b854576872d68752b697c2b5e74297b9034708f31697c2b8c9853778746 +657c44819f598c98357c90538b903377874676872d76872d86874a697c2b7d9736 +76872d8b9033819f597b90347d9736778746778746656c2668752b6b8545697c2b +618345757b2d6b852c767b47656c2668752b7f97538c98537c90537b90348ea059 +7f97537f9753657c445e7429778746757b2d767b47697c2b766e2d75704d767b47 +867c4c7787468b90338471448b905566592c5558244c5026574f26565838767b47 +7c90537f97535474434b68655773766886a692a8b6afb9bccdd5ded2dee6d2dee6 +d2dee6d2dee6d2dee6dfe1e6d2dee6dfe1e6d2dee6cdd5dedfe1e6dfe1e6d2dee6 +dfe1e6d2dee6d2dee6cdd5de92a88d597c755474436b86736b8545618345547443 +41671b567f3a6183453d573b304321354c31496065657c44547443576b337e9882 +92a88d597c75576a62778772576a62597c75597c75709081a3b8bcaec4d0b8c3c6 +bacdd9dfe1e6dfe1e6dfe1e6d2dee6d9e6eadfe1e6d9e6ead2dee6d9e6eadfe1e6 +dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6bacdd992a88d6b8545547443 +547443567f3a576b33576b336b85454b69334758325f7b2a5f7b2a576b333c5822 +4758323d573b3a4423354c316183454b69334b69334b69333d5f253043213d573b +5474285f7b2a5f7b2a4b681e5474434b69335474433d5f253c5822547443547443 +41671b547443657c448ea0897e9882496032667c74a4bfb5d2dee6dfe1e6dfe1e6 +dfe1e6e0e6e8dfe1e6d2dee6c1c4c7c1d4e2cdd5debacdd9d4dcd0dfe1e6d2dee6 +e0e6e8d9e6eadfe1e6e0e6e8dfe1e6d9e6eadfe1e6d9e6ead9e6ead9e6ead9e6ea +dfe1e6dfe1e6d9e6eadfe1e6dfe1e6d2dee6e0e6e8e0e6e8d9e6eadfe1e6dfe1e6 +dfe1e6d9e6eae0e6e8dfe1e6dfe1e6d9e6ead9e6ead4dcd0d4dcd0d2dee6cdd5de +d4dcd0afb9bccccdccd2dee6dfe1e6d2dee6cdd5decdd5ded2dee6d2dee6dfe1e6 +dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6ebeae7dfe1e6dfe1e6dfe1e6 +dcd6d6dcd6d6dcd6d6c1c4c7cfc6b8b0b8a3cfc6b8b8c1afa0b09fc1c2aec1c2ae +b8c1afb0b8a3cccdccc1c2aea1b1709ea88eb8c1afb0b8a3cfc6b8d3cea2afb09e +c1c2aed3cea2b0b8a39ea88e9fa0568ea0599ea88e8c98538c98538ea089778746 +778746afb09eafb09e9ea88e7c90539ea88ec0cbb8cdd5de8ea089757c71657c44 +576b333f4e323f4e323f4e326274447787464658645f615692a7599fa8579ea88e +8ea059b1b0698ea059697c2b5e74297c90537f9753697c2b576b33576a1f7f9753 +7787468c9853697c2b697c2b8c9853697c2b6274447f97536b8545778746afb09e +b0b8a38ea0597c90538c9853b0b8a39ea88e68752b77874681a089afb09eb8c3c6 +bacdd9afb09e8c98538ea089cccdccdfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6 +e0dfc6cccdcccccdccdcd6d6c1c2aecccdccdcd6d6cccdcc8ea0599ea88e9ea88e +b0b8a38b9882b0b8a3b8c1afd2dee6cccdccc1c4c7aeb0bdcfc6b8c1c2aeafb09e +aba9a69ea08a8b9882b0b8a3cfc6b8c0b8a6c0b197c0b1979a917875704db09954 +9d998195885c9d99819e985375704d75704d75704d666b3b8b908095885c9d9981 +757c715f61563a44234e50438488879ea9b4aeb0bdaeb0bdafb9bcdfe1e6b8c3c6 +8ea0598ea0597b903449601f49601f4b681e3f4e1e3f4e1e4b681e6b852c7f9753 +8e9f3b8b903368752b576b335e74296b852c7b903476872d76872d8b90338c9853 +7b90348b9033778746708f31656c2649601f576b333a44232f3c22383c233f4e1e +576a1f5f7b2a6b854560832a7d9736819f597d97367b90347b90347f97538e9f3b +7c90537f9753757b2d68752b576a1f75704d7c90537b90347c90535e74297b9034 +7f97538b903376872d6b852c697c2b8c98357c905355602447581f5e74296b8545 +5f7b2a576b337787466b852c767b4768752b5e742976872d7b90347b9034708f31 +819f59708f316b852c54742877874686874a68752b576b334c5026576b33666b3b +766e2d555824556024757b2d86874a56603a5558244c50264e504366603356603a +7f97537f9753597c75709081a4bfb594afb9aec4d0a3b8bcd2dee6d2dee6d2dee6 +d2dee6d2dee6d2dee6d2dee6d2dee6d2dee6dfe1e6d2dee6d2dee6dfe1e6d2dee6 +d2dee6cdd5dec0cbb8d2dee6afc0ab6b8673657c44567f3a567f3a6183454b6933 +4b6865618345567f3a3d573b3043212f3c224960325474436b8545709081a0b09f +a3b7a492a88d6b86737e98826f8f526b8673709081a3b8bcafb9bc9fb0bb92a8b6 +aec4d0d2dee6d4dcd0d9e6eadfe1e6d9e6eadfe1e6dfe1e6dfe1e6d2dee6dfe1e6 +dfe1e6dfe1e6d9e6eadfe1e6dfe1e6d4dcd0d4dcd0afc0ab92a88d6084715e7429 +4b68654b6933496032497323547428344d1e475832778746567f3a4b6933354c31 +354c313043212f3c22354c31576b335474286b8545547428576b33576b333c5822 +576b335f7b2a41671b3c5822344d1e354c314960654758324b69333c58223d573b +3d5f2561834592a88d81a08954605f3d573b96b7ab92a8b6cdd5ded2dee6d9e6ea +d9e6eadfe1e6e0e6e8d4dcd0d2dee6c1c4c7c1c4c7cdd5dedfe1e6e0e6e8dfe1e6 +dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6d9e6eadfe1e6 +d9e6eadfe1e6dfe1e6dfe1e6e0e6e8e0e6e8dfe1e6d9e6eadfe1e6d2dee6e0e6e8 +dfe1e6dfe1e6e0e6e8dfe1e6d9e6eadfe1e6dfe1e6e0e6e8dfe1e6d9e6eadfe1e6 +d2dee6cdd5deaeb0bdcdd5decdd5dedcd6d6d4dcd0d4dcd0d9e6eadfe1e6dfe1e6 +dfe1e6d2dee6dfe1e6dfe1e6ebeae7dfe1e6dfe1e6dcd6d6ebeae7dfe1e6dfe1e6 +dcd6d6e0e6e8dcd6d6d4dcd0d4dcd0cdd5decccdcccfc6b8cccdccc1c2aecfc6b8 +aba9a6c0b8a6b0b8a39ea08a9fa0569ea08ac1c2aeafb09e9ea88ecccdccc0b8a6 +c0b8a6c1c2aeb1b0698ea0899ea88e9e98538ea0598c98539ea88e9ea08a8b9882 +8b9882b1b069afb09e8ea08987886da0b09fcccdcccdd5deb8c1af94afa1848887 +576b334b69336274446274444960324b681e576a1f7c9053757b2d767b4792a759 +b1b0698ea0596b8545547428656c266b8545697c2b697c2b6b8545556024555824 +697c2b8ea0597c9053657c445e7429657c447787468ea0597c9053657c4487886d +8ea0897787467c9053576b338c98539d99817c9053657c447787468b98829ea88e +b8c3c69ea88e819f599fa0568ea089b1b069cfc6b8d8c291dcd6d6dcd6d6e0dfc6 +dcd6d6dcd6d6c1c2aec0cbb8c0b8a6dcd6d6dfe1e6c1c4c79ea88ec0cbb8cdd5de +cdd5deaba9a6c1c4c7c1c4c7cdd5decfc6b8cccdcccccdcccfc6b8c0b197ada17f +afb09e9e98539d998195885c9a9178ada17faea8869a917875704d95885c9d9981 +86874a9a91789d998184714475704d867c4c627444767b478b90559a9178857d67 +767b474e5043342d1f342d1f2b3322383c23394446565838857d679ea08a8b9882 +778772576b335474434b6933576a1f5e74295560243c5822697c2b819f599fa857 +8c98536b852c576a1f576a1f5e742976872d76872d76872d68752b697c2b76872d +697c2b5e7429576a1f5e742976872d47581f344d1e2f3c222b33223f4e1e4b6933 +7b90348ea83e6b852c76872d5e7429708f31697c2b7c9053697c2b6b852c708f31 +8e9f3b8ea059576b33576a1f3f4e1e555824576a1f697c2b6b852c7b90348c9853 +8ea0599fa857697c2b697c2b6b852c77874668752b576b335e74294b693360832a +576a1f576b337b90347c90538b9055657c4477874686874a657c446b852c5f7b2a +7c90536f8f526b852c6b8545708f318b9055766e2d576b3356603a576b33627444 +867c4c666b3b86874a9e9853767b47666b3b4c50264e50434e4425574f264c5026 +719753657c444960654960657e988292a8b6afb9bcb8c3c6cdd5dedfe1e6d2dee6 +d2dee6cdd5dedfe1e6dfe1e6dfe1e6d2dee6dfe1e6d2dee6cdd5ded2dee6dfe1e6 +d4dcd0cdd5de8a99aba3b7a4b2d2e0a1b1706084716183454973234b6933496032 +4b6933567f3a567f3a344d1e2a343830444d3d573b547443657c44547443576a62 +70908192a88d778772576b3361834557737663747192a8b677877263747194afb9 +cdd5dedfe1e6d2dee6dfe1e6d2dee6dfe1e6dfe1e6d9e6eadfe1e6d2dee6e0e6e8 +dfe1e6dfe1e6dfe1e6d9e6eadfe1e6cdd5decdd5de9fb0bb8ea089709081547443 +344d1e4758324b69335474434973234973234b69337787465f7b2a496032354c31 +354c313d573b4960323335222a3438354c313f4e1e3f4e1e3d5f255e7429576b33 +496032475832666b3b304321383c233335222f3c222f3c22354c31344d1e344d1e +597c756f8f526b86734960323d5f25667c747d908292a88dd4dcd0dfe1e6dfe1e6 +dfe1e6d2dee6dfe1e6dfe1e6dfe1e6cdd5ded4dcd0d2dee6dfe1e6d4dcd0dfe1e6 +dfe1e6e0e6e8e0e6e8dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6 +d9e6eadfe1e6d9e6eae0e6e8dfe1e6d9e6eae0e6e8dfe1e6e0e6e8d9e6eae0e6e8 +e0e6e8e0e6e8d9e6eadfe1e6d9e6eae0e6e8dfe1e6dfe1e6dfe1e6d9e6ead4dcd0 +d4dcd0e0dfc6b8c1afcdd5dec1c4c7d4dcd0dfe1e6dfe1e6d9e6eadfe1e6d2dee6 +dcd6d6dfe1e6dfe1e6d2dee6dfe1e6dcd6d6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6 +dcd6d6dfe1e6dfe1e6dfe1e6e0dfc6e0dfc6cfc6b8c1c2aedcd6d6c0b8a69ea08a +aeb0bdb0b8a38b90558c98537f97538ea089c1c2aec0b8a69d9981cdd5deafb09e +c0b8a6c1c2aeaea8868c98538ea0898c98538c9853767b478ea0898b90808b9882 +8b90808b90558ea08987886d7d90828ea089c1c4c7dcd6d6cdd5dea0b09f667c74 +56603a576b33778772657c445e7429657c445e74298c985386874a657c447c9053 +8b90338c985360832a576a1f62744468752b627444556024656c2649603256603a +5f7b2a7b903476872d49601f767b47576b336b86738b98826b8545697c2b8b9055 +a1b1707787465e7429627444657c447787726274447c90537787468c98538ea089 +a3b7a4a0b09fa4bb7e8c98537f97538c985386874a767b479e98538b9882afb09e +9ea08aaea886aea886b0b8a3afb09eafb09eafb09eaba9a69ea88ec0b8a6b0b8a3 +aba9a68b9882757c71757c71757c7175704d84888787886d87886d87886d95885c +95885c9a91788b9882ada17fc0b197c0b197aba9a69d998195885c84714495885c +9a9178ada17f87886d666b3b5f6156767b47757c7187886d857d679d99819a9178 +56603a4c50263335222b3322272c1f342d1f2b3322333642333642333522373e43 +3a44233f4e1e344d1e49601f5f7b2a60832a697c2b5f7b2a697c2b7b90348e9f3b +7c90535f7b2a60832a76872d6b852c757b2d5e74296b852c697c2b6b852c656c26 +47581f3c58225e7429576a1f757b2d656c26656c2647581f30432149601f576a1f +7b90347f97538c98538e9f3b7c9053697c2b7c90538c98536b852c5e7429697c2b +8c983587872c576a1f657c445e742968752b5e74296b85458b90337f9753767b47 +86874a767b477787467787468c98537b9034757b2d576a1f6274445e742949601f +5474286b852c71975376872d8b90338c98538c9853576a1f55602468752b4b681e +697c2b6b8545556024496032354c3147581f576a1f656c26767b476b85457c9053 +86874a766e2d77874656603a68752b4c50264e44255658384c50265f6156555824 +6b86734b69333d573b3d573b4b68655374998da0b6bacdd9cdd5decdd5dedcd6d6 +d2dee6dfe1e6d2dee6cdd5ded2dee6dfe1e6d2dee6c1d4e2cdd5decdd5ded2dee6 +dfe1e6cdd5dea3b8bc7e988292a88d94afa16183455474433d573b354c313d5f25 +567f3a5474434b693341671b354c313d573b567f3a6084716f8f525474434b6865 +576b33627444597c755f7b2a5474433d573b4b6865637471597c75597c75b8c3c6 +dfe1e6d2dee6cdd5dedfe1e6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6 +d2dee6dfe1e6dfe1e6dfe1e6d2dee6c0cbb892a88db8c1af92a88d7197536f8f52 +61834554744361834581a0896f8f526b85456183456b8545547443475832354c31 +354c31344d1e3c58222b33222f3c223043214960324b69333f4e32547428547428 +344d1e2a34383a44233a4423262e352b33222b3322354c313f4e1e4b6933547428 +576b334b69333f4e32304321667c747c90536b8673a3b7a4e0e6e8dfe1e6d2dee6 +e0e6e8dcd6d6cdd5ded4dcd0d4dcd0bacdd9cccdccd2dee6cdd5dedcd6d6d2dee6 +dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8dfe1e6dfe1e6d9e6eae0e6e8 +dfe1e6e0e6e8e0e6e8dfe1e6e0e6e8dfe1e6d2dee6dfe1e6e0e6e8dfe1e6dfe1e6 +dfe1e6e0e6e8e0e6e8d9e6eadfe1e6dfe1e6e0e6e8dfe1e6e0e6e8d4dcd0dfe1e6 +d2dee6cccdccc1c4c7c1c4c7cdd5dedfe1e6dfe1e6dfe1e6d4dcd0dfe1e6dfe1e6 +d4dcd0cccdccd4dcd0dfe1e6dfe1e6ebeae7dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6 +dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6d4dcd0c1c4c7c1c4c7b8c1af9ea08a +afc0ab9d99817e98828b905577874687886daba9a6c0cbb88b9882cfc6b8aea886 +c1c2aecccdccb8c1af8ea0597c90538b9882778746657c448c985392a88d8b9055 +8ea0898ea0898b98828ea0598b98828ea0899ea88ec1c4c7c0cbb88ea0898b9080 +7787464758323f4e32576b33657c447787468b90557787468ea0598b90336b8545 +7d97368c98538c985376872d6b852c5e7429576b33576a1f556024555824697c2b +49601f576b334b681e56603a627444576b3347581f666b3b7c90537787467c9053 +8ea0898c98537787467e98827787467d90827f97537c90537b90347c905376872d +9d9981a1b170c0cbb89ea88e77874680a03b7787466274447b903476872d86874a +7c90538b90558ea059afb09e92a88d87886d8b98828ea0898b9882afb09eaba9a6 +75704d666b3b656c26555824373e434e504366592c75704d75704d857d67857d67 +8b90809a91789d9981b0b8a3aea8869d99819d9981867c4c75704d857d6795885c +9e98539a91788471448b9882637471565838565838767b479d99819ea08a9ea08a +5658383f4e32475832383c232b33223335222f3c22333522272c1f333522304321 +47581f5e742955602460832a5f7b2a5e742960832a60832a708f318c98537b9034 +576b335f7b2a697c2b697c2b7787465e7429556024576b33697c2b666b3b47581f +2f3c222f3c22656c267d973676872d697c2b47581f344d1e3f4e1e55602460832a +7787468e9f3b92a7597d97367b90345e74298b903368752b576a1f6b852c697c2b +757b2d556024344d1e5f7b2a76872d86874a6b85457b90347c90535e74294b6933 +656c26656c267787468b90337c905386874a767b47697c2b4b681e4b6933576b33 +49601f4973237c90538c9853697c2b6b85458c9853576b335e7429547428576b33 +6b854549601f49601f47581f5558244b69335e74297d97368c98539fa8578c9853 +778746666b3b766e2d576b33666033666b3b77874668752b666033767b47555824 +6f8f524b69333d5f7a4b6865819fb7576a627d98b1afb9bcbacdd9cdd5decdd5de +d2dee6cdd5dedfe1e6d2dee6d2dee6d2dee6dfe1e6afb9bc9fb0bbafb9bcd2dee6 +d2dee6dcd6d6c0cbb87090816f8f52719753567f3a4960324b69333d5f253d573b +4973233d5f25354c3130444d3d573b4b69337197536b85454973233d5f2541671b +547443597c75567f3a576b33597c757090817d90828da0b6aec4d08da0b69fb0bb +cccdcc9fb0bbb8c3c6dfe1e6d2dee6dfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6 +dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6c0cbb88ea089618345618345567f3a567f3a +6084714b6933657c447e9882819f594973236b8545567f3a4b69333d5f25354c31 +3043214960322f3c222e3c444960326b85455f7b2a41671b3c58224b681e627444 +344d1e3043213d5f254b69333d5f25344d1e3c58224b69335f7b2a6183454b6933 +3d5f25496032304321354c3181a0896f8f528ea089c5dae4d4dcd0dfe1e6d9e6ea +d9e6eadfe1e6cccdccb8c3c6cdd5dec1c4c7afb9bcc1c4c7cdd5dedfe1e6cccdcc +d9e6eae0e6e8d9e6eadfe1e6d9e6eadfe1e6e0e6e8e0e6e8dfe1e6e0e6e8d9e6ea +dfe1e6e0e6e8dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8dfe1e6d9e6eae0e6e8e0e6e8 +dfe1e6dfe1e6dfe1e6e0e6e8d9e6ead9e6eadfe1e6dfe1e6dfe1e6d2dee6dfe1e6 +d2dee6d4dcd0a3b7a4bacdd9cccdcccdd5decccdcccccdccdfe1e6cdd5dedfe1e6 +d2dee6cdd5dedfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6 +dfe1e6dfe1e6ebeae7dfe1e6ebeae7dcd6d6cccdccd3cea2c1c4c7b8c1af9ea88e +afb09e767b478c9853778746757c7187886d8b9080aea886aba9a6c0b8a6aea886 +b0b8a3c1c2aeaea8868c9853657c447c90537787468b98828b90808b98827c9053 +a0b09fa1b1708b98828b98828b98828ea08987886d7787729ea88e92a88d7c9053 +7c9053576b333043214c5026576b3392a7598ea83e7b90347787468c9853778746 +819f5992a75992a7598e9f3b7f97538ea05976872d697c2b657c447c905368752b +576b33576a1f56603a3f4e1e5e74295f7b2a6274447d90828ea0597c9053778746 +8ea08992a7597787466f8f52a0b09fa3b7a48b98827f97537c90537c9053697c2b +7c90538b90558ea059aea8868c985387872c76872d7787468c98537d97368b9033 +5f7b2a697c2b62744463747156603a576b3347581f576b33496065475832565838 +304321576b33666b3b576b33383c233a442347583256603a56603a767b479d9981 +b8c1afafb9bcaeb0bdc0b8a6c0b1979a9178a4895475704d66592c9f9154ada17f +ab915875704d5658387d908254605f757c71757c71767b47767b474e442575704d +5558243a442356603a3a44232f3c223a4423475832304321344d1e49601f4b681e +5e742976872d656c265f7b2a5e74295f7b2a5f7b2a6b852c80a03b8e9f3b697c2b +576a1f5e74295e7429697c2b757b2d656c2655602447581f7c905368752b757b2d +3f4e1e47581f68752b8ea0598c983568752b47581f5e7429697c2b8b903376872d +576a1f5e7429657c445e74297d97367b903476872d6b852c7b9034697c2b556024 +766e2d55602449601f6f8f527d97368c98355e74297b90346b852c77874660832a +576a1f576b3377874676872d7787465f7b2a5e74297787465e74295f7b2a3f4e1e +3f4e1e5f7b2a6b8545576b33547428657c44657c44657c44576a1f5f7b2a576a1f +576a1f55602468752b92a759757b2d4b681e7787467b903476872d68752b76872d +86874a767b47666b3b556024576a1f697c2b86874a8b903368752b767b47766e2d +4b69334b69334b686557737694afb97090816b86737e98828a99abb8c3c6cdd5de +dfe1e6d2dee6d2dee6dfe1e6d2dee6dfe1e6d9e6eac5dae4bacdd9bacdd9d4dcd0 +dfe1e6d2dee6aec4d081a0897090814b6933597c75567f3a4b686541671b4b6933 +4b69333043212f3c22304321496032567f3a7197536183454b68653d5f253d573b +4b6933567f3a6183454b69335773769ea9b4b8c3c692a8b692a88d7d98b17e9882 +75889b9fb0bbcdd5dedfe1e6d4dcd0d2dee6dfe1e6dfe1e6dfe1e6d9e6eadfe1e6 +d9e6eadfe1e6dfe1e6d9e6ead9e6ead4dcd081a089667c745474434b69335f7b2a +4b6933576b33547428547443547443547443657c444960324960324b6933354c31 +3d573b354c312b33222a34383a4423547428576b334b6933657c4454742860832a +6b85455f7b2a60832a557f2241671b41671b6b854560832a49601f344d1e3f4e32 +3f4e323c58225474435f7b2a6f8f5260832a92a88dd4dcd0cdd5deb8c3c6dfe1e6 +e0e6e8d9e6ead2dee6aeb0bd9ea9b4b8c3c6afb9bcb8c3c6cdd5ded2dee6bacdd9 +dfe1e6d2dee6dfe1e6dfe1e6dfe1e6e0e6e8e0e6e8dfe1e6e0e6e8dfe1e6dfe1e6 +dfe1e6e0e6e8d9e6eae0e6e8e0e6e8d4dcd0e0e6e8dfe1e6dfe1e6e0e6e8e0e6e8 +e0e6e8e0e6e8d4dcd0dfe1e6dfe1e6d4dcd0e0e6e8dfe1e6dfe1e6dfe1e6d2dee6 +b8c1afa3b7a49ea88ea0b09f92a88d92a8b6b8c3c6d2dee6dfe1e6dfe1e6d4dcd0 +dcd6d6cdd5ded2dee6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6ebeae7dfe1e6e0dfc6 +ebeae7dfe1e6e0dfc6dfe1e6dfe1e6dcd6d6cfc6b8cccdccc1c2aeafb09ec0b8a6 +b0b8a37787728b9882778746767b4786874a8b98829ea08aa0b09fb0b86cb0b8a3 +b1b069b8c1afb0b8a38b9882767b477787467787469ea88e7787728b9882778746 +6274449ea08a9fa0569ea08aa1b1707e98827f97537787467c9053778746778746 +7787465560243f4e323f4e1e3f4e328c98537b90348b90338b90557787468b9033 +8e9f3b8c98538c9853778746576a1f576b336274447b903476872d68752b576a1f +576a1f4758323a4423666b3b627444697c2b767b477d90828b9882697c2b778746 +92a88d7d90825f7b2a6274449ea88e8ea0899ea88e7c90538c98538b98828b9055 +7c9053697c2b7787467b90348c98357b90346b852c6274447d97367b90347b9034 +8b903380a03b697c2b49601f3f4e325e7429576a1f576b337787463f4e32475832 +3f4e1e576b33778746867c4c4e442556603a637471565838757c718b9882afb9bc +dcd6d6cfc6b8afb9bcafb09e9ea08a9a917886874a867c4c9a91789a9178ab9158 +95885c565838333642383c234e5043757c71857d6795885c75704d4e5043475832 +5558243f4e1e47581f576a1f344d1e4758324b69332b33223f4e1e697c2b6b852c +757b2d7d9736697c2b4b681e697c2b6b852c708f317b90348c985386874a68752b +55602468752b68752b6b852c6b852c6b852c55602455602476872d76872d68752b +55602468752b68752b5e7429757b2d76872d697c2b7d97368e9f3b7b90348b9033 +556024344d1e576b335f7b2a7c9053757b2d757b2d5e7429576a1f697c2b576b33 +576a1f656c265e74296b852c76872d697c2b6b852c7c90538b90337b903468752b +68752b576b336b852c7787467c90536b85455e7429697c2b6b85454b6933496032 +3c58224b6933547428657c445f7b2a5e74295e7429657c445f7b2a5f7b2a576b33 +475832496032697c2b697c2b697c2b576b333f4e32576a1f576a1f68752b778746 +697c2b656c26767b477787467c905368752b7787468b905576872d86874a778746 +4658644b6933597c757090817d98b17e98825773767e988294afa1cccdccd2dee6 +d2dee6cdd5ded2dee6d2dee6dfe1e6d2dee6cdd5deb8c3c6afc0abbacdd9d2dee6 +dcd6d6dfe1e6bacdd992a88d719753567f3a567f3a547443344d1e30444d2e3c44 +354c31354c313d573b5474436183456f8f52567f3a3d5f253d5f253d4f563d573b +667c746f8f525474433d573b6b867394afa19fb0bb667c74577376577376576a62 +81a089d2dee6dfe1e6dfe1e6dfe1e6dfe1e6d9e6eadfe1e6d4dcd0e0e6e8dfe1e6 +dfe1e6dfe1e6d2dee6dfe1e6d2dee6d4dcd081a0895f7b2a496032547443547443 +576b33627444618345657c444b693347581f6b85456183456274443d5f253f4e32 +3944462f3c222f3c2230432130432160832a77874649601f41671b576b334b6933 +4b681e496032576b33497323576b335474284b69333f4e1e3f4e323043212f3c22 +3043214960326b8545708f316f8f524b693392a88dbacdd98b919fc1c4c7e0e6e8 +d2dee6e0e6e8d4dcd0cdd5deb8c3c6c0cbb89ea9b4cccdcccccdccc0cbb8afb9bc +c0cbb8d2dee6e0e6e8e0e6e8dfe1e6e0e6e8e0e6e8dfe1e6d9e6eae0e6e8e0e6e8 +dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8dfe1e6e0e6e8d9e6eadfe1e6dfe1e6dfe1e6 +e0e6e8e0e6e8dfe1e6e0e6e8e0e6e8dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6c0cbb8 +8a99ab6b86736374718b90807e98828da0b6d4dcd0dfe1e6dfe1e6dcd6d6cccdcc +cccdcccccdccdcd6d6dfe1e6d2dee6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6 +dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6cccdccb8c1afcfc6b8cccdccafb09ec1c2ae +b0b8a38b988292a88da0b09f8c98538b98828c9853afb09ea1b1709ea08ac0b8a6 +afb09ea0b09fb1b0697f97537787467d90827c9053757c71757c717d9082627444 +657c449ea08ac1c2ae9d99819ea08a767b478c98537c90538ea0598b90558c9853 +778746767b476b8545576a1f4c50267b90348ea0598ea0598ea05992a7598ea059 +7b90348c9853757b2d5e7429576b33576b334b681e657c447787468b9033757b2d +5560243043213f4e1e656c26697c2b77874668752b4c5026667c745f7b2a778746 +95af7a8b90558b90557c90539d9981576a627787727787468b90558b9882b0b8a3 +95af7a8ea0897c905376872d7b903487872c5e74294b681e697c2b7b9034708f31 +76872d6b852c6b852c6b852c576a1f7787467b90347b90347e9882666c5e767b47 +778772767b4786874a778746767b47757c71848887666c5eaba9a6aba9a6aeb0bd +dcd6d6cccdccc0b8a69da1ab95885c95885c847144666033867c4c95885c867c4c +74643e767b474e5043333522666c5e8b90808b98829a9178767b474e44253a4423 +666b3b576b3347581f656c2647583256603a47581f4c50263f4e1e576b33697c2b +757b2d8c983576872d5e7429656c266b852c7b90348e9f3b8c98538b903386874a +767b47766e2d86874a9e98537c90535e742949601f49601f5e7429656c2649601f +47581f60832a7b90346b852c76872d76872d697c2b8b90338e9f3b7b9034778746 +47581f41671b557f2249732376872d697c2b68752b47583247581f47581f4b681e +6274448b90556b852c576a1f6b852c76872d708f3176872d7b9034697c2b576a1f +5f7b2a5f7b2a54742860832a6b852c5f7b2a6b85455f7b2a5f7b2a4973234b681e +3f4e1e4b681e6b8545697c2b697c2b7b9034778746656c266274446b8545576b33 +49601f657c447b90348471444758325560243a442355602449601f5e7429576a1f +68752b697c2b757b2d697c2b697c2b697c2b867c4c767b478b90338b9055757b2d +3d4f56567f3a4b686575889b597c75608471597c7592a88dc1d4e2d2dee6d2dee6 +dcd6d6dfe1e6d2dee6cdd5ded4dcd0d4dcd0bacdd97e988257737692a8b6cdd5de +dfe1e6cdd5ded4dcd081a0896f8f52618345567f3a5474433d5f25344d1e30444d +2f3c2230444d576b33567f3a6183454b6933354c31354c313d573b3c582230444d +354c31567f3a576b33354c313f4e3249606554605f4960653d573b6b8673aec4d0 +cdd5dedfe1e6dfe1e6d2dee6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6 +e0e6e8d2dee6dfe1e6cdd5decdd5deb8c1afa3b8bc6b85454b6933657c443c5822 +354c31576b335e7429576b33496032496032576a1f7787465f7b2a5e7429344d1e +2f3c222f3c223c58225474435f7b2a5f7b2a708f31576b334960323f4e1e354c31 +3f4e32344d1e576b334960323f4e32344d1e304321373e43344d1e2b3322354c31 +576b336183455f7b2a6b8545576b334960327d9082576a62757c71cdd5dedfe1e6 +c1c4c7dcd6d6dfe1e6dfe1e6b8c1afb8c3c6afc0abc1d4e2d2dee6b8c3c6afc0ab +b8c3c6cdd5ded9e6eadfe1e6dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8dfe1e6 +e0e6e8e0e6e8e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8d9e6eae0e6e8 +dfe1e6e0e6e8dfe1e6e0e6e8dfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6d4dcd0 +d4dcd09ea88e7d90829ea9b48ea089c0cbb8d2dee6dfe1e6d2dee6d4dcd0bacdd9 +c1c4c7bacdd9d4dcd0cdd5dedcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6 +ebeae7dfe1e6dfe1e6dcd6d6e0dfc6cccdccc0b8a6afc0abdcd6d6afb09eb0b8a3 +c1c2ae9ea88eb0b8a38ea0898b90808ea0599ea88e9d99818ea0598c9853afb09e +b8c1afaba9a68c98538b90558b9080767b478ea089778746657c447787726b8545 +6b8673b0b8a3b8c1af9ea08a9d99818b988286874a8b90338c98538ea0598c9853 +86874a77874668752b576b335560247787468e9f3b80a03b8c98358c98538ea059 +9fa8578ea0595e7429576a1f5f7b2a76872d556024576b33576a1f7c90538c9853 +576a1f496032576b33657c44767b478b9055697c2b5560247c90537c90537c9053 +7787467787728c98538b98828b9882757c718b90807c90538c98537c90538b9882 +b0b8a3cccdccc1c2ae80a03b8c98357f97536b852c697c2b47581f5f7b2a697c2b +7787466b852c778746778746657c446274445560247787468b90807c9053afb09e +afb09e8b905586874a95885c8c9853757c71565838637471c1c2aeaeb0bd9da1ab +afb9bc84888775704d75704d75704d767b47867c4c565838767b4775704d847144 +8471449a91789f9154565838767b4787886d9d998187886d857d67565838383c23 +555824576a1f49601f5e7429576a1f767b47576a1f4c50263f4e1e555824656c26 +656c2668752b697c2b576a1f47581f4b681e7d97368ea83ea1af4e8c985387872c +8b905586874a86874a8ea059757b2d60832a576b33576a1f47581f697c2b5e7429 +5f7b2a76872d708f3176872d8c9835697c2b778746697c2b697c2b47581f3a4423 +49601f656c2680a03b708f316b8545778746576a1f4b681e576b3349601f4c5026 +3f4e1e47581f9d99816b85457b90347787467b90347b90347b903476872d576a1f +5f7b2a6b852c5f7b2a5f7b2a5474285f7b2a5e74294973235f7b2a4b693349601f +4b681e576b336b85458c9853778746767b4768752b576b33576a1f576b335f7b2a +4b681e4b681e7787465e74293f4e1e304321576a1f767b47496032344d1e666b3b +62744455602455582468752b576b3375704d666b3b666b3b7787467c9053778746 +496032657c44496065597c75547443608471a3b8bcc0cbb8d2dee6d2dee6dcd6d6 +d2dee6cdd5dedfe1e6dcd6d6cdd5decccdccaec4d092a88d709081a4bfb5aec4d0 +c0cbb8cdd5decdd5de81a0896f8f52719753567f3a41671b344d593c58222f3c22 +2f3c22354c313d5f255474435474433c5822304321304321547443547443496032 +4b68655773764b69334b68653f4e323d5f25496065608471709081a4bfb5afb9bc +cdd5dedfe1e6dfe1e6dfe1e6dfe1e6d9e6eadfe1e6d9e6eadfe1e6dfe1e6dfe1e6 +dfe1e6d4dcd0c0cbb8c5dae4afc0abc1d4e292a88d6f8f5241671b5474433d5f25 +3d573b3c58224b69334b69333d5f254758324960327c90536b8545657c44354c31 +2f3c22354c31475832344d1e3c58224b6933556024666b3b3f4e322b3322344d1e +4c50263f4e1e56603a3a44233a44232f3c223043212f3c224b69334b69335f7b2a +41671b547428567f3a5474284960324b69333d5f253d4f56aeb0bdd9e6eac0cbb8 +c1d4e2c0cbb8cccdccd2dee6c1c2ae9ea9b4c0cbb8cccdccb8c3c692a88da3b7a4 +a3b8bccccdccdcd6d6d9e6eadfe1e6e0e6e8e0e6e8dfe1e6e0e6e8dfe1e6e0e6e8 +dfe1e6e0e6e8e0e6e8e0e6e8e0e6e8dfe1e6e0e6e8e0e6e8dfe1e6e0e6e8dfe1e6 +e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8d9e6ead2dee6dfe1e6dfe1e6 +d4dcd0afc0ab8ea089bacdd9cdd5dec1c4c7d2dee6dcd6d6d2dee6cdd5decdd5de +afb09eaeb0bdb8c1afcccdccdfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6 +dcd6d6dfe1e6ebeae7dfe1e6dcd6d6d4dcd0d4dcd0d4dcd0cccdcc9da1abcfc6b8 +c1c2ae8b919f9ea08aafc0ab8b98829ea88eb0b8a386874a8c98537787729ea08a +afb09e9d99818ea0597d90829ea88e8b908087886d576b336b86736274448b9080 +87886d9ea88ec0b8a69ea88e778746778746757c717c9053767b477787467c9053 +8b905577874668752b576b333f4e1e6b85458c98537b90347b903476872d8c9853 +7b90348c98537b903476872d7787467b90345e74295e7429757b2d8ea0598b9033 +7787465558245558244b6933576a1f7787467787467787468ea0898c98536f8f52 +7c90538b98828b9055a1b1707787727c90537787467c90537c90538c98537e9882 +8ea089cdd5decccdcca1b1708c98539ea88e6b8545576a1f344d1e5f7b2a5e7429 +76872d60832a5e74298b98828c985387886d4758327787729ea88e8b98829e9853 +9ea88eada17f8b905586874a75704d666c5e5f6156757c719ea88e75704d565838 +5f61565f6156757c719d99819a91788b9080aea8868b9080867c4c74643e766e2d +75704d75704d9a91789d99819ea08ac0b8a6ada17f757c7174643e74643e383c23 +3a44234758324b681e54742860832a7d973676872d576a1f7b903477874668752b +656c2647581f656c2655602447581f68752b6b852c8ea059a1af4ea1a73c8c9853 +b2a053757b2d8c985376872d55602476872d47581f55582447581f556024697c2b +76872d76872d7b903468752b76872d60832a68752b5e7429576b332f3c22344d1e +576a1f576a1f6b852c7d9736656c2654742847581f3f4e1e3c58225560243a4423 +30432147581f4b681e576a1f576a1f576b3377874676872d6b852c656c2649601f +5e7429576a1f4b681e4b681e4b681e49601f49601f344d1e60832a54742849601f +4b681e5e7429576b33656c26757b2d778746767b47576b335474283d5f254b6933 +4b681e567f3a547428547428496032344d1e49601f576a1f49601f47581f47581f +556024576a1f55602462744449601f55602447581f556024697c2b657c44576a1f +7c90533d5f253d573b4b68656f8f526b86738da0b6cccdccd2dee6cdd5ded2dee6 +d2dee6d2dee6cdd5decccdccc1c4c7b8c3c681a089597c756b867394afb9afb9bc +bacdd9b0b8a3c5dae481a0896084715474435474434b69333c58223d573b304321 +354c31354c3141671b4b69334b69334960324960324960654b6933496032354c31 +7787727e9882667c747e98826084716084717d98b192a8b6819fb792a8b6afb9bc +bacdd9cccdccd2dee6dfe1e6d4dcd0d2dee6dfe1e6dfe1e6d4dcd0dfe1e6d2dee6 +dfe1e6dfe1e6afc0abb8c3c69ea9b48ea0897e9882657c446183455474433d5f25 +344d1e4758324b6933657c44657c443d5f255e74296b854560832a4b6933354c31 +2f3c223d5f25496032354c313f4e32354c312f3c222f3c22354c312b33222b3322 +2a34382f3c22344d1e4b69335474285f7b2a5e74295f7b2a60832a5f7b2a557f22 +49601f4b69336183453d573b354c313d573b354c31607590bacdd9afb9bc8ea089 +cdd5deb8c3c6a0b09fcdd5dea3b7a47d9082afb9bc9ea88e81a0898ea08981a089 +7d908292a8b6d2dee6dfe1e6e0e6e8dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8d4dcd0 +e0e6e8dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8e0e6e8dfe1e6ebeae7dfe1e6e0e6e8 +dfe1e6e0e6e8e0e6e8d9e6ead9e6ead9e6eacdd5decccdcccccdccd4dcd0dfe1e6 +cccdcca0b09f6b86739ea9b4afb9bcafc0abcccdccd4dcd0dfe1e6d4dcd0cccdcc +8b90809ea9b4aeb0bdcdd5ded2dee6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6 +dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6cccdccb0b8a3c1c4c7 +afb09e9ea08a9ea9b49ea08a9ea88e8b98828b98827c9053767b477787468b9882 +87886db1b0698b98827c9053a4bb7e8ea0896b8673576a628b9882657c44757c71 +9ea08a9ea08ab8c1af9a9178767b474960327787468b9882778772627444778746 +7d9082627444576b33627444576a1f7787465e74297c90537c905376872d76872d +7c90537f97538b90338c98537b9034697c2b68752b767b478b903386874a76872d +77874668752b697c2b757b2d344d1e657c4460832a7c9053a1b1708b905576872d +81a089778746778772afc0ab9ea88e7c90537f97537e98828b9882a1b170b0b8a3 +8ea059afc0abcccdccc1c2aeafb09eb8c1af657c44344d1e656c266b852c557f22 +6f8f527f9753657c44778746b8c3c6b8c1af8488879d99817787728b9882767b47 +767b478b905584714486874a766e2d56603a5f61565f61565658384e50434e5043 +666c5e9da1abaeb0bdc0b8a6aba9a6afb09ec1c2ae9a9178867c4c66592c74643e +84714486874a767b47aea886afb09eafb09eada17faea8868b9055767b474e4425 +333522354c31576a1f344d1e49601f5f7b2a76872d6b852c7b90348c9835708f31 +76872d757b2d576a1f576a1f68752b7b90347b90349fa8578ea05987872c8c9853 +8b9055757b2d8b903376872d49603247581f3043214c50264c5026576a1f5f7b2a +697c2b7b90348ea83e8ea05980a03b7f97538c9853697c2b47581f3f4e1e49601f +60832a6b85456b85455e74293a44233f4e1e49601f344d1e556024576a1f2f3c22 +3a44234b681e576a1f576b3355602449601f576a1f576a1f55582449601f5e7429 +697c2b657c44576b336274445e7429576a1f3c582254742876872d547428576a1f +618345576a1f3a4423657c44618345767b47576a1f49601f4b69334b6933547428 +5f7b2a576a1f5f7b2a5e74294b693349732376872d656c26576b33576a1f778746 +7787467c90537c90536b8545576b33656c2647583268752b656c26555824766e2d +7c90534758324960326b86736f8f527197537d9082afb9bccdd5decdd5dedcd6d6 +dfe1e6cdd5decdd5deb8c3c6a3b8bcb8c1afa3b7a46183457d9082a0b09fcccdcc +b8c3c68da0b6afc0abafc0ab7197535474434b69335474434b6933354c3130444d +354c313d573b618345547443354c313043213d573b547443344d1e3d573b3d5f25 +577376496032597c756f8f52496032608471819fb77a91a87a91a8aec4d0a3b8bc +7d9082aeb0bddfe1e6dfe1e6dfe1e6dfe1e6dfe1e6d2dee6dfe1e6e0e6e8dfe1e6 +d2dee6dfe1e6cccdcc9fb0bbc0cbb87e98827787466183456f8f52567f3a5f7b2a +567f3a496032576b335e742947581f47581f697c2b7c9053567f3a4b6933497323 +576b335f7b2a4b69333f4e1e4758323f4e1e496032556024576b3347581f3f4e1e +344d1e2f3c223f4e3247581f4b69334b681e547428576b33567f3a4960323c5822 +4758323f4e322f3c222f3c222e3c443043218a99abafc0aba3b7a47d908292a88d +d2dee6d2dee6b8c3c67d90827e98826b86737787727090816f8f526b8673667c74 +666c5eafb9bcd4dcd0e0e6e8dfe1e6e0e6e8e0e6e8dfe1e6e0e6e8e0e6e8dfe1e6 +dfe1e6e0e6e8e0e6e8dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6e0e6e8e0e6e8 +e0e6e8dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6d2dee6c1c4c79ea9b48ea089bacdd9 +d2dee6a0b09f92a88da0b09f9ea08a81a0899da1abafb9bcafb9bcbacdd9cdd5de +b8c1afb8c1afb8c1afcccdccdfe1e6cdd5decdd5dedfe1e6dfe1e6dfe1e6dfe1e6 +dfe1e6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6e0dfc6dcd6d6dcd6d6d4dcd0cccdcc +a0b09f9ea88ec1c4c7c1c4c79ea88e7c90536274447787727787466b854587886d +9ea88ec1c2aeafb09e8ea0899ea08a92a88d7c90537d9082778772576a62657c44 +8b9882c1c2aeb0b8a38b9882697c2b576b334758327787468b98827e98827c9053 +8ea0898b98829ea88e6b85456b85457c90538ea0598c98538ea0598c983576872d +7b90346b852c7c905376872d8b90557c90535e74296b852c778746656c2668752b +6b8545757b2d8c9853778746576a1f666b3b657c44767b476b86737787468ea059 +7f97537c90538ea089b8c1afafbf777c90539ea88ec0cbb8a3b7a4a0b09f9ea08a +afc0abb8c1afc1c4c7c1c4c7a0b09f9fa857778746547443657c4476872d7b9034 +95af7a92a88d627444657c44cccdccc0cbb89ea08a7787723f4e32767b47857d67 +867c4c867c4c555824766e2d66592c47583266592c574f265f6156666c5e8b9882 +c1c4c7cccdcccccdcccfc6b8aba9a6aba9a69d99819a91789a9178766e2d75704d +9a91789f915486874a9e9853afb09e9e9853ada17fc0b8a69e985375704d4c5026 +3a4423383c234e44253f4e1e383c2347581f5f7b2a76872d76872d76872d60832a +76872d7d973676872d76872d7b90347b90348c98359fa85776872d6b852c8e9f3b +8b9033867c4c76872d68752b6b852c47581f4b681e5e742955602433352247581f +76872d76872d80a03b8e9f3b92a75980a03b8c9853697c2b4c502649601f49601f +6b852c5e742947581f47581f3043213c582247581f2f3c223f4e1e3f4e1e344d1e +3a44233c5822547428576b337b90345e74295e74297b9034576b3347581f547428 +4b681e7d9736778746547428576b3360832a6f8f526b852c80a03b5e74294b681e +49601f4b6933576a1f5e7429576b335e74294960324b681e49601f344d1e3d5f25 +4b681e656c265e74296b852c8c985360832a5560243f4e1e3f4e1e4b681e656c26 +766e2d68752b867c4c86874a68752b767b476660335560245e742956603a627444 +597c753d5f25547443657c44819f597f97537090817a91a8afb9bccdd5ded2dee6 +dfe1e6cdd5dec1d4e2a3b7a49ea88e92a88d95af7a92a88d95af7ab8c3c6b0b8a3 +b8c3c6b0cbdc81a0896b86736b8673567f3a497323618345497323354c31354c31 +2f3c222e3c44567f3a497323354c313d573b344d1e5474434b69334960654b6933 +567f3a6183456183455474434b6933778772a3b8bc81a089667c747e9882667c74 +7d9082c1d4e2d2dee6dfe1e6d2dee6dfe1e6dfe1e6e0e6e8e0e6e8d4dcd0dfe1e6 +dfe1e6dfe1e6c0cbb892a8b6a3b7a481a0896b85455f7b2a618345547428618345 +567f3a6b8545627444627444657c44767b478b90557787465f7b2a4b6933627444 +54742860832a496032576b335f7b2a5f7b2a5f7b2a60832a547428627444547428 +576b3354742860832a5f7b2a4b681e496032496032304321354c31344d1e304321 +2f3c22333522272c1f2b33222b33223c586f92a88d7090817787468b9882c0cbb8 +cdd5decccdccc5dae4a3b8bc81a0897c90537090817e988292a88d92a88d94afa1 +9ea88ea3b8bcc1c4c7d4dcd0dfe1e6e0e6e8dfe1e6e0e6e8dfe1e6e0e6e8e0e6e8 +e0e6e8d4dcd0dfe1e6e0e6e8dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8dfe1e6dfe1e6 +d9e6eadfe1e6dfe1e6dfe1e6dfe1e6e0e6e8d4dcd0cdd5dec1c2ae81a089778772 +afc0abafb9bca0b09f92a88d81a08981a089667c747e9882c0b8a6cdd5dec0cbb8 +cdd5deafb9bcbacdd9d2dee6d2dee6afb9bccdd5dedfe1e6dfe1e6dfe1e6e0e6e8 +dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dcd6d6d4dcd0afb9bc +9da1ab9ea08aafb9bcb8c1af9ea88e8b98826b86736b8545666b3b7787727c9053 +7d90829d99819ea88e8b90809ea88e8b908087886d8c9853778772667c74627444 +778772afb09e9ea08a8b9882757c71576b33576b3349601f576b336374716b8545 +8b90558c9853a0b09f87886d7787727f97539fa8578e9f3b8ea0598b9033697c2b +6b852c697c2b6b852c7c90537b903476872d5e742968752b767b47666033555824 +5e7429657c44697c2b767b47475832383c234758325e74296f8f527c90536f8f52 +5474437f97538b9882afc0ab9ea88e657c448b9080b8c1afa0b09f8ea089afc0ab +afc0abb0b8a3afb09ec0b1979d99817c90538c98355e7429576b334b69336b8545 +a0b09f7c90535f7b2a778746b0b8a3b8c1af9ea08a666b3b7c90538ea0599fa056 +8b905587886d666b3b666033574f263a442356603a857d6787886da0b09fcccdcc +d4dcd0dcd6d6cdd5decdd5dec0b8a69d99819ea08a857d67767b4775704d9f9154 +9ea08ab1b0698c985386874a778746867c4c9e9853ada17f9a917886874a68752b +5e7429576a1f3a4423556024576a1f4b681e6b852c7b90347b90347b90347b9034 +7b903476872d6b852c7d973676872d76872d8b90339fa0568b90336b85457d9736 +7b903486874a5e742949601f7b9034697c2b6b852c4c50262f3c222b33225e7429 +757b2d4c50267c90536b852c6b852c7197328ea0597d9736708f315f7b2a60832a +80a03b697c2b3c582260832a76872d49601f344d1e3043212f3c222f3c222f3c22 +3f4e1e30432149601f4973236b852c5e74295f7b2a5e74295474285474285e7429 +557f225f7b2a708f31697c2b4b681e5e7429708f31708f31697c2b576b33778746 +5e742949601f6b85457787465e74295f7b2a497323576a1f8c9853656c263f4e32 +697c2b656c263f4e1e49601f68752b76872d556024666b3b697c2b68752b666033 +666b3b666033576b3368752b576a1f47581f576b33627444576a1f5560243a4423 +4b69334b69335474436084716f8f52608471608471597c758da0b6c1d4e2cdd5de +dcd6d6cccdccc1c4c795af7aa0b09f9fa05695af7a8c98536b867392a88d7e9882 +92a88d94afa194afa1567f3a4b693361834560847141671b567f3a344d1e2e3c44 +2a34382f3c225474433d5f253d573b3d5f25567f3a657c4461834541671b3d5f25 +4960326b85454b69334b693354744354744354605f5474434b68653d5f25627d99 +b8c3c6c1c4c7d2dee6dfe1e6dfe1e6dfe1e6dfe1e6d9e6eadfe1e6dfe1e6dfe1e6 +d2dee6dfe1e6b8c3c67197536b867394afa17e98825474436b85455f7b2a576b33 +547428657c444b69334b693356603a4b6933627444697c2b7787465f7b2a496032 +778746567f3a4b69334960324b69335e7429496032496032354c312f3c222f3c22 +3335223f4e324b69335474285e74293d5f253f4e1e3043212f3c22304321383c23 +262e35262e352b33222a34383d573b637471597c75567f3a657c448ea089bacdd9 +a0b09fa3b7a4d4dcd0cccdccbacdd992a88d7787728ea0898ea0898ea0898ea089 +a0b09f9da1abb8c3c6d2dee6dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6 +e0e6e8d4dcd0e0e6e8e0e6e8e0e6e8dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6e0e6e8 +dfe1e6e0e6e8d4dcd0dfe1e6dfe1e6dfe1e6dfe1e6cdd5decccdcc778746667c74 +657c448ea0898ea089657c4462744441671b5474438ea089cdd5dec0cbb8a3b7a4 +afc0abc0b8a6cdd5decdd5dec0b8a6b0b8a3dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6 +dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8dcd6d6cccdccafb9bc +8ea0898ea0899ea9b4b0b8a39fa8578c98538b9882618345576a62627444767b47 +657c44697c2b778772afb09e9ea88e8b98829da1ab87886d757c71576a62667c74 +a0b09f9da1ab9ea08a8b98827c90536274446274445558245e7429475832496032 +767b476b8545767b477787468b9055a1b1709fa85786874a8c98358ea0598b9033 +778746576b33656c267787467b90346b852c778746576a1f576b333f4e32576b33 +7787465e742968752b576a1f3a4423383c235658384c50265e7429778746667c74 +6b854577874677874695af7a7c90536274446b854592a88d8b90807d90829ea88e +b8c3c6b0b8a392a88d8b903386874a68752b6b852c5e74293f4e1e3f4e323a4423 +627444697c2b576b335e7429697c2b7c90537b903486874a7c905376872d86874a +9e9853666b3b766e2d666c5e66603354605f6b8673b0b8a3afb9bccccdccdcd6d6 +dfe1e6dfe1e6dfe1e6dcd6d6c1c2ae9d9981666b3b666b3b86874a767b479f9154 +9a91789e9853697c2b7787468b90559e98539a91789e98538b90556b85456b8545 +5f7b2a6b852c7b90347d97366b852c6b852c7b9034719732708f318c98358c9835 +76872d76872d708f3176872d708f317b90348e9f3b8c98538c985376872d76872d +68752b757b2d76872d5f7b2a708f315e74295560242b3322272c1f2f3c22576a1f +3d5f25576a1f6b852c7b903460832a6b852c708f317f9753719732708f31719732 +80a03b7d97366b852c80a03b80a03b708f313f4e1e304321344d1e304321344d1e +344d1e49601f55602441671b5e7429697c2b697c2b8c985376872d6b852c708f31 +7d973676872d7d97365e74294973235f7b2a76872d6b8545576a1f60832a697c2b +7b90346b85455e7429576b336b854541671b5f7b2a6b852c8b903366592c3a4423 +475832576a1f576a1f77874668752b666b3b666b3b556024867c4c5560244c5026 +3f4e324c5026475832576b33576b333f4e1e49603249601f576b3347581f3a4423 +3d573b496032547443597c754960323d5f255474433d5f7a8da0b6cdd5decccdcc +cccdccc1c4c7a0b09fa0b09f92a88d8ea0597f97536f8f526f8f526f8f527c9053 +657c446b867396b7ab6b86733d5f2541671b608471547443567f3a4b6933304321 +2b33222a34383f4e322a34382e3c445474436b8545657c44567f3a576b33475832 +30444d3f4e323d5f256274444b69334b69333d573b3f4e323d4f564b6865608471 +8b919fbacdd9dfe1e6d9e6eadfe1e6dfe1e6dfe1e6d9e6ead9e6ead2dee6dfe1e6 +dfe1e6e0dfc6b2d2e081a0896b85456274447f9753657c44567f3a547428567f3a +657c4441671b3c5822576b33344d1e3a4423627444496032657c444b6933344d1e +6274445f7b2a576b333d5f254b6933576b33344d1e2b33222b3322262e35342d1f +272c1f2b33224758322f3c223a4423383c23475832475832354c312a3438272c1f +2b33222b33222f3c22304321354c314b6933547443567f3a6b8673afc0aba0b09f +7d908292a88da0b09fb8c3c692a88d92a88d6f8f526f8f526b86736b8673608471 +6b867381a089bacdd9d4dcd0d2dee6e0e6e8dfe1e6ebeae7e0e6e8e0e6e8e0e6e8 +dcd6d6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6e0e6e8d2dee6e0e6e8dfe1e6dfe1e6 +dfe1e6e0e6e8e0e6e8dfe1e6dfe1e6e0e6e8e0dfc6d4dcd0aec4d0afc0ab92a88d +4b6933576b338b9080576b334b69336b85457d90828ea089afc0ab92a88d9ea9b4 +8b9882a3b7a4a3b7a49ea08a8da0b6cccdccdfe1e6d2dee6dfe1e6dfe1e6dfe1e6 +dfe1e6dfe1e6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dcd6d6cdd5dec1c2ae +7d90828b90809ea88ea1b1709ea88e95af7a8ea0897c9053627444627444576b33 +767b4768752b6660338b9882afb09e8b988292a88d6b8673657c44757c71afc0ab +b8c1afafb09e9d99819ea08aa0b09f6b85454960322f3c22475832344d1e304321 +7787468ea0598c98537b903455602486874a7b90347c90538ea059757b2d7f9753 +8b903368752b5e7429697c2b778746697c2b76872d6b8545656c263f4e1e56603a +68752b666b3b778746666b3b4c50264c50264960322f3c226274448b9055778746 +8b90808c985377874692a88d9ea88e7e98827c90538ea0597c90537c90538ea089 +afc0abc1c2ae87886d8b90335e7429656c26767b47576b334960323f4e1e2f3c22 +56603a5f7b2a5f7b2a3a44234758325e7429757b2d7b9034697c2b6b852c6b852c +8b9055767b47666b3b767b47767b47778772aba9a6c1c4c7cccdccdcd6d6d2dee6 +dfe1e6dfe1e6dcd6d6d4dcd0cfc6b8847144666b3b75704d86874a95885c9fa056 +7c90536b852c68752b757b2d7787469a9178666b3b8b9055757b2d757b2d5f7b2a +49601f5f7b2a5f7b2a76872d7b90347b90347d9736708f3176872d697c2b5e7429 +76872d7197328c98357b90346b852c76872d7f97538c98358c985376872d76872d +8ea059778746576a1f6b852c60832a4b681e3f4e1e383c23272c1f55602449601f +49601f49601f7787468c9853697c2b547428497323557f227197326b852c497323 +5f7b2a60832a6b852c7b9034697c2b708f315f7b2a5474283f4e1e3043214b681e +576a1f47581f4b681e576a1f708f316b85456b852c8e9f3b5e7429576b33497323 +708f317b90345f7b2a49601f47581f6183457197325e7429576b33657c44778746 +7f97537f97535474285f7b2a697c2b5e74297f975376872d6b8545565838576a1f +556024767b47576b33697c2b697c2b5560245e7429767b4755582456603a496032 +47581f565838556024657c448c98535560244c50265f7b2a778746656c264c5026 +3d573b3f4e32657c44597c754960323c586f344d594b686592a8b6c1d4e29fb0bb +9fb0bbafc0ab8ea059a1b1708ea0597c90537197534b6933778772819f596f8f52 +6b86735474437c9053597c753d5f25567f3a547443567f3a618345576a62354c31 +3d573b2f3c222f3c222f3c22344d1e6b8545567f3a3d573b4b69335474433f4e32 +2f3c223944464758326274444960653d5f253d573b4b6865597c757a91a896b7ab +bacdd9d4dcd0dfe1e6d9e6eadfe1e6d2dee6d4dcd0e0e6e8e0e6e8dfe1e6dfe1e6 +dfe1e6dfe1e6c1d4e27197536183454b6933567f3a6b85455f7b2a576b334b6933 +576b333d5f253d5f25576b33344d1e304321618345344d1e5f7b2a5e7429627444 +657c443d5f25304321344d1e567f3a496032354c31272c1f262e352b33222b3322 +272c1f2f3c22383c232f3c222b33223043213d5f254960323f4e1e344d1e3f4e1e +3d573b2f3c22354c313f4e323043213d5f254b69336b86738b9882709081667c74 +a3b7a494afa16b8673819f5981a089819f59576b334b69336084716b8545557f22 +6183458ea089afc0abc0cbb8b8c3c6d2dee6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8 +dfe1e6d4dcd0e0e6e8e0e6e8dfe1e6dfe1e6e0e6e8e0e6e8d9e6eadfe1e6e0e6e8 +dfe1e6e0e6e8e0e6e8dfe1e6dfe1e6dfe1e6cdd5dedfe1e6c0cbb8b8c3c6a0b09f +a3b7a47e98828b98826274447787727e988296b7abc1c4c7b8c1af92a88d8b9882 +6b85457e98827e98828ea089afc0abd2dee6d4dcd0cccdccdfe1e6dfe1e6dfe1e6 +e0e6e8d4dcd0dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6c1c4c7b0b8a3 +7e98827d9082afb09e92a88d9fa0568ea08987886d7c90536b8545627444627444 +657c44767b47627444757c71b0b8a37787728b98828b9080666c5e8ea089d4dcd0 +c1c4c79da1ab8b9882b0b8a39ea88e87886d576b332f3c224b6933304321344d1e +6b85458c98538b90337c905368752b6b85458c9853819f597f9753576b337c9053 +8c98538b903368752b68752b8b905576872d867c4c778746556024555824475832 +4c5026656c267787463f4e1e47581f75704d547443475832757c71afb09e8ea059 +657c44657c4477874695af7aa1b1708b98828ea0598b98827787466f8f528ea089 +92a88d8b9882757c717c9053576a1f6274446b8545576a1f5474284b6933344d1e +778746576b333f4e1e49601f344d1e49601f5e74295e74296b852c6b852c6b8545 +7787467c90538b9080757c71767b47848887c1c4c7cccdccdcd6d6d2dee6dcd6d6 +dfe1e6d4dcd0cccdccb0b8a3b0b8a39d99819e985368752b8c98538b90338b9033 +76872d5f7b2a68752b767b47767b47666033666b3b9e98537c905376872d5f7b2a +5f7b2a5e74296b852c6b852c708f3176872d76872d708f3176872d7b90347b9034 +7d97368c9835708f316b852c708f31697c2b7b90348c983576872d7787468b9033 +7b903476872d68752b657c4449601f47581f5560243a44233f4e1e576a1f697c2b +697c2b77874668752b697c2b697c2b76872d6f8f52547428557f226b852c5f7b2a +41671b557f2260832a5e74295e7429719732697c2b5e742955602430432149601f +576b335474283d5f254b681e5f7b2a7b903476872d576b334b681e3c58223c5822 +49601f6b852c7b90344b681e47581f47581f5e7429576a1f497323708f317d9736 +92a75960832a5f7b2a5f7b2a576a1f76872d7b9034656c265e742949603249601f +627444656c264c502656603a49603247581f5474285e74292f3c223f4e3249601f +4b681e576b3362744477874677874668752b5e74296b852c6b8545656c26556024 +4960653d5f25657c446f8f52567f3a3d5f254b69334b68656b86738ea0897e9882 +6b86737e98827e98828ea0597f97537f97538c98536f8f526f8f5292a88d8c9853 +6f8f525f7b2a567f3a4960324b69334b686541671b567f3a41671b3d5f254b6933 +567f3a344d1e2e3c445474436f8f526f8f52657c443d5f25576b334b69333c5822 +3f4e323d573b657c445474433d573b4960655773767d9082aec4d0c1d4e2c1c4c7 +d2dee6dfe1e6dfe1e6d2dee6dfe1e6dfe1e6dfe1e6d9e6ead2dee6dfe1e6d2dee6 +dfe1e6dfe1e6cdd5de81a089567f3a5474436b85456f8f52567f3a4b69336b8545 +5474434b6933547443567f3a4b6933576b336183455474286b8545576b33496032 +60832a6b854541671b3d5f25576b334758323f4e323043212b3322304321496032 +4960324960324973234b681e4973234973234960323d5f25547428567f3a547428 +3c58222f3c222b33222f3c223d573b3d5f25657c443c58224b69336f8f52778772 +c5dae4c5dae481a089567f3a6b85456b867341671b3c58224b69334b693360832a +8b98829ea9b4c0cbb8a0b09f9ea88ecdd5dedfe1e6e0e6e8e0e6e8e0e6e8e0e6e8 +d4dcd0dfe1e6dfe1e6e0e6e8e0e6e8e0e6e8dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6 +e0e6e8dfe1e6dfe1e6d4dcd0dfe1e6cdd5dec1d4e2cdd5ded2dee6c0cbb89da1ab +a3b7a47d90826274446b854581a089819f5992a88dc1d4e2c5dae49ea88e94afa1 +8b90807d908294afa1a3b8bccccdccc0cbb8c1c4c7cdd5ded2dee6dfe1e6dfe1e6 +dfe1e6e0e6e8e0e6e8e0e6e8dfe1e6d4dcd0d9e6eadcd6d6d4dcd0cfc6b8afc0ab +9ea88e9ea08ac1c2ae9ea88ea1b1709ea88e8b9882767b47778746767b477c9053 +657c44767b47627444757c71c1c2ae8b98827d9082778772576a629ea9b4cccdcc +c1c4c7b8c3c69d99819ea88e8b9080819f59778746657c446274444b6933767b47 +7c90538b98826274447787468c98538b9882b0b8a38ea0598c985377874680a03b +8c985368752b7c90538b90557b903486874a778746576a1f5560243f4e1e56603a +555824576a1f767b4747581f556024576a1f6b86737c9053627444c0b1979d9981 +666b3b7787466b85458ea0598c98537c90538ea0597d90826b8545657c447d9082 +8b9882657c444960326f8f525e74296274447787467787465f7b2a576b33708f31 +6b852c576a1f3a442349601f556024576a1f5474285f7b2a5f7b2a76872d656c26 +6274448ea0898b98829d998187886d8a99abafb9bccccdccdcd6d6dcd6d6d2dee6 +dcd6d6afb09e9ea88e767b478ea0599d99818c98538b90558ea05977874676872d +6b852c76872d76872d757b2d6660334c5026666b3b9fa8578c98537b903476872d +76872d76872d6b852c697c2b708f317b90347b9034708f31708f317d973680a03b +76872d6b852c7b90347b903468752b656c2676872d7b9034697c2b7b9034778746 +656c2668752b576a1f4c50263043213a4423656c26767b47576b33657c447d9736 +8b90337787466274445f7b2a6b852c7d973661834541671b41671b557f22576a1f +3d5f2549601f49601f4b681e3f4e1e4b681e68752b5e7429576a1f4c50263f4e1e +5f7b2a6b852c60832a6b852c76872d5e74294b681e3f4e1e4b681e697c2b576b33 +576a1f576a1f68752b68752b5e7429576a1f7d97367d9736708f3180a03b719732 +7b903460832a60832a6b854549601f41671b6b8545576b33657c4447581f49601f +4b69333f4e323a4423354c313043213f4e1e5e7429576b333f4e1e4b681e5f7b2a +77874677874668752b778746778746576b334b681e5560245560244758323f4e32 +4960325474437e98827f97536b86735474434b686541671b618345709081657c44 +567f3a6183457f97538ea0598c9853819f597c90538ea0597f97536f8f526f8f52 +657c446084716183453c58224b69333d5f254b6865567f3a5474433d573b547443 +3d5f252e3c442f3c227787466b8545618345567f3a3d5f25475832304321496032 +4960325474436183454960323d5f253d5f7a7e98829fb0bbc5dae4afc0ab9ea9b4 +cdd5dedfe1e6dfe1e6d4dcd0dfe1e6dfe1e6d9e6eadfe1e6d9e6eadfe1e6d2dee6 +dfe1e6d2dee6d4dcd095af7a5474434b6933547443576b335f7b2a5474285f7b2a +3d5f254b69335e74295f7b2a3d5f254758324758325e7429576b335474285f7b2a +547428576b334b69334973234b693349603256603a3043213a44234b69334b6933 +49601f576b334b693349601f496032576b3347581f3a44233a44233a44232e3c44 +2b33222a34382f3c223043214973236f8f523d5f253a44234b69337c905392a88d +afc0abb8c1afc1d4e2819f595f7b2a576a625474434b6865608471618345567f3a +54744377877292a88d8ea089afc0abd4dcd0d2dee6e0e6e8dfe1e6dfe1e6dfe1e6 +dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6e0e6e8e0e6e8dfe1e6e0e6e8 +e0e6e8dfe1e6d4dcd0cdd5dedcd6d6dfe1e6c0cbb8a0b09fc1c2aecccdccafc0ab +c0cbb8a4bb7e7c90536b8673819f596b86737d9082b8c1afd4dcd07d9082778772 +7787469ea88e8b9882b8c3c6b8c3c69ea9b4aba9a6cdd5dedfe1e6dfe1e6dfe1e6 +dfe1e6dfe1e6d4dcd0e0e6e8dfe1e6d4dcd0cdd5decdd5decccdccb0b8a3afb09e +afbf77afc0abc1c2aeb0b8a3afc0ab7f97537c90537787727f97537787468b9055 +767b477c90537d90828b9882b8c1afafb09e8ea0898b98826274448b9080aba9a6 +8b919fafb9bc9ea08a8b908087886d8ea059767b477090817d90828ea089757c71 +8b90808b988292a88d92a7598b98829fa056a1b17092a75992a7598c98537c9053 +7b90345474287f97538b90337787467f97538b903355582468752b767b4768752b +77874668752b666b3b555824576b33475832576b337c90537c90539a91789f9154 +87886d6274446183456b85457787467787467c90537c9053819f59778746657c44 +576b336b8545547443656c26496032576b33576b336b85453f4e32576b337b9034 +7d97366b852c4b681e30432147581f3f4e1e3f4e1e55602468752b697c2b6f8f52 +6b86739ea88e8ea0898488878b90808b9080848887bacdd9dfe1e6dfe1e6dcd6d6 +c1c4c7757c718b90557d97367b9034708f3176872d76872d708f3176872d6b852c +697c2b6b852c76872d68752b555824565838657c44aea8868c98538c98538c9835 +76872d8c98358c98357b9034708f31697c2b5f7b2a697c2b7b90348b90338c9835 +76872d76872d77874676872d6b852c49601f7b903476872d576a1f6b852c697c2b +757b2d7c90535560242f3c22344d1e3f4e1e344d1e3f4e1e47581f697c2b5e7429 +7c905368752b47583249601f3d5f25576a1f3f4e1e3c5822557f2260832a60832a +47581f3c58223f4e1e3f4e1e344d1e5e7429576a1f3f4e1e3a44234c502676872d +708f315e7429697c2b47581f68752b76872d576a1f3a44233f4e1e627444576a1f +576b334b681e3f4e1e656c2668752b49601f7d97365f7b2a708f31719732708f31 +4b693341671b54742860832a4b6933344d1e344d1e3043213f4e1e47581f3d5f25 +3f4e1e47581f3f4e1e344d1e344d1e3f4e1e4758323f4e1e4c5026697c2b5e7429 +5f7b2a656c26576a1f68752b656c26666b3b5e742955602447581f3a4423383c23 +4b6933547443576b336f8f524960323d4f56547443657c445e74296b86734b6865 +3d573b576b336b85458c9853819f598ea0597197537f9753719753618345547443 +4b69335474434b69334b6933497323567f3a567f3a657c445474434b6933497323 +5474432f3c223f4e326f8f527197535f7b2a7787466b85454b6933354c313c5822 +4b6933547428657c443d573b3d5f25496032667c749fb0bba3b8bc7d98b19ea9b4 +d2dee6d9e6ead2dee6d4dcd0d2dee6d2dee6d2dee6dfe1e6d2dee6d4dcd0dfe1e6 +dfe1e6dfe1e6b8c3c6a0b09f567f3a5f7b2a4b69335474435474433d5f255e7429 +567f3a547443547428547443344d1e3043213f4e3256603a666b3b475832657c44 +5f7b2a4b69333f4e32576b335474434960324960323f4e1e49601f5e7429354c31 +2f3c222f3c223a44233f4e323043212b3322373e433043213f4e32354c31272c1f +272c1f2b33223043213c58225474286183453f4e324b69336b8673719753819f59 +7c9053a0b09fc1d4e292a88d4b69334b69335474436084716183456183454b6933 +3f4e326b86738b9882819f59b8c3c6dcd6d6dfe1e6dfe1e6dfe1e6dfe1e6cdd5de +cdd5ded4dcd0d4dcd0e0e6e8e0e6e8dfe1e6e0e6e8e0dfc6e0e6e8d9e6eadfe1e6 +dfe1e6dfe1e6dfe1e6dcd6d6dfe1e6e0e6e8d4dcd0b0b8a37787728ea089a0b09f +a0b09f7e98826f8f526274446f8f527f975392a7598b988292a88d778772657c44 +8b98828b98828ea089c0cbb89ea88e8b90809ea88ecdd5dedcd6d6dfe1e6d2dee6 +dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6dcd6d6dcd6d6e0dfc6cccdccb0b8a3cccdcc +c1c4c7c1c2aeafc0ab92a88db0b8a38ea0898b9882778772767b478c98538c9853 +7f97537d908277874686874a8b98829d9981aba9a68b98828488878ea089afb09e +9ea08aaba9a6b8c1af9fa0567d9082767b4754742847581f5474436b8545627444 +95af7a8ea0897787467787468ea0899fa8578ea05977874686874a77874676872d +4b6933657c448b90336b852c5e74297787466b8545778746778746767b47778746 +68752b656c2655582456603a767b47475832475832657c44656c2686874ab1b069 +9ea88e6274447c9053697c2b6b8545576b33667c748ea0898ea089657c446f8f52 +627444767b476b854547581f3f4e1e3043213f4e32657c444758324960327f9753 +6b852c576a1f3f4e1e3a44232f3c222f3c22304321576a1f5f7b2a576a1f757c71 +9ea88e8ea0899ea88eada17f87886d8b98825f61569ea08acccdccdcd6d6dcd6d6 +857d6756603a8ea0598c9853576a1f6b852c6b852c76872d76872d5f7b2a5e7429 +5e7429697c2b6b852c576b334c502676872d7c90538c98538c98537b903476872d +697c2b5e74298c983576872d76872d697c2b5560244b681e697c2b5560245f7b2a +7d97366b852c76872d8b903376872d576a1f656c265560243f4e1e666b3b757b2d +8c983576872d304321342d1f3f4e1e576a1f497323576b33576a1f666033697c2b +656c26656c2649601f4b681e3c582241671b344d1e3c58223c58224b681e5f7b2a +5560244c502649601f3c5822576a1f76872d6b852c3a44232f3c223043215f7b2a +576a1f4c50263f4e1e3a4423383c233f4e3247581f4c50263f4e1e7b9034697c2b +3f4e1e3a44232f3c2247581f3f4e1e3f4e1e60832a6b852c557f2241671b3d5f25 +49601f547428697c2b576b33576a1f3f4e1e354c31344d1e3c582249601f3c5822 +49601f344d1e4b6933576a1f47581f627444496032304321475832576a1f697c2b +68752b68752b56603a757b2d757b2d76872d556024576a1f76872d556024383c23 +6f8f52608471547428657c443d573b304321547443547443627444657c44618345 +6183456b85458b98828c98537f97537f97536b852c657c44547428567f3a547428 +567f3a6183453d5f253d5f254b69334b6933567f3a6183454b69333c5822304321 +3d573b4b69336f8f526b85457197325474284b6933657c444960323d573b3d5f25 +394446475832576b334758324b69334b69334b6865667c747090817e9882bacdd9 +cdd5ded4dcd0aeb0bd9fb0bbcdd5ded4dcd0d4dcd0dfe1e6d4dcd0b8c3c6d2dee6 +dfe1e6d4dcd0a0b09f7787726183454b69335e7429576b333f4e1e496032576b33 +5474433d5f253c58225474433d5f2541671b5e74295e74296274446274445e7429 +6183454b693356603a47581f4b6933344d1e354c31304321627444576b33344d1e +383c234b693347581f344d1e4b681e3a44232b33223f4e1e383c23342d1f272c1f +2b33223c582254744341671b4b69334b69333d5f256f8f526183456b85456f8f52 +6f8f52657c4470908181a0896b8545618345497323657c447f9753547443618345 +547443657c447d908294afa1a4bfb5d2dee6dcd6d6dcd6d6d9e6eadfe1e6cdd5de +cccdcccdd5ded4dcd0e0e6e8e0e6e8dfe1e6d4dcd0e0e6e8dfe1e6dfe1e6e0e6e8 +dfe1e6dfe1e6d4dcd0cdd5dedcd6d6dfe1e6e0e6e8c1d4e26f8f525474437c9053 +7f97536b85455f7b2a47581f5474286183456f8f526b85456f8f527c90536b8673 +8b90558ea0898ea0598ea089667c74667c749ea9b4d2dee6dfe1e6dfe1e6d4dcd0 +dfe1e6dfe1e6dfe1e6d2dee6d4dcd0cdd5decdd5decccdcccccdcccdd5decccdcc +b8c1afafb09ea3b7a49ea88e7787468c98537e98827c90537c90537e9882778746 +8b9055657c44657c447787468ea0898ea059afb09ea0b09f8ea0897d90829da1ab +9ea9b49da1ab8b98829ea08a8ea0897c9053657c4456603a3f4e32547443778772 +7c90537c90537787467c9053819f598ea0598b9033697c2b757b2d697c2b697c2b +49601f54742860832a697c2b657c44576a1f76872d76872d576a1f68752b576b33 +576b33576a1f657c447b903477874686874a757b2d757b2d697c2b8b9055aea886 +8b98825e74296b8545576b3347583247581f657c446b8545657c445e7429627444 +576b33496032547443576b333d573b354c3170908195af7a4b693349603276872d +5e74293a4423333522272c1f272c1f344d1e4c50263f4e1e5f7b2a60832a8ea089 +a3b7a47d90829ea88e8ea0899a91788b905554605f666c5e767b479a9178666c5e +4e4425857d67b0b86c8ea05968752b5e74297d973676872d6b852c5e74295e7429 +5e74295e7429576a1f4c50264c50266b852c7c90539e9853767b47576a1f5e7429 +697c2b5e74297d97367b9034708f31757b2d55582447581f4c5026342d1f2f3c22 +556024576a1f5e742976872d76872d3f4e1e4c5026333522272c1f3f4e1e6b8545 +8c98357b9034767b472f3c22272c1f3a44233a4423555824576b33576a1f49601f +697c2b576b335e74293d5f25576b333f4e1e344d1e344d1e304321344d1e47581f +344d1e4c502649601f41671b5f7b2a576a1f5e742949601f344d1e778746555824 +3f4e1e3f4e1e344d1e4b681e344d1e3c5822547428576a1f656c2668752b656c26 +556024576a1f3a4423576a1f3043213043214973235f7b2a3d5f254758323d5f25 +47581f41671b4b681e5658384758324c50262f3c2230432149601f49601f497323 +697c2b55602447581f6183455560243f4e3249601f497323496032496032778746 +576b33576b33354c31576b33656c2668752b576a1f576a1f666033656c26666033 +618345657c44618345547443354c313944463d5f25657c44778746819f598ea059 +819f5992a7597b90347787466b85457c9053697c2b778746496032657c44618345 +5f7b2a6183455474435474434b69333d5f25567f3a567f3a3d5f253d4f562f3c22 +3f4e32547443657c44557f226f8f525474284960323d5f25354c314758323f4e32 +2f3c222f3c224758324758324b69333d5f253d5f255773767e98827d98b1cccdcc +a3b7a48488875773767d90828da0b6afb9bcdfe1e6d2dee6bacdd9a3b7a4a3b7a4 +d4dcd0cdd5dec0cbb881a089657c444b69335f7b2a5474434960323043213a4423 +547443344d1e3c58224960323f4e1e627444557f226b8545496032576b335f7b2a +3c5822344d1e2b3322304321576b333d5f25354c313f4e32576b3355602456603a +576b3355602462744449601f49732349601f4758323944462b33222b33223c5822 +4b69334b69334b6933344d1e3f4e324b69334b69336f8f5241671b567f3a719753 +819f597e98826183456f8f526183456f8f525474435474435474285e74296f8f52 +6f8f525474437f975392a88d95af7aa4bfb5c0cbb8d4dcd0dfe1e6dfe1e6cccdcc +c1c4c7cccdccdcd6d6e0e6e8dfe1e6dfe1e6dfe1e6dfe1e6dfe1e6e0e6e8dfe1e6 +dfe1e6d4dcd0c1c4c7cdd5decdd5ded4dcd0d4dcd0d2dee6c1d4e2618345657c44 +47581f657c44657c445f7b2a657c446f8f527787468b98828ea0898ea0896b8545 +7f97537787467787726f8f52567f3a7e9882afc0abd4dcd0dfe1e6dfe1e6e0e6e8 +dfe1e6dfe1e6dfe1e6dfe1e6cccdccc0b8a6c1c2aeb0b8a3cdd5dee0dfc6c1c2ae +9ea88ea1b1708ea0598b98827c90538c9853657c448b98828ea0597f9753778746 +7c90537787467787467f97537787468b98829ea9b49ea88eafb09e6b8545778772 +8ea0899ea08a857d678c985387886d6b85455f7b2a49601f3f4e1e354c31475832 +576b337f975392a88da1af4e819f599fa0567c90537787467c90538c9853697c2b +556024576b33576b335e7429697c2b576b3368752b8b9033576b3356603a656c26 +627444656c268b903377874668752b8ea05987872c7b90348b90338c98538b9055 +857d675e7429778746576b33576a62475832627444627444618345576b33496032 +3d5f25344d1e576b336b85453c58224e5043b0b8a3c1c4c7576b3349601f6b852c +5e742947581f3f4e1e2f3c222b3322657c44576b3349601f5e74297c9053a0b09f +8ea0597d90827c90537787468b98828c98537787468ea05986874a556024555824 +68752bafb09e9fa857a0a03a7b903476872d76872d697c2b76872d557f22576a1f +5474285f7b2a5560243335223f4e1e697c2b8b90558b90557787468b98828b9033 +5e74293f4e1e576a1f6b852c708f3176872d555824342d1f272c1f24261c342d1f +3335223f4e1e4c50264c50264c50263a4423333522383c23272c1f2b3322656c26 +778746757b2d4b681e383c23342d1f24261c3335223f4e1e47581f49601f5e7429 +49601f3d5f2549732349601f41671b344d1e3043213043213c58223c58223f4e1e +4c502649601f3f4e1e47581f3c582247581f5e7429576a1f3d5f25697c2b576b33 +576a1f7b9034557f227b90346b852c697c2b7b903476872d556024656c26666b3b +3a442347581f33352247581f344d1e4973235f7b2a576b33344d1e3a442347581f +4b693349601f49601f47581f383c23383c232f3c222f3c22344d1e344d1e354c31 +576b33496032496032666b3b4b681e3c58223c58223f4e1e657c443f4e1e3d5f25 +4b69333f4e1e344d1e4758324960324c50264e504375704d767b47556024656c26 +6183456b85457c9053657c443d573b3f4e325474437197537f97536f8f527c9053 +7f97537c9053567f3a657c446b85457c90537f97537f9753547443576b336f8f52 +567f3a3c58224973234b69333d5f253d573b547443547443344d1e354c312f3c22 +2a3438344d1e3d5f25576b33547443618345567f3a5474283d573b3f4e322f3c22 +373e432b33223f4e324b69334b69334758323d573b4b6865547443667c748ea089 +577376576b33576a62a4bfb594afa18b9882b8c3c6cdd5de92a88d8ea0897e9882 +b8c1afb8c1af94afa1afc0ab7f97535474434b69336183455474283f4e32304321 +3d5f25576b33627444496032344d1e3c58226b85456b85454758323f4e1e56603a +344d1e3d573b2a34383a442362744449601f3f4e322f3c22304321354c313f4e32 +666c5e8b90557787463f4e1e4960323a4423383c23333642272c1f304321547428 +60832a4960322f3c222b3322576b334b69336183456f8f52567f3a6f8f52819f59 +6f8f52608471afc0ab92a88d7f97536b85456183456274444b6933547428819f59 +7f97536f8f52819f596f8f526b8673a0b09fcdd5dedfe1e6dfe1e6d4dcd0dfe1e6 +cdd5decdd5ded4dcd0dfe1e6e0e6e8d4dcd0dcd6d6d4dcd0dfe1e6d4dcd0dfe1e6 +dcd6d6bacdd9b8c3c6b8c3c6b8c1afa0b09fd4dcd0dfe1e6d4dcd0a0b09f92a88d +547443576b336274448ea0896b8545819f596b85457c9053a3b7a4afc0ab8ea089 +7c9053657c44657c44657c446183458b9882b8c3c6dfe1e6dfe1e6dcd6d6d2dee6 +e0e6e8dfe1e6d2dee6dfe1e6d4dcd0cccdcccdd5dedcd6d6cccdcccccdccc1c2ae +9ea88e8b98829ea88e8ea0898ea0597c9053657c447c90538c98537c90537c9053 +7787467c90537c90537c90537787468b9882778772a0b09fafb09e8b98827c9053 +7d90828b9882657c447787727c90537787465474434b69334960324758324b6933 +4b69335f7b2a7f97538c98537b90348e9f3b7b903476872d7c9053657c44576b33 +697c2b4b693349603247581f49603249601f555824657c44697c2b6183455e7429 +555824576b33778746757b2d68752b8ea0598b90338b90338e9f3b8c98539fa056 +7b90345e74296b85455e74296274443f4e326f8f52627444657c44547443657c44 +709081576b334960325f7b2a5474286274449ea88e87886d576a1f49601f60832a +6b852c76872d557f2247581f3a44237c9053547443576b3376872d7b90348b9882 +b0b8a3b8c1af87886d87886d8c98538b905586874a757b2d86874a778746778746 +8ea0599fa8578ea0598c98537d97367b90347c905376872d76872d697c2b5f7b2a +5e74296b852c656c26383c233a4423656c267787468b90558b9055aea886b1b069 +8b9055766e2d4c5026576a1f76872d76872d556024342d1f272c1f272c1f342d1f +383c235558243f4e1e272c1f24261c272c1f342d1f333522272c1f3f4e1e656c26 +47581f3f4e1e3a4423333522342d1f272c1f383c23666b3b56603a576a1f5f7b2a +55602441671b49601f5e742949601f344d1e304321344d1e49601f344d1e47581f +30432147581f5f7b2a708f31576a1f3043215f7b2a6b852c76872d6b852c5e7429 +576a1f76872d76872d697c2b7b903480a03b6b852c68752b656c265558244c5026 +4c502649601f383c232f3c22576a1f60832a4b681e3d5f253043213a44234c5026 +657c445e74293f4e323f4e1e3a44233335222b3322344d1e2f3c22342d1f2f3c22 +304321304321354c313a44233d5f253d5f254b6933354c31567f3a3f4e32496032 +6b852c657c44576a1f4c50264758323f4e323f4e323a4423354c31576b33475832 +7c90536f8f52819f59657c44496032354c315474436f8f526b8545618345547443 +6b85456f8f52576b33496032657c448c9853819f596f8f524b69333d5f256f8f52 +6183454b69334b693360832a3d5f25354c314b693341671b496032354c312b3322 +2f3c223f4e32354c31304321576b33567f3a3d5f254b69334b6933576b333c5822 +3f4e32344d1e5474435f7b2a4960323043213c5822496065597c75547443496032 +3d4f564b6933597c7594afa16084716374717d9082a3b7a47f9753819f597c9053 +6b8545a0b09f8b988261834581a089576b334b69336b85455f7b2a576b33576b33 +3f4e1e3f4e323c5822344d1e5474435e74295f7b2a3f4e1e2a34382b33222f3c22 +3944464c50262b3322354c314b69336b85454960323f4e1e47581f344d1e333522 +2f3c2256603a857d67383c23333522272c1f272c1f272c1f354c315f7b2a60832a +557f22344d1e262e352b33224960326f8f52708f317197326b8545547443618345 +567f3a657c4492a88d95af7a6f8f52547428657c44547443547443618345618345 +5f7b2a5773765474434b693394afa1d2dee6dfe1e6dfe1e6dcd6d6cccdcccdd5de +c1c4c7cccdcccdd5decccdccdfe1e6dfe1e6cdd5ded4dcd0dfe1e6dfe1e6dfe1e6 +cdd5ded4dcd0b8c1afafb9bcc0cbb8b8c3c6afb09ec1c4c7d2dee6bacdd99ea88e +608471576b33657c446f8f526f8f526f8f526f8f52618345819f598b98827c9053 +7787464b69334b69335474435474437d9082c0cbb8d4dcd0dcd6d6cdd5dedfe1e6 +dfe1e6dcd6d6dfe1e6d4dcd0cdd5dec1c4c7cdd5ded4dcd0cfc6b8afc0abb0b8a3 +9ea88e8c98539ea88e8b9080afc0ab8b9882778746657c44767b47778746778746 +7c90537b90347c90537c9053767b477c90537d9082c1c2aec1c2aea0b09f8b9882 +637471767b47767b47778746767b4754744349601f3f4e1e576b33344d1e47581f +56603a567f3a7c9053697c2b567f3a8c9853697c2b76872d76872d576a1f576b33 +6b852c47581f3f4e323d5f253f4e1e4758323c582249601f697c2b7b90348c9853 +68752b55582476872d697c2b5560248c98537b90347b90347c90538b90338ea059 +8e9f3b778746576b335e74296b85457787466b8673778772576b335e7429576b33 +567f3a597c75344d1e3c5822576b336b8545697c2b6b852c576a1f5e74295e7429 +49601f6b852c76872d49601f3d573b6f8f525e74296b852c71973276872d7f9753 +c1c2aec0cbb8a1b1708ea08986874a767b47757b2d76872d8c98355e742976872d +8c98358c98537b903476872d576a1f576a1f55602486874a8b9033697c2b656c26 +6b852c76872d656c26574f262f3c223f4e1e767b47867c4c86874a767b479d9981 +aea886b1b0699d998195885c767b47556024576b333a4423333642342d1f342d1f +342d1f333522383c23272c1f272c1f24261c272c1f24261c24261c2b33223f4e1e +4e5043333522272c1f24261c342d1f383c233f4e1e9d998186874a666b3b3f4e1e +3f4e1e4b681e5f7b2a576a1f47581f3c58223a44234b681e4b681e5f7b2a4b681e +49601f4b681e80a03b7b90345e74294b681e697c2b7b90347d97366b852c5e7429 +5474285f7b2a60832a5e742980a03b91af495f7b2a556024576b33576b333f4e1e +576a1f383c2347581f3a4423344d1e47581f3f4e3247581f344d1e3f4e1e304321 +4b6933657c445e74294b681e4e4425383c233043213f4e1e3f4e1e2f3c222f3c22 +3a44233a4423475832496032354c313043213d573b344d1e354c313a44233f4e1e +344d1e4b69333a44233a4423344d1e3a4423383c232f3c223f4e1e475832475832 +7c90536f8f52719753657c447c90536b8545657c44778746657c44618345496032 +5e7429657c444758324758327787467f97538c98537f97536183454b6933547428 +61834541671b4b6933567f3a4973234960325474434b69333d573b304321262e35 +3d573b5474433d5f25547443547443657c444b69333d5f255474434b69334b681e +5e7429576b336b8545657c443f4e32304321344d1e3d5f253d5f254960323d573b +576b337e98827090818ea0894b6933576b336b85457e98826b8545547443657c44 +6b8673657c448ea0897c90536b854541671b4960326b8545618345557f226b8545 +41671b3f4e32475832576b33354c31354c313f4e322f3c22272c1f2a34382b3322 +272c1f2b33222f3c22475832576a1f6b85455f7b2a4960324960323f4e1e2b3322 +333522383c234c5026272c1f262e35272c1f272c1f2b33225f7b2a618345657c44 +3c58222b3322262e352f3c223d5f25708f31567f3a5f7b2a5f7b2a547428496032 +6183454b69337197537197536f8f526f8f52567f3a618345708f316b85456b8545 +7d9082657c44496032577376a4bfb5cdd5dedfe1e6d2dee6cdd5decccdccb8c3c6 +c1c4c7b8c3c6afc0abd2dee6d2dee6dfe1e6cdd5ded2dee6dfe1e6d2dee6d4dcd0 +dcd6d6dfe1e6c1c4c7afb9bcbacdd9bacdd995af7a8b9882b8c1afc0cbb8afc0ab +7e98826b86737c90536f8f52708f317787467c90534973234b69336b85456b8545 +657c44657c44547443475832576a62a0b09fcdd5deafb9bcc0b8a6cccdccd2dee6 +dfe1e6d4dcd0dcd6d6cdd5decccdccc1c2aec1c4c7c0cbb8b8c1af9ea88ea4bb7e +9ea88e8ea059a1b1708b9080a3b7a4a0b09f8ea0897c90537c90537c90538b9055 +77874668752b7787467b90346b85457d90827c9053a0b09fcfc6b8b0b8a38ea059 +496032667c748b9882778746576b334b69333c582247581f657c443d5f2547581f +4758325f7b2a7197534b681e5e74296b85455f7b2a819f597d9736697c2b657c44 +76872d4b681e475832344d1e47581f4758325e74295474287f97538ea0598c9853 +76872d767b476b85454c502649601f657c44697c2b697c2b7b903476872d8b9055 +8c98357b9034708f316b852c697c2b8c98538b98828b9882576b336274445f7b2a +5e7429576b33344d1e304321496032497323697c2b767b4792a88da3b7a48c9853 +49601f576b337c90535f7b2a657c4492a7596f8f526b8545708f316b85458b9882 +9ea08a9ea08a8b90558b90558b90337c905376872d757b2d5e74295e74295e7429 +5e74297f97536b852c6b852c6b852c8c9853778772757b2d77874668752b556024 +697c2b757b2d4e4425383c234e44254c50269ea08a656c2666592c565838565838 +74643e87886d87886d9a91789fa056767b474960323f4e1e2f3c222b3322333522 +342d1f272c1f24261c24261c24261c24261c1e241b24261c24261c272c1f2b3322 +4c5026342d1f24261c272c1f24261c342d1f4c50268b9033757b2d4c50262f3c22 +344d1e4b681e5e74296b852c47581f49601f656c265f7b2a576a1f576a1f60832a +47581f576a1f6b852c697c2b7b90347d9736697c2b576b336b852c7b90347b9034 +708f317b90346b852c76872d708f3176872d76872d708f31576a1f55602468752b +656c26383c23344d1e49601f4960325560243f4e322f3c222f3c22304321576a1f +8c9835697c2b68752b5560244c502654742841671b3f4e1e3f4e1e304321304321 +3a4423333522383c234c50263a44233043212f3c22272c1f2f3c222b33222f3c22 +344d1e3f4e322f3c223f4e32627444576b33342d1f2b33223f4e1e3a44233f4e1e +657c446b85457c90535474436f8f527c90534960325474434b6933576b33496032 +576b333d5f253d5f253f4e326b85457c90536f8f52657c44567f3a5f7b2a5f7b2a +6b8545567f3a567f3a4b69335474433d5f256183454b6933354c31354c31304321 +3043215474434b69333d5f253d5f25344d1e4b69333d5f25497323475832576b33 +3d5f254b6933627444576b33354c313f4e323d573b4758323c5822354c314b6933 +567f3a709081709081719753576b337090817c90537197535f7b2a627444719753 +7197536f8f525f7b2a657c44567f3a576b3347583247581f618345657c44697c2b +4b693347581f576b333d5f25344d1e304321344d1e3f4e322f3c22354c312b3322 +262e353a442347581f4960326183455f7b2a4960322f3c222b3322262e35272c1f +333642383c232f3c222b33222f3c222f3c22496032657c446b852c60832a49601f +2f3c222b332230432141671b60832a6f8f5260832a6183456f8f526f8f526b8673 +6f8f52657c447f97537197326b8545708f31719753719732567f3a567f3a4b6933 +5474434b6933567f3a667c74a4bfb5afc0abb8c3c6b0b8a3c5dae4b8c3c68ea089 +a0b09f8b9882afb09ecdd5decccdccb8c3c6b8c3c6c0cbb8cccdccdcd6d6d2dee6 +c0cbb8d4dcd0c0cbb8a4bb7ea0b09fb8c3c6c0cbb86b85456b8673778772b0b8a3 +b0b8a3757c717b90347c90536183455f7b2a657c444b6933618345618345657c44 +3f4e323f4e3239444630432154605f667c747e9882757c71a3b8bcd4dcd0dfe1e6 +d2dee6cccdccd4dcd0b0b8a3b0b8a3b0b86c8b98828b9882afc0aba4bb7e8ea089 +95af7aa1b1708c98537c90539ea88e92a88d92a88d7c90538b90557787468b9055 +7787467787468b9882778746757c717c90538b9882b0b8a3cccdccb0b8a38b9882 +666b3b757c71aea8869d99816274443f4e1e4960325e74297c905368752b3d5f25 +3f4e32576b3356603a3d573b5e74295f7b2a6b85457b9034657c445e7429657c44 +708f31576b335e74292f3c223a442349601f576b33556024697c2b68752b576a1f +68752b6b852c7787465560243f4e1e576b335e74295e74295f7b2a5f7b2a7b9034 +7f97537b90347b90347d97367f97535f7b2a77874677877256603a475832555824 +4b6933576b3349601f49601f5e74294960326b85457e9882a0b09fb0b8a38b9882 +4960323043214c5026576b334b69337787467d973677874677874656603a3f4e32 +2f3c224c502668752b8c98538b903386874a87872c76872d68752b778746766e2d +76872d8c98537b903476872d7787468ea059aea8869fa85786874a656c26666033 +574f26383c23333522333522767b47767b4795885c666b3b666033383c23383c23 +3a44236660334c502686874a7c90535e742947581f556024344d1e333522342d1f +383c23342d1f24261c24261c24261c24261c24261c24261c24261c272c1f2b3322 +2b332224261c24261c24261c24261c2b332256603a666b3b766e2d383c23342d1f +342d1f3335223f4e1e778746344d1e344d1e3f4e1e4b681e576a1f4b681e5f7b2a +5e74295e74297d9736697c2b68752b68752b47581f4b681e6b852c708f318ea83e +8c98358e9f3b76872d8e9f3b5f7b2a6b852c5e7429697c2b6b852c7d97367b9034 +7b90345560243c582241671b47581f3f4e1e3f4e1e3c582249601f3d5f25497323 +708f318c9853697c2b47581f3a44233f4e1e3f4e1e2f3c22383c233a44233f4e32 +2f3c222f3c224c502647583256603a2f3c222b3322272c1f2a34382f3c222b3322 +3c58223d5f25304321333522475832666b3b333522342d1f2f3c222b33222b3322 +576b336f8f52778746576a625f7b2a6f8f52576b334960324960324b69333d5f25 +3f4e32354c313d573b4960325e74296b854560832a576b33354c31618345567f3a +4960325f7b2a6183453d5f253d573b54742849732341671b354c313043212f3c22 +304321344d1e4b69333c58224b69334b6933657c445474284b6933354c31344d1e +4b6933475832576b33576b334758322f3c223043213043213043214b6933567f3a +6b8545657c443d573b4b69336f8f527f97537f97536f8f526f8f526b85458c9853 +7c905360832a567f3a5474435e74294b69334960323f4e1e4b681e576b33778746 +576b33344d1e3c58224b6933576b335474435474282f3c222f3c223a44232b3322 +262e353f4e32576b335e7429547428567f3a3d5f252f3c22272c1f272c1f2b3322 +3a44232f3c222f3c224758325e74296b852c80a03b708f316b8545557f22576b33 +3c58223c58224973235f7b2a719753708f316b8545497323618345719732719753 +6183456f8f52819f595f7b2a4b6933657c447197536f8f526f8f52657c44657c44 +597c756f8f526183455474436b86738ea0896b86739ea88ed4dcd0cdd5deb0b8a3 +8b98827e9882b8c3c6c1d4e2e0dfc6c1c4c7afb9bcafc0abcccdccdfe1e6dcd6d6 +9ea9b4a0b09fa3b7a48ea089778746a3b7a4b8c3c67c90535474433d5f25657c44 +7e98827787467f97536b852c6183455474433d5f25657c446183455e7429547443 +4758323a44232f3c223f4e32576a624b69334b6865637471afc0abd2dee6cdd5de +c1c2aeafb9bcb8c1afa0b09f7d9082767b478b9882afc0abb8c1afb0b8a39ea88e +7d9082b0b8a3a1b1707c90536b85458ea0596b85456b8545657c44778746778746 +657c4477874686874a7c90537787467e9882a3b7a4a3b7a4c0cbb8c1c4c78ea089 +4b6933666b3b637471b0b8a387886d666b3b576b335e74295f7b2a697c2b47581f +54744347583249601f47581f627444657c446b8545576a1f697c2b576b33556024 +60832a68752b697c2b47581f5558243f4e1e4e44253a4423556024475832778746 +7b90348c98537b9034778746304321576b33576a1f4b681e497323576a1f6b8545 +778746697c2b60832a60832a708f3176872d7f97537c905347581f3a4423383c23 +2f3c223043213f4e1e576a1f5474284b681e7e988292a88d95af7a7b9034697c2b +5560243f4e1e4b681e576a1f56603a576b335e742949601f3a44232b3322272c1f +2f3c22576b3377874676872d7b903487872c68752b757b2d87872c8c98538c9853 +8b9033767b475e742968752b778746a1b1709fa056a1b1709e985376872d766427 +66592c4436233335223335224e4425666b3b74643e666c5e666b3b666033475832 +3a442347581f3f4e1e666b3b68752b3f4e1e2b33222f3c223f4e1e3a4423333522 +66592c565838342d1f24261c24261c24261c24261c24261c24261c24261c342d1f +272c1f24261c272c1f24261c24261c272c1f383c23383c233f4e1e3a44232f3c22 +272c1f2b33223f4e1e5560243a442347581f344d1e576a1f76872d6b852c576a1f +5e7429708f31719732557f22708f316b852c576a1f708f317197327d9736708f31 +8e9f3b7d973676872d697c2b76872d697c2b576a1f697c2b8c98357b903476872d +7b90347b903454742849732354742855582447581f4b681e4b681e41671b60832a +6b852c76872d5e7429778746657c44576b332f3c22272c1f3335222f3c22333522 +2b3322344d1e3a44235f61569d99813a4423342d1f272c1f2f3c223c58222f3c22 +3c5822344d1e3a4423333522354c31576b332f3c223335222b3322272c1f2b3322 +4758326b8545547443475832657c44547443576a623a4423576a625474433f4e32 +354c31304321354c313c58224b6933657c447787464960322f3c223d4f564b6933 +4b6933657c446183454960324960323d5f25496032497323354c312a34382f3c22 +4b68654b6933304321344d1e4b69333d5f254b6933618345567f3a344d1e2f3c22 +3a44233043214758324758323f4e322f3c22354c313043214b6933547443576a62 +3d573b3f4e32475832547443657c446f8f527197536b85455f7b2a77874692a759 +819f596b85455474434b69333c5822344d1e5474283d5f25576b334973235e7429 +6183453d5f253f4e1e2f3c223335223a4423344d1e2b33222f3c225f7b2a3c5822 +2f3c224973236b8545708f316b8545496032354c31496032354c31344d1e49601f +4960324b69333f4e1e576b337c90537d97368c98535e74293c582241671b4b6933 +497323497323618345557f2260832a6b8545708f31557f226f8f526f8f52708f31 +557f226b8545819f596b852c6b85455f7b2a496032576b335474437c90537b9034 +819f596f8f52567f3a3d5f254960326084718ea089c0cbb8c1d4e2d9e6ead4dcd0 +afc0abb0b8a3afb9bccccdccd2dee6cccdccafc0abc1c4c7d2dee6dfe1e6e0e6e8 +c0cbb88ea0898ea08977877270908192a88d8ea089819f595474434b6933344d1e +657c446274447c90536b854560832a4b681e496032354c314960324b6933576b33 +3043212f3c223944463a44233f4e323f4e323d573b8b9882bacdd9dcd6d6cdd5de +afb09ea3b7a48b98827787467c90536b86737f9753a0b09f8ea089afc0ab8ea089 +87886da0b09f95af7a8c98537787467c9053697c2b778746697c2b6b8545576b33 +68752b657c4477874668752b6b85458b9882b8c3c6b0b8a3b8c1afafb09e9ea88e +576b33475832475832afb09e86874a7787466f8f526b854560832a657c44475832 +3a44233f4e1e3f4e1e5e7429576b33576b335e7429576b33618345576a1f4b6933 +5e7429576b33656c264c50264960322f3c222b3322333522576b334758327b9034 +4b681e60832a656c2677874655602447581f3f4e1e556024576a1f496032767b47 +7787465e74295474285f7b2a6b852c5f7b2a7c90538c98357b9034576a1f4b681e +656c264b681e5474286b852c7b90347d97367d97368ea0598ea0597d97366b852c +6b852c5560243a44233a44233f4e325474283d5f2547581f5e7429304321342d1f +3335225560248c985376872d6b852c68752b6b852c697c2b7b90347d97368c9835 +8ea059b1b0697c9053656c267b9034a1b170778746778746697c2b8c9835666b3b +4e4425443623342d1f383c234e504387886d767b47666b3b4c50264c502675704d +4758324c50264c50263335223a44232b33222f3c222f3c223a4423767b47666033 +4c50265558244e4425342d1f24261c24261c24261c24261c24261c272c1f342d1f +342d1f342d1f44362324261c24261c24261c342d1f2b3322272c1f2f3c222b3322 +2f3c2230432141671b576a1f4b681e5e7429576a1f8ea83e8e9f3b76872d60832a +5e7429697c2b576a1f4b681e4b681e4b681e6b852c7b90348c98356b852c8c9835 +7c9053757b2d6b85456b852c697c2b3f4e1e576a1f576a1f7b90348ea83e76872d +697c2b8c983576872d5f7b2a76872d7b90348b90337b90346b852c5f7b2a5e7429 +5f7b2a6b852c60832a7b9034697c2b576b335560242f3c22333522272c1f272c1f +2b33224b681e576b333f4e1e576b334758322f3c22304321344d1e3f4e1e383c23 +2f3c222f3c22304321344d1e354c31656c263f4e1e2f3c22344d1e344d1e304321 +4960326b86734b69333d573b6183456b854554744347583256603a576b33475832 +30444d3d573b576a62576b336b8545576b33657c444758324758323d5f254b6933 +567f3a547443567f3a41671b4b69336183456b867341671b354c312f3c222f3c22 +344d1e4b69333d5f25657c445474284b69333c58225474434b681e4b69333d5f25 +354c313a44233f4e3256603a4960323043215474434b69334b69333f4e1e304321 +304321576a62618345576b33496032547443819f596f8f527787468ea0598ea059 +7b90345f7b2a4b6933344d1e4b69334758324b681e3d5f255474286183456b852c +6b85454973234b69334960322b3322262e35354c313f4e32304321618345497323 +576b3360832a60832a60832a5f7b2a49603247581f3043213f4e1e3c5822576b33 +3f4e1e547443697c2b576a1f76872d7b9034708f314b681e4758324b69333d5f25 +3d5f254973236f8f526b854560832a497323657c446183456b852c60832a567f3a +41671b5474287787465f7b2a6b85456b852c344d1e4960656084716183455f7b2a +6183457c9053576b33354c31354c31547443a3b7a4c0cbb8c1c4c7c1c4c7c1c4c7 +a0b09f8b98829ea9b4c1c4c7b8c1afbacdd9c1c4c7cdd5ded4dcd0dfe1e6dfe1e6 +cdd5de9ea88e7d90827f975392a88db8c1af757c717c90535474435f7b2a547428 +3d5f25394446867c4c6b85456183455e74294b6933627444657c444b6933475832 +3c58222f3c222f3c222f3c22354c31496032667c74aeb0bdb8c3c6afb9bcaba9a6 +a0b09fa3b7a47f97536374716183456f8f526f8f527c9053757c7195af7a92a88d +92a75992a7597f97537c90536f8f527787466b85456b85457c90537c9053576b33 +5e7429576b337787466b8545657c448ea089a3b7a4a0b09f9ea9b49ea88eb0b8a3 +757c71475832354c31afb09e8b9055767b476b85457f975360832a576b335f7b2a +3f4e1e3335223335222f3c224c5026767b4747581f576b335e742949601f4b6933 +6b85454b69336274443f4e1e4c50264c50262b33223335224c502656603a618345 +4b681e54742847581f5560243f4e1e576b334758323f4e1e4c50263f4e1e475832 +666b3b3f4e1e49601f576a1f4b681e5e74297c90536b852c76872d76872d708f31 +6b852c7b9034708f31697c2b7b90347b90346b852c6b852c697c2b7b903476872d +5f7b2a344d1e2f3c222b3322383c23304321576a1f60832a697c2b3f4e1e272c1f +2b332249601f86874a68752b5e74297b90346b852c76872d7b903476872d76872d +7d97368e9f3b92a7597d97367b90347b90345560243f4e1e576b337787464e4425 +4e44254e3d22342d1f4e3d2287886d9e98539ea08a86874a666b3b4c5026383c23 +383c233a44234e4425342d1f383c232f3c223a44233043212b3322576b339d9981 +86874a4e4425383c2324261c24261c24261c342d1f24261c24261c24261c24261c +272c1f383c23443623272c1f24261c272c1f272c1f2b3322333522344d1e304321 +3f4e1e4b681e708f3160832a49601f576a1f4b681e6b852c8e9f3b757b2d68752b +76872d68752b556024576a1f576a1f41671b6b852c697c2b7b90345f7b2a708f31 +576a1f49601f656c266b852c6b852c55602476872d55602454742860832a6b852c +4b681e49601f697c2b7b90347d9736757b2d68752b767b47576b3349601f47581f +68752b77874668752b697c2b47581f5f7b2a4b6933354c312f3c222f3c222b3322 +344d1e5e7429576a1f3f4e1e657c448ea0593c5822496032304321333522333522 +2f3c223043212b3322344d1e3d5f25767b47666b3b3043213c582247581f304321 +4b6933567f3a4b69333f4e32576b33657c445f7b2a627444496032496032496032 +3f4e1e496032778746657c44657c44627444697c2b56603a547428618345618345 +6f8f52567f3a497323547443497323576b33567f3a4b6933344d1e2e3c442a3438 +333522496065576b3341671b4b69333d5f253d5f253d5f254b69334b6933344d1e +3f4e322f3c22383c23475832657c445474286274443d5f253f4e1e30444d304321 +344d1e41671b4b69334b69334b69336b8545819f596f8f525f7b2a7f975392a759 +7f97536b852c576b33497323576b333c5822576b3349601f657c446f8f526b852c +6b8545576b335f7b2a3043213d573b304321304321576b3360832a5474285f7b2a +41671b49601f5e74296183456f8f52496032354c313043212f3c222f3c222f3c22 +2b33223a4423354c31354c313f4e32547428708f31567f3a5f7b2a3d573b304321 +3c58224b693341671b3d5f253d5f2560832a567f3a5f7b2a618345819f597b9034 +567f3a4b6933547428576a1f6b8545576b33657c44547428618345567f3a657c44 +4b6933576b33547443354c31354c3170908192a88d92a8b6afc0ab92a88d8ea089 +92a88d94afa19ea88ebacdd9b0b8a3b8c1afb0b8a3afb9bcb8c1afb8c3c6cdd5de +d4dcd0a3b7a47d90827c90538ea089a3b7a47e98823d573b3d5f255f7b2a567f3a +657c44657c447c90537c90536b85454b69336b8673597c755474434758323c5822 +4960322f3c22262e353f4e326274447d90829fb0bba3b7a49ea88e8ea0897d9082 +7f97537787727c90536b86736f8f527c90537d908292a88d7c90537d90827c9053 +8ea0598c98536f8f527c9053778746547443576b337787468c98537787465e7429 +62744449732377874676872d6b85458b98828ea0597d90828ea0598b98828b9882 +657c444758323a44238b98828b90805e74296b8545697c2b6b85455e7429657c44 +354c31272c1f342d1f2f3c222f3c223f4e1e344d1e576b334b693349601f6b852c +7787465560244b681e3f4e1e3f4e1e3a44232b3322333522383c233f4e1e49601f +5560244b6933576b33383c233a442347581f3a44233a44233c58223f4e32778746 +766e2d383c233f4e1e4973235e7429547443697c2b708f31557f22697c2b708f31 +7b903460832a697c2b576a1f5e74296b852c6b852c576a1f5f7b2a6b852c7b9034 +5f7b2a47581f3043213335222b3322576b3377874668752b55602468752b47581f +41671b68752b7b9034697c2b6b852c656c2668752b80a03b7b903476872d7b9034 +7d97366b852c7b9034757b2d49601f5e74293f4e1e33352255602474643e4e3d22 +74643e74643e272c1f383c23666033766e2d857d67767b47666033666b3b383c23 +3335222b3322333522272c1f2b3322383c233a44233043213a44233335223f4e1e +4e44253f4e1e574f264436231c1e1924261c24261c24261c24261c24261c24261c +1c1e19342d1f333522342d1f333522333522272c1f272c1f2b33222b33222b3322 +304321344d1e4b681e49601f30432149601f5f7b2a76872d6b852c697c2b697c2b +68752b556024556024576a1f4b681e49601f5e742947581f576a1f5e7429656c26 +49601f3d5f255e742976872d7d9736708f3192a7595e7429697c2b5f7b2a708f31 +3d5f2549601f7b90346b852c7b903476872d77874676872d68752b5e74296b852c +68752b76872d76872d49601f576b333f4e1e6b85454b681e344d1e3a44233f4e1e +49601f344d1e4b69333f4e1e576b337787466660333f4e1e2b33222b33222b3322 +304321354c31344d1e3043213043214b6933556024344d1e41671b3c58222f3c22 +576b335474435474434960326274446b8545657c44576b335474434b6933547443 +4b6933576b33778746627444657c44576b334960325560245e74296b8545708f31 +567f3a6b8545618345567f3a3d5f25354c31547443576b33344d1e2f3c222f3c22 +2f3c22344d1e567f3a4960324658644960323d5f25475832657c444b6933354c31 +3043213043213336422a34384b6933576b3349601f344d1e304321354c314b6933 +5474434b69334b69335474434b6933657c44708f31708f3154742860832a7d9736 +719753708f316183456b852c708f314973235f7b2a547428576b33708f316b8545 +4b693349601f4b681e344d1e2f3c22262e35344d1e4758325e74295474436b852c +6183453c58224b681e54742849601f2f3c223335223335222b33222b3322304321 +2b3322272c1f3335222b33223a44233043216b8545576b33344d1e496032496032 +3c58226b85453d5f254b69333d5f255474437f97533c582249601f496032576b33 +576b335474284b69333d5f2547581f3f4e1e4b69336f8f525f7b2a3d5f256f8f52 +6183453d573b3d573b3c58223d5f25597c758b98828ea089a0b09f7f9753657c44 +6b86736b86737e98828ea0899ea88e95af7aa0b09f8ea0899ea88e8b9080a0b09f +cccdcc95af7a8ea0596f8f52667c74afc0abb0b8a34960323d5f25576b33496032 +657c447d97367b9034778746576b334b6933576b33496032567f3a547443475832 +354c312f3c22304321304321657c446374716374717090816b85457787728ea089 +6f8f527787466f8f526b85456183453d5f25778772a4bb7e819f596b85456b8545 +7f97537f97538ea0596f8f52657c4454742841671b657c446b8545697c2b5e7429 +5f7b2a5474284b6933697c2b6b85457787466b8545576b337c9053819f598ea059 +6374717787464e50439ea08a8ea0593f4e1e3c58224b6933697c2b576b334b681e +47581f2b3322272c1f3a4423272c1f272c1f3a442368752b556024496032697c2b +6274443a44232f3c223a44233f4e1e3f4e1e47581f697c2b576a1f5560245e7429 +49601f344d1e576a1f383c232b33223a4423383c23383c233f4e1e3f4e1e767b47 +767b47333522344d1e576a1f47581f576b3376872d60832a5e74296b852c5e7429 +5e74295e7429576a1f5e7429576a1f5e74295f7b2a697c2b7d97366b852c576a1f +5e7429557f22576a1f2f3c222f3c22344d1e47581f4b681e5f7b2a656c26697c2b +6b852c76872d76872d68752b708f313c582249601f6b852c7b90348c98357b9034 +8c983576872d7b9034576a1f3a442347581f3a44232f3c2256603a74643e574f26 +74643e4e3d22342d1f342d1f4e5043666033666033666b3b4e50435658383a4423 +2b3322333522333522272c1f2b33222b3322383c23344d1e304321342d1f496032 +383c233a44233f4e323a44232f3c223a44232b3322342d1f1c1e1924261c24261c +24261c24261c342d1f333522333522333522383c23272c1f24261c2b3322304321 +3f4e1e2f3c22333522344d1e4b681e708f31708f318b903376872d697c2b47581f +4c502655582447581f4b681e576a1f5f7b2a47581f47581f54742876872d47581f +3f4e1e41671b4b681e656c2649601f49601f697c2b60832a80a03b697c2b5e7429 +697c2b8c98358b90338b905576872d7f975376872d697c2b6b852c767b474b681e +68752b697c2b708f31697c2b576a1f49603262744447581f3d5f253a44233d5f25 +41671b5474283d5f25304321304321576b335f61562b33222b33222f3c22333522 +2b33223335222f3c223f4e1e3043213a4423354c31344d1e49601f49601f304321 +576b334b69337c90537c90537f97537f9753576b335e74296f8f52618345496032 +3f4e32657c446274443c5822576b334960323f4e324b69337197536f8f52618345 +41671b4b69337197536f8f523c58224b6933354c313c58224973233d5f25344d1e +3d573b4b69336b852c4973233043213c5822354c313c58225474435f7b2a304321 +3043213f4e322f3c2256603a697c2b657c44576b334758323f4e324758325f7b2a +576b333d5f254b69335474435474436f8f526b85456f8f525f7b2a5f7b2a6f8f52 +7197326f8f525f7b2a60832a5474284b69335f7b2a618345576b33657c445f7b2a +4b681e6274445474433f4e1e3043213043214758324b6933576b334b69335e7429 +657c44354c315474285474284960324758322b3322373e43262e35333522394446 +3335223335223f4e32304321354c312f3c224758324960323a4423304321475832 +47581f567f3a3f4e1e547443344d1e4973237f97533d5f253f4e1e4b69334b681e +4b69335f7b2a41671b4b69333c58222b3322304321547443618345547443576b33 +4973233d573b3043213d573b41671b6b867392a88d8ea08971975396b7ab92a88d +5474437e9882a3b7a492a88d95af7a95af7a8b988292a75992a88d92a7598b9882 +81a089757c716f8f525474435f7b2a7e9882a0b09f7d9082657c443f4e32304321 +576b33547443657c446b852c567f3a576b333d5f25496032657c444b69332f3c22 +2b33223043212f3c223f4e326274444b6933547443657c44657c446f8f527d9082 +6183456f8f526f8f52547428547428576b334960326b86737c9053557f226b852c +708f318c98537c9053657c445f7b2a6274444b681e5f7b2a7c9053778746547443 +5e74295e74294b69336b8545657c44627444576a1f576b337c90537787466b8545 +56603a8ea059767b4787886dada17f4960323f4e323f4e1e4b6933576a1f576a1f +47581f3043212f3c22344d1e2b3322272c1f2b332249603247581f657c445e7429 +47581f3043212f3c222f3c223f4e1e576a1f7f975376872d576a1f5e7429697c2b +4758323a4423576a1f3f4e1e383c233a44232f3c223a44233a442330432156603a +867c4c383c233a44233f4e1e2f3c225f7b2a6b852c5e742960832a576a1f697c2b +6b852c6b852c576a1f5f7b2a6b852c6b852c5f7b2a5f7b2a76872d656c263a4423 +49601f5f7b2a5f7b2a3a442333352230432147581f6b852c76872d576a1f5e7429 +7d973676872d576a1f5e742960832a5e74294b681e5f7b2a7b90348e9f3b7b9034 +8c983576872d8b90336b852c49601f2f3c222b33222f3c22767b4774643e66592c +74643e443623342d1f272c1f342d1f373e43383c23555824666b3b4c50263a4423 +383c232f3c223a44233a4423383c23272c1f2b3322344d1e4c50262b33223f4e1e +47581f383c233a44233f4e1e47581f576a1f76872d656c264e4425342d1f342d1f +24261c24261c342d1f342d1f342d1f342d1f383c233a4423383c233a44233f4e1e +3f4e1e3f4e1e2f3c222f3c225474286b852c8c983576872d5e7429576a1f3f4e1e +574f2655602447581f68752b47581f41671b5f7b2a76872d697c2b4b681e344d1e +3c58223f4e1e3f4e1e4b681e3043212b33223f4e1e6b852c8ea83e76872d76872d +8b90338e9f3b8c98538c98356b852c68752b6b852c5f7b2a68752b697c2b555824 +4b6933576a1f697c2b697c2b576b3349603247581f3f4e1e47581f5f7b2a557f22 +5474285f7b2a41671b49601f3d5f255474438c9853344d1e3f4e1e304321304321 +2b33222f3c22344d1e3f4e322f3c222f3c223a4423304321344d1e2f3c223f4e1e +8c98537787467c9053657c446f8f527f97535474435f7b2a618345547443496032 +3f4e326b85456f8f524b6933657c446b85455474286b85457c90536b852c6b8545 +5474284973235f7b2a6183454b69334b69333d5f25344d593d573b3d5f253d573b +3d573b497323547443567f3a4960325474434960323043213f4e1e496032304321 +354c31354c313a4423576b336274443f4e322f3c223043213043213d5f253d5f25 +3f4e32496032597c756b85453c58223f4e326b85457197535474286f8f526b8545 +7b90346b8545547443557f226b85454b69333f4e32657c446b852c5e7429627444 +778746496032344d1e49601f576b33657c446b852c4b69335e742968752b576a1f +4960324b69334b69334758323a44232f3c22272c1f333522333522383c232b3322 +383c235f6156666b3b5558243043212f3c222f3c223d5f253d5f25344d1e496032 +5f7b2a5f7b2a3c58223c58224b6933557f22657c444b69336274444b6933576b33 +6b85455e74294b69333d5f253c5822344d1e3d573b4973236b85456f8f526f8f52 +547443354c312e3c44354c314b6865597c75576a6260832a6b85458ea08992a88d +8c98537e98826f8f527787467e98827f97537c9053819f597c905392a88d81a089 +7f97534960323f4e32576b336183456b85459ea88eafc0ab7e98823c5822576b33 +4b69333f4e326b8545778746657c44576b33344d1e354c31576b333f4e32354c31 +354c312f3c223d5f25567f3a657c44496032496032657c446b86738ea0897f9753 +7197537c90535f7b2a4b69335474433c58225474285e7429657c445474286b8545 +8c98537c90537787466b8545576b33576b334b69335e742960832a657c443f4e1e +576b3347581f475832657c44576a1f56603a6274445e7429657c445e74295f7b2a +47583275704daea8868b9882c0b1974b681e47581f475832576b334b681e5e7429 +5f7b2a576b33576b3355602447581f304321344d1e344d1e47581f708f314b6933 +2f3c2230432147581f4b6933778746778746697c2b767b47656c267787464c5026 +2f3c223f4e3256603a6660333335222b33223043212f3c224c50263f4e1e556024 +767b473a4423344d1e344d1e30432154742854742876872d6b852c576a1f6b852c +708f317b90345474286b852c6b852c6b852c76872d6b852c697c2b5560243f4e1e +5560245f7b2a60832a47581f2f3c22344d1e3c582249601f3f4e1e344d1e556024 +5e7429557f226b852c708f317d9736708f3176872d7b903480a03b7d97365f7b2a +5e7429757b2d5e74295e74294b681e3a44234e4425304321697c2b574f26766427 +604f2a33352224261c342d1f342d1f3335224e4425565838666b3b4e4425383c23 +383c233335223f4e1e49601f383c233335222b332241671b697c2b3a44235e7429 +49601f4436234c5026576b33556024697c2b76872d76872d8c985376872d68752b +333522342d1f342d1f342d1f383c233335224e3d223043213a4423576a1f4b681e +3c5822576a1f4b681e3c5822576a1f6b852c5f7b2a6b852c697c2b5e7429556024 +697c2b7b90345e742954742847581f49601f4b681e6b852c3f4e1e49601f3c5822 +49732347581f344d1e5f7b2a5f7b2a5f7b2a68752b7b903480a03b76872d708f31 +7b90348c98357c90537d973676872d697c2b76872d5f7b2a5e7429576a1f4b681e +697c2b5e74295f7b2a68752b576a1f4c502647581f41671b497323576a1f6b852c +55602447581f49601f557f2241671b576b3362744454742841671b3f4e323f4e1e +2f3c223d5f254b681e3043212b33223335223043213f4e1e4758322f3c22333522 +92a759778746576b335474437f9753778746657c44657c445474434b6933496032 +657c447c90537197536b85455f7b2a71975361834560832a6f8f5260832a60832a +6f8f525f7b2a567f3a3d573b496032547443304321304321304321354c312e3c44 +344d1e61834549732354744341671b4973235474434b69333c58223d573b304321 +3a4423373e43373e434c50263f4e1e344d1e344d1e4b69334b69335474433d5f25 +3d5f25576b33657c44657c44344d1e344d1e7787467d97365f7b2a4b69335f7b2a +819f596b8545547428547428618345344d1e3c58225f7b2a5f7b2a49601f576b33 +6b85455e7429576b336b85453f4e1e547443576b334960324c5026657c444c5026 +2f3c223a44232f3c22272c1f272c1f272c1f24261c24261c342d1f2f3c224e5043 +56603a627444767b4749601f5e7429557f225f7b2a6b854560832a547428567f3a +7f97535f7b2a41671b3c58224b69335f7b2a3c58223c58226b854576872d547428 +7787467c90535f7b2a497323567f3a708f31719753557f22567f3a6b8545657c44 +3d5f253043212f3c222b3322354c314960324b69336f8f527197536183456b8545 +8c98537e9882567f3a61834592a88d5f7b2a6f8f526f8f5292a88d7e98828ea089 +b8c3c69ea88e667c743d573b5474437090818b98828ea0596b86733c58224b6933 +3f4e1e475832547428567f3a41671b4b693349603230432156603a3f4e1e576b33 +4b693341671b4b693354744349732349603254744392a88d7d908292a88d7c9053 +576b33547428618345567f3a4b69334b681e4b681e4960324b681e496032627444 +7c90537b90347b9034657c44576b33576b33576b335560246274445e7429576b33 +49601f47583247581f576b333c58223f4e1e576b33576b337787467787467e9882 +576b334b69339fa857aea886b1b0694758323f4e1e344d1e3d5f2549601f3c5822 +55602449601f819f5992a7597d97366b852c576a1f4b681e6b854576872d47581f +344d1e5e74295e74295f7b2a5f7b2a6b85454b681e47583249601f6b85453c5822 +344d1e344d1e383c2347581f2f3c222f3c222f3c223335223f4e322f3c22475832 +6b85454c50262f3c222f3c223043213c5822344d1e4b681e557f2276872d7b9034 +76872d7b90346b852c697c2b60832a708f3176872d5f7b2a757b2d3a442347581f +697c2b6b852c6b852c576a1f2f3c223f4e1e55602447581f344d1e2f3c222b3322 +2b33223f4e1e5e742976872d76872d6b852c708f317d97367b90347d9736576a1f +344d1e47581f656c2654742847581f5560243f4e1e383c236660336660334e4425 +443623342d1f342d1f262e35333522333522383c23383c233f4e324c5026383c23 +3a44233a4423656c2655602449601f3043213a4423576b335f7b2a3a442349601f +5558243f4e1e766e2d9e985386874a8b903386874a8c98538c98538b90338c9835 +697c2b656c264c50263a44234e44253335222b3322383c232f3c22576a1f5e7429 +3f4e1e497323697c2b576a1f576a1f60832a5e74296b852c76872d697c2b6b852c +7b90346b852c49601f49601f5f7b2a5e7429656c2649601f3f4e1e30432141671b +3c5822576a1f6b852c6b852c6b852c697c2b76872d8c9835708f316b852c7b9034 +92a759697c2b6b852c7f97537b90347787465f7b2a5e742949601f5e742949601f +49601f547428697c2b60832a60832a547428576a1f76872d697c2b576a1f555824 +344d1e3c582241671b4b681e4c50262f3c223f4e32475832344d1e3d5f253d5f25 +3d5f253d5f253d5f253a44232f3c222b332256603a56603a383c232f3c222f3c22 +819f59657c44576b33576b338ea05992a759819f59657c44576b33576b33354c31 +3d5f255474437f97534b69334b69336b854560832a567f3a618345567f3a618345 +60832a6b85454b69333d5f25547443567f3a3d573b3d5f25373e432f3c222b3322 +3043216b85454b69334b693360832a4b69334b681e4b69335474285474433d573b +2f3c222b33222f3c223944462b33223d5f25576b334758323a44233f4e32496032 +6183455474433f4e324b69335474435f7b2a6f8f5260832a6b85455f7b2a6b8545 +7f97536b85456183454b681e657c445560244b6933547428576b334b69333f4e1e +6b854568752b47581f4758322f3c22576b3349603256603a3a4423354c313a4423 +2b33223043213c5822342d1f272c1f272c1f272c1f272c1f272c1f3335224e5043 +3a44233f4e32657c446b852c60832a5e74295f7b2a60832a547428576b3349601f +657c446b85456f8f524b681e6f8f5260832a3c5822344d1e3c58224973237b9034 +7f97535e74295f7b2a61834561834580a03b6b8545557f223d5f253d5f25354c31 +3d5f254b68653043212a34382b3322354c314b6933597c75618345567f3a618345 +7c9053657c444b69336084717197536f8f527f97536b85457197536f8f524b6933 +6b86737c9053576b33576b337e988295af7a6b8545657c445f7b2a576b335f7b2a +4b6933576b3360832a7787464b69333f4e323f4e32304321344d1e304321496032 +4960324960324960324960323c58223f4e326f8f527c9053657c44618345657c44 +4758323f4e326274446b85454b693354742854742849601f4b681e4b681e627444 +3f4e1e56603a5f7b2a6f8f525f7b2a657c444b69333f4e1e47583249601f657c44 +3c58223c58223f4e1e576b334b6933475832576b33576b336f8f526b852c627444 +5e74294b6933778746c0b197c0b1974758323a44233f4e1e627444576b3349601f +3a44233043214b681e7787467c90537d97367d97367f97538c98537b90344b681e +576b33547428475832697c2b576b336b8545576b333f4e1e496032576b3347581f +47581f344d1e2f3c223f4e1e383c232b33222f3c22272c1f3043212f3c2247581f +767b475658382f3c2230432130432147581f4b681e5e742976872d708f31708f31 +7d97366b852c708f3176872d6b852c708f316b852c60832a76872d47581f344d1e +576a1f49601f697c2b576a1f383c2349601f576a1f5558243f4e1e3a4423272c1f +272c1f30432149601f5e74293f4e1e5e7429576a1f76872d6b852c697c2b5e7429 +4b681e344d1e4c502668752b5e74294c50262f3c222b3322333522383c23333522 +443623342d1f342d1f24261c2b33223a4423555824333522383c233a4423333522 +3335224e442556603a6b852c5e74293f4e1e344d1e697c2b697c2b576a1f6b852c +76872d76872d7b90347b90348b903380a03b7b90348b90338b90336b852c6b852c +a1af4e9fa8578b90558b90558b90557664273a4423383c233a442368752b576a1f +5f7b2a6b852c6b852c68752b576a1f60832a576a1f3c5822697c2b6b852c708f31 +5e74294b681e344d1e4b681e708f316b852c4b681e576a1f3f4e1e3f4e1e3c5822 +3f4e1e5474287b9034576a1f697c2b76872d7b90348ea0597f97537b90345e7429 +5474285f7b2a557f22697c2b697c2b6b852c6b852c76872d656c2649601f49601f +5f7b2a697c2b55602449601f697c2b6b852c7b90344b6933556024708f31576a1f +344d1e3043213d5f254b681e4b681e3f4e1e3335223a44233a4423304321344d1e +344d1e4758323a4423383c232f3c222f3c223a44232f3c22383c233a44232b3322 +7e9882627444354c316274448c98538ea0598c98534b69333c5822344d59354c31 +354c313f4e324b6865354c31304321567f3a6b8545547428567f3a3c58223d5f25 +41671b567f3a49601f475832708f316b85453d573b3043212f3c22272c1f2a3438 +2f3c2261834560832a4b69333f4e324960324960323d5f25576b33576b333d5f25 +496032666b3b627444475832475832657c443d5f252f3c222a34382f3c223c5822 +6374713f4e322f3c223d573b6b8545708f3192a7597f975392a75992a759819f59 +7d97366b852c576b334960323f4e1e3a44234b69334960323c58224960323c5822 +656c266b854547581f3f4e1e3043212f3c223043213c58222f3c22576b33354c31 +2f3c224c5026576b333f4e3224261c272c1f342d1f24261c24261c24261c272c1f +272c1f3a44235e74293f4e1e47581f344d1e3f4e1e6b852c76872d4b681e354c31 +5e7429697c2b656c2649601f7c90536183454b6933344d1e576b336b8545778746 +5f7b2a5f7b2a60832a708f31576b3349603247583241671b41671b3043213d573b +41671b41671b2f3c222f3c222b3322344d594b69334b69334973235f7b2a6b8545 +5474436f8f524b69335474436183456b8673819f596b85456183456f8f52567f3a +3c58224b6933657c445e7429627444547443576b336f8f525f7b2a41671b5f7b2a +49601f5f7b2a618345657c443d5f25304321354c3147581f5474434b69333d573b +496032354c31304321354c313c5822354c314960325474435474434960323d5f25 +344d1e344d1e496032547428576a1f41671b496032344d1e4758323f4e1e496032 +56603a4758327787727c9053657c445f7b2a47581f3a44233f4e1e5e7429576b33 +3c58224758323f4e1e4758326274445e74296274445e7429767b475f7b2a4b681e +657c44475832576b339a9178c0b8a6666b3b3043214c5026697c2b76872d557f22 +47581f3f4e1e49601f49601f7b9034819f598c983576872d6b852c757b2d697c2b +76872d576b333043214758325558243f4e1e3f4e1e2f3c223a44233f4e1e3f4e1e +47581f3335222b3322383c233f4e1e3043212f3c223a442347581f55602447581f +86874a4c50262f3c22344d1e344d1e2f3c224c502655602449601f656c26708f31 +5f7b2a4b681e49601f697c2b697c2b7b9034697c2b68752b76872d76872d68752b +5560243f4e1e60832a697c2b68752b697c2b697c2b49601f3043212f3c222b3322 +383c23272c1f3a4423383c233a44233f4e1e3f4e1e6b852c5e7429576a1f5e7429 +656c263f4e1e383c23383c234436233335222f3c22555824576b33565838383c23 +443623342d1f342d1f24261c3a4423697c2b4c5026342d1f342d1f333522333522 +342d1f2b33224c502677874649601f3043215e74297197327b90348ea0595e7429 +5f7b2a7787465f7b2a576a1f5f7b2a76872d6b852c8c985376872d6b852c7b9034 +95af7a8b9033697c2b9fa0569fa8578e9f3ba0a03a76872d6b852c708f3160832a +6b852c6b852c557f2260832a60832a76872d576a1f49601f47581f576a1f5e7429 +47581f3f4e1e3f4e1e49601f576a1f47581f576a1f76872d49601f576a1f6b852c +6b852c697c2b7b90347b90348c9853aeb84e92a7598c98356b852c5e74297c9053 +4b681e5f7b2a547428697c2b576a1f576a1f5e74294b681e576a1f76872d697c2b +576b333a4423383c233f4e325f7b2a76872d697c2b656c2647581f3f4e1e304321 +2f3c223335223a4423497323576b33344d1e2b33223a44233a4423304321304321 +2f3c222f3c222b33222f3c22272c1f3a4423383c232b33222b33223a4423272c1f +5474434758323043216b854592a7597f97536b8545475832354c31304321354c31 +30444d3043213043213043214b69334b69336f8f526183454973234b6933657c44 +5474286b85457c9053567f3a697c2b6183453c5822354c313d573b2f3c222a3438 +3043215474434b6933344d1e3043213d573b3f4e323043213043213d5f25496032 +4b69336b85457c9053697c2b5f7b2a5f7b2a3f4e32354c31344d1e3f4e323d573b +344d1e2f3c222e3c443d5f256b85455f7b2a6183456b85457c905380a03b92a759 +819f597b9034547428576b33354c312b33223d5f253d5f253043213c58225e7429 +68752b6b8545576a1f657c444758322b33222f3c224b69334c50263f4e322f3c22 +2b33223a44233335222b332224261c24261c24261c342d1f24261c24261c262e35 +383c234758324960322f3c222f3c224b6933344d1e4b693347581f49601f4b6933 +6b8545576b333c58226b85457d97364b681e6b85455f7b2a5e742954742849601f +6b852c4973235e742949601f3d5f255f7b2a496032547443344d1e354c313d5f25 +3d573b3d573b3043212a34383043213d573b354c31344d1e4b6933567f3a4b6933 +4b69335474433f4e32657c445474286b85455474285e74295474436b85454b6933 +304321344d1e56603a30432147581f4960323d5f254973236b8545576b333c5822 +4b69336b85455474285e7429576b333c58223043213f4e1e5474284b6933547443 +47581f304321344d1e3d5f254b69333c58223f4e323f4e1e496032354c313a4423 +4b69334b69333d5f256f8f52697c2b576b33344d1e304321344d1e4758323f4e1e +5f7b2a7c9053667c747f97536f8f525474434b69333c58224758324b69335e7429 +49601f475832344d1e3a4423496032657c44656c26576b337b9034657c44547428 +49601f47581f576b33767b47cfc6b87787464c50266b85457f975376872d7d9736 +5f7b2a54742860832a5e74297b90347d97368c98358c9853708f318b90337b9034 +7b903449601f344d1e3335223043213a44232f3c22333522344d1e3c5822344d1e +3f4e1e2b3322272c1f2f3c224c50263f4e1e3f4e1e656c266b852c49601f627444 +8c9853767b47344d1e47581f3f4e1e2f3c222f3c222f3c222f3c223a442349601f +3a4423383c232f3c222f3c22576a1f697c2b49601f47581f8b903376872d757b2d +383c233f4e1e76872d76872d76872d6b852c76872d68752b3a44233043212f3c22 +47581f272c1f272c1f2b33224b681e3a44232b33225560245f7b2a576a1f5e7429 +576a1f555824333522342d1f272c1f3a4423656c26778746767b47666b3b66592c +4e3d224e3d22443623383c23627444697c2b3f4e1e3a442366603356603a333522 +342d1f3a4423556024656c26344d1e47581f76872d7b903476872d8b90337b9034 +697c2b4b681e5f7b2a576a1f6b852c5f7b2a5e742976872d8b90338c98536b852c +576b337b90347d97367b90348b90338c983592a7598c9835697c2b697c2b697c2b +76872d697c2b5f7b2a6b852c6b852c76872d697c2b47581f3c58223c58223f4e1e +47581f3f4e1e47581f344d1e3c58223f4e1e76872d7b903476872d697c2b76872d +8b903376872d8b90338e9f3b8b903376872d8e9f3b697c2b708f316b852c576a1f +49601f576a1f3d5f25576b3349601f697c2b576a1f576a1f576a1f54742876872d +576a1f3a4423383c233a44235e7429576a1f5e74293f4e322f3c223f4e1e2b3322 +2f3c222f3c222f3c22344d1e3c58223c58223043212f3c225658383f4e1e3f4e1e +304321304321272c1f2b33222f3c222f3c22333522383c23333522383c233a4423 +3d573b3f4e32354c31657c448c985392a7597c90534960323d573b304321354c31 +304321354c313043213f4e32567f3a708f31708f31657c44557f22567f3a4b6933 +5474286f8f526f8f526b85457c90536f8f525f7b2a5474433f4e32262e35333522 +2a34383335222f3c22373e434960323f4e1e3d573b3f4e323d573b4b6933496032 +3c58224960324b69335560243f4e323a4423344d1e3c58224b69334b69333c5822 +354c314b693349732361834580a03b6f8f525f7b2a77874692a7597c90535f7b2a +7f97536b85454960323c58223f4e1e2a34382f3c223f4e323043213a44234b6933 +3f4e1e47581f62744447581f3c58224758323043212f3c223335222b332224261c +1e241b342d1f262e3524261c272c1f24261c1c1e1924261c24261c272c1f24261c +3335224c50264b6933576a1f47581f3a44233f4e322f3c223a4423576b3376872d +5e74293d5f25344d1e5e74298ea05949732360832a6b85457b90346b852c60832a +5e7429657c444b681e4960325474286b8545557f224973234b6933344d1e2f3c22 +354c312f3c223043212f3c22354c31354c31354c313d5f253d573b4b6933547428 +4b69333c5822354c31475832657c44497323547443567f3a5f7b2a5f7b2a49601f +354c312f3c223f4e1e3f4e1e49601f5474284b681e576b336b852c4b693347581f +4b681e547428778746567f3a557f225474283c5822354c313043213043214b6933 +657c445560243f4e323c58224b6933354c31344d1e354c313a44233a44233f4e32 +3d573b4b69335f7b2a4b693349603249732354742849601f4b681e49601f576b33 +576b336274446183456b86737c9053497323557f224960324b693349601f657c44 +47581f3f4e1e3f4e1e3f4e1e47581f6b85457c90535e74296b8545576b33697c2b +4b69333f4e1e576b33767b47cfc6b868752b576b3368752b6b85457b90347d9736 +7b90347b903480a03b7c90538ea0598c98357d973676872d7b90348c98538b9033 +77874647581f3a44233f4e1e47581f3c58223a44232f3c223f4e1e3f4e1e49601f +49601f2f3c22272c1f3043213f4e1e47581f697c2b76872d68752b47581f496032 +8b905595885c3f4e1e5e742949601f49601f2b33222b33222f3c223f4e1e3a4423 +383c232b3322272c1f272c1f576a1f76872d556024576a1f76872d76872d556024 +272c1f3a442368752b6b852c757b2d757b2d757b2d6660333a44232f3c2247581f +697c2b3335223335222f3c225e74293f4e1e2b33223f4e1e5e74295e742966592c +5558244c50262f3c224c5026576a1f7c9053a4bb7e9fa8579fa056666033666b3b +5560245558244c50266b852c5474286274445560246660335658384e4425333522 +342d1f2f3c2247581f576a1f55602476872d697c2b4c5026475832576a1f76872d +6b852c697c2b708f31557f226b852c5f7b2a697c2b7b903487872c8b9033757b2d +3f4e1e576a1f5e74295f7b2a5f7b2a6b852c6b852c6b852c6b852c6b852c697c2b +697c2b557f2276872d8e9f3b8b90336b852c7b903476872d576a1f344d1e304321 +49601f5e742949601f47581f60832a708f317b90347b90347d97367b9034757b2d +757b2d697c2b757b2d87872c8e9f3b8c9835697c2b576b336b852c54742847581f +49601f4b681e49601f4b681e4b681e4b681e656c265e74296b852c3d5f253f4e1e +4b681e697c2b3f4e1e49601f576b333c5822344d1e2f3c222f3c223f4e1e4c5026 +496032344d1e344d1e3f4e1e3f4e323f4e1e3f4e1e3f4e1e7d9082666b3b2f3c22 +2f3c22383c232b33222b33222f3c222b33223a44233f4e1e3335222f3c224e4425 +4960324b6933354c314758328b9080819f596b85454b69333f4e32304321373e43 +3043213d573b3d573b3043214b69336b85457197534b681e41671b3d5f253d573b +41671b6b85457b9034657c444b6933618345547428354c312f3c222a3438262e35 +3d573b3c5822657c44657c44657c445474433f4e1e2b33223f4e324b6933475832 +344d1e3f4e1e3a44235560243a442339444630432149601f576b333c58223d5f25 +3c5822547443657c444b6933657c448ea0595f7b2a657c4460832a7197535f7b2a +5f7b2a567f3a576b3349603249601f2b33222f3c22304321354c313a44234b6933 +4960323043213f4e323a44235e74296183454b6933272c1f262e35272c1f24261c +24261c24261c24261c24261c24261c262e3524261c3335223335222b33223c5822 +344d1e496032576b333f4e1e576a1f5e742947581f47583249601f496032576b33 +47581f3043212f3c22354c31657c4449601f497323557f225f7b2a5474436b852c +697c2b697c2b49601f5e74295f7b2a5474286b854541671b41671b354c312b3322 +2b33222a3438272c1f262e352b3322304321354c313d5f253d573b344d1e547428 +3d573b3d5f254b6933344d1e4b6933567f3a4b6933657c445474435474433f4e1e +304321344d1e5f7b2a6b852c576b334960323d5f25557f225f7b2a5f7b2a576b33 +3c582260832a7787465f7b2a618345576b333f4e1e2f3c222b3322304321556024 +49603247581f2b33223335222b33222f3c222b33222f3c22354c31354c313d5f25 +5474286183455474284b693349601f4b69334b681e5f7b2a76872d697c2b49601f +576a1f697c2b6b85457f9753697c2b6183455f7b2a68752b576b334b6933656c26 +496032304321475832304321475832576a1f6b8545576b335f7b2a555824627444 +47581f47583249601f627444d3cea2ada17f5560245f7b2a697c2b708f31719753 +697c2b5e7429697c2b76872d76872d7c90536b852c757b2d7787469fa0567c9053 +7b90346b852c5f7b2a5f7b2a76872d5e742947581f4c50263f4e1e3f4e1e47581f +3f4e1e344d1e304321344d1e4b681e5e74297b9034555824576b335e742949601f +7787468c985347581f5560243c58223043212b3322272c1f272c1f47581f556024 +3f4e1e2b33222b3322342d1f3f4e1e68752b5e742976872d708f31757b2d4e4425 +24261c2b33224e442547581f3f4e1e576a1f3a44233335223335223335225e7429 +6b852c344d1e576a1f576a1f5e7429383c232b3322556024757b2d656c264c5026 +383c23383c234b681e697c2b7b90349fa056afb09ec2b868b1b0699fa85786874a +76872d76872d76872d656c265e74297787468c9853766e2d666b3b3a4423333522 +333522304321576a1f767b4777874676872d666b3b3f4e1e55582454742876872d +76872d4b681e697c2b5e7429656c2676872d68752b576a1f7b903476872d6b852c +5f7b2a5e7429656c264b681e6b852c76872d76872d757b2d697c2b76872d4b681e +697c2b6b852c8c98357b903476872d6b852c576a1f576a1f4c502649601f76872d +5f7b2a60832a6b852c80a03b7d9736708f317b90347d97367b90348c98357d9736 +697c2b5560243f4e1e5560246b852c76872d5e74295e74293f4e1e49601f47581f +3c582241671b49601f68752b47581f4b681e576a1f5e7429757b2d3f4e1e3a4423 +3f4e1e47581f4b681e41671b4b681e68752b4b681e344d1e2f3c22304321333522 +3f4e32344d1e496032344d1e3f4e1e49601f5e742949601f576b339e9853383c23 +2f3c222f3c222f3c223f4e1e2f3c22272c1f2b33223f4e1e383c233335222f3c22 +354c31496032354c313d573b8b90557c90535f7b2a4b6933354c31354c31354c31 +373e43344d1e3d573b3043213d5f256b8545708f31567f3a567f3a567f3a497323 +5474284b69333f4e32496032576b337c9053657c44496032344d1e3d5f253c5822 +6b854560832a7c90535e74294b69335474283c5822354c313c582249601f304321 +354c313f4e32304321354c314960323d5f25576b335f7b2a3d5f25344d1e3d573b +497323576b335474287c9053819f598ea83e708f315474285f7b2a6b8545657c44 +657c447787463c58224960325474284b69335474284b6933576b334b681e47581f +3f4e1e2f3c22383c233a442362744460832a47581f354c31272c1f2a3438262e35 +272c1f1e241b24261c24261c3336423a4423262e3556603a5e7429697c2b708f31 +576a1f697c2b76872d6b852c7b90345f7b2a3f4e1e3f4e1e576b3347581f5e7429 +4758322b33222b33224758326274444b69333c58223d5f2549601f49601f5f7b2a +708f316b852c576b33576a1f4973236b852c6183456f8f524973233c5822304321 +272c1f2b3322272c1f2b3322262e352e3c442f3c22354c313c58223d5f25497323 +496032496032354c31354c314960325f7b2a3d5f256b85455f7b2a5474284b6933 +47583249603247581f60832a76872d6f8f526b85455f7b2a6b85456f8f52547428 +5e74295f7b2a5f7b2a6b8545475832354c31576b334b69333f4e1e4758323f4e1e +4b681e3a4423272c1f272c1f272c1f4960322f3c22304321344d1e2f3c224b6933 +567f3a4b69334b6933496032344d1e3d5f253f4e1e4b6933657c445f7b2a497323 +4b693360832a6b85456b85455f7b2a6b85457f975368752b6b8545627444576a1f +354c313f4e1e4758323a4423354c313c5822657c445e7429576b3356603a666b3b +4758323c58223c582256603aafb09ec0b8a647581f60832a7c90537d97367b9034 +697c2b7787467c90535e74296b85457787465e74294b681e656c2668752b7b9034 +7b90347b9034a0a03a8c98357b90346b852c6b852c4b681e47581f47581f344d1e +304321576a1f5e7429576b335e74296b852c757b2d47581f3043213a4423496032 +475832b1b0695560243335223f4e1e3f4e1e3043212b3322272c1f272c1f2f3c22 +2b3322342d1f24261c272c1f333522757b2d6b852c708f317b9034697c2b333522 +24261c24261c24261c272c1f342d1f3335223f4e1e272c1f24261c2b33223f4e1e +49601f344d1e54742841671b576a1f344d1e555824556024766e2d3f4e1e383c23 +383c233f4e1e5e74297787468c98539fa8579fa857aea8869fa0568c985376872d +8b90337b9034697c2b576a1f6b852c9d9981666033666b3b666033383c23333522 +4e4425555824697c2b656c26867c4c86874a8b9033757b2d6b852c5e74295e7429 +4b681e344d1e4b681e6b852c47581f76872d49601f656c2676872d76872d76872d +60832a4b681e5f7b2a5e74296b852c80a03b697c2b55602447581f5f7b2a5f7b2a +6b852c5e74297b9034757b2d5558244b681e4c502649601f3d5f255e7429719732 +8c9835757b2d87872c76872d5e74296b852c7d97367b90347b90345e7429557f22 +708f31576a1f5560244b681e5e7429576a1f7787466b852c5e742947581f3f4e1e +41671b49601f47581f344d1e2b332247581f697c2b556024304321383c23333522 +383c234c502649601f576a1f576a1f5e742947581f3f4e1e344d1e2f3c222b3322 +2b33222b3322333522383c23344d1e5e742949601f4c5026354c318b988247581f +3f4e1e3f4e1e3043214960322b3322342d1f2f3c224c50262f3c22342d1f272c1f +3944464758323f4e324758328c9853657c44547443657c443d573b344d1e354c31 +304321354c31354c313043214b69336b8545708f3161834560832a60832a567f3a +4b6933344d1e3d573b354c31344d1e657c44657c447c90536183456f8f52567f3a +708f31557f226183455e74294b69336183455e74294b6933576b335f7b2a3c5822 +3d5f253f4e32304321354c31576b334b69334973234b69333d5f25344d1e4b6933 +4b6933657c4449601f657c448c9853819f596b8545576b336b8545497323547428 +6b8545576b33354c312f3c22547428618345576b335e74296b8545576b3349601f +576b33576b3356603a5560245558246b854568752b4b69332b3322496032383c23 +272c1f262e35272c1f272c1f2f3c2249601f3043215e74297f975392a759a1b170 +76872d697c2b8b90558b9055576a1f3f4e324b69336b854580a03b6b8545708f31 +3f4e1e2b33223335223043215474284b681e4b69336b85456b85455474285f7b2a +7197326b85456274448c98536b852c657c44547428708f316b854541671b354c31 +3043213043212f3c222b3322272c1f272c1f262e353043213d5f2541671b4b6933 +3f4e323043213d573b2f3c22344d1e4b6933344d1e4960324b69333c582241671b +344d1e576b3347581f4b6933576b335474285f7b2a5f7b2a708f3160832a567f3a +4b6933567f3a5f7b2a5f7b2a47581f3f4e1e5474434960325e74294b681e4b6933 +6274444c5026272c1f2b33223a44234960323f4e322f3c22344d1e4b6933547443 +576b33547428496032344d1e47581f4b693347581f3c58223d5f255e7429547428 +5e74293d5f255e7429576b335e74297f97538ea0597787467c90535e742947581f +3f4e323a44233043213a442330432149601f4b69334b6933576b33475832565838 +4758324c50263c58223f4e1e9d9981c0b8a6766e2d7787468c98537d9736778746 +8c98537b90347b903449601f576a1f7787465e74296b852c697c2b576b3368752b +8ea05976872d8b90337b9034a0a03a8b9033757b2d3f4e1e5f7b2a5e74292f3c22 +304321697c2b6b852c49601f5e74296b852c6b852c5e74295e742947581f49601f +4e5043c1c2ae767b47342d1f3043212f3c223043213a44232b3322272c1f272c1f +272c1f272c1f24261c24261c272c1f4c502668752b576a1f656c263a4423333522 +272c1f24261c24261c24261c24261c383c23656c26383c2324261c272c1f333522 +344d1e47581f5f7b2a697c2b49601f5f7b2a576b3355582468752b666033656c26 +576a1f697c2b8c983580a03b7b903476872d7b90348c98358c98358b90337d9736 +76872d697c2b49601f3f4e1e627444c0b1979788346660334e4425574f26383c23 +4e44255e74296b852c68752b8b90557787467c90537b90346b852c697c2b5f7b2a +576a1f60832a5f7b2a6b852c4b681e6b852c5f7b2a697c2b708f3176872d557f22 +6b852c4b681e5f7b2a5e7429576a1f697c2b3f4e1e3a44233f4e1e5f7b2a6b852c +76872d757b2d76872d778746656c2647581f3f4e1e49601f80a03b8e9f3b778746 +5e7429697c2b76872d76872d80a03b708f315f7b2a5f7b2a6b852c5e7429576a1f +76872d76872d766e2d68752b68752b576a1f6b852c76872d697c2b4b681e4b681e +49732347581f4b681e3a44232b33223a442347581f383c23342d1f333522272c1f +2f3c223a442330432149601f49601f5e74295560243f4e1e697c2b344d1e2b3322 +272c1f3a4423342d1f272c1f344d1e576a1f4b681e4758322b3322576b336b852c +6b852c6b852c49601f3f4e1e2f3c223335223043213f4e1e333522333522272c1f +4758324758324658644b69337c9053618345576b334b69333d5f25344d1e354c31 +3f4e32567f3a354c31354c314b6933567f3a5f7b2a61834561834561834541671b +3d5f253d573b344d1e354c31576b335474434960326b85455e74293c58223f4e32 +627444657c445474435f7b2a54742847581f5474435e74296f8f526183455f7b2a +657c44344d1e2f3c224b69333d5f253f4e323f4e1e4960322f3c22354c31475832 +3c58226183457b90344b693354742880a03b6f8f52576b336b85455474285e7429 +49601f3c5822576b33344d1e576b335f7b2a5f7b2a697c2b7787465f7b2a6b8545 +76872d7787466b852c86874a76872d778746697c2b55602449601f697c2b49601f +3d5f252b3322272c1f272c1f2f3c226b852c557f22708f316b852c6b852c778746 +708f31708f317c9053657c445e7429557f225f7b2a7b9034819f59819f5980a03b +557f222f3c223043217f97537b9034557f22576b33576b3354744341671b496032 +6b85453d5f25344d1e6b8545557f226b852c5e74293c58223c5822344d1e304321 +3043212a34382f3c22272c1f2f3c223043212b33222f3c223c5822344d1e304321 +3a44232f3c222f3c22354c313c58224960323043213c58225e742949603247581f +3f4e1e3c5822576a1f557f22344d1e5e742960832a5474284b69334b69335f7b2a +5f7b2a5474435474285e74294b69334b69336274445474284b69337b9034657c44 +5474284b681e3043212f3c224758324b681e576b333d5f25547428496032496032 +3c5822354c31344d1e3c5822576b335f7b2a4b681e3f4e1e4960325f7b2a5e7429 +4b69333d5f255474436b85456b852c8c98537c90536b852c8c9853767b474b6933 +4758323043212f3c22304321344d1e576b335e74294b69333c58223a442356603a +3a442362744447581f47583287886ddcd6d668752b5e74298c98538c98538ea059 +8c98357c90535e7429576b335e74296b8545708f318b90337c90536b852c697c2b +9fa05676872d8c98538b90337d9736697c2b8b9033697c2b576a1f3f4e1e2f3c22 +304321576a1f576b335e7429708f316b852c6b852c4973235e742947581f3f4e1e +3f4e32c0b1979f91543335222f3c223a44232b33222b3322272c1f2b3322333522 +24261c272c1f342d1f272c1f272c1f2f3c225558243f4e1e3a4423383c23555824 +4e4425272c1f1e241b342d1f383c2349601f697c2b3a4423272c1f24261c2f3c22 +333522344d1e5f7b2a547428576a1f708f3176872d76872d697c2b697c2b7b9034 +6b852c7d9736708f3176872d708f31708f316b852c5e74296b852c708f317b9034 +5f7b2a697c2b656c264c5026867c4cafb09e95885c766e2d4436234c502675704d +556024556024697c2b8b90558b903386874a8b903376872d5560245f7b2a4b681e +557f2276872d49601f6b852c7d973676872d708f316b852c7b9034708f31697c2b +76872d6b852c6b852c697c2b576a1f3f4e1e3335222b33222b332247581f697c2b +76872d6b852c9e98538c985368752b4b681e576a1f76872d7b90347d9736757b2d +547428576b33697c2b5e74296b852c576a1f576a1f47581f576a1f497323576a1f +8b90338b9033576a1f576a1f656c2649601f4b681e3c58223f4e1e49601f3c5822 +49601f344d1e3f4e1e47581f3f4e1e3a4423383c23272c1f272c1f3335222f3c22 +344d1e2f3c223a442349601f54742868752b576a1f576a1f5e74293a44232f3c22 +2b3322272c1f272c1f2b33225f7b2a60832a3f4e1e4c5026354c314b6933778746 +708f315474283d5f2560832a576b333f4e1e333522383c23272c1f272c1f342d1f +4758324b69334960325474435e7429567f3a618345576b33567f3a496032354c31 +354c316183454b69333d5f253d5f254973235474435f7b2a60832a6f8f5241671b +5474433d5f25618345567f3a5474285474434973236183456b85454758322b3322 +2e3c443c58223d5f254b6933354c313d5f25576b33576b335f7b2a6f8f526b852c +4b69332f3c223a4423576b334960323f4e322f3c22354c312f3c223043213a4423 +767b477787467f97536b85456f8f52719732557f225474286f8f52576b334b6933 +5e742954744360832a4b681e5f7b2a6b85456b852c6b85456b852c7b90345f7b2a +547443576a1f5e74297b90348c98537d97367787467c90537c9053697c2b5f7b2a +4b69333043212b3322272c1f2b33225f7b2a719732557f2260832a49601f3f4e1e +47581f576b3347581f2f3c2249601f719753708f3180a03b819f595f7b2a5f7b2a +6b852c41671b3c5822708f3176872d7197325f7b2a3043213f4e1e354c312f3c22 +5474283c582249601f7f97536f8f527b903460832a3f4e1e3d5f25344d1e344d1e +2a3438272c1f2b3322272c1f3043213043212b33222a3438344d1e3043212b3322 +2f3c223335222f3c223a44234b69335f7b2a3d5f25576b3349732349601f576b33 +5558243d5f255e74296183455474285e74293c58223f4e1e344d1e49603249601f +3f4e1e3f4e323f4e1e344d1e4b681e5474284b69334b6933657c44708f31576b33 +3c58225f7b2a5e742941671b4b69335f7b2a567f3a4b681e576b334b6933475832 +3a44233a44233043213d5f253d5f25496032697c2b556024354c31576a1f5e7429 +576b333f4e1e47581f576b33576b338c98538c985376872d819f595560243c5822 +4c50262f3c222f3c2230432149601f5e742949601f576b33344d1e2f3c22383c23 +4c5026666b3b666b3b4c502675704de0dfc686874a5f7b2a7c905368752b576a1f +49601f4b69335474287b90348ea059697c2b656c2677874677874676872d6b852c +77874676872d778746757b2d76872d697c2b7b90348c98355e74295e74295e7429 +4b681e4c5026697c2b556024657c44576b3377874649601f5e74293f4e1e3a4423 +3a44239a9178aea8864e3d22383c23342d1f2b33222b3322272c1f272c1f333522 +272c1f272c1f24261c272c1f272c1f2b3322383c2347581f47581f342d1f333522 +3a4423342d1f1e241b2b3322383c23697c2b76872d4e44253335222f3c223c5822 +344d1e3f4e1e7b90346b852c76872d576a1f49601f697c2b8c98356b852c6b852c +708f31708f31708f316b852c6b852c708f316b852c576a1f5e742976872d708f31 +4b681e697c2b887b2c5560249a9178b2a85695885c867c4c66592c3a442366592c +75704d576a1f697c2b8b90558c98538b90338b905549601f68752b5f7b2a60832a +6b852c6b852c4b681e49601f49601f47581f7b903476872d5e74297b90346b852c +8e9f3b708f316b852c49601f2f3c222f3c222b33222b3322272c1f3f4e1e656c26 +76872d757b2d757b2d68752b68752b697c2b697c2b5e742960832a6b852c8e9f3b +76872d656c263f4e1e55582449601f576a1f47581f5e74295474284b681e4b681e +47581f5e74294b681e47581f3f4e1e4b681e49601f344d1e2f3c22344d1e3d5f25 +3043213f4e1e4b681e47581f574f263a44232f3c223043212b332249601f3d5f25 +49732349601f3043213a44233c58225558245560243f4e1e47581f30432149601f +49601f2f3c222f3c222f3c2241671b6b852c49601f47581f304321576a1f767b47 +6b852c576b335e7429708f3141671b47581f333522383c23333522272c1f2b3322 +3f4e3287886d6274443d573b4b6933567f3a6f8f52657c443f4e32496032344d1e +344d1e547443618345497323567f3a5f7b2a567f3a4b6933708f3180a03b618345 +4960323043213f4e324960324758323d5f25354c315e74296b8545576b33304321 +2f3c224758324973233d5f25354c313d5f25497323576b3349601f4b69333f4e32 +496032496032576b33576a1f3d573b30432130432130432130432130444d354c31 +5f7b2a7f9753819f596b852c7787468c98537787465e7429657c44576b334b681e +547428697c2b68752b60832a708f317787465e7429496032576b336b8545576a1f +4960323f4e32547443697c2b7197535e742976872d7d97366b8545557f22576b33 +5e74296b85455474284b69334b69337b903480a03b5f7b2a708f314973233f4e1e +4b69336b852c5f7b2a3f4e1e6f8f526f8f52708f3160832a657c4460832a719753 +708f316b852c6b852c7197537f97537c90534b681e6183453c58223043212b3322 +3f4e1e49601f618345719732708f317c90537d97366f8f52567f3a3d5f253c5822 +3043212b3322272c1f262e352f3c222b33222f3c22262e35344d1e3c5822304321 +2f3c222f3c22304321344d1e576b33496032344d1e49601f47581f3a4423576b33 +5e74293c58223d5f25576a1f5e7429547428576a1f4b681e3d5f253c58223f4e1e +304321354c3147581f4960324b69334960323d5f253c58223043215e74294b6933 +4758323f4e1e3f4e1e576b33576b33576b334960323f4e1e2f3c223a44232b3322 +2b33222f3c22354c315474435f7b2a3c5822344d1e576b335e7429576b334b6933 +576b3347581f3c582247581f47581f5e74297787468c98537b90345e74293d5f25 +49601f344d1e47581f5560244b6933576b335e74295f7b2a5e742947581f304321 +56603a4b6933576b334c5026666c5ee0dfc6857d675558246b854549601f576a1f +3c58225f7b2a708f317b90347b90348ea0598e9f3b8c98537c9053697c2b778746 +697c2b5e7429697c2b697c2b6b852c5e7429576b3376872d76872d7b903476872d +3a442349601f56603a3a4423576b333d5f25344d1e2b33223f4e32666033565838 +383c2395885cc1c2ae84712f656c262f3c222b33222b3322272c1f2b3322272c1f +272c1f272c1f272c1f24261c24261c272c1f2f3c223a44232f3c222b332224261c +24261c24261c24261c272c1f2b3322697c2b76872d5560247787468c98537b9034 +4b681e4b681e76872d697c2b5e7429344d1e3c582276872d5f7b2a47581f547428 +708f317b9034708f3176872d68752b576a1f5f7b2a6b852c60832a5e74295e7429 +55582468752b867c4c8471449fa056ada17f95885c9a9178666b3b604f2a666b3b +767b47757b2d757b2d8b903386874a8b9055778746656c268b90335560245e7429 +7d97365e7429344d1e3f4e1e304321344d1e576a1f3c58223f4e1e557f22708f31 +708f315f7b2a5f7b2a47581f2f3c222f3c222f3c222f3c22333522556024766e2d +76872d656c26656c26555824576a1f5e74295f7b2a708f3176872d5f7b2a5f7b2a +576b3347581f3a44237787465560244c50263f4e1e344d1e3c58225474283f4e1e +30432149601f5f7b2a497323557f223f4e1e47581f5560243f4e1e47581f344d1e +3c582247581f5e7429576a1f3a44233043212f3c223a4423304321576a1f5e7429 +6b852c60832a49732349732349601f4973236b852c5e74295e742941671b547428 +3f4e1e3c58224b681e41671b49732360832a4b681e576b33576a1f54742860832a +5474283a44233f4e1e54742849601f47581f3a442349601f576a1f3d5f25344d1e +3f4e32576b338b90804b69335474436b85456b8545496032344d1e5474434b6933 +3d573b344d1e4b69336183456183455f7b2a567f3a567f3a60832a6f8f52567f3a +344d1e30432130444d2b3322383c232f3c222f3c222f3c22373e433335222b3322 +627444657c446183454b69333a4423475832557f225e74294c50262e3c44272c1f +2f3c223a4423576b33576b334960323c5822344d1e3d5f25354c312b33222f3c22 +3c58227197538ea83e6f8f52576b337d97367c90535e7429344d1e5e7429547443 +4b69335f7b2a5f7b2a576b33708f317197534b69335e7429547428576b333c5822 +2f3c222f3c22576b33697c2b6f8f527b90347787466b852c76872d60832a496032 +4b69334b681e5474286f8f5260832a7b903491af497197326b852c5474283f4e1e +557f226b852c49732347581f4973235474286b85456b852c497323547428618345 +708f317197325474287197325f7b2a49601f556024576b333d573b2f3c222f3c22 +2a343849601f47581f4b69335f7b2a6b852c708f315474286b8545708f314b6933 +344d1e2b3322272c1f272c1f2b3322272c1f2b33222f3c222f3c22304321304321 +4960323043212f3c222f3c223d5f25576b3349601f4b693347581f344d1e767b47 +576b33344d1e657c4471975360832a5474285474285f7b2a41671b576b33354c31 +2f3c223a44234960325e742960832a4960324758323f4e1e576b335474433f4e1e +3043213d5f253f4e324960323c5822344d1e49601f576b333335222f3c22383c23 +2b33222b33223f4e1e4b6933475832344d1e344d1e3d5f255474285474285e7429 +49603249603249603249601f3c58226b852c7b90348c98537b90346b852c497323 +5f7b2a5e74296b854568752b697c2b5e74295e74295474287787465f7b2a3f4e1e +49601f778746576b3375704d666033cfc6b887886d574f263f4e1e3f4e1e3a4423 +4b681e708f31708f317787468c985377874686874a5e74294b681e4b681e576a1f +5f7b2a7b90347c9053576b33576a1f4b69335e74295e74295e7429576a1f4c5026 +5558243a4423333522272c1f3a442347581f3a4423272c1f2b33223a4423666b3b +7787469e9853c3c17a9fa0568e9f3b6b852c576a1f47581f3a44232b33222b3322 +2b3322272c1f272c1f24261c24261c24261c24261c272c1f272c1f24261c24261c +24261c24261c272c1f2f3c223a442368752b757b2d767b47afb09eb0b86c8b9033 +656c26576b335e74295e74295474284b681e5e74296b852c5f7b2a49601f697c2b +60832a5e7429576a1f60832a76872d76872d708f316b852c60832a47581f4c5026 +556024555824666033666b3b9e9853afb09e9f915486874a84714466592c666033 +766e2d767b47867c4c8c98358b90338b90337d973676872d77874668752b3f4e1e +49601f697c2b6b852c576b3347581f557f225f7b2a3d5f25576a1f4973237d9736 +5f7b2a49601f3c58222f3c22304321344d1e383c233f4e1e47581f656c26656c26 +757b2d656c265e74293f4e1e556024576a1f5e742954742849601f49601f3c5822 +3a4423576a1f6b852c5560244b681e576a1f3f4e1e3a44235560244b681e3f4e1e +3043215f7b2a8c9835576a1f557f225e74293f4e1e3a44233a44233c58224b681e +49601f49601f47581f3a442355602447581f3a44233f4e1e5e74293c582249601f +49601f47581f47581f3d5f25697c2b76872d656c2649601f4c50263c5822497323 +4b681e576a1f344d1e3c58225474287b903441671b49601f6b852c4b681e5e7429 +49601f2f3c222f3c2249732360832a708f31697c2b49601f68752b60832a4b681e +567f3a5e74297c9053819f596f8f526b85456f8f52496032344d1e497323567f3a +41671b4b69336b854560832a5474283d5f255e74295474436b852c719732618345 +4960323043212f3c222a34382a3438354c314960323043212f3c222f3c22344d1e +6f8f525474283d5f25344d1e354c31344d1e354c313043212f3c223f4e1e3c5822 +5f7b2a6274445f7b2a5f7b2a3c58224b6933496032344d1e344d1e3f4e324b6933 +5f7b2a7c90537b90348c98536b85456b852c547428657c44697c2b4b693349601f +47581f3d5f25657c444960325e74295e74293f4e1e4b693360832a4b69333c5822 +3c5822272c1f3c58225f7b2a567f3a5f7b2a76872d778746708f314b693347581f +576b33657c443c58225f7b2a6b852c5f7b2a557f22708f316b852c7197326b852c +7c90534b69333c582249601f5e742991af4980a03b708f317f975349601f3c5822 +60832a4973233d5f254b681e6183456b852c4973233c582241671b344d1e2b3322 +3043212f3c2230432149601f5f7b2a5f7b2a547428344d1e41671b497323344d1e +2f3c222f3c222f3c221e241b262e35272c1f272c1f2b3322262e352b33222f3c22 +68752b3043212b33222b3322344d1e49601f344d1e3043213f4e1e76872d8c9835 +68752b49601f6b85457d9736567f3a5474284973235474285f7b2a576a1f2f3c22 +2f3c222b33222f3c223d5f25576b333c58223043213c582249601f3f4e1e3f4e32 +47581f49601f2f3c223335222f3c22344d1e3c5822576b333a4423342d1f24261c +2f3c224960324b681e3c58223f4e1e49601f4b681e4b681e4b681e5e74295e7429 +3d5f253f4e1e47581f576b33576b33576a1f5f7b2a8c98536b852c6b8545697c2b +6b85457b90347c9053697c2b7f9753708f31576b33576b335e74294960325e7429 +475832576b33576b33767b4774643ec0b19775704d383c233335223a4423304321 +3f4e1e5f7b2a6b852c767b4776872d47581f47581f344d1e47581f697c2b6b8545 +5f7b2a6b852c5e74295560243f4e1e576a1f5e742947581f556024556024383c23 +4e442568752b3a44233335224c50263c582247581f344d1e2b3322333522333522 +867c4c9d9981c3c17a9fa05676872d76872d47581f708f31697c2b4b681e697c2b +697c2b3f4e1e342d1f24261c24261c272c1f342d1f342d1f3f4e1e3a44233a4423 +3f4e1e47581f5e742976872d7b9034778746576b3347581f8c98538c9853767b47 +5558243f4e1e576a1f697c2b60832a49601f4b681e47581f49601f2f3c2247581f +697c2b5f7b2a5f7b2a76872d60832a576a1f76872d6b852c49601f49601f344d1e +656c264e44254e442566592c86874aaea8869f9154757b2d867c4c766e2d757b2d +656c26556024697c2b7787467b903476872d708f31708f3176872d556024475832 +3f4e1e7b90348c98355e7429547428708f31708f315f7b2a557f225f7b2a778746 +3f4e1e2b33222b33222b33223a44233f4e1e3a44233f4e1e5558244c502647581f +68752b576a1f576a1f556024576a1f697c2b697c2b5f7b2a576a1f49601f3f4e1e +47581f7c90537d97365e7429697c2b576a1f47581f86874a7b9034556024304321 +2f3c223f4e1e49601f47581f576a1f8c9835656c26304321344d1e5e7429547428 +5e74296b852c5560243f4e1e4b681e344d1e3f4e1e49601f5e74293043213f4e1e +2b33223335223043212f3c222f3c22383c23383c233043213f4e1e3f4e1e497323 +576a1f87872c344d1e3d5f2541671b5474283c58225e742960832a557f225f7b2a +49601f344d1e3043213c582276872d5f7b2a5f7b2a547428708f315e74295e7429 +6f8f526183456b85457c9053657c445e74297c90536b8545567f3a567f3a567f3a +567f3a719753618345497323576b335f7b2a4973235474436183456f8f525f7b2a +4b69332f3c223043212a34382b33222b33223f4e323d573b3d5f255474436b8545 +719732567f3a4b69333043213f4e323043212e3c44354c313f4e32567f3a60832a +76872d8c98538ea0595f7b2a3c5822344d1e2f3c22394446496032576b33547443 +4758324b69336f8f527d97367787465e74296b8545576b33576a1f47581f496032 +3a44232f3c22576b33656c267787466b854568752b5e742947581f3f4e32344d1e +4960322b33224960325f7b2a657c44344d1e6274447c905360832a4b6933344d1e +3f4e323f4e1e3d5f255f7b2a6b852c7b9034547428719732708f317d9736708f31 +4b6933497323708f3160832a7197536f8f524b69334b693360832a4b681e3d5f25 +4b681e41671b3c58226183455f7b2a5f7b2a60832a708f3160832a547428344d1e +3c58223043213c58224b69335e74293d5f254b681e4b69333c5822344d1e41671b +3c58223043213043212b33222f3c22272c1f2b3322272c1f272c1f1e241b2f3c22 +56603a3a4423272c1f2f3c223c58224b693349601f475832555824757b2d8b9033 +8b903376872d6b852c7b9034657c446b8545576b334b69333d5f256b852c6b852c +4b681e344d1e4b681e5474285e7429576b333f4e1e3f4e1e49603247581f2f3c22 +3f4e1e3f4e1e344d1e3a44233a4423344d1e3c58224b69333f4e1e2f3c222f3c22 +49601f5474283f4e1e354c313335223a442347581f576b3354742847581f475832 +3043212f3c222f3c22576a1f8ea0598c9853708f317d97368c98537c90537b9034 +6b852c697c2b8c98537b90346b85456f8f52576a1f576b3349601f3f4e1e475832 +2f3c222f3c224758328b988275704dcfc6b887886d3335222f3c22304321304321 +47581f576b3349601f3f4e1e576a1f576b3349601f3f4e1e5e7429657c447d9736 +6b852c7b90345f7b2a576a1f576a1f77874676872d5558242f3c22555824496032 +3a4423656c2668752b49601f344d1e3043215e7429576b332b33223335222b3322 +33352287886ddecab49fa85776872d5f7b2a49601f6b852c68752b76872d92a759 +8c98536b852c5e74295e7429576a1f68752b778746757b2d87872c76872d697c2b +7b9034697c2b708f316b852c697c2b757b2d4c5026576a1f76872d8b9055697c2b +47581f576a1f656c2655602447581f47581f344d1e383c23333522272c1f333522 +49601f5f7b2a6b852c6b852c656c2630432149601f576a1f49601f55602447581f +3a44233335223335224e4425867c4c95885c778746867c4c757b2d8b905595885c +867c4c656c2668752b68752b5e7429697c2b5f7b2a76872d76872d76872d8c9853 +7787467b903476872d76872d76872d708f317b9034697c2b60832a6b852c576a1f +2b3322272c1f272c1f333522333522576a1f666b3b4e442547581f3f4e1e47581f +576a1f757b2d68752b49601f5e742976872d5e742960832a708f315f7b2a6b852c +6b852c76872d5e74294b681e49601f3a4423344d1e555824757b2d576a1f3f4e1e +576a1f6b852c76872d80a03b8ea83e697c2b47581f3f4e1e4c502647581f3a4423 +3f4e1e54742847581f497323576a1f4b681e383c23697c2b3f4e1e2f3c223a4423 +272c1f2f3c223043212f3c22383c23342d1f342d1f3d5f25576a1f576a1f697c2b +778746697c2b68752b76872d547428576a1f54742876872d7f975354742860832a +576b33656c263d5f255f7b2a6b854554742841671b5f7b2a60832a708f317b9034 +618345547428657c446b8545657c446b8545567f3a6f8f525f7b2a547443618345 +60832a6f8f526f8f52576b334b69335474433c58223c58223c58223f4e32354c31 +3d5f25354c312b3322262e35272c1f262e352f3c22304321354c314b681e6f8f52 +708f316b85453d5f25344d1e2f3c22272c1f3336423043214758325474435f7b2a +5e7429657c446b85455474283f4e32354c312f3c222b33222b332230432149601f +576b3349601f5f7b2a6f8f527f97537b90347b9034697c2b576b333f4e1e304321 +354c312f3c2247581f7787465e7429576b33656c26778746656c26576b33576a1f +5474282f3c223f4e32496032354c312b33222f3c224758325e74293c5822354c31 +3a4423344d1e4973235e742960832a60832a5474286b852c7d973649601f49601f +41671b60832a7197535f7b2a719732557f22344d1e3c5822557f2241671b4b681e +6f8f525f7b2a497323557f2254742860832a6b852c6b852c576b33576a1f304321 +3043213c58223f4e1e3043213f4e1e3d5f256b8545697c2b4b69332f3c22344d1e +2f3c222b33222b3322344d1e3d5f25344d1e2b33222b3322272c1f272c1f272c1f +3a4423272c1f2b33222f3c22556024576b333d5f253c582249601f576b33697c2b +87872c576a1f47581f778746567f3a697c2b3d5f253d5f25576a1f5474285f7b2a +557f225f7b2a4b681e5e74295e74293c5822344d1e47581f3a442349601f5e7429 +576a1f3d5f253a4423383c233043213f4e1e497323576b334b681e5474283f4e1e +3043213043212f3c222f3c222b33222b33222f3c2249603247581f383c2347581f +304321272c1f2b332247581f657c447b90346b85457787467d97368e9f3b8ea059 +7787466b852c7c90535e742960832a697c2b49601f576b3347581f2f3c222b3322 +3a44233043214c5026576b33767b47afb09e95885c3f4e1e33352249601f49601f +344d1e3043213f4e1e4960325e74295474284960324b681e5e742976872d6b8545 +60832a7b9034576b33576b338c9853576a1f3f4e1e778746383c233a44234c5026 +4b681e66592c5560244c502647581f4b681e5f7b2a3a4423272c1f272c1f272c1f +333522443623afb09ec2b868697c2b757b2d6b852c5e7429576a1f656c265e7429 +7b9034708f316b852c6b852c76872d7d97368ea0597b90347d97368e9f3b7d9736 +7d97366b852c7b9034757b2d8b90558b90336b852c76872d6b852c5f7b2a5f7b2a +68752b76872d697c2b3f4e1e55602476872d5e74293043212b33222f3c22304321 +3f4e1e5f7b2a697c2b6b852c5e74292f3c222f3c22344d1e6b852c7d9736697c2b +4e4425342d1f44362355582474643e666b3b86874a8b90559f915495885c84712f +757b2d757b2d656c263f4e1e3f4e1e4b681e5f7b2a4b681e7b90348b90338e9f3b +7b9034697c2b76872d6b852c60832a697c2b5e74294b681e5f7b2a6b852c49601f +2b3322342d1f3335222f3c224c50265558245560243a44233f4e1e576a1f5e7429 +76872d757b2d4b681e5f7b2a7b90347b9034697c2b76872d5f7b2a697c2b7d9736 +7b90346b852c68752b6b852c8c983568752b55582449601f6b852c576a1f5e7429 +80a03b7d97368c983587872c6b852c697c2b557f226b852c7b903468752b49601f +49601f4b681e49601f697c2b5f7b2a3a44232b33223a4423304321383c232b3322 +272c1f2f3c222f3c22272c1f272c1f2b33222b332249601f4b681e49601f556024 +576a1f47581f6b852c7d9736708f31557f2260832a60832a5e74296b852c5e7429 +5f7b2a697c2b6b852c708f315f7b2a5474285474284b681e60832a7f9753697c2b +4b69334b69336183457c9053576b337c90534960324b69335f7b2a4973236b8545 +4973236b8545819f596b852c5474286b85453c5822576b33344d1e2f3c22304321 +576b33354c312f3c222b33222b33222b33223043213f4e3247583247581f7c9053 +60832a5474284960323d573b4758323043212f3c223043213c58224b6933496032 +3043214b681e5e74294960322f3c222b33223043213043212a34383043215f7b2a +627444576b336b85455f7b2a6b8545778746697c2b708f313d5f2530432147581f +344d1e475832627444757b2d5e742947583247581f576b33576b335f7b2a4b6933 +3c5822333522342d1f3f4e322f3c22272c1f272c1f2b33224960323f4e1e3f4e1e +2f3c22576b336b852c3d5f253f4e1e576b333c58225e74296b852c3043213f4e1e +344d1e3f4e1e344d1e576a1f576b333c582241671b3c58224b69333d5f254b681e +3c58223f4e1e576b33344d1e496032576b3376872d47583247581f344d1e4b681e +6b852c49732341671b557f225474283c58223c58223f4e1e304321272c1f304321 +344d1e304321272c1f2f3c2241671b3c5822344d1e304321272c1f2b33222b3322 +2f3c22272c1f272c1f272c1f30432149601f49601f344d1e3f4e1e47581f656c26 +7f9753557f226b852c8c98356b8545576a1f41671b5f7b2a5f7b2a576b3347581f +5f7b2a60832a576a1f576a1f576a1f576b333f4e1e3a44233f4e1e49601f697c2b +576a1f344d1e49601f49601f47581f5e74295474283f4e1e3f4e1e344d1e3f4e32 +2f3c22272c1f2b33222b3322272c1f2f3c223a442349601f68752b4c50263f4e1e +3c582230432130432168752b7787467787466b852c697c2b7c90537787466b852c +697c2b697c2b7c9053697c2b6274445e7429576b333043213a44232f3c22344d1e +3a442347581f4960325e7429657c449ea08a9d99812f3c223f4e1e576a1f576a1f +3d5f2541671b4b681e6b852c4973233c58224b69335f7b2a576b335e7429778746 +708f317c90535560244b681e49601f5560243f4e1e576a1f656c2647581f47581f +3c58223a44235558244c502668752b576a1f6b852c33352224261c272c1f24261c +383c23383c239a9178d3cea287872c8c98358c98357b90346b852c76872d697c2b +7d97365e74294b681e5e742960832a6b852c76872d76872d76872d7b9034708f31 +7b90346b852c708f316b852c76872d76872d5f7b2a7b9034697c2b697c2b5f7b2a +5e742976872d757b2d4b681e576a1f5e74295e742947581f30432147581f344d1e +49601f49601f697c2b697c2b5f7b2a576a1f30432149601f697c2b697c2b76872d +47581f443623383c23604f2a766427867c4c7787469e98538b90558c9853867c4c +76872d867c4c757b2d3f4e1e383c23576a1f3f4e1e5560247d97367b90348c9835 +76872d5e742960832a5f7b2a6b852c7b90346b852c6b852c60832a60832a576a1f +344d1e2f3c223a44232f3c222f3c2247581f555824383c23383c234c5026576a1f +76872d76872d7b90347b90348e9f3b8c9835708f3176872d708f316b852c8ea059 +7f975376872d5558246b852c7f975368752b55582455602468752b80a03b8c9853 +7d97367d97367d97368b903347581f47581f4b681e5f7b2a5e742947581f3c5822 +60832a4b681e4c50263f4e1e383c23342d1f272c1f272c1f344d1e3f4e1e3a4423 +272c1f272c1f2b3322272c1f24261c3335222f3c222f3c223043213a4423576a1f +5f7b2a5e74297d973676872d5e7429576a1f5f7b2a5f7b2a4b681e61834549601f +576a1f5474287b90347b903460832a5474285f7b2a576b334b681e5f7b2a6b852c +4b69334b69336274446b86734960326183454b69334b69336b8545547443567f3a +4b6933557f22719753719753708f31708f31708f3160832a5474435474434b6933 +576b33304321354c312a34382a3438262e352a34382f3c223043215e7429719753 +719732618345354c313f4e32576b334b69334b6933576b334960323f4e1e47581f +49603262744449601f4960322f3c222f3c22354c313a44233043213d5f253c5822 +6183455474287d97366b85455f7b2a6b85455f7b2a60832a4b6933354c313a4423 +3f4e324b6933576b33556024576b3347581f556024354c31576b335f7b2a4b681e +3f4e32262e35272c1f2b33222b33222b3322272c1f2b332247581f6b85455f7b2a +344d1e49601f5f7b2a576b335474283f4e1e3f4e1e49601f697c2b3043212b3322 +2b33223335223a44235474286b85455f7b2a60832a3c58223d5f255e7429497323 +576a1f80a03b6b852c547428708f3147581f6b852c576a1f68752b5e74297d9736 +547428708f316b852c60832a6b852c5f7b2a344d1e344d1e2f3c222f3c22304321 +41671b3d5f252b3322262e352f3c22354c313043213043213043212b33222f3c22 +4960322b33222b33222f3c223043213f4e1e3c58223f4e1e344d1e656c268e9f3b +8e9f3b6b852c80a03b80a03b708f316b852c547428497323547428547428547428 +3c5822576b335f7b2a497323344d1e49601f3d5f252f3c222f3c2249601f576b33 +576b3347581f3c58223a44232b33223a4423354c313f4e323043213335222b3322 +272c1f272c1f272c1f272c1f272c1f3a44233a442349601f60832a5e7429496032 +49601f3c58225560247c90538ea0597f975377874649601f6b852c7b903476872d +6b8545576b33657c445e742947581f5e7429576a1f3f4e1e49601f697c2b47581f +49601f5e742947581f576a1f86874ac0b8a6b1b0693f4e1e697c2b5f7b2a5e7429 +5474285e74295f7b2a5e74296b854549603247581f5f7b2a49601f547428576a1f +5e7429556024576a1f697c2b5e742947581f344d1e49601f5474283f4e1e5e7429 +3f4e1e3f4e1e3f4e1e333522666033656c2668752b656c26333522342d1f272c1f +3335223a44238b9080e0dfc68b90338c98357b90347b90347d9736656c26576a1f +708f31656c263043213043214b681e697c2b60832a6b852c7b903476872d8b9033 +76872d47581f60832a6b852c68752b656c265f7b2a697c2b6b852c6b852c47581f +47581f697c2b7b90348c98358c98353f4e1e344d1e47581f272c1f272c1f2f3c22 +2f3c225560246b852c5f7b2a49601f5e74294b681e4b681e6b852c60832a76872d +68752b68752b666033666b3b86874a9e98538b90558b90559e98539f9154ada17f +867c4c576a1f867c4c6660333f4e1e5560243c58225f7b2a6b852c7197327d9736 +7b90346b852c6b852c76872d7d9736719732708f3176872d5e74295e74293f4e1e +383c233335223335223f4e1e3f4e1e576a1f697c2b76872d697c2b5560246b852c +6b852c68752b656c2676872d8c98357b90346b852c6b852c697c2b576b33496032 +576b33576a1f3a442349732347581f49601f49601f576b3376872d8c985376872d +7c9053656c26555824757b2d757b2d47581f4c50263a44235560245f7b2a60832a +68752b3f4e1e383c23342d1f3335222b3322272c1f383c233043212f3c222f3c22 +272c1f2b33222b3322272c1f342d1f272c1f342d1f383c23576a1f2f3c2247581f +5f7b2a5e742991af495f7b2a4b681e547428576a1f5f7b2a49601f6b852c497323 +576a1f6b8545708f3176872d697c2b5e74295e7429576b3347581f576a1f6b8545 +657c444b6933576b337787724960326183453c58223d5f25657c444b6933547443 +3d5f25567f3a60832a6b85457197536b854560832a5e7429576b335e7429354c31 +3043212f3c224b69333f4e322b3322262e352b33222a34382f3c22496032657c44 +4b6933496032496032344d1e3f4e1e4b69335474435f7b2a6274446b8545657c44 +47581f4973236b8545475832354c31383c232a34382f3c223f4e323c5822496032 +6b85455f7b2a7197536b85454b681e5e74296b85457d97364b69333c5822475832 +383c23576a1f5e742949601f68752b68752b556024383c23656c26657c4449601f +4960322b3322272c1f272c1f2b33222b3322272c1f272c1f344d1e708f31576b33 +5f7b2a7197535e7429547428344d1e4973234b681e708f317d9736576a1f3f4e1e +3f4e1e2f3c22576a1f6b852c7197536b852c41671b344d1e576a1f60832a708f31 +80a03b6274443f4e1e576b335f7b2a576b337b903480a03b91af497d9736708f31 +5f7b2a6b852c708f317d973660832a60832a47581f3c58223c58222b3322262e35 +2b3322344d1e304321272c1f262e352b33222b33222f3c222f3c222b3322344d1e +3f4e1e3043212f3c223043212f3c224b69334b681e5e742949601f5f7b2a8e9f3b +80a03b708f317d97367d973660832a7b90345f7b2a41671b4b69335f7b2a49601f +3c58223c58224b681e5f7b2a49603249601f47581f47581f2b33223f4e1e4b681e +3f4e1e2f3c224c5026344d1e3a442349601f47581f3043212b33222b33222b3322 +272c1f24261c272c1f24261c1e241b2f3c22344d1e3a4423576b335e74293c5822 +344d1e49601f576b3376872d8b90337b90346f8f525e7429697c2b77874676872d +697c2b475832657c44657c4447581f496032576b3347581f49601f5e7429697c2b +7c9053757b2d6b852c7b90348b9033aea886c3c17a767b47576a1f3f4e1e576a1f +49601f49601f4b681e576b335e74294b681e68752b697c2b3f4e1e3c58223c5822 +54742849601f49601f49601f4960323c582249601f7787465f7b2a3f4e1e576b33 +3f4e1e383c233a4423576a1f3f4e1e3335223a4423556024556024656c26766e2d +5560244c50269e9853d3cea28c98538c983576872d7b90347b903476872d7b9034 +8c983568752b3f4e1e3a4423344d1e4b681e5f7b2a60832a68752b6b852c76872d +5560245558245474285474286b852c697c2b576a1f5f7b2a697c2b5f7b2a304321 +576a1f60832a6b852c76872d8c9835778746656c2647581f2f3c2224261c342d1f +2b33223a44235e742949601f3f4e1e3f4e1e49601f5560245e742960832a76872d +76872d757b2d87872c887b2c86874a9e985386874a8c9853b1b069c3c17aada17f +9f9154757b2d68752b383c234e44253f4e1e5f7b2a708f31708f31708f31708f31 +6b852c6b852c6b852c7b90347b90345f7b2a3c58225e74295f7b2a5e742947581f +2f3c222b3322272c1f4c5026697c2b68752b55602468752b708f3176872d76872d +87872c76872d666b3b5558248c9835757b2d5474285f7b2a557f22576a1f3f4e1e +60832a47581f2f3c223c5822497323697c2b4b681e5e74295f7b2a697c2b697c2b +778746576b333f4e1e5560244b681e47581f3f4e1e47581f3f4e1e3c5822547428 +3f4e1e3a4423272c1f2f3c22333522272c1f272c1f3f4e1e697c2b3f4e1e383c23 +2b33222f3c22344d1e344d1e2b33222f3c222b33223335228b90335e74294b681e +54742854742880a03b6b852c60832a697c2b47581f657c4449601f657c44576b33 +576a1f60832a7787467c90537b9034576b333f4e1e3043213043214b681e547428 +5474433d573b4e50436274444b6933657c444b69334b69335474434b693341671b +3d573b5474285f7b2a60832a5f7b2a6b852c6b854541671b5474286b852c3d5f25 +5f7b2a5f7b2a6f8f523d5f252b33222b33222a34382b3322262e352f3c22475832 +5f7b2a344d1e3c58223d573b304321354c313d5f25344d1e4960325e74296b8545 +657c446b8545576b33475832383c23342d1f262e352b3322354c31344d1e3c5822 +7b90346b852c6b8545697c2b4b69335e74296183456b852c6b852c47581f3c5822 +4b6933697c2b657c44576b3362744468752b767b47304321576b33576a1f576b33 +4b69332b3322272c1f24261c24261c272c1f262e35272c1f2b3322656c26576b33 +657c4476872d708f315e7429497323657c445e742960832a557f225e7429719732 +8ea83e5e7429576b336b852c5f7b2a557f224973235e7429576a1f6b852c7d9736 +708f31719732697c2b3c5822557f22719732708f314b681e708f3180a03b719732 +80a03b729e3491af4980a03b76872d7b90345f7b2a4973233d5f253043212f3c22 +272c1f2f3c22272c1f2b33222b33222b3322262e352b3322272c1f2f3c222f3c22 +344d1e344d1e3043213043213043215e74293d5f256b852c8e9f3b697c2b8c9835 +8c98357d97366b852c5f7b2a567f3a5e7429576b334b6933576b334b681e3f4e1e +30432149601f576b334b681e3043213f4e1e2f3c22344d1e2f3c224b6933556024 +3a4423272c1f3a44233f4e1e47581f47581f4758323f4e1e272c1f2f3c2247581f +2b3322272c1f24261c272c1f272c1f30432147581f47581f5e7429697c2b344d1e +3f4e1e47581f697c2b7787468ea0598ea83e7c90537787467f97537b90346b8545 +656c263d5f255e7429576a1f3d5f2547581f5f7b2a576b335e74295e7429778746 +8b90335e742968752b86874a576b33ada17fc1c2ae697c2b3f4e1e3c58223f4e1e +49601f3f4e1e3f4e1e3043215e7429697c2b697c2b6b852c49601f3a44232f3c22 +3d5f254b681e576b334b69333f4e1e47581f5f7b2a5e74293f4e1e383c23333522 +272c1f2b332249601f697c2b3a4423342d1f3f4e1e47581f49601f4c502668752b +87872c7787468b90339e98538c98358c983576872d76872d7b903476872d8c9835 +7b903447581f3f4e1e47581f656c2676872d76872d49601f3a44235e7429576a1f +2f3c222f3c222b332247581f76872d697c2b5f7b2a6b852c576a1f68752b47581f +5f7b2a697c2b5e742976872d87872c7b90347b90347b903468752b383c23272c1f +24261c272c1f383c23383c23272c1f2f3c223a4423383c2347581f576a1f697c2b +6b852c87872c867c4c76872d9e98539fa857aea8868c98539e9853c0b197c2b868 +aea8869fa056757b2d383c2333352247581f5e7429719732708f31547428576a1f +47581f5e7429697c2b5f7b2a576a1f49601f304321576a1f6b852c708f314b681e +49601f304321344d1e49601f697c2b5e74294e44253a44234b681e6b852c8c9853 +8e9f3b87872c76872d7787467b9034576a1f576a1f4b681e47581f3c58223d5f25 +49601f49601f2f3c224b681e5e74295560245e742949601f576a1f547428708f31 +7b9034576a1f3f4e1e344d1e3f4e1e3f4e1e47581f4b681e3a44232f3c223a4423 +2f3c22383c233a44232f3c222f3c222b3322344d1e3c58225474282f3c223f4e1e +3f4e1e3f4e1e576a1f41671b41671b697c2b2f3c22304321657c4476872d5f7b2a +557f22708f317b903476872d68752b547428576a1f6b8545576a1f3f4e1e3d5f25 +5f7b2a697c2b576a1f6b85455e7429576b333f4e1e2f3c2230432147581f576b33 +475832576a624758324960324b6933618345576b33547443576b334960323d573b +3d5f25618345708f31708f3160832a60832a6b85455474285474435f7b2a6b8545 +61834549732360832a567f3a3c582230444d2b33222b33222f3c22304321497323 +657c444960323f4e323a44232f3c22496032344d1e3c58224758324960323f4e1e +56603a576b333f4e1e354c312a3438272c1f2a34382b33223d5f253d573b627444 +6f8f528c9853778746697c2b6b854576872d5e74294b681e5e74296b8545576b33 +5f7b2a656c26576a1f576a1f47581f3f4e1e576b333f4e1e576a1f76872d5e7429 +3f4e1e373e431e241b262e3524261c262e35272c1f262e353f4e1e55602447581f +2f3c2254742876872d54742860832a60832a5e74294b69333d5f255474286b852c +5f7b2a54742880a03b80a03b6b852c719732729e348ea83e80a03b8e9f3b547428 +60832a7b903476872d4b681e49601f60832a6b852c41671b708f31708f31557f22 +60832a6b852c7d9736729e34729e345f7b2a6b852c7f97536b852c3c5822304321 +3043212f3c222b33222b33222f3c222f3c22272c1f2b33221e241b2b33222f3c22 +344d1e3c5822344d1e2f3c22344d1e4b681e49601f697c2b80a03b80a03ba1a73c +8e9f3b708f314b681e49601f3c5822354c313a44233f4e1e3a4423344d1e344d1e +3f4e1e576a1f47581f3f4e1e3f4e1e555824576a1f55602449601f5f7b2a4c5026 +2f3c222b33223a44232f3c222b33222b3322272c1f2b33223043213f4e1e3c5822 +272c1f24261c24261c1e241b272c1f576a1f576b33344d1e576a1f556024344d1e +3f4e1e576a1f666b3b7787468ea059a1b1707d97368e9f3b7b90345f7b2a5f7b2a +5f7b2a576b336b852c5e74295f7b2a5f7b2a71973280a03b80a03b7b90347b9034 +76872d77874677874668752b5e7429aea886d3cea268752b5560245f7b2a5e7429 +54742849601f576a1f5e742976872d7c905376872d757b2d3a44232b33222f3c22 +344d1e49601f5f7b2a4b681e47581f47581f556024383c23383c233a4423342d1f +2f3c223f4e1e5560242f3c223a44233f4e1e2f3c224b681e576a1f5e7429556024 +55582456603a666b3b9fa0569fa05676872d576a1f8c9835708f318b90338b9033 +76872d576a1f68752b697c2ba1af4e8b9033576a1f47581f3f4e1e5e74295f7b2a +4b681e3f4e1e2f3c223f4e1e68752b697c2b5f7b2a6b852c5f7b2a557f225e7429 +5e74293f4e1e5e7429697c2b697c2b757b2d76872d87872c7d973647581f342d1f +24261c272c1f272c1f24261c24261c333522272c1f272c1f2f3c223a44234c5026 +666033766427867c4c8b9033c0b8a6b2a8569fa056a1af4e8c98539fa8579fa857 +b1b069b2a05386874a3a44234c5026656c26656c26757b2d76872d3f4e1e47581f +3043214b681e6b852c5f7b2a3a44233043213f4e1e344d1e383c233a4423344d1e +344d1e3043212f3c22344d1e5f7b2a576a1f3f4e1e47581f697c2b708f318e9f3b +7d97368c98357b90347b9034656c2668752b47581f344d1e30432130432149601f +47581f3f4e1e3a44234b681e5e74295560246b85453f4e1e30432149601f6b8545 +76872d5e742947581f3043213f4e1e304321383c233335222b3322304321272c1f +2b33222b33223043214c5026344d1e2f3c223043213043215474284b681e4b681e +49601f3c58223f4e1e4b681e576a1f5f7b2a3f4e1e656c26344d1e4b69337d9736 +5f7b2a60832a71973277874649601f47581f41671b5e7429697c2b55602447581f +697c2b697c2b344d1e5e74295f7b2a3c58223f4e1e47581f41671b3d5f25547428 +496032547443567f3a547443547443576b334b6933576b33627444547443496032 +41671b708f31567f3a6183456f8f5260832a6b852c5474284b69333d5f25547428 +3c582241671b6183456b852c4973233c582241671b4b69333d5f254973235f7b2a +5474284960324b693341671b5474285474433d5f25576b333c5822383c232b3322 +3f4e32657c4449603247581f3f4e322f3c22333522304321576b3349601f41671b +7c9053657c44708f316b852c6b852c627444576b33576b335474285e74294b681e +5f7b2a5f7b2a5f7b2a49603256603a576b333d5f254b69335f7b2a708f31496032 +49601f4b681e344d1e3a44232b33222b33223a44233043216f8f525e7429657c44 +60832a7787467b90344b69336f8f52627444344d1e344d1e3c58223f4e1e557f22 +719732708f3176872d7d973691af4991af4991af497d9736719732557f225f7b2a +708f318ea83e708f315e742980a03b7d9736497323497323708f314b681e4b681e +6b852c708f317d9736719732557f223c58223c58225e74294b681e344d1e344d1e +344d1e2f3c223043212b3322272c1f1e241b272c1f1e241b272c1f272c1f2b3322 +344d1e344d1e304321344d1e4b681e4b681e41671b557f227b90347b90348e9f3b +7d97367d97365e7429344d1e304321383c232f3c224b681e344d1e47581f5f7b2a +576a1f49601f344d1e47581f344d1e3a44233f4e323f4e1e3f4e1e49601f3f4e1e +3f4e1e47581f47581f2b33223335222f3c222f3c2230432149601f49601f47581f +2b3322272c1f24261c272c1f47581f60832a3f4e1e2b33223f4e324c5026556024 +6274446b85455e7429778746a1af4e8c98538c98538c98536b85455f7b2a6b852c +60832a5e742960832a5e7429657c445e7429697c2b7b90347b90347b903476872d +7b903476872d576a1f697c2b6b852c9ea08ac3c17a76872d68752b49601f41671b +576a1f576a1f697c2b697c2b5e7429576a1f6b852c576a1f2b33222b3322354c31 +304321344d1e5560243f4e1e47581f3f4e1e2b33223335223335222b33222f3c22 +49601f5e742947581f2f3c22383c233f4e1e3a44233a44233a44233335223f4e1e +49601f2b33225558249a91789fa05655582447581f6b852c68752b8c98358b9033 +68752b76872d5560248c9853a0a03a87872c697c2b60832a5e74296b852c697c2b +5e74295e74293f4e1e47581f576a1f576a1f68752b5e74295f7b2a6b852c76872d +76872d3f4e1e30432147581f6b852c5474285f7b2a7b90347b9034757b2d333522 +24261c24261c24261c24261c272c1f3335223335223335223335223335223a4423 +2f3c224e44259f9035b1b069c0b8a6c2b8689fa8579fa056b1b069b1b069b1b069 +9e98539e9853757b2d55602468752b76872d757b2d5560243a4423333522344d1e +47581f5f7b2a6b852c76872d3a44233a4423383c232b3322272c1f30432147581f +47581f272c1f2f3c22576a1f5e74296b852c60832a708f3176872d697c2b76872d +757b2d7787468b90337b903476872d697c2b47581f3f4e1e49601f47581f3f4e1e +2f3c22304321304321576a1f2f3c2247581f5e74295e742949601f49601f547428 +47581f3a44232f3c22304321344d1e344d1e2f3c22272c1f2b33223335222b3322 +272c1f272c1f2f3c222b33222f3c224c5026576a1f3a44232f3c222f3c223f4e1e +3f4e1e2f3c22304321333522344d1e4b681e344d1e3a44233f4e1e8c985380a03b +7d97366b852c5f7b2a6b852c4b681e5f7b2a4b681e4b681e697c2b6b852c6b8545 +6b852c49601f3d5f254b681e4b6933576a1f49732354742860832a60832a49601f +547428547443627444657c446274446b8545576a1f6274446b8545697c2b719753 +6f8f52719753708f31567f3a5f7b2a61834560832a60832a567f3a4b681e4b6933 +576b334b6933557f226f8f52567f3a497323567f3a547443567f3a567f3a547428 +576b3349603249601f5f7b2a547428567f3a4b69333c58223043212e3c442b3322 +3a44233043214758324b69334758322f3c223f4e324960325474286274443c5822 +354c31344d1e7c90538c9853697c2b49603249603249601f576b3349603249601f +576b334b69333f4e1e3043213f4e324c502649601f657c44697c2b49601f5e7429 +697c2b6274444960325e74295f7b2a5f7b2a7d97367b90346b852c6b852c778746 +576b33576b336b852c60832a5f7b2a47581f4b693360832a547428576a1f80a03b +8ea83e91af498e9f3b91af499eb74c7d973691af49708f3171973280a03b9eb74c +8ea83e8ea83e8e9f3b708f318ea83e8ea83e7d97366b852c7b90346b852c4b681e +7b90346b852c5e74295f7b2a54742841671b618345697c2b60832a6183455e7429 +5f7b2a3043212b33221e241b272c1f272c1f272c1f272c1f1e241b2b3322272c1f +2b3322304321344d1e5f7b2a5f7b2a4b681e60832a6b852c60832a5f7b2a8b9033 +76872d708f315e7429557f224b681e656c26697c2b708f314973235474284b681e +3c5822344d1e3f4e1e5560243a44233a44233f4e1e49601f49601f3f4e1e576a1f +5e7429576a1f3f4e1e2b33223a442347581f47581f49601f5560243f4e1e333522 +24261c272c1f2f3c224b681e68752b4960322f3c22272c1f272c1f3335223a4423 +3f4e1e4c50265e74299e98538c98538c98536b852c6b852c5f7b2a6b85457d9736 +6183455e742949601f5f7b2a576b33576b337c9053778746697c2b7b9034697c2b +6b852c68752b68752b576a1f697c2b86874a9fa056666b3b697c2b576a1f5f7b2a +576a1f5f7b2a7b90346b852c576a1f3f4e1e576a1f47581f3043213a4423333522 +2b33222b33223a44233a442347581f47581f3c58223f4e1e3f4e1e383c232f3c22 +47581f4b681e47581f2f3c2247581f697c2b47581f576a1f3a4423383c23556024 +4c50262f3c2255602475704d8b905574643e3f4e1e656c2668752b7b90345e7429 +5e742968752b5560247b90348e9f3b76872d6b852c6b852c576a1f576a1f556024 +5560243f4e1e555824383c23383c23304321656c265f7b2a697c2b757b2d8c9835 +757b2d3f4e1e2f3c223f4e1e5f7b2a49601f576a1f6b852c656c26556024272c1f +272c1f24261c24261c24261c272c1f383c232f3c22304321333522342d1f342d1f +2b33224c50269e98538c98539fa056c3c17ab1b0698c98538c98539fa857b1b069 +b1af4d8b903368752b5560246b852c60832a697c2b3f4e1e383c233335222f3c22 +3f4e1e60832a6b852c697c2b3a4423383c233335224c50263f4e1e47581f344d1e +344d1e2b3322344d1e576a1f576b3347581f656c266b852c5f7b2a5e74295e7429 +656c266b852c8c98357b90347b903476872d4973233d5f2549601f344d1e304321 +304321344d1e3c5822556024272c1f3043215f7b2a5e7429576a1f3f4e1e4b681e +576a1f5e74293f4e1e344d1e49601f47581f344d1e272c1f272c1f342d1f272c1f +272c1f3335222f3c222b33222b3322344d1e49601f47581f3f4e1e3f4e1e304321 +344d1e383c232b33222f3c223f4e1e344d1e3c582249601f41671b7f97537d9736 +8c98357f975376872d757b2d576b335e7429657c44576b3377874676872d8c9853 +697c2b576a1f496032344d1e3f4e1e3f4e1e6b852c6b852c4973235f7b2a576a1f +547443496032354c316274446183457787467b903476872d6b85456b85457c9053 +60832a6b85456f8f5260832a5f7b2a567f3a5f7b2a708f316f8f526f8f52778746 +7f97537c905360832a719753547443354c313043213c58223d5f255474433d5f25 +3d5f254960325e74294b6933497323557f224973234960322b33222f3c22342d1f +262e35342d1f3336423335222b33222f3c22344d1e576b334b681e344d1e304321 +3f4e322f3c22657c447c90535f7b2a6b852c6b852c6b8545344d1e547428557f22 +4b69332f3c22304321333522576a1f697c2b697c2b7f97535e74295e74294b6933 +354c31304321354c31344d1e4b69335e74295f7b2a697c2b6b852c6b852c7d9736 +697c2b7f97536b85454b681e6183455f7b2a7b903471973260832a7197328e9f3b +80a03b9eb74c91af498ea83e8ea83e7197327d97367d973660832a80a03ba1af4e +8ea83e80a03b60832a7197328ea83e8ea83e91af496b852c8ea83e7d97367b9034 +91af497b903449732341671b3c58223c58224b681e60832a77874649601f5e7429 +60832a41671b304321272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f +262e35272c1f2f3c225f7b2a7b90345474285474286b852c5f7b2a49601f7b9034 +697c2b5e7429576a1f7b903476872d8c98357d9736557f22557f22557f22547428 +5e742947581f5e74295f7b2a556024576a1f5e7429576a1f49601f556024576a1f +68752b576a1f3f4e1e30432147581f49601f49601f576a1f2f3c222f3c222b3322 +2b33223043215e7429576b3347581f2f3c22272c1f24261c272c1f2b332247581f +47581f5560247c90538c98358ea0598c98537f97536b85455474285e74295f7b2a +697c2b4b69334960323f4e1e4b681e4b681e576b3360832a5f7b2a5f7b2a6b852c +68752b576a1f5f7b2a656c264b681e576b339fa0568c983576872d7d9736708f31 +6b852c7b90347d97366b852c68752b49601f5e74295e7429656c2647581f344d1e +2f3c223f4e1e383c233043212f3c223f4e1e576a1f47581f3a4423383c23304321 +697c2b3f4e1e556024576a1f55582476872d68752b576a1f3043213335223f4e32 +272c1f272c1f47581f5558248b9055b1b069656c2676872d576a1f656c26656c26 +68752b576a1f656c267b903476872d6b852c697c2b576a1f4b681e697c2b6b852c +555824383c233a44232b33222b33223335224b681e76872d6b852c7b9034b1af4d +76872d576a1f49601f576a1f3f4e1e3a442347581f47581f3f4e1e3f4e1e342d1f +44362324261c24261c24261c272c1f333522333522272c1f272c1f272c1f272c1f +4e44259fa056757b2d86874a8b9055ada17fc3c17a757b2d8b9033a0a03a9fa857 +9fa8579fa056757b2d576a1f4b681e5560244b681e576a1f344d1e2f3c22383c23 +2f3c2247581f4b681e47581f2b33222b3322272c1f3f4e1e3f4e1e47581f304321 +2f3c223a44233a44233f4e1e2f3c223a442349601f697c2b697c2b697c2b656c26 +576a1f76872d8c98357b90347d973676872d547428557f22576a1f3c5822304321 +2f3c222f3c2249601f5e742930432147581f5f7b2a576a1f55602447581f697c2b +4b681e5f7b2a576a1f49601f41671b3043213a44233043212f3c222b33222b3322 +2b33223335222f3c22272c1f3043213c58223c5822556024576a1f2b33223f4e1e +344d1e3f4e1e3335223a44234973233c58226b852c6b852c6b852c6b852c7b9034 +8c98537b9034819f597b9034576a1f547428708f318c9853697c2b76872d7d9736 +697c2b697c2b4b681e2f3c223043214b69335e742976872d5e74295e74296b852c +4758323f4e323f4e32576b336f8f52708f316183456b85455474286f8f526b8545 +708f3161834560832a819f597197326183455474284b6933567f3a547428778746 +92a88d7c90536b8545697c2b3d5f253c58224b69333d573b3043214960325e7429 +4b69333d5f253c58224960325f7b2a576b333a44232a34382b33222a34383f4e32 +344d1e2f3c223a44233f4e322f3c223043213d5f254b69334758323c58223d573b +5474283f4e1e4758327c90535f7b2a6b852c576b336b852c47581f657c445f7b2a +576b333f4e325e74293a4423576b336b852c656c26576a1f576b335e74293f4e1e +3043212f3c223f4e1e3f4e1e41671b60832a6b852c6b852c76872d7b903476872d +76872d76872d7d97367b9034697c2b7c90537b9034708f31708f3160832a8ea059 +7d97367d9736778746557f22708f3171973260832a557f2249732360832a60832a +7b903460832a41671b41671b708f318ea83e7d97366b852c8e9f3b7d9736729e34 +7d97365f7b2a497323497323344d1e3c5822344d1e4758325e74293f4e1e56603a +576a1f576b334973233c58222b33221e241b272c1f272c1f1e241b272c1f2b3322 +2b3322272c1f2b3322344d1e5e7429697c2b7b90347d97366b852c49601f8c9835 +8c9835708f318c98357b903480a03b8e9f3b76872d5f7b2a576a1f60832a719732 +5e74293335224c502641671b556024556024576a1f656c2647581f4c5026576a1f +656c2647581f3f4e1e4b681e5e742949601f383c23383c232b33222f3c222f3c22 +2f3c222f3c223f4e1e3a4423304321272c1f2b33222b3322304321697c2b76872d +576b3347581f7787467c905392a7598c98356b852c697c2b576b335474285f7b2a +6b85455e74293c58223d5f256b8545576a1f708f318c9853697c2b76872d5f7b2a +4b681e68752b5f7b2a47581f3f4e1e576b339ea08a767b4747581f697c2b7d9736 +6b852c5e742968752b76872d576a1f68752b5e74294b681e3c58224b681e344d1e +49601f576a1f2f3c223a44232f3c224c50263f4e1e5560243a44232b33222f3c22 +3f4e1e3f4e1e47581f3d5f253a4423555824576b33656c264c5026383c23333522 +2b3322383c2347581f3a4423574f26aea886ada17f574f264c50263a44233a4423 +5560244c502668752b87872c76872d697c2b3f4e1e3a44233f4e1e68752b76872d +697c2b55602449601f4b681e576a1f68752b76872d697c2b6b852c76872d7b9034 +656c2660832a76872d5560243335223335223f4e1e49601f3c5822344d1e333522 +3a442324261c24261c24261c24261c272c1f383c233a44233f4e1e3f4e1e556024 +afb09e9fa0567b903487872c8c98539e9853b2a8568ea0598c9835a0a03aa0a03a +9f98359fa8579fa0568b9033656c2647581f47581f47581f49601f49601f76872d +55602447581f576b334c50263f4e1e3f4e1e3a44234c5026556024576a1f576a1f +3f4e1e3f4e1e3c582247581f3f4e1e3a442347581f5e742976872d5e742976872d +76872d697c2b68752b757b2d7b9034557f225e74296b852c76872d4b681e3f4e1e +2b33222b332247581f6b852c697c2b576a1f5e74295e74293f4e1e47581f49601f +547428576a1f49601f344d1e47581f3043212b3322383c233c5822344d1e2b3322 +2b3322272c1f3043213f4e1e47581f47581f3043213f4e1e3335223335223a4423 +3a44232b33223f4e1e6b852c5e742949601f76872d576a1f76872d5e74296b852c +7b90346b852c71973276872d576b335e74297b90348c98538b90335e74295f7b2a +6b852c8e9f3b7f97535e74294b681e77874668752b697c2b4b681e5f7b2a767b47 +354c31304321354c314b69336f8f52547443657c446f8f525e74296f8f526f8f52 +7d97366b85454b69335f7b2a708f316b852c567f3a4b6933557f22618345719753 +80a03b6b852c7d97367197534b69333d5f25354c313043212e3c44304321576b33 +576b334b69333c58223d573b576b334960322b3322272c1f262e352b3322304321 +3944463d573b576b334b6933496032576b33576b335e7429576b332f3c222f3c22 +5e7429547428344d1e576b33778746697c2b576a1f76872d6b852c6b852c657c44 +3d5f25304321576b33354c31576b3368752b49601f2f3c22627444697c2b5f7b2a +4b681e4b693347581f60832a6b852c76872d76872d557f22708f316b852c91af49 +92a75992a7599eb74c80a03b9eb74c8ea83e60832a708f316b8545697c2b7f9753 +80a03b7197536b852c54742860832a60832a557f2241671b4b69333c5822576b33 +5f7b2a5e7429547428719732729e34708f316b8545618345708f31708f31719732 +7b90346b852c557f22819f594b69333043213043213a44232f3c22354c312b3322 +3043214960322f3c222f3c22272c1f272c1f262e351e241b272c1f272c1f272c1f +272c1f2b33222b33222f3c22344d1e5f7b2a7d97368ea83e8e9f3b8c98358e9f3b +8c98357d97367d97368e9f3b7b90348b9033576a1f47581f3c5822344d1e3f4e1e +47581f3f4e1e47581f54742849601f47581f4c5026576a1f3f4e1e4c5026576a1f +697c2b4c50262b3322383c234c5026383c23272c1f272c1f3335222f3c223a4423 +2f3c223335222b3322272c1f342d1f24261c24261c33352247583249601f5e7429 +576a1f697c2b697c2b757b2d8c98536b8545576b3360832a5e74295e74296b8545 +697c2b3d5f253f4e1e3f4e1e5e74296b852c778746708f3160832a708f31556024 +3f4e1e4c5026576a1f3f4e1e475832576b339e98538c98537b90345e74295e7429 +68752b656c266b852c8c983576872d76872d5e74296b852c8c9835708f3176872d +76872d76872d576a1f49601f3f4e1e766e2d76872d6b852c5560243335223c5822 +4b681e47581f576a1f5e742947581f556024576a1f47581f47581f3f4e1e3a4423 +383c233a4423383c23383c233a442374643eada17f6660333335223a4423576a1f +68752b556024697c2b87872c556024556024556024333522383c23576a1f708f31 +708f31576a1f6b852c5f7b2a6b852c708f316b852c76872d6b852c5f7b2a6b852c +576a1f576a1f5e742947581f3a44232b332249601f6b852c576a1f3043212f3c22 +4e4425342d1f24261c24261c272c1f3f4e1e697c2b6b852c87872c8c98359e9853 +9fa8579fa0568b90338c9835a1a73c9e98539fa0569fa0568b90338c98357d9736 +7d97369e98538c985387872c5560243a4423333522383c235560246b852c7d9736 +6b852c68752b576a1f47581f656c267c90537d97367b9034757b2d697c2b5e7429 +3f4e1e2f3c223a44232f3c224758324c502649601f76872d8e9f3b55602449601f +697c2b5e7429576b33555824576a1f5e742976872d708f315f7b2a49601f304321 +2b33222b33223f4e1e4b681e4b681e5e7429576a1f344d1e3c5822304321304321 +47581f47581f3a44233f4e1e3043212f3c222b33222f3c223335222b33222b3322 +344d1e3c58225f7b2a49601f547428697c2b3f4e1e2b332249601f576a1f3f4e1e +576a1f5558245e7429656c26697c2b757b2d6b852c666b3b68752b697c2b8c9853 +7b9034697c2b7c90538c98355f7b2a6b852c708f31708f317c9053697c2b47581f +6b852c7b90346b852c4b681e5f7b2a7b90344b681e656c263f4e1e697c2b7b9034 +3d5f253d5f253d5f254960327f9753576b33657c446f8f52557f22708f31567f3a +5f7b2a708f315f7b2a5474435474436f8f524973235f7b2a60832a557f22657c44 +60832a60832a7f9753719732557f22496032304321354c313043213d573b304321 +3c582249601f3d5f253043212f3c222f3c223043212e3c443043213f4e1e3c5822 +3f4e1e354c313f4e1e3f4e1e496032354c31383c234960325e74293043213f4e32 +60832a697c2b4b69336b852c7b9034778746576b335e74295e74294b681e475832 +3043213a442356603a3a4423576a1f666b3b4960323f4e1e5e74295e74295f7b2a +576a1f5f7b2a4b69336b852c6b852c719732719732708f31708f318ea83e8ea83e +8ea83e8ea83e7d97368ea83e71975371973280a03b80a03b708f31708f317f9753 +71973260832a708f3171973260832a708f3160832a3d5f253f4e1e49601f5e7429 +41671b5e74297b90347d973680a03b719732557f223c5822576a1f7b903460832a +657c445f7b2a5f7b2a41671b344d1e2b33223043213c58223043212b33222b3322 +2b33223043213a4423272c1f2b33222b33222b33222b3322272c1f272c1f2b3322 +272c1f1e241b272c1f272c1f3043213c5822576a1f708f3180a03b8e9f3b5f7b2a +697c2b576a1f5f7b2a76872d7b90348c983576872d7b903449601f49601f5e7429 +47581f49601f76872d5f7b2a49601f49601f47581f55602447581f3a44233f4e1e +47581f3f4e1e333522304321383c232b3322272c1f2b3322342d1f2b3322333522 +2b3322272c1f272c1f24261c272c1f342d1f2b33222b33223a44233a442349601f +49601f576a1f7b90347b90348c98537b903476872d77874676872d80a03b7d9736 +7787464b681e344d1e49601f576b3360832a576a1f576b333c582249601f47581f +47581f3a442368752b3a44233f4e1e5f7b2a8c98538c9853697c2b6b852c6b852c +5f7b2a6b852c76872d6b852c697c2b7b9034697c2b6b852c76872d7b90347b9034 +7d97366b852c76872d757b2d68752b8c98538ea0598c98357b90343f4e1e5f7b2a +76872d576a1f656c26576a1f4b681e576a1f576a1f656c2668752b49601f68752b +656c26576a1f4c50264c50264c50263a4423867c4c9f91543a442347581f5e7429 +4b681e68752b8b903376872d3f4e1e5560245560243f4e1e55602468752b76872d +708f3176872d76872d576a1f4b681e576a1f5f7b2a76872d697c2b5e74295f7b2a +547428576a1f6b852c68752b4b681e656c26757b2d5e74294c50262b3322272c1f +272c1f24261c1c1e19342d1f333522697c2b576a1f76872d7b90347b90348c9835 +8b90338c98357787468b90339e98539fa8579f98358c98538c98358e9f3b7b9034 +76872d76872d8c98357b903468752b3a4423383c23656c26757b2d8ea059697c2b +68752b68752b68752b697c2b6b852c76872d7c9053708f316b852c6b852c5f7b2a +3f4e1e2b33222b33222b332247581f556024697c2b80a03b757b2d55582447581f +87872c5e74295e74295e7429576a1f4b681e697c2b5e742949601f2f3c22342d1f +3335223043212f3c223f4e1e3f4e1e5f7b2a4b681e3d5f2554742849601f49601f +49601f47581f3f4e1e3f4e1e344d1e3f4e1e3043213043212f3c222b33223c5822 +4b681e3c58223f4e1e3a442355602468752b574f263a44235f7b2a6b852c47581f +5e742986874a767b4755582468752b576a1f68752b4c50265558247b90348ea059 +8c983576872d7b9034a1af4e6b852c6b852c708f3160832a77874686874a556024 +576b336b852c6b852c5e74295e742949601f49601f697c2b576b334b681e76872d +41671b3d573b496032475832547443576b336b854560832a4b6933618345618345 +5f7b2a6b852c708f3149601f344d1e4b693349601f4b69334b69333f4e322f3c22 +354c31496032657c446183456183454758322a3438354c313c5822547428496032 +41671b547428567f3a496032354c31344d1e3d5f25344d1e3f4e32354c31304321 +344d1e47581f3d573b344d1e2f3c22342d1f272c1f383c23627444576b334b6933 +5474286b852c4b681e6b852c80a03b7787465f7b2a697c2b576b335e74294b681e +4758323335222f3c223f4e324c5026576a1f4e44254c50265e742976872d6b8545 +5f7b2a3f4e1e3043213d5f254b681e497323557f22557f22729e3491af4980a03b +8ea83e80a03b71973291af497197326b852c5f7b2a7b903460832a6f8f5260832a +60832a80a03b6b852c6f8f524973235f7b2a708f31576a1f47581f576b33304321 +576b33708f316b85455f7b2a5e742976872d5f7b2a708f317197326f8f526b852c +41671b5474286183454973233d5f25344d1e2f3c222f3c223f4e1e2b33222f3c22 +3a4423344d1e2b33222b3322272c1f272c1f2b33221e241b272c1f272c1f272c1f +272c1f272c1f272c1f2f3c223f4e1e47581f49601f708f317197325e742949601f +5e74294b681e697c2b708f3176872d7b9034697c2b76872d6b852c60832a7b9034 +6b852c708f31708f31656c26697c2b68752b55582447581f4c5026576a1f3f4e1e +2f3c22333522383c233a44233a4423333522272c1f24261c24261c272c1f272c1f +24261c24261c24261c1e241b272c1f2b332247581f47581f49601f5e7429778746 +76872d76872d8c98538b90338ea0598c98537b903486874a6b852c7f97535f7b2a +61834547581f47583249601f6b854549601f576a1f4b681e3f4e1e4758323f4e1e +49601f5e7429697c2b697c2b76872d8b90338b903376872d5e74295e742960832a +5e74295e7429697c2b5e742987872c7b90347b90348b90338c98357b903476872d +697c2b76872d76872d8c983586874aa0a03a8b903376872d76872d757b2d7b9034 +8e9f3b8c983576872d6b852c697c2b708f316b852c697c2b576a1f556024556024 +304321656c26697c2b55602468752b574f2675704db1b06968752b697c2b697c2b +5e7429656c26697c2b68752b3f4e1e3f4e1e556024555824757b2d6b852c76872d +4b681e76872d76872d60832a6b852c76872d4b681e6b852c708f31697c2b47581f +3f4e1e4b681e6b852c6b852c8b90337b903476872d555824342d1f272c1f342d1f +24261c24261c24261c333522383c235e742947581f49601f76872d6b852c76872d +7b90348b903386874a87872c8b90339fa0568c983568752b8b90338e9f3b8c9835 +68752b576a1f7b90347d973676872d576a1f576a1f576a1f76872d8c983568752b +576a1f757b2d76872d68752b6b852c76872d7b9034576a1f5e742960832a547428 +2f3c22272c1f2b33222f3c223a442347581f5e742976872d68752b4c50266b852c +8b903368752b87872c656c265560243f4e1e5474284b681e344d1e2f3c22272c1f +2b3322576a1f5e7429576a1f49601f5e74294b681e5560243f4e1e4b681e49601f +3a4423344d1e5560245560245558243a44233f4e1e3f4e1e3f4e1e47581f576a1f +5e74294b681e5f7b2a76872d6b852c656c265558243a4423697c2b68752b4c5026 +76872d7b9034757b2d757b2d76872d7c9053656c26656c264960327b9034708f31 +7d973676872d7d97367d97367b9034708f31708f31697c2b68752b76872d556024 +344d1e49601f7b9034697c2b5560243f4e1e49601f5f7b2a5e74293f4e1e5f7b2a +4960323f4e3249603254605f3f4e32496032627444547443344d1e567f3a547443 +547443657c446183454b69335474285f7b2a6274443f4e323d5f254960322f3c22 +3d573b3d5f25344d1e41671b576b332f3c222a34382f3c223c5822567f3a4b6933 +4b69335474434b681e344d1e3c58224758324960323043212f3c222f3c22304321 +54744341671b3f4e1e354c31262e353335222f3c223043214960325e74294b6933 +47581f6b854576872d6b852c5f7b2a5f7b2a5f7b2a6b852c6b852c5e74294b681e +5f7b2a49601f47581f657c44576b33627444666b3b7787466b852c8e9f3b80a03b +8ea83e7197326b852c5f7b2a60832a708f31729e34729e3491af4960832a6b852c +80a03b80a03b91af49819f597197534b681e657c44708f31657c444b681e576a1f +5474286f8f5260832a5f7b2a41671b708f3171973260832a3c58222f3c222f3c22 +557f225f7b2a6b854549601f496032656c267b90348e9f3b708f317197326b8545 +3c582249601f60832a3d5f253d5f252f3c22262e35272c1f272c1f2b33222b3322 +2b33222b33222b3322272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f2f3c222f3c223d5f25697c2b76872d8e9f3b76872d6b852c697c2b +5f7b2a5f7b2a6b852c76872d576a1f76872d8c98357b9034576a1f8e9f3b80a03b +8c9835708f315e7429656c2687872c697c2b5560244c502647581f47581f4c5026 +3f4e1e4c50263a44233335222b3322383c23342d1f272c1f24261c24261c24261c +1e241b24261c1e241b272c1f272c1f272c1f3a4423576a1f5e7429697c2b697c2b +87872c7787468e9f3b8c98538e9f3b8ea0598c98538b90338ea0598b90335e7429 +576a1f47581f55602447581f5e7429576b335e74294b681e496032576b334b681e +697c2b697c2b576b335e74297b90348c98537b9034697c2b47581f576a1f3c5822 +576a1f4b681e3f4e1e49601f68752b5e7429697c2b7b90347f97537b9034576a1f +5e74295f7b2a7b903492a7598c98358c985376872d6b852c76872d5474288c9835 +8c9835697c2b757b2d7b9034757b2d76872d5f7b2a6b852c5560243f4e1e4c5026 +47581f5560245560243a4423697c2b656c26766e2d9fa8579fa056697c2b697c2b +4b681e6b852c697c2b6b852c68752b68752b76872db2a8569fa85768752b6b852c +697c2b697c2b5f7b2a76872d76872d5f7b2a6b852c76872d6b852c76872d383c23 +2f3c22576a1f556024697c2b697c2b757b2d68752b3a4423342d1f272c1f24261c +24261c24261c24261c342d1f3335224c50263043213f4e1e576a1f6b852c76872d +708f317d97369f98358b90338b90339f983576872d76872d7b90348c98357b9034 +76872d576a1f76872d697c2b5e742955602468752b576a1f76872d6b852c6b852c +697c2b697c2b76872d68752b697c2b708f31697c2b47581f47581f5e74294b681e +304321342d1f333522383c23574f26555824576a1f576a1f697c2b68752b708f31 +8b903387872c87872c6660334c50263f4e1e49601f49601f2f3c222f3c222b3322 +3335225560246b852c576a1f3a4423576a1f576a1f68752b576a1f576a1f576a1f +656c26576a1f656c265e742987872c47581f47581f708f3160832a49601f344d1e +6b852c87872c7b90345560244c502668752b757b2d757b2d68752b7d973676872d +8e9f3b8c9853767b47656c268c98538e9f3b7d9736697c2b7b90347f9753708f31 +7d97366b852c76872d7d97368c98537b90346b85455f7b2a3f4e1e576a1f656c26 +47581f49601f60832a7b90346b852c576a1f60832a76872d697c2b576a1f5e7429 +3d5f253c58224758323f4e32475832657c446f8f52567f3a576b33697c2b547443 +354c3141671b4973234973235f7b2a60832a3c58223043213f4e323043212b3322 +3f4e323d5f2541671b4973233d5f253043212a3438272c1f354c313d5f253c5822 +3a4423354c314b69333d573b3d573b3c58223c58223d5f255f7b2a576b33547428 +6274443a44232a34382f3c222a34382f3c223043214758326274446b852c5e7429 +49601f76872d7d97366b85454973236b852c6b852c697c2b68752b6b8545576a1f +708f315e74295e742976872d47581f576b335f7b2a778746656c268c985380a03b +80a03b8ea83e7d9736708f3191af499eb74c80a03b91af498ea83e4b693380a03b +60832a708f3171973280a03b5e7429697c2b719753708f3141671b60832a708f31 +4b681e7d9736547428708f31708f31708f31708f313d5f25354c31304321547428 +7d97367d97365f7b2a4b681e3d5f2549601f778746708f317b90345e74293d5f25 +344d1e3043216274443c58222f3c222f3c22272c1f272c1f2b33222b33222b3322 +262e352b3322272c1f272c1f2f3c222b33222b33221e241b272c1f2b33221e241b +2f3c22304321344d1e4b681e576a1f5e74295e74297d97366b852c5474285e7429 +7b90346b852c5f7b2a697c2b5f7b2a708f3176872d76872d7f97538ea059778746 +76872d8b90336b852c766e2d8b903368752b576a1f576a1f576a1f556024576a1f +47581f47581f383c23383c23272c1f272c1f272c1f1e241b24261c24261c24261c +1e241b272c1f333522344d1e272c1f24261c272c1f3f4e1e697c2b7d9736aeb84e +b0b86c9fa857a1af4eb1af4d9fa0568e9f3b8ea0597b90346b852c697c2b47581f +576b33656c26576b33697c2b767b47656c2649601f49601f5e7429576b3376872d +7b90345e742947581f657c4476872d76872d778746576b33344d1e5e742947581f +47581f5558242f3c223a442347581f3f4e1e49601f697c2b7b903476872d697c2b +4b681e576b3392a7598e9f3b8c98358e9f3b76872d4b681e5f7b2a5560245e7429 +5e74295e74294b681e76872d7b90347b9034697c2b656c26757b2d68752b556024 +555824656c26656c26656c2676872d767b475560248b90559e985368752b5e7429 +557f2254742876872d76872d8c98357d9736aea886b0b86c9fa0566b852c76872d +697c2b76872d697c2b49601f5f7b2a656c265f7b2a576a1f47581f3f4e1e383c23 +3f4e1e576a1f3f4e1e383c2347581f76872d8c9835555824342d1f342d1f24261c +342d1f24261c272c1f3335223335224c502647581f68752b5e7429697c2b5e7429 +68752b697c2b7b9034a0a03a8c98358b90336b852c8b90337b90348b90337b9034 +757b2d5560243a4423383c23383c233a4423556024697c2b8b90335e742949601f +5e74296b852c76872d76872d697c2b8c98355e74293a44232f3c22383c233f4e1e +4c50262f3c222b3322556024887b2c87872c8b9033757b2d766e2d8b903376872d +84712f87872c887b2c656c26656c26576a1f4b681e3a44233335223335223a4423 +2f3c223f4e1e656c2655602449601f68752b68752b55602447581f47581f555824 +4b681e76872d697c2b697c2b7b90346b852c60832a76872d8c98355560243a4423 +576a1f68752b4b681e5e74295e7429556024757b2d556024576a1f8c985376872d +708f317787467787467787467c90538e9f3b7787466b8545778746697c2b778746 +697c2b7c90537d97368c98357b90346b852c708f3177874654742849601f697c2b +6b852c576a1f4b681e6b852c697c2b697c2b697c2b7b903476872d76872d6b852c +3d573b354c313c58223f4e323d573b547443708f316f8f525474286b8545657c44 +3d5f254b69334b69336183455f7b2a354c313043213043212a343830444d344d1e +344d1e4b69334b69335474283d5f253d5f253043212f3c22475832497323567f3a +3d5f254b681e3c5822354c312b33222b33223043213f4e324b69335f7b2a5f7b2a +576b333043212f3c22333522304321394446383c233043213a44236b85455e7429 +4b69335e7429697c2b656c26576b3376872d697c2b3f4e1e4758322f3c22496032 +6b8545697c2b697c2b76872d49601f697c2b60832a697c2b697c2b8c9853a1af4e +8ea83e91af498ea83e8ea83e80a03b708f31557f22708f3141671b3d5f2560832a +708f31708f316b852c708f31708f316b852c576b3349601f4b69335f7b2a3f4e32 +6183457197323d5f25567f3a497323547428697c2b5f7b2a4b681e4b681e576b33 +7d97366b85454b681e76872d557f2260832a7b90345f7b2a547428496032304321 +2b3322262e35262e35272c1f272c1f262e352f3c22272c1f272c1f272c1f272c1f +1e241b272c1f272c1f272c1f262e352b3322272c1f272c1f272c1f272c1f272c1f +2b33222f3c223043217b90347d973676872d60832a76872d7b9034708f3176872d +5f7b2a5e742949601f47581f5f7b2a708f31708f317b9034a0a03aa1a73c7b9034 +7b9034656c26766e2d76872d87872c556024656c265560243a44233a442347581f +555824576a1f47581f3a442347581f3f4e1e33352224261c24261c24261c272c1f +272c1f3c582247581f2f3c2224261c24261c24261c2b332247581f76872d8b9033 +87872c87872c8c98538c98538c98358ea0598c98538b903387872c8b9033697c2b +697c2b7787465f7b2a6b852c5e74295e74295e74295e74295e7429576a1f5f7b2a +576b33576b33697c2b5e7429576b33697c2b86874a9e9853656c26556024656c26 +68752b4c5026333522342d1f3a44233a44233f4e1e576b33697c2b5f7b2a5e7429 +47581f5e7429697c2b4b681e76872d7d973649601f49601f60832a4b681e5e7429 +708f316b852c49601f697c2b76872d6b852c697c2b7b9034757b2d697c2b576a1f +4e44254c502647581f49601f7b90345560243f4e1e576a1f86874a68752b4c5026 +6b852c6b852c68752b5e742968752b76872d7b90348c983576872d76872d76872d +5e742976872d49601f344d1e4c5026697c2b656c263f4e1e4c5026383c234e4425 +47581f3f4e1e342d1f2b3322383c238b90338ea059576a1f3a442324261c24261c +24261c2b33223f4e1e767b47656c26766e2d576a1f656c2647581f576a1f576a1f +757b2d7b90347b90348c9835a1a73c8c983576872d708f3176872d5560244c5026 +3f4e1e3335222b33223a442347581f5f7b2a76872d697c2b76872d697c2b656c26 +656c265e74296b852c76872d6b852c6b852c344d1e272c1f3335222b33222b3322 +383c233f4e1e333522383c23656c269f90359788348b90339788349f98359f9835 +97883468752b87872c8b90335e742949601f4b681e383c232b33223335224c5026 +47581f656c26697c2b76872d576a1f87872c76872d576a1f5e742976872d556024 +3f4e1e576a1f555824576a1f5e7429576a1f7d97368e9f3b76872d76872d304321 +47581f49601f4b681e6b852c7b903449601f656c265560245f7b2a7d97368c9835 +708f317d97366b852c8c98537d97367b903460832a4b681e5f7b2a708f315f7b2a +6b852c76872d708f317b903476872d5f7b2a5e7429697c2b576b335f7b2a6b852c +76872d76872d5560243c58225f7b2a60832a5e74295e74297b903476872d708f31 +354c31354c313f4e323043213043214b69336f8f526183454960325e74297c9053 +697c2b6f8f524b681e3c58224960322f3c222e3c442f3c222b33223043214b6933 +4b69334b69333d5f253d5f2549601f4960324b69333d5f25304321344d1e4b681e +49603249603247581f354c312f3c222f3c22304321354c31354c313f4e32354c31 +3f4e1e49603256603a2f3c223a44235f6156656c266b8545576b336b8545697c2b +6b854547581f60832a5f7b2a576a1f4b681e5f7b2a3f4e322f3c2249601f576a1f +3a442347581f76872d7787463f4e1e5f7b2a5f7b2a697c2b7787467b90346b852c +627444697c2b5f7b2a8ea83e729e3471973271973241671b41671b41671b708f31 +7197325f7b2a3c58224973235f7b2a3d5f25547428576b333f4e1e576a1f304321 +5e742949601f3c5822344d1e3c58223f4e1e4960325e742941671b3c582247581f +76872d697c2b6b852c49732341671b6b852c7197327d97366b852c6b852c3d5f25 +2f3c222b3322272c1f1e241b1e241b272c1f2f3c222b33221e241b272c1f272c1f +1e241b272c1f1e241b1e241b272c1f1e241b272c1f272c1f272c1f272c1f272c1f +2b33223a44232f3c2247581f8c9835708f316b852c7b90348c983580a03b6b852c +5e74295f7b2a5474285f7b2a6b852c6b852c8b90338c985377874686874a76872d +697c2b656c268b903376872d8c9835656c265560244c50263335224e4425576a1f +4b681e3c5822576a1f6b852c6b852c5e7429576a1f3a4423383c23333522333522 +47581f5558243a4423272c1f272c1f2b3322272c1f2b332249601f7b90347b9034 +7b90347b90348c98538b9033a0a03a9fa85776872d8ea0598e9f3b7c9053757b2d +5e74296b8545555824656c265560246b8545697c2b7787465560246274444b681e +556024556024767b4768752b47581f656c265560249e98539e9853766427778746 +4e4425383c23333522272c1f333522383c234b681e49601f47581f5e74295f7b2a +3a44233f4e1e344d1e475832666033556024576a1f47581f576a1f5e74295e7429 +76872d49601f47581f6b852c6b852c3a4423697c2b656c26556024666b3b3f4e1e +3335222f3c222b332249601f6b852c656c26556024657c44697c2b86874a4c5026 +656c266b852c4b681e5560245e742976872d757b2d7b90344b681e5e7429576a1f +68752b8c9835697c2b5e7429757b2d87872c656c263335222b33222f3c223f4e1e +656c2647581f3043213043213f4e1e86874a8b9033556024383c2324261c272c1f +33352275704d9ea88eb1b069aea88684712f656c26697c2b68752b4c50266b852c +8c98358b90338b90338e9f3ba0a03a8e9f3b8c983576872d68752b3f4e1e2b3322 +2f3c2247581f5e74296b852c708f3176872d76872d76872d76872d5e742949601f +2f3c2247581f697c2b7b903476872d49601f383c23383c23272c1f2b3322333522 +3a44233f4e1e3043213f4e1e576a1f656c2687872c9f9035a0a03ab1a03d9f9835 +9f9035757b2d757b2d5558243a44235560245560243a4423383c23555824576a1f +576a1f576a1f8c98358c983568752b697c2b68752b697c2b6b852c697c2b47581f +344d1e344d1e47581f656c263f4e1e47581f697c2b6b852c5e7429656c2647581f +76872d49601f3f4e1e3f4e1e5e742949601f3f4e1e4b681e7b90348c9835656c26 +49601f708f31656c266b85457b90347b90346b852c3c58225e74298c9853697c2b +697c2b708f317d97367d97367b903460832a68752b666b3b3f4e1e47581f656c26 +6b852c576a1f576a1f49601f6b852c708f31697c2b5f7b2a5e7429656c265e7429 +304321354c313f4e323a44233944463d573b60832a567f3a3043214758326f8f52 +557f226b852c618345697c2b4b681e5558243043213043213335224758323f4e32 +354c313f4e32394446354c313c58222f3c223f4e323f4e322f3c22394446344d1e +3a4423304321304321354c313a44232f3c223f4e323f4e1e4960324b681e576a1f +4b681e4960324758323a44232f3c22383c23666b3b49601f344d1e5e74297c9053 +49601f4b69335e74293f4e322f3c22475832697c2b354c313f4e1e657c4447581f +354c31576a1f697c2b3f4e322b3322576b335f7b2a4b681e576a1f576b33576b33 +8c98355f7b2a6b8545729e3460832a6b852c719732557f22557f22729e3480a03b +76872d819f5947581f7d973680a03b49601f576a1f4973233c58222f3c22497323 +557f223d5f253c582241671b5f7b2a4b681e344d1e3d5f25576b334b681e76872d +80a03b697c2b7c905360832a557f226b852c557f2249601f5f7b2a7d973660832a +6b85452f3c223043213043211e241b272c1f272c1f272c1f272c1f272c1f272c1f +272c1f1e241b272c1f272c1f1e241b2b33221e241b1e241b1e241b272c1f272c1f +2b33222f3c223a44232f3c225560246b852c49601f5e7429697c2b697c2b5f7b2a +49601f3c58225e7429557f2276872d7b9034778746666033656c26766e2d86874a +656c26887b2c8b90338c98537d973668752b5560244c50263f4e1e3a44233f4e1e +656c26697c2b757b2d87872c7b9034757b2d697c2b697c2b68752b576a1f3f4e1e +3f4e1e2f3c222b332230432149601f49601f556024757b2d76872d8b903376872d +8c98358c98358c98358c98539fa8579fa8578c98538ea0598c98355f7b2a697c2b +778746576a1f68752b697c2b5560245e74295f7b2a778746576b33576b3347581f +3f4e1e47581f6660333a44234c5026627444576b339a91788c985366592c556024 +656c265558246660333335224e4425574f264c5026344d1e47581f30432147581f +49601f383c232f3c222f3c223335223f4e1e5e742949601f3f4e1e3c5822576a1f +5e74295e7429576a1f697c2b5f7b2a3a44233c58223f4e1e3f4e1e47581f47581f +5560244c50263a4423576a1f656c264b681e47581f576a1f47581f86874a767b47 +555824556024697c2b6b852c6b852c6b852c6b852c76872d5e7429576a1f6b852c +576a1f76872d6b852c5e742976872d666b3b5558244c502647581f5e74296b852c +6b852c576a1f3f4e1e576a1f576a1f8b9033757b2d3f4e1e342d1f342d1f2f3c22 +3f4e1e8c9853b0b86cada17fb0b8a3957c2f6b852c76872d555824383c2368752b +68752b87872c757b2d757b2d757b2d87872c757b2d5e742968752b3f4e1e2f3c22 +47581f6b852c60832a708f31708f3176872d7b903476872d76872d6b852c3f4e1e +304321697c2b5f7b2a697c2b4c50263a442347581f383c2324261c2b3322304321 +4c50262f3c22344d1e547428576a1f68752b87872c9f98359f9035887b2c757b2d +76872d5560243a44233f4e1e3a44233a442347581f3a44232b33223f4e1e68752b +5e74297b90348ea83e8e9f3b8c98357b9034656c2655602449601f697c2b576a1f +55602476872d76872d556024656c268e9f3b7b9034697c2b5e742947581f4b681e +4b681e49601f49601f30432149601f5f7b2a576a1f6274446b852c8c9835656c26 +3f4e1e6f8f5276872d708f317f9753697c2b5f7b2a7b90348ea83e7f97536b852c +60832a7b90347f975380a03b6b852c5f7b2a49601f3f4e1e2f3c22344d1e576a1f +5e74295f7b2a6b852c6b852c576a1f4b681e5e74294b681e5e742949601f49601f +304321354c313d4f563043212f3c2230432147581f4758322f3c22304321547443 +719753708f31576b335f7b2a6b85457b9034697c2b757c71627444627444496032 +3a44233335222b3322354c31354c312b3322272c1f262e35272c1f272c1f383c23 +3335222f3c223f4e323f4e322f3c22262e35333522262e352b3322383c232f3c22 +2a34383043214758324758323a44232f3c223d573b3d5f2547583247581f697c2b +767b47778746697c2b576b3355602476872d76872d5560243f4e323a44233a4423 +3f4e323335222f3c222f3c223335223a442347583247581f497323576b336b8545 +6b852c5f7b2a7197536b852c719732708f31729e34729e34729e3480a03b80a03b +5e74297b903460832a8e9f3b80a03b7d973676872d5f7b2a3c582247581f7d9736 +708f316b852c60832a5f7b2a6b852c557f223d5f25708f3171973249601f778746 +6b8545697c2b5f7b2a576a1f576a1f54742847581f5474285474285f7b2a60832a +4b69332f3c222f3c222b332224261c1e241b1e241b24261c24261c1e241b272c1f +24261c24261c1e241b272c1f1e241b1e241b1e241b272c1f1e241b272c1f272c1f +2b33223a44236b852c68752b8c98358c9835576a1f47581f47581f49601f304321 +3043212f3c22344d1e47581f576a1f87872c656c26757b2d757b2d9f98359e9853 +9788348b90339f9835b0a83f8b903376872d9f98358b903387872ca0a03a8b9033 +87872c757b2d757b2d97883487872c656c26766e2d656c26766e2d5558244e4425 +3f4e1e4c5026656c2687872c87872c87872c9f9835a1a73cb0a83fa0a03a8c9835 +b2a8568e9f3b8b90338e9f3b8ea059a1a73c8c98538b903376872d697c2b6b8545 +86874a697c2b7b9034697c2b62744468752b6b852c5e74294b681e55602449601f +656c2649601f344d1e3335223a4423666b3b4c502695885cada17f574f263f4e1e +5558243a4423383c232f3c224c50265558245560245e7429576a1f333522344d1e +47581f3043212b332230432147581f304321576a1f344d1e3043213f4e1e5e7429 +708f3154742854742854742849601f3c58224b681e576a1f697c2b5f7b2a5e7429 +697c2b47581f2f3c2255602449601f76872d68752b757b2d5558248b9080c2b868 +555824555824708f317d97365f7b2a6b852c76872d76872d7b903468752b8c9835 +76872d757b2d6b852c47581f6660335558244c50263335222f3c2249601f47581f +5e74295e7429576a1f697c2b555824656c26757b2d5560243335222b33222f3c22 +3a442386874a8b905576872dc0b197c2b86887872c556024333522342d1f333522 +333522574f26604f2a4e44254c5026383c234e44255e7429708f31556024333522 +2f3c223f4e1e47581f6b852c68752b6b852c5e74296b852c6b852c697c2b4b681e +47581f6b852c576a1f3f4e1e272c1f272c1f272c1f2b332247581f49601f5e7429 +49601f5560244b681e697c2b49601f5e7429697c2b5e7429576a1f68752b656c26 +757b2d3a4423383c23383c232f3c223a44233f4e1e3a4423383c23576a1f76872d +7d97368e9f3b7b9034697c2b5e742968752b68752b55602468752b8b903376872d +8c98358e9f3b8b9033757b2d7d97368c9853656c26697c2b47581f344d1e555824 +68752b697c2b708f31576a1f344d1e3c5822576b335f7b2a5e742976872d86874a +697c2b7b90347b903476872d60832a76872d60832a708f3192a7598b903360832a +5f7b2a708f317b903476872d76872d60832a47581f2f3c223c58223d5f255e7429 +76872d697c2b7b903476872d5e7429576a1f576a1f576a1f60832a576a1f49601f +2f3c223944463f4e1e2f3c224e50433d573b496032475832383c232e3c443f4e1e +4b69335474283d5f25657c44557f225f7b2a5e742968752b7c905392a7597b9034 +576b3347581f47581f3d5f25354c31304321262e35272c1f3043214b6933496032 +304321333522394446344d1e373e43272c1f272c1f272c1f342d1f2b33223f4e1e +4b681e697c2b496032475832354c313a442349601f3d5f25304321304321475832 +4960326b854568752b3c58225e74295e7429657c44383c23272c1f2b3322272c1f +2f3c222b33222a343847583247581f3335222f3c22576b334b681e3f4e1e47581f +3d5f2549601f497323708f31729e34719732557f226b852c719732708f314b6933 +6b852c8ea83e719732557f2260832a3d5f253d5f25344d1e3043213f4e1e8ea83e +708f315f7b2a60832a60832a60832a5f7b2a4b681e5e74293d5f255474287d9736 +7b903492a7597197327b90347b90344973233a4423576a1f708f31697c2b576b33 +2f3c222b33223043212a343824261c24261c24261c24261c272c1f24261c272c1f +272c1f272c1f272c1f1e241b272c1f272c1f272c1f272c1f2b33222f3c222b3322 +2b33222f3c2255602476872d76872d8b9033697c2b6b852c5e74295560243f4e1e +2f3c223335223f4e1e47581f66603384712f87872c9e98539f98358b90339fa056 +b1a03dbfb04dbeb751cdb85ebfb04da1a73cb1af4dbeb751cdb85ec2b868beb751 +c2b868bfb04dbfb04dbfb04db1a03db1a03d97883487872c9f9835c0a8459f9835 +a0a03ab2a856bfb04dc1b064d0c074d1b876d1b876d0c074dcc17fdcc17fcdb85e +c2b8689fa8579fa0568b90337c90538e9f3b8b90558c9853697c2b697c2b697c2b +6b852c68752b6b852c5f7b2a5e742956603a656c26697c2b656c264960323f4e1e +49601f5560242f3c22383c23333522383c23383c23565838857d674e44253a4423 +3a44233335223a4423333522383c234c502668752b5e7429555824383c233a4423 +30432149601f3c58224b681e3f4e1e344d1e5e7429344d1e3f4e1e76872d6b852c +5e7429557f22576a1f49601f3f4e1e4b681e576a1f6b852c556024576a1f3c5822 +49601f556024304321383c233f4e1e576a1f576a1f656c26574f2675704dc2b868 +8b9055556024576a1f576a1f697c2b76872d5f7b2a7b903476872d76872da0a03a +8e9f3b757b2d76872d556024757b2d7664273f4e1e2b332233352247581f3a4423 +5e7429697c2b697c2b68752b576a1f55602447581f3f4e1e5e74293a44232f3c22 +2f3c227787468c9853697c2b9e9853b2a0538b90554436232b3322272c1f272c1f +272c1f333522443623443623383c23383c2333352249601f76872d76872d3a4423 +383c233335223335223a4423556024656c26556024576a1f576a1f5560243a4423 +47581f6b852c697c2b576a1f3335222f3c222f3c224b681e708f316b852c60832a +5f7b2a576a1f47581f47581f3a442330432149601f4b681e49601f5e74295f7b2a +5e74292f3c222b3322272c1f272c1f383c2347581f576a1f656c2676872d7d9736 +8ea83e8ea83e7b90346b852c7f975376872d4c502647581f6b852c76872d697c2b +7b9034697c2b8b903368752b576a1f576a1f47581f3f4e1e5558243a4423383c23 +3a442347581f576a1f555824344d1e697c2b6b852c6b852c6b852c7d97367d9736 +60832a6b8545576a1f7b90345f7b2a6b852c5f7b2a7197327d973677874668752b +5f7b2a6b852c5f7b2a708f31656c265e7429576a1f3c58223c58225e74294b681e +5e7429697c2b7b90347b90346b852c76872d6b852c5474284973235e7429576a1f +383c2330444d3d5f25354c31354c313a44234758324758323c5822304321576b33 +60832a497323618345708f315f7b2a3c5822576b336b852c6b852c7787466b852c +5e74294973235e74294b681e3d5f25304321354c313c5822576b334960322e3c44 +3335223a442347581f49601f4960322f3c22262e35272c1f262e35304321547428 +576b334b6933344d1e3a44232f3c223f4e1e4960323f4e1e3d573b3d5f253c5822 +576b338ea0598ea0596b85454b681e4758322f3c22333522304321496032304321 +4758323335223043215f7b2a47581f2f3c223043213f4e323f4e1e344d1e3f4e1e +49601f3c58225f7b2a80a03b91af49719732708f317d973680a03b6b852c60832a +76872d7d9736719732576a1f60832a3c58223d5f25557f223c5822576a1f91af49 +60832a60832a6b852c7d97367b90347d97367197324973235e742976872d80a03b +5f7b2a5474284973233c58223c58225e74295e7429657c443f4e1e3335222b3322 +3335221e241b262e35342d1f24261c24261c24261c272c1f24261c272c1f272c1f +272c1f272c1f272c1f2b33222b33223335222f3c223f4e1e3a442355602447581f +4c5026656c268b90338b903387872c6b852c6b852c757b2d697c2b555824556024 +2f3c222f3c22757b2d8c9835b2a856b2a856b2a856b1b069c1b064d1b876cdb85e +d0c074d1b876d0c074d0c074d4cb83d4cb83e0c492d4cb83e0c492d4cb83d4cb83 +e3cc97d4cb83e3cc97e3cc97e3cc97dcc17fd4cb83dcc17fd4cb83d0c074dcc17f +dcc17fe0c492d1b876d1b876d1b876d0c074d0c074c1b064c2b868c1b064c1b064 +b2a8569fa8579e98538b9033767b4768752b6b852c76872d657c445e7429576b33 +627444697c2b657c444b681e576b3368752b576b33576a1f3f4e1e55602449601f +4c50263f4e32383c23383c232b3322383c23383c2356603a7787463f4e1e333522 +3335223335222b33222b33223335224e44255558245558245560244c5026333522 +272c1f2b332247581f30432130432130432154742830432130432149601f76872d +6b852c3d5f253c5822344d1e49601f3d5f2541671b4b681e344d1e576a1f47581f +4b681e4b681e3f4e1e3f4e1e5e7429576a1f68752b5560244c5026373e438b9055 +86874a656c266b852c5e7429697c2b7b903476872d7d9736697c2b757b2d8c9835 +8c9853576a1f697c2b556024666b3b383c23342d1f3a44239f91548b9033555824 +656c26556024697c2b757b2d656c266b852c697c2b68752b8b90334c5026333522 +55582468752b7b903476872d55602476872db2a856766e2d383c233f4e1e576a1f +3f4e1e342d1f3335224436233335224c50264c502668752b8c983568752b4c5026 +383c232b33224436233335223335222f3c223a4423383c23333522304321333522 +47581f3f4e1e383c23383c233f4e1e3a44234b681e708f316b852c6b852c6b852c +5e7429697c2b4b681e3f4e1e3f4e1e49601f4b681e697c2b5e74296b852c5f7b2a +47581f2b33222b33223043214c5026574f26656c2666603376872d8c983587872c +757b2d76872d697c2b576a1f76872d76872d576a1f697c2b76872d76872d7d9736 +7b903476872d68752b576b33576a1f5f7b2a6b852c6b852c68752b656c26383c23 +2f3c22344d1e6b852c3043214b681e697c2b6b852c60832a60832a8c9835708f31 +7787467b9034708f317c90538e9f3b697c2b5f7b2a6b85457d97366b852c7b9034 +7787467787466b852c6b852c576a1f576a1f5f7b2a49601f30432147581f68752b +4b681e5e742976872d6b852c697c2b757b2d576a1f3f4e1e344d1e547428656c26 +333642344d1e4b69333d573b3f4e323d573b4960324b69335f7b2a4b69336b8545 +6b852c567f3a657c44708f314758322e3c444b681e6b85454960324b6933547428 +5f7b2a3f4e323d5f25547428547428576b334b681e4960323c5822304321304321 +3c5822557f22708f31708f31547428354c312f3c22373e432f3c22496032576b33 +3f4e1e304321344d1e4758323f4e323d573b304321344d1e344d1e3f4e32627444 +7c9053a1af4e8ea0597b90346b854547581f3f4e1e5e74295f7b2a4b681e5e7429 +576b333f4e1e4b693360832a5f7b2a4b681e3d5f2547581f3f4e323f4e32576b33 +627444576b336b852c71973280a03b91af498ea83e80a03b80a03b729e34618345 +3c5822697c2b719732497323708f314973233f4e1e344d1e5f7b2a7d9736708f31 +576a1f708f31708f3180a03b7b90347b90347197325f7b2a80a03b7b90345e7429 +4b681e3c58223d5f25383c2355602449601f3335222b3322272c1f24261c272c1f +262e35272c1f1e241b24261c24261c262e35262e352b3322262e352b3322333522 +2f3c223a44233043213a44233a44234e44254c5026666b3b766427757b2d887b2c +86874a9f9035c1b064c4bf65b1af4d8b903368752b576a1f47581f4c502668752b +697c2b6b852c76872da1a73cd4cb83d4cb83e0c492e3cc97e3cc97e3cc97e3cc97 +e3cc97e3cc97e3cc97e3cc97e3cc97e3cc97e3cc97e3cc97e3cc97e0c492dcc17f +dcc17fd0c074cdb85ec2b868c4bf65cdb85ec1b064cdb85ed1b876cdb85ed8c291 +cdb85ecdb85ebfb04dc0a845c0a845c2b868beb751b1af4d9fa056a1a73cb2a856 +b2a8569fa0568c985376872d68752b49601f55602462744447583249603249601f +576a1f77874647581f47581f5e742947581f6274444758322b3322576b334c5026 +3335223335223335222f3c22344d1e5e74294c50263f4e1e75704d4e44252f3c22 +3043212f3c222b33222f3c223a44237664275558243f4e1e556024555824272c1f +2b33223335222b3322383c23333522383c23697c2b2f3c222b3322556024697c2b +5f7b2a304321304321344d1e656c263f4e1e49601f344d1e3f4e1e3c5822344d1e +344d1e576a1f5e74295e7429656c26556024666033383c23272c1f333522766e2d +8b9055757b2d76872d47581f47581f556024344d1e47581f47581f68752b76872d +8471444e44254c5026555824443623272c1f4e44258b905595885c9e9853867c4c +757b2d68752b76872d76872d76872d7b9034656c26697c2b87872c5558243f4e1e +576a1f87872c8c9835656c263f4e1e8b90338ea059b0b86c9fa056757b2d68752b +6660335558244c5026656c2686874aa0a03a8b90338b9033766e2d3a4423574f26 +333522272c1f2b3322383c234c5026383c232b33223a44232b3322272c1f333522 +47581f3043213335222b33224b681e3f4e1e47581f576a1f5e74296b852c6b852c +6b852c576a1f54742860832a5f7b2a6b852c5e7429697c2b697c2b5f7b2a5f7b2a +4b681e2f3c225560245e74295e7429766e2d576a1f576a1f8c98358c983576872d +757b2d576a1f556024697c2b576a1f76872d7d97367b90346b852c656c2676872d +576a1f68752b576a1f76872d6b852c76872d5f7b2a5f7b2a5f7b2a76872d68752b +556024383c2347581f4b681e8ea83e5f7b2a4b681e76872d7d97365e74297b9034 +7d9736778746697c2b697c2b6b852c6b852c576a1f5e74296b852c76872d778746 +68752b6b852c657c444b681e4b681e5e742954742849601f3f4e1e2f3c22556024 +5e74296b852c76872d6b852c8b903387872c55582449601f49601f557f2276872d +2a34383d573b60832a3c58223d5f253d5f253c58225e74295e74295474283c5822 +4b6933657c44557f22576b333f4e1e354c31576b334b693349601f567f3a547428 +5f7b2a4b681e49601f6274443d5f255f7b2a576b3349601f4b69333c5822497323 +76872d76872d80a03b6b852c47581f354c31657c447c9053819f597d9736778746 +5474284960323c58223043212f3c224758324960323f4e32344d1e3f4e1e657c44 +8ea059a1af4e8c98358ea83e80a03b708f31708f316b852c47581f49601f496032 +3043213043214960326b852c708f3149601f354c313f4e1e576a1f47581f475832 +2f3c223f4e1e708f318ea83e91af498ea83e719732729e3480a03b708f31497323 +3c5822557f223d5f25497323708f314b681e304321344d1e49732376872d80a03b +7d97365f7b2a80a03b7d9736656c264b681e76872d719732697c2b697c2b6b8545 +76872d557f225f7b2a3f4e1e656c2647581f2f3c22262e35272c1f24261c272c1f +24261c24261c262e35272c1f272c1f342d1f2b33222f3c224e44253a44233f4e32 +574f26556024656c26556024767b478b9055b2a856c1b064b1b069c2a85ecdb85e +cdb85ed0c074e3cc97d0c074c4bf65757b2d656c26766e2d66592c555824757b2d +656c2687872c68752b86874a9e9853b2a856e0c492e3cc97e3cc97dcc17fdcc17f +dcc17fd1b876dcc17fdcc17fdcc17fdcc17fd1b876d1b876d1b876d1b876d0c074 +d0c074bfb04db2a856c1b064b2a856c1b064b1a03db2a053c2b868d0c074cdb85e +c1b064b2a856bfb04dbfb04db1af4dc2b868bfb04db1b069b1af4db1af4db1b069 +9fa0569fa0568b9033778746757b2d757b2d49601f4b681e344d1e4b69335e7429 +5e74296b852c47581f627444576a1f576b33576a1f576a1f5e74295558242f3c22 +3043215f7b2a5e74293c58223c58223c58223a44233a4423666b3b4c50262f3c22 +383c233a44234c50264c50263a44234e44254c502649601f47581f49601f3c5822 +3c5822344d1e2f3c223a44232f3c223043213f4e1e344d1e304321344d1e576a1f +5560242f3c222b332247581f3f4e1e333522344d1e3043213c58223f4e1e3a4423 +3a4423576a1f68752b757b2d8b903355602468752b656c2647581f496032767b47 +9fa857757b2d87872c576a1f4c5026344d1e333522383c232f3c22555824656c26 +697c2b574f265558244c5026272c1f4e44258c985395885c9e9853b2a053957c2f +757b2d757b2d757b2d8b90338b903376872d556024656c268c9835766e2d76872d +5560248c983587872c766e2d86874a8c98358c98359fa8579fa8578c9853b1b069 +c0b8a6b2a8569fa0569e9853a0a03a9f98359f9035656c26666033342d1f342d1f +2b3322383c233a4423757b2d656c2649601f55582486874a7787463f4e1e333522 +47581f3f4e1e2f3c22342d1f47581f5560243a44233f4e1e3a44233a442347581f +3c582249732360832a6b852c6b852c697c2b6b852c7b9034697c2b5e7429697c2b +3f4e1e2f3c2247581f47581f656c265560245558248c98356b852c47581f3f4e1e +3a442368752b697c2b576a1f49601f576a1f4b681e76872d5e74296b852c68752b +4c5026576a1f68752b6b852c76872d5f7b2a68752b6b852c5e7429697c2b697c2b +3f4e1e33352247581f6b852c7d97368c98537b90347197536b852c76872d7f9753 +76872d697c2b5f7b2a5e74295f7b2a76872d6b852c708f3176872d708f315f7b2a +6b852c576a1f68752b3f4e1e344d1e41671b5e742949601f47581f4b681e3a4423 +576a1f87872c7b9034576a1f8c9835887b2c47581f5560249f90358b903387872c +2f3c22354c3141671b354c313d5f25344d1e4b69335f7b2a6f8f525e7429547428 +5e74297c905360832a5474285e74296183457787468c9853657c4477874660832a +5474284973235f7b2a4b6933344d1e304321344d1e4b69334758323a4423576b33 +7197325f7b2a6b8545576a1f3c58223043213d5f25697c2b7f97537f97537b9034 +576a1f4b681e3d5f253c58222f3c222f3c223a4423354c313f4e3256603a576b33 +76872d92a7598ea0598ea83e92a759708f317b9034708f315f7b2a576b33344d1e +344d1e3043212f3c22576a1f6b852c4b681e5474285e74296b852c5e7429576b33 +4b69337c90538ea83e80a03b8ea83e719732557f2249732341671b497323497323 +54742860832a708f315f7b2a6b852c708f31344d1e49732376872d5e742980a03b +576a1f76872d6b852c80a03b5f7b2a344d1e3d5f253c58223f4e1e3a4423344d1e +4c50263c5822576b332f3c223335223a4423272c1f24261c272c1f24261c272c1f +272c1f24261c342d1f342d1f2a34383335223335224c5026666b3b766e2d766e2d +87872c9f90359f9035b2a053c4bf65cdb85ed0c074d1b876d0c074c2b868ccb169 +cdb85ecdb85ed0c074cdb85eb1af4d766e2d574f26555824555824443623574f26 +5558244e44254e4425574f26766e2dc1b064d1b876d1b876dcc17fd1b876d1b876 +d1b876ccb169ccb169c2a85eccb169c0a845c0a153ccb169c0a845c2a85ed0c074 +cdb85ebfb04dbfb04db1af4dbfb04db0a83fbeb751beb751c2b868b1b069b0a83f +b2a053b1a03db1af4da1a73cb1af4db2a053b2a856c1b064b2a8569fa857b2a856 +9e98539f98358b903377874687872c778746555824576b335e7429656c266b8545 +697c2b55602449601f576a1f47581f4b681e5e74296b852c5e7429576b333f4e1e +49601f697c2b656c263f4e1e47581f3f4e1e47581f556024656c264c50262b3322 +272c1f2b3322333522383c23304321272c1f2b332249601f3f4e1e576a1f547428 +497323344d1e2f3c222f3c22304321344d1e3a44233043213f4e1e4b681e697c2b +2f3c22272c1f2f3c224b681e3a44232b33223c58222f3c22333522344d1e344d1e +47581f47581f383c23574f268c983587872c757b2d76872d87872c68752b87872c +9e98539e98539f9035656c263a44234c50265560243a4423383c2347581f666033 +555824656c263a44233a442347581f9e98539e98538c98539f91549fa05695885c +656c26556024757b2d8b90338c9835576a1f555824656c267b903468752b757b2d +555824a0a03a8c9835a1af4e8e9f3b9e98538c9835a0a03a9f90359fa056aea886 +b1b069b2a8568c98358e9f3b9f98358b903384712f383c23383c232b3322342d1f +556024757b2d76872d76872d76872d6b852c708f3176872d7b903487872c68752b +4b681e576a1f576a1f556024344d1e3f4e1e68752b656c263a44233f4e1e697c2b +5f7b2a6b852c60832a6b852c6b852c76872d5e74295e742949601f3043212f3c22 +2f3c223a44233f4e1e3c58224b681e3f4e1e47581f6b852c556024383c233a4423 +68752b697c2b49601f3f4e1e3f4e1e383c2347581f49601f5f7b2a68752b4c5026 +576a1f6b852c68752b3f4e1e576a1f5e742976872d76872d697c2b556024576a1f +47581f3a44233f4e1e5e74297d97368c98537d97366b852c6b852c708f317b9034 +697c2b5e74295f7b2a6b852c6b852c5e7429708f3176872d6b852c8c98357d9736 +708f31657c445e74293f4e1e2f3c2249601f47581f344d1e576a1f54742847581f +656c2697883476872d5e74298e9f3b84712f576a1f87872c9788349f90358b9033 +3944463d573b3d573b3d5f256183454b69334b69334b6933778746729e34708f31 +7b90346b85457b903460832a60832a6b852c7c90538c985392a75992a7598ea059 +708f3160832a6b852c60832a4973233d573b344d1e3f4e323c58223f4e1e618345 +719732557f224973234b69335e74294973233d5f253f4e3255582476872d5e7429 +49601f576b3356603a68752b4758322b3322262e352b33222f3c22344d1e5e7429 +92a7597f9753697c2b7f97537b903476872d7c90535f7b2a5474284b681e4b681e +5e74295e7429556024697c2b7d97366b852c76872d656c26576a1f576b33547428 +7d9736729e348ea83e719732708f318ea83e557f2241671b547428547428557f22 +708f3160832a5e74293d5f2549732349601f304321576a1f60832a8c98358ea83e +60832a4b681e41671b8ea83e557f223d5f25557f22557f22344d1e2f3c22354c31 +4b681e344d1e2f3c22262e352b3322272c1f24261c272c1f24261c24261c24261c +272c1f272c1f272c1f272c1f342d1f3335223335224c5026757b2d9f9035978834 +b1a03db1a03dc0a845c2b868cdb85eb1af4db2a856c0a845c0a845c0a845cdb85e +cdb85ecdb85ebfb04dbfb04dc4bf65b0a83f8c983587872c55582455582468752b +656c26656c268b90339f9835bfb04ddcc17fccb169ccb169d1b876b09954887b2c +ad903dc0a153c2a85ec0a153c0a153c0a153c0a153c0a845ccb169c2a85ec1b064 +c3c17ac2b868b2a856b2a0539f9835b0a83fa0a03ab2a856b1af4db1af4db0a83f +c1b064b2a856a0a03a9e9853b0a83fa0a03aa0a03ab2a856a1a73c9f98359fa056 +9e98539f91548b9055757b2d757b2d76642747581f656c26576b33697c2b656c26 +576a1f49601f556024556024576a1f4b69334758323f4e1e4c502647581f68752b +627444556024576a1f3f4e1e55602447581f3f4e1e47581f556024574f26333522 +2b3322272c1f333522383c23304321383c233f4e1e3f4e1e3f4e1e47581f547428 +576a1f5560243f4e1e2f3c2247581f3f4e1e2f3c222b33222f3c2247581f556024 +383c232f3c222f3c223c58223f4e1e342d1f2b3322342d1f272c1f47581f4c5026 +3a44233a44233043215e742976872d7d973676872d68752b49601f757b2d8b9033 +76872d8ea0599e9853887b2c555824656c268b9033766e2d3a44234e3d223a4423 +383c233a4423383c234c50267787468b90559e985387872c87872c9fa0569f9035 +76872d757b2d766e2d5560245558245e742976872d697c2b87872c757b2d9f9835 +8b9055b1b0699fa857a1af4e9f98359fa8579e98539e98539fa056a1a73cb1b069 +9fa056a0a03aa0a03a8e9f3b8c98359f903568752b344d1e576a1f656c26697c2b +8c98538c9835708f3176872d76872d7b903476872d76872d7d973680a03b76872d +68752b3f4e1e4b681e576a1f344d1e576a1f5e7429576a1f576a1f576a1f76872d +708f3176872d60832a5560245e74295e7429576a1f3f4e1e383c233335222f3c22 +3a44233f4e1e3a4423576a1f5e742947581f576a1f68752b47581f3335223f4e1e +555824576b335560243a44233f4e1e30432149601f49601f47581f47581f556024 +76872d76872d766e2d3a44235560248b90338e9f3b80a03b7d973676872d6b852c +697c2b576a1f3f4e1e656c26576a1f7b90347b90345f7b2a6b85456b852c708f31 +76872d41671b708f317b9034576a1f5e742976872d76872d68752b6b85457b9034 +7787465f7b2a47581f5f7b2a757b2d5f7b2a49601f3f4e1e4973235474285e7429 +766e2d68752b576a1f697c2b87872c576a1f757b2d9fa857957c2f757b2da1a73c +354c313f4e323a44233c58224b69333d5f25344d1e304321496032576b33547443 +5e74295f7b2a7b90346b852c6b854560832a6b852c7b90348c985392a7599fa857 +7f9753497323618345547428344d1e4960327c90537f9753657c446b8545576a1f +7b90347b90344b681e3c58226274444b69334b69333f4e32383c23475832576b33 +4b681e49601f496032475832565838383c23342d1f2a34383043216274449fa056 +9fa8577b903492a7598ea059819f596b852c7b90345e74294b681e5e7429576b33 +6b852c6b852c5e74297787467d97365474284b69332f3c222f3c22354c314b681e +8c98357d973680a03b71973276872d708f3180a03b7197328e9f3b7d97368ea83e +80a03b3d5f252b33225f7b2a576b33383c232f3c222f3c22708f3176872da1a73c +576a1f3c58225e74297b90346b852c5f7b2a708f3160832a41671b3f4e1e304321 +3c58223c58222f3c2224261c272c1f24261c24261c272c1f272c1f342d1f272c1f +272c1f2b3322342d1f3335222b33223a44234c502655602487872c87872c978834 +b1a03dbfb04dcdb85ec1b064c2a85ebfb04dcdb85ebeb751ae993dae993dc0a845 +ccb169bfb04da1a73ca0a03ab0a83fa1a73c8b903376872d757b2d76872d766e2d +76872d87872c757b2d9f9035a0a03ac0a8459f9835957c2f84712f66592c766e2d +9e9853c0a845ccb169ccb169c0a153c0a845c0a845d0c074d0c074d0c074d1b876 +d0c074c1b064c2b868b1af4db1af4db1af4db0a83fb1af4db0a83fb2a856c2a85e +c2a85eb1a03da0a03a9fa857b1af4da1a73cb2a856b0a83f9fa056b2a8569fa056 +b2a8569e98538b9033767b4768752b4c5026556024656c265e7429697c2b4c5026 +4960325e742956603a5560245e742949601f3a4423344d1e49601f576b33576a1f +68752b656c265e74295e742947581f555824576a1f49601f3f4e329e985356603a +272c1f272c1f272c1f33352247581f49601f47581f344d1e49601f5e7429697c2b +6b852c7d97365e74292f3c2249601f49601f3043212b33222b33223043213f4e1e +4c5026344d1e2f3c22344d1e47581f272c1f3335222b33222b3322344d1e656c26 +5560243f4e1e68752b656c26656c26656c2676872d8b90336b852c7b9034697c2b +757b2d7b9034b1b069b2a053766e2d8c98359f983584712f5558244436234e4425 +3335223a4423697c2bb0b86ca0a03a86874ab2a053757b2d8b90338b903387872c +76642768752b666033333522333522344d1e76872d76872d8c98358b9033a1a73c +b2a856b1af4db2a0538b90339fa056a0a03a9f98359f98359fa0569f9835a0a03a +9f9835a0a03a9f98358b9033a0a03ab1a03d76872d6b852c6b852c76872d7b9034 +7b903476872d6b852c708f3176872d7b90347d973676872d6b852c76872d3f4e1e +576a1f47581f344d1e3d5f2547581f344d1e49601f3f4e1e3c58223f4e1e555824 +68752b576a1f3a44232b33222f3c222f3c223a4423333522272c1f2b3322304321 +3043213a4423272c1f3335224c50263f4e1e556024555824304321344d1e697c2b +555824656c26383c23272c1f33352247581f576a1f344d1e3a4423383c2349601f +757b2d47581f4c50262f3c223f4e1e576a1f5560245f7b2a7b90347d97368c9853 +697c2b76872d7b9034708f316b852c7d97367b90347d97368c985360832a6b852c +5f7b2a3d5f255f7b2a7d9736576a1f49601f60832a697c2b5e74296b852c5e7429 +6b852c576a1f576a1f6b852c68752b60832a76872d576b333f4e1e49601f708f31 +757b2d656c2655602476872d9fa05687872c8b90339f915484712f9f9835a0a03a +66603356603a3f4e323f4e324b693341671b354c31304321304321304321496032 +61834554742860832a60832a7b90345f7b2a60832a708f317197328c98538ea059 +7f9753497323576b33547443344d1e3a4423576a62757c71697c2b68752b68752b +8ea0597197326b85454b681e3f4e1e3f4e1e576b33767b476b85458ea05976872d +576b334b681e47581f383c232b3322333642272c1f2f3c22576b33576a1f7c9053 +b0b86c92a759a1af4e8ea05976872d6b852c5f7b2a6b852c6b852c5e742960832a +6b85457d97365f7b2a5f7b2a5f7b2a4758323c58223f4e1e3f4e1e576a1f618345 +5f7b2a819f597b9034708f317d973660832a49601f708f31708f3147581f6b8545 +5e74293043212f3c2254742849601f2f3c22272c1f33352276872d8c9835778746 +3d5f25344d1e4b69335e74293f4e1e3a44234c50263c5822344d1e54742849601f +344d1e657c442b3322272c1f272c1f272c1f24261c24261c24261c24261c272c1f +272c1f262e352f3c222f3c22383c23555824576a1f6b852c9f9835ae993dbfb04d +c1b064c0a845bfb04dccb169bfb04dccb169bfb04dc0a845b1a03dae993dcdb85e +cdb85ecdb85ec4bf65aeb84e8e9f3b757b2d576a1f68752b9f98358e9f3b87872c +757b2d757b2d9f98358b903387872c76872d656c26656c2668752b68752b8b9033 +9f9835c0a153c0a153c2a85ec0a845c0a153c0a845dcc17fe0c492e3cc97d4cb83 +c1b064d0c074c1b064b1af4db2a053b0a83fb2a053c2a85ebfb04dc1b064bfb04d +c2a85eb2a856b0a83fc2b868b1af4dbfb04db1af4db1af4db2a8569fa056a0a03a +9fa056b2a0538ea05987872c656c2668752b757b2d76872d6b852c4b681e304321 +4c502647581f344d1e3f4e1e656c26576b333f4e1e556024697c2b6b852c5e7429 +7787466b852c7787465e74293c58223a44235e7429576b33565838b1b069847144 +342d1f24261c24261c272c1f556024576a1f5e7429576a1f49601f708f3160832a +6b852c6b852c6b852c47581f3f4e1e576a1f47581f2f3c223a4423656c26656c26 +60832a3f4e1e3a4423344d1e3a44233335222f3c22344d1e3c58224b681e576a1f +5560245558245e742968752b556024576a1f68752b656c2668752b76872d76872d +6b852c757b2d9fa0569e985366592c555824656c2676872d4c5026342d1f443623 +383c23666b3bc3c17ac2b8688b903386874a9fa056757b2d8c98539e985387872c +55582487872c757b2d383c232b33222b33223a442368752b76872d8b90338c9835 +9f98358b903387872c9f9835b1b0699e98538c98359f9835a0a03aa0a03aa0a03a +8c98359f98359f9835887b2c957c2fae993d766e2d55582447581f576a1f76872d +7b90346b852c3f4e1e47581f5560245e74296b852c76872d7b9034697c2b47581f +49601f49601f3f4e1e49601f92a759767b478b90336b852c656c26556024666033 +4c50264e44253f4e1e342d1f272c1f2b3322333522272c1f333522272c1f272c1f +272c1f272c1f272c1f24261c342d1f24261c272c1f342d1f272c1f576a1f7d9736 +6b852c5558243335223335222b33222f3c2268752b3f4e1e3f4e1e49601f576a1f +3a44233a44233f4e1e656c2655582447581f47581f697c2b76872d5560245e7429 +6b852c708f315f7b2a576a1f7d973676872d7b90347b90348c98357f97536b852c +697c2b576a1f5f7b2a76872d55602447581f47581f5e74295e742976872d68752b +5e74295e742960832a708f315e74298c9835757b2d5e7429697c2b7787466b852c +76872d87872c576b336b852c8c98539f91549f9835a48a3b8b90339f9035887b2c +3a44233f4e32394446475832547428567f3a4973234b69334b69334960327b9034 +7197326b854560832a708f316b854547581f5f7b2a6f8f52708f316b852c576a1f +49601f5f7b2a547428567f3a3d5f254758323c5822344d1e576b335f7b2a80a03b +708f315f7b2a5f7b2a41671b3d573b3f4e1e4c5026373e4356603a657c44576b33 +657c4449601f3043213f4e1e2f3c223335222f3c222b3322304321767b4792a759 +8ea0597d97368c98538c98538b90337c90536b852c557f2260832a5f7b2a5e7429 +7b90347b9034697c2b576a1f4b69333f4e1e2f3c222e3c44304321344d1e344d1e +3f4e1e697c2b5e74295e74298e9f3b576a1f3f4e1e7d97364b681e3f4e1e3f4e1e +556024656c26304321344d1e304321272c1f272c1f2b33223f4e1e767b472f3c22 +3c58223c58224b681e8c9835576a1f272c1f272c1f272c1f2b3322344d1e3a4423 +2b33223a4423272c1f24261c24261c24261c272c1f24261c24261c24261c24261c +272c1f3335224e442547581f555824757b2d55602487872ca0a03ac0a845cdb85e +d0c074c2a85ec2a85ed1b876ccb169bfb04dccb169c0a845cdb85eccb169bfb04d +ccb169d1b876dcc17fcdb85ebfb04d68752b555824556024556024556024383c23 +2f3c225558245560245558243f4e1e4c502649601f656c265e74296b852c87872c +87872cb1a03dc0a845c0a845b0a83fb1a03db1a03dcdb85ed1b876dcc17fd0c074 +c1b064c2a85ec2a85eb2a0539e9853b2a053c2a85ebfb04dccb169c0a845b2a053 +c2a85ecdb85ec4bf65bfb04db0a83fb1b069bfb04dbfb04dc2b8689fa0569fa056 +a0a03a9fa0568c9853766e2d757b2d757b2d8c98537b903487872c576a1f3a4423 +3f4e1e3f4e1e47581f3f4e1e3a44233f4e1e5f7b2a5f7b2a708f317c90537b9034 +7b9034697c2b5e7429697c2b3f4e1e576a1f778746475832666b3bc1c2aeada17f +383c23342d1f272c1f272c1f3a442349601f4b681e3c58225e742976872d7d9736 +7197325f7b2a6b852c6b852c5f7b2a5f7b2a49601f47581f47581f656c263a4423 +576a1f576a1f3f4e1e3c582249601f3043213f4e1e3f4e1e576a1f49601f4b681e +7b903476872d76872d576a1f3f4e1e4c50263a44235560243f4e1e656c2647581f +576a1f576a1f697c2b8b9033867c4c3a4423574f264c50264e44252b33224c5026 +766e2d9fa857c0b8a69e9853766e2d87872c9f9154656c2687872c87872c87872c +3f4e1e757b2d656c26333522272c1f3335223a4423383c233f4e1e697c2b8b9033 +8b90338b90339f9835b2a856b2a85687872c757b2d8e9f3b8e9f3b757b2d656c26 +656c26555824766e2d4e4425604f2a977c4f766427656c26383c23383c23576a1f +555824556024344d1e3a442330432147581f576a1f697c2b6b852c47581f3d5f25 +4b681e576a1f6b852c7c90539fa8579fa85786874a697c2b7b90348e9f3b8c9853 +87872c656c263f4e1e3a4423333522272c1f272c1f272c1f383c2333352224261c +24261c24261c24261c272c1f24261c24261c24261c24261c272c1f383c23627444 +666b3b383c233043212f3c223043213f4e1e49601f3f4e1e3f4e1e697c2b76872d +4c50264e3d224e44256660335558243a4423383c235558244c5026383c234c5026 +5f7b2a576a1f4b681e656c2647581f68752b8c98357d97366b852c7c90536b852c +697c2b68752b68752b576a1f5560244b681e4b681e47581f3f4e1e4b681e5f7b2a +5e74298c98357d973660832a6b852c80a03b9f98359fa056757b2d87872c68752b +76872d9e98536b852c697c2b76872d9f98358b90339f9035766e2d847144887b2c +333522373e433a4423576b337c90534973233d5f25496032496032657c447b9034 +6b85454b681e6b854560832a4b681e4b69334b681e5e74296183454b69335f7b2a +4b69335f7b2a708f315474433043213043214b6933576b334b69333d573b547428 +54742849601f4b69333f4e32383c232a34382f3c222f3c22373e433a4423576a1f +576a1f4960323c58223f4e322f3c222f3c22354c313f4e1e576b336b85459fa857 +8c98357b90346b852c7d973676872d8ea0597f975354742849601f4b6933657c44 +6b8545657c447b903461834547583249601f344d1e344d1e3043214b6933333522 +4758324b69334b681e76872d80a03b5474283a44235558246274442f3c222f3c22 +383c232b33222f3c222b3322272c1f272c1f272c1f272c1f272c1f2f3c22272c1f +576a1f3d5f25697c2b383c232b33222b3322272c1f2b332224261c24261c272c1f +1e241b24261c24261c272c1f342d1f24261c24261c342d1f24261c272c1f342d1f +3335224e3d22556024887b2c957c2f87872c84712f978834c0a153cdb85ec0a153 +dcc17fdcc17fdcc17fcdb85edcc17fdcc17fccb169dcc17fdcc17fdcc17fcdb85e +cdb85edcc17fdcc17fd0c074cdb85e9f98358b9033766e2d47581f3f4e1e2b3322 +333522383c233f4e1e5558243f4e1e47581f49601f3c5822555824556024656c26 +84712fc0a845c0a845c0a845c0a845b2a856b0a83fc2a85eb0a83fb1a03dae993d +ae993db0a83fc2a85ed1b876c2a85ecdb85ec2a85eb09954c0a153b2a856bfb04d +d0c074bfb04db0a83fa1a73ca1a73ca1a73cb1af4db2a856b2a856a0a03a8c9853 +8c98538b903387872c7787468b903386874a7b90348b903376872d778746656c26 +49601f3f4e1e3f4e1e383c23333522304321657c445e74296b852c576b335e7429 +697c2b5f7b2a4b681e5e7429547428778746576a1f47581f56603aafb09eb1b069 +4e4425383c232b33223f4e1e68752b5e74295474284b681e697c2b4b681e4b681e +5e742947581f49601f6b852c7b90347d9736697c2b6b852c68752b47581f576a1f +49601f5f7b2a47581f4b681e6b852c55582447581f3f4e1e757b2d4c5026556024 +76872d76872d7b903476872d576a1f383c232b33223335223a44233a44233f4e1e +4b681e576a1f5e7429656c2676872d87872c757b2d656c2668752b757b2d8b9033 +76872dc1b0649fa05687872c76872d8b90337b9034757b2d8b903376872d9f9035 +766e2d55602468752b3f4e1e342d1f383c23383c2349601f576a1f576a1f87872c +8c98359f98358c98359f98358c983568752b766e2d9788349f983587872c766e2d +574f26333522443623443623604f2a4e3d22443623333522342d1f342d1f383c23 +3335223a4423557f225e7429576a1f3f4e1e576a1f556024576a1f41671b5f7b2a +5e7429697c2b76872d576a1f5e74298c98355560243f4e1e576b335e74296b852c +76872d76872d757b2d68752b576a1f3f4e1e333522272c1f3f4e1e304321342d1f +24261c24261c272c1f24261c342d1f24261c24261c24261c24261c272c1f333522 +3043213a4423656c263f4e1e3f4e1e47581f4b681e49601f4b681e6b852c656c26 +3a44233335222f3c223f4e1e4e44254e3d224e3d224c50263335223335224c5026 +656c26556024576a1f576a1f556024697c2b7787468b90336b852c6b852c6b852c +5e74296b852c49601f697c2b6b852c576a1f4b681e4b681e49601f5e74295f7b2a +697c2b8c98357b90345474285474286b852c8e9f3b9fa0569e98538b9033576a1f +757b2d9fa056576a1f697c2b86874a8c9853757b2d697c2b68752b9f90359f9035 +333642373e433335223a4423576b335474433d573b3043213043213c58225f7b2a +6b852c60832a6b852c6b852c5474284b681e4b69337787464b681e3c5822497323 +567f3a3d5f255f7b2a5e74292e3c44262e352f3c222f3c22333522304321496032 +576b334b693347581f3043213a44233c58223d573b3c582247581f4b6933657c44 +576b334b681e3d5f25344d1e344d1e3d5f256b85458ea0597c90537b90346b852c +697c2b7c90536b852c7f97537b90346b852c76872d697c2b47581f4b681e656c26 +5e74294b69336b852c7b90346183456b852c49603249603249601f47581f2b3322 +576a1f3a4423383c23757b2d697c2b5f7b2a3a4423383c233f4e1e2b33222b3322 +2b33222f3c222f3c221e241b272c1f1e241b272c1f272c1f272c1f272c1f272c1f +2f3c22304321354c312f3c2230432141671b49732341671b2f3c222f3c222f3c22 +272c1f24261c272c1f272c1f272c1f24261c342d1f262e35272c1f272c1f2b3322 +3a442366592c978834b1a03d9f98359f9835c0a845beb751c0a845c0a845bfb04d +ccb169d1b876dcc17fd1b876cdb85edcc17fdcc17fd1b876dcc17fdcc17fdcc17f +d0c074d0c074cdb85eb1a03d9f98357b90348b903387872c76872d576a1f576a1f +697c2b76872d8c9835757b2d5e7429576a1f49601f3a44235558248b9033b2a053 +c1b064c1b064bfb04dc0a845ae993dccb169c0a845c0a845c0a845ccb169c0a845 +b2a053b1a03dc0a153c1b064d1b876c3c17ad1b876d1b876d1b876d1b876c1b064 +b1af4db0a83fb0a83fb0a83fa0a03ab1af4db1b069b1b069b2a856b1af4d8c9853 +76872d8b9033778746767b47757b2d757b2d77874676872d778746757b2d556024 +576b335e74295f7b2a3043213335223f4e1e657c4449601f5f7b2a576a1f5e7429 +68752b47583249601f697c2b576a1f49601f55602476872d5560248b9055c2b868 +77874655602447581f5e7429697c2b6b852c576a1f4b681e76872d6b852c697c2b +576a1f47581f47581f708f315e74295e74296b852c5e7429576a1f656c2668752b +304321697c2b68752b576a1f576a1f3a44233f4e1e5560245e7429304321697c2b +656c26697c2b697c2b55602449601f556024383c23383c234c50262b33223a4423 +576a1f7b90346b852c6b852c757b2d7b90348c98358b903376872d76872d8e9f3b +8c98539fa0568b903387872c76872d8b90337b903476872d8b90337b903487872c +87872c555824574f26272c1f342d1f2b33223335225560245560243a4423556024 +757b2d8c9835a0a03a9f98358b90338b9033656c2687872c9f9035757b2d555824 +443623342d1f4436234e3d224436234e3d224e4425443623443623333522333522 +333522556024708f3176872d656c265560243a442347581f5f7b2a60832a697c2b +4b681e708f3154742860832a6b852c6b852c76872d5e74293f4e1e49601f556024 +697c2b7b90346b852c697c2b5f7b2a6b852c47581f3f4e1e344d1e47581f333522 +342d1f24261c272c1f272c1f272c1f24261c272c1f3335222f3c223f4e1e272c1f +47581f47581f576a1f5560245560243f4e1e697c2b4b681e757b2d656c26344d1e +3f4e1e3f4e1e555824697c2b3f4e1e3f4e1e342d1f342d1f4436234e4425766e2d +766e2d4e44253a44233f4e1e47581f5e74296b852c5f7b2a5f7b2a68752b68752b +6b852c697c2b576a1f68752b7b9034576b333c582249601f3f4e1e49601f41671b +576a1f76872d76872d3f4e1e5f7b2a708f3176872d9e985368752b656c26708f31 +49601f697c2b5f7b2a4b681e87872c9fa056757b2d5e74298b9033ab915868752b +333522373e433a4423354c313f4e1e4b6933344d1e354c3130444d3043214b6933 +708f3160832a6b852c6f8f5271973260832a4b693354742849601f4960326b852c +567f3a3d5f25576b333c58222b33222b3322262e353335223043213d5f253d5f25 +3c58223d5f255f7b2a576a1f557f225e74293c582249601f5e742947581f4b681e +4b681e3d5f25496032354c313043213a44233f4e1e666b3b49601f5f7b2a8c9853 +76872d7d973680a03b91af497b903476872d6b852c6f8f527b90347c9053697c2b +778746697c2b7787468c98538ea059576b3349601f697c2b5474284758322b3322 +4960323a4423576b3356603a3f4e1e5558242f3c223a44233a44232f3c222f3c22 +2b33222b33222f3c222b33222b3322272c1f272c1f24261c24261c24261c2b3322 +2f3c223043212f3c222f3c22344d1e49601f3c582249732341671b344d1e2f3c22 +354c31383c2324261c342d1f262e35272c1f24261c342d1f3335222f3c223a4423 +574f26887b2cae993dbfb04dbfb04dcdb85ecdb85ebfb04dc0a153c0a845ccb169 +ccb169dcc17fdcc17fd1b876cdb85ed1b876dcc17fe3cc97d0c074cdb85ed0c074 +dcc17fe0c492d4cb83b1af4d8c983576872d6b852c5e7429757b2d697c2b6b852c +757b2d76872d76872d697c2b68752b576a1f2f3c223a4423978834957c2fb09954 +b09954ccb169b1a03d978834ae993dc0a845ccb169ccb169ccb169d1b876ccb169 +ccb169c2a85eccb169d1b876e0c492e0c492dcc17fd1b876d1b876ccb169c1b064 +c0a845c0a845c1b0649e9853b2a053c2b8689fa8579fa8579fa857a0a03a8ea059 +6b852c656c26656c2668752b68752b86874a8b9033757b2d68752b5e7429576a1f +576b3349601f5e7429576a1f344d1e47581f697c2b49601f5f7b2a5e74297b9034 +5e742947581f47581f76872d7b9034697c2b778746576a1f576b33627444d1b890 +867c4c68752b719732708f31697c2b76872d6b852c47581f5f7b2a68752b76872d +697c2b6b852c76872d6b852c697c2b757b2d6b852c68752b3f4e1e576a1f49601f +55582476872d68752b47581f4c50264c5026656c266b852c5e74296b852c6b852c +5e742949601f656c263043213335223f4e1e2b3322342d1f3a44233335224c5026 +697c2b5e74295f7b2a697c2b5f7b2a76872d6b852c76872d76872d76872d697c2b +8ea0599f983576872d68752b68752b697c2b757b2d697c2b76872d8b90338c9835 +87872c656c264e4425333522272c1f342d1f342d1f383c23333522333522576a1f +5558243a4423574f26555824555824757b2d66592c4e4425574f264e3d22342d1f +342d1f4e3d22443623604f2a443623342d1f574f26272c1f44362344362324261c +33352255602468752b4c502633352268752b55582455602476872d6b852c60832a +6b852c6b852c697c2b5560244b681e576a1f76872d5e74295e74295f7b2a5e7429 +5e74296b852c697c2b557f226b852c5f7b2a5f7b2a576a1f344d1e333522342d1f +272c1f24261c272c1f342d1f342d1f24261c272c1f47581f4c50263f4e1e2f3c22 +2f3c224c5026576a1f3f4e1e5560243f4e1e5474285f7b2a576a1f304321383c23 +2f3c223335223a442355582468752b555824383c234e4425556024766427766427 +574f26333522383c233a4423576a1f47581f68752b5e74296b852c7b90344b681e +68752b6b852c68752b68752b757b2d4b681e47581f47581f3c582249601f41671b +547428697c2b6b852c47581f49601f697c2b6b852ca0a03a757b2d576a1f697c2b +6b852c697c2b697c2b68752b7b9034a0a03a76872d76872d9f915487872c656c26 +2f3c224758325658384b6933576b334b69334b693347581f304321344d1e496032 +5e74296b85455e7429576a1f708f314b681e4b69333c5822475832344d1e5e7429 +5f7b2a4b69335560244b69333043212b3322262e352b3322354c315f7b2a497323 +49601f5f7b2a60832a5e74295f7b2a5e7429576a1f6b852c5e7429576a1f3d5f25 +4b69333f4e32383c23262e352b33223335222b33222b3322333522576b3376872d +8c9853a1af4e7c905368752b697c2b7d97366b852c576b335e742961834560832a +697c2b6b852c4b681e68752b8ea059656c2649601f7787463f4e1e383c23383c23 +304321272c1f3a442333352247581f3c58223a44232b3322272c1f272c1f272c1f +272c1f2b3322272c1f272c1f272c1f262e352b33222b3322272c1f272c1f4e4425 +555824757b2d4c50262b33222b33223335222f3c2249601f4b681e2f3c222f3c22 +344d1e2b3322272c1f2b33222b33223a44232b3322383c233a442347581f555824 +887b2c9f9035c0a845cdb85ecdb85ecdb85ecdb85ec0a845cdb85eccb169ccb169 +dcc17fdcc17fdcc17fdcc17fe0c492e3cc97e0c492e3cc97d0c074b2a856a1af4e +b0b86ccdb85ed0c074d0c074b0a83f656c2647581f3f4e1e5560243f4e1e2f3c22 +383c23383c233a44233a44232b3322333522333522555824978834957c2fb09954 +a48954957c2f978834ae993dcdb85ebfb04dc0a153c1b064d1b876d1b876d1b876 +dcc17fccb169dcc17fd1b876dcc17fd1b890d1b890d1b890e0c492d1b876d1b890 +d0c074d1b876c1b0649e9853b2a856b1b0699f91548b90339fa056a0a03a8c9853 +7b9034697c2b7b9034757b2d87872c8b90558c985376872d757b2d697c2b576a1f +55602447581f697c2b68752b6b852c76872d8c98357f97537d9736697c2b778746 +697c2b697c2b47581f697c2b5f7b2a6b852c8b9033576b3347581f627444c0b197 +c4a979757b2d7b90345e742949601f697c2b708f3176872d708f3177874676872d +7b903476872d697c2b68752b576a1f757b2d576a1f576a1f5558243f4e1e3f4e1e +68752b576b33697c2b547428657c445e742968752b76872d697c2b6b852c697c2b +576a1f49601f3f4e1e3a4423333522272c1f272c1f272c1f342d1f2b332247581f +5558243a4423344d1e4b681e5e742976872d697c2b7d97368c9835557f225e7429 +7b90348b9033576a1f576a1f576a1f5f7b2a6b852c76872d76872d7d97367b9034 +7b90348b9033697c2b3a4423272c1f272c1f24261c24261c24261c342d1f3f4e1e +55582433352224261c342d1f24261c342d1f4e3d22342d1f342d1f24261c24261c +4e3d22604f2a604f2a4e3d22342d1f342d1f342d1f24261c383c23333522342d1f +3335223f4e1e3f4e1e342d1f2b3322656c2668752b5e742976872d708f31697c2b +5e7429697c2b697c2b383c232b33223a4423697c2b6b852c6b852c576a1f697c2b +5e7429697c2b697c2b5e7429697c2b576a1f5e74293a4423342d1f272c1f272c1f +342d1f342d1f2b33224c50263a442324261c24261c342d1f342d1f272c1f342d1f +2b3322383c234c502647581f5558243a44235474286b852c3f4e1e2b3322383c23 +2b33222b33222b33223335222b3322333522383c234e3d22443623574f263a4423 +4436233335223a44233a44233f4e1e5e74296b852c5e74294b681e5e7429576a1f +576a1f547428697c2b76872d76872d6b852c41671b344d1e3f4e1e3043213d5f25 +5e7429697c2b5f7b2a47581f2f3c2249601f7b90348b903386874a576a1f3d5f25 +49601f6b852c697c2b697c2b7b90348c9835697c2b8c9853757b2d576a1f3d5f25 +3944463f4e324758324b6933576a1f5f7b2a6f8f52697c2b3d5f253c5822475832 +4b69337b90347d97367787466b852c6183453c5822344d1e344d593043213f4e32 +5f7b2a497323547428547443618345344d1e2b3322262e3533352249732341671b +4960324b693349601f49601f576a1f5e74293d5f2549601f6b852c7c9053697c2b +496032383c23383c23342d1f2b33222a3438272c1f3043213f4e3247581f6b852c +87872c9fa056697c2b55602468752b8b90556b852c3f4e1e576b335e7429576a1f +68752b6b852c3f4e1e666b3b86874a7787464c502647581f2f3c222b33222b3322 +3f4e1e547428576a1f697c2b5e742947581f4b69333f4e1e3043212b33222b3322 +2b3322272c1f24261c24261c272c1f272c1f272c1f272c1f272c1f272c1f2b3322 +3f4e32656c26344d1e2b3322272c1f342d1f272c1f3f4e1e47581f3f4e1e2f3c22 +2b33222b33222f3c22383c233f4e1e4c50264c5026574f26766e2d656c2684712f +c0a845bfb04dcdb85ebfb04dcdb85ecdb85eccb169dcc17fcdb85eccb169ccb169 +ccb169c2a85edcc17fe0c492dcc17fe0c492e0c492dcc17fe0c492c2b868a0a03a +a1a73ca1a73ca0a03a8c98358c983587872c576a1f3f4e1e576a1f3f4e1e3a4423 +3335222f3c223335222b3322383c23576a1f656c268b90339f98359f9835766e2d +66592c9f9154c2a85edcc17fd0c074d0c074b2a053a48a3bccb169dcc17fe0c492 +dcc17fe0c492e0c492e0c492dcc17fdcc17fe0c492d1b890dcc17fe0c492e0c492 +d8c291d8c291d0c074d1b876c2b868b2a8569e98538b90559f983586874a76872d +8c98358b90558b90337787468b9033a0a03a86874a778746697c2b76872d76872d +76872d7b90348c983576872d697c2b76872d697c2b7b903477874668752b6b852c +697c2b49601f3f4e1e5e742976872d697c2b68752b576a1f344d1e565838aea886 +c0b197867c4c757b2d4b681e3c5822576a1f8c98538e9f3b9fa0569fa8578b9033 +76872d76872d757b2d47581f86874a8ea05976872d6b852c697c2b47581f767b47 +6b852c47581f576a1f576a1f3f4e1e556024344d1e656c26697c2b5e7429576a1f +557f223c58222f3c22272c1f272c1f24261c24261c3335222f3c224e44254c5026 +3f4e1e3a44233a44233f4e1e576a1f697c2b7d97368c98358c98356b852c6b852c +4b681e6b852c47581f49601f5e742976872d76872d6b852c697c2b7b90346b852c +7b90348c983576872d55602424261c24261c24261c24261c24261c272c1f24261c +272c1f24261c272c1f272c1f24261c342d1f342d1f1e241b24261c24261c24261c +342d1f66592c84712f4436233335224e4425272c1f342d1f3a4423556024576a1f +3f4e1e656c264c50262b332249601f6b852c68752b47581f47581f47581f383c23 +3a44235e74295e742949601f3043212b332247581f6b852c697c2b5e74295e7429 +4b681e576a1f547428697c2b60832a47581f4c5026342d1f24261c3335223a4423 +3335223335223a4423555824383c23272c1f24261c272c1f272c1f333522342d1f +272c1f383c233f4e1e4c5026383c23383c236b852c68752b3a44232f3c222b3322 +24261c272c1f272c1f342d1f272c1f342d1f24261c333522333522443623383c23 +333522272c1f342d1f272c1f344d1e5e742949601f5e74295f7b2a49601f576a1f +49601f49601f4b681e49601f6b852c6b852c576a1f576a1f5e742947581f3f4e1e +4973235e74295e742976872d47581f576a1f697c2b7b90348b903360832a547428 +576a1f5e7429697c2b656c266b852c7b903476872d757b2d5560245f7b2a576a1f +383c233f4e322f3c224960324b6933656c265f7b2a5e7429576b333c5822344d1e +3d573b60832a7d97367787466b852c7d9736567f3a344d1e3c58223f4e1e3f4e32 +6b852c60832a47583247581f576b333a4423262e352b3322262e353d5f254b6933 +3f4e1e3c58223d5f25557f22576a1f576a1f49601f576b334c5026576a1f68752b +3f4e1e2f3c222f3c222f3c223043213043213043214b69335f7b2a6b852c76872d +757b2d86874a76872d68752b87872c8b90338ea0597b9034697c2b496032496032 +697c2b7b9034354c315e74297b90345e7429576b332f3c223043212f3c22333522 +49601f5f7b2a697c2b76872d757b2d697c2b76872d4b681e49601f576b3347581f +3d5f253a44232b33222f3c222f3c22344d1e2f3c222b3322272c1f342d1f2b3322 +383c23272c1f24261c272c1f272c1f272c1f272c1f383c2347581f2f3c222f3c22 +3f4e1e3f4e1e5560243f4e1e3a4423555824766e2d87872c957c2f9f9035b0a83f +bfb04dbfb04dae993da0a03ab1a03dc0a845ccb169dcc17fd1b876dcc17fe0c492 +dcc17fccb169dcc17fe3cc97e0c492e0c492e3cc97e3cc97e3cc97e3cc97d0c074 +b0b86ca1a73c7b90347b90348c9835a1a73c8e9f3b8c9835708f316b852c76872d +76872d6b852c4b681e5f7b2a708f317b90348b903376872d68752b656c265e7429 +8c9835b2a856ada17fd1b890c4a979ccb1699e985384712fb09954dcc17fdcc17f +ccb169e0c492e3cc97e0c492e0c492dcc17fccb169ccb169ccb169e0c492ccb169 +d1b890d1b890d8c291c4a979c1b064c1b064c2b8689e98538b90339e98537c9053 +7b90348c98358c98538c98357c90538c98538b903376872d5e7429576a1f7d9736 +76872d76872d7b903476872d76872d8c985376872d68752b576b33556024576b33 +5e7429496032344d1e6b852c576a1f76872d757b2d576a1f576a1f576a1f9d9981 +dcd6d69fa056576a1f49601f3c58225f7b2a656c2676872d76872d76872d68752b +757b2d576a1f68752b5e74297787468b903376872d7b903476872d8c98538b9055 +76872d4c502647581f54742849601f576a1f49603249601f697c2b4b681e3f4e1e +556024383c23383c23342d1f272c1f333522333522383c232f3c223043213f4e1e +656c26576a1f576a1f3f4e1e3a4423656c267b90347d97367b9034576a1f656c26 +49601f6b852c576a1f576a1f6b852c76872d6b852c4c50264c502655602449601f +55602447581f555824443623342d1f333522342d1f342d1f24261c24261c24261c +24261c24261c24261c342d1f2b332244362324261c24261c24261c24261c24261c +342d1f95885c847144342d1f3335223a44233f4e1e344d1e576a1f68752b697c2b +576a1f697c2b47581f4c502676872d697c2b68752b5e74296b852c49601f47581f +697c2b5f7b2a5e74294b681e2b33222f3c22344d1e697c2b697c2b47581f4b681e +49601f576a1f5f7b2a5e742968752b3335224e4425333522342d1f333522304321 +333522333522383c23383c23342d1f24261c342d1f24261c24261c272c1f342d1f +272c1f333522383c23383c233335223335223f4e1e383c23342d1f342d1f2b3322 +342d1f342d1f24261c342d1f342d1f24261c24261c272c1f272c1f2b3322272c1f +272c1f24261c272c1f272c1f344d1e547428576b335f7b2a576a1f576a1f3f4e1e +47581f344d1e697c2b49601f3d5f2554742847581f76872d8c98353a44233f4e1e +4b681e576a1f4b6933556024576a1f49601f576a1f6b852c8c983576872d6b852c +60832a6b852c697c2b5e7429697c2b7b90347b90345e74295e7429547428697c2b +3f4e323944463a44235e74296274445e74295474285474285474284973236b8545 +6b852c6b852c80a03b7d973676872d7d97367c9053557f2247581f49603268752b +77874660832a344d1e2b33223335222b33222b33222e3c4447581f60832a496032 +354c312f3c224758325e7429697c2b5f7b2a6b852c656c264960323f4e322f3c22 +3f4e324758323d573b4960325560243f4e32547443778746697c2b8c98538e9f3b +8ea0598ea0598e9f3b8b90339fa857a0a03a8b90337b9034697c2b47581f3f4e1e +47583247581f383c2368752b76872d56603a68752b4b69334b681e3a44232f3c22 +697c2b708f3176872d7b903476872d8b90338c983576872d757b2d3f4e1e49601f +47581f4b681e3f4e1e49601f5e7429656c2649601f3c5822344d1e344d1e304321 +3f4e1e2f3c22342d1f24261c2b3322272c1f383c2349601f6b852c757b2d76872d +7b9034576a1f3a4423656c26766e2d9f9035b0a83fbfb04dc0a845c0a845beb751 +bfb04db1a03d8e9f3b8b90338b90339f9035c0a845c0a845ccb169e0c492dcc17f +d1b876dcc17fdcc17fe3cc97e0c492e3cc97e3cc97d8c291e3cc97e0c492d4cb83 +d4cb83a0a03a6b852c47581f576a1f76872d8b90338c9835697c2b68752b47581f +3a442347581f5e7429576a1f576a1f3f4e1e76872d76872d656c2676872d76872d +7b90347b90349e9853b2a856aea886c1b064ad903d957c2fad903de0c492e0c492 +e0c492e0c492d1b890decab4e3cc97ccb169c2a85ec4a979d1b890e0c492d1b890 +e3cc97dcc17fd1b876c1b064c1b064b2a8569fa0568b903386874a76872d8c9853 +697c2b778746697c2b6b852c8b90338c98357b90347787463f4e3247581f757b2d +576a1f49601f757b2d5e7429576a1f6b8545757b2d627444656c26556024475832 +555824342d1f383c2368752b697c2b5e7429576a1f49601f576a1f496032666033 +cfc6b89f915468752b4b681e576a1f68752b68752b68752b697c2b5e7429656c26 +778746666b3b757b2d7b903476872d7b90345f7b2a68752b778746767b474c5026 +657c447787463f4e1e4e4425555824778746666b3b68752b697c2b3f4e1e2b3322 +3f4e1e4c50263f4e1e47581f272c1f342d1f272c1f272c1f2f3c224c502647581f +576a1f556024556024383c23272c1f3f4e1e7d97368c983587872c76872d5e7429 +3f4e1e3f4e1e5e7429576a1f68752b76872d5560243a4423383c23383c23333522 +272c1f383c234c5026383c233f4e1e656c263a4423383c23342d1f24261c342d1f +24261c24261c333522574f264e3d22342d1f24261c24261c24261c342d1f342d1f +342d1f74643e604f2a342d1f4c50263f4e1e47581f697c2b6b852c697c2b697c2b +5e7429576a1f68752b5e7429557f225e74296b852c6b852c697c2b6b852c6b852c +6b852c5e7429556024333522272c1f3335223f4e1e68752b68752b4c5026383c23 +2b33222b33223a442347581f3f4e1e342d1f333522342d1f24261c333522272c1f +272c1f333522383c23342d1f24261c272c1f333522342d1f272c1f2f3c223f4e1e +272c1f272c1f272c1f2b3322333522443623443623333522342d1f342d1f342d1f +4e4425342d1f342d1f4e3d22443623342d1f342d1f272c1f2b3322342d1f272c1f +272c1f24261c272c1f272c1f2b3322344d1e3c58225474285e742960832a49601f +49601f55602460832a47581f3f4e1e4b681e556024656c265558243a44233f4e1e +3f4e1e47581f47581f55602468752b576a1f4c502647581f68752b76872d49601f +54742876872d6b852c5e74296b852c757b2d5e742949601f3c58225f7b2a656c26 +2b33222a3438383c2356583847581f576b33576b336b8545576b336b852c5f7b2a +567f3a708f317b90348ea0598c9835778746697c2b6b8545657c44576b33767b47 +757b2d7c905354742841671b3043212b33222f3c2249601f7f975360832a496032 +3043213a44233f4e32576b3386874a666b3b4b693356603a3a44232b33222f3c22 +3043214758322f3c22354c314960323f4e1e3c5822576b3347581f5560247c9053 +7d97367b90348c98538b90338c9853a1a73c8c98357b9034576b33657c443f4e32 +3a44233a44232a3438475832576b332b33222f3c22576a1f4b69333f4e1e49601f +576a1f697c2b5e74295e74295e74297b90348c983576872d656c2668752b8e9f3b +76872d697c2b68752b7b90348e9f3b8c9835708f314b681e576a1f5560245e7429 +697c2b5f7b2a3f4e1e3a4423556024304321556024757b2d8b9033beb751a1a73c +8e9f3b8b9033757b2da0a03ab1a03db0a83fcdb85ebeb751bfb04dc0a845bfb04d +b0a83fa1a73ca0a03a7b903476872d766e2d84712fc0a153ccb169dcc17fccb169 +dcc17fe0c492dcc17fe0c492e0c492e3cc97decab4decab4e3cc97e0c492c4bf65 +9fa0569f9835697c2b576a1f4c5026576a1f757b2d697c2b6b852c7b9034555824 +3335223335223a442347581f2f3c22383c233a44233f4e1e656c26766e2d576a1f +576a1f87872c87872c978834d8c291e0c492c4a979c2a85ed1b890e0c492e0c492 +dcc17fe0c492d1b890dcc17fe0c492ccb169ccb169dcc17fccb169dcc17fd1b890 +e0c492d1b876c1b064b2a053d1b890d1b8769e98539fa0568c98537b9034697c2b +76872d76872d757b2d7787468b90558b903376872d576a1f556024697c2b7d9736 +5e742960832a76872d697c2b697c2b68752b4c50263f4e1e49603247581f2b3322 +2f3c22333522383c234c5026576a1f4960323a442347581f47581f3043214c5026 +87886d9f915468752b76872d5e742968752b6b852c7b90346b852c47581f68752b +76872d8c98538c98357d97367197327b903477874668752b576b333a4423556024 +6b85458c9853697c2b4b693355602468752b47581f383c233335222b3322272c1f +333522556024383c2333352224261c24261c24261c383c235558243f4e1e555824 +556024576a1f656c26576a1f383c232f3c22576a1f68752b767b479e985368752b +3f4e1e3a44235560244c5026555824656c265560245558242f3c2233352224261c +272c1f2b33224e44254c50263f4e1e68752b5560244c5026333522342d1f3a4423 +33352244362355582466592c4e3d224e3d22342d1f24261c342d1f443623342d1f +4436234e3d2244362333352266592c3f4e1e5e74296b852c697c2b576a1f576a1f +47581f5f7b2a576a1f576a1f5474286b852c76872d6b852c697c2b76872d76872d +697c2b49601f3f4e1e383c23333522333522304321576b333a4423342d1f272c1f +272c1f272c1f2b33222b3322272c1f24261c272c1f24261c24261c1c1e19342d1f +24261c24261c333522383c23342d1f342d1f4e44252b33222b33222f3c223a4423 +333522342d1f333522272c1f272c1f342d1f342d1f272c1f272c1f342d1f272c1f +2b33223335224436234436234e3d22342d1f342d1f3335223a4423666b3b666b3b +373e434436232f3c222f3c223f4e1e4b681e47581f344d1e49601f576a1f576a1f +3d5f2549601f5f7b2a576a1f344d1e2f3c225560245560243a44233f4e1e383c23 +5e74297d973676872d7b903455602447581f656c26556024556024576a1f4b681e +4b681e5560245e7429576a1f5f7b2a656c265e742947581f3c582260832a68752b +3a44232a34384e5043576b33666b3b68752b7c9053819f595e74294b6933304321 +3f4e325e74297c9053666b3b4b6933778746697c2b75704d47581f475832576a1f +6b852c7f97534973234b69335474437787467c90538c98357c9053344d1e475832 +496032657c447787468c985386874a556024475832666b3b576b3356603a56603a +56603a3a4423383c2347583256603a383c234c50265658383a4423556024778746 +8e9f3b7c90537d97368c98357d97368c9835a1a73c8c9835778746666b3b2f3c22 +2f3c223f4e323335223f4e1e697c2b4758326274446183455f7b2a496032475832 +3a4423697c2b6b852c55582455582468752b76872d76872d6b852c76872d8c9853 +8b905586874a9fa0569fa05676872d556024656c26576a1f68752b5560243f4e1e +3f4e1e5e7429576a1f49601f5e7429576a1f8b90338e9f3b8e9f3bb1af4da0a03a +a1a73ca0a03a9f9835aeb84eb1af4db1af4db0a83fc0a153bfb04db1a03da1a73c +b0a83f9f98358c98358b903387872c87872c957c2fc0a845ccb169d1b876ccb169 +e0c492dcc17fccb169dcc17fdcc17fe3cc97decab4e3cc97d8c291c0b8a6b0a83f +76872d8c98355e74293f4e1e47581f697c2b47581f2f3c2255582476872d576a1f +3f4e1e2f3c223f4e1e576a1f4b681e383c233335223335223a4423576a1f757b2d +87872c8b9033b2a053d8c291d1b890dcc17fd1b876d1b890e0c492d1b890e0c492 +e0c492ccb169d1b876ccb169d1b876ccb169c0a845d1b876ccb169d1b876d1b876 +dcc17fc2a85ec0a153d1b876d0c074bfb04d9e98538c98538c98358b90338c9835 +7b903486874a7b903476872d7b90347c90536b852c7787467787467b90348c9835 +5e74296b852c6b852c5e74296b852c576a1f47581f33352247581f5e7429383c23 +2f3c223f4e1e576a1f49732360832a697c2b3f4e1e3f4e1e54742841671b3c5822 +656c2676872d76872d7b903476872d757b2d76872d8c983576872d697c2b697c2b +8c98358e9f3b7f97537d973676872d656c26556024576a1f4b681e2f3c225e7429 +697c2b68752b618345708f31697c2b8c98357b90343f4e1e2f3c2233352224261c +2b3322333522272c1f33352224261c272c1f4e44254e4425383c234e4425304321 +383c233f4e1e656c26766e2d3f4e1e342d1f342d1f3f4e32867c4c9a917886874a +6660334c50264c50264e4425574f26443623383c23333522342d1f24261c24261c +24261c3335224c5026556024656c26697c2b5560245560243f4e1e383c23556024 +656c26766e2d887b2c604f2a604f2a44362324261c24261c24261c342d1f342d1f +443623443623342d1f342d1f55582455582447581f555824574f26383c23342d1f +49601f697c2b4c50263f4e1e656c2647581f656c26556024576a1f6b852c68752b +4c5026333522272c1f333522272c1f333642383c23383c232b3322272c1f272c1f +2b3322342d1f24261c24261c24261c24261c272c1f2b33222b3322333522383c23 +383c23342d1f3f4e1e5560244c5026574f26666033383c23342d1f383c234c5026 +333522333522342d1f272c1f272c1f272c1f272c1f272c1f342d1f342d1f333522 +342d1f3335224e442544362333352224261c3335224e442556583886874a87886d +4e50433a44233a442356603a6b8545576b3349601f3c582247581f5474285e7429 +4b681e49601f5e7429576a1f3a44233a4423656c266b852c5e742947581f3a4423 +3a4423697c2b76872d8c9835757b2d576a1f49601f49601f5e74296b852c576a1f +5e74294b681e49601f54742876872d7b90347b9034576a1f3d5f25697c2b76872d +354c312f3c224c502656603a5560243f4e32666033576b33576b333f4e32373e43 +33352256603a778746666b3b666b3b7787464e50433335222f3c223f4e32757c71 +8b90557b90344960324960323d5f25576b337c90537787463f4e1e2b33223f4e32 +383c234c5026574f2656603a5f61564e50432f3c223a44234758324c50263f4e1e +565838383c233335225658384c50263336422b3322383c23383c23666b3b95885c +b0a83f8c985392a7599fa0568c98358c98359e985376872d68752b3f4e32383c23 +2f3c224758324e50433a4423666b3b627444767b47576b3347581f3a44233a4423 +383c2368752b5560243f4e1e55602476872d666b3b4c50264c50264c5026555824 +555824766e2d86874a656c26383c233335224e44253a442366592c86874a766e2d +76872d757b2d4c50264c50265560245560248c98358ea83e8e9f3ba1a73ca0a03a +a1a73ca1a73cbfb04daeb84eb1af4d9f9835b1a03db1a03dc0a845b1a03da0a03a +aeb84ea0a03a9f98359f9835a0a03a9f9835bfb04dd0c074cdb85eccb169dcc17f +e0c492e0c492d1b890d1b890d1b890e0c492dcd6d6e0dfc6e3cc97d4cb83aeb84e +76872d76872d68752b49601f576a1f5560245560245e74297b9034697c2b5e7429 +60832a5560245e742968752b3f4e1e3f4e1e556024656c2687872ca1a73ca1a73c +9f9835b1af4dd0c074d0c074d1b876d1b876d1b876ccb169d1b876d1b890d1b876 +d1b876d1b876d1b876ccb169c2a85ec1b064ccb169c2a85eccb169cdb85ed1b876 +ccb169d1b876d0c074e0c492c1b064c1b0649fa0569e98537b90347c90538b9033 +7b903486874a68752b757b2d7b90348c98536b852c757b2d7b90346b852c68752b +576a1f49601f5f7b2a757b2d757b2d576a1f344d1e2f3c22344d1e47581f2f3c22 +3f4e1e3f4e1e6b852c697c2b697c2b5f7b2a3d5f2547581f49601f49601f5f7b2a +60832a68752b757b2da1af4e8e9f3b8b9033757b2d656c2677874668752b757b2d +7787468b90558c98537d973686874a68752b556024778746576a1f3d5f255e7429 +7b90345e74295f7b2a557f22697c2b4b681e6b85455e742955602433352224261c +24261c272c1f342d1f24261c342d1f2b332247581f5560243f4e1e4e4425383c23 +3335224e44254c50264c50264e44254e4425383c23342d1f4e4425857d6775704d +66592c383c23383c23333522383c23342d1f333522272c1f272c1f24261c24261c +272c1f272c1f2f3c22576a1f68752b76872d656c2668752b49601f4c50263f4e1e +656c268b905574643e66592c4e3d22342d1f24261c24261c342d1f24261c342d1f +4e3d224e3d22342d1f33352247581f4e4425272c1f342d1f4e3d22443623333522 +3043213f4e1e443623272c1f272c1f272c1f2b3322333522342d1f383c232b3322 +272c1f272c1f24261c272c1f24261c342d1f24261c24261c24261c272c1f272c1f +333522272c1f24261c342d1f24261c342d1f2f3c2241671b41671b4b681e547428 +49601f49601f47581f576a1f576a1f5560244e44253a4423383c234c5026555824 +333522333522333522342d1f2b3322272c1f342d1f333522333522342d1f342d1f +443623333522333522272c1f24261c342d1f574f265f6156857d67857d6786874a +757c7175704d54605f8c9853767b47496032666b3b3f4e1e3c5822576b335e7429 +47581f3c582249601f5e74293043212b33223f4e1e697c2b6b852c708f3176872d +2f3c22576a1f697c2b697c2b68752b5558243a4423344d1e5e742968752b68752b +6b852c54742849601f3c58224973238c98357b903468752b3f4e1e5e7429656c26 +3944462e3c443f4e3255582456603a383c2356603a555824496032354c312f3c22 +2f3c2266603368752b56603a6660334c50262f3c22333642342d1f3335224e5043 +3a4423666b3b4960324758324758323f4e32576b33657c443a4423262e35342d1f +262e35272c1f333522333522333522373e43342d1f272c1f24261c272c1f4c5026 +666b3b4e4425666b3b86874a75704d383c233335223a442366603395885cb2a053 +b2a0539f9035a0a03ab1a03d9e98539788348b90339e9853757b2d556024576b33 +5e74295558243f4e323a44233f4e32383c23333522262e35333522383c23272c1f +39444686874a68752b56603a4e4425565838383c23342d1f272c1f272c1f333522 +5560248ea0597b903487872c767b474758322f3c22383c234c5026666b3b555824 +66592c383c23333522383c233a44235560248b90338b9033a1a73ca0a03aa0a03a +9f9835a0a03ab0a83fb1af4db1af4db1a03da1a73cbeb751a0a03a9f9835a0a03a +a0a03a8b90338e9f3ba1a73cb1af4db1af4dc0a845b1a03dae993da48a3bb09954 +d1b876e0c492e0c492e0c492e0c492e3cc97decab4e0c492d1b890c2b868b0a83f +8e9f3b8c983576872d76872d6b852c7d97368e9f3b8ea83e6b852c576a1f5e7429 +47581f3a44233f4e1e55582476872d76872d8e9f3ba1a73ca1af4eb0a83fa0a03a +b0a83fd0c074c2b868ccb169c4bf65cdb85ecdb85ec1b064ccb169d1b876cdb85e +d0c074d0c074c2b868c1b064bfb04dbeb751bfb04dc1b064bfb04dccb169d1b876 +d1b876dcc17fdcc17fc3c17accb169b1af4da1a73c8c9835697c2b697c2b757b2d +757b2d76872d68752b757b2d5e742968752b576a1f5e74297c9053656c26555824 +3a44233a442347581f576b33656c264c50265558243f4e1e344d1e2f3c223f4e1e +3f4e1e49601f49601f565838656c26656c263f4e1e344d1e47581f47581f5e7429 +60832a5474285e74297b90348c98359e98538b9055656c26757b2d656c26767b47 +8b90559fa857778746757b2d656c26767b476b852c6b852c5474284b681e3c5822 +49601f41671b708f317d97366b852c4b681e49601f4c50264c502624261c342d1f +24261c24261c24261c24261c24261c4436233f4e1e3f4e1e3a4423333522342d1f +3335223f4e1e656c26576a1f3a44235560245560242f3c22272c1f4e504375704d +666b3b4c5026333522342d1f342d1f272c1f342d1f24261c272c1f342d1f333522 +342d1f272c1f3a4423555824757b2d76872d68752b5e74295e74294b681e3d5f25 +657c4484714474643e4e3d2244362324261c24261c342d1f342d1f342d1f272c1f +24261c342d1f272c1f383c233a44233f4e1e383c23272c1f3335224e3d22443623 +342d1f24261c24261c24261c272c1f272c1f24261c24261c24261c24261c24261c +24261c24261c1e241b24261c1e241b24261c1e241b24261c24261c342d1f272c1f +272c1f272c1f24261c24261c24261c2f3c2249601f5f7b2a60832a60832a697c2b +5e7429576a1f3f4e1e49601f49601f47581f4c50264c50263f4e1e4c5026555824 +3a4423383c23383c23383c233335223335223335224e3d224e3d22333522443623 +333522342d1f272c1f272c1f342d1f272c1f857d679a917884888775704d857d67 +757c71778746767b477c90538b9055627444767b475e74293043213c5822556024 +697c2b76872d697c2b5e7429576a1f344d1e4b681e47581f576a1f7b90345f7b2a +47581f5f7b2a708f318c9853757b2d5560243043213f4e1e3d5f253f4e1e3f4e1e +556024344d1e3c582249601f49732380a03b8b90336b852c576a1f4b681e3f4e1e +3335222a34383a44235658384960324b69336b852c6b852c576b33354c31373e43 +2e3c443f4e1e556024576b33666b3b576b33383c232a34383335223335224c5026 +475832576b333f4e1e4758323f4e323a4423576b3368752b383c23262e35342d1f +272c1f342d1f3336422b33222b3322383c23342d1f262e3524261c24261c4e5043 +666b3b4c50265f615668752b666b3b373e433335224e4425666033867c4ca48954 +978834887b2c87872c957c2f957c2f84712f7664279e98538b9055656c2656603a +657c44666b3b4c5026666033767b474c50263f4e32272c1f272c1f272c1f272c1f +272c1f3a4423666b3b3f4e32342d1f272c1f272c1f24261c333522576b33778746 +8b9055767b47767b477787465658382b3322342d1f2b33223335224c50262f3c22 +2b3322272c1f342d1f443623766e2d957c2fb1a03d9f9835b1a03db1a03dc0a845 +9f9835b0a83fb1a03dc2b868b0a83fbfb04db0a83fb1af4db0a83fa0a03aa1af4e +a0a03a8b9033b0a83fa1a73cb0a83fa0a03a978834978834978834ad903dc0a153 +ab9158ccb169d1b890d8c291d8c291d8c291d1b890d1b890e0c492b1b0698b9033 +7b903468752b49601f697c2b5e742968752b76872d7d9736697c2b47581f47581f +2f3c2230432149601f8b9033a1a73ca0a03a9f98359f9835b0a83fbeb751b1af4d +b1af4dc4bf65beb751b1a03dc0a845c1b064b1b069b1af4dbeb751beb751c2b868 +cdb85ec2b868b2a856b2a856c1b064b0b86cb0a83fb2a053c2a85ed1b876cdb85e +c1b064c2b868c2b868c1b064beb7518ea0598b90339f9154757b2d8c98537b9034 +8b9033656c2676872d68752b576a1f5560244c50263f4e1e576a1f5558243f4e1e +47581f3c582247581f3f4e1e4b69333a4423383c2347581f656c2647581f383c23 +272c1f4c50263f4e1e30432155602449601f49601f4b681e5e742949601f697c2b +5f7b2a576a1f697c2b6b852c8b90338c98358ea0598b90559e98538c98538c9853 +8b90337c905376872d8c98537b9034656c26496032576a1f47581f47581f4c5026 +475832344d1e708f316b852c5f7b2a49601f4b681e3f4e1e3a442324261c272c1f +24261c342d1f272c1f342d1f24261c342d1f333522383c232b3322333522272c1f +3335223a44234c50265558245560247664274c5026556024333522342d1f4c5026 +5658384e4425272c1f272c1f3a44233f4e1e342d1f272c1f3a442347581f49601f +383c232b3322344d1e656c269e9853b2a0539f9154556024757b2d7d97367b9034 +55602456583866592c342d1f342d1f24261c1c1e19342d1f24261c24261c24261c +24261c342d1f24261c333522342d1f333522342d1f272c1f2b33223a44233a4423 +3a44232b332224261c383c2333352224261c24261c342d1f272c1f24261c24261c +24261c24261c24261c1c1e1924261c24261c24261c24261c2b33225558243f4e1e +333522383c23272c1f272c1f24261c2b33225e74296b852c6b852c576a1f68752b +76872d576a1f49601f47581f47581f41671b47581f49601f47581f3f4e1e3a4423 +383c23383c23383c23383c233f4e1e4e4425574f264e4425443623383c234e3d22 +383c23443623383c23342d1f342d1f33352275704d9a917884714456583887886d +8b90557787468b90556b85458b9033767b47576b33697c2b3f4e1e344d1e68752b +76872d6b852c6b852c5e7429697c2b576a1f5474283d5f2549601f697c2b556024 +49601f5f7b2a6b852c6b852c656c263f4e1e2f3c2249601f344d1e2f3c222f3c22 +304321344d1e344d1e4b681e697c2b80a03b8b903376872d5f7b2a576a1f2f3c22 +2e3c44272c1f394446555824555824496032576b336b8545576b334b6933354c31 +2f3c224b6933657c444960324c50267787464758323a4423304321475832627444 +767b476b85453d5f254758323f4e1e556024778746657c443f4e1e2b332230444d +383c233f4e324c5026574f265658383a4423262e352a3438383c233a4423373e43 +4e5043333522373e43604f2a565838333522272c1f383c234c502674643e9f9154 +9fa8578b90339f91548c98359e9853887b2c87872cae993d8b9055576b334c5026 +766e2d4c50264c5026666b3b75704d3a44233f4e3224261c24261c272c1f272c1f +24261c342d1f4e504333352224261c272c1f24261c24261c383c238b90558b9055 +4c5026342d1f272c1f342d1f272c1f24261c272c1f1e241b1e241b272c1f24261c +272c1f272c1f342d1f383c2366592c76642787872c957c2f978834978834a48a3b +887b2c9788349f9035a48a3b9e9853b1a03d9f983587872c9788349f9835a0a03a +9f98359f9835b0a83fb1af4d9f90359f90359f903595885c9e9853b09954c4a979 +c0a153c4a979ada17fc4a979c4a979b09954aea886b1b069c4a979c1b064b0a83f +757b2d757b2d76872d47581f3f4e1e556024656c26656c263f4e1e333522383c23 +3f4e1e383c233f4e1e8b9033a1a73ca1a73cb1a03db2a053c1b064b1af4db1af4d +a1af4ea1a73cb1af4dc0a153b2a856b1af4db2a856c2b868b1b069b2a856b1b069 +c1b064b1b069b0a83f9e9853b2a0539f98358e9f3b8ea059b2a856b1b069b2a856 +bfb04db0b86cb2a053c1b064b1af4da1a73c9e98538b90338c983576872d86874a +8b90337c90538b903386874a778746656c2647581f475832576b3347581f344d1e +555824576b33767b47697c2b3a442355582468752b7787467c9053656c262b3322 +4c5026697c2b6b852c576a1f3f4e1e3f4e1e556024627444576a1f576a1f68752b +576a1f47581f757b2d8b90557b90349e98539fa0568c98538ea0598c98538ea059 +8c98538b903376872d8c9853778746767b47778746666033657c44576a1f47581f +576b337f97537b90344b681e767b47666b3b5e742976872d383c2324261c24261c +24261c272c1f24261c24261c272c1f272c1f3335222b33223335223a4423383c23 +2b33222f3c223f4e1e5e742968752b656c263a442355582447581f2b3322342d1f +333522333522272c1f272c1f5560245e7429576a1f556024656c2668752b68752b +666033576a1f767b47778746aea886c2b868ada17f9fa8578b9055767b47766e2d +6660334e44254e3d22443623342d1f24261c24261c342d1f342d1f342d1f24261c +443623574f264e3d22342d1f4436234e44253335223a4423383c23383c23555824 +576a1f5560244c5026656c26574f26342d1f342d1f383c23443623342d1f24261c +342d1f24261c24261c24261c24261c24261c24261c24261c272c1f3a4423333522 +3f4e1e383c23272c1f272c1f2b332247581f76872d697c2b68752b555824656c26 +8b9033697c2b5f7b2a576a1f49601f5e74293f4e1e3f4e1e3a4423383c232b3322 +272c1f333522333522383c234c502655602466592c4e4425383c234e4425333522 +333522383c23333522342d1f342d1f3335224e4425666c5e4e5043565838657c44 +697c2b867c4c6b85457787468c98538c985376872d757b2d47581f576a1f778746 +757b2d86874a656c26576a1f3c5822576a1f49601f3c58223d5f254b681e576a1f +708f31557f226b852c757b2d757b2d47581f344d1e576a1f47581f3f4e1e2f3c22 +383c232f3c223f4e1e576a1f5f7b2a8c98358e9f3b76872d5e742949601f333522 +3a44232e3c442f3c2256603a56603a496032475832547428576b33576b334b6933 +576b335f7b2a6b85456b854568752b657c4468752b657c444960323f4e324b6933 +5e74296b854541671b4b69334b6933627444767b476b8545618345344d1e3f4e1e +475832576b33666b3b867c4c767b473f4e1e4c50264b6933627444556024475832 +3f4e1e4436233335224e44253a44232e3c442b33222f3c222f3c223f4e3284712f +8c98357197328c98358c985376872d87872c8c983587872c757b2d55602456603a +666b3b5658383a44234e4425574f26373e4333352224261c24261c272c1f272c1f +262e354758325558243a4423262e35272c1f24261c24261c33352277874686874a +666b3b383c23383c233a442333352224261c24261c24261c24261c272c1f272c1f +24261c272c1f272c1f3a4423766427766e2da48a3b9f9035a48a3b978834a48a3b +84712f978834978834957c2f978834ad903d887b2c757b2d887b2c957c2f978834 +97883487872cad903d978834887b2c84712f84714474643e857d6795885ca48954 +a48954977c4fa48954977c4fa48954977c4f977c4f9a9178977c4f9e98539f9035 +867c4c5560244e3d22333522342d1f333522443623574f26333522272c1f272c1f +5558245560248b90339f903587872c86874a9788349f9035b2a856ae993db2a053 +9f90359f9835b1af4db1a03d9e9853b1b0699fa857b1b0699fa056b0a83fb2a856 +b2a856b2a856a1a73c9f9835b1a03d9f90359f9835b2a856c2a85eb2a856b1a03d +b1a03db2a856ae993dc0a153b2a053b2a0539fa0568c98538c98538b903386874a +86874a8b9055697c2b8c98538c98538b90558b9055767b4768752b3f4e1e475832 +86874a627444556024656c2668752b666b3b8b90337787466b852c556024383c23 +6b8545627444697c2b5e74293f4e32576b334c50264c50263a4423666b3b656c26 +383c23333522666033604f2a66592c86874a8ea0598b90337787469fa056778746 +76872d77874686874a8b905568752b576b33666b3b55582462744468752b656c26 +7c9053778746666b3b576b3362744486874a77874677874655582433352224261c +272c1f3a4423272c1f24261c272c1f272c1f272c1f3335223335223a4423574f26 +47581f49601f49601f656c26656c264c50264c5026383c235560243a4423272c1f +272c1f342d1f272c1f272c1f5e74294973235e7429697c2b76872d757b2d887b2c +9fa056b1b0699e9853aea8869e98539fa056ada17fa0a03a86874a4e4425383c23 +4e3d22383c23342d1f272c1f342d1f24261c342d1f24261c24261c24261c24261c +4e3d2274643e66592c84712f6660334e44254e44254e442533352224261c333522 +4e44253f4e1e556024656c2687872c757b2d555824555824555824574f26333522 +342d1f342d1f333522383c2333352233352233352224261c342d1f272c1f342d1f +3a44234e44254c5026383c233f4e1e697c2b8b90338b903387872c757b2d757b2d +9f98358b9033708f31697c2b4b681e576a1f576a1f3a4423304321383c232b3322 +272c1f2b3322272c1f333522333522383c234e4425574f26443623333522333522 +3335223a4423383c23333522383c23383c233f4e325658385f6156767b47666b3b +657c448b90558c9853697c2b8e9f3b7b90346b852c7b9034767b4747581f697c2b +8c9853778746576a1f5e74294b681e49601f3a442347581f5474285e7429576a1f +576a1f697c2b5e74295e742968752b3a44233f4e1e3f4e1e30432149601f68752b +342d1f272c1f3a442368752b76872d8c98358e9f3b757b2d47581f41671b3f4e1e +383c233944462f3c223f4e1e47583249601f4b69334b69333d5f25344d1e4b6933 +5474435f7b2a7b90346b8545656c266b852c61834554742847581f49601f68752b +6b852c708f314b69333f4e1e2e3c442b33222f3c224c5026657c445e74293d5f25 +2f3c222f3c222f3c22666b3b68752b4758324c5026475832383c23383c23373e43 +3a44234c50262e3c442f3c224758322f3c223f4e1e496032354c3147581f778746 +708f31697c2b76872d76872d76872d8b90339e985376872d666b3b3f4e1e4e4425 +3a44233f4e323a44233335222f3c223a44233a44232a34382f3c22333522272c1f +383c2375704d56603a565838383c233a442333352224261c272c1f3335223a4423 +766e2d77874676872d8c9853666b3b383c23333522342d1f383c23666033383c23 +333522272c1f272c1f3335224e442555602487872c87872c9f98359f90359f9835 +87872c9f98359f9154b0a83f9e9853ae993da0a03a9f98358b90339f98359f9835 +8b90338b90339f9835b0a83f978834978834887b2c977c4f95885c95885cab9158 +ab91589d9981ab9158ada17fada17fa48954ab91589e98539f9154ab9158978834 +766e2d3a4423272c1f272c1f24261c24261c24261c272c1f24261c24261c333522 +757b2d87872c8b9033666b3b4e4425604f2a604f2a766427b099549f90359f9035 +957c2f957c2f97883487872c978834b2a856a0a03a9fa056757b2d9788349e9853 +9788349f98359f90359f9035957c2f978834ad903dc2a85ec0a153ae993da48a3b +ad903dab9158957c2fa489549f91549f90359e98539f9154767b47867c4c86874a +8b9055767b4766603356603a767b4786874a778746767b4786874a666033565838 +4c50264c502656603a656c26778746767b478b90337787468b905576872d576b33 +767b47656c2668752b767b47627444565838666b3b666033666b3b5f615666592c +4c50264c50263f4e1e2b3322666033627444867c4c66603356603a778746778746 +86874a6b8545697c2b767b47666b3b4c5026666b3b4c502656603a778746778746 +778746666033383c23383c233a4423666b3b767b47666b3b3f4e1e342d1f24261c +272c1f33352224261c24261c342d1f24261c24261c333522555824555824957c2f +766e2d757b2d766e2d766e2d766e2d766e2d604f2a4e4425574f26443623342d1f +272c1f272c1f24261c272c1f49601f6b852c697c2b697c2b7b90348b90338c9835 +8b90559fa0569fa0569e9853767b47766e2d86874a757b2d66592c342d1f333522 +342d1f24261c24261c1c1e19342d1f342d1f24261c342d1f24261c24261c24261c +342d1f604f2a847144977c4f957c2f666033443623443623342d1f342d1f24261c +383c23556024383c234c5026656c2687872c87872c666033656c26555824333522 +272c1f3a44234c5026383c233a44235558244e44253335223335224c5026555824 +5558247664279f9154887b2c757b2d8c98359f9835a0a03a9f9035a0a03a9f9835 +8b90338c98358e9f3b76872d656c264b681e49601f3043213f4e1e344d1e2f3c22 +2b33222f3c222f3c222f3c223335223335222f3c22383c23333522333522383c23 +3a44233f4e1e3335222b33223f4e1e47581f555824767b478b9055767b477c9053 +9e9853aea8868c98537c90537c9053757b2d697c2b76872d8e9f3b757b2d68752b +8b903386874a5e7429576a1f76872d576a1f49601f4b681e697c2b5e742968752b +5e7429576a1f5e7429576a1f656c263a442349601f344d1e2f3c223f4e1e576a1f +3043212f3c22656c26697c2b76872d8e9f3b7d97366b852c576a1f3c582247581f +383c23394446354c313f4e323c5822576b335f7b2a4b69333c58223f4e32354c31 +354c314b693376872d5f7b2a5e74296b852c576b333d5f253d573b4c5026475832 +68752b5e74293043212f3c222e3c44272c1f2a34383335223a4423576b333f4e1e +3043212a34383f4e1e56603a4b6933576b33697c2b5560243f4e32383c23333522 +383c233a44233a4423354c3147581f344d1e4b693368752b49601f576a1f778746 +708f3176872d7d97366b852c8b9033a1a73ca0a03a697c2b576a1f3a4423333522 +3335224758322f3c223f4e32627444576b33767b47576b33475832304321333522 +2f3c225558243f4e1e3f4e1e56603a62744447581f383c232b3322383c23383c23 +383c23697c2b697c2b576a1f3f4e323a4423383c23383c2355582468752b666b3b +767b47556024383c233a4423383c2347581f76872d76872d8c98357b90348b9033 +8b90339f98359f9835a0a03aa0a03a9f98359f9835a1a73c9f98358c98359f9835 +8b903376872d8b90339f98358c98358b903387872c887b2c887b2c978834a48954 +a48954c4a979d1b890d1b890ccb169d1b890c4a979c0b197d1b890c1b064a0a03a +757b2d656c2647581f3a44232b3322383c233a4423556024333522272c1f272c1f +383c234e442566603397883476872d887b2c978834978834b2a0538b90339f9035 +957c2f9788349f90359f903587872cb2a053a0a03aa0a03a87872c87872c9f9035 +9788348b90339f9035957c2f84712f957c2fa48954b09954b09954978834a48a3b +957c2f957c2f604f2a76642784712f887b2c867c4c767b47757b2d66603366592c +767b47767b475658384c502675704d867c4c86874a87886d767b47666033383c23 +5658384e50433f4e3268752b8b9055767b477787467664278b9055778746778746 +576a1f767b47767b47666b3b68752b767b47778746574f26574f26383c23333522 +4e4425666b3b383c23272c1f3335223a44233a4423342d1f333522666b3b767b47 +778746757b2d576a1f767b47666033555824666b3b666b3b4c502656603a666b3b +767b4755602456603a4c50263335223335224e50434c50262f3c2224261c24261c +24261c24261c24261c272c1f383c23342d1f24261c33352266592c84712f887b2c +84712f978834887b2c766427887b2c887b2c766427887b2c766427574f264e3d22 +383c23333522272c1f333522656c2676872d5e74295e74297b90347b90347b9034 +87872c8b90338b905586874a6660335558244e44252f3c222b332224261c272c1f +272c1f24261c24261c24261c24261c342d1f342d1f342d1f24261c24261c342d1f +342d1f4436234e4425604f2a604f2a574f264436234e442544362324261c272c1f +3f4e1e56603a3a4423383c2333352255582475704d766e2d656c26766e2d333522 +3a4423656c265560244e4425383c2347581f3a44235558243a4423555824574f26 +666033757b2db2a053b2a856ae993db0a83fa1a73ca0a03aa0a03ab0a83fb0a83f +a0a03a9f9835a1a73c7b9034576a1f4b681e576a1f3043213f4e1e3c5822304321 +2f3c222f3c222b3322383c23304321383c233a44233043213f4e1e3f4e1e47581f +576a1f5560243f4e1e3f4e1e576a1f576a1f7787469d99818c985386874a8b9055 +8ea0599fa0569fa0565e74298c98538b9033767b4768752b757b2d8c98538b9033 +68752b5e742968752b7f97537b9034697c2b5e74295e7429576a1f3a4423556024 +76872d697c2b697c2b576a1f49601f656c265f7b2a576a1f3a44233f4e1e757b2d +3f4e1e3c58225e7429576a1f76872d8c98357d97366b852c49732341671b49601f +333522373e433043214758324758324b681e4758323f4e323043213043213f4e32 +354c31657c4460832a657c445f7b2a567f3a49603230444d3043213a4423373e43 +657c444b6933344d1e344d1e4758322e3c44342d1f272c1f2a34383c5822344d1e +304321344d1e49603241671b49601f3f4e1e47583247581f47581f3f4e1e3f4e32 +3043213a44232f3c22383c233a4423383c233f4e325560245e742976872d778746 +7b903476872d76872d767b478b90338c985376872d757b2d68752b576b332f3c22 +2f3c22383c232b33223a4423556024383c23354c3149603241671b3f4e1e3f4e32 +3a4423576a1f576b333a4423344d1e4b681e697c2b576a1f5e7429576a1f5e7429 +697c2b757b2d76872d68752b3f4e32383c233f4e1e4c50264758326660333a4423 +4c50265560243f4e1e3f4e1e4b681e47581f76872d7d97368c98358c98358c9835 +9f98358c9835a0a03aa0a03aa0a03a9f98358b90339f98359f98358b903387872c +8e9f3b76872d8b90338b90339f9835b1a03db1a03dc0a1539f9035a48954c0a153 +c4a979e0c492ccb169c0b197c4a979d8c291d8c291c3c17ad1b890d1b8768c9835 +656c26576a1f68752b47581f3a442349601f4b681e5560243a44232b33222f3c22 +2f3c222f3c223a442376872d8c98358c98358b90339f90359fa0569f98358e9f3b +9f98358b9033a1a73c9f98359e98539fa0569fa0569fa8578c98539e9853ae993d +a0a03aa0a03a9f90358b90339f903587872c86874a9e9853b09954ae993d978834 +ae993dae993d9f9035ad903da48a3b957c2f86874a766e2d5558243a4423383c23 +4c5026383c23333522342d1f333522383c23604f2a333522342d1f272c1f272c1f +3a4423333522342d1f3f4e1e4e4425555824656c26656c26656c26666b3b4e4425 +574f26766e2d86874a5658384436234e504374643e565838342d1f383c23333522 +272c1f333642342d1f24261c24261c24261c24261c272c1f333522778746778746 +857d6768752b666b3b68752b666b3b56603a767b47767b47666b3b4758324c5026 +6274446660334c502655602455602455602447581f4c5026342d1f342d1f24261c +1c1e191c1e1924261c24261c342d1f342d1f24261c342d1f383c23604f2a4e4425 +76642776642776642766592c604f2a66592c66592c84712f887b2c766e2d666033 +604f2a333522383c233f4e1e757b2d757b2d556024656c2649601f697c2b86874a +76872d8b90559e985386874a75704d574f26342d1f24261c24261c24261c342d1f +24261c342d1f24261c24261c24261c342d1f342d1f342d1f1c1e1924261c24261c +272c1f342d1f3336424436234436233335224e3d224e3d2244362324261c24261c +333522333522342d1f24261c24261c342d1f383c23333522342d1f4e4425556024 +76872d86874a766e2d6660333a44234e4425757b2d887b2c4e44254c5026766e2d +766e2d9fa0569f9154c2a85e9fa056b0a83fb0a83fa0a03a8e9f3ba1a73ca1a73c +a0a03a8e9f3ba1a73c8e9f3b7d97367b9034697c2b3c582249601f576a1f3a4423 +344d1e2f3c222f3c222f3c22304321304321344d1e344d1e5e7429697c2b6b852c +76872d76872d68752b68752b8b90339f9035a1a73cb1b069b2a8569e98539fa857 +b2a8569fa857b2a85686874a8c98539fa8577b90347b90345f7b2a68752b8b9033 +708f3168752b68752b757b2d76872d76872d697c2b68752b5558243a442349601f +76872d5e74295e74295e74295f7b2a708f31656c26576a1f54742849601f3c5822 +3f4e1e3f4e1e576a1f47581f7b90348e9f3b8e9f3b71973276872d4973233d5f25 +333522373e43383c233a44233f4e323f4e1e3a4423373e43373e432f3c22304321 +4b693360832a547428576b335e742941671b354c31304321304321304321475832 +5474283d5f254b69334b69334960322f3c22272c1f262e352a34383d5f253d5f25 +344d1e3d5f253c58223c58223d5f254960323f4e1e47581f576a1f5e7429576b33 +3a44232a34383335222a34383335222b3322272c1f383c23475832576a1f697c2b +5e7429757b2d656c26555824666b3b757b2d6b852c697c2b5560244b69332f3c22 +3a4423373e432b33224960325560242f3c223f4e1e4b6933475832344d1e3f4e32 +49601f4b681e576a1f556024576a1f697c2b6b852c697c2b5474285f7b2a8b9033 +757b2d767b4784712f7b90346b852c697c2b697c2b47581f576b333f4e1e3f4e1e +3f4e1e5560243f4e1e344d1e49601f3a4423656c26697c2b8b9033a1a73c8c9835 +8e9f3b76872d87872c9f9835a0a03a9f9835a0a03a9f9835ae993d9f98359f9835 +8e9f3b8b90337b9034757b2d978834887b2ca48a3bc0a845c2a85ec0a153d1b876 +d1b890d1b890c4a979ccb169c4a979d1b890decab4d3cea2c1b0649e985387872c +6b852c5e74295560245e74294b681e576a1f60832a76872d5e74293f4e1e47581f +2f3c222b33223f4e1e55602476872d8b903387872c8b9033a0a03aa0a03aa0a03a +a1a73c9fa056b2a8569f9835a0a03a9fa0569fa056b2a8569fa857b0a83fb2a053 +a1a73cb2a8569f98359f90359f98358b903387872c8b90339e9853b2a0539f9835 +b2a053b1a03d9f9835ae993d9f983587872c757b2d666b3b666b3b555824555824 +666b3b666b3b4c50263a44234e504356603a75704d4e5043383c23443623342d1f +3f4e1e4c50262f3c2255602475704d656c26656c26556024757b2d656c26576b33 +4c5026666b3b767b47475832383c23574f266660334c5026272c1f383c23333522 +272c1f383c23342d1f1c1e1924261c24261c24261c24261c24261c3a442356603a +3a442356603a4e44254758324e4425383c234758324e4425333522272c1f2b3322 +4c5026767b4756603a5558244e50433335224c502647581f383c23272c1f24261c +24261c1c1e1924261c342d1f24261c24261c24261c24261c342d1f443623443623 +4e3d224e44254436234e3d22342d1f443623443623383c234e442566592c66592c +4e44254e3d224e4425333522574f26604f2a666033767b47666033576b3386874a +9e98539e98538b90804c50264e5043383c23272c1f24261c342d1f443623342d1f +24261c24261c342d1f24261c24261c24261c342d1f24261c24261c24261c342d1f +342d1f24261c333522333522342d1f3335224e3d224e4425342d1f24261c1c1e19 +24261c24261c24261c24261c24261c24261c24261c24261c24261c342d1f74643e +666b3b574f26443623574f26574f2666592c66592c4e44254e3d22333522766427 +6660339f90359f90359788349fa056a0a03aa0a03a8e9f3b8c9835a0a03aa1a73c +a0a03a80a03b8ea83ea1a73c8ea83e8e9f3b8c9835576a1f576a1f757b2d3f4e1e +3f4e1e3f4e1e344d1e344d1e49601f47581f47581f5e74298c98359f9835a1a73c +b1af4da1a73ca0a03a8c9835a1a73cb1af4db0b86cc4bf65beb751b1b069c2b868 +b2a8569fa0568c98538b90338c98358c985376872d7787465e742949601f656c26 +60832a5e742968752b656c26766e2d76872d68752b6b852c656c2649601f49601f +4b681e60832a7b9034576a1f576a1f6b852c68752b68752b5f7b2a4b681e3d5f25 +576a1f5558243f4e1e3043215e74298c98358c98358ea83e6b852c5f7b2a557f22 +2f3c223335222e3c442f3c223f4e324960323a44232f3c222f3c22394446496032 +5f7b2a5474284b6933547428567f3a49601f3d573b4758323f4e32354c314b6933 +4b69333d5f254b681e3c58222f3c22262e35272c1f272c1f354c314b69333d5f25 +3d5f254b69334960323c582254742849601f47581f5474284b693349603247581f +344d1e2f3c222b3322262e35272c1f262e35272c1f2b33222f3c22344d1e5e7429 +6b852c7b90344b681e47581f576a1f757b2d8b9033697c2b556024354c31304321 +47581f3d5f25304321576b33697c2b49601f49601f3f4e1e3f4e32333522272c1f +4b681e5474285474285e74295e74296b852c6b852c697c2b576a1f49601f576b33 +47581f5558243f4e1e556024656c265e742947581f3a44233a44233f4e1e47581f +49601f47581f2b3322272c1f333522272c1f383c23556024757b2d8b90338b9033 +76872d5e7429555824757b2d87872c9f9035b1a03db1a03db1a03dae993d9f9835 +9f98358c98358b9033757b2d76872d766e2d766e2dae993db2a053ccb169c4a979 +ccb169d1b890c4a979ccb169ccb169d8c291d1b890decab4d1b890b1af4da1a73c +7b9034708f315f7b2a557f225e74296b852c6b852c7b90345e742949601f49601f +3f4e1e344d1e3f4e1e3f4e1e55602455602468752b76872d8b90339f98358c9835 +9f9835b1af4dc1b064b0a83fb2a856c0a845b2a856b2a856b1af4db1b069b1af4d +c1b064b0b86ca0a03a9e9853b0a83fa0a03aa0a03a9f9835b0a83fc1b064c2a85e +b2a856b2a856b2a856b2a053a0a03a86874a757b2d757b2d656c2668752b767b47 +767b47656c2647581f4c5026766e2d767b47757b2d778746778746576a1f3a4423 +383c233a44234c502655602462744468752b76872d576b33697c2b62744468752b +576b33666b3b666b3b556024576b3356603a75704d4c50264e5043333522383c23 +4e4425555824333522342d1f24261c342d1f24261c24261c24261c383c23475832 +3a4423555824383c235558244c5026574f263a44233335222b33222b33222b3322 +3f4e1e5558244c50264c50264c5026342d1f3f4e1e4c502644362324261c1c1e19 +24261c24261c24261c24261c342d1f342d1f24261c342d1f443623604f2a604f2a +766427766427604f2a604f2a604f2a604f2a574f26766427766427766427604f2a +4e4425333522342d1f4e44255558246660336660334e4425383c23383c234e4425 +4e5043574f26443623342d1f342d1f24261c1c1e1924261c24261c342d1f342d1f +24261c342d1f342d1f24261c24261c24261c24261c24261c24261c1c1e19342d1f +24261c24261c24261c24261c24261c24261c342d1f33352224261c24261c342d1f +24261c342d1f342d1f24261c24261c24261c24261c24261c24261c24261c272c1f +272c1f272c1f24261c24261c342d1f272c1f24261c24261c24261c24261c4e3d22 +4e3d22766e2d978834887b2c87872c9f98358e9f3ba0a03a8b9033a1a73ca0a03a +a0a03aa0a03abeb751b0a83fb0a83f8ea83ea1a73c708f31757b2d87872c6b852c +576a1f5e74293c582249601f54742887872c76872d8c9835b1af4daeb84ec4bf65 +c4bf65beb751beb751bfb04dbeb751cdb85ec2b868cdb85ec4bf65d0c074d0c074 +b1b069b1af4d9e98539f98359e985376872d76872d697c2b547428697c2b60832a +5f7b2a576a1f5e7429757b2d87872c574f26556024697c2b68752b55602449601f +49601f576a1f656c26576a1f576a1f5474285e7429656c265f7b2a3f4e1e47581f +49601f497323576a1f54742860832a8b90337b90348ea83e708f317d973676872d +3a4423373e43383c233c58225474283d5f2530432130444d3043214b69335f7b2a +6b852c557f225474435f7b2a567f3a4b69333d5f254b69333c58223d573b557f22 +4b69333d573b5474283f4e1e2b332224261c342d1f262e353a44233c58223f4e32 +3c582249601f49603247581f576a1f496032344d1e49601f41671b3f4e323c5822 +47581f304321373e43272c1f342d1f2b33222f3c223043213043214b693376872d +6b852c8b90336b852c576b33576a1f6b852c697c2b576a1f5560243f4e1e3c5822 +5e74295e7429304321556024697c2b576a1f3f4e322b33223335222b3322272c1f +49601f576a1f5474285e7429576a1f576a1f5e742947581f4c5026344d1e3a4423 +3f4e322b33222b33223a4423383c233f4e1e383c23383c23342d1f272c1f2b3322 +333522272c1f272c1f272c1f272c1f272c1f272c1f3a442349601f3f4e1e555824 +5558243f4e1e3a44234c5026555824766e2d9788349f90359f9035ae993db1a03d +9f98358b90338b903368752b68752b757b2d978834ae993dc0a153ccb169ccb169 +ccb169ccb169ccb169dcc17fd1b890e0c492d1b890c4a979e0c492d0c0748e9f3b +76872d8b9033576a1f3f4e1e47581f47581f3a442347581f697c2b497323497323 +4b681e3f4e1e556024576a1f47581f3a44233a44233f4e1e576a1f757b2d8b9033 +76872d9f9035c0a153c4bf65c1b064c2a85ec2a85ec0a153c2a85ec2a85ec1b064 +c1b064c2b868b2a856c2a85eb2a053b2a053a1a73cb2a053b2a053c0a153c0a153 +c2a85ec1b064c1b064c1b064a1af4e8b90338b90558c9853757b2d76872d68752b +68752b68752b576a1f767b47778746867c4c767b47666b3b766e2d3a44234c5026 +75704d55582447581f4c5026666b3b56603a767b475e7429767b47656c263f4e32 +56603a4758325560245560244758324c50265658384e44255658385560244c5026 +333522383c233a4423272c1f3335224e44255560244c50264e4425697c2b697c2b +576b33666b3b666b3b767b47666b3b55602468752b666b3b55602447581f344d1e +576b3368752b3a4423383c234c50264c50263a44232f3c22272c1f1c1e1924261c +1c1e1924261c24261c342d1f342d1f24261c24261c342d1f574f2666603384712f +66592c84712f76642766592c84712f766427604f2a766e2d66592c4e44254e3d22 +4e3d22342d1f342d1f383c233f4e1e766e2d6660334e4425272c1f2b3322272c1f +3335223a4423272c1f24261c24261c342d1f24261c24261c24261c342d1f342d1f +24261c24261c24261c24261c24261c24261c342d1f1c1e19342d1f1c1e1924261c +24261c342d1f24261c342d1f24261c342d1f443623443623342d1f1c1e1924261c +342d1f342d1f342d1f342d1f1c1e1924261c24261c24261c24261c342d1f342d1f +342d1f24261c24261c342d1f272c1f24261c24261c24261c24261c24261c342d1f +443623574f2684712f666033766e2d8b903387872c9f983587872c97883487872c +887b2c87872cbfb04db0a83fb1af4da1a73cb1b069a1a73ca1a73c9fa056a0a03a +8c98357b9034757b2d68752b576a1f8b9033b0a83f9fa857c4bf65c3c17ac4bf65 +c4bf65c3c17ac4bf65c4bf65c4bf65c4bf65d4cb83c4bf65c4bf65d0c074d0c074 +bfb04d8c98538c98358c98538b90339f98356b852c5560245e7429697c2b576a1f +5e7429697c2b697c2b576a1f5560245558245560245f7b2a76872d76872d5e7429 +576a1f576b3349601f5e74295560245e742949601f5560245e74293f4e1e3f4e1e +344d1e697c2b708f31697c2b7d97368c98357b903480a03b8ea83e8ea83e6b852c +383c23394446383c233d573b4b69333d5f253c58223c58223c5822576b33618345 +6b852c6183455f7b2a4973234960323d5f254b69335474283d5f25354c314b6933 +4973233d5f255474283d573b342d1f262e352b33222a34382f3c223043213d5f25 +47581f3d573b3f4e1e2f3c223f4e323f4e1e3a4423344d1e3f4e1e3f4e1e496032 +3c58223f4e1e344d1e2f3c22373e433043213d5f255f7b2a4b681e60832a778746 +697c2b60832a6b85457197325474285e7429556024344d1e49603241671b576b33 +576a1f576a1f3f4e1e55602486874a576a1f3043213f4e1e2b3322272c1f2b3322 +344d1e3f4e1e3f4e1e55602447581f3f4e1e49601f3a44232b33223335222b3322 +2b33222b3322272c1f272c1f272c1f272c1f272c1f272c1f24261c24261c272c1f +333522383c23272c1f24261c272c1f272c1f272c1f3043213f4e1e2f3c222b3322 +333522383c233a4423383c233a4423555824555824766427766e2d766e2d978834 +9f98359f903587872c87872c87872c9f9035b1a03dc2a85ec2a85ec4a979ccb169 +c4a979c0a153ccb169d1b890ccb169d1b890d8c291d1b890d1b890d1b876b1af4d +a0a03a8e9f3b576a1f47581f3a44236b852c47581f2f3c2249601f697c2b49601f +383c232b33223043213f4e1e3a44232b33222b3322383c23556024556024556024 +656c26757b2d87872cada17fc1b064d1b890c0a153c0a153d1b890ccb169c0b197 +d1b890c0a153c2a85eb2a053c2a85eb2a856b2a053b2a053c0a153c0a153ccb169 +c0a153b2a856c0a153d1b876b2a856a0a03a9e985387872c77874668752b757b2d +767b47757b2d75704d76872d68752b666b3b5558243f4e3256603a3a44233a4423 +56603a576a1f576b336274443a44233f4e32576b33697c2b697c2b5560242b3322 +666b3b576b33556024556024383c233a44233a44233a4423383c23475832666033 +3335222b33224e4425383c2366592c656c26656c26556024576b3386874a778746 +778746656c26666033666b3b666b3b666033666b3b66603355602447583256603a +697c2b4c5026565838555824333522383c23383c234e4425342d1f24261c342d1f +24261c44362324261c1c1e1924261c24261c24261c333522383c2344362366592c +604f2a76642766592c555824555824574f264e44254436234e3d22333522342d1f +342d1f272c1f24261c272c1f342d1f574f26555824555824333522342d1f3f4e1e +556024767b47666033574f2666592c342d1f24261c24261c24261c24261c24261c +24261c24261c1c1e1924261c1c1e19342d1f342d1f24261c24261c24261c342d1f +24261c342d1f4436234436234436234436234436234e4425342d1f342d1f1c1e19 +342d1f342d1f342d1f443623342d1f1c1e19342d1f24261c342d1f342d1f4e4425 +66592c443623342d1f604f2a342d1f272c1f342d1f342d1f24261c342d1f66592c +574f2676872d9f9035887b2c8b90339f98358b90338c98359788349f98359f9835 +9f9835a0a03ab1af4dbfb04dbfb04db0a83fc3c17ac3c17ab1b069c2b868c3c17a +c2b868a0a03a9f983587872c76872db2a856beb751b0b86cc4bf65d0c074c3c17a +c2b868c4bf65c4bf65c4bf65c4bf65c4bf65d0c074d0c074c4bf65c4bf65c1b064 +bfb04d9f903587872c8b90338b90338b90338c9835697c2b757b2d757b2d5e7429 +5e7429656c26697c2b4b681e68752b5560245e74295e742976872d76872d6b852c +778746697c2b49601f4b681e60832a697c2b76872d8b90336b852c49601f2f3c22 +383c2366603368752b6b852c80a03b8e9f3b8e9f3b8ea83e9eb74c8e9f3b697c2b +383c23373e433335223f4e323d5f253d573b3043213944463043213f4e3249601f +60832a60832a567f3a5474284b69333d5f254960325474284973234b693341671b +3d5f253d5f255f7b2a3d5f252f3c222a3438354c313d573b354c313f4e1e547428 +3d5f253c5822344d1e2f3c223335222f3c222f3c222f3c223043213a4423475832 +4758323f4e1e3043212f3c222f3c223043214b6933576b334b69336b85457c9053 +6b852c6b852c5e742976872d5e742960832a5e74294b681e576b33547428547428 +576a1f576b3349601f697c2b7c90535560243f4e1e5f7b2a3043212f3c222b3322 +2f3c22272c1f2b33222f3c223f4e1e3a4423383c23342d1f24261c272c1f1e241b +24261c24261c24261c24261c24261c24261c24261c24261c24261c272c1f2b3322 +3f4e1e5e74293a4423272c1f272c1f272c1f2b3322344d1e344d1e2b33222f3c22 +333522272c1f342d1f342d1f383c23443623383c23383c23574f26574f2666592c +9788349f90359f90359f9835a0a03ac0a845b1a03dc0a845c2a85ec0a153c0a153 +c0a153c0a153ccb169d1b876ccb169d1b876d1b890ccb169d1b890d1b890c2b868 +b1b0697b903449601f3f4e1e3f4e1e47581f697c2b5e74295f7b2a697c2b344d1e +272c1f2b33223043213f4e1e2f3c222f3c223a44233a4423574f26576a1f5e7429 +5e7429697c2b757b2d87872cada17fb2a053ab9158a48954c0a153d1b890d1b890 +d1b876c1b064c4a979c0b197c1b064c0a845ae993dc2a85ec2a85ec2a85ec0a153 +ccb169b2a0539f9154c0a153c1b0649fa05677874668752b697c2b76872d68752b +68752b576a1f656c26576a1f4c50263f4e1e3a4423383c233a44233f4e1e3a4423 +3a44233a44233f4e32383c233a4423383c23383c233f4e32576b334c50262b3322 +30432147581f576b333a4423383c232f3c223a44234b681e5658383f4e1e49601f +3c58223f4e1e556024766e2d666033656c2668752b666b3b666b3b666b3b576b33 +68752b576b334c502656603a6660334e50436274443a44234e442549601f666b3b +666b3b4c5026342d1f2b33223335223f4e1e4e50434e4425383c23342d1f24261c +1c1e1944362324261c342d1f24261c342d1f24261c24261c342d1f383c23383c23 +333522383c234e44255560245558243f4e1e3a4423383c23574f26333522272c1f +272c1f24261c24261c24261c272c1f333522383c2375704d5558244c5026767b47 +77874686874a86874a75704d55582444362324261c24261c342d1f24261c342d1f +1c1e1924261c342d1f24261c342d1f342d1f24261c342d1f24261c24261c342d1f +342d1f342d1f4436234e3d224e44254436234436234e3d22443623342d1f24261c +443623443623443623604f2a4e3d22342d1f342d1f342d1f4e4425604f2a84712f +a48a3b84712f604f2a766e2d4e442566592c76642766592c604f2a4e3d2266592c +7664279f90359f9035978834b2a053b1af4da0a03aa1a73c9f9835b1af4dbfb04d +c0a845c2b868c2b868c2a85ec2b868c4bf65d4cb83d4cb83c4bf65c3c17ad4cb83 +d0c074c3c17ac3c17ab1b069b1b069c4bf65d0c074c2b868c3c17ad4cb83d0c074 +d0c074d0c074c4bf65c4bf65c4bf65d0c074d0c074cdb85ec2b868b0a83fb1af4d +b2a85697883486874a8b90339fa0568c9835a0a03a8e9f3b9fa056766e2d778746 +5e742977874676872d697c2b576a1f4b681e5e74295e742949601f556024697c2b +5560243a442355582447581f5e742976872d8b90338b903376872d4c5026333522 +2b33223335224c50265e742980a03b80a03b8e9f3b91af499eb74c8e9f3b719732 +383c23373e432f3c223f4e323d5f25354c31304321304321344d1e354c31475832 +6274445474435474285f7b2a4973233d5f254b6933567f3a697c2b547443547428 +4b69334b69334973233d5f25304321304321344d1e3c58224960324b69335f7b2a +4973234b681e3d5f253043212e3c442b33222e3c442f3c224c502647581f556024 +496032354c31383c232e3c442a34382b3322383c232f3c223f4e1e697c2b7c9053 +708f316b852c5474286b852c5e74295e74295f7b2a576b3349601f576a1f576a1f +576b3349601f697c2b778746697c2b49601f344d1e4973233c58222f3c222b3322 +3f4e1e2b332247581f383c23344d1e2f3c222b33222b3322272c1f272c1f272c1f +272c1f272c1f272c1f272c1f24261c24261c24261c272c1f24261c272c1f333522 +3a44234b681e3043212b33222f3c222f3c222f3c223d5f253c58222b33222b3322 +3043212f3c22272c1f342d1f272c1f2b3322342d1f342d1f383c23383c234e3d22 +66592c87872c9f9035b1a03dbfb04dc0a153c0a153c0a153ad903dc0a153b09954 +c0a153c4a979ccb169ccb169ccb169d1b876d1b890ccb169c4a979ccb169c2a85e +b2a856757b2d576a1f3c5822576a1f697c2b76872d6b852c54742849601f3f4e1e +3f4e1e3f4e1e49601f4b681e4b681e47581f60832a5f7b2a4c50263f4e1e556024 +757b2d8b90339f9154ada17fada17fb2a05386874a766427a48954c0b197ccb169 +c4a979ccb169c4a979d1b890ccb169b2a856b09954b2a856c0a153ccb169ccb169 +d1b890c2a85eb099549f9154c1b064b2a0538b9033757b2d576a1f656c26576a1f +576a1f576b33666b3b5560243f4e1e475832344d1e3f4e1e576a1f344d1e3a4423 +383c232f3c223a44233f4e1e47581f3a4423383c233335223335222b33223a4423 +2b33223f4e323a44233335223a44233f4e1e55582447581f47581f344d1e5e7429 +576a1f49601f68752b68752b757b2d7787468b9033697c2b666b3b778746767b47 +778746576b33576b33576b335558243a44234e4425383c234c5026627444666033 +627444556024304321383c233f4e325e7429697c2b697c2b4c5026342d1f24261c +24261c24261c342d1f342d1f24261c342d1f272c1f272c1f2b33223335222b3322 +272c1f3335223a442347581f55602447581f383c234c50263a4423342d1f24261c +24261c342d1f24261c24261c3335223335222f3c224758323f4e1e576a1f6b8545 +68752b657c4476872d75704d5558244e3d22342d1f24261c342d1f1c1e1924261c +24261c24261c24261c24261c24261c342d1f24261c342d1f342d1f1c1e191c1e19 +342d1f604f2a66592c76642774643e4e44254e4425443623342d1f342d1f24261c +4e3d224e442566592c66592c66592c4e3d2266592c4e4425977c4f957c2f84712f +9788349f9035a48a3b84712f604f2a4e4425766e2d97883466592c84712f84712f +6660339e9853b2a053c1b064c2b868c2b868c2b868cdb85ec2b868c4bf65b0a83f +cdb85ed1b876d1b876d0c074d0c074d0c074c3c17ad4cb83d8c291d0c074d4cb83 +c3c17ad4cb83d4cb83c3c17ad4cb83d0c074c3c17ac3c17ad4cb83d0c074c3c17a +c4bf65c2b868d0c074cdb85ecdb85ec4bf65cdb85ec2b868d1b876bfb04d9fa056 +b1a03db0a83fa0a03a87872c8c98538b90338c98358c9835a0a03a68752b556024 +576a1f576a1f697c2b576a1f5e742954742860832a576a1f556024497323757b2d +697c2b656c267b90345e7429697c2b757b2d757b2d76872d87872c576a1f304321 +3043213f4e1e49601f5e7429708f3180a03b80a03b8ea83e91af4980a03b7d9736 +2b33222e3c442f3c223d573b3d573b344d1e354c31354c314b69333d5f25496032 +576b334973235e74294b69335f7b2a4b693349732360832a6b852c6b85457b9034 +5474283c58224b69333d5f25304321354c313d5f25576b33576b33576b33547428 +5f7b2a547428496032344d1e3043213043213f4e323f4e3256603a576b33576a1f +47581f3f4e1e2f3c22383c23272c1f2b3322272c1f2b3322354c315e74298c9835 +7b90347b90346b852c60832a5e7429697c2b5f7b2a49601f3043213c58224b6933 +576b335560245f7b2a697c2b576b33576b333a4423344d1e3f4e323a4423272c1f +49601f2f3c224b681e55602449601f4c50262b33222b33222b33222b3322272c1f +272c1f272c1f272c1f272c1f24261c24261c24261c24261c24261c272c1f272c1f +272c1f2f3c222b3322272c1f344d1e3d5f253d5f25344d1e3043212f3c222f3c22 +2b33222b332224261c272c1f24261c24261c272c1f272c1f2b33222b3322333522 +4e442566592c87872c9f9035a48a3bae993dae993dc0a153ad903dad903dc0a153 +c0a153c4a979c0a153c0a153c4a979ccb169ccb169d1b876c2a85eb2a8568b9033 +87872c76872d76872d6b852c708f316b852c5f7b2a576a1f5e74294b681e5e7429 +576a1f49601f3043213a44234b681e576a1f697c2b6b852c766e2d656c264c5026 +604f2a87872c9e9853c2a85ec1b064b2a05386874a766427b2a053ccb169d1b890 +c4a979d1b890d8c291c0b197d1b890ccb169c2a85ec0a153c4a979c1b064b09954 +c0b197c4a979c1b064b09954b2a8569fa0568b9055778746778746656c26697c2b +68752b576b33576a1f576b33656c265e74294b681e576b3368752b576a1f3c5822 +3f4e1e304321475832556024576a1f47581f3a44232b33222f3c222b33222f3c22 +344d1e3a442347581f47581f49601f47581f383c233a44233f4e1e3f4e1e497323 +54742849601f576a1f697c2b76872d86874a778746656c26556024697c2b68752b +656c26576b3368752b6b852c68752b4758324c50263a4423576b335658382f3c22 +475832697c2b5e742947581f6274444b69335e7429576a1f33352224261c24261c +24261c272c1f342d1f342d1f272c1f342d1f383c23333522333522272c1f272c1f +2b3322383c234c50264c50263a44234c50264c50263f4e1e342d1f272c1f333522 +443623342d1f24261c24261c3f4e1e3f4e1e47581f49601f576a1f68752b68752b +68752b86874a757b2d767b474c50265558246660334e4425443623342d1f342d1f +24261c24261c24261c24261c342d1f24261c24261c342d1f24261c24261c342d1f +342d1f604f2a4e3d22604f2a4e3d22443623443623342d1f342d1f443623272c1f +333522574f26604f2a766427957c2f84712fa48a3b887b2cb2a053b09954977c4f +a48a3ba48a3ba48a3ba48a3b84712f84712f766e2d957c2f757b2d978834957c2f +87872c9f9154b2a856c2b868c2b868c2b868c2b868d0c074d1b876d0c074c2a85e +c4bf65cdb85ed1b876cdb85ec2b868d0c074c4bf65d0c074d4cb83d0c074c2b868 +c4bf65c4bf65d4cb83d4cb83c3c17ad0c074d4cb83d0c074d4cb83d4cb83d4cb83 +d0c074c2b868d0c074c4bf65c2b868cdb85ed0c074c1b064beb751c1b064c2b868 +b0a83fb2a856b0a83f87872c697c2b76872d757b2d68752b8b90336b852c697c2b +5e74295e7429576a1f697c2b576a1f5474285f7b2a656c26556024576a1f5e7429 +697c2b656c2676872d757b2d555824757b2d87872c656c2687872c76872d5e7429 +697c2b76872d697c2b76872d708f318e9f3b8e9f3b91af49a1a73c8ea83e8e9f3b +333522373e43304321344d1e3d573b344d1e3d573b3c58225474285474284b6933 +547428576b335474284b69335474284b69335e7429657c446b8545778746778746 +567f3a41671b4b69333c582230444d3043214758324960323f4e3247581f49601f +5474285f7b2a3d5f25344d1e475832354c313f4e1e3f4e323d573b556024496032 +3f4e1e354c313a44233a44232f3c22262e35272c1f2b3322354c314960327c9053 +8e9f3b7197537b903476872d60832a5e74295e74293d5f253d5f2549601f4b6933 +656c265e742968752b4b6933344d1e47581f2f3c222f3c222f3c22383c23272c1f +3c5822344d1e49601f547428576a1f41671b2f3c222f3c22304321272c1f272c1f +272c1f342d1f272c1f24261c24261c342d1f24261c24261c24261c24261c24261c +2f3c22304321344d1e272c1f2b33222f3c223043212f3c22272c1f272c1f24261c +272c1f1e241b272c1f24261c24261c272c1f272c1f272c1f24261c272c1f342d1f +2b3322443623766427887b2c957c2f84712f978834ad903dae993dae993dae993d +c0a153c0a153ccb169c0a845c0a153ccb169c4a979c2a85ec2a85e9f98358b9033 +a0a03aa1a73ca0a03a8e9f3b8c9835556024344d1e2b332247581f304321333522 +333522342d1f272c1f2b3322272c1f383c23383c2366592c87872c757b2d887b2c +84712f887b2c84712fa48954b2a053ae993d9f90359f9035b2a053c4a979c0a153 +ccb169c4a979ccb169c4a979c0b197c0a153c4a979c4a979c4a979ccb169ccb169 +c4a979c4a979c4a979c2a85eb2a0539e98539e985387872c77874676872d767b47 +697c2b68752b576a1f576a1f5f7b2a697c2b576a1f5e7429697c2b5e7429697c2b +3d5f2549601f5e74294b681e5e742947581f3a44232b3322304321344d1e333522 +2b33222b3322576a1f5560244b693349601f3043212f3c223f4e1e3a44233f4e1e +4b681e49601f576a1f656c26556024666b3b766e2d3f4e1e666b3b55602468752b +657c44697c2b5e7429778746697c2b5558243f4e1e3f4e1e3f4e1e383c23333522 +3f4e323f4e1e5f7b2a47581f47581f3a44234b681e576a1f3a442324261c24261c +24261c24261c272c1f24261c24261c342d1f3a44234e4425333522383c23342d1f +342d1f44362347581f4e44254436234e4425383c23342d1f24261c443623565838 +74643e4e442524261c2b33223f4e1e5e74294b681e5560246b852c76872d757b2d +7787468b905586874a86874a757b2d757b2d778746757b2d666b3b443623342d1f +24261c342d1f24261c1c1e191c1e1924261c24261c24261c342d1f1c1e19342d1f +342d1f443623443623342d1f342d1f443623443623333522342d1f4436234e4425 +3335224e4425766427887b2cc0a845c0a153b09954847144c2a85eae993dc0a153 +ae993dc0a153ae993dae993db099549f90359f9035ae993d9f98359f9835b09954 +9f9035b2a053ccb169c3c17ac2b868d1b876d0c074d1b876cdb85ed1b876d1b876 +c1b064d0c074bfb04dc2b868beb751cdb85ec4bf65c2b868cdb85ec4bf65beb751 +c4bf65c4bf65d4cb83d4cb83d0c074c3c17ac4bf65c3c17ac3c17ac4bf65cdb85e +d1b876c1b064c2b868c2a85ecdb85ec4bf65c2b868beb751beb751b1af4db1af4d +b0a83fa0a03aae993d8b9033766e2d757b2d697c2b757b2d68752b656c26656c26 +556024576a1f757b2d8c983576872d76872d576a1f656c2655602476872d576a1f +576a1f576a1f76872d697c2b556024697c2b7b9034757b2d76872d8e9f3b68752b +5e7429697c2b656c2660832a708f3180a03b7d97369eb74caeb84e8ea83eb1af4d +2b3322354c31354c31354c31344d1e354c313c58224b6933567f3a4b69334b6933 +4b69335e7429576b334960324960324b6933657c44627444767b476b85455f7b2a +4973234b69335474433d5f253f4e32304321354c313f4e323a44232f3c224b6933 +5f7b2a4b681e3c5822344d1e47581f3f4e323a44233a44233f4e1e576a1f47581f +3f4e1e344d1e3043213f4e322b3322272c1f272c1f2b33222f3c225560246b852c +8c98536b852c708f31697c2b6b852c5e74294973233d5f2549601f47581f49601f +576a1f49732347581f49601f344d1e3043212b33222b33222f3c222f3c222b3322 +3f4e1e41671b49601f5f7b2a76872d3c582230432154742847581f2b3322272c1f +3043212b3322272c1f272c1f262e3524261c24261c24261c272c1f3043212b3322 +3c5822344d1e4973233c58222b3322272c1f272c1f24261c272c1f272c1f1e241b +24261c24261c24261c24261c24261c24261c24261c24261c24261c272c1f24261c +2b3322342d1f443623574f26604f2a766427604f2a84712f978834ae993dad903d +c0a153c0a153c2a85ec0a153c0a845c0a845c0a153c0a845c0a153c0a845b0a83f +b1a03dc0a845c0a153a0a03a87872c5560243c58223043213c58223f4e1e2f3c22 +2f3c223c582249601f49601f3c5822304321333522443623887b2c766e2d87872c +ad903db09954957c2f887b2c9f90359f98359f9835ae993dc0a153c0a153c0a153 +c0a153c0a153c0a153c4a979c4a979c4a979c4a979c0a153c4a979c4a979c4a979 +c0a153c0a153b2a053b099549e98539f91549e985387872c767b4768752b576a1f +656c26576b33576b3368752b697c2b68752b576b3349601f576a1f576a1f6b852c +576a1f4b681e576a1f4b681e55602447581f3a4423383c233f4e1e47581f2b3322 +24261c383c2347581f3f4e1e55602455602430432130432147581f3f4e1e3a4423 +8c9853757b2d5560245e7429576b334b681e576b33555824666b3b576a1f757b2d +68752b767b47778746656c26666b3b47581f47581f47581f344d1e3a44232f3c22 +344d1e3a442354742860832a576a1f4b681e4758323f4e1e33352224261c342d1f +24261c342d1f24261c24261c24261c342d1f2f3c22383c23383c233f4e1e383c23 +333522383c235558245558244e4425333522342d1f272c1f33352266603366592c +4e5043383c2344362333352247581f47581f49601f5558243f4e1e4c5026555824 +565838576b33666033867c4c8c98539fa0569e985386874a766e2d4e4425383c23 +443623342d1f342d1f342d1f342d1f24261c24261c342d1f342d1f342d1f24261c +24261c24261c443623342d1f342d1f4436234e44254e4425443623383c23666033 +574f26555824887b2c978834bfb04dc0a153ad903d957c2fc0a153ae993dc0a845 +c0a153c0a153c0a153c0a845c0a8459f9035ae993dae993db1a03dc0a845c2a85e +b2a856c1b064d0c074c4bf65c1b064d1b876cdb85ecdb85ed0c074cdb85ecdb85e +bfb04dcdb85ec0a845c1b064beb751c2b868c4bf65bfb04dc4bf65bfb04dbfb04d +beb751bfb04dc4bf65c2b868c2b868c2b868b1b069c4bf65b0b86cc2b868b1b069 +bfb04dbfb04dbfb04dc2a85ec1b064bfb04db1af4db0a83fb2a053b1af4db0a83f +a0a03ab0a83fa0a03a8b90337b903476872d757b2d576a1f656c26697c2b68752b +656c26656c26656c2676872d7b903476872d697c2b697c2b6b852c68752b576a1f +47581f49601f68752b697c2b5f7b2a76872d7b9034757b2d8c98358c9835576a1f +47581f6b852c68752b7b90348e9f3ba1a73c8e9f3ba1af4eaeb84ea1a73ca1af4e +3336423a4423344d1e354c31354c313043213f4e3247581f4b693347581f4b6933 +576b335e74294b69333d5f25475832475832576b33576b33627444657c44576b33 +4b69333c58224b69334960323043212f3c22354c31344d1e354c312f3c22496032 +5474284b681e4b69333f4e1e344d1e354c31344d1e475832656c26576b334b6933 +3f4e1e3f4e323a44233a4423262e352b33222b33222f3c222f3c224758325e7429 +708f3160832a697c2b6b852c697c2b49732349732349601f3c58223f4e1e47581f +4b69335e742949601f55602447581f344d1e2f3c222b3322333522344d1e3c5822 +4b681e60832a4b681e5f7b2a60832a49601f3d5f256b852c41671b304321344d1e +4b681e304321272c1f344d1e272c1f24261c24261c24261c49601f4973232f3c22 +344d1e30432141671b557f22344d1e24261c272c1f272c1f1e241b3043212b3322 +272c1f2b3322272c1f24261c24261c24261c24261c24261c24261c272c1f272c1f +24261c342d1f3335224436234436235560244c5026766e2d87872cad903db09954 +c0a153b09954b09954ae993db1a03dae993dae993d9f9835b1a03dc0a153b1a03d +ae993db2a053b1a03d87872c68752b6b852c5e74294b681e576a1f576a1f49601f +556024697c2b5e74295f7b2a5e742949601f3a44232f3c2266603368752b957c2f +95885cae993d9f98359f9035978834ae993d9f90359f9035ad903db09954ad903d +ad903da48a3bad903dab9158c4a979c4a979c0a153c0a153c0a153b09954b09954 +9f98359e9853b0995487872c9f90359e985386874a757b2d68752b5e742968752b +656c26656c26576a1f656c2668752b6b852c5e74295560243f4e1e47581f576a1f +4b681e49601f49601f47581f47581f5560243f4e1e344d1e3f4e1e344d1e2b3322 +333522272c1f3a442330432147581f3c58222f3c223f4e1e344d1e304321666c5e +d1b89086874a576b33697c2b576a1f656c26697c2b5560245e7429576a1f656c26 +68752b68752b656c26576b3355602449603247581f576a1f49601f3f4e1e47581f +55602449601f576a1f557f2241671b3f4e1e304321383c23383c2324261c342d1f +24261c272c1f342d1f272c1f272c1f272c1f24261c333522333522383c23383c23 +3f4e1e4c502647581f574f26333522342d1f2b33223f4e1e66592c847144666033 +574f263335223335222b332249601f49601f4c5026272c1f272c1f333522333522 +342d1f272c1f333522475832867c4c95885c95885c666b3b68752b576a1f555824 +4c50264e3d224e3d22342d1f342d1f24261c1c1e1924261c342d1f24261c24261c +342d1f24261c4436233335224e3d22574f26766e2d74643e574f264e4425555824 +757b2d766e2d887b2cad903dad903dc0a153a48a3bc0a153ae993dae993dc0a845 +c0a845c0a845c0a845c0a845c0a845ae993dc0a845b1a03dc0a153b1af4dc0a845 +c1b064c1b064c2b868c2b868d0c074c1b064c2a85ec0a845bfb04dcdb85ec1b064 +b1af4dc0a153c2a85ebfb04dc2b868beb751c4bf65c2b868b1af4db1b069b0a83f +b2a856bfb04db1a03dc2b868b2a856b1af4d9fa857b1b069b2a856b2a856b0a83f +b2a856b0a83fb1af4db1a03db1a03db0a83fb1af4db1af4da0a03a9f9835b0a83f +a0a03ab0a83f9f9835a0a03a8b903387872c76872d757b2d5e74295f7b2a697c2b +76872d697c2b576a1f5e742976872d7b90347b903476872d76872d76872d576a1f +3f4e1e576a1f697c2b656c267b90347b90348b903376872d8b90338e9f3b7b9034 +576a1f757b2d757b2d7b90349eb74c9f98358c98358c9835aeb84ea1a73ca0a03a +2f3c22394446354c313a4423373e43394446354c31344d1e354c312f3c22496032 +4960324b693341671b4b6933344d1e3a4423576b334758324758324b69333d5f25 +4b6933354c3147581f496032344d1e4758323d573b3a4423354c312f3c223d5f25 +576b33497323557f2247581f2f3c222f3c224c5026576b33576b334b693347581f +3f4e1e3a4423383c23383c23272c1f2a34382f3c222f3c222f3c223c5822576b33 +6b852c708f316b85457b9034697c2b576a1f5f7b2a49732341671b475832344d1e +4758324b69333f4e1e576a1f576a1f47581f344d1e2b33222f3c223d5f2541671b +60832a708f31557f22557f22557f22557f2241671b557f2249732341671b497323 +4973232b3322272c1f3d5f25344d1e272c1f342d1f2b3322557f2260832a557f22 +344d1e2f3c2241671b557f22344d1e2f3c22304321344d1e3043213d5f25304321 +30432149601f272c1f24261c24261c24261c24261c24261c24261c24261c272c1f +24261c272c1f342d1f2b3322333522383c233a4423556024757b2d957c2f9f9035 +978834ae993dae993dae993dae993d9f9835ae993d9f9035978834957c2fae993d +ae993dae993dae993d9f98358b90339f9035757b2d556024656c263f4e1e3a4423 +3a44235558245558245560243f4e1e49601f3f4e1e3043213a4423556024666033 +7664279f90359f9035ae993d9788349f90359f98359f90359f90359e98539f9035 +87872c9f9035b09954b09954ad903db09954b09954b09954b09954b2a053ae993d +9f98359f90359f9035766e2d87872c86874a76872d757b2d757b2d697c2b697c2b +697c2b68752b697c2b757b2d77874668752b757b2d576b3347581f47581f5f7b2a +576a1f576a1f5f7b2a5e74294b681e5e742968752b5560243f4e1e3a4423344d1e +3f4e1e272c1f2f3c2249601f4b681e47581f3f4e1e3f4e1e3f4e1e3043218b9080 +d8c291857d67555824576a1f697c2b697c2b5f7b2a6b852c697c2b656c26656c26 +76872d68752b697c2b5f7b2a49601f49601f3f4e1e576b3347581f30432147581f +576b334b681e4b681e576a1f576a1f5e7429697c2b47581f4e4425272c1f24261c +24261c342d1f272c1f272c1f24261c24261c24261c342d1f342d1f3335223a4423 +47581f47581f55582433352224261c342d1f33352268752b95885c857d67666b3b +4436234e3d22443623333522574f26383c23383c23342d1f24261c272c1f24261c +272c1f272c1f3335224c5026556024656c26555824555824556024576a1f666b3b +4c5026574f264e4425443623342d1f342d1f342d1f342d1f24261c342d1f342d1f +443623443623574f264e3d22666b3b84712f957c2f978834766427766427766427 +887b2c887b2c887b2cc0a845bfb04dc0a153ad903dccb169c0a845c0a153ae993d +cdb85ec0a845b0a83fb0a83fb1a03dc0a845b1a03dc0a845c0a845c2b868b1a03d +bfb04dcdb85ec1b064c1b064d0c074c1b064c0a845b1a03dc1b064c2b868c2b868 +b1af4db1a03dc1b064b2a053c1b064b1af4db1b069bfb04db1a03da0a03aa0a03a +b0a83f9f9835978834b2a856a0a03aa1a73c8c98538e9f3b9fa0569f9835a0a03a +9f98358c9835b0a83fa0a03a9f98358b90339f9835a1a73c8c98358e9f3bb0a83f +a0a03aa0a03a9f98359f98358c98358b903387872c76872d697c2b60832a76872d +60832a5e742976872d76872d6b852c76872d8c98358c98357b90348c9835697c2b +5e742968752b68752b757b2d8b90338b90338c98358c98358b90338e9f3b8b9033 +76872d76872d697c2b87872cb1af4d8c98358b90337b9034a1af4eaeb84eb1af4d +2b33222f3c223043212f3c223335222f3c223a44233043212f3c222f3c223f4e32 +3d5f253c58223d5f25496032354c3130432156603a49603249601f576b334b6933 +47581f3a44233d573b4758323f4e323a44233a44233043213043212f3c223a4423 +3f4e1e4758324b693341671b3043212b3322333522333642383c233f4e323f4e1e +3043212f3c222f3c222f3c223335222f3c222b33222f3c22304321304321547428 +6b85456b852c76872d7b903460832a557f225e7429576b3349601f3c58223a4423 +3f4e323f4e1e344d1e4b681e5474284b681e4b681e344d1e3043213c582241671b +557f22708f316b852c557f22557f2260832a557f22547428557f224973236b852c +557f22344d1e2f3c2241671b3c58222b33222b3322344d1e708f31557f22719732 +3c5822304321497323557f223d5f2541671b49732341671b344d1e344d1e2f3c22 +344d1e3f4e1e24261c24261c24261c24261c24261c24261c24261c24261c24261c +24261c24261c272c1f24261c342d1f3335223335224e4425656c26766e2d84712f +978834978834ae993d9f98359f98359f9835ae993d9f9835978834978834b1a03d +ae993dae993dae993dae993d87872c6660335558243f4e1e3a44233a44232b3322 +3335223a4423383c233335223f4e1e3f4e1e4c50264c502647581f555824556024 +84712f978834a48a3b9f9035a48a3b9788349f9035b1a03db2a053c2a85eb2a053 +9f98359f98359f9035ab9158978834ab9158ad903dab9158ad903dad903d9f9835 +b099549f98359f983576872d7b903487872c757b2d757b2d76872d757b2d68752b +68752b68752b757b2d68752b68752b757b2d697c2b656c26576a1f49601f576a1f +576a1f547428697c2b49601f49601f697c2b576a1f68752b47581f4c502647581f +49601f4c5026383c23576a1f49601f5e74294973233f4e1e3f4e1e5558249ea08a +ada17f66603347581f47581f47581f576a1f5e7429757b2d68752b576a1f666033 +656c265e74295e7429697c2b5f7b2a5e74294b681e47581f5560242f3c22344d1e +576a1f5e7429576a1f576a1f47581f576b3349601f2f3c222f3c22342d1f24261c +342d1f3a4423342d1f33352224261c24261c24261c272c1f342d1f3335223a4423 +4c50263a44234e4425342d1f272c1f272c1f443623666033847144666b3b4e4425 +3335224e3d224e44254e3d22333522342d1f3335222b3322342d1f24261c272c1f +24261c24261c2b3322574f26556024656c2647581f3f4e1e3a44233a44233f4e1e +666033666033604f2a443623443623342d1f24261c342d1f342d1f342d1f443623 +4e44254e4425766427666033766e2d887b2c978834ad903d978834957c2f84712f +ae993d9f9035b1a03dc0a845bfb04dc0a845ae993db1a03dc0a845ae993dc0a845 +c0a845bfb04d9f9835b1a03db1a03db0a83fb0a83fb0a83fc0a845c2b868b2a856 +beb751b2a856c1b064b2a856c2b868b0a83fc2b868b1a03db1af4dbfb04dbfb04d +b2a856b0a83fc2a85eb2a856b2a856c2b8689fa857b0a83fb2a0538c98358b9033 +9f91549f9835757b2d8b90339f98358e9f3b8b90338b90339e98537b90348c9835 +7b903476872d8e9f3b9f98357b903476872d8c98358c98358c98358c98358e9f3b +a0a03a8b90338c98359f98358c9835a0a03a8e9f3b8b9033697c2b60832a7d9736 +5f7b2a697c2b5f7b2a76872d6b852c697c2b7b90347b90348c98358c9835a0a03a +8b903376872d8b9033b0a83fb1af4da0a03aa0a03a9f9835a0a03aa1af4e8c9835 +87872ca0a03a8e9f3ba1a73cb0a83f9f98358ea83e8e9f3ba1af4ea1af4eaeb84e +2a34382f3c2230444d2f3c223335222e3c443f4e32373e432b33222a3438475832 +3c58223d573b3c58224b6933475832344d1e49601f576b33576b33697c2b4b6933 +3f4e1e2f3c22354c31354c313043212e3c442b3322383c233043213043212e3c44 +342d1f2f3c22304321354c31354c31272c1f272c1f24261c2b33223f4e32344d1e +394446383c232f3c222a3438342d1f2f3c222f3c222f3c22304321354c3141671b +6b85457b90346b852c6b852c697c2b5e74295e742947581f354c313043213a4423 +2f3c22272c1f344d1e576a1f4b681e3f4e1e49601f3d5f2549601f47581f344d1e +49601f5f7b2a6b852c60832a60832a6b852c41671b3c582249732349601f41671b +4973233c5822344d1e3d5f2541671b3d5f252f3c223c5822557f22557f22719732 +41671b3d5f253d5f25708f3149601f3c58224973233c58222f3c222b3322304321 +3c5822304321272c1f24261c272c1f24261c24261c24261c24261c24261c24261c +24261c24261c272c1f272c1f24261c272c1f2b3322443623555824666033766427 +766e2d84712f84712f84712f9f9035ad903dae993d9f90359f90359f9035ae993d +ae993d9f98359f98359f98356b852c4c50263a44233f4e1e4b681e576a1f3f4e1e +3f4e1e556024576a1f576a1f656c26656c26656c2668752b68752b697c2b757b2d +887b2c978834ad903dae993da48a3b9f90359f9835bfb04dc1b064ccb169c2a85e +b2a053b2a053ae993d9f903587872c9788349788349f9154ae993d9f91549f9835 +9e98539f98359f98359f98359f98358b903376872d757b2d76872d76872d778746 +5e7429576a1f666b3b666033576a1f757b2d5e7429656c26556024576a1f556024 +47581f344d1e5560244c502649601f576a1f576a1f5f7b2a68752b556024656c26 +576a1f3f4e1e3a442349601f4b681e4b681e4b681e47581f3a4423565838aea886 +95885c4e44254b681e47581f304321556024697c2b68752b867c4c7c9053556024 +4c502649601f576a1f656c26697c2b68752b576b334b681e656c26576b3347581f +4b681e576b333a44234e44253f4e1e68752b3f4e1e3a44233a4423333522272c1f +2f3c223f4e1e3a44233a4423342d1f272c1f24261c272c1f342d1f333522333522 +333522333522272c1f24261c24261c342d1f66592c604f2a604f2a5658383a4423 +383c234436234e3d22383c23272c1f342d1f342d1f2b3322342d1f342d1f24261c +272c1f24261c383c23383c23383c235560243f4e1e4e4425383c233335223a4423 +555824766e2d66592c604f2a4436234e3d22342d1f342d1f342d1f4436234e4425 +66592c766427957c2f84712f957c2fa48a3bad903d9f9035a48a3b957c2fa48a3b +b1a03dae993dbfb04dccb169c0a153c0a845b1a03dc0a845c0a845b1a03db0a83f +9f9835bfb04d9f9835a1a73cb0a83fa0a03ab0a83fa0a03ab0a83fb1af4db0a83f +8ea0599fa056b2a856c2a85eb2a856a0a03ac2b868a0a03ab2a856b2a856bfb04d +9f9835b2a856b0a83fae993db2a856b2a8569fa0568b90339f903576872d6b852c +757b2d757b2d757b2d757b2d697c2b697c2b697c2b5e7429757b2d5e74296b852c +5e74294b681e757b2d76872d76872d68752b697c2b76872d7b90347b90348c9835 +8c98358b90338c98358e9f3b8e9f3b8e9f3ba0a03a8e9f3b8b90337b90347d9736 +7d97367d973676872d7b9034708f316b852c7d97367b90348c9835a0a03ab0a83f +b1a03da0a03a9f9835beb751beb751beb751b2a8569fa056b0a83fa1af4e8e9f3b +76872db0a83f9fa857afbf77b1af4da1a73c8ea83ea1af4ea1af4ea1af4eaeb84e +373e432f3c222f3c222a34382b3322354c314758323043212b3322354c314b6933 +41671b3d5f253c5822576b3349603249603247583255602456603a666b3b3f4e1e +2e3c44342d1f2f3c222f3c22383c2324261c262e35342d1f2a3438383c232b3322 +262e35342d1f333522383c23262e3524261c24261c272c1f272c1f2f3c22304321 +3f4e323a44232f3c222f3c222b3322333522354c313043212f3c223043213f4e1e +5f7b2a7b903476872d576b33496032383c23344d1e3f4e1e3a4423304321475832 +2f3c22333522344d1e576a1f49601f3a44233a44233a44233f4e1e383c23383c23 +2f3c2249732360832a71973271973260832a49732341671b3c58223d5f253c5822 +49732341671b4973233d5f2549732341671b2f3c223d5f2554742849732360832a +3d5f25497323497323708f313c5822344d1e344d1e344d1e2b33222b3322304321 +344d1e2f3c223a4423272c1f272c1f2b332224261c272c1f24261c24261c24261c +24261c24261c24261c24261c24261c24261c24261c2b3322383c23383c23383c23 +574f264c50264e4425383c2366592c666033887b2c84714476642784712f84712f +957c2f87872c8b90338b903376872d5e742949601f4b681e697c2b697c2b576a1f +576a1f576a1f757b2d757b2d76872d87872c87872c9f9835b1a03d9f903587872c +9f9035ae993dad903da48a3b9f90359f90359f9035b09954c0a153b2a053b2a053 +b2a856b099549f98359f98359f98358b90338b90338b90339f90359f98359f9035 +9f90358b90338b90339f98358b90338b90338b90339788348b903376872d757b2d +68752b55602455602466603355602468752b68752b576a1f5560245560243f4e1e +47581f3f4e1e49601f47581f3a442347581f576a1f4b681e576a1f4b681e656c26 +55602449601f3a4423576a1f4b681e576a1f5e742949601f3f4e1e656c26aea886 +6660334e44255e74293c58223f4e1e556024576a1f3a44235560245560243f4e1e +3f4e1e3f4e1e4c50265558245560246b852c576a1f4b681e5e742986874a778746 +576a1f4e4425383c23475832383c2355602447581f576a1f5560243a4423383c23 +3a4423383c23383c23383c23272c1f342d1f342d1f333522342d1f333522333522 +342d1f272c1f342d1f24261c24261c3a4423767b475558243f4e1e3a4423555824 +383c23383c232f3c22383c232f3c223f4e1e2b3322342d1f342d1f333522342d1f +24261c333522443623342d1f383c23574f26383c23383c23342d1f342d1f333522 +3335224e3d2274643e4e44254436234e3d22342d1f342d1f383c23443623555824 +76642787872c957c2f887b2c887b2c957c2f978834b1a03dae993da48a3b9f9835 +b0a83fc0a845c0a845bfb04db0a83fb1a03dae993dc0a845b1a03da0a03a9f9835 +9f9835a0a03a8c9835a0a03aa0a03ab1a03db0a83fb1af4d9f9835b0a83fa1a73c +a0a03aa0a03aa1a73cb1af4d9f98359f9835b2a856b2a053a1a73c9fa056a0a03a +8b9033a0a03a9fa0569f98359e98539e98539e9853778746757b2d767b47656c26 +68752b656c26697c2b5e74295474285f7b2a576b334b681e4b693349601f576a1f +49601f49601f4b681e576a1f68752b576a1f5f7b2a76872d76872d76872d7b9034 +7b90347b90347d973680a03b80a03b8c98358e9f3b8c98357d97367b90347b9034 +8e9f3b7d9736708f317b90348c983576872d7b9034757b2d8c98358e9f3ba1a73c +b2a8569f9835b1a03dc2b868beb751b2a856b0a83f9fa857aeb84eb1af4d8ea059 +7d9736b1af4db1af4dc2b868a1a73cb1af4db1af4db1af4daeb84ea1a73caeb84e +2f3c22304321354c31373e432f3c223c58224b69333f4e322f3c224960324b6933 +4b693341671b3c58223d5f253f4e1e354c31383c233a44233a44235658382f3c22 +333522262e352b33223335222a3438272c1f262e35272c1f262e352b3322262e35 +262e352b3322333642333522342d1f24261c262e3524261c272c1f3335222f3c22 +2f3c223a44232f3c222e3c442b33223335223f4e323043213a4423344d1e49601f +5f7b2a6b8545697c2b4b693347581f383c232f3c223043213a44232f3c223a4423 +3043212b33223f4e1e47581f49601f3a44232f3c222f3c223043212f3c224c5026 +3043213d5f25557f2260832a719732708f31497323557f22497323497323344d1e +3c582249732341671b41671b4973233d5f252f3c22344d1e41671b557f22708f31 +41671b49732360832a708f313c58223c582241671b4973233d5f25344d1e3d5f25 +3d5f25344d1e3c58222f3c22344d1e383c23342d1f272c1f24261c24261c342d1f +24261c24261c24261c24261c24261c24261c24261c342d1f272c1f342d1f272c1f +24261c342d1f272c1f342d1f342d1f342d1f443623383c23443623383c234e4425 +3a44235560247b90347b90346b852c697c2b55602447581f3f4e1e555824555824 +4c502647581f656c26656c269f9835a0a03aad903db09954c0a845c0a153b0a83f +ae993dc2a85ec0a153ae993db09954ad903da48a3bad903d9f91549e9853b09954 +b2a8569e98539f91548b90338b903387872c9f98358b90339f98359f98359f9035 +9f903597883487872c87872c87872c8c98358b90339f91548b903376872d68752b +757b2d656c264b681e556024556024656c2668752b576a1f576a1f656c263a4423 +3f4e1e3f4e1e5560243a44233335223a442349601f3c58223c58223c582268752b +5560243f4e1e3f4e1e68752b4b681e55602455602449601f4c5026767b47aea886 +5560243f4e1e55602447581f47581f576a1f47581f3a442349601f576a1f49601f +55602447581f47581f3f4e1e55582468752b68752b656c264b681e4c5026627444 +5560243a44233f4e1e3f4e1e3a44234c50263a44234c5026576a1f47581f3f4e1e +49601f383c232b3322342d1f24261c24261c272c1f333522342d1f443623383c23 +342d1f24261c24261c24261c342d1f666b3b77874668752b5560243043213f4e1e +3335223335223a44233a44233f4e1e556024383c232b3322333522383c23443623 +272c1f3335223a4423333522342d1f333522333522342d1f24261c24261c333522 +4e3d22443623604f2a604f2a4e3d224e3d224e3d22342d1f604f2a4e4425766e2d +68752b757b2d87872c9f9035757b2d9f90359f9835a0a03ab1a03db1a03db1a03d +9f9835bfb04dbeb751bfb04db1a03db0a83fa1a73cb0a83fb0a83fa0a03a9f9835 +8c98358c98358c9835a0a03aa0a03aa0a03a8c9835a1af4e9f9835b1af4d9e9853 +8c98359f98359f98359fa8579f90358b9033a1a73c9f98359f98358c983576872d +76872d8b90339e98537b903487872c76872d76872d68752b576a1f576b33547428 +576b3349601f5e7429576a1f3d5f2549732347583249601f3d5f253d5f253d5f25 +3d5f253c58223d5f253c582255602449601f576a1f5f7b2a76872d6b852c708f31 +6b852c7b90346b852c76872d708f317b903476872d8c98357b903476872d778746 +7b90347b90347b90347b90347b90348b90337d97368c98359f9835a0a03a9fa857 +b1af4da1a73cb1af4dc1b064b1b069a1a73cb2a8569fa857b0b86caeb84ea1af4e +8ea0599fa857b1af4da1b170a1af4ea4bb7eaeb84ea1b170aeb84e9fa857a1af4e +304321394446354c313a4423394446496032547428475832475832576b33547428 +4b69334b6933344d1e3f4e323a44232f3c222a3438342d1f2a34383a44232f3c22 +2f3c222f3c223335222e3c44383c232b33223335222b3322262e352b33222f3c22 +2b33222a34383335222b3322262e35272c1f342d1f2b3322333642304321373e43 +3043212f3c223a44233335222b33222f3c223f4e322f3c22354c313f4e32547428 +5e74295e74294960323a442347583247581f3f4e322b3322262e35342d1f2b3322 +2b3322342d1f30432147581f3a44232b33222b33222f3c222f3c222f3c22344d1e +344d1e3c582241671b719732708f3171973260832a557f2260832a557f223d5f25 +3d5f2549732341671b41671b557f22344d1e344d1e304321497323497323557f22 +41671b49732360832a60832a41671b497323557f22497323557f22497323547428 +3d5f25344d1e344d1e3043214b681e3043212b33222b3322342d1f24261c342d1f +272c1f24261c24261c24261c24261c24261c24261c24261c272c1f24261c24261c +272c1f24261c24261c24261c24261c24261c272c1f24261c272c1f342d1f272c1f +342d1f4e4425656c2655602468752b5558243f4e1e383c23342d1f342d1f4e4425 +3043213335223a44234c5026656c26978834887b2c887b2c9f9035a48954978834 +978834ae993db09954b2a053ae993d978834a48a3ba48a3b978834ad903db2a053 +b2a8569e98539f90359f90359f98358b90339f90359f90359fa0569f98359f9835 +a48a3b87872c9f903576872d9f98358b90338b90338b903387872c887b2c76872d +757b2d68752b656c2655582468752b576a1f656c26656c26656c26576a1f3a4423 +3a44233335223f4e1e3335223335222f3c2249601f47581f41671b3f4e1e49601f +49601f3f4e1e3f4e1e4b681e47581f49601f47581f47581f3f4e329e98539f9154 +4e3d22383c233043212f3c224c502647581f47581f41671b5f7b2a68752b576a1f +556024576a1f576a1f47581f496032576a1f5e74294b681e4c50263a4423383c23 +3f4e1e47581f49601f3c582247581f49601f3f4e1e576a1f47581f49601f4b681e +47581f3a44232b3322333522272c1f272c1f342d1f24261c333522333522333522 +333522272c1f272c1f3335223a442368752b68752b697c2b576a1f47581f47581f +3a442347581f47581f3f4e1e556024576a1f576a1f383c233a44234c50263f4e1e +3a44233a4423383c23342d1f24261c24261c24261c342d1f24261c24261c342d1f +3335224436234e4425604f2a4436234e4425443623443623576a1f4c5026656c26 +757b2d87872c8b90339f98358b90339788349f98358c9835a0a03aa1a73c9f9835 +8e9f3bb0a83fb0a83fb1af4da0a03aa0a03aa0a03ab0a83fa0a03a9f983587872c +87872c7b90347b90348ea83e8ea83e9f98358c98358e9f3b8c9835a1a73c8e9f3b +8e9f3b7b90348e9f3ba0a03aa0a03a76872d8e9f3b9f90358c98358b903368752b +7b903476872d8b903386874a6b852c656c26576a1f4b681e4b681e4b681e576b33 +4b681e49601f5560244960323c58224b69333c5822344d1e344d1e344d1e3c5822 +3c58223d5f253d5f253d5f254b681e49601f49732354742868752b697c2b6b852c +697c2b6f8f52697c2b5f7b2a60832a6b852c6b852c7b903476872d60832a6f8f52 +6b852c6f8f5276872d76872d8c98357d97368c98358c98358ea0598c9835a0a03a +b0b86c9fa857b2a856c4bf65a1af4e9fa8579fa8578ea059a1af4e9fa857b0b86c +a1af4eaeb84ea1af4e9eb74c9eb74cafbf77a4bb7ea1af4e9eb74ca1af4e9fa857 +3043213a4423354c313f4e323a44234960324b69333f4e324960325e7429496032 +344d1e496032344d1e4960323a44232f3c22333522262e35333522373e432e3c44 +2f3c22354c312f3c223a4423373e432f3c22373e432f3c222b33222f3c22304321 +2f3c222f3c222a34382b3322262e35272c1f3336422b3322383c23354c313a4423 +2f3c223a44232e3c442b3322383c233a44234c50263a44233f4e323c582247581f +47581f55602447581f2f3c223f4e3249601f4758322b33222b33222b3322272c1f +333522262e35333522354c31333522272c1f3a4423344d1e2f3c22304321304321 +344d1e3c58223d5f2560832a557f22497323557f22557f2260832a557f2241671b +41671b60832a49732341671b41671b344d1e344d1e344d1e30432141671b708f31 +3d5f25497323497323557f22547428497323557f223c5822557f224973235f7b2a +344d1e3c5822344d1e30432149601f3f4e1e30432147581f2f3c222b3322333522 +272c1f24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c +24261c272c1f24261c24261c272c1f272c1f272c1f24261c24261c24261c272c1f +272c1f383c233f4e1e4e4425576a1f3f4e1e3f4e1e2f3c222b3322383c233f4e1e +3a44233a44233043213a442349601f76872d766e2d656c26576a1f766e2d656c26 +656c26766e2d887b2c887b2c887b2c666b3b76642776642774643e766427a48954 +97883484712f97883486874a97883497883486874a84712f867c4c957c2f867c4c +a48a3b97883497883487872c87872c97883487872c8b903386874a87872c76872d +87872c757b2d697c2b5560244c50265558245e742968752b4b681e5558243a4423 +3a4423383c232f3c222b33223335222f3c2247581f49601f576b334b681e4b681e +4b681e47581f3f4e1e47581f3f4e1e49601f49601f3c582247581fa1b17095885c +342d1f272c1f24261c342d1f342d1f383c2347581f49601f547428576a1f5e7429 +576a1f49601f576a1f49601f47581f47581f5560245560243f4e1e4c50263a4423 +3a4423556024556024344d1e3a44233f4e1e55602454742847581f49601f576a1f +47581f3a44233f4e1e2f3c222b332233352233352224261c342d1f272c1f333522 +333522383c23272c1f3a4423556024576a1f576a1f68752b68752b49601f49601f +3f4e1e576a1f3f4e1e3a442349601f556024576a1f55602447581f576a1f4b681e +656c2668752b5560243a4423342d1f24261c24261c24261c342d1f24261c333522 +4436234436234e44254e4425443623574f263a44233a4423656c26656c26757b2d +757b2d8b903387872c9f983587872c87872c8b90338c98358b9033b0a83f87872c +a0a03aa0a03aa0a03ab1af4da0a03a9f9835a1af4ea0a03aa1a73c8e9f3b8c9835 +8c98357b90347b9034a0a03a8ea83e87872c8b90337d973676872d8b90338c9853 +8c983576872d8c98358c9835a0a03a7b90348e9f3b8c98357b9034697c2b5e7429 +76872d708f31778746697c2b697c2b4b681e47583247581f3d5f2541671b49601f +4b681e3d5f2549601f496032344d1e41671b3d573b344d1e3c5822344d1e3c5822 +344d1e3c58223d5f253d5f253d5f2549601f4b6933547428697c2b60832a5f7b2a +576b335f7b2a5f7b2a5f7b2a5f7b2a567f3a60832a6b854560832a697c2b60832a +5f7b2a6b85457b90347d97367b90347f97537197328e9f3b8e9f3b8c98538b9033 +8e9f3b9fa8579fa8579fa056a0a03aa1af4eb1b069a1a73c9fa8579fa857a1af4e +a1af4ea1b1709fa857a1af4ea1b170a4bb7e9eb74c9fa056a1af4ea1b17091af49 +354c313043213f4e323a44233f4e323d573b4b693347581f3f4e32576b33475832 +3c58223d5f25344d1e4758323c5822354c312f3c222b33222a3438342d1f2a3438 +304321344d1e344d1e3f4e323043213335223335223a44233944463d573b4e5043 +2f3c223043212f3c222b3322272c1f2b33222b33222f3c223a44233a4423354c31 +3a4423383c23333642342d1f33364233352230432133352230432149601f475832 +3a44234960323f4e1e3a44232f3c2249601f47581f2f3c223043213944462b3322 +2f3c222b33222f3c222f3c222b3322383c23344d1e304321344d1e344d1e3f4e1e +41671b344d1e497323557f22557f2241671b497323557f2260832a497323497323 +49732360832a49732349732341671b3043213c5822344d1e2f3c223c5822719732 +41671b49732341671b5f7b2a5474284b681e49601f3c582249601f4b681e557f22 +4b681e557f224b681e41671b41671b49601f344d1e4b681e49601f3c5822304321 +272c1f262e35272c1f24261c24261c24261c1c1e19342d1f1c1e19342d1f24261c +24261c24261c24261c272c1f24261c24261c24261c24261c24261c272c1f1e241b +272c1f342d1f342d1f383c23576a1f3f4e1e3f4e1e344d1e333522383c2347581f +47581f49601f49601f3f4e1e4b681e5e7429656c26757b2d697c2b697c2b576a1f +656c2647581f766e2d656c2668752b574f26604f2a604f2a383c234e4425556024 +666033574f26574f26604f2a66592c666033574f264e44254e4425574f26604f2a +604f2a666033766e2d766427766427766e2d766e2d757b2d87872c87872c87872c +778746757b2d757b2d5558243f4e1e3f4e1e5558245560245558243f4e1e333522 +383c233a44232f3c223335223f4e1e3a44233f4e1e47581f5e7429576a1f576a1f +656c264b681e49601f49601f2f3c223a44235560243f4e1e4e50439a917874643e +342d1f272c1f24261c24261c2f3c223a4423344d1e47581f4b681e5e7429697c2b +4b681e47581f576a1f4b681e49601f49601f4b681e49601f3f4e1e47581f49601f +47581f656c265560243f4e1e2f3c222b33223f4e1e4c502647581f3a442349601f +49601f49601f49601f2f3c223a44233a4423342d1f272c1f24261c24261c2b3322 +4c50263043213a44233f4e1e47581f576a1f47581f5e742968752b55602449601f +5560245e742947581f3f4e1e3f4e1e47581f576a1f576a1f576a1f68752b576a1f +5e7429576a1f576a1f4e442524261c342d1f342d1f24261c24261c342d1f342d1f +383c23383c234e44253f4e1e383c234e44253a44235560245e742968752b656c26 +757b2d76872d7b90347d97367b9034757b2d76872d8b90338c98358e9f3b87872c +8c98358e9f3ba0a03aa0a03a8e9f3b8c9835a1a73cb1af4da1a73c9f98359f9835 +8c9835a0a03a8e9f3ba1a73c8e9f3b8c98358b9033778746708f31697c2b7b9034 +76872d76872d76872d87872c8c983576872d8c98358e9f3b76872d557f2260832a +557f2260832a697c2b697c2b5f7b2a3c58223c58223c5822344d1e4758323d5f25 +3d5f253c58223c58223c58223c58223d573b344d1e344d1e344d1e344d1e3c5822 +3c58223d5f253c58223c582249601f4b681e4b681e576b33576b335e74295e7429 +4b681e4960324973235e74295f7b2a5e74296b85456b852c5e74295f7b2a657c44 +547428708f316b85457787465f7b2a6b85457787467b90347b90348c98537b9034 +8b90338e9f3ba1a73c9fa8578c98358ea0599fa8579fa8578c98359fa0569fa857 +b1af4da1af4ea1b170a1af4ea1af4eafbf77a1b170a1af4e92a7599eb74ca1af4e +3a44233043213944463a44234e50433a44234b69333f4e1e3c58224b69333f4e1e +3c58224960323c58223f4e3247581f4758322f3c222f3c22354c31272c1f342d1f +354c31354c31354c313f4e322f3c222b3322262e353944463f4e324758323f4e32 +2f3c223a44233043212f3c22262e352b33222b33222f3c223043213f4e323f4e1e +3a44232a34382b3322342d1f262e35272c1f3335222a34383043213d5f25475832 +3f4e1e4c502649601f3f4e322f3c2247581f4c5026383c232b33223f4e32304321 +3043213a442349601f2f3c2233352247581f3f4e1e3f4e1e49601f49601f4b681e +60832a3c582249732341671b497323497323497323557f2249732360832a497323 +4b681e6b852c41671b60832a557f223d5f2541671b3c582230432130432160832a +5474284973233c582241671b49601f3c5822344d1e4b681e3d5f253c5822557f22 +4b681e5f7b2a49601f49601f3d5f253d5f2530432149601f49732341671b3d5f25 +2f3c22272c1f272c1f24261c24261c24261c272c1f24261c1e241b24261c342d1f +24261c272c1f272c1f24261c24261c272c1f24261c1e241b24261c272c1f24261c +272c1f272c1f2b33222f3c2249601f47581f3f4e1e3c58223f4e1e2f3c223f4e1e +3a442347581f4b681e49601f49601f5474284b681e656c26697c2b6b852c576b33 +5e742955602466592c556024576a1f3f4e1e4c50263f4e1e383c23383c233a4423 +383c233a4423383c23333522333522342d1f33352224261c342d1f342d1f342d1f +342d1f383c233a44233a44234e4425574f264c5026656c2668752b75704d757b2d +757b2d656c26766e2d5558244c50263a44234c50265560243f4e1e3f4e1e3a4423 +3a44233f4e1e383c233a44233f4e1e3a4423383c233043213f4e1e47581f49601f +55602455602455602447581f3043212f3c225560243f4e1e3a4423867c4c4e4425 +24261c272c1f272c1f342d1f3a44233a44233f4e1e47581f4b681e5e74295e7429 +4b681e49601f4b681e4b681e49601f49601f5560244c502647581f3f4e1e555824 +4c5026656c26574f264c50263f4e1e383c23383c232f3c225560242f3c223f4e1e +49601f576a1f576a1f47581f3f4e1e2f3c22272c1f272c1f24261c342d1f333522 +47581f47581f49601f4b681e555824576a1f576a1f656c26656c2649601f49601f +656c26697c2b656c26556024556024556024576a1f576a1f576a1f5e742968752b +68752b5558243a4423342d1f272c1f342d1f342d1f342d1f342d1f4436234e3d22 +4e44253a4423383c233a44233043213a44233a44234b681e5e7429576a1f5e7429 +68752b697c2b697c2b76872d7b903476872d708f3176872d76872d8b903376872d +76872d9f98358c9835a0a03aa0a03a7b90348e9f3ba1a73cb1af4da1a73ca1a73c +8e9f3baeb84ea1a73c9fa857b1af4d9fa8577b9034697c2b6b854568752b697c2b +6b852c5f7b2a5f7b2a6b852c7b903476872d697c2b76872d76872d60832a5f7b2a +576a1f5e7429697c2b5e74294973233f4e1e344d1e344d1e344d1e4758323c5822 +3d5f25344d1e3c5822344d1e344d1e344d1e344d1e344d1e354c31344d1e3c5822 +3c58223c58223c58223c58223d5f25576b334b693349732341671b547428547428 +576b33656c264b6933576b335f7b2a5e74295e7429567f3a5f7b2a497323576a1f +547443697c2b6b852c697c2b576b3360832a7787466b852c76872d8c98538c9835 +8b90338c98538ea0598c98357b90347d97368c98358e9f3b7d973680a03b8e9f3b +9fa8579fa857a1af4e92a759b0b86cafbf77a1af4e9eb74c95af7a9eb74c95af7a +2f3c222e3c442f3c22475832496032354c31576b333d5f254758324b69333d5f25 +4960324b69333d5f25344d1e344d1e4758323043212f3c22354c312a34382a3438 +3a4423304321344d1e3f4e32304321262e35342d1f383c23465864496032496065 +3043213c5822354c313335223335222f3c222b33223335222f3c222f3c22354c31 +3a44232f3c222b33222b332224261c262e35342d1f2b33223a44234960323f4e1e +4758323f4e1e49601f47581f3f4e1e47581f3f4e1e2f3c222b3322354c31304321 +354c313f4e1e576a1f47581f3a442349601f3d5f2549601f49601f49601f49601f +4b681e3d5f2541671b557f2249732349732349732341671b41671b557f22547428 +41671b497323344d1e557f2249732341671b41671b3c58222f3c222f3c2249601f +3d5f25344d1e344d1e3f4e1e4b681e3043212f3c2241671b49601f344d1e557f22 +5f7b2a4b681e4b681e49601f3d5f2541671b3c582241671b4b681e497323576a1f +47581f272c1f2b3322272c1f24261c24261c24261c24261c24261c24261c24261c +272c1f24261c24261c24261c272c1f24261c272c1f24261c24261c24261c24261c +24261c272c1f2f3c223f4e1e4b681e41671b49601f4b681e3f4e1e2f3c223a4423 +2b33223335223f4e1e47581f49601f576a1f576b334b681e55602468752b5f7b2a +576a1f576a1f556024555824656c264c50263a4423383c233a44233a44233a4423 +383c23383c233335222b3322272c1f272c1f24261c24261c1e241b24261c24261c +24261c24261c24261c342d1f3f4e1e4c50264e4425766e2d68752b766e2d68752b +656c26656c2668752b5560245560244c50263f4e1e47581f4c502647581f3f4e1e +47581f4c50263a44233f4e1e47581f3f4e1e383c232b3322383c233a44233f4e1e +47581f4c502649601f3f4e1e3f4e1e3f4e1e3f4e1e3f4e1e3a44234e3d22342d1f +24261c24261c272c1f342d1f3a4423383c232f3c223a44233a442347581f576a1f +4b681e576a1f576a1f4b681e576a1f4b681e3a44232b33223f4e1e4c50263f4e32 +3f4e1e3f4e1e383c23383c2347581f3335223a44232f3c225560243043213f4e1e +656c264b681e5f7b2a4b681e4c50262f3c22342d1f333522383c234436232f3c22 +47581f4b681e556024576a1f556024576a1f5e74295e7429656c26556024576a1f +68752b76872d766e2d666033576a1f656c26576a1f55602468752b656c26656c26 +6660333a44234e4425272c1f24261c2b3322272c1f383c233a44234c5026555824 +4c50263a4423383c233a44233a44233f4e1e47581f47581f576b334b681e68752b +576a1f5e74295f7b2a5e742976872d697c2b757b2d76872d757b2d76872d76872d +6b852c8b903376872d8e9f3b8e9f3b9f98358ea83ea1af4ea0a03aa1a73ca1a73c +b0a83fb1af4db1af4d9fa857b0b86c9fa0567b90346b852c7d9736576b335f7b2a +5e74294b681e576a1f5e7429697c2b697c2b5e742960832a60832a557f22557f22 +4b681e4b681e547428576b3341671b3c5822344d1e3f4e1e304321354c31304321 +3c58223c58223c5822344d1e354c31344d1e354c31344d1e344d1e344d1e3c5822 +344d1e3d573b344d1e3c582247581f49603247581f496032496032547428576b33 +4b681e656c2649601f4b681e576b33576b33567f3a4b6933567f3a3d5f25576b33 +4b69335f7b2a68752b5474434973235e7429657c44697c2b697c2b778746778746 +7b90347b90347b90347c90536b85457b90348b90557b90347787468b90338e9f3b +9fa8579fa8578ea05991af49b1b069a1b170b0b86c9fa857a1b170a1b170a1af4e +383c232a34382f3c224960324b69333f4e32576b333d5f254960324960324b6933 +4b681e4b69333f4e32344d1e354c313c58223a44233043213f4e322f3c222f3c22 +344d1e3f4e324b681e4758323f4e322b3322333642373e435658383f4e323a4423 +3a44233c5822354c312b33222b33222e3c442f3c22272c1f333522373e432f3c22 +3a44232e3c443335222a3438272c1f24261c262e352b33223d573b496032344d1e +3f4e1e47583255602447581f47581f4960323c58223f4e32304321354c313f4e1e +49601f4c5026556024475832344d1e47581f49601f556024576a1f5e74295e7429 +547428547428497323708f31557f2249732341671b41671b3c582241671b547428 +49732341671b3c582249732341671b3c582249601f3043213043212f3c22304321 +41671b344d1e3043213043213c58223043213043213d5f25344d1e344d1e4b681e +5f7b2a4b681e5474283c582249601f49732349732341671b49601f49601f344d1e +2f3c22272c1f2b3322272c1f272c1f272c1f33352224261c272c1f272c1f24261c +272c1f24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c +24261c272c1f3a44233f4e1e576a1f3c58223c58224b681e3f4e1e304321333522 +2b3322272c1f2f3c223f4e1e49601f576a1f576a1f576a1f4b681e576b335e7429 +4b681e4b681e55602447581f5560244c50264e4425333522383c23383c23383c23 +2b3322342d1f272c1f342d1f272c1f24261c24261c24261c24261c24261c24261c +24261c24261c24261c272c1f383c233f4e1e555824656c26656c2668752b697c2b +697c2b68752b656c26556024576a1f5558243a44233f4e1e3a44233f4e1e555824 +5560244c50263f4e1e3a44233f4e1e3a4423383c23344d1e3043213a44233a4423 +4c50265558243f4e1e383c233a4423383c233a44233a44234c502644362324261c +24261c342d1f333522383c23383c23342d1f342d1f3335222b3322383c234b681e +41671b3c58223f4e1e3f4e1e3a442347581f304321342d1f2b33224c5026383c23 +4e44253f4e1e342d1f3335223a4423342d1f3335223335223f4e1e3a442347581f +576a1f555824576a1f47581f4c50264c50263f4e1e47581f3f4e1e4c50263a4423 +47581f556024576a1f556024556024574f265560245558244c50264c5026576a1f +656c2677874687872c656c2666592c656c26766427555824576a1f576a1f656c26 +574f264c50264c5026333522342d1f342d1f3335223f4e1e4c50263a44233f4e1e +3a44233a44233043213a44234c50264c50263f4e1e3f4e1e49603247581f576b33 +4b681e576a1f5e7429576a1f576a1f697c2b5e74296b852c76872d87872c6b852c +68752b8c983587872ca0a03a8c98359f9835a1a73cb0a83f9fa8579fa8579fa857 +b2a8569fa056a0a03a9fa056b1af4d8ea0598b90337b90347d97365e74295f7b2a +5474284973234b681e4b681e576a1f5e74295e74294b681e576a1f41671b4b681e +4b681e41671b41671b49601f3c5822354c31344d1e354c312f3c22304321304321 +344d1e344d1e354c31304321344d1e344d1e354c31344d1e3d573b3043213d5f25 +344d1e4b69333d5f253c58223c58224b693347581f4b6933576a1f4b69334b6933 +49601f576b33576a1f4b6933576a1f697c2b567f3a4b681e567f3a3d5f254b681e +547428547428576b3349732341671b567f3a547428576b335e7429778746757b2d +757b2d7c905376872d60832a5f7b2a6b8545778746708f3160832a7c90538c9835 +8c98539fa8579fa8579eb74c92a7599fa857a4bb7e9fa857a1af4eb0b86ca1af4e +30444d2f3c22354c314758324b69333d5f25576b334960324960324b681e4b6933 +4b69334960323c58223c58223c58224758323f4e323d573b3c5822344d1e475832 +4b69334b681e5474283d5f25354c312f3c222a34384e4425465864354c312f3c22 +354c313f4e32383c232b33222b33222b33222b33222b3322272c1f2a3438333522 +383c232f3c223043212f3c222b33222b3322342d1f383c234758323f4e1e2f3c22 +3f4e3249601f4b681e49601f47581f49603247581f3d5f253f4e1e4758323f4e1e +5560243f4e324c50264758323f4e1e3a44235560244c5026556024697c2b60832a +60832a60832a497323708f31557f224973234973234973233d5f25344d1e557f22 +4b681e54742841671b4973233c5822576a1f41671b344d1e3c5822344d1e304321 +576a1f344d1e3f4e1e3c5822344d1e3c58223c582249601f3043213f4e1e49601f +5e742949601f3d5f253d5f2547581f41671b5e74294b681e4b681e3c58222f3c22 +2b3322272c1f2b3322333522272c1f24261c272c1f272c1f24261c24261c24261c +1e241b24261c24261c272c1f1e241b272c1f24261c272c1f24261c24261c272c1f +24261c272c1f344d1e3043213c582249601f3f4e1e3c582247581f47581f2f3c22 +2b33222f3c22344d1e3c582249601f5e74294b681e4960323f4e1e3a442349601f +3a442347583249601f3f4e1e4c50263f4e1e383c233a4423383c23383c23383c23 +3335222b3322272c1f342d1f342d1f272c1f24261c24261c24261c24261c24261c +24261c272c1f24261c24261c3335223a44235e7429556024656c2668752b757b2d +697c2b68752b576a1f55582447581f4c50263a44233f4e1e383c233f4e1e47581f +47581f3f4e1e383c233f4e1e3f4e1e344d1e4c502647581f47581f3a4423333522 +383c234c50263f4e1e383c232f3c22304321383c23383c23555824443623342d1f +342d1f2b3322333522333522333522383c23333522333522342d1f3a44233f4e1e +3f4e1e344d1e333522342d1f3043213f4e1e383c23272c1f272c1f4e44254c5026 +3a44232f3c22342d1f2b33222b332224261c24261c272c1f3335223a4423574f26 +3f4e1e3a44235558244c50263f4e1e55602455602455602455582447581f576a1f +49601f556024656c266660334e44253f4e1e574f26556024383c233335224e4425 +4c502668752b9e9853887b2c555824666033757b2d555824576a1f766427656c26 +4e442547581f555824333522272c1f272c1f3335223a4423383c233a44234c5026 +3a44233043213a44233043213f4e1e3f4e1e3f4e1e344d1e3c582247581f4b6933 +4b681e49601f49601f5474285e74295e742968752b76872d76872d757b2d697c2b +76872d8c98357b90348e9f3b8c98358e9f3b8e9f3b9fa8579fa056b1af4da0a03a +9fa8579fa8578b90339fa857b0a83f9e98538b90337b90348b90336b8545656c26 +576a1f4b681e4b681e3d5f2549601f497323497323576a1f4b69334b693349601f +3d5f253d5f253f4e1e3f4e1e344d1e3043213043213a44233043212f3c222f3c22 +344d1e304321344d1e304321304321354c31344d1e344d1e354c31344d1e3c5822 +3d573b41671b3d5f253c5822344d1e47583247581f49603247581f4b681e496032 +4b681e576b33576a1f556024576b335e74295e74294b693341671b3c58224b6933 +4b6933576b33576b333d5f25496032576b335474284b6933576b3376872d68752b +7b90346b852c6274444b69335474286b852c6b852c5f7b2a5f7b2a708f317b9034 +8e9f3b92a75992a75992a75992a759a1af4ea1b17092a75991af49b0b86c91af49 +354c312f3c223f4e32475832576b334b69334b693349601f4b6933576a1f5e7429 +4b69333d5f2549603249603241671b3d5f25344d1e49603249601f496032576a1f +5474284b69335f7b2a475832304321394446373e43373e43383c232f3c223a4423 +304321354c313335222e3c44304321262e35272c1f262e35272c1f333522333642 +2b3322373e433a4423373e432f3c22373e433a44233f4e324758323a44232f3c22 +47583247581f475832576b334b681e49603247581f47581f47581f3f4e1e354c31 +3f4e322f3c22383c233f4e323f4e1e383c234c50264c502649601f697c2b557f22 +60832a557f22497323547428557f2260832a497323557f224973233c58225f7b2a +41671b557f22497323557f223d5f25576a1f4973233c58223c58223d5f25344d1e +4b681e4b681e344d1e41671b3d5f2541671b41671b49601f2f3c222f3c223c5822 +576a1f4b681e3c58223c58223f4e1e3c58225474284b681e5560243f4e1e304321 +2b33222f3c223f4e1e2b3322333522272c1f24261c272c1f262e3524261c24261c +24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c +24261c24261c3335223a442349601f49601f3c58224b681e5474284b681e49601f +304321344d1e41671b49601f4b681e656c2649601f3c582230432130432147581f +3043213335223f4e1e3f4e1e3f4e1e383c234436234e4425383c233335223f4e1e +3a4423333522272c1f342d1f333522272c1f24261c24261c24261c342d1f342d1f +24261c24261c24261c24261c272c1f33352255582447581f576a1f55602468752b +68752b757b2d576a1f5560244c5026344d1e3a442347581f3a44233a44233a4423 +3f4e1e4c50262f3c2247581f3f4e1e30432149601f3f4e1e3f4e1e4c5026333522 +333522383c232f3c22333522383c233a4423383c23333522666033383c23272c1f +333522342d1f333522342d1f3335223a44233f4e1e383c233a44233a44233f4e1e +383c23383c23272c1f342d1f383c232f3c22342d1f272c1f333522383c23383c23 +342d1f2b3322272c1f333522383c2324261c342d1f24261c342d1f2f3c223f4e1e +4436233335223a44234e442547581f576a1f656c26556024576a1f556024576a1f +656c26697c2b68752b5558244e4425574f26666033555824443623333522333522 +3335224e44258b90559e9853656c26576a1f84712f555824656c2668752b656c26 +383c23574f264c50263335223335223335223335223a44232f3c22344d1e383c23 +3a44232f3c222f3c222f3c223043213f4e1e354c313043213c58223f4e1e47581f +4b681e3d5f2549601f49601f4b681e5e7429757b2d757b2d7b903476872d76872d +76872d7b90347b90349f98358c98359fa8579fa857a0a03a9fa857b1b0699fa056 +9f98358c98358e9f3b8c98358e9f3b9f91548b903377874676872d68752b576b33 +576b3349601f49601f3d5f254b681e3d5f2541671b576a1f3c58223d5f253c5822 +3c58223d573b2f3c22354c31344d1e354c313043213a44232f3c222f3c222f3c22 +304321304321304321304321304321304321354c313c5822344d1e354c31344d1e +3d573b3d5f253d573b344d1e3c5822344d1e354c3149601f49601f4b69335e7429 +576a1f657c445e7429576a1f5e74295e74295f7b2a5474433d5f2547583247581f +4b69334b681e4b69333d5f253c582247581f4b693349601f576b336b852c68752b +6b8545697c2b5474284b6933567f3a657c445f7b2a5f7b2a6183456b852c7b9034 +92a75992a75992a75991af4995af7aa1af4ea1af4e819f598ea059a1af4ea1af4e +4758323a44233f4e3247583249603247581f47581f4e5043496032496032576b33 +3d5f2549603247581f4b693349603247581f3c58223d5f253c5822496032576b33 +627444496032576b333d573b354c313f4e32394446342d1f2a3438354c313f4e32 +3043213043212f3c223a44233f4e323043212b3322262e35272c1f2b3322333522 +3335222b33222a3438333522333522383c233a44234758323f4e1e383c23304321 +49601f3f4e1e4c50265e742949601f4758323f4e1e49601f3f4e1e354c31383c23 +3335222b3322333522383c233a4423383c23383c233f4e1e49601f576a1f576a1f +4973233d5f253c582241671b41671b557f22557f2249732360832a49732360832a +557f2260832a557f22557f2241671b41671b4973233d5f25344d1e49601f3c5822 +3d5f2549732341671b41671b41671b4973234b681e3c58222f3c222f3c223a4423 +576a1f49601f3c5822344d1e3f4e1e47581f497323576a1f4b681e41671b3f4e1e +2f3c22344d1e3c58223043212f3c22272c1f272c1f24261c342d1f24261c272c1f +24261c272c1f24261c24261c24261c24261c24261c24261c24261c24261c24261c +272c1f272c1f2b33224b681e54742849601f47581f576a1f576a1f4b681e49601f +3c582249601f49601f4b681e4b681e55602447581f3f4e1e344d1e344d1e4b681e +344d1e333522383c23344d1e3a4423383c233043213f4e1e383c23383c233f4e1e +3f4e1e383c23342d1f2f3c223a4423342d1f342d1f342d1f342d1f24261c333522 +333522342d1f342d1f342d1f272c1f3335223f4e1e383c23555824555824656c26 +68752b5e7429656c2647581f47581f47581f55602447581f3f4e1e3f4e1e47581f +4c50265560243a44233f4e1e49601f3f4e1e47581f3043212f3c2247581f304321 +333522333522342d1f333522333522383c234436233a4423766427383c23342d1f +272c1f2b3322342d1f333522342d1f3a44234e44253a4423574f263a4423333522 +333522342d1f24261c272c1f2f3c223335222b3322342d1f333522333522383c23 +33352224261c272c1f304321333522272c1f2b3322272c1f272c1f383c23333522 +2b3322333522383c233f4e1e576a1f68752b576a1f556024556024556024576a1f +76872d766e2d5560244e4425383c234c5026656c264c5026333522443623383c23 +333522383c2355582486874a757b2d66603376872d666033766427766e2d576a1f +4c50264c50264c5026383c233335223a44232f3c222f3c223043213a44233a4423 +2f3c222f3c223043212f3c223043213a44233a44233043213f4e1e344d1e47581f +49601f47581f49601f47581f4b681e697c2b5e742976872d87872c8b90337d9736 +76872d76872d8b90338c98358c98358c9835b2a8568e9f3b9fa8579fa857a1a73c +a0a03a8b90338e9f3b8c983587872c8b90338b90337787467b9034656c26576b33 +576a1f47581f3c582247583247581f47581f49601f3d5f25354c31475832354c31 +3f4e323f4e1e3043213a44232f3c223a44232f3c223a44233043212f3c222f3c22 +3043212f3c22304321344d1e2a3438304321354c31354c31344d1e344d1e304321 +3d573b3c5822344d1e344d1e344d1e3a44233f4e1e49601f576b336b8545697c2b +68752b5f7b2a697c2b49601f576a1f576b337787465e74293c58223c58223c5822 +4b681e496032496032344d1e3d5f253d5f254960323c58223d5f25576b33576b33 +6274445e74294b69334b6933618345557f22708f3161834560832a6183457d9736 +80a03ba1af4e92a7598e9f3b8ea0598ea05992a7598c9835819f5991af499fa857 +4758323f4e323d573b4758324758323f4e323f4e323f4e324c5026475832475832 +3c58224b69333c58224960323d5f2547581f4960324960323d573b3c5822576b33 +6274444b69334b69334960324e50432f3c223a44232f3c22354c313f4e32304321 +3a4423304321304321354c313c58223043212f3c22333522262e353336422a3438 +272c1f2b33222f3c222b33222a3438342d1f2f3c223f4e32344d1e333522304321 +3f4e32344d1e475832576b334b681e4960323f4e1e4758324c502647581f3f4e32 +342d1f3335222f3c22383c234c50263a4423333522383c2347581f47581f47581f +3f4e1e344d1e3043213d5f253d5f2541671b41671b497323557f22557f225f7b2a +60832a60832a708f3160832a4973233d5f254973234b681e41671b41671b3d5f25 +4b681e4b681e4973234b681e3d5f254973234b681e3c58222f3c222f3c222f3c22 +4b681e49601f4973233c582249601f49601f4973234b681e4b681e4973233d5f25 +344d1e47581f3d5f25344d1e2f3c22342d1f272c1f272c1f333522272c1f272c1f +272c1f2f3c22272c1f24261c24261c24261c24261c24261c24261c272c1f24261c +342d1f272c1f2f3c22576a1f4b681e49601f3c58224b681e576a1f49601f49601f +49601f49601f3c582249601f47581f5558243f4e1e3d5f253c58223c582249601f +344d1e3335223a44233a44233a44233a44233a44233f4e1e383c233a44233a4423 +4c50263a4423342d1f3335223a44233335222b33222b3322342d1f272c1f342d1f +272c1f272c1f2f3c223335222b3322333522383c2333352247581f556024656c26 +576a1f656c26576a1f656c26576a1f576a1f576a1f5560243f4e1e47581f47581f +49601f49601f4c50263f4e1e47581f4c50263f4e1e4c50263043214e44252f3c22 +333522383c23272c1f272c1f3335223335223335224c5026767b47443623342d1f +342d1f2b3322272c1f342d1f342d1f383c23383c233f4e1e4e4425333522272c1f +342d1f272c1f342d1f272c1f2b33222b3322383c232b33222b33223335224c5026 +304321342d1f272c1f3a4423333522272c1f383c232b33223335222f3c22342d1f +2b3322383c233a442347581f5e742947581f5560245558244c50264c5026666033 +86874a556024556024383c23383c233335224e3d22383c233335224e44254e4425 +4e44254e4425383c234e4425574f2676642768752b766427556024766e2d656c26 +4c50263f4e1e3f4e1e3f4e1e2f3c22344d1e3a44232f3c222f3c222f3c22304321 +2f3c222b33222b33222f3c222b33222f3c222f3c22304321344d1e344d1e344d1e +3d5f253f4e1e3c582247581f4b681e697c2b60832a5e74296b852c87872c708f31 +6b852c7b90348b90338b9033a0a03a9f9835a1af4e9fa0569fa056b1af4d9fa857 +9e98538e9f3b8c985376872d76872d9e98538b90337c9053697c2b576b33576a1f +49603249601f3f4e1e3d5f25475832344d1e3d573b3f4e1e3a44233f4e32304321 +354c313043212f3c223a44232f3c222f3c222b33223335222f3c222f3c22304321 +30444d2b33223043212f3c222b33222a3438344d1e344d1e354c31354c31304321 +3f4e323c5822344d1e3d573b354c312f3c223a44233f4e323c58225474286b8545 +757b2d576b335f7b2a576a1f4b6933576a1f5e74294b69333c58223c58223c5822 +3d5f253c58223d573b3c58223f4e323d5f253d5f2547581f47581f4b681e497323 +41671b4b69334b693341671b6b85455f7b2a6f8f527787465f7b2a6b85457c9053 +8ea0598c983592a7597d97367f975392a75992a7597d97368c98538ea0598ea059 +3f4e323a44234c5026354c313f4e323c58223a44233f4e32354c313f4e32304321 +354c313d5f254960323d5f2547581f4960323d5f253f4e1e3f4e323f4e32475832 +4758324758324960324b69333f4e323043213043212f3c22344d1e3c5822304321 +2e3c443a44232f3c223f4e32344d1e3d573b3a44232b3322262e35342d1f262e35 +272c1f2a3438383c232a3438342d1f262e35383c233f4e323a44232e3c44304321 +3f4e322f3c224b69335e742949601f3f4e323f4e1e47583247581f354c313f4e32 +2f3c22383c23383c2333352247581f4c50263335222f3c224960323f4e1e3f4e1e +344d1e3a44233c58223d5f2541671b41671b41671b41671b54742860832a557f22 +557f22708f3160832a60832a547428547428576a1f4b681e4b681e4b681e4b681e +41671b49732349601f4b681e3d5f2541671b41671b344d1e3043213043213f4e1e +49601f3d5f25576a1f49732354742841671b49601f3d5f254b681e547428497323 +4b681e41671b3c58223c58222f3c22272c1f3335222b3322333522272c1f333522 +2b33223a4423272c1f272c1f24261c24261c24261c24261c24261c24261c272c1f +272c1f2b33222f3c2247581f47581f3f4e1e344d1e576a1f3c582247581f47581f +47581f49601f47581f3f4e1e383c234c5026344d1e3c582230432147581f3f4e1e +3f4e1e3335223a44233f4e1e383c23383c233a44233a4423383c233a44233a4423 +4c50263043212b3322342d1f3335222f3c223335223a4423333522272c1f272c1f +272c1f272c1f342d1f333522383c232f3c22383c233335223f4e1e556024576a1f +656c26576a1f576a1f5e74295e7429697c2b5e742955602449601f47581f4b681e +4b681e55602455602449601f344d1e47581f49601f47581f3f4e1e3a4423333522 +383c23383c23272c1f272c1f342d1f383c23383c2374643e86874a342d1f272c1f +333522272c1f342d1f272c1f333522443623443623574f263f4e1e24261c272c1f +272c1f3335223043212f3c223335222b33223f4e1e272c1f272c1f2f3c2247581f +3f4e1e333522342d1f304321333522272c1f383c23333522333522383c232f3c22 +3335223a44234c50264c50265558243f4e1e3f4e1e3a4423383c23383c23555824 +757b2d574f265560243a44233a4423383c23333522342d1f3335224c50264c5026 +555824383c23443623333522333522666b3b757b2d656c26766427757b2d666033 +4c50263a44233f4e1e3f4e1e344d1e344d1e3043212f3c222b33222f3c222f3c22 +2f3c222f3c222f3c222b33222b33222f3c22304321304321344d1e3043213f4e1e +3c5822344d1e3c58223d5f25576a1f5f7b2a697c2b576a1f76872d6b852c76872d +697c2b76872d8b903387872c8c98359fa8579e98539fa8578c98539fa0569fa056 +8e9f3ba0a03a8e9f3b6b852c6b852c8c983576872d778746757b2d656c26475832 +4c50264758323c58223d573b3f4e1e3f4e1e3f4e32344d1e354c313043212f3c22 +3a44232f3c223335222b3322333522383c232b33222a34382b33222a3438304321 +2f3c222f3c222a34383043212b33222a3438304321344d1e344d1e304321354c31 +344d1e344d1e3c58223043213a44232f3c222f3c223043214c50264b681e757b2d +68752b697c2b5e74295560245560243d5f254b69334b6933344d1e354c31304321 +3c5822344d1e354c31344d1e344d1e3f4e1e4960323c58223c58224758324b6933 +4b693341671b4b69334b69336b85456b852c7b90346b852c697c2b7b90347b9034 +a1b1707b9034819f597d97367b903480a03b92a7598e9f3b7b90348e9f3b7d9736 +3f4e322f3c223f4e323a44233f4e323d573b3a44233f4e323a44233f4e322f3c22 +4758323d5f254960323f4e1e3c582249601f3c58223f4e32344d1e3f4e323f4e32 +354c313f4e32496032496032304321354c31354c312f3c223043213d573b354c31 +3a44233a4423383c233a4423354c31354c31304321373e432b33222b33222b3322 +333522373e43383c232f3c22342d1f262e35272c1f2f3c223f4e32383c232f3c22 +2f3c223a44235e742949603249601f3d573b3f4e1e3f4e1e3f4e323f4e323f4e32 +2f3c222f3c222b33222f3c2247581f3c5822354c313a442347581f3a4423383c23 +3335222b3322304321344d1e3d5f2541671b49732341671b4b681e557f225f7b2a +5474286b852c557f22547428547428547428557f2241671b4b681e547428497323 +5474284b681e49601f41671b41671b4b681e49601f344d1e344d1e3c58223c5822 +4b681e3c582241671b4b681e5e74294b681e41671b3c5822576a1f547428497323 +54742849601f3d5f2541671b2f3c222b33223335222f3c223a44232b3322304321 +3f4e1e3f4e1e333522272c1f272c1f24261c24261c24261c24261c272c1f342d1f +2b33222b33222b33222f3c22383c233f4e1e3f4e1e49732349601f3c58223f4e1e +3f4e1e3f4e1e3f4e1e3043212b33224436232f3c223f4e1e2f3c223a44233a4423 +3a44233335222f3c223a4423333522333522443623383c23383c233a4423383c23 +383c233a4423383c23272c1f2b33223335223335223335222f3c22383c23342d1f +24261c24261c24261c2b3322383c233f4e1e383c23342d1f3a4423556024576a1f +576a1f68752b5e742968752b697c2b757b2d697c2b656c2655602447581f556024 +55602449601f55582449601f3f4e1e47581f49601f47581f3f4e1e3f4e1e383c23 +383c23383c233335222b33223335224e44253a4423767b47766e2d333522272c1f +342d1f2b3322342d1f24261c342d1f333522383c234c50263f4e1e342d1f24261c +272c1f333522383c233a44233335223335224c5026272c1f3335224c502649601f +4b681e3a44232f3c222f3c223f4e1e333522383c232b33223335223a4423304321 +383c233f4e1e3f4e1e4c50264c50264c50263f4e1e4e44253335224e442586874a +666b3b3a4423576a1f3a44233a44233f4e1e2b33222f3c223335224c5026556024 +666033333522383c23333522333522574f2674643e666033766427697c2b66592c +3f4e1e3f4e1e3f4e1e4c5026344d1e3f4e1e3043212f3c222f3c222b33222f3c22 +2b33222b33222b33222b33222b33222b33222f3c222f3c22304321304321304321 +344d1e344d1e3f4e1e4b681e697c2b6b852c697c2b5e742976872d6b852c6b852c +60832a6b852c8c98358b90338e9f3b8c98538b90338c98357b90348c98539f9035 +9e9853a0a03a86874a6b852c76872d8c98357b903476872d766e2d656c26556024 +47581f4960323f4e1e3c5822354c31354c313043212f3c223a44232f3c222f3c22 +2f3c222f3c222b33222b33223335222b3322272c1f3335222f3c222b3322304321 +2a34382f3c222f3c222f3c222b33222b33222f3c22304321354c31344d1e304321 +354c31354c313043213043212f3c222f3c222f3c22304321344d1e47581f757b2d +766e2d576a1f5e7429576a1f475832344d1e3d5f253c5822354c31304321304321 +344d1e3c5822304321304321354c313f4e1e3c58223c582247583247581f3d5f25 +49603249601f576b334b69336b852c60832a7c90537787465e74298b90558c9853 +92a75976872d8ea05980a03b6b85458e9f3b8ea0598ea05976872d92a75980a03b +3a44233043215f61563a44233d573b354c312f3c223f4e1e354c313f4e32304321 +3d5f2549601f4b69333d5f254758324960323f4e1e3f4e323c5822354c31354c31 +3a4423354c313d5f253f4e322e3c442b3322333522262e35342d1f3a4423354c31 +3a4423383c232e3c443335222f3c222f3c223a44233944462f3c222a34382f3c22 +3a44233a44232f3c22333642262e3524261c24261c333522383c232f3c223a4423 +3c582247581f4b681e4960323f4e1e354c313f4e1e3a44233a44233a44233f4e1e +3a44232f3c222f3c222b33223f4e1e3f4e1e3f4e1e47581f3f4e1e3a44232b3322 +2b3322272c1f333522383c233f4e1e47581f3d5f2549601f49601f547428576a1f +4b681e5f7b2a576a1f41671b576a1f497323576a1f4b681e49601f497323547428 +547428557f2241671b4b681e5474284b681e3d5f253c5822344d1e49601f5f7b2a +576a1f3c58223c58224b681e5f7b2a497323576a1f49601f5e7429497323576a1f +54742841671b3c58223d5f252f3c222f3c223f4e1e3d5f2549601f30432149601f +47581f3f4e1e2f3c22342d1f24261c24261c24261c272c1f24261c272c1f272c1f +3335222f3c2224261c2b33222f3c224c5026344d1e4b681e576a1f49601f49601f +3f4e1e3f4e1e47581f344d1e2f3c223335222f3c222f3c22383c23304321383c23 +333522383c23333522383c23333522333522383c23383c23383c233a4423333522 +342d1f3335222b3322272c1f342d1f2b3322272c1f272c1f383c232f3c222f3c22 +272c1f24261c272c1f24261c2b33223f4e1e3a44232b33223a4423576a1f5e7429 +656c26576a1f5e742968752b68752b6b852c68752b5e7429576a1f5560244c5026 +47581f47581f47581f4c50263f4e1e47581f49601f5560243a44233f4e1e304321 +2f3c22383c233f4e1e333522383c234c50263a442375704d656c263335222b3322 +333522272c1f24261c24261c333522333522333522383c23383c23342d1f24261c +272c1f342d1f2b3322333522333522272c1f3f4e1e2b33223335223f4e1e4b681e +49601f3f4e1e3a44232f3c223a44233043213a44233043213a44233a4423383c23 +383c234c50263335224c50263f4e1e4e44253f4e1e555824383c23666033ada17f +656c264e44255558243f4e1e3f4e1e5558243f4e1e47581f3f4e1e555824766e2d +766e2d4436234436233335224c5026333522333522555824666033666b3b555824 +4e44253a44233a4423344d1e344d1e344d1e3043212f3c222b33222b33222f3c22 +2b3322272c1f2b33222b33222b3322272c1f2b33222f3c222f3c222f3c222f3c22 +3043213043213c5822576a1f76872d5e7429557f2260832a6b852c708f31708f31 +76872d6b852c8b90337b90349fa0568e9f3b7b903477874676872d76872d76872d +7b90348b9033757b2d76872d60832a7d97366b85456b852c576b33576b3349601f +354c313f4e32354c313043213043213043213043212f3c223043212f3c222b3322 +2f3c222b33222b33222b3322272c1f272c1f2b33222b33222a34382f3c222b3322 +2b33222f3c222a34382f3c222f3c222b33222f3c22354c31354c31344d1e2f3c22 +3043213043213043213043213043212f3c223a4423304321354c3149601f697c2b +68752b556024576b33576a1f47581f3c5822344d1e354c313043213043212e3c44 +344d1e354c31304321304321304321354c313c58223f4e1e3c58223c58223f4e32 +354c314c5026576b335560246f8f5260832a7d973677874676872d7787467b9034 +8c98537b90347b90347d973660832a7b90348ea83e8ea05976872d80a03b7d9736 +3a4423304321576b334e4425475832354c312f3c22475832354c313c58223a4423 +3d573b47581f3d5f253d5f253d5f2549601f3c58223a44233f4e32354c312f3c22 +2f3c223a4423354c31333522342d1f272c1f262e35272c1f262e353a4423344d1e +304321383c23333522342d1f3335222e3c442f3c223a44233a44233944463a4423 +354c313a44233a4423342d1f272c1f333642262e35342d1f2a34382f3c22475832 +496032576b335560244960323a4423354c313043213a44233a44232f3c223f4e32 +3a44233043212f3c222b3322383c23383c233a44234c5026344d1e3a4423383c23 +2f3c222b33222b33223a4423383c233a442349601f3f4e1e55602449601f555824 +47581f49601f47581f3c582247581f41671b4b681e4b681e47581f4b681e557f22 +5e742960832a5474285f7b2a557f224b681e49732341671b41671b54742860832a +5f7b2a4b681e3c58224b681e557f22557f22547428576a1f5f7b2a4b681e4b681e +54742849601f3c5822344d1e30432130432147581f47581f49601f3a442347581f +3f4e1e333522272c1f272c1f272c1f272c1f342d1f272c1f342d1f2b3322272c1f +3335222b3322342d1f272c1f2f3c223c58223f4e1e576a1f576a1f576a1f4b681e +4b681e49601f4b681e41671b49601f47581f344d1e383c233a44233a4423383c23 +2f3c223a44232f3c223a4423333522304321383c23383c233335223a4423333522 +342d1f272c1f342d1f272c1f342d1f333522342d1f272c1f342d1f2b3322333522 +272c1f24261c24261c24261c272c1f383c232f3c222f3c223f4e1e5e74295f7b2a +576a1f576a1f576a1f697c2b68752b757b2d68752b656c26576a1f49601f3f4e1e +4c502649601f3f4e1e3f4e1e3f4e1e4c502647581f5558243a44233a4423383c23 +3a44233a44233f4e1e3a4423383c234c502647581f766e2d4c5026383c232f3c22 +333522272c1f342d1f272c1f342d1f333522333522333522383c23333522333522 +272c1f24261c272c1f342d1f3335222b33223f4e1e2b33222f3c2247581f556024 +47581f344d1e3a44233a44232f3c223a4423344d1e4c50263f4e1e3f4e1e3a4423 +3a44233a4423333522383c234c50264e44253f4e1e55602444362375704d9e9853 +574f26383c234c502655602447581f576a1f555824576a1f5560245560248b9033 +767b473a4423574f26383c235558244e3d22342d1f383c2366592c574f263a4423 +3a44232f3c223043213043212f3c22344d1e2f3c222b33222b33222f3c222b3322 +2b33222b33222b3322272c1f2b3322272c1f2b33222f3c222b33222f3c222b3322 +2f3c22304321344d1e4b681e68752b547428547428497323557f22708f3176872d +5f7b2a557f226b852c76872d8c98536b852c757b2d7b9034697c2b5f7b2a697c2b +6b852c6b852c6b852c8b90335f7b2a6b852c6b852c5e7429576b3349601f3f4e1e +3f4e1e3f4e323043213043213a44232f3c222f3c222f3c223043212f3c22272c1f +3335222b33222b33222b3322272c1f2b3322272c1f2b33222b33222f3c22272c1f +2f3c222f3c222b33222f3c222a34382b33222b33223043213043213043212f3c22 +3043213043213043213043212f3c22304321354c31304321344d1e3f4e1e5e7429 +576a1f47581f49601f475832496032344d1e304321304321354c312f3c222f3c22 +304321344d1e354c31304321383c233043213d5f253d573b354c313c5822344d1e +3a442347581f5e7429757b2d7c90537b90347b903486874a86874a757b2d76872d +8c98536b852c6b852c77874660832a6b852c8ea05980a03b76872d8ea0597b9034 +394446304321576b3356603a3f4e323f4e323a44234758323f4e32475832344d1e +3f4e324b693349603247583249603249601f3f4e324c50263f4e323a4423304321 +2f3c22373e433a44232b3322272c1f272c1f262e35272c1f2b332247581f3c5822 +304321373e432b33222b33223335223043213043212f3c223a4423354c31383c23 +3a44233f4e323a4423333642342d1f272c1f262e352b3322383c232f3c223f4e32 +3c58224b693349603247581f47581f3f4e323a44233a44233a4423383c233a4423 +3f4e323f4e1e3a44232f3c222f3c22383c23383c233a442347581f3a4423383c23 +383c232b33222b33223a44232b33223335223f4e1e3a442349601f47581f3f4e1e +3a442349601f3f4e1e47581f3c58223f4e1e47581f49601f3c582241671b4b681e +557f225f7b2a5f7b2a60832a60832a547428557f224b681e3d5f2554742860832a +5e7429557f2241671b4b681e5f7b2a5f7b2a4b681e41671b54742849601f41671b +576a1f41671b49601f41671b344d1e344d1e47581f49601f47581f2f3c22383c23 +2f3c222b3322272c1f24261c342d1f272c1f272c1f342d1f272c1f272c1f333522 +2b3322272c1f272c1f2b3322344d1e49601f4b681e4b681e49601f49601f6b852c +576a1f4b681e576a1f5e7429576a1f4b681e3f4e1e3a44233a44233f4e1e2f3c22 +272c1f3f4e1e3f4e1e3a44232f3c22383c23333522342d1f272c1f383c232f3c22 +342d1f272c1f2b33222b33222b33223335222b3322272c1f272c1f272c1f333522 +24261c24261c24261c272c1f272c1f333522333522383c233f4e1e5e7429757b2d +68752b656c266b852c68752b68752b68752b656c26576a1f556024576a1f304321 +3f4e1e47581f4c50264c50264c50263f4e1e4c50263f4e1e4c50263a44233f4e1e +3f4e1e4e44253f4e1e3f4e1e3f4e1e47581f56603a555824383c23383c232f3c22 +383c23333522272c1f333522333522342d1f333522383c232b3322342d1f383c23 +333522272c1f342d1f2b33222b33223335223f4e1e304321333522344d1e47581f +4c50263043213f4e1e3f4e1e3a4423383c233a44233f4e1e3f4e1e4c50263f4e1e +4c5026383c23333522383c23383c23383c23383c234c50263f4e32766e2d666033 +383c233a442349601f47581f49601f556024555824576a1f666033656c2686874a +656c2647581f5558243a44234e4425383c23333522272c1f342d1f3335222b3322 +3335223043213043213043212b33223043213043212b33222b33222f3c222b3322 +2b3322272c1f2b3322272c1f2b33222b3322272c1f2b3322304321272c1f2f3c22 +2f3c223043213c5822576a1f5e7429547428557f225f7b2a60832a5474285e7429 +557f225f7b2a697c2b6b852c697c2b5474285f7b2a697c2b5474285e7429576a1f +576a1f576a1f697c2b708f3160832a60832a5474285474283d5f25475832344d1e +304321354c313043212f3c223043212f3c222f3c22262e352b33222b33222b3322 +2b33222b3322262e352f3c222b33222b33222b33222b33222b33222b33222b3322 +2f3c22272c1f2b33222f3c222f3c221e241b2b33222f3c222f3c223043212b3322 +2f3c222b33222a3438304321344d1e3043213a44233043213c5822344d1e576b33 +49601f3f4e1e49601f556024344d1e354c313043212f3c223043213043212f3c22 +3043213d573b354c313043212f3c223043214b69333c58223043213c58223c5822 +383c23496032576a1f757b2d76872d7b90347d973676872d68752b68752b697c2b +8c98535f7b2a697c2b708f31708f316b852c92a7598b903376872d7d973660832a +3a44233f4e3256603a576b334758323d573b3f4e1e3f4e323f4e1e4960323f4e32 +3c58224b693355602447581f475832344d1e3f4e32383c232b33222b3322394446 +2f3c222b3322262e35272c1f24261c262e35272c1f262e352f3c2249601f3d5f25 +3c58222f3c222b33222e3c442f3c223a4423304321373e43383c23373e43383c23 +383c234c5026383c23333642342d1f262e35443623262e352b3322383c233a4423 +3f4e1e4758324758323f4e1e4c50263c58223f4e323a44233a44233335222f3c22 +3f4e323f4e1e3a44233a4423383c233a4423383c2333352247581f3f4e1e333522 +2f3c22333522272c1f2b3322272c1f272c1f2b33222b3322344d1e4c5026333522 +2f3c2249601f49601f47581f49601f304321344d1e3f4e1e3f4e1e47581f547428 +576a1f5474285474285f7b2a5474284b681e4973235474284b681e49601f41671b +576a1f6b852c49601f49601f41671b49732347581f3c582241671b3c58223c5822 +4b681e4973234b681e4973233c58223f4e1e47581f49601f4c50262b33222b3322 +272c1f272c1f272c1f24261c272c1f2b3322272c1f2b3322333522333522383c23 +342d1f272c1f272c1f2b33223f4e1e49601f49601f4c5026344d1e49601f757b2d +576a1f4b681e576a1f5474284b681e576a1f47581f3a44233f4e1e3f4e1e383c23 +2f3c223a44233f4e1e3a4423333522383c232f3c22342d1f2b3322383c23344d1e +3335223335223335222b3322272c1f383c23383c23342d1f272c1f272c1f333522 +272c1f272c1f24261c272c1f272c1f2b33223335223a44233f4e1e47581f576a1f +576a1f656c2676872d68752b5e742968752b656c26576a1f576a1f666b3b3a4423 +3f4e1e383c233f4e1e3f4e1e47581f3f4e1e4e44253a44233f4e1e3a44233f4e1e +3f4e1e3a44234c50264c502649601f55602455602447581f383c233f4e1e3a4423 +2f3c223335222b3322383c232f3c22272c1f333522383c232f3c223a44233f4e1e +383c232f3c22383c233335223a44233a44233f4e1e3043213a4423344d1e3f4e1e +47581f3a44233f4e1e47581f3f4e1e383c233f4e1e4e44253a44234e4425383c23 +383c233335223335223a44234c5026383c234e44254c50264c502666592c443623 +4e44253f4e1e5560243f4e1e47581f49601f5558244b681e5558243f4e1e576a1f +47581f47581f5558243f4e1e4c5026574f26443623272c1f342d1f3335222f3c22 +2f3c222f3c223043213043212b33222f3c223043212b33222b33222f3c222b3322 +2b3322272c1f2b33222b33222b33222b33221e241b2f3c223043212b33222f3c22 +2f3c223c58223d5f25576a1f697c2b497323557f225f7b2a557f22557f2249601f +5f7b2a60832a5e7429576a1f4b681e547428576a1f657c444b681e4b681e49601f +4b681e576a1f5474285e74297b9034697c2b4b681e4b681e3d5f253c5822344d1e +3f4e322f3c223043212e3c442b33222b33222f3c222b33222b3322262e35272c1f +2b33222b3322272c1f2b33221e241b2b3322272c1f272c1f272c1f2b3322272c1f +2f3c222b3322272c1f2b3322262e35272c1f262e352f3c223043212f3c222b3322 +2f3c222b33222f3c22344d1e344d1e344d1e344d1e3f4e1e49601f344d1e547428 +4b681e2f3c223f4e1e475832344d1e354c312f3c223043213043212f3c222b3322 +3043213d573b354c313f4e323a44232f3c223d5f253f4e32354c3147583241671b +4c502649601f49601f666b3b757b2d77874676872d76872d68752b5e7429576b33 +697c2b5474286183456b852c708f316b854580a03b7c9053757b2d7b90345f7b2a +3f4e323f4e324c50265658384758324960324960323f4e323f4e324758323f4e1e +4758324960323f4e323f4e1e4758322f3c22383c232f3c223336422b3322304321 +2f3c22262e35272c1f262e35272c1f272c1f272c1f2f3c222b33224758324b6933 +4758323a4423333522383c232f3c222a34383335222f3c223a44233043212e3c44 +3043213f4e323a4423333522342d1f262e35333522272c1f272c1f373e43354c31 +3f4e1e47581f4758323f4e1e354c313f4e323a44234758322f3c22333522333522 +383c233a44233a44233f4e1e4e44253a44232f3c222f3c224c50263a44233a4423 +2b332224261c272c1f24261c1e241b24261c24261c272c1f2f3c224c5026333522 +3a442349601f3d5f253f4e1e3f4e1e3f4e1e47581f344d1e3c5822304321576a1f +41671b3f4e1e4b681e576a1f4b681e49732349732354742841671b4b681e49601f +4b681e5474283c582247581f49601f4973233c582249601f5474284973234b681e +576a1f557f225f7b2a4b681e4b681e47581f47581f49601f3a4423272c1f2b3322 +333522272c1f24261c272c1f272c1f272c1f2b3322342d1f2b33222b33222b3322 +383c2324261c272c1f2f3c223f4e1e3f4e1e47581f344d1e3043214c5026697c2b +576a1f49601f49601f576a1f49601f576a1f47581f3a44233a44233f4e1e3a4423 +3043213f4e1e3f4e1e3f4e1e3043213a44233335222b3322342d1f3043213f4e1e +383c232b33223335223335222f3c222f3c222f3c222f3c22333522333522333522 +272c1f272c1f342d1f272c1f272c1f3335223335223f4e1e4c50263f4e1e574f26 +3f4e1e4c5026656c2668752b68752b576a1f556024556024576a1f5560243f4e1e +3f4e1e383c23383c233a442347581f3f4e1e3a4423383c233a44233a44233f4e1e +47581f3a44233f4e1e47581f556024556024576a1f5560243f4e1e47581f3a4423 +3f4e1e3a4423383c233f4e1e3a44232b3322333522344d1e3f4e1e4c50264c5026 +2f3c223f4e1e4c5026344d1e3f4e1e3f4e1e3a4423383c233f4e1e3a44233f4e1e +4c50263a4423344d1e49601f47581f3a44233f4e1e3f4e1e4c50264c5026333522 +342d1f3335223335224e3d223f4e1e4c5026383c234c50265560244c50262b3322 +3a44233f4e1e49601f4c50263c58223f4e1e55602447581f4c50263a44234c5026 +3f4e1e47581f47581f3a44234c50264e4425383c23342d1f272c1f2f3c222f3c22 +3043213043212b33222f3c222b33223043212b33222b33222f3c222b33222b3322 +2b33222b33222b33222b33222b33222b33222b33222f3c222b3322304321304321 +2f3c223c582241671b576a1f60832a557f22557f22497323557f22497323576a1f +5f7b2a557f2249732341671b497323557f22576b33576b333d5f253d5f2547581f +4b681e4b681e3c5822557f2260832a5474285e74293d5f25344d1e3043213f4e1e +354c313043213043212b33222b33222b33222f3c222b332224261c2b33221e241b +2b3322272c1f2b33222b3322272c1f272c1f272c1f1e241b2b3322272c1f272c1f +2f3c222b33222b3322272c1f2b3322272c1f272c1f2f3c222f3c222b3322272c1f +2b33222f3c222f3c223c5822344d1e344d1e3a4423304321344d1e344d1e49601f +47581f2f3c223043213f4e1e304321344d1e2f3c222e3c443043213043212f3c22 +304321344d1e354c31354c312f3c223043213d5f25344d1e354c31576b33496032 +3f4e1e4758323c582249601f68752b68752b656c26767b47656c264b693347581f +4b6933547428567f3a5f7b2a697c2b708f316f8f526b852c5e742976872d497323 +3f4e324758324960324758323f4e1e4960324758323043213f4e323f4e323a4423 +3f4e32496032354c313f4e1e3d573b3043212f3c22383c233043212f3c22394446 +333522262e35272c1f24261c272c1f342d1f2a34382a34382f3c223f4e1e41671b +3c58223043212f3c223335222b3322272c1f333522383c233f4e323a44233a4423 +3f4e32496032354c31333522272c1f262e35342d1f3336422b3322373e433f4e1e +3a44233f4e324c50263f4e1e3a44233f4e323f4e1e4c50263335222b3322333522 +3335223a4423383c233f4e1e3a4423383c23383c232b33223f4e1e2f3c223f4e1e +2b332224261c24261c272c1f1e241b24261c24261c24261c383c2347581f304321 +3f4e1e49601f47581f3f4e1e344d1e3a44233f4e1e3c58223c5822304321556024 +49601f2f3c224b681e41671b49601f47581f3f4e1e3f4e1e47581f4b681e4b681e +4b681e49601f344d1e47581f3c58224b681e41671b41671b54742854742841671b +4b681e54742854742841671b4b681e47581f3a4423383c23272c1f272c1f2b3322 +2f3c22272c1f272c1f24261c272c1f272c1f272c1f2b3322342d1f272c1f333522 +383c23272c1f272c1f3335223a44233a4423383c233a44233f4e1e49601f697c2b +55582447581f49601f576a1f47581f47581f4c50263f4e1e3a44233f4e1e3f4e1e +3a44233a44233a44234e44253a4423383c232b33222b33222b33223a4423383c23 +383c233335222b33222b33223335222f3c22383c23383c232b3322342d1f342d1f +342d1f272c1f272c1f2b33222b3322333522383c233f4e1e4c5026383c233a4423 +3a44233a4423556024576a1f68752b576a1f47581f47581f576a1f576a1f47581f +4c5026383c23383c233a44234c50263f4e1e3a44233a4423383c233a44233a4423 +4e4425383c233f4e1e3a4423555824556024656c265560243f4e1e4c50263f4e1e +3f4e1e3f4e1e3f4e1e3f4e1e4c50263a44233f4e1e47581f576a1f55602447581f +3a44233f4e1e47581f3f4e1e4b681e576a1f3f4e1e2f3c223f4e1e3a442349601f +47581f4c50263f4e1e55582455602455582455582447581f4c50263f4e1e333522 +342d1f333522383c233f4e1e55602447581f383c23555824656c263f4e1e2f3c22 +3a44234c5026383c23383c233f4e1e3f4e1e3f4e1e47581f3043213f4e1e3a4423 +3f4e1e55582447581f304321383c23383c23383c23272c1f272c1f272c1f333522 +3335222b3322272c1f2b33222b33222f3c222b33222f3c222b33222b33222b3322 +272c1f2f3c222b33222b33222b3322272c1f2b33222b33222f3c22344d1e304321 +344d1e41671b5f7b2a576a1f60832a697c2b547428547428557f2249732341671b +4b681e4b681e4b681e4b681e41671b41671b4b6933576b3347581f344d1e344d1e +3d5f2549601f3c58224b681e4973234b681e41671b3c58223d573b344d1e354c31 +3043212f3c222a34382b33222b3322272c1f2b3322272c1f272c1f24261c1e241b +2b3322272c1f272c1f2b3322272c1f272c1f272c1f272c1f24261c272c1f272c1f +2f3c222b33222b3322272c1f2b33222b3322272c1f262e353043212b3322272c1f +2b3322304321304321344d1e344d1e354c312f3c222f3c22304321344d1e3a4423 +3f4e1e2b3322383c23383c232f3c22354c313043212f3c223043212a3438304321 +2f3c22344d1e3043213f4e323a44233a4423496032344d1e49601f49603241671b +3d5f25576b3347581f475832666b3b49601f5560244b69334b693349601f496032 +49603254742854742860832a5e7429697c2b547428576b335560246b8545576a1f +3f4e3256603a4758324758323f4e325560244758322f3c22354c313a44232f3c22 +3a44233a44233a4423354c31344d1e354c313f4e323f4e323d573b344d1e3a4423 +2a3438342d1f262e35262e35272c1f262e35342d1f2a34383335223a4423475832 +3d5f25304321333522262e35262e35342d1f262e35272c1f383c233a4423354c31 +4c50264960323f4e1e373e43342d1f342d1f272c1f3335222b33222f3c223f4e32 +3a44233f4e1e3d573b3f4e1e3f4e1e47583247581f3a4423333522272c1f333522 +342d1f383c233a44234e4425383c23383c232f3c222f3c223f4e1e3a44233a4423 +342d1f24261c24261c24261c24261c24261c24261c272c1f3f4e1e4c50262f3c22 +344d1e3c5822344d1e3a4423304321344d1e3f4e1e4b681e3f4e1e333522333522 +2b33223335223f4e1e47581f49601f3f4e1e3f4e1e30432149601f3d5f2549601f +4b681e49601f30432147581f3f4e1e41671b4b681e576a1f576a1f47581f49601f +49601f49601f4b681e49601f4b681e3a44233335222b33222b3322272c1f342d1f +3335222b3322272c1f2b3322333522272c1f272c1f272c1f272c1f333522333522 +383c23272c1f272c1f272c1f383c233a44232f3c224c502649601f576a1f757b2d +55582447581f47581f5560243f4e1e3f4e1e3f4e1e3f4e1e3f4e1e3f4e1e3f4e1e +383c232f3c222f3c223a44233f4e1e383c23342d1f333522333522443623383c23 +2f3c223335222b3322342d1f333522333522383c23383c233335222b33222b3322 +333522383c23333522383c23333522333522383c233f4e1e3f4e1e3a44233a4423 +3335224c5026576a1f656c2668752b55602449601f4c502647581f55602447581f +47581f304321333522383c2347581f4c50263f4e1e4c50263f4e1e3a4423383c23 +383c233a44234c5026383c233f4e1e55602468752b576a1f5558243f4e1e49601f +3f4e1e47581f47581f47581f47581f5560243f4e1e49601f4b681e49601f4c5026 +344d1e47581f5e742968752b576a1f5e742947581f3a442347581f30432147581f +4b681e47581f3f4e1e55602455602455602455582447581f4c5026383c23383c23 +333522383c23383c23383c235558244e44254c502686874a666033383c233a4423 +3a44233f4e1e383c233043213f4e1e47581f49601f5560244c50264c50263f4e1e +3a442347581f3a44232b33222f3c223a4423383c23272c1f24261c272c1f272c1f +272c1f2b3322272c1f1e241b272c1f272c1f2b3322272c1f272c1f2f3c222f3c22 +2b33222b33222b33222b33222b33222b3322272c1f2b33222f3c22344d1e344d1e +3c58225e74295e74295e74296b852c6b852c41671b49732349601f41671b49601f +49601f47581f3c58223c58223d5f253c58223c58223d5f253c58223c5822304321 +344d1e3c58223c58223d5f2541671b41671b3c5822344d1e344d1e344d1e304321 +354c312f3c222f3c222b3322262e35262e352b3322272c1f2b33222b3322272c1f +272c1f272c1f272c1f2b33222b33221e241b272c1f1e241b272c1f272c1f272c1f +272c1f2b3322272c1f272c1f2b33221e241b2f3c22262e352f3c222f3c22272c1f +272c1f344d1e344d1e3d5f25344d1e2f3c222f3c222f3c222f3c222f3c22304321 +2b3322333522272c1f3043212f3c22344d1e3043213043213043213043212f3c22 +2b3322354c31344d1e3f4e32475832383c233d573b49601f4758323c5822576b33 +3d5f255560245558243c5822576a1f3f4e1e4c50264960324b693347581f49601f +3d5f25576b33657c445e7429697c2b576b334b681e576a1f4b681e5e7429576b33 +3a44233f4e323a44233a44233f4e324758323f4e322f3c223a4423373e432f3c22 +3043213f4e323f4e32354c313f4e1e3043213a44233f4e3255602447581f354c31 +2b3322272c1f24261c262e35272c1f2a3438272c1f2b3322262e353335223a4423 +3f4e32354c313335222b3322262e35272c1f3335223335222a34383a44233f4e32 +4c502647581f3f4e1e3a44232a34383335222a3438383c233043212f3c224c5026 +4c50264c502647581f4758323f4e1e47581f47581f3f4e1e333522272c1f333522 +272c1f3335223f4e1e4c5026383c23333522383c233335223a44233a44232f3c22 +272c1f24261c272c1f272c1f24261c24261c24261c2b3322383c233a44232f3c22 +2f3c2247581f344d1e383c233043213043212f3c2249601f3f4e1e272c1f342d1f +2b33222f3c223043213c5822344d1e344d1e3f4e1e2f3c2247581f344d1e47581f +3f4e1e49601f3043213f4e1e3f4e1e49601f49601f3f4e1e49601f3f4e1e49601f +3f4e1e3c58223a4423344d1e3f4e1e2f3c22383c232b33223335222b33222b3322 +2b3322272c1f24261c2f3c22383c23272c1f272c1f2b3322333522333522333522 +383c232b33222b33222b33223a4423383c232f3c225560244b681e576a1f68752b +5558243f4e1e49601f576a1f3f4e1e3f4e1e3a44233a44233f4e1e3f4e1e383c23 +3335223335223a44233a44233f4e1e2f3c22272c1f383c23383c23383c23333522 +2f3c223335222b3322333522342d1f333522383c233a4423333522272c1f2b3322 +2b3322383c233335222f3c22333522342d1f2f3c223a44234e4425383c23383c23 +2f3c223f4e1e556024576a1f68752b576a1f5560243f4e1e4c502647581f47581f +3f4e1e3a4423383c23383c234c50264c502649601f47581f3f4e1e3f4e1e3f4e1e +383c233a44234c5026383c233a442355602477874655602447581f555824556024 +3f4e1e49601f55602455602447581f556024576a1f556024576a1f49601f4c5026 +3f4e1e3f4e1e576a1f697c2b656c2668752b49601f47581f5558243a4423556024 +576a1f47581f555824555824555824576a1f5558244c50264c5026333522383c23 +3335223a4423383c233335223f4e1e383c23574f26867c4c5560244e44253a4423 +383c233a44233f4e1e3c582247581f49601f576a1f68752b576a1f4c50263f4e1e +3a44234c50263a4423342d1f3a44233a44233a44232f3c22272c1f2b3322272c1f +272c1f272c1f272c1f272c1f272c1f1e241b2b33222b3322272c1f272c1f2f3c22 +2b33222b3322272c1f2b33222b3322272c1f2b33222f3c22304321344d1e3d5f25 +3c5822697c2b76872d76872d7b90346b852c576a1f4b681e3d5f2549601f4b681e +49601f3f4e1e344d1e3c582249601f3c58223c58223c58223f4e1e344d1e3a4423 +344d1e304321344d1e3c58223d5f25344d1e3c5822304321344d1e344d1e354c31 +2f3c222b33222b33222b33222b3322272c1f2b3322272c1f1e241b272c1f1e241b +2b33221e241b272c1f272c1f272c1f272c1f1e241b272c1f1e241b2b33221e241b +272c1f272c1f304321262e352b33221e241b2b33222b33222f3c222f3c22272c1f +2b3322344d1e3c5822344d1e344d1e2f3c222f3c222b33222b33222f3c222f3c22 +2b33222b3322272c1f2f3c222b3322304321304321304321304321304321304321 +2a34382f3c22344d1e3c58224e5043383c233f4e1e4960324b69333c5822475832 +3f4e1e565838475832344d1e4c50263f4e1e3f4e1e3c58224b69333d5f25475832 +4b69335e7429657c44576a1f556024555824496032576b3341671b4b6933547428 +3a4423383c233336423a44233a44233f4e323f4e322f3c222e3c44333522262e35 +2f3c22354c313f4e1e3f4e1e475832354c313a44233f4e324b693347581f383c23 +2a3438262e35262e35272c1f342d1f262e352b33222b3322333522262e35383c23 +3f4e323a44232f3c22262e352b33222f3c223a44233944462b3322342d1f2f3c22 +2f3c223a44233a44232f3c222f3c223335222f3c223f4e323a44232e3c443f4e32 +3d5f2549601f3d5f2547581f47581f3f4e324c50263a4423383c232b3322333522 +2b3322333522344d1e3f4e1e3a4423342d1f3a44233f4e1e3a44233a44232f3c22 +333522272c1f2b3322383c23342d1f24261c272c1f3335222f3c222f3c22272c1f +342d1f3f4e1e3a44233043213a44233f4e1e3f4e1e4b681e3f4e1e304321304321 +3043213f4e1e3a442347581f3043213a44233043212f3c22344d1e2f3c2249601f +3043213f4e1e30432147581f3f4e1e47581f49601f47581f47581f3a4423304321 +2f3c223a44232f3c22383c233a44232f3c224c50262f3c222f3c222b3322333522 +342d1f272c1f272c1f342d1f2f3c22272c1f272c1f2b33222e3c44383c23383c23 +333522383c23342d1f2b33224e44252f3c22383c2355582447581f4c5026656c26 +4c50263f4e1e5560245560243f4e1e3f4e1e4c50263a44233a44233a4423333522 +3335222b3322383c233a44233a4423383c23333522333522383c23333522333522 +383c233335223335222b33222b33223335223a44233a44232b33222b3322272c1f +333522383c233043213a44233043212b33223335223a44233a44233a44233a4423 +3a44234c5026556024576a1f68752b656c26576a1f47581f3f4e1e3f4e1e47581f +4c50263f4e1e383c23383c233f4e1e3f4e1e49601f4b681e5560245560243f4e1e +3a44233f4e1e4c50263f4e1e3a442355602486874a55602447581f47581f556024 +47581f47581f576a1f4b681e5560244b681e556024556024576a1f49601f49601f +49601f55602447581f656c26556024656c26556024555824576a1f3f4e1e555824 +656c264c50264c50264c50264e4425574f263f4e1e3f4e1e3f4e1e383c233f4e1e +383c23333522333522333522383c23443623666b3b766e2d3a4423383c23383c23 +344d1e3043213f4e1e4c502649601f47581f556024757b2d68752b3f4e1e3c5822 +3043214c50263043213f4e1e3f4e1e3a4423344d1e3f4e1e344d1e344d1e272c1f +272c1f2b3322272c1f2b3322272c1f272c1f24261c1e241b272c1f272c1f24261c +24261c1e241b272c1f2b3322272c1f272c1f272c1f272c1f2f3c223043213f4e1e +47581f656c26757b2d757b2d87872c5e742949601f3d5f253f4e1e344d1e49601f +49601f304321344d1e3c58223f4e1e344d1e344d1e3c5822344d1e344d1e304321 +2f3c22344d1e344d1e344d1e344d1e344d1e344d1e304321344d1e3f4e1e344d1e +2f3c222f3c222b3322272c1f272c1f2b33221e241b2b33222b33222b33221e241b +272c1f272c1f272c1f272c1f2b3322272c1f24261c272c1f1e241b272c1f272c1f +272c1f272c1f2b33222b3322272c1f272c1f2f3c22272c1f2f3c22304321272c1f +2f3c22344d1e3c58223c58223043212b33222f3c222b33222b33222f3c22272c1f +2f3c222b33222b33222f3c222f3c222f3c222a34383043213043213043212b3322 +2f3c22304321344d1e344d1e3f4e1e304321344d1e3d5f255558243f4e323f4e1e +475832556024344d1e3d573b3043213a44233f4e323f4e1e4960324b69334b6933 +4b693362744468752b49601f3f4e1e4e50435474284b69334b69335f7b2a656c26 +383c23373e433335223f4e323a44233f4e32354c31383c233a44232b3322333522 +2f3c22354c31354c31344d1e4758323f4e1e3a44233f4e32576b333c5822373e43 +2b33223335222a34382b3322373e432b3322383c23304321383c23262e352b3322 +2f3c223a44233043212a3438342d1f2f3c223f4e322f3c222f3c222a3438342d1f +2a3438383c233a4423373e43333522262e352f3c2239444633352233352254605f +576b33547443576b333f4e1e47581f3c58223f4e323a4423383c23272c1f333522 +272c1f2f3c223f4e1e3a44233f4e1e383c233f4e1e3a44233335223335222f3c22 +2b332224261c2f3c223a4423333522383c23344d1e4c5026304321333522272c1f +3335222f3c223a4423344d1e3f4e1e47581f47581f576a1f3c582247581f344d1e +3a44233f4e1e344d1e344d1e49601f344d1e344d1e344d1e3f4e1e2f3c223f4e1e +3d5f253f4e1e3f4e1e49601f49601f49601f49601f47581f47581f3a4423333522 +3335222b33222b33222f3c222f3c223f4e1e47581f3f4e1e3a4423383c23333522 +272c1f272c1f272c1f272c1f2b3322272c1f272c1f3335222f3c222b3322373e43 +333522383c233335222f3c223f4e1e383c23383c2355582447581f3a4423656c26 +3f4e1e3a44235560245560243f4e1e3f4e1e3a44233a4423383c23383c23333522 +342d1f2b3322383c23383c233a4423383c233335222f3c223a44234e4425383c23 +383c23333522333522383c232f3c22383c23383c23333522342d1f272c1f272c1f +2b3322333522383c233a44233a4423383c23333522383c233a44233a44233f4e1e +5558243f4e1e555824576a1f68752b576a1f55602447581f3f4e1e4c502647581f +4c50263f4e1e383c233a44233f4e1e3a442347581f4b681e47581f47581f47581f +3f4e1e47581f5558243f4e1e3f4e1e767b478b90555558243f4e1e3c582247581f +3f4e1e3f4e1e55602449601f47581f3f4e1e3f4e1e4c502655602447581f49601f +47581f47581f3f4e1e4c50263a4423656c26576a1f5558244c5026383c233a4423 +47581f3f4e1e3f4e1e3f4e1e3043213a44234436234436234e4425443623383c23 +443623342d1f333522333522383c23666033766e2d4436232f3c22304321304321 +3a44233f4e1e3f4e1e5558243a44233f4e1e3a4423574f26666b3b3a442347581f +344d1e3f4e1e3f4e1e3a4423344d1e3a44233043213c58223c5822344d1e272c1f +272c1f272c1f2b33222b3322272c1f2b3322272c1f272c1f1e241b272c1f272c1f +272c1f272c1f1e241b272c1f272c1f272c1f272c1f2b33223335222b3322383c23 +4e4425574f26604f2a556024766427576a1f3f4e1e344d1e3a4423383c233a4423 +383c2330432130432147581f344d1e344d1e3c5822344d1e344d1e304321304321 +344d1e2f3c22304321304321344d1e304321304321304321304321354c31344d1e +2f3c222b33222f3c22272c1f2b3322272c1f2b3322272c1f1e241b272c1f24261c +272c1f1e241b272c1f272c1f272c1f272c1f272c1f24261c1e241b272c1f272c1f +1e241b2b33221e241b272c1f272c1f262e352b33222b3322344d1e344d1e24261c +272c1f2f3c22304321344d1e3043212f3c222b33222b33222b33222f3c222b3322 +2b33222b3322272c1f2b33222f3c222f3c222f3c222f3c222f3c223043212b3322 +304321344d1e2f3c22304321354c313043213c5822344d1e3f4e1e304321344d1e +3d5f25475832344d1e3c58223043212f3c223f4e1e3f4e1e4960323d5f254b6933 +576b33656c26576b3347581f3a44233f4e1e4b693341671b3d5f255e74295e7429 +3336423335222e3c444758323a44233a44233a4423373e43333522262e352a3438 +354c313043213335222f3c223f4e323f4e1e3f4e1e475832496032344d1e354c31 +333522383c23383c23333522383c23383c233a44233f4e32383c23272c1f333522 +2f3c223944463a4423262e352b33223043213a44233f4e323a4423383c232f3c22 +3335222b3322383c23333522333522262e352b33223335222a34382b332254605f +576b33576b33576b3349601f3f4e1e47581f3f4e1e383c23383c23304321304321 +383c233f4e1e3a44233a44233f4e1e2f3c22383c233f4e1e2f3c222f3c222f3c22 +272c1f272c1f3a44233f4e1e2f3c222f3c223f4e1e3c58223a44232f3c222b3322 +383c23383c233f4e1e3f4e1e47581f49601f49601f41671b4b681e4b681e47581f +344d1e344d1e3f4e1e344d1e576a1f49601f47581f3f4e1e3c58222f3c22344d1e +47581f3a4423344d1e49601f3d5f253f4e1e3f4e1e344d1e3a44232b3322272c1f +2b3322272c1f3043213f4e1e3f4e1e3f4e1e3f4e1e344d1e4c50263043212f3c22 +2b3322272c1f272c1f24261c272c1f272c1f272c1f2f3c22383c232b33223a4423 +2b3322373e43342d1f3335223a44233a44233335224c50263a44233a4423555824 +4c50263f4e1e4c50265558243f4e1e3f4e1e2f3c22383c23383c232f3c222f3c22 +2b3322383c23383c23383c233a44232f3c223a4423383c233f4e1e3f4e1e2f3c22 +383c232f3c222b33222b3322383c233a44233a44233a44232f3c22383c232b3322 +2b33223335222f3c223a4423383c233a4423383c233a44233f4e1e3f4e1e3f4e1e +4c50264c50264c502655602468752b656c26656c2655602447581f4c5026555824 +3f4e1e3f4e1e3f4e1e3f4e1e383c233f4e1e47581f49601f49601f5560244c5026 +3f4e1e3f4e1e4c50263f4e1e3f4e1e857d679e98535558243f4e1e3a442347581f +47581f3f4e1e3f4e1e4c50263f4e1e383c233f4e1e3a44233a44233f4e1e3a4423 +47581f4c5026333522333522383c235558245558243f4e1e383c23272c1f342d1f +3a44233335223335223335223335223a4423383c233a4423333522333522333522 +272c1f342d1f383c23333522574f26857d67555824333522342d1f3043213a4423 +3043213a44233f4e1e4c50263335222f3c223335223335223a4423344d1e47581f +3f4e1e3f4e1e47581f344d1e383c233a44233a4423344d1e4c5026304321304321 +2b33222b3322272c1f2b3322272c1f272c1f2b332224261c272c1f24261c24261c +272c1f1e241b272c1f272c1f272c1f272c1f272c1f272c1f2b33223335222f3c22 +3a44233f4e1e4c5026555824656c264e4425383c233a4423383c233335222b3322 +2b3322333522383c234c50263a4423344d1e344d1e3c58223043213043212f3c22 +2f3c222f3c222b33223043213043213043213043213043212f3c22354c312f3c22 +2b33222b33222f3c22272c1f2b33222b33222b33222b332224261c272c1f272c1f +272c1f1e241b272c1f272c1f272c1f1e241b272c1f272c1f272c1f1e241b272c1f +272c1f272c1f272c1f1e241b272c1f272c1f2f3c22272c1f2f3c22344d1e2b3322 +2b33222b3322344d1e344d1e3043212b3322272c1f272c1f272c1f2f3c22272c1f +2b3322272c1f262e352b33222b33222a34382b33222f3c223043212f3c222f3c22 +3043213043212a34382f3c223043213c58223c5822354c31304321354c312f3c22 +354c313f4e1e2f3c22354c312f3c222f3c223a44234758324960323d5f2541671b +576b3354744349601f49601f3a4423354c314b69333c58224b6933547428576a1f +383c2333352233352256603a4c50263a44233f4e32333522333522342d1f333522 +394446304321333642383c23354c313f4e1e3c58223f4e1e3c5822304321394446 +2f3c222e3c443335222e3c443a44233a44233f4e323f4e323a44232b3322394446 +344d1e3a4423354c313335222b33223043213a44233a44233a44233944462f3c22 +333522342d1f3335222f3c222b3322272c1f2f3c22333522262e352b33223f4e32 +576a625e742949603249601f576b33496032354c313a44233a44233043212f3c22 +383c233f4e1e3a44233a442347581f3a4423383c233a4423383c232f3c22333522 +24261c272c1f3a442347581f3f4e1e4c50263f4e1e47581f3f4e1e2f3c222b3322 +3f4e1e3a44233f4e1e3a44234c502649601f49601f41671b3f4e1e3f4e1e3a4423 +3f4e1e3f4e1e2f3c222f3c2247581f4b681e49601f47581f47581f304321344d1e +49601f3f4e1e3f4e1e4b681e47581f3f4e1e3f4e1e304321383c23342d1f272c1f +2f3c222b332230432147581f3f4e1e47581f4c5026344d1e47581f3f4e1e333522 +272c1f272c1f272c1f272c1f342d1f272c1f272c1f3043212f3c222f3c223a4423 +3335223335223335223335223a44233043213335224c50264c5026556024556024 +574f263f4e1e3a44234c50263f4e1e3f4e1e3f4e1e383c234e44253a44233a4423 +3a4423383c23383c233a4423383c233a44233a4423383c234c50264c50263a4423 +383c23383c23383c232b3322383c233a4423383c233a4423333522383c23333522 +2f3c222f3c223a44232f3c22383c233f4e1e3a44233a44234e44254c50263a4423 +3a4423383c233f4e1e47581f656c2668752b576a1f55602449601f4c502647581f +4c50263a44233f4e1e3f4e1e3a44233f4e1e49601f49601f49601f49601f47581f +5558244c5026574f263f4e1e3a442386874aada17f4c5026383c23383c23344d1e +344d1e3043213a4423304321383c23383c233f4e1e383c23333522383c23333522 +383c233a4423333522342d1f3335223a4423383c23443623333522272c1f342d1f +2f3c223335223335222b3322342d1f2f3c22383c23383c23272c1f272c1f272c1f +24261c272c1f383c233a44236660335658384e44253a44233335223043213f4e1e +3a44233a44233a442347581f3f4e1e3a44232f3c22333522383c233f4e1e47581f +47581f2f3c223a44233a44233043212f3c22344d1e3f4e1e344d1e383c233a4423 +3335222b33222b3322272c1f272c1f272c1f272c1f272c1f272c1f24261c24261c +272c1f24261c24261c24261c24261c24261c24261c272c1f2b3322272c1f383c23 +3335223f4e1e3a44234c502647581f3a44233335223a44232f3c22333522333522 +272c1f3335223335223a44233335222f3c223043213a44232f3c222f3c222f3c22 +2b33222b33222b33222b33223043212f3c223043212f3c222f3c223043212b3322 +2b3322272c1f2b33222f3c222f3c222b33222f3c22272c1f2b33221e241b2b3322 +24261c2b33221e241b2b3322272c1f1e241b24261c24261c272c1f272c1f272c1f +272c1f272c1f272c1f272c1f272c1f272c1f2b3322272c1f2b3322344d1e2f3c22 +2b33222b33223043212f3c222b3322272c1f272c1f272c1f272c1f2f3c22272c1f +2b3322272c1f2b33222f3c222b33222f3c222f3c222f3c223043212f3c222b3322 +304321354c312b33222f3c22344d1e344d1e3d573b3043212b3322344d1e2b3322 +3043212f3c223043212f3c223043212b33223a44235560243f4e323d5f254b6933 +4b693349601f47581f344d1e3a44233f4e1e49601f3d5f25576b335e7429656c26 +2a34382b33222a3438576b3356603a3f4e323a44232a34382a34382a3438342d1f +2e3c443335222b33223335223f4e32475832475832344d1e47581f344d1e354c31 +2b33222f3c22333522383c233f4e323a44234c50263f4e32383c232f3c222f3c22 +3f4e323f4e1e3a44232f3c22373e433a4423333642383c232f3c223335222f3c22 +333642272c1f2b33222f3c223335222e3c442f3c222f3c222e3c44304321496032 +60847163747149603247583249601f49601f3f4e1e2f3c223a44233043213a4423 +383c233f4e1e383c233f4e1e5558243f4e1e2f3c223a4423344d1e383c232f3c22 +2b33222f3c223f4e1e47581f47581f47581f47581f47581f3f4e1e383c23333522 +3a44233a44233a44233a44232f3c2249601f49601f3c58223f4e1e2f3c22333522 +3f4e1e49601f2b33223a442349601f47581f47581f3c58223f4e1e47581f49601f +49601f3f4e1e344d1e4b681e49601f3f4e1e3f4e1e3a44232b33222b3322272c1f +2f3c223043213f4e1e3f4e1e47581f47581f556024555824555824383c23333522 +272c1f272c1f24261c24261c272c1f24261c2b33223f4e323f4e323a44233f4e32 +3335223335223335222f3c223f4e1e3f4e1e304321475832556024656c26666033 +5560245560243a442347581f4e44254c50263f4e1e3f4e1e47581f3a44233a4423 +3a44233f4e1e3f4e1e3a44233a44233a44234e44253a44233a44233f4e1e3a4423 +3a4423333522272c1f333522333522383c233a44233335223a4423383c232f3c22 +3a4423383c232f3c22383c23383c233a44234e4425383c233f4e1e3f4e1e3f4e1e +3a4423383c234c5026556024656c26576a1f55602447581f5558243f4e1e3f4e1e +3f4e1e3a44233a44233a4423383c233f4e1e47581f49601f47581f47581f47581f +47581f3f4e1e4c50263f4e1e344d1e857d67ada17f574f263043212f3c222f3c22 +3a44232b3322383c23383c23333522383c234e4425383c233335222b3322342d1f +2f3c22383c23342d1f2b33223335223335223335222f3c22342d1f24261c272c1f +344d1e333522272c1f272c1f272c1f383c23342d1f2b3322342d1f24261c333522 +272c1f24261c383c23574f2674643e4e4425333522383c232f3c223f4e1e344d1e +3a44234e4425383c233f4e1e5558243a4423383c233043212f3c223043214c5026 +3a44232f3c222f3c222f3c22383c233335223f4e1e3a44233a44233f4e1e3f4e1e +2f3c223335222b3322272c1f272c1f272c1f24261c272c1f1e241b272c1f272c1f +24261c272c1f272c1f24261c272c1f272c1f24261c272c1f272c1f272c1f333522 +333522383c233f4e1e3a442347581f3f4e1e2f3c222b33222b33222f3c222f3c22 +2b3322333522342d1f3335222b3322342d1f2b33222b33222f3c22272c1f2b3322 +272c1f2b33222b33222b33222b33222b33222b33222f3c222f3c222b33222f3c22 +272c1f2b33222b33222b33222b33222f3c222b33222b3322272c1f272c1f272c1f +272c1f1e241b272c1f272c1f2b332224261c272c1f2b332224261c272c1f272c1f +272c1f272c1f24261c272c1f1e241b2b33222b33222b33222b33222f3c222f3c22 +2b33222b33222b33222b33222f3c22272c1f2b3322272c1f272c1f2b33221e241b +2f3c22272c1f2b33222b33222b33222f3c223043213043212f3c223043212f3c22 +2f3c222f3c222b33222b3322344d1e354c31344d1e2f3c222b33222f3c222f3c22 +2f3c223043213043212f3c223043212b33222f3c223f4e32344d1e41671b3d5f25 +49603247581f3c58223f4e1e3f4e1e354c313d5f253d5f253d5f2549601f627444 +383c23342d1f33364255602456603a3f4e1e4e44253336422b33223335222b3322 +373e433335222b3322383c233f4e32475832475832354c313f4e323f4e323a4423 +3944463043213a4423383c234e50433f4e1e3336423335222b3322342d1f2f3c22 +383c234e50433f4e1e2f3c223043212f3c223335223335223335222e3c442b3322 +342d1f272c1f342d1f373e43333522383c233043212f3c222f3c2230432154605f +75889b77877262744456603a576b33556024354c313f4e323a44233043213a4423 +3335223a4423383c233a44234c50263a44233a44233a44233f4e1e3f4e1e2f3c22 +2f3c223043213f4e1e47581f5558244c50264c50264c50264c5026304321383c23 +333522333522272c1f2b3322383c234b681e49601f47581f344d1e2f3c22383c23 +3a44234c502633352230432149601f49601f49601f3d5f2547581f47581f49601f +47581f3f4e1e47581f576a1f49601f3f4e1e3043212f3c22383c23272c1f2f3c22 +3f4e1e2f3c2247581f576a1f49601f4b681e47581f4c50263f4e1e2f3c22342d1f +342d1f272c1f342d1f24261c2b3322272c1f3335224e5043354c313f4e323a4423 +2f3c22383c2333352233352247581f354c3130432147583256603a56603a4c5026 +4e44254c50263a44233f4e1e3a44233a44233f4e1e4c502647581f3f4e1e383c23 +383c234c50264c50263f4e1e3a4423383c233a4423383c23383c233a4423383c23 +3f4e1e33352224261c24261c3335223335222f3c223335223a44233a44233a4423 +3f4e1e3f4e1e3a44233043213a44233f4e1e383c232f3c223f4e1e3f4e1e3a4423 +3a44233a442349601f4b693355602455602447581f3f4e1e4c50264c50263f4e1e +3a44233335223a4423304321383c232f3c223f4e1e3a44233f4e1e3a44233f4e1e +49601f3f4e1e3f4e1e3c58223f4e1e77874695885c4c50262f3c222f3c222f3c22 +3335222b33223335222b33223335223a44233a4423383c23333522272c1f272c1f +333522333522342d1f2b3322333522342d1f342d1f2b3322272c1f24261c272c1f +383c23383c23272c1f24261c24261c2b332224261c272c1f272c1f24261c272c1f +342d1f24261c383c23666b3b6660333335222b33223a44233a442347581f3a4423 +3a44233a44232f3c2249601f576a1f4c50263f4e1e3a44233043212f3c22383c23 +3335222b33223335222b33222b33222f3c223f4e1e3a44233a44233f4e1e555824 +383c23342d1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f272c1f24261c24261c272c1f24261c342d1f272c1f272c1f2b3322 +2b33223335223043213a44233f4e1e47581f3043213043212b33223a44232f3c22 +2f3c222f3c223335223335223335222b3322272c1f342d1f272c1f272c1f272c1f +2b33222b33222b33222b332224261c2b3322272c1f2b33222b33222b33222b3322 +272c1f2b33222b3322272c1f272c1f2b33222b3322272c1f272c1f272c1f272c1f +2b3322272c1f272c1f2b3322272c1f272c1f272c1f24261c24261c272c1f24261c +2b3322272c1f272c1f24261c272c1f2b33222b33222b33222f3c222f3c22304321 +272c1f2b33222b3322272c1f2b3322272c1f272c1f1e241b272c1f2f3c222b3322 +2f3c222b33222f3c222b3322272c1f2b33223043213043212a34382b3322262e35 +2f3c223043212b3322262e35344d1e2f3c222f3c222f3c222b33222f3c22262e35 +2f3c222f3c222f3c222f3c22344d1e2f3c222b3322344d1e344d1e3d5f253c5822 +4960324c5026304321344d1e3f4e1e3043213d5f253f4e1e3c5822475832556024 +3335222a3438383c2355602456603a3f4e323a44232e3c44342d1f2a3438333522 +342d1f3336422b3322373e433a442347581f344d1e3a44233944463a44232f3c22 +354c313f4e1e3f4e32354c314c50263a44233335222a3438342d1f262e352b3322 +383c233a4423383c23383c23373e432b3322272c1f342d1f3335223335222b3322 +2a3438342d1f2b33222f3c223335222a34382f3c2230432130444d3043214b6865 +7090818da0b66b8673576b3362744449601f3a4423344d1e3f4e1e3a4423383c23 +383c233a44232f3c223a44234c50263f4e1e3f4e1e3f4e1e3a44234e44253a4423 +2f3c22383c233a44233a442347581f3f4e1e4c5026383c233f4e1e3f4e1e333522 +342d1f24261c24261c24261c3043213f4e1e344d1e49601f47581f3f4e1e47581f +3f4e1e3f4e1e3a44233a44233f4e1e3f4e1e47581f49601f3d5f2547581f556024 +2f3c222b3322383c2347581f47581f556024344d1e3f4e1e3a44232f3c223a4423 +3f4e1e33352247581f55602447581f3f4e1e3f4e1e3335223335223335222f3c22 +2b33222b3322272c1f272c1f342d1f2b33222b3322333642383c233f4e323a4423 +2f3c223043212f3c223a442349603256603a344d1e4758324758323f4e1e4c5026 +383c23383c233a44234436233f4e1e3a44233a44233f4e1e5558243a4423383c23 +3a44233f4e1e47581f47581f3a4423383c23333522342d1f333522333522383c23 +3a4423342d1f24261c24261c342d1f383c23272c1f333522383c23383c23383c23 +3f4e1e3f4e1e3a4423383c233a4423383c233a4423383c233a44234e4425333522 +3335223a4423556024656c26576a1f5560244c50263a44234c50263f4e1e3f4e1e +3a4423383c233f4e1e3a44232b33223a44233a4423383c23383c23383c23333522 +3f4e1e3a44233f4e1e5558244b69338b9055767b473a4423344d1e3a44232f3c22 +2b33222b33222b3322383c233043213f4e1e383c233f4e1e272c1f342d1f342d1f +2b33222b3322333522342d1f272c1f272c1f342d1f24261c24261c24261c24261c +2b3322333522342d1f24261c272c1f24261c272c1f272c1f272c1f272c1f333522 +2f3c223335223a442395885c556024383c233335223f4e1e3f4e1e5560244c5026 +3a44233a442333352247581f576a1f3f4e1e3a4423344d1e383c233a4423304321 +2b3322342d1f333522272c1f383c23383c233a4423344d1e3a44233a44233f4e1e +2f3c22272c1f272c1f272c1f272c1f24261c24261c272c1f24261c24261c272c1f +24261c24261c24261c272c1f24261c24261c272c1f272c1f272c1f272c1f272c1f +272c1f2f3c222f3c22344d1e3f4e1e344d1e3043213f4e1e304321304321383c23 +3043213043212f3c222f3c222f3c223335222b33222b33222b3322272c1f1e241b +24261c272c1f272c1f24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f +272c1f1e241b272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c24261c +272c1f1e241b272c1f2b33222b33221e241b272c1f24261c272c1f272c1f272c1f +272c1f272c1f24261c272c1f272c1f272c1f2b33222b33222f3c222f3c222f3c22 +272c1f2b33222b33222b33222b33222b3322272c1f272c1f272c1f272c1f2b3322 +2f3c222b3322272c1f3043212f3c22304321344d1e344d1e2f3c222b33222f3c22 +262e352f3c222f3c22262e353043213043212f3c222b33222b33222f3c222b3322 +2f3c222f3c222a34382f3c22354c312f3c222b33223043213d573b3c58223d5f25 +3f4e1e3d573b344d1e344d1e4c50263043213c58223c5822344d1e344d1e3f4e32 +2f3c222a34383f4e32576b33576b33565838383c23333522262e352b33222a3438 +2b33223335222a3438373e433a4423496032354c313a44232f3c22383c23383c23 +4c50263a44234e44253f4e1e4758323a4423342d1f2b332224261c262e35342d1f +2b3322373e433335222b3322333522342d1f2a34382b33223336423335222b3322 +3335222f3c222a34382f3c223335222b33222a34383a44233043213d4f56496065 +6886a6757c71576a626b8673657c444758323f4e1e3f4e323a44233f4e1e3a4423 +3a44233335223335223335223a4423383c23383c234c50263a4423383c234e4425 +383c234e4425383c233335224c50263f4e1e4c5026342d1f333522333522342d1f +272c1f24261c24261c24261c383c23383c232f3c2249601f47581f55602449601f +4c50265558245558244c5026383c233335223a442355582447581f49601f556024 +33352224261c2b33223f4e1e4c502647581f344d1e3f4e1e3043213a442347581f +47581f383c234c50263f4e1e4c50263a44234c50262b3322272c1f333522333522 +3335222b3322272c1f2b3322272c1f394446354c312f3c223a4423354c31354c31 +3f4e32354c31304321496065576b3356603a3f4e1e4c50264c50263f4e1e4c5026 +3335223335223a44233335223a44233a44233043213f4e1e3f4e323a4423383c23 +3a44233f4e1e5558243f4e1e3a44233a4423383c23333522333522383c23383c23 +3a4423342d1f333522272c1f342d1f333522342d1f333522333522333522383c23 +3a44233f4e1e3f4e1e2f3c223043213a44232f3c222f3c223a4423383c23333522 +3335223a44233f4e1e576a1f656c26576a1f47581f4c502647581f3f4e1e4c5026 +3f4e1e3a44233f4e1e3a44232f3c222f3c222f3c222b33222b3322342d1f333522 +383c233a4423383c234c502655602486874a75704d3335223335222f3c222b3322 +342d1f342d1f272c1f2b33224c50263f4e1e3a44233a44233335222b3322383c23 +2f3c222b33223043212b332224261c3335222b3322272c1f272c1f272c1f24261c +272c1f272c1f2b3322272c1f24261c24261c1c1e1924261c2b33223335222b3322 +2f3c222f3c22555824ada17f5558243f4e1e2f3c224c50263f4e1e3f4e1e49601f +3f4e1e3a4423333522383c236660334c50263a44232b3322272c1f3043213a4423 +2f3c22342d1f342d1f2b33223043213a4423304321344d1e3a44233a44232f3c22 +3a44232b33222b33222b332224261c272c1f24261c272c1f272c1f272c1f272c1f +272c1f24261c24261c272c1f24261c24261c24261c272c1f272c1f272c1f272c1f +272c1f2f3c22383c233a442347581f3c5822304321344d1e3043213043212f3c22 +304321344d1e304321383c233043212f3c222b33222b3322272c1f272c1f272c1f +272c1f272c1f2b3322272c1f272c1f2b332224261c272c1f272c1f272c1f272c1f +272c1f1e241b272c1f24261c24261c272c1f272c1f24261c24261c1e241b1e241b +1e241b272c1f272c1f272c1f272c1f1e241b272c1f1e241b24261c24261c24261c +272c1f272c1f272c1f1e241b272c1f272c1f272c1f272c1f342d1f333522333522 +2b3322272c1f272c1f272c1f272c1f2b3322272c1f272c1f1e241b2f3c222b3322 +2b3322272c1f2f3c222f3c222b33222a3438344d1e344d1e3043212b3322272c1f +2b33222f3c222f3c222b33222f3c222a34383043212a3438262e352b33222a3438 +2f3c22304321262e352b33222f3c222f3c222b3322304321344d1e354c31344d1e +3f4e1e354c312f3c22354c313a4423304321344d1e3d573b344d1e344d1e3a4423 +3a4423333522383c2366603356603a56603a3a44232e3c443335223336422b3322 +373e433a44232f3c22383c233f4e3247581f354c313a44233043213a44233a4423 +3f4e323f4e1e3f4e323f4e324758323a4423333642342d1f262e35272c1f262e35 +3335222f3c222a3438342d1f2a34382b3322272c1f2b33222f3c22333522333642 +2f3c223a4423383c233335223043213335222b3322373e434b6865667c74667c74 +667c74496065465864778772657c444758323f4e1e3f4e1e4758323f4e323f4e1e +4c5026333522342d1f383c23383c233335223a44233a4423304321383c23333522 +272c1f342d1f3335223335223a4423383c23333522272c1f33352233352224261c +24261c24261c24261c24261c272c1f272c1f3335224c502647581f3f4e1e555824 +3a44235558245558244e44253a4423333522383c233f4e1e4c502649601f4c5026 +272c1f272c1f272c1f333522304321383c233a44233a44233a44234c50264b681e +576a1f3f4e1e3f4e1e47581f3f4e1e3f4e1e3a4423333522333522304321333522 +2b33222b3322272c1f272c1f272c1f3f4e324e50434960323f4e324c50263f4e32 +3f4e323f4e323a44234658645658384758323f4e323f4e3256603a4c502647581f +4436233335223a44232f3c223a44233a44233a44233f4e1e4e44253a4423333522 +3a44233f4e1e3f4e1e3f4e1e383c23383c23333522333522383c233335223a4423 +383c23342d1f272c1f342d1f2b3322383c233f4e1e383c23383c23333522383c23 +3a4423383c233a44233f4e1e3a4423383c23383c233043213a44232f3c222f3c22 +3a44234c5026475832576b33627444576a1f47581f47581f49601f47581f47581f +344d1e3a442347581f304321383c233a44232f3c22272c1f342d1f272c1f272c1f +3335223335223a442355602456583887886d4c5026342d1f272c1f333522333522 +272c1f272c1f2b33222f3c223043212f3c223043213a4423272c1f272c1f2f3c22 +2b33222b33222b33222b3322272c1f2b3322304321383c23272c1f24261c272c1f +24261c272c1f333522333522272c1f342d1f272c1f342d1f342d1f333522383c23 +3a442333352275704d9d99815558245560243a44233f4e1e3f4e1e3f4e1e47581f +4c50263a44232b33222f3c2247581f3f4e1e3043212b3322272c1f2f3c22304321 +272c1f272c1f272c1f272c1f3a4423344d1e383c233a44232f3c223a44232f3c22 +3a44232b3322272c1f272c1f2b3322272c1f342d1f2b3322272c1f272c1f272c1f +24261c24261c24261c272c1f272c1f342d1f272c1f272c1f272c1f24261c2b3322 +272c1f2b33223335223043213f4e1e47581f344d1e344d1e3f4e1e344d1e304321 +344d1e3f4e1e344d1e3f4e1e3043212f3c222b33222b33222b3322272c1f272c1f +2b33222b33221e241b2b33222b33222b33222b3322272c1f272c1f272c1f24261c +24261c24261c24261c1e241b272c1f24261c24261c24261c24261c24261c24261c +272c1f272c1f1e241b24261c24261c24261c1e241b24261c24261c24261c272c1f +272c1f272c1f24261c272c1f24261c272c1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f272c1f24261c272c1f1e241b272c1f272c1f1e241b272c1f272c1f +2b3322272c1f2b33223043212b33222f3c22344d1e304321344d1e2f3c222b3322 +272c1f272c1f2b33222b33222a34382f3c222f3c222f3c222b3322272c1f262e35 +2b33222f3c222b33222b33222f3c222f3c222b33222b3322304321354c31344d1e +304321383c232f3c223a4423354c313043213d5f253c58223043212f3c222f3c22 +3f4e323a44233a4423576b3356603a4758324c5026383c23373e432b33222f3c22 +3f4e32475832354c31383c234c50263f4e323f4e323f4e323a44233f4e323a4423 +3f4e323a4423383c233f4e324758323335222b3322342d1f262e35272c1f272c1f +373e433a44232f3c22272c1f3335222b3322262e352b33222e3c44333522333522 +383c23394446383c233335223a4423383c232b3322333522465864667c747a91a8 +7a91a8637471465864667c744b69334758324c502647581f55582447581f475832 +3f4e1e3a4423333522383c23333522342d1f2b3322383c23383c23333522333522 +2b3322272c1f3335224436233a4423333522342d1f24261c272c1f342d1f24261c +24261c24261c24261c24261c342d1f272c1f272c1f383c23383c23383c233a4423 +3335223a4423383c233a4423383c232f3c223335222f3c22383c233a4423383c23 +342d1f24261c272c1f383c233335223335223a44232f3c222f3c223f4e1e556024 +47581f3f4e1e383c234c5026383c233f4e1e3f4e1e2f3c223043213f4e1e2f3c22 +2b332224261c272c1f272c1f272c1f2f3c224658645474433d573b47583256603a +4e50433f4e323a44234758324758324758324758323f4e3247583247583247581f +3f4e1e3a44234e44252f3c2256603a4b6933496032576a1f565838383c23383c23 +383c234e44254c50263a4423333522342d1f2b3322383c23383c23333522383c23 +383c23333522333522342d1f2b33223a442356603a3f4e1e2f3c222f3c22383c23 +383c23383c23383c233043213a44232f3c223a44233f4e1e3a4423383c23344d1e +344d1e47581f496032576b336274444960323f4e1e47581f47581f47581f4c5026 +344d1e3f4e1e556024344d1e3043213a44232f3c222f3c222b3322272c1f272c1f +2b33222b33223f4e1e4758325658388b9080383c23272c1f24261c342d1f272c1f +272c1f2b33222b33223335222f3c223335222f3c222f3c222b33223a44233f4e32 +2f3c222b3322272c1f2b3322272c1f272c1f2b3322383c23333522272c1f383c23 +272c1f272c1f2b3322383c23383c233335223335222b3322272c1f272c1f342d1f +2b33222b3322666b3baea8865558245560243f4e1e3f4e1e3f4e1e3f4e1e47581f +4c5026383c23272c1f272c1f333522383c233043213043213335223043212f3c22 +2b3322272c1f2f3c222f3c223f4e1e3a4423383c23383c23383c23304321333522 +344d1e33352224261c272c1f3043212b33223335223a4423383c23342d1f272c1f +272c1f24261c24261c24261c272c1f24261c24261c2b33222b3322272c1f2b3322 +2b33222b33223335223f4e1e3f4e1e3f4e1e3f4e1e3c5822344d1e3c582247581f +3f4e1e3f4e1e344d1e3c58223f4e1e3043213043212f3c222f3c222b3322272c1f +2b33222b3322272c1f2f3c222b33222b33222f3c22272c1f342d1f272c1f24261c +24261c272c1f272c1f24261c272c1f24261c24261c272c1f24261c1e241b1e241b +1e241b272c1f24261c24261c24261c24261c24261c1e241b1e241b24261c1e241b +1e241b24261c24261c24261c24261c272c1f272c1f272c1f24261c272c1f272c1f +24261c24261c272c1f24261c272c1f1e241b272c1f24261c24261c272c1f272c1f +2b33221e241b2b33223043212f3c222f3c223d5f25354c31344d1e2b33222b3322 +272c1f2f3c22272c1f2b33222b33222f3c22262e352f3c22272c1f272c1f272c1f +2b33223043212b3322272c1f2a34383043212a34382b33222f3c22354c31354c31 +3043212b33222b33223a44232f3c222f3c22344d1e3c58223043212b33222b3322 +3f4e323944463a44235658386660333f4e323a44233f4e323a4423373e432f3c22 +3f4e32475832373e433a44233f4e3247581f354c313a44233a44233a4423373e43 +3f4e323a4423383c23383c233a4423333522262e35262e3524261c272c1f342d1f +3a44233f4e322f3c22383c232e3c44333522383c23383c23383c232f3c22342d1f +272c1f3335223336423335223944463a4423272c1f2a34384658646075908b919f +8a99ab7a91a87d9082576a6247583256603a4b6933556024496032556024496032 +47581f383c23383c23383c232b3322342d1f3335222b33222b3322333522443623 +333522333522383c23333522333522383c23342d1f24261c24261c24261c24261c +24261c1c1e1924261c24261c24261c24261c24261c272c1f272c1f24261c342d1f +3335223a4423383c23383c23383c23342d1f333522333522342d1f3a4423383c23 +333522272c1f272c1f4c50263a44232f3c223f4e1e3c58223f4e1e555824556024 +4c50262f3c223335222f3c22383c233f4e1e2f3c22344d1e3f4e1e3c5822304321 +2b3322272c1f272c1f2b33223f4e32354c313d573b666c5e4658644b693356603a +5658383f4e323f4e324b686549603247581f47583249603249603249603256603a +6374713f4e322f3c22383c235f6156757c7156603a4758324c5026383c233a4423 +3a44233a44234c50263f4e1e3335222b3322272c1f333522383c23333522333522 +333522342d1f3335223335222f3c22383c2354605f6274444758323f4e1e3a4423 +2b33222f3c222f3c223a44233f4e1e2f3c223f4e324960323f4e1e3a44233a4423 +3a44233f4e32576b33666c5e576b3349601f3f4e1e47581f4c50263f4e1e3f4e1e +3a44233a442347581f3a44234c50263a4423304321383c232f3c22272c1f2f3c22 +2b3322383c234c50263a44234e3d229a9178574f2624261c24261c272c1f272c1f +272c1f3335223043212b33222b33222b33223335223a44232b3322383c23475832 +3f4e1e3335223335222f3c22383c23272c1f2b33222f3c222f3c222b3322333522 +2b33222b3322333522333522333522342d1f2b3322272c1f24261c1e241b24261c +24261c342d1f9a9178ada17f4c50263f4e1e3f4e1e3f4e1e3f4e1e383c23304321 +47581f383c23272c1f272c1f2b33223335223a44233043213a44233a442347581f +383c232b3322304321344d1e3043212f3c22383c23383c233a44233a44232f3c22 +3a4423272c1f272c1f272c1f3043212f3c222f3c223a4423344d1e33352224261c +24261c24261c272c1f24261c24261c272c1f272c1f272c1f2b33222b33222b3322 +2b33222f3c222f3c223a4423344d1e3c5822344d1e344d1e3f4e1e344d1e47581f +47581f3c582247581f49601f47581f2f3c22304321344d1e3043212b3322272c1f +2f3c22272c1f2b33222f3c222f3c222b3322333522272c1f272c1f342d1f272c1f +272c1f24261c272c1f342d1f24261c24261c24261c24261c24261c24261c272c1f +24261c24261c24261c24261c24261c24261c24261c24261c1c1e1924261c24261c +24261c24261c24261c24261c24261c24261c24261c24261c272c1f24261c272c1f +24261c24261c24261c1e241b24261c24261c24261c1e241b1e241b272c1f1e241b +2b33221e241b272c1f2f3c22262e352f3c223d5f25344d1e2f3c222f3c22272c1f +272c1f272c1f272c1f272c1f2f3c222b33222b33222b3322272c1f272c1f272c1f +2b33223043212f3c22272c1f2f3c222f3c222b33222b3322262e35304321344d1e +3043212b33223335222f3c222b33222f3c222f3c22344d1e3043212b3322333522 +4c50263f4e323f4e325658385658383f4e323a44233f4e323f4e32383c23333522 +3f4e324c50263a44233a44234c50263f4e323a44234758323f4e324c50263f4e32 +3a4423354c313a44232e3c44383c233335222a3438342d1f262e35262e352b3322 +3a44233a44233a44232b33223335223335222f3c222f3c22383c232b3322272c1f +272c1f272c1f342d1f2b33222f3c22383c233335223335223944464960656886a6 +819fb79fb0bb92a8b657737647583254605f4b693349603247581f55602447581f +47581f3a4423333522333522272c1f272c1f3335223335223335222b3322333522 +383c233a4423383c233335223335222b3322272c1f342d1f24261c342d1f1c1e19 +24261c342d1f24261c24261c24261c1c1e1924261c24261c24261c24261c24261c +342d1f383c23342d1f24261c333522333522272c1f342d1f342d1f3a44233a4423 +383c2333352233352247581f344d1e3a4423383c234b681e3f4e1e3f4e1e576a1f +3f4e1e3a44233a44232f3c222b3322383c23383c233f4e1e47581f47581f344d1e +2f3c22272c1f2b33222f3c224658643f4e323f4e324758323d573b637471576a62 +56583847583249603256603a576a6247583256603a627444576a62576a62666c5e +576a623a44233043213a44233f4e3254605f637471576b333f4e32383c23383c23 +3a44233a44233f4e1e4c50263335222b3322342d1f2b33222f3c22333522383c23 +3335222b33222f3c22383c232f3c22383c233f4e32666c5e666c5e666c5e47581f +383c233a44233a44232f3c223a44233a442354605f576b334758323a44233a4423 +3f4e323f4e327787725f61564960324758323f4e1e3c58223f4e1e383c233a4423 +3a4423383c233a4423383c233f4e1e3a44233a44233a4423304321333522333522 +2b33223a4423383c233a44235f6156c0b197574f262b3322272c1f2b3322272c1f +2f3c222b3322304321333522383c233335222f3c223043213a44233f4e1e4c5026 +344d1e3a44232f3c222f3c222f3c222b332224261c383c233335222b3322272c1f +272c1f2b33222b33223335223335223335223a442324261c1e241b24261c1c1e19 +272c1f383c23ada17fc4a9794c502647581f3f4e1e3f4e1e3f4e1e3a44232f3c22 +47581f383c232b33222f3c2230432130432147581f344d1e3f4e1e3f4e1e3f4e1e +3a44232b3322344d1e3a44233f4e1e3a44233a4423383c233f4e1e4e44252f3c22 +2f3c22272c1f2f3c22304321344d1e344d1e3f4e1e3a44233a4423342d1f272c1f +24261c24261c24261c342d1f24261c272c1f272c1f2b33222f3c222b33222f3c22 +383c232f3c222f3c223a44233a442347581f3f4e1e344d1e49601f3f4e1e3c5822 +3c582249601f49601f49601f5560243f4e1e3a44233f4e1e344d1e2b33222f3c22 +2f3c222f3c222f3c223043212f3c222f3c222f3c222b33222b3322342d1f272c1f +272c1f272c1f24261c24261c24261c24261c24261c24261c24261c24261c24261c +24261c24261c24261c24261c24261c24261c1c1e1924261c24261c24261c24261c +24261c24261c24261c24261c24261c272c1f24261c24261c272c1f24261c342d1f +24261c24261c24261c24261c24261c24261c272c1f24261c24261c272c1f1e241b +272c1f24261c24261c2b33222b33222b3322344d1e344d1e2f3c222b3322272c1f +2b33222b3322272c1f272c1f3043212b3322272c1f2f3c22272c1f272c1f1e241b +2b33222f3c222f3c22272c1f2b33223043212f3c222b33222b3322304321304321 +3043212f3c222b33222f3c222b33222b33222f3c22344d1e3043212b33222b3322 +3a44234e50433f4e1e4758324c50263a44234e44254c50264c5026333522333642 +4e44254c50263a44233a44233a4423383c233a44233f4e323f4e323f4e323a4423 +3a44233a44233a4423383c233a4423272c1f342d1f2e3c44342d1f262e35383c23 +2f3c223a4423383c23333522333522333642333522333522373e43333522272c1f +272c1f24261c2b3322373e433335222b33222f3c222f3c222f3c223a4423465864 +6886a69ea9b49fb0bb6b86736b8673667c746274445560244758324c50264b6933 +4c50263a4423383c232b33222b3322383c232f3c223335222f3c223335223a4423 +4c5026383c23333522333522272c1f272c1f342d1f342d1f342d1f342d1f24261c +24261c342d1f272c1f342d1f1c1e19342d1f1c1e1924261c24261c24261c24261c +24261c383c23272c1f342d1f342d1f272c1f3335222f3c22333522383c233a4423 +3a44232f3c222f3c223f4e1e3c5822333522333522383c233043213a442347581f +3f4e1e3f4e1e3f4e1e3a44232b33223a44232f3c223f4e1e354c313043213f4e1e +2f3c222b33222b33222f3c22475832496065576a6254605f496032576b3354605f +4758324b68656374717787726b8673778772757c71778772667c747787727d9082 +6374714758324758323a44233f4e1e637471637471576a625658382b3322333522 +2f3c222b33223f4e1e344d1e383c232b3322272c1f333522383c23272c1f443623 +2b33223335223335223a4423354c312f3c22383c234960656b8673709081576b33 +56603a3f4e1e3a4423344d1e344d1e2f3c22576a62667c744758323f4e323a4423 +3a44233f4e326374713d573b3a44233f4e1e47581f3a44233a4423304321333522 +383c232b3322383c232b33224c50263f4e1e3a44233a44233a4423304321333522 +383c23383c23383c23342d1f857d67c0b8a6574f26383c232f3c222b3322272c1f +2b33223043212f3c222f3c22333522333522333522333522383c233f4e1e3f4e1e +3f4e1e47581f2f3c222f3c223a4423333522272c1f383c23272c1f272c1f272c1f +272c1f2f3c22333522272c1f272c1f2f3c22344d1e2b332224261c1c1e1924261c +272c1f4e5043ada17f86874a3a44233a44233a44233a44233a44233043212f3c22 +47581f3043212f3c22383c232f3c223a44234c50263a44234c50264c50263a4423 +3f4e1e3f4e1e3a44233a44233a44234c5026333522333522383c23304321333522 +3335223043212f3c223f4e1e3f4e1e3a44233a442333352233352224261c1c1e19 +24261c24261c342d1f272c1f342d1f2f3c222f3c222b33223a44232f3c222f3c22 +304321383c23383c232f3c223a442356603a3f4e1e3f4e1e47583249601f47581f +49601f556024576a1f576a1f49601f5558244c502647581f344d1e2f3c22344d1e +3043212f3c222f3c223c5822344d1e2f3c222f3c223043212b33222b3322342d1f +272c1f272c1f272c1f272c1f272c1f24261c24261c24261c24261c24261c24261c +24261c24261c24261c24261c24261c24261c24261c24261c24261c1c1e1924261c +24261c1e241b24261c24261c24261c24261c24261c24261c24261c342d1f24261c +24261c24261c24261c24261c272c1f24261c24261c24261c24261c1e241b272c1f +272c1f24261c1e241b2b33222b33222a3438304321344d1e3043212b3322272c1f +2b33222b3322272c1f272c1f2f3c22304321272c1f2b3322272c1f262e351e241b +2b33222b33223043212b33222b3322344d1e2f3c222b33222a3438304321344d1e +2f3c22272c1f2f3c222b3322272c1f2b3322304321344d1e3043212f3c222b3322 +3f4e324c50263a44234c50264e50433a4423373e433a44233f4e32373e43383c23 +3a44233944464e44253f4e324e4425383c233a44234c502647583247581f3f4e32 +3f4e324e44253a4423373e43373e432f3c222b3322333522272c1f272c1f262e35 +383c233944463a4423383c232a34383335223335223335222f3c22342d1f272c1f +342d1f272c1f333522373e434436232b3322342d1f342d1f383c233a44233f4e32 +46586475889b9ea9b492a8b694afb98ea089597c754758324758323f4e1e555824 +3f4e1e3a4423383c23383c23383c23333522333522383c23383c233335223a4423 +3f4e1e383c23333522272c1f333522333522333522272c1f342d1f33352224261c +24261c342d1f342d1f24261c24261c342d1f342d1f24261c24261c342d1f24261c +272c1f383c23383c232f3c223335222b33223a4423383c233335223335223f4e1e +3f4e1e3f4e1e3043213a44233c58222f3c22342d1f272c1f2f3c223f4e1e47581f +47581f3043213f4e1e3f4e1e344d1e3f4e1e3a44233f4e323a44233a4423344d1e +2f3c223043212b33222b3322354c3163747170908177877275889b63747154605f +565838576a6263747184888781a0898b9080778772778772667c747787727d9082 +667c744c50264758323a44233f4e32757c71666c5e475832373e43272c1f2b3322 +3f4e1e3a44233a44233a44233a4423383c232b3322383c23383c23342d1f272c1f +272c1f272c1f333522383c23344d1e3a4423475832475832666c5e778772667c74 +666b3b5658384c50263f4e1e3f4e322f3c225f6156576a62475832666c5e475832 +3a44235658384758323f4e32354c315558243f4e1e344d1e3a44232b3322272c1f +342d1f2b3322272c1f2b33224c50264c50264758323a44233a44233f4e1e333522 +383c23383c232f3c222b332287886dcfc6b86660332f3c223a44232f3c22272c1f +2b33223f4e1e3043212f3c223a44232f3c22272c1f2b33222f3c223a44233a4423 +3f4e1e3f4e1e2f3c222f3c22344d1e3f4e1e2f3c223f4e1e272c1f272c1f24261c +272c1f342d1f342d1f272c1f272c1f2b33222f3c22342d1f24261c24261c272c1f +383c235558249a917874643e3a4423383c232f3c223043212f3c223a44233f4e1e +5560242f3c222f3c223043212b33222b33223335223335223a4423383c23383c23 +383c232f3c223a44233a4423383c233a4423333522342d1f3a44234e4425272c1f +2b33223043213043213f4e1e47581f3a44232b3322342d1f272c1f24261c24261c +24261c272c1f3a44232b33222b33223335223335222b33223a44232f3c22344d1e +3f4e1e2b3322383c23383c232f3c2255582447583255602455582466603347581f +496032556024556024556024556024576a1f47581f4b69333c5822304321304321 +344d1e3a4423304321344d1e3f4e1e344d1e2f3c222f3c222f3c222b3322272c1f +272c1f272c1f272c1f272c1f24261c24261c24261c24261c24261c24261c24261c +24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c +24261c24261c24261c24261c24261c272c1f24261c24261c24261c272c1f24261c +342d1f24261c342d1f24261c24261c24261c1e241b24261c24261c24261c24261c +272c1f272c1f24261c2b3322272c1f2f3c222f3c223043212b33222b3322272c1f +272c1f272c1f2b3322272c1f3043213043212b33222f3c22272c1f272c1f1e241b +2b33222b33223043212b3322304321344d1e3043212f3c222b3322344d1e3c5822 +3043212a34382b3322262e352b3322272c1f2f3c223c58223043212f3c22272c1f +3a44233a44232f3c223f4e324c5026383c23383c23383c233a4423383c23394446 +383c233944463a44234e50433a44234e50433335223f4e32496032475832475832 +3f4e323a44233f4e1e2f3c22333522373e43333522333642342d1f272c1f342d1f +3335223944463a44233335223335222b33222b3322333522383c232a3438342d1f +262e3524261c342d1f383c233a44233335223336422b33223336423043213f4e32 +3d573b75889b8a99ab92a8b6a3b8bc94afb9657c444c50263f4e323a4423475832 +47581f3a4423383c23354c312f3c22333522383c23383c23383c23383c233a4423 +3a4423333522333522342d1f3335222f3c22333522342d1f333522443623272c1f +272c1f24261c342d1f24261c24261c24261c342d1f24261c24261c24261c342d1f +342d1f4e4425383c233335223335222b3322383c23383c232f3c222f3c22383c23 +3f4e1e304321383c233043213f4e1e3043212b33223335223a44233f4e1e47581f +47581f3a44233a4423344d1e3f4e1e3f4e1e383c23383c233a44233f4e1e3a4423 +3f4e323f4e322f3c222b3322354c31666c5e8da0b68a99ab8b98828a99ab6b8673 +637471576a62667c747d98b18a99ab7d98b18488877d908275889b667c74778772 +7d90824b68654c50263f4e324b68657d908254605f2b33223335222f3c222f3c22 +3a44233a442347581f3f4e1e2b33223335222f3c223a44232f3c22333522272c1f +272c1f272c1f342d1f3335223a4423394446576a62496065496065556c84778772 +778772667c7463747156603a4758323f4e32496032757c71637471757c71666c5e +475832576a62757c7163747156603a49601f3f4e1e3f4e1e3f4e1e333522272c1f +272c1f272c1f272c1f2b332246586456603a4c50263a4423383c234c5026383c23 +333522383c232b33223335229a9178aea886574f26383c2347581f2f3c222b3322 +2b33223a44233f4e1e47581f47581f3043213a44232b3322272c1f383c23383c23 +3a44233a44232f3c22342d1f383c232f3c223a44232f3c22272c1f272c1f272c1f +2b33222f3c22272c1f272c1f272c1f2b3322272c1f272c1f24261c333522342d1f +4e44254c502686874a7664273f4e1e3f4e1e2f3c223a44233a4423333522383c23 +383c23272c1f24261c272c1f24261c24261c272c1f272c1f342d1f272c1f342d1f +2b3322342d1f2f3c223f4e1e383c23383c23383c232b33223a44233f4e1e333522 +272c1f383c233a44233a44233a4423383c23333522342d1f1c1e1924261c24261c +272c1f2b3322383c233043212f3c222b3322342d1f2b33223a4423383c233a4423 +383c23342d1f3335223335224e44253f4e324e442555582455582466592c4c5026 +555824555824556024666b3b576a1f666b3b55602455602449601f383c233f4e1e +5558243f4e1e3043213c582247581f4c50262f3c22383c232f3c22333522342d1f +342d1f272c1f272c1f342d1f24261c24261c342d1f24261c24261c24261c24261c +24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c +24261c24261c24261c24261c24261c24261c24261c24261c272c1f342d1f24261c +24261c24261c272c1f342d1f272c1f24261c24261c24261c24261c24261c272c1f +1e241b1e241b1e241b272c1f272c1f272c1f2b33222f3c222b3322272c1f272c1f +272c1f272c1f272c1f2b33222f3c222f3c222f3c222b3322272c1f272c1f272c1f +262e352f3c22344d1e30432130432141671b344d1e3043212f3c22354c3141671b +2f3c222f3c222b3322272c1f2b3322272c1f2b3322344d1e3043212f3c222b3322 +4c5026394446383c233f4e323a4423373e43383c23383c233944463a4423443623 +333642333522383c233944464e50434c5026383c233f4e3249606554605f3f4e32 +3a44233a44233a44232f3c222f3c22383c233a44232b3322272c1f262e35272c1f +333522383c23373e43383c23333522333522333522373e433335222b3322342d1f +262e35272c1f333522373e433a4423383c232b33222e3c442f3c22354c31344d59 +496065556c847a91a88da0b69fb0bb9da1ab6374713f4e1e3f4e323f4e3247581f +5558243a4423383c233a44232f3c223335223a44233a4423383c23383c233a4423 +383c232f3c22383c23272c1f3335223a44233335222b33222b3322333522342d1f +2b3322272c1f342d1f24261c342d1f1c1e19342d1f1c1e19342d1f24261c24261c +272c1f3335222b3322333522272c1f2b3322333522383c23333522333522333522 +3f4e1e2f3c223335222f3c223f4e1e3043212f3c222b3322383c233a44233f4e1e +3f4e1e3a44232f3c223f4e1e3a44233f4e1e3335222f3c22354c314c50263a4423 +4c50264c5026373e4354605f4b68654658647d90828a99ab819fb78da0b6778772 +6374716374716b86738a99ab8a99ab8b988275889b7d90828a99ab9fb0bb9ea9b4 +7d9082576a6256603a565838577376637471354c312f3c223335222f3c222f3c22 +2f3c223a44233f4e1e3a44232b33223a44233d4f563043212f3c222b3322272c1f +272c1f24261c272c1f2f3c223f4e323f4e32637471778772757c71757c7175889b +8b90808b90806b8673666b3b576a6256583854605f778772757c71857d675f6156 +56603a757c717d908277877263747155602447581f3a44233f4e1e2f3c22333522 +342d1f272c1f272c1f2f3c22757c718b98825f61562f3c223f4e324e50432e3c44 +2f3c223335222b3322373e438b9080aea8864e4425383c233f4e1e2f3c22304321 +2b3322383c233f4e1e3f4e1e47581f3f4e1e344d1e304321304321304321344d1e +2f3c223a44233a44232f3c222f3c223335222f3c223a4423383c233335222b3322 +272c1f2f3c22272c1f24261c2b33222b3322272c1f24261c272c1f3a4423342d1f +2b332256603a857d674c50264c50263a4423383c23333522333522272c1f272c1f +342d1f24261c1c1e1924261c24261c24261c24261c272c1f272c1f272c1f24261c +342d1f24261c24261c333522333522383c23383c233335223043213f4e1e3a4423 +3a4423383c234e44253a44233a44232f3c22383c23272c1f24261c24261c24261c +272c1f2b33222f3c222f3c22304321272c1f3335222b3322383c233a4423333522 +2b3322272c1f4436233335224e3d224e50434e44254c5026574f26574f264c5026 +3f4e32666033556024666b3b666033556024666b3b5560245560244c50264c5026 +49601f4c5026344d1e41671b47581f576a1f3f4e1e3f4e1e344d1e383c232b3322 +342d1f272c1f272c1f272c1f272c1f272c1f272c1f24261c342d1f24261c24261c +24261c1c1e19342d1f24261c24261c24261c24261c24261c1c1e1924261c24261c +24261c342d1f24261c24261c24261c24261c342d1f24261c342d1f272c1f24261c +272c1f24261c272c1f272c1f272c1f24261c24261c24261c24261c24261c24261c +272c1f24261c272c1f272c1f2b3322272c1f2b33222f3c222f3c22272c1f2b3322 +272c1f272c1f272c1f272c1f2b33223043212b33222f3c22272c1f1e241b2b3322 +2b33222f3c22344d1e30432130432149732341671b304321304321354c313d5f25 +3043212b3322272c1f272c1f2f3c222b33222b3322344d1e3043212b3322272c1f +4758323a44232a34384e44253f4e32443623373e43383c233944463a4423373e43 +2f3c22373e43383c233f4e324e50434c50263a44233a44234b686554605f3f4e32 +3944463a4423383c233335223a44232f3c22373e43342d1f24261c342d1f272c1f +333522383c23333522333642383c23333522383c23383c23333642342d1f262e35 +342d1f342d1f333522383c233336423335222b3322373e43465864637471576a62 +597c75556c84556c8475889b9ea9b48da0b66b86733f4e323f4e323f4e1e475832 +4758323a44233a44233a4423383c23383c23383c23383c232f3c223a4423383c23 +383c233335222b3322342d1f342d1f2b3322333522383c23333522383c23344d1e +2b33222b33222f3c22342d1f24261c24261c24261c24261c24261c24261c24261c +24261c383c23272c1f2b33222b33222b33223043212b3322272c1f272c1f272c1f +2f3c223043212b33223335223335223f4e1e344d1e2b33222f3c22333522383c23 +3a44233a44233335223a44233a44233a44233a44233a44233f4e1e3f4e323f4e32 +3d4f563f4e1e383c23475832576a624658646b86738b919f8da0b69da1ab848887 +576a6263747175889b9ea9b47d98b18b919f75889b8a99ab8da0b6aeb0bda3b8bc +75889b576a6254605f475832576a625773763f4e323a44232b33223335222f3c22 +3043213043214c50263f4e1e3335222b33222f3c22394446383c23333522272c1f +342d1f272c1f2b33222b3322394446373e4346586475889b8da0b675889b75889b +7d90829da1ab8b9882637471666c5e576b3354605f8488878b9080667c7454605f +666c5e75889b8ea0898b9882666c5e49603247581f383c233f4e1e383c232b3322 +2b3322272c1f272c1f2e3c44757c718a99ab5658382f3c223f4e324e5043383c23 +3f4e322b33222b3322383c239d9981867c4c3335223a44233f4e1e3043213f4e1e +2b33222b33223a44233f4e1e47581f4c502647581f3a4423383c233043214e4425 +3f4e1e304321344d1e3a44233043212f3c22383c233f4e1e344d1e3f4e1e304321 +272c1f2f3c22333522272c1f2b33222b3322333522272c1f24261c272c1f272c1f +272c1f75704d867c4c333522333522383c232b3322342d1f272c1f24261c24261c +1c1e1924261c24261c24261c1e241b24261c272c1f24261c272c1f272c1f342d1f +33352224261c24261c1e241b272c1f383c23383c232f3c223043212f3c223f4e1e +4b681e2f3c223a44233a4423383c23333522333522272c1f24261c24261c24261c +272c1f2f3c223a44233043212f3c22272c1f3335223335222f3c223335222b3322 +4436233335224436233335224e44256660334e44254e44254e3d22333522443623 +4e3d225558244c502666592c556024555824666033574f265558244c50263f4e1e +5560245560243f4e1e55602455602455602447581f3a44233f4e1e2f3c222b3322 +272c1f272c1f272c1f342d1f24261c24261c24261c24261c272c1f24261c24261c +24261c24261c24261c342d1f1c1e1924261c24261c24261c24261c24261c24261c +1c1e1924261c24261c24261c24261c24261c24261c24261c272c1f272c1f24261c +24261c272c1f272c1f272c1f24261c24261c24261c24261c272c1f24261c272c1f +24261c24261c24261c272c1f3043212b33221e241b2b33222b33222b33221e241b +272c1f2b33221e241b2b33222b33223043212f3c222f3c22272c1f272c1f272c1f +272c1f304321344d1e344d1e30432149732341671b344d1e304321304321344d1e +3043212b33222b33222b33222f3c22272c1f272c1f344d1e3043212f3c222b3322 +3f4e324c5026383c234e50433a44234436233a4423373e43383c233a4423394446 +394446383c23373e434e44254758324c50263a44233a44233f4e324e50433f4e32 +354c313f4e32383c23383c233a4423383c233a442333352224261c262e35262e35 +2b33223335223335223335223335223335223a4423383c23333522272c1f333522 +2a3438342d1f342d1f3335223335223335222b3322373e4354605f576a62626e8c +556c84637471627d997a91a892a8b68da0b6778772666c5e667c74657c44576b33 +4758323a44232f3c22383c23333522333522383c23383c233a44233f4e1e3a4423 +3335222b33222b3322272c1f24261c272c1f2b3322383c232f3c22383c233a4423 +2b33222b3322304321333522272c1f24261c24261c342d1f24261c24261c24261c +24261c272c1f24261c272c1f272c1f3043213a44232b3322272c1f342d1f24261c +383c232f3c223335222b33223335223f4e1e344d1e3335223a44233a4423383c23 +3335223a4423383c233a44233a44233a44233a44234c50263a44233a44233a4423 +4e50433f4e322f3c2249606592a8b67d90827a91a88b919f8ea08975889b757c71 +576a62576a627d90829ea9b48da0b69da1ab8488878da0b692a8b69fb0bb8da0b6 +75889b637471576a625658384960656084714b68653a44232f3c223335223d4f56 +3a44232f3c224c5026354c313335222b3322272c1f2b3322333522333522272c1f +272c1f24261c272c1f373e433f4e322e3c4430444d6374719ea9b49da1ab848887 +8a99ab9da1ab9fb0bb8b9080848887757c717787727d90827d9082778772667c74 +4b6933757c719ea9b48ea0894b68653f4e1e3f4e1e2f3c222f3c22333522333522 +342d1f272c1f2b3322272c1f465864757c715f61562f3c223a44233a4423373e43 +4e50433043212f3c222f3c22aba9a674643e342d1f30432147581f3a44233a4423 +3a442333352233352230432147581f3a44233f4e1e3043213a44233f4e1e3a4423 +4c50263a442347581f3f4e1e383c23383c233f4e1e4c50262f3c223f4e1e2f3c22 +2b33222b33222f3c222b33223043212f3c222f3c222b33222b3322272c1f272c1f +2b33229a9178666033342d1f272c1f333522272c1f272c1f272c1f24261c24261c +24261c1c1e191c1e1924261c1c1e1924261c342d1f342d1f3a4423272c1f272c1f +272c1f24261c24261c24261c24261c383c233a4423333522383c23333522383c23 +576b33383c2347581f4c50263335222b3322272c1f24261c24261c24261c24261c +272c1f2f3c22383c23304321383c232f3c223a44233043213a44232b332224261c +3335223335224e4425383c2366603356603a4e44253a4423443623342d1f2b3322 +383c234e4425383c23574f26574f265558246660333f4e1e574f264e44253a4423 +66603366603355582455582447581f5558243f4e1e4c50263f4e32383c232f3c22 +342d1f272c1f272c1f272c1f342d1f342d1f24261c272c1f24261c342d1f24261c +342d1f24261c24261c24261c24261c24261c24261c342d1f24261c342d1f24261c +342d1f24261c24261c24261c24261c24261c24261c24261c272c1f272c1f272c1f +24261c272c1f272c1f24261c272c1f24261c24261c272c1f24261c24261c272c1f +272c1f272c1f24261c272c1f272c1f272c1f2b3322272c1f272c1f2b33222b3322 +272c1f272c1f272c1f272c1f2b3322304321272c1f2f3c222b33222b3322272c1f +2f3c223043213c5822344d1e3043214973233d5f25344d1e304321383c23344d1e +3043212b33222b33222b33222b3322272c1f2b3322344d1e3043212f3c222b3322 +4c50263f4e32383c234e44254e50433a44233a4423383c23373e433a44233f4e32 +3a44232f3c22383c233f4e32574f264758324c50263a44233f4e324758323a4423 +3a44233a44232f3c222e3c44383c23383c23333642262e35342d1f272c1f2b3322 +3335222b33222a34383335222a3438383c23383c23383c233335222a3438342d1f +342d1f333522373e43333522272c1f3335222b33222a34384e504349606575889b +7d98b17d98b18da0b68a99ab92a8b6819fb7667c746b86737090816b8673576b33 +475832383c23383c23383c233335223335223335223335223a44233a4423383c23 +333522333522272c1f272c1f272c1f342d1f272c1f3335222f3c223a44232f3c22 +2b3322272c1f383c23304321333522342d1f24261c24261c24261c342d1f24261c +24261c342d1f272c1f383c232f3c223a44233a44233a4423272c1f2b3322272c1f +2f3c222f3c222f3c222b33223043213f4e1e3a44233a4423383c2347581f3a4423 +2b33223a44233f4e323f4e32383c233335223f4e32354c313a4423383c23383c23 +3f4e324758323a44234960658da0b692a8b692a8b68da0b69da1ab667c74667c74 +576a626374718b919f92a8b69fb0bb9ea9b48a99ab9ea9b49fb0bb9ea9b48a99ab +8da0b68a99ab637471576a624960657787726374713043212f3c223043214b6865 +4960653a4423354c313a44232f3c22333522272c1f2b33223043212f3c222b3322 +272c1f24261c272c1f394446354c3130444d373e43576a628a99ab9fb0bb9ea9b4 +8a99ab9ea9b49ea9b48a99ab8b90807787728b919f9da1ab9da1ab8b9882848887 +6374718a99ab9da1ab666c5e5658384c50263f4e1e3335223335222f3c22333522 +2b3322272c1f2b33222b332239444654605f666c5e383c233a44233335223a4423 +3944462f3c222a34384c50269ea08a5658383335223a44233f4e1e3f4e1e47581f +47581f3f4e1e3043212f3c223d5f25344d1e3f4e1e3a44233a4423383c233a4423 +47581f3043215558244e44253f4e1e3a442347581f3a4423383c23383c23272c1f +272c1f3043213043212b33223043213043213043212b33222f3c222b3322272c1f +342d1f857d674e442524261c24261c272c1f272c1f342d1f24261c24261c1c1e19 +24261c24261c24261c1c1e1924261c272c1f272c1f2b3322333522342d1f24261c +24261c24261c1c1e191e241b24261c272c1f383c23272c1f333522272c1f2b3322 +333522342d1f4c50263a4423342d1f24261c3335222b3322342d1f24261c333522 +2f3c222f3c222f3c22383c232f3c222f3c223a4423383c233043212b3322383c23 +272c1f3335223335224436234e50436660334e4425383c23443623272c1f443623 +443623333522383c233f4e1e574f26574f264e4425333522383c23383c233f4e1e +66592c5558243f4e1e3f4e1e4e44254758324c5026555824383c233a44232f3c22 +333522272c1f342d1f24261c342d1f272c1f272c1f342d1f342d1f272c1f272c1f +272c1f24261c24261c342d1f24261c1c1e1924261c1e241b24261c24261c24261c +24261c24261c24261c1c1e1924261c272c1f24261c24261c272c1f24261c24261c +24261c342d1f272c1f342d1f24261c272c1f272c1f272c1f24261c272c1f24261c +24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f2b3322272c1f1e241b +2b3322272c1f1e241b272c1f2b3322344d1e2b33222b33222f3c22272c1f272c1f +304321344d1e3d5f253c5822344d1e41671b41671b344d1e3a44232f3c22304321 +3043212f3c222b33222f3c222b33222b3322272c1f344d1e2f3c223043212b3322 +4c50264e50433a44233a44233944463a44234e50433a44234c5026394446475832 +5658383944463a44234c502656603a4758324e50433a44233a44233a44233a4423 +3a44233a4423383c23383c232f3c223a4423333522333522272c1f24261c333642 +3335223335222b3322333522333522383c23373e43383c233335222b33222a3438 +272c1f383c23383c23333522272c1f373e4330432130444d2f3c2246586475889b +92a8b67a91a87d98b17d98b192a8b681a089627d9975889b7d98b1778772577376 +475832383c232f3c222b33223335223335222b33222b33222f3c223a44232f3c22 +2f3c222b3322333522272c1f272c1f272c1f272c1f2b33222f3c22383c232b3322 +2b33222f3c22383c233043212f3c2224261c24261c342d1f24261c342d1f272c1f +2b3322383c233335222f3c22304321344d1e3043212f3c222b33222b33222b3322 +2b33222f3c222f3c222f3c222f3c223f4e1e344d1e3f4e1e383c234c5026304321 +2f3c223a44233f4e1e4c50263a44233a4423383c23383c233a44233f4e1e3a4423 +3f4e324758323f4e323f4e327d98b19ea9b49fb0bb94afb98da0b68a99ab8b919f +6b867375889b7a91a89da1ab9fb0bb9ea9b48a99ab9ea9b4a3b8bc9ea9b48a99ab +8da0b692a8b677877263747163747175889b5773764960654b6865627d996b8673 +576a62383c233f4e1e3a44232f3c222f3c22272c1f2b33223043213043212f3c22 +2b3322272c1f272c1f2a34383d4f565773766b8673576a627a91a89ea9b49ea9b4 +9da1ab9ea9b4aeb0bd9ea9b49d99818b919faba9a6aeb0bdaba9a69ea9b49d9981 +757c718a99ab9d998163747154605f3a44233a4423383c232b3322333522333522 +272c1f2b3322272c1f2b33223a442354605f666c5e3a4423354c312b3322383c23 +3a44232f3c22383c235f6156ada17f4e5043342d1f2f3c22383c233a44233a4423 +3f4e1e4c50263f4e1e3335223f4e1e344d1e3043213f4e1e3f4e1e3f4e1e383c23 +49601f3f4e1e3a4423383c233f4e1e3f4e1e3f4e1e2f3c22383c23333522272c1f +272c1f3a44233f4e1e3a44232b33223043213043212f3c222b332224261c272c1f +2b332275704d4e442524261c24261c342d1f24261c33352224261c24261c24261c +24261c1c1e1924261c24261c24261c383c23383c23333522272c1f272c1f272c1f +24261c24261c1c1e1924261c24261c272c1f383c23272c1f24261c1e241b24261c +24261c1e241b333522333522272c1f24261c2b33223043212f3c22272c1f2f3c22 +3043213043212f3c222f3c222f3c223a4423304321383c232f3c222f3c22383c23 +2b3322342d1f342d1f24261c443623666033574f26443623272c1f342d1f2b3322 +342d1f3335223335224e442547581f4c5026383c234e44253335223335223a4423 +4c50264e44253a4423383c23574f263a44233a44234c50263a4423383c23383c23 +2f3c223335222b3322272c1f272c1f272c1f272c1f272c1f272c1f272c1f342d1f +272c1f342d1f24261c24261c272c1f24261c24261c24261c24261c272c1f24261c +24261c342d1f24261c342d1f24261c272c1f272c1f272c1f272c1f24261c24261c +24261c272c1f24261c272c1f272c1f24261c24261c342d1f24261c272c1f272c1f +272c1f24261c272c1f272c1f272c1f24261c272c1f272c1f2b33222b3322272c1f +272c1f1e241b2b3322272c1f2b33223043213043212b3322304321304321272c1f +3043213d5f253d5f253d5f253043213d5f2541671b344d1e3a44233335222f3c22 +2b33222f3c22272c1f2b33222b33222b3322272c1f2f3c222b33222f3c222b3322 +4758324c50263a4423373e43383c233f4e323f4e32574f264e504347583254605f +5f61563f4e323f4e323f4e325558244c50265658383944463a44233f4e323a4423 +3a4423383c23373e43383c232a34383a4423333642342d1f272c1f342d1f262e35 +383c23383c23333642333522333642333522383c23383c23333522342d1f333522 +333522373e43383c23333522262e35394446354c313d4f56354c312e3c44465864 +75889b75889b8da0b694afb99fb0bb8a99ab7d98b19fb0bb9fb0bb92a88d597c75 +3d573b3043212f3c223f4e323944462f3c22272c1f2b33222f3c223a44233a4423 +3335222b33222f3c2224261c24261c272c1f272c1f272c1f3335222f3c222b3322 +2b3322383c233a4423344d1e333522342d1f272c1f272c1f272c1f2b3322272c1f +272c1f272c1f272c1f333522383c233f4e1e3a44232b33223335222f3c222f3c22 +2b33222f3c223043212f3c22344d1e3a44233a44233a4423344d1e344d1e3a4423 +3a44234c50264c50263f4e1e2f3c223a44233a4423333522383c234e44253f4e32 +3a44234758323f4e32354c31627d998a99ab9ea9b49ea9b48da0b68a99ab8a99ab +75889b7d98b18da0b692a8b69fb0bb9ea9b48da0b69fb0bbaeb0bd9ea9b48a99ab +8da0b68a99ab577376667c74667c7475889b667c74597c7575889b667c74577376 +3d4f563a44233f4e32344d1e304321354c313043213a44233d573b3f4e1e2f3c22 +2b33222b33222b33222b33223944466886a68b919f607590757c719ea9b4aeb0bd +9ea9b4aba9a6aeb0bd9ea9b49da1ab8b919f9da1abaeb0bdaeb0bd9ea9b49da1ab +7787728a99ab8a99ab757c7154605f3a44232f3c222b3322272c1f3335222f3c22 +2b3322272c1f2b33223944463f4e323a44233f4e32383c233f4e323335223f4e32 +54605f2f3c224e5043767b479a9178383c23272c1f3335222f3c223a4423344d1e +47581f3f4e1e47581f344d1e3a44233f4e1e3a44233a44233a44233f4e1e3a4423 +47581f4c50264e44253a44233a4423383c23383c232b3322333522272c1f24261c +272c1f2b33222f3c222b33223335222f3c223a44232b33222b33222b33222b3322 +304321565838443623342d1f272c1f272c1f272c1f24261c24261c24261c342d1f +24261c24261c24261c24261c24261c383c23333522383c233a4423383c23342d1f +1c1e191c1e191c1e1924261c24261c342d1f272c1f272c1f1e241b1c1e191e241b +24261c24261c2b33222f3c222f3c22272c1f272c1f3043212f3c22272c1f333522 +3f4e1e344d1e344d1e3043213a44233a4423383c233335222f3c22344d1e344d1e +3335222b33222b332224261c4e3d22666c5e4e3d22333522342d1f24261c272c1f +272c1f342d1f383c233043214e3d224e44253a44234c50262b33223335223f4e1e +3a44233a44233a4423383c23383c234e44253a4423344d1e3a4423383c23383c23 +3335222f3c222f3c22342d1f272c1f272c1f24261c272c1f272c1f24261c272c1f +333522272c1f272c1f272c1f342d1f24261c24261c24261c342d1f24261c24261c +24261c24261c24261c24261c24261c24261c24261c272c1f272c1f272c1f24261c +272c1f272c1f272c1f342d1f272c1f342d1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f2b3322272c1f2b33223043213043212f3c223043212f3c222f3c22 +2f3c223c58223d5f253d5f253c58223c58223d5f253043213043212f3c222f3c22 +2b33222b33222b33222b3322272c1f2b33222b33222b33222f3c222b33222b3322 +3f4e324e4425383c23333642383c233a44233f4e324e50434758324e50435f6156 +56603a3f4e324e50434c50264c50264c50264c50263a44233944464c50264e4425 +3944463a4423383c23383c233335222f3c223a4423342d1f262e35272c1f342d1f +2a34383335223335222f3c22383c232b33223335222a3438333522262e35342d1f +342d1f383c23383c23333522262e353d4f563f4e32354c3130432130444d354c31 +576a62626e8c7a91a892a8b69fb0bb92a8b692a8b69fb0bb94afb97d98b1577376 +3c5822354c313944463d573b354c31333522272c1f2b33222f3c22383c23383c23 +272c1f272c1f272c1f342d1f272c1f272c1f24261c272c1f2b3322272c1f24261c +272c1f2b33223335223a44232f3c22342d1f272c1f24261c272c1f24261c272c1f +272c1f272c1f342d1f383c233a44233f4e1e3f4e1e2f3c222b33222f3c22304321 +272c1f2b33222f3c22344d1e3f4e1e344d1e3a44233a44234c50263f4e1e344d1e +3f4e324960324758324c5026383c233a44233a44233a44233043213f4e1e3f4e32 +3f4e3256603a5658384658648488878a99ab92a8b69fb0bb8da0b68da0b68da0b6 +75889b8da0b694afb99ea9b49ea9b49ea9b492a8b69ea9b49fb0bb9fb0bb92a8b6 +92a8b68a99ab597c75667c7475889b627d998a99ab819fb77a91a8576a62465864 +3944462f3c223f4e323a44233a44233a44232f3c223f4e324b6865496032354c31 +3a44232f3c222f3c22272c1f383c2354605f7a91a88488877a91a88da0b6aeb0bd +aeb0bdaeb0bdaeb0bd9ea9b49da1ab8a99ab9da1abaeb0bdaeb0bdaeb0bd9da1ab +9a91788488878b90808488875658383a4423333522272c1f2b3322342d1f2b3322 +342d1f272c1f2b332254605f5658382e3c443a44233944463f4e322f3c224e5043 +3f4e323d4f56666b3b75704d666b3b342d1f24261c3335223a44233a44233a4423 +344d1e344d1e3f4e1e3a44233a442347581f3f4e1e383c23344d1e49601f3f4e1e +3f4e1e3a4423333522383c232f3c222b3322272c1f272c1f272c1f272c1f272c1f +272c1f272c1f2b3322272c1f342d1f2b33222f3c222f3c223335222f3c222b3322 +3a44233a44232b3322342d1f272c1f272c1f24261c24261c24261c24261c342d1f +24261c24261c1c1e19342d1f24261c383c23333522383c23383c233a4423333522 +24261c24261c24261c24261c342d1f2b3322272c1f24261c1c1e191c1e19272c1f +2b3322272c1f3043213043213a44232b3322272c1f383c233f4e1e2f3c22333522 +3335223a44233f4e1e3a4423344d1e3a44233a442347581f4c50263a44233f4e1e +3043212f3c222b3322272c1f3a44235f6156342d1f342d1f33352224261c24261c +272c1f342d1f333522383c233335224e4425383c233a4423383c23333522333522 +3335223335223335223335222b33223a44233a44233a4423383c23383c232f3c22 +3335222b33222b3322342d1f272c1f272c1f342d1f24261c24261c24261c342d1f +342d1f272c1f24261c342d1f272c1f333522272c1f24261c342d1f272c1f24261c +342d1f24261c272c1f24261c272c1f272c1f24261c272c1f342d1f272c1f24261c +24261c272c1f272c1f272c1f272c1f272c1f272c1f342d1f272c1f342d1f272c1f +383c23272c1f272c1f272c1f24261c24261c24261c24261c272c1f2b3322272c1f +272c1f272c1f2b33222b3322272c1f304321344d1e2b33223043213043212f3c22 +2b3322344d1e3c58223d5f25344d1e304321344d1e3043212f3c222b33222f3c22 +272c1f2b3322272c1f333522272c1f272c1f272c1f2b33222b33222b33222b3322 +4e44253f4e323a4423333642373e43354c3147583254605f6374716b867375889b +6b8673576a624960325658384e50433f4e325658383a4423373e433f4e323a4423 +3a4423383c23394446333522262e35383c23373e43333522342d1f262e35272c1f +333522373e43333522383c23373e432b33223335222f3c223335222b3322272c1f +262e35333522333642342d1f272c1f373e433d4f5654605f4b68654b686530444d +3d4f564b68657a91a89ea9b494afb992a8b694afb99fb0bb9fb0bb8ea0894b6865 +3f4e3254605f667c7475889b4658643335222f3c222b3322383c23383c23333522 +272c1f272c1f333522272c1f272c1f333522272c1f272c1f24261c272c1f1e241b +272c1f272c1f2b33222f3c222f3c222f3c22272c1f272c1f1e241b24261c24261c +272c1f272c1f272c1f342d1f2f3c223a4423383c23344d1e3043212f3c222f3c22 +383c232f3c223335223a44233f4e1e3a44234c50263f4e1e47581f496032496032 +6274446b86735560243f4e323a44233a44234c50263a44233a44234c50264c5026 +3944463d573b47583254605f6f8fae7d98b18da0b69ea9b49ea9b48da0b68b919f +75889b8da0b69ea9b492a8b69fb0bb9fb0bb9ea9b492a8b69ea9b49ea9b492a8b6 +92a8b67d98b175889b7d98b17d98b18da0b692a8b692a8b67d90824658643a4423 +2b33222f3c222f3c222b3322304321344d1e3043213f4e32576a6254605f3a4423 +3a44233335222f3c222e3c442f3c2254605f8da0b69ea9b49da1ab9da1ab9ea9b4 +aeb0bdaeb0bdaba9a6aeb0bdaba9a69ea9b4aeb0bdaeb0bdaeb0bdaeb0bdafb9bc +8b919f857d67637471757c71565838373e43333522272c1f272c1f2b33222b3322 +2b33222b33222b332254605f3f4e32373e433a44233944463f4e323a4423496032 +30432163747163747175704d5f6156342d1f272c1f272c1f3a44233043213a4423 +3f4e1e3a44233a44234c50264c5026574f263f4e1e3f4e1e4c50265560243a4423 +3a44232b3322272c1f2f3c2233352233352224261c24261c272c1f342d1f272c1f +272c1f24261c24261c272c1f272c1f272c1f2f3c222f3c222b33223335222b3322 +4758324e5043272c1f333522272c1f272c1f1e241b24261c24261c272c1f272c1f +24261c24261c24261c24261c272c1f383c232f3c222f3c223a4423383c23342d1f +24261c24261c342d1f2f3c22333522383c23342d1f24261c24261c24261c2b3322 +33352224261c3335223335222b33222f3c222b3322272c1f3335223043213a4423 +2b33222b33222f3c223043213a442347581f47581f5560245558245558243a4423 +3f4e1e3a4423383c23272c1f3a442374643e574f26383c23342d1f272c1f24261c +24261c272c1f4e3d22383c23383c23383c233a4423383c233335222f3c222f3c22 +333522272c1f2b33222f3c22333522383c23383c23333522383c23383c23383c23 +333522272c1f2b33222b3322333522272c1f24261c24261c24261c24261c272c1f +333642272c1f272c1f272c1f383c23383c23383c23272c1f342d1f272c1f272c1f +262e35342d1f272c1f272c1f272c1f342d1f342d1f272c1f272c1f272c1f272c1f +272c1f24261c272c1f272c1f272c1f272c1f272c1f2b33222b3322272c1f2b3322 +33352224261c272c1f33352224261c24261c272c1f272c1f24261c272c1f342d1f +272c1f24261c272c1f272c1f272c1f344d1e344d1e2f3c222f3c22304321344d1e +2b33223043213043213043213043213335222f3c222f3c222f3c222b33222b3322 +2f3c22272c1f333522272c1f342d1f272c1f272c1f2b33222b33222b3322272c1f +3944463a44233f4e322e3c443944464b6865597c75667c747a91a88a99ab7d98b1 +7d908263747156603a56603a4758324c50264e50433a44234c50263f4e324e5043 +4658643a4423383c23383c233335223a4423383c232a3438342d1f262e35342d1f +2b33222f3c22333522383c23383c23333522383c232a3438333522342d1f272c1f +24261c3335223335223335222b33222a343830444d4561856886a66b86734b6865 +496065556c8460759092a8b694afb994afb994afb99fb0bb94afb96886a64b6865 +597c757090817a91a8597c753944462b33222e3c442f3c222f3c222f3c22333522 +272c1f272c1f2b3322272c1f272c1f33352224261c272c1f24261c24261c1e241b +272c1f24261c342d1f2f3c22383c23333522272c1f272c1f24261c24261c24261c +272c1f3335222b3322342d1f272c1f272c1f342d1f383c233f4e1e383c232b3322 +3f4e1e3a4423272c1f2f3c223a44233a44233a44234c50263f4e1e475832576a62 +6374716374714758324c50263f4e1e3a44233f4e32354c313a44233f4e1e4c5026 +39444649603249606554605f7e98828da0b68da0b69ea9b49fb0bb8a99ab8a99ab +7a91a88a99ab9ea9b49ea9b492a8b69fb0bb9ea9b49fb0bb94afb99ea9b49ea9b4 +9ea9b492a8b67d98b18da0b68da0b692a8b692a8b67a91a86075903d4f56304321 +2f3c22383c232f3c223335222f3c22354c313f4e323043214960654b69333f4e32 +3f4e323a44233043212f3c223043214658648a99ababa9a6aeb0bd9ea9b4aeb0bd +aeb0bdaeb0bdaeb0bdaeb0bdaeb0bd9ea9b4aeb0bdaeb0bdaeb0bdaeb0bdaeb0bd +9ea08a757c715f61565f61563f4e323336423335222b33222b3322333522333522 +272c1f272c1f2b33224758324e5043373e43354c3154605f54605f354c3154605f +3f4e32666c5e666b3b5f6156666b3b342d1f272c1f272c1f383c232f3c222f3c22 +3a4423344d1e3a44233a4423344d1e3a44233f4e1e304321383c233f4e1e333522 +383c23272c1f272c1f272c1f272c1f272c1f24261c1e241b24261c272c1f272c1f +272c1f24261c1e241b342d1f272c1f24261c272c1f3335222f3c22272c1f2b3322 +3a44233a44233335222b33222b3322383c23333522342d1f272c1f2b33222b3322 +272c1f24261c24261c24261c342d1f383c232b3322383c233a44233a4423342d1f +24261c342d1f333522333522333522333522383c23342d1f24261c24261c2f3c22 +3f4e1e2b33222b33222b33222f3c222b33222b3322272c1f272c1f383c233f4e32 +2b33222b3322333522333522383c234c5026576a1f576b336660333f4e1e383c23 +383c233a4423383c232b33222b33223f4e32443623333522272c1f24261c24261c +24261c24261c342d1f333522333522383c233a4423272c1f272c1f333522344d1e +2f3c222b33222f3c222b3322333522383c23383c233335222f3c223a4423304321 +333522272c1f342d1f272c1f333522333522333522333522342d1f2b3322272c1f +333522342d1f3335223335222f3c222b3322333522272c1f272c1f272c1f333522 +2f3c222b3322272c1f272c1f272c1f272c1f272c1f272c1f342d1f272c1f272c1f +272c1f272c1f272c1f24261c272c1f272c1f342d1f272c1f3335222b3322333522 +2b3322272c1f272c1f33352224261c1e241b272c1f24261c24261c272c1f24261c +272c1f272c1f2b33222b3322272c1f3043213f4e1e2b33223335222b3322383c23 +2b33223a44232b33223043213a44233335222b3322333522333522333522342d1f +2b33222b33222b3322272c1f342d1f272c1f272c1f2b3322333522272c1f2b3322 +373e433a44234e4425394446576a62667c7475889b6f8fae8a99ab8da0b68da0b6 +7d98b1667c7456603a47583247581f4758324c50264e50433a44233f4e32496032 +5658383944462f3c22333642333522383c23383c232b3322262e35272c1f262e35 +2b33222f3c222f3c223a4423373e432f3c22383c23262e35272c1f262e3524261c +272c1f2b33222b33223944462b332230444d4960656374714a6a8d6886a67d98b1 +7e98825d83a4627d998da0b692a8b69fb0bb9fb0bb94afb98a99ab667c746886a6 +8da0b694afb992a8b6577376304321342d1f2f3c222f3c22272c1f342d1f2b3322 +272c1f272c1f272c1f272c1f272c1f333522272c1f272c1f24261c272c1f24261c +24261c24261c272c1f2b3322383c232f3c22342d1f272c1f342d1f24261c24261c +272c1f333522272c1f342d1f24261c272c1f272c1f342d1f3335224e4425333522 +3a44233a4423333522383c233a44233a44233a44233a44233f4e324b6933666c5e +8a99ab667c744758323f4e323f4e323f4e323f4e323a44233944463a44233a4423 +354c31576a62597c754b68656f8fae9fb0bb9ea9b492a8b69ea9b48da0b68da0b6 +8a99ab8da0b692a8b69fb0bb9fb0bb92a8b692a8b69ea9b49ea9b49fb0bb9ea9b4 +92a8b68a99ab8b919f8da0b692a8b68da0b692a8b675889b576a623d573b465864 +3043213043212f3c222b3322304321354c313f4e324b68653f4e323944462e3c44 +3f4e323f4e3254605f496065304321465864848887aeb0bdaeb0bdaeb0bdaeb0bd +aeb0bdaeb0bd9ea9b4aeb0bdaeb0bd9da1ab9fb0bb9ea9b49ea9b4aeb0bd9ea9b4 +848887637471757c713a4423333522333522272c1f2f3c222f3c222f3c222b3322 +2b33222b33222b3322373e433f4e32576a6263747163747154605f3a4423565838 +2f3c225f61565f6156666c5e666b3b272c1f272c1f272c1f2b33222b3322333522 +2b33222b33222f3c22383c233f4e1e3a4423383c23383c233a4423383c232b3322 +333522272c1f1e241b2b332233352224261c272c1f24261c24261c272c1f272c1f +272c1f24261c272c1f272c1f24261c24261c272c1f1e241b342d1f272c1f272c1f +4e50434e44253f4e322a34382b33222a3438262e352f3c222f3c223a44233f4e32 +2f3c22333522333522333522333522383c232f3c222b3322383c23333522342d1f +272c1f272c1f333522333522383c232f3c2233352233352224261c24261c2f3c22 +3a4423272c1f2b33222b33222f3c22272c1f1e241b24261c272c1f3335223a4423 +2b3322333522333522333522272c1f383c2356603a5658384c5026383c23333522 +2b3322342d1f272c1f342d1f2b33222b3322342d1f24261c24261c24261c1c1e19 +24261c24261c272c1f333522342d1f272c1f3a4423333522333522383c233a4423 +2f3c222b33223335222f3c222b33222b33222f3c222f3c22383c23383c23383c23 +2b33222b33222b33222b33222f3c223335222b33223335222b3322272c1f342d1f +272c1f2b33222b33222f3c22272c1f342d1f3336423a44233335222b3322333522 +2f3c222f3c222b3322272c1f272c1f272c1f272c1f3335222b3322272c1f2b3322 +272c1f272c1f272c1f272c1f342d1f272c1f262e35342d1f272c1f272c1f333522 +2b3322333522272c1f342d1f24261c24261c342d1f24261c272c1f24261c24261c +272c1f24261c2b33222b3322272c1f2b33222f3c22272c1f272c1f342d1f2b3322 +272c1f2b33222b3322333522383c23342d1f272c1f342d1f272c1f272c1f2b3322 +2b33222b3322272c1f2b3322272c1f24261c272c1f2b3322272c1f2b3322272c1f +3a44233f4e324e50433d573b60759075889b7a91a87d98b18da0b692a8b69ea9b4 +7d98b177877249603256603a4758324c50264c50263f4e324e44253f4e3254605f +3f4e322f3c22333522333642333522333642383c233335222b3322333642342d1f +272c1f2a34383043213f4e322f3c22333522333522342d1f342d1f262e35272c1f +2a34383336422b33222e3c442a3438465864496065607590496065607590819fb7 +92a8b6819fb77d98b19fb0bb92a8b694afb992a8b69fb0bb7d98b17d98b18da0b6 +92a8b68da0b675889b3d573b2f3c22333522373e432b3322272c1f272c1f333522 +272c1f342d1f272c1f272c1f272c1f333522333522333522342d1f333522342d1f +33352224261c272c1f333522383c232f3c22342d1f272c1f342d1f342d1f342d1f +3335224c5026333522342d1f272c1f272c1f272c1f342d1f342d1f333522333522 +383c233a4423383c233a44233f4e1e383c233f4e1e3f4e323f4e32496032496065 +667c74667c74576a6247581f3f4e323a4423383c232f3c22383c233a44233a4423 +465864667c746b8673627d997a91a88da0b69ea9b492a8b69ea9b492a8b68da0b6 +8da0b69ea9b492a8b692a8b69ea9b49ea9b49ea9b492a8b692a8b69ea9b49ea9b4 +92a8b68da0b68b919f8a99ab92a8b68da0b675889b577376556c84577376597c75 +577376354c313043212f3c223a4423354c3147583254605f3d573b3043212f3c22 +47583254605f6374717d90823c586f496065757c719ea9b4aeb0bdaeb0bdaeb0bd +aeb0bdaeb0bdaeb0bdaeb0bd9ea9b49da1ab9ea9b49fb0bb9fb0bb9da1ab9d9981 +848887757c7187886d54605f2f3c222b3322272c1f383c233a44232f3c222f3c22 +2f3c222b33223335222f3c223944466374718b919f778772667c743d4f5654605f +5658384e504344362375704d666c5e3335222b3322272c1f342d1f272c1f342d1f +272c1f2b3322383c23333522304321383c23333522272c1f272c1f2b3322272c1f +272c1f2b3322272c1f333522272c1f342d1f272c1f272c1f272c1f333522272c1f +272c1f24261c342d1f272c1f1c1e191e241b24261c24261c272c1f272c1f272c1f +383c233944465658382e3c444758324960653043213d573b3d573b54605f3a4423 +2f3c222f3c22304321383c232f3c222f3c223043212f3c222f3c22272c1f272c1f +272c1f272c1f3335222b3322342d1f272c1f333522342d1f1c1e1924261c342d1f +2b3322272c1f272c1f2b33222f3c2224261c24261c24261c333522342d1f333522 +3335222b33223335222b3322272c1f342d1f2b3322333522272c1f342d1f24261c +272c1f24261c342d1f3335222b3322272c1f272c1f24261c24261c342d1f24261c +24261c24261c272c1f383c23272c1f272c1f2f3c223a4423333522333522333522 +3335222f3c22272c1f3335223335222f3c222b3322304321383c23383c232f3c22 +272c1f2b33222f3c222f3c22304321383c232f3c223335222f3c222b33222f3c22 +2b33222b3322383c233a4423272c1f272c1f342d1f2b33222f3c223335222f3c22 +2f3c223043212b3322272c1f383c232b3322272c1f272c1f272c1f3335222f3c22 +272c1f342d1f272c1f24261c24261c272c1f272c1f2b3322272c1f2b3322333522 +342d1f3335222b3322342d1f272c1f24261c272c1f24261c24261c24261c24261c +24261c24261c342d1f272c1f272c1f2b33222f3c22272c1f272c1f272c1f272c1f +272c1f272c1f342d1f342d1f272c1f272c1f272c1f342d1f342d1f272c1f272c1f +272c1f272c1f342d1f272c1f272c1f272c1f272c1f2b3322342d1f272c1f272c1f +373e433f4e323f4e323c586f60759075889b7a91a88a99ab92a8b692a8b68da0b6 +7d98b16b8673666b3b5658384758325658383f4e324e5043576a62475832465864 +354c312f3c22333522383c232b3322383c23373e43333522342d1f2b33222b3322 +272c1f2b33223a4423383c232f3c22383c232a34382b33222b3322262e35272c1f +3335222f3c222b33223335222e3c443d4f565773766886a6537499556c847d98b1 +9fb0bb92a8b692a8b692a8b692a8b69ea9b49ea9b492a8b68da0b68a99ab8da0b6 +92a8b6819fb7577376344d592f3c222f3c22333522272c1f262e35272c1f272c1f +272c1f2b33222b3322272c1f2b33222f3c22383c23383c232b3322383c23383c23 +342d1f24261c24261c333522333522333522272c1f3335222b3322342d1f272c1f +333522383c23342d1f333522342d1f272c1f272c1f24261c24261c333522333522 +3335223a4423383c23383c233a44233a44234e44253a4423465864576a6254605f +576a6263747154605f47583256603a3f4e1e3a4423394446354c31394446496032 +496065667c747d98b18a99ab8a99ab92a8b692a8b69ea9b492a8b69ea9b48da0b6 +8a99ab8da0b69ea9b49da1ab92a8b69ea9b492a8b69ea9b492a8b69ea9b48da0b6 +9ea9b492a8b68da0b68da0b68da0b68da0b675889b6b86736f8fae667c74577376 +666c5e3944463335223a442354605f354c31496065819fb775889b344d592f3c22 +4e504354605f576a6277877249606546586475889b9ea9b4aeb0bdc0b8a6aeb0bd +aeb0bdaeb0bdaeb0bd9ea9b49ea9b492a8b69ea9b49ea9b49ea9b49ea9b48da0b6 +778772757c715f61563f4e323f4e32383c232f3c223a44233a44233a44232f3c22 +2f3c222f3c222f3c22354c314e5043666c5e8b919f7a91a8667c74496065576a62 +4e5043373e43333642666c5e574f262f3c22333522342d1f2b33223335222b3322 +1e241b272c1f272c1f2b3322333522272c1f272c1f24261c272c1f2b3322272c1f +272c1f2b3322272c1f2b33222b33223335222b33222b3322342d1f33352224261c +24261c24261c33352233352224261c1c1e191c1e191e241b24261c24261c272c1f +4e4425333642565838354c313d4f5646586454605f4b6865354c31344d1e3a4423 +304321304321304321383c232f3c223a4423383c23333522383c2333352224261c +342d1f3335223043212b33222b3322272c1f272c1f272c1f24261c24261c24261c +272c1f1e241b272c1f272c1f342d1f272c1f1c1e19272c1f2b3322342d1f333522 +2b3322262e35333522333522342d1f272c1f24261c24261c24261c342d1f24261c +24261c24261c1e241b24261c272c1f2b332224261c24261c24261c24261c24261c +24261c24261c342d1f33352233352224261c333522383c232f3c222b3322333522 +2f3c22383c232f3c222f3c223043213a4423383c233a4423304321333522333522 +3f4e1e3f4e1e344d1e3f4e1e3a44233a4423383c233043212f3c22344d1e2f3c22 +3335222b33223a4423627444272c1f2f3c222b33222b33222b33222b33222f3c22 +3335222b33223a4423383c232b3322342d1f272c1f3335222b33222b3322342d1f +2b3322272c1f272c1f272c1f272c1f272c1f2b3322272c1f3335222b33222f3c22 +2b33222f3c222b3322272c1f272c1f24261c24261c24261c24261c24261c24261c +24261c24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f342d1f +272c1f272c1f272c1f272c1f342d1f24261c272c1f272c1f2b3322272c1f272c1f +272c1f272c1f342d1f272c1f24261c333522333522342d1f272c1f272c1f272c1f +2f3c223f4e323d4f564960656f8fae8a99ab92a8b692a8b68da0b68da0b68da0b6 +75889b6b8673576a624960324e50434758323f4e324758324b686547583254605f +3f4e32354c312a34383335222a34383335222f3c22333522262e352b3322333642 +24261c272c1f2b3322383c232f3c222b33222b3322262e352b3322262e352b3322 +2b33222f3c222b33223335222e3c443944464658644a6a8d556c84626e8c7a91a8 +8da0b692a8b692a8b69ea9b492a8b692a8b694afb992a8b6819fb792a8b692a8b6 +92a8b67d98b14960653043212a34383043212f3c222b3322272c1f2b3322333522 +342d1f272c1f383c23272c1f342d1f2f3c223a4423383c23333522383c23383c23 +333522342d1f342d1f3335222b3322342d1f24261c333522383c2333352224261c +333522333522272c1f342d1f272c1f24261c272c1f272c1f24261c342d1f342d1f +342d1f2b3322383c233a4423565838354c31394446383c234e50436374714b6865 +4b68656b867375889b576a62576a624758324758323f4e323f4e323d4f563d573b +4b686575889b8b919f92a8b68da0b69da1ab92a8b69ea9b492a8b692a8b69ea9b4 +8da0b68da0b69ea9b492a8b692a8b69ea9b492a8b69ea9b48da0b69fb0bb8da0b6 +9ea9b492a8b68da0b69ea9b48da0b68a99ab7a91a86886a6627d99556c84496065 +496065354c313043212f3c223f4e323f4e324b68657e98827d90824960653f4e32 +354c314e5043465864627d997d98b175889b8b919f9da1abaeb0bdaeb0bdaeb0bd +aeb0bdaeb0bd9ea9b49ea9b49ea9b492a8b692a8b69ea9b49ea9b49da1ab9da1ab +9da1ab778772666b3b565838666c5e5f61563a44233043213a4423383c23333522 +3335222f3c22383c233a44233a442354605f757c7175889b6374714b686554605f +383c23333642333522757c714e50432f3c223043212f3c223a44233043212f3c22 +272c1f272c1f24261c342d1f342d1f1e241b272c1f2b33222b3322333522272c1f +272c1f272c1f272c1f24261c2b33222b33223335222b3322333522333522272c1f +24261c24261c342d1f342d1f24261c24261c1c1e1924261c24261c272c1f2b3322 +3a4423272c1f2a34383d4f566374713d4f564658644960653f4e1e354c313a4423 +2f3c223a44232f3c22383c232f3c223043213a4423383c23333522333522272c1f +342d1f2f3c222f3c2224261c272c1f24261c24261c272c1f24261c272c1f1e241b +1c1e191e241b1e241b24261c272c1f272c1f1c1e19342d1f2b33222f3c222b3322 +272c1f272c1f342d1f2b3322272c1f272c1f24261c24261c24261c33352224261c +342d1f1c1e1924261c1e241b24261c333522342d1f24261c24261c342d1f24261c +24261c24261c272c1f272c1f342d1f24261c272c1f2b3322383c23272c1f2f3c22 +3335222b33222b33223a44233a44233a4423383c234e44253a44232f3c222f3c22 +4c50264c50264c50263a4423383c23383c232b33222b3322342d1f383c232f3c22 +3335222b33223335223f4e1e2b3322383c23342d1f272c1f272c1f2b33222b3322 +2b3322272c1f333522333522272c1f2b33222b33222b33222b33222f3c222b3322 +272c1f2b3322272c1f272c1f272c1f342d1f333522272c1f2b3322333522383c23 +2f3c223a44232f3c22272c1f272c1f24261c24261c24261c342d1f24261c24261c +24261c24261c24261c24261c24261c272c1f272c1f272c1f272c1f24261c24261c +272c1f2b3322272c1f272c1f272c1f272c1f272c1f272c1f342d1f272c1f272c1f +24261c272c1f272c1f342d1f272c1f3335222b3322333522272c1f342d1f272c1f +373e433f4e324960654960656886a67a91a87d98b1819fb792a8b692a8b67a91a8 +7a91a8608471576a6254605f49603254605f576a626374716b8673667c74465864 +3d4f564e5043373e433335222b33222f3c223335222e3c44342d1f342d1f272c1f +24261c262e3524261c262e353335222a3438342d1f2b33222b3322262e35272c1f +2f3c222b33222e3c442b33223335222a34382a3438344d594658644a6a8d7a91a8 +92a8b692a8b692a8b692a8b692a8b694afb99ea9b492a8b68da0b692a8b692a8b6 +92a8b67d98b14960653043212e3c44383c23333522333522272c1f2b33222b3322 +3335222b3322333522272c1f272c1f272c1f333522333522342d1f2e3c44383c23 +2b3322333522333522383c23262e35272c1f272c1f342d1f333522272c1f272c1f +272c1f342d1f272c1f272c1f272c1f272c1f24261c342d1f24261c272c1f272c1f +272c1f24261c2a34383335223f4e323a442354605f3d573b54605f576b33577376 +63747175889b6374714960654e50433944463944463d4f564e50433d4f563c5072 +54605f627d998a99ab92a8b69ea9b492a8b692a8b692a8b68da0b692a8b68da0b6 +8a99ab8da0b692a8b68da0b692a8b692a8b692a8b68da0b692a8b68da0b69ea9b4 +8da0b68da0b68da0b692a8b692a8b6819fb78da0b675889b75889b576a62456185 +667c743944463a44232f3c223944463f4e324960656886a66b86733d573b3d4f56 +354c31465864465864576a627a91a88a99ab8a99ab9da1abaeb0bdaeb0bdaeb0bd +aeb0bd9da1ab9ea9b49da1ab8da0b69ea9b48da0b69ea9b49ea9b49ea9b49da1ab +9ea9b4848887576a625658387787728b98823f4e323a44233a44233a4423333522 +2f3c223335223a44233a442330444d496065637471576a626374714b68654e5043 +383c233336422b3322666c5e5658382f3c223a4423383c232f3c222f3c22383c23 +2f3c223a4423272c1f24261c2b3322272c1f272c1f2f3c222b33222b33222b3322 +2b3322272c1f24261c24261c272c1f2b33222b3322383c23272c1f333522272c1f +1e241b272c1f272c1f24261c24261c1c1e1924261c24261c24261c24261c333522 +333522272c1f272c1f373e43576a624658643043213f4e32383c232b3322333522 +383c23383c232b33223335222f3c22383c232f3c223335222f3c222b3322272c1f +272c1f3335222f3c22272c1f272c1f24261c24261c24261c24261c24261c24261c +1c1e1924261c24261c272c1f24261c272c1f2b33222f3c222f3c222f3c22333522 +2b33222b33222b33222b3322342d1f342d1f272c1f24261c342d1f342d1f342d1f +342d1f24261c24261c24261c24261c24261c272c1f24261c24261c342d1f24261c +24261c1c1e1924261c24261c1e241b24261c24261c333522272c1f272c1f2b3322 +2b332224261c272c1f342d1f383c23383c23383c23383c233f4e1e3a44232f3c22 +333522383c23333522333522333522333522272c1f24261c24261c342d1f272c1f +3335222b3322272c1f3335222b3322272c1f272c1f3335222f3c223043212b3322 +342d1f333522272c1f383c23272c1f333522272c1f2b33222b33222b3322272c1f +342d1f272c1f2b3322272c1f272c1f2b3322342d1f2b3322272c1f333522383c23 +333522333522272c1f272c1f333522342d1f24261c272c1f24261c272c1f24261c +24261c24261c24261c272c1f272c1f272c1f342d1f24261c272c1f272c1f24261c +272c1f272c1f2b3322272c1f342d1f342d1f272c1f272c1f272c1f342d1f272c1f +272c1f272c1f342d1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f +373e433f4e324960653d573b627d9975889b8da0b6819fb792a8b692a8b68da0b6 +7d98b16f8fae667c74667c74709081778772667c7463747175889b5d83a44b6865 +5773764658642f3c222b3322383c232a34383335222e3c44272c1f262e35262e35 +24261c262e35272c1f342d1f2a34383335222b33222a3438272c1f272c1f24261c +2a34382b33223335222a34382b33222e3c442e3c443d4f563c50723c5072607590 +7d98b18da0b694afb992a8b692a8b692a8b68da0b692a8b692a8b692a8b692a8b6 +92a8b6819fb74960653043213335223335222a3438333522272c1f2b33222b3322 +2b33222b3322383c2324261c272c1f2b3322333522333522342d1f333522383c23 +333522272c1f2b3322383c23342d1f272c1f272c1f24261c342d1f272c1f342d1f +272c1f342d1f272c1f342d1f342d1f342d1f24261c272c1f24261c24261c1e241b +272c1f24261c272c1f333522394446373e434e5043496065637471576a626b8673 +7d98b1667c7454605f4960653f4e324e50433f4e323944463f4e323f4e32344d59 +4658646886a675889b8da0b68da0b68da0b69ea9b492a8b69da1ab8da0b692a8b6 +8da0b68da0b68da0b692a8b68da0b68da0b692a8b68da0b692a8b68da0b68da0b6 +9ea9b492a8b69da1ab92a8b692a8b68da0b68a99ab7a91a875889b4658643d4f56 +465864354c313a44233335222f3c22383c23354c31556c84597c754b6865496065 +3d573b6374714658644960657a91a87a91a88a99ab9ea9b4aba9a6aeb0bd9ea9b4 +9ea9b49ea9b48da0b69ea9b49ea9b492a8b69ea9b49ea9b492a8b69da1ab8da0b6 +8da0b67d9082576a623f4e328b919f9d99815f6156383c23383c23383c23333522 +333522333522354c313a44233944464b6865556c84556c84666c5e54605f3f4e32 +3336422e3c443f4e32666c5e4e50433f4e322f3c223335222f3c222f3c22373e43 +344d59565838272c1f24261c2f3c22272c1f272c1f2f3c22272c1f2b33222f3c22 +2b33221e241b272c1f272c1f24261c272c1f2b3322333522272c1f342d1f342d1f +272c1f24261c24261c1c1e1924261c24261c24261c24261c24261c24261c383c23 +33352224261c272c1f2e3c443d4f56465864354c312f3c22333522333522333522 +2b33222b33222b33222b33222f3c222f3c222b3322333522383c23333522272c1f +342d1f33352233352224261c24261c24261c24261c24261c24261c24261c24261c +1c1e19272c1f3335222f3c223335222f3c22304321304321304321344d1e2f3c22 +3043213a4423304321272c1f272c1f24261c24261c24261c33352233352224261c +342d1f24261c24261c24261c24261c24261c24261c24261c272c1f24261c24261c +24261c24261c24261c24261c24261c1e241b1e241b272c1f272c1f272c1f272c1f +272c1f272c1f272c1f272c1f272c1f272c1f383c2333352233352233352224261c +1e241b24261c1e241b24261c24261c24261c342d1f272c1f272c1f24261c24261c +272c1f272c1f2b3322272c1f342d1f2b3322272c1f2f3c22304321304321344d1e +383c232b3322272c1f3a44232b3322333522272c1f2b33222f3c222b33222b3322 +2b33222b33222b3322272c1f272c1f2b3322272c1f2b3322383c23333522272c1f +272c1f2b33222f3c222b3322272c1f272c1f24261c24261c342d1f24261c24261c +24261c24261c24261c24261c24261c24261c272c1f24261c24261c24261c342d1f +342d1f272c1f2b33222b3322272c1f342d1f272c1f272c1f272c1f24261c272c1f +272c1f272c1f272c1f342d1f272c1f272c1f272c1f272c1f272c1f272c1f2b3322 +2f3c224960654b68654658644b68656886a6819fb78da0b6819fb78da0b68da0b6 +8a99ab709081597c756374716886a67090816886a675889b7090816886a6577376 +556c844b6865373e43333522333642333522333522333522262e35342d1f24261c +272c1f333642262e35272c1f2b33222a3438333522342d1f2a3438272c1f262e35 +2b33222b33222e3c44342d1f2b332230444d30444d2e3c443c586f3c5072556c84 +75889b8da0b68da0b68da0b692a8b68da0b692a8b692a8b68da0b692a8b692a8b6 +92a8b67d98b14960653043212a34382b33222f3c222f3c22333522333522333522 +3335222b33222f3c22342d1f272c1f333522342d1f3335223335222b33222b3322 +383c23272c1f24261c3335222b332224261c342d1f24261c24261c272c1f24261c +272c1f2b33222b33222b33222b33222b3322272c1f24261c24261c333642342d1f +24261c24261c272c1f272c1f383c233335222a3438576a627a91a8627d99757c71 +8b919f627d996374714960653944464658643d4f563a442330444d4e50433d4f56 +46586475889b8a99ab8da0b692a8b692a8b68da0b68da0b68da0b68da0b69da1ab +8da0b68da0b692a8b68da0b692a8b68da0b68da0b692a8b692a8b692a8b692a8b6 +8da0b692a8b68da0b68da0b68da0b68da0b67d98b175889b626e8c3d4f56344d59 +4960654b6865354c312a34382f3c222e3c443f4e324960656b8673667c74577376 +4658645773766b86736f8fae556c848b919f92a8b68da0b69ea9b49da1ab9ea9b4 +9ea9b48da0b69ea9b49da1ab8da0b69ea9b48da0b68da0b68a99ab8a99ab8a99ab +8a99ab7a91a85658383944466374718b919f4658642f3c223a4423383c232b3322 +2f3c222f3c22383c232f3c222f3c22565838465864576a62667c74666c5e3f4e32 +272c1f373e43666c5e5f61563a44232f3c222b3322383c233335222b3322262e35 +272c1f262e35272c1f272c1f2f3c222b3322272c1f2b33222b3322272c1f2f3c22 +344d1e272c1f272c1f24261c1e241b24261c1e241b24261c272c1f272c1f2b3322 +2b3322272c1f24261c24261c24261c272c1f342d1f272c1f272c1f272c1f3a4423 +383c23272c1f2f3c222f3c222e3c443f4e3254605f2f3c222b33222f3c222b3322 +2b33223335223335222b33223335222f3c22333522272c1f2b33222f3c22342d1f +2b3322342d1f272c1f24261c24261c24261c24261c24261c24261c24261c24261c +272c1f2b33222b33222f3c22304321344d1e3043213a44233043213a44233a4423 +3a44233f4e323a44232f3c22272c1f24261c24261c24261c333522383c23342d1f +24261c342d1f1c1e1924261c24261c24261c342d1f272c1f342d1f342d1f24261c +24261c24261c24261c24261c24261c24261c24261c24261c342d1f24261c24261c +342d1f24261c24261c24261c24261c24261c272c1f342d1f1c1e191c1e1924261c +1c1e1924261c24261c24261c24261c24261c272c1f24261c24261c272c1f272c1f +342d1f272c1f272c1f24261c24261c272c1f24261c2f3c223043213f4e1e3f4e1e +2f3c22333522333522333522342d1f3335222b33223335222f3c22272c1f2b3322 +342d1f383c23272c1f272c1f272c1f272c1f272c1f342d1f272c1f342d1f272c1f +342d1f33352233352233352224261c272c1f342d1f272c1f272c1f24261c24261c +24261c24261c272c1f24261c272c1f272c1f24261c342d1f24261c24261c272c1f +272c1f272c1f272c1f2b3322272c1f2b3322333522272c1f272c1f342d1f272c1f +272c1f272c1f272c1f342d1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f +373e434b6865576a623d4f564658646075906f8fae8da0b68da0b68da0b68da0b6 +8a99ab7a91a86886a66b86737a91a87d98b17a91a875889b7d98b175889b7197b4 +597c75556c843f4e322e3c44383c232b33222a3438342d1f272c1f262e35262e35 +272c1f2b3322262e35272c1f262e35262e352a3438333522272c1f262e352b3322 +2f3c222b33223335222b33222a3438344d593d4f5630444d344d59496065627d99 +7a91a88da0b692a8b692a8b692a8b6819fb78da0b68da0b692a8b692a8b692a8b6 +92a8b6819fb754605f3944462b33222b33222f3c222f3c222b33223335222b3322 +2b33222b33222b3322272c1f272c1f3335222b3322333522333522333522383c23 +383c232b3322272c1f333522333522272c1f24261c272c1f24261c342d1f272c1f +272c1f342d1f2b3322272c1f272c1f272c1f272c1f342d1f262e35342d1f342d1f +24261c24261c333522262e353a44233944463d4f563c5072848887819fb775889b +75889b6886a6819fb77e98823d573b4b6865576a624960653d4f56475832465864 +556c8475889b8da0b68da0b68da0b692a8b692a8b68da0b68da0b68da0b68a99ab +8da0b68da0b68da0b68da0b692a8b68da0b68da0b68da0b68da0b68da0b68da0b6 +8da0b692a8b68da0b68da0b69fb0bb8da0b67a91a86886a6577376667c74709081 +5d83a44960654e5043496065354c31354c31394446496065627d996886a66b8673 +556c84627d996886a66f8fae627d997a91a88da0b692a8b69da1ab9da1ab9da1ab +9ea9b48da0b692a8b68da0b68da0b69da1ab9da1ab8da0b67a91a875889b8b919f +75889b667c74565838394446666c5e75889b6374713a4423496032373e434e4425 +3a4423383c233a4423383c232e3c4449606554605f637471667c74667c7454605f +2a34383f4e323a4423373e43333642272c1f272c1f262e35342d1f272c1f272c1f +272c1f24261c1e241b272c1f3335222b3322272c1f2b33222f3c222b33222b3322 +3a4423272c1f342d1f24261c24261c24261c24261c1c1e191e241b272c1f2b3322 +333522333522333522342d1f24261c342d1f333522342d1f24261c272c1f383c23 +333522272c1f342d1f2a34382f3c223d4f564960653043212b33222f3c222f3c22 +3043212f3c222b33223335222f3c222f3c222f3c222b33222b33222f3c222f3c22 +333522272c1f272c1f1e241b24261c1c1e1924261c342d1f342d1f272c1f333522 +2b33222f3c222f3c222b33223335222f3c222f3c223a44233a44233f4e1e344d1e +2f3c223a44232f3c22272c1f272c1f342d1f272c1f24261c342d1f555824333522 +24261c24261c24261c1c1e19342d1f272c1f333522342d1f272c1f272c1f342d1f +24261c24261c24261c24261c24261c24261c272c1f24261c24261c272c1f333522 +272c1f272c1f24261c24261c1c1e1924261c24261c24261c24261c1c1e191c1e19 +1c1e1924261c24261c24261c24261c24261c24261c24261c24261c2b3322272c1f +342d1f272c1f272c1f272c1f24261c24261c272c1f2b33223043213043213a4423 +3f4e1e3a4423373e43333522272c1f3335222b33222f3c22333522272c1f2b3322 +2b3322333522333522272c1f333522333522272c1f272c1f2b3322272c1f2b3322 +2b3322272c1f272c1f342d1f272c1f2b3322262e35272c1f272c1f24261c342d1f +24261c24261c342d1f24261c272c1f272c1f24261c342d1f24261c24261c342d1f +3335222b3322272c1f2f3c22272c1f342d1f333522272c1f272c1f272c1f24261c +272c1f272c1f272c1f342d1f342d1f272c1f24261c272c1f342d1f272c1f272c1f +2e3c44496065576a623d4f563d4f56496065627d997d98b18da0b6819fb7819fb7 +819fb77d98b17a91a87a91a8819fb7819fb77a91a87d98b17d98b17d98b17197b4 +75889b608471344d592f3c22373e432b3322333642262e3524261c272c1f24261c +272c1f342d1f262e35272c1f272c1f272c1f2b3322272c1f272c1f272c1f2e3c44 +3944463335222e3c44272c1f373e434658643c586f354c3141678a556c84537499 +6f8fae92a8b692a8b6819fb78da0b692a8b692a8b692a8b692a8b692a8b692a8b6 +8da0b67e98823d4f563d573b354c312f3c2230444d2f3c222b3322333522342d1f +2f3c22342d1f333522333522333522383c232b3322383c23383c232b3322333522 +333522342d1f272c1f342d1f333642342d1f342d1f24261c272c1f24261c24261c +24261c272c1f272c1f272c1f272c1f342d1f272c1f272c1f272c1f272c1f262e35 +24261c24261c24261c272c1f2f3c22496065608471465864626e8c8a99ab75889b +667c7460759075889b75889b496065667c74577376667c74556c84496065627d99 +75889b8da0b68da0b68da0b68da0b68da0b68da0b692a8b692a8b68a99ab7a91a8 +8da0b68da0b692a8b692a8b68da0b68da0b68da0b68da0b68da0b68da0b68da0b6 +92a8b68da0b692a8b68da0b68da0b68da0b67a91a86b8673627d99627d99709081 +627d994658643d573b4960653d573b3c586f496065627d997a91a875889b75889b +54605f576a626374717d98b1819fb77d98b18da0b68da0b68da0b68da0b68da0b6 +8da0b68da0b68da0b68da0b68da0b68da0b68da0b68a99ab6075906886a675889b +75889b637471475832373e43576a62626e8c6374714758323f4e323a44234c5026 +373e433f4e323a44233a44232f3c223f4e324658646374715f61564658643f4e32 +373e43333642333522383c23394446333522272c1f2b33222b3322272c1f24261c +272c1f272c1f24261c272c1f333522272c1f2b33222b33222f3c22272c1f333522 +2f3c222b3322272c1f24261c272c1f272c1f1e241b2b3322342d1f2b3322383c23 +383c233a4423333522383c2324261c2b3322272c1f2b3322272c1f342d1f3f4e32 +2b3322272c1f2b3322272c1f272c1f2b33223043212f3c223335222b33222b3322 +2b33222f3c222b3322344d1e3c5822344d1e3c58223d573b354c313f4e323f4e32 +2f3c22342d1f24261c24261c24261c272c1f272c1f272c1f3335222b3322333522 +2f3c222f3c223a44233335222b33222b3322272c1f304321304321344d1e3a4423 +344d1e3a4423383c23383c232b3322333522272c1f24261c272c1f3f4e1e443623 +24261c342d1f24261c24261c342d1f342d1f333522342d1f272c1f342d1f342d1f +342d1f24261c24261c24261c24261c24261c24261c24261c272c1f272c1f333522 +272c1f342d1f24261c24261c24261c24261c1c1e1924261c1c1e1924261c1c1e19 +24261c1c1e1924261c1c1e1924261c1c1e1924261c24261c1e241b24261c1e241b +272c1f24261c333522272c1f24261c272c1f24261c272c1f383c233a44233a4423 +383c23383c233335222f3c222f3c222f3c222f3c223a4423333522333522272c1f +3335222f3c222b3322342d1f2b3322272c1f272c1f272c1f272c1f383c23272c1f +342d1f2b3322272c1f3335222b3322333522342d1f333642272c1f24261c24261c +272c1f24261c24261c24261c272c1f272c1f24261c272c1f24261c272c1f333522 +2b3322272c1f272c1f2b33222b33222b33222b3322342d1f24261c272c1f342d1f +342d1f272c1f272c1f2b3322272c1f24261c272c1f272c1f272c1f272c1f2b3322 +373e43344e6f3c586f354c313d4f56496065627d9975889b7d98b1819fb78da0b6 +819fb77d98b17d98b17d98b1819fb78da0b68a99ab7d98b18da0b6819fb77a91a8 +627d994b6865344d59304321373e432b33222a3438272c1f262e35262e3524261c +262e35262e35333522262e35272c1f342d1f2a34382b3322262e35272c1f394446 +304321373e43373e43272c1f373e4330444d344d593c5072577376537499587ca0 +6886a6819fb792a8b692a8b68da0b692a8b68da0b692a8b6819fb78da0b692a8b6 +8da0b66886a6577376576a62354c31304321354c312f3c222f3c222e3c442b3322 +2f3c222b3322333522333522342d1f3335223335223335223335222b3322333522 +3335222b33222b3322333522333522272c1f342d1f272c1f24261c272c1f24261c +272c1f342d1f2b3322272c1f2b3322272c1f272c1f24261c262e3524261c342d1f +24261c24261c262e35272c1f342d1f3d4f56627d99556c84556c848a99ab75889b +7a91a86886a67d98b1667c74577376627d99556c846886a66b86734b6865637471 +6075908a99ab8da0b68da0b67d98b192a8b6819fb78a99ab8da0b68da0b67a91a8 +8a99ab8da0b68da0b68da0b68da0b68da0b68da0b68da0b68da0b68da0b68da0b6 +819fb78da0b692a8b68a99ab8da0b68a99ab8a99ab6f8fae7a91a88a99ab8da0b6 +75889b3d4f563d4f56496065496065587ca07a91a87d98b18da0b67a91a8637471 +3d4f56556c84667c747a91a88a99ab7a91a88da0b68da0b68da0b68da0b68da0b6 +8da0b68da0b68da0b68a99ab8a99ab8da0b68da0b68da0b6757c71496065607590 +576a623d4f5656583830444d3d573b4658646374714658643f4e32383c233a4423 +3a4423383c23383c233a44233a4423383c233944465f61564e5043344d59394446 +373e433a44232f3c222f3c222f3c223335223335222f3c22272c1f272c1f272c1f +2b33222b33222b332224261c2b33222b33222f3c222f3c222b33222b3322272c1f +2f3c222b3322333522272c1f272c1f272c1f24261c3335222b33222b33222f3c22 +383c233a44233a4423342d1f272c1f333522272c1f272c1f2b3322272c1f383c23 +383c233335223335222b3322272c1f2f3c222b33222f3c22383c232b33222b3322 +2b33222b33223043214b6865608471627d996886a67197b4709081608471778772 +354c312a34382b3322383c232b33223043212f3c222b33222b3322333522342d1f +2b33222b33223a44232f3c222f3c222f3c223335222b3322383c233f4e1e383c23 +2f3c22383c23383c23383c233043213a4423333522333522342d1f3a4423342d1f +342d1f24261c24261c24261c342d1f383c23383c23342d1f333522383c23342d1f +272c1f24261c24261c272c1f272c1f272c1f24261c24261c24261c342d1f342d1f +272c1f342d1f24261c342d1f1c1e1924261c24261c24261c24261c24261c24261c +24261c1c1e1924261c24261c24261c1c1e1924261c24261c24261c24261c24261c +24261c272c1f333522383c23272c1f383c233335222b3322383c23383c23383c23 +2b33223335222b3322304321354c312f3c222f3c222f3c22333522383c232b3322 +2f3c223335222f3c22272c1f272c1f272c1f333522333522333522333522272c1f +2b3322272c1f272c1f342d1f2b3322262e35272c1f272c1f262e3524261c24261c +272c1f24261c24261c24261c272c1f272c1f24261c342d1f24261c272c1f272c1f +333522272c1f272c1f2b3322262e35272c1f272c1f342d1f262e35272c1f272c1f +272c1f272c1f272c1f272c1f33352224261c24261c272c1f272c1f272c1f342d1f +373e433c586f3c50723d4f56394446344d596075907a91a8819fb7819fb7819fb7 +819fb7819fb77d98b1819fb78da0b6819fb7819fb78da0b6819fb78da0b67d98b1 +7a91a86f8fae3d5f252f3c22373e432b3322333522262e35262e35272c1f272c1f +272c1f272c1f342d1f2a34382b3322272c1f2b3322342d1f272c1f272c1f2e3c44 +344d592e3c443335223335222a3438344d594b6865344e6f4b68656886a66886a6 +6f8fae8da0b68da0b68da0b6819fb78da0b6819fb792a8b692a8b68da0b68da0b6 +8a99ab6886a65773765773763d4f563f4e323944463a44232b3322383c23333522 +2f3c222b33223335222b33222b3322333522383c23383c233335222b3322333522 +333522272c1f272c1f2b33222b3322272c1f333522342d1f272c1f342d1f272c1f +342d1f272c1f2b3322333522272c1f342d1f24261c24261c4e3d22272c1f262e35 +272c1f24261c24261c262e35272c1f3f4e327a91a87d98b16075907d98b18a99ab +8a99ab8a99ab75889b627d99576a6254605f556c8475889b6f8fae6075906f8fae +7a91a88da0b68da0b6819fb77d98b18da0b6819fb77d98b18da0b68a99ab75889b +8a99ab8a99ab819fb78da0b68da0b68a99ab8da0b68da0b68da0b6819fb78a99ab +8da0b6819fb78a99ab7d98b1819fb78a99ab7d98b17a91a86886a67a91a88a99ab +667c743d4f563944464b68656374717a91a8819fb78da0b68a99ab7a91a875889b +54605f627d996886a67a91a88a99ab8da0b68a99ab8da0b68da0b68da0b68da0b6 +8da0b68da0b68a99ab8a99ab8a99ab8da0b67a91a86886a67a91a8667c74576a62 +54605f3944463d4f562f3c223944463c5072496065666c5e383c232f3c22383c23 +383c23304321383c23373e433a4423383c23373e4354605f4658643944463a4423 +2a3438394446373e433a44233f4e3230444d3a4423373e43262e352b33222a3438 +3a4423304321354c312b3322272c1f2b3322383c232f3c222f3c222b33222b3322 +2f3c222b33222b332224261c24261c24261c272c1f272c1f3335222f3c22333522 +4436233f4e1e383c23272c1f3335223335222b3322272c1f2b3322333522383c23 +3335222f3c223a44232b33222b33223335222f3c223a4423383c23272c1f1e241b +3043213d573b57737675889b7090817a91a875889b7a91a8607590556c846b8673 +3d4f564960654960655773765773766b86735773762f3c222b33223f4e323d573b +3944463d4f564758323f4e323335223a44232f3c222f3c222b3322383c23383c23 +3335223a44232b33222f3c223335223a44232f3c22383c23383c23383c23333522 +24261c342d1f24261c24261c342d1f2b3322342d1f2b3322383c232b3322333522 +342d1f24261c24261c342d1f333522342d1f24261c24261c24261c3335222f3c22 +24261c272c1f342d1f1c1e1924261c24261c1c1e1924261c24261c1c1e191c1e19 +1c1e1924261c1c1e191c1e1924261c24261c24261c24261c24261c24261c24261c +24261c24261c272c1f2b3322342d1f272c1f3a4423333522383c233335222b3322 +272c1f3335222f3c222f3c22383c233335222b33223043212f3c223a44232b3322 +2f3c222b33222b33222b33222b3322333522383c232b33222b33222b3322272c1f +342d1f272c1f2b33222b33223335222b3322262e35342d1f24261c342d1f24261c +24261c24261c24261c272c1f262e35272c1f24261c262e3524261c262e35342d1f +272c1f2b33222b3322272c1f262e35333522272c1f262e35342d1f24261c342d1f +272c1f272c1f272c1f342d1f2b3322272c1f272c1f272c1f272c1f272c1f272c1f +3336423944463c50723d4f56344d593c586f5773766886a66f8fae7d98b1819fb7 +819fb77d98b17d98b1819fb7819fb7819fb7819fb7819fb7819fb78da0b67197b4 +6f8fae6886a63c586f3043212e3c442f3c222b3322342d1f272c1f262e3524261c +262e35262e35342d1f2a34382b3322262e352b33222b3322262e352b33222e3c44 +354c312e3c442a34382b332230444d344d593d4f56344d593c507254605f627d99 +7d98b192a8b692a8b68da0b68da0b68da0b6819fb78da0b6819fb792a8b692a8b6 +7d98b16886a6597c754a6a8d3f4e32354c313d573b3d4f562f3c222b3322333522 +342d1f2b3322333522342d1f2b3322333522383c232f3c22342d1f2b33222b3322 +3335222b3322272c1f272c1f2b3322272c1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f272c1f2b33222b3322342d1f333522262e35262e3524261c342d1f +342d1f262e3524261c262e352b3322394446667c747d98b17d98b1819fb77d98b1 +627d997a91a875889b627d9954605f3d4f566075907a91a87d98b17a91a87d98b1 +8a99ab8da0b68da0b67d98b16886a68a99ab7d98b17d98b18da0b67d98b1627d99 +8a99ab8da0b6819fb7819fb78da0b68da0b6819fb78da0b6819fb77d98b18b919f +819fb78da0b67a91a88a99ab8da0b68a99ab7a91a87d98b18a99ab7a91a8627d99 +54605f4960653d4f56465864344d596075908a99ab8a99ab7d98b1627d995d83a4 +576a6275889b6886a67a91a88a99ab8da0b68a99ab8da0b68a99ab8da0b68a99ab +8da0b68a99ab8da0b68da0b67d98b17d98b175889b627d997a91a8607590496065 +54605f394446354c312f3c22354c31354c313d4f564658643a44233944463f4e32 +3335222f3c223335223a44233f4e323a44233a4423373e433a44233944462f3c22 +2b3322373e432f3c222f3c224658643f4e322f3c22373e432b332230444d304321 +2e3c442f3c222f3c222b33222f3c222f3c22383c232f3c222f3c222b3322333522 +2f3c22272c1f272c1f24261c272c1f24261c342d1f2b33223335222f3c222f3c22 +342d1f33352244362324261c383c233a44232f3c22272c1f2f3c222b33222b3322 +3335222f3c222f3c222b33222b3322383c232f3c22373e432f3c22272c1f2b3322 +354c313d5f7a577376627d996075907d98b16b86737d98b14960653d4f56607590 +3d4f565773764b6865556c84576a62556c843d573b354c312e3c446b86736b8673 +3c586f4b6865576a624960653a4423383c232f3c22333522333522333522333522 +2b33222f3c222b33223a44233335223f4e1e3a4423383c23383c23383c23342d1f +24261c342d1f24261c24261c24261c2b3322342d1f2a34383336422b33222b3322 +342d1f24261c24261c342d1f2f3c22333522272c1f24261c24261c24261c342d1f +24261c24261c24261c24261c1c1e1924261c24261c24261c1c1e1924261c1c1e19 +1c1e1924261c1c1e1924261c24261c24261c24261c24261c342d1f24261c24261c +24261c24261c24261c272c1f1e241b24261c272c1f272c1f4e4425333522333522 +272c1f2b3322342d1f272c1f2b3322272c1f342d1f2f3c222f3c222f3c222f3c22 +2f3c222b33223335223335222b3322272c1f333522272c1f342d1f2b3322272c1f +272c1f272c1f2f3c223335222b3322342d1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f24261c262e35342d1f272c1f24261c24261c272c1f272c1f24261c +342d1f272c1f262e35272c1f272c1f333522342d1f272c1f272c1f262e352b3322 +272c1f342d1f2b3322272c1f272c1f272c1f272c1f24261c272c1f272c1f272c1f +2a34383336423d4f56344d5930444d3c586f556c84627d997a91a8819fb77d98b1 +819fb7819fb7819fb7819fb7819fb7819fb7819fb7819fb7819fb792a8b67d98b1 +7d98b1577376344d593043213043212a34382a3438262e35272c1f262e35262e35 +24261c272c1f2b33222b33222f3c222b3322262e35272c1f262e35272c1f2b3322 +3944463335222b33222e3c4446586446586430444d3944463d4f56456185607590 +7d98b17d98b1819fb78da0b68da0b6819fb78da0b6819fb78da0b6819fb78da0b6 +8b919f627d996b86736886a6597c754b68654960653f4e32333522333522272c1f +2b3322342d1f2b33222b3322272c1f2f3c22383c233335222b3322272c1f272c1f +272c1f272c1f272c1f272c1f272c1f24261c24261c272c1f272c1f24261c272c1f +24261c24261c272c1f272c1f272c1f2b33222b3322342d1f262e35342d1f333642 +24261c342d1f2b33222b33222f3c2230444d576a626886a67d98b18a99ab7a91a8 +627d99627d9975889b75889b4b68653d4f56667c746886a67d98b17a91a88a99ab +7d98b18a99ab819fb77d98b16075907d98b17a91a87a91a8819fb77a91a86886a6 +7d98b17d98b1819fb78a99ab8da0b68a99ab7a91a87d98b17d98b16f8fae7d98b1 +8b919f7a91a87a91a88a99ab819fb7819fb775889b7d98b18a99ab627d99607590 +4658643d4f563944463d4f56344d596075908a99ab8a99ab8a99ab627d99627d99 +627d997a91a87a91a87a91a88da0b68a99ab7d98b18a99ab7d98b18a99ab819fb7 +7d98b18a99ab7d98b17d98b18a99ab627d99627d99667c746374716374713d4f56 +3f4e32354c31354c312e3c444658643944463d4f563f4e323a44233a44233a4423 +383c232b33223335223f4e32556c844e50433f4e322a34382e3c4430444d304321 +342d1f3944462f3c222f3c224960653d4f562f3c22373e432f3c223d4f5630444d +2b33222f3c222f3c22333522344d1e2f3c223a44232f3c222f3c22272c1f272c1f +333522272c1f272c1f272c1f272c1f342d1f272c1f342d1f383c23333522333522 +272c1f333522383c232b3322383c232f3c22383c232b33223335222b3322272c1f +383c23383c23333522272c1f272c1f342d1f333522394446354c312b3322272c1f +2a343830444d607590607590667c746075907a91a87a91a83d4f563d4f56394446 +354c31577376556c84465864465864576a623c5072354c313d4f56627d99667c74 +5d83a47a91a8627d9954605f3d4f563a4423383c232f3c223a4423342d1f2b3322 +3335222f3c222b33222b33222b33223335223a44232f3c22383c23383c23342d1f +342d1f24261c24261c24261c272c1f262e35342d1f272c1f333522272c1f333522 +2b3322272c1f272c1f272c1f333522272c1f272c1f272c1f24261c24261c24261c +24261c272c1f24261c24261c342d1f24261c24261c1c1e1924261c24261c1c1e19 +1c1e19342d1f1c1e1924261c1c1e19342d1f24261c24261c24261c24261c1c1e19 +24261c24261c272c1f342d1f24261c24261c24261c1e241b2b3322383c23333522 +2b33222b3322272c1f272c1f342d1f272c1f2b3322333522333522272c1f333522 +2f3c222f3c222e3c443a44232b3322333522333522333522342d1f272c1f272c1f +272c1f342d1f2b33223335222b33222b33222b3322272c1f262e35342d1f272c1f +272c1f24261c272c1f272c1f2a3438342d1f272c1f342d1f24261c272c1f262e35 +342d1f272c1f272c1f262e352b33222b3322262e35272c1f272c1f272c1f342d1f +272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f +2a34382a34382e3c443d4f56344d594561855d83a46886a66f8fae7d98b17d98b1 +7197b47197b4819fb7819fb7819fb77d98b1819fb7819fb77d98b1819fb7819fb7 +6f8fae4b68653d573b4960653043212a34382b3322262e35272c1f342d1f262e35 +342d1f262e35262e352b33222a34382f3c222b33222b3322272c1f272c1f2a3438 +2f3c22333522342d1f2a3438373e43394446394446344d59394446496065626e8c +587ca07a91a88da0b6819fb78da0b6819fb7819fb7819fb78a99ab819fb7819fb7 +7a91a875889b75889b537499556c84597c753f4e322e3c442b3322272c1f272c1f +272c1f2b33222f3c222b3322272c1f383c23333522333522272c1f272c1f272c1f +272c1f272c1f272c1f272c1f333522342d1f272c1f1e241b1e241b1e241b24261c +24261c24261c24261c342d1f2b3322272c1f272c1f342d1f272c1f2b3322333522 +2b33222e3c44354c312e3c44272c1f3043213d4f56556c847d98b17a91a8626e8c +6886a66f8fae6f8fae627d993d4f563c5072627d997a91a87a91a87a91a88da0b6 +7a91a88a99ab819fb77a91a86075907d98b17a91a87d98b17a91a86886a66886a6 +7d98b17d98b18a99ab7d98b18a99ab8a99ab627d997a91a87a91a86f8fae75889b +7a91a87a91a87d98b18a99ab8a99ab8a99ab627d998a99ab8a99ab75889b6886a6 +556c84496065344d594960654960655374997a91a87d98b17a91a875889b75889b +6886a67a91a88a99ab8a99ab819fb78a99ab8a99ab8a99ab819fb78a99ab8a99ab +819fb78a99ab75889b7d98b18a99ab75889b6075906886a663747154605f394446 +394446383c23354c313043214b68653043213944463944463043213f4e323f4e32 +383c232b33222b3322344d59597c754e50433f4e322b33222e3c44304321344d59 +2a343849606530444d2b33223f4e323f4e32262e352b33222a3438272c1f272c1f +2b3322272c1f383c23333522383c233335223335222b33222f3c222b332224261c +272c1f272c1f24261c24261c272c1f272c1f272c1f2b3322333522383c23333522 +272c1f342d1f2b33223335223a44232f3c223a4423272c1f383c232f3c222b3322 +3335222b3322342d1f272c1f272c1f272c1f2b33222e3c442f3c222e3c44272c1f +2b3322344d594b6865607590576a6249606575889b7a91a8394446373e43394446 +373e4346586454605f3336422a3438576a624b6865354c31465864496065556c84 +576a62496065556c84394446373e433944462f3c22354c31354c312b33222b3322 +2b33222f3c222f3c22272c1f2f3c223335223336422f3c224e44252e3c44342d1f +2b3322342d1f342d1f24261c24261c272c1f333522272c1f333522333642383c23 +383c23342d1f272c1f342d1f342d1f272c1f272c1f24261c24261c24261c24261c +24261c24261c342d1f1c1e1924261c1c1e1924261c24261c1c1e19342d1f1c1e19 +24261c1c1e191c1e191c1e1924261c24261c24261c24261c1c1e1924261c24261c +24261c24261c333522342d1f24261c24261c24261c24261c272c1f272c1f342d1f +2b33222b3322272c1f272c1f2f3c22333522383c23373e432b33222b3322333522 +3944463335223335222f3c222f3c222f3c223335223335222b3322272c1f342d1f +272c1f2b3322272c1f333522272c1f272c1f2b3322272c1f2b3322272c1f342d1f +262e35272c1f24261c342d1f262e35342d1f262e35272c1f272c1f24261c342d1f +262e35342d1f272c1f272c1f272c1f342d1f272c1f272c1f262e352b3322272c1f +24261c272c1f272c1f272c1f24261c272c1f272c1f24261c24261c272c1f272c1f +373e43262e3530444d3c586f3d4f564b68655d83a47d98b17197b47d98b17d98b1 +819fb7819fb77d98b17d98b17d98b1819fb7819fb7819fb7819fb77d98b17d98b1 +6f8fae4561853d573b3d4f562f3c222b3322333522272c1f262e352b3322262e35 +272c1f272c1f272c1f272c1f2f3c222f3c222a3438272c1f2e3c442b3322333522 +3336422a3438272c1f333522344d593d5f7a344d5949606530444d3d5f7a627d99 +4a6a8d6886a67d98b1819fb77d98b1819fb78a99ab819fb7819fb7819fb77d98b1 +7d98b17a91a87d98b175889b6f8fae6b867330444d2b33222b3322333522272c1f +2b33223d4f56576a62394446272c1f383c233335222b332233352224261c24261c +272c1f272c1f272c1f272c1f2b33222f3c22272c1f24261c24261c272c1f24261c +24261c342d1f272c1f272c1f24261c272c1f272c1f272c1f262e35342d1f333522 +2b33222f3c224658644960652f3c2230444d496065556c848a99ab627d99465864 +6886a66886a6627d99576a6230444d3d5f7a6075907a91a8627d997a91a87d98b1 +7a91a88a99ab7a91a86886a654605f75889b6886a675889b75889b6075906f8fae +75889b7a91a87d98b18a99ab7a91a87a91a860759075889b75889b75889b607590 +6f8fae75889b7a91a8819fb77d98b17d98b16886a67d98b17d98b16f8fae7a91a8 +587ca0637471496065597c7560759075889b6886a66886a67a91a8709081607590 +75889b627d997d98b17d98b18a99ab7a91a87a91a8819fb77d98b17d98b17d98b1 +8a99ab7d98b175889b7d98b17d98b1627d99556c8463747175889b496032373e43 +3a44232f3c222f3c222f3c224658643336423f4e322e3c44383c23394446373e43 +383c233335222f3c22394446667c744e504330444d2f3c222e3c44344d5954605f +272c1f3d4f563d4f563944463d4f56394446272c1f24261c272c1f272c1f272c1f +272c1f383c232b33223335222f3c223a44232b3322272c1f272c1f2f3c22272c1f +24261c24261c342d1f272c1f272c1f272c1f2b3322333522272c1f272c1f342d1f +2b33222b33223335222b33223a44232f3c22383c232b33222f3c22383c23272c1f +333522272c1f272c1f272c1f272c1f1e241b333522383c232b3322272c1f272c1f +30444d394446556c846075904658642a343854605f576a622e3c44272c1f342d1f +272c1f333522394446262e35272c1f33364230444d354c31304321373e43496065 +4960653d4f56556c84373e43373e43394446344d59576a62667c743f4e322b3322 +3335222b33222f3c222f3c22342d1f272c1f2b33223335223a4423333522272c1f +2b33222b3322272c1f24261c24261c272c1f272c1f2b3322333522373e43333522 +333522272c1f272c1f272c1f272c1f272c1f24261c24261c333522373e432a3438 +24261c24261c24261c24261c24261c342d1f24261c24261c1c1e1924261c24261c +1c1e1924261c1c1e1924261c24261c1c1e1924261c24261c24261c24261c24261c +24261c272c1f2b3322272c1f272c1f333522272c1f342d1f24261c272c1f272c1f +342d1f2b3322272c1f272c1f333522262e35383c23333522342d1f272c1f2b3322 +2f3c222b33222b3322373e432f3c223043212b3322383c23272c1f2b33222b3322 +2b3322272c1f2b33222b33222b33222a34382b3322272c1f272c1f272c1f2b3322 +272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f262e35 +272c1f333522272c1f272c1f272c1f2b3322342d1f272c1f24261c272c1f272c1f +272c1f272c1f272c1f24261c272c1f24261c272c1f24261c24261c272c1f2b3322 +2f3c223336422e3c44344d594561854a6a8d6886a67d98b17d98b17d98b17d98b1 +7197b47d98b17d98b17d98b1819fb77d98b17197b47d98b1819fb77d98b17d98b1 +6886a6627d994b6865354c31394446262e35342d1f2b3322272c1f272c1f342d1f +272c1f262e35272c1f272c1f2a34382b33222f3c222b33223f4e322e3c442f3c22 +2f3c22373e432b33222a34382e3c443d4f56344d59354c312e3c4449606575889b +5d83a46f8fae7d98b1819fb77d98b17d98b17d98b18a99ab7d98b1819fb78da0b6 +7d98b17d98b17d98b17d98b16f8fae4b68652e3c442b33222a34382b3322262e35 +2b33223d4f56667c743944462b3322383c232b3322272c1f342d1f24261c24261c +24261c24261c24261c24261c333522383c232b3322272c1f2f3c223f4e32383c23 +2b3322272c1f272c1f272c1f272c1f272c1f272c1f24261c272c1f2b33222b3322 +2b33223335223944464b68652e3c442e3c44496065556c84819fb7627d9941678a +75889b60759075889b4960653944464960654a6a8d7a91a875889b75889b6886a6 +8a99ab7d98b1627d9975889b45618575889b626e8c627d996886a6627d996886a6 +6075907a91a87a91a87d98b17a91a86886a66886a6627d996886a675889b75889b +607590627d997d98b17d98b18b919f7a91a875889b7d98b175889b7d98b16f8fae +7a91a863747154605f627d995773766886a675889b75889b6f8fae6886a6556c84 +60759060759075889b7d98b17d98b17a91a87a91a87d98b17d98b17d98b17a91a8 +7d98b16886a6627d997d98b175889b75889b3c5072556c8475889b4960652f3c22 +3336423335222a34383944462f3c222b3322373e432f3c223a4423383c232b3322 +342d1f2a3438342d1f2a3438556c84373e435773763f4e322e3c443d573b496065 +2a34382f3c22354c31373e432b3322272c1f24261c24261c272c1f24261c272c1f +272c1f333522272c1f272c1f3335223f4e1e2f3c22272c1f272c1f2b3322272c1f +272c1f272c1f2b3322272c1f272c1f272c1f272c1f333522272c1f272c1f24261c +272c1f3335222b3322272c1f272c1f2b33222b3322272c1f2b3322272c1f272c1f +2b3322383c23272c1f24261c24261c272c1f262e352a3438272c1f272c1f272c1f +354c31394446465864576a623944462a343839444654605f2e3c442b33222b3322 +272c1f272c1f272c1f272c1f24261c3335222a3438394446383c233336423d4f56 +344d593d4f56556c8430444d2b332230444d3d4f563c586f6374713d573b344d59 +3043212f3c223043212f3c222b33222b33222b33222b33222b3322262e35342d1f +272c1f272c1f272c1f24261c272c1f272c1f24261c333522342d1f333522342d1f +272c1f24261c24261c272c1f272c1f24261c342d1f1c1e19342d1f2e3c44304321 +373e4324261c1c1e1924261c24261c1c1e1924261c342d1f24261c24261c1c1e19 +1c1e19342d1f1c1e191c1e1924261c24261c24261c1c1e1924261c24261c24261c +24261c24261c342d1f342d1f272c1f383c23383c23272c1f24261c272c1f272c1f +272c1f2b33222b33222b3322272c1f24261c342d1f2a3438333522272c1f272c1f +2b3322272c1f272c1f2b3322272c1f3043212f3c22333522342d1f2b3322272c1f +272c1f272c1f2b33222b33222b33222b3322272c1f272c1f272c1f272c1f262e35 +342d1f272c1f272c1f272c1f272c1f272c1f262e3524261c262e35272c1f272c1f +272c1f272c1f342d1f262e35272c1f272c1f272c1f342d1f272c1f272c1f342d1f +272c1f272c1f272c1f24261c342d1f24261c342d1f272c1f272c1f24261c272c1f +2e3c442b33222e3c44344e6f4658644a6a8d6f8fae7197b47197b47d98b17d98b1 +7d98b17197b47d98b17d98b17197b4819fb7819fb77197b47d98b1819fb77d98b1 +627d99587ca0496065344d59354c313335222a3438342d1f2a34382b33222a3438 +342d1f262e3524261c272c1f272c1f2e3c44354c312e3c44272c1f2e3c443c586f +354c312a3438333522342d1f262e353944463c5072344d5930444d3c586f587ca0 +627d996886a67197b47d98b18a99ab819fb77d98b17d98b17d98b17d98b17d98b1 +7d98b17d98b17d98b17d98b16b86734658643043212f3c2230444d3043212f3c22 +4658644658644b6865373e43272c1f272c1f3335222b3322272c1f272c1f24261c +272c1f24261c24261c24261c272c1f333522272c1f272c1f2e3c444e44253a4423 +383c232f3c22272c1f24261c272c1f24261c272c1f272c1f272c1f342d1f333522 +272c1f262e352f3c224960653d5f7a2e3c443c586f5374996886a649606541678a +75889b627d996886a63c586f30444d4b68654a6a8d6f8fae627d99556c84627d99 +7d98b17a91a86075906886a654605f7a91a8627d99626e8c75889b60759075889b +556c8475889b627d997d98b17a91a8627d9975889b607590626e8c626e8c626e8c +6075906f8fae8b919f6f8fae6f8fae627d996f8fae7a91a875889b75889b637471 +6075903c50724b6865607590456185627d996f8fae6f8fae75889b607590626e8c +60759075889b7a91a87d98b17d98b16075907d98b18a99ab7d98b17a91a86f8fae +7d98b175889b627d996886a675889b627d9954605f456185709081597c75304321 +2f3c22272c1f2f3c223043212f3c222f3c223335222e3c443335223335222b3322 +2b3322272c1f2b3322373e434960652a34384658642e3c442a34382a34382e3c44 +272c1f2e3c44394446394446342d1f2b332224261c272c1f24261c1e241b24261c +272c1f272c1f272c1f2b3322272c1f383c232f3c22272c1f272c1f272c1f24261c +272c1f272c1f3335222b3322272c1f272c1f2b3322272c1f342d1f24261c272c1f +333522272c1f272c1f24261c272c1f342d1f272c1f272c1f272c1f2b33222b3322 +373e432b3322272c1f272c1f272c1f2b3322272c1f2b3322272c1f272c1f262e35 +2a34382b332230444d30444d333642333522373e43344d592b33222b3322394446 +24261c342d1f24261c24261c24261c1e241b24261c383c23272c1f342d1f2e3c44 +3336423d4f564b6865344d592b3322373e43344d59344d59344d59607590537499 +3d573b2e3c44373e43373e43272c1f2b3322272c1f272c1f342d1f24261c272c1f +272c1f272c1f272c1f24261c24261c272c1f272c1f272c1f3335222a34382b3322 +24261c24261c272c1f272c1f272c1f272c1f33352224261c2b3322344d593d4f56 +39444624261c342d1f1c1e19342d1f24261c24261c24261c24261c342d1f24261c +1c1e1924261c24261c1c1e1924261c1c1e1924261c1c1e19342d1f342d1f24261c +24261c24261c272c1f272c1f272c1f2b3322383c23272c1f272c1f24261c272c1f +2b33222b3322272c1f3335222b3322272c1f272c1f2b3322262e35272c1f272c1f +2a3438272c1f272c1f272c1f272c1f2a3438333522342d1f2a3438333522272c1f +2b332224261c272c1f333522272c1f272c1f333522272c1f272c1f342d1f262e35 +342d1f272c1f272c1f272c1f272c1f342d1f272c1f342d1f342d1f272c1f272c1f +24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f +342d1f24261c24261c24261c272c1f272c1f272c1f24261c24261c272c1f272c1f +373e432e3c443d4f564a6a8d556c845374996886a67a91a86f8fae7d98b17197b4 +7d98b17197b47197b47d98b17197b47d98b1819fb77197b4819fb77197b47d98b1 +5773764a6a8d4b6865496065354c312e3c442f3c22272c1f2a3438272c1f262e35 +2b33222b3322272c1f262e3524261c2a34382e3c442f3c222b3322394446354c31 +30444d2a34383335223335222a34382e3c443d4f563c586f344d593d5f7a587ca0 +7a91a87a91a87197b47d98b17d98b17d98b17d98b17d98b17d98b17d98b17d98b1 +819fb77d98b17d98b17d98b1627d993c586f354c313d4f564960652e3c442f3c22 +576a623d4f563d4f562f3c22272c1f2b3322342d1f272c1f272c1f24261c24261c +24261c24261c1e241b24261c342d1f2a3438272c1f272c1f333522333522342d1f +272c1f2b3322333522272c1f272c1f272c1f272c1f24261c262e35262e35333522 +272c1f272c1f262e353d573b4b68653043213d4f565773765773763d4f5641678a +6886a6627d99556c844960653d4f56556c84607590627d99556c843c586f6886a6 +6886a6607590607590556c844658648b919f6075904a6a8d6886a6626e8c607590 +456185627d9975889b627d99627d99626e8c7a91a854605f556c84626e8c465864 +627d996f8fae8b919f6886a675889b556c846886a675889b627d9975889b626e8c +556c843d4f563c5072627d994b6865607590627d9975889b6886a6537499607590 +60759075889b75889b7d98b17a91a86075906f8fae7d98b18b919f627d99627d99 +7d98b1627d99627d99627d9975889b456185556c84496065627d99597c7530444d +2a34382b33222e3c443043212e3c442b3322262e35272c1f272c1f2a34382f3c22 +2e3c443335223043213d4f563d4f562f3c223944463335222b3322342d1f2b3322 +2b33223944462f3c22394446272c1f2b33221e241b272c1f24261c272c1f272c1f +333522272c1f272c1f2b3322342d1f272c1f272c1f24261c272c1f272c1f272c1f +333522272c1f3335222b3322272c1f3335222b332224261c24261c24261c2b3322 +2b3322272c1f272c1f24261c24261c272c1f272c1f24261c1e241b2b3322272c1f +272c1f272c1f24261c1e241b272c1f262e35272c1f2b3322272c1f262e352b3322 +373e43272c1f2a34382f3c222a3438262e3533352230444d2b3322262e35333522 +272c1f272c1f24261c24261c24261c1e241b24261c272c1f272c1f272c1f2b3322 +272c1f2e3c443c586f3d4f562b33222e3c443d573b3c586f3c586f4960654b6865 +4b6865344d593a44232b3322272c1f272c1f272c1f272c1f272c1f272c1f272c1f +342d1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f2b3322272c1f333522 +272c1f24261c24261c272c1f342d1f272c1f333522272c1f394446354c31373e43 +342d1f24261c24261c24261c24261c262e3524261c24261c24261c24261c24261c +1c1e1924261c1c1e19342d1f1c1e1924261c24261c24261c342d1f24261c24261c +24261c24261c272c1f342d1f272c1f2b33223335222b3322333522272c1f272c1f +272c1f272c1f272c1f272c1f272c1f2b3322342d1f3335223335222a3438304321 +2e3c442b3322272c1f272c1f2b33222b33222b33222b33222b3322383c23272c1f +2b3322272c1f272c1f272c1f2b3322272c1f2b3322333522272c1f272c1f272c1f +272c1f272c1f272c1f342d1f272c1f262e35272c1f272c1f24261c262e35342d1f +262e35272c1f272c1f24261c342d1f272c1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f272c1f272c1f24261c24261c272c1f272c1f24261c272c1f272c1f +30432130444d3c586f597c75587ca041678a6886a66f8fae7a91a87197b47197b4 +7197b47197b47197b47d98b17d98b17197b47197b47d98b17d98b17d98b17d98b1 +6886a6587ca0577376496065354c312f3c222e3c443335223335222b3322262e35 +333522262e35272c1f24261c272c1f2f3c223d4f563043212b33222e3c44344d59 +2e3c442f3c22373e432a34383335222b332230444d4658643c586f597c756f8fae +7197b47d98b17197b47d98b17a91a87d98b17d98b17d98b17a91a87d98b1819fb7 +7d98b17d98b17d98b17d98b17a91a8627d99587ca0597c754b686530444d2b3322 +4658643d573b3f4e322e3c442b3322342d1f2b3322262e35272c1f24261c24261c +272c1f24261c1e241b24261c272c1f342d1f272c1f24261c333522342d1f272c1f +24261c272c1f272c1f342d1f24261c272c1f272c1f272c1f272c1f333522383c23 +2b33222b33221e241b2a34385773764b6865465864626e8c556c84344d59496065 +626e8c627d994658643c586f3d5f7a5773766886a6627d9954605f3c507275889b +6886a6607590627d994561853c5072627d9954605f556c84556c8446586454605f +3c5072626e8c626e8c54605f54605f46586475889b465864465864626e8c54605f +60759075889b75889b626e8c75889b556c84627d996075906075906886a6627d99 +4b68653d4f56637471556c846075906075906075906886a6577376537499456185 +626e8c6886a675889b7a91a8627d996886a66f8fae7a91a87a91a875889b627d99 +75889b537499626e8c627d99607590496065607590465864627d99556c84354c31 +2e3c442f3c222e3c443d573b2f3c22272c1f272c1f272c1f2b33222a3438304321 +2e3c4439444647583230444d3d4f562a34383944462a3438272c1f272c1f272c1f +2e3c443f4e322a34382b3322272c1f272c1f2b33222b33222e3c442b33222f3c22 +2b33223335222f3c22272c1f2b33222b3322272c1f24261c272c1f272c1f24261c +2b3322272c1f2b3322272c1f272c1f383c232b3322272c1f24261c272c1f24261c +272c1f342d1f24261c24261c24261c3335221e241b272c1f272c1f2b3322272c1f +272c1f24261c24261c272c1f272c1f2b3322262e35272c1f272c1f272c1f2f3c22 +2b3322272c1f2f3c222a3438272c1f3335222a3438333642272c1f272c1f272c1f +272c1f272c1f24261c24261c24261c24261c24261c24261c24261c272c1f262e35 +272c1f272c1f2e3c443d4f56272c1f2a343830444d3d573b3d4f5641678a3d4f56 +4960653d4f5630444d2b3322272c1f24261c272c1f333522272c1f272c1f272c1f +272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f342d1f272c1f +272c1f24261c272c1f272c1f272c1f272c1f2f3c222b33223f4e32373e43333642 +262e35262e3524261c24261c24261c24261c342d1f24261c24261c24261c24261c +24261c1c1e191c1e1924261c24261c342d1f24261c443623333522342d1f24261c +24261c24261c3335222b33222b3322272c1f24261c333522383c23272c1f2b3322 +342d1f272c1f24261c342d1f272c1f2e3c442b33222a34382e3c44304321344d59 +3043212f3c2230444d354c312a34382b33222b3322272c1f272c1f383c23333522 +342d1f272c1f2b3322342d1f272c1f2b3322272c1f2b3322272c1f342d1f262e35 +24261c272c1f272c1f272c1f272c1f342d1f24261c272c1f272c1f272c1f272c1f +272c1f24261c272c1f272c1f272c1f272c1f342d1f272c1f272c1f2b3322272c1f +272c1f24261c272c1f24261c272c1f272c1f272c1f24261c272c1f272c1f272c1f +344d59344d593d5f7a5d83a4627d99537499627d997197b47a91a86f8fae7d98b1 +7197b47d98b17197b47a91a87d98b17d98b17d98b17197b47d98b17d98b17d98b1 +6886a6576a624b68654b68653d5f7a4b68653d573b373e432b3322333522272c1f +2a3438342d1f272c1f262e35262e352e3c444960654658642b33222e3c443d4f56 +354c312e3c442b33222b33222e3c443944462e3c444960654a6a8d627d996f8fae +7197b47d98b17197b47197b47d98b17197b47d98b17197b47d98b17d98b1819fb7 +7197b47d98b17d98b17197b47d98b16f8fae587ca0597c754960652e3c442b3322 +2a34382f3c222a3438272c1f272c1f272c1f333522272c1f272c1f24261c24261c +24261c24261c1e241b272c1f272c1f272c1f272c1f272c1f272c1f342d1f272c1f +24261c24261c24261c272c1f342d1f24261c272c1f4e5043333522272c1f3a4423 +2b33222b3322272c1f2a3438556c844b68654658644960653c586f3c586f3d5f7a +556c84556c843d4f56373e43344d593d4f56667c74626e8c46586445618575889b +607590456185626e8c46586446586460759054605f626e8c3c507246586454605f +3c507246586454605f3c507254605f4561858b919f4658643944462e3c44394446 +626e8c75889b626e8c607590626e8c4561856075906075906886a64a6a8d6b8673 +3c586f3c586f627d99607590556c843c5072556c84607590465864537499577376 +4a6a8d6075906886a67a91a8627d997a91a86886a66f8fae75889b6f8fae607590 +6886a66075903c5072556c84626e8c3c586f556c84344d59576a623d4f562e3c44 +2f3c222b3322272c1f3944462e3c44272c1f1e241b272c1f272c1f262e35394446 +3043213944462e3c443944463043212a3438373e432b3322272c1f1e241b2b3322 +262e353d4f56383c23262e3524261c272c1f2f3c222b33222a3438272c1f272c1f +2b33222b332233352224261c272c1f272c1f272c1f24261c272c1f272c1f272c1f +272c1f342d1f272c1f272c1f2b3322342d1f272c1f24261c24261c24261c24261c +272c1f272c1f272c1f272c1f1e241b2b3322272c1f272c1f1e241b272c1f272c1f +24261c24261c1e241b272c1f272c1f272c1f272c1f272c1f272c1f272c1f262e35 +2f3c222a3438354c312a3438272c1f272c1f272c1f272c1f24261c24261c272c1f +272c1f272c1f24261c24261c24261c24261c24261c272c1f24261c342d1f272c1f +24261c272c1f272c1f262e35272c1f262e353336423336422e3c444658643f4e32 +3d4f563944462e3c442b33222b332224261c24261c272c1f272c1f24261c2b3322 +2b3322272c1f272c1f24261c24261c272c1f24261c272c1f272c1f272c1f272c1f +272c1f342d1f272c1f24261c272c1f272c1f2f3c222b33222b3322272c1f262e35 +272c1f272c1f24261c24261c1c1e1924261c24261c24261c342d1f24261c24261c +1c1e1924261c24261c24261c24261c24261c24261c443623383c23383c23342d1f +342d1f383c232b3322272c1f272c1f272c1f272c1f2f3c223a44232b33222f3c22 +2b3322272c1f272c1f24261c272c1f2a3438272c1f2b33222b33222e3c442f3c22 +30444d344d593d573b4b68652f3c222f3c22262e352b33222f3c222e3c442b3322 +272c1f272c1f2b3322272c1f272c1f2b3322272c1f272c1f272c1f272c1f272c1f +272c1f342d1f24261c24261c262e35272c1f24261c262e35272c1f272c1f24261c +272c1f24261c24261c272c1f262e35272c1f272c1f272c1f272c1f272c1f342d1f +272c1f272c1f24261c272c1f24261c24261c272c1f272c1f24261c272c1f24261c +3d4f56344d594561855d83a46886a66886a66886a66f8fae6f8fae7a91a86f8fae +7197b47197b47a91a87d98b17197b47d98b17197b47d98b17d98b17197b4819fb7 +6886a6496065556c846b8673577376576a623d573b394446333522262e35272c1f +272c1f2a343824261c272c1f24261c30444d4b68654658642e3c443d573b4b6865 +30444d2a3438342d1f272c1f2b33222a34382e3c443c586f556c846886a66f8fae +7197b47a91a87197b46f8fae6f8fae7d98b17197b47a91a87d98b17197b47197b4 +7d98b17197b47197b47197b47197b46886a6587ca05773763d5f7a2f3c22262e35 +272c1f272c1f272c1f24261c272c1f2b3322333522272c1f262e3524261c24261c +24261c24261c24261c262e35272c1f24261c272c1f24261c342d1f333642272c1f +342d1f272c1f272c1f24261c262e35272c1f272c1f24261c24261c262e35383c23 +272c1f2f3c22262e3530444d556c8454605f3c50723d4f56344d593d4f56456185 +4658644658643d4f562e3c443944464658643d4f56465864373e43607590607590 +54605f626e8c626e8c46586454605f54605f465864373e433944463c5072394446 +4658643c50723944463c50724e5043465864627d9946586430444d2e3c44373e43 +3c5072626e8c4561856f8fae60759054605f456185556c846886a654605f627d99 +3d4f56465864667c746075903d4f56394446607590626e8c456185456185607590 +607590607590607590627d99556c84627d99627d997a91a87197b475889b607590 +6886a660759046586454605f496065556c844b68653d4f5639444639444630444d +2f3c222e3c44272c1f2b33222a3438262e35272c1f272c1f2f3c222b3322344d59 +3f4e323f4e322b33222f3c223d4f562a34382b3322262e35272c1f272c1f2b3322 +272c1f373e43262e35272c1f272c1f272c1f2a3438272c1f272c1f1e241b24261c +272c1f272c1f272c1f24261c272c1f272c1f24261c24261c272c1f24261c272c1f +2b3322272c1f272c1f272c1f272c1f272c1f272c1f24261c24261c1e241b24261c +1e241b272c1f24261c1e241b1e241b2b332224261c1e241b24261c1e241b1e241b +24261c1e241b272c1f262e35272c1f272c1f1e241b272c1f272c1f24261c24261c +262e352e3c443c586f333522262e35272c1f272c1f272c1f24261c24261c272c1f +272c1f342d1f24261c24261c24261c24261c24261c272c1f272c1f272c1f272c1f +1e241b272c1f272c1f272c1f24261c272c1f272c1f2b3322342d1f3d4f56394446 +2e3c442f3c222a34382b33222b332224261c342d1f272c1f272c1f272c1f272c1f +24261c272c1f272c1f24261c24261c24261c24261c272c1f2b3322342d1f272c1f +24261c272c1f272c1f272c1f24261c262e352b3322272c1f262e35272c1f272c1f +272c1f342d1f24261c24261c1c1e1924261c262e3524261c24261c24261c342d1f +342d1f24261c24261c24261c24261c24261c272c1f272c1f272c1f342d1f272c1f +272c1f383c23333522272c1f272c1f272c1f272c1f2b3322344d1e2f3c222f3c22 +272c1f2b3322272c1f3335222b332230444d2f3c2224261c2b33222b33222e3c44 +2f3c22262e352e3c442a34382f3c222b3322272c1f2b3322333522342d1f333522 +24261c24261c342d1f2b3322333522272c1f272c1f272c1f272c1f342d1f272c1f +272c1f262e35272c1f24261c272c1f342d1f272c1f342d1f24261c342d1f272c1f +24261c272c1f24261c272c1f272c1f24261c272c1f24261c272c1f272c1f272c1f +272c1f272c1f272c1f24261c24261c272c1f24261c272c1f272c1f272c1f272c1f +3d573b4a6a8d627d996f8fae6f8fae6f8fae6f8fae7197b46f8fae7a91a87d98b1 +6f8fae7d98b17197b47a91a87d98b17d98b17d98b17197b47d98b17d98b17d98b1 +7d98b1587ca06886a66f8fae597c75556c84475832394446333642333522272c1f +272c1f262e35272c1f342d1f24261c262e35373e433f4e32333642344d59496065 +3043212a3438262e352e3c44304321344d592e3c443c50724a6a8d627d997a91a8 +7197b47d98b17197b47d98b17197b46f8fae7197b47a91a87a91a87a91a87197b4 +7d98b17197b47d98b17197b47d98b17197b46886a6354c312e3c44354c31354c31 +3944462b3322262e35342d1f24261c272c1f333522272c1f342d1f24261c262e35 +24261c24261c24261c272c1f2b3322262e35272c1f272c1f24261c2b3322272c1f +2b3322272c1f272c1f272c1f272c1f3335222f3c22272c1f24261c272c1f2e3c44 +2b33222f3c222f3c223d573b496065373e4339444639444630444d3d4f56465864 +4561853d4f563944462a34383d4f56344d5939444654605f2e3c44456185626e8c +3c586f556c844561853c50724658643c50723944463336423d4f5639444630444d +4658643d4f56394446373e433944464658643c50724658642a343830444d30444d +3c507254605f4a6a8d627d995f61564561853c5072626e8c607590456185607590 +3d4f56465864627d9954605f3c507230444d6075904b68653c586f4960656886a6 +556c8445618560759045618554605f6886a675889b75889b6f8fae6886a6626e8c +556c844561854561856075904658643d4f56344d592e3c443335223944462b3322 +2a34382f3c22262e35272c1f2b3322272c1f262e3524261c333642333522394446 +3944464e50432f3c222e3c443d573b2e3c44272c1f1e241b2b33221e241b262e35 +272c1f272c1f2f3c222b33222b33222b3322262e352b33222e3c441e241b272c1f +2b33222b3322333522272c1f272c1f33352224261c24261c272c1f272c1f272c1f +342d1f272c1f272c1f272c1f2b3322272c1f272c1f24261c24261c24261c272c1f +1e241b24261c272c1f24261c24261c272c1f272c1f1e241b24261c1e241b24261c +24261c272c1f272c1f2f3c22272c1f272c1f272c1f24261c262e35272c1f2b3322 +2b33222e3c44354c312e3c442b332230444d354c31333642272c1f24261c333522 +262e35272c1f24261c272c1f24261c272c1f272c1f24261c272c1f2b3322272c1f +24261c272c1f24261c272c1f272c1f262e35272c1f272c1f272c1f2a34382f3c22 +2a3438272c1f2e3c44262e352b3322272c1f333642272c1f272c1f272c1f272c1f +342d1f272c1f272c1f24261c272c1f272c1f272c1f272c1f272c1f2b3322272c1f +24261c272c1f272c1f2b332224261c272c1f342d1f2b3322272c1f272c1f272c1f +272c1f272c1f24261c24261c24261c24261c24261c272c1f272c1f342d1f262e35 +44362324261c24261c342d1f24261c24261c342d1f24261c24261c24261c24261c +24261c342d1f272c1f272c1f272c1f24261c272c1f272c1f2f3c223335222b3322 +2b33222f3c222b3322272c1f2a34382b33222e3c442b33222b3322272c1f2f3c22 +2f3c22262e352b3322262e353043212e3c4424261c272c1f2b3322272c1f272c1f +272c1f272c1f2b33222b3322272c1f272c1f272c1f272c1f24261c272c1f272c1f +272c1f272c1f272c1f24261c272c1f24261c272c1f262e3524261c24261c24261c +272c1f272c1f24261c342d1f272c1f24261c272c1f24261c24261c24261c24261c +24261c272c1f342d1f24261c24261c24261c272c1f24261c272c1f272c1f272c1f +465864496065587ca06886a66886a66886a66f8fae6f8fae7a91a87a91a87a91a8 +7197b46f8fae7d98b17197b46f8fae6f8fae7a91a87d98b17a91a87197b47d98b1 +7197b47a91a87197b47d98b1597c7554605f394446383c23333642262e35342d1f +24261c342d1f272c1f262e35272c1f272c1f2b3322354c312f3c222e3c443d4f56 +354c31383c23272c1f2e3c442e3c443d4f5630444d344d594561856886a66f8fae +7197b46f8fae6f8fae6f8fae6f8fae7197b47197b46f8fae6f8fae7197b47a91a8 +7a91a87197b47197b47a91a87197b47197b45d83a4373e432b332230444d2e3c44 +2e3c44272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f262e3524261c +262e3524261c24261c272c1f272c1f2b33222b332224261c272c1f272c1f272c1f +24261c342d1f272c1f272c1f272c1f3043213d4f562a3438272c1f272c1f2f3c22 +2b33222f3c222a3438344d59354c312a3438262e35354c312a3438344e6f576a62 +3c50722e3c44394446262e354658643944463c50723d4f56333642344e6f556c84 +344d59556c843c5072465864465864394446333642333642262e353d4f56333642 +3d4f563944462a3438262e354e50433c507230444d465864262e353944463c586f +3944463c5072456185556c84465864344d59394446456185626e8c456185556c84 +30444d465864626e8c3d4f5630444d3c5072626e8c3c50723d5f7a3c586f6886a6 +46586454605f456185556c84607590627d9975889b6886a6627d996886a6456185 +3c50724658644a6a8d627d99354c31394446373e432b33222a34382f3c22262e35 +2f3c22262e351e241b262e35272c1f272c1f2b3322272c1f2a34382a343830444d +3f4e32373e432a34382f3c222e3c442b3322272c1f272c1f24261c1e241b272c1f +2b3322262e353a4423272c1f262e352b3322272c1f2b33221e241b272c1f24261c +272c1f2b3322272c1f1e241b272c1f2b332224261c272c1f272c1f272c1f1e241b +272c1f272c1f24261c342d1f342d1f24261c24261c24261c24261c1e241b1e241b +272c1f1e241b24261c24261c1e241b272c1f1e241b1e241b1e241b272c1f272c1f +1e241b24261c24261c2e3c44272c1f24261c24261c1e241b272c1f1e241b2b3322 +262e35272c1f2e3c44262e35272c1f30444d2e3c442b3322342d1f262e35272c1f +2b3322272c1f24261c1e241b24261c24261c24261c2b3322272c1f24261c272c1f +272c1f272c1f33352224261c272c1f1e241b24261c272c1f272c1f272c1f262e35 +272c1f2b332230432130444d373e43272c1f2f3c22272c1f24261c272c1f272c1f +272c1f342d1f272c1f24261c24261c24261c24261c272c1f2b3322272c1f272c1f +272c1f272c1f272c1f272c1f2b3322272c1f272c1f272c1f272c1f272c1f262e35 +342d1f24261c272c1f24261c24261c24261c24261c24261c24261c342d1f333642 +33364224261c272c1f342d1f24261c272c1f272c1f272c1f272c1f24261c24261c +24261c272c1f272c1f272c1f2b33221e241b272c1f272c1f272c1f272c1f342d1f +333522272c1f272c1f272c1f3335222b33222b33222e3c442b3322262e352b3322 +2f3c22272c1f272c1f262e35272c1f2b3322262e352b3322272c1f2b33222f3c22 +2b3322272c1f272c1f272c1f272c1f272c1f272c1f272c1f262e3524261c272c1f +24261c262e35272c1f272c1f24261c272c1f24261c24261c262e35272c1f272c1f +272c1f272c1f272c1f272c1f24261c24261c24261c24261c24261c272c1f24261c +272c1f24261c272c1f342d1f272c1f342d1f24261c272c1f24261c272c1f272c1f +4658644b68656886a66f8fae6f8fae6f8fae6f8fae6f8fae7197b47a91a86f8fae +7d98b16f8fae6f8fae7197b46f8fae6f8fae6f8fae7a91a86f8fae7197b46f8fae +7d98b17a91a87197b45d83a43c586f354c313944462f3c222b33222b3322262e35 +272c1f262e35342d1f333642262e35342d1f2e3c443d4f5630444d3d4f56465864 +2e3c443335223335222a34382f3c223c5072344d593c586f3c586f627d9975889b +7197b47197b47197b46f8fae6f8fae6f8fae6f8fae6f8fae6f8fae6f8fae6f8fae +6f8fae75889b7a91a86f8fae6f8fae6f8fae597c75344d592e3c444b68653d4f56 +304321272c1f272c1f24261c272c1f24261c342d1f272c1f272c1f272c1f24261c +24261c1e241b1e241b272c1f24261c272c1f272c1f24261c24261c272c1f272c1f +272c1f272c1f2b3322272c1f272c1f2f3c223f4e322b332224261c272c1f262e35 +2e3c44354c3130444d4b68654960652a3438262e3530444d2a34383d573b496065 +30444d373e433944462b332230444d2e3c44465864373e432a3438344d59607590 +2e3c444a6a8d30444d54605f3d4f56373e432a343824261c262e353d4f562a3438 +3d4f56373e43262e352a3438344d5930444d30444d496065262e35394446344d59 +39444630444d45618546586449606530444d3336424658646886a6456185577376 +30444d344d5954605f2e3c44344d593d4f5654605f3d4f5649606530444d496065 +344e6f3c5072394446627d99627d996075906886a6627d99627d99607590456185 +4b68653c507254605f626e8c344d592e3c44354c312a34382a34382e3c44272c1f +2b3322262e35272c1f272c1f1e241b262e351e241b272c1f2b33222e3c44373e43 +3d4f563043212b3322272c1f272c1f272c1f272c1f1e241b272c1f1e241b1e241b +272c1f272c1f3a4423272c1f272c1f262e35272c1f272c1f1e241b272c1f1e241b +272c1f2b3322272c1f24261c24261c272c1f1e241b1e241b272c1f272c1f272c1f +272c1f272c1f24261c272c1f272c1f272c1f24261c24261c342d1f1e241b1e241b +1e241b2b3322272c1f24261c1e241b24261c24261c1e241b1e241b272c1f24261c +1e241b1e241b272c1f2b3322272c1f24261c272c1f1e241b272c1f1e241b2b3322 +262e351e241b2f3c22262e35272c1f30444d354c312a343824261c262e35272c1f +272c1f24261c24261c1e241b24261c272c1f272c1f33352224261c272c1f24261c +24261c1e241b342d1f24261c24261c272c1f24261c24261c262e35342d1f24261c +1e241b262e352f3c223043212e3c44272c1f2b3322272c1f24261c272c1f24261c +272c1f2b3322272c1f24261c272c1f24261c272c1f24261c272c1f24261c272c1f +24261c24261c272c1f24261c2b3322272c1f272c1f272c1f272c1f272c1f272c1f +2a343824261c262e3524261c24261c24261c24261c24261c272c1f262e35272c1f +24261c272c1f24261c272c1f272c1f342d1f272c1f24261c272c1f24261c24261c +24261c24261c272c1f24261c272c1f24261c24261c24261c272c1f2b3322272c1f +272c1f2b3322272c1f2b33222b33222b3322272c1f2b33222f3c22272c1f272c1f +2a34382b33222b3322272c1f272c1f272c1f2b3322262e35272c1f2b33222b3322 +2b3322272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c24261c272c1f +24261c262e3524261c272c1f24261c24261c262e3524261c24261c24261c272c1f +24261c272c1f1e241b272c1f24261c272c1f24261c24261c24261c24261c24261c +342d1f24261c24261c24261c272c1f24261c272c1f272c1f272c1f342d1f272c1f +4b6865556c846886a67197b46f8fae6886a67a91a86f8fae6f8fae6f8fae6f8fae +6886a66f8fae6f8fae6f8fae6f8fae6f8fae6f8fae6f8fae7197b46f8fae6f8fae +6f8fae6f8fae6f8fae5773765773764658643a4423373e43262e35342d1f262e35 +24261c272c1f262e35272c1f2a3438262e3530444d4960652e3c443c5072577376 +354c312e3c443335223944463336423c50724b68654a6a8d556c84587ca06f8fae +6f8fae7197b46f8fae6f8fae6f8fae6f8fae6f8fae6f8fae627d996f8fae7197b4 +6f8fae6f8fae6f8fae6f8fae7197b46f8fae5d83a4354c313d5f7a6886a6496065 +2e3c44262e3524261c342d1f24261c272c1f2b3322272c1f272c1f272c1f24261c +24261c1e241b1c1e191e241b272c1f342d1f24261c24261c272c1f272c1f272c1f +24261c272c1f272c1f2f3c222b3322262e353043212b3322262e35272c1f333522 +30444d4960653c586f577376344d592f3c222a343830444d2e3c44344d592e3c44 +2a34383335222e3c442a343830444d3944462a34383944462a3438465864556c84 +3944463c5072344e6f4658642e3c442a3438262e351e241b2a34383c586f30444d +30444d3d4f561e241b2e3c444960653c50723336423d4f561e241b333642344d59 +262e35373e434658642e3c443d4f562e3c443944464960656886a6465864556c84 +344d5930444d344d592a34383d4f563d4f56344e6f30444d3c50724658643c5072 +3944463336423944464a6a8d6886a653749975889b6075904a6a8d627d99556c84 +556c843d4f563c586f5374993d4f562e3c44354c312f3c22272c1f262e35272c1f +1e241b272c1f2b3322272c1f24261c1e241b272c1f2b3322272c1f2b33222e3c44 +344d592f3c222a3438272c1f272c1f272c1f1e241b272c1f1e241b1e241b272c1f +272c1f24261c272c1f1e241b2b33222b3322272c1f272c1f24261c24261c24261c +272c1f24261c24261c24261c24261c272c1f24261c24261c24261c272c1f272c1f +272c1f272c1f24261c342d1f272c1f24261c342d1f272c1f24261c24261c1e241b +272c1f24261c1e241b24261c24261c24261c272c1f1c1e191e241b24261c1e241b +1e241b1e241b1e241b272c1f24261c1e241b1e241b272c1f1e241b272c1f1e241b +272c1f262e352a3438272c1f24261c2a34382e3c44272c1f272c1f24261c24261c +1e241b272c1f24261c24261c272c1f24261c342d1f262e35272c1f24261c1e241b +272c1f272c1f272c1f24261c24261c1e241b262e35272c1f272c1f272c1f272c1f +1e241b272c1f272c1f272c1f272c1f262e35272c1f24261c272c1f24261c272c1f +272c1f33352224261c272c1f1e241b24261c1e241b272c1f24261c272c1f24261c +272c1f272c1f272c1f2b3322272c1f272c1f24261c272c1f24261c272c1f342d1f +342d1f24261c24261c342d1f24261c24261c24261c24261c24261c272c1f24261c +272c1f272c1f342d1f272c1f272c1f272c1f272c1f342d1f272c1f24261c24261c +24261c24261c24261c2b3322272c1f272c1f24261c272c1f272c1f272c1f272c1f +272c1f272c1f2b33222b3322262e352b3322272c1f272c1f2b3322272c1f272c1f +272c1f272c1f2b33222b33221e241b1e241b272c1f2b33222b3322272c1f2b3322 +272c1f272c1f272c1f272c1f24261c33352224261c24261c272c1f272c1f24261c +272c1f24261c24261c24261c272c1f272c1f272c1f262e3524261c24261c272c1f +272c1f24261c272c1f272c1f24261c342d1f24261c24261c342d1f272c1f272c1f +1e241b272c1f272c1f342d1f272c1f272c1f24261c272c1f272c1f272c1f2b3322 +5374995374995d83a47197b47a91a86f8fae6f8fae6f8fae6f8fae6f8fae6886a6 +6f8fae6f8fae6f8fae6f8fae75889b6f8fae7a91a86f8fae6f8fae6f8fae6f8fae +7197b47a91a87a91a86f8fae49606530444d2e3c443a44232a34382b3322262e35 +342d1f262e35272c1f2e3c443043212b332230444d41678a5773763d5f7a537499 +4b68653043212a3438394446383c23465864537499587ca05374995d83a46f8fae +6886a66f8fae6f8fae6f8fae6f8fae6f8fae6f8fae6f8fae587ca06f8fae6f8fae +6f8fae7197b46f8fae6f8fae7a91a86886a65773763c5072577376587ca03d4f56 +2b33222b332224261c272c1f24261c24261c342d1f24261c24261c342d1f262e35 +24261c24261c1e241b1e241b272c1f342d1f272c1f24261c333522272c1f272c1f +272c1f272c1f272c1f2b33222b3322272c1f2f3c22272c1f2b3322272c1f2b3322 +2f3c2230444d4960654960652e3c442f3c221e241b2f3c222e3c44344d592b3322 +24261c3336422b33222e3c4430444d3944462a34382a34382e3c44556c84465864 +3944464960653d4f563944462a3438262e35262e351e241b2e3c442e3c442e3c44 +262e352e3c44272c1f2a3438344d59373e4330444d2e3c44272c1f272c1f30444d +272c1f2a34383944462e3c442e3c442e3c4430444d3c5072626e8c2e3c44496065 +2a34383d4f56373e4330444d30444d3d4f562e3c4446586430444d4658643c5072 +373e43373e433c50724561856886a65374996886a6627d99456185627d99556c84 +556c842e3c44465864556c843c586f2e3c442e3c443d4f562b3322262e35272c1f +272c1f272c1f1e241b1e241b272c1f1e241b1e241b272c1f272c1f2b3322394446 +465864354c312b3322272c1f272c1f2b3322272c1f1e241b1e241b272c1f1e241b +272c1f24261c272c1f272c1f1e241b2b3322272c1f272c1f272c1f2b33221e241b +24261c272c1f272c1f24261c272c1f272c1f24261c1e241b24261c272c1f272c1f +272c1f272c1f272c1f272c1f24261c272c1f342d1f24261c272c1f272c1f24261c +272c1f1e241b1e241b1e241b24261c24261c24261c1e241b1e241b24261c24261c +1e241b272c1f24261c1e241b24261c24261c24261c272c1f272c1f272c1f24261c +262e35272c1f262e35262e35272c1f2a343830444d272c1f24261c272c1f24261c +24261c272c1f272c1f24261c24261c24261c272c1f24261c272c1f24261c24261c +24261c24261c2a3438272c1f272c1f24261c1e241b1e241b24261c1e241b262e35 +272c1f1e241b24261c272c1f272c1f24261c272c1f24261c272c1f272c1f24261c +272c1f272c1f272c1f272c1f24261c272c1f272c1f272c1f272c1f272c1f24261c +272c1f272c1f272c1f333522272c1f272c1f24261c342d1f272c1f272c1f272c1f +262e35272c1f272c1f262e35272c1f24261c24261c24261c342d1f272c1f24261c +342d1f2b3322272c1f272c1f2b3322272c1f272c1f333522272c1f24261c24261c +24261c272c1f24261c2b3322272c1f272c1f24261c272c1f272c1f2b332224261c +272c1f2b33222b33222b33222f3c222b3322272c1f262e35333522262e35272c1f +2b3322272c1f2b3322272c1f2b3322272c1f1e241b262e352b3322342d1f2b3322 +272c1f272c1f272c1f272c1f272c1f262e35342d1f24261c272c1f272c1f342d1f +262e3524261c24261c24261c24261c24261c342d1f24261c272c1f24261c272c1f +342d1f272c1f272c1f24261c272c1f24261c342d1f24261c24261c24261c24261c +24261c24261c272c1f272c1f272c1f272c1f24261c342d1f272c1f272c1f272c1f +5374996075906886a66886a66886a66886a66f8fae6886a66886a66f8fae6f8fae +6886a66f8fae6886a66f8fae6f8fae6886a66f8fae6f8fae6f8fae6886a66f8fae +6f8fae6886a66f8fae6b86733d5f7a30444d354c31354c312a3438342d1f24261c +262e35272c1f272c1f394446344d5930444d5773766f8fae5d83a4627d99556c84 +6075903f4e322e3c44344d59373e433d4f56587ca06f8fae5d83a46f8fae6f8fae +6f8fae6f8fae6f8fae6f8fae6886a66886a66f8fae6886a6587ca06f8fae6f8fae +6f8fae6f8fae6f8fae6f8fae6f8fae6886a641678a4a6a8d5d83a449606530444d +272c1f272c1f272c1f272c1f24261c272c1f262e35272c1f2a343833352224261c +272c1f1e241b1e241b1e241b272c1f272c1f24261c272c1f24261c272c1f272c1f +272c1f272c1f272c1f2b3322272c1f2b33223335222a34382b3322272c1f2b3322 +2a34383c586f4b6865354c31262e35262e35272c1f272c1f373e43262e3524261c +272c1f262e35272c1f2b332230432130444d262e35272c1f3336423d4f56373e43 +3d4f56556c8430444d2a34382b33221e241b272c1f1e241b1e241b272c1f262e35 +2b33222e3c4424261c2b332230444d2e3c443d4f562a3438272c1f272c1f2a3438 +272c1f262e352a34382a34382e3c44272c1f2a34383d4f563d4f5630444d394446 +262e353336422e3c442e3c44344d592e3c442e3c44373e433336423d4f5630444d +344d592a343846586446586460759041678a6075906886a64561854b6865456185 +45618530444d4658643c5072344d5930444d354c31354c31272c1f272c1f272c1f +2b33221e241b272c1f272c1f1e241b24261c1e241b2b33222b33222b3322262e35 +465864373e432b3322272c1f272c1f272c1f24261c24261c1e241b1e241b272c1f +1e241b24261c1e241b1e241b272c1f2b3322272c1f272c1f1e241b272c1f272c1f +24261c272c1f24261c24261c272c1f1e241b272c1f24261c272c1f24261c272c1f +272c1f272c1f272c1f24261c24261c24261c24261c272c1f272c1f24261c1e241b +1e241b1e241b1e241b1e241b24261c1c1e1924261c1c1e1924261c24261c1c1e19 +1e241b1e241b24261c24261c24261c24261c1e241b1e241b272c1f1e241b2b3322 +262e35272c1f262e35272c1f1e241b272c1f272c1f1e241b1c1e1924261c272c1f +24261c24261c24261c1e241b24261c1e241b24261c24261c24261c272c1f262e35 +272c1f272c1f272c1f24261c272c1f24261c24261c24261c272c1f272c1f262e35 +272c1f262e3524261c24261c272c1f24261c24261c24261c24261c24261c24261c +272c1f342d1f272c1f272c1f24261c272c1f1e241b272c1f272c1f24261c24261c +1e241b272c1f262e352b3322272c1f24261c2b3322272c1f1e241b272c1f272c1f +272c1f272c1f272c1f262e3524261c24261c272c1f272c1f272c1f24261c272c1f +2b3322272c1f272c1f272c1f272c1f272c1f33352233352224261c24261c24261c +272c1f24261c272c1f272c1f333522272c1f272c1f272c1f24261c272c1f2b3322 +272c1f272c1f272c1f262e352b33222a3438272c1f272c1f2b3322272c1f272c1f +272c1f272c1f2b3322262e352b3322272c1f272c1f272c1f272c1f2b3322262e35 +24261c24261c272c1f272c1f24261c272c1f272c1f24261c262e3524261c272c1f +24261c24261c272c1f272c1f272c1f272c1f24261c24261c24261c24261c262e35 +342d1f272c1f24261c24261c272c1f24261c24261c24261c342d1f24261c272c1f +24261c24261c24261c24261c342d1f24261c272c1f272c1f272c1f272c1f272c1f +6886a65d83a46886a66f8fae5d83a46886a66886a66886a66886a66886a66886a6 +6886a66f8fae6886a66f8fae6f8fae6886a66886a66f8fae6886a66f8fae6886a6 +6f8fae6886a66f8fae5d83a43d5f7a344d593d4f563d573b2a34382a3438272c1f +272c1f262e35272c1f2e3c442f3c222e3c444a6a8d6886a66f8fae5d83a4556c84 +54605f4e4425394446394446373e433d4f566886a66f8fae6f8fae6f8fae5d83a4 +6f8fae6886a66f8fae6886a66f8fae6886a66f8fae6f8fae587ca06886a66f8fae +6f8fae6f8fae6886a66f8fae6f8fae5d83a46886a675889b41678a30444d30444d +2b3322272c1f333522272c1f272c1f272c1f272c1f272c1f333522262e3524261c +24261c24261c24261c1e241b24261c24261c24261c272c1f1e241b272c1f272c1f +272c1f272c1f272c1f2b3322272c1f262e352f3c222b33222f3c22262e352b3322 +2a34383d4f56344d592e3c442b3322272c1f262e35272c1f2b3322272c1f24261c +262e35272c1f262e35272c1f2e3c44373e43272c1f272c1f2a3438373e432a3438 +3d4f563336422a3438262e352b3322262e351e241b1e241b1e241b262e352b3322 +2a3438272c1f1e241b2e3c4430444d2e3c44344d59262e351e241b272c1f394446 +1e241b2e3c442a3438262e352b33221e241b262e35373e43344d593d4f56333642 +272c1f272c1f262e35262e35344d592a343830444d262e352a3438394446333642 +3d4f56373e433944463d4f56556c843d5f7a626e8c6f8fae556c844a6a8d3c5072 +46586430444d3c586f4b68653c5072354c31344d59304321262e35272c1f1e241b +1e241b272c1f1e241b24261c1e241b1e241b272c1f1e241b262e352f3c22272c1f +2e3c44373e43272c1f272c1f272c1f272c1f272c1f1e241b1e241b1e241b272c1f +1e241b24261c24261c24261c1e241b272c1f2b3322272c1f1e241b272c1f1e241b +24261c24261c1e241b1e241b272c1f24261c272c1f24261c272c1f24261c272c1f +272c1f1e241b24261c24261c24261c24261c1e241b272c1f1e241b1e241b1e241b +1e241b1c1e191e241b24261c24261c1c1e191c1e1924261c24261c24261c1c1e19 +1e241b1e241b24261c1e241b24261c24261c1e241b272c1f1e241b272c1f1e241b +272c1f272c1f272c1f1e241b1e241b24261c272c1f272c1f24261c24261c24261c +1e241b24261c24261c24261c1e241b24261c24261c1e241b24261c24261c24261c +272c1f24261c272c1f24261c1e241b272c1f24261c1e241b24261c1e241b262e35 +1e241b262e35262e3524261c24261c272c1f24261c24261c24261c24261c24261c +24261c272c1f24261c342d1f1e241b272c1f272c1f272c1f342d1f24261c272c1f +24261c272c1f272c1f272c1f24261c24261c2b3322272c1f272c1f24261c272c1f +272c1f272c1f272c1f272c1f1e241b1e241b24261c24261c272c1f24261c272c1f +272c1f33352224261c2b3322272c1f272c1f342d1f342d1f24261c24261c24261c +342d1f24261c24261c272c1f33352224261c272c1f272c1f272c1f2b3322272c1f +2b3322272c1f272c1f1e241b2b33222b3322272c1f272c1f2b3322272c1f272c1f +272c1f272c1f2b33221e241b2f3c221e241b1e241b262e35272c1f2b3322272c1f +272c1f272c1f272c1f24261c24261c272c1f24261c272c1f272c1f24261c272c1f +24261c342d1f1e241b272c1f24261c24261c24261c272c1f342d1f24261c262e35 +272c1f272c1f24261c24261c24261c24261c24261c24261c262e35342d1f24261c +24261c272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f272c1f272c1f +5d83a45d83a46f8fae5d83a46886a66f8fae6886a65d83a46886a66886a65d83a4 +6886a65d83a46886a65d83a46886a66886a66886a66886a66886a66886a66886a6 +6f8fae6886a66886a66886a64b68653d5f7a344d59344d592a3438262e35262e35 +272c1f272c1f262e35272c1f2a343830444d3d5f7a587ca06f8fae5d83a44a6a8d +496065394446373e433c586f30444d344e6f6886a66f8fae5d83a46f8fae6f8fae +6886a66f8fae5d83a46f8fae6886a66f8fae6f8fae6886a6587ca06886a66886a6 +6f8fae6886a66886a66f8fae6886a66886a66f8fae6886a64960653c586f354c31 +2b33222e3c44394446333642272c1f272c1f272c1f272c1f262e35272c1f262e35 +24261c24261c1e241b1e241b24261c24261c1e241b1e241b272c1f272c1f2b3322 +2b3322272c1f2b3322272c1f24261c1e241b272c1f2a3438354c31272c1f2a3438 +2f3c223d4f562e3c442b3322262e35272c1f272c1f2b33222a3438272c1f1e241b +24261c24261c24261c262e35262e352a34381e241b262e35344d592a3438262e35 +3d4f562a34382b332230444d2b33221e241b1e241b262e351e241b262e35262e35 +2b3322262e351e241b2a34383d573b2a3438394446272c1f262e351e241b30444d +1e241b272c1f2e3c441e241b1e241b1e241b2e3c442a3438373e4330444d262e35 +272c1f272c1f2a3438272c1f2a3438262e352b3322262e352a3438373e43262e35 +2a34382e3c442e3c44344e6f30444d4a6a8d556c846886a66075903d5f7a496065 +344d593d4f562e3c4449606530444d2a34382a34382a3438272c1f262e35272c1f +1e241b2b33222b33221e241b1e241b1e241b1e241b272c1f1e241b2e3c44272c1f +333522262e35272c1f272c1f24261c24261c24261c24261c1e241b1e241b1e241b +24261c1e241b1e241b272c1f1e241b1e241b2b33222b3322272c1f24261c24261c +24261c24261c272c1f24261c24261c272c1f1e241b24261c1e241b24261c272c1f +24261c24261c24261c1e241b1e241b24261c1e241b24261c24261c24261c1e241b +1e241b1e241b24261c24261c1c1e191c1e191e241b1c1e1924261c24261c1c1e19 +1e241b24261c24261c24261c1e241b1e241b272c1f272c1f1e241b1e241b1e241b +1e241b1e241b1e241b1e241b272c1f24261c24261c24261c24261c24261c1c1e19 +1c1e1924261c24261c24261c24261c24261c24261c24261c24261c24261c24261c +24261c272c1f272c1f1e241b272c1f24261c262e3524261c272c1f1e241b24261c +24261c272c1f272c1f24261c24261c24261c24261c24261c24261c24261c24261c +24261c24261c24261c272c1f24261c1e241b272c1f1e241b272c1f24261c24261c +272c1f272c1f272c1f2a3438272c1f24261c272c1f272c1f1e241b272c1f272c1f +272c1f2b3322272c1f272c1f24261c24261c24261c342d1f272c1f24261c24261c +272c1f272c1f272c1f272c1f272c1f3335222b3322272c1f24261c272c1f272c1f +272c1f272c1f272c1f272c1f24261c272c1f272c1f1e241b272c1f272c1f2b3322 +272c1f272c1f2b3322262e35262e35272c1f272c1f272c1f272c1f272c1f272c1f +1e241b272c1f272c1f272c1f262e35272c1f272c1f1e241b272c1f272c1f272c1f +272c1f24261c24261c272c1f272c1f272c1f24261c24261c262e3524261c24261c +272c1f262e3524261c24261c24261c272c1f24261c24261c24261c272c1f272c1f +24261c24261c24261c272c1f342d1f272c1f24261c24261c24261c24261c24261c +24261c24261c24261c24261c342d1f272c1f272c1f342d1f272c1f272c1f342d1f +5d83a45d83a45d83a45d83a45d83a45d83a46886a65d83a45d83a46886a66f8fae +6886a65d83a45d83a47197b45d83a46f8fae5d83a46886a66886a66886a66886a6 +6886a66f8fae6886a66886a65d83a4496065304321333642272c1f272c1f24261c +262e352b33222a3438262e352e3c443d4f564b68656886a66f8fae6886a6537499 +5773763d4f563944463d5f7a496065344d594a6a8d6f8fae5d83a46f8fae5d83a4 +6f8fae6f8fae6886a66f8fae6886a65d83a46886a66886a6587ca0587ca06886a6 +6f8fae6886a66886a66f8fae6f8fae6886a66f8fae6886a63d5f7a49606530444d +2e3c442f3c222e3c442b3322272c1f262e35272c1f272c1f272c1f272c1f24261c +24261c24261c1c1e1924261c262e3524261c272c1f24261c272c1f2b33222b3322 +272c1f272c1f272c1f262e352b3322272c1f262e352f3c222f3c22262e35272c1f +2e3c442e3c442b3322272c1f272c1f1e241b262e35272c1f2a34382b3322272c1f +272c1f272c1f1e241b272c1f24261c272c1f1e241b272c1f344d59262e35333642 +2a34383336421e241b2e3c44272c1f1e241b1e241b272c1f1e241b262e35272c1f +1e241b272c1f1e241b262e3530444d2e3c443336421e241b272c1f1e241b2a3438 +2b33221e241b262e35272c1f262e35262e352a3438262e352e3c44272c1f272c1f +272c1f2a3438262e351e241b2a3438262e35262e35262e352a3438262e352a3438 +2e3c44272c1f2a3438373e4330444d5374993c586f556c84556c84456185465864 +2e3c442e3c442a34383944462e3c44262e35262e352b3322272c1f2b33221e241b +272c1f262e35272c1f1e241b24261c1e241b1e241b1e241b1e241b272c1f272c1f +272c1f272c1f272c1f272c1f272c1f24261c24261c1e241b1e241b1e241b1e241b +1e241b1e241b272c1f1e241b272c1f272c1f2f3c221e241b1e241b24261c1e241b +24261c1e241b24261c1e241b24261c24261c24261c24261c1e241b1c1e19272c1f +24261c24261c1c1e1924261c1e241b1e241b24261c24261c1e241b1e241b1c1e19 +1e241b1c1e191e241b1e241b24261c1c1e1924261c1c1e191e241b24261c1c1e19 +24261c1e241b24261c1c1e1924261c24261c24261c1e241b1e241b1e241b272c1f +272c1f1e241b1e241b1e241b24261c1e241b24261c272c1f24261c24261c24261c +24261c24261c272c1f24261c1c1e191c1e1924261c24261c1c1e1924261c24261c +24261c24261c272c1f1e241b1e241b24261c24261c272c1f24261c24261c272c1f +272c1f24261c272c1f24261c24261c24261c272c1f24261c272c1f24261c24261c +272c1f272c1f272c1f24261c272c1f24261c272c1f24261c272c1f24261c272c1f +24261c272c1f262e352b3322262e351e241b2b3322272c1f272c1f1e241b272c1f +24261c262e35272c1f272c1f24261c24261c262e35262e3524261c24261c24261c +272c1f2b3322272c1f272c1f272c1f2b3322342d1f272c1f272c1f24261c272c1f +272c1f272c1f24261c24261c272c1f272c1f272c1f272c1f272c1f2b33222b3322 +272c1f272c1f2b33222b3322272c1f1e241b272c1f272c1f262e35272c1f262e35 +24261c272c1f272c1f2b3322272c1f272c1f272c1f272c1f272c1f262e351e241b +272c1f272c1f272c1f24261c24261c272c1f272c1f24261c272c1f24261c272c1f +272c1f24261c24261c262e3524261c24261c24261c342d1f1c1e1924261c24261c +272c1f272c1f24261c272c1f272c1f272c1f24261c24261c272c1f24261c24261c +24261c342d1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f2b3322 +5d83a45d83a45d83a45d83a45d83a45d83a46886a65d83a46886a65d83a45d83a4 +5d83a46f8fae5d83a45d83a45d83a46886a65d83a45d83a46f8fae6886a66f8fae +6f8fae5d83a46f8fae6886a6556c844960652e3c442a34382b33222a3438262e35 +272c1f2a34382b332230444d2f3c2230444d3d5f7a587ca05d83a46886a6537499 +627d99344d5930444d4b6865587ca0344d593d5f7a5d83a46f8fae5d83a45d83a4 +5d83a46f8fae5d83a46886a66886a66886a6587ca06886a65d83a4587ca06886a6 +5d83a46f8fae587ca05d83a45d83a46f8fae6886a66886a6587ca03c586f304321 +30444d344d593d4f56373e43272c1f30444d272c1f262e35272c1f24261c24261c +272c1f24261c1c1e191c1e1924261c24261c272c1f272c1f272c1f2b3322262e35 +2b3322262e35272c1f272c1f272c1f272c1f272c1f272c1f262e35272c1f272c1f +2f3c222a3438272c1f272c1f262e35272c1f2a3438272c1f2b3322262e351e241b +24261c24261c272c1f272c1f262e3524261c272c1f272c1f2e3c44262e352f3c22 +262e35272c1f272c1f1e241b262e351e241b1e241b1e241b1e241b272c1f262e35 +1e241b262e3524261c1e241b2e3c443336422a3438272c1f1e241b272c1f2b3322 +2a34381e241b262e351e241b1e241b1e241b272c1f262e352a3438272c1f1e241b +272c1f262e35262e35262e352a34382a34381e241b262e352e3c442e3c442e3c44 +3d4f56262e352a34382e3c44344e6f556c844a6a8d556c844a6a8d456185344e6f +2e3c442a34382a34382e3c441e241b2b3322272c1f272c1f262e351e241b272c1f +1e241b272c1f262e35272c1f1e241b1e241b1e241b1e241b272c1f272c1f272c1f +1e241b2b3322272c1f272c1f24261c272c1f1e241b1e241b1e241b1e241b24261c +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b24261c24261c1e241b +24261c1e241b24261c24261c272c1f1e241b1c1e1924261c24261c24261c24261c +24261c24261c24261c1c1e1924261c1e241b1e241b1e241b24261c1c1e191c1e19 +1c1e191e241b1c1e1924261c1c1e191c1e191c1e1924261c1e241b1c1e191c1e19 +24261c1c1e191e241b1e241b1e241b1e241b272c1f1e241b24261c1e241b1e241b +1e241b272c1f1e241b24261c24261c1e241b24261c1e241b24261c342d1f1c1e19 +342d1f24261c24261c24261c24261c342d1f24261c24261c262e3524261c272c1f +272c1f272c1f1e241b272c1f272c1f24261c272c1f24261c24261c24261c24261c +272c1f1e241b24261c24261c262e3524261c24261c272c1f342d1f24261c24261c +24261c342d1f272c1f24261c272c1f272c1f272c1f272c1f24261c272c1f262e35 +262e352b33222b33222b3322272c1f272c1f272c1f272c1f272c1f272c1f1e241b +2b3322272c1f333522272c1f272c1f1e241b342d1f272c1f24261c272c1f24261c +272c1f272c1f272c1f2b3322272c1f342d1f272c1f272c1f24261c24261c24261c +24261c24261c272c1f24261c272c1f272c1f2b33222b3322272c1f272c1f2b3322 +2b3322272c1f2b3322272c1f262e35262e351e241b272c1f272c1f262e35272c1f +272c1f272c1f272c1f272c1f272c1f1e241b272c1f1e241b272c1f2b3322262e35 +24261c272c1f272c1f272c1f24261c24261c24261c24261c272c1f262e35272c1f +262e35272c1f272c1f24261c342d1f272c1f342d1f24261c24261c272c1f24261c +24261c24261c24261c24261c24261c342d1f24261c24261c24261c342d1f24261c +24261c24261c24261c24261c342d1f272c1f272c1f272c1f272c1f272c1f272c1f +5d83a45d83a46886a65d83a46886a65d83a45d83a45d83a46f8fae5d83a45d83a4 +5d83a45d83a46f8fae5d83a46886a66886a66f8fae6886a66f8fae6886a66f8fae +6f8fae6886a66886a66f8fae587ca03d4f56304321344d59354c312f3c222a3438 +272c1f272c1f33364230444d344d592f3c224960655d83a46886a65d83a4587ca0 +597c753d4f56344e6f4561855374993d5f7a3c586f5d83a46886a66886a66f8fae +5d83a46f8fae5d83a46f8fae5d83a45d83a45d83a46886a65d83a4587ca06886a6 +6886a65d83a4587ca06f8fae5d83a45d83a45d83a46886a6587ca0344d592e3c44 +3c586f3d5f7a344d592f3c22272c1f2e3c441e241b272c1f272c1f24261c24261c +24261c24261c24261c1e241b1e241b24261c272c1f272c1f272c1f272c1f272c1f +262e352b33222b3322272c1f262e35272c1f2a34382a3438272c1f1e241b272c1f +262e352b3322262e351e241b2b33221e241b262e35272c1f272c1f342d1f272c1f +272c1f24261c2a3438262e352e3c4424261c262e35272c1f2b33222a34382e3c44 +1e241b272c1f1e241b1e241b262e35272c1f272c1f1e241b1c1e191e241b262e35 +1e241b1e241b1e241b24261c262e352b33221e241b1e241b1e241b262e35272c1f +272c1f272c1f1e241b272c1f1e241b272c1f1e241b1e241b333642272c1f1e241b +262e35272c1f272c1f1e241b262e35262e35272c1f1e241b2e3c442a3438262e35 +2a34381e241b2a34383c586f3c586f3c5072456185556c844561854658642e3c44 +30444d30444d272c1f2f3c22272c1f1e241b262e35272c1f272c1f1e241b272c1f +1e241b272c1f272c1f1e241b272c1f1e241b1e241b1e241b1e241b2a34382b3322 +1e241b272c1f1e241b272c1f1e241b272c1f1e241b24261c24261c24261c24261c +1e241b1e241b24261c1e241b262e351e241b262e35272c1f1e241b1e241b24261c +1e241b272c1f1e241b1e241b1e241b24261c1e241b1e241b24261c24261c24261c +24261c272c1f24261c24261c1e241b1e241b1c1e1924261c24261c1e241b1c1e19 +1e241b1e241b1e241b1e241b24261c1c1e191c1e191c1e191c1e1924261c1c1e19 +1e241b24261c1e241b1e241b1c1e19262e3524261c1e241b24261c1e241b24261c +1e241b1e241b1e241b24261c24261c1e241b262e35262e351e241b262e352a3438 +2b3322272c1f24261c24261c24261c24261c24261c24261c24261c24261c262e35 +24261c272c1f272c1f1e241b1e241b24261c272c1f1e241b24261c24261c24261c +272c1f1e241b24261c272c1f272c1f272c1f24261c262e35262e35262e35272c1f +24261c262e35272c1f272c1f262e35272c1f1e241b1e241b1e241b272c1f272c1f +262e35272c1f2a34382b3322272c1f272c1f272c1f272c1f2b3322272c1f272c1f +272c1f272c1f262e35272c1f272c1f272c1f272c1f272c1f272c1f1e241b24261c +272c1f272c1f272c1f272c1f272c1f272c1f342d1f272c1f24261c272c1f272c1f +272c1f24261c24261c272c1f272c1f272c1f2b33222f3c222f3c222b3322262e35 +2b3322272c1f2b33222b33222b3322262e35272c1f272c1f272c1f2b332224261c +2b3322272c1f1e241b272c1f1e241b272c1f272c1f272c1f24261c2b332224261c +24261c24261c24261c272c1f24261c272c1f262e3524261c342d1f262e35272c1f +272c1f272c1f24261c24261c24261c24261c24261c262e35342d1f24261c342d1f +24261c272c1f24261c342d1f272c1f24261c24261c24261c24261c24261c24261c +24261c24261c24261c272c1f272c1f24261c342d1f272c1f272c1f272c1f24261c +6886a65d83a46f8fae587ca0587ca06f8fae5d83a45d83a45d83a46886a65d83a4 +6f8fae5d83a45d83a46f8fae6f8fae6886a66f8fae6886a66886a66886a66f8fae +6886a66886a66886a66886a6587ca04b6865354c313d573b3d4f5630444d2b3322 +272c1f2b33222f3c22344d593c586f2e3c443c586f5d83a46f8fae5d83a45d83a4 +5d83a44b6865344d5941678a556c84587ca03c586f6886a65d83a46886a65d83a4 +5d83a45d83a46886a65d83a46886a6587ca0587ca05d83a46886a65374995d83a4 +6886a65d83a45d83a46886a66886a6587ca0627d996886a66886a6344d593d573b +41678a5374994b68652a34382b33222b3322272c1f2b3322272c1f262e3524261c +24261c24261c24261c272c1f24261c1e241b272c1f272c1f1e241b262e35304321 +2b3322262e352b33221e241b2b3322262e352f3c222b33222b3322272c1f2b3322 +262e352b3322262e351e241b272c1f2b33221e241b272c1f272c1f24261c262e35 +1e241b272c1f272c1f2b3322272c1f24261c2a34381e241b272c1f272c1f262e35 +1e241b262e351e241b1e241b272c1f1e241b1c1e19262e351e241b1e241b272c1f +1e241b262e35262e351c1e19272c1f262e3524261c272c1f1e241b1e241b1e241b +262e351e241b1e241b1e241b1e241b1e241b2a34381e241b262e352a34381e241b +262e351e241b1e241b1e241b262e35262e35262e351e241b2a34382a34382a3438 +1e241b262e352e3c4430444d30444d344e6f3c50724658643c586f30444d2a3438 +30444d344d591e241b2f3c22262e35272c1f1e241b1e241b1e241b272c1f1e241b +1e241b272c1f1e241b1e241b24261c1e241b1e241b1e241b272c1f2b33222b3322 +1e241b1e241b1e241b24261c24261c1e241b1e241b1e241b24261c1e241b24261c +1c1e191e241b1e241b272c1f272c1f1e241b272c1f1e241b1e241b24261c1e241b +1e241b1e241b1e241b1e241b24261c1e241b1e241b24261c1e241b24261c1e241b +1e241b24261c24261c1e241b24261c1c1e191e241b1e241b1e241b1c1e191e241b +1c1e191e241b1e241b24261c1c1e191c1e191c1e191e241b24261c1c1e191c1e19 +24261c1e241b24261c24261c24261c33352224261c24261c1c1e1924261c24261c +272c1f272c1f1e241b1c1e1924261c24261c2a3438272c1f272c1f1e241b262e35 +262e3524261c24261c24261c24261c342d1f272c1f24261c24261c24261c24261c +272c1f272c1f1e241b272c1f272c1f1e241b262e3524261c24261c24261c24261c +1e241b272c1f1e241b24261c2b3322262e35272c1f272c1f2b3322262e35272c1f +24261c272c1f272c1f272c1f272c1f272c1f262e351e241b24261c272c1f272c1f +1e241b262e352b3322272c1f2b3322272c1f272c1f272c1f272c1f262e351e241b +272c1f24261c2b3322272c1f272c1f272c1f24261c24261c24261c24261c24261c +24261c272c1f272c1f2b33222b33222b3322272c1f24261c24261c272c1f272c1f +342d1f272c1f24261c24261c272c1f272c1f2f3c222f3c222b33222b33222b3322 +2b33222b3322272c1f2b33221e241b2b3322262e35272c1f262e352b33221e241b +272c1f1e241b272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f24261c +272c1f24261c272c1f24261c272c1f24261c24261c262e35272c1f2b3322272c1f +24261c24261c272c1f24261c24261c24261c24261c24261c24261c272c1f272c1f +24261c24261c262e35272c1f24261c342d1f24261c24261c24261c24261c24261c +24261c24261c342d1f24261c272c1f272c1f24261c272c1f272c1f272c1f272c1f +587ca05d83a45d83a46886a6587ca05d83a45d83a45d83a45d83a45d83a46886a6 +5d83a46886a65d83a45d83a46886a66f8fae6886a66886a66886a66f8fae6886a6 +6886a66f8fae6886a66886a6627d994b6865344d59344d593d573b30444d272c1f +262e352e3c442e3c44354c3141678a3d5f7a587ca05d83a46886a65d83a4587ca0 +456185344d5930444d344d593c586f5374995d83a45d83a46f8fae6886a65d83a4 +5d83a46886a6587ca05d83a4537499537499587ca05d83a45d83a4537499587ca0 +6886a65374996886a66886a6627d995374994a6a8d6886a6597c7530444d3d5f7a +4a6a8d4b68653c586f2a34382f3c222a34381e241b272c1f272c1f272c1f272c1f +24261c24261c24261c1e241b24261c262e35272c1f272c1f2a3438272c1f2b3322 +2f3c222b33222b3322272c1f262e352b3322262e35272c1f262e35272c1f272c1f +2b3322272c1f2b33221e241b272c1f272c1f1e241b262e352b33222b3322262e35 +272c1f1e241b272c1f1e241b1e241b24261c262e35272c1f1e241b2e3c44262e35 +1e241b272c1f1e241b1e241b1e241b272c1f1e241b272c1f1e241b1e241b262e35 +1e241b1e241b1e241b1e241b262e351e241b1e241b262e351e241b1e241b1e241b +272c1f2b33221e241b272c1f1e241b1e241b272c1f1e241b1e241b272c1f272c1f +272c1f1e241b1e241b1e241b1e241b272c1f262e35272c1f2a3438262e35262e35 +1e241b2e3c4430444d2e3c4430444d344d5930444d3944463944462e3c4430444d +30444d30444d1e241b262e35272c1f1e241b272c1f272c1f1e241b272c1f1e241b +1e241b1e241b262e351e241b24261c1e241b1c1e191e241b1e241b2a3438262e35 +24261c272c1f24261c1e241b1e241b272c1f1e241b1e241b1e241b24261c1e241b +24261c1e241b1e241b272c1f262e351e241b1e241b1e241b1e241b1e241b1e241b +272c1f24261c1e241b1e241b24261c24261c24261c24261c24261c1e241b24261c +24261c1e241b24261c24261c1e241b24261c1c1e1924261c1e241b1c1e191e241b +1c1e191e241b1e241b1e241b1c1e191c1e1924261c24261c1e241b1c1e191c1e19 +24261c24261c1e241b1e241b24261c262e351e241b1e241b1e241b1e241b24261c +1e241b272c1f262e3524261c24261c1e241b373e431e241b272c1f262e3524261c +24261c24261c272c1f24261c24261c24261c24261c24261c24261c272c1f24261c +1e241b272c1f272c1f1e241b272c1f272c1f272c1f24261c272c1f262e35272c1f +1e241b272c1f272c1f1e241b272c1f272c1f272c1f272c1f2b3322272c1f262e35 +272c1f24261c262e35272c1f272c1f272c1f1e241b1e241b272c1f272c1f272c1f +1e241b272c1f262e351e241b2b3322272c1f1e241b262e351e241b2b3322262e35 +272c1f272c1f262e35272c1f272c1f272c1f1e241b272c1f272c1f24261c24261c +1e241b272c1f272c1f2b3322272c1f333522272c1f272c1f272c1f272c1f272c1f +272c1f272c1f272c1f272c1f342d1f272c1f2b33222f3c222b3322262e35272c1f +2b33222b3322262e352b3322262e35262e352b33221e241b2b33221e241b2b3322 +272c1f272c1f272c1f272c1f1e241b1e241b24261c272c1f24261c272c1f272c1f +24261c24261c272c1f24261c24261c272c1f272c1f24261c272c1f24261c272c1f +24261c24261c342d1f262e3524261c24261c342d1f272c1f24261c24261c342d1f +24261c24261c24261c342d1f272c1f24261c24261c24261c24261c342d1f272c1f +342d1f24261c272c1f342d1f342d1f272c1f24261c272c1f272c1f272c1f272c1f +6886a6587ca05d83a4587ca05d83a45d83a4627d995d83a45d83a45d83a45d83a4 +5d83a46886a66886a65d83a46886a66886a66886a66886a66886a6627d99627d99 +6886a65d83a46886a66886a6627d995d83a44a6a8d41678a4960653d4f5630444d +2b3322344d5941678a4b68655d83a45d83a45d83a46886a65d83a46886a65d83a4 +587ca03d5f7a3c50723d4f563d5f7a587ca05d83a45d83a4587ca06886a65d83a4 +5d83a45d83a45d83a45d83a4537499587ca0587ca05d83a4587ca04a6a8d6886a6 +6886a6587ca06886a65d83a4537499587ca04a6a8d6886a64a6a8d344e6f556c84 +5374993d5f7a3043212a34382a34382b3322272c1f272c1f262e35262e35272c1f +262e3524261c272c1f1e241b272c1f342d1f272c1f2b33222b33221e241b2b3322 +2e3c442b33221e241b272c1f2b33221e241b2b33221e241b272c1f262e351e241b +262e352b3322262e351e241b24261c272c1f1e241b1e241b272c1f3944461e241b +2b3322262e35272c1f262e35272c1f24261c272c1f1e241b1e241b262e351e241b +1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1e241b2a34381e241b1e241b272c1f24261c272c1f1e241b1e241b272c1f1e241b +1e241b272c1f1e241b1e241b1e241b1e241b262e351e241b1e241b262e351e241b +272c1f272c1f1e241b1e241b1e241b1e241b1e241b262e35272c1f1e241b1e241b +1e241b2a34382e3c442e3c443c50722e3c443c50723944463944462a3438344e6f +30444d30444d1e241b272c1f272c1f1e241b1e241b1e241b1e241b2b33221e241b +1e241b1e241b272c1f1e241b1e241b24261c1e241b1c1e19272c1f3335222b3322 +24261c1e241b1e241b24261c1e241b1e241b24261c1c1e191e241b1e241b1e241b +1e241b1c1e191e241b1e241b272c1f1e241b1e241b272c1f272c1f1e241b1e241b +24261c1e241b1e241b272c1f24261c1e241b24261c24261c24261c24261c24261c +1e241b24261c1c1e191e241b1e241b24261c1c1e191c1e1924261c1c1e191c1e19 +1c1e191e241b1c1e191c1e1924261c1c1e191c1e1924261c1e241b24261c1c1e19 +1c1e191e241b24261c1e241b1e241b1e241b24261c24261c1e241b1c1e19272c1f +1e241b1e241b272c1f272c1f1e241b24261c262e351e241b24261c24261c24261c +24261c272c1f262e3524261c24261c272c1f262e3524261c24261c24261c24261c +262e35272c1f1e241b1e241b1e241b272c1f1e241b1e241b24261c24261c262e35 +1e241b1e241b1e241b1e241b262e35272c1f2f3c22272c1f272c1f272c1f262e35 +272c1f1e241b2b3322262e35272c1f272c1f24261c272c1f262e3524261c262e35 +2b33222b3322262e35272c1f2b33222b3322262e352b3322262e35272c1f272c1f +272c1f272c1f272c1f272c1f24261c24261c24261c2b332224261c24261c24261c +24261c272c1f272c1f2b3322272c1f272c1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f272c1f24261c2f3c221e241b272c1f2b33222b33222f3c222b3322 +272c1f2f3c222b3322272c1f272c1f262e35272c1f272c1f272c1f272c1f1e241b +272c1f24261c1e241b24261c24261c272c1f272c1f272c1f24261c24261c1e241b +272c1f24261c24261c24261c272c1f24261c24261c24261c272c1f262e35262e35 +272c1f24261c24261c24261c24261c24261c24261c342d1f24261c24261c24261c +24261c24261c24261c24261c342d1f24261c272c1f342d1f24261c272c1f24261c +24261c24261c24261c24261c272c1f272c1f272c1f342d1f272c1f272c1f272c1f +587ca0627d996886a65d83a4587ca06886a6587ca06886a6627d996886a6627d99 +6886a66886a65d83a45d83a45d83a46886a66886a6627d996886a6627d99627d99 +627d995d83a4587ca0587ca0627d996886a65d83a45d83a44b6865344d59354c31 +2e3c4430444d354c31344e6f5374995374995374995d83a45d83a45d83a45d83a4 +587ca0597c753d5f7a3c586f41678a5d83a45d83a45d83a45d83a45d83a4587ca0 +627d995d83a4607590587ca0537499537499537499587ca05374994a6a8d587ca0 +627d995d83a46886a66886a65374996886a64a6a8d556c8441678a344d59537499 +556c84344d592e3c442a3438262e35262e35272c1f272c1f272c1f342d1f24261c +1e241b272c1f1e241b272c1f24261c2b3322272c1f272c1f272c1f262e35262e35 +2f3c222b33221e241b262e35272c1f272c1f272c1f1e241b272c1f272c1f1e241b +272c1f2b3322272c1f24261c24261c272c1f272c1f1e241b272c1f272c1f1e241b +272c1f1e241b24261c24261c1e241b24261c24261c1e241b1e241b272c1f272c1f +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f1e241b +1e241b262e351e241b1e241b1e241b272c1f24261c24261c1e241b1e241b1e241b +1e241b272c1f1e241b1e241b1c1e191c1e191e241b1e241b272c1f1e241b1e241b +1e241b272c1f1e241b1e241b1e241b272c1f1e241b262e351e241b1e241b262e35 +1e241b30444d2a3438262e353c50722e3c44344e6f2e3c44262e353336422a3438 +30444d2e3c44272c1f272c1f262e351e241b272c1f1e241b262e35272c1f1e241b +272c1f1e241b1e241b1e241b1c1e191c1e191e241b1e241b1e241b2a34381e241b +1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b24261c1e241b24261c +1e241b1e241b1e241b1e241b272c1f1e241b1e241b2b33221e241b1e241b1e241b +1e241b1e241b1e241b24261c24261c1e241b24261c1e241b1e241b24261c24261c +1e241b24261c1c1e191c1e191c1e1924261c1e241b1e241b24261c1c1e191c1e19 +1c1e191e241b1e241b1e241b24261c1c1e1924261c1c1e191e241b1e241b24261c +24261c1c1e1924261c1e241b24261c1e241b1e241b1c1e191e241b1e241b1e241b +272c1f1e241b1e241b1e241b1e241b1e241b272c1f24261c24261c24261c24261c +24261c24261c24261c24261c262e3524261c24261c24261c24261c24261c24261c +272c1f272c1f1e241b1e241b1e241b1e241b24261c1e241b24261c272c1f272c1f +272c1f262e351e241b1e241b1e241b272c1f2a34382b33221e241b272c1f272c1f +272c1f272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f272c1f272c1f +272c1f2b33221e241b2b3322272c1f272c1f272c1f272c1f272c1f262e35272c1f +1e241b272c1f272c1f1e241b272c1f2b332224261c272c1f272c1f272c1f24261c +272c1f1e241b272c1f2b3322272c1f272c1f272c1f24261c272c1f272c1f272c1f +24261c272c1f272c1f24261c2f3c22272c1f1e241b2b33222b33222b33222b3322 +262e352b3322272c1f272c1f1e241b262e351e241b272c1f272c1f272c1f272c1f +1e241b272c1f272c1f272c1f1e241b1e241b1e241b272c1f24261c272c1f24261c +272c1f24261c272c1f24261c24261c272c1f24261c24261c272c1f272c1f24261c +24261c24261c24261c24261c342d1f24261c24261c24261c272c1f342d1f24261c +342d1f24261c24261c24261c24261c24261c24261c342d1f24261c272c1f342d1f +272c1f24261c272c1f24261c342d1f272c1f24261c342d1f272c1f272c1f272c1f +5d83a45d83a4587ca0587ca05d83a46886a6587ca0587ca05d83a4587ca06886a6 +607590627d995d83a46886a6587ca0627d99587ca06886a6627d99537499537499 +587ca0587ca05d83a45d83a4587ca06886a65d83a45d83a441678a3d5f7a30444d +2e3c442e3c44344d5941678a587ca05d83a4587ca05d83a4587ca05d83a4587ca0 +5d83a45773763d5f7a3d4f564a6a8d5374995d83a4587ca05d83a4587ca05d83a4 +5d83a4537499537499587ca0537499537499587ca05d83a44a6a8d537499607590 +6075905d83a45d83a4537499537499587ca04561854a6a8d3d5f7a344e6f4b6865 +41678a30444d3043212b3322272c1f272c1f272c1f272c1f2b3322262e35272c1f +1e241b272c1f1e241b1e241b262e351e241b272c1f262e35272c1f272c1f1e241b +272c1f2b33221e241b1e241b1e241b2b3322262e351e241b262e35272c1f2b3322 +272c1f342d1f24261c1e241b272c1f1e241b1e241b1e241b272c1f262e351e241b +272c1f262e351e241b272c1f24261c24261c272c1f1e241b1e241b262e35272c1f +1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b +1e241b1c1e191e241b1c1e191e241b272c1f1c1e191c1e191c1e191c1e191e241b +1e241b1e241b1e241b1e241b1c1e191e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b272c1f1e241b1e241b1e241b1e241b262e351e241b1e241b2a3438 +1e241b344d592e3c442a34383c50722e3c442e3c44394446262e35262e35262e35 +344d592a34381e241b272c1f2b33221e241b1e241b1e241b2b3322262e351e241b +1c1e191c1e191e241b1e241b1e241b1c1e191c1e191c1e191c1e192b33221e241b +1e241b1e241b272c1f24261c1e241b1c1e1924261c1e241b1e241b1e241b1e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1e241b1c1e191e241b24261c24261c24261c1e241b24261c24261c24261c1e241b +1c1e1924261c24261c24261c24261c24261c24261c1c1e191c1e191c1e191c1e19 +1c1e191c1e191c1e191c1e191c1e1924261c1e241b1e241b1c1e191e241b1c1e19 +24261c24261c1c1e191e241b1e241b24261c24261c1e241b1e241b1e241b1e241b +272c1f1e241b272c1f272c1f1e241b24261c1e241b24261c24261c24261c24261c +1e241b24261c272c1f24261c272c1f24261c24261c24261c24261c272c1f1e241b +1e241b272c1f1e241b1e241b272c1f24261c24261c1e241b272c1f1e241b1e241b +2b3322272c1f1e241b272c1f2b3322262e352a34382b3322262e352b3322272c1f +1e241b2b3322272c1f272c1f2b3322272c1f1e241b272c1f272c1f272c1f2b3322 +272c1f272c1f272c1f1e241b2b3322272c1f2b33221e241b272c1f272c1f2b3322 +2b3322272c1f1e241b272c1f24261c272c1f272c1f1e241b272c1f1e241b24261c +1e241b272c1f24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c +272c1f24261c272c1f272c1f262e351e241b272c1f2b33222b33222b3322272c1f +2b3322272c1f272c1f272c1f272c1f2b3322272c1f1e241b272c1f1e241b272c1f +1e241b272c1f24261c24261c272c1f24261c24261c272c1f24261c24261c24261c +272c1f24261c24261c272c1f24261c24261c272c1f272c1f342d1f272c1f272c1f +272c1f24261c24261c24261c262e35272c1f24261c24261c24261c24261c272c1f +24261c24261c272c1f342d1f272c1f272c1f272c1f272c1f24261c272c1f24261c +24261c24261c272c1f342d1f272c1f24261c272c1f272c1f272c1f272c1f272c1f +587ca05d83a45d83a45d83a4587ca06886a6587ca06886a6627d99587ca0587ca0 +627d99627d99587ca0587ca0627d99587ca0587ca0627d99587ca0587ca0587ca0 +587ca0587ca06886a6587ca0627d995d83a4587ca05d83a45773763d5f7a354c31 +2f3c2230444d3d573b3c586f587ca0587ca05d83a46886a6587ca05d83a45d83a4 +587ca0587ca03c586f3c5072587ca0587ca0587ca0587ca0587ca0587ca0587ca0 +5d83a4587ca05374994a6a8d587ca0537499537499587ca0537499587ca0537499 +607590627d99587ca0556c84627d995374993c507241678a3c586f3c586f3c586f +4a6a8d344d592f3c22262e35272c1f272c1f262e352b3322272c1f272c1f272c1f +1e241b1e241b262e351e241b272c1f262e35272c1f272c1f2b3322262e35272c1f +2b3322262e351e241b272c1f1e241b272c1f2b33221e241b272c1f272c1f1e241b +272c1f272c1f272c1f272c1f272c1f1e241b1e241b1e241b272c1f1e241b272c1f +342d1f272c1f1e241b24261c1e241b24261c1e241b1e241b1e241b272c1f1e241b +1e241b1e241b1e241b1e241b1e241b1e241b1c1e191c1e191e241b1e241b1c1e19 +1c1e191c1e191e241b1c1e191e241b1e241b1c1e191c1e191c1e191e241b1c1e19 +1e241b1e241b1e241b1e241b1c1e191e241b1e241b1c1e191e241b1e241b1c1e19 +1e241b1c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b262e352f3c22 +1e241b2a34382e3c44262e353c586f2e3c442e3c4430444d2a3438262e352e3c44 +344d59262e351e241b272c1f1e241b1e241b1e241b1e241b2f3c221e241b1c1e19 +1c1e191c1e191e241b1c1e191e241b1c1e191c1e191c1e191c1e192b33221e241b +1e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b24261c1c1e191c1e19 +272c1f272c1f1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b24261c24261c24261c24261c1e241b1c1e191c1e191e241b24261c +1c1e191c1e191c1e191c1e191e241b1e241b24261c1e241b1c1e191c1e191c1e19 +1e241b1c1e191e241b1c1e191c1e191c1e1924261c1e241b1c1e1924261c1e241b +1c1e1924261c1e241b1c1e191e241b24261c1e241b1e241b1c1e191e241b1e241b +1e241b1e241b1e241b1e241b1e241b24261c24261c1e241b24261c24261c24261c +24261c262e35272c1f272c1f262e35272c1f1e241b1e241b24261c272c1f272c1f +272c1f1e241b272c1f1e241b272c1f1e241b1e241b1e241b272c1f272c1f1e241b +2b3322272c1f272c1f1e241b2b33222b3322272c1f2b33221e241b2b33221e241b +272c1f2b3322272c1f1e241b272c1f272c1f1e241b272c1f272c1f272c1f272c1f +272c1f262e352b3322272c1f272c1f2b3322272c1f272c1f1e241b1e241b272c1f +272c1f272c1f1e241b272c1f272c1f24261c24261c24261c272c1f272c1f272c1f +1e241b272c1f272c1f272c1f272c1f342d1f24261c272c1f24261c272c1f24261c +24261c24261c272c1f272c1f2b33222b3322272c1f272c1f2b33222b33221e241b +1e241b2b3322272c1f272c1f1e241b272c1f272c1f272c1f1e241b1e241b272c1f +1e241b24261c24261c24261c24261c24261c24261c24261c272c1f24261c24261c +262e3524261c24261c272c1f24261c24261c1e241b272c1f272c1f272c1f24261c +272c1f24261c24261c24261c24261c342d1f24261c24261c24261c24261c342d1f +24261c24261c272c1f24261c24261c342d1f24261c272c1f24261c24261c342d1f +24261c24261c24261c272c1f342d1f24261c272c1f342d1f272c1f272c1f272c1f +627d99627d99587ca05d83a4587ca0587ca0587ca0587ca0587ca0627d99627d99 +587ca05d83a4587ca05d83a45d83a4587ca0587ca0587ca0587ca0587ca05d83a4 +537499627d99587ca05d83a4587ca0627d99587ca05d83a44a6a8d3d5f7a344d59 +2e3c442e3c443c586f3d5f7a537499627d99587ca0587ca0587ca0587ca0587ca0 +5d83a4537499344d593c5072587ca0587ca0587ca05d83a45374994a6a8d537499 +5d83a45374995374995374995d83a44a6a8d587ca04a6a8d537499587ca0537499 +607590537499537499456185627d993c50723c586f3d5f7a3c586f3c586f3c586f +4a6a8d30444d2f3c22262e35272c1f272c1f2b332233352224261c272c1f272c1f +1e241b272c1f2b33221e241b272c1f262e35272c1f1e241b2b33222b3322262e35 +272c1f272c1f272c1f1e241b2b33221e241b272c1f1e241b272c1f272c1f272c1f +262e35272c1f24261c262e351e241b272c1f1e241b272c1f272c1f1e241b262e35 +24261c1e241b272c1f272c1f1e241b24261c1e241b1e241b1e241b1e241b1e241b +272c1f1e241b1e241b1c1e191e241b1e241b1e241b1e241b1e241b1c1e191e241b +1e241b1c1e191e241b1e241b1e241b1e241b1e241b1e241b1c1e191c1e191e241b +1c1e191e241b1e241b1e241b1c1e191e241b1c1e191e241b1e241b1e241b1e241b +1c1e191e241b1e241b1e241b1e241b1e241b262e351e241b1e241b1e241b262e35 +1e241b2a34382b33221e241b2e3c442a3438262e352e3c442a34382e3c442a3438 +30444d262e35272c1f1e241b1e241b1e241b1e241b272c1f1e241b272c1f1e241b +1e241b1e241b1c1e191c1e191c1e191c1e191c1e191c1e191e241b1e241b1e241b +1c1e191e241b1c1e191e241b24261c1c1e191e241b1e241b1e241b1e241b1c1e19 +1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1c1e191e241b1e241b272c1f24261c1c1e1924261c1e241b1c1e191c1e1924261c +1e241b24261c1c1e191e241b1c1e191e241b1e241b1c1e191e241b1c1e191c1e19 +1c1e1924261c1c1e191c1e191e241b1c1e191e241b1e241b1c1e191e241b1c1e19 +24261c24261c1c1e19272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b1e241b262e351e241b24261c24261c24261c1c1e19262e351e241b +24261c262e35272c1f272c1f272c1f24261c24261c1e241b24261c272c1f1e241b +1e241b272c1f1e241b272c1f272c1f272c1f24261c1e241b1e241b1e241b272c1f +1e241b2f3c22272c1f272c1f272c1f272c1f2f3c22272c1f272c1f272c1f272c1f +272c1f2f3c22272c1f2b3322262e35262e352b33221e241b272c1f1e241b272c1f +272c1f2b332224261c272c1f272c1f272c1f272c1f272c1f2b3322272c1f272c1f +272c1f1e241b272c1f1e241b272c1f272c1f272c1f272c1f24261c272c1f24261c +24261c272c1f24261c272c1f272c1f272c1f24261c24261c24261c272c1f272c1f +272c1f1e241b1e241b1e241b272c1f272c1f1e241b2b33222b33222b3322272c1f +272c1f272c1f272c1f2b3322272c1f1e241b1e241b24261c1e241b24261c24261c +24261c1e241b24261c272c1f1e241b24261c24261c262e3524261c24261c24261c +24261c272c1f24261c24261c24261c272c1f24261c272c1f272c1f272c1f272c1f +24261c342d1f24261c24261c24261c24261c24261c24261c24261c342d1f24261c +24261c24261c24261c262e35272c1f24261c24261c342d1f272c1f272c1f272c1f +24261c272c1f272c1f342d1f272c1f24261c24261c272c1f272c1f272c1f272c1f +587ca0587ca0587ca05d83a4587ca05d83a4587ca0627d99587ca0587ca0627d99 +587ca05d83a4587ca0627d99587ca0587ca05d83a4587ca0537499587ca05d83a4 +537499537499627d99587ca0587ca05d83a4587ca05d83a453749941678a41678a +344d5930444d4a6a8d597c75537499537499587ca05d83a4587ca0587ca0587ca0 +587ca041678a344d59344e6f5374995d83a4587ca0537499587ca041678a537499 +587ca05374994a6a8d537499587ca041678a587ca041678a587ca0587ca0537499 +627d996075904a6a8d4a6a8d537499344e6f3c50723c586f344e6f30444d344d59 +4b686530444d2f3c22272c1f1e241b2a34382a3438272c1f272c1f272c1f262e35 +1e241b272c1f272c1f272c1f272c1f2b3322272c1f1e241b262e352b33221e241b +272c1f1e241b272c1f272c1f272c1f1e241b1e241b1e241b1e241b262e35272c1f +272c1f24261c272c1f272c1f1e241b1e241b272c1f1e241b1e241b272c1f1e241b +1e241b1e241b1e241b24261c1e241b24261c1e241b1e241b1e241b1e241b272c1f +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191c1e19 +1e241b1c1e191e241b1e241b1c1e191c1e191c1e191c1e191c1e191c1e191e241b +1c1e191c1e191e241b1e241b1c1e191c1e191c1e191c1e191e241b1e241b1e241b +1e241b1c1e191e241b1e241b1e241b1c1e191c1e191e241b1c1e19272c1f272c1f +1c1e191e241b272c1f272c1f262e35262e35262e35262e351e241b2a3438262e35 +344d59262e351e241b1e241b272c1f2a34381e241b1e241b1e241b1e241b1e241b +1e241b1e241b1c1e191c1e191c1e191c1e191c1e191c1e191c1e1924261c1c1e19 +1c1e191e241b1c1e191e241b24261c1e241b1c1e191e241b1e241b1e241b1c1e19 +272c1f1e241b1c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1c1e1924261c1e241b272c1f24261c24261c1e241b1e241b1e241b1c1e1924261c +1e241b24261c1c1e191c1e191c1e191e241b24261c1e241b1c1e191c1e191c1e19 +1c1e191e241b24261c1c1e191c1e191c1e1924261c1c1e191e241b24261c1c1e19 +1c1e1924261c1e241b1e241b1e241b24261c1e241b1e241b1e241b1e241b1e241b +1c1e191e241b272c1f272c1f1e241b1e241b24261c24261c24261c342d1f24261c +262e3524261c272c1f262e3524261c24261c24261c1e241b272c1f272c1f272c1f +24261c24261c1e241b24261c24261c272c1f1e241b272c1f2b3322272c1f272c1f +272c1f272c1f272c1f272c1f272c1f262e35272c1f1e241b2b33222b33221e241b +1e241b2b3322262e35272c1f272c1f272c1f272c1f272c1f1e241b2b3322272c1f +272c1f272c1f1e241b272c1f272c1f272c1f272c1f1e241b272c1f272c1f1e241b +272c1f1e241b272c1f1e241b272c1f272c1f1e241b1e241b1e241b24261c272c1f +24261c24261c272c1f24261c24261c272c1f272c1f272c1f24261c272c1f24261c +272c1f24261c1e241b1e241b272c1f272c1f272c1f272c1f272c1f272c1f2f3c22 +1e241b272c1f272c1f272c1f1e241b272c1f272c1f272c1f24261c24261c24261c +24261c24261c1e241b24261c1e241b24261c24261c272c1f24261c272c1f24261c +24261c272c1f24261c24261c24261c272c1f24261c24261c272c1f342d1f272c1f +272c1f24261c272c1f24261c342d1f24261c342d1f24261c24261c24261c272c1f +342d1f272c1f272c1f272c1f272c1f24261c262e3524261c24261c342d1f272c1f +24261c24261c272c1f272c1f272c1f24261c272c1f272c1f24261c272c1f272c1f +627d99587ca0627d99587ca05d83a4537499587ca0587ca0627d99587ca0587ca0 +5d83a4587ca0537499587ca0587ca0587ca0587ca0537499537499587ca0587ca0 +587ca0537499537499587ca05d83a4587ca0587ca0537499587ca05d83a44a6a8d +344d59344d594a6a8d41678a4a6a8d537499587ca0587ca0537499587ca0537499 +587ca05374995374994a6a8d5d83a4587ca05d83a45374995374993c586f537499 +587ca053749941678a4a6a8d5374994a6a8d627d99456185627d99607590456185 +587ca0587ca0344e6f4a6a8d45618530444d344d5930444d3c586f344d59344d59 +30444d2e3c442a3438272c1f272c1f2e3c442f3c22262e35272c1f1e241b1e241b +272c1f1e241b1e241b2f3c221e241b272c1f2b33221e241b2b33221e241b272c1f +1e241b1e241b1e241b1e241b272c1f1e241b272c1f272c1f1e241b272c1f24261c +24261c24261c1e241b272c1f24261c1e241b1e241b272c1f1e241b1e241b1e241b +24261c1e241b1e241b1e241b24261c1e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b1c1e19 +1c1e191e241b1e241b1c1e191e241b1e241b1c1e191c1e191e241b1e241b1e241b +1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b1e241b1e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b262e35262e35262e351e241b2a34382a34382a3438262e35262e35 +30444d262e351e241b1e241b1e241b2e3c44272c1f2b33221e241b24261c1e241b +1e241b1c1e191c1e191c1e191c1e191e241b1c1e191e241b1e241b1e241b1e241b +1e241b1e241b1e241b24261c24261c1c1e191e241b1e241b1e241b1e241b1c1e19 +1e241b1c1e191e241b1c1e191e241b272c1f1e241b1e241b1e241b1e241b1c1e19 +1c1e1924261c24261c1e241b1e241b24261c1c1e191c1e1924261c24261c24261c +24261c24261c1c1e1924261c24261c1e241b1c1e1924261c1e241b24261c1c1e19 +1c1e191c1e1924261c24261c1e241b1e241b1e241b1e241b1e241b24261c1e241b +24261c1e241b1e241b1e241b24261c1e241b1e241b1e241b1e241b1e241b1c1e19 +1e241b1e241b272c1f1e241b24261c24261c24261c24261c24261c24261c24261c +272c1f24261c24261c342d1f272c1f24261c1e241b1e241b272c1f1e241b272c1f +1e241b24261c272c1f272c1f272c1f24261c24261c24261c2b33221e241b272c1f +1e241b272c1f272c1f272c1f1e241b262e35272c1f1e241b272c1f1e241b2b3322 +1e241b2b33222f3c221e241b272c1f272c1f262e35272c1f272c1f272c1f1e241b +272c1f2b33221e241b272c1f1e241b272c1f272c1f272c1f272c1f272c1f272c1f +1e241b272c1f272c1f1e241b24261c272c1f24261c24261c24261c24261c1e241b +272c1f272c1f272c1f272c1f272c1f24261c272c1f24261c272c1f272c1f272c1f +24261c24261c1e241b272c1f272c1f1e241b272c1f272c1f272c1f272c1f272c1f +272c1f272c1f1e241b272c1f272c1f24261c1e241b24261c1e241b24261c272c1f +272c1f24261c24261c1e241b24261c24261c24261c24261c272c1f24261c272c1f +272c1f342d1f24261c272c1f24261c272c1f342d1f272c1f272c1f1e241b262e35 +342d1f272c1f272c1f262e3524261c24261c272c1f342d1f24261c272c1f24261c +24261c24261c272c1f24261c24261c24261c272c1f272c1f24261c272c1f342d1f +272c1f24261c272c1f342d1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f +587ca0587ca0627d99537499587ca0607590587ca0587ca0537499537499587ca0 +587ca0587ca0537499537499587ca0537499537499456185537499537499537499 +5374995374995374994a6a8d587ca0587ca0587ca0537499587ca0587ca041678a +344d593c586f537499587ca04a6a8d537499537499587ca0537499537499537499 +587ca05374994a6a8d4a6a8d537499587ca0587ca0537499537499344e6f456185 +587ca05374993c586f4a6a8d537499537499537499456185587ca04a6a8d41678a +587ca0456185344e6f3d5f7a3d5f7a344e6f2e3c442e3c443c586f344d5930444d +354c312f3c222a34382a3438262e352f3c222a343824261c2b3322272c1f1e241b +272c1f1e241b1e241b262e351e241b262e35272c1f272c1f272c1f272c1f272c1f +272c1f272c1f2b3322272c1f1e241b1e241b1e241b272c1f1e241b262e35272c1f +272c1f24261c272c1f24261c272c1f1e241b1e241b1e241b1e241b1e241b1e241b +1e241b24261c1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b1e241b1e241b1e241b1c1e191c1e191e241b1c1e191e241b1c1e19 +1c1e191e241b1e241b1e241b1c1e191e241b1c1e191c1e191c1e191c1e191e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b1e241b +1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b +1e241b262e35272c1f262e352a34382a3438262e3530444d262e35262e352e3c44 +2e3c442a3438272c1f1e241b1e241b262e351e241b1e241b1e241b272c1f1e241b +2b33221c1e191c1e191e241b1e241b1c1e191e241b1e241b1e241b1e241b1e241b +1c1e191e241b1e241b24261c1e241b1c1e1924261c1c1e191e241b1e241b1e241b +1e241b1e241b1e241b1e241b1c1e191e241b1e241b1e241b1e241b1e241b24261c +1c1e19272c1f1e241b1e241b24261c1e241b24261c1c1e191e241b24261c1e241b +24261c24261c1e241b24261c1c1e1924261c1e241b1c1e191c1e1924261c1c1e19 +24261c24261c24261c1c1e191c1e191c1e191e241b1e241b1e241b1e241b1e241b +1e241b1e241b24261c1e241b1e241b262e351e241b1e241b1c1e191e241b24261c +1e241b1e241b262e351e241b24261c24261c24261c24261c24261c262e35272c1f +24261c272c1f272c1f272c1f272c1f24261c24261c24261c272c1f1e241b272c1f +272c1f24261c272c1f24261c2b33221e241b262e35272c1f2b33222b3322272c1f +272c1f272c1f272c1f272c1f2b3322262e351e241b272c1f1e241b272c1f272c1f +272c1f272c1f2b3322272c1f272c1f2b3322272c1f272c1f272c1f1e241b272c1f +272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f1e241b272c1f +272c1f272c1f1e241b272c1f1e241b24261c24261c272c1f24261c272c1f1e241b +24261c272c1f272c1f272c1f272c1f24261c272c1f272c1f24261c24261c272c1f +272c1f24261c24261c272c1f1e241b272c1f272c1f1e241b272c1f272c1f272c1f +272c1f272c1f272c1f1e241b1e241b272c1f272c1f24261c24261c24261c24261c +272c1f24261c272c1f24261c272c1f24261c272c1f24261c262e3524261c24261c +272c1f272c1f24261c272c1f24261c272c1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f24261c272c1f24261c24261c24261c24261c24261c24261c272c1f +24261c24261c272c1f272c1f24261c342d1f333642272c1f24261c333522272c1f +342d1f272c1f272c1f272c1f342d1f272c1f342d1f272c1f272c1f272c1f272c1f +587ca0607590587ca0587ca0587ca0537499587ca0607590587ca0587ca0537499 +587ca0587ca0537499587ca0537499587ca0537499456185537499587ca0587ca0 +587ca0587ca041678a3d5f7a41678a537499587ca041678a587ca05d83a4537499 +344d593c586f5374995374995374994a6a8d4a6a8d4a6a8d5374994a6a8d537499 +587ca05374994a6a8d4a6a8d587ca0587ca0587ca0587ca05374993c586f4a6a8d +587ca04a6a8d3c50724a6a8d5374995374994561854a6a8d587ca04a6a8d41678a +556c84344e6f3d5f7a344e6f3d5f7a344d592e3c44262e353d5f7a344d592e3c44 +30444d2f3c222e3c44304321262e352a3438354c312b3322272c1f1e241b1e241b +272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f262e351e241b +1e241b272c1f1e241b1e241b272c1f1e241b1e241b272c1f262e35272c1f1e241b +262e3524261c272c1f1e241b24261c1e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1c1e191e241b1e241b1e241b1c1e191c1e191c1e191e241b1c1e191e241b1e241b +1c1e191c1e191c1e191c1e191c1e191c1e191c1e191c1e191c1e191e241b1c1e19 +1e241b1e241b1e241b1c1e191e241b1e241b1e241b1c1e191c1e191e241b1c1e19 +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e19262e351e241b1e241b +1e241b272c1f1e241b272c1f2a34382a3438272c1f2a34381e241b262e35344d59 +272c1f262e35272c1f1e241b1e241b1e241b272c1f1e241b1e241b1e241b1e241b +1e241b1c1e191c1e191e241b1e241b1e241b1c1e191c1e191c1e191e241b1e241b +1e241b1c1e191e241b24261c1c1e1924261c1e241b24261c1e241b1e241b1c1e19 +1e241b1e241b1e241b1c1e191c1e191e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b1e241b24261c24261c1e241b1c1e191c1e191e241b1c1e1924261c +1e241b1c1e191c1e1924261c1e241b24261c1c1e191c1e1924261c1c1e191c1e19 +1c1e191c1e1924261c1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1e241b24261c1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1e241b262e351e241b1e241b272c1f24261c24261c24261c272c1f262e3524261c +24261c1e241b24261c272c1f272c1f24261c1c1e19272c1f272c1f272c1f262e35 +272c1f2b3322272c1f272c1f272c1f272c1f272c1f272c1f2b3322262e351e241b +272c1f272c1f272c1f272c1f1e241b2b3322272c1f272c1f1e241b272c1f1e241b +272c1f272c1f2b33222b3322272c1f1e241b2b3322272c1f272c1f272c1f272c1f +272c1f1e241b272c1f272c1f1e241b1e241b272c1f272c1f272c1f272c1f1e241b +272c1f272c1f1e241b1e241b272c1f272c1f272c1f1e241b2f3c2233352224261c +272c1f272c1f24261c272c1f272c1f272c1f24261c272c1f272c1f24261c1e241b +24261c1e241b1e241b1e241b272c1f1e241b272c1f1e241b272c1f272c1f272c1f +272c1f272c1f1e241b272c1f1e241b24261c1e241b272c1f24261c24261c1e241b +24261c24261c24261c24261c1e241b1e241b24261c272c1f24261c272c1f1e241b +1e241b24261c272c1f1e241b272c1f272c1f2b3322262e352b3322272c1f24261c +262e35342d1f272c1f272c1f272c1f24261c272c1f24261c342d1f272c1f24261c +272c1f272c1f24261c24261c272c1f24261c272c1f24261c272c1f272c1f342d1f +24261c24261c272c1f272c1f24261c272c1f272c1f272c1f272c1f272c1f24261c +587ca0587ca0537499537499537499537499537499537499537499537499537499 +537499587ca05374995374995374995374994a6a8d4a6a8d4a6a8d537499537499 +537499587ca0537499344e6f5374995374995374994a6a8d537499587ca0537499 +30444d3d5f7a53749941678a456185456185587ca04a6a8d587ca041678a4a6a8d +587ca0587ca0537499556c84587ca0587ca0537499587ca04a6a8d456185456185 +587ca04a6a8d30444d4a6a8d4a6a8d4a6a8d3d5f7a41678a5374994a6a8d456185 +4a6a8d3d5f7a456185344d59344e6f344d592a34382a3438344d5930444d1e241b +2e3c442b33222a343830444d262e352b3322304321262e35272c1f272c1f272c1f +1e241b272c1f272c1f1e241b272c1f1e241b272c1f1e241b1e241b272c1f272c1f +1e241b1e241b1e241b1e241b262e351e241b272c1f1e241b1e241b272c1f24261c +24261c1e241b1e241b1e241b24261c1e241b262e351e241b24261c24261c1e241b +262e3524261c1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1c1e191e241b1e241b1e241b1e241b1c1e191c1e191e241b1c1e191e241b1e241b +1c1e191c1e191c1e191e241b1e241b1c1e191c1e191c1e191c1e191c1e191e241b +1e241b1e241b1e241b1c1e191e241b1c1e191e241b1c1e191c1e191c1e191e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b262e351e241b2a34382f3c221e241b2a3438262e352a343830444d +262e352b3322272c1f1e241b262e351e241b262e351e241b1c1e191e241b272c1f +1e241b1e241b1c1e191c1e191e241b1c1e191c1e191c1e191c1e191e241b1c1e19 +1e241b1e241b1c1e191e241b1e241b1e241b1e241b1c1e191e241b1c1e191c1e19 +1e241b1e241b1e241b1c1e191e241b1c1e191e241b1e241b1e241b1e241b1e241b +1e241b1e241b1e241b24261c1e241b1e241b24261c1c1e191c1e191c1e191e241b +24261c1e241b1c1e191c1e191c1e1924261c1c1e191c1e191e241b24261c1c1e19 +1c1e191c1e191e241b1c1e191c1e1924261c1e241b1e241b272c1f1e241b1e241b +1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +272c1f272c1f1e241b1e241b1e241b24261c24261c24261c24261c24261c24261c +24261c24261c24261c24261c272c1f272c1f24261c272c1f1e241b272c1f272c1f +1e241b272c1f272c1f24261c272c1f1e241b272c1f272c1f2b3322272c1f272c1f +272c1f272c1f272c1f272c1f1e241b2b3322272c1f1e241b272c1f272c1f1e241b +272c1f1e241b272c1f1e241b2b3322272c1f272c1f272c1f272c1f1e241b272c1f +1e241b1e241b272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f1e241b +272c1f1e241b1e241b272c1f272c1f1e241b272c1f1e241b4758323f4e321e241b +1e241b272c1f24261c272c1f1e241b24261c24261c24261c272c1f272c1f1e241b +272c1f24261c272c1f272c1f1e241b1e241b1e241b272c1f272c1f1e241b1e241b +272c1f1e241b1e241b272c1f1e241b24261c24261c1e241b1e241b272c1f272c1f +272c1f24261c24261c1e241b24261c24261c24261c272c1f24261c272c1f24261c +24261c272c1f272c1f1e241b272c1f272c1f272c1f272c1f262e35272c1f24261c +24261c272c1f272c1f272c1f272c1f272c1f342d1f262e35272c1f272c1f24261c +342d1f24261c272c1f272c1f272c1f24261c272c1f272c1f24261c272c1f272c1f +272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f2b3322 +537499537499537499537499537499537499537499537499537499537499537499 +537499537499537499587ca05374995374994a6a8d41678a4a6a8d41678a537499 +53749953749941678a344e6f53749953749941678a41678a53749953749941678a +2e3c44344e6f41678a45618545618541678a53749941678a4a6a8d456185537499 +587ca0587ca04a6a8d537499537499537499587ca05374993d5f7a3d5f7a456185 +587ca041678a30444d5374994a6a8d4a6a8d4a6a8d4a6a8d4a6a8d4658643c5072 +3c50723d5f7a3c586f30444d30444d3d5f7a2a3438354c31344d592a3438272c1f +2f3c222a34382f3c22262e352a34382f3c22262e351e241b1e241b1e241b272c1f +272c1f1e241b272c1f1e241b272c1f272c1f272c1f1e241b2b33221e241b1e241b +1e241b272c1f1e241b1e241b1e241b1e241b24261c1e241b24261c1e241b1e241b +24261c1c1e1924261c1e241b1e241b24261c24261c1e241b1e241b1e241b1c1e19 +1e241b24261c1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1c1e191e241b1e241b1e241b1e241b1c1e191c1e191e241b1e241b1e241b1e241b +1e241b1e241b1c1e191c1e191e241b1c1e191c1e191c1e191c1e191c1e191e241b +262e351e241b1c1e191c1e191e241b1e241b1c1e191e241b1e241b1c1e191e241b +1e241b1c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b272c1f1e241b262e351e241b1e241b2b33221e241b262e352f3c22 +1e241b1e241b262e351e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b1c1e191e241b1c1e191e241b1e241b1c1e191c1e191c1e191c1e19 +1c1e191c1e1924261c24261c1c1e191c1e191c1e191e241b1e241b1e241b1e241b +1c1e191e241b1e241b1c1e191e241b24261c1e241b1e241b1e241b1e241b1e241b +1e241b1e241b1c1e1924261c1c1e1924261c1c1e191c1e191c1e1924261c24261c +1c1e191c1e191e241b24261c1e241b1c1e191c1e1924261c1e241b1e241b1c1e19 +1c1e191c1e191e241b1c1e1924261c1e241b1e241b1e241b1e241b1e241b1c1e19 +24261c1e241b1e241b1c1e191e241b1e241b1e241b24261c1e241b24261c1e241b +1e241b272c1f1e241b272c1f1e241b24261c24261c24261c24261c24261c24261c +24261c24261c24261c262e35272c1f24261c262e35272c1f262e351e241b2b3322 +272c1f262e3524261c272c1f262e35272c1f262e351e241b272c1f272c1f272c1f +272c1f272c1f1e241b272c1f1e241b272c1f272c1f1e241b2b33222b33221e241b +272c1f1e241b2b33221e241b1e241b2b3322272c1f272c1f272c1f272c1f1e241b +272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f +1e241b272c1f1e241b1e241b272c1f1e241b272c1f24261c272c1f272c1f272c1f +24261c272c1f24261c272c1f272c1f24261c24261c272c1f272c1f1e241b272c1f +24261c1e241b1e241b272c1f1e241b2b33221e241b272c1f1e241b272c1f272c1f +272c1f1e241b272c1f1e241b272c1f24261c24261c272c1f24261c24261c24261c +1e241b24261c24261c24261c24261c272c1f24261c1e241b262e3524261c24261c +24261c24261c272c1f272c1f1e241b272c1f272c1f2b33222b33222b3322262e35 +262e35272c1f342d1f373e43342d1f24261c262e35342d1f24261c24261c24261c +262e35272c1f272c1f272c1f24261c272c1f24261c272c1f272c1f272c1f333522 +24261c24261c272c1f342d1f272c1f24261c272c1f272c1f272c1f272c1f272c1f +537499537499587ca053749953749953749941678a5374994a6a8d537499537499 +5374995374995374994a6a8d5374994561855374994561854a6a8d41678a4a6a8d +53749953749941678a30444d41678a53749941678a41678a53749953749941678a +344e6f4a6a8d4a6a8d3c586f3d5f7a3d5f7a4a6a8d3d5f7a5374993d5f7a537499 +537499587ca04a6a8d6075905374993d5f7a4561855374993c586f45618541678a +5374993d5f7a30444d41678a3d5f7a4561855374994a6a8d41678a344e6f456185 +30444d3c586f3c586f344e6f2e3c443d5f7a262e35344d593043212a3438262e35 +2f3c222a34382a3438262e351e241b2f3c22272c1f1e241b272c1f272c1f272c1f +1e241b1e241b272c1f272c1f1e241b272c1f1e241b272c1f272c1f1e241b1e241b +1e241b272c1f1e241b1e241b272c1f1e241b1e241b272c1f1e241b24261c24261c +272c1f1c1e191c1e1924261c1e241b1e241b1e241b1e241b1e241b1e241b24261c +262e351e241b1c1e191e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b +1c1e191e241b1e241b1e241b1e241b1c1e191e241b1c1e191c1e191c1e191c1e19 +1c1e191e241b1c1e191c1e191e241b1e241b1c1e191c1e191c1e191e241b1e241b +272c1f272c1f1e241b1e241b1e241b1c1e191e241b1c1e191c1e191e241b1e241b +1e241b1c1e191c1e191e241b1c1e191c1e191e241b1e241b1e241b1e241b1e241b +1e241b1e241b1e241b1e241b262e351e241b1e241b262e35272c1f1e241b262e35 +1e241b272c1f1e241b272c1f1e241b1e241b1e241b1e241b1c1e191e241b1e241b +1e241b1e241b1c1e191c1e191c1e191e241b1c1e191c1e191c1e191c1e191c1e19 +1e241b1c1e191c1e1924261c1c1e1924261c1c1e191c1e191e241b1c1e191e241b +1e241b1e241b1e241b1c1e191c1e191e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b24261c24261c1c1e1924261c1e241b1c1e1924261c1c1e1924261c +24261c1c1e191c1e191c1e1924261c1c1e191c1e191c1e191c1e1924261c1c1e19 +1c1e191c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +272c1f272c1f1e241b1e241b1e241b1e241b24261c1e241b1e241b1e241b1e241b +272c1f272c1f1e241b1e241b1e241b1e241b24261c1e241b24261c262e3524261c +272c1f24261c24261c272c1f272c1f272c1f272c1f2b33222b3322272c1f262e35 +1e241b2b33221e241b2b33222b33222b33221e241b1e241b2b33221e241b272c1f +272c1f1e241b272c1f272c1f1e241b272c1f272c1f1e241b272c1f272c1f272c1f +1e241b272c1f272c1f272c1f2b3322272c1f1e241b2b33221e241b2b3322272c1f +272c1f2b33221e241b272c1f1e241b272c1f272c1f272c1f1e241b272c1f272c1f +272c1f1e241b272c1f1e241b1e241b272c1f1e241b1e241b24261c24261c272c1f +272c1f272c1f1e241b24261c272c1f24261c272c1f24261c272c1f272c1f1e241b +272c1f24261c24261c272c1f1e241b272c1f1e241b272c1f1e241b272c1f1e241b +272c1f1e241b1e241b1e241b24261c1e241b24261c24261c24261c272c1f24261c +24261c272c1f24261c373e4324261c272c1f272c1f24261c24261c24261c24261c +24261c24261c272c1f272c1f1e241b272c1f272c1f272c1f342d1f272c1f342d1f +272c1f272c1f272c1f333522262e35272c1f272c1f272c1f272c1f24261c272c1f +24261c272c1f272c1f272c1f272c1f272c1f342d1f272c1f272c1f24261c272c1f +24261c24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c +5374995374994a6a8d5374995374995374994561854561854a6a8d4a6a8d4a6a8d +5374994a6a8d5374995374994a6a8d45618553749941678a4a6a8d41678a41678a +4a6a8d537499344e6f30444d4a6a8d41678a3d5f7a4a6a8d4a6a8d4a6a8d4a6a8d +3c586f5374993d5f7a3d5f7a4561853d5f7a41678a3c586f3d5f7a3d5f7a587ca0 +4a6a8d4a6a8d4a6a8d537499556c844561854561854a6a8d3d5f7a4561853d5f7a +4a6a8d344e6f3336423c50723c586f4561854a6a8d41678a456185344e6f3d5f7a +2e3c44344e6f3d5f7a30444d344d59344d59262e3530444d2e3c442f3c222a3438 +2a34382a34382b3322272c1f2a34382a34381e241b1e241b1e241b1e241b1e241b +1e241b1e241b1e241b1e241b1e241b272c1f272c1f1e241b272c1f24261c1e241b +1e241b24261c262e351e241b1e241b272c1f1e241b1e241b24261c24261c1e241b +24261c24261c24261c1e241b1e241b1e241b1e241b1e241b24261c1e241b1e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b +1e241b1e241b1c1e191c1e191e241b1c1e191e241b1c1e191c1e191e241b1e241b +1e241b1c1e191c1e191c1e191e241b24261c1e241b1e241b1c1e191c1e191e241b +1e241b1e241b272c1f1e241b1e241b1e241b1c1e191c1e191c1e191e241b1e241b +1c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f1e241b +1e241b1e241b272c1f1e241b1e241b1e241b1e241b272c1f262e351e241b272c1f +262e35272c1f1e241b1e241b24261c1e241b1e241b1e241b1c1e19272c1f1e241b +1c1e191e241b1e241b1e241b24261c24261c1c1e191c1e191c1e191e241b1c1e19 +1c1e191e241b24261c1c1e191c1e191e241b1c1e191e241b1e241b1e241b1e241b +1c1e191c1e191e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b1e241b +1e241b24261c1c1e1924261c1e241b24261c24261c1c1e191c1e191c1e191e241b +1c1e191c1e191c1e1924261c1c1e1924261c1e241b1c1e1924261c1c1e191e241b +24261c1c1e191e241b1e241b1c1e191e241b1e241b272c1f1e241b1e241b1e241b +1e241b1e241b24261c1e241b1e241b1e241b1e241b1e241b272c1f272c1f1e241b +1e241b272c1f272c1f1e241b24261c24261c24261c1c1e19272c1f24261c1e241b +272c1f272c1f1e241b272c1f272c1f272c1f272c1f2b3322272c1f272c1f2b3322 +262e35272c1f1e241b2b33221e241b272c1f272c1f1e241b272c1f272c1f272c1f +2b3322272c1f272c1f272c1f1e241b272c1f272c1f272c1f1e241b2b33221e241b +272c1f272c1f272c1f272c1f2f3c221e241b2b3322272c1f272c1f272c1f1e241b +1e241b272c1f1e241b272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f +1e241b1e241b272c1f1e241b1e241b1e241b24261c24261c24261c1e241b24261c +272c1f24261c24261c24261c24261c24261c24261c24261c1e241b24261c24261c +24261c24261c272c1f24261c272c1f1e241b272c1f1e241b272c1f1e241b1e241b +272c1f272c1f272c1f272c1f24261c24261c1e241b24261c24261c272c1f24261c +272c1f333642373e43272c1f24261c24261c272c1f272c1f24261c24261c272c1f +24261c272c1f24261c272c1f272c1f272c1f272c1f272c1f2b3322272c1f262e35 +24261c262e35342d1f272c1f24261c342d1f272c1f272c1f272c1f342d1f24261c +24261c24261c272c1f342d1f272c1f272c1f24261c272c1f342d1f24261c342d1f +272c1f24261c272c1f24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f +4a6a8d5374994a6a8d5374995374994a6a8d4a6a8d4561854a6a8d4a6a8d537499 +4a6a8d4a6a8d4561854a6a8d41678a4561855374993d5f7a4561853d5f7a3d5f7a +4a6a8d41678a344e6f30444d41678a344e6f45618541678a4a6a8d5374993c586f +30444d41678a3d5f7a3c586f3d5f7a3d5f7a4561853d5f7a45618541678a537499 +3d5f7a3c586f4a6a8d537499456185344e6f3d5f7a41678a4561853c586f456185 +3c586f3c586f2e3c4430444d30444d3d5f7a5374993d5f7a3d4f563c586f30444d +2e3c4430444d344e6f262e353c586f2a34382a343830444d2a34382a34382b3322 +2f3c22262e35272c1f272c1f262e352b33221e241b272c1f1e241b1e241b1e241b +1e241b1e241b272c1f1e241b272c1f1e241b272c1f272c1f2b3322272c1f272c1f +272c1f272c1f1e241b1e241b1e241b272c1f1e241b1e241b1e241b24261c1e241b +1e241b24261c24261c1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +24261c1e241b1e241b1c1e191e241b24261c24261c24261c1c1e191e241b1e241b +1e241b1e241b1e241b1e241b1e241b1c1e191e241b1c1e191e241b1e241b1c1e19 +1e241b1c1e191c1e191c1e191e241b24261c1c1e191e241b1e241b1c1e191e241b +1e241b24261c2b33221e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b +1c1e191c1e191e241b1e241b1e241b1e241b1e241b262e351e241b1e241b1e241b +1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b262e35 +2b33221e241b272c1f1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b +1e241b1c1e191e241b1e241b1e241b1e241b1c1e191c1e191c1e191e241b1e241b +1e241b1c1e1924261c24261c1c1e191e241b1e241b1e241b1e241b1c1e191c1e19 +1c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b1c1e1924261c24261c1e241b24261c24261c24261c1c1e191c1e19 +1c1e191c1e191c1e1924261c1e241b1c1e191e241b1c1e191e241b1c1e1924261c +1e241b1c1e191e241b1e241b1c1e191e241b1e241b1e241b272c1f1c1e191e241b +272c1f272c1f1e241b24261c1e241b24261c1e241b1e241b1e241b1e241b272c1f +1e241b1e241b1e241b1e241b1e241b24261c1e241b24261c262e35272c1f272c1f +1e241b24261c272c1f272c1f262e35272c1f272c1f2b33222b33221e241b272c1f +2b3322272c1f1e241b2b33221e241b272c1f1e241b272c1f272c1f1e241b272c1f +272c1f1e241b272c1f272c1f272c1f272c1f1e241b272c1f272c1f1e241b2b3322 +2b33221e241b272c1f1e241b2b3322272c1f1e241b272c1f272c1f1e241b272c1f +272c1f272c1f272c1f272c1f272c1f272c1f1e241b272c1f1e241b1e241b272c1f +272c1f1e241b272c1f1e241b24261c24261c1e241b272c1f24261c24261c1e241b +24261c272c1f24261c24261c272c1f24261c272c1f272c1f1e241b272c1f272c1f +1e241b272c1f24261c24261c272c1f1e241b24261c1e241b2b33221e241b272c1f +24261c1e241b1e241b24261c24261c272c1f272c1f272c1f1e241b1e241b1e241b +24261c24261c24261c24261c24261c24261c24261c272c1f24261c24261c24261c +24261c2b3322272c1f272c1f272c1f272c1f272c1f272c1f342d1f342d1f272c1f +24261c262e35342d1f262e35272c1f262e3524261c24261c272c1f262e35342d1f +262e3524261c272c1f24261c272c1f24261c272c1f272c1f262e3524261c342d1f +272c1f24261c342d1f24261c272c1f272c1f272c1f272c1f24261c272c1f24261c +4a6a8d5374994a6a8d4a6a8d5374994a6a8d4a6a8d41678a45618541678a456185 +53749941678a41678a45618541678a41678a5374993c586f3c586f456185344e6f +456185344e6f30444d3c586f4a6a8d3c586f3d5f7a41678a41678a3d5f7a30444d +3c586f4a6a8d344e6f3c5072344e6f45618541678a45618541678a41678a456185 +3d5f7a4a6a8d4a6a8d4a6a8d4561853c5072344e6f41678a3c586f3d5f7a3d5f7a +30444d344e6f2a34382e3c4430444d41678a556c843c50723944462e3c44344e6f +2a343830444d30444d344d59344d591e241b262e352b3322262e35272c1f262e35 +2b3322262e35272c1f1e241b262e352b3322272c1f1e241b272c1f1e241b272c1f +24261c1e241b272c1f272c1f1e241b272c1f1e241b24261c272c1f1e241b1e241b +1e241b1e241b272c1f1e241b272c1f1e241b1e241b24261c1e241b1e241b1e241b +24261c24261c24261c1e241b1e241b1e241b1e241b1e241b262e351e241b1e241b +24261c1e241b1e241b1e241b1e241b1e241b262e351e241b1e241b1e241b262e35 +1e241b1e241b1c1e191c1e191e241b1e241b1c1e191e241b1e241b1e241b1e241b +1e241b1c1e191c1e191c1e191e241b272c1f1c1e191c1e191c1e191e241b1e241b +1e241b1e241b1e241b272c1f1e241b1e241b1e241b1c1e191e241b1e241b1e241b +1c1e191e241b1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b1e241b1c1e191e241b1e241b1e241b272c1f1e241b1e241b272c1f +1e241b272c1f1e241b1e241b24261c1e241b272c1f272c1f1e241b1e241b1e241b +1c1e191e241b1e241b1e241b1e241b1e241b1c1e191e241b1c1e191e241b1c1e19 +1c1e191c1e191c1e1924261c1e241b1e241b1e241b1c1e191c1e191e241b1e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f24261c1e241b24261c +24261c24261c24261c1c1e1924261c24261c1e241b1c1e1924261c1e241b24261c +1e241b24261c1e241b24261c24261c1c1e191e241b1e241b1c1e191e241b24261c +24261c1c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e19 +1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b272c1f +1e241b272c1f1e241b1e241b24261c24261c24261c24261c272c1f1e241b1e241b +272c1f272c1f1e241b2b33222b3322272c1f1e241b2b33222f3c22272c1f272c1f +272c1f272c1f1e241b2b3322272c1f272c1f1e241b272c1f272c1f272c1f2f3c22 +2b33221e241b1e241b272c1f272c1f272c1f1e241b272c1f272c1f272c1f272c1f +2b3322272c1f272c1f2b3322272c1f272c1f272c1f1e241b272c1f272c1f1e241b +272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f1e241b1e241b +272c1f24261c1e241b1e241b272c1f24261c24261c24261c24261c272c1f272c1f +272c1f24261c24261c24261c24261c24261c24261c272c1f24261c272c1f24261c +24261c24261c272c1f1e241b24261c272c1f1e241b24261c1e241b24261c24261c +272c1f24261c1e241b272c1f1e241b24261c1e241b272c1f24261c24261c272c1f +24261c24261c272c1f24261c24261c24261c262e35342d1f272c1f272c1f24261c +24261c24261c272c1f24261c272c1f272c1f272c1f272c1f2b3322333522262e35 +272c1f272c1f262e35342d1f342d1f272c1f342d1f262e35342d1f262e35272c1f +24261c272c1f24261c272c1f262e35342d1f272c1f24261c272c1f272c1f24261c +342d1f24261c272c1f272c1f272c1f272c1f342d1f272c1f272c1f24261c272c1f +41678a4a6a8d4a6a8d5374994a6a8d53749945618545618541678a456185456185 +4a6a8d41678a3c586f4a6a8d45618541678a4a6a8d344e6f4561853c586f30444d +344e6f30444d344e6f344e6f3c586f30444d30444d4561853c586f344e6f344e6f +3d5f7a3d5f7a344e6f3c507230444d4561853c586f3d5f7a45618541678a3d5f7a +45618541678a456185456185456185344d5930444d4a6a8d3c50723c586f3c5072 +344e6f344d592e3c442e3c442e3c444a6a8d4658643336422e3c44262e35344e6f +262e352e3c442e3c44344e6f30444d262e352a34382a34382b3322272c1f272c1f +2b33221e241b2b3322272c1f2b33222b33221e241b1e241b272c1f1e241b272c1f +272c1f1e241b272c1f272c1f272c1f272c1f1e241b272c1f272c1f24261c272c1f +24261c1e241b272c1f1e241b1e241b1e241b272c1f1e241b24261c24261c1e241b +1e241b24261c1e241b24261c1e241b24261c1e241b262e351e241b1c1e191e241b +1e241b1e241b1e241b24261c24261c24261c1e241b1c1e191e241b1e241b1e241b +1e241b1e241b1e241b1e241b1e241b1e241b1c1e191c1e191e241b1e241b1c1e19 +1e241b1e241b1c1e191c1e191e241b1e241b1e241b1e241b1c1e191e241b1e241b +1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b1e241b1e241b1e241b272c1f272c1f1e241b1c1e191e241b1e241b +1e241b1e241b1e241b1e241b1e241b1e241b1c1e19272c1f1e241b1e241b272c1f +1e241b272c1f1e241b1e241b2b33221e241b1e241b24261c1e241b2b33221e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b24261c1c1e1924261c1e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e19 +1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f272c1f1e241b1e241b +1e241b1e241b24261c1c1e1924261c24261c1e241b1c1e191e241b24261c1c1e19 +24261c24261c1e241b1c1e1924261c1c1e1924261c24261c24261c1c1e1924261c +1e241b1c1e1924261c1e241b1e241b24261c1e241b1e241b1e241b1e241b1e241b +1e241b272c1f272c1f1e241b1e241b1e241b1e241b1e241b1e241b272c1f1e241b +1e241b272c1f24261c1e241b24261c24261c24261c272c1f272c1f272c1f1e241b +1e241b272c1f1e241b2b3322272c1f262e35272c1f262e352f3c22262e35272c1f +2f3c22272c1f1e241b272c1f272c1f1e241b272c1f272c1f1e241b1e241b2b3322 +272c1f272c1f272c1f272c1f272c1f1e241b272c1f1e241b272c1f272c1f272c1f +272c1f2b3322272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f1e241b +272c1f2b3322272c1f272c1f272c1f1e241b272c1f272c1f272c1f272c1f1e241b +272c1f272c1f272c1f1e241b272c1f1e241b272c1f24261c1e241b24261c24261c +272c1f24261c272c1f24261c272c1f24261c272c1f272c1f272c1f24261c24261c +1e241b24261c1e241b272c1f272c1f24261c272c1f272c1f272c1f24261c1e241b +272c1f24261c1e241b24261c24261c272c1f24261c272c1f24261c1e241b272c1f +272c1f24261c272c1f24261c24261c24261c24261c272c1f24261c272c1f272c1f +24261c272c1f272c1f272c1f272c1f272c1f24261c24261c272c1f342d1f262e35 +272c1f24261c272c1f262e35272c1f262e35272c1f342d1f272c1f342d1f342d1f +262e35272c1f24261c342d1f272c1f272c1f272c1f272c1f24261c24261c262e35 +272c1f342d1f272c1f342d1f272c1f24261c342d1f272c1f342d1f272c1f272c1f +4a6a8d41678a41678a4a6a8d4a6a8d53749941678a3d5f7a41678a41678a41678a +5374994a6a8d3c50724a6a8d3d5f7a4a6a8d4a6a8d344e6f4a6a8d3c50722e3c44 +30444d3336423c50723c5072344e6f333642373e433c5072344e6f30444d344e6f +344e6f45618530444d344e6f344e6f456185344e6f4561854561854a6a8d344e6f +41678a4561854658643d5f7a3c586f30444d3c586f4a6a8d344e6f344e6f344d59 +344e6f30444d30444d262e352e3c4441678a30444d262e35262e352e3c4430444d +262e352e3c4430444d2e3c44262e35262e352a34382a34382a3438272c1f2a3438 +2b3322272c1f272c1f1e241b2b33222f3c22272c1f1e241b1e241b272c1f1e241b +1e241b1e241b1e241b1e241b272c1f1e241b272c1f24261c1e241b1e241b24261c +1e241b1e241b1e241b1e241b1e241b272c1f1e241b262e351e241b1e241b1c1e19 +1c1e191e241b272c1f1e241b262e351e241b24261c1e241b1e241b1e241b1e241b +1e241b1e241b1e241b1e241b24261c24261c1e241b1e241b1e241b1c1e19262e35 +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b +24261c1c1e191e241b1c1e191e241b1e241b1c1e191c1e191e241b1e241b1e241b +1e241b1e241b1e241b1e241b1e241b262e351e241b1c1e191e241b1c1e191e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b272c1f +1e241b1e241b1e241b1e241b1e241b1e241b1e241b24261c1e241b1e241b262e35 +272c1f272c1f272c1f1e241b272c1f1e241b272c1f1e241b2b33222b33221e241b +1e241b1e241b1e241b1e241b1e241b1e241b1c1e19272c1f24261c1c1e191c1e19 +1c1e191c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b272c1f1e241b1e241b1e241b1e241b272c1f1e241b1e241b24261c +1e241b1e241b24261c24261c1e241b1c1e1924261c1e241b1e241b1e241b272c1f +24261c24261c1c1e1924261c1e241b24261c24261c1e241b1c1e191e241b24261c +1c1e1924261c1e241b272c1f24261c1e241b1e241b1e241b1e241b272c1f1e241b +272c1f1e241b24261c24261c1e241b272c1f272c1f272c1f1e241b2b33222b3322 +1e241b24261c1e241b24261c1e241b24261c24261c1e241b1e241b272c1f272c1f +272c1f272c1f272c1f272c1f272c1f2b33221e241b2e3c443043212b3322272c1f +2b3322272c1f1e241b272c1f272c1f1e241b1e241b272c1f272c1f272c1f272c1f +272c1f272c1f1e241b2b33221e241b272c1f272c1f272c1f272c1f272c1f1e241b +272c1f272c1f272c1f272c1f272c1f2b3322272c1f272c1f272c1f1e241b272c1f +272c1f272c1f272c1f1e241b272c1f272c1f272c1f1e241b272c1f24261c24261c +24261c1e241b272c1f272c1f24261c1e241b24261c272c1f272c1f1e241b272c1f +272c1f272c1f1e241b24261c272c1f272c1f24261c1e241b24261c24261c272c1f +272c1f24261c1e241b272c1f1e241b24261c272c1f1e241b272c1f272c1f24261c +24261c24261c272c1f24261c272c1f24261c272c1f24261c272c1f272c1f24261c +24261c272c1f24261c262e35342d1f272c1f24261c272c1f24261c272c1f24261c +272c1f272c1f24261c24261c342d1f272c1f24261c272c1f262e352b3322272c1f +272c1f272c1f272c1f33352224261c342d1f262e35272c1f272c1f262e35262e35 +272c1f272c1f24261c262e3524261c272c1f342d1f272c1f262e35342d1f272c1f +342d1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f +4a6a8d41678a4561854a6a8d4a6a8d41678a4561853c586f3d5f7a456185456185 +41678a4561853c50724a6a8d344e6f4561853c5072344e6f3c586f2a343830444d +30444d3336423c586f3c5072333642373e4330444d2e3c443c586f30444d344e6f +344e6f3d5f7a2e3c442e3c44344e6f344e6f3c507241678a3d5f7a3c50723c586f +4561853c586f3c5072456185344e6f2e3c44344e6f3d5f7a30444d373e43333642 +2a3438262e3530444d262e352e3c443c50722e3c442a3438262e35344d59262e35 +262e352e3c442a34382e3c44262e35272c1f2a34382b33221e241b262e352b3322 +272c1f272c1f1e241b272c1f272c1f1e241b272c1f272c1f1e241b1e241b272c1f +272c1f1e241b272c1f1e241b272c1f1e241b1e241b1e241b24261c24261c1e241b +272c1f1e241b1e241b1e241b1e241b1e241b1e241b24261c24261c1e241b1e241b +1e241b1e241b272c1f1e241b1e241b24261c24261c24261c24261c1e241b1e241b +24261c24261c1e241b1e241b24261c1e241b1e241b1c1e191e241b1c1e191e241b +1e241b1e241b1c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e19 +24261c24261c1e241b1c1e191c1e191e241b1e241b1c1e191e241b272c1f1e241b +1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f1e241b1c1e191e241b +1e241b1e241b1c1e191e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f +2b33221e241b1e241b1e241b272c1f1e241b1e241b1e241b272c1f1e241b1e241b +1e241b1e241b1e241b272c1f1e241b1e241b1e241b24261c1e241b1e241b1e241b +24261c1c1e191c1e1924261c24261c1c1e191e241b1c1e191e241b1e241b1e241b +1e241b24261c1e241b1e241b272c1f1e241b272c1f272c1f272c1f1e241b1e241b +24261c1e241b1e241b1e241b1e241b1c1e1924261c1c1e191e241b1e241b1e241b +1e241b1c1e191c1e1924261c1e241b1e241b1e241b1e241b1c1e191c1e1924261c +1c1e1924261c24261c1e241b1e241b1e241b24261c24261c1e241b272c1f1e241b +1e241b272c1f1e241b24261c1e241b24261c1e241b272c1f1e241b1e241b272c1f +1e241b272c1f1e241b24261c24261c24261c272c1f272c1f1e241b272c1f1e241b +272c1f272c1f272c1f272c1f272c1f1e241b2b3322272c1f2b3322262e351e241b +2f3c221e241b272c1f1e241b272c1f1e241b1e241b1e241b272c1f1e241b272c1f +272c1f1e241b1e241b272c1f1e241b272c1f1e241b272c1f1e241b272c1f272c1f +2b3322272c1f272c1f272c1f272c1f2b33221e241b272c1f1e241b272c1f1e241b +272c1f272c1f272c1f2b3322272c1f272c1f1e241b272c1f272c1f1e241b272c1f +272c1f1e241b272c1f272c1f1e241b272c1f1e241b1e241b272c1f24261c24261c +24261c272c1f24261c24261c24261c272c1f272c1f272c1f24261c24261c1e241b +1e241b272c1f272c1f24261c272c1f1e241b24261c24261c1e241b272c1f1e241b +272c1f24261c272c1f24261c24261c24261c1e241b24261c24261c272c1f24261c +272c1f24261c272c1f2b3322262e35272c1f24261c272c1f24261c272c1f24261c +272c1f272c1f272c1f24261c272c1f342d1f272c1f24261c272c1f2b33222b3322 +272c1f342d1f272c1f262e35272c1f272c1f272c1f24261c272c1f272c1f272c1f +342d1f262e3524261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f342d1f272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f +4a6a8d4561853d5f7a4a6a8d4a6a8d4a6a8d456185344e6f4561853d5f7a4a6a8d +4a6a8d3c586f3c507245618530444d344e6f2a3438344e6f344e6f2e3c442e3c44 +2e3c44333642394446344e6f30444d262e353336422e3c44344e6f2e3c44344e6f +344e6f344e6f262e3533364230444d373e433c586f45618530444d344e6f344e6f +3d5f7a344e6f3c586f41678a30444d2a3438344e6f45618530444d2e3c442a3438 +262e35262e35262e35262e35262e352e3c442e3c44262e352a343830444d2a3438 +1e241b30444d262e35272c1f1e241b2b3322262e352b33221e241b1e241b2b3322 +262e35272c1f262e351e241b272c1f272c1f1e241b1e241b272c1f1e241b1e241b +1e241b1e241b1e241b1e241b1e241b24261c1e241b1e241b24261c1e241b24261c +24261c24261c272c1f1e241b1e241b1e241b272c1f1e241b1e241b24261c1c1e19 +1e241b1e241b1e241b1e241b1e241b24261c1e241b1e241b24261c1e241b1e241b +1e241b24261c1e241b1e241b1e241b1c1e1924261c1e241b1c1e191e241b272c1f +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b24261c +1c1e1924261c1c1e191e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b +1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b1e241b1e241b1c1e19 +1e241b1e241b1e241b272c1f1e241b272c1f1e241b1e241b1e241b1e241b1e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f272c1f1e241b2b3322 +1e241b272c1f1e241b272c1f272c1f2b33221e241b2b33221e241b272c1f1e241b +1e241b1e241b272c1f24261c1e241b1e241b1e241b24261c24261c1c1e1924261c +1c1e191e241b1e241b1c1e191c1e191c1e191e241b1e241b1e241b1e241b1e241b +24261c24261c1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b1e241b +1e241b24261c1e241b24261c24261c1e241b1e241b24261c1e241b24261c1e241b +1c1e1924261c1c1e1924261c1c1e1924261c1e241b1e241b24261c24261c24261c +1e241b24261c24261c1e241b24261c272c1f1e241b272c1f1e241b2b33221e241b +272c1f272c1f1e241b24261c1e241b1e241b272c1f1e241b272c1f1e241b24261c +1e241b1e241b1e241b1e241b1e241b1e241b272c1f272c1f1e241b272c1f272c1f +272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f2f3c22272c1f272c1f +2b33221e241b272c1f1e241b272c1f272c1f1e241b272c1f272c1f272c1f272c1f +272c1f272c1f1e241b272c1f272c1f1e241b272c1f272c1f1e241b272c1f1e241b +272c1f2b3322272c1f272c1f272c1f272c1f1e241b272c1f1e241b272c1f1e241b +272c1f272c1f1e241b272c1f272c1f1e241b272c1f272c1f24261c24261c272c1f +272c1f272c1f1e241b272c1f24261c24261c272c1f272c1f1e241b272c1f1e241b +272c1f24261c272c1f24261c24261c1e241b272c1f24261c24261c1e241b272c1f +24261c24261c1e241b272c1f272c1f1e241b1e241b272c1f272c1f24261c272c1f +24261c24261c1e241b272c1f272c1f24261c272c1f1e241b24261c24261c24261c +24261c272c1f272c1f342d1f24261c24261c272c1f272c1f272c1f272c1f24261c +24261c24261c272c1f24261c24261c272c1f272c1f272c1f272c1f272c1f2a3438 +262e35272c1f342d1f262e35342d1f272c1f342d1f342d1f272c1f342d1f262e35 +342d1f342d1f272c1f272c1f272c1f342d1f272c1f272c1f272c1f272c1f2b3322 +272c1f24261c333522272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f +4561854561853c586f41678a41678a4a6a8d456185344e6f4561853c50724a6a8d +4a6a8d3c586f3c50723d5f7a30444d3c50722e3c443d5f7a344e6f30444d2a3438 +2a34382a34383336423336422e3c44262e352a343830444d344e6f2e3c442e3c44 +2e3c4430444d2a34382a343830444d2e3c443c586f3c586f373e432e3c443c586f +344e6f2e3c4441678a3c50722e3c443336422e3c44344e6f2e3c442a34382e3c44 +1e241b262e35262e35262e35272c1f262e3530444d262e35262e352e3c442a3438 +2a34382e3c441e241b262e35262e352b33221e241b262e35272c1f272c1f272c1f +2b3322272c1f272c1f272c1f1e241b2b33221e241b1e241b1e241b1e241b272c1f +1e241b1e241b262e35272c1f1e241b24261c1e241b1c1e1924261c1e241b1c1e19 +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b24261c1e241b +272c1f1e241b1e241b1e241b1e241b1e241b1e241b24261c1e241b1e241b24261c +24261c1e241b1e241b1e241b1c1e191c1e191e241b24261c1c1e191e241b24261c +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1c1e191c1e191c1e191c1e191e241b1c1e191c1e191e241b1e241b1c1e191e241b +1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b272c1f +1e241b1e241b1e241b1e241b1e241b272c1f1e241b2b3322272c1f1e241b272c1f +1e241b1e241b272c1f2f3c22272c1f1e241b1e241b2b3322272c1f1e241b1e241b +1e241b272c1f1e241b1e241b24261c1e241b1e241b24261c24261c1e241b24261c +24261c1c1e1924261c1e241b24261c1c1e191e241b1e241b1e241b1e241b24261c +272c1f1e241b1e241b1e241b1e241b272c1f1e241b1e241b272c1f1e241b24261c +1e241b1e241b1c1e191e241b24261c24261c1e241b1e241b1e241b1e241b1e241b +24261c24261c1e241b24261c1e241b24261c24261c1e241b1e241b24261c1e241b +24261c1e241b24261c272c1f1e241b24261c1e241b272c1f1e241b1e241b1e241b +1e241b272c1f272c1f24261c272c1f1e241b272c1f1e241b1e241b272c1f272c1f +1e241b272c1f24261c1e241b272c1f24261c272c1f24261c1e241b272c1f272c1f +2b3322272c1f272c1f272c1f272c1f1e241b2b3322272c1f262e35272c1f272c1f +272c1f272c1f272c1f1e241b272c1f272c1f1e241b272c1f1e241b1e241b272c1f +1e241b272c1f272c1f1e241b272c1f1e241b1e241b272c1f272c1f272c1f272c1f +272c1f2b3322272c1f272c1f272c1f272c1f272c1f272c1f272c1f1e241b272c1f +272c1f272c1f272c1f272c1f1e241b272c1f24261c272c1f24261c272c1f272c1f +272c1f1e241b24261c24261c24261c1e241b24261c272c1f1e241b272c1f24261c +1e241b24261c1e241b272c1f272c1f272c1f272c1f24261c272c1f272c1f24261c +272c1f24261c1e241b1e241b272c1f272c1f24261c24261c24261c24261c272c1f +24261c24261c272c1f1e241b272c1f272c1f24261c272c1f272c1f24261c24261c +24261c1e241b272c1f272c1f272c1f24261c342d1f272c1f24261c342d1f272c1f +272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f2b3322 +272c1f2b3322342d1f2b3322262e352b3322262e35272c1f262e35272c1f262e35 +272c1f24261c272c1f342d1f262e35272c1f272c1f272c1f272c1f272c1f342d1f +272c1f272c1f272c1f272c1f272c1f272c1f272c1f342d1f24261c272c1f272c1f +3c50724561854561853c50724a6a8d41678a45618530444d4561853c5072456185 +41678a3c5072344e6f344e6f373e43373e432e3c44344e6f30444d30444d2e3c44 +262e352a34382e3c443336422e3c44262e352a343830444d30444d2e3c442a3438 +2e3c4430444d262e352e3c44344e6f344e6f3c50723336423336422e3c443d5f7a +333642344e6f41678a2e3c442e3c442e3c442e3c4430444d2a3438262e352e3c44 +262e35272c1f272c1f262e351e241b2e3c442e3c44262e35262e35262e352e3c44 +2a34382b3322262e35272c1f262e352a3438272c1f1e241b272c1f272c1f1e241b +1e241b272c1f1e241b272c1f1e241b272c1f1e241b272c1f1e241b1e241b1e241b +1e241b1e241b1e241b1e241b272c1f1e241b1e241b24261c1e241b1e241b1e241b +1e241b24261c1e241b1e241b1e241b24261c1e241b1e241b1e241b1e241b1e241b +1e241b1e241b1e241b1e241b1e241b24261c1e241b24261c1e241b1e241b1e241b +24261c1e241b1e241b1c1e1924261c1c1e1924261c1c1e191c1e191e241b272c1f +1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b1c1e191c1e191c1e19 +1e241b24261c1e241b1e241b1e241b1e241b1c1e191c1e191c1e191e241b1e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b +1e241b1e241b1c1e191e241b272c1f1e241b1e241b1e241b24261c1e241b1e241b +272c1f1e241b1e241b1e241b1e241b262e35272c1f272c1f1e241b2b3322272c1f +1e241b1e241b272c1f272c1f272c1f272c1f1e241b272c1f272c1f2b33221e241b +1e241b272c1f1e241b1e241b272c1f1e241b1e241b1e241b24261c24261c1c1e19 +24261c1e241b24261c1e241b1e241b24261c24261c1e241b1e241b1e241b24261c +1e241b24261c1e241b1e241b1e241b1e241b272c1f272c1f272c1f1e241b24261c +1e241b1e241b1e241b24261c24261c272c1f1e241b1c1e191e241b24261c1e241b +1e241b1e241b24261c24261c1e241b1e241b1e241b1e241b1e241b24261c1e241b +1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b272c1f272c1f1e241b +272c1f1e241b1e241b24261c1e241b1e241b1e241b272c1f1e241b1e241b272c1f +1e241b24261c1e241b24261c1e241b1e241b24261c1e241b1e241b272c1f1e241b +272c1f2f3c221e241b272c1f272c1f272c1f1e241b2f3c22272c1f272c1f272c1f +272c1f1e241b272c1f272c1f1e241b1e241b272c1f272c1f272c1f1e241b272c1f +272c1f1e241b1e241b272c1f272c1f1e241b1e241b1e241b272c1f1e241b272c1f +272c1f2b3322272c1f272c1f272c1f1e241b272c1f1e241b272c1f272c1f1e241b +272c1f1e241b272c1f1e241b272c1f24261c272c1f272c1f272c1f24261c24261c +24261c272c1f24261c24261c24261c24261c272c1f24261c24261c24261c272c1f +24261c24261c24261c24261c24261c1e241b24261c24261c24261c24261c24261c +24261c272c1f1e241b24261c1e241b272c1f1e241b272c1f24261c272c1f24261c +24261c272c1f24261c24261c24261c24261c24261c24261c24261c272c1f272c1f +272c1f1e241b272c1f272c1f24261c272c1f272c1f272c1f272c1f272c1f24261c +24261c24261c272c1f272c1f272c1f272c1f2b3322272c1f272c1f272c1f272c1f +262e35272c1f2b3322272c1f342d1f272c1f342d1f272c1f272c1f342d1f272c1f +272c1f342d1f262e35272c1f342d1f272c1f24261c272c1f272c1f262e352b3322 +342d1f24261c272c1f24261c272c1f272c1f272c1f272c1f272c1f24261c272c1f +344e6f3c50723c50723c507245618541678a3c586f2e3c4441678a3c50723c5072 +3c50723c586f344e6f2e3c44373e432a3438344e6f30444d2e3c4430444d262e35 +1e241b2e3c4430444d2a3438262e35262e352a3438344e6f2e3c44262e352e3c44 +2e3c44262e352a34382a343830444d344e6f30444d262e352a3438344e6f3c586f +2a34383c586f41678a2a34382a34382e3c442a3438262e35262e352a34382e3c44 +262e351e241b262e35262e35262e3530444d262e351e241b262e35262e35262e35 +262e352b3322272c1f1e241b272c1f2b3322272c1f272c1f1e241b1e241b272c1f +1e241b1e241b272c1f1e241b24261c272c1f1e241b1e241b1e241b1e241b1e241b +1e241b1e241b1e241b1e241b24261c24261c1e241b1e241b24261c1e241b1c1e19 +24261c1e241b24261c1e241b1e241b1e241b1e241b1e241b24261c1e241b24261c +24261c1e241b272c1f1e241b1e241b1e241b24261c1e241b1e241b1e241b1e241b +1e241b1e241b24261c1c1e191c1e191e241b24261c1c1e191e241b1e241b1e241b +262e351e241b1e241b1e241b1e241b1e241b24261c1e241b1e241b1e241b1c1e19 +1c1e191e241b24261c1c1e191e241b1e241b1e241b1e241b1e241b1e241b272c1f +1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b +1e241b272c1f1e241b1e241b1e241b272c1f1e241b1e241b1e241b24261c1e241b +272c1f24261c1e241b1e241b1e241b1e241b272c1f1e241b1e241b2b33221e241b +272c1f1e241b2b33221e241b272c1f1e241b2b3322272c1f272c1f1e241b272c1f +1e241b1e241b1e241b1e241b24261c1e241b1e241b1e241b272c1f1e241b1c1e19 +24261c24261c24261c1e241b1c1e191e241b24261c1e241b1e241b1e241b24261c +24261c1c1e191e241b1e241b1e241b1e241b272c1f272c1f1e241b1e241b1e241b +1e241b272c1f24261c24261c24261c24261c1e241b1e241b24261c1e241b1e241b +24261c1e241b24261c1c1e1924261c1c1e1924261c24261c24261c24261c1e241b +24261c24261c1e241b24261c1e241b1e241b1e241b272c1f1e241b272c1f1e241b +272c1f24261c24261c24261c1e241b24261c1e241b1e241b272c1f1e241b1e241b +1e241b24261c272c1f24261c1e241b272c1f272c1f24261c1e241b272c1f1e241b +272c1f272c1f272c1f2b3322272c1f272c1f272c1f272c1f272c1f272c1f272c1f +2b33221e241b272c1f272c1f272c1f1e241b272c1f1e241b272c1f1e241b1e241b +272c1f272c1f272c1f1e241b272c1f272c1f272c1f1e241b272c1f272c1f1e241b +1e241b272c1f272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f272c1f +272c1f272c1f1e241b272c1f272c1f1e241b272c1f24261c272c1f1e241b272c1f +24261c272c1f24261c272c1f272c1f1e241b24261c24261c24261c24261c24261c +272c1f24261c24261c24261c272c1f24261c272c1f24261c272c1f24261c1e241b +272c1f272c1f1e241b272c1f24261c24261c24261c272c1f24261c24261c24261c +24261c272c1f24261c1e241b24261c272c1f272c1f24261c272c1f1e241b24261c +24261c24261c272c1f272c1f24261c24261c24261c272c1f24261c272c1f272c1f +272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f262e352b3322272c1f +272c1f272c1f262e352b33222b3322262e35272c1f272c1f24261c262e35342d1f +262e35342d1f272c1f262e35272c1f342d1f24261c272c1f342d1f272c1f2b3322 +272c1f24261c272c1f272c1f342d1f272c1f24261c272c1f272c1f24261c272c1f +3c50723c5072344e6f3c50723c586f4561853c586f2e3c4441678a3c586f3c5072 +3c50723c50723c50722a34382e3c442a3438344e6f30444d2a34382a34381e241b +262e3530444d2e3c442a34382a3438262e352a3438344e6f2a3438262e35262e35 +2a34382e3c44262e35262e353336422e3c442e3c442a3438262e35344e6f344e6f +262e353c586f3c586f262e352e3c442e3c44262e352a3438272c1f262e35262e35 +2a34381e241b262e352e3c441e241b30444d262e35262e351e241b1e241b2a3438 +262e351e241b272c1f262e352b3322262e351e241b1e241b272c1f272c1f272c1f +262e35272c1f272c1f1e241b1e241b272c1f1e241b262e351e241b1e241b272c1f +1e241b1e241b1e241b24261c24261c24261c24261c24261c24261c24261c1e241b +1e241b24261c1e241b1e241b1e241b1c1e1924261c1c1e191c1e191c1e191c1e19 +24261c24261c1e241b272c1f1e241b1e241b24261c1c1e191e241b1c1e191c1e19 +24261c1c1e191c1e1924261c1c1e191c1e1924261c24261c1e241b1e241b1e241b +1e241b1e241b1e241b1e241b272c1f1e241b1e241b1c1e191c1e191e241b1e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191e241b1e241b1e241b +1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b +1e241b1e241b1e241b1e241b1e241b272c1f24261c24261c24261c1e241b1e241b +272c1f1e241b1e241b1e241b1e241b272c1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f1e241b1e241b1e241b1e241b272c1f272c1f1e241b272c1f1e241b +272c1f1e241b1e241b272c1f1e241b1e241b1e241b24261c24261c24261c24261c +1c1e191e241b24261c1e241b24261c1e241b1e241b272c1f1e241b1e241b1e241b +24261c24261c1e241b1e241b1e241b1e241b272c1f272c1f1e241b24261c1e241b +272c1f1e241b24261c1e241b272c1f24261c1e241b24261c24261c24261c24261c +24261c24261c1c1e1924261c24261c24261c1e241b1e241b1e241b272c1f1e241b +1e241b272c1f1e241b2b3322272c1f1e241b272c1f272c1f1e241b272c1f1e241b +1e241b24261c1e241b272c1f24261c24261c1e241b1e241b1e241b2b33221e241b +24261c1e241b1e241b1e241b272c1f1e241b24261c24261c1e241b272c1f1e241b +272c1f272c1f272c1f272c1f2b3322272c1f2b3322272c1f272c1f1e241b272c1f +272c1f1e241b1e241b272c1f1e241b1e241b272c1f272c1f1e241b272c1f272c1f +272c1f1e241b272c1f272c1f1e241b2b33221e241b1e241b272c1f272c1f272c1f +272c1f272c1f272c1f272c1f272c1f272c1f1e241b272c1f1e241b272c1f272c1f +272c1f24261c272c1f24261c272c1f272c1f272c1f272c1f24261c24261c1e241b +272c1f24261c272c1f24261c1e241b272c1f1e241b272c1f24261c24261c24261c +24261c272c1f24261c24261c24261c272c1f272c1f1e241b272c1f24261c272c1f +24261c272c1f272c1f24261c1e241b272c1f1e241b24261c272c1f272c1f24261c +272c1f24261c1e241b272c1f24261c24261c24261c24261c272c1f24261c24261c +272c1f272c1f272c1f24261c272c1f24261c24261c24261c272c1f272c1f24261c +272c1f24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f272c1f342d1f342d1f272c1f262e35342d1f342d1f272c1f262e35 +272c1f262e35272c1f342d1f272c1f342d1f272c1f24261c272c1f2b3322342d1f +272c1f342d1f272c1f272c1f272c1f272c1f272c1f24261c272c1f24261c272c1f +3c5072344e6f3c5072456185344e6f4561853c5072344e6f4561853d5f7a344e6f +3c50723c5072344e6f30444d2e3c442e3c4430444d2a3438262e35262e35262e35 +262e3530444d262e352e3c442a3438262e352a343830444d262e35262e352a3438 +262e352e3c44262e35262e352a34383944462a3438262e35262e352e3c44333642 +2a343845618530444d262e352e3c442a3438262e3524261c262e3530444d262e35 +272c1f1e241b2a3438262e351e241b2a34381e241b262e351e241b262e35272c1f +272c1f272c1f262e35272c1f272c1f1e241b1e241b262e351e241b2b33221e241b +272c1f1e241b262e351e241b272c1f1e241b1e241b272c1f1e241b1e241b1e241b +1e241b1e241b1e241b24261c24261c1e241b24261c1c1e1924261c1e241b24261c +24261c1e241b24261c1e241b1e241b24261c24261c24261c24261c24261c1c1e19 +24261c24261c24261c1e241b1e241b1e241b24261c1e241b24261c1e241b1e241b +1e241b1c1e191c1e1924261c1c1e1924261c24261c1e241b1e241b24261c1e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b1c1e191c1e191c1e19 +1e241b1e241b1c1e191e241b1e241b1e241b1e241b1e241b1e241b24261c24261c +272c1f1e241b272c1f1e241b1e241b1e241b1e241b1e241b2b33221e241b272c1f +1e241b1e241b1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b1e241b +24261c1e241b1e241b1e241b1e241b1e241b272c1f1e241b24261c272c1f24261c +24261c272c1f1e241b24261c2b3322272c1f272c1f2b3322272c1f1e241b272c1f +1e241b1e241b272c1f1e241b24261c1e241b1e241b272c1f272c1f1c1e191e241b +24261c24261c24261c1e241b24261c1e241b1e241b24261c1e241b1e241b1e241b +24261c1e241b24261c1e241b272c1f1e241b272c1f1e241b272c1f1e241b24261c +24261c24261c24261c1e241b272c1f1e241b1e241b24261c1e241b1e241b24261c +24261c24261c24261c24261c1e241b272c1f1e241b1e241b1e241b24261c24261c +1e241b1e241b272c1f2b3322272c1f1e241b272c1f272c1f1e241b1e241b272c1f +1e241b272c1f24261c1e241b272c1f24261c24261c1e241b1e241b1e241b272c1f +272c1f24261c272c1f24261c1e241b272c1f24261c1e241b24261c24261c272c1f +1e241b272c1f272c1f2f3c22272c1f2b33222b3322272c1f272c1f272c1f272c1f +1e241b272c1f1e241b1e241b272c1f272c1f1e241b272c1f272c1f1e241b272c1f +272c1f272c1f272c1f272c1f1e241b24261c272c1f272c1f1e241b272c1f272c1f +272c1f272c1f272c1f272c1f272c1f272c1f272c1f1e241b2b3322272c1f272c1f +272c1f272c1f1e241b24261c24261c272c1f24261c272c1f272c1f24261c24261c +272c1f24261c24261c272c1f1e241b272c1f272c1f272c1f272c1f272c1f24261c +24261c24261c24261c24261c24261c24261c272c1f1e241b24261c24261c24261c +272c1f1e241b272c1f24261c24261c24261c24261c24261c24261c24261c24261c +24261c272c1f272c1f272c1f272c1f24261c1e241b24261c1e241b272c1f24261c +24261c272c1f272c1f24261c272c1f24261c24261c24261c24261c272c1f272c1f +272c1f272c1f272c1f24261c272c1f272c1f342d1f272c1f272c1f272c1f342d1f +272c1f272c1f262e352b3322272c1f333522272c1f2b3322262e35342d1f262e35 +342d1f272c1f272c1f272c1f262e35272c1f333522262e35272c1f262e35342d1f +272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f342d1f272c1f +344e6f33364230444d3c586f344e6f3c586f344e6f30444d456185344e6f344e6f +344e6f3944463c50723c586f30444d2e3c4430444d2a3438262e35262e35262e35 +2a34382a3438262e35333642262e3524261c262e35262e35262e351e241b2e3c44 +262e352e3c441e241b2a34382e3c4439444633364224261c262e352e3c44262e35 +30444d3c586f2e3c442e3c442a3438262e35272c1f272c1f272c1f262e352a3438 +1e241b272c1f262e351e241b1e241b2a34382a34382a34381e241b262e351e241b +262e35272c1f1e241b272c1f262e351e241b272c1f262e351e241b272c1f1e241b +272c1f1e241b272c1f1e241b24261c272c1f272c1f1e241b1e241b1e241b1e241b +24261c1e241b1e241b1e241b1e241b24261c24261c24261c1c1e1924261c1e241b +24261c1e241b1e241b1e241b24261c1e241b24261c1c1e191e241b24261c1e241b +24261c24261c24261c1e241b1e241b1e241b272c1f1e241b1e241b1c1e191e241b +24261c24261c1c1e1924261c1e241b24261c1c1e191e241b1c1e191e241b1e241b +1e241b1e241b1e241b1e241b1e241b272c1f1e241b1c1e191e241b1e241b1e241b +1e241b24261c1e241b1e241b24261c1e241b1e241b1e241b24261c1e241b1e241b +1e241b1e241b272c1f1e241b1e241b1e241b272c1f1e241b1e241b1e241b1e241b +1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f1e241b272c1f24261c +1e241b272c1f1e241b1e241b1e241b1e241b272c1f24261c272c1f272c1f2b3322 +1e241b272c1f1e241b272c1f2b3322272c1f272c1f1e241b2b3322272c1f272c1f +1e241b272c1f272c1f2b332224261c1e241b1e241b1e241b24261c24261c24261c +1c1e191e241b24261c24261c24261c24261c24261c24261c272c1f1e241b1e241b +24261c24261c24261c1e241b272c1f272c1f272c1f1e241b272c1f1e241b272c1f +272c1f24261c272c1f24261c24261c24261c1e241b1e241b24261c24261c24261c +24261c24261c24261c272c1f1e241b1e241b1e241b24261c1e241b272c1f272c1f +1e241b1e241b272c1f272c1f272c1f272c1f1e241b272c1f1e241b1e241b1e241b +24261c24261c272c1f24261c1e241b272c1f1e241b272c1f1e241b272c1f24261c +1e241b1e241b272c1f272c1f272c1f272c1f1e241b272c1f1e241b1e241b272c1f +272c1f272c1f272c1f272c1f2b3322272c1f272c1f2b3322272c1f272c1f2b3322 +1e241b272c1f1e241b272c1f272c1f272c1f272c1f272c1f1e241b272c1f272c1f +272c1f1e241b272c1f1e241b2b33221e241b272c1f1e241b272c1f272c1f272c1f +272c1f272c1f272c1f2b3322272c1f272c1f2b3322272c1f272c1f272c1f1e241b +272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c272c1f1e241b +2b332224261c272c1f272c1f272c1f1e241b24261c272c1f24261c272c1f272c1f +24261c24261c24261c24261c1e241b272c1f272c1f272c1f272c1f272c1f272c1f +24261c272c1f272c1f272c1f24261c24261c24261c24261c24261c24261c24261c +272c1f1e241b272c1f24261c24261c272c1f272c1f24261c24261c24261c272c1f +272c1f272c1f24261c24261c24261c272c1f272c1f24261c272c1f24261c24261c +24261c272c1f24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f262e35 +262e35342d1f272c1f262e35342d1f272c1f2b33222b3322342d1f2b3322342d1f +262e35342d1f2b3322342d1f2b33222b3322262e35262e35342d1f272c1f262e35 +272c1f342d1f272c1f272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f +30444d333642373e433c586f373e433c50722e3c44344e6f4561853c586f344e6f +2e3c443336422e3c443c586f2e3c4430444d344e6f262e35262e35272c1f262e35 +2e3c442a3438262e35262e35262e35262e35333642262e352a3438262e352e3c44 +262e352a3438262e35262e352e3c442a3438262e35262e35262e35262e35262e35 +2e3c442e3c44262e3530444d2e3c441e241b262e351e241b272c1f262e352e3c44 +272c1f1e241b2b33221e241b262e35304321262e352a34382a34382f3c22272c1f +1e241b262e35272c1f272c1f1e241b272c1f1e241b272c1f262e35262e351e241b +262e35272c1f272c1f1e241b2b33221e241b1e241b1e241b1e241b1e241b1e241b +1e241b1e241b1e241b1c1e1924261c1e241b262e3524261c1c1e191c1e1924261c +24261c24261c1e241b1e241b24261c24261c24261c1e241b1e241b24261c24261c +24261c24261c1e241b1e241b1e241b1e241b24261c262e351e241b1e241b1e241b +1c1e1924261c24261c1c1e1924261c272c1f24261c24261c1e241b24261c272c1f +1e241b1e241b1e241b1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b +1e241b24261c1e241b1e241b1e241b1e241b1e241b1e241b24261c1e241b1e241b +1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b272c1f1e241b1e241b +24261c1e241b1e241b2b3322272c1f1e241b1e241b24261c1e241b24261c24261c +1e241b272c1f1e241b1e241b1e241b1e241b272c1f1e241b2b3322272c1f1e241b +272c1f272c1f1e241b272c1f2b3322272c1f1e241b2b3322272c1f272c1f272c1f +272c1f2b33221e241b272c1f272c1f272c1f24261c272c1f272c1f24261c24261c +24261c1e241b24261c24261c24261c24261c272c1f1e241b1e241b1e241b24261c +24261c272c1f272c1f272c1f272c1f1e241b272c1f272c1f1e241b272c1f1e241b +1e241b272c1f272c1f24261c272c1f272c1f24261c24261c24261c24261c272c1f +24261c24261c24261c24261c24261c1e241b24261c1e241b272c1f1e241b272c1f +1e241b2b3322272c1f1e241b1e241b1e241b272c1f272c1f272c1f272c1f1e241b +2b33221e241b272c1f1e241b24261c272c1f24261c272c1f272c1f1e241b272c1f +1e241b24261c24261c24261c272c1f272c1f24261c1e241b24261c272c1f272c1f +1e241b272c1f2b3322272c1f2f3c222b3322272c1f272c1f272c1f272c1f272c1f +272c1f272c1f1e241b272c1f272c1f2b3322272c1f1e241b272c1f1e241b272c1f +1e241b272c1f272c1f1e241b1e241b272c1f1e241b272c1f1e241b272c1f272c1f +272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f2b33222b3322272c1f +272c1f24261c272c1f24261c24261c24261c272c1f2b332224261c272c1f272c1f +272c1f24261c272c1f1e241b272c1f272c1f24261c272c1f272c1f24261c24261c +24261c272c1f272c1f272c1f24261c24261c24261c272c1f272c1f1e241b272c1f +272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f24261c24261c24261c +272c1f272c1f272c1f272c1f24261c272c1f1e241b272c1f24261c24261c1e241b +24261c272c1f24261c24261c272c1f272c1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f262e35272c1f272c1f +272c1f272c1f272c1f342d1f272c1f272c1f2a3438333522262e352b3322272c1f +2b33222a3438262e352b3322272c1f342d1f342d1f262e35342d1f262e35272c1f +272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f +373e43333642344e6f3c586f3c507230444d2a3438344e6f3c586f3c507230444d +3336422e3c442a3438344e6f2a34382e3c4430444d24261c2b3322272c1f262e35 +30444d262e35262e35262e35272c1f262e35262e35272c1f262e35262e352a3438 +2a3438262e35262e352a34382e3c44262e35262e3524261c262e35262e35262e35 +2a3438262e352e3c442e3c44262e35262e351e241b272c1f272c1f272c1f262e35 +272c1f272c1f262e351e241b262e352a34381e241b272c1f262e352a3438272c1f +262e35272c1f262e351e241b272c1f272c1f272c1f272c1f1e241b272c1f272c1f +1e241b272c1f272c1f1e241b272c1f1e241b272c1f1e241b1e241b24261c1e241b +24261c1c1e1924261c24261c1e241b24261c24261c24261c24261c1c1e1924261c +24261c1e241b272c1f24261c1e241b24261c24261c1c1e1924261c24261c24261c +24261c272c1f1e241b1e241b24261c24261c1e241b1e241b1e241b24261c24261c +24261c1c1e1924261c24261c24261c1c1e1924261c1e241b1e241b1e241b1e241b +272c1f1e241b1e241b1e241b1e241b1e241b24261c1e241b1e241b1e241b1e241b +272c1f1e241b1e241b1e241b272c1f1e241b1e241b1e241b272c1f1e241b272c1f +1e241b1e241b1e241b1e241b272c1f1e241b1e241b1e241b1e241b1e241b24261c +1e241b1e241b1e241b1e241b272c1f24261c24261c272c1f1e241b272c1f1e241b +1e241b272c1f1e241b272c1f272c1f1e241b272c1f272c1f272c1f272c1f24261c +1e241b272c1f272c1f1e241b2b3322272c1f272c1f272c1f272c1f2b3322272c1f +272c1f272c1f272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f272c1f +24261c272c1f24261c24261c272c1f1e241b24261c1e241b272c1f272c1f1e241b +272c1f2b33221e241b272c1f272c1f272c1f2b33221e241b24261c272c1f24261c +24261c272c1f24261c1e241b272c1f272c1f24261c1e241b24261c24261c24261c +24261c272c1f24261c272c1f1e241b1e241b272c1f272c1f1e241b272c1f1e241b +272c1f1e241b272c1f272c1f272c1f1e241b1e241b272c1f1e241b272c1f272c1f +24261c24261c24261c272c1f1e241b272c1f272c1f1e241b1e241b272c1f272c1f +1e241b272c1f272c1f2b332224261c272c1f24261c272c1f1e241b1e241b272c1f +272c1f2b3322272c1f272c1f272c1f262e352b33222b3322272c1f272c1f2b3322 +272c1f272c1f2b33221e241b272c1f272c1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f2b3322272c1f272c1f1e241b272c1f2b33221e241b272c1f272c1f +272c1f2b3322272c1f272c1f272c1f272c1f2b33221e241b272c1f2b3322272c1f +2b3322272c1f1e241b2b33222b3322272c1f2b3322272c1f272c1f272c1f24261c +272c1f272c1f272c1f272c1f272c1f24261c272c1f272c1f272c1f272c1f272c1f +24261c24261c24261c24261c272c1f24261c272c1f272c1f24261c272c1f24261c +272c1f272c1f24261c24261c272c1f24261c24261c24261c272c1f24261c24261c +24261c24261c24261c272c1f24261c272c1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f272c1f272c1f24261c24261c24261c24261c272c1f272c1f262e35 +272c1f272c1f272c1f272c1f262e35342d1f262e3524261c342d1f342d1f272c1f +342d1f342d1f262e35333522272c1f342d1f272c1f262e35333522272c1f2b3322 +2b3322272c1f333522262e353335222b33222b33222b3322272c1f2b3322342d1f +2b3322342d1f272c1f342d1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f +30444d262e352e3c443c586f3c507230444d2a3438344e6f3c5072344e6f2e3c44 +2a343830444d262e3530444d262e352e3c442e3c44262e35262e35272c1f262e35 +30444d2a3438272c1f262e35262e35272c1f262e35272c1f262e35262e352a3438 +262e35262e352a3438262e352a34382a34382a3438262e35262e35262e352a3438 +262e352a34382a34382a3438262e35262e35272c1f1e241b272c1f272c1f2b3322 +262e35272c1f272c1f1e241b2a34382e3c441e241b272c1f262e35272c1f1e241b +262e352b3322272c1f272c1f272c1f1e241b272c1f272c1f272c1f1e241b272c1f +272c1f1e241b1e241b272c1f272c1f1e241b262e351e241b24261c1e241b24261c +262e351c1e1924261c24261c24261c24261c24261c24261c24261c24261c24261c +24261c1c1e1924261c24261c24261c24261c24261c24261c1c1e1924261c24261c +24261c24261c24261c24261c1e241b1e241b24261c1e241b24261c24261c24261c +24261c24261c24261c1c1e1924261c24261c1c1e1924261c24261c1e241b1e241b +1e241b24261c24261c1e241b272c1f272c1f1e241b1e241b272c1f272c1f1e241b +24261c24261c24261c24261c272c1f24261c24261c1e241b24261c24261c1e241b +272c1f1e241b272c1f1e241b1e241b1e241b272c1f1e241b1e241b24261c272c1f +272c1f1e241b1e241b272c1f1e241b272c1f1e241b272c1f1e241b24261c24261c +1e241b1e241b1e241b1e241b272c1f1e241b24261c2b3322272c1f272c1f24261c +272c1f2b3322272c1f272c1f2f3c222b33222b3322272c1f272c1f272c1f272c1f +272c1f1e241b2b3322272c1f2b3322272c1f272c1f24261c272c1f1e241b272c1f +272c1f272c1f272c1f24261c272c1f24261c2b33222b33221e241b1e241b272c1f +1e241b272c1f272c1f1e241b2b33221e241b272c1f272c1f272c1f272c1f2b3322 +1e241b1e241b272c1f24261c272c1f24261c24261c272c1f24261c272c1f24261c +24261c24261c24261c272c1f272c1f272c1f24261c24261c2b332224261c2b3322 +272c1f272c1f272c1f272c1f1e241b272c1f272c1f272c1f1e241b272c1f272c1f +272c1f272c1f272c1f272c1f24261c24261c24261c272c1f24261c272c1f272c1f +272c1f272c1f1e241b2b332224261c272c1f1e241b272c1f272c1f272c1f272c1f +1e241b2b3322272c1f272c1f2b33222f3c22272c1f2b33222b3322272c1f272c1f +272c1f272c1f272c1f2b33222f3c222f3c22272c1f1e241b262e35272c1f272c1f +272c1f1e241b2b3322272c1f272c1f272c1f272c1f1e241b2b3322272c1f272c1f +2b3322272c1f2b33222b3322262e35272c1f272c1f262e352b33222b3322272c1f +2b33222b33222b33222b33222b3322272c1f272c1f2b3322272c1f272c1f272c1f +272c1f272c1f272c1f272c1f272c1f342d1f272c1f272c1f272c1f272c1f2b3322 +272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f272c1f +272c1f272c1f2b3322333522272c1f272c1f272c1f272c1f272c1f272c1f2b3322 +272c1f2b3322342d1f272c1f342d1f342d1f262e35272c1f333642272c1f342d1f +262e35272c1f262e35272c1f2b33222b33222a34382b3322262e352a34382b3322 +2a34382b3322262e353335222a34382b33222b3322262e352b33223336422b3322 +2e3c442b33222b33222a34383335222e3c442b33223335222b33222e3c442f3c22 +2a34382f3c222a34383335222b3322342d1f2b3322272c1f2b33222b33222b3322 +2e3c442e3c44344e6f3c50723c50722e3c44333642344e6f3c507230444d333642 +373e433336422a34382a34382e3c44373e432e3c44342d1f2b3322272c1f272c1f +2e3c44333522262e35333522272c1f272c1f262e35272c1f262e35262e352a3438 +262e35262e352a3438272c1f262e35262e3530444d2a3438262e35262e352a3438 +2a3438262e35262e352e3c442e3c441e241b272c1f272c1f262e35262e352b3322 +262e35272c1f262e35272c1f2b33222e3c44262e351e241b262e35262e35272c1f +262e35262e351e241b272c1f2b3322262e35272c1f2b3322272c1f272c1f1e241b +272c1f262e35272c1f2a3438272c1f262e3524261c262e3524261c262e3524261c +24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c24261c +24261c24261c24261c333642272c1f24261c24261c24261c24261c272c1f24261c +342d1f262e3524261c24261c262e35272c1f262e3524261c24261c24261c24261c +24261c24261c24261c262e3524261c24261c24261c24261c24261c24261c24261c +262e3524261c272c1f262e351e241b1e241b272c1f272c1f24261c272c1f272c1f +272c1f24261c1e241b272c1f272c1f272c1f272c1f24261c272c1f2b3322272c1f +2b3322272c1f262e352b33221e241b1e241b272c1f272c1f1e241b272c1f272c1f +1e241b2b3322272c1f272c1f272c1f24261c272c1f272c1f272c1f1e241b2b3322 +272c1f2b33222b33221e241b272c1f272c1f2b33222b33222b33222b33222b3322 +2b3322272c1f272c1f272c1f2f3c222b3322272c1f2b33222b33222b33222b3322 +272c1f272c1f262e352f3c222b33222b33222b3322272c1f2b33222b3322262e35 +2b33222b3322272c1f272c1f272c1f2b33222b33222b33222b3322272c1f2b3322 +2b33222b33222b3322262e352b3322262e352f3c222b33222b3322272c1f2b3322 +2b33222b33222f3c222b33222b33222b3322272c1f272c1f272c1f272c1f342d1f +272c1f272c1f2b33222f3c22272c1f272c1f2b33222b33222b33222f3c22262e35 +2b33222b33222b3322272c1f2b3322272c1f2b33222b33222b33222b33222b3322 +2b3322272c1f2b3322272c1f2b33222b33222b33222b33222b33222b33222b3322 +2f3c222b33222b33222b33222b33222b33222b33222b33222b3322272c1f2f3c22 +2b33222f3c222f3c222b33222f3c222f3c222f3c222f3c223043212b33222f3c22 +2f3c222b33222a34382f3c222a34382a34382f3c222b33222b33222b33222f3c22 +2f3c222b33222f3c222f3c222f3c222f3c222f3c222b33222f3c222f3c222f3c22 +2f3c222a34382f3c222f3c222f3c222f3c223043212f3c222f3c222f3c222f3c22 +2f3c222b33222e3c443043212f3c222f3c222f3c222e3c442f3c222a34382f3c22 +2e3c44333522373e432b33222f3c222f3c22373e433335223335223a44232f3c22 +2f3c222e3c442f3c222f3c222e3c443043212f3c222e3c44383c232e3c44373e43 +383c232f3c22373e432f3c222e3c442f3c22383c23373e432f3c22373e432f3c22 +373e43383c23373e433a4423373e433043213944463043213043212f3c22304321 +30432130444d354c313a442330444d3a44233944463043213a442330444d304321 +354c31354c313a44233944463944463944463f4e323a44233f4e32354c31354c31 +354c313a44233944463f4e323f4e32354c313f4e32394446354c313d573b3f4e32 +3944463f4e323d4f563f4e324e50433f4e323f4e324e50433d4f563f4e324e5043 +4658644c502646586447583249606546586456583849603254605f49603254605f +2e3c4430444d30444d373e4339444639444630444d3c50723c50723944462e3c44 +344d592a34382e3c442e3c4430444d373e432e3c443336422e3c44333522333642 +2e3c442e3c442b33222e3c443336422b33222e3c442b33222e3c442b33222f3c22 +2b33222a34382f3c222a34382e3c442b33223944462a34382a34382a34382e3c44 +30444d2f3c222a34383336422f3c222a34382a34382b33222a34382f3c222e3c44 +2f3c222e3c442f3c222f3c222f3c222f3c222f3c222a34382f3c222b33222f3c22 +2f3c222e3c442f3c222a34383043212a34382b33222a3438373e432a34382b3322 +2a3438383c232e3c442f3c222b33222b3322262e352b3322373e43342d1f262e35 +2a34383336422a34382e3c442a34382e3c442a34383336422a3438262e35333642 +2a34382a3438333522333642333522333642373e433335223336422e3c442a3438 +373e43333642342d1f3336423335222a34382a34382e3c442e3c442a3438333642 +3336423336423335223336423335222e3c443336422e3c44333642333642333642 +3335223336422a34382e3c442f3c222e3c442a3438373e43373e432f3c22373e43 +2f3c222f3c22373e432f3c22373e432f3c223043212e3c443043212e3c442f3c22 +3043213043213043212f3c22304321373e433a442330432139444630432130444d +30432130432139444630432130444d3a442330444d3944463a4423304321304321 +304321394446304321304321354c313944463f4e323d4f564c5026354c313d4f56 +354c31354c31354c31354c313d573b354c31354c313d573b354c31354c31354c31 +3d573b354c31354c313d573b3f4e323d4f563f4e32354c313d4f563f4e323f4e32 +3d4f564758323d4f563f4e323f4e324658644960324e50433d573b3d573b3d573b +3d573b4960654758323d573b4960654758324960324960654b6933496065475832 +4960324658644b69334b686556603a4b693354605f4b686556603a4b686556603a +576a62576a6256603a576a625474434b6865576a624b69334b6865576b33547443 +576a62576a62547443666c5e547443637471627444547443576a62547443637471 +627444666c5e637471627444637471627444637471627444667c74657c44597c75 +667c74657c44637471757c71667c74657c44667c746b86736b8673757c71778772 +667c747787726b86737787726b86737787727787726b8673709081709081709081 +7d90827090817d90827d90827d90827787727e98827d90827d90827d90827d9082 +7e98827d90827d90827e98828b988281a0898b988281a0897e98828b988281a089 +81a0897e988281a08981a08981a08981a08981a0898ea08992a88d8ea08992a8b6 +92a88d9ea08a9ea88e92a88d92a8b692a88d9ea88e92a8b69ea88e9ea88e9ea88e +a0b09fa0b09fafb09e9ea88ea0b09fa0b09fa0b09fa3b7a4afb09eb0b8a3aeb0bd +afb09eafb09ea3b7a4b0b8a3afb9bcb0b8a3afb9bcb0b8a3afb9bcb0b8a3afb9bc +afb9bcafc0abb8c1afb8c1afb8c1afb8c3c6b8c1afb8c1afb8c3c6b8c1afb8c1af +c0cbb8b8c3c6c0cbb8c0cbb8c0cbb8c0cbb8c0cbb8bacdd9cccdccbacdd9cccdcc +c0cbb8cccdcccdd5decccdccd4dcd0cdd5decccdccd4dcd0cdd5decdd5decccdcc +cdd5decdd5ded4dcd0d4dcd0d4dcd0d4dcd0d2dee6d4dcd0d4dcd0dcd6d6d4dcd0 +dfe1e6dfe1e6d4dcd0dfe1e6dfe1e6d2dee6dfe1e6d4dcd0dfe1e6e0e6e8dfe1e6 +dfe1e6e0dfc6e0e6e8e0e6e8ebeae7e0e6e8dfe1e6e0e6e8ebeae7f0f1e3ebeae7 +f0f1e3f0f1e3f0f1e3ebeae7f0f1e3f0f1e3f5f7e9f5f7e9f5f7e9f5f7e9f5f7e9 +757c71757c71757c71757c71757c71857d67757c7184888775889b848887757c71 +8488877787727787728488877d908284888777877284888777877284888787886d +8488878b90808b908087886d8b90808b90808488878b90808b90808b919f778772 +8b90808b98828b919f8b90808b919f8b98829da1ab8b98828b98828b98828ea089 +9ea08a8a99ab8ea0898a99ab8ea0899ea08a9da1ab8ea0899ea08a8ea0899ea08a +9da1ab9ea88e9ea9b48ea0899da1ab9da1ab9da1ab92a88d92a88d9ea9b49ea88e +92a8b69ea88e92a88d94afa19ea88ea0b09fa0b09fa0b09fa0b09fa0b09fa0b09f +a0b09f9ea88eafb09e9ea9b4aba9a6a0b09fafb09ea0b09fafb09ea0b09fb0b8a3 +afb09ea0b09fafb09eb0b8a3b0b8a3afb09eb0b8a3afb09eafb09eb0b8a3afb09e +afb09eafb09eb0b8a3b0b8a3afb09eb0b8a3b0b8a3afb9bcb0b8a3b8c1afb0b8a3 +b8c1afb8c1afb8c1afb8c1afb8c1afc1c2aec1c2aec1c2aec1c2aecfc6b8b8c1af +c1c2aec1c2aec1c2aeb8c1afb8c1afc1c2aec1c2aec1c2aec1c2aec1c2aec1c4c7 +c1c4c7c1c4c7cfc6b8c1c4c7c0cbb8cfc6b8cccdccc0cbb8cccdcccccdccc0cbb8 +cccdcccccdcccccdccc0cbb8c1d4e2cccdcccccdcccdd5dec5dae4c0cbb8cdd5de +cdd5decdd5decdd5dec5dae4cccdcccdd5decdd5ded4dcd0c5dae4d4dcd0d4dcd0 +d4dcd0d2dee6d4dcd0cdd5ded4dcd0d4dcd0d4dcd0d9e6ead4dcd0d2dee6d4dcd0 +d4dcd0d9e6ead9e6eae0e6e8d9e6eae0dfc6e0e6e8e0e6e8e0e6e8ebeae7f0f1e3 +e0e6e8e0e6e8ebeae7ebeae7f0f1e3e0e6e8f0f1e3d9e6eaf0f1e3f0f1e3f0f1e3 +f0f1e3ebeae7ebeae7ebeae7f0f1e3f0f1e3ebeae7f0f1e3ebeae7f0f1e3f0f1e3 +f0f1e3f0f1e3f0f1e3f5f7e9f0f1e3f0f1e3f0f1e3f5f7e9f0f1e3f0f1e3f5f7e9 +f5f7e9f0f1e3f5f7e9f5f7e9f0f1e3f5f7e9f5f7e9f5f7e9f5f7e9f0f1e3f5f7e9 +f0f1e3f5f7e9f0f1e3f5f7e9f5f7e9f5f7e9f5f7e9f5f7e9f5f7e9f5f7e9f5f7e9 +f5f7e9f5f7e9f5f7e9f5f7e9f5f7e9f5f7e9fdfdf4f5f7e9f5f7e9f5f7e9f5f7e9 +fdfdf4f5f7e9fdfdf4f5f7e9fdfdf4f5f7e9fdfdf4fdfdf4fdfdf4fdfdf4f5f7e9 +f5f7e9fdfdf4fdfdf4fdfdf4fdfdf4f5f7e9fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4 +fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4 +fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4 +fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4 +fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4 +fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4 +fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4 +fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4 +fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4 +fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4 +fdfdf4fdfdf4fdfdf4fdfdf4f5f7e9fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4 +fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4f5f7e9fdfdf4fdfdf4fdfdf4 +fdfdf4fdfdf4f5f7e9fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4 +fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4 +fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4 +fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4fdfdf4f5f7e9fdfdf4fdfdf4fdfdf4fdfdf4 +end +grestore +showpage +%%Trailer +%%Pages: 1 +%%EOF diff --git a/systems/doc/pdftex/samplepdftex/pic.jpg b/systems/doc/pdftex/samplepdftex/pic.jpg Binary files differnew file mode 100644 index 0000000000..4ae57de469 --- /dev/null +++ b/systems/doc/pdftex/samplepdftex/pic.jpg diff --git a/systems/doc/pdftex/samplepdftex/pic.mps b/systems/doc/pdftex/samplepdftex/pic.mps new file mode 100644 index 0000000000..d44fbb6eb5 --- /dev/null +++ b/systems/doc/pdftex/samplepdftex/pic.mps @@ -0,0 +1,22 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: -2 -2 403 252 +%%Creator: MetaPost +%%CreationDate: 1999.09.25:1723 +%%Pages: 1 +%%EndProlog +%%Page: 1 1 + 0 0.6 0 setrgbcolor 0 4 dtransform truncate idtransform setlinewidth pop + [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit +gsave newpath 400.00008 0 moveto +388.05362 20.69193 369.76968 36.62247 350.00008 50 curveto +236.22455 126.98863 70.53836 127.82376 0.00008 250 curveto +-1 1 scale stroke grestore + 0 2 dtransform truncate idtransform setlinewidth pop +gsave newpath 350.00008 50 moveto +309.8453 199.85959 97.68582 152.31425 0.00008 250 curveto +-1 1 scale stroke grestore +gsave newpath 350.00008 50 moveto +195.84702 50 37.96687 108.30608 0.00008 250 curveto +-1 1 scale stroke grestore +showpage +%%EOF diff --git a/systems/doc/pdftex/samplepdftex/pic.pdf b/systems/doc/pdftex/samplepdftex/pic.pdf Binary files differnew file mode 100644 index 0000000000..4f20d12a6d --- /dev/null +++ b/systems/doc/pdftex/samplepdftex/pic.pdf diff --git a/systems/doc/pdftex/samplepdftex/pic.png b/systems/doc/pdftex/samplepdftex/pic.png Binary files differnew file mode 100644 index 0000000000..d1b0a2e57c --- /dev/null +++ b/systems/doc/pdftex/samplepdftex/pic.png diff --git a/systems/doc/pdftex/samplepdftex/pic16.png b/systems/doc/pdftex/samplepdftex/pic16.png Binary files differnew file mode 100644 index 0000000000..2ba28d80cd --- /dev/null +++ b/systems/doc/pdftex/samplepdftex/pic16.png diff --git a/systems/doc/pdftex/samplepdftex/rgb.icc b/systems/doc/pdftex/samplepdftex/rgb.icc Binary files differnew file mode 100644 index 0000000000..d9c712f690 --- /dev/null +++ b/systems/doc/pdftex/samplepdftex/rgb.icc diff --git a/systems/doc/pdftex/samplepdftex/samplepdf.0 b/systems/doc/pdftex/samplepdftex/samplepdf.0 new file mode 100644 index 0000000000..9622d8d13f --- /dev/null +++ b/systems/doc/pdftex/samplepdftex/samplepdf.0 @@ -0,0 +1,24 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: -2 -2 403 252 +%%HiResBoundingBox: -1.99992 -2 402.00008 252 +%%Creator: MetaPost 0.901 +%%CreationDate: 2005.06.23:1538 +%%Pages: 1 +%%BeginProlog +%%EndProlog +%%Page: 1 1 + 0 0.6 0 setrgbcolor 0 4 dtransform truncate idtransform setlinewidth pop + [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit +gsave newpath 400.00008 0 moveto +388.05362 20.69193 369.76968 36.62247 350.00008 50 curveto +236.22455 126.98863 70.53836 127.82376 0.00008 250 curveto +-1 1 scale stroke grestore + 0 2 dtransform truncate idtransform setlinewidth pop +gsave newpath 350.00008 50 moveto +309.8453 199.85959 97.68582 152.31425 0.00008 250 curveto +-1 1 scale stroke grestore +gsave newpath 350.00008 50 moveto +195.84702 50 37.96687 108.30608 0.00008 250 curveto +-1 1 scale stroke grestore +showpage +%%EOF diff --git a/systems/doc/pdftex/samplepdftex/samplepdf.1 b/systems/doc/pdftex/samplepdftex/samplepdf.1 new file mode 100644 index 0000000000..bf4ae64862 --- /dev/null +++ b/systems/doc/pdftex/samplepdftex/samplepdf.1 @@ -0,0 +1,24 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: -21 30 403 260 +%%HiResBoundingBox: -20.46147 30.30342 402.00014 259.24388 +%%Creator: MetaPost 0.901 +%%CreationDate: 2005.06.23:1538 +%%Pages: 1 +%%BeginProlog +%%EndProlog +%%Page: 1 1 + 0 0 0.6 setrgbcolor 0 4.00002 dtransform truncate idtransform setlinewidth pop + [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit +gsave newpath -18.46147 32.30774 moveto +5.43059 32.09502 28.438 39.7596 50.00014 50.0003 curveto +174.0918 108.93628 258.92859 251.25786 400.00014 250.00183 curveto +[0.50769 0.86154 0.86154 -0.50769 0 0] concat stroke grestore + 0 2 dtransform truncate idtransform setlinewidth pop +gsave newpath 50.00014 50.0003 moveto +199.49663 8.51305 266.24567 215.4356 400.00014 250.00183 curveto +[0.50769 0.86154 0.86154 -0.50769 0 0] concat stroke grestore +gsave newpath 50.00014 50.0003 moveto +128.26218 182.8096 258.64954 289.2285 400.00014 250.00183 curveto +[0.50769 0.86154 0.86154 -0.50769 0 0] concat stroke grestore +showpage +%%EOF diff --git a/systems/doc/pdftex/samplepdftex/samplepdf.tex b/systems/doc/pdftex/samplepdftex/samplepdf.tex new file mode 100644 index 0000000000..8b1f69faf3 --- /dev/null +++ b/systems/doc/pdftex/samplepdftex/samplepdf.tex @@ -0,0 +1,1295 @@ +% $Id: samplepdf.tex 749 2016-04-26 23:03:45Z karl $ +% (This samplepdf.tex file is public domain.) +% +% This example shows how to use pdfTeX primitives. High-level macros are +% provided by macros packages like LaTeX or ConTeXt. We present basic +% set of commands, extended with some more sophisticated issues (like MP +% to PDF conversion). All the functionality other than provided by +% pdfTeX itself is commented by default. Please follow the code below +% and uncomment fragments you want. + +% Many new features has been implemented since the first release of pdfTeX. To +% make this sample version independent, we use compatibility sections. + +\def\ifversion#1.#2#3#4 {% 1.20, 1.30.0 ... + \ifnum\pdftexversion<#1#2#3 + \notsupported + \else + \supported + \fi} + +% to trick \if..\fi balancing +% \def\otherwise{\else} +% \def\endif{\fi} + +\def\supported{\expandafter\iftrue} +\def\notsupported{\expandafter\iffalse} + +\def\feature#1.#2#3#4#{\dofeature{#1#2#3}{#1.#2#3#4}} +\long\def\dofeature#1#2#3#4\endfeature{% + \ifnum#1>\pdftexversion + #3 not supported by this version of \pdfTeX.\par + \else#4\fi} + +\def\pdfTeX{pdf\TeX} +\def\cs#1{{\tt\string#1}} +\def\newpage{\null\vfill\eject} + +\parindent=0pt + +\input pdfcolor.tex % simple macros to use color with pdftex; + % color names derived from dvicolor.tex + +% Unless mentioned explicitly, the default values of new parameters +% are: 1) zero for integer/dimension parameters; 2) empty for tokens +% parameters. + +% In previous versions of pdfTeX, integer parameters took their corresponding +% values from pdftex.cfg config file. Starting from pdfTeX 1.20, the config file +% id not read at all. All the parameters are specified in TeX code, optionally +% dumped into format file. + +\pdfoutput=1 % positive value turns on PDF output; + % this parameter can not be changed after the pdf + % output has been opened + +\pdfcompresslevel=0 % compression level for text and image; allowed + % values are 0..9; + % 0 = no compression + % 1 = fastest compression + % 9 = best compression + % 2..8 = something between + % numbers out of range will be fixed to the most + % closed allowed value. Recommended value for most + % cases is 6 or 7. + +\ifversion 1.40.0 + \pdfobjcompresslevel=0 % having pdfTeX 1.40.0 or higher and PDF 1.5 or higher, + % we can also control non-stream compression level. See + % pdfTeX manual for details. +\fi + +\pdfdecimaldigits=3 % number of digits after decimal point for real + % number in pdf output; the larger value the + % better accuracy but also larger output size; + % allowed range of values is 0..4 + +%\pdfmovechars=2 % 1 turns on moving lower chars 0..32 to higher + % slots for fonts with last char code < 128, + % 2 or larger even for fonts with last char code > 127 + % (rather obsolete) + +\pdfpkresolution=300 % resolution for bitmap (PK) fonts; allowed values + % are 72..1200, default is 600 + +\pdfuniqueresname=0 % positive value turns on prepending unique + % prefix for each named resources + % pdftex-0.14[ef] has a bug with this feature + % turned on + +% dimension parameters + +\pdfhorigin=1in % horizontal origin (offset); + % for common purposes it is advised to use + % \hoffset + +\pdfvorigin=1in % vertical origin (offset); similar to \pdfhorigin, + % advised to use \voffset + + +\pdfpagewidth=8.5in % paper size of the pdf output (letter in this case) +\pdfpageheight=11in + +\pdflinkmargin=1pt % margin added to dimensions of link (see below) + +\pdfdestmargin=10pt % margin added to dimensions of destination (see + % below) + +\pdfthreadmargin=1em % margin added to dimensions of bead in article thread + % (see below) + +% tokens registers + +\pdfpagesattr={/MyPageAttribute /MyValue} + % optional attributes for the root Pages object; + % all pages inherit these attributes + +\pdfpageattr={/MyPagesAttribute /MyValue} + % optional attributes for individual pages; + % attributes specified here overwrite any + % attributes given by `\pdfpagesattr' (see PDF spec for details) + +\pdfpageresources{/MyPageResourceAttribute /MyValue} + % optional page resources dict content + +% And some more parameters that need special care. + +\ifversion 1.30.0 \else + \let\pdfforcepagebox\pdfoptionalwaysusepdfpagebox +\fi + +\pdfforcepagebox=0 % a page box of PDF inclusions to be used + % as a clipping area. Here we use default (CropBox) + % \pdfforcepagebox is a shortened synonym of + % obsolete \pdfoptionalwaysusepdfpagebox. + +\ifversion 1.30.0 \else + \let\pdfminorversion\pdfoptionpdfminorversion +\fi + +\pdfminorversion=5 % version of created PDF files and allowed PDF inclusions. + % The default value is 4 that is enough in most cases (PDF 1.4). + % However, some pdfTeX features presented here requires + % PDF 1.5. Starting from pdfTeX 1.30.0, the command is called + % \pdfminorversion. + + + +\ifversion 1.30.0 \else + \let\pdfinclusionerrorlevel\pdfoptionpdfinclusionerrorlevel +\fi + +\pdfinclusionerrorlevel=0 % If the version of included PDF is greater than + % the one being typeset, by default an error is issued. + % If \pdfinclusionerrorlevel is set to one, warning only + % (synonym of obsolete \pdfoptionpdfinclusionerrorlevel). + +\ifversion 1.30.0 +\pdfimagehicolor=1 % enables 16-bit colors for PNG inclusions; + % defaults to 1 if \pdfminorversion>=5, +\pdfimageapplygamma=1 % enables gamma correction for PNG inclusions, +\pdfgamma=1000 % sets pdfTeX `device gamma,' +\pdfimagegamma=2200 % sets image gamma, if can't be taken from the image itself. +\fi % (see below for details). + +% Version of pdftex can be accessed via \pdftexversion and \pdftexrevision. + +This is version \the\pdftexversion\ (revision \pdftexrevision) of \pdfTeX. + +% Version of created PDF (and the highest allowed version of PDF inclusions) +% can be controlled with \pdfminorversion. In pdfTeX versions below 1.30.0, the +% primitive was called \pdfoptionpdfminorversion. + +This file is PDF version 1.\the\pdfminorversion. +\bigskip + +% Font resource in the pdf output has the form +% "/F<number> <object number> 0 R", where <number> is accessible via +% \pdffontname and <object number> via \pdffontobjnum. + +Font \fontname\font\ has resource name tag +\pdffontname\font\ and object number \pdffontobjnum\font\ in the PDF output. +Font size is \pdffontsize\font.\par + +\feature 1.30.0 {Disabling ligatures} + +Ligatures: ffont, fint, flint\par +{\font\noli=cmr10 at\pdffontsize\font + \pdfnoligatures\noli No ligatures: ffont, fint, flint} +\bigskip + +\endfeature + +% \pdfincludechars can be used to ensure certain characters to be +% included in the font file. Normally only used characters are +% included (subset is created). + +\pdfincludechars\font{ABCDEF} + +% pdfTeX ignores \special's text if \pdfoutput is set, unless they have +% prefix "pdf:" or "PDF:" (in this case the prefix is not written out, of +% course). \pdfliteral is intended to replace \special in pdf output mode. + +Changing color can be done by inserting `raw' PDF code, like +\pdfliteral direct {0 1 1 0 k} % switch color to cmyk red +this. + +\special{PDF:0 g} % switch color back to black; \special can be + % used with prefix "pdf:" or "PDF:", optionally appended with + % "direct:" + % A `direct' keyword is optional; it ensures that what one + % types into \pdfliteral is inserted literally indeed. + % Otherwise pdfTeX moves the space origin to the place after + % the last types item on the page, inserts the user code and + % restores its internal position. It's recommended to use \pdfliteral + % instead of \special + +A simple picture: +\pdfliteral {q 1 j 0 1 0 rg 0 0 1 RG 0 0 10 10 re B Q} + +% pdfTeX keeps the origin point of coordinates in the lower-left corner of the +% page (native PDF space origin). \pdfliteral used without `direct' keyword +% moves this position temporarily to the point user probably expect; current +% position on the page. That is why the rectangle above appears in-line. +% Drawing anything relative to the page origin is a bit problematic. In most +% cases, one can't simply say `\pdfliteral direct {q <paiting operators> Q}'. +% That is because q..Q operators can't appear inside BT..ET blocks. +% +% Starting from pdfTeX 1.30.0, another \pdfliteral modifier can be used instead +% of `direct'. If the keyword is `page', pdfTeX closes internal text block with `ET' +% before putting the literal content; like with `direct', without translation. + +\feature 1.30.0 {\cs\pdfliteral{ \tt page} keyword} +...and now look at the lower-left corner of the page.\par +\pdfliteral page {q 1 j 0 1 0 rg 0 0 1 RG 0 0 10 10 re B Q} +\pdfliteral page {q -1 0 0 1 612 0 cm .5 g}\hfill Do you like that?\pdfliteral page {Q} +\endfeature + +% Every page in PDF document has its own graphic state, automatically restored +% by the viever application. In example, unless set explicitly, text colour at +% the beginning of the every page is always black, regardless the text color at +% the end of the previous page. This may be a little bit confusing for those +% who get used to dvi output and color macros based on Postscript specials. In +% the case of PDF, passing text colour (as well as any other graphic +% properties) between pages requires much more care. Since normally we don't +% know where TeX is going to break tyhe page, one probably need to use \mark(s) +% register(s) for page-wise graphic stack, as it is in pdfcolor.tex macro input above. + +\feature 1.40.0 {Graphic stack} +\def\pdfsetcolor#1{}% disable generic color support of pdfcolor.tex + +% pdfTeX 1.40.0 introduces graphic stack support. \pdfcolorstackinit primitive +% introduces new graphic stack and returns its number. Here we create a +% page-wise color stack with black as an initial stack value. \pdfcolorstack +% command operates on graphic stacks. + +\chardef\Color=\pdfcolorstackinit page direct{0 g} +default color, +\pdfcolorstack\Color set{1 1 0 0 k} +some new default +\pdfcolorstack\Color push{0 1 1 0 k} +red, +\pdfcolorstack\Color push{1 0 1 0 k} +green, +\vfill\eject +still green, +\pdfcolorstack\Color pop +red again, +\pdfcolorstack\Color pop +default again, +\pdfcolorstack\Color set{0 g} +back to black. + +\endfeature + +\bigskip + +% User-defined object can be inserted into the pdf output by \pdfobj. The +% object is written out as specified, apart from case when \pdfobj is used with +% "stream" option. An object created by \pdfobj is held in memory and will +% not be written to the pdf output, unless 1) the object is referenced by +% saying \pdfrefobj <object number>; or 2) \pdfobj is preceded by +% \immediate. The object number of the last object created by \pdfobj is +% accessible via \pdflastobj + +\pdfobj{(Hello)} % the simplest case: a string "Hello" +\pdfrefobj \pdflastobj % mark the object to be written out; it can be + % understood as a reference to the object + +% Note, that the object you type must comply the syntax of one of PDF data +% types (dictionary, array, string, stream, number, ...). The object created +% with `\pdfobj{Hello}' is incorrect and may lead to parser crash. This issue +% may not be noticed until one try to refer to the object anyhow or compress it +% using non-zero \pdfobjectstreams. + +\immediate \pdfobj stream % create the object as a stream a write it to + {Hello} % the pdf output immediately + +\pdfobj stream % create the object as a stream with + attr {/MyStreamAttribute /MyValue} % additional attributes + {Hello} +\pdfrefobj \pdflastobj + +\pdfobj file {obj.dat} % read the object contents from file obj.dat +\pdfrefobj \pdflastobj + +\pdfobj stream % read the stream contents from file obj.dat + file {obj.dat} +\pdfrefobj \pdflastobj + +\pdfobj stream % read the stream contents from file obj.dat + attr {/MyStreamAttribute /MyValue} % with additional attributes + file {obj.dat} +\pdfrefobj \pdflastobj + +% \pdflastobj is always global, as all others \pdflast* read-only integers (see +% below). PDF object numbers are unique within the document. One may notice, that +% if \pdfobj is preceded by \immediate, \pdflastobj seems to return subsequent +% values (i.e 5,6,7,8...). Since \pdfobj is not the only command that creates PDF +% objects, one can't simply assume, that if current \pdflastobj returns 5, the +% next one will always return 6. Thus, pdfTeX provides a forward-referencing +% mechanism (introduced in pdfTeX 1.20). + +\feature 1.20 {Forward object referencing} + +\pdfobj reserveobjnum +We have an access to PDF object numbers, even before defining those objects. +\pdfobj useobjnum\pdflastobj {(This is object number \the\pdflastobj)} +\pdfrefobj\pdflastobj + +\endfeature + +% TeX boxes can be written into so-called XObject form, which is very +% similar to a normal page in the pdf output. Additional data can be +% inserted to the XObject form dictionary itself as well as the Resource +% dictionary of the XObject form + +\setbox0=\hbox{This is a box saved as a XObject form} +\pdfxform + attr {/MyXObjectFormAttribute /MyValue} + resources {/MyXObjectFormResourceAttribute /MyValue} + 0 + +% Similarly to \pdfobj, the object created by \pdfxform is held in memory +% and is not written to the pdf output, unless 1) the object is referenced +% by saying \pdfrefxform <object number>; or 2) \pdfxform is preceded by +% \immediate. The object number of the last XObject form created +% by \pdfxform is accessible via \pdflastxform. Note that +% \immediate\pdfxform does not typeset anything; it just ensures that the +% XObject form is written out to the output. To display the form, it is +% necessary to say \pdfrefxform <object number> in the intended place. +% Another point is that \pdfrefxform acts similarly rather to rules than to +% boxes concerning dimensions and space setting. It's highly recommended to +% wrap \pdfrefxform by a box in order to ensure spacing will be correct. + +\hbox{\pdfrefxform \pdflastxform} + +% Similarly to \pdflastobj, \pdflastxform returns the PDF object number assigned +% for XObject form just created. pdfTeX also provides \pdfxformname primitive, that +% returns a resource name identifier of the XObject written to PDF output with given +% object number. + +XObject above has been written as object \the\pdflastxform. + +\feature 1.30.0 {Access to XObject names} + +Its resource name tag is \pdfxformname\pdflastxform\ +({\tt/Fm\pdfxformname\pdflastxform\ \the\pdflastxform\space 0 R} +entry in page resources dictionary). + +\endfeature + +\bigskip + +% Thanks to Taco Hoekwater pdfTeX 1.30.0 and higher provides precise time +% measuring mechanism. \pdfelapsedtime primitive returns the time elapsed from +% the current run start. Time is measured in `scaled seconds' meaning that 65536 +% scaled seconds is 1 second. There is also \pdfresettimer primitive that causes +% zeroing the internal clock. + +{\catcode`\p=12 \catcode`\t=12 \gdef\WITHOUTPT#1pt{#1}} + \def\withoutpt#1{\expandafter\WITHOUTPT#1} % returns float-like string + +\feature 1.30.0 {Precise timer} + +\dimen0=\pdfelapsedtime sp +\pdfresettimer +It took \withoutpt\the\dimen0 \ seconds to typeset the whole stuff above. +To typeset the last two sentences it took \the\pdfelapsedtime\ `scaled seconds' +(1s/65536). +\bigskip + +\endfeature + +% Taco Hoekwater has also implemented random number support (introduced in 1.30.0) + +\feature 1.30.0 {Random numbers} + +Random seed initialized to \the\pdfrandomseed. +\pdfsetrandomseed\dimen0 % just saved elapsed time +We may change it, lets say to \the\pdfrandomseed.\par + +10 uniformly distributed random numbers [0..100]: +\count100=0 \loop + \pdfuniformdeviate101 + \advance\count100 by1 + \ifnum\count100<10, +\repeat.\par + +10 normally distributed random numbers: + +\count100=0 \loop + \dimen0=\pdfnormaldeviate sp + $\withoutpt\the\dimen0$% + \advance\count100 by1 + \ifnum\count100<10, +\repeat.\par + +\bigskip + +\endfeature + +% Starting from pdfTeX 1.30.0, there is an expandable string comparison in pdfTeX. +% You can compare two strings lexicographically using \pdfstrcmp{<str1>}{<str2>}. +% The command returns -1, 0, or 1 as a comparison result. +% Both strings are expanded before being compared. +% \feature 1.30.0 {String comparison} +% \pdfstrcmp{a}{aa} returns -1 since 'a'<'aa' +% \pdfstrcmp{aa}{aa} returns 0 since 'aa'='aa' +% \pdfstrcmp{aaa}{abc} returns -1 since 'aaa'<'abc' +% \pdfstrcmp{abc}{ABC} returns 1 since 'aaa'>'ABC' +% \endfeature +% This is still experimental, as well as regex support. + +% Starting from version 1.40.0 there are two handy primitives for absolute +% values comparison. This is e-TeX however... +% \feature 1.40.0 {Absolute \cs\if's}\fi\endfeature + +% Thanks to Heiko Oberdiek, starting from pdfTeX 1.30.0 a set of expandable +% string handlers are available. \pdfescapestring converts its parameter into a +% form readable for PDF interpreters, escaping those characters that can be used +% in PDF string objects without quotation. Similarly, \pdfescapename converts its +% argument into PDF name, replacing special PDF characters with their hexadecimal +% representation preceded by `#'. \pdfescapehex takes an ASCII code of each +% character of its argument and converts this number into hexadecimal form. Last +% but not least, \pdfunescapehex treats each pair of characters as a hexadecimal +% number and returns an ASCII characters of given codes. All those commands +% expand their arguments before applying conversion. + +\feature 1.30.0 {PDF string handling} + +\def\sometext{Some text/(1)} +If there is a text `{\tt\sometext}',\par +in PDF string one should use {\tt(\pdfescapestring{\sometext}},\par +and in PDF name it would be {\tt/\pdfescapename {\sometext}}.\par +In hex form it looks like {\tt<\pdfescapehex{\sometext}>},\par +but you can always reverse it to get {\tt\pdfunescapehex{\pdfescapehex{\sometext}}}. +\bigskip + +\endfeature + +% Also handling external files has been greatly improved. Starting from pdfTeX 1.30.0 +% you can check external files modification date, file size and even md5 check sum. + +\feature 1.30.0 {External file handling} + +The source of this document is {\tt\pdffilesize{\jobname}} bytes long. Last modification date +is {\tt\pdffilemoddate{\jobname}}. The md5 sum is {\tt\pdfmdfivesum{\jobname}}. +Bytes 7 to 13 of the source are hex {\tt\pdffiledump offset 7 length 7{\jobname}} +(string `\pdfunescapehex{\pdffiledump offset 7 length 7 {\jobname}}'). + +\endfeature + +% \pdfsavepos saves coordinates of the current position (basepoint) on the page +% relative to lower-left corner. \pdflastxpos and \pdflastypos are available +% while shipping out the page. Both are integers; the position is expressed in +% scaled points. Starting from pdfTeX 1.40.0, availavle also in DVI mode. + +\pdfsavepos +\write16{Position: X=\number\pdflastxpos sp, Y=\number\pdflastypos sp.} + +\newpage + +% pdfTeX 1.20 and higher allows to get the object number of already typeset page + +\feature 1.20 {Page object reference} + +The previous page has been written as object \pdfpageref1. + +\endfeature + +% Images can be included with pdftex using \pdfximage. Supported formats +% are determined by file name extension: +% .pdf/.PDF: PDF +% .png/.PNG: PNG +% .jpg/.JPG/.jpeg/.JPEG: JPEG +% +% Sorry, TIFF files are no longer supported. +% +% pdfTeX itself does not support EPS and Postscript codes at all, but +% it is possible to include Metapost output. EPS files can be converted to +% PDF for use with pdfTeX. See below for further info about using Metapost +% and EPS. + +\pdfximage {pic.pdf} % read image pic.pdf (search for it in TEXINPUTS path) + +% It also possible to select which page to include. Pages are numbered from +% 1. Out-of-range values are fixed to 1 and bitmapped images have always 1 +% page. To include let's say the 2nd page of a pdf image, one can use +% \pdfximage page 2 {file.pdf} + +% Similarly to \pdfobj, the image created by \pdfximage is held in memory +% and is not written to the pdf output, unless 1) the image is referenced +% by saying \pdfrefximage <object number>; or 2) \pdfximage is preceded by +% \immediate. The object number of the last image created by \pdfximage is +% accessible via \pdflastximage. Note that \immediate\pdfximage does not +% typeset anything; it just ensures that the image is written out to the +% output. To display the image, it is necessary to say +% \pdfrefximage <object number> in the intended place. Another point is +% \pdfrefximage act similarly rather to rules than to boxes concerning +% dimensions and space setting. In order to make images act as boxes +% (concerning dimensions and spacing), it's necessary to wrap them into a +% box. + +\hbox{\pdfrefximage \pdflastximage} + +% Since a pdf image may have more than 1 page, the number of the last image +% opened by \pdfximage is accessible via \pdflastximagepages + +The last image has \the\pdflastximagepages\ page(s). + +% The dimensions of the image can be also controlled via <rule spec>. The +% default values are zero for depth and `running' for height and width. If +% all of them are given, the image will be scaled to fit the specified +% values. If some of them (but not all) are given, the rest will be set to +% a value corresponding to the remaining ones so as to make the image size +% to yield the same proportion of width : (height + depth) as the original +% image size, where depth is treated as zero. If none of them is given then +% the image will take its natural size. An image inserted at its natural +% size often has a resolution of \pdfimageresolution (or 72 if +% \pdfimageresolution is set to zero) given in dots per inch in the output +% file, but some images may contain data specifying the image resolution, +% and in such a case the image will be scaled to the original resolution. +% The dimension of the image can be accessed by enclosing the \pdfrefximage +% command to a box and checking the dimensions of the box. + +\pdfximage width 6cm {pic.pdf} % set the image width and keep the +\pdfrefximage \pdflastximage % `nature' proportion width : height + +\pdfximage height 4cm {pic.png} % set the image height and keep the + % `nature' proportion width : height + +\edef\MyImg{\the\pdflastximage} % save the image number for later reuse +\pdfrefximage\MyImg + +\pdfximage width 6cm height 4cm % set both image width and height; the + {pic.jpg} % final proportion width : height may be + % different from the `nature' one + +\pdfimageresolution=72 % to open an image at 72 dpi +\pdfximage {pic.pdf} +\setbox0=\hbox{\pdfrefximage\pdflastximage} % get dimensions of the image + % in order to include the image + % at a specific resolution +\dimen0=.06\wd0 % calculate the image width at 1200 dpi (0.06 = 72/1200) +\pdfximage % include the image at resolution 1200 dpi + width \dimen0 {pic.pdf} % by setting image width to the calculated value +\pdfrefximage \pdflastximage + +% While working with bitmap graphic it might be more convenient to operate on +% pixels rather then dimension units. Starting from version 1.30.0, pdfTeX offers +% a special, scalable unit called `px'. The real value associated with `px' is controlled +% via \pdfpxdimen primitive. It used to be a count register defaulted to 65536 (1pt = 1px). +% Starting from pdfTeX 1.40.0, \pdfpxdimen is a true dimen defaulted to 1bp, that implies +% 72dpi resolution. + + +\feature 1.30.0 {Scalable {\tt px} unit} + +\ifversion 1.40.0 + \pdfpxdimen=0.06bp % 1200dpi -> 72/1200 +\else + \pdfpxdimen=3946 % 1200dpi -> 72*65781/1200 +\fi + +640 pixels in 1200dpi makes \dimen0=640px \the\dimen0. + +\endfeature + + +% ... Be aware of rounding error significant for large resolutions +% 1200 pixels in 1200dpi makes \dimen0=1200px \the\dimen0. -> 72.25342pt < 72.27 + +\newpage + +% While embedding PDF image one may decide which area of the image (mediabox, +% cropbox, bleedbox, trimbox or artbox) should be treated as a final (visible) +% bounding box. There is \pdfoptionalwaysusepdfpagebox parameter that specifies +% the default behaviour (1 for mediabox, 2 for cropbox, 3 for bleedbox, 4 for +% trimbox and 5 for artbox). For sake of backward compatibility, if set to 0 +% cropbox is used. Starting from pdfTeX 1.30.0, a synonym \pdfforcepagebox is +% used. One may also override the default settings by providing page box +% specification in \pdfximage syntax. In example, \pdfximage trimbox {<file>} +% causes clipping the image to the trimbox area. Obviously, those settings take an +% effect only if the desired box page is defined in the image being included. +% According to PDF spec, PDF page boxes act as follows: +% mediabox % the entire page area (the only one always present) +% cropbox % the visible page area (defaults to mediabox) +% bleedbox % the page area with trimming margins (defaults to cropbox) +% trimbox % the page area without bleeds (defaults to cropbox) +% artbox % the logical page content (defaults to cropbox) + +% pdfTeX takes care about version of included PDF images. By default, an error is +% issued if this version is newer than the PDF being created (controlled by +% \pdfminorversion). If the \pdfoptionpdfinclusionerrorlevel is set to 0, only +% warning is issued. Starting pdfTeX 1.30.0 \pdfinclusionerrorlevel synonym is used +% instead. + +% Thanks to Taco Hoekwater pdfTeX 1.30.0 and higher provides advanced PNG +% inclusions handling. Nonzero \pdfimagehicolor parameter enables embedding +% of PNG images with 16 bit wide color channels at their full color resolution. +% This functionality is automatically disabled if \pdfminorversion<5, and automatically +% enabled if \pdfminorversion>=5 +% Another primitive -- \pdfimageapplygamma -- enables gamma correction of embedded +% PNG files on the base of two parameters: +% \pdfgamma % device gamma for pdfTex +% \pdfimagegamma % image gamma (used if one can't be derived from the image) +% Both values are integers measured in promile (1000 = gamma 1.0) +% All the parameters of gamma correction have to be set before any data +% is written to the PDF output; thus we put them at the very beginning of this sample. + +% \ifx\undefined\quitvmode % primitive `\leavevmode' introduced in pdfTeX 1.30.0 +% \let\quitvmode\leavevmode +% \fi + +\pdfximage width8cm {pic16.png}% +\pdfrefximage\pdflastximage +The image had originally 16 bits-per-channel. + +\feature 1.21 {Image color depth info} +Embedded one has \the\pdflastximagecolordepth\ bits-per-channel; +\endfeature + +\feature 1.30.0 {16-bit color mode for PNG inclusions} +the image has been read in 16-bit color resolution. +\endfeature + +\feature 1.30.0 {Gamma correction} +Try out different gamma parameters. % we have to set them before any data +\endfeature % is written to the output + +\bigskip + +% From pdfTeX 1.21 \pdfximage command can be followed by `colorspace <objnum>', +% where <objnum> is a number of user-defined color space object. Simply speaking, +% we may instructs the viewer, how the image should be rendered. However, this +% works only for JPEGs. Here we perform some sort of `color management' by +% applying a color profile to the JPEG image. + +% Be aware; this is viewer dependent. + +\feature 1.21 {User-defined image color space hook} + +\immediate\pdfobj + stream + attr {/N 3 /Alternate /DeviceRGB} + file {rgb.icc} % color profile + +\immediate\pdfobj{[/ICCBased \the\pdflastobj\space 0 R]} + +\edef\objnum{\the\pdflastobj} + +\pdfximage width 8cm colorspace\objnum {pic.jpg} +\pdfrefximage\pdflastximage +The image is calibrated with ICC profile. + +\immediate\pdfobj + stream attr + {/FunctionType 4 + /Domain [0 1 0 1 0 1] + /Range [0 1 0 1 0 1]}{{exch pop exch pop 0 exch 0 exch}} + +\immediate\pdfobj % don't treat it serious %) + {[/DeviceN [/Red /Green /Blue] /DeviceRGB \the\pdflastobj\space 0 R]} + +\edef\objnum{\the\pdflastobj} + +\pdfximage width8cm colorspace\objnum {pic.jpg} +\pdfrefximage\pdflastximage +Hacked image color space. + +\endfeature + +% Thanks to Hans Hagen, pictures created by Metapost can be used directly with +% pdftex. The following files come from ConTeXt distribution. Another +% place to get them is http://www.tug.org/applications/pdftex/, where +% is also possible to get the latest driver file for using LaTeX graphicx +% package with pdftex. + +\input supp-mis.tex % supp-mis.tex is loaded by supp-pdf.tex +\input supp-pdf.tex % automatically, so the above line could be left + % out (it's given here to make clear what all files + % are needed to use \convertMPtoPDF) + +% the figure cmr10.103 was created by running Metapost on cmr10.mf + +%\convertMPtoPDF {filename} {x scale} {y scale} +%\convertMPtoPDF{cmr10.103}{1}{1} +\newpage + +% It is possible to have Metapost code inside the tex sources and call +% Metapost to generate the figure before calling \convertMPtoPDF. + +% define some contants that will be used in the Metapost code +\def\pointA{(50, 50)} +\def\pointB{(400, 250)} + +\newwrite\mpfile % temporary file for metapost code +\immediate\openout\mpfile = \jobname.mp + +\immediate \write \mpfile {% +prologues := 1; +def drawleaf(expr A, B, C) = + pickup pencircle scaled 4bp; + draw (0, 0) {dir 60} .. A .. {dir 60} B withcolor C; + pickup pencircle scaled 2bp; + draw A {dir 75} .. {dir 45} B withcolor C; + draw A {right} .. {dir 75} B withcolor C; +enddef; +beginfig(0); + drawleaf(\pointA, \pointB, .6green); + d := .5 xpart \pointB; + currentpicture := currentpicture reflectedabout ((d, 0), (d, 1)); +endfig; +beginfig(1); + drawleaf(\pointA, \pointB, .6blue); + currentpicture := currentpicture reflectedabout (\pointA, \pointB); +endfig; +end; +} +\immediate \closeout \mpfile % close the file before running Metapost + +% Now we call Metapost to generate the ps output; this is system-dependent +% and has been tested for web2c only. It is necessary to have +% +% shell_escape = t +% +% in texmf.cnf in order to run it. +% +% Starting from pdfTeX 1.21a, one may test if this option is enabled using +% \ifeof condition (distribution dependent): + +\feature 1.21 {Shell escape detection (via \cs{ifeof})} +Shell escape (via \cs{ifeof}) seems to be +\ifeof18 disabled\else enabled\fi. +\endfeature + +% ...pdfTeX 1.30.0 introduces its own primitive integer flag + +\feature 1.30.0 {Shell escape detection (via \cs\pdfshellescape)} +Shell escape (via \cs\pdfshellescape) seems to be +\ifnum\pdfshellescape=2 enabled (restricted)\fi% +\ifnum\pdfshellescape=1 enabled\fi% +\ifnum\pdfshellescape=0 disabled\fi. +\endfeature + +% Uncomment line below, if Metapost is available on your system (should be!) +% \immediate \write 18 {mpost \jobname.mp} % call Metapost on \jobname.mp +\convertMPtoPDF{\jobname.0}{1}{1} +\convertMPtoPDF{\jobname.1}{1}{1} + +\newpage + +% EPS pictures cannot be inserted directly by pdfTeX, but it's possible to +% convert them to PDF using a Postscript-to-PDF converter, like +% Ghostscript. The below example calls epstopdf (available +% from http://www.tug.org/applications/pdftex), which preprocess the EPS +% and afterwards uses Ghostscript to convert to PDF. + +% Uncomment line below, if there is epstopdf utility available in your system + +%\immediate \write 18 {epstopdf --outfile=tmp.pdf cmr10.103} % call epstopdf +\pdfximage height \vsize {tmp.pdf} % insert the PDF converted from EPS +\topskip=0pt +\pdfrefximage \pdflastximage +\newpage + +% some text to try using threads + +\def\text{% +Ah! perhaps a burning match might be some good, if she could draw it from +the bundle and strike it against the wall, just to warm her fingers. She +drew one out---"scratch!" how it sputtered as it burnt! It gave a warm, +bright light, like a little candle, as she held her hand over it. It was +really a wonderful light. It seemed to the little girl that she was sitting +by a large iron stove, with polished brass feet and a brass ornament. How +the fire burned! and seemed so beautifully warm that the child stretched +out her feet as if to warm them, when, lo! the flame of the match went out, +the stove vanished, and she had only the remains of the half-burnt match in +her hand. + + She rubbed another match on the wall. It burst into a flame, and +where its light fell upon the wall it became as transparent as a veil, +and she could see into the room. The table was covered with a snowy +white table-cloth, on which stood a splendid dinner service, and a +steaming roast goose, stuffed with apples and dried plums. And what +was still more wonderful, the goose jumped down from the dish and +waddled across the floor, with a knife and fork in its breast, to +the little girl. Then the match went out, and there remained nothing +but the thick, damp, cold wall before her. + + She lighted another match, and then she found herself sitting +under a beautiful Christmas-tree. It was larger and more beautifully +decorated than the one which she had seen through the glass door at +the rich merchant's. Thousands of tapers were burning upon the green +branches, and colored pictures, like those she had seen in the +show-windows, looked down upon it all. The little one stretched out +her hand towards them, and the match went out. + + The Christmas lights rose higher and higher, till they looked to +her like the stars in the sky. Then she saw a star fall, leaving +behind it a bright streak of fire. "Some one is dying," thought the +little girl, for her old grandmother, the only one who had ever +loved her, and who was now dead, had told her that when a star +falls, a soul was going up to God. + + She again rubbed a match on the wall, and the light shone round +her; in the brightness stood her old grandmother, clear and shining, +yet mild and loving in her appearance. "Grandmother," cried the little +one, "O take me with you; I know you will go away when the match burns +out; you will vanish like the warm stove, the roast goose, and the +large, glorious Christmas-tree." And she made haste to light the whole +bundle of matches, for she wished to keep her grandmother there. And +the matches glowed with a light that was brighter than the noon-day, +and her grandmother had never appeared so large or so beautiful. She +took the little girl in her arms, and they both flew upwards in +brightness and joy far above the earth, where there was neither cold +nor hunger nor pain, for they were with God. +} + +\pdfannot % generic annotation + % + width 10cm % the dimension of the annotation can be controlled + height 0cm % via <rule spec>; if some of dimensions in + depth 4cm % <rule spec> is not given, the corresponding + % value of the parent box will be used. +{ % + /Subtype /Text % text annotation + % /Open true % if given then the text annotation will be opened + % by default + /Contents % text contents + (This text is from THE LITTLE MATCH-SELLER by Hans Christian + Andersen) +} + +\def\colsep{\qquad} % column separator +\setbox0=\vbox{% + \baselineskip=1.2em plus 1pt minus 1pt + \hsize=2in + \tolerance=1000 + \rightskip=0pt plus 1em + \hfuzz=1em + \parskip=\baselineskip + \null % will use \vsplit to remove this null box and + % insert \splittopskip glue to top of the + % first column. I don't know how to make the + % first column have the same height as other + % columns so have to use this trick to ensure + % that all columns will have \splittopskip glue + % properly inserted at the top + \text + \vfil} + +\setbox1=\vsplit0 to 0pt % remove the null box and insert \splittopskip glue +\setbox3=\copy0 % make a copy of box0 for later use + +% Using thread by explicit determination which boxes will belong to a thread + +\setbox2=\hbox{} +\loop + \setbox1=\vsplit0 to .75\vsize + \setbox2=\hbox{\unhbox2 \vtop{% + \pdfthread % add a bead to the thread with id=`num 1' (given + % below) + % <rule spec> % dimensions of the bead can be controlled + % via <rule spec>; if some of dimensions in + % <rule spec> is not given, the corresponding + % value of the parent box will be used. If + % \pdfthreadmargin is not zero then its value + % will be added to the margins of the bead + % + % additional attributes of thread + attr {/I <</Title (THE LITTLE MATCH-SELLER by Hans Christian)>>} + % + % identifier specification (exactly one of the + % following must be specified): + % + num 1 % num identifier (must be positive), or + % name {thread1} % name identifier; \pdfthread with the same id + % will be joined together. Attributes of the + % final thread is the last one if any was + % given. + \unvbox1}\colsep} +\ifdim \ht0 > 0pt \repeat +\box2 + +\newpage + +% Using thread by automatic determination which boxes will belong to a +% thread; \pdfstartthread has the same syntax as \pdfthread, apart that it +% must be followed by a \pdfendthread. \pdfstartthread and the +% corresponding \pdfendthread must end up in vboxes with the same +% nesting level; all vboxes between them with the same nesting level will +% be added into the thread. Note that during output routine if there are +% other newly created boxes which have the same nesting level as vboxes +% containing \pdfstartthread and \pdfendthread, they will be also added +% into the thread, which is probably not what we want. To avoid such +% unconsidered behaviour, it's often enough to wrap the box that shouldn't +% belong to the thread by another box to change the nesting level. + +\setbox0=\vbox{% + \pdfstartthread + attr {/I <</Title (THE LITTLE MATCH-SELLER by Hans Christian)>>}% + name {thread2}% + \unvbox3 + \pdfendthread +} +\setbox2=\hbox{} +\loop + \setbox1=\vsplit0 to .75\vsize + \setbox2=\hbox{\unhbox2 \vtop{\unvbox1}\colsep} +\ifdim \ht0 > 0pt \repeat +\box2 + +\newpage + +\pdfdest % destination for link and outlines + % + % identifier specification (exactly one of the + % following must be specified): + % + num 1 % num identifier (must be positive), or + % name {dest1} % name identifier. Must be unique in one document + % + % appearance of destination (exactly one of the + % following must be specified): + % + fit % fit whole page in window + % fith % fit whole width of page + % fitv % fit whole height of page + % fitb % fit whole "Bounding Box" page + % fitbh % fit whole width of "Bounding Box" of page + % fitbv % fit whole height of "Bounding Box" of page + % fitr <rule spec> % fit the rectangle specified by <rule spec>; if + % some of dimensions in <rule spec> is not given, + % the corresponding value of the parent box will be + % used. If \pdfdestmargin is not zero then its + % value will be added to the margins of the + % rectangle + % xyz % goto the current position + +This is a page containing destination `num 1' + +\newpage + +% \pdfstartlink and \pdfendlink are similar to \pdfstartthread and +% \pdfendthread, but they must end up in hboxes instead of vboxes + +\leftline{This is a link to destination +\pdfstartlink % start a link + % + height 10pt % dimensions of the link can be controlled + depth 3pt % via <rule spec>; if some of dimensions in + % <rule spec> is not given, the corresponding + % value of the parent box will be used. If + % \pdflinkmargin is not zero then its value + % will be added to the margins of the link + % + attr{/C [0.9 0 0] % additional attributes of link + /Border [0 0 2]} % + % + % action specification (exactly one of the + % following must be specified): + % + goto % goto action + % + % file{file.pdf} % optional file specification; can be used only with + % `goto' action or `thread' action (see below). If + % action identifier is name then there should be a + % destination or a thread with same name identifier + % in the file; if action identifier is number then it + % means page number for `goto' action (in this case it + % will take effect as `fitb' specification) and index + % number of thread for `thread' action (the first + % thread in a document has index number 0) + % + % goto action identifier (exactly one of the following + % must be specified): + % + num 1 % goto destination with num identifier + % name{dest1} % goto destination with name identifier + % page 1 {/Fit} % goto page 1 and fit the whole page + % + % + % thread % thread action; start to read a thread + % + %file{file.pdf} % optional file specification + % + % thread action type (exactly one of the following + % must be specified): + % + % num 1 % read thread with num identifier id=`num 1' + % name{thread2} % read thread with name identifier id=`name{thread2}' + % + % + % user{ % user-defined action; a URI action can be specified + % % as below + % /Subtype /Link + % /A << + % /Type /Action + % /S /URI + % /URI (http://www.tug.org/) + % >>} +`num 1'% +\pdfendlink % end of link; if \pdfstartlink and + % \pdfendlink end up in different hboxes (in this + % case the boxes must have the same box nesting + % level), all hboxes between them will be treated + % as part of the link. Line breaks and even page + % breaks are allowed between \pdfstartlink and + % \pdfendlink +} + +\feature 1.40.0 {Last link object} +The link is object \the\pdflastlink. +\endfeature + +% more link examples + +\leftline{% + This is a link to the + \pdfstartlink + goto + page 1 {/FitB}% % goto the 1st page and fit the page BBox in the + % window + first page% + \pdfendlink} + +\leftline{% + This is a link to the + \pdfstartlink + thread num 1 % read the thread `num 1' + thread `num 1'% + \pdfendlink} + +\leftline{% + This is a link to + \pdfstartlink + attr{ /Border [0 0 0]} % make the bbox of the link invisible + user {% % a named action (undocumented in PDF spec) + /Subtype /Link + /A << + /S /Named + /N /GoBack + >>}% + \Cyan the previous view\Black % color text inside the link + \pdfendlink} + +\leftline{% + This is a link to + \pdfstartlink user{% + /Subtype /Link + /A << + /Type /Action + /S /URI + /URI (http://www.fi.muni.cz/) + >>}% + \Red our faculty\Black + \pdfendlink} + +{\hsize2in \raggedright \noindent + This is an example of + \pdfstartlink + attr{ /Border [0 0 0]} % make the bbox of the link invisible + goto page 1 {/FitB}% + \Red multiple line link. Make sure that the link and + its end must be in horizontal mode and the parent boxes must have the + same box nesting level.\Black + \pdfendlink + A common mistake here is using \cs{\pdfstartlink} at the + beginning of the text without \cs{\indent}, \cs{\noindent} + or \cs{\leavevmode}, so \cs{\pdfstartlink} + will end up in vertical mode and cause an error. + \par} + +% A sound or movie annotation can be created as below. Using such kinds of +% annotation or Java script causes the pdf output to be system-dependent. +% More info about this topic can be found in PDF spec. + +% \leftline{% +% \pdfannot width 4in height 0in depth 3in {% +% /Subtype /Movie +% /Movie << /F (MovieFile.mov) >>} +% An example of movie annotation} + +% \leftline{% +% \pdfannot width 0in height 0in depth 0in {% +% /Subtype /Sound +% /Sound << /F (SoundFile.wav) >>} +% An example of sound annotation} + +% \leftline{% +% \pdfannot width 0in height 0in depth 0in {% +% /Subtype /Movie +% /Movie << /F (SoundFile.wav) >>} +% Sound can be also embedded using Movie annotation} + +% outlines (bookmarks): +\pdfoutline % outline entry specification + % + goto num 1 % action specification. This is the same as the action + % specification of `\pdfstartlink' + % + count 3 % number of direct subentries of this entry, 0 if this + % entry has no subentries (in this case it may be + % omitted). If after `count' follows an negative number + % then all subentries will be closed and the absolute + % value of this number specifies the number of + % direct subentries (see the following entries) + % + {Outline 1} % text contents of outline entry + + \pdfoutline goto num 1 count -2{Outline 1.1} + \pdfoutline goto num 1 {Outline 1.1.1} + \pdfoutline goto num 1 {Outline 1.1.2} + \pdfoutline goto num 1 {Outline 1.2} + \pdfoutline goto num 1 {Outline 1.3} +\pdfoutline goto page 1 {/Fit} {Outline 2} + +\newpage + +% Transformations are done by changing transformation matrices. See PDF spec for +% more details how to use it. Generally, a transformation matrix is given as six +% real numbers followed by operator `cm'. Before doing any transformation we must +% store current graphic state (by operator `q') and restore it (by operator `Q') +% after transformation. `q' and `Q' operators acts more or less like `gsave' and +% `grestore' in Postscript. See examples below. Make sure that *no spacing* +% can be produced during transformation and afterwards we must adjust spacing `by +% hand'. + +\font\f=cmb10 at 50pt +\setbox0=\hbox{\f Rotated text} +\setbox1=\hbox{\f Scaled text} +\setbox2=\hbox{\f Skewed text} + +\newdimen\d +\newbox\tmpbox +\def\avoidboxdimen#1{% + \setbox\tmpbox=\hbox{\box#1}% + \wd\tmpbox=0pt + \ht\tmpbox=0pt + \dp\tmpbox=0pt + \box\tmpbox} + +\hrule + +% rotation by `t' degrees counterclockwise is specified as +% `cos(t) sin(t) -sin(t) cos(t) 0 0'. +\vskip\wd0 +\leftline{\hskip\ht0\hskip\dp0% +\pdfliteral{q 0 1 -1 0 0 0 cm}% +\avoidboxdimen 0 +\pdfliteral{Q}} + +\hrule + +% scaling is specified as `Sx 0 0 Sy 0 0' +\d=\ht1 \advance\d by \dp1 +\vskip3\d +\pdfliteral{q 2 0 0 3 0 0 cm}% +\avoidboxdimen 1 +\pdfliteral{Q}% + +\hrule + +% skewing x-axis by `u' degrees and y-axis by `v' degrees is specified as +% `1 tan(u) tan(v) 1 0 0'. +\d=\ht2 \advance\d by \dp2 +\vskip\d +\d=0.57735\wd2 %tan(30) = 0.57735 +\pdfliteral{q 1 -0.57735 0 1 0 0 cm}% +\avoidboxdimen 2 +\pdfliteral{Q} +\vskip\d + +% For better understaing \pdfliteral rules, play with the transformations above using +% `direct' and `page' modifiers. Expect surprises, including corrupted output... + +% One may already notice that any transformation applied to text or some other +% page graphic object do not affect active rectangles of links and other +% annotations. This is because those rectangles are kept in PDF as a different +% structure then the page content. pdfTeX is not aware of any transformation +% shown above (\pdfliteral content is not analyzed anyhow), so any annotation +% related to the box being transformed remains untouched. + +% Check it out: +% \pdfliteral{q 0.87 -0.5 0.5 0.87 0 0 cm} +% \setbox0\hbox{\f\pdfstartlink goto page \pageno{/FitH}Link\pdfendlink} +% \avoidboxdimen0 +% \pdfliteral{Q} + +% pdfTeX 1.40.0 comes with three extra primitives that fixes this problem. +% \pdfsetmatrix primitive inserts first four numbers of the afine +% transformation matrix into the page content stream and updates annotations +% accordingly. \pdfsave saves the current matrix, \pdfrestore restores the +% previously saved matrix. +\hrule height 0pt depth 0pt width 0pt +\bigskip + +\feature 1.40.0 {Saving/restoring transformation matrix} + +\setbox0\hbox{\f\pdfstartlink goto page \pageno{/FitH}Link\pdfendlink} +\pdfsave +\pdfsetmatrix{0.87 -0.5 0.5 0.87} +\avoidboxdimen0 +\pdfrestore + +\endfeature + +% To have a smoothly readable PDF output one may use a newline character to +% separate entries written directly do PDF code. No matter for the viewer. + +\def\n{^^J} + +% If the file is modified are released oftenly (as this one) it might be convenient to +% keep trace of modification time. In pdfTeX 1.30.0 there is a +% \pdfcreationdate that returns a date of the file being created. +% Date is formated in PDF way. + +\ifversion 1.30.0 \else + +\count100=\time +\divide\count100 by60 +\edef\pdfcreationdate{\ifnum\count100<10 0\fi\the\count100} % hours +\multiply\count100 by-60 +\advance\count100 by\time +\edef\pdfcreationdate{% + \pdfcreationdate + \ifnum\count100<10 0\fi\the\count100 00} % minutes (seconds zeroed) +\edef\pdfcreationdate{% + D:\the\year + \ifnum\month<10 0\fi\the\month + \ifnum\day<10 0\fi\the\day + \pdfcreationdate} % time zone discarded + +\fi + +\pdfinfo{% % Info dictionary of PDF output; + % all keys are optional. + /Author (Han The Thanh) + \n/CreationDate (D:20001212000000) % (D:YYYYMMDDhhmmss) + % YYYY year + % MM month + % DD day + % hh hour + % mm minutes + % ss seconds + % + % default: the actual date + % + \n/ModDate (\pdfcreationdate) % ModDate is similar + \n/Creator (TeX) % default: "TeX" + \n/Producer (pdfTeX) % default: "pdfTeX" + pdftex version + \n/Title (samplepdf.pdf) % + \n/Subject (Example) % + \n/Keywords (PDF TeX) % +} + +\pdfcatalog{ % Catalog dictionary of PDF output. + /PageMode /UseOutlines % + /URI (http://www.fi.muni.cz/) % +% pdfscreen-like setting might look like: +% /PageMode /none +% /ViewerPreferences << +% /HideToolbar true +% /HideMenubar true +% /HideWindowUI true +% /FitWindow true +% /CenterWindow true +% >> +} +openaction goto page 1 {/Fit} % the action to be activated when + % opening the document; this is the + % same as <action spec> for links + % and outlines +\end diff --git a/systems/doc/pdftex/samplepdftex/supp-mis.tex b/systems/doc/pdftex/samplepdftex/supp-mis.tex new file mode 100644 index 0000000000..ab089a297e --- /dev/null +++ b/systems/doc/pdftex/samplepdftex/supp-mis.tex @@ -0,0 +1,695 @@ +%D \module +%D [ file=supp-mis, +%D version=2004.10.26, % 1997.01.04, +%D title=\CONTEXT\ Support Macros, +%D subtitle=Missing (For Generic Use), +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA / Hans Hagen \& Ton Otten}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D Some support modules are more or less independant. This +%D module, which is not part of plain \CONTEXT, provides the +%D missing macros and declarations of registers. + +\ifx \undefined \writestatus \else \expandafter \endinput \fi + +%D Because \LATEX\ has no safe package loading mechanism, we +%D need to take care of possible interference. + +\def\StartLatexHack + {\edef\StopLatexHack + {\catcode`\noexpand/=\the\catcode`/ + \catcode`\noexpand:=\the\catcode`: + \catcode`\noexpand;=\the\catcode`; + \catcode`\noexpand"=\the\catcode`" + \catcode`\noexpand<=\the\catcode`< + \catcode`\noexpand>=\the\catcode`>}% + \catcode`/=12 \catcode`:=12 \catcode`;=12 + \catcode`"=12 \catcode`<=12 \catcode`>=12 } + +%D This hack is needed especially for \LATEX\ users who use +%D the Babel package. The Germans have active \type {"}'s, the +%D Poles have \type {/}, while the French have \type {:} and +%D \type {;} defines as command (thanks to Daniel Flipo for +%D pointing that out and testing). Potentially active \type +%D {?}'s and \type {!}'s are less dangerous since they are +%D handled by the \type {\protect} and \type {\unprotect} +%D macros. + +\StartLatexHack + +%D \macros +%D {ifnocontextobject} +%D +%D First we take care of redundant defining. The next set of +%D macros are a bit complicated by the fact that Plain +%D \TEX\ defines the \type{\new}||macros as being outer. +%D Furthermore nested \type{\if}'s can get us into +%D trouble. + +\def\definecontextobject + {\iftrue} + +\def\gobblecontextobject + {\setbox0\hbox + \bgroup + \long\def\gobblecontextobject##1\fi{\egroup}% + \expandafter\gobblecontextobject\string} + +\long\def\ifnocontextobject#1\do + {\ifx#1\undefined + \expandafter\definecontextobject + \else + %\writestatus{system}{beware of conflicting \string#1}% + \expandafter\gobblecontextobject + \fi} + +%D \macros +%D {beginETEX,beginTEX} +%D +%D Outside \CONTEXT\ we will not be \ETEX||aware. + +\long\def\beginETEX #1\endETEX {} +\long\def\beginOMEGA#1\endOMEGA{} + +\let\beginTEX\relax \let\endTEX\relax + +%D \macros +%D {writestatus} +%D +%D We start each module with a message. Normally the output is +%D formatted, but here we keep things simple. + +\ifnocontextobject \writestatus \do + + \def\writestatus#1#2% + {\immediate\write16{#1 : #2}} + +\fi + +%D Let's see if it works. + +\writestatus{loading}{Context Support Macros / Miscellaneous (2004.10.26)} + +%D \macros +%D {protect,unprotect} +%D +%D Next we present a poor mans alternative for \type{\protect} +%D and \type{\unprotect}, two commands that enable us to use +%D the characters \type{@}, \type{!} and \type{?} in macro +%D names. + +\ifnocontextobject \protect \do + + \let\protect\relax + +\fi + +\newcount\protectiondepth + +\ifnocontextobject \unprotect \do + + \def\unprotect + {\advance\protectiondepth 1 + \ifnum\protectiondepth=1 + \let\normalprotect=\protect + \def\protect + {\ifnum\protectiondepth>0 + \advance\protectiondepth -1 + \ifnum\protectiondepth=0 + \doprotect + \let\protect=\normalprotect + \fi + \fi} + \edef\doprotect + {\catcode`\noexpand @=\the\catcode`@\relax + \catcode`\noexpand !=\the\catcode`!\relax + \catcode`\noexpand ?=\the\catcode`?\relax} + \catcode`@=11 + \catcode`!=11 + \catcode`?=11 + \fi} + +\fi + +%D We start using this one it at once. + +\unprotect + +%D \macros +%D {scratch...,if...,next...} +%D +%D We need some scratch registers. Users are free to use them, +%D but can never be sure of their value once another macro is +%D called. We only allocate things when they are yet +%D undefined. This way we can't mess up other macro packages, +%D but of course previous definitions can mess up our modules. + +\ifnocontextobject \donetrue \do \newif\ifdone \fi + +% no time now, will do a better test later (based on dimendef) + +\def\!!stringa{plain} \ifx\!!stringa\fmtname \donetrue \else +\def\!!stringa{babel-plain} \ifx\!!stringa\fmtname \donetrue \else + \donefalse \fi \fi + +\ifdone + % plain defines some 15 dimens, so we need to define a few + % dummies in order to get out of the scratch area + \newdimen\scratchdimen % 16 + \newdimen\scratchdimen % 17 + \newdimen\scratchdimen % 18 + \newdimen\scratchdimen % 19 + \newdimen\scratchdimen % 20 + \newdimen\scratchdimen % 21 +\fi + +\ifnocontextobject \scratchcounter \do \newcount \scratchcounter \fi +\ifnocontextobject \scratchtoks \do \newtoks \scratchtoks \fi +\ifnocontextobject \scratchdimen \do \newdimen \scratchdimen \fi +\ifnocontextobject \scratchskip \do \newskip \scratchskip \fi +\ifnocontextobject \scratchmuskip \do \newmuskip \scratchmuskip \fi +\ifnocontextobject \scratchbox \do \newbox \scratchbox \fi +\ifnocontextobject \scratchread \do \newread \scratchread \fi +\ifnocontextobject \scratchwrite \do \newwrite \scratchwrite \fi + +%D Watch out, in the past we ran into troubles with \type {\onepoint} +%D (and others) mening something different in \LATEX\ then here. In +%D such situations clashes are bound to happen. For this reason the +%D assignments are no inside the test. We try to catch those situations +%D but we cannot keep ahead of teh future. + +\ifnocontextobject \zeropoint \do \newdimen \zeropoint \zeropoint = 0pt \fi % else problems with dimen12 +\ifnocontextobject \onepoint \do \newdimen \onepoint \onepoint = 1pt \fi +\ifnocontextobject \onebasepoint \do \newdimen \onebasepoint \onebasepoint = 1bp \fi +\ifnocontextobject \zerocount \do \chardef \zerocount = 0 \fi +\ifnocontextobject \plusone \do \chardef \plusone = 1 \fi +\ifnocontextobject \minusone \do \newcount \minusone \minusone = -1 \fi +\ifnocontextobject \thousandpoint \do \newdimen \thousandpoint \thousandpoint = 1000pt \fi +\ifnocontextobject \onerealpoint \do \newdimen \onerealpoint \onerealpoint = 1pt \fi % latex has a funny \onepoint + +\ifnocontextobject \emptytoks \do \newtoks \emptytoks \fi +\ifnocontextobject \nextbox \do \newbox \nextbox \fi +\ifnocontextobject \nextdepth \do \newdimen \nextdepth \fi + +\ifnocontextobject \CONTEXTtrue \do \newif\ifCONTEXT \fi +\ifnocontextobject \eightbitcharacterstrue \do \newif\ifeightbitcharacters \fi +\ifnocontextobject \MPdrawingdonetrue \do \newif\ifMPdrawingdone \fi + +\ifnocontextobject \ifzeropt \do \let\ifzeropt\ifcase \fi + +%D \macros +%D {@@...} +%D +%D We use symbolic name for \CATCODES. They can only be used +%D when we are in unprotected state. + +\ifnocontextobject \@@escape \do \chardef\@@escape = 0 \fi +\ifnocontextobject \@@begingroup \do \chardef\@@begingroup = 1 \fi +\ifnocontextobject \@@endgroup \do \chardef\@@endgroup = 2 \fi +\ifnocontextobject \@@endofline \do \chardef\@@endofline = 5 \fi +\ifnocontextobject \@@ignore \do \chardef\@@ignore = 9 \fi +\ifnocontextobject \@@space \do \chardef\@@space = 10 \fi +\ifnocontextobject \@@letter \do \chardef\@@letter = 11 \fi +\ifnocontextobject \@@other \do \chardef\@@other = 12 \fi +\ifnocontextobject \@@active \do \chardef\@@active = 13 \fi +\ifnocontextobject \@@comment \do \chardef\@@comment = 14 \fi + +\def\s!sp{sp} +\def\s!pt{pt} +\def\s!bp{bp} + +%D \macros +%D {@EA,expanded,expandoneargafter,expandtwoargsafter} +%D +%D Also needed: + +\let\@EA=\expandafter \let\@@expanded\empty + +\def\expanded#1% + {\long\xdef\@@expanded{\noexpand#1}\@@expanded} + +\def\expandoneargafter#1#2% + {\@EA#1\@EA{#2}} + +\def\expandtwoargsafter#1#2#3% + {\@EA\@EA\@EA#1\@EA\@EA\@EA{\@EA#2\@EA}\@EA{#3}} + +\def\@EAEAEA{\@EA\@EA\@EA} + +%D \macros +%D {everyline,EveryLine,EveryPar} +%D +%D In \CONTEXT\ we use \type{\everypar} for special purposes +%D and provide \type{\EveryPar} as an alternative. The same +%D goes for \type{\everyline} and \type{\EveryLine}. + +\ifnocontextobject \everyline \do \newtoks\everyline \fi +\ifnocontextobject \EveryPar \do \let\EveryPar =\everypar \fi +\ifnocontextobject \EveryLine \do \let\EveryLine=\everyline \fi + +%D \macros +%D {globallet} + +\def\globallet{\global\let} + +%D \macros +%D {!!...} +%D +%D We reserve ourselves some scratch strings (i.e. macros) +%D and some more counters. + +\ifnocontextobject \!!stringa \do \def\!!stringa {} \fi +\ifnocontextobject \!!stringb \do \def\!!stringb {} \fi +\ifnocontextobject \!!stringc \do \def\!!stringc {} \fi +\ifnocontextobject \!!stringd \do \def\!!stringd {} \fi + +\ifnocontextobject \!!counta \do \newcount\!!counta {} \fi +\ifnocontextobject \!!countb \do \newcount\!!countb {} \fi + +%D \macros +%D {!!...} +%D +%D The next set of definitions speed up processing a bit. +%D Furthermore it saves memory. + +\ifnocontextobject \!!zeropoint \do \def\!!zeropoint {0pt} \fi +\ifnocontextobject \!!zerocount \do \def\!!zerocount {0} \fi +\ifnocontextobject \!!tenthousand \do \def\!!tenthousand {10000} \fi + +\ifnocontextobject \!!width \do \def\!!width {width} \fi +\ifnocontextobject \!!height \do \def\!!height {height} \fi +\ifnocontextobject \!!depth \do \def\!!depth {depth} \fi + +\ifnocontextobject \!!plus \do \def\!!plus {plus} \fi +\ifnocontextobject \!!minus \do \def\!!minus {minus} \fi +\ifnocontextobject \!!to \do \def\!!to {to} \fi + +%D \macros +%D {smashbox} +%D +%D The system modules offer a range of smashing macros, of +%D which we only copied \type{\smashbox}. + +\ifnocontextobject \smashbox \do + + \def\smashbox#1% + {\wd#1\zeropoint + \ht#1\zeropoint + \dp#1\zeropoint} + +\fi + +%D \macros +%D {dowithnextbox} +%D +%D Also without further comment, we introduce a macro that +%D gets the next box and does something usefull with it. +%D Because the \type{\afterassignment} is executed inside the +%D box, we have to use a \type{\aftergroup} too. + +\ifnocontextobject \dowithnextbox \do + + \def\dowithnextbox#1% + {\def\dodowithnextbox{#1}% + \afterassignment\dododowithnextbox + \setbox\nextbox} + + \def\dododowithnextbox% + {\aftergroup\dodowithnextbox} + +\fi + +%D \macros +%D {setvalue,setevalue,setxvalue,,setgvalue, +%D getvalue, +%D letvalue,letgvalue} +%D +%D The next two macros expand their argument to +%D \type{\argument}. The first one is used to define macro's +%D the second one executes them. + +\ifnocontextobject \setvalue \do + + \def\setvalue #1{\expandafter\def\csname#1\endcsname} + \def\setevalue#1{\expandafter\edef\csname#1\endcsname} + \def\setgvalue#1{\expandafter\gdef\csname#1\endcsname} + \def\setxvalue#1{\expandafter\xdef\csname#1\endcsname} + \def\getvalue #1{\csname#1\endcsname} + \def\letvalue #1{\expandafter\let\csname#1\endcsname} + \def\letgvalue#1{\global\expandafter\let\csname#1\endcsname} +\fi + +%D \macros +%D {unexpanded} +%D +%D The next command can be used as prefixed for commands that +%D need protection during tests and writing to files. This +%D is a very \CONTEXT\ specific one. + +\ifnocontextobject \unexpanded \do + + \let\unexpanded\relax + +\fi + +%D \macros +%D {convertargument} +%D +%D The original one offers a bit more, like global assignment, the +%D the next implementation is however a bit more byte saving. + +\ifnocontextobject \convertargument \do + + \def\doconvertargument#1>{} + + \long\def\convertargument#1\to#2% + {\long\def\convertedargument{#1}% + \edef#2{\expandafter\doconvertargument\meaning\convertedargument}} + +\fi + +%D \macros +%D {forgetall} +%D +%D Sometimes we have to disable interference of whatever kind +%D of skips and mechanisms. The next macro resets some. + +\ifnocontextobject \forgetall \do + + \def\forgetall + {\parskip\zeropoint + \leftskip\zeropoint + \parindent\zeropoint + \everypar{}} + +\fi + +%D \macros +%D {withoutpt, +%D ScaledPointsToBigPoints,ScaledPointsToWholeBigPoints} +%D +%D \TEX\ lacks some real datastructure. We can however use +%D \DIMENSIONS. This kind of trickery is needed when we want +%D \TEX\ to communicate with the outside world (by means of +%D \type{\specials}). + +\ifnocontextobject \withoutpt \do + + {\catcode`\.=\@@other + \catcode`\p=\@@other + \catcode`\t=\@@other + \gdef\WITHOUTPT#1pt{#1}} + + \def\withoutpt#1% + {\expandafter\WITHOUTPT#1} + + \def\ScaledPointsToBigPoints#1#2% + {\scratchdimen=#1sp\relax + \scratchdimen=.996264\scratchdimen + \edef#2{\withoutpt{\the\scratchdimen}}} + + \def\ScaledPointsToWholeBigPoints#1#2% + {\scratchdimen=#1sp + \scratchdimen=.996264\scratchdimen + \scratchcounter=\scratchdimen + \advance\scratchcounter by 32768 + \divide\scratchcounter by 65536 + \edef#2{\the\scratchcounter}} + +\fi + +%D \macros +%D {doprocessfile} +%D +%D This macro takes three arguments: the file number, the +%D filename and a macro that handles the content of a read +%D line. + +\newif\iffileprocessed + +\ifnocontextobject \doprocessfile \do + + \def\doprocessfile#1#2#3% + {\openin#1=#2\relax + \ifeof#1% + \fileprocessedfalse + \closein#1\relax + \else + \fileprocessedtrue + \gdef\dofinishfile% + {\closein#1\relax + \global\let\doprocessline\relax}% + \gdef\doprocessline% + {\ifeof#1% + \dofinishfile + \else + \global\read#1 to \fileline + #3\relax + \expandafter\doprocessline + \fi}% + \expandafter\doprocessline + \fi} + +\fi + +%D \macros +%D {uncatcodespecials} +%D +%D This one is taken from the \TEX\ book. The \CONTEXT\ +%D alternative is a bit different, but we hope this one works +%D here. + +\ifx\dospecials\undefined + + \def\dospecials + {\do\ \do\\\do\{\do\}\do\$% + \do\#\do\^\do\_\do\&\do\%% + \do\~\do\^^A\do\^^K} + +\fi + +\ifnocontextobject \uncatcodespecials \do + + \def\uncatcodespecials + {\def\do##1{\catcode`##1=12 }\dospecials + \catcode`\ =\@@space + \catcode`\^^L=\@@ignore + \catcode`\^^M=\@@endofline + \catcode`\^^?=\@@ignore} + +\fi + +\ifnocontextobject \setnaturalcatcodes \do + +\def\setnaturalcatcodes + {\catcode`\!=\@@other \catcode`\?=\@@other \catcode`\@=\@@other + \catcode`\#=\@@other \catcode`\&=\@@other \catcode`\|=\@@other + \catcode`\$=\@@other \catcode`\^=\@@other \catcode`\_=\@@other + \catcode`\*=\@@other \catcode`\/=\@@other + \catcode`\-=\@@other \catcode`+=\@@other + \catcode`\==\@@other \catcode`\<=\@@other \catcode`\>=\@@other + \catcode`\"=\@@other \catcode`\'=\@@other \catcode`\`=\@@other + \catcode`\:=\@@other \catcode`\;=\@@other + \catcode`\,=\@@other \catcode`\.=\@@other \catcode`\~=\@@other + \catcode`\(=\@@other \catcode`\)=\@@other + \catcode`\{=\@@other \catcode`\}=\@@other + \catcode`\\=\@@other \catcode`\%=\@@other } + +\fi + +%D \macros +%D {doglobal} +%D +%D Some \CONTEXT\ low level macros can have a \type{\doglobal} +%D prefix. Let's just forget about that here: + +\ifnocontextobject \doglobal \do \let\doglobal\relax \fi + +%D The next obscure one is needed in the generic verbatim +%D environment. When we end up with more of these, it's time +%D to load the module \type{syst-gen}. + +\ifnocontextobject \doifincsnameelse \do + + \def\dodoifincsnameelse#1#2% + {\def\dododoifincsnameelse##1#1##2##3\war% + {\csname\if##2@iffalse\else iftrue\fi\endcsname}% + \expandafter\dododoifincsnameelse#2#1@@\war} + + \long\def\doifincsnameelse#1#2#3#4% + {\edef\@@instring{#1}% + \expandafter\dodoifincsnameelse\expandafter{\@@instring}{#2}% + #3% + \else + #4% + \fi} + +\fi + +%D \macros +%D {dostepwiserecurse, dorecurse, doloop, exitloop} +%D +%D The next loop macro is a real weak one, and does not offer +%D the full \CONTEXT\ functionality, let alone nesting, but +%D for simple purposes, its behaviour is acceptable. + +\newcount\recursecounter + +\def\dostepwiserecurse#1#2#3#4% very weak and rubishly version + {\ifnum#2<#1\relax\else\dodostepwiserecurse{#1}{#2}{#3}{#4}\fi} + +\def\dodostepwiserecurse#1#2#3#4% very weak and rubishly version + {\recursecounter=#1\relax + \loop + \edef\recurselevel{\the\recursecounter}% + #4\relax + \ifnum\recursecounter<#2\relax + \advance\recursecounter by #3\relax + \repeat} + +\def\dorecurse#1% + {\dostepwiserecurse{1}{#1}{1}} + +\def\doloop + {\dostepwiserecurse{1}{\maxdimen}{1}} + +\def\exitloop + {\recursecounter=\maxdimen} + +%D \macros +%D {ifundefined,doifdefined,doifundefined, +%D doifdefinedelse,doifundefinedelse} +%D +%D These alteratives are not robust but suitable for simple +%D usage. The official ones are a bit faster. + +\ifnocontextobject \doifdefined \do + + \def\ifundefined#1% + {\expandafter\ifx\csname#1\endcsname\relax} + + \def\doifdefinedelse#1#2#3% + {\expandafter\ifx\csname#1\endcsname\relax#3\else#2\fi} + + \def\doifundefinedelse#1#2#3% + {\expandafter\ifx\csname#1\endcsname\relax#2\else#3\fi} + + \def\doifdefined#1#2% + {\expandafter\ifx\csname#1\endcsname\relax\else#2\fi} + + \def\doifundefined#1#2% + {\expandafter\ifx\csname#1\endcsname\relax#2\fi} + +\fi + +%D \macros +%D {doifinstringelse} +%D +%D It seems like we end up with more and more macros here. +%D Sigh. + +\ifnocontextobject \doifinstringelse \do + + \def\p!doifinstringelse#1#2% + {\def\pp!doifinstringelse##1#1##2##3\war% + {\csname if\if##2@fals\else tru\fi e\endcsname}% + \expanded{\pp!doifinstringelse#2#1@@\noexpand\war}} + + \long\def\doifinstringelse#1#2#3#4% + {\edef\@@@instring{#1}% + \@EA\p!doifinstringelse\@EA{\@@@instring}{#2}#3\else#4\fi} + +\fi + +%D \macros +%D {twodigitrounding} +%D +%D We don't support rounding outside \CONTEXT. Sorry. + +\def\twodigitrounding#1{#1} + +%D \macros +%D {lineheight} +%D +%D In \CONTEXT\ we have \type{\lineheight}, which in many +%D cases matches \type {\baselineskip}. + +\ifnocontextobject \lineheight \do + + \def\lineheight{\baselineskip} + +\fi + +%D \macros +%D {dohandletokens} +%D +%D The following macro is the simplified version, but good +%D enough for day to day hacks. +%D +%D \starttyping +%D \dohandletokens some text\with\somemacro +%D \stoptyping + +\ifnocontextobject \dohandletokens \do + +\def\dodohandletokens + {\ifx\next\end \else + \docommando{\next}% + \expandafter\dohandletokens + \fi} + +\def\dohandletokens + {\afterassignment\dodohandletokens\let\next= } + +\long\def\handletokens#1\with#2% + {\let\docommando=#2% + \dohandletokens#1\end} + +\fi + +%D Very reduced: + +\long\def\appendtoks#1\to#2% + {\scratchtoks{#1}\expanded{#2{\the#2\the\scratchtoks}}} + +%D Well, also handy. + +\def\doiffileelse#1#2#3% + {\immediate\openin\scratchread=#1\relax + \ifeof\scratchread + \def\next{#3}% + \else + \def\next{#2}% + \fi + \immediate\closein\scratchread + \next} + +%D New. + +\let\donothing\empty + +%D Also new: + +\def\letempty #1{\let#1\empty} +\def\globalletempty#1{\global\let#1\empty} + +\def\letvalueempty #1{\expandafter\let\csname#1\endcsname\empty} +\def\letgvalueempty#1{\global\expandafter\let\csname#1\endcsname\empty} + +%D Sigh + +\def\settrue #1{\chardef#1\zerocount} +\def\setfalse#1{\chardef#1\plusone} + +\let\newconditional = \setfalse +\let\ifconditional = \ifcase + +%D That's it. Please forget this junk and take a look at how +%D it should be done. + +\StopLatexHack \protect \endinput diff --git a/systems/doc/pdftex/samplepdftex/supp-pdf.tex b/systems/doc/pdftex/samplepdftex/supp-pdf.tex new file mode 100644 index 0000000000..184cfb8158 --- /dev/null +++ b/systems/doc/pdftex/samplepdftex/supp-pdf.tex @@ -0,0 +1,2191 @@ +%D \module +%D [ file=supp-pdf, +%D version=2004.12.16, +%D title=\CONTEXT\ Support Macros, +%D subtitle=\METAPOST\ to \PDF\ conversion, +%D author=Hans Hagen \& others (see text), +%D date=\currentdate, +%D copyright=\PRAGMA] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D These macros are written as generic as possible. Some +%D general support macro's are loaded from a small module +%D especially made for non \CONTEXT\ use. In this module I +%D use a matrix transformation macro written by Tanmoy +%D Bhattacharya. Thanks to extensive testing by Sebastian +%D Ratz I was able to complete this module within reasonable +%D time. This module has support for \METAPOST\ extensions +%D built in. +%D +%D Daniel H. Luecking came up with a better (more precise) +%D transformation method. You can recognize his comment by +%D his initials. (We keep the old code around because it's a +%D nice illustration on how a module like this evolves.) + +% Beware, we cannot use \zeropoint here since it may be +% defined in the range \dimen 0 - 20 which we happen to use +% as scratch registers; inside context we may consider +% using dedicated registers. + +% fails: ( ) vect10 9.96265 fshow % \040\040\040\040 +% +% some optimizations are possible, but we need to be generic + +%D First we take care of non||\CONTEXT\ use (newlines needed, +%D expandafter not -). + +\ifx \undefined \writestatus \input supp-mis.tex \relax \fi + +\ifx \undefined \convertMPtoPDF \else \expandafter \endinput \fi + +\ifx \undefined \StartLatexHack \else \StartLatexHack \fi + +%D This module handles some \PDF\ conversion and insertions +%D topics. By default, the macros use the \PDFTEX\ primitive +%D \type{\pdfliteral} when available. Since \PDFTEX\ is now the +%D default engine for \TEX\ distributions, we need a more complex +%D test. + +\writestatus{loading}{Context Support Macros / PDF (2004.03.26)} + +\unprotect + +\ifx\PDFcode\undefined + \ifx\pdfliteral\undefined + \def\PDFcode#1{\special{PDF: #1}} + \else\ifx\pdfoutput\undefined + \def\PDFcode#1{\special{PDF: #1}} + \else\ifcase\pdfoutput + \def\PDFcode#1{\special{PDF: #1}} + \else % pdftex as well as in pdf mode + \let\PDFcode\pdfliteral + \fi\fi\fi +\else + % we probably use context +\fi + +%D First we define a handy constant: + +\bgroup \catcode`\%=\@@other \xdef\letterpercent{\string%} \egroup + +%D \macros +%D {pdfimage,pdfimages,pdfclippedimage} +%D +%D Starting with pdftex version 14, images are included more +%D natural to the form embedding. This enables alternative +%D images to be embedded. +%D +%D \starttyping +%D \pdfimage <optional dimensions> {file} +%D \pdfimages <optional dimensions> {high res file} {low res file} +%D \stoptyping +%D +%D The first one replaces the pre||version||14 original, +%D while the latter provides alternative images. +%D +%D The next macro is dedicated to Maarten Gelderman, who +%D needed to paste prepared \PDF\ pages into conference +%D proceedings. +%D +%D \starttyping +%D \pdfclippedimage <optional dimensions> {file} {l} {r} {t} {b} +%D \stoptyping + +% \ifx\pdftexversion\undefined % no \m!systems for the sake of latex +% \writestatus{systems}{Why not use pdf(e)TeX binaries?} +% \protect +% \expandafter\endinput +% \fi + +\ifx\pdftexversion\undefined \else \ifnum\pdftexversion>13 + + \def\pdfimage#1#% + {\dopdfimage{#1}} + + \def\dopdfimage#1#2% + {\immediate\pdfximage#1{#2}% + \pdfrefximage\pdflastximage} + + \def\pdfimages#1#% + {\dopdfimages{#1}} + + \def\dopdfimages#1#2#3% + {\immediate\pdfximage#1{#2}% + \immediate\pdfobj + {[ << /Image \the\pdflastximage\space0 R + /DefaultForPrinting true >> ]}% + \immediate\pdfximage#1 + attr {/Alternates \the\pdflastobj\space0 R}{#3}% + \pdfrefximage\pdflastximage} + + \def\pdfclippedimage#1#% specs {file}{left}{right}{top}{bottom} + {\dopdfclippedimage{#1}} + + \def\dopdfclippedimage#1#2#3#4#5#6% + {\bgroup + \pdfximage#1{#2}% + \setbox\scratchbox\hbox + {\pdfrefximage\pdflastximage}% + \hsize\wd\scratchbox + \advance\hsize -#3 + \advance\hsize -#4 + \vsize\ht\scratchbox + \advance\vsize -#5 + \advance\vsize -#6 + \setbox\scratchbox\vbox to \vsize + {\vskip-#5\hbox to \hsize{\hskip-#3\box\scratchbox\hss}}% + \pdfxform\scratchbox + \pdfrefxform\pdflastxform + \egroup} + +\fi \fi + +%D If you want to save a few hash entries, you may prefer the +%D less readable alternatives, like: +%D +%D \starttyping +%D \def\pdfimage#1#% This one is less readable but needs no additional +%D {\bgroup % hash entry for the second stage macro. +%D \def\pdfimage##1% +%D {\immediate\pdfximage##1{#2}% +%D \pdfrefximage\pdflastximage\egroup}} +%D \stoptyping + +%D For old times sake we provide a few aliases. These will be +%D removed some day. + +\ifx\pdftexversion\undefined \else \ifnum\pdftexversion>13 + + \let\pdfform =\pdfxform + \let\pdflastform=\pdflastxform + \let\pdfrefform =\pdfrefxform + +\fi \fi + +%D \macros +%D {convertPDFtoPDF} +%D +%D \PDFTEX\ supports verbatim inclusion of \PDF\ code. The +%D following macro takes care of inserting externally defined +%D illustrations in \PDF\ format. According to a suggestion +%D Tanmoy Bhattacharya posted to the \PDFTEX\ mailing list, we +%D first skip lines until \type{stream} is reached and then +%D copy lines until \type{endstream} is encountered. This +%D scheme only works with vectorized graphics in which no +%D indirect references to objects are used. Bitmaps also don't +%D work. Interpreting their specifications is beyond the +%D current implementation. +%D +%D \starttyping +%D \convertPDFtoPDF +%D {filename} +%D {x scale} {y scale} +%D {x offset } {y offset} +%D {width} {height} +%D \stoptyping +%D +%D When the scales are set to~1, the last last four values +%D are the same as the bounding box, e.g. +%D +%D \starttyping +%D \convertPDFtoPDF{mp-pra-1.pdf} {1} {1}{-1bp}{-1bp}{398bp}{398bp} +%D \convertPDFtoPDF{mp-pra-1.pdf}{.5}{.5} {0bp} {0bp}{199bp}{199bp} +%D \stoptyping +%D +%D Keep in mind, that this kind of copying only works for +%D pure and valid pdf code (without fonts). + +%D The scanning and copying is straightforward and quite fast. +%D To speed up things we use two constants. + +\def\@@PDFstream@@ {stream} +\def\@@PDFendstream@@ {endstream} + +%D \macros +%D {PDFmediaboxprefered} +%D +%D If needed, the macros can scan for the mediabox that +%D specifies the dimensions and offsets of the graphic. When +%D we say: +%D +%D \starttyping +%D \PDFmediaboxpreferedtrue +%D \stoptyping +%D +%D the mediabox present in the file superseded the user +%D specified, already scaled and calculated offset and +%D dimensions. Beware: the user supplied values are not the +%D bounding box ones! + +%D This code has become obsolete. + +% \newif\ifPDFmediaboxprefered + +\def\setPDFboundingbox#1#2#3#4#5#6% + {\dimen0=#1\dimen0=#5\dimen0 + \ScaledPointsToBigPoints{\number\dimen0}\PDFxoffset + \dimen0=#3\dimen0=#5\dimen0 + \xdef\PDFwidth{\the\dimen0}% + \dimen0=#2\dimen0=#6\dimen0 + \ScaledPointsToBigPoints{\number\dimen0}\PDFyoffset + \dimen0=#4\dimen0=#6\dimen0 + \xdef\PDFheight{\the\dimen0}% + \global\let\PDFxoffset\PDFxoffset + \global\let\PDFyoffset\PDFyoffset} + +\def\setPDFmediabox#1[#2 #3 #4 #5]#6\done + {\dimen2=#2bp\dimen2=-\dimen2 % \dimen2=-#2bp also works since tex handles -- + \dimen4=#3bp\dimen4=-\dimen4 % \dimen4=-#3bp also works since tex handles -- + \dimen6=#4bp\advance\dimen6 \dimen2 + \dimen8=#5bp\advance\dimen8 \dimen4 + \setPDFboundingbox{\dimen2}{\dimen4}{\dimen6}{\dimen8}\PDFxscale\PDFyscale} + +% \def\checkPDFmediabox#1/MediaBox#2#3\done +% {\ifx#2\relax \else +% \message{mediabox}% +% \setPDFmediabox#2#3\done +% \fi} + +%D We use the general macro \type{\doprocessfile} and feed this +%D with a line handling macro that changes it's behavior when +%D the stream operators are encountered. + +% \def\handlePDFline +% {\ifx\@@PDFstream@@\fileline +% \let\doprocessPDFline\copyPDFobject +% \startPDFtoPDF +% \else\ifPDFmediaboxprefered +% \expandafter\checkPDFmediabox\fileline/MediaBox\relax\done +% \fi\fi} + +% \def\copyPDFobject +% {\ifx\@@PDFendstream@@\fileline +% \ifPDFmediaboxprefered +% \let\doprocessPDFline\findPDFmediabox +% \else +% \let\doprocessPDFline\relax +% \fi +% \else +% \advance\scratchcounter 1 +% \PDFcode{\fileline}% +% \fi} + +% \def\findPDFmediabox +% {\expandafter\checkPDFmediabox\fileline/MediaBox\relax\done} + +%D The main conversion macro wraps the \PDF\ codes in a box +%D that is output as an object. The graphics are embedded +%D in~\type{q} and~\type{Q} and are scaled and positioned using +%D one transform call (\type{cm}). This saves some additional +%D scaling. + +%D \starttyping +%D \def\startPDFtoPDF% +%D {\setbox0=\vbox\bgroup +%D \message{[PDF to PDF \PDFfilename}% +%D \forgetall +%D \scratchcounter=0 +%D \let\stopPDFtoPDF=\dostopPDFtoPDF} +%D +%D \def\dostopPDFtoPDF% +%D {\ifnum\scratchcounter<0 \scratchcounter=1 \fi +%D \message{(\the\scratchcounter\space lines)]}% +%D \egroup +%D \wd0=\PDFwidth +%D \vbox to \PDFheight +%D {\forgetall +%D \vfill +%D \PDFcode{q}% +%D \PDFcode{1 0 0 1 \PDFxoffset\space \PDFyoffset\space cm}% +%D \PDFcode{\PDFxscale\space 0 0 \PDFyscale\space 0 0 cm}% +%D \box0 +%D \PDFcode{Q}}} +%D +%D \def\stopPDFtoPDF% +%D {\message{[PDF to PDF \PDFfilename\space not found]}} +%D +%D \def\convertPDFtoPDF#1#2#3#4#5#6#7% +%D {\bgroup +%D \def\PDFfilename{#1}% +%D \def\PDFxscale {#2}% +%D \def\PDFyscale {#3}% +%D \setPDFboundingbox{#4}{#5}{#6}{#7}{1}{1}% +%D \uncatcodespecials +%D \endlinechar=-1 +%D \let\doprocessPDFline=\handlePDFline +%D \doprocessfile\scratchread\PDFfilename\doprocessPDFline +%D \stopPDFtoPDF +%D \egroup} + +\def\convertPDFtoPDF#1#2#3#4#5#6#7% + {\message{[PDF to PDF use \string\PDFcode instead]}% + \vbox{use the direct method instead}} + +%D \macros +%D {dogetPDFmediabox} +%D +%D The next macro can be used to find the mediabox of a \PDF\ +%D illustration. +%D +%D \starttyping +%D \dogetPDFmediabox +%D {filename} +%D {new dimen}{new dimen}{new dimen}{new dimen} +%D \stoptyping +%D +%D Beware of dimen clashes: this macro uses the 5~default +%D scratch registers! When no file or mediabox is found, the +%D dimensions are zeroed. + +\def\dogetPDFmediabox#1#2#3#4#5% + {\bgroup + \def\PDFxscale{1}% + \def\PDFyscale{1}% + \uncatcodespecials + \endlinechar\minusone + \def\checkPDFtypepage##1/Type /Page##2##3\done% + {\ifx##2\relax + \else\if##2s% accept /Page and /Pages + \let\doprocessPDFline\findPDFmediabox + \else + \let\doprocessPDFline\findPDFmediabox + \fi\fi}% + \def\findPDFtypepage + {\expandafter\checkPDFtypepage\fileline/Type /Page\relax\done}% + \def\checkPDFmediabox##1/MediaBox##2##3\done% + {\ifx##2\relax \else + \setPDFmediabox##2##3\done + \fileprocessedtrue + \fi}% + \def\findPDFmediabox + {\expandafter\checkPDFmediabox\fileline/MediaBox\relax\done}% + \let\doprocessPDFline\findPDFtypepage + \doprocessfile\scratchread{#1}\doprocessPDFline + \egroup + \ifx\PDFxoffset\undefined + #2\zeropoint + #3\zeropoint + #4\zeropoint + #5\zeropoint + \else + #2=\PDFxoffset\onebasepoint + #3=\PDFyoffset\onebasepoint + #4=\PDFwidth + #5=\PDFheight + \fi} + +%D \macros +%D {convertMPtoPDF} +%D +%D The next set of macros implements \METAPOST\ to \PDF\ +%D conversion. Because we want to test as fast as possible, we +%D first define the \POSTSCRIPT\ operators that \METAPOST\ +%D uses. We don't define irrelevant ones, because these are +%D skipped anyway. + +%D The converter can be made a bit faster by replacing the +%D two test macros (the ones with the many \type {\if's}) by +%D a call to named branch macros (something \typ {\getvalue +%D {xPSmoveto}}. For everyday documents with relatively +%D small graphics the gain in speed can be neglected. + +\def \PScurveto {curveto} +\def \PSlineto {lineto} +\def \PSmoveto {moveto} +\def \PSshowpage {showpage} +\def \PSnewpath {newpath} +\def \PSfshow {fshow} +\def \PSclosepath {closepath} +\def \PSfill {fill} +\def \PSstroke {stroke} +\def \PSclip {clip} +\def \PSrlineto {rlineto} +\def \PSsetlinejoin {setlinejoin} +\def \PSsetlinecap {setlinecap} +\def \PSsetmiterlimit {setmiterlimit} +\def \PSsetgray {setgray} +\def \PSsetrgbcolor {setrgbcolor} +\def \PSsetcmykcolor {setcmykcolor} +\def \PSsetdash {setdash} +\def \PSgsave {gsave} +\def \PSgrestore {grestore} +\def \PStranslate {translate} +\def \PSscale {scale} +\def \PSconcat {concat} +\def \PSdtransform {dtransform} +\def \PSsetlinewidth {setlinewidth} +\def \PSpop {pop} + +\def \PSnfont {nfont} % was needed for TUG98 proceedings +\def \PSspecial {special} % extensions to MetaPost + +%D A previous version set \type {%} to ignore, which +%D simplified the following definitions. At the start of +%D conversion the percent character was made active again. +%D Because the whole graphic is one paragraph (there are no +%D empty lines) this does not give the desired effect. This +%D went unnoticed untill Scott Pakin sent me a test file +%D percent characters in a string. So, from now on we have +%D to prefix the following strings with percentages. + +\edef \PSBoundingBox {\letterpercent\letterpercent BoundingBox:} +\edef \PSHiResBoundingBox {\letterpercent\letterpercent HiResBoundingBox:} +\edef \PSExactBoundingBox {\letterpercent\letterpercent ExactBoundingBox:} +\edef \PSMetaPostSpecial {\letterpercent\letterpercent MetaPostSpecial:} +\edef \PSMetaPostSpecials {\letterpercent\letterpercent MetaPostSpecials:} +\edef \PSPage {\letterpercent\letterpercent Page:} + +%D By the way, the \type {setcmykcolor} operator is not +%D output by \METAPOST\ but can result from converting the +%D \cap{RGB} color specifications, as implemented in +%D \type{supp-mps}. + +%D In \POSTSCRIPT\ arguments precede the operators. Due to the +%D fact that in some translations we need access to those +%D arguments, and also because sometimes we have to skip them, +%D we stack them up. The stack is one||dimensional for non path +%D operators and two||dimensional for operators inside a path. +%D This is because we have to save the whole path for +%D (optional) postprocessing. Values are pushed onto the stack +%D by: +%D +%D \starttyping +%D \setMPargument {value} +%D \stoptyping +%D +%D They can be retrieved by the short named macros: +%D +%D \starttyping +%D \gMPa {number} +%D \gMPs {number} +%D \stoptyping +%D +%D When scanning a path specification, we also save the +%D operator, using +%D +%D \starttyping +%D \setMPkeyword {n} +%D \stoptyping +%D +%D The path drawing operators are coded for speed: \type{clip}, +%D \type{stroke}, \type{fill} and \type{fillstroke} become +%D 1, 2, 3 and~4. +%D +%D When processing the path this code can be retrieved +%D using +%D +%D \starttyping +%D \getMPkeyword % {n} +%D \stoptyping +%D +%D When setting an argument, the exact position on the stack +%D depends on the current value of the \COUNTERS\ +%D \type{\nofMPsegments} and \type{\nofMParguments}. + +\newcount\nofMPsegments +\newcount\nofMParguments + +%D These variables hold the coordinates. The argument part of +%D the stack is reset by: +%D +%D \starttyping +%D \resetMPstack +%D \stoptyping +%D +%D We use the prefix \type{@@MP} to keep the stack from +%D conflicting with existing macros. To speed up things a bit +%D more, we use the constant \type{\@@MP}. + +\def\@@MP{@@MP} + +\def\setMPargument% #1% + {\advance\nofMParguments \plusone + \expandafter\def + \csname\@@MP\the\nofMPsegments\the\nofMParguments\endcsname} % {#1} + +\def\letMPargument + {\advance\nofMParguments \plusone + \expandafter\let + \csname\@@MP\the\nofMPsegments\the\nofMParguments\endcsname} + +\def\setMPsequence#1 % + {\advance\nofMParguments \plusone + \expandafter\def + \csname\@@MP\the\nofMPsegments\the\nofMParguments\endcsname{#1}% + \handleMPsequence} + +\def\gMPa#1% + {\csname\@@MP0\number#1\endcsname} + +\def\gMPs#1% + {\csname\@@MP\the\nofMPsegments\number#1\endcsname} + +\def\dogMPa#1% + {\@EAEAEA\do\csname\@@MP0\number#1\endcsname} + +\def\setMPkeyword#1 % + {\expandafter\def\csname\@@MP\the\nofMPsegments0\endcsname{#1}% + \advance\nofMPsegments \plusone + \nofMParguments\zerocount} + +\def\getMPkeyword% #1% + {\csname\@@MP\the\nofMPsegments0\endcsname} % {\csname\@@MP#10\endcsname} + +%D When we reset the stack, we can assume that all further +%D comment is to be ignored and handled in strings. +%D By redefining the reset macro after the first call, we +%D save some run time. Only use this macro after all +%D comments are processed and use the simple alternative +%D when dealing with comments. + +\def\doresetMPstack + {\nofMParguments\zerocount} + +\def\resetMPstack + {\let\handleMPgraphic\handleMPendgraphic + \let\resetMPstack\doresetMPstack + \resetMPstack} + +%D The arguments are saved with the preceding command +%D \type{\do}. By default this command expands to nothing, but +%D when we deal with strings it's used to strip off the +%D \type{(} and \type{)}. +%D +%D Strings are kind of tricky, because characters can be +%D passed verbatim \type{(hello)}, by octal number +%D \type{(\005)} or as command \type{(\()}. We therefore +%D cannot simply ignore \type{(} and \type{)}, the way we do +%D with \type{[} and \type{]}. Another complication is that +%D strings may contain characters that normally have a +%D special meaning in \TEX, like \type{$} and \type{{}}. +%D +%D A previous solution made \type{\} an active character and +%D let it look ahead for a number or characters. We had to +%D abandon this scheme because of the need for verbatim +%D support. The next solution involved some \CATCODE\ +%D trickery but works well. + +\def\octalMPcharacter#1#2#3% + {\char'#1#2#3\relax} + +\bgroup +\catcode`\|=\@@comment +\catcode`\%=\@@active +\catcode`\[=\@@active +\catcode`\]=\@@active +\catcode`\{=\@@active +\catcode`\}=\@@active +\catcode`B=\@@begingroup +\catcode`E=\@@endgroup +\gdef\ignoreMPspecials| + B\let%\letterpercent| + \def[BE| + \def]BE| + \def{BE| + \def}BEE +\gdef\obeyMPspecials| + B\def%B\char 37\relax E| + \def[B\char 91\relax E| + \def]B\char 93\relax E| + \def{B\char123\relax E| + \def}B\char125\relax EE +\gdef\setMPspecials| + B\setnaturalcatcodes + \catcode`\\=\@@escape + \catcode`\%=\@@active + \catcode`\[=\@@active + \catcode`\]=\@@active + \catcode`\{=\@@active + \catcode`\}=\@@active + \lccode`\-=0 | latex sets this to `\- + \lccode`\%=`\% | otherwise it's seen as a number + \def\(B\char40\relax E| + \def\)B\char41\relax E| + \def\\B\char92\relax E| + \def\0B\octalMPcharacter0E| + \def\1B\octalMPcharacter1E| + \def\2B\octalMPcharacter2E| + \def\3B\octalMPcharacter3E| + \def\4B\octalMPcharacter4E| + \def\5B\octalMPcharacter5E| + \def\6B\octalMPcharacter6E| + \def\7B\octalMPcharacter7E| + \def\8B\octalMPcharacter8E| + \def\9B\octalMPcharacter9EE +\egroup + +%D We use the comment symbol as a sort of trigger. Beware! +%D The whole graphic is seen as on eparagraph, which means +%D that we cannot change the catcodes in between. + +\bgroup +\catcode`\%=\@@active +\gdef\startMPscanning{\let%=\startMPconversion} +\egroup + +%D In earlier versions we used the sequence +%D +%D \starttyping +%D \expandafter\handleMPsequence\input filename\relax +%D \stoptyping +%D +%D Persistent problems in \LATEX\ however forced us to use a +%D different scheme. Every \POSTSCRIPT\ file starts with a +%D \type{%}, so we temporary make this an active character +%D that starts the scanning and redefines itself. (The problem +%D originates in the redefinition by \LATEX\ of the +%D \type{\input} primitive.) + +\def\startMPconversion + {\ignoreMPspecials + \handleMPsequence} + +%D Here comes the main loop. Most arguments are numbers. This +%D means that they can be recognized by their \type{\lccode}. +%D This method saves a lot of processing time. We could +%D speed up the conversion by handling the \type{path} +%D seperately. + +\def\@EAEAEA{\expandafter\expandafter\expandafter} % to be sure + +\def\dohandleMPsequence#1% + {\ifdone + \ifcase\lccode`#1\relax + \@EAEAEA\dohandleMPsequenceA + \else + \@EAEAEA\dohandleMPsequenceB + \fi + \else + \@EA\dohandleMPsequenceC + \fi#1} + +%\def\dohandleMPsequenceA#1 % +% {\setMPargument{#1}% +% \handleMPsequence} + +\let\dohandleMPsequenceA\setMPsequence + +\def\dohandleMPsequenceB#1 % + {\edef\somestring{#1}% + \ifx\somestring\PSmoveto + \edef\lastMPmoveX{\gMPa1}% + \edef\lastMPmoveY{\gMPa2}% + \PDFcode{\!MPgMPa1 \!MPgMPa2 m}% + \resetMPstack + \else\ifx\somestring\PSnewpath + \let\handleMPsequence\handleMPpath + \else\ifx\somestring\PSgsave + \PDFcode{q}% + \resetMPstack + \else\ifx\somestring\PSgrestore + \PDFcode{Q}% + \resetMPstack + \else\ifx\somestring\PSdtransform % == setlinewidth + \let\handleMPsequence\handleMPdtransform + % after that we will encounter more tokens until setlinewidth+pop + % or pop+setlinewidth which we catch next; we explicitly need to + % reset the stack since [] n setdash may follow; a more clever + % approach would be to read on till the condition is met, but it's + % the only pop / setlinewidth we will encounter so ... + \else\ifx\somestring\PSsetlinewidth + % already handled in dtransform + \resetMPstack + \else\ifx\somestring\PSpop + % already handled in dtransform + \resetMPstack + \else\ifx\somestring\PSconcat + \PDFcode{\gMPa1 \gMPa2 \gMPa3 \gMPa4 \gMPa5 \gMPa6 cm}% + \resetMPstack + \else\ifx\somestring\PSsetrgbcolor + \handleMPrgbcolor + \resetMPstack + \else\ifx\somestring\PSsetcmykcolor + \handleMPcmykcolor + \resetMPstack + \else\ifx\somestring\PSsetgray + \handleMPgraycolor + \resetMPstack + \else\ifx\somestring\PStranslate + \PDFcode{1 0 0 1 \gMPa1 \gMPa2 cm}% + \resetMPstack + \else\ifx\somestring\PSsetdash + \handleMPsetdash + \resetMPstack + \else\ifx\somestring\PSsetlinejoin + \PDFcode{\gMPa1 j}% + \resetMPstack + \else\ifx\somestring\PSsetmiterlimit + \PDFcode{\gMPa1 M}% + \resetMPstack + \else\ifx\somestring\PSfshow + \PDFcode{n}% + \handleMPfshow + \resetMPstack + \else\ifx\somestring\PSsetlinecap + \PDFcode{\gMPa1 J}% + \resetMPstack + \else\ifx\somestring\PSrlineto + \PDFcode{\!MP\lastMPmoveX\space\!MP\lastMPmoveY\space l S}% + \resetMPstack + \else\ifx\somestring\PSscale + \PDFcode{\gMPa1 0 0 \gMPa2 0 0 cm}% + \resetMPstack + \else\ifx\somestring\PSspecial + \handleMPspecialcommand + \resetMPstack + \else + \handleMPgraphic% {#1}% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \handleMPsequence} + +\def\dohandleMPsequenceC#1 % + {\edef\somestring{#1}% + \handleMPgraphic % {#1}% + \handleMPsequence} + +%D Since colors are not sensitive to transformations, they +%D are sometimes used for signaling. Therefore, we handle them +%D separately. The next macro can be redefined if needed. + +\def\handleMPrgbcolor + {\PDFcode{\!MPgMPa1 \!MPgMPa2 \!MPgMPa3 rg + \!MPgMPa1 \!MPgMPa2 \!MPgMPa3 RG}} + +\def\handleMPcmykcolor + {\PDFcode{\!MPgMPa1 \!MPgMPa2 \!MPgMPa3 \!MPgMPa4 k + \!MPgMPa1 \!MPgMPa2 \!MPgMPa3 \!MPgMPa4 K}} + +\def\handleMPgraycolor + {\PDFcode{\!MPgMPa1 g + \!MPgMPa1 G}} + +\def\handleMPspotcolor + {\PDFcode{0 g + 0 G}} + +%D Beginning and ending the graphics is taken care of by the +%D macro \type{\handleMPgraphic}, which is redefined when +%D the first graphics operator is met. + +\def\handleMPendgraphic % #1% + {\ifx\somestring\PSshowpage + \let\handleMPsequence\finishMPgraphic + \else + \letMPargument\somestring % {#1}% + \fi} + +\def\handleMPbegingraphic % #1% + {\ifx\somestring\PSBoundingBox + \def\handleMPsequence{\handleMPboundingbox1}% + \else\ifx\somestring\PSHiResBoundingBox + \def\handleMPsequence{\handleMPboundingbox2}% + \else\ifx\somestring\PSExactBoundingBox + \def\handleMPsequence{\handleMPboundingbox3}% + \else\ifx\somestring\PSshowpage + \let\handleMPsequence\finishMPgraphic + \else\ifx\somestring\PSPage + \let\handleMPsequence\handleMPpage + \else\ifx\somestring\PSMetaPostSpecials + \let\handleMPsequence\handleMPspecialscomment + \else\ifx\somestring\PSMetaPostSpecial + \let\handleMPsequence\handleMPspecialcomment + \else + \letMPargument\somestring % {#1}% + \fi\fi\fi\fi\fi\fi\fi} + +\let\handleMPgraphic=\handleMPbegingraphic + +%D We check for three kind of bounding boxes: the normal one +%D and two high precision ones: +%D +%D \starttyping +%D BoundingBox: llx lly ucx ucy +%D HiResBoundingBox: llx lly ucx ucy +%D ExactBoundingBox: llx lly ucx ucy +%D \stoptyping +%D +%D The original as well as the recalculated dimensions are +%D saved for later use. + +\newif\ifskipemptyMPgraphic \skipemptyMPgraphicfalse + +\chardef\currentMPboundingbox=0 + +\def\handleMPboundingbox#1#2 #3 #4 #5 + {\ifnum#1>\currentMPboundingbox + \xdef\MPllx{#2}\xdef\MPlly{#3}% + \xdef\MPurx{#4}\xdef\MPury{#5}% + \dimen0=#2\onepoint + \dimen0=-\MPxscale\dimen0 + \dimen2=#3\onepoint + \dimen2=-\MPyscale\dimen2 + \xdef\MPxoffset{\withoutpt\the\dimen0}% + \xdef\MPyoffset{\withoutpt\the\dimen2}% + \dimen0=#2\onebasepoint + \dimen0=-\dimen0 + \dimen2=#3\onebasepoint + \dimen2=-\dimen2 + \advance\dimen0 #4\onebasepoint + \dimen0=\MPxscale\dimen0 + \xdef\MPwidth{\the\dimen0}% + \advance\dimen2 #5\onebasepoint + \xdef\MPyshift{\the\dimen2}% unscaled + \dimen2=\MPyscale\dimen2 + \xdef\MPheight{\the\dimen2}% + \chardef\currentMPboundingbox#1\relax + \fi + \doresetMPstack + \let\handleMPsequence\dohandleMPsequence + \let\next\handleMPsequence + \ifskipemptyMPgraphic + \ifdim\MPheight=\zeropoint\relax\ifdim\MPwidth=\zeropoint\relax + \def\next{\endinput\finishMPgraphic}% + \fi\fi + \fi + \next} + +%D Unless defined otherwise, we simply ignore specialcomments. + +\def\handleMPspecialcomment + {\doresetMPstack + \let\handleMPsequence\dohandleMPsequence + \handleMPsequence} + +\let\handleMPspecialscomment\handleMPspecialcomment + +%D We use the \type{page} comment as a signal that +%D stackbuilding can be started. + +\def\handleMPpage #1 #2 + {\doresetMPstack + \donetrue + \let\handleMPsequence\dohandleMPsequence + \handleMPsequence} + +%D The same applies to the special extensions. + +\def\handleMPspecialcommand + {\doresetMPstack + \let\handleMPsequence\dohandleMPsequence + \handleMPsequence} + +%D \METAPOST\ draws its dots by moving to a location and +%D invoking \type{0 0 rlineto}. This operator is not +%D available in \PDF. Our solution is straightforward: we draw +%D a line from $(current\_x, current\_y)$ to itself. This +%D means that the arguments of the preceding \type{moveto} have +%D to be saved. + +\def\lastMPmoveX{0} +\def\lastMPmoveY{0} + +%D These saved coordinates are also used when we handle the +%D texts. Text handling proved to be a bit of a nuisance, but +%D finally I saw the light. It proved that we also had to +%D take care of \type{(split arguments)}. + +\def\setMPfshowfont#1#2% + {\font\temp=#1\space at #2\relax\temp} + +\let\MPfshowcommand\empty + +\def\dohandleMPfshow + {\bgroup + \setbox\scratchbox\hbox + {\obeyMPspecials + \edef\size{\gMPa\nofMParguments}% + \ifx\size\PSnfont % round font size (to pt) + \advance\nofMParguments \minusone + \expandafter\scratchdimen\gMPa\nofMParguments\onepoint\relax + \ifdim\scratchdimen<\onepoint + \def\size{1pt}% + \else + \advance\scratchdimen .5\onepoint + \def\size##1.##2\relax{\def\size{##1pt}}% + \expandafter\size\the\scratchdimen\relax + \fi + \else + \edef\size{\size bp}% + \fi + \advance\nofMParguments \minusone + %\font\temp=\gMPa\nofMParguments\space at \size + \let\temp\relax % to be sure + \setMPfshowfont{\gMPa\nofMParguments}\size + \advance\nofMParguments \minusone + \temp + \MPfshowcommand + {\ifnum\nofMParguments=\plusone + \def\do(##1){##1}% + \dogMPa1% + \else + % we need to catch ( a ) (a a a) (\123 \123 \123) etc + \scratchcounter\plusone + \def\dodo##1% Andreas Fieger's bug: (\304...) + {\edef\!!stringa{##1\empty\empty}% and another one: ( 11) -> \ifx 11 + \ifx\!!stringa\MPspacechar\MPspacechar\else\expandafter##1\fi}% + \def\do(##1{\dodo{##1}}% + \dogMPa\scratchcounter\MPspacechar + \let\do\relax + \loop + \advance\scratchcounter \plusone + \ifnum\scratchcounter<\nofMParguments\relax + \gMPa\scratchcounter\MPspacechar + \repeat + \def\do##1){\dodo{##1}}% + \dogMPa\scratchcounter + \fi + \unskip}}% + % + % this fails in some versions of pdftex + % + % \dimen0=\lastMPmoveY bp + % \advance\dimen0 by \ht0 + % \ScaledPointsToBigPoints{\number\dimen0}\lastMPmoveY + % \PDFcode{n q 1 0 0 1 \lastMPmoveX\space\lastMPmoveY\space cm}% + % \dimen0=\ht0 + % \advance\dimen0 by \dp0 + % \box0 + % \vskip-\dimen0 + % \PDFcode{Q}% + % \egroup} + % + \setbox\scratchbox\hbox + {\hskip\lastMPmoveX\onebasepoint\raise\lastMPmoveY\onebasepoint\box\scratchbox}% + \ht\scratchbox\zeropoint + \dp\scratchbox\zeropoint + \wd\scratchbox\zeropoint + \box\scratchbox + \egroup} + +\let\handleMPfshow\dohandleMPfshow % so we can overload this one later + +%D You could consider the following definition to be the most +%D natural one. + +% \def\MPspacechar{\space} % normal case + +\def\MPspacechar{\char32\relax} % old solution does not work with math + +%D However, the following implementation is more robust, since +%D some fonts have funny visible spaces in the space slot. This +%D gives a mismatch between the space that \METAPOST\ took into +%D account and the \quote {natural} space. This only happens in +%D labels, since \type {btex}||\type {etex} thingies don't have +%D spaces. This phenomena showed up when preparing the +%D \METAFUN\ manual, where Palatino fonts are used. We can +%D safely assume that \METAPOST\ considers \type {\char32} to +%D be the space. + +\def\MPspacechar{\setbox\scratchbox\hbox{\char32}\kern\wd\scratchbox} + +%D Well, this does not work with math fonts, so: + +\def\MPspacechar{\char32\relax} + +%D Most operators are just converted and keep their +%D arguments. Dashes however need a bit different treatment, +%D otherwise \PDF\ viewers complain loudly. Another +%D complication is that one argument comes after the \type{]}. +%D When reading the data, we simply ignore the array boundary +%D characters. We save ourselves some redundant newlines and +%D at the same time keep the output readable by packing the +%D literals. + +\def\handleMPsetdash + {\bgroup + \def\somestring{[}% + \scratchcounter\plusone + \loop + \ifnum\scratchcounter<\nofMParguments + \edef\somestring{\somestring\space\gMPa\scratchcounter}% + \advance\scratchcounter \plusone + \repeat + \edef\somestring{\somestring]\gMPa\scratchcounter\space d}% + \PDFcode{\somestring}% + \egroup} + +%D The \type{setlinewidth} commands looks a bit complicated. There are +%D two alternatives, that result in a similar look in both +%D $x$- and $y$-dorection. As John Hobby says: +%D +%D \startnarrower \switchtobodyfont[ss] +%D \starttyping +%D x 0 dtransform exch truncate exch idtransform pop setlinewidth +%D 0 y dtransform truncate idtransform setlinewidth pop +%D \stoptyping +%D +%D These are just fancy versions of \type{x setlinewidth} and +%D \type{y setlinewidth}. The \type{x 0 ...} form is used if +%D the path is {\em primarily vertical}. It rounds the width +%D so that vertical lines come out an integer number of pixels +%D wide in device space. The \type{0 y ...} form does the same +%D for paths that are {\em primarily horizontal}. The reason +%D why I did this is Knuth insists on getting exactly the +%D widths \TEX\ intends for the horizontal and vertical rules +%D in \type{btex...etex} output. (Note that PostScript scan +%D conversion rules cause a horizontal or vertical line of +%D integer width $n$ in device space to come out $n+1$ pixels +%D wide, regardless of the phase relative to the pixel grid.) +%D \stopnarrower +%D +%D The common operator in these sequences is \type{dtransform}, +%D so we can use this one to trigger setting the linewidth. + +\def\handleMPdtransform + {\ifdim\gMPa1\onepoint>\zeropoint + \PDFcode{\gMPa1 w}% + \def\next##1 ##2 ##3 ##4 ##5 ##6 {\handleMPsequence}% + \else + \PDFcode{\gMPa2 w}% + \def\next##1 ##2 ##3 ##4 {\handleMPsequence}% + \fi + \let\handleMPsequence\dohandleMPsequence + \resetMPstack + \next} + +%D The most complicated command is \type{concat}. \METAPOST\ +%D applies this operator to \type{stroke}. At that moment the +%D points set by \type{curveto} and \type{moveto}, are already +%D fixed. In \PDF\ however the \type{cm} operator affects the +%D points as well as the pen (stroke). Like more \PDF\ +%D operators, \type{cm} is defined in a bit ambiguous way. +%D The only save route for non||circular penshapes, is saving +%D the path, recalculating the points and applying the +%D transformation matrix in such a way that we can be sure +%D that its behavior is well defined. This comes down to +%D inverting the path and applying \type{cm} to that path as +%D well as the pen. This all means that we have to save the +%D path. + +%D In \METAPOST\ there are three ways to handle a path $p$: +%D +%D \starttyping +%D draw p; fill p; filldraw p; +%D \stoptyping +%D +%D The last case outputs a \type{gsave fill grestore} before +%D \type{stroke}. Handling the path outside the main loops +%D saves about 40\% run time.\footnoot{We can save some more by +%D following the \METAPOST\ output routine, but for the moment +%D we keep things simple.} Switching between the main loop and +%D the path loop is done by means of the recursely called +%D macro \type{\handleMPsequence}. + +\def\handleMPpath + {\chardef\finiMPpath0 + \let\closeMPpath\relax + \let\flushMPpath\flushnormalMPpath + \resetMPstack + \nofMPsegments\plusone + \let\handleMPsequence\dohandleMPpath + \dohandleMPpath} + +%D Most paths are drawn with simple round pens. Therefore we've +%D split up the routine in two. + +\def\flushnormalMPsegment + {\ifcase\getMPkeyword\relax + \PDFcode{\!MPgMPs1 \!MPgMPs2 l}% + \or + \PDFcode{\!MPgMPs1 \!MPgMPs2 \!MPgMPs3 \!MPgMPs4 \!MPgMPs5 \!MPgMPs6 c}% + \or + \PDFcode{\!MP\lastMPmoveX\space\!MP\lastMPmoveY\space l S}% + \or + \edef\lastMPmoveX{\gMPs1}% evt \!MP here + \edef\lastMPmoveY{\gMPs2}% + \PDFcode{\!MP\lastMPmoveX\space \!MP\lastMPmoveY\space m}% + \fi} + +\def\flushconcatMPsegment + {\ifcase\getMPkeyword\relax + \doMPconcat{\gMPs1}\a{\gMPs2}\b% + \PDFcode{\!MP\a\space\!MP\b\space l}% + \or + \doMPconcat{\gMPs1}\a{\gMPs2}\b% + \doMPconcat{\gMPs3}\c{\gMPs4}\d% + \doMPconcat{\gMPs5}\e{\gMPs6}\f% + \PDFcode{\!MP\a\space\!MP\b\space + \!MP\c\space\!MP\d\space + \!MP\e\space\!MP\f\space c}% + \or + \bgroup + \noMPtranslate + \doMPconcat\lastMPmoveX\a\lastMPmoveY\b% + \PDFcode{\!MP\a\space\!MP\b\space l S}% + \egroup + \or + \edef\lastMPmoveX{\gMPs1}% + \edef\lastMPmoveY{\gMPs2}% + \doMPconcat\lastMPmoveX\a\lastMPmoveY\b% + \PDFcode{\!MP\a\space\!MP\b\space m}% + \fi} + +% \def\flushnormalMPpath +% {\scratchcounter\nofMPsegments +% \nofMPsegments\plusone +% \loop +% \flushnormalMPsegment +% \advance\nofMPsegments \plusone +% \ifnum\nofMPsegments<\scratchcounter +% \repeat} +% +% \def\flushconcatMPpath +% {\scratchcounter\nofMPsegments +% \nofMPsegments\plusone +% \loop +% \flushconcatMPsegment +% \advance\nofMPsegments \plusone +% \ifnum\nofMPsegments<\scratchcounter +% \repeat} +% +% an alternative is presented below: (no \def assignment) + +\def\doflushsomeMPpath + {\dodoflushsomeMPpath + \advance\nofMPsegments \plusone + \ifnum\nofMPsegments<\scratchcounter + \expandafter\doflushsomeMPpath + \fi} + +\def\flushsomeMPpath + {\scratchcounter\nofMPsegments + \nofMPsegments\plusone + \doflushsomeMPpath} + +\def\flushnormalMPpath{\let\dodoflushsomeMPpath\flushnormalMPsegment\flushsomeMPpath} + +%OLD \def\flushconcatMPpath{\let\dodoflushsomeMPpath\flushconcatMPsegment\flushsomeMPpath} + +%NEW pre-calculate 1/D so it needn't be repeated for each control point. + +\def\flushconcatMPpath + {\MPreciprocaldeterminant + \let\dodoflushsomeMPpath\flushconcatMPsegment\flushsomeMPpath} + +%D The transformation of the coordinates is handled by one of +%D the macros Tanmoy posted to the \PDFTEX\ mailing list. +%D I rewrote and optimized the original macro to suit the other +%D macros in this module. +%D +%D \starttyping +%D \doMPconcat {x position} \xresult {y position} \yresult +%D \stoptyping +%D +%D By setting the auxiliary \DIMENSIONS\ \type{\dimen0} upto +%D \type{\dimen10} only once per path, we save over 20\% run +%D time. Some more speed was gained by removing some parameter +%D passing. These macros can be optimized a bit more by using +%D more constants. There is however not much need for further +%D optimization because penshapes usually are round and +%D therefore need no transformation. Nevertheless we move the +%D factor to the outer level and use a bit different \type{pt} +%D removal macro. Although the values represent base points, +%D we converted them to pure points, simply because those can +%D be converted back. + +%OLD \mathchardef\MPconcatfactor=256 % beware don't remove spaces before it + +%OLD \def\doMPreducedimen#1 +%OLD {\count0\MPconcatfactor +%OLD \advance\dimen#1 \ifdim\dimen#1>\zeropoint .5\else -.5\fi\count0 +%OLD \divide\dimen#1 \count0\relax} + +%OLD % too inaccurate (see old pragma logo) +%OLD +%OLD \def\doMPreducedimen#1 +%OLD {\count0=\MPconcatfactor +%OLD \divide\dimen#1 \count0\relax} + +%OLD \def\doMPreducedimen#1 +%OLD {\advance\dimen#1 \ifdim\dimen#1>\zeropoint .5\else -.5\fi\MPconcatfactor +%OLD \divide\dimen#1 \MPconcatfactor} + +%D The transformation code is rewritten by Daniel H. Luecking who +%D describes his patch as follows: +%D +%D We would like to divide 1 by $X4, but all divisions are integer so +%D for accuracy we want to convert to large integers and make sure the +%D integer quotient has as many significant digits as possible. Thus we +%D need to replace $1/X$ with $M/N$ where $N$ is as large as possible +%D and $M/N$ is as large as possible. Also for simplicity $M$ should be +%D a power of 2. So we make $M = 2^{30}$ \footnote{$2^{31} - 1$ is the +%D largest legal integer. Using it (and simply ignoring the inaccuracy +%D caused by $-1$) turns out to be at least as accurate in all cases, +%D and more accurate in some.} (largest legal power of 2) and adjust +%D $X4 downward (if necessary) to the the range $1-2^{16}$. This gives +%D at least 15 significant binary digits, (almost as accurate as +%D \METAPOST\ for numbers near 1) or almost 5 significant figures +%D (decimal). + +\newcount\MPscratchCnt +\newdimen\MPscratchDim % will be assigned global + +\def\MPadjustdimen % sets \MPscratchDim and \MPscratchCnt + {\MPscratchCnt\zerocount + \doMPadjustdimen} + +\def\doMPadjustdimen + {\ifdim\MPscratchDim>\onepoint + \divide\MPscratchDim 2 + \advance\MPscratchCnt \plusone + \expandafter\doMPadjustdimen + \fi} + +%OLD \def\doMPexpanddimen#1 +%OLD {\multiply\dimen#1 \MPconcatfactor\relax} + +%D DHL: When viewed as an integer, $1 \hbox{pt}=2^{16}$ so $2^{32}/X$ +%D is the right way to do $(1 \hbox{pt})/(X \hbox{pt})$ and get the +%D answer in points. But we are limited to $2^{30}/X$. However, we +%D actually do $[ 2^{30} / (X/2^K) ]*2^{2-K}$ where $K$ is the number +%D of halvings it takes to bring $X4 below $1 \hbox{pt}$. If $K$ is 0 +%D or 1 we readjust by multiplying by 4 or 2, otherwise by halving +%D $(K-2)$ times \type {\MPscratchCnt} holds the value of $K$ from +%D \type {\MPadjustdimen}. + +\def\MPreadjustdimen % acts on \MPscratchDim and MPscratchCnt + {\ifcase\MPscratchCnt + \multiply\MPscratchDim 4 + \or + \multiply\MPscratchDim 2 + \else + \expandafter\doMPreadjustdimen + \fi} + +\def\doMPreadjustdimen + {\ifnum\MPscratchCnt > 2 + \divide\MPscratchDim 2 + \advance\MPscratchCnt \minusone + \expandafter\doMPreadjustdimen + \fi} + +\def\MPreciprocaldeterminant + {\MPscratchDim\withoutpt\the\dimen0 \dimen6 % s_x*s_y + \advance\MPscratchDim - \withoutpt\the\dimen2 \dimen4 % s_x*s_y - r_x*r_y + \ifdim\MPscratchDim<\zeropoint % we need a positive dimension + \MPscratchDim-\MPscratchDim % for \MPadjustdimen + \doMPreciprocal + \MPscratchDim-\MPscratchDim + \else + \doMPreciprocal + \fi} + +\newcount\MPnumerator \MPnumerator = 1073741824 % 2^{30} + +% todo: dimexpr + +\def\doMPreciprocal % replace \MPscratchDim with its reciprocal + {\ifdim\MPscratchDim=\onepoint \else + \MPadjustdimen + \scratchcounter\MPnumerator + \divide\scratchcounter\MPscratchDim + \MPscratchDim1\scratchcounter % 1 needed ! + \MPreadjustdimen + \fi} + +%OLD \def\presetMPconcat +%OLD {\dimen 0=\gMPs1\onepoint \doMPreducedimen 0 % r_x +%OLD \dimen 2=\gMPs2\onepoint \doMPreducedimen 2 % s_x +%OLD \dimen 4=\gMPs3\onepoint \doMPreducedimen 4 % s_y +%OLD \dimen 6=\gMPs4\onepoint \doMPreducedimen 6 % r_y +%OLD \dimen 8=\gMPs5\onepoint \doMPreducedimen 8 % t_x +%OLD \dimen10=\gMPs6\onepoint \doMPreducedimen10 } % t_y +%OLD +%OLD \def\presetMPscale +%OLD {\dimen 0=\gMPs1\onepoint \doMPreducedimen 0 +%OLD \dimen 2 \zeropoint +%OLD \dimen 4 \zeropoint +%OLD \dimen 6=\gMPs2\onepoint \doMPreducedimen 6 +%OLD \dimen 8 \zeropoint +%OLD \dimen10 \zeropoint} + +\def\presetMPconcat + {\dimen 0=\gMPs1\onepoint % s_x + \dimen 2=\gMPs2\onepoint % r_x + \dimen 4=\gMPs3\onepoint % r_y + \dimen 6=\gMPs4\onepoint % s_y + \dimen 8=\gMPs5\onepoint % t_x + \dimen10=\gMPs6\onepoint} % t_y + +\def\presetMPscale + {\dimen 0=\gMPs1\onepoint + \dimen 2 \zeropoint + \dimen 4 \zeropoint + \dimen 6=\gMPs2\onepoint + \dimen 8 \zeropoint + \dimen10 \zeropoint} + +\def\noMPtranslate % use this one grouped + {\dimen 8 \zeropoint % t_x + \dimen10 \zeropoint} % t_y + +%D \starttyping +%D \def\doMPconcat#1#2#3#4% +%D {\dimen12=#1 pt \doMPreducedimen12 % p_x +%D \dimen14=#3 pt \doMPreducedimen14 % p_y +%D % +%D \dimen16 \dimen 0 +%D \multiply \dimen16 \dimen 6 +%D \dimen20 \dimen 2 +%D \multiply \dimen20 \dimen 4 +%D \advance \dimen16 -\dimen20 +%D % +%D \dimen18 \dimen12 +%D \multiply \dimen18 \dimen 6 +%D \dimen20 \dimen14 +%D \multiply \dimen20 \dimen 4 +%D \advance \dimen18 -\dimen20 +%D \dimen20 \dimen 4 +%D \multiply \dimen20 \dimen10 +%D \advance \dimen18 \dimen20 +%D \dimen20 \dimen 6 +%D \multiply \dimen20 \dimen 8 +%D \advance \dimen18 -\dimen20 +%D % +%D \multiply \dimen12 -\dimen 2 +%D \multiply \dimen14 \dimen 0 +%D \advance \dimen12 \dimen14 +%D \dimen20 \dimen 2 +%D \multiply \dimen20 \dimen 8 +%D \advance \dimen12 \dimen20 +%D \dimen20 \dimen 0 +%D \multiply \dimen20 \dimen10 +%D \advance \dimen12 -\dimen20 +%D % +%D \doMPreducedimen16 +%D \divide \dimen18 \dimen16 \doMPexpanddimen18 +%D \divide \dimen12 \dimen16 \doMPexpanddimen12 +%D % +%D \edef#2{\withoutpt\the\dimen18}% % p_x^\prime +%D \edef#4{\withoutpt\the\dimen12}} % p_y^\prime +%D \stoptyping + +%D The following optimization resulted from some tests by +%D and email exchanges with Sanjoy Mahajan. +%D +%D \starttyping +%D \def\doMPconcat#1#2#3#4% +%D {\dimen12=#1 pt \doMPreducedimen12 % p_x +%D \dimen14=#3 pt \doMPreducedimen14 % p_y +%D % +%D \dimen16 \dimen 0 +%D \multiply \dimen16 \dimen 6 +%D \dimen20 \dimen 2 +%D \multiply \dimen20 \dimen 4 +%D \advance \dimen16 -\dimen20 +%D % +%D \dimen18 \dimen12 +%D \multiply \dimen18 \dimen 6 +%D \dimen20 \dimen14 +%D \multiply \dimen20 \dimen 4 +%D \advance \dimen18 -\dimen20 +%D \dimen20 \dimen 4 +%D \multiply \dimen20 \dimen10 +%D \advance \dimen18 \dimen20 +%D \dimen20 \dimen 6 +%D \multiply \dimen20 \dimen 8 +%D \advance \dimen18 -\dimen20 +%D % +%D \multiply \dimen12 -\dimen 2 +%D \multiply \dimen14 \dimen 0 +%D \advance \dimen12 \dimen14 +%D \dimen20 \dimen 2 +%D \multiply \dimen20 \dimen 8 +%D \advance \dimen12 \dimen20 +%D \dimen20 \dimen 0 +%D \multiply \dimen20 \dimen10 +%D \advance \dimen12 -\dimen20 +%D % +%D %\ifdim\dimen16>1pt % oeps, can be < 1pt too +%D \ifdim\dimen16=1pt \else +%D \ifdim\dimen16>\MPconcatfactor pt +%D \doMPreducedimen16 +%D \divide \dimen18 \dimen16 \doMPexpanddimen18 +%D \divide \dimen12 \dimen16 \doMPexpanddimen12 +%D \else +%D \divide \dimen18 \dimen16 \doMPexpanddimen18 \doMPexpanddimen18 +%D \divide \dimen12 \dimen16 \doMPexpanddimen12 \doMPexpanddimen12 +%D \fi +%D \fi +%D % +%D \edef#2{\withoutpt\the\dimen18}% % p_x^\prime +%D \edef#4{\withoutpt\the\dimen12}} % p_y^\prime +%D \stoptyping +%D +%D But, this one is still too inaccurate, so we now have: + +% \def\doMPconcat#1#2#3#4% +% {\dimen12=#1pt % p_x +% \dimen14=#3pt % p_y +% % +% % we should test for >-1024 too, but for the moment take the gamble +% \chardef\MPfactor1\ifdim\dimen12<1024pt \ifdim\dimen14<1024pt 6\fi\fi +% % +% \multiply\dimen12 \MPfactor +% \multiply\dimen14 \MPfactor +% % +% \doMPreducedimen12 +% \doMPreducedimen14 +% % +% \dimen16 \dimen 0 +% \multiply \dimen16 \dimen 6 +% \dimen20 \dimen 2 +% \multiply \dimen20 \dimen 4 +% \advance \dimen16 -\dimen20 +% % +% \dimen18 \dimen12 +% \multiply \dimen18 \dimen 6 +% \dimen20 \dimen14 +% \multiply \dimen20 \dimen 4 +% \advance \dimen18 -\dimen20 +% \dimen20 \dimen 4 +% \multiply \dimen20 \dimen10 +% \advance \dimen18 \dimen20 +% \dimen20 \dimen 6 +% \multiply \dimen20 \dimen 8 +% \advance \dimen18 -\dimen20 +% % +% \multiply \dimen12 -\dimen 2 +% \multiply \dimen14 \dimen 0 +% \advance \dimen12 \dimen14 +% \dimen20 \dimen 2 +% \multiply \dimen20 \dimen 8 +% \advance \dimen12 \dimen20 +% \dimen20 \dimen 0 +% \multiply \dimen20 \dimen10 +% \advance \dimen12 -\dimen20 +% % +% \ifdim\dimen16=1pt \else +% \ifdim\dimen16>\MPconcatfactor pt +% \doMPreducedimen16 +% \divide \dimen18 \dimen16 \doMPexpanddimen18 +% \divide \dimen12 \dimen16 \doMPexpanddimen12 +% \else +% \divide \dimen18 \dimen16 \doMPexpanddimen18 \doMPexpanddimen18 +% \divide \dimen12 \dimen16 \doMPexpanddimen12 \doMPexpanddimen12 +% \fi +% \fi +% % +% \divide\dimen18 \MPfactor +% \divide\dimen12 \MPfactor +% % +% \edef#2{\withoutpt\the\dimen18}% % p_x^\prime +% \edef#4{\withoutpt\the\dimen12}} % p_y^\prime + +%D We cannot use \type {\beginETEX} here since in plain we +%D get \type {\outer} problems, sigh. + +%OLD \beginTEX +%OLD +%OLD \def\MPcriteriumA {512pt} % scale +%OLD \def\MPcriteriumB {2pt} % scale +%OLD +%OLD \endTEX +%OLD +%OLD \ifx\MPcriteriumA\undefined +%OLD +%OLD \newdimen\MPcriteriumA \MPcriteriumA=512pt +%OLD \newdimen\MPcriteriumB \MPcriteriumB= 2pt +%OLD +%OLD \fi + +%OLD \def\doMPconcat#1#2#3#4% +%OLD {\dimen12=#1pt % p_x +%OLD \dimen14=#3pt % p_y +%OLD % +%OLD \chardef\MPfactor\zerocount +%OLD \ifdim\dimen4<\MPcriteriumB\ifdim\dimen4>-\MPcriteriumB +%OLD \ifdim\dimen6<\MPcriteriumB\ifdim\dimen6>-\MPcriteriumB +%OLD \ifdim\dimen8<\MPcriteriumB\ifdim\dimen8>-\MPcriteriumB +%OLD \ifdim\dimen10<\MPcriteriumB\ifdim\dimen10>-\MPcriteriumB +%OLD \chardef\MPfactor\plusone +%OLD \fi\fi +%OLD \fi\fi +%OLD \fi\fi +%OLD \fi\fi +%OLD \ifcase\MPfactor % spurious 0 removed +%OLD \chardef\MPfactor\plusone +%OLD \ifdim\dimen12<\MPcriteriumA\ifdim\dimen12>-\MPcriteriumA +%OLD \ifdim\dimen14<\MPcriteriumA\ifdim\dimen14>-\MPcriteriumA +%OLD \chardef\MPfactor16 +%OLD \fi\fi +%OLD \fi\fi +%OLD \fi +%OLD % +%OLD \multiply\dimen12 \MPfactor +%OLD \multiply\dimen14 \MPfactor +%OLD % +%OLD \doMPreducedimen12 +%OLD \doMPreducedimen14 +%OLD % +%OLD \dimen16 \dimen 0 +%OLD \multiply \dimen16 \dimen 6 +%OLD \dimen20 \dimen 2 +%OLD \multiply \dimen20 \dimen 4 +%OLD \advance \dimen16 -\dimen20 +%OLD % +%OLD \dimen18 \dimen12 +%OLD \multiply \dimen18 \dimen 6 +%OLD \dimen20 \dimen14 +%OLD \multiply \dimen20 \dimen 4 +%OLD \advance \dimen18 -\dimen20 +%OLD \dimen20 \dimen 4 +%OLD \multiply \dimen20 \dimen10 +%OLD \advance \dimen18 \dimen20 +%OLD \dimen20 \dimen 6 +%OLD \multiply \dimen20 \dimen 8 +%OLD \advance \dimen18 -\dimen20 +%OLD % +%OLD \multiply \dimen12 -\dimen 2 +%OLD \multiply \dimen14 \dimen 0 +%OLD \advance \dimen12 \dimen14 +%OLD \dimen20 \dimen 2 +%OLD \multiply \dimen20 \dimen 8 +%OLD \advance \dimen12 \dimen20 +%OLD \dimen20 \dimen 0 +%OLD \multiply \dimen20 \dimen10 +%OLD \advance \dimen12 -\dimen20 +%OLD % +%OLD \ifdim\dimen16=\onepoint \else +%OLD \ifdim\dimen16>\MPconcatfactor \onepoint \relax +%OLD \doMPreducedimen16 +%OLD \divide \dimen18 \dimen16 \doMPexpanddimen18 +%OLD \divide \dimen12 \dimen16 \doMPexpanddimen12 +%OLD \else +%OLD \divide \dimen18 \dimen16 \doMPexpanddimen18 \doMPexpanddimen18 +%OLD \divide \dimen12 \dimen16 \doMPexpanddimen12 \doMPexpanddimen12 +%OLD \fi +%OLD \fi +%OLD % +%OLD \divide\dimen18 \MPfactor +%OLD \divide\dimen12 \MPfactor +%OLD % +%OLD \edef#2{\withoutpt\the\dimen18}% % p_x^\prime +%OLD \edef#4{\withoutpt\the\dimen12}} % p_y^\prime + +%D DHL: Ideally, $r_x$, $r_y$, $s_x4, $s_y$ should be in macros, not +%D dimensions (they are scalar quantities after all, not lengths). I +%D suppose the authors decided to do calculations with integer +%D arithmetic instead of using real factors because it's faster. +%D However, the actual macros test slower, possibly because I've +%D omitted three nested loops. In my test files, my approach is more +%D accurate. It is also far simpler and overflow does not seem to be a +%D significant concern. The scale factors written by Metapost are (?) +%D always $<=1$ (it scales coordinates internally) and coordinates are +%D always likely to be less than \type {\maxdimen}. +%D +%D If this should ever cause problems, the scale factors can be reduced. + +\def\doMPconcat#1#2#3#4% + {\dimen12=#1pt % p_x % #1\onepoint + \dimen14=#3pt % p_y % #3\onepoint + \advance\dimen12 -\dimen8 % p_x - t_x + \advance\dimen14 -\dimen10 % p_y - t_y + \dimen18=\withoutpt\the\dimen6 \dimen12 % s_y(p_x - t_x) + \advance\dimen18 -\withoutpt\the\dimen4 \dimen14 % - r_y(p_y-t_y) + \dimen14=\withoutpt\the\dimen0 \dimen14 % s_x(p_y-t_y) + \advance\dimen14 -\withoutpt\the\dimen2 \dimen12 % - r_x(p_x-t_x) + % \MPscratchDim contains precomputed 1/D: + \dimen18=\withoutpt\the\MPscratchDim \dimen18 + \dimen14=\withoutpt\the\MPscratchDim \dimen14 + \edef#2{\withoutpt\the\dimen18}% % p_x^\prime + \edef#4{\withoutpt\the\dimen14}} % p_y^\prime + +%D One reason for Daniel to write this patch was that at small sizes +%D the accuracy was less than optimal. Here is a test that demonstrates +%D that his alternative is pretty good: +%D +%D \startlinecorrection +%D \startMPcode +%D for i = 5cm,1cm,5mm,1mm,.5mm,.1mm,.01mm : +%D draw fullcircle scaled i withpen pencircle xscaled (i/10) yscaled (i/20) rotated 45 ; +%D endfor ; +%D \stopMPcode +%D \stoplinecorrection + +%D The following explanation of the conversion process was +%D posted to the \PDFTEX\ mailing list by Tanmoy. The original +%D macro was part of a set of macro's that included sinus and +%D cosinus calculations as well as scaling and translating. The +%D \METAPOST\ to \PDF\ conversion however only needs +%D transformation. + +%M \start \switchtobodyfont [ss] + +%D Given a point $(U_x, U_y)$ in user coordinates, the business +%D of \POSTSCRIPT\ is to convert it to device space. Let us say +%D that the device space coordinates are $(D_x, D_y)$. Then, in +%D \POSTSCRIPT\ $(D_x, D_y)$ can be written in terms of +%D $(U_x, U_y)$ in matrix notation, either as +%D +%D \placeformula +%D \startformula +%D \pmatrix{D_x&D_y&1\cr} = \pmatrix{U_x&U_y&1\cr} +%D \pmatrix{s_x&r_x&0\cr +%D r_y&s_y&0\cr +%D t_x&t_y&1\cr} +%D \stopformula +%D +%D or +%D +%D \placeformula +%D \startformula +%D \pmatrix{D_x\cr D_y\cr 1} = \pmatrix{s_x&r_y&t_x\cr +%D r_x&s_y&t_y\cr +%D 0 &0 &1 \cr} +%D \pmatrix{U_x\cr +%D U_y\cr +%D 1 \cr} +%D \stopformula +%D +%D both of which is a shorthand for the same set of equations: +%D +%D \placeformula +%D \startformula +%D D_x = s_x U_x + r_y U_y + t_x +%D \stopformula +%D +%D \placeformula +%D \startformula +%D D_y = r_x U_x + s_y U_y + t_y +%D \stopformula +%D +%D which define what is called an `affine transformation'. +%D +%D \POSTSCRIPT\ represents the `transformation matrix' as a +%D six element matrix instead of a $3\times 3$ array because +%D three of the elements are always~0, 0 and~1. Thus the above +%D transformation is written in postscript as $[s_x\, r_x\, +%D r_y\, s_y\, t_x\, t_y]$. However, when doing any +%D calculations, it is useful to go back to the original +%D matrix notation (whichever: I will use the second) and +%D continue from there. +%D +%D As an example, if the current transformation matrix is +%D $[s_x\, r_x\, r_y\, s_y\, t_x\, t_y]$ and you say \typ{[a b +%D c d e f] concat}, this means: +%D +%D \startnarrower +%D Take the user space coordinates and transform them to an +%D intermediate set of coordinates using array $[a\, b\, c\, d\, +%D e\, f]$ as the transformation matrix. +%D +%D Take the intermediate set of coordinates and change them to +%D device coordinates using array $[s_x\, r_x\, r_y\, s_y\, t_x\, t_y]$ +%D as the transformation matrix. +%D \stopnarrower +%D +%D Well, what is the net effect? In matrix notation, it is +%D +%D \placeformula +%D \startformula +%D \pmatrix{I_x\cr I_y\cr 1\cr} = \pmatrix{a&c&e\cr +%D b&d&f\cr +%D 0&0&1\cr} +%D \pmatrix{U_x\cr +%D U_y\cr +%D 1 \cr} +%D \stopformula +%D +%D \placeformula +%D \startformula +%D \pmatrix{D_y\cr D_y\cr 1\cr} = \pmatrix{s_x&r_y&t_x\cr +%D r_x&s_y&t_y\cr +%D 0 &0 &1 \cr} +%D \pmatrix{I_x\cr +%D I_y\cr +%D 1 \cr} +%D \stopformula +%D +%D where $(I_x, I_y)$ is the intermediate coordinate. +%D +%D Now, the beauty of the matrix notation is that when there is +%D a chain of such matrix equations, one can always compose +%D them into one matrix equation using the standard matrix +%D composition law. The composite matrix from two matrices can +%D be derived very easily: the element in the $i$\high{th} +%D horizontal row and $j$\high{th} vertical column is +%D calculated by`multiplying' the $i$\high{th} row of the first +%D matrix and the $j$\high{th} column of the second matrix (and +%D summing over the elements). Thus, in the above: +%D +%D \placeformula +%D \startformula +%D \pmatrix{D_x\cr D_y\cr 1} = \pmatrix{s_x^\prime&r_y^\prime&t_x^\prime\cr +%D r_x^\prime&s_y^\prime&t_y^\prime\cr +%D 0 &0 &0 \cr} +%D \pmatrix{U_x\cr +%D U_y\cr +%D 1 \cr} +%D \stopformula +%D +%D with +%D +%D \placeformula +%D \startformula +%D \eqalign +%D {s_x^\prime & = s_x a + r_y b \cr +%D r_x^\prime & = r_x a + s_y b \cr +%D r_y^\prime & = s_x c + r_y d \cr +%D s_y^\prime & = r_x c + s_y d \cr +%D t_x^\prime & = s_x e + r_y f + t_x \cr +%D t_y^\prime & = r_x e + s_y f + t_y \cr} +%D \stopformula + +%D In fact, the same rule is true not only when one is going +%D from user coordinates to device coordinates, but whenever +%D one is composing two `transformations' together +%D (transformations are `associative'). Note that the formula +%D is not symmetric: you have to keep track of which +%D transformation existed before (i.e.\ the equivalent of +%D $[s_x\, r_x\, r_y\, s_y\, t_x\, t_y]$) and which was +%D specified later (i.e.\ the equivalent of $[a\, b\, c\, d\, +%D e\, f]$). Note also that the language can be rather +%D confusing: the one specified later `acts earlier', +%D converting the user space coordinates to intermediate +%D coordinates, which are then acted upon by the pre||existing +%D transformation. The important point is that order of +%D transformation matrices cannot be flipped (transformations +%D are not `commutative'). +%D +%D Now what does it mean to move a transformation matrix +%D before a drawing? What it means is that given a point +%D $(P_x, P_y)$ we need a different set of coordinates +%D $(P_x^\prime, P_y^\prime)$ such that if the transformation +%D acts on $(P_x^\prime, P_y^\prime)$, they produce $(P_x, +%D P_y)$. That is we need to solve the set of equations: +%D +%D \placeformula +%D \startformula +%D \pmatrix{P_x\cr P_y\cr 1\cr} = \pmatrix{s_x&r_y&t_x\cr +%D r_x&s_y&t_y\cr +%D 0 &0 &1 \cr} +%D \pmatrix{P_x^\prime\cr +%D P_y^\prime\cr +%D 1 \cr} +%D \stopformula +%D +%D Again matrix notation comes in handy (i.e. someone has +%D already solved the problem for us): we need the inverse +%D transformation matrix. The inverse transformation matrix can +%D be calculated very easily: +%D +%D \placeformula +%D \startformula +%D \pmatrix{P_x^\prime\cr P_y^\prime\cr 1\cr} = +%D \pmatrix{s_x^\prime&r_y^\prime&t_x^\prime\cr +%D r_x^\prime&s_y^\prime&t_y^\prime\cr +%D 0 &0 &1 \cr} +%D \pmatrix{P_x\cr +%D P_y\cr +%D 1 \cr} +%D \stopformula +%D +%D where, the inverse transformation matrix is given by +%D +%D \placeformula +%D \startformula +%D \eqalign +%D {D & = s_x s_y - r_x r_y \cr +%D s_x^\prime & = s_y / D \cr +%D s_y^\prime & = s_x / D \cr +%D r_x^\prime & = - r_x / D \cr +%D r_y^\prime & = - r_y / D \cr +%D t_x^\prime & = ( - s_y t_x + r_y t_y ) / D \cr +%D t_y^\prime & = ( r_x t_x - s_x t_y ) / D \cr} +%D \stopformula +%D +%D And you can see that when expanded out, this does +%D give the formulas: +%D +%D \placeformula +%D \startformula +%D P_x^\prime = { { s_y(p_x-t_x) + r_y(t_y-p_y) } \over +%D { s_x s_y-r_x r_y } } +%D \stopformula +%D +%D \placeformula +%D \startformula +%D P_y^\prime = { { s_x(p_y-t_y) + r_x(t_x-p_x) } \over +%D { s_x*s_y-r_x*r_y } } +%D \stopformula +%D +%D The code works by representing a real number by converting +%D it to a dimension to be put into a \DIMENSION\ register: 2.3 would +%D be represented as 2.3pt for example. In this scheme, +%D multiplying two numbers involves multiplying the \DIMENSION\ +%D registers and dividing by 65536. Accuracy demands that the +%D division be done as late as possible, but overflow +%D considerations need early division. +%D +%D Division involves dividing the two \DIMENSION\ registers and +%D multiplying the result by 65536. Again, accuracy would +%D demand that the numerator be multiplied (and|/|or the +%D denominator divided) early: but that can lead to overflow +%D which needs to be avoided. +%D +%D If nothing is known about the numbers to start with (in +%D concat), I have chosen to divide the 65536 as a 256 in each +%D operand. However, in the series calculating the sine and +%D cosine, I know that the terms are small (because I never +%D have an angle greater than 45 degrees), so I chose to +%D apportion the factor in a different way. + +%M \stop + +%D The path is output using the values saved on the stack. If +%D needed, all coordinates are recalculated. + +\def\finishMPpath + {\PDFcode{\ifcase\finiMPpath W n\or S\or f\or B\fi}} + +\def\processMPpath + {\checkMPpath + \ifcase\nofMPsegments\else + \flushMPpath + \closeMPpath + \finishMPpath + \fi + \let\handleMPsequence\dohandleMPsequence + \resetMPstack + \nofMPsegments\zerocount + \handleMPsequence} + +%D The following \METAPOST\ code is quite valid but, when +%D processed and converted to \PDF, will make a file +%D unprintable on a Hewlett Packard printer (from Acrobat +%D $v<=5$). Who is to blame, the driver of the OS layer in +%D between, is hard to determine, so we add an additional +%D check. +%D +%D \starttyping +%D clip currentpicture to origin -- cycle ; +%D setbounds currentpicture to fullsquare scaled 5cm ; +%D \stoptyping + +\def\checkMPpath + {\ifcase\finiMPpath + \ifnum\nofMPsegments<3 % n is one ahead + \message{omitting zero clip path}% + \nofMPsegments\zerocount + \fi + \fi} + +%D In \PDF\ the \type{cm} operator must precede the path +%D specification. We therefore can output the \type{cm} at +%D the moment we encounter it. + +\def\handleMPpathconcat + {\presetMPconcat + \PDFcode{\gMPs1 \gMPs2 \gMPs3 \gMPs4 \gMPs5 \gMPs6 cm}% + \resetMPstack} + +\def\handleMPpathscale + {\presetMPscale + \PDFcode{\gMPs1 0 0 \gMPs2 0 0 cm}% + \resetMPstack} + +%D This macro interprets the path and saves it as compact as +%D possible. + +\def\dohandleMPpath#1% + {\ifcase\lccode`#1\relax + \@EA\dohandleMPpathA + \else + \@EA\dohandleMPpathB + \fi#1} + +%\def\dohandleMPpathA#1 % +% {\setMPargument{#1}% +% \handleMPsequence} + +\let\dohandleMPpathA\setMPsequence + +\def\dohandleMPpathB#1 % + {\def\somestring{#1}% + \ifx\somestring\PSlineto + \setMPkeyword0 + \else\ifx\somestring\PScurveto + \setMPkeyword1 + \else\ifx\somestring\PSrlineto + \setMPkeyword2 + \else\ifx\somestring\PSmoveto + \setMPkeyword3 + \else\ifx\somestring\PSclip + % \chardef\finiMPpath0 % already + \let\handleMPsequence\processMPpath + \else\ifx\somestring\PSgsave + \chardef\finiMPpath3 + \else\ifx\somestring\PSgrestore + \else\ifx\somestring\PSfill + \ifcase\finiMPpath + \chardef\finiMPpath2 + \let\handleMPsequence\processMPpath + \fi + \else\ifx\somestring\PSstroke + \ifcase\finiMPpath + \chardef\finiMPpath1 + \fi + \let\handleMPsequence\processMPpath + \else\ifx\somestring\PSclosepath + \def\closeMPpath{\PDFcode{h}}% + \else\ifx\somestring\PSconcat + \let\flushMPpath\flushconcatMPpath + \handleMPpathconcat + \else\ifx\somestring\PSscale + \let\flushMPpath\flushconcatMPpath + \handleMPpathscale + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \handleMPsequence} + +%D The main conversion command is: +%D +%D \starttyping +%D \convertMPtoPDF {filename} {x scale} {y scale} +%D \stoptyping +%D +%D The dimensions are derived from the bounding box. So we +%D only have to say: +%D +%D \starttyping +%D \convertMPtoPDF{mp-pra-1.eps}{1}{1} +%D \convertMPtoPDF{mp-pra-1.eps}{.5}{.5} +%D \stoptyping + +%D \macros +%D {makeMPintoPDFobject,lastPDFMPobject} +%D +%D For experts there are a few more options. When attributes +%D are to be added, the code must be embedded in an object +%D accompanied with the appropriate directives. One can +%D influence this process with \type {\makeMPintoPDFobject}. +%D +%D This option defaults to~0, because \CONTEXT\ takes care +%D of objects at another level, which saves some bytes. +%D +%D \starttabulate[|l|l|p|] +%D \NC 0 \NC never \NC don't use an object \NC\NR +%D \NC 1 \NC always \NC always use an object \NC\NR +%D \NC 2 \NC optional \NC use object when needed \NC\NR +%D \stoptabulate +%D +%D The last object number used is avaliable in the macro +%D \type {\lastPDFMPobject}. + +\ifx\makeMPintoPDFobject\undefined \chardef\makeMPintoPDFobject=0 \fi + +\def\lastPDFMPobject{0} + +%D The additional code needed can be made available in the +%D (global) macro \type {\currentPDFresources}. + +\let\currentPDFresources\empty + +\newtoks\everyMPtoPDFconversion + +\def\convertMPtoPDF % #1#2#3% + {\bgroup + \ifx\pdfdecimaldigits\undefined\else \pdfdecimaldigits=5 \fi % new + \setbox\scratchbox\vbox\bgroup + \forgetall + \offinterlineskip + \startMPresources + \doprocessMPtoPDFfile} % + +%D The next one is kind of private and probably will become obsolete): + +\def\processMPtoPDFfile % file xscale yscale + {\bgroup + \let\finishMPgraphic\egroup + \doprocessMPtoPDFfile} + +\def\doprocessMPtoPDFfile#1#2#3% file xscale yscale + {% the following line is needed for latex where onepoint is not + % onepoint but a number (maxdimen); some day i'll make a latex + % variant of this file so that i no longer have to deal with such + % issues; then i'll also speed up this module using a few context + % tricks + % + \let\onepoint\onerealpoint + % + \setMPspecials + \the\everyMPtoPDFconversion + \catcode`\^^M=\@@endofline + \startMPscanning + \let\do\empty + \xdef\MPxscale{#2}% + \xdef\MPyscale{#3}% + \xdef\MPxoffset{0}% + \xdef\MPyoffset{0}% + \xdef\MPyshift{\zeropoint}% + \donefalse + \let\handleMPsequence\dohandleMPsequence + \message{[MP to PDF]}% was: [MP to PDF #1] but there is a (#1) anyway + \input#1\relax} + +% strange rounding/clip in pdftex/viewer +% +% \def\finishMPgraphic +% {\stopMPresources +% \egroup +% \ifx\pdftexversion\undefined\else\ifnum\pdftexversion<14 % for the moment +% \chardef\makeMPintoPDFobject=0 +% \fi\fi +% \ifcase\makeMPintoPDFobject\or\or\ifx\currentPDFresources\empty\else +% \chardef\makeMPintoPDFobject=1 +% \fi\fi +% \setbox\scratchbox=\vbox +% {\forgetall +% \hbox +% {\PDFcode{q \MPxscale\space 0 0 \MPyscale\space \MPxoffset\space \MPyoffset\space cm}% +% \lower\MPyshift\box\scratchbox % unscaled shift +% \PDFcode{Q}}}% +% \ht\scratchbox\MPheight +% \wd\scratchbox\MPwidth +% \dp\scratchbox\zeropoint +% \ifcase\makeMPintoPDFobject +% \box\scratchbox +% \or +% \immediate\pdfxform resources{\currentPDFresources}\scratchbox +% \xdef\lastPDFMPobject{\the\pdflastxform}% +% \pdfrefxform\lastPDFMPobject +% \global\let\currentPDFresources\empty +% \else +% \box\scratchbox +% \fi +% \egroup} +% +% funny clip in viewer +% +% \setbox\scratchbox=\vbox +% {\forgetall +% \dimen0=\MPllx bp +% \dimen2=\MPlly bp +% \setbox\scratchbox=\hbox{\hskip-\dimen0\raise-\dimen2\box\scratchbox}% +% \ht\scratchbox=\zeropoint +% \dp\scratchbox=\zeropoint +% \wd\scratchbox=\zeropoint +% \hbox +% {\PDFcode{q \MPxscale\space 0 0 \MPyscale\space 0 0 cm}% +% \lower\MPshift\box\scratchbox +% \PDFcode{Q}}}% + +% \let\PDFMPformoffset\zeropoint + +\def\PDFMPformoffset + {\ifx\objectoffset\undefined\zeropoint\else\objectoffset\fi} + +\def\finishMPgraphic + {\stopMPresources + \egroup + \setbox\scratchbox\vbox + {\forgetall + \hbox + {\PDFcode{q \MPxscale\space 0 0 \MPyscale\space \MPxoffset\space \MPyoffset\space cm}% + \lower\MPyshift\box\scratchbox % unscaled shift + \PDFcode{Q}}}% + \ht\scratchbox\MPheight + \wd\scratchbox\MPwidth + \dp\scratchbox\zeropoint\relax + \dopackageMPgraphic\scratchbox + \egroup + \endinput} + +%D Alternative for \PDFTEX. We cannot come up with something more contexy +%D because this module is also used in \LATEX. + +\def\dopackageMPgraphic#1% #1 = boxregister + {%\ifx\pdfxform\undefined + % \chardef\makeMPintoPDFobject\zerocount % no pdftex at all + %\else\ifx\pdftexversion\undefined + % \chardef\makeMPintoPDFobject\zerocount % no pdftex at all + %\else\ifnum\pdftexversion<14 + % \chardef\makeMPintoPDFobject\zerocount % no resource support + %\else + % % keep the default value + %\fi\fi\fi + \ifcase\makeMPintoPDFobject\or\or\ifx\currentPDFresources\empty\else + % an existing value of 2 signals object support (set elsewhere) + \chardef\makeMPintoPDFobject\plusone + \fi\fi + \ifcase\makeMPintoPDFobject + \box#1% + \or + \scratchdimen\PDFMPformoffset\relax + \ifdim\scratchdimen>\zeropoint % compensate for error + \setbox#1\vbox spread 2\scratchdimen + {\forgetall\vss\hbox spread 2\scratchdimen{\hss\box#1\hss}\vss}% + \fi + \setMPPDFobject{\currentPDFresources}{#1}% + \ifdim\scratchdimen>\zeropoint % compensate for error + \vbox to \MPheight + {\forgetall\vss\hbox to \MPwidth{\hss\getMPPDFobject\hss}\vss}% + \else + \getMPPDFobject + \fi + \global\let\currentPDFresources\empty + \else + \box#1% + \fi} + +\def\setMPPDFobject#1#2% resources boxnumber + {\ifx\pdfxform\undefined + \def\getMPPDFobject{\box#2}% + \else\ifx\pdftexversion\undefined + \def\getMPPDFobject{\box#2}% + \else\ifnum\pdftexversion<14 + \def\getMPPDFobject{\box#2}% + \else + \immediate\pdfxform resources{#1}#2% + \edef\getMPPDFobject{\noexpand\pdfrefxform\the\pdflastxform}% + \fi\fi\fi} + +\let\getMPPDFobject\relax + +%D \macros +%D {deleteMPgraphic, +%D startMPresources, +%D stopMPresources} +%D +%D Here are a few hooks for \CONTEXT\ specific things. + +\ifx\deleteMPgraphic\undefined + \def\deleteMPgraphic#1{} +\fi + +\ifx\startMPresources\undefined + \let\startMPresources\relax + \let\stopMPresources\relax +\fi + +%D \macros +%D {twodigitMPoutput} +%D +%D We can limit the precision to two digits after the comma +%D by saying: +%D +%D \starttyping +%D \twodigitMPoutput +%D \stoptyping +%D +%D This option only works in \CONTEXT\ combined with \ETEX. + +\def\twodigitMPoutput + {\let\!MP \twodigitrounding + \def\!MPgMPs##1{\twodigitrounding{\gMPs##1}}% + \def\!MPgMPa##1{\twodigitrounding{\gMPa##1}}} + +\let\!MP \empty +\let\!MPgMPa\gMPa +\let\!MPgMPs\gMPs + +%D This kind of conversion is possible because \METAPOST\ +%D does all the calculations. Converting other \POSTSCRIPT\ +%D files would drive both me and \TEX\ crazy. + +\ifx\undefined\StopLatexHack \else \StopLatexHack \fi + +\protect \endinput diff --git a/systems/doc/pdftex/samplepdftex/tmp.pdf b/systems/doc/pdftex/samplepdftex/tmp.pdf Binary files differnew file mode 100644 index 0000000000..3ce979ebf0 --- /dev/null +++ b/systems/doc/pdftex/samplepdftex/tmp.pdf diff --git a/systems/doc/pdftex/tests/01-fake-interword-space/Makefile b/systems/doc/pdftex/tests/01-fake-interword-space/Makefile new file mode 100644 index 0000000000..f565355eab --- /dev/null +++ b/systems/doc/pdftex/tests/01-fake-interword-space/Makefile @@ -0,0 +1,7 @@ +# Public domain. + +test: + ../../source/build-pdftex/texk/web2c/pdftex -ini fake-interword-space.tex + +clean: + $(clean) diff --git a/systems/doc/pdftex/tests/01-fake-interword-space/dummy-space.pfb b/systems/doc/pdftex/tests/01-fake-interword-space/dummy-space.pfb Binary files differnew file mode 100644 index 0000000000..46390162be --- /dev/null +++ b/systems/doc/pdftex/tests/01-fake-interword-space/dummy-space.pfb diff --git a/systems/doc/pdftex/tests/01-fake-interword-space/dummy-space.tfm b/systems/doc/pdftex/tests/01-fake-interword-space/dummy-space.tfm Binary files differnew file mode 100644 index 0000000000..fc0719e1a5 --- /dev/null +++ b/systems/doc/pdftex/tests/01-fake-interword-space/dummy-space.tfm diff --git a/systems/doc/pdftex/tests/01-fake-interword-space/fake-interword-space.tex b/systems/doc/pdftex/tests/01-fake-interword-space/fake-interword-space.tex new file mode 100644 index 0000000000..09d7bff39f --- /dev/null +++ b/systems/doc/pdftex/tests/01-fake-interword-space/fake-interword-space.tex @@ -0,0 +1,34 @@ +\input plain.tex +\input pdftexconfig.tex +\input pdftexmagfix.tex + +\pdfmapline{+dummy-space <dummy-space.pfb} +\pdfglyphtounicode{space}{0020} +\pdfcompresslevel=0 +\pdfobjcompresslevel=0 + +Text with no interword spaces. + +\pdfinterwordspaceon + +Switch to text with faked interword spaces. + +\pdfinterwordspaceoff + +Back to text with no interword \pdffakespace spaces. + +% Test of \pdffakespace in vertical mode +\pdffakespace + +% Test of \pdffakespace in math mode +$a\pdffakespace b$ + +Back to text with no interword \pdffakespace\pdffakespace spaces. + +% Test of \pdffakespace in vertical mode +\pdffakespace +\pdffakespace + +% Test of \pdffakespace in math mode +$a\pdffakespace \pdffakespace b$ +\bye diff --git a/systems/doc/pdftex/tests/02-pdfmatch/Makefile b/systems/doc/pdftex/tests/02-pdfmatch/Makefile new file mode 100644 index 0000000000..06943375d0 --- /dev/null +++ b/systems/doc/pdftex/tests/02-pdfmatch/Makefile @@ -0,0 +1,10 @@ +# $Id: Makefile 758 2016-06-12 16:54:10Z karl $ +# Public domain. + +include ../Common.mak + +testpdfmatch: + $(prog) test-pdfmatch.tex + +clean: + $(clean) diff --git a/systems/doc/pdftex/tests/02-pdfmatch/test-pdfmatch.tex b/systems/doc/pdftex/tests/02-pdfmatch/test-pdfmatch.tex new file mode 100644 index 0000000000..f6d55fe587 --- /dev/null +++ b/systems/doc/pdftex/tests/02-pdfmatch/test-pdfmatch.tex @@ -0,0 +1,22 @@ +% $Id: test-pdfmatch.tex 759 2016-06-12 18:11:28Z karl $ +% This file public domain. Bug report of \pdflastmatch crash: +% http://tug.org/pipermail/tex-live/2016-June/038664.html +% +\catcode`\{=1 \catcode`\}=2 \catcode`^=7 \newlinechar=`^^J +% +\message{^^Jpdflastmatch0 before any match: \pdflastmatch0} +\message{^^J}% +% +\message{^^Jmatch a to b: \pdfmatch{a}{b}} +\message{^^J}% +\message{pdflastmatch0: \pdflastmatch0} +\message{^^J}% +% +\message{^^Jmatch example: \pdfmatch subcount 3 {ab(cd)*ef(gh)(ij)}{abefghij}} +\message{^^J}% +\message{pdflastmatch0 (0->abefghij): \pdflastmatch0 ^^J} +\message{pdflastmatch1 (-1->): \pdflastmatch1 ^^J} +\message{pdflastmatch2 (4->gh): \pdflastmatch2 ^^J} +\message{pdflastmatch3 (-1->): \pdflastmatch3} +\message{^^J}% +\end diff --git a/systems/doc/pdftex/tests/03-deterministic-output/Makefile b/systems/doc/pdftex/tests/03-deterministic-output/Makefile new file mode 100644 index 0000000000..0f7177f77e --- /dev/null +++ b/systems/doc/pdftex/tests/03-deterministic-output/Makefile @@ -0,0 +1,48 @@ +# $Id: Makefile 772 2017-03-16 22:58:04Z karl $ +# Public domain. + +include ../Common.mak + +test1: + $(prog) test-no-date-id.tex + +test2: + $(prog) test-fixed-date-id.tex + +testprim: + SOURCE_DATE_EPOCH=120 FORCE_SOURCE_DATE=1 \ + $(prog) test-prim.tex + +test = test-SOURCE_DATE_EPOCH +# test invalid settings of the envvar. +test3-invalid: + -SOURCE_DATE_EPOCH=" " $(prog) $(test).tex + -SOURCE_DATE_EPOCH=abc123 $(prog) $(test).tex + -SOURCE_DATE_EPOCH=0.0 $(prog) $(test).tex + -SOURCE_DATE_EPOCH=-1 $(prog) $(test).tex + -SOURCE_DATE_EPOCH=123abc $(prog) $(test).tex + -SOURCE_DATE_EPOCH=994399281551439928155 $(prog) $(test).tex + +test3-orig.pdf: + $(prog) $(test).tex && mv $(test).pdf $@ + +# test valid settings of the envvar. +test3-valid: test3-orig.pdf test3-repro.pdf + SOURCE_DATE_EPOCH=0 $(prog) $(test).tex + SOURCE_DATE_EPOCH="" $(prog) $(test).tex # same as 0 + -$(diff) $< $(test).pdf # shows differences + SOURCE_DATE_EPOCH=11 $(prog) $(test).tex + $(diff) test3-repro.pdf $(test).pdf # should be identical +# SOURCE_DATE_EPOCH=1439928155 $(prog) $(test).tex + +# make an original with nonzero time for checking. +test3-repro.pdf: force + SOURCE_DATE_EPOCH=11 $(prog) $(test).tex && mv $(test).pdf $@ +force: + +clean: + $(clean) + +fmt: + $(prog) \*pdflatex.ini + $(prog) \*pdfetex.ini diff --git a/systems/doc/pdftex/tests/03-deterministic-output/test-SOURCE_DATE_EPOCH.tex b/systems/doc/pdftex/tests/03-deterministic-output/test-SOURCE_DATE_EPOCH.tex new file mode 100644 index 0000000000..bc037ea01c --- /dev/null +++ b/systems/doc/pdftex/tests/03-deterministic-output/test-SOURCE_DATE_EPOCH.tex @@ -0,0 +1,10 @@ +\input plain.tex +\input pdftexconfig.tex +\input pdftexmagfix.tex +\pdfcompresslevel=0 +\pdfobjcompresslevel=0 + +abc +\eject +def +\bye diff --git a/systems/doc/pdftex/tests/03-deterministic-output/test-fixed-date-id.tex b/systems/doc/pdftex/tests/03-deterministic-output/test-fixed-date-id.tex new file mode 100644 index 0000000000..933ed1b5f5 --- /dev/null +++ b/systems/doc/pdftex/tests/03-deterministic-output/test-fixed-date-id.tex @@ -0,0 +1,16 @@ +\input plain.tex +\input pdftexconfig.tex +\input pdftexmagfix.tex +\pdfcompresslevel=0 +\pdfobjcompresslevel=0 + +\pdfinfo{% + /ModDate (D:20150813230402+02'00') + /CreationDate (D:20150813230402+02'00') +} +\pdftrailerid{test-fixed-date-id.tex:20150813230402+02'00'} + +abc +\eject +def +\bye diff --git a/systems/doc/pdftex/tests/03-deterministic-output/test-no-date-id.tex b/systems/doc/pdftex/tests/03-deterministic-output/test-no-date-id.tex new file mode 100644 index 0000000000..c8ebf176f4 --- /dev/null +++ b/systems/doc/pdftex/tests/03-deterministic-output/test-no-date-id.tex @@ -0,0 +1,13 @@ +\input plain.tex +\input pdftexconfig.tex +\input pdftexmagfix.tex +\pdfcompresslevel=0 +\pdfobjcompresslevel=0 + +\pdfinfoomitdate=1 +\pdftrailerid{} + +abc +\eject +def +\bye diff --git a/systems/doc/pdftex/tests/03-deterministic-output/test-prim.tex b/systems/doc/pdftex/tests/03-deterministic-output/test-prim.tex new file mode 100644 index 0000000000..c00641ed4f --- /dev/null +++ b/systems/doc/pdftex/tests/03-deterministic-output/test-prim.tex @@ -0,0 +1,11 @@ +% $Id: test-prim.tex 762 2016-07-05 17:44:56Z karl $ +% See the testprim: target in ./Makefile for the invocation. + +\catcode`\{ = 1 +\catcode`\} = 2 + +\ifnum\year=1970 \else \errmessage{year is \the\year, not 1970}\fi +\ifnum\month=1 \else \errmessage{month is \the\month, not 1}\fi +\ifnum\day=1 \else \errmessage{day is \the\day, not 1}\fi +\ifnum\time=2 \else \errmessage{time is \the\time, not 2}\fi +\end diff --git a/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/Makefile b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/Makefile new file mode 100644 index 0000000000..554a361248 --- /dev/null +++ b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/Makefile @@ -0,0 +1,40 @@ +# $Id: Makefile 772 2017-03-16 22:58:04Z karl $ +# Public domain. + +include ../Common.mak + +all: abc-diff testptex-diff testdate-diff testtrailer-diff + +abc abc.pdf: + $(env) $(prog) '\pdfsuppressptexinfo=1\input' abc.tex </dev/null + +abc-orig.pdf: + $(env) $(prog) abc.tex </dev/null && mv abc.pdf $@ +abc-diff: abc-orig.pdf abc.pdf + -$(diff) $^ # /PTEX.Fullbanner should be gone + +testptex = test-pdfsuppressptexinfo +$(testptex)-orig.pdf: $(testptex).tex abc.pdf + $(env) $(prog) $(testptex).tex </dev/null \ + && mv $(testptex).pdf $(testptex)-orig.pdf +$(testptex).pdf: $(testptex).tex abc.pdf Makefile + $(env) $(prog) '\pdfsuppressptexinfo=-1\input' $(testptex).tex \ + </dev/null +testptex-diff: $(testptex)-orig.pdf $(testptex).pdf + -$(diff) $^ # all /PTEX.* should be gone + +# these are also tested in ../03-deterministic-output, but can try them here. +testdate = test-pdfinfoomitdate +$(testdate).pdf: $(testdate).tex abc.pdf + $(env) $(prog) $(testdate).tex </dev/null +testdate-diff: $(testptex)-orig.pdf $(testdate).pdf + -$(diff) $^ # /CreationDate, /ModDate should be gone + +testtrailer = test-pdftrailer +$(testtrailer).pdf: $(testtrailer).tex abc.pdf + $(env) $(prog) $(testtrailer).tex </dev/null +testtrailer-diff: $(testptex)-orig.pdf $(testtrailer).pdf + -$(diff) $^ # new /mytrlrkey, dates+id should be different + +clean: + $(clean) diff --git a/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/abc.tex b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/abc.tex new file mode 100644 index 0000000000..045ccbcd2f --- /dev/null +++ b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/abc.tex @@ -0,0 +1,10 @@ +% $Id: abc.tex 737 2016-03-21 22:54:16Z karl $ +% Public domain. +\input plain.tex +\input pdftexconfig.tex +\input pdftexmagfix.tex +\pdfcompresslevel=0 +\pdfobjcompresslevel=0 + +abc +\bye diff --git a/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdfinfoomitdate.tex b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdfinfoomitdate.tex new file mode 100644 index 0000000000..dfd30ceb99 --- /dev/null +++ b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdfinfoomitdate.tex @@ -0,0 +1,4 @@ +% $Id: test-pdfinfoomitdate.tex 737 2016-03-21 22:54:16Z karl $ +% Public domain. +\pdfinfoomitdate = 1 +\input test-pdfsuppressptexinfo diff --git a/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdfsuppressptexinfo.tex b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdfsuppressptexinfo.tex new file mode 100644 index 0000000000..fac5e30b80 --- /dev/null +++ b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdfsuppressptexinfo.tex @@ -0,0 +1,18 @@ +% $Id: test-pdfsuppressptexinfo.tex 740 2016-04-23 15:08:37Z karl $ +% Public domain. +\input plain.tex +\input pdftexconfig.tex +\input pdftexmagfix.tex +\pdfcompresslevel=0 +\pdfobjcompresslevel=0 + +% \pdfsuppressptexinfo=-1 +% \pdfsuppressptexinfo=15 +% \pdfsuppressptexinfo=8 +% \pdfsuppressptexinfo=4 +% \pdfsuppressptexinfo=2 +% \pdfsuppressptexinfo=1 + +\pdfximage{abc.pdf} +\hbox{\pdfrefximage\pdflastximage} +\bye diff --git a/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdftrailer.tex b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdftrailer.tex new file mode 100644 index 0000000000..119292229a --- /dev/null +++ b/systems/doc/pdftex/tests/04-pdfsuppressptexinfo/test-pdftrailer.tex @@ -0,0 +1,6 @@ +% $Id: test-pdftrailer.tex 737 2016-03-21 22:54:16Z karl $ +% Public domain. +\pdfoutput=1 \catcode`\{=1 \catcode`\}=2 +\pdftrailer {/mytrlrkey /mytrlrval} +\pdftrailerid {} % seed for trailer id +\input test-pdfsuppressptexinfo diff --git a/systems/doc/pdftex/tests/05-mediabox/Makefile b/systems/doc/pdftex/tests/05-mediabox/Makefile new file mode 100644 index 0000000000..6f45b14cac --- /dev/null +++ b/systems/doc/pdftex/tests/05-mediabox/Makefile @@ -0,0 +1,18 @@ +# $Id: Makefile 772 2017-03-16 22:58:04Z karl $ +# Public domain. + +include ../Common.mak + +default: test-normal test-omit-mediabox + +test-normal: + $(prog) test-normal.tex + grep -q /MediaBox.*314 test-normal.pdf + +test-omit-mediabox: + $(prog) test-omit-mediabox.tex + grep -q /MediaBox.*271 test-omit-mediabox.pdf # should be there + ! grep -q /MediaBox.*314 test-omit-mediabox.pdf # should not + +clean: + $(clean) diff --git a/systems/doc/pdftex/tests/05-mediabox/test-normal.tex b/systems/doc/pdftex/tests/05-mediabox/test-normal.tex new file mode 100644 index 0000000000..f054485556 --- /dev/null +++ b/systems/doc/pdftex/tests/05-mediabox/test-normal.tex @@ -0,0 +1,7 @@ +% $Id: test-normal.tex 772 2017-03-16 22:58:04Z karl $ +% Public domain. + +\pdfoutput=1 +\pdfpagewidth=314bp +\pdfpageheight=315bp +X.\end diff --git a/systems/doc/pdftex/tests/05-mediabox/test-omit-mediabox.tex b/systems/doc/pdftex/tests/05-mediabox/test-omit-mediabox.tex new file mode 100644 index 0000000000..93eb60dbc1 --- /dev/null +++ b/systems/doc/pdftex/tests/05-mediabox/test-omit-mediabox.tex @@ -0,0 +1,8 @@ +% $Id: test-omit-mediabox.tex 772 2017-03-16 22:58:04Z karl $ +% Public domain. + +\pdfoutput=1 \catcode`\{=1 \catcode`\}=2 +\pdfpagewidth=314bp +\pdfpageheight=315bp +\pdfpageattr{/MediaBox [ 0 1 271 272 ]} +X.\end diff --git a/systems/doc/pdftex/tests/06-pkmap/Makefile b/systems/doc/pdftex/tests/06-pkmap/Makefile new file mode 100644 index 0000000000..853ec0eb2b --- /dev/null +++ b/systems/doc/pdftex/tests/06-pkmap/Makefile @@ -0,0 +1,24 @@ +# $Id: Makefile 777 2017-04-20 23:08:32Z karl $ +# Public domain. + +include ../Common.mak + +default: test-pkmap + +test-pkenc: # cmr10.3600pk - not used + $(prog) test-pkmap.tex +# +# should work when and if patch is applied: +# grep -q /ffi test-pkenc.pdf # should end up with this encoded char +# grep -a ToUnicode test-pkenc.pdf +# +# dev convenience: +# pdffonts test-big.pdf +# pdftotext test-big.pdf - + +cmr10.3600pk: + mf-nowin '\mode:=ljfour;mag:=6;input cmr10' + gftopk cmr10.3600gf + +clean: + $(clean) diff --git a/systems/doc/pdftex/tests/06-pkmap/cmb10.72pk b/systems/doc/pdftex/tests/06-pkmap/cmb10.72pk Binary files differnew file mode 100644 index 0000000000..9de73dcd0f --- /dev/null +++ b/systems/doc/pdftex/tests/06-pkmap/cmb10.72pk diff --git a/systems/doc/pdftex/tests/06-pkmap/cmr10.72pk b/systems/doc/pdftex/tests/06-pkmap/cmr10.72pk Binary files differnew file mode 100644 index 0000000000..35ed3e2158 --- /dev/null +++ b/systems/doc/pdftex/tests/06-pkmap/cmr10.72pk diff --git a/systems/doc/pdftex/tests/06-pkmap/prepatch.pdf b/systems/doc/pdftex/tests/06-pkmap/prepatch.pdf Binary files differnew file mode 100644 index 0000000000..07617bdba2 --- /dev/null +++ b/systems/doc/pdftex/tests/06-pkmap/prepatch.pdf diff --git a/systems/doc/pdftex/tests/06-pkmap/test-pkmap.tex b/systems/doc/pdftex/tests/06-pkmap/test-pkmap.tex new file mode 100644 index 0000000000..f78d7c095d --- /dev/null +++ b/systems/doc/pdftex/tests/06-pkmap/test-pkmap.tex @@ -0,0 +1,37 @@ +% $Id: test-pkmap.tex 777 2017-04-20 23:08:32Z karl $ +% Public domain. +% Test map files with bitmap (i.e., Type 3) fonts. + +% A thread starting here: +% http://tug.org/pipermail/pdftex/2016-July/009064.html +% and continuing here (and more): +% http://tug.org/pipermail/pdftex/2016-August/009065.html +% discusses a patch for supporting an encoding file with Type 3. +% The patch has not yet been installed. +% +% For comparison, the PDF made before the patch was applied is saved +% here as prepatch.pdf. +% +% The default PK resolution is 72, so we made cmb10.72pk in this directory. +% (mf-nowin '\mode:=mactrue; input cmb10' && gftopk cmb10.72gf) +% (mf-nowin '\mode:=mactrue; input cmr10' && gftopk cmr10.72gf) +% +\pdfoutput=1 \catcode`\{=1 \catcode`\}=2 +\hsize=6pc \parfillskip=0pt plus1fil \vsize=6in \lineskip=1pc +\pdfcompresslevel=0 \pdfobjcompresslevel=0 + +\pdfglyphtounicode{ffi}{0066 0066 0069} %no need for all: \input glyphtounicode +\pdfgentounicode=1 + +\pdfmapline{cmr10}% type3 map without encoding - no ToUnicode, no /ffi. +\font\cmr=cmr10 \noindent \cmr ffi + +% if we install the patch. +%\pdfmapline{cmb10 <7t.enc}% type3 map with encoding +%\font\cmb=cmb10 \noindent \cmb ffi + +% geometrically-scaled tfm: the Type 3 should be scaled (resulting in +% blocky blown-up bits), instead of using a separately-generated +% cmr10.360pk (50*72/10). +\font\big = cmr10 at 50pt \big big +\end diff --git a/systems/doc/pdftex/tests/07-mapwarn/Makefile b/systems/doc/pdftex/tests/07-mapwarn/Makefile new file mode 100644 index 0000000000..6e40de9242 --- /dev/null +++ b/systems/doc/pdftex/tests/07-mapwarn/Makefile @@ -0,0 +1,12 @@ +# $Id: Makefile 777 2017-04-20 23:08:32Z karl $ +# Public domain. + +include ../Common.mak + +default: test-mapwarn + +test-mapwarn: + $(prog) test-mapwarn.tex; test $$? = 1 # pdftex should exit 1 + +clean: + $(clean) diff --git a/systems/doc/pdftex/tests/07-mapwarn/test-mapwarn.tex b/systems/doc/pdftex/tests/07-mapwarn/test-mapwarn.tex new file mode 100644 index 0000000000..7088ab2a8a --- /dev/null +++ b/systems/doc/pdftex/tests/07-mapwarn/test-mapwarn.tex @@ -0,0 +1,18 @@ +% $Id: test-mapwarn.tex 777 2017-04-20 23:08:32Z karl $ +% Public domain. +% Ensure that various invalid map lines don't cause a crash. +% The last line aborts due to a (detected) buffer overflow. + +\pdfoutput=1 \catcode`\{=1 \catcode`\}=2 +\catcode`\^=7 \newlinechar=`\^^J + +% all but the first should cause warnings. +\message{empty^^J}\pdfmapline{} +\message{just <^^J}\pdfmapline{<} +\message{justtfm<^^J}\pdfmapline{cmb10x1<} +\message{justtfm <^^J}\pdfmapline{cmb10x2 <} +\message{justtfm < ^^J}\pdfmapline{cmb10x3 < } +\message{notfm slant^^J}\pdfmapline{" 167 SlantFont " <foo.pfb +\message{notfm extend^^J}\pdfmapline{" 167 ExtendFont " <bar.pfb} +\pdfmapline{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} +\end diff --git a/systems/doc/pdftex/tests/Common.mak b/systems/doc/pdftex/tests/Common.mak new file mode 100644 index 0000000000..04e3afd2c1 --- /dev/null +++ b/systems/doc/pdftex/tests/Common.mak @@ -0,0 +1,34 @@ +# $Id: Common.mak 777 2017-04-20 23:08:32Z karl $ +# Public domain. + +# Common Makefile definitions to run pdftex from test hierarchy, +# but use support files from an installation. + +tl = /usr/local/texlive-rel +tl_dist = $(tl)/texmf-dist +# +plain = $(tl_dist)/tex/plain/base +plain_config = $(tl_dist)/tex/plain/config +generic_config = $(tl)/texmf-config/tex/generic/config +generic_hyphen = $(tl_dist)/tex/generic/hyphen +# +tfm_cm = $(tl_dist)/fonts/tfm/public/cm +tfm_knuth = $(tl_dist)/fonts/tfm/public/knuth-lib +t1_cm = $(tl_dist)/fonts/type1/public/amsfonts/cm +# +env = TEXINPUTS=.:$(plain):$(plain_config):$(generic_config):$(generic_hyphen)\ + TEXFONTS=.:$(tfm_cm):$(tfm_knuth):$(t1_cm) \ + TEXFONTMAPS=$(tl_dist)/fonts/map/pdftex/updmap \ + ENCFONTS=$(tl_dist)/fonts/enc/dvips/base \ + MKTEXTFM=0 \ + MKTEXPK=0 \ + KPATHSEA_WARNING=0 + +diff = diff --text -c0 + +pdftex = ../../source/build-pdftex/texk/web2c/pdftex +pdftex = $(W)/texk/web2c/pdftex +prog = $(env) $(pdftex) -ini -interaction=nonstopmode + +# can't make the clean: target here since then it would be the default. +clean = rm -f *.log *.pdf *.fmt *.aux |