Commits

Anonymous committed a620cad

The initial import of the 1.1 release of xslt-process.

  • Participants

Comments (0)

Files changed (22)

+Thu Jan  4 01:23:25 2001  Ovidiu Predescu  <ovidiu@cup.hp.com>
+
+	* doc/xslt-process.texi: Updated the documentation for the 1.1
+	release.
+
+Wed Jan  3 23:37:15 2001  Ovidiu Predescu  <ovidiu@cup.hp.com>
+
+	* lisp/xslt-process.el: Added xslt-process-additional-classpath to
+	allow passing additional classpath arguments to BSH (suggestion
+	from T.V. Raman <tvraman@almaden.ibm.com>).
+
+Fri Dec 15 00:29:44 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
+
+	* lisp/xslt-process.el: Handle user agent specification for
+	Cocoon.
+	* java/xslt/Cocoon1.java: Handle user agent specification.
+
+Thu Dec 14 22:45:43 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
+
+	* lisp/xslt-process.el: Always display error messages in a buffer,
+	even when applying the stylesheet fails because of JVM startup
+	problems.
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
+# Makefile for sh-script lisp code
+
+# This file is part of XEmacs.
+
+# XEmacs is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 2, or (at your option) any
+# later version.
+
+# XEmacs is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with XEmacs; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+.PHONY: doc
+
+VERSION = 1.0
+AUTHOR_VERSION = 1.1
+MAINTAINER = Ovidiu Predescu <ovidiu@xemacs.org>
+PACKAGE = xslt-process
+PKG_TYPE = regular
+REQUIRES = jde cc-mode semantic debug speedbar \
+	edit-utils eterm mail-lib xemacs-base
+CATEGORY = prog
+
+ELCS = lisp/xslt-process.elc
+AUTOLOAD_PATH = lisp
+
+include ../../XEmacs.rules
+
+GENERATED += lisp/xslt-process.elc
+
+AUTOLOAD_PATH = lisp
+
+PRELOADS = -eval "(setq load-path \
+                        (nconc load-path \
+                           '((expand-file-name \"../../libs/fsf-compat/\"))))" 
+
+all:: $(ELCS) $(AUTOLOAD_PATH)/auto-autoloads.elc
+
+srckit: srckit-std
+
+binkit: binkit-common
+
+JAR = xslt.jar
+
+jar: java/$(JAR)
+
+java/xslt.jar: $(wildcard java/xslt/*.java)
+	(cd java; \
+	 javac -classpath `pwd`/java:$$CLASSPATH `find . -name '*.java'`; \
+	 jar cf $(JAR) `find . -name '*.class'`)
+
+doc:
+	(cd doc; make)
+
+clean::
+	(cd doc; make clean)
+
+   This document describes the XSLT-process, a minor mode for (X)Emacs
+which allows running an XSLT processor on a buffer.
+
+* Menu:
+
+* What is it and how to use it?::
+* Installation::
+* Changes::
+* Future enhancements::
+* Feedback::
+
+
+What is it and how to use it?
+*****************************
+
+   Have you ever developed XML applications using XSLT? If so you
+probably felt the need of viewing the result of applying the XSLT
+processor on the XML file using an XSLT sheet you have been working on
+right inside your (X)Emacs, without having to go to a terminal or to
+the Web browser. This minor mode allows you to do it!
+
+   The _XSLT-process_ minor mode allows you, while you're inside a
+buffer for which this minor mode is enabled, to enter a few keystrokes
+that will invoke the XSLT processor of choice on the buffer. The result
+is displayed in another (X)Emacs buffer, which allows you to quickly
+view and inspect the results.
+
+   The XSLT file that's used to process the file should be specified
+inside the XML file using the XML processing instruction
+`xml-stylesheet', like this:
+
+     <?xml-stylesheet href="URL/to/XSLT/file" type="text/xsl"?>
+
+   You can use URLs which are relative to the location of your XML file.
+For example if you have an XSLT file `page-html.xsl' in the same
+directory as the XML file you can simply have inside the XML file the
+following processing instruction:
+
+     <?xml-stylesheet href="page-html.xsl" type="text/xsl"?>
+
+   The _XSLT-process_ mode was designed to work with any XSLT processor
+written in the Java language. Support for processors written in other
+languages should be trivial to add.
+
+* Menu:
+
+* Key binding::
+* Supported XSLT processors::
+* Customization::
+* Temporarily changing the XSLT processor::
+* Additional parameters passed to Cocoon::
+
+
+
+Key binding
+===========
+
+   To invoke the XSLT processor on a file, position the point inside the
+buffer and type `C-M-x'. You can customize the key binding by invoking
+`M-x customize-group RET xslt-process' and updating the key binding in
+the appropriate customization option.
+
+   The actual Emacs-Lisp function that gets invoked when you enter the
+keystrokes is `xslt-process-invoke'.
+
+   The first time you invoke the above function, it will start-up the
+Java Bean Shell (http://www.beanshell.org/) as a separate process
+running in the background. This operation may take some time, however
+further invocations of the processor are very fast as the JVM is started
+and all the classes already loaded.
+
+   The XSLT processor will look into your XML file for an
+`xml-stylesheet' processing instruction specifying the XSLT file to be
+used to process the file.
+
+
+Supported XSLT processors
+=========================
+
+   In this version the _XSLT-process_ minor mode supports the following
+XSLT processors:
+
+   * Saxon (http://users.iclway.co.uk/mhkay/saxon/)
+
+     Both Saxon version 5.5.1 and 6.0.1 have been tested and work fine.
+     The 6.0.1 version however prints some annoying messages to stdout
+     which show up in the additional messages buffer.
+
+   * Xalan 1.2 (http://xml.apache.org/xalan/)
+
+     This works fine.
+
+   * Cocoon 1.8.x (http://xml.apache.org/cocoon/)
+
+     Although Cocoon is not an XSLT processor, but rather an XML
+     publishing framework, I added support for it as I'm using it quite
+     extensively. This was in fact the primary reason started
+     _XSLT-process_: I got really tired of restarting Apache each time I
+     was doing a change in either an XML file or an XSLT sheet, because
+     of some weird caching problems in Cocoon.
+
+
+
+Customization
+=============
+
+   There are several things you might want to customize. You can get to
+the customization page by typing `M-x customize-group RET xslt-process'
+or by choosing the following menu path in Xemacs: `Options -> Emacs ->
+Programming -> Languages -> Sgml -> Xslt Process'.
+
+   To choose the XSLT processor of your choice update the _Default
+Processor_ option.
+
+   If you're using Cocoon as the processor, you should also specify the
+location of the properties file, otherwise you'll get an error at
+runtime.
+
+
+Temporarily changing the XSLT processor
+=======================================
+
+   If you want to experiment the results of your stylesheets using
+different XSLT processors, going through the customization page and
+changing the processor can be quite an involved process.
+
+   You can specify the processor you want to be applied to your file
+right inside the file. Just add a _Local Variables_ section at the end
+of your XML file and specify within it what should be the XSLT
+processor to be invoked using the `processor' variable. For example, by
+adding the following section at the end of your file, you specify
+_Saxon_ to be used as the XSLT processor, no matter what is the global
+setting in the customization page:
+
+     <!--
+     Local Variables:
+     processor: Saxon
+     End:
+     -->
+
+   In this release, the acceptable values for `processor' are `Saxon',
+`Xalan1' and `Cocoon1'. By replacing the value of `processor', you can
+run any of the supported processors on your file.
+
+
+Additional parameters passed to Cocoon
+--------------------------------------
+
+   It is possible to pass additional parameters to a Cocoon processor
+using `user-agent' local variable in an Emacs buffer:
+
+     <!--
+     Local Variables:
+     processor: Cocoon1
+     user-agent: UP.Browser
+     End:
+     -->
+
+   In this example the user agent of the requesting browser appears to
+Cocoon as being _UP.Browser_. If no user agent is specified, by default
+Cocoon will consider the requesting browser as being HTML capable, thus
+transforming the output to HTML.
+
+
+Installation
+************
+
+   The _XSLT-process_ mode has been developed under XEmacs 21.1 under
+Linux, but all the precautions have been taken to make sure it works
+with GNU Emacs as well. Also, as the _XSLT-process_ mode does not have
+any operating system dependencies by itself, it should work on any
+operating system JDE has been ported to, including Windows.
+
+   However since I'm not a user of neither GNU Emacs nor Windows, if you
+find any problems on these platforms, I would appreciate any feedback
+that helps improving this package.
+
+   This mode depends on a few other packages:
+
+   * *JDE*: This package was tested with JDE version 2.2.2, but it
+     should work with newer versions as well. Please make sure you
+     follow all the installation instructions on JDE's Web site
+     (<http://sunsite.dk/jde/>)
+
+   * *Elib*: This package is a package JDE depends on, but I list it
+     here to insure it's installed. If this package is missing, you'll
+     get an error about the `avltree' package not found. This is a
+     frequently asked question on the JDE's mailing list, so please
+     make sure you don't ask it one more time.
+
+
+   Make sure you have these packages installed in your Emacs-Lisp path.
+
+   You can now add the following line in your `.emacs' file:
+
+     (autoload 'xslt-process-mode "xslt-process"
+               "Run XSLT processor on buffer" t)
+
+   After the _XSLT-process_ mode has been made available to (X)Emacs,
+you can enable the minor mode on a per-buffer basis by running `M-x
+xslt-process-mode'. Or you can invoke `xslt-process-mode' from the
+mode's hook, see *Note Setting up PSGML with XSLT-process:: for an
+example on how you can do it.
+
+* Menu:
+
+* Setting up PSGML with XSLT-process::
+
+
+Setting up PSGML with XSLT-process
+==================================
+
+   The XSLT-process minor mode works really nice in conjuction with the
+PSGML major mode for SGML and XML editing.
+
+   To setup the XSLT-process minor mode to be automatically enabled when
+you visit an XML file under PSGML, add the following lines in your
+`.emacs' (I assume all the packages are installed under `~/emacs'):
+
+     (setq load-path
+           (append (list "~/emacs/xslt-process-1.0/lisp"
+     		    "~/emacs/jde-2.2.2/lisp"
+     		    "~/emacs/semantic-1.2.1"
+     		    "~/emacs/speedbar-0.12"
+     		    ) load-path))
+     
+     (setq auto-mode-alist
+           (append '(("\\.xml$" . xml-mode)) auto-mode-alist))
+     
+     (add-hook 'xml-mode-hook 'xslt-process-mode)
+     
+     (autoload 'xslt-process-mode "xslt-process"
+               "Run XSLT processor on buffer" t)
+
+   If you're using a different major mode for editing XML documents, you
+can setup the mode's hook in a similar way as above to automatically
+enable the _XSLT-process_ minor mode.
+
+
+Changes
+*******
+
+   This is a list of changes since the 1.0 release.
+
+  1. The `xslt-process-additional-classpath' customization variable has
+     been introduced. Setup this variable with any additional Java
+     classpath components you want to be passed to the BeanShell when
+     is first invoked. If you already started a BeanShell, you need to
+     kill the corresponding buffer (named `*bsh*') and restart it by
+     invoking _XSLT-process_ on a buffer. (Suggestion from T. V. Raman
+     (mailto:tvraman@almaden.ibm.com).)
+
+  2. Allow for passing the user agent to the Cocoon processor so that
+     multiple browser types can be simulated. This works with a patch I
+     submitted against Cocoon 1.8-dev; it was incorporated and should be
+     available in the 1.8.1 release. If you need the patch before this
+     release, feel free to contact me, I'll gladly send it to you.
+
+  3. The way the error messages are displayed has changed, now error
+     messages messages encountered during the JVM startup process also
+     go in the `*xslt-output*' buffer.
+
+  4. The default keybinding has been changed to `C-M-x' instead of `C-c
+     x', to conform to the (X)Emacs keybinding standards.
+
+
+
+Future enhancements
+*******************
+
+   I have few ideas on how this mode could be improved, however they
+may or may not appear in the next version of this package.
+
+  1. Add an additional buffer local variable to specify additional
+     arguments to the XSLT processor. These arguments could then be
+     read in the XSLT stylesheet using the `xsl:param' element.
+
+  2. Add additional buffer local variable to support specifying HTTP
+     header values. This would require additional changes in the Cocoon
+     1.x code to support them.
+
+
+
+Feedback
+********
+
+   I would appreciate any feedback on the _XSLT-process_ mode; please
+send it to Ovidiu Predescu (mailto:ovidiup@altavista.net).
+
+   The home page of the _XSLT-process_ package is:
+
+<http://www.geocities.com/SiliconValley/Monitor/7464/emacs/xslt-process/>.
+
+
+- support the TraX interface, so that Xalan2 and Saxon 6.1(?) work
+from the same Java class
+
+- support for cached stylesheets
+
+- allow for externally specified stylesheets. Define menu entries for
+them that can be customized to appear as children of other menus than
+the top level.
+
+- allow starting an external program (possibly using metamail) based
+on the media type specified in the stylesheet and on an association
+(customizable in Emacs) between media types and MIME types. How to do
+the same on Windows?
+
+- automagically recognize the type of the result in the output buffer
+and apply the right mode to it. Should this be based on the MIME type?

File doc/Makefile

+TEXI = xslt-process.texi
+
+INFO = $(TEXI:.texi=.info)
+DVI = $(TEXI:.texi=.dvi)
+PS = $(TEXI:.texi=.ps)
+PDF = $(TEXI:.texi=.pdf)
+HTML = $(TEXI:.texi=.html)
+
+.SUFFIXES: .texi .info .dvi .ps .pdf .html
+
+.texi.info:
+	makeinfo $<
+	info --output=../README --subnodes --file $@
+	sed -e '/^File:.*/d' -e '/[ 	]*,Top[ 	]*/d' <../README >../README.tmp
+	mv ../README.tmp ../README
+
+.texi.dvi:
+	texi2dvi $<
+	texi2dvi $<
+
+.dvi.ps:
+	dvips -o $@ $<
+
+.texi.html:
+	texi2html -nosec_nav -nomenu $<
+
+.texi.pdf:
+	texi2pdf $<
+
+all: info dvi ps pdf html
+
+info: $(INFO)
+dvi: $(DVI)
+ps: $(PS)
+pdf: $(PDF)
+html: $(HTML)
+
+homepage: html
+	sed -e 's/<BODY[^>]*>/<BODY>/g' \
+	  -e 's^</BODY>^<p><a HREF=../index.html><img src=../../images/back.gif border=0%> Other (X)Emacs hacks</a><br><a href=../../index.html><img src=../../images/home.gif border=0%> Home</a></body>^g' <$(HTML) >$(HTML).tmp
+	mv $(HTML).tmp $(HTML)
+
+clean:
+	rm -f *.aux *.cp *.fn *.ky *.log *.pg *.toc *.tp *.vr
+
+distclean: clean
+	rm -f *.dvi *.html *.pdf *.ps *.info

File doc/xslt-process.dvi

Binary file added.

File doc/xslt-process.gif

Added
New image

File doc/xslt-process.html

+<HTML>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!-- Created on February, 13  2001 by texi2html 1.64 -->
+<!-- 
+Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
+            Karl Berry  <karl@freefriends.org>
+            Olaf Bachmann <obachman@mathematik.uni-kl.de>
+            and many others.
+Maintained by: Olaf Bachmann <obachman@mathematik.uni-kl.de>
+Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
+ 
+-->
+<HEAD>
+<TITLE>XSLT-process minor mode: </TITLE>
+
+<META NAME="description" CONTENT="XSLT-process minor mode: ">
+<META NAME="keywords" CONTENT="XSLT-process minor mode: ">
+<META NAME="resource-type" CONTENT="document">
+<META NAME="distribution" CONTENT="global">
+<META NAME="Generator" CONTENT="texi2html 1.64">
+
+</HEAD>
+
+<BODY LANG="" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
+
+<A NAME="SEC_Top"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="xslt-process.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="xslt-process.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="xslt-process.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1>XSLT-process minor mode</H1></P><P>
+
+This document describes the XSLT-process, a minor mode for (X)Emacs
+which allows running an XSLT processor on a buffer.
+</P><P>
+
+<HR SIZE=1>
+<A NAME="SEC1"></A>
+<H1> 1. Current version </H1>
+<!--docid::SEC1::-->
+<P>
+
+[Here are different versions of this document:
+<A HREF="xslt-process.pdf">PDF</A>, <A HREF="xslt-process.ps">PS</A>]
+</P><P>
+
+The current version of <EM>XSLT-process</EM> is 1.1. You can
+download it from <A HREF="xslt-process-1.1.tar.gz">here</A>.
+</P><P>
+
+For a list of changes between since the last version, please take a look
+at See section <A HREF="xslt-process.html#SEC10">4. Changes</A>.
+</P><P>
+
+<A NAME="What is it and how to use it?"></A>
+<HR SIZE="6">
+<A NAME="SEC2"></A>
+<H1> 2. What is it and how to use it? </H1>
+<!--docid::SEC2::-->
+<P>
+
+Have you ever developed XML applications using XSLT? If so you probably
+felt the need of viewing the result of applying the XSLT processor on
+the XML file using an XSLT sheet you have been working on right inside
+your (X)Emacs, without having to go to a terminal or to the Web
+browser. This minor mode allows you to do it!
+</P><P>
+
+The <EM>XSLT-process</EM> minor mode allows you, while you're inside a
+buffer for which this minor mode is enabled, to enter a few keystrokes
+that will invoke the XSLT processor of choice on the buffer. The result
+is displayed in another (X)Emacs buffer, which allows you to quickly
+view and inspect the results.
+</P><P>
+
+The XSLT file that's used to process the file should be specified inside
+the XML file using the XML processing instruction <SAMP>`xml-stylesheet'</SAMP>,
+like this:
+</P><P>
+
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>&#60;?xml-stylesheet href="URL/to/XSLT/file" type="text/xsl"?&#62;
+</pre></td></tr></table></P><P>
+
+You can use URLs which are relative to the location of your XML file.
+For example if you have an XSLT file <TT>`page-html.xsl'</TT> in the same
+directory as the XML file you can simply have inside the XML file the
+following processing instruction:
+</P><P>
+
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>&#60;?xml-stylesheet href="page-html.xsl" type="text/xsl"?&#62;
+</pre></td></tr></table></P><P>
+
+The <EM>XSLT-process</EM> mode was designed to work with any XSLT
+processor written in the Java language. Support for processors written
+in other languages should be trivial to add.
+</P><P>
+
+Here is a <A HREF="xslt-process.gif">screenshot</A> of the <EM>XSLT-process</EM>
+mode in action.
+</P><P>
+
+<A NAME="Key binding"></A>
+<HR SIZE="6">
+<A NAME="SEC3"></A>
+<H2> 2.1 Key binding </H2>
+<!--docid::SEC3::-->
+<P>
+
+To invoke the XSLT processor on a file, position the point inside the
+buffer and type <SAMP>`C-M-x'</SAMP>. You can customize the key binding by
+invoking <SAMP>`M-x customize-group RET xslt-process'</SAMP> and updating the
+key binding in the appropriate customization option.
+</P><P>
+
+The actual Emacs-Lisp function that gets invoked when you enter the
+keystrokes is <SAMP>`xslt-process-invoke'</SAMP>.
+</P><P>
+
+The first time you invoke the above function, it will start-up the
+<A HREF="http://www.beanshell.org/">Java Bean Shell</A> as a separate process
+running in the background. This operation may take some time, however
+further invocations of the processor are very fast as the JVM is started
+and all the classes already loaded.
+</P><P>
+
+The XSLT processor will look into your XML file for an
+<SAMP>`xml-stylesheet'</SAMP> processing instruction specifying the XSLT file to
+be used to process the file.
+</P><P>
+
+<A NAME="Supported XSLT processors"></A>
+<HR SIZE="6">
+<A NAME="SEC4"></A>
+<H2> 2.2 Supported XSLT processors </H2>
+<!--docid::SEC4::-->
+<P>
+
+In this version the <EM>XSLT-process</EM> minor mode supports the
+following XSLT processors:
+</P><P>
+
+<UL>
+
+<LI><A HREF="http://users.iclway.co.uk/mhkay/saxon/">Saxon</A>
+<P>
+
+Both Saxon version 5.5.1 and 6.0.1 have been tested and work fine. The
+6.0.1 version however prints some annoying messages to stdout which show
+up in the additional messages buffer.
+</P><P>
+
+<LI><A HREF="http://xml.apache.org/xalan/">Xalan 1.2</A>
+<P>
+
+This works fine.
+</P><P>
+
+<LI><A HREF="http://xml.apache.org/cocoon/">Cocoon 1.8.x</A>
+<P>
+
+Although Cocoon is not an XSLT processor, but rather an XML publishing
+framework, I added support for it as I'm using it quite
+extensively. This was in fact the primary reason started
+<EM>XSLT-process</EM>: I got really tired of restarting Apache each time I
+was doing a change in either an XML file or an XSLT sheet, because of
+some weird caching problems in Cocoon.
+</P><P>
+
+</UL>
+<P>
+
+<A NAME="Customization"></A>
+<HR SIZE="6">
+<A NAME="SEC5"></A>
+<H2> 2.3 Customization </H2>
+<!--docid::SEC5::-->
+<P>
+
+There are several things you might want to customize. You can get to the
+customization page by typing <SAMP>`M-x customize-group RET xslt-process'</SAMP>
+or by choosing the following menu path in Xemacs: <SAMP>`Options -&#62; Emacs
+-&#62; Programming -&#62; Languages -&#62; Sgml -&#62; Xslt Process'</SAMP>.
+</P><P>
+
+To choose the XSLT processor of your choice update the <EM>Default
+Processor</EM> option.
+</P><P>
+
+If you're using Cocoon as the processor, you should also specify the
+location of the properties file, otherwise you'll get an error at
+runtime.
+</P><P>
+
+<A NAME="Temporarily changing the XSLT processor"></A>
+<HR SIZE="6">
+<A NAME="SEC6"></A>
+<H2> 2.4 Temporarily changing the XSLT processor </H2>
+<!--docid::SEC6::-->
+<P>
+
+If you want to experiment the results of your stylesheets using
+different XSLT processors, going through the customization page and
+changing the processor can be quite an involved process.
+</P><P>
+
+You can specify the processor you want to be applied to your file right
+inside the file. Just add a <EM>Local Variables</EM> section at the end of
+your XML file and specify within it what should be the XSLT processor to
+be invoked using the <SAMP>`processor'</SAMP> variable. For example, by adding
+the following section at the end of your file, you specify <EM>Saxon</EM>
+to be used as the XSLT processor, no matter what is the global setting
+in the customization page:
+</P><P>
+
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>&#60;!--
+Local Variables:
+processor: Saxon
+End:
+--&#62;
+</pre></td></tr></table></P><P>
+
+In this release, the acceptable values for <SAMP>`processor'</SAMP> are
+<SAMP>`Saxon'</SAMP>, <SAMP>`Xalan1'</SAMP> and <SAMP>`Cocoon1'</SAMP>. By replacing the value
+of <SAMP>`processor'</SAMP>, you can run any of the supported processors on your
+file.
+</P><P>
+
+<A NAME="Additional parameters passed to Cocoon"></A>
+<HR SIZE="6">
+<A NAME="SEC7"></A>
+<H3> 2.4.1 Additional parameters passed to Cocoon </H3>
+<!--docid::SEC7::-->
+<P>
+
+It is possible to pass additional parameters to a Cocoon processor using
+<SAMP>`user-agent'</SAMP> local variable in an Emacs buffer:
+</P><P>
+
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>&#60;!--
+Local Variables:
+processor: Cocoon1
+user-agent: UP.Browser
+End:
+--&#62;
+</pre></td></tr></table></P><P>
+
+In this example the user agent of the requesting browser appears to
+Cocoon as being <EM>UP.Browser</EM>. If no user agent is specified, by
+default Cocoon will consider the requesting browser as being HTML
+capable, thus transforming the output to HTML.
+</P><P>
+
+<A NAME="Installation"></A>
+<HR SIZE="6">
+<A NAME="SEC8"></A>
+<H1> 3. Installation </H1>
+<!--docid::SEC8::-->
+<P>
+
+The <EM>XSLT-process</EM> mode has been developed under XEmacs 21.1 under
+Linux, but all the precautions have been taken to make sure it works
+with GNU Emacs as well. Also, as the <EM>XSLT-process</EM> mode does not
+have any operating system dependencies by itself, it should work on any
+operating system JDE has been ported to, including Windows.
+</P><P>
+
+However since I'm not a user of neither GNU Emacs nor Windows, if you
+find any problems on these platforms, I would appreciate any feedback
+that helps improving this package.
+</P><P>
+
+This mode depends on a few other packages:
+</P><P>
+
+<UL>
+
+<LI><STRONG>JDE</STRONG>:
+This package was tested with JDE version 2.2.2, but it should work with
+newer versions as well. Please make sure you follow all the installation
+instructions on JDE's Web site (<A HREF="http://sunsite.dk/jde/">http://sunsite.dk/jde/</A>)
+<P>
+
+<LI><STRONG>Elib</STRONG>:
+This package is a package JDE depends on, but I list it here to insure
+it's installed. If this package is missing, you'll get an error about
+the <SAMP>`avltree'</SAMP> package not found. This is a frequently asked
+question on the JDE's mailing list, so please make sure you don't ask it
+one more time.
+<P>
+
+</UL>
+<P>
+
+Make sure you have these packages installed in your Emacs-Lisp path.
+</P><P>
+
+You can now add the following line in your <TT>`.emacs'</TT> file:
+</P><P>
+
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>(autoload 'xslt-process-mode "xslt-process"
+          "Run XSLT processor on buffer" t)
+</pre></td></tr></table></P><P>
+
+After the <EM>XSLT-process</EM> mode has been made available to (X)Emacs,
+you can enable the minor mode on a per-buffer basis by running <SAMP>`M-x
+xslt-process-mode'</SAMP>. Or you can invoke <SAMP>`xslt-process-mode'</SAMP> from the
+mode's hook, see See section <A HREF="xslt-process.html#SEC9">3.1 Setting up PSGML with XSLT-process</A> for an example
+on how you can do it.
+</P><P>
+
+<A NAME="Setting up PSGML with XSLT-process"></A>
+<HR SIZE="6">
+<A NAME="SEC9"></A>
+<H2> 3.1 Setting up PSGML with XSLT-process </H2>
+<!--docid::SEC9::-->
+<P>
+
+The XSLT-process minor mode works really nice in conjuction with the
+PSGML major mode for SGML and XML editing.
+</P><P>
+
+To setup the XSLT-process minor mode to be automatically enabled when
+you visit an XML file under PSGML, add the following lines in your
+<TT>`.emacs'</TT> (I assume all the packages are installed under
+<TT>`~/emacs'</TT>):
+</P><P>
+
+<TABLE><tr><td>&nbsp;</td><td class=example><pre>(setq load-path
+      (append (list "~/emacs/xslt-process-1.0/lisp"
+		    "~/emacs/jde-2.2.2/lisp"
+		    "~/emacs/semantic-1.2.1"
+		    "~/emacs/speedbar-0.12"
+		    ) load-path))
+
+(setq auto-mode-alist
+      (append '(("\\.xml$" . xml-mode)) auto-mode-alist))
+
+(add-hook 'xml-mode-hook 'xslt-process-mode)
+
+(autoload 'xslt-process-mode "xslt-process"
+          "Run XSLT processor on buffer" t)
+</pre></td></tr></table></P><P>
+
+If you're using a different major mode for editing XML documents, you
+can setup the mode's hook in a similar way as above to automatically
+enable the <EM>XSLT-process</EM> minor mode.
+</P><P>
+
+<A NAME="Changes"></A>
+<HR SIZE="6">
+<A NAME="SEC10"></A>
+<H1> 4. Changes </H1>
+<!--docid::SEC10::-->
+<P>
+
+This is a list of changes since the 1.0 release.
+</P><P>
+
+<OL>
+
+<LI>
+The <SAMP>`xslt-process-additional-classpath'</SAMP> customization variable has
+been introduced. Setup this variable with any additional Java classpath
+components you want to be passed to the BeanShell when is first
+invoked. If you already started a BeanShell, you need to kill the
+corresponding buffer (named <SAMP>`*bsh*'</SAMP>) and restart it by invoking
+<EM>XSLT-process</EM> on a buffer. (Suggestion from
+<A HREF="mailto:tvraman@almaden.ibm.com">T. V. Raman</A>.)
+<P>
+
+<LI>
+Allow for passing the user agent to the Cocoon processor so that
+multiple browser types can be simulated. This works with a patch I
+submitted against Cocoon 1.8-dev; it was incorporated and should be
+available in the 1.8.1 release. If you need the patch before this
+release, feel free to contact me, I'll gladly send it to you.
+<P>
+
+<LI>
+The way the error messages are displayed has changed, now error messages
+messages encountered during the JVM startup process also go in the
+<SAMP>`*xslt-output*'</SAMP> buffer.
+<P>
+
+<LI>
+The default keybinding has been changed to <KBD>C-M-x</KBD> instead of
+<KBD>C-c x</KBD>, to conform to the (X)Emacs keybinding standards.
+<P>
+
+</OL>
+<P>
+
+<A NAME="Future enhancements"></A>
+<HR SIZE="6">
+<A NAME="SEC11"></A>
+<H1> 5. Future enhancements </H1>
+<!--docid::SEC11::-->
+<P>
+
+I have few ideas on how this mode could be improved, however they may or
+may not appear in the next version of this package.
+</P><P>
+
+<OL>
+
+<LI>
+Add an additional buffer local variable to specify additional arguments
+to the XSLT processor. These arguments could then be read in the XSLT
+stylesheet using the <SAMP>`xsl:param'</SAMP> element.
+<P>
+
+<LI>
+Add additional buffer local variable to support specifying HTTP header
+values. This would require additional changes in the Cocoon 1.x code to
+support them.
+<P>
+
+</OL>
+<P>
+
+<A NAME="Feedback"></A>
+<HR SIZE="6">
+<A NAME="SEC12"></A>
+<H1> 6. Feedback </H1>
+<!--docid::SEC12::-->
+<P>
+
+I would appreciate any feedback on the <EM>XSLT-process</EM> mode; please
+send it to <A HREF="mailto:ovidiup@altavista.net">Ovidiu Predescu</A>.
+</P><P>
+
+The home page of the <EM>XSLT-process</EM> package is:
+</P><P>
+
+<A HREF="http://www.geocities.com/SiliconValley/Monitor/7464/emacs/xslt-process/">http://www.geocities.com/SiliconValley/Monitor/7464/emacs/xslt-process/</A>.
+</P><P>
+
+<HR SIZE="6">
+<A NAME="SEC_Contents"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="xslt-process.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="xslt-process.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="xslt-process.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1>Table of Contents</H1>
+<UL>
+<A NAME="TOC1" HREF="xslt-process.html#SEC1">1. Current version</A>
+<BR>
+<A NAME="TOC2" HREF="xslt-process.html#SEC2">2. What is it and how to use it?</A>
+<BR>
+<UL>
+<A NAME="TOC3" HREF="xslt-process.html#SEC3">2.1 Key binding</A>
+<BR>
+<A NAME="TOC4" HREF="xslt-process.html#SEC4">2.2 Supported XSLT processors</A>
+<BR>
+<A NAME="TOC5" HREF="xslt-process.html#SEC5">2.3 Customization</A>
+<BR>
+<A NAME="TOC6" HREF="xslt-process.html#SEC6">2.4 Temporarily changing the XSLT processor</A>
+<BR>
+<UL>
+<A NAME="TOC7" HREF="xslt-process.html#SEC7">2.4.1 Additional parameters passed to Cocoon</A>
+<BR>
+</UL>
+</UL>
+<A NAME="TOC8" HREF="xslt-process.html#SEC8">3. Installation</A>
+<BR>
+<UL>
+<A NAME="TOC9" HREF="xslt-process.html#SEC9">3.1 Setting up PSGML with XSLT-process</A>
+<BR>
+</UL>
+<A NAME="TOC10" HREF="xslt-process.html#SEC10">4. Changes</A>
+<BR>
+<A NAME="TOC11" HREF="xslt-process.html#SEC11">5. Future enhancements</A>
+<BR>
+<A NAME="TOC12" HREF="xslt-process.html#SEC12">6. Feedback</A>
+<BR>
+</UL>
+<HR SIZE=1>
+<A NAME="SEC_OVERVIEW"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="xslt-process.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="xslt-process.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="xslt-process.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1>Short Table of Contents</H1>
+<BLOCKQUOTE>
+<A NAME="TOC1" HREF="xslt-process.html#SEC1">1. Current version</A>
+<BR>
+<A NAME="TOC2" HREF="xslt-process.html#SEC2">2. What is it and how to use it?</A>
+<BR>
+<A NAME="TOC8" HREF="xslt-process.html#SEC8">3. Installation</A>
+<BR>
+<A NAME="TOC10" HREF="xslt-process.html#SEC10">4. Changes</A>
+<BR>
+<A NAME="TOC11" HREF="xslt-process.html#SEC11">5. Future enhancements</A>
+<BR>
+<A NAME="TOC12" HREF="xslt-process.html#SEC12">6. Feedback</A>
+<BR>
+
+</BLOCKQUOTE>
+<HR SIZE=1>
+<A NAME="SEC_About"></A>
+<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0>
+<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="xslt-process.html#SEC_Top">Top</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="xslt-process.html#SEC_Contents">Contents</A>]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD>
+<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="xslt-process.html#SEC_About"> ? </A>]</TD>
+</TR></TABLE>
+<H1>About this document</H1>
+This document was generated by <I>Ovidiu Predescu</I> on <I>February, 13  2001</I>
+using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
+"><I>texi2html</I></A>
+<P></P>  
+<HR SIZE=1>
+</BODY>
+</HTML>

File doc/xslt-process.pdf

Binary file added.

File doc/xslt-process.ps

+%!PS-Adobe-2.0
+%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
+%%Title: xslt-process.dvi
+%%Pages: 10
+%%PageOrder: Ascend
+%%BoundingBox: 0 0 612 792
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips -o xslt-process.ps xslt-process.dvi
+%DVIPSParameters: dpi=600, compressed
+%DVIPSSource:  TeX output 2001.02.13:2139
+%%BeginProcSet: texc.pro
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
+1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
+0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
+sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
+rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
+gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
+/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
+/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
+A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
+get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
+ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
+fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
+{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
+chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
+1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
+forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
+/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
+(LaserWriter 16/600)]{A length product length le{A length product exch 0
+exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
+end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
+grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
+imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
+exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
+fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
+delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
+B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
+p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
+rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+TeXDict begin 40258431 52099146 1000 600 600 (xslt-process.dvi)
+@start
+%DVIPSBitmapFont: Fa cmsltt10 10.95 5
+/Fa 5 121 df<007FB612E0B712F016F8A316F06C15E02507769E30>45
+D<913903FC01E091391FFF81F0027F13E391B512F7010314FF5B49130790261FF80113E0
+49487ED97FC0137F495A91C7123F485A484815C0A2485A5B120F5B001FED1F8049150000
+3F92C7FC5BA3127F90CAFCA45A5AA716F86C4A7EA26C14035EA26D1307003F5D6D130F00
+1F4A5A6D133F6C6C495A6D495A2607FF0790C7FC6CEBFFFE6C5C6C5C6D13E0011F1380D9
+07FCC8FC2C3A78B830>67 D<D93FF8ECFFE0496C4913F0496C4913F8A2017F4A13F0013F
+16E0010F91380FFE0002DE147E02DF131FA2EE3EFE131F029FEB7EFC167C16FC16F8ED80
+F9013F1381021FEBF1F8158316E1EC0F8716C3137F017E018F5B1683159F160316079038
+FE07BE01FC01FE5B15FCA215F8160F0001EB03F09026F801E05B91C7FCA3161F1203495D
+A4163F12074992C7FCA2D87FFC903803FFE0486C497FA46C486D5B35387EB730>77
+D<EC1FFC91B51280010314C0010F14E04914F0137F9039FFF00FF848EB8007489038000F
+F0D807FC13074914E04848EB01C0484890C7FCA2485A5B127F90C9FCA35A5AA77E6CEC0F
+806D131FED3FC06C6C14806D137FD81FF8EBFF00380FFE0390B55A6C5C00015C6C14E001
+3F1380D907FCC7FC252A77A830>99 D<903AFFFE07FFF0486D4813F84816FCA26C16F86C
+496C13F0903A07F001FC006D6C485A6D6C485A4B5A6D6C485A4B5ADA7F7FC7FC157EEC3F
+FE6E5A5D6E5A5DA24A7E143F4A7EA2ECFCFCEB01F8903803F07E903807E07F49487E011F
+8090383F801FD97F007F01FE6D7E263FFFC0B5FC4801E11480B515C0A26C16806C01C014
+002E277DA630>120 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fb cmb10 10.95 6
+/Fb 6 109 df<B712FCEEFFC017F017FC17FFC69026F0003F7F04077F040113F082717E
+717E717E170F84831980A219C083A219E0A519F0A483A55FA419E0A519C0A25F1980A24D
+1300A24D5A4D5A177F4D5A4C5B04075B043F5BB9C7FC5F17F817C004FCC8FC3C3E7CBD46
+>68 D<B812FEA483C69038F8003F16071601828383A2EF1F80A3170FED01F0A3EF07C0A3
+150394C7FCA21507151F91B5FCA5ECF81F1507150318F8A21501EF01F0A592C71203A218
+E0A21707A2170F171F18C0173F17FF1603161FB9FCA21880A3353D7CBC3C>I<010FB612
+80A5D90001EBE000B3B3A4EA1FE0EA3FF0EA7FF8A2EAFFFCA44A5BA26C48485B01F091C7
+FC6C48485A391FF03FFC6CB55A6C5C000114C026001FFCC8FC293F81BD2F>74
+D<13FFB5FCA512077EAFEC03FE91381FFFC0027F13F091B57E9138FE0FFE9138F003FF4A
+7E02C014804A6C13C017E0A3EE7FF0A317F8AC17F0A3EEFFE0A217C05D02C014806E4813
+006E485A9138FC1FFC01FCB55A496C13E0D9F01F1380C7D807FCC7FC2D407EBE33>98
+D<EA01F8487E487E487E481380A66C13006C5A6C5A6C5AC8FCA913FFB5FCA512077EB3AB
+B512F8A515407EBF19>105 D<13FFB5FCA512077EB3B3AFB512FCA5163F7EBE19>108
+D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fc cmbx12 13.14 18
+/Fc 18 117 df<EA07E0EA1FF8EA3FFCEA7FFEA2B5FCA6EA7FFEA2EA3FFCEA1FF8EA07E0
+1010778F22>46 D<15F014011407141F147FEB03FF137FB6FCA313FC1380C7FCB3B3B200
+7FB712E0A52B4777C63D>49 D<EE07E0160FA2161F163F167F16FFA25D5D5DA25D5D5DA2
+157D15FDEC01F915F1EC03E11407EC0FC1EC1F811501143F147E14FC14F8EB01F01303EB
+07E014C0EB0F80131FEB3F00133E5B13FC485A485A5B1207485A485A90C7FC123E127E5A
+B912FCA5C80003EBE000AD023FB612FCA536487DC73D>52 D<EE01F8A24C7EA34C7EA24C
+7EA34C7FA24C7FA34C7FA293B57EA34B8016F303038016E316E103078016C0030F805E83
+031F814C7E4B81153E83037E81037C7F03FC815D830201824B7F0203825D830207824B7F
+020F825D84021F8392B8FC4A83A34A83027CC8120F02FC835C840101844A810103845C84
+0107844A81010F845C85011F85496C82B600C091B712F0A5544D7CCC5D>65
+D<93261FFF80EB01C00307B500F81303033F02FE13074AB7EA800F0207EEE01F021F903A
+FE007FF83F027F01E0903807FC7F91B5C73801FEFF010301FCEC007F4901F0814901C015
+0F4949814990C97E494882495A48498248197F5C48193F5C48191F5C48190FA2485BA21A
+075AA391CDFCA2B5FCAD7EA280F207C0A27EA36C7F1A0F6C1A80806C191F6E18006C6180
+6C197E6C6D177C6D6C17FC6D6C4C5A6D6D4B5A6D6D4B5A6D01F0ED1FC06D01FC4B5A0100
+01FF03FFC7FC6E01E0EB07FE021F01FEEB3FFC020790B612F0020116C0DA003F92C8FC03
+0714F8DB001F13804A4D79CB59>67 D<ECFFFC010FEBFFC0017F14F090B612FC48903880
+3FFF2703FC00077F486C6D7F486C6D7F6E7E83707EA3707E6C90C7FC6C5A6C5AC9FCA4ED
+1FFF021FB5FC49B6FC130F013FEBC03F9038FFFE00000313F04813C04890C7FC485A485A
+A2485AA2485AA4167FA26D14FF007F15EF6D01017F6C6C903907CFFF806C6CD90F8F13FE
+6C9038E07F076C9038FFFE0300014A7ED8003F9038F0007F0103018090C7FC37337CB13C
+>97 D<91380FFF8091B512F8010314FF010F158090263FFE0013C0D97FF8EB1FE0D9FFE0
+EB3FF04849EB7FF8484913FF4890C7FC5A5B121F5B003FED7FF0EE3FE0007FED1FC093C7
+FC5BA212FFAC127F7FA2123FA26D153E121F6D157E6C167C6C6D14FC6C16F86C6D13036C
+01F0EB07F0D97FFCEB1FE06DB4EBFFC0010F90B5120001035C010014F0020F13802F337C
+B137>99 D<EF1FF0EE3FFFA51600177FB3A2EC0FFF91B512E0010314F8010F14FE013FEB
+01FF903A7FF8003FFFD9FFE0130F48497F48497F4890C77E4881485AA2485AA3127F5BA2
+12FFAC127FA37F123FA2121F7F000F5D6C6C5C5E6C6D5B6C01E0497F6C6D017FEBFFE090
+393FFE03FE6DB512F801075C010114C09027001FFC00EBC0003B4D7CCB44>I<EC0FFF91
+B512F0010314FC010F14FF90263FFE077F90267FF0007F4948EB3FE04801806D7E488248
+90C76C7E4848140783485A003F6F7EA3485A701380A312FFA290B8FCA401F8CAFCA5127F
+A27FA2123FA26C6CED0F80A2000F161F6C6C16006E5C6C6D147E6C6D5C6C6D495AD97FFC
+EB07F0903A1FFF803FE06D90B55A010392C7FCD9007F13FC020713C031337DB138>I<13
+FCEA03FF487F487FA2487FA66C5BA26C5B6C90C7FCEA00FC90C8FCACEB7FC0B5FCA51203
+7EB3B3B61280A5194D7BCC22>105 D<EB7FC0B5FCA512037EB3B3B3AAB61280A5194C7B
+CB22>108 D<90287FC001FFE0EC7FF8B5010F01FC0103B5FC033F6D010F804B6D6C4814
+E0DBFE079026C03F817F9126C3F0019138FC007F0003D9C7E0DAE1F8806CDA8000D9F1E0
+6D7E02CFC7EBF3C002DE91267FF780131F02FC03FFC77FA24A5DA24A5DA34A5DB3A9B6D8
+C03FB5D8F00FB512FCA55E317BB067>I<903A7FC001FFC0B5010F13F8033F13FE4B7F91
+26C1FE077F9126C3F0037F00039038C7C0016CD9CF8080150002DE7F02FC81A25CA25CA3
+5CB3A9B6D8C07FEBFFE0A53B317BB044>I<913807FF80027F13F80103B6FC010F15C090
+261FFE017F903A7FF0003FF8D9FFC0EB0FFC48496D7E4890C76C7E4817804980000F17C0
+48486E13E0A2003F17F049157FA2007F17F8A400FF17FCAB007F17F8A36C6CEDFFF0A300
+1F17E06D5C000F17C06C6C4A13806C17006C6D495A6C01E0EB1FFC6D6C495A903A3FFE01
+FFF0010FB612C0010392C7FCD9007F13F80207138036337DB13D>I<90397FC00FFFB501
+7F13F002C1B512FC02C714FF9126CFF80F7F9126FFC00313E0000391C77F6C01FC6E7E4A
+6E7E5C4A6E7E848319808319C0A47113E0AC4D13C0A319805FA219004D5A804D5A6E4A5A
+6E4A5A02FF495BDB80075B9126EFF01F5B02E7B548C7FC02E314F802E014E0DB0FFEC8FC
+92CAFCAFB612C0A53B467CB044>I<9039FF803FE0B5EBFFF8028113FE02837FDA87E113
+80EC8F830003D99F0713C06C139E14BCA214F8A24A6C13806F13004A6C5A93C7FCA45CB3
+A7B612E0A52A317CB032>114 D<90390FFF8070017FEBF1F048B6FC1207380FFC01391F
+E0003F4848130F491307127F90C712035A1501A27FA213E06D90C7FC13FE387FFFF0ECFF
+C015F06C14FC6C14FF6C15806C15C06C15E0C615F0013F14F8010714FCEB007F14019138
+003FFE150F0078140700F81403A26C1401A37E16FC6C14036D14F87F6DEB07F001F8EB1F
+E001FFEBFFC091B51280D8FC7F1400D8F81F13FCD8E00313C027337CB130>I<14F8A613
+01A41303A21307A2130FA2131F133F137F13FF1203000F90B512F0B7FCA426007FF8C7FC
+B3A6167CAA013F14F880A290391FFE01F0010F1303903907FF87E06DEBFFC06D14806D6C
+1300EC0FFC26467EC430>I E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fd cmtt10 10.95 63
+/Fd 63 127 df<121C127FEAFF80B3EA7F00B2123EC7FCA8121C127FA2EAFF80A3EA7F00
+A2121C09396DB830>33 D<00101304007C131F00FEEB3F80A26C137FA248133FB2007E14
+00007C7F003C131E00101304191C75B830>I<1438147C14FCA4EB03FF011F13E090B512
+FC4880000780481580261FFEFD13C09039F0FC3FE0D83FC0131FD87F80EB0FF001001307
+007E15F800FE14035A1507A36CEC03F0A2007F91C7FC138013C0EA3FF0EA1FFE13FF6C13
+FF6C14E0000114F86C6C7F011F7F01037F0100148002FD13C09138FC7FE0151FED0FF015
+070018EC03F8127E1501B4FCA35AA26CEC03F07E01801307ED0FE0D83FC0131F01F0EB7F
+C0D81FFEB512806CB612006C5C6C5CC614F0013F13C0D907FEC7FCEB00FCA5147C143825
+477BBE30>36 D<EA07C0EA0FF0EA1FF8A213FCA213FE120F1207EA007EA513FE13FCA212
+0113F81203EA07F0120FEA1FE0127FEAFFC013801300127C12380F1D70B730>39
+D<141E147F14FF5BEB03FEEB07FCEB0FF0EB1FE0EB3FC0EB7F80EBFF00485A5B12035B48
+5A120F5BA2485AA2123F5BA2127F90C7FCA412FEAD127FA47F123FA27F121FA26C7EA27F
+12076C7E7F12017F6C7EEB7F80EB3FC0EB1FE0EB0FF0EB07FCEB03FEEB01FF7F147F141E
+184771BE30>I<127812FE7E7F6C7E6C7EEA0FF06C7E6C7E6C7E6C7EEB7F80133F14C013
+1FEB0FE014F01307A2EB03F8A214FC1301A214FE1300A4147FAD14FEA4130114FCA21303
+14F8A2EB07F0A2130F14E0EB1FC0133F1480137FEBFF00485A485A485A485AEA3FE0485A
+485A90C7FC5A1278184778BE30>I<14E0497E497EA60038EC0380007EEC0FC0D8FF83EB
+3FE001C3137F9038F3F9FF267FFBFB13C06CB61280000FECFE00000314F86C5C6C6C13C0
+011F90C7FC017F13C048B512F04880000F14FE003FECFF80267FFBFB13C026FFF3F913E0
+9038C3F87F0183133FD87E03EB0FC00038EC0380000091C7FCA66D5A6D5A23277AAE30>
+I<007FB612F0A2B712F8A36C15F0A225077B9E30>45 D<120FEA3FC0EA7FE0A2EAFFF0A4
+EA7FE0A2EA3FC0EA0F000C0C6E8B30>I<16F01501ED03F8A21507A2ED0FF0A2ED1FE0A2
+ED3FC0A2ED7F80A2EDFF00A24A5AA25D1403A24A5AA24A5AA24A5AA24A5AA24A5AA24AC7
+FCA2495AA25C1303A2495AA2495AA2495AA2495AA2495AA249C8FCA2485AA25B1203A248
+5AA2485AA2485AA2485AA2485AA248C9FCA25AA2127CA225477BBE30>I<14FE903807FF
+C0497F013F13F8497F90B57E48EB83FF4848C6138049137F4848EB3FC04848EB1FE04913
+0F001F15F0491307A24848EB03F8A290C712014815FCA400FEEC00FEAD6C14016C15FCA3
+6D1303003F15F8A26D1307001F15F0A26D130F6C6CEB1FE0A26C6CEB3FC06C6CEB7F806D
+13FF2601FF8313006CEBFFFE6D5B6D5B010F13E06D5BD900FEC7FC273A7CB830>I<EB03
+C0497EA2130FA2131FA2133F137F13FF1203123FB5FCA213EF138FEA7E0F1200B3B0003F
+B512F84814FCB612FEA26C14FC6C14F81F3977B830>I<EB07FC90383FFFC090B512F000
+03804814FE4880261FF80F1380263FE00113C09038C0007F4848EB3FE090C7121FED0FF0
+4814075A6C15F81503A3127E1218C8FCA2150716F0150F16E0151F16C0153FED7F8015FF
+4A13005DEC07FC4A5A4A5A4A5A4A5A4A5A4990C7FC495A495AEB0FF0EB3FE0495A495A48
+90C8FC4848EB01F04848EB03F8485AEA1FE048B6FCB7FCA37E6C15F025397BB830>I<EC
+03FC4A7E140F141FA2143F147F157E14FEA2EB01FCEB03F8A2EB07F0A2EB0FE0EB1FC0A2
+EB3F80A2EB7F0013FEA2485A485AA2485AA2485A485AA2485AA248C7FC12FEB8FC1780A4
+6C1600C8007EC7FCAA91387FFFFE91B6FCA46E5B29397DB830>52
+D<EC0FF8EC7FFF49B51280010714E0131F4914F090387FF80F9039FFC007F84813803803
+FE005B485A4848EB03F0ED01E0484890C7FC5B123F5BA2127FEB000C903803FFE0010F13
+F8D8FF3F13FE48B6FCB7128016C09039FE007FE001F8EB1FF001E0130F49EB07F849EB03
+FCA290C7120116FE1500A37EA46C7E15016D14FC121F6D1303000FEC07F86D130F6C6CEB
+1FF06DEB3FE03A03FF81FFC06C90B512806C15006D5B011F13F8010713E001011380273A
+7CB830>54 D<127CB712FC16FEA416FC48C7EA0FF816F0ED1FE0007CEC3FC0C8EA7F80ED
+FF00A24A5A4A5A5D14075D140F5D4A5AA24A5AA24AC7FCA25C5C13015CA213035CA21307
+5CA4495AA6131F5CA96D5A6DC8FC273A7CB830>I<120FEA3FC0EA7FE0A2EAFFF0A4EA7F
+E0A2EA3FC0EA0F00C7FCAF120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C27
+6EA630>58 D<16F01503ED07F8151F157FEDFFF014034A13C0021F138091383FFE00ECFF
+F8495B010713C0495BD93FFEC7FC495A3801FFF0485B000F13804890C8FCEA7FFC5BEAFF
+E05B7FEA7FF87FEA1FFF6C7F000313E06C7F38007FFC6D7E90380FFF806D7F010113F06D
+7FEC3FFE91381FFF80020713C06E13F01400ED7FF8151F1507ED03F01500252F7BB230>
+60 D<007FB7FCA2B81280A36C16006C5DCBFCA7003FB612FE4881B81280A36C1600A229
+157DA530>I<1278127EB4FC13C07FEA7FF813FEEA1FFF6C13C000037F6C13F86C6C7EEB
+1FFF6D7F010313E06D7F9038007FFC6E7E91380FFF806E13C0020113F080ED3FF8151F15
+3FEDFFF05C020713C04A138091383FFE004A5A903801FFF0495B010F13804990C7FCEB7F
+FC48485A4813E0000F5B4890C8FCEA7FFE13F8EAFFE05B90C9FC127E1278252F7BB230>
+I<EB1FFE90B512E0000314F8000F14FE4880481580267FF80313C09038C0007F48C7121F
+16E0150FA3127E151F0018EC7FC0C812FF020313804A13004A5AEC1FF84A5AEC7FC04A5A
+92C7FC495AA2495A5CA213075CA86D5A90C9FCA8EB01C0EB07F0A2497EA36D5AA2EB01C0
+23397AB830>I<EC1FE0ECFFF8010313FE010F7F4914804914C090397FF03FE09038FF80
+0F4890380007F0D803FC13033A07F801FBF89038F007FF380FE01F4A13FCEA1FC0495A00
+3FEBFF0F903800FE07903901FC03FE007FEBF801EA7E03ECF000A2EAFE0700FC49137EAA
+00FE6D13FED87E0314FCA2ECF801D87F0114F8003FEBFC03903900FE07F0903880FF0F00
+1F90387FFFE06D6C13C0EA0FE06E13803A07F007FE009038F801F86C6CC7127C6CB414FE
+6CEB800390387FF01F6DB512FC6D14F86D14E0010314C00100EBFE00EC1FF0273A7CB830
+>I<007FB512F0B612FE6F7E82826C813A03F8001FF815076F7E1501A26F7EA615015EA2
+4B5A1507ED1FF0ED7FE090B65A5E4BC7FC6F7E16E0829039F8000FF8ED03FC6F7E150016
+7FA3EE3F80A6167F1700A25E4B5A1503ED1FFC007FB6FCB75A5E16C05E6C02FCC7FC2938
+7EB730>66 D<91387F803C903903FFF03E49EBFC7E011F13FE49EBFFFE5B9038FFE07F48
+EB801F3903FE000F484813075B48481303A2484813015B123F491300A2127F90C8FC167C
+16005A5AAC7E7EA2167C6D14FE123FA27F121F6D13016C6C14FCA26C6CEB03F86D13076C
+6CEB0FF03901FF801F6C9038E07FE06DB512C06D14806D1400010713FC6D13F09038007F
+C0273A7CB830>I<007FB7FCB81280A47ED803F8C7123FA8EE1F0093C7FCA4157C15FEA4
+90B5FCA6EBF800A4157C92C8FCA5EE07C0EE0FE0A9007FB7FCB8FCA46C16C02B387EB730
+>69 D<383FFFF8487FB57EA26C5B6C5BD801FCC9FCB3B0EE0F80EE1FC0A9003FB7FC5AB8
+FCA27E6C16802A387EB730>76 D<D83FF8ECFFE0486C4913F0486C4913F8A2007F16F06C
+6C4913E00007160001EF14BFEC800FA39039E7C01F3FA4ECE03F01E3133EA2ECF07EA201
+E1137CA2ECF8FCA201E013F8A214FDEC7DF0A3147FEC3FE0A3EC1FC0A2EC070091C7FCAD
+D83FFC903801FFE0486C4913F0B54913F8A26C486D13F06C486D13E02D387FB730>I<90
+383FFFE048B512FC000714FF4815804815C04815E0EBF80001E0133FD87F80EB0FF0A290
+C71207A44815F8481403B3A96C1407A26C15F0A36D130FA26D131F6C6CEB3FE001F813FF
+90B6FC6C15C06C15806C1500000114FCD8003F13E0253A7BB830>79
+D<007FB512F0B612FE6F7E16E0826C813903F8003FED0FFCED03FE15016F7EA282178016
+3FA6167F17005EA24B5A1503ED0FFCED3FF890B6FC5E5E16804BC7FC15F001F8C9FCB038
+7FFFC0B57EA46C5B29387EB730>I<003FB57E4814F0B612FC15FF6C816C812603F8017F
+9138003FF0151F6F7E15071503821501A515035E1507150F4B5A153F4AB45A90B65A5E93
+C7FC5D8182D9F8007FED3FE0151F150F821507A817F8EEF1FCA53A3FFF8003FB4801C0EB
+FFF8B56C7E17F06C496C13E06C49EB7FC0C9EA1F002E397FB730>82
+D<90390FF803C0D97FFF13E048B512C74814F74814FF5A381FF80F383FE001497E484813
+7F90C7123F5A48141FA2150FA37EED07C06C91C7FC7F7FEA3FF0EA1FFEEBFFF06C13FF6C
+14E0000114F86C80011F13FF01031480D9003F13C014019138007FE0151FED0FF0A2ED07
+F8A2007C140312FEA56C140716F07F6DEB0FE06D131F01F8EB3FC001FF13FF91B5128016
+0000FD5CD8FC7F13F8D8F81F5BD878011380253A7BB830>I<003FB712C04816E0B8FCA4
+3AFE003F800FA8007CED07C0C791C7FCB3B1011FB5FC4980A46D91C7FC2B387EB730>I<
+3B7FFFC007FFFCB56C4813FEA46C496C13FCD803F8C7EA3F80B3B16D147F00011600A36C
+6C14FE6D13016D5CEC800390393FE00FF890391FF83FF06DB55A6D5C6D5C6D91C7FC9038
+007FFCEC1FF02F3980B730>I<D87FFE90380FFFC0B54913E06E5AA24A7E6C486D13C0D8
+07F0903801FC00A26D130300035DA46C6C495AA46C6C495AA46D131F6D5CA3EC803F013F
+5CA46D6C48C7FCA490380FE0FEA401075B14F1A301035BA314FB01015BA314FFA26D5BA4
+6E5A6E5A2B397EB730>I<3A3FFF01FFF84801837F02C77FA202835B6C01015B3A01FC00
+7F806D91C7FC00005C6D5BEB7F01EC81FCEB3F8314C3011F5B14E7010F5B14FF6D5BA26D
+5BA26D5BA26D90C8FCA4497FA2497FA2815B81EB0FE781EB1FC381EB3F8181EB7F008149
+7F49800001143F49800003141F49800007140FD87FFEEB7FFFB590B5128080A25C6C486D
+130029387DB730>88 D<127CA212FEA27EA26C7EA26C7EA26C7EA26C7EA26C7EA26C7EA2
+12017FA26C7EA26D7EA26D7EA26D7EA26D7EA26D7EA26D7EA2130180A26D7EA26E7EA26E
+7EA26E7EA26E7EA26E7EA26E7EA2140181A26E7EA2ED7F80A2ED3FC0A2ED1FE0A2ED0FF0
+A2ED07F8A21503A2ED01F0150025477BBE30>92 D<EB7FF80003B5FC4814C04880488048
+809038E01FFC9038C003FE14016E7E6C487F6CC77FC8123FA491B5FC130F137F48B6FC12
+075A48EB803F383FF800EA7FE0138048C7FC5AA4157F7E6C6C13FFEBC003263FF01FEBFF
+8090B712C07E6C14EF000314876CD9FE01138026003FE0C8FC2A2A7BA830>97
+D<EA3FFC487E12FFA2127F123F1200AAEC03FE91381FFF80027F13E091B57E90B612FC82
+ECFE079138F001FF4A6C13804A137F4AEB3FC091C7121F17E049140FA217F01607A8160F
+A217E07F161F6EEB3FC0A26EEB7F806E13FFDAF00313009138FC0FFE91B55A5E495CD97E
+7F13C0D93C1F90C7FC90380003FC2C3980B730>I<ECFFE0010713FC011F7F017F7F90B6
+12804815C048EB807F3907FC003F485A485A49EB1F804848EB0F004990C7FC127F90C9FC
+A25A5AA87E7EA27F003FEC07C06DEB0FE06C7E6D131F6C6C14C0D807FE133F9039FFC0FF
+806C90B5FCC615006D5B011F13F801075B01011380232A7AA830>I<913801FFE04A7F5C
+A28080EC0007AAEB03FE90381FFF874913E790B6FC5A5A481303380FFC00D81FF0133F49
+131F485A150F4848130790C7FCA25AA25AA87E6C140FA27F003F141F6D133F6C7E6D137F
+390FF801FF2607FE07EBFFC06CB712E06C16F06C14F76D01C713E0011F010313C0D907FC
+C8FC2C397DB730>I<49B4FC010713E0011F13F8017F7F90B57E488048018113803A07FC
+007FC04848133FD81FE0EB1FE0150F484814F0491307127F90C7FCED03F85A5AB7FCA516
+F048C9FC7E7EA27F003FEC01F06DEB03F86C7E6C7E6D1307D807FEEB1FF03A03FFC07FE0
+6C90B5FC6C15C0013F14806DEBFE00010713F8010013C0252A7CA830>I<EDFF80020713
+E0021F13F05C4A13F891B5FC491387903803FE079138FC03F0903907F800C04A1300A800
+3FB612C04815E0B7FCA36C15C0260007F0C7FCB3A9003FB512FE4880B71280A26C15006C
+5C25397DB830>I<D903FC13FF90261FFF8713C04913DF90B712E05A5A2607FE07138F90
+3AF801FE07C048486C6CC7FCA2497F001F8149133FA56D137F000F92C7FC6D5BA26C6C48
+5AEBFE0790B55A5D485C15C001DF5BD9C3FCC8FC01C0C9FCA37F7F6CB512F015FF6C15C0
+4815F0488148813A3FE0001FFE0180130148C8127F007E8100FE168048151FA56C153F00
+7FED7F006D5C6C6C495A01F013076CB4EB7FFC6C90B55A6C5D000115C06C6C91C7FC011F
+13FC010113C02B3E7DA730>I<EA3FFC487E12FFA2127F123F1200AAEC01FE91380FFF80
+023F13E091B57E90B67EA29138FE07FCECF8039138E001FE14C0EC8000A291C7FCA25BB3
+A23B3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14FC6C496C13F82F3880B730>I<
+14E0EB03F8A2497EA36D5AA2EB00E091C8FCA9381FFFF8487F5AA27E7EEA0001B3A9003F
+B612C04815E0B7FCA27E6C15C023397AB830>I<EC01C0EC07F0A2EC0FF8A3EC07F0A2EC
+01C091C7FCA990B512F04814F8A47EEB0003B3B3A5EC07F0A2123C007EEB0FE0B4131FEC
+3FC0147F90B512806C14005C6C5B000F13F0000313C01D4E7CB830>I<EA7FF8487EA412
+7F1200AB0203B512804A14C017E0A217C06E14809139001FE0004B5A4B5A4BC7FC4A5A4A
+5AEC0FF84A5A4A5A4A5A4A5A01FD7F90B57E8114F7ECE3F8ECC1FCEC81FEEC00FF497F49
+6D7E6F7E826F7E15076F7E6F7E3B7FFFF81FFFE0B56C4813F017F8A217F06C496C13E02D
+387FB730>I<387FFFF8B57EA47EEA0001B3B3A8007FB612F0B712F8A46C15F025387BB7
+30>I<02FC137E3B7FC3FF01FF80D8FFEF01877F90B500CF7F15DF92B57E6C010F138726
+07FE07EB03F801FC13FE9039F803FC01A201F013F8A301E013F0B3A23C7FFE0FFF07FF80
+B548018F13C0A46C486C01071380322881A730>I<EC01FE3A3FFC0FFF80267FFE3F13E0
+00FF90B57E90B67E7E6C9038FE07FCC6EBF8039138E001FE14C0EC8000A291C7FCA25BB3
+A23B3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14FC6C496C13F82F2880A730>I<
+49B4FC010F13E0013F13F8497F90B57E0003ECFF8014013A07FC007FC04848EB3FE0D81F
+E0EB0FF0A24848EB07F8491303007F15FC90C71201A300FEEC00FEA86C14016C15FCA26D
+1303003F15F86D13076D130F6C6CEB1FF06C6CEB3FE06D137F3A07FF01FFC06C90B51280
+6C15006C6C13FC6D5B010F13E0010190C7FC272A7CA830>I<EC03FE3A3FFC1FFF80267F
+FE7F13E000FF90B57E90B612FC6C816CEBFE07C69038F001FF4A6C13804A137F4AEB3FC0
+91C7121F17E049140FA217F01607A8160FA217E07F161F6EEB3FC0A26EEB7F806E13FFDA
+F00313009138FC0FFE91B55A5E495C6E13C0021F90C7FCEC03FC91C9FCAD383FFFF8487F
+B57EA26C5B6C5B2C3C80A730>I<49B413F8010FEBC1FC013F13F14913FD48B6FC5A4813
+81390FFC007F49131F4848130F491307485A491303127F90C7FC15015A5AA77E7E15037F
+A26C6C1307150F6C6C131F6C6C133F01FC137F3907FF01FF6C90B5FC6C14FD6C14F9013F
+13F1010F13C1903803FE0190C7FCAD92B512F84A14FCA46E14F82E3C7DA730>I<ED07F8
+3A3FFF803FFF486DB51280B512C302CF14C06C13DF6C9038FFFC3FD8001F13E09238801F
+809238000F004A90C7FC5C5C5CA25CA45CAF003FB512FC4880B7FCA26C5C6C5C2A287EA7
+30>I<90381FFC1E48B5129F000714FF5A5A5A387FF007EB800100FEC7FC4880A46C143E
+007F91C7FC13E06CB4FC6C13FC6CEBFF806C14E0000114F86C6C7F01037F9038000FFF02
+001380007C147F00FEEC1FC0A2150F7EA27F151F6DEB3F806D137F9039FC03FF0090B6FC
+5D5D00FC14F0D8F83F13C026780FFEC7FC222A79A830>I<EB0780497E131FA9003FB612
+E04815F0B7FCA36C15E026001FC0C7FCB216F8ED01FCA5ECE003010FEB07F814F09138FC
+1FF06DB512E06D14C016806D14009038007FFCEC1FF026337EB130>I<D83FFCEB3FFC48
+6C497E00FF14FFA2007F147F003F143F00001400B3A41501A2150315076D130F903A7FC0
+7FFFF891B612FC6D15FE7F6D4913FC6D9038F87FF8010001C0C7FC2F2880A630>I<3B3F
+FFC07FFF80486DB512C0B515E0A26C16C06C496C13803B01F80003F000A26D130700005D
+A26D130F017E5CA2017F131F6D5CA2EC803F011F91C7FCA26E5A010F137EA2ECE0FE0107
+5BA214F101035BA3903801FBF0A314FF6D5BA36E5A6E5A2B277EA630>I<3B3FFFC01FFF
+E0486D4813F0B515F8A26C16F06C496C13E0D807E0C7EA3F00A26D5C0003157EA56D14FE
+00015DEC0F80EC1FC0EC3FE0A33A00FC7FF1F8A2147DA2ECFDF9017C5C14F8A3017E13FB
+A290393FF07FE0A3ECE03FA2011F5C90390F800F802D277FA630>I<3A3FFF81FFFC4801
+C37FB580A26C5D6C01815BC648C66CC7FC137FEC80FE90383F81FC90381FC3F8EB0FE3EC
+E7F06DB45A6D5B7F6D5B92C8FC147E147F5C497F81903803F7E0EB07E790380FE3F0ECC1
+F890381F81FC90383F80FE90387F007E017E137F01FE6D7E48486D7E267FFF80B5FCB500
+C1148014E3A214C16C0180140029277DA630>I<3B3FFFC07FFF80486DB512C0B515E0A2
+6C16C06C496C13803B01FC0003F000A2000014076D5C137E150F017F5C7F151FD91F805B
+A214C0010F49C7FCA214E00107137EA2EB03F0157C15FCEB01F85DA2EB00F9ECFDF0147D
+147FA26E5AA36E5AA35DA2143F92C8FCA25C147EA2000F13FE486C5AEA3FC1EBC3F81387
+EB8FF0EBFFE06C5B5C6C90C9FC6C5AEA01F02B3C7EA630>I<001FB612FC4815FE5AA316
+FC90C7EA0FF8ED1FF0ED3FE0ED7FC0EDFF80003E491300C7485A4A5A4A5A4A5A4A5A4A5A
+4A5A4990C7FC495A495A495A495A495A495A4948133E4890C7127F485A485A485A485A48
+5A48B7FCB8FCA46C15FE28277DA630>I<017C133848B4137C48EB80FE4813C14813C348
+EBEFFC397FEFFFF0D8FF8713E0010713C0486C1380D87C0113003838007C1F0C78B730>
+126 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fe cmti10 10.95 27
+/Fe 27 121 df<387FFFFCA3B5FCA21605799521>45 D<120FEA3FC0127FA212FFA31380
+EA7F00123C0A0A77891C>I<49B712C018F818FE903B0003FC0001FF9438007F804BEC3F
+C0A2F01FE014074B15F0180FA2140F5D181FA2021F16E05D183F19C0023FED7F804B14FF
+19004D5A027F4A5A92C7EA07F0EF1FE0EF7F804AD903FEC7FC92B512F017FE4AC7EA3F80
+0101ED1FE04A6E7E17078401036F7E5CA30107825CA3010F5E4A1407A260011F150F5C4D
+5A60013F153F4A4A5A4D5A017F4A90C7FC4C5A91C7EA0FF849EC3FF0B812C094C8FC16F8
+3C3E7BBD40>66 D<49B712C018F818FE903B0003FE0003FF9438007F804BEC1FC0F00FE0
+F007F014074BEC03F8F001FCA2140F4BEC00FEA3141F4B15FFA3143F5DA3027F5D5DA219
+FE14FF92C81203A34917FC4A1507A219F813034A150F19F0A20107EE1FE05CF03FC0A201
+0FEE7F804A16006060011F4B5A4A4A5A4D5AA2013F4B5A4AEC3FC04DC7FC017F15FEEE03
+FC4AEB0FF001FFEC7FE0B8128004FCC8FC16E0403E7BBD45>68 D<49B612C0A25FD90003
+90C8FC5D5DA314075DA3140F5DA3141F5DA3143F5DA3147F5DA314FF92C9FCA35B5CA313
+035C18C0EF01E0010716C05C17031880130F4A140718005F131F4A141EA2173E013F5D4A
+14FC1601017F4A5A16074A131F01FFECFFF0B8FCA25F333E7BBD39>76
+D<49B77E18F018FC903B0003FE0003FEEF00FF4BEC7F80F03FC00207151F19E05DA2020F
+16F0A25DA2141FF03FE05DA2023F16C0187F4B1580A2027FEDFF00604B495A4D5A02FF4A
+5A4D5A92C7EA3FC04CB4C7FC4990B512FC17E04ACAFCA21303A25CA21307A25CA2130FA2
+5CA2131FA25CA2133FA25CA2137FA25C497EB67EA33C3E7BBD3E>80
+D<92391FE00380ED7FFC913A01FFFE0700913907F01F8F91390FC007DF4AC66CB4FC023E
+6D5A4A130014FC495A4948147CA2495AA2010F15785CA3011F1570A46E91C7FCA2808014
+FE90380FFFE015FC6DEBFF8016E06D806D806D6C7F141F02037FEC003FED07FF1501A281
+A282A212075A167E120EA2001E15FE5EA25E003E14015E003F14034B5A486C5C150F6D49
+5A6D49C8FCD8F9F0137C39F8FE01F839F03FFFF0D8E00F13C026C001FEC9FC314279BF33
+>83 D<48B9FCA25A903AFE001FF00101F89138E0007FD807E0163E49013F141E5B48C75B
+A2001E147FA2001C4B131C123C003814FFA2007892C7FC12704A153C00F01738485CC716
+001403A25DA21407A25DA2140FA25DA2141FA25DA2143FA25DA2147FA25DA214FFA292C9
+FCA25BA25CA21303A25CEB0FFE003FB67E5AA2383D71BC41>I<001FB500F090B512F048
+5DA226003FF0C7380FFC004AEC03F04A5D715A017F1503A24A5DA201FF150795C7FC91C8
+FCA2485E170E5BA20003161E171C5BA20007163C17385BA2000F167817705BA2001F16F0
+5F5BA2003F1501A2495DA2007F1503A2495DA2160794C8FC48C8FC5E160E161E6C151C16
+3C5E5E5E6C6C13014B5A001F4A5A6C6C011FC9FC6D133E6C6C13F83903FC07F0C6B512C0
+013F90CAFCEB07F83C406FBD44>I<B500FE91387FFFE094B5FC19C00003018091380FFC
+0049C8EA07F000015F606095C7FC170EA25F173C17386D5DA26C5E16015F4C5AA24CC8FC
+5E160E5E805E137F5E5EA24B5AA24B5A150793C9FCECC00EA2013F5B153C15385DA25D14
+C15DECC38014E302E7CAFCEB1FEF14EE14FCA25CA25CA25C5C130F5CA291CBFC130E3B40
+6DBD44>I<91B690383FFFFC605E020101E0010F13006E49EB07F84C6D5A19C06F6C495A
+96C7FC033F140E705B183C031F5C705B4D5A030F5C70485A4DC8FC0307130EEEFC1E5F03
+035BEEFE705F6F6C5A5FA26F90C9FC83A2707EA216FF4B7F5DED079FEE1FF0150EED1C0F
+03387F1578EDF007DA01E07F15C09138038003DA07007F140E021E13014A805C02707F4A
+81495A4948147F01078249C8FC013F6F7E496C147F2603FFC049487EB500F8011FEBFFE0
+A261463E7CBD44>88 D<147E49B47E903907C1C38090391F80EFC090383F00FF017E137F
+4914804848133F485AA248481400120F5B001F5C157E485AA215FE007F5C90C7FCA21401
+485C5AA21403EDF0385AA21407EDE078020F1370127C021F13F0007E013F13E0003E137F
+ECF3E1261F01E313C03A0F8781E3803A03FF00FF00D800FC133E252977A72E>97
+D<EB1FC0EA0FFF5CA2EA003FA291C7FCA25BA2137EA213FEA25BA21201A25BA21203A25B
+147E3907F1FF809038F783E09038EF01F013FE390FF800F8A24913FC49137C485A157E5B
+15FE123FA290C7FCA248130115FC127EA2140300FE14F85AA2EC07F0A215E048130F15C0
+141F15800078EB3F00127C147E003C5B383E01F8381E03E06C485A6CB4C7FCEA01F81F40
+76BE2A>I<EC1FC0ECFFF0903803F03C903807C01E90381F800E90383F000F017E133F49
+13FF485A485A000714FE5B000F14FC48481300A2485AA3127F90C8FCA35A5AA648140300
+7E1407150F151E003E143C15786C14F0EC03E0390F800F803903E07E003801FFF838003F
+C0202977A72A>I<EC3F80903801FFE0903807E0F890381F803CEB3E0001FC131E485A48
+5A12074848133E49133C121F4848137C15F8EC03F0397F000FE0ECFF809038FFFC00B512
+C048C8FCA45AA61506150E151E007C143C15786C14F0EC01E06CEB07C0390F801F003807
+C0FC3801FFF038007F801F2976A72A>101 D<167C4BB4FC923807C78092380F83C0ED1F
+87161FED3F3FA2157EA21780EE0E004BC7FCA414015DA414035DA30103B512F8A3902600
+07E0C7FCA3140F5DA5141F5DA4143F92C8FCA45C147EA414FE5CA413015CA4495AA4495A
+A4495A121E127F5C12FF49C9FCA2EAFE1EEAF83C1270EA7878EA3FE0EA0F802A5383BF1C
+>I<1478EB01FCA21303A314F8EB00E01400AD137C48B4FC38038F80EA0707000E13C012
+1E121CEA3C0F1238A2EA781F00701380A2EAF03F140012005B137E13FE5BA212015BA212
+035B1438120713E0000F1378EBC070A214F0EB80E0A2EB81C01383148038078700EA03FE
+EA00F8163E79BC1C>105 D<EB07F0EA03FF14E0A2EA000FA214C0A2131FA21480A2133F
+A21400A25BA2137EA213FEA25BA21201A25BA21203A25BA21207A25BA2120FA25BA2121F
+A25BA2123FA290C7FCA25A1307127EA2EAFE0F130E12FCA2131E131CA2EA7C381378EA3C
+70EA1FE0EA0780144079BE17>108 D<D801F0EB3F803A07FC01FFE03A0F3E07C1F83A0E
+1F0F00FC001E011C137C001C49137E003C13F012385C38783FC012705C91C7FC00F015FE
+495CEA007EA2150101FE5C5BA2150300015D5B15075E0003020F13704914C0A2031F13F0
+0007ED80E05B1681EE01C0120F49EC0380A2EE0700001FEC0F0E49EB07FC0007C7EA01F0
+2C2979A733>110 D<EC1FC0ECFFF8903803F07C90380FC01FEB1F8090393F000F80017E
+14C0491307484814E0485A12075B000F15F0485AA2485AA2ED0FE0127F90C7FCA2151F48
+15C05AA2ED3F80A2ED7F00A248147E007C5C007E13015D4A5A003E495A6C495A4A5A260F
+803EC7FC3807C0FC3801FFF038003F80242977A72E>I<903903E001F890390FF807FE90
+3A1E7C1E0F80903A1C3E3C07C0013C137801389038E003E0EB783F017001C013F0ED8001
+9038F07F0001E015F8147E1603000113FEA2C75AA20101140717F05CA20103140F17E05C
+A20107EC1FC0A24A1480163F010F15005E167E5E131F4B5A6E485A4B5A90393FB80F80DA
+9C1FC7FCEC0FFCEC03E049C9FCA2137EA213FEA25BA21201A25BA21203A2387FFFE0B5FC
+A22D3A80A72E>I<D801F013FC3A07FC07FF803A0F3E0F03C0260E1F1C13E0001EEB380F
+001C1370003CEBE01F123814C0D8783F14C00070903880070092C7FC91C8FC12F05BEA00
+7EA313FE5BA312015BA312035BA312075BA3120F5BA3121F5B0007C9FC232979A726>
+114 D<EC7F80903801FFE0903807C0F890381F003C013E131C013C131E017C133E49137E
+15FEA2000114FCA215706D13007FEBFFC014FC6C13FF15806D13C06D13E0010F13F01300
+140F14071403120C123F387F80011403D8FF0013E0A300FCEB07C000F0EB0F8012700078
+EB1F006C133C381F01F83807FFE0C690C7FC1F297AA725>I<EB01C0EB03F01307A25CA2
+130FA25CA2131FA25CA2133FA291C7FCA2007FB51280B6FC1500D8007EC7FC13FEA25BA2
+1201A25BA21203A25BA21207A25BA2120FA25BA2121F141C1380A2003F133C1438EB0078
+147014F05C495AEA1F03495A6C48C7FCEA07FCEA01F0193A78B81E>I<137C48B4141C26
+038F80137EEA0707000E7F001E15FE121CD83C0F5C12381501EA781F007001805BA2D8F0
+3F1303140000005D5B017E1307A201FE5C5B150F1201495CA2151F0003EDC1C0491481A2
+153F1683EE0380A2ED7F07000102FF13005C01F8EBDF0F00009038079F0E90397C0F0F1C
+90391FFC07F8903907F001F02A2979A731>I<017C167048B491387001FC3A038F8001F8
+EA0707000E01C015FE001E1403001CEDF000EA3C0F0038177C1507D8781F4A133C007013
+80A2D8F03F130F020049133812005B017E011F14784C137013FE5B033F14F0000192C712
+E05BA2170100034A14C049137E17031880A2EF070015FE170E00010101141E01F86D131C
+0000D9039F5BD9FC076D5A903A3E0F07C1E0903A1FFC03FFC0902703F0007FC7FC372979
+A73C>119 D<903903F001F890390FFC07FE90393C1E0E0F9026780F1C138001F0EBB83F
+D801E013F89039C007F07FEA0380000714E0D9000F140048151C000E4AC7FCA2001E131F
+A2C75BA2143F92C8FCA35C147EA314FE4A131CA30101143C001E1538003F491378D87F81
+1470018314F000FF5D9039077801C039FE0F7C033A7C0E3C078027783C1E1EC7FC391FF8
+0FFC3907E003F029297CA72A>I E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Ff cmbx12 17.28 28
+/Ff 28 120 df<16F04B7E1507151F153FEC01FF1407147F010FB5FCB7FCA41487EBF007
+C7FCB3B3B3B3007FB91280A6395E74DD51>49 D<913801FFF8021FEBFFC091B612F80103
+15FF010F16C0013F8290267FFC0114F89027FFE0003F7F4890C7000F7F48486E7FD807F8
+6E148048486E14C048486E14E048486F13F001FC17F8486C816D17FC6E80B56C16FE8380
+A219FFA283A36C5BA26C5B6C90C8FCD807FC5DEA01F0CA14FEA34D13FCA219F85F19F04D
+13E0A294B512C019804C14004C5B604C5B4C5B604C13804C90C7FC4C5A4C5A4B13F05F4B
+13804B90C8FC4B5AED1FF84B5A4B5A4B48143F4A5B4A48C8FC4A5A4A48157E4A5A4A5AEC
+7F8092C9FC02FE16FE495A495A4948ED01FCD90FC0150749B8FC5B5B90B9FC5A4818F85A
+5A5A5A5ABAFCA219F0A4405E78DD51>I<92B5FC020F14F8023F14FF49B712C04916F001
+0FD9C01F13FC90271FFC00077FD93FE001017F49486D8049C86C7F484883486C6F7F14C0
+486D826E806E82487FA4805CA36C5E4A5E6C5B6C5B6C495E011FC85A90C95CA294B55A61
+4C91C7FC604C5B4C5B4C5B4C5B047F138092260FFFFEC8FC020FB512F817E094C9FC17F8
+17FF91C7003F13E0040713F8040113FE707F717F7113E085717FA2717F85A285831A80A3
+1AC0EA03FCEA0FFF487F487F487FA2B57EA31A80A34D14005C7E4A5E5F6C495E49C8485B
+D81FF85F000F5ED807FE92B55A6C6C6C4914806C01F0010791C7FC6C9026FF803F5B6D90
+B65A011F16F0010716C001014BC8FCD9001F14F0020149C9FC426079DD51>I<F01F804E
+7E187F18FFA25F5F5F5FA25F5F5FA294B5FC5E5E5EA25E5EEE3FBFEE7F3FA216FEED01FC
+ED03F8ED07F0A2ED0FE0ED1FC0ED3F8016005D15FE4A5A4A5AA24A5A4A5A4A5A4A5AA24A
+C7FC14FE495A5C1303495A495A495A5C133F49C8FC13FE485AA2485A485A485A5B121F48
+5A48C9FC12FEBCFCA6CA6CEBC000B1037FB8FCA6485E7CDD51>I<01C0EE01C0D801F816
+0F01FF167F02F0EC07FFDAFF8090B5FC92B7128019006060606060606095C7FC17FC5F17
+E0178004FCC8FC16E09026FC3FFCC9FC91CBFCADED3FFE0203B512F0020F14FE023F6E7E
+91B712E001FDD9E00F7F9027FFFE00037F02F801007F02E06EB4FC02806E138091C8FC49
+6F13C04917E07113F0EA00F090C914F8A219FC83A219FEA419FFA3EA03F0EA0FFC487E48
+7E487FA2B57EA319FEA35C4D13FC6C90C8FC5B4917F8EA3FF001804B13F06D17E0001F5E
+6C6C17C06D4B1380D807FC92B512006C6C4A5B6C6C6C01075B6C01E0011F5BD97FFE90B5
+5A6DB712C0010F93C7FC6D15FC010115F0D9003F1480020301F0C8FC406078DD51>I<91
+380FFFF849B612C0010F15F8013F15FE496F7E2701FFF80080480180011F13F0D807FCC7
+00077FD80FF080484882003F8301F880486C827FB5178080A76C90C7FC4C14006C5A6C5A
+D807F04A5BC95C5E4C5B604C5B4C138093B5C7FC4B13FC5F4B13E05F4B5B4B90C8FC5E5E
+4B5A5E4B5AA25E4B5AA293C9FCA215FEA35DAE5D92CAFCABEC01FCEC07FF4A7F023F13E0
+A24A7FA291B57EA76E5BA26E5BA2020F13806E90C9FCEC01FC396577E44C>63
+D<4DB5ED03C0057F02F014070407B600FE140F047FDBFFC0131F4BB800F0133F030F05FC
+137F033F9127F8007FFE13FF92B6C73807FF814A02F0020113C3020702C09138007FE74A
+91C9001FB5FC023F01FC16074A01F08291B54882490280824991CB7E4949844949844949
+8449865D49498490B5FC484A84A2484A84A24891CD127FA25A4A1A3F5AA348491A1FA448
+99C7FCA25CA3B5FCB07EA380A27EA2F50FC0A26C7FA37E6E1A1F6C1D80A26C801D3F6C6E
+1A00A26C6E616D1BFE6D7F6F4E5A7F6D6D4E5A6D6D4E5A6D6D4E5A6D6E171F6D02E04D5A
+6E6DEFFF806E01FC4C90C7FC020F01FFEE07FE6E02C0ED1FF8020102F8ED7FF06E02FF91
+3803FFE0033F02F8013F1380030F91B648C8FC030117F86F6C16E004071680DC007F02F8
+C9FC050191CAFC626677E375>67 D<BD12E0A41CF0A2D8000102C0C71207F1003F1A0F1A
+031A001B7F1B3FF31FF81B0FA21B07A21B03A21B011CFCA31B00A419FCA21C7EA41C00A2
+1801A31803A21807180F183FEF01FF93B6FCA6EEC001EF003F180F18071803A21801A318
+00A896C9FCB3A5B912F8A657617AE065>70 D<B912E0A6C702E0C7FCB3B3B3B3AEB912E0
+A633627CE13C>73 D<B800F8011FB80203B7FCA6D8000F91C9000102E0CAEBFE006D72F2
+0FF07072715A230F6D73627072171F6D6A708277173F6D7397C7FC70846B6E72197E7072
+17FE6E726170855118016E6870731503636E68704C6E15076E68718451180F6EDE7E7F60
+7172151F6E06FE61714B7E08016F153F6E4E6C95C8FC71840803616F4D6C177E7102076F
+15FE6F66714B7E080F7013016F4D6C5F7185081F18036F4D6C5F71023F7013076F94C75F
+728450180F6F047E6E5E7272131F1AFE6F4C6E5EDEE00171133F6F4C6E93C9FC06F08407
+0361704B6E157E06F87213FE1907704B6E5DDEFC0F1881704B6E5D06FE19C1071F18C370
+4B6E5DDEFF3F18E7706407BFC9FC07FF18FF704A705CA3704A705CA27099CAFC4F82A271
+49705BA37149705BA27149705BA37149705BA37190CB5BA27148725AA37148725A714872
+CBFCA0637DE1A7>87 D<913803FFFE027FEBFFF00103B612FE010F6F7E4916E090273FFE
+001F7FD97FE001077FD9FFF801017F486D6D7F717E486D6E7F85717FA2717FA36C496E7F
+A26C5B6D5AEB1FC090C9FCA74BB6FC157F0207B7FC147F49B61207010F14C0013FEBFE00
+4913F048B512C04891C7FC485B4813F85A5C485B5A5CA2B55AA45FA25F806C5E806C047D
+7F6EEB01F96C6DD903F1EBFF806C01FED90FE114FF6C9027FFC07FC01580000191B5487E
+6C6C4B7E011F02FC130F010302F001011400D9001F90CBFC49437CC14E>97
+D<903807FF80B6FCA6C6FC7F7FB3A8EFFFF8040FEBFF80047F14F00381B612FC038715FF
+038F010014C0DBBFF0011F7FDBFFC001077F93C76C7F4B02007F03F8824B6F7E4B6F1380
+4B17C0851BE0A27313F0A21BF8A37313FCA41BFEAE1BFCA44F13F8A31BF0A24F13E0A24F
+13C06F17804F1300816F4B5A6F4A5B4AB402075B4A6C6C495B9126F83FE0013F13C09127
+F00FFC03B55A4A6CB648C7FCDAC00115F84A6C15E091C7001F91C8FC90C8000313E04F65
+7BE35A>I<92380FFFF04AB67E020F15F0023F15FC91B77E01039039FE001FFF4901F801
+0113804901E0010713C04901804913E0017F90C7FC49484A13F0A2485B485B5A5C5A7113
+E0485B7113C048701380943800FE0095C7FC485BA4B5FCAE7EA280A27EA2806C18FCA26C
+6D150119F87E6C6D15036EED07F06C18E06C6D150F6D6DEC1FC06D01E0EC7F806D6DECFF
+00010701FCEB03FE6D9039FFC03FFC010091B512F0023F5D020F1580020102FCC7FCDA00
+0F13C03E437BC148>I<F17FF8050FB5FCA6EF000F8484B3A892380FFF804AB512F8020F
+14FE023FECFF8391B712E301039138807FF3499039F8000FFB011F01E00103B5FC494913
+004990C87E49488148498148834A815A485BA2485BA25AA3485BA4B5FCAE7EA46C7FA37E
+A26C7FA26C5F806C5F6C6D5D6C6D5D017F93B5FC6D6C6C0103806D6D49806D01F0D91FF7
+EBFFFE6D9039FE01FFE7010190B612876D6CECFE07021F14F8020314E09127003FFE00EC
+C0004F657BE35A>I<92380FFFC04AB512FC020FECFF80023F15E091B712F80103D9FE03
+7F499039F0007FFF011F01C0011F7F49496D7F4990C76C7F49486E7F48498048844A8048
+84485B727E5A5C48717EA35A5C721380A2B5FCA391B9FCA41A0002C0CBFCA67EA380A27E
+A27E6E160FF11F806C183F6C7FF17F006C7F6C6D16FE6C17016D6C4B5A6D6D4A5A6D01E0
+4A5A6D6DEC3FE0010301FC49B45A6D9026FFC01F90C7FC6D6C90B55A021F15F8020715E0
+020092C8FC030713F041437CC14A>I<F107F8DB7FFEEC3FFE020FB5D8F001B5FC027FDA
+FE03148049B7128F49DCDFFD13C0010FD9F00FEBFFC149D9800114014990C7EBFC034948
+6E6C7E4948EC3FFF48496E018113800780130048F0C03E97C7FC48496E7FA34884A96C60
+A36C6D4A5BA26C60A26C6D4A90C8FC6D6C4A5A6D6C4A5A6D6D485BDBF00F5B4990B612C0
+60D97C7F4AC9FCD9FC0F14F09126007FFECAFC92CCFC1201A47FA27F8014F091B77E18FE
+6CEFFFC019F06D17FC19FF6D846D846D846D84013F8490BAFC0003854801E0C712014890
+C9000F7F484816014848EE007F4848717E8512FF5B85A56D5F007F616D173F003F616D17
+7F6C6C4D5A6C01C003035B6C6D4B5B6C01F8031F5BC601FF92B5C7FC6D01F8011F5B011F
+90B712F8010717E0010094C8FC020F15F0DA003F01FCC9FC4A607CC151>103
+D<903807FF80B6FCA6C6FC7F7FB3A8EF1FFF94B512F0040714FC041F14FF4C8193267FE0
+7F7F922781FE001F7FDB83F86D7FDB87F07FDB8FC0814C7F039FC78015BE03BC8003FC82
+5DA25DA25DA45DB3B2B7D8F007B71280A651647BE35A>I<EB0FE0EB3FF8497E48B5FCA2
+4880A24880A76C5CA26C91C7FCA238007FFC6D5AEB0FE090C9FCAF903807FF80007FB5FC
+A6C6FC7F7FB3B3AEB712C0A622657BE42C>I<903807FF80B6FCA6C6FC7F7FB3A90503B6
+1280A6DD003FEB8000DE0FFCC7FCF01FF04E5AF0FFC04D5B4D90C8FCEF07FC4D5AEF3FF0
+4D5A4D5A4C90C9FC4C5AEE0FFC4C5A4C5AEE7FC04C7E03837F03877F158F039F7F03BF7F
+92B5FC838403FC804B7E03F0804B6C7F4B6C7F1580707F707F707FA270807080717FA271
+7F717F717FA2717F717F83867180727F95B57EB7D8E00FECFFF0A64C647BE355>107
+D<903807FF80B6FCA6C6FC7F7FB3B3B3B3ADB712E0A623647BE32C>I<902607FF80D91F
+FFEEFFF8B691B500F00207EBFF80040702FC023F14E0041F02FF91B612F84C6F48819326
+7FE07F6D4801037F922781FE001F9027E00FF0007FC6DA83F86D9026F01FC06D7F6DD987
+F06D4A487F6DD98FC0DBF87EC7804C6D027C80039FC76E488203BEEEFDF003BC6E4A8003
+FC04FF834B5FA24B5FA24B94C8FCA44B5EB3B2B7D8F007B7D8803FB612FCA67E417BC087
+>I<902607FF80EB1FFFB691B512F0040714FC041F14FF4C8193267FE07F7F922781FE00
+1F7FC6DA83F86D7F6DD987F07F6DD98FC0814C7F039FC78015BE03BC8003FC825DA25DA2
+5DA45DB3B2B7D8F007B71280A651417BC05A>I<923807FFE092B6FC020715E0021F15F8
+027F15FE494848C66C6C7E010701F0010F13E04901C001037F49496D7F4990C87F49486F
+7E49486F7E48496F13804819C04A814819E048496F13F0A24819F8A348496F13FCA34819
+FEA4B518FFAD6C19FEA46C6D4B13FCA36C19F8A26C6D4B13F0A26C19E06C6D4B13C0A26C
+6D4B13806C6D4B13006D6C4B5A6D6D495B6D6D495B010701F0010F13E06D01FE017F5B01
+0090B7C7FC023F15FC020715E0020092C8FC030713E048437CC151>I<D90FFFEB0FFCB6
+90383FFF8093B512E04B14F04B14F8923907FC7FFC92390FE0FFFEC6EC1F806DD93F0113
+FF6D133E157E157C15F8A215F07013FEA24BEB7FFCEF3FF8EF0FE04B90C7FCA55DB3B0B7
+12F8A638417BC042>114 D<913A3FFF8007800107B5EAF81F011FECFE7F017F91B5FC48
+B8FC48EBE0014890C7121FD80FFC1407D81FF0801600485A007F167F49153FA212FF171F
+A27F7F7F6D92C7FC13FF14E014FF6C14F8EDFFC06C15FC16FF6C16C06C16F06C826C826C
+826C82013F1680010F16C01303D9007F15E0020315F0EC001F1500041F13F81607007C15
+0100FC81177F6C163FA2171F7EA26D16F0A27F173F6D16E06D157F6D16C001FEEDFF806D
+0203130002C0EB0FFE02FCEB7FFC01DFB65A010F5DD8FE0315C026F8007F49C7FC48010F
+13E035437BC140>I<EC07E0A6140FA5141FA3143FA2147FA214FF5BA25B5B5B5B137F48
+B5FC000F91B512FEB8FCA5D8001F01E0C8FCB3AFEF0FC0AC171F6D6D1480A2173F6D1600
+6F5B6D6D137E6D6D5B6DEBFF836EEBFFF86E5C020F14C002035C9126003FFCC7FC325C7D
+DA3F>I<902607FFC0ED3FFEB60207B5FCA6C6EE00076D826D82B3B3A260A360A2607F60
+183E6D6D147E4E7F6D6D4948806D6DD907F0ECFF806D01FFEB3FE06D91B55A6E1500021F
+5C020314F8DA003F018002F0C7FC51427BC05A>I<B70081B600FC0103B512FCA6C66C01
+80C701FCC8381FFE006F6FED03F86D047F5F856F6E16076D646F70140F6D705F866F6E16
+1F6D646F4A6D143F6D99C7FC4E7F6F616D1B7E6F4A6D14FE6D6395B57E7001FC15016E62
+DCC0016E13036EDBF87F5D05038004E0496C14076E62DCF007ED800F6E4B6C5D050F15C0
+04F8496C141F6E62DCFC1FEDE03F6E4B6C92C8FC053F15F004FE496C5C6E197E7048EDF8
+FE6E027E6D5C05FE15FC4D6D13FD6F601BFF6F496E5BA24D806F60A26F496E5BA24D806F
+60A26F496E90C9FCA294C87E6F5FA26F486F5A047C6F5A6E417DBF75>119
+D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fg cmsy10 10.95 2
+/Fg 2 16 df<EE7FFE0307B512E0033F14FC92B7FC0203D9C00313C0DA0FFCC7EA3FF0DA
+3FE0EC07FCDA7F80EC01FED901FEC9EA7F80D903F8EE1FC0D907E0EE07E04948707E4948
+707E49CB7E017E187E498449844848F00F8000031AC04918074848F003E0A24848F001F0
+A248CD12F8A2001E1A78003E1A7CA2003C1A3C007C1A3EA200781A1EA300F81A1FA2481A
+0FAB6C1A1FA200781A1EA3007C1A3EA2003C1A3C003E1A7CA2001E1A78001F1AF8A26C6C
+F001F0A26C6CF003E0A26C6CF007C06D180F00011A806C6CF01F006D60017E187E6D606D
+6C4C5A6D6C4C5A6D6C4C5AD903F8EE1FC0D901FEEE7F809026007F80DA01FEC7FCDA3FE0
+EC07FCDA0FFCEC3FF0913B03FFC003FFC0020090B6C8FC033F14FC030714E09226007FFE
+C9FC50557BC05B>13 D<EB0FFCEB3FFF90B512C0000314F04880488048804880A2481580
+A3B712C0AA6C1580A36C1500A26C5C6C5C6C5C6C5CC614C0013F90C7FCEB0FFC22227BA7
+2D>15 D E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fh cmbx12 14.4 37
+/Fh 37 123 df<B712F0AB240B7F9F2D>45 D<EA07F0487E487E487E487EB51280A76C13
+006C5A6C5A6C5A6C5A1111769025>I<157815FC14031407141F14FF130F0007B5FCB6FC
+A2147F13F0EAF800C7FCB3B3B3A6007FB712FEA52F4E76CD43>49
+D<EC3FFE0103B512E0010F14FC013F14FF90B712C048D9C07F7F2703FE000F13F8D807F8
+01037FD80FE06D7F48486D7F48488001F01680486C6E13C07F486C6E13E07FA27013F0A5
+6C5AA26C5AEA0FF0EA03C0C914E05EA218C05E1880A24C13005F4C5A4B5B5F4B5B5F4B5B
+4B90C7FC4B5A5E4B5AED7FE04B5A4A5B4A48C8FC4A5A5D4A48EB01F04A5AEC3F804AC7FC
+02FEEC03E0495A495A495A495AD91F80140749C8FC013E150F017FB7FC90B812C05A5A5A
+5A5A5A5AB9FC1880A4344E79CD43>I<91380FFFC091B512FC0107ECFF80011F15E09026
+3FF8077F9026FF800113FC4848C76C7ED803F86E7E491680D807FC8048B416C080486D15
+E0A4805CA36C17C06C5B6C90C75AD801FC1680C9FC4C13005FA24C5A4B5B4B5B4B13C04B
+5BDBFFFEC7FC91B512F816E016FCEEFF80DA000713E0030113F89238007FFE707E701380
+7013C018E07013F0A218F8A27013FCA218FEA2EA03E0EA0FF8487E487E487EB57EA318FC
+A25E18F891C7FC6C17F0495C6C4816E001F04A13C06C484A1380D80FF84A13006CB44A5A
+6CD9F0075BC690B612F06D5D011F1580010302FCC7FCD9001F1380374F7ACD43>I<177C
+17FEA2160116031607160FA2161F163F167FA216FF5D5DA25D5DED1FBFED3F3F153E157C
+15FCEC01F815F0EC03E01407EC0FC01580EC1F005C147E147C5C1301495A495A5C495A13
+1F49C7FC133E5B13FC485A5B485A1207485A485A90C8FC123E127E5ABA12C0A5C96C48C7
+FCAF020FB712C0A53A4F7CCE43>I<932601FFFCEC01C0047FD9FFC013030307B600F813
+07033F03FE131F92B8EA803F0203DAE003EBC07F020F01FCC7383FF0FF023F01E0EC0FF9
+4A01800203B5FC494848C9FC4901F8824949824949824949824949824990CA7E494883A2
+484983485B1B7F485B481A3FA24849181FA3485B1B0FA25AA298C7FC5CA2B5FCAE7EA280
+A2F307C07EA36C7FA21B0F6C6D1980A26C1A1F6C7F1C006C6D606C6D187EA26D6C606D6D
+4C5A6D6D16036D6D4C5A6D6D4C5A6D01FC4C5A6D6DEE7F806D6C6C6C4BC7FC6E01E0EC07
+FE020F01FEEC1FF80203903AFFE001FFF0020091B612C0033F93C8FC030715FCDB007F14
+E0040101FCC9FC525479D261>67 D<932601FFFCEC01C0047FD9FFC013030307B600F813
+07033F03FE131F92B8EA803F0203DAE003EBC07F020F01FCC7383FF0FF023F01E0EC0FF9
+4A01800203B5FC494848C9FC4901F8824949824949824949824949824990CA7E494883A2
+484983485B1B7F485B481A3FA24849181FA3485B1B0FA25AA298C8FC5CA2B5FCAE6C057F
+B712E0A280A36C94C7003FEBC000A36C7FA36C7FA27E6C7FA26C7F6C7FA26D7E6D7F6D7F
+6D6D5E6D7F6D01FC93B5FC6D13FF6D6C6D5C6E01F0EC07FB020F01FEEC1FF10203903AFF
+F001FFE0020091B6EAC07F033FEE001F030703FC1307DB007F02E01301040149CAFC5B54
+79D26A>71 D<B800C091B612F8A5D8000701F8C90003EBF8009738007F8051C7FC505AF2
+03F8F20FF0505A505A505A50C8FCF101FCF107F84F5A4F5A4F5A4F5A07FEC9FCF003FC4E
+5A4E5A4E5A4E5A4E5ADD01FECAFC4D5A4D5A4D5A4D7E173F4D7E4C487E4C7F5E4C804C80
+4C80EEFF7F9226F9FE3F7FDBFBFC809226FFF81F7F4C7EDCC0077F0480804C7E4B6D804B
+6D804B8284727F727F8684727F727F8784728087737F85737F87737F85737F8885738074
+7F888697B512FCB800C0013FECFFFEA55F527CD169>75 D<B812F8A5D8000701F8CAFCB3
+B3A91A7CA41AFC1AF8A51901A31903A219071AF0190FA2191F193F197F19FF180360183F
+4DB5FCBB12E0A546527CD151>I<B600FC073FB512FE6F61A26F96B6FCA2D80007F5C000
+70EF01EFA202EF6DEF03CFA202E76DEF078FA202E36DEF0F0FA202E16D171EA302E06D17
+3CA26F6C1778A26F6C17F0A26F6DED01E0A26F6DED03C0A36F6DED0780A26F6DED0F00A2
+6F6D151EA26F6D5DA3706C5DA2706C5DA2706D495AA2706D495AA2706D495AA3706D49C7
+FCA2706D131EA2706D5BA2716C5BA3716C5BA271EB81E0A271EBC3C0A271EBE780A27101
+FFC8FCA3715BA2715BA2725AA2725AA2D93FFC6F5AB74DB712FEA2725AA2725A77527CD1
+80>I<93380FFFC00303B6FC031F15E092B712FC0203D9FC0013FF020F01C0010F13C002
+3F90C7000313F0DA7FFC02007F494848ED7FFE4901E0ED1FFF49496F7F49496F7F4990C9
+6C7F49854948707F4948707FA24849717E48864A83481B804A83481BC0A2481BE04A83A2
+481BF0A348497113F8A5B51AFCAF6C1BF86E5FA46C1BF0A26E5F6C1BE0A36C6D4D13C0A2
+6C6D4D1380A26C1B006C6D4D5A6E5E6C626D6C4C5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B
+5B6D6D4B90C7FC6D6D4B5A6D01FF02035B023F01E0011F13F0020F01FC90B512C0020390
+B7C8FC020016FC031F15E0030392C9FCDB001F13E0565479D265>79
+D<BAFC19F819FF1AE086D8000701F0C7001F13FC060113FF726C13807313C0070F13E01B
+F0857313F81BFCA27313FEA41BFFA81BFEA31BFC61A21BF84F13F04F13E0614F13C04F13
+004E485A061F5B92B812F01AC04FC7FC19E003F8CBFCB3AEB812C0A550527CD15C>I<91
+260FFF80130791B500F85B010702FF5B011FEDC03F49EDF07F9026FFFC006D5A4801E0EB
+0FFD4801800101B5FC4848C87E48488149150F001F824981123F4981007F82A28412FF84
+A27FA26D82A27F7F6D93C7FC14C06C13F014FF15F86CECFF8016FC6CEDFFC017F06C16FC
+6C16FF6C17C06C836C836D826D82010F821303010082021F16801400030F15C0ED007F04
+0714E01600173F050F13F08383A200788200F882A3187FA27EA219E07EA26CEFFFC0A27F
+6D4B13806D17006D5D01FC4B5A01FF4B5A02C04A5A02F8EC7FF0903B1FFFC003FFE0486C
+90B65AD8FC0393C7FC48C66C14FC48010F14F048D9007F90C8FC3C5479D24B>83
+D<003FBC1280A59126C0003F9038C0007F49C71607D87FF8060113C001E08449197F4919
+3F90C8171FA2007E1A0FA3007C1A07A500FC1BE0481A03A6C994C7FCB3B3AC91B912F0A5
+53517BD05E>I<003FB7D88003B7FCA5D8000749C8000701F8C7FC6D6D9238007F806D6E
+93C8FC7015FE6D17016E6D5D704A5A6E16076E6D4A5A6E6D5D4F5A6E6D143F6E6D4A5A71
+91C9FC6E16FE6EECC00171485A6F5D6F6D485A6FEBF80F71485A6F5D6F6D485AEFFF7F6F
+4ACAFC6F5C6F5CA2705B705B8482707F707FA2707F7080855E4C80855E4C80DC3FCF7F05
+8F7FEE7F074C6C7FDB01FE814C7E4B486C8003076E7F4B48814C7F4B486D7F033F824C7F
+4BC76C7F4B6E7F4A5A4B6E804A486E800207844A48814B6F7F4A4883023F824A486F7F92
+C96C7F02FE840101830103718090263FFFC084B76C0103B712F8A55D527CD166>88
+D<EC7FFF0107B512F0013F14FE90B77E48D9E00F7F2703FE000113F0486C6D7F6EEB3FFC
+48826E131F83707FA36C496D7FA26C90C7FC6C5AC9FCA6037FB5FC020FB6FC91B7FC0107
+1487013FEBF0074913803901FFFC004813F0485B485B485B4890C7FC5A5BA2485AA45EA2
+6D5C007F151D163D6C6C02797F6C6D01F113F86C9026C003E1EBFFE06C9026F81FC014F0
+6C90B5487EC6ED001F011F01FC010713E0010101E090C8FC3C387CB641>97
+D<EB3FF0B5FCA51203C6FCB3A4923801FFE0030F13FE033FEBFFC092B612F002F301017F
+913AF7F8003FFEDAFFE0EB0FFF03806D7F92C76C7F4A6E7F4A824A6E7FA2727EA285A285
+84A31A80AC1A00A44E5AA36118FF616E4A5BA26E4A5B6E4A5B6F495BDACFC04990C7FCDA
+87F0EB7FFC913A03FE03FFF849C6B612E0496D148049011F01FCC8FC90C7000313C04154
+7BD24B>I<913801FFF8021FEBFF8091B612F0010315FC010F9038C00FFE903A1FFE0001
+FFD97FFC491380D9FFF05B4817C048495B5C5A485BA2486F138091C7FC486F1300705A48
+92C8FC5BA312FFAD127F7FA27EA2EF03E06C7F17076C6D15C07E6E140F6CEE1F806C6DEC
+3F006C6D147ED97FFE5C6D6CEB03F8010F9038E01FF0010390B55A01001580023F49C7FC
+020113E033387CB63C>I<4DB47E0407B5FCA5EE001F1707B3A4913801FFE0021F13FC91
+B6FC010315C7010F9038E03FE74990380007F7D97FFC0101B5FC49487F4849143F484980
+485B83485B5A91C8FC5AA3485AA412FFAC127FA36C7EA37EA26C7F5F6C6D5C7E6C6D5C6C
+6D49B5FC6D6C4914E0D93FFED90FEFEBFF80903A0FFFC07FCF6D90B5128F0101ECFE0FD9
+003F13F8020301C049C7FC41547CD24B>I<913803FFC0023F13FC49B6FC010715C04901
+817F903A3FFC007FF849486D7E49486D7E4849130F48496D7E48178048497F18C0488191
+C7FC4817E0A248815B18F0A212FFA490B8FCA318E049CAFCA6127FA27F7EA218E06CEE01
+F06E14037E6C6DEC07E0A26C6DEC0FC06C6D141F6C6DEC3F806D6CECFF00D91FFEEB03FE
+903A0FFFC03FF8010390B55A010015C0021F49C7FC020113F034387CB63D>I<DA3FFF14
+FF0103B5D8F00713C0010FDAFC1F13E0013FECFF7F90267FFC0F9038FF9FF09026FFE001
+EBF83F48496C13E0484990387FF01F4890C7D83FF813E0489338FC0FC0F0078048486E6C
+C7FCA2003F82A9001F5EA26C6C4A5AA26C5E6C6D495A6C6D495A6C6D485BDAFC0F5B4890
+B6C8FCD803EF14FC01C314F02607C03F90C9FC91CBFCA2120FA37FA213F813FE90B7FC6C
+16F817FF18C06C836C836C836D828448B9FC12074848C700031480D81FF8EC003F484815
+0748486F13C083485A83A56D5D007F18806D5D003F18006C6C4B5AD80FFEED1FFC6C6C6C
+EC7FF86C01E049485A6C01FE011F5B6C6CB71280010F03FCC7FC010115E0D9000F01FCC8
+FC3C4F7CB543>103 D<EB3FF0B5FCA51203C6FCB3A4EE1FFC93B512C0030314F0030F80
+92391FE07FFC92393F001FFE037C8003F07FDAF1E081ECF3C0DAF7807F8502FFC7FC5CA2
+5CA45CB3ACB6D8F807B612C0A542537BD24B>I<137F497E000313E0487FA2487FA76C5B
+A26C5BC613806DC7FC90C8FCADEB3FF0B5FCA512017EB3B3A6B612E0A51B547BD325>I<
+EB3FF0B5FCA512017EB3B3B3B1B612F0A51C537BD225>108 D<D93FF0D91FFCEDFFE0B5
+91B500C0010713FE030302F0011F6D7E030F6E017F8092271FE07FFCD9FF037F922A3F00
+1FFE01F8007F0003027C9126FF03E080C602F06DD90780137FDAF1E0038FC77FDAF3C015
+9EDAF7806D01BC143F07FC8102FFC75C4A5EA24A5EA44A5EB3ACB6D8F807B6D8C03FB512
+FEA567367BB570>I<D93FF0EB1FFCB591B512C0030314F0030F8092391FE07FFC92393F
+001FFE0003027C80C602F07FDAF1E081ECF3C0DAF7807F8502FFC7FC5CA25CA45CB3ACB6
+D8F807B612C0A542367BB54B>I<913801FFE0021F13FE91B612C0010315F0010F903880
+7FFC903A1FFC000FFED97FF86D6C7E49486D7F48496D7F48496D7F4A147F48834890C86C
+7EA24883A248486F7EA3007F1880A400FF18C0AC007F1880A3003F18006D5DA26C5FA26C
+5F6E147F6C5F6C6D4A5A6C6D495B6C6D495B6D6C495BD93FFE011F90C7FC903A0FFF807F
+FC6D90B55A010015C0023F91C8FC020113E03A387CB643>I<903A3FF001FFE0B5010F13
+FE033FEBFFC092B612F002F301017F913AF7F8007FFE0003D9FFE0EB1FFFC602806D7F92
+C76C7F4A824A6E7F4A6E7FA2717FA285187F85A4721380AC1A0060A36118FFA2615F616E
+4A5BA26E4A5B6E4A5B6F495B6F4990C7FC03F0EBFFFC9126FBFE075B02F8B612E06F1480
+031F01FCC8FC030313C092CBFCB1B612F8A5414D7BB54B>I<90397FE003FEB590380FFF
+80033F13E04B13F09238FE1FF89139E1F83FFC0003D9E3E013FEC6ECC07FECE78014EF15
+0014EE02FEEB3FFC5CEE1FF8EE0FF04A90C7FCA55CB3AAB612FCA52F367CB537>114
+D<903903FFF00F013FEBFE1F90B7FC120348EB003FD80FF81307D81FE0130148487F4980
+127F90C87EA24881A27FA27F01F091C7FC13FCEBFFC06C13FF15F86C14FF16C06C15F06C
+816C816C81C681013F1580010F15C01300020714E0EC003F030713F015010078EC007F00
+F8153F161F7E160FA27E17E07E6D141F17C07F6DEC3F8001F8EC7F0001FEEB01FE9039FF
+C00FFC6DB55AD8FC1F14E0D8F807148048C601F8C7FC2C387CB635>I<143EA6147EA414
+FEA21301A313031307A2130F131F133F13FF5A000F90B6FCB8FCA426003FFEC8FCB3A9EE
+07C0AB011FEC0F8080A26DEC1F0015806DEBC03E6DEBF0FC6DEBFFF86D6C5B021F5B0203
+13802A4D7ECB34>I<D93FF8913801FFC0B50207B5FCA50003ED001FC61607B3AE5FA35F
+A2017F5D173B177B6D6C14F3DC01E313F06D6CD907C3EBFFC0903A0FFFC03F836D90B512
+03010114FE6D6C13F8020701E091C7FC42377BB54B>I<B600F00107B5FCA5000101F8C8
+EA7FE06C6DED3F00A2017F163E6E157E013F167C6E15FC6D5E6F13016D5E8117036D5E6F
+13076D5E6F130F6D5E6F131F6D93C7FC815F6E6C133E177E023F147C6F13FC6E5C16816E
+5C16C3A26EEBE3E016E76E5C16FF6E5CA26E91C8FCA26F5AA36F5AA26F5AA26F5AA26F5A
+6F5A40367DB447>I<B6D8E07FB5D8C003B512C0A5000101F0C701F0C7381FF8006E027F
+ED07E06C715DA26E023F150F017F705DA26E181F013F4B6C92C7FC6E606D70143E94B5FC
+6F177E6D4A6E137C03C001F315FC6D715B160303E001E114016D020702E05B03F013C06D
+71485A160F03F8D9807F13076D05F85B93381F003F03FC160F027F4902FC5BDBFE3E011F
+131F023F04FE90C8FC167EDBFF7C010F5B6E01FCECFF3E4C6D137E6E5FA24C7F6E5F4C7F
+6E5FA24C7F6E5F4C147FA26E5F93C8123F6F5EA2033E6FC9FC5A367DB461>I<B600F001
+07B5FCA5C601F8C8EA7FE06EED3F00A26D6C153E187E013F167C6E15FC6D5E6F13016D5E
+6F13036D5E8117076D6D5C170F6D6D5C171F6D93C7FC6F5B027F143E6F137E023F147C6F
+13FCA26E6D5A16816EEBC1F016C36E5C16E76E5C16FF6E5CA26E91C8FCA36F5AA26F5AA2
+6F5AA26F5AA26F5AA35E150F5E151F93C9FC5DD81FC0133E486C137E486C137C486C13FC
+5D14015D14034A5A6C48485A49485A263FC07FCAFCEB81FE6CB45A6C13F000035BC690CB
+FC404D7DB447>121 D<001FB8FC1880A3912680007F130001FCC7B5FC01F0495B495D49
+495B495B4B5B48C75C5D4B5B5F003E4A90C7FC92B5FC4A5B5E4A5B5CC7485B5E4A5B5C4A
+5B93C8FC91B5FC495B5D4949EB0F805B495B5D495B49151F4949140092C7FC495A485E48
+5B5C485E485B4A5C48495B4815074849495A91C712FFB8FCA37E31357CB43C>I
+E
+%EndDVIPSBitmapFont
+%DVIPSBitmapFont: Fi cmr10 10.95 73
+/Fi 73 123 df<4AB4EB0FE0021F9038E03FFC913A7F00F8FC1ED901FC90383FF03FD907
+F090397FE07F80494801FF13FF4948485BD93F805C137F0200ED7F00EF003E01FE6D91C7
+FC82ADB97EA3C648C76CC8FCB3AE486C4A7E007FD9FC3FEBFF80A339407FBF35>11
+D<EC03FE91383FFF809138FE03E0903903F800F0D90FE013384948137C90393F8001FE90
+387F00035B5BA2485A6F5AED007093C7FCAA16FEB7FCA33901FC000315011500B3AC486C
+497EB5D8F87F13FCA32E407EBF33>I<121EEA7F80EAFFC0A9EA7F80ACEA3F00AC121EAB
+120CC7FCA8121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A4179C019>33
+D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A
+120E5A1218123812300B1C79BE19>39 D<1430147014E0EB01C0EB03801307EB0F00131E
+133E133C5B13F85B12015B1203A2485AA2120F5BA2121F90C7FCA25AA3123E127EA6127C
+12FCB2127C127EA6123E123FA37EA27F120FA27F1207A26C7EA212017F12007F13787F13
+3E131E7FEB07801303EB01C0EB00E014701430145A77C323>I<12C07E12707E7E121E7E
+6C7E7F12036C7E7F12007F1378137CA27FA2133F7FA21480130FA214C0A3130714E0A613</