summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pgf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/generic/pgf')
-rw-r--r--Master/texmf-dist/doc/generic/pgf/ChangeLog540
-rw-r--r--Master/texmf-dist/doc/generic/pgf/FILES7
-rw-r--r--Master/texmf-dist/doc/generic/pgf/images/brave-gnu-world-logo-mask.eps3956
-rw-r--r--Master/texmf-dist/doc/generic/pgf/macros/pgfmanual-en-macros.tex1909
-rw-r--r--Master/texmf-dist/doc/generic/pgf/pgfmanual.pdfbin10531853 -> 10571818 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex24
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-design.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex10
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-internalregisters.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-layers.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex6
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-paths.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-plots.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-points.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-shadings.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex6
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex43
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex26
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-backend.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex6
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithms-in-c.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex14
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-circular.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-display-layer.tex14
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-edge-routing.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-examples.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-force.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-layered.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-misc.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-ogdf.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex6
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-phylogenetics.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-trees.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex18
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-tikz.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-guidelines.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-installation.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-arrows.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-bbox.tex126
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex28
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-er.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-external.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fadings.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-folding.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex37
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-math.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex5
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-perspective.tex6
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-plot-handlers.tex6
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-plot-marks.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-profiler.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-rdf.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex10
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-through.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-views.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-license.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex3
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex32
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-commands.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-design.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex6
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex7
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-oo.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pages.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgffor.tex10
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex77
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex8
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-animations.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-commands.tex12
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-overview.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-paths.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-protocol.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex6
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex23
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex117
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex10
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex22
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transformations.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex26
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex6
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-Euclid.tex4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex20
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/pgfmanual.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/pgfmanual-dvipdfm.cfg2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual-test.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/pgfmanual-dvipdfmx.cfg2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/Makefile4
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual-test.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvips/pgfmanual-dvips.cfg2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/color.cfg1
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual-test.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/pgfmanual-dvisvgm.cfg2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-luatex/pgfmanual-luatex.cfg2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/pgfmanual.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-pdftex/pgfmanual-pdftex.cfg2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/pgfmanual-tex4ht.cfg2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-vtex/pgfmanual-vtex.cfg2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/pgfmanual.tex2
-rw-r--r--Master/texmf-dist/doc/generic/pgf/version-for-xetex/pgfmanual-xetex.cfg2
157 files changed, 5102 insertions, 2388 deletions
diff --git a/Master/texmf-dist/doc/generic/pgf/ChangeLog b/Master/texmf-dist/doc/generic/pgf/ChangeLog
index 55d9caa6ff7..d3b2a8448c7 100644
--- a/Master/texmf-dist/doc/generic/pgf/ChangeLog
+++ b/Master/texmf-dist/doc/generic/pgf/ChangeLog
@@ -1,3 +1,543 @@
+2020-09-28 Henri Menke
+
+ - Release 3.1.6
+
+2020-09-28 Henri Menke
+
+ - Activate CTAN zip action
+
+2020-09-28 Henri Menke
+
+ - Adapt shipout to new hook management #900 #923
+
+2020-09-24 Alexander Grahn
+
+ - improved functional shading (dvips); \pgfsys@definemask fixed
+
+2020-09-20 PhelypeOleinik
+
+ - More missing args to \pgfmath@error
+
+2020-09-20 PhelypeOleinik
+
+ - Add missing args to \pgfmath@error
+
+2020-09-20 PhelypeOleinik
+
+ - Replace \pgfmath@PackageError by \pgfmath@error
+
+2020-09-20 PhelypeOleinik
+
+ - Use \pgfmath@tonumber in pgfmath (fixes #924)
+
+2020-09-09 Henri Menke
+
+ - Merge branch 'master' of https://github.com/erihe251/pgf
+
+2020-09-09 Erik
+
+ - fixed typo notes -> nodes
+
+2020-09-05 Henri Menke
+
+ - Merge branch 'pgfkeys-doc' of https://github.com/muzimuzhi/pgf into master
+
+2020-09-05 Henri Menke
+
+ - Remove unused `.expand two once' #918
+
+2020-09-05 muzimuzhi
+
+ - [doc] pgfkeys: update examples of ".search also"
+
+2020-09-05 muzimuzhi
+
+ - [doc] pgfkeys: document \pgfkeyssetevalue
+
+2020-09-05 muzimuzhi
+
+ - [doc] pgfkeys: unify order of ".code" and ".style"
+
+2020-09-04 muzimuzhi
+
+ - [doc] pgfkeys: typo
+
+2020-07-07 Henri Menke
+
+ - Invert transform before assigning intersection #889
+
+2020-09-03 muzimuzhi
+
+ - pgfsys-xetex: sync with upstream, #909
+
+2020-09-03 Henri Menke
+
+ - Provide a convenient workaround for #508 (also #915)
+
+2020-08-30 muzimuzhi
+
+ - pgfkeys: avoid \pgfkeysalso used in ".search also"
+
+2020-08-31 Henri Menke
+
+ - Fix CI badge; add PR template
+
+2020-08-29 Henri Menke
+
+ - Merge branch 'ps3shading-fading-imgmask-dvips-3' of https://github.com/agrahn/pgf
+
+2020-08-29 Henri Menke
+
+ - Merge branch 'fix-pgfkeys' of https://github.com/muzimuzhi/pgf
+
+2020-08-29 muzimuzhi
+
+ - pgfkeys: make `.initial` compatible with `.code`, fix #654
+
+2020-08-29 muzimuzhi
+
+ - pgfkeys: specially treat `.style n args={1}{...}`, fix #912
+
+2020-08-28 Alexander Grahn
+
+ - fixing code lines with assignments, as requested in the review
+
+2020-08-27 Alexander Grahn
+
+ - Merging upstream changes into ps3shading-fading-imgmask-dvips-3
+
+2020-07-02 Henri Menke
+
+ - Switch to GitHub Actions
+
+2020-08-16 Alexander Grahn
+
+ - optimizing sampling procedure (funct shadings, dvips)
+
+2020-08-13 Alexander Grahn
+
+ - merging recent upstream changes
+
+2020-08-13 Alexander Grahn
+
+ - addressing requested changes from review
+
+2020-08-12 Henri Menke
+
+ - doc: correct some typos
+
+2020-08-02 muzimuzhi
+
+ - [doc] pgffor: replace \diameter with \r
+
+2020-08-02 muzimuzhi
+
+ - [doc] fix typo, s/to/two/ in "between to point"
+
+2020-08-07 Alexander Grahn
+
+ - PS-3 functional shading for dvips
+
+2020-08-03 Alexander Grahn
+
+ - PS-3 shadings, opacity masks (fadings) and image masks for dvips
+
+2020-08-02 Henri Menke
+
+ - doc: remove reference to old "-to" arrow
+
+2020-07-22 Henri Menke
+
+ - Merge branch 'context-module-wrap' of https://github.com/LeonardKoenig/pgf
+
+2020-07-20 Henri Menke
+
+ - Update build instructions [ci skip]
+
+2020-07-17 Leonard König
+
+ - context: Fix 'module wrapping error'
+
+2020-07-10 Henri Menke
+
+ - Merge branch 'minor-change' of https://github.com/muzimuzhi/pgf
+
+2020-07-10 Henri Menke
+
+ - Fix critical typo in documentation
+
+2020-07-08 muzimuzhi
+
+ - [doc] enhanced consistency
+
+2020-07-08 muzimuzhi
+
+ - [doc] fix wrong description for \pgfmathsubtract
+
+2020-07-08 muzimuzhi
+
+ - fix typo in comment
+
+2020-06-18 Stefan Pinnow
+
+ - Add library loading hints #755
+
+2020-06-16 thinbold
+
+ - Fixed typo: of -> off
+
+2020-07-03 Erik
+
+ - Fixed typo, if -> of
+
+2020-07-03 Alexander Grahn
+
+ - gs-9.53 transparency; blend mode; transparency groups
+
+2020-06-30 Henri Menke
+
+ - Install pgfmanual-en-macros.tex
+
+2020-06-29 Henri Menke
+
+ - Revert "- removed some trailing spaces and replaced TABs with spaces"
+
+2020-06-28 Henri Menke
+
+ - Merge branch 'doc-fix-pdf-dest' of https://github.com/muzimuzhi/pgf
+
+2020-06-28 Henri Menke
+
+ - Fix pt/bp confusion in dvipdfmx driver #888
+
+2020-06-28 muzimuzhi
+
+ - [doc] rename counter, "dummy" -> "pgfmanualentry"
+
+2020-06-27 muzimuzhi
+
+ - [script] use value of "maxruns" in not-converge message
+
+2020-06-27 muzimuzhi
+
+ - [doc] move two key labels inside "key" env
+
+2020-06-27 muzimuzhi
+
+ - [doc] fix typo
+
+2020-06-27 muzimuzhi
+
+ - [doc] fix wrong pdf dest
+
+2020-06-25 muzimuzhi
+
+ - [doc] external lib
+
+2020-06-17 Henri Menke
+
+ - transform shape clashes with label position #843
+
+2020-06-17 Henri Menke
+
+ - Add options to Lua examples #640 #839
+
+2020-06-17 Henri Menke
+
+ - Resolve clash of object ids in SVG #876
+
+2020-06-17 Henri Menke
+
+ - Decorations are implicitly sloped #748
+
+2020-06-16 Ilhan Polat
+
+ - DOC:matrix:Use only default colorsin example
+
+2020-06-13 Ilhan Polat
+
+ - DOC:matrix: Adjust the column color in example
+
+2020-06-16 Ilhan Polat
+
+ - Fix merge conflicts
+
+2020-06-16 Henri Menke
+
+ - Remove bbox library
+
+2020-06-15 Stefan Pinnow
+
+ - followed @joulev's suggestion
+
+2020-06-13 Mo-Gul
+
+ - Update doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex
+
+2020-06-13 Mo-Gul
+
+ - Update doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex
+
+2020-06-12 Stefan Pinnow
+
+ - added `codeexample` plus some text to the `decorations` library manual as suggested in pull request #872
+
+2020-06-12 Stefan Pinnow
+
+ - removed braces as suggested in pull request #872
+
+2020-06-05 Stefan Pinnow
+
+ - "improved" colors given in the `codeexample` of pull request #871
+
+2020-06-01 Stefan Pinnow
+
+ - added reference from `matrix` library to "basic" matrix section
+
+2020-05-30 Stefan Pinnow
+
+ - - adapted formatting in `pgf/text-en/pgfmanual-en-tikz-matrices.tex` - changed order of mentioned libraries so they fit the order of references in the next sentence in `pgf/text-en/pgfmanual-en-tikz-shapes.tex`
+
+2020-06-01 Henri Menke
+
+ - Little improvements for matrix/inner style
+
+2020-06-04 Ilhan Polat
+
+ - Convert quotes to TeX quotes
+
+2020-06-04 Ilhan Polat
+
+ - DOC:matrix: Add example for every row/col keys
+
+2020-05-29 Henri Menke
+
+ - Configurable matrix inner styles #867
+
+2020-05-28 Henri Menke
+
+ - Add key visualize as smooth cycle #823
+
+2020-05-28 Henri Menke
+
+ - /.style -> /.code #808
+
+2020-05-26 Henri Menke
+
+ - Documentation for /pgf/fpu/install only
+
+2020-05-26 Henri Menke
+
+ - New key `/pgf/fpu/install only' #861
+
+2020-05-26 Henri Menke
+
+ - Merge branch 'new-unit-px' of https://github.com/muzimuzhi/pgf
+
+2020-05-26 Henri Menke
+
+ - Remove \pgfkeys@ifcsname #863
+
+2020-05-26 muzimuzhi
+
+ - pgfmathparser.code.tex: add pdfTeX/LuaTeX unit px
+
+2020-05-25 Henri Menke
+
+ - use fpu reciprocal is still under consideration
+
+2020-05-24 Arkonos
+
+ - fixing typo in pgfmanual-en-tutorial-Euclid.tex
+
+2020-05-24 tallmarmot
+
+ - Update bbox library #856
+
+2020-05-24 Henri Menke
+
+ - Shift before rotate #859
+
+2020-05-24 Henri Menke
+
+ - Fix undefined control sequence in \pgfutil@pushedmacro
+
+2020-05-23 Henri Menke
+
+ - Revert "Execute size hook unconditionally #795"
+
+2020-05-22 muzimuzhi
+
+ - Another improvement for #855
+
+2020-05-19 Mo-Gul
+
+ - corrected typo in patch of issue #848
+
+2020-05-19 muzimuzhi
+
+ - Improved fix for #855
+
+2020-05-18 Henri Menke
+
+ - If prefixed name does not exist, look up global name #846
+
+2020-05-18 Henri Menke
+
+ - Fix broken \foreach initializer #855
+
+2020-05-18 Henri Menke
+
+ - Check if set is defined #853
+
+2020-05-18 Henri Menke
+
+ - Forbid some more operations in patterns #852
+
+2020-04-30 Henri Menke
+
+ - Trim surrounding whitespace from pattern name #851
+
+2020-04-29 Henri Menke
+
+ - Use comma hack for pattern keys as well #851
+
+2020-04-29 Henri Menke
+
+ - Merge branch 'master' of https://github.com/Mo-Gul/pgf
+
+2020-04-24 Stefan Pinnow
+
+ - incorporated tallmarmots suggestion of issue #848
+
+2020-04-14 Henri Menke
+
+ - Fix \pgfmathfloattoextentedprecision #845
+
+2020-03-29 Stefan Pinnow
+
+ - - (again) found double-space instances
+
+2020-03-23 Stefan Pinnow
+
+ - - minor issue additionally stated in issue #840
+
+2020-03-04 Henri Menke
+
+ - Fix chiral anomaly #837
+
+2020-03-04 Henri Menke
+
+ - dvisvgm4ht: ProvidesFileRCS and copyright
+
+2020-03-03 Henri Menke
+
+ - Merge remote-tracking branch 'dvisvgm4ht/master'
+
+2020-03-02 thinbold
+
+ - multiple is noun; multiply is verb
+
+2020-02-20 Henri Menke
+
+ - New pgfparser utility package
+
+2020-02-20 Henri Menke
+
+ - Fix typo in fadings driver for Lua/pdfTeX
+
+2020-02-06 Henri Menke
+
+ - Don't swallow the delimiter #831
+
+2020-02-06 letzfets
+
+ - Include dependencies in Makefile #829
+
+2020-01-30 Hironobu Yamashita
+
+ - pgfmathparser.code.tex: add pdfTeX/LuaTeX/pTeX units
+
+2020-02-02 Henri Menke
+
+ - Update manual issue template
+
+2020-01-16 Henri Menke
+
+ - Address the CTAN issues #816
+
+2020-01-16 Henri Menke
+
+ - Cherry-pick the useable stuff from #822
+
+2020-01-16 Henri Menke
+
+ - Issue template: Reminder to use latest manual
+
+2020-01-07 Kamil Ziemian
+
+ - `arrows` library replaced by `arrows.meta`
+
+2020-01-06 Henri Menke
+
+ - Math parse looseness on to paths #813
+
+2019-12-21 Henri Menke
+
+ - Update README and fix .travis.yml
+
+2019-12-21 Henri Menke
+
+ - Error checking for postaction, correct xetex postaction
+
+2019-12-25 Kamil Ziemian
+
+ - Mistake in code example
+
+2020-01-11 Stefan Pinnow
+
+ - - removed some more remaining instances of the `arrows` library (#819, #698) - minor change
+
+2019-05-04 Michal Hoftich
+
+ - Pass emptry group as a \Picture argument
+
+2019-05-02 Michal Hoftich
+
+ - Handle nesting
+
+2019-05-02 Michal Hoftich
+
+ - Added comments
+
+2019-05-02 Michal Hoftich
+
+ - Support display math inside picture
+
+2019-05-02 Michal Hoftich
+
+ - check for the vmode
+
+2019-04-11 Michal Hoftich
+
+ - Make the tex4ht patches active only at \begin{document}
+
+2019-04-10 Michal Hoftich
+
+ - test for existence of tex4ht commands
+
+2019-04-03 Michal Hoftich
+
+ - code cleanup
+
+2019-01-23 Michal Hoftich
+
+ - Removed \Rcs command
+
+2018-06-26 Michal Hoftich
+
+ - Initial commit
+
2020-01-08 Henri Menke
- Release 3.1.5b
diff --git a/Master/texmf-dist/doc/generic/pgf/FILES b/Master/texmf-dist/doc/generic/pgf/FILES
index ccea7e29e51..9afc891a04c 100644
--- a/Master/texmf-dist/doc/generic/pgf/FILES
+++ b/Master/texmf-dist/doc/generic/pgf/FILES
@@ -5,6 +5,7 @@ doc/generic/pgf/INSTALL
doc/generic/pgf/README
doc/generic/pgf/extract.lua
doc/generic/pgf/images/brave-gnu-world-logo-mask.bb
+doc/generic/pgf/images/brave-gnu-world-logo-mask.eps
doc/generic/pgf/images/brave-gnu-world-logo-mask.jpg
doc/generic/pgf/images/brave-gnu-world-logo.25.bb
doc/generic/pgf/images/brave-gnu-world-logo.25.eps
@@ -21,7 +22,6 @@ doc/generic/pgf/licenses/gnu-public-license-2.txt
doc/generic/pgf/licenses/latex-project-public-license-1.3c.txt
doc/generic/pgf/licenses/manifest-code.txt
doc/generic/pgf/licenses/manifest-documentation.txt
-doc/generic/pgf/macros/pgfmanual-en-macros.tex
doc/generic/pgf/pgfmanual.pdf
doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex
doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex
@@ -78,7 +78,6 @@ doc/generic/pgf/text-en/pgfmanual-en-library-arrows.tex
doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex
doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex
doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex
-doc/generic/pgf/text-en/pgfmanual-en-library-bbox.tex
doc/generic/pgf/text-en/pgfmanual-en-library-calc.tex
doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex
doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex
@@ -766,7 +765,6 @@ tex/generic/pgf/libraries/luamath/pgflibraryluamath.code.tex
tex/generic/pgf/libraries/pgflibraryarrows.code.tex
tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex
tex/generic/pgf/libraries/pgflibraryarrows.spaced.code.tex
-tex/generic/pgf/libraries/pgflibrarybbox.code.tex
tex/generic/pgf/libraries/pgflibrarycurvilinear.code.tex
tex/generic/pgf/libraries/pgflibraryfadings.code.tex
tex/generic/pgf/libraries/pgflibraryfixedpointarithmetic.code.tex
@@ -835,6 +833,7 @@ tex/generic/pgf/systemlayer/pgfsys-dvipdfm.def
tex/generic/pgf/systemlayer/pgfsys-dvipdfmx.def
tex/generic/pgf/systemlayer/pgfsys-dvips.def
tex/generic/pgf/systemlayer/pgfsys-dvisvgm.def
+tex/generic/pgf/systemlayer/pgfsys-dvisvgm4ht.def
tex/generic/pgf/systemlayer/pgfsys-luatex.def
tex/generic/pgf/systemlayer/pgfsys-pdftex.def
tex/generic/pgf/systemlayer/pgfsys-tex4ht.def
@@ -881,6 +880,7 @@ tex/latex/pgf/compatibility/pgflibrarytikzbackgrounds.sty
tex/latex/pgf/compatibility/pgflibrarytikztrees.sty
tex/latex/pgf/compatibility/pgfnodes.sty
tex/latex/pgf/compatibility/pgfshade.sty
+tex/latex/pgf/doc/pgfmanual-en-macros.tex
tex/latex/pgf/doc/pgfmanual.code.tex
tex/latex/pgf/doc/pgfmanual.pdflinks.code.tex
tex/latex/pgf/doc/pgfmanual.prettyprinter.code.tex
@@ -894,6 +894,7 @@ tex/latex/pgf/utilities/pgfcalendar.sty
tex/latex/pgf/utilities/pgffor.sty
tex/latex/pgf/utilities/pgfkeys.sty
tex/latex/pgf/utilities/pgfpages.sty
+tex/latex/pgf/utilities/pgfparser.sty
tex/latex/pgf/utilities/pgfrcs.sty
tex/latex/pgf/utilities/tikzexternal.sty
tex/latex/pgf/utilities/xxcolor.sty
diff --git a/Master/texmf-dist/doc/generic/pgf/images/brave-gnu-world-logo-mask.eps b/Master/texmf-dist/doc/generic/pgf/images/brave-gnu-world-logo-mask.eps
new file mode 100644
index 00000000000..4a51c7416a0
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/pgf/images/brave-gnu-world-logo-mask.eps
@@ -0,0 +1,3956 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: (ImageMagick)
+%%Title: (brave-gnu-world-logo-mask.eps)
+%%CreationDate: (2020-07-30T07:46:49+00:00)
+%%BoundingBox: -0 -0 342 387
+%%HiResBoundingBox: 0 0 342.095 387
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 1
+%%Pages: 1
+%%EndComments
+
+%%BeginDefaults
+%%EndDefaults
+
+%%BeginProlog
+%
+% Display a color image. The image is displayed in color on
+% Postscript viewers or printers that support color, otherwise
+% it is displayed as grayscale.
+%
+/DirectClassPacket
+{
+ %
+ % Get a DirectClass packet.
+ %
+ % Parameters:
+ % red.
+ % green.
+ % blue.
+ % length: number of pixels minus one of this color (optional).
+ %
+ currentfile color_packet readhexstring pop pop
+ compression 0 eq
+ {
+ /number_pixels 3 def
+ }
+ {
+ currentfile byte readhexstring pop 0 get
+ /number_pixels exch 1 add 3 mul def
+ } ifelse
+ 0 3 number_pixels 1 sub
+ {
+ pixels exch color_packet putinterval
+ } for
+ pixels 0 number_pixels getinterval
+} bind def
+
+/DirectClassImage
+{
+ %
+ % Display a DirectClass image.
+ %
+ systemdict /colorimage known
+ {
+ columns rows 8
+ [
+ columns 0 0
+ rows neg 0 rows
+ ]
+ { DirectClassPacket } false 3 colorimage
+ }
+ {
+ %
+ % No colorimage operator; convert to grayscale.
+ %
+ columns rows 8
+ [
+ columns 0 0
+ rows neg 0 rows
+ ]
+ { GrayDirectClassPacket } image
+ } ifelse
+} bind def
+
+/GrayDirectClassPacket
+{
+ %
+ % Get a DirectClass packet; convert to grayscale.
+ %
+ % Parameters:
+ % red
+ % green
+ % blue
+ % length: number of pixels minus one of this color (optional).
+ %
+ currentfile color_packet readhexstring pop pop
+ color_packet 0 get 0.299 mul
+ color_packet 1 get 0.587 mul add
+ color_packet 2 get 0.114 mul add
+ cvi
+ /gray_packet exch def
+ compression 0 eq
+ {
+ /number_pixels 1 def
+ }
+ {
+ currentfile byte readhexstring pop 0 get
+ /number_pixels exch 1 add def
+ } ifelse
+ 0 1 number_pixels 1 sub
+ {
+ pixels exch gray_packet put
+ } for
+ pixels 0 number_pixels getinterval
+} bind def
+
+/GrayPseudoClassPacket
+{
+ %
+ % Get a PseudoClass packet; convert to grayscale.
+ %
+ % Parameters:
+ % index: index into the colormap.
+ % length: number of pixels minus one of this color (optional).
+ %
+ currentfile byte readhexstring pop 0 get
+ /offset exch 3 mul def
+ /color_packet colormap offset 3 getinterval def
+ color_packet 0 get 0.299 mul
+ color_packet 1 get 0.587 mul add
+ color_packet 2 get 0.114 mul add
+ cvi
+ /gray_packet exch def
+ compression 0 eq
+ {
+ /number_pixels 1 def
+ }
+ {
+ currentfile byte readhexstring pop 0 get
+ /number_pixels exch 1 add def
+ } ifelse
+ 0 1 number_pixels 1 sub
+ {
+ pixels exch gray_packet put
+ } for
+ pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassPacket
+{
+ %
+ % Get a PseudoClass packet.
+ %
+ % Parameters:
+ % index: index into the colormap.
+ % length: number of pixels minus one of this color (optional).
+ %
+ currentfile byte readhexstring pop 0 get
+ /offset exch 3 mul def
+ /color_packet colormap offset 3 getinterval def
+ compression 0 eq
+ {
+ /number_pixels 3 def
+ }
+ {
+ currentfile byte readhexstring pop 0 get
+ /number_pixels exch 1 add 3 mul def
+ } ifelse
+ 0 3 number_pixels 1 sub
+ {
+ pixels exch color_packet putinterval
+ } for
+ pixels 0 number_pixels getinterval
+} bind def
+
+/PseudoClassImage
+{
+ %
+ % Display a PseudoClass image.
+ %
+ % Parameters:
+ % class: 0-PseudoClass or 1-Grayscale.
+ %
+ currentfile buffer readline pop
+ token pop /class exch def pop
+ class 0 gt
+ {
+ currentfile buffer readline pop
+ token pop /depth exch def pop
+ /grays columns 8 add depth sub depth mul 8 idiv string def
+ columns rows depth
+ [
+ columns 0 0
+ rows neg 0 rows
+ ]
+ { currentfile grays readhexstring pop } image
+ }
+ {
+ %
+ % Parameters:
+ % colors: number of colors in the colormap.
+ % colormap: red, green, blue color packets.
+ %
+ currentfile buffer readline pop
+ token pop /colors exch def pop
+ /colors colors 3 mul def
+ /colormap colors string def
+ currentfile colormap readhexstring pop pop
+ systemdict /colorimage known
+ {
+ columns rows 8
+ [
+ columns 0 0
+ rows neg 0 rows
+ ]
+ { PseudoClassPacket } false 3 colorimage
+ }
+ {
+ %
+ % No colorimage operator; convert to grayscale.
+ %
+ columns rows 8
+ [
+ columns 0 0
+ rows neg 0 rows
+ ]
+ { GrayPseudoClassPacket } image
+ } ifelse
+ } ifelse
+} bind def
+
+/DisplayImage
+{
+ %
+ % Display a DirectClass or PseudoClass image.
+ %
+ % Parameters:
+ % x & y translation.
+ % x & y scale.
+ % label pointsize.
+ % image label.
+ % image columns & rows.
+ % class: 0-DirectClass or 1-PseudoClass.
+ % compression: 0-none or 1-RunlengthEncoded.
+ % hex color packets.
+ %
+ gsave
+ /buffer 512 string def
+ /byte 1 string def
+ /color_packet 3 string def
+ /pixels 768 string def
+
+ currentfile buffer readline pop
+ token pop /x exch def
+ token pop /y exch def pop
+ x y translate
+ currentfile buffer readline pop
+ token pop /x exch def
+ token pop /y exch def pop
+ currentfile buffer readline pop
+ token pop /pointsize exch def pop
+ x y scale
+ currentfile buffer readline pop
+ token pop /columns exch def
+ token pop /rows exch def pop
+ currentfile buffer readline pop
+ token pop /class exch def pop
+ currentfile buffer readline pop
+ token pop /compression exch def pop
+ class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
+ grestore
+} bind def
+%%EndProlog
+%%Page: 1 1
+%%PageBoundingBox: 0 0 342 387
+userdict begin
+DisplayImage
+0 0
+342.095 387.108
+12
+342 387
+1
+1
+1
+8
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFCFFFDFFFEFFFEFFFF
+FEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFAFFFFFFFEFEFFFCFFFDFCFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFCFDFFFFFFFEFEFFFF
+FFFBFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFCFFFCFFFFFBFEFFFFFCFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFDFFFFFDFDFEFFFF
+FFFDFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFDFEFFFBFFFFFCFFFFFFFCFFFEFDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFFFCFFFEFDFFFDFF
+FCFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFFFFFFFDFFFE8D90929092979495FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFBFFFEFEFFFFFEFFFFFEFEFFFFFFFEFFFCFF
+FFFFFFFEFFFFFFFFFFFFFFFFFFFEFFFFFEFFFFFFFFFFFFFEFFFFFFFFFCFFFEFFFCFFFFFD
+FFFCFFFFFCFFFDFFFDFFFFFDFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFD85597F98FFFFFFFEFEFFFDFFFFFCFFFDFFFFFCFF
+FFFDFFFEFEFFFFFEFEFFFFFFFDFFFEFFFFFFFCFFFDFFFFFFAF8E5F492E2627292B332D32
+47464C565983D9FFFFFBFFFFFDFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
+FEFFFEFFFEFFFFFFFAFFFDFFFCFFFFFDFFFFFEFFFCFFFEFFFFFFFEFDFEFFFDFFFFFEFFFF
+FDFFFDFEFFFFFEFFFFFEFFFFFDFAFFFDFDFFFDFFFFFEFFFFFFFDFFFFFAFFFCFEFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFFFD93
+4944423748458D94D7FFFFFFFAFFFCFFFFFCFEFFFEFFFFFFFDFFFEFEFEFEFEFFFEFEFFD3
+8F884439202B2522212319242725292929343C364244494F546DFEFFFEFFFFFAFEFFFFFF
+FFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFCFFFFFFFCFFFFFEFCFFFDFF
+FFFEFEFFFFFFFEFEFFFFFFFFFFFFFCFFFEFDFFFFFFFFFFFEFFFEFEFFFFFDFFFFFFFFFEFE
+FFFDFAFFFCFDFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFFFCFCFFFF974F443943394A38434B3C524A52538F8D8E
+9093908A92888D8D8D9087443C38412626212025191A1E1B181B1F1B141F1B1A1F2B2330
+32333843483D6A6655BAFBFEFFFFFFFCFEFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFF
+FEFFFEFFFFFDFFFCFFFDFFFBFFFFFEFFFFFEFDFFFFFEFFFFFFFFFFFFFFFFFFFCFFFFFFFD
+FEFFFEFFFDFFFFFEFCFFFDFFF9FFFAFEFFFBFBFFFFFDFFFDFFFFFE9A7995FCFFFFFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFCFFFFFFFE
+FFD83D3E2D293E3F3F333D393C4336323E33313A262E25312C2E29242A1F2622251F1818
+170E1410140F1115121010151018202622352A4243434A4D51705A6E9EFFFDFFFFFBFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFEFCFFFFFEFDFFFEFFFFFFFFFFFCAE8D
+938A8B8C929595918D8C8E90FFFFFFFBFFFFFCFFFFFFFDFFFCFFFFFEFCFFFFFFFEFFFEFF
+FFFFFDFFFC9A6B5E715FA0FFFFFDFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFCFFFDFFFFD4433D39423A35343739392E2F253837
+36382430242D262327212325211C181817160C0E11110B080F1512141211141925212733
+2F45423E48535A56585D6F5BBDF8FFFEFDFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9
+FFFFFFFFFEFEFEFEFFB28C52432B252C2728242A37353634312F31383D3F3D453D3C5044
+4A90918FB7F9FFFBFEFEFFFBFEFEFFFF8F959A61616F7272607158D7FFFFFDFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFEFFFFFD
+FFFEFFFF71484B3D403F3F31333529393C382F27282B32272A22222025201A161A1D1616
+130F0F1419121618171A181F2D2A2F2A38353E3B404B5D555158716E5B747464D9FFFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFCFFFBD48B3E30211C1821191C1B1D1825
+23242D232E2A2422282F3231403C3B39312E31323934313E373B413D333742463A30534B
+5F696E766575665FDBFFFAFFFFFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFF9FFFCFFFFD54A433B403436363941414437
+3434343836312C2C312E24271B271F1E201B15202024201D2123242222282E2E40394545
+3D33444C51525D695C6C736F61596F7CFFFCFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FBFFAA271512160F1012121311191615151B2124212B23272A2A2B2D2E2D2D342F383C35
+39382E372D393D372E323431383B445563545F79836E836C76FEFFFDFFFFFDFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFDFD
+FFFDFFFCFEFFFD7745392D3545423B484642414A4A403E3D393B4B3935353633363A3435
+2D303D3B36352F3B403A403D39493B453F504F525A65556B556F7E6F5A5D5C5D615D57BE
+FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FAFFFFFFFFFEFFFFFFFFFEFFFFFEFFFFFFFDAE22040700010402030A0E030E121313201A
+1B1F2D201E312627202C2E312C363233362B332D2C353736343F283E41494648556D7782
+88768C8B71A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFFFCFFD5583E453B3B57483D44
+524F525847575C675D4B5758493B55564945514C4458533D41655051434E525045575151
+574C6355596C6E736B85466F6E715F625F746FFFFFFFFFFEFEFFFFFFFEFFFFFDFFFEFDFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFFFFFDFFFFFFFFFDFFD230
+00010000010000020005030B0E15111A1A171C2D1E2732252E322E2F2C2D37363E3B3737
+2E2D2F313B3537413C404A505762828C7B927B97949ADBFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFDFFFCFFFFFFFFFED9693F52594845424146594A61635A5351604F3D43525D5E544F
+4F38505F4D5867585C595855484D5856645B5B6754585C626F5C63715B6061575E5C7376
+606E9AFFFEFEFFFDFFFEFFFFFFFDFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFDFFFFFFFEFDFEFEFFFCFDFDFFFF620100020002030000000002030A11141D1B201918
+2B322633322F3B2E2F37303E32483F4D3D37373A433F4A443D5E565C696C7C7F9C809F9F
+9D9981FDFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFEFFFEFAFFFFFCD77D4F484346
+54554845594F524F4F5152414262536253514042615D506E575E5A4D48534456466A5265
+605258576C606F5F5E6C5F5C5E64605F735E7576797CFBFEFFFCFCFFFEFFFFFFFFFAFFFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFEFDFFFFFFFFFCFFFFFDAB13040001
+00030000010001000408181E211E24242232363B34372B3D344A4236473C57504D594351
+4A484F645772656C8B968283A086A7A5869F74ADFEFFFEFDFDFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFBFDFDFFFFFFFDFFFEFFFFFEB863535B5B5B5D4E504E5342503F3D66585F4E5052
+40515F5E5F583B5A36584F425942584C515F4D5B554F596B596A595A73725F5B715C7474
+6174627878D7FFFFFFFFFFFFFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFFFFFDFDFFFFFEFF450103000100020000030000011216241C292E2C26293F37
+4030452B434C594F4E47454360707B6B685E4B636D838E8D7D829CA4898DA7A3A2879A89
+DEFDFEFFFBFFFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFDFDFFFFFEFFFFFFFFFFFE
+D7875447506056444253536A5253555444405053644B5E3D48465246503A3F3143565751
+5347334A50656E6A5863747861657373746376787A8E7A51A8FFFEFCFEFFFFFEFDFFFDFD
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFFFFFDFFFFFFFFD214050000010001
+000000000108141A21332627332F40334644403F4C5D6453595F616C4870867177695F55
+725F93967E86849FBEA7A387868A848FAEFEFFFDFFFCFFFFFEFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFCFFFEFDFFFFFFFEFFFEFDFFFEFBFFFFFFFBFFFFFF90945C6751565445425442573F
+575150544A5A5947464E4D4630444C3F403B2E2D3835605D505758718570726063636177
+76638B67677C7C6EFFFFFFFCFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFDFFFDFFFFFBFE81000200000302000200010102131825283E452E2B43433E574B51
+4D4F5D5C606475737F617F7F958A89757579787C969B829D8686A09E838A839D8EFFFBFF
+FBFFFBFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFEFFFFFEFFFEFEFFFEFFFFFFFFFB
+FFFCFFFFFFFFFDFFFEFFFFFB9A977E5C4F4F55565251524F4B46564F4C3C463D453A3E34
+3037363B535A4E614F577069615F5F7576767877797C79687B5560DBFCFFFCFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFDFFFBD328030300010200000200
+01000B1B242D36343D4636575B426D6C5E6D5C80658D7A688168838781877571A2A97893
+7A7D7E807F868384838585628DBBFFFFFFFEFFFDFFFDFFFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFDFEFFFEFFFEFFFFFFFFFEFEFFFEFFFDFFFDFFFEFDFEFCFFFFFDFEFFFEFFFF
+FCFF9B9E5A685D4E55444E4C443F2D30403F303530333C3B434D495155575D4A73627778
+6478797767797B7E7C75BAFCFFFEFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFBFFFFFBFF
+FEFEFFFFFEFCD70101010001040000010101001B1B2741363B4547595556625D6565787A
+7A7D858483826C868E8788758BA677907A90967A9697809B837F837E73BBFBFFFCFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB7985951474A303A422A33
+2A32302D3B3F394D3F4D5053554857697B72777C65507A7D80657E817DACFDFFFFFEFFFF
+FFFFFFFFFDFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFFFFFDFFFFFFFAFF84000200000300000101010002
+1C1F374339404A616A5E5F6A7E697F7C84846C7284736E6D866FA18A758A8A8D92A2787B
+608095967F8479686EBFFEFFFFFEFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFEFCFFFD7E3B463F39363A2A2625233035303739325048545268707063
+61697C7B7B6C7B836A6A826968FFFCFFFFFFFCFEFFFDFFFDFFFAFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFEFCFCFEFF
+FFFDFFFF2B00020002000200000400000A1E2B3E3C394E536A5F74667E7E80738BA0706D
+7872896F8B8A6E8A75748D8F768A8B958D637D78927D7A7C76BCFDFFFFFDFDFFFFFFFEFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFBFFFF7A373F3737
+301F24242C27282D2F39413F385F6D695A59686363667D927A687B807F6B6E76FFFDFDFF
+FFFFFEFDFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFAFFFFFFFDFFFFFFD01B0000000200000000030000132932
+33505A5354635C77676E6D7779787A7B7289918C8B8871728E868B89A4A3767291905A93
+5E7B936E91E1FDFFFFFEFEFFFFFEFCFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFEFFFDFFFDFFFFFF5D403623311B272A242B2F213C3443495B5C505856
+716378747F7E6A7F6E67506D686960DEFCFFFAFFFEFFFCFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFDFCFEFFFE
+FEAA0500010502000003020100031D34402F496851487268827E6F727C7E62797B7C797B
+8A8D707672718BA188778A8C8A8F8C7773796788B9FFFFFAFFFAFFFEFFFEFDFFFFFFFEFD
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFEFEFFFBFFD54A
+322A2B2C22212223212B3C423C48544E4E5A585872647C6B6980676F576885837076DDFF
+FFFEFFFBFFFDFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFEFFFCFFFCFFFE83000700030000020000000002183A3C405C
+5266645E78826F8F657E81817F7E97808F8C7A8D758A878A8A888C86A18B5C73746E96D8
+FFFFFFFFFFFDFFFFFEFFFFFFFEFFFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFF8FFFFFEFFFEFFFFFFFFFDB73B2A2C25241F21241D2F2926313D48546F
+68686A847A7A627F6C686855837F6E697DBCFCFFFFFEFEFDFFFEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFEFEFFFEFF2B
+02010001000000010000000E1A2C40404B5C6464537D7C8E7CA0818483889B80805C957B
+8E758673898987888D9B896994BDFEFAFFFFFFFDFDFDFFFFFDFDFFFDFFFFFEFFFFFFFFFD
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFEFAFFFFFFFEFCFF
+FEFF77392726292A211D1F2221253A42574D5D64787D5E66776A546C546A6C5972848384
+A4FCFFFDFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFEFFFEFFFCFF150000000002000301000106172E3936405C556F
+757F6B87927C8488A2866DA283829964AC8E8F76738A73737970A2DCFDFFFFFFFEFFFCFF
+FDFFFFFFFDFFFDFFFFFEFFFFFEFFFFFDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFFFFFFFFFEFFFFFBFFFCFFD53229272623222124282A2C302E3B
+39475E57575F666C675353716C6D6A98856E6CA1FBFFFBFFFCFEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFEFFFFFDFFFFFEFFD2020300
+01000200020002000822203A3E4C4A656574786F8E7B848586A6888BA789869C7F7D9478
+8D73688CA7FBFFFDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFF582D2D2B27232323201E213037444C5750655C5D4E52525372706A979A856F
+706EA1FFFFFFFEFFFDFFFCFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFDFFFFFFFBFFAA030000000000030001000106282E41504A4E645F7D6E
+80AC9BA486A8A7AAABA58AA58087826E82ABD9FFFFFCFBFFFDFFFCFFFFFCFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD83827261A20191614191F2D
+33473B48503F464E476082667F719B7182876E888391FFFDFEFFFFFFFFFDFBFFFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFFFFFEFFFFFAFBFF840002000101
+0002000200000E253D3E555F685978658477AD9E9C8DAAA9A98F8B8D888C83748BFFFFFF
+FDFBFFFFFFFDFBFFFDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF9FF5F282A221817191A1D212C322E3B465650575959686D6A818296716E
+716E867175FFFFFEFFFEFEFFFFFCFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFEFEFFFEFDFFFF830001000300000200000100192D2F3C583C525D786B748C95
+B7A8908590918FAA8C8C8E8283DAFDFFFDFEFFFFFCFDFDFFFFFEFFFFFAFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFDFB92332318191F131C16
+211F253147374753696D607A706E96856D8670568984866CFFFFFFFFFFFFFBFFFCFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCFFFFFEFE6200000100000000
+0000020018332443463D677366838792A0B8A88D70938F6E8D8E698D8FA7FDFFFFFFFFFF
+FFFDFFFFFFFCFDFFFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFDFEFFFCFFD53C2229221B0F1918191A282B35414C5266595E687D806B776E
+716C8D7372866BFFFEFCFFFFFEFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFDFFFFFFFFFAFF440100020102000401060004202D31445B4F555A656A767985BE8C
+8FA99390AC908D928585DFFDFFFEFAFFFFFDFEFFFFFFFEFFFFFFFEFEFFFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFFFFFEFD6F23261D1411
+0D191619232740436354536E72647B71866E847284708C6E8B78FFFFFAFFFFFFFFFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFEFF29000001000000020100
+0000223341504F53534B81587180A18AAC8C93AF7290926F8E83A6FEFEFEFFFCFFFCFDFF
+FEFEFDFFFFFFFEFAFEFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFEFFFCFFFFFFFFFEFE8E2F1E1816140E160F191B29324F59526857627B7F6C6F
+6D79858B868F858781FFFFFDFEFDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFEFEFFFDFF27030000000104000400010F20313E454C675E4B7A748A82A1A7ACAF92
+93B1AF90A9A78FDFFFFEFFFFFCFFFFFFFFFDFEFFFFFFFFFCFFFFFEFEFDFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFDFFFEFFFFD42B1C1B
+12120B130F1B1A2640415B4C6B675F647E80876C7175736F76727785FFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFDFFFFFDFFFFFCFF270300040000000000000211
+29333C525B7A4864798B947AA1C4AEAFB474CECB918DA792FFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFFFED73E2318141309091517192B48425751676A716680
+8172728A74897375747193FFFCFFFFFFFDFFFDFFFDFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFC
+FEFFFDFFFF140100040000040001010215203042535D6A645F86877882A4A3AD8FB48FB1
+B2907497ACFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFF41
+1E120E0E08110E121E232F3A5460566B6F656D6D889D72778B8C76738BA4FFFFFCFFFFFD
+FFFEFDFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFEFFFFFEFFFFFEFFFE0402020000010100010003182431
+425A626564736F8B77848A8AAF93CBB3B494AFAB98E1FEFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFFFCFE4E1F15080B05140C131D1E3B474664736D61
+7A938B83738B8C76748D8E8B9EFEFFFEFEFBFFFFFFFEFDFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9FFFCFF
+FFFDFF0700000100000100020004122A414A5B676567727C7680A0A491B091B794AF758F
+8D7BFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFDFFFF
+FF8A23141005000609131D2C3C4D5954656873647D6E738A8F8B888C918A73A5FFFFFFFF
+FFFDFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFDFFFEFFD21700010000010000000000132841545C
+6A6465717C5C819D8B91909299B096948F8F91FFF7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFCFFFE8D19170B040203080E2025334E564E4B
+5166676E88896C768D768A90A79FDEFFFEFEFFFDFEFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFA
+D2290003010000040002000212283A535A6865586F697A81B8A48F9495B4B0B89391A9B2
+F7FFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFF8FFFE
+FFFCFC8E1D0F1200010204081127434F415A6873767880848B728BA0938CA5A26CDDFFFC
+FFFFFEFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFF2E00000001030000020001182B464B55636A
+665E7D777F8AA48E9398B3B4B3B58F8FA7FDFFFCFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFFFDFEFDFFFFFD8C20170C0104020508162F414765
+796B63717884718EA59FA9A78F948A82D9FFFEFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C
+0003000300000200000118263A4E546058535F7D5D7F86AD909499939892938F8EB0FFFF
+FDFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFBFFFEFF
+FDFEFEFFFA8D1D1106000000031724294044484D4D60627A88A6898C75A88E767C7570FB
+FFFDFFFEFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFDFFFDFFFEFFFFFFFFFEFFFC29040000000101000200000A2C49506154526B5B
+69776486A8B2939698B597709681A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFF8E1814000002000011192B2D
+3D425060757A7F878B7592A77D7578797988FDFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFEFFFFFDFEFFFFFC2E0000
+01000000000400001D2845553E66455559698E94868AB0B09E76B678929499DFFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFBFFFEFD87190D0400020105151620324A5C637261647E838DA7A3777B907B908E
+A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFDFFFDFFFAFFFFFEFCFF6200030000010300010000153836435856634362638B
+938590AEB295959C97958E6EDBFFFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFF8C120B0000000003031A
+2F394F5956566A7980898CA78D937B8F7B7678A7FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFFFFFFFDFF8400040006
+000100010003161D2C374D54666C5963807A838E9373779A9B75967469DDFDFEFAFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFCFFFDFEFEFFFA70170200030100030C2331345249616A81947074735E8D797D787B
+935DDEFCFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFEFFFAFFFFFCFDFF8300030000010001020000152729464457696D56636F7B69
+A9AD989B979B94B99266E3FFFFFEFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFBFFFFFC3511040001000003
+141A2F404E576B6C6569888688947B7B997A5E616DFFFCFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFCFFFFD2000302020000
+01000200152B34384F4060655A5F538382A590B376B9B9B8B79668DDFCFDFFFFFBFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFDFFFFFEFFFEFFFEFD3D06020004000104121F3F39435D827177797F8C7B735F5B7F
+615F5E62FDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFCFFFFFDFFCE050000000002020003000D2A323C3340595D69676C75858F91
+97BAB5BB9598B290DEFFFFFFFDFDFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFEFFFFFBFFFFFFD6120801000002
+00061A3231516A606B6E788287717E786377796561788DFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFDFFD20500000003000000
+060010264446433E5A616A64698F80A5B19496B99D959B93919FFEFFFDFEFFFDFEFDFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFDFFFFFCFFFFFFFFFFFDD613030200000100051A27304A5A686B6F7A58705D60907C
+6492807A7BDBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFDFD
+FFFCFFFEFFFDFFFFFD2A010001000300010100102443544E3F5B6F7C666273B584A8B5B7
+B9B97999B595A5FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFF8713000100
+0101000A1837415963676C626480627A74967B7F637F9687FFFFFEFFFDFFFEFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFEFCFFFFFFFFFFFE2D010001000500000001
+131C3B45434D4F6F6B65669A92A3A997B9BABA9C7B98929FFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFDFFFFFC4F0100000002020011282F4C4D51535B60677274917D
+817D9B99797F82FFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFD
+FDFFFFFEFCFFFE8000010002000000030300203148474B40596D5F62818EA4A9B2B7B7B9
+9A79979697FDFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFCFFFFFF250004
+06000003060F273C4B4C5666585373748A7A7B967F7D9B7E90A0FEFDFFFDFEFDFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFDFFFFFDFDFFFFFDA60401000300040101000116
+2B3C463C415272647083A89B9FB7B4999B9EBB989993FDFFFDFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFCFFFFFED7110000000000000519372E4D4F66565E846A7279
+9499617F7B7E7D7DDDFEFDFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFF
+FDFFFFFEFFD408000000000200000004082F31433F3D4C65706E758F9885B5B7979B9D9B
+779980E1FFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFAFFFE8503
+000100000004002030464759524660537F8C79927B9B6681827E6DFFFBFFFFFCFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFDFFFFFAFFFD2B0003000700000200010E253B
+434F4F4A557C6B618799A6A9B797BAA1D8BAB689DBFDFFFCFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFF2B0002000200000212242C4C544369476F6B81
+8F7E957D809B97827F96FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
+FFFAFFFC630000010100020000041827424A4B4039565F73807A7C9FA996B89CBCBA9B9A
+979CFBFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFCFFFFFBFFD6
+08000200040001001C293F515D50505D7C718C8F959A9A81687F7E7CDEFDFDFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFFFEFFFC840001000102000100030E233D2C36
+34485666637F6C7780A9B0D2B9BF9D9D9A7589FFFFFDFDFFFFFEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFE8700020000010001051F3C484D5756657186
+6C89607C6581829A819970FFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFC
+FFFCD40400020000000200020220303C3A3F3B68566F716A7280A3CCB9D6BDBD9F9B946C
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FE1C020001000100011926384A6357765B706788767D649D81A083817FA0FFFFFFFCFEFF
+FDFDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFF28000000000400000300032E3C374D4A
+6A64727F687578BCADB4B89D9CA0B7798ADDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA020001010200010724243F66716A5559
+7A6F8E77999A9D9D7F8282B2DBFEFFFEFFFDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFF
+FC6002010000000000010012282C373E4855656A7C816B769CA7CC9D9D9C9FBB9C95A5FF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFD45030000000301000B21376350465B45616F6C7091989B9D8383989D9CFFFBFFFDFB
+FFFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFFD2050002020002000002052F3845403B5B6A
+63716B6B597AA9AEB49BBBBEBFB87583FFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD500000301000002001745405B5B4968
+6363618A94947E836880A29B9EBAFFFCFFFFFDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+190100010100000300051F3B3738414A6753657B6C6D6384C9D29D9BB9E2989C8CFCFCFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFAFF63010000030400001530414F4E485662657868859282816585BBB48178FEFFFFFD
+FEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFD630001000000010000041E34453C394A586576
+60836F75818BB2B89DBFC3BE7899ADFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFE05010003000002091A314C4A3D54
+5A657A90798A7D818784A0A1889B99FFFCFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFD700
+000500010002010015373E463A4367666853786F6E8289ACCFB9C6BCBD799886FDFFFFFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFF44000300020003000F2D3A403A5A67777C6681758081829FBBA29E9F9CFEFFFC
+FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2702010000010100000F213B4738403C64695276
+6C808EA38D969CA09CA17C9AA4DBFFFCFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFF03000000010000001C393B3E3D
+696B6176628593987F89838686876584FEFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFBFFFFFF820002
+0200020000000513313A3A3F4C547768705085889390AC98BFBDA19EBA9797FFFDFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFDFFFCFE46000000000000011427383F4879646B527B84917B9684A0A48789A186D9FE
+FFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFEFFFEFBFFFBFFD2060200000002000001142C3939384D566A55656B80
+80769FA9B59E9AA49D9F7B82FFFCFFFDFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFCFFD101010101000000091E36374A
+5268587879668A87968681868889698683FFFAFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFBFFFFFEFE45000000
+02020001011224323C504465685568646A88867E8C929D7C82BE9FBD96CAFFFEFFFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FBFFFCFFFFFB1600000000010002122E3D396A67506D7E636A6F7B666CA089A48AA0A1C0
+FFFFFCFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFEFFFFFEFDFFD40103000300000500001D393F4C4F695767556875816F
+5E83A89A9C9DA0A29D999CFFFFFFFAFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFBFDFF8500010100030100041C393E
+5F646B51526678727683828C868CA7A38281FFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFEFFFFFE1600000000
+010100010C284348455967645655627D71747C8AB7977D7DA29DBDB6DEFCFFFFFFFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFAFFFFFDFD030000000000000317353C56665658576978675D618389A2A68A8AA6A2
+E0FCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFFFFFFFCFFAB000003000300020000143A48485053565755567667898F
+82AD959F9FA2A0A1989EFFFFFDFFFDFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFF8FFFFFF4200020000000001112D30
+4957686454766B62707A827E89A78CA5A6A083FFFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFAFFFB140101020100
+0300010F2639444B485B555554687B80747CA3AE9CA07CA3BDC3B2E1FFFFFFFFFFFFFEFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFBFFFFFFFEFC84000000010001010D262B4A655458666C636950749AA2A3A1A4A8A68A
+9EE0FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFEFFFFFD860000010002020000081A3D47454B575268686557698A729F
+90969C7FA1A19E989DFFFFFCFFFEFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFBFFFDFFFFFF01000001000100091D20
+3D6659665555654D666D77819CA7A98F8BA8A89AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFEFFFF17000000000100
+0001122E473D4D5854557B64647282877B88757A7E9FA5C29DB6DFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFDFFFFFFFFFFFEFFFFFFFDFFFE
+FFFCFFFEFDFFFFFFFEFFFFFFFCFFFCFFFDFFFFFFFFFFFFFEFFFBFFFFFFFDFFFFFFFFFFFF
+FFFFFFFFFDFFFCFFFFFFFFFFFFFDFFFEFFFFFFFFFEFFFFFDFFFFFFFEFEFFFCFFFFFFFCFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFF2A000000000000021828495E585442434865667C72999FA28C8B91A9
+A694FFFEFFFFFFFFFDFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFDFFFDA9000100020000000009243847383F536A78646A69506D736070
+949FBFA5C1BFBA8EFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFDFFFFFEFFFEFEFFFEFFFCFFFCFFFFFFB18D4A474B493D3946535E91B4FFFFFD
+FFFEFEFFFEFFFBFFFFFDFEFEFFFEFFFFFFFFFFFFFFFFFEFFFFFDFCFFFFFDFFFEFFFEFFFD
+FEFFFFFDFDFDFFFFFDFFFEFFFFFEFBFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61000200000200001A21
+30494542575666637E76837F9CA18B92A5AF8988A5FFFDFDFEFFFDFEFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFFFF1600000400000001
+0213313B2F3265493B69746556536F9083939BBBA29EA2C4B4E2FFFEFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFFFFFDFEFFFFFEFFFFFFFF9054
+2F2D2724232D2D312B3833403C4C43556084D9FFFFFFFEFDFFFFFCF9FFFFFEFFFFFFFFFF
+FFFFFFFFFFFDFFFFFFFFFEFFFEFEFEFFFFFDFFFFFCFFFFFFFFFDFFFDFFFEFFFFFFFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFF85000200010002000F202B4D50575665585A65787E929AA28B8BB08B
+8D8B79FFFFFFFFFFFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFCAA00050000000000000624414846596B50577D6A545F69869A8BAE
+BB9FA2A7BEBC9EFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFEFFFCFFFFFFFFFEFDFFFCAE321A15151A1111171D1D202E28363647434441505563
+6375D4FFFDFFFFFBFFFFFFFEFFFCFFFFFFFFFFFFFFFFFEFDFFFFFFFBFFFFFFFEFFFFFBFF
+FCFFFFFBFCFEFEFEFDFFFEFFFFFCFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD01010000010000041C
+2E4459656757545778797A8F9A7F88B08DABAD8FC1DDFFFFFFFCFFFFFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8FF160200000100000100
+1337494F51694F2567976B42647289B5ADD09F9FC1BFC4B5B6FDFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFFFFFDFFFBFFD550181506080001
+01040B0E191822282127303E46454B4F555466555479D7FFFFFFFDFEFEFFFFFFFFFFFFFF
+FFFFFFFFFFFFFDFDFFFFFFFAFDFFFFFDFFFFFFFEFEFFFFFFFFFEFFFFFFFDFFFFFFFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF00000402000000001C30526879535766666D7E799C75998C8CAA93
+ABA8AB94FFFBFFFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFD400000300000000010926424B504A672523806F5756838289A59176
+9EA2C5C2BDB4FEFFFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFDFFFDFFFCAE370703010002000300030109100F251521283540373D444B3E4959
+4B6A5B697690FFFFFEFFFEFFFEFFFFFFFFFFFFFFFFFFFDFFFEFFFEFDFFFFFFFDFFFBFFFE
+FFFDFFFEFFFDFFFFFCFFFDFFFEFEFFFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A0000030006000215
+264E54443C316C7367767B6D8E6489A98E8F97738A62FFFFFEFFFDFEFFFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF43020200000001010018
+3443535C654A072A869C575567A893A990A0BFC2C2C2DDAFFFFFFFFDFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFAB2205000500010001020200
+00001315201D282D342F413B434C3E40485E6362696B87876FD5FFFEFEFFFAFFFFFFFFFF
+FFFFFFFFFFFFFFFFFCFFFBFFFFFF8C9241433F40483C53516490B7FDFDFFFFFFFBFFFEFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF26020200000000001E284554562921808C73807D935D7B85AAAEAB
+95938C72D8FFFDFFFDFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFF010200020001000103273C3A505A56280B56877C567283777B90B8BD
+DEA3E49FB6ADFEFFFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFCFFAC1B00020003000101010000000006111C2427243434424544504C413C465D51
+61675A5D87766676BBFFFFFDFFFEFFFFFFFFFFFFFFFFFFFDFFFFFFFA8E3E2A2621282A25
+2729293F38373E414A42515099FEFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2C000000020001010E
+153B69641B10B8836851846A82959DA48BB2AD94928B95FFFFFFFFFDFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFFFDFFFFFEFFFFA702000000010100031135
+3C4452663A09227D858268658A7883CB99BDC4C2A47BB7FFFDFFFFFDFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFDFCFFFFFEFDFFFFFBFFFDFFFCFFFED1480002000003000001000202000409
+12202D32283436433743453D4344455B4F53626A5D71767866806B9FFFFEFFFFFFFFFDFF
+FEFEFFFCFFFDFFAD381618131918191B20221D242832352C3536444B3F4454534D80DCFE
+FFFFFCFFFEFEFFFFFFFDFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF6000040002000100161553586416147264716B6167678E98BAAAB1
+B3B2948B7BFFFBFFFEFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFFFFFFFFFFFC2A00050002000103001C54383F585622084786A0565480778F85AED7BF
+C3C4A1BC9AFBFFFBFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFFFFFFFFFFFFFDFF
+FB65040000000101000000000000000F101D2628352D3947574A59573C4E4E494D536266
+667C656275646C7D8469A2FFFFFFFDFEFFFDFFFFFAFFFD6E160907000005000610141614
+182420262B31353D3A42474D5148575D586DB6FCFFFBFFFFFCFFFEFFFCFEFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD890000000002000211
+15477669161160978A666B6C77899F84A8AF939373B08CFDFFFFFFFCFFFDFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFDFFFFFE0302000001000000022C3C
+3651653B0A2A53839E686085769388D1BEBDC1C19FBEB6FFFFFFFFFCFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFEFFFEFEFFFFFEFDFCFFFFFCFFA61A0000000200000000010001020E11202225
+2B414F49455E4F555161575263656556725773605C7A79677F826A6D7FA3FFFDFFFCFFFF
+FFFFFF6812010002010200000400040A16131B1F2427332A3C3F3F44493D4C4954635C61
+534C84FFFBFFFFFFFFFFFFFEFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF82050003010002001617546966111758839C5F55627E8996A4A890
+977994918EA8FBFDFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFFFDFFFEFF8400000003020000001835463C5A692A094658A380585780769BAC95DBC3
+A1C4A098E1FFFBFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFFFEFAFF4501
+0300040000000001030001001A1D27253C443E505F4B4C4F4A62474654635B5B4F47586F
+6C7367747C7F83836A896868B8FFFDFFFFFEFDAC1E0000020300000101000003041B191D
+1F262F3237373946423A493C545E53575E4E3D55554F77DAFFFCFFFCFEFFFFFDFFFDFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF420103000002000213
+163D77651812555F9275546A8188939670AF958F99B4AF94FFFFFEFCFDFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFBFF2800010200000002012A3C3A
+51673A0628595385856466947F9D8FB6D8A3C1C09FB6FFFDFFFDFFFDFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFEFFFFFEFFFFFEFFFFAE010001000200020100010000020A212936313E405C
+5A5F4E5D52525D6E5D5E66655B5944436A807368737F697E836E6C6E68796ED8FFFFFAFF
+500502000202000002000000030B18202019262D2C37314154524549414F545151464A5B
+4E5D5661686A7EDBFFFEFFFFFBFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF2D00000000040000141D4978581513546A8882566A6675747EA6AE
+947898949191FFFDFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFDFFFEFFFD05000000000102000624323D5A5029075366669FA35379828187AFBD9BE0
+9CC69F81FFFFFAFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFEFEFFFDFF4600010700
+0200010100000301081623363C454541614E40645255465A666758545B6A57415C5D705A
+605D72696B839986877D7B627B5DFFFFD623090000000100000302000002121722212A2A
+3D45424335405941405942455D5549586A6E4F534D557558485285FFFFFDFFFFFDFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27000000030001010E
+29455876131456566F998668636B6E958C939099B6B6B5ABFCFFFCFFFCFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFCFAAC00040300010002001234333A
+56571215685554849C69687E9CA3AFD3E1BCA3A0A09BFFFEFFFEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFDFEFCFDFFF9D613020200000003000000030300082538325A42414F415D52
+5F5E574B665967645247656647473F686C5F525A59658080876A70697A71685E558C2714
+000005000100000000010E181E2E2F3931413F4C404044635D544C565B59675A5E6C625B
+4E535462685A595A6E67B2FFFFFEFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFF05000400030101011A30557A6314125265789886546F67739B888C
+99B499B59593C0FFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFF
+FFFEFDFFFF820200000001010200163C465164460C2B5568679E9F675F8B9BA691B99CA2
+A1A099B6FEFFFEFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFDFFF78A00030000040002
+0001010001111B233849404B413F48535F584A6655663C3A3E3F403C5C6254555A696573
+73686B7B7F836B82817F7471535845391D12000200030001010005121F263239433A423F
+39344552525666604B4D675B6262666051514141505458666B5A6C5C627ADAFDFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE000100020000000021
+254B505B0F13576567838467566D907B898FB197787996B0B3FCFFFFFEFDFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFE2C0200000300010005243B5159
+672F0F3A6779679F9F667A91998BAF989F9FA37BB9BBFFFFFFFEFEFEFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF
+FEFFFDFFFFFAFFFFFF2A000000010003000000000005132B3B3B4E5A424C5444495A6A65
+6854383E302B3E4B3F3D675F467569666A73886B6986906A7E907E7B776D6054422B2010
+00000200000001101C2B44393F424C402B383B46545665636D5F59596275636A5F615451
+3F675652686D685A5B5A7082718CFEFFFEFFFCFFFEFFFFFDFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFDFFFFFEFFFFFE850000010000000009252F3D55560E0E667857849B6A66808F7A808E
+7699749CB6B4A7FCFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FCFFFCFFFF01000000020000010D34323B696B1512657973639F9F586A8E7C83B0A1BBC1
+BCA1B4B8FBFEFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFCFFFDFFFFFBFFFFD117000300010002000100
+040216202D3E4740514A4547475B7B64663E303F3D2D343868765865725E7E7353686A69
+5C786D6E60798C8F7F7871594C513B282515020000060009171F3A3F3F4233533E504B47
+6B5D6F5E5E61714E3E6763665E5E795E6258695655486A69595B5C7F827171845BD8FFFB
+FFFCFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFCFDFFFFFCFF42000300010000010D29
+393A67631512676750739D72575D598E82AAB396D6BBD7AF91FFFFFEFEFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFF0000010001000001112F3C4961
+430D2279767C56B784637E7D79A08DBA99C1C29AB8FCFEFFFBFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFFFFFFFFFC850600000002010000020002011C323237405B514B46494D676369483933
+324F3C386957616865695A698A956556666C5D7164665D89848264885B6E59423B35261E
+180B0A1227242F4A4A344A414C55574E455D54585454685D684E576959735D6368495D5A
+584A5B566E5A6D596F806F73606279618BFFFFFEFFFCFFFAFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFEFFFF0600020001000201153130505547092464695A89935B595E81929B91
+94B69F97979B95FFFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF
+FFFFFFFDA9020101000102000013393A556B2B0B5056695364858058818EB09FAE979D9A
+9CBCB4FEFFFFFFFDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFDFFFDFFFFFE66000000020102000201000306
+1F253B44373E57424E4C66656B3C2F352E4F6C5E7364717176715F605E70806F55567754
+676A6E8489596B60766158525E59554134221F2321303C3842504941423F46455B575355
+67676667656A54566E6768615C825C50475548445F70606C5E726C6F6F71607062745070
+D6FFFFFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFEFFFCFFFFA900030001000002002030
+4A495421064767646765888353546B7D9E85969AB6BFB8B8ABFFFFFFFEFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFEFD8500000100000200001B2F3D5778
+1515666864545A9C855481A68CA291969DBEBEBBB3E4FDF8FFFFFFFDFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFE
+FEFFFCFF2B000502020000000000000016202A3D4341474B534A5A575655654B46433A71
+715D5F7065738587614B626E6D53575368545678667F8565695F6B715B5A636B4D433A38
+3035443C45513E5F4B334C574A655654536A57643B3E496C6353676A5A6B6F64445A5C5A
+446B5A6D5D6D6F72746F5B725C795F624C66689BFEFEFFFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFCFFFFFCFE1702010002000100012D373D545A14186669635766826A64696894858D
+95B89DBA9DB7B0F9FFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
+FFFBFFFF7C04000001000000052A313A7866121566556A52669F8557919178808C93B6BC
+BAB995BAFFFFFEFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFEFFFFFCFD2B0201000000000400020003162B33
+37555D4257545E62566553646B4756636F866D6A657975685666555455576C7468666655
+766870857658665B6D765B57805B464749434B564D4943655E65594A4868686458657853
+6A5640273F5361406A866678766F55455558715B52636E6774746B708863754B79614D65
+627A60FFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFFFFF9FFAA00000000000002000F3131
+3C546615146658766965869A6964808C81ACCC99BC9E9FB6B5FFFEFFFCFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFF2D000000010100000D3727486A45
+0D235B65545A66A09D7A8A87749D8C76BAB8B8B8D2AFFFFBFDFFFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
+FED30800000300000200000200041B343B3C6E5B4C4C5C62696758665A6257516A676852
+77656769655568544D6270697D73676E5D6A6F6F74695D6955576B6F667370584958473F
+515855546C676A6555453D55566A517B6955665655384B696F4756637E78635643595D53
+4358616D585F7D625F5F73714F7660666165617C665EDCFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFCFDFFFFFB190000000400000000222B4B4043480C2A677669696584A254596E8E7FBF
+B897BB9EBC9A93F9FFFEFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF
+FEFFFDFF2801010001020104113C384A522B055053666666649FB76958825F83899399B5
+BBB592A6FBFFFFFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFD304000100000003000400000F1936474952
+66604C5A665A536766686559666865676884746C6F7D5B5B596E7A6E6D616F6E736E8272
+6177698C5D6F726E716E7B695368445257535964655F5260575555394E5E66546855515A
+545654545963755B706C677D55555867525D6A54776D59675A7675597471796378626267
+79787A798FA0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8500020200020001000A372939
+4A582108486557665457836766657F7A948E909E9E9F9DB9B1DFFEFEFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFBFF29000000000100000D282D416A15
+14666569677866B88359646B82808A90B5B5B798B280FDFDFCFFFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFEFFFFFEFE87
+0000010003000000020200141B30506D4E4E55535A6854555579666957715E72686E6B77
+7C657F8758667775576A64748682777A605E7979737472747485727F5C606E5B605D615D
+6B6E6D5F614F705E5A5B42546C6D5C5951515456566865546645495E8370555568535A54
+686C6857666B726A6B56757A646064617A7863677A90796673FFFFFEFFFEFFFFFFFFFEFF
+FDFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFFFDFFFE
+FDFFFFFFD10000000200000200041E3A343A5953151666586955625C809F56547F937D89
+999A9EA19EBBB4A9FFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFEFFFD2A000100000000000921395F6415186853766866688584605981758385AAADCE
+9AB2AF8DFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFDFEFEFFFCFFFF8000020000020003000001001A26293E5E46434C
+486A67545553795D726C587878728A85736685777470646A7A64676B8E75867C777B7573
+8177887161867771735C5E6C5F6D5B615C72697E5B6D5F55576B70594A70715D5C586062
+6F6C7D61507C5266655569625767666765695656576B5A675E5D475979754F5E5B7B6368
+69747963637B7C74DDFFFEFFFCFFFFFEFFFFFDFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFDFFFCFFFEFFFBFFFFFEFFFF0205000000030300000632473746
+4F4B082F5765685558679F8456777E797E8EB7BEC0BEDEB994FDFEFFFDFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFC2C000000000000010E283B607318
+1C646867665863868457696B799481A3AD958FB1928CC7FAFFFEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFEFFFBFFFC810400
+000002000000030004172F373F4F4B5244596864535E757E69617876768F747A90727688
+7F82757B696B84656891807D7F77677D6679897C847376736F666F5C5D5D675D5C6D5D68
+6B585D69545569665E5463676F575B5E5E6476776B66656A6D624F58656B646A67546542
+5666526B525F475A585C625554796767687E656765686469806366A2FFFDFFFDFFFFFFFD
+FFFDFFFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFEFFFFFE
+FFFFFE290200000101000000051F413A3E5B5727083E516A565565648684636A827881AE
+B5BBBFE0C1BBB4FFFFFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFFFCFE2900020000000003163634545A3820626863686455A0836959688A8A9884CAAA
+B0AF8E8A8DFFFBFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFEFFFFFFFFFFFF8501000000000004000000040F2A464D443E52485856
+70767187735B61948A7B7C74796770926A69828379825A6F7F7F817F697D7F7D7B7D637B
+637E87887375736E5C6F5C6C5C5A6B646E5A7C696A6956586055695655645755645F666C
+56424E6755576D62777C6B61615655655A556756786654685E6655755D576A6560636861
+616B767C7A7A7C7E7C7E71FFFFFFFEFFFFFFFEFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFEFFFFFBFFFBFFFFFF2902020006000100010211353F3B4C69
+48033468686354556E559F815A65687F9FADB2BDA07FA0BA96FDFFFFFDFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFDFF2804020001010001193F2F496654
+2038665A655A558A7C6250786B8778A0A8AD8A91ADA69BE0FFFDFCFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFFFFFF2500010000
+03000000000000232F4D57434A504970625C7A725A8D6C61908F76826A94697084878480
+858580716C6B867E827C6D7C7F6876907C767B797676715F725B5C6E535C5B6A576D5867
+6867575466655D5354535153527050636765595D5A69586153625E576F64505B615F6468
+545A64546668545A6B74656A7160576F777B626A7A65687D7E637C907B74D9FFFFFDFFFC
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFEFFFBFEFF
+D102020201000001000100022335394B4C68220D426656566A67626D877B52606FAE88AC
+B7BFA0C2BDBC96FEFEFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFFFDFC2C00000000010000153A283C5456191654656757646098716B6E7D8978829CA5
+A8A4A1A8BB88FFFCFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFDFFFEFFFD2B000200000000000200011224352B4B583E49617061766E
+7A7E5E6B766997807E888D6F6E86889F757284706E6F715B80816D6A7C686A787F8B6467
+6460897460726F5B6B5D6D586F6C6A6855536A6666645E686D5F615D5263614F4C5F5B65
+50505D65675D616D616F6C49637C667559535F56686A57555356785858565F5F57586779
+5363837A6A7865817A794E6961B6FCFEFFFFFDFDFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFDFFFFFCFFFFA600050000000500000200091A3D36495A6846
+072269666664616C7696A58158798A7889AAB9BE9CA2C0BCB1FFFDFBFFFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFF5D030100010000000D29253E6865
+1517657755516D6582846865808981A99F9EA7A3A5BC9B7EADFFFEFEFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFBFFFF2C000000000400
+00000001112F3F42475A6750646B6E7B646F78556D85868A6E6E8D718A8B77878D82758B
+7473716E586C83846C6A6D7D69797C8E676278778A7776805D5A6F685A5E686968686A73
+65636266666B644E5E5B4B5B5D5A5C445E51514A5B4C716260674E58704C5D705A5D6F4F
+54514C5665566865525A534D584E5C597563757A7A646381698B788268687968A2FFFCFB
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFFFDFFD02A01
+000000060000000400061C363E3B5068662908556267656967756B859B6A577F8E909F97
+B7A1A6A2C199AAFEFFFEFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFDFEFF85000000000001030D22313C606633193C4356685466869F54786A6C7EA07F82
+A19F829C657F8DDFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFBFFFF2601010000030002010100143A3D56445F6555696E727E6A7975
+5789A188898B8D8B8A7A78758B7473738B73738787869A6F9B81826D7E6D7C7D79796465
+777862774B4C5D705E6F5C6B5C7F5B5569785656665F5161414C5C5D4D4C5D5A4957564C
+574A565C5A595B4D595C6254576C4E514D4E5153566A5160686756534450607167697064
+576C7A777B808F7A92627D7B697A7A70FEFFFFFDFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFDFFFF660301010000010001000400021F293C384D4B783A07
+297655596667546A3E85A065546A90998CACC09DC3A1C0BA99FFFCFEFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFAFFFCAC00000102000001051432494769
+55172E685765546871997267777C899B8F9B989980817C957568DEFFFFFFFFFFFFFCFFFE
+FFFBFFFFFFFFFBFFFFFFFEFEFFFFFEFFFFFDFFFFFFFDFFFFFFFCFF2B0000000100000000
+030018334E4E4F5E665D6F6C848E7B6F857B7390A88F8B7A8E927578908C77768C8A5C76
+888788896B8798837E87817B7F768776748A8787708081976C6A57566E575E6C6C6D7A7C
+666865645751515C4E4E5C6A58575662455657475361445449595759495B6A675C4A4E52
+5B595E6F6364644F55425656686B6C66615D6958688D7E7D79797C7D7F6C74788E8E6EBC
+FDFFFFFEFFFEFFFEFEFFFCFFFFFEFFFDFFFEFFFFFFFFFBFFFFFCFFFFFFFF670302000001
+000100010000020514363C433D5969652B094F796566666856586AA47C557298929CA7CF
+9DC1C4A1BFD5AAFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF
+FDFFFDFFFE00000000040000041139474D5D47301C55656B5554729A9E687E7D7C795E75
+92987F7BAA788C738ABBFEFFFEFEFFFFFDFFFDFFFBFFFCFFFFFEFDFFFFFFFFFFFDFFFFFE
+FFFDFFFFF9FFFEFF28000500020000010300011C2F50554B44705D737B73908489898B8C
+948F907D7C789195788F779074738A7674858B826D868797758C918B8B9473775D757287
+8B83647271747B83605A6E6F58879490907D555660675155735060536C5F6B5A49474646
+49615151525650544F4A554B594B575559565B63534F4D614154545256635666655B7171
+59716F7A757A767B6D7C667C7D798A7B79747EFDFFFEFFFFFDFEFFFFFDFFFDFFFFFDFFFC
+FFFDFFFCFFFFFDFFFAAE490D01050005000000010101000112203049443E50677448092A
+6865445768635655AE8882548D8AA9A08D94A09FA0E1BBB9C8FEFFFFFFFDFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFCFDFFFEFF1703030100000200102544404B
+63451E2D6864565558999C6053657E76889F7990769279748A7B807C74FBFFFFFAFFFFFF
+FEFFFFFCFFF9FFFEFFFFFDFEFFFFFFFFFDFFFBFFFDFDFFFCFF2900040000000101000007
+1E3E43445560695F7C8180967D7494928F7D979193979394988F9291918C78715C787088
+85907D797E92AE93929CAA9587846F69626162706E6F6C7A4E557F7E79707C8C9C9A9DAC
+8E7578767C6665515E5F6360495D5C48464B635F4E5152564E5D40414442565353454E4A
+665C49405D5C4E4B53546C52617667666D756467707453627E797E677A78788E7C5E7A73
+715DDCFEFEFFFDFFFFFDFFFEFFFEFDFFFFFEFEFFFDFFFFFEB04B160D0200000000000000
+0002020006151E2A4B513E3F467A451A1E3966656B7654685385837A687186867A9FB499
+A0A2E4E0BEB2FFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF
+FFFEFFFEFD4500000200000300132A42494B61683A1F5568686258757F85677D74747667
+5976777A706C877E7E75746A7AFFFFFDFEFFFFFCFFFFFFFFFEFFFEFEFEFFFFFFFDFEFFFE
+FFFEFFFDFFFF2C00020100000100000200193D4B5F4C4B69517F8383908773789A979593
+AD987F7A7C95AD93919076928C748972927E9C937F9E93998D7274828780898C9895957D
+7781858880736A74888B8986969683636677746F6C838E7566594F403E4E56534D4E5C58
+63544443585D3E3A353C513F4D4A3C4B47363C3A3956596E5E525C6A6C6960655169645B
+5C54737568596479507D797B7D7664667175746D7C76FEFFFFFEFDFFFFFFFFFFFFFFFFFE
+FFFD8C6D3818140B050000020102010000010300000B252E314E4F524C59576A23094577
+68666553475455798770637E7D8E9CA2969EBEC0E5BE9889FEFCFDFEFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFFFFFFFB8404000002000000061B2A534D
+5456463E4057545764679E9F7964698066666D7070847085978C788A8159574B6EBCFFFF
+FDFFFDFEFFFEFFFDFFFFFFFFFDFDFFFFFEFFFFFFFEFFFD2A00020000030000020100233D
+3F4B5B405B686E848B938F7F9580979A97809E947D949496928D9477797D929A989D7E85
+8F72717B88929AA6949798A29A9592A18D918B828B8A7F7C7D878791827F765D4D435160
+68695E6C7E888D89866D4B2F222A373146605C59565257444F34423C4750393D3F312D33
+45434246545E564C625E665964626564513E666C63595F4560696075788479677B5E7570
+725A6D684A84D7FEFFFEF8FFD5928E8A3E451F2821161207020000010300010001020000
+0006172A3733404F4F484B56443C2229766D6169535955556CA37A68839A809EB48D9B9D
+BFE6BDC2B9A6FDFFFFFEFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
+FFFFFEFFFFFF00010000020003001A2C5D4E424E7B551832526666677298606F63746877
+7F7C8370836A7B7D7272586663527C564E5C96B9FFFCFFFFFAFFFFFEFDFDFEFFFFFDFFD4
+878B342D00010000060200030100031E304C4D5A6D607D9D908B94787E7F9A939F9A8277
+99977D8090939393789B7D9C83B39C7F808496A9AFADB5B3A696A0A09993919BA0A7A99E
+99938B817977848F96868068543F373C3035363240485A6A65676D8186848570676C6642
+1C2E4453555243384A404C3E37373B33363B40484C4B4A4643595C5A5B5F634A564F4252
+52655C62675772856875775E6064777370735B59635F4D47524F4B432F34322627241F19
+170E0B0B03010006000000020201000008010A23303B42475D4C3E4B59652A2432455368
+6866556664849681834E7D83828D8CADB59EFDC5C1BFB6DFFFFCFEFCFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFF2B00030002000103182F4146
+475B6455391E4752683D77926984575C6F88747D64816F777D8B706C6C76606B5653584E
+41504C4741444C444A4846444240362927261B0B080000000101000000000005193C4E4D
+61746A87A39890B07D9E839B81B89A7E829C98957B7993837C82839E8698B8B7B8B4C8CC
+BBA9B2B39F9BAAB2B8B7A4ABB0C2C8C0B3AA957C6A656E8495959B96948362484036322B
+28293041515253525C67778599ABC1A666514E2958836F563744433E4349443D383B4436
+49363B3B3C483C556356544E4E514F4F53675F5352685866837469796C75647A6587705E
+5E67655E464549423D342429252B201A1F100F07100501000300020105000006110A1524
+2D37424756524C425A68553C09186878577856526B7966AF8881527384938199AAD4BCDF
+C7BDC0BA8CFBFFFEFFFFFCFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFCFFFFFEFFAC0400000003000003222D33444B506747344055656A7874967143565C7E
+65697882757F8C8C716A684E5D4D4641404B3B3B4236393338373132312B27292821251B
+11050000010101000001010014233D405466666F8F7D987C837E809EB59D9A82817F9781
+937E917B9D818874695B5853333A78939AA1A4B5BCACB2B6C2CDCDCCCFDDE7DFCDB29480
+7981858F949A999795928B7A65544C403F372E2D323B48494E484C585F6C7A8799A3AA86
+5B4A2836658091604E4E534C4A4E3E46414250453736435152494D3F41554749615C644B
+535352535D5C7361595B5D7989767A615E5F6E52674E3A3E3B323431231F181D0E100C0C
+050C060F000203000403000C111A1E203326444147304B533E5A575545221F4A76686556
+425750666EA19566687A98958EA5B195BFA19FA1A1B894FFFCFFFEFEFFFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000102112C43
+4E5358706847413D47575568717F4C686577807D757C7A8B907E6F5568584E3E45424B48
+434133302A2F32272B252B282820261C1A0F0D0200000101000002000119353947695283
+7B8F96809B7F838086B79D9E98A080AE9A68969C84A17E6F605461664243586E563C8CB2
+CBCCB9A8A8B5BFCDDBD7DBB45F4D9B948A97A6AFAB9D908B8685817A6D594D4E50535149
+4038383F47525D5F5D5D62686F736F615858565148463B3B516B7F8D694749554A4D4C45
+48343A403D41483A383A49573346564A4E5D425C536462516761545562846C6F78746080
+6E44504C364D3A38322A2123191C101410160C11110E12090914161A1E1E1E2836412E3F
+3F50404251595A77663B211F3A5558675556456469809AAE806972979A9D9A8CB795A67D
+A3A2BBB3E4FAFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF6601000000050000102C334E6062574F52554033546667608390726C69
+73556C626A76886C5C6A5854545146434E51373E31322E252B2B232826251D1E1A1A1313
+09100100030000000116232E45626D86727E949F7F9C808885A19DA28599837D98867E9A
+868477654A42435A6A737C858262445288A7B58A76889AB5CDD8D5DDB35671A9A5A5B1AE
+A79C876E5E5C6267665E5550576471746F6152474141464E5860646566686D706B5E5452
+585C606564646B6F707681879174484950493B3E3F3D3C39353F323343384C404754535C
+4F506256556147545A667271586B67636A5F5B50644D41434C3C342D2F18201B16141618
+13141B1B1F211F20292F2B3036324C58504E4269464459737D673A1B1F49576767645564
+756B8098936F695A7A859B9088AA94A19BA4A09FBCA9FAFFFFFDFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF0500010002000202262A
+414F5F4949637455455B4A5554747E6C7279696C56775A7B685C685B6D594057554C5B4C
+384130302D2C2D25222A312425251D151A131613140C100D151C21353D3E807AA18F7D9A
+8083A19FA086879C9D819D9B7E838080888568583B344260646D79857C66565152412C5F
+6F809BB9C7D1CFCBCFBE482D3B6DA3B9B5A8978774615C636F76756C64636B777C7C7260
+524C4A49474C56636C70717174787A766B62646A74746E6A6F75819091969396A49A6239
+4B3945483F423B403B3A4439333155475757465A4F555D5E5C53506475546A715F576E5A
+595D553A394F3E403A3527252621211C22252923293434323038453D363B3C4C654B4C45
+535D5645686C4C302A22516468635A675369696A97AF8667607B70998883A693BA9C7FC3
+BFBACDCBFFFFFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFF6501010200030000161B3A394C5B584E5C69515F5B3F55665F7F6A62
+67665D5F61715749555A5E43625B5B5444494B39463A40342C272826332B2A2320202725
+222321241F2A27313744577185A17983859E848C86858880A1A0A1B4978880A193695144
+3631495C626364706C5A3A2D261E3E5A7C91A2B7BBB6AEA6A3B1C1D0762C191E47969488
+786D656067737D817D756E6A6A7073736C615A59585654565D68707476797A7B7D7C756E
+6E737778716A67666C768A929591919CA0A775454B4540413D413C352C31313D474A343E
+46544B46504E4B4C65626A7465715E566B69586F5851594B53493B36242C2D2E2E2D2E30
+3D352A40463C324150494A674C4E4D49444B5C425745773523353D36686B636A63686963
+70997B6E656865706983786E8F939E7ABFBFBAB985FEFEFEFEFFFFFFFFFEFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB20010005000002070E
+2A3341564C555E6D5855533F4154585C96845454525A767669595B5A5959684C543D5557
+374C403E3A32382F3335373630382B292C34343C33363C4230415D736C8C96989C68A485
+A1A3A1A383A89BB1B5719CA5B08151414243515E5952545A5C5233281D1732919EA9AAA5
+A7A19FA6A9B6C8D9E9E7984F495D6F7D7C7367606165707B80807B757271737A7B7D7F7F
+7C756C645E5F636C7275787C7E7E7C797574777C82847F7773767F8990939B9E9493969D
+9E9686544D4248402830383732383C363E30463F50504E574D695B6F6F557E59546C6E58
+6B7F5A644F6D41473F2B473B2D35394B423B444348464E534D4E4440535D50565A475F63
+4046533D3B2B1E43576963755656676767817E81816A54606C6985A69F8D919B9B9FC19D
+9E77E0FFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFAFEFFD40A0100030300010E192D3B42585959574D535A56355B474A8A96
+88556A656A6A4557575C6859674C6A5755595745494E303938354447453F3D433B394037
+433C3644565C56596A7B74829A9E6A8784A58786BF83A1B597738B9FAB8C60504B444C54
+515151545E695F4838342A2470ADA48A7A7E8C94A5BAC6DBE8EBEBE5C5AC92939796958E
+837A7B80899095938F8D92939498929091938F867D756F6F737A808281818182807B7677
+7A7E7F827E757176828E9495979E9D978C8A8D8E808EA356444A3437302E2E2D39372731
+30453C3852425B666148516E515E546544675F575959494A464943344645454544544332
+394848576553445347445F5C47595769666744463B312A31475666686869545657656C99
+7F6E63648666848989956D949998BDA1B89DB38AFDFFFFFEFFFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFF4B0D000100010008
+18243144404D565C56505E55445B5D5C6C75506C72696766495666573C524E6273535552
+4A474B434E4840414B414B4D423A4A544C4C5F5B49675F6F5159797A86A1848A8786A6A4
+A39FA1859D8B8D94A5A4745B56594F4C5755595B5E686257402C303222216E8570707387
+96A1ADC0D0DFE6EFECDDD2C5C4C3C5BCB2ACA29B9DA3ABB0B8B9B4AFB0AEA8A6A4A2A1A0
+99928D898384878A8B88817C7F807D76717072747375736F6B6C737D888A8D8C89979685
+878C887F8295A0582F27363530372E282C3036383C40413E53575A5669634E585556645A
+625050504656454834485446494652595546485F605B5B524A554E5D7757686852694525
+413137464766656853536467575481706C9E7E64777562827F8B99A16F90BA9C7A9E9EB5
+B6DDFFFDFFFEFFFEFFFFFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFDFFFDFF170400000000020D172E414F49554B4D5559505654454A4E55
+60518273665755556F694D6F616556504853474845594142353F433D4D5D485B6753495D
+73665C696A7F5E7D8085A5888A8A89898885888566878993ABBF8C5C65615D5F6662605B
+59545A5548281A1B213B54737F766D7385939DADBDCCD8E9EEEEE8D1B2D2D5DBE0C8CFCA
+C2C0C6CFD8DFE6EBE4D2C4BAB2B0B0B3B8B8AFA59C9695989B9C989188827F81817E7A77
+73706D6F72767774767A808885888D90919B968E8F8F85899197914C34373F32302D2E28
+302A2E3029423A4336425E4F474D62524D525D5C4E5E4E4F4F4C504E4E4E5B4F5D4B4F4A
+4D685555575657645A6357644632433B2F2B4C3E4566666866687A696757557097706F69
+586065777C6D85949E8D919CB7BC9ED8BCB297FEFFFFFFFEFFFEFFFFFDFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFFFED7151101000300
+0414283348433B56525C4C3962686765574B4B5C74607175546A6656766B765A584F5E5D
+525C4D604B424A4F4D4B58717F7864695C7E735D65728E91839F84A3A78C8AA3896B8969
+836075A5B3C7B968747C696163645A4737353832291907101D315B7781776C65646E8397
+AEC2D9E9F4F8F3EEDEC7B6BDD0D0B89DB1C6D0CDE1DEE8FBE8D6C7B2B0BFB2B7BECCCFD1
+BBACA197969BA5A7ABA69E928986888782817E7673747C8184888580868A9095999C9E9D
+9E958C8784827D7685896C46413834372E2329242523323734393C4A4F414E60623D4557
+507153685557576765575467566556695657666758544259696447313E3F2A2B4D3B3550
+6557626969656569786656686C957D546765707B808A686C8F9BAAAF95B6BC9BD9BBD27F
+FFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFCFFFFFFFE90180C04010105101A30333B343E5F645B4A64524F576356
+5C6A836C51634156626A59615658566A6654526B58645555596558687B697069656F4F69
+80836E80827F866D6A6E8B896C8C6B8883767BB1C1C5D6A26C8A816D5B5E523E2E2D2C26
+1F13161817273E4C565951464047546A8BAAC7DFF3F8F9F6E8D9C3BEBABEC6CDCFD0BD88
+5D68757A65656D7179715C586789BFDAE3D5C8B3A49B99A3AFB0B4B2AB9E8F827B7A7676
+756F706C70747A8080818389929AA1A4A3A09B9B92847D7E74635956605D614B2B36252E
+31282B342C2C2F2C3744434441494C4B4D60524B52655853535547526A6965585541582C
+353D3E403E3D494128364D473F446778756B677769636566687566796A7386998157645F
+6A66787C80A6B4A6ADAF999E95BE99B285E3FBFEFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFDFFFEFEFC8F200F0405
+040B162226322E43555C3A4D6057525278756754595D835539654F4B3E5041595F645A56
+6752656B535552686777566C816854636D6D86747E6B9F6B6F4C906CA789898B856777A3
+CED0D4C68E887F6C6665644F3928222A2B2A343A3440434244423D3C3A3E4C62768AA3B9
+C8D3D5CDCACAC4BBB8BDC2C4C5CBD7E3EE713D5E7782868E8A918D877E745D412F68949B
+B8C0B8B0B1B2B7B9BBB6AEA18F7A6A646061676867615E5E63696C737A808A949DA19F9D
+918E8B86817F7A745A4E4950494B5B413227312330343127333136353E294834373A5F53
+495852614D57575465526B433C4A4E3E332A333E333C3F323C3F3250656C65647A796663
+666668686769667968817E848A823F60736478699299919CAAAACA9BB6B99EB699AEABFB
+FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFCFFFFFFFEFFFB691512120D0F111C1C2B283443464660544B576A6260
+65686B524C5E5F6D5B424B423B41534C2F4B5770746459666A4F685E618E7D7C737B788C
+979A8287898C6E8EAA8AA6A56D827196CECFA38675707E6A5F58685A4832252B425C6565
+67615D51433835373D495B6B7F8D969EA5A7A39F9795999EA3A7ABACACAEB9CBE1F2ED58
+77868F9290908C918F8C806E5435251A2A344472A7C4BFC0BDB9B7B4AFA5978779706868
+707577716A6262656974797E84898F9292928881848D8B7C6F695D494443525243525732
+2A31312929312E2E27312234373A473B564C4E4A64644C3D67525A6774251E4B2F3F3C35
+4656686844557A657866586257586465575655445466686465836E8A956C5259737D6361
+7C7D8D8E94A6A7B094B7B5BAB696AD8CFEFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFEFEFFFF3B1E1C
+190E1015191A28313A41375D6D5E5D4D72656450656459604B5C4F59486457625C3F4C59
+4D7A8945655357455F7C76758B6E658D7EB49A858D8B8D898DA7888DA5857979A3666D6D
+6272877D695A4A37293F4E586B646267686B6A5E4E372B3141566D7E8D99A09E9B9A958D
+857B716F717071777A838D9AADC1D6E6CC4F72898D8B908A8E8A8A826C4D33221B68A99F
+62484D73A3B2B3AEAAAAA49996918F8C8684878789867F736D6D727D868C8D8C8A888687
+807D818A90887460584E3F3A3A4554595B5E4930303435292F252A242630283140354344
+3F504E4C4852626267696433344A4855594F525754684458616877666564556768575268
+5456547774838786706D6F566771667B856F7D77AB95A48BAEB395D597B696AF81FCFFFC
+FFFCFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFDFFFCFDFEFFFEFFFA581E1D1511191A18202C3B2F335241464E555F5F
+6165736274645349675C504B5258666874676E69625766675F73617E665E7974A88F9F86
+858BA5AB6B738B8C896DA078955B285B827D7884806B482A2E557480726A55565A5E5A52
+493D332F3A51667C8F969B9A97918D88817A77736C6867676A6F7B8794A1B2C2D1DFD694
+5073858386847E7A78624B37241B61BCE0AC53394477A0ACA8A6A1958A8585888E939798
+96908D888278717075808C9498959089848484838282827D6C594A4445463C3C434F5B60
+645C593C3E30282A20252B212D2E383534413F5949584D5461464F6758533B4F36415756
+6A516A54536869785368566A56525467564257576372807486716E57676F76756C7A5B64
+7B7D9AA4A8AED0B2D3B69895CB92FEFFFFFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFBFFFFF9FFFEFEFFFF90
+221C1F17181E242B283D31443B3F434B524A4E6362794F5E59686547475B4F706851876D
+6F9A57556960627776797E8185819A81A5A3AC8B8B8D8F898C88867C818A50567B83746E
+7C6F4A25356C7D887E7C76625F615F5E58504D494C556379878B8C827B78777A7F828486
+8584807D7D80858A9AA7B3BECDD9E2EAF3C0596A828D7971675D574A3B23191E5A95884F
+322F263FA3B5B0AEA796888785878E99A3A7A0968679726E6A686C768490989997918B8C
+9293948F83715C4A38323A474644404D5661616367705B27302C282D2620282B242E3B2C
+343C37424D604F57675063525645343A5662684465445553656C63666656556852595456
+556784986F72845552676F7E7982697F6E6D7F83868C8FB0B3D196B094AD96FEFFFFF9FF
+FFFFFCFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFBFFFCFFFEFFFBFF902828262118201E22282A263A3143575954
+5E634B5054574E3F5757434837604E5D70716F6D57565D7B6C5E6F688D87969A8388898E
+8F8C908C6E6E8A8473A47365707B77756E654C323E647C7D7A7676736D6B6C74736D665F
+5E5C657176807E726D6461656B727981868A8B888588909AA5B0B8C4CFD9E6EFF6FDFB9F
+5C87978A7F685B544D4130171A2A3431314761522F266BA2B8BAB5AC9A90919198A4AEAD
+A296877268686664666F7F8C95999B989497999D9F9B8F7D6046393431404C534E4E5D66
+6D62666473784231363E2B2D23212C2D2239343B3C545550524D505349514355483F4A5F
+4356555467685566685667565566586456676B84707B865165687262756A6363615D737D
+85A4A9A9B0AF959791959066DAFFFFFEFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFCFF
+FFD42A2F221B1F24272D1F1E3233354C5155586D50584D5D54525B503E54575755498384
+56574973607D77616676947C9D848DC4A98D8F8D908B6C6D7786AA827480797D7365432E
+456C716F665F5B5F65686F7B7F8584786C66676A70726F665E5654585E6770757A7D8082
+81898A929DA6AFB8C3D1D8E5EBF4FFFFF77B6B90968E7B6A5F564F3A221B2336442B3249
+5A472122638CA6B2B5AFABA2979EA0A8AFACA1907F706A70726D6D727F8B909A9D999C97
+9B98999C9581654D3D3F404A5D676563666C767A736C6E737A6F44413826261C1E262226
+2E2E40434A4E3F54414C484452505453584D3546566655676669526754545952576F8683
+8789597F56575E7563636A7D768455637D8288A8AEABB1CD949394A980DBFFFEFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8FFFE4632242C242A201C232F383A534C4B
+545F3C585B59474E595454424F6559525554534C644E626580679E807F86898EA293718F
+AF8D888B686C9EAA7E7C8882847F6036527780735E4740444A55637181909E978A796A63
+656A706B625A54545B6572777A7B7C7D80848D9298A1AAB4BDC0D2DAE9F0F8FEFCFDF562
+6B95968C7E715F5148331F2A5A92AE8D55312A1923588D9A9FADBDC2C6C4BBB5ADADADAA
+A59E948D8A8B89858280868F959C9E9D9F9B988B807A71624E3E37394251637177767472
+73787F807C777B7E7E532D35302D2723242A27222C2B2D3C41454D494D61634961565544
+363446577656665358555755416E85808761706C536781757775756474658872608084A2
+ABC6AAB4ACCB738BA97EFFFFFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFB
+FFFFFDFF8C3731382A2528242938373D41484C4B425A496041524F4D3F41666B4F526A66
+5D6A6C5C6E698E8D7AA28BA6A58F918A90A98B6F8D6191AAAD858A8D807E75522E74978A
+7F664945425468778594A1A9A69784746A676D75746C6666676E7B878A8A89898C90979E
+A6AAB4BCC1C6D2E0EAF3F9FBFFFCFEF2A14974918F857C6851453B1D1961AEC6D3D4CBA2
+6459849AA8AFB3C0D0DAE1E0D7C8BEB8B6B6B1AEADAFB1B0ADA99E908F9195999CA0A29D
+937F6A5B4F42342A292B3646546574787A7872727C8483807981808A6A413926272C1F28
+1D2322222B28465040405A41514B4850435853373356696553575664566A6CA071886F63
+545563707A627666597E839D877C878586A8A6ADABB3ADAD8AAE88FDFFFFFDFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFFFEFFD3393222242A1F322A353C4033
+353E423D446A4B46515D5C4D5E6B5462586F646F4E50818C8E7CA286A5AB8F8EAF918EAB
+6D89658DAE8E8A8B86736C615A3F60A0938467534C5A718498A3A9AEB0AFAA9B88787172
+797C776F6D72777F898F929292969FA7B0B8BFC5CBCFDCE3ECF7FCFBFFFDFEF9DA914A58
+88929285796054443A242977C5D9E5EBEDEDDCC9C7BEBDC0C2CBD9E3E6E3DFD2CBC0BBBF
+BEBDC2C6C9C9C8C3B3A098929090949E9F9B917E6654473B322E2E313B454D5762696F73
+706C71797F87877F7E818473482F34322128221F22232430303C38463B5A616054505D55
+67463A5B5C535A63818A7486886F7D4652694C4A657562645F65836E73756482866DA98B
+ACA9AE8A918D89A4FDFFFBFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFC
+FFFDFFFBFBFFFE92242F2E2734313941332E37333A4943475559484857654C715350725F
+4E52666791947C8688AF8E8B916CACA8AAA77B888AB08E9084705E57556858414E857066
+5C657893A4ACB5B9BCC0C1BEB5A9988A84878781766F6D7178838A8C92969BA4AEB6BEC6
+D0D8E3EAF5F8FFFFFDF2E2AB997E59567B9BA29D988E87807876746B60596171787B8D9A
+959FBAC5C2C9D0D3D5D8D6D6D2C9C6C1C0C7CBD1D1D0D1D2D0CBBEB2A299938D8F979997
+907F6955483F3C3D3F4A555E625F5B5C5F6466696F747C878B877F767C7968663B2D2828
+1E281B1D1D252A243432423D5D614D5654505F55434B4B515E5F746B7371985359577272
+62665D7D5F6369597259939B6683876EA9A7C6CB8C8F8B7CBFFDFFFFFFFDFEFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFDFCFFFED54635392F4238442E2E
+36374147394E524D5249575C59575C5249645F636D8EAB9AA1A5A88D929372ACACA7876A
+819BAE827E73645C515B6C6F4D2C534A4D668293A8B8BDBFC4C9CDD1D2CEBCB2A5999390
+86766C696A717C89939698A0AAB3BCC5D0DAE8F3FBFBFFFBE9B99573757B8C9292A1A2A4
+A0A09998949590969896948A7F7D7378685B5C4D5483B0CBE1DFDEE1D8D0CFC3BBBDC4CC
+D2DBD9D6D6D6D1CBC5C1B6B0A69D979594929085725E4F4541434554616D746F625C585A
+5D646C717A868F8E856F6C736D5D6D5F38282D21231A241F1D1E3036333F4F4F483E6065
+4C606666545874746E845765436A5E5F757A4C6473636C6F5A7593969CA2678890A38EC2
+AEBE898B90DCFFFFFCFDFFFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFDFFFDFFFEFFFEFFFAB63F3E463E3B2E353C3C373F3641534B62544D4D545957584764
+4B698B939F9DACAA908E928BA9ACA8889C82ACA4696D595A5452586163331427314E7D99
+B8CBD4D5D7DADFE2E0DBD1C7B8ABA0978C807467686B727D89939BA2AAB3BDC5D0DCE7F1
+FAFFF9E6BD8E97A0A5A2A1A4A2A0A29C998D8D89868A8D9095969B9B96928C817C747474
+6F6D65554C6A8A9BB7D3D6D6C8C7C0BFC8D1DAE0E5E4E2DED9D6D5D4D5D2C4BAAF9E938D
+87837766594D45434A535F6C787A70665957585F676F798289918F806D66736C6172883F
+2F1D2019191C1C22222B3C3439404657513D534A606767655A625953695E656766617E65
+5C7B6B5B6E5B787E7F7FA18189AAA38CA9BEA8A9858FFFFFFEFEFFFFFFFAFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFFFFFFFFFEFEFFFEFEFFFDFF98403837352E
+34333C41413738493C375643645A576668737A9D939A9FA9A791718EADAD8CA599B584B3
+A0455C54534D4C4F52462427313F6B9BBED4DFE4E4E8F2F4F5F0E3D2BFAEA6978E8A7E73
+7070787F8A98A2A7ADB7BEC7D0DBE7F2F8FCFBE9B299A59EA8A29E9995948D8D8B8A847E
+7A7077737C81848A8B8C8B867F7A6F685E626662626065666B6968615B6B9DBCCBD0D7E0
+ECEFF7F4EFE7E3E6EAE9EDEBD9D0C4A99588868780766D645B5753555E6A767F7A6D5B56
+555D6872797C828289877F747879786D7F8C50352F282027181E252925293031363D495E
+6346485E6A55655970746C79756E7E7C766566707174959398969F86848AA588A7A4C0A6
+8676C2FEFEFEFEFFFFFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFF924849363E423544351C3B353E3F424E46554B615986
+91A77E84A5AB8E6F8FB08F8EA5A1BC89A4A369344549403536362C2C5459698DB8D6DFE5
+E5E3EAF6FBFFFCE6C8B4A499918C89857D7B859098A4AAB1B7BAC3C8D5DAE9F5FBFCFBD1
+A1A1A6A9A298918F8B858180807D7C7E7B766F6B6A6C7074797D80807F7D7670675F5857
+595956545D66727E81827D6D55576E9EC9DEEBF8FCEA914F57686B69676D686A8DAA9F8F
+8D8B918D88837D746761626D7A83837F70645B5F69747A7B7B7673767C7F80828389848B
+926E3F262326201A1F2617282C2F2C37405C5F5C575460605E7564766E7B7B6F7A7D636F
+6E8E7B909B979B9CA0A2A3A386898889A2859EFDFFFDFFFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCAF48
+39454935383D38473A3D4942444F4F50747380907F86A8A78DAFC6AB8991BC8A85959C9D
+6D342E2B2B2427245D848789A8CDDEE9EAEBE5EAF9FFFFF2E1C6B19B909192919292939B
+A7ACB3BBC4CDD0D2DBE4ECFDFAFCF9F7B698A8A19C9890898786807C7979787676777470
+6A6766686B6F7477797775726B655D5956585B58534E51586371777B7D756E655348577E
+ABC9C695667594979592887F7363493E5D898F97959B9C9B948C7D716A6E778186877E72
+68676B737C7F7F776E6A6E78848B8C8E96979B997B4D2A26251A1C1E161A1E21262E3A51
+535D4D5A65756474707D6E797A7A6D846776967F8B809BA19E9EA0A384A0A69FBE9C8BDD
+FEFFF8FFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFAB6534A3E3B2D3F472F3C3F4D514A475A7361
+81897EA2A3ADAC8EAC8890978F9297949BA29D8B744D3D373B7BA89B99B5D0E6F1F6F5F7
+FAFFEABDA2749FB3A096949BA1A8AFB2B1B7BFC3C9CCD7E0E5EAEFF4F8FFFCFDDEA696A6
+9E948C89858382817D7B797675737271706C6764636467696D6F706E6A665F5A5555575C
+615F57504E515862676D74757678767372706B686C7B8FA3A6A7A69285757262553B2547
+889A9BA39FA3A3999182757072798185857E787574777B7C7D7569616370818B948D96A3
+B4B39C7B66282E221A1D1717191E1D29383D48525D6766587C617078807F866C728C775E
+7C7FA0AD9E9F9D9D85A08AA1A19B90A4FFFFFCFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFEFF
+FCFFD9624331404B483E4B3F3D545043595A69747CA2A3A88BA9A58D8D869DA19C99A4AD
+BECCCBB3A69D8BA4A0A3BBDCF2F6FCF8DDBF9B7A6662492A559DA69DACBAC8D0D5D3CEC8
+C7CECFDCEBF0F3F8FBFFFFFBFFF0787BA09F928982807E7B79777778777573716F6C6864
+5E5C5C5E61646768696865605A575455585E636159524C4C50575C656E72747273787B79
+7B818B979EA5A39D94816B615B534B402A1B3584A2989B9D9A9D988D8177747980828684
+838381807D79736B60595B6675808A93999EB1BEBD9D75813D311F1A1A191A1520212F35
+384C4B62716E59607A6A6F8974738E7A7C7DB098B69B9D82BB8385A19B9D8D9AFFFFFFFE
+FEFDFFFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFCFBFEFFFFFBFFFDFEFE924953434E453F424F494E4F5B
+648B9899A1878CA8A4909DA3A49190A3B8C7C9B6AAABB2ADA7AAB2CFE4F7FAE1A77A738F
+91958F785D314793A9BCCADFEDF3ECDFD7CDCAD3E0EDF7F9FEFFFCFFFFFBDF8F93A2A693
+8C847C7873706E6D6E70727171716E6A645F5855535457595E5F6162605C59585B5C5E61
+6360564C4545484C545F6A6F70757673717071747D89898A8C867A6C59555455483C3420
+1D55939E9B919091908B8278747B83848B8A8B8C8B8A837B6F6358565B6574808A949EA8
+B4C4B5506677868729201F1F1717181C2521333E53736B4B78666B8A8F8E777A79977B85
+99968281839D9B839CB49E8EFFFFFEFFFCFFFFFBFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFC
+FFFFFFFCFFFDFDDB755352556457455F536B7E818F998687A094A086989C7A8598A9B2AC
+A29EA8B6BBB7C1CEE5F5FAD5926E8990989E9995826E4A2F3A94BECDE5F9FBFFF7E5DBD6
+DAE5F1FAFBFDFFFFFFFFF9EA8C70A2A59A9887807B7772706E6D6B6D6E6E6D6B66625B56
+514E4D4E4F5155555658575556585E616263635D51453C3C3E41495661687174726F6D6C
+68656D71757977706960544A4C5252473529245CA1ABA39B98989791877B777F898B908F
+8F90908F887E6F625759626E7C889198A2B1B7C6C4575A4E7783A2302B221E1117131C22
+27345E4F5C737F6E72887777668C9A94847C96A0979C8181677F7D90DDFFFFFCFFFFFFFB
+FFFFFDFDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFFFDFFFFFFFEFFFCFFFFFFFFFFFFFCDE7A4A4C4F4C535B
+7A838E937C8678D182958A64758B949F9D98A4BFD3DCE1E6EEF7EDAD8B90989B9696928E
+87836E583F2366AFC5DDF2FEFFF7EEE5DAD5DDE7EEFDFFFFFDFDFFF8DB5A819AA69E988A
+8883807F7C7975716E6C6A66615A524D46444446494C4E4F504E4D4D4C4D51565C5F6162
+605A4C3F343234373F4C5865727475736D625A59565C61615B5B5C544F49474F4741442F
+253F85C7CAC7BAB1ABA090827A7E868B909192908F908B83756A60626C77848D94A0A6B1
+BDC9C46267644A618696322A1E1911141E20293449587068815B79967864907C817B7E99
+9D977C857F7A7789FFFFFDFFFEFDFFFDFDFEFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFDFF
+FEFFFFFEFFFFFFFEFDFFFFFFFED78262576D75848590818BF18385634863798A9BA2A9BF
+E0F3F5F6EDE2C8837B96A49CA0918A868584786E5741282B82A6BDD7E9EFEFCEC3CCCCCA
+D3DAE9F5F5F7F7FCF4CA6C49839C9996908B8986848583807B76726E6861584E443D3D3D
+40454A4D4D4D4F4B484645474D545E616363615B4D3F35303133384350626D71716D675D
+514948494D525251514E4E49463C40483F3C2D232E75869394ADC0B19E8E8381878D9192
+928F8D90918D847A6F6E75818C93999EA8B5BFC6CE895A554B464931164321201C191B1C
+2038485E597A858A92917C94947F939A9A9A7F7E977E8390FDFFFFFEFFFEFEFFFFFFFFFF
+FDFFFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFEFDFFFC9F
+7E5D866CBDF2867B4640527486A4B0BBD9EFF3D6B97B644E779FA9A6A494837D7C787266
+573F251A2F567A93ACBECAD3D7CDBDB6B7B7BCC9D7E3E6E8E8EEEFD96759899795908D85
+86868683807F7A736D665B514539312F30373D41454A4D4D4D4B474443474E545E616565
+625B50453937393C3F44505D686B6B665D51443B373940494D4D4F53524E463D383C444A
+443F3B3B44535E5F5F6F95908786868A909599989393999D9B92847C7D838D97A1A4AAB7
+C2CACEC64A3E2C2938392A2520272C1B1E1C2E383B3B6E7C83778F9296AB7D957D7E9498
+7E9673A7FFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFBFDFFFFFAFFFCFFFFBCE8F287734148618397AEB1CDE5F8C3
+563028335F8CA6A5A9A092846E646C6552382622324D5965758AA5BAC7CEC8BFB4AEACAA
+AFBAC7D4D7CFDEE3ECDA865B7A8D948783827F7E7D7B7978736C655B4C3D302826293036
+3D3F4246494B4D4B4946464A51565B5E62635F5A52494341404243464D555C5E605D554B
+413A35353B464F53555755544F473E3C444D5D626B737D8A8E8A805F47537584898E949B
+A6A6A2A1A3A8ADAAA09389878E99A1A8AFB8C0C6CECC9A29241E38253A6E322E36312323
+21344E5E6D65878C787A927D787C9595B0837EDBFFFFFFFBFFFDFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFCFFFFFDFF
+FFFEFEF89769455B7991A8B7C8DBF2F39B5B52455E7D99A6A8A49E8D7659464F45331C27
+5161595E667B9AB5C7D1D6D5CBBFB0A69F9FA9B5C1C8CBD5CED9F2F4C355719297898078
+7673716F6C69635B493F30231C1E28323A4044454547494B4F5152545556585A5B5D6060
+5E5B56514E4C4A49484645464B4C4E4D48403834343337414B5156595E5E5D584E484C54
+66727F88929C9F9A91866E4C3A618A8A969DAAB0B4B4B2BABEBCB4A799908E929CA6ADB2
+B6BBC3C6A7374C6770612A5085261E1730242E37414F7A898A75919392767D8D9572BCFF
+FFFFFEFCFEFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFEFFFCFEFFFFFEFEFDFFFD985C4969839CB1C4D5EEF9D87F6665
+5B608599AAA59E91775E4130312D201D3A5C636067748BA4BCC9D5DEDCD5C5B9ADA5A2A7
+B4C0CDD4D8DFE5FDF7FEB95086A2988F8278726D6966615C534B3E362A24242E3D485254
+5654535253535356595C5F616160605E5E5D5B5A595552514E4A46413B38393A3C3E3D38
+35343635373C434952595E5E5F5E585352545F6D7D8890989B9A96907C644732428C919E
+A5AEB9B9B7BDC5C5C0B7AC9F96939DA7ADB0B5B7BABDB88C4F877A7D7D5B7269201C1234
+3E3C5563747F6E8C74785F7A6890DBFEFFFDFFFFFFFFFCFFFDFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFCFFFFFEFEFF
+FFFD9F59567388A1B1C5DFFAF9A1697D7E7F899DA4AF99846E543025231D180D25435B60
+697A8C9FB1C7D2D1D6D7CCC3BEB7B2B2B7C2D2DEE3E8F0F7FCFAFCE78A73AAADA59B877B
+736B635E58524B44413D3A3D4754626B6C6C6B696765636160605F61676E72736F686360
+5E5D5C5856534D42382E25202021262C2F30323436343232343B46505556585857565554
+5D68757E858B90938E8B81715D5036366C8F99A0ACAFB5B9C1C8CAC5BAACA2A0A3ADB5B9
+BDBEBBBBBAB4A399928783857C755720174B3C435A5E756A6E87797183DAFFFEFEFFFFFF
+FFFFFDFDFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFEFFFFFCFEFFFCFEFFBA54576A8A9CAAC2E4FDEE897992939699
+A0A4A48B745B3D2C1F1D22191C3E595A6472869AA9B5BDC8C7BFBCB8B3B7B6B7BAC2CDD9
+E7F1F4FCFDFEFFFFDD75859DB3AEACA09483786E655F5A565351504F5157606971757675
+72716F6D6A676663606168717575746A615D5B595754504C44382D241D1913161D252C31
+343737312B26272C363F44484B4B4B4C4F51606871787C7F82868784746A5D5341263465
+808D99A3B3B8C0C9CFCFC8BDB2AEAEB7C2C7C8C7C1BFC2BDBBAFAA978B797A7B5A3A1D1C
+5D5A657C767F6BA7FEFCFFFBFFFDFFFCFFFFFCFFFFFFFEFFFFFEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFCFFFEFFFF
+BB565A708E9AA9C0E3F8CF6E98A09BA19CA2998B765C442D1E1E1B1026586E6B646F7986
+9DA8AAB4B1ACA19A9B9C9EA6ACB6C2CFDCE4EAF1FCFCFFFEF8D89C6FA5B4B4B0A397968A
+7F766F6C686768696B6C6D7175797C7D7B7A787675726F6D6966626265696660584E4744
+434241403D3831281E150D0A0C121A22292F32332F29201A181D262C343B42434140454B
+5A6570787D7D7A7975756D62534542331E365E7E91A1B1BCC7CFD6DADBD4C7BFBFC4CFD1
+D0CEC6C0BDC6C4C2B5A492827168603DB1FCFF626E869CFDFFFCFCFFFFFDFFFEFFFEFFFF
+FFFEFFFFFFFCFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFDFFFEFFFFFCFFD46064798E9FAFCAE4F6D96D94A09DA096988B
+7B644C44311C172F588EA6947E706E6E7D8E99A09B938C857E7D818A959DA8B4BEC7D2D8
+DDE6EBF2F9FFDD6C7197A9ACA6A399978C83807974747272747577787879797B7C7D7777
+7674716E6B6A67645E5A5A574E4438302C2C2C2C2E2F2E2A25211B11080309101921292E
+31302F2A231C1B1F282F39404A4E4A464A525D6871767B7D7A77706564554D40362F2519
+437896A9B6C4CAD3DCE3E6E1D5CDCBCBD3D3D0CDC3BAB6BCC5C4A978958570625B443ECD
+FFFEFEFFFFFFF9FFFEFEFEFFFBFFFFFEFFFDFFFFFFFDFFFFFEFEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFDEF73
+708290ACB9D2E9FBCB71909C988B8B88816E5C4C473E2F1D50AECCC7A4856A66666D7B89
+8F8D8885807E7D8088909AA3AAB2BAC2C7CACBCED5DEE6EFCC836D879898918F8982817E
+7E7E7D7C7D7E7D7C7E7E7C78757473716E6C68696763625F5A51473E34281C120F070408
+090D14181B1C1B18140D0808121920282F343B3C3D3B312B2B2E3A414D555B5C5A575659
+60676D6F707272706A6156473A312A282D271A6C94A6B4BEC3CDD6DFE2E1DDCECBC7CED1
+CCC1B8A89DA6B0BDA6628585775B57594056E6FFFFFFFFFFFDFFFBFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFDFEFFFFF980758B92B0C4DCF6FAC176939F8D84867F847561
+544D4B42302C82C4C5B690726C65666F7C888D8E8C8B8A8C8E939AA0A6ACB4B9BCBEBFBE
+BEC1CBC9D6D9E7B55C658082847B797C788083838382828281807D7C79736E6A68676565
+6263615C58524F45382B1C1108010100000202050E161A1C1C1A16100E10171E252E363E
+46484A49403A393C474E555A5D5D5B5857595F676E6E6B6864615F55493A2E2722233138
+2538749AA7AAB8C0C2C5CCD5CDAE848399BBC8BAAFA2939094A3A4788278756C5D5A6555
+71F6FFFDFDFEFFFEFFFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFEFF9F7487
+94AFCBE9F6F7A8809B998586838A807160534C4A494229399EC1C0A78A7E766F74808E98
+9DA0A09E9D9D9DA0A6ACB2B8B8BDC1C2C3C1C0C1C0C7CDCFD4D6A5535F75787777757D7F
+8383838281807E7C7A76706A635F5F6064645F5D5B5650483E3122130700000001010307
+0D141A20232423211E1A181A1C242B363F4750535958514A46444B515758575755514F52
+5A646E706C665F5954493D2F231D191A263B39301E6D94A6B0B4B8BFBFC2C4B69B5D353F
+5D84A8A29389888E9B89807675746F5E606A718DFAFEFFFDFFFDFAFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFEFFFBB36F8791ACCFE2F3E27D83908777808A8D837766544B
+484C4E422652B3C8C9AB9386797B818E9BA3A7AAA9A5A4A2A1A5ABAFB3B9BFC6CBCFD0CC
+C8C8CACEC9D2D7D8CC9A505E75787777797D7F7F7E7C7A787572706B65605C5C60656869
+64605C564D423A2B1A0C020000010002020611191D20242422201F1B191A1C242C374048
+50525758544D4742454A4E4E4D4C4A464548525E6C7476746D675F5346382D241E1E2C3A
+42352529639DADB4BBC3C1BCBFBDBAB5854226437D918C8584838A8A7F7A797F826C635F
+6879AAFFFBFDFFFDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFD4707D8AA3
+C2DCE6E47172766D61698582846F5E4B4B4D53585137246AC5D7CBB4A28F898A8E98A3A9
+ABABA6A096929199A3A9B1BAC5CCD2D5D5D0CAC8CCC9CFD4D3DBDBC9965B50606C6F7372
+73726F6D6B6764615D5A5756585C646B6D706C6863584A3A27180A030100000000000000
+060D1116191A1A19171514171C252D3840464C4D4B4B48413A36363C4648494846434347
+4F5A69767F85837E776A5B4C40362E2C364653463F362A85B4C1C5CDD1CCCAC8C5C5C3A1
+5E375B7F7B777C8187918E8981828778615859677CCEFFFFFFFEFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFEE868185A1C5D8CED9AF49554C3B4E6C85857259534C5763
+6A6458412E5AACC6CABAA49B9594989EA4A6A19689807A787A86949FABB8C1C8CED0CEC7
+C0BEBFC3C3CBD3D6DBDCD2AA6A485E6B767D75716D6A67635E5B545354565B62696F7274
+706A63564534231305000002010000000001080E1316181C1C1A1511131920282F383E42
+46464543403A3533353D474B4E4C4A474649505A6773808A8E8C80736455483F38394456
+5E5C5A5038334A84B7D1D7D4D6D6D4D0CDCBC19B7F7564616A777F8D97978C8B8C877653
+53556A80EDF9FFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF9C858CA2BDD0
+CCCFD3992D201B26436E75726862676F797E7D73726B554E425B8FB2A5A398979795938F
+83736762656D7A8997A1A9B1BBBFC0BDB8B2AEAFB8BEC8CDD6E3E7ECEBEEDE824C648282
+837D76716C66605C5B5B5C5E63696D7071716B645B4B3A2A1C0E02000000000000010812
+1B232728292A28231D191A20252C31373A3C3F3E3A383836373A3F4952575854504C4948
+4E58646F7B868C8C887D716457504E535D687678746F6E5E483A3A58707FA5C8C9CAD6D0
+C4B69D7D675F66727B86959D9F90898284614D52607691FFFDFFFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFB99388A1C2D3D3D2D8D8AF4C738D5841617071717981878987
+8C87837F7A6E53334897998E8B878179716A615A5A5F6A798996A1A9B0B5B5B4AEA5A09F
+A4ABB8C5D3E3EEF3FAFBFCFEF6B97B637D93958D847D776F676360605F5E616669696969
+635E53412E1D1309020201010101030B1D2C343A41443E3B342E2B28282B2F34373A3B3B
+3E3D3E3C3F40444A4F595E63625B56504A464954626D78818787857D766A5E5859616E7B
+7F818178726D685E4E433A3C443C405086B2BFAF998D7B6A6D758188919D9F9E8C8D7E70
+5454626B7DB1FFFBFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFEFFFEFFE5A285A5BED4D6D2
+DADBDBCCC1D5D36C34647E8C939997918C928E8A8C867564461E58887A78736B60575356
+56576370818F9EA7ADB3B5B3B1ABA39E9DA0ABB8C4D4E0EEF7FBFBFFFFFDFFFAA84587A3
+A49C948B827A716A6766635F5E60615F5D5852483928170C00000200000000040F223345
+545D63615B534E4B4746474746464847434346474C4C4F565E656B6F747370685E544D4A
+4B525F6C757B7D7E7C766D645D595F6A7880868A867C746C6B66635B5A5D5F655F4E3532
+5799998C827A777B7F828A929EA09A938B7C6957616B7888DDFFFFFFFEFFFFFFFDFFFEFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFEFFFEFDFFFCFEAD7CA4C2D8D5D7DBDFE0DEEADBAD6F33538199A3A29D948D8A86
+88887F7358381D2F5D716A665A52494A4E57626E7E8C99A3ADB3B6B6B3AFAAA5A09FA3AC
+BAC9DBE6F1F9FBFFFFFFFFFCFDE090669CA9ABA0968E847A726E686764605F5E5C59544B
+433A29170A01000001000104081127384A5D6E7677736C676666656466676361605C5653
+535256575B636B7276797B79746C62574F4B49505B6670757675716C645B56545B667680
+878A84796F65616164626266686D6E63523019578488837E7C7F7E7A7C828A949B9D9584
+73645A6F748796F7FEFFFFFFFDFFFEFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFDFFF9FFC88299C3D7DADCE1E8
+E8EEEB99635654768EA5AAA698877C797A77776D5E4C32213E67746A6964574F4D59646F
+7C889299A9ADB1B4B4B2ADA9A1A09FA4AFBDCEDDE9F1FCFFFFFFFFFDFDFED76F7A96A7B0
+A99B8C8073665E5C5A5B5B5B5D5D5A564D3F322716080300010000000712202F424F5E70
+7F868783807E7E7F7F7F828386838079706964615C5D61676E73777A7D7B766E655A514B
+484E5761696F6F6C67645D5550505864727E868883796E62595A5E61666C707472685437
+225275767F7D7D7E786F6C707883909C9D907E6E64646D7F82B3FFFEFEFEFFFFFFFCFEFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFDFEFEFFFFE48D8FBDDADFE0ECEFE8E3C1606F898C9898A6AAA39681706C6E6965
+5E554E321A2B73847C706F68605B66727A7F8992979DA6A9ACB0AFACA9A6A4A6ABB4C2D1
+E0EDF7FDFEFCFFFBFFFFFBBE715186A2A9ABA292817264595452535455565858524B4333
+251808010201000208111D293745555B636D7880858684828284878B909296938E877D73
+6B66646464666A6E72747877746F695F544C4A4E555D656B6B6765635E5753535C67727D
+8486827A706359585B61687073746C654D342343677C7C7A78766F635D5F6B7886959E9B
+8A746C6C6F7A8082D4FFFFFFFFFBFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFDFEA691B7D3E5E4EFBC9279
+57648DA1A19D9FA4A09B907D6960625C574B4236291D336D938B827B75727375787F8283
+8A90979FA5A9AFB3B2B0AEAEB4BAC3CEDBE7F0F8FCFFFFFCFFFFFFEDB95A5D829CA6A6A3
+968875655852514F515253535350494133271B0F03000201010C1A2B3A455058605D5E63
+6A72777A78797A7F879096999A9791887F766E6A69686767676A6C6E717172716E665A50
+4B4E5258606566646464615D5A5B636E787F82817E776B5E5251555C6166696762524331
+2147728085807870665951505B6F8390989C927C70737A7C7C7F85F8FCFDFFFCFEFFFFFE
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFEFFFEFFFFC89AB0CFEAE5B9644D4A43688E97A19B9E9A97938B7E6D65625A463E2D
+2822264D7E9C9D8F867E7A808486838585858A9099A3AEB2B7B9B9BABEC3C9D1DBE5EFF6
+FAFEFFFFFFFFFFFFF8AC4F376F8E9F9EA699968978685E5C5D5D5C5D5C5A5650453D2F27
+1C120C0D11131827374958606567635B595B606567686D72777D8790959897948C827A74
+70706E6F6F6D6C6B6A696C6D6E6F6F695E544B4B4D51575C5F606163636160616972797D
+7B7872695D4F4747495053575B5849392D1B154776828E897D70675D534F586B7E88909A
+97867C7481848C836FAEFFFFFEFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEE7A5B6C8E2DB747C7F6F5C66
+7A8A9793918789807D756B615E4D362416417896A4B7B59E948B827E828C8F8A88868486
+8C97A6B3BCC0C3C4C5CAD1D8DBE3ECF3FAFDFEFFFFFDFFFEFDFFF380383673949DA79BA0
+9588786D656467696E6F6D6760564A403D362E2A2C30373E4B5B69767D7A746B61595858
+57595A5F69727B818991959895938B827C78777A818384817C77726E6C6C6C6C6C685E54
+4B49484C4F53585D606364636263686F7375716B62544639312E2E363C3F423A2A1A1317
+2D576F7D8C8C8276716C635E646D77818992968D818081898A89826CE3FFF9FFFFFEFEFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFEFFB2C1BDDDDE7792896C55505D76869288837974726D665D554D2B161C5C8B
+ACB9C1B9A79C8D82787B7E86918C87878B9199A6B5BFC7CCD1D2D4D8DEE1E7EFF5FAFEFF
+FFFFFFFEFEFFFFFDE86532488398A3A1A196908172685F5B5E61676A6B6A665F564F4945
+41444D5259636A777D82827C71655E5859565050555E65727E858D959BA1A2A19C94908C
+8C90959797928A827B76706F6C6A69675E554C4947494B4E545B626566646361646A6D6F
+6A63554334271E1919252E312E2013061A3C5564687B868A847B7A79726E686A707B7E82
+89887D797D838288837A86FBFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFFFEFFFEFDFFC9CEC4CEE38493855F40333250
+758B8C83786E6C67645651421E082B69899FB1BEBEAE9989776C6970797F828080878F98
+A3B0BDC7CCD2D8DADADCDFE0E6EDF3F7FBFCFBFDFFFFFDFEFCE69D556F8B9EA3A39D958E
+8273665B524F4E4A4F5559616467706D6C6C6B6D757A7D808383807E7D756B666363615C
+55545D676D7A8A949CA4ACB0B3AFAAA6A09C9C9FA2A6A5A0978D8478726D6966625E5A55
+4B4744454A5055595E6263605E5D5D5F65625D52443727170E08131E221710070D2E4652
+575A626B747A7E7E80817C7670686A6D7475777A6F6767737D82838378BEFFFDFCFFFDFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFF
+FEFFFFFFFBC4C9CBEA94857E592D2920274A7E878E83777269655A462D191B38618297AA
+B6B7AC96806D6361666E73777A7A7F858D97A4AFBAC3CCD1D6D7D6D6D8D9DEE2E6E9EAEB
+EFF6FDFFFEFFE47C668B9AA7A9A49E958B82796F665F5851483C2F34475B67707A858C8F
+91949795918F89857F7C7A777372716F6C6A696C737A858C969FA9B1B6B7B4B1ACA6A09C
+9A9AA1A4A4A39D958D8278726C655F59534C46423E3D40454B4F51565957524C4E555554
+50463B2F21140505181E180B10293B444A4D4F53595B63686F767E82807B7366605B6065
+696B60524B56697983858B80F8FEFFFDFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFEFFFFFFFFFDFFCCCBC9DBA470744F1E2025222A5E
+7F847A7671685C412E18122C55778FA1ADBAC0B7A28C7A6A61667077797B7D7D7F828892
+9DA5ADB4BEC3C7C8C7C6C6C7CACDD0D3D5D7E0ECF3FFFBCE8C678BA7AFAEA59C948B847C
+7A75716D69655D513B30415A75888E9DA6ACAFAFADA69D968F87817F7F80848888878789
+8B8D8F929C9FA6AEB4B7B6B3B0ACA7A29E9B99989B9D9D9F9C969188827B72675D54493F
+342F2A28282B2E3136363534302B2C323B3B362D27211A140B001B1F0A113354625E5856
+54575D5C5E6066707B82838076665A4F52595C594F40363F546D828C9188ADFFFAFFFDFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFFFFFF
+FFFDFFEEC5BDD0825C6D4E2D1E45352830626B6461605E50362518365D7991A7B6BCC2C5
+C4B69E8D83797C8187888785827E7F81848A92979DA4ABB0B5B8B8B7B6B7BBBEC1C2C4C7
+D0DBE7F6F8C6908295A9A8A59E978E8785818483817C7675736E685D667384949DAFB7B9
+B8B5B0A99E969087828281848B9196989B9D9C9B9B9CA0A6ADB1B4B4AFABA8A29A95928F
+8E8F939495989794928C847D7366594C3D2F261E161212151A1C1B191616151312151B20
+211F1E1A120F04071D17071F4E717676716F6D6D6F6C6C6D717A81858480726053474A51
+534E45383034435A778E929485ECFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFC6B5C96B4669512F1F2534221C2737
+2E2F363931212441768096B3C5CCD1D6D1C9C2B49F949290969A9A96918A807876797C80
+868B9199A0A6AAADAFADABADB1B7BBBCBFC5CED5E4EDF8FEC66A8594989895928C878888
+9092928C8584858387898D949CA6B2BDC0BDB8B2ACA49A90857E7D80838992999FA1A3A3
+A19F9E9E9FA4A8A8A7A6A19B938A817D7B797C808285888D8D8B8A857D756B5E4F3F2E1F
+0D060100000204030001000000000000060D111214120C0A020E1C160D30657B89908D89
+8A86817C7F81878D8E8B837B6A564940444C5150493E3638404E698392A0949BFFFCFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+FFFFE8B7C38F43645D361B1D22211D37464E564D342C3441638597A9C1D9E8ECE7DDD3C6
+BFB5A8A2A3A5A4A8A69C928679716C72777D858C949BA3A6A6A6A8A5A3A6A9B1B6B9C0CA
+D3D9E4EDF5F39C446680878C8E8E8D8C8F90969796928F8F9292929A9AA3B0B9C0BCBFB9
+B3ADA59B8D827E7A7A7E828891989D9E9F9E9D99948F9193949393918A8177706A686869
+6E737B7F8387878480787166594C3C2D1D11030000000000000001010001080E11121418
+19181714100E08152017022A6F8794A1A09996918E8D8E8F9598948D8276614D433F454D
+5453534A454A51576271909BA176E3FFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFFFEFFFFFBC5B6CD3F56522F1D1C1A253F52757073
+7A8790817F898B9CB1C8DDE9EFEDE2D1C3B9B5AFA7A4A2A4A8A9A19283776D686B737C84
+8F989EA2A4A49E9A989593979DA6AFB6BEC8D2DAE3EAF4F1D19A4C536A7982878B8D9092
+9694918E8D9095999EAAACB3BABCBFBAB6AFA9A59B8E81777373747981888F9599999997
+938B8178706F71767B7A75706D6D6C6B6C7073767E7F7F7F7C756C5F4F413124180D0500
+02000407090F191D17120C0C121616161C20282C2D2C29242825140915467385919DA09A
+938D8F9190909496928D82745E4A44434C555A565854525A63646366708FA1477DFFFFFD
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFF
+FBEEB2D5902B4C28272C1D27596E6F6A6A78889399948F909AA5B7C7D4DBD9CFC2B3ABA6
+A7A4A1A09C9C9D9B8E7D706865666A747E87949DA1A19A978E85827E7C818D98A5B1BCC6
+D1DBE0E9E7EFECCE8E4D3B5568737B80858883827F7E7F848C939DA8AEB4B8B5B3B0ABA3
+9E998F8277707376777B83898D9292918E877F7569605B57575F666768696E75797B7F85
+89888986807A736A5C4A3828180D05020203090B13161213191B1B1A181919161418191C
+242B2C2E2D2A271E150E1D577E878C9092928C87878386888D92928F847366524C4C5661
+655F5D5D5C626B6E6B6B69748F5627D8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFFFCFFFFFFFEBAC9BC3434223E8362536B76767A7B8292
+999996949598A0AAB5BCBCB7A8A199989B9D9E9E9B948F8D8C867D6F646365656D747C86
+929B9A9390877C75706F767E8A94A3B2BDC6CFD6DCE0DDDFDCDCC992542B374A56626462
+5E5A5859616A73808C979BA7A6A29E9D99948F8B88817A7A787C7C8389898C8E8A84786C
+6153453F4144474C5157606974818890989E9F9D9790897F71634C3420100200050B1218
+1B100F130E090C0D1929333A434850576165654A231A23221B1914173A6C838381818587
+84817F7B7F82848C908F897B6D5F54555F696C6864605F697276736967637C7D1F74FFFF
+FEFFFFFFFCFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFBFE
+E5ADC8492B283C8DAEA19689858A8E939BA0A1A19E9C9EA1A5AAADABA39B919192979B9E
+9D988F86807D7B777067616368696C7179828C918D867D746C696B707A838E98A3ADB7C3
+CDD1D4D3CDCCC8CBD1C4AC8763453D3D4146413E3F42464B566773828E93939A94918E8D
+8C8C8D8B8786848684888D8B8986817767574B4039373D4042444A546472818D959CA3A8
+A9A79F988F826F5A4027180D0810191C1A18100F161E2020222323313C4855616E76818A
+91867671706B69656466728182807C7A7D8081817F7C7C7E81888F92928A7F70625E646F
+73716C66626A7479766B5E6466736535D9FEFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFEFFFEA8B98027253F769EA8AB9E9094A09EA0AAAE
+AEB2B2B2B4B3AEAAA49C918D8B9199A2A5A39D9082797471716F6B6661636768696C737B
+82847F7975706C6F767F8B949AA4ADB2B7BDC0BDBEBCB7B9B8B5BABFC6C2BAB79E60403E
+3B3D423C2E292F3A50656F81888C938C8D8F9093959796928C8A84848785817C776A5A4D
+433F40434446474952617484949FA7ACB0B0ADA89F968B7C664F37241C1A1B1D190F0808
+1B242F36352E272227323D4A5866757B828B8D8B8C8D8A86898A919492897D797473767C
+8286847F7E81858D959DA3A0988A786D6C757B7B7770696D767D796B5B535C65686B89FF
+FEFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFDFFFFE0
+97BB8B613C6F83A8B0A49999A0A9AEB1B7BDC3C7C8C5C3BDB0A599908A8C9097A1A9ACA1
+95867973706E7373726E6966656365686E777D7E7B7877787B838D96A0A7ACB1B3B1B0B0
+ADA9A39F9B9CA5AEB3BABBC6C6C6C6BBB9B1B0B1B2A48E785C483D4559687481848C8E90
+929495969793918C837D7C7A7671695D544D47484F545355575D69798A96A1AAAFB2B2AF
+AAA39D90806D5742302325231D1207071C33313739352F272121293441515E6A777B8285
+817D808281817C828D8F8C847A7776757880898F8E8A87898E969EA8B1B2AFA3907D7578
+7E81807A7171777C7768544D535E63706AD8FEFDFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFEAEAAA5A5997C7991A0AAA3929BA3ADBAC2C7CD
+D0D3D0CAC5BBACA1979192979EA5AEB4B2A1928478726F71727475716C6764626368707B
+82848483888C939BA2A8AEB2B2B1AEAAA39C96928B8C91959EAAB0B4BFBFC2C4C6BFBEBC
+B7B6B9B7B9BDB5AA9E76454150576E78888E8F918F8F918D8A83786E67615B57504A4849
+4B5460686B6F757D8A97A3ABB1B6B6B4B0AAA49B907C634F40342B2523140405121D2327
+2B2C27211D1B1F272B374757626C76797B7A7875726F6B68676B73767675727273757981
+8C95979695959A9FA6B1BABFBDB5A38D7E7A7E8486837B76757670614B46526162676794
+FFFEFFFFFDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFDFFEB9A
+A49BA99771748CA099898590A2B3BEC8D1D6D5D5D0C9C1B5A69E9898A1AAB3BAC3C3B8A3
+9484736A6467676A6B6965626062666D79848B8D8D8D92969CA1A5A8AAABAAA59F998F84
+7C7B7C7F89929CA9B5BBC1C8CBC1C0B9B3B3ACABAFB3B8C2CAD2D9D2B9804D35476D808E
+92918D8887827C7064564C46434343424449505D6C767F868D949DA6AEB4B3B5B3AFA89E
+958974614C3E352C221C0B0D0E1015151213161717181A1B222C313D495761666D6F706A
+67655E58534D504F565C5E5E5E63676D7581909B9E9E9C9A9C9EA4AFB9BEBCB7A893827A
+7D848A8A8279726F695B4845525966626852E7FFFDFFFFFFFDFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFDFCFFBCA39FAAAB806A718C8D7C6E717E96AFC4D3D9D7
+D4CFC7C1B9AA9C96949BAAB4BDC1C4BDAB927F6C5D5652555C606261605F61666D758088
+8C8E8F909195989B9E9F9D9B978D837A726D6F74767F8A98A6B1BCC2CACFCBC0C1BAB1AB
+AFACAFB7C3CDD6E1E6EFF5F4C76F484C758F97928C827A70645446392F2D2E33373E464F
+5D6C7B858F969CA1A6AAACAFACAAA39B8E7F7263544A3B2E22160D090E1C2521190F090A
+1113161B212730393F49515C64656768645C56534E49474647474D53545352575F666F7C
+8D999C9C9590909095A0A7ACACA79A8B7E7679828A8C857B716B665B4C4B50656E6B6954
+96FEFDFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFF89AAE
+AABCA168606F7D6F66606582A0B9D0DBD6CFC9C0B6B2ADA197959CA3B3B8BEBEBBAD9478
+6350474B4B4F585D61626364686E727A8286888A8C8E8E8F8F8F8E8C857E787169646264
+6C747A89929CA8B3BFC6CBCBCAC6BFB3B4AEAFB4BBC0CAD6E0EDF8FDFFFDF3B7734C6E91
+9C958D8073645443372C2423252B35414E5B6B7A868F94999C9FA3A4A19F9C978D85796E
+64574C412D180B0A1623303C3D2E1E120F1316191F252B323A3F474F52595F5B5756504B
+464443404145464A5153535351545B5F626C7C8A8E8F8D8686868A93989C9A948A7F7772
+767F8A8B857B716B675E58515C657276675B44F6FFFEFDFEFFFEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFFFEBFADB9C6BF88595E76776E62677E9DBBCCD7D5C9C2
+B5B0AFAFA89D989AA1A9B3B7B3AB9D8E715B4A47484A515862676A6B6C6C6E737677797C
+7E7E7E7F807E7C797574716C69625D5D626B767F8C959EA5AEB6BDC4C8C8C6C0B8AEABAE
+B1B7BDC4D1E1EEF7FEFFFEFDED8F563E7695A09F968370604F3D362B2429363D47515F6C
+77848C8E919395959594918F8E8781786F675C4E43301D041639465151504D3C281D191B
+1B20252A2F363D41484A4C4D4B463F3A3B3C3A3A3D4043484D535B5E5D5B58575757575D
+69767E807F7F7F7F82878C8F8D837975737276808A8A8479716F6C69635B5E6A73777062
+49A9FFFFFDFEFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA6B7C2
+C7A971586A7F7B7472809DB7CDD4D4C8B6ADAAAEB3B2ACA5A09EA6AAAEABA0917D6C574A
+44484F5660687072727374706C6C6B6C6E7072727374716F6E6C6A6B6A67605F6167717B
+868E969EA4A9B0B6BBC0C1BFBAB4ADA7A8ADB5BDC6D0DEECF7FDFFFFFFFFE3714E588296
+99979385746356494239383941464D54606B76818687878A8D8D8D8D8D8C8C86817A7169
+5E50412D1C113165706E655D544431231B1A191C21252B33393D41413F3C37312B272A2D
+3033383C414550575F6363615E5B5855565B636B727675787B7A7B80888E8A8178757575
+7B858E8E877C767778766B62626D75756F665860FAFFFFFFFEFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEFFE0AABEC1AD865D607E8D87858C9FB6C9D4D1C7B8ABA9
+B1B9C0C0BAB2ACA9ABA8A2968678695C504D515B636B757C7B7A7876756F68666666686A
+6C6C6D6E6A696868696C6E6E6E7279848E969EA4AAAFB3B5B8BBBDC0C0BFBCB8B4B0B2B7
+BFC9D4E0EDF8FDFFFFFFFDFDDB6046597687867F776D655D504B453F3D363839444B5560
+6B7377798084898C9093959596918E887E766A5E4C39261D36727B6D685B50402D1D1311
+1215191D242B313435332F29231E1B1A21272D343B41474D555C63666766605B56535358
+5D61686E72777D7F81868F9592897F7C7E7F858F95968F847E8183817669646C74716B68
+6849D1FFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFB9B7B1A5
+8E716274919994969FB1C3CED0C7BAB1B1B9C6CBD2D4CBBEB3B0A6A29B8F80746B636164
+6C74797E83857E7B76716B66656768686B6E6F6F6F6F6E6D6D6E71767C7F8287919BA3AA
+B0B4BCBFC1C2C3C4C5C6C4C4C2C2C1BFC0C5CFD9E5EFF8FDFEFEFFFFFEFFD85533355D66
+635D57504A433F3D3A35332F333130374351606C757C80858D949CA2A2A0A19D9A948A81
+776C594832242E6B79665C51453420110A0A0B0E12181F272D2F2E2B27221D1A1B1E232B
+3339424A52586165696A6A676058524F4F52575B61676A6F777D838A8E9191887F7C7E81
+8891989C998F8A8C8D8A80706468716F6967665B8DFFFFFFFFFEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFF3ADB19B86806D788EA19E9799A1B1BDC2C1BAB4B3BBC7
+D0D6DBD9CEBEB3AFA6A29B8F8078757372767E83858685827A736B656161676E7374777A
+7B7A78787777787B80878F949CA1A8B0B6BABFC3C6C7C8CACBCBCACAC8C7C4C3C5C6C9CF
+DBE6F1F8FDFFFEFEFFFCFFFFD0543028303737332D2A2B2A2A242526252528201D212736
+4B6173818E96A0A8AEB2B0ADA6A09B948980787062503623235B6B564E44392613080304
+070B111A242D323434322E2A2625292D323A434A51596065686A6967646058504D4B4A4C
+50565B5D61656C737A7F8080817A72717479828C949A9B96949798968A79666570726B67
+695C5CF2FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECFA6A08881
+86848F9EA2958C8D97A4ABABA9A8ADB6C1CCD1D9D9CDC0BAB5B0ACA59A8D7F797A7C7C7F
+85898885807B6D645D5C5F67727A81838588878584838285878C939BA3AAB0B3B8BCC0C3
+C6C8CBCACACBCAC9C8C6C8C6C2C3C6C8CCD2DDE7F1F7FCFEFEFFFFFFFFFFD67D5236303F
+525D5F5F62654F362C27272828212725222C466580939CA6B0B5B6B5B2AEA9A0978C7F77
+716B5D4C341E1A4759473D3329190A030102070D16222E373C3D383633312F2F353A4049
+52595F6466686765605C57534C474647474950575C5E64686C6F72747574716C66666A70
+7A858E949796979B9E9D92816D6770746F6A6D6053BCFFFDFEFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFAF9C89798A909697988B7B777C869095959599A4B2C0C9
+CDD1CCC0B9BCBDBAB0A6998B7E78797B8184898A857F7871625B59606A7682898E8F9090
+8E8C8B8C8D91969DA5ABB2BABDBFC2C5C8C9C9C8C7C4C4C5C3C1C1C0BFBEBDC0C5C8CBCF
+D9E2EBF2F9FDFEFEFFFFFFFDF5DEC7B2ACAEB8C5CED7DDDEBF87593A2F2C2C322B38485C
+778D9BA4ABB2B8B8B6B2ABA49C9185786B65635F5546301A16364B3E322820150A060509
+0D15202D3942464642403F3F3E40464D525B63676C6D6B6A645E56504B4642414042464D
+545C62666B6F7274737372716C676262676E78838E939697989C9FA19A8B787073767471
+6B6C5D85FEFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE9294747C9A
+A49A93886E606670787D7A7F848D9BACBAC3C5C3BEBBBEC3C6C4B9AA968478757A7E8184
+888880786F68625D606C77838D929A9A999895929294979DA3ABB2B7BDC4C8C9CACBCAC7
+C2BEBCB9B9BBBABABCBCBAB9B8BCC3C8CCD1D8DFE7EFF8FEFEFEFFFFFFFEFBF5E4E0D9D9
+E2ECF2F8FBFCDA955B352E30385065737F88949EA5ACB4B6B4B1AEA89C9083776A5E5351
+535245331F0D112D43372E241E160C06080F161E2A37434A4C4B4745444444464C535C63
+696C6E6D69665F574D46403B393A3C3E4650575D646B70737779797875726E6B67676C73
+7E8A9296999B9C9FA3A5A193837B7878787879726465EBFFFEFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFEFEFFFFFFFFFFC090827890A7A5957F6954566570777875757A8799A7B2BC
+C1BFC0C8D0D3D3CCBAA6907A6F6E71797E838583827C736D6A6B6F7A87929A9FA4A2A09D
+9A989B9FA4A9B0B5BAC0C6C9CBCDCCC8C2BCB5AFAFB0B2B5B8B9BABAB9BBC0C6CBCED2D6
+DBE2E9F0F7FCFFFFFFFFFFFEFAF3EDEBE8F1F7FDFFFDFFEFA85137313644586F7B888C95
+9BA6ACAFB2B2AFA89D93826D605A534846413C34251E0D0B1D313C3A30271F1915121419
+1E27343F484E50504C484546484A4D515860676A6C6C665F5953493F3A3A3B3D3F454D55
+5B61686D73787D7D7F81807D7B7772737A828C969F9FA7A2A6A4AAABA8998D7D7F7F7B83
+847B7566B3FFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFDFFFFA88C8286A0AF
+A3846E5C535E6E777A7C797B7F8B9AA7B5C0C2C8CDD6DDDFD7C8B09477625A5F6A787E85
+898886817B7876787F8A959EA3A6A7A5A3A2A1A2A6AAAFB4BAC0C4C9CDCFCECDC9C3BBB4
+ADA9ABAFB3B7BABCBFC1C4C7CDD4D8DCDFE3E7EBF1F5F9FDFEFEFEFCFAF8F6F2F0F0F8F7
+FCFFFFFFF1BB7B3B2F2E3A485669798287969EA6ABB0B1AEA8A0948574665F514F493B2D
+281F210B021F42483E34302A24211D1B1D21292F3841494E50504C48454546484C4F575D
+63666867625C544E453E3A3B3D3F464B52585D62696D72777D8185888A898A8784858A91
+9AA3AAB2B2B6B0B5B7B7B4A48C87827D828990897C6E83FEFFFDFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFEFFFFFEFFFCFFED9C90838EA3A9957060535A6B7C84828383868A919BA7B7C4
+D0DBE4E9EAE5D1B596775D52535E6E7D83898D8B898682807F828A939CA2A6A8ABA9A8A8
+AAAEB3B6BABFC5CACED2D4D3D2CEC8C0B7B0ACABADB3BBC0C3C7CCD0D5D8DEE4E8EAEDF0
+F3F6F8FAFCFDFEFDFFFCFAF8F7F6F8F9FDFBFFFFFEFFEEB5754536282931394661718091
+999EA2A4A5A1988D8275665C504F42322E2218140E192C4450483D372E2B292825232326
+2D31373E454C4F504F4B474647494C50565C61646565615C56514A444244474A4E52575B
+5F63696D71747A7F858B909394949293969AA1AAB0B8B9C0C2C4BDC9C1B196808186868D
+969B887968ECFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFFFDFFCC978E7F8C9997
+7F60514B5C6F7D857F8080868D949EACBFCFDAE8F1F3EEDFC19F7C65565862717F878E8F
+908F8E8C8986898C92999FA3A7AAADADADAFB3B8BEC1C5C8CCD0D4D6D7D6D4CFC8C2BAB5
+B3B4B7BEC7CED3D8DEE3E8ECF0F4F6F7F8FAFAFBFCFCFDFEFEFEFFFEFDFDFDFDFEFFFEFF
+FFFFFFFFFCE4B7857674705C443B3A4D5F72838F94908C8B827265594C463C3931262119
+1815334E615C4C3F362E2C2A2B2C2C2928282D31363C42494F5354504D4C4C4E5153595F
+6466686966625C57514C4A4B4F5255585D6063676B6D7071747A7F858D93949595959699
+9FA8B0BBC5CACDCCD3CDCBBBA4888A8B8995A0A4907E63B4FBFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFEFDFFFEFFFFB096847983897E5E4B41445A6A757C77777A848E96A2B2C5D4
+E1EAF0EEDFC5A2816E64606979889192959594949495949394969A9FA3A5A9ACAFB0B3B7
+BCC3C8CACECFD0D2D4D7D8D7D4D1CDC9C4C0C0C2C8CDD4DCE2E8EDF1F5F7FAFBFBFCFDFD
+FCFCFCFDFEFEFFFFFFFFFFFFFFFFFFFFFFFFFEFCFFFAF6EED9C3BBB5B8BEB09778604946
+535E696B63584C40393022201D1D191B1E1730586B6962534031251F2525282D302F2D2C
+32363C41454A515759575453535456585E63686C6F706E6B69645D595655575A5D606467
+6A6C6E70717072767A7E84898D8F8F9092959CA6ADB9C2D0D2D5CA8D747C7C9387929AA0
+A6A49382687FFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFF3A39A7C73777664
+473C38445A6973787577828C97A0AAB7C4CED5D8D9D4C1A48770676B717F909C9E999696
+9697989A9D9D9C9C9EA0A3A5A7AAAFB3B8BEC3C9CDCED0CFCECDCFD3D6D7D6D6D7D7D6D5
+D7D8DCDFE4EAF0F5F8FAF9FBFCFCFCFDFDFDFEFDFDFEFFFFFFFFFFFFFFFFFFFFFFFFFEFF
+FFFEFCEFE2D2C4B4B4B8B6BBC3C4C8C6AA764D3E403C382A24211C171A2C353236363B59
+7A6F6B58483B2B1B13161A1D242D33353333383D43474A4E565D615F5E5C5B5B5C5C6267
+6C7073757574716C65605C595B5D6265696D6F7172727272747778797B7D80818283878D
+98A3B1B8C0CED5CC7D4D524843578B96A0A7ACAD947D6B64F0FEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFD49D917472726C58483F3C4C606E767779818D97A2ABB4BCC1C4
+C3BFB8B09D85766C6F7D8897A6A8A29A939293979A9FA2A2A29F9D9D9EA0A3A6ABB1B9BF
+C3C6C8C8C7C6C4C3C6CDD4D8DBDFE4E7E9ECEEEFF0F1F4F7FAFCFEFFFEFFFFFFFFFFFFFE
+FFFEFEFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFF9F2E2D4C3B9B4B3BABEC5CDCFD3D1D2C6
+A5765F55383742433A3A4E6C7E848A8A82787565524236291C1410121B222D383E404141
+45484D51545860676C6B69676564636365696E727578797879736D68625F606366686D72
+757779797A7A7A7B7A797777757574767C85929FACB7C5CED6B15165746E5A4B3E82A6B2
+B3A9957D7364C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFCB998836F78797057
+4F44485968767D7B818D949FA9B1B9BCBBB8AFA79D948476757682929DA9B2AB9F96908D
+8E959DA4A7A5A29C969495989DA0A7AEB7BCBEC0C0BFBFBEBDBDC1CAD4DAE1E7EDF1F4F8
+F9F9FAFBFCFDFDFEFFFFFFFFFFFFFFFFFEFDFEFDFDFFFFFFFEFFFEFFFFFEFEFFFFFEFDF7
+ECE1DCCEC2BAB5BABAC1C7CBCECFCFCCCCC8C4B8B5AD918A8F8C86838288888C89858072
+644F41352C211715161B26303E494E4F505256575A5D60646B717675726F6C6A6968686B
+6F7275787A7A79736D68635F6063696C71777C7F8182848381807E7C7A7872716F717882
+919EADBBC8D4D6924F6F7A7B6B593D427CAF917383817B6AA6FDFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFFFFFE9A7D757B807E74675C565A6A7A8687878F939AA2AAB0B3B3ADA6
+99948C847C787E8895A1ACB3B4A9988F8A8A8C949FA7A6A39B97928F8F9097A1A6AEB7BB
+BBBBBAB8B7B6B6BAC0C9D3DBE2E9F1F7FAFCFEFEFEFFFEFEFFFFFFFFFFFFFEFEFFFFFFFF
+FFFFFFFFFFFFFFFFFFFEFEFFFFFCF3E9DFD7CFC5BFBAB4B3B2B7BBBDC0C4C6C6C7C4C1BF
+BFBCB6B2ADA6A09C9A98989A9A958E857A6E5D4D3F352E2623252A333D4751575C606061
+6264676A6E7276797B7C7A76716D6A686968696D73767674706C655F5D5B5D61646D7278
+81838587888784807F7F7C79747372777F8794A2B2C1CFD6CC675B797E7F75685C47393F
+3E25387A887A85FFFFFFFFFEFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFDE4816F7D8287868074
+686268798992928F9295989EA4A5A49F968E86837F7B787B89989DA8B1B2AD9C8A828485
+89939FA6A49F9895908E8F929AA5B1B6BCBDBCBBB9B7B6B5B7BBC2CCD7DFE8EEF4F8FAFC
+FDFDFDFCFCFDFEFFFFFFFDFEFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFEF4E6D4C5BCB4
+AEA8A5A5A4A7AAAFB3B5B7BBBDBDBAB8B6B3B2B0B0B0AEADADAFAFAEACABA79F94887B6E
+5D4E403A363334383D444D565D6165676768686A6D7073777A7C7F807E7A75706B686665
+65676A6C6B6964615B575657595D646E747B8386888B8987837F7D7D7B797C7C7D81878E
+99A6B5C8D6D8BB56687B7E7D756D6554494D4D4B2C47947F86DEFEFFFFFEFFFEFFFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFDBF6F738F928F8981766E6C78889497928A888A8E94979795918981
+7D7876777A818C959DA5A69F928073717478808C99A09D9791908D8E9297A1ACB7BCC0C1
+C1C0BEBDBDBEC1C7CFD9E3EAF1F5F8FAFBFDFDFDFDFCFDFFFFFFFEFEFFFFFFFEFEFFFFFF
+FFFFFFFFFFFFFFFFFEFFFCEFD9C2AFA39C95918B898C8F959FA4AAADAEB0B1B1AEAEADAD
+AEB1B5B7B7BBC0C4C4C2BDB8B0A392827264554944403F40444A4E535B61666768696A6B
+696A6E7276797B7D7F7F7E7B756F67615A585758595A59585756535255575B5F6671777F
+86888B8D8C87807B787676777B7E82878D929BA6B4C4CFDB8E51777D817E777069605C61
+6B634D3C3E3854A9FEFFFFFEFFFCFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFF9D6F8AA09E93857970
+6F758692968F847B797E82878B8C8D8D88827D7876787A7E82848F8E8779695A55595E66
+72818D94928E8C8D8E91969CA7B2BAC0C6C8C9C8C7C7CBCFD4DBE3EBF2F7F9FBFCFCFDFE
+FDFDFDFBFCFDFEFEFFFFFEFEFFFFFFFFFEFEFFFFFFFFFFFFFFFFFFFCF1DBBFA899908783
+817E7F858B929AA0A5A6A5A4A3A3A2A3A5A9B0B7BCBFC9CFD4D4D3CFC6BEB09F89766659
+5048474445494F555A5E63686A696968676867686B6F7377797A7C7D7D7A756D625A504C
+494A4D4F4F4F505152545A5F62666C757B8186878A8B898178726E6C6F74777D83898E92
+99A2ACBFCECD8C5E7D8384807A736962646B6C685E4F40443479FFFEFFFEFFFDFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFEFFFEFEFE81779AA69E8E7D747177818A8D88796C666B747B81878A8D8E8A84
+7F7D7C7976767A7B756F6252423839404C57677681888988898C90959BA1AAB4BFC6CCCE
+CFCFD0D3DADFE6EDF3F7FAFCFEFFFEFEFEFFFEFDFFFEFFFFFFFEFFFEFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFF9EBD5BCA5938883818384888F959CA1A3A4A19D9A98979A9CA1A8
+B1BAC1C4CED5DAD9D6D0C3B7A18D7562544B474545464A525A6066686C6F6F6C6A686566
+68696B6F74787A7C7C7D7C7A756C5F564B454041454A4C4D5054575C62676A6D727A7E83
+8686888882796E6663636971787F868A8E91969DAAB0B6C187637E85847F7A7368616266
+67605D5452534D5BFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFE373809DA19382767378
+81898B837665595B66727C838B9094948D857E7976736D6B6A665A4E3F3228252D374451
+63717A808587858A91979EA5AEB7C2CACED1D5D8DCE3E7ECF3F8FBFDFDFDFFFFFFFFFFFF
+FFFEFEFEFFFFFEFFFFFDFEFDFDFDFEFEFFFFFFFFFFFFFFFFFFFFFFFDF4E1C5AC9B909391
+93969AA1A4A9A9A7A39F9A9897979C9FA4A9AFB6BEC4C4CACFCECAC0AF9F8C786252463F
+4043454A515B63686D6E717372706D6966666A6B6F747A7E8081807F7E7B756C5F544841
+3C3D43494D51585E63686E7273757A7F8286888788867F7569615D5F666D767E84888C8F
+93989CA8B3B6B9617683837B736C625D5D5E6159524B55525551DDFDFFFFFFFFFDFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFB870849291847B797B8086877E6C5E504C5766727F858C929492887E
+786F6A66615E55493F3327201C1F2C384350616F777D8285838A91989FA6AFB8C1C8CED4
+DDE4EAF2F3F7FBFDFEFFFFFEFFFFFFFFFFFFFFFEFFFFFFFFFDFDF8ECD7D4D6E1F1FDFFFF
+FFFFFFFFFFFFFFFFFEFFFEEDD1BAABA3A19E9EA0A5AAABAEA9A5A19D9B9A9A9A9B9EA1A4
+A7AAAFB3B2B4B3AFA99E8C7C6A59483E37353A404B535A64696B717175777675736F6D6E
+7174787E82838483827F7B767067594F433E3B3D444B545A62696F747A7D7F808386878B
+8B8988847E756B6361636A70777E83868A8F93979CA6AEBCC36A6D7F7D756B625B57585A
+5C524B4B4B4C4C51ACFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFFFF976F80807E787C848788
+8781715B4E474A5B6E7A8186898B8B85796D6059544F48443C302C241D1B1B1F2A364451
+616E767C8083868D93989DA3ACB5BFC7CDD7E4ECF1F9FAFDFEFEFEFFFFFFFEFFFFFFFFFF
+FFFEFFFFFCEFD8BA957359545B7CAEDCF7FFFFFFFFFFFFFFFFFFFFFFFDF1DDC9B9AFA8A2
+A09FA2A6A5A6A5A19D9B9A99989799999B9D9FA1A2A29D9A938C857A6A5B504237343335
+3D46515A61696C6D74757A7C7C7C7B7977797C7F8387888683807B767069635A4D423936
+363A414A5660676F767B81848688898B8C8E8E8B88827C766D68686C72777F8488898D91
+94979DAAB1B7C3725C78756F675F57525356585446434847484B84FFFEFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFF6F6E6D7476778B969490847A63554B4C58666F77797A797771685E56
+4D4B453F3A31261F1B1B18181D27343F4A58666F777D82868C92989DA2A8AFB7BEC5CFDC
+E9F3F8FCFDFFFFFFFFFFFEFFFFFEFFFFFFFCFCD9B7B199858384838182807A6D738099B5
+D4F2FAFDFEFFFFFEFFFDFCF6E4D2C2B4A8A29D9D9E9E9FA2A2A3A2A0A0A1A1A0A2A2A4A4
+A19F9C97928A80777066594F464341414348525B656C7174797D808485888B8B8A8A8A89
+8B8C8C8B8A86807B736E665F574D423A3434363D46505C656B72797E83878A8C8E909190
+8F8C8986807B7674767B81858A8E919395989B9DA4AFB2C4CA8C4F6E6E67635E554D4B53
+55504340464947425DFEFFFFFEFEFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFDF35B66666C6C7A939E9A92
+837362564F505963686C6A67635D564F48433F3E3B3530281F1C1A1D1F2128323E495761
+6B737B838A8F959CA1A5AAAFB6BDC6CED8E4F1F8FCFEFFFFFEFDFEFEFEFFFFFFFDF7DEC0
+95604E687F93A8B2B5B4ACA69E908A7B6C677C889FBEDDFAFFFFFFFEFDF8ECDDCBBAADA6
+A09FA0A1A4A8A9ABAEAFB1B1B1AFB1AFADA8A19B958E898279716A635C5755575A5F656B
+72777D828586898C8E9194969998979798999897938E89847D776E675F58524A433E3D3F
+43495159626970767D82868A8E9092939493918F8B888683818284888C8F95979A9C9DA0
+A3A6ADB5C1C0CDA3476A69625F5C544B484E525046424648433B45EFFFFDFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFEFFD25A6067696E869DA59D907E6A5B535254585E61615D595149413B3736
+363734302B2623252C33393F464F59626C72787D858C93999EA4AAAEB3B9C0C7CED5DFEB
+F5FBFDFFFFFFFEFEFFFFFDFDFEFEFBF0B174525A7E9BB3C1CACAC7C4C3B8AFA3A09A938C
+7E6F6B7197DFFDFEFEFBFBF8F1E7D7C5B4ADA6A4A4A5A8ADB1B5BBBFC2C4C2C1BDB9B4AD
+A59E97908C867F7974717274767B82888D919292959797969697989A9EA1A3A2A3A4A7A9
+A3A09A928B8279736C655D58544E4A4A4F53595E656B7174797D8185878A8D8E93959695
+9493908E8D8D8E919496989A9D9D9EA0A1A3A8ADB7BBCBD3D1BF4260655B585751484349
+51524A444649433735D2FFFDFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFAB60646A7082959FA19887
+745E524C4F5152585A5A5550473E37322F2F3334312E2D2C2F343C464F555B61686F7378
+7E858D939AA1A8AEB4B8BEC3CAD1D6DDE7F0F9FDFEFFFFFFFFFFFDF7F2F0F2FEFCE9B872
+517C9CB3C2C9CDCCCBC8BFB7B4ABA59F9C938C72676E92D5F6FBFDFDFCF9F3ECDECFBEB8
+B2AFADADAFB3B9BEC4C9CDCFCECCC8C1BAB1A8A19C96928D888685868B91989EA4A9ADB0
+AEABABA9A5A2A0A0A1A2A1A4A6A7A8ABAEAFA9A59D958B81766E6A635E5C5A5554565C62
+696D72777A7A8082848687898C8E939598999A9A999796989B9EA0A2A3A3A6A3A3A5A7AA
+B1B9C0CBD1D6D5C14F5C645751504C4541474E514A403F45423433ACFCFEFFFDFFFDFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFEFFFD935F6E7383969C99968E7B65514643494B4B5257575851483F38343334
+39393737393C4147515B64696D7074787B81888E959AA0A7ABB1B7BCC1C6CBD2DAE2EBF3
+FAFDFDFFFEFFFFFCF7F0EBEBF4F8F9FCF1925687A9BCC7CDCFCDC7C1B8ACA5A09F9C9A8E
+81706987AFDBF5FAFBFDFDFCF9F3E5D7C9C4BEBBB8B7B9BCC1C5CBD0D3D4D2CFCCC4BCB3
+ABA5A29E9C99989A9C9FA5ABB2B8BDC0C4C6C3BEB8B3ACA6A3A3A3A3A4A7A9AAACAFB0B1
+AEA9A0968B7E736C6B666363636162666F767C8083878785858586888A8D909295999DA0
+A2A3A3A2A3A4A7A9ABADAEAEACA8A6A8AAADB7C1CBD2D7DADA8E576968584E4A47424147
+4D514B3F3B403F302E89FEFFFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B5D6D82959D99908C836F
+56433A3B43464953595C5D5449403B38383A3C3C3C3F44474D535F676E717476787B8086
+8B8F93979DA3A8AEB3B8BDC2C7CDD7DFE8EFF4F5F4F5F3F4F3F1EDEAEBF1F5FEFFFCE987
+5790B3C2C9CAC9C5BEB6AA9B939295949285776B6698CBE8FAFBFCFCFDFDFDF7E9DBD1CD
+C7C3C0BFC1C4C6C9CDD1D4D4D1CDCAC3BCB6B0ADABAAACAAABAEB2B6BBBFC4C8CDCFD1D2
+CEC9C3BCB4ADA8A7A8A7A7A9ABAEB1B4B5B5B2ABA2978D827974726E6B6D6E7073787C82
+888A8C8E8D8A898887898B8E9295999DA1A4A7A9ABAAAEAFB1B3B5B8B9B8B6B1AEAFB0B5
+BFC9D3D7E1DEAB586076705E5047434040464B504C40373A392A2468FFFFFEFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFCFC5F5D6E8C9D9D938C847763493A353B454A50595F6262584C4643414143
+424344474C50575F656B6F70727577787F858A8E93999EA2A5AAADB0B4B7BCC2CAD0D7DC
+DFDFDEE0DEE0E2E3E4E5EBF3FFFCFDEBB25D5298B5C1C5C4C0BAB1A69B8E888A8D8A8C83
+796970BAF2FBFCFCFFFFFEFEFEF7ECE1DDD9D5D0CCCACACCCDCDCDCED1D2D0CDCCC6C2BF
+BAB7B6B5B6B6B8BABCBFC3C7CBCED3D6D8D9D6D2CAC2BAB5AFAEAEAEAEAFB0B2B5B9B9B8
+B3AEA69D948A84817C7978787B7E8285888D91939392908D8A8887888B8E92969CA0A4A7
+AAADB0B1B6B8BABCC0C3C3C2BEBBB7B7B8BDC6CFD9E2DDB25D58767B77665549433F3D41
+4548463C2F2E2E201C3FFBFFFEFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFF0535E7C8DA29D928C806F5B
+423638414C51575E60635F544A4544434344454545474C515963696E6F6E717476777D83
+888B91979A9AA0A4A5A4A6A7ABB0B6BBBFC1C3C3C4C7CCD0D7DFE7EBF2FBFDFFFED8875E
+6C9CB7C1C2C0BDB7AEA2968A858A8F8E918C817272ABE1F8FFFDFEFEFFFFFFFBF5F1EBE9
+E6E1DCD8D6D6D3D1CDCCCFD2D2D0CCC9C8C7C4C1C1BFC0C2C3C3C4C7CBCED1D3D6D9DBDC
+DAD7D4CCC5C1BCBABBBAB8B7B6B6B8BABAB8B5B1ABA49B918B8888878686898C8E909195
+999B99979391898786888C90959AA0A3A7AAADB1B5B6BBBDC1C4C9CCCCCACAC7C5C4C5CA
+D3DBE0DDC37E456F7E837B6B5A4C433F3B3D414442392A28281D1A1CECFFFEFFFFFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFDFFD35F6885999F978F837667503D39454F585C5C5C5D5F5B534B484947484C
+4C4C4D52595F646A70706F70717375777C7E83878A8E919397979695969B9FA0A5A9ACAF
+B0B0B5BCC6D1DEE8F3FAFEFFFFFEF9BB5B6F97AFBFC3C4C1BCB6ACA2989391949CA1A2A2
+9C958988A2CDEDFAFAFDFFFFFFFDFDFCF9F5F3EBEAE4E0DCD8D3D0CFCFCFCFCDCACAC9C9
+C8C6C7C8CAC8C7C7C8CBCFD3D4D9DDDEDFE1E2E0DCD8D2CCC9C9C7C5BFBCB9B7B6B9B9B6
+B6B0A9A39D96918E8D8D8F919496999A9B9E9F9D9996928F8986858990969B9EA5A8ACAE
+B0B3B6B8BEC0C3C8CDD1D2D2D3CED4CCD5D3DFE1DFB3815673828588817260544C413938
+3939392E261F1F16121FC7FFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC769788F9999958776655343
+3B40545C61605E5C5D5F5C57514F4F4D4D505254565A61666A6F7373737272737576777B
+818588898B8C8E8E8C8A8B8F9294979A9DA0A5ABB5BFCEDCEBF5FCFEFEFFFFFDD78D517F
+A3B9C4C6C6C2BEB9B0A79E9C9CA1A8AEB3B6B8B8B5AD9E949AA6D6F7FFF9FFFFFDFFFEFD
+FFF8F5F3F3EEE3DAD3D1CFCECECDCBCACACAC9C8C9CACCCBCACBCCCFD3D7DDE2E6E8E9EA
+EBE9E8E4DEDAD6D2CDC9C6C1BCB7B4B5B5B3B2ADA7A39E9893908F9195999DA1A2A3A5A5
+A4A09B96908B8585878E959CA2A6ACAFB3B6B8BABDBFC1C3C6CBCFD3D6D7D5DCD9E0DCE2
+DEBE9164687886848A847F77695B50453A34333130251B161711111EB0FEFFFEFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFDB6768894939083705D4C3F393F50656868635E5B5C60615F5C5957555456
+5C6064686E71757A7B7B7A777574757676797D81838587898A8A8988888B8F909396999E
+A5AFBDCAD8E7F5FCFFFFFFFFFDE48262729EB4BDC4C4C2BFBCB8B1A9A5A4A5AAAEB3BAC1
+CBD0D5D3C9B9AAA29BACD5F7FCFCFFFFFFFDFFFEFEFCFAF2EEE2D8D4D1CECECECDCCCCCC
+CBCBCBCDCCCACACDD1D5DBE1E5EAEFF1F2F4F5F4F6F1EBE6E1DAD2CEC6BFB8B3AEAEAFAF
+ABA8A4A19E99949192959AA0A5A8AAABACAAA6A09A928B8685888E969DA3A9AEB2B5B9BC
+BDBFC2C4C5C7CACDD0D3D6D9D8E0DEE2E0D98B5E657B8A898C87817D7D7C7263594D3D31
+282625190F0C0F0D122192FFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA78294968D85765D493C3537
+44596F6F6B645F5D61666A6A67635F5B5A5C60666C7176797D828483807C777474747779
+7C7F8184878A8D8E8E8F9194989B9FA2A6ACB3BBC8D5E2EDF7FCFEFEFEFFFFC6546693A7
+B7C0C1C0BDBAB8B5AFA9A4A3A6ABAFB4BDC5CFD7DBD6D2CCBEAFA5998DA6DEFCFDFFFFFF
+FDFFFFFEFEFDF6EADFD9D3D0D1D1D2D0CECECDCCCCCECAC9CAD0D6DCE5EDF0F4F9FBFBFD
+FEFEFEFBF6EEE5DACFC7BEB6AEAAA6A5A8AAAAA8A6A5A4A19D9A9DA0A3A8ACAFB1B2B1AE
+A8A198908A86858C969FA5ACB3B8BBBDC0C2C3C4C6C8CBCDD1D3D5D7D9DADDD7DDDFDAA0
+4B597B8C8B8A857A747A76766F645B4F3A2924211F130603060716267AFFFFFFFFFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF9A869792867A684938333641516671716C6663646A717576726B65606063
+666D73787E82878C8C8A847D7672717274777B7F818386888D8E909295999EA1A6A9AEB3
+B9BFC9D4E2EBF4FAFEFFFDFBD089437096ADB9BEBCB9B6B3B1AEA9A5A2A1A4A9AFB5BCC3
+CCD0D4D3CCC5C2C2B5A69691A2C8EBFAFAFFFEFDFFFFFEFFFBF3E8DCD3D2D3D3D4D0CDCB
+CBCACBCCCACBD0D9E0E6EEF5F9FCFEFFFFFFFFFFFEFFFBF1E3D4C4B8B0A8A3A09E9EA2A6
+ADADADAEAFAFADABADAEB1B5B8BABBBBB8B4AEA49A928E8C8D959FA7ADB4BABFC3C4C6C8
+C9CACCCDCFD1D5D8DBDCDCDCD9D9DCE0D2684B718D8F87847977746A6E6E686056463224
+211F1E1102000204172764FFFDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF958B958A847B644232303847
+55666F6F6D6A696C72797E7D78716B66666A6F767C81878D92979591887E76706E6F7173
+76797B7E81838687888B8D9095999EA1A4A9AFB5BDC6D3DBE4EBF4FAFCFCDC95416A94AB
+B8BDBAB5B0ACA9A5A19E9E9FA2A9B0B7BEC3C9C8C9CAC6BDB9B8B9B3A99E9496A6B8D4F1
+FDFFFFFEFFFFFCF5EBDED4D2D4D2D0CCC8C7C8C9CBCCD0D5DDE7EEF4F9FDFCFDFEFFFFFF
+FFFFFFFDF5E5D4C2B2A69F999696979AA2A7B0B2B6B8BBBDBDBCBABBBDC0C2C3C1C0BCB8
+B0A79D959191979EA8B0B6BCC2C6CBCBCBCCCDCECFCFD2D3D6D9DBDBDBDAD7DCD4D7D25E
+557385877F7C756C6765656560584A372722222222130101010311224FFFFEFFFDFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFEFF918D968888815D3D3336405059666F7170707172767D83817C77716C6D72
+767C82878E94999C9D968B7E736B6867696B6D7074787C7E7D7D7C7D7E8085898D909398
+9FA3AAB2BBC4CDD4DFEBF5FCF5B74D6D98A4B2B7B2ACA49E999491908E9299A1ABB6BDC1
+BEC1C1BDB8B4AFACAFB4B6B5B3A996867DA1C8EFFBFDFEFDF8F3EBE3DCD9D7D5D1CECACB
+CED2D6D9DFE6EEF4F9FDFFFFFEFFFFFFFFFFFEFEFCF1E2D2C1B1A49E9B9796989BA2ACB2
+B9BEC3C7CBCDCECDCAC9C8C8C9C8C5C2BFB9B2AAA39D9A999FA7B0B7BDC4C9CCCECCCAC9
+CACACAC9CBCDCFD1D2D4D6D7D5D7DAD8BD5B5178857F79716C6661585856514739281E1F
+27282716020301030F1E3AFDFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68385968A897C533837404C5B
+626C7375767778787A7F84817D7A767172787D83888D959B9EA1A0988B7C6E645F5D6063
+676D72767778767473727273787D8183878C92969BA2AAB5BFC6CFDCEBF6FBB45167869D
+AAA8A29A9088827C7A7A7B8189929CA7AFB1B3B1AEA9A5A1A09FA4ABB4BABCBBAD9B8574
+79AEDAF3FBF5F6F0EDEBE7E3DEDAD8D5D2D5DAE1E7EAF0F6FAFCFDFFFFFFFFFFFFFEFDFA
+F8F6EADCCDC4BCB0A9A8A5A2A2A4A7AFBAC0C7CCD3D7DADDDDDCDCD8D3D0CFCDC9C6C3BD
+B6B1AEAAA7A5ADB2B9BDC1C4C7C7C6C3BFBDBDBCBAB9BABCBFC1C3C7CDD1D3D8DAB77048
+5E7F848078696A6159544F4C453C30231D1F25272817040A090C151F2CF8FDFDFFFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFF07D88948F8B774F4047585F6974797E7F7D7B7B7A7A7C7F7F7D7973707479
+8081868D92989D9D9A938472655A5454585E666E747677767573716F6D6E7175787C7F83
+888E97A0A9B1BBC5D0DAE6F0F8E6BE6F557A898C897E7068676563646A757A838D969C9C
+9D9B95919292919299A3B1B9BAB9B0A39283747194D9EBEFEEF3F4F3F2EEEAE8E5E3E2E5
+EBF0F5F8F8FCFDFEFFFEFFFDFDFDEFD3A3787B95BCD0CBC7C1BDB9BCBBBAB4B3B7BBC3CF
+D3DADFE4EAEBE9E8E7E1DAD5D3D1CECBC5C1BCB8B6B3B1B1B5B8BDC0BFBEBBB5B1A8A09F
+A09FA0A2A3A6A9ACB1B6BEC7D0D4D8713F517885867F756D665E554E473F3D362C241E1F
+24251E11150E070511222CEBFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE97C8D9C93887255505C696C72
+7B828788847E7A7776797C7C79736E6D73797E7E83898F9495938F8A7B6A5C514C4D545B
+656F7576767572716F6E6C6C6F7275797D82888E97A0A7AFBAC4CFDAE4EDF6FFE5824960
+6E746F6E645B5A5C5E636B6F7580888B91928F8F8A8382868A8D959CA6ADAFAEA5968B7F
+6F627DC9E7ECF2F8FBFBFBFBF8F7F7F5F4F6F9FBFDFEFFFEFDFFFDFCF2EFE5B06F504232
+34428ECFD3CBD0CECDCFCFCFCCC7C6CBD1D6DBE1E7ECF0F2F0EEEAE6E0D9D3CECAC8C7C6
+C5C4C2C0BDBAB9B9BAB8B3ADA69E948E88898A8B8C8F94979A9EA4ABB5BFCECDA14E486F
+858A88827A71695F5249443C38322B26201F2023211C17081225271C2AD9FFFDFFFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFDDD7D92A09686705C606F78777A828B8E8D887F787373777A79766F6A6B7277
+7B7B7F84888B8C8987807362544B484A5058636D737575747372716F6E6E7175797D8287
+8E959EA6ACB5BFCAD4DEE6EEF5F7F0E0A55E4746434341454B4B4F5B60717E868B8E9192
+8E8986848385898A8F92969899989085786C625E7EC8E7E7F3FBFFFEFFFFFFFEFEFDFDFE
+FFFFFFFFFEFFFAFDEFCA7B586163646351332B3673AECEDADADAE1E5E5E1DFDBD4D1D6DE
+E3E7EBEEEFEFECE8E1DFDAD3CDCACACBCBCDCFCFCECBC5BEB9B5B1AAA1988E86817F7E80
+8386898B9093969AA1A9B5BFCBD5874B5A7A848B86837C756E65574C413934302E2E2A26
+241E191206082C45492E24CDFFFCFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC8C9DA2968772686F797C7B7E
+858E9391897F787475797B7A77706C6D7276787A7E81818385847F77695A4F49494B5056
+5F686D6F707172706F6E6E7074787E83888E969DA5AEB5BDC7D1DCE4EBF0F5F6F0E9E2C9
+925B50453C3A3D3F4449576A7B89979C9B9C9B908A898785868784848483827E7772675C
+59648AC7E2E7F4FCFFFEFEFFFFFEFFFFFFFFFFFFFFFFFDFEF3C97C4E4C627B7F7D75664C
+3325254896D2EAF5F5F6F8F7F3EBE2DCDAE0E2E2E5E8E6E2DDD8D1CEC8C2C1C4CAD0D4D8
+D9D8D6D2C8BEB5ADA39A9189827C7D8084888D929597999DA0A3A9B1BBC5D2CD7648617C
+8280827F79716A6052463F3834333639342C201015160B1A39455D531EC8FEFEFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFD695A7A594897B777C817F7E8186919A968E847E7B7B7E807E7A7470717579
+7A7B7D7F7D7D7D7C72695D534B4949494D52585F6364656666656465666A70757D82878E
+969DA6AEB6BFC8D1DCE5ECF0F5EEEAE4E0D9CBC4C4B2987C6C6D6A595A57667E8C949DA4
+9D96918B837C78736D6A6463666562646B748498B2CFD9E0EDF4F8F9FBFEFFFEFFFFFFFF
+FFFFFFFFFDDE94482F3B677D7F7C7367605237201E2C557A9BAFAEB1AFB5AFAAC2DCE0E0
+DFDDDBDBD9D5CFC9C4BFB9B7BBC3CDD3DADDDFDCD9D2C5B9AEA3968D85807F7D80868E95
+9BA1A5A7A9ADB0B3B7BDC5CCD2D1AD6256717B7D7F7B746B6054453A363433373C3E3629
+100A202D282E353F5D6B26BCFDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECB94ADA896938B848586838184
+8A969D9A938B8683818384807A7674757A7F7F7C7C7B7977746F645D56514C4A4846474A
+4E52555656565757585A5E646C72787D838A9198A0A8AFB7BFC8D3DDE3E7E4E7E1DBD3CB
+CECFD2D2D4D2D1D8D4C39974626670849290938C81756E6C67615A606773858F9296A3AF
+B8BBC0C7CBD2D6DDE3E8EFF5F8FAFCFDFEFDFDFDFDFCDCA4663A2B2E575B635F5B544B3F
+2B1D1B282C2F363638374048413B5A84A0B8D2D7D5CECAC8C4C2BCBAB9BDC5CFD6DADADD
+DDD9D3CABBADA19589817C7A7D80868E99A2A8AEB4B7BABFC2C4C7CBD1D6DADBDD6D4671
+7D82807C73675847382E292B2E353A3930200F2435332E2E2B3D586E40ACFFFFFCFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFCC99B0ACA0A89F928C898686888E9A9F9E99928C868384827C787778797F84
+837E7976716E6A655F5B57544F4C4944434344454748494A4D4F53585E656C72787D8289
+8F949AA0A5ACB3B9C3CCD0D2D4CDCDC8C9C9C4CBD5D4D8DDE1E5EAECE9CBA0745F636F7B
+7B746E696158565B778C9EAEC0C8C5C5BEC0BDB9B8BABFC3C3C8CDD5E0E8ECF0F4F6F7F7
+F6F5F2EFDDC59665452D3233302A292929271F1E22292A2D31374F58657172605146455A
+90B3C9C7C3C4C5C6C3C4C8CFD7DCDDDDD9D7D2CAC0B3A3958980797776787F848D95A1AC
+B4B9BFC4C9CDCFD0D3D6DADDDFE2E07552798386867F7365513D2E2727292A2F302D2415
+16383B2F2C303344576858A6FFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECD9BADAAAABCB0A2958D8A898B
+909AA4A5A199908782827D7775787B7C8186837E777069666462615D5A56504C4843423F
+3D3C3D404345494C525A61686F757A7F848A8F92959B9EA4A8ADB4BBBDBEBBBFB7BABBB8
+C0C1CAD2D7DADFE2E5EBEEF2E0CAC0996A64645A555853506C95ABC1CBCACED0CDCDC7C1
+BDBEBCBABDBDC1C3C7CFDAE2E7EBEAEDEEEDEBE7E1DCD9D3C2B3A6987554372E271F1B1C
+1C1F25262C31485D72818989877A6F5A3A313B80B9C6C7CACED2D2D4DADFE2E0DCD7D2CC
+C1B4A6978679736D6C707379828A949CA8B5BDC3C9CED5D9DAD9DCDFE1E4E9E2B96D6281
+8E8D89807465523F33302F2F2B2B2721190D2F44393430303B45546360A7FFFEFFFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFEBC9FA7B1C3CEBDAB9C928C8B8A8E9AA7A8A19B8D857D78746E6C71787F8484
+817B7168636161605E5F5E5B56504A453F3B3A3B3E41464C50555D656B70767B8184888B
+8E909395979AA0A4A7ADB0B0ADACAAAAAAABB1B7C5C9CDCFD1D4D8DADDDFDFE2E3D7BFA5
+826C5856739DB7C3C9CED3D6D8D9D7D5D0CAC5C3C1C0C1C4C6C8CED6DEE4E9ECF0F1F0EC
+E6E0D9D4CCC8C5C8CCCDCAC6BBA4834D2E24262D322F2F456B828A9195948E8071614C37
+2B4C7FB3CBD8DCE1E2DFE5E7E4DED8CCC4B7A792817469656164666B747E868C96A4AAB8
+C1C5D3D5DDE0E4E3E2E3E4E8E9CE795F848D918D867F7160524A454239302419110E1319
+3F463F3331374449535E61A0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1A1AFC3D0DBCEB09F98938987
+8F9BA5A9A39C8C8278726B67686D73797D7D7970655D5A5A5B5C5D5D5D5B575148433E3C
+3C3F42474E5459606970767E8386898B8E9091929394989A9EA1A2A4A5A3A19F9E9F9FA1
+A7ADB4B7BBBCBEBFBEBDBCC1C4C8CED4D8D6C9BFB6B3BAC5C9CCD0D4DADFE2E1DDD8D3CE
+CAC8C6C5C7CACDD0D7E0E7ECF0F3F7F8F6F0E9E0D8D2CAC6C4CBD7E3ECF0FBF4D6803935
+415457616C7C8D94959B9B978E807163524328283A6998BDCBD0D6E3EAE9E2D8CEBFB0A1
+907F736B626060656A70787F878D96A5ADB5C3CDD3D8E1E3E7E5DEE1E7E4C96C54738D94
+8F897F766B615853504B3D2E180D172840574C4A3A2F333F4A4B505C5AA1FEFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFC4A7B0C5E7EDD1B1A29D988986909AA5ABA49985776D665D5C60676C717575
+6E655B56555658595E5D5D5C595147413D3D4044494F575F6870787D82898D8D93949596
+9797979799989A9C9B999896939291919293999EA2A5A8A7A6A6A29E9EA3A6ACB2B9C2C5
+CBC7C6C6C7C9CBD1D0D2D6DADDDCD7D1CECCCBCACACACED2D7DBE3EBF1F5F8FAFAFAF8F3
+EAE1D8D3CBCBCFDAE9F5FDFFF8DD9E634B73878E93999D9FA09E9D9F99928A8073696059
+5C493633333A41476F99B7C2C3C0B7A796887A6F696664666A70767A7F848C93999EAFBA
+C1CAD2DEE5E3E5E7DFE0E3D3814B6D8C8C8F847E776A5F595352524C341E111E35444D53
+5047342C374A5452505E53A5FEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA9FA9D2E59F93AFA7A59D8E89
+929AA8ABA08F76675D5753535962696E706F68635E5C5C5C5C5D61605F5D574E453F3C3E
+43484D555F6770777F84898F9393979797989898979594919192908D8B8A888787888A8C
+91979C9FA09C9997948F9495969CA5ACB5B8BDB9BABEC0C0C2C6C4C2C2C6CACCC9C5BFC0
+C0C1C2C4C8CDD4D9E2EBF1F5F8FAFAF8F4ECE2D7CFCBC8CDD8E6F2F9FCFDFBB8585A7395
+A1A5A8A8A8A7A6A5A19B978E867E746B67666C68645E5045414140342F47769E9C8D7E75
+6D6967686D737B7F83868A8F97A0AAB2BEC4CEDAE0E4EBEDEAE7E1E0D4AD49557789908B
+7D73685B534E494B4B442A14172A323D4C515045342E3A4C534E505E4DABFEFFFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFC8929FD0CE343E9CA5A59A908D959EABAA9882675A5350515158626B70716F
+6C6A69686765636363615E5951473F3C3A3E444A5059636C74787F868B8F939597969493
+918F8C8A88858384817F7F7E7D7C7E83888C92979B9F9F9A95928F8D8E8F8F959CA4AFB5
+B4B3B3B7BAB9B5B2ACA9A9ADB2B5B3B0ACADAEAFAFB1B6BAC2C8D1D9DFE4E7E9E9E7E1D9
+CFC6C1BEC3C7D0DCE7F0F6FAF9A8495F819BA6ACADAEAFAAA29C96908B84807E7A787B7F
+8684827E7A78746D5F432A20417E887F746F6B6D70757E868F9193979DA4ADB6B9C6CBD5
+E2E4E9F4EFF4ECE8E4CD954F3564838B8676716254473D373338372C110F1F2C2C3A4E54
+5143332F3B4A4D474B5746AFFDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEDA83AAD0AA1C22869C9F948E8D
+95A3AAA48E796158565658585E6870757775767573706C6864625D5A5650473F3A393A3F
+464E555D676D76797E85898B8E91918F8C898785827F7E7B7A79777677767676797F8589
+8E9396999995908C8B8B888C919BA3AAB2B5B4B3B0AFAEA9A49F9E9D9EA1A5A39F9B9798
+99999A9CA0A3ABB1B9BFC4C7CACBC8C5C2BDB7B1AFAEB2B5BCC5CED8E2E9EDA96A626D87
+98A4AAABA8A0958F8D8C87817F7F7F81888D9091918B88847A6C54412E1C306D7B767674
+747C858D979DA3A4A6ABB3BAC1C9CFD4DBE8EDF0F5F0F1D4A6866E584637547688868275
+674C40352D2A2A2C26190C192123304754544E3B2D2D3B4A4A45495245B4FEFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFD089ADD2A31A407C92948A8888919EA29A85756460616465656A71767A7C7C
+7E7C78716B655D56514D48443F3B3B3C41464E565D646A6E71757A7E828587888583807D
+7C7A787676757675737475737474777C808285888D8D8C8A8886888B8E9398A2ADB5BCBC
+BBBAB4B1AAA09B9693929294948F8985858584848486898B90969DA3A7AAABABABA9A6A3
+9E999594969AA2AAB2BBC5CCD3CDB16E55658090999A98938D8885858A88888A8C91979A
+9A9998918D816F5A482A1B2F4C6E777F878B909CA5AAB2B4B6B6B8BDC3C9CFD7DFE4EDF0
+F4F7DEBA86674C4A545A636E7D8488837D69574A372D25231F1A110819282B2A3C545B57
+4933282D3D49453E464B47B8FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE8CB2D3B457616E80807B7E82
+8C979A917F7469686B6F6E6E72787A7D8081817F79716961554946413D3C3C3C3E41484E
+565E64696D6E707578797A7D7D7B7B79767371706E6D7072747472747572747375797C7D
+7F81878381818182878D929AA1ABB4BBC2C3C3BFB5AEA49794928C8A898987837E7C7978
+767473747576787F878E94989999999896948F888381878A90969CA4AFB7C3C9CAB29452
+4F7685898B8B888584878384888C90969B9C9D9B998D8472614F3523153860808D96A2AC
+B5C0C5C5C9C8C7C7C8CCD2D7DEE6EAF4F8F4EDBA75676D707674747A7D7C818489877C69
+5B44392A1A120E0F18212B2F3035475A5D52402B252F4049423A404345B8FFFEFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFD38EB9C8AF786563717772747D878F8E8B807672727776737072787A7C8185
+8580776D6052453D393B3C3D41454B52595E65696B6D6E6E7072747474747371706E6B69
+67666769696D71737374737173726F7072727173777878787C81888F949BA6B0B9C2C5C6
+C2BDB5AA9E96908C898786888987827D7B78736F6C6D6F71747B82888F93949495928F8C
+87827F7F81858B9198A2ABB2B8C1C6D2B5674459697C7F84848482848383838890939395
+948F897F716655412F1E1A5E8A98A8B4BEC9D1DADED9D9D7D5D5D3D7DEDFE5F0F3FBF5D5
+906A859094918C8886868585858989877E70604E39220B102A344649423D3C414C585547
+362727324048423D423F3EC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD88AB6BA9B6A5B606E716D737E
+868B89877F7875767A79726D6D72767B8184847E7366584C413A3B3F42474D535960676A
+6E7071706F6F6E707170706F6E6C6C6864615F5E5E6064676B6D6E6E6D6B666562626363
+6366686B6D71787F8890989FA8B0B8BFC2C1BAB3ACA399928E8A8B8B8C8F908F89847F7A
+74706E6F72767982898F959898989B9895918C878585858A9198A0A9B2B8BEC5CBCFD2CD
+98424F6C797E8182807E797A797C81828284817A736B645C4B38291B216C9BA7B6C4CFD7
+E0E8ECECE9E3DEDEDEE0E4EAF1F5FEEDC3666182929A968F888685828182858786868074
+6450361810365D666861534C47484C504A3D2C2226354347403E453F3FC4FFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFEDC7FA79E7D5D555E6C706F7B888D8F8E8B827C78777875716B696E747A8082
+817B7061534A433F41474D555D646A6F7374767674716F6D6D6E6F6F70706F6E6B66605C
+5856565657585B5F61605F5E5C5C595859595A5E5E63696F78818B949CA2A9ACB0B4B3B0
+ADA69F9A94908E8C8E90939597948C857D77727071747A808A939BA0A5A7A6A6A3A09D9B
+98969697999EA6ADB3B9C0C5C9CDD4D9DCDBB26A564B61717375757471716E6D6F6F6E6D
+6A665F57504434251E16246FA0AEBDCBD5DFECF0F0F2EDE8EAE2E3EAEEF4F8F7C697745B
+809998958C8075747575787D80817F7F796E5D4A3119255A7476756F61574F4B4742382C
+24222B3C48443C3D463E3DCEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE57899856A5C596270787E8D97
+99999893867D77737471706C6A6F757B7F82807B6F61544D4A4849505860696F73767A79
+7877736E6A686A6B6B6A6A6A6967665F58514D4A48484A4A4D5255555455545554545656
+595E5F666D747E868F969EA4A9AAACADA9A39D9691908E8C8C8C8C909395948F867D7670
+6D6F73788189909AA2A6AAABABABABA9A8A8A8A9AAACB2B7BEC3C7CBD0D3D9DEDEE2E5E3
+E0DA8E5146505E67666868645D58595B5B5B5B554C453F302017131F3978A0B0C1CFD9E3
+EDEFF0F3EAE8E5E6EBE1CBB39E8F66596088999792867E7269686B6F757C7C7D7B776E60
+52432D182E65757D7C7365594F483F342A22222936454B443C3D433E38DFFEFEFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFF07E947D6A6A66717C87939FA5A3A39E95857A73707374716F6E71767B8085
+857E726458514D4C5058606871757676787573706A645E5C5C5D5F60636565645E574E47
+423E3C3B3E3F42474C4D4F505457595B5E5F63696F767D858D949BA1A4A9ACAAA9A69F97
+8F8884858585858585888B8C8A837A716C68676D737A848D97A1A8ACAFB1B1B3B5B4B3B5
+B6B8BABCC3C8CED3D6DADEE1E5E7E9EDF0F1F2EDD49C532F38444C4F4A47433D3A393A3A
+3939373126160F142546688CA0ADBECAD4E0E9EEEDE0BFB3A88F82795F41436074869498
+928F8378706D6B6C6F72757775746E665A4D43382814316B788280726556483D3126201F
+2937454D4E4640403E3C32EFFCFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF889958077817D828A98A6AFB0
+ADAAA19684776F6D747978777475797E858C8B8276695D545151575E666D75777472716D
+69645E575251535456585B5D5D5B575047403C393737393B40454A4E5153575B6064686B
+6F757C828991989EA3A8ACAEADA8A39B928B87827F8080807F7D7B7C7D7C787067615D5D
+6068727C87909CA5ADB0B3B6B7BABBBBBCBFC1C4C7CAD1D5DBDFE2E6EAEDF1F1F2F4F7F8
+F9F9F7E596582F2335363835322B221F22252C2A2620191724375A768B97A1AEBFC8D1DF
+E6E7CEA067514B3A3235445A6F878F90958A897D75716A6D717376787774726C61584D44
+3C3223113A737A7B796F62523F30231B1C23374751524E47413B363536F8FCFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFEFC979C8B8796918E95A5B3B6B5AFA69F9482766F6F7B848684807E81858B92
+908475695E555254585F666B6F6E68635B56514D4842404144474A4E535657564F49413C
+393736373D41484D52575C5E64696E73777B80868A90959BA2A7AAAEAEACA8A29B928A84
+807C7B7A797976726F6D6B69645B545151545A64707C89929DA6ADB1B5B8BBBDBBBCBFC2
+C6C9CED3DADEE4E8EAEDF1F4F3FAFBF9FDFFFDFDFCFDDEAB532724272E2A28241D1A1F25
+27272C3B51626D737D899096A3B2C2CDDAE6ECEBBC7C46322D293C5874898C8D8F8A8B84
+7E707171767A7E7F81817D786E665950473E352A1F1040757D78746B5E4D3A2A1F1B2330
+455055534C453D31282A47FCFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFA4A79893A19A939AABB7B7B3
+AA9B968D7E767277879392908B87898B8F95928372665B514E52545B6063656158514D48
+44413D3A3A3D4042464A4F5353524B46403B3938393A3F464E53585E62646C70767B7F83
+888E93969A9EA4A8AAAEACA7A09890867E7A76747272706F6C67635F5C5B564E49484D51
+58626E7B899198A1A8ACB0B4B7BAB8BABDC0C3C8CDD2DADEE4E9ECEFF3F6FCF9FEFFFDFF
+FFFEFFFFFFD88458384C5D6374889396999A9E9B97959699958F8E949CA8B6BFCCDBE4EA
+F0F2B8723D26252E54727C85888D8486807A767E778286888A8B8A867F7870695D554B40
+35281A164D77786C6A61544534261D1D29394950525049423A2A1B2159FFFFFDFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFDA7A699929E968A92A2B3B7AC9A8B88827A757A87949A9E99928D8D8F9396
+91836F5F53484141474D545857534C46403F3E3D3C3C3D3F4244474C5154524F48454240
+4042484D50576065696D7275787C808283868A8E92969A9EA1A4A5A5A3A29D948B847D78
+777673706D6965635E5D5A57544E49484D555F69737D88919A9FA6ABADAEAFB0B0B1B4B9
+BDC1C5C9CFD4DADDE0E4E9ECF2F4F5F5F9FAFAFDF8F8F9D8A280767E95B2C2C7CDCFD1D3
+CDC7BFB4A9A3A09C999EA5AFBBC6D1DBE6EEF4F08733232738546A757B7E807F807E7D80
+858B90949492918F8A847C7468615D53454038271818576F6F67605746382A1E1B212E3D
+4A4D48484740321D162772FCFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFB19A8B7F867F7A8295A9AD9F
+8B7C7A7875757C8A979E9F999491929496998D7F6B5A4D403A3A3F474F5353504B464443
+41414040424548494B4F5254514E4745434344484F545B626A6F72767A7C7C7F81838385
+888B8E9296999C9FA1A19F9E99938D88848181807E7A7773706E66645F5C5B5856585E67
+727C858C949BA1A5A9ACADADACADACACAEB1B4B8BCC0C5C9CED1D3D6DADCE0E2E3E4E7E8
+E8EAEAE8DED4CCAD98B0C5D1D0CDD0D3D5D5CEC7BDB3A79F9A9594989EA7B3BDC7CFD9DF
+E3DA7A2D24374D606C7176797C7C8184888D92959695928F8B857E7870675C57554E4440
+39291F3666746C5C5E483D2F231C1D232E3B454644423F3728171E2D8DFFFEFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFDFFBA8779696E6D676F859DA4988678747574747A8591979A96929192939495
+8B7D6855473B353640495357585653504F4C4B4A4A4B4D50505152535556524E4A49494A
+4C52595F666C73777B7E808182838484848587898B8D909296999C9D9E9D9A979492908E
+8D8B8985817D7A7975726E6C6D6E6F727A838C959CA1A6ABADAEB0B1B0AFAEADAEADADAF
+B2B6BABEC1C5C9CACBCDCFD1CFCFCECDCECDCCCDCBC7C2C3C9BFB3C0C0C4C2C2C8CCCDC9
+C1B8ADA499908B87898E939CA7B0B7BEC6CAD2CC975E2F273E55656E73787F848B90969A
+9B99948F88857F78716B62584D4B4B4B4A49413224447573716A5847372A222123282F3A
+4041413C362D1F152638A7FFFDFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC77D705C60635961768E9996
+8B7F777878767A859197989591919291908F8A7C6653453B383A444F5A5F605F5D5B5552
+504F4F4F5154545455565756524E4C4B4B4D50555D636C71777B7F818282878686858484
+8587888A8C8E919598999B9B9998969492908F8D8A86827F7D7D7A7875767A7D80848C94
+9BA0A6AAAEB2B5B6B6B6B5B3B1B0B0AFAFB1B4B9BEC1C5C8CACBCBCBCACAC7C5C1BEBBB8
+B6B6B5B0B2AFACB3B4B0B1B4B5B8B8B6B3ADA9A299928A83808183899097A0A7AEB4BCC3
+C9D2D69838242E4A62717A808A92989C9D9A96918A837D7A756E6862584D4645474D5658
+504429276C8078715845392F2B2B2D2F323A3F3F40372D251B1B3044BCFDFFFEFFFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFEDC806D595C5C555B6C818E9490847C7D7B7A7D88939A9A9692908E8B8987
+86796553484140434C5864696A6A68645A565352515153565C5D5E5F605E595552515153
+575C62686F74797D808384838686858484848585898A8C8D9093959593918F8D8B898887
+8785827E7C7B7B7B7B7A797B81868B9099A0A5A8ADB2B5B9BABAB9B8B6B4B3B2B3B3B5B8
+BDC3C8CBCFD1D1D1CFCDC9C6C2BEB8B4AFAAA8A7A7A19D9B9DA09D9C9999989A98969897
+928F8C89858080848990979DA2A8AFB5BEC3CFD3D5CC9B4F36506778868F979C9D9C9891
+8B87817A76726D67625C5349464649505A5F5C564C2D406A7E6B56453A3435363533353D
+41414033261E1C243C47D5FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFF0866D5B61605C5F6C7D8B97
+968A8181807E838D989E9E9A938E89848281817665564E49494D56616D7274736F695E59
+54535252555A5E5F616262605B56545353565A60666A71757A7E81848585868585858586
+87878C8D8F90919291908C8884807E7C7C7C7C7A787676777879777776787F868D949CA2
+A7ABB0B4B6B8BABBBAB8B5B3B3B4B6B9BDC2C8CFD5D7DCDCDAD7D4CFC9C5BDB7B1ACA6A1
+9F9E9C97929192918B8885837F7E7E7F8587898B8D8E8D8B8B8F989FA5A7ABAFB7BFC5CE
+D6E0E8F2D455415E7889959B9F9F99968F87827E78726F6A64605D5B554F4B4A4B4E5257
+5B5B51462A417971514139383C3D3937383F47474031241E222F4047EDFFFBFFFCFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFEFFFA917762676C68666E7D8B97988D81817F7F8794A0A6A49E968D857F7E7F
+7F786A5F595554565D66707475736B635A534D4C4D4E5359606164656665615D5B59595C
+62676D7174787C7F838687878989898A8B8D8E8F929395959593908D86817B7774727273
+706E6D6D6E707070717272757C838B9299A0A5A9AEB2B3B4B5B6B5B2AFAFB1B3B7BBC1C7
+CED5DBDDE0DFDBD7D3CDC6C1BAB4AFACA7A3A1A0A19E9D9992908D827D7D78797C7F878B
+969A9DA0A2A2A3A5ABB0B3B4B6BDC5CED3DCEAF0F8ECC2565C7B929CA09F9D99918B847E
+7B77706B655F5B5A5A5B5A57524E4D4B494B4F4F4B4B3828475E4C3C3C3E43423D3A3B42
+49493D2F25212A364159FBFFFCFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9E8669677370696E7B8792
+938A7D7B787881909DA3A39D93887F79797B817B7168635F5C5D616A72757571675B544D
+4746474A51585F616467696966625E5C5C5F656B7074787C808386898B8B8D8E8F919294
+959697999A9A9895908B807B75716E6B696965646363656665646567696D737A81889097
+9B9EA4A8AAABADADADAAA7A8ACB1B8BDC3C9D0D8DEE0E1DFDBD6D2CDC6C0BAB4B2B2AFAC
+ACABA8A6A19F9B948D8882837E7F848B979FA4A8AAADB1B4B5B7B9BDBEBEC2C9D3DBE7F0
+FAF8F89D56607D939E9F9F9D978F89827B7877736C675F585658595B5B5A58514D494443
+44414040362036554C4042454A47403D3D434747382B24222E394475FFFEFFFEFFFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFDFFAE8864617370696B79879093897C7471727B8B969C9F998E827A75777D
+868078726D67615D5F66696D685D544A44413C3B3F454F585F64686A6E6E6C6B67656567
+6B7074777C80848687898E92929497979898989899989896928F887F79736D6865615E5B
+595A5C5F6061626265686B6D70767F858B8E9195999A9B9D9FA09E9EA1A4ABB2B8BFC8CE
+D5DDE4E6E4E0DDD8D3CEC6BEBAB6B5B4B2B2B4B5B3B0ABA6A19D969090909093989FA8AD
+AFB3B6BABEBFC0C4C6CAC5C8D1D8E2EBF2FBFEF5DE7D5B889CA0A29E98958E857E7A7775
+716C655D565453555859595957534C463F3834322C312F2022484C49484847453F3B3D41
+4642352D2A2C37414590FFFFFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB97B5F5D696F6A6D7E8D96
+978F7B726F70778590979A958C817975787E85827D77726B625C5E6262625B4F463D3C3B
+393B4148515A62686C6F73757575716F6E6F72767A7D808387898A8D9194969899999999
+98969693908C857F77706C67615E5C5A58575B5D6164666768696E717577797D83888C8E
+8F9092919192949596989CA2A9B1B9C1C9D0D7DEE3E5E4DFD9D2CBC6C1BBB3B0B0B3B2B1
+B1B0AEADAAA7A4A29F9C9DA0A4A9ADB1B5B7B9BCBEC2C6C7C9CED2D0D2D8D9E3F2F2FEFD
+FBD5806A7899A09F9D978F89847E7C7773706D686059524E4C4F5357575854504B453B31
+29252224271A19434E484442403E3C3B3E4346443A3331323C454AABFFFDFFFFFFFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFDFFFFDB7759535C6A6C718397A2A29B867B75767C88929A9A958C827D7A7C81
+8887847E766D6259555755524A403A35383B3D434C545D64686D7174787A7B7D7C7C7A7A
+7A7D80828486898B8E9194979C9D9D9C9B9995918A85807B746E686365625F5E5E5D5D5E
+6163676A6C6E7173797C7F81828386898C8F8F8E8F8E8E90909395989FA5ADB4B9BFC6CC
+D1D6D7D7D3CEC7C0B7B1ACA7A39D9DA2A3A3A3A4A5A6A6A6A7A9AAABAFB2B6BABCBEC0C1
+C5C6C7CACCCDD1D7DAE1E0E2E9EDF4FDFBFCD9954877959A9F9A948D847E7B7876716D6B
+67615A524D49474A4E5152524E4C494237291E18181A2015174550463C373537393C4147
+49473F3A3839434A46D0FFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFF678584E5C6C757C8BA0AD
+AEA99788807F85919AA2A39E948A858383848C8C8A83776C60544B4A48453F3937383C42
+4951595F666C6E7376787C7E818486878684838486878C8D8F92959A9D9FA0A09E9C9994
+8B857C75706E6966646363636567686868686C6E717274767A7D8081848483828385898B
+8C8C8D8E909396999C9FA6ACB1B7BCC0C4C7C9C8C5C1BAB3ABA49D98948F8D88898E9190
+92979EA2A6AAAFB5BABEC0C2C5C6C7C8C9CACACACCD0D4D8DEE4EAEBEDF1F6FAFCFBFEE2
+8A666F8A9BA099928B847D797673706C6A68645F58514A46444648494A4C4A4A48423526
+1A15151A1C14214E4E40332E2E363D43494E4E4C453F3B3D484E4AF0FFFEFFFDFEFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFEFDFF8765566477848B95A7B6BAB6AB9A8F8C929DA6AEB1ADA3968E8A8888
+8C8D8D8577695B4D4442413F3A37393E48515B6166696C707175777A7E82858A8C8F908F
+8F8F8F8F8F8F9094999DA1A2A2A19D99938B7F766E67646362626466696B6E7273727171
+76787A7C7C7E8083818081807E7C7D7F85888A8B8D90959A9DA0A3A7ADB1B5B8BCBDBEBD
+BBB6AEA8A2998F888482817E7C7B7D838584878D969EA6AEB7C0C7CDCCCED0D1D0CECECF
+D0D1D5DAE0E6EDF2F3FCFDF8F9FAF4F1B078768697A39E9C928C847D78757169635F5C5B
+5855504A44403E3E3E3F43474A4C4C4538281B1616201D162F594A3A2D2A2F3D48505557
+545047403A3E4B5162FFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFF9F6F616F849097A0AFBE
+C6C5BCACA19DA0AAB3B9BDBDB4A497908D8D8A8A8B84746555473E3C3E3E3C3C4049555F
+686E717172757375777A7E81858A8F93969697989897969596999EA2A4A5A3A09A938B81
+756B625D5C5F6164696B7475787B7B797878797A7D7F7F7F7E7E7B797776747375787E82
+878B90959BA2A5A9ADB1B6B9BABBB8B7B4B0ABA49B958F87807C7B7A79767475777B7D7D
+838D959FAAB3BFC8CED5D5D6D5D3D0CECECFD5D8DFE7EDF4F9FAFFFDFCFEE6A0645E6D7C
+8A9FA49F9D938C867F77716E675E5B575352504E4B463C37323232363E454C4E4D473928
+1C171A28251E375C4A3B2F2F3949555D605E584F453E3A404E5181FFFEFFFFFFFFFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFEFFFEF9BB726D7D8D949BA7B6C4CED0C9BDB4ADAEB5BCC2CACAC2B2A49A9492
+8B8887806F5E4F423A393F4243464C575F676F73767675767677787B8083878C9196999A
+9B9C9C9A9898989B9EA1A1A09F9990877E7469615A595C63686E7375797B7E81817E7B7A
+78797A7B7A787573716E6B6968686B70747B82899198A0A7ADB2B5B9BDBEBCBBB6B2ADA7
+A199918C878380807F7E7D7A787A7C7E82878F9AA4AEB7BFC9CFD2D6DAD8D5D1CECFD3D6
+DAE0EAF2F8FEFFFBF7F2E5B26A495E8493A1A0A2A19A948D85807A746C665F595652504F
+4C4A464137302B2A2C313A42494A484133251C191D2B2F2530534B3F393C485760666660
+574A3E393944504FABFDFFFFFEFDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFE27F7A8793959BABB9C5
+CFD4D5CCC5BEBBC0C6CCD3D3C9BAAEA49B948E88847B6A594C413A3A42474A4D54616C71
+75787B7B787678797A7E85898D9395999C9D9D9E9D9B9C9B9C9EA0A09F9D979085797068
+5F5754555B636A7076777C7F838787837F7C7B79787775736F6C6964615F5F60656A737B
+848D969DA4ABAFB4B7B9BCBBB7B5B2ACA59F98918A8685818081807F7F7F8185898E949A
+A2ACB1BAC1C6CDCFCFD2D3D2D0CDCDD0D7DCE6EDF6FBFDFFFBF1C28A61637A8D939BA4A1
+A19A9A8E8A847F7A767169615D5A59565555524E4841372F29292C30373E454440382C21
+1C1B1E2A352824474A414448535F6569675F534437353946514CD7FFFFFFFCFFFFFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFEFFFFFFFB888891979698A9B7BFC2CACFD1CDCFCBC9D1D0D3D2CEC5B8AEA59B
+93867D70605448413A3D454E5259636A71767B7D7D7D7D7C7D7F83888D9195979D9FA0A0
+9F9E9D9C9D9C9C9C9C9B98928B8174695F554E4D4B525A616A7074777C7F84888885827F
+7E7A7774736F6A666563616062676F757F858E979DA3A9AEB2B5B7B7B6B4AFAAA6A09995
+908A84817F807E7C7B7B7D82868C959CA2A8B0B7BEC3C8CCCECFCFCFD0CFCBCACFD7DFE6
+EEF7FDFCFEF0CB9064637E909BA4AAA1A29B95928B86817C76726D6864605E5E5F605E5B
+58534B42342D28282C343C4042433C2F28221E2223292C2B1D464B4B50565A6162615E55
+493D36383F474E4DFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFF9E93979A918F9FACB1
+B0B5BECED3D0D3D6D5D6D3DAD6CDC8C0B1A495847464564F47413E424C565D656F747A7D
+80808080807F8285898F93979B9DA2A3A2A09E9D9C9B9A9A9B9A9795918B8074675D534A
+464749515960686E72767B80858786848484807E7B7875706C696A69696A6E747C838C90
+979CA1A6AAACAEAEACAAA8A6A29F9B989492908B858281817E7B7B7C81868F969FA7ADB3
+BBC1C7C9CCCDCECFCECDCECECCCED5DEE7EFF9FBFEFFF2A2654D697B90979D9F9F9D9892
+8D88817C766F6A676361606061636363615E5A53483D2E29272A2F373E4147453B322D27
+2527242A2B241E464F555C5E5C5D5B595750463D3A3F444F5172FEFEFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFEFFFEB78E9499878194A1A5A4A7B5BDCCD6DBDDDADBDFDEDAD8CFC6BDAC
+95806A574C4A4846484D58646D757D818384848280808181878B91969B9FA1A3A2A19E99
+95939190919293928E8B857E74685C544D47474A525A62697075787B7C7F828383838586
+8382807D7874706F717172767C848C92999DA1A3A6A9AAA9A6A29D999693929190909193
+938F8B888585828183878C9399A0A9B1B7BDC4C9CACACBCCCCCBC9C8C8CACBCED7E1EAF1
+F8FEFBE5B956354D657A818691938C8E86827D77716C645C58565557595D60636564615D
+584E3F332927292E343C4346484236322F2A2A26222121161840525B615E585451515350
+4D45454749544DA5FEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFDD878D88736D84949C
+9DA2B2C0CDD4D8DFE6EAE7E5E0E0DACFC3AD957C6452494A4C50585E68737C83888A8A89
+8683818284858C91979B9FA2A4A4A3A099928D8A898987888A8A87847E766B615955524F
+5258626971777A7C7E7F808080828486878789898885817D7A797B7B7D828991989EA1A5
+A7A8A9AAA7A29C958D89878586898C8F9397989793908A8988898C90959CA3A9B1B7BDC2
+C7CACACACACBCAC7C5C3C4C7CAD0D9E2EAF1F5FEF6C188402D2F4E616A747D84817F7B76
+706A645D544D4A4B4D52565B5E5F61605D5953493B302A2A2E343A42494C4B4537343330
+2E24201A1D121D43585C5D58514E4E525756544D4D494E584EDAFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFDFFFFF97E716F5D5D788B94989FB1C9D0D8DDE1EEF0C9CBC7D9E6D9C4AC
+967C65554E4F555F6970787F878D9191918F8B8887888A8C91959A9EA0A2A2A19E988E86
+807F808284858789898780776F6964636361656B737980848483838284848486898C8E8E
+939291908E8C89888787898E959CA2A7A7AAABAAA9A69F98908982807F8084888F92979B
+9D9C9996908E8B8C9093989FA8ADB4B8BDC2C5C7C4C4C4C4C2BFBDBDC0C3C7CCD5DCE3E8
+EBE6EDD7A5593D3528344C646E7A7F78716A635D564D44414044494F5558585855555350
+4A4339332F31363D42494E4F4A443833322F281B171718142D4A565659545150545A5E5D
+5D57554954585BF8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFF9560595056758991
+959EB6C9D6E2E4ECE1A54942538CB2BDC3B299826D5F5A5A606B757C81848A9196989694
+91908F8F909194989C9D9E9F9D9B958E837B77797F8386878A8E8F8E88807D7977787777
+797E84888D8E8B89888587898B8C8D9094979A99989898979593919193979CA1A6AAABAC
+ABA8A49E968F87837F8082858A8E96989B9D9E9D99968E8B888A90959BA2A8ACB1B4B8BC
+BEBDBBB9B8B8B7B6B6B8BABDBEC2C7CBCDD0D2C9C6BEBCB0A89C6842394C65747A767068
+5F595349444544484E54575754524F4E4C48433E3936383A3F45494C4E4B453E352F2D29
+1F15141A12184355575C5A56585A5E6363625F5B564C5C5B86FFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFEFFFFFFFBFDC0544B4A57768D979BA5BFD4E6E8E6F2BF484D6561462F549DB1
+9D8B7A6E69696B71787E807F858E959A9A99989897959393949799989898969389827A76
+757980868C8E9295959590898786868788888B8D91939695918E8D8A8C8E91929294989C
+9D9D9D9E9D9D9B9A99999B9EA0A3A5A8A9A8A5A09B948E8A868485898D9296999D9FA0A0
+9F9D98948A87868B9399A0A8ADB1B5B7B9BBBBB9B9B5B2B2B2B1B1B3B3B3B2B2B3B3B1B1
+AFAEAAA7ABB4BDC2C2865034526A73776E685E57534E4D51575A5D5E5D59534E4D4A4744
+413E3C3A3D3D3E404142403B332C2721201C100F12160C25535E61676463686A696A6664
+645F57535F5DBEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFFFFFFF057494D5C7D96A3
+AAB5C8DDEBF1F5E49C426E7B6B5C3A1D529CA093857975757272777C7B787D8892999E9D
+9E9F9E9A9694929494939393908C86827D7D7F83898E92959A9C9A9996908F9091929496
+999B9E9E9F9E999796939494959697999C9EA0A1A2A2A19F9F9E9F9FA0A2A3A3A4A6A4A1
+9D98938E8B89898A8C92989DA0A2A3A4A3A2A09D9893908E8E959EA4AAB1B9BDC0C0C1C2
+C0BCBAB4AFAEAEACA9A8A6A5A3A1A19E9B999994949DA2AFB9C4CDBF8B3C4A646C6E6F6B
+625B59595B60646565625C564D4745413E3C3C3C3A393C39373432312E28271E1C191A16
+0A101613113C656D747474747978726E6765625C52566161EEFEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFDFFFFFFFE7F555962849BADB7BFD1E5F0F2ECC1692E636C634C2E1F4389
+9E9A90837D7C797272757675767E8C96999FA19F9C9B96908D8C8C8D8E8E8E908C8A8A8D
+92969B9FA0A0A2A2A19D99969696989B9FA2A6A8A8A8A6A4A2A09D9B9A9894959A9D9FA2
+A3A3A3A2A09F9FA0A1A2A3A3A29F9E9E9D9896918E8C8B8E8E92989DA1A5A7A7A9A9A8A6
+A29E9B9A999B9DA4AEB4B7BCC2C5C8C8C7C5C1BDB7B3B0AEADAAA5A19D98938E8A898783
+818286909BA4B2C0CAD0AE7039425365696E6A646664686B6D69625B5349423F39363736
+34343333332C271F1A19161516160E17120C11150C12285F797F8588858086807D6D6B67
+645C565B6280FFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE5F626F839EB1
+BEC8DAE9F3F1A8573227485D553D1E266198A09D94877F7B777370717171737B89939A9D
+9F9E9C99938D8686888B8E9092949796979B9FA2A5A8AAA9A9A8A7A39F9D9D9FA2A6A9AC
+B0B4B5B4B1AEADABA9A6A39F9A999C9FA1A5A7A6A5A2A0A0A0A2A2A3A4A3A19E9B999691
+908D8C8C8C9092979EA4A8ABACACACABA9A7A4A2A2A2A4A8ACB2BABFC3C7CBCCCBC8C4BF
+B8B3B0ADAAA8A7A39E9A948C857E7774726F71757C88949FACB8C3C3C7AC5E3A45556269
+716F706F6F6C69625A51473C36333432333330302F2E291D17100806090F110D0E15131A
+19140C166480879597918C928C847D756C696B5D5B5868AEFDFEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFEFFFEFEFFFFE3616C7887A1B7C6D4DFEDF0CE532B1F232B3E371F1E599099
+A09E978A7F79777675737070727A87929B9C9D9C9A958E8985878A9095999DA0A2A3A6AA
+ADAFB0B1B4B3B0AEACAAA6A3A0A3A8ACAFB2B7BBBBBAB8B6B5B5B4B2AFABA4A0A0A0A2A5
+A5A4A3A19FA0A2A3A3A4A5A4A29E9995908B8B89898B8B90969CA3A8ADAFAFAEAEADACAB
+AAAAACADB1B6BBBFC4C8CBCDCECBC7C2BCB5ADA7A2A19F9E9D999490877F77716B686969
+6F767F8B97A1AAB3B8C4BFC5BA79443E535D707376726A675F5244392E2929292C2D3031
+2F2C2A261D0A020100010A14181520272420100D144C7A8C95A4A69B96949486817A6F6F
+6C615C5C64E5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFEFFFDFE736D758B9FB7
+CBDCE6EEEB8F2E2E3B2E21271F153F859AA0A4A29C90847D7E81817C7775747A86929C9D
+9D9C97918C89888B90979EA3A8ABADAEB0B3B6B7B9B9BAB9B6B3B1AFABA8A6A8ACB1B5B9
+BDC1C1C0BEBDBEBFBFBEB9B5AEA9A5A1A1A2A0A09F9E9EA0A2A4A4A5A6A6A4A099948D89
+8887888A8A8E979CA2A7ABADAEADADAFB0B1B1B2B4B6BABEC3C7CACDCDCCC9C3BAB0A69C
+95919091929393918C888179716D69686B707A828A929BA2A8ACB0B0B0B7BBA07B4F3C4E
+6A71777669625441312721242A2F3336383834312D2618040001050D182224292C272821
+0F154273889BAEB39F9C989794928C827D786E645A6771FEFFFEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFEFFFEFFFEFFFDFFAA626C8093ADC8DBE6EDC6673347728C624B3F496C929CAE
+AFAFAA9F928B8D919089817B7678838E98999A99948F8D8E909399A1A8ADB2B5B7B7B7B9
+BCBFC1C1C0BFBCBAB8B6B3B0AEAEB0B6BDC2C5C7C8C7C6C6C7C8C7C5C0BBB4ADA5A09E9D
+9E9E9D9C9C9FA2A5A6A8AAAAA8A39B948B8686858688898D94989DA1A5A8ABABADAFB1B3
+B5B7B8B9BBBFC4C6C8C7C2BCB3A99A8C807876777E82868A8C8D8B88847E787674747A81
+8890979BA1A6A8AAA8AFB3AFB6BBBB99443E576A727266574B392D27262B3139444B4D4E
+49443E331F131013161C2124252625231E101B4273879DAAAD6F3A376B938E919685827A
+725F5B63AAFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFFFCFEFEFFE45E5F6B8599
+B6CBDCE09E58416280BEC1BAA49B99A3B2BCBFC0BCB1A49D9C9F9D958B8078777E858D90
+9494929193969C9FA5ACB1B6BABEBFBEBEBEC1C5C8C9C9C8C6C3C2C1BFBCB7B5B6BDC5CB
+CDCDCECDCCCCCDCECCCAC5BEB4AAA09998979A999796989DA3A8ACAEB0AFADA79E968C86
+8582828384888E92989CA0A4A7A8ACADAEB0B2B4B5B5B8BABDBCB8B3A89C8D8171645C5B
+626971787F858A8E8D8B87837E7B7B7C838C959CA2A6AAAEAEAFB0ACB1B5BAC0C7B58344
+3F606E685F5245362D2625282E3A4A565F645F564B3A271F1E2123221C1818171C19161E
+457583989DAA85301518317D958E585F687C715F6359E6FFFDFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFDFEFFFEFE7F565D75839BB3C5CCB37E6948405593BEC0B9BBC0C8D3
+D0D1CCC0B3ACABABA9A193867D7A7C7E838A9196999DA2A6ABADB1B5B9BCC0C4C6C5C5C5
+C9CECFCFD1D0CECAC9CAC9C7C4C2C3C9D0D4D5D4D4D3D0CECDCCC9C6BEB6ADA399949393
+95949494979DA4A9ADB0B2B1AEA99F968D8784807E7F81868C92989EA1A5A7A7AAA9AAAB
+ADADACABAEAFAEA8A0988B7D7063554E4D525C656F767F858B8F8F8D8D8A84807F818892
+9AA1A7AAADAEADADAFADAEB0B4B6BEC7B1653A4453514E493D332C2421242C415A6A7479
+74685944352A23201C15121A1B32422F406E8488929CA6A85F1D121F60897434362A2F58
+6761637BFEFFFDFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFEFFAF53596873
+86A2B3BEBDAC7B2D373A39548FC3D2DEE1DADEDDD6C8BBB6B5B5B1A89A8C837F7D7B828A
+949DA5ADB3B6BBBCBDC0C1C4C7CBCBCBCBCDD1D5D6D5D4D4D0CCCBCDCECDCDCBCBD0D5D7
+D7D6D7D4CEC9C5C1BCB7B1AAA39C9592939395959697999EA3A7A9ACAEAEABA69C938C86
+827E7C7E828890979FA4A7A9A9A9A6A6A7A8A9A8A5A29E9D9A928882786B60544A494E56
+6069717981878B8F8F8D8785807D7E818A959CA3A8ABACABA8A7A2A3A3A6ADB4B3B8B894
+542A323D3F3A36312F28272A36506D7A7F7F76695C46342A211A13132A4D7B909161688E
+9190979DA39A7130305C80904440483B222E545653B4FEFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFEF64A5968768294A4A9B2B8A0425572654A3E5695CBC3A2
+A6C9D9C9BABAB7BFBFB5A89D938882858A96A1ACB3BAC6C4C9C9C9C8C7C8CBCDCDCCCED1
+D4D8D8D6D5D1C9C4C3C6C8C8C8CACBCCCED0D0CFCEC6BEB6B0AEAAAAA6A39E989495989A
+9C9C9D9D9C9DA1A5A7AAABABA9A49B928C8884828183888E949CA5ABAEAEADABAAA8A7A4
+A09E9A9592908B827973695D524E4C5058626B72787D8387898986827F797373777F8A92
+989CA1A2A3A2A09E989797989D9FA3A8ADA68961442F2124232F353F484D5F737D84817C
+6D5E453726181410213F597AA4AE88584F7595979FA09D988977717E93793954503F3026
+515046F5FCFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8C506B79
+838B939B9AACB761607A7B736854494C4A453F47679FB9B5BBBDC6C0B6ACA49C949096A2
+AEB7C3CBCFD7DAD8D5D1CECDCECFCECED1D5D8DADAD6D1C9BFB9B7B7B8B9BEBEBEBEBFC0
+C0BFB8AEA49C999B9B9F9E9F9F9E9EA1A3A5A7A6A4A29F9E9FA1A4A6A6A5A4A19B948E8C
+8B8B8B8C90959DA4ACB1B3B2B0ADABA7A39E9996928E8A847E7870696159545150545C65
+6D737B7E8182807D79756F6B68696F7781889192949595948F8A8889898C8F9194989A99
+9993938C60332125475C6A73787D857C736C55452F1B1912224777928D90A9884B292C48
+6E93999E948A84757D8B8C46515852443226483C89FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFFD2466C7B8188909095A0B9AB5479807A7A78777C807F
+6F512E52A4B6B9C6CED1D0C7BDB6ADA3A7B2C0C2CEDCE0E8E9E6E0DBD6D2D0CECED0D6DB
+DDDEDBD5CDC2B7B0ADA9A9ACAFAFAEACABABA9A8A198928E91969A9EA2A6ABAFB3B7B9B9
+B6B3AEA9A4A09F9FA1A1A09F9F9F9B979393949697979A9EA5ABB2B5B5B4AFABA8A49F99
+94928F8B847B74716B635D58545354585F676D7176777774706B6764626161646A727A7F
+7F7F8081817F7B77797C7E8286888A8E9096909FACB6B17C3F2E6174797E7E7F7B705F4F
+381F111429496D83949B9A9F9C733D221C1829568F898A7C76818B9E664660584A432B34
+3A38D4FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9636377
+7781848D8D9DAFCA5C607B797A7F848B91927F69443376B2CBD0DFE5E8E1D7D2CBC0BEC0
+CDD3D9E7F0F2F3EFE9E1DAD3CDC8CACED6DDE0DED8D1C8BEB3ACA7A4A6A9ADADACAAA7A5
+A2A099949292989FA2A6ADB2B8BDC1C5C6C6C1BBB4AEA8A3A1A09F9F9F9FA0A09E9B9899
+9B9E9E9D9FA2A6ACB1B3B3B0AAA4A19D9995918E8B867D736C6A655E5854515153575D62
+6668696967635F5C5B5A5A5C5E62676E7376757678787776757472777A7E828385898B90
+9AA5ACBBC8B5683D65767C7D7C786E624C34201325465C758489919695949A885A281518
+1625737F778087959F943B595A52493B213A3467FDFEFEFFFFFEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFFFFAF537172767E8991A0B4C69E5B777D7E87939B9E97
+8878683E3561B3E6EFF2F6F5EEE9E1D7D1CFD2DDE2E7F5FCFAF7EEE3D8CFC7C1C2C8D2DC
+DFDCD4CBC1BAAFA6A1A2A9AFB7B8B9B8B6B3AFABA8A19E9DA1A7ABAFB5B9BFC3C7C9C8C7
+C1BBB4AEAAA6A4A3A1A2A3A4A5A4A19E9B9B9B9C9B999A9DA3A8ACADABA7A09A9593908D
+87827B746B635B5854514D494A4B4D50535658585856545250505355595D61656B717576
+75767676757577787C80838587898B8F9497A3ADB8C3D0CC643F5F6F7574746C624C3922
+17244D67727E848D94918F929495845324151A34737B7D8B9DA3A44D515952443E262136
+40B8FFFEFEFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF4575E
+685F6E7995A2B7CED75C6B828A91989A9B93897B6D6555415A70848B979FA5ACB4B9C9DA
+DADEEBEFF3F5FAF7EEE0D3C9C1BCBDC2CED9DEDCD3C8BDB7ADA5A2A6B0B9C0C3C6C7C6C3
+BDB8B6AFABA8AAAFB2B6BABEC4C8C9C9C6C4BCB7B2AEACAAA9A8A8A8A7A7A6A29E9A9794
+9393929193969DA1A4A3A19D97918D8B88837C736960585049454343423F414242434445
+45444342414142464C51575C62666B7173727473727477797C7E82878A8C8F92979CA6B1
+B6C0CACDD8C252435E6A6D6D71675B472E1C324C676F7F878E9598938E8E929296814D2B
+345F768193A2A99F4E40514A493F2C1A2C3867F3FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFF9753635B596F86A1B4CFE1726E8C91949B9A988F
+81786A6A6768726C6B685F503F312B2D5592C0D4E3E9EBF4F4F3ECDDCEC3BCB8B8BCC7D3
+DAD9D1C7BBB4ADAAAAAFB9C2C8CBCFD1D0CBC4BFB9B3B0AEB0B5B8BDC0C4C7C9C9C7C3BF
+BBB7B4B3B3B1B0B0B0ADA9A39E97918E8C8988898B8C9094999C9E9D9C9A96928E8A857D
+73685C5149423D3B3A3A393736373635343332302F2F31353A414A515B61676A6D71706E
+6E6D6E72777C8184878D9193989FA7AEB6BCCCCFD5DFDEB643384C5D666B6A5F52401F17
+4E65707B828C96989799979599979792817770778497A2A8933D2C3C3C40342A151B324C
+ADFFFDFFFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE754
+61615A64748AA3BCCEA7648E999898908D8882706463646B707B7F7D756B5C452C1F1A27
+4573B0DAE4EBF3F3EEDFCEC1B8B4B2B6C0CCD4D4CDC3B8B1ADB0B3B6BEC7D0D4D7D9D6D1
+C9C3BCB7B4B1B4BABFC6CACBCCCBC9C7C3BFBDBAB8B9B9B9B7B6B6B0A89E958C85818280
+8084888D9297989B9D9D9D9D9C9A938D857A6D6053483F393637363432302F2F2E2B2827
+252225262A3139424D545C626869696B68646666696D71767D83878D92959AA2ABB3BEC4
+CAD9DEE1E49B372D445C6467625D4830181F58656E7E878A979E9D9A969796948E877C79
+7B8497A8A36D2F272A2A2B2B241A1B333961ECFEFFFEFFFFFDFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFF8D646B6463717A8EA5B9C45786918F908A8481
+7A72675F5C5F666E7877736A5C513F211A1A21234D90A7D2EEEEF1E0CBC1B3ADADB2B8C4
+CCD3CAC3BBB2AFAEB1B6BCC6CDD6D8D9D9D4CDC2B9B4B4B6B7BBC2C7CECFD1CFCECCC7CB
+C5C2C2C3C1BDBCBBB2A99D93897E7672747B7E828C949AA0A6A7A8A8A8A7A5A29F95897E
+71635448413E3B393939383635322F2C28242221272C333A424A52575D606365635F5C5C
+5C5F62666B71797D84878D949CA4ADB5BDCACED6D8DACC9E512C384B5358483E27191A33
+4C5A646E7A848C8F8E8C8B8C8A87827B767B8A99A4A0593638291A12191114203B2F4D91
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9FDFFDE
+5C6F6B6B74788292A3B482688686887F81787A746B625B585A5E6162605C56503E211A1C
+1D22293E43545F6B737194B7AFAEAEAEB2C2CACECBC8BEB5AEABADB4BBC5CED7D9DADAD4
+CCC2BEB9B8BABDC3CBD0D5DBD9DFDEDADCD2D1CDCBCAC5BEB8B3A899887C756F69666F79
+8189959EA6ADAFB0B1B2B2B1AFACA89F93857566584D484643424241403E3C3936332F2C
+2A2A2E32383E444B5256595A5A5955504E4E5154585D636970747C81889098A0ABB3BAC1
+C5CAC6C4C4B0733C2727282C231E142332393D47545C6C757D8182807D7D7B7A7B7F8793
+A0A9AA4B3039311C23231721373D333E4CDAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFCFF926975737981868E99A8AD746276767C7779
+77746E665D55504F4C4E4C4C50554F3F2A27222521252A3A4645504B365391A9ABB0B3C0
+CAD4D6D1C8C0B9B4B5BDC5CCD4DBDDDCDCD9D3CDC8C3C1C3C7CFD8DEE2EEEAECEFEBEBE3
+D9D4CFCBC4BAAEA39888776D6A686869717C88929DA5ACB3B3B5B6B6B6B6B4B2ADA69C8E
+7E6F625954514D4A484643413E3C3836322F2E2E32353A3F43484D505351504D4A474749
+4D50565C62686E727B80878E939AA2AAB0B1B2B2AAA19B917D6351443B3A342F2A2C3034
+3B465057636B72777A7A797A7D81889099A3AAAD82232A241133683C32444439344181FF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFFFEFD
+E46774787B868D949FA5AEA86D666E6F6E7272716F6960554A423E3E3C3E47525A5B5B4F
+3D3133404B6A76848074533249739FACAEB6C5D1D8D5D2CFCAC4C3C8CED2DADFE0DFE0E1
+E0DFDBD7D4D5DAE1E9EEF9F5FBF9FAFCF4E7DCD3CAC2B8AB9B8D827A726D6A6A71787D87
+919BA3A8ABAFAFB0B1B1B1B1B0AFAAA59E9485776A615A56504B47433F3D3B383633312E
+2D2E32353A3F43474A4C4C4B49474646484A4F53585E656B71747D8085898B8D90949695
+9289817A6F665A59524D4B4840363932333D464A525D626971777C7E7F82858C97A0A9AF
+AEAA5C181B173F6D744D454038283444DAFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFFFFFFFF99687C80808E9AA7ADB6AEAC536365666C
+6F6F6E6B645643342A2A2C3543515E6A71716C656972788B9595968571502F3C8EA1A8B2
+C7D3D9DADBDBD8D2CDCBCDCFD6DADCDCE0E4E6E9EBE9E7E7EAEEF4F9FCFEFFFCFFFCF1EA
+DACDBDB0A395877B7778787775777F898F959BA3A9ABABACAAAAA9A9A9A9A8A7A49F9A92
+86786A5F57534C4743403C3A3735333231303031373B41474C4F5152535251504F4F5153
+585B61666C7276797C7C7D7D7B78767571726E635D5A53514B4B45494C44404042474D53
+55585F666E757E8387888A8E9398A0A8AFAEA2967452304475796E533F2D29294085FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFDFFFF
+FCE366748581929EABB6B5B9B3A2656168646A6C6D6B64553E2A221F243243525D697077
+787B787E8F9097989A89735B3A2D5C86AAB4C1D0DFE8E8E8E2DBD2CBCAC9CBCFD5D8DEE4
+E7ECF1F2F2F1F3F5F8FCFFFFFDFCFEF2EFDCCEBEAB9C90867F7A7E83888B8C8F969CA1A2
+A4A8ABAAA9A7A5A5A3A2A1A19F9D9A948E877C71645A54504B4743403C39373533333333
+3436383D444B505456585A595858585758595E6065696E7275777A77736E69625B585554
+524F4E4B4749484F5052524F555C616366676A6F747780878F9394939396979DA4A6A49D
+9085807D747371715F40342C273C55DCFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFF99627F828E99A8B5B6AFB1C0865B6667
+646665615B4C352115121C2D4356626C7176797B7A8192939F9F9B98836C5A3C28589DBD
+CBD8E5EDF1EEE4DBCFC2BCB7B9BDC6CDD5DDE0E6ECF0F2F2F3F3F6FAFEFCF9DCB3A9C9C8
+BDAEA0958C8787898F969DA2A6AAACADAEACAAABAAA7A5A4A3A2A09E9C9A96928C857E75
+6C645D5754514E4B49443F3C3A383534333436383D434B53585D60636261616161606162
+65676B6F72747576746F68615A534E4C4D4C4A4C50525457575D5F5F646D757678797C7E
+7D7C80858A8E929495939295989D9F9B928A8683838273746F6150392D2E405589FDFFFD
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFDFFFFFE
+FFFDE65C76828390A5B3B3A5AAB1B8846A6B60605C554C3F29170D0D1A2C4259666D7470
+746F778389989CA1A0978A7A685940305893C4DFECF2F2EDDFD3C4B2A79EA1A5B0B8C2CC
+D0D7DEE5E8E9E9EAECF1F4E7AE5B40436796B4A89E99938F9298A2AAB3B7BABDBCB8B4B1
+AFADAAA7A5A4A3A29F9D9B97918C837B72685F5A5754525150504E4A4440403C38353434
+36393E444C545A5F6366656464646363636566686C6F717272726B665F58524E4D4E4E55
+575A5D6066656A696B7074797E80858A8C89858587898D8E8E8F919091949595928D8887
+8A8D8F7E796A60564233323B5C5AE2FFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE99617F788393ABA89593A1BDC6696C
+625650443E2C221512151E30475D6B7174706C6B6E768490989C9A948A7D7267655C474D
+6F91A3B5D0DAD7C2AD998581848D99A6B3BCC6CFD5DFE5E4E3E4E6E9E7C2824C36383D6B
+A6A79F9898969DA8B5B8BEC2C2C2BEB8B0A9A4A3A1A09E9B9B9A979493908982786D625A
+555251525052545656544F4B49443E3B3939393A41474F555B6064656767656364646567
+676A6D707172706E68625C57535255595E6266696C6F6F6E6D6D6E73767980868A919490
+8B88868787898C8F90929392918E8A888C91959A8F7B69605A4D3F3C45595C94FDFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFEEE6472787889949C8D8591AAC69756685E4E43372E1F1F1F26303C4E626F74736E
+6A6869707C878C92928D83766F6865635C5A534C454A517294AB947F7272788392A1AEB8
+C2CCD9E3E9EAE9E9EAECEEC28955333D5983A6A09F9D9D9DA3AFBBBDC0C2C0BDB4A9A299
+928F8C888684858583807E7A726B5C554F4D4D4E5155595D6162615F5B57524E48433F3D
+3E4043474E545B6165666667666566666668696B6F7172716E6A65605B5857595E64696C
+6F706F6E6C6A6867686C6F747B828990938E8985828183868C929493908C87858689929F
+A0977E655B5552514748546261EAFFFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFB06F7B797A88938B848EA0B8B665
+6C6257493A312E2D38424A4F58677174716C66636369747D838888847A6D66605C57555C
+5E5F58523727438B7F72726E778699AAB6BFCAD4DEE6ECEFF1F2F1F2EFD496544671A0BA
+B2ABA8A4A4AFB5BABBBCBDBCB7B1A597897F7876726F6E6F7272716E6A655D56504D4B4D
+50545A5F6B7073726E6A655F58554F484340404344474C5259606567676969696A69696B
+6F7174767776716D69645F5E60646B71727475726D6763615F5F6063676E777F888F918C
+8783807F83889096969189847F81878C949F967F61524B555A514F57625FABFFFBFFFCFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFAFC7E7F7979878C89828294AAC5B377695F5B4B4441454D5559575A636B6D6E69
+625E5E636C747F817F7D75675B514A463F414956534A3A212964757370707D8FA4B4BFC7
+D1DAE1E7EAEBEDECEBECD8A66C494871A8BFC2BAB4B8B9BBBEC2BBBAB6AEA59D90827469
+62615F5E616468696965615B55505152555A61676F757B7F7F7A756F675F56534F4A4541
+414243454950596066686B6D6D6D6E6E6E6F7375787A7A7974706B666262656A6F747475
+736E66605D5D5C5D61666B727C838C91918C87828082868C929490867E7A7C828A929896
+8165544A5057595D605D6166F5FEFFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFC272807F7F85908F8B94A6B6C4
+9F506A61595953575759595655596063625D575353575E646B6D6C6B635444362C291D1E
+29352F271D1730566E6F757E8A9BAFBEC7CDD3DADFE1E1E0E2E2E2E4C594513736416B9A
+BDCBC5C9C7C6C8C5BCB6ACA0989085776A60595857575C6265676764605C5956595C6168
+6F777F858686827A736C61574F4D4B494744424244464C545D656A6D7273737273737375
+787B7D7E7D7A746F696664656A6E72757473706A64616264676A6F757B81888E9394938F
+89817F82868B8B87807671737B848C9191826652494B5A5B5D5F586356BBFFFDFDFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFCFF997787888C969BA09AA6B1BDC56A6A62615B5B595855514C4A4B4F535552
+4E4B4B4D5256595E5F5D554534251D13050F1F221717182354737E7C888C9AA8B7C2C9CB
+CDD0D2D2D0CFD1D3D6D9DFCC73362D2C2A3E6895B1C8CCCAC8C5BDB2A49B959085796961
+5C5C5C5E656B6E70706E6B676564676A6F74797F848889867E746B63584F494848494947
+4545484C535C646B7174777877767878787A7C7F81807D78716C6867686B717577787472
+6E6A68686D72777A7F84898D91949897948F877D7A7D81837F7870696A727E8B90897A62
+504D5257555B5F5E636376FAFFFFFEFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFCE4717E909397A3B2ADACB3BC
+C8C27C6066585956534F49423E3E4143474746454546494B51595C5A524537281C130D1B
+1F140C17456F878890969EA7AFB8C0C6CAC9C5C3BEBEBAB7B7B9BDC2CAD3B3813C262126
+262937689BC0BFBCB6AB9F97918A80766A656465676C757A7E7F807E7873706F6D707378
+7C808385837E756B635B534D4A4B4C4E4E4C4B4C50545B63696D727678787777797A7A7B
+7B7C7D7B77736F6B6B6C6E72777979787572706F7073797E8385888C8E91949597969086
+7E78777A7C7C766F6B686E79838B88776254535A5C5B5C5F5D636650E0FEFFFFFDFFFFFD
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFBFFFFFFAE6F91989BA8B2BAB4AEB8BED0BC49605D5E54524F49423E3E4042484A
+4C4D4D4E4F51555E61615D5548392B211D2824161222749BA1A5A7AAABB2B7BCC0C2C2BE
+B7B2ADADA9A6A7A9AEB4BFCEDAC7612F2833362F24224A97AFB0A59E9791898078726B68
+696C6F757D82888A8A867F7872706C6D70737578797A77736C645E5954524F5154555351
+5254555960666A6C707476767575797A797A7B7C7A77747372727576787B7E7E7C7A7775
+7374777B81868A8B8C8E9092949593938A7C7575787B7B7B746E6D6D7481888374605456
+5D5F5D59655A65635A9EFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFDFFF9767E979CA4BAC3C1AEAE
+B9C8D08B46595B5D575351504B4E4B4F5356595A595A5B5B5D62676C6D695F5143352E31
+342C20206FACB6B4B4AFB1B2B2B2B6B7B3ACA4A4A1A3A4A6A9ACB3BCC7CFDFDABA792A32
+33281F1A3F819D97938D857C75706C6B6665656970798084898B887F77736F6C696A6B6E
+6F6F7072716D69656564615D5D5E5F5E5B58585A5B5F63686D6E6E717375787A7A7B7A78
+787674737374777A7B7D80807F7D7974717274787E85898C8F8D8C8D8D8D8E908E867E79
+76797E817D7B777474777D8283736055586266605E586263695A64F9FFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFDFFFEFFFEFFD26A939AAAB4C9CDBAAFB9C1CBC970425E666A645F5E5D615D5D6163
+6564626161605E63676D706E66594D3E34373F3B2B244292B9BBB8ACA7A39E9999989694
+92969DA1A6ACB4BDC8D2DAE1E6EDEEB94B26231B29415C778182807A726E69645F5D5E5E
+60666F777D8082837F7772706E6B68686A6D707172737473717070706C68676664625E5B
+5B5D62666A6E7171717376797C7D7D7C7A787774727476787A7C7E80817F7974706E6F71
+757B82878889878684838384858788827E7D7C808382817C767273767877685B52565D60
+5B5350566268624CD3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFEFFA17499A4BBCCD3C5BA
+B6C4CCD2C85C4A6F817F7A736A686364696D6E6B676361605D6063696C6B655950403230
+3A3E332B1D386790ABA69B9088807E7F82878C959FA7AFB7C2CEDAE3E8F4F4F3F3D78E6C
+60545B6970737377736E6B6A67615C5B5D5E6169727A7E7F7E7E7A747171706E6F6E7073
+777879797B7D7E7D7D7D7873706C6763605F6062666B70747777777A7C7F8182807E7B78
+76737275797C7C7C7D7D7B766E686566696D737A808281807D7D7D7D7F82858685807E7E
+7C80827C776E66636466635A4F484A55584F4540475D6A61539EFFFEFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFF9777793B8C9CECABDB8BFCBCED3B33768878C897F6F665F606468
+6B6966615B5956595B5F63635F55493C2C242C36322E2A1C1F428A948183756E6E747C85
+8D98A5AFB8C1CCD7E1E8EEF4F7F6EDE5CEBDA894867B75797B7E7D7A7978726A65666667
+6A727B81838284837F7B7B7D7D7B7E7E80828383838386898A8987857F79746E68656465
+686B6E73787C7E7D7D8081838483807D7976747171747778777674716D6964606163676B
+72777B7C7B7A7A7D7E80848A8C8B87807D797578776F6357515252504A3F373A42484136
+353B4D635E5B72FAFCFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFEFEFCFFFAFFDD5479A6C5C3718A
+BCC0C4C9D4CC6A588A918C8374695C565A5F615F5B5146414245484E5254534A3F301D13
+1C2826212220161C698F83796F696B737E878F98A0A9B3BCC7D2DCE3EAEBEEF2ECE5D5C1
+B5A397929195989B9893908D857B757477777A81888D8E8D908E8A87888B8D8D8E8F9191
+908D8D8D9193928F8C89837E78736E6C6E7174777B7F8283827F7C7E7F80807D7A76726F
+6E6C6C6D6D6C6B6A68676664626063676C7075797A7C7E80818487898C8F8D897F77726F
+6D6D66594F45434846413A32363C403B312D3541555E5950D5FFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFDFEFFFFFFFFFDFEAC4C87B8BD312265837965748E6346848F8A807064574F535A
+5B585143352E2E32353B3F413F36281A0D0B171E160E131E2A315D8387766C67686F7A85
+8C949BA2AAB2BBC6D0D9DDE6E7E9EAE4D9CDC4BBB4B0AFB1B1AFACA59F9B978E86838486
+898E93989A9C9E9C979494989A9B9A9B9C9B99969596969695928F8B87837E7A78787A7C
+7F81858685837F7A7779797A7976726F6C69686767666564646566696C6B68676B6F7477
+7B7E8083878A8B8C8E8F91908A82746E6A6B6C685949413C3F45423C38373E413F39383E
+4951595345A2FFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFBFDFFFFFF766797BA5D2A
+222D293B49413A3B738381756459525059605F554734221B2226292C2D2B281E15101013
+17150F10324F65798B877E7C726C6B6E78858D949CA2A9B0B9C1CBD4DAE3E5E5E9E7E1D9
+D0CDC7C1C1C6C7C2BAB3ACA8A6A0999493969A9EA1A5AAADB2B0ADA9A7A7A7A7A5A4A2A2
+A09E9D9E9D9B9997948F8B8885848384858687888887837F7B7775777879787672706D6B
+6A68666666686B6E72757876737275797B7E8185898C8E8F8F8E8D8D8E8A8279706F6D6D
+6B604E413D404447454243454A484342484E5357594577FFFFFDFFFDFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFEFFFFFFFDFFFFFEFFFDEE5E7B9E993B392025486C6B5A596F817E715F5754555F68
+685F503C2C282A2E3132302B261B1817160E05041229405460788485827A746E6B6B7380
+898F979DA6B0B9C1C9D3DDDFE6EBEAE8E5DDD3D0CED1D4D5D4D0CBC5BFBAB6B1ABA7A7AB
+AFB2B4B8BDC2C4C4C2BEBAB5B2B0AEAAA7A6A6A5A4A3A6A29F9E9B958F8D8B8B8C8E8E8E
+8E8E8C89847E7A7776797A7C7B79777572706E6B69696D71767A7F807F7C7A7B7D7E8182
+868B909392918F8C8887878279706C6F6D68604F3E373B42484745464A4E4F4B484E5759
+5B5F4C5BEEFEFEFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFBCD63899284
+3F45354369777973737B7971685F5C595D6667605C4B3E382D2C2E2E2A282317170F0504
+0A0E1928394853616F72706A67615F60666F78868E9BA7B2BFC8D0D9E2E8EAEBE9E7E5DA
+AA98B0CBD3D5DEDADBD5D1C8C4C3BDB8BBBDC2C3C8D2D7D8DCDFDED6C9C2BCB3AFAAA8A5
+A6A7ACACAEADABA59F99948E8E8E919697949294928D8682807B7A7C7E81817D7B7C7A74
+736E6B6E7376787A7F7F7D7B7A7A7D7F81888F929395928D867F7E7E79746E6764625D54
+4637303438414645474B4E4F4E4D565B5B60605849D1FEFEFEFFFFFDFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFEFFFFFCA97985888B4E605863707E7673757779756F695E5656
+56504D443A2D2723211F1C1C1C18242928222020263040484D545A5B59534D4846454B54
+606F7F91A4B5C5D1DBE6EDF2F4F2EDE8E2D6C3A8A7B6C6CFD2C9AAABBDCDD1CCC9C6C5C9
+D1DBDFE0E7EEF4F0ECE5D9CBBEB7B2A6A4A9B0B1B6B9BAB5AFA9A19892918F91969C9F9E
+9FA09B96908A848080818482807E7B79756F6E6A696C6F7274757676757474777C7F878C
+91939491898179767778756E665D5651473E352D2C3136404647494B4C4D51575E5C6060
+5E4FACF6FFFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFB84827F
+8CA4555F5B68737B716B6C747676716255463C30292321171A15131A283B526256585044
+3E3D3F43494846464543423C3A3736373E4A58677C91A8B9C8D6E2ECF4F8FAF7F0E7DDD0
+C3B6B3B1B7BDC3C6C29E8C96AFC1CECCD4D8D9E2ECF0F4F1E8E1DAD2C5B7B4BCB4B2B3B1
+B6BDC8CBC3BCB1A69F99918B8C91989EA2A5A6A7A29D978E827C7B797A747272706D6966
+605D5C5F6263656667686A6C70767D82898B8E8D8A837A7273767A797165584E49453D34
+2E2C2F3541474A494747494C5057595C5F614D83F7FFFDFFFFFEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFEFFFCFFFFF87673769F975E66666776706660666D7170675241
+2C1811162E4148464C5D6C6C646162605D5B5B5854534B433D393635353130303136414E
+5D6A7F93A7B5C3D2DFE8F1F3F3EEE5D9CCC0B2AFB0B0B5BABDC1C2C0BAA792838691A0B3
+BDC2BBABA19472605350494254748E9EB5BEC5CBD1D0CAC1B2A49A938E8D8F969DA2A5A8
+A8A8A29B948979706C66625E5E61605F5D5B5855545557585B5E6365696C7074797C7E80
+82807B757271787E7F766756494342413B332E30373F4B4C4B4947484C51595A595F5D4F
+65F5FFFFFBFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFDA65
+6282B080636972686D675E5F66686761513713092A475C6C75787A776D5B5459575D6366
+67625B564C3F35302E303332373B3F4855616C758391A0A9B4C1CBD1D3D3D2CFCBC6BFB9
+B2ABACB3BABFBCBABDC4C9CCCCA455343643474A443E4E5B6E7F87817B726151403F5C8D
+BBCDD4D5CBBFAFA69F9793979AA0A6A8AAAAA8A69E948A7D6E6560595455585A5B5C5C5A
+5854525355585C61676B707374747575767878746F6E707378776E5D4D423D3C42403B36
+353C485152504E4C4C4E5358595E595A4F5BE1FFFEFDFFFFFEFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFEFFFFFFFBFFFFC84F5A8FB2676669727170696669665C51422F
+13133E5E6A707575737168574A48525A5F5E5F625E57493A2E27272C3239424B545F6B74
+7D818B92999EA4AAADADABA9A8A6A9ACACAEADABB1B9B8B9B9BDC1C7CCD7E2B8462C3348
+5A6A73767C7E84868684827C71685748332C5085A5A3ADB8B9AFA7A3A2A5A5A9ACADADAB
+A6A29A8F837669615C57565A6063646667635C5957585B5F666C7275787A787674737473
+716E6C6D6D6C695D4B3B323135383E3B393A404B555A5C57535253585D5F5A58555661CB
+FDFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFAFFFF
+AF466596926378777B7B7573726E5E472E1B1329536A7274797978746B5F555252555654
+53544F4740332923252B354253616C7881858C8E90929596979694908D8A8A8A90989CA2
+A7A7AAAFACABAAB2B8C5D3DEE7C95151708289838285858281838483817D756C5B4A3521
+1C22343E547B9FB1B7B6AFABABACADADACA8A19C958C8178716A656465696F727272706A
+63605F62676D757B8080807D787573727373716F6E6C645C4F40312A2A323C3F4442454C
+545C61615F5956575A5F605E55546560A9FFFFFDFFFDFFFFFFFFFEFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFDFFFFFDFFFFFFFEFF9A5475A07A6F7A7E7B7674757464472516
+2B5267666C72726F6E6E6D69615B57575857524C48453C332C282C333E5061717D878B8C
+9193959493918D88827D7773716F7378787D8184858B8E9497A5AEBBCCD9E6D452557D87
+8C878685808283818486827A6D604D3A291E1D1E282D35394E7AA6B5B0ADA8A7A6A6A49F
+97918E8983807D78747575777B7D7B78716A666464686E757D848684817C777575777A7C
+7B7670675647392E292C323E494C4C4B51595F6365655E5A595B5D5D584E5866639AFFFF
+FFFFFEFEFFFFFEFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFF885F84AC6B74807A746B6C696256331C4C646A6A6B65615A595C5D6164605D5E5E5F
+5A57565048413B3A3D424E5A6B7781868B8D8D8D8D8B8884807A746F6C67626060616161
+67686B71787F8992A1B0C2CDDACB544C727F848582818384828587847B6F5C4835231719
+4B7D9A73563D33526A7FA1A59E9A9998938E8A868385828383828380807D7F7C77726B66
+6062656B737C828487837C7B78787E8085857F75685441393031353F4B55595857575B60
+63666663595A575857544B56696383FEFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFE816390A8657673716C5C5A594F4626
+336F787B705F554A4446484F595D5D606366666565615B524C4B4E525B6570798080817F
+7C7A787776757573706F6C696663615F5D5C5F61656B747C858F9BA9B6C2CCC582575B6F
+77787F837E7B7D7D7D786C5B473727161E4890B9B8865F43384B6981999997938F8A827C
+7A777A7D7F84888B8C89827975706B67605B5B60676F787E828484827F7F7E8087888784
+7B6A564339383B4049545D62605C5A5C5E606368675F595155574D41596C6774FFFEFFFD
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFEFDF9846A8F915C64665C524E4C484B4136467E838073604D3D3633373F46545A626B
+70727470695E5656595B61686F757773706B6562616163686B6E7174777674726E696766
+666A6E767F879099A1ABB6BBC2C9C6933C536C76787674746F6A665E504030251B114A99
+BFC7A0482F2734558B979595959089817771707173797F878D8E8C877E706862605D5855
+59616971797F81847F8180818082858282735E4A3A33363C424B58626766605B5A5A5D62
+67685F53524F53464B5C6B6375F6FCFFF9FFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFEF26C6A8B8C5052524D474247404E
+514B3F717E7F725B443934353C455059636F79808584786B605D5D5D6065666968625D58
+535052545A61686C72777C7C7C7B77747476797D838B939AA2AAB3B8C5C5CAD2DDBA6B57
+637478766E645E59564F4435241A14214A869672442C29201D38889D9A9F9E988F847B76
+77797F8790979891898170645C5A5A5A56575F6971777F8283858383817E7A7670675945
+3329272C353A49515B60615F5B585C5D646B685B4F494E4D514C606B6363EEFFFFFFFEFF
+FBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FDFFFFFDFFF074667B81533A3E444E454645575A5346436970604D423F404955646C727A
+838B91928778685F5A57585C5E615E57504B48474A4E565F64686D71757676767475797E
+878C9299A1A8AFB6C1C5CDD6DEE7EACE5E5372837E776B5F514B49433B2F1F181A253039
+3032404941301F307A969FA0A39D938A827E7F81868F969993867C73625C5A5B5E5D5B5E
+6871797E83858483827C74695F55483C2E25212428323D434B4F53545355575961666D6C
+5E4E4A4F575C536D726061EEFFFFFCFDFFFCFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFBFFFCFEF1716F76786B45413E4B4444
+4A586151322C55544F4B4B4F5A66778084898E919493928575675C57575A5F615E564F49
+47484D535C626668696B6D6E6F7071747B818A90969CA4ABB2B9C3CACCD9DDE7EECF555C
+8184807B695A524C494136281A1A202A282A2C3A525749271B33647E969D9C99938D8985
+84868C929492897D766F6565686A6B6A686C74797D80838786827D6E6051453A2E272223
+2930363D434747494B4C4F555D61686C6A5F534F535B616976736068EFFFFCFEFFFEFFFF
+FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FEFFFFFBFFFFFEF071727D77786135343B3A3C444F503616222E363D4A596876818C9194
+98989A98979186786A615D5C6366655E575151545A61696D6E6F6F6D6E6E7073777B8186
+8D92989DA4ACB4BCC2CCD3DBDEE3ECD3525780817E7B6B5E534C4B402E1C15222C483F2A
+2733463C2816305A7A8791989EA09F9C98928F909295928F8983817F7E80817E7B777376
+7C7D80828386847C6957483C332E2B2D343C454B4D4A4542474A4E52575D636569696158
+555A636A7878766675EEFFFDFFFEFCFFFFFDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFFFDFFFFFEF06E737D7E787E533B28
+2F2E363A30140E1B263249627785919B9D9D9E9FA1A1A2A39F9282746A65656A6A655F5B
+5C61666E75767777767376777A7F84888D91979CA0A4ABB4BDC5CDD0DCD8E1E3E7DB5E4E
+76807D796B60564B4537251B2646719C976E452429231E366B83858C93A5ACB1B3B1ABA1
+9B9B97989594939397969999968D847C757776777D828080796B59473C35313136414A54
+5A5650484343484C52575C5E5E5D5A5C5C5C6066748383786C75EFFEFFFFFFFCFFFFFDFF
+FEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFEE78727D73767D7C5D441F18212213173C313751688D98A5ACAEAD
+ADABADABADB2B0A39B8E81767271716D645E5E60656C73777979797C8086888D96999BA1
+A4A5ADB3B8C2CAD7D6E1E1E8E7E9DDA75043747D7B71695B4C3F382D15195291A2ADB6B0
+9C73434A6C859093999AA5B6C0BFBFBDB4A8A09E9BA09D999EA3A4AAA5A39C8E817B7673
+74767C7E7B786954473E3634353A444F585E5D53494243475054595F5553515255616063
+6D7984522B6885F2FEFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFA786B71636B7B85
+8E8C66351F1D1D5C604F607791AAB1B6BABAB7B6BEC0BEBDB4B2AC999586817D7A73675C
+59585F666D73787A7C7F848A91969CA2A7ADAFB9B9BCCBD6DCE0E9EAE7EBE9DEAD573B4E
+757B7D7164574A3E33271F3772A5B3BCC2C7C9BDA1A59F9D9AA0A7A8B0B8BCBCBDB7ADA6
+A39FA3A0A5AAA7A9AEACA6A19991867D7A74777777767269594B3F3A36363B444F586160
+574B45454B52595D5C5850504F545D626B71897245383E85F4FEFEFFFEFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFDFF8B64544E627D8A9EA49C78673D5B7E796E8099A9B4BDC0BC
+B7BEC9C7CBC8C4B3ACA1928F847E7973665A5555565D666F787C7E7F888C979CA1A9AEB4
+BCC2CFD8DDDFE4EBE7E4C1A8986C46425D7985807E736B635C514C4839365273919397A3
+ACA69BA4A4A4A4A6A8ADB3B1B5B0ACA8A09FA2A4A5B3B2AEADACABA9A7A19998928A887F
+7775706D695D5049423F3D3F48535D62635F554C4A4E555C5D5A51474953575F696D8282
+51493D3192FBFFFFFFFFFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFBFFA854373751
+6A7F8B94898188797F807B828EA2B5BABABCB8BBC5CED3D1CBB9A5948F817C76726C6156
+5455586068727B8082858F929CA2A9B3B8C2CEDBDEE3E6DECCA675645B5D61656C74808A
+8988807B7B7871727779746B635D5B5850494039455B839FABB0B8B5B1B5ACAAA49D999A
+A2ABB1B4B1B3AFACAEA9A8ACADA9A297897C726F6B69665F5855504C494D56606567635D
+555153575A5B544A45484E58606E778A664535373BA8FBFFFFFEFFFFFEFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFEFEFFFFFFFBB04A2B2F495F71797E787B848A87817D88A4AFC0C4C8
+C5C5C8D2D6D9CFBAA58F857E7672706D645E6063686E757B82878B90989DA5A9B2BBC4D3
+DDE4D8CBA2757F7882858582868985868A858080797A797D8181818182817B73726F6661
+635E52433C49739AA1AAB7AEA9A8A09DA3A4A8B5B9BEBFC2C1BCBCBCB5BCBEB0A59D8674
+6F6D70716E6B68625A5451565F656666615C59595A57504A48424A58636E7A8184473221
+2345B2FFFFFEFFFEFCFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFDFFFFCE4D2C
+3C435F7371787C8793988F8D9697B1C1C9D3CFC6BBBCB69A836E7B90877872717474706F
+72757980868B9093969A9FA8AFB5BFCAD6E1E8D3A87C7C8184868B8081807A7978787470
+6B65646867717274797D79716C6C625E58545858574F4D4D48484B4F54567797A6A3A8B2
+BAC2C7CAA87A6C6D645C594F464358787E7374747B7E797672675B56545B636666656362
+615B504845444C5863677181846A2A26321A55CBFFFFFFF9FFFEFFFAFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFBFFFDFFFFFDFFFCE655304F5A6C7C818595A7B5B3ABAFAFBAC9D1C8
+91605260625E60503643728075787E83848586868C9095999EA1A4A7ABB4BCC7D0DCE5DC
+B274808B89857C7B756F706F6B6F6F686665625A5A5A5A5F656B6C69696C675E5C4F4A49
+4D49474848555C6165655F534042567EA4B3BCC8C37E575D6E766F69635C4C3421396A79
+78787C7E7A756D635A5B5D626769686769635C514646505961696D7C8E8562243B5B5E6B
+E0FFFDFCFEFFFFFCFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFDFFFEFFFEFFF6
+7E3F5168767F8C98AABBBDB9B9B7C0BA9B76556172767676766D623E2F4F7E838D979DA2
+A29F9E9E9EA0A6ACB2B7BCC1C7D2D7DFDEBF787E877F7F76726E6B6B666263636161645E
+5B54524F58585B5E636765605A585049494448464240454953606262625B57493A384B68
+746F5D60767E7A786960564C3B311A2E6D7775767575736B625D5D63686A6B6D6C6A6559
+4F4C4F59656A6F787E8773494E545D5B81F4FFFFFFFFFFFFFAFFFDFDFFFDFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFF9F3F516C7B8A97ABBAB977493F473E4764
+7A807E7B7573746E6B5B43293B718F9CAFBBBDB6ADA3A0A0A8B3B7C0C5C7CCD2DBD9D771
+6D837E75726A6A68676463625F5D5D5C5C57555552505152575A5B5B59544D4944434549
+4A47403B40454B51565B5D5D5D5C5A5B5D5E656F787D7E786A584B4741312A1A15407475
+726F727069615960676B6C6B696A69665C575558606B7072797F826D445F5B5846A7F7FF
+FDFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFF
+FCFFCF5B5569798DA1B8BC903A3E2D334E707F807E7A726767686358513C253C7BA1AFC2
+C7CCBEADA7A5AAB5BDC7C9D0CDD3D6E3BB716A7D7B7168636261605E5E5E5C5A59575753
+514E4A4A4C4C51535453524E48474343464A4A463F3B3A3E444B515759595B5A58595E65
+6C727070695C4E433F40392F221C4375877F7E79736E66605F64676C6C696B706E696659
+5F676C73767A7D80756E6A54495BD0F5FFFFFEFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFDFEFFEC795567728EA9B89E40534B43506C
+7D827D73695F57595A504637221348788FAFBEC7C4B0A9A7A7B1BBC4CCCAD0D2D3DDA749
+747F7B7466625D5A545354565759585654514D4742424443474A4B4A4A47454545464A4C
+4A433B3635383E454E5558585856545152585B5A59574F443C38393D35251B2F759E9590
+8A8978686160697172727274797D786F6561686C747A777D7D7B7861495085EDFDFFFCFB
+FFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBFF
+FFFCFFFFFAA95A6F7B8DAAB56156695F616F7B807C75695A4A4145422F2117182F4E647C
+96A3AA9F9B9998A0ABB6C3C2C5C9CEBD6254747E756F68645E5B595654545353524E4E4A
+45403C3C3E3D3F4142424242424448494C4B453B312D2D3037414C55585755514C464348
+4B4846433F3A363233382F221B20363C3C4954646B62666B7078807D7F878981746D696E
+7B7E7C81847F705F524B5BB3FAFFFDFFFFFFFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFCFFFEFFFFFFDB73648496B3A9566A737775
+77787067553C2C1F232919142E4344454F5D798C9999968D89898D96A8B0B5B3BAA75F3F
+6578756C68666564625F5B5753504A433D3631313234393B3A3B3A38393B3F43484A4A47
+3F3329252429323E4B5355534C41373231383D3D3F3C3936302A2F3B3E3F435062656050
+2E375B646B777B8385868A8C877C77777C867E7A7F7D6C55504C4B78DCFFFFFEFFFFFFFD
+FDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFCFEFFFCFFF5A35F7D9EAC9A576A726C6D7066564334231419160315394546445267
+7C9098A09D938A817C7F8895A1A1A7ADAE555961726C67636463615F5C58524B42392E28
+262A2E32383C3A39363334373C42494949463D332B28292D353F494E4C4841342A292F36
+3B3C403F3D39322E394A5260646B726B614A2C23566D6F797E82868E938D83808283837B
+6D7173615553464CA8F7FFFCFFFCFFFCFFFEFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFCFFFFFFFFFDFFFFD9737296A361656763
+5E5F5C513E3622151210112D41424A54657682919A9E9C958D827A78808E929A9BA4AFB1
+77476569655E5A595B58554F473E32261E1E22282C2F33353A3A373537393D4248484744
+3E373230323335393F413D392F2A242630383D404445433E3A3A45535E676C6C69584E41
+27204D626C78838B9497948C87868077696061615C58504872DBFFFFFDFFFEFFFFFEFEFF
+FEFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFEFFF9FFFBFEAC6D858E6F5C5852545B594C372B271835698069574C566773
+80888D8A8888858282818894A0A3A8AFBAC1BB4C646F6C62575452504B443B31251A181F
+2A3133353735393B3B3B3D3F4144454544423E39363534312D2D2F32302D272724252C33
+3A4141423F3C3E444D565959615D5445372B1E305A6D838B8E959A8771676C71695C5C60
+5F5C5E4958B5FBFFFFFEFFFFFEFEFEFFFEFFFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFCFFFEFFE1878089815C
+2D314A59544838312E214C848666504A4F5F6C716F66646569717A848E9BA6ABB3BDC6CB
+AD556D797E7060574C464239362F2D282F3C464949474544424242454A4D4D4B4843423F
+3D3D362E261F17171D2021252523201D1F262E333134363B444D535655504A4234292419
+28607279838787877B411A244A57565C62655F564983E9FFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFEFFFDFFFFFABF84878C864C3640514A3E3239312F30717F6C564E4D
+5A63625E5D5B5E676E75808B979EA6B0BBC5875172847C706D5F564B4743403A3D3F464E
+545454504D4B4A4846474B4F4F4B433F3E3C39362C2417120E10161B1F24211B15161E27
+2E31363439414951534E4B3F332922201C16486D737B817F7F7C7547334251515B66655B
+526BC3FFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFFFFFFF9FFFFF8B884
+8C928D8A724640403F444A3F315E877F675A5461696B6D69686D72777E8286898B8E98A3
+926058696F68675957535352535355525455555454524E4D4B47423E3B3A3124211D1F21
+211E150F09080C141B212628231F1E242E363B3D3B3C454B4A4943392C1F1A1A1F242021
+6578858483857C7D684F474D555F6C665A65B4F6FCFDFFFEFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFEFFFCFCFFFFFFFDFFFFEFA9937E7F81463C46565D5D58544643566A70
+6B656A6F74726D6A6B70777D84898A88898D8F967052565A5555565A5C57555557575550
+4C4B4C4B4846423D372C221D15090A080D1216150F0C090A1420282E32312C292B313839
+3938383F4B514E463D34251B1F29343326275262606367706D5C534B4A5165676062A3EA
+FFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFDFFFFFFFDFFFFFFFBFDFF
+FFE79A4F403247545F696D695D5B565248394565626566665F54535967727F888D8D8987
+8A8B8D896244424E5256555758554F504B4643444645413C352D200F0100000001030A11
+1616121214161F2A30353634302D2D32353431313947545A574B3C352E354448473F2F31
+2F302E1F2A51534B45415862616597E8FEFFFEFFFFFBFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFCFFFFFEFFFCFFFFFEFCFFFFFFE2964D31425A5E64625B4D504C473B
+25294C4D49443F393D4555626F788185827D78848A8F9088603D4A4F504F4B4B47443E3C
+3E444949443C322411050101020200050D1215141011191B232B2F312E2B282C3133302E
+323844535A574F433C404C4E4E4340423D3E392F283C4744403E4C55585594E4FFFEFFFF
+FFFEFEFFFFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFEFDFEFFFFFEFFFDFFFF
+FEFEFCFFFFDD862E182B4D5050463F413B2C1E113A47453B3537424A576570767A787069
+6F7582919BA4A3A2564D525C514A443E3D3D40464A4B443A281805000200000313191E1C
+1A1713151E2225292D2F2E2F383D403B34323A43494D4B433D3E475252473C383B3B332B
+283E4F4E4644414841418FE8FFFCFFFDFFFFFDFFFFFDFFFDFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFBFFFFFEFEFFFFFFFFFEFDFFFCFFFEFFFFFDE089231A304947453B3523
+142A405B615245454E5259656E7172716C6869778696A5AEB4B6BB72516765594E474442
+42434341382C180E010001010B1D2F3538332F2D2B2F2F31302F343940474C4840373235
+3C4246413D3B3E4449493A322D2E2921293549534B463F39383B94E0FFFBFFFEFFFFFFFF
+FFFEFFFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFE88D24181D2D2B2E1F0826566F6E61534A515357585D6972727173
+76808F9CA9B4B9B7AB4D56696C594D403C393D38382D1D13010000040F1B2A3A4C524F4D
+4E5055534F443D3D3E454A464946393231363F3E3C3E3A3F41382C1C1C13141E2735444C
+4D433A3939509CEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFEFEFEFFFEF2AA62433E3324
+20364D6671705F443F4C4E515662737C7D7F858D98A4AEB3B4B37F2B5663635D493C393A
+3E352F281A0402040B1B2A33383C474D4E53585B5B564F49484B46414346413A302D3135
+39373933383223190F0D1F2C363B454C473D3A3C4267B1F2FFFCFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFDFCFFFFFFFBDB93554A514F54637B867B685749505351525E6B767E
+83878D96A0A2A4AA9C3C4064625C46423B36393C392D29242B2F3A45474139353A404855
+6064615A58595A554E463E383328201F24282626212016140C10344B52514E5050433E4A
+4F8FD4F8FFFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFDFEFFFEFFF2B8
+764C575960666D665B615C5E564A4649525D686B6C6F777D8795884853635F554B403A3A
+3438444A5054524F50514B464442474F5B656765625F5A5F5F554B4130241A12110F1417
+131516140E14314C52505B5A57534C4F7AB4F7FDFFFFFFFFFEFEFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFDFDFDFFFFFEFEFFFDFFFCFEFFFFFFE8A16A57676B5C4E4F535552483D383E47
+575C5B57595F6D7E8585504A4C504F534D4C474D5C696A6561544B4B4F56595754586060
+564D4949514C473B2B1A0A0802040A0D131A1C232528374B55535764655D5870A9E2FEFF
+FEFFFFFDFDFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFFFFFFFDFD
+FFFCFFFEE2AB816A595554585A524034353B3A43454242495663727A80674B3C3C424542
+4A565E69655D5149454A51524C443B383C41454A4D4C3F302417100D090C1421323D4445
+4246454A4850545B685F7AAEE6FDFFFFFFFCFFFEFDFFFFFFFEFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFCFFFFFEFCFFFFFFFFFFFEFDFFFFFFFFFFFEFEFFFFEFBB865B5B615F4D3C322A
+30373C3D3F454F565D5B54585763605143403B34374845484C4844424039302A282D404F
+55544639200F070309181F252F32323436323338434A52536795C5ECFFFEFDFFFFFFFFFF
+FBFFFFFEFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFFFFFFFEFFFBFFFFFFFF
+FDFFFEFFFFFEFFFEFFFFFFD6A67D5E524C413939393937383B3D3C39383D4B555F615D5B
+5D6974613A424A413025262B333C3D44524F3E2F20181906060D11161D292E2C272F3839
+40485C90B7DDFFFFFBFFFEFFFFFEFFFEFDFFFFFDFDFFFFFEFEFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFF9DCB292
+73563E3B393236423E3E434B51575C5E5A56616B818655283327140F14233E4A4F4D3C34
+1E15281D111A1D1F252827273432384C7195B9DEFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFEFDFDFFFFFFFFFFF3D4AF8F745A464C494D565E62605B5D63
+6970797D6F5D5F663510243B4650402F251F1815171925292F3434354E7198B3D9F4FFFF
+FBFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFE
+FEFFFFFDFEFFFAF0D0B79980716A66626E77787E7C767974695F4D484B4C483B2A232626
+2B343E55698AA7B9D4F1FFFEFFFFFFFDFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFDFDFEFFFFFFFFFEFEFFFFFFFEFEFFFEFEFFFFFFFBF6F1ED
+DCD3C7BABDBBA99F9DA7ABB1B8B0BEC9D0DEEBF2FCFFFFFFFDFCFFFFFEFEFFFFFFFFFFFF
+FFFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFFFFFFFFFEFEFE
+FFFFFFFFFEFFFFFEFEFEFFFFFEFFFFFFFFFFFFFFFFFDFEFFFFFFFEFCFEFEFEFEFFFFFAFE
+FFFFFFFBFBFFFFFFFFFEFFFFFEFFFFFFFEFDFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFEFEFFFEFFFFFFFFFFFFFFFFFFFFFFFDFEFFFFFFFE
+FFFFFFFFFEFFFFFCFEFFFFFDFFFFFEFEFFFFFDFDFFFFFFFEFDFEFFFEFEFEFFFFFCFEFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFEFEFFFFFDFEFFFFFFFFFFFEFFFFFDFFFEFFFEFFFFFEFEFFFFFFFCFDFFFFFFFFFBFFFF
+FFFFFDFFFEFFFFFFFFFFFFFFFDFFFFFFFFFCFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFDFFFFFFFEFDFEFFFFFFFFFEFFFFFFFEFFFEFFFFFEFFFFFEFFFF
+FFFFFFFEFFFFFFFDFFFFFEFFFFFFFFFFFFFEFFFFFFFFFFFEFEFFFEFEFFFFFEFFFEFEFFFF
+FFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+end
+%%PageTrailer
+%%Trailer
+%%EOF
diff --git a/Master/texmf-dist/doc/generic/pgf/macros/pgfmanual-en-macros.tex b/Master/texmf-dist/doc/generic/pgf/macros/pgfmanual-en-macros.tex
deleted file mode 100644
index c73768aa934..00000000000
--- a/Master/texmf-dist/doc/generic/pgf/macros/pgfmanual-en-macros.tex
+++ /dev/null
@@ -1,1909 +0,0 @@
-% Copyright 2006 by Till Tantau
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-% See the file doc/generic/pgf/licenses/LICENSE for more details.
-
-% $Header$
-
-
-\newcount\pgfmanualtargetcount
-
-\colorlet{examplefill}{yellow!80!black}
-\definecolor{graphicbackground}{rgb}{0.96,0.96,0.8}
-\definecolor{codebackground}{rgb}{0.9,0.9,1}
-\definecolor{animationgraphicbackground}{rgb}{0.96,0.96,0.8}
-
-\newenvironment{pgfmanualentry}{\list{}{\leftmargin=2em\itemindent-\leftmargin\def\makelabel##1{\hss##1}}}{\endlist}
-\newcommand\pgfmanualentryheadline[1]{\itemsep=0pt\parskip=0pt{\raggedright\item\strut{#1}\par}\topsep=0pt}
-\newcommand\pgfmanualbody{\parskip3pt}
-
-\let\origtexttt=\texttt
-\def\texttt#1{{\def\textunderscore{\char`\_}\def\textbraceleft{\char`\{}\def\textbraceright{\char`\}}\origtexttt{#1}}}
-\def\exclamationmarktext{!}
-\def\atmarktext{@}
-
-{
- \catcode`\|=12
- \gdef\pgfmanualnormalbar{|}
- \catcode`\|=13
- \AtBeginDocument{\gdef|{\ifmmode\pgfmanualnormalbar\else\expandafter\verb\expandafter|\fi}}
-}
-
-
-
-\newenvironment{pgflayout}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- \texttt{\string\pgfpagesuselayout\char`\{\declare{#1}\char`\}}\oarg{options}%
- }
- \index{#1@\protect\texttt{#1} layout}%
- \index{Page layouts!#1@\protect\texttt{#1}}%
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-
-\newenvironment{sysanimateattribute}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- \texttt{\string\pgfsysanimate\char`\{\declare{#1}\char`\}}%
- }
- \index{#1@\protect\texttt{#1} system layer animation attribute}%
- \index{Animation attributes (system layer)!#1@\protect\texttt{#1}}%
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-
-\newenvironment{animateattribute}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- \texttt{\string\pgfanimateattribute\char`\{\declare{#1}\char`\}\marg{options}}%
- }
- \index{#1@\protect\texttt{#1} basic layer animation attribute}%
- \index{Animation attributes (basic layer)!#1@\protect\texttt{#1}}%
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-
-\newenvironment{tikzanimateattribute}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \foreach \attr in{#1} {\expandafter\pgfmanualpdflabel\expandafter{\attr}{}}%
- \textbf{Animation attribute} \foreach \attr[count=\i]
- in{#1}{{\ifnum\i>1 \textbf,\fi} \texttt{:\declare{\attr}}}%
- }
- \foreach\attr in{#1}{%
- \edef\indexcall{%
- \noexpand\index{\attr@\noexpand\protect\noexpand\texttt{\attr} animation attribute}%
- \noexpand\index{Animation attributes!\attr@\noexpand\protect\noexpand\texttt{\attr}}%
- }%
- \indexcall%
- }%
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-
-\newenvironment{command}[1]{
- \begin{pgfmanualentry}
- \extractcommand#1\@@
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\makeatletter
-
-\def\includeluadocumentationof#1{
- \directlua{require 'pgf.manual.DocumentParser'}
- \directlua{pgf.manual.DocumentParser.include '#1'}
-}
-
-\newenvironment{luageneric}[4]{
- \pgfmanualentry
- \pgfmanualentryheadline{#4 \texttt{#1\declare{#2}}#3}
- \index{#2@\protect\texttt{#2} (Lua)}%
- \def\temp{#1}
- \ifx\temp\pgfutil@empty\else
- \index{#1@\protect\texttt{#1}!#2@\protect\texttt{#2} (Lua)}%
- \fi
- \pgfmanualbody
-}{\endpgfmanualentry}
-
-\newenvironment{luatable}[3]{
- \medskip
- \luageneric{#1}{#2}{ (declared in \texttt{#3})}{\textbf{Lua table}}
-}{\endluageneric}
-
-\newenvironment{luafield}[1]{
- \pgfmanualentry
- \pgfmanualentryheadline{Field \texttt{\declare{#1}}}
- \pgfmanualbody
-}{\endpgfmanualentry}
-
-
-\newenvironment{lualibrary}[1]{
- \pgfmanualentry
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- \textbf{Graph Drawing Library} \texttt{\declare{#1}}%
- }
- \index{#1@\protect\texttt{#1} graph drawing library}%
- \index{Libraries!#1@\protect\texttt{#1}}%
- \index{Graph drawing libraries!#1@\protect\texttt{#1}}%
- \vskip.25em
- {\ttfamily\char`\\usegdlibrary\char`\{\declare{#1}\char`\}\space\space \char`\%\space\space \LaTeX\space and plain \TeX}\\
- {\ttfamily\char`\\usegdlibrary[\declare{#1}]\space \char`\%\space\space Con\TeX t}\smallskip\par
- \pgfmanualbody
-}{\endpgfmanualentry}
-
-\newenvironment{luadeclare}[4]{
- \pgfmanualentry
- \def\manual@temp@default{#3}%
- \def\manual@temp@initial{#4}%
- \def\manual@temp@{#3#4}%
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- {\ttfamily/graph
- drawing/\declare{#1}\opt{=}}\opt{#2}\hfill%
- \ifx\manual@temp@\pgfutil@empty\else%
- (\ifx\manual@temp@default\pgfutil@empty\else%
- default {\ttfamily #3}\ifx\manual@temp@initial\pgfutil@empty\else, \fi%
- \fi%
- \ifx\manual@temp@initial\pgfutil@empty\else%
- initially {\ttfamily #4}%
- \fi%
- )\fi%
- }%
- \index{#1@\protect\texttt{#1} key}%
- \pgfmanualbody
- \gdef\myname{#1}%
-% \keyalias{tikz}
-% \keyalias{tikz/graphs}
-}{\endpgfmanualentry}
-
-\newenvironment{luadeclarestyle}[4]{
- \pgfmanualentry
- \def\manual@temp@para{#2}%
- \def\manual@temp@default{#3}%
- \def\manual@temp@initial{#4}%
- \def\manual@temp@{#3#4}%
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- {\ttfamily/graph drawing/\declare{#1}}\ifx\manual@temp@para\pgfutil@empty\else\opt{\texttt=}\opt{#2}\fi\hfill%
- (style\ifx\manual@temp@\pgfutil@empty\else, %
- \ifx\manual@temp@default\pgfutil@empty\else%
- default {\ttfamily #3}\ifx\manual@temp@initial\pgfutil@empty\else, \fi%
- \fi%
- \ifx\manual@temp@initial\pgfutil@empty\else%
- initially {\ttfamily #4}%
- \fi%
- \fi)%
- }%
- \index{#1@\protect\texttt{#1} key}%
- \pgfmanualbody%
- \gdef\myname{#1}%
-% \keyalias{tikz}
-% \keyalias{tikz/graphs}
-}{\endpgfmanualentry}
-
-\newenvironment{luanamespace}[2]{
- \luageneric{#1}{#2}{}{\textbf{Lua namespace}}
-}{\endluageneric}
-
-\newenvironment{luafiledescription}[1]{}{}
-
-\newenvironment{luacommand}[4]{
- \hypertarget{pgf/lua/#1}{\luageneric{#2}{#3}{\texttt{(#4)}}{\texttt{function}}}
-}{\endluageneric}
-
-\newenvironment{luaparameters}{\par\emph{Parameters:}%
- \parametercount=0\relax%
- \let\item=\parameteritem%
- \let\list=\restorelist%
-}
-{\par
-}
-
-\newenvironment{luareturns}{\par\emph{Returns:}%
- \parametercount=0\relax%
- \let\item=\parameteritem%
- \let\list=\restorelist%
-}
-{\par
-}
-
-\newcount\parametercount
-
-\newenvironment{parameterdescription}{\unskip%
- \parametercount=0\relax%
- \let\item=\parameteritem%
- \let\list=\restorelist%
-}
-{\par
-}
-\let\saveditemcommand=\item
-\let\savedlistcommand=\list
-\def\denselist#1#2{\savedlistcommand{#1}{#2}\parskip0pt\itemsep0pt}
-\def\restorelist{\let\item=\saveditemcommand\denselist}
-\def\parameteritem{\pgfutil@ifnextchar[\parameteritem@{}}%}
-\def\parameteritem@[#1]{\advance\parametercount by1\relax\hskip0.15em plus 1em\emph{\the\parametercount.}\kern1ex\def\test{#1}\ifx\test\pgfutil@empty\else#1\kern.5em\fi}
-
-\newenvironment{commandlist}[1]{%
- \begin{pgfmanualentry}
- \foreach \xx in {#1} {%
- \expandafter\extractcommand\xx\@@
- }%
- \pgfmanualbody
-}{%
- \end{pgfmanualentry}
-}%
-
-% \begin{internallist}[register]{\pgf@xa}
-% \end{internallist}
-%
-% \begin{internallist}[register]{\pgf@xa,\pgf@xb}
-% \end{internallist}
-\newenvironment{internallist}[2][register]{%
- \begin{pgfmanualentry}
- \foreach \xx in {#2} {%
- \expandafter\extractinternalcommand\expandafter{\xx}{#1}%
- }%
- \pgfmanualbody
-}{%
- \end{pgfmanualentry}
-}%
-\def\extractinternalcommand#1#2{%
- \removeats{#1}%
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{\textbackslash\strippedat}{}%
- Internal #2 \declare{\texttt{\string#1}}}%
- \index{Internals!\strippedat @\protect\myprintocmmand{\strippedat}}%
- \index{\strippedat @\protect\myprintocmmand{\strippedat}}%
-}
-
-%% MW: START MATH MACROS
-\def\mvar#1{{\ifmmode\textrm{\textit{#1}}\else\rmfamily\textit{#1}\fi}}
-
-\makeatletter
-
-\def\extractmathfunctionname#1{\extractmathfunctionname@#1(,)\tmpa\tmpb}
-\def\extractmathfunctionname@#1(#2)#3\tmpb{\def\mathname{#1}}
-
-\makeatother
-
-\newenvironment{math-function}[1]{
- \def\mathdefaultname{#1}
- \extractmathfunctionname{#1}
- \edef\mathurl{{math:\mathname}}\expandafter\hypertarget\expandafter{\mathurl}{}%
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{\texttt{#1}}%
- \index{\mathname @\protect\texttt{\mathname} math function}%
- \index{Math functions!\mathname @\protect\texttt{\mathname}}%
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\def\pgfmanualemptytext{}
-\def\pgfmanualvbarvbar{\char`\|\char`\|}
-
-\newenvironment{math-operator}[4][]{%
- \begin{pgfmanualentry}
- \csname math#3operator\endcsname{#2}{#4}
- \def\mathtest{#4}%
- \ifx\mathtest\pgfmanualemptytext%
- \def\mathtype{(#3 operator)}
- \else%
- \def\mathtype{(#3 operator; uses the \texttt{#4} function)}
- \fi%
- \pgfmanualentryheadline{\mathexample\hfill\mathtype}%
- \def\mathtest{#1}%
- \ifx\mathtest\pgfmanualemptytext%
- \index{#2@\protect\texttt{#2} #3 math operator}%
- \index{Math operators!#2@\protect\texttt{#2}}%
- \fi%
- \pgfmanualbody
-}
-{\end{pgfmanualentry}}
-
-\newenvironment{math-operators}[5][]{%
- \begin{pgfmanualentry}
- \csname math#4operator\endcsname{#2}{#3}
- \def\mathtest{#5}%
- \ifx\mathtest\pgfmanualemptytext%
- \def\mathtype{(#4 operators)}
- \else%
- \def\mathtype{(#4 operators; use the \texttt{#5} function)}
- \fi%
- \pgfmanualentryheadline{\mathexample\hfill\mathtype}%
- \def\mathtest{#1}%
- \ifx\mathtest\pgfmanualemptytext%
- \index{#2#3@\protect\texttt{#2\protect\ #3} #4 math operators}%
- \index{Math operators!#2#3@\protect\texttt{#2\protect\ #3}}%
- \fi%
- \pgfmanualbody
-}
-{\end{pgfmanualentry}}
-
-\def\mathinfixoperator#1#2{%
- \def\mathoperator{\texttt{#1}}%
- \def\mathexample{\mvar{x}\space\texttt{#1}\space\mvar{y}}%
-}
-
-\def\mathprefixoperator#1#2{%
- \def\mathoperator{\texttt{#1}}%
- \def\mathexample{\texttt{#1}\mvar{x}}%
-}
-
-\def\mathpostfixoperator#1#2{%
- \def\mathoperator{\texttt{#1}}
- \def\mathexample{\mvar{x}\texttt{#1}}%
-}
-
-\def\mathgroupoperator#1#2{%
- \def\mathoperator{\texttt{#1\ #2}}%
- \def\mathexample{\texttt{#1}\mvar{x}\texttt{#2}}%
-}
-
-\expandafter\let\csname matharray accessoperator\endcsname=\mathgroupoperator
-\expandafter\let\csname matharrayoperator\endcsname=\mathgroupoperator
-
-\def\mathconditionaloperator#1#2{%
- \def\mathoperator{#1\space#2}
- \def\mathexample{\mvar{x}\ \texttt{#1}\ \mvar{y}\ {\texttt{#2}}\ \mvar{z}}
-}
-
-\newcommand\mathcommand[1][\mathdefaultname]{%
- \expandafter\makemathcommand#1(\empty)\stop%
- \expandafter\extractcommand\mathcommandname\@@%
- \medskip
-}
-\makeatletter
-
-\def\makemathcommand#1(#2)#3\stop{%
- \expandafter\def\expandafter\mathcommandname\expandafter{\csname pgfmath#1\endcsname}%
- \ifx#2\empty%
- \else%
- \@makemathcommand#2,\stop,
- \fi}
-\def\@makemathcommand#1,{%
- \ifx#1\stop%
- \else%
- \expandafter\def\expandafter\mathcommandname\expandafter{\mathcommandname{\ttfamily\char`\{#1\char`\}}}%
- \expandafter\@makemathcommand%
- \fi}
-\makeatother
-
-\def\calcname{\textsc{calc}}
-
-\newenvironment{math-keyword}[1]{
- \extracttikzmathkeyword#1@
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{\texttt{\color{red}\mathname}\mathrest}%
- \index{\mathname @\protect\texttt{\mathname} tikz math function}%
- \index{TikZ math functions!\mathname @\protect\texttt{\mathname}}%
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\def\extracttikzmathkeyword#1#2@{%
- \def\mathname{#1}%
- \def\mathrest{#2}%
-}
-
-%% MW: END MATH MACROS
-
-
-\def\extractcommand#1#2\@@{%
- \removeats{#1}%
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{\textbackslash\strippedat}{}%
- \declare{\expandafter\texttt\expandafter{\string#1}}#2%
- }%
- \index{\strippedat @\protect\myprintocmmand{\strippedat}}
-}
-
-\def\luaextractcommand#1#2\relax{%
- \declare{\texttt{\string#1}}#2\par%
-% \removeats{#1}%
- % \index{\strippedat @\protect\myprintocmmand{\strippedat}}
- % \pgfmanualpdflabel{\textbackslash\strippedat}{}%
-}
-
-
-% \begin{environment}{{name}\marg{arguments}}
-\renewenvironment{environment}[1]{
- \begin{pgfmanualentry}
- \extractenvironement#1\@@
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\def\extractenvironement#1#2\@@{%
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- {\ttfamily\char`\\begin\char`\{\declare{#1}\char`\}}#2%
- }%
- \pgfmanualentryheadline{{\ttfamily\ \ }\meta{environment contents}}%
- \pgfmanualentryheadline{{\ttfamily\char`\\end\char`\{\declare{#1}\char`\}}}%
- \index{#1@\protect\texttt{#1} environment}%
- \index{Environments!#1@\protect\texttt{#1}}
-}
-
-
-\newenvironment{plainenvironment}[1]{
- \begin{pgfmanualentry}
- \extractplainenvironement#1\@@
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\def\extractplainenvironement#1#2\@@{%
- \pgfmanualentryheadline{{\ttfamily\declare{\char`\\#1}}#2}%
- \pgfmanualentryheadline{{\ttfamily\ \ }\meta{environment contents}}%
- \pgfmanualentryheadline{{\ttfamily\declare{\char`\\end#1}}}%
- \index{#1@\protect\texttt{#1} environment}%
- \index{Environments!#1@\protect\texttt{#1}}%
-}
-
-
-\newenvironment{contextenvironment}[1]{
- \begin{pgfmanualentry}
- \extractcontextenvironement#1\@@
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\def\extractcontextenvironement#1#2\@@{%
- \pgfmanualentryheadline{{\ttfamily\declare{\char`\\start#1}}#2}%
- \pgfmanualentryheadline{{\ttfamily\ \ }\meta{environment contents}}%
- \pgfmanualentryheadline{{\ttfamily\declare{\char`\\stop#1}}}%
- \index{#1@\protect\texttt{#1} environment}%
- \index{Environments!#1@\protect\texttt{#1}}}
-
-
-\newenvironment{shape}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- \textbf{Shape} {\ttfamily\declare{#1}}%
- }%
- \index{#1@\protect\texttt{#1} shape}%
- \index{Shapes!#1@\protect\texttt{#1}}
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\newenvironment{pictype}[2]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- \textbf{Pic type} {\ttfamily\declare{#1}#2}%
- }%
- \index{#1@\protect\texttt{#1} pic type}%
- \index{Pic Types!#1@\protect\texttt{#1}}
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\newenvironment{shading}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- \textbf{Shading} {\ttfamily\declare{#1}}}%
- \index{#1@\protect\texttt{#1} shading}%
- \index{Shadings!#1@\protect\texttt{#1}}
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-
-\newenvironment{graph}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- \textbf{Graph} {\ttfamily\declare{#1}}}%
- \index{#1@\protect\texttt{#1} graph}%
- \index{Graphs!#1@\protect\texttt{#1}}
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\newenvironment{gdalgorithm}[2]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- \textbf{Layout} {\ttfamily/graph drawing/\declare{#1}\opt{=}}\opt{\meta{options}}}%
- \index{#1@\protect\texttt{#1} layout}%
- \index{Layouts!#1@\protect\texttt{#1}}%
- \foreach \algo in {#2}
- {\edef\marshal{\noexpand\index{#2@\noexpand\protect\noexpand\texttt{#2} algorithm}}\marshal}%
- \index{Graph drawing layouts!#1@\protect\texttt{#1}}
- \item{\small alias {\ttfamily/tikz/#1}}\par
- \item{\small alias {\ttfamily/tikz/graphs/#1}}\par
- \item{\small Employs {\ttfamily algorithm=#2}}\par
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\newenvironment{dataformat}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- \textbf{Format} {\ttfamily\declare{#1}}}%
- \index{#1@\protect\texttt{#1} format}%
- \index{Formats!#1@\protect\texttt{#1}}
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\newenvironment{stylesheet}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- \textbf{Style sheet} {\ttfamily\declare{#1}}}%
- \index{#1@\protect\texttt{#1} style sheet}%
- \index{Style sheets!#1@\protect\texttt{#1}}
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\newenvironment{handler}[1]{
- \begin{pgfmanualentry}
- \extracthandler#1\@nil%
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\def\gobble#1{}
-\def\extracthandler#1#2\@nil{%
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{/handlers/#1}{}%
- \textbf{Key handler} \meta{key}{\ttfamily/\declare{#1}}#2}%
- \index{\gobble#1@\protect\texttt{#1} handler}%
- \index{Key handlers!#1@\protect\texttt{#1}}
-}
-
-
-\makeatletter
-
-
-\newenvironment{stylekey}[1]{
- \begin{pgfmanualentry}
- \def\extrakeytext{style, }
- \extractkey#1\@nil%
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\def\choicesep{$\vert$}%
-\def\choicearg#1{\texttt{#1}}
-
-\newif\iffirstchoice
-
-% \mchoice{choice1,choice2,choice3}
-\newcommand\mchoice[1]{%
- \begingroup
- \firstchoicetrue
- \foreach \mchoice@ in {#1} {%
- \iffirstchoice
- \global\firstchoicefalse
- \else
- \choicesep
- \fi
- \choicearg{\mchoice@}%
- }%
- \endgroup
-}%
-
-% \begin{key}{/path/x=value}
-% \begin{key}{/path/x=value (initially XXX)}
-% \begin{key}{/path/x=value (default XXX)}
-\newenvironment{key}[1]{
- \begin{pgfmanualentry}
- \def\extrakeytext{}
- %\def\altpath{\emph{\color{gray}or}}%
- \extractkey#1\@nil%
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-% \insertpathifneeded{a key}{/pgf} -> assign mykey={/pgf/a key}
-% \insertpathifneeded{/tikz/a key}{/pgf} -> assign mykey={/tikz/a key}
-%
-% #1: the key
-% #2: a default path (or empty)
-\def\insertpathifneeded#1#2{%
- \def\insertpathifneeded@@{#2}%
- \ifx\insertpathifneeded@@\empty
- \def\mykey{#1}%
- \else
- \insertpathifneeded@#2\@nil
- \ifpgfutil@in@
- \def\mykey{#2/#1}%
- \else
- \def\mykey{#1}%
- \fi
- \fi
-}%
-\def\insertpathifneeded@#1#2\@nil{%
- \def\insertpathifneeded@@{#1}%
- \def\insertpathifneeded@@@{/}%
- \ifx\insertpathifneeded@@\insertpathifneeded@@@
- \pgfutil@in@true
- \else
- \pgfutil@in@false
- \fi
-}%
-
-% \begin{keylist}[default path]
-% {/path/option 1=value,/path/option 2=value2}
-% \end{keylist}
-\newenvironment{keylist}[2][]{%
- \begin{pgfmanualentry}
- \def\extrakeytext{}%
- \foreach \xx in {#2} {%
- \expandafter\insertpathifneeded\expandafter{\xx}{#1}%
- \expandafter\extractkey\mykey\@nil%
- }%
- \pgfmanualbody
-}{%
- \end{pgfmanualentry}
-}%
-
-\def\extractkey#1\@nil{%
- \pgfutil@in@={#1}%
- \ifpgfutil@in@%
- \extractkeyequal#1\@nil
- \else%
- \pgfutil@in@{(initial}{#1}%
- \ifpgfutil@in@%
- \extractequalinitial#1\@nil%
- \else
- \pgfmanualentryheadline{%
- \def\mykey{#1}%
- \def\mypath{}%
- \gdef\myname{}%
- \firsttimetrue%
- \pgfmanualdecomposecount=0\relax%
- \decompose#1/\nil%
- {\ttfamily\declare{#1}}\hfill(\extrakeytext no value)}%
- \fi
- \fi%
-}
-
-\def\extractkeyequal#1=#2\@nil{%
- \pgfutil@in@{(default}{#2}%
- \ifpgfutil@in@%
- \extractdefault{#1}#2\@nil%
- \else%
- \pgfutil@in@{(initial}{#2}%
- \ifpgfutil@in@%
- \extractinitial{#1}#2\@nil%
- \else
- \pgfmanualentryheadline{%
- \def\mykey{#1}%
- \def\mypath{}%
- \gdef\myname{}%
- \firsttimetrue%
- \pgfmanualdecomposecount=0\relax%
- \decompose#1/\nil%
- {\ttfamily\declare{#1}=}#2\hfill(\extrakeytext no default)}%
- \fi%
- \fi%
-}
-
-\def\extractdefault#1#2(default #3)\@nil{%
- \pgfmanualentryheadline{%
- \def\mykey{#1}%
- \def\mypath{}%
- \gdef\myname{}%
- \firsttimetrue%
- \pgfmanualdecomposecount=0\relax%
- \decompose#1/\nil%
- {\ttfamily\declare{#1}\opt{=}}\opt{#2}\hfill (\extrakeytext default {\ttfamily#3})}%
-}
-
-\def\extractinitial#1#2(initially #3)\@nil{%
- \pgfmanualentryheadline{%
- \def\mykey{#1}%
- \def\mypath{}%
- \gdef\myname{}%
- \firsttimetrue%
- \pgfmanualdecomposecount=0\relax%
- \decompose#1/\nil%
- {\ttfamily\declare{#1}=}#2\hfill (\extrakeytext no default, initially {\ttfamily#3})}%
-}
-
-\def\extractequalinitial#1 (initially #2)\@nil{%
- \pgfmanualentryheadline{%
- \def\mykey{#1}%
- \def\mypath{}%
- \gdef\myname{}%
- \firsttimetrue%
- \pgfmanualdecomposecount=0\relax%
- \decompose#1/\nil%
- {\ttfamily\declare{#1}}\hfill (\extrakeytext initially {\ttfamily#2})}%
-}
-
-% Introduces a key alias '/#1/<name of current key>'
-% to be used inside of \begin{key} ... \end{key}
-\def\keyalias#1{\vspace{-3pt}\item{\small alias {\ttfamily/#1/\myname}}\vspace{-2pt}\par
- \pgfmanualpdflabel{/#1/\myname}{}%
-}
-
-\newif\iffirsttime
-\newcount\pgfmanualdecomposecount
-
-\makeatother
-
-\def\decompose/#1/#2\nil{%
- \def\test{#2}%
- \ifx\test\empty%
- % aha.
- \index{#1@\protect\texttt{#1} key}%
- \index{\mypath#1@\protect\texttt{#1}}%
- \gdef\myname{#1}%
- \pgfmanualpdflabel{#1}{}
- \else%
- \advance\pgfmanualdecomposecount by1\relax%
- \ifnum\pgfmanualdecomposecount>2\relax%
- \decomposetoodeep#1/#2\nil%
- \else%
- \iffirsttime%
- \begingroup%
- % also make a pdf link anchor with full key path.
- \def\hyperlabelwithoutslash##1/\nil{%
- \pgfmanualpdflabel{##1}{}%
- }%
- \hyperlabelwithoutslash/#1/#2\nil%
- \endgroup%
- \def\mypath{#1@\protect\texttt{/#1/}!}%
- \firsttimefalse%
- \else%
- \expandafter\def\expandafter\mypath\expandafter{\mypath#1@\protect\texttt{#1/}!}%
- \fi%
- \def\firsttime{}%
- \decompose/#2\nil%
- \fi%
- \fi%
-}
-
-\def\decomposetoodeep#1/#2/\nil{%
- % avoid too-deep nesting in index
- \index{#1/#2@\protect\texttt{#1/#2} key}%
- \index{\mypath#1/#2@\protect\texttt{#1/#2}}%
- \decomposefindlast/#1/#2/\nil%
-}
-\makeatletter
-\def\decomposefindlast/#1/#2\nil{%
- \def\test{#2}%
- \ifx\test\pgfutil@empty%
- \gdef\myname{#1}%
- \else%
- \decomposefindlast/#2\nil%
- \fi%
-}
-\makeatother
-\def\indexkey#1{%
- \def\mypath{}%
- \decompose#1/\nil%
-}
-
-\newenvironment{predefinedmethod}[1]{
- \begin{pgfmanualentry}
- \extractpredefinedmethod#1\@nil
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-\def\extractpredefinedmethod#1(#2)\@nil{%
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- Method \declare{\ttfamily #1}\texttt(#2\texttt) \hfill(predefined for all classes)}
- \index{#1@\protect\texttt{#1} method}%
- \index{Methods!#1@\protect\texttt{#1}}
-}
-
-
-\newenvironment{ooclass}[1]{
- \begin{pgfmanualentry}
- \def\currentclass{#1}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- \textbf{Class} \declare{\texttt{#1}}}
- \index{#1@\protect\texttt{#1} class}%
- \index{Class #1@Class \protect\texttt{#1}}%
- \index{Classes!#1@\protect\texttt{#1}}
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\newenvironment{method}[1]{
- \begin{pgfmanualentry}
- \extractmethod#1\@nil
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-\def\extractmethod#1(#2)\@nil{%
- \def\test{#1}
- \ifx\test\currentclass
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- Constructor \declare{\ttfamily #1}\texttt(#2\texttt)}
- \else
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- Method \declare{\ttfamily #1}\texttt(#2\texttt)}
- \fi
- \index{#1@\protect\texttt{#1} method}%
- \index{Methods!#1@\protect\texttt{#1}}
- \index{Class \currentclass!#1@\protect\texttt{#1}}%
-}
-
-\newenvironment{classattribute}[1]{
- \begin{pgfmanualentry}
- \extractattribute#1\@nil
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-\def\extractattribute#1=#2;\@nil{%
- \def\test{#2}%
- \ifx\test\@empty
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- Private attribute \declare{\ttfamily #1} \hfill (initially empty)}
- \else
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- Private attribute \declare{\ttfamily #1} \hfill (initially {\ttfamily #2})}
- \fi
- \index{#1@\protect\texttt{#1} attribute}%
- \index{Attributes!#1@\protect\texttt{#1}}
- \index{Class \currentclass!#1@\protect\texttt{#1}}%
-}
-
-
-
-\newenvironment{predefinednode}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- \textbf{Predefined node} {\ttfamily\declare{#1}}}%
- \index{#1@\protect\texttt{#1} node}%
- \index{Predefined node!#1@\protect\texttt{#1}}
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\newenvironment{coordinatesystem}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- \textbf{Coordinate system} {\ttfamily\declare{#1}}}%
- \index{#1@\protect\texttt{#1} coordinate system}%
- \index{Coordinate systems!#1@\protect\texttt{#1}}
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\newenvironment{snake}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{\textbf{Snake} {\ttfamily\declare{#1}}}%
- \index{#1@\protect\texttt{#1} snake}%
- \index{Snakes!#1@\protect\texttt{#1}}
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\newenvironment{decoration}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{\textbf{Decoration} {\ttfamily\declare{#1}}}%
- \index{#1@\protect\texttt{#1} decoration}%
- \index{Decorations!#1@\protect\texttt{#1}}
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-
-\def\pgfmanualbar{\char`\|}
-\makeatletter
-\newenvironment{pathoperation}[3][]{
- \begin{pgfmanualentry}
- \def\pgfmanualtest{#1}%
- \pgfmanualentryheadline{%
- \ifx\pgfmanualtest\@empty%
- \pgfmanualpdflabel{#2}{}%
- \fi%
- \textcolor{gray}{{\ttfamily\char`\\path}\
- \ \dots}
- \declare{\texttt{\noligs{#2}}}#3\ \textcolor{gray}{\dots\texttt{;}}}%
- \ifx\pgfmanualtest\@empty%
- \index{#2@\protect\texttt{#2} path operation}%
- \index{Path operations!#2@\protect\texttt{#2}}%
- \fi%
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-\newenvironment{datavisualizationoperation}[3][]{
- \begin{pgfmanualentry}
- \def\pgfmanualtest{#1}%
- \pgfmanualentryheadline{%
- \ifx\pgfmanualtest\@empty%
- \pgfmanualpdflabel{#2}{}%
- \fi%
- \textcolor{gray}{{\ttfamily\char`\\datavisualization}\
- \ \dots}
- \declare{\texttt{\noligs{#2}}}#3\ \textcolor{gray}{\dots\texttt{;}}}%
- \ifx\pgfmanualtest\@empty%
- \index{#2@\protect\texttt{#2} (data visualization)}%
- \index{Data visualization!#2@\protect\texttt{#2}}%
- \fi%
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-\makeatother
-
-\def\doublebs{\texttt{\char`\\\char`\\}}
-
-
-\newenvironment{package}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- {\ttfamily\char`\\usepackage\char`\{\declare{#1}\char`\}\space\space \char`\%\space\space \LaTeX}}
- \index{#1@\protect\texttt{#1} package}%
- \index{Packages and files!#1@\protect\texttt{#1}}%
- \pgfmanualentryheadline{{\ttfamily\char`\\input \declare{#1}.tex\space\space\space \char`\%\space\space plain \TeX}}
- \pgfmanualentryheadline{{\ttfamily\char`\\usemodule[\declare{#1}]\space\space \char`\%\space\space Con\TeX t}}
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-
-\newenvironment{pgfmodule}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- {\ttfamily\char`\\usepgfmodule\char`\{\declare{#1}\char`\}\space\space\space
- \char`\%\space\space \LaTeX\space and plain \TeX\space and pure pgf}}
- \index{#1@\protect\texttt{#1} module}%
- \index{Modules!#1@\protect\texttt{#1}}%
- \pgfmanualentryheadline{{\ttfamily\char`\\usepgfmodule[\declare{#1}]\space\space \char`\%\space\space Con\TeX t\space and pure pgf}}
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\newenvironment{pgflibrary}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- \textbf{\tikzname\ Library} \texttt{\declare{#1}}}
- \index{#1@\protect\texttt{#1} library}%
- \index{Libraries!#1@\protect\texttt{#1}}%
- \vskip.25em%
- {{\ttfamily\char`\\usepgflibrary\char`\{\declare{#1}\char`\}\space\space\space
- \char`\%\space\space \LaTeX\space and plain \TeX\space and pure pgf}}\\
- {{\ttfamily\char`\\usepgflibrary[\declare{#1}]\space\space \char`\%\space\space Con\TeX t\space and pure pgf}}\\
- {{\ttfamily\char`\\usetikzlibrary\char`\{\declare{#1}\char`\}\space\space
- \char`\%\space\space \LaTeX\space and plain \TeX\space when using \tikzname}}\\
- {{\ttfamily\char`\\usetikzlibrary[\declare{#1}]\space
- \char`\%\space\space Con\TeX t\space when using \tikzname}}\\[.5em]
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\newenvironment{purepgflibrary}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- \textbf{{\small PGF} Library} \texttt{\declare{#1}}}
- \index{#1@\protect\texttt{#1} library}%
- \index{Libraries!#1@\protect\texttt{#1}}%
- \vskip.25em%
- {{\ttfamily\char`\\usepgflibrary\char`\{\declare{#1}\char`\}\space\space\space
- \char`\%\space\space \LaTeX\space and plain \TeX}}\\
- {{\ttfamily\char`\\usepgflibrary[\declare{#1}]\space\space \char`\%\space\space Con\TeX t}}\\[.5em]
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\newenvironment{tikzlibrary}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{%
- \pgfmanualpdflabel{#1}{}%
- \textbf{\tikzname\ Library} \texttt{\declare{#1}}}
- \index{#1@\protect\texttt{#1} library}%
- \index{Libraries!#1@\protect\texttt{#1}}%
- \vskip.25em%
- {{\ttfamily\char`\\usetikzlibrary\char`\{\declare{#1}\char`\}\space\space \char`\%\space\space \LaTeX\space and plain \TeX}}\\
- {{\ttfamily\char`\\usetikzlibrary[\declare{#1}]\space \char`\%\space\space Con\TeX t}}\\[.5em]
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-
-
-\newenvironment{filedescription}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{File {\ttfamily\declare{#1}}}%
- \index{#1@\protect\texttt{#1} file}%
- \index{Packages and files!#1@\protect\texttt{#1}}%
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-
-\newenvironment{packageoption}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{{\ttfamily\char`\\usepackage[\declare{#1}]\char`\{pgf\char`\}}}
- \index{#1@\protect\texttt{#1} package option}%
- \index{Package options for \textsc{pgf}!#1@\protect\texttt{#1}}%
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-
-
-\newcommand\opt[1]{{\color{black!50!green}#1}}
-\newcommand\ooarg[1]{{\ttfamily[}\meta{#1}{\ttfamily]}}
-
-\def\opt{\afterassignment\pgfmanualopt\let\next=}
-\def\pgfmanualopt{\ifx\next\bgroup\bgroup\color{black!50!green}\else{\color{black!50!green}\next}\fi}
-
-
-
-\def\beamer{\textsc{beamer}}
-\def\pdf{\textsc{pdf}}
-\def\eps{\texttt{eps}}
-\def\pgfname{\textsc{pgf}}
-\def\tikzname{Ti\emph{k}Z}
-\def\pstricks{\textsc{pstricks}}
-\def\prosper{\textsc{prosper}}
-\def\seminar{\textsc{seminar}}
-\def\texpower{\textsc{texpower}}
-\def\foils{\textsc{foils}}
-
-{
- \makeatletter
- \global\let\myempty=\@empty
- \global\let\mygobble=\@gobble
- \catcode`\@=12
- \gdef\getridofats#1@#2\relax{%
- \def\getridtest{#2}%
- \ifx\getridtest\myempty%
- \expandafter\def\expandafter\strippedat\expandafter{\strippedat#1}
- \else%
- \expandafter\def\expandafter\strippedat\expandafter{\strippedat#1\protect\printanat}
- \getridofats#2\relax%
- \fi%
- }
-
- \gdef\removeats#1{%
- \let\strippedat\myempty%
- \edef\strippedtext{\stripcommand#1}%
- \expandafter\getridofats\strippedtext @\relax%
- }
-
- \gdef\stripcommand#1{\expandafter\mygobble\string#1}
-}
-
-\def\printanat{\char`\@}
-
-\def\declare{\afterassignment\pgfmanualdeclare\let\next=}
-\def\pgfmanualdeclare{\ifx\next\bgroup\bgroup\color{red!75!black}\else{\color{red!75!black}\next}\fi}
-
-
-\let\textoken=\command
-\let\endtextoken=\endcommand
-
-\def\myprintocmmand#1{\texttt{\char`\\#1}}
-
-\def\example{\par\smallskip\noindent\textit{Example: }}
-\def\themeauthor{\par\smallskip\noindent\textit{Theme author: }}
-
-
-\def\indexoption#1{%
- \index{#1@\protect\texttt{#1} option}%
- \index{Graphic options and styles!#1@\protect\texttt{#1}}%
-}
-
-\def\itemcalendaroption#1{\item \declare{\texttt{#1}}%
- \index{#1@\protect\texttt{#1} date test}%
- \index{Date tests!#1@\protect\texttt{#1}}%
-}
-
-
-
-\def\class#1{\list{}{\leftmargin=2em\itemindent-\leftmargin\def\makelabel##1{\hss##1}}%
-\extractclass#1@\par\topsep=0pt}
-\def\endclass{\endlist}
-\def\extractclass#1#2@{%
-\item{{{\ttfamily\char`\\documentclass}#2{\ttfamily\char`\{\declare{#1}\char`\}}}}%
- \index{#1@\protect\texttt{#1} class}%
- \index{Classes!#1@\protect\texttt{#1}}}
-
-\def\partname{Part}
-
-\makeatletter
-\def\index@prologue{\section*{Index}\addcontentsline{toc}{section}{Index}
- This index only contains automatically generated entries. A good
- index should also contain carefully selected keywords. This index is
- not a good index.
- \bigskip
-}
-\c@IndexColumns=2
- \def\theindex{\@restonecoltrue
- \columnseprule \z@ \columnsep 29\p@
- \twocolumn[\index@prologue]%
- \parindent -30pt
- \columnsep 15pt
- \parskip 0pt plus 1pt
- \leftskip 30pt
- \rightskip 0pt plus 2cm
- \small
- \def\@idxitem{\par}%
- \let\item\@idxitem \ignorespaces}
- \def\endtheindex{\onecolumn}
-\def\noindexing{\let\index=\@gobble}
-
-
-\newenvironment{arrowtipsimple}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{\textbf{Arrow Tip Kind} {\ttfamily#1}}
- \index{#1@\protect\texttt{#1} arrow tip}%
- \index{Arrow tips!#1@\protect\texttt{#1}}%
- \def\currentarrowtype{#1}
- \pgfmanualbody}
-{
- \end{pgfmanualentry}
-}
-
-\newenvironment{arrowtip}[4]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{\textbf{Arrow Tip Kind} {\ttfamily#1}}
- \index{#1@\protect\texttt{#1} arrow tip}%
- \index{Arrow tips!#1@\protect\texttt{#1}}%
- \pgfmanualbody
- \def\currentarrowtype{#1}
- \begin{minipage}[t]{10.25cm}
- #2
- \end{minipage}\hskip5mm\begin{minipage}[t]{4.75cm}
- \leavevmode\vskip-2em
- \tikz{
- \draw [black!50,line width=5mm,-{#1[#3,color=black]}] (-4,0) -- (0,0);
- \foreach \action in {#4}
- { \expandafter\processaction\action\relax }
- }
- \end{minipage}\par\smallskip
- }
-{
- \end{pgfmanualentry}
-}
-
-\newenvironment{arrowcap}[5]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{\textbf{Arrow Tip Kind} {\ttfamily#1}}
- \index{#1@\protect\texttt{#1} arrow tip}%
- \index{Arrow tips!#1@\protect\texttt{#1}}%
- \pgfmanualbody
- \def\currentarrowtype{#1}
- \begin{minipage}[t]{10.25cm}
- #2
- \end{minipage}\hskip5mm\begin{minipage}[t]{4.75cm}
- \leavevmode\vskip-2em
- \tikz{
- \path [tips, line width=10mm,-{#1[#3,color=black]}] (-4,0) -- (0,0);
- \draw [line width=10mm,black!50] (-3,0) -- (#5,0);
- \foreach \action in {#4}
- { \expandafter\processaction\action\relax }
- }
- \end{minipage}\par\smallskip
- }
-{
- \end{pgfmanualentry}
-}
-
-\newenvironment{pattern}[1]{
- \begin{pgfmanualentry}
- \pgfmanualentryheadline{\textbf{Pattern} {\ttfamily#1}}
- \index{#1@\protect\texttt{#1} pattern}%
- \index{Patterns!#1@\protect\texttt{#1}}%
- \pgfmanualbody
-}
-{
- \end{pgfmanualentry}
-}
-
-\def\processaction#1=#2\relax{
- \expandafter\let\expandafter\pgf@temp\csname manual@action@#1\endcsname
- \ifx\pgf@temp\relax\else
- \pgf@temp#2/0/\relax
- \fi
-}
-\def\manual@action@length#1/#2/#3\relax{%
- \draw [red,|<->|,semithick,xshift=#2] ([yshift=4pt]current bounding
- box.north -| -#1,0) coordinate (last length) -- node
- [above=-2pt] {|length|} ++(#1,0);
-}
-\def\manual@action@width#1/#2/#3\relax{%
- \draw [overlay, red,|<->|,semithick] (.5,-#1/2) -- node [below,sloped] {|width|} (.5,#1/2);
-}
-\def\manual@action@inset#1/#2/#3\relax{%
- \draw [red,|<->|,semithick,xshift=#2] ([yshift=-4pt]current bounding
- box.south -| last length) -- node [below] {|inset|} ++(#1,0);
-}
-
-\newenvironment{arrowexamples}
-{\begin{tabbing}
- \hbox to \dimexpr\linewidth-5.5cm\relax{\emph{Appearance of the below at line width} \hfil} \=
- \hbox to 1.9cm{\emph{0.4pt}\hfil} \= \hbox to 2cm{\emph{0.8pt}\hfil} \= \emph{1.6pt} \\
- }
-{\end{tabbing}\vskip-1em}
-
-\newenvironment{arrowcapexamples}
-{\begin{tabbing}
- \hbox to \dimexpr\linewidth-5.5cm\relax{\emph{Appearance of the below at line width} \hfil} \=
- \hbox to 1.9cm{\emph{1ex}\hfil} \= \hbox to 2cm{\emph{1em}\hfil} \\
- }
-{\end{tabbing}\vskip-1em}
-
-\def\arrowcapexample#1[#2]{\def\temp{#1}\ifx\temp\pgfutil@empty\arrowcapexample@\currentarrowtype[{#2}]\else\arrowcapexample@#1[{#2}]\fi}
-\def\arrowcapexample@#1[#2]{%
- {\sfcode`\.1000\small\texttt{#1[#2]}} \>
- \kern-.5ex\tikz [baseline,>={#1[#2]}] \draw [line
- width=1ex,->] (0,.5ex) -- (2em,.5ex); \>
- \kern-.5em\tikz [baseline,>={#1[#2]}] \draw [line
- width=1em,->] (0,.5ex) -- (2em,.5ex); \\
-}
-
-\def\arrowexample#1[#2]{\def\temp{#1}\ifx\temp\pgfutil@empty\arrowexample@\currentarrowtype[{#2}]\else\arrowexample@#1[{#2}]\fi}
-\def\arrowexample@#1[#2]{%
- {\sfcode`\.1000\small\texttt{#1[#2]}} \>
- \tikz [baseline,>={#1[#2]}] \draw [line
- width=0.4pt,->] (0,.5ex) -- (2em,.5ex); thin \>
- \tikz [baseline,>={#1[#2]}] \draw [line
- width=0.8pt,->] (0,.5ex) -- (2em,.5ex); \textbf{thick} \>
- \tikz [baseline,>={#1[#2]}] \draw [line
- width=1.6pt,->] (0,.5ex) -- (3em,.5ex); \\
-}
-\def\arrowexampledup[#1]{\arrowexample[{#1] \currentarrowtype[}]}
-\def\arrowexampledupdot[#1]{\arrowexample[{#1] . \currentarrowtype[}]}
-
-\def\arrowexampledouble#1[#2]{\def\temp{#1}\ifx\temp\pgfutil@empty\arrowexampledouble@\currentarrowtype[{#2}]\else\arrowexampledouble@#1[{#2}]\fi}
-\def\arrowexampledouble@#1[#2]{%
- {\sfcode`\.1000\small\texttt{#1[#2]} on double line} \>
- \tikz [baseline,>={#1[#2]}]
- \draw [double equal sign distance,line width=0.4pt,->] (0,.5ex) -- (2em,.5ex); thin \>
- \tikz [baseline,>={#1[#2]}]
- \draw [double equal sign distance,line width=0.8pt,->] (0,.5ex) -- (2em,.5ex); \textbf{thick} \>
- \tikz [baseline,>={#1[#2]}]
- \draw [double equal sign distance, line width=1.6pt,->] (0,.5ex) -- (3em,.5ex); \\
-}
-
-
-
-\newcommand\symarrow[1]{%
- \index{#1@\protect\texttt{#1} arrow tip}%
- \index{Arrow tips!#1@\protect\texttt{#1}}%
- \texttt{#1}& yields thick
- \begin{tikzpicture}[arrows={#1-#1},thick,baseline]
- \useasboundingbox (-1mm,-0.5ex) rectangle (1.1cm,2ex);
- \fill [black!15] (1cm,-.5ex) rectangle (1.1cm,1.5ex) (-1mm,-.5ex) rectangle (0mm,1.5ex) ;
- \draw (0pt,.5ex) -- (1cm,.5ex);
- \end{tikzpicture} and thin
- \begin{tikzpicture}[arrows={#1-#1},thin,baseline]
- \useasboundingbox (-1mm,-0.5ex) rectangle (1.1cm,2ex);
- \fill [black!15] (1cm,-.5ex) rectangle (1.1cm,1.5ex) (-1mm,-.5ex) rectangle (0mm,1.5ex) ;
- \draw (0pt,.5ex) -- (1cm,.5ex);
- \end{tikzpicture}
-}
-\newcommand\symarrowdouble[1]{%
- \index{#1@\protect\texttt{#1} arrow tip}%
- \index{Arrow tips!#1@\protect\texttt{#1}}%
- \texttt{#1}& yields thick
- \begin{tikzpicture}[arrows={#1-#1},thick,baseline]
- \useasboundingbox (-1mm,-0.5ex) rectangle (1.1cm,2ex);
- \fill [black!15] (1cm,-.5ex) rectangle (1.1cm,1.5ex) (-1mm,-.5ex) rectangle (0mm,1.5ex) ;
- \draw (0pt,.5ex) -- (1cm,.5ex);
- \end{tikzpicture}
- and thin
- \begin{tikzpicture}[arrows={#1-#1},thin,baseline]
- \useasboundingbox (-1mm,-0.5ex) rectangle (1.1cm,2ex);
- \fill [black!15] (1cm,-.5ex) rectangle (1.1cm,1.5ex) (-1mm,-.5ex) rectangle (0mm,1.5ex) ;
- \draw (0pt,.5ex) -- (1cm,.5ex);
- \end{tikzpicture}, double
- \begin{tikzpicture}[arrows={#1-#1},thick,baseline]
- \useasboundingbox (-1mm,-0.5ex) rectangle (1.1cm,2ex);
- \fill [black!15] (1cm,-.5ex) rectangle (1.1cm,1.5ex) (-1mm,-.5ex) rectangle (0mm,1.5ex) ;
- \draw[double,double equal sign distance] (0pt,.5ex) -- (1cm,.5ex);
- \end{tikzpicture} and
- \begin{tikzpicture}[arrows={#1-#1},thin,baseline]
- \useasboundingbox (-1mm,-0.5ex) rectangle (1.1cm,2ex);
- \fill [black!15] (1cm,-.5ex) rectangle (1.1cm,1.5ex) (-1mm,-.5ex) rectangle (0mm,1.5ex) ;
- \draw[double,double equal sign distance] (0pt,.5ex) -- (1cm,.5ex);
- \end{tikzpicture}
-}
-
-\newcommand\sarrow[2]{%
- \index{#1@\protect\texttt{#1} arrow tip}%
- \index{Arrow tips!#1@\protect\texttt{#1}}%
- \index{#2@\protect\texttt{#2} arrow tip}%
- \index{Arrow tips!#2@\protect\texttt{#2}}%
- \texttt{#1-#2}& yields thick
- \begin{tikzpicture}[arrows={#1-#2},thick,baseline]
- \useasboundingbox (-1mm,-0.5ex) rectangle (1.1cm,2ex);
- \fill [black!15] (1cm,-.5ex) rectangle (1.1cm,1.5ex) (-1mm,-.5ex) rectangle (0mm,1.5ex) ;
- \draw (0pt,.5ex) -- (1cm,.5ex);
- \end{tikzpicture} and thin
- \begin{tikzpicture}[arrows={#1-#2},thin,baseline]
- \useasboundingbox (-1mm,-0.5ex) rectangle (1.1cm,2ex);
- \fill [black!15] (1cm,-.5ex) rectangle (1.1cm,1.5ex) (-1mm,-.5ex) rectangle (0mm,1.5ex) ;
- \draw (0pt,.5ex) -- (1cm,.5ex);
- \end{tikzpicture}
-}
-
-\newcommand\sarrowdouble[2]{%
- \index{#1@\protect\texttt{#1} arrow tip}%
- \index{Arrow tips!#1@\protect\texttt{#1}}%
- \index{#2@\protect\texttt{#2} arrow tip}%
- \index{Arrow tips!#2@\protect\texttt{#2}}%
- \texttt{#1-#2}& yields thick
- \begin{tikzpicture}[arrows={#1-#2},thick,baseline]
- \useasboundingbox (-1mm,-0.5ex) rectangle (1.1cm,2ex);
- \fill [black!15] (1cm,-.5ex) rectangle (1.1cm,1.5ex) (-1mm,-.5ex) rectangle (0mm,1.5ex) ;
- \draw (0pt,.5ex) -- (1cm,.5ex);
- \end{tikzpicture} and thin
- \begin{tikzpicture}[arrows={#1-#2},thin,baseline]
- \useasboundingbox (-1mm,-0.5ex) rectangle (1.1cm,2ex);
- \fill [black!15] (1cm,-.5ex) rectangle (1.1cm,1.5ex) (-1mm,-.5ex) rectangle (0mm,1.5ex) ;
- \draw (0pt,.5ex) -- (1cm,.5ex);
- \end{tikzpicture}, double
- \begin{tikzpicture}[arrows={#1-#2},thick,baseline]
- \useasboundingbox (-1mm,-0.5ex) rectangle (1.1cm,2ex);
- \fill [black!15] (1cm,-.5ex) rectangle (1.1cm,1.5ex) (-1mm,-.5ex) rectangle (0mm,1.5ex) ;
- \draw[double,double equal sign distance] (0pt,.5ex) -- (1cm,.5ex);
- \end{tikzpicture} and
- \begin{tikzpicture}[arrows={#1-#2},thin,baseline]
- \useasboundingbox (-1mm,-0.5ex) rectangle (1.1cm,2ex);
- \fill [black!15] (1cm,-.5ex) rectangle (1.1cm,1.5ex) (-1mm,-.5ex) rectangle (0mm,1.5ex) ;
- \draw[double,double equal sign distance] (0pt,.5ex) -- (1cm,.5ex);
- \end{tikzpicture}
-}
-
-\newcommand\carrow[1]{%
- \index{#1@\protect\texttt{#1} arrow tip}%
- \index{Arrow tips!#1@\protect\texttt{#1}}%
- \texttt{#1}& yields for line width 1ex
- \begin{tikzpicture}[arrows={#1-#1},line width=1ex,baseline]
- \useasboundingbox (-1mm,-0.5ex) rectangle (1.6cm,2ex);
- \fill [black!15] (1.5cm,-.5ex) rectangle (1.6cm,1.5ex) (-1mm,-.5ex) rectangle (0mm,1.5ex) ;
- \draw (0pt,.5ex) -- (1.5cm,.5ex);
- \end{tikzpicture}
-}
-\def\myvbar{\char`\|}
-\newcommand\plotmarkentry[1]{%
- \index{#1@\protect\texttt{#1} plot mark}%
- \index{Plot marks!#1@\protect\texttt{#1}}
- \texttt{\char`\\pgfuseplotmark\char`\{\declare{\noligs{#1}}\char`\}} &
- \tikz\draw[color=black!25] plot[mark=#1,mark options={fill=examplefill,draw=black}] coordinates{(0,0) (.5,0.2) (1,0) (1.5,0.2)};\\
-}
-\newcommand\plotmarkentrytikz[1]{%
- \index{#1@\protect\texttt{#1} plot mark}%
- \index{Plot marks!#1@\protect\texttt{#1}}
- \texttt{mark=\declare{\noligs{#1}}} & \tikz\draw[color=black!25]
- plot[mark=#1,mark options={fill=examplefill,draw=black}]
- coordinates {(0,0) (.5,0.2) (1,0) (1.5,0.2)};\\
-}
-
-
-
-\ifx\scantokens\@undefined
- \PackageError{pgfmanual-macros}{You need to use extended latex
- (elatex) or (pdfelatex) to process this document}{}
-\fi
-
-\begingroup
-\catcode`|=0
-\catcode`[= 1
-\catcode`]=2
-\catcode`\{=12
-\catcode `\}=12
-\catcode`\\=12 |gdef|find@example#1\end{codeexample}[|endofcodeexample[#1]]
-|endgroup
-
-% define \returntospace.
-%
-% It should define NEWLINE as {}, spaces and tabs as \space.
-\begingroup
-\catcode`\^=7
-\catcode`\^^M=13
-\catcode`\^^I=13
-\catcode`\ =13%
-\gdef\returntospace{\catcode`\ =13\def {\space}\catcode`\^^I=13\def^^I{\space}}
-\gdef\showreturn{\show^^M}
-\endgroup
-
-\begingroup
-\catcode`\%=13
-\catcode`\^^M=13
-\gdef\commenthandler{\catcode`\%=13\def%{\@gobble@till@return}}
-\gdef\@gobble@till@return#1^^M{}
-\gdef\@gobble@till@return@ignore#1^^M{\ignorespaces}
-\gdef\typesetcomment{\catcode`\%=13\def%{\@typeset@till@return}}
-\gdef\@typeset@till@return#1^^M{{\def%{\char`\%}\textsl{\char`\%#1}}\par}
-\endgroup
-
-% Define tab-implementation functions
-% \codeexample@tabinit@replacementchars@
-% and
-% \codeexample@tabinit@catcode@
-%
-% They should ONLY be used in case that tab replacement is active.
-%
-% This here is merely a preparation step.
-%
-% Idea:
-% \codeexample@tabinit@catcode@ will make TAB active
-% and
-% \codeexample@tabinit@replacementchars@ will insert as many spaces as
-% /codeexample/tabsize contains.
-{
-\catcode`\^^I=13
-% ATTENTION: do NOT use tabs in these definitions!!
-\gdef\codeexample@tabinit@replacementchars@{%
- \begingroup
- \count0=\pgfkeysvalueof{/codeexample/tabsize}\relax
- \toks0={}%
- \loop
- \ifnum\count0>0
- \advance\count0 by-1
- \toks0=\expandafter{\the\toks0\ }%
- \repeat
- \xdef\codeexample@tabinit@replacementchars@@{\the\toks0}%
- \endgroup
- \let^^I=\codeexample@tabinit@replacementchars@@
-}%
-\gdef\codeexample@tabinit@catcode@{\catcode`\^^I=13}%
-}%
-
-% Called after any options have been set. It assigns
-% \codeexample@tabinit@catcode
-% and
-% \codeexample@tabinit@replacementchars
-% which are used inside of
-%\begin{codeexample}
-% ...
-%\end{codeexample}
-%
-% \codeexample@tabinit@catcode is either \relax or it makes tab
-% active.
-%
-% \codeexample@tabinit@replacementchars is either \relax or it inserts
-% a proper replacement sequence for tabs (as many spaces as
-% configured)
-\def\codeexample@tabinit{%
- \ifnum\pgfkeysvalueof{/codeexample/tabsize}=0\relax
- \let\codeexample@tabinit@replacementchars=\relax
- \let\codeexample@tabinit@catcode=\relax
- \else
- \let\codeexample@tabinit@catcode=\codeexample@tabinit@catcode@
- \let\codeexample@tabinit@replacementchars=\codeexample@tabinit@replacementchars@
- \fi
-}
-
-\newif\ifpgfmanualtikzsyntaxhilighting
-
-\pgfqkeys{/codeexample}{%
- width/.code= {\setlength\codeexamplewidth{#1}},
- graphic/.code= {\colorlet{graphicbackground}{#1}},
- code/.code= {\colorlet{codebackground}{#1}},
- execute code/.is if=code@execute,
- hidden/.is if=code@hidden,
- code only/.code= {\code@executefalse},
- setup code/.code= {\pgfmanual@setup@codetrue\code@executefalse},
- multipage/.code= {\code@executefalse\pgfmanual@multipage@codetrue},
- pre/.store in=\code@pre,
- post/.store in=\code@post,
- % #1 is the *complete* environment contents as it shall be
- % typeset. In particular, the catcodes are NOT the normal ones.
- typeset listing/.code= {#1},
- render instead/.store in=\code@render,
- vbox/.code= {\def\code@pre{\vbox\bgroup\setlength{\hsize}{\linewidth-6pt}}\def\code@post{\egroup}},
- ignorespaces/.code= {\let\@gobble@till@return=\@gobble@till@return@ignore},
- leave comments/.code= {\def\code@catcode@hook{\catcode`\%=12}\let\commenthandler=\relax\let\typesetcomment=\relax},
- tabsize/.initial=0,% FIXME : this here is merely used for indentation. It is just a TAB REPLACEMENT.
- every codeexample/.style={width=4cm+7pt, tikz syntax=true},
- from file/.code={\codeexamplefromfiletrue\def\codeexamplesource{#1}},
- tikz syntax/.is if=pgfmanualtikzsyntaxhilighting,
- animation list/.store in=\code@animation@list,
- animation pre/.store in=\code@animation@pre,
- animation post/.store in=\code@animation@post,
- animation scale/.store in=\pgfmanualanimscale,
- animation bb/.style={
- animation pre={
- \tikzset{
- every picture/.style={
- execute at begin picture={
- \useasboundingbox[clip] #1;}
- }
- }
- }
- },
- preamble/.store in=\code@preamble,
-}
-
-\def\pgfmanualanimscale{.5}
-
-\newread\examplesource
-
-
-% Opening, reading and closing the results file
-
-\def\opensource#1{
- \immediate\openin\examplesource=#1
-}
-\def\do@codeexamplefromfile{%
- \immediate\openin\examplesource\expandafter{\codeexamplesource}%
- \def\examplelines{}%
- \readexamplelines
- \closein\examplesource
- \expandafter\endofcodeexample\expandafter{\examplelines}%
-}
-
-\def\readexamplelines{
- \ifeof\examplesource%
- \else
- \immediate\read\examplesource to \exampleline
- \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter\examplelines\expandafter\expandafter\expandafter{\expandafter\examplelines\exampleline}
- \expandafter\readexamplelines%
- \fi
-}
-
-\let\code@animation@pre\pgfutil@empty
-\let\code@animation@post\pgfutil@empty
-\let\code@animation@list\pgfutil@empty
-
-\let\code@pre\pgfutil@empty
-\let\code@post\pgfutil@empty
-\let\code@render\pgfutil@empty
-\let\code@preamble\pgfutil@empty
-\def\code@catcode@hook{}
-
-\newif\ifpgfmanual@multipage@code
-\newif\ifpgfmanual@setup@code
-\newif\ifcodeexamplefromfile
-\newdimen\codeexamplewidth
-\newif\ifcode@execute
-\newif\ifcode@hidden
-\newbox\codeexamplebox
-\def\codeexample[#1]{%
- \global\let\pgfmanual@do@this\relax%
- \aftergroup\pgfmanual@do@this%
- \begingroup%
- \code@executetrue
- \pgfqkeys{/codeexample}{every codeexample,#1}%
- \pgfmanualswitchoncolors%
- \ifcodeexamplefromfile\begingroup\fi
- \codeexample@tabinit% assigns \codeexample@tabinit@[catcode,replacementchars]
- \parindent0pt
- \begingroup%
- \par% this \par is not inside \ifcode@hidden because we want to switch to vmode
- \ifcode@hidden\else
- \medskip%
- \fi
- \let\do\@makeother%
- \dospecials%
- \obeylines%
- \@vobeyspaces%
- \catcode`\%=13%
- \catcode`\^^M=13%
- \code@catcode@hook%
- \codeexample@tabinit@catcode
- \relax%
- \ifcodeexamplefromfile%
- \expandafter\do@codeexamplefromfile%
- \else%
- \expandafter\find@example%
- \fi}
-\def\endofcodeexample#1{%
- \endgroup%
- \ifpgfmanual@setup@code%
- \gdef\pgfmanual@do@this{%
- {%
- \returntospace%
- \commenthandler%
- \xdef\code@temp{#1}% removes returns and comments
- }%
- \edef\pgfmanualmcatcode{\the\catcode`\^^M}%
- \catcode`\^^M=9\relax%
- \expandafter\scantokens\expandafter{\code@temp}%
- \catcode`\^^M=\pgfmanualmcatcode%
- }%
- \fi%
- \ifcode@hidden\else
- \ifcode@execute%
- \setbox\codeexamplebox=\hbox{%
- \ifx\code@render\pgfutil@empty%
- {%
- {%
- \returntospace%
- \commenthandler%
- \xdef\code@temp{#1}% removes returns and comments
- }%
- \catcode`\^^M=9%
- \colorbox{graphicbackground}{\color{black}\ignorespaces%
- \code@pre\expandafter\scantokens\expandafter{\code@temp\ignorespaces}\code@post\ignorespaces}%
- }%
- \else%
- \global\let\code@temp\code@render%
- \colorbox{graphicbackground}{\color{black}\ignorespaces%
- \code@render}%
- \fi%
- }%
- \ifx\code@animation@list\pgfutil@empty%
- \else%
- \setbox\codeexampleboxanim=\vbox{%
- \rightskip0pt\leftskip0pt plus1filll%
- \ifdim\wd\codeexamplebox>\codeexamplewidth%
- \else%
- \hsize\codeexamplewidth%
- \advance\hsize by2cm%
- \fi%
- \leavevmode\catcode`\^^M=9%
- \foreach \pgfmanualtime/\pgfmanualtimehow in\code@animation@list{%
- \setbox\codeexampleboxanim=\hbox{\colorbox{animationgraphicbackground}{%
- \tikzset{make snapshot of=\pgfmanualtime}%
- \scalebox{\pgfmanualanimscale}{\color{black}\ignorespaces%
- \code@animation@pre\expandafter\scantokens\expandafter{\code@temp\ignorespaces}\code@animation@post\ignorespaces}%
- }}%
- \space\raise4pt\hbox to0pt{\vrule width0pt height1em\hbox
- to\wd\codeexampleboxanim{\hfil\scriptsize$t{=}\pgfmanualtimehow \mathrm s$\hfil}\hss}%
- \lower\ht\codeexampleboxanim\box\codeexampleboxanim\hfil\penalty0\hskip0ptplus-1fil%
- }%
- }%
- \setbox\codeexampleboxanim=\hbox{\hbox{}\hskip-2cm\box\codeexampleboxanim}%
- \fi%
- \ifdim\wd\codeexamplebox>\codeexamplewidth%
- \def\code@start{\par}%
- \def\code@flushstart{}\def\code@flushend{}%
- \def\code@mid{\parskip2pt\par\noindent}%
- \def\code@width{\linewidth-6pt}%
- \def\code@end{}%
- \else%
- \def\code@start{%
- \linewidth=\textwidth%
- \parshape \@ne 0pt \linewidth
- \leavevmode%
- \hbox\bgroup}%
- \def\code@flushstart{\hfill}%
- \def\code@flushend{\hbox{}}%
- \def\code@mid{\hskip6pt}%
- \def\code@width{\linewidth-12pt-\codeexamplewidth}%
- \def\code@end{\egroup}%
- \fi%
- \code@start%
- \noindent%
- \begin{minipage}[t]{\codeexamplewidth}\raggedright
- \hrule width0pt%
- \footnotesize\vskip-1em%
- \code@flushstart\box\codeexamplebox\code@flushend%
- \vskip0pt%
- \leavevmode%
- \box\codeexampleboxanim%
- \vskip-1ex
- \leavevmode%
- \end{minipage}%
- \else%
- \def\code@mid{\par}
- \def\code@width{\linewidth-6pt}
- \def\code@end{}
- \fi%
- \code@mid%
- \ifpgfmanual@multipage@code%
- {%
- \pgfkeysvalueof{/codeexample/prettyprint/base color}%
- \pgfmanualdolisting{#1}%
- }%
- \else%
- \colorbox{codebackground}{%
- \pgfkeysvalueof{/codeexample/prettyprint/base color}%
- \begin{minipage}[t]{\code@width}%
- \pgfmanualdolisting{#1}%
- \end{minipage}}%
- \fi%
- \code@end%
- \par%
- \medskip
- \fi
- \endcodeexample\endgroup%
-}
-
-\def\endcodeexample{\endgroup}
-\newbox\codeexampleboxanim
-
-\def\pgfmanualdolisting#1{%
- {%
- \let\do\@makeother
- \dospecials
- \frenchspacing\@vobeyspaces
- \normalfont\ttfamily\footnotesize
- \typesetcomment%
- \codeexample@tabinit@replacementchars
- \@tempswafalse
- \def\par{%
- \if@tempswa
- \leavevmode \null \@@par\penalty\interlinepenalty
- \else
- \@tempswatrue
- \ifhmode\@@par\penalty\interlinepenalty\fi
- \fi}%
- \obeylines
- \everypar \expandafter{\the\everypar \unpenalty}%
- \ifx\code@preamble\pgfutil@empty\else
- \pgfutil@tempdima=\hsize
- \vbox{\hsize=\pgfutil@tempdima
- \raggedright\scriptsize\detokenize\expandafter{\code@preamble}}%
- \fi
- \pgfkeysvalueof{/codeexample/typeset listing/.@cmd}{#1}\pgfeov
- }%
-}
-
-\makeatother
-
-\usepackage{pgfmanual}
-
-
-% autoxref is now always on
-
-% \makeatletter
-% % \pgfautoxrefs will be defined by 'make dist'
-% \pgfutil@ifundefined{pgfautoxrefs}{%
-% \renewcommand\pgfmanualpdflabel[3][]{#3}% NO-OP
-% \def\pgfmanualpdfref#1#2{#2}%
-% \pgfkeys{
-% /pdflinks/codeexample links=false,% DISABLED.
-% }%
-% }{}
-% \makeatother
-
-\newdimen\pgfmanualcslinkpreskip
-
-% Styling of the pretty printer
-\pgfkeys{
- /codeexample/syntax hilighting/.style={
- /codeexample/prettyprint/key name/.code={\textcolor{keycolor}{\pgfmanualpdfref{##1}{\noligs{##1}}}},
- /codeexample/prettyprint/key name with handler/.code 2 args={\textcolor{keycolor}{\pgfmanualpdfref{##1}{\noligs{##1}}}/\textcolor{blue!70!black}{\pgfmanualpdfref{/handlers/##2}{\noligs{##2}}}},
- /codeexample/prettyprint/key value display only/.code={\textcolor{keycolor}{{\itshape{\let\pgfmanualwordstartup\relax\pgfmanualprettyprintcode{##1}}}}},
- /codeexample/prettyprint/cs/.code={\textcolor{cscolor}{\pgfmanualcslinkpreskip4.25pt\pgfmanualpdfref{##1}{\noligs{##1}}}},
- /codeexample/prettyprint/cs with args/.code 2 args={\textcolor{black}{\pgfmanualcslinkpreskip4.25pt\pgfmanualpdfref{##1}{\noligs{##1}}}\{\textcolor{black}{\pgfmanualprettyprintcode{##2}}\pgfmanualclosebrace},
- /codeexample/prettyprint/cs arguments/pgfkeys/.initial=1,
- /codeexample/prettyprint/cs/pgfkeys/.code 2 args={\textcolor{black}{\pgfmanualcslinkpreskip4.25pt\pgfmanualpdfref{##1}{\noligs{##1}}}\{\textcolor{black}{\pgfmanualprettyprintpgfkeys{##2}}\pgfmanualclosebrace},
- /codeexample/prettyprint/cs arguments/begin/.initial=1,
- /codeexample/prettyprint/cs/begin/.code 2 args={\textcolor{black}{##1}\{\textcolor{cscolor}{\pgfmanualpdfref{##2}{\noligs{##2}}}\pgfmanualclosebrace},
- /codeexample/prettyprint/cs arguments/end/.initial=1,
- /codeexample/prettyprint/cs/end/.code 2 args={\textcolor{black}{##1}\{\textcolor{cscolor}{\pgfmanualpdfref{##2}{\noligs{##2}}}\pgfmanualclosebrace},
- /codeexample/prettyprint/word/.code={\pgfmanualwordstartup{\begingroup\pgfkeyssetvalue{/pdflinks/search key prefixes in}{}\pgfmanualpdfref{##1}{\noligs{##1}}\endgroup}},
- /codeexample/prettyprint/point/.code={\textcolor{pointcolor}{\noligs{##1}}},%
- /codeexample/prettyprint/point with cs/.code 2 args={\textcolor{pointcolor}{(\pgfmanualpdfref{##1}{\noligs{##1}}:\noligs{##2}}},%
- /codeexample/prettyprint/comment font=\itshape,
- /codeexample/prettyprint/base color/.initial=\color{basecolor},
- /pdflinks/render hyperlink/.code={%
- {\setbox0=\hbox{##1}%
- \rlap{{\color{linkcolor}\dimen0\wd0\advance\dimen0by-\pgfmanualcslinkpreskip\hskip\pgfmanualcslinkpreskip\vrule width\dimen0 height-1pt depth1.6pt}}%
- \box0%
- }%
- }
- },/codeexample/syntax hilighting
-}
-
-\colorlet{keycolor}{black}
-\colorlet{cscolor}{black}
-\colorlet{pointcolor}{black}
-\colorlet{basecolor}{black}
-\colorlet{linkcolor}{black!8}
-
-\def\pgfmanualswitchoncolors{%
- \colorlet{keycolor}{green!50!black}%
- \colorlet{cscolor}{blue!70!black}
- \colorlet{pointcolor}{violet}
- \colorlet{basecolor}{black!55}
- \colorlet{linkcolor}{white}
-}
-
-\makeatletter
-
-\def\pgfmanualwordstartup{\textcolor{black}}
-
-\def\noligs#1{\pgfmanualnoligs#1\kern0pt--\pgf@stop}%
-\def\pgfmanualnoligs#1--{%
- \pgfutil@ifnextchar\pgf@stop{#1\pgfutil@gobble}{#1-\kern0pt-\kern0pt\pgfmanualnoligs}%
-}
-\makeatother
-
-
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: "beameruserguide"
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pgf/pgfmanual.pdf b/Master/texmf-dist/doc/generic/pgf/pgfmanual.pdf
index ed818d8d3c1..118b4042b20 100644
--- a/Master/texmf-dist/doc/generic/pgf/pgfmanual.pdf
+++ b/Master/texmf-dist/doc/generic/pgf/pgfmanual.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex
index c9ae72ba3b3..8a6fff31cbf 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-actions.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex
index 29199296250..e3b8ebca426 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-animations.tex
@@ -1,4 +1,4 @@
-% Copyright 2015 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -485,7 +485,7 @@ for an object when it is \emph{not} being animated.
Let us start with creating a snapshot:
\begin{command}{\pgfsnapshot\marg{time}}
- When this command is used inside a \TeX\ scope, the behaviour of
+ When this command is used inside a \TeX\ scope, the behavior of
|\pgfanimateattribute| changes: Instead of adding an animation to the
object and the attribute, the object's attribute is set to value it would
have during the animation at time \meta{time}. Note that when this command
@@ -504,7 +504,7 @@ Let us start with creating a snapshot:
\medskip\textbf{Timing and Events.}
- The timeline of an animation normally starts at a ```moment |0s|'' and the
+ The timeline of an animation normally starts at a ``moment |0s|'' and the
\meta{time} is considered relative to this time. For instance, if a
timeline contains, say, the settings |entry={2s}{0}| and |entry={3s}{10}|
and \marg{time} is set to |2.5s|, then the value the attribute will get is
@@ -544,7 +544,7 @@ Let us start with creating a snapshot:
snapshots:
%
\begin{itemize}
- \item The |begin| and |begin on| keys have no effect (but
+ \item The |begin| and |begin on| keys have no effect (but
|begin snapshot| has one.
\item The |end| and |end on| keys have no effect.
\item The |current value| may not be used in a timeline (since
@@ -880,11 +880,11 @@ You can animate the appearance of a path in the following ways:
path consists of appropriate Bézier curves.
Unlike the dash pattern, the to-be-animated object is, indeed, the path
- itself and not some special scope. This means that you can use the
- |current value| for the start path. However, this also means that you really must
- pick \emph{the path object} as the target of the animation. In conjunction
- with \tikzname, this will be an object of type |path| as in the above
- example.
+ itself and not some special scope. This means that you can use the
+ |current value| for the start path. However, this also means that you
+ really must pick \emph{the path object} as the target of the animation. In
+ conjunction with \tikzname, this will be an object of type |path| as in the
+ above example.
When a path is animated, it cannot have ``normal'' arrows attached to it
since due to the way \pgfname\ adds arrow tips to paths, these would not
@@ -899,9 +899,9 @@ You can animate the appearance of a path in the following ways:
\begin{key}{/pgf/animation/arrows=\meta{start tip spec}|-|\meta{end tip spec}}
This key specifies arrow tips during the animation of the path. The syntax
for the arrow tips is the same syntax as the |\pgfsetarrow| command or
- \tikzname's |arrows| key. The specified start and end arrow tips are
+ \tikzname's |arrows| key. The specified start and end arrow tips are
rendered as ``markers'', which are added to the path \emph{only} during the
- animation. The markers are rotated along with the path in exactly the same
+ animation. The markers are rotated along with the path in exactly the same
way as normal arrow tips would be. To be precise, the rules used for the
computation of where arrow tips go and in which direction they head is not
always the same for ``static'' arrow tips (arrow tips added to a normal
@@ -1002,7 +1002,7 @@ You can animate the appearance of a path in the following ways:
\end{key}
-\subsection{Animating Transformations and Views}
+\subsection{Animating Transformations and Views}
\label{section-base-animation-views}
In order to animate the canvas transformation matrix, you do not animate an
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex
index 382db09e5b0..daa5a45e793 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-arrows.tex
@@ -1,4 +1,4 @@
-% Copyright 2013 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -205,7 +205,7 @@ arrows.
|foo[length=5pt,open]| once more later anywhere in the document, the
setup code will not be executed again.
\item The next thing that happens is that we have a look at the
- \emph{drawin code} stored in the |code| field of the arrow. In our
+ \emph{drawing code} stored in the |code| field of the arrow. In our
example, the drawing code would consist of creating a filled path with
four straight segments.
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex
index 68a1e2097cc..50d4c370fe4 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-decorations.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Till Tantau and Mark Wibrow
+% Copyright 2019 by Till Tantau and Mark Wibrow
%
% This file may be distributed and/or modified
%
@@ -334,8 +334,8 @@ command describes the decoration automaton.
First, this option causes an immediate switch to the state |final|
if the remaining distance on the input path is less than
\meta{dimension}. The effect is the same as if you had said
- |switch if less than=|\meta{dimension}| to final| just before the |width|
- option.
+ |switch if less than=|\meta{dimension}| to final| just before the
+ |width| option.
If no switch occurs, this option tells \pgfname\ the width of the
segment. The current point will travel along the input path (as
@@ -599,7 +599,7 @@ Once a decoration has been declared, it can be used.
point.
\end{itemize}
- Before the automata start to "work on" their respective inputs paths,
+ Before the automata start to ``work on'' their respective inputs paths,
\meta{before code} is executed. After the decoration automaton has
finished, \meta{after code} is executed.
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-design.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-design.tex
index 72dc66db700..fb7eacca2ff 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-design.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-design.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex
index da8c2e7a6d9..c6df6dc4422 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-external.tex
@@ -1,4 +1,4 @@
-% Copyright 2007 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -132,10 +132,10 @@ As we see in Figure~\ref{fig1}, the world is flat.
away without any macro expansion. This means, in particular, that
(a) you cannot put |\endpgfgraphicnamed| inside a macro and (b) the
macros used in the graphics need not be defined at all when the
- graphic file is included. \item The most complex behaviour arises
+ graphic file is included. \item The most complex behavior arises
when current the |\jobname| equals the \meta{file name prefix} and,
furthermore, the \emph{real job name} has been declared. The
- behaviour for this case is explained later.
+ behavior for this case is explained later.
\end{enumerate}
Note that the |\beginpgfgraphicnamed| does not really have any effect until
@@ -257,7 +257,7 @@ there is a better way: You input the file |pgfexternal.tex|.
Since |\beginpgfgraphicnamed| does not do macro expansion as it searches
for |\endpgfgraphicnamed|, it is not necessary to actually include the
packages necessary for \emph{creating} the graphics. So the idea is that
- you comment out things like |\usepackage{tikz}| and instead say
+ you comment out things like |\usepackage{tikz}| and instead say
|\input pgfexternal.tex|.
Indeed, the contents of this file is simply the following line:
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex
index b7b536852fb..d5ea0b5d2e7 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-images.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -228,9 +228,11 @@ To speedup the compilation, you may wish to use the following class option:
\textsc{rgb}-image in which all \textsc{rgb}-triples happen to have the
same components.
- You can only mask images the are in a ``pixel format''. These are |.jpg|
- and |.png|. You cannot mask |.pdf| images in this way. Also, again, the
- mask file and the image file must have the same size.
+ You can only mask images that are in a ``pixel format''. For drivers with
+ \textsc{pdf} output, these are |.jpg| and |.png| image files; you cannot
+ mask |.pdf| images in this way. Pixel images for the |dvips|+|ps2pdf|
+ workflow must be provided as |.eps| or |.ps| files. Also, again, the mask
+ file and the image file must have the same size.
The following options may be given:
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-internalregisters.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-internalregisters.tex
index 64c9da58f16..fe28a3c5e83 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-internalregisters.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-internalregisters.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Christian Feuersaenger
+% Copyright 2018 by Christian Feuersaenger
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-layers.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-layers.tex
index 65ec0f8896a..deba15d80bc 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-layers.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-layers.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex
index 2c807e9f6e7..c35a345753d 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-matrices.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex
index b4dda6fa1c4..b1dfe59edbe 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-nodes.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -220,14 +220,14 @@ must set up the box |\pgfnodepartXYZbox|. The box will be placed at the anchor
\end{pgfpicture}
\end{codeexample}
- \emph{Note:\/} Be careful when using the |\setbox| command inside a
+ \emph{Note:} Be careful when using the |\setbox| command inside a
|{pgfpicture}| command. You will have to use |\pgfinterruptpath| at the
beginning of the box and |\endpgfinterruptpath| at the end of the box to
make sure that the box is typeset correctly. In the above example this
problem was sidestepped by moving the box construction outside the
environment.
- \emph{Note:\/} It is not necessary to use |\newbox| for every node part
+ \emph{Note:} It is not necessary to use |\newbox| for every node part
name. Although you need a different box for each part of a single shape,
two different shapes may very well use the same box even when the names of
the parts are different. Suppose you have a |circle split| shape that has a
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-paths.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-paths.tex
index 4863835ddac..690de303d47 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-paths.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-paths.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex
index de7700e5487..f032c5a2ea3 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-patterns.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-plots.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-plots.tex
index 4e4bac2faf0..4f9ce6098ea 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-plots.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-plots.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -132,8 +132,7 @@ groups.
The net effect of this setting is that at outlier points plots
get interrupted and ``restarted'' when the points are no longer
- outliers. This is usually the behaviour you will be looking
- for.
+ outliers. This is usually the behavior you will be looking for.
\end{itemize}
\end{key}
\end{command}
@@ -491,7 +490,7 @@ You can define new plot handlers using the following command:
\pgfplotstreamend
\end{codeexample}
- The \meta{configuration} is used to define the behaviour of the handler. It
+ The \meta{configuration} is used to define the behavior of the handler. It
is a list of key--value pairs, where the following keys are allowed:
%
\begin{itemize}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-points.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-points.tex
index d743c57b017..2f4b963dc4f 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-points.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-points.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex
index 87694af64df..3813556b953 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-quick.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex
index d0efb084ab2..51cce0ed8ef 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-scopes.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -475,7 +475,7 @@ following environment:
\begin{pgfpicture}
\begin{pgfscope}
{
- \pgfsetarrows{-to}
+ \pgfsetarrows{->}
\pgfpathmoveto{\pgfpointorigin}\pgfpathlineto{\pgfpoint{2ex}{2ex}}
\pgfusepath{stroke}
}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-shadings.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-shadings.tex
index e8bcde8ff7b..a091bc31b58 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-shadings.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-shadings.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex
index 67525cd3048..8b7e1373355 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transformations.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex
index 319ebbd9e65..de9c874ed0c 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-base-transparency.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -119,7 +119,7 @@ painted at all in the picture are always completely transparent.
text:
%
\begin{codeexample}[]
-\pgfdeclarefading{fading1}{\color{white}Ti\emph{k}Z}
+\pgfdeclarefading{fading1}{\textcolor{white}{Ti\emph{k}Z}}
\begin{tikzpicture}
\fill [black!20] (0,0) rectangle (2,2);
\fill [black!30] (0,0) arc (180:0:1);
@@ -280,7 +280,7 @@ different commands for using fadings:
\end{command}
\begin{command}{\pgfsetfadingforcurrentpathstroked\marg{name}\marg{transformations}}
- This command works line |\pgfsetfadingforcurrentpath|, only the current
+ This command works like |\pgfsetfadingforcurrentpath|, only the current
path is enlarged by the line width in both $x$- and $y$-direction. This is
exactly the enlargement necessary to compensate for the fact that if the
current path will be stroked, this much needs to be added around the path's
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex
index 31bfd9a30ae..9ab6af46f1c 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-drivers.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -44,7 +44,7 @@ files in the directory |generic/pgf|. For example, here is the content of the
file |latex/pgf/frontends/tikz.sty|:
%
\begin{codeexample}[code only]
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -219,9 +219,11 @@ program: it uses a different input format, but the output is exactly the same.
\item In \LaTeX\ mode it uses |graphicx| for the graphics inclusion
and does not support masking.
\item In plain \TeX\ mode it does not support image inclusion.
- \item Shading is fully implemented, but yields the same quality as
- the implementation for |dvips|.
- \item Opacity is not supported.
+ \item Shadings are approximated with discrete colors. This typically
+ leads to aliasing patterns in PostScript and \textsc{pdf} viewing
+ applications.
+ \item Opacity, Transparency Groups, Fadings and Blend Modes are not
+ supported.
\item Remembering of pictures (inter-picture connections) is not
supported.
\end{enumerate}
@@ -229,7 +231,7 @@ program: it uses a different input format, but the output is exactly the same.
It is also possible to produce a |.pdf|-file by first producing a PostScript
file (see below) and then using a PostScript-to-\pdf\ conversion program like
-|ps2pdf| or the Acrobat Distiller.
+|ps2pdf| or Acrobat Distiller.
\subsubsection{Producing PostScript Output}
@@ -242,13 +244,27 @@ file (see below) and then using a PostScript-to-\pdf\ conversion program like
following restrictions:
%
\begin{enumerate}
- \item In \LaTeX\ mode it uses |graphicx| for the graphics inclusion
- and does not support masking.
+ \item In \LaTeX\ mode it uses |graphicx| for the graphics inclusion.
+ Image masking is supported if the PostScript output is further
+ processed with |ps2pdf| to produce \textsc{pdf}.
\item In plain \TeX\ mode it does not support image inclusion.
- \item Shading is fully implemented, but the results will not be as
- good as with a driver producing |.pdf| as output.
- \item Opacity works only in conjunction with newer versions of
- Ghostscript.
+ \item Functional shadings are approximated with Type-0 functions
+ (sampled functions), because Type-4 functions are not available in
+ the latest (version 3) PostScript language definition. Due to
+ their fixed resolution, Type-0 functional shadings are of lesser
+ quality at higher zoom levels as compared to functional shadings
+ from \textsc{pdf} producing drivers. Axial and radial shadings are
+ fully supported. The same output quality (smooth shadings) is
+ achieved as with drivers that produce \textsc{pdf} output.
+ \item Although fully supported, opacity and fadings are \textsc{pdf}
+ features that become visible only after further processing the
+ PostScript output with |ps2pdf|. Note that newer Ghostscript
+ versions are necessary for producing opacity in the \textsc{pdf}
+ output. Also, beginning with version 9.52 of Ghostscript, command
+ line option |-dALLOWPSTRANSPARENCY| must be added:
+\begin{codeexample}[code only]
+ps2pdf -dALLOWPSTRANSPARENCY example.ps
+\end{codeexample}
\item For remembering of pictures (inter-picture connections) you
need to use a recent version of |pdftex| running in DVI-mode.
\end{enumerate}
@@ -258,7 +274,8 @@ file (see below) and then using a PostScript-to-\pdf\ conversion program like
This is a driver file for use with the \textsc{textures} program. It
includes |pgfsys-common-postscript.def|.
- This driver has exactly the same restrictions as the driver for |dvips|.
+ This driver shares the restrictions of the |vtex| driver, but adds limited
+ opacity support (no transparency groups, fadings and blend modes, though).
\end{filedescription}
You can also use the |vtex| program together with |pgfsys-vtex.def| to produce
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex
index 0d8314079a3..373402b5cd3 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-axes.tex
@@ -1,4 +1,4 @@
-% Copyright 2010 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -1991,7 +1991,7 @@ low=min, high=max
\end{codeexample}
%
This causes grid lines to span all possible values when they are
- visualized, which is usually the desired behaviour (the |low| and |high|
+ visualized, which is usually the desired behavior (the |low| and |high|
keys are explained in Section~\ref{section-dv-visualize-ticks}. You can
append the |style| key to this style to configure the overall appearance of
grid lines. It should be noted that settings to |style| inside |every grid|
@@ -2265,7 +2265,7 @@ The text produced by the automatic typesetting is computed as follows:
%
\begin{enumerate}
\item The current contents of the key |tick prefix| is put into the node.
- \item This is followed by a call of the key |tick typesetting| which gets
+ \item This is followed by a call of the key |tick typesetter| which gets
the \meta{value} of the tick as its argument in scientific notation.
\item This is followed by the contents of the key |tick suffix|.
\end{enumerate}
@@ -2310,7 +2310,7 @@ Let us have a look at these keys in detail:
\end{key}
\end{key}
-\begin{key}{/tikz/data visualization/tick typesetting=\meta{value}}
+\begin{key}{/tikz/data visualization/tick typesetter=\meta{value}}
The key gets called for each number that should be typeset. The argument
\meta{value} will be in scientific notation (like |1.0e1| for $10$). By
default, this key applies |\pgfmathprintnumber| to its argument. This
@@ -2550,14 +2550,14 @@ special ticks that you may have added using the |also at| key. When using the
option. Then ticks are placed all positions $i\cdot s + p$ that lie in the
interval $[a,b]$, where $i$ ranges over all integers.
- The tick positions computed in the way described above are \emph{mayor}
+ The tick positions computed in the way described above are \emph{major}
step positions. In addition to these, if the key
|minor steps between steps| is set to some number $n$, then $n$ many minor
- ticks are introduced between each two mayor ticks (and also before and
- after the last mayor tick, provided the values still lie in the interval
+ ticks are introduced between each two major ticks (and also before and
+ after the last major tick, provided the values still lie in the interval
$[a,b]$). Note that is $n$ is $1$, then one minor tick will be added in the
- middle between any two mayor ticks. Use a value of $9$ (not $10$) to
- partition the interval between two mayor ticks into ten equally sized minor
+ middle between any two major ticks. Use a value of $9$ (not $10$) to
+ partition the interval between two major ticks into ten equally sized minor
intervals.
%
\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
@@ -2585,11 +2585,11 @@ special ticks that you may have added using the |also at| key. When using the
|logarithmic| option with an axis.
In detail, the following happens: As for |linear steps| let numbers $a$,
- $b$, $s$, and $p$ be given. Then, mayor ticks are placed at all positions
+ $b$, $s$, and $p$ be given. Then, major ticks are placed at all positions
$10^{i\cdot s+p}$ that lie in the interval $[a,b]$ for $i \in \mathbb{Z}$.
The minor steps are added in the same way as for |linear steps|. In
- particular, they interpolate \emph{linearly} between mayor steps.
+ particular, they interpolate \emph{linearly} between major steps.
%
\begin{codeexample}[preamble={\usetikzlibrary{datavisualization}}]
\begin{tikzpicture}
@@ -2838,7 +2838,7 @@ left axis={ visualize axis={ x axis={ goto=min } }
The key can be passed to an axis. It will set the attribute monitored
by the axis to the given \meta{value}, which is usually some number.
However, \meta{value} may also be one of the following, which causes a
- special behaviour:
+ special behavior:
%
\begin{itemize}
\item |min|: The attribute is set to the minimal value that the
@@ -3016,7 +3016,7 @@ left axis={ visualize axis={ x axis={ goto=min } }
\begin{stylekey}{/tikz/data visualization/axis layer (initially on background layer)}
The layer on which the axis is drawn. See the description of
- |grid layer| on page~\ref{section-dv-grid-layer} for details.
+ |grid layer| on page~\pageref{section-dv-grid-layer} for details.
\end{stylekey}
\begin{stylekey}{/tikz/data visualization/every axis}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-backend.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-backend.tex
index ca3fcf2833c..baf60247e2b 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-backend.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-backend.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex
index a08a999b58b..75271694ca4 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-examples.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex
index 00b3ee1e96d..ad7ddc0ad6c 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-formats.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex
index 58e612170a0..88641aea6b9 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-introduction.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex
index a0d57858f1c..9f95a446063 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-main.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -45,8 +45,8 @@ In order to visualize, you basically need to do three things:
\end{enumerate}
The syntax of the |\datavisualization| command is designed in such a way that
-if you only need to provide very few options to create plots that ``look good
-by default''.
+you only need to provide very few options to create plots that ``look good by
+default''.
This section is structured as follows: First, the philosophy behind concepts
like ``data points'', ``axes'', or ``visualizers'' is explained. Each of these
@@ -351,7 +351,7 @@ picture to create pictures containing multiple data visualizations.
to-be-read data may have a different format, but the data will be
visualized as if it have been specified inside a single |data| command.
- The behaviour of the |data| command depends on whether the \meta{inline
+ The behavior of the |data| command depends on whether the \meta{inline
data} is present. If it is not present, the \meta{options} must be used to
specify a source file from which the data is read; if the \meta{inline
data} is present no file will be used, instead the data should directly
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex
index 31167b720a1..bbba69dee46 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-polar.tex
@@ -1,4 +1,4 @@
-% Copyright 2010 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex
index 526992cf0fc..88d5f2bba6b 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-stylesheets.tex
@@ -1,4 +1,4 @@
-% Copyright 2010 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -3110,7 +3110,7 @@ data group {function classes};
less space inside the data visualization than next to it. Also, the
legend's node is filled in white by default to ensures that the legend is
clearly legible even in the presence of, say, a grid or data points behind
- it. This behaviour is triggered by the following style key:
+ it. This behavior is triggered by the following style key:
\begin{stylekey}{/tikz/data visualization/legend options/every legend inside}
Executed the keys |opaque| by default and sets the text size to the
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex
index 2c6fc8481ec..f1e5c06ed8b 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-dv-visualizers.tex
@@ -1,4 +1,4 @@
-% Copyright 2010 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex
index 9704f9b3de1..c4f8c4ed6d2 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithm-layer.tex
@@ -1,6 +1,6 @@
-% Copyright 2010 by Renée Ahrens, Olof Frahm, Jens Kluttig, Matthias Schulz, Stephan Schuster
-% Copyright 2011 by Till Tantau
-% Copyright 2011 by Jannis Pohlmann
+% Copyright 2019 by Renée Ahrens, Olof Frahm, Jens Kluttig, Matthias Schulz, Stephan Schuster
+% Copyright 2019 by Till Tantau
+% Copyright 2019 by Jannis Pohlmann
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithms-in-c.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithms-in-c.tex
index 042493105da..305752fc447 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithms-in-c.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-algorithms-in-c.tex
@@ -1,4 +1,4 @@
-% Copyright 2012 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex
index d09a8aef428..229e1bc1eb7 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-binding-layer.tex
@@ -1,10 +1,10 @@
-% Copyright 2010-2011 by Renée Ahrens
-% Copyright 2010-2011 by Olof Frahm
-% Copyright 2010-2011 by Jens Kluttig
-% Copyright 2010-2011 by Matthias Schulz
-% Copyright 2010-2011 by Stephan Schuster
-% Copyright 2011 by Jannis Pohlmann
-% Copyright 2011 by Till Tantau
+% Copyright 2010-2019 by Renée Ahrens
+% Copyright 2010-2019 by Olof Frahm
+% Copyright 2010-2019 by Jens Kluttig
+% Copyright 2010-2019 by Matthias Schulz
+% Copyright 2010-2019 by Stephan Schuster
+% Copyright 2019 by Jannis Pohlmann
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-circular.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-circular.tex
index c503936db02..5d82f556ee3 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-circular.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-circular.tex
@@ -1,4 +1,4 @@
-% Copyright 2011 by Jannis Pohlmann
+% Copyright 2018 by Jannis Pohlmann
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-display-layer.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-display-layer.tex
index 46b1d5db041..c265b7f4af0 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-display-layer.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-display-layer.tex
@@ -1,10 +1,10 @@
-% Copyright 2010-2011 by Renée Ahrens
-% Copyright 2010-2011 by Olof Frahm
-% Copyright 2010-2011 by Jens Kluttig
-% Copyright 2010-2011 by Matthias Schulz
-% Copyright 2010-2011 by Stephan Schuster
-% Copyright 2011 by Jannis Pohlmann
-% Copyright 2011 by Till Tantau
+% Copyright 2010-2018 by Renée Ahrens
+% Copyright 2010-2018 by Olof Frahm
+% Copyright 2010-2018 by Jens Kluttig
+% Copyright 2010-2018 by Matthias Schulz
+% Copyright 2010-2018 by Stephan Schuster
+% Copyright 2018 by Jannis Pohlmann
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-edge-routing.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-edge-routing.tex
index 4c4fa8cab37..6eb09f5f849 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-edge-routing.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-edge-routing.tex
@@ -1,4 +1,4 @@
-% Copyright 2011 by Jannis Pohlmann
+% Copyright 2018 by Jannis Pohlmann
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-examples.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-examples.tex
index bba5c540ade..830880d917b 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-examples.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-examples.tex
@@ -1,4 +1,4 @@
-% Copyright 2011 by Jannis Pohlmann
+% Copyright 2012 by Jannis Pohlmann
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-force.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-force.tex
index 514351e5347..80402970f00 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-force.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-force.tex
@@ -1,4 +1,4 @@
-% Copyright 2011 by Jannis Pohlmann
+% Copyright 2018 by Jannis Pohlmann
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-layered.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-layered.tex
index 4f68dae40ff..c934a465a4f 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-layered.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-layered.tex
@@ -1,4 +1,4 @@
-% Copyright 2012 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-misc.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-misc.tex
index 8c88238eb39..e6a72771d8b 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-misc.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-misc.tex
@@ -1,4 +1,4 @@
-% Copyright 2011 by Jannis Pohlmann
+% Copyright 2012 by Jannis Pohlmann
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-ogdf.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-ogdf.tex
index 579606e54c6..b90e664bf15 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-ogdf.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-ogdf.tex
@@ -1,4 +1,4 @@
-% Copyright 2012 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex
index 8fc660a937f..190451b1499 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-overview.tex
@@ -1,6 +1,6 @@
-% Copyright 2010 by Renée Ahrens, Olof Frahm, Jens Kluttig, Matthias Schulz, Stephan Schuster
-% Copyright 2011 by Till Tantau
-% Copyright 2011 by Jannis Pohlmann
+% Copyright 2019 by Renée Ahrens, Olof Frahm, Jens Kluttig, Matthias Schulz, Stephan Schuster
+% Copyright 2019 by Till Tantau
+% Copyright 2019 by Jannis Pohlmann
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-phylogenetics.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-phylogenetics.tex
index 486b930ce5e..d6ce489fc52 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-phylogenetics.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-phylogenetics.tex
@@ -1,4 +1,4 @@
-% Copyright 2013 by Sarah Mäusle and Till Tantau
+% Copyright 2018 by Sarah Mäusle and Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-trees.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-trees.tex
index 171b7f8778a..ea18363172c 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-trees.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-trees.tex
@@ -1,4 +1,4 @@
-% Copyright 2012 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex
index 633df75b883..be04bb93d45 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-pgf.tex
@@ -1,10 +1,10 @@
-% Copyright 2010-2011 by Renée Ahrens
-% Copyright 2010-2011 by Olof Frahm
-% Copyright 2010-2011 by Jens Kluttig
-% Copyright 2010-2011 by Matthias Schulz
-% Copyright 2010-2011 by Stephan Schuster
-% Copyright 2011 by Jannis Pohlmann
-% Copyright 2011 by Till Tantau
+% Copyright 2010-2019 by Renée Ahrens
+% Copyright 2010-2019 by Olof Frahm
+% Copyright 2010-2019 by Jens Kluttig
+% Copyright 2010-2019 by Matthias Schulz
+% Copyright 2010-2019 by Stephan Schuster
+% Copyright 2019 by Jannis Pohlmann
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -484,9 +484,9 @@ you say |orient=90| directly followed by |orient=0|, the result is that the
Unfortunately, if keys like |tree layout| were ``just'' to select an algorithm,
we would still need a key or some special syntax to actually start a
(sub)layout. In early versions of the system this was exactly what people had
-to do and this was somewhat awkward. Because of this problem, the behaviour of
+to do and this was somewhat awkward. Because of this problem, the behavior of
the layout keys in \pgfname\ (and only there, other display layers need to
-implement their own behaviour) is now a bit more involved. When you use a key
+implement their own behavior) is now a bit more involved. When you use a key
like |tree layout| (more precisely, any key that was declared as an algorithm
key on the algorithm layer of the graph drawing system) in any scope in
\pgfname, the following happens:
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-tikz.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-tikz.tex
index 32cf24e59bb..e34ed4d3f0e 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-tikz.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-gd-usage-tikz.tex
@@ -1,4 +1,4 @@
-% Copyright 2012 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-guidelines.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-guidelines.tex
index a91cd43452b..e59a2b19ecf 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-guidelines.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-guidelines.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-installation.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-installation.tex
index a80222fa91f..307e972f66f 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-installation.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-installation.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
index 5059d7af867..2e65e1dabc2 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-introduction.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex
index a8f91c7309d..79bb47a2f76 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-3d.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex
index a011ea8b58a..e210cb2d75e 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-angles.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-arrows.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-arrows.tex
index e9e1a8be007..9597701c41e 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-arrows.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-arrows.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex
index 452ee9a6aa7..c56bb6fd11a 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-automata.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex
index 35d99396dc4..221a84c640f 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-babel.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Mark Wibrow
+% Copyright 2019 by Mark Wibrow
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex
index 7755003fbe3..4d9d49e9cf0 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-backgrounds.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-bbox.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-bbox.tex
deleted file mode 100644
index 972b90714ea..00000000000
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-bbox.tex
+++ /dev/null
@@ -1,126 +0,0 @@
-% Copyright 2019 by an anonymous contributor
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Free Documentation License.
-%
-% See the file doc/generic/pgf/licenses/LICENSE for more details.
-
-
-\section{Bounding Boxes for B\'ezier Curves}
-
-\begin{pgflibrary}{bbox}
- This library provides methods to determine tight bounding boxes for
- B\'ezier curves.
-\end{pgflibrary}
-
-
-\subsection{Current Status}
-
-\tikzname\ determines the bounding box of (cubic) B\'ezier curves by
-establishing the smallest rectangle that contains the end point and the two
-control points of the curve. This may lead to drastic overestimates of the
-bounding box.
-
-\begin{codeexample}[]
-\begin{tikzpicture}
- \draw (0,0) .. controls (-1,1) and (1,2) .. (2,0);
- \draw (current bounding box.south west) rectangle
- (current bounding box.north east);
-\end{tikzpicture}
-\end{codeexample}
-
-\subsection{Computing the Bounding Box}
-
-Establishing the precise bounding box has been discussed in various places, the
-following discussion uses in part the results from
-\url{https://pomax.github.io/bezierinfo/}. What is a cubic Bezier curve? A
-cubic Bezier curve running from $(x_0,y_0)$ to $(x_1,y_1)$ with control points
-$(x_a,y_a)$ and $(x_a,y_a)$ can be parametrized by
-\begin{equation}
- \gamma(t) =
- \begin{pmatrix} x(t)\\ y(t) \end{pmatrix} =
- \begin{pmatrix}t^3 x_{1}+3 t^2 (1-t) x_{b}+(1-t)^3
- x_{0}+3 t (1-t)^2 x_{a}\\
- t^3 y_{1}+3
- t^2 (1-t) y_{b}+(1-t)^3 y_{0}+3 t (1-t)^2
- y_{a}\end{pmatrix}\;,\label{eq:gammaBezier}
-\end{equation}
-where $t$ runs from 0 to 1 (and $\gamma(0)=(x_0,y_0)$ and
-$\gamma(1)=(x_1,y_1)$). Surely, the bounding box has to contain
-$(x_0,y_0)$ and $(x_1,y_1)$. If the functions $x(t)$ and $y(t)$ have extrema in
-the interval $[0,1]$, then the bounding box will in general be larger than that.
-In order to determine the extrema of the curve, all
-we need to find the extrema of the functions $x(t)$ and $y(t)$ for $0\le t\le
-1$. That is, we need to find the solutions of the quadratic equations
-\begin{equation}
- \frac{\mathrm{d}x}{\mathrm{d}t}(t) = 0\quad\text{and}\quad
- \frac{\mathrm{d}y}{\mathrm{d}t}(t) = 0\;.
-\end{equation}
-Let's discuss $x$, $y$ is analogous. If the discriminant
-\begin{equation}
- d := (x_a-x_b)^2+(x_1-x_b)(x_0-x_a)
-\end{equation}
-is greater than 0, there are two solutions
-\begin{equation}
- t_\pm = \frac{x_{0}-2
- x_{a}+x_{b}\pm\sqrt{d}}{x_{0}-x_{1}-3(x_{a}- x_{b})} \;.
-\end{equation}
-In this case, we need to make sure that the bounding box contains, say
-$(x(t_-),y_0)$ and $(x(t_+),y_0)$. If $d\le0$, the bounding box does not need to
-be increased in the $x$ direction. One can plug $t_\pm$ back into
-\eqref{eq:gammaBezier}, this yields
-\begin{subequations}
-\begin{align}
- x_- &=
- \!\begin{aligned}[t]
- \frac{1}{(x_0 - x_1 - 3x_a + 3x_b)^2}
- \Bigl[
- & x_0^2x_1 + x_0x_1^2 - 3x_0x_1x_a + 6x_1x_a^2
- + 2x_a^3 - 3(x_0 + x_a)(x_1 + x_a)x_b \\
- & + 3(2x_0 - x_a)x_b^2 + 2x_b^3
- - 2\sqrt{d}(x_0x_1 - x_1x_a + x_a^2 - (x_0 + x_a)x_b + x_b^2)
- \Bigr],
- \end{aligned} \\
- x_+ &=
- \!\begin{aligned}[t]
- \frac{1}{(x_0 - x_1 - 3x_a + 3x_b)^2}
- \Bigl[
- & x_0^2x_1 + x_0x_1^2 - 3x_0x_1x_a + 6x_1x_a^2
- + 2x_a^3 - 3(x_0 + x_a)(x_1 + x_a)x_b \\
- & + 3(2x_0 - x_a)x_b^2 + 2x_b^3
- + 2\sqrt{d}(x_0x_1 - x_1x_a + x_a^2 - (x_0 + x_a)x_b + x_b^2)
- \Bigr].
- \end{aligned}
-\end{align}
-\end{subequations}
-As already mentioned, the analogous
-statements apply to $y(t)$.
-
-This procedure is implemented in the |bbox| library. It installs a single key
-by which the tight bounding box algorithm can be turned on and off.
-
-\begin{key}{/pgf/bezier bounding box=\meta{boolean} (default true)}
- Turn the tight bounding box algorithm on and off.
-
- \emph{Caveat:} As can be seen from the derivations, the necessary
- computations involve the squaring of lengths, which can easily lead to
- |dimension too large| errors. The library tries to account for large
- numbers by appropriate normalization, such that it works in most cases, but
- errors may still occur.
-\end{key}
-
-\begin{codeexample}[]
-\begin{tikzpicture}[bezier bounding box=true]
- \draw (0,0) .. controls (-1,1) and (1,2) .. (2,0);
- \draw (current bounding box.south west) rectangle
- (current bounding box.north east);
-\end{tikzpicture}
-\end{codeexample}
-
-
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: "pgfmanual-pdftex-version"
-%%% End:
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex
index 5037bef78b9..4b324a1529b 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-calendar.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -76,7 +76,7 @@ say, the |\draw| command).
%
\begin{key}{/tikz/dates=\meta{start date}| to |\meta{end date}}
This option specifies the date range. Both the start and end date are
- specified as described on page~\pageref{calendar-date-format}. In
+ specified and described on page~\pageref{calendar-date-format}. In
short: You can provide ISO-format type dates like |2006-01-02|, you can
replace the day of month by |last| to refer to the last day of a month
(so |2006-02-last| is the same as |2006-02-28|), and you can add a plus
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex
index 1dc247866fb..e601610e7fd 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-chains.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex
index f4fe43c28ed..b46e562880b 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-circuits.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Till Tantau and Mark Wibrow
+% Copyright 2019 by Till Tantau and Mark Wibrow
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex
index 9c971d5c91e..df6960e6721 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-decorations.tex
@@ -1,4 +1,4 @@
-% Copyright 2013 by Mark Wibrow and Till Tantau
+% Copyright 2019 by Mark Wibrow and Till Tantau
%
% This file may be distributed and/or modified
%
@@ -106,6 +106,28 @@ registers while others are stored in macros.
\end{key}
+\subsection{Handling ``Dimension too large'' errors}
+
+In case you should run into a ``Dimension too large error'' when using the
+|decorations| libraries, there is a pretty high chance that you can resolve
+this by using the |fpu| library in combination with
+|/pgf/fpu/install only={reciprocal}|. Please note that this key should only be
+applied locally to avoid other errors (see also at the definition of this key
+on page~\pageref{fpu-install-only}).
+%
+\begin{codeexample}[preamble={\usetikzlibrary{decorations.markings,fpu}}]
+\begin{tikzpicture}
+ \begin{scope}[/pgf/fpu/install only={reciprocal}]
+ \draw[postaction=decorate,decoration={
+ markings,mark=at position 0.52 with {
+ \draw circle[radius=2pt];
+ }},
+ ] plot[smooth,variable=\x,domain=-1:1] (\x*\x*\x,\x*\x);
+ \end{scope}
+\end{tikzpicture}
+\end{codeexample}
+
+
\subsection{Path Morphing Decorations}
\begin{pgflibrary}{decorations.pathmorphing}
@@ -1588,7 +1610,7 @@ shapes. This library is included mostly for historical reasons, using the
\begin{key}{/pgf/decoration/text=\marg{text}}
Set the text this decoration will use. Braces can be used to group
multiple characters together, or commands that should not be expanded
- until they are typset, for example |gr{\"o}{\ss}eren|. You should
+ until they are typeset, for example |gr{\"o}{\ss}eren|. You should
\emph{not} use the formatting delimiters or math mode characters that
the |text along path| decoration supports.
\end{key}
@@ -2026,7 +2048,7 @@ shapes. This library is included mostly for historical reasons, using the
restarted each time the text is repeated. Secondly, the options for
alignment, scaling or fitting the text to the path, fitting the path to
the text, and so on, are computed using the decoration text before the
- decoration starts. If any of these options are given the behaviour of
+ decoration starts. If any of these options are given the behavior of
the |repeat text| key is undefined, but typically it will be ignored.
%
\begin{codeexample}[preamble={\usetikzlibrary{decorations.text}}]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex
index 08cb5934af9..7207fb1612b 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-edges.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-er.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-er.tex
index 28939c1a5c3..27470015fde 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-er.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-er.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-external.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-external.tex
index e96a27c470d..ee3a8905181 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-external.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-external.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Christian Feuersaenger
+% Copyright 2019 by Christian Feuersaenger
%
% This file may be distributed and/or modified
%
@@ -987,8 +987,9 @@ external graphics. It can be found at
latex/pgf/utilities/tikzexternal.sty
\end{codeexample}
%
-\noindent and needs to be used instead of |\usepackage{tikz}|. So, we uncomment
-|\usepackage{tikz}| and our example from the beginning becomes
+\noindent and needs to be used instead of |\usepackage{tikz}|. So, we comment
+|\usepackage{tikz}| and |\usetikzlibrary{external}|, load packages |graphicx|
+and |tikzexternal|, and finally our example from the beginning becomes
%
\begin{codeexample}[code only]
\documentclass{article}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fadings.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fadings.tex
index c42e10a2164..3b0784e441f 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fadings.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fadings.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex
index d528a2a4e8b..f5189a3cb12 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fit.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex
index 968db32b754..37d20d13a38 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fixedpoint.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Mark Wibrow
+% Copyright 2019 by Mark Wibrow
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-folding.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-folding.tex
index 7deff0a554d..a9794703337 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-folding.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-folding.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex
index 2a46a0a2e5f..04989eef44d 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-fpu.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Christian Feuersaenger
+% Copyright 2019 by Christian Feuersaenger
%
% This file may be distributed and/or modified
%
@@ -147,6 +147,41 @@ by \pgfname.
\meta{false-code}, depending on whether the FPU has been activated or not.
\end{command}
+\begin{key}{/pgf/fpu/install only=\marg{list of names}}
+ \label{fpu-install-only}
+ Unfortunately, the FPU is currently incompatible with drawing operations.
+ However, it can still be useful to replace single definitions with FPU
+ counterparts to avoid errors of the kind |Dimension too large| which tend
+ to happen when transformation matrices are inverted.
+
+ This key allows to specify a list of definitions to be pulled into the
+ current scope. \emph{Note that there is no reverse operation to uninstall
+ these definitions at the moment}, so it is advisable to do this in a group.
+ Conveniently, \tikzname{} paths form an implicit group, so you can use this
+ key on a path as well.
+
+ You have to be aware of the limitations that the FPU imposes. It will not
+ magically give \TeX{} better precision, but it will avoid overflow or
+ underflow situations for large or small operands by rescaling them. In the
+ following example, in the first case the FPU variant performs much better
+ than the normal variant, however, in the second case where a rescaling
+ would not in fact be needed the rescaling introduces a small round-off
+ error.
+ %
+\begin{codeexample}[
+ preamble={\usepgflibrary{fpu}},
+ pre={\pgfkeys{/pgf/fpu=false}},
+]
+\begingroup
+\pgfkeys{/pgf/fpu/install only={divide}}
+\pgfmathparse{12.34/0.001234}\pgfmathresult (good)
+\pgfmathparse{12/4}\pgfmathresult (bad)
+\endgroup
+\end{codeexample}
+ %
+ \emph{This key is experimental and can change or disappear at any time!}
+\end{key}
+
\subsection{Comparison to the fixed point arithmetics library}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex
index 7d83ccb75fd..07abbb441bd 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-lsystems.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Mark Wibrow
+% Copyright 2019 by Mark Wibrow
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-math.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-math.tex
index 4e112adb9d7..7f0b429f1be 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-math.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-math.tex
@@ -1,4 +1,4 @@
-% Copyright 2013 by Mark Wibrow
+% Copyright 2019 by Mark Wibrow
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex
index 1e0e15e49cb..816464c0e5c 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-matrices.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -12,7 +12,8 @@
\begin{tikzlibrary}{matrix}
This library package defines additional styles and options for creating
- matrices.
+ matrices. The basic matrix styles and options can be found in
+ Section~\ref{section-matrices}.
\end{tikzlibrary}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex
index ea840cb6b3b..646f12bf6ca 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-mindmaps.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -70,7 +70,7 @@ is used. This style installs some internal settings.
\paragraph{Remark:}
Note that |mindmap| redefines |font| sizes and |sibling angle| depending on
- the current concept level (i.e. inside of |level 1 concept|,
+ the current concept level (i.e.\ inside of |level 1 concept|,
|level 2 concept| etc.). Thus, if you need to redefine these variables, use
|level 1 concept/.append style={font=\small}|
@@ -457,7 +457,8 @@ color. This means that when you provide the |concept color| option to a |child|
command, the color will change from the parent's concept color to the specified
color.
-Here is an example of a tree built in this way:
+Let us now build a tree that way. Please note that we pass the |concept color|
+to the respective |child| and not to a |node| under it.
%
\begin{codeexample}[preamble={\usetikzlibrary{mindmap}}]
\begin{tikzpicture}
@@ -474,6 +475,7 @@ Here is an example of a tree built in this way:
child { node[concept] {pro\-gramming languages} }
child { node[concept] {software engineer\-ing} }
}
+ % note that the `concept color' is passed to the `child'(!)
child[concept color=blue] {
node[concept] {applied}
[clockwise from=-30]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex
index 9c569fba34f..c9810eb2250 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-patterns.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -151,6 +151,7 @@ future.
\begin{key}{/pgf/patterns/tile size=\meta{pgfpoint}}
Width and height of a single of the pattern as a \pgfname\ point
specification, i.e. the $x$ coordinate is the width and the $y$
+ specification, i.e.\ the $x$ coordinate is the width and the $y$
coordinate is the height, e.g.\ |\pgfqpoint{3pt}{3pt}|.
\end{key}
%
@@ -216,7 +217,9 @@ future.
\end{codeexample}
There are a couple of predefined \pgfname\ patterns which are similar
-to their normal counterparts.
+to their normal counterparts. For all of these the |xshift| and |yshift| are
+applied \emph{before} the rotation. If you want to rotate before shifting,
+just rotate in the drawing code.
\begin{pattern}{Lines}
The |Lines| pattern replaces the |horizontal lines|, |vertical lines|,
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-perspective.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-perspective.tex
index 3d5c9b127f4..0c0518f9249 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-perspective.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-perspective.tex
@@ -188,8 +188,8 @@ projection.
Note also that when only |p| is provided, the perspective in $y$ and $z$
direction is turned off.
- To turn of the perspective in $x$-direction, one must set the $x$ component
- of |p| to \texttt{0} (e.g. |p={(0,a,b)}|, where \texttt{a} and \texttt{b}
+ To turn off the perspective in $x$-direction, one must set the $x$ component
+ of |p| to \texttt{0} (e.g.\ |p={(0,a,b)}|, where \texttt{a} and \texttt{b}
can be any number and will be ignored). Or one can provide |q| and |r| and
omit |p|.
@@ -276,7 +276,7 @@ The issues include, but possibly are not limited to:
\item Keys like |rotate around x|, |rotate around y|, and |rotate around z|
are not working
\item Units are not working
- \item Most keys from the |3d| library are unsupported, e.g. all the
+ \item Most keys from the |3d| library are unsupported, e.g.\ all the
|canvas is .. plane| keys.
\end{itemize}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex
index 1146624d652..e5f0360bf7c 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-petri.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-plot-handlers.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-plot-handlers.tex
index cf20bc84760..689e3f0c1bf 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-plot-handlers.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-plot-handlers.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -439,8 +439,8 @@ bars).
relative bar sizes and offsets, one bar for each $y$~coordinate interval.
\end{command}
-\label{key-bar-interval-shift}%
\begin{key}{/pgf/bar interval shift=\marg{factor} (initially 0.5)}
+\label{key-bar-interval-shift}%
\keyalias{tikz}
Sets the \emph{relative} shift of |\pgfplothandlerxbarinterval| and
|\pgfplothandlerybarinterval| to \meta{factor}. As
@@ -450,8 +450,8 @@ bars).
The argument \marg{scale} will be evaluated using the math parser.
\end{key}
-\label{key-bar-interval-width}%
\begin{key}{/pgf/bar interval width=\marg{scale} (initially 1)}
+\label{key-bar-interval-width}%
\keyalias{tikz}
Sets the \emph{relative} width of |\pgfplothandlerxbarinterval| and
|\pgfplothandlerybarinterval| to \marg{scale}. The argument is relative to
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-plot-marks.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-plot-marks.tex
index 5abc0ff16fe..d6d8f7cb284 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-plot-marks.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-plot-marks.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-profiler.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-profiler.tex
index ca24ecacb01..6e5200a9fe0 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-profiler.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-profiler.tex
@@ -1,4 +1,4 @@
-% Copyright 2010 by Christian Feuersaenger
+% Copyright 2019 by Christian Feuersaenger
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-rdf.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-rdf.tex
index c5d276aa027..1e9debff436 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-rdf.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-rdf.tex
@@ -1,4 +1,4 @@
-% Copyright 2016 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex
index 3f73bd926a2..e2afddbb345 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadings.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -178,17 +178,9 @@ this library is not used.
set is \emph{computed by the \textsc{pdf} renderer} and can be zoomed
arbitrarily (give it a try, if you have a fast computer).
%
-\pgfutil@ifluatex
\begin{codeexample}[preamble={\usepgflibrary{shadings}}]
\tikz \shade[shading=Mandelbrot set] (0,0) rectangle (2,2);
\end{codeexample}
-\else
-% dvips causes very ugly error messages when converting this to PDF...
-[Compilation disabled. Please use the lua manual.]
-\begin{codeexample}[code only]
-\tikz \shade[shading=Mandelbrot set] (0,0) rectangle (2,2);
-\end{codeexample}
-\fi
%
\end{shading}
\makeatother
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex
index 9892064652e..9d1ae581d54 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shadows.tex
@@ -1,4 +1,4 @@
-% Copyright 2007 by Till Tantau and Mark Wibrow
+% Copyright 2019 by Till Tantau and Mark Wibrow
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex
index 22e02202c4a..a248294ad21 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-shapes.tex
@@ -1,4 +1,4 @@
-% Copyright 2007 by Till Tantau and Mark Wibrow
+% Copyright 2019 by Till Tantau and Mark Wibrow
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex
index 9bc7a69a992..a85ff6a5154 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-spy.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -20,7 +20,7 @@
\subsection{Magnifying a Part of a Picture}
-The idea behind the |spy| library is to make is easy to create high-density
+The idea behind the |spy| library is to make it easy to create high-density
pictures in which some important parts are repeated somewhere, but magnified as
if you were looking through a spyglass:
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex
index 8625256173c..ec45ca44356 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-svg-path.tex
@@ -1,4 +1,4 @@
-% Copyright 2009 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-through.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-through.tex
index 1d9e278f46f..55a4f934eae 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-through.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-through.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex
index c29dc7c5560..ccb5eb53dc5 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-trees.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex
index 5a002fb3b0a..cea9271069a 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-turtle.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Mark Wibrow
+% Copyright 2019 by Mark Wibrow
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-views.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-views.tex
index 0a14a10163e..a0800428087 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-views.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-library-views.tex
@@ -1,4 +1,4 @@
-% Copyright 2016 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-license.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-license.tex
index c78b5f85ce4..ca56481b8d9 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-license.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-license.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -346,7 +346,7 @@ follow.
%
% $Id$
%
-% Copyright 1999 2002-2006 LaTeX3 Project
+% Copyright 1999 2002-2018 LaTeX3 Project
% Everyone is allowed to distribute verbatim copies of this
% license document, but modification of it is not allowed.
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex
index de2ef33a06e..fd45d90821a 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-body.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -525,7 +525,6 @@ libraries are not loaded by default since many users will not need them.
\include{pgfmanual-en-library-automata}
\include{pgfmanual-en-library-babel}
\include{pgfmanual-en-library-backgrounds}
-\include{pgfmanual-en-library-bbox}
\include{pgfmanual-en-library-calc}
\include{pgfmanual-en-library-calendar}
\include{pgfmanual-en-library-chains}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex
index 57f51bda219..b506f67b52b 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main-preamble.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -181,7 +181,7 @@
\fi
\graphicspath{{../../images/}}
-\input{../../macros/pgfmanual-en-macros}
+\input{pgfmanual-en-macros}
\usepackage{todonotes}
\newcommand\todosp[2][]{% % Stefan Pinnow
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main.tex
index 8853888a5c8..b7349247dca 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-main.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex
index 93c0aed44b7..9a4daeeaff0 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-algorithms.tex
@@ -1,4 +1,4 @@
-% Copyright 2007 by Mark Wibrow
+% Copyright 2019 by Mark Wibrow
%
% This file may be distributed and/or modified
%
@@ -24,7 +24,7 @@ tricky business and is only recommended for adventurous users.
To add a new function to the math engine the following command can be used:
-\begin{command}{\pgfmathdeclarefunction\opt{|*|}\marg{name}\marg{number of arguments}\marg{code}}
+\begin{command}{\pgfmathdeclarefunction\opt{|*|}\marg{function name}\marg{number of arguments}\marg{code}}
This will set up the parser to recognize a function called \meta{name}. The
name of the function can consist of, uppercase or lowercase letters,
numbers or the underscore |_|. In line with many programming languages, a
@@ -120,9 +120,9 @@ To add a new function to the math engine the following command can be used:
To redefine a function use the following command:
-\begin{command}{\pgfmathredeclarefunction\marg{function name}\marg{algorithm code}}
+\begin{command}{\pgfmathredeclarefunction\marg{function name}\marg{code}}
This command redefines the |\pgfmath|\meta{function name}|@| macro with the
- new \meta{algorithm code}. See the description of the
+ new \meta{code}. See the description of the
|\pgfmathdeclarefunction| for details. You cannot change the number of
arguments for an existing function.
%
@@ -205,3 +205,27 @@ To redefine a function use the following command:
\end{codeexample}
%
\end{key}
+
+\begin{key}{/pgf/declare function/execute at begin function=\meta{tokens}}
+ These \meta{tokens} are inserted just before |\pgfmathdeclarefunction|
+ scans the body of the function definition. This is a rather low-level
+ option, so you should read the implementation to figure out where the
+ \meta{tokens} are inserted.
+\end{key}
+
+\begin{key}{/pgf/declare function/execute at end function=\meta{tokens}}
+ These \meta{tokens} are inserted just after |\pgfmathdeclarefunction| has
+ finished scanning the body of the function definition. This is a rather
+ low-level option, so you should read the implementation to figure out where
+ the \meta{tokens} are inserted.
+\end{key}
+
+\begin{key}{/pgf/declare function/ignore spaces=\meta{boolean}}
+ Uses the two previously described keys |/pgf/declare function/execute at begin function| and
+ |/pgf/declare function/execute at end function| to install catcodes such
+ that spaces inside the body of the function definition of
+ |\pgfmathdeclarefunction| are ignored. The usual \TeX\ tokenization rules
+ apply, so if the body of the function had already been tokenized by other
+ means this will become ineffective. If you want to use a space you can use
+ |~| in the function body which has its catcode set to 10 (space).
+\end{key}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-commands.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-commands.tex
index c6c0fef02cb..54a890b0708 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-commands.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-commands.tex
@@ -1,4 +1,4 @@
-% Copyright 2007 by Mark Wibrow
+% Copyright 2018 by Mark Wibrow
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-design.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-design.tex
index 43a93b08b5f..72e6ca084a0 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-design.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-design.tex
@@ -1,4 +1,4 @@
-% Copyright 2007 by Mark Wibrow and Till Tantau
+% Copyright 2018 by Mark Wibrow and Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex
index 9eaed9c975d..d694ef73559 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-math-parsing.tex
@@ -1,4 +1,4 @@
-% Copyright 2007 by Mark Wibrow
+% Copyright 2019 by Mark Wibrow
%
% This file may be distributed and/or modified
%
@@ -327,7 +327,7 @@ recognized:
\end{math-operator}
\begin{math-operator}{*}{infix}{multiply}
- Multiples \mvar{x} by \mvar{y}.
+ Multiplies \mvar{x} by \mvar{y}.
\end{math-operator}
\begin{math-operator}{/}{infix}{divide}
@@ -515,7 +515,7 @@ some notable exceptions.
\begin{math-function}{subtract(\mvar{x},\mvar{y})}
\mathcommand
- Subtract $x$ from $y$.
+ Subtract $y$ from $x$.
%
\begin{codeexample}[]
\pgfmathparse{subtract(75,6)} \pgfmathresult
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex
index 8a85b57c78e..44bc571c4af 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-module-parser.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Till Tantau
+% Copyright 2019 by Till Tantau
% Copyright 2019 by Jonathan P. Spratte
%
% This file may be distributed and/or modified
@@ -17,6 +17,11 @@
parser.
\end{pgfmodule}
+\begin{package}{pgfparser}
+ Because the parser module is almost independent of the rest of \pgfname, it
+ can also be used as a standalone package with minimal dependencies.
+\end{package}
+
This module provides commands for defining a parser that scans some given text
letter-by-letter. For each letter, some code is executed and, possibly a
state-switch occurs. The code for each letter might take mandatory or optional
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-oo.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-oo.tex
index bd1f11d01f6..66ddbc6c4a7 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-oo.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-oo.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -37,7 +37,7 @@ it only for non-time-critical things.
Basically, the oo-system supports \emph{classes} (in the object-oriented sense,
this has nothing to do with \LaTeX-classes), \emph{methods},
\emph{constructors}, \emph{attributes}, \emph{objects}, \emph{object
-identities}, and (thanks to Sa\v o \v Zivanovi\'c) \emph{inheritance} and
+identities}, and (thanks to Sa\v so \v Zivanovi\'c) \emph{inheritance} and
\emph{overloading.}
The first step is to define a class, using the macro |\pgfooclass| (all normal
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pages.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pages.tex
index 1975199a802..5da034e4777 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pages.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pages.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex
index 2791a6936f1..50fc9ca1402 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfcalendar.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgffor.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgffor.tex
index 8ae0628b367..34f3aab7380 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgffor.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgffor.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -251,12 +251,12 @@ This section describes the package |pgffor|, which is loaded automatically by
\begin{codeexample}[]
\begin{tikzpicture}
% Let's draw circles at interesting points:
- \foreach \x / \y / \diameter in {0 / 0 / 2mm, 1 / 1 / 3mm, 2 / 0 / 1mm}
- \draw (\x,\y) circle (\diameter);
+ \foreach \x / \y / \r in {0 / 0 / 2mm, 1 / 1 / 3mm, 2 / 0 / 1mm}
+ \draw (\x,\y) circle (\r);
% Same effect
- \foreach \center/\diameter in {{(0,0)/2mm}, {(1,1)/3mm}, {(2,0)/1mm}}
- \draw[yshift=2.5cm] \center circle (\diameter);
+ \foreach \center/\r in {{(0,0)/2mm}, {(1,1)/3mm}, {(2,0)/1mm}}
+ \draw[yshift=2.5cm] \center circle (\r);
\end{tikzpicture}
\end{codeexample}
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex
index fdac5a31c42..2c22c1a952a 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeys.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -217,6 +217,10 @@ continue with the next subsection.
The setting of a key is always local to the current \TeX\ group.
\end{command}
+\begin{command}{\pgfkeyssetevalue\marg{full key}\marg{token text}}
+ The |\edef| version of |\pgfkeyssetvalue|.
+\end{command}
+
\begin{command}{\pgfkeyslet\marg{full key}\marg{macro}}
Performs a |\let| statement so the \meta{full key} points to the contents
of \meta{macro}.
@@ -451,7 +455,7 @@ starting with |"| and one for strings starting with |<|.
Naturally, in the above examples, the two handling macros did not do something
particularly exciting. In the next example, we setup a more elaborate macro
-that mimics a small part the behaviour of the |quotes| library, only for single
+that mimics a small part the behavior of the |quotes| library, only for single
quotes:
%
\begin{codeexample}[]
@@ -576,7 +580,7 @@ Section~\ref{section-code-handlers}.
net effect of all this is that you have then set up code for the key
\meta{key} so that when you write |\pgfkeys{|\meta{key}|=|\meta{value}|}|,
then the \meta{code} is executed with all occurrences of |#1| in
- \meta{code} being replaced by \meta{value}. (This behaviour is quite
+ \meta{code} being replaced by \meta{value}. (This behavior is quite
similar to the |\define@key| command of |keyval| and |xkeyval|).
%
\begin{codeexample}[]
@@ -1171,14 +1175,6 @@ For styles the corresponding handlers as for normal code exist:
than a |\def| to define the macro.
\end{handler}
-\begin{handler}{{.style args}|=|\marg{argument pattern}\marg{key list}}
- This handler works like |/.code args|, only for styles.
-\end{handler}
-
-\begin{handler}{{.estyle args}|=|\marg{argument pattern}\marg{code}}
- This handler works like |/.ecode args|, only for styles.
-\end{handler}
-
\begin{handler}{{.style n args}|=|\marg{argument count}\meta{key list}}
This handler works like |/.code n args|, only for styles. Here, \meta{key
list} may depend on all \meta{argument count} parameters.
@@ -1205,6 +1201,14 @@ For styles the corresponding handlers as for normal code exist:
%
\end{handler}
+\begin{handler}{{.style args}|=|\marg{argument pattern}\marg{key list}}
+ This handler works like |/.code args|, only for styles.
+\end{handler}
+
+\begin{handler}{{.estyle args}|=|\marg{argument pattern}\marg{code}}
+ This handler works like |/.ecode args|, only for styles.
+\end{handler}
+
\begin{handler}{{.prefix style}|=|\meta{prefix key list}}
Works like |/.add style|, but only for the prefix key list.
\end{handler}
@@ -1350,9 +1354,9 @@ situation the following handler is useful.
%
\begin{codeexample}[code only]
\pgfkeys{/line cap/.is choice}
-\pgfkeys{/line cap/round/.style={\pgfsetbuttcap}}
-\pgfkeys{/line cap/butt/.style={\pgfsetroundcap}}
-\pgfkeys{/line cap/rect/.style={\pgfsetrectcap}}
+\pgfkeys{/line cap/round/.code={\pgfsetbuttcap}}
+\pgfkeys{/line cap/butt/.code={\pgfsetroundcap}}
+\pgfkeys{/line cap/rect/.code={\pgfsetrectcap}}
\pgfkeys{/line cap/rectangle/.style={/line cap=rect}}
...
\draw [/line cap=butt] ...
@@ -1490,9 +1494,9 @@ Key 4:& \pgfkeys{/key4}
%
\begin{enumerate}
\item If a user provides a fully qualified key which could not be
- found, for example the full string |/main path/option|, it assume
+ found, for example the full string |/main path/option|, it assumes
that the user knew what she is doing -- and does \emph{not}
- continue searching for |an option| in \marg{path list}.
+ continue searching for |option| in \marg{path list}.
\item If a user provides only the key's name, for example |option| and
|option| cannot be found in the current default path (which is
|/main path| in our example above), the current default path is set
@@ -1500,7 +1504,8 @@ Key 4:& \pgfkeys{/key4}
here) and |\pgfkeys| will be restarted.
This will be iterated until either a match has been found or all
- elements in \marg{path list} have been tested. \item If all
+ elements in \marg{path list} have been tested.
+ \item If all
elements in \marg{path list} have been checked and the key is still
unknown, the fall-back handler |/handlers/.unknown| will be
invoked.
@@ -1537,20 +1542,26 @@ Key 4:& \pgfkeys{/key4}
%
\begin{codeexample}[code only]
\pgfkeys{/path/.unknown/.code={%
+ \def\pgfkeys@searchalso@temp@value{#1}%
\ifpgfkeysaddeddefaultpath
+ \expandafter\pgfkeys@firstoftwo
+ \else
+ \expandafter\pgfkeys@secondoftwo
+ \fi{%
% only process keys for which no full path has been
% provided:
\pgfkeyssuccessfalse
- \let\pgfkeys@searchalso@name =\pgfkeyscurrentkeyRAW
+ \let\pgfkeys@searchalso@name=\pgfkeyscurrentkeyRAW
\ifpgfkeyssuccess
\else
% search with /tikz as default path:
- \pgfqkeys{/tikz}{\pgfkeys@searchalso@name={#1}}%
+ \pgfqkeys{/tikz}{\pgfkeys@searchalso@name/.expand once=%
+ \pgfkeys@searchalso@temp@value}%
\fi
- \else
- \def\pgfutilnext{\pgfkeysvalueof {/handlers/.unknown/.@cmd}#1\pgfeov}%
- \pgfutilnext
- \fi
+ }{%
+ \pgfkeysgetvalue{/handlers/.unknown/.@cmd}{\pgfkeys@code}%
+ \expandafter\pgfkeys@code\pgfkeys@searchalso@temp@value\pgfeov
+ }%
}
}
\end{codeexample}
@@ -1559,23 +1570,29 @@ Key 4:& \pgfkeys{/key4}
%
\begin{codeexample}[code only]
\pgfkeys{/path/.unknown/.code={%
+ \def\pgfkeys@searchalso@temp@value{#1}%
\ifpgfkeysaddeddefaultpath
+ \expandafter\pgfkeys@firstoftwo
+ \else
+ \expandafter\pgfkeys@secondoftwo
+ \fi{%
\pgfkeyssuccessfalse
\let\pgfkeys@searchalso@name=\pgfkeyscurrentkeyRAW
\ifpgfkeyssuccess
\else
% step 1: search in /tikz with .try:
- \pgfqkeys{/tikz}{\pgfkeys@searchalso@name/.try={#1}}%
+ \pgfqkeys{/tikz}{\pgfkeys@searchalso@name/.try/.expand once=%
+ \pgfkeys@searchalso@temp@value}%
\fi
\ifpgfkeyssuccess
\else
% step 2: search in /pgf (without .try!):
- \pgfqkeys{/pgf}{\pgfkeys@searchalso@name={#1}}%
+ \pgfqkeys{/pgf}{\pgfkeys@searchalso@name/.expand once=\pgfkeys@searchalso@}%
\fi
- \else
- \def\pgfutilnext{\pgfkeysvalueof {/handlers/.unknown/.@cmd}#1\pgfeov}%
- \pgfutilnext
- \fi
+ }{%
+ \pgfkeysgetvalue{/handlers/.unknown/.@cmd}{\pgfkeys@code}%
+ \expandafter\pgfkeys@code\pgfkeys@searchalso@temp@value\pgfeov
+ }%
}
}
\end{codeexample}
@@ -1583,7 +1600,7 @@ Key 4:& \pgfkeys{/key4}
To also enable searching for styles (or other handled keys), consider
changing the configuration for handled keys to
- |/hander config=full or existing| when you use |/.search also|, that is,
+ |/handler config=full or existing| when you use |/.search also|, that is,
use
%
\begin{codeexample}[code only]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex
index 2c08141ea2e..f0891afd7b1 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfkeysfiltered.tex
@@ -528,12 +528,12 @@ There are some more key filters which have nothing to do with family handling.
is active or not.
\end{command}
-\begin{command}{\pgfkeysgetfamily\marg{key}\marg{resultmacro}}
- Returns the family associated to a full key \meta{key} into macro
+\begin{command}{\pgfkeysgetfamily\marg{full key}\marg{resultmacro}}
+ Returns the family associated to a \meta{full key} into macro
\meta{resultmacro}.
\end{command}
-\begin{command}{\pgfkeyssetfamily\marg{key}\marg{family}}
+\begin{command}{\pgfkeyssetfamily\marg{full key}\marg{family}}
The command |\pgfkeyssetfamily|\marg{full key}\marg{family} has the same
effect as |\pgfkeys{|\meta{full key}|/.belongs to family=|\marg{family}|}|.
\end{command}
@@ -551,7 +551,7 @@ Furthermore, the macro |\pgfkeyscasenumber| contains the current key's type as
an integer:
%
\begin{itemize}
- \item[\meta{1}] The key is a command key (i.e. |.../.@cmd| exists).
+ \item[\meta{1}] The key is a command key (i.e.\ |.../.@cmd| exists).
\item[\meta{2}] The key contains its value directly.
\item[\meta{3}] The key is handled (for example it is |.code| or |.cd|).
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-animations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-animations.tex
index 85adcf9024b..2f115ca1b31 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-animations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-animations.tex
@@ -1,4 +1,4 @@
-% Copyright 2016 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-commands.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-commands.tex
index 47b876cd1b1..7bf200c044c 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-commands.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-commands.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -922,6 +922,16 @@ ifs, which must be set before the above command is called:
transformation should not apply to the following graphics, however.
\end{command}
+\begin{command}{\pgfsys@clipfading}
+ This command has a default implementation and need not be implemented by
+ driver files other than |pgfsys-dvips.def|. The macro is called
+ in |\pgfsetfadingforcurrentpath| and |\pgfsetfadingforcurrentpathstroked|
+ of the basic layer, where it invokes the current path for clipping the
+ shading just before installing it as an opacity mask for fading. The
+ default implementation is actually a non-operation, but with |dvips| it
+ is used to clip the fading as described.
+\end{command}
+
\begin{command}{\pgfsys@definemask}
This command declares a fading (known as a soft mask in this context) based
on an image and for usage with images. It works similar to
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-overview.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-overview.tex
index ac6c3f1dca7..ae1875bb9b6 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-overview.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-overview.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-paths.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-paths.tex
index e432823121d..cf349002209 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-paths.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-paths.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-protocol.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-protocol.tex
index 4d3615e79d1..30a1d79cee0 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-protocol.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-pgfsys-protocol.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex
index a889467fb56..74c7882e51c 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-actions.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -1260,7 +1260,7 @@ transparency in general.
If more than one of the basic actions like drawing, clipping and filling are
requested, they are automatically applied in a sensible order: First, a path is
-filled, then drawn, and then clipped (although it took Apple two mayor
+filled, then drawn, and then clipped (although it took Apple two major
revisions of their operating system to get this right\dots). Sometimes,
however, you need finer control over what is done with a path. For instance,
you might wish to first fill a path with a color, then repaint the path with a
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex
index a692412fb35..3ce6b452dcf 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-animations.tex
@@ -1,4 +1,4 @@
-% Copyright 2015 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex
index e3e500ae9a2..e8da9f3b131 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-arrows.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -741,7 +741,7 @@ The following options allow you to configure how arrow tips are colored:
known as ``stroke color'', which you can set using |draw=|\meta{some
color}. By adding the option |color=| to an arrow tip (note that an
``empty'' color is specified in this way), you ask that the arrow tip gets
- this default draw color of the path. Since this is the default behaviour,
+ this default draw color of the path. Since this is the default behavior,
you usually do not need to specify anything:
%
\begin{codeexample}[width=3cm,preamble={\usetikzlibrary{arrows.meta}}]
@@ -1625,7 +1625,7 @@ done using the following handler:
\end{quote}
%
then |dup| will have the effect as if you had written
- |whatever[]whatever[]|. You will find that this behaviour is what one would
+ |whatever[]whatever[]|. You will find that this behavior is what one would
expect.
There is one problem we have not yet addressed: The asymmetry of single
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex
index 047592f5c26..7257629b801 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-coordinates.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -1041,7 +1041,7 @@ which you need.
\end{tikzpicture}
\end{codeexample}
%
- If you set this key to |true|, this behaviour changes. In this case, at the
+ If you set this key to |true|, this behavior changes. In this case, at the
end of a group created on a path, the last current position reverts to
whatever value it had at the beginning of the scope. More precisely, when
\tikzname\ encounters |}| on a path, it checks whether at this particular
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex
index f1027d3bc88..df7c779dddf 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-decorations.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Mark Wibrow
+% Copyright 2019 by Mark Wibrow
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex
index 98f888e8eee..978b0e665b3 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-design.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex
index 7c51ffe0e7c..2f9d95af925 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-graphs.tex
@@ -1,5 +1,5 @@
-% Copyright 2010 by Till Tantau
-% Copyright 2011 by Jannis Pohlmann
+% Copyright 2019 by Till Tantau
+% Copyright 2019 by Jannis Pohlmann
%
% This file may be distributed and/or modified
%
@@ -243,8 +243,9 @@ Chain groups make it easy to create tree structures:
As can be seen, the placement is not particularly nice by default, use the
algorithms from the graph drawing libraries to get a better layout. For
-instance, adding |tree layout| to the above code results in the following
-somewhat more pleasing rendering:
+instance, adding |tree layout| to the above code (and
+|\usetikzlibrary{graphdrawing}| as well as |\usegdlibrary{trees}| to the
+preamble) results in the following somewhat more pleasing rendering:
%
\ifluatex
\medskip
@@ -290,7 +291,7 @@ add labels to the edges easily by putting the labels in quotes:
For the first edge, the effect is as desired, however between |b| and the group
|{c,d}| two edges are inserted and the options |thick| and the label option
|"bar"| is applied to both of them. While this is the correct and consistent
-behaviour, we typically might wish to specify different labels for the edge
+behavior, we typically might wish to specify different labels for the edge
going from |b| to |c| and the edge going from |b| to |d|. To achieve this
effect, we can no longer specify the label as part of the options of |--|.
Rather, we must pass the desired label to the nodes |c| and |d|, but we must
@@ -338,8 +339,8 @@ created by default unless this node has already been created inside the same
|graph| command. In particular, if a node has already been declared outside of
the current |graph| command, a new node of the same name gets created.
-This is not always the desired behaviour. Often, you may wish to make nodes
-part of a graph than have already been defined prior to the use of the |graph|
+This is not always the desired behavior. Often, you may wish to make nodes part
+of a graph than have already been defined prior to the use of the |graph|
command. For this, simply surround a node name by parentheses. This will cause
a reference to be created to an already existing node:
%
@@ -898,7 +899,7 @@ the node is \emph{fresh}.
};
\end{codeexample}
-This behaviour of deciding whether a node is fresh or referenced can, however,
+This behavior of deciding whether a node is fresh or referenced can, however,
be modified by using the following keys:
%
\begin{key}{/tikz/graphs/use existing nodes=\opt{\meta{true or false}} (default true)}
@@ -1071,7 +1072,7 @@ is called. The different parameters are as follows:
following key is used as \meta{text}:
%
\begin{key}{/tikz/graphs/typeset=\meta{code}}
- The macro or code stored in this key is used as the \meta{text} if
+ The macro or code stored in this key is used as the \meta{text} of
the node. Inside the \meta{code}, the following macros are
available:
%
@@ -1335,7 +1336,7 @@ several nodes have the same label.
get created.
\end{enumerate}
%
- In total, this is exactly the behaviour you would expect of a trie:
+ In total, this is exactly the behavior you would expect of a trie:
%
\begin{codeexample}[preamble={\usetikzlibrary{graphs}}]
\tikz \graph [trie] {
@@ -2804,7 +2805,7 @@ The following keys place nodes in a $N\times M$ grid.
Options like |grow up| or |branch right| do not take the sizes of the
to-be-positioned nodes into account -- all nodes are placed quite ``dumbly'' at
grid positions. It turns out that the |Cartesian placement| can also be used to
-place notes in such a way that their height and/or width is taken into account.
+place nodes in such a way that their height and/or width is taken into account.
Note, however, that while the following options may yield an adequate placement
in many situations, when you need advanced alignments you should use a |matrix|
or advanced offline strategies to place the nodes.
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex
index 8288a0797f6..19adb8db0fd 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-matrices.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -413,7 +413,7 @@ The next set of styles can be used to change the appearance of certain rows,
columns, or cells. If more than one of these styles is defined, they are
executed in the below order (the |every cell| style is executed before all of
the below).
- %
+%
\begin{stylekey}{/tikz/column \meta{number}}
This style is used for every cell in column \meta{number}.
\end{stylekey}
@@ -475,6 +475,119 @@ different columns.
\end{tikzpicture}
\end{codeexample}
+In some cases, it is desirable to include some automation in each column/row
+separately. A typical example is to apply stripe-pattern to almost all columns
+with exceptions. For these type of use-cases, nesting these keys can open up
+a lot of possibilities; in the following example a ``feature comparison'' table
+is demonstrated. It is intentionally made rather verbose and a bit redundant
+to show how the column and row settings can be progressively overwritten to
+create certain effects.
+
+\begin{codeexample}[preamble={\usetikzlibrary{matrix,fit}}]
+\begin{tikzpicture}[
+ font=\sffamily,
+ striped col/.style={column #1/.append style={
+ every even row/.style={nodes={fill=olive!50}}}},
+ head color/.style args={#1/#2}{column #1/.append style={
+ row 1/.append style={nodes={fill=#2}}}}
+]
+
+\matrix [
+ matrix of nodes, nodes in empty cells,
+ nodes={text width=2cm, align=center,
+ minimum height=1.5em, anchor=center},
+ striped col/.list={1,...,5}, % add striped col style to all cols
+ column 1/.style={ % Override stripes and modify the feature column
+ row 1 column 1/.style={nodes={fill=none, draw=none}},
+ nodes={fill=olive, inner ysep=0},
+ },
+ % modify headers first via common styles and then specific colors
+ row 1/.style={nodes={text depth=0.2ex, text width=2cm, text=white}},
+ head color/.list={2/orange,3/teal,4/cyan,5/magenta}
+ ] (m)
+ {
+ & Basic & Standard & Professional & Enterprise \\
+ Feature A & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ \\
+ Feature B & $\bullet$ & $\bullet$ & $\bullet$ & $\bullet$ \\
+ Feature C & & & & $\bullet$ \\
+ Feature D & & $\bullet$ & $\bullet$ & $\bullet$ \\
+ Feature E & & & $\bullet$ & $\bullet$ \\
+ };
+% Add emphasis on selection by the use of "fit" library
+\node[fit={(m-1-4.north west) (m-6-4.south east)},
+ ultra thick, inner sep=0, rounded corners=1mm,
+ draw=cyan, label={[cyan,align=center]270:Popular\\Choice!}]{};
+\end{tikzpicture}
+\end{codeexample}
+
+The order in which these styles are applied is configurable. You can also
+install your own styles. The following styles (in fact, internally they are
+|/.code| keys) wrap the styles introduced in the previous paragraph passing the
+correct argument and ensuring that they are only called for even or odd rows.
+However, it is not recommended to override these.
+
+\begin{stylekey}{/tikz/matrix/inner style/every cell}
+ Wraps |/tikz/every cell|.
+\end{stylekey}
+\begin{stylekey}{/tikz/matrix/inner style/column}
+ Wraps |/tikz/column |\meta{number}.
+\end{stylekey}
+\begin{stylekey}{/tikz/matrix/inner style/even odd column}
+ Wraps |/tikz/every even column| and |/tikz/every odd column|.
+\end{stylekey}
+\begin{stylekey}{/tikz/matrix/inner style/row}
+ Wraps |/tikz/row |\meta{number}.
+\end{stylekey}
+\begin{stylekey}{/tikz/matrix/inner style/even odd row}
+ Wraps |/tikz/every even row| and |/tikz/every odd row|.
+\end{stylekey}
+\begin{stylekey}{/tikz/matrix/inner style/cell}
+ Wraps |/tikz/row |\meta{number}| column |\meta{number}.
+\end{stylekey}
+
+\begin{stylekey}{/tikz/matrix/inner style order}
+ The order in which these styles are applied to the matrix cells is
+ specified by this key. By default it is
+ %
+\begin{codeexample}[code only]
+\tikzset{
+ matrix/inner style order={
+ every cell,
+ column,
+ even odd column,
+ row,
+ even odd row,
+ cell
+ }
+}
+\end{codeexample}
+ %
+ You can use this to install your own styles here, but only \emph{names} of
+ styles are permitted here. The style specification has to be placed
+ outside of |matrix/inner style order| and unless it is installed inside
+ |/tikz/matrix/inner style/|, it has to be fully qualified.
+ %
+\begin{codeexample}[code only]
+\tikzset{
+ my style/.code={%
+ \ifnum\pgfmatrixcurrentcolumn=2
+ \tikzset{font=\itshape}%
+ \fi
+ },
+ matrix/inner style order={
+ every cell,
+ even odd column,
+ even odd row,
+ column,
+ row,
+ cell,
+ /tikz/my style
+ }
+}
+\end{codeexample}
+ %
+\end{stylekey}
+
In many matrices all cell pictures have nearly the same code. For example,
cells typically start with |\node{| and end |};|. The following options allow
you to execute such code in all cells:
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.tex
index 4a8874131de..968628d5c5b 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-paths.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -865,7 +865,7 @@ goes through a large number of coordinates. These coordinates are either given
in a simple list of coordinates, read from some file, or they are computed on
the fly.
-Since the syntax and the behaviour of this command are a bit complex, they are
+Since the syntax and the behavior of this command are a bit complex, they are
described in the separated Section~\ref{section-tikz-plots}.
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex
index 06145514b4d..8710e6dc481 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-pics.tex
@@ -1,4 +1,4 @@
-% Copyright 2013 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex
index 894f6d44d9e..203689729f1 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-plots.tex
@@ -1,4 +1,4 @@
-% Copyright 2007 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -132,7 +132,7 @@ following: Each line of the \meta{filename} should contain one line starting
with two numbers, separated by a space. A line may also be empty or, if it
starts with |#| or |%| it is considered empty. For such lines, a ``new data
set'' is started, typically resulting in a new subpath being started in the
-plot (see Section~\ref{section-plot-jumps} on how to change this behaviour, if
+plot (see Section~\ref{section-plot-jumps} on how to change this behavior, if
necessary). For lines containing two numbers, they must be separated by a
space. They may be following by arbitrary text, which is ignored, \emph{except}
if it is |o| or |u|. In the first case, the point is considered to be an
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex
index d37579fae65..a8ffe644c8b 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-scopes.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -106,7 +106,7 @@ are local to the |{tikzpicture}| to which they apply.
approximation of the bounding box, but will not always be accurate. First,
the line thickness of diagonal lines is not taken into account correctly.
Second, control points of a curve often lie far ``outside'' the curve and
- make the bounding box too large. In this case, you should use the
+ make the bounding box too large. In this case, you should use the
|[use as bounding box]| option.
The following key influences the baseline of the resulting picture:
@@ -375,9 +375,9 @@ provided the single brace is followed by options in square brackets:
\end{tikzpicture}
\end{codeexample}
-In the above example, |{ [thick]| actually causes a |\begin{scope}[thick]| to
-be inserted, and the corresponding closing |}| causes an |\end{scope}| to be
-inserted.
+In the above example, |{ [ultra thick]| actually causes a
+|\begin{scope}[ultra thick]| to be inserted, and the corresponding closing |}|
+causes an |\end{scope}| to be inserted.
The ``certain places'' where an opening brace has this special meaning are the
following: First, right after the semicolon that ends a path. Second, right
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex
index e4c7d11f92d..72cd794c9f7 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-shapes.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -180,10 +180,10 @@ The syntax for specifying nodes is the following:
\begin{key}{/tikz/in front of path}
This is the opposite of |behind path|: It causes nodes to be drawn on
- top of the path. Since this is the default behaviour, you usually do
+ top of the path. Since this is the default behavior, you usually do
not need this option; it is only needed when an enclosing scope has
used |behind path| and you now wish to ``switch back'' to the normal
- behaviour.
+ behavior.
\end{key}
\medskip
@@ -477,7 +477,7 @@ filling. Here is an example that demonstrates the difference:
\label{section-shape-seps}
\label{section-shape-common-options}
-The \todosp{why two labels for the same point?} exact behaviour of shapes
+The \todosp{why two labels for the same point?} exact behavior of shapes
differs, shapes defined for more special purposes (like a, say, transistor
shape) will have even more custom behaviors. However, there are some options
that apply to most shapes:
@@ -1206,8 +1206,8 @@ anchor of the second node is at coordinate |(1,1)|.
rectangle (1,1) node[anchor=west] {second node};
\end{codeexample}
-Since the default anchor is |center|, the default behaviour is to shift the
-node in such a way that it is centered on the current position.
+Since the default anchor is |center|, the default behavior is to shift the node
+in such a way that it is centered on the current position.
\begin{key}{/tikz/anchor=\meta{anchor name}}
Causes the node to be shifted such that its anchor \meta{anchor name} lies
@@ -1492,7 +1492,7 @@ differently.
\end{tikzpicture}
\end{codeexample}
%
- It is possible to change the behaviour of this \meta{specification}
+ It is possible to change the behavior of this \meta{specification}
rather drastically, using the following key:
%
\begin{key}{/tikz/on grid=\meta{boolean} (initially false)}
@@ -1564,7 +1564,7 @@ differently.
\end{key}
\begin{key}{/tikz/above left=\opt{\meta{specification}}}
- This key is also redefined in a manner similar to the above, but behaviour
+ This key is also redefined in a manner similar to the above, but behavior
of the \meta{shifting part} is more complicated:
%
\begin{enumerate}
@@ -1708,11 +1708,11 @@ The |positioning| package also introduces the following new placement keys:
\end{key}
-\subsubsection{Advanced Arrangements of Nodes}
+\subsubsection{Advanced Arrangements of Nodes}
The simple |above| and |right| options may not always suffice for arranging a
large number of nodes. For such situations \tikzname\ offers libraries that
-make positioning easier: The |graphdrawing| library and the |matrix| library.
+make positioning easier: The |matrix| library and the |graphdrawing| library.
These libraries for positioning nodes are described in two separate
Sections~\ref{section-matrices} and~\ref{section-intro-gd}.
@@ -1929,7 +1929,7 @@ explicitly by using the |pos| option or implicitly by placing the node
\begin{key}{/tikz/auto=\opt{\meta{direction}} (default \normalfont is scope's setting)}
This option causes an anchor positions to be calculated automatically
- according to the following rule. Consider a line between to points. If the
+ according to the following rule. Consider a line between two points. If the
\meta{direction} is |left|, then the anchor is chosen such that the node is
to the left of this line. If the \meta{direction} is |right|, then the node
is to the right of this line. Leaving out \meta{direction} causes automatic
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transformations.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transformations.tex
index fcd5ef673c6..ef049f3cf36 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transformations.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transformations.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex
index 0483ee57ad3..1e2a20aba7c 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-transparency.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -17,7 +17,7 @@ Normally, when you paint something using any of \tikzname's commands (this
includes stroking, filling, shading, patterns, and images), the newly painted
objects totally obscure whatever was painted earlier in the same area.
-You can change this behaviour by using something that can be thought of as
+You can change this behavior by using something that can be thought of as
``(semi)transparent colors''. Such colors do not completely obscure the
background, rather they blend the background with the new color. At first
sight, using such semitransparent colors might seem quite straightforward, but
@@ -34,10 +34,17 @@ At the end of the section we address the problem of creating so-called
several times with a semitransparent color. Sometimes you want the effect to
accumulate, sometimes you do not.
-\emph{Note:} Transparency is best supported by the pdf\TeX\ driver. The
-\textsc{svg} driver also has some support. For PostScript output, opacity is
-rendered correctly only with the most recent versions of Ghostscript. Printers
-and other programs will typically ignore the opacity setting.
+\emph{Note:} Transparency (or Opacity, as it may be called as well) is best
+supported by the pdf\TeX\ driver. The \textsc{svg} driver also has some
+support. The PostScript file format does not know about transparency. In
+|dvips|-generated PostScript files, transparency of graphic objects is defined
+through special commands that need further processing to become visible in the
+\textsc{pdf} output. For this, a recent version of Ghostscript, preferably 9.52
+or newer, is required and its command line utility |ps2pdf| must be called with
+option |-dALLOWPSTRANSPARENCY|. Older versions may need option |-dNOSAFER|
+instead, but some advanced features, such as \emph{transparency groups} and
+\emph{fadings}, may not work at all. Printers and other programs will typically
+ignore opacity settings in PostScript files.
\subsection{Specifying a Uniform Opacity}
@@ -426,7 +433,7 @@ commands, which are \emph{only defined in the library}, namely the library
%
{\ifpgfmanualexternalize\tikzexternaldisable\fi
\begin{codeexample}[preamble={\usetikzlibrary{fadings,patterns}}]
-\begin{tikzfadingfrompicture}[name=fade right]
+\begin{tikzfadingfrompicture}[name=fade right with circle]
\shade[left color=transparent!0,
right color=transparent!100] (0,0) rectangle (2,2);
\fill[transparent!50] (1,1) circle (0.7);
@@ -439,7 +446,7 @@ commands, which are \emph{only defined in the library}, namely the library
\pattern [pattern=checkerboard,pattern color=black!30]
(-1.2,-1.2) rectangle (1.2,1.2);
- \fill [path fading=fade right,red] (-1,-1) rectangle (1,1);
+ \fill [path fading=fade right with circle,red] (-1,-1) rectangle (1,1);
\end{tikzpicture}
\end{codeexample}
%
@@ -449,7 +456,8 @@ commands, which are \emph{only defined in the library}, namely the library
\begin{codeexample}[preamble={\usetikzlibrary{fadings,patterns}}]
\begin{tikzfadingfrompicture}[name=tikz]
\node [text=transparent!20]
- {\fontencoding{T1}\fontfamily{ptm}\fontsize{45}{45}\bfseries\selectfont Ti\emph{k}Z};
+ {\fontencoding{T1}\fontfamily{ptm}\fontsize{45}{45}\bfseries\selectfont
+ Ti\emph{k}Z};
\end{tikzfadingfrompicture}
% Now we use the fading in another picture:
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex
index e2c3dc2e34e..d53ae5516cc 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tikz-trees.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -512,7 +512,7 @@ parent node is given by the |level distance|.
strange effect: It sets the sibling distance for the current level to
|0pt|, but leaves the sibling distance for later levels unchanged.
- This somewhat strange behaviour has a highly desirable effect: If you give
+ This somewhat strange behavior has a highly desirable effect: If you give
this option before the list of children of a node starts, the ``current
level'' is still the parent level. Each child will be on a later level and,
hence, the sibling distance will be as specified originally. This will
@@ -845,7 +845,7 @@ the following path operation is encountered:
the |edge from parent| command, the second parameter will be the
\meta{node specifications} that following the command.
- The standard behaviour of drawing a straight line from the parent node
+ The standard behavior of drawing a straight line from the parent node
to the child node could be achieved by setting the \meta{macro} to the
following:
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-Euclid.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-Euclid.tex
index b276178cd80..228cfbbe192 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-Euclid.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-Euclid.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -16,7 +16,7 @@ geometric constructions.
Euclid is currently quite busy writing his new book series, whose working title
is ``Elements'' (Euclid is not quite sure whether this title will convey the
message of the series to future generations correctly, but he intends to change
-the title before it goes to the publisher). Up to know, he wrote down his text
+the title before it goes to the publisher). Up to now, he wrote down his text
and graphics on papyrus, but his publisher suddenly insists that he must submit
in electronic form. Euclid tries to argue with the publisher that electronics
will only be discovered thousands of years later, but the publisher informs him
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex
index 9e8dfd00caa..04b6f584336 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-chains.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex
index 8a81429b678..4c895031c68 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-map.tex
@@ -1,4 +1,4 @@
-% Copyright 2008 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex
index 71e1486b1c9..66cacc41aff 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial-nodes.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2020 by Till Tantau
%
% This file may be distributed and/or modified
%
@@ -107,7 +107,7 @@ should look like this, ideally:
\node (r2) [fill=black!10,rounded corners,fit=(w1')(w2')(e1')(e2')(l1')(l2')] {};
\end{scope}
- \draw [shorten >=1mm,-to,thick,decorate,decoration={snake,amplitude=.4mm,segment
+ \draw [shorten >=1mm,->,thick,decorate,decoration={snake,amplitude=.4mm,segment
length=2mm,pre=moveto,pre length=1mm,post length=2mm}]
(r1) -- (r2)
node [above=1mm,midway,text width=3cm,align=center]
@@ -125,9 +125,9 @@ the previous tutorial. However, Hagen will also need to load some additional
additional definitions like extra arrow tips that are typically not needed in a
picture and that need to be loaded explicitly.
-Hagen will need to load several libraries: The |arrows| library for the special
-arrow tip used in the graphic, the |decorations.pathmorphing| library for the
-``snaking line'' in the middle, the |backgrounds| library for the two
+Hagen will need to load several libraries: The |arrows.meta| library for the
+special arrow tip used in the graphic, the |decorations.pathmorphing| library
+for the ``snaking line'' in the middle, the |backgrounds| library for the two
rectangular areas that are behind the two main parts of the picture, the |fit|
library to easily compute the sizes of these rectangles, and the |positioning|
library for placing nodes relative to other nodes.
@@ -141,7 +141,7 @@ When using \LaTeX\ use:
\documentclass{article} % say
\usepackage{tikz}
-\usetikzlibrary{arrows,decorations.pathmorphing,backgrounds,positioning,fit,petri}
+\usetikzlibrary{arrows.meta,decorations.pathmorphing,backgrounds,positioning,fit,petri}
\begin{document}
\begin{tikzpicture}
@@ -158,7 +158,7 @@ When using plain \TeX\ use:
\begin{codeexample}[code only]
%% Plain TeX file
\input tikz.tex
-\usetikzlibrary{arrows,decorations.pathmorphing,backgrounds,positioning,fit,petri}
+\usetikzlibrary{arrows.meta,decorations.pathmorphing,backgrounds,positioning,fit,petri}
\baselineskip=12pt
\hsize=6.3truein
\vsize=8.7truein
@@ -176,7 +176,7 @@ When using Con\TeX t, use:
\begin{codeexample}[code only]
%% ConTeXt file
\usemodule[tikz]
-\usetikzlibrary[arrows,decorations.pathmorphing,backgrounds,positioning,fit,petri]
+\usetikzlibrary[arrows.meta,decorations.pathmorphing,backgrounds,positioning,fit,petri]
\starttext
\starttikzpicture
@@ -571,7 +571,7 @@ anchor's name:
\node[place] (semaphore) [below=of critical] {};
\node[transition] (leave critical) [right=of critical] {};
\node[transition] (enter critical) [left=of critical] {};
- \draw [->] (critical.west) -- (enter critical.east);
+ \draw [->] (enter critical.east) -- (critical.west);
\end{tikzpicture}
\end{codeexample}
@@ -997,7 +997,7 @@ The code for the background and the snake is the following:
\node (r2) [fill=black!10,rounded corners,fit=(w1')(w2')(e1')(e2')(l1')(l2')] {};
\end{scope}
- \draw [shorten >=1mm,-to,thick,decorate,
+ \draw [shorten >=1mm,->,thick,decorate,
decoration={snake,amplitude=.4mm,segment length=2mm,
pre=moveto,pre length=1mm,post length=2mm}]
(r1) -- (r2) node [above=1mm,midway,text width=3cm,align=center]
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex
index 04ec7082d9b..0a35440fd16 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-tutorial.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex
index 022f2769b83..de910e82928 100644
--- a/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex
+++ b/Master/texmf-dist/doc/generic/pgf/text-en/pgfmanual-en-xxcolor.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/pgfmanual.tex b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/pgfmanual.tex
index fc202c6fef9..1eecb494bc6 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/pgfmanual.tex
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/en/pgfmanual.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/pgfmanual-dvipdfm.cfg b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/pgfmanual-dvipdfm.cfg
index 8d121a062b8..04c05f7e146 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/pgfmanual-dvipdfm.cfg
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfm/pgfmanual-dvipdfm.cfg
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual-test.tex b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual-test.tex
index 0143e045158..e6a93d80c26 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual-test.tex
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual-test.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2016 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual.tex b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual.tex
index 18c793c5ef1..54cc7180899 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual.tex
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/en/pgfmanual.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/pgfmanual-dvipdfmx.cfg b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/pgfmanual-dvipdfmx.cfg
index c45a660e053..36177cb14b9 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/pgfmanual-dvipdfmx.cfg
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvipdfmx/pgfmanual-dvipdfmx.cfg
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/Makefile b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/Makefile
index 1c76dda9b8e..888e665a4c5 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/Makefile
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/Makefile
@@ -9,13 +9,13 @@ pgfmanual.ps: $(doc).tex revisionfile
TEXINPUTS="$(TEXINPUTS)" $(latex) $(doc).tex
(egrep -q $(rerun) $(doc).log && TEXINPUTS="$(TEXINPUTS)" $(latex) $(doc).tex) || true
dvips -o $(doc).ps $(doc).dvi
- gs -dNOPAUSE -sDEVICE=pdfwrite -dBATCH -dCompatibilityLevel=1.4 -sOutputFile=$(doc).pdf $(doc).ps
+ gs -dNOPAUSE -sDEVICE=pdfwrite -dBATCH -dCompatibilityLevel=1.4 -dALLOWPSTRANSPARENCY -sOutputFile=$(doc).pdf $(doc).ps
test: $(doc)-test.tex revisionfile
TEXINPUTS="$(TEXINPUTS)" $(latex) $(doc)-test.tex
(egrep -q $(rerun) $(doc).log && TEXINPUTS="$(TEXINPUTS)" $(latex) $(doc)-test.tex) || true
dvips -o $(doc)-test.ps $(doc)-test.dvi
- gs -dNOPAUSE -sDEVICE=pdfwrite -dBATCH -dCompatibilityLevel=1.4 -sOutputFile=$(doc)-test.pdf $(doc)-test.ps
+ gs -dNOPAUSE -sDEVICE=pdfwrite -dBATCH -dCompatibilityLevel=1.4 -dALLOWPSTRANSPARENCY -sOutputFile=$(doc)-test.pdf $(doc)-test.ps
revisionfile:
cd ../../../../.. && ./scripts/pgf/pgfrevisionfile.sh
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual-test.tex b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual-test.tex
index 2cc03e5cd9a..1ebc724cbe8 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual-test.tex
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual-test.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2016 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual.tex b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual.tex
index 10e7f9c75b2..16b7647b741 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual.tex
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/en/pgfmanual.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/pgfmanual-dvips.cfg b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/pgfmanual-dvips.cfg
index 8511b9f1f36..9b26ef5d529 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-dvips/pgfmanual-dvips.cfg
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvips/pgfmanual-dvips.cfg
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/color.cfg b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/color.cfg
index e69de29bb2d..4ab2ccf8919 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/color.cfg
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/color.cfg
@@ -0,0 +1 @@
+% Override color.cfg from graphicx
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual-test.tex b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual-test.tex
index a36c232025a..65c29458bac 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual-test.tex
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual-test.tex
@@ -1,4 +1,4 @@
-% Copyright 2015 by Till Tantau
+% Copyright 2016 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual.tex b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual.tex
index 03aa953fa25..f4399ea448f 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual.tex
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/en/pgfmanual.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2016 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/pgfmanual-dvisvgm.cfg b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/pgfmanual-dvisvgm.cfg
index d7b04c4ec75..edbd6698ed5 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/pgfmanual-dvisvgm.cfg
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-dvisvgm/pgfmanual-dvisvgm.cfg
@@ -1,4 +1,4 @@
-% Copyright 2016 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex
index f2f2cfeaea3..98b08b3f74d 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual-test.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual.tex b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual.tex
index 9c8808cab83..83bf5177339 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual.tex
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/en/pgfmanual.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/pgfmanual-luatex.cfg b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/pgfmanual-luatex.cfg
index 8befeb01e5e..289b8716fbc 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-luatex/pgfmanual-luatex.cfg
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-luatex/pgfmanual-luatex.cfg
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/pgfmanual.tex b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/pgfmanual.tex
index e1eb4e99427..90cf47439c5 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/pgfmanual.tex
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/en/pgfmanual.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2018 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/pgfmanual-pdftex.cfg b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/pgfmanual-pdftex.cfg
index 39a7955e697..f888fb60b3c 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/pgfmanual-pdftex.cfg
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-pdftex/pgfmanual-pdftex.cfg
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/pgfmanual-tex4ht.cfg b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/pgfmanual-tex4ht.cfg
index 99a00db7e31..698a0895733 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/pgfmanual-tex4ht.cfg
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-tex4ht/pgfmanual-tex4ht.cfg
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2008 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-vtex/pgfmanual-vtex.cfg b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/pgfmanual-vtex.cfg
index 3012c714162..1d346686f29 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-vtex/pgfmanual-vtex.cfg
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-vtex/pgfmanual-vtex.cfg
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/pgfmanual.tex b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/pgfmanual.tex
index 647d821179a..97444031ceb 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/pgfmanual.tex
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/en/pgfmanual.tex
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2008 by Till Tantau
%
% This file may be distributed and/or modified
%
diff --git a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/pgfmanual-xetex.cfg b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/pgfmanual-xetex.cfg
index 42c1be069fc..db64556861c 100644
--- a/Master/texmf-dist/doc/generic/pgf/version-for-xetex/pgfmanual-xetex.cfg
+++ b/Master/texmf-dist/doc/generic/pgf/version-for-xetex/pgfmanual-xetex.cfg
@@ -1,4 +1,4 @@
-% Copyright 2006 by Till Tantau
+% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%